KR100737912B1 - 반도체 메모리 장치의 에러 검출 및 정정 회로 - Google Patents

반도체 메모리 장치의 에러 검출 및 정정 회로 Download PDF

Info

Publication number
KR100737912B1
KR100737912B1 KR1020050095551A KR20050095551A KR100737912B1 KR 100737912 B1 KR100737912 B1 KR 100737912B1 KR 1020050095551 A KR1020050095551 A KR 1020050095551A KR 20050095551 A KR20050095551 A KR 20050095551A KR 100737912 B1 KR100737912 B1 KR 100737912B1
Authority
KR
South Korea
Prior art keywords
ecc
circuit
error detection
detection correction
signal
Prior art date
Application number
KR1020050095551A
Other languages
English (en)
Other versions
KR20070040157A (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 KR1020050095551A priority Critical patent/KR100737912B1/ko
Priority to US11/545,867 priority patent/US20070094571A1/en
Publication of KR20070040157A publication Critical patent/KR20070040157A/ko
Application granted granted Critical
Publication of KR100737912B1 publication Critical patent/KR100737912B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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
    • H03M13/091Parallel or block-wise CRC computation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 반도체 메모리 장치의 에러 검출 및 정정 회로(이하, ECC 회로)에 관한 것이다. 본 발명에 따른 ECC 회로는 직렬 연결된 제 1 내지 제 m(m은 자연수) ECC 엔진과 상기 제 m ECC 엔진의 출력 데이터를 입력받고, 클록 신호에 응답하여 에러 검출 정정 신호를 출력하며, 상기 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공하는 플립플롭을 포함한다. 각각의 ECC 엔진은 앞 단의 ECC 엔진에서 제공된 출력 데이터 및 ECC 데이터 입력 회로에서 제공된 n(n은 자연수) 비트 데이터를 입력받는다. 본 발명에 따른 ECC 회로에 의하면, m개의 종래의 n_비트 ECC 엔진을 직렬 연결하여 m*n 비트 데이터를 처리할 수 있다.

Description

반도체 메모리 장치의 에러 검출 및 정정 회로 {ECC CIRCUIT OF SEMICONDUCTOR MEMORY DEVICE }
도 1은 종래 기술에 따른 ECC 회로를 보여주는 블록도이다.
도 2는 본 발명에 따른 ECC 회로의 실시예를 보여주는 블록도이다.
도 3은 도 2에 도시된 ECC 회로를 예시적으로 보여주는 블록도이다.
도 4는 본 발명에 따른 ECC 회로의 다른 실시예를 보여주는 블록도이다.
도 5는 본 발명에 따른 ECC 회로의 또 다른 실시예를 보여주는 블록도이다.
*도면의 주요부분에 대한 부호의 설명*
100, 200, 300, 400, 500: ECC 회로
101, 201~20m, 301~302, 401~40m, 501~50m: n_비트 ECC 엔진
110, 210, 310, 411, 41m, 511, 51m: 플립플롭
120, 220, 320: ECC 데이터 입력 회로
421, 521: 제 1 선택회로
521, 522: 제 2 선택회로
본 발명은 반도체 메모리 장치에 관한 것으로, 더욱 상세하게는 반도체 메모리 장치의 에러 검출 및 정정 회로(이하, ECC 회로)에 관한 것이다.
반도체 메모리 장치는 데이터를 저장해 두고 필요할 때 꺼내어 읽어볼 수 있는 기억장치이다. 반도체 메모리 장치는 크게 RAM(Random Access Memory)과 ROM(Read Only Memory)으로 나눌 수 있다. RAM은 전원이 끊어지면 저장된 데이터가 소멸하는 소위 휘발성 메모리(volatile memory)이다. RAM에는 Dynamic RAM(DRAM)과 Static RAM(SRAM) 등이 있다. ROM은 전원이 끊어지더라도 저장된 데이터가 소멸하지 않는 불휘발성 메모리(nonvolatile memory)이다. ROM에는 PROM(Programmable ROM), EPROM(Erasable PROM), EEPROM(Electrically EPROM), 플래시 메모리 장치(Flash Memory Device) 등이 있다. 플래시 메모리 장치(Flash Memory Device)는 일반적으로 낸드 플래시 메모리 장치(NAND Flash Memory Device), 노아 플래시 메모리 장치(NOR Flash Memory Device) 등으로 구분된다.
반도체 메모리 장치는 그 특성상 비트 에러가 발생할 수 있기 때문에 에러를 검출하고 정정하는 것이 필요하다. 이를 위해 사용되는 것이 에러 검출 및 정정 회로, 즉 ECC(Error Correction Code) 회로이다. ECC 회로는 데이터를 프로그램할 때 에러를 검출하고 정정하기 위한 패러티(parity)를 생성한다. ECC 회로에서 생성된 패러티는 프로그램 데이터와 함께 메모리 셀에 프로그램된다. 그리고 메모리 셀에 프로그램된 데이터를 읽을 때, ECC 회로는 읽은 데이터로부터 다시 패러티(parity)를 생성한다. 반도체 메모리 장치는 프로그램 동작 시에 생성된 패러티와 읽기 동작 시에 생성된 패러티를 비교하여 데이터의 에러를 검출 및 정정한다.
도 1은 종래 기술에 따른 ECC 회로를 보여주는 블록도이다. 도 1을 참조하면, 종래의 ECC 회로(100)는 n_비트(n은 자연수) ECC 엔진(101)과 플립플롭(F/F)(110)을 포함한다. n_비트 ECC 엔진(101)은 ECC 데이터 입력 회로(120)로부터 n_비트 데이터를 입력받는다.
종래의 ECC 회로(100)는 ECC 데이터 입력 회로(120)에서 제공되는 데이터 비트 수에 맞게 설계된다. 즉, 종래의 ECC 회로(100)는 8_비트 또는 16_비트 데이터를 입력받도록 설계된다. 따라서 ECC 데이터 입력 회로(120)에서 제공하는 데이터 비트 수가 증가하면, 기존의 ECC 회로는 사용할 수 없게 된다. 즉, 종래의 ECC 회로(100)는 ECC 데이터 입력 회로(120)에서 제공하는 데이터 비트 수를 증가할 때마다 ECC 엔진(101)을 새롭게 설계해야 하는 문제점을 갖는다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 m개(m은 자연수)의 n_비트 ECC 엔진을 사용하여 m*n_비트 데이터를 처리할 수 있는 ECC 회로를 제공하는 데 있다. 또한, 본 발명의 다른 목적은 m개의 n_비트 ECC 엔진을 사용하여 i*n_비트 데이터(i는 1과 m 사이의 자연수)를 처리할 수 있는 ECC 회로를 제공하는 데 있다.
본 발명에 따른 반도체 메모리 장치의 에러 검출 및 정정 회로(이하, ECC 회로)는 직렬 연결된 제 1 내지 제 m(m은 자연수) ECC 엔진; 및 상기 제 m ECC 엔진의 출력 데이터를 입력받고, 클록 신호에 응답하여 에러 검출 정정 신호를 출력하 며, 상기 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공하는 플립플롭을 포함하되, 각각의 ECC 엔진은 앞 단의 ECC 엔진에서 제공된 출력 데이터 및 ECC 데이터 입력 회로에서 제공된 n(n은 자연수) 비트 데이터를 입력받는다.
실시예로서, 상기 ECC 회로와 상기 ECC 데이터 입력 회로는 m*n 비트의 버스를 통해 연결된다. 그리고 상기 각각의 ECC 엔진은 동일 클록 신호에 의해 상기 ECC 데이터 입력 회로로부터 각각 n 비트 데이터를 입력받는다.
본 발명에 따른 ECC 회로의 다른 일면은, ECC 데이터 입력 회로로부터 n_비트 데이터를 입력받고, 제 1 에러 검출 정정 신호를 발생하는 제 1 ECC 엔진; 상기 제 1 에러 검출 정정 신호 및 상기 ECC 데이터 입력 회로부터 n_비트 데이터를 입력받고, 제 2 에러 검출 정정 신호를 발생하는 제 2 ECC 엔진; 및 클록 신호에 응답하여 상기 제 2 에러 검출 정정 신호를 출력하는 플립플롭을 포함하되, 상기 플립플롭은 상기 클록 신호에 응답하여 상기 제 2 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공한다.
실시예로서, 상기 제 1 ECC 엔진은 상기 제 2 에러 검출 정정 신호 및 상기 ECC 데이터 입력 회로로부터 n_비트 데이터를 입력받고, 제 1 에러 검출 정정 신호를 발생한다. 상기 ECC 회로와 상기 ECC 데이터 입력 회로는 2n_비트의 버스를 통해 연결된다. 상기 제 1 및 제 2 ECC 엔진은 동일 클록 신호에 의해 상기 ECC 데이터 입력 회로로부터 각각 n 비트 데이터를 입력받는다.
본 발명에 따른 ECC 회로의 또 다른 일면은, 직렬 연결되며, ECC 데이터 입력 회로로부터 각각 n_비트 데이터(n은 자연수)를 입력받는 제 1 내지 제 m ECC 엔 진(m은 자연수); 및 선택신호에 응답하여 상기 ECC 회로가 i*n_비트 데이터(i는 1과 m 사이의 자연수)를 처리할 수 있도록 하는 선택회로를 포함한다.
실시예로서, 상기 선택회로는 상기 선택신호에 따라 상기 ECC 회로가 n_비트 데이터 또는 m*n_비트 데이터를 처리할 수 있도록 한다. 이를 위해 상기 선택회로는 상기 제 1 ECC 엔진의 출력 데이터를 입력받고, 클록 신호에 응답하여 제 1 에러 검출 정정 신호를 출력하는 제 1 플립플롭; 상기 제 m ECC 엔진의 출력 데이터를 입력받고, 상기 클록 신호에 응답하여 제 m 에러 검출 정정 신호를 출력하는 제 m 플립플롭; 상기 선택신호에 응답하여 상기 제 1 및 제 m 에러 검출 정정 신호 중에서 어느 하나를 상기 제 1 ECC 엔진에 제공하는 제 1 선택회로; 및 상기 선택신호에 응답하여 상기 제 1 및 제 m 에러 검출 정정 신호 중에서 어느 하나를 출력하는 제 2 선택회로를 포함한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
본 발명에 따른 ECC 회로에 의하면, 각각 n_비트 데이터를 입력받는 m개의 ECC 엔진을 직렬로 연결하여 m*n 비트 데이터를 동시에 처리할 수 있다.
도 2는 본 발명의 실시예에 따른 ECC 회로를 보여주는 블록도이다. 도 2를 참조하면, 본 발명에 따른 ECC 회로(200)는 버스(230)를 통해 ECC 데이터 입력 회로(220)와 연결되어 있다. ECC 데이터 입력 회로(220)는 클록 신호(CLK)에 응답하여 버스(230)를 통해 ECC 회로(200)에 m*n 비트 데이터를 제공한다.
도 2를 참조하면, ECC 회로(200)는 m개의 ECC 엔진(201~20m)과 1개의 플립플롭(F/F)(210)을 포함한다. m개의 ECC 엔진(201~20m)은 직렬 연결되어 있고, 각각의 ECC 엔진은 ECC 데이터 입력 회로(220)로부터 각각 n_비트 데이터를 입력받는다.
제 1 ECC 엔진(201)은 ECC 데이터 입력 회로(220)로부터 n_비트 데이터를 입력받고, 제 1 에러 검출 정정 신호(P1)를 발생한다. 제 2 ECC 엔진(202)은 ECC 데이터 입력 회로(220)에서 제공된 n_비트 데이터 및 제 1 ECC 엔진(201)에서 제공된 제 1 에러 검출 정정 신호(P1)를 입력받고, 제 2 에러 검출 정정 신호(P2)를 발생한다. 제 3 ECC 엔진(203)은 ECC 데이터 입력 회로(220)에서 제공된 n_비트 데이터 및 제 2 ECC 엔진(202)에서 제공된 제 2 에러 검출 정정 신호(P2)를 입력받고, 제 3 에러 검출 정정 신호(P3)를 발생한다. 이와 같은 동작은 반복된다. 그리고 제 m ECC 엔진(20m)은 ECC 데이터 입력 회로(220)에서 제공된 n_비트 데이터 및 제 m-1 ECC 엔진에서 제공된 제 m-1 에러 검출 정정 신호(Pm-1)를 입력받고, 제 m 에러 검출 정정 신호(Pm)를 발생한다. 제 1 내지 제 m ECC 엔진(201~20m)은 동일 클록 신호에 의해 ECC 데이터 입력 회로로부터 각각 n_비트 데이터를 입력받는다.
플립플롭(210)은 제 m 에러 검출 정정 신호(Pm)를 입력받고, 클록 신호(CLK)에 응답하여 제 m 에러 검출 정정 신호(Pm)를 출력한다. 한편, 플립플롭(210)은 출력된 제 m 에러 검출 정정 신호(Pm)를 제 1 ECC 엔진(201)에 제공한다.
본 발명에 따른 ECC 회로(200)는 ECC 데이터 입력 회로(220)에서 제공하는 데이터 비트 수가 증가하더라도, 종래의 n_비트 ECC 엔진을 사용하여 증가한 데이터 비트 수를 처리할 수 있다. 즉, 본 발명에 의하면, ECC 데이터 입력 회로(220) 에서 제공하는 데이터 비트 수가 증가할 때마다 ECC 엔진을 새롭게 설계해야 하는 불편을 해소할 수 있다.
도 3은 도 2에 도시된 ECC 회로를 예시적으로 보여주는 블록도이다. 도 3을 참조하면, ECC 회로(300)는 각각 8_비트 데이터를 입력받는 2개의 ECC 엔진을 포함한다. ECC 회로(300)는 ECC 데이터 입력 회로(320)로부터 입력된 16_비트 데이터를 처리할 수 있다.
도 3을 참조하면, ECC 회로(300)는 직렬 연결된 제 1 및 제 2 ECC 엔진(301~302)과 1개의 플립플롭(310)을 포함한다. 제 1 및 제 2 ECC 엔진(301~302)은 각각 8_비트 데이터를 입력받는다. 제 1 ECC 엔진(301)은 ECC 데이터 입력 회로(320)로부터 하위 8_비트 데이터(D[7:0])를 입력받고, 제 1 에러 검출 정정 신호(P1)를 발생한다. 제 2 ECC 엔진(302)은 ECC 데이터 입력 회로(220)에서 제공된 상위 8_비트 데이터(D[15:8]) 및 제 1 ECC 엔진(301)에서 제공된 제 1 에러 검출 정정 신호(P1)를 입력받고, 제 2 에러 검출 정정 신호(P2)를 발생한다. 플립플롭(310)은 제 2 에러 검출 정정 신호(P2)를 입력받고, 클록 신호(CLK)에 응답하여 제 2 에러 검출 정정 신호(P2)를 출력한다. 플립플롭(310)은 출력된 제 2 에러 검출 정정 신호(P2)를 제 1 ECC 엔진(301)에 제공한다.
도 3에 도시된 ECC 회로(300)에 의하면, 2개의 8_비트 ECC 엔진을 직렬로 연결하여 16_비트 데이터를 처리할 수 있다. 종래 기술에 의하면, 16_비트 데이터를 처리하기 위해 16_비트 ECC 엔진을 새롭게 설계해야 한다. 그러나 본 발명에 의하면, 종래의 8_비트 ECC 엔진을 이용하여 16_비트 ECC 엔진을 구현할 수 있다. 이와 같이, 본 발명에 따른 ECC 회로는 m개의 n_비트 ECC 엔진을 직렬 연결하여 m*n 비트 데이터를 처리할 수 있기 때문에 입력되는 비트 수가 증가하더라도 ECC 엔진을 다시 설계할 필요가 없다.
도 4는 본 발명에 따른 ECC 회로의 다른 실시예를 보여주는 블록도이다. 도 4에 도시된 ECC 회로(400)는 제 1 내지 제 m ECC 엔진(401~40m), 제 1 플립플롭(411), 제 m 플립플롭(41m), 제 1 선택회로(421), 그리고 제 2 선택회로(422)를 포함한다. 여기에서, 제 1 내지 제 m ECC 엔진(401~40m)은 도 2에서 설명한 바와 같다.
제 1 플립플롭(411)은 제 1 ECC 엔진(401)으로부터 제 1 에러 검출 정정 신호(P1)를 입력받고, 클록 신호(CLK)에 응답하여 제 1 에러 검출 정정 신호(P1)를 제 1 및 제 2 선택회로(421, 422)에 제공한다. 제 m 플립플롭(41m)은 제 m ECC 엔진(40m)으로부터 제 m 에러 검출 정정 신호(Pm)를 입력받고, 클록 신호(CLK)에 응답하여 제 m 에러 검출 정정 신호(Pm)를 제 1 및 제 2 선택회로(421, 422)에 제공한다.
제 1 선택회로(421)는 선택신호(SEL)에 응답하여 제 1 및 제 m 에러 검출 정정 신호(P1, Pm) 중에서 어느 하나를 제 1 ECC 엔진(401)에 제공한다. 제 2 선택회로(422)는 선택신호(SEL)에 응답하여 제 1 및 제 m 에러 검출 정정 신호(P1, Pm) 중에서 어느 하나를 출력한다.
도 4에 도시된 ECC 회로(400)는 선택신호(SEL)에 따라 n_비트 데이터 또는 m*n_비트 데이터를 처리할 수 있다. 도 4에 도시된 ECC 회로(400)는 필요에 따라 n_비트 ECC 엔진(도 1 참조)으로 사용될 수도 있고, m*n_비트 ECC 엔진(도 2 참조)으로도 사용될 수 있다. 즉, 도 4에 도시된 ECC 회로(400)는 선택신호(SEL)가 "1"인 경우에는 도 1에 도시된 ECC 회로(100)처럼 동작하고, 선택신호(SEL)가 "0"인 경우에는 도 2에 도시된 ECC 회로(200)처럼 동작한다.
이와 마찬가지로, 도 5에 도시된 ECC 회로(500)는 선택신호(SEL)가 "1"인 경우에는 도 3에 도시된 ECC 회로(300)처럼 2n_비트 데이터를 처리할 수 있고, 선택신호(SEL)가 "0"인 경우에는 도 2에 도시된 ECC 회로(200)처럼 m*n_비트 데이터를 처리할 수 있다.
도 4 및 도 5를 참조하면, 본 발명에 따른 ECC 회로는 필요에 따라 n_비트 ECC 엔진, 2n_비트 ECC 엔진, 3n_비트 ECC 엔진, …, m*n_비트 ECC 엔진으로 구현될 수 있다.
위에서 설명한 바와 같이 본 발명에 따른 ECC 회로는 ECC 데이터 입력 회로에서 제공하는 데이터 비트 수가 증가하더라도, 종래의 n_비트 ECC 엔진을 사용하여 증가한 데이터 비트 수를 처리할 수 있다. 즉, 본 발명에 의하면, ECC 데이터 입력 회로에서 제공하는 데이터 비트 수가 증가할 때마다 ECC 엔진을 새롭게 설계해야 하는 불편을 해소할 수 있다.
또한, n_비트 ECC 엔진이 리드-솔로몬(Reed-Solomon) 알고리즘을 사용할 때, 본 발명에 따른 ECC 회로는 패러티 비트의 개수를 줄이는 효과가 있다. 예를 들면, 2_비트 에러를 검출하고 저정하는 8_비트 ECC 엔진을 이용하여 64_비트 ECC 회로를 설계하는 경우를 가정해 보자. 일반적으로, 리드-솔로몬 알고리즘에 의한 ECC 엔진의 패러티 비트 수는 다음과 같이 계산된다.
P=2*T*S (여기에서, T는 에러 정정 수이고, S는 입력 데이터의 비트 수이다.)
먼저, 8_비트 ECC 엔진을 8개 사용하는 경우에, 패러티 비트 수(P1)는 32_ 비트이다. 즉, P1=2*2*8=32이다. 반면에, 64_비트 ECC 엔진을 1개 사용하는 경우에, 패러티 비트 수(P2)는 256_비트이다. 즉, P2=2*2*64=256이다. 이와 같이, 본 발명에 따른 ECC 회로에 의하면, 패러티 비트 수를 줄일 수 있는 장점을 갖는다.
한편, 본 발명의 상세한 설명에서는 바람직한 실시예로서 낸드 플래시 메모리 장치에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 다른 반도체 메모리 장치에서도 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이, 본 발명에 따른 ECC 회로는 m개의 종래의 n_비트 ECC 엔진을 직렬 연결하여 m*n 비트 데이터를 처리할 수 있다. 본 발명에 따른 ECC 회로에 의하면, 입력되는 비트 수가 증가할 때마다 ECC 엔진을 새롭게 설계해야 하는 불편을 해소할 수 있다.

Claims (13)

  1. 반도체 메모리 장치의 에러 검출 및 정정 회로(이하, ECC 회로)에 있어서:
    직렬 연결된 제 1 내지 제 m(m은 자연수) ECC 엔진;
    상기 각각의 ECC 엔진에 n(n은 자연수) 비트 데이터를 제공하는 ECC 데이터 입력 회로; 및
    상기 제 m ECC 엔진의 출력 데이터를 입력받고, 클록 신호에 응답하여 에러 검출 정정 신호를 출력하며, 상기 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공하는 플립플롭을 포함하되,
    각각의 ECC 엔진은 앞 단의 ECC 엔진에서 제공된 출력 데이터를 입력받는 것을 특징으로 하는 ECC 회로.
  2. 제 1 항에 있어서,
    상기 ECC 회로와 상기 ECC 데이터 입력 회로는 m*n 비트의 버스를 통해 연결되는 것을 특징으로 하는 ECC 회로.
  3. 제 1 항에 있어서,
    상기 각각의 ECC 엔진은 동일 클록 신호에 의해 상기 ECC 데이터 입력 회로로부터 각각 n 비트 데이터를 입력받는 것을 특징으로 하는 ECC 회로.
  4. n(n은 자연수) 비트 데이터를 출력하는 ECC 데이터 입력 회로;
    상기 n_비트 데이터를 입력받고, 제 1 에러 검출 정정 신호를 발생하는 제 1 ECC 엔진;
    상기 제 1 에러 검출 정정 신호 및 상기 n_비트 데이터를 입력받고, 제 2 에러 검출 정정 신호를 발생하는 제 2 ECC 엔진; 및
    클록 신호에 응답하여 상기 제 2 에러 검출 정정 신호를 출력하는 플립플롭을 포함하되,
    상기 플립플롭은 상기 클록 신호에 응답하여 상기 제 2 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공하는 ECC 회로.
  5. 제 4 항에 있어서,
    상기 제 1 ECC 엔진은 상기 제 2 에러 검출 정정 신호 및 상기 ECC 데이터 입력 회로로부터 n_비트 데이터를 입력받고, 제 1 에러 검출 정정 신호를 발생하는 것을 특징으로 하는 ECC 회로.
  6. 제 4 항에 있어서,
    상기 ECC 회로와 상기 ECC 데이터 입력 회로는 2n_비트의 버스를 통해 연결되는 것을 특징으로 하는 ECC 회로.
  7. 제 4 항에 있어서,
    상기 제 1 및 제 2 ECC 엔진은 동일 클록 신호에 의해 상기 ECC 데이터 입력 회로로부터 각각 n 비트 데이터를 입력받는 것을 특징으로 하는 ECC 회로.
  8. 반도체 메모리 장치의 에러 검출 및 정정 회로(이하, ECC 회로)에 있어서:
    직렬 연결된 제 1 내지 제 m ECC 엔진(m은 자연수);
    상기 각각의 ECC 엔진에 n(n은 자연수) 비트 데이터를 제공하는 ECC 데이터 입력 회로; 및
    선택신호에 응답하여 상기 ECC 회로가 i*n_비트 데이터(i는 1과 m 사이의 자연수)를 처리할 수 있도록 하는 선택회로를 포함하는 ECC 회로.
  9. 제 8 항에 있어서,
    상기 선택회로는 상기 선택신호에 따라 상기 ECC 회로가 n_비트 데이터 또는 m*n_비트 데이터를 처리할 수 있도록 하는 것을 특징으로 하는 ECC 회로.
  10. 제 9 항에 있어서,
    상기 선택회로는,
    상기 제 1 ECC 엔진의 출력 데이터를 입력받고, 클록 신호에 응답하여 제 1 에러 검출 정정 신호를 출력하는 제 1 플립플롭;
    상기 제 m ECC 엔진의 출력 데이터를 입력받고, 상기 클록 신호에 응답하여 제 m 에러 검출 정정 신호를 출력하는 제 m 플립플롭;
    상기 선택신호에 응답하여 상기 제 1 및 제 m 에러 검출 정정 신호 중에서 어느 하나를 상기 제 1 ECC 엔진에 제공하는 제 1 선택회로; 및
    상기 선택신호에 응답하여 상기 제 1 및 제 m 에러 검출 정정 신호 중에서 어느 하나를 출력하는 제 2 선택회로를 포함하는 것을 특징으로 하는 ECC 회로.
  11. 제 10 항에 있어서,
    상기 제 1 선택회로는 상기 선택신호에 응답하여 상기 제 1 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공하고;
    상기 제 2 선택회로는 상기 선택신호에 응답하여 상기 제 1 에러 검출 정정신호를 출력하는 것을 특징으로 하는 ECC 회로.
  12. 제 10 항에 있어서,
    상기 제 1 선택회로는 상기 선택신호에 응답하여 상기 제 m 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공하고;
    상기 제 2 선택회로는 상기 선택신호에 응답하여 상기 제 m 에러 검출 정정신호를 출력하는 것을 특징으로 하는 ECC 회로.
  13. 제 8 항에 있어서,
    상기 각각의 ECC 엔진은 동일 클록 신호에 의해 상기 ECC 데이터 입력 회로로부터 각각 n 비트 데이터를 입력받는 것을 특징으로 하는 ECC 회로.
KR1020050095551A 2005-10-11 2005-10-11 반도체 메모리 장치의 에러 검출 및 정정 회로 KR100737912B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050095551A KR100737912B1 (ko) 2005-10-11 2005-10-11 반도체 메모리 장치의 에러 검출 및 정정 회로
US11/545,867 US20070094571A1 (en) 2005-10-11 2006-10-11 ECC circuit of semiconductor memory circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050095551A KR100737912B1 (ko) 2005-10-11 2005-10-11 반도체 메모리 장치의 에러 검출 및 정정 회로

Publications (2)

Publication Number Publication Date
KR20070040157A KR20070040157A (ko) 2007-04-16
KR100737912B1 true KR100737912B1 (ko) 2007-07-10

Family

ID=37986677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050095551A KR100737912B1 (ko) 2005-10-11 2005-10-11 반도체 메모리 장치의 에러 검출 및 정정 회로

Country Status (2)

Country Link
US (1) US20070094571A1 (ko)
KR (1) KR100737912B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100872186B1 (ko) * 2007-01-04 2008-12-09 삼성전자주식회사 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
KR101398200B1 (ko) * 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
KR101398212B1 (ko) * 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
KR101991911B1 (ko) * 2012-05-22 2019-06-24 삼성전자주식회사 비트 상태 맵핑 동작을 수행하는 코드 변조 인코더와 코드 변조 디코더를 포함하는 메모리 컨트롤러, 그것을 포함하는 데이터 저장 장치 및 플래시 메모리 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050064887A (ko) * 2003-12-24 2005-06-29 주식회사 포인칩스 오류 검출 능력이 강화된 플래시 메모리 및 다비트 오류검출 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050064887A (ko) * 2003-12-24 2005-06-29 주식회사 포인칩스 오류 검출 능력이 강화된 플래시 메모리 및 다비트 오류검출 방법

Also Published As

Publication number Publication date
KR20070040157A (ko) 2007-04-16
US20070094571A1 (en) 2007-04-26

Similar Documents

Publication Publication Date Title
US7299400B2 (en) Error correction circuit
US7389465B2 (en) Error detection and correction scheme for a memory device
KR0142277B1 (ko) 메모리 시스템
JP3982639B2 (ja) マルチレベルセルを有するメモリからデータを読み取る方法
US7937647B2 (en) Error-detecting and correcting FPGA architecture
US7779341B2 (en) NAND flash memory device performing error detecting and data reloading operation during copy back program operation
US9535785B2 (en) ECC method for flash memory
US6289481B1 (en) Multi-value type semiconductor memory device and its defect removal method
KR100737912B1 (ko) 반도체 메모리 장치의 에러 검출 및 정정 회로
KR950009736A (ko) 패리티에 의해 에러를 수정할수 있는 반도체 기억장치
US10741212B2 (en) Error correction code (ECC) encoders, ECC encoding methods capable of encoding for one clock cycle, and memory controllers including the ECC encoders
US20140040699A1 (en) Error check and correction circuit, method, and memory device
US20080184082A1 (en) Nonvolatile semiconductor memory and method of access evaluation to the same
KR100630710B1 (ko) 다수개의 페일 비트를 검출할 수 있는 반도체 메모리의페일 비트 검출 장치
US8918706B1 (en) Methods and circuitry for performing parallel error checking
JP2835107B2 (ja) 不揮発性半導体記憶装置のエラー訂正回路及びそのエラー訂正方法
JP5283989B2 (ja) メモリシステム及びメモリアクセス方法
US7075851B2 (en) Semiconductor memory device inputting/outputting data and parity data in burst operation
KR20030023762A (ko) 에러 보정 방법 및 에러 보정 회로 장치
JP2007104708A (ja) データ処理方法
US20120002487A1 (en) Nonvolatile memory apparatus and method for processing configuration information thereof
CN116153378A (zh) 错误检查刷写操作方法和使用该方法的半导体系统
KR100293066B1 (ko) Ecc 회로를 갖는 멀티 레벨 메모리 디바이스
TW201642272A (zh) 記憶體裝置與其操作方法
US8488407B2 (en) Nonvolatile memory apparatus and method for processing configuration information thereof

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
G170 Publication of correction
LAPS Lapse due to unpaid annual fee