KR20150128668A - 기입 데이터를 메모리로 전송하는 동시에 메모리로부터 데이터를 판독하는 시스템 및 방법 - Google Patents

기입 데이터를 메모리로 전송하는 동시에 메모리로부터 데이터를 판독하는 시스템 및 방법 Download PDF

Info

Publication number
KR20150128668A
KR20150128668A KR1020157021848A KR20157021848A KR20150128668A KR 20150128668 A KR20150128668 A KR 20150128668A KR 1020157021848 A KR1020157021848 A KR 1020157021848A KR 20157021848 A KR20157021848 A KR 20157021848A KR 20150128668 A KR20150128668 A KR 20150128668A
Authority
KR
South Korea
Prior art keywords
memory
read
data
write
controller
Prior art date
Application number
KR1020157021848A
Other languages
English (en)
Inventor
아브둘라 피첸
Original Assignee
샌디스크 테크놀로지스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 샌디스크 테크놀로지스, 인코포레이티드 filed Critical 샌디스크 테크놀로지스, 인코포레이티드
Publication of KR20150128668A publication Critical patent/KR20150128668A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • 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/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2209Concurrent read and write

Abstract

데이터 저장 디바이스는 메모리, 제어기, 및 상기 메모리 및 상기 제어기에 결합되는 통신 버스를 포함한다. 상기 제어기는 통신 버스를 통해 메모리로 판독-기입 명령 및 기입 데이터를 전송하도록 구성된다. 상기 판독-기입 명령은 메모리로부터 판독되는 요청된 데이터의 어드레스를 나타낸다. 제어기는 메모리로부터 판독되는 요청된 데이터를 수신하도록 또한 구성된다. 상기 통신 버스를 통해 요청된 데이터를 통신하는 것은 상기 메모리에 저장되는 기입 데이터와 겹친다.

Description

기입 데이터를 메모리로 전송하는 동시에 메모리로부터 데이터를 판독하는 시스템 및 방법{SYSTEM AND METHOD OF READING DATA FROM MEMORY CONCURRENTLY WITH SENDING WRITE DATA TO THE MEMORY}
관련된 출원들에 대한 상호-참조
본 출원은 그 전체 내용이 본 명세서에 참조 문헌으로 병합된 2013년 3월 12일에 출원된 인도 출원 번호 1019/CHE/2013의 우선권을 주장한다.
기술 분야
본 발명은 일반적으로 데이터 저장 디바이스로부터 데이터를 검색하는 것 및 데이터 저장 디바이스에 데이터를 저장하는 것에 관한 것이다.
USB(Universal serial bus) 플래시 메모리 디바이스들 또는 착탈가능한 저장 카드들과 같은 비-휘발성 데이터 저장 디바이스들은, 데이터 및 소프트웨어 어플리케이션들의 증가된 호환성을 허용한다. 플래시 메모리 디바이스들은 판독 동작을 수행하기보다는 기입 동작을 수행하는데 더 많은 시간이 걸린다. 기입 동작이 수행되는 동안 플래시 메모리 디바이스에 저장되는 데이터를 판독하는 판독 동작이 요청될 때, 플래시 메모리 디바이스는 상기 저장된 데이터를 판독시에 레이턴시(latency)를 야기할 수 있는 판독 동작을 수행하기 전에 기입 동작을 완료할 수 있다.
데이터 저장 디바이스의 메모리에 저장된 데이터를 판독하는 것의 레이턴시는, 기입 데이터를 데이터 저장 디바이스의 메모리에 전송하는 것과 동시에 데이터 저장 디바이스의 메모리로부터 데이터를 판독함으로써 개선될 수 있다. 판독-기입 명령 및 기입 데이터는 데이터 저장 디바이스의 제어기로부터 전송될 수 있다. 판독-기입 명령은 메모리로부터 판독되는 요청된 데이터를 나타낸다. 기입 데이터가 제어기로부터 전송되는 동안 상기 요청된 데이터는 메모리로부터 판독된다. 상기 제어기로부터 기입 데이터의 전송이 완료된 후, 상기 기입 데이터가 메모리에 기입되는 동안 상기 요청된 데이터는 제어기로부터 전송될 수 있다.
도 1은 데이터 저장 디바이스를 포함하는 시스템의 특정 예시적인 실시예의 블록도로서, 상기 데이터 저장 디바이스는 메모리에 저장되는 기입 데이터와 적어도 부분적으로 동시에 메모리로부터 판독되는 요청된 데이터를 수신하도록 구성된 제어기를 포함한다.
도 2는 도 1의 데이터 저장 디바이스의 판독-기입 명령과 관련된 신호들 및 데이터의 특정 실시예를 나타내는 타이밍 다이어그램이다.
도 3은 메모리에 저장되는 기입 데이터와 적어도 부분적으로 동시에 데이터 저장 디바이스 내의 메모리로부터 판독되는 요청된 데이터를 수신하는 방법의 특정 예시적인 실시예의 흐름도이다.
도 1을 참조하면, 시스템(100)의 특정 실시예는 호스트 디바이스(130)에 결합된 데이터 저장 디바이스(102)를 포함한다. 상기 저장 디바이스(102)는 통신 버스(140)를 통해 제어기(120)에 결합된 메모리 다이(103)를 포함한다. 상기 데이터 저장 디바이스(102)는 상기 메모리 다이(103)로부터 상기 제어기(120)로 요청된 데이터를 전송하도록 구성된다. 상기 요청된 데이터를 상기 제어기(120)로 전송하는 것은, 상기 메모리 다이(103)의 메모리(104)에 기입되는 기입 데이터(156)와 중첩한다.
상기 호스트 디바이스(130)는, 사용자 데이터(132)와 같은 데이터를 메모리(104)에 저장되도록 제공하거나 또는 상기 메모리(104)로부터 판독될 데이터를 요청하도록 구성될 수 있다. 예를 들어, 호스트 디바이스(130)는 이동 전화, 음악 재생기, 비디오 재생기, 게임 콘솔, 전자책 판독기, PDA(personal digital assistant), 랩톱 컴퓨터 또는 노트북 컴퓨터와 같은 컴퓨터, 임의의 다른 전자 디바이스, 또는 이러한 것들의 조합 등을 포함할 수 있다. 호스트 디바이스(130)는 메모리(104)로부터의 판독 및 메모리(104)로의 기입을 가능하게 하는 메모리 인터페이스를 통해 통신한다. 예를 들어, 호스트 디바이스(130)는 UFS(Universal Flash Storage) 호스트 제어기 인터페이스 사양과 같은 JEDEC(Joint Electron Devices Engineering Council) 산업 사양에 동작할 수 있다. 다른 예들과 같이, 호스트 디바이스(130)는, 도시된 예에서처럼 SD(Secure Digital) 호스트 제어기 사양과 같은 하나 이상의 다른 사양들에 따라 동작할 수 있습니다. 상기 호스트 디바이스(130)는 다른 적합한 통신 프로토콜에 따라 메모리(104)와 통신할 수 있다.
상기 데이터 저장 디바이스(102)는 메모리 카드, 예를 들어, Secure Digital SD® 카드, microSD® 카드, miniSD.TM 카드(SD-3C LLC, Wilmington, Delaware의 상표들), MultiMediaCard.TM(MMC.TM) 카드(JEDEC Solid State Technology Association, Arlington, Virginia) 또는 CompactFlash® (CF) 카드(SanDisk Corporation, Milpitas, California)일 수 있다. 다른 예로서, 데이터 저장 디바이스(102)는, 도시된 예에서처럼, eMMC®(JEDEC Solid State Technology Association, Arlington, Virginia의 상표) 및 eSD와 같은 임베딩된 메모리와 같은 호스트 디바이스(130)에 결합되도록 구성될 수 있다. 설명을 위해, 상기 데이터 저장 디바이스(102)는 eMMC(embedded MultiMedia Card) 디바이스에 대응할 수 있다. 상기 데이터 저장 디바이스(102)는 JEDEC 산업 사양에 따라 동작할 수 있다. 예를 들어, 상기 데이터 저장 디바이스(102)는 JEDEC eMMC 사양, JEDEC UFS(Universal Flash Storage) 사양, 하나 이상의 다른 사양들, 또는 이들의 조합에 따라 동작할 수 있다.
상기 메모리 다이(103)는, 상기 메모리(104)로부터 요청된 데이터를 판독하는 동안 상기 메모리 다이(103) 상의 버퍼들(106) 세트에 기입 데이터를 버퍼링하도록 상기 메모리(104), 버퍼들(106)의 세트 및 회로(108)를 포함할 수 있다. 상기 메모리(104)는 NAND 플래시 메모리와 같은 비휘발성 메모리일 수 있고, 메모리 다이(103)(예를 들어, 플래시 다이)로부터 판독될 요청된 데이터를 저장하기 위해 구성될 수 있다. 메모리(104)는, 워드 라인들, 페이지들 또는 블록들과 같은 다수의 그룹들의 저장 소자들을 포함할 수 있다. 일 예로서, 상기 메모리(104)는 MLC(multi-level cell) 플래시 메모리를 포함할 수 있다.
버퍼들(106)의 세트는 제1 버퍼(107) 및 제2 버퍼(109)를 포함할 수 있다. 메모리 다이(103)가 제어기(120)로부터 기입 데이터(156)를 수신하는 동안, 버퍼들(106)의 세트는 메모리(104)로부터 판독되는 요청된 데이터(예를 들어, 판독 데이터(160))를 저장하도록 구성될 수 있다. 예를 들어, 기입 데이터(156)의 적어도 일부가 통신 버스(140)를 통해 수신되고 제2 버퍼(109)에 저장되는 동안, 제1 버퍼(107)는 메모리(104)로부터 판독되는 요청된 데이터(160)의 적어도 일부를 저장하도록 구성될 수 있다.
메모리 다이(103)가 제어기(120)로부터 기입 데이터(156)를 수신하는 동안, 회로(108)는 버퍼들(106)의 세트가 메모리(104)로부터 판독되는 요청된 데이터(160)를 저장하게끔 구성될 수 있다. 예를 들어, 기입 데이터(156)의 적어도 일 부분이 통신 버스(140)를 통해 수신되고 제2 버퍼(109)에 저장되는 동안, 회로(108)는 제1 버퍼(107)가 메모리(104)로부터 판독되는 요청된 데이터(160)의 적어도 일부분 저장하게끔 판독-기입 명령(150)의 수신에 응답할 수 있다.
데이터 저장 디바이스(102)가 호스트 디바이스(130)에 동작적으로 결합되는 동안, 제어기(120)는 호스트 디바이스(130)로부터 데이터 및 명령어들을 수신하고 호스트 디바이스(130)에 데이터를 전송하도록 구성될 수 있다. 제어기(120)는 또한 메모리(104)에 데이터 및 명령들을 전송하고 메모리(104)로부터 데이터를 수신하도록 구성될 수 있다. 예를 들어, 제어기(120)는, 특정 어드레스에 데이터를 저장하도록 메모리(104)에 명령하는 기입 명령 및 데이터를 전송하도록 구성될 수 있다. 다른 예로서, 상기 제어기(120)는 메모리(104)의 특정 어드레스로부터 데이터를 판독하도록 하는 판독 명령어를 전송하도록 구성될 수 있다.
상기 제어기(120)는, 판독-기입 명령(150)을 발생시키도록 구성된 판독-기입 명령 로직(122)을 포함할 수 있다. 판독-기입 명령(150)은 판독 어드레스(152) 및 기입 어드레스(154)를 포함한다. 판독 어드레스(152)는 메모리(104) 내의 판독 위치에 대응할 수 있고, 기입 어드레스(154)는 메모리(104) 내의 기입 위치에 대응할 수 있다. 예를 들어, 요청된 데이터(160)와 같은 메모리(104)로부터 판독되는 데이터는 메모리(104) 내의 판독 위치로부터 판독될 수 있고, 기입 데이터(156)와 같은 메모리(104)에 전송된 데이터는 메모리(104) 내의 기입 위치에 전송될 수 있다.
상기 제어기(120)는, 메모리(104)의 특정 판독 어드레스(152)로부터 요청된 데이터(160)를 판독하고 메모리(104)의 특정 기입 어드레스(154)에 기입 데이터(156)를 저장하도록 메모리(104)에 명령하여 통신 버스(140)를 통해 판독-기입 명령(150) 및 기입 데이터(156)를 전송하도록 구성될 수 있다. 예를 들어, 상기 제어기(120)는, 기입 데이터(156)를 통신 버스(140) 상에 배치함으로써 기입 데이터(156)를 메모리 다이(103)에 전송하도록 구성될 수 있고, 상기 메모리 다이(103)는, 통신 버스(140)로부터 기입 데이터(156)를 검색하고 기입 데이터(156)를 제2 버퍼(109)에 저장함으로써 기입 데이터(156)를 수신하도록 구성될 수 있다. 상기 기입 데이터(156)가 메모리(104)에 저장되는 동안, 상기 제어기(120)는 또한 메모리(104)로부터 판독되는 요청된 데이터(160)를 수신하도록 구성될 수 있다. 예를 들어, 상기 메모리 다이(103)는, 통신 버스(140) 상에 제1 버퍼(107) 내에 저장되는 요청된 데이터(160)를 배치하도록 구성될 수 있고, 그리고 기입 데이터(156)가 제2 버퍼(109)로부터 메모리(104)에 전송되는 동안 제어기(120)는 통신 버스(140)로부터 요청된 데이터(160)를 검색함으로써 요청된 데이터(160)를 수신하도록 구성될 수 있다.
동작 동안, 기입 동작이 진행되는 동안 호스트 디바이스(130)로부터 요청된 데이터(160)에 대한 판독 요청을 수신한 것에 응답하여, 제어기(120)는 메모리(104)에서 데이터 판독 동작을 개시할 수 있다. 데이터 판독 동작은, 통신 버스(140)를 통해 메모리 다이(103)로 기입 데이터(156)의 데이터 전송 동안 제어기(120)에 의해 개시될 수 있다. 예를 들어, 상기 판독 요청을 수신하는 것에 응답하여, 제어기(120)는 판독-기입 명령(150) 및 기입 데이터(156)를 통신 버스(140)를 통해 메모리 다이(103)로 전송할 수 있다. 기입 데이터(156)가 메모리 다이(103)로 전송되는 동안 요청된 데이터(160)는 메모리(104)의 판독 어드레스(152)로부터 판독될 수 있다. 메모리(104)로부터 판독되는 요청된 데이터(160)의 적어도 일부는 제1 버퍼(107)에 저장될 수 있는 반면 기입 데이터(156)의 적어도 일부는 제2 버퍼(109)에 동시에 저장된다. 일 구현에서, 통신 버스(140)를 통해 메모리 다이(130)로의 기입 데이터(156)의 전송이 완료될 때까지, 메모리(104)로부터 판독되는 요청된 데이터(160)는 제1 버퍼(107)에 유지될 수 있다. 통신 버스(140)를 통해 메모리 다이(103)로의 기입 데이터(156)의 데이터 전송이 완료될 때까지, 제어기(120)는 메모리 다이(103)로부터 통신 버스(140)를 통해 판독 데이터(160)를 수신할 수 있다.
다른 예로서, 메모리(104) 내의 순차적인 어드레스들에 다중 세트들의 데이터를 저장할 때와 같이, 데이터 저장 디바이스(102)가 순차적인 기입 동작을 수행할 때, 그리고 판독 요청이 호스트 디바이스(130)로부터 수신될 때, 하나 이상의 기입 동작들 중 상기 순차적인 기입 동작은 판독-기입 동작으로 대체될 수 있다. 제어기(120)는, 상기에서 서술된 것처럼 통신 버스(140)를 통해 메모리 다이(103)에 판독-기입 명령(150) 및 기입 데이터(156)를 전송할 수 있다. 예를 들어, 호스트 디바이스(130)로부터의 판독 요청은 호스트 디바이스(130)로부터의 기입 요청보다 더 높은 우선 순위를 가질 수 있다. 순차적인 기입 동작이 수행되는 동안 메모리(104)에 저장된 판독 데이터(160)를 판독하는 판독 동작이 호스트 디바이스(130)에 의해 요청될 때, 제어기(120)는 하나 이상의 기입 동작들 중 순차적인 기입 동작을 판독-기입 명령(150)으로 대체할 수 있다. 그 결과로서, 감소된 판독 레이턴시(read latency)는 호스트 디바이스(130)에 의해 경험될 수 있다.
메모리(104)에 저장되는 기입 데이터(156)와 동시에 적어도 부분적으로 메모리(104)로부터 판독되는 요청된 데이터(160)를 수신함으로써, 그리고 기입 데이터(160)가 메모리 다이(103)로 전송되는 동안 메모리(104)로부터 요청된 데이터(160)를 판독함으로써, 판독-기입 명령(150) 없는 시스템들과 비교하여 감소된 판독 레이턴시는 호스트 디바이스(130)에 의해 경험될 수 있다.
도 2를 참조하면, 도 1의 판독-기록 명령(150)과 관련된 신호들 및 데이터의 특정 실시예를 나타내는 타이밍 다이어그램(200)이 도시된다. 상기 타이밍 다이어그램(200)은 도 1의 통신 버스(140) 상의 시그널링에 관한 데이터 전송을 도시한다. 하지만, 도 2에 도시된 판독-기입 명령(150) 및 통신 버스 시그널링은 도 1의 데이터 저장 디바이스(102)와 다른 디바이스들 또는 시스템들로 구현될 수 있다.
통신 버스(140)는, 입력/출력(I/O) 부분(210) 및 제어 시그널링(211)으로 논리적으로 그룹화되는 다수의 라인들을 포함할 수 있다. I/O 부분(210)을 통해 전송되는 데이터는 I/O 트레이스(202)로 도시된다. 제어 시그널링(211)은 준비/사용중 신호(ready/busy signal)(230), 기입 가능 신호(240) 및 판독 가능 신호(250)를 포함한다.
준비/사용중 신호(230)는, 메모리 다이(103)가 삭제, 프로그래밍 또는 판독 동작을 진행할 때를 나타내도록 도 1의 메모리 다이(103)에 의해 어써트(assert)된다. 예를 들어, 준비/사용중 신호(230)는, 메모리 다이(103)는 삭제, 프로그래밍 또는 판독 동작을 진행할 때 로우(예를 들어, "사용중(busy)")로 어써트될 수 있고 그외에는 하이(예를 들어, "준비(ready)")로 어써트될 수 있다.
기입 가능 신호(240)는, 데이터, 어드레스 또는 명령 정보를 메모리 다이(103)에 클로킹할 책임이 있을 수 있다. 설명을 위해, 기입 동작에서, 기입 데이터(156)와 같은 프로그래밍될 데이터는, 기입 가능 신호(240)의 상승 에지들 상에서 통신 버스(140)의 I/O 라인들로부터 버퍼들(106)로 "클록(clocked)"(예를 들어, 일련의 데이터 워드들로 동시에 전송)될 수 있다.
판독 가능 신호(250)는, 하나 이상의 버퍼들(106)과 같은 출력 데이터 버퍼들을 인에이블할 수 있다. 예를 들어, 메모리(104)로부터 판독되는 데이터 및 버퍼들에 저장되는 데이터는, 판독 가능 신호(250)의 상승 에지들 상에서 버퍼들(106)로부터 통신 버스(140)의 I/O 라인들 상으로 클록될 수 있다.
I/O 트레이스(202)는 메모리 다이(103)로의 데이터 전송 및 메모리 다이(103)로부터의 데이터 전송을 나타낸다. I/O 트레이스(202)는 복수의 데이터 전송 유닛들을 포함한다. 예를 들어, 상기 복수의 데이터 전송 유닛들은 데이터 패킷들일 수 있다. 각 데이터 패킷은 다수의 비트들을 포함할 수 있고, 상기 다수의 비트들은 버스 사이클 동안 통신 버스(140)의 입력/출력 부분(210)의 다수의 라인들을 통해 병렬로 전송된다. 상기 데이터 패킷들은 명령 식별 패킷(204) 및 명령 종료 패킷(212)을 포함할 수 있다. 명령 식별 패킷(204)은 판독-기입 명령(150)을 식별하도록 한 세트의 비트들을 포함할 수 있다. 명령 종료 패킷(212)은, 기입 데이터 전송이 완료되었음을 나타낼 수 있다.
판독-기입 명령(150)은 명령 버스(140)의 라인들 상의 여러 신호들을 참조하여 표시되고, 그리고 헤더(예를 들어, 명령 식별 패킷(204)), 판독 어드레스(152) 및 기입 어드레스(154)를 포함한다. 판독-기입 명령(150) 및 관련된 데이터는, 버스 사이클 A, 버스 사이클 B, 버스 사이클 C ... 버스 사이클 K로서 표시된 다수의 버스 사이클들 동안 전송되는 것으로 표시된다.
버스 사이클 A 동안, 판독-기입 명령(150)을 나타내는 명령 인디케이터(command indicator)(204)는 제어기와 메모리 다이 사이의 통신 버스를 통해 전송될 수 있다. 설명을 위해, 제어기(120)는 통신 버스(140)의 I/O 부분(210) 상에 명령 인디케이터(204)를 기입할 수 있고, 기입 가능 신호(240)의 상승 에지를 구동할 수 있다. 메모리 다이(103)는, 통신 버스(140)로부터 명령 인디케이터(204)를 판독함으로써, 예를 들어, 기입 가능 신호(240)의 상승 에지 상에서 I/O 라인들(202)로부터 버퍼들(106)로 데이터를 클로킹함으로써 명령 인디케이터(204)를 수신할 수 있다.
버스 사이클 B 및 버스 사이클 C 동안, 하나 이상의 판독 어드레스들 및 기입 어드레스들은 상기 제어기와 상기 메모리 다이 사이의 통신 버스를 통해 전송될 수 있다. 예를 들어, 상기 제어기(120)는, 버스 사이클 B 및 버스 사이클 C 각각 동안 통신 버스(140) 상에 판독 어드레스(152) 및 기입 어드레스(154)를 둘 수 있다. 상기 메모리 다이(103)는, 도 1의 통신 버스(140)로부터 판독 어드레스(152) 및 기입 어드레스(154)를 판독함으로써, 예를 들어, 버스 사이클 B 및 버스 사이클 C 동안 기입 가능 신호(240)의 상승 에지 상에서 판독 어드레스(152) 및 기입 어드레스(154)를 버퍼들(106)로 클로킹함으로써, 판독 어드레스(152) 및 기입 어드레스(154)를 수신할 수 있다.
기입 데이터(156)는 버스 사이클들 D 내지 G 동안 전송되는 것으로 표시된다. 예를 들어, 제어기(120)는 순차적인 버스 사이클들 동안 기입 데이터(156)의 순차적인 부분들을 I/O 부분(210) 상에 기입할 수 있고, 그리고 I/O 라인들(202)로부터 각 부분을 판독하기 위해 메모리 다이(103)에 신호를 보내도록 기입 가능 신호(240)를 상승시킬 수 있다. 메모리 다이(103)는, 통신 버스(140)로부터 기입 데이터(156)를 판독함으로써, 예를 들어, 기입 가능 신호(240)의 상승 에지 상에서 기입 데이터(156)의 순차적인 부분들을 버퍼들(106)로 클록킹함으로써 기입 데이터(156)를 수신할 수 있다.
제어기(120)가 기입 데이터(156)를 전송하고 메모리 다이(103)가 사이클들 D 내지 G 동안 기입 데이터(156)를 수신하는 것과 동시에, 메모리 다이(103)는 판독 어드레스(152)에 대응하는 메모리(104) 내의 위치로부터 데이터를 판독하도록 판독 동작(232)을 수행할 수 있다. 상기 기입 데이터(156)가 전송된 이후, 상기 메모리로부터 판독되는 데이터는 통신 버스(140)를 통해 상기 제어기(120)로의 후속 전송을 위해 버퍼들(106)에 저장될 수 있다. 판독 동작(232)이 진행되는 동안, 준비/사용중 신호(230)는, 판독 동작(232)이 메모리 다이(103)에서 수행되고 있음을 나타내는 메모리 다이(103)에 의해 어써트될 수 있다. 준비/사용중 신호(230)는, 판독 동작(232)이 완료될 때까지 어써트되도록 유지될 수 있다. 하지만, 다른 구현들에서, 판독 동작(232)이 수행되는 동안, 준비/사용중 신호(230)는 어써트되지 않을 수 있다.
버스 사이클 H 동안, 기입 데이터 전송이 완료되었다는 표시는, 제어기와 메모리 다이사이의 통신 버스를 통해 전송될 수 있다. 예를 들어, 제어기(120)는 버스 사이클 H 동안 통신 버스(140) 상에 명령 종료 패킷(212)을 놓을 수 있다. 메모리 다이(103)는 통신 버스(140)로부터 명령 종료 패킷(212)을 판독함으로써 명령 종료 패킷(212)을 수신할 수 있다. 명령 종료 패킷(212)은 기입 가능 신호(240)의 상승 에지 상에서 버퍼들(106)로 클록킹될 수 있다.
버스 사이클 I 내지 K 동안(예를 들어, 기입 데이터(156) 전송이 완료되었음을 나타내는 명령 전송 패킷(212)이 전송된 후), 기입 동작(234)은 수행될 수 있다. 예를 들어, 기입 데이터(156)는 버퍼들(106)로부터 메모리(104)로 전송될 수 있다. 기입 동작(234) 동안, 준비/사용중 신호(230)는 (메모리 다이(103)가 사용중임을 나타내는) 메모리 다이(103)에 의해 어써트될 수 있고, 기입 가능 신호(240)는 제어기(120)에 의해 토글링될 수 없으며, 상기 판독 가능 신호(250)는 제어기(120)에 의해 어써트될 수 있고, 버퍼들(106)로부터 통신 버스(140) 상으로 판독 데이터(160)를 클로킹하기 위해 토글링될 수 있다. 기입 동작(234) 동안 상기 판독 가능 신호(250)의 어써션(assertion)은, 요청된 데이터(160)가 버스 사이클들 I 내지 K 동안 도 1의 메모리 다이(102)로부터 버스(140)를 통해 제어기(120)로 전송되는 것을 가능하게 할 수 있고, 그리고 기입 데이터(156)가 사이클들 I 내지 K 동안 버퍼들(156)로부터 메모리(104)로 전송되는 것을 가능하게 할 수 있다. 예를 들어, 메모리 다이(103)는, 버퍼들(106) 내에 저장되는 요청된 데이터(160)를 통신 버스(140) 상에 놓을 수 있다. 제어기(120)는 버스 사이클들 I 내지 K 동안 통신 버스(140)로부터 요청된 데이터(160)를 판독함으로써 요청된 데이터(160)를 수신할 수 있다.
판독-기입 명령(150)은 다수의 동작들이 겹치는 것을 가능하게 한다. 여기에서 사용된 것처럼, "겹침(overlap)"은 완전히 겹침 또는 부분적으로 겹침을 의미할 수 있다. 완전히 겹침의 일 예는 I/O 라인들(202)을 통해 기입 데이터(156)를 전송하는 것 및 판독 동작(232)을 수행하는 것이고, 2가지 동작들 모두 버스 사이클 D에서 시작하고 버스 사이클 G에서 종료한다. 부분적인 겹침의 일 예는, 판독 동작(232)이 진행될 때 버스 사이클 E 동안 "데이터 1(Data 1)"로 지정된 기입 데이터(156)의 일 부분의 전송이다. 판독 동작(232)이 시작되고 종료되는 시점들과 서로 다른 시점들에서 상기 "데이터 1" 부분의 전송이 시작되고 종료되지만, 2가지 동작들 모두 버스 사이클 E 동안 진행되고, 그 결과 상기 동작들은 부분적으로 겹친다. 2개보다 더 많은 동작들이 겹칠 수 있다. 예를 들어, 버스 사이클 F 동안, 제어기(120)는 I/O 라인들(202) 상에 기입 데이터(156)의 일부분을 기입하고, 판독 동작(232)은 메모리(104)에서 (적어도 부분적으로) 수행되고, 메모리 다이(103)는 I/O 라인들(202)로부터 그리고 버퍼들(106)로 기입 데이터(156)("데이터 2")의 부분을 판독하고, 그리고 메모리 다이(103)는 메모리(104)로부터 버퍼들(106)로 판독 데이터(160)의 일부분을 전송할 수 있다. 다른 예로서, 버스 사이클 J 동안, 메모리 다이(103)는 버퍼들(106)로부터 I/O 라인들(202) 상에 판독 데이터(160)의 일부분을 판독하고, 상기 제어기(120)는 I/O 라인들(202)로부터 판독 데이터(160)의 일부분을 판독하고, 그리고 기입 동작(234)는 메모리(104)에서 (적어도 부분적으로) 수행된다. 기입 데이터(156)가 메모리 다이(103)에 전송되는 동안 판독 동작(232)을 수행함으로써, 그리고 판독 데이터(160)가 제어기(120)에 전송되는 동안 기입 동작(234)을 수행함으로써, 호스트 디바이스(130)는 판독-기입 명령(150)없는 시스템들과 비교하여 감소된 판독 레이턴시를 경험할 수 있다.
판독 동작(232)이 기입 데이터(156)의 전송으로서 동일한 기간(duration)을 갖는 것으로 나타나지만, 다른 구현들에서 판독 동작(232)은 기입 데이터(156)를 전송하기 위해 일정량의 시간과 비교하여 더 짧은 또는 더 긴 시간에서 완료될 수 있다. 판독 동작(232)이 기입 데이터(156)의 전송 시간을 초과하면, 판독 데이터(160)가 제어기(120)에 전송을 시작하기 위해 준비될 때까지 어떤 데이터도 I/O 라인들을 통해 전송되지 않는 경우에 하나 이상의 버스 사이클들이 경과될 수 있다. 대안으로, 또는 추가로, 판독 동작(232)이 진행되는 동안 I/O 라인들(202)을 통한 판독 데이터(160)의 전송이 시작될 수 있다. 예를 들어, 도 1의 제2 버퍼(109)는, 다른 판독 데이터가 메모리(104)로부터 수신되는 동안, 버퍼링된 판독 데이터가 통신 버스(140) 상에 기입되는 것을 가능하게 하는 FIFO(first-in-first out) 버퍼로서 기능할 수 있다.
판독-기입 명령(150)이 명령 식별 패킷(204), 판독 어드레스(152) 및 기입 어드레스(154)를 포함하는 것으로 도 2에서 도시되지만, 다른 실시예에서, 판독-기입 명령(150)의 명령 세트 정의는 하나 이상의 컴포넌트들(204, 152, 154, 156 및 212)를 포함하거나 배제하는 것으로 기입 명령(150)을 정의할 수 있다. 예를 들어, 명령 식별 패킷(204)은 I/O 라인들(202)을 통해 전송되지 않을 수 있고, 대신, 판독-기입 명령(150)의 인디케이터는, 전용 명령 라인을 통하는 것 같이 하나 이상의 다른 라인들을 통해 전송될 수 있다. 다른 예로서, 판독-기입 명령(150)은 명령 식별 패킷(204)을 포함하는 것으로서, 또는 명령 식별 패킷(204) 및 명령 종료 패킷(212)을 포함하는 것으로서 정의될 수 있고, 그리고 하나 이상의 판독 어드레스(152), 기입 어드레스(154) 및 기입 데이터(156)를 명령 세트 정의에 포함하지 않을 수 있다.
판독 어드레스(152) 및 기입 어드레스(154) 각각이 단일 버스 사이클을 차지하도록 도시되지만, 다른 실시예들에서, 판독 어드레스(152), 기입 어드레스(154) 또는 둘 모두는 다중 버스 사이클들을 차지할 수 있거나 단일 버스 사이클로 결합될 수 있다. 예를 들어, 32-비트 어드레스는, 8-비트 버스를 사용하여 4개의 버스 사이클들에서, 32-비트 버스를 사용하여 단일 버스 사이클에서 전송될 수 있거나, 64-비트 버스를 사용하여 단일 버스 사이클에서 다른 32-비트 어드레스로 결합될 수 있다. 명령 종료 패킷(212)은 I/O 라인들(202)을 통해 전송되는 것으로 도시되지만, 다른 실시예들에서, 명령 종료 신호는 대신 하나 이상의 다른 라인들을 통해 전송될 수 있거나 어떤 명령 종료 신호도 제공될 수 없다. 예를 들어, 정의된 기입 데이터 블록 크기를 사용하는 구현에서, 종료 패킷(212)은 생략될 수 있고, 상기 정의된 기입 데이터 블록 사이즈에 대응하는 기입 데이터의 양이 통신 버스(140)를 통해 전송될 때(또는 대응하는 수의 버스 사이클들이 경과될 때) 기입 데이터(156)의 전송은 종료하는 것으로 결정될 수 있다.
도 3을 참조하면, 메모리에 저장되는 기입 데이터와 적어도 부분적으로 동시에, 데이터 저장 디바이스 내의 메모리로부터 판독되는 요청된 데이터를 수신하는 방법(300)의 예시적인 실시예의 흐름도가 도시된다. 방법(300)은 도 1의 데이터 저장 디바이스(102)에 의해 수행될 수 있다.
302에서, 판독-기입 명령 및 기입 데이터는, 데이터 저장 디바이스 내의 제어기로부터 상기 데이터 저장 디바이스 내의 통신 버스를 통해 상기 데이터 저장 디바이스 내의 메모리로 전송될 수 있다. 상기 판독-기입 명령은 상기 메모리로부터 판독되는 요청된 데이터를 나타낼 수 있다. 예를 들어, 기입 동작이 진행되는 동안 호스트 디바이스(130)로부터 요청된 데이터(160)에 대한 판독 요청을 수신한 것에 응답하여, 제어기(120)는 판독-기입 명령(150) 및 기입 데이터(156)를 통신 버스(140)를 통해 메모리 다이(103)로 전송할 수 있다.
304에서, 메모리로부터 판독되는 요청된 데이터를 제어기에서 수신될 수 있고, 통신 버스를 통해 요청된 데이터를 통신하는 것은 메모리 내에 저장되는 기입 데이터와 겹친다. 예를 들어, 버퍼들(106)로부터 비-휘발성 메모리(104)로 전송되는 기입 데이터(156)와 적어도 부분적으로 동시에, 요청된 데이터(160)는 메모리 다이(103)로부터 통신 버스(140)를 통해 제어기(120)에 의해 수신될 수 있다. 메모리(104)로부터 판독되는 요청된 데이터(106) 중 적어도 일부가 제1 버퍼(107)에 저장될 수 있는 동안 기입 데이터(156)의 적어도 일부는 제2 버퍼(109)에 동시에 저장된다. 통신 버스(140)를 통한 메모리 다이(103)로의 기입 데이터(156)의 전송이 완료될 때까지, 메모리로부터 판독되는 요청된 데이터(160)는 제1 버퍼(107)에 유지될 수 있다. 통신 버스(140)를 통한 기입 데이터(156)의 데이터 전송이 완료될 때, 제어기(120)는 제1 버퍼(170)로부터 요청된 데이터(160)를 수신할 수 있다. 요청된 데이터(160)를 수신하는 것은, 제2 버퍼(109)로부터 메모리(104)로 전송되는 기입 데이터(156)와 겹친다.
기입 데이터(156)가 메모리(104)로 기입되는 동안 메모리(104)로부터 판독되는 요청된 데이터(160)를 수신함으로써, 판독-기입 명령(150) 없는 시스템들과 비교하여 감소된 판독 레이턴시는 호스트 디바이스(130)에 의해 경험될 수 있다.
여기에서 도시된 여러 컴포넌트들은 블록 컴포넌트들로서 표현되고 일반적인 용어들로 서술되지만, 그와 같은 컴포넌트들은, 그와 같은 컴포넌트들에 부여된 특정 기능들을 수행하도록, 하나 이상의 마이크로프로세서들, 상태 머신들, 또는 데이터 저장 디바이스, 예를 들어, 도 1의 데이터 저장 디바이스(102)를 가능하게 하도록 구성된 다른 회로들을 포함할 수 있다. 예를 들어, 도 1의 판독-기입 명령 로직(122), 회로(108) 또는 그것들의 조합은, 도 1의 데이터 저장 디바이스(102) 내의 메모리 다이로부터 판독되는 요청된 데이터를 수신하기 위해, 물리적 컴포넌트들, 예를 들어, 제어기들, 프로세서들, 상태 기계들, 로직 회로들 또는 다른 구조들을 나타낼 수 있고, 요청된 데이터를 수신하는 것은 도 1의 메모리 다이(103)에 전송되는 기입 데이터와 겹친다.
특정 실시예에서, 데이터 저장 디바이스(102)는 하나 이상의 외부 디바이스들에 선택적으로 결합되도록 구성된 휴대용 디바이스로 구현될 수 있다. 하지만, 다른 실시예들에서, 데이터 저장 디바이스(102)는 하나 이상의 호스트 디바이스들 내에, 예를 들어, 호스트 통신 디바이스의 하우징 내에 임베딩될 수 있다. 예를 들어, 데이터 저장 디바이스(102)는, 무선 전화기, PDA, 게임 디바이스 또는 콘솔, 휴대용 내비게이션 디바이스, 또는 내부 비-휘발성 메모리를 사용하는 다른 디바이스와 같은 패키징된 장치 내에 있을 수 있다. 특정 실시예에서, 데이터 저장 디바이스(102)는 비-휘발성 메모리, 예를 들어, 3차원(3D) 메모리, 플래시 메모리(예를 들어, NAND, NOR, 멀티-레벨 셀(MLC), 분할된 비트-라인 NOR(DINOR) 메모리, AND 메모리, 고 용량 커플링 비(HiCR), 비대칭 무접촉 트랜지스터(ACT), 또는 다른 플래시 메모리들, EPROM, EEPROM, ROM, OTP(one-time programmable memory), 또는 임의의 다른 타입의 메모리에 결합될 수 있다.
여기에서 서술된 실시예들의 예들은 여러 실시예들의 일반적인 이해를 제공하도록 의도된다. 다른 실시예들이 이용될 수 있고, 본 발명으로부터 도출될 수 있어, 구조적이고 논리적인 대체들 및 변경들이 본 발명의 범위를 벗어나지 않고 행해질 수 있다. 본 발명은 여러 실시예들의 임의의 그리고 모든 후속의 적용들 및 변형들을 커버하도록 의도된다.
상기에서 서술된 주제는 예시적이고 제한적이지 않는 것으로 고려되고, 첨부된 청구항들은 본 발명의 범위 내의 모든 그와 같은 변형들, 개선들 및 다른 실시예들을 커버하도록 의도된다. 따라서, 법에서 허용되는 최대 범위까지, 본 발명의 범위는 하기의 청구범위 및 그거의 균등 범위의 허용되는 가장 넓은 범위의 해석에 의해 결정될 수 있고, 이전의 상세한 설명에 의해 제한되거나 한정되지 않을 것이다.

Claims (22)

  1. 방법에 있어서,
    메모리, 제어기, 및 상기 메모리 및 상기 제어기에 결합되는 통신 버스를 포함하는 데이터 저장 디바이스에서,
    상기 제어기로부터 상기 통신 버스를 통해 상기 메모리 다이로 판독-기입 명령(read-write command) 및 기입 데이터(write data)를 전송하는 단계 - 상기 판독-기입 명령은 상기 메모리 다이로부터 판독되는 요청된 데이터를 나타내며 - 와; 그리고
    상기 메모리로부터 판독되는 상기 요청된 데이터를, 상기 제어기에서 수신하는 단계를 포함하고,
    상기 통신 버스를 통해 상기 요청된 데이터를 통신하는 것은 상기 메모리에 저장되는 상기 기입 데이터와 겹치는(overlap) 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 메모리로부터 판독되는 상기 요청된 데이터를 판독하는 것은 상기 통신 버스를 통해 상기 메모리에 의해 수신되는 상기 기입 데이터와 겹치는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    메모리 다이는 상기 메모리 및 한 세트의 버퍼들을 포함하고, 그리고 상기 메모리로부터 판독되는 상기 요청된 데이터의 적어도 일부분은 상기 세트의 버퍼들 중 제1 버퍼에 저장되는 반면 상기 기입 데이터의 적어도 일부분은 상기 세트의 버퍼들 중 제2 버퍼에 저장되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    데이터 판독 동작은 상기 통신 버스를 통해 상기 기입 데이터의 데이터 전송 동안 상기 메모리에서 개시되는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 판독-기입 명령은, 상기 메모리 내의 판독 위치에 대응하는 제1 어드레스 및 상기 메모리 내의 기입 위치에 대응하는 제2 어드레스를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 요청된 데이터는 상기 판독 위치로부터 판독되고, 그리고 상기 기입 데이터는 상기 기입 위치로 전송되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 메모리는 플래시 메모리(flash memory)를 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 메모리는 3차원(3D) 메모리를 포함하는 것을 특징으로 하는 방법.
  9. 데이터 저장 디바이스에 있어서,
    메모리와;
    상기 메모리에 결합되는 제어기와; 그리고
    상기 메모리 및 상기 제어기에 결합되는 통신 버스를 포함하고,
    상기 제어기는,
    상기 통신 버스를 통해 상기 메모리로 판독-기입 명령 및 기입 데이터를 전송하고, 상기 판독-기입 명령은 상기 메모리로부터 판독되는 요청된 데이터의 어드레스를 나타내며; 그리고
    상기 메모리로부터 판독되는 상기 요청된 데이터를 수신하도록 되고,
    상기 통신 버스를 통해 상기 요청된 데이터를 통신하는 것은 상기 메모리에 저장되는 상기 기입 데이터와 겹치는 것을 특징으로 하는 데이터 저장 디바이스.
  10. 제9항에 있어서,
    상기 제어기는 상기 판독-기입 명령을 발생시키도록 된 판독-기입 명령 로직을 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  11. 제9항에 있어서,
    상기 요청된 데이터를 판독하는 동안 상기 메모리 다이 상에 상기 기입 데이터를 버퍼링하도록 상기 메모리 및 회로를 포함하는 메모리 다이를 더 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  12. 제9항에 있어서,
    상기 판독-기입 명령은 기입 동작 동안 호스트 디바이스로부터 판독 요청을 수신하는 것에 응답하여 전송되는 것을 특징으로 하는 데이터 저장 디바이스.
  13. 제9항에 있어서,
    상기 메모리는 비-휘발성 메모리를 포함하고, 상기 비-휘발성 메모리는 상기 메모리로부터 판독되는 상기 요청된 데이터를 저장하도록 되는 것을 특징으로 하는 데이터 저장 디바이스.
  14. 제13항에 있어서,
    상기 비-휘발성 메모리로부터 상기 요청된 데이터를 판독하는 것은 상기 통신 버스를 통해 상기 메모리에 의해 수신되는 상기 기입 데이터와 겹치는 것을 특징으로 하는 데이터 저장 디바이스.
  15. 제13항에 있어서,
    상기 비-휘발성 메모리로부터 판독되는 상기 요청된 데이터를 저장하도록 되고 그리고 상기 메모리에 전송되는 상기 기입 데이터를 저장하도록 되는 한 세트의 버퍼들을 더 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  16. 제15항에 있어서,
    상기 세트의 버퍼들은 제1 버퍼 및 제2 버퍼를 포함하고, 상기 제어기는 또한, 상기 비-휘발성 메모리로부터 판독되는 상기 요청된 데이터의 적어도 일부를 상기 제1 버퍼에 저장하도록 되어있는 반면 상기 기입 데이터의 적어도 일부는 상기 제2 버퍼에 저장되는 것을 특징으로 하는 데이터 저장 디바이스.
  17. 제15항에 있어서,
    상기 요청된 데이터는, 상기 통신 버스를 통한 상기 기입 데이터의 전송이 완료될 때까지, 상기 세트의 버퍼들에 유지되는 것을 특징으로 하는 데이터 저장 디바이스.
  18. 제17항에 있어서,
    상기 기입 데이터의 전송이 완료되었음을 결정하는 것에 응답하여, 상기 요청된 데이터가 상기 제어기에 전송될 때까지, 상기 제어기가 다음 순차적인 기입 명령(next sequential write command)을 전송하는 것을 방지하기 위해 판독 전송 신호를 어써트(assert)하도록 되는 것을 특징으로 하는 데이터 저장 디바이스.
  19. 제13항에 있어서,
    상기 판독-기입 명령은, 상기 비-휘발성 메모리 내의 판독 위치에 대응하는 제1 어드레스 및 상기 비-휘발성 메모리 내의 기입 위치에 대응하는 제2 어드레스를 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  20. 제19항에 있어서,
    상기 요청된 데이터는 상기 판독 위치로부터 판독되고, 그리고 상기 기입 데이터는 상기 기입 위치에 저장되는 것을 특징으로 하는 데이터 저장 디바이스.
  21. 제13항에 있어서,
    상기 제어기는 또한, 상기 통신 버스를 통해 상기 기입 데이터의 데이터 전송 동안 상기 비휘발성 메모리에서 데이터 판독 동작을 개시하도록 되는 것을 특징으로 하는 데이터 저장 디바이스.
  22. 제9항에 있어서,
    상기 메모리는 3차원(3D) 메모리를 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
KR1020157021848A 2013-03-12 2014-03-06 기입 데이터를 메모리로 전송하는 동시에 메모리로부터 데이터를 판독하는 시스템 및 방법 KR20150128668A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN1019CH2013 2013-03-12
IN1019/CHE/2013 2013-03-12
US13/875,477 US9741442B2 (en) 2013-03-12 2013-05-02 System and method of reading data from memory concurrently with sending write data to the memory
US13/875,477 2013-05-02
PCT/US2014/021362 WO2014164227A1 (en) 2013-03-12 2014-03-06 System and method of reading data from memory concurrently with sending write data to the memory

Publications (1)

Publication Number Publication Date
KR20150128668A true KR20150128668A (ko) 2015-11-18

Family

ID=54277093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157021848A KR20150128668A (ko) 2013-03-12 2014-03-06 기입 데이터를 메모리로 전송하는 동시에 메모리로부터 데이터를 판독하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US9741442B2 (ko)
EP (1) EP2973572B1 (ko)
KR (1) KR20150128668A (ko)
CN (1) CN104981873B (ko)
TW (2) TWI616884B (ko)
WO (1) WO2014164227A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US10198350B2 (en) * 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US9218282B2 (en) * 2013-10-31 2015-12-22 Micron Technology, Inc. Memory system data management
CN105934747B (zh) 2013-11-07 2020-03-06 奈特力斯股份有限公司 混合内存模块以及操作混合内存模块的系统和方法
US11182284B2 (en) 2013-11-07 2021-11-23 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
KR20170094674A (ko) * 2016-02-11 2017-08-21 에스케이하이닉스 주식회사 데이터 저장 장치
US10152237B2 (en) 2016-05-05 2018-12-11 Micron Technology, Inc. Non-deterministic memory protocol
US10534540B2 (en) 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US10585624B2 (en) 2016-12-01 2020-03-10 Micron Technology, Inc. Memory protocol
US11003602B2 (en) 2017-01-24 2021-05-11 Micron Technology, Inc. Memory protocol with command priority
US10635613B2 (en) 2017-04-11 2020-04-28 Micron Technology, Inc. Transaction identification
US11099779B2 (en) * 2018-09-24 2021-08-24 Micron Technology, Inc. Addressing in memory with a read identification (RID) number
US11513725B2 (en) * 2019-09-16 2022-11-29 Netlist, Inc. Hybrid memory module having a volatile memory subsystem and a module controller sourcing read strobes to accompany read data from the volatile memory subsystem
US11435942B2 (en) * 2020-07-10 2022-09-06 Korea Electronics Technology Institute Method and apparatus for processing read-write-operation instruction in processing-in-memory

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332664A (ja) 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
US6345000B1 (en) 1997-04-16 2002-02-05 Sandisk Corporation Flash memory permitting simultaneous read/write and erase operations in a single memory array
US6025695A (en) * 1997-07-09 2000-02-15 Friel; Daniel D. Battery operating system
WO1999019805A1 (en) 1997-10-10 1999-04-22 Rambus Incorporated Method and apparatus for two step memory write operations
US6654836B1 (en) * 2000-06-20 2003-11-25 International Business Machines Corporation Dual master device for improved utilization of a processor local bus
US6728798B1 (en) * 2000-07-28 2004-04-27 Micron Technology, Inc. Synchronous flash memory with status burst output
RU2319227C2 (ru) * 2002-12-24 2008-03-10 Эл Джи Электроникс Инк. Способ запоминания с двойным протоколированием и носитель данных для него
KR100483490B1 (ko) 2002-12-24 2005-04-15 한국전자통신연구원 저장 매체에 데이터를 저장하기 위한 이중 저널링저장방법
US20040128464A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Memory reclamation
US7355907B2 (en) 2005-10-28 2008-04-08 Sony Corporation Performing read and write operations in the same cycle for an SRAM device
US20080183984A1 (en) * 2007-01-31 2008-07-31 Dale Beucler Memory system with read-modify-write
KR100856828B1 (ko) 2007-04-23 2008-09-05 경희대학교 산학협력단 리드 액세스와 라이트 액세스를 동시에 수행하는 메모리장치
KR101360812B1 (ko) 2008-06-05 2014-02-11 삼성전자주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
US8429374B2 (en) 2010-01-28 2013-04-23 Sony Corporation System and method for read-while-write with NAND memory device
US20110298300A1 (en) * 2010-06-04 2011-12-08 Consolidated Edison Company Of New York, Inc. Power Outlet for Air Conditioning Appliance and Method of Operation

Also Published As

Publication number Publication date
EP2973572A1 (en) 2016-01-20
US20140269088A1 (en) 2014-09-18
CN104981873A (zh) 2015-10-14
WO2014164227A1 (en) 2014-10-09
TW201447897A (zh) 2014-12-16
US9741442B2 (en) 2017-08-22
CN104981873B (zh) 2018-01-02
TWI616884B (zh) 2018-03-01
TW201828303A (zh) 2018-08-01
EP2973572B1 (en) 2018-05-30

Similar Documents

Publication Publication Date Title
EP2973572B1 (en) System and method of reading data from memory concurrently with sending write data to the memory
US9389804B2 (en) Host, system, and methods for transmitting commands to non-volatile memory card
KR101988260B1 (ko) 임베디드 멀티미디어 카드, 및 이의 동작 방법
KR101626084B1 (ko) 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
US9792072B2 (en) Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system
US20170322897A1 (en) Systems and methods for processing a submission queue
WO2008079788A1 (en) Command-based control of nand flash memory
US8775760B2 (en) Modifying a host interface setting for a non-volatile memory module
US11081187B2 (en) Erase suspend scheme in a storage device
TWI507981B (zh) 指令執行方法、連接器與記憶體儲存裝置
CN106816168B (zh) 半导体存储器件
WO2015006242A1 (en) Buffer management techniques
US20170315943A1 (en) Systems and methods for performing direct memory access (dma) operations
CN114253461A (zh) 混合通道存储设备
CN114253462A (zh) 提供混合通道存储设备的方法
US20140269086A1 (en) System and method of accessing memory of a data storage device
CN213338708U (zh) 一种控制部件及存储设备
CN108536475B (zh) 完整编程命令处理方法与装置
TWI579855B (zh) 傳送校正資料至非揮發性記憶體之緩衝器之系統與方法
TW202213357A (zh) 電子裝置、記憶體系統及傳送方法
US20140149646A1 (en) Memory systems including flash memories, first buffer memories, second buffer memories and memory controllers and methods for operating the same
US20150074298A1 (en) Command processing device and data storage device
KR101175250B1 (ko) 낸드 플래시 메모리 장치와 그의 컨트롤러 및 이들의 라이트 오퍼레이션 방법
CN104298468B (zh) 指令执行方法、连接器与存储器储存装置
US20230244402A1 (en) Storage device and operating method of storage device

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee