KR101507192B1 - 데이지-체인 메모리 구성 및 용법 - Google Patents

데이지-체인 메모리 구성 및 용법 Download PDF

Info

Publication number
KR101507192B1
KR101507192B1 KR1020107006531A KR20107006531A KR101507192B1 KR 101507192 B1 KR101507192 B1 KR 101507192B1 KR 1020107006531 A KR1020107006531 A KR 1020107006531A KR 20107006531 A KR20107006531 A KR 20107006531A KR 101507192 B1 KR101507192 B1 KR 101507192B1
Authority
KR
South Korea
Prior art keywords
memory device
data
memory
controller
link
Prior art date
Application number
KR1020107006531A
Other languages
English (en)
Other versions
KR20100075860A (ko
Inventor
학준 오
Original Assignee
노바칩스 캐나다 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노바칩스 캐나다 인크. filed Critical 노바칩스 캐나다 인크.
Publication of KR20100075860A publication Critical patent/KR20100075860A/ko
Application granted granted Critical
Publication of KR101507192B1 publication Critical patent/KR101507192B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

데이지-체인 메모리 구성 및 용법이 개시된다. 일 구성에 따르면, 메모리 시스템은 제어기 및 대응하는 열의 데이지-체인 방식으로 결합된 다수의 연속적인 메모리 디바이스들을 포함한다. 제어기는, 제1 메모리 디바이스를 체인내의 제2 메모리 디바이스에 데이터의 블록을 기입하게끔 구성하도록 직렬 제어 링크상에서 커맨드들을 통신한다. 예를 들어, 제어기는, 다수의 메모리 디바이스 중 제1 메모리 디바이스를 데이터 출력을 위한 소스가 되게끔 구성하도록 데이지-체인 제어 링크상에서 통신하고, 제2 메모리 디바이스를 데이터 수신을 위한 목적지가 되게끔 구성하도록 데이지-체인 제어 링크상에서 통신하며, 제1 메모리 디바이스로부터 제2 메모리 디바이스로의 전송을 시작하도록 데이지-체인 제어 링크상에서 통신하는 것에 의해 데이터의 블록의 복사를 시작한다.

Description

데이지-체인 메모리 구성 및 용법 {DAISY-CHAIN MEMORY CONFIGURATION AND USAGE}
본 발명은 데이지-체인 메모리 구성 및 용법에 관한 것이다.
오늘날, 많은 전자 디바이스들이 정보를 저장하기 위해 메모리 시스템들을 포함한다. 예를 들어, 일부의 메모리 시스템들을 개개의 미디어 플레이어에 의한 재생을 위한 디지털화된 오디오 정보를 저장한다. 다른 메모리 시스템들은 상이한 타입의 처리 기능들을 실행하기 위해 소프트웨어 및 관련 정보를 저장한다.
많은 전자 디바이스들에 있어서, 메모리 시스템들을 종종 제어기 및 하나 이상의 대응하는 메모리 디바이스들을 포함한다. 제어기는 일반적으로, 데이터의 저장 및 검색을 위한 메모리 디바이스들에 대한 신호들을 생성하도록 구성된다.
일정한 일반적인 메모리 시스템들에 있어서는, 프로세서와 같은 제어기가 메모리에 저장된 데이터를 액세스하기 위해 어드레스 버스 및 데이터 버스를 사용한다. 종종, 많은 배선들이 상기한 버스들을 구현하기 위해 사용되며, 메모리 시스템의 레이아웃에 따라, 버스 연결들이 긴 거리만큼 연장되고 많은 상이한 메모리 디바이스들의 각각에 프로세서를 직접적으로 연결시킬 필요로 인해 많은 상이한 회로 기판 층들을 통과할 수 있다.
첨부된 도면들에 대한 참조가 예시로서 이루어질 것이다.
도 1a 및 1b는 이 명세서에서의 실시예들에 따른 메모리 시스템의 예시적인 블록도이다.
도 2는 이 명세서에서의 제1 실시예들에 따른 메모리 시스템의 예시적인 블록도이다.
도 3a 및 3b는 이 명세서에서의 실시예들에 따른 블록 복사를 실행하기 위한 타이밍도의 예시들이다.
도 4는 이 명세서의 실시예들에 따라 하나의 메모리 디바이스로부터 다른 메모리 디바이스로 데이터를 복사하기 위해 메모리 제어기에 의해 실행되는 단계들의 순서를 기술하는 예시적인 플로우차트이다.
도 5는 이 명세서에서의 제2 실시예들에 따른 메모리 시스템의 예시적인 블록도이다.
도 6a는 이 명세서에서의 실시예들에 따라 하나의 메모리 디바이스로부터 다수의 메모리 디바이스들로 데이터를 복사하는 것 및 예시적인 메모리 시스템을 예시하는 블록도이다.
도 6b는 이 명세서에서의 실시예들에 따라 하나의 메모리 디바이스로부터 다수의 메모리 디바이스들로 데이터를 복사하기 위해 메모리 제어기에 의해 실행되는 단계들의 순서를 기술하는 예시적인 플로우차트이다.
도 7 내지 10은 이 명세서에서의 실시예들에 따른 패킷 타이밍 정보를 예시하는 예시적인 타이밍도들이다.
도 11은 이 명세서에서의 실시예들에 따른 제어기의 예시적인 아키텍처이다.
도 12는 이 명세서에서의 실시예들에 따른 데이터의 복사의 방법을 예시하는 예시적인 플로우차트이다.
메모리에 저장된 데이터를 액세스하기 위한 종래의 병렬 버스 구현들과 관련된 일정한 단점들이 있다. 하나의 단점은 그러한 시스템들을 구현하는데 수반되는 복잡성에 관한 것이다. 예를 들어, 종래의 병렬 버스들이 많은 인쇄 회로 기판층들을 통하는 많은 연결들을 종종 요구하기 때문에, 회로 및 트레이스(trace) 레이아웃이 간단하지 않을 수 있다.
병렬 버스의 다른 단점은 메모리 시스템에서의 신호 품질에 관한 것이다. 예를 들어, 병렬 버스는, 연결들에 의해 반송되는 신호의 품질에 영향을 줄 수 있는, 노이즈, 신호 감쇠, 신호 스큐(skew) 및 크로스토크(crosstalk)를 겪기 쉬운 경향이 있다.
병렬 버스 설계와 관련된 또 다른 단점은 전력 소모에 관한 것이다. 예를 들어, 병렬 버스는 신호들을 버스상으로 구동하기 위해 상당한 양의 전력을 요구하는 경향이 있다. 전력 소모는 일반적으로, 더 높은 액세스 스피드 및 훨씬 더 높은 액세스 스피드에서 동작하는 새로운 기술에 대해 악화한다.
병렬 버스와 관련된 단점들을 다루기 위해서, 일부의 메모리 시스템들은, 제어기와 개개의 메모리 디바이스들 사이의 제어 신호와 데이터의 전송을 위한 종래의 직렬 버스 설계들을 통합한다. 종래의 직렬 버스 설계들은 (데이터가 병렬로 보다는 오히려 직렬로 송신되기 때문에) 더 적은 연결들을 활용하는 경향이 있고, 따라서 병렬 버스 설계들과 관련된 레이아웃 문제들을 겪을 만큼 복잡하지 않다.
앞서 논의된 종래의 메모리 시스템들은 하나의 메모리 디바이스로부터 다른 메모리 디바이스로의 데이터 전송을 지원하도록 사용될 수 있다. 예를 들어, 종래의 메모리 시스템에서의 메모리 제어기가 제1 메모리 디바이스에 저장된 데이터의 블록을 제2 메모리 디바이스에 복사하기 위한 커맨드(command)를 수신한다고 가정한다. 그러한 동작을 실행하기 위해, 제어기는 먼저 소스 메모리 디바이스를 액세스하여 복사될 데이터의 블록을 검색한다. 그 후, 제어기는 그 다음으로 그 자신의 로컬 버퍼(local buffer)에 액세스된 데이터를 임시로 저장한다. 제어기는 그 다음으로 버퍼내의 데이터의 목표 메모리 디바이스에 대한 기입을 시작한다. 메모리 시스템이 앞서 언급된 바와 같은 인쇄 회로 기판 레이아웃 문제들을 경감하도록 하나 이상의 직렬 버스로 구성되었을 경우라도, 데이터를 복사하는 이러한 종래 기술은, 데이터가 메모리 디바이스로부터 검색되어, 제어기의 버퍼에 로컬적으로(locally) 저장되며, 목표 메모리 디바이스내의 데이터의 저장을 위해 제어기로부터 버스상에서 목표 메모리 디바이스로 송신되어야 하기 때문에, 매우 느리다. 느린 것에 더하여, 본 예시에서의 제어기는 메모리에 복사될 액세스된 데이터를 임시로 저장하기에 충분히 큰 버퍼로 구성되어야한다. 따라서, 종래의 데이터 전송은 개개의 트랜잭션(transaction)을 실행하기 위해 과잉의 시간 및 저장 자원을 요구할 수 있다.
일반적으로, 이 명세서에서의 특정 실시예들은, 앞서 논의된 결함들 및/또는 당업계에 알려진 다른 결함들을 극복하는 메모리 시스템을 포함한다. 예컨대, 이 명세서에서의 하나의 실시예는 제어기 및 데이지-체인(daisy-chain) 방식으로 결합된 대응 열(string)의 다수의 연속적인 메모리 디바이스를 포함하는 메모리 시스템을 포함한다. 그러한 실시예에 있어서, 메모리 시스템은, 제어기로부터 각각의 메모리 디바이스들(예컨대, 플래시-기반 메모리 디바이스들)을 통하는 직렬 (데이지-체인) 제어 링크 및/또는 직렬 (데이지-체인) 데이터 링크를 포함한다. 제어기는, 소스 메모리 디바이스로부터 데이지-체인 내의 목표 메모리 디바이스로의 데이터의 직접적인 복사 또는 전송을 가능케 하도록 메모리 시스템을 구성하도록 직렬 제어 링크 및/또는 직렬 데이터 링크상에서 커맨드들을 통신한다.
이 명세서에서의 실시예들에 따른 데이터의 블록을 복사하는 것은 다수의 단계들을 포함할 수 있다. 예를 들어, 제어기는, 다수의 메모리 디바이스 중의 제1 메모리 디바이스를 제1 메모리 디바이스에 저장된 데이터를 출력하기 위한 소스가 되게끔 구성하도록, 다수의 연속적인 메모리 디바이스를 통과하는 데이지-체인 링크(예컨대, 직렬 링크)상에서 통신할 수 있다. 제어기는, 제2 메모리 디바이스를 데이터 수신을 위한 목적지가 되게끔 구성하도록 데이지-체인 링크상에서 또한 통신한다. 제1 메모리 디바이스를 소스가 되게끔 구성하고 제2 메모리 디바이스를 목적지가 되게끔 구성한 후에, 제어기는, 소스 메모리 디바이스로부터 데이지-체인 링크상에서의 목표 메모리 디바이스로의 전송을 시작하기 위해 하나 이상의 추가적인 커맨드들로 데이지-체인 제어 링크상에서 통신한다.
이 명세서에서의 실시예들에 따라 소스 메모리 디바이스로부터 목표 메모리 디바이스로의 복사된 블록 데이터의 전송은, 제어기를, 데이터를 임시로 저장하고 그것을 목적지의 메모리 디바이스에 전송해야하는 것으로부터 해소시킨다. 앞서 논의된 바와 같이, 종래의 방법은 복사 동작을 실행하기 위해 데이터를 로컬적으로 검색 및 저장하도록 제어기를 요구한다. 따라서, 이 명세서에서의 실시예들에 따른 블록 복사 커맨드들은 종래의 방법에 의해서보다 더 적은 시간으로 달성될 수 있다. 추가적으로, 이 명세서의 실시예들에 따른 제어기는, 데이터가 종래의 방법들의 경우와 같이 제어기에 임시로 저장될 필요가 없기 때문에, 복사되는 데이터의 블록을 임시로 저장하기 위해 큰 버퍼를 포함하도록 구성될 필요가 없다. 환언하면, 하나의 메모리 디바이스로부터 복사되는 데이터는, 제어기를 필수적으로 통과하지 않고도 데이지-체인 링크상에서 다른 메모리 디바이스로 전송될 수 있다.
포인트 대 포인트(point-to-point)(예컨대, 메모리 칩 대 메모리 칩) 데이터 전송을 지원하는 것에 더하여, 본 상세한 설명에서 나중에 보다 상세하게 논의될 바와 같이, 이 명세서에서의 실시예들에 따른 제어기는 하나의 메모리 디바이스에서의 데이지-체인 내의 다수의 상이한 메모리 디바이스들로의 데이터의 블록 복사를 시작할 수 있다. 예컨대, 제어기는 다수의 상이한 메모리 디바이스들로의 데이터의 동일한 블록의 복사를 시작할 수 있다.
또 다른 실시예들에 있어서, 제어기는 다수의 메모리 디바이스들의 각각으로의 하나의 메모리 디바이스에 저장된 데이터의 부분들의 복사를 또한 시작할 수 있다. 예를 들어, 제어기는, 제1 메모리 디바이스를 복사될 데이터의 블록을 갖는 소스가 되게끔, 제2 메모리 디바이스를 데이터의 블록의 제1 부분을 수신하기 위한 목표가 되게끔, 제3 메모리 디바이스를 데이터의 블록의 제2 부분을 수신하기 위한 목표가 되게끔 등등으로 구성하도록, 데이지-체인 제어 링크상에서 통신을 시작할 수 있다. 추가적인 커맨드들의 구성 및 발행 후에, 제어기는 하나의 메모리 디바이스로부터 다수의 메모리 디바이스로 데이터의 블록의 부분들을 전송한다. 따라서, 단일 메모리 디바이스에 저장된 데이터의 블록은 다수의 메모리 디바이스로 복사되고 배포될 수 있다.
또 추가적인 다른 실시예들에 있어서, 제어기는, (데이터가 복사될) 목표 메모리 디바이스가, 목표 디바이스내의 코어 메모리(core memory)에 대한 데이터의 기입 전에 소스 메모리 디바이스로부터 데이터를 적합하게 수신하는지의 여부를 체크하기 위한 데이지-체인 경로내에 배치된 에러 검출 회로를 포함하도록 구성될 수 있다. 필요하다면, 제어기(예컨대, 에러 교정 회로)가, 목표 디바이스의 메모리에 기입되는 데이터가 무에러(error-free)이도록, 데이터를 수정하거나 복구한다.
이들 및 다른 실시예들이 본 상세한 설명에서 나중에 보다 상세하게 논의될 것이다.
앞서 논의된 바와 같이, 이 명세서에서의 기술들은, 플래시 기술의 사용을 지원하는 것들과 같은 메모리 시스템들내에서의 용도로 충분히 적합하다. 하지만, 이 명세서에서의 실시예들이 그러한 어플리케이션들에서의 사용에 한정되지 않으며 이 명세서에서 논의되는 기술들이 다른 어플리케이션들에 대해서도 충분히 적합하다는 것을 주목해야 한다.
추가적으로, 이 명세서에서 각각의 상이한 특징들, 기술들, 구성들 등이 본 개시의 상이한 개소들에서 논의될 수 있을지라도, 각각의 개념들이 서로 독립적으로 또는 서로 조합하여 실행될 수 있다는 것이 의도된다. 따라서, 본 발명은 많은 상이한 방식들로 실시되고 보여질 수 있다.
이제, 보다 상세하게, 도 1a 및 1b는 이 명세서에서의 실시예들에 따른 예시적인 메모리 시스템(100)을 예시한다. 도 1a의 본 예시의 컨텍스트(context)에 있어서, 메모리 시스템(100)은, 직렬 또는 데이지 체인 통신 링크(162)(예컨대, 통신 경로(151))를 통해 다수의 메모리 디바이스들(110)(예컨대, 메모리 디바이스(110-1), 메모리 디바이스(110-2), ..., 메모리 디바이스(110-M))을 액세스하는 제어기(102)를 포함한다. 도 1b에 도시된 바와 같이, 데이지-체인 링크(162)는 데이터 링크(160) 및 제어 링크(150)를 포함할 수 있다. 일 실시예에 있어서, 데이터 링크(160) 및 제어 링크(150)는 이 명세서에서의 실시예들에 따른 블록 복사를 지원하기 위한 자원들의 논리적인 표현들이다, 본 상세한 설명에서 나중에 논의되는 바와 같이, 데이터 링크(160) 및 제어 링크(150)와 관련된 기능성은 제어기(102)로부터 메모리 디바이스들(110)로의 그리고 메모리 디바이스들(110)을 통하는 데이지-채인 경로를 형성하는, 다수의 전자 신호들의 사용을 통해 달성될 수 있다. 데이터 링크 및 제어 링크는, 메모리 디바이스들(110)의 열을 통과하는 물리적인 링크들을 묘사할 수도 있다.
직렬 통신 링크들의 사용은, 메모리 시스템(100)내에서의 각각의 노드(예컨대, 제어기(102), 메모리 디바이스(110-1), 메모리 디바이스(110-2) 등)의 사이에서 데이터의 복사와 같은 동작들을 가능케 한다.
일 실시예에 있어서, 메모리 디바이스들(110)을 연결하는 데이지-체인 링크는 폐루프(closed loop)이다. 예를 들어, 도 1b에 도시된 바와 같이, 제어 및/또는 데이터 링크는 각각의 메모리 디바이스들(110)을 통과하여 제어기(102)로 되돌아간다.
제어기(102)는 제어 모듈(140)(예컨대, 액세스 제어 기능들과 더불어 다른 처리 기능들을 지원하는 전자 회로) 및 에러 체크 모듈(109)을 포함한다. 제어기(102)와 관련된 액세스 제어 모듈(140)은, 상이한 메모리 커맨드들 또는 메모리 동작들을 생성하고 통신하며 그 실행을 시작한다. 그 이름이 암시하는 바와 같이, 에러 체크 모듈(109)은 하기에서 더 논의될 바와 같이 에러 체크 및 에러 교정과 같은 기능들을 지원한다.
도시된 바와 같이, 각각의 메모리 디바이스들(110)(예컨대, 플래시-기반 메모리 디바이스들)은 데이터를 저장하기 위해 대응하는 (코어) 메모리(115)를 포함할 수 있다. 추가적으로, 각각의 메모리 디바이스들(110)은 제어기(102)에 의해 지정되는 바대로의 메모리 트랜잭션들을 실행하기 위해 인터페이스 회로 및 대응 버퍼를 포함할 수 있다. 예를 들어, 메모리 디바이스(110-1)는 메모리(115-1)(예컨대, 코어 메모리)와 더불어 제어 및 데이터 처리(C.A.D.P.) 회로(125-1) 및 대응 버퍼(118-1)(예컨대, 임시 저장 자원)를 포함하고; 메모리 디바이스(110-2)는 메모리(115-2)와 더불어 제어 및 데이터 처리 회로(125-2) 및 대응 버퍼(118-2)를 포함하며; 메모리 디바이스(110-M)는 메모리(115-M)와 더불어 제어 및 데이터 처리 회로(125-M) 및 대응 버퍼(118-M)를 포함한다. 버퍼들(118-1, 118-2, ..., 118-M)은, 메모리로부터 검색된 데이터를 임시로 저장하거나 메모리(115)에 기입될 데이터를 임시로 저장하는데 사용될 수 있다.
메모리 디바이스들(110)과 관련된 예시적인 아키텍처의 추가적인 세부는, 2007년 7월 18일자로 출원되고 “MEMORY WITH DATA CONTROL,”이라는 제목의 미국 특허 출원 번호 제11/779,587호에서 찾을 수 있다. 메모리 시스템(100) 또는, 보다 상세하게, 메모리 디바이스들(110)이 상이한 타입의 메모리를 사용하여 구현될 수 있다는 것에 주목한다. 예를 들어, 이 명세서에 기술된 개념들은, NAND 플래시 메모리, NOR 플래시 메모리, AND 플래시 메모리, 직렬 플래시 메모리, 분할 비트-라인 NOR(DiNOR) 플래시 메모리와 같은 플래시 기술, 동적 랜덤 액세스 메모리(DRAM), 정적 RAM(SRAM), 강유전체 RAM(FRAM), 자기 RAM(MRAM), 상변화 RAM(PCRAM), 판독 전용 메모리(ROM), 전기적 소거가능 및 프로그램가능 ROM(EEPROM) 등을 포함하지만 이에 한정되지 않는 많은 상이한 타입의 메모리 시스템들 및 디바이스들에 적용될 수 있다.
언급된 바와 같이, 데이지-체인 링크(162)는, 제어기(102)가 구성 정보, 명령들, 커맨드들 등과 같은 정보를 상이한 메모리 디바이스들(110)에 통신하는 경로를 제공한다. 제어 링크(150)는, 본 상세한 설명에서 나중에 논의될 바와 같이, 커맨드 스트로브(strobe) 신호(들) 및 데이터 스트로브 신호(들)를 포함할 수 있다.
데이지-체인 링크(162)는, 메모리 디바이스(110)가 서로 및/또는 제어기(102)와 통신하는 경로를 제공하도록 구성될 수도 있다는 것에 주목한다.
데이터 링크(160)는 제어기(102) 및/또는 메모리 디바이스(110)가 서로의 사이에서 데이터를 통신할 수 있는 경로를 제공한다.
이전에 논의된 바와 같이, 이 명세서에서의 특정 실시예들은 앞서 논의된 결함들 및/또는 당업계에서 알려진 다른 결함들을 극복하는 메모리 시스템(100)에 기반한다. 예를 들어, 메모리 시스템(100)은 복사의 실행 또는 메모리 전송 커맨드들 실행하기 위해 제어기(102) 및 데이지-체인 방식으로 결합된 대응 열의 다수의 연속적인 메모리 디바이스들(110)을 포함할 수 있다. 복사 동작 동안에, 제어기(102)는, 하나의 메모리 디바이스(110)로부터 다른 메모리 디바이스(110)로 복사하기 위해 메모리 디바이스들(110)을 구성하도록 데이지-체인 링크(162)상에서 통신한다.
제어 링크(150) 및 데이터 링크(160)와 같은 통신 링크들은 각각 메모리 시스템(100)내의 노드들을 연결하는 다수의 포인트 대 포인트 세그먼트들(segments)을 포함할 수 있다. 예를 들어, 제어 링크(150)의 제1 세그먼트는 액세스 제어 모듈(140)과 제어 및 데이터 처리 회로(125-1) 사이에서의 포인트 대 포인트 연결일 수 있고, 제어 링크(150)의 제2 세그먼트는 제어 및 데이터 처리 회로(125-1)와 제어 및 데이터 처리 회로(125-2) 사이의 포인트 대 포인트 연결일 수 있으며, ..., 제어 링크(150)의 M+1번째 세그먼트는 루프를 닫도록 제어 및 데이터 처리 회로(125-M) 및 제어기(102) 사이의 포인트 대 포인트 연결일 수 있다.
각각의 메모리 디바이스(110)는 수신된 커맨드들을 복호화하고 개개의 메모리 디바이스에 어드레스되는 커맨드들의 실행을 시작하기 위해 제어 및 데이터 처리 회로(125)를 포함할 수 있다. 추가적으로, 각각의 제어 및 데이터 처리 회로(125)는 수신된 커맨드들 및/또는 데이터를 연속적인 하류의 디바이스상으로 패스할 수 있다. 예를 들어, 제어 및 데이터 처리 회로(125-1)는 직렬 링크의 포인트 대 포인트 세그먼트상의 제어기(102)로부터의 통신을 제어기(102)와 메모리 디바이스(110-1) 사이에서의 수신함과 더불어, 포인트 대 포인트상의 직렬 경로(151)하에서의 수신된 통신을 제어 및 데이터 처리 회로(125-1)와 제어 및 데이터 처리 회로(125-2) 사이에 재송신할 수 있다. 다른 메모리 디바이스들이 유사한 방식으로 동작할 수 있음으로써, 액세스 제어 모듈(140)이 임의의 메모리 디바이스(110)와 (예컨대, 송신 및 수신 정보를) 통신할 수 있다.
제어기(102)가 메모리 디바이스(110)의 각각을 통과 또는 비통과 모드에 따라 구성할 수 있다는 것에 주목한다. 통과 모드에 있어서, 개개의 메모리 디바이스는 상류의 디바이스(예컨대, 제어기(102) 또는 메모리 디바이스)로부터 입력을 수신하고 하류의 노드(예컨대, 메모리 디바이스(110-2), ... 메모리 디바이스(110-M)로 수신된 입력을 패스한다.
제어기(102)가 커맨드를 데이지-체인 링크상에서 (하류에서) 메모리 디바이스(110-1)와 같은 제1 메모리 디바이스의 입력에 통신하는 것으로 가정한다. 통과 모드에 있을 때, 메모리 디바이스(110-1)는, 다음으로, 메모리 디바이스(110-2)와 같은 데이지-체인에서의 하류의 메모리 디바이스의 입력으로 커맨드를 출력한다. 메모리 시스템(100)에서의 각 노드가 통과 모드에 있도록 구성되어 있을 때, 제어기(102)는 경로(151)를 가로지르는 커맨드를 원래의 제어기(102)까지 계속 송신할 수 있다. 그러한 모드에 있는 동안, 메모리 디바이스(110)들은 경로(151)를 가로지르는 메시지들 및/또는 데이터를 원래의 제어기(110)까지 송신할 수 있다. 메모리 디바이스(100)내의 메모리 디바이스들을 통과 모드로 구성하는 것은, 각각의 메모리 디바이스가 데이지-체인 링크에서의 다음의 메모리 디바이스의 입력들을 구동하는 전력을 소비해야하기 때문에, 전력 소모를 증가시킨다. 하지만, 통과 모드는, 하기에서 보다 상세히 논의될 바와 같이 제어기(102)가 에러 체크를 위해 데이터를 수신하는 것과 같은 기능들을 실행할 수 있게끔 한다.
비통과 모드에 있어서, 개개의 메모리 디바이스는 상류의 디바이스(예컨대, 제어기(102) 또는 다른 메모리 디바이스)로부터 입력을 수신하고 수신된 입력의 하류의 노드(다른 메모리 디바이스)로의 패스 또는 송신을 방지한다. 메모리 시스템(100)내의 하나 이상의 노드들을 비통과 모드로 구성하는 하나의 목적은 전력 소모를 감소시키는 것이다.
일 실시예에 있어서, 하나의 메모리 디바이스로부터의 데이터의 다른 메모리 디바이스로의 데이터 전송(예컨대, 블록 복사)은, 제어기(102)가 데이터를 로컬적으로 검색하고 저장한 다음, 데이터를 목표 메모리 디바이스로 기입해야하는 것 없이 일어난다. 대신, 이 명세서에서의 일 실시예에 따르면, 제어기(102)는, 메모리 디바이스들이 소스 메모리(115-1)로부터 버퍼(118-1)내로의 데이터의 검색(예컨대, 판독), 소스 메모리 디바이스의 버퍼(118-1)로부터 목표 메모리 디바이스(110-M)의 버퍼(118-M)로의 데이터의 전송, 및 버퍼(118-M)내에서의 전송된 데이터의 목표 디바이스(110-M)의 코어 메모리(115-M)로의 저장을 실행하게끔 구성하도록, 제어 링크(150) 및 데이터 링크(160)상에서 통신한다. 따라서, 이 명세서의 실시예들은, 다수의 선택된 메모리 디바이스들(110)의 각각을 구성하고 메모리 디바이스(110-1)부터 다수의 연속적인 메모리 디바이스들을 통하고, 메모리 디바이스(110-2)와 같은 중간의 메모리 디바이스를 통해 메모리 디바이스(110-M)로 패스하는 직렬 또는 데이지-체인 데이터 링크상의 데이터의 송신을 시작하도록, 데이지-체인 제어 링크상에서 통신하도록 구성된 제어기(102)를 포함한다.
따라서, 이 명세서에서의 일 실시예는, 그 각각이, 상류의 메모리 디바이스로부터 데이터를 수신하기 위한 입력; 하류의 메모리 디바이스로 데이터를 송신하기 위한 출력; 및 입력과 출력 사이의 제어 및 데이터 처리 회로(125)를 포함하도록 구성된 하나 이상의 메모리 디바이스들을 포함한다. 제어 및 데이터 처리 회로(125)는 제어기(102)와 같은 원거리의 소스로부터 구성 커맨드들을 수신하고, 원거리의 소스에 의한 대응 모드의 선택에 기초하여, 제어기(102)에 의해 지정되는 대로 하류의 메모리 디바이스로의 메모리 디바이스의 출력상의 송신을 위해 대응 메모리(115)에 저장된 데이터를 검색하도록 구성된다.
언급된 바와 같이, 메모리 디바이스들(110)은 플래시 기반 메모리 디바이스들일 수 있고 버퍼들(118)은 데이터의 다수의 페이지들의 블록 복사 동작을 실행하기 위해 한 번에 정보의 페이지(예컨대, 8 킬로바이트의 데이터)를 저장할 수 있다. 따라서, 블록 복사는 하나의 메모리 디바이스내의 하나 이상의 정보 페이지들을 데이지-체인내의 하나 이상의 다른 메모리 디바이스로 전송하는 것을 일으킬 수 있다.
데이터의 복사 또는 이동을 예시하는 보다 상세한 예시로서, 제어기(102)가, 메모리 디바이스(110-1)(예컨대, 소스)로부터 메모리 디바이스(110-M)(예컨대, 목표)로의 데이터의 블록(예컨대, 하나 또는 다수의 데이터의 비트 또는 페이지)을 복사하는 것과 같은 동작을 실행하기 위해 소스(예컨대, 사용자, 컴퓨터 시스템 등)로부터의 요청을 수신한다고 가정한다. 그러한 경우에 있어서, 제어기(102)는 먼저, 그러한 동작을 위해 메모리 디바이스들을 구성하도록 제어 링크(150) 및 데이터 링크(160)(예컨대, 다수의 연속적인 메모리 디바이스들(110)을 통과하는 데이지-체인 링크)상에서 통신한다. 앞서 언급된 바와 같이, 이것은, 메모리 디바이스(110-1)가 소스가 되도록 제1 메시지를 생성한 다음 제어 링크(150) 및 데이터 링크(160)상에 송신하는 것과, 메모리 디바이스(110-M)가 목표가 되도록 제2 메시지를 생성한 다음 제어 링크(150) 및 데이터 링크(160)상에 송신하는 것, 및 메모리 디바이스(110-1)로부터 메모리 디바이스(110-M)로의 데이터의 전송을 시작하도록 추가적인 메시지를 생성한 다음 제어 링크(150) 및 데이터 링크(160)상에 송신하는 것을 포함할 수 있다.
제어 링크(150) 및 데이터 링크(160)상에서 메모리 디바이스들(110)에 통신되는 추가적인 명령들은 트랜잭션과 관련된 더욱 복잡한 세부들을 나타낸다. 예를 들어, 제어기(102)는 어느 장소로부터 데이터를 검색할지 그리고 얼마나 큰 블록 복사를 실행할지를 지정하기 위해 목표 메모리 디바이스와 통신할 수 있다. 제어기(102)는 대응하는 데이터를 저장하기 위한 목표 메모리 디바이스(또는 목표 메모리 디바이스들)의 장소(또는 장소들)를 지정하기 위해 목표 메모리 디바이스와 통신할 수도 있다.
본 예시가 소스 메모리 디바이스로부터, 중간 메모리 디바이스를 통한, 목표 메모리 디바이스로의 데이터 전송을 논의할지라도, 이 명세서의 실시예들은 임의의 메모리 디바이스들이 메모리 시스템(100)내의 다른 메모리 디바이스들로 데이터를 복사할 수 있게 한다. 예를 들어, 제어기(102)는 메모리 디바이스(110-M)를 소스가 되게끔 구성하고 메모리 디바이스(110-1)를 데이터를 수신 및 저장하기 위한 목표가 되게끔 구성할 수 있다. 그러한 실시예에 있어서, 전송 동안에, 제어기(102)는 데이터를 메모리 디바이스(110-M)로부터 메모리 디바이스(110-1)로 수신 및 패스한다. 따라서, 데이지-체인 제어 링크(150) 및 데이터 링크(160)의 사용은 각각의 메모리 디바이스가 데이지-체인내의 임의의 다른 메모리 디바이스로 데이터를 전송할 수 있게 한다.
일 실시예에 있어서, 통신들을 실행하기 위해, 각각의 메모리 디바이스들(110)에 고유의 어드레스 값이 할당된다. 제어기(102)는 대응하는 어드레스 정보를 가진 메시지들(예컨대, 커맨드들 또는 명령들)을 송신함으로써, 제어 링크(150) 및 데이터 링크(160)상에서 송신됨에 따라 메시지가 전체 메모리 디바이스들(110)에 의해 수신되면, 메시지(예컨대, 커맨드)가 어드레스되는 메모리 디바이스가 커맨드를 수신 및 실행한다.
따라서, 메모리 디바이스들(110)에 어드레스되는 커맨드들을 발행하는 것에 기초하여, 메모리 시스템(100)은 제1 메모리 디바이스로부터 제2 메모리 디바이스로의 데이터의 전송 및 직접 복사를 가능케 한다. 이것은, 제어기(102)가 메모리 디바이스들의 순서에서의 제1 메모리 디바이스로부터 임시로 검색 및 저장하고 그것을 순서에서의 목적지의 메모리 디바이스로 전송해야하는 것을 해소한다. 따라서, 제어기(102)가 데이터를 액세스하고 로컬적으로 저장하는, 종래의 방법들에 의해서보다 더 적은 시간으로 블록 복사 커맨드들이 달성될 수 있다.
이 명세서에서의 특정 실시예들에 따른 제어기(102)는, 종래 방법들에 대한 경우에서와 같이, 데이터가 제어기에 임시로 저장될 필요가 없기 때문에, 복사된 데이터의 블록을 임시로 저장하기 위해 큰 버퍼를 포함하도록 구성될 필요가 없다는 것에 주목한다. 하지만, 제어기(102)는 하기에서 더 논의되는 바와 같이 에러 체크 처리에 있어서 조력하기 위해 적어도 버퍼를 포함할 수도 있다.
또한 추가적인 실시예들에 있어서, 제어기(102)는 하나의 메모리 디바이스에 저장된 데이터의 상이한 부분들의 다수의 상이한 메모리 디바이스들의 각각으로의 복사 및/또는 배포를 또한 시작할 수 있다. 예를 들어, 제어기(102)는, 제1 메모리 디바이스를 복사될 데이터의 블록을 갖는 소스가 되게끔, 제2 메모리 디바이스를 데이터의 블록의 제1 부분을 수신하기 위한 목표가 되게끔, 제3 메모리 디바이스를 데이터의 블록의 제2 부분을 수신하기 위한 목표가 되게끔, 또 다른 메모리 디바이스(110-2)를 데이터의 블록의 제3 부분을 수신하기 위한 목표가 되게끔 등으로 구성하도록 데이지-체인 제어 링크(150) 및 데이터 링크(160)상에서 통신들을 시작할 수 있다. 따라서, 하나 이상의 구성 명령들 및 커맨드들을 통해, 제어기(102)는 하나의 메모리 디바이스로부터 다수의 메모리 디바이스들로 데이터의 블록의 부분들을 전송할 수 있다. 환언하면, 단일 메모리 디바이스에 저장된 데이터의 부분들이, 소스 메모리 디바이스로부터 제2 메모리 디바이스내의 메모리 장소로의 데이터의 제1 부분의 저장을 시작하도록 데이지-체인 링크상에서 통신하고, 그리고 소스 메모리 디바이스로부터 제3 메모리 디바이스내의 메모리 장소로의 데이터의 제2 부분의 저장을 시작하도록 데이지-체인 링크상에서 통신하는 등의 제어기(102)에 기반하여 다수의 메모리 디바이스들로 배포 및 복사될 수 있다.
또한, 추가적인 실시예들에 있어서, 앞서 간략히 언급된 바와 같이, 제어기(102)는 에러 체크 모듈(109)(예컨대, 에러 검출 회로)을 포함하도록 구성될 수 있다. 에러 체크 모듈(109)이, (데이터가 복사될) 목표 메모리 디바이스가 목표 메모리 디바이스내의 메모리에 데이터를 기입하기 전에 소스 메모리 디바이스로부터 데이터를 적합하게 수신하는지의 여부를 체크하기 위해 데이지-체인 경로(151)내에 배치될 수 있다. 필요하다면, 제어기(예컨대, 에러 교정 회로)는, 목표 디바이스의 메모리로 기입된 데이터가 무에러이도록, 데이터를 수정하거나 복구한다.
일 예로서, 제어기(102)가 앞서 논의된 바와 같이 메모리 디바이스(110-1)로부터 메모리 디바이스(110-M)로의 데이터의 복사를 시작한다고 가정한다. 버퍼(118-1)로부터 데이터의 전송을 수신할 때, 메모리 디바이스(110-M)는 버퍼(118-M)내에 데이터를 저장함과 더불어 데이터 링크(160)상의 데이터를 제어기(102)의 에러 체크 모듈(109)로 패스한다. 통과 모드에 있을 때, 데이터 링크(160)는 메모리 디바이스(110-1)로부터의 데이터의 다수의 비트를, 메모리 디바이스(110-M)로 그리고 메모리 디바이스(110-M)를 통해, 에러 체크 모듈(109)로 동시에 전송하기 위한 데이터 버스일 수 있다. 에러-체크 모듈(109)에 의해 수신되는 데이터는 메모리 디바이스(110-M)에 의해 수신되고 버퍼(118-M)에 저장되는 데이터와 동일하여야 한다. 에러 체크 알고리즘을 적용하는 것에 의해. 에러 체크 모듈(109)은 버퍼(118-M)내의 데이터와 관련된 에러를 검출할 수 있고, 그러한 경우에, 버퍼(118-M)에서의 데이터의 메모리(115-M)로의 기입을 방지할 수 있다. 따라서, 이 명세서에서의 실시예들은 데이지-체인을 하향하여 ‘기입 데이터 패킷’(예컨대, 블록 복사 데이터)을 패스하는 것을 포함할 수 있음으로써, 제어기(102)가 하나의 메모리 디바이스로부터 다른 메모리 디바이스로 송신되는 데이터 패킷이 에러를 포함하는지의 여부를 체크하기 위해 ECC 동작을 실행할 수 있다.
일 실시예에 있어서, 에러 체크 모듈(109)은 버퍼내의 비트가 교정될 필요가 있는지를 검출하기 위한 알고리즘을 구현한다. 버퍼(118-M)내의 데이터의 메모리(115-M)로의 전송(예컨대, 기입)을 시작하기 전에, 에러 체크 모듈(109)이 에러를 검출하고, 제어기(102)가 버퍼(118-M)의 내용을 수정하는 것에 의해 에러를 교정하도록 제어 링크 및 데이터 링크상에서 통신한다고 가정한다.
메모리 시스템(100) 및/또는 메모리 디바이스들(110)(예컨대, 플래시 메모리 디바이스들)은 모바일 통신 디바이스, 게임세트, 카메라 등과 같은 상이한 타입의 전자 시스템들에서 사용될 수 있다. 메모리 시스템(100)은 다수의 호스트(host) 시스템들내로 삽입될 수 있는 탈착 가능 메모리 카드로서 또는 호스트 시스템들내의 탈착 가능하지 않은 내장형 저장소로서 구현될 수 있다.
대응하는 메모리 디바이스(110)내의 메모리(115)는, 각 셀이 데이터의 하나 이상의 비트의 비휘발성 또는 휘발성의 저장을 할 수 있는, 트랜지스터 셀들의 하나 이상의 어레이로 구성될 수 있다. 실시예에 따라, 상기 메모리는 그 내부에 프로그램된 데이터를 보유하기 위해 전력을 요구하거나 요구하지 않을 수 있다.
만약 메모리(115)가 플래시 기반 메모리이면, 셀(예컨대, 데이터 저장 장소)은 그것이 새로운 데이터 값으로 재프로그램될 수 있기 전에 삭제될 필요가 있을 수 있다. 앞서 언급된 바와 같이, 제어기(102)는 그러한 삭제 기능을 실행하기 위해 메모리 디바이스들(110)과 그리고 메모리 디바이스들(110)을 통해 통신할 수 있다.
대응하는 메모리 디바이스들(110)내의 메모리(115)는, 판독, 프로그램, 및 삭제 기능들의 유효한 실행을 제공하도록, 그룹들내로 위치되는 셀들의 어레이들을 포함할 수 있다. 셀들의 그룹들 또는 소위 블록들은 판독 및 프로그램 기능들을 위한 기본 유닛들인 하나 이상의 어드레스 가능 섹터(sector)들내로 더 위치될 수 있다.
플래시 디바이스내에 데이터를 기입할 때, 데이터의 단일 배치(batch)는 데이터 관리의 간략화 때문에 하나의 블록내에 일반적으로 기입된다. 이것은 하나의 블록내에 상당히 큰 자유 영역을 만들고, 데이터 영역의 비효율적인 사용을 초래한다. 따라서, NAND 플래시 메모리가 사용될 때, 특정 블록내의 하나의 페이지의 데이터는 일단 기입되고 난 데이터로부터 독출될 수 있고, 판독 데이터는 검출/래치 회로(sense/latch circuit)에 의해 임시로 래치된다. 검출/래치 회로에 의해 래치된 데이터는 그 다음에, 데이터가 독출되는 블록으로부터 상이한 블록내의 자유 영역의 페이지내로 기입된다. 그러한 동작은 메모리 공간의 효율적인 사용을 가능케 하는, 페이지 복사로 칭해진다.
앞서 언급된 바와 같이, 메모리들(115)은 페이지 복사 동작들(예컨대, 카피-백(copy-back) 동작들)을 지원할 수 있다. 페이지 복사 동작은 제1 페이지의 어드레스에 저장된 데이터를 제2 페이지의 지정된 어드레스로 전사하는 것(transcribing)을 수반한다. 페이지 복사 동안에, 소스 메모리 디바이스의 페이지(즉, 소스 페이지)내에 저장된 데이터는 페이지 버퍼로 전송된다. 페이지 버퍼내에 저장된 데이터는 그 다음에 기입을 위해 데이지-체인 또는 직렬 링크내의 다른 메모리 디바이스의 버퍼로 전송된다. 앞서 언급된 바와 같이, 이것은 제어기(102)내에 데이터를 저장하지 않고 달성될 수 있다. 효과적으로, 데이터는, 제어기(102)가 플래시 메모리의 밖으로 데이터를 판독하지 않고, 복사될 수 있다. 앞서 논의된 바와 같이, 플래시 디바이스들이 직접 ‘겹쳐 쓰기(over-writing)’ 기능을 지원하지 않기 때문에, 메모리 시스템(100)의 목표 페이지 장소는 목표 메모리 장소에 새로운 데이터를 기입하기 전에 삭제될 필요가 있다.
메모리 디바이스들과 관련된 셀들 또는 장소들의 내용들은, 메모리 디바이스들과 관련된 셀들 또는 장소들이 제한된 수의 P/E(프로그램/삭제) 주기만 잘 견딜 수 있기 때문에, 제한된 회수만 수정될 수 있다. 소위 P/E 주기 제한은 SLC(Single Level-Cell; 단일 레벨-셀)보다 MLC(Multi-Level-Cell; 멀티 레벨-셀) 타입의 NAND 플래시 메모리들에서 더 엄격할 수 있다. 예를 들어, SLC 메모리 디바이스는 디바이스의 수명에 대해 100,000 P/E 주기까지 신뢰할 수 있는 반면에, MLC NAND 플래시 메모리 디바이스는 일반적으로 약 10,000 P/E 주기만 잘 견딜 수 있다. 하지만, MLC NAND 플래시 디바이스들내의 비용 효율적인 밀도의 장점으로 인해(예컨대, MLC 디바이스는 밀도의 관점에서 SLC보다 2배 더 크다), 요새 더 많은 제조자들이 MLC NAND 플래시 메모리를 제조하고 있다.
대응하는 메모리 디바이스(110)의 장소들 또는 셀들을 “소진(burning out)”하는 것을 감소시키고 수명을 연장하는 한 방법은, 경시적으로 데이터의 기입을 상이한 장소들에 분산시키는 것이다. 데이터를 상이한 장소들에 기입하는 것은 플래시 메모리 디바이스의 마멸(wearing)까지도 관리한다. 메모리 시스템(100)에서 MLC 플래시 디바이스를 사용할 때는, 그러한 디바이스가 더 높은 P/E 주기를 지원하지 않기 때문에, SLC 플래시 디바이스를 사용하는 것에 비해, 저장 처리 동안에 더 많은 주의가 취해질 수 있다.
도 2는 이 명세서에서의 실시예들에 따른 데이터의 복사를 예시하는 예시적인 메모리 시스템(200)의 블록도이다.
일반적으로, 메모리 시스템(200)은 종래의 방법들보다 더 빠른 블록 복사를 지원한다. 예를 들어, 메모리 시스템(200)은 블록 복사 동작을 실행하기 위해 입/출력 핀들(예컨대, Dn은 데이터 수신을 위한 직렬 데이터 입력 포트, Qn은 데이터 출력을 위한 직렬 데이터 출력 포트이다)의 직렬화된 고속 링크(예컨대, 데이지-체인의 데이터 링크 경로(323))를 구현한다. 예시적인 데이터 흐름으로서, 제어기(30) 및/또는 메모리 디바이스들은 다음의 연속적인 하류의 디바이스의 입력(예컨대, Dn)으로 데이터를 송신하기 위해 데이터 링크 Qn상으로 데이터를 출력할 수 있다. 여기에서 기술되는 바와 같이, 입력 Dn상의 데이터를 수신하는 디바이스는, 수신된 데이터를 처리(예컨대, 데이터를 그 로컬 페이지 버퍼내에 저장)하도록 및/또는 그 대응하는 Qn 출력상에 데이터를 출력하도록 구성될 수 있다.
신호들 Dn 및 Qn은, 제어기(30) 및 개개의 메모리 디바이스들로 하여금 하류 방식으로 다른 메모리 디바이스들에 다수의 데이터 비트를 동시에 통신하는 것을 가능케 하는, 1 이상의 데이터 비트 폭일 수 있다.
도시된 바와 같이, 메모리 제어기(30)는 CSO(예컨대, 커맨드 스트로브 출력), DSO(예컨대, 데이터 스트로브 출력) 및 Qn 신호들을 개개의 상호 연결들(305, 306, 307)상에서 메모리 디바이스(300)로 출력한다. 메모리 디바이스(300)는 그 다음에 그 대응하는 CSO, DSO, 및 Qn 신호들을 생성하여 개개의 상호 연결들(308, 309, 310)상에서 메모리 디바이스(301)로 출력한다. 메모리 디바이스(301)는 그 다음에 그 대응하는 CSO, DSO, 및 Qn 신호들을 생성하여 개개의 상호 연결들(311, 312, 313)상에서 메모리 디바이스(302)로 출력한다. 메모리 디바이스(302)는 그 다음에 그 대응하는 CSO, DSO, 및 Qn 신호들을 생성하여 개개의 상호 연결들(314, 315, 316)상에서 메모리 디바이스(303)로 출력한다. 제어기(30)로 돌아가는 데이지-체인 루프를 완료하면, 메모리 디바이스(303)는 그 다음에 그 대응하는 CSO, DSO, 및 Qn 신호들을 생성하여 개개의 상호 연결들(317, 318, 319)상에서 제어기(30)로 출력한다.
이 명세서에서 기술된 바와 같이, 상호 연결의 이러한 순서는, 제어기(30)로부터 개개의 메모리 디바이스로, 제1 메모리 디바이스로부터 데이지-체인내의 제2 메모리 디바이스로, 또는 메모리 디바이스로부터 제어기(30)로 같은, 디바이스로부터 디바이스로 데이터 패킷 및 제어 신호를 송신하는 데이지-체인 흐름 경로(323)를 생성한다.
CSI 및/또는 DSI 신호들이 실시예에 따라 활성 하이(active high) 또는 활성 로(active low)일 수 있다는 것에 주목한다.
도시된 예시적인 실시예에 있어서, 제어기(30)는 데이지-체인내의 메모리 디바이스들의 각각을 구동하는 클럭 신호를 (예컨대, 제어기내의 SDR/DDR/QDR 클럭에 기초하여) 출력한다. 클럭의 사용은 디바이스들 사이에서 동기적인 데이터를 전송할 수 있게 한다. 클럭이 차동 신호 또는 싱글-엔디드(single-ended) 신호로서 구현될 수 있다는 것에 주목한다.
메모리 시스템(200)은 또한 제어 링크를 포함한다. 본 예시에서의 제어 링크는, 2개의 전용 제어 신호들: i) 제어기(30)로부터 메모리 디바이스들로 커맨드/어드레스 패킷들(예컨대, 커맨드들)을 통신하기 위한 커맨드 스트로브 입력, CSI; 및 ii) 메모리 디바이스들 사이에서 데이터 패킷들(예컨대, 복사된 데이터)의 기입 및 판독을 시작하기 위한 데이터 스토로브 신호, DSI를 포함한다. 따라서, 제어기(30)에 의해 생성되는 (그리고 데이지-체인상의 다른 디바이스로의 하류에 패스되는 바와 같은) 신호들 CSI 및/또는 DSI는, 커맨드/어드레스 패킷들 및 데이터 패킷들의 전송을 각각 인에이블(enable) 및 디스에이블(disable) 시킨다. 도 1b에 대해 상기에서 논의된 실시예들과 유사한 문맥으로, 도 2에서의 제어기(30)에 의한 커맨드 스트로브(CS) 신호들 및 데이터 스트로브(DS) 신호들의 제어는, 메모리 디바이스들의 직렬 연결된 데이지-체인내의 노드들(예컨대, 메모리 디바이스들) 사이에서 패킷의 송신 및 블록 복사의 실행을 가능케 한다.
따라서, 메모리 시스템(200)은, 하기에서 논의되는 바와 같이 복사 및 관련 기능등을 실행하기 위해, 3 타입의 패킷들: “커맨드 및 어드레스 패킷들(=CAP)”, “기입 데이터 패킷들(=WDP)” 및 “판독 데이터 패킷들(=RDP)”의 생성 및 배포를 지원하는 패킷 지향의 메모리 시스템이 고려될 수 있다.
제어기(202)에 의해 생성되는 “커맨드 및 어드레스 패킷들”은 직렬 링크상에서 메모리 디바이스들(300, 301, 302, 303)로 송신되는 커맨드 및 어드레스 정보를 포함한다. 도시된 바와 같이, “커맨드 및 어드레스 패킷들”은 직렬 데이터 입력 포트(들), Dn을 통해 메모리 디바이스들에 도달하고, 포트들 Qn상에 출력된다. 커맨드 및 어드레스 패킷들의 종점은 커맨드 스트로브 신호, CSI(=커맨드 스트로브 입력)의 에지(edge)와 일치할 수 있다.
“기입 데이터 패킷들”(예컨대, 기입되는 데이터, 복사되는 데이터, 전송된 데이터, 데이터 교정 정보 등)은 직렬 데이터 입력 포트(들), Dn을 통해 개개의 메모리 디바이스들에 도달하고, 스트로브 신호, DSI(=데이터 스트로브 입력)에 의해 범위가 정해진다.
“판독 데이터 패킷들”은 개개의 메모리 디바이스에 의해 출력되어 직렬 링크상에서 메모리 제어기(202)로 송신되는 판독 데이터를 포함한다. “판독 데이터 패킷들”은 메모리 디바이스들로부터 개개의 직렬 데이터 출력 포트(들), Qn을 통해 출력되고 스트로브 신호, DSI(=데이터 스트로브 입력)에 의해 범위가 정해진다.
일 실시예에 있어서, “커맨드 및 어드레스 패킷들”, "기입 데이터 패킷들" 및 “판독 데이터 패킷들”의 각각은, Qn과 관련된 현재의 I/O 폭(1 비트, 2 비트, 4 비트, 등의 폭)에 관계 없이, 정수의 바이트 길이이다.
일 실시예에 있어서, 페이지 버퍼는 8 킬로바이트 폭이다. 상호 연결들(307, 310, 313, 316, 등)은 4 비트 폭이다. 데이터 페이지의 전송은 메모리 디바이스(300)로부터 메모리 디바이스(301)로의 데이지-체인상의 데이터의 다수의 병렬 전송을 요구한다.
메모리 데이터 전송은 시작 어드레스(예컨대, 데이터가 메모리 디바이스에 저장되는 장소) 및 전송 길이(예컨대, 복사될 데이터의 양)에 의해 지정될 수 있다는 것에 주목한다. 그 상승 에지로부터 그 하강 에지까지의 대응 스트로브 신호(=DSI)의 지속 기간은 전송 길이에 좌우된다.
앞서 언급된 바와 같이, 메모리 시스템(200)내에서의 제안된 메모리 디바이스들은, CSI 신호가 ‘하이’논리 상태로 설정될 때(예컨대, CSI가 활성화됨), Dn 포트(들)을 통해 “패키화된” 커맨드 및 어드레스 정보를 수신한다. 디바이스들은, DSI가 ‘하이’ 논리 상태로 설정될 때(예컨대, DSI가 활성화됨), Dn/Qn 포트(들)을 통해 입/출력 데이터 패킷들을 수신/송신한다. 활성화된 CSI 신호가(즉, 하이 논리 상태로 설정) 클럭 신호들(CK/CK#)의 천이 에지들에서 참조될 때, 메모리 디바이스는 커맨드 및 어드레스 패킷들을 포함하는 연속적인 바이트들을 (Dn 포트(들)을 통해) 수신하기 시작한다. “커맨드 및 어드레스 패킷”내의 커맨드는 실행될 명령을 지정한다. “커맨드 및 어드레스 패킷”내의 어드레서 정보는, 개개의 메모리 디바이스로부터 정보를 저장 및/또는 검색하는, 메모리 어드레스 장소 정보를 지정할 수도 있다.
만약, CSI 신호가 비활성화되면(예컨대, ‘로’ 상태로 설정되면), 메모리 디바이스는 Dn 포트(들)을 통해 커맨드 및 어드레스 패킷을 수신하기를 멈춘다. 유사하게, 메모리 디바이스가 기입 모드에 있는 동안 DSI 신호가 활성화되거나 어서트되면(예컨대, DSI가 ‘하이’ 상태로 설정되면), 메모리 디바이스는 클럭 신호(CK/CK#)의 천이 에지들에서 참조되는 ‘기입-데이터 패킷’을, Dn 포트(들)을 통해, 수신하기 시작한다. DSI 신호가 비활성화되거나 비어서트되면(예컨대, DSI가 ‘로’ 상태로 설정되면, 메모리 디바이스는 Dn 포트(들)을 통해 ‘기입 데이터 패킷’을 수신하기를 멈춘다.
메모리 디바이스가 판독 모드에 있는 동안 DSI 신호가 활성화되거나 어서트될 때(예컨대, ‘하이’ 상태로 설정될 때), 판독 모드의 메모리 디바이스는 클‘판독-데이터 패킷’을, Qn 포트(들)을 통해, 송신하기 시작한다. DSI 신호가 비활성화되거나 비어서트되면(예컨대, DSI가 ‘로’ 상태로 설정되면, 판독 모드의 메모리 디바이스는 Qn 포트(들)을 통해 ‘판독 데이터 패킷’을 송신하는 것을 멈춘다.
도 2에 도시된 바와 같이, 메모리 제어기(30)는 에러 검출기 및/또는 교정 기능성을 제공하는 ‘ECC 및 버퍼 메모리’ 블록(31)을 포함할 수 있다. 직렬 연결(예컨대, 하나 이상의 데이터의 데이지-체인 및/또는 제어 링크)은 메모리 디바이스들을 통해 제어기(30)로 돌아가는 피드백 루프를 형성한다. 따라서, 제어기(30)는 경로(324)상의 데이터 및 임의의 메모리 디바이스로부터의 입력 Dn을 모니터 및 수신할 수 있다. 도시된 예시적인 실시예에 있어서, 메모리 제어기(30)는, 개개의 상호 연결들(317, 318, 319)을 통해 최종 메모리 디바이스(예컨대, 메모리 디바이스(303))로부터 Dn, DSI, 및 CSI 신호들을 수신한다. 앞서 언급된 바와 같이, 제어기(30)는 임의의 메모리 디바이스내의 데이터의 (예컨대, 에러 교정을 위한) 수정을 시작하기 위해 경로(325)상에 데이터를 출력할 수 있다.
데이지-체인내의 다수의 메모리 디바이스들은 가상적으로 범위가 정해질 수 있다. 일 실시예에 있어서는, 하지만, 특정 어플리케이션들이 255 메모리 디바이스들의 열로 제한될 수 있다. 특정 시스템이 255 메모리 디바이스들보다 더 많은 메모리를 요구하면, 표 2에서의 디바이스 어드레스(=DA) 바이트 정의는 예컨대 2 바이트로 확장될 수 있다. 그러한 경우에 있어서 메모리 디바이스들의 총 개수는 65535 = 216-1일 수 있다.
일 실시예에 있어서, 메모리 시스템(200)은 인쇄 회로 기판 또는 멀티-칩 패키지(예컨대, MCP)와 같은 개개의 기판(205)상에 존재한다. MCP(멀티-칩 패키지) 디바이스들은 데이지-체인 구성으로 사용될 수 있고, 하나의 단일 MCP 그 자체가 이미 직렬로 상호 연결된 내부의 8 메모리 칩들을 포함한다면, 63 MCP 디바이스들이, 현재의 패킷 프로토콜이 사용된다면, 단일 채널내에서의 최대 개수일 수 있다.
도 2에 도시된 예시적인 실시예에 있어서, 제어기(30)는 메모리 디바이스(300)의 메모리 코어로부터 메모리 디바이스(301)의 메모리 코어로의 복사를 시작한다. 복사되는 데이터의 블록은 128 페이지들을 포함한다. 128 페이지들의 복사의 설명이 예시로서만 포함되며 블록 복사는 단일 비트의 데이터 내지 많은 비트의 데이터일 수 있다는 것에 주목한다.
일 실시예에 있어서, 메모리 디바이스들의 페이지 버퍼들은 데이터의 단일 페이지를 한 번에 저장할 수 있다. 따라서, 메모리 디바이스(300)로부터 메모리 디바이스(301)로의 데이터의 복사는, 메모리 디바이스(300)의 페이지 버퍼로부터 메모리 디바이스(301)의 페이지 버퍼로의 데이터의 다수의 전송들을 포함한다.
본 예시의 컨택스트에 있어서, 메모리 제어기(30)는 데이지-체인내에서의 메모리 디바이스들의 각각에 공통적으로 연결되는 클럭 신호(304)를 구동한다. 각각의 메모리 디바이스는 도면에 도시된 바와 같이 동일한 tIOL(클럭 주기에서의 입력 대 출력 레이턴시(latency))을 가질 수 있다. 본 예시에서, 메모리 시스템(200)은, 메모리 디바이스(300), 메모리 디바이스(301), 메모리 디바이스(302), 및 메모리 디바이스(303)를 포함하는 4개의 직렬 연결된 메모리 디바이스들(예컨대, HLNAND 메모리 디바이스들)을 포함한다. 하지만, 앞서 논의된 바와 같이, 메모리 시스템(200)은 255 메모리 디바이스들 또는 그 이상과 같은 개개의 데이지-체인내의 더욱 많은 메모리 디바이스들을 포함할 수 있다.
이 명세서에서의 실시예들에 따른 메모리 시스템(200)이 개개의 데이지-체인 내에서의 이종의 세트(heterogeneous set)의 메모리 디바이스들을 포함할 수 있다는 것에 주목한다. 예를 들어, 메모리 시스템(200)은 DRAM, 플래시 메모리 등과 같은 상이한 타입의 메모리 디바이스들의 데이지-체인을 포함할 수 있다. 데이지 체인내의 상이한 타입의 메모리 디바이스들은 상이한 목적을 위해 사용될 수 있다.
또 다른 실시예들에 있어서, 메모리 시스템(200)은 다수의 데이지-체인들을 포함하도록 구성될 수 있다. 예를 들어, (도시된 바와 같이) 하나의 데이지-체인은 도시된 바와 같이 메모리 디바이스(300), 메모리 디바이스(301), 메모리 디바이스(302), 및 메모리 디바이스(303)를 포함하는 다수의 메모리 디바이스들의 열을 포함할 수 있다. 제어기(30)로부터 나오는 다른 독립적인 데이지-체인은 다른 세트의 메모리 디바이스들을 포함할 수 있다. 제2 데이지-체인상에서 통신을 지원하기 위해, 제어기(30)는 제2 데이지-체인에서의 복사 동작을 실행하기 위해 제2 세트의 제어 및 데이터 신호들(예컨대, CSO, DSO, 및 Qn)을 생성할 수 있다.
도 3a 및 3b는 이 명세서에서의 실시예들에 따른 소스 메모리 디바이스로부터 목표 메모리 디바이스로의 데이터의 복사와 관련된 타이밍을 예시하는 상세한 타이밍도이다. 도시된 바와 같이, 시간 TO에, 메모리 디바이스(300)(예컨대, 디바이스 0)는 ‘기입 구성 레지스터’ 커맨드 패킷(01h & FFh) 및 ‘기입 데이터 패킷’(01h)을 수신한다. 커맨드 패킷내의 디바이스 어드레스(DA=O1h)가 메모리 디바이스(300)의 디바이스 어드레스와 매치하지 않음에 따라, 메모리 디바이스(300)는 수신된 커맨드 패킷을 거부하고, 커맨드 패킷을 상호 연결들(308 및 310)을 통해 다음의 메모리 디바이스(301)로 바이패스한다. 상세한 타이밍도가 도 6에 도시되어 있다. 기입 데이터 패킷도 바이패스된다. 하기의 표 1은 기입 구성 레지스터에 대한 예시적인 정의이다.
[표 1]
Figure 112010018976949-pct00001
제어기(30)로부터 메모리 디바이스(300)를 통해 ‘기입 구성 레지스터’(01h & FFh) 커맨드 패킷 및 ‘기입 데이터 패킷’(01h) (606)을 수신한 것에 응답하여, 메모리 디바이스(301)는, 수신된 디바이스 어드레스(DA=01h)가 그 자신의 디바이스 어드레스와 매치하기 때문에, 통과 모드를 인에이블시키기 위해 그 자신의 바이패스 기능을 로컬적으로 활성화시킨다. 하지만, ‘기입 데이터 패킷’(01h) (606)은, 메모리 디바이스(301)가 여전히 바이패스가 디스에이블된 모드에 있기 때문에, 위치(607)(예컨대, 디바이스 1의 Qn 출력상의)로 바이패스되지 않는다.
디바이스(301)는 ‘기입 데이터 패킷’(01h) (606)을 처리한 후에, “바이패스 모드”일 수 있다. 그러한 커맨드를 발행하기 전에, 디바이스(301)는 여전히 ‘바이패스가 디스에이블된 모드’에 있을 것이다.
시간 T1에서, 소스 메모리 디바이스(300)는 ‘페이지 판독’ 커맨드 패킷(00h & 00h & RA)을 수신하여 도시된 바와 같이 페이지 판독 동작을 실행하기 시작한다. 페이지 판독 동작은 메모리 디바이스(300)의 메모리 코어에 저장된 데이터를 검색하는 것을 포함한다. 일 실시예에 있어서, 페이지를 검색하기 위한 이러한 기간은 20 마이크로초이다.
시간 T3에서, 메모리 제어기(30)는, 메모리 디바이스(301)를 메모리 디바이스(300)로부터 데이터를 수신하도록 ‘기입 모드’로 설정하기 위해 ‘버스트(burst) 데이터 로드 시작’ 커맨드 패킷(01h & 40h & CA)을 메모리 디바이스(301)에 발행한다.
시간 T5에서, 메모리 디바이스(300)는 제어기(30)에 의해 생성되는 ‘버스트 데이터 판독’ 커맨드 패킷(00h & 20h & CA)을 수신한다. 이러한 커맨드는 경로(321)상의 메모리 디바이스(300)의 페이지 버퍼내의 데이터의 메모리 디바이스(301)의 페이지 버퍼로의 전송을 시작시킨다. 따라서, 20 마이크로초의 페이지 판독 시간 요구는, 검색된 데이터를 목표 메모리 디바이스에 전송하고자 시도하기 전에 만족된다.
DSI 신호가 메모리 제어기(30)로부터 메모리 디바이스(300)로 어서트되는 시간 T7에, 메모리 디바이스(300)는 그 자신의 페이지 버퍼 데이터를 Qn 핀들을 통해 메모리 디바이스(301)로 출력하기 시작한다. 메모리 디바이스(301)의 DSI 및 Dn 핀들이 메모리 디바이스(300)의 DSO 및 Qn 핀들에 직접적으로 연결되기 때문에, 목표 메모리 디바이스(301)는 그 자신의 개개의 페이지 버퍼내의 저장을 위한 도착 데이터를 수신한다. 전송 동안에, 동형의 데이터 패킷들(601 및 602)(예컨대, 페이지 데이터)은 시간 T8과 시간 T10의 사이에서 메모리 디바이스(300)로부터 메모리 디바이스(301)로 송신된다. 메모리 디바이스(300)로부터의 데이터는 메모리 디바이스(301)의 페이지 버퍼내에 저장된다.
시간 T11에서, 메모리 제어기(30)는 ‘페이지 프로그램’ 커맨드 패킷(01h & 60h & RA)을 메모리 디바이스(301)에 통신한다. 이것은 페이지 버퍼로부터 메모리 디바이스(301)내의 코어 저장소로 기입될 수신된 데이터의 저장을 시작시킨다.
도 3의 타이밍도의 상기한 설명은, 메모리 디바이스(300)로부터 메모리 디바이스(301)로의 데이터의 단일 페이지의 전송을 예시한다. 이러한 처리는, 블록 복사 동작과 관련하여 다수의 다른 페이지들의 각각에 대해 반복될 수 있다.
소스 메모리 디바이스로부터 목표 메모리 디바이스로의 전체 블록 복사를 완료한 후에, 제어기(30)는, 바이패스 기능을 디스에이블된 상태로 리셋시키기 위해 다른 ‘기입 구성 레지스터’ 커맨드를 발행할 수 있다.
도 4는 이 명세서에 따른 블록 복사 방법을 예시하는 예시적인 플로우차트(499)이다. 일반적으로, 앞서 논의된 바와같이, 플로우차트(499)는 도 2에 묘사된 바와 같이 소스 메모리 디바이스(300)로부터 목표 메모리 디바이스(301)로의 예시적인 데이터의 블록 복사를 예시한다. 하기에서 논의되는 바와 같이, 복사 동작을 실행하기 위해, 제어기(30)는 메모리 디바이스들을 구성하고 블록 복사를 시작하기 위해 데이지-체인 링크(예컨대, 제어 링크 및 데이터 링크)상에서 통신한다. 하기의 커맨드들과 관련된 전체 값들은 16진수의 값들로 기재되어 있다는 것에 주목한다.
단계(700)에 있어서, 각각의 목표 어드레스에 대해서, 제어기(30)는, 목표 메모리 디바이스(301)의 바이패스 기능을 인에이블시키기 위해, ‘기입 구성 레지스터’ 커맨드를 대응 값들 (DA & FFh)과 더불어 발행하고, ‘기입 데이터 패킷’ 커맨드를 대응 값 01h와 더불어 발행한다. 바이패스 기능(예컨대, 통과 모드)은 표 1에서의 값들에 따라 프로그램될 수 있다. 앞서 논의된 바와 같이, 바이패스 모드(예컨대, 통과 모드)는 절전 목적을 위해 디스에이블될 수 있다. 하지만, 이러한 블록 보사 예시에 있어서, 제어기(30)는, ‘기입 데이터 패킷’을 데이지-체인내의 다음 메모리 디바이스들에 그리도 다음 메모리 디바이스들을 통해 송신하기 위해, 목표 메모리 디바이스(301)를 바이패스가 인에이블된 모드(예컨대, 통과가 인에블됨)로 설정함으로써, (소스 메모리 디바이스(300)로부터 원래 ‘판독 데이터 패킷’인) 상기 ‘기입 데이터 패킷’이 결국 데이지-체인을 통해 메모리 제어기(30)로 패스될 것이다. 몇몇의 목표 디바이스들이 있다면, 제어기(30)가 블록 복사를 시작하기 위해 몇몇의 목표 디바이스들로 커맨드들을 발행할 것이라는 것에 주목한다.
단계(701)에서, 메모리 제어기(30)는 ‘페이지 판독’ 커맨드 패킷과 더불어 대응 값들(DA & 00h)을 소스 메모리 디바이스(300)로 생성한다. 그러한 커맨드의 수신에 기초하여, 소스 메모리 디바이스(300)는 그 자신의 메모리 코어의 지정된 장소로부터 그 자신의 대응되는 페이지 버퍼로의 페이지 데이터의 전송을 시작한다. 일 실시예에 있어서, 이러한 동작은 전송을 완료하기까지 20 마이크로초가 걸릴 수 있다.
단계(702)에서, 소스 디바이스(300)가 페이지 판독 동작을 실행하는 동안(또는 후에), 메모리 제어기(30)는 ‘버스트 데이터 로드 시작’ 커맨드 패킷을 대응 값들(DA & 40h)과 더불어 목표 메모리 디바이스(301)에 발행함으로써, 목표 메모리 디바이스(301)는 ‘기입 모드’로 들어가고, 적어도 ‘기입 데이터 패킷’(예컨대, 소스 메모리 디바이스(300)로부터의 데이터)를 수신하도록 준비된다.
일 실시예에 있어서, 메모리 제어기(30)는, 페이지 판독 동작이 완료되었는지 그리고 데이터 전송이 이제 가능한지가 확실해지기까지 간단히 20 마이크로초(또는 다소 다른 지정된 양의 시간)를 기다린다.
단계(703)에서, 페이지 판독 동작이 소스 메모리 디바이스(300)내에서 완료된 후에, 메모리 제어기(30)는 ‘버스트 데이터 판독’ 커맨드 패킷을 대응 값들(DA & 20h)와 더불어 제1 메모리 디바이스(300)로 발행한다. 이러한 커맨드의 수신에 기초하여, 제1 메모리 디바이스(300)는 ‘페이지 판독’ 모드로 들어가고, 메모리 디바이스(300)의 페이지 버퍼내의 데이터를 출력하도록 시그널링(signaling)하는, DSI 어서션(assertion)을 수신하기 위해 준비된다.
단계(704)에서, 메모리 제어기(30)가 그 다음으로 메모리 디바이스(300)로부터 메모리 디바이스(301)로 전송되는 페이지의 길이(예컨대, 8 킬로바이트)에 대한 DSI를 어서트한다. 데이터 전송의 길이는 단일 비트 내지 다수의 바이트와 같은 정보의 임의의 수의 비트일 수 있다는 것에 다시 주목한다.
단계(705)에서, DSI 신호의 어서션 또는 활성화에 기초하여, 메모리 디바이스(300)는, 메모리 디바이스(300)의 페이지 버퍼내의 데이터를 목표 메모리 디바이스(301)의 페이지 버퍼로 전송하기 위해 ‘판독 데이터 패킷’의 전송을 시작한다.
단계(706)에서, 목표 메모리 디바이스(301)는, 목표 메모리 디바이스(301)가 ‘기입 모드’로 설정되었고 그 자신의 DSI 입력 신호에 따라 ‘기입 데이터 패킷’을 기대하고 있었기 때문에, ‘판독 데이터 패킷’을 ‘기입 데이터 패킷’으로서 수신한다. 따라서, 상기의 시그널링에 기초하여, 메모리 디바이스(300)내의 데이터의 페이지는 단일 버스트 데이터 전송 기간에 소스 메모리 디바이스(300)로부터 제2 메모리 디바이스(301)로 자동적으로 전송된다.
일 실시예에 따르면, 이러한 방식의 데이터의 전송은, 2개의 상이한 타입의 데이터 패킷들이 동일 데이터 패킷 흐름내에서 자동적으로 전송되기 때문에, 동형의 데이터 패킷 또는 동형의 데이터 전송으로 정의될 수 있다.
앞서 논의된 것과 유사한 문맥으로, 본 예시에서 논의되는 데이터의 흐름은, 그것이, 제어기(30)가 소스 메모리 디바이스로부터 데이터를 검색하고 목표 메모리 디바이스에 검색된 데이터를 저장해야 하는 것을 제거하기 때문에, 유익하다. 시간 절약의 일예는 도 2에 보다 특정적으로 도시되었다. 예를 들어, 이 명세서의 실시예들에 따라 총 블록 복사 시간이 39 밀리초일 수 있는 반면에, 종래의 기술은 제어기에 데이터를 전송한 다음에 제어기로부터 목표 메모리 디바이스로 데이터를 전송하는데 추가적인 10 밀리초가 요구될 수 있다.
하나의 메모리 디바이스로부터 다른 메모리 디바이스로 데이터를 복사하기 위한 실제 전송 시간(예컨대, 39 밀리초 복사 시간)이 개개의 메모리 시스템에 채용된 메모리 디바이스들의 속도에 따라 변화할 수 있다는 것에 주목한다. 따라서, 앞서 언급된 예시적인 전송 속도는, 데이터 전송을 완료하기 위한 시간이 메모리 속도와 더불어 당업자에 의해 인지되는 추가적인 인자들에 따라 변화할 수 있으므로, 예시의 목적을 위해서만 언급되었다.
도 4의 단계(707)에서, 메모리 제어기(30)는, 페이지를 독출하는 동안에 발생하는 임의의 비트 에러들이 있는지를 체크하기 위해, 메모리 디바이스(300)로부터 목표 메모리 디바이스(301)로의 데이지-체인 상의 데이터 패스에 선택적인 ECC(Error-Correction-Code; 에러 교정 부호) 동작을 적용한다. 제어기(30)는, 체크를 위해 데이지-체인을 따라 제어기(102)로, 소스 디바이스로부터 목표 디바이스로 복사된 데이터가 패스되는, 통과 모드로 메모리 디바이스를 두기 위해 구성 커맨드들을 사용한다는 것을 상기한다.
단계(708)에서, 제어기(30)는 소스 메모리 디바이스로부터 목표 메모리 디바이스로 전송되는 데이터에 에러가 있는지의 여부를 체크한다. 만약, ECC 동작이 전송되는 데이터내의 에러의 존재를 검출하면, 흐름은 단계(709)에서 계속된다.
단계(709)에서, 제어기(30)는 제어기(30)로부터 데이터를 수신하도록 목표 메모리 디바이스(301)를 구성한다.
단계(710)에서, 제어기(30)는 (예컨대, 제어기(30)의 ECC 기능으로부터) 교정된 데이터를 데이지-체인 링크상에서 목표 메모리 디바이스(301)의 페이지 버퍼로 송신한다. 따라서, 제어기(30)는 페이지 버퍼내의 데이터를 수정한다.
단계(708)에서, ECC 동작을 완료한 후 그리고 목표 메모리 디바이스(30)의 페이지 버퍼에 저장된 데이터에 초기부터 에러가 없었거나 더 이상 에러가 없다고 가정하면, 흐름은 단계(711)에서 계속된다.
단계(711)에서, 메모리 제어기(30)는 ‘페이지 프로그램’ 커맨드 패킷(DA & 60h)을 목표 메모리 디바이스(301)에 발행한다. 커맨드를 수신한 것에 응답하여, 메모리 디바이스(301)는 페이지 버퍼내의 데이터를 선택된 페이지 장소에 기입하기 시작한다.
단계(712)에서, 제어기(30)는 소스 메모리 디바이스로부터 목표 메모리 디바이스로 복사될 데이터의 추가적인 페이지들이 있는지의 여부를 체크한다. 그렇다면, 메모리 제어기(30)는 복사될 각각의 추가적인 페이지에 대해서 단계(701) 내지 단계(712)의 반복을 일으키는 단계(713)를 실행한다. 복사될 페이지의 수는 임의의 값일 수 있다. 본 예시에 있어서는, 메모리 디바이스(300)로부터 메모리 디바이스(301)로 복사되는 데이터의 128 페이지가 있다.
만약, 제어기(30)가 복사될 추가적인 페이지가 없다는 것을 검출하면, 제어기(30)는 단계(714)로 진행한다.
단계(714)는 예시적인 블록 복사 동작을 종결한다. 일 실시예에 있어서, 제어기(102)는, 메모리 디바이스들을 아이들 모드(idle mode)로 두는 것을 완료하였을 시에 메모리 디바이스들과 관련된 개개의 구성 레지스터들로의 하나 이상의 기입을 시작한다.
도 5는, 제어기(40)에 의해 출력되는 클럭이 이 명세서의 제2 실시예에 따라 메모리 디바이스들의 열을 통해 직렬 데이지-체인 방식으로 연결되는, 메모리 시스템의 예시도이다. 예를 들어, 제어기(40)는 개개의 클럭 신호로 메모리 디바이스(400)를 구동하고, 메모리 디바이스(401)는 메모리 디바이스(401)에 클럭 신호를 출력하는 등이다.
데이지-체인내의 각 메모리 디바이스는 수신된 클럭 신호를 조정하기 위해 클럭 싱크로나이져 회로(clock synchronizer circuit)를 포함할 수 있다. 도시된 예시적인 실시예에 있어서, 메모리 디바이스(400)는 싱크로나이져 회로(510-1)를 포함하고, 메모리 디바이스(401)는 싱크로나이져 회로(510-2)를 포함하며, 메모리 디바이스(402)는 싱크로나이져 회로(510-3)를 포함하고, 메모리 디바이스(403)는 싱크로나이져 회로(510-3)를 포함한다. 클럭 싱크로나이져 회로들(510)에 의해 제공되는 기능성이 PLL(Phase Locked Loop; 위상 고정 루프) 디바이스들, DLL(Delay Locked Loop; 지연 고정 루프) 디바이스들 등 또는 따른 적합한 회로들에 의해 제공될 수 있다는 것에 주목한다. 클럭 싱크로나이져들의 사용은 액세스 시간을 감소시킨다. 클럭 싱크로나이져들(예컨대, 내부적으로 조정된 PLL들, DLL들 등)과 관련된 보다 상세한 것들은, 2007년 12월 19일자로 출원된, “METHODS AND APPARATUS FOR CLOCK SYNCHRONIZATION IN A CONFIGURATION OF SERIES-CONNECTED SEMICONDUCTOR DEVICES”라는 제목의, 관련된 미국 특허 출원 번호 제11/959,996호(대리인 관리 문서 번호 제1251-02US-000-00호)에서 논의되었다.
본 예시적인 실시예에 있어서, 메모리 디바이스(400), 메모리 디바이스(400), 메모리 디바이스(401), 메모리 디바이스(402), 메모리 디바이스(403) 및 메모리 제어기(40)를 포함하는 메모리 디바이스들의 열은, 개개의 디바이스들(CKI, CKO) 사이에서 실제 포인트 대 포인트 직렬 방식으로 연결되어 있다. (도 2에서와 같이) 제어기(102)로부터 각각의 메모리 디바이스로의 포인트 대 멀티-포인트(point to multi-point) 연결들은, 동작 주파수가 너무 높으면(예컨대, 수 GHz), 축적된 상 에러(phase error) 문제를 유발할 수 있다. 각각의 메모리 디바이스들내에 구성된 (도 5에서와 같은) 특별한 동기화 회로들(예컨대, 싱크로나이져 회로들(510-1, 510-2, 510-3, 및 510-4))의 사용은 이러한 문제를 보상한다.
도 5에 도시된 메모리 시스템(500)의 일반적인 동작은 도 1에서의 그것과 유사하다. 하지만, 앞서 언급된 바와 같이, 메모리 시스템(500)내의 메모리 디바이스들의 각각은 내부적으로 조정된 PLL 블록을 채용함으로써, 버스트 데이터 전송 시간이 도 2에서 메모리 시스템(200)에 의해 제공되는 것보다 매우 더 빠르다. 예를 들어, 메모리 시스템(500)에 대해서 계산된 블록 복사 시간은 도 2에 도시된 메모리 시스템(200)에 대한 39 밀리초에 비해 단지 29 밀리초일 것이다.
메모리 시스템(500)의 본 예시의 컨택스트에 있어서, 주 제어기(40)는 클럭 신호 CKO를 상호 연결(404)상에서 메모리 디바이스(400)의 CKI 입력으로 출력한다. 메모리 디바이스(400)는 수신된 클럭을 조정하고 상호 연결(404-1)상에서 메모리 디바이스(401)로 출력되는 클럭 신호 CKO를 생성하기 위해 내부적으로 조정된 위상 고정 루프 모듈을 포함한다. 메모리 디바이스(401)는 수신된 클럭 신호를 조정하고 상호 연결(404-2)상에서 메모리 디바이스(402)로 출력되는 클럭 신호 CKO를 생성하기 위해 내부적으로 조정된 위상 고정 루프 모듈을 포함한다. 메모리 디바이스(402)는 수신된 클럭을 조정하고 상호 연결(404-3)상에서 메모리 디바이스(403)로 출력되는 클럭 신호 CKO를 생성하기 위해 내부적으로 조정된 위상 고정 루프 모듈을 포함한다. 메모리 디바이스(403)는 수신된 클럭을 조정하고 상호 연결(404-4)상에서 제어기(40)로 출력되는 클럭 신호 CKO를 생성하기 위해 내부적으로 조정된 위상 고정 루프 모듈을 포함한다.
도 6a는 이 명세서에서의 실시예들에 따라 하나의 메모리 디바이스로부터 다수의 목표 메모리 디바이스들로의 데이터의 배포를 지원하는 메모리 시스템(600)의 도면이다.
이러한 블록 복사 방법에 있어서, 목표는 다수의 메모리 디바이스들을 포함한다. 앞서 논의된 것과 동일한 방식으로 제어기(50)에 의해 메모리 디바이스들로 발행되는 커맨드들에 기초하여, 소스 메모리 디바이스로부터 정보의 제1 페이지가 제1 목표 메모리 디바이스로 복사되고, 소스 메모리 디바이스로부터 정보의 제2 페이지가 제2 목표 메모리 디바이스로 복사되며, 소스 메모리 디바이스로부터 정보의 제3 페이지가 제3 목표 메모리 디바이스로 복사되고, 기타 등등이다. 배포되는 블록 복사를 실행하기 위해, 제어기(50) 데이터의 부분들의 상이한 메모리 디바이스들내의 특정 장소들로의 배포를 정밀하게 조직화하도록 메모리 디바이스들의 각각과 통신한다. 따라서, 블록 복사는 소스 메모리 디바이스로부터 데이지-체인내의 다수의 목표 메모리 디바이스들의 각각으로 데이처를 전송하는 것을 포함할 수 있다.
일 실시예에 있어서, 블록내의 페이지들은 정보의 연속적인 페이지들이다. 제어기(50)는, 데이터의 블록의 제1 페이지(예컨대, 페이지 0)를 메모리 디바이스(501)로 복사하고; 데이터의 블록의 제2 페이지(예컨대, 페이지 1)를 메모리 디바이스(502)로 복사하는 것 등등을 시작한다.
그러한 실시예들에 있어서, 하나의 메모리 디바이스로부터 다수의 메모리 디바이스들로 데이터를 복사하는데 요구되는 시간은, 소스 메모리 디바이스로부터 단일의 목표 메모리 디바이스로 데이터의 블록을 복사하기 위해 요구되는 시간 보다 실질적으로 더 적을 수 있다. 예를 들어, 제어기(50)가 도 2 및 5에 도시된 바와 같은 블록 복사를 완료하기 위해 요구되는 시간보다 실질적으로 더 적은, 3.8 밀리초에 배포되는 블록 복사 동작을 완료할 수 있다.
도 6b는 이 명세서에서의 실시예들에 따라 단일의 메모리 디바이스로부터 다수의 메모리 디바이스들로 데이터를 복사하는 것을 예시하는 예시적인 플로우차트(699)이다.
단계(900)에 있어서, 목표 메모리 디바이스(501)와 같은 제1 목표 어드레스에 대해서, 제어기(50)는 부여된 목표 디바이스의 바이패스 기능을 인에이블시키기 위해 ‘기입 구성 레지스터’ 커맨드 및 ‘기입 데이터 패킷’ 커맨드를 발행한다. 이것은 브로드캐스트 커맨드를 송신하는 것을 통해 달성될 수 있다.
단계(901)에서, 메모리 제어기(50)는 ‘페이지 판독’ 커맨드 패킷을 부여된 소스 메모리 디바이스(예컨대, 메모리 디바이스(500))로 발행한다.
단계(902)에서, 메모리 제어기(50)는 ‘버스트 데이터 로드 시작’ 커맨드를 목표 메모리 디바이스로 발행한다.
단계(903)에서, 메모리 제어기(50)는 ‘버스트 데이터 판독’ 커맨드 패킷을 부여된 소스 메모리 디바이스(예컨대, 메모리 디바이스(500))로 발행한다.
단계(904)에서, 메모리 제어기(50)가 그 다음으로 메모리 디바이스(500)로부터 부여된 목표 디바이스로 전송되는 페이지의 길이(예컨대, 8 킬로바이트)에 대한 DSI를 어서트한다. 데이터 전송의 길이는 단일 비트 내지 다수의 바이트와 같은 정보의 임의의 수의 비트일 수 있다는 것에 다시 주목한다.
단계(905)에서, DSI 신호의 어서션 또는 활성화에 기초하여, 메모리 디바이스(500)는, 메모리 디바이스(500)의 페이지 버퍼내의 데이터를 목표 메모리 디바이스(예컨대, 메모리 디바이스(501))의 페이지 버퍼로 전송하기 위해 ‘판독 데이터 패킷’의 전송을 시작한다.
단계(906)에서, 목표 메모리 디바이스는, ‘판독 데이터 패킷’을 ‘기입 데이터 패킷’으로서 수신하여, 페이지 버퍼에 기입하고, 그것을 계속되는 ‘판독 데이터 패킷’으로서 바이패스한다.
단계(907)에서, 메모리 제어기(50)는, 메모리 디바이스(500)로부터 목표 메모리 디바이스로의 데이지-체인 상의 데이터 패스에 ECC(에러 교정 부호) 동작을 적용한다.
단계(908)에서, 제어기(50)는 소스 메모리 디바이스로부터 목표 메모리 디바이스로 전송되는 데이터에 에러가 있는지의 여부를 체크한다. 만약, ECC 동작이 전송되는 데이터내의 에러의 존재를 검출하면, 흐름은 단계(709)에서 계속된다.
단계(909)에서, 제어기(50)는 버스트 데이터 로드 커맨드를 목표 디바이스에 발행하는 것에 의해 제어기(50)로부터 데이터를 수신하도록 목표 메모리 디바이스를 구성한다.
단계(910)에서, 제어기(50)는 (예컨대, 제어기(50)의 ECC 기능으로부터) 교정된 데이터를 데이지-체인 링크상에서 목표 메모리 디바이스의 페이지 버퍼로 송신한다. 따라서, 제어기(50)는 페이지 버퍼내의 데이터를 수정한다.
단계(908)에서, ECC 동작을 완료한 후 그리고 목표 메모리 디바이스의 페이지 버퍼에 저장된 데이터에 초기부터 에러가 없었거나 더 이상 에러가 없다고 가정하면, 흐름은 단계(911)에서 계속된다.
단계(911)에서, 메모리 제어기(50)는 ‘페이지 프로그램’ 커맨드 패킷을 목표 메모리 디바이스에 발행한다. 커맨드를 수신한 것에 응답하여, 목표 메모리 디바이스는 페이지 버퍼내의 데이터를 선택된 페이지 장소에 기입하기 시작한다.
단계(912)에서, 제어기(50)는 소스 메모리 디바이스로부터 다른 목표 메모리 디바이스로 복사될 데이터의 추가적인 페이지들이 있는지의 여부를 체크한다. 그렇다면, 메모리 제어기(50)는 복사될 각각의 추가적인 페이지에 대해서 단계(901) 내지 단계(912)의 반복을 일으키는 단계(913)를 실행한다. 이러한 식으로, 제어기(50)는 소스 메모리 디바이스로부터 연속적인 목표 메모리 디바이스들로의 연속적인 페이지의 복사를 시작할 수 있다. 복사될 페이지의 수는 임의의 값일 수 있다. 본 예시에 있어서는, 메모리 디바이스(500)로부터 128 목표 메모리 디바이스들로 복사되는 데이터의 128 페이지가 있다.
만약, 제어기(50)가 복사될 추가적인 페이지가 없다는 것을 검출하면, 제어기(50)는 단계(714)로 진행한다.
도 7은 이 명세서에서의 실시예들에 따른 커맨드 및 어드레스 패킷의 발행 동안의, 확대 도시된 개개의 메모리 디바이스내의 신호들(예컨대, 클럭, DSI, DSO, CSI, CSO, Dn 및 Qn)을 예시하는 예시적인 타이밍이다. “커맨드 및 어드레스 패킷”은 디바이스 어드레스(DA), 커맨드(CMD), 및/또는 어드레스(ADDR) 정보를 포함한다는 것에 주목한다. 이전에 논의된 바와 같이, 메모리 디바이스들은 이러한 정보를 복호화하여, 커맨드가 수신 메모리 디바이스에 의해 실행될 지의 여부를 식별한다. 하기의 표 2는 커맨드 및 어드레스 패킷들과 관련된 비트 정의의 예시이다.
[표 2] 커맨드 및 어드레스 패킷 순서의 예시
Figure 112010018976949-pct00002
(*DA = 디바이스 어드레스, RA = 로우(row) 어드레스, CA = 칼럼(column) 어드레스)
도 8은 이 명세서에서의 실시예들에 따른 기입 데이터 패킷의 발행 동안의, 확대 도시된 메모리 디바이스내의 신호들(예컨대, 클럭, DSI, DSO, CSI, CSO, Dn 및 Qn)을 예시하는 예시적인 타이밍도이다. 본 예시에서의 개개의 메모리 디바이스는 절전을 위해 비통과 모드(예컨대, 바이패스 모드가 디스에이블됨)로 설정되어 있다는 것에 주목한다. 따라서, 데이터 패킷은 데이지-체인의 데이터 링크를 통과하지 않는다.
도 9는 이 명세서에서의 실시예들에 따른 기입 데이터 패킷의 발행 동안의, 확대 도시된 메모리 디바이스내의 신호들(예컨대, 클럭, DSI, DSO, CSI, CSO, Dn 및 Qn)을 예시하는 예시적인 타이밍도이다. 개개의 메모리 디바이스가 통과 모드(예컨대, 바이패스 모드가 인에이블됨)로 설정되어 있음으로써, 개개의 메모리 디바이스에 의해 수신된 데이터 패킷이 데이터 링크를 하향하여 연속적인 메모리 디바이스 또는 제어기와 같은 목적지로 “패스”된다는 것에 주목한다. 따라서, 데이터 패킷은 (적어도 개개의 메모리 디바이스에 대해서) 데이지-체인의 데이터 링크를 통해 하향한다.
도 10은 이 명세서에서의 실시예들에 따른 판독 데이터 패킷의 발행 동안의, 확대 도시된 메모리 디바이스내의 신호들(예컨대, 클럭, DSI, DSO, CSI, CSO, Dn 및 Qn)을 예시하는 예시적인 타이밍도이다. 도시된 바와 같이, 개개의 메모리 디바이스가 DSI를 통해 판독 모드에 놓여있을 때, 메모리 디바이스는 연속적인 메모리 디바이스로 데이터를 출력하기 시작한다.
상기의 도 7 내지 10의 논의와 관련된 추가적인 정보는 2007년 7월 18일자로 출원된 “MEMORY WITH DATA CONTROL,”라는 제목의 관련 미국 장치 특허 출원 제11/779,587호에서 찾을 수 있다는 것에 주목한다.
도 11은 이 명세서에서의 실시예들에 따른 액세스 제어 모듈(140)(예컨대, 액세스 제어 어플리케이션(140-1) 및/또는 액세스 제어 처리(140-2))을 구현하기 위한 개개의 제어기(102)의 예시적인 아키텍처의 블록도이다. 일 실시예에 있어서, 액세스 제어 어플리케이션(140-1)은 이 명세서에서 기술된 바와 같은 복사 동작들을 실행하기 위해 제어기(102)에 의해 실행되는 명령들의 순서일 수 있다. 일 실시예에 있어서, 액세스 제어 처리(140-2)는 액세스 제어 어플리케이션(140-1)을 실행한 결과로서 제어기(102)에 의해 제공되는 기능성 및/또는 방법을 나타낸다.
제어기(102)는 이 명세서에 기술된 바와 같은 제어 동작들을 실행하기 위해 명령들을 실행하는, 디지털 신호 프로세서, 컴퓨터 등과 같은 컴퓨터화된 디바이스일 수 있다.
하기의 논의는 액세스 제어 모듈(140)과 관련된 기능성을 실행하는 방법을 나타내는 기본 실시예를 제공한다는 것에 주목한다. 액세스 제어 모듈(140)을 실행하기 위한 실제적인 구성은 개개의 어플리케이션에 따라 변화될 수 있다는 것에 주목해야 한다. 예를 들어, 제어기(102) 및 대응 기능성은 하드웨어를 통하는 소프트웨어로서, 또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다.
도시된 예시적인 실시예에 있어서, 본 예시의 제어기(102)는 메모리 시스템(1112)을 프로세서(1113)에 결합시키는 상호 연결(111)을 포함한다. 통신 인터페이스(1131)는, 제어기(102)로 하여금 메모리 디바이스들(110)에 관한 블록 복사 동작들을 실행하기 위한 요청들과 같은 입력을 수신할 수 있게 한다.
도시된 바와 같이, 메모리 시스템(1112)은 앞서 논의된 바와 같은 그리고 하기에서 더 논의되는 바와 같은 액세스 제어를 지원하는 액세스 제어 어플리케이션(140-1)과 더불어 부호화된다. 액세스 제어 어플리케이션(140-1)은, 이 명세서에서 기술된 상이한 실시예들에 따른 처리 기능성을 지원하는 데이터 및/또는 논리 명령들과 같은 소프트웨어 부호(예컨대, 메모리 또는 디스크와 같은 다른 컴퓨터 판독 가능 매체에 저장된 부호)로서 실시될 수 있다. 일 실시예에의 동작 동안에, 프로세서(1113)는, 액세스 제어 어플리케이션(140-1)의 논리 명령들을 런치(launch), 런(run), 실행, 인터프리트(interpret) 또는 그 외의 실행을 하기 위해 상호 연결(111)의 사용을 통해 메모리 시스템(1112)을 액세스한다. 액세스 제어 어플리케이션(140-1)의 실행은 액세스 제어 처리(140-2)내의 처리 기능성을 생성한다. 환언하면, 액세스 제어 처리(140-2)는 제어기(102)내의 프로세서(1113)상에서 또는 그 내부에서 실행하는 액세스 제어 모듈(140)의 하나 이상의 부분을 나타낸다.
이 명세서에서 논의되는 바와 같은 방법 동작을 실행하는 액세스 제어 처리(140-2)에 더하여, 이 명세서의 다른 실시예들이 그 자체의 액세스 제어 어플리케이션(140-1)(즉, 미 실행 또는 미 실시 논리 명령들 및/또는 데이터)을 포함한다는 것에 주목해야 한다. 액세스 제어 어플리케이션(140-1)은 플로피 디스크, 하드 디스크 또는 광학 매체에서와 같은 컴퓨터 판독 가능 매체(예컨대, 저장소)에 저장될 수 있다. 다른 실시예들에 따르면, 액세스 제어 어플리케이션(140-1)은, 펌웨어, 판독 전용 메모리(ROM)에서와 같은 메모리 타입 시스템내에 저장될 수도 있고, 또는, 본 예시에서와 같이, 메모리 시스템(1112)내에(예컨대, 랜덤 액세스 메모리 또는 RAM내에) 실행 가능 부호로서 저장될 수도 있다.
이들 실시예들에 더하여, 이 명세서의 다른 실시예들이, 액세스 제어 처리(140-2)로서 프로세서(1113)내의 액세스 제어 어플리케이션(140-1)의 실행을 포함한다는 것에 또한 주목해야 한다. 따라서, 당업자는 제어기(102)가, 하드웨어 자원의 사용 및 할당을 제어하는 운영 체계와 같은, 다른 처리 및/또는 소프트웨어 및 하드웨어 구성 요소들을 포함할 수 있다는 것을 이해할 것이다.
액세스 제어 모듈(140)에 의해 지원되는 기능성은 도 12에서의 플로우차트를 통해 이제 논의될 것이다.
도 12는 이 명세서에서의 실시예들에 따른 블록 복사 동작을 예시하는 예시적인 플로우차트(1200)의 도면이다. 도 12에서의 플로우차트(1200)의 단계들을 참조하는 것에 더하여, 도 1에서의 메모리 시스템(100)에 관하여 참조가 이루어질 것이다.
단계(1210)에서, 제어기(102)는, 다수의 데이지-체인의 메모리 디바이스들 중 제1 메모리 디바이스(예컨대, 도 1b에서의 메모리 디바이스(110-1))를 제1 메모리 디바이스에 저장된 데이터를 출력하기 위한 소스가 되게끔 구성하도록 데이지-체인 제어 링크(150)상에서 통신한다.
본 예시에 대한 대안으로서, 제어기(102)가, 메모리 디바이스(110-M)를 소스 메모리 디바이스가 되게끔 선택하고 메모리 디바이스(110-1)를 목표 메모리 디바이스가 되게끔 선택할 수 있다는 것에 주목한다. 그러한 실시예에 있어서, 데이터는 제어기(102)를 통해 목표로 전송될 것이다.
메모리 디바이스(110-1)가 자원이고 메모리 디바이스(110-M)가 목표인 본 예시를 다시 참조하여 보면, 제어기(102)는 다수의 메모리 디바이스들(110) 중 제2 메모리 디바이스(예컨대, 도 1b에서의 메모리 디바이스(110-M))를 데이터 수신을 위한 목적지가 되게끔 구성하도록 데이지-체인 제어 링크(150)상에서 통신한다.
단계(1220)에서, 제어기(102)는 데이터 링크(160)상의 데이터의 데이지-체인 방식으로의 다수의 연속적인 메모리 디바이스들(110)을 통한 패스를 가능케 하도록 제어 링크(150)상에서 통신한다. 예를 들어, 제어기(102)가 소스 메모리 디바이스와 목표 메모리 디바이스 사이의 중간 메모리 디바이스(110)를 통과 모드로 설정함으로써, 메모리 디바이스(110-1)로부터의 데이터가 데이터 링크(160)상에서 목표 디바이스로 송신될 수 있다. 메모리 디바이스(110-M)가 통과 모드로 또한 설정될 수 있고, 그래서 제어기(102)가 소스 메모리 디바이스로부터 목표 메모리 디바이스로 전송되는 데이터를 모니터할 수 있다.
단계(1225)에서, 제어기(102)는 소스 메모리 디바이스(110-1)로부터 목표 메모리 디바이스(110-M)로의 데이터의 전송을 시작하도록 데이지-체인 제어 링크(150)상에서 통신한다.
단계(1230)에서, 제어기(102)는 소스 메모리 디바이스(110-1)로부터 다수의 연속적인 메모리 디바이스들(110)을 통해 목표 메모리 디바이스(110-M)로 패스되는 데이터를 수신하도록 데이터 링크를 모니터한다.
단계(1235)에서, 제어기(102)는, 제1 메모리 디바이스로부터 제2 메모리 디바이스로 전송되는 데이터가 관련 에러를 갖는지의 여부를 식별하도록 수신되는 데이터에 에러 교정 기능을 적용한다.
단계(1240)에서, 에러 교정 기능의 적용에 기초하여 수신된 데이터에 관한 에러를 검출한 것에 응답하여, 제어기(102)는 코어 메모리에 데이터를 기입하기 전에 제어 메모리 디바이스의 버퍼내의 데이터의 수정을 시작한다.
단계(1245)에서, 버퍼내의 데이터의 교정 후에, 제어기(102)는, 개개의 페이지 버퍼내의 데이터를 목표 메모리 디바이스(110-M)과 관련된 코어 메모리의 지정된 메모리 장소로 기입하기 위해 목표 메모리 디바이스(110-M)과 통신한다.
기술된 실시예들의 특정 적용 및 변형들이 만들어질 수 있다. 따라서, 앞서 논의된 실시예들은 예시적인 것으로 간주되며 한정적인 것으로는 간주되지 않는다.

Claims (34)

  1. 제1 메모리 디바이스 및 제2 메모리 디바이스를 포함하는 복수의 메모리 디바이스;
    제어기를 포함하는 메모리 시스템으로서,
    상기 제어기 및 상기 복수의 메모리 디바이스는, 상기 메모리 디바이스들을 통해 데이터의 전파를 허용하도록 직렬로 연결되고,
    상기 제어기는:
    상기 제1 메모리 디바이스를, 상기 제1 메모리 디바이스에 저장된 데이터를 출력하기 위한 소스가 되도록 구성하고;
    상기 제2 메모리 디바이스를, 데이터를 수신하기 위한 목적지가 되도록 구성하며;
    상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로의 데이터의 전송을 시작시키고;
    상기 메모리 시스템은 상기 복수의 메모리 디바이스를 통하는 데이터 링크를 더 포함하며, 상기 제어기는, 상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스를 통해 상기 제어기로 되돌아가는 상기 데이터 링크상의 데이터의 패스를 가능케 하도록 제어 링크상에서 통신을 시작하도록 구성되며, 상기 제어기는, 데이터가 상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로 전송됨에 따라, 상기 데이터 링크 상의 데이터를 모니터 및 수신하도록 구성되고,
    상기 메모리 시스템은 상기 제어기에서 수신되는 데이터에 에러 교정 기능을 적용하도록 구성된 에러 검출기 회로를 더 포함하고, 상기 에러 교정 기능은 상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로 전송된 데이터가 에러를 갖는지의 여부를 식별하도록 구성되며,
    상기 메모리 시스템은 데이터가 상기 제2 메모리 디바이스와 관련된 메모리 장소에 저장되기 전에 데이터를 임시로 저장하기 위한 상기 제2 메모리 디바이스내의 버퍼를 더 포함하며, 상기 에러 검출 회로는, 상기 버퍼내의 데이터를 상기 제2 메모리 디바이스와 관련된 메모리 장소에 기입하기 전에, 에러를 검출한 것에 응하여 상기 버퍼내의 데이터를 수정하도록 상기 제어 링크상에서 통신하도록 구성되는, 메모리 시스템.
  2. 청구항 1에 있어서,
    상기 제어기는 상기 제1 메모리 디바이스의 입력에서의 수신을 위한 커맨드를 송신하도록 구성되고, 상기 제1 메모리 디바이스는 커맨드를 상기 제2 메모리 디바이스의 입력으로 출력하도록 구성되는, 메모리 시스템.
  3. 청구항 1에 있어서,
    상기 제어기는 제1 설정 명령을 제어 링크상에 출력하도록 구성되고, 상기 제1 설정 명령은, 상기 제어기에 의해 지정되는 대로, 상기 제1 메모리 디바이스의 메모리 장소로부터 데이터를 판독하게끔 상기 제1 메모리 디바이스를 구성하도록, 상기 제1 메모리 디바이스에 어드레스되며(addressed);
    상기 제어기는 제2 설정 명령을 상기 제어 링크상에서 상기 제1 메모리 디바이스를 통해 상기 제2 메모리 디바이스에 출력하도록 구성되며, 상기 제2 설정 명령은, 상기 제어기에 의해 지정되는 대로, 상기 제2 메모리 디바이스의 메모리 장소에 기입을 실행하기 위해 상기 제2 메모리 디바이스를 구성하도록, 상기 제2 메모리 디바이스에 어드레스되는, 메모리 시스템.
  4. 청구항 1에 있어서,
    상기 제1 메모리 디바이스로부터의 데이터의, 상기 제1 메모리 디바이스와 상기 제2 메모리 디바이스 사이의 중간 메모리 디바이스를 통한, 상기 제2 메모리 디바이스로의 송신을 가능케 하는 링크를 더 포함하는, 메모리 시스템.
  5. 청구항 1에 있어서,
    상기 제어기는, 상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로의 데이터의 전송 후에, 상기 제2 메모리 디바이스와 관련된 메모리 장소에 상기 데이터의 기입을 시작하도록 링크상에서 커맨드를 통신하도록 구성되는, 메모리 시스템.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제1 메모리 디바이스 및 제2 메모리 디바이스를 포함하는 복수의 메모리 디바이스;
    제어기를 포함하는 메모리 시스템으로서,
    상기 제어기 및 상기 복수의 메모리 디바이스는, 상기 메모리 디바이스들을 통해 데이터의 전파를 허용하도록 직렬로 연결되고,
    상기 제어기는:
    상기 제1 메모리 디바이스를, 상기 제1 메모리 디바이스에 저장된 데이터를 출력하기 위한 소스가 되도록 구성하고;
    상기 제2 메모리 디바이스를, 데이터를 수신하기 위한 목적지가 되도록 구성하며;
    상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로의 데이터의 전송을 시작시키고;
    상기 메모리 시스템은 상기 복수의 메모리 디바이스를 통하는 데이터 링크를 더 포함하고,
    상기 복수의 메모리 디바이스는 제3 메모리 디바이스를 포함하며,
    상기 제3 메모리 디바이스는 데이터를 수신하기 위한 다른 목적지가 되도록 구성될 수 있고,
    상기 제2 메모리 디바이스는 상기 데이터 링크의 수신된 데이터를 저장함과 더불어 상기 데이터 링크상의 수신된 데이터를 상기 제3 메모리 디바이스에 패스하도록 구성되며,
    상기 제어기는, 상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로의 데이터의 전송과 동시에 상기 제1 메모리 디바이스로부터 상기 제3 메모리 디바이스로의 상기 데이터 링크상의 데이터의 전송을 시작시키는, 메모리 시스템.
  10. 제1 메모리 디바이스 및 제2 메모리 디바이스를 포함하는 복수의 메모리 디바이스;
    제어기를 포함하는 메모리 시스템으로서,
    상기 제어기 및 상기 복수의 메모리 디바이스는, 상기 메모리 디바이스들을 통해 데이터의 전파를 허용하도록 직렬로 연결되고,
    상기 제어기는:
    상기 제1 메모리 디바이스를, 상기 제1 메모리 디바이스에 저장된 데이터를 출력하기 위한 소스가 되도록 구성하고;
    상기 제2 메모리 디바이스를, 데이터를 수신하기 위한 목적지가 되도록 구성하며;
    상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로의 데이터의 전송을 시작시키고;
    상기 메모리 시스템은 상기 복수의 메모리 디바이스를 통하는 링-연결 데이터 링크를 더 포함하고,
    상기 복수의 메모리 디바이스는 제3 메모리 디바이스를 포함하며,
    상기 제어기는, 상기 제2 메모리 디바이스내에서의 데이터의 제1 부분의 저장을 위해, 상기 제1 메모리 디바이스로부터 상기 데이터 링크상의 상기 데이터의 제1 부분의 패스를 시작하도록 제어 링크상에서 통신하도록 구성되고,
    상기 제어기는, 상기 제3 메모리 디바이스내에서의 데이터의 제2 부분의 저장을 위해, 상기 제2 메모리 디바이스로부터 상기 데이터 링크상의 상기 데이터의 제2 부분의 패스를 시작하도록 상기 제어 링크상에서 통신하도록 구성되는, 메모리 시스템.
  11. 복수의 메모리 디바이스 중의 제1 메모리 디바이스를 상기 제1 메모리 디바이스에 저장된 데이터를 출력하기 위한 소스가 되게끔 구성하도록 상기 복수의 메모리 디바이스를 통과하는 링-연결 링크상에서 통신하는 단계;
    상기 복수의 메모리 디바이스 중의 제2 메모리 디바이스를 데이터 수신을 위한 목적지가 되게끔 구성하도록 상기 링-연결 링크상에서 통신하는 단계; 및
    상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로의 데이터의 전송을 시작하도록 상기 링-연결 링크상에서 통신하는 단계를 포함하고,
    상기 복수의 메모리 디바이스를 통과하는 데이터 링크상의 데이터의 패스를 가능케 하도록 링-연결 링크상에서 통신을 시작하는 단계;
    상기 복수의 메모리 디바이스를 통과하는 데이터를 수신하도록 상기 데이터 링크를 모니터하는 단계; 및
    상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로 전송된 데이터가 에러를 갖는지의 여부를 식별하기 위해 상기 수신된 데이터에 에러 교정 기능을 적용하는 단계를 더 포함하고,
    상기 데이터의 전송을 시작하도록 링-연결 링크상에서 통신하는 단계는 데이터를 상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스와 관련된 버퍼로 전송시키며,
    상기 에러 교정 기능의 적용에 기초하여 상기 수신된 데이터에 관한 에러를 검출한 것에 응하여, 상기 버퍼내의 데이터를 상기 제2 메모리 디바이스와 관련된 메모리 장소에 기입하기 전에 상기 버퍼내의 데이터의 수정을 시작하는 단계를 더 포함하는, 방법.
  12. 청구항 11에 있어서,
    상기 제1 메모리 디바이스를 구성하도록 링-연결 링크상에서 통신하는 단계는, 상기 제1 메모리 디바이스의 입력에 커맨드를 송신하는 단계를 포함하고, 상기 제1 메모리 디바이스는 그 다음에 상기 커맨드를 상기 링-연결의 상기 제2 메모리 디바이스의 입력에 출력하는, 방법.
  13. 청구항 11에 있어서,
    상기 제1 메모리 디바이스를 구성하도록 링-연결 링크상에서 통신하는 단계는, 상기 제1 메모리 디바이스내의 메모리 장소로부터 데이터를 판독하도록 상기 제1 메모리 디바이스를 구성하기 위해 상기 링-연결 링크상으로, 상기 제1 메모리 디바이스에 어드레스되는, 적어도 하나의 설정 명령을 출력하는 단계를 포함하고,
    상기 제2 메모리 디바이스를 구성하도록 링-연결 링크상에서 통신하는 단계는, 상기 제2 메모리 디바이스내의 메모리 장소로의 기입을 실행하기 위해 상기 제2 메모리 디바이스를 구성하도록 상기 링-연결 링크상으로, 상기 제2 메모리 디바이스에 어드레스되는, 적어도 하나의 설정 명령을 출력하는 단계를 포함하는, 방법.
  14. 청구항 11에 있어서,
    상기 전송을 시작하도록 링-연결 링크상에서 통신하는 단계는, 상기 제1 메모리 디바이스로부터, 상기 제1 메모리 디바이스와 상기 제2 메모리 디바이스 사이의 중간 메모리 디바이스를 통해, 상기 제2 메모리 디바이스로 상기 복수의 메모리 디바이스를 통과하는 데이터 링크상의 데이터의 송신을 시작하도록 상기 링-연결 링크상에서 통신하는 단계를 포함하는, 방법.
  15. 청구항 11에 있어서,
    상기 제1 메모리 디바이스로부터 제2 메모리 디바이스로의 데이터의 전송을 시작하도록 링-연결 제어 링크상에서 통신하는 단계는;
    상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로의 데이터의 전송 후에 상기 제2 메모리 디바이스와 관련된 메모리 장소로의 데이터의 기입을 시작하도록 상기 링-연결 링크상에서 통신하는 단계를 포함하는, 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 복수의 메모리 디바이스 중의 제1 메모리 디바이스를 상기 제1 메모리 디바이스에 저장된 데이터를 출력하기 위한 소스가 되게끔 구성하도록 상기 복수의 메모리 디바이스를 통과하는 링-연결 링크상에서 통신하는 단계;
    상기 복수의 메모리 디바이스 중의 제2 메모리 디바이스를 데이터 수신을 위한 목적지가 되게끔 구성하도록 상기 링-연결 링크상에서 통신하는 단계; 및
    상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로의 데이터의 전송을 시작하도록 상기 링-연결 링크상에서 통신하는 단계를 포함하고,
    상기 복수의 메모리 디바이스 중 제3 메모리 디바이스를 상기 제1 메모리 디바이스로부터 데이터를 수신하기 위한 다른 목적지가 되게끔 구성하도록 상기 링-연결 링크상에서 통신하는 단계를 더 포함하고,
    상기 전송을 시작하도록 링-연결 링크상에서 통신하는 단계는 상기 제1 메모리 디바이스로부터 상기 제3 메모리 디바이스로의 데이터의 송신을 시작하는 단계를 포함하는, 방법.
  20. 복수의 메모리 디바이스 중의 제1 메모리 디바이스를 상기 제1 메모리 디바이스에 저장된 데이터를 출력하기 위한 소스가 되게끔 구성하도록 상기 복수의 메모리 디바이스를 통과하는 링-연결 링크상에서 통신하는 단계;
    상기 복수의 메모리 디바이스 중의 제2 메모리 디바이스를 데이터 수신을 위한 목적지가 되게끔 구성하도록 상기 링-연결 링크상에서 통신하는 단계; 및
    상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스로의 데이터의 전송을 시작하도록 상기 링-연결 링크상에서 통신하는 단계를 포함하고,
    상기 복수의 메모리 디바이스 중 제3 메모리 디바이스를 상기 제1 메모리 디바이스로부터 데이터를 수신하기 위한 다른 목적지가 되게끔 구성하도록 상기 링-연결 링크상에서 통신하는 단계를 더 포함하고,
    상기 데이터의 전송을 시작하도록 제어 링크상에서 통신하는 단계는;
    상기 제1 메모리 디바이스로부터 상기 제2 메모리 디바이스의 메모리 장소로의 데이터의 제1 부분의 저장을 시작하도록 상기 링-연결 링크상에서 통신하는 단계; 및
    상기 제1 메모리 디바이스로부터 상기 제3 메모리 디바이스의 메모리 장소로의 데이터의 제2 부분의 저장을 시작하도록 상기 링-연결 링크상에서 통신하는 단계를 포함하는, 방법.
  21. 데이터를 저장하기 위한 메모리;
    상류(upstream)의 메모리 디바이스로부터 데이터를 수신하기 위한 입력;
    하류(downstream)의 메모리 디바이스로 데이터를 송신하기 위한 출력; 및
    상기 입력과 상기 출력 사이의 회로로서, 원거리의 소스로부터 구성 커맨드들을 수신하고, 상기 원거리의 소스에 의한 대응 모드의 선택에 기초하여, 상기 하류의 메모리 디바이스로의 상기 출력상의 송신을 위해 상기 메모리에 저장된 데이터를 검색하도록 구성되는 회로를 포함하고,
    상기 입력은 제1 입력이고 상기 출력은 제1 출력이며, 상기 메모리 디바이스는,
    상기 상류의 메모리 디바이스로부터 커맨드들을 수신하도록 구성된 제2 입력;
    수신된 커맨드들을 상기 하류의 메모리 디바이스로 전달하도록 구성된 제2 출력; 및
    상기 제2 입력과 상기 제2 출력 사이의 디코딩 회로로서, 상기 제2 입력으로부터 수신되는 커맨드들을 상기 제2 출력으로 전달하고 수신된 커맨드들 중 어느 것이 실행을 위해 상기 메모리 디바이스에 어드레스되는지를 식별하도록 구성되는 디코딩 회로를 더 포함하는, 메모리 디바이스.
  22. 청구항 21에 있어서,
    상기 회로는, 대응 모드의 선택에 기초하여, 상기 입력을 모니터하고, 상기 하류의 메모리 디바이스로의 상기 출력상의 송신을 위해 상기 상류의 메모리 디바이스로부터 데이터를 수신하도록 구성되는, 메모리 디바이스.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
KR1020107006531A 2007-08-29 2008-08-27 데이지-체인 메모리 구성 및 용법 KR101507192B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/897,105 US20090063786A1 (en) 2007-08-29 2007-08-29 Daisy-chain memory configuration and usage
US11/897,105 2007-08-29
PCT/CA2008/001512 WO2009026696A1 (en) 2007-08-29 2008-08-27 Daisy-chain memory configuration and usage

Publications (2)

Publication Number Publication Date
KR20100075860A KR20100075860A (ko) 2010-07-05
KR101507192B1 true KR101507192B1 (ko) 2015-03-31

Family

ID=40386615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107006531A KR101507192B1 (ko) 2007-08-29 2008-08-27 데이지-체인 메모리 구성 및 용법

Country Status (8)

Country Link
US (1) US20090063786A1 (ko)
EP (1) EP2183748A4 (ko)
JP (2) JP2010537326A (ko)
KR (1) KR101507192B1 (ko)
CN (1) CN101836258A (ko)
CA (1) CA2695396A1 (ko)
TW (1) TW200931266A (ko)
WO (1) WO2009026696A1 (ko)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7721010B2 (en) * 2007-10-31 2010-05-18 Qimonda North America Corp. Method and apparatus for implementing memory enabled systems using master-slave architecture
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
US8134852B2 (en) * 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US8200925B2 (en) * 2008-10-31 2012-06-12 Mosaid Technologies Incorporated Data mirroring in serial-connected memory system
US8549209B2 (en) 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US20100180182A1 (en) * 2009-01-09 2010-07-15 Seagate Technology Llc Data memory device and controller with interface error detection and handling logic
US8045356B2 (en) * 2009-02-27 2011-10-25 Micron Technology, Inc. Memory modules having daisy chain wiring configurations and filters
GB0910388D0 (en) * 2009-06-16 2009-07-29 Icera Inc Data transmission
US8521980B2 (en) 2009-07-16 2013-08-27 Mosaid Technologies Incorporated Simultaneous read and write data transfer
US8700845B1 (en) * 2009-08-12 2014-04-15 Micron Technology, Inc. Daisy chaining nonvolatile memories
US8463959B2 (en) * 2010-05-31 2013-06-11 Mosaid Technologies Incorporated High-speed interface for daisy-chained devices
KR101196907B1 (ko) 2010-10-27 2012-11-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
CN102568570B (zh) * 2010-12-07 2016-04-27 上海华虹集成电路有限责任公司 基于sd接口使用环形队列快速写闪存介质的方法
MX2013007360A (es) * 2010-12-22 2014-01-08 Ge Energy Power Conversion Technology Ltd Arquitectura de comunicaciones para proporcionar comunicacion de datos, sincronizacion y deteccion de fallas entre modulos aislados.
JP5829811B2 (ja) * 2011-01-11 2015-12-09 株式会社日立メディコ 放射線検出システム及びx線ct装置
US20130094271A1 (en) * 2011-08-22 2013-04-18 Mosaid Technologies Incorporated Connection of multiple semiconductor memory devices with chip enable function
KR101272040B1 (ko) * 2011-08-26 2013-06-07 주식회사 에이디텍 클러스터 시스템의 클럭신호 손실 방지 회로
CN102411548B (zh) * 2011-10-27 2014-09-10 忆正存储技术(武汉)有限公司 闪存控制器以及闪存间数据传输方法
US8825967B2 (en) * 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
KR20130107841A (ko) * 2012-03-23 2013-10-02 삼성전자주식회사 메모리 시스템
US20130339638A1 (en) * 2012-06-19 2013-12-19 Tal Lazmi Status polling of memory devices using an independent status bus
US20140122777A1 (en) * 2012-10-31 2014-05-01 Mosaid Technologies Incorporated Flash memory controller having multi mode pin-out
US9501437B2 (en) * 2012-11-15 2016-11-22 Empire Technology Development Llc Scalable storage system having multiple storage channels
WO2015029406A1 (ja) * 2013-08-29 2015-03-05 セイコーエプソン株式会社 送信システム、送信装置、及び、データ送信方法
US20150103593A1 (en) * 2013-10-14 2015-04-16 Skymedi Corporation Method of Writing Data in Non-Volatile Memory and Non-Volatile Storage Device Using the Same
US9684465B2 (en) * 2014-03-28 2017-06-20 International Business Machines Corporation Memory power management and data consolidation
US9641616B2 (en) * 2014-07-10 2017-05-02 Kabushiki Kaisha Toshiba Self-steering point-to-point storage protocol
CN104360977B (zh) * 2014-12-10 2018-02-06 浪潮(北京)电子信息产业有限公司 一种管理高速串行传输接口的方法及系统
US20160179726A1 (en) * 2014-12-17 2016-06-23 Qualcomm Incorporated Programming hardware registers using a pipelined register bus, and related methods, systems, and apparatuses
US9678159B2 (en) * 2015-03-04 2017-06-13 Cavium, Inc. Communication and control topology for efficient testing of sets of devices
US20170141878A1 (en) * 2015-11-16 2017-05-18 Western Digital Technologies, Inc. Systems and methods for sending data from non-volatile solid state devices before error correction
KR20180032733A (ko) 2016-09-22 2018-04-02 삼성전자주식회사 직렬로 연결되는 스토리지 장치들의 상이한 특성들을 보상하도록 구성되는 전자 장치, 및 그것에 포함되는 스토리지 장치
US10339050B2 (en) * 2016-09-23 2019-07-02 Arm Limited Apparatus including a memory controller for controlling direct data transfer between first and second memory modules using direct transfer commands
KR20180034778A (ko) * 2016-09-27 2018-04-05 삼성전자주식회사 직렬로 연결되는 스토리지 장치들 중 직접 연결되지 않은 스토리지 장치로의 바이패스 경로를 제공하도록 구성되는 전자 장치, 그것에 포함되는 스토리지 장치, 그것을 포함하는 컴퓨팅 시스템, 및 그것을 이용하여 통신하는 방법
KR20180038109A (ko) 2016-10-05 2018-04-16 삼성전자주식회사 모니터링 회로를 포함하는 전자 장치 및 그것에 포함되는 스토리지 장치
US10613766B1 (en) * 2017-07-27 2020-04-07 EMC IP Holding Company LLC Data replication techniques
KR102517344B1 (ko) * 2017-12-20 2023-04-03 삼성전자주식회사 병렬 처리 시스템 및 그 동작 방법
US10423558B1 (en) * 2018-08-08 2019-09-24 Apple Inc. Systems and methods for controlling data on a bus using latency
CN112286842B (zh) * 2019-07-22 2023-07-04 苏州库瀚信息科技有限公司 用于存储器控制器与存储器设备互连的总线
US11017842B2 (en) * 2019-08-29 2021-05-25 Micron Technology, Inc. Copy data in a memory system with artificial intelligence mode
US11416422B2 (en) 2019-09-17 2022-08-16 Micron Technology, Inc. Memory chip having an integrated data mover
US11163490B2 (en) 2019-09-17 2021-11-02 Micron Technology, Inc. Programmable engine for data movement
US11397694B2 (en) 2019-09-17 2022-07-26 Micron Technology, Inc. Memory chip connecting a system on a chip and an accelerator chip
US11425102B2 (en) 2019-10-14 2022-08-23 Michael Steven Voss Air gap system and method using out of band signaling
KR20210103228A (ko) * 2020-02-13 2021-08-23 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US11847338B2 (en) * 2020-07-29 2023-12-19 Micron Technology, Inc. Master slave managed memory storage
KR20220030403A (ko) 2020-08-31 2022-03-11 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 및 메모리 컨트롤러의 동작 방법
US20230222081A1 (en) * 2022-01-13 2023-07-13 Infineon Technologies Ag Daisy chain configuration using priority values
CN115168282B (zh) * 2022-09-08 2022-12-02 江西萤火虫微电子科技有限公司 总线协议上配置数据处理方法、系统、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070165457A1 (en) 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63223946A (ja) * 1987-03-13 1988-09-19 Fujitsu Ltd デ−タメモリ方式
JPH08500687A (ja) * 1992-08-10 1996-01-23 モノリシック・システム・テクノロジー・インコーポレイテッド ウェハ規模の集積化のためのフォルトトレラントな高速度のバス装置及びバスインタフェース
US5748914A (en) * 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory
US5940866A (en) * 1995-12-13 1999-08-17 International Business Machines Corporation Information handling system having a local address queue for local storage of command blocks transferred from a host processing side
US5860080A (en) * 1996-03-19 1999-01-12 Apple Computer, Inc. Multicasting system for selecting a group of memory devices for operation
US6378018B1 (en) * 1997-10-10 2002-04-23 Intel Corporation Memory device and system including a low power interface
US6658509B1 (en) * 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
US6934785B2 (en) * 2000-12-22 2005-08-23 Micron Technology, Inc. High speed interface with looped bus
US6996644B2 (en) * 2001-06-06 2006-02-07 Conexant Systems, Inc. Apparatus and methods for initializing integrated circuit addresses
JP2004029898A (ja) * 2002-06-21 2004-01-29 Renesas Technology Corp データプロセッサ
DE60217346T2 (de) * 2002-10-02 2007-10-04 Dialog Semiconductor Gmbh Verfahren und Vorrichtung zur Vermeidung von Speicherzugriffskonflikten
US7203828B2 (en) * 2002-11-29 2007-04-10 Sigmatel, Inc. Use of NAND flash for hidden memory blocks to store an operating system program
US7093076B2 (en) * 2002-12-12 2006-08-15 Samsung Electronics, Co., Ltd. Memory system having two-way ring topology and memory device and memory module for ring-topology memory system
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US6826663B2 (en) * 2003-01-13 2004-11-30 Rambus Inc. Coded write masking
WO2004102403A2 (en) * 2003-05-13 2004-11-25 Advanced Micro Devices, Inc. A system including a host connected to a plurality of memory modules via a serial memory interconnect
US7197617B2 (en) * 2003-05-29 2007-03-27 International Business Machines Corporation Process, apparatus, and system for storing data check information using standard sector data field sizes
US7194581B2 (en) * 2003-06-03 2007-03-20 Intel Corporation Memory channel with hot add/remove
US7165153B2 (en) * 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
US20050086413A1 (en) * 2003-10-15 2005-04-21 Super Talent Electronics Inc. Capacity Expansion of Flash Memory Device with a Daisy-Chainable Structure and an Integrated Hub
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
US7590797B2 (en) * 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
JP2006065697A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd 記憶デバイス制御装置
US8364861B2 (en) * 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US8069328B2 (en) * 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US7917710B2 (en) * 2006-06-05 2011-03-29 Oracle America, Inc. Memory protection in a computer system employing memory virtualization
US7783826B2 (en) * 2006-09-28 2010-08-24 Qimonda Ag Data bus width converter

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070165457A1 (en) 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system

Also Published As

Publication number Publication date
TW200931266A (en) 2009-07-16
JP2010537326A (ja) 2010-12-02
WO2009026696A1 (en) 2009-03-05
CN101836258A (zh) 2010-09-15
JP2013225352A (ja) 2013-10-31
KR20100075860A (ko) 2010-07-05
EP2183748A4 (en) 2011-04-06
US20090063786A1 (en) 2009-03-05
CA2695396A1 (en) 2009-03-05
EP2183748A1 (en) 2010-05-12

Similar Documents

Publication Publication Date Title
KR101507192B1 (ko) 데이지-체인 메모리 구성 및 용법
US11669248B2 (en) Clock mode determination in a memory system
US9977731B2 (en) Bridging device having a configurable virtual page size
US8843692B2 (en) System of interconnected nonvolatile memories having automatic status packet
US9471484B2 (en) Flash memory controller having dual mode pin-out
US8582382B2 (en) Memory system having a plurality of serially connected devices
JP5753989B2 (ja) 複数のメモリデバイスを有するシステムの状態表示
US20030182513A1 (en) Memory system with burst length shorter than prefetch length
US20100115172A1 (en) Bridge device having a virtual page buffer
US20140122777A1 (en) Flash memory controller having multi mode pin-out
KR20090115870A (ko) 1 이상의 메모리 디바이스를 가진 시스템
CN113918500A (zh) 符合扩展式接口串行外围接口规格的装置与系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
LAPS Lapse due to unpaid annual fee