KR101062755B1 - Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법 - Google Patents

Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법 Download PDF

Info

Publication number
KR101062755B1
KR101062755B1 KR1020090069606A KR20090069606A KR101062755B1 KR 101062755 B1 KR101062755 B1 KR 101062755B1 KR 1020090069606 A KR1020090069606 A KR 1020090069606A KR 20090069606 A KR20090069606 A KR 20090069606A KR 101062755 B1 KR101062755 B1 KR 101062755B1
Authority
KR
South Korea
Prior art keywords
data
parity
error
encoding
ecc
Prior art date
Application number
KR1020090069606A
Other languages
English (en)
Other versions
KR20110012061A (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 KR1020090069606A priority Critical patent/KR101062755B1/ko
Priority to US12/647,333 priority patent/US8713407B2/en
Publication of KR20110012061A publication Critical patent/KR20110012061A/ko
Application granted granted Critical
Publication of KR101062755B1 publication Critical patent/KR101062755B1/ko

Links

Images

Classifications

    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

개시된 반도체 메모리 시스템은, 복수의 셀을 포함하는 메모리 영역 및 리드 모드에서 상기 메모리 영역의 셀 데이터 및 상기 셀 데이터의 정정된 데이터를 각각 인코딩한 결과에 따라 각각 생성된 패리티를 이용함으로써 정정 불가 에러 데이터의 존재 유무를 판단하는 ECC 회로부를 포함한다.
플래시 메모리, 데이터, 정정, ECC

Description

ECC 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법{Semiconductor Memory System Having ECC Circuit and Controlling Method thereof}
본 발명은 반도체 메모리 시스템 및 그 제어 방법에 관한 것으로서, 보다 구체적으로는 ECC 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법에 관한 것이다.
최근 낸드(NAND) 플래시 메모리를 사용한 반도체 메모리 시스템은 메모리 셀에 데이터를 라이트하는 경우, 오동작 또는 인접 셀의 라이트 영향에 의해, 이미 저장된 셀의 임계치 레벨이 변화하는 경우가 있다. 이와 같이, 임계치 레벨이 변화한 경우, 읽어낸 데이터의 정밀도가 저하된다. 따라서, 데이터의 정밀도를 향상시키기 위하여, 데이터에 에러 정정 코드(Error-Correcting Code; 이하, ECC)를 부가하여 라이트 및 리드 동작이 행해진다.
통상적으로 ECC 회로를 갖는 반도체 메모리 시스템은 데이터 비트들 외에 패리티(parity) 비트를 생성하여 저장하고, 이후 패리티 비트들을 이용하여 에러 발생 여부를 판단하여 에러를 정정한다.
한편, 이러한 ECC 회로는 그 특성상 정정 가능한 범위를 벗어나는 오류가 발생했을 때에도 이를 인식하지 못한 채 오류를 정정하여 정정된 데이터를 출력한다. 그리하여, ECC 회로는 오류 정정 범위를 벗어나면 실제 데이터에 대한 오류를 잘못 정정하는 경우가 발생할 수 있다. 예를 들어, 반도체 메모리 시스템 동작 도중 전원 불량(power failure)에 의한 다발성 비트의 오류가 발생하는 상황은 이미 에러 정정 범위를 초과하는 상황이다. 그러나, 이를 ECC 회로를 이용하여 데이터를 정정하여 출력한다면, 전원 불량으로 판단 못하고 메모리 셀의 불량, 즉 리드 동작 불량으로 판단할 수 있는 문제점이 발생할 수 있다. 따라서, ECC 회로에 대한 에러 정정 능력 이상 유무를 판별하는 방안이 요구된다.
본 발명의 기술적 과제는 블록의 에러 정정 가능성을 판별하는 반도체 메모리 시스템을 제공하는 것이다.
본 발명의 기술적 과제는 블록의 에러 정정 가능성을 판별하는 반도체 메모리 시스템의 제어 방법을 제공하는 것이다.
본 발명의 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 반도체 메모리 시스템은, 복수의 셀을 포함하는 메모리 영역 및 리드 모드에서 상기 메모리 영역의 셀 데이터 및 상기 셀 데이터의 정정된 데이터를 각각 인코딩한 결과에 따라 각각 생성된 패리티를 이용함으로써 정정 불가 에러 데이터의 존재 유무를 판단하는 ECC 회로부를 포함한다.
본 발명의 기술적 과제를 달성하기 위하여, 본 발명의 다른 실시예에 따른 반도체 메모리 시스템은, 복수의 셀을 포함하는 메모리 영역, 라이트시 외부 데이터를 인코딩하는 ECC 인코더를 포함하며, 리드시 상기 ECC 인코더를 이용하여 상기 메모리 영역의 셀 데이터를 인코딩하여 상기 셀 데이터의 오류를 정정하고, 상기 오류가 정정된 셀 데이터를 상기 ECC 인코더를 이용하여 인코딩하여 정정 불가 에러 데이터의 존재 유무를 판단하는 ECC 코덱(CoDec) 및 상기 해당 셀 데이터의 오류를 정정하도록 상기 해당 셀의 에러 데이터의 위치를 제공하는 에러 위치 해석 블록을 포함한다.
본 발명의 기술적 과제를 달성하기 위하여, 본 발명의 또 다른 실시예에 따 른 반도체 메모리 시스템은, 복수의 셀을 포함하는 메모리 영역, 라이트 모드에서 외부 데이터를 인코딩하여 생성된 패리티와 리드 모드에서 해당 셀 데이터를 인코딩하여 생성된 패리티를 1차 비교하고, 상기 해당 셀 데이터의 오류를 정정하며 생성된 패리티와 정정된 데이터를 인코딩하여 생성된 패리티를 2차 비교하는 ECC 코덱(CoDec) 및 상기 1차 비교 결과에 응답하여 상기 해당 셀 데이터의 오류를 정정하도록 상기 해당 셀의 에러 데이터의 위치를 제공하는 에러 위치 해석 블록을 포함한다.
본 발명의 다른 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 반도체 메모리 시스템의 제어 방법은, 해당 셀 데이터를 리드하여 인코딩하여 패리티를 생성하는 단계, 라이트시의 인코딩 결과에 따른 패리티와 상기 리드시 해당 셀 데이터의 인코딩 결과에 따른 패리티를 비교하는 단계, 상기 비교 결과에 따라 에러 위치를 추적하는 단계, 상기 에러 위치 추적의 결과에 따라 해당 셀 데이터의 에러를 정정하고, 정정된 데이터를 인코딩하여 패리티를 생성하는 단계 및 상기 정정된 데이터에 따른 패리티와 상기 정정된 데이터의 인코딩에 따른 패리티를 비교하는 단계를 포함한다.
본 발명의 일 실시예에 따른 ECC 회로부는 정정 불가 에러 데이터(uncorrectable error date)의 발생 유무를 용이하게 판단할 수 있다. 즉, ECC 회로부는 데이터의 오류 정정시, 정정된 데이터를 인코딩함으로써 생성된 패리티를 이용함으로써 ECC 회로부의 정정 범위 초과 유무를 판단할 수 있다. 이로써, 별도 의 에러 정정 엔진(engine) 및 회로부의 추가 없이도 정정 범위 초과 유무를 판단함으로써 면적 효율을 개선할 수 있다. 더 나아가, 데이터의 에러 정정과 동시에 에러 정정 능력 범위 판단이 가능하므로 에러 정정 관련 시간을 감소시키는 효과가 크다.
이하, 본 발명의 실시예에 의한 본 발명의 일 실시예에 따른 반도체 메모리 시스템 및 제어 방법을 설명하기 위한 블록도 또는 플로우 차트에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
또한, 각 블록도는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
먼저, 도 1을 참조하여, 본 발명의 일 실시예에 따른 반도체 메모리 시스템에 대해서 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 반도체 메모리 시스템(100)의 블록도이다. 여기서, 반도체 메모리 시스템(100)은 낸드 플래시 메모리를 이용한 시스템으로 예시한다.
도 1을 참조하면, 반도체 메모리 시스템(100)은 호스트 인터페이스(110), 메 모리 컨트롤러(120) 및 메모리 영역(140)을 포함한다.
우선, 호스트 인터페이스(110)는 메모리 컨트롤러(120)와 연결된다. 호스트 인터페이스(110)는 외부 호스트 (미도시)와 메모리 컨트롤러(120)간에 제어 명령, 어드레스 신호 및 데이터 신호를 송수신한다. 호스트 인터페이스(110)와 외부 호스트 (미도시)간의 인터페이스 방식은 직렬 ATA(Serial Advanced Technology Attachment;SATA), 병렬 ATA(Parallel Advanced Technology attachment;PATA) 및 SCSI, Express Card, PCI-Express 방식 중 어느 하나일 수 있으며 제한되지 않는다.
메모리 컨트롤러(120)는 ECC 회로부(130)를 포함한다. 우선 통상적인 컨트롤러와 같이, 메모리 컨트롤러(120)는 호스트 인터페이스(110)로부터의 입력 데이터와 라이트 명령어를 수신하여 입력 데이터가 메모리 영역(140)에 라이트 될 수 있도록 제어한다. 이와 마찬가지로, 메모리 컨트롤러(120)는 호스트 인터페이스(110)로부터의 리드 명령어를 수신하면, 메모리 영역(140)으로부터의 데이터를 리드하여 외부로 출력되도록 제어한다.
한편, 메모리 컨트롤러(120)는 ECC 회로부(130)를 이용하여 메모리 영역(140)으로부터 리드한 데이터가 오류가 있을 경우, 오류를 정정하여 정정된 데이터를 출력하도록 한다. 특히, 본 발명의 일 실시예에 따르면, ECC 회로부(130) 내부에 포함된 인코더(미도시)를 이용하여 정정 불가 에러 데이터(uncorrectable error date)의 발생 유무를 용이하게 판단할 수 있다. 즉, ECC 회로부(130)는 데이터의 오류 정정시, 정정된 데이터를 재차 인코더(미도시)에 제공하면서 발생된 패 리티와 이전 상태의 데이터의 패리티를 비교함으로써 정정 불가 에러 데이터인지를 판단할 수 있다. 이러한 ECC 회로부(130)의 특징 및 동작에 대한 상세한 설명은 후술하기로 한다.
이와 같이, 본 발명의 일 실시예에 따르면 ECC 회로(130)의 정정 범위 이상 유무를 판단하기 위해 큰 사이즈의 CRC(Cyclic Redundancy Check) 회로를 구비하거나 오류 측정을 위한 비트를 추가하여 신드롬(syndrome)의 계산 없이, 이미 내장된 인코더(미도시)를 적절히 이용하여 데이터의 오류 정정과 동시에 정정 능력 이상 유무를 판단할 수 있으므로 면적 효율 및 시간 효율을 증가시킬 수 있다.
메모리 영역(140)은 메모리 컨트롤러(120)에 제어되어 데이터의 프로그램, 소거 및 리드 동작이 수행된다. 여기서, 메모리 영역(140)은 낸드(NAND) 플래시 메모리일 수 있으며, 설명의 편의상 하나의 낸드 플래시 메모리로 예시하나, 다수의 낸드 플래시 메모리 일 수 있음은 물론이다.
도 2는 도 1에 따른 ECC 회로부(130)와 메모리 영역(140)의 관계 블록도, 도 3 및 도 4는 도 2에 따른 데이터의 자료 구조를 개념적으로 도시한 블록도이다.
도 2 내지 도 4를 참조하면, 본 발명의 일 실시예에 따른 ECC 회로부(130)는 ECC 코덱(ECC CoDec; 131) 및 에러 위치 해석 블록(Error Location Solving Block; 136)을 포함한다.
우선, ECC 코덱(131)은 ECC 인코더(132), 저장부(133), 비교부(134) 및 ECC 디코더(135)를 포함한다. ECC 디코더(135)는 에러 검출기(135a) 및 에러 정정기(135b)를 포함한다.
또한, 에러 위치 해석 블록(136)은 신드롬 생성부(137), 위치 계수 생성부(138) 및 위치 추적부(139)를 포함한다.
보다 자세히 설명하면, 라이트 모드시, ECC 인코더(132)는 호스트 인터페이스(도 1의 110 참조)로부터 제공되는 입력 데이터(DIN)를 인코딩하여 도 3의 (a)와 같이 셀 데이터(data) 및 제 1 패리티(P1)를 생성한다. 셀 데이터(data)는 메모리 영역(140)에 저장되나 제 1 패리티(P1)는 ECC 코덱(131) 내 저장부(133)에 저장된다.
또한, 본 발명의 일 실시예에 따르면, 리드 모드시, ECC 인코더(132)는 메모리 영역(140)으로부터 리드한 셀 데이터(data)를 인코딩하여 도 3의 (b)와 같이 제 2 패리티(P2)를 추가로 생성한다. 이 때, 새롭게 인코딩된 데이터는 저장하지 않아도 무방하나, 제 2 패리티(P2)는 저장부(133)에 저장한다.
또한, 이후에 후술되겠지만, ECC 인코더(132)는 에러 정정기(135b)에 의해 정정된 데이터(cor_data)를 인코딩하여 도 3의 (c)와 같이 제 4 패리티(P4)를 생성한다. 생성된 제 4 패리티(P4)도 저장부(133)에 저장된다.
이와 같이, 본 발명의 일 실시예에서는 ECC 인코더(132)가 통상의 라이트 모드시 이용하는 것 외에도 리드 모드시에도 이용되도록 제어하여, 리드 모드시 생성된 제 2 패리티(P2) 및 제 4 패리티(P4)를 이용해 정정 불가 데이터의 유무 또는 에러 정정 범위 이상 유무를 판별할 수 있다.
저장부(133)는 전술한 바와 같이 제 1 내지 제 4 패리티(P1-P4)를 저장한다. 이러한 저장부(133)는 플립 플롭(flip flop)을 이용하거나 래치(latch) 회로를 이 용할 수 있다.
비교부(134)는 제 1 및 제 2 패리티(P1, P2)를 비교하여 그 값이 일치하는지 여부를 판단하여 비교 정보 신호(info)를 제공한다. 또한, 제 3 및 제 4 패리티(P3, P4)를 비교하여 그 값이 일치하는지 여부를 판단하여 정정 결과 신호(ECC_result)를 제공한다. 여기서, 비교 정보 신호(info)는 ECC 디코더(135)의 에러 정정을 위한 신호이며, 정정 결과 신호(ECC_result)는 정정 능력 이상 유무를 판단하는 신호가 된다. 이러한 비교부(134)는 예컨대 복수개의 배타적 오어 게이트(EXOR)를 포함할 수 있다.
ECC 디코더(135)는 리드 모드시, 메모리 영역(140)으로부터 리드한 셀 데이터(data)의 오류 유무의 결과에 따라 데이터를 정정하여 출력 데이터(DOUT)로서 제공한다. 이러한 ECC 디코더(135)는 통상의 ECC 디코더이므로 간단히 설명하기로 한다. 즉, 에러 검출기(135a)는 에러 위치 해석 블록(136)으로부터의 위치 추적 완료 신호(f-done)를 수신하여 에러 위치를 검출한다. 또한, 에러 정정기(135b)는 에러 검출기(135a)의 결과에 따라 검출된 에러 위치의 데이터를 정정하여, 정정된 데이터(cor-data) 및 정정된 데이터(cor_data)에 따른 제 3 패리티(P3)를 제공한다.
한편, 신드롬 생성부(137)는 비교 결과 신호(info)에 응답하여 복수 비트의 신드롬(syndrome)을 생성한다. 여기서, 신드롬 생성부(137)는 통상의 신드롬 생성부와 달리, 패리티 결과에 따른 비교 결과 신호(info)에 응답한다. 즉, 종래의 신드롬 생성부는 셀 데이터(data)를 이용해서 생성하므로, 데이터의 길이만큼 신드롬 생성을 위한 수행 횟수(cycle)가 필요했다. 하지만 본 발명의 일 실시예에 따른 신 드롬 생성부(137)는 비교 결과 신호(info)에 따라 신드롬을 생성하므로 수행 시간이 감소된다.
위치 계수 생성부(138)는 위치 추적 연산을 위한 복수의 계수를 생성한다. 위치 계수 생성부(138)는 통상의 SiMBA 툴(tool)을 이용할 수 있다.
위치 추적부(139)는 위치 계수 생성부(138)로부터 생성된 위치 계수들을 이용해 에러 위치를 찾는다. 이러한 위치 추적부(139)는 치엔(Chien) 알고리즘(algorithm)을 이용하여 에러 위치를 연산할 수 있다. 그리하여, 위치 추적부(139)의 위치 연산이 완료되면 위치 추적 완료 신호(f-done)를 제공한다.
다음으로, ECC 회로부(130)의 동작을 설명하기로 한다.
라이트 모드시, ECC 인코더(132)가 입력 데이터(DIN)를 인코딩하여 셀 데이터(data) 및 제 1 패리티(P1)를 제공한다. 제 1 패리티(P1)는 저장부(133)에 저장된다.
이후, 리드 모드시, 메모리 영역(140)으로부터 셀 데이터(data)를 리드하고, 저장부(133)에 저장된 제 1 패리티(P1)를 동시에 리드한다(도 4의 ①참조).
이 때, 리드한 셀 데이터(data)의 오류 유무를 판단하기 위하여, 본 발명의 일 실시예에서는 리드한 셀 데이터를 ECC 인코더(132)를 통해 재차 인코딩하고, 그 때의 패리티, 즉 제 2 패리티(P2)를 생성한다(도 4의 ②참조).
그리하여, 비교부(134)에서 제 1 및 제 2 패리티(P1, P2)를 비교하여 일치 여부를 판단한다. 제 1 패리티(P1)는 전술한 바와 같이, 라이트시 인코딩한 셀 데이터(data)에 따른 패리티이며, 제 2 패리티(P2)는 리드한 셀 데이터(data)에 따른 패리티이다. 그리하여, 만약 제 1 및 제2 패리티(P1, P2)가 일치하면, 리드한 셀 데이터(data)와 라이트시 인코딩한 셀 데이터(data)가 일치하는 것을 의미하므로, 데이터의 오류가 없음을 알 수 있다. 이때의 비교 정보 신호(info)는 0값을 가질 수 있다.
그러나, 제 1 및 제2 패리티(P1, P2)가 일치하지 않으면, 데이터에 오류가 있음을 알리도록 1 값을 갖는 비교 정보 신호(info)를 제공한다.
상기의 비교 정보 신호(info)결과에 따라 에러 위치 해석 블록(136)의 결과 신호(f-done)에 따라 에러 검출기(135a)에서 에러 위치를 검출하고, 에러 정정기(135b)에서 에러를 정정하여, 정정된 데이터(cor_data) 및 제 3 패리티(P3)를 생성한다(도 4의 ③ 참조).
본 발명의 일 실시예에서는 데이터의 오류를 정정함과 동시에 다시 정정된 데이터에 대해 인코딩을 실시하여 제 4 패리티(P4)를 생성한다(도 4의 ④ 참조).
이 때, 비교부(134)는 제 3 및 제 4 패리티(P3, P4)를 비교하여 정정 결과 신호(ECC_result)를 제공한다. 즉, 비교부(134)의 1차 비교시에는 데이터 오류가 있음을 판단함으로써 정정된 데이터(cor_data) 및 그에 따른 제 3 패리티(P3)를 제공한다. 그리하여, 이후에는 정정된 데이터(cor_data)에 대한 추가의 오류가 있는지 여부를 확인하도록 정정된 데이터(cor_data)를 다시 한번 인코딩한다. 환언하면, 데이터의 오류에 대해서 한번의 정정 후, 추가의 정정 사항이 있는지 2차 비교하여, 추가의 정정 비트가 있는지 판별한다. 이에 따라, 따라서, 제 3 및 제 4 패리티(P3, P4)가 일치하면 에러 데이터 비트가 ECC 회로부(130)의 정정 능력 이내이 므로, 데이터 정정이 잘 되었음을 알 수 있다. 그러나, 제 3 및 제 4 패리티(P3, P4)가 일치하지 않는다면, 이미 1차 데이터 오류 정정에도 불구하고 여전히 정정되지 않은 에러 데이터 비트가 존재함을 의미하므로, 이는 ECC 회로부(130)의 정정 범위를 초과함을 의미한다. 이로써, 전원 불량 발생을 감지하여 해당 디바이스의 동작 수행을 중지시킬 수 있게 된다.
도 5는 도 1에 따른 반도체 메모리 시스템(100)의 동작을 나타낸 순서도이다.
도 1 내지 도 5를 참조하면, 우선, 라이트 모드시 입력 데이터(DIN)를 인코딩하여 셀 데이터(data) 및 제 1 패리티(P1)를 생성한다. 이 후, 리드 모드시, 해당 셀의 데이터(data)를 리드하고 저장부(133)에 저장된 제 1 패리티(P1)를 리드한다.
이 때, 본 발명의 일 실시예에 따르면, 해당 셀 데이터(data)를 리드하여 인코딩한다(S10). 해당 셀 데이터(data)를 리드하여 인코딩시 제 2 패리티(P2)를 생성한다.
그리하여, 리드 모드시, 리드한 데이터 인코딩 결과의 제 2패리티(P2)와 라이트 모드시, 라이트한 데이터 인코딩 결과의 제 1패리티(P1)가 일치하는지 비교한다(S20).
만약, 상기의 비교 결과가 일치하면(Y) 에러 없음을 감지한다(S90).
그러나, 만약 상기 비교 결과가 일치하지 않으면(N) 비교 결과에 따라 신드롬을 생성하고(S30), 에러 위치를 추적한다(S40). 물론, 에러 위치를 추적하는 것 에는 신드롬을 이용해 위치 계수를 생성하고 이를 이용해 위치 추적 알고리즘을 수행하는 것을 포함한다.
에러 위치 추적 결과에 따라 리드한 셀 데이터(data)의 에러 정정과 함께 동시에 정정된 데이터(cor_data)를 인코딩하고 제 4 패리티(P4)를 생성한다(S50).
그리하여, 정정된 데이터(cor_dat)에 따른 제 3 패리티(P3)와 정정된 데이터(cor_dat)의 인코딩 결과에 따른 제 4패리티(P4)의 일치 여부를 비교한다(S60).
만약, 상기의 비교 결과가 일치하면(Y) 데이터의 에러 정정이 성공(S70)한 것이고, 상기의 비교 결과가 일치하지 않으면(N) 이는 ECC 회로부(130)의 에러 정정 범위를 초과(S80)하는 것이다.
이와 같이, 본 발명의 일 실시예에 따르면, ECC 회로부(130)의 인코더를 라이트 시 외에 리드시에도 적절하게 이용함으로써, 별도의 정정 엔진(engine)을 구비하지 않아도 데이터의 에러 정정과 동시에 에러 정정 범위 초과 유무를 쉽게 판단할 수 있다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 일 실시예에 따른 반도체 메모리 시스템의 블록도,
도 2는 도 1에 따른 ECC 회로부의 블록도,
도 3및 도 4는 도 2에 따른 데이터 자료 구조를 개념적으로 나타낸 블록도, 및
도 5는 본 발명의 일 실시예에 따른 반도체 메모리 시스템의 제어 방법을 나타낸 플로우 차트이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 호스트 인터페이스 120: 메모리 컨트롤러
130: ECC 회로부 140: 메모리 영역

Claims (19)

  1. 복수의 셀을 포함하는 메모리 영역; 및
    리드 모드에서 상기 메모리 영역의 셀 데이터 및 상기 셀 데이터의 정정된 데이터를 각각 인코딩한 결과에 따라 각각 생성된 패리티를 이용함으로써 정정 불가 에러 데이터의 존재 유무를 판단하는 ECC 회로부를 포함하는 반도체 메모리 시스템.
  2. 제 1항에 있어서,
    상기 ECC 회로부는,
    라이트 모드시, 외부 데이터를 인코딩하여 제 1 패리티를 생성하고,
    상기 리드 모드시, 상기 셀 데이터를 인코딩하여 제 2 패리티를 생성하고,
    상기 리드 모드시, 상기 셀 데이터를 정정하면서 제 3 패리티를 생성하고,
    상기 정정된 데이터를 인코딩하여 제 4 패리티를 생성하는 반도체 메모리 시스템.
  3. 제 2항에 있어서,
    상기 ECC 회로부는,
    상기 제 1 및 상기 제 2 패리티를 비교하고,
    상기 제 3 및 상기 제 4 패리티를 각각 비교하는 반도체 메모리 시스템.
  4. 제 3항에 있어서,
    상기 ECC 회로부는,
    상기 제 1 및 상기 제 2 패리티가 일치하지 않으면 상기 외부 데이터와 리드시의 상기 셀 데이터간의 오류를 감지하고,
    상기 제 3 및 상기 제 4 패리티가 일치하지 않으면 상기 ECC 회로부의 정정 불가 에러 데이터의 존재 유무를 감지하는 반도체 메모리 시스템.
  5. 복수의 셀을 포함하는 메모리 영역;
    라이트시 외부 데이터를 인코딩하는 ECC 인코더를 포함하며, 리드시 상기 ECC 인코더를 이용하여 상기 메모리 영역의 셀 데이터를 인코딩하여 상기 셀 데이터의 오류를 정정하고, 상기 오류가 정정된 셀 데이터를 상기 ECC 인코더를 이용하여 인코딩하여 정정 불가 에러 데이터의 존재 유무를 판단하는 ECC 코덱(CoDec); 및
    상기 해당 셀 데이터의 오류를 정정하도록 상기 해당 셀의 에러 데이터의 위치를 제공하는 에러 위치 해석 블록을 포함하는 반도체 메모리 시스템.
  6. 제 5항에 있어서,
    상기 ECC 코덱은,
    상기 라이트시 및 상기 리드시에 모두 동작되어 각각의 경우에 따른 복수의 패리티를 제공하는 상기 ECC 인코더;
    상기 복수의 패리티가 저장되는 저장부;
    상기 복수의 패리티를 비교하는 비교부; 및
    상기 에러 위치 해석 블록의 결과 신호에 따라 상기 해당 셀 데이터의 오류를 정정하는 ECC 디코더를 포함하는 반도체 메모리 시스템.
  7. 제 6항에 있어서,
    상기 ECC 인코더는,
    상기 라이트 시, 상기 외부 데이터를 인코딩하여 제 1 패리티를 생성하고,
    상기 리드 시, 해당 셀 데이터를 인코딩하여 제 2 패리티를 생성하고,
    상기 해당 셀 데이터의 정정된 데이터를 인코딩하여 제 4 패리티를 생성하고,
    상기 ECC 디코더는 상기 해당 셀 데이터의 오류를 정정하여 정정된 데이터 및 제 3 패리티를 생성하는 반도체 메모리 시스템.
  8. 제 7항에 있어서,
    상기 저장부는,
    상기 제 1 내지 제 4 패리티를 저장하는 반도체 메모리 시스템.
  9. 제 7 항에 있어서,
    상기 비교부는,
    상기 제 1 및 상기 제 2 패리티를 비교하고,
    상기 제 3 및 상기 제 4 패리티를 비교하는 반도체 메모리 시스템.
  10. 제 9항에 있어서,
    상기 비교부는,
    상기 제 1 및 상기 제 2 패리티가 일치하지 않으면 상기 외부 데이터와 리드시의 상기 셀 데이터간의 오류를 감지하고,
    상기 제 3 및 상기 제 4 패리티가 일치하지 않으면 에러 데이터의 정정 범위 이상 유무를 판단하는 반도체 메모리 시스템.
  11. 제 9항에 있어서,
    상기 에러 위치 해석 블록은,
    상기 비교부의 비교 결과에 따라 에러 위치 계수를 생성하고, 상기 에러 위치 계수를 연산하여 상기 해당 셀 데이터의 위치를 추적하는 반도체 메모리 시스템.
  12. 제 11항에 있어서,
    상기 에러 위치 해석 블록은 신드롬 생성부를 포함하며,
    상기 신드롬 생성부는 상기 제 1 및 제 2 패리티의 비교 결과에 응답하여 에러 위치 연산용 신드롬을 생성하는 반도체 메모리 시스템.
  13. 복수의 셀을 포함하는 메모리 영역;
    라이트 모드에서 외부 데이터를 인코딩하여 생성된 패리티와 리드 모드에서 해당 셀 데이터를 인코딩하여 생성된 패리티를 1차 비교하고, 상기 해당 셀 데이터의 오류를 정정하며 생성된 패리티와 정정된 데이터를 인코딩하여 생성된 패리티를 2차 비교하는 ECC 코덱(CoDec); 및
    상기 1차 비교 결과에 응답하여 상기 해당 셀 데이터의 오류를 정정하도록 상기 해당 셀의 에러 데이터의 위치를 제공하는 에러 위치 해석 블록을 포함하는 반도체 메모리 시스템.
  14. 제 13항에 있어서,
    상기 ECC 코덱은,
    상기 리드 모드에서 상기 해당 셀 데이터 및 상기 정정된 데이터를 각각 인코딩하는 ECC 인코더;
    상기 패리티들이 저장되는 저장부;
    상기 패리티들을 비교하는 비교부; 및
    상기 에러 위치 해석 블록의 결과 신호에 따라 상기 해당 셀 데이터의 오류를 정정하여 상기 정정된 데이터를 생성하는 ECC 디코더를 포함하는 반도체 메모리 시스템.
  15. 제 14항에 있어서,
    상기 ECC 인코더는,
    상기 라이트 모드시, 상기 외부 데이터를 인코딩하여 제 1 패리티를 생성하는 것을 더 포함하고,
    상기 리드 모드시, 상기 해당 셀 데이터를 인코딩하여 제 2 패리티를 생성하고,
    상기 해당 셀 데이터의 정정된 데이터를 인코딩하여 제 4 패리티를 생성하고,
    상기 ECC 디코더는 제 3 패리티를 생성하는 반도체 메모리 시스템.
  16. 제 15항에 있어서,
    상기 비교부는,
    상기 제 1 및 상기 제 2 패리티가 일치하지 않으면 상기 외부 데이터와 리드시의 상기 셀 데이터간의 오류를 감지하고,
    상기 제 3 및 상기 제 4 패리티가 일치하지 않으면 에러 데이터의 정정 범위 이상 유무를 판단하는 반도체 메모리 시스템.
  17. 해당 셀 데이터를 리드하여 인코딩하여 패리티를 생성하는 단계;
    라이트시의 인코딩 결과에 따른 패리티와 상기 리드시 해당 셀 데이터의 인코딩 결과에 따른 패리티를 비교하는 단계;
    상기 비교 결과에 따라 에러 위치를 추적하는 단계;
    상기 에러 위치 추적의 결과에 따라 해당 셀 데이터의 에러를 정정하고, 정정된 데이터를 인코딩하여 패리티를 생성하는 단계; 및
    상기 정정된 데이터에 따른 패리티와 상기 정정된 데이터의 인코딩에 따른 패리티를 비교하는 단계를 포함하는 반도체 메모리 시스템의 제어 방법.
  18. 제 17항에 있어서,
    상기 라이트시의 인코딩 결과에 따른 패리티와 상기 리드시 해당 셀 데이터의 인코딩 결과에 따른 패리티가 일치하지 않으면 상기 라이트시의 데이터와 상기 리드시의 데이터간에 오류가 있음을 판단하는 반도체 메모리 시스템의 제어 방법.
  19. 제 17항에 있어서,
    상기 정정된 데이터에 따른 패리티와 상기 정정된 데이터의 인코딩에 따른 패리티의 비교 결과가 일치하지 않으면, 상기 정정된 데이터에는 추가의 오류가 있음을 감지하는 반도체 메모리 시스템의 제어 방법.
KR1020090069606A 2009-07-29 2009-07-29 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법 KR101062755B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090069606A KR101062755B1 (ko) 2009-07-29 2009-07-29 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법
US12/647,333 US8713407B2 (en) 2009-07-29 2009-12-24 Semiconductor memory system having ECC circuit and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090069606A KR101062755B1 (ko) 2009-07-29 2009-07-29 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20110012061A KR20110012061A (ko) 2011-02-09
KR101062755B1 true KR101062755B1 (ko) 2011-09-06

Family

ID=43528125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090069606A KR101062755B1 (ko) 2009-07-29 2009-07-29 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법

Country Status (2)

Country Link
US (1) US8713407B2 (ko)
KR (1) KR101062755B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190042013A (ko) * 2016-08-23 2019-04-23 텍사스 인스트루먼츠 인코포레이티드 결함 탐지를 가진 오류 정정 하드웨어

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8652593B2 (en) 2009-12-17 2014-02-18 International Paper Company Printable substrates with improved brightness from OBAs in presence of multivalent metal salts
US8574690B2 (en) 2009-12-17 2013-11-05 International Paper Company Printable substrates with improved dry time and acceptable print density by using monovalent salts
US8608908B2 (en) 2010-04-02 2013-12-17 International Paper Company Method and system using low fatty acid starches in paper sizing composition to inhibit deposition of multivalent fatty acid salts
US8440053B2 (en) 2010-04-02 2013-05-14 International Paper Company Method and system using surfactants in paper sizing composition to inhibit deposition of multivalent fatty acid salts
KR20130012737A (ko) * 2011-07-26 2013-02-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이를 포함하는 반도체 시스템
US8996936B2 (en) 2011-12-08 2015-03-31 Sandisk Technologies Inc. Enhanced error correction in memory devices
KR20140099689A (ko) 2013-02-04 2014-08-13 삼성전자주식회사 불휘발성 메모리 셀 어레이를 포함하는 반도체 메모리 장치
US9690652B2 (en) * 2015-01-16 2017-06-27 Kabushiki Kaisha Toshiba Search device and search method searching data based on key
JP6297000B2 (ja) * 2015-01-16 2018-03-20 東芝メモリ株式会社 検索装置
TWI541809B (zh) * 2015-04-24 2016-07-11 群聯電子股份有限公司 資料存取方法、記憶體控制電路單元與記憶體儲存裝置
EP3669460A4 (en) 2017-08-18 2021-05-19 Nokia Solutions and Networks Oy USING LDPC BASIC GRAPHICS FOR NR
KR20190054533A (ko) * 2017-11-14 2019-05-22 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR102410021B1 (ko) * 2017-11-20 2022-06-21 에스케이하이닉스 주식회사 메모리 컨트롤러 및 메모리 모듈을 갖는 메모리 시스템 및 그 메모리 시스템에서의 데이터 처리 방법
KR20220068831A (ko) * 2020-11-19 2022-05-26 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
CA3195148A1 (en) * 2020-12-04 2022-06-09 Lab2Fab, Llc Automated food delivery

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100891332B1 (ko) * 2007-03-30 2009-03-31 삼성전자주식회사 에러 정정 부호화기를 이용하여 에러를 체크하는 bch에러 정정 방법 및 회로

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668976A (en) 1993-11-04 1997-09-16 Cirrus Logic, Inc. Error correction method and apparatus for disk drive emulator
JP3937214B2 (ja) 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
US6990623B2 (en) * 2001-05-16 2006-01-24 Fujitsu Limited Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
US6957378B2 (en) * 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2005242797A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd エラー訂正回路
WO2006062959A2 (en) 2004-12-08 2006-06-15 Smiths Aerospace, Inc. System and method for enhanced error detection in memory peripherals
JP4936746B2 (ja) * 2006-03-08 2012-05-23 ルネサスエレクトロニクス株式会社 半導体装置
US7739576B2 (en) 2006-08-31 2010-06-15 Micron Technology, Inc. Variable strength ECC
TW200828328A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method of improving accessing reliability of flash memory
KR100856129B1 (ko) * 2006-12-29 2008-09-03 삼성전자주식회사 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치
US20100332922A1 (en) * 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100891332B1 (ko) * 2007-03-30 2009-03-31 삼성전자주식회사 에러 정정 부호화기를 이용하여 에러를 체크하는 bch에러 정정 방법 및 회로

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190042013A (ko) * 2016-08-23 2019-04-23 텍사스 인스트루먼츠 인코포레이티드 결함 탐지를 가진 오류 정정 하드웨어
KR102267860B1 (ko) 2016-08-23 2021-06-23 텍사스 인스트루먼츠 인코포레이티드 결함 탐지를 가진 오류 정정 하드웨어
KR20210076195A (ko) * 2016-08-23 2021-06-23 텍사스 인스트루먼츠 인코포레이티드 결함 탐지를 가진 오류 정정 하드웨어
KR102399843B1 (ko) * 2016-08-23 2022-05-20 텍사스 인스트루먼츠 인코포레이티드 결함 탐지를 가진 오류 정정 하드웨어
US11372715B2 (en) 2016-08-23 2022-06-28 Texas Instruments Incorporated Error correction hardware with fault detection
US11740968B2 (en) 2016-08-23 2023-08-29 Texas Instruments Incorporated Error correction hardware with fault detection

Also Published As

Publication number Publication date
US8713407B2 (en) 2014-04-29
KR20110012061A (ko) 2011-02-09
US20110029841A1 (en) 2011-02-03

Similar Documents

Publication Publication Date Title
KR101062755B1 (ko) Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법
US8671250B2 (en) Data storage device generating redundancy for data path protection of a parity sector
TWI674767B (zh) 用於nand快閃記憶體的渦輪乘積碼
US8694849B1 (en) Shuffler error correction code system and method
US10803971B2 (en) Device for supporting error correction code and test method thereof
US9110827B2 (en) Error detection and correction apparatus, mismatch detection apparatus, memory system and error detection and correction method
TWI494923B (zh) 使用交錯方式的記憶體系統及其方法
KR20140013095A (ko) 데이터 무결성을 제공하기 위한 방법 및 장치
JP2011198272A (ja) 半導体記憶装置および半導体記憶装置の制御方法
US10404283B2 (en) Method and associated decoding circuit for decoding an error correction code
TWI446160B (zh) 快閃記憶體控制器及資料讀取方法
KR20180089104A (ko) 메모리 모듈, 이를 포함하는 메모리 시스템 및 이의 에러 정정 방법
TW201331946A (zh) 使用錯誤校正碼編碼以驗證錯誤校正碼解碼操作
TW201515000A (zh) 二次組態記憶體裝置之錯誤更正碼方法與裝置
KR20170135691A (ko) 복수의 데이터 비트와 복수의 어드레스 비트로 이루어진 블록용 에러 코드 발생장치 및 방법
TWI564904B (zh) 資料處理方法、記憶體控制電路單元以及記憶體儲存裝置
US10514980B2 (en) Encoding method and memory storage apparatus using the same
JP2019057752A (ja) メモリシステム
CN108511028B (zh) 利用纠错码自动校正访问存储装置数据的装置及方法
CN108241549B (zh) 基于ECC的NAND数据Read Retry纠错方法和NAND控制器
US20100070821A1 (en) Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page
KR101527690B1 (ko) 낸드 플래시 메모리 테스트 인터페이스 장치 및 그 운용방법
US9280412B2 (en) Memory with error correction configured to prevent overcorrection
TWI698881B (zh) 編碼方法及使用所述編碼方法的記憶體儲存裝置
CN105095011A (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
FPAY Annual fee payment

Payment date: 20140723

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150721

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160721

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170724

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180725

Year of fee payment: 8