KR20090120479A - 데이터의 미러 백업을 갖춘 메모리 디바이스용 페이지 프로그램 동작의 장치 및 방법 - Google Patents

데이터의 미러 백업을 갖춘 메모리 디바이스용 페이지 프로그램 동작의 장치 및 방법 Download PDF

Info

Publication number
KR20090120479A
KR20090120479A KR1020097018682A KR20097018682A KR20090120479A KR 20090120479 A KR20090120479 A KR 20090120479A KR 1020097018682 A KR1020097018682 A KR 1020097018682A KR 20097018682 A KR20097018682 A KR 20097018682A KR 20090120479 A KR20090120479 A KR 20090120479A
Authority
KR
South Korea
Prior art keywords
data
memory device
command
page buffer
memory
Prior art date
Application number
KR1020097018682A
Other languages
English (en)
Other versions
KR101486093B1 (ko
Inventor
홍 범 편
진기 김
학준 오
Original Assignee
모사이드 테크놀로지스 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 모사이드 테크놀로지스 인코퍼레이티드 filed Critical 모사이드 테크놀로지스 인코퍼레이티드
Publication of KR20090120479A publication Critical patent/KR20090120479A/ko
Application granted granted Critical
Publication of KR101486093B1 publication Critical patent/KR101486093B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

페이지 프로그램 동작의 장치 및 방법이 제공된다. 선택된 메모리 디바이스와 페이지 프로그램 동작을 실행할 때, 메모리 제어기는 데이터의 백업 사본을 저장하기 위해 하나의 선택된 메모리 디바이스의 페이지 버퍼내로 그리고 또한 다른 선택된 메모리 디바이스의 페이지 버퍼내로 데이터를 로드한다. 데이터가 하나의 선택된 메모리 디바이스의 메모리 셀들내로 성공적으로 프로그램되지 않은 경우에는, 메모리 제어기가 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구한다. 데이터의 사본이 다른 메모리 디바이스의 페이지 버퍼에 저장되어 있기 때문에, 메모리 제어기는 그 자신의 데이터 저장 소자들에 데이터를 로컬적으로 저장할 필요가 없다.

Description

데이터의 미러 백업을 갖춘 메모리 디바이스용 페이지 프로그램 동작의 장치 및 방법 {APPARATUS AND METHOD OF PAGE PROGRAM OPERATION FOR MEMORY DEVICES WITH MIRROR BACK-UP OF DATA}
[관련 출원에 대한 상호 참조]
본 출원은, 그 개시가 참조로 그 전체로서 이 명세서에 통합되어 있는, 미국 특허 가출원 제60/891,115호(2007년 2월 22일 출원)의 우선권의 이익을 청구한다.
[기술 분야]
본 발명은 일반적으로 반도체 디바이스에 관한 것이다. 보다 상세하게, 본 발명은 메모리 디바이스용 페이지 프로그램 동작(page program operation)에 대한 장치 및 방법에 관한 것이다.
전자 기기들은 정보 또는 데이터를 저장하기 위해, 메모리 디바이스(memory device), 예컨대, 플래시 메모리를 사용한다. 많은 시스템에 있어서, 메모리 제어기는 데이터를 그것이 임시로 저장되는 선택된 플래시 메모리 디바이스내의 페이지 버퍼(page buffer)에 송신하는 것에 의해 선택된 플래시 메모리 디바이스를 프로그램한다. 페이지 버퍼로부터 플래시 메모리내로의 데이터의 프로그래밍이 시작되고 프로그래밍 결과가 검증되며 검증 결과가 “통과(pass)” 또는 “실패(fail)”로서 만들어진다. 프로그램 및 검증 동작은 “프로그램 시간” 지정된 기간동안 수회 실행된다. 프로그램 시간 후에, 실패의 경우에, 동일의 선택된 디바이스내에서 페이지 프로그램 동작을 재개하기 위해 데이터가 메모리 제어기로부터 재-로드(re-load)된다.
단점은 플래시 메모리가, 예컨대, 프로그램 상태를 검증하기 위해, 긴 프로그램 시간을 요한다는 것이다. 메모리 제어기 내부의 메모리는, 프로그램 실패의 경우에 원래의 프로그램 데이터를 복구하기 위해 초기 프로그램 데이터를 유지하여야 한다. 초기 프로그램 데이터는 메모리 제어기의 메모리의 스페이스를 점유하고, 그 결과로 메모리 스페이스는 다른 목적으로 사용될 수 없다.
본 발명의 일 양태에 따르면, 각각이 페이지 버퍼와 메모리 셀들을 갖는, 직렬로 상호 연결된 복수의 메모리 디바이스를 제어하기 위한 장치가 제공된다. 상기 장치는, 상기 복수의 메모리 디바이스 중 선택된 메모리 디바이스의 페이지 버퍼에 그리고 상기 복수의 메모리 디바이스 중 다른 메모리 디바이스의 페이지 버퍼에 데이터를 기입하고; 상기 선택된 메모리 디바이스에게 그 자신의 페이지 버퍼에 로드된 데이터를 그 자신의 메모리 셀들내로 프로그램하도록 명령하며; 상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되지 않는지의 여부를 판정하여, 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하는 것에 의해, 데이터의 미러 백업(mirror back-up)을 갖춘 페이지 프로그램 동작을 실행하도록 구성된 데이터 프로세서를 포함한다.
예를 들어, 상기 데이터 프로세서는, 상기 다른 메모리 디바이스의 메모리 셀들내로 데이터를 프로그램하지 않고 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 리드 백(read back)하는 것에 의해, 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하도록 구성된다.
상기 장치는, 상기 선택된 메모리 디바이스의 페이지 버퍼 및 상기 다른 메모리 디바이스의 페이지 버퍼에 데이터를 기입하기 전에 상기 데이터를 저장하기 위한 데이터 저장부를 더 포함할 수 있다.
본 발명의 다른 양태에 따르면, 각기 페이지 버퍼와 메모리 셀들을 갖는, 직렬로 상호 연결된 복수의 메모리 디바이스; 및 상기 복수의 메모리 디바이스를 제어하기 위한 장치로서, 상기 복수의 메모리 디바이스 중 선택된 메모리 디바이스의 페이지 버퍼에 그리고 상기 복수의 메모리 디바이스 중 다른 메모리 디바이스의 페이지 버퍼에 데이터를 기입하고; 상기 선택된 메모리 디바이스에게 그 자신의 페이지 버퍼에 로드된 데이터를 그 자신의 메모리 셀들내로 프로그램하도록 명령하며; 상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되지 않았으면, 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하는 것에 의해, 데이터에 대한 미러 백업을 갖춘 페이지 프로그램 동작을 실행하도록 구성된 데이터 프로세서를 포함하는, 장치를 포함하는 시스템이 제공된다.
본 발명의 다른 양태에 따르면, 각각이 페이지 버퍼와 메모리 셀들을 갖는, 직렬로 상호 연결된 복수의 메모리 디바이스를 제어하기 위한 방법이 제공된다. 상기 방법은, 상기 복수의 메모리 디바이스의 선택된 메모리 디바이스의 페이지 버퍼에 그리고 상기 복수의 메모리 디바이스의 다른 메모리 디바이스의 페이지 버퍼에 데이터를 송신하는 단계; 상기 선택된 메모리 디바이스에게 그 자신의 페이지 버퍼에 로드된 데이터를 그 자신의 메모리 셀들내로 프로그램하도록 명령하는 단계; 및 상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되지 않았으면, 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하는 단계를 포함한다.
예컨대, 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하는 단계는, 상기 다른 메모리 디바이스의 메모리 셀들내로 데이터를 프로그램하지 않고 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 리드 백하는 단계를 포함한다.
상기 방법은, 상기 선택된 메모리 디바이스의 페이지 버퍼 및 상기 다른 메모리 디바이스의 페이지 버퍼에 데이터를 기입하기 전에 상기 데이터를 저장하는 단계; 상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되었는지의 여부를 판정하기 전에 상기 데이터가 점유하는 스페이스를 자유화하는 단계를 더 포함할 수 있다.
본 발명의 다른 양태에 따르면, 직렬로 연결된 일련의 메모리 디바이스들 중 하나로서 사용하기 위한 메모리 디바이스가 제공된다. 상기 메모리 디바이스는, 입력 연결부; 출력 연결부; 메모리 디바이스의 디바이스 어드레스의 식별자; 및 디바이스 제어기로서, 멀티 어드레스 검출 모드로 들어가고 나가도록 하는 메시지들을 수신하고, 그에 따라 상기 멀티 어드레스 검출 모드로 들어가고 나가며; 상기 입력 연결부를 통해 디바이스 어드레스를 포함하는 커맨드를 수신하고; 상기 멀티 어드레스 검출 모드가 아닌 동안, 상기 커맨드의 디바이스 어드레스가 상기 디바이스의 디바이스 어드레스에 매치하는 경우에만 상기 커맨드를 처리하며; 상기 멀티 어드레스 검출 모드 동안, i) 상기 커맨드의 디바이스 어드레스가 상기 디바이스의 디바이스 어드레스와 동일한 경우에 상기 커맨드를 처리하고 ii) 상기 커맨드의 디바이스 어드레스가 적어도 하나의 미리 정해진 다른 디바이스의 디바이스 어드레스와 동일한 경우에 상기 커맨드를 처리하도록 구성된, 디바이스 제어기를 포함한다.
본 발명의 다른 양태에 따르면, 직렬로 연결된 일련의 메모리 디바이스들의 일부를 형성하는 하나의 메모리 디바이스에 관한 방법이 제공되며, 상기 방법은, 디바이스 어드레스를 유지시키는 단계; 멀티 어드레스 검출 모드에 들어가고 나가도록 하는 메시지들을 수신하는 단계; 디바이스 어드레스를 포함하는 커맨드를 수신하는 단계; 상기 멀티 어드레스 검출 모드가 아닌 동안, 목적지의 어드레스가 상기 디바이스 어드레스에 매치하는 경우에만 상기 커맨드를 처리하는 단계; 상기 멀티 어드레스 검출 모드 동안, 상기 커맨드의 디바이스 어드레스가 상기 디바이스의 디바이스 어드레스와 동일한 경우에 상기 커맨드를 처리하고, 상기 커맨드의 디바이스 어드레스가 적어도 하나의 미리 정해진 다른 디바이스의 디바이스 어드레스와 동일한 경우에 상기 커맨드를 처리하는 단계를 포함한다.
본 발명의 다른 양태들과 특징들은, 첨부 도면과 함께 본 발명의 특정 실시예들의 후술되는 상세한 설명의 검토시에 당업자들에게 명백해질 것이다.
실시예들이 이제 첨부된 도면들을 참조하여 기술될 것이다.
도 1은 본 발명의 실시예들이 적용될 수 있는 직렬로 연결된 디바이스들을 특징으로 하는 아키텍처를 가진 예시적인 시스템의 블록도이다.
도 2는 직렬로 연결된 메모리 디바이스들에 대한 예시적인 커맨드 포맷들의 개략도이다.
도 3은 페이지 프로그래밍 및 검증에 대한 예시적인 절차의 개략도이다.
도 4는 그 중 하나가 데이터에 대한 미러 백업으로 사용되는 2개의 메모리 디바이스의 블록도이다.
도 5는 페이지 버퍼가 데이터에 대한 미러 백업으로 사용되는 직렬로 연결된 디바이스들을 특징으로 하는 아키텍처를 가진 시스템의 블록도이다.
도 6은 페이지 버퍼가 데이터에 대한 미러 백업으로 사용되는 직렬로 연결된 디바이스들을 특징으로 하는 아키텍처를 가진 다른 시스템의 블록도이다.
도 7은 도 6의 시스템에 대한 LSB(최하위 비트(least significant bit)) 무시 모드의 인에이블링(enabling) 및 디스에이블링(disabling)의 예시적인 타이밍도이다.
도 8은 프로그램 실패 후에 데이터 복구가 실행되는 도 6의 시스템의 블록도이다.
도 9는 도 1에 도시된 직렬 연결된 메모리 디바이스들의 일부를 도시하는 블록도이다.
도 10은 도 9에 도시된 메모리 디바이스의 예시적인 회로의 개략도이다.
도 11은 미러 백업을 갖춘 프로그램 동작의 방법의 플로우차트이다.
도 12는 예시적인 커맨드 셋의 표이다.
도 13은 예시적인 동작표의 표이다.
도 14는 세부적인 커맨드 및 어드레스 포맷의 예를 도시하는 표이다.
도 15는 메모리 시스템의 기본 입력 타이밍을 도시하는 예시적인 타이밍도이다.
도 16은 모듈러 커맨드 NAND 플래시 메모리 시스템내의 비트 스트림의 입력 시퀀스를 도시하는 예시적인 타이밍도이다.
도 17은 메모리 시스템의 기본 출력 타이밍을 도시하는 예시적인 타이밍도이다.
도 18은 메모리 시스템내의 비트 스트림의 출력 시퀀스를 도시하는 예시적인 타이밍도이다.
도 19는 페이지 읽기 동작의 방법의 플로우차트이다.
도 20은 페이지 읽기 및 버스트 데이터 읽기 동작을 도시하는 예시적인 타이밍도이다.
본 발명의 견본 실시예들의 하기의 상세한 설명에서는, 이 명세서의 일부를 형성하고 본 발명이 실시될 수 있는 특정 견본 실시예들이 예시로서 도시되는 첨부 도면에 대해 언급된다. 이들 실시예들은 당업자가 본 발명을 실시할 수 있도록 충분히 상세하게 기술되었고, 본 발명의 권리범위로부터 벗어남 없이 논리적, 기계 적, 전기적 그리고 다른 변형들이 만들어 질 수 있으며 다른 실시예들이 활용될 수 있다는 것이 이해된다. 따라서, 하기의 상세한 설명은 한정의 의미를 갖지 않으며, 본 발명의 권리 범위는 첨부된 청구 범위에 의해 규정된다.
도 1은 본 발명의 실시예에 따른 시스템을 도시한다. 도 1을 참조하여 보면, 시스템(150)은 메모리 제어기(151) 및 직렬로 연결된 복수(M)의 메모리 디바이스(154-1, 154-2, 154-3, ..., 및 154-M)의 직렬 상호 연결을 포함하며, M은 1보다 큰 정수이다. 메모리 제어기(151) 및 메모리 디바이스들은 폭 n을 가진 링크(link)를 통해 상호 연결되며, n은 1 이상의 정수이다. n이 1인 경우에, 상호 연결 링크는 직렬 링크이고, n이 1보다 큰 경우에, 상호 연결 링크는 병렬 링크일 것이다. 메모리 제어기(151)는 직렬 상호 연결의 제1 메모리 디바이스(154-1)에 연결된다. 최종 메모리 디바이스(154-M)도 메모리 제어기(151)에 연결됨으로써, 직렬 상호 연결의 제1, 제2, 제3, ..., 및 제M 메모리 디바이스(154-1, 154-2, 154-3, ..., 및 154-M)가 메모리 제어기(151)와 함께 링 연결 구조를 형성한다. 예시된 예에서, 메모리 디바이스(154-1~154-M)는 플래시 메모리 디바이스이다. 다음 예시들도 또한 플래시 메모리에 특정된다. 하지만, 본 발명의 실시예들이 다른 타입의 비휘발성 메모리 디바이스에도 적용될 수 있다는 것이 이해된다.
도 1에 도시된 특정 예에 있어서, 직렬 연결된 메모리 디바이스(154-1~154-M)의 각각은, 예컨대, NAND 플래시 디바이스와 같은, 플래시 메모리 디바이스이다. 플래시 메모리 디바이스는 데이터상의 정보를 임시로 저장하기 위한 페이지 버퍼를 갖는다. 저장된 정보는 페이지 프로그래밍에 따라 디바이스의 플래시 메모리 셀들 내로 기입된다. 일단 프로그램되면, 페이지 버퍼에 저장된 정보는 프로그램 셀들의 검증 처리로 인해 훼손(corrupt)된다.
메모리 제어기(151)는 데이터 저장부(152) 및 프로세서(153)를 갖는다. 데이터 저장부(152)는, 처리될 그리고 직렬 연결된 메모리 디바이스들에 저장될, 메모리 데이터, 어드레스, 동작 명령상의 정보를 포함한다. 동작 명령상의 정보는 직렬 연결된 메모리 디바이스들을 제어하기 위해 사용된다. 데이터 저장부(152)는, 예컨대, 정적 랜덤 액세스 메모리(SRAM) 또는 임의의 타입의 임베디드 메모리(embedded memory)이다. 보다 일반적으로, 임의의 적절한 데이터 저장부가 구현될 수 있다. 프로세서(153)는 데이터 처리 및 데이터 저장부(152)에 저장된 데이터를 액세스하는 메모리 디바이스의 제어의 동작들을 실행한다. 메모리 제어기(151)는 복수의 연결부: 커맨드 신호 출력 연결부(CIO), 커맨드 신호 입력 연결부(COI), 입력 스트로브(strobe) 연결부(CSIO), 출력 스트로브 연결부(DSIO) 및 클럭 출력 연결부(CKO)를 갖는다.
동작 시에, 메모리 제어기(151)는 커맨드 신호 출력 연결부(CIO)를 통해 제1 디바이스(154-1)에 커맨드 입력(CI) 신호(SC1)를 송신하고, 커맨드 신호 입력 연결부(COI)를 통해, 직렬 상호 연결의 최종 디바이스(154-M)로부터 커맨드 출력(CO) 신호(SC(M+1))를 수신한다. 또한, 메모리 제어기(151)는 입력 스트로브 연결부(CSIO)를 통해 커맨드 스트로브 입력(CSI) 신호(SCS1)를 그리고 출력 스트로브 연결부(DSIO)를 통해 데이터 스트로브 입력(DSI) 신호(SDS1)를 제1 디바이스(154-1)에 제공한다. 또한, 메모리 제어기(151)는 클럭 출력 연결부(CKO)를 통해 클럭 신호(CK)를 일반적인 클럭 소스(clock source) 방식으로 전체의 디바이스(154-1~154-M)에 제공한다.
메모리 디바이스들(154-1, 154-2, 154-3, ..., 및 154-M)은, 페이지 버퍼들(158-1, 158-2, 158-3, ..., 및 158-M)을 각각 갖고, 플래시 메모리 셀들(159-1, 159-2, 159-3, ..., 및 159-M)을 각각 갖는다. 각각의 메모리 디바이스들(154-1~154-M)은, 이전의 디바이스로부터 CI 신호(SCi)(i= 1 내지 M)를 수신하기 위한 신호 입력 연결부(CI); 다음의 디바이스에 CI 신호(SC(i+1))를 제공하기 위한 신호 출력 연결부(CO); 이전의 디바이스로부터 CSI 신호(SCSi)를 수신하기 위한 입력 스트로브 입력 연결부(CSI); 다음의 디바이스에 출력 CSI 신호(SCS(i+1))를 송신하기 위한 입력 스트로브 출력 연결부(CSO); 이전의 디바이스로부터 DSI 신호(SDSi)를 수신하기 위한 출력 스트로브 입력 연결부(DSI); 및 다음의 디바이스에 출력 DSI 신호(SDS(i+1))를 송신하기 위한 출력 스트로브 출력 연결부(DSO)를 갖는다.
메모리 디바이스들(154-1~154-M)은 하드와이어드의(hard wired) 또는 사전에 할당된 고유의 디바이스 어드레스(device address; “DA”)를 가짐으로써, 하나의 디바이스가 통상의 동작시에 선택되거나 지정될 수 있다. 직렬로 연결된 디바이스들을 특징으로 하는 아키텍처의 예시적인 세부는, 그 개시가 참조로 이 명세서에 그 전체로 통합되어 있는, “Daisy Chain Cascading Devices”라는 제목의 미국 특 허 출원 제11/594,564호(2006년 7월 31일 출원)에 제공되어 있다. 직렬로 연결된 디바이스들을 특징으로 하는 아키텍처의 다른 예는, 그 개시가 참조로 이 명세서에 그 전체로 통합되어 있는, “System and Method of Operating Memory Devices of Varying Type”라는 제목의 미국 특허 가출원 제60/868,773호(2006년 12월 6일 출원)에 제공되어 있다. 직렬로 연결된 복수의 메모리 디바이스들의 디바이스 어드레스 할당의 예들은, 그 개시가 참조로 이 명세서에 그 전체로 통합되어 있는, 미국 특허 가출원 제60/787,710호(2006년 3월 28일 출원); 미국 특허 출원 제11/521,734호(2006년 9월 15일 출원); 미국 특허 가출원 제60/802,645호(2006년 5월 23일 출원); 및 미국 특허 출원 제11/750,649호(2007년 5월 18일 출원)에 제공되어 있다.
통상의 동작시에, 메모리 제어기(151)는 커맨드들을 포함하는 CI 신호(SC1)를 송신한다. 커맨드는 디바이스 어드레스(DA) 및 동작 명령을 나타내는 동작 코드(이하, OP 코드)를 포함한다. 일부의 커맨드는 추가적으로 어드레스 정보를 포함하며, 일부의 커맨드는 추가적으로 데이터를 포함한다. 각 OP 코드는 각각의 동작과 관련된다. 각 커맨드는 커맨드에 포함되는 OP 코드와 관련되는 타입을 갖는 것으로서 이 명세서에서 칭해질 수 있다. 예를 들어, 읽기 OP 코드를 포함하는 커맨드는 “읽기 커맨드”로서 칭해질 수 있다. 각각의 메모리 디바이스들(154-1~154-M)은 소정의 디바이스가 메모리 제어기에 직접적으로 연결되어 있는 경우(예시된 예에서는 디바이스(154-1)) 메모리 제어기로부터 그 각각의 CI를 통해 직접 커맨드를 수신하거나, 다른 디바이스들용의 인근의 이전 메모리 디바이스로부터 커맨드를 수신한다. 각각의 메모리 디바이스들(154-1~154-M)은, 소정의 디바이스가 메모리 제어기에 연결된 출력부를 갖는 것일 경우(예시된 예에서는 디바이스(154-M)) 메모리 제어기(151)에 커맨드를 전하거나, 인근의 다음 디바이스에 커맨드를 전하기 위해 그 각각의 CO를 사용한다. 특정 플래시 메모리 디바이스에 어드레스된(addressed) 기입 OP 코드를 포함하는 커맨드는, 데이터가 그 디바이스의 페이지 버퍼에 기입되고, 그 다음 페이지 버퍼로부터 메모리 디바이스의 플래시 메모리 셀들에 전송되는 결과를 가져온다. 특정 플래시 메모리 디바이스에 어드레스된 읽기 OP 코드를 포함하는 커맨드는 데이터가 메모리 디바이스의 플래시 메모리 셀로부터 메모리 디바이스의 페이지 버퍼에 읽힌 다음 페이지 버퍼에 전송되는 결과를 가져온다.
메모리 제어기(151)는, 디바이스 어드레스(DA), 커맨드 동작 코드(이하 OP 코드)를 각기 포함하는 커맨드들을 발행한다. 일부의 커맨드들은 어드레스 정보를 추가적으로 포함할 수 있고, 일부의 커맨드들은 데이터를 추가적으로 포함할 수 있다. 각각의 OP 코드는 각각의 동작과 관련된다. 각각의 커맨드는 또한, 커맨드에 포함되는 OP 코드와 관련되는 타입을 갖는 것으로서 이 명세서에서 언급된다. 예를 들어, 읽기 OP 코드를 포함하는 커맨드는 “읽기 커맨드”로서 언급될 수 있다. 예를 들어, 직렬 연결된 디바이스들에 사용하기 위한 커맨드들은 유연성이 있는 모듈러(modular) 커맨드들이며, 그 구조는 표 1에 나타내어져 있다.
표 1
Figure 112009054931375-PCT00001
표 1에 있어서, DA는 디바이스 어드레스; OP 코드는 동작 코드; RA는 로우(row) 어드레스; CA는 칼럼(column) 어드레스; DATA는 기입 데이터이다. OP 코드와 관련된 커맨드들의 예시는 “버스트 데이터 로드(burst data load)” 커맨드 및 “버스트 데이터 읽기” 커맨드이다. (i) 로우 어드레스 또는 칼럼 어드레스; (ii) 로우 어드레스도 칼럼 어드레스도 아님; (iii) 데이터 없음의 경우들이 있다.
도 2는 직렬로 상호 연결된 메모리 디바이스들에 대한 예시적인 커맨드 포맷들의 개략도이다. 도 2를 참조하여 보면, 제1 커맨드 포맷(109-1)은 ID 번호 및 OP 코드를 포함한다. ID 번호는 선택된 메모리 디바이스를 고유하게 식별하는데 사용되고, OP 코드 필드는 선택된 디바이스에 의해 실행될 OP 코드를 포함한다. 제1 커맨드 포맷(109-1)의 커맨드들은, 예컨대, 레지스터 값을 읽기 위한 OP 코드들을 포함하는 커맨드들을 위해 사용될 수 있다. 제2 커맨드 포맷(109-2)은 ID 번호, OP 코드 및 데이터를 포함한다. 제2 커맨드 포맷(109-2)의 커맨드들은, 예컨대, 레지스터에 데이터를 기입하기 위한 OP 코드들을 포함하는 커맨드들을 위해 사용될 수 있다. 제3 커맨드 포맷(109-3)은 ID 번호, OP 코드, 및 추가적인 어드레스를 포함한다. 추가적인 어드레스는, 예컨대, 메모리 셀들내의 장소를 어드레싱(addressing)하기 위한 로우 및/또는 칼럼 어드레스를 포함할 수 있다. 제3 커맨드 포맷(109-3)의 커맨드들은, 예컨대, 선택된 메모리 디바이스의 메모리 셀들로 부터 데이터를 읽기 위한 OP 코드들을 포함하는 커맨드들을 위해 사용될 수 있다. 제4 커맨드 포맷(109-4)은 ID 번호, OP 코드, 추가적인 어드레스, 및 데이터를 포함한다. 제4 커맨드 포맷(109-4)의 커맨드들은, 예컨대, 선택된 메모리 디바이스의 메모리 셀들에 데이터를 기입하기 위한 OP 코드들을 포함하는 커맨드들을 위해 사용될 수 있다. 4개의 예시적인 커맨드 포맷들(109-1, 109-2, 109-3, 109-4)의 전부가 어드레싱 목적을 위해 ID 번호로 시작한다는 것에 주목한다. 이 명세서에서 사용되는 용어 “커맨드”는, ID 번호, OP 코드, 추가적인 어드레스, 데이터, 또는 직렬로 상호 연결된 메모리 디바이스들의 배열의 제어에 관련한 임의의 다른 정보를 포함할 수 있는 커맨드로서, 커맨드 OP 코드만을 일컫는 것이 아니라는 것을 상기로부터 이해해야 한다.
상기한 커맨드 구조의 특정 예는, 그 내용이 참조로서 그 전체로 이 명세서에 통합되어 있는, 공동 출원인의 계속 출원의 미국 특허 출원 제11/840,692호(2007년 8월 17일 출원) 및 미국 특허 가출원 제60/892,705호(2007년 3월 2일 출원)에 교시되어 있다. 상기 출원들은, 상대적으로 짧은 액세스 시간을 포함하는 페이지 버퍼 액세스 동작으로부터 상대적으로 긴 처리 시간을 포함하는 핵심 액세스 동작을 구별하기 위해 상이한 커맨드 구조를 개시한다. 모듈러 커맨드 구조의 더 상세한 것들은 “모듈러 커맨드 구조”라는 표제하에 후술된다.
도 1을 다시 참조하여 보면, 각각의 메모리 디바이스들(154-1, 154-2, 154-3, ..., 및 154-M)은 소정의 디바이스가 메모리 제어기에 직접적으로 연결되어 있는 경우(예시된 예에서는 디바이스(154-1)) 메모리 제어기로부터 직접 그 각각의 CI를 통해 커맨드를 수신하거나, 다른 디바이스들용의 인근의 이전 메모리 디바이스로부터 커맨드를 수신한다. 각각의 메모리 디바이스들은, 소정의 디바이스가 메모리 제어기에 연결된 출력부를 갖는 것일 경우(예시된 예에서는 디바이스(154-M)) 메모리 제어기에 커맨드를 전하거나, 인근의 다음 디바이스에 커맨드를 전하기 위해 그 각각의 CO를 사용한다. 일반적인 커맨드 구조에 의하면, 특정 플래시 메모리 디바이스에 어드레스된 읽기 OP 코드를 포함하는 커맨드는 데이터가 메모리 디바이스의 플래시 메모리 셀로부터 메모리 디바이스의 페이지 버퍼에 읽힌 다음 페이지 버퍼에 전송되는 결과를 가져온다. 특정 플래시 메모리 디바이스에 어드레스된 기입 OP 코드를 포함하는 커맨드는, 데이터가 그 디바이스의 페이지 버퍼에 기입된 다음 페이지 버퍼로부터 메모리 디바이스의 플래시 메모리 셀들에 전송되는 결과를 가져온다.
도 3은 페이지 프로그래밍 및 검증에 대한 예시적인 절차를 도시한다. 도 1 내지 3을 참조하여, 기입 동작이 실행되는 방식의 예가 기술될 것이다. 데이터가 메모리 디바이스(154-2)에 기입될 것으로 가정한다. 프로그램될 데이터(예컨대, 100110...0100)는 메모리 제어기(151)의 메모리의 저장 소자(152)로부터 메모리 디바이스(154-2)의 페이지 버퍼(158)내로 로드된다(단계 112-1). 플래시 메모리의 할당된 로우 어드레스(페이지 방향)로 데이터의 프로그래밍이 시작된다(단계 112-2). 프로그래밍 결과가 검증된다(단계 112-3). ‘1’이 통과를 나타내고 ‘0’이 실패를 나타내는, 플래시 메모리 코어에 기입된, 페이지 버퍼 내용을 겹쳐 쓰는 검증 결과가 페이지 버퍼내에서 만들어진다. 프로그래밍 동작은, 메모리셀들의 결 점, 셀 게이트 산화물의 노후, 또는 다른 결점으로 인해 통과되지 않을 수 있다. 내부적으로, 프로그램 시간으로 불리는 지정된 기간동안 프로그램 및 검증 동작이 수회 실행된다. 112-4에 표시된 바와 같이, 선택된 로우(페이지 방향)의 전체 셀들이 정확히 프로그램되었다면, 페이지 버퍼(158)의 최종 내용들은 모두 ‘1’ 상태가 된다. 프로그램 시간 후에, 디바이스(154-2)의 페이지 버퍼(158)내에 임의의 ‘0’값이 여전히 존재한다면, 112-5에 표시된 바와 같이 페이지 프로그램은 실패한 것이다. 실패의 경우에, 동일의 선택된 디바이스의 상이한 로우 어드레스(페이지 방향)에 페이지 프로그램 동작을 재개시키기 위해 메모리 제어기(151)의 저장 소자(152)로부터 데이터가 재-로드된다.
일반적으로, 플래시 메모리들은 셀 특성 및 프로그램 상태를 검증하는데 사용되는 시간으로 인해 긴 프로그램 시간의 근본적인 제약을 갖는다. 페이지 프로그램 동작의 실패 가능성으로 인해, 메모리 제어기(151)의 데이터 저장 소자(152)는 프로그램 실패의 경우에 원래의 프로그램 데이터의 복구를 가능케 하도록 초기 프로그램 데이터를 유지한다. 그 결과로, 초기 프로그램 데이터가 데이터 저장 소자(151)내의 스페이스를 점유하며, 그에 의해 스페이스가 다른 목적을 위해 사용되는 것을 막는다. 그것은 다른 페이지 프로그램 동작 전, 페이지 프로그램 동작 및 검증이 완료될 때까지 기다려야 하는 결과를 가져올 수 있다. 성능을 향상시키기 위한 가능성 있는 접근법은 메모리 제어기내의 저장 소자들의 용량을 증가시키는 것이 될 수 있지만, 이것은 비용이 많이 들 수 있다.
도 1에 도시된 예시적인 시스템(150)에 있어서, 선택된 메모리 디바이스와 페이지 프로그램 동작을 실행할 때, 메모리 제어기(151)는 선택된 메모리 디바이스의 페이지 버퍼(158)내로 데이터를 로드하고 데이터의 백업 사본(back-up copy)을 저장하기 위해 다른 메모리 디바이스의 페이지 버퍼내로도 데이터를 로드한다. 본 예에 있어서, 선택된 메모리 디바이스는 제1 메모리 디바이스(164-1)이고 다른 메모리 디바이스는 제2 메모리 디바이스(154-2)인 것으로 가정한다. 보다 일반적으로, 선택된 메모리 디바이스 및 다른 메모리 디바이스는 메모리 디바이스들(154-1, 154-2, 154-3, ..., 및 154-M) 중 임의의 2개의 디바이스일 수 있다. 데이터가 선택된 메모리 디바이스(154-1)의 메모리 셀들내로 성공적으로 프로그램되지 않은 경우에, 메모리 제어기(151)는 제2 메모리 디바이스(154-2)의 페이지 버퍼(158)로부터 데이터를 복구한다. 제2 메모리 디바이스(154-2)의 페이지 버퍼(158)는 프로그램 동작과는 독립적으로 액세스된다. 이것은, 제2 메모리 디바이스(154-2)의 메모리 셀들내로 데이터를 프로그램해야하는 일 없이 데이터가 복구될 수 있게 한다. 데이터의 사본이 제2 메모리 디바이스(154-2)의 페이지 버퍼(158)에 저장되어 있으므로, 메모리 제어기(151)는 그 자신의 데이터 저장 소자(152)에 데이터를 로컬적으로(locally) 저장할 필요가 없다. 따라서, 메모리 제어기(151)는, 데이터가 선택된 메모리 디바이스(154-1)의 메모리 셀들내로 성공적으로 프로그램되었는지의 여부를 판정하기 전에 데이터가 저장된 그 자신의 데이터 저장 소자(152)내의 스페이스를 자유화(free up)시킬 수 있다.
특정 예에 있어서, 본 발명의 실시예에 따라, 페이지 버퍼를 미러 백업으로서 동작할 수 있게 하는 목적을 위해, 3개의 “모듈러” 메모리 디바이스 액세스 커맨드가 사용된다. 그 1번째는 “버스트 데이터 로드” 커맨드로서 칭해지고 버스트 데이터 로드 OP 코드를 포함한다. 이것은 데이터를 페이지 버퍼에 기입되게 하지만, 이 커맨드 단독으로는 데이터를 플래시 메모리 셀들에 전송되게 하지 못한다. 뒤 잇는 예에 있어서, 이를 위해 4
Figure 112009054931375-PCT00002
h 및 5h가 사용되지만, 보다 일반적으로는 커맨드 구조가 실시 특정 기초로 규정될 것이다. 2번째는 “버스트 데이터 읽기” 커맨드로서 칭해지고 버스트 데이터 읽기 OP 코드를 포함한다. 이것은 데이터를 플래시 메모리 셀들로부터 1번째 읽기 없이 페이지 버퍼로부터 직접 읽힐 수 있게 한다. 뒤 잇는 예에 있어서, 이를 위해 2
Figure 112009054931375-PCT00004
h가 사용되지만, 보다 일반적으로는 커맨드 구조가 실시 특정 기초로 규정될 것이다. 3번째는 “페이지 프로그램” 커맨드로서 칭해지고 페이지 프로그램 OP 코드를 포함한다. 이것은 페이지 버퍼에 이전에 저장된 데이터를 플래시 메모리에 기입되게 하며, 검증 목적을 위한 처리시에 페이지 버퍼의 내용들을 제거한다. 뒤 잇는 예에 있어서, 이를 위해 6
Figure 112009054931375-PCT00005
h가 사용되지만, 보다 일반적으로는 커맨드 구조가 실시 특정 기초로 규정될 것이다.
도 4는 도 1에 도시된 2개의 메모리 디바이스들을 도시한다. 도 1 및 4를 참조하여 보면, 2개의 디바이스(120, 127)는 시스템(150)내의 2개의 디바이스를 나타내면, 2개의 디바이스는 상호 연결 구조로 서로 인접하거나 멀리 있다. 2개의 디바이스(120, 127)는 데이터에 대한 미러 백업으로서 사용된다.
제1 메모리 디바이스(120)는, 입력 연결부(139), 출력 연결부(140), 플래시 메모리 셀(121), 페이지 버퍼(122) 및 디바이스 제어기(126)를 갖는다. 유사하게, 제2 메모리 디바이스(127)는, 입력 연결부(141), 출력 연결부(142), 플래시 메모리 셀(128), 페이지 버퍼(129) 및 디바이스 제어기(130)를 갖는다. 2개의 메모리 디바이스(120, 127)는 직렬로 연결된 디바이스들을 특징으로 하는 아키텍처의 일부를 형성하는 임의의 2개의 메모리 디바이스이다. 특정 예에 있어서, 2개의 메모리 디바이스(120, 127) 중 하나가 데이터에 대한 미러 백업으로서 사용된다. 디바이스 제어기(126, 130)는 커맨드들의 처리를 촉진하기 위한 임의의 적절한 회로를 포함한다. 다음의 예들은 임의의 디바이스 제어기를 언급하지 않을 것이다; 하지만, 그것들이 커맨드를 처리하기 위한 회로를 포함할 것이라는 것이 이해된다.
동작 시에, 제1 메모리 디바이스(120)의 페이지 버퍼(122)에는, 123에 표시된 바와 같이 입력 연결부(139)를 통해 버스트 데이터 로드 커맨드(4
Figure 112009054931375-PCT00006
h 및 5
Figure 112009054931375-PCT00007
h)에 의해 데이터가 로드된다. 본 예에 있어서, 데이터는 또한 137에 표시된 바와 같이 입력 연결부(141)를 통해 제2 메모리 디바이스(127)의 페이지 버퍼(129)내로 로드된다. 메모리 디바이스(120)내의 페이지 프로그래밍은 124에 표시된 바와 같이 페이지 프로그램 커맨드(6
Figure 112009054931375-PCT00008
h)에 의해 달성된다. 페이지 버퍼(122)는, 페이지 프로그램 동작이 성공적이었는지 아닌지의 여부를 검증하기 위해, 125에 표시된 바와 같이 ‘디바이스 상태 읽기 (DOh)’를 이용하여 출력 연결부(140)를 통해 읽힌다. 제2 메모리 디바이스(127)는, 페이지 프로그래밍이 제1 메모리 디바이스(120)에 대해 성공적이지 않은 경우에 페이지 프로그램 동작에 대한 미러 백업으로서 사용된다. 메모리 제어기(도시되지 않음)는 어느 메모리 디바이스가 미러 백업으로 서 사용되고 있는가를 기억한다. 프로그램 실패의 경우에, 138에 표시된 바와 같이 데이터는 출력 연결부(142)를 통해 미러 백업으로부터 복구될 수 있다. 이것은 메모리 제어기가 그 자신의 저장 소자에 내용을 저장할 필요를 제거한다. 따라서, 데이터를, 페이지 버퍼(122, 129)에 프로그램되기 전에, 저장하기 위해 메모리 제어기에 의해 사용되는 장소는 다른 목적을 위해 자유화될 수 있다.
디바이스들이 직렬로 상호 연결된 아키텍처를 갖는 시스템용의 페이지 버퍼의 미러 기능이 이제 도 5 및 6을 참조하여 기술될 것이다. 도 5는 동일한 데이터가 2개의 별개의 기입 커맨드를 사용하여 2개의 상이한 페이지 버퍼에 기입되는(즉, 각 페이지 버퍼에 대해 1개) 예를 제공한다. 다른 구현에 있어서, 싱글(single) 기입 커맨드가 2개 이상의 페이지 버퍼에 동일한 데이터를 기입하기 위해 사용된다. 이러한 예는 도 6을 참조하여 후술된다.
도 5는 페이지 버퍼가 데이터에 대해 미러 백업으로서 사용되는 직렬로 연결된 디바이스들을 특징으로 하는 아키텍처를 가진 시스템을 도시한다. 먼저 도 5를 참조하여 보면, 시스템(190)은 메모리 제어기(191) 및 직렬로 연결된 복수의 메모리 디바이스(193-1, 193-2, 193-3, ..., 및 193-15)를 갖는다. 특정 예에 있어서, 시스템(190)은 15개의 메모리 디바이스를 포함한다. 보다 일반적으로는 2개 이상이 제공될 수 있다. 메모리 제어기(191)는 데이터 저장 소자(192) 및 데이터 프로세서(203)를 갖는다. 메모리 제어기(191)는 또한, 제1 메모리 디바이스(193-1)와 연결하기 위한 출력 연결부(CIO), 및 최종 메모리 디바이스(193-15)와 연결하기 위한 입력 연결부(COI)를 갖는다. 메모리 디바이스들(193-1, 193-2, 193-3, ..., 및 193-15)은 각각 페이지 버퍼들(194, 196, 198, 및 190)을 갖고 메모리 디바이스들(193-1, 193-2, 193-3, ..., 및 193-15)의 각각은 메모리 셀들(도시되지 않음)을 갖는다.
메모리 제어기(191) 및 메모리 디바이스들(193-1, 193-2, 193-3, ..., 및 193-15)은 직렬 링크들로 상호 연결된다. 이 명세서에 기술된 다른 예들도 또한 연속적인 디바이스들 사이의 직렬 링크들에 특정된다. 하지만, 본 발명의 실시예들이 연속적인 디바이스들 사이의 병렬 링크들을 특징으로 하는 아키텍처에 또한 적용될 수 있다는 것이 이해된다. 보다 일반적으로, 본 발명의 실시예들은 연속적인 디바이스들 사이의 시리즈(series) 링크들을 특징으로 하는 아키텍처에 적용될 수 있다. 시리즈 링크는 직렬 링크 또는 병렬 링크일 수 있다. 시스템(190)은 데이터에 대해 미러 백업으로서 페이지 버퍼를 사용한다. 예시된 예에 있어서, 2개의 디바이스는 하나의 I/O 핀을 갖는 링크에 의해 상호 연결된다. 대안적으로, 링크는 복수의 I/O 핀을 포함할 수 있다. 메모리 디바이스들(193-1, 193-2, 193-3, ..., 및 193-15)은 이전의 디바이스로부터 CI 연결부를 통해 신호를 처리하고 다음 디바이스에 CO 연결부를 통해 처리된 결과를 출력하기 위한 각각의 처리 회로를 갖는다. 간략화를 위해, 상기 회로는 D-타입 플립-플롭(D-type flip-flop; “D-FF”)이라는 표현으로 도시되었다.
이러한 예에 있어서, 메모리 제어기(191)가 메모리 디바이스(193-1)의 메모리 셀들에 데이터를 기입할 필요가 있고, 메모리 디바이스(193-2)의 페이지 버퍼(194-2)가 미러 백업으로서 사용될 수 있다고 가정한다. 동작 시에, 메모리 제 어기(191)는, 데이터 저장 소자(192)로부터 제1 메모리 디바이스(193-1)의 페이지 버퍼(194-1)내로 데이터를 로드하기 위해 제1 기입 커맨드를 발행한다. 페이지 버퍼(194-1)내로 데이터를 로드하는 것은 일반적으로 201에 표시된다. 페이지 프로그래밍이 실패한 경우에 데이터의 백업 사본을 유지하기 위해, 메모리 제어기(191)는, 제2 메모리 디바이스(193-2)의 페이지 버퍼(194-2)내로 동일한 데이터를 로드하기 위해, 기입 커맨드(페이지 버퍼 로드)를 또한 발행한다. 페이지 버퍼(194-2)내로 데이터를 로드하는 것은 일반적으로 202에 표시된다. 그 다음, 메모리 제어기(191)는 페이지 버퍼(194-1)내로 로드된 데이터를 제1 메모리 디바이스(193-1)의 메모리 셀들(도시되지 않음)내로 프로그램하도록 페이지 프로그램 커맨드를 발행한다. 예시된 예에 있어서, 데이터는 제2 메모리 디바이스(193-2)의 메모리 셀들내로 프로그램되지 않았다. 대신, 제1 메모리 디바이스(193-1)에 대한 페이지 프로그래밍이 실패한 경우에, 데이터의 미러 백업 사본으로서 페이지 버퍼(194-1)내에 데이터가 유지된다.
메모리 제어기(191)는 어느 메모리 디바이스(193-2)가 미러 백업으로서 사용되고 있는지를 기억한다. 프로그램 실패의 경우에, 데이터는 미러 백업으로부터 복구될 수 있다. 이것은 메모리 제어기(191)가 그 자신의 데이터 저장 소자(192)에 내용들을 저장할 필요를 제거한다. 따라서, 페이지 버퍼 로드가 행해지자마자, 데이터를 저장하도록 이전에 사용된 데이터 저장 소자(192)는 다른 사용을 위해 자유화된다. 메모리 제어기는 어느 데이터 저장 소자(192)가 자유이고, 어느 것이 사용 중 인지를 기억한다. 페이지 프로그래밍 동작시에 성공의 경우에는, 미러 백 업으로서 사용되고 있는 페이지 버퍼(194-2)의 장소가 자유화된다.
제1 메모리 디바이스(193-1) 및 제2 메모리 디바이스(193-2)는 메모리 제어기(191)에 의해 선택된다는 것에 주목한다. 메모리 제어기(191)는 상이한 메모리 디바이스들을 대안적으로 선택할 수 있다. 각각의 기입 커맨드는 DA에 의해 목표 메모리 디바이스에 어드레스된다.
직렬로 연결된 디바이스들에 있어서, 입력부(CI)로부터 출력 결과(CO)를 동기화시키기 위해 메모리 디바이스들 사이에 클럭 사이클 기반 레이턴시(latency) 지연이 있다는 것에 주목한다. 레이턴시는 시스템 및 디바이스 사양에 따라 결정될 수 있다. 전체 예시들은 입력과 출력 사이의 1 클럭 사이클 레이턴시를 가정한다. 따라서, 2개의 인접한 메모리 디바이스들 사이에는, 입력 데이터가 캡쳐될 때 1 사이클 차이가 있다. 하지만, 클럭 사이클 레이턴시는 대안적으로 하프 사이클(half cycle)과 같이 더 작을 수 있고 2 사이클 이상과 같이 더 클 수 있다는 것이 이해된다. 관계없이, 메모리 디바이스들은 레이턴시 지연이 있는 입력 스트림들을 취한다.
도 6은 페이지 버퍼가 데이터에 대한 미러 백업으로서 사용되는 직렬로 연결된 디바이스들을 특징으로 하는 아키텍처를 가진 다른 시스템을 도시한다. 도 6을 참조하여 보면, 시스템(210)은 데이터에 대한 미러 백업으로서 페이지 버퍼(214-2)를 사용한다. 시스템(210)은 메모리 제어기(211) 및 복수의 메모리 디바이스들(213-1, 213-2, 213-3, ..., 및 213-15)을 갖는다. 메모리 제어기(211)는, 예컨대, SRAM인, 데이터 저장 소자(212)를 갖는다. 메모리 제어기(211)는 또한, 데이 터 프로세서(209), 제1 메모리 디바이스(213-1)와 연결하기 위한 출력 연결부(CIO), 및 최종 메모리 디바이스(213-15)와 연결하기 위한 입력 연결부(COI)를 갖는다. 메모리 디바이스들(213-1, 213-2, 213-3, ..., 및 213-15)은 각각 페이지 버퍼들(214-1, 214-2, 214-3, 및 214-15)을 갖고, 각 메모리 디바이스들은 메모리 셀들(도시되지 않음)을 갖는다. 메모리 제어기(211) 및 메모리 디바이스들(213-1, 213-2, 213-3, ..., 및 213-15)은 링크들로 상호 연결된다. 도 6의 시스템에 대한 미러 백업 동작의 세부적인 예는 후술된다.
예시적인 시스템에 있어서, 소정의 메모리 디바이스에 대한 미러 백업으로서 기능하도록 된 메모리 디바이스는 정적으로(statically) 규정된다. 상기 정적 규정의 특정 예는 다음과 같이 가정되는 하기의 표들에서 규정된다: 짝수 디바이스 어드레스를 가진 소정의 디바이스에 있어서, 소정의 디바이스에 대해 미리 백업으로서 기능하도록 된 디바이스는 소정의 디바이스의 그것보다 1 더 큰 어드레스를 갖는 디바이스이고(표 2 참조), 홀수 어드레스를 가진 소정의 디바이스에 있어서, 소정의 디바이스에 대해 미러 백업으로서 기능하도록 된 디바이스는 소정의 메모리 디바이스의 그것보다 1 더 작은 어드레스를 가진 디바이스이다(표 3 참조).
표 2: 짝수 디바이스 어드레스에 있어서, 지정된 목표 어드레스(DAt)와 미러 어드레스(MA) 사이의 정적 관계는 MA = DAt + 1로 규정된다.
Figure 112009054931375-PCT00009
표 3: 홀수 디바이스 어드레스에 있어서, 지정된 목표 어드레스(DAt)와 미러 어드레스(MA) 사이의 정적 관계는 MA = DAt - 1로 규정된다.
Figure 112009054931375-PCT00010
앞서의 표 2 및 3에 의해 규정되는 예시들에 있어서, 지정된 목표 디바이스 및 미러 디바이스는 LSB(최하위 비트)를 제외하고 공통 어드레스들을 공유한다. 보다 일반적으로, 일부의 예시들에 있어서, 지정된 목표 디바이스와 미러 디바이스 사이의 관계는, 2개의 별개의 커맨드가 송신될 것을 요하지 않고 2개의 디바이스들을 유효하게 어드레스하는데 사용된다.
이러한 특정 예시는, 동작의 새로운 모드가, 전체 디바이스들이 LSB를 제외한 각각의 수신 커맨드를 디바이스의 디바이스 어드레스의 대응하는 비트들(즉, LSB를 제외한 전체 비트들)에 비교하는, “LSB 무시 모드”로 칭해지는 표 2 및 3의 미러 백업 디바이스 정의에 적용된다. 상기 모드에 있어서, 소정의 지정된 목표 어드레스를 갖는 디바이스와 적절한 미러 디바이스의 양쪽이 커맨드를 처리할 것이다. 일부의 구현에 있어서, 먼저 커맨드가 LSB 무시 모드를 턴온시키기 위해 송신된다. 이것은, 브로드캐스트 어드레스(broadcast address)로 불리는, 전체 디바이스들에 의해 처리되는 어드레스를 사용하여 행해질 수 있다. 페이지 버퍼에 데이터를 로드하는 커맨드가 이 뒤를 잇고, 이것은 데이터가 지정된 목표 디바이스 및 미러 디바이스의 양쪽의 페이지 버퍼에 로드되는 결과를 가져온다. 이런 후에, LSB 무시 모드는 다시 턴온프되고, 지정된 목표 디바이스의 페이지 버퍼의 내용들을 핵심 메모리에 기입하는 커맨드가 송신되고 지정된 목표 디바이스에 의해서만 처리된다. 다른 예에 있어서, 그 커맨드에 대해 LSB 무시 모드를 나타내는 상이한 OP 코드가 규정된다. 다른 실시예에 있어서, LSB 무시 모드는 많아봐야 하나의 다음 커맨드에 대해서만 활성화되며, 그래서, 상기 커맨드가 송신되고 나면 LSB 무시 모드를 턴오프시킬 필요가 없다. 다른 실시예에 있어서, 커맨드내의 다른 필드는 LSB 무시 모드를 나타내는데 사용된다.
이러한 예시가 이제, 메모리 제어기(211)가 메모리 디바이스(213-1)의 메모리 셀들에 데이터를 기입하도록 결정했다고 가정되고, 메모리 디바이스(213-2)의 페이지 버퍼(214-2)를 미러 백업으로서 사용하는, 도 6을 참조하여 기술될 것이다. 이러한 예시는, 메모리 제어기(211)가 데이터 저장 소자(212)로부터 제1 메모리 디바이스(213-1)의 페이지 버퍼(214-1) 및 제2 메모리 디바이스(213-2)의 페이지 버퍼(214-2)의 양쪽에 데이터를 로드하기 위해 싱글 기입 커맨드를 발생한다는 점에서 도 5의 예시와는 상이하다. 이것은, 메모리 디바이스가 싱글 기입 커맨드내에서 발견되는 목표 디바이스 어드레스의 LSB를 무시하는, “LSB 무시 모드” 동안에 달성된다. 이러한 예에 있어서, 메모리 제어기(211)는 직렬로 연결된 디바이스들 의 전체 메모리 디바이스들(213-1, 213-2, 213-3, ..., 및 213-15)에 ‘LSB 무시’ 커맨드를 송신하여, 그것들에게 다음에 수신되는 커맨드들의 목표 디바이스 어드레스의 LSB를 무시하라고 알린다. LSB 무시 커맨드는, 예컨대, 전체 메모리 디바이스들에 의해 처리되는 브로드캐스트 어드레스에 송신되는 FFh의 OP 코드를 가진 ‘링크 구성 레지스터 기입(Write Link Configuration Register)’커맨드이다. 상기 브로드캐스트 커맨드용으로 적절한 어떠한 구조도 사용될 수 있다; 보다 일반적으로는, LSB 무시 모드를 인에이블하기 위한 임의의 적절한 메커니즘이 구현될 수 있다. 다양한 예시들이 앞서 제공되었다.
일단 LSB 무시 모드가 인에이블되면, 2개의 메모리 디바이스가 싱글 목표 어드레스에 의해 선택된다. 예를 들어, “0000”의 목표 어드레스를 가진 페이지 버퍼 로드 커맨드는 “0000”의 디바이스 어드레스(DA)를 가진 제1 메모리 디바이스(213-1) 및 “0001”의 디바이스 어드레스를 가진 제2 메모리 디바이스(213-2)의 양쪽에 의해 처리될 것이다. 제1 및 제2 메모리 디바이스(213-1, 213-2)는 LSB에 대해 제외하고 동일한 디바이스 어드레스들을 갖는다는 것에 주목한다. 2개의 메모리 디바이스(213-1, 213-2) 중 하나(예컨대, 제1 메모리 디바이스(213-1))는 “지정된 목표 디바이스”로서 사용되고, 다른 메모리 디바이스(예컨대, 메모리 디바이스(213-2))는 “미러 디바이스”로서 사용되며, 그것의 페이지 버퍼는 미러 프로그램 데이터를 저장한다. 일단 페이지 버퍼 로드 커맨드가 발행되면, 데이터 로딩이 시작된다. 2개의 선택된 메모리 디바이스(213-1, 213-2)의 페이지 버퍼들(214-1, 214-2)은 그 내부로 데이터를 저장한다. 페이지 버퍼들(214-1, 214-2)내로 데 이터를 로드하는 것은 일반적으로 221 및 222에 표시된다. 프로그래밍 전에, LSB 무시 모드가 리셋되고, 하나의 메모리 디바이스만이 선택되는 통상의 동작이 동시에 재개된다. 이것은, 예컨대, 다른 브로드캐스팅 커맨드를 발행하는 것에 의해 달성된다. 시스템(210)에 대한 LSB 무시 모드의 인에이블링 및 디스에이블링의 예시적인 타이밍 세부가 도 7을 참조하여 후술된다.
도 7은 도 6의 시스템에 대한 LSB 무시 모드의 인에이블링 및 디스에이블링의 예시적인 타이밍도를 도시한다. 도 6 및 7을 참조하여 보면, 메모리 제어기(211)는 3개의 신호들: 클럭 신호(CK); 커맨드 스트로브 입력 신호(CSI) 및 커맨드 입력 신호(CI)를 출력한다. CSI 신호는 3개의 스테이지(stage), 즉, 제1, 제2 및 제3 스테이지 동안에 주장된다는 것에 주목한다.
제1 스테이지는 281에 표시된다. 메모리 제어기(211)는 메모리 디바이스에게 다음에 수신되는 커맨드들의 목표 디바이스 어드레스의 LSB를 무시하도록 알리는 ‘LSB 무시’ 커맨드를 송신한다. 커맨드는 LSB 무시 모드를 인에이블시키기 위한 브로드캐스트 DA 및 OP 코드를 포함한다. 여기서, ‘FF’가 직렬로 연결된 디바이스들의 전체 메모리 디바이스들이 이러한 커맨드를 받아들여 처리하는 결과를 가져오는 브로드캐스트 어드레스라고 가정한다.
제2 스테이지는 282에 표시된다. 메모리 제어기(211)는 제1의 2개의 메모리 디바이스(213-1, 213-2)의 페이지 버퍼(214-1, 214-2)내로 데이터를 로드하기 위한 커맨드를 송신한다. 커맨드는 제1 메모리 디바이스(213-1)에 대한 디바이스 식별자(ID) 및 버스트 데이터 로드 명령(CMD)을 포함한다. LSB 무시 모드가 인에이블 되었기 때문에, 제1 및 제2 메모리 디바이스(213-1, 213-2)는 커맨드를 처리하고 그들의 페이지 버퍼(214-1, 214-2)내로 데이터를 로드한다.
제3 스테이지는 283에 표시된다. 메모리 제어기(211)는 LSB 무시 모드를 디스에이블시키기 위한 커맨드를 송신한다. ID는 다시금 브로드캐스트 ID ‘FF’이다.
일단 LSB 무시 모드가 디스에이블되면, 메모리 제어기(211)는 페이지 버퍼(214-1)에 로드된 데이터를 제1 메모리 디바이스(213-1)의 메모리 셀들(도시되지 않음)내로 프로그램하도록 페이지 프로그램 커맨드를 발행한다. 예시된 예에 있어서는, 데이터가 제2 메모리 디바이스(213-2)의 메모리 셀들(도시되지 않음)내로 프로그램되지 않았다. 대신, 제1 메모리 디바이스(213-1)에 대한 페이지 프로그래밍이 실패한 경우에, 데이터의 미러 백업 사본으로서 제2 메모리 디바이스(213-2)의 페이지 버퍼(214-2)내에 데이터가 유지된다. 제2 메모리 디바이스(213-2)는 페이지 버퍼(214-2)를 사용하는 임의의 핵심 동작들에 대해 액세스되지 않아야 한다. 하지만, 상태와 같은, 레지스터 기반 커맨드, 구성 레지스터 읽기 또는 기입은 가능하다. 다른 메모리 디바이스들(213-3, ..., 및 213-15)은 자유롭게 액세스될 수 있다.
도 8은 데이터 복구가 프로그램 실패 후에 실행되는 도 6의 시스템(210)을 도시한다. 이제 도 8을 참조하여 보면, 데이터 복구에 대한 데이터 경로는 일반적으로 223에 도시된다. 먼저, 제2 메모리 디바이스(213-2)의 미러 버퍼(214-2)내의 프로그램 데이터는 메모리 제어기(211)의 데이터 저장 소자(212)에 송신됨으로써, 다른 목적을 위해 사용되고 있음으로 인해 데이터 저장 소자(212)에 유지되고 있지 않을 수 있는 초기 프로그램 데이터를 메모리 제어기(211)가 복구할 수 있게 한다. 다음, 미러 버퍼(214-2)로부터 복구되는 프로그램 데이터는 페이지 버퍼 로드 및 페이지 프로그램을 실행하는 것에 의해 새로운 페이지 어드레스에 송신된다. 이것은 제1 메모리 디바이스(213-1) 상의 다른 페이지에 또는 다른 메모리 디바이스 상의 페이지에로 일 수 있다. 만약, 그것이 다른 메모리 디바이스라면, 처리는 데이터를 2개의 페이지 버퍼내로 재-로드하는 것에 의해 스크래치(scratch)로부터 시작한다. 대안적으로, 복구 데이터가 다른 메모리 디바이스의 페이지 버퍼내로 로드되는 동안, 미러 버퍼(214-2)내로 로드된 데이터가 유지될 수 있다. 메모리 제어기(211)는 실패한 페이지들을 기억하고 사용하지 않는다. 도 8에 묘사된 예에 있어서, 미러 버퍼(214-2)로부터 복구되는 프로그램 데이터는 224에 표시된 바와 같이 다른 메모리 디바이스(213-1)의 페이지 버퍼(214-1)에 송신된다.
앞서 제공된 예시된 예들에 있어서, LSB 무시 특징을 구현하기 위한 메모리 디바이스들의 구체적인 세부들은 제공되지 않았다. 메모리 디바이스들이 LSB 무시 특징을 달성하기 위한 어떠한 적절한 제어 회로와도 구현될 수 있다는 것이 이해된다. 특정 구현이 예시적인 목적들을 위해 도 9 및 10을 참조하여 후술된다.
도 9는 도 1에 도시된 직렬 연결된 메모리 디바이스들의 일부를 도시한다. 도시된 바와 같이, 이전의 디바이스(154-(i-1))로부터 디바이스(154-i)로 입력되는 커맨드 입력 신호(SCi)는 다음 디바이스(154-(i+1))에 송신될 수 있다.
도 10은 직렬로 연결된 디바이스들의 메모리 디바이스에 사용하기 위한 메모리 디바이스를 도시한다. 메모리 디바이스 회로는 LSB 무시 특징을 구현한다. 도 10을 참조하여 보면, 메모리 디바이스(154-i)는, 클럭 신호(CK)를 수신하기 위한 클럭 입력부(CLK), 커맨드 스트로브 신호(SCSi)를 수신하기 위한 커맨드 스트로브 입력부(CSI), 데이터 스트로브 신호(SDSi)를 수신하기 위한 데이터 스트로브 입력부(DSI) 및 커맨드 입력 신호(Sci)를 수신하기 위한 커맨드 입력부(CI)를 포함하는 복수의 입력부를 갖는다. 메모리 디바이스(154-i)는, 커맨드 스트로브 신호(SCS(i+1))를 출력하기 위한 커맨드 스트로브 출력부(CSO), 데이터 스트로브 신호(SDS(i+1))를 출력하기 위한 데이터 스트로브 출력부(DSO) 및 커맨드 입력 신호(Sc(i+1))를 다음 디바이스(154-(i+1))에 출력하기 위한 커맨드 출력부(CO)를 포함하는 복수의 출력부를 갖는다.
클럭 신호(CK), 커맨드 스트로브 신호(SCSi), 커맨드 입력 신호(Sci) 및 데이터 스트로브 신호(SDSi)는 각각의 입력 버퍼(281, 282, 283, 284)에 의해 버퍼링된다. 버퍼링되는 클럭 신호 및 커맨드 입력 신호는, 내부적으로 생성된 클럭 신호들: ID 클럭 신호(Clkid), OP 코드 클럭 신호(Clkop), 어드레스 클럭 신호(Clkad) 및 데이터 클럭 신호(Clkda)를 출력하는 클럭 발생기(264)에 공급된다. ID 클럭 신호(Clkid), OP 코드 클럭 신호(Clkop), 어드레스 클럭 신호(Clkad) 및 데이터 클럭 신호(Clkda)는 ID 레지스터(265), OP 코드 레지스터(266), 어드레스 레지스 터(268) 및 데이터 레지스터(269)에 공급된다. 커맨드 입력 신호(Sci)의 커맨드의 적절한 필드들이 각각의 클럭 신호들에 응답하여 ID 레지스터(265), OP 코드 레지스터(266), 어드레스 레지스터(268) 및 데이터 레지스터(269)에 입력된다. OP 코드 레지스터(266)에 홀드되는 OP 코드는 디코딩을 위한 OP 코드 디코더(267)에 공급된다. OP 코드 디코더(267)는 1 비트 신호(SIGB)를 1 비트 레지스터(276)에 출력하고 멀티 비트(m 비트: 예컨대, 3 비트) 디코드된 OP 코드 신호(SDOP)를 핵심 로직 및 메모리 회로(285)에 출력한다. 핵심 로직 및 메모리 회로(285)는 또한 버퍼링된 데이터 스트로브 신호를 수신한다.
커맨드 입력 신호(SCi)는 D-FF(251)에 의해 래치(latch)되고, 그 출력이 다시 버퍼링되어 다음 메모리 디바이스(154-(i+1))에 전해질 커맨드 입력 신호(Sc(i+1))를 생성한다.
메모리 디바이스(154-i)는, 디바이스 어드레스(DA)의 값을 홀드하기 위해 디바이스 ID 레지스터(273)의 n 비트 내용 및 ID 레지스터(265)의 n 비트 출력을 입력으로서 수신하는 배타적(exclusive) NOR(XNOR) 로직 회로(272)를 포함한다. XNOR 로직 회로(272)는 ID 레지스터(265)의 n 비트 출력과 디바이스 ID 레지스터(273)의 n 비트 내용간의 비트 폭 XNOR 동작을 실행하고 n 비트 출력을 생성하는 n개의 XNOR 게이트를 갖는다. XNOR 로직 회로(272)의 n 비트 출력의 LSB는 OR 게이트(274)의 하나의 입력부로 입력되고, XNOR 로직 회로(272)의 n 비트 출력의 나머지 비트는 AND 로직 회로(275)로 입력된다. 1 비트 레지스터(276)는 OP 코드 디 코더(267)로부터의 (신호(SIGB)내의) “LSB 무시 인에이블 비트”를 기록하기 위해 구비된다. 1비트 레지스터(276)의 출력은 OR 게이트(274)에 제2 입력으로서 입력되고, OR 게이트(274)의 출력은 AND 로직 회로(275)에 다른 입력으로서 공급된다. 이들 구성 요소들의 동작이 후술된다.
동작 시에, 메모리 디바이스(154-i)는 커맨드 입력 신호(SCi) 내의 커맨드를 수신한다. 클럭 신호(CK)와 함께 커맨드 스트로브 신호(SCSi)의 타이밍에 기초하여, 클럭 발생기(264)는 커맨드의 내용을 적절한 레지스터에 적절하게 래치시키기 위한 내부 클럭 신호를 발생시킨다. 보다 상세하게, ID 레지스터(265)는 커맨드의 ID를 기록한다. OP 코드 레지스터(266)는 OP 코드를 기록한다. 어드레스 레지스터(268)는 칼럼/로우 어드레스를 기록한다. 데이터 레지스터(269)는 커맨드에 포함된 임의의 데이터를 기록한다. 추가적으로, OP 코드 디코더(267)는 OP 코드 레지스터(266)에 기록된 커맨드를 수신하여 디코드한다. 버퍼링된 클럭 신호는 회로내의 D_FF에 제공된다(클럭 신호 경로는 도시되지 않음).
커맨드가 브로드캐스트 DA를 포함하는 커맨드이거나 특정 디바이스에 어드레스된 커맨드인 경우에, OP 코드는 디바이스에 의해 디코드되고 처리된다. 브로드캐스트 DA에 의해, 전체 디바이스가 주장되고 커맨드를 수신하기 위해 준비한다. OP 코드 디코더(266)에 의해 판정되는 LSB 무시 모드로 들어가는 커맨드의 수신시에, 1 비트 레지스터(276)가 설정되고, 따라서 “LSB 무시 인에이블 비트”가 LSB 무시 모드를 인에이블시키도록 설정된다.
ID 레지스터(265)는, 목표 DA인, 기록된 DA를 n 비트 데이터로서 병렬로 출력한다. XNOR 로직 회로(272)는 (커맨드에 포함된 ID 번호에 의해 나타내어지는) 목표 DA를 ID 레지스터(273)에 홀드된 디바이스 ID와 비트 포 비트(bit for bit) 기초로 비교한다. 목표 DA와 디바이스 ID가 일치하면, XNOR 로직 회로(272)의 출력이 모두 ‘1’이 될 것이다. 비교의 LSB는 OR 게이트(274)내로 공급되고, 다른 비트는 AND 로직 회로(275)내로 공급된다. “하이(high)”인 비교의 LSB는 OR 게이트(274)가 “하이” 출력을 갖도록 하기에 충분하다. OR 게이트(274)는 또한 1 비트 레지스터(276)의 “LSB 무시 인에이블 비트”를 공급받는다. “하이”인 1 비트 레지스터(276)의 “LSB 무시 인에이블 비트”는 또한 OR 게이트(274)가 “하이” 출력을 갖도록 하기에 충분하다. 따라서, 1 비트 레지스터(276)의 “LSB 무시 인에이블 비트”가 하이이면, 목표 DA의 LSB가 디바이스 ID의 LSB와 매치하는지의 여부는 상관없다. 오히려, 비-LSB 비트가 중요하다. AND 로직 회로(275)는 목표 DA와 디바이스 ID간에 매치가 있는지의 여부를 나타내는 ID 매치 신호(277)를 출력한다. AND 로직으로의 n개의 입력 전체가 하이이면 이것은 참(true)일 것이다. LSB 무시 모드 동안에, LSB를 제외한 다른 (n-1) 비트가 LSB 무시 모드 동안에 매치하면 이것은 참일 것이다. LSB 무시 모드가 아닐 때, 전체 n 비트가 매치하면 이것은 참일 것이다. AND 로직 회로(275)로부터의 ID 매치 신호(277)는 메모리 디바이스(154-i)가 커맨드를 실행하는지의 여부를 결정한다. LSB 무시 모드를 나가는 커맨드의 수신시에, 1 비트 레지스터(276)는 삭제된다. ID 매치 신호(277)는 핵심 로직 및 메모리 회로(285)와 AND 게이트(278)에 제공된다. 1 비트 레지스 터(276)의 출력은 반전기(279)에 입력되고, 반전기(279)의 반전된 출력 신호는 AND 게이트(278)에 제공되며, AND 게이트(278)의 AND 로직 출력 신호는 멀티플렉서(254, 256)에 공급된다.
목표 DA와 디바이스 ID 사이에 매치가 없으면, ID 매치 신호(277)는 “로(low)”이고 멀티플렉서(254)는 그 자신의 “0” 입력으로 선택된다. 따라서, 래치된 커맨드 입력 신호는 다음 디바이스(154-(i+1))에 커맨드 입력 신호(SC(i+1))로서 제공된다. 또한, 래치된 커맨드 스트로브 신호는 멀티플렉서(256)를 통해 다음 디바이스(154-(i+1))에 커맨드 스트로브 신호(SCS(i+1))로서 제공된다. 따라서, ID 매치가 없으면, 디바이스(154-1)는 목표 디바이스가 아니고 커맨드 입력 신호(SCi)와 커맨드 스트로브 신호(SCSi)는 다음 디바이스(154-(i+1))에 전해진다. 만약, 데이터 스트로브 신호가 입력되면(예컨대, 데이터 읽기 모드 동작시에), ID 매치 신호(277)의 상태에 관계없이, 래치된 데이터 스트로브 신호는 멀티플렉서(255)를 통해 다음 디바이스(154-(i+1))에 데이터 스트로브 신호(SDS(i+1))로서 제공된다. ID 매치가 없으면, 핵심 로직 및 메모리 회로(285)는 활성화되지 않는다.
LSB 무시 모드 동안에 목표 DA와 디바이스 ID간에 매치가 있으면(즉, 1 비트 레지스터(276)의 출력이 “하이”), ID 매치 신호(277)가 “하이”이고, 핵심 로직 및 메모리 회로(285)가 활성화된다. 하지만, 반전기(279)의 출력 신호가 “로”이고 멀티플렉서(254, 256)의 “0” 입력이 선택된다. 입력 신호가 다음 디바이 스(154-(i+1))에 커맨드 입력 신호(SC(i+1))로서 제공된다. 또한, 커맨드 스트로브 신호는 다음 디바이스(154-(i+1))에 커맨드 스트로브 신호(SCS(i+1))로서 제공된다.
비-LSB 무시 모드 동안에 목표 DA와 디바이스 ID간에 매치가 있으면(즉, 1 비트 레지스터(276)의 출력이 “로”), ID 매치 신호(277)가 “하이”이고, 핵심 로직 및 메모리 회로(285)가 활성화되고 커맨드 명령에 따라 동작하도록 OP 코드 디코더(267)로부터의 디코드된 신호(SDOP)의 디코드된 OP 코드가 실행된다. 반전기(279)의 출력 신호가 “하이”이고 AND 게이트(278)의 AND 로직 출력 신호가 “f하이”이다. 멀티플렉서(254, 256)의 “1” 입력이 선택된다. 명령이 데이터 읽기이면, 핵심 로직 및 메모리 회로(285)는 읽기 커맨드를 실행하고 로우 및/또는 칼럼의 어드레스에 따라, 그 내부의 메모리(도시되지 않음)로부터 데이터가 읽힌다. 핵심 로직 및 메모리 회로(285)로부터의 출력 데이터(DATAout)는 다음 디바이스(154-(i+1))에 커맨드 입력 신호(SC(i+1))로서 제공된다.
앞서 제공된 예들은, 2개의 메모리 디바이스가, 그들이 최하위 비트를 제외하고 동일한 디바이스 어드레스를 가질 때, 싱글 커맨드를 어떻게 처리할 수 있는가를 보여준다. 이것은 메모리 디바이스가 LSB 무시 모드에 있는 동안 달성된다. 보다 일반적으로, 본 발명의 실시예들은 2개 이상의 메모리 디바이스가 싱글 커맨드의 목표 어드레스에 기반하여 싱글 커맨드를 처리할 수 있게 한다. 예를 들어, 다른 실시예에 있어서, 메모리 디바이스들은 멀티 어드레스 검출 모드에 들어간다. 이것은, 예컨대, 메모리 제어기가 각 메모리 디바이스에게 멀티 어드레스 검출모드 에 들어가도록 명령하는 제1 메시지를 브로드캐스트하면 일어날 수 있다. 멀티 어드레스 검출모드에 있는 동안, 디바이스 어드레스와는 상이한 목적지의 어드레스를 갖는 커맨드를 수신할 시에, 메모리 디바이스는 목적지의 어드레스에 기반하여 커맨드를 조건부로 처리한다. 다소 후의 시간에, 메모리 디바이스는 멀티 어드레스 검출 모드를 나간다. 이것은, 예컨대, 메모리 제어기가 각 메모리 디바이스에게 멀티 어드레스 검출모드에 들어가도록 명령하는 제2 메시지를 브로드캐스트하면 일어날 수 있다. 멀티 어드레스 검출 모드를 들어가고 나가도록 하기 위해 브로드캐스트되는 메시지들은, 예컨대, FFh의 op 코드를 포함하는 링크 구성 레지스터 기입 커맨드이다.
메모리 디바이스가 목적지의 어드레스에 기반하여 커맨드를 조건부로 처리하기 위한 많은 방식들이 있다. 일부의 구현들에 있어서, 메모리 디바이스는 대안적인 디바이스 어드레스의 식별자를 유지한다. 수신된 커맨드의 목표 디바이스 어드레스가 대안적인 디바이스 어드레스와 매치하면, 메모리 디바이스는 커맨드를 처리한다. 다른 구현에 있어서, 메모리 디바이스는, 목적지의 어드레스가 디바이스 어드레스와 미리 규정된 방식으로 상이하면, 커맨드를 조건부로 처리한다. 예를 들어, 메모리 디바이스는, 목적지의 어드레스가 싱글의 미리 규정된 비트에 의한 디바이스 어드레스와만 상이하면, 커맨드를 처리한다. 싱글의 미리 규정된 비트는 최하위 비트일 수 있고, 그 예시들은 앞서 제공되었다. 대안적으로, 싱글의 미리 규정된 비트는 다소 다른 비트이다.
도 11은 미러 백업을 갖춘 프로그램 동작의 방법을 도시한다. 이 방법은 메 모리 제어기, 예컨대, 도 6에 도시된 메모리 제어기(211)에 의해 구현될 수 있다.
도 6 및 11을 참조하여 보면, 단계(311)에서, 메모리 제어기(211)는 직렬로 연결된 전체 메모리 디바이스들(213-1, 213-2, 213-3, ..., 및 213-15)에 ‘LSB 무시’ 커맨드를 송신하여, 그것들에게 수신될 목표 디바이스 어드레스의 LSB를 무시하라고 알린다. 단계(312)에서, 메모리 제어기(211)는 페이지 버퍼에 기입하도록 하는 커맨드의 일부로서 목표 디바이스 어드레스를 송신한다. 특정 예에 있어서, 목표 디바이스 어드레스가 “0000” 즉, 도 6의 디바이스(213-1)의 디바이스 어드레스라고 가정한다. 그 어드레스에 의해서, 양쪽의 디바이스(213-1, 213-2)는 LSB 무시 모드 동안에 커맨드를 처리할 것이다. 보다 일반적으로, 소정의 목표 디바이스 어드레스에 대해서, 2개의 디바이스는 커맨드를 처리할 것이다. 페이지 버퍼에 기입하도록 하는 커맨드는 기입될 데이터를 포함한다. 디바이스 어드레스 매칭에 의해, 데이터는 메모리 디바이스(213-1) 및 메모리 디바이스(213-2)의 양쪽에 의해 래치된다. 따라서, 송신되는 데이터는 양쪽의 디바이스들의 페이지버퍼들내로만 로드된다(단계 312). 이것은 싱글 커맨드를 사용하여 달성된다.
다음에, 메모리 제어기(211)는 전체 메모리 디바이스들(213-1, 213-2, 213-3, ..., 및 213-15)에 ‘통상 DA 설정’ 커맨드를 송신하여, 그것들에게 수신되는 커맨드에서 발견되는 목표 디바이스 어드레스의 LSB를 더 이상 무시하지 않도록 알린다(단계 313). 그 다음, 메모리 제어기(211)는 지정된 디바이스에 대해서 그 디바이스에 어드레스된 페이지 프로그램을 송신하는 것에 의해 페이지 프로그래밍을 시작한다(단계 314). 만약, 메모리 제어기(211)가 페이지 프로그래밍이 성공적이 라고 판정하면(단계 315에서 “예”), 처리는 종료된다. 페이지 프로그래밍 판정은, 페이지 버퍼로부터 프로그램 상태를 읽는 것에 의해 실행된다. 만약, 메모리 제어기(211)가 프로그램 실패가 있다고 판정하면(단계 315에서 “아니오”), 메모리 제어기(211)는 미러 메모리 디바이스(213-2)의 페이지 버퍼로부터 프로그램 데이터를 재-로드한다(단계 316). 프로그램 데이터는 메모리 제어기의 데이터 저장 소자내에 로컬적으로 저장된다.
다음, 단계(317)에서, 메모리 제어기(211)는 지정된 메모리 디바이스의 페이지 버퍼내로 프로그램 데이터를 되 로드한다. 지정된 메모리 디바이스의 메모리 셀들내로 데이터를 프로그램하도록 재시도하는 것에 의해 처리가 단계(314)에서 계속하며, 그 세부가 또한 앞서 제공되었다. 본 예에 있어서, 동일한 메모리 디바이스내로 데이터를 프로그램하는 다른 시도가 이루어졌다고 가정한다. 대안적으로, 데이터는 다른 메모리 디바이스의 메모리 셀들내로 프로그램될 수 있다. 또한, 본 예에 있어서, 성공적인 페이지 프로그램 동작이 완료될 때까지, 미러 백업 사본이 동일 장소(본 예에 있어서 디바이스(213-2))에 유지된다고 가정한다. 대안적으로, 미러 백업 사본은 상이한 장소에 만들어질 수 있다.
일부의 예들에 있어서, 이 명세서에 기술된 시스템들은 유연성 있는 모듈러 커맨드 구조를 이용하여 구현되며, 그 예시적인 세부는 이미 제공되었다. 추가의 예시적인 세부들은 도 12 내지 20을 참조하여 본 섹션에 제공된다. 본 섹션에 제공되는 세부들은 오로지 예시의 목적을 위해서 매우 상세하다는 것이 이해된다.
도 12는 바이트 모드의 모듈러 커맨드를 가진 플래시 메모리에 대한 예시적 인 커맨드 세트의 표이다. 표는 15개 동작들: 페이지 읽기, 사본용 페이지 읽기, 버스트 데이터 로드, 버스트 데이터 로드 시작, 버스트 데이터 로드, 페이지 프로그램, 블록 삭제 어드레스 입력, 페이지-쌍 삭제 어드레스 입력, 삭제, 동작 중단, 디바이스 상태 읽기, 디바이스 정보 레지스터 읽기, 링크 구성 레지스터 읽기, 링크 구성 레지스터 기입(디바이스 특정), 및 링크 구성 기입(브로드캐스트)를 포함한다. 각 동작은 디바이스 어드레스(DA)(1 바이트) 및 동작(OP) 코드(1 바이트)를 포함하는 커맨드를 갖는다. 일부의 커맨드들은 로우 어드레스(3 바이트), 칼럼 어드레스(2 바이트)를 포함하고, 일부의 커맨드들은 입력 데이터(1 내지 2112 바이트)를 포함한다. ‘
Figure 112009054931375-PCT00011
’는 “뱅크 0”에 대한 ‘0h’이다. 각 디바이스가 2개의 메모리 뱅크를 갖는 이러한 특정 예에 대해서 가정하는 경우, ‘
Figure 112009054931375-PCT00012
’는 “뱅크 1”에 대한 ‘1h’이다. 보다 일반적으로, 각 디바이스는 적어도 하나의 메모리 뱅크를 갖는다. 표의 최종 커맨드, 즉, 링크 구성 기입(브로드캐스트)에 있어서, 디바이스 어드레스는 “브로드캐스팅” 커맨드를 표시하도록 “FFh”로 설정된다.
도 13은 예시적인 동작표이다. 표는, /RST(리셋 신호의 보수(complement)), /CE(칩 인에이블 신호의 보수), CSI(커맨드 스트로브 입력), 및 DSI(데이터 스트로브 입력)의 복수의 조합의 각각에 대한 모드들을 포함한다. 모드들은 커맨 데이터 패킷, 읽음 데이터 패킷, NOP(동작 없음), 스탠바이, 및 리셋을 포함한다.
전체 커맨드들, 어드레스들, 및 데이터는 메모리 디바이스에 시프트 인(shift in) 및 메모리 디바이스로부터 시프트 아웃(shift out)되며, 최상위 비 트(most significant bit; “MSB”)와 시작한다. 커맨드 입력(CI) 신호는 포지티브(positive) 또는 네거티브(negative) 클럭 에지(edge)에서(즉, 클럭들 - CK 및 /CK의 교차점에서) 샘플링되며, 커맨드 스트로브 입력(CSI) 신호는 “하이”이다. 각 커맨드는, 필요하다면, 1 바이트 디바이스 어드레스(DA)와 1 바이트 OP 코드 및/또는 칼럼-어드레스/로우-어드레스/데이터-입력 바이트들을 포함한다. 일단 CSI가 로직 “하이”로 이행하면, 1 바이트 DA(디바이스 어드레스)는 DA 레지스터내로 시프트되고, 그 후 1 바이트 OP 코드는 OP 코드 레지스터내로 시프트된다. 그렇게 함으로써, 최상위 비트(MSB)가 CI 신호상에서 먼저 시작하고, CSI가 로직-하이 상태인 동안 각 비트는 클럭들 CK 및 /CK의 교차점에서 래치된다. 하지만, 바이트 모드에서 모든 입력 시퀀스는 클럭 CK의 상승 에지(= /CK의 하강 에지)에서 시작한다. 커맨드에 따라, 도 12에 도시된 바와 같이 OP 코드 다음에 어드레스 바이트, 데이터 바이트, 양쪽 또는 없음이 뒤 따른다. 이러한 예에 있어서, 어드레스 사이클은 2 바이트 칼럼 어드레스 및 3 바이트 로우 어드레스를 갖는다. 도 14는 각 비트의 위치를 포함하는 예시적인 커맨드 및 어드레스 포맷의 정의를 도시한다.
직렬로 연결되는 메모리 디바이스에 있어서, 특별한 디바이스 어드레스(=FFh)는 “브로드캐스트” 동작을 위해 할당된다. 보다 일반적으로, 브로드캐스트 모드 동작을 위해 규정되는 어드레스는 구현 특정 기초로 규정될 수 있다. “브로드캐스트 디바이스 어드레스”는 임의의 커맨드와 사용될 수 있다. 하지만, 브로드캐스트 디바이스 어드레스(FFh)를 “읽기-타입”커맨드와 함께 사용하는 것은, 최종 디바이스로부터의 읽음 데이터가 유일의 유효 출력 데이터이기 때문에, 권장되지 않는다.
일부의 구현에 있어서, 모듈러 커맨드 플래시 디바이스상의 신호 버스는, 모두 동일 핀(들)을 공유하는 커맨드, 어드레스 및 데이터로서 완전히 멀티플렉스된다. CSI 신호의 로직-하이 상태는, 메모리 디바이스에 대한 멀티플렉스된 커맨드/어드레스/데이터 정보를 포함하는 n 비트 와이드(wide) 신호일 수 있는 커맨드 입력(CI) 신호를 유효하게 한다. CSI 신호가 로직-로 상태에 머물면, 디바이스는 CI 핀들로부터 입력되는 신호를 무시한다. 커맨드 입력 시퀀스는 일반적으로, 1 바이트 DA(디바이스 어드레스) 래치 사이클, 1 바이트 커맨드 래치 사이클, 어드레스 래치 사이클(= 로우 어드레스용 3 바이트 또는 칼럼 어드레스용 2 바이트) 및/또는 2,112 바이트까지의 데이터-입력 래치 사이클로 이루어진다. 1 비트 링크 모드에 있어서, DDR(더블 데이터 레이트(double data rate))에서의 4 클럭-사이클은 직렬 패킷의 1 바이트를 만든다. 2 비트 링크 모드에 있어서, DDR(더블 데이터 레이트)에서의 2 클럭-사이클은 직렬 패킷의 1 바이트를 만든다. 4 비트 링크 모드에 있어서, DDR(더블 데이터 레이트)에서의 1 클럭-사이클은 직렬 패킷의 1 바이트를 만든다. 커맨드 명령들의 모든 세트 다음에는 CSI가 하이에서 로(low)로의 이행을 만든 후 2개의 추가의 CK 및 /CK 이행이 있을 수 있다. 일부의 실시예들에 있어서, CSI의 로에의 이행 후의, 직렬로 함께 연결된 디바이스들을 가진 아키텍처에 있어서 2 + #개의 디바이스들과 숫자상으로 동등한, 추가 회수의 CK 및 /CK 이행들이 사용된다. 도 12에 규정된 모든 입력 시퀀스는 “바이트 기반”이고, 그것은 CSI 및 CI가 8 래치 사이클(=더블 데이터 레이트에서는 4 클럭 사이클)의 단위에 대해 유효할 것임을 의미한다. 만약, 바이트의 완성 전에 CSI가 하이에서 로(low)로의 이행을 만들면, 대응하는 커맨드 및/또는 어드레스 시퀀스는 디바이스에 의해 무시될 것이다. 데이터 입력 시퀀스의 경우에 있어서, 입력 데이터의 최종 미완성 바이트는 무시될 것이지만, 입력 데이터의 이전 완성 바이트(들)은 유효할 것이다.
도 15는 기본 입력 타이밍을 도시하는 예시적인 타이밍 도이다. 전체 DA/커맨드/어드레스/데이터-입력들은 CI 포트(들)를 통해 연속적으로 주장되고, /CE가 “로”이고 CSI 신호가 “하이”일 때 CK 및 /CK의 교차점에서 캡쳐된다. 입력 데이터는 메모리 디바이스내로 시프트되고, 최상위 비트(MSB)는 먼저 CI 상에, 각 비트는 클럭들 CK 및 /CK의 교차점에서 래치된다. 비트 스트림들의 입력 시퀀스는 도 16에 도시되어 있다. 바이트 모드에 있어서 모든 입력 시퀀스는 도시된 바와 같이 클럭 CK의 상승 에지에서 시작된다. 미완성 바이트를 가진 임의의 입력은 무시될 것이다.
도 17은 기본 출력 타이밍을 도시하는 예시적인 타이밍도이다. 커맨드 출력부(CO)상의 출력은, /CE가 “로”이고 DSI 신호가 “하이”일 때, 클럭들 CK 및 /CK의 교차점에서 동기적으로 시프트 아웃된다. 도 18은 바이트 모드에서의 예시적인 출력 시퀀스를 도시한다. 출력 데이터는 메모리 디바이스로부터 시프트되고, 최상위 비트(MSB)는 먼저 CO 신호상에, 각 비트는 클럭들 CK 및 /CK의 교차점에서 동기화된다. 활성화된 DSI 신호는 CK의 상승 에지에서 참조됨으로써, 바이트 모드에서 모든 출력 시퀀스는 도 17에 도시된 바와 같이 CK의 상승 에지에서 1 클럭 읽기 레이턴시(=tOL)로 시작된다.
모듈러 커맨드의 특징을 나타내는 2개의 대표적인 커맨드, 즉 페이지 읽기(
Figure 112009054931375-PCT00013
) 및 버스트 데이터 읽기(
Figure 112009054931375-PCT00014
) 커맨드가 후술된다. 도 19는 이들 커맨드의 사용을 포함하는 플로우차트를 도시하고, 도 20은 예시적인 커맨드 시퀀스를 도시한다.
도 19를 참조하여 보면, 페이지 읽기 모드에 들어가기 위해, 단계(411)에서, 메모리 제어기는 페이지 읽기(
Figure 112009054931375-PCT00015
) 커맨드를 CI를 통해 3의 로우 어드레스 바이트와 함께 커맨드 레지스터에 발행한다. 커맨드 레지스터에
Figure 112009054931375-PCT00016
를 발행하는 것은 단계(412)에서 어드레스 래치 사이클을 시작시킨다. 3 바이트의 로우 어드레스가 다음으로 입력된다. 내부 페이지 읽기 동작은 일단 어드레스 래치 사이클이 종료되면 시작된다. 선택된 페이지내의 2,112 바이트의 데이터가 검출되고 tR(셀 어레이로부터 페이지 버퍼로의 전송 시간)보다 더 적은 시간에 페이지 버퍼에 전송된다. 상태 레지스터는 단계(413)에서 체크될 수 있다. tR후에, 버스트 데이터 읽기(
Figure 112009054931375-PCT00017
) 커맨드(하기에서 더욱 상세히 기술됨)는 2 바이트의 칼럼 어드레스와 함께 단계(414)에서 발행될 수 있으며, 그 후 DSI 신호는 페이지 버퍼의 데이터를 읽어 내기 위해, 소정의 칼럼 어드레스로부터 시작하여, CO를 통해 DSI 신호가 로가 될 때까지 인에이블될 수 있다. 사용자가 셀 어레이로부터 페이지 버퍼로의 전송이 완료되었는지 아닌지의 여부를 판정하기 위해 내부 페이지 읽음 상태를 모니터하기를 원하면, 디바이스 상태 읽기(
Figure 112009054931375-PCT00018
) 커맨드가 발행될 수 있다. 모듈러 커맨드 플래시는 소프트웨어가 디바이스 동작 동안에 읽을 수 있는 8 비트 상태 레지스터를 갖는다.
페이지 읽기, 페이지 프로그램 및 블록 삭제와 같은 핵심 액세스 동작은 긴 시간이 걸리고 그들의 처리 시간은 PVT(처리/전압/온도(Process/Voltage/Temperature)) 변동에 따라 변화된다. 그래서, 핵심 액세스 커맨드를 발행할 때는 언제라도, 사용자가 내부 동작을 인터럽트(interrupt)하지 않고 커맨드를 주장한 후에 각 동작의 상태를 모니터할 수 있다. 상태 레지스터의 다른 목적은 페이지 프로그램 및 블록 삭제가 실패 없이 실행되는지 아닌지의 여부를 체크하는 것이다. 실패의 경우에, 새로운 로우 위치가 메모리 제어기에 의해 결정되며, 그것은 기입 실패한 예전의 로우 위치에 기입된 것과 동일한 데이터를 기입하도록 새로운 로우 어드레스를 포함하는 새로운 커맨드를 발생한다. 상태 레지스터를 모니터하지 않고서는, 메모리 제어기가 프로그램 및 삭제 동작들이 실패 없이 행해졌는지를 모른다.
디바이스 상태 읽기(
Figure 112009054931375-PCT00019
) 커맨드 후에, DSI를 사용하여, 전체 8 비트 상태는 DSI가 로가 될 때까지 상태 레지스터로부터 읽힌다. 버스트 데이터 읽기(
Figure 112009054931375-PCT00020
) 커맨드가 발행되고 그 다음 DSI가 하이로 된 후에, 도 20에 도시된 직렬 출력 타이밍은 초기 칼럼 어드레스로부터 시작하여 단계(415)에서 데이터를 출력하는 결과를 가져올 것이다. 칼럼 어드레스는 데이터를 출력하는 동안 자동적으로 증가될 수 있다. 단계(416)에서, ECC 생성이 있다. ECC가 단계(417)에서 검증되면, 페이지 읽기가 완료된다. 그게 아니면, 단계(418)에서는 오류가 있다.
앞서 언급된 버스트 데이터 읽기(
Figure 112009054931375-PCT00021
) 커맨드는 사용자가 칼럼 어드레스를 지정할 수 있게 하고, 그래서 선택된 페이지 크기 내에서 DSI가 하이인 동 안 소정의 칼럼 어드레스로부터 시작하여 페이지 버퍼에서의 데이터가 읽힐 수 있다. 버스트 데이터 읽기 모드는, 보통의 페이지 읽기(
Figure 112009054931375-PCT00022
) 커맨드 및 페이지 로딩 시간(=tR) 후에 인에이블된다. 버스트 데이터 읽기(
Figure 112009054931375-PCT00023
) 커맨드는 페이지 내에서 제한 없이 발행될 수 있다. 전체 버스트 데이터 읽기 커맨드는 이전의 버스트 데이터 읽기 커맨드와 동일하거나 상이한 칼럼 어드레스를 가질 수 있다. 현재 페이지 버퍼상의 데이터만 읽힐 수 있다. 상이한 페이지가 읽힐 것이라면, 새로운 페이지 읽기(
Figure 112009054931375-PCT00024
) 커맨드가 발행되어야 한다. 그리고, tR 후에, 새로운 버스트 데이터 읽기(
Figure 112009054931375-PCT00025
) 커맨드가 새로운 페이지 데이터를 액세스하기 위해 발행될 수 있다.
상기한 실시예들에 있어서, 간략화를 위해 디바이스 구성 요소들과 회로들이 도면에 도시된 바와 같이 서로 연결되어 있다. 본 발명의 실질적인 적용에 있어서는, 구성 요소들, 회로들 등이 서로 직접적으로 연결될 수도 있다. 또한, 구성 요소들, 회로들 등은, 메모리 디바이스 또는 장치의 동작을 위해 필요한 다른 구성 요소들, 회로들 등을 통해 서로 간접적으로 연결될 수 있다. 따라서, 디바이스들과 장치의 실제 구성에 있어서는, 구성 요소들과 회로들이 서로 직접적으로 또는 간접적으로 연결된다.
본 발명의 상기한 실시예들은 예시만을 의도하였다. 변경, 변형 및 변화들이, 오로지 이 명세서에 첨부된 청구범위에 의해서 규정되는 본 발명의 권리 범위로부터 벗어남 없이, 당업자에 의해 특정 실시예들에 초래될 수 있다.

Claims (26)

  1. 각각이 페이지 버퍼와 메모리 셀들을 갖는, 직렬로 상호 연결된 복수의 메모리 디바이스를 제어하기 위한 장치로서,
    상기 복수의 메모리 디바이스 중 선택된 메모리 디바이스의 페이지 버퍼에 그리고 상기 복수의 메모리 디바이스 중 다른 메모리 디바이스의 페이지 버퍼에 데이터를 기입하고;
    상기 선택된 메모리 디바이스에게 그 자신의 페이지 버퍼에 로드된 데이터를 그 자신의 메모리 셀들내로 프로그램하도록 명령하며;
    상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되지 않는지의 여부를 판정하여, 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하는 것에 의해,
    데이터의 미러 백업(mirror back-up)을 갖춘 페이지 프로그램 동작을 실행하도록 구성된 데이터 프로세서를 포함하는 장치.
  2. 청구항 1에 있어서, 상기 데이터 프로세서는,
    상기 다른 메모리 디바이스의 메모리 셀들내로 데이터를 프로그램하지 않고 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 리드 백(read back)하는 것에 의해,
    상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하도록 구성 된, 장치.
  3. 청구항 2에 있어서,
    상기 선택된 메모리 디바이스의 페이지 버퍼 및 상기 다른 메모리 디바이스의 페이지 버퍼에 데이터를 기입하기 전에 상기 데이터를 저장하기 위한 데이터 저장부를 더 포함하고,
    상기 장치는, 또한 상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되었는지의 여부를 판정하기 전에 상기 데이터가 저장되는 상기 데이터 저장부의 스페이스를 자유화(free up)하도록 구성되는, 장치.
  4. 청구항 3에 있어서, 상기 데이터 프로세싱 유닛은, 상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되었는지의 여부를 판정하기 전에 다른 동작을 실행하도록 구성되는, 장치.
  5. 청구항 1에 있어서,
    상기 복수의 메모리 디바이스 중 제1 메모리 디바이스와 연결하기 위한 출력 연결부; 및
    상기 복수의 메모리 디바이스 중 최종 메모리 디바이스와의 연결을 위한 입력 연결부를 더 포함하는, 장치.
  6. 청구항 5에 있어서,
    상기 데이터 프로세서는 상기 출력 연결부를 통해 데이터를 송신하는 것에 의해 상기 선택된 메모리 디바이스의 페이지 버퍼에 그리고 상기 다른 메모리 디바이스의 페이지 버퍼에 상기 데이터를 기입하도록 구성되고,
    상기 데이터 프로세서는 상기 출력 연결부를 통해 읽기 커맨드를 송신하고 상기 읽기 커맨드에 응답하여 상기 입력 연결부를 통해 상기 데이터를 수신하는 것에 의해 상기 다른 메모리 디바이스의 페이지 버퍼로부터 상기 데이터를 복구하도록 구성되는, 장치.
  7. 청구항 5에 있어서, 상기 데이터 프로세서는,
    상기 출력 연결부를 통해 상태 읽기 커맨드를 송신하고 상기 상태 읽기 커맨드에 응답하여 상기 입력 연결부를 통해 상기 선택된 메모리 디바이스의 페이지 버퍼로부터 프로그램 상태를 수신하며;
    상기 프로그램 상태에 기반하여 상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되었는지의 여부를 판정하는 것에 의해,
    상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되었는지의 여부를 판정하도록 구성되는, 장치.
  8. 청구항 2에 있어서, 상기 데이터 프로세서는,
    상기 데이터를 복구시에, 상기 선택된 메모리 디바이스의 메모리 셀들 내이 지만, 상이한 어드레스에, 상기 데이터를 프로그램하도록 재시도;
    상기 데이터를 복구시에, 다른 선택된 메모리 디바이스의 메모리 셀들내로 상기 데이터를 프로그램하도록 시도; 및
    상기 데이터를 복구시에, 상기 데이터 저장부에 상기 데이터를 되 저장; 중 적어도 하나를 실행하도록 구성되는, 장치.
  9. 청구항 2에 있어서, 상기 데이터 프로세서는, 상기 선택된 메모리 디바이스의 페이지 버퍼에 데이터를 기입하기 위해 상기 선택된 메모리 디바이스에 어드레스된(addressed) 제1 커맨드를 송신하고, 상기 다른 메모리 디바이스의 페이지 버퍼에 데이터를 기입하기 위해 상기 다른 메모리 디바이스에 어드레스된 제2 커맨드를 송신하도록 구성된, 장치.
  10. 청구항 2에 있어서, 상기 데이터 프로세서는 상기 선택된 메모리 디바이스의 페이지 버퍼와 상기 다른 메모리 디바이스의 페이지 버퍼의 양쪽에 데이터를 기입하기 위한 싱글 커맨드를 송신하도록 구성되는, 장치.
  11. 청구항 10에 있어서, 상기 데이터 프로세서는,
    상기 다른 메모리 디바이스가 상기 선택된 메모리 디바이스에 어드레스된 커맨드들을 처리할 멀티어드레스 검출 모드로 들어가도록 상기 메모리 디바이스들의 전체에 알리기 위해 제1 메시지를 브로드캐스트(broadcast)하고,
    상기 선택된 메모리 디바이스의 페이지 버퍼와 상기 다른 메모리 디바이스의 페이지 버퍼의 양쪽에 데이터를 기입하기 위한 상기 싱글 커맨드를 송신하며,
    상기 멀티어드레스 검출 모드를 나가도록 상기 메모리 디바이스들의 전체에 알리기 위해 제2 메시지를 브로드캐스트하는 것에 의해,
    상기 선택된 메모리 디바이스의 페이지 버퍼와 상기 다른 메모리 디바이스의 페이지 버퍼의 양쪽에 데이터를 기입하도록 구성되는, 장치.
  12. 청구항 11에 있어서,
    상기 제1 메시지는 링크 구성 레지스터 기입 커맨드(write link configuration register command)이고,
    상기 제2 메시지는 링크 구성 레지스터 기입 커맨드인, 장치.
  13. 각각이 페이지 버퍼와 메모리 셀들을 갖는, 직렬로 상호 연결된 복수의 메모리 디바이스; 및
    상기 복수의 메모리 디바이스를 제어하기 위한 장치로서,
    상기 복수의 메모리 디바이스 중 선택된 메모리 디바이스의 페이지 버퍼에 그리고 상기 복수의 메모리 디바이스 중 다른 메모리 디바이스의 페이지 버퍼에 데이터를 기입하고;
    상기 선택된 메모리 디바이스에게 그 자신의 페이지 버퍼에 로드된 데이터를 그 자신의 메모리 셀들내로 프로그램하도록 명령하며;
    상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되지 않으면, 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하는 것에 의해,
    데이터에 대한 미러 백업을 갖춘 페이지 프로그램 동작을 실행하도록 구성된 데이터 프로세서를 포함하는, 장치를 포함하는, 시스템.
  14. 청구항 13에 있어서, 상기 데이터 프로세서는,
    상기 다른 메모리 디바이스의 메모리 셀들내로 데이터를 프로그램하지 않고 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 리드 백하는 것에 의해, 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하도록 구성된, 시스템.
  15. 청구항 14에 있어서, 상기 장치는, 상기 선택된 메모리 디바이스의 페이지 버퍼 및 상기 다른 메모리 디바이스의 페이지 버퍼에 데이터를 기입하기 전에 상기 데이터를 저장하기 위한 데이터 저장부를 더 포함하고,
    상기 장치는, 또한 상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되었는지의 여부를 판정하기 전에 상기 데이터가 점유하는 상기 데이터 저장부의 스페이스를 자유화하도록 구성되는, 시스템.
  16. 청구항 13에 있어서, 상기 장치는,
    상기 복수의 메모리 디바이스 중 제1 메모리 디바이스에 연결되는 출력 연결부; 및
    상기 복수의 메모리 디바이스 중 최종 메모리 디바이스에 연결되는 입력 연결부를 더 포함하는, 시스템.
  17. 각각이 페이지 버퍼와 메모리 셀들을 갖는, 직렬로 상호 연결된 복수의 메모리 디바이스를 제어하기 위한 방법으로서,
    상기 복수의 메모리 디바이스 중 선택된 메모리 디바이스의 페이지 버퍼에 그리고 상기 복수의 메모리 디바이스 중 다른 메모리 디바이스의 페이지 버퍼에 데이터를 송신하는 단계;
    상기 선택된 메모리 디바이스에게 그 자신의 페이지 버퍼에 로드된 데이터를 그 자신의 메모리 셀들내로 프로그램하도록 명령하는 단계; 및
    상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되지 않았으면, 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하는 단계를 포함하는 방법.
  18. 청구항 17에 있어서, 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 복구하는 단계는,
    상기 다른 메모리 디바이스의 메모리 셀들내로 데이터를 프로그램하지 않고 상기 다른 메모리 디바이스의 페이지 버퍼로부터 데이터를 리드 백하는 단계를 포 함하는, 방법.
  19. 청구항 17에 있어서,
    상기 선택된 메모리 디바이스의 페이지 버퍼 및 상기 다른 메모리 디바이스의 페이지 버퍼에 데이터를 기입하기 전에 상기 데이터를 저장하는 단계;
    상기 선택된 메모리 디바이스의 메모리 셀들내로 데이터가 성공적으로 프로그램되었는지의 여부를 판정하기 전에 상기 데이터가 점유하는 스페이스를 자유화하는 단계를 더 포함하는, 방법.
  20. 직렬로 연결된 일련의 메모리 디바이스들 중 하나로서 사용하기 위한 메모리 디바이스로서,
    입력 연결부;
    출력 연결부;
    상기 메모리 디바이스의 디바이스 어드레스의 식별자; 및
    디바이스 제어기로서,
    멀티 어드레스 검출 모드로 들어가고 나가도록 하는 메시지들을 수신하고, 그에 따라 상기 멀티 어드레스 검출 모드로 들어가고 나가며;
    상기 입력 연결부를 통해 디바이스 어드레스를 포함하는 커맨드를 수신하고;
    상기 멀티 어드레스 검출 모드가 아닌 동안, 상기 커맨드의 디바이스 어드레스가 상기 디바이스의 디바이스 어드레스에 매치하는 경우에만 상기 커맨드를 처리하며;
    상기 멀티 어드레스 검출 모드 동안, i) 상기 커맨드의 디바이스 어드레스가 상기 디바이스의 디바이스 어드레스와 동일한 경우에 상기 커맨드를 처리하고 ii) 상기 커맨드의 디바이스 어드레스가 적어도 하나의 미리 정해진 다른 디바이스의 디바이스 어드레스와 동일한 경우에 상기 커맨드를 처리하도록 구성된, 디바이스 제어기를 포함하는 메모리 디바이스.
  21. 청구항 20에 있어서,
    상기 디바이스 제어기는 링크 구성 레지스터 기입 커맨드들을 수신하는 것에 의해 상기 멀티 어드레스 검출 모드에 들어가고 나오도록 하는 메시지들을 수신하는, 메모리 디바이스.
  22. 청구항 20에 있어서, 상기 적어도 하나의 미리 정해진 디바이스의 디바이스 어드레스는, 상기 부여된 디바이스의 디바이스 어드레스와는 미리 규정된 방식으로 상이한 임의의 디바이스 어드레스를 포함하는, 메모리 디바이스.
  23. 청구항 22에 있어서, 상기 디바이스 어드레스의 디바이스 어드레스와는 미리 규정된 방식으로 상이한 상기 임의의 디바이스 어드레스는, 미리 규정된 싱글 비트만큼만 상기 부여된 어드레스의 디바이스 어드레스와 상이한 임의의 디바이스 어드 레스를 포함하는, 메모리 디바이스.
  24. 청구항 23에 있어서, 상기 미리 규정된 싱글 비트는 최하위 비트인, 메모리 디바이스.
  25. 청구항 20에 있어서,
    상기 메모리 디바이스는 페이지 버퍼와 메모리 셀들을 더 포함하고,
    상기 커맨드는 데이터를 더 포함하며,
    상기 커맨드는 상기 페이지 버퍼내로 상기 데이터를 로드하기 위한 것이고,
    상기 디바이스 제어기는 상기 페이지 버퍼내로 상기 데이터를 로드하는 것에 의해 상기 커맨드를 처리하도록 구성된, 메모리 디바이스.
  26. 직렬로 연결된 일련의 메모리 디바이스들의 일부를 형성하는 하나의 메모리 디바이스에 관한 방법으로서,
    디바이스 어드레스를 유지시키는 단계;
    멀티 어드레스 검출 모드에 들어가고 나가도록 하는 메시지들을 수신하는 단계;
    디바이스 어드레스를 포함하는 커맨드를 수신하는 단계;
    상기 멀티 어드레스 검출 모드가 아닌 동안, 목적지의 어드레스가 상기 디바이스 어드레스에 매치하는 경우에만 상기 커맨드를 처리하는 단계;
    상기 멀티 어드레스 검출 모드 동안, 상기 커맨드의 디바이스 어드레스가 상기 디바이스의 디바이스 어드레스와 동일한 경우에 상기 커맨드를 처리하고; 상기 커맨드의 디바이스 어드레스가 적어도 하나의 미리 정해진 다른 디바이스의 디바이스 어드레스와 동일한 경우에 상기 커맨드를 처리하는 단계를 포함하는 방법.
KR1020097018682A 2007-02-22 2008-02-13 데이터의 미러 백업을 갖춘 메모리 디바이스용 페이지 프로그램 동작의 장치 및 방법 KR101486093B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US89111507P 2007-02-22 2007-02-22
US60/891,115 2007-02-22
PCT/CA2008/000273 WO2008101317A1 (en) 2007-02-22 2008-02-13 Apparatus and method of page program operation for memory devices with mirror back-up of data

Publications (2)

Publication Number Publication Date
KR20090120479A true KR20090120479A (ko) 2009-11-24
KR101486093B1 KR101486093B1 (ko) 2015-01-28

Family

ID=39709576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097018682A KR101486093B1 (ko) 2007-02-22 2008-02-13 데이터의 미러 백업을 갖춘 메모리 디바이스용 페이지 프로그램 동작의 장치 및 방법

Country Status (8)

Country Link
US (6) US8046527B2 (ko)
EP (2) EP2118901B1 (ko)
JP (2) JP5646178B2 (ko)
KR (1) KR101486093B1 (ko)
CN (1) CN101632128B (ko)
ES (1) ES2437999T3 (ko)
TW (3) TW201419306A (ko)
WO (2) WO2008101316A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140104829A (ko) * 2013-02-21 2014-08-29 삼성전자주식회사 멀티 레벨 셀 비휘발성 메모리 시스템

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041879B2 (en) * 2005-02-18 2011-10-18 Sandisk Il Ltd Flash memory backup system and method
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US8086785B2 (en) * 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
US8046527B2 (en) 2007-02-22 2011-10-25 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
KR100823175B1 (ko) * 2007-02-27 2008-04-18 삼성전자주식회사 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것을 포함한 메모리 시스템
US7894294B2 (en) * 2008-01-23 2011-02-22 Mosaid Technologies Incorporated Operational mode control in serial-connected memory based on identifier
KR100953044B1 (ko) * 2008-05-26 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US8037235B2 (en) * 2008-12-18 2011-10-11 Mosaid Technologies Incorporated Device and method for transferring data to a non-volatile memory device
US8194481B2 (en) 2008-12-18 2012-06-05 Mosaid Technologies Incorporated Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation
US20100211546A1 (en) * 2009-02-13 2010-08-19 Lennox Manufacturing Inc. System and method to backup data about devices in a network
TWI420528B (zh) * 2009-03-11 2013-12-21 Silicon Motion Inc 用來增進一快閃記憶體的效能之方法以及相關之可攜式記憶裝置及其控制器
US9311262B2 (en) * 2010-02-09 2016-04-12 Mitsubishi Electric Corporation Transmission control device, memory control device, and PLC including the transmission control device
US8463959B2 (en) * 2010-05-31 2013-06-11 Mosaid Technologies Incorporated High-speed interface for daisy-chained devices
US10108684B2 (en) * 2010-11-02 2018-10-23 Micron Technology, Inc. Data signal mirroring
WO2012129729A1 (en) * 2011-03-31 2012-10-04 Intel Corporation Memory mirroring and redundancy generation for high availability
US9390049B2 (en) * 2011-06-03 2016-07-12 Micron Technology, Inc. Logical unit address assignment
TWI476589B (zh) * 2011-08-25 2015-03-11 Macronix Int Co Ltd 記憶體編程方法及應用其之快閃記憶體裝置
KR101847976B1 (ko) * 2011-11-03 2018-04-12 에스케이하이닉스 주식회사 반도체 시스템
TWI454922B (zh) * 2011-12-19 2014-10-01 Phison Electronics Corp 記憶體儲存裝置及其記憶體控制器與資料寫入方法
US8797799B2 (en) * 2012-01-05 2014-08-05 Conversant Intellectual Property Management Inc. Device selection schemes in multi chip package NAND flash memory system
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
JP6327714B2 (ja) * 2012-11-30 2018-05-23 学校法人 中央大学 半導体記憶装置およびその制御方法
KR102002826B1 (ko) 2012-12-04 2019-07-23 삼성전자 주식회사 저장 장치, 플래시 메모리 및 저장 장치의 동작 방법
KR102310580B1 (ko) * 2014-10-24 2021-10-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102292217B1 (ko) * 2015-02-06 2021-08-24 삼성전자주식회사 내부적으로 데이터 읽기 검증을 수행할 수 있는 메모리 장치, 이의 작동 방법, 및 이를 포함하는 메모리 시스템
JP5920509B2 (ja) * 2015-03-19 2016-05-18 富士通株式会社 コントローラの制御プログラム、およびコントローラの制御方法
KR102319402B1 (ko) * 2015-06-30 2021-11-01 에스케이하이닉스 주식회사 복수의 채널들을 통해 반도체 메모리 장치들을 제어하는 메모리 시스템
KR20170030215A (ko) * 2015-09-09 2017-03-17 에스케이하이닉스 주식회사 메모리 장치
KR102417976B1 (ko) * 2015-10-21 2022-07-07 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
KR20170075855A (ko) * 2015-12-23 2017-07-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10152276B2 (en) 2016-07-18 2018-12-11 Winbond Electronics Corporation Memory device including data processor and program method of same
US10057209B2 (en) * 2016-07-28 2018-08-21 Qualcomm Incorporated Time-sequenced multi-device address assignment
CN107783727B (zh) * 2016-08-31 2022-01-14 华为技术有限公司 一种内存设备的访问方法、装置和系统
KR20180038109A (ko) * 2016-10-05 2018-04-16 삼성전자주식회사 모니터링 회로를 포함하는 전자 장치 및 그것에 포함되는 스토리지 장치
US10552045B2 (en) 2016-11-16 2020-02-04 Sandisk Technologies Llc Storage operation queue
US10489087B2 (en) 2017-05-24 2019-11-26 International Business Machines Corporation Using a space release data structure to indicate tracks to release for a space release command to release space of tracks in a consistency group being formed
US10528256B2 (en) 2017-05-24 2020-01-07 International Business Machines Corporation Processing a space release command to free release space in a consistency group
KR102398186B1 (ko) 2017-07-03 2022-05-17 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 사용자 장치의 동작 방법
KR20190006314A (ko) 2017-07-10 2019-01-18 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
KR102496272B1 (ko) * 2017-09-27 2023-02-03 삼성전자주식회사 비휘발성 메모리 장치, 및 이의 동작 방법
KR20190052441A (ko) * 2017-11-08 2019-05-16 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN109815157B (zh) * 2017-11-22 2022-06-17 北京忆芯科技有限公司 编程命令处理方法与装置
KR20190140788A (ko) 2018-06-12 2019-12-20 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
CN110647426B (zh) * 2018-06-27 2023-04-11 龙芯中科技术股份有限公司 双机热备份方法、装置、系统与计算机存储介质
KR20200010933A (ko) * 2018-07-23 2020-01-31 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US10931283B2 (en) * 2019-03-12 2021-02-23 Intel Corporation Integrated circuits having memory with flexible input-output circuits
KR20210017908A (ko) 2019-08-09 2021-02-17 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
JP2022141178A (ja) * 2021-03-15 2022-09-29 キオクシア株式会社 メモリシステム
US20230244624A1 (en) * 2022-01-28 2023-08-03 Texas Instruments Incorporated Methods and apparatus to preform inter-integrated circuit address modification
EP4220423A1 (en) * 2022-02-01 2023-08-02 Vito NV A daisy chain connected master-slave communication system and a method of operating thereof

