KR102230584B1 - 에러 정정 코드 조직화를 포함한 장치들 및 방법들 - Google Patents
에러 정정 코드 조직화를 포함한 장치들 및 방법들 Download PDFInfo
- Publication number
- KR102230584B1 KR102230584B1 KR1020147027762A KR20147027762A KR102230584B1 KR 102230584 B1 KR102230584 B1 KR 102230584B1 KR 1020147027762 A KR1020147027762 A KR 1020147027762A KR 20147027762 A KR20147027762 A KR 20147027762A KR 102230584 B1 KR102230584 B1 KR 102230584B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- ecc
- memory
- memory cells
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1072—Adding 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 multilevel memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
- H03M13/356—Unequal error protection [UEP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
몇몇 실시예들은 제 1 메모리 셀들, 제 1 메모리 셀들을 액세스하도록 구성된 제 1 액세스 라인, 제 2 메모리 셀들, 및 제 2 메모리 셀들을 액세스하도록 구성된 제 2 액세스 라인을 갖는 장치들 및 방법들을 포함한다. 이러한 장치들 중 하나는 데이터가 제 1 메모리 셀들의 메모리 부분에 저장되게 하고, 데이터와 연관된 에러 정정 코드의 제 1 부분이 제 1 메모리 셀들의 또 다른 메모리 부분에 저장되게 하며, 에러 정정 코드의 제 2 부분이 제 2 메모리 셀들에 저장되게 하도록 구성된 제어기를 포함할 수 있다. 부가적인 장치들 및 방법들을 포함한 다른 실시예들이 설명된다.
Description
[우선권 출원]
본 출원은 여기에 전체적으로 참조로서 통합되는, 2012년 3월 6일에 출원된, 미국 출원 일련 번호 제13/413,363호의 이득을 주장한다.
[배경기술]
플래시 메모리와 같은 메모리 디바이스들은 컴퓨터들 및 많은 전자 제품들에 광범위하게 사용된다. 이러한 메모리 디바이스들은 다수의 메모리 셀들을 가진다. 정보는 기록 동작에서 메모리 셀들에 저장될 수 있다. 저장된 정보는 판독 동작에서 검색될 수 있거나 또는 소거 동작에서 삭제될 수 있다. 메모리 셀 밀도가 주어진 디바이스 영역에 대해 증가할수록, 메모리 디바이스들에 저장된 정보의 신뢰성을 유지하는 것은 도전이 될 수 있다.
도 1은 본 발명의 실시예에 따른, 메모리 디바이스의 형태에 있는 장치의 블록도를 도시한다.
도 2는 본 발명의 실시예에 따른, 메모리 디바이스의 일 부분의 개략도를 도시한다.
도 3은 본 발명의 실시예에 따른, 도 2의 메모리 디바이스의 메모리 셀들에 저장된 정보의 값들을 표현하도록 구성될 수 있는 임계 전압 범위들을 도시한 그래프이다.
도 4는 본 발명의 실시예에 따른, 도 2의 메모리 디바이스의 메모리 부분들에 대응하는 블록도를 도시한다.
도 5는 본 발명의 실시예에 따른, 도 4의 메모리 부분들에 저장될 수 있는 정보의 상이한 페이지들을 도시한다.
도 6은 본 발명의 실시예에 따른, 발생기 매트릭스의 구조를 도시한다.
도 7은 본 발명의 실시예에 따른, 시스템의 형태에 있는 장치의 블록도를 도시한다.
도 8은 본 발명의 실시예에 따라, 시스템을 동작시키는 방법을 도시한 흐름도이다.
도 2는 본 발명의 실시예에 따른, 메모리 디바이스의 일 부분의 개략도를 도시한다.
도 3은 본 발명의 실시예에 따른, 도 2의 메모리 디바이스의 메모리 셀들에 저장된 정보의 값들을 표현하도록 구성될 수 있는 임계 전압 범위들을 도시한 그래프이다.
도 4는 본 발명의 실시예에 따른, 도 2의 메모리 디바이스의 메모리 부분들에 대응하는 블록도를 도시한다.
도 5는 본 발명의 실시예에 따른, 도 4의 메모리 부분들에 저장될 수 있는 정보의 상이한 페이지들을 도시한다.
도 6은 본 발명의 실시예에 따른, 발생기 매트릭스의 구조를 도시한다.
도 7은 본 발명의 실시예에 따른, 시스템의 형태에 있는 장치의 블록도를 도시한다.
도 8은 본 발명의 실시예에 따라, 시스템을 동작시키는 방법을 도시한 흐름도이다.
도 1은 본 발명의 실시예에 따른, 메모리 디바이스(100)의 형태에 있는 장치의 블록도를 도시한다. 메모리 디바이스(100)는 라인들(예로서, 액세스 라인들)(WL0 및 WL1 내지 WLm) 및 라인들(예로서, 데이터 라인들)(BL0 및 BL1 내지 BLn)과 함께 로우들 및 컬럼들로 배열될 수 있는 메모리 셀들(103)을 가진 메모리 어레이(102)를 포함할 수 있다. 메모리 디바이스(100)는 메모리 셀들(1030과 정보를 교환(예로서, 전달)하기 위해 메모리 셀들(103) 및 라인들(105)을 액세스하기 위해 라인들(WL0 및 WL1 내지 WLm) 및 라인들을 사용할 수 있다.
로우 액세스(108) 및 컬럼 액세스(109) 회로는 라인들(110, 110), 또는 양쪽 모두 상에서의 로우 어드레스 및 컬럼 어드레스 신호들에 기초하여 메모리 셀들(103)을 액세스하기 위해 어드레스 레지스터(112)에 응답할 수 있다. 입력/출력 회로(114)는 메모리 셀들(103) 및 라인들(110) 사이에서 정보를 교환하도록 구성될 수 있다. 라인들(110, 111)은 메모리 디바이스(100) 내에 노드들 또는 메모리 디바이스(100)가 존재할 수 있는 패키지 상에 핀들(또는 솔더 볼들)을 포함할 수 있다.
제어 회로(116)는 라인들(110, 111) 상에 존재하는 신호들에 기초하여 메모리 디바이스(100)의 동작들을 제어할 수 있다. 메모리 디바이스(100)의 외부에 있는 디바이스(예로서, 프로세서 또는 메모리 제어기)는 라인들(110, 111) 또는 양쪽 모두 상에서의 신호들의 상이한 조합들을 사용하여 상이한 명령어들(예로서, 판독, 기록, 또는 소거 명령어들)을 메모리 디바이스(100)에 전송할 수 있다. 상이한 명령어들을 메모리 디바이스(100)에 전송하는 디바이스(예로서, 프로세서 또는 메모리 제어기)는 메모리 디바이스(100)와 동일한 반도체 다이 상에 형성될 수 있거나, 또는 이러한 디바이스(예로서, 프로세서 또는 메모리 제어기)는 메모리 디바이스(100)를 형성하는 반도체 다이와 상이한 반도체 다이 상에 형성될 수 있다.
메모리 디바이스(100)는 메모리 셀들(103)에 (예로서, 프로그램) 정보를 저장하기 위한 기록(예로서, 프로그래밍) 동작 또는 메모리 셀들(103)로부터 저장된 정보를 검색하기 위한 판독 동작을 수행하는 것과 같이, 메모리 셀들(103) 상에서 메모리 동작들을 수행하기 위해 명령어들에 응답할 수 있다. 메모리 디바이스(100)는 또한 메모리 셀들(103) 중 몇몇 또는 모두로부터 정보를 삭제하기 위해 소거 동작을 수행할 수 있다.
메모리 셀들(103)에 저장된 정보는 데이터 및 데이터와 연관된 에러 정정 코드(ECC)를 포함할 수 있다. ECC는 데이터가 메모리 셀들(103)에 저장되기 전에 데이터에 기초하여 생성될 수 있다. ECC는 패리티 검사 비트들을 포함할 수 있다. 데이터 및 그것의 연관된 ECC가 메모리 셀들(103)로부터 검색될 때, ECC는 데이터에 발생할 수 있는 에러들을 정정하기 위해 사용될 수 있다. 데이터와 연관된 ECC는 메모리 디바이스(100)에 의해 내부적으로 생성되거나 또는 또 다른 디바이스(예로서, 메모리 제어기 또는 프로세서)에 의해 외부적으로 생성될 수 있다.
메모리 셀들(103)의 각각은 비트의 단편의 값, 단일 비트의 값, 또는 2, 3, 4, 또는 또 다른 수의 비트들과 같은 다중 비트들의 값을 표현한 정보를 저장하기 위해 프로그램될 수 있다. 예를 들면, 메모리 셀들(103)의 각각은 단일 비트의 이진 값("0" 또는 "1")을 표현한 정보를 저장하기 위해 프로그램될 수 있다. 셀 당 단일 비트는 때때로 단일 레벨 셀로 불리운다. 또 다른 예에서, 메모리 셀들(103)의 각각은 2 비트들의 4개의 가능한 값들("00", "01", "10", 및 "11") 중 하나, 3 비트들의 8개의 가능한 값들("000", "001", "010", "011", "100", "101", "110", 및"111") 중 하나, 또는 또 다른 수의 다중 비트들의 다른 값들 중 하나와 같이, 다중 비트들의 값을 표현한 정보를 저장하기 위해 프로그램될 수 있다. 다중 비트들을 저장하기 위한 능력을 가진 셀은 때때로 다중-레벨 셀(또는 다중-상태 셀)로 불리운다.
메모리 디바이스(100)는 비-휘발성 메모리 디바이스를 포함할 수 있으며, 메모리 셀(103)은 비-휘발성 메모리 셀들을 포함할 수 있고, 따라서 메모리 셀들(103)은 전력이 메모리 디바이스(100)로부터 연결 해제될 때 그것 상에 저장된 정보를 보유할 수 있다. 예를 들면, 메모리 디바이스(100)는 NAND 플래시 또는 NOR 플래시 메모리 디바이스와 같은, 플래시 메모리 디바이스, 또는 가변 저항 메모리 디바이스(예로서, 상 변화 또는 저항성 RAM 디바이스)와 같은, 또 다른 종류의 메모리 디바이스일 수 있다.
메모리 디바이스(100)는 메모리 셀들(103)이 동일한 디바이스 상에서의 다중 레벨들에 물리적으로 위치될 수 있는 메모리 디바이스를 포함할 수 있으며, 따라서 메모리 셀들(103) 중 몇몇은 메모리 디바이스(100)의 기판(예로서, 반도체 기판) 위에서 다중 레벨들로 몇몇 다른 메모리 셀들(103) 위에 적층될 수 있다.
이 기술분야의 숙련자는 메모리 디바이스(100)가 여기에 설명된 예시적인 실시예를 모호하게 하지 않도록, 그 중 몇몇이 도 1에 도시되지 않는, 다른 요소들을 포함할 수 있다는 것을 인식할 것이다.
메모리 디바이스(100)의 적어도 일 부분은 도 2 내지 도 8을 참조하여 이하에 설명되는 메모리 디바이스들과 유사하거나 또는 그것과 동일한 구조들을 포함할 수 있다.
도 2는 본 발명의 실시예에 따른, 메모리 디바이스(200)의 일 부분의 개략도를 도시한다. 메모리 디바이스(200)는 도 1의 메모리 어레이(102)의 일부를 형성할 수 있는, 메모리 어레이(202)를 포함할 수 있다. 도 2에 도시된 바와 같이, 메모리 어레이(202)는 각각 라인들(WL0, WL1, WL2, WL3, 및 WL4)과 연관된 메모리 셀들(210, 211, 212, 213, 및 214)을 포함할 수 있다. 라인들(WL0, WL1, WL2, WL3, 및 WL4)의 각각은 메모리 동작(예로서, 판독 또는 기록 동작) 동안 메모리 셀들(210, 211, 212, 213, 및 214)을 액세스하기 위해 메모리 디바이스(200)의 액세스 라인의 일부를 형성할 수 있다. 메모리 디바이스(200)는 각각 라인들(BL0 내지 BL9)을 포함할 수 있다. 라인들(BL0 내지 BL9)의 각각은 메모리 디바이스(200)의 데이터 라인의 일부를 형성할 수 있다. 도 2는 일 예로서 5개의 라인들(WL0, WL1, WL2, WL3, 및 WL4) 및 10개의 라인들(BL0 내지 BL9)을 도시한다. 이들 라인들의 수는 변할 수 있다.
메모리 셀들(210, 211, 212, 213, 및 214)은 도 2에 도시된 바와 같이, NAND 구성으로 배열될 수 있다. 예를 들면, 메모리 셀들(210, 211, 212, 및 213)은 메모리 셀 스트링들(220 내지 229)과 같은, 메모리 셀 스트링들로서 배열될 수 있다. 메모리 셀 스트링들(220 내지 229)의 각각은 트랜지스터들(예로서, 선택 트랜지스터)(217) 중 하나를 통해 라인들(BL0 내지 BL9) 중 하나에 및 트랜지스터들(예로서, 선택 트랜지스터)(218) 중 하나를 통해 라인(SL)에 결합될 수 있다. 라인(SL)은 메모리 디바이스(200)의 소스(예로서, 소스 라인)의 일부를 형성할 수 있다.
메모리 동작(예로서, 판독 또는 기록 동작) 동안, 메모리 디바이스(200)는 메모리 셀 스트링들(220 내지 229)을 각각의 라인들(BL0 내지 BL9)에 결합하도록 트랜지스터들(217)을 턴 온하거나 또는 각각의 라인들(BL0 내지 BL9)로부터 메모리 셀 스트링들(220 내지 229)을 결합 해제하도록 트랜지스터들(217)을 턴 오프하기 위해 라인(SGD)을 사용할 수 있다. 메모리 디바이스(200)는 메모리 셀 스트링들(220 내지 229)을 라인(SL)에 결합하기 위해 트랜지스터들(218)을 턴 온하도록 또는 라인(SL)으로부터 메모리 셀 스트링들(220 내지 229)을 결합 해제하도록 트랜지스터들(218)을 턴 오프하기 위해 라인(SGS)을 사용할 수 있다.
메모리 셀들(210, 211, 212, 213, 및 214)은 다중 레벨들의 메모리 디바이스(200) 상에 물리적으로 위치될 수 있으며, 따라서 동일한 메모리 셀 스트링에서의 메모리 셀들은 다중 레벨들의 메모리 디바이스(200)에서 서로의 위에 적층될 수 있다. 예를 들면, 메모리 셀들(214)은 일 레벨의 메모리 디바이스(200) 상에 물리적으로 위치될 수 있다. 메모리 셀들(213)은 또 다른 레벨의 메모리 디바이스(200) 상에서 메모리 셀(214) 위에 물리적으로 위치될 수 있다. 도 2는 각각의 메모리 셀 스트링에서 12개의 메모리 셀 스트링들(220 내지 229) 및 4개의 메모리 셀들(210, 211, 212, 및 213)의 일 예를 도시한다. 메모리 셀 스트링들의 수 및 각각의 메모리 셀 스트링에서의 메모리 셀들의 수는 변할 수 있다.
메모리 셀들(210) 및 메모리 셀들(214)은 메모리 어레이(202)의 각각의 에지들에 물리적으로 위치될 수 있다. 예를 들면, 메모리 셀들(210)은 메모리 어레이(202)의 에지에 물리적으로 위치될 수 있으며, 따라서 메모리 셀들(210)은 메모리 어레이(202)의 다른 메모리 셀들(예로서, 211, 212, 213, 및 214)보다 트랜지스터들(217)에 더 가까울 수 있다. 또 다른 예에서, 메모리 셀들(214)은 메모리 어레이(202)의 또 다른 에지에 물리적으로 위치될 수 있으며, 따라서, 메모리 셀들(210)은 메모리 어레이(202)의 다른 메모리 셀들(예로서, 210, 211, 212, 및 213)보다 트랜지스터들(218)에 가장 가까울 수 있다.
메모리 동작에서, 메모리 디바이스(200)는 선택된 메모리 셀들에 정보를 저장하기 위해(예로서, 기록 동작에서) 또는 선택된 메모리 셀들로부터 정보를 검색하기 위해(예로서, 판독 동작에서) 메모리 셀들(210, 211, 212, 213, 및 214) 중에서 선택된 메모리 셀들을 선택적으로 액세스할 수 있다. 메모리 셀들(210, 211, 212, 213, 및 214)에 저장된 정보는 데이터 및 데이터와 연관된 ECC를 포함할 수 있다. 예를 들면, 메모리 셀들(212) 중에서 선택된 메모리 셀들에 정보를 저장하기 위해, 메모리 디바이스(200)는 단지 메모리 셀들(212)만이 액세스될 수 있도록 라인들(WL0 내지 WL4)을 활성화시킬 수 있다. 그 후 메모리 디바이스(200)는 예를 들면, 라인(WL2) 및 라인들(BL0 내지 BL9) 상에 적절한 전압(예로서, 프로그래밍 전압)을 인가함으로써, 선택된 메모리 셀들에 정보를 저장할 수 있다. 또 다른 예에서, 메모리 셀들(212) 중에서 선택된 메모리 셀들로부터 정보(예로서, 데이터 및 ECC)를 검색하기 위해, 메모리 디바이스(200)는 단지 메모리 셀들(212)만이 액세스될 수 있도록 라인들(WL0 내지 WL4)을 활성화시킬 수 있다. 그 후, 메모리 디바이스(200)는 예를 들면, 라인들(BL0 내지 BL9)을 통해 선택된 메모리 셀들로부터 저장된 정보를 감지함으로써, 선택된 메모리 셀들로부터 저장된 정보를 검색할 수 있다.
도 2에 도시된 바와 같이, 동일한 라인(WL0, WL1, WL2, WL3, 또는 WL4)과 연관된 메모리 셀들(210, 211, 212, 213, 또는 214)은 각각의 메모리 부분이 다수의(그룹의) 메모리 셀들을 포함할 수 있는 상이한 메모리 부분들로 조직될 수 있다. 예를 들면, 메모리 셀들(210)(라인(WL0)과 연관된)은 메모리 부분들(251, 252, 및 253)로 조직될 수 있다. 메모리 셀들(211)(라인(WL1)과 연관된)은 메모리 부분들(261, 262, 및 263)로 조직될 수 있다. 메모리 셀들(212)(라인(WL2)과 연관된)은 메모리 부분들(271, 272, 및 273)로 조직될 수 있다. 메모리 셀들(213)(라인(WL3)과 연관된)은 메모리 부분들(281, 282, 및 283)로 조직될 수 있다. 메모리 셀들(214)(라인(WL4)과 연관된)은 메모리 부분들(291, 292, 및 293)로 조직될 수 있다.
메모리 디바이스(200)의 메모리 부분들은 상이한 유형들의 정보를 저장할 수 있다. 예를 들면, 메모리 부분들(251, 261, 271, 281, 및 291)은 데이터를 저장할 수 있다. 메모리 부분들(252, 253, 262, 263, 272, 273, 282, 283, 292, 및 293)은 메모리 부분들(251, 261, 271, 281, 및 291)에 저장된 각각의 데이터와 연관된 ECC를 저장할 수 있다. 대안적으로 또는 부가적으로, 메모리 부분들(252, 253, 262, 263, 272, 273, 282, 283, 292, 및 293)은 또한 다른 유형들의 정보(예로서, 오버헤드 정보 또는 데이터 관리 정보)를 저장할 수 있다.
도 2는 일 예로서, 메모리 부분들(251, 261, 271, 281, 및 291), 메모리 부분들(252, 262, 272, 282, 및 292), 및 메모리 부분들(253, 263, 273, 283, 및 293)의 각각에서 특정한 수(예로서, 6, 3, 또는 1)의 메모리 셀들을 도시한다. 이들 메모리 부분들에서의 메모리 셀들의 수는 변할 수 있다.
단순함을 위해, 다음의 설명은 라인(WL3)과 연관된 메모리 셀들(213)과 같이, 라인들(WL0, WL1, WL2, WL3, 및 WL4) 중 하나와 연관된 메모리 셀들의 조직화들 및 기능들을 설명한다. 다른 메모리 셀들(210, 211, 212, 및 214)이 유사한 조직화들 및 기능들을 포함할 수 있다.
메모리 셀들(213)에서, 메모리 부분(271)은 메모리 부분들(272, 273)의 조합된 크기보다 상당히 더 큰 크기(예로서, 메모리 셀들의 수)를 가질 수 있다. 예를 들면, 메모리 부분(271)은 모든 메모리 셀들(213)의 수의 대략 97%(예로서, 96.875%)를 포함할 수 있으며, 메모리 부분들(272, 273)은 모든 메모리 셀들(213)의 수의 대략 3%(예로서, 3.125%)를 포함할 수 있다.
일 예로서, 메모리 부분(271)은 8 x 8 x 210비트들(8 킬로바이트들)의 데이터(예로서, 65,536 셀들의 각각이 1 비트의 데이터를 저장하도록 구성된다면)를 저장할 수 있거나 또는 16 x 8 x 210비트들(16 킬로바이트들)의 데이터(예로서, 65,536 셀들의 각각의 2 비트들의 데이터를 저장하도록 구성된다면)를 저장할 수 있는 65,536 = 8 x 8 x 210 셀들을 포함할 수 있다. 메모리 부분들(272, 273)은 256 바이트들의 데이터(예로서, 2,048 셀들의 각각이 1 비트의 데이터를 저장하도록 구성된다면)를 저장할 수 있거나 또는 512 바이트들의 데이터(예로서, 2,048 셀들의 각각이 2 비트들의 데이터를 저장하도록 구성된다면)를 저장할 수 있는 2,048 = 256 x 8 셀들을 포함할 수 있다.
메모리 부분(272)은 메모리 부분(273)의 것보다 큰 크기(예로서, 메모리 셀들의 수)를 가질 수 있다. 예를 들면, 메모리 부분(272)은 메모리 부분(273)의 크기의 3배보다 큰 크기를 가질 수 있다. 따라서, 메모리 부분(272)은 메모리 부분(273)에 저장될 수 있는 ECC의 크기의 3배인 크기를 갖는 ECC를 저장할 수 있을 수 있다. 예를 들면, 메모리 부분(273)은 64 바이트들의 ECC를 저장할 수 있는 다수의 메모리 셀들을 포함할 수 있으며, 메모리 부분(272)은 192 바이트들의 ECC를 저장할 수 있는 다수의 메모리 셀들을 포함할 수 있다.
메모리 부분들(251, 261, 271, 281, 및 291)은 동일한 크기를 가질 수 있다. 예를 들면, 메모리 부분들(251, 261, 271, 281, 및 291)의 각각은 65,536 = 8 x 8 x 210 셀들(예를 들면, 각각의 부분에서 8 킬로바이트들 또는 16 킬로바이트들의 데이터를 저장할 수 있는)을 포함할 수 있다. 메모리 부분들(252, 262, 272, 282, 및 292)은 동일한 크기를 가질 수 있다. 예를 들면, 메모리 부분들(252, 262, 272, 282, 및 292)의 각각은 1,536 = 192 x 8 셀들(예를 들면, 각각의 메모리 부분에서 192 바이트들 또는 384 바이트들의 ECC를 저장할 수 있는)을 포함할 수 있다. 메모리 부분들(253, 263, 273, 283, 및 293)은 동일한 크기를 가질 수 있다. 예를 들면, 메모리 부분들(253, 263, 273, 283, 및 293)의 각각은 512 = 64 x 8 셀들(예를 들면, 각각의 메모리 부분에서 64 바이트들 또는 128 바이트들의 ECC를 저장할 수 있는)을 포함할 수 있다.
메모리 셀들(210, 211, 212, 213, 및 214)은 순차적인 순서로 정보(예로서, 데이터 및 ECC)를 저장할 수 있다. 예를 들면, 정보는 정보가 메모리 부분들(261, 262, 및 263)(라인(WL1)과 연관된)의 메모리 셀들(211)에 저장될 수 있기 전에 메모리 부분들(251, 252, 및 253)(라인(WL0)과 연관된)의 메모리 셀들(예로서, 메모리 셀들(210)의 모두)에 저장될 수 있다. 정보는 정보가 메모리 부분들(271, 272, 및 273)(라인(WL2)과 연관된) 등의 메모리 셀들(212)에 저장될 수 있기 전에 메모리 부분들(261, 262, 및 263)(라인(WL1)과 연관된)의 메모리 셀들(211)(예로서, 메모리 셀들(211)의 모두)에 저장될 수 있다. 대안적으로, 다른 순서(예로서, 비-순차적인 순서)가 사용될 수 있다.
라인들(WL0, WL1, WL2, WL3, 및 WL4) 중에서 동일한 라인과 연관된 메모리 셀들(210, 211, 212, 213, 또는 214)의 메모리 부분들은 메모리 동작에서 데이터 및 ECC를 동시에 저장할 수 있다. 다시 말해서, 데이터 및 ECC는 동일한 라인(예로서, 라인(WL0, WL1, WL2, WL3, 또는 WL4) 중 하나)의 메모리 셀들에 병렬 방식으로 저장될 수 있다. 예를 들면, 메모리 부분들(271, 272, 및 273)에서의 메모리 셀들은 데이터 및 ECC를 동시에 저장할 수 있으며, 따라서 데이터가 기록 동작에서 메모리 부분(271)에 저장될 수 있는 동안, ECC는 동일한 기록 동작에서 메모리 부분들(272, 273)에 저장될 수 있다. 또 다른 예에서, 메모리 부분들(281, 282, 및 283)에서의 메모리 셀들(213)은 데이터 및 ECC를 동시에 저장할 수 있으며, 따라서 데이터가 기록 동작에서 메모리 부분(281)에 저장되는 동안, ECC는 동일한 기록 동작에서 메모리 부분들(282, 283)에 저장된다.
도 3은 본 발명의 실시예에 따라, 도 2의 메모리 셀들(210, 211, 212, 213, 및 214)에 저장된 정보(예로서, 데이터 또는 ECC)의 값들을 표현하도록 구성될 수 있는 임계 전압(VT) 범위들(301, 302, 303, 및 304)을 도시한 그래프이다. 도 3에 도시된 바와 같이, 하나의 VT 범위에서의 VT 값들(예로서, VT 축을 따라 볼트 단위에서의 값들)은 또 다른 VT 범위에서의 VT 값들과 상이하다. 예를 들면, VT 범위(301)는 VT 범위들(302, 303, 및 304)의 VT 값들에 대해 최저 VT 값들을 포함할 수 있다. VT 범위(304)는 VT 범위들(301, 302, 및 303)의 VT 값들에 대해 최고 VT 값들을 포함할 수 있다.
도 3에 도시된 바와 같이, VT 범위들(301, 302, 303, 및 304)의 VT 값들은 2 비트들의 정보의 각각 4개의 가능한 값들("00", "01", "10", 및 "11")을 표현하도록 구성될 수 있다. 각각 VT 범위들(301, 302, 303, 및 304)에 대응하는 순서("11", "10", "00", 및 "01")는 예시적인 순서이다. 상이한 순서가 사용될 수 있다.
도 3은 일 예로서 4개의 VT 범위들을 도시한다. 상이한 수의 범위들이 사용될 수 있다. 예를 들면, 8개의 상이한 VT 범위들이 "000", "001", "010", "011", "100", "101", "110", 및 "111"을 포함하여, 3 비트들의 8개의 가능한 값들을 표현하기 위해 사용될 수 있다.
도 2에서, 메모리 셀들(210, 211, 212, 213, 및 214)의 각각은 2 비트들의 값("11", "10", "00, 또는 "01") 중 어떤 것이 선택된 메모리 셀에 저장되는지에 의존하여, 메모리 셀에 저장된 정보의 값에 대응하는 VT 범위들(301, 302, 303, 및 304)(도 3) 중 하나 내에 있는 VT 값(예로서, 기록 동작 후)을 유지할 수 있다. 예를 들면, 도 3에 기초하여, 선택된 메모리 셀(예로서, 도 2에서의 210, 211, 212, 213, 및 214 중 하나)에 값("10")을 저장하기 위해, 기록 동작은 선택된 메모리 셀이 VT 범위(302) 내에 VT 값을 유지하게 할 수 있다. 또 다른 예에서, 선택된 메모리 셀에 값("01")을 저장하기 위해, 기록 동작은 선택된 메모리 셀이 VT 범위(304) 내에 VT 값을 유지하게 할 수 있다.
판독 동작은 선택된 메모리 셀에 저장된 정보의 값(예로서, "00", "01", "10", 또는 "11")을 결정하기 위해 선택된 메모리 셀에 저장된 정보를 검색(예로서, 감지함으로써)할 수 있다. 예를 들면, 판독 동작에서, VT 범위(302)에 대응하는 VT 값이 선택된 메모리 셀로부터 감지된다면, "10"(도 3에 기초한)의 값은 감지된 VT 값으로부터 생성될 수 있다. 값("10")은 그 후 선택된 메모리 셀에 저장된 정보의 값으로서 제공될 수 있다(예로서, 출력).
도 2를 참조하여 상기 설명된 바와 같이, 메모리 셀들(210, 211, 212, 213, 및 214)(도 2)에 저장된 정보는 데이터 및 ECC를 포함할 수 있다. 따라서, 도 3에서, 값들("00", "01", "10", 및 "11")의 각각은 2 비트들의 데이터 또는 2 비트들의 ECC의 값들을 표현할 수 있다. 예를 들면, 도 2에서, 메모리 부분(281)에서의 메모리 셀들(213)이 데이터를 저장하기 때문에, 메모리 부분(281)에서의 특정한 메모리 셀(213)이 VT 범위(302) 내에서의 VT 값(예로서, 감지될 때)을 가진다면(도 3에서의 값("10")에 대응하는), 상기 특정한 메모리 셀에서의 저장된 정보는 2 비트들의 데이터의 값("10")을 표현할 수 있다. 또 다른 예에서, 도 2에서, 메모리 부분들(282, 283)에서의 메모리 셀들(213)은 ECC를 저장할 수 있기 때문에, 메모리 부분(282 또는 283)에서의 특정한 메모리 셀(213)이 VT 범위(302)(도 3에서의 값("10")에 대응하는) 내에서의 VT 값(예로서, 감지될 때)을 가진다면, 상기 특정한 메모리 셀에서의 저장된 정보는 2 비트들의 ECC의 값("10")을 표현할 수 있다.
도 3에 도시된 바와 같이, 2 비트들(값들("00", "01", "10", 및 "11")을 가진)의 정보는 비트 위치 MSB(예로서, 최상위 비트)에 하나의 비트 및 비트 위치 LSB(예로서, 최하위 비트)에 하나의 비트로서 지정될 수 있다.
메모리 디바이스(200)(도 2)는 정보의 페이지들에서 데이터의 비트들(저장될)을 조직하도록 구성될 수 있다. 정보의 각각의 페이지는 데이터 및 그것의 연관된 ECC를 포함할 수 있다. 1 페이지의 정보에서의 데이터의 크기(예로서, 8K 바이트들)는 또 다른 페이지의 정보에서의 데이터의 크기와 동일할 수 있다.
한 페이지의 정보에서의 데이터의 비트들은 동일한 비트 위치(예로서, MSB 또는 LSB)에 저장될 비트들을 포함할 수 있다. 예를 들면, 한 페이지의 정보는 동일한 비트 위치(MSB)에 저장될 비트들을 가진 데이터를 포함할 수 있다. 또 다른 예에서, 또 다른 페이지의 정보는 동일한 비트 위치(LSB)에 저장될 비트들을 가진 데이터를 포함할 수 있다.
도 3에 도시된 바와 같이, 비트 위치(MSB)에서의 비트들 중에서, 값들("1", "1", "0", 및 "0")은 이러한 순서로, VT 범위(302)에서의 "1"로부터 VT 범위(303)에서의 "0"으로 단지 한 번 변한다. 비트 위치(LSB)에서의 비트들 중에서, 값들("1", "0", "0", 및 "1")은 이러한 순서로, VT 범위(301)에서의 "1"로부터 VT 범위(302)에서의 "0"으로 변하는 것 및 VT 범위(303)에서의 "0"에서 VT 범위(304)에서의 "1"로 변하는 것과 같이, 두 번 변한다. 따라서, 비트 위치들(MSB)에서의 비트들 및 비트 위치(LSB)에서의 비트들 사이에서의 비교에서, 비트 위치(LSB)에서의 비트들은 비트 위치(MSB)에서의 비트들보다 보다 많이 변한다. 에러는 비트가 여전히 동일한 값에 있을 때보다 비트가 그것의 값들을 변경할 때(예로서, "0" 및 "1" 사이) 발생할 가능성이 더 높다. 따라서, 에러는 비트 위치(MSB)에서의 비트들보다 비트 위치(LSB)에서의 비트들에서 발생할 가능성이 더 높다(예로서, 두 배 더 높은).
따라서, 도 3에서의 값들("11", "10", "00", "01")의 순서에 기초하여, 보다 에러에 취약한 페이지의 정보는 비트 위치(LSB)에서의 비트들을 가진 데이터를 포함하는 정보의 페이지를 나타낼 수 있다. 덜 에러에 취약한 페이지의 정보는 비트 위치(MSB)에서의 비트들을 가진 데이터를 포함하는 정보의 페이지를 나타낼 수 있다.
몇몇 경우들에서, 도 3에서의 값들("11", "10", "00", 및 "01")은 도 3에 도시된 순서와 상이한 순서로 배열될 수 있다. 이러한 경우들에서, 값들("11", "10", "00", 및 "01")의 순서에 의존하여, 에러는 비트 위치(LSB)에서의 비트들에서보다 비트 위치(MSB)에서의 비트들에서 발생할 가능성이 더 높을 수 있다.
요컨대, 보다 에러에 취약한 페이지의 정보는 또 다른 비트 위치(예로서, 도 3에서의 값들의 순서에 기초한 MSB)에서의 비트들을 가진 데이터를 포함하는 정보의 페이지보다 에러들을 가질 가능성이 더 높은 비트 위치(예로서, 도 3에서의 값들의 순서에 기초한 LSB)에서의 비트들을 가진 데이터를 포함하는 정보의 페이지를 나타낼 수 있다. 덜 에러에 취약한 페이지의 정보는 또 다른 비트 위치(예로서, 도 3에서의 값들의 순서에 기초한 LSB)에서의 비트들을 가진 데이터를 포함하는 정보의 페이지보다 에러들을 가질 가능성이 덜 높은 비트 위치(예로서, 도 3에서의 값들의 순서에 기초한 MSB)에서의 비트들을 가진 데이터를 포함하는 정보의 페이지를 나타낼 수 있다.
따라서, 도 4 내지 도 8을 참조하여 이하에 설명되는 바와 같이, 데이터의 에러 정정을 개선하기 위해, 보다 많은 ECC(예로서, 보다 높은 수의 ECC 비트들)는 에러들을 가질 가능성이 덜한 비트 위치에서의 비트들을 가진 데이터에 보다 에러들을 가질 가능성이 더 높은 것으로 결정되는 비트 위치에서의 비트들을 가진 데이터에 할당될 수 있다. 메모리 셀들(210, 211, 212, 및 213)과 같은, 메모리 셀들로 기록되며 그로부터 검색된 비트 패턴들의 분석은 비트 위치들(예로서, MSB 또는 LSB) 중 어떤 것이 에러들을 가질 가능성이 더 높은 데이터의 비트들을 갖는지를 결정하기 위해 수행될 수 있다(예로서, 제조 동안).
도 4는 본 발명의 실시예에 따라, 도 2의 메모리 셀들(210, 211, 212, 213, 및 214)의 메모리 부분들의 대응하는 블록도를 도시한다. 도 4에서의 메모리 셀들(210, 211, 212, 213, 및 214)의 메모리 부분들의 참조 지정들은, 메모리 부분들(251, 252, 및 253)(라인(WL0)과 연관된), 메모리 부분들(261, 262, 및 263)(라인(WL1)과 연관된), 메모리 부분들(271, 272, 및 273)(라인(WL2)와 연관된), 메모리 부분들(281, 282, 및 283)(라인(WL3)과 연관된), 및 메모리 부분들(291, 292, 및 293)(라인(WL4)과 연관된)을 포함하여(도 4에 도시된 바와 같이), 도 2에서의 것들과 동일하다. 도 4에서의 도면은 일정한 비율로 그려지지 않는다.
도 4에 도시된 바와 같이, 메모리 부분들(252, 262, 272, 282, 및 292)의 각각은 메모리 부분(252)에서의 부분들(401, 402, 및 403), 메모리 부분(262)에서의 부분들(411, 412, 및 413), 메모리 부분(272)에서의 부분들(421, 422, 및 423), 메모리 부분(282)에서의 부분들(431, 432, 및 433), 메모리 부분(292)에서의 부분들(441, 442, 및 443)과 같은, 부분들(예로서, 서브부분들)을 포함할 수 있다.
부분들(401, 402, 및 403)은 동일한 크기(예로서, 동일한 수의 메모리 셀들)를 가질 수 있다. 부분들(401, 402, 및 403)의 각각은 또한 메모리 부분(253)의 크기와 동일한 크기를 가질 수 있다. 부분들(411, 412, 및 413)은 메모리 부분(263)의 크기와 동일할 수 있는 동일한 크기(예로서, 동일한 수의 메모리 셀들)를 가질 수 있다. 부분들(421, 422, 및 423)은 메모리 부분(273)의 크기와 동일할 수 있는 동일한 크기(예로서, 동일한 수의 메모리 셀들)를 가질 수 있다. 부분들(431, 432, 및 433)은 메모리 부분(283)의 크기와 동일할 수 있는 동일한 크기(예로서, 동일한 수의 메모리 셀들)를 가질 수 있다. 부분들(441, 442, 및 443)은 메모리 부분(293)의 크기와 동일할 수 있는 동일한 크기(예로서, 동일한 수의 메모리 셀들)를 가질 수 있다.
도 5는 본 발명의 실시예에 따라, 도 4의 메모리 부분들에 저장될 수 있는 정보의 상이한 페이지들(예로서, 데이터 및 ECC)을 도시한다. 도 4에서의 메모리 셀들(210, 211, 212, 213, 및 214)의 메모리 부분들의 참조 지정들은 메모리 부분들(251, 252, 및 253)(라인(WL0)과 연관된), 메모리 부분들(261, 262, 및 263)(라인(WL1)과 연관된), 메모리 부분들(271, 272, 및 273)(라인(WL2)과 연관된), 메모리 부분들(281, 282, 및 283)(라인(WL3)과 연관된), 및 메모리 부분들(291, 292, 및 293)(라인(WL4)과 연관된)을 포함하여, 도 2에서의 것들과 동일하다.
도 5에 도시된 바와 같이, 정보는 데이터(555) 및 연관된 ECC(557), 데이터(565) 및 연관된 ECC(567), 데이터(566) 및 연관된 ECC(568), 데이터(575) 및 연관된 ECC(577), 데이터(576) 및 연관된 ECC(578), 데이터(585) 및 연관된 ECC(587), 데이터(586) 및 연관된 ECC(588), 데이터(595) 및 연관된 ECC(597)와 같은, 데이터 및 그것들의 연관된 ECC를 포함할 수 있다.
특정한 데이터와 연관된 ECC는 상기 특정한 데이터에서 발생할 수 있는 에러들을 정정하기 위해 사용될 수 있다. 예를 들면, ECC(577)는 데이터(575)가 판독 동작에서 검색될 때 데이터(575)에서 발생할 수 있는 에러들을 정정하기 위해 사용될 수 있다. 또 다른 예에서, ECC(578)는 데이터(576)가 판독 동작에서 검색될 때 데이터(576)에서 발생할 수 있는 에러들을 정정하기 위해 사용될 수 있다.
도 5에서, "데이터 WLx", "데이터AWLx", 및 "데이터BWLx" (여기에서 x = 0, 1, 2, 3, 또는 4)는 각각 라인들(WL0, WL1, WL2, WL3, 및 WL4)과 연관된 메모리 부분들(251, 261, 271, 281, 및 291)에 저장된 데이터(555, 565, 575, 585, 및 595) 중에서 상이한 데이터(예로서, 데이터의 비트들)를 표현할 수 있다. 예를 들면, "데이터AWL1"은 라인(WL1)과 연관된 메모리 부분(261)에 저장된 정보의 페이지에서의 데이터를 표현할 수 있다. 또 다른 예에서, "데이터BWL1"은 라인(WL1)과 연관된 메모리의 메모리 부분(261)에 저장된 정보의 또 다른 페이지에서의 데이터를 표현할 수 있다. "데이터AWL1" 및 "데이터BWL1"은 라인(WL1)과 연관된 메모리 부분(261)의 동일한 메모리 셀들에 저장될 수 있다. "데이터AWL2" 및 "데이터BWL2"는 라인(WL2)과 연관된 메모리 부분(271)에 저장된 정보의 두 개의 상이한 페이지들에서의 데이터를 표현할 수 있다. "데이터AWL3" 및 "데이터BWL3"은 라인(WL3)과 연관된 메모리 부분(281)에 저장된 정보의 두 개의 상이한 페이지들에서의 데이터를 표현할 수 있다.
정보의 상이한 페이지들에서의 데이터는 동일한 크기(예로서, 동일한 수의 비트들)를 가질 수 있다. 예를 들면, 데이터(555, 565, 566, 575, 576, 585, 586, 및 595)(예로서, "데이터WLx", "데이터AWLx", 및 "데이터BWLx"에 의해 표현된)는 동일한 수의 비트들(예로서, 65,536 비트들 = 8 x 8 x 210 = 8 킬로바이트들)을 가질 수 있다.
"ECCY (데이터 WLx)", "ECCY (데이터AWLx)", 및"ECCY (데이터BWLx)"(여기에서 Y = 0, 1, 2, 3, 또는 4)는 메모리 부분들(251, 261, 271, 281, 및 291)에 저장된 데이터와 연관된 상이한 세트들(예로서, 패리티 검사 비트들의 세트들)의 ECC들(557, 567, 577, 587, 588, 및 597)을 표현할 수 있다. 예를 들면, "ECC0 (데이터AWL2)", "ECC1 (데이터AWL2)", "ECC2 (데이터AWL2)"는 데이터("데이터AWL2")와 연관된 3 세트들의 ECC를 표현할 수 있다. 또 다른 예에서, "ECC0 (데이터BWL2)", "ECC1 (데이터BWL2)", "ECC2 (데이터BWL2)", "ECC3 (데이터BWL2)" 및 "ECC4 (데이터BWL2)"는 데이터("데이터BWL2")와 연관된 5 세트들의 ECC를 표현할 수 있다.
"ECCY (데이터 WLx)", "ECCY (데이터AWLx)", 및"ECCY (데이터BWLx)"는 동일한 크기(예로서, 512 비트들 = 64 바이트들과 같은, 동일한 수의 비트들)를 가질 수 있다.
도 5에 도시된 데이터 및 ECC는 정보의 페이지들로 조직될 수 있다. 예를 들면, 라인(WL2)과 연관된 메모리 부분들에 저장된 정보의 페이지는 "데이터AWL2", "ECC0 (데이터AWL2)", "ECC1 (데이터AWL2)", "ECC2 (데이터AWL2)", 및 "ECC4 (데이터BWL1)"을 포함할 수 있다. 라인(WL2)과 연관된 메모리 부분들에 저장된 정보의 또 다른 페이지는 "데이터BWL2", "ECC0 (데이터BWL2)", "ECC1 (데이터BWL2)", "ECC2 (데이터BWL2)", 및 "ECC3 (데이터BWL2)"를 포함할 수 있다.
도 5에 도시된 바와 같이, 상이한 페이지들의 정보로부터의 데이터는 동일한 라인(WL0, WL1, WL2, WL3, 또는 WL4)과 연관된 동일한 메모리 부분에 저장될 수 있다. 예를 들면, 2개의 상이한 페이지들의 정보로부터의 데이터("데이터AWL2" 및 "데이터BWL2")는 라인(WL2)과 연관된 동일한 메모리 부분(271)에 저장될 수 있다.
특정한 데이터와 연관된 전체 ECC는 데이터와 동일한 페이지의 정보로 조직될 수 있으며, 동일한 라인(라인들(WL0, WL1, WL2, WL3, 및 WL4) 중 하나)과 연관된 메모리 부분들에 저장될 수 있다. 예를 들면, "데이터AWL2"와 연관된 "ECC0 (데이터AWL2)", "ECC1 (데이터AWL2)", 및 "ECC2 (데이터AWL2)"는 동일한 페이지의 정보로 조직되며 동일한 라인(WL2)과 연관된 메모리 부분들에 저장될 수 있다.
특정한 데이터와 연관된 ECC의 부분(예로서, 세트)은 상기 특정한 데이터를 포함하는 정보의 페이지와 상이한 정보의 페이지로 조직될 수 있다. 정보의 상이한 페이지들은 상이한 액세스 라인들과 연관된 메모리 부분들에 저장될 수 있다. 예를 들면, 데이터BWL2와 연관된 ECC의 부분(예로서, ECC4 (데이터BWL2))은 데이터BWL2를 포함하는 정보의 페이지와 상이한 "데이터AWL3", "ECC0 (데이터AWL3)", "ECC1 (데이터AWL3)", 및 "ECC2 (데이터AWL3)"을 포함하는 정보의 페이지로 조직될 수 있다. 따라서, 데이터 및 그것의 연관된 ECC는 두 개의 상이한 페이지들의 정보로 조직될 수 있으며 라인들(WL0, WL1, WL2, WL3, 및 WL4) 중에서 두 개의 상이한 라인들과 연관된 메모리 부분들에 저장될 수 있다. 두 개의 상이한 라인들(예로서, WL2 및 WL3)은 물리적으로 서로의 바로 옆에 위치될 수 있다. 따라서, 상이한 라인들과 연관된 메모리 부분들은 물리적으로 서로의 바로 옆에 위치되는 메모리 셀들(예로서, 212 및 213)을 포함할 수 있다.
도 5에 도시된 바와 같이, 라인들(WL0, WL2, WL2 WL3, 및 WL4) 중 몇몇(예로서, 라인들(WL0 및 WL4))과 연관된 메모리 부분들은 단지 한 페이지의 정보를 저장하도록 구성될 수 있다. 예를 들면, 라인(WL0)과 연관된 메모리 부분들(251, 252, 및 253)은 "데이터 WL0", "ECC0 (데이터 WL0)", "ECC1 (데이터 WL0)", "ECC2 (데이터 WL0)", 및 "ECC3 (데이터 WL0)"을 포함하는 단지 한 페이지의 정보만을 저장하도록 구성될 수 있다. 또 다른 예에서, 라인(WL4)과 연관된 메모리 부분들(291, 292, 및 293)은 "데이터 WL4", "ECC0 (데이터 WL4)", "ECC1 (데이터 WL4)", "ECC2 (데이터 WL4)", 및 "ECC4 (데이터B WL3)"을 포함하는 단지 한 페이지의 정보만을 저장하도록 구성될 수 있다.
도 5에 도시된 바와 같이, 라인들(WL0, WL2, WL2 WL3, 및 WL4) 중 몇몇(예로서, 라인들(WL1, WL2, 및 WL3))과 연관된 메모리 부분들은 다수의 페이지들의 정보를 저장하도록 구성될 수 있다. 예를 들면, 도 5에 도시된 바와 같이, 메모리 부분(271)은 데이터(575)를 포함하는 한 페이지의 정보 및 데이터(576)를 포함하는 또 다른 페이지의 정보를 저장하도록 구성될 수 있다. 이 예에서, 메모리 부분(217)이 8 x 8 x 210 메모리 셀들을 포함하며 이들 메모리 셀들의 각각이 2 비트들의 데이터를 저장하도록 구성된다면, 총 16 킬로바이트들의 데이터에 대해, 메모리 부분(217)은 한 페이지의 정보에 포함된 데이터(575)의 8 x 8 x 210 비트들 (8 킬로바이트들) 및 또 다른 페이지의 정보에 포함된 데이터(576)의 또 다른 8 x 8 x 210 비트들 (8 킬로바이트들)을 저장할 수 있다.
도 5는 두 페이지들의 정보가 메모리 부분들(261, 271, 및 281)의 각각에 저장될 수 있는 일 예를 도시한다. 메모리 부분들(261, 271, 및 281)의 각각에 저장될 수 있는 다수의 페이지들의 수는 변할 수 있다. 예를 들면, 메모리 부분들(261, 271, 및 281)의 메모리 셀들이 3 비트들의 정보를 저장하도록 구성된다면, 메모리 부분들(261, 271, 및 281)의 각각은 최대 3 페이지들의 정보까지 저장할 수 있다.
상이한 데이터와 연관된 ECC들은 상이한 크기들(예로서, 상이한 수들의 세트들 및 상이한 수들의 비트들)을 가질 수 있다. 예를 들면, 도 5에 도시된 바와 같이, ECC들(557, 567, 568, 577, 578, 587, 588, 및 597)은 상이한 수들의 세트들의 ECC를 포함할 수 있다. ECC들(557 및 567)의 각각은 4 세트들의 ECC(예로서, 4개의 세트들에서 총 256 바이트들에 대해 각각의 세트에서 64 바이트들의 ECC)를 포함할 수 있다. ECC들(577, 587, 및 597)의 각각은 3 세트들의 ECC(예로서, 3개의 세트들에서 총 192 바이트들에 대해 각각의 세트에서 64 바이트들의 ECC)를 포함할 수 있다. ECC들(568, 578, 및 588)의 각각은 5 세트들의 ECC(예로서, 5개의 세트들에서 총 320 바이트들에 대해 각각의 세트에서 64 바이트들의 ECC)를 포함할 수 있다.
보다 에러에 취약한 페이지의 정보에서의 데이터는 덜 에러에 취약한 페이지의 정보에서의 데이터보다 더 많은 세트들의 ECC와 연관될 수 있다. 예를 들면, 도 5에서, 데이터(566, 576, 및 586)의 각각은 5 세트들의 ECC와 연관되기 때문에, 데이터(566, 576, 및 586)를 포함하는 정보의 페이지들은 보다 에러에 취약한 페이지들의 정보로서 불리울 수 있다. 또 다른 예에서, 도 5에서, 데이터(555, 565, 575, 585, 및 595)이 각각은 5 세트들보다 적은 ECC와 연관되기 때문에, 데이터(555, 565, 575, 585, 및 595)를 포함하는 정보의 페이지들은 덜 에러에 취약한 페이지의 정보로서 불리울 수 있다.
ECC들(555, 565, 575, 585, 및 595)은 저-밀도 패리티-검사(LDPC) 코딩 기술을 포함한 기술들을 사용하여 생성될 수 있다. 예를 들면, 이 기술분야의 숙련자들에게 알려진 바와 같이, 발생기 매트릭스(예로서, G-매트릭스)는 LDPC 코드에 기초하여 생성될 수 있다. 이러한 발생기 매트릭스는 각각 데이터(555, 565, 566, 575, 576, 585, 586, 및 595)와 연관된 ECC들(557, 567, 568, 577, 578, 587, 588, 및 597)의 "ECCY (데이터 WLx)", "ECCY (데이터AWLx)", 및 "ECCY (데이터BWLx)"를 생성하기 위해 사용될 수 있다.
도 6은 본 발명의 실시예에 따른, 발생기 매트릭스(610)의 구조를 도시한다. 발생기 매트릭스(610)는 5개의 층들(601, 602, 603, 604, 및 605)을 포함할 수 있으며, 5-층 준-순환 LDPC 인코더 및 5-층 준-순환 LDPC 디코더와 같은, 준-순환 LDPC 코덱에서 구현될 수 있다. 도 6에 도시된 바와 같이, 층들(601, 602, 603, 604, 및 605)의 각각은 서브매트릭스들(620)과 같은 서브매트릭스들을 포함할 수 있어서, 데이터 부분(631) 및 패리티 검사 부분(632)을 형성한다. 서브매트릭스들(620)의 각각은 로우들 및 컬럼들로 배열된 다수의 이진 값("0" 및 "1") 엔트리들을 포함할 수 있다. 간소화를 위해, 엔트리들("0" 및 "1")은 서브매트릭스들(620)에 도시되지 않는다. 대신에, 서브매트릭스들(620)에서, 대각선들은 엔트리들("1")의 위치를 표현하며 공간들은 엔트리들("0")의 위치들을 표현한다.
발생기 매트릭스(610)는 도 5를 참조하여 상기 설명된 ECC들(557, 567, 568, 577, 578, 587, 588, 및 597)과 같은 ECC를 생성하기 위해 사용될 수 있다(예로서, 데이터의 인코딩 동안). 특정한 데이터와 연관된 상이한 수들의 세트들(예로서, 5 세트들의 패리티 검사 비트들까지)의 ECC가 생성될 수 있다.
예를 들면, 특정한 데이터와 연관된 5 세트들의 ECC(예로서, ECC0, ECC1, ECC2, ECC3, 및 ECC4)는 모든 5개의 층들(601, 602, 603, 604, 및 605)을 사용하여서와 같이, 발생기 매트릭스(610)의 모든 층들을 사용하여 생성될 수 있다. 따라서, 보다 에러에 취약한 페이지의 정보에 포함될 특정한 데이터에 대해, 상기 특정한 데이터와 연관된 5 세트들의 ECC는 발생기 매트릭스(610)의 모든 5개의 층들(601, 602, 603, 604, 및 605)을 사용하여 생성될 수 있다.
또 다른 예에서, 특정한 데이터와 연관된 5개보다 적은 세트들의 ECC(예로서, 3개의 세트들(ECC0, ECC1, 및 ECC2), 또는 4개의 세트들(ECC0, ECC1, ECC2, 및 ECC3))은 단지 3개의 층들(601, 602, 및 603)(3개의 세트들의 ECC를 생성하기 위해)만을 사용하여 또는 단지 4개의 층들(601, 602, 603, 및 604)(4개의 세트들의 ECC를 생성하기 위해)만을 사용하여와 같이, 모두보다 적은 층들의 발생기 매트릭스(610)를 사용하여 생성될 수 있다. 따라서, 덜 에러에 취약한 페이지의 정보에 포함될 특정한 데이터에 대해, 상기 특정한 데이터와 연관된 3 또는 4 세트들의 ECC는 단지 3개의 층들(601, 602, 및 603) 또는 단지 4개의 층들(601, 602, 603, 및 604)을 사용하여 생성될 수 있다.
발생기 매트릭스(610)에 기초하여 생성된 ECC의 세트들(예로서, ECC0, ECC1, ECC2, ECC3, 및 ECC4)은 도 5를 참조하여 상기 설명된 세트들("ECCY (데이터 WLx)", "ECCY (데이터AWLx)", 및"ECCY (데이터B WLx)")에 대응할 수 있다.
도 6에서의 발생기 매트릭스(610)는 또한 에러들이 데이터에 발생한다면 데이터와 연관된 ECC에 기초하여 데이터를 생성하기 위해 사용될 수 있다(예로서, 데이터의 디코딩 동안). 예를 들면, 5 세트들의 ECC(예로서, ECC0 , ECC1, ECC2 , ECC3 , 및 ECC4 ))가 특정한 데이터와 연관된다면(예로서, 데이터의 인코딩 동안), 발생기 매트릭스(610)의 4개의 층들(예로서, 601, 602, 603, 및 604)에 대응하는 4 세트들의 ECC는 처음에 상기 특정한 데이터를 재생하려고 시도하기 위해 사용될 수 있다. 데이터가 성공적으로 생성되지 않았다면, 모든 5 세트들의 ECC 및 발생기 매트릭스(610)의 모든 5개의 층들(예로서, 601, 602, 603, 604, 및 605)은 상기 특정한 데이터를 재생하려고 시도하기 위해 사용될 수 있다. 또 다른 예에서, 3 세트들의 ECC(예로서, ECC0 , ECC1 , 및 ECC2)가 특정한 데이터와 연관된다면(예로서, 데이터의 인코딩 동안), 3 세트들의 ECC 및 발생기 매트릭스(610)의 대응하는 3개의 층들(예로서, 601, 602, 및 603)은 상기 특정한 데이터를 재생하려고 시도하기 위해 사용될 수 있다. 또 다른 예에서, 4 세트들의 ECC(예로서, ECC0 , ECC1, ECC2, 및 ECC3)가 특정한 데이터와 연관된다면(예로서, 데이터의 인코딩 동안), 4 세트들의 ECC 및 발생기 매트릭스(610)의 대응하는 4개의 층들(예로서, 601, 602, 603, 및 604)은 상기 특정한 데이터를 재생하려고 시도하기 위해 사용될 수 있다.
도 7은 본 발명의 실시예에 따른, 시스템(700)의 형태에서의 장치의 블록도를 도시한다. 시스템(700)은 디바이스들(710, 720, 및 730)을 포함할 수 있다. 디바이스(710)는 범용 프로세서 또는 애플리케이션 특정 집적 회로(ASIC)와 같은, 프로세서를 포함할 수 있다. 디바이스(720)는 디바이스들(710 및 730) 사이에서의 정보의 전달을 제어하기 위해 메모리 제어기를 포함할 수 있다. 디바이스(720)는 또한 디바이스(710)로부터 전달된 데이터와 같은, 데이터와 연관된 ECC를 생성할 수 있다. 디바이스(730)는 도 1의 메모리 디바이스(100)와 같은, 메모리 디바이스를 포함할 수 있다. 디바이스들(710, 720, 및 730)의 각각은 물리적으로 별개의 반도체 다이 상에 위치될 수 있다. 대안적으로, 디바이스들(710, 720, 및 730) 중 임의의 두 개 또는 디바이스들(710, 720, 및 730)의 모두는 물리적으로 동일한 반도체 다이 상에 위치될 수 있다.
도 7에서, "데이터 + ECC"는 시스템(700)에서 데이터 및 그것의 연관된 ECC를 표현할 수 있다. 데이터는 도 5를 참조하여 상기 설명된 데이터(555, 565, 566, 575, 576, 585, 586, 및 595)에 포함된 "데이터 WLx", "데이터AWLx", 또는 "데이터BWLx"에 대응할 수 있다. 도 7에서, ECC는 도 5를 참조하여 상기 설명된 ECC(557, 567, 568, 577, 578, 587, 588, 및 597)에 포함된 "ECCY (데이터 WLx)", "ECCY (데이터AWLx)", 및"ECCY (데이터B WLx)"에 대응할 수 있다. 도 7에서, ECC4 (데이터B)는 도 5를 참조하여 상기 설명된 "ECC4 (데이터B WL1)", "ECC4 (데이터B WL2)", 또는 "ECC4 (데이터B WL3)"에 대응할 수 있다.
다음의 설명은 디바이스(730)에 정보를 저장하기 위해 시스템(700)에서의 예시적인 동작(예로서, 기록 동작)을 설명한다. 이러한 예시적인 동작에서, 디바이스(710)는 데이터(디바이스(730)에 저장될)를 디바이스(720)에 전달할 수 있다. 그 후, 디바이스(720)는 데이터와 연관된 ECC를 생성하며 데이터 및 그것의 연관된 ECC 양쪽 모두를 저장을 위해 디바이스(730)에 전달할 수 있다.
이러한 예시적인 동작에서, 디바이스(720)의 인터페이스(732)는 디바이스(710)로부터 데이터를 수신할 수 있으며 수신된 데이터를 버퍼(734)에 전달할 수 있다. 디바이스(720)는 버퍼(734)로부터 데이터를 수신하기 위해 ECC 발생기(736)를 포함하며 데이터와 연관된 ECC를 생성할 수 있다.
ECC 발생기(736)는 ECC 발생기(736)에 구현된 발생기 매트릭스(예로서, 도 6의 발생기 매트릭스(610))에 적어도 부분적으로 기초하여 ECC를 생성하기 위해 인코더(737)를 포함할 수 있다. ECC 발생기(736)에 의해 생성된 ECC는 상이한 수들의 ECC 세트들(예로서, 패리티 검사 비트들의 세트들)을 포함할 수 있다. 예를 들면, ECC는 상기 정보의 페이지가 디바이스(730)에 전송되기 전에 정보의 어떤 페이지가 데이터를 포함할지에 의존하여, 3, 4, 또는 5 세트들을 포함할 수 있다. 예를 들면, 도 5 및 도 6을 참조하여 상기 설명된 바와 같이, 보다 에러에 취약한 페이지의 정보에서의 데이터와 연관된 ECC는 5 세트들의 ECC를 포함할 수 있다. 덜 에러에 취약한 페이지의 정보에서의 데이터와 연관된 ECC는 3 또는 4 세트들의 ECC를 포함할 수 있다.
도 7에서, 예를 들면, 데이터가 에러에 덜 취약한 페이지의 정보에 포함된다면, 상기 특정한 데이터에 대한 ECC 발생기(736)에 의해 생성된 ECC는 도 5의 ECC(577, 587, 및 597)의 각각에서의 3 세트들(ECC0, ECC1, 및 ECC2 ) 또는 ECC(557 및 567)의 각각에서의 4 세트들(ECC0, ECC1, ECC2, 및 ECC3 )과 유사하거나 또는 그와 동일할 수 있는 3 또는 4 세트들의 ECC를 포함할 수 있다. 또 다른 예에서, 디바이스(720)에 전달된 데이터가 보다 에러에 취약한 페이지의 정보에 포함된다면, 특정한 데이터에 기초하여 ECC 발생기(736)에 의해 생성된 ECC는 도 5의 ECC(568, 578, 및 588)의 각각에서 ECC 세트들(ECC0, ECC1, ECC2, ECC3, 및 ECC4 )과 유사하거나 또는 동일할 수 있는, 5 세트들을 포함할 수 있다.
도 7에서 디바이스(720)는 보다 에러에 취약한 페이지의 정보에서의 특정한 데이터와 연관된 ECC의 일 부분을 저장하기 위해 ECC 기록 저장 유닛(738)을 포함할 수 있다. ECC 기록 저장 유닛(738)에 저장된 ECC의 부분은 상기 특정한 데이터와 연관된 5 세트들의 ECC 중에서 단지 하나의 세트(예로서, ECC4 (데이터B))만을 포함할 수 있다.
디바이스(720)는 데이터 및 ECC를 정보의 페이지들로 조직하며 그것들을 저장을 위해 디바이스(730)로 전달할 수 있다. 정보의 각각의 페이지는 데이터 및 4 세트들의 ECC를 포함할 수 있다. 4 세트들의 ECC는 동일한 데이터 및/또는 상이한 데이터와 연관된 ECC일 수 있다. 예를 들면, 보다 에러에 취약한 페이지의 정보는 데이터(예로서, 도 5에서의 데이터(566, 576, 및 586)) 및 상기 동일한 데이터와 연관된 5 세트들 중 4개의 ECC(예로서, ECC0, ECC1, ECC2, 및 ECC3)를 포함할 수 있다. 덜 에러에 취약한 정보는 데이터(예로서, 도 5에서의 데이터(555, 556)) 및 모든 4개의 세트들의 그것의 연관된 ECC(예로서, ECC0, ECC1, ECC2, 및ECC3)를 포함할 수 있다.
덜 에러에 취약한 페이지의 정보는 또한 데이터(예로서, 도 5에서의 데이터(575, 585, 및 595)) 및 모든 3 세트들의 그것의 연관된 ECC(예로서, ECC0, ECC1, 및ECC2)를 포함할 수 있다. 덜 에러에 취약한 페이지의 정보에서의 제 4 세트의 ECC는 ECC 기록 저장 유닛(738)에 저장되는 ECC 세트(예로서, ECC4 (데이터B))로부터 온다. 상기 설명된 바와 같이, ECC 기록 저장 유닛(738)에 저장된 ECC 세트(예로서, ECC4 (데이터B))는 보다 에러에 취약한 페이지의 정보에 포함된 데이터와 연관된다. 디바이스(720)는 이하에 설명되는 바와 같이, 보다 에러에 취약한 페이지의 정보에서의 데이터와 연관된 ECC의 나머지의 전달과 상이한 시간에 ECC 기록 저장 유닛(738)에 저장된 ECC 세트(예로서, ECC4 (데이터B))를 디바이스(730)에 전달할 수 있다.
보다 에러에 취약한 페이지의 정보에 포함될 특정한 데이터와 연관된 ECC(예로서, 5개의 ECC 세트들)의 생성 후, 디바이스(720)는 상기 특정한 데이터와 연관된 ECC(예로서, ECC4 (데이터B))의 일 부분을 저장하며 기록 제어 유닛(740)을 통해 인터페이스(742)로 상기 특정한 데이터 및 정보의 페이지에서의 그것의 연관된 ECC의 나머지(예로서, 4 세트들(ECC0, ECC1, ECC2, 및 ECC3))를 전달할 수 있다. ECC 기록 저장 유닛(738)에 저장된 ECC의 부분은 상기 특정한 데이터와 연관된 ECC의 다른 부분이 인터페이스(742)로 전달되는 동안 및 그 후 ECC 기록 저장 유닛(738)에 저장된 채로 있을 수 있다.
덜 에러에 취약한 페이지의 정보에 포함될 특정한 데이터와 연관된 ECC(예로서, 3개의 ECC 세트들)의 생성에 응답하여, 디바이스(720)는 ECC 기록 저장 유닛(738)에 저장된 ECC(예로서, ECC4 (데이터B))의 부분을 검색하며 그것을 덜 에러에 취약한 페이지의 정보에서의 데이터 및 연관된 ECC(예로서, 3개의 ECC 세트들)과 함께 인터페이스(742)로 전달할 수 있다.
디바이스(730)는 도 5를 참조하여 상기 설명된 것들과 유사하거나 또는 동일한 방식으로 정보(디바이스(720)로부터 수신된 데이터 및 ECC)의 페이지들을 저장하도록 구성될 수 있는 메모리 셀들(도 7에 도시되지 않음)을 포함할 수 있다.
다음의 설명은 디바이스(730)로부터 저장된 정보를 검색하기 위해 시스템(700)에서 또 다른 예시적인 동작(예로서, 판독 동작)을 설명한다. 이러한 예시적인 동작에서, 디바이스(720)는 인터페이스(742)에서의 디바이스(730)로부터 데이터 및 ECC를 포함한, 정보를 수신할 수 있다. 디바이스(720)는 정보를 프로세싱하기 위해 판독 제어 유닛(750) 및 프로세싱 유닛(752)을 포함할 수 있다. 디바이스(720)는 정보로부터 데이터를 생성하기 위해 검사 유닛(754)을 포함할 수 있다.
검사 유닛(754)은 ECC 발생기(736)에 구현된 발생기 매트릭스와 동일할 수 있는, 검사 유닛(754)에 구현된 발생기 메트릭스에 적어도 부분적으로 기초하여 데이터를 생성하기 위해 디코더(756)를 포함할 수 있다.
디바이스(720)는 발생기 매트릭스의 층들의 일 부분(예로서, 모두보다 적은 층들)에만 기초하여 데이터를 생성할 수 있다. 예를 들면, 덜 에러에 취약한 페이지의 정보에 대해, 디바이스(720)는 데이터를 생성하기 위해 발생기 매트릭스의 단지 3개(또는 4개)의 층들만을 사용할 수 있다. 보다 에러에 취약한 페이지의 정보에 대해, 디바이스(720)는 데이터를 생성하기 위해 모든 층들의 일 부분(예로서, 4개의 층들)만을 사용하거나 또는 발생기 매트릭스의 모든 층들(예로서, 5개)을 사용할 수 있다. 예를 들면, 디바이스(720)는 보통 보다 에러에 취약한 페이지의 정보로부터 데이터를 생성하기 위해 발생기 매트릭스의 모두보다 적은 층들을 사용하도록 구성될 수 있다. 디바이스(720)가 모두보다 적은 층들을 사용하여 데이터를 성공적으로 생성할 수 없다면, 그것은 데이터를 생성하기 위해 발생기 매트릭스의 모든 층들을 사용하며 상기 프로세스를 반복할 것이다.
다음의 설명은 그것이 디바이스(730)로부터 보다 에러에 취약한 페이지의 정보를 수신할 때 디바이스(720)가 데이터를 생성하는 예시적인 동작을 설명한다. 예를 설명하는 것을 용이하게 하기 위해, 도 5에 도시된 정보가 사용된다. 이러한 예시적인 동작에서, 디바이스(720)는 데이터(데이터BWL2) 및 4 세트들의 그것의 연관된 ECC("ECC0 (데이터BWL2)", "ECC1 (데이터BWL2)", "ECC2 (데이터BWL2)", 및 "ECC3 (데이터BWL2)"(도 5))를 포함하는 정보의 페이지와 같은, 정보의 페이지를 디바이스(730)로부터 수신한다. 도 5에 도시된 바와 같이, 정보의 이러한 페이지는 라인(WL2)과 연관된 메모리 부분들(271, 272, 및 273)에 저장된다. 도 7에서, 디바이스(720)는 데이터(예로서, 데이터BWL2)를 생성하기 위해 4 세트들의 ECC(ECC0 (데이터BWL2), ECC1 (데이터BWL2), ECC2 (데이터BWL2), 및 ECC3 (데이터BWL2)) 및 4개의 층들의 발생기 매트릭스를 사용한다. 디바이스(720)가 정보의 수신된 페이지(4 세트들의 ECC를 포함하여)로부터 데이터를 생성할 수 있다면, 그것은 데이터를 디바이스(710)로 전달할 것이다.
디바이스(720)가 정보의 수신된 페이지(4 세트들의 ECC를 포함하여)로부터 데이터(예로서, 데이터BWL2)를 생성할 수 없다면, 그것은 데이터와 연관된 제 5 세트(예로서, 도 5에서의 ECC4 (데이터BWL2))의 ECC를 포함하여, 발생기 매트릭스의 모든 층들(예로서, 5) 및 데이터와 연관된 모든 세트들의 ECC(예로서, 5)를 사용하여 다시 시도할 것이다. 디바이스(720)는 데이터를 생성하려는 제 2 시도에서 보다 에러에 취약한 페이지의 정보에 포함된 데이터와 연관된 ECC의 일 부분(예로서, ECC4 (데이터BWL2))을 저장하기 위해 ECC 판독 저장 유닛(758)을 포함할 수 있다.
데이터를 생성하려는 제 2 시도 동안, 디바이스(720)는 메모리 부분(283)(도 5)으로부터 ECC4 (데이터BWL2)를 검색하며 ECC 판독 저장 유닛(758)에 ECC4 (데이터BWL2)를 저장한다. 그 후, 디바이스(720)는 디바이스(720)가 데이터를 생성할 수 없는 정보의 페이지로부터 데이터BWL2 및 "ECC0 (데이터BWL2)", "ECC1 (데이터BWL2)", "ECC2 (데이터BWL2)", 및 "ECC3 (데이터BWL2)"를 검색한다. 이 때, 디바이스(720)는 데이터(예로서, 데이터BWL2)를 생성하기 위해 모든 5 세트들의 ECC(ECC0 (데이터BWL2), ECC1 (데이터BWL2), ECC2 (데이터BWL2), ECC3 (데이터BWL2), ECC4 (데이터BWL2)) 및 발생기 매트릭스의 5개의 층들을 사용할 수 있다.
시스템(700)에서의 몇몇 상황들(예로서, 파워 다운)에서, 보다 에러에 취약한 페이지의 정보에서의 특정한 데이터와 연관된 ECC의 일 부분(예로서, ECC4 데이터B)은 상기 특정한 데이터가 디바이스(730)에 저장된 후 ECC 기록 저장 유닛(738)에 저장되지 않을 수 있다. 이러한 상황에서, 디바이스(730)에 새로운 데이터를 저장하기 위해 기록 동작을 수행하기 전에, 디바이스(720)는 디바이스(730)로부터 상기 특정한 데이터(이미 저장된 데이터)를 검색(예로서, 판독 동작에서)할 수 있다. 저장된 데이터가 검색된 후, 디바이스(730)는 상기 데이터와 연관된 전체 ECC(예로서, 모든 5 세트들의 ECC)를 생성(예로서, 재생)할 수 있다. 그 후, 디바이스(720)는 상기 설명된 바와 같이, ECC 기록 저장 유닛(736)에 ECC의 일 부분(예로서, ECC4 데이터B)을 저장하며 그 후 덜 에러에 취약한 페이지의 정보에서의 데이터 및 ECC와 함께 디바이스(730)의 상기 부분을 저장할 수 있다.
시스템(700)은 다수의 ECC를 유지(예로서, 저장)하기 위해 부가적인 저장 유닛(도 7에 도시되지 않음)을 포함할 수 있으며, 따라서 상기 설명된 바와 같은 몇몇 상황들(예로서, 파워 다운)에서 ECC(예로서, ECC4 데이터B)의 일 부분을 재생하는 것은 회피될 수 있다. 다수의 ECC는 하나 이상의 페이지들의 정보에서의 데이터와 연관된 모든 5 세트들의 ECC(예로서, 전체 ECC)를 포함할 수 있다. 시스템(700)에서의 부가적인 저장 유닛은 디바이스(720)에서의 대형 온-보드 캐시 메모리와 같은 대형 메모리(예로서, 비-휘발성 메모리)를 포함할 수 있다. 몇몇 경우들에서, 부가적인 저장 유닛은 ECC 기록 저장 유닛(738)의 일부로서 포함될 수 있다.
도 8은 본 발명의 실시예에 따라, 시스템을 동작시키는 방법(800)을 도시한 흐름도이다. 방법(800)은 활동들(810, 820, 및 830)을 포함할 수 있다. 활동들(810, 820, 및 830)의 모두 또는 일부는 도 1의 메모리 디바이스(100), 도 2의 메모리 디바이스(200), 또는 도 7의 시스템(700)과 같은, 장치에서 사용될 수 있다.
활동(810)은 데이터와 연관된 ECC를 생성하는 것을 포함할 수 있다. 활동(820)은 데이터 및 ECC를 저장하는 것을 포함할 수 있다. 활동(830)은 데이터 및 ECC를 검색하는 것을 포함할 수 있다. 활동들(810, 820, 및 830)은 도 1 내지 도 7을 참조하여 상기 설명된 장치(예로서, 메모리 디바이스들(100, 200) 및 시스템(700))에 의해 수행된 활동들 중 일부 또는 모두를 포함할 수 있다.
장치들(예로서, 메모리 디바이스들(100, 200) 및 시스템(700)) 및 방법들(예로서, 방법(800))의 예시들은 다양한 실시예들의 구조의 일반적인 이해를 제공하도록 의도되며 여기에 설명된 구조들을 사용할 수 있는 장치들의 요소들 및 특징들 모두의 완전한 설명을 제공하도록 의도되지 않는다. 여기에서의 장치는 예를 들면, 메모리 디바이스들(100, 200)과 같은 디바이스를 포함하는 디바이스(예로서, 메모리 디바이스들(100, 200)) 또는 시스템(예로서, 시스템(700))을 나타낸다.
메모리 디바이스들(100, 200) 및 시스템(800)은 고속 컴퓨터들, 통신 및 신호 프로세싱 회로, 단일 또는 다중-프로세서 모듈들, 단일 또는 다중 내장 프로세서들, 다중-코어 프로세서들, 메시지 정보 스위치들, 및 다층, 다중-칩 모듈들을 포함한 애플리케이션-특정 모듈들과 같은 장치들(예로서, 전자 회로)에 포함될 수 있다. 이러한 장치들은 또한 텔레비전들, 셀룰러 전화기들, 개인용 컴퓨터들(예로서, 랩탑 컴퓨터들, 데스크탑 컴퓨터들, 핸드헬드 컴퓨터들, 태블릿 컴퓨터들 등), 워크스테이션들, 라디오들, 비디오 플레이어들, 오디오 플레이어들(예로서, MP3(동화상 전문가 그룹), 오디오 계층 3) 플레이어들), 차량들, 의료 디바이스들(예로서, 심장 모니터, 혈압 모니터 등), 셋 탑 박스들, 및 기타와 같은 다양한 다른 장치들(예로서, 전자 시스템들) 내에서 서브-구성요소들로서 포함될 수 있다.
도 1 내지 도 8을 참조하여 상기 설명된 실시예들은 제 1 메모리 셀들, 제 1 메모리 셀들을 액세스하도록 구성된 제 1 액세스 라인, 제 2 메모리 셀들, 및 제 2 메모리 셀들을 액세스하도록 구성된 제 2 액세스 라인을 가진 장치들 및 방법들을 포함한다. 이러한 장치들 중 하나는 데이터가 제 1 메모리 셀들의 메모리 부분에 저장되게 하고, 데이터와 연관된 에러 정정 코드의 제 1 부분이 제 1 메모리 셀들의 또 다른 메모리 부분에 저장되게 하며, 에러 정정 코드의 제 2 부분이 제 2 메모리 셀들에 저장되게 하도록 구성된 제어기를 포함할 수 있다. 부가적인 장치들 및 방법들을 포함한 다른 실시예들이 설명된다.
상기 설명 및 도면들은 이 기술분야의 숙련자들이 본 발명의 실시예들을 실시할 수 있게 하기 위해 본 발명의 몇몇 실시예들을 예시한다. 다른 실시예들은 구조적, 논리적, 전기적, 프로세스 및 다른 변화들을 통합할 수 있다. 예들은 단지 가능한 변화들을 특징짓는다. 몇몇 실시예들의 부분들 및 특징들은 다른 것들의 것들에 포함되거나 또는 그것을 위해 대체될 수 있다. 많은 다른 실시예들이 상기 설명을 판독 및 이해할 때 이 기술분야의 숙련자들에게 명백할 것이다.
Claims (45)
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 장치에 있어서,
데이터를 저장하기 위한 제 1 메모리 부분, 제 1 메모리 셀들에 대한 에러 정정 코드(ECC) 데이터를 저장하기 위한 제 2 메모리 부분, 및 상기 제 1 메모리 셀들 또는 다른 메모리 셀들에 대한 ECC 데이터를 저장하기 위한 제 3 메모리 부분을 포함하는 상기 제 1 메모리 셀들 - 상기 제 3 메모리 부분은 상기 제 2 메모리 부분의 1/3 크기임 -;
상기 제 1 메모리 셀들을 액세스하도록 구성된 제 1 액세스 라인;
데이터를 저장하기 위한 제 4 메모리 부분, 제 2 메모리 셀들에 대한 ECC 데이터를 저장하기 위한 제 5 메모리 부분, 및 상기 제 2 메모리 셀들 또는 상기 제 1 메모리 셀들에 대한 ECC 데이터를 저장하기 위한 제 6 메모리 부분을 포함하는 상기 제 2 메모리 셀들 - 상기 제 4 메모리 부분 및 상기 제 1 메모리 부분은 동일한 수의 메모리 셀들을 갖고, 상기 제 5 메모리 부분 및 상기 제 2 메모리 부분은 동일한 수의 메모리 셀들을 갖고, 상기 제 6 메모리 부분 및 상기 제 3 메모리 부분은 동일한 수의 메모리 셀들을 가짐 -;
상기 제 2 메모리 셀들을 액세스하도록 구성된 제 2 액세스 라인; 및
제 1 데이터가 상기 제 1 메모리 셀들의 제 1 메모리 부분에 저장되게 하는 동작;
상기 제 1 데이터와 연관된 제 1 ECC의 제 1 부분이 상기 제 1 메모리 셀들의 제 2 메모리 부분에 저장되게 하는 동작;
상기 제 1 데이터와 연관된 제 1 ECC의 제 2 부분이 상기 제 1 메모리 셀들의 제 3 메모리 부분에 저장되게 하는 동작;
제 2 데이터 및 제 3 데이터가 상기 제 2 메모리 셀들의 제 4 메모리 부분에 저장되게 하는 동작;
상기 제 2 데이터와 연관된 제 2 ECC 및 상기 제 3 데이터와 연관된 제 3 ECC의 제 1 부분이 상기 제 2 메모리 셀들의 제 5 메모리 부분에 저장되게 하는 동작; 및
상기 제 1 데이터와 연관된 제 1 ECC의 제 3 부분 및 상기 제 3 데이터와 연관된 제 3 ECC의 제 2 부분이 상기 제 2 메모리 셀들의 제 6 메모리 부분에 저장되게 하는 동작
을 포함하는 동작들을 수행하도록 구성된 제어기를 포함하는, 장치. - 청구항 11에 있어서, 상기 제 1, 제 2, 및 제 3 데이터는 동일한 수의 비트들을 포함하는, 장치.
- 청구항 11에 있어서, 상기 제 3 메모리 부분에서의 메모리 셀들의 수는 상기 제 2 메모리 부분에서의 메모리 셀들의 수보다 작은, 장치.
- 삭제
- 청구항 11에 있어서, 상기 제 1, 제 2, 제 3, 제 4, 제 5, 및 제 6 메모리 부분들은 상기 장치의 동일한 디바이스에 포함되는, 장치.
- 청구항 11에 있어서, 상기 제 1 메모리 셀들은 상기 제 2 메모리 셀들의 바로 옆에 위치되는, 장치.
- 청구항 11에 있어서, 상기 동작들은:
제 4 데이터가 상기 제 1 메모리 셀들의 제 1 메모리 부분에 저장되게 하는 동작;
상기 제 4 데이터와 연관된 제 4 ECC의 제 1 부분이 상기 제 1 메모리 셀들의 제 2 메모리 부분에 저장되게 하는 동작; 및
상기 제 4 데이터와 연관된 제 4 ECC의 제 2 부분이 상기 제 1 메모리 셀들의 제 3 메모리 부분에 저장되게 하는 동작
을 더 포함하는, 장치. - 삭제
- 청구항 11에 있어서, 상기 제 1 데이터는 정보의 제 1 페이지에 포함되며, 상기 제 2 데이터, 상기 제 2 데이터와 연관된 제 2 ECC, 및 상기 제 1 데이터와 연관된 제 1 ECC의 제 3 부분은 정보의 제 2 페이지에 포함되는, 장치.
- 청구항 11에 있어서, 상기 제 2 ECC의 크기는 상기 제 3 ECC의 크기와 상이한, 장치.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020217007840A KR102403171B1 (ko) | 2012-03-06 | 2013-03-01 | 에러 정정 코드 조직화를 포함한 장치들 및 방법들 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/413,363 US8954825B2 (en) | 2012-03-06 | 2012-03-06 | Apparatuses and methods including error correction code organization |
US13/413,363 | 2012-03-06 | ||
PCT/US2013/028644 WO2013134066A1 (en) | 2012-03-06 | 2013-03-01 | Apparatuses and methods including error correction code organization |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217007840A Division KR102403171B1 (ko) | 2012-03-06 | 2013-03-01 | 에러 정정 코드 조직화를 포함한 장치들 및 방법들 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140133593A KR20140133593A (ko) | 2014-11-19 |
KR102230584B1 true KR102230584B1 (ko) | 2021-03-23 |
Family
ID=49115168
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227017513A KR20220075448A (ko) | 2012-03-06 | 2013-03-01 | 에러 정정 코드 조직화를 포함한 장치들 및 방법들 |
KR1020217007840A KR102403171B1 (ko) | 2012-03-06 | 2013-03-01 | 에러 정정 코드 조직화를 포함한 장치들 및 방법들 |
KR1020147027762A KR102230584B1 (ko) | 2012-03-06 | 2013-03-01 | 에러 정정 코드 조직화를 포함한 장치들 및 방법들 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227017513A KR20220075448A (ko) | 2012-03-06 | 2013-03-01 | 에러 정정 코드 조직화를 포함한 장치들 및 방법들 |
KR1020217007840A KR102403171B1 (ko) | 2012-03-06 | 2013-03-01 | 에러 정정 코드 조직화를 포함한 장치들 및 방법들 |
Country Status (7)
Country | Link |
---|---|
US (3) | US8954825B2 (ko) |
EP (1) | EP2823487B1 (ko) |
JP (2) | JP6195854B2 (ko) |
KR (3) | KR20220075448A (ko) |
CN (1) | CN104272396B (ko) |
TW (1) | TWI646419B (ko) |
WO (1) | WO2013134066A1 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954825B2 (en) | 2012-03-06 | 2015-02-10 | Micron Technology, Inc. | Apparatuses and methods including error correction code organization |
KR101979392B1 (ko) * | 2012-05-17 | 2019-05-16 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
CN106169312B (zh) * | 2015-05-18 | 2021-05-07 | 爱思开海力士有限公司 | 用于快闪存储的广义乘积码 |
CN106897023B (zh) * | 2015-12-18 | 2020-06-09 | 群联电子股份有限公司 | 数据读取方法、存储器控制电路单元及存储器储存装置 |
US9899104B2 (en) * | 2016-03-18 | 2018-02-20 | Silicon Motion Inc. | Raid decoding architecture with reduced bandwidth |
DE102016107285B4 (de) * | 2016-04-20 | 2019-04-25 | Infineon Technologies Ag | Verfahren zur verwendung einer speichervorrichtung, speichervorrichtung und speichervorrichtungsanordnung |
US10558525B2 (en) * | 2016-06-30 | 2020-02-11 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of correcting errors in a memory array and a system for implementing the same |
KR102479212B1 (ko) * | 2016-08-17 | 2022-12-20 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
JP2018152146A (ja) * | 2017-03-09 | 2018-09-27 | 東芝メモリ株式会社 | 半導体記憶装置及びデータ読み出し方法 |
US10269445B1 (en) * | 2017-10-22 | 2019-04-23 | Nanya Technology Corporation | Memory device and operating method thereof |
US10504587B2 (en) * | 2017-12-20 | 2019-12-10 | Intel Corporation | Method and system for compensating for floating gate-to-floating gate (fg-fg) interference in flash memory cell read operations |
TWI658463B (zh) * | 2018-08-23 | 2019-05-01 | 群聯電子股份有限公司 | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 |
US11190217B2 (en) | 2018-08-23 | 2021-11-30 | Phison Electronics Corp. | Data writing method, memory controlling circuit unit and memory storage device |
CN110874282B (zh) * | 2018-08-31 | 2023-03-21 | 群联电子股份有限公司 | 数据存取方法、存储器控制电路单元与存储器存储装置 |
US10795759B2 (en) * | 2018-09-10 | 2020-10-06 | Micron Technology, Inc. | Apparatuses and methods for error correction coding and data bus inversion for semiconductor memories |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070165457A1 (en) * | 2005-09-30 | 2007-07-19 | Jin-Ki Kim | Nonvolatile memory system |
JP2009282923A (ja) * | 2008-05-26 | 2009-12-03 | Toshiba Corp | 半導体記憶装置及び不揮発性メモリ |
US20100332946A1 (en) * | 2009-06-30 | 2010-12-30 | Sang Kyu Lee | Method of operating nonvolatile memory device and nonvolatile memory device for implementing the same |
JP2012022422A (ja) * | 2010-07-13 | 2012-02-02 | Panasonic Corp | 半導体記録再生装置 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998058468A1 (fr) | 1997-06-19 | 1998-12-23 | Kabushiki Kaisha Toshiba | Systeme de transmission avec multiplexage de donnees d'information, multiplexeur et demultiplexeur utilises a cet effet et codeur et decodeur pour correction d'erreurs |
JPH11283396A (ja) * | 1998-03-27 | 1999-10-15 | Sony Corp | メモリ装置 |
JP3308915B2 (ja) * | 1998-11-11 | 2002-07-29 | エヌイーシーマイクロシステム株式会社 | 不良救済用メモリセル及びそれを用いた記憶装置 |
US7409623B2 (en) | 2004-11-04 | 2008-08-05 | Sigmatel, Inc. | System and method of reading non-volatile computer memory |
JP4530807B2 (ja) | 2004-11-05 | 2010-08-25 | シャープ株式会社 | データ伝送システム |
ITMI20050780A1 (it) | 2005-04-29 | 2006-10-30 | St Microelectronics Srl | Metodo di memorizzazione di un array di celle di memoria non-volatile con codice di correzione di errore e relativo dispositivo |
US7644336B2 (en) | 2006-02-04 | 2010-01-05 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for providing greater error protection to error-prone bits in codewords generated from irregular codes |
US20070300130A1 (en) | 2006-05-17 | 2007-12-27 | Sandisk Corporation | Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices |
JP4946249B2 (ja) * | 2006-08-07 | 2012-06-06 | 富士通セミコンダクター株式会社 | Eccのコード長が変更可能な半導体メモリ装置 |
US7904780B2 (en) | 2006-11-03 | 2011-03-08 | Sandisk Corporation | Methods of modulating error correction coding |
KR100845529B1 (ko) * | 2007-01-03 | 2008-07-10 | 삼성전자주식회사 | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 |
US7861139B2 (en) * | 2007-01-26 | 2010-12-28 | Micron Technology, Inc. | Programming management data for NAND memories |
US20100107033A1 (en) | 2007-01-31 | 2010-04-29 | Kenichi Kuri | Radio communication device and puncturing method |
US8429493B2 (en) * | 2007-05-12 | 2013-04-23 | Apple Inc. | Memory device with internal signap processing unit |
US7747903B2 (en) | 2007-07-09 | 2010-06-29 | Micron Technology, Inc. | Error correction for memory |
WO2009078006A2 (en) * | 2007-12-18 | 2009-06-25 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
EP2592553B1 (en) * | 2008-03-11 | 2015-11-18 | Agere Systems, Inc. | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
US8255771B2 (en) | 2008-03-14 | 2012-08-28 | Micron Technology, Inc. | Memory device repair apparatus, systems, and methods |
US8493783B2 (en) * | 2008-03-18 | 2013-07-23 | Apple Inc. | Memory device readout using multiple sense times |
US8473815B2 (en) * | 2008-12-22 | 2013-06-25 | Industrial Technology Research Institute | Methods and systems of a flash memory controller and an error correction code (ECC) controller using variable-length segmented ECC data |
US20100235605A1 (en) | 2009-02-13 | 2010-09-16 | Nir Perry | Enhancement of storage life expectancy by bad block management |
US8166368B2 (en) * | 2009-02-24 | 2012-04-24 | International Business Machines Corporation | Writing a special symbol to a memory to indicate the absence of a data signal |
US20100251076A1 (en) | 2009-03-27 | 2010-09-30 | Chao-Yi Wu | Storage controller having soft decoder included therein, related storage control method thereof and system using the same |
JP5540969B2 (ja) | 2009-09-11 | 2014-07-02 | ソニー株式会社 | 不揮発性メモリ装置、メモリコントローラ、およびメモリシステム |
US8495465B1 (en) * | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
JP5789767B2 (ja) | 2009-11-25 | 2015-10-07 | パナソニックIpマネジメント株式会社 | 半導体記録装置及び半導体記録装置の制御方法 |
JP2011128751A (ja) * | 2009-12-16 | 2011-06-30 | Clarion Co Ltd | データ記録装置およびデータ記録装置の制御方法 |
JP5039160B2 (ja) | 2010-03-02 | 2012-10-03 | 株式会社東芝 | 不揮発性半導体記憶システム |
KR20110105257A (ko) * | 2010-03-18 | 2011-09-26 | 삼성전자주식회사 | 적층 구조를 갖는 반도체 메모리 장치 및 에러 정정 방법 |
JP2011198272A (ja) | 2010-03-23 | 2011-10-06 | Toshiba Corp | 半導体記憶装置および半導体記憶装置の制御方法 |
US8400827B2 (en) * | 2010-06-07 | 2013-03-19 | Micron Technology, Inc. | Non-volatile memory programming |
JP2012094132A (ja) | 2010-10-01 | 2012-05-17 | Siglead Inc | 不揮発性半導体メモリ装置とデータ誤り訂正方法 |
US8954825B2 (en) | 2012-03-06 | 2015-02-10 | Micron Technology, Inc. | Apparatuses and methods including error correction code organization |
-
2012
- 2012-03-06 US US13/413,363 patent/US8954825B2/en active Active
-
2013
- 2013-03-01 EP EP13757577.5A patent/EP2823487B1/en active Active
- 2013-03-01 JP JP2014560980A patent/JP6195854B2/ja active Active
- 2013-03-01 KR KR1020227017513A patent/KR20220075448A/ko not_active Application Discontinuation
- 2013-03-01 WO PCT/US2013/028644 patent/WO2013134066A1/en active Application Filing
- 2013-03-01 KR KR1020217007840A patent/KR102403171B1/ko active IP Right Grant
- 2013-03-01 CN CN201380023047.3A patent/CN104272396B/zh active Active
- 2013-03-01 KR KR1020147027762A patent/KR102230584B1/ko active IP Right Grant
- 2013-03-06 TW TW102107947A patent/TWI646419B/zh active
-
2015
- 2015-01-20 US US14/600,800 patent/US9336086B2/en active Active
-
2016
- 2016-05-06 US US15/148,321 patent/US9983928B2/en active Active
- 2016-08-17 JP JP2016159911A patent/JP6181257B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070165457A1 (en) * | 2005-09-30 | 2007-07-19 | Jin-Ki Kim | Nonvolatile memory system |
JP2009282923A (ja) * | 2008-05-26 | 2009-12-03 | Toshiba Corp | 半導体記憶装置及び不揮発性メモリ |
US20100332946A1 (en) * | 2009-06-30 | 2010-12-30 | Sang Kyu Lee | Method of operating nonvolatile memory device and nonvolatile memory device for implementing the same |
JP2012022422A (ja) * | 2010-07-13 | 2012-02-02 | Panasonic Corp | 半導体記録再生装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2013134066A1 (en) | 2013-09-12 |
CN104272396B (zh) | 2016-01-27 |
JP6195854B2 (ja) | 2017-09-13 |
US20130238958A1 (en) | 2013-09-12 |
JP2016219092A (ja) | 2016-12-22 |
KR102403171B1 (ko) | 2022-05-30 |
US20150135037A1 (en) | 2015-05-14 |
KR20220075448A (ko) | 2022-06-08 |
EP2823487A4 (en) | 2015-12-02 |
TW201351125A (zh) | 2013-12-16 |
CN104272396A (zh) | 2015-01-07 |
KR20140133593A (ko) | 2014-11-19 |
EP2823487A1 (en) | 2015-01-14 |
JP2015509640A (ja) | 2015-03-30 |
US9336086B2 (en) | 2016-05-10 |
TWI646419B (zh) | 2019-01-01 |
US8954825B2 (en) | 2015-02-10 |
US20160253237A1 (en) | 2016-09-01 |
KR20210033062A (ko) | 2021-03-25 |
EP2823487B1 (en) | 2022-11-02 |
JP6181257B2 (ja) | 2017-08-16 |
US9983928B2 (en) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102230584B1 (ko) | 에러 정정 코드 조직화를 포함한 장치들 및 방법들 | |
US10020072B2 (en) | Detect developed bad blocks in non-volatile memory devices | |
US10185622B2 (en) | Memory device having address and command selectable capabilities | |
CN108694097B (zh) | 存储设备的不同存储器区域中编程数据的多码本的使用方法及装置 | |
US10706944B2 (en) | Memory controller for controlling memory device based on erase state information and method of operating the memory controller | |
CN108694099B (zh) | 确定用于储存器设备的不同的存储器区域的码本的方法和系统 | |
US20180287632A1 (en) | Bit-order modification for different memory areas of a storage device | |
US20130061113A1 (en) | Method of correcting errors and memory device using the same | |
US10910068B2 (en) | Memory system and nonvolatile memory | |
JP2020155167A (ja) | 不揮発性メモリ | |
US11086718B2 (en) | Memory system | |
JP2023025687A (ja) | メモリ装置およびその動作方法 | |
US11216338B2 (en) | Storage device that performs state shaping of data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |