KR20110103388A - Error detection method and a system including one or more memory devices - Google Patents

Error detection method and a system including one or more memory devices Download PDF

Info

Publication number
KR20110103388A
KR20110103388A KR1020117009393A KR20117009393A KR20110103388A KR 20110103388 A KR20110103388 A KR 20110103388A KR 1020117009393 A KR1020117009393 A KR 1020117009393A KR 20117009393 A KR20117009393 A KR 20117009393A KR 20110103388 A KR20110103388 A KR 20110103388A
Authority
KR
South Korea
Prior art keywords
error
command
memory device
packet
memory
Prior art date
Application number
KR1020117009393A
Other languages
Korean (ko)
Other versions
KR101687038B1 (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
Priority claimed from US12/418,892 external-priority patent/US8880970B2/en
Application filed by 모사이드 테크놀로지스 인코퍼레이티드 filed Critical 모사이드 테크놀로지스 인코퍼레이티드
Publication of KR20110103388A publication Critical patent/KR20110103388A/en
Application granted granted Critical
Publication of KR101687038B1 publication Critical patent/KR101687038B1/en

Links

Images

Classifications

    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System (AREA)

Abstract

하나 이상의 메모리 장치를 포함하는 시스템 및 에러 검출 및 정정 방법이 제시된다. 시스템의 메모리 장치는 패킷을 수신하기 위한 입력을 포함한다. 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하며, 패킷의 제2 부분은 커맨드 에러 검출을 촉진하기 위한 패리티 비트를 포함할 수 있다. 메모리 장치는 패리티 비트를 기초로 적어도 하나의 커맨드 바이트내에 에러가 존재하는지를 검출하도록 구성된 에러 매니저 및 패킷을 에러 매니저에게 제공하도록 구성된 회로를 포함할 수 있다.A system including at least one memory device and an error detection and correction method is presented. The memory device of the system includes an input for receiving a packet. The first portion of the packet may include at least one command byte, and the second portion of the packet may include parity bits to facilitate command error detection. The memory device may include an error manager configured to detect whether an error exists in the at least one command byte based on the parity bits and circuitry configured to provide the packet to the error manager.

Figure P1020117009393
Figure P1020117009393

Description

에러 검출 방법 및 하나 이상의 메모리 장치를 포함하는 시스템{ERROR DETECTION METHOD AND A SYSTEM INCLUDING ONE OR MORE MEMORY DEVICES}ERROR DETECTION METHOD AND A SYSTEM INCLUDING ONE OR MORE MEMORY DEVICES

[관련 출원에 대한 상호 참조][Cross reference to related application]

본 출원은 2008년 12월 18일 출원된 미국 특허 가출원 61/138,575, 2008년 12월 23일 출원된 미국 특허 가출원 61/140,147 및 2009년 4월 6일 출원된 미국 특허 출원 12/418,892에 대한 우선권을 주장하며, 이들 출원 전부는 그 전체가 본 명세서에 참조로 포함된다.This application claims priority to US patent provisional application 61 / 138,575, filed December 18, 2008, US patent provisional application 61 / 140,147, filed December 23, 2008, and US patent application 12 / 418,892, filed April 6, 2009. All of which are incorporated herein by reference in their entirety.

컴퓨터 및 다른 정보 기술 시스템은 메모리와 같은 반도체 장치를 일반적으로 포함한다. 반도체 장치는 제어기에 의해 제어되며, 컴퓨터의 중앙 처리 유닛(CPU)의 일부를 형성하거나 또는 그와는 별개일 수 있다. 제어기는 반도체 장치와 정보를 송수신하기 위한 인터페이스를 갖는다. 송수신된 정보에 대해 다양한 이유로 에러가 종종 발생할 수 있으며, 많은 공지된 시스템은 에러를 정정할 능력이 결여되거나 또는 많은 에러를 정정할 만족할 만한 능력이 적어도 결여된다는 점이 알려져 있다.Computers and other information technology systems generally include semiconductor devices such as memories. The semiconductor device is controlled by a controller and may form part of or separate from a central processing unit (CPU) of a computer. The controller has an interface for transmitting and receiving information with the semiconductor device. Errors can often occur for a variety of reasons for the transmitted and received information, and it is known that many known systems lack the ability to correct errors or at least lack a satisfactory ability to correct many errors.

본 발명의 목적은 하나 이상의 메모리 장치를 포함하는 개선된 시스템을 제공하는 것이다.It is an object of the present invention to provide an improved system comprising one or more memory devices.

본 발명의 일 측면에 따르면, 메모리 장치로서, 패킷을 수신하기 위한 입력으로서, 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 적어도 커맨드 에러 검출을 가능하게 하기 위한 패리티 비트를 포함하는, 입력을 포함하는 메모리 장치가 제공된다. 에러 매니저는 상기 패리티 비트를 기초로 에러가 적어도 하나의 커맨드 바이트내에 존재하는지 여부를 검출하도록 구성된다.According to an aspect of the invention, there is provided a memory device, comprising: as input for receiving a packet, a first portion of the packet includes at least one command byte, and a second portion of the packet enables at least command error detection A memory device is provided that includes an input, the parity bit being included. The error manager is configured to detect whether an error exists in at least one command byte based on the parity bit.

본 발명의 다른 측면에 따르면, 시스템으로서, 복수개의 반도체 메모리 장치; 및 상기 장치와 통신하기 위한 제어 장치를 포함하는 시스템이 제공된다. 상기 제어 장치는 메모리 장치로 가는 패킷을 생성하기 위한 커맨드 엔진을 포함한다. 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하는 패리티 비트를 포함한다. 상기 제어기의 출력은 상기 패킷을 상기 복수개의 반도체 메모리 장치 중 제1 장치에 출력할 수 있다. 상기 시스템의 상기 제어기와 상기 반도체 메모리 장치 사이에 직렬-상호 연결 구조가 존재하여, 상기 시스템은 포인트-투-포인트 링 토폴로지를 갖는다.According to another aspect of the invention, a system comprising: a plurality of semiconductor memory devices; And a control device for communicating with the device. The control device includes a command engine for generating a packet destined for the memory device. The first portion of the packet includes at least one command byte and the second portion of the packet includes parity bits to enable command error detection. The output of the controller may output the packet to a first device of the plurality of semiconductor memory devices. A series-interconnect structure exists between the controller of the system and the semiconductor memory device, so that the system has a point-to-point ring topology.

본 발명의 다른 측면에 따르면, 패킷을 수신하기 위한 입력을 갖는 메모리 장치내에서 실행되는 방법이 제공된다. 상기 방법은 패킷을 수신하는 단계로서, 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하기 위한 패리티 비트를 포함하는 단계를 포함한다. 상기 방법은 또한 상기 패리티 비트를 기초로 상기 적어도 하나의 커맨드 바이트내에 에러가 존재하는지 여부를 검출하는 단계를 포함한다.According to another aspect of the invention, a method is provided that is executed in a memory device having an input for receiving a packet. The method comprises receiving a packet, wherein the first portion of the packet includes at least one command byte and the second portion of the packet includes parity bits to enable command error detection. . The method also includes detecting whether there is an error in the at least one command byte based on the parity bit.

본 발명의 다른 측면에 따르면, 패킷을 수신하기 위한 수단으로서, 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하기 위한 패리티 비트를 포함하는, 수단을 포함하는 장치가 제공된다. 상기 장치는 또한 상기 패리티 비트를 기초로 상기 적어도 하나의 커맨드 바이트내에 에러가 존재하는지 여부를 검출하기 위한 수단을 포함한다. 상기 장치는 또한 상기 패킷을 에러 매니저에게 제공하기 위한 수단을 포함한다.According to another aspect of the present invention, there is provided a means for receiving a packet, wherein the first portion of the packet comprises at least one command byte, and the second portion of the packet contains a parity bit to enable command error detection. Including, there is provided an apparatus comprising the means. The apparatus also includes means for detecting whether there is an error in the at least one command byte based on the parity bits. The apparatus also includes means for providing the packet to an error manager.

본 발명의 다른 측면에 따르면, 복수개의 반도체 메모리 장치 및 상기 장치와 통신하기 위한 제어기 수단을 포함하는 시스템이 제공된다. 상기 제어기 수단은 메모리 장치로 가는 패킷을 생성하기 위한 수단을 포함한다. 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하는 패리티 비트를 포함한다. 상기 제어기 수단은 또한 상기 패킷을 상기 복수개의 반도체 메모리 장치 중 제1 장치에 출력하기 위한 수단을 포함한다. 상기 시스템의 반도체 메모리 장치들 사이에 직렬-상호 연결 구조가 존재하며, 상기 시스템은 포인트-투-포인트 링 토폴로지를 갖는다.According to another aspect of the invention, a system is provided comprising a plurality of semiconductor memory devices and controller means for communicating with the devices. The controller means includes means for generating a packet destined for a memory device. The first portion of the packet includes at least one command byte and the second portion of the packet includes parity bits to enable command error detection. The controller means also includes means for outputting the packet to a first of the plurality of semiconductor memory devices. A series-interconnect structure exists between the semiconductor memory devices of the system, and the system has a point-to-point ring topology.

본 발명의 다른 측면에 따르면, 패킷을 수신하기 위한 입력 수단을 갖는 메모리 장치가 제공된다. 상기 메모리 장치는 또한 패킷을 수신하기 위한 수단을 포함한다. 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하기 위한 패리티 비트를 포함한다. 상기 메모리 장치는 또한 상기 패리티 비트를 기초로 상기 적어도 하나의 커맨드 바이트내에 에러가 존재하는지 여부를 검출하기 위한 수단을 포함한다.According to another aspect of the present invention, a memory device having an input means for receiving a packet is provided. The memory device also includes means for receiving a packet. The first portion of the packet includes at least one command byte and the second portion of the packet includes parity bits for enabling command error detection. The memory device also includes means for detecting whether there is an error in the at least one command byte based on the parity bits.

그러므로, 하나 이상의 메모리 장치를 포함하는 개선된 시스템이 제시되었다.Therefore, an improved system has been proposed that includes one or more memory devices.

예로서 첨부된 도면이 참조된다.Reference is made to the accompanying drawings by way of example.

도 1a는 병렬 클럭 신호를 수신하는 예시적 시스템의 블럭도이다.
도 1b는 소스 동기 클럭 신호를 수신하는 시스템 예의 블럭도이다.
도 2a는 도 1a의 시스템과 유사하나 보다 특정 시스템 예인 시스템 예의 블럭도이다.
도 3은 메모리 장치 예의 도면이다.
도 4는 메모리 제어기 예의 도면이다.
도 5는 실시예에 따른 패리티 비트 계산을 도시한다.
도 6은 실시예에 따른 에러를 처리하는 방법을 흐름도 형태로 도시한다.
도 7은 실시예에 따른 브로드캐스트 상태 판독 커맨드를 도시하는 타이밍도이다.
1A is a block diagram of an example system for receiving parallel clock signals.
1B is a block diagram of an example system for receiving a source synchronous clock signal.
FIG. 2A is a block diagram of a system example that is similar to the system of FIG. 1A but is a more specific system example.
3 is a diagram of an example memory device.
4 is a diagram of an example memory controller.
5 illustrates parity bit calculation according to an embodiment.
6 is a flowchart illustrating a method of processing an error according to an exemplary embodiment.
7 is a timing diagram illustrating a broadcast status read command according to the embodiment.

도면에 도시된 예의 유사한 특징을 나타내기 위하여 상이한 도면에 동일 또는 유사한 참조 번호가 사용되었다.The same or similar reference numerals are used in different drawings to indicate similar features of the examples shown in the drawings.

링형 토폴로지를 갖는 시스템 예가 미국 특허 공개 2008/0201548 A1, 2008년 8월 21일 공개, "SYSTEM HAVING ONE OR MORE MEMORY DEVICES" , 미국 공개 2008/0049505 Al, 2008년 2월 28일 공개, "SCALABLE MEMORY SYSTEM", 및 미국 공개 2008/0052449 Al, 2008년 2월 28일 공개, "MODULAR COMMAND STRUCTURE FOR MEMORY AND MEMORY SYSTEM"에 기재되어 있다. 이하 상세한 설명에서는 다양한 관점에서 특정 예의 커맨드, 어드레스 및 데이터 포맷, 프로토콜, 내장 장치 구조, 버스 트랜잭션 등이 참조되며, 당업자라면 상술한 특허 문헌을 참조로 다른 예의 상세가 취득될 수 있음을 이해할 것이다.Examples of systems with ring topologies are disclosed in US Patent Publication 2008/0201548 A1, published August 21, 2008, "SYSTEM HAVING ONE OR MORE MEMORY DEVICES", US Publication 2008/0049505 Al, published February 28, 2008, "SCALABLE MEMORY" SYSTEM ", and US Publication 2008/0052449 Al, published February 28, 2008," MODULAR COMMAND STRUCTURE FOR MEMORY AND MEMORY SYSTEM. " In the following detailed description, reference is made to various examples of commands, addresses and data formats, protocols, embedded device structures, bus transactions, and the like, and those skilled in the art will understand that details of other examples may be obtained by reference to the above-mentioned patent documents.

도 1a 및 1b를 참조한다. 일부 실시예에 따르면, 커맨드 패킷은 제어기로부터 오고, 포인트-투-포인트 방식으로 각각의 메모리 장치를 통해 링 주위를 통과하여, 돌아가서 제어기에서 종료한다. 도 1a를 참조하면, 병렬 클럭 신호를 수신하는 시스템 예의 블럭도이며, 도 1b는 소스 동기 클럭 신호를 수신하는 도 1a의 동일한 시스템의 블럭도이다. 클럭 신호는 단일 종료 클럭 신호 또는 차동 클럭 쌍일 수 있다.See FIGS. 1A and 1B. According to some embodiments, the command packet comes from the controller, passes around the ring through each memory device in a point-to-point manner, goes back and ends at the controller. 1A is a block diagram of an example system for receiving parallel clock signals, and FIG. 1B is a block diagram of the same system of FIG. 1A for receiving a source synchronous clock signal. The clock signal may be a single end clock signal or a differential clock pair.

도 1a에서, 시스템(20)은 출력 포트(Sout)과 입력 포트(Sin) 중 적어도 하나를 갖는 메모리 제어기(22) 및 직렬로 연결된 메모리 장치(24, 26, 28 및 30)를 포함하여, 시스템의 제어기 장치와 메모리 장치 사이에 직렬-상호 결선 구조가 존재한다. 도 1a에 명백하게 분류한 건 아니지만, 각 메모리 장치는 Sin 입력 포트 및 Sout 출력 포트를 갖는다. 입력 및 출력 포트는 메모리 장치를 시스템에 인터페이스시키는 하나 이상의 물리적 핀 또는 연결로 구성된다. 일부 예에서, 메모리 장치는 플래시 메모리 장치이다. 도 1a의 현재 예는 4개의 메모리 장치를 포함하지만, 다른 예에서는 단일 메모리 장치 또는 임의의 적절한 수의 메모리 장치를 포함할 수 있다. 따라서, 메모리 장치(24)가 메모리 제어기(22)의 Sout에 연결되어 있으므로, 시스템(20)의 제1 장치라면, 메모리 장치(30)는 메모리 제어기(22)의 Sin에 연결되어 있으므로, 시스템(20)의 N번째 또는 최후 장치로서, N은 0 보다 큰 정수이다. 메모리 장치(26 내지 28)는 제1과 최후 메모리 장치 사이의 중간의 직렬 연결된 메모리 장치이다. 각각의 메모리 장치는 시스템의 초기화 가동시 별개의 식별(ID) 번호 또는 장치 어드레스(DA)를 취할 수 있어서, 개별적으로 어드레스 가능하다. 수개의 공유의 미국 특허 출원은 시스템의 직렬 연결된 메모리 장치에 대한 장치 어드레스를 발생 및 할당하기 위한 방법을 설명한다. 예를 들면, 미국 특허 공개 2007/0233917 Al "APPARATUS AND METHOD FOR ESTABLISHING DEVICE IDENTIFIERS FOR SERIALLY INTERCONNECTED DEVICES" 및 미국 특허 공개 2008/0080492 AI "PACKET BASED IDGENERATION FOR SERIALLY INTERCONNECTED DEVICES"를 참조.In FIG. 1A, the system 20 includes a memory controller 22 having at least one of an output port Sout and an input port Sin and a memory device 24, 26, 28, and 30 connected in series. There is a series-interconnection structure between the controller device and the memory device. Although not explicitly classified in FIG. 1A, each memory device has a Sin input port and a Sout output port. The input and output ports consist of one or more physical pins or connections that interface the memory device to the system. In some examples, the memory device is a flash memory device. The present example of FIG. 1A includes four memory devices, but in other examples it may include a single memory device or any suitable number of memory devices. Therefore, since the memory device 24 is connected to Sout of the memory controller 22, if the first device of the system 20, the memory device 30 is connected to Sin of the memory controller 22, the system ( As the Nth or last device of 20), N is an integer greater than zero. The memory devices 26 to 28 are intermediate serially connected memory devices between the first and last memory devices. Each memory device may take a separate identification (ID) number or device address (DA) during the initial startup of the system, so that it is individually addressable. Several shared US patent applications describe a method for generating and assigning device addresses for serially connected memory devices in a system. See, eg, US Patent Publication 2007/0233917 Al "APPARATUS AND METHOD FOR ESTABLISHING DEVICE IDENTIFIERS FOR SERIALLY INTERCONNECTED DEVICES" and US Patent Publication 2008/0080492 AI "PACKET BASED IDGENERATION FOR SERIALLY INTERCONNECTED DEVICES".

하나의 메모리 장치의 데이터 입력이 이전 메모리 장치의 데이터 출력에 연결되므로, 메모리 장치(24 내지 30)(도 1a)는 직렬 연결된 것으로 간주되어, 체인 형태의 제1 및 최후 메모리 장치를 예외로 하고, 직렬 연결 시스템 구조를 형성하게 된다. 메모리 제어기(22)의 채널은 도전선에 연결된 개별 핀 또는 동일 핀에 의해 제공되는 데이터, 어드레스 및 제어 정보를 포함한다. 도 1a의 예는 하나의 채널을 포함하며, 여기서 하나의 채널은 Sout 및 대응하는 Sin 포트를 포함한다. 그러나, 메모리 제어기(22)는 개별 메모리 장치 체인을 수용하기 위한 적절한 수의 채널을 포함할 수 있다. 도 1a의 예에서, 메모리 제어기(22)는 클럭 신호(CK)를 제공하며, 이는 전체 메모리 장치에 병렬로 연결된다.Since the data input of one memory device is connected to the data output of the previous memory device, memory devices 24 to 30 (FIG. 1A) are considered to be connected in series, with the exception of the first and last memory devices in the form of chains, It will form a series connection system structure. The channel of the memory controller 22 includes data, address and control information provided by the same pin or individual pins connected to the conductive lines. The example of FIG. 1A includes one channel, where one channel includes Sout and a corresponding Sin port. However, memory controller 22 may include an appropriate number of channels to accommodate individual chains of memory devices. In the example of FIG. 1A, memory controller 22 provides a clock signal CK, which is connected in parallel to the entire memory device.

일반적인 동작에서, 메모리 제어기(22)는 그 Sout 포트를 통해 커맨드를 발급하고, 이는 동작 코드(op 코드), 장치 어드레스, 판독 또는 프로그래밍을 위한 동작 어드레스 정보, 및 레지스터 프로그래밍을 위한 선택적 데이터를 포함한다. 명령은 직렬 비트스트림 명령 패킷으로서 발급될 수 있으며, 여기서 패킷은 소정 크기의 세그먼트로 논리적으로 세분될 수 있다. 각각의 세그먼트는 예를 들면 크기가 1 바이트일 수 있다. 비트스트림은 순서 또는 시간에 걸쳐 제공되는 일련의 비트이다. 커맨드는 그 입력 포트(Sin)를 통해, 장치 어드레스를 그 할당된 어드레스와 비교하는, 제1 메모리 장치(24)에 의해 수신된다. 어드레스가 일치하는 경우, 메모리 장치(24)는 커맨드를 실행한다. 커맨드는 그 자신의 출력 포트(Sout)를 통해 다음 메모리 장치(26)로 통과하고, 동일한 절차가 반복된다. 결과적으로, 선택된 메모리 장치라 칭하는 일치하는 메모리 어드레스를 갖는 메모리 장치는 커맨드에 의해 규정된 동작을 수행할 것이다. 커맨드가 판독 데이터 커맨드인 경우, 선택된 메모리 장치는 메모리 제어기(22)의 Sin 포트에 도달할 때까지 중간의 메모리 장치를 직렬로 통과된 그 출력 포트 Sout(라벨 없음)를 통해 판독된 데이터를 출력할 것이다. 커맨드 및 데이터가 직렬 비트스트림으로 제공되므로, 직렬 비트를 클럭 인 및 클럭 아웃하기 위하여 및 내부 메모리 장치 동작을 동기화하기 위하여, 각각의 메모리 장치에는 클럭이 이용된다. 이 클럭은 시스템(20)내의 전체 메모리 장치에 의해 이용된다.In normal operation, memory controller 22 issues a command through its Sout port, which includes an operation code (op code), device address, operation address information for reading or programming, and optional data for register programming. . The command may be issued as a serial bitstream command packet, where the packet may be logically subdivided into segments of a predetermined size. Each segment may be one byte in size, for example. A bitstream is a series of bits provided over an order or time. The command is received by the first memory device 24, through its input port Sin, which compares the device address with its assigned address. If the addresses match, the memory device 24 executes a command. The command passes through its own output port Sout to the next memory device 26, and the same procedure is repeated. As a result, the memory device having a matching memory address called the selected memory device will perform the operation defined by the command. If the command is a read data command, the selected memory device will output the read data through its output port Sout (no label) passed serially through the intermediate memory device until it reaches the Sin port of the memory controller 22. will be. Since commands and data are provided in a serial bitstream, a clock is used for each memory device to clock in and clock out the serial bits and to synchronize internal memory device operation. This clock is used by the entire memory device in system 20.

도 1a에 따른 시스템에서 사용되는 클럭 주파수가 상대적으로 낮으므로, 강한 데이터 통신을 제공하기 위해서 중단되지 않는 풀 스윙(full swing) CMOS 신호 레벨이 이용될 수 있다. 이는 또한, 당업자에게는 공지된 것이지만, 저 전압 트랜지스터 트랜지스터 로직(LVTTL) 시그널링으로 칭한다. Since the clock frequency used in the system according to FIG. 1A is relatively low, an uninterrupted full swing CMOS signal level can be used to provide strong data communication. This is also known to those skilled in the art, but referred to as low voltage transistor transistor logic (LVTTL) signaling.

도 1a의 시스템(20)에 대한 추가 성능 개선은 도 1b의 시스템에 의해 얻어질 수 있다. 도 1b의 시스템(40)은 클럭 신호(CK)가 반드시 메모리 제어기(42)로부터가 아니라 이전 장치로부터 각각의 메모리 장치에 직렬로 제공된다는 점을 제외하고는 도 1a의 시스템(20)과 유사하다. 각각의 메모리 장치(44, 46, 48 및 50)는 클럭 입력 포트에서 소스 동기 클럭을 수신하고, 이를 그 클럭 출력 포트를 통해 시스템내의 다음 장치로 포워드한다. 시스템(40)의 일부 예에서, 클럭 신호(CK)는 하나의 메모리 장치로부터 짧은 신호선을 통해 다른 장치로 통과된다. 그러한 환경에서, 병렬 클럭 분포 방식(멀티플 장치에 의한 로딩과 같은)과 관련된 클럭 성능 문제가 존재하지 않고, CK는 고 주파수에서 동작할 수 있다. 따라서, 시스템(40)은 도 1a의 시스템(20) 보다 더 빠른 속도로 동작할 수 있다. 예를 들면, HSTL(High Speed Transceiver Logic) 시그널링이 고성능 데이터 통신을 제공하기 위해서 사용될 수 있다. HSTL 시그널링 포맷에서, 각각의 메모리 장치는 입력 데이터 신호의 로직 상태를 결정하는데 사용되는 기준 전압을 수신할 수 있다. 다른 유사한 시그널링 포맷은 SSTL(Stub Series Terminated Logic) 시그널링 포맷이 있다. 따라서, 시스템(20 및 40)의 메모리 장치내의 데이터 및 클럭 입력 회로는 서로와는 구조적으로 상이하다. HSTL 및 SSTL 시그널링 포맷 둘다는 당업자에는 공지되어 있다.Further performance improvements to the system 20 of FIG. 1A may be obtained by the system of FIG. 1B. The system 40 of FIG. 1B is similar to the system 20 of FIG. 1A except that the clock signal CK is provided in series to each memory device from the previous device and not necessarily from the memory controller 42. . Each memory device 44, 46, 48, and 50 receives a source synchronous clock at the clock input port and forwards it to the next device in the system through its clock output port. In some examples of system 40, clock signal CK is passed from one memory device to another through short signal lines. In such environments, there are no clock performance issues associated with parallel clock distribution schemes (such as loading by multiple devices), and CK can operate at high frequencies. Thus, system 40 can operate at a higher speed than system 20 of FIG. 1A. For example, High Speed Transceiver Logic (HSTL) signaling can be used to provide high performance data communication. In the HSTL signaling format, each memory device may receive a reference voltage that is used to determine the logic state of the input data signal. Another similar signaling format is the Stub Series Terminated Logic (SSTL) signaling format. Thus, the data and clock input circuits in the memory devices of systems 20 and 40 are structurally different from each other. Both HSTL and SSTL signaling formats are known to those skilled in the art.

도 1b에 도시된 유형의 시스템의 보다 구체적인 예를 제공하기 위하여, 도 2a가 참조된다. 도 2a에서, 시스템(100)은 메모리 제어기(102) 및 4개의 메모리 장치(104, 106, 108 및 110)를 포함한다. 메모리 제어기(102)는 메모리 장치와 병렬로 제어 신호를 제공한다. 이들은 칩 인에이블 신호(CE#) 및 리셋 신호(RST#)를 포함한다. CE#의 예시적 사용에서, 장치는 CE#가 로 로직 레벨인 경우에 인에이블된다. 이전에 고려된 다수의 장치에서, 플래시 메모리 장치가 프로그램 또는 소거 동작을 시작한다면, CE#는 디어서트되거나 또는 하이 로직 레벨로 구동될 수 있다. 그러나, 일 실시예에서, CE#의 디어서트는 디스에이블된 직렬 메모리 장치의 Sin에서 Sout으로의 통신을 디스에이블하는 효과를 갖는다. 직렬 메모리 장치가 링 형태로 연결되므로, 임의의 장치에 대한 디스에이블링은 링 주위의 통신을 파괴하고, 메모리 제어기는 메모리 시스템내의 전체 메모리 장치와의 전체 통신이 불가능하게 된다. 결과적으로, CE#는 전체 직렬 메모리 장치에 공통인 신호이고, 전체 메모리를 저 전력 상태가 되도록 하는데 이용된다. RST#를 사용하는 일 예에서, 메모리 장치는 RST#가 로 로직 레벨인 경우에 리셋 모드로 설정된다. 리셋 모드에서, 전력은 안정화되고, 장치는 전체 유산 상태 머신을 초기화하고 설정 및 상태 레지스터를 그들의 디폴트 상태로 리셋함에 의해 동작에 대해 스스로 대비한다. 메모리 제어기(102)는 상보 클럭 신호(CK 및 CK#)를 제공하기 위한 클럭 출력 포트(CKO# 및 CKO) 및 시스템의 최후 메모리 장치로부터 상보 클럭 신호를 수신하기 위한 클럭 입력 포트(CKI# 및 CKI)를 포함한다. 각각의 메모리 장치는 수신된 클럭의 위상을 발생하기 위한 DLL 또는 PLL과 같은 클럭 합성기를 포함한다. 신뢰할 만한 동작을 보장하기 위하여 입력 데이터 유효 윈도우내에 내부적으로 클럭 에지를 중심에 위치시키기 위하여 특정 위상이 사용될 수 있다. 도 2a의 각각의 메모리 장치는 상보 클럭 신호를 다음 메모리 장치의 클럭 입력 포트에 통과시키기 위한 클럭 출력 포트(CKO# 및 CKO)를 갖는다. 최후 메모리 장치(110)는 클럭 신호를 다시 메모리 제어기(102)로 제공한다. Reference is made to FIG. 2A to provide a more specific example of a system of the type shown in FIG. 1B. In FIG. 2A, system 100 includes a memory controller 102 and four memory devices 104, 106, 108, and 110. The memory controller 102 provides a control signal in parallel with the memory device. These include a chip enable signal CE # and a reset signal RST #. In an exemplary use of CE #, the device is enabled when CE # is at a low logic level. In many of the devices previously considered, if the flash memory device starts a program or erase operation, CE # may be deasserted or driven to a high logic level. However, in one embodiment, the deassertion of CE # has the effect of disabling communication from Sin to Sout of the disabled serial memory device. Since serial memory devices are connected in a ring form, disabling any device destroys communication around the ring, and the memory controller becomes unable to communicate with the entire memory device in the memory system. As a result, CE # is a signal common to all serial memory devices and is used to bring the entire memory into a low power state. In one example using RST #, the memory device is set to the reset mode when RST # is at a low logic level. In reset mode, power is stabilized and the device prepares itself for operation by initializing the entire legacy state machine and resetting the settings and status registers to their default state. Memory controller 102 has clock output ports CKO # and CKO for providing complementary clock signals CK and CK # and clock input ports CKI # and CKI for receiving complementary clock signals from the last memory device of the system. ). Each memory device includes a clock synthesizer, such as a DLL or a PLL, for generating the phase of the received clock. Certain phases may be used to center the clock edge internally within the input data valid window to ensure reliable operation. Each memory device in FIG. 2A has clock output ports CKO # and CKO for passing a complementary clock signal to the clock input port of the next memory device. The last memory device 110 provides a clock signal back to the memory controller 102.

메모리 제어기(102)의 채널은 데이터 출력 포트(Sout), 데이터 입력 포트(Sin), 커맨드 스트로브 입력(CSI), 커맨드 스트로브 출력(CSO), 데이터 스트로브 입력(DSI), 및 데이터 스트로브 출력(DSO)을 포함한다. 출력 포트(Sout) 및 입력 포트(Sin)는 1 비트 폭 또는 n 비트 폭일 수 있으며, n은 메모리 제어기의 특성에 따른 양의 정수이다. 예를 들면, n이 1이면, 1 바이트의 데이터가 클럭의 8개의 데이터 래칭 에지 이후에 수신된다. 데이터 래칭 클럭 에지는 싱글 데이터 레이트(SDR) 동작에서 예를 들면 상승 클럭 에지이거나 또는 더블 데이터 레이트(DDR) 동작에서 예를 들면 상승 및 하강 클럭 에지 모두일 수 있다. n이 2 인 경우, 1 바이트의 데이터가 클럭의 4개의 래칭 에지 이후에 수신된다. n이 4인 경우, 1 바이트의 데이터가 클럭의 2개의 래칭 에지 이후에 수신된다. 메모리 장치는 임의 폭의 Sout 및 Sin에 대해 정적으로 구성되거나 또는 동적으로 구성될 수 있다. 따라서, n이 1 보다 큰 구조에서, 메모리 제어기는 데이터를 병렬 비트스트림으로 제공한다. CSI는 입력 포트(Sin)에 나타나는 래칭 커맨드 데이터를 제어하거나 또는 인에이블링하는데 이용되며, 커맨드가 데이터 입력 포트(Sin)에 존재하는 경우에 시간의 범위를 정하기 위한 펄스 지속 기간을 갖는다. 보다 상세하게는, 커맨드 데이터는 다수의 클럭 사이클에 의해 측정되는 지속 기간을 가질 것이며, CSI 신호의 펄스 지속 기간은 대응하는 지속 기간을 가질 것이다. DSI는 판독 데이터를 출력하기 위하여 선택된 메모리 장치의 출력 포트(Sout) 버퍼를 인에이블링하는데 이용되며, 메모리 장치의 데이터 출력 포트(Sout)로부터 제공된 판독 데이터의 범위를 제한하기 위한 펄스 지속 기간을 가져서, 메모리 제어기는 판독 트랜잭션에서의 데이터의 량을 제어할 수 있다.The channels of the memory controller 102 include data output port Sout, data input port Sin, command strobe input CSI, command strobe output CSO, data strobe input DSI, and data strobe output DSO. It includes. The output port Sout and the input port Sin may be one bit wide or n bit wide, where n is a positive integer depending on the characteristics of the memory controller. For example, if n is 1, one byte of data is received after eight data latching edges of the clock. The data latching clock edge may be for example a rising clock edge in a single data rate (SDR) operation or for example a rising and falling clock edge in a double data rate (DDR) operation. If n is 2, one byte of data is received after four latching edges of the clock. If n is 4, one byte of data is received after two latching edges of the clock. The memory device may be statically or dynamically configured for Sout and Sin of any width. Thus, in a structure where n is greater than 1, the memory controller provides data in a parallel bitstream. The CSI is used to control or enable latching command data appearing at the input port Sin, and has a pulse duration for delimiting time when the command is present at the data input port Sin. More specifically, the command data will have a duration measured by a number of clock cycles and the pulse duration of the CSI signal will have a corresponding duration. The DSI is used to enable the output port (Sout) buffer of the selected memory device to output read data, and has a pulse duration to limit the range of read data provided from the data output port (Sout) of the memory device. The memory controller may control the amount of data in the read transaction.

도 2a의 현재 설명된 실시예가 고속 동작을 고려한 것이므로, 예를 들면 HSTL 시그널링 포맷과 같은 고속 시그널링 포맷이 이용된다. 따라서, Sin, CSI 및 DSI 입력 포트에서 수신된 신호의 로직 레벨을 결정하기 위하여 각각의 메모리 장치에 의해 사용되는 기준 전압(VREF)이 각각의 메모리 장치에 제공된다. 기준 전압(VREF)이 예를 들면 인쇄 회로 기판 상의 다른 회로에 의해 생성될 수 있으며, HSTL 신호의 전압 스윙 중간 포인트를 기초로 소정 전압 레벨로 설정된다.Since the presently described embodiment of FIG. 2A takes into account high speed operation, a fast signaling format such as, for example, the HSTL signaling format is used. Thus, each memory device is provided with a reference voltage VREF used by each memory device to determine the logic level of the signal received at the Sin, CSI and DSI input ports. The reference voltage VREF can be generated, for example, by another circuit on the printed circuit board and is set to a predetermined voltage level based on the voltage swing midpoint of the HSTL signal.

도 2a의 실시예에서, 각각의 메모리 장치는 인쇄 회로 기판 상에 위치 지정되어, 한 장치 상의 Sout 출력 포트 핀과 링 상의 다음 장치의 Sin 입력 포트 핀 사이의 거리 및 신호 트랙 길이는 최소화된다. 다르게는, 4개의 메모리 장치는 신호 트랙 길이를 더욱 최소화하는 시스템 인 패키지(SIP) 모듈내에 모집될 수 있다. 메모리 제어기(102) 및 메모리 장치(104 내지 110)는 링 토폴로지를 형성하기 위하여 직렬로 연결되는데, 이는 최후 메모리 장치(110)가 그 출력을 다시 메모리 제어기(102)에 제공한다는 것을 의미한다. 그러므로, 당업자라면 메모리 장치(110)와 메모리 제어기(102) 사이의 거리는 용이하게 최소화될 것임을 이해할 것이다.In the embodiment of FIG. 2A, each memory device is positioned on a printed circuit board such that the distance between the Sout output port pin on one device and the Sin input port pin of the next device on the ring is minimized. Alternatively, four memory devices can be recruited in a system-in-package (SIP) module that further minimizes the signal track length. The memory controller 102 and the memory devices 104-110 are connected in series to form a ring topology, which means that the last memory device 110 provides its output back to the memory controller 102. Therefore, those skilled in the art will understand that the distance between the memory device 110 and the memory controller 102 will be easily minimized.

도 2b에서, 시스템(150)은 메모리 제어기(152) 및 메모리 장치(154, 156, 158 및 160)를 포함한다. 메모리 제어기(152)는 클럭 신호가 병렬로 제공되어서, 각각의 메모리 장치의 클럭 출력 포트(CKO# 및 CKO)가 존재하지 않거나 단선된다는 점을 제외하고는 도 2a에 도시된 메모리 제어기(102)의 것과 기능적인 유사함을 제공하도록 설계될 수 있다. 더욱이, 도 2a의 시스템과 비교할 때 도 2b의 시스템에 대해, 데이터 및 스트로브 신호에 대한 시그널링 포맷은 상이하다. 예를 들면, 도 2b의 시스템에 대한 시그널링 포맷은 풀 스윙 비종료 LVTTL 신호 포맷일 수 있다. 낮은 클럭 주파수와 결부하여 이용되는 LVTTL 시그널링은 기준 전압(VREF)을 사용하지 않는다. 도 2b의 시스템에서만 이용되는 메모리 장치는 VREF 입력을 필요로 하지 않는다. 그러한 경우, VREF는 시그널링 중간 포인트를 제외한 전압 레벨로 설정되거나 또는 사용되는 LVTTL 시그널링을 표시하도록 설정된다. 예를 들면, 그러한 장치에 대해, 도2a에 따른 HSTL 시그널링 및 네트워크 구조와 반대로 도 2b에 따른 LVTTL 시그널링 및 네트워크 구성을 나타내기 위하여, VREF는 VDD 또는 VSS로 설정될 수 있다.In FIG. 2B, system 150 includes memory controller 152 and memory devices 154, 156, 158, and 160. The memory controller 152 is provided with a clock signal in parallel so that the clock output ports CKO # and CKO of each memory device are not present or disconnected. It can be designed to provide a functional similarity to that. Moreover, for the system of FIG. 2B when compared to the system of FIG. 2A, the signaling formats for data and strobe signals are different. For example, the signaling format for the system of FIG. 2B may be a full swing non-terminated LVTTL signal format. LVTTL signaling used in conjunction with a low clock frequency does not use a reference voltage (VREF). The memory device used only in the system of FIG. 2B does not require a VREF input. In such a case, VREF is set to a voltage level excluding the signaling intermediate point or set to indicate the LVTTL signaling used. For example, for such an apparatus, VREF may be set to VDD or VSS to indicate the LVTTL signaling and network configuration according to FIG. 2B as opposed to the HSTL signaling and network structure according to FIG. 2A.

실시예에 따르면, 도 2a의 메모리 장치(104, 106, 108 및 110) 및 도 2b의 메모리 장치(154, 156, 158 및 160)는 다른 메모리 장치와의 직렬 상호 결선을 위해 설계된 입력/출력 인터페이스를 갖는 임의 유형의 메모리 장치일 수 있다. 본 실시예에 따르면, 도 2a 및 2b의 메모리 장치는 동일할 수 있으며, 따라서 이들이 LVTTL 입력 신호 또는 HSTL 입력 신호와 동작할 수 있는 입력 및 출력 버퍼 회로를 가지므로, 두 시스템 모두에서 동작 가능하다. 당업자라면 메모리 장치가 이들 LVTTL 또는 HSTL 신호 이의의 다른 유형의 신호 포맷으로 동작하기 위한 입력 및 출력 버퍼 회로를 포함할 수 있음을 이해할 것이다.According to an embodiment, the memory devices 104, 106, 108 and 110 of FIG. 2A and the memory devices 154, 156, 158 and 160 of FIG. 2B are designed for serial interconnection with other memory devices. It may be any type of memory device having a. According to the present embodiment, the memory devices of Figs. 2A and 2B may be identical and thus operate in both systems as they have input and output buffer circuits capable of operating with LVTTL input signals or HSTL input signals. Those skilled in the art will appreciate that memory devices may include input and output buffer circuits to operate with these LVTTL or HSTL signal other types of signal formats.

상술한 것처럼, 이전 도면들에 도시된 각각의 시스템은 하나 이상의 메모리 장치를 포함하고, 실시예에 따르면, 도 3은 이전 설명된 시스템 중 임의의 하나 내에 제공될 수 있는 메모리 장치(200)의 예에 대한 도면이다. 신규한 메모리 장치(200)는 메모리 뱅크(202)를 가지며, 여기서 적어도 일부의 예에서는 복수개(n)의 소거 가능한 블럭을 갖는 NAND 플래시 셀 어레이 구조이다. 소거 가능한 블럭의 각각은 복수개(m)의 프로그램 가능한 페이지로 분할된다. 각각의 페이지는 (j+k) 바이트로 구성된다. 페이지는 데이터가 저장되는 j-바이트 데이터 저장 영역 및 일반적으로 에러 관리 기능을 위해 이용되는 별개의 k-바이트 영역으로 분리된다. 각각의 페이지는 예를 들면 2,112 바이트로서 이중 2,048 바이트는 데이터 저장을 위해 이용되고, 64 바이트는 에러관리기능을 위해 이용될 것이다. 상술한 메모리 뱅크(202)는 페이지에 의해 억세스된다. 도 3이 단일 메모리 뱅크(202)를 도시하지만, 메모리 장치(200)는 하나 이상의 메모리 뱅크(202)를 가질 수 있다.As mentioned above, each system shown in the previous figures includes one or more memory devices, and in accordance with an embodiment, FIG. 3 is an example of a memory device 200 that may be provided within any one of the previously described systems. It is a drawing about. The novel memory device 200 has a memory bank 202, where in at least some examples is a NAND flash cell array structure having a plurality (n) of erasable blocks. Each erasable block is divided into a plurality (m) of programmable pages. Each page consists of (j + k) bytes. The page is divided into a j-byte data storage area where data is stored and a separate k-byte area that is typically used for error management functions. Each page is for example 2112 bytes, of which 2,048 bytes will be used for data storage and 64 bytes will be used for error management. The memory bank 202 described above is accessed by a page. 3 illustrates a single memory bank 202, the memory device 200 may have one or more memory banks 202.

메모리 뱅크(202)에 억세스하기 위한 커맨드는 제어기로부터 I/O(입력/출력) 회로(213)를 통해 커맨드 레지스터(214)에 의해 수신된다. 수신된 커맨드는 커맨드 레지스터(214)에 진입하고, 거기에서 실행시까지 유지한다. 제어 로직(216)은 커맨드를 메모리 뱅크(202)에 반대해서 실행될 수 있는 형태로 변환한다. 일반적으로 커맨드는 칩의 외장 패키지 상의 상이한 핀들의 어설션(assertion)을 통해 메모리 장치(200)로 진입하며, 여기서 상이한 핀들은 상이한 커맨드를 나타내는데 이용될 수 있다. 예를 들면, 커맨드는 판독, 프로그램, 소거, 레지스터 판독, 및 레지스터 기록을 포함할 수 있다. 레지스터 기록에 대해, 예를 들면 메모리 장치(200)는 ID 당 하나의 바이트를 포함하는 5-바이트 - 1 바이트는 커맨드용이고, 나머지 바이트는 페이로드임 - 레지스터 기록 커맨드 패킷을 처리할 수 있다. The command for accessing the memory bank 202 is received by the command register 214 from the controller through the I / O (input / output) circuit 213. The received command enters the command register 214 and holds there until execution. The control logic 216 converts the command into a form that can be executed against the memory bank 202. In general, a command enters the memory device 200 through the assertion of different pins on an external package of the chip, where different pins can be used to represent different commands. For example, the command may include read, program, erase, register read, and register write. For register writes, for example, memory device 200 may process a 5-byte-1 byte containing one byte per ID for a command and the remaining bytes are a payload—a register write command packet.

판독 및 프로그램 커맨드는 페이지 단위로 실행되고, 소거 커맨드는 블럭 단위로 실행된다. 또한, 메모리 장치(200)의 수개의 예에서, 장치의 다양한 핀 각각이 스트로브 포트 중 하나, 데이터 포트 중 하나 또는 도 2a 및 2b 와 결부하여 전술한 것과 같은 다른 포트와 관련된다. 여기서 I/O 회로(213)는 데이터 핀과 메모리 장치(200)의 내부 부품들 사이에 도시되고, 칩 인터페이스 회로(215)는 다른 핀과 메모리 장치(200)의 내부 부품들 사이에 도시된다.Read and program commands are executed in units of pages, and erase commands are executed in units of blocks. Also, in some examples of memory device 200, each of the various pins of the device is associated with one of the strobe ports, one of the data ports, or another port as described above in conjunction with FIGS. 2A and 2B. The I / O circuit 213 is shown here between the data pins and the internal components of the memory device 200, and the chip interface circuit 215 is shown between the other pins and the internal components of the memory device 200.

판독 또는 프로그램 커맨드가 I/O 회로(213)를 통해 커맨드 레지스터(214)에 의해 수신되는 경우, 커맨드가 관련되는 메모리 뱅크(200)내의 페이지에 대한 어드레스는 I/O 회로(213)에 의해 어드레스 버퍼 및 래치(218)에 제공된다. 어드레스 버퍼 및 래치(218)로부터, 어드레스 정보는 다음으로 제어 및 프리디코더(206), 센스 증폭기(S/A) 및 데이터 레지스터(204) 및 어드레스에 의해 표시된 페이지를 억세스하기 위한 행 디코더(208)에 제공된다. 판독 동작에 대해서, 데이터 레지스터(204)는 완전한 페이지를 수신하고, 이는 다음으로 메모리 장치(200)로부터의 출력을 위하여, I/O 회로(213)(보다 상세하게는 명백하게 도시되지는 않았지만 I/O 회로(213)의 이하의 하부 부품에 제공됨: I/O 버퍼 및 래치, 다음으로 출력 드라이버)에 제공된다.When a read or program command is received by the command register 214 via the I / O circuit 213, the address for the page in the memory bank 200 to which the command is associated is addressed by the I / O circuit 213. To the buffer and latch 218. From the address buffer and latch 218, the address information is then controlled and predecoder 206, sense amplifier (S / A) and data register 204 and row decoder 208 for accessing the page indicated by the address. Is provided. For a read operation, the data register 204 receives a complete page, which is then used for output from the memory device 200 by the I / O circuit 213 (not shown in more detail, although I / O). Provided in the following lower components of the O circuit 213: I / O buffers and latches, and then output drivers).

어드레스 버퍼 및 래치(218)는 어드레스가 위치하는 페이지를 결정하고, 페이지에 대응하는 행 어드레스를 행 디코더(208)에 제공한다. 대응하는 행은 액티베이트된다. 데이터 레지스터 및 S/A(204)는 페이지를 감지하고, 데이터를 페이지로부터 데이터 레지스터(204)로 전송한다. 전체 페이지로부터의 데이터가 데이터 레지스터로 전송된 경우, 데이터는 장치로부터 I/O 회로(213)를 통하여 순차적으로 판독된다.The address buffer and latch 218 determine the page where the address is located and provide the row decoder 208 with a row address corresponding to the page. The corresponding row is activated. The data register and S / A 204 sense the page and transfer data from the page to the data register 204. When data from the entire page is transferred to the data register, the data is read sequentially from the device through the I / O circuit 213.

프로그램 커맨드는 또한 페이지 단위로 처리된다. 프로그램 커맨드는 I/O 회로(213)를 통해 커맨드 레지스터(214)에 의해 수신되고, 첨부된 어드레스는 I/O 회로(213)를 통해 어드레스 버퍼(218)에 의해 수신된다. 입력 데이터는 I/O 회로(213)에 의해 수신되어 데이터 레지스터(204)로 전송된다. 일단 전체 입력 데이터가 데이터 레지스터(204)내에 있는 경우, 입력 데이터가 저장될 페이지는 입력 데이터로 프로그램된다.Program commands are also processed page by page. The program command is received by the command register 214 through the I / O circuit 213 and the attached address is received by the address buffer 218 through the I / O circuit 213. Input data is received by I / O circuitry 213 and transmitted to data register 204. Once the entire input data is in the data register 204, the page in which the input data is to be stored is programmed with the input data.

소거 커맨드는 블럭 단위로 처리된다. 소거 커맨드는 I/O 회로(213)를 통해 커맨드 레지스터(214)에 의해 수신되고, 블럭 어드레스는 I/O 회로(213)를 통해 어드레스 버퍼(218)에 의해 수신된다.The erase command is processed in blocks. The erase command is received by the command register 214 through the I / O circuit 213, and the block address is received by the address buffer 218 through the I / O circuit 213.

도시된 메모리 장치(200)는 ECC 매니저(217)를 또한 선택적으로 포함한다. ECC 매니저(217)는 실시예에 따른 에러 검출 및 정정을 가능하게 하며, 이는 다음에 보다 상세히 설명된다. 도시된 ECC 매니저는 제어 로직(216)과 통신하는 것으로 도시되나, 별도의 예에서는 ECC 매니저는 예를 들면 하나 이상의 어드레스 버퍼 및 래치(218) 및 커맨드 레지스터(214)와 같은 다른 도시된 부품에 대해 직접 동작하는 것을 허용하는 회로 및 로직을 포함할 수 있다. 당업자라면 패킷이 메모리 장치(200)의 입력으로부터 ECC 매니저(217)에 제공될 수 있는 공지된 다양한 회로가 존재할 수 있음을 이해할 것이다.The illustrated memory device 200 optionally also includes an ECC manager 217. The ECC manager 217 enables error detection and correction according to the embodiment, which is described in more detail below. The illustrated ECC manager is shown in communication with the control logic 216, but in a separate example the ECC manager is configured for one or more address buffers and other illustrated components, such as latches 218 and command registers 214. It may include circuitry and logic to allow direct operation. Those skilled in the art will appreciate that there may be various known circuits in which packets may be provided to the ECC manager 217 from the input of the memory device 200.

도시된 메모리 장치(200)는 또한 하나 이상의 상태 레지스터(249)(많은 유형의 종래 기술의 상태 레지스터가 당업자에게 알려져 있음)를 포함한다. 제어 로직(216)으로부터의 제어하에, 상태 레지스터는 시스템의 제어를 의도한 상태 유형 정보를 제공할 수 있으며, 일반적으로는 I/O 회로(213)를 통해 통신하는 다른 정보 및 데이터와 간섭하지 않는 방식으로 이 정보를 제공한다. 예를 들면, 상태 레지스터(249)내에 저장된 정보는 메모리 장치 상의 하나 이상의 전용 핀을 통해 구체적으로 외부로 전달될 수 있다. 이와 관련하여, 선택적 ECC 발생기(251)는 이 처리를 촉진하기 위하여 상태 레지스터(249)와 I/O 회로(213) 사이에 제공될 수 있다.The illustrated memory device 200 also includes one or more status registers 249 (many types of prior art status registers are known to those skilled in the art). Under control from control logic 216, the status register can provide state type information intended for control of the system and generally does not interfere with other information and data communicating through I / O circuitry 213. To provide this information. For example, information stored in status register 249 may be specifically communicated through one or more dedicated pins on the memory device. In this regard, an optional ECC generator 251 may be provided between the status register 249 and the I / O circuit 213 to facilitate this process.

상술한 것처럼, 도 1a, 1b, 2a 및 2b에 도시된 시스템 각각은 메모리 제어기를 포함하며, 적절한 메모리 제어기(310)의 예의 블럭도가 도 4에 도시된다.As mentioned above, each of the systems shown in FIGS. 1A, 1B, 2A, and 2B includes a memory controller, and a block diagram of an example of a suitable memory controller 310 is shown in FIG.

도 4를 참조하면, 도시된 신규한 플래시 제어기(310)는 중앙 처리 유닛(CPU)(312); 및 예를 들면 랜덤 억세스 메모리(RAM)(316) 및 리드 온리 메모리(ROM)(318)를 갖는 메모리(314)를 포함한다. 당업자라면, 플래시 제어기(310)가 시스템 온 칩, 시스템 인 패키지 또는 멀티플 칩으로서 구성될 수 있음을 이해할 것이다. 또한, 도시된 플래시 제어기(310)는 플래시 커맨드 엔진(322), 에러 정정 코드(ECC) 매니저(324) 및 플래시 장치 인터페이스(326)를 포함한다. 수개의 예에서, 플래시 장치 인터페이스는 도 2a에 도시된 메모리 제어기 포트 또는 도 2b에 도시된 메모리 제어기 포트를 포함할 수 있으며, (메모리 장치와의 관계에서 유사하게 설명되었으므로) 이들의 각각은 메모리 제어기(310)의 각각의 핀과 관련될 수 있다. 도시를 간편하게 하기 위하여, 도 4에 명백하게 도시하는 것처럼 플래시 제어기(310)의 전체 핀 대신에, 라벨된 플래시 장치 인터페이스(326)로 표시된다.4, the novel flash controller 310 shown includes a central processing unit (CPU) 312; And a memory 314 having, for example, a random access memory (RAM) 316 and a read only memory (ROM) 318. Those skilled in the art will appreciate that the flash controller 310 can be configured as a system on chip, system in package, or multiple chips. The illustrated flash controller 310 also includes a flash command engine 322, an error correction code (ECC) manager 324, and a flash device interface 326. In some examples, the flash device interface may include a memory controller port shown in FIG. 2A or a memory controller port shown in FIG. 2B, each of which is a memory controller (as described similarly in relation to a memory device). Associated with each pin of 310. For simplicity of illustration, instead of the entire pins of the flash controller 310, as shown explicitly in FIG. 4, it is indicated by a labeled flash device interface 326.

도 4를 참조로, 도시된 플래시 제어기(310)는 호스트 인터페이스 제어기(332) 및 호스트 인터페이스(334)를 포함한다. CPU(312), 메모리(314), 플래시 커맨드 엔진(322) 및 호스트 인터페이스 제어기(332)는 공통 버스(330)를 통해 연결된다. 호스트 인터페이스(334)는 버스, 연결 링크, 인터페이스 등(예를 들면, ATA(Advanced Technology Attachment), PATA(Parallel ATA), SATA(Serial ATA), USB(universal serial bus), 또는 PCIe(PCI Express)를 통해 외부 장치로 연결하기 위한 것이다. 호스트 인터페이스(334)는 호스트 인터페이스 제어기(332)에 의해 제어된다. 도시된 예의 CPU(312)는 ROM(318)내에 저장된 명령으로 동작하며, 처리된 데이터는 RAM(316)내에 저장된다. 플래시 커맨드 엔진(322)은 커맨드를 해석(interpret)하고, 플래시 제어기(310)는 플래시 장치 인터페이스(326)를 통해 플래시 장치의 동작을 제어한다. 또한, 일부 예에서, 플래시 커맨드 엔진(322)은 메모리 장치-지정(device-destined) 패킷을 생성한다. 프로그램 데이터 에러 코드 생성, 판독 데이터 에러 코드 체킹 및 판독 데이터 정정과 같은 다른 가능한 기능들 중에서, ECC 매니저(324)는 특정 커맨드가 성공적으로 및 완전하게 수행되는 것을 보장하기 위하여 에러 정정 코드(ECC)를 생성한다. ECC 매니저는 다음에 보다 상세히 설명되는 실시예에 따라 에러 검출 및 정정을 가능하게 한다.Referring to FIG. 4, the illustrated flash controller 310 includes a host interface controller 332 and a host interface 334. The CPU 312, memory 314, flash command engine 322 and host interface controller 332 are connected via a common bus 330. The host interface 334 may be a bus, a connection link, an interface (eg, Advanced Technology Attachment (ATA), Parallel ATA (PATA), Serial ATA), Universal Serial Bus (USB), or PCI Express (PCI Express)). The host interface 334 is controlled by the host interface controller 332. The CPU 312 of the illustrated example operates with instructions stored in the ROM 318, and the processed data is Stored in the RAM 316. The flash command engine 322 interprets the commands, and the flash controller 310 controls the operation of the flash device via the flash device interface 326. Also, in some examples, The flash command engine 322 generates a memory device-destined packet, among other possible functions such as program data error code generation, read data error code checking and read data correction. 324 generates an error correction code (ECC) to ensure that certain commands are executed successfully and completely, the ECC manager enables error detection and correction according to embodiments described in more detail below. .

전송 에러가 커맨드 패킷에서 발생하는 경우, 이 에러를 처리하는 한 방법은 제어기(310)가 수신된 패킷을 본래 전송한 패킷과 비교함에 의해 에러를 검출하는 것이다. 메모리 장치가 커맨드를 적절히 수신한지 여부를 제어기가 검출하는 내재된 메카니즘이 없는 버스 토폴로지와 비교할 때 링 토폴로지의 유용한 특징이다. 그러나, 링 토폴로지의 이러한 에러 검출 방법으로도, 에러를 검출할 때까지 에러를 정정하는 것은 너무 느릴 수 있다. 예를 들면, 커맨드 패킷이 프로그램 또는 소거 커맨드이고, 에러가 어드레스 비트 중 하나(장치 어드레스, 블럭 어드레스 또는 페이지 어드레스 중 임의의 하나)에서 발생하는 경우, 프로그램 또는 소거 동작은 제어기가 에러를 검출할 때까지 이미 시작했을 수 있고, 틀린 어드레스가 겹쳐쓰이거나 또는 소거되는 경우에 데이터는 불가피하게 소실될 수 있다. 비-프로그램 또는 비-소거 커맨드가 에러로 프로그램 또는 소거 커맨드로 수신되는 경우, 다른 잠재적인 회복불가능한 에러가 발생한다. 일반적으로, 제어기는 쉽게 다른 판독 동작을 요청할 수 있고 원치않는 데이터는 폐기하므로, 에러 판독 커맨드는 문제가 아니다.If a transmission error occurs in the command packet, one way to handle this error is to detect the error by comparing the received packet with the packet originally sent by the controller 310. This is a useful feature of the ring topology when compared to a bus topology without the inherent mechanism by which the controller detects whether the memory device has properly received the command. However, even with this error detection method of a ring topology, correcting an error until it is detected can be too slow. For example, if the command packet is a program or erase command and an error occurs at one of the address bits (any one of the device address, block address or page address), the program or erase operation may occur when the controller detects the error. May already have started, and data may inevitably be lost if the wrong address is overwritten or erased. If a non-program or non-erase command is received with a program or erase command in error, another potential unrecoverable error occurs. In general, the error read command is not a problem since the controller can easily request another read operation and discard the unwanted data.

일반적으로, 메모리 어레이에 기록된 또는 메모리 어레이로부터 판독된 데이터 보다는 커맨드의 에러에 대해 보다 많은 우려가 있다. 데이터내에 에러 검출 및 정정 코드를 임베딩하는 많은 방식이 있다. 일부 데이터는 더 중요하며, 고도의 오버헤드 및 더 큰 성능 임팩트를 갖는 보다 강한 에러 방식을 가질 수 있다. 시스템 설계자는 필요한 강함(robustness)의 레벨을 결정할 수 있다. 적어도 일부 실시예에서 다뤄지는 문제점은 커맨드, 어드레스 및 레지스터 기록 필드에서의 에러에 관한 것이다. 이들 에러는 판독 및 기록 데이터내의 에러 검출 및 정정 코드로 해결될 수 없다. 발생할 수 있는 많은 형태의 커맨드, 어드레스, 및 레지스터 기록 에러가 존재한다. 일반적으로, 비의도된 판독은 데이터가 무시될 수 있고 제어기(310)가 커맨드를 재발급할 수 있으므로, 문제가 아니다. 사용중인 메모리 뱅크에 판독시킨 페이지는 단순히 무시될 것이다. 에러는 타겟 장치 이전에 또는 장치 이후에 링내의 어딘가에서 발생할 수 있다. In general, there is more concern about errors in commands than data written to or read from a memory array. There are many ways to embed error detection and correction codes in the data. Some data is more important and may have a stronger error scheme with high overhead and greater performance impact. The system designer can determine the level of robustness required. The problem addressed in at least some embodiments relates to errors in the command, address and register write fields. These errors cannot be solved with error detection and correction codes in the read and write data. There are many types of commands, addresses, and register write errors that can occur. In general, unintentional reads are not a problem because the data can be ignored and the controller 310 can reissue the command. The page read into the memory bank in use will simply be ignored. The error may occur somewhere in the ring before or after the target device.

[표 1] : 가능성 있는 치명적 단일 비트 에러 시나리오. Table 1: Possible fatal single bit error scenarios.

Figure pct00001
Figure pct00001

도 3 및 4를 참조하면, 타겟 장치(200)는 에러에 대해 검사되고, 에러가 검출되면, 커맨드는 취소된다. 적어도 하나의 실시예에 따르면, 플래시 커맨드 엔진(322)에 의해 생성될 수 있는 각각의 메모리 장치-지정 커맨드 패킷에 추가 에러 코드 바이트가 첨부된다. 일부 실시예에서, 패킷은 링내의 전력을 절약하기 위하여 타겟 장치에 의해 절단될 수 있다. 판독 패킷 또는 결합된 커맨드 및 프로그램 데이터 패킷 중 데이터 부분을 절단하는데는 문제가 없다. 그러나, 패킷의 커맨드 부분 더하기 이 추가 에러 코드 바이트는 링내의 장치에 의해 절단되어서는 안되며, 제어기(310)는 에러에 대한 전체 패킷을 검사할 수 있다. 에러가 검출되는 경우, 제어기(310)는 링내의 장치가 에러를 검출하는지 여부 및 커맨드가 실제로 실행되는지 여부를 결정하기 위하여 메모리 장치의 장치 상태 레지스터(249)를 판독할 수 있다. 일부 예에 따르면, 패킷의 제1 바이트내의 장치 ID 필드에 대응하는 장치(200)인, 타겟 장치는 수신된 커맨드 바이트를 기초로 에러 코드를 계산하고, 그 결과를 수신된 에러 코드 바이트와 비교한다. 차이가 있다면, 커맨드는 실행되지 않고, 전송 에러 플래그는 상태 레지스터(249)내에서 설정될 것이다. 다르게는, 에러 코드가 에러 정정을 지원하는 경우, 장치(200)는 에러를 정정하고 커맨드를 실행할 수 있다. 예를 들면 Cyclic Redundancy Code(CRC), Bose-Chaudhuri-Hocquenghem(BCH) code, Reed-Solomon(RS) code와 같은 에러 검출 코드에 대해 많은 고려된 가능성이 있지만; 적어도 하나의 실시예에 따르면, 단일 비트 에러의 위치가 식별되도록 하고, 전체 이중 비트 에러를 검출할 수 있도록 하는 해밍 코드가 이용된다. 아래의 표 2는 추가 에러 코드 바이트를 갖는 7-바이트 커맨드 패킷의 예의 비트를 상세히 제시한다. 3 and 4, the target device 200 is checked for an error, and if an error is detected, the command is canceled. According to at least one embodiment, an additional error code byte is appended to each memory device-specific command packet that can be generated by the flash command engine 322. In some embodiments, the packet may be truncated by the target device to save power in the ring. There is no problem truncating the data portion of the read packet or combined command and program data packets. However, the command portion of the packet plus this additional error code byte should not be truncated by the device in the ring, and the controller 310 can check the entire packet for errors. If an error is detected, the controller 310 can read the device status register 249 of the memory device to determine whether the device in the ring detects the error and whether the command is actually executed. According to some examples, the target device, which is the device 200 corresponding to the device ID field in the first byte of the packet, calculates an error code based on the received command byte and compares the result with the received error code byte. . If there is a difference, the command is not executed and the transfer error flag will be set in the status register 249. Alternatively, if the error code supports error correction, the device 200 may correct the error and execute the command. There are many considered possibilities for error detection codes, for example Cyclic Redundancy Code (CRC), Bose-Chaudhuri-Hocquenghem (BCH) code, Reed-Solomon (RS) code; According to at least one embodiment, a hamming code is used that allows the location of a single bit error to be identified and to detect a full double bit error. Table 2 below details the bits of an example of a 7-byte command packet with additional error code bytes.

[표 2] : 추가 에러 코드 바이트를 갖는 7-바이트 커맨드 패킷의 예.TABLE 2 Example of 7-byte command packet with additional error code bytes.

Figure pct00002
Figure pct00002

D0-D62 - 데이터 페이로드 비트D0-D62-Data Payload Bits

P0-P64 - 패리티 비트P0-P64-Parity Bit

단일 비트 에러의 위치는 공지되므로, 단일 비트 에러는 정정될 수 있다. 또한, 2 비트 에러는 검출될 수 있지만, 정정될 수 없다. 이러한 유형의 코드는 SECDED 코드(Single Error Correction, Double Error Detection)로 공지된다.Since the location of a single bit error is known, the single bit error can be corrected. Also, a two bit error can be detected but not corrected. This type of code is known as SECDED code (Single Error Correction, Double Error Detection).

그러므로, 해밍 코드는 단일 비트 에러 정정 및 2 비트 에러 검출을 제공한다. 표 2에 도시된 7 바이트 페이로드는 전술한 미국 특허 공개 번호 제2008/0049505 A1 및 2008/0052449 A1에서 개시된 전체 지시를 포괄한다. 그러나, 8-비트 해밍 코드는 15 바이트 페이로드를 덮는데 충분하여, 큰 가능한 커맨드 셋으로의 향후의 연장을 허용한다. 7 바이트 미만의 커맨드 패킷에 대해, 비존재 데이터 비트는 0으로 간주될 수 있다. 패리티 비트는 도 5에서 도시된 것처럼 계산된다.Therefore, the Hamming code provides single bit error correction and two bit error detection. The 7 byte payload shown in Table 2 encompasses the entire indication disclosed in the aforementioned US Patent Publication Nos. 2008/0049505 A1 and 2008/0052449 A1. However, the 8-bit Hamming code is sufficient to cover the 15 byte payload, allowing future extension to a large possible command set. For command packets of less than 7 bytes, non-existent data bits may be considered zero. The parity bit is calculated as shown in FIG.

수신된 데이터 페이로드 비트 상에서 계산된 패리티 비트가 수신된 패리티 비트와는 상이한 경우, 차이는 에러인 데이터 비트를 암시한다. 예를 들면, D3가 에러로 수신된 경우, 계산된 패리티 비트 P0, P1 및 P2는 수신된 패리티 비트와는 상이하다. 각 패리티 비트 P64, P32, P16, P8, P4, P2, P1가 상이한 '1' 및 이들이 동일한 '0'을 갖는 7-비트 바이너리 워드, 즉 0,0,0,0,0,1,1는 단일 비트 에러가 발생한 D3를 암시한다. 페이로드 내에 단일 에러가 존재하는 경우 P0는 항상 상이하다. 워드내에 단일 '1'이 존재하는 경우(즉, 하나의 계산된 패리티 비트만이 수신된 패리티 비트와 상이함), 이는 패리티 비트의 에러를 표시한다. 계산된 패리티 비트 P0가 수신된 P0와 동일하고 적어도 다른 패리티의 적어도 하나가 상이하다면, 정정될 수 없는 패킷내의 이중 에러가 존재한다.If the parity bits calculated on the received data payload bits are different from the received parity bits, the difference implies the data bits being an error. For example, if D3 is received in error, the calculated parity bits P0, P1 and P2 are different from the received parity bits. Each parity bit P64, P32, P16, P8, P4, P2, P1 has a different '1' and they are the 7-bit binary words with the same '0', i.e. 0,0,0,0,0,1,1 This implies D3 where a single bit error occurred. P0 is always different when there is a single error in the payload. If there is a single '1' in the word (ie, only one calculated parity bit is different from the received parity bit), this indicates an error of the parity bit. If the calculated parity bit P0 is the same as the received P0 and at least one of the other parity is different, then there is a double error in the packet that cannot be corrected.

일부 실시예에 따르면, 상태 레지스터(249)(도 3)는 커맨드 패킷 불량이 발생함을 나타내는 추가 비트를 포함한다.According to some embodiments, status register 249 (FIG. 3) includes additional bits indicating that a command packet failure has occurred.

일 예에서, 포인트-투-포인트 링 토폴로지를 갖는 시스템의 하나 이상의 메모리 장치의 각각은 4개의 뱅크를 포함하는 메모리 장치이다. 그러한 예에서, 각각의 메모리 뱅크에 대해 대기/사용중 플래그 및 통과/불량 플래그를 포함하는 상태 레지스터의 완전 점유된 바이트일 수 있다. 그러므로, 추가 바이트는 아래의 표 3에 도시된 것처럼 추가되어야 한다.In one example, each of one or more memory devices in a system having a point-to-point ring topology is a memory device that includes four banks. In such an example, it may be a fully occupied byte of a status register containing a wait / busy flag and a pass / bad flag for each memory bank. Therefore, additional bytes should be added as shown in Table 3 below.

[표 3] : 실시예에 따른 상태 레지스터 정의, 및 커맨드 패킷 불량 플래그를 지지하는 상태 레지스터 정의Table 3: Status Register Definitions and Status Register Definitions Supporting Command Packet Bad Flags

Figure pct00003
Figure pct00003

R/Bn - 메모리 뱅크 n에 대한 대기/사용중 플래그 ('0' - 대기, '1' - 사용중)R / Bn-Wait / busy flag for memory bank n ('0'-standby, '1'-busy)

P/Fn - 메모리 뱅크 n에 대한 통과/불량 플래그 ('0' - 통과, '1' - 불량)P / Fn-pass / bad flag for memory bank n ('0'-pass, '1'-bad)

ERR - 커맨드 패킷 에러 플래그 ('0' - 에러 없음, '1' - 에러 검출 및 커맨드 비실행)ERR-command packet error flag ('0'-no error, '1'-error detection and command execution)

상술한 실시예에 대한 ERR 플래그는 지속적이다. 이는 판독 상태 레지스터 커맨드가 이후에 수신될 때까지 '1'을 유지하고, 그 이후에 클리어될 것이다.The ERR flag for the embodiment described above is persistent. This will keep '1' until a read status register command is subsequently received and will be cleared thereafter.

장치가 단일 비트 에러 정정을 지원하는 경우, 아래의 표 4에 도시된 상태 레지스터 포맷이 이용될 수 있다.If the device supports single bit error correction, the status register format shown in Table 4 below may be used.

[표 4]: 다른 실시예에 따른 상태 레지스터 정의, 상태 레지스터 정의는 커맨드 패킷 불량 플래그 및 단일 비트 에러 정정을 지원.[Table 4]: Status register definition, status register definition according to another embodiment supports command packet bad flag and single bit error correction.

Figure pct00004
Figure pct00004

R/Bn - 메모리 뱅크 n에 대한 대기/사용중 플래그 ('0' - 대기, '1' - 사용중)R / Bn-Wait / busy flag for memory bank n ('0'-standby, '1'-busy)

P/Fn - 메모리 뱅크 n에 대한 통과/불량 플래그 ('0' - 통과, '1' - 불량)P / Fn-pass / bad flag for memory bank n ('0'-pass, '1'-bad)

ERR1 - 커맨드 패킷 단일 비트 에러 플래그 ('0' - 에러 없음, '1' - 단일 비트 에러 검출 및 정정)ERR1-Command Packet Single Bit Error Flag ('0'-No Error, '1'-Single Bit Error Detection and Correction)

ERR2 - 커맨드 패킷 투 비트 에러 플래그 ( '0' - 에러 없거나 단일 비트 에러, '1' - 투 비트 에러 검출 및 커맨드 비실행)ERR2-Command packet to bit error flag ('0'-no error or single bit error, '1'-two bit error detected and command not executed)

상술한 상태 레지스터 이행 상세는 상이한 메모리 예에서 다를 것으로 이해된다. 예를 들면, 4개가 안되는 메모리 뱅크를 갖는 메모리에 대해, 단일 바이트 상태 레지스터를 사용하는 것에 대한 가능성이 고려된다. 또한, 2 보다 큰 바이트 상태 레지스터의 사용이 고려된다. 또한, 상태 비트는 상태 판독 커맨드가 수신될 때까지 지속적이거나 또는 다음의 임의의 유효 커맨드 수신시 클리어될 수 있다.It is understood that the above state register transition details are different in different memory examples. For example, for memory having fewer than four memory banks, the possibility of using a single byte status register is considered. Also, the use of byte status registers greater than two is contemplated. In addition, the status bit may be persistent until a status read command is received or cleared upon receipt of any next valid command.

적어도 하나의 실시예에 따르면, 제어기(310)(도 4)는 메모리 장치내에 있는 패리티 비트를 재계산함에 의해 또는 전송된 커맨드 패킷의 각각의 워드와 수신된 패킷을 간단히 비교함에 의해 커맨드 패킷 에러가 발생하였음을 결정할 수 있다. 후자의 접근법과 전자 사이의 차이는 후자의 접근법은 멀티-비트 에러를 식별할 수 있다는 점이다. 에러가 검출되는 경우, 제어기(310)는 상태 레지스터(249)를 판독하기 위하여 타겟 장치(200)에 상태 레지스터 판독 커맨드를 발급해야 한다. 다르게는, 장치 어드레스 필드 에러의 경우, 제어기(310)는 에러 플래그의 상태를 결정하기 위한 커맨드 패킷의 의도된 수신자인 것으로 틀리게 생각하는 장치(이하, 에러로 어드레스된 장치)에 상태 레지스터 판독 커맨드를 발급해야 한다.According to at least one embodiment, the controller 310 (FIG. 4) may generate a command packet error by recalculating the parity bits in the memory device or by simply comparing the received packet with each word of the transmitted command packet. It can be determined that it has occurred. The difference between the latter approach and the former is that the latter approach can identify multi-bit errors. If an error is detected, the controller 310 must issue a read status register command to the target device 200 to read the status register 249. Alternatively, in the case of a device address field error, the controller 310 may issue a status register read command to a device (hereinafter referred to as an error addressed device) which incorrectly believes to be the intended recipient of a command packet for determining the status of the error flag. Must be issued.

도 6은 실시예에 따른 방법(500)의 흐름도 형태를 도시한다. 먼저 단계 501에서, 제어기는 링 둘레를 순환한 이후에 커맨드 패킷을 수신하고, 제어기는 단계 503에서 에러를 검사한다. 에러가 없다면, 도시된 방법과 관련된 추가 동작이 없지만, 적어도 하나의 에러가 존재하는 경우, 단계 504로 진행한다.6 shows a flowchart form of a method 500 according to an embodiment. First in step 501, the controller receives a command packet after cycling around the ring, and the controller checks for errors in step 503. If there are no errors, there is no further action associated with the method shown, but if at least one error exists, step 504 is reached.

단계 504에서, ID 필드내에서 에러가 발생한지 여부에 대해 결정이 이뤄진다. 에러가 ID 필드내에 발생하지 않는 경우, 단계 509로 진행한다(단계 509는 본 명세서에서 후술함). 에러가 ID 필드내에서 발생하는 경우, 단계 506으로 진행한다. 단계 506에서, 제어기(310)(도 4)는 상태 판독 커맨드를 에러로 어드레스된 장치에 발급하고, 적절한 때에 에러로 어드레스된 장치의 상태 레지스터가 판독되도록 하고, 상태 레지스터를 나타내는 지속적인 에러 비트를 클리어할 것이다. 다음으로, 제어기는 단계 507에서 에러로 어드레스된 장치 바이트를 수신한다.In step 504, a determination is made as to whether an error has occurred in the ID field. If no error occurs in the ID field, flow proceeds to step 509 (step 509 is described later herein). If an error occurs in the ID field, go to Step 506. In step 506, the controller 310 (FIG. 4) issues a read status command to the device addressed with the error, causes the status register of the device addressed with the error to be read as appropriate, and clears the persistent error bit indicating the status register. something to do. The controller then receives the device byte addressed in error at step 507.

단계 509가 단계 507 다음에 온다. 단계 509에서, 타겟 장치의 레지스터가 판독되고, 다음 단계 510에 도시된 것처럼, 제어기(310)(도 4)는 링의 최후 장치로부터 타겟 장치의 에러 바이트(예를 들면, 앞의 표 3에 도시된 "Byte 1")를 수신한다. 이 단계는 타겟 장치에서의 지속적인 에러 비트 표시를 클리어할 것이다. 일부 예에서, 이러한 에러 바이트는 플래시 장치 인터페이스(326)를 통해 ECC 매니저(324)에 제공된다. 다음으로 단계 520에서, ECC 매니저(324)는 에러 바이트의 ERR 비트가 '0' 또는 '1'인지 여부를 결정할 수 있다. ERR 비트가 '0'인 경우, 이는 커맨드가 타겟 장치에서 적절히 수신되고, 타겟 장치 이후의 링의 어딘가에서 에러가 발생한 것을 의미한다. 그러한 경우에, 커맨드는 재발급될 필요가 없다. ERRo 비트가 '1'인 경우, 이는 타겟 장치 전의 어딘가에서 에러가 발생한 것을 의미한다. 그러한 경우, 커맨드는 재발급(단계 530)된다. 당업자에게 널리 알려진 것처럼, 커맨드 엔진(322)은 CPU(312)의 지시하에 커맨드의 재발급을 초래할 수 있다.Step 509 follows step 507. In step 509, the register of the target device is read, and as shown in the next step 510, the controller 310 (FIG. 4) shows an error byte of the target device (e.g., shown in Table 3 above) from the last device in the ring. Received "Byte 1"). This step will clear the persistent error bit indication at the target device. In some examples, such error bytes are provided to the ECC manager 324 via the flash device interface 326. Next, in step 520, the ECC manager 324 may determine whether the ERR bit of the error byte is '0' or '1'. If the ERR bit is '0', this means that the command is properly received at the target device and an error has occurred somewhere in the ring after the target device. In such a case, the command does not need to be reissued. If the ERRo bit is '1', this means that an error has occurred somewhere before the target device. If so, the command is reissued (step 530). As is well known to those skilled in the art, the command engine 322 may result in the reissue of commands under the instruction of the CPU 312.

일부 실시예에서, 링 내의 모든 장치는 커맨드 패킷을 에러에 대해 검사하고, 에러 플래그를 적절히 설정한다. 제어기(310)(도 4)는 어떤 지점에 에러가 발생하였고, 타겟 장치가 커맨드를 수신하고 실행하는지 여부를 결정하기 위하여 링내의 전체 장치의 상태 레지스터(249)(도 3)를 검사할 수 있다. 링내의 각각의 장치에 개별 상태 레지스터 커맨드를 전송하기 보다는, 다른 접근법은 방송 상태 판독 명령을 이용하는 것일 것이다. 전술한 미국 특허 공개 공보 제2008/0049505 A1와 일관되게, 방송 장치 어드레스(Broadcast Device Address)로 인식되는, 예를 들면 "11111111"과 같은 특수 장치 어드레스가 존재할 수 있다. 로컬 장치 ID와의 일반적 비교는 방송 장치 어드레스의 경우에는 무시된다.In some embodiments, every device in the ring checks the command packet for errors and sets the error flag appropriately. The controller 310 (FIG. 4) may check the status register 249 (FIG. 3) of the entire device in the ring to determine whether an error has occurred and at which point the target device receives and executes the command. . Rather than sending a separate status register command to each device in the ring, another approach would be to use a broadcast status read command. Consistent with the aforementioned U.S. Patent Publication No. 2008/0049505 A1, there may be a special device address, for example, "11111111", which is recognized as a Broadcast Device Address. The general comparison with the local device ID is ignored for the broadcast device address.

도 7은 실시예에 따른 방송 상태 판독 커맨드의 동작을 도시하는 타이밍도이다. 타이밍도에서, 링 내의 하나 이상의 장치를 통해 통신되는 방송 상태 판독 커맨드의 속성과 관련하여 명백한 도식적 상세를 제공하기 위하여 예를 들면 D0, Q0/D1, Q1/D2에 대한 신호 도식에 의해 복수의 장치가 표시된다.7 is a timing diagram illustrating an operation of a broadcast status read command according to the embodiment. In the timing diagram, a plurality of devices may be provided, for example, by signal diagrams for D0, Q0 / D1, Q1 / D2 to provide clear schematic details with respect to the attributes of the broadcast status read command communicated via one or more devices in the ring. Is displayed.

도 7의 도식적 실시예에 따르면, 장치 0는 CSI0 신호에 의해 표시되는 D0 상의 2-바이트 방송 판독 상태 커맨드를 수신한다. 수 클럭 사이클 후에, 상태 레지스터의 콘텐츠가 Q0 상에서 출력되어야 함을 나타내는 데이터 스트로브 신호 DSI0를 수신한다. 장치 0은 일 클럭 사이클에 의해 출력 데이터 스트로브 DSO0를 연장하고, DSO0 스트로브의 연장된 부분에 의해 표시되는 타임슬롯내의 Q0 상의 2 바이트 상태 레지스터 데이터를 출력한다. 이러한 방식으로, 데이터 스트로브 펄스의 길이는 링 상의 각각의 장치와 함께 증가하여 링 상의 모든 장치로부터의 상태 정보의 폭발(burst)을 제공한다. 이 커맨드는 전체 장치가 에러에 대한 커맨드 패킷을 검사하는 경우에 링내의 어디에 커맨드 패킷 에러가 발생하는지를 결정하는데 유용하다. 이는 또한 상이한 메모리 장치에서 동시에 발생하는 다중 판독, 프로그램, 및 소거 동작의 상태를 검사하기 위한 일반 동작에서 유용하다.According to the schematic embodiment of FIG. 7, device 0 receives a 2-byte broadcast read status command on D0 indicated by the CSI0 signal. After a few clock cycles, a data strobe signal DSI0 is received indicating that the contents of the status register should be output on Q0. Device 0 extends the output data strobe DSO0 by one clock cycle and outputs two byte status register data on Q0 in the timeslot indicated by the extended portion of the DSO0 strobe. In this way, the length of the data strobe pulses increases with each device on the ring to provide a burst of status information from all devices on the ring. This command is useful for determining where command packet errors occur in a ring when the entire device checks the command packets for errors. It is also useful in normal operation to check the status of multiple read, program, and erase operations occurring simultaneously in different memory devices.

모든 장치가 동일한 길이 2-바이트 상태 레지스터를 갖는 방송 상태 판독 동작이 설명되었다. 이 기술은 상이한 상태 레지스터 길이를 갖는 장치에 대해서도 적용할 수 있다. 링 초기화에 대해, 제어기는 각각의 장치의 장치 정보 레지스터를 판독하고, 각각의 장치의 상태 레지스터의 길이를 결정한다. 방송 레지스터 판독 동작 동안, 각각의 장치는 그 상태 레지스터 정보를 길이와 상관없이 버스트로 첨부하고, 출력 데이터 스트로브를 이러한 첨부된 정보를 포괄하도록 연장한다. 상태 정보의 전체 버스트를 수신하면, 제어기는 각각의 장치로부터 기대되는 바이트의 수를 인지하고, 이 정보를 분리할 수 있다.A broadcast status read operation has been described in which all devices have the same length 2-byte status register. This technique is also applicable to devices with different status register lengths. For ring initialization, the controller reads the device information register of each device and determines the length of the status register of each device. During a broadcast register read operation, each device appends its status register information in bursts of any length and extends the output data strobes to encompass this attached information. Upon receiving the full burst of status information, the controller knows the number of bytes expected from each device and can separate this information.

상술한 에러 검출 및/또는 정정을 지원하는 메모리 장치는 에러 검출 및/또는 정정이 디스에이블되도록 프로그램될 수 있다. 예를 들면, 리셋시 메모리 장치는 에러 검출 및 정정을 디스에이블이 되도록 할 수 있다. 제어기가 에러 검출 및/또는 정정을 채용하기를 원하는 경우, 예를 들면 이들 기능을 인에이블하기 위하여 각각의 메모리 장치내의 제어 레지스터내에 하나 이상의 비트를 기록할 수 있다. 제어기가 이들 기능을 디스에이블하는 경우, 각각의 커맨드 패킷의 끝에서의 추가 패리티 비트가 하나의 버스 타임슬롯을 세이브하기 위하여 제거되거나 또는 메모리 장치에 의해 무시될 널 데이터로 로딩될 수 있다. 이러한 방식으로, 저가 시스템은 에러 정정 및/또는 검출을 지원할 필요가 없으나, 공통 메모리 장치는 이러한 커맨드 패킷 에러 검출 및/또는 정정을 필요로 하는 경우 외에 저가 시스템에 제공될 수 있다.Memory devices that support the error detection and / or correction described above can be programmed to disable error detection and / or correction. For example, upon reset, the memory device may disable error detection and correction. If the controller wants to employ error detection and / or correction, it may write one or more bits in a control register in each memory device, for example, to enable these functions. When the controller disables these functions, an additional parity bit at the end of each command packet can be removed to save one bus timeslot or loaded with null data to be ignored by the memory device. In this way, a low cost system does not need to support error correction and / or detection, but a common memory device can be provided to a low cost system in addition to those requiring such command packet error detection and / or correction.

일부 예에서, 이전에 설명된 방식과 유사한 에러 검출 및 정정 방식이 제공되며, 판독 및 기록 데이터에 적용된다. 이러한 추가 방식의 특정 이행에서, 커맨드 패킷에 대해 채용되는 것과 동일한 패리티 검사 로직 회로가 칩 면적 및 복잡성을 줄이기 위해 활용될 수 있다. 이하의 표 5는 커맨드 패리티 바이트 및 데이터 패리티 바이트를 갖는 기록 데이터 패킷의 예를 설명한다.In some examples, error detection and correction schemes similar to those described previously are provided and applied to read and write data. In certain implementations of this additional approach, the same parity check logic circuitry employed for the command packets can be utilized to reduce chip area and complexity. Table 5 below describes an example of a write data packet having a command parity byte and a data parity byte.

[표 5] : 커맨드 패리티 바이트 및 데이터 패리티 바이트를 갖는 기록 데이터 패킷의 예[Table 5]: Example of a write data packet having a command parity byte and a data parity byte

Figure pct00005
Figure pct00005

표 5의 예에서, 바이트 0 내지 4는 전술한 것처럼 커맨드 부분과 기능을 포함한다. 전체 페이지 크기까지의 기록 데이터 바이트의 임의 수가 커맨드 부분 다음에 온다. 패킷내의 마지막 바이트는 기록 데이터 바이트 상에서 계산된 기록 데이터 패리티 바이트이다. 전술한 동일한 SECDED 해밍 코드가 사용되는 경우, 15바이트까지의 단일 에러 정정 커버리지만을 제공할 것이다. 15 바이트 이후로는 패리티 등식은 간단히 랩 어라운드(wrap-around)하며, 단일 비트 에러 정정은 더이상 이행되지 않는다. 다르게는, 큰 데이터 패킷에 대한 우수한 에러 커버리지를 갖는 보다 강한 CRC 코드가 선택될 수 있다. 커맨드 및 데이터에 대한 개별 에러 검출 비트가 상태 레지스터내에 제공될 수 있다.In the example of Table 5, bytes 0-4 contain command portions and functions as described above. Any number of write data bytes up to the full page size follows the command portion. The last byte in the packet is the write data parity byte calculated on the write data byte. If the same SECDED Hamming code described above is used, it will only provide a single error correction coverage of up to 15 bytes. After 15 bytes, the parity equation simply wraps around, and single bit error correction is no longer implemented. Alternatively, a stronger CRC code may be selected with good error coverage for large data packets. Separate error detection bits for commands and data may be provided in the status register.

판독 데이터 패리티에 대해, 유사한 방식으로 달성될 수 있다. 내부 메모리 어레이로부터 데이터를 판독하면, 메모리 장치는 판독 데이터 패킷의 끝에 첨부하기 위하여 패리티 바이트를 계산할 것이다. 제어기는 데이터 스트로브 신호의 길이를 제어함에 의해 판독될 바이트의 수를 결정한다. 메모리 장치가 판독 데이터 버스트를 종료하는 데이터 스트로브 신호의 하강 에지를 검출하는 경우, 메모리 장치는 누적 패리티 바이트를 출력한다. 판독 데이터를 수신하면, 제어기는 동일한 패리티 계산을 수행하고, 그 결과를 비트 에러가 존재하는지 여부를 결정하기 위하여 판독 데이터의 끝에 첨부된 수신된 패리티 바이트와 비교한다. 사용자가 에러 정정 코드를 레지스터 데이터에 중첩할 수 있는 방법이 없으므로, 이는 상태 레지스터 판독 커맨드와 같은 레지스터 판독 커맨드를 위해 특히 유용하다. 메모리 어레이로 및 로부터의 통상의 판독 및 기록 데이터로, 사용자는 데이터를 저장하기 위하여 적절한 에러 검출 코드를 선택할 수 있다.For read data parity, it can be achieved in a similar manner. Reading data from the internal memory array, the memory device will calculate a parity byte to append to the end of the read data packet. The controller determines the number of bytes to be read by controlling the length of the data strobe signal. When the memory device detects the falling edge of the data strobe signal that terminates the read data burst, the memory device outputs a cumulative parity byte. Upon receiving the read data, the controller performs the same parity calculation and compares the result with the received parity byte appended to the end of the read data to determine if a bit error exists. This is particularly useful for register read commands, such as status register read commands, since there is no way for a user to superimpose error correction codes on register data. With normal read and write data to and from the memory array, the user can select an appropriate error detection code to store the data.

일부 실시예가 포인트-투-포인트 링 토폴로지를 갖는 시스템과 관련하여 도시되고 설명되었지만, 시스템의 제어기 장치와 시스템의 복수의 반도체 메모리 장치 사이에 존재하는 직렬 연결 구성이 있으므로, 예를 들면 멀티-드롭 시스템으로 표현될 수 있는 다른 유형의 시스템과 관련된 일부 다른 실시예가 이해될 것이다.Although some embodiments have been shown and described with respect to a system having a point-to-point ring topology, there are, for example, multi-drop systems because there is a series connection configuration existing between the controller device of the system and the plurality of semiconductor memory devices of the system. Some other embodiments related to other types of systems that can be represented by will be understood.

다른 변형예도 가능하다. 예를 들면, 표 3 및 4와 관련하여 전술한 4-뱅크 메모리 장치 예와 유사한 다른 예에서, 포인트-투-포인트 링 토폴로지를 갖는 시스템의 하나 또는 그 이상의 메모리 장치 각각은 브리징 장치 및 4개의 이산 메모리 장치를 포함하는 복합 메모리이다. (고려된 복합 메모리에 관한 추가 상세에 대해서는, 미국 특허 출원 번호 12/401,963 "A Composite Memory Having a Bridging Device for Connecting Discrete Memory Devices to a System"을 참조로 하고, 그 전체 내용이 참조로 포함된다.) 그러한 예에서, 상태 레지스터는 브리징 장치에 존재할 수 있다.Other variations are also possible. For example, in another example similar to the four-bank memory device example described above with respect to Tables 3 and 4, each of one or more memory devices of a system having a point-to-point ring topology is a bridging device and four discrete devices. It is a compound memory including a memory device. (For further details regarding the composite memory considered, see US Patent Application No. 12 / 401,963 "A Composite Memory Having a Bridging Device for Connecting Discrete Memory Devices to a System", the entire contents of which are incorporated by reference. In such an example, the status register may be present in the bridging device.

다수개의 실시예가 예를 들면 NAND 플래시 EEPROM 장치(들), NOR 플래시 EEPROM 장치(들), AND 플래시 EEPROM 장치(들), DiNOR 플래시 EEPROM 장치(들), 직렬 플래시 EEPROM 장치(들), DRAM 장치(들), SRAM 장치(들), Ferro RAM 장치(들), Magnetic RAM 장치(들), 상변화 RAM 장치(들), 또는 이 장치들의 적절한 조합과 같은 적합한 고상 메모리 시스템에 적용될 수 있다. 이 기술은 단일 버스 마스터 및 다중 슬레이브 또는 다중 버스 마스터 구성으로 조직된지 여부를 링 또는 다른 상호결선 토폴로지를 통해 통신하는 메모리 및 비메모리 장치 모두에 적용가능하다. Multiple embodiments include, for example, NAND flash EEPROM device (s), NOR flash EEPROM device (s), AND flash EEPROM device (s), DiNOR flash EEPROM device (s), serial flash EEPROM device (s), DRAM device (s). S), SRAM device (s), Ferro RAM device (s), Magnetic RAM device (s), phase change RAM device (s), or any suitable combination of these devices. This technique is applicable to both memory and non-memory devices that communicate over a ring or other interconnection topology whether organized in a single bus master and multiple slave or multiple bus master configurations.

소자가 다른 소자에 "연결(connected)" 또는 "결합(coupled)"되는 것으로 칭하는 경우, 이는 다른 소자에 직접 연결 또는 결합되거나 또는 중간 소자가 존재할 수 있다. 대조적으로, 소자가 여기서 다른 소자에 "직접적으로 연결(directly connected)" 또는 "직접적으로 결합(directly copuled)"이라 칭하는 경우, 중간 소자가 존재하지 않는다. 소자들 사이의 관계를 기술하는데 사용되는 다른 용어는 유사한 방식(즉, "사이(between)"와 "사이에 직접(directly between)", "인접(adjacent)"과 "직접 인접(directly adjacent)" 등)으로 해석되어야 할 것이다.When an element is referred to as being "connected" or "coupled" to another element, it may be directly connected or coupled to another element or an intermediate element may be present. In contrast, when an element is referred to herein as "directly connected" or "directly copuled" to another element, there is no intermediate element. Other terms used to describe the relationships between devices are similar in nature (ie, "between" and "directly between", "adjacent" and "directly adjacent"). Etc.).

설명된 실시예에 대해 일정한 변형 및 개조가 가능하다. 그러므로, 상술한 실시예는 설명에 도움이 되기 위한 것이며 제한적이지 않은 것으로 이해될 것이다.
Certain modifications and variations are possible to the described embodiment. Therefore, it is to be understood that the foregoing embodiments are intended to be illustrative, and not restrictive.

Claims (41)

메모리 장치로서,
패킷을 수신하기 위한 입력으로서, 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하기 위한 패리티 비트를 포함하는, 입력;
상기 패리티 비트를 기초로 에러가 상기 적어도 하나의 커맨드 바이트내에 존재하는지 여부를 검출하도록 구성된 에러 매니저; 및
상기 에러 매니저에 상기 패킷을 제공하도록 구성된 회로
를 포함하는, 메모리 장치.
As a memory device,
An input for receiving a packet, wherein the first portion of the packet includes at least one command byte and the second portion of the packet includes a parity bit to enable command error detection;
An error manager configured to detect whether an error exists in the at least one command byte based on the parity bit; And
Circuitry configured to provide the packet to the error manager
Including, the memory device.
청구항 1에 있어서, 상기 에러 매니저는 또한, 상기 메모리 장치가 에러를 정정할 수 있는지 여부를 결정하도록 구성되는, 메모리 장치.The memory device of claim 1, wherein the error manager is further configured to determine whether the memory device can correct an error. 청구항 2에 있어서, 상기 에러 매니저는 또한, 상기 에러가 정정될 수 있는 경우 상기 에러를 정정하도록 구성되는, 메모리 장치.The memory device of claim 2, wherein the error manager is further configured to correct the error if the error can be corrected. 청구항 1에 있어서, 상기 에러 매니저는 또한, 상기 에러가 정정될 수 없는 메모리 동작을 초래하는 에러인지 여부를 식별하도록 구성되는, 메모리 장치.The memory device of claim 1, wherein the error manager is further configured to identify whether the error is an error resulting in a memory operation that cannot be corrected. 청구항 4에 있어서, 상기 메모리 장치는 플래시 메모리 장치이며, 상기 메모리 동작은 프로그램 동작 및 소거 동작 중 선택된 하나로 구성된, 메모리 장치.The memory device of claim 4, wherein the memory device is a flash memory device, and the memory operation comprises one selected from a program operation and an erase operation. 청구항 4에 있어서, 상기 에러 매니저는 또한, 상기 에러가 정정될 수 없는 메모리 동작을 초래하는 에러임의 표시를, 그러한 에러의 포지티브 식별시, 제공하도록 구성되는, 메모리 장치.The memory device of claim 4, wherein the error manager is further configured to provide, upon positive identification of such an error, an indication that the error is an error resulting in a memory operation that cannot be corrected. 청구항 1 내지 6 중 어느 한 항에 있어서, 상기 에러 매니저는 선택적으로 디스에이블될수 있는, 메모리 장치.The memory device of claim 1, wherein the error manager can be selectively disabled. 청구항 7에 있어서, 다수의 비트의 정보 및 상기 에러 매니저가 디스에이블되는지 여부를 표시하는 적어도 하나의 비트를 저장하도록 구성되는 제어 레지스터를 더 포함하는, 메모리 장치.8. The memory device of claim 7, further comprising a control register configured to store a plurality of bits of information and at least one bit indicating whether the error manager is disabled. 청구항 1 내지 6 중 어느 한 항에 있어서, 상기 메모리 장치는 비휘발성 메모리 장치인, 메모리 장치.The memory device of claim 1, wherein the memory device is a nonvolatile memory device. 청구항 9에 있어서, 상기 비휘발성 메모리 장치는 NAND 플래시 메모리 장치인, 메모리 장치.The memory device of claim 9, wherein the nonvolatile memory device is a NAND flash memory device. 청구항 1 내지 6 중 어느 한 항에 있어서, 상기 패리티 비트는 해밍(Hamming) 코드 에러 검출 방식에 따라 커맨드 에러 검출을 가능하게 하는, 메모리 장치.The memory device as claimed in claim 1, wherein the parity bit enables command error detection in accordance with a Hamming code error detection scheme. 시스템으로서,
복수개의 반도체 메모리 장치; 및
상기 장치와 통신하기 위한 제어기 장치를 포함하며, 상기 제어기 장치는:
메모리 장치로 가는 패킷을 생성하기 위한 커맨드 엔진으로서, 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하는 패리티 비트를 포함하는, 커맨드 엔진; 및
상기 패킷을 상기 복수개의 반도체 메모리 장치 중 제1 장치에 출력할 수 있는 출력을 포함하며,
상기 시스템의 상기 제어기 장치와 상기 반도체 메모리 장치 사이에 직렬-상호 연결 구조가 존재하며, 상기 시스템은 포인트-투-포인트 링 토폴로지를 갖는, 시스템.
As a system,
A plurality of semiconductor memory devices; And
A controller device for communicating with the device, the controller device comprising:
A command engine for generating a packet destined for a memory device, the first portion of the packet including at least one command byte and the second portion of the packet including parity bits to enable command error detection. engine; And
An output capable of outputting the packet to a first device of the plurality of semiconductor memory devices,
And there is a series-interconnect structure between said controller device and said semiconductor memory device of said system, said system having a point-to-point ring topology.
청구항 12에 있어서, 상기 제어기 장치는 에러 매니저를 더 포함하는, 시스템.The system of claim 12, wherein the controller device further comprises an error manager. 청구항 13에 있어서, 상기 복수의 반도체 메모리 장치의 각각은 에러 매니저를 포함하는, 시스템.The system of claim 13, wherein each of the plurality of semiconductor memory devices comprises an error manager. 청구항 13에 있어서, 상기 제어기 장치는 에러로 어드레스된 장치 에러 바이트를 수신하도록 구성되고, 상기 에러 매니저는 의도된 타겟 장치 이전의 장치가 에러로 어드레스되었는지 여부를 결정하기 위하여 상기 에러로 어드레스된 장치 에러 바이트를 처리하도록 구성되는, 시스템.15. The apparatus of claim 13, wherein the controller device is configured to receive an error addressed device error byte, and wherein the error manager is configured to determine whether the device prior to the intended target device is addressed as an error. The system is configured to process bytes. 청구항 12 내지 15 중 어느 한 항에 있어서, 상기 커맨드 엔진은 상기 의도된 타겟 장치 이전의 상기 장치가 에러로 어드레스된 경우 커맨드의 재발급을 초래하도록 구성되는, 시스템.The system of claim 12, wherein the command engine is configured to cause a reissue of a command if the device prior to the intended target device is addressed in error. 청구항 12에 있어서, 상기 복수개의 반도체 메모리 장치 각각의 상태 레지스터 각각의 정보가 순차적인 방식으로 상기 제어기 장치에 제공될 수 있도록, 상기 커맨드 엔진은 상기 복수개의 반도체 메모리 장치 각각에 의해 수신될 수 있는 브로드캐스트 커맨드를 생성할 수 있는, 시스템.The method of claim 12, wherein the command engine is configured to receive a broadcast that can be received by each of the plurality of semiconductor memory devices so that information in each status register of each of the plurality of semiconductor memory devices can be provided to the controller device in a sequential manner. A system capable of generating cast commands. 청구항 17에 있어서, 상기 제어기 장치는 링 토폴로지내의 어떤 포인트에서 에러가 발생했는지를 결정하고, 상기 브로드캐스트 커맨드 이전에 상기 제어기 장치에 의해 발급된 커맨드를 타겟 장치가 수신 및 실행했는지 여부를 결정하기 위하여 정보를 처리하도록 구성되는 에러 매니저를 더 포함하는, 시스템.18. The apparatus of claim 17, wherein the controller device determines at what point in the ring topology an error has occurred and whether the target device has received and executed a command issued by the controller device prior to the broadcast command. Further comprising an error manager configured to process the information. 청구항 12 내지 15 및 17 내지 18 중 어느 한 항에 있어서, 상기 패리티 비트는 해밍 코드 에러 검출 방식에 따라 커맨드 에러 검출을 가능하게 하는, 시스템.19. The system of any of claims 12-15 and 17-18, wherein the parity bits enable command error detection in accordance with a Hamming code error detection scheme. 청구항 12 내지 15 및 17 내지 18 중 어느 한 항에 있어서, 상기 복수개의 반도체 메모리 장치는 비휘발성 메모리 장치인, 시스템.19. The system of any of claims 12-15 and 17-18, wherein the plurality of semiconductor memory devices is a nonvolatile memory device. 청구항 20에 있어서, 상기 비휘발성 메모리 장치는 NAND 플래시 메모리 장치인, 시스템.The system of claim 20, wherein the nonvolatile memory device is a NAND flash memory device. 패킷을 수신하기 위한 입력을 갖는 메모리 장치내에서 실행되는 방법으로서,
패킷을 수신하는 단계 - 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하기 위한 패리티 비트를 포함함 - ; 및
상기 패리티 비트를 기초로 상기 적어도 하나의 커맨드 바이트내에 에러가 존재하는지 여부를 검출하는 단계
를 포함하는, 방법.
A method executed in a memory device having an input for receiving a packet, the method comprising:
Receiving a packet, wherein the first portion of the packet includes at least one command byte and the second portion of the packet includes parity bits to enable command error detection; And
Detecting whether there is an error in the at least one command byte based on the parity bits
Including, the method.
청구항 22에 있어서, 상기 메모리 장치가 에러를 정정할 수 있는지 여부를 결정하는 단계를 더 포함하는, 방법.The method of claim 22, further comprising determining whether the memory device can correct an error. 청구항 23에 있어서, 상기 에러가 정정될 수 있다면 에러를 정정하는 단계를 더 포함하는, 방법.24. The method of claim 23, further comprising correcting the error if the error can be corrected. 청구항 22에 있어서, 상기 에러가 정정될 수 없는 메모리 동작을 초래하는 에러인지 여부를 식별하는 단계를 더 포함하는, 방법.The method of claim 22, further comprising identifying whether the error is an error resulting in an uncorrectable memory operation. 청구항 25에 있어서, 상기 메모리 동작은 프로그램 동작 및 소거 동작 중 선택된 하나로 구성되는, 방법.27. The method of claim 25, wherein the memory operation consists of a selected one of a program operation and an erase operation. 청구항 25에 있어서, 상기 에러가 정정될 수 없는 메모리 동작을 초래하는 에러임의 장치 내부 표시를, 그러한 에러의 포지티브 식별시, 생성하는 단계를 더 포함하는, 방법.26. The method of claim 25, further comprising generating, upon positive identification of such an error, a device internal indication that the error results in a memory operation that cannot be corrected. 청구항 22 내지 27 중 어느 한 항에 있어서, 상기 패리티 비트는 해밍 코드 에러 검출 방식에 따라 커맨드 에러 검출을 가능하게 하는, 방법.28. The method of any one of claims 22 to 27, wherein the parity bits enable command error detection in accordance with a Hamming code error detection scheme. 장치로서,
패킷을 수신하기 위한 수단으로서, 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하기 위한 패리티 비트를 포함하는, 수단;
상기 패리티 비트를 기초로 상기 적어도 하나의 커맨드 바이트내에 에러가 존재하는지 여부를 검출하기 위한 수단; 및
상기 패킷을 에러 매니저에게 제공하기 위한 수단
을 포함하는, 장치.
As a device,
Means for receiving a packet, wherein the first portion of the packet comprises at least one command byte and the second portion of the packet includes parity bits for enabling command error detection;
Means for detecting whether an error exists in the at least one command byte based on the parity bit; And
Means for providing the packet to an error manager
Including, the device.
청구항 29에 있어서, 상기 검출 수단은 상기 장치가 상기 에러를 정정할 수 있는지 여부를 결정하도록 구성되는, 장치.30. The apparatus of claim 29, wherein the means for detecting is configured to determine whether the apparatus can correct the error. 청구항 30에 있어서, 상기 검출 수단은 또한, 상기 에러가 정정될 수 있는 경우, 상기 에러를 정정하도록 구성되는, 장치.31. The apparatus according to claim 30, wherein the detecting means is further configured to correct the error if the error can be corrected. 청구항 29에 있어서, 상기 검출 수단은 또한, 상기 에러가 정정될 수 없는 메모리 동작을 초래하는 에러인지 여부를 식별하도록 구성되는, 장치.30. The apparatus of claim 29, wherein the means for detecting is further configured to identify whether the error is an error resulting in an uncorrectable memory operation. 청구항 32에 있어서, 상기 검출 수단은 또한, 상기 에러가 정정될 수 없는 상기 메모리 동작을 초래하는 에러임의 표시를, 그러한 에러의 포지티브 식별시, 제공하도록 구성되는, 장치.33. The apparatus of claim 32, wherein the means for detecting is further configured to provide, upon positive identification of such an error, an indication of the error resulting in the memory operation that the error cannot be corrected. 청구항 29 내지 33 중 어느 한 항에 있어서, 상기 검출 수단은 선택적으로 디스에이블될 수 있는, 장치.34. The apparatus according to any one of claims 29 to 33, wherein the detection means can be selectively disabled. 시스템으로서,
복수개의 반도체 메모리 장치; 및
상기 장치와 통신하기 위한 제어기 수단을 포함하며, 상기 제어기 수단은:
메모리 장치로 가는 패킷을 생성하기 위한 수단으로서, 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하기 위한 패리티 비트를 포함하는, 수단; 및
상기 패킷을 상기 복수개의 반도체 메모리 장치 중 제1 장치에 출력하기 위한 수단을 포함하며,
상기 시스템의 반도체 메모리 장치들 사이에 직렬-상호 연결 구조가 존재하며, 상기 시스템은 포인트-투-포인트 링 토폴로지를 갖는, 시스템.
As a system,
A plurality of semiconductor memory devices; And
Controller means for communicating with the apparatus, the controller means being:
Means for generating a packet destined for a memory device, wherein the first portion of the packet comprises at least one command byte and the second portion of the packet includes parity bits for enabling command error detection. ; And
Means for outputting the packet to a first one of the plurality of semiconductor memory devices,
And a series-interconnect structure between the semiconductor memory devices of said system, said system having a point-to-point ring topology.
청구항 35에 있어서, 상기 제어기 수단은 에러 매니저를 더 포함하는, 시스템.36. The system of claim 35, wherein the controller means further comprises an error manager. 청구항 36에 있어서, 상기 복수개의 반도체 메모리 장치 각각은 에러 매니저를 포함하는, 시스템.37. The system of claim 36, wherein each of the plurality of semiconductor memory devices comprises an error manager. 청구항 36에 있어서, 상기 제어기 수단은 에러로 어드레스된 장치 에러 바이트를 수신하도록 구성되고, 상기 에러 매니저는 의도된 타겟 장치 이전의 장치가 에러로 어드레스되었는지 여부를 결정하기 위하여 상기 에러로 어드레스된 장치 에러 바이트를 처리하도록 구성되는, 시스템.37. The apparatus of claim 36, wherein the controller means is configured to receive an error addressed device error byte, and wherein the error manager is configured to determine whether the device prior to the intended target device is addressed as an error. The system is configured to process bytes. 청구항 35 내지 38 중 어느 한 항에 있어서, 상기 생성 수단은 상기 의도된 타겟 장치 이전의 상기 장치가 에러로 어드레스된 경우 커맨드의 재발급을 초래하도록 구성되는, 시스템.39. The system of any one of claims 35 to 38, wherein the generating means is configured to cause a reissue of a command if the device before the intended target device is addressed in error. 청구항 35에 있어서, 상기 복수개의 반도체 메모리 장치 각각의 레지스터 수단 각각의 정보가 순차적인 방식으로 상기 제어기 수단에 제공될 수 있도록, 상기 생성 수단은 상기 복수개의 반도체 메모리 장치 각각에 의해 수신될 수 있는 브로드캐스트 커맨드를 생성할 수 있는, 시스템.36. The apparatus of claim 35, wherein the generating means is received by each of the plurality of semiconductor memory devices so that information in each of the register means of each of the plurality of semiconductor memory devices can be provided to the controller means in a sequential manner. A system capable of generating cast commands. 메모리 장치로서,
패킷을 수신하기 위한 수단으로서, 상기 패킷의 제1 부분은 적어도 하나의 커맨드 바이트를 포함하고, 상기 패킷의 제2 부분은 커맨드 에러 검출을 가능하게 하기 위한 패리티 비트를 포함하는, 수단;
상기 패리티 비트를 기초로 상기 적어도 하나의 커맨드 바이트내에 에러가 존재하는지 여부를 검출하기 위한 수단
을 포함하는, 메모리 장치.
As a memory device,
Means for receiving a packet, wherein the first portion of the packet comprises at least one command byte and the second portion of the packet includes parity bits for enabling command error detection;
Means for detecting whether an error exists in the at least one command byte based on the parity bit
Including, a memory device.
KR1020117009393A 2008-12-18 2009-12-10 Error detection method and a system including one or more memory devices KR101687038B1 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US13857508P 2008-12-18 2008-12-18
US61/138,575 2008-12-18
US14014708P 2008-12-23 2008-12-23
US61/140,147 2008-12-23
US12/418,892 US8880970B2 (en) 2008-12-23 2009-04-06 Error detection method and a system including one or more memory devices
US12/418,892 2009-04-06
PCT/CA2009/001777 WO2010069045A1 (en) 2008-12-18 2009-12-10 Error detection method and a system including one or more memory devices

Publications (2)

Publication Number Publication Date
KR20110103388A true KR20110103388A (en) 2011-09-20
KR101687038B1 KR101687038B1 (en) 2016-12-15

Family

ID=42268218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117009393A KR101687038B1 (en) 2008-12-18 2009-12-10 Error detection method and a system including one or more memory devices

Country Status (6)

Country Link
EP (1) EP2359372B1 (en)
JP (2) JP5753988B2 (en)
KR (1) KR101687038B1 (en)
CN (1) CN102257573B (en)
TW (1) TWI517174B (en)
WO (1) WO2010069045A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2901457A4 (en) * 2012-09-28 2016-04-13 Hewlett Packard Development Co Dynamically selecting between memory error detection and memory error correction
KR20170086345A (en) * 2016-01-18 2017-07-26 에스케이하이닉스 주식회사 Memory system having memory chip and memory controller
CN107134294B (en) * 2017-05-27 2020-04-24 北京东土军悦科技有限公司 ECC information acquisition method and system
CN107239363B (en) * 2017-05-27 2020-04-24 北京东土军悦科技有限公司 ECC information reporting method and system
KR102433098B1 (en) 2018-02-26 2022-08-18 에스케이하이닉스 주식회사 Address generting circuit, address and command generating circuit and semiconductor system
US11200118B2 (en) 2019-08-29 2021-12-14 Micron Technology, Inc. Semiconductor device with modified command and associated methods and systems
US11042436B2 (en) 2019-08-29 2021-06-22 Micron Technology, Inc. Semiconductor device with modified access and associated methods and systems
US10963336B2 (en) * 2019-08-29 2021-03-30 Micron Technology, Inc. Semiconductor device with user defined operations and associated methods and systems
KR20210093610A (en) 2020-01-20 2021-07-28 에스케이하이닉스 주식회사 Nonvolatile memory device and memory system including the same
KR20220139199A (en) * 2021-04-07 2022-10-14 삼성전자주식회사 Semiconductor memory devices and memory systems including the same
US11822793B2 (en) 2022-04-04 2023-11-21 Western Digital Technologies, Inc. Complete and fast protection against CID conflict

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148482A1 (en) * 2003-01-13 2004-07-29 Grundy Kevin P. Memory chain
US20070162824A1 (en) * 2004-01-30 2007-07-12 Micron Technology, Inc. Error detection and correction scheme for a memory device

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826068A (en) * 1994-11-09 1998-10-20 Adaptec, Inc. Integrated circuit with a serial port having only one pin
US5938742A (en) * 1995-08-18 1999-08-17 General Magic, Inc. Method for configuring an intelligent low power serial bus
US6691257B1 (en) * 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
US20040237001A1 (en) * 2003-05-21 2004-11-25 Sun Microsystems, Inc. Memory integrated circuit including an error detection mechanism for detecting errors in address and control signals
DE10335978B4 (en) * 2003-08-06 2006-02-16 Infineon Technologies Ag Hub module for connecting one or more memory modules
US7143207B2 (en) * 2003-11-14 2006-11-28 Intel Corporation Data accumulation between data path having redrive circuit and memory device
DE102004004796B4 (en) * 2004-01-30 2007-11-29 Infineon Technologies Ag Device for data transmission between memories
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
JP2006065697A (en) * 2004-08-27 2006-03-09 Hitachi Ltd Storage device control apparatus
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US8335868B2 (en) 2006-03-28 2012-12-18 Mosaid Technologies Incorporated Apparatus and method for establishing device identifiers for serially interconnected devices
US20070271495A1 (en) * 2006-05-18 2007-11-22 Ian Shaeffer System to detect and identify errors in control information, read data and/or write data
EP2487794A3 (en) 2006-08-22 2013-02-13 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US7904639B2 (en) * 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
CN101506895B (en) * 2006-08-22 2012-06-27 莫塞德技术公司 Scalable memory system
US8407395B2 (en) * 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
US8700818B2 (en) 2006-09-29 2014-04-15 Mosaid Technologies Incorporated Packet based ID generation for serially interconnected devices
US7937641B2 (en) * 2006-12-21 2011-05-03 Smart Modular Technologies, Inc. Memory modules with error detection and correction
KR101308047B1 (en) * 2007-02-08 2013-09-12 삼성전자주식회사 Memory system, memory for the same, and command decoding method of the memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148482A1 (en) * 2003-01-13 2004-07-29 Grundy Kevin P. Memory chain
US20070162824A1 (en) * 2004-01-30 2007-07-12 Micron Technology, Inc. Error detection and correction scheme for a memory device

Also Published As

Publication number Publication date
EP2359372A4 (en) 2017-06-21
TWI517174B (en) 2016-01-11
CN102257573A (en) 2011-11-23
JP2015099598A (en) 2015-05-28
EP2359372A1 (en) 2011-08-24
KR101687038B1 (en) 2016-12-15
JP2012512467A (en) 2012-05-31
CN102257573B (en) 2014-11-05
EP2359372B1 (en) 2020-04-08
WO2010069045A1 (en) 2010-06-24
JP5753988B2 (en) 2015-07-22
TW201106369A (en) 2011-02-16

Similar Documents

Publication Publication Date Title
KR101687038B1 (en) Error detection method and a system including one or more memory devices
US8880970B2 (en) Error detection method and a system including one or more memory devices
US7475174B2 (en) Flash / phase-change memory in multi-ring topology using serial-link packet interface
US8327105B2 (en) Providing frame start indication in a memory system having indeterminate read data latency
US8352833B2 (en) System and method for data read of a synchronous serial interface NAND
US8255783B2 (en) Apparatus, system and method for providing error protection for data-masking bits
US8392796B2 (en) Reliability, availability, and serviceability solution for memory technology
TWI430085B (en) Method, integrated circuit, and system for efficient in-band reliability with separate cyclic redundancy code frames and dynamic random access memory device
US8843692B2 (en) System of interconnected nonvolatile memories having automatic status packet
US20080235444A1 (en) System and method for providing synchronous dynamic random access memory (sdram) mode register shadowing in a memory system
US9852811B2 (en) Device and method for detecting controller signal errors in flash memory
US11403172B2 (en) Methods for error detection and correction and corresponding systems and devices for the same
US7624244B2 (en) System for providing a slow command decode over an untrained high-speed interface
US20170287571A1 (en) Buffer circuit with adaptive repair capability

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191202

Year of fee payment: 4