KR20090101195A - Nand 플래시 메모리의 커맨드 기반 제어 - Google Patents
Nand 플래시 메모리의 커맨드 기반 제어 Download PDFInfo
- Publication number
- KR20090101195A KR20090101195A KR1020097013008A KR20097013008A KR20090101195A KR 20090101195 A KR20090101195 A KR 20090101195A KR 1020097013008 A KR1020097013008 A KR 1020097013008A KR 20097013008 A KR20097013008 A KR 20097013008A KR 20090101195 A KR20090101195 A KR 20090101195A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- command
- memory device
- signal
- address
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
본 발명의 여러 실시예들은 커맨드 기반 인터페이스를 사용하여서 비휘발성 메모리 디바이스의 판독 동작 및 기록 동작을 제어한다. 이로써, 각 집적 회로 상에서 필요한 핀의 개수가 감소되어, 이들 집적 회로의 비용 및 크기가 감소한다. 몇몇 실시예에서, 고속 메모리 버스와 저속 비휘발성 메모리 어레이 간의 데이터 전달을 버퍼링하기 위해서 온-다이 캐시 버퍼(on-die cache buffer)가 사용된다.
비휘발성 메모리, 메모리 버스, 캐시 버퍼, 커맨드, 판독, 기록, 집적 회로
Description
산업상의 관행에 의하면, 플래시 메모리 디바이스는 메모리 어레이에서 사용되는 기초 회로 기술에 따라서 NAND 또는 NOR 플래시 메모리로서 통상적으로 분류된다. 각각의 고유한 특성에 때문에, NOR 플래시 메모리는 (가령, 인스트럭션 코드에서와 같이) 단일 어드레스가 빈번하게 판독/기록되는 진정하게(truly) 랜덤 액세스 애플리케이션에서 통상적으로 사용되는 반면에, NAND 플래시 메모리는 (가령, 디지털화된 그래픽 화상에서와 같이) 전체 데이터 블록이 함께 판독 또는 기록되는 블록 지향형(block-oriented) 애플리케이션에서 통상적으로 사용된다. 통상적인 NAND 플래시 메모리는 데이터를 판독 및 기록하기 위해서 다수의 제어 신호에 의존하는 비동기 제어 인터페이스를 사용한다. 가령, ALE(Address Latch Enable), CLE(Command Latch Enable) 및 RE(Read Enable)과 같은 개별 제어 신호들 각각이 개별 핀 상에서 구현되어서 연관된 기능들을 트리거한다. 그러나, NAND 플래시 칩의 비용 및 크기를 작게 하고자 하는 요구가 점점 증가함에 따라서, 그의 추가 핀을 설치하는 비용 및 그에 따라 부가되는 크기 제약은 NAND 플래시의 증가된 사용을 제약하는 요인이 되고 있다.
본 발명의 여러 실시예들은 본 발명의 실시예들을 설명하기 위해서 사용된 첨부 도면 및 이하의 상세한 설명을 참조하면 이해될 것이다.
도 1은 본 발명의 실시예에 따른, 호스트 디바이스에 의해 제어되는 비휘발성 메모리 디바이스를 포함하는 시스템의 도면이다.
도 2는 본 발명의 실시예에 따른, 호스트 디바이스 및 비휘발성 메모리 디바이스 간의 통신 시퀀스의 타이밍도이다.
도 3은 본 발명의 실시예에 따른 커맨드(command)의 포맷의 도면이다.
도 4는 본 발명의 실시예에 따른, 호스트 디바이스 내에서 통신 시퀀스를 수행하는 방법의 흐름도이다.
도 5는 본 발명의 실시예에 따른, 메모리 디바이스 내에서 통신 시퀀스를 수행하는 방법의 흐름도이다.
도 6은 본 발명의 실시예에 따른 비휘발성 메모리 디바이스의 블록도이다.
도 7은 본 발명의 실시예에 따른, 메모리 디바이스를 동작시키는 방법의 흐름도이다.
다음의 상세한 설명 부분에서, 수많은 특정 세부 사항들이 제시된다. 그러나, 본 발명의 실시예들은 이러한 특정 세부 사항들 없이도 실시될 수 있다는 것을 이해할 것이다. 다른 경우에, 잘 알려진 회로, 구조 및 기술은 이하의 설명 부분을 이해하는데 있어서 모호하지 않도록 하기 위해서 세부적으로는 설명되지 않을 것이다.
본 명세서에서 사용되는 용어인 "실시예", "예시적인 실시예" 또는 "다양한 실시예들" 등은 기술된 본 발명의 실시예(들)가 특정한 특징, 구조 또는 특성을 포함할 수 있지만, 모든 실시예가 반드시 이러한 특정한 특징, 구조 또는 특성을 포함하는 것은 아님을 의미한다. 또한, 몇몇 실시예들은 다른 실시예들에서 기술된 특징들을 몇 개 가지고 있거나 아니면 모두 가지고 있거나 아니면 전혀 가지고 있지 않을 수도 있다.
다음의 상세한 설명 부분과 청구범위에서, 용어 "연결하다(couple)" 및 "접속하다(connect)"는 각자의 파생 형태로서 사용될 수 있다. 또한, 이들 용어들은 서로 동의어로 해석되어서는 안 된다. 즉, 특정 실시예에서, "접속하다"는 2개 이상의 구성 요소들이 서로 직접 물리적으로 접촉하고 있거나 전기적으로 접촉하고 있음을 나타내기 위해서 사용된다. 한편, "연결하다"는 2개 이상의 구성 요소들이 서로 협력하거나 상호작용은 하지만, 이들 구성 요소들이 서로 직접 물리적으로 접촉되거나 전기적으로 접촉되는지는 불분명하다는 것을 나타내기 위해서 사용된다.
청구 범위에서, 공통적 구성 요소를 나타내기 위해서 "제1", "제2", "제3" 등과 같은 서수 형용사를 사용하는 것은, 달리 특정되지 않았다면, 단지 유사한 구성 요소들의 서로 다른 실례들을 지칭되고 있음을 의미하지, 기술된 구성 요소들이 시간상, 공간상, 등급상, 또는 임의의 다른 방식상 소정의 순서를 유지해야 한다는 것을 의미하지는 않는다.
본 발명의 다양한 실시예들은 하드웨어, 펌웨어 및 소프트웨어 중 하나 또는 이들의 임의의 조합에 의해 구현될 수 있다. 또한, 본 발명은 하나 이상의 프로세 서에 의해서 판독 및 실행되어서 본 명세서에서 개시된 동작들의 수행을 가능하게 하는 머신 판독가능한 매체(machine-readable medium) 상 또는 내에 있는 인스트럭션들에 의해 구현될 수 있다. 머신 판독가능한 매체는 머신(가령, 컴퓨터)에 의해서 판독가능한 형태로 정보를 저장, 송신, 및/또는 수신하기 위한 임의의 메커니즘을 포함할 수 있다. 가령, 머신 판독가능한 매체는 여기에만 한정되는 것은 아니지만 ROM(read only memory), RAM(random access memory), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 디바이스 등과 같은 저장 매체를 포함할 수 있다. 또한, 머신 판독가능한 매체는 여기에만 한정되는 것은 아니지만 전자기, 광학, 또는 음향 반송파 신호와 같은, 인스트럭션들을 인코딩하기 위해 변조되는 전파 신호를 포함할 수 있다.
본 발명의 여러 실시예들은 NAND 플래시 메모리 집적 회로에서 커맨드 기반 인터페이스를 사용하여 집적 회로 상에서 요구되는 핀의 개수를 줄일 수 있다. 가령, 몇몇 실시예들에서는 오직 전원 핀, 클록 핀 및 입출력(I/O) 핀만이 필요할 수 있다. 또한, 다른 실시예들은 칩이 커맨드/어드레스/데이터 시퀀스와 동기화되는 것을 보장하기 위해서 리셋 핀 또는 스타트 핀을 사용할 수 있다. 메모리 디바이스에 의해서 수행될 기능들은 "커맨드"로서 표현되기 때문에, Read/Write, Address Enable, Data Enable 등과 같은 신호들을 전달하기 위해서 개별 핀들이 필요 없게 된다. 몇몇 실시예들은 커맨드/어드레스/데이터 시퀀스 이후에 그것들이 수신 동작 모드로 되게 하는 특정 커맨드 또는 신호를 요구하지 않고서 수신 동작 모드로 자동으로 복귀할 수 있다.
도 1은 본 발명의 실시예에 따른, 호스트 디바이스에 의해서 제어되는 비휘발성 메모리 디바이스를 포함하는 시스템을 도시하고 있다. 이 도면에서는 플래시 디바이스에 대해 라벨이 붙어 있지만, 몇몇 실시예에서는 메모리 디바이스(120-12n)는 다른 타입의 비휘발성 메모리 기술을 기반으로 할 수 있다. 몇몇 실시예에서, 이 디바이스들은 NAND 플래시 메모리 디바이스들이다. 몇몇 실시예에서, 각 메모리 디바이스(120-12n)는 개별 집적 회로 내에 포함되지만, 다른 실시예에서는 다수의 로직 메모리 디바이스들이 단일 집적 회로 및/또는 단일 패키지 내에서 결합될 수 있다. 각 표시된 신호 라인은 개별 핀을 통해서 표시된 메모리 디바이스에 접속할 수 있다.
각 메모리 디바이스(120-12n)는 호스트 디바이스(110)에 의해서 제어될 수 있는데, 이 호스트 디바이스(110)는 예시된 실시예에서는 한 세트의 입출력(I/O) 라인 D[15:0], 클록 라인 CLK, 및 스타트 라인 START를 포함하는 버스를 통해서 메모리 디바이스를 제어한다. 여기서는 다양한 라인 및 이들의 기능을 기술하기 위해서 특정 라벨이 사용되었지만, 이는 단지 편리성을 위한 것이며 다른 실시예들은 임의의 다른 편리한 라벨 세트를 사용할 수 있다. 16개의 입출력 라인들이 본 도면에서 D[15:0]으로 표시되어 있지만, 다른 실시예들은 다른 개수(가령, 8, 32, 64 등)의 입출력 라인들을 포함할 수 있다. 몇몇 실시예에서, 버스는 그 밖의 다른 신호 라인들을 포함하지 않을 수 있다. 메모리 디바이스에 동작 전력을 공급하는 전력 라인은 도시되지 않았지만, 임의의 실현 가능한 형태를 취할 수 있다. 동작 동안, 호스트 디바이스는 오직 도시된 신호 라인만을 사용하여 버스를 통해서 임의 의 메모리 디바이스(120-12n)를 선택하여 이와 통신할 수 있다. 몇몇 실시예에서, 도 1에 도시된 각 디바이스(즉, 호스트 디바이스(110) 및 각 메모리 디바이스(12x))는 개별 집적 회로 내에 존재할 수 있다.
도시된 실시예에서, 호스트 디바이스(110)는 먼저 메모리 디바이스(들)를 선택하고 또한 선택된 메모리 디바이스가 해야 할 동작의 표시를 포함하는 커맨드를 I/O 라인을 통해서 전달함으로써 하나 이상의 메모리 디바이스에 또는 그로부터 데이터를 전달한다. 몇몇 실시예에서, START 라인 상의 신호는 I/O 라인 상의 신호가 커맨드를 표현하고 있음을 표시하는데 사용될 수 있다. 이어서, 호스트 디바이스는, 메모리 디바이스가 지시된 커맨드를 수행하는 동안에 이 메모리 디바이스가 액세스해야 할 메모리 디바이스 내의 개시 어드레스(starting address)를 표시하는 어드레스를 동일한 I/O 라인 세트를 통해서 전송할 수 있다. 이어서, 데이터가 동일한 I/O 라인 세트를 통해서 전달되어서 이전에 지시된 어드레스에서 시작된다. 몇몇 실시예에서, 호스트 디바이스는 또한 메모리 어드레스와 관련이 없는 데이터 전달 시퀀스를 개시할 수 있다. 가령, 호스트 디바이스는 선택된 메모리 디바이스가 상태 정보를 호스트 디바이스에 리턴(return)하라는 커맨드를 발행할 수 있다. 이 경우에, 어떠한 메모리 어드레스도 전송될 필요가 없으며, 선택된 메모리 디바이스는 호스트 디바이스가 판독할 수 있도록 그 요청된 상태 정보를 I/O 라인 상에 배치함으로써 그 커맨드를 따르게 된다. 이와 유사하게, 호스트 디바이스는 구성 데이터가 그 메모리 디바이스에 기록되도록 지시하는 커맨드를 발행할 수 있으며, 이 경우에 호스트 디바이스는 선택된 메모리 디바이스가 판독하여서 구현할 수 있 도록 구성 데이터를 I/O 라인 상에 배치함으로써 그 커맨드를 수행한다. 또 다른 커맨드는 데이터 전달을 전혀 수반하지 않을 수 있다. 가령, 몇몇 실시예에서, 임의의 데이터 전달이 필요 없이 소거 커맨드가 선택된 메모리 디바이스에 발행될 수 있다. 다른 실시예에서는, 소량의 데이터가 메모리 디바이스에 전송되어서 소거할 블록(들)을 특정할 수 있다.
도 2는 본 발명의 실시예에 따른, 호스트 디바이스와 비휘발성 메모리 디바이스 간의 통신 시퀀스의 타이밍도이다. 예시된 실시예에서, I/O 라인 상의 신호들을 래치(latch)하기 위해서 각 클록 사이클이 사용된다. 도시된 실시예에서는, 일 방향(본 경우에는 로우(low)에서 하이(hig)로의 방향)으로의 클록 천이(transition)가 데이터를 래치할 수 있고, 반대 방향으로의 클록 천이는 I/O 라인 상에서의 신호 레벨 변경과 대략 동시적으로 발생할 수 있다. 다른 실시예는 다른 클록 타이밍 방식을 사용할 수 있다(가령, DDR(double data rate) 실시예에서는, 데이터를 래치하기 위해서 양방향에서의 클록 천이들이 사용되며, I/O 라인들 상의 신호들은 클록 천이들 간에 변경될 것이다). 버스 설계를 위해서 선정된 관행에 따라서, 임의의 극성(polarity)이 임의의 신호 라인들에 대해서 사용될 수 있다.
I/O 라인들 상의 제1 신호 세트는 커맨드를 표현할 수 있다. 예시된 실시예는 단일 클록 사이클에 커맨드를 구현하는데, 이는 본 실례에서는 모든 버전의 커맨드가 16개의 가용한 I/O 라인 내에 포함될 수 있는 것을 말한다. 다른 실시예는 커맨드를 전달하기 위해서 다수의 클록 사이클을 사용한다(가령 가용한 라인들이 그 커맨드를 완전하게 규정하기에는 충분하지 않을 경우). 몇몇 실시예에서는, 커맨드 내의 클록 사이클의 수가 고정될 수 있지만, 다른 실시예에서는, 그 커맨드의 제1 부분 자체가 전체 커맨드를 전달하기 위해서 얼마나 많은 클록 사이클이 사용되어야 하는지의 표시를 포함할 수 있다. 시스템 내에 설계되는 요구 사항에 따라서 커맨드는 다양한 타입의 정보를 포함할 수 있다.
트랜잭션의 커맨드 부분 이후에 어드레스 부분이 따르며, 이 어드레스 부분은 데이터 전달이 시작되어야 하는 선택된 메모리 디바이스 내부의 개시 어드레스를 표시한다. 몇몇 실시예에서, 어드레스는 특정된 바이트 또는 워드 정도까지 위치를 특정할 수 있지만, 다른 실시예는 다른 레벨의 어드레스 입도(granularity)를 사용할 수 있다. 가령, 바이트 레벨 어드레스의 최하위 비트가 제로로 설정되었다고 가정하고, 어드레스 부분에 이러한 비트를 포함시키지 않음으로써, 어드레스 부분은 특정 데이터 페이지 또는 다른 대형 데이터 블록을 위치시킬 수 있으며, 여기서 그 블록의 개시 어드레스는 데이터 전달을 위해 지정된 개시 시점이다. 도시된 실례는 어드레스 부분에 2 개의 클록 사이클이 전용되었음을 나타내고 있지만(16 비트 데이터 버스일 때에 총 32 비트), 최대 허용가능한 어드레스 범위 및 어드레스 입도에 따라서, 하나, 세 개 또는 그 이상의 클록 사이클이 어드레스 부분에 이용될 수 있다.
어드레스 부분 다음의 남아 있는 시퀀스 부분을 전달될 실제 데이터가 전용하고 있다. 몇몇 실시예에서, 이 시퀀스(또는 데이터 부분과 같은 시퀀스의 일부)의 길이는 고정될 수 있다. 다른 실시예에서, 이 길이는 가변적일 수 있고, 커맨 드의 일부분이 그 길이를 특정할 수 있다.
커맨드, 어드레스 및 데이터에 동일한 I/O 라인들이 사용되기 때문에, 메모리 디바이스는 이들 간을 구별할 수 있는 방식을 필요로 한다. 메모리 디바이스가 커맨드가 I/O 라인에 존재하는 때를 결정할 수 있는 한, 시퀀스의 나머지는 사전 결정된 고정 포맷을 따름으로써, 또는 얼마나 많은 후속하는 클록 사이클들이 어드레스 부분 및 데이터 부분에 전용되는지를 결정하는 커맨드 내 정보를 사용함으로써 결정될 수 있다. 예시된 실례에서, START 신호가 사용되어서 시퀀스(즉, 커맨드 부분)의 개시 클록 사이클을 나타내고 있다.
도 3은 본 발명의 실시예에 따른 커맨드의 포맷을 도시한다. 설명을 위해서, 16 비트 커맨드 포맷이 도시되어 있으며, 특정 필드는 특정 폭을 가지며 특정 I/O 라인들을 점유하고 있지만, 다른 실시예에서는 다른 포맷이 사용될 수 있다. 도시된 실시예에서, 최상위 4 비트는 버스 상에서 메모리 디바이스들로부터 특정한 메모리 디바이스를 선택하기 위한 디바이스 선택 필드로서 사용된다. 4 비트는 16개까지의 디바이스가 버스 상에 존재하게 한다. 도시된 상태/데이터 필드는 그 동작이 데이터 전달 동작인지 아니면 상태 전달 동작인지를 결정하는데 사용된다. 판독/기록 필드는 정보가 메모리 디바이스로부터 호스트 디바이스에 의해서 판독되는지 아니면 정보가 호스트 디바이스로부터 메모리 디바이스 내로 기록되는지를 결정하는데 사용된다.
상태/데이터 필드가 상태를 지시하고 판독/기록 필드는 판독을 지시하면, 선택된 메모리 디바이스는 자신의 상태 정보를 호스트 디바이스가 판독할 수 있도록 후속하는 클록 사이클(가령, 이는 커맨드 바로 이후의 사이클이지만, 다른 실시예는 다른 기술을 사용할 수 있음)에서 I/O 라인 상에 배치할 수 있다. 만일 상태/데이터 필드가 상태를 지시하고 판독/기록 필드는 기록을 지시하면, 호스트 디바이스는 후속하는 클록 사이클에 구성 데이터를 I/O 라인 상에 배치하고, 선택된 메모리 디바이스는 이 구성 데이터를 사용하여서 자신의 구성을 설정할 수 있다. 상태/데이터 필드가 데이터를 지시하면, 판독/기록 필드가 사용되어서 데이터가 호스트 디바이스에서 선택된 메모리 디바이스로 기록되는지 아니면 데이터가 메모리 디바이스로부터 호스트 디바이스에 의해서 판독되는지가 결정된다.
길이 필드는 커맨드에 의해서 개시 중인 트랜잭션의 길이를 표시하는데 사용될 수 있다. 이 길이 필드는 시스템 설계 사항에 따라서 다양한 방식으로 해석될 수 있다. 가령, 길이 필드의 정량적 크기는 다음의 아래의 항목들 중 임의의 것을 나타내거나 이 항목들에 열거되지 않은 임의의 실현 가능한 길이 파라미터를 나타낼 수 있다: 1) 선택된 메모리 디바이스와의 전체 트랜잭션의 길이, 2) 트랜잭션의 나머지 부분의 길이, 3) 어드레스 부분 또는 데이터 부분과 같은 트랜잭션의 특정 부분의 길이, 4) 기타. 길이 부분 값은 클록 사이클, 바이트, 워드, 더블-워드, 쿼드-워드 등과 같은 임의의 실현 가능한 측정 단위를 나타낼 수 있다. 몇몇 실시예에서, (가령, 커맨드가 상태 동작을 나타내거나 모든 데이터 전달이 고정된 길이를 갖기 때문에) 어떠한 길이 표시자(indicator)도 필요하지 않다면, 이 필드는 다른 목적을 위해서 사용되거나 무시될 수 있다.
도 4는 본 발명의 실시예에 따른, 호스트 디바이스 내에서 통신 시퀀스를 수 행하는 방법의 흐름도이다. 이 흐름도(400)의 단계(410)에서, 호스트 디바이스는 커맨드를 I/O 라인 세트를 통해서 메모리 디바이스에 전송한다. 이 커맨드가 "상태 판독(Read Status)" 커맨드이면, 호스트 디바이스는 이 커맨드를 전송하는데 사용된 것과 동일한 I/O 라인 세트를 통해서 선택된 메모리 디바이스의 상태를 판독할 수 있다(단계(435)). 만일 이 커맨드가 "구성 기록(Write configuration)" 커맨드이면, 호스트 디바이스는 이 커맨드를 전송하는데 사용된 것과 동일한 I/O 라인 세트에서 선택된 메모리 디바이스에 구성 정보를 기록할 수 있다(단계(430)). 단계(420)에서 결정되는 바와 같이, 이 커맨드가 "데이터 전달(Transfer Data)" 커맨드이면, 호스트 디바이스는 이 커맨드를 전송하는데 사용된 것과 동일한 I/O 라인 세트 상에 어드레스를 배치함으로써 선택된 메모리 디바이스에 어드레스를 전송할 수 있다(단계(440)). 이로써, 데이터 전달이 개시되는, 그 자신의 메모리 어레이 내의 개시 어드레스가 선택된 메모리 어드레스에 제공될 수 있다.
단계(450)에서 결정되는 바와 같이, 데이터 전달이 판독이면, 선택된 메모리 디바이스는 지정된 메모리 어드레스에서 시작하여 그 자신의 메모리 어레이로부터 데이터를 검색하여 이 검색된 데이터를 I/O 라인 상에 배치할 수 있다. 호스트 디바이스는 단계(465)에서 I/O 라인을 통해 그 데이터를 판독하기 시작한다. 이렇게 메모리 디바이스가 데이터를 I/O 라인 상에 배치하고 호스트 디바이스가 이 I/O 라인으로부터 데이터를 판독하는 프로세스는, 데이터 전달을 완료하기 위해서 필요한 횟수만큼 반복될 수 있다. 몇몇 실시예에서, 커맨드가 데이터 전달의 길이를 특정할 수 있다.
이와 유사하게, 단계(450)에서 결정되는 바와 같이, 데이터 전달이 기록이면, 호스트 디바이스는 I/O 라인 상에 데이터를 배치하기 시작하고(단계(460)), 이 데이터가 배치된 I/O 라인으로부터 선택된 메모리 디바이스가 그 데이터를 검출하고 이전에 지정된 어드레스에서 시작하여서 검출된 데이터를 자신의 메모리 어레이 내에 기록할 수 있다. 일단 데이터 또는 상태 정보 또는 구성 정보 모두가 전달되었으면, 프로세스는 단계(470)에서 종료된다. 몇몇 실시예에서는, 판독 동작 및 기록 동작에 의해서, 메모리 어레이와 I/O 라인 간에 데이터가 버퍼링될 수 있다.
도 5는 본 발명의 실시예에 따른, 메모리 디바이스 내에서 통신 시퀀스를 수행하는 방법의 흐름도이다. 이 흐름도(500)의 단계(510)에서, 메모리 디바이스는 I/O 라인 세트를 통해서 커맨드를 수신하고 이 커맨드를 디코딩할 수 있다. 몇몇 실시예에서, 사전 결정된 이벤트 이후에 I/O 라인들을 통해서 수신된 제1 신호들은 커맨드로서 간주될 수 있다. 다른 실시예에서, 다른 신호(예를 들어, 도 2에 도시된 START 신호)가 이 커맨드와 동일한 시간에 (또는 몇몇 실시예에서는 이 커맨드 바로 이전에) 전달되어서 I/O 라인들 상의 신호들이 메모리 디바이스에 의해서 커맨드로서 해석되어야 함을 표시할 수 있다. 이어서, 이 커맨드는 메모리 디바이스가 수행해야 할 동작을 결정하기 위해서 디코딩될 수 있다.
커맨드의 일부분은 이 커맨드가 버스 상의 어느 메모리 디바이스로 향하는지를 표시하는 선택 식별자에 전용될 수 있다. 버스 상의 모든 다른 디바이스들은 이 커맨드를 무시할 수 있다. 단계(520)에서 선택된 메모리 디바이스가 그 커맨드를 더 디코딩하여서 이 커맨드가 데이터 전달 커맨드인지를 결정할 수 있다(단 계(530)). 본 명세서의 컨텍스트에서는, 데이터 전달 커맨드는 데이터가 호스트 디바이스와 메모리 디바이스의 메모리 어레이 간에서 전달될 것을 지시하는 커맨드이다. 데이터 전달 커맨드가 아닌 커맨드는 메모리 어레이를 수반하지 않고, 메모리 디바이이스 내의 제어 회로와 호스트 디바이스 간에 정보를 전달하기 위해서 사용될 수 있다. 또한, 이 커맨드는 디코딩되어서 이 커맨드가 기록 동작(관련된 후속 데이터가 호스트 디바이스에서 메모리 디바이스로 전달되는 동작)을 수반하는지, 아니면 판독 동작(관련된 후속 데이터가 메모리 디바이스에서 호스트 디바이스로 전달되는 동작)을 수반하는지가 결정될 수 있다. 커맨드의 디바이스 선택, 데이터 전달, 및 판독/기록 부분들이 개별적으로 기술되었지만, 몇몇 실시예에서는 이들 중 일부 또는 전부가 동시에 디코딩될 수 있다.
커맨드가 데이터 전달 커맨드가 아니고 판독 동작을 지시하고 있다면, 선택된 메모리 디바이스는 자신의 상태 정보를 I/O 라인들 상에 배치하며(단계(545)), 이로써 호스트 디바이스가 이 상태 정보를 판독할 수 있다. 또한, 커맨드가 데이터 전달 커맨드가 아니고 기록 동작을 지시하고 있다면, 호스트 디바이스는 구성 데이터를 I/O 라인들 상에 배치할 수 있고, 선택된 메모리 디바이스는 그 정보를 사용하여서 자신의 구성을 설정할 수 있다(단계(540)). 어느 경우에서도, 커맨드 시퀀스가 종료되면, 메모리 디바이스는 그 자체로 수신 모드가 되며(단계(580), 이로써 다른 커맨드를 수신하여 디코딩할 준비를 하게 된다.
단계(530)에서 결정되는 바와 같이, 커맨드가 데이터가 선택된 메모리 디바이스의 메모리 어레이로 기록되거나 이로부터 판독될 것을 지시하는 데이터 전달 커맨드이면, 이 선택된 메모리 디바이스는 이 커맨드 이후에 호스트 디바이스가 I/O 라인들 상에 배치한 어드레스를 판독할 수 있다(단계(550)). 이 어드레스는 데이터 전달이 시작될, 메모리 어레이 내의 주소를 나타낼 수 있다. 몇몇 실시예에서, 이 어드레스는 커맨드가 I/O 라인들 상에 존재하게 된 후의 하나의 클록 사이클 동안 I/O 라인들 상에 존재할 것이다. 이 어드레스가 I/O 라인들 상에서 동시에 표현될 수 있는 것보다 많은 비트를 요구한다면, 이 어드레스를 I/O 라인들을 통해서 전달하는데 있어서 하나보다 많은 클록 사이클이 전용될 수 있다.
단계(560)에서 표시되는 바와 같이, 데이터 전달 동작이 판독 동작이면, 단계(575)에서 메모리 디바이스는 자신의 메모리 어레이로부터 데이터를 판독하기 시작하고 이 판독된 데이터를 호스트 디바이스가 판독할 수 있도록 I/O 라인들 상에 배치할 수 있다. 이 데이터를 전달하는데 전용되는 클록 사이클의 수는 전달될 데이터의 양에 따를 수 있다. 몇몇 실시예에서, 이 데이터 전달을 위한 클록 사이클의 수는 커맨드에 의해서 지시되지만, 다른 실시예에서는, 그 수가 사전 결정될 수 있다. 데이터가 전달된 후에, 통신 시퀀스가 종료되고, 메모리 디바이스는 그 자체로 수신 모드로 되어 다른 커맨드를 기다릴 수 있다(단계(580)).
단계(560)에서 표시되는 바와 같이, 데이터 전달 동작이 기록 동작이면, 메모리 디바이스는 I/O 라인들로부터 데이터를 획득하여 이 데이터를 메모리 디바이스의 메모리 어레이에 기록할 수 있다(단계(570)). 이전과 같이, 이 전달의 길이는 몇몇 실시예에서는 고정될 수 있지만, 다른 실시예에서는 커맨드 내에 표시될 수 있다. 데이터 전달이 완료되었으면, 메모리 디바이스는 그 자체로 수신 모드로 되어 다른 커맨드를 기다린다(단계(580)).
도 6은 본 발명의 실시예에 따른 비휘발성 메모리 디바이스의 블록도이다. 단지 도시의 편리성을 위해서, 도 1의 메모리 디바이스(120)가 도 6에 도시된 실례이지만, 다른 실시예는 본 명세서에서 구체적으로 기술되었는지의 여부와 상관없이 다른 메모리 디바이스를 사용할 수 있다. 메모리 디바이스(120)는 비휘발성 메모리 셀들의 저장 어레이(610)를 포함할 수 있다. 몇몇 실시예에서, 이 셀들은 플래시 메모리 셀일 수 있다. 몇몇 특정 실시예에서는, 이 셀들은 NAND 플래시 메모리 셀일 수 있다. 어레이는 임의의 편리한 워드 크기 및 어드레스 범위로 배열된 셀들을 가질 수 있다. 캐시 버퍼(620)를 사용하여 메모리 컨트롤러로부터(가령, 도 1의 호스트 디바이스(110)로부터) 어레이(610)로 기록되거나 또는 그로부터 판독될 데이터를 버퍼링할 수 있다. 이 캐시 버퍼(620)는 이것으로만 한정되지는 않지만 1) 휘발성 메모리 어레이, 2) 선입 선출 버퍼(FIFO), 3) 기타와 같은 임의의 실현 가능한 형태로 구현될 수 있다. 제어 로직(630)은 적어도 부분적으로는 메모리 컨트롤러로부터 수신된 커맨드를 기반으로 하여서 메모리 디바이스(120) 내의 동작들을 제어할 수 있다. 이전에 기술한 바와 같이, 커맨드들 및 데이터는 커맨드 시퀀스 동안의 상이한 시간에 메모리 버스의 동일한 라인들 D[15:0]을 통해서 전달될 수 있으며, START 신호는 이 커맨드 시퀀스를 개시하는 데 사용될 수 있고, CLK 신호는 데이터, 커맨드, 등을 동기적으로 전달하는 데 사용될 수 있다.
도 7은 본 발명의 실시예에 따른, 메모리 디바이스를 동작시키는 방법의 흐름도이다. 이 흐름도(700)의 단계(710)에서, 메모리 디바이스는 데이터를 그의 저 장 어레이의 내부로 또는 외부로 전달하기 위해 커맨드를 메모리 컨트롤러로부터 수신할 수 있다. 몇몇 동작에서, 메모리 디바이스는 또한 이 데이터 전달을 시작할 어레이 내의 어드레스를 수신할 수 있다. 단계(720)에서 결정되는 바와 같이 이 커맨드가 판독 커맨드이면, 단계(730)에서는 메모리 디바이스는 그의 저장 어레이의 지정된 부분으로부터 데이터를 자신의 캐시 버퍼 내로 전달할 수 있다. 단계(740)에서, 이 데이터는, 타이밍을 위해서 버스 상의 클록 신호를 사용하여 데이터를 요청하는 메모리 컨트롤러로 메모리 버스를 통해서 동기적으로 전달될 수 있다. 이와 유사하게, 단계(720)에서 결정되는 바와 같이, 이 커맨드가 기록 커맨드이면, 단계(750)에서, 데이터는, 역시 타이밍을 위해서 버스 상의 클록 신호를 사용하여 메모리 컨트롤러로부터 메모리 버스를 통해서 메모리 디바이스의 캐시 버퍼 내로 동기적으로 전달될 수 있다. 이어서, 단계(760)에서, 데이터는 캐시 버퍼로부터 어레이 내로 전달될 수 있다.
전술한 설명에서는 커맨드가 데이터가 저장 어레이 내로 기록되거나 저장 어레이로부터 판독되어야 함을 지시하는 것으로 가정되었다. 다른 커맨드들은 저장 어레이 또는 캐시 버퍼를 수반하지 않고 데이터가 메모리 디바이스 내로 기록되거나 메모리 디바이스로부터 판독되는 것을 수반할 수 있다. 가령, 메모리 디바이스의 제어 로직 내의 하나 이상의 레지스터로부터 몇몇 타입의 상태 정보를 메모리 디바이스로 하여금 판독하게 하고 그 상태 정보를 메모리 컨트롤러가 판독할 수 있게 메모리 버스 상으로 배치하게 요청하는 "상태 판독" 커맨드가 메모리 디바이스에 발행될 수 있다. 이와 유사하게, 메모리 디바이스로 하여금 메모리 버스로부터 구성 정보를 취하게 하고 그 구성 정보를 메모리 디바이스의 제어 로직 내의 내부 레지스터들에 기록하도록 하는 "구성 기록" 커맨드가 메모리 디바이스에 발행될 수 있다.
메모리 디바이스 내의 캐시 버퍼는 메모리 버스 상에서의 데이터 전달 레이트가 저장 어레이의 데이터 전달 레이트보다 매우 빠를 때에 크게 유용하게 사용될 수 있다. 메모리 컨트롤러는 메모리 디바이스가 자신의 저장 어레이로부터 데이터를 판독하고 그 판독된 데이터를 해당 저장 버퍼 내에 배치하도록 메모리 디바이스를 트리거하는 커맨드를 발행할 수 있다. 이어서, 메모리 컨트롤러는 이러한 저속의 내부 동작이 완료되기까지 대기하는 동안에 다른 메모리 디바이스에 대해서 다른 동작을 수행할 수 있다. 일단 지정된 양의 데이터(가령, 데이터의 페이지)가 캐시 버퍼 내에 배치되었으면, 메모리 컨트롤러는 메모리 버스 상에서 고속 동작을 수행하여 그 데이터를 캐시 버퍼에서 메모리 컨트롤러로 전달되게 한다. 이와 반대되는 방향의 동작도 이와 유사한데, 즉, 메모리 컨트롤러로부터 지정된 메모리 디바이스의 캐시 메모리로 데이터가 고속으로 전달된다. 이어서, 메모리 디바이스는 자신의 캐시 버퍼에서 자신의 저장 어레이로 데이터를 저속으로 전달할 수 있어, 메모리 컨트롤러가 다른 메모리 디바이스에 대해서 다른 동작을 수행할 수 있도록 자유로운 상태로 되게 할 수 있다.
지금까지의 발명의 상세한 설명 부분은 본 발명을 한정하기보다는 예시적으로 설명하기 위해서 기술되었다. 따라서, 본 기술 분야의 당업자에게는 다양한 변경 사항이 가능하다. 이들 변경 사항은 다음의 청구범위의 기술적 사상 및 범위에 의해서만 한정되는 본 발명의 다양한 실시예들 내에 포함될 것이다.
Claims (26)
- 비휘발성 메모리 셀들의 어레이와,상기 어레이에 연결되며 입출력 신호 핀 세트 및 클록 신호 핀을 포함하는 인터페이스를 포함하고,커맨드 신호들(command signals), 어드레스 신호들 및 데이터 신호들을 동일한 입출력 신호 핀 세트 상에 배치하고, 클록 신호를 사용하여서 상기 커맨드 신호들, 상기 어드레스 신호들 및 상기 데이터 신호들을 래치(latch)함으로써, 상기 어레이가 상기 인터페이스를 통해서 제어되는 장치.
- 제1항에 있어서, 상기 어레이는 NAND 플래시 어레이인 장치.
- 제1항에 있어서,상기 커맨드 신호들은 제1 클록 사이클 세트 동안 상기 입출력 신호 핀들 상에 배치되고,상기 어드레스 신호들은 상기 제1 클록 사이클 세트에 후속하는 제2 클록 사이클 세트 동안 상기 입출력 신호 핀들 상에 배치되며,상기 데이터 신호들은 상기 제2 클록 사이클 세트에 후속하는 제3 클록 사이클 세트 동안 상기 입출력 신호 핀들 상에 배치되는 장치.
- 제3항에 있어서, 상기 제1 클록 사이클 세트는 단일 클록 사이클로 구성되는 장치.
- 제3항에 있어서, 상기 커맨드 신호들은, 커맨드가 판독 커맨드인지 기록 커맨드인지를 표시하는 신호들을 포함하고, 상기 제2 클록 사이클 세트 및 상기 제3 클록 사이클 세트의 길이를 나타내는 장치.
- 제3항에 있어서, 상기 인터페이스는 상기 제1 클록 사이클 세트의 개시를 표시하는 신호를 전달하기 위한 다른 핀을 더 포함하는 장치.
- 제1항에 있어서, 상기 인터페이스는 오직 어드레스 래치 또는 판독/기록 선택을 표시하는데만 전용되는 어떠한 핀도 포함하지 않는 장치.
- 제1항에 있어서,상기 인터페이스에 연결되어서 상기 커맨드 신호들을 상기 인터페이스에 통신하는(communicate) 호스트 디바이스를 더 포함하며,상기 호스트 디바이스는 상기 인터페이스와 동일한 집적 회로 내에 포함되지 않는 장치.
- 비휘발성 메모리 디바이스의 판독 동작 또는 기록 동작을 위한 커맨드를 입출력 라인 세트 상에서 수신하는 단계와,상기 커맨드를 수신한 이후에, 데이터 전달 동작의 개시 위치를 나타내는 어드레스를 상기 입출력 라인 세트 상에서 수신하는 단계와,상기 어드레스를 수신한 이후에, 상시 수신된 어드레스로부터 시작하는, 상기 비휘발성 메모리 디바이스 내의 어드레스들의 블록으로 전달되거나 어드레스들의 블록으로부터 전달되는 데이터를 상기 입출력 라인 세트 상에서 수신하는 단계를 포함하고,상기 어드레스 및 상기 데이터를 래치하기 위해서 단일 클록 신호가 사용되는 방법.
- 제9항에 있어서, 상기 커맨드를 래치하기 위해 다른 신호가 사용되는 방법.
- 제9항에 있어서, 상기 커맨드를 수신하는 단계는 NAND 플래시 메모리 디바이스의 동작을 위한 커맨드를 수신하는 단계를 포함하는 방법.
- 제9항에 있어서,상기 커맨드를 수신하는 단계는 제1 개수의 클록 사이클 동안 상기 입출력 라인들 상의 신호들을 커맨드로서 해석하는 단계를 포함하고,상기 어드레스를 수신하는 단계는 제2 개수의 클록 사이클 동안 상기 입출력 라인들 상의 신호들을 어드레스로서 해석하는 단계를 포함하고,상기 데이터를 수신하는 단계는 제3 개수의 클록 사이클 동안 상기 입출력 라인들 상의 신호들을 데이터로서 해석하는 단계를 포함하는 방법.
- 제12항에 있어서, 상기 제3 개수의 클록 사이클은 상기 커맨드 내에 표시되어 있는 방법.
- 제9항에 있어서, 상기 데이터를 수신하는 단계 이후에 수신 동작 모드로 자동으로 복귀하는 단계를 더 포함하는 방법.
- 하나 이상의 프로세서에 의해서 실행될 때, 동작들을 수행하게 하는 인스트럭션들을 포함하는 유형의 머신 판독가능한 매체(a tangible machine-readable medium)를 포함하며, 상기 동작들은,비휘발성 메모리 디바이스에 대한 커맨드를 나타내는 제1 신호 세트를 입출력 라인 세트를 통해서 호스트 디바이스에서 상기 비휘발성 메모리 디바이스로 전송하는 동작과,상기 비휘발성 메모리 디바이스와의 데이터 전달을 위한 개시 어드레스를 나타내는 제2 신호 세트를 상기 입출력 라인 세트를 통해서 상기 호스트 디바이스에서 상기 비휘발성 메모리 디바이스로 전송하는 동작과,상기 데이터 전달용의 데이터를 나타내는 제3 신호 세트를 상기 입출력 라인 세트를 통해서 상기 호스트 디바이스와 상기 비휘발성 메모리 디바이스 간에서 전달하는 동작과,단일 클록 신호를 제공하여서 상기 제2 신호 세트와 상기 제3 신호 세트를 동기화하는 동작을 포함하는 제품.
- 제15항에 있어서, 상기 동작들은 상기 제1 신호 세트를 동기화하기 위해서 다른 신호를 제공하는 동작을 더 포함하는 제품.
- 제15항에 있어서, 상기 동작들은 상기 제3 신호 세트의 길이를 나타내는 정보를 상기 제1 신호 세트 내에 포함시키는 동작을 더 포함하는 제품.
- 제15항에 있어서, 상기 제1 신호 세트의 길이는 사전 결정되는 제품.
- 제15항에 있어서, 상기 제2 신호 세트의 길이는 사전 결정되는 제품.
- 비휘발성 메모리 디바이스를 포함하고,상기 비휘발성 메모리 디바이스는,비휘발성 메모리 셀들의 저장 어레이와,상기 어레이에 연결되어서 상기 어레이와 메모리 컨트롤러 간의 데이터 전달을 버퍼링하는 캐시 버퍼와,상기 어레이 및 상기 캐시 버퍼에 연결되어서, 상기 저장 어레이의 내부로 및 외부로의 데이터 전달을 제어하는 제어 로직을 포함하는 장치.
- 제20항에 있어서, 상기 어레이는 NAND 플래시 메모리 셀들을 포함하는 장치.
- 제20항에 있어서, 상기 캐시 버퍼는 적어도 데이터의 페이지를 유지할 수 있는 장치.
- 제20항에 있어서, 상기 캐시 버퍼는 선입 선출 버퍼(first-in first-out buffer)를 포함하는 장치.
- 메모리 컨트롤러와 NAND 플래시 메모리 디바이스 내의 캐시 버퍼 간에서 데이터를 동기적으로 전달하는 단계와,상기 캐시 버퍼와 상기 NAND 플래시 메모리 디바이스 내의 저장 어레이 간에서 상기 데이터를 전달하는 단계를 포함하는 방법.
- 제24항에 있어서,상기 메모리 컨트롤러와 상기 캐시 버퍼 간에서 데이터를 전달하는 상기 단계는, 상기 메모리 컨트롤러에서 상기 캐시 버퍼로 상기 데이터를 전달하는 단계를 포함하며,상기 캐시 버퍼와 상기 저장 어레이 간에서 상기 데이터를 전달하는 상기 단계는, 상기 캐시 버퍼에서 상기 저장 어레이로 상기 데이터를 전달하는 단계를 포함하는 방법.
- 제24항에 있어서,상기 캐시 버퍼와 상기 저장 어레이 간에서 데이터를 전달하는 상기 단계는, 상기 저장 어레이에서 상기 캐시 버퍼로 상기 데이터를 전달하는 단계를 포함하며,상기 메모리 컨트롤러와 상기 캐시 버퍼 간에서 데이터를 전달하는 상기 단계는, 상기 캐시 버퍼에서 상기 메모리 컨트롤러로 상기 데이터를 전달하는 단계를 포함하는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/644,464 | 2006-12-21 | ||
US11/644,464 US7802061B2 (en) | 2006-12-21 | 2006-12-21 | Command-based control of NAND flash memory |
PCT/US2007/087811 WO2008079788A1 (en) | 2006-12-21 | 2007-12-17 | Command-based control of nand flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090101195A true KR20090101195A (ko) | 2009-09-24 |
KR101105489B1 KR101105489B1 (ko) | 2012-01-13 |
Family
ID=39542531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097013008A KR101105489B1 (ko) | 2006-12-21 | 2007-12-17 | Nand 플래시 메모리의 커맨드 기반 제어 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7802061B2 (ko) |
KR (1) | KR101105489B1 (ko) |
CN (1) | CN101568903B (ko) |
TW (1) | TWI364762B (ko) |
WO (1) | WO2008079788A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012134097A3 (ko) * | 2011-04-01 | 2013-01-10 | (주)아토솔루션 | 데이터 기록 방법, 메모리, 및 메모리 기록 시스템 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100784865B1 (ko) | 2006-12-12 | 2007-12-14 | 삼성전자주식회사 | 낸드 플래시 메모리 장치 및 그것을 포함한 메모리 시스템 |
US7802061B2 (en) | 2006-12-21 | 2010-09-21 | Intel Corporation | Command-based control of NAND flash memory |
US7864606B2 (en) * | 2007-09-18 | 2011-01-04 | Spansion Israel Ltd | Method, device and system for regulating access to an integrated circuit (IC) device |
EP2567379A4 (en) * | 2010-05-07 | 2014-01-22 | Mosaid Technologies Inc | METHOD AND DEVICE FOR SIMULTANEOUSLY READING MULTIPLE MEMORY DEVICES WITH THE AID OF A SINGLE BUFFER |
US9251874B2 (en) | 2010-12-21 | 2016-02-02 | Intel Corporation | Memory interface signal reduction |
CN102591782A (zh) * | 2011-01-17 | 2012-07-18 | 上海华虹集成电路有限责任公司 | 一种采用三级地址查找表的Nandflash存储系统 |
CN102736860B (zh) * | 2011-04-08 | 2015-03-11 | 安凯(广州)微电子技术有限公司 | 同步nand的数据操作系统及方法 |
US8607089B2 (en) | 2011-05-19 | 2013-12-10 | Intel Corporation | Interface for storage device access over memory bus |
US9263106B2 (en) * | 2011-10-21 | 2016-02-16 | Nvidia Corporation | Efficient command mapping scheme for short data burst length memory devices |
US8806071B2 (en) * | 2012-01-25 | 2014-08-12 | Spansion Llc | Continuous read burst support at high clock rates |
KR101979732B1 (ko) * | 2012-05-04 | 2019-08-28 | 삼성전자 주식회사 | 비휘발성 메모리 컨트롤러 및 비휘발성 메모리 시스템 |
US9032177B2 (en) | 2012-12-04 | 2015-05-12 | HGST Netherlands B.V. | Host read command return reordering based on time estimation of flash read command completion |
US10380060B2 (en) | 2016-06-17 | 2019-08-13 | Etron Technology, Inc. | Low-pincount high-bandwidth memory and memory bus |
KR20180033676A (ko) | 2016-09-26 | 2018-04-04 | 에스케이하이닉스 주식회사 | 메모리 모듈 및 이를 포함하는 메모리 시스템 |
WO2019050534A1 (en) * | 2017-09-08 | 2019-03-14 | Etron Technology America, Inc. | MEMORY BUS AND MEMORY WITH LARGE BAND WIDTH AND LOW NUMBER OF PINS |
KR102263043B1 (ko) | 2019-08-07 | 2021-06-09 | 삼성전자주식회사 | 비휘발성 메모리 장치, 컨트롤러 및 메모리 시스템 |
US11048443B1 (en) | 2020-03-25 | 2021-06-29 | Sandisk Technologies Llc | Non-volatile memory interface |
US20240111671A1 (en) * | 2020-12-28 | 2024-04-04 | Kioxia Corporation | Memory system |
CN113302697A (zh) * | 2021-04-07 | 2021-08-24 | 长江存储科技有限责任公司 | 高性能输入缓冲器和具有高性能输入缓冲器的存储设备 |
JP2023014803A (ja) * | 2021-07-19 | 2023-01-31 | キオクシア株式会社 | 半導体記憶装置およびシステム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6470858A (en) * | 1987-09-11 | 1989-03-16 | Hitachi Ltd | Data transfer system |
US5291584A (en) * | 1991-07-23 | 1994-03-01 | Nexcom Technology, Inc. | Methods and apparatus for hard disk emulation |
US5835965A (en) * | 1996-04-24 | 1998-11-10 | Cirrus Logic, Inc. | Memory system with multiplexed input-output port and memory mapping capability |
US5950219A (en) * | 1996-05-02 | 1999-09-07 | Cirrus Logic, Inc. | Memory banks with pipelined addressing and priority acknowledging and systems and methods using the same |
US6078985A (en) * | 1997-04-23 | 2000-06-20 | Micron Technology, Inc. | Memory system having flexible addressing and method using tag and data bus communication |
US6442644B1 (en) * | 1997-08-11 | 2002-08-27 | Advanced Memory International, Inc. | Memory system having synchronous-link DRAM (SLDRAM) devices and controller |
US5822251A (en) * | 1997-08-25 | 1998-10-13 | Bit Microsystems, Inc. | Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers |
US6209053B1 (en) * | 1998-08-28 | 2001-03-27 | Intel Corporation | Method and apparatus for operating an adaptive multiplexed address and data bus within a computer system |
TW504694B (en) * | 2000-01-12 | 2002-10-01 | Hitachi Ltd | Non-volatile semiconductor memory device and semiconductor disk device |
US20030014687A1 (en) * | 2001-07-10 | 2003-01-16 | Grandex International Corporation | Nonvolatile memory unit comprising a control circuit and a plurality of partially defective flash memory devices |
KR100543906B1 (ko) * | 2001-12-29 | 2006-01-23 | 주식회사 하이닉스반도체 | 어드레스 핀의 수를 줄인 동기식 반도체 메모리 소자 |
US20050204091A1 (en) * | 2004-03-11 | 2005-09-15 | Kilbuck Kevin M. | Non-volatile memory with synchronous DRAM interface |
US20060129701A1 (en) * | 2004-12-15 | 2006-06-15 | Shekoufeh Qawami | Communicating an address to a memory device |
US7478213B2 (en) * | 2006-03-29 | 2009-01-13 | Atmel Corporation | Off-chip micro control and interface in a multichip integrated memory system |
US7802061B2 (en) | 2006-12-21 | 2010-09-21 | Intel Corporation | Command-based control of NAND flash memory |
-
2006
- 2006-12-21 US US11/644,464 patent/US7802061B2/en active Active
-
2007
- 2007-11-21 TW TW096144075A patent/TWI364762B/zh not_active IP Right Cessation
- 2007-12-17 KR KR1020097013008A patent/KR101105489B1/ko not_active IP Right Cessation
- 2007-12-17 WO PCT/US2007/087811 patent/WO2008079788A1/en active Application Filing
- 2007-12-17 CN CN2007800476302A patent/CN101568903B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012134097A3 (ko) * | 2011-04-01 | 2013-01-10 | (주)아토솔루션 | 데이터 기록 방법, 메모리, 및 메모리 기록 시스템 |
KR101293224B1 (ko) * | 2011-04-01 | 2013-08-05 | (주)아토솔루션 | 데이터 기록 방법. 메모리, 및 메모리 기록 시스템 |
US9292430B2 (en) | 2011-04-01 | 2016-03-22 | Industrial Bank Of Korea | Method of writing data, memory, and system for writing data in memory |
Also Published As
Publication number | Publication date |
---|---|
TW200836204A (en) | 2008-09-01 |
TWI364762B (en) | 2012-05-21 |
CN101568903A (zh) | 2009-10-28 |
KR101105489B1 (ko) | 2012-01-13 |
CN101568903B (zh) | 2012-08-22 |
WO2008079788A1 (en) | 2008-07-03 |
US7802061B2 (en) | 2010-09-21 |
US20080151622A1 (en) | 2008-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101105489B1 (ko) | Nand 플래시 메모리의 커맨드 기반 제어 | |
US9792072B2 (en) | Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system | |
US10108373B2 (en) | Host, system, and methods for transmitting commands to non-volatile memory card | |
US9978430B2 (en) | Memory devices providing a refresh request and memory controllers responsive to a refresh request | |
EP1488323B1 (en) | Memory system with burst length shorter than prefetch length | |
US8521945B2 (en) | Portable data storage using SLC and MLC flash memory | |
US12088291B2 (en) | Apparatus for transmitting and receiving a signal, a method of operating the same, a memory device, and a method of operating the memory device | |
CN114974374B (zh) | 具有芯片内执行能力的串行与非门快闪存储器 | |
CN107305781B (zh) | 存储器装置、存储器系统和控制存储器装置的方法 | |
EP2973572B1 (en) | System and method of reading data from memory concurrently with sending write data to the memory | |
US10545888B2 (en) | Data inversion circuit | |
KR20170005900A (ko) | 플래시 메모리 제어기 | |
TWI841113B (zh) | 記憶體定址方法及相關聯的控制器 | |
US20200293198A1 (en) | Memory system | |
US7698475B2 (en) | DMA transfer control apparatus for performing direct memory access transfer from a transfer source to a transfer destination | |
CN101261611A (zh) | 一种外围设备间的数据传输装置和传输方法 | |
US8006029B2 (en) | DDR flash implementation with direct register access to legacy flash functions | |
US20180336147A1 (en) | Application processor including command controller and integrated circuit including the same | |
CN118277304A (zh) | 一种介质接口控制器 | |
CN118276764A (zh) | 操作nvm芯片执行相关操作的方法及介质接口控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141230 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160104 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180103 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |