KR20100087328A - 동기 직렬 인터페이스 nand의 데이터 판독을 위한 시스템 및 방법 - Google Patents

동기 직렬 인터페이스 nand의 데이터 판독을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20100087328A
KR20100087328A KR1020107010781A KR20107010781A KR20100087328A KR 20100087328 A KR20100087328 A KR 20100087328A KR 1020107010781 A KR1020107010781 A KR 1020107010781A KR 20107010781 A KR20107010781 A KR 20107010781A KR 20100087328 A KR20100087328 A KR 20100087328A
Authority
KR
South Korea
Prior art keywords
data
memory device
peripheral interface
serial peripheral
nand memory
Prior art date
Application number
KR1020107010781A
Other languages
English (en)
Other versions
KR101507628B1 (ko
Inventor
데오도르 티. 페크니
빅터 와이. 트사이
피터 에스. 펠리
Original Assignee
마이크론 테크놀로지, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Publication of KR20100087328A publication Critical patent/KR20100087328A/ko
Application granted granted Critical
Publication of KR101507628B1 publication Critical patent/KR101507628B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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/1064Adding 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 cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/30Reduction of number of input/output pins by using a serial interface to transmit or receive addresses or data, i.e. serial access memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)

Abstract

NAND 메모리 디바이스를 동작시키기 위한 방법 및 시스템이 개시된다. NAND 메모리 디바이스는 호스트로부터 NAND 메모리 디바이스로 직렬 주변 인터페이스 신호들을 송신함으로써 동작되며, 이에 의해 신호들은 표준 NAND 메모리 포맷으로 신호들을 수정하지 않고 NAND 메모리 디바이스의 NAND 메모리에 전달된다. 마찬가지로, 신호들을 표준 NAND 포맷으로부터 직렬 포맷으로 수정하지 않고 NAND 메모리 디바이스로부터 신호들을 수신하기 위한 방법 및 시스템이 개시된다. 시스템은 또한 NAND 메모리 디바이스에 저장된 데이터 내의 에러들을 검출하고 정정하기 위한 에러 검출 및 정정 기법들을 통합한다.

Description

동기 직렬 인터페이스 NAND의 데이터 판독을 위한 시스템 및 방법{SYSTEM AND METHOD FOR DATA READ OF A SYNCHRONOUS SERIAL INTERFACE NAND}
본 발명의 실시예들은 일반적으로 메모리 디바이스들에 호스트 디바이스를 접속시키기 위한 직렬 주변 인터페이스(Serial Peripheral Interface)에 관한 것이다.
직렬 주변 인터페이스 버스(SPI)는 두 개의 디바이스들, 마스터와 슬레이브 사이에서 직렬 데이터 링크를 가능하게 하는 네 개의 유선 직렬 통신 인터페이스이다. 그것은 SPI를 지원하는 디바이스들 사이의 중저 대역폭(low to medium bandwidth) 네트워크 접속에 대한 지원을 제공한다. SPI가 통신을 위해 네 개의 유선들만을 이용하기 때문에, SPI는 비교적 단순한 IC 패키지들을 요구하는 시스템들에서 이용하기 위해 대중적으로 되고 있다.
SPI의 네 개의 유선들은 두 개의 제어 라인들 및 두 개의 데이터 라인들을 포함한다. SPI의 제어 라인들은 CS(Chip Select) 라인 및 SCK(Serial Clock) 라인을 포함한다. 한 개보다 많은 슬레이브 디바이스가 마스터 디바이스에 접속될 수 있는 반면, 하나의 슬레이브 디바이스만이 임의의 주어진 시간에 액세스될 수 있다. 이 선택은 CS 라인의 이용에 의해 달성된다. CS 신호는 마스터로부터 출력되며 마스터 디바이스에 의한 슬레이브 디바이스의 활성화 및 비활성화를 허용한다. 모든 슬레이브 디바이스는 활성화를 위한 개별 CS 라인을 요구한다. 따라서, 열 개의 슬레이브 디바이스들이 네트워크 상에 존재하면, 열 개의 독립 칩 선택 라인들, 슬레이브 디바이스 당 하나의 칩 선택 라인이 존재한다.
마스터 디바이스는 또한 시리얼 클록을 제공한다. SCK는 마스터 및 슬레이브 디바이스들에 들어오고 나가는 직렬 데이터의 천이를 클로킹하는(clock) 데에 이용된다. 이러한 클록의 이용은 SPI 아키텍처가, 데이터가 마스터로서 동작하는 하나의 디바이스로부터 슬레이브로서 동작하는 보조 디바이스에 동시에 전송되는, 마스터/슬레이브 풀 듀플렉스 모드(master/slave full duplex mode)에서 동작하게 한다.
SPI의 데이터 라인들은 SI(Serial Data In) 라인 및 SO(Serial Data Out) 라인을 포함한다. SI 라인은 마스터 디바이스로부터 슬레이브 디바이스로 데이터를 출력하는 데이터 통신 라인이다. SO 라인은 슬레이브 디바이스로부터 마스터 디바이스로 데이터를 출력하는 데에 이용되는 보조 데이터 통신 라인이다. 양쪽 데이터 라인들은 CS가 지정된 슬레이브 디바이스에 대해 선택될 때에만 활성화된다.
SPI는 EEPROM 및 NOR 플래시 메모리와 같은 메모리 디바이스들과 함께 이용되고 있다. NOR 플래시 메모리는 대중적이고 꽤 비싸지 않은 메모리 디바이스이다. NOR 플래시 메모리는 풀 어드레스(full address) 및 데이터 버스들을 제공하며, 이에 따라 임의의 메모리 위치에 대한 랜덤 액세스를 허용한다. 더욱이, 일반적으로 NOR 플래시 메모리에서는, 에러 정정 능력들이 필요하지 않다. 이것은 NOR 플래시 메모리가 일반적으로 에러 정정 시스템들의 이용 없이도 양호한 신뢰성을 갖기 때문이다. 그러나, NOR 플래시 메모리의 불리한 면은 그것이 긴 소거 및 기입 시간을 경험한다는 것이다.
NAND 플래시 메모리는 NOR 플래시 메모리보다 더 빠른 소거 시간을 갖는다. 그것은 또한 NOR 플래시 메모리보다 셀당 더 작은 칩 면적을 요구하기 때문에, NOR 플래시 메모리에서 이용가능한 저장 밀도보다 더 큰 저장 밀도에 이르게 한다. NAND 플래시 메모리는 또한 종래의 NOR 플래시 메모리보다 열 배 이상까지의 더 좋은 내구성을 갖는다. 그러나, NAND 플래시 메모리는 일반적으로 몇몇의 에러 검출 및 정정 능력들을 요구한다. 더욱이, NAND 플래시 메모리는 랜덤 데이터 액세스를 직접적으로 허용하지 않는다.
랜덤하게 액세스가능하게 하는 것 대신에, NOR 플래시 메모리와 같이, NAND 메모리 어레이는 많은 페이지의 데이터로 구성된다. 어레이 내의 임의의 특정 데이터 위치에 액세스하기 위해, 그 데이터 위치와 연관된 대응하는 페이지가 액세스되어야 한다. 액세스된 페이지는 일반적으로 페이지 캐시에 판독되며, 이것은 그 후 페이지 내의 임의의 특정 데이터에 대해 액세스될 수 있다.
NOR 플래시 메모리 디바이스들과 NAND 플래시 메모리 디바이스들 사이의 차이들에 기인하여, NOR 플래시 메모리 디바이스와 함께 이용하기 위해 구성된 SPI 시스템은 NAND 플래시 메모리 디바이스를 수용하지 못한다. 따라서, 구체적으로는 NAND 플래시 메모리 디바이스와 함께 이용하기 위해 구성된 SPI 시스템에 대한 필요가 존재한다. 본 발명의 실시예들은 전술한 문제점들 중 하나 이상에 관한 것일 수 있다.
도 1은 NAND 메모리와 함께 직렬 주변 인터페이스 시스템을 이용하는 메모리 디바이스의 블록도.
도 2A는 본 발명의 실시예에 따른, 마스터 디바이스가 NAND 메모리 디바이스를 액세스하는 방법을 나타내는 흐름도.
도 2B는 도 2A에 따른, 마스터 디바이스가 NAND 메모리 디바이스를 액세스하는 방법에 대응하는 타이밍도.
도 3은 본 발명의 실시예에 따른, 마스터 디바이스가 NAND 메모리 디바이스를 액세스하는 제2 방법을 나타내는 흐름도.
도 4A는 본 발명의 실시예에 따른, NAND 메모리 디바이스의 마스터 디바이스에 의한 페이지 판독을 위한 방법을 나타내는 흐름도.
도 4B는 도 4A에 따른, NAND 메모리 디바이스의 마스터 디바이스에 의한 페이지 판독을 위한 방법에 대응하는 타이밍도.
도 5는 본 발명의 실시예에 따른, 캐시 메모리에 저장된 데이터의 에러 검출 및 정정을 위한 방법을 나타내는 흐름도.
이제 도면으로 전환하고, 처음에 도 1을 참조하면, 일반적으로 참조 번호 100에 의해 지시되는, NAND 메모리와 관련하여 직렬 주변 인터페이스 시스템을 이용하는 메모리 시스템의 실시예를 나타내는 블록도가 예시된다. 메모리 시스템(100)은, 컴퓨터, 페이저(pager), 휴대 전화, 퍼스널 오가나이저(personal organizer), 휴대용 오디오 플레이어, 제어 회로, 카메라 등과 같은, 다양한 응용들 중 임의의 것에 이용가능할 수 있다. 메모리 시스템(100)은 마스터 디바이스(102) 및 슬레이브 디바이스(104)를 포함할 수 있다. 한 개보다 많은 슬레이브 디바이스(104)가 마스터 디바이스(102)에 의해 제어될 수 있지만, 간략함을 위해, 하나의 슬레이브 디바이스(104)만이 도 1에 예시된다. 일반적인 시스템에서, 마스터 디바이스(102)는 슬레이브 디바이스(104)에 신호들을 송신하고, 그로부터 신호들을 수신함으로써 동작한다.
마스터 디바이스(102)와 슬레이브 디바이스(104) 사이의 메모리 시스템(100)의 통신 버스는 직렬 주변 인터페이스 버스(SPI)이다. 마스터 디바이스(102)와 슬레이브 디바이스(104) 사이에서 통신하는 데에 이용되는 동작 신호들은 두 개의 제어 라인들 및 두 개의 데이터 라인들을 포함한다. SPI의 제어 라인들은 CS(Chip Select) 라인 및 SCK(Serial Clock) 라인을 포함한다. CS 신호는 마스터 디바이스(102)로부터 출력되고 슬레이브 디바이스(104)에 의해 수신되며, 마스터 디바이스(102)에 의한 슬레이브 디바이스(104)의 활성화 및 비활성화를 허용한다. CS 라인은 일반적으로 액티브 로우(active low)이다. SCK 신호는 마스터 디바이스(102)로부터 출력되고 슬레이브 디바이스(104)에 클록을 제공한다. SCK 신호는 슬레이브 디바이스(104)가 CS 라인에 의해 활성화되었는지 아닌지에 관계없이 슬레이브 디바이스(104)를 클록킹한다.
메모리 디바이스의 데이터 라인들은 SI(Serial Data In) 라인 및 SO(Serial Data Out) 라인을 포함한다. SI 라인은 마스터 디바이스(102)로부터 슬레이브 디바이스(104)로 신호들을 전달하는 데이터 통신 라인이다. SO 라인은 보조 데이터 통신 라인이다. SO 라인은 슬레이브 디바이스(104)로부터 마스터 디바이스(102)로 신호들을 출력하는 데에 이용된다. 양쪽 데이터 라인들은 CS 라인이 활성화되었을 때, 즉, CS 신호가 로우일때만 활성이다.
제어 라인들 CS 및 SCK, 뿐만 아니라 데이터 라인 SI는 마스터 디바이스(102)로부터, 슬레이브 디바이스(104)에 위치한, SPI(serial peripheral interface) NAND 제어기(106)에 신호들을 전달한다. 마찬가지로, 데이터 라인 SO는 SPI NAND 제어기(106)로부터 마스터 디바이스(102)로 신호들을 전달한다. SPI NAND 제어기(106)는 또한, DTIO(data input output line)를 따라 캐시 메모리(110)를 통해, 데이터 라인 SI로부터 NAND 메모리(108)로 신호들을 송신하고, DTIO 데이터 라인을 따라 캐시 메모리(110)로부터 신호들을 수신한다. NAND 메모리(108)에 의해 수신된 신호들은 수정된 SPI NAND 포맷이다. 따라서, NAND 메모리(108)에 송신된 신호들은 명령 래치 인에이블(command latch enable), 어드레스 래치 인에이블, 판독 인에이블, 기입 인에이블, 레디/비지(ready/busy), 및 칩 인에이블과 같은 일반적인 표준 NAND 포맷 신호들을 포함하지 않는다. 대신에, 신호들은 수정된 SPI NAND 포맷으로 송신된다. 하나의 실시예에서, 수정된 SPI NAND 포맷 신호들은 특히 프로그래밍된 헥사고날(hexagonal) 동작 신호들을 포함한다.
NAND 메모리(108)는 블록들로 나뉠 수 있는 메모리 셀 어레이를 포함한다. 이들 블록들은 일반적으로 데이터의 페이지들로 구성된다. 일반적인 그루핑들(groupings)은 페이지 당 2048 바이트의 64 페이지, 더하기 예비 데이터(spare data)를 위한 추가적인 64 바이트를 포함한다. 그외의 그루핑들은, 대응하는 개수의 페이지 그루핑들 및 예비 데이터를 위한 대응하는 추가 바이트들과 함께, 페이지 당 4096 바이트 또는 페이지 당 8192 바이트를 포함할 수 있다. 따라서, 각각의 페이지는 일반적으로 페이지와 연관된 다수의 바이트들을 포함하는 예비 영역(spare region)을 갖는다. 이들 예비 영역 바이트들은 보통은 ECC(error correction) 목적들을 위해 이용된다. 보통은 각각의 페이지와 연관된 8과 256 ECC 바이트 사이에 존재한다. 전술한 바와 같이, NAND 플래시 메모리(108)는 일반적으로 캐시 메모리(110)로부터 신호들을 수신한다. 즉, SI 라인은, 표준 NAND 포맷으로의 데이터 또는 제어 신호들의 변환 없이, DTIO 라인을 따라 캐시 메모리(110)를 통해, NAND 메모리(108)로 데이터를 입력한다.
데이터는 한번에 풀 페이지가 NAND 메모리(108)로부터 판독된다. 마스터 디바이스(102)에 의해 액세스 되는 데이터를 포함하는 선택된 페이지는 NAND 메모리(108)로부터 판독되고, 데이터 라인(112)에 걸쳐 캐시 메모리(110)에 송신된다. 일반적으로, 캐시 메모리(110)는 NAND 메모리(108)에서 액세스된 페이지와 크기가 동일하다. 캐시 메모리(110)는 또한 액세스된 페이지와 연관된 바이트를 저장하는 데에 이용가능한 작은 예비 영역을 포함한다. 하나의 실시예는 2048 바이트의 데이터에 더하여 64 바이트의 추가적인 예비 저장 영역을 유지하는 메모리 캐시(110)를 포함한다.
캐시 메모리(110)에 저장된 데이터는 SPI NAND 제어기(106)를 통해 마스터 디바이스(102)에 의해 액세스된다. 캐시 메모리(110)는 DTIO 라인 상에서 데이터를 SPI NAND 포맷 데이터로서 SPI NAND 제어기(106)에 출력한다. SPI NAND 제어기(106)는 SO 라인을 따라 마스터 디바이스(102)에 출력 신호를 송신하도록 기능한다. 이러한 출력 신호의 송신은 SI 라인을 따라 마스터 디바이스(102)로부터 수신된 입력 데이터 명령들 및 제어 신호들에 기초한다.
SPI NAND 제어기(106)는 또한 액세스 라인(114)을 따라 NAND 메모리(108)와 통신할 수 있다. 이러한 액세스 라인(114)은 직접적으로 페이지들에 액세스할 뿐만 아니라 ECC 블록들에 액세스하는 데에 이용될 수 있다. 마찬가지로, SPI NAND 제어기(106)는 또한 액세스 라인(116)을 따라 캐시 메모리(110)와 통신할 수 있다. 이러한 액세스 라인(116)은 직접적으로 저장된 데이터를 액세스할 뿐만 아니라 임의의 예비 영역들을 액세스하는 데에 이용될 수 있다. 하나의 실시예에서, 액세스 라인(116)은 캐시 메모리(110)에 대한 에러 정정 및 검출 정보를 송신하고 수신하는 데에 이용될 수 있다.
슬레이브 디바이스(104)는 또한 ECC 상태 레지스터(118)를 포함할 수 있다. 이러한 ECC 상태 레지스터(118)는 액세스 라인(120)을 따라 SPI NAND 제어기(106)에 의해 액세스된다. 도 1에서, ECC 상태 레지스터(118)가 SPI NAND 제어기(106)의 외부에 있는 것으로 도시되었지만, ECC 상태 레지스터(118)는 SPI NAND 제어기(106) 안으로 내부적으로 통합될 수 있다. ECC 상태 레지스터(118)는 또한 서브-레지스터들(sub-registers)의 그룹을 포함할 수 있다. 이들 서브-레지스터들은, 메모리 디바이스 데이터에 대한 옵션의 ECC를 허용하는 ECC 인에이블/디스에이블(disable) 레지스터, 검출된 에러들의 총 수를 저장하는 ECC 유형 레지스터, 또는 캐시 메모리(110) 상의 임의의 에러 정정 프로세스의 결과에 관한 정보를 저장하는 ECC 캐시 메모리 결과 레지스터를 포함할 수 있다. ECC 상태 레지스터(118)는 모든 선행하는 ECC 서브-레지스터들 또는 임의의 조합의 선행하는 서브-레지스터들을 포함할 수 있다.
이제 도 2A로 전환하면, 슬레이브 디바이스(104)에 페이지 판독 명령을 송신하기 위해 마스터 디바이스(102)가 담당한 프로세스(200)를 기술하는 흐름도가 예시된다. 도 2B는 도 2A의 흐름도에 대응하는 타이밍도를 나타낸다. 도 2A의 스텝(202)에서, CS 라인은 마스터 디바이스(102)에 의해 로우로 설정되고, 이에 따라 정보 송신을 위해 슬레이브 디바이스(104)를 선택한다. 이것은 도 2B에서 CS#가 로우로 스위칭하는 것으로 도시된다. 도 2A의 스텝(204)에서, 마스터 디바이스(102)는 페이지 판독 명령을 SI 라인 상의 슬레이브 디바이스(104)에 송신한다. 페이지 판독 명령은 데이터 판독 모드를 위해 슬레이브 디바이스(104)를 초기화시키도록 동작한다. 이것은 도 2B에서 SI 라인 상에 예시된 제1 명령에 의해 도시된다. 다음으로, 도 2A의 스텝(206)에서, 마스터 디바이스(102)는 SI 라인에 걸쳐 슬레이브 디바이스(104)에 페이지 어드레스를 송신한다. 일 실시예에서, 더미 비트들이 적절한 바이트 정렬을 허용하기 위해 송신되는 어드레스에 헤더로서 송신될 수 있다. 예를 들면, 17 비트 행(row) 어드레스가 송신된다면, 전체 어드레스 길이가 슬레이브 디바이스 데이터 입력 길이 요건에 따르도록 7 비트 더미 헤더가 송신될 수 있다. 이것은 도 2B에서 17 비트 어드레스에 선행하는 7 비트 더미 비트에 의해 예시된다. 페이지 어드레스가 일단 송신되면, 마스터 디바이스(102)는 도 2A의 스텝(208)에서 CS 값을 하이로 설정한다. 이것은 마스터 디바이스(102)와 슬레이브 디바이스(104) 사이의 통신 링크를 비활성시킨다. 이것은 도 2B에서 어드레스들이 입력된 후에 CS#가 하이로 스위칭하는 것으로 예시된다.
CS가 하이로 설정된 시간 동안, 슬레이브 디바이스(104)는 NAND 메모리(108)로부터 적절한 페이지를 액세스하기, 메모리 캐시(110)에 선택된 페이지를 전송하기, 및 메모리 캐시(110)의 데이터에 대해 임의의 에러 검출 및 정정을 수행하기와 같은 내부 동작들을 수행한다. 도 2B에 도시된 것뿐만 아니라, 도 2A의 스텝(210)에서, CS 라인은 다시 마스터 디바이스(102)에 의해 로우로 설정되고, 이에 따라 정보 송신을 위해 슬레이브 디바이스(104)를 선택한다. 도 2A의 스텝(212)에서, 마스터 디바이스(102)는 SI 라인 상에서 판독 상태 명령을 슬레이브 디바이스(104)에 송신한다. 판독 상태 명령은 마스터 디바이스(102)와 슬레이브 디바이스(104) 사이의 데이터 송신을 정렬시키기 위해 동작한다. 이것은 도 2B에서 SI 라인 상에 도시된 판독 SR 명령에 의해 표시된다. 마스터 디바이스(102)는, 도 2B의 SO 라인 상에 예시된 바와 같은, 내부 페이지 판독 동작이 완료되었다는 것을 의미하는 SO 상의 상태 비트를 슬레이브 디바이스(104)가 송신할 때까지 판독 상태 명령을 발행한다. 이것은 페이지 판독 프로세스에 의해 액세스되는 NAND 메모리(108)의 페이지가 캐시 메모리(110)에 저장되고, 마스터 디바이스(102)에 의해 액세스될 준비가 되어 있다는 것을 마스터 디바이스(102)에 신호한다.
도 3에서, 슬레이브 디바이스(104)에 페이지 판독 명령을 송신하기 위해 마스터 디바이스(102)가 담당하는 페이지 판독 프로세스(300)의 제2 실시예를 나타내는 흐름도가 도시된다. 스텝(302)에서, CS는 마스터 디바이스(102)에 의해 로우로 설정되고, 이에 따라 정보 송신을 위해 슬레이브 디바이스(104)를 선택한다. 스텝(304)에서, 마스터 디바이스(102)는 SI 라인 상에서 슬레이브 디바이스(104)에 페이지 판독 명령을 송신한다. 페이지 판독 명령은 데이터 판독 모드를 위해 슬레이브 디바이스(104)를 초기화하도록 동작한다. 다음으로, 스텝(306)에서, 마스터 디바이스(102)는 SI 라인에 걸쳐 슬레이브 디바이스(104)에 페이지 어드레스를 송신한다. 일 실시예에서, 적절한 바이트 정렬을 허용하기 위해 송신되는 어드레스에 헤더로서 더미 비트가 송신될 수 있다. 예를 들면, 17 비트 행 어드레스가 송신되고 있다면, 전체 어드레스 길이가 슬레이브 디바이스 데이터 입력 길이 요건에 따르게 하도록 7 더미 비트 헤더가 송신될 수 있다. 페이지 어드레스가 일단 송신되면, 마스터 디바이스(102)는 스텝(308)에서 CS 값을 하이로 설정한다. 이것은 마스터 디바이스(102)와 슬레이브 디바이스(104) 사이의 통신 링크를 비활성시킨다.
마스터 디바이스(102)는 스텝(310)에서 슬레이브 디바이스(104)가 그것의 내부 동작들을 수행하도록 소정의 기간을 대기한다. 대기 시간 동안, 슬레이브 디바이스(104)는 NAND 메모리(108)로부터 적절한 페이지를 액세스하기, 선택된 페이지를 메모리 캐시(110)에 전송하기, 및 메모리 캐시(110)의 데이터에 대해 임의의 에러 검출 및 정정을 수행하기와 같은 내부 동작들을 수행한다. 스텝(310)에서의 소정의 대기 시간은 슬레이브 디바이스(104)의 내부 동작들의 총 시간과 같다. 이것은 SCK의 기간, 및 슬레이브 디바이스에 의해 수행되는 내부 동작들 양쪽 모두에 기초한 소정의 수이다. 스텝(312)에서, CS는 다시 마스터 디바이스(102)에 의해 로우로 설정되고, 이에 따라 정보 송신을 위해 슬레이브 디바이스(104)를 선택한다.
도 2A에 도시된 실시예 및 도 3에 도시된 실시예 양쪽 모두는 도 4A의 랜덤 데이터 판독으로 되는 스텝들을 포함한다. 도 4B는 도 4A의 흐름도에 대응하는 타이밍도를 나타낸다. 일단 페이지 판독 프로세스가 완료되면, 마스터 디바이스(102)가 판독 상태 비트를 수신하였기 때문에(도 2A), 또는 소정의 시간이 경과했기 때문에(도 3), 마스터 디바이스는 도 4A의 스텝(402)에서 SI 라인 상에서 데이터 판독 명령을 송신한다. 이것은 또한 도 4B에서 SI 라인 상에 예시된 제1 명령에 의해 도시된다. 이러한 데이터 판독 명령은 데이터가 랜덤 액세스 방법으로 캐시로부터 판독되게 한다. 예를 들면, 단일 바이트가 판독될 수 있거나, 단일 워드가 판독될 수 있거나, 또는 페이지의 첫 번째 바이트에서 시작하거나 또는 페이지의 나머지가 판독되게 하는 루프-어라운드 피처(loop-around feature)를 갖는 페이지 상의 임의의 주소에서 시작하여 전체 페이지가 판독될 수 있다.
도 4A의 스텝(404)에서, 마스터 디바이스(102)는 액세스될 데이터 어드레스를 송신한다. 일 실시예에서, 적절한 바이트 정렬을 허용하기 위해 송신되는 어드레스에 헤더로서 더미 비트가 송신될 수 있다. 예를 들면, 12 비트 열(column) 어드레스가 송신되고 있다면, 전체 어드레스 길이가 슬레이브 디바이스 데이터 입력 길이 요건에 따르게 하도록 4 비트 더미 헤더가 송신될 수 있다. 이것은 도 4B에서 SI 라인 상의 12 비트 어드레스를 선행하는 4 더미 비트에 의해 예시된다. 제2 실시예에서, 더미 비트는 적절한 데이터 송신 정렬을 위해 더미 트레일러(trailer)로서 마스터 디바이스(102)로부터 송신될 수 있다. 이것은 도 4B에서 SI 라인 상에서 12 비트 어드레스에 후속하는 더미 바이트에 의해 예시된다. 슬레이브 디바이스(104)가 일단 마스터 디바이스(102)로부터 데이터 어드레스를 수신하면, 도 4B에 예시된 바와 같이, 슬레이브 디바이스(104)는 캐시 메모리(110)를 액세스하고 SO 라인 상에서 대응하는 데이터를 송신한다. 이 데이터는 도 4A의 스텝(406)에서 마스터 디바이스(102)에 의해 수신된다.
도 5는 캐시 메모리(110)에 대한 에러 검출 및 정정 방법(500)을 허용하는 실시예를 나타낸다. 일 실시예에서, 도 2A의 스텝(208) 후에, 또는 마찬가지로 도 3의 스텝(310) 동안에, SPI NAND 제어기(106)는 캐시 메모리(110)의 데이터에 대해 에러 검출 및 정정을 수행한다. 스텝(502)에서, SPI NAND 제어기(106)는 액세스 라인(120)에 걸쳐 ECC 상태 레지스터(118)를 체크한다. ECC 상태 레지스터(118)는 ECC 인에이블/디스에이블 레지스터를 포함한다. ECC 인에이블/디스에이블 레지스터가 디스에이블로 설정되는 경우, 어떠한 에러 검출 또는 정정이 발생하지 않는다. 그러나, ECC 인에이블/디스에이블 레지스터가 인에이블로 설정되면, SPI NAND 제어기(106)는 ECC 크기 레지스터를 체크한다. ECC 크기 레지스터는 ECC 알고리즘이 수행되는 영역의 크기를 정의하는 정보를 저장한다. 예를 들면, ECC는 각 512 바이트, 각 1024 바이트, 또는 페이지 크기까지의 캐시 내의 임의의 양의 바이트에 대해 수행될 수 있다. ECC 크기 레지스터가 액세스된 후에, SPI NAND 제어기는 스텝(504)로 진행한다.
스텝(504)에서, SPI NAND 제어기(106)는 액세스 라인(116)을 이용하여 캐시 메모리(110)에서 마스터 디바이스(102)에 의해 선택된 페이지의 데이터를 판독한다. SPI NAND 제어기(106)는 또한 액세스 라인(116)을 이용하여 선택된 페이지와 연관된 에러 정정 리던던시(redundancy) 비트를 판독한다. 일 실시예에서, 리던던시 비트는 페이지의 데이터 비트와 함께 저장된다. 제2 실시예에서, 선택된 페이지의 데이터와 연관된 리던던시 비트는 캐시 메모리(110)의 제2 위치에 저장된다.
스텝(506)에서, SPI NAND 제어기(106)는 에러 검출 프로세스를 구현함으로써 스텝(502)에서 데이터 판독을 체크한다. 에러 검출 프로세스는 데이터의 임의의 에러들을 검출함에 있어서 데이터에 대응하는 리던던시 비트를 이용한다. 임의의 에러들이 발견되면, 그들은 ECC 프로세스를 이용하여 스텝(508)에서 정정된다. 일 실시예에서, 에러 검출 및 정정 기법들은 선형 블록 인코딩 및 디코딩을 이용한다. 추가 실시예는 에러 검출 및 정정을 수행하기 위해 해밍(Hamming) 코드들과 같은, 이진(binary) BCH 코드들의 특화된 서브클래스들을 이용한다. 제3 실시예는 데이터의 에러 검출 및 정정을 수행하기 위해 리드-솔로몬(Reed-Solomon) 코드들과 같은, 비이진(nonbinary) BCH 코드들을 이용한다. 스텝들(506 및 508)이 종료하면, 데이터는 액세스 라인(116)에 걸쳐 송신된다.
스텝(510)에서, ECC 결과 레지스터(118)가 업데이트된다. 바람직하게는, ECC 상태 레지스터(118)는 에러 검출 및 정정 결과 정보를 저장하는 데에 이용되는 서브-레지스터들을 포함한다. 일 실시예에서, ECC 결과 레지스터(118)를 업데이트하는 것은 ECC 유형 레지스터에서 검출되고 정정된 에러의 유형들을 저장하는 것을 포함한다. 예를 들면, 어떠한 에러도 없거나, 한 개의 에러가 검출되고 정정되거나, 또는 두 개의 에러들이 검출되고 한 개의 에러가 정정되는 것에 대응하는 값들이 ECC 유형 레지스터에 저장될 수 있다. 또 다른 실시예에서, 스텝(510)은 캐시 메모리(110)에서의 임의의 에러 정정 프로세스의 결과에 관한 정보를 저장하는 ECC NAND 메모리 결과 레지스터를 업데이트하는 것을 포함한다. 스텝(510)의 추가 실시예는 캐시 메모리의 주 부분뿐만 아니라 캐시 메모리(110)의 예비 부분 양쪽 모두에서의 임의의 에러 정정 프로세스의 결과에 관한 정보를 이용하여 ECC NAND 메모리 결과 레지스터를 업데이트하는 것을 포함한다. ECC 결과 레지스터(118), 및 그것의 서브-레지스터들에서 업데이트된 정보는 마스터 디바이스(102)에 의한 또는 슬레이브 디바이스(104)에 의한 액세스를 위해 이용가능하다.
본 발명은 다양한 변경들 및 대안적인 형태들이 가능하지만, 특정 실시예들이 도면들에서 예로써 도시되었고 본원에서 상세히 설명되었다. 그러나, 본 발명이 개시된 특정 형태들에 제한되도록 의도되지 않는다는 것이 이해되어야 한다. 오히려, 본 발명은 이하의 첨부된 청구범위들에 의해 정의되는 본 발명의 정신 및 범주 내에 속한 모든 변경들, 등가물들, 및 대안들을 포함하는 것이다.