Family Cites Families (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4014A (en) * 1845-04-26 Improvement in machines for skimming liquids
US2264395A (en) 1940-10-22 1941-12-02 Bell Telephone Labor Inc Power line carrier frequency telephone system
US4174536A (en) * 1977-01-21 1979-11-13 Massachusetts Institute Of Technology Digital communications controller with firmware control
US4617566A (en) 1983-12-15 1986-10-14 Teleplex Corporation Addressable-port, daisy chain telemetry system with self-test capability
DE3586523T2 (de) * 1984-10-17 1993-01-07 Fujitsu Ltd Halbleiterspeicheranordnung mit einer seriellen dateneingangs- und ausgangsschaltung.
US4683555A (en) * 1985-01-22 1987-07-28 Texas Instruments Incorporated Serial accessed semiconductor memory with reconfigureable shift registers
JPS62152050A (ja) * 1985-12-26 1987-07-07 Nec Corp 半導体メモリ
JPS63113624A (ja) * 1986-10-30 1988-05-18 Tokyo Electric Co Ltd 電子秤のプリンタインタ−フエ−ス
JPH0714392B2 (ja) 1987-02-26 1995-02-22 株式会社東芝 超音波プロ−ブ
GB2217056A (en) * 1988-03-23 1989-10-18 Benchmark Technologies Double buffering in multi-processor
EP0417314B1 (en) * 1989-03-15 1997-06-04 Oki Electric Industry Company, Limited Serial in to parallel out converting circuit
US7190617B1 (en) * 1989-04-13 2007-03-13 Sandisk Corporation Flash EEprom system
US5226168A (en) 1989-04-25 1993-07-06 Seiko Epson Corporation Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory
US5126808A (en) * 1989-10-23 1992-06-30 Advanced Micro Devices, Inc. Flash EEPROM array with paged erase architecture
US5175819A (en) * 1990-03-28 1992-12-29 Integrated Device Technology, Inc. Cascadable parallel to serial converter using tap shift registers and data shift registers while receiving input data from FIFO buffer
US5243703A (en) * 1990-04-18 1993-09-07 Rambus, Inc. Apparatus for synchronously generating clock signals in a data processing system
US5204669A (en) 1990-08-30 1993-04-20 Datacard Corporation Automatic station identification where function modules automatically initialize
JPH04167039A (ja) * 1990-10-31 1992-06-15 Toshiba Corp データ書き込み方式
US5319598A (en) 1990-12-10 1994-06-07 Hughes Aircraft Company Nonvolatile serially programmable devices
US5132635A (en) 1991-03-05 1992-07-21 Ast Research, Inc. Serial testing of removable circuit boards on a backplane bus
US5249270A (en) * 1991-03-29 1993-09-28 Echelon Corporation Development system protocol
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
KR950000761B1 (ko) * 1992-01-15 1995-01-28 삼성전자 주식회사 직렬 입력신호의 동기회로
US5398330A (en) * 1992-03-05 1995-03-14 Seiko Epson Corporation Register file backup queue
JP3088180B2 (ja) * 1992-03-26 2000-09-18 日本電気アイシーマイコンシステム株式会社 シリアル入力インタフェース回路
KR960000616B1 (ko) * 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
US5519843A (en) 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
JPH06275069A (ja) * 1993-03-20 1994-09-30 Hitachi Ltd シリアルメモリ
JPH0714392A (ja) * 1993-06-14 1995-01-17 Toshiba Corp 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
US5365484A (en) * 1993-08-23 1994-11-15 Advanced Micro Devices, Inc. Independent array grounds for flash EEPROM array with paged erase architechture
JPH0793219A (ja) * 1993-09-20 1995-04-07 Olympus Optical Co Ltd 情報処理装置
US5602780A (en) * 1993-10-20 1997-02-11 Texas Instruments Incorporated Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
US5452259A (en) * 1993-11-15 1995-09-19 Micron Technology Inc. Multiport memory with pipelined serial input
US5404460A (en) * 1994-01-28 1995-04-04 Vlsi Technology, Inc. Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus
US5596724A (en) * 1994-02-04 1997-01-21 Advanced Micro Devices Input/output data port with a parallel and serial interface
US5696917A (en) 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5655113A (en) * 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
DE4429433C1 (de) * 1994-08-19 1995-10-26 Siemens Ag Adreßzuordnungsverfahren
US5473566A (en) * 1994-09-12 1995-12-05 Cirrus Logic, Inc. Memory architecture and devices, systems and methods utilizing the same
KR0142367B1 (ko) * 1995-02-04 1998-07-15 김광호 열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로
US5636342A (en) * 1995-02-17 1997-06-03 Dell Usa, L.P. Systems and method for assigning unique addresses to agents on a system management bus
US5729683A (en) * 1995-05-18 1998-03-17 Compaq Computer Corporation Programming memory devices through the parallel port of a computer system
US6728851B1 (en) * 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5835935A (en) * 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
JPH0991197A (ja) 1995-09-22 1997-04-04 Sharp Corp データ転送制御装置
JP3693721B2 (ja) * 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
TW307869B (en) * 1995-12-20 1997-06-11 Toshiba Co Ltd Semiconductor memory
KR100211760B1 (ko) * 1995-12-28 1999-08-02 윤종용 멀티뱅크 구조를 갖는 반도체 메모리 장치의 데이타 입출력 경로 제어회로
KR0170723B1 (ko) * 1995-12-29 1999-03-30 김광호 단일 ras 신호에 의해 동시 동작이 가능한 이중 뱅크를 갖는 반도체 메모리 장치
US5828899A (en) * 1996-01-04 1998-10-27 Compaq Computer Corporation System for peripheral devices recursively generating unique addresses based on the number of devices connected dependent upon the relative position to the port
JPH09231740A (ja) * 1996-02-21 1997-09-05 Nec Corp 半導体記憶装置
US5860080A (en) * 1996-03-19 1999-01-12 Apple Computer, Inc. Multicasting system for selecting a group of memory devices for operation
US5941974A (en) * 1996-11-29 1999-08-24 Motorola, Inc. Serial interface with register selection which uses clock counting, chip select pulsing, and no address bits
JP3706703B2 (ja) 1996-12-27 2005-10-19 ローム株式会社 Icカード
KR100243335B1 (ko) * 1996-12-31 2000-02-01 김영환 독립적인 리프레쉬 수단을 가지는 데이지 체인 구조의 반도체 장치
KR100272037B1 (ko) * 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
US6442644B1 (en) * 1997-08-11 2002-08-27 Advanced Memory International, Inc. Memory system having synchronous-link DRAM (SLDRAM) devices and controller
GB2329792A (en) * 1997-08-20 1999-03-31 Nokia Telecommunications Oy Identification signals enable a transceiver module to correctly configure itself to an attached functional module
JPH1166841A (ja) * 1997-08-22 1999-03-09 Mitsubishi Electric Corp 半導体記憶装置
KR100240873B1 (ko) * 1997-08-26 2000-01-15 윤종용 송수신 겸용의 레지스터를 갖는 직렬인터페이스장치
JP4039532B2 (ja) * 1997-10-02 2008-01-30 株式会社ルネサステクノロジ 半導体集積回路装置
AU9604698A (en) 1997-10-10 1999-05-03 Rambus Incorporated Method and apparatus for two step memory write operations
US5937425A (en) * 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6148364A (en) * 1997-12-30 2000-11-14 Netlogic Microsystems, Inc. Method and apparatus for cascading content addressable memory devices
US6002638A (en) * 1998-01-20 1999-12-14 Microchip Technology Incorporated Memory device having a switchable clock output and method therefor
US6453365B1 (en) * 1998-02-11 2002-09-17 Globespanvirata, Inc. Direct memory access controller having decode circuit for compact instruction format
JP3714969B2 (ja) * 1998-03-02 2005-11-09 レクサー・メディア・インコーポレイテッド 改良されたオペレーティングモード検出機能を備えたフラッシュメモリーカード及びユーザフレンドリなインターフェーシングシステム
US6085290A (en) * 1998-03-10 2000-07-04 Nexabit Networks, Llc Method of and apparatus for validating data read out of a multi port internally cached dynamic random access memory (AMPIC DRAM)
US6144576A (en) * 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
US6295618B1 (en) 1998-08-25 2001-09-25 Micron Technology, Inc. Method and apparatus for data compression in memory devices
US5995417A (en) * 1998-10-20 1999-11-30 Advanced Micro Devices, Inc. Scheme for page erase and erase verify in a non-volatile memory array
JP4601737B2 (ja) * 1998-10-28 2010-12-22 株式会社東芝 メモリ混載ロジックlsi
JP2000149564A (ja) * 1998-10-30 2000-05-30 Mitsubishi Electric Corp 半導体記憶装置
US6304921B1 (en) * 1998-12-07 2001-10-16 Motorola Inc. System for serial peripheral interface with embedded addressing circuit for providing portion of an address for peripheral devices
KR100284742B1 (ko) * 1998-12-28 2001-04-02 윤종용 입출력 센스앰프의 개수가 최소화된 메모리장치
JP3853537B2 (ja) * 1999-04-30 2006-12-06 株式会社日立製作所 半導体メモリファイルシステム
US7130958B2 (en) * 2003-12-02 2006-10-31 Super Talent Electronics, Inc. Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
US6460120B1 (en) * 1999-08-27 2002-10-01 International Business Machines Corporation Network processor, memory organization and methods
US6111787A (en) 1999-10-19 2000-08-29 Advanced Micro Devices, Inc. Address transistion detect timing architecture for a simultaneous operation flash memory device
US6680904B1 (en) * 1999-12-27 2004-01-20 Orckit Communications Ltd. Bi-directional chaining of network access ports
US7356639B2 (en) 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US20050160218A1 (en) * 2004-01-20 2005-07-21 Sun-Teck See Highly integrated mass storage device with an intelligent flash controller
US6442098B1 (en) * 2000-02-08 2002-08-27 Alliance Semiconductor High performance multi-bank compact synchronous DRAM architecture
WO2001069411A2 (en) 2000-03-10 2001-09-20 Arc International Plc Memory interface and method of interfacing between functional entities
JP2001265708A (ja) 2000-03-16 2001-09-28 Toshiba Corp 電子機器及び電子機器の基板
US6816933B1 (en) * 2000-05-17 2004-11-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6643728B1 (en) 2000-05-30 2003-11-04 Lexmark International, Inc. Method and apparatus for converting IEEE 1284 signals to or from IEEE 1394 signals
US6535948B1 (en) * 2000-05-31 2003-03-18 Agere Systems Inc. Serial interface unit
US6317350B1 (en) * 2000-06-16 2001-11-13 Netlogic Microsystems, Inc. Hierarchical depth cascading of content addressable memory devices
US6728798B1 (en) 2000-07-28 2004-04-27 Micron Technology, Inc. Synchronous flash memory with status burst output
US6754807B1 (en) * 2000-08-31 2004-06-22 Stmicroelectronics, Inc. System and method for managing vertical dependencies in a digital signal processor
US6317352B1 (en) * 2000-09-18 2001-11-13 Intel Corporation Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules
US6853557B1 (en) * 2000-09-20 2005-02-08 Rambus, Inc. Multi-channel memory architecture
US6658509B1 (en) 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
FR2816751A1 (fr) * 2000-11-15 2002-05-17 St Microelectronics Sa Memoire flash effacable par page
US6691205B2 (en) * 2001-03-05 2004-02-10 M-Systems Flash Disk Pioneers Ltd. Method for using RAM buffers with simultaneous accesses in flash based storage systems
JP4115676B2 (ja) 2001-03-16 2008-07-09 株式会社東芝 半導体記憶装置
US20020161941A1 (en) * 2001-04-30 2002-10-31 Sony Corporation And Electronics, Inc System and method for efficiently performing a data transfer operation
US6732221B2 (en) * 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
US6996644B2 (en) * 2001-06-06 2006-02-07 Conexant Systems, Inc. Apparatus and methods for initializing integrated circuit addresses
KR100413762B1 (ko) * 2001-07-02 2003-12-31 삼성전자주식회사 뱅크 수를 가변할 수 있는 반도체 장치 및 그 방법
US6769050B1 (en) * 2001-09-10 2004-07-27 Rambus Inc. Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6928501B2 (en) * 2001-10-15 2005-08-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6807106B2 (en) * 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
US6763426B1 (en) * 2001-12-27 2004-07-13 Cypress Semiconductor Corporation Cascadable content addressable memory (CAM) device and architecture
US6799235B2 (en) 2002-01-02 2004-09-28 Intel Corporation Daisy chain latency reduction
JP4082913B2 (ja) 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
US6798711B2 (en) * 2002-03-19 2004-09-28 Micron Technology, Inc. Memory with address management
US7073022B2 (en) * 2002-05-23 2006-07-04 International Business Machines Corporation Serial interface for a data storage array
US7062601B2 (en) * 2002-06-28 2006-06-13 Mosaid Technologies Incorporated Method and apparatus for interconnecting content addressable memory devices
KR100499686B1 (ko) * 2002-07-23 2005-07-07 주식회사 디지털웨이 메모리 확장 가능한 휴대용 플래쉬 메모리 장치
CA2396632A1 (en) * 2002-07-31 2004-01-31 Mosaid Technologies Incorporated Cam diamond cascade architecture
KR100487539B1 (ko) * 2002-09-02 2005-05-03 삼성전자주식회사 직렬 에이티에이 케이블과 연결되는 불휘발성 반도체메모리 장치
US7032039B2 (en) 2002-10-30 2006-04-18 Atmel Corporation Method for identification of SPI compatible serial memory devices
DE60229649D1 (de) * 2002-11-28 2008-12-11 St Microelectronics Srl Nichtflüchtige Speicheranordnungsarchitektur, zum Beispiel vom Flash-Typ mit einer seriellen Übertragungsschnittstelle
KR100493884B1 (ko) * 2003-01-09 2005-06-10 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US20040199721A1 (en) * 2003-03-12 2004-10-07 Power Data Communication Co., Ltd. Multi-transmission interface memory card
WO2004102403A2 (en) 2003-05-13 2004-11-25 Advanced Micro Devices, Inc. A system including a host connected to a plurality of memory modules via a serial memory interconnect
US7165153B2 (en) * 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
JP4156986B2 (ja) * 2003-06-30 2008-09-24 株式会社東芝 不揮発性半導体記憶装置
US7065697B2 (en) 2003-07-29 2006-06-20 Hewlett-Packard Development Company, L.P. Systems and methods of partitioning data to facilitate error correction
US7073010B2 (en) 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7031221B2 (en) 2003-12-30 2006-04-18 Intel Corporation Fixed phase clock and strobe signals in daisy chained chips
CN100495369C (zh) 2004-01-20 2009-06-03 特科2000国际有限公司 使用多个存储器设备的便携数据存储设备
US7475174B2 (en) 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
DE102004013493B4 (de) 2004-03-18 2009-11-05 Infineon Technologies Ag Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein
WO2005121960A1 (en) * 2004-06-07 2005-12-22 Nokia Corporation Operating a storage component
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
KR100705221B1 (ko) * 2004-09-03 2007-04-06 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자 및 이를 이용한 플래쉬 메모리 셀의소거 방법
US6950325B1 (en) * 2004-10-07 2005-09-27 Winbond Electronics Corporation Cascade-connected ROM
US7822715B2 (en) * 2004-11-16 2010-10-26 Petruzzo Stephen E Data mirroring method
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US8041879B2 (en) * 2005-02-18 2011-10-18 Sandisk Il Ltd Flash memory backup system and method
KR100626391B1 (ko) * 2005-04-01 2006-09-20 삼성전자주식회사 원낸드 플래시 메모리 및 그것을 포함한 데이터 처리시스템
US7391654B2 (en) * 2005-05-11 2008-06-24 Micron Technology, Inc. Memory block erasing in a flash memory device
US7853749B2 (en) * 2005-09-01 2010-12-14 Cypress Semiconductor Corporation Flash drive fast wear leveling
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
TWI543185B (zh) 2005-09-30 2016-07-21 考文森智財管理公司 具有輸出控制之記憶體及其系統
US7496777B2 (en) 2005-10-12 2009-02-24 Sun Microsystems, Inc. Power throttling in a memory system
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
CN1314625C (zh) 2005-12-27 2007-05-09 武汉理工大学 一种多元无机复合陶瓷均匀粉体合成方法
US7086785B1 (en) 2006-01-26 2006-08-08 Itt Manufacturing Enterprises, Inc. Optical fiber cartridge with easily installed body
US8069328B2 (en) 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US8335868B2 (en) 2006-03-28 2012-12-18 Mosaid Technologies Incorporated Apparatus and method for establishing device identifiers for serially interconnected devices
US8364861B2 (en) 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US7506098B2 (en) 2006-06-08 2009-03-17 Bitmicro Networks, Inc. Optimized placement policy for solid state storage devices
US7545664B2 (en) * 2006-07-26 2009-06-09 International Business Machines Corporation Memory system having self timed daisy chained memory chips
US8407395B2 (en) 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
US7904639B2 (en) 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US8433874B2 (en) 2006-12-06 2013-04-30 Mosaid Technologies Incorporated Address assignment and type recognition of serially interconnected memory devices of mixed type
US7650459B2 (en) * 2006-12-21 2010-01-19 Intel Corporation High speed interface for non-volatile memory
WO2008098342A1 (en) 2007-02-16 2008-08-21 Mosaid Technologies Incorporated Semiconductor device and method for reducing power consumption in a system having interconnected devices
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
US8046527B2 (en) 2007-02-22 2011-10-25 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140104829A (ko) * 2013-02-21 2014-08-29 삼성전자주식회사 멀티 레벨 셀 비휘발성 메모리 시스템

Also Published As

Publication number Publication date
US20120023286A1 (en) 2012-01-26
US8046527B2 (en) 2011-10-25
TW200849009A (en) 2008-12-16
US20080205168A1 (en) 2008-08-28
US7774537B2 (en) 2010-08-10
JP5651215B2 (ja) 2015-01-07
TW200847182A (en) 2008-12-01
JP2010519641A (ja) 2010-06-03
US7908429B2 (en) 2011-03-15
KR101486093B1 (ko) 2015-01-28
EP2118901A4 (en) 2012-06-27
JP2013218737A (ja) 2013-10-24
WO2008101316A1 (en) 2008-08-28
US8880780B2 (en) 2014-11-04
US20100275056A1 (en) 2010-10-28
US8060691B2 (en) 2011-11-15
JP5646178B2 (ja) 2014-12-24
US20110131445A1 (en) 2011-06-02
CN101632128A (zh) 2010-01-20
US20080209110A1 (en) 2008-08-28
CN101632128B (zh) 2014-07-30
US20110314206A1 (en) 2011-12-22
EP2118901B1 (en) 2013-09-18
US8886871B2 (en) 2014-11-11
WO2008101317A1 (en) 2008-08-28
TW201419306A (zh) 2014-05-16
TWI479312B (zh) 2015-04-01
EP2118901A1 (en) 2009-11-18
TWI417726B (zh) 2013-12-01
ES2437999T3 (es) 2014-01-15
EP2662860A1 (en) 2013-11-13

Similar Documents

Publication Publication Date Title
KR101486093B1 (ko) 데이터의 미러 백업을 갖춘 메모리 디바이스용 페이지 프로그램 동작의 장치 및 방법
US5548786A (en) Dynamic bus sizing of DMA transfers
US5381538A (en) DMA controller including a FIFO register and a residual register for data buffering and having different operating modes
KR101507628B1 (ko) 동기 직렬 인터페이스 nand의 데이터 판독을 위한 시스템 및 방법
US6151641A (en) DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments
US8145858B2 (en) Interleave control device, interleave control method, and memory system
JP2013525889A (ja) 複数のメモリデバイスを有するシステムの状態表示
WO2010069045A1 (en) Error detection method and a system including one or more memory devices
KR100377708B1 (ko) 저소비 전력화가 가능한 파이프라인 방식의 반도체 기억장치
US5551009A (en) Expandable high performance FIFO design which includes memory cells having respective cell multiplexors
US7827455B1 (en) System and method for detecting glitches on a high-speed interface
JPH09288618A (ja) 記憶装置及びそのメモリアクセス制御方法
JPH05210966A (ja) メモリデバイス
JPH02206865A (ja) プログラム・ローディング方法およびデータ処理システム
JPH0341538A (ja) 主記憶装置
JPH04135267A (ja) マルチプロセッサ装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee