KR20160141557A - 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 - Google Patents
반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 Download PDFInfo
- Publication number
- KR20160141557A KR20160141557A KR1020150077401A KR20150077401A KR20160141557A KR 20160141557 A KR20160141557 A KR 20160141557A KR 1020150077401 A KR1020150077401 A KR 1020150077401A KR 20150077401 A KR20150077401 A KR 20150077401A KR 20160141557 A KR20160141557 A KR 20160141557A
- Authority
- KR
- South Korea
- Prior art keywords
- bits
- codeword
- code word
- error
- group
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- 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/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- 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/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/26—Accessing multiple arrays
- G11C29/28—Dependent multiple arrays, e.g. multi-bit arrays
-
- 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/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C29/34—Accessing multiple bits simultaneously
-
- 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/36—Data generation devices, e.g. data inverters
-
- 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/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56008—Error analysis, representation of errors
-
- 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
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- 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
- G11C2029/1202—Word line control
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
반도체 메모리 장치의 외부에서 반도체 메모리 장치에서 발생된 오정정 비트를 검출할 수 있는 반도체 메모리 장치 및 이를 포함하는 메모리 시스템이 개시된다. 반도체 메모리 장치는 외부로부터 입력된 제 1 데이터를 이용하여 제 1 체크 비트들을 발생하고, 제 1 데이터와 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다.
Description
본 발명은 메모리 장치에 관한 것으로, 특히 에러 정정이 용이한 반도체 메모리 장치 및 이를 포함하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치는 데이터를 저장하는 데 사용되며, 크게 휘발성 반도체 메모리 장치와 비휘발성 반도체 메모리 장치로 나누어진다. 휘발성 반도체 메모리 장치는 커패시터의 충전 또는 방전에 의해 데이터가 저장된다. RAM(Random Access Memory) 등의 휘발성 반도체 메모리 장치는 전원이 인가되는 동안 데이터가 저장되고 읽혀지며, 전원이 차단되면 데이터는 손실된다. 휘발성 메모리 장치로서 주로 컴퓨터의 메인 메모리 장치로 사용된다.
본 발명의 목적은 반도체 메모리 장치 내 오류 정정 수단의 오류 정정 능력을 넘어서서 정정이 불가능한 오류 비트들과 에러 정정 과정에서 발생하는 오정정 비트를 외부에서 정정 및 검출할 수 있는 반도체 메모리 장치를 제공하는 것이다.
본 발명의 다른 목적은 반도체 메모리 장치 내 오류 정정 수단의 오류 정정 능력을 넘어서서 정정이 불가능한 오류 비트들과 에러 정정 과정에서 발생하는 오정정 비트를 외부에서 정정 및 검출할 수 있는 반도체 메모리 장치의 에러 정정 방법을 제공하는 것이다.
상기 목적을 달성하기 위하여 본 발명의 하나의 실시형태에 따른 메모리 시스템은 어드레스 신호 및 커맨드를 발생하는 호스트, 및 상기 호스트로부터 상기 어드레스, 상기 커맨드를 수신하거나 상기 호스트로부터 제 1 데이터를 수신하거나 데이터를 상기 호스트에 송신하는 반도체 메모리 장치를 포함할 수 있다.
상기 반도체 메모리 장치는 외부로부터 입력된 제 1 데이터를 이용하여 제 1 체크 비트들을 발생하고, 상기 제 1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다.
본 발명의 하나의 실시예에 의하면, 상기 반도체 메모리 장치는 제 1 체크 비트 발생기 및 메모리 셀 어레이를 포함할 수 있다.
제 1 체크 비트 발생기는 외부로부터 입력된 제1 데이터를 이용하여 제 1 체크 비트들을 발생한다. 메모리 셀 어레이는 복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하고, 상기 제 1 데이터 및 상기 제 1 체크 비트들을 저장한다. 상기 제 1 체크 비트 발생기는 상기 제1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다.
본 발명의 하나의 실시예에 의하면, 상기 반도체 메모리 장치는 제 2 체크 비트 발생기, 신드롬 비트 발생기, 에러 로케이터(error locator) 및 에러 정정 회로를 더 포함할 수 있다.
제 2 체크 비트 발생기는 상기 메모리 셀 어레이로부터 수신된 제 2 데이터를 이용하여 제 2 체크 비트들을 발생한다. 신드롬 비트 발생기는 상기 제2 체크 비트들과 상기 메모리 셀 어레이로부터 수신된 제 3 체크 비트들에 기초하여 신드롬 비트들을 발생한다. 에러 로케이터는 상기 신드롬 비트들을 디코딩한다. 에러 정정 회로는 상기 에러 로케이터의 출력에 응답하여 상기 제 2 데이터를 정정한다.
본 발명의 다른 하나의 실시형태에 따른 메모리 시스템은 어드레스 신호 및 커맨드를 발생하는 호스트, 및 상기 호스트로부터 상기 어드레스, 상기 커맨드를 수신하거나 상기 호스트로부터 제 1 데이터를 수신하거나 데이터를 상기 호스트에 송신하는 반도체 메모리 장치를 포함할 수 있다.
상기 반도체 메모리 장치는 외부로부터 입력된 제1 데이터를 이용하여 제 1 체크 비트들을 발생하고, 상기 제1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 상기 복수의 이씨씨 코드 워드 그룹 각각을 복수의 이씨씨 코드 워드 서브 그룹으로 나누고, 오류 비트들이 제 1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제 1 이씨씨 코드 워드 그룹의 제 1 이씨씨 코드 워드 서브 그룹에 위치시키거나 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다.
본 발명의 하나의 실시예에 의하면, 상기 반도체 메모리 장치는 상기 오류 비트들이 상기 제 1 이씨씨 코드 워드 그룹의 상기 제 1 이씨씨 코드 워드 서브 그룹 내에만 존재하고, 상기 오류 비트들에 기인하여 발생된 오정정 비트가 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오정정 비트를 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 위치시킬 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 반도체 메모리 장치는 상기 오류 비트들이 상기 제 1 이씨씨 코드 워드 그룹의 상기 제1 이씨씨 코드 워드 서브 그룹 및 제 2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킬 수 있다.
본 발명의 하나의 실시형태에 따른 반도체 메모리 장치의 에러 정정 방법은 외부로부터 제1 데이터를 수신하는 단계; 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치하도록, 상기 제1 데이터에 기초하여 제1 체크 비트들을 발생하는 단계; 및 상기 제1 데이터와 상기 제1 체크 비트들로 구성된 이씨씨 코드 워드 그룹을복수 개 포함하는 이씨씨 코드 워드를 상기 복수의 메모리 셀 그룹에 저장하는 단계를 포함할 수 있다.
본 발명의 다른 하나의 실시형태에 따른 반도체 메모리 장치의 에러 정정 방법은 외부로부터 제1 데이터를 수신하는 단계; 상기 제1 데이터에 기초하여 제1 체크 비트들을 발생하는 단계; 상기 제1 데이터와 상기 제 1 체크 비트들로 구성된 이씨씨 코드 워드 서브 그룹을 복수 개 포함하는 이씨씨 코드 워드 그룹을 복수 개 포함하는 이씨씨 코드 워드(ECC code word)를 상기 복수의 메모리 셀 그룹에 저장하는 단계; 및 오류 비트들이 제 1 이씨씨 코드 워드 그룹의 제 1 이씨씨 코드 워드 서브 그룹 내에만 존재하고, 상기 오류 비트들에 기인하여 발생된 오정정 비트가 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오정정 비트를 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 위치시키거나, 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 단계를 포함할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 오류 비트들이 상기 제 1 이씨씨 코드 워드 그룹의 상기 제1 이씨씨 코드 워드 서브 그룹 및 제 2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 단계를 포함할 수 있다.
본 발명의 하나의 실시형태에 따른 반도체 메모리 장치는 외부로부터 입력된 제 1 데이터를 이용하여 제 1 체크 비트들을 발생하는 제 1 체크 비트 발생기; 및 복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하고 상기 제 1데이터 및 상기 제 1 체크 비트들을 저장하는 메모리 셀 어레이를 포함할 수 있다. 상기 제 1 체크 비트 발생기는 상기 제 1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킬 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 제 2 체크 비트 발생기는 상기 제 2 데이터와 상기 제 2 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 2 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 2 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킬 수 있다.
본 발명의 실시예들에 따른 반도체 메모리 장치는 제1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다.
또한, 반도체 메모리 장치는 오류 비트들이 제1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹으로 이동시키거나 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 또한, 상기 오류 비트들이 상기 제1 이씨씨 코드 워드 그룹의 상기 제1 이씨씨 코드 워드 서브 그룹 및 제2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 따라서, 실시예들에 따른 반도체 메모리 장치는 반도체 메모리 장치의 외부에서 반도체 메모리 장치에서 발생된 오류 비트와 오정정 비트를 정정 및 검출할 수 있다.
도 1은 본 발명의 하나의 실시예에 따른 반도체 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 2는 도 1의 메모리 시스템에 포함된 따른 반도체 메모리 장치의 구성의 하나의 예를 나타내는 블록도이다.
도 3은 도 1의 메모리 시스템에 포함된 따른 반도체 메모리 장치의 구성의 다른 하나의 예를 나타내는 블록도이다.
도 4는 도 2의 반도체 메모리 장치의 에러 정정에 사용되는 이씨씨 코드 워드의 구조의 하나의 예를 나타내는 도면이다.
도 5는 본 발명의 하나의 실시예에 따른 반도체 메모리 장치의 에러 정정 방법을 나타내는 도면이다.
도 6 내지 도 9는 도 2의 반도체 메모리 장치에 포함된 메모리 셀 어레이의구조를 나타내는 도면들이다.
도 10 내지 도 12는 본 발명의 실시예들에 따른 반도체 메모리 장치를 포함하는 메모리 모듈을 나타내는 도면들이다.
도 13은 본 발명의 실시예에 따른 반도체 메모리 장치를 포함하는 적층 반도체 장치의 하나를 나타내는 간략화된 투시도이다.
도 14는 본 발명의 다른 하나의 실시예에 따른 반도체 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 15는 본 발명의 실시예에 따른 반도체 메모리 장치 및 광 연결장치를 포함하는 메모리 시스템의 하나의 예를 나타내는 블록도이다.
도 16은 본 발명의 실시예에 따른 반도체 메모리 장치를 포함하는 전자 시스템의 하나의 예를 나타내는 블록도이다.
도 17 내지 도 21은 본 발명의 실시 예들에 따른 반도체 메모리 장치의 에러정정 방법을 나타내는 흐름도들이다.
도 2는 도 1의 메모리 시스템에 포함된 따른 반도체 메모리 장치의 구성의 하나의 예를 나타내는 블록도이다.
도 3은 도 1의 메모리 시스템에 포함된 따른 반도체 메모리 장치의 구성의 다른 하나의 예를 나타내는 블록도이다.
도 4는 도 2의 반도체 메모리 장치의 에러 정정에 사용되는 이씨씨 코드 워드의 구조의 하나의 예를 나타내는 도면이다.
도 5는 본 발명의 하나의 실시예에 따른 반도체 메모리 장치의 에러 정정 방법을 나타내는 도면이다.
도 6 내지 도 9는 도 2의 반도체 메모리 장치에 포함된 메모리 셀 어레이의구조를 나타내는 도면들이다.
도 10 내지 도 12는 본 발명의 실시예들에 따른 반도체 메모리 장치를 포함하는 메모리 모듈을 나타내는 도면들이다.
도 13은 본 발명의 실시예에 따른 반도체 메모리 장치를 포함하는 적층 반도체 장치의 하나를 나타내는 간략화된 투시도이다.
도 14는 본 발명의 다른 하나의 실시예에 따른 반도체 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 15는 본 발명의 실시예에 따른 반도체 메모리 장치 및 광 연결장치를 포함하는 메모리 시스템의 하나의 예를 나타내는 블록도이다.
도 16은 본 발명의 실시예에 따른 반도체 메모리 장치를 포함하는 전자 시스템의 하나의 예를 나타내는 블록도이다.
도 17 내지 도 21은 본 발명의 실시 예들에 따른 반도체 메모리 장치의 에러정정 방법을 나타내는 흐름도들이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 안 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 개시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 설명한다.
도 1은 본 발명의 하나의 실시예에 따른 반도체 메모리 장치를 포함하는 메모리 시스템(100)을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(100)은 호스트(110) 및 반도체 메모리 장치(120)를 포함한다.
호스트(110)는 어드레스 신호(ADD) 및 커맨드(CMD)를 발생시키고 버스들을 통해서 반도체 메모리 장치(120)에 제공한다. 데이터(DQ)는 버스를 통해서 호스트(110)에서 반도체 메모리 장치(120)로 전송되거나, 버스를 통해서 메모리 장치(120)에서 호스트(110)로 전송된다.
반도체 메모리 장치(120)는 후술하는 본 발명의 실시예들에 따른 반도체 메모리 장치들을 포함할 수 있다.
제1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 따라서, 반도체 메모리 장치(120)의 외부에서 오정정 비트를 검출할 수 있다.
또한, 메모리 칩들은 오류 비트들이 제 1 이씨씨 코드 워드 그룹의 제 1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제 1 이씨씨 코드 워드 그룹의 제 2 이씨씨 코드 워드 서브 그룹에 위치시키거나 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 또한, 상기 오류 비트들이 상기 제1 이씨씨 코드 워드 그룹의 상기 제 1 이씨씨 코드 워드 서브 그룹 및 제 2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 따라서, 반도체 메모리 장치(120)의 외부에서 오정정 비트를 검출할 수 있다.
도 2는 도 1의 메모리 시스템(100)에 포함된 따른 반도체 메모리 장치(120)의 구성의 하나의 예를 나타내는 블록도이다.
도 2를 참조하면, 반도체 메모리 장치(120)는 인코딩부(102), 메모리 셀 어레이(123), 및 디코딩부(104)를 포함할 수 있다. 인코딩부(102)는 제 1 체크 비트 발생기(121)를 포함할 수 있다. 디코딩부(104)는 제 2 체크 비트 발생기(125), 신드롬 비트 발생기(126), 에러 로케이터(error locator)(127) 및 에러 정정 회로(128)를 포함할 수 있다.
제 1 체크 비트 발생기(121)는 외부로부터 입력된 제1 데이터(DIN)를 이용하여 제 1 체크 비트들(CB1)을 발생한다. 메모리 셀 어레이(123)는 복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하고, 제 1 데이터(DIN) 및 제 1 체크 비트들(CB1)을 저장한다. 제 1 체크 비트 발생기(121)는 상기 제 1 데이터(DIN)와 제 1 체크 비트들(CB1)을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다.
제 2 체크 비트 발생기(125)는 메모리 셀 어레이(123)로부터 수신된 제 2 데이터(DATA1)를 이용하여 제 2 체크 비트들(CB3)을 발생한다. 신드롬 비트 발생기는 상기 제 2 체크 비트들(CB3)과 상기 메모리 셀 어레이로부터 수신된 제 3 체크 비트들(CB2)에 기초하여 신드롬 비트들(SB)을 발생한다. 에러 로케이터(127)는 신드롬 비트들(SB)을 디코딩한다. 에러 정정 회로(128)는 에러 로케이터(127)의 출력에 응답하여 제 2 데이터(DATA1)를 정정하고 데이터(DOUT)를 출력한다.
종래에, 반도체 메모리 장치를 포함하는 메모리 시스템에서, 오류 비트들이 이씨씨 코드 워드의 하나의 이씨씨 코드 워드 그룹에 존재할 경우, 오류 비트들에 기인하여 발생되는 오정정(miscorrection) 비트는 에러 비트임에도 불구하고, 메모리 시스템은 이 오정정 비트를 검출하지 못하였다. 예를 들어, 이씨씨 코드가 1 비트의 오류 비트를 검출할 수 있는 능력을 가진 경우, 하나의 이씨씨 코드 워드 그룹에 2 개의 오류 비트가 존재하는 경우, 이 오류 비트들에 기인하여 정상 비트가 잘못 정정될 수 있다. 그런데, 이 오정정 비트를 반도체 메모리 장치의 외부에 있는 메모리 컨트롤러가 검출할 수 없었다.
실시예에 의하면, 반도체 메모리 장치는 제1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다.
또한, 반도체 메모리 장치는 오류 비트들이 제1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹에 위치시키거나 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 또한, 상기 오류 비트들이 상기 제 1 이씨씨 코드 워드 그룹의 상기 제 1 이씨씨 코드 워드 서브 그룹 및 제 2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 따라서, 실시예들에 따른 반도체 메모리 장치(120)는 반도체 메모리 장치의 외부에서 반도체 메모리 장치에서 발생된 오정정 비트를 검출할 수 있다.
실시예에 의하면, 반도체 메모리 장치는 상기 이씨씨 코드 워드가 k 개의 오류 비트를 검출 및 정정할 수 있는 경우, 상기 제 1 이씨씨 코드 워드 그룹 내에 k+1 개의 오류 비트가 존재하는 경우에, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치킬 수 있다.
실시예에 의하면, 반도체 메모리 장치는 상기 이씨씨 코드 워드가 1 개의 오류 비트를 검출 및 정정할 수 있는 경우, 상기 제 1 이씨씨 코드 워드 그룹 내에 2 개의 오류 비트가 존재하는 경우에, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킬 수 있다.
실시예에 의하면, 상기 이씨씨 코드 워드 그룹 각각은 16 비트 또는 32 비트를 가질 수 있다.
실시예에 의하면, 반도체 메모리 장치는 상기 이씨씨 코드 워드의 크기가 프리 패치(pre-fetch) 단위보다 큰 경우, 상기 오류 비트들을 상기 이씨씨 코드 워드 내의 프리 패치되지 않은 그룹에 위치시킬 수 있다.
실시예에 의하면, 반도체 메모리 장치(120)는 관통 전극(TSV: Through-Silicon-Via)을 통해 데이터와 제어신호들을 송수신하는 복수의 칩들이 적층된 적층 메모리 장치일 수 있다.
실시예에 의하면, 반도체 메모리 장치 내에 오정정 비트가 발생할 경우, 상기 반도체 메모리 장치의 외부에서 상기 오정정 비트를 검출 및 정정할 수 있다.
실시예에 의하면, 반도체 메모리 장치는 상기 오류 비트들이 제1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹 내에만 존재하고, 상기 오류 비트들에 기인하여 발생된 오정정 비트가 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오정정 비트를 상기 제1 이씨씨 코드 워드 서브 그룹 내에 그대로 둘 수 있다.
실시예에 의하면, 반도체 메모리 장치는 상기 오류 비트들이 상기 제 1 이씨씨 코드 워드 그룹의 상기 제1 이씨씨 코드 워드 서브 그룹 및 제 2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킬 수 있다.
도 3은 도 1의 메모리 시스템에 포함된 따른 반도체 메모리 장치의 구성의 다른 하나의 예를 나타내는 블록도이다.
도 3을 참조하면, 반도체 메모리 장치(120a)는 체크 비트 발생기(121a), 메모리 셀 어레이(123), 신드롬 비트 발생기(126), 에러 로케이터(error locator)(127) 및 에러 정정 회로(128)를 포함할 수 있다.
도 3에 도시된 반도체 메모리 장치(120a)에서, 체크 비트 발생기(121a)는 도 2에 도시된 반도체 메모리 장치(120a)의 제 1 체크 비트 발생기(121) 및 제 2 체크 비트 발생기(125)의 기능을 모두 수행할 수 있다. 즉, 도 3의 체크 비트 발생기(121a)는 인코딩 및 디코딩을 위한 체크 비트 발생을 수행할 수 있다. 도 3의 반도체 메모리 장치(120a)의 동작은 도 2의 반도체 메모리 장치(120)의 동작과 유사하다.
도 4는 도 2의 반도체 메모리 장치(120)의 에러 정정에 사용되는 이씨씨 코드 워드의 구조의 하나의 예를 나타내는 도면이다.
도 4를 참조하면, 반도체 메모리 장치(120)의 에러 정정에 사용되는 이씨씨 코드 워드(106)는 이씨씨 코드 워드 그룹들(CWG1, CWG2, CWG3, CWG4) 및 체크 비트들(CB)을 포함할 수 있다. 이씨씨 코드 워드 그룹(CWG1)은 이씨씨 코드 워드 서브 그룹들(CWSG11, CWSG12)을 포함하고, 이씨씨 코드 워드 그룹(CWG2)은 이씨씨 코드 워드 서브 그룹들(CWSG21, CWSG22)을 포함하고, 이씨씨 코드 워드 그룹(CWG3)은 이씨씨 코드 워드 서브 그룹들(CWSG31, CWSG32)을 포함하고, 이씨씨 코드 워드 그룹(CWG4)은 이씨씨 코드 워드 서브 그룹들(CWSG41, CWSG42)을 포함할 수 있다.
일반적으로, 이씨씨 코드 워드는 데이터와 체크 비트들을 포함하는 용어이지만, 본 명세서의 일부분에서는 설명의 편의상 이씨씨 코드 워드의 데이터 부분만을 이씨씨 코드 워드라 기재될 것이다.
도 5는 본 발명의 하나의 실시예에 따른 반도체 메모리 장치(120)의 에러 정정 방법을 나타내는 도면이다.
도 5를 참조하면, 제 1 이씨씨 코드 워드 그룹(CWG1) 내에 존재하는 오류 비트들(EB1, EB2)에 기인하여 발생된 오정정 비트는 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 즉, 오정정 비트는 제 1 이씨씨 코드 워드 그룹(CWG1) 내에 있는 P1이 아닌 제 2 이씨씨 코드 워드 그룹(CWG2) 내에 있는 P2의 위치에 발생한다.
도 6 내지 도 9는 도 2의 반도체 메모리 장치에 포함된 메모리 셀 어레이의 구조를 나타내는 도면들이다. 도 6 내지 도 9에는 코드 워드의 데이터 부분이 저장되는 메모리 셀 어레이의 부분만이 도시되어 있다. 실제로, 메모리 셀 어레이(130)는 데이터 부분을 위한 메모리 셀들 외에도 패리티(parity), 즉 체크 비트들을 위한 메모리 셀들을 포함할 수 있다.
도 6을 참조하면, 메모리 셀 어레이(130a)는 복수의 메모리 셀(MC)을 포함하는 메모리 셀 그룹들(132, 134, 136, 138)을 포함할 수 있다. 메모리 셀 그룹(132)은 메모리 셀 서브 그룹들(132_1, 132_2)을 포함하고, 메모리 셀 그룹(134)은 메모리 셀 서브 그룹들(134_1, 134_2)을 포함하고, 메모리 셀 그룹(136)은 메모리 셀 서브 그룹들(136_1, 136_2)을 포함하고, 메모리 셀 그룹(138)은 메모리 셀 서브 그룹들(138_1, 138_2)을 포함할 수 있다.
도 6의 메모리 셀 그룹들(132, 134, 136, 138)은 각각 도 2에 도시된 이씨씨 코드 워드 그룹들(CWG1, CWG2, CWG3, CWG4)에 대응될 수 있다. 메모리 셀 서브 그룹들(132_1, 132_2)은 각각 이씨씨 코드 워드 서브 그룹들(CWSG11, CWSG12)에 대응되고, 메모리 셀 서브 그룹들(134_1, 134_2)은 각각 이씨씨 코드 워드 서브 그룹들(CWSG21, CWSG22)에 대응되고, 메모리 셀 서브 그룹들(136_1, 136_2)은 각각 이씨씨 코드 워드 서브 그룹들(CWSG31, CWSG32)에 대응되고, 메모리 셀 서브 그룹들(138_1, 138_2)은 각각 이씨씨 코드 워드 서브 그룹들(CWSG41, CWSG42)에 대응될 수 있다. 즉, 이씨씨 코드 워드 서브 그룹들(CWSG11, CWSG12)은 각각 메모리 셀 서브 그룹들(132_1, 132_2)에 저장될 수 있고, 이씨씨 코드 워드 서브 그룹들(CWSG21, CWSG22)은 각각 메모리 셀 서브 그룹들(134_1, 134_2)에 저장될 수 있고, 이씨씨 코드 워드 서브 그룹들(CWSG31, CWSG32)은 각각 메모리 셀 서브 그룹들(136_1, 136_2)에 저장될 수 있고, 이씨씨 코드 워드 서브 그룹들(CWSG41, CWSG42)은 각각 메모리 셀 서브 그룹들(138_1, 138_2)에 저장될 수 있다.
도 7을 참조하면, 메모리 셀 서브 그룹(132_1)에 존재하는 오류 비트들(EB1, EB2)에 기인하여 발생된 오정정 비트(miscorrected bit)(AEB1)가 메모리 셀 서브 그룹(132_2)에 존재하는 경우, 반도체 메모리 장치(120)는 오정정 비트(AEB1)를 메모리 셀 서브 그룹(132_1)에 위치시킬 수 있다.
도 8을 참조하면, 메모리 셀 서브 그룹(132_1)에 존재하는 오류 비트들(EB1, EB2)에 기인하여 발생된 오정정 비트(AEB1)가 메모리 셀 서브 그룹(132_2)에 존재하는 경우, 반도체 메모리 장치(120)는 오정정 비트(AEB1)를 메모리 셀 그룹(134)의 메모리 셀 서브 그룹(134_1)에 위치시킬 수 있다. 또한, 이 경우, 반도체 메모리 장치(120)는 오정정 비트(AEB1)를 메모리 셀 그룹(134)의 메모리 셀 서브 그룹(134_2)에 위치시킬 수도 있다.
메모리 셀 서브 그룹(132_1)에 존재하는 오류 비트들(EB1, EB2)에 기인하여 발생된 오정정 비트(AEB1)가 메모리 셀 서브 그룹(132_2)에 존재하는 경우, 반도체 메모리 장치(120)는 오정정 비트(AEB1)를 메모리 셀 그룹(136) 또는 메모리 셀 그룹(138) 에 위치시킬 수도 있다.
한편, 메모리 셀 서브 그룹(132_1)에 존재하는 오류 비트들(EB1, EB2)에 기인하여 발생된 오정정 비트(AEB1)가 메모리 셀 서브 그룹(132_1)에 존재하는 경우에는 오정정 비트(AEB1)를 그대로 둘 수 있다.
도 9를 참조하면, 오류 비트들(EB3, EB4)이 각각 메모리 셀 서브 그룹(132_1) 및 메모리 셀 서브 그룹(132_2)에 존재하는 경우, 반도체 메모리 장치(120)는 오류 비트들(EB3, EB4)에 기인하여 발생된 오정정 비트(AEB2)를 메모리 셀 그룹(134)의 메모리 셀 서브 그룹(134_1)에 위치시킬 수 있다. 또한, 이 경우, 반도체 메모리 장치(120)는 오정정 비트(AEB2)를 메모리 셀 그룹(134)의 메모리 셀 서브 그룹(134_2)에 위치시킬 수도 있다.
메모리 셀 서브 그룹들(132_1, 132_2)에 존재하는 오류 비트들(EB3, EB4)에 기인하여 발생된 오정정 비트(AEB2)가 메모리 셀 서브 그룹(132_1)에 존재하는 경우, 반도체 메모리 장치(120)는 오정정 비트(AEB2)를 메모리 셀 그룹(136) 또는 메모리 셀 그룹(138)에 위치시킬 수도 있다.
마찬가지로, 메모리 셀 서브 그룹들(132_1, 132_2)에 존재하는 오류 비트들(EB3, EB4)에 기인하여 발생된 오정정 비트(AEB2)가 메모리 셀 서브 그룹(132_2)에 존재하는 경우에도, 반도체 메모리 장치(120)는 오정정 비트(AEB2)를 메모리 셀 그룹(134), 메모리 셀 그룹(136) 또는 메모리 셀 그룹(138)에 위치시킬 수도 있다.
도 10 내지 도 12는 본 발명의 실시예들에 따른 반도체 메모리 장치를 포함하는 메모리 모듈을 나타내는 도면들이다.
도 10을 참조하면, 메모리 모듈(300)은 인쇄회로기판(310), 복수의 MRAM 메모리 칩(320) 및 커넥터(330)를 포함한다. 복수의 메모리 칩들(320)은 인쇄 회로 기판(310)의 상면과 하면에 결합될 수 있다. 커넥터(330)는 도전선들(미도시)을 통해 복수의 메모리 칩들(320)과 전기적으로 연결된다. 또한, 커넥터(330)는 외부 호스트의 슬롯에 연결될 수 있다.
도 11을 참조하면, 메모리 모듈(400)은 인쇄회로기판(410), 복수의 메모리 칩(440), 커넥터(430) 및 복수의 버퍼들(420)을 포함한다. 복수의 버퍼들(420)은 각각 메모리 칩(440)과 커넥터(430) 사이에 배치될 수 있다.
메모리 칩들(440)과 버퍼들(420)은 인쇄 회로 기판(410)의 상면 및 하면에 제공될 수 있다. 인쇄 회로 기판(410)의 상면 및 하면에 형성되는 메모리 칩들(440)과 버퍼들(420)은 복수의 비아(via) 홀들을 통해 연결될 수 있다.
도 12를 참조하면, 메모리 모듈(500)은 인쇄회로기판(510), 복수의 메모리 칩(520), 커넥터(530), 복수의 버퍼들(540) 및 컨트롤러(550)를 포함한다.
메모리 칩들(520)과 버퍼들(540)은 인쇄 회로 기판(510)의 상면 및 하면에 제공될 수 있다. 인쇄 회로 기판(510)의 상면 및 하면에 형성되는 메모리 칩들(520)과 버퍼들(540)은 복수의 비아 홀들을 통해 연결될 수 있다.
도 10 내지 도 12에서 메모리 칩들은 본 발명의 실시예들에 따른 반도체 메모리 장치를 포함할 수 있다. 즉, 메모리 칩들은 제1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 따라서, 메모리 칩의 외부에서 오정정 비트를 검출할 수 있다.
또한, 메모리 칩들은 오류 비트들이 제1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제1 이씨씨 코드 워드 그룹의 제2 이씨씨 코드 워드 서브 그룹에 위치시키거나 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 또한, 상기 오류 비트들이 상기 제1 이씨씨 코드 워드 그룹의 상기 제1 이씨씨 코드 워드 서브 그룹 및 제2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 따라서, 메모리 칩의 외부에서 오정정 비트를 검출할 수 있다.
도 13은 본 발명의 실시예에 따른 반도체 메모리 장치를 포함하는 적층 반도체 장치(600)의 하나를 나타내는 간략화된 투시도이다.
도 13을 참조하면, 반도체 메모리 장치(600)는 관통 전극(Through-Silicon Via)(660)에 의해 전기적으로 연결된 인터페이스 칩(610) 및 메모리 칩들(620, 630, 640, 650)을 포함한다. 도 13에는 두 개의 행으로 배치된 관통 전극(660)이 도시되어 있지만, 적층 반도체 장치(600)는 임의의 개수의 관통 전극들을 가질 수 있다.
적층 반도체 장치(600)에 포함된 메모리 칩들(620, 630, 640, 650)은 본 발명의 실시예들에 따른 반도체 메모리 장치들을 포함할 수 있다. 따라서, 메모리 칩들(620, 630, 640, 650)은 제1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 따라서, 메모리 칩의 외부에서 오정정 비트를 검출 및 정정할 수 있다.
또한, 메모리 칩들은 오류 비트들이 제1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제1 이씨씨 코드 워드 그룹의 제2 이씨씨 코드 워드 서브 그룹에 위치시키거나 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 또한, 상기 오류 비트들이 상기 제1 이씨씨 코드 워드 그룹의 상기 제1 이씨씨 코드 워드 서브 그룹 및 제2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 따라서, 메모리 칩의 외부에서 오정정 비트를 검출 및 정정할 수 있다.
인터페이스 칩(610)은 메모리 칩들(620, 630, 640, 650)과 외부 장치 사이에서 인터페이스를 수행한다.
도 14는 본 발명의 다른 하나의 실시예에 따른 반도체 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 14를 참조하면, 메모리 시스템(200)은 호스트(210) 및 반도체 메모리 장치(220)를 포함한다. 호스트(210)는 어드레스 신호(ADD) 및 커맨드(CMD)를 발생시키고 버스들을 통해서 메모리 장치(220)에 제공한다. 데이터(DQ)는 버스를 통해서 호스트(210)에서 메모리 장치(220)로 전송되거나, 버스를 통해서 메모리 장치(220)에서 호스트(210)로 전송된다.
도 14의 메모리 시스템(200)은 도 1의 메모리 시스템(100)과 달리, 커맨드(CMD)와 어드레스(ADD)가 패킷화된(packetized) 신호(C/A)이다.
도 15는 본 발명의 실시예에 따른 반도체 메모리 장치 및 광 연결장치를 포함하는 메모리 시스템(1000)의 하나의 예를 나타내는 블록도이다.
도 15를 참조하면, 메모리 시스템(1000)은 컨트롤러(1020), 메모리 장치(1030) 및 컨트롤러(1020)와 메모리 장치(1030)를 인터커넥션하는 다수의 광 연결장치(Optical Link; 4610a 및 1010b)를 포함한다. 컨트롤러(1020)는 컨트롤 유닛(1021). 제 1 송신부(1022), 제 1 수신부(1023)를 포함한다. 컨트롤 유닛(1021)은 제어 신호(SN1)를 제 1 송신부(1022)로 전송한다.
제 1 송신부(1022)는 제 1 광 변조기(1022_1)를 포함할 수 있으며, 제 1 광 변조기(1022-1)는 전기 신호인 제어 신호(SN1)를 제 1 관 송신 신호(OTP1)로 변환하여 광 연결장치(1010a)로 전송한다.
제 1 수신부(1023)는 제 1 광 복조기(1023_1)를 포함할 수 있으며, 제 1 광 복조기(1023_1)는 광 연결장치(1010b)로부터 수신된 제 2 광 수신 신호(OPT2')를 전기 신호인 데이터 신호(SN2)로 변환하여 컨트롤 유닛(1021)으로 전송한다.
메모리 장치(1030)는 제 2 수신부(1031), 메모리 셀 어레이(1032) 및 제 2 송신부(1033)를 포함한다. 제 2 수신부(1031)은 제 2광 복조기(1033_1)를 포함할 수 있으며, 제 2 광 복조기(1031_1)는 광 연결장치(1010A)로부터 제 1 광 수신 신호(OPT')를 전기 신호인 제어신호(SN1)로 변환하여 메모리 셀 어레이(1032)으로 전송한다.
메모리 셀 어레이(1032)에서는 제어신호(SN1)의 제어에 따라 데이터를 라이트 하거나 메모리 셀 어레이(1032)로부터 출력된 데이터 신호(SN2)를 제 2 송신부(1033)으로 전송한다.
제 2 송신부(1033)는 제 2 광 변조기(1033_1)를 포함할 수 있으며, 제 2 광 변조기(1033_1)는 전기 신호인 데이터 신호(SN2)를 제 2 광 데이터 신호(OPT2)로 변환하여 광 연결장치(1010b)로 전송한다.
메모리 장치(1030)는 본 발명의 실시예들에 따른 반도체 메모리 장치를 포함할 수 있다. 따라서, 메모리 장치(1030)는 메모리 칩의 외부에서 오정정 비트를 검출할 수 있다.
도 16은 본 발명의 실시예에 따른 반도체 메모리 장치를 포함하는 전자 시스템(2000)의 하나의 예를 나타내는 블록도이다.
도 16를 참조하면, 본 발명의 실시 예에 따른 전자시스템(2000)은 제어기(2010), 입출력 장치(2020), 메모리 장치(2030), 인터페이스(2040) 및 버스(2060)를 포함할 수 있다. 메모리 장치(2030)는 본 발명의 실시예들에 따른 반도체 메모리 장치를 포함할 수 있다. 따라서, 메모리 장치(2030)는 제1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 따라서, 메모리 칩의 외부에서 오정정 비트를 검출할 수 있다.
또한, 메모리 장치(2030)는 오류 비트들이 제1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제1 이씨씨 코드 워드 그룹의 제2 이씨씨 코드 워드 서브 그룹에 위치시키거나 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 또한, 상기 오류 비트들이 상기 제1 이씨씨 코드 워드 그룹의 상기 제1 이씨씨 코드 워드 서브 그룹 및 제2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다. 따라서, 메모리 장치(2030)의 외부에서 오정정 비트를 검출할 수 있다.
제어기(2010)는 적어도 하나의 마이크로프로세서, 디지털 신호 프로세서, 마이크로 컨트롤러, 그리고 이들과 유사한 기능을 수행할 수 있는 논리 소자들 중에서 적어도 어느 하나를 포함할 수 있다. 입출력 장치(2020)는 키패드, 키보드 및 표시 장치(display device) 등에서 선택된 적어도 하나를 포함할 수 있다. 메모리 장치(2030)는 데이터 및/또는 제어기(2010)에 의해 실행되는 명령어 등을 저장하는 역할을 할 수 있다.
메모리 장치(2030)는 디램(dynamic random access memory; DRAM), 및 에스램(static random access memory; SRAM)과 같은 휘발성 메모리 칩, 플래시 메모리(flash memory), 상변화 메모리(phase change memory), 엠램(magnetic random access memory; MRAM), 또는 알램(resistive random access memory; RRAM)과 같은 비휘발성 메모리 칩, 또는 이들의 조합을 구비할 수 있다.
인터페이스(2040)는 통신 네트워크로 데이터를 전송하거나 통신 네트워크로부터 데이터를 수신하는 역할을 할 수 있다. 인터페이스(2040)는 안테나 또는 유무선 트랜시버 등을 포함할 수 있고 유선 또는 무선으로 데이터를 송수신할 수 있다. 또한, 인터페이스(2040)는 광섬유(optical fiber)를 포함할 수 있으며, 광섬유를 통해 데이터를 송수신할 수 있다. 전자 시스템(2000)에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor), 그리고 입출력 장치 등이 더 제공될 수 있다.
전자 시스템(2000)은 모바일 시스템, 개인용 컴퓨터, 산업용 컴퓨터 또는 다양한 기능을 수행하는 로직 시스템 등으로 구현될 수 있다. 예컨대, 모바일 시스템은 개인 휴대용 정보 단말기(PDA; Personal Digital Assistant), 휴대용 컴퓨터, 웹 타블렛(web tablet), 모바일폰(mobile phone), 무선폰(wireless phone), 랩톱(laptop) 컴퓨터, 메모리 카드, 디지털 뮤직 시스템(digital music system) 그리고 정보 전송/수신 시스템 중 어느 하나일 수 있다. 전자 시스템(2000)이 무선 통신을 수행할 수 있는 장비인 경우에, 전자 시스템(800)은 CDMA(Code Division Multiple Access), GSM(Global System for Mobile communication), NADC(North American Digital Cellular), E-TDMA(Enhanced-Time Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), CDMA2000과 같은 통신 시스템에서 사용될 수 있다.
도 17 내지 도 21은 본 발명의 실시 예들에 따른 반도체 메모리 장치의 에러정정 방법을 나타내는 흐름도들이다.
도 17 및 도 18을 참조하면, 본 발명의 하나의 실시 예에 따른 반도체 메모리 장치의 에러 정정 방법은 다음의 동작들을 포함할 수 있다.
1) 외부로부터 제1 데이터를 수신한다 (S1).
2) 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정 비트를 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치하도록, 제1 데이터에 기초하여 제1 체크 비트들을 발생한다 (S2).
3) 제1 데이터와 제1 체크 비트들로 구성된 이씨씨 코드 워드 그룹을 복수 개 포함하는 이씨씨 코드 워드를 복수의 메모리 셀 그룹에 저장한다 (S3).
4) 메모리 셀 어레이로부터 수신된 제2 데이터에 기초하여 제2 체크 비트들을 발생한다 (S8).
5) 제2 체크 비트들과 상기 메모리 셀 어레이로부터 수신된 제3 체크 비트들에 기초하여 신드롬 비트들을 발생한다 (S9).
6) 신드롬 비트들을 디코딩한다 (S10).
7) 디코더의 출력에 응답하여 제2 데이터를 정정한다 (S11).
도 19 및 도 20을 참조하면, 본 발명의 하나의 실시 예에 따른 반도체 메모리 장치의 에러 정정 방법은 다음의 동작들을 포함할 수 있다.
1) 외부로부터 제1 데이터를 수신한다 (S21).
2) 제1 데이터에 기초하여 제1 체크 비트들을 발생한다 (S22).
3) 제1 데이터와 제1 체크 비트들로 구성된 이씨씨 코드 워드 서브 그룹을 복수 개 포함하는 이씨씨 코드 워드 그룹을 복수 개 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 메모리 셀 그룹에 저장한다 (S23).
4) 오류 비트들이 제 1 이씨씨 코드 워드 서브 그룹 내에만 존재하는지 판단한다. (S28).
5) 오류 비트들이 제1 이씨씨 코드 워드 그룹의 제 1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 오류 비트들에 기인하여 발생된 오정정 비트를 제 1 이씨씨 코드 워드 그룹의 제 1 이씨씨 코드 워드 서브 그룹에 위치시키거나, 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다 (S29).
6) 상기 오류 비트들이 제 1 이씨씨 코드 워드 그룹의 제 1 이씨씨 코드 워드 서브 그룹 및 제 2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 오류 비트들에 기인하여 발생된 오정정 비트를 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시킨다 (S30).
도 19 및 도 20에 도시된 반도체 메모리 장치의 에러 정정 방법은 상기 메모리 셀 어레이로부터 수신된 제2 데이터에 기초하여 제2 체크 비트들을 발생하는 단계, 상기 제2 체크 비트들과 상기 메모리 셀 어레이로부터 수신된 제3 체크 비트들에 기초하여 신드롬 비트들을 발생하는 단계, 상기 신드롬 비트들을 디코딩하는 단계, 및 상기 디코더의 출력에 응답하여 상기 제2 데이터를 정정하는 단계를 더 포함할 수 있다.
도 21을 참조하면, 본 발명의 하나의 실시 예에 따른 반도체 메모리 장치의 에러 정정 방법은 다음의 동작들을 포함할 수 있다.
1) 외부로부터 제 1 데이터를 수신한다 (S41).
2) 제 1 이씨씨 코드 워드 그룹 내에 k+1 개의 오류 비트가 존재하는 경우, 상기 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치하도록, 제1 데이터에 기초하여 제 1 체크 비트들을 발생한다 (S42).
3) 제1 데이터와 제1 체크 비트들로 구성된 이씨씨 코드 워드 그룹을 복수 개 포함하는 이씨씨 코드 워드를 상기 복수의 메모리 셀 그룹에 저장한다 (S43).
도 21에 도시된 반도체 메모리 장치의 에러 정정 방법은 상기 메모리 셀 어레이로부터 수신된 제 2 데이터에 기초하여 제 2 체크 비트들을 발생하는 단계, 상기 제2 체크 비트들과 상기 메모리 셀 어레이로부터 수신된 제 3 체크 비트들에 기초하여 신드롬 비트들을 발생하는 단계, 상기 신드롬 비트들을 디코딩하는 단계, 및 상기 디코더의 출력에 응답하여 상기 제 2 데이터를 정정하는 단계를 더 포함할 수 있다.
본 발명은 반도체 장치 및 이를 포함하는 메모리 시스템에 적용이 가능하다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100, 200, 1000: 메모리 시스템
120,120a, 220: 반도체 메모리 장치
102: 인코딩부
104: 디코딩부
121: 제1 체크 비트 발생기
123: 메모리 셀 어레이
125: 제2 체크 비트 발생기
126: 신드롬 비트 발생기
127: 에러 로케이터
128: 에러 정정 회로
300, 400, 500: 메모리 모듈
600: 적층 반도체 장치
2000: 전자 시스템
120,120a, 220: 반도체 메모리 장치
102: 인코딩부
104: 디코딩부
121: 제1 체크 비트 발생기
123: 메모리 셀 어레이
125: 제2 체크 비트 발생기
126: 신드롬 비트 발생기
127: 에러 로케이터
128: 에러 정정 회로
300, 400, 500: 메모리 모듈
600: 적층 반도체 장치
2000: 전자 시스템
Claims (20)
- 어드레스 신호 및 커맨드를 발생하는 호스트; 및
상기 호스트로부터 상기 어드레스, 상기 커맨드를 수신하거나 상기 호스트로부터 제 1 데이터를 수신하거나 데이터를 상기 호스트에 송신하는 반도체 메모리 장치를 포함하는 메모리 시스템에 있어서,
상기 반도체 메모리 장치는 외부로부터 입력된 제1 데이터를 이용하여 제 1 체크 비트들을 발생하고, 상기 제1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템. - 제 1 항에 있어서, 상기 반도체 메모리 장치는
외부로부터 입력된 제 1 데이터를 이용하여 제 1 체크 비트들을 발생하는 제 1 체크 비트 발생기; 및
복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하고 상기 제 1 데이터 및 상기 제 1 체크 비트들을 저장하는 메모리 셀 어레이를 포함하고,
상기 제 1 체크 비트 발생기는 상기 제1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템. - 제 2 항에 있어서, 상기 반도체 메모리 장치는
상기 메모리 셀 어레이로부터 수신된 제 2 데이터를 이용하여 제 2 체크 비트들을 발생하는 제 2 체크 비트 발생기;
상기 제2 체크 비트들과 상기 메모리 셀 어레이로부터 수신된 제 3 체크 비트들에 기초하여 신드롬 비트들을 발생하는 신드롬 비트 발생기;
상기 신드롬 비트들을 디코딩하는 에러 로케이터(error locator); 및
상기 에러 로케이터의 출력에 응답하여 상기 제 2 데이터를 정정하는 에러 정정 회로를 더 포함하는 것을 특징으로 하는 메모리 시스템. - 제 2 항에 있어서,
상기 이씨씨 코드 워드가 k 개의 오류 비트를 검출할 수 있는 경우, 상기 제 1 이씨씨 코드 워드 그룹 내에 k+1 개의 오류 비트가 존재하는 경우에, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템. - 제 2 항에 있어서,
상기 이씨씨 코드 워드가 1 개의 오류 비트를 검출 및 정정할 수 있는 경우, 상기 제 1 이씨씨 코드 워드 그룹 내에 2 개의 오류 비트가 존재하는 경우에, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템. - 제 2 항에 있어서,
상기 이씨씨 코드 워드 그룹 각각은 16 비트 또는 32 비트를 갖는 것을 특징으로 하는 메모리 시스템. - 제 2 항에 있어서,
상기 이씨씨 코드 워드의 크기가 프리 패치(pre-fetch) 단위보다 큰 경우, 상기 오류 비트들을 상기 이씨씨 코드 워드 내의 프리 패치되지 않은 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템. - 제 2 항에 있어서, 상기 반도체 메모리 장치는
관통 전극(TSV: Through-Silicon-Via)을 통해 데이터와 제어신호들을 송수신하는 복수의 칩들이 적층된 적층 메모리 장치인 것을 특징으로 하는 메모리 시스템. - 제 2 항에 있어서,
상기 반도체 메모리 장치 내에 오정정 비트가 발생할 경우, 상기 반도체 메모리 장치의 외부에서 상기 오류 비트와 상기 오정정 비트를 검출 및 정정할 수 있는 것을 특징으로 하는 메모리 시스템. - 어드레스 신호 및 커맨드를 발생하는 호스트; 및
상기 호스트로부터 상기 어드레스, 상기 커맨드를 수신하거나 상기 호스트로부터 제 1 데이터를 수신하거나 데이터를 상기 호스트에 송신하는 반도체 메모리 장치를 포함하는 메모리 시스템에 있어서,
상기 반도체 메모리 장치는 외부로부터 입력된 제1 데이터를 이용하여 제 1 체크 비트들을 발생하고, 상기 제1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 상기 복수의 이씨씨 코드 워드 그룹 각각을 복수의 이씨씨 코드 워드 서브 그룹으로 나누고, 오류 비트들이 제 1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제 1 이씨씨 코드 워드 그룹의 제 1 이씨씨 코드 워드 서브 그룹에 위치시키거나 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템. - 제 10 항에 있어서, 상기 반도체 메모리 장치는
상기 오류 비트들이 상기 제 1 이씨씨 코드 워드 그룹의 상기 제 1 이씨씨 코드 워드 서브 그룹 내에만 존재하고, 상기 오류 비트들에 기인하여 발생된 오정정 비트가 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오정정 비트를 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 위치시키는 것을 특징으로 하는 메모리 시스템. - 제 10 항에 있어서, 상기 반도체 메모리 장치는
상기 오류 비트들이 상기 제 1 이씨씨 코드 워드 그룹의 상기 제1 이씨씨 코드 워드 서브 그룹 및 제 2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템. - 제 10 항에 있어서,
상기 이씨씨 코드 워드 그룹 각각은 16 비트 또는 32 비트를 갖는 것을 특징으로 하는 메모리 시스템. - 제 10 항에 있어서,
상기 이씨씨 코드 워드가 k 개의 오류 비트를 검출할 수 있는 경우, 상기 제 1 이씨씨 코드 워드 그룹 내에 k+1 개의 오류 비트가 존재하는 경우에, 상기 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템. - 제 10 항에 있어서, 상기 반도체 메모리 장치는
상기 이씨씨 코드 워드의 크기가 프리 패치(pre-fetch) 단위보다 큰 경우, 상기 오류 비트들을 상기 이씨씨 코드 워드 내의 프리 패치되지 않은 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템. - 복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하는 메모리 셀 어레이를 갖는 메모리 장치의 에러 정정 방법에 있어서,
상기 에러 정정 방법은
외부로부터 제1 데이터를 수신하는 단계;
제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정(miscorrection) 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치하도록, 상기 제1 데이터에 기초하여 제1 체크 비트들을 발생하는 단계; 및
상기 제1 데이터와 상기 제1 체크 비트들로 구성된 이씨씨 코드 워드 그룹을복수 개 포함하는 이씨씨 코드 워드를 상기 복수의 메모리 셀 그룹에 저장하는 단계를 포함하는 반도체 메모리 장치의 에러 정정 방법. - 복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하는 메모리 셀 어레이를 갖는 메모리 장치의 에러 정정 방법에 있어서,
상기 에러 정정 방법은
외부로부터 제1 데이터를 수신하는 단계;
상기 제1 데이터에 기초하여 제1 체크 비트들을 발생하는 단계;
상기 제1 데이터와 상기 제 1 체크 비트들로 구성된 이씨씨 코드 워드 서브 그룹을 복수 개 포함하는 이씨씨 코드 워드 그룹을 복수 개 포함하는 이씨씨 코드 워드(ECC code word)를 상기 복수의 메모리 셀 그룹에 저장하는 단계; 및
오류 비트들이 제 1 이씨씨 코드 워드 그룹의 제 1 이씨씨 코드 워드 서브 그룹 내에만 존재하고, 상기 오류 비트들에 기인하여 발생된 오정정 비트가 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오정정 비트를 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 위치시키거나, 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 단계를 포함하는 반도체 메모리 장치의 에러 정정 방법. - 외부로부터 입력된 제 1 데이터를 이용하여 제 1 체크 비트들을 발생하는 제 1 체크 비트 발생기; 및
복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하고 상기 제 1데이터 및 상기 제 1 체크 비트들을 저장하는 메모리 셀 어레이를 포함하고,
상기 제 1 체크 비트 발생기는 상기 제 1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 반도체 메모리 장치. - 제 18 항에 있어서,
상기 메모리 셀 어레이로부터 수신된 제 2 데이터를 이용하여 제 2 체크 비트들을 발생하는 제 2 체크 비트 발생기;
상기 제2 체크 비트들과 상기 메모리 셀 어레이로부터 수신된 제 3 체크 비트들에 기초하여 신드롬 비트들을 발생하는 신드롬 비트 발생기;
상기 신드롬 비트들을 디코딩하는 에러 로케이터(error locator); 및
상기 에러 로케이터의 출력에 응답하여 상기 제 2 데이터를 정정하는 에러 정정 회로를 더 포함하는 것을 특징으로 하는 반도체 메모리 장치. - 제 19 항에 있어서, 상기 제 2 체크 비트 발생기는
상기 제 2 데이터와 상기 제 2 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 2 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 오정정 비트를 상기 제 2 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 반도체 메모리 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150077401A KR102296738B1 (ko) | 2015-06-01 | 2015-06-01 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 |
US15/156,804 US10140176B2 (en) | 2015-06-01 | 2016-05-17 | Semiconductor memory device, memory system including the same, and method of error correction of the same |
CN201610381950.2A CN106205663B (zh) | 2015-06-01 | 2016-06-01 | 半导体存储器设备、存储器***及错误校正的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150077401A KR102296738B1 (ko) | 2015-06-01 | 2015-06-01 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160141557A true KR20160141557A (ko) | 2016-12-09 |
KR102296738B1 KR102296738B1 (ko) | 2021-09-01 |
Family
ID=57398652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150077401A KR102296738B1 (ko) | 2015-06-01 | 2015-06-01 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10140176B2 (ko) |
KR (1) | KR102296738B1 (ko) |
CN (1) | CN106205663B (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190090472A (ko) * | 2018-01-25 | 2019-08-02 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
WO2020112391A1 (en) * | 2018-11-29 | 2020-06-04 | Micron Technology, Inc. | Failure-tolerant error correction layout for memory sub-systems |
US11275524B2 (en) | 2020-06-02 | 2022-03-15 | SK Hynix Inc. | Memory system, memory controller, and operation method of memory system |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180069179A (ko) * | 2016-12-14 | 2018-06-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 에러 정정 방법 |
KR102258140B1 (ko) * | 2017-07-06 | 2021-05-28 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템 |
KR20190054533A (ko) * | 2017-11-14 | 2019-05-22 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
KR102450580B1 (ko) | 2017-12-22 | 2022-10-07 | 삼성전자주식회사 | 금속 배선 하부의 절연층 구조를 갖는 반도체 장치 |
CN108053860A (zh) * | 2018-01-12 | 2018-05-18 | 江苏华存电子科技有限公司 | 一种编译码***使用多种错误纠正码组合的方法 |
CN109542668B (zh) * | 2018-10-29 | 2021-11-23 | 百富计算机技术(深圳)有限公司 | 基于nand flash存储器的校验方法、终端设备及存储介质 |
KR20200058027A (ko) * | 2018-11-19 | 2020-05-27 | 삼성전자주식회사 | Ecc 회로를 포함하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 에러 정정 방법 |
US11005501B2 (en) * | 2019-02-19 | 2021-05-11 | Micron Technology, Inc. | Error correction on a memory device |
KR20200142213A (ko) | 2019-06-12 | 2020-12-22 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템 |
DE102019120801B3 (de) * | 2019-08-01 | 2020-12-03 | Infineon Technologies Ag | Vorrichtungen und Verfahren zur Datenspeicherung |
CN112540866B (zh) * | 2019-09-20 | 2024-01-23 | 华邦电子股份有限公司 | 存储器装置及其数据存取方法 |
KR20210034784A (ko) * | 2019-09-23 | 2021-03-31 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 장치 및 그 제조 방법 |
US11601137B2 (en) * | 2020-06-18 | 2023-03-07 | Intel Corporation | ECC memory chip encoder and decoder |
KR102598093B1 (ko) | 2022-01-04 | 2023-11-06 | 숭실대학교 산학협력단 | 비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4833679A (en) * | 1987-08-31 | 1989-05-23 | International Business Machines Corporation | Method and apparatus with improved error correction and error information availability |
US20020038442A1 (en) * | 1998-09-24 | 2002-03-28 | Robert Cypher | Technique for correcting single-bit errors in caches with sub-block parity bits |
KR20040064259A (ko) * | 2002-06-28 | 2004-07-16 | 선 마이크로시스템즈 인코포레이티드 | 컴포넌트 실패를 검출 및 보정하고, 컴포넌트 실패 후에단일 비트 에러보정을 제공하는 에러검출/보정 코드 |
KR20110135985A (ko) * | 2009-04-02 | 2011-12-20 | 마이크론 테크놀로지, 인크. | 확장 단일-비트 오류 정정 및 다중-비트 오류 검출 |
US20140351672A1 (en) * | 2013-05-24 | 2014-11-27 | Sk Hynix Memory Solutions Inc. | Miscorrection detection for error correcting codes using bit reliabilities |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4358848A (en) * | 1980-11-14 | 1982-11-09 | International Business Machines Corporation | Dual function ECC system with block check byte |
EP0386506A3 (en) * | 1989-03-06 | 1991-09-25 | International Business Machines Corporation | Low cost symbol error correction coding and decoding |
US6615387B1 (en) * | 1998-09-22 | 2003-09-02 | Seagate Technology Llc | Method and apparatus for error detection |
EP1459451A2 (en) * | 2001-12-06 | 2004-09-22 | Koninklijke Philips Electronics N.V. | Simple decoding method and apparatus |
US7249309B2 (en) * | 2002-11-13 | 2007-07-24 | International Business Machines Corporation | Single-burst-correction / double-burst-detection error code |
US7237176B2 (en) | 2004-01-12 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Partitioning data for error correction |
KR100594241B1 (ko) | 2004-01-29 | 2006-06-30 | 삼성전자주식회사 | 순방향 치엔 서치 방식의 리드 솔로몬 디코더 회로 |
US7734980B2 (en) | 2005-06-24 | 2010-06-08 | Intel Corporation | Mitigating silent data corruption in a buffered memory module architecture |
KR100856129B1 (ko) * | 2006-12-29 | 2008-09-03 | 삼성전자주식회사 | 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치 |
KR101134064B1 (ko) | 2007-05-14 | 2012-04-13 | 삼성전자주식회사 | 오류 제어 코드의 펑쳐링 장치 및 방법 |
KR101386489B1 (ko) | 2008-01-14 | 2014-04-21 | 삼성전자주식회사 | 메모리 장치 및 멀티 비트 프로그래밍 방법 |
US8266495B2 (en) | 2008-02-20 | 2012-09-11 | Marvell World Trade Ltd. | Systems and methods for performing concatenated error correction |
US8493783B2 (en) | 2008-03-18 | 2013-07-23 | Apple Inc. | Memory device readout using multiple sense times |
FR2944171B1 (fr) | 2009-04-03 | 2012-12-21 | Get Enst | Procede et dispositif de modulation mettant en oeuvre une modulation differentielle, procede et dispositif de demodulation, signal et produits programme d'ordinateur correspondants. |
CN102110028A (zh) * | 2009-12-25 | 2011-06-29 | 康佳集团股份有限公司 | 一种nand闪存及其数据的校验方法和装置 |
US8612809B2 (en) * | 2009-12-31 | 2013-12-17 | Intel Corporation | Systems, methods, and apparatuses for stacked memory |
US8631304B2 (en) | 2010-01-28 | 2014-01-14 | Sandisk Il Ltd. | Overlapping error correction operations |
KR20110105257A (ko) * | 2010-03-18 | 2011-09-26 | 삼성전자주식회사 | 적층 구조를 갖는 반도체 메모리 장치 및 에러 정정 방법 |
US9432298B1 (en) * | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
US8930647B1 (en) * | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
JP5770026B2 (ja) * | 2011-06-20 | 2015-08-26 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US8527836B2 (en) | 2011-07-01 | 2013-09-03 | Intel Corporation | Rank-specific cyclic redundancy check |
WO2013137851A1 (en) | 2012-03-12 | 2013-09-19 | Intel Corporation | Distributed codeword portions |
US9569302B1 (en) * | 2013-06-07 | 2017-02-14 | Sk Hynix Inc | Decoding of turbo product codes using miscorrection detection |
US9231623B1 (en) * | 2013-09-11 | 2016-01-05 | SK Hynix Inc. | Chase decoding for turbo-product codes (TPC) using error intersections |
JP6287571B2 (ja) * | 2014-05-20 | 2018-03-07 | 富士通株式会社 | 演算処理装置、情報処理装置、及び、演算処理装置の制御方法 |
KR102178137B1 (ko) | 2014-08-26 | 2020-11-12 | 삼성전자주식회사 | 반도체 메모리 장치, 이의 에러 정정 방법 및 이를 포함하는 메모리 시스템 |
KR102290020B1 (ko) * | 2015-06-05 | 2021-08-19 | 삼성전자주식회사 | 스택드 칩 구조에서 소프트 데이터 페일 분석 및 구제 기능을 제공하는 반도체 메모리 장치 |
US10218388B2 (en) * | 2015-12-18 | 2019-02-26 | SK Hynix Inc. | Techniques for low complexity soft decoder for turbo product codes |
-
2015
- 2015-06-01 KR KR1020150077401A patent/KR102296738B1/ko active IP Right Grant
-
2016
- 2016-05-17 US US15/156,804 patent/US10140176B2/en active Active
- 2016-06-01 CN CN201610381950.2A patent/CN106205663B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4833679A (en) * | 1987-08-31 | 1989-05-23 | International Business Machines Corporation | Method and apparatus with improved error correction and error information availability |
US20020038442A1 (en) * | 1998-09-24 | 2002-03-28 | Robert Cypher | Technique for correcting single-bit errors in caches with sub-block parity bits |
KR20040064259A (ko) * | 2002-06-28 | 2004-07-16 | 선 마이크로시스템즈 인코포레이티드 | 컴포넌트 실패를 검출 및 보정하고, 컴포넌트 실패 후에단일 비트 에러보정을 제공하는 에러검출/보정 코드 |
KR20110135985A (ko) * | 2009-04-02 | 2011-12-20 | 마이크론 테크놀로지, 인크. | 확장 단일-비트 오류 정정 및 다중-비트 오류 검출 |
US20140351672A1 (en) * | 2013-05-24 | 2014-11-27 | Sk Hynix Memory Solutions Inc. | Miscorrection detection for error correcting codes using bit reliabilities |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190090472A (ko) * | 2018-01-25 | 2019-08-02 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
WO2020112391A1 (en) * | 2018-11-29 | 2020-06-04 | Micron Technology, Inc. | Failure-tolerant error correction layout for memory sub-systems |
US11438012B2 (en) | 2018-11-29 | 2022-09-06 | Micron Technology, Inc. | Failure-tolerant error correction layout for memory sub-systems |
US11870461B2 (en) | 2018-11-29 | 2024-01-09 | Micron Technology, Inc. | Failure-tolerant error correction layout for memory sub-systems |
US11275524B2 (en) | 2020-06-02 | 2022-03-15 | SK Hynix Inc. | Memory system, memory controller, and operation method of memory system |
Also Published As
Publication number | Publication date |
---|---|
KR102296738B1 (ko) | 2021-09-01 |
CN106205663A (zh) | 2016-12-07 |
US20160350181A1 (en) | 2016-12-01 |
CN106205663B (zh) | 2020-12-15 |
US10140176B2 (en) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102296738B1 (ko) | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 | |
US11269724B2 (en) | Memory device, memory system, and method of operating the same | |
KR101712215B1 (ko) | 다중 반도체 메모리 유닛들에서의 에러 정정 | |
CN109524051B (zh) | 用于执行并行读取-修改-写入操作的存储器器件 | |
US10509594B2 (en) | Memory module and memory system including the same | |
US11953990B2 (en) | Controller and memory system | |
US9798622B2 (en) | Apparatus and method for increasing resilience to raw bit error rate | |
TW201040974A (en) | Extended single-bit error correction and multiple-bit error detection | |
KR101750457B1 (ko) | Ecc를 이용하는 메모리 장치 및 그 시스템 | |
KR102242281B1 (ko) | 이진을 삼진으로 매핑하기 위한 그리고 그 역을 위한 장치 및 방법 | |
KR101991900B1 (ko) | 메모리 장치의 동작 방법, 이를 이용한 메모리 장치 및 이를 포함하는 메모리 시스템 | |
US11308009B2 (en) | Interface for memory readout from a memory component in the event of fault | |
KR20180000593A (ko) | 데이터의 오류를 정정하는 방법 및 이를 이용하는 반도체장치 | |
KR20180022014A (ko) | 반도체장치 | |
KR102420641B1 (ko) | 에러정정방법 및 이를 이용한 반도체장치 | |
US20190179699A1 (en) | Memory system varying operation of memory controller according to internal status of memory device | |
US20140281816A1 (en) | Memory controller and method of operating the same | |
US20130007563A1 (en) | Semiconductor memory device having error correction function and memory system including the same | |
KR101906407B1 (ko) | 반도체 메모리 장치의 출력 전압 레벨을 보정하는 메모리 시스템, 및 반도체 메모리 장치의 출력 전압 레벨 보정 방법 | |
KR20130004045A (ko) | 에러 정정 기능을 갖는 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 | |
KR102688433B1 (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US11163634B2 (en) | H matrix generating circuit, operating method thereof and error correction circuit using H matrix generated by the same | |
KR20230080769A (ko) | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 |
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 | ||
GRNT | Written decision to grant |