Claims (25)

  1. 메모리 디바이스로서,
    활성화 신호(activate signal), 타이밍 신호(timing signal), 및 직렬 데이터 인 신호(serial data in signal)를 수신하도록 구성된 직렬 주변 장치(peripheral) 인터페이스 NAND 제어기 ― 상기 직렬 주변 장치 인터페이스 NAND 제어기는 표준 NAND 포맷으로의 변환(translation) 없이 상기 직렬 데이터 인 신호를 송신하도록 더 구성됨―; 및
    상기 직렬 주변 장치 인터페이스 NAND 제어기로부터 송신된 상기 직렬 데이터 인 신호를 수신하도록 구성되는 NAND 메모리
    를 포함하는 메모리 디바이스.
  2. 제1항에 있어서, 상기 직렬 주변 장치 인터페이스 NAND 제어기 및 상기 NAND 메모리에 결합된 캐시(cache) 메모리를 포함하고, 상기 캐시 메모리는 상기 직렬 주변 장치 인터페이스 NAND 제어기로부터 상기 NAND 메모리로 데이터를 송신하도록 구성되고, 상기 캐시 메모리는 상기 NAND 메모리로부터 상기 직렬 주변 장치 인터페이스 NAND 제어기로 데이터를 송신하도록 더 구성되는 메모리 디바이스.
  3. 제1항에 있어서, 상기 직렬 주변 장치 인터페이스 NAND 제어기에 결합된 에러 정정 상태 레지스터를 포함하는 메모리 디바이스.
  4. 제1항에 있어서, 상기 직렬 주변 장치 인터페이스 NAND 제어기는 상기 캐시 메모리에 저장된 데이터에 대해 에러 정정을 수행하도록 구성되는 메모리 디바이스.
  5. 제4항에 있어서, 상기 캐시 메모리에 저장된 데이터에 대해 에러 정정을 수행하는 것은,
    상기 캐시 메모리의 데이터를 판독하고;
    상기 데이터의 에러들을 검출하고;
    에러 정정 상태 레지스터(register)를 업데이트하는 것
    을 포함하는 메모리 디바이스.
  6. 제4항에 있어서, 상기 캐시 메모리에 저장된 데이터에 대해 에러 정정을 수행하는 것은,
    상기 캐시 메모리의 데이터를 판독하고;
    상기 데이터의 에러들을 검출하고;
    상기 데이터의 적어도 하나의 에러를 정정하고;
    에러 정정 상태 레지스터를 업데이트하는 것
    을 포함하는 메모리 디바이스.
  7. 제3항에 있어서, 상기 에러 정정 상태 레지스터는 상기 캐시에 대한 에러 유형들을 저장하도록 구성되는 메모리 디바이스.
  8. 제3항에 있어서, 상기 에러 정정 상태 레지스터는 에러 정정 인에이블(enable) 및 디스에이블(disable) 정보를 저장하도록 구성되는 메모리 디바이스.
  9. 제3항에 있어서, 상기 에러 정정 상태 레지스터는 ECC 알고리즘이 수행되는 영역의 크기를 정의하는 정보를 저장하도록 구성되는 메모리 디바이스.
  10. 직렬 주변 장치 인터페이스 NAND 메모리 디바이스를 액세스하기 위한 방법으로서,
    호스트 디바이스에서 칩 선택을 로우(low)로 설정하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 페이지 판독 명령을 송신하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 페이지 어드레스를 송신하는 단계 ― 상기 페이지 어드레스는 표준 NAND 포맷으로의 상기 페이지 어드레스의 변환 없이 상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스의 NAND 메모리에 송신됨 ―; 및
    상기 호스트 디바이스에서 칩 선택을 하이(high)로 설정하는 단계
    를 포함하는 방법.
  11. 제10항에 있어서,
    상기 호스트 디바이스에서 상기 칩 선택을 로우로 설정하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 판독 상태 명령을 송신하는 단계; 및
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스로부터 판독 상태 비트를 수신하는 단계
    를 더 포함하는 방법.
  12. 제11항에 있어서,
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 데이터 판독 명령을 송신하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 데이터 어드레스를 송신하는 단계; 및
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스로부터 데이터를 수신하는 단계
    를 더 포함하는 방법.
  13. 제12항에 있어서, 데이터를 수신하는 단계는 에러 정정 프로세스에 의해 체크되어 있는 데이터를 수신하는 단계를 포함하는 방법.
  14. 제10항에 있어서,
    미리 결정된 시간을 대기하는 단계;
    상기 호스트 디바이스에서 상기 칩 선택을 로우로 설정하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 데이터 판독 명령을 송신하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 데이터 어드레스를 송신하는 단계; 및
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스로부터 데이터를 수신하는 단계
    를 더 포함하는 방법.
  15. 제14항에 있어서, 데이터를 수신하는 단계는 에러 정정 프로세스에 의해 체크되어 있는 데이터를 수신하는 단계를 포함하는 방법.
  16. 직렬 주변 장치 인터페이스 NAND 메모리 디바이스를 동작하는 방법으로서.
    복수의 클록 사이클들을 포함하는 타이밍 신호를 제공하는 단계;
    활성화 신호를 제공하는 단계; 및
    직렬 데이터 인 신호를 제공하는 단계 ― 상기 직렬 데이터 인 신호에 걸쳐 송신된 데이터는 수정된 직렬 주변 장치 인터페이스 NAND 포맷으로 NAND 메모리에 입력됨 ―
    를 포함하는 방법.
  17. 제16항에 있어서, 직렬 데이터 아웃 신호(serial data out signal)를 수신하는 단계를 더 포함하고, 상기 직렬 데이터 아웃 신호를 수신하는 단계는 상기 수정된 직렬 주변 장치 인터페이스 포맷인 상기 NAND 메모리로부터의 데이터 출력을 수신하는 단계를 포함하는 방법.
  18. 제16항에 있어서, 에러 정정 프로세스에 의해 체크되어 있는 상기 NAND 메모리로부터의 데이터 출력을 수신하는 단계를 더 포함하는 방법.
  19. 직렬 주변 장치 인터페이스 NAND 메모리 디바이스를 액세스하는 방법으로서,
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 페이지 판독 명령을 송신하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 페이지 어드레스를 송신하는 단계 ― 상기 페이지 어드레스는 수정된 직렬 주변 장치 인터페이스 NAND 포맷으로 상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스의 NAND 메모리에 송신됨 ―;
    상기 페이지 어드레스와 연관된 데이터 페이지를 상기 NAND 메모리로부터 캐시 메모리로 송신하는 단계;
    상기 캐시 메모리에 저장된 데이터 페이지에 대해 에러 검출 및 정정 알고리즘을 수행하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 데이터 판독 명령을 송신하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 데이터 어드레스를 송신하는 단계; 및
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스로부터 데이터를 수신하는 단계
    를 포함하는 방법.
  20. 제19항에 있어서, 상기 에러 검출 및 정정 알고리즘을 수행하는 단계는 상기 데이터 내의 에러들을 검출하고 정정하기 위해 선형 블록 코드(linear block code)를 이용하는 단계를 포함하는 방법.
  21. 제19항에 있어서, 상기 에러 검출 및 정정 알고리즘은 BCH 코드, 해밍 코드(Hamming code), 또는 리드-솔로몬(Reed-Solomon) 코드를 이용하는 것을 포함하는 방법.
  22. 제19항에 있어서, 상기 에러 검출 및 정정 알고리즘을 수행하는 단계는 ECC NAND 메모리 결과 레지스터를 업데이트하는 단계를 포함하는 방법.
  23. 직렬 주변 장치 인터페이스 NAND 메모리 디바이스를 액세스하는 방법으로서,
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 페이지 판독 명령을 송신하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 페이지 어드레스를 송신하는 단계 ― 상기 페이지 어드레스는 수정된 직렬 주변 장치 인터페이스 NAND 포맷으로 상기 NAND 메모리 디바이스의 NAND 메모리에 송신됨 ―;
    상기 페이지 어드레스와 연관된 데이터 페이지를 상기 NAND 메모리 디바이스로부터 캐시 메모리로 송신하는 단계;
    상기 캐시 메모리에 저장된 상기 데이터 페이지에 대해 에러 검출 및 정정 알고리즘을 수행하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 데이터 판독 명령을 송신하는 단계;
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스에 데이터 어드레스를 송신하는 단계; 및
    상기 직렬 주변 장치 인터페이스 NAND 메모리 디바이스로부터 데이터를 수신하는 단계
    를 포함하는 방법.
  24. 제23항에 있어서, 상기 에러 검출 및 정정 알고리즘을 수행하는 단계는 BCH 코드, 해밍 코드, 또는 리드-솔로몬 코드를 이용하는 단계를 포함하는 방법.
  25. 제23항에 있어서, 상기 에러 검출 및 정정 알고리즘을 수행하는 단계는 ECC NAND 메모리 결과 레지스터를 업데이트하는 단계를 포함하는 방법.
KR1020107010781A 2007-10-17 2008-09-29 동기 직렬 인터페이스 nand의 데이터 판독을 위한 시스템 및 방법 KR101507628B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/873,833 2007-10-17
US11/873,833 US8103936B2 (en) 2007-10-17 2007-10-17 System and method for data read of a synchronous serial interface NAND
PCT/US2008/078158 WO2009051953A1 (en) 2007-10-17 2008-09-29 System and method for data read of a synchronous serial interface nand

Publications (2)

Publication Number Publication Date
KR20100087328A true KR20100087328A (ko) 2010-08-04
KR101507628B1 KR101507628B1 (ko) 2015-03-31

Family

ID=40351727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107010781A KR101507628B1 (ko) 2007-10-17 2008-09-29 동기 직렬 인터페이스 nand의 데이터 판독을 위한 시스템 및 방법

Country Status (6)

Country Link
US (4) US8103936B2 (ko)
EP (1) EP2210179B1 (ko)
KR (1) KR101507628B1 (ko)
CN (1) CN101828174B (ko)
TW (1) TWI375152B (ko)
WO (1) WO2009051953A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014196753A1 (ko) * 2013-06-05 2014-12-11 중소기업은행 병렬 파이프라인 더블래치로 구동되는 spi 낸드 플래시 메모
WO2022086716A1 (en) * 2020-10-20 2022-04-28 Micron Technology, Inc. Deferred communications over a synchronous interface

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8090955B2 (en) 2007-10-17 2012-01-03 Micron Technology, Inc. Boot block features in synchronous serial interface NAND
US8102710B2 (en) * 2007-10-17 2012-01-24 Micron Technology, Inc. System and method for setting access and modification for synchronous serial interface NAND
US8429329B2 (en) 2007-10-17 2013-04-23 Micron Technology, Inc. Serial interface NAND
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US20110040924A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US8077515B2 (en) 2009-08-25 2011-12-13 Micron Technology, Inc. Methods, devices, and systems for dealing with threshold voltage change in memory devices
TWI394050B (zh) * 2009-09-29 2013-04-21 Hon Hai Prec Ind Co Ltd 基於串列週邊介面匯流排的設備及其資料傳輸方法
US8429391B2 (en) 2010-04-16 2013-04-23 Micron Technology, Inc. Boot partitions in memory devices and systems
US8451664B2 (en) 2010-05-12 2013-05-28 Micron Technology, Inc. Determining and using soft data in memory devices and systems
KR101293225B1 (ko) * 2011-04-01 2013-08-05 (주)아토솔루션 메모리 및 메모리 읽기 방법
CN102736860B (zh) * 2011-04-08 2015-03-11 安凯(广州)微电子技术有限公司 同步nand的数据操作系统及方法
FR2984661B1 (fr) * 2011-12-19 2013-12-20 Valeo Sys Controle Moteur Sas Procede de communication entre au moins un premier systeme et au moins un deuxieme systeme par l'intermediaire d'une liaison serie synchrone full duplex
BR102012011617A2 (pt) * 2012-02-15 2013-11-05 Mediatek Inc Métodos para otimizar desempenhos de memórias flash serial
US9053066B2 (en) 2012-03-30 2015-06-09 Sandisk Technologies Inc. NAND flash memory interface
US8667368B2 (en) * 2012-05-04 2014-03-04 Winbond Electronics Corporation Method and apparatus for reading NAND flash memory
CN109065096A (zh) * 2012-12-21 2018-12-21 慧与发展有限责任合伙企业 具有错误校正逻辑的存储模块
US9043674B2 (en) * 2012-12-26 2015-05-26 Intel Corporation Error detection and correction apparatus and method
US9009562B2 (en) * 2013-01-30 2015-04-14 Hewlett-Packard Development Company, L.P. Providing memory protection using a modified error correction code
KR102143517B1 (ko) * 2013-02-26 2020-08-12 삼성전자 주식회사 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법
US9324450B2 (en) 2013-03-13 2016-04-26 Winbond Electronics Corporation NAND flash memory
TWI471731B (zh) * 2013-03-29 2015-02-01 Mediatek Inc 記憶體存取方法、記憶體存取控制方法、spi快閃記憶體裝置以及spi控制器
JPWO2015029230A1 (ja) 2013-08-30 2017-03-02 株式会社日立製作所 記憶装置及びデータ制御方法
US9442798B2 (en) 2014-07-31 2016-09-13 Winbond Electronics Corporation NAND flash memory having an enhanced buffer read capability and method of operation thereof
US9367392B2 (en) 2014-08-01 2016-06-14 Winbond Electronics Corporation NAND flash memory having internal ECC processing and method of operation thereof
CN104461401A (zh) * 2014-12-25 2015-03-25 珠海煌荣集成电路科技有限公司 Spi闪速存储器的数据读写管理方法及数据读写管理装置
US9385721B1 (en) 2015-01-14 2016-07-05 Sandisk Technologies Llc Bulk driven low swing driver
CN106158038B (zh) 2015-04-14 2021-03-09 恩智浦美国有限公司 从非易失性存储器读取数据的方法
US9829913B2 (en) 2015-06-02 2017-11-28 Goodrich Corporation System and method of realignment of read data by SPI controller
JP6577302B2 (ja) 2015-08-28 2019-09-18 東芝メモリ株式会社 メモリシステム
JP6527054B2 (ja) 2015-08-28 2019-06-05 東芝メモリ株式会社 メモリシステム
JP2018014050A (ja) 2016-07-22 2018-01-25 東芝メモリ株式会社 メモリシステム
US9792994B1 (en) 2016-09-28 2017-10-17 Sandisk Technologies Llc Bulk modulation scheme to reduce I/O pin capacitance
JP2018073438A (ja) * 2016-10-24 2018-05-10 東芝メモリ株式会社 半導体記憶装置
US10489319B2 (en) * 2016-12-20 2019-11-26 Atmel Corporation Automatic transmission of dummy bits in bus master
TWI657450B (zh) * 2017-03-01 2019-04-21 旺宏電子股份有限公司 反及閘快閃記憶體的讀取方法
US10394456B2 (en) 2017-08-23 2019-08-27 Micron Technology, Inc. On demand memory page size
US11210019B2 (en) 2017-08-23 2021-12-28 Micron Technology, Inc. Memory with virtual page size
TW201915818A (zh) * 2017-10-05 2019-04-16 香港商印芯科技股份有限公司 光學識別模組
JP2020154584A (ja) * 2019-03-19 2020-09-24 キオクシア株式会社 メモリシステム
US11144387B2 (en) * 2019-04-29 2021-10-12 Intel Corporation Apparatus, systems, and methods to detect and/or correct bit errors using an in band link over a serial peripheral interface
US11227652B2 (en) * 2020-03-17 2022-01-18 SK Hynix Inc. Memory device and method of operating the same
JP7096938B1 (ja) 2021-08-27 2022-07-06 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3307579B2 (ja) * 1998-01-28 2002-07-24 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記憶システム
JP2000122935A (ja) * 1998-10-20 2000-04-28 Sanyo Electric Co Ltd 不揮発性メモリのアドレス変換装置
JP4034949B2 (ja) * 2001-09-06 2008-01-16 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US6683817B2 (en) * 2002-02-21 2004-01-27 Qualcomm, Incorporated Direct memory swapping between NAND flash and SRAM with error correction coding
KR100441608B1 (ko) 2002-05-31 2004-07-23 삼성전자주식회사 낸드 플래시 메모리 인터페이스 장치
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
JP2004280752A (ja) * 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
JP2005258851A (ja) * 2004-03-12 2005-09-22 Renesas Technology Corp メモリカード
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
KR100643277B1 (ko) * 2004-06-07 2006-11-10 삼성전자주식회사 4 전송선 양방향 동기식 직렬 인터페이스를 이용한 데이터전송 방법
CN100507892C (zh) * 2004-09-02 2009-07-01 北京中星微电子有限公司 一种适应于串行外围设备接口总线通信方法
JP4695385B2 (ja) * 2004-11-30 2011-06-08 株式会社東芝 メモリカードおよびカードコントローラ
US7515831B2 (en) * 2005-02-25 2009-04-07 O2Micro International Ltd. System and method for auto-configuring a telecommunication device with an embedded controller
TWI263229B (en) * 2005-03-17 2006-10-01 Sunplus Technology Co Ltd Memory device with interface for serial transmission and error correction method for serial transmission interface
EP1764803A1 (en) 2005-09-09 2007-03-21 STMicroelectronics S.r.l. Memory architecture with serial peripheral interface
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7472235B2 (en) * 2005-11-30 2008-12-30 Intel Corporation Multi-interfaced memory
JP2007172508A (ja) * 2005-12-26 2007-07-05 Sony Corp 着脱式記憶装置及び認証方法
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
JP2007272635A (ja) * 2006-03-31 2007-10-18 Toshiba Corp メモリシステム及びコントローラ
JP4700562B2 (ja) * 2006-05-18 2011-06-15 株式会社バッファロー データ記憶装置およびデータ記憶方法
US8102710B2 (en) 2007-10-17 2012-01-24 Micron Technology, Inc. System and method for setting access and modification for synchronous serial interface NAND
US8429329B2 (en) 2007-10-17 2013-04-23 Micron Technology, Inc. Serial interface NAND
US8090955B2 (en) 2007-10-17 2012-01-03 Micron Technology, Inc. Boot block features in synchronous serial interface NAND
US8667368B2 (en) * 2012-05-04 2014-03-04 Winbond Electronics Corporation Method and apparatus for reading NAND flash memory

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014196753A1 (ko) * 2013-06-05 2014-12-11 중소기업은행 병렬 파이프라인 더블래치로 구동되는 spi 낸드 플래시 메모
WO2022086716A1 (en) * 2020-10-20 2022-04-28 Micron Technology, Inc. Deferred communications over a synchronous interface
US11379401B2 (en) 2020-10-20 2022-07-05 Micron Technology, Inc. Deferred communications over a synchronous interface
US11868300B2 (en) 2020-10-20 2024-01-09 Micron Technology, Inc. Deferred communications over a synchronous interface

Also Published As

Publication number Publication date
US8103936B2 (en) 2012-01-24
EP2210179B1 (en) 2014-08-13
US20130124946A1 (en) 2013-05-16
US9235546B2 (en) 2016-01-12
EP2210179A1 (en) 2010-07-28
US20140331105A1 (en) 2014-11-06
WO2009051953A1 (en) 2009-04-23
TW200935233A (en) 2009-08-16
US8352833B2 (en) 2013-01-08
CN101828174B (zh) 2012-06-13
CN101828174A (zh) 2010-09-08
KR101507628B1 (ko) 2015-03-31
TWI375152B (en) 2012-10-21
US20090103380A1 (en) 2009-04-23
US8694860B2 (en) 2014-04-08
US20120124446A1 (en) 2012-05-17

Similar Documents

Publication Publication Date Title
KR101507628B1 (ko) 동기 직렬 인터페이스 nand의 데이터 판독을 위한 시스템 및 방법
KR101507194B1 (ko) 직렬 인터페이스 nand
US8046527B2 (en) Apparatus and method for using a page buffer of a memory device as a temporary cache
US11347444B2 (en) Memory device for controlling operations according to different access units of memory
US20050229077A1 (en) Semiconductor storage device
CN102132354B (zh) 闪存中的数据的快速低功率读取
RU2004128074A (ru) Прямой свопинг памяти между флэш-памятью nand и sram с кодированием с коррекцией ошибок
JP2006107710A (ja) 停電によるプログラムエラーの有無を検出することができる集積回路メモリ装置及び方法
US11403172B2 (en) Methods for error detection and correction and corresponding systems and devices for the same
KR20080078977A (ko) Mmc 또는 sd 프로토콜을 사용하는 다수의 메모리장치들을 인터페이스하는 방법 및 시스템
KR20200052842A (ko) 메모리 시스템, 메모리 모듈 및 메모리 시스템의 동작 방법
US8045405B2 (en) Memory system, memory device and command protocol
US20130227357A1 (en) Memory module redundancy method, storage processing device, and data processing device
US7561455B2 (en) Memory system using single wavelength optical transmission
US20030046630A1 (en) Memory using error-correcting codes to correct stored data in background
US20070189100A1 (en) Semiconductor memory
KR100526547B1 (ko) 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법
US20230385147A1 (en) Memory control circuit, memory, and memory module
KR20130072891A (ko) 반도체 메모리 장치 및 이의 테스트 방법
JP2006113790A (ja) 記憶装置、データ処理システムおよびメモリ制御方法

Legal Events

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

Payment date: 20180316

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190318

Year of fee payment: 5