KR102296738B1 - 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 - Google Patents

반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 Download PDF

Info

Publication number
KR102296738B1
KR102296738B1 KR1020150077401A KR20150077401A KR102296738B1 KR 102296738 B1 KR102296738 B1 KR 102296738B1 KR 1020150077401 A KR1020150077401 A KR 1020150077401A KR 20150077401 A KR20150077401 A KR 20150077401A KR 102296738 B1 KR102296738 B1 KR 102296738B1
Authority
KR
South Korea
Prior art keywords
code word
bits
error
word group
memory device
Prior art date
Application number
KR1020150077401A
Other languages
English (en)
Other versions
KR20160141557A (ko
Inventor
차상언
정회주
강욱성
박철우
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to KR1020150077401A priority Critical patent/KR102296738B1/ko
Priority to US15/156,804 priority patent/US10140176B2/en
Priority to CN201610381950.2A priority patent/CN106205663B/zh
Publication of KR20160141557A publication Critical patent/KR20160141557A/ko
Application granted granted Critical
Publication of KR102296738B1 publication Critical patent/KR102296738B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • G11C29/28Dependent multiple arrays, e.g. multi-bit arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/34Accessing multiple bits simultaneously
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56008Error analysis, representation of errors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1575Direct 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1202Word line control

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (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

반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법{SEMICONDUCTOR MEMORY DEVICE, MEMORY SYSTEM INCLUDING THE SAME, AND METHOD OF ERROR CORRECTION OF THE SAME}
본 발명은 메모리 장치에 관한 것으로, 특히 에러 정정이 용이한 반도체 메모리 장치 및 이를 포함하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치는 데이터를 저장하는 데 사용되며, 크게 휘발성 반도체 메모리 장치와 비휘발성 반도체 메모리 장치로 나누어진다. 휘발성 반도체 메모리 장치는 커패시터의 충전 또는 방전에 의해 데이터가 저장된다. 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은 본 발명의 실시 예들에 따른 반도체 메모리 장치의 에러정정 방법을 나타내는 흐름도들이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 안 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제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: 전자 시스템

Claims (20)

  1. 어드레스 신호 및 커맨드를 발생하는 호스트; 및
    상기 호스트로부터 상기 어드레스, 상기 커맨드를 수신하거나 상기 호스트로부터 제 1 데이터를 수신하거나 데이터를 상기 호스트에 송신하는 반도체 메모리 장치를 포함하는 메모리 시스템에 있어서,
    상기 반도체 메모리 장치는 외부로부터 입력된 제1 데이터를 이용하여 제 1 체크 비트들을 발생하고, 상기 제1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템.
  2. 제 1 항에 있어서, 상기 반도체 메모리 장치는
    외부로부터 입력된 제 1 데이터를 이용하여 제 1 체크 비트들을 발생하는 제 1 체크 비트 발생기; 및
    복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하고 상기 제 1 데이터 및 상기 제 1 체크 비트들을 저장하는 메모리 셀 어레이를 포함하고,
    상기 제 1 체크 비트 발생기는 상기 제1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템.
  3. 제 2 항에 있어서, 상기 반도체 메모리 장치는
    상기 메모리 셀 어레이로부터 수신된 제 2 데이터를 이용하여 제 2 체크 비트들을 발생하는 제 2 체크 비트 발생기;
    상기 제2 체크 비트들과 상기 메모리 셀 어레이로부터 수신된 제 3 체크 비트들에 기초하여 신드롬 비트들을 발생하는 신드롬 비트 발생기;
    상기 신드롬 비트들을 디코딩하는 에러 로케이터(error locator); 및
    상기 에러 로케이터의 출력에 응답하여 상기 제 2 데이터를 정정하는 에러 정정 회로를 더 포함하는 것을 특징으로 하는 메모리 시스템.
  4. 제 2 항에 있어서,
    상기 이씨씨 코드 워드가 k 개의 오류 비트를 검출할 수 있는 경우, 상기 제 1 이씨씨 코드 워드 그룹 내에 k+1 개의 오류 비트가 존재하는 경우에, 상기 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템.
  5. 제 2 항에 있어서,
    상기 이씨씨 코드 워드가 1 개의 오류 비트를 검출 및 정정할 수 있는 경우, 상기 제 1 이씨씨 코드 워드 그룹 내에 2 개의 오류 비트가 존재하는 경우에, 상기 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템.
  6. 제 2 항에 있어서,
    상기 이씨씨 코드 워드 그룹 각각은 16 비트 또는 32 비트를 갖는 것을 특징으로 하는 메모리 시스템.
  7. 제 2 항에 있어서,
    상기 이씨씨 코드 워드의 크기가 프리 패치(pre-fetch) 단위보다 큰 경우, 상기 오류 비트들을 상기 이씨씨 코드 워드 내의 프리 패치되지 않은 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템.
  8. 제 2 항에 있어서, 상기 반도체 메모리 장치는
    관통 전극(TSV: Through-Silicon-Via)을 통해 데이터와 제어신호들을 송수신하는 복수의 칩들이 적층된 적층 메모리 장치인 것을 특징으로 하는 메모리 시스템.
  9. 제 2 항에 있어서,
    상기 반도체 메모리 장치 내에 상기 오류 비트들에 기인하여 발생된 비트가 발생할 경우, 상기 반도체 메모리 장치의 외부에서 상기 오류 비트들과 상기 오류 비트들에 기인하여 발생된 비트를 검출 및 정정할 수 있는 것을 특징으로 하는 메모리 시스템.
  10. 어드레스 신호 및 커맨드를 발생하는 호스트; 및
    상기 호스트로부터 상기 어드레스, 상기 커맨드를 수신하거나 상기 호스트로부터 제 1 데이터를 수신하거나 데이터를 상기 호스트에 송신하는 반도체 메모리 장치를 포함하는 메모리 시스템에 있어서,
    상기 반도체 메모리 장치는 외부로부터 입력된 제1 데이터를 이용하여 제 1 체크 비트들을 발생하고, 상기 제1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 상기 복수의 이씨씨 코드 워드 그룹 각각을 복수의 이씨씨 코드 워드 서브 그룹으로 나누고, 오류 비트들이 제 1 이씨씨 코드 워드 그룹의 제1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 상기 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 그룹의 제 1 이씨씨 코드 워드 서브 그룹에 위치시키거나 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템.
  11. 제 10 항에 있어서, 상기 반도체 메모리 장치는
    상기 오류 비트들이 상기 제 1 이씨씨 코드 워드 그룹의 상기 제 1 이씨씨 코드 워드 서브 그룹 내에만 존재하고, 상기 오류 비트들에 기인하여 발생된 비트가 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 위치시키는 것을 특징으로 하는 메모리 시스템.
  12. 제 10 항에 있어서, 상기 반도체 메모리 장치는
    상기 오류 비트들이 상기 제 1 이씨씨 코드 워드 그룹의 상기 제1 이씨씨 코드 워드 서브 그룹 및 제 2 이씨씨 코드 워드 서브 그룹 내에 존재하면, 상기 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템.
  13. 제 10 항에 있어서,
    상기 이씨씨 코드 워드 그룹 각각은 16 비트 또는 32 비트를 갖는 것을 특징으로 하는 메모리 시스템.
  14. 제 10 항에 있어서,
    상기 이씨씨 코드 워드가 k 개의 오류 비트를 검출할 수 있는 경우, 상기 제 1 이씨씨 코드 워드 그룹 내에 k+1 개의 오류 비트가 존재하는 경우에, 상기 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템.
  15. 제 10 항에 있어서, 상기 반도체 메모리 장치는
    상기 이씨씨 코드 워드의 크기가 프리 패치(pre-fetch) 단위보다 큰 경우, 상기 오류 비트들을 상기 이씨씨 코드 워드 내의 프리 패치되지 않은 그룹에 위치시키는 것을 특징으로 하는 메모리 시스템.
  16. 복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하는 메모리 셀 어레이를 갖는 메모리 장치의 에러 정정 방법에 있어서,
    상기 에러 정정 방법은
    외부로부터 제1 데이터를 수신하는 단계;
    제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치하도록, 상기 제1 데이터에 기초하여 제1 체크 비트들을 발생하는 단계; 및
    상기 제1 데이터와 상기 제1 체크 비트들로 구성된 이씨씨 코드 워드 그룹을복수 개 포함하는 이씨씨 코드 워드를 상기 복수의 메모리 셀 그룹에 저장하는 단계를 포함하는 반도체 메모리 장치의 에러 정정 방법.
  17. 복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하는 메모리 셀 어레이를 갖는 메모리 장치의 에러 정정 방법에 있어서,
    상기 에러 정정 방법은
    외부로부터 제1 데이터를 수신하는 단계;
    상기 제1 데이터에 기초하여 제1 체크 비트들을 발생하는 단계;
    상기 제1 데이터와 상기 제 1 체크 비트들로 구성된 이씨씨 코드 워드 서브 그룹을 복수 개 포함하는 이씨씨 코드 워드 그룹을 복수 개 포함하는 이씨씨 코드 워드(ECC code word)를 상기 복수의 메모리 셀 그룹에 저장하는 단계; 및
    오류 비트들이 제 1 이씨씨 코드 워드 그룹의 제 1 이씨씨 코드 워드 서브 그룹 내에만 존재하면, 상기 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 서브 그룹 내에 위치시키거나, 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 단계를 포함하는 반도체 메모리 장치의 에러 정정 방법.
  18. 외부로부터 입력된 제 1 데이터를 이용하여 제 1 체크 비트들을 발생하는 제 1 체크 비트 발생기; 및
    복수의 메모리 셀을 포함하는 메모리 셀 그룹을 복수 개 포함하고 상기 제 1데이터 및 상기 제 1 체크 비트들을 저장하는 메모리 셀 어레이를 포함하고,
    상기 제 1 체크 비트 발생기는 상기 제 1 데이터와 상기 제 1 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 1 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 비트를 상기 제 1 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 반도체 메모리 장치.
  19. 제 18 항에 있어서,
    상기 메모리 셀 어레이로부터 수신된 제 2 데이터를 이용하여 제 2 체크 비트들을 발생하는 제 2 체크 비트 발생기;
    상기 제2 체크 비트들과 상기 메모리 셀 어레이로부터 수신된 제 3 체크 비트들에 기초하여 신드롬 비트들을 발생하는 신드롬 비트 발생기;
    상기 신드롬 비트들을 디코딩하는 에러 로케이터(error locator); 및
    상기 에러 로케이터의 출력에 응답하여 상기 제 2 데이터를 정정하는 에러 정정 회로를 더 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  20. 제 19 항에 있어서, 상기 제 2 체크 비트 발생기는
    상기 제 2 데이터와 상기 제 2 체크 비트들을 포함하는 이씨씨 코드 워드(ECC code word)를 복수의 이씨씨 코드 워드 그룹으로 나누고, 제 2 이씨씨 코드 워드 그룹 내에 존재하는 오류 비트들에 기인하여 발생된 비트를 상기 제 2 이씨씨 코드 워드 그룹이 아닌 다른 이씨씨 코드 워드 그룹에 위치시키는 것을 특징으로 하는 반도체 메모리 장치.
KR1020150077401A 2015-06-01 2015-06-01 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 KR102296738B1 (ko)

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 KR20160141557A (ko) 2016-12-09
KR102296738B1 true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11791841B2 (en) 2022-01-04 2023-10-17 Foundation Of Soongsil University-Industry Cooperation Bit flipping device and method and computer readable program for the same

Families Citing this family (16)

* Cited by examiner, † Cited by third party
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 江苏华存电子科技有限公司 一种编译码系统使用多种错误纠正码组合的方法
KR102453437B1 (ko) * 2018-01-25 2022-10-12 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
CN109542668B (zh) * 2018-10-29 2021-11-23 百富计算机技术(深圳)有限公司 基于nand flash存储器的校验方法、终端设备及存储介质
KR20200058027A (ko) * 2018-11-19 2020-05-27 삼성전자주식회사 Ecc 회로를 포함하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 에러 정정 방법
US11438012B2 (en) 2018-11-29 2022-09-06 Micron Technology, Inc. Failure-tolerant error correction layout for memory sub-systems
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 삼성전자주식회사 솔리드 스테이트 드라이브 장치 및 그 제조 방법
KR20210149314A (ko) 2020-06-02 2021-12-09 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
US11601137B2 (en) * 2020-06-18 2023-03-07 Intel Corporation ECC memory chip encoder and decoder

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020038442A1 (en) 1998-09-24 2002-03-28 Robert Cypher Technique for correcting single-bit errors in caches with sub-block parity bits
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 (32)

* Cited by examiner, † Cited by third party
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
US4833679A (en) * 1987-08-31 1989-05-23 International Business Machines Corporation Method and apparatus with improved error correction and error information availability
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
WO2003049297A2 (en) * 2001-12-06 2003-06-12 Koninklijke Philips Electronics N.V. Simple decoding method and apparatus
US6973613B2 (en) * 2002-06-28 2005-12-06 Sun Microsystems, Inc. Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure
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
US8230305B2 (en) * 2009-04-02 2012-07-24 Micron Technology, Inc. Extended single-bit error correction and multiple-bit error detection
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 삼성전자주식회사 적층 구조를 갖는 반도체 메모리 장치 및 에러 정정 방법
US8930647B1 (en) * 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving 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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020038442A1 (en) 1998-09-24 2002-03-28 Robert Cypher Technique for correcting single-bit errors in caches with sub-block parity bits
US20140351672A1 (en) 2013-05-24 2014-11-27 Sk Hynix Memory Solutions Inc. Miscorrection detection for error correcting codes using bit reliabilities

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11791841B2 (en) 2022-01-04 2023-10-17 Foundation Of Soongsil University-Industry Cooperation Bit flipping device and method and computer readable program for the same

Also Published As

Publication number Publication date
US10140176B2 (en) 2018-11-27
CN106205663B (zh) 2020-12-15
KR20160141557A (ko) 2016-12-09
CN106205663A (zh) 2016-12-07
US20160350181A1 (en) 2016-12-01

Similar Documents

Publication Publication Date Title
KR102296738B1 (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법
US11269724B2 (en) Memory device, memory system, and method of operating the same
CN109074851B (zh) 利用额外系统位的内部错误校验和校正(ecc)
US10846171B2 (en) Error correction code decoders, semiconductor memory devices and memory systems
US10621040B2 (en) Memory controllers to form symbols based on bursts
KR20190090472A (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US10922171B2 (en) Error correction code circuits, semiconductor memory devices and memory systems
US10509594B2 (en) Memory module and memory system including the same
KR20130012737A (ko) 반도체 메모리 장치 및 이를 포함하는 반도체 시스템
KR20140147218A (ko) 메모리 장치 및 이를 포함하는 시스템
US10108488B2 (en) Memory module with integrated error correction
CN112749040A (zh) 存储器控制器以及包括该存储器控制器的存储器系统
KR20180022014A (ko) 반도체장치
KR100801083B1 (ko) 싸이클릭 리던던시 체크 코드 발생회로, 반도체 메모리장치 및 이의 구동 방법
US10866855B2 (en) Memory system varying operation of memory controller according to internal status of memory device
CN108062964B (zh) 存储器件及包括该存储器件的半导体封装体
US20130007563A1 (en) Semiconductor memory device having error correction function and memory system including the same
KR20130004045A (ko) 에러 정정 기능을 갖는 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
KR101906407B1 (ko) 반도체 메모리 장치의 출력 전압 레벨을 보정하는 메모리 시스템, 및 반도체 메모리 장치의 출력 전압 레벨 보정 방법
KR20230080769A (ko) 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
CN112540867A (zh) 存储模块以及存储控制器的纠错方法

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