KR100737912B1 - 반도체 메모리 장치의 에러 검출 및 정정 회로 - Google Patents
반도체 메모리 장치의 에러 검출 및 정정 회로 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel 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
도 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 엔진의 패러티 비트 수는 다음과 같이 계산된다.
먼저, 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)
- 반도체 메모리 장치의 에러 검출 및 정정 회로(이하, ECC 회로)에 있어서:직렬 연결된 제 1 내지 제 m(m은 자연수) ECC 엔진;상기 각각의 ECC 엔진에 n(n은 자연수) 비트 데이터를 제공하는 ECC 데이터 입력 회로; 및상기 제 m ECC 엔진의 출력 데이터를 입력받고, 클록 신호에 응답하여 에러 검출 정정 신호를 출력하며, 상기 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공하는 플립플롭을 포함하되,각각의 ECC 엔진은 앞 단의 ECC 엔진에서 제공된 출력 데이터를 입력받는 것을 특징으로 하는 ECC 회로.
- 제 1 항에 있어서,상기 ECC 회로와 상기 ECC 데이터 입력 회로는 m*n 비트의 버스를 통해 연결되는 것을 특징으로 하는 ECC 회로.
- 제 1 항에 있어서,상기 각각의 ECC 엔진은 동일 클록 신호에 의해 상기 ECC 데이터 입력 회로로부터 각각 n 비트 데이터를 입력받는 것을 특징으로 하는 ECC 회로.
- n(n은 자연수) 비트 데이터를 출력하는 ECC 데이터 입력 회로;상기 n_비트 데이터를 입력받고, 제 1 에러 검출 정정 신호를 발생하는 제 1 ECC 엔진;상기 제 1 에러 검출 정정 신호 및 상기 n_비트 데이터를 입력받고, 제 2 에러 검출 정정 신호를 발생하는 제 2 ECC 엔진; 및클록 신호에 응답하여 상기 제 2 에러 검출 정정 신호를 출력하는 플립플롭을 포함하되,상기 플립플롭은 상기 클록 신호에 응답하여 상기 제 2 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공하는 ECC 회로.
- 제 4 항에 있어서,상기 제 1 ECC 엔진은 상기 제 2 에러 검출 정정 신호 및 상기 ECC 데이터 입력 회로로부터 n_비트 데이터를 입력받고, 제 1 에러 검출 정정 신호를 발생하는 것을 특징으로 하는 ECC 회로.
- 제 4 항에 있어서,상기 ECC 회로와 상기 ECC 데이터 입력 회로는 2n_비트의 버스를 통해 연결되는 것을 특징으로 하는 ECC 회로.
- 제 4 항에 있어서,상기 제 1 및 제 2 ECC 엔진은 동일 클록 신호에 의해 상기 ECC 데이터 입력 회로로부터 각각 n 비트 데이터를 입력받는 것을 특징으로 하는 ECC 회로.
- 반도체 메모리 장치의 에러 검출 및 정정 회로(이하, ECC 회로)에 있어서:직렬 연결된 제 1 내지 제 m ECC 엔진(m은 자연수);상기 각각의 ECC 엔진에 n(n은 자연수) 비트 데이터를 제공하는 ECC 데이터 입력 회로; 및선택신호에 응답하여 상기 ECC 회로가 i*n_비트 데이터(i는 1과 m 사이의 자연수)를 처리할 수 있도록 하는 선택회로를 포함하는 ECC 회로.
- 제 8 항에 있어서,상기 선택회로는 상기 선택신호에 따라 상기 ECC 회로가 n_비트 데이터 또는 m*n_비트 데이터를 처리할 수 있도록 하는 것을 특징으로 하는 ECC 회로.
- 제 9 항에 있어서,상기 선택회로는,상기 제 1 ECC 엔진의 출력 데이터를 입력받고, 클록 신호에 응답하여 제 1 에러 검출 정정 신호를 출력하는 제 1 플립플롭;상기 제 m ECC 엔진의 출력 데이터를 입력받고, 상기 클록 신호에 응답하여 제 m 에러 검출 정정 신호를 출력하는 제 m 플립플롭;상기 선택신호에 응답하여 상기 제 1 및 제 m 에러 검출 정정 신호 중에서 어느 하나를 상기 제 1 ECC 엔진에 제공하는 제 1 선택회로; 및상기 선택신호에 응답하여 상기 제 1 및 제 m 에러 검출 정정 신호 중에서 어느 하나를 출력하는 제 2 선택회로를 포함하는 것을 특징으로 하는 ECC 회로.
- 제 10 항에 있어서,상기 제 1 선택회로는 상기 선택신호에 응답하여 상기 제 1 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공하고;상기 제 2 선택회로는 상기 선택신호에 응답하여 상기 제 1 에러 검출 정정신호를 출력하는 것을 특징으로 하는 ECC 회로.
- 제 10 항에 있어서,상기 제 1 선택회로는 상기 선택신호에 응답하여 상기 제 m 에러 검출 정정 신호를 상기 제 1 ECC 엔진에 제공하고;상기 제 2 선택회로는 상기 선택신호에 응답하여 상기 제 m 에러 검출 정정신호를 출력하는 것을 특징으로 하는 ECC 회로.
- 제 8 항에 있어서,상기 각각의 ECC 엔진은 동일 클록 신호에 의해 상기 ECC 데이터 입력 회로로부터 각각 n 비트 데이터를 입력받는 것을 특징으로 하는 ECC 회로.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050064887A (ko) * | 2003-12-24 | 2005-06-29 | 주식회사 포인칩스 | 오류 검출 능력이 강화된 플래시 메모리 및 다비트 오류검출 방법 |
-
2005
- 2005-10-11 KR KR1020050095551A patent/KR100737912B1/ko not_active IP Right Cessation
-
2006
- 2006-10-11 US US11/545,867 patent/US20070094571A1/en not_active Abandoned
Patent Citations (1)
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 |