KR20090045366A - 스케일러블 메모리 시스템 - Google Patents

스케일러블 메모리 시스템 Download PDF

Info

Publication number
KR20090045366A
KR20090045366A KR1020097005767A KR20097005767A KR20090045366A KR 20090045366 A KR20090045366 A KR 20090045366A KR 1020097005767 A KR1020097005767 A KR 1020097005767A KR 20097005767 A KR20097005767 A KR 20097005767A KR 20090045366 A KR20090045366 A KR 20090045366A
Authority
KR
South Korea
Prior art keywords
memory
command
memory device
data
packet
Prior art date
Application number
KR1020097005767A
Other languages
English (en)
Other versions
KR101476463B1 (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
Priority claimed from US11/840,692 external-priority patent/US7904639B2/en
Application filed by 모사이드 테크놀로지스 인코퍼레이티드 filed Critical 모사이드 테크놀로지스 인코퍼레이티드
Publication of KR20090045366A publication Critical patent/KR20090045366A/ko
Application granted granted Critical
Publication of KR101476463B1 publication Critical patent/KR101476463B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter

Abstract

메모리 시스템 아키텍처는 직렬로 접속된 메모리 장치를 갖는다. 메모리 시스템은 어떠한 성능 저하나 복잡한 재설계 없이 임의의 수의 메모리 장치를 포함하도록 스케일러블하다. 각 메모리 장치는 다른 메모리 장치들과 메모리 제어기 사이의 통신을 위한 직렬 입/출력 인터페이스를 갖는다. 메모리 제어기는 적어도 하나의 비트스트림으로 명령을 발행하고, 여기에서 비트스트림은 모듈러 명령 프로토콜에 따른다. 그 명령은 선택적인 어드레스 정보 및 장치 어드레스와 함께 동작 코드를 포함하여, 어드레스된 메모리 장치만이 명령에 따른다. 별개의 데이터 출력 스트로브 및 명령 입력 스트로브 신호가 데이터의 타입 및 데이터의 길이를 식별하기 위해 각 출력 데이터 스트림 및 입력 명령 데이터 스트림과 각각 병렬로 제공된다. 모듈러 명령 프로토콜은 성능을 더욱 향상시키기 위해 각 메모리 장치에서 동시 동작을 실행하는 데 사용된다.

Description

스케일러블 메모리 시스템{SCALABLE MEMORY SYSTEM}
이 출원은 2006년 8월 22일에 출원된 미국 가특허 출원 제60/839,329호; 2006년 12월 6일에 출원된 미국 가특허 출원 제60/868,773호; 2007년 2월 16일에 출원된 미국 가특허 출원 제60/902,003호; 2007년 3월 2일에 출원된 미국 가특허 출원 제60/892,705호, 및 2007년 8월 17일에 출원된 미국 특허 출원 제11/840,692호의 우선권의 이익을 청구한다.
본 발명은 통상적으로 메모리 시스템에 관한 것이다. 더욱 구체적으로는, 본 발명은 대용량 저장 애플리케이션을 위한 직렬로 접속되는 메모리 장치의 메모리 시스템에 관한 것이다.
플래시 메모리가 예컨대, 디지털 카메라 및 휴대용 디지털 음악 플레이어와 같은 가전제품용 대용량 저장장치로 널리 사용되고 있는 일반적으로 사용되는 타입의 비휘발성 메모리이다. 현재 시판 중인 플레시 메모리 칩의 밀도는 하나의 플레시 칩의 사이즈가 작기 때문에 대중적인 USB 플래시 장치에 사용하는 데 적합한 최대 32Gbits(4GB)일 수 있다.
도 1은 공지된 NAND 플래시 메모리의 하나의 뱅크의 전체 블록도이다. 당업자는 플래시 메모리 장치가 임의의 수의 뱅크를 가질 수 있다는 것을 이해할 것이 다. 뱅크(30)는 k+1개의 블록으로 구성된다. 각 블록은 서로 직렬로 접속되는 최대 i+1개의 플래시 메모리 셀을 갖는 NAND 메모리 세 스트링(string)으로 이루어진다. 따라서, 워드라인 VL0 내지 WLi가 메모리 셀 스트링 내의 각 플래시 메모리의 게이트에 접속된다. 신호 SSL(스트링 선택 라인)에 접속되는 스트링 선택 장치는 선택적으로 메모리 셀 스트링을 비트라인에 접속시키는 한편, 신호 GSL(접지 선택 라인)에 접속되는 접지 선택 장치는 선택적으로 메모리 셀 스트링을 VSS와 같은 소스 라인에 접속시킨다. 스트링 선택 장치 및 접지 선택 장치는 n-채널 트랜지스터이다. 뱅크(30)의 모든 블록에 공통인 j+1개의 비트라인이 존재하고, 각 비트라인은 블록 [0] 내지 [k]의 각각에서 하나의 NAND 메모리 셀 스트링에 접속된다. 각 워드라인(WL0 내지 WLi), SSL 및 GSL 신호는 블록 내의 각 NAND 메모리 셀 스트링 내의 동일한 대응하는 트랜지스터 장치에 접속된다. 당업자는 하나의 워드라인을 따라 플래시 메모리 셀에 저장되는 데이터가 데이터의 페이지라고 하는 것을 이해할 것이다.
뱅크(30)의 외부에서 각 비트라인에는, 플래시 메모리 셀로부터 액세스되는 판독 데이터, 또는 플래시 메모리 셀의 한 페이지로 프로그램될 기록 데이터의 한 페이지를 저장하는 데이터 레지스터(32)가 접속된다. 데이터 레지스터(32)는 또한 플레시 메모리 셀의 한 페이지로부터 판독되는 데이터를 감지하는 감지 회로를 포함한다. 프로그래밍 동작 중에, 데이터 레지스터는 데이터가 선택된 워드라인에 접속된 플래시 메모리 셀로 적절히 프로그램되었다는 것을 보증하기 위해 프로그램 검증 동작을 실행한다. 뱅크(30)의 각 메모리 셀은 단일 비트의 데이터나 복수 비 트의 데이터를 저장할 수 있다. 일부 플레시 메모리 장치는 처리량을 증가시키기 위해 하나 이상의 세트의 데이터 레지스터를 갖는다.
8 메가 픽셀 디지털 카메라 및 음악 및 비디오 가능 출력을 갖는 휴대용 디지털 엔터테인먼트 장치의 출현은 단일 플레시 메모리 장치에 의해 충족될 수 없는 다량의 데이터를 저장하기 위한 초고용량에 대한 요구를 상승시켰다. 따라서, 복수의 플레시 메모리 장치가 사용 가능한 저장 용량을 효율적으로 증가시키도록 메모리 시스템에 함께 조합된다. 예를 들면, 20GB의 플레이 저장 밀도가 그러한 애플리케이션에 필요하게 될 수 있다.
도 2는 호스트 시스템(12)과 일체화되는 종래 기술의 플래시 메모리 시스템(10)의 블록도이다. 플래시 메모리 시스템(10)은 호스트 시스템(12)과 통신하는 메모리 제어기(14) 및 복수의 비휘발성 메모리 장치(16)를 포함한다. 호스트 시스템은 마이크로컨트롤러, 마이크로프로세서, 또는 컴퓨터 시스템과 같은 처리 장치를 포함한다. 도 2의 플래시 메모리 시스템(10)은 하나의 채널(18)을 포함하도록 구성되며, 여기에서 메모리 장치들(16)이 채널(18)에 병렬로 접속된다. 당업자는 메모리 시스템(10)이 자체에 접속되는 4보다 많거나 적은 메모리 장치를 가질 수 있다는 것을 이해할 것이다.
채널(18)은 모든 자신의 대응하는 메모리 장치에 접속되는 데이터 및 제어 라인을 포함하는 공통 버스의 세트를 포함한다. 각 메모리 장치는 메모리 제어기(14)에 의해 제공되는 각각의 칩 선택 신호 CE#1, CE#2, CE#3 및 CE#4로 인에이블/디스에이블된다(enabled/disabled). "#"은 신호가 활성 저논리 레벨 신호인 것 을 나타낸다. 메모리 제어기(14)는 호스트 시스템(12)의 동작에 기초하여 선택된 메모리 장치에 채널(18)을 통해 명령 및 데이터를 발행할 책임이 있다. 메모리 장치로부터 판독된 데이터는 메모리 제어기(14) 및 호스트 시스템(12)에 채널(18)을 통해 되돌려 전송된다. 플래시 메모리 시스템(10)의 동작은 각 메모리 장치(16)에 병렬로 제공되는 클록 CLK에 동기화된다. 플래시 메모리 시스템(10)은 멀티-드롭(multi-drop) 구성이라고 통칭되며, 여기에서 메모리 장치(16)는 채널(18)에 대해 병렬로 접속된다.
플래시 메모리 시스템(10)에서, 비휘발성 메모리 장치(16)는 서로 동일할 수 있고, 일반적으로 NAND 플래시 메모리 장치로서 실현된다. 당업자는 플래시 메모리가 뱅크로 구성되고, 각 뱅크가 블록 소거를 용이하게 하도록 블록으로 구성되는 것을 이해할 것이다. 대부분의 상업적으로 시판 중인 NAND 플래시 메모리 장치는 메모리의 2개의 뱅크를 갖도록 구성된다.
시스템의 성능에 악영향을 주는 특별한 문제가 있다. 플래시 메모리 시스템(10)의 구성은 물리적인 성능 제한이 부과된다. 시스템 전반에 걸쳐 확장하는 막대한 수의 병렬 신호에 의해, 그들이 반송하는 신호들의 신호 무결성이 크로스토크(crosstalk), 신호 스큐(skew) 및 동시 스위칭 노이즈(SSN)에 의해 저하된다. 그러한 구성에서의 전력 소비는 플래시 제어기와 플래시 메모리 장치 사이의 각 신호 트랙이 시그널링을 위해 빈번하게 충전 및 방전되기 때문에 문제가 된다. 시스템 클록 주파수를 증가시키면, 전력 소비가 증가한다.
단일 메모리 장치의 구동 능력이 긴 신호 트랙의 로딩에 비해 작기 때문에, 채널에 병렬로 접속될 수 있는 메모리 장치의 수에 실질적인 한계도 있다. 또한, 메모리 장치의 수가 증가함에 따라, 더 많은 칩 인에이블 신호(CE#)가 필요하고, 클록 신호 CLK가 부가의 메모리 장치에 경로 설정될 필요가 있다. 확장 클록 분포로 인한 클록 성능 문제는 당업계에 잘 알려져 있고, 다루어질 필요가 있다. 따라서, 막대한 수의 메모리 장치를 메모리 시스템을 수용하기 위해, 더 많은 채널을 갖는 제어기가 사용되어야 하거나, 및/또는 시스템이 더 낮은 주파수에서 클록될 필요가 있다. 복수의 채널 및 부가의 칩 인에이블 신호를 갖도록 구성되는 제어기는 메모리 시스템의 비용을 상승시킨다. 그렇지 않으면, 메모리 시스템은 작은 수의 메모리 장치로 제한된다.
따라서, 임의의 수의 메모리 장치를 지원할 수 있는 메모리 시스템 아키텍처를 제공하는 것이 바람직하다.
이전의 메모리 시스템의 적어도 하나의 결점을 제거하거나 완화시키는 것이 실시예들의 양태이다.
제1 양태에서, 제어기와 메모리 장치를 갖는 메모리 시스템이 제공된다. 제어기는 직렬 비트스트림 명령 패킷을 제공하는 직렬 채널 출력 포트, 및 직렬 비트스트림 판독 데이터 패킷을 수신하는 직렬 채널 입력 포트를 포함한다. 상기 직렬 비트스트림 명령 패킷은 동작 코드 및 장치 어드레스를 포함한다. 상기 메모리 장치는 상기 제어기로부터 상기 직렬 비트스트림 명령 패킷을 수신하고 상기 장치 어드레스가 상기 메모리 장치에 대응하면 상기 동작 코드를 실행하는 입력 포트를 갖는다. 상기 메모리 장치는 상기 직렬 비트스트림 명령 패킷을 출력 포트를 통해 제공하며, 이어서 상기 동작 코드가 판독 기능에 대응하면 상기 직렬 비트스트림 판독 데이터 패킷을 상기 출력 포트를 통해 제공한다.
본 양태의 일 실시예에 따르면, 상기 메모리 장치와 제어기 사이에 직렬로 연결되는 적어도 하나의 개재 메모리 장치가 존재한다. 상기 적어도 하나의 개재 메모리 장치는 상기 직렬 비트스트림 명령 패킷을 수신하여 상기 메모리 장치에 전달하는 입력 포트를 가지며, 이어서 상기 장치 어드레스가 상기 메모리 장치에 대응하고 상기 동작 코드가 판독 기능에 대응하면 상기 직렬 비트스트림 판독 데이터 패킷을 제공한다.
다른 실시예에 따르면, 상보 클록 신호가 상기 메모리 장치 및 상기 적어도 하나의 개재 메모리 장치에 병렬로 제공되거나, 상보 클록 신호가 상기 적어도 하나의 개재 메모리 장치에 제공되어, 상기 적어도 하나의 개재 메모리 장치에 의해 상기 메모리 장치에 전달되고, 상기 메모리 장치에 의해 상기 제어기에 전달된다.
본 양태의 또 다른 실시예에 따르면, 메모리 시스템은 상기 제어기와 상기 메모리 장치 사이에 확장 모듈 및 점퍼(jumper) 중 하나를 수신하는 확장 링크를 포함한다. 상기 적어도 하나의 개재 메모리 장치는 상기 확장 링크와 전기적인 연결을 위해 구성된 연결 수단을 갖는 확장 모듈의 부분이다.
또 다른 실시예에 따르면, 상기 메모리 장치 및 상기 적어도 하나의 개재 메모리 장치는 각각, 네이티브(native) 메모리 코어(core)와 직렬 인터페이스와 상기 직렬 비트스트림 명령 패킷에 응답하여 상기 네이티브 메모리 코어를 제어하는 제어 로직 블록을 포함한다. 상기 메모리 장치 네이티브 메모리 코어 및 상기 적어도 하나의 개재 메모리 장치 네이티브 메모리 코어는 NAND 플래시 기반일 수 있거나, DRAM, SRAM, NAND 플래시 및 NOR 플래시 메모리 코어일 수 있다.
본 양태의 또 다른 실시예에 따르면, 상기 직렬 비트스트림 명령 패킷은 상기 직렬 비트스트림 명령 패킷의 사이즈가 가변적인 모듈러(modular) 구조를 갖는다. 상기 직렬 비트스트림 명령 패킷은 상기 동작 코드 및 상기 장치 어드레스를 제공하는 명령 필드를 포함할 수 있고, 여기에서, 상기 명령 필드는 상기 동작 코드를 제공하는 제1 서브필드 및 상기 장치 어드레스를 제공하는 제2 서브필드를 포함한다. 상기 직렬 비트스트림 명령 패킷은 상기 동작 코드 및 상기 장치 어드레스를 제공하는 명령 필드와, 로우 어드레스 및 칼럼 어드레스 중 하나를 제공하는 어드레스 필드를 포함할 수 있다. 상기 직렬 비트스트림 명령 패킷은 상기 동작 코드 및 상기 장치 어드레스를 제공하는 명령 필드, 로우 어드레스 및 칼럼 어드레스 중 하나를 제공하는 어드레스 필드, 및 기록 데이터를 제공하는 데이터 필드를 포함할 수 있다.
이전 실시예의 일 양태에 따르면, 상기 제어기는 상기 직렬 비트스트림 명령 패킷과 병렬로 명령 스트로브(strobe)를 제공하고, 상기 명령 스트로브는 상기 직렬 비트스트림 명령 패킷의 길이와 일치하는 활성 레벨을 갖는다.
또한, 상기 제어기는 직렬 비트스트림 판독 데이터 패킷과 병렬로 데이터 입력 스트로브를 제공하고, 상기 데이터 입력 스트로브는 상기 직렬 비트스트림 판독 데이터 패킷의 길이와 일치하는 활성 레벨을 갖는다. 상기 메모리 장치는 상기 장치 어드레스가 상기 메모리 장치에 대응할 때 상기 명령 스트로브의 상기 활성 레벨에 응답하여 상기 직렬 비트스트림 명령 패킷을 래치하고, 상기 메모리 장치 출력 포트는 상기 데이터 입력 스트로브의 상기 활성 레벨에 응답하여 인에이블된다. 상기 명령 스트로브 및 상기 데이터 입력 스트로브는 비중첩 신호(non-overlapping signal)이고, 적어도 하나의 데이터 래칭 클록 에지에 의해 분리된다. 선택적으로, 상기 명령 스트로브는 적어도 하나의 래칭 클록 에지에 의해 인접한 명령 스트로브로부터 분리되고, 상기 데이터 입력 스트로브는 적어도 하나의 래칭 클록 에지에 의해 인접한 데이터 입력 스트로브로부터 분리된다.
제2 양태에서, 직렬로 접속되는 메모리 장치를 갖는 메모리 시스템용의 일련의 비트를 포함하는 명령 패킷이 제공된다. 명령 패킷은 특정 메모리 동작을 실행하도록 상기 직렬로 접속되는 메모리 장치 중 하나의 메모리 장치를 선택하는 명령 필드를 포함한다.
제2 양태의 일 실시예에서, 상기 명령 필드는 상기 메모리 장치를 선택하는 장치 어드레스를 제공하는 제1 서브필드, 및 상기 특정 메모리 동작에 대응하는 동작 코드를 제공하는 제2 서브필드를 포함한다. 상기 명령 패킷은 상기 동작 코드가 판독 또는 기록 동작에 대응할 때 로우 어드레스 및 칼럼 어드레스 중 하나를 제공하는 상기 명령 필드에 후속하는 어드레스 필드를 더 포함하고, 상기 어드레스 필드는 상기 로우 어드레스 또는 상기 칼럼 어드레스에 대응하는 비트 길이를 갖는다. 상기 명령 패킷은 상기 동작 코드가 상기 기록 동작에 대응할 때 상기 메모리 장치에 저장하기 위한 기록 데이터를 제공하는 상기 어드레스 필드에 후속하는 데이터 필드를 더 포함하고, 상기 데이터 필드는 상기 기록 데이터에 대응하는 비트 길이를 갖는다.
제3 양태에서, 직렬로 접속되는 메모리 장치를 갖는 메모리 시스템의 선택된 메모리 장치에서의 동시 동작을 실행하는 방법이 제공된다. 상기 방법은, 제1 명령을 수신하는 단계; 상기 제1 명령에 응답하여 상기 선택된 메모리 장치의 제1 메모리 뱅크에서 코어 동작을 실행하는 단계; 상기 제1 메모리 뱅크에서 코어 동작을 실행하는 동안 제2 명령을 수신하는 단계; 및 상기 제2 명령에 응답하여 상기 선택된 메모리 장치의 제2 메모리 뱅크에서 코어 동작을 실행하는 단계를 포함한다.
제3 양태의 일 실시예에 따르면, 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 하나로부터 결과 정보를 요구하는 제3 명령을 수신하는 단계, 및 상기 제3 명령에 응답하여 상기 결과 정보를 포함하는 판독 데이터 패킷을 출력하는 단계를 더 포함한다. 상기 결과 정보는 상태 레지스터 데이터 및 판독 데이터 중 하나를 포함한다.
본 양태의 또 다른 실시예에서는, 상기 제1 명령, 상기 제2 명령 및 상기 제3 명령은, 동작 코드 및 장치 어드레스를 제공하는 필수 명령 필드, 상기 동작 코드가 판독 또는 기록 동작에 대응할 때 로우 및 칼럼 어드레스 중 하나를 제공하는 상기 명령 필드에 후속하는 선택적인 어드레스 필드, 및 상기 동작 코드가 상기 기록 동작에 대응할 때 기록 데이터를 제공하는 상기 어드레스 필드에 후속하는 선택적인 데이터 필드를 포함하도록 논리적으로 구성되는 일련의 비트를 포함하는 명령 패킷이다.
본 실시예의 일 양태에서는, 제1 명령 스트로브가 상기 제1 명령과 병렬로 수신되고, 상기 제1 명령 스트로브는 상기 제1 명령의 길이에 대응하는 활성 지속기간을 가지며, 제2 명령 스트로브가 상기 제2 명령과 병렬로 수신되고, 상기 제2 명령 스트로브는 상기 제2 명령의 길이에 대응하는 활성 지속기간을 갖는다. 상기 제1 명령 스트로브 및 상기 제2 명령 스트로브는 적어도 하나의 데이터 래칭 클록 에지에 의해 분리된다. 또한, 데이터 입력 스트로브가 상기 데이터 입력 스트로브가 활성 레벨에 있는 동안 상기 판독 데이터 패킷의 출력을 인에이블시키도록 수신되어, 상기 제2 명령 스트로브 및 상기 데이터 입력 스트로브는 적어도 하나의 데이터 래칭 클록 에지에 의해 분리된다.
다른 실시예에서는, 상기 방법은 상기 제1 명령을 수신하기 전에 상기 선택된 메모리 장치를 전력 상승시키는 단계를 더 포함한다. 상기 전력을 상승시키는 단계는, 전력 전이 전에 상기 선택된 메모리 장치를 디폴트 상태로 유지하도록 제어 신호를 어써트하는(asserting) 단계; 상기 제어 신호가 어써트되는 동안 상기 선택된 메모리 장치의 전력 레벨을 제1 전압 레벨로부터 제2 전압 레벨로 전이하는 단계; 상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및 상기 선택된 메모리 장치를 상기 디폴트 상태로부터 해제하도록 상기 제어 신호를 디어써트하여(de-asserting), 상기 선택된 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함한다. 상기 제2 전압 레벨은 안정적인 회로 동작을 위한 최소 전압 레벨이거나, 전원의 최대 동작 전압 레벨일 수 있다. 제1 전압 레벨은 전원의 저전력 모드 동작 전압 레벨, 또는 전원의 부재(不在) 상태에 대응할 수 있다.
또 다른 실시예에서는, 상기 메모리 장치를 상기 디폴트 상태에 유지하는 단계는 상기 메모리 장치 내의 장치 레지스터를 디폴트값으로 설정하는 단계를 포함하고, 여기에서, 상기 장치 레지스터는 명령 레지스터를 포함한다. 상기 방법의 추가의 단계는 상기 디폴트 상태로부터 상기 메모리 장치의 해제 시에 장치 초기화를 실행하는 단계를 더 포함할 수 있다. 상기 장치 초기화를 실행하는 단계는 상기 메모리 장치에 대한 장치 어드레스 및 장치 식별자 정보를 생성하는 단계를 포함할 수 있다.
또 다른 실시예에서는, 상기 전력을 상승시키는 단계는, 전력 전이 전에 상기 메모리 장치를 디폴트 상태로 유지하도록 제1 시간에 제어 신호를 어써트하는 단계; 상기 제어 신호가 어써트되는 동안 제2 후속 시간에 상기 메모리 장치의 전력 레벨을 제1 레벨로부터 제2 레벨로 전이하는 단계; 상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및 상기 메모리 장치를 상기 디폴트 상태로부터 해제하도록 제3 후속 시간에 상기 제어 신호를 디어써트하여, 상기 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함한다.
제4 양태에서는, 복수의 메모리 장치 및 상기 장치를 제어하는 제어기를 포함하는 메모리 시스템이 제공된다. 상기 제어기는 상기 복수의 메모리 장치 중 제1 장치에 비트스트림 명령 패킷을 제공하는 출력 포트를 갖고, 상기 비트스트림 명령 패킷은 동작 코드 및 장치 어드레스를 포함한다. 상기 복수의 메모리 장치의 각각은 상기 제어기 및 앞선 메모리 장치 중 하나로부터 상기 비트스트림 명령 패킷을 수신하여 상기 장치 어드레스가 그에 대응하면 상기 동작 코드를 실행하고, 상기 복수의 메모리 장치의 각각은 상기 비트스트림 명령 패킷을 다음의 메모리 장치 및 상기 제어기 중 하나에 제공하며, 비트스트림 판독 데이터 패킷이 상기 동작 코드가 판독 기능에 대응하면 상기 복수의 메모리 장치 중 최종 메모리 장치로부터 상기 제어기로 제공된다.
본 양태의 일 실시예에 따르면, 상기 복수의 메모리 장치는 직렬로 접속되고, 상기 제1 및 최종 메모리 장치는 상기 제어기에 접속되며, 상기 제어기는 상기 복수의 메모리 장치 중 상기 제1 장치에 비트스트림 데이터 패킷을 전송한다. 상기 제어기로부터의 상기 비트스트림 데이터 패킷 및 상기 비트스트림 판독 데이터 패킷은 직렬 비트스트림 또는 병렬 비트스트림을 포함한다. 상기 복수의 메모리 장치는 동일한 타입 또는 상이한 타입의 메모리 장치의 혼합 중 하나이다.
다른 양태에 따르면, 복수의 메모리 장치와 상기 장치를 제어하는 제어기를 포함하는 메모리 시스템이 제공되며, 상기 메모리 시스템은 제1 명령을 수신하기 전에 선택된 메모리 장치를 전력 상승시키는 기능을 실행할 수 있다.
예를 들면, 상기 전력을 상승시키는 기능은, 전력 전이 전에 상기 선택된 메모리 장치를 디폴트 상태로 유지하도록 제어 신호를 어써트하는 단계; 상기 제어 신호가 어써트되는 동안 상기 선택된 메모리 장치의 전력 레벨을 제1 전압 레벨로부터 제2 전압 레벨로 전이하는 단계; 상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및 상기 선택된 메모리 장치를 상기 디폴트 상태로부터 해제하도록 상기 제어 신호를 디어써트하여, 상기 선택된 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함한다. 또한, 상기 전력을 상승시키는 기능은, 전력 전이 전에 상기 메모리 장치를 디폴트 상태로 유지하도록 제1 시간에 제어 신호를 어써트하는 단계; 상기 제어 신호가 어써트되는 동안 제2 후속 시간에 상기 메모리 장치의 전력 레벨을 제1 레벨로부터 제2 레벨로 전이하는 단계; 상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및 상기 메모리 장치를 상기 디폴트 상태로부터 해제하도록 제3 후속 시간에 상기 제어 신호를 디어써트하여, 상기 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함할 수도 있다.
본 발명의 다른 양태 및 특징은 첨부한 도면과 관련하여 발명의 특정 실시예의 이하의 설명을 리뷰할 때 당업자에게는 명백해질 것이다.
본 발명의 실시예들은 첨부된 도면을 참조하여 예에 의해서만 이제 설명할 것이다.
도 1은 종래 기술의 NAND 플래시 메모리 코어의 개략도이다.
도 2는 종래 기술의 NAND 플래시 메모리 시스템의 블록도이다.
도 3A는 직렬 메모리 시스템의 일반적인 블록도이다.
도 3B는 NAND 플래시 메모리 장치로 이루어진 직렬 메모리 시스템의 블록도이다.
도 3C는 상이한 메모리 장치의 혼합으로 이루어진 직렬 메모리 시스템의 블록도이다.
도 4는 병렬 클록 스킴(scheme)과 함께 구성된 도 3A의 직렬 메모리 시스템의 블록도이다.
도 5는 소스 동기 클록 스킴과 함께 구성된 도 3A의 직렬 메모리 시스템의 블록도이다.
도 6은 동적으로 조정 가능한 직렬 메모리 시스템의 블록도이다.
도 7은 도 3A 내지 도 3C 및 도 4 내지 도 6의 직렬 메모리 시스템에 사용하기에 적합한 직렬 입/출력 인터페이스 및 네이티브 코어(native core)를 갖는 메모리 장치의 블록도이다.
도 8은 모듈러(modular) 명령 패킷 구조를 도시하는 도면이다.
도 9는 도 7의 플래시 메모리 장치를 동작시키는 모듈러 명령 패킷의 예를 리스트하는 표를 도시한다.
도 10은 하나의 메모리 장치에서 동시에 동작을 실행하는 방법의 플로우차트이다.
도 11은 메모리 장치의 2개의 상이한 뱅크(bank)에 대한 동시 판독 동작을 나타내는 시퀀스도이다.
도 12는 메모리 장치의 2개의 상이한 뱅크에 대한 동시 프로그램 동작을 나타내는 시퀀스도이다.
도 13은 메모리 장치의 2개의 상이한 뱅크에 대한 동시 판독 및 프로그램 동작을 나타내는 시퀀스도이다.
도 14는 메모리 장치의 2개의 상이한 뱅크에 대한 동시 블록 소거를 나타내 는 시퀀스도이다.
도 15는 일시정지 및 재개 동작으로, 메모리 장치의 2개의 상이한 뱅크에 대한 동시 프로그램 및 판독 동작을 나타내는 시퀀스도이다.
도 16은 2개의 직렬로 접속된 메모리 장치의 동작을 나타내는 시퀀스도이다.
도 17A는 본 발명의 실시예들이 적용될 수 있는 플래시 메모리 장치의 블록도이다.
도 17B는 플립플롭의 개략도이다.
도 18은 도 17A의 플래시 메모리 장치에서의 전력 상승 및 전력 하강 동작 중의 여러 가지 제어 신호의 시퀀스도이다.
도 19는 비휘발성 메모리 장치에서의 전력 상승 및 전력 하강 동작 중의 여러 가지 제어 신호의 시퀀스도이다.
도 20은 비휘발성 메모리 장치에서의 전력 전이 중에 데이터를 보호하는 방법을 나타내는 플로우차트이다.
도 21은 본 발명의 다른 실시예에 따르는 비휘발성 메모리 장치에서의 전력 전이 중에 데이터를 보호하는 방법을 나타내는 플로우차트이다.
본 발명의 실시예들의 이하의 상세한 설명에서, 본 발명이 실시될 수 있는 구체적인 실시예의 설명에 의해 도시되는 일부분을 형성하는 첨부한 도면에 대한 참조가 이루어진다. 이들 실시예는 당업자가 본 발명을 실시할 수 있도록 충분히 상세히 기재되고, 다른 실시예들이 이용될 수도 있고, 논리적, 전기적 및 다른 변 경이 본 발명의 범위를 벗어남 없이 행해질 수 있음을 이해해야 한다. 이하의 상세한 설명은 따라서, 제한할 의도로 취해진 것이 아니라, 본 발명의 범위는 첨부된 청구항들에 의해 정해진다.
직렬로 접속된 메모리 장치를 갖는 메모리 시스템 아키텍처(architecture)를 설명한다. 그 메모리 시스템은 어떠한 성능 저하나 복잡한 재설계 없이 임의의 수의 메모리 장치를 포함하도록 스케일러블(scalable)하다. 각 메모리 장치는 다른 메모리 장치들과 메모리 제어기 사이의 통신을 위한 직렬 입/출력 인터페이스를 갖는다. 메모리 제어기는 적어도 하나의 비트스트림으로 명령을 발행하고, 여기에서 비트스트림은 모듈러 명령 프로토콜에 따른다. 그 명령은 선택적인 어드레스 정보 및 장치 어드레스와 함께 동작 코드를 포함하여, 어드레스된 메모리 장치만이 명령에 따른다. 별개의 데이터 출력 스트로브(strobe) 및 명령 입력 스트로브 신호가 데이터의 타입 및 데이터의 길이를 식별하기 위해 각 출력 데이터 스트림 및 입력 명령 데이터 스트림과 각각 병렬로 제공된다. 모듈러 명령 프로토콜은 성능을 더욱 향상시키기 위해 각 메모리 장치에서 동시 동작을 실행하는 데 사용된다.
도 3A는 일 실시예에 따르는 직렬 메모리 시스템 구조의 개념적인 특징을 나타내는 블록도이다. 도 3A에서, 직렬 메모리 시스템(100)은 적어도 하나의 직렬 채널 출력 포트(Sout) 및 직렬 채널 입력 포트(Sin)를 갖는 메모리 제어기(102)와, 직렬로 접속되어 있는 메모리 장치(104, 106, 108, 110, 112, 114 및 116)를 포함한다. 일 실시예에서, 메모리 장치는 플래시 메모리 장치일 수 있다. 이와 달리, 메모리 장치는 DRAM, SRAM, 또는 명령을 실행하거나 명령 및 데이터를 후속 메모리 장치에 전달하기 위해 특정 명령 구조와 호환 가능한 직렬 입/출력 인터페이스를 갖는다면 어떤 다른 유형의 메모리 장치일 수도 있다. 그러한 메모리 장치 구성 및 특정 명령 구조의 더욱 상세한 설명은 후술할 것이다.
현 실시예는 7개의 메모리 장치를 포함하지만, 대체 실시예들은 고작 하나의 메모리 장치 및 임의의 수의 메모리 장치까지 포함할 수 있다. 따라서, 메모리 장치(104)가 Sout에 접속되어 있으므로 직렬 메모리 시스템(100)의 제1 장치라고 하면, 메모리 장치(116)는 Sin에 접속되어 있으므로 제N 또는 최종 장치이며, 여기에서 N은 0보다 큰 정수이다. 메모리 장치(106 내지 114)는 제1 및 최종 메모리 장치 사이에 개재하는 직렬로 접속된 메모리 장치들이다. 각 메모리 장치는 시스템의 전력 상승 초기화 시에 별개의 식별 번호나 장치 어드레스(DA)를 취할 수 있어, 그들 메모리 장치가 개별적으로 어드레스 가능해진다. 공통으로 소유하는 미국 특허 출원 11/622,828호, 11/750,649호, 11/692,452호, 11/692,446호, 11/692,326호 및 11/771,023호는 메모리 시스템의 직렬로 접속된 메모리 장치용의 장치 어드레스를 생성하는 방법을 기재한다.
메모리 장치(104 내지 116)는 하나의 메모리 장치의 데이터 입력이 앞선 메모리 장치의 데이터 출력에 접속되기 때문에 직렬로 접속된 것으로 간주되며, 그것에 의해 체인 내의 제1 및 최종 메모리 장치를 제외하고는 직렬 접속 구성을 형성한다.
메모리 제어기(102)의 채널은 명령, 데이터 및 어드레스 정보를 반송하기 위한 임의의 데이터 폭의 데이터 채널과, 제어 신호 데이터를 반송하기 위한 제어 채 널을 포함한다. 채널 구성의 더욱 상세한 설명은 후술할 것이다. 도 3A의 실시예는 하나의 채널을 포함하며, 여기에서 하나의 채널은 Sout 및 대응하는 Sin 포트를 포함한다. 그러나, 메모리 제어기(102)는 별개의 메모리 장치 체인을 수용하기 위한 임의의 수의 채널을 포함할 수 있다.
일반적인 동작에서, 메모리 제어기(102)는 동작 코드(op 코드), 장치 어드레스, 판독 또는 프로그래밍을 위한 어드레스 정보 및 프로그래밍을 위한 데이터를 포함하는 명령을 그 Sout 포트를 통해 발한다. 그 명령은 직렬 비트스트림 패킷으로서 발행되며, 그 패킷은 예컨대, 바이트와 같은 소정 크기의 세그먼트(segment)로 논리적으로 세분될 수 있다. 비트스트림은 시간당 제공되는 비트의 열 또는 시퀀스이다. 명령은 제1 메모리 장치(104)에 의해 수신되어, 그 장치 어드레스가 자신의 할당된 어드레스와 비교된다. 그들 어드레스가 일치하면, 메모리 장치(104)는 명령을 실행한다. 그들 어드레스가 일치하지 않으면, 명령은 자신의 출력 포트를 통해 후속 메모리 장치(106)에 전달되고, 여기에서 동일한 절차가 반복된다. 결국, 선택된 메모리 장치라고 칭해지는, 일치하는 장치 어드레스를 갖는 메모리 장치가 명령에 의해 지시된 동작을 실행할 것이다. 명령이 데이터를 판독하라는 것이면, 선택된 메모리 장치는 자신의 출력 포트를 통해 판독된 데이터를 출력할 것이며, 그 판독된 데이터가 메모리 제어기(102)의 Sin 포트에 도달할 때까지 개재 메모리 장치들을 통해 직렬로 전달된다.
명령 및 데이터가 직렬 비트스트림으로 제공되기 때문에, 직렬 비트를 클로킹 인/아웃하고 내부 메모리 동작을 동기화시키기 위해 각 메모리 장치에 의해 클 록이 사용된다. 이 클록은 직렬 메모리 시스템(100) 내의 모든 메모리 장치와 메모리 제어기에 의해 사용된다. 도 4 및 도 5의 실시예들에 나타내는 바와 같이, 직렬 메모리 시스템(100)용의 2개의 가능한 클록 구성이 존재한다.
도 3B는 도 3A의 메모리 시스템이 NAND 플래시 메모리 장치와 같은 하나의 타입의 메모리 장치를 포함할 수 있는 것을 나타내는 블록도이다. 각 NAND 플래시 메모리 장치는 예컨대, 상이한 저장 밀도를 가짐으로써 서로 상이하거나 서로 동일할 수 있다. 도 3C는 도 3A의 메모리 시스템이 여러 가지 타입의 메모리 장치를 포함할 수 있는 것을 나타내는 블록도이다. 이들 메모리 장치는 예를 들면, NAND 플래시 메모리 장치, NOR 플래시 메모리 장치, 다이나믹 랜덤 액세스 메모리(DRAM) 장치, 스테이틱 랜덤 액세스 메모리(SRAM) 장치 및 자기 저항 랜덤 액세스 메모리(MRAM) 장치를 포함할 수 있다. 물론, 여기에 언급하지 않은 대체 메모리 장치가 메모리 시스템에 채용될 수도 있다. 그러한 혼합된 타입의 메모리 장치를 갖는 구성이 2006년 12월 6일에 출원된 미국 가특허 출원 60/868,773호에 개시되어 있다.
도 4는 병렬 클록 스킴을 사용하는 직렬 메모리 시스템의 블록도이다. 직렬 메모리 시스템(200)은 메모리 제어기(202) 및 4개의 메모리 장치(204, 206, 208 및 210)를 포함한다. 메모리 제어기(202)는 메모리 장치들에 병렬로 몇몇 신호를 제공한다. 이들 신호는 칩 인에이블 신호(CE#), 리셋 신호(RST#) 및 상보 클록(CK# 및 CK)을 포함한다. CE#의 사용의 일례에서, CE#이 낮은 논리 레벨에 있을 때 장치가 인에이블된다. 메모리 장치가 프로그램 또는 소거 동작을 개시하면, CE#이 디어써트(de-asserted)되거나 높은 논리 레벨로 구동될 수 있다. 또한, 낮은 논리 레벨에서 CE#은 내부 클록 신호를 활성화시킬 수 있고, 높은 논리 레벨에서 CE#은 내부 클록 신호를 비활성화시킬 수 있다. RST#의 사용의 일례에서, 메모리 장치는 RST#이 낮은 논리 레벨에 있을 때 리셋 모드로 설정된다. 리셋 모드에서, 전력이 안정화하도록 허용되고, 장치는 모든 유한한 상태 머신을 초기화시키고 어떠한 구성 및 상태 레지스터를 그들의 디폴트 상태로 리셋시킴으로써 자체의 동작 준비를 한다.
메모리 제어기(202)의 채널은 데이터 출력 포트(Qn) 및 데이터 입력 포트(Dn)로 이루어지는 데이터 채널과, 명령 스트로브 입력(CSI), 명령 스트로브 출력(CSO)(CSI의 에코(echo)), 데이터 스트로브 입력(DSI) 및 데이터 스트로브 출력(DSO)(DSI의 에코)로 이루어지는 제어 채널을 포함한다. 출력 포트(Qn) 및 입력 포트(Dn)는 1 비트의 폭 또는 n 비트의 폭일 수 있고, 여기에서 n은 원하는 구성에 따르는 0이 아닌 정수이다. 예를 들어, n이 1이면, 1 바이트의 데이터는 클록의 8개의 데이터 래칭 에지 다음에 수신된다.
데이터 래칭 클록 에지는 예컨대, 상승하는 클록 에지일 수 있다. n이 2이면, 1 바이트의 데이터가 클록의 4개의 래칭 에지 다음에 수신된다. n이 4이면, 1 바이트의 데이터가 클록의 2개의 래칭 에지 다음에 수신된다. 메모리 장치는 임의의 폭의 Qn 및 Dn에 대해 통계적으로 구성되거나 동적으로 구성될 수 있다. 그래서, n이 1보다 큰 구성에서는, 메모리 제어기는 데이터를 병렬 비트스트림으로 제공한다. CSI는 입력 포트(Dn)에 나타나는 명령 데이터를 래치하는 데 사용되고, 수신된 명령 데이터의 길이에 대응하는 펄스 지속기간을 갖는다. 더욱 구체적으로는, 명령 데이터는 다수의 클록 사이클에 의해 측정된 지속기간을 가질 것이고, CSI 신호의 펄스 지속기간은 대응하는 지속기간을 가질 것이다. DSI는 출력 포트(Qn) 버퍼가 데이터를 출력할 수 있게 하는 데 사용되며, 요구되는 판독 데이터의 길이에 대응하는 펄스 지속기간을 갖는다. DSI 및 CSI 신호의 더욱 상세한 설명은 이후에 논의할 것이다.
도 4의 현재 도시된 실시예에서, 각 메모리 장치는 메모리 제어기(202)로부터 동일한 명칭의 신호를 수신하는 RST#, CE#, CK# 및 CK 입력 포트를 포함하는 동일한 직렬 입/출력 인터페이스를 갖는다. 직렬 입/출력 인터페이스는 데이터 입력 포트(Dn), 데이터 출력 포트(Qn), CSI, DSI, CSO 및 DSO 포트를 더 포함한다. 도 4에 도시된 바와 같이, 각 메모리 장치의 Dn, CSI 및 DSI 입력 포트는 앞선 메모리 장치의 Qn, CSO 및 DSO 출력 포트에 각각 접속된다. 따라서, 메모리 장치는 각각이 체인 내의 다음의 메모리 장치에 명령 및 판독 데이터를 전달할 수 있으므로, 서로 직렬로 접속되어 있다고 간주된다.
도 4의 실시예의 실제 실시할 때, 각 메모리 장치는 인쇄 회로 기판 상에 배치되어, 입력 및 출력 포트 사이의 거리 및 신호 트랙이 최소화된다. 이와 달리, 4개의 메모리 장치가 신호 트랙 길이를 더욱 최소화하는 시스템 인 패키지 모듈(SIP: system in package module)로 실시될 수 있다. 메모리 제어기(202) 및 메모리 장치(204 내지 210)는, 최종 메모리 장치(210)가 자신의 출력을 메모리 제어기(202)로 되돌려 제공하는 것을 의미하는, 링 토포로지(ring topology)를 형성하 도록 직렬로 접속된다. 그와 같이, 당업자는 메모리 장치(210)와 메모리 제어기(202) 사이의 거리가 쉽게 최소화되는 것을 이해할 것이다.
도 4의 직렬 메모리 시스템(200)에서의 메모리 장치의 성능은 도 1의 종래기술의 시스템에서의 메모리 장치의 성능보다 현저하게 개선되어 있다. 예를 들어, 66 MHz 클록이 사용되고 직렬 메모리 시스템(200)이 4개의 메모리 장치를 포함한다고 가정하면, 도 4의 직렬로 접속된 메모리 장치 중 하나의 핀당 데이터 레이트는 약 133 Mbps일 것이다. 반대로, 4개의 메모리 장치를 갖는 도 1의 멀티-드롭(multi-drop) 메모리 장치의 핀당 데이터 레이트는, 각 메모리 장치에 대한 판독 사이클 시간(tRC) 및 기록 사이클 시간(tWC)이 약 25ns로 정해진다고 가정하면, 약 40 Mbps일 것이다. 또한, 직렬 메모리 시스템(200)의 전력 소비는 도 1의 종래기술의 시스템에 비해 감소될 것이다. 직렬 메모리 시스템(200)의 성능 및 전력 소비 이점은 주로 각 메모리 장치에 의해 구동되어야 하는 신호 트랙(18)의 부재로 인한 것이다.
도 4의 직렬 메모리 시스템(200)의 중요한 이점은 시스템의 스케일러빌러티(scalability)이다. 바꿔 말하면, 4 이상의 메모리 장치가 어떠한 성능의 저하도 없이 메모리 제어기(202)에 접속된 메모리 체인에 포함될 수 있다 반대로, 도 1의 종래기술의 시스템은 채널(18)의 신호 트랙의 길이가 부가의 장치들을 수용하도록 반드시 증가되기 때문에, 더 많은 메모리 장치가 부가됨에 따라 리턴을 줄이는 실제적인 제한에 도달할 것이다. 신호 트랙에의 부가의 핀 로딩은 부가의 장치들에 의해 기여된다. 앞서 언급된 바와 같이, 클록 주파수는 성능을 저하시키는 긴 채널(18)을 구동할 때 데이터 송신 무결성을 보증하기 위해 감소되어야 한다. 도 4의 실시예에서, 클록의 분배는 막대한 수의 메모리 장치를 수용하도록 설계되고, 모든 메모리 장치에 대해 클록 무결성을 유지하기 위해 리피터(repeater) 및 밸런스트 트리(balanced tree)를 포함할 수 있다. 당업자는 균형이 잡힌 클록 신호를 제공하기 위한 다수의 방법이 있다는 것을 이해할 것이다.
도 4의 직렬 메모리 시스템 실시예가 종래기술의 메모리 시스템보다 상당한 성능 이점을 제공하지만, 추가의 성능 개선이 도 5의 교호 직렬 메모리 시스템 실시예를 사용하여 얻어진다. 도 5의 직렬 메모리 시스템(300)은 병렬 클록 분배 스킴 대신에 소스 동기 클록 스킴이 사용되는 점을 제외하고는 도 4의 실시예와 유사하다. 직렬 메모리 시스템(300)은 메모리 제어기(302) 및 4개의 메모리 장치(304, 306, 308 및 310)를 포함한다. 메모리 제어기(302)는 상보 클록 신호를 제공하는 클록 출력 포트(CKO# 및 CKO), 및 시스템의 최종 메모리 장치로부터 상보 클록 신호를 수신하는 클록 입력 포트(CK# 및 CK)를 포함한다. 메모리 장치는 그들이 지금 클록 입력 포트(CK# 및 CK) 및 클록 출력 포트(CKO# 및 CKO)를 갖고, 여기에서 하나의 메모리 장치에 의해 자신의 CK# 및 CK 포트에서 수신된 클록이 다음 장치에 자신의 CKO# 및 CKO 포트를 통해 제공되는 점을 제외하고는 도 4에 도시된 것과 동일하다. 최종 메모리 장치(310)는 메모리 제어기(302)에 클록 신호를 되돌려 제공한다.
도 5의 실시예의 주요 이점은 메모리 장치들 간의 최소 클록 상호접속 및 어떤 복잡한 클록 분배 스킴의 부재이다. 따라서, 최소 클록 주파수는 166MHz로 증 가될 수 있어, 핀당 최소 333 Mbps 데이터 레이트를 초래한다. 도 4의 실시예에서와 같이, 도 5의 실시예는 임의의 수의 메모리 장치를 포함하도록 정해질 수 있다. 예를 들어, 제5 메모리 장치가, 메모리 장치(310)의 출력 포트를 제5 메모리 장치의 대응하는 입력 포트에 접속시키고, 제5 메모리 장치의 출력 포트를 메모리 제어기(302)에 접속시킴으로써 간단히 도 5의 실시예에 부가될 수 있다. 당업자는 메모리 제어기(302)가 클록 주파수를 유지하기 위해 간단한 위상 록트 루프(PLL: phase locked loop)를 포함할 수 있다는 것을 이해할 것이다.
직렬 메모리 시스템(200 및 300)의 구성은 특정 수의 메모리 장치에 대해 정적으로 고정될 수 있다. 상이한 구성들이 직렬 체인 내의 메모리 장치의 수를 간단히 조정함으로써 상이한 메모리 시스템 용량을 제공하도록 설정될 수 있다. 대체 실시예에서, 상이한 용량을 갖는 메모리 장치는 직렬 체인 내에 함께 혼합될 수 있어, 전체 메모리 시스템 용량에 더더욱 유연성을 제공한다. 메모리 시스템 용량이 직렬 체인으로부터 모듈을 부가하거나 제거함으로써 동적으로 조정될 수 있는 애플리케이션이 있을 수 있고, 여기에서 모듈은 단일 메모리 장치, SIP 메모리, 또는 메모리 장치 및/또는 SIP 메모리 다바이스를 갖는 PCB일 수 있다.
도 6은 동적으로 조정 가능한 직렬 메모리 시스템 실시예를 나타내는 블록도이다. 조정 가능한 직렬 메모리 시스템(400)은 메모리 제어기(402), 고정 메모리 장치(404, 406, 408 및 410), 확장 링크(412, 414, 416, 418 및 420), 및 확장 모듈(422, 424 및 426)을 포함한다. 고정 메모리 장치(404, 406, 408 및 410)는 서로에, 개재하는 확장 링크에, 그리고 메모리 제어기(402)에 직렬로 접속된다. 각 확장 링크는 대응하는 암수 연결 수단을 갖는 모듈을 분리 가능하게 수용 및 유지하는 암수 연결 수단이다. 각 모듈은 확장 링크의 단말과 직렬로 접속되는 적어도 하나의 메모리 장치를 포함한다. 현재 도시된 예에서는, 확장 모듈(422 및 426)이 각각, 모듈 연결 수단의 입력 커넥터와 출력 커넥터 사이에 직렬로 접속되는 4개의 메모리 장치를 포함한다. 모듈(424)은 자신의 모듈 연결 수단의 입력 커넥터와 출력 커넥터 사이에 직렬로 접속되는 2개의 메모리 장치를 포함한다. 따라서, 모듈을 확장 링크에 삽입함으로써, 부가의 직렬로 접속된 메모리 장치가 고정 메모리 장치들 사이에 동적으로 삽입될 수 있다. 확장 링크(414 및 420)와 같은 미사용 확장 링크는 체인의 연속적인 직렬 전기 접속을 유지하기 위해 자체에 접속되는 적절히 구성된 점퍼(428 및 430)를 갖는다.
조정 가능한 직렬 메모리 시스템(400)은 임의의 수의 고정 메모리 장치 및 확장 링크를 포함할 수 있고, 메모리 모듈은 임의의 수의 직렬로 접속된 메모리 장치를 포함하도록 구성될 수 있다. 따라서, 조정 가능한 직렬 메모리 시스템(400)은 간단히 새로운 모듈을 부가하거나 기존의 모듈을 더 큰 용량의 모듈로 대체함으로써 전체 성능에 영향을 주지 않고, 전체적으로 확장 가능한 메모리 용량을 갖는다. 동일한 채널이 부가의 직렬로 접속되는 메모리 장치와 함께 상주되기 때문에, 메모리 제어기를 변경하는 데 있어 요건이 없고, 당업자는 CE#, RST#과 같은 제어 신호 및 전원을 삽입된 모듈에 어떻게 병렬로 접속하는지를 이해할 것이다. 모듈의 삽입 또는 모듈이 제거 후에, 메모리 시스템(400)은 메모리 제어기가 시스템 내의 메모리 장치에 대한 장치 ID's를 자동으로 설정할 수 있도록 재-초기화된다.
도 3A 내지 3C 및 도 4 내지 6에 도시된 직렬 메모리 시스템은 호환 가능한 직렬 입/출력 인터페이스를 갖는 플래시 메모리 장치와 같은 메모리 장치를 채용한다. 직렬 입/출력 인터페이스를 갖는 플래시 메모리 장치의 일례는 2005년 12월 30일자로 출원된 공동 소유의 미국 특허출원 11/324,023호에 기재되어 있다. 따라서, 도 3A 내지 3C 및 도 4 내지 6의 실시예에 도시된 메모리 장치는 이들 특허 출원에 개시된 플래시 메모리 장치를 채용할 수 있다. 그러나, 이들 특허 출원에 기재되어 있는 직렬 입/출력 인터페이스는 사용될 수 있는 직렬 인터페이스의 예들이다. 소정의 명령 구조를 받아들이기 위해 구성되는 것이라면, 메모리 장치들 간의 직렬 동작을 용이하게 하는 어떠한 직렬 입/출력 인터페이스도 사용될 수 있다.
다른 실시예에 따르면, 직렬 입/출력 인터페이스가 어떤 타입의 메모리 장치와 함께 사용될 수 있다. 더욱 구체적으로는, 다른 메모리 타입이 직렬 입/출력 인터페이스와 동작하도록 적응될 수 있다. 도 7은 도 3A 내지 3C 및 도 4 내지 6의 직렬 메모리 시스템에 사용하는 데 적합한 직렬 입/출력 인터페이스와 네이티브 코어를 갖는 범용 메모리 장치의 개념적인 구성을 나타내는 블록도이다. 메모리 장치(500)는 메모리 어레이 뱅크(502 및 504)를 포함하는 네이티브 메모리 코어, 및 메모리 어레이 뱅크(502 및 504)에 액세스하는 네이티브 제어 및 I/O 회로(506)를 포함한다. 당업자는 메모리 어레이가 단일 메모리 뱅크나 2 이상의 메모리 뱅크로 구성될 수 있다는 것을 이해할 것이다. 네이티브 메모리 코어는 예컨대, DRAM, SRAM, NAND 플래시, 또는 NOR 플래시 메모리 기반일 수 있다. 물론, 어떤 최근에 만들어진 메모리 및 그에 대응하는 제어 회로가 사용될 수도 있다. 따라 서, 네이티브 메모리 코어의 타입에 따라서, 회로 블록(506)은 에러 정정 로직, 고전압 발생기, 리프레시(refresh) 로직 및 메모리 타입에 고유한 동작을 실행하는 데 필요한 어떠한 다른 회로 블록을 포함할 수 있다.
일반적으로, 메모리 장치는 내부 제어 신호를 어써팅(asserting)함으로써 수신된 명령에 응답하여 관련 회로를 초기화시키는 명령 디코더를 사용한다. 그들 메모리 장치는 또한, 데이터, 명령 및 어드레스를 수신 및 래치하는 잘 알려진 I/O 회로를 포함할 것이다. 본 실시예에 따르면, 기존의 I/O 회로가 직렬 인터페이스 및 제어 로직 블록(508)으로 대체되어 있다. 본 예에서, 직렬 인터페이스 및 제어 로직 블록(508)은 RST#, CE#, CK#, CK, CSI, DSI 및 Dn 입력을 수신하고, Qn, CSO, DSO, CKO 및 CKO# 출력을 제공하며, 이들은 도 5에 도시된 메모리 장치의 입력 및 출력 포트와 일치한다.
직렬 인터페이스 및 제어 로직 블록(508)은 미국 특허 출원 11/324,023호에 개시된 바와 같이, 여러 가지 기능을 책임진다. 직렬 인터페이스 및 제어 로직 블록(508)의 중요한 기능은 장치 식별 번호를 설정하고, 다음의 직렬로 접속된 메모리 장치로 데이터를 전달하며, 네이티브 동작을 실행하기 위해 수신된 명령을 디코딩하는 것이다. 이 회로는 네이티브 명령에 대응하는 직렬로 수신된 명령에 응답하여, 네이티브 명령 디코더가 어써트한 것과 동일한 제어 신호를 어써트하도록 구성되는 네이티브 명령 디코더를 대체하는 명령 디코더를 포함할 수 있다. 명령 세트는 메모리 장치들이 직렬로 접속될 때 메모리 제어기에 의해 사용 가능한 특징들을 실행하도록 확장될 수 있다. 예를 들어, 상태 레지스터 정보가 메모리 장치의 상태를 평가하도록 요구될 수 있다.
따라서, 도 3A 내지 3C 및 도 4 내지 6의 직렬 메모리 시스템은 더 큰 시스템에 대해 상이한 이점을 각각 제공하는 메모리 장치 타입들의 혼합을 포함할 수 있다. 예를 들면, 고속의 DRAM 메모리가 캐싱 동작용으로 사용될 수 있는 한편, 비휘발성의 플래시 메모리가 대용량 데이터 저장용으로 사용될 수 있다. 사용되는 메모리 장치의 타입에 무관하게, 각 메모리 장치는 직렬 인터페이스 및 제어 로직 블록(506)이 소정의 프로토콜에 따라 명령을 수신하도록 구성되기 때문에, 명령에 따르도록 개별적으로 어드레스 가능하다.
다른 실시예에 따르면, 이들 명령은 직렬 메모리 시스템의 개별 메모리 장치를 제어하기 위해 사용되는 모듈러 명령 구조를 갖는 명령 패킷으로 이루어진다. 제안된 명령 구조에서, 특정 명령이 개별 명령 패킷으로서 다른 시간에 메모리 장치에 발행될 수 있다. 명령 패킷이 제1 메모리 뱅크에 대한 특정 동작을 개시할 수 있고, 코어 동작이 제1 명령 패킷에 응답하여 실행되는 동안 후속 명령 패킷이 제1 메모리 뱅크에 대한 다른 동작을 개시하기 위해 수신될 수 있다. 추가의 명령 패킷이 유사한 삽입 방식으로 제1 메모리 뱅크와 제2 메모리 뱅크에 대한 동작을 완료하기 위해 수신될 수 있다. 이것을 메모리 장치에서 동시에 동작을 실행한다고 한다. 동시 동작을 논의하기 전에, 모듈러 명령 프로토콜의 설명을 행한다. 모듈러 명령 프로토콜의 더욱 상세한 설명은 공동 소유의 "Modular Command Structure in Memory System and its Use"라는 명칭의 2007년 3월 2일자로 출원된 미국 가특허 출원 60/892,705호에 기재되어 있다.
명령 패킷(600)은 도 8에 도시된 구조를 갖고, 3개의 필드를 포함하며, 그 중 2개가 메모리 제어기에 의해 발행되는 특정 명령에 따라 선택된다. 필수적인 필드인 제1 필드는 명령 필드(602)이다. 제1 선택 필드는 어드레스 필드(604)이고, 제2 선택 필드는 데이터 필드(606)이다.
명령 필드(602)는 2개의 서브필드, 즉 제1 필드인 장치 어드레스(DA) 필드(608) 및 제2 필드인 op-코드(OP 코드) 필드(610)를 포함한다. 장치 어드레스 필드(608)는 임의의 수의 비트의 길이일 수 있고, 시스템 내의 각 메모리 장치에 어드레스하는 데 사용된다. 예를 들면, 1 바이트 길이의 장치 어드레스 필드(608)가 256개의 메모리 장치까지 어드레스하기에 충분하다. 하나의 어드레스는 동작을 동시에 브로드케스팅(broadcasting)하기 위한 모든 메모리 장치에 어드레스하기 위해 확보될 수 있다. 대체 실시예에서, 장치 어드레스 필드(608)는 op-코드 필드(610)가 지시되는 메모리 장치의 타입을 나타내기 위한 장치 타입 필드를 포함할 수 있다. 예를 들면, 장치 타입 필드는 DRAM, SRAM 또는 플래시 메모리를 나타낼 수 있다. op-코드 필드(610)는 임의의 수의 메모리 장치에 대한 명령을 나타내기 위한 임의의 수의 비트 길이일 수 있고, 뱅크 어드레스를 포함할 수 있다. 예를 들면, 플래시 메모리 명령 세트는 DRAM 명령 세트와 다른 명령을 가질 것이며, 따라서 op-코드 필드가 메모리 시스템이 양 타입의 메모리 장치를 포함하면 양 명령 세트로부터 모든 가능한 명령을 수용하도록 구성될 것이다. 어드레스 필드(604)는 op-코드에 의해 특정된 동작의 타입에 따라서, 메모리 어레이의 로우 어드레스(Row Addr)나 칼럼 어드레스(Col Addr)를 제공하는 데 사용된다. 데이터 필드(606)는 메모리 장치에 기록되거나 프로그램될 임의의 수의 비트의 데이터를 포함할 것이다. 따라서, 명령 패킷(600)은 기록 데이터가 특정 동작에 필요 없을 수 있고 어드레스 및 기록 데이터의 양자가 특정 동작에 필요 없을 수 있기 때문에, 크기가 변할 것이다.
도 9는 앞서 기재한 직렬 메모리 시스템에 사용하는 도 7에 도시된 구성을 갖는 플래시 메모리 장치를 동작하는 데 사용될 수 있는 명령 패킷의 예를 리스트한다. 도 9에서의 바이트 위치는 메모리 장치에 의해 직렬로 수신되는 순서에 대응한다. 명령 필드(602)는 제1 바이트의 정보로서 장치 어드레스(DA) 및 제2 바이트의 정보로서의 동작에 대응하는 op-코드를 포함하는 제1 및 제2 바이트 위치를 점유한다. 어드레스 필드(604)는 제3 내지 제5 바이트 위치를 점유하는 3 바이트 로우 어드레스(RA)를 포함할 수 있지만, 제3 및 제4 바이트 위치만을 점유하는 2 바이트 칼럼 어드레스(CA)를 포함하도록 다른 명령에 대해 단축될 것이다. 2 바이트 칼럼 어드레스를 포함하는 명령에 있어서, 데이터 필드(606)는 데이터가 그 길이를 가진다면, 제5 비트 위치 내지 제2116 비트 위치를 점유할 것이다. 데이터는 더 적거나 더 많은 바이트 위치를 점유할 수 있다.
메모리 제어기에 의해 발행된 어떤 명령 패킷(600)이 시스템 내의 각 메모리 장치에 의해 직렬로 수신될 것이고, 명령 필드(602)의 DA 서브필드(608)에 일치하는 장치 어드레스를 갖는 메모리 장치만이 op-코드 서브필드(610)에 따를 것이다. 그렇지 않으면, 명령 패킷은 메모리 장치를 통해 체인 내의 후속 메모리 장치에 전달된다. op-코드가 특정 동작에 특정되기 때문에, 메모리 장치 및 더욱 구체적으 로는 메모리 장치(500)의 직렬 인터페이스 및 제어 로직 블록(508)은 명령 패킷의 어드레스 및/또는 데이터 정보를 래치하는 데 필요한 회로를 제어할 것이다. 예를 들어, 페이지 판독 명령 패킷이 지정된 메모리 장치에 의해 수신되면, 지정된 메모리 장치는 op-코드를 디코드하여, 이어지는 3 바이트 로우 어드레스를 래치하도록 적절한 회로를 제어한다.
도 9에 리스트된 명령 패킷의 예는 플래시 메모리 동작을 가리킨다. 상이한 동작을 갖는 어떤 다른 타입의 메모리 장치용의 명령 패킷의 세트가 설명한 명령 구조에 따르도록 구성될 수 있다.
앞서 설명한 명령 패킷은 도 7의 메모리 장치(500)와 같은 메모리 장치에서의 동시 동작을 실행하는 데 유리하게 사용될 수 있다. 메모리 장치(500)가 그 뱅크 중 어느 하나에 독립적으로 액세스하도록 구성되면, 실질적으로 동시 동작이 메모리 장치 내에서 실행될 수 있다. 독립적인 액세스는 상이한 메모리 뱅크에 대한 코어 동작이 서로 독립적으로 처리할 수 있는 것을 의미한다. 그러한 메모리 장치의 일례는 앞서 언급한 미국 특허출원 11/324,023호에 기재되어 있다. 코어 동작은 코어 동작의 완료가 상태 머신이나 다른 로직의 제어 하에서 실행되는 이벤트의 특정 시퀀스에 의존하기 때문에, 중단되지 않는 논리적인 또는 기능적인 동작을 지칭한다.
동시 동작은 메모리 제어기가 제2 동작을 위한 명령 패킷을 전송하기 전에 제1 동작을 완전히 완료할 때까지 대기할 필요가 없기 때문에, 시스템의 성능을 향상시킨다. 통상적인 NAND 플래시 메모리 장치에서는, 메모리 장치는 다른 명령을 받아들이지 않거나, 코어 동작이 현재의 메모리 뱅크에 대해 완료될 때까지 상이한 메모리 뱅크에 대해 수신된 명령에 응답할 것이다. 그래서, 메모리 장치는 다른 명령을 받아들이기 전에 여러 가지 동작을 직렬로 실행한다. 본 실시예의 동시 동작에서, 하나의 명령 패킷이 하나의 메모리 뱅크에서 하나의 동작을 개시하고, 코어 동작이 제1 메모리 뱅크에 대해 실행되고 있는 동안 후속 명령 패킷이 동일한 메모리 장치의 제2 메모리 뱅크에서의 다른 동작을 즉시 개시할 것이다. 따라서, 양 동작이 2개의 메모리 뱅크에 의해 거의 동시에 실행될 것이다.
도 10은 자신의 메모리 뱅크의 독립적인 엑세스를 위해 구성된 메모리 장치(500)와 같은 하나의 메모리 장치에서 동시 동작을 실행하는 방법을 나타내는 플로우차트이다. 단계 700에서 시작하여, 제1 명령이 메모리 제어기에 의해 발행되어 메모리 장치에 의해 수신된다. 제1 명령은 도 9에 도시되고 앞서 설명한 명령 패킷 중 어느 하나일 수 있다. 전체 패킷(명령 필드, 어드레스 필드 및 데이터 필드)이 수신되었다면, 코어 동작이 단계 702에서 메모리 장치의 제1 메모리 뱅크에 대해 시작한다. 제1 메모리 뱅크 코어 동작의 시작과 거의 동시에 발생하면, 제2 명령이 메모리 제어기에 의해 발행되어 단계 704에서 메모리 장치에 의해 수신된다.
단계 706에서, 제2 메모리 뱅크의 코어 동작이 제2 명령에 응답하여 실행된다. 결국, 제1 명령에 속하는 결과 정보가 단계 708에서 제공될 것이다. 결과 정보는 보충 판독 명령 패킷에 응답하여 제공되는 상태 정보나 판독 데이터를 포함할 수 있다. 상태 정보는 프로그램과 같은 특정 타입의 동작이나 소거 동작의 성공이 나 실패의 표시를 제공하고, 메모리 제어기에 의해 발행된 보충 "판독 상태" 명령 패킷에 응답하여 그 메모리 뱅크와 관련된 상태 레지스터로부터 판독된다. 판독 데이터는 보충 "버스트 판독" 명령 패킷에 응답하여 제공된다. 도 1을 참조하면, 판독 동작에 대한 코어 동작이 메모리 뱅크의 블록으로부터 판독된 데이터의 페이지를 데이터 레지스터 블록(32)에 출력하는 것을 포함한다. 데이터 레지스터 블록(32)으로부터 데이터를 판독하기 위해, 버스트 판독 동작이 실행된다. 단계 710에서, 제2 명령에 속하는 결과 정보가 제공된다. 양 메모리 뱅크로부터의 결과 정보는 결국 메모리 제어기로 리턴된다. 도 10의 실시예는 2개의 메모리 뱅크의 동시 동작을 나타내지만, 그 방법은 메모리 장치의 2 이상의 메모리 뱅크의 동시 동작에 적용 가능하다.
도 11 내지 15는 미국 특허출원 11/324,023호에 기재된 타입의 플래시 메몰리 장치에 의해 실행 가능한 동시 동작의 예를 나타내는 시퀀스도이다. 도 11 내지 15는 도 4 또는 5의 하나의 메모리 장치에 대한 시간당 CSI, Dn, DSI 및 Qn의 신호 트레이스를 도시한다. 예시된 시퀀스들은 특정 타이밍값을 나타내도록 의도된 것이 아니라, 신호들간의 상대 타이밍을 나타내도록 의도된 것이다. 명령 스트로브 입력(CSI)은 메모리 제어기에 의해 생성되고, 메모리 제어기에 의해 어셈블링되고 발행되는 명령의 길이에 대한 지시기로서 작용한다. 예를 들어, 발행되는 명령 패킷이 2 바이트의 길이이면, 대응하는 CSI는 명령의 제1 비트에 대응하는 활성 에지(이 예에서는 상승 에지)와, 명령 패킷의 최종 비트에 대응하는 비활성 에지를 갖는다. CSI 신호는 명령 데이터를 래치하도록 메모리 장치 명령 레지스터를 제어 한다. 데이터 스트로브 입력 신호(DSI)도 또한 메모리 제어기에 의해 생성되고, 메모리 장치에 의해 제공되는 데이터의 길이에 대한 지시기로서 작용한다. 예를 들어, 메모리 제어기에 의해 요구되는 판독 데이터가 8 바이트의 길이이면, 메모리 제어기에 의해 생성되는 대응하는 DSI는 판독 데이터의 제1 비트에 대응하는 활성 에지와 판독 데이터의 최종 비트에 대응하는 비활성 에지를 갖는다. CSI 및 DSI는 발행된 명령 비트 길이와 요구되는 판독 데이터 비트 길이를 알고 있기 때문에 메모리 제어기에 의해 생성된다.
도 11은 메모리 장치의 2개의 상이한 뱅크에 대한 동시 판독 동작을 나타내는 시퀀스도이다. 뱅크 0에 대한 페이지 판독 명령 패킷(800)은 CSI가 높은 논리 레벨일 때 메모리 장치에 의해 래치된다. 예를 들어, 도 9에 도시된 바와 같이, 페이지 판독 명령은 2 바이트 명령 및 3 바이트 로우 어드레스를 포함한다. 메모리 장치의 뱅크 0은 CSI가 시간 t0에서 낮은 논리 레벨로 하강한 후에, 지정된 로우 어드레스에 대한 판독 동작을 실행하기 시작한다. 예로서, 플래시 메모리 장치에 대한 판독 동작은 도 1에서의 WLi와 같은 워드라인의 활성화 및 BL0 내지 BLj의 비트라인 데이터의 감지를 포함한다. 결국, 감지된 데이터는 데이터 레지스터 블록(32)에 래치되거나 저장된다. 일 실시예에서, 페이지 판독 명령 패킷(800)이 그 Qn 출력 포트를 통해 후속 메모리 장치에 전달된다. 다른 실시예에서, 페이지 판독 명령 패킷(800)은 본 명령 패킷(800)이 현재의 메모리 장치에 어드레스되기 때문에, 추가의 메모리 장치로 전달되는 것이 금지된다. 예를 들어, Qn 출력에 제공되는 페이지 판독 명령 패킷(800)은 명령 레지스터에 래치된 후에 널(null)값으로 설정될 수 있다. 이것은 신호 라인의 레일간 신호 스위칭이 요구되지 않으므로, 전력을 유지한다.
뱅크 1에 대한 페이지 판독 명령 패킷(802)은 CSI가 높은 논리 레벨일 때 메모리 장치에 의해 래치된다. 메모리 장치의 뱅크 1은 CSI가 시간 t1에서 낮은 논리 레벨로 하강한 후에, 지정된 로우 어드레스에 대한 판독 동작을 실행하기 시작한다. 지금, 동시 동작이 메모리 뱅크 0 및 1에 의해 실행되고 있다. 특정수의 클록 사이클 후에, 데이터가 시간 t2에서 뱅크 0으로부터 판독될 준비가 된다. 뱅크 0으로부터 데이터를 판독하기 위해, 메모리 제어기는 CSI가 높은 논리 레벨일 때 수신되고 래치되는 버스트 판독 명령 패킷(804)을 발행한다. 도 9에 도시된 바와 같이, 버스트 판독 명령 패킷은 데이터가 판독될 칼럼 어드레스를 포함한다. 명령 패킷(804)에 대응하는 CSI가 낮은 논리 레벨로 하강한 후에, DSI는 Qn 출력 포트 버퍼를 인에이블시키도록 높은 논리 레벨로 상승하며, 그것에 의해 뱅크 0에 대한 출력 데이터를 판독 데이터 패킷(806)으로서 제공한다. 도 1을 다시 사용하는 예에서, Qn 출력 버퍼로의 데이터의 출력이 버스트 판독 명령 패킷(804)에특정된 칼럼 어드레스에서 시작하여 DSI가 낮은 논리 레벨로 하강할 때 종료하는 데이터 레지스터 블록(32)으로부터 데이터를 판독하는 것에 대응할 수 있다. 뱅크 0에 대한 출력 데이터의 최종 비트가 출력될 때까지, 뱅크 1에 대한 데이터가 시간 t3에서 판독 준비된다. DSI가 낮은 논리 레벨로 하강한 후에, 뱅크 1에 대한 버스트 판독 명령 패킷(808)이 메모리 장치에 의해 수신되어 래치된다. 버스트 판독 명령 패킷(808)에 대한 CSI의 하강 에지에 따라, DSI가 뱅크 1로부터의 판독 데이터를 판독 데이터 패킷(810)으로서 Qn 출력 포트에 출력하기 위해 소정 기간 동안 높은 논리 레벨로 다시 구동된다.
t0과 t2 사이에서의 뱅크 0의 코어 동작 및 t1과 t3 사이에서의 뱅크 1의 코어 동작은 거의 동시에 서로 겹쳐지기 때문에, 양 판독 동작에 대한 총 코어 동작 시간은 시간 t0과 t3 사이이다. 종래 기술에서는, 양 코어 동작은, 뱅크 1에 대한 코어 동작이 t2에서 뱅크 0에 대한 코어 동작이 완료된 후에 수신되는 제2 페이지 판독 명령 패킷에 응답하여 시작하는 것을 의미하는, 순서대로 실행된다. 앞서 나타낸 바와 같이 동시 동작을 실행하는 성능의 이점은 당업자에게는 명백하다.
도 12는 메모리 장치의 2개의 상이한 뱅크에 대한 동시 프로그램 동작을 나타내는 시퀀스도이다. 이 점으로부터 앞으로 메모리 장치의 Dn 입력 포트에서 수신된 명령 패킷이 도 11 내지 15의 Qn 신호 트레이스에 나타난 자신의 Qn 출력 포트에 전달되는 점에 유의하라. 메모리 뱅크를 프로그램하기 위해, 프로그램 데이터가 먼저 특정 칼럼 어드레스에 기초하는 메모리 장치의 데이터 레지스터로 로드된 후 특정 로우에 대해 프로그램된다. 도 12에서, 뱅크 0에 대한 버스트 데이터 로드 명령 패킷(820)이 프로그램 데이터와 함께 수신되고 잠시 후에 페이지 프로그램 명령 패킷(822)이 뒤따른다. 양 명령 패킷(820 및 822)은 CSI가 높은 논리 레벨에 있을 때 래치된다. 페이지 프로그램 패킷(822)이 래치되고 메모리 장치에 의해 디코드된 후에, 뱅크 0에 데이터를 프로그래밍하는 코어 동작이 시간 t0에서 시작한다. 이제, 뱅크 1에 대한 버스트 데이터 명령 패킷(824)이 프로그램 데이터와 함께 수신되고 잠시 후에 페이지 프로그램 명령 패킷(826)이 뒤따른다. 페이지 프 로그램 패킷(826)이 래치되고 메모리 장치에 의해 디코드된 후에, 뱅크 1에 데이터를 프로그래밍하는 코어 동작이 시간 t1에서 시작한다.
필요한 경우, 메모리 제어기는 판독 상태 명령 패킷(828)을 발행함으로써 메모리 장치의 상태를 요구할 수 있다. 이것은 그 데이터가, DSI가 높은 논리 레벨에 있을 때 Qn 출력 포트에 판독 데이터 패킷(830)으로서 출력될 메모리 장치의 상태 레지스터에 액세스한다. 당업자는 상태 레지스터가 내부 동작이 실행됨에 따라 메모리 장치에 의해 내부적으로 업데이트된다는 것을 이해할 것이다. 본 예에서, 판독 데이터 패킷(830)은 뱅크 0에 대한 프로그래밍이 완료되었다는 것을 나타낸다. 뒤이어 발행되는 판독 상태 명령 패킷(832)은 판독 데이터 패킷(834)이 뱅크 1에 대한 프로그래밍이 완료되었다는 것을 나타낼 수 있는 상태 레지스터의 값을 제공하게 한다. 다시 한번, 뱅크 0 및 뱅크 1의 코어 프로그래밍 동작이 거의 동시에 겹쳐지기 때문에, 2개의 뱅크의 순차 프로그래밍과 비교할 때 상당한 시간이 세이브된다.
도 13은 메모리 장치의 2개의 상이한 뱅크에 대한 동시 판독 및 프로그램 동작을 나타내는 시퀀스도이다. 뱅크 0에 대한 페이지 판독 명령 패킷(840)은 메모리 장치에 의해 래치되고 뱅크 1에 대한 버스트 데이터 로드 개시 명령 패킷(842)이 뒤따른 후, 뱅크 1에 대한 페이지 프로그램 명령 패킷(844)이 뒤따른다. 시간 t0에서, 뱅크 0으로부터 데이터를 판독하는 코어 동작이 시작하는 한편, 시간 t1에서는 뱅크 1에 데이터를 프로그래밍하는 코어 동작이 시작한다. 뱅크 0의 페이지 판독 동작에 대한 코어 동작이 먼저 시작되었기 때문에, 데이터는 시간 t2에서 준 비되는 한편, 뱅크 1에 데이터를 프로그래밍하는 코어 동작은 진행 중이다. 따라서, 버스트 판독 명령 패킷(846)이 수신되고, DSI가 판독 데이터 패킷(848) 내의 뱅크 0으로부터 판독 데이터를 출력하도록 어써트된다. DSI가 뱅크 0으로부터 판독 데이터의 출력을 종료하도록 디어써트된 후, 판독 상태 명령 패킷(850)이 뱅크 1의 프로그래밍 상태를 체크하기 위해 발행될 수 있다. 뱅크 1은 시간 t3에서 프로그래밍 동작을 완료해야 하기 때문에, DSI가 다시 어써트되고, 판독 데이터 패킷(852)이 Qn 출력 포트에 제공되며, 이것이 뱅크 1에 대한 프로그래밍 동작의 성공 또는 실패 상태를 나타낸다.
도 14는 메모리 장치의 2개의 상이한 뱅크에 대한 동시 블록 소거를 나타내는 시퀀스도이다. 뱅크 0에 대한 블록 소거 어드레스 입력 명령 패킷(860)이 메모리 장치에 의해 래치되고, 뱅크 0에 대한 소거 명령 패킷(862)이 뒤따른다. 소거 명령 패킷(862)이 래치된 후, 뱅크 0에 대한 코어 동작이 시간 t0에서 시작한다. 이제 뱅크 1에 대한 블록 소거 어드레스 입력 명령 패킷(864)이 메모리 장치에 의해 래치되고, 뱅크 1에 대한 소거 명령 패킷(866)이 뒤따른다. 소거 명령 패킷(866)이 래치된 후에, 뱅크 1에 대한 코어 동작이 시간 t1에서 시작한다. 블록 소거 어드레스 입력 명령 및 소거 명령의 구조가 도 9에 도시된다. 뱅크 0에 대한 소거 동작이 시간 t2에서 완료되어야 하고, 뱅크 1의 소거 동작이 시간 t3에서 완료되어야 한다면, 별개의 판독 상태 명령 패킷(868 및 870)이 메모리 장치에 의해 발행되어 래치될 수 있다. 대응하는 판독 데이터 패킷(872 및 874)이 메모리 장치의 Qn 출력 포트에 제공되며, 그들 각각이 상태 레지스터의 값을 제공한다.
도 11 내지 14의 시퀀스도에서, 동시 동작의 상이한 조합이 예시되어 있다. 앞의 실시예들에 기재되어 있는 모듈러 명령 패킷 구조의 이점은 상이한 명령 패킷들이 상이한 시간에 발행될 수 있다는 것이다. 앞서 도시된 바와 같이, 버스트 데이터 로드 명령 패킷 바로 뒤에 페이지 프로그램 명령 패킷이 뒤따른다. 그러나, 이것은 항상 필수적인 경우는 아니고, 페이지 프로그램 명령 패킷이 원하는 경우 더 뒤에 발행될 수도 있다. 명령 패킷들이 명령 스트로브 신호(CSI) 및 데이터 스트로브 신호(DSI)와 조합하여 사용될 때, 추가의 이점이 실현되며, 그것은 메모리 장치의 동작을 일시정지시키는 능력이다. 앞서 언급된 바와 같이, CSI 스트로브 신호는 Dn 입력 포트 상의 명령 데이터가 명령 레지스터에 의해 래치될 것을 나타내기 위해 메모리 제어기에 의해 제공되며, 발행중의 명령 패킷의 길이에 대응하는 지속기간을 가질 수 있다. 메모리 뱅크를 프로그래밍하는 입력 데이터 및 메모리 뱅크로부터 판독된 출력 데이터는 1000 바이트 길이를 초과할 수 있으므로, 당업자는 그러한 데이터량을 입력하거나 출력하는 데 비교적 긴 시간이 필요하다는 것을 이해할 것이다. 본 실시예에 따르면, CSI 및 DSI 스트로브 신호는, 프로그램 데이터가 로드되거나 판독 데이터가 출력되는 동안 때 이르게 디어써트되고 이후의 시간에 재개될 수 있다.
도 15는 일시정지 및 재개 동작과 함께, 메모리 장치의 2개의 상이한 뱅크에 대한 동시 프로그램 및 판독 동작을 나타내는 시퀀스도이다. 뱅크 1에 대한 버스트 데이터 로드 개시 명령 패킷(880)이 래치되고, 명령 패킷의 데이터 필드 내의 데이터 페이로드(payload)가 메모리 장치에 의해 래치된다. 시간 t0에서, 메모리 장치로의 데이터 로딩은 메모리 제어기가 CSI를 디어써트할 때 일시정지된다. 본 예에서는, 256 바이트의 데이터만 메모리 장치에 의해 래치되어 메모리 제어기에 의해 트래킹된다. 뱅크 0에 대한 페이지 판독 명령 패킷(882)가 래치되고 뱅크 0에 대한 코어 동작이 시간 t1에서 시작한다. 명령 패킷(880)의 일시정지된 데이터 로딩 동작은 뱅크 1에 대한 버스트 데이터 로드 명령 패킷(884)이 수신될 때 시간 t2에서 재개된다. 명령 패킷(884)의 데이터 필드 내의 데이터 페이로드는 아직 래치되지 않은 나머지 1856 바이트의 데이터를 포함한다. 이어지는 것이 뱅크 1에 대한 페이지 프로그램 명령 패킷(886)이고, 뱅크 1에 데이터를 프로그래밍하는 코어 동작이 시간 t3에서 시작한다. 결국, 뱅크 0에 대한 코어 동작이 시간 t4에서 완료될 것이고, 뱅크 0에 대한 버스트 판독 명령 패킷(888)이 메모리 제어기에 의해 발행되어 메모리 장치에 의해 래치된다. 판독 데이터는 DSI가 높은 논리 레벨에 있을 때 데이터 판독 패킷(890)으로서 출력된다.
그러나, 다량의 데이터가 출력되기 때문에, 호스트 시스템은, 제어기가 프로그래밍 동작이 시간 t6에서와 같은 일정한 소정 시간 내에 완료되어야 하는 것을 알기 때문에, 뱅크 1에 대한 프로그래밍이 완료되는 것을 확인하기를 원할 수도 있다. 판독 상태 요구를 전송하기 전에 출력될 모든 판독 데이터를 대기하는 대신에, 판독 데이터의 출력이 DSI를 디어써트함으로써 시간 t5에서 일시정지될 수 있다. 데이터 출력 동작이 일시정지되면, 판독 상태 명령 패킷(892)이 메모리 제어기에 의해 발행되어 메모리 장치에 의해 래치된다. 그 후, 상태 레지스터 값을 포함하는 대응하는 판독 데이터 패킷(894)이 제공된다. DSI가 판독 데이터 패 킷(894)의 단부에서 디어써트된 후에, 버스트 판독이 재개할 수 있다. 이것은 멤리 제어기가 시간 t5에서 일시정지된 판독 이전에 출력될 다음의 비트의 어드레스를 포함하는 뱅크 0에 대한 버스트 판독 명령 패킷(896)을 발행하게 함으로써 달성된다. 시간 t7에서, 나머지 1600 바이트가 Qn 출력 포트로부터 판독 데이터 패킷(898)으로서 출력된다.
도 15의 일시정지된 동작의 예는 동시 동작을 실행하는 모듈러 명령 구조의 이점을 나타내고, 동시 동작의 각각은 코어 이용 및 채널의 이용을 최대화하기 위해 일시정지 및 재개될 수 있다.
도 11 내지 15의 시퀀스 및 동작의 예는 명령 패킷이나 판독 데이터 패킷에 관한 정보를 제공하도록 CSI 및 DSI 스트로브 신호에 의존한다. 명령 패킷은 사이즈가 가변적이고, 명령 패킷의 비트 길이를 나타내기 위한 헤더 정보가 없기 때문에, CSI 스트로브 신호가 직렬 명령 패킷과 병렬로 제공되는 명령 패킷의 헤더로서 기능을 한다. CSI 신호는 명령 패킷의 길이에 대해 활성적이고, Dn 입력 포트 상에 나타나는 명령 패킷 데이터를 적절한 레지스터로 래치하도록 메모리 장치에 의해 사용된다. DSI 신호는 메모리 제어기에 의해 알려져서 판독 데이터 패킷과 병렬로 이동하는 기대되는 판독 데이터 패킷의 길이에 대해 활성적이다. 그래서, 활성 DSI 신호는 판독 데이터 패킷의 헤더로서 기능을 한다. 따라서, 명령 패킷 및 판독 데이터 패킷의 길이는 그들 각각의 CSI 및 DSI 스트로브 신호들의 길이에 대응한다.
판독 데이터 패킷과 명령 패킷의 양자는 인접한 메모리 장치들의 Dn과 Qn 포 트 사이에 접속되는 동일한 신호 라인을 따라 이동하기 때문에, 데이터를 갖는 CSI 스트로브의 존재는 데이터를 명령 데이터 패킷으로서 지정하는 한편, 데이터를 갖는 DSI 스트로브의 존재는 데이터를 판독 데이터로서 지정한다. 따라서, 스트로브 신호들은 또한 메모리 시스템을 통해 이동하는 데이터의 타입을 식별한다. 메모리 제어기는 수신된 판독 데이터 패킷과 예상되는 데이터의 타입이 일치할 수 있도록 자신이 발행하는 DSI 스트로브를 트래킹한다. 예를 들면, 판독 데이터 패킷은 상태 레지스터 정보나 메모리 어레이로부터 판독된 데이터를 포함할 수 있다.
CSI 및 DSI 신호의 기능적인 관계를 고려할 때, 어떤 타입의 후속 스트로브 신호들 사이에 최소 분리 시간이 삽입된다. 이것이 모든 명령 패킷과 판독 데이터 패킷이 별개이고 정의되도록 보증하며, 적절한 타입의 데이터가 메모리 제어기의 메모리 장치에 의해 래치되도록 보증한다. 분리가 사용되는 4개의 가능한 상황이 존재한다. 이들은 CSI-CSI 분리(tCCS), CSI-DSI 분리(tCDS), DSI-CSI 분리(tDCS), 및 DSI-DSI 분리(tDDS)이다.
CSI-CSI 분리(tCCS)는 동일하거나 상이한 장치로의 연속적인 명령 패킷들 간의 클록 기간(tCK) 중의 최소 분리 시간이다. 이 분리 시간은 예컨대, 새로운 명령을 준비할 때 명령 레지스터를 클리어하고 어떤 명령 로직을 리셋함으로써, 이전의 명령이 메모리 장치로부터 클리어되게 한다. DSI-DSI 분리(tDDS)는 동일한 장치로의 연속적인 판독 데이터 패킷들 간의 클록 기간(tCK) 중의 최소 분리 시간이다. 이 분리 시간은 출력 버퍼 회로가 출력될 다음의 데이터를 준비할 때 리셋하게 한다. DSI-CSI 분리(tDCS)는 동일하거나 상이한 장치로의 판독 데이터 패킷과 후속 명령 패킷 간의 클록 기간(tCK) 중의 최소 분리 시간이다. CSI-DSI 분리(tCDS)는 동일한 장치로의 명령 패킷과 판독 데이터 패킷 간의 클록 기간(tCK) 중의 최소 분리 시간이다. 이들 2개의 분리 시간은, 양자가 메모리 장치의 Dn 입력 포트 상에 연속적으로 나타날 수 있기 때문에, 적절한 데이터 타입이 메모리 장치에 의해 래치되는 것을 보증한다. 메모리 제어기가 명령 패킷이나 데이터 패킷 비트 길이의 알리려 CSI 및 DSI 신호를 발행하기 때문에, 명령 패킷 및 데이터 패킷 자체들은 스트로브 신호들과 동일한 최소 시간으로 분리되는 것이 보증된다.
이들 분리 시간의 예들이 도 11 내지 14에 주석이 붙여져 있고, 최소 분리 시간은 채용되는 데이터 레이트 구조에 의존하는 클록 기간의 일부분일 수 있는 클록의 하나의 데이터 래칭 에지일 수 있다. 예를 들면, 데이터가 클록의 상승 에지에서 래치되는 단일 데이터 레이트 구조(SDR)에서는, 최소 분리 시간은 1 클록 사이클 또는 기간이다. 데이터가 클록의 상승 에지 및 하강 에지의 양쪽에서 래치되는 더블 데이터 레이트 구조(DDR)에서는, 최소 분리 시간은 클록 기간의 0.5이다. 도 11 내지 15는 단일 메모리 장치에서의 동시 동작의 예들이고, CSI-DSI 분리나 DSI-CSI 분리의 관계를 명확하게 나타내지 않는다. 도 16은 CSI-DSI나 DSI-CSI 분리의 관계를 나타내는 시퀀스도이다.
도 16은 제1 메모리 장치가 자신의 Qn 출력 포트로부터 자신의 판독 데이터 를 출력하고, 제2 메모리 장치가 판독 데이터가 제1 메모리 장치로부터 출력된 후 명령 패킷을 수신하는 시나리오의 일례이다. 이 예에서 언급되는 2개의 메모리 장치는 예컨대, 도 4 및 5에 도시된 것에 대응할 수 있다. DSI_1, CSI_1, DSO_1, CSO_1 및 Qn_1 포트에 대한 신호 트레이스(trace)는 제1 메모리 장치에 대해 도시되고, 여기에서 덧붙인 "_1"은 제1 메모리 장치의 포트를 나타낸다. DSI_2, CSI_2 및 Dn_2에 대한 신호 트레이스는 제2 메모리 장치에 대해 도시되고, 여기에서 덧붙인 "_2"는 제2 메모리 장치의 포트를 나타낸다. 제1 메모리 장치는 데이터를 판독하기 위한 하나 이상의 명령 패킷을 이미 수신하고 있다고 가정한다. 그 결과, DSI_1은 데이터를 Qn_1 포트에 판독 데이터 패킷(902)으로서 출력하기 위해 스트로브 신호(902)를 수신한다. 판독 데이터 패킷(902)은 "Qn_1 Read DATA"의 라벨이 붙어있다. 판독 데이터 및 스트로브 신호가 제1 메모리 장치로부터 제2 메모리 장치로 직렬로 전달되기 때문에, DSO_1은 DSI_1 포트로부터 수신된 스트로브 신호(900)를 제2 메모리 장치의 DSI_2 포트로 전달한다. 유사하게, 판독 데이터 패킷(902)이 제1 메모리 장치의 Qn_1 포트로부터 제2 메모리 장치의 DN_2 포트로 전달된다.
메모리 제어기는 이제 제2 메모리 장치로 어드레스되는 "Dn_2 CMD DATA"의 라벨이 붙여진 명령 패킷(904)을 동반하는 CSI 스트로브 신호(906)과 함께 발행한다. 스트로브 신호(906)는 CSI_1을 통해 제1 메모리 장치로 전달되고, 명령 패킷은 제1 메모리 장치(도 16에는 도시되지 않음)의 Dn 입력 포트로 전달되어 Qn_1 출력 포트를 통해 출력된다. 제1 메모리 장치는 명령 패킷(904)가 제2 메모리 장치 로 어드레스되기 때문에, 명령 패킷(904)을 무시한다. 제1 메모리 장치는 그 후 스트로브 신호(906)를 자신의 CSO_1로부터 제2 메모리 장치의 CSI_2 포트로 전달하고, 명령 패킷(904)을 자신의 Qn_1 출력 포트로부터 제2 메모리 장치의 CSI_2 포트로 전달한다. 스트로브 신호(900)의 하강 에지와 스트로브 신호(906)의 상승 에지 사이에 최소 분리 tCDS, 및 판독 데이터 패킷(902)의 최종 비트와 명령 패킷(904)의 제1 비트 사이에 최소 분리가 존재하기 때문에, 제2 메모리 장치는 적절한 레지스터에 명령 패킷(904)을 신뢰할 수 있게 래치한다. 반면에, 명령 패킷(904)와 그에 대응하는 스트로브 신호(906)가 어떠한 분리 tCDS 없이 발행되었다면, 제2 메모리 장치는 판독 데이터 패킷(902)의 판독 데이터 비트를 명령 패킷(904)의 부분으로서 래치할 수 있다. 따라서, 최소 분리는 데이터 타입의 혼합이 없다는 것을 보증한다.
앞서 설명한 메모리 시스템에서의 메모리 장치, 특히 비휘발성 메모리 장치는 메모리 장치에 공급되는 전력이 없을 때 저장된 데이터를 유지할 수 있는 이점을 갖는다. 그러나, 전체 전력 동작과 전력이 전혀 없거나 전력 세이빙 레벨 사이의 전이는 저장된 데이터의 무결성을 위태롭게 할 수 있다.
도 17A는 본 발명의 실시예들이 적용될 수 있는 플래시 메모리 장치를 되한다. 도 17A를 참조하면, 플래시 메모리(1010)는 플래시 회로의 여러 가지 기능을 제어하는 제어 회로(1012)와 같은 논리 회로, 어드레스 정보를 저장하는 어드레스 레지스터(1012a), 프로그램 데이터 정보를 저장하는 데이터 레지스터(1012b), 명령 데이터 정보를 저장하는 명령 레지스터(1012c), 필요한 프로그램 및 소거 전압을 생성하는 고전압 회로, 및 메모리 어레이(1014)에 액세스하는 코어 메모리 회로를 포함한다. 제어 회로(1012)는 명령 디코더 및 판독, 프로그램 및 소거 기능과 같은 내부 플래시 동작을 실행하는 로직을 포함한다. 당업자는 이들 동작이 명령 레지스터(1012c)에 저장된 명령 데이터에 응답하여, 종종 실행될 동작에 따라 각각의 어드레스 레지스터(1012a) 및 데이터 레지스터(1012b)에 저장된 어드레스 데이터 및 프로그램 데이터와 조합하여, 실행된다는 것을 이해할 것이다. 명령 데이터, 어드레스 데이터 및 프로그램 데이터는 메모리 제어기에 의해 발행되어 플래시 메모리(1010)에 의해 대응하는 레지스터에 래치된다. 플래시 메모리(1010)의 도시된 회로 블록의 기본 기능은 당업계에 공지되어 있다. 당업자는 도 17A에 도시된 플래시 메모리(1010)가 다수의 가능한 구성 중에서 하나의 가능한 플래시 메모리 구성을 나타내는 것을 이해할 것이다.
플래시 메모리(1010)의 적절한 동작을 위해, 어드레스, 데이터 및 명령 정보를 저장한 레지스터가 신뢰할 수 있어야 한다. 레지스터에 저장된 부적절한 값은 장치 오동작을 초래한다. 예를 들면, 가변 공급 전압은 레지스터가 명령 레지스터(1012c)에 저장된 정보의 상태를 랜덤하게 변화시킬 수 있어, 수신된 프로그램이나 소거 명령에 대응하는 비트 패턴을 생성할 수 있게 된다. 그러한 경우에, 의사 프로그램 동작이 데이터 레지스터(1012b) 내의 랜덤 데이터가 메모리 어레이(1014)의 어드레스 레지스터(1012a)의 랜덤 어드레스로 프로그램되게 한다. 데이터가 이 어드레스에 존재한다면, 그 어드레스에 대응하는 메모리 셀은 프로그래밍 전압에 종속되며, 그 임계 전압이 변화될 수도 있다. 의사 소거 동작은 메모리 어레이(1014) 내의 기존의 데이터의 소거를 야기할 수 있다. 메모리 제어기가 플래시 메모리(1010)에 의해 실행되는 의사 동작을 인식하지 못하기 때문에, 손실 데이터가 검색될 수 없다.
플래시 메모리(1010)의 레지스터는 2개의 안정 상태를 갖는 플립-플롭 회로로 일반적으로 설계된다. D 플립-플롭은 도 17B에 도시된 바와 같이, 당업계에 공지되어 있는 회로이다. D 플립-플롭(1050)은 CLK의 상승 에지와 같은 클록 신호(CLK)의 활성 에지에 내부적으로 래치되는 입력 데이터(D_IN)를 수신하는 D-입력을 갖는다. 래치될 때, Q-출력이 D_IN의 논리 상태에 대응하는 D_OUT을 제공하는 한편, 상보적인 Qb 출력은 D_IN의 반전된 논리 상태에 대응하는 D_OUTb를 제공한다. 리셋 입력은 신호 RESET이 예컨대, VSS 또는 접지와 같은 활성 논리 레벨에 있는 동안 래치를 클리어한다. 각 플립-플롭 회로는 그에 따라, 1비트의 데이터를 저장하고 명령 레지스터(1012c)는 복수의 플립-플롭 회로를 포함한다. 당업자에게 공지된 바와 같이, 플립-플롭 래치 회로는 한 쌍의 교차 연결된 반전 회로를 포함할 수 있다.
도 18은 일반적인 플래시 메모리(1010)에서의 전력 상승 및 전력 하강 동작 중의 전압원(VCC), 활성 저논리 레벨 리셋 신호(RST#), 및 활성 저논리 레벨 칩 인에이블 신호(CE#)의 시퀀스도를 나타낸다. 전력 상승 동작 중에, 전원 전압(VCC)은 온할 때(tON) 낮은 GND나 VSS 전압 레벨로부터 높은 VCC 전압 레벨로 전이를 시작한 다. VCC 전압 레벨이 상승하고, 시간 tST에서, 안정적인 전압 레벨 VST에 도달하며, 그 때 플래시 메모리(1010)가 동작될 수 있다. 결국, VCC 전압 레벨은 시간 tV에서 최대 VCC 레벨에 도달한다. 관련 메모리 제어기로부터 수신되는 장치 리셋 및 인에이블 신호(RST# 및 CE#)는 각각 시간 tON에서 동시에 비활성 고논리 레벨로 구동되지만, VCC의 상승 전압에 따른다. RST#이 디어써트되거나 비활성 논리 레벨에 있으면, 장치는 "준비" 상태에 있고 메모리 제어기로부터 명령을 수신하도록 동작 가능하다. 선택적으로, 제어기는 장치가 리셋 상태에 있는 동안 비활성 고논리 레벨로 구동시킴으로써 시간 tON에서 CE# 신호를 디어써트한다. VCC가 그 최대 전압 레벨을 향해 상승하고 있기 때문에, CE#은 VCC 상승에 따른다. CE# 신호는 장치를 정상 운행 상태로 진입시키도록 시간 tCEOff에서 어써트될 수 있다. 시간 tCEOff는 RST# 신호가 디어써트되거나, 비활성 고논리 레벨로 구동된 후에(즉, 시간 tV 후에) 적어도 tCE #의 시간 간격이 경과한 후에 발생한다. 장치가 정상 운행 상태로 진입하면, 초기화 동작이 장치 레벨과 시스템 레벨의 양 레벨에서 실행될 수 있다. 그러나, 시간 tON에서 시간 tV 까지의 VCC 전이 중에, 또는 적어도 시간 tST까지, 레지스터로의 제어 신호가 정확하게 제어될 수 없다. 이것이 플래시 메모리(1010)의 여러 개의 레지스터에 의사 정보가 저장되는 것을 유도할 수 있어, 플래시 메모리(1010) 내의 데이터 무결성의 손실을 초래하는 부적절한 프로그래밍이나 데이터의 소거를 야기 할 수 있다.
전력 전이 중의 무의식적인 프로그램/소거 동작으로 인한 데이터 무결성의 손실이, 속도의 점진적인 증가를 필요로 하고, 크기 감소뿐만 아니라, 더 낮은 전력 소비에 대한 요망이 플래시 메모리 장치가 더 낮은 VCC 전압 레벨에서 루틴하게 동작하는 것을 필요로 하는 현 세대의 플래시 장치에서는 악화된다. 더 낮은 동작 VCC 레벨이 플래시 장치의 여러 개의 레지스터에 저장되는 의사 정보와 관련된 문제를 확대시켜, 데이터 신뢰성에 나쁜 영향을 준다.
비휘발성 메모리 장치에서의 전력 상승 및 전력 하강 동작과 같은 전력 전이 중의 데이터 보호 방법을 설명한다. 어떠한 전력 전이를 어써트하기 전에, 리셋 신호가 메모리 장치의 기능을 디스에이블시키도록 어써트된다. 리셋 신호는 프리셋 시간 동안 유지되며, 그 동안 장치 전압이 안정화될 것으로 기대된다. 이 시간 동안, 장치의 명령 레지스터와 같은 모든 내부 레지스터들이 디폴트값으로 설정되어, 의사 프로그램/소거 명령이 장치에 의해 실행되는 것으로 인한 데이터 손실을 방지한다.
도 19는 본 발명의 일 실시예에 따르는 비휘발성 메모리 장치에서의 전력 상승 및 전력 하강 동작 중의 전압원(VCC), 활성 저논리 레벨 리셋 신호(RST#), 및 활성 저논리 레벨 칩 인에이블 신호(CE#)의 시퀀스도를 나타낸다. 앞서 기재된 바와 같이, VCC 전압은 시간 tON에서 낮은 GND나 VSS 전압 레벨로부터 높은 VCC 전압 레벨 로 전이한다. 이와 달리, VCC 전압 레벨은 저전력 모드에서 VCC 전압 레벨로 전이할 수 있다. VCC 전압 레벨이 적시에 및 시간 tST에서 상승하여, 안정적인 전압 레벨 VST를 초과하며, 그 때 플래시 메모리(1010)가 동작될 수 있다. 결국, VCC 전압 레벨은 시간 tV에서 최대 VCC 레벨에 도달한다. 그러나, 의사 정보가 명령 레지스터에 래치되는 것으로 인한 장치 오동작을 방지하기 위해, 비휘발성 메모리 장치와 관련된 메모리 제어기와 같은 제어기가, 적어도 VCC 전압 레벨이 안정적인 VST 전압 레벨에 도달하는 데 필요한 시간(tON에서 tST까지의 시간)인 대기 기간 동안 장치의 모든 기능을 디스에이블시키도록 활성 저논리 레벨에 RST# 신호를 유지한다. 도 19에 도시된 실시예에서, RTS# 신호는, tON에서 tST + 적어도 VCC 레벨이 안정적인 전압 레벨 VST에 도달한 후의 시간 t1까지의 확장된 시간 tRST 동안 활성 저논리 레벨에 유지된다. 장치의 모든 내부 레지스터는 따라서, RTS# 신호가 활성 저논리 레벨에 있는 동안 디폴트 또는 리셋 상태로 유지될 것이다.
결국, 제어기는 도 19에 도시된 바와 같이 시간 tRST 후에 RTS#을 디어써트할 것이다. 이 시간 이후에, 전력이 안정화되고, 그 후 장치 구성요소들이 동작을 위해 자신들을 준비하거나 초기화할 수 있다. 선택적으로, 제어기는 장치가 리셋 상태에 있는 동안 비활성 고논리 레벨로 CE# 신호를 구동시킴으로써 시간 tON에서 CE# 신호를 디어써트한다. VCC가 자신의 최대 전압 레벨로 상승하고 있기 때문에, CE# 은 VCC 상승에 따른다. CE# 신호는 장치를 정상 운행 상태로 진입시키도록 시간 tCEOff에서 어써트될 수 있다. 시간 tCEOff는 RST# 신호가 디어써트되거나, 비활성 고논리 레벨로 구동된 후에 적어도 시간 간격 t2가 경과한 후에 발생한다. 장치가 정상 운행 상태로 진입하면, 초기화 동작이 장치 레벨과 시스템 레벨의 양 레벨에서 실행될 수 있다. 전력 전이 동작 중에 소정 크기의 시간 동안 리셋 상태로 장치를 신중히 유지하는 것은 의사 정보가 장치의 여러 개의 레지스터에 저장되거나 래치되는 것을 방지한다. 장치는 그에 따라, 부적절하고 부주의한 프로그래밍 또는 데이터의 소거에 대해 보호되어, 전력 전이 중에 데이터 무결성을 보증한다.
데이터 보호를 보증하기 위한 유사한 절차가, VCC가 턴 오프되고 낮은 GND 또는 VSS 전압 레벨로 구동될 때, tOFF 이전의 소정의 시간에 RST#을 어써트함으로써 또는 RST#을 활성 저논리 레벨로 구동시킴으로써 전력 하강 동작 중에 이어질 수 있다.
본 발명의 일 실시예에 따르는 비휘발성 메모리 장치에서 전력 전이 중의 데이터 보호 방법을 나타내는 플로우차트가 도 20에 도시되어 있다. 플래시 메모리 장치와 같은 비휘발성 메모리 장치를 제어하는 메모리 제어기는 장치를 리셋 상태에 두도록 어떤 전력 전이 이전에 RST#을 낮게 유지한다(단계 1100). 이 시간 동안, 장치의 내부 레지스터가 디폴트 또는 리셋 상태로 설정된다. 제어기는 그 후, 전력을 전이시키고(단계 1102), 장치의 내부 전압이 안정화하도록 소정의 시간 동 안 대기한다(단계 1104). 대기 시간은 도 19에 도시된 tRST에 대응하고, 적어도 VCC 전압 레벨이 안정적인 VST 전압 레벨에 도달하는 데 필요한 시간(tON에서 tST까지의 시간) + 적어도 VCC 레벨이 안정적인 전압 레벨 VST에 도달한 후의 시간 t1이다. 시간 t1은 동작 전압 및 프로세스 기술과 같은 장치 특성에 기초하여 결정될 수 있다. 예를 들어, RST#이낮게 즉, tRST로 유지되는 총 시간은 10□s 이상일 수 있다. 이 시간 동안, 장치의 여러 구성요소가 안정화하고, 클록이 동작적으로 되며 주파수 및 위상이 안정적으로 된다.
시간 tRST의 경과 후에, 제어기는 장치가 "준비" 상태에 있다고 예상될 때 RST# 하이 신호를 어써트한다(단계 1106). 도 19에 대해 설명한 바와 같이, 제어기는 장치가 리셋 상태에 있는 동안 시간 tON에서 CE# 신호를 어써트하여, 그 신호를 RST#이 디어써트된 후에 디스에이블된 상태로 보내어 메모리 장치가 리셋 상태로부터 해제된다. CE# 신호는 장치를 정상 운행 상태로 진입시키도록 시간 tCEOff에서 디어써트된다. 시간 tCEOff는 RST# 신호가 어써트된 후에 적어도 t2의 시간이 경과한 후이다. 장치가 정상 운행 상태에 진입하면, 초기화 동작이 장치 레벨과 시스템 레벨의 양 레벨에서 실행될 수 있다(단계 1108). 시간 t1과 유사하게, 시간 t2는 장치 특성에 기초하여 결정될 수 있고, 하나의 메모리 시스템에서 다른 메모리 시스템으로 변화한다. 예를 들면, t2는 100□s 이상일 수 있다.
도 21은 본 발명의 일 실시예에 따라 데이터 보호를 보증하기 위해 전력 전이 중에 장치에 수반되는 단계를 나타낸다. 비휘발성 메모리 장치는 장치를 제어하는 메모리 제어기로부터 어떤 전력 전이 전에 RST# 로우(low) 신호를 수신한다(단계 1200). 그 후, 장치는 장치 구성요소를 활성화시키도록 제어기로부터 전력을 수신한다(단계 1202). 이 수신된 전력이 VSS 전압으로부터 또는 저전력 모드 전압 레벨로부터 완전 VCC 동작 전압 레벨까지의 증가일 수 있다. RST# 신호가 낮음으로 인해, 장치는 리셋 상태에 놓인다. 이 시간 중에, 장치의 내부 레지스터 및 어떤 유한 상태 머신이 디폴트 또는 리셋 상태로 설ㄹ정되어 유지된다(단계 1204). 그 후, 제어기는 장치의 내부 전압이 RST#을 높게 어써트하기 전에 안정화하도록 소정의 시간 동안 대기한다. 시간 tRST의 경과 후에, 제어기는 장치가 "준비" 상태에 있다고 예상될 때 RST# 하이 신호를 어써트한다. 장치는 RST# 하이 신호를 수신하여, 장치를 "준비" 상태로 둔다(단계 S1206). 제어기는 장치를 정상 운행 상태로 진입시키도록 시간 tCEOff에서 CE# 신호를 어써트한다. 앞에서 기재된 바와 같이, 장치가 정상 운행 상태에 진입하면, 초기화 동작이 장치 레벨에서 실행될 수 있다(단계 1208).
이하 도 4의 메모리 시스템(200)에서의 전력 전이 중의 데이터 보호 방법을 논의한다. 전력 상승 시에, 메모리 제어기(202)는 전력이 안정화하고 장치가 자신의 동작을 준비하는 동안 모든 메모리 장치(204, 206, 208 및 210)를 리셋으로 유 지하도록 리셋(RST#)을 낮게 유지한다. RST#은 도 19에 도시된 바와 같이 VCC가 안정화한 후에 t1의 최소 시간(예컨대, 20□s) 동안 제어기(202)에 의해 낮게 유지된다. RST#이 낮게 유지되는 동안, 메모리 내의 모든 유한 상태 머신이 초기화되고, 어떤 구성 및 상태 레지스터가 그들의 디폴트 또는 리셋 상태로 리셋된다. RST#이 고논리 레벨로 디어써트되기 전에, 클록이 동작적으로 되고 주파수 및 위상이 안정화된다. 도 19에 대해 앞서 기재한 바와 같이, 제어기(202)는 장치가 리셋 상태에 있는 동안 시간 tON에서 CE# 신호를 디어써트하고, RST#이 디어써트된 후에 CE#을 어써트한다. VCE# 신호는 장치를 정상 운행 상태로 진입시키도록 시간 tCEOff에서 어써트된다. 시간 tCEOff는 RST# 신호가 어써트된 후에 적어도 t2의 시간 간격이 경과한 후이다. 장치가 정상 운행 상태로 진입하면, 초기화 동작이 장치 레벨과 시스템 레벨의 양 레벨에서 실행될 수 있다. 초기화 동작의 예들은 장치 어드레스 및 식별자 생성과 직렬 접속의 각각의 장치에 대한 할당을 포함한다. 여러 가지의 장치 어드레스 및 식별자 생성 방법은 공동 계류 중인 미국 특허출원 11/622,828호; 11/750,649호; 11/692,452호; 11/692,446호; 11/692,326호; 및 11/771,023호에 기재되어 있다.
전력 전이 동작 동안의 소정 크기의 시간 동안 장치가 리셋 상태에 있는 것을 보증함으로써, 의사 정보가 장치의 여러 레지스터에 저장되거나 래치되는 것을 방지한다. 장치는 그에 따라 부적절한 프로그래밍이나 데이터의 소거에 대해 보호 되어, 전력 전이 중의 데이터 무결성을 보증한다.
이상의 설명에서, 설명을 위해 발명의 실시예들의 이해를 통해 제공하기 위해 다수의 상세한 설명이 나타나 있다. 그러나, 당업자에게는 이들 특정의 상세한 설명이 발명을 실시하기 위해 필요한 것이 아님이 명백하게 된다. 다른 경우에, 잘 알려진 전기 구성 및 회로가 발명을 명확하게 하기 위해 블록도 형태로 도시된다. 예를 들면, 여기에 기재된 발명의 실시예들이 소프트웨어 루틴, 하드웨어 회로, 펌웨어, 또는 그 조합으로서 실현되는지에 관한 특정의 상세한 설명이 제공되지 않는다.
발명의 실시예들은 머신으로 판독 가능한 매체(또한 컴퓨터로 판독 가능한 매체, 프로세서로 판독 가능한 매체, 또는 컴퓨터에서 구현되는 컴퓨터로 판독 가능한 프로그램 코드를 갖는 컴퓨터에 사용 가능한 매체라고도 칭해짐)에 저장되는 소프트웨어 제품으로 나타날 수 있다. 머신으로 판독 가능한 매체는 자기, 광학, 또는 디스켓, 컴팩트 디스크 판독 전용 메모리(CD-ROM), 메모리장치(휘발성 또는 비휘발성), 또는 유사한 저장 메커니즘을 포함하는 전기 저장 매체를 포함하는 어떠한 적절한 유형의 매체일 수 있다. 머신으로 판독 가능한 매체는 프로세서가 발명의 일 실시예에 따르는 방법의 단계들을 실행하게 하는 명령, 코드 시퀀스, 구성 정보 또는 다른 데이터의 여러 가지 세트를 포함할 수 있다. 당업자는 기재된 발명을 실현하는 데 필요한 다른 명령 및 동작이 머신으로 판독 가능한 매체에 저장될 수도 있다는 것을 이해할 것이다. 머신으로 판독 가능한 매체로부터 구동하는 소프트웨어는 기재된 태스크(task)를 실행하도록 회로와 인터페이스할 수 있다.
상술한 본 발명의 실시예들은 예로서만 의도된다. 변경, 변형 및 수정이 여기에 첨부된 청구항들에 의해서만 정해지는 발명의 범위로부터 벗어남 없이 당업자에 의해 특정 실시예들에 대해 실현될 수 있다.

Claims (55)

  1. 직렬 비트스트림 명령 패킷을 제공하는 직렬 채널 출력 포트, 및 직렬 비트스트림 판독 데이터 패킷을 수신하는 직렬 채널 입력 포트를 갖는 제어기로서, 상기 직렬 비트스트림 명령 패킷은 동작 코드 및 장치 어드레스를 포함하는, 제어기; 및
    상기 제어기로부터 상기 직렬 비트스트림 명령 패킷을 수신하고 상기 장치 어드레스가 상기 메모리 장치에 대응하면 상기 동작 코드를 실행하는 입력 포트를 갖는 메모리 장치로서, 상기 직렬 비트스트림 명령 패킷을 출력 포트를 통해 제공하며, 이어서 상기 동작 코드가 판독 기능에 대응하면 상기 직렬 비트스트림 판독 데이터 패킷을 상기 출력 포트를 통해 제공하는 메모리 장치를 포함하는, 메모리 시스템.
  2. 청구항 1에 있어서, 상기 메모리 장치와 제어기 사이에 직렬로 연결되는 적어도 하나의 개재 메모리 장치를 더 포함하고, 상기 적어도 하나의 개재 메모리 장치는 상기 직렬 비트스트림 명령 패킷을 수신하여 상기 메모리 장치에 전달하는 입력 포트를 가지며, 이어서 상기 장치 어드레스가 상기 메모리 장치에 대응하고 상기 동작 코드가 판독 기능에 대응하면 상기 직렬 비트스트림 판독 데이터 패킷을 제공하는, 메모리 시스템.
  3. 청구항 2에 있어서, 상보 클록 신호가 상기 메모리 장치 및 상기 적어도 하나의 개재 메모리 장치에 병렬로 제공되는, 메모리 시스템.
  4. 청구항 2에 있어서, 상보 클록 신호가 상기 적어도 하나의 개재 메모리 장치에 제공되어, 상기 적어도 하나의 개재 메모리 장치에 의해 상기 메모리 장치에 전달되고, 상기 메모리 장치에 의해 상기 제어기에 전달되는, 메모리 시스템.
  5. 청구항 2에 있어서, 상기 제어기와 상기 메모리 장치 사이에 확장 모듈 및 점퍼(jumper) 중 하나를 수신하는 확장 링크를 더 포함하는, 메모리 시스템.
  6. 청구항 5에 있어서, 상기 적어도 하나의 개재 메모리 장치는 상기 확장 링크와 전기적인 연결을 위해 구성된 연결 수단을 갖는 확장 모듈의 부분인, 메모리 시스템.
  7. 청구항 2에 있어서, 상기 메모리 장치 및 상기 적어도 하나의 개재 메모리 장치는 각각, 네이티브(native) 메모리 코어(core)와 직렬 인터페이스와 상기 직렬 비트스트림 명령 패킷에 응답하여 상기 네이티브 메모리 코어를 제어하는 제어 로직 블록을 포함하는, 메모리 시스템.
  8. 청구항 7에 있어서, 상기 메모리 장치 네이티브 메모리 코어 및 상기 적어도 하나의 개재 메모리 장치 네이티브 메모리 코어는 NAND 플래시 기반인, 메모리 시스템.
  9. 청구항 7에 있어서, 상기 메모리 장치 네이티브 메모리 코어와 상기 적어도 하나의 개재 메모리 장치 네이티브 메모리 코어는 상이한, 메모리 시스템.
  10. 청구항 2에 있어서, 상기 네이티브 메모리 코어는 DRAM, SRAM, NAND 플래시 및 NOR 플래시 메모리 코어 중 하나를 포함하는, 메모리 시스템.
  11. 청구항 1에 있어서, 상기 직렬 비트스트림 명령 패킷은 상기 직렬 비트스트림 명령 패킷의 사이즈가 가변적인 모듈러(modular) 구조를 갖는, 메모리 시스템.
  12. 청구항 11에 있어서, 상기 직렬 비트스트림 명령 패킷은 상기 동작 코드 및 상기 장치 어드레스를 제공하는 명령 필드를 포함하는, 메모리 시스템.
  13. 청구항 12에 있어서, 상기 명령 필드는 상기 동작 코드를 제공하는 제1 서브필드 및 상기 장치 어드레스를 제공하는 제2 서브필드를 포함하는, 메모리 시스템.
  14. 청구항 11에 있어서, 상기 직렬 비트스트림 명령 패킷은 상기 동작 코드 및 상기 장치 어드레스를 제공하는 명령 필드와, 로우 어드레스 및 칼럼 어드레스 중 하나를 제공하는 어드레스 필드를 포함하는, 메모리 시스템.
  15. 청구항 11에 있어서, 상기 직렬 비트스트림 명령 패킷은 상기 동작 코드 및 상기 장치 어드레스를 제공하는 명령 필드, 로우 어드레스 및 칼럼 어드레스 중 하나를 제공하는 어드레스 필드, 및 기록 데이터를 제공하는 데이터 필드를 포함하는, 메모리 시스템.
  16. 청구항 11에 있어서, 상기 제어기는 상기 직렬 비트스트림 명령 패킷과 병렬로 명령 스트로브(strobe)를 제공하고, 상기 명령 스트로브는 상기 직렬 비트스트림 명령 패킷의 길이와 일치하는 활성 레벨을 갖는, 메모리 시스템.
  17. 청구항 16에 있어서, 상기 제어기는 직렬 비트스트림 판독 데이터 패킷과 병렬로 데이터 입력 스트로브를 제공하고, 상기 데이터 입력 스트로브는 상기 직렬 비트스트림 판독 데이터 패킷의 길이와 일치하는 활성 레벨을 갖는, 상기 메모리 시스템.
  18. 청구항 17에 있어서, 상기 메모리 장치는 상기 장치 어드레스가 상기 메모리 장치에 대응할 때 상기 명령 스트로브의 상기 활성 레벨에 응답하여 상기 직렬 비트스트림 명령 패킷을 래치하는, 메모리 시스템.
  19. 청구항 18에 있어서, 상기 메모리 장치 출력 포트는 상기 데이터 입력 스트로브의 상기 활성 레벨에 응답하여 인에이블되는, 메모리 시스템.
  20. 청구항 19에 있어서, 상기 명령 스트로브 및 상기 데이터 입력 스트로브는 비중첩 신호(non-overlapping signal)인, 메모리 시스템.
  21. 청구항 19에 있어서, 상기 명령 스트로브 및 상기 데이터 입력 스트로브는 적어도 하나의 데이터 래칭 클록 에지에 의해 분리되는, 메모리 시스템.
  22. 청구항 19에 있어서, 상기 명령 스트로브는 적어도 하나의 래칭 클록 에지에 의해 인접한 명령 스트로브로부터 분리되는, 메모리 시스템.
  23. 청구항 19에 있어서, 상기 데이터 입력 스트로브는 적어도 하나의 래칭 클록 에지에 의해 인접한 데이터 입력 스트로브로부터 분리되는, 메모리 시스템.
  24. 직렬로 접속되는 메모리 장치를 갖는 메모리 시스템용의 일련의 비트를 포함하는 명령 패킷으로서,
    특정 메모리 동작을 실행하도록 상기 직렬로 접속되는 메모리 장치 중 하나의 메모리 장치를 선택하는 명령 필드를 포함하는, 명령 패킷.
  25. 청구항 24에 있어서, 상기 명령 필드는 상기 메모리 장치를 선택하는 장치 어드레스를 제공하는 제1 서브필드, 및 상기 특정 메모리 동작에 대응하는 동작 코드를 제공하는 제2 서브필드를 포함하는, 명령 패킷.
  26. 청구항 25에 있어서, 상기 명령 패킷은 상기 동작 코드가 판독 또는 기록 동작에 대응할 때 로우 어드레스 및 칼럼 어드레스 중 하나를 제공하는 상기 명령 필드에 후속하는 어드레스 필드를 더 포함하고, 상기 어드레스 필드는 상기 로우 어드레스 또는 상기 칼럼 어드레스에 대응하는 비트 길이를 갖는, 명령 패킷.
  27. 청구항 26에 있어서, 상기 명령 패킷은 상기 동작 코드가 상기 기록 동작에 대응할 때 상기 메모리 장치에 저장하기 위한 기록 데이터를 제공하는 상기 어드레스 필드에 후속하는 데이터 필드를 더 포함하고, 상기 데이터 필드는 상기 기록 데이터에 대응하는 비트 길이를 갖는, 명령 패킷.
  28. 직렬로 접속되는 메모리 장치를 갖는 메모리 시스템의 선택된 메모리 장치에서의 동시 동작을 실행하는 방법으로서,
    제1 명령을 수신하는 단계;
    상기 제1 명령에 응답하여 상기 선택된 메모리 장치의 제1 메모리 뱅크에서 코어 동작을 실행하는 단계;
    상기 제1 메모리 뱅크에서 코어 동작을 실행하는 동안 제2 명령을 수신하는 단계; 및
    상기 제2 명령에 응답하여 상기 선택된 메모리 장치의 제2 메모리 뱅크에서 코어 동작을 실행하는 단계를 포함하는, 동시 동작의 실행 방법.
  29. 청구항 28에 있어서,
    상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 하나로부터 결과 정보를 요구하는 제3 명령을 수신하는 단계; 및
    상기 제3 명령에 응답하여 상기 결과 정보를 포함하는 판독 데이터 패킷을 출력하는 단계를 더 포함하는, 동시 동작의 실행 방법.
  30. 청구항 29에 있어서, 상기 결과 정보는 상태 레지스터 데이터 및 판독 데이터 중 하나를 포함하는, 동시 동작의 실행 방법.
  31. 청구항 29에 있어서, 상기 제1 명령, 상기 제2 명령 및 상기 제3 명령은,
    동작 코드 및 장치 어드레스를 제공하는 필수 명령 필드,
    상기 동작 코드가 판독 또는 기록 동작에 대응할 때 로우 및 칼럼 어드레스 중 하나를 제공하는 상기 명령 필드에 후속하는 선택적인 어드레스 필드, 및
    상기 동작 코드가 상기 기록 동작에 대응할 때 기록 데이터를 제공하는 상기 어드레스 필드에 후속하는 선택적인 데이터 필드를
    포함하도록 논리적으로 구성되는 일련의 비트를 포함하는 명령 패킷인, 동시 동작의 실행 방법.
  32. 청구항 31에 있어서,
    제1 명령 스트로브가 상기 제1 명령과 병렬로 수신되고, 상기 제1 명령 스트로브는 상기 제1 명령의 길이에 대응하는 활성 지속기간을 가지며,
    제2 명령 스트로브가 상기 제2 명령과 병렬로 수신되고, 상기 제2 명령 스트로브는 상기 제2 명령의 길이에 대응하는 활성 지속기간을 갖는, 동시 동작의 실행 방법.
  33. 청구항 32에 있어서, 데이터 입력 스트로브가 상기 데이터 입력 스트로브가 활성 레벨에 있는 동안 상기 판독 데이터 패킷의 출력을 인에이블시키도록 수신되는, 동시 동작의 실행 방법.
  34. 청구항 33에 있어서, 상기 제1 명령 스트로브 및 상기 제2 명령 스트로브는 적어도 하나의 데이터 래칭 클록 에지에 의해 분리되는, 동시 동작의 실행 방법.
  35. 청구항 33에 있어서, 상기 제2 명령 스트로브 및 상기 데이터 입력 스트로브는 적어도 하나의 데이터 래칭 클록 에지에 의해 분리되는, 동시 동작의 실행 방법.
  36. 청구항 28에 있어서, 상기 제1 명령을 수신하기 전에 상기 선택된 메모리 장치를 전력 상승시키는 단계를 더 포함하는, 동시 동작의 실행 방법.
  37. 청구항 36에 있어서, 상기 전력을 상승시키는 단계는,
    전력 전이 전에 상기 선택된 메모리 장치를 디폴트 상태로 유지하도록 제어 신호를 어써트하는(asserting) 단계;
    상기 제어 신호가 어써트되는 동안 상기 선택된 메모리 장치의 전력 레벨을 제1 전압 레벨로부터 제2 전압 레벨로 전이하는 단계;
    상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및
    상기 선택된 메모리 장치를 상기 디폴트 상태로부터 해제하도록 상기 제어 신호를 디어써트하여(de-asserting), 상기 선택된 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함하는, 동시 동작의 실행 방법.
  38. 청구항 37에 있어서, 상기 제2 전압 레벨은 안정적인 회로 동작을 위한 최소 전압 레벨인, 동시 동작의 실행 방법.
  39. 청구항 37에 있어서, 상기 제2 전압 레벨은 전원의 최대 동작 전압 레벨인, 동시 동작의 실행 방법.
  40. 청구항 37에 있어서, 제1 전압 레벨은 전원의 저전력 모드 동작 전압 레벨에 대응하는, 동시 동작의 실행 방법.
  41. 청구항 37에 있어서, 상기 제1 전압 레벨은 전원의 부재(不在) 상태에 대응하는, 동시 동작의 실행 방법.
  42. 청구항 37에 있어서, 상기 메모리 장치를 상기 디폴트 상태에 유지하는 단계는 상기 메모리 장치 내의 장치 레지스터를 디폴트값으로 설정하는 단계를 포함하는, 동시 동작의 실행 방법.
  43. 청구항 42에 있어서, 상기 장치 레지스터는 명령 레지스터를 포함하는, 동시 동작의 실행 방법.
  44. 청구항 37에 있어서, 상기 디폴트 상태로부터 상기 메모리 장치의 해제 시에 장치 초기화를 실행하는 단계를 더 포함하는, 동시 동작의 실행 방법.
  45. 청구항 44에 있어서, 상기 장치 초기화를 실행하는 단계는 상기 메모리 장치에 대한 장치 어드레스 및 장치 식별자 정보를 생성하는 단계를 포함하는, 동시 동작의 실행 방법.
  46. 청구항 36에 있어서, 상기 전력을 상승시키는 단계는,
    전력 전이 전에 상기 메모리 장치를 디폴트 상태로 유지하도록 제1 시간에 제어 신호를 어써트하는 단계;
    상기 제어 신호가 어써트되는 동안 제2 후속 시간에 상기 메모리 장치의 전력 레벨을 제1 레벨로부터 제2 레벨로 전이하는 단계;
    상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및
    상기 메모리 장치를 상기 디폴트 상태로부터 해제하도록 제3 후속 시간에 상기 제어 신호를 디어써트하여, 상기 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함하는, 동시 동작의 실행 방법.
  47. 복수의 메모리 장치 및 상기 장치를 제어하는 제어기를 포함하는 메모리 시스템으로서,
    상기 제어기는 상기 복수의 메모리 장치 중 제1 장치에 비트스트림 명령 패킷을 제공하는 출력 포트를 갖고, 상기 비트스트림 명령 패킷은 동작 코드 및 장치 어드레스를 포함하며,
    상기 복수의 메모리 장치의 각각은 상기 제어기 및 앞선 메모리 장치 중 하나로부터 상기 비트스트림 명령 패킷을 수신하여 상기 장치 어드레스가 그에 대응하면 상기 동작 코드를 실행하고, 상기 복수의 메모리 장치의 각각은 상기 비트스트림 명령 패킷을 다음의 메모리 장치 및 상기 제어기 중 하나에 제공하며, 비트스 트림 판독 데이터 패킷이 상기 동작 코드가 판독 기능에 대응하면 상기 복수의 메모리 장치 중 최종 메모리 장치로부터 상기 제어기로 제공되는, 메모리 시스템.
  48. 청구항 47에 있어서, 상기 복수의 메모리 장치는 직렬로 접속되고, 상기 제1 및 최종 메모리 장치는 상기 제어기에 접속되는, 메모리 시스템.
  49. 청구항 47에 있어서, 상기 제어기는 상기 복수의 메모리 장치 중 상기 제1 장치에 비트스트림 데이터 패킷을 전송하는, 메모리 시스템.
  50. 청구항 49에 있어서, 상기 제어기로부터의 상기 비트스트림 데이터 패킷 및 상기 비트스트림 판독 데이터 패킷은 직렬 비트스트림을 포함하는, 메모리 시스템.
  51. 청구항 49에 있어서, 상기 제어기로부터의 상기 비트스트림 데이터 패킷 및 상기 비트스트림 판독 데이터 패킷은 병렬 비트스트림을 포함하는, 메모리 시스템.
  52. 청구항 47에 있어서, 상기 복수의 메모리 장치는 동일한 타입 또는 상이한 타입의 메모리 장치의 혼합으로 된, 메모리 시스템.
  53. 복수의 메모리 장치와 상기 장치를 제어하는 제어기를 포함하는 메모리 시스템으로서, 상기 메모리 시스템은 제1 명령을 수신하기 전에 선택된 메모리 장치를 전력 상승시키는 기능을 실행할 수 있는, 메모리 시스템.
  54. 청구항 53에 있어서, 상기 전력을 상승시키는 기능은,
    전력 전이 전에 상기 선택된 메모리 장치를 디폴트 상태로 유지하도록 제어 신호를 어써트하는 단계;
    상기 제어 신호가 어써트되는 동안 상기 선택된 메모리 장치의 전력 레벨을 제1 전압 레벨로부터 제2 전압 레벨로 전이하는 단계;
    상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및
    상기 선택된 메모리 장치를 상기 디폴트 상태로부터 해제하도록 상기 제어 신호를 디어써트하여, 상기 선택된 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함하는, 메모리 시스템.
  55. 청구항 53에 있어서, 상기 전력을 상승시키는 기능은,
    전력 전이 전에 상기 메모리 장치를 디폴트 상태로 유지하도록 제1 시간에 제어 신호를 어써트하는 단계;
    상기 제어 신호가 어써트되는 동안 제2 후속 시간에 상기 메모리 장치의 전력 레벨을 제1 레벨로부터 제2 레벨로 전이하는 단계;
    상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및
    상기 메모리 장치를 상기 디폴트 상태로부터 해제하도록 제3 후속 시간에 상기 제어 신호를 디어써트하여, 상기 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함하는, 메모리 시스템.
KR1020097005767A 2006-08-22 2007-08-22 스케일러블 메모리 시스템 KR101476463B1 (ko)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US83932906P 2006-08-22 2006-08-22
US60/839,329 2006-08-22
US86877306P 2006-12-06 2006-12-06
US60/868,773 2006-12-06
US90200307P 2007-02-16 2007-02-16
US60/902,003 2007-02-16
US89270507P 2007-03-02 2007-03-02
US60/892,705 2007-03-02
US11/840,692 US7904639B2 (en) 2006-08-22 2007-08-17 Modular command structure for memory and memory system
US11/840,692 2007-08-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020127021608A Division KR101476515B1 (ko) 2006-08-22 2007-08-22 스케일러블 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20090045366A true KR20090045366A (ko) 2009-05-07
KR101476463B1 KR101476463B1 (ko) 2014-12-24

Family

ID=39106444

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127021608A KR101476515B1 (ko) 2006-08-22 2007-08-22 스케일러블 메모리 시스템
KR1020097005767A KR101476463B1 (ko) 2006-08-22 2007-08-22 스케일러블 메모리 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020127021608A KR101476515B1 (ko) 2006-08-22 2007-08-22 스케일러블 메모리 시스템

Country Status (7)

Country Link
EP (1) EP2062261A4 (ko)
JP (2) JP5575474B2 (ko)
KR (2) KR101476515B1 (ko)
CN (2) CN101506895B (ko)
CA (1) CA2659828A1 (ko)
TW (1) TWI437577B (ko)
WO (1) WO2008022454A1 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865756B2 (en) 2007-03-12 2011-01-04 Mosaid Technologies Incorporated Methods and apparatus for clock signal synchronization in a configuration of series-connected semiconductor devices
US8467486B2 (en) 2007-12-14 2013-06-18 Mosaid Technologies Incorporated Memory controller with flexible data alignment to clock
US8781053B2 (en) 2007-12-14 2014-07-15 Conversant Intellectual Property Management Incorporated Clock reproducing and timing method in a system having a plurality of devices
EP2329496A4 (en) * 2008-09-30 2012-06-13 Mosaid Technologies Inc SERIAL SWITCHED STORAGE SYSTEM WITH OUTPUT DELAY SETTING
US7957173B2 (en) * 2008-10-14 2011-06-07 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system
WO2010069045A1 (en) * 2008-12-18 2010-06-24 Mosaid Technologies Incorporated Error detection method and a system including one or more memory devices
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US20110258366A1 (en) * 2010-04-19 2011-10-20 Mosaid Technologies Incorporated Status indication in a system having a plurality of memory devices
WO2011134051A1 (en) * 2010-04-26 2011-11-03 Mosaid Technologies Incorporated Serially connected memory having subdivided data interface
US8856482B2 (en) * 2011-03-11 2014-10-07 Micron Technology, Inc. Systems, devices, memory controllers, and methods for memory initialization
US9239806B2 (en) * 2011-03-11 2016-01-19 Micron Technology, Inc. Systems, devices, memory controllers, and methods for controlling memory
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
CN102508797B (zh) * 2011-10-27 2015-02-11 忆正存储技术(武汉)有限公司 闪存控制扩展模块、控制器、存储系统及其数据传输方法
TWI581267B (zh) * 2011-11-02 2017-05-01 諾瓦晶片加拿大公司 快閃記憶體模組及記憶體子系統
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US8966151B2 (en) * 2012-03-30 2015-02-24 Spansion Llc Apparatus and method for a reduced pin count (RPC) memory bus interface including a read data strobe signal
US9760149B2 (en) * 2013-01-08 2017-09-12 Qualcomm Incorporated Enhanced dynamic memory management with intelligent current/power consumption minimization
KR20150110918A (ko) 2014-03-21 2015-10-05 에스케이하이닉스 주식회사 반도체 메모리 장치
US9792227B2 (en) * 2014-08-19 2017-10-17 Samsung Electronics Co., Ltd. Heterogeneous unified memory
JP6453718B2 (ja) * 2015-06-12 2019-01-16 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
KR102296740B1 (ko) * 2015-09-16 2021-09-01 삼성전자 주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
FR3041806B1 (fr) * 2015-09-25 2017-10-20 Stmicroelectronics Rousset Dispositif de memoire non volatile, par exemple du type eeprom, ayant une capacite memoire importante, par exemple 16mbits
KR102457820B1 (ko) * 2016-03-02 2022-10-24 한국전자통신연구원 메모리 인터페이스 장치
KR102532528B1 (ko) * 2016-04-07 2023-05-17 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR102514717B1 (ko) * 2016-10-24 2023-03-27 삼성전자주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR102336666B1 (ko) * 2017-09-15 2021-12-07 삼성전자 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20190112546A (ko) * 2018-03-26 2019-10-07 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10372330B1 (en) 2018-06-28 2019-08-06 Micron Technology, Inc. Apparatuses and methods for configurable memory array bank architectures
US11043488B2 (en) * 2019-01-24 2021-06-22 Western Digital Technologies, Inc. High voltage protection for high-speed data interface
KR20210145480A (ko) 2020-05-25 2021-12-02 삼성전자주식회사 디스플레이 구동 장치 및 디스플레이 구동 장치를 포함하는 디스플레이 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07327179A (ja) * 1994-05-31 1995-12-12 Canon Inc 複数映像切替装置
US5729683A (en) * 1995-05-18 1998-03-17 Compaq Computer Corporation Programming memory devices through the parallel port of a computer system
US6144576A (en) * 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
JP3853537B2 (ja) * 1999-04-30 2006-12-06 株式会社日立製作所 半導体メモリファイルシステム
US6449308B1 (en) * 1999-05-25 2002-09-10 Intel Corporation High-speed digital distribution system
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
TW504694B (en) * 2000-01-12 2002-10-01 Hitachi Ltd Non-volatile semiconductor memory device and semiconductor disk device
JP2001266579A (ja) * 2000-01-12 2001-09-28 Hitachi Ltd 不揮発性半導体記憶装置および半導体ディスク装置
US6754129B2 (en) * 2002-01-24 2004-06-22 Micron Technology, Inc. Memory module with integrated bus termination
US20040022022A1 (en) * 2002-08-02 2004-02-05 Voge Brendan A. Modular system customized by system backplane
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
JP2004110849A (ja) * 2003-12-01 2004-04-08 Toshiba Corp 半導体システム及びメモリカード
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems

Also Published As

Publication number Publication date
TWI437577B (zh) 2014-05-11
EP2062261A1 (en) 2009-05-27
KR101476463B1 (ko) 2014-12-24
WO2008022454A1 (en) 2008-02-28
CA2659828A1 (en) 2008-02-28
JP2012226786A (ja) 2012-11-15
TW200828338A (en) 2008-07-01
CN102760476A (zh) 2012-10-31
JP5575474B2 (ja) 2014-08-20
EP2062261A4 (en) 2010-01-06
JP2010501916A (ja) 2010-01-21
CN101506895A (zh) 2009-08-12
KR101476515B1 (ko) 2014-12-24
KR20120110157A (ko) 2012-10-09
CN101506895B (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
KR101476463B1 (ko) 스케일러블 메모리 시스템
US8671252B2 (en) Scalable memory system
US9779804B2 (en) Flash memory system
ES2489844T3 (es) Arquitectura de núcleos en serie de memoria no volátil
CA2623747C (en) Multiple independent serial link memory
US20080201548A1 (en) System having one or more memory devices
KR20100046005A (ko) 데이터 제어를 구비한 메모리
WO2008101246A2 (en) System having one or more memory devices
EP2097902A1 (en) Apparatus and method for capturing serial input data
JP2010113777A (ja) 半導体記憶装置及びそのリードアクセス方法
US11948629B2 (en) Non-volatile memory device with concurrent bank operations

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 5