KR102027949B1 - Error check and correction circuit and semiconductor memory - Google Patents
Error check and correction circuit and semiconductor memory Download PDFInfo
- Publication number
- KR102027949B1 KR102027949B1 KR1020130039899A KR20130039899A KR102027949B1 KR 102027949 B1 KR102027949 B1 KR 102027949B1 KR 1020130039899 A KR1020130039899 A KR 1020130039899A KR 20130039899 A KR20130039899 A KR 20130039899A KR 102027949 B1 KR102027949 B1 KR 102027949B1
- Authority
- KR
- South Korea
- Prior art keywords
- bit
- error
- circuit
- data
- bit string
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 에러 검출 정정 회로로에 관한 것이다. 본 발명의 에러 검출 정정 회로는 치엔 탐색부를 구비한다. 치엔 탐색부는, 소정의 복수의 원들에 대해 (n-k) 비트의 소정의 값을 곱하는 것으로 제 1의 비트열을 산출함과 함께, k비트의 소정의 값을 곱하는 것으로 제 2의 비트열을 산출하는 계산 회로, 그리고 제 1의 비트열과 상기 제 2의 비트열을 연결하여 임의의 원을 산출하고 에러 위치 탐색 방정식에 대입하는 복수의 치엔 탐색 회로로 구성된다.The present invention relates to an error detection correction circuit. The error detection correction circuit of the present invention includes a Chien search unit. The Chien search unit calculates the first bit string by multiplying a predetermined value of (n-k) bits to a plurality of predetermined circles, and multiplies the second bit string by multiplying a predetermined value of k bits. A calculation circuit for calculating and a plurality of Chien search circuits which connect the first bit string and the second bit string to calculate an arbitrary circle and substitute the error position search equation.
Description
본 발명은 에러 검출 정정 회로 및 반도체 메모리에 관한 것이다.The present invention relates to an error detection correction circuit and a semiconductor memory.
NAND 플래시 메모리 등과 같은 대용량 메모리에서는, 데이터 보관 유지 중에 여러가지 원인으로 저장 데이터가 소실될 가능성이 있다. 또한, 메모리 용량의 대규모화와 제조 프로세스의 미세화가 진행되면서, 에러율은 상승하는 경향이 있다. 이러한 문제를 해결하기 위하여, 에러 검출 정정 회로(ECC, Error Check and Correction)가 플래시 메모리의 성능 향상을 위해 사용되고 있다. ECC 시스템을 온-칩(on-chip)으로 탑재함으로써, 고신뢰성 메모리를 제공하는 것이 가능하다. 한편, ECC 시스템에서 정정 처리가 종료될 때까지, 데이터를 외부로 출력하지 못하므로, 이 시간을 단축시키는 기술이 요구되고 있다.In a large memory such as a NAND flash memory, stored data may be lost due to various reasons during data holding. In addition, as the size of the memory and the size of the manufacturing process become smaller, the error rate tends to increase. In order to solve this problem, an error detection correction circuit (ECC) has been used to improve the performance of the flash memory. By mounting the ECC system on-chip, it is possible to provide a high reliability memory. On the other hand, since the data cannot be output to the outside until the correction process is completed in the ECC system, a technique for shortening this time is required.
이와같은 문제를 해결하기 위하여, 처리 시간이 빠른 해밍 부호(Hamming 부호)의 사용 및 고차(높은 차수)의 정정을 할 수 있는 BCH(Bose-Chaudhuri-Hocquenghemcode) 부호의 고속화가 연구되고 있다. BCH 부호는, 갈로아체 연산을 이용한 블록 부호 중 하나이다. BCH 부호나, RS (Reed-Solomon) 부호 등의 블록 부호에서는, 에러 위치 탐색 방정식을 이용하여 에러 위치를 산출할 수 있다. 에러 위치의 탐색은, 예를 들면, 에러 위치 탐색 방정식에 0 이외의 갈로아체의 각 원을 순차 대입 하고, 방정식의 원들을 탐색함으로써 수행된다. 이 원들의 탐색은, 치엔 탐색(Chien search)이라 불린다. 치엔 탐색의 고속화와 관련되는 기술이, 예를 들면, 특허문헌 1, 특허 문헌 2 등에 기재되어 있다.In order to solve such a problem, the use of a Hamming code (Hamming code) with a fast processing time and a high speed (Bose-Chaudhuri-Hocquenghemcode) code capable of correcting a higher order (higher order) have been studied. The BCH code is one of block codes using a galloche operation. In block codes such as BCH code and RS (Reed-Solomon) code, the error position can be calculated using the error position search equation. The search for the error location is performed, for example, by sequentially substituting each circle of galloise other than zero into the error location search equation and searching the circles of the equation. The search for these circles is called Chien search. Techniques related to speeding up the search for Chien are described in
특허 문헌 1, 특허 문헌 2 등에 기재된 기술에서는, 플립 플롭 또는 레지스터, 곱셈 회로 등을 이용하여 에러 위치 탐색 방정식을 구현하는 치엔 탐색 회로가 기재된다. 그리고, 비트의 위치를 나타내는 신호를 치엔 탐색 회로에 입력함으로써, 해당 비트에 에러가 있는지 아닌지가 판정된다. 치엔 탐색 회로를 복수 마련하는 것으로, 복수의 비트들의 에러의 유무를 병렬로 판정한다.In the techniques described in
특허 문헌 1, 특허 문헌 2 등에 기재된 기술에서는, 병렬처리 하는 비트들의 수가 증가하고, 치엔 탐색 회로들의 개수가 증가한다. 그리고, 치엔 탐색 회로들의 개수가 증가함에 따라, 치엔 탐색 회로들에서 비트들의 위치를 나타내는 신호 등을 공급하기 위한 배선들의 갯수도 증가한다. 따라서, 병렬처리 하는 비트수가 증가되면, 치엔 탐색 회로와 그 주변 회로를 포함하는 치엔 탐색부의 회로 규모가 증가하는 문제가 있다.In the techniques described in
본 발명은, 상술된 과제를 해결하기 위해 고안된 것으로, 복수 비트들의 에러 판정 처리를 병렬로 실시하는 경우에 회로 규모의 증대를 억제하는 에러 정정 회로 및 반도체 메모리를 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been devised to solve the above problems, and an object of the present invention is to provide an error correction circuit and a semiconductor memory which suppress an increase in the circuit scale when an error determination process of a plurality of bits is performed in parallel.
갈로아체(GF(2^n))의 임의의 원을 에러 위치 탐색 방정식의 대입값으로 이용하여 데이터 열의 비트마다 에러가 있는지 아닌지를 판정하는 치엔 탐색부를 구비한 본 발명의 실시 예에 따른 에러 검출 정정 회로에 있어서: 상기 치엔 탐색부는, 소정의 복수의 원들에 대해 (n-k) 비트의 소정의 값을 곱하는 것으로 제 1의 비트열을 산출함과 함께, k비트의 소정의 값을 곱하는 것으로 제 2의 비트열을 산출하는 계산 회로; 그리고 상기 계산 회로로부터 입력되는 상기 제 1의 비트열과 상기 제 2의 비트열을 연결하여 임의의 상기 원을 산출하고, 상기 에러 위치 탐색 방정식에 대입하는 복수의 치엔 탐색 회로를 포함하고, 상기 복수의 치엔 탐색 회로는 행방향 및 열방향으로 매트릭스 형태로 배치되고, 상기 제 1의 비트열이 상기 행방향 또는 열방향의 어느 한 방향으로 공급되고, 상기 제 2의 비트열이 상기 행방향 또는 열방향의 다른 한 방향으로 공급된다.Error detection according to an embodiment of the present invention having a Chien search unit for determining whether or not there is an error for each bit of a data string by using an arbitrary circle of galloche GF (2 ^ n) as an substitution value of an error location search equation. In the correction circuit, the Chien search unit calculates a first bit string by multiplying a predetermined value of (n-k) bits to a plurality of predetermined circles, and multiplies a predetermined value of k bits. A calculating circuit for calculating a second bit string; And a plurality of Chien search circuits for connecting the first bit string input from the calculation circuit and the second bit string to calculate an arbitrary circle, and substituting the error position search equation. The Chien search circuit is arranged in a matrix form in a row direction and a column direction, wherein the first bit string is supplied in either the row direction or the column direction, and the second bit string is the row direction or the column direction. Is fed in the other direction.
실시 예로서, 상기 치엔 탐색 회로가 상기 데이터 열의 비트 수 이상으로 복수개 설치된다.In an exemplary embodiment, a plurality of Chien search circuits may be provided in a plurality of bits or more of the data string.
본 발명의 실시 예에 따른 반도체 메모리는, 에러 검출 정정 회로; 메모리 셀; 그리고 상기 메모리 셀로부터 읽어진 데이터 열을 일시적으로 보관 유지하고, 상기 에러 검출 정정 회로에 공급하는 데이터 저장부를 포함하고, 상기 에러 검출 정정 회로는 갈로아체(GF(2^n))의 임의의 원을 에러 위치 탐색 방정식의 대입값으로 이용하여 상기 데이터 열의 비트마다 에러가 있는지 아닌지를 판정하는 치엔 탐색부를 구비하고, 상기 치엔 탐색부는, 소정의 복수의 원들에 대해 (n-k) 비트의 소정의 값을 곱하는 것으로 제 1의 비트열을 산출함과 함께, k비트의 소정의 값을 곱하는 것으로 제 2의 비트열을 산출하는 계산 회로; 그리고 상기 계산 회로로부터 입력되는 상기 제 1의 비트열과 상기 제 2의 비트열을 연결하여 임의의 상기 원을 산출하고, 상기 에러 위치 탐색 방정식에 대입하는 복수의 치엔 탐색 회로를 포함하고, 상기 복수의 치엔 탐색 회로는 행방향 및 열방향으로 매트릭스 형태로 배치고, 상기 제 1의 비트열이 상기 행방향 또는 열방향의 어느 한 방향으로 공급되고, 상기 제 2의 비트열이 상기 행방향 또는 열방향의 다른 한 방향으로 공급된다.In an embodiment, a semiconductor memory may include an error detection correction circuit; Memory cells; And a data storage section for temporarily holding a data string read from the memory cell and supplying it to the error detection correction circuit, wherein the error detection correction circuit includes any circle of galloche GF (2 ^ n). A Chien search unit for determining whether or not there is an error for each bit of the data string by using as a substitution value of an error position search equation, and the Chien search unit has a predetermined number of (n-k) bits for a plurality of predetermined circles. A computing circuit for calculating the first bit string by multiplying the values and calculating the second bit string by multiplying a predetermined value of k bits; And a plurality of Chien search circuits for connecting the first bit string input from the calculation circuit and the second bit string to calculate an arbitrary circle, and substituting the error position search equation. The Chien search circuit is arranged in a matrix form in a row direction and a column direction, wherein the first bit string is supplied in either the row direction or the column direction, and the second bit string is supplied in the row direction or the column direction. Is fed in the other direction.
본 발명은, 갈로아체(GF(2^n))의 임의의 원의 n차 벡터 표시를 n비트의 비트열로 간주했을 경우, 해당 비트열에 (n-k) 비트의 소정의 값을 곱하는 것으로 제 1의 비트열을 산출하고, k비트의 소정의 값을 곱하는 것으로 제 2의 비트열을 산출 한다. 치엔 탐색 회로는 비트의 위치를 나타내는 신호를 제 1의 비트열과 제 2의 비트열의 연결에 따라 획득한다. 게다가 매트릭스장에 열방향 및 행방향에 배치된 치엔 탐색 회로에 공통으로, 제 1 또는 제 2의 비트열이 제공될 수 있으므로, 치엔 탐색 회로마다 비트의 위치를 나타내는 신호를 공급하기 위한 배선을 구비할 필요가 없어진다. 따라서, 치엔 탐색 회로에 비트의 위치를 나타내는 신호를 공급하기 위한 배선의 갯수를 감소시킬 수 있어 치엔 탐색부의 회로 규모가 감소될 수 있다.In the present invention, when the n-th order vector representation of any circle of gallosome GF (2 ^ n) is regarded as an n-bit bit string, the bit string is multiplied by a predetermined value of (n-k) bits. The first bit string is calculated and the second bit string is calculated by multiplying a predetermined value of k bits. The Chien search circuit acquires a signal indicative of the position of the bit in accordance with the connection of the first bit string and the second bit string. In addition, since the first or second bit strings can be provided in common to the Chien search circuits arranged in the column direction and the row direction in the matrix field, each Chien search circuit has wiring for supplying a signal indicating a bit position. There is no need to do it. Therefore, the number of wirings for supplying a signal indicating a bit position to the Chien search circuit can be reduced, so that the circuit scale of the Chien search unit can be reduced.
도 1은 본 발명의 일 실시 예에 따른 불휘발성 반도체 기억장치(반도체 메모리)를 설명하기 위한 블록도이다.
도 2a 및 도 2b는 도 1에 도시된 에러 검출 정정 회로를 설명하기 위한 블록도이다.
도 3은 도 2a에 도시된 치엔 탐색부를 설명하기 위한 블록도이다.
도 4는 도 3에 도시된 S 계산기의 출력 신호, P 계산기의 출력 신호 및 Q 계산기의 출력 신호를 설명하기 위한 도면이다.
도 5는 도 3에 도시된 치엔 탐색 회로를 설명하기 위한 블록도이다.
도 6은 도 5에 도시된 에러 위치 탐색 방정식 산출부를 설명하기 위한 블록이다.
도 7은 도 3에 도시된 치엔 탐색부의 처리 내용을 설명하기 위한 테이블이다.
도 8a 및 도 8b는 도 3에 도시된 치엔 탐색부의 처리 내용을 설명하기 위한 테이블이다.1 is a block diagram illustrating a nonvolatile semiconductor memory (semiconductor memory) according to an embodiment of the present invention.
2A and 2B are block diagrams for explaining the error detection and correction circuit shown in FIG.
FIG. 3 is a block diagram illustrating the Chien search unit shown in FIG. 2A.
4 is a view for explaining the output signal of the S calculator, the output signal of the P calculator and the output signal of the Q calculator shown in FIG.
FIG. 5 is a block diagram illustrating the Chien search circuit shown in FIG. 3.
FIG. 6 is a block for explaining an error position search equation calculator shown in FIG. 5.
FIG. 7 is a table for describing the processing contents of the Chien search unit shown in FIG. 3.
8A and 8B are tables for explaining the processing contents of the Chien search unit shown in FIG. 3.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. .
도 1은, 본 발명의 일 실시 예에 따른 불휘발성 반도체 기억장치(10)인 NAND 플래쉬 메모리를 보여주는 블록도이다. 불휘발성 반도체 기억장치(10)는 메모리 셀 어레이(11), 페이지 버퍼(12), 에러 검출 정정 회로(13), 버퍼(14), I/O 패드(15), 제어 회로(16), 어드레스 디코더(17), 그리고 행 및 블록 디코더(18)를 포함한다.FIG. 1 is a block diagram illustrating a NAND flash memory as a nonvolatile
메모리 셀 어레이(11)는, 복수의 스택 게이트 구조의 트랜지스터들, 즉 전기적으로 다시쓰기가 가능한 불휘발성 메모리 셀들(기억소자)이 컬럼 방향(열방향)으로 직렬 접속되고, 비트선 마다 설치된 NAND 셀 스트링이 행방향(비트선의 배열 방향)으로 복수개 배치된 블록들을 포함된다. 블록들은, 비트선의 배선 방향으로 복수개 배치된다. 블록들은, 메모리 셀의 데이터의 소거 단위로 설정된다. 각 블록에는, 동일 행에 배치된 불휘발성 메모리 셀들 각각의 게이트에는, 비트선에 직교 한 워드 라인이 연결된다. 하나의 워드 라인에 의해 선택되는 불휘발성 메모리 셀의 범위가 프로그램 및 읽기의 단위가 되는 페이지이다.In the
페이지 버퍼(12)는, 페이지 단위의 데이터의 프로그램 및 읽기를 실시하기 위해, 비트선 마다 설치된 페이지 버퍼 회로를 포함한다. 페이지 버퍼(12)의 페이지 버퍼 회로 각각은, 각각의 비트선에 접속되고 접속된 비트선의 전위를 증폭하여 판정하는 센스 증폭기 회로로 이용되는 래치 회로를 포함한다.The
페이지 버퍼(12)(데이터 격납부)는, 불휘발성 반도체 기억장치(10)의 데이터 읽기 동작 시에, 메모리 셀 어레이(11)의 하나의 페이지의 메모리 셀들이 기억하는 데이터(데이터 열)인 셀 데이터(Cell Data)를 수신하고, 수신된 데이터를 증폭하여 에러 검출 정정 회로(13)로 출력한다. 한편, 페이지 버퍼(12)는, 불휘발성 반도체 기억 장치(10)의 데이터 기록(프로그램) 동작 시에, 에러 검출 정정 회로(13)로부터 공급된 데이터를 내부의 래치 회로에 저장하고, 베리파이 동작을 실시하면서, 모든 데이터를 부호 데이터(Code Data)로서 하나의 페이지의 메모리 셀들에 기입한다. 부호 데이터(Code Data)에는, 에러 검출 정정 회로(13)가 생성하는 패리티 데이터(Parity)가 포함된다.The page buffer 12 (data storage section) is a cell that is data (data string) stored in memory cells of one page of the
본 발명의 실시 예들에서, 에러 검출 정정 회로(13)는 GF(2^9)의 갈로아체를 이용하여 정보 데이터 길이가 256 비트인 데이터열을 정정 단위로 하고, 4 비트의 에러가 정정 가능한 BCH 부호를 이용하는 것으로 가정한다. 이 경우, 각 정정 단위에서 패리티 데이터의 길이는 36 비트이다. 따라서, 인코딩된 데이터열은 292 비트 및 다른 부가 비트의 비트 길이를 합한 만큼의 데이터 길이를 가진다. 본 발명의 실시 예들에서는, 일 예로서, 인코딩 데이터 열의 데이터 길이가 320 비트인 것으로 가정한다. 또한, 본 발명의 실시 예들은 BCH 부호에 한정되지 않고, 갈로아체 연산을 이용한 블록 부호(BCH 부호, RS 부호 등)에 활용될 수 있다.In the embodiments of the present invention, the error detection and
에러 검출 정정 회로(13)는, 불휘발성 반도체 기억장치(10)의 데이터 읽기 동작 시에, 페이지 버퍼(12)로부터 읽어진 데이터를 섹터별로 처리하여 에러 위치 검출 다항식의 계수를 산출하고, 산출 결과를 내부에 래치하여 보관 유지한다. 또한, 에러 검출 정정 회로(13)는, 읽기 동작 시에, 컬럼 주소에 의해 위치가 표시되는 비트의 데이터의 에러를 정정하여, I/O패드(15)를 통해 정정 데이터(Corrected Data)로서 외부로 출력한다.In the data read operation of the nonvolatile
또한, 에러 검출 정정 회로(13)는, 불휘발성 반도체 기억장치(10)의 데이터 기입 동작 시에, I/O 패드(15)로부터 입력되는 정보 데이터(Information Data)를 버퍼(14)를 통해 수신한다. 에러 검출 정정 회로(13)는, 수신된 정보 데이터(Information Data)로부터 패리티 데이터(Parity)를 생성함과 함께, 수신된 정보 데이터(Information Data) 및 패리티 데이터(Parity)를 페이지 버퍼(12)로 출력한다. 페이지 버퍼(12)는, 수신된 데이터를 부호 데이터(Code Data)로서, 선택된 페이지에 연결된 메모리 셀들에 기입한다.In addition, the error
제어 회로(16)는 각종 제어 신호를 입력하여 불휘발성 메모리 셀들에 대한 데이터의 프로그램, 읽기, 소거 등의 동작 및 베리파이의 동작의 제어를 실시한다. 예를 들면, 제어 신호는 외부 클럭 신호, 칩 인에이블 신호(/CE), 읽기 인에이블 신호(/RE), 프로그램 인에이블 신호(WE), 커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE), 기록방지 신호(/WP) 등을 포함할 수 있다.The
제어 회로(16)는 제어 신호와 I/O 패드(15)로부터 입력되는 커멘드 데이터가 가리키는 동작 모드에 응답하여, 각 회로로 내부 제어 신호를 출력한다. 예를 들면, 제어 회로(16)는, 프로그램 인에이블 신호(/WE)의 첫 시작시에 커멘드 래치 인에이블 신호(CLE)가 로우(L) 레벨로부터 하이(H) 레벨이 되는 것에 응답하여, I/O 패드(15)로부터 커멘드 데이타를 읽고, 내부의 레지스터에 저장한다.The
어드레스 디코더(17)는 I/O 패드(15)로부터 입력되는 어드레스(행 어드레스, 블록 어드레스, 열 어드레스)를 제어 회로(16)로부터의 내부 제어 신호에 기반하여 보관 유지한다. 또한, 어드레스 디코더(17)는 보관 유지되는 주소를 제어 회로(16)로부터의 내부 제어 신호에 기반하여, 행 및 블록 디코더(18), 페이지 버퍼(12), 및 에러 검출 정정 회로(13)로 출력한다.The
예를 들면, 제어 회로(16)는 프로그램 인에이블 신호(/WE)의 첫 시작 시에 어드레스 래치 인에이블 신호(ALE)가 로우(L) 레벨로부터 하이(H) 레벨이 되는 것에 응답하여, I/O 패드(15)로부터 주소를 읽어 어드레스 디코더(17)의 내부 레지스터에 보관 유지한다.For example, the
행 및 블록 디코더(18)는, 어드레스 디코더(17)가 보관 유지하고 출력하는 행 어드레스 및 블록 어드레스에 응답하여, 메모리 셀 어레이(11)의 블록 및 워드 라인을 선택하여, 1 페이지의 메모리 셀들을 선택한다. 또한, 어드레스 디코더(17)는, 내부로 유지하는 열 주소에 응답하여, 메모리 셀 어레이(11)의 비트선 및 페이지 버퍼(12)의 선택을 실시한다.The row and
본 발명의 실시 예들에서, 데이터 읽기 동작 시에, 페이지 버퍼(12) 내의 셀 데이터(Cell Data)가 에러 검출 정정 회로(13)로 전송되고, 에러 위치 탐색 방정식의 계수가 에러 정정 단위마다 계산된다. 그리고, 에러 정정 단위마다 계산된 계수와 에러 위치를 가리키는 신호(즉, 갈로아체 GF(2^9)의 각 원을 나타내는 데이터)에 응답하여, 에러 위치를 가리키는 신호에 의해 위치가 특정되는 비트의 데이터에 에러가 있는지 아닌지가 검출되고, 에러가 있는 경우에는 해당 비트가 정정되어 정정 데이터(Corrected Data)로서 I/O 패드(15)로 출력된다. 상세한 내용은 후술된다.In embodiments of the present invention, in a data read operation, cell data in the
데이터 기입 동작 시에, 페이지 버퍼(12)에 저장된 셀 데이터(Cell Data)가 버퍼(14)로 전송된다. 버퍼(14)는, 예를 들면, SRAM(Static Random Access Memory)일 수 있다.In the data write operation, cell data stored in the
버퍼(14)에서, 셀 데이터(Cell Data) 중 입력되는 열 주소에 대응하는 부분의 데이터는 I/O 패드(15)로부터의 데이터(Information Data)로 갱신될 수 있다. 또한, 에러 검출 정정 회로(13)에서, 버퍼(14)의 갱신 후의 데이터를 포함하는 하나의 정정 단위에 해당하는 데이터에 대응하는 패리티 데이터가 산출된다. 그리고, 패리티 데이터를 포함하는 인코딩된 데이터가 부호 데이터(Code Data)로서 페이지 버퍼(12)를 통해 선택된 페이지에 기입된다.In the
도 2a는 에러 검출 정정 회로(13)의 상세한 구성예를 보여준다. 에러 검출 정정 회로(13)는 데이터의 복호를 수행하는 디코더부(21) 및 정정용 패리티 데이터(Parity)를 생성하고 정정용 패리티 데이터(Parity)를 셀에 기입되는 데이터에 부가하는 인코더부(22)를 포함한다.2A shows a detailed configuration example of the error
엔코더부(22)는 패리티 생성 회로(41)를 구비한다. 패리티 생성 회로(41)는 버퍼(14)에 기입된 정보 데이터(Information Data)를 생성 다항식과 제산(예를 들어, 나누어)하여 획득되는 패리티 데이터(Parity)를 생성한다. 또, 패리티 생성 회로(41)는 정보 데이터(Information Data)에 생성된 패리티 데이터(Parity)를 부가하여 페이지 버퍼(12)로 출력한다. 출력된 데이터는 불휘발성 반도체 기억장치(10)의 데이터 기입시에, 선택된 하나의 페이지에 기입되는 부호 데이터(Code Data)이다. 본 발명의 실시 예들은, 불휘발성 반도체 기억 장치(10)로부터의 데이터 읽기 시에 에러 검출 정정 회로(13)의 레이아웃 사이즈를 축소하는데에 효율적인 구성을 이용하여 데이터 정정 처리를 실시하는 것을 특징으로 갖는다. 이하에서, 디코더부 21에 대해 상세하게 설명된다.The
디코더부(21)는 신드롬 산출 회로(31), 에러 계수 산출 회로(32), 치엔 탐색부(33) 및 에러 정정 회로(34)를 포함한다. 신드롬 산출 회로(31)는 부호 데이터 열(Code Data Y)을 정정 단위 별로 수신하고, 수신된 부호 데이터열을 독립인 최소 다항식에서 제산함으로써 복수의 신드롬들을 계산한다. 본 발명의 실시 예에서, 4 비트의 데이터의 에러 정정이 가능한 BCH 부호가 사용된다. 따라서, 독립인 최소 다항식은 4개이다. 따라서, 신드롬 산출 회로(31)는 4개의 신드롬들(S1, S3, S5, S7)을 계산한다.The
에러 계수 산출 회로(32)는 신드롬을 이용하여, 정정 단위 별로 에러 위치 탐색 방정식(Λ(x))의 계수들(e4, e3, e2, e1, e0)을 계산한다. 계수들(e4, e3, e2, e1, e0)은 도 2b에 도시된 에러 위치 탐색 방정식 "Λ(x) = e4x^4 + e3x^3 + e2x^2 + e1x^1 + e0"의 계수이다. 에러 위치 탐색 방정식(Λ(x))은 페이지 버퍼(12)로부터 정정 단위 별로 읽어진 비트에 에러가 있는지 아닌지를 탐색할 때에 치엔 탐색부(33)에 의해 이용된다.The error
치엔 탐색부(33)는 에러 계수 산출 회로(32)로부터 입력된 계수들(e4, e3, e2, e1, e0)에 대해 정정 단위 별로 에러 검출을 실시하고, 에러가 검출되었을 경우에, 해당 비트 위치를 가리키는 신호(Z[319:0])를 출력한다. 신호(Z[319:0])는 각 비트 위치에 대응하는 에러 위치 탐색 방정식의 값을 나타내는 320 비트의 데이터이다. 신호 Z[0], Z[1],…, Z[319]는 각각 0번째 , 1번째 ,…, 319번째의 비트 위치의 데이터의 에러의 유무를 나타낸다. 여기에서, 0번째의 비트가 최하위 비트이다. 본 발명의 실시 예에서, 신호(Z[i])의 값이 '1'이 되는 i번째 비트가 에러 비트이고, '0'이 되는 i번째 비트가 에러가 없는 비트인 것으로 가정한다.The
에러 정정 회로(32)는 신호(Z[319:0])로 표시되는 에러 비트가 4 비트 이내인 경우, 즉 "Z[i]=1"이 되는 i가 4개 이내의 경우, 부호 데이터열(Code Data Y) 중에서 에러가 검출된 위치의 비트의 값을 반전한다.The
다음으로, 도 3을 참조하여, 도 2a에 도시된 치엔 탐색부(33)의 구성예가 설명된다. 도 3에 도시된 바와 같이, 치엔 탐색부(33)는 S 계산기(S Calculator, 51), P 계산기(P Calculator, 52), P 래치(P Latch, 53), Q 계산기(Q Calculator, 54), Q 래치(Q Latch, 55), 및 치엔 탐색 회로 그룹(56)을 포함한다. 치엔 탐색 회로 그룹(56)은 복수의 치엔 탐색 회로들(57)을 포함한다. 복수의 치엔 탐색 회로들(57)은 치엔 탐색 회로 그룹(56)에 대해 행방향 및 열 방향으로 매트릭스 형태로 배치된다. 예를 들어, 복수의 치엔 탐색 회로들(57)은 16행 32열로(예를 들어, 세로 방향으로 16개, 가로 방향으로 32개인 격자모양) 배열된다. 단, 치엔 탐색 회로(57)는, 행과 열의 모든 교점 혹은 교차점(예를 들어, 16×32=512개의 점)에 제공될 필요는 없고, 인코딩된 데이터 열의 데이터 길이(즉 사용 하고 있는 비트수)에 따라 일부 생략될 수 있다.Next, with reference to FIG. 3, the structural example of the
치엔 탐색 회로(57)들 각각은 도 5에 도시된 바와 같이 구성될 수가 있다. 도 5는, 도 3에 도시된 치엔 탐색 회로(57)의 구성예를 보여주는 블록도이다. 도 5에 도시된 치엔 탐색 회로(57)는 대입값 산출부(71) 및 에러 위치 탐색 방정식 산출부(72)를 포함한다. 대입값 산출부(71)는 P 래치(53)로부터 공급되는 비트 열신호(dpj)(j=0~31 중 하나)와 Q 래치(55)로부터 공급되는 비트 열신호(dqk)(k=0~15 중 하나)를 수신하고, 수신된 신호들을 가산함으로써(즉, dpj+dqk를 계산함으로써), 도 2b에 도시된 에러 위치 탐색 방정식(Λ(x))의 x에 대입되는 갈로아체의 원들(α^i)(i=0, 1, 2,…, 511(=2^9-1) 중 하나)을 산출한다Each of the
도 5에 도시된 에러 위치 탐색 방정식 산출부(72)는 대입값 산출부(71)로부터 공급된 원(α^i)과 S 계산기(51)로부터 공급된 에러 위치 탐색 방정식의 계수들(e4, e3, e2, e1, e0)에 기반하여, 에러 위치 탐색 방정식(Λ(x))에 원(α^i)을 대입하고 에러 위치 탐색 방정식(Λ(x))의 값을 산출한다. 즉, "x=α^i"로서 에러 위치 탐색 방정식(Λ(x))이 산출한다. 여기에서, 신호(Z[319:0])의 i번째의 비트의 값(Z[i])은 "Λ(α^i)=0"인 경우에 '1, "Λ(α^i)≠0"인 경우에 '0'로 설정된다.The error position search
또한, 에러 위치 탐색 방정식 산출부(72)는, 예를 들면, 도 6에 도시된 바와 같이 구성될 수 있다. 도 6은 도 5에 도시된 에러 위치 탐색 방정식 산출부(72)의 구성예를 보여주는 블록도이다. 도 6에 도시된 에러 위치 탐색 방정식 산출부(72)는 "e1(α^i)+e0" 산출부(81), "e2(α^i)^2" 산출부(82), "e3(α^i)^3" 산출부(83), "e4(α^i)^4" 산출부(84) 및 "Z[i]" 산출부(85)를 포함한다. "e1(α^i)+e0" 산출부(81)는 원(α^i) 및 계수들(e1, e0)을 이용하여 "e1(α^i)+e0"를 산출한다. "e2(α^i)^2" 산출부(82)는 원(α^i) 및 계수(e2)를 이용하여 "e2(α^i)^2"를 산출한다. "e3(α^i)^3" 산출부(83)는 원(α^i) 및 계수(e3)를 이용하여 "e3(α^i)^3"를 산출한다. "e4(α^i)^4" 산출부(84)는 원(α^i) 및 계수(e4)를 이용하여 "e4(α^i)^4"를 산출한다. 그리고, "Z[i]" 산출부(85)는 "e1(α^i)+e0" 산출부(81), "e2(α^i)^2" 산출부(82), "e3(α^i)^3" 산출부(83) 및 "e4(α^i)^4" 산출부(84)의 출력을 이용하여, "e4(α^i)^4+e3(α^i)^3+e2(α^i)^2+e1(α^i)+e0"를 산출한다. "Z[i]" 산출부(85)는 산출된 값이 0인지 아닌지를 판정하고, 판정 결과에 기반하여 신호(Z[319:0])의 i번째 비트의 값(Z[i])을 "Λ(α^i)=0"의 경우에 '1', "Λ(α^i)≠0"의 경우에 '0'으로 설정하여 출력한다. 또한, "e2(α^i)^2" 산출부(82), "e3(α^i)^3" 산출부(83), "e4(α^i)^4" 산출부(84)는, 예를 들면, 복수의 곱셈기들로 구성될 수 있다. 이 경우, 하나의 클럭 주기 동안 각 산출치가 계산될 수 있다.In addition, the error position search
S 계산기(51)는 에러 계수 산출 회로(32)로부터 계수들(e4, e3, e2, e1, e0)을 수신하고, 각 치엔 탐색 회로(57)로 출력한다. 또한, S 계산기(51)는 각 치엔 탐색 회로(57)가 치엔 탐색 시에 에러 위치 탐색 방정식(Λ(x))에 대입하는 값을 생성하는 경우에 사용되는 갈로아체(GF(2^9))의 원들의 일부를 생성하고, 신호(S1, S2, S3, S4, S5, S6, S7, S8)로서 출력한다.The
여기서, 도 7을 참조하여, S 계산기(51)가 출력하는 신호(S1, S2, S3, S4, S5, S6, S7, S8)에 대해 설명된다. 도 7은, 갈로아체(GF(2^9))의 원들의 일부를 기술한 테이블이다. 도 7에 도시된 바와 같이, 각 원들은 베키 표현, 다항식 표현 및 벡터 표현으로 표시될 수 있다. 도 7에 도시된 바와 같이, 갈로아체(GF(2^9))(m=9)에서, 베키 표현의 "1(=α^0), α^1, α^2, …, α^(m-1)(=α8)"의 9개의 원들은, 벡터 표현에서 9 비트들의 각 비트 가운데 어느 하나의 비트가 '1'인 값을 갖는다. 베키 표현으로 "α^0, α^1, α^2, …, α^8"인 9개의 원들의 벡터 표현은 '000000001', '000000010', '000000100', '000001000', '000010000', '000100000', '001000000', '010000000', '100000000'이다. 따라서, 갈로아체(GF(2^9))의 모든 원들(α^i(i=0, 1, 2,…, 2^(m-1)(=511)))은 "α^0, α^1, α^2, …, α^8"의 9개의 원들의 복수개의 조합들로 표현될(예를 들어, 서로 가산된 결과로) 수 있다.Here, with reference to FIG. 7, the signal S1, S2, S3, S4, S5, S6, S7, S8 which the
예를 들어, 에러 위치 탐색 방정식(Λ(x))에 대입된 경우에, 비트 9에 대응하는 원(α^9)은 수학식 1에 따라 생성될 수 있다.For example, in the case of substitution into the error position search equation Λ (x), the circle α ^ 9 corresponding to bit 9 may be generated according to Equation (1).
마찬가지로, "α^10, …, α^511"의 모든 값들은 상술된 9개의 원들(α^0, α^1, α^2, …, α^8)을 조합하는 것으로 계산될 수 있다.Likewise, all values of "α ^ 10, ..., α ^ 511" can be calculated by combining the nine circles (α ^ 0, α ^ 1, α ^ 2, ..., α ^ 8) described above.
S 계산기(51)는, 도 4a에도시된 바와 같이, 9개의 원들(α^0, α^1, α^2, …, α^8)의 값들을 생성하고, 신호(S1, S2, S3, S4, S5, S6, S7, S8)로서 출력한다. 신호(S1, S2, S3, S4, S5, S6, S7, S8)는 각각 9 비트의 신호이다.The
본 발명의 실시 예에 따른 치엔 탐색 회로(57)는, 상술된 바와 같이, 대입값 산출부(57)의 가산처리에 의해 대입값(α^i)을 산출함과 함께, 에러 위치 탐색 방정식 산출부(72)를 이용하여 산출된 값을 대입함으로써, 위치 탐색 방정식(Λ(x))의 값을 산출한다. 따라서, 각 치엔 탐색 회로(57)는, 9개의 원들(α^0, α^1, α^2, …, α^8)을 가리키는 신호가 공급된 경우, 모든 원들(α^0, …, α^511)로부터 임의의 원(α^i)을 계산할 수 있다. 따라서, 각 치엔 탐색 회로(57)는 임의의 원(α^0, …, α^511)에 대한 에러 위치 탐색 방정식(Λ(x))의 값을 산출할 수 있다. 단, 각 치엔 탐색 회로(57)에 9개의 원들(α^0, α^1, α^2, …, α^8)을 가리키는 신호가 모두 공급되어야 한다. 그러나, 각 치엔 탐색 회로(57)의 모두가 9개의 원들(α^0, α^1, α^2, …, α^8)을 가리키는 신호 모두를 사용하지는 않는다. 불필요한 신호의 공급은, 불필요한 배선의 설치를 의미한다. 여기에서, 도 3을 참조하여 설명된 구성에서, 불필요한 배선을 감소시키기 위해, 9개의 원들(α^0, α^1, α^2, …, α^8)을 가리키는 신호를 기저값으로 선택하고, 선택된 기저값을 2파트(P 파트 및 Q 파트)의 신호파트들로 그룹화하고, 준기저값을 이용하여 각 신호파트를 32 또는 16으로 분류한 후(즉 512 분류한 후), 각 신호파트의 1 분류의 신호를 각 치엔 탐색 회로(57)로 공급한다. 이로써, 각 치엔 탐색 회로(57)에서 소정의 1개의 원(α^i)만이 산출 가능해진다.As described above, the
만일 9개의 원들(α^0, α^1, α^2, …, α^8)을 가리키는 신호를 모두 공급하는 경우에는 9비트×9로 81 비트의 신호선이 이용되는 반면, 본 발명의 실시 예에서는, 치엔 탐색 회로(57)에 대해서 서로 직교 하는 2개의 9 비트의 신호선(합계 18 비트의 신호선)을 이용하는 것만으로 임의의 원(α^i)이 산출될 수가 있다.If all of the signals indicating the nine circles (α ^ 0, α ^ 1, α ^ 2, ..., α ^ 8) are supplied, a signal line of 9 bits x 9 is used, while an 81-bit signal line is used. In the example, arbitrary circles α ^ i can be calculated only by using two 9-bit signal lines (total 18-bit signal lines) orthogonal to each other for the
준기저값은 도 8a 및 도 8b에 도시된 바와 같이, P 파트의 5 비트(즉, 갈로아체(GF(2^9))의 9-4=5 비트)의 값(p0~p31)과 Q 파트의 4 비트의 값(q0~q15)을 포함한다. 여기에서, P 파트는 도 8a에 도시된 바와 같이, '00000_0000', '00001_0000', '00010_0000', …, '11111_0000' 이며, 'x'의 상위 5 bit에 해당하는 기저값들(α^4, α^5, α^6, α^7, α^8)에 대응하는 값이다. 한편, Q 파트는 9 bit의 x의 하위 4 bit에 해당하는 기저값들(α^0, α^1, α^2, α^3)에 대응하는 값이다.The quasi-base value is the value (p0 to p31) and the Q part of 5 bits of the P part (i.e., 9-4 = 5 bits of galloise (GF (2 ^ 9))) and the Q part, as shown in Figs. 8A and 8B. It includes four bits of values q0 to q15. Herein, the P part is shown in Fig. 8A, '00000_0000', '00001_0000', '00010_0000',... , '11111_0000', and corresponds to base values (α ^ 4, α ^ 5, α ^ 6, α ^ 7, α ^ 8) corresponding to the upper 5 bits of 'x'. On the other hand, the Q part is a value corresponding to the base values α ^ 0, α ^ 1, α ^ 2, and α ^ 3 corresponding to the lower 4 bits of x of 9 bits.
본 발명의 실시 예에서, 준기저값들을 이용하여 생성된 2파트의 비트 열신호(dpj, dqk)를 조합함으로써, 각 치엔 탐색 회로(57)에 대해 9개의 원들(α^0, α^1, α^2, …, α^8)에 더하여 나머지의 원들(α^9, …, α^(t-1)(t=2^m))을 생성한다. 2 파트의 비트 열신호(dpj, dqk)는 P 계산기(52)와 Q 계산기(54)에서 산출된다.In the embodiment of the present invention, by combining the two-part bit string signals dpj and dqk generated using quasi-base values, nine circles α0 and α1, for each
P 계산기(52)는 9 비트의 신호(S4, S5, S6, S7, S8)에 기반하여, 도 4b에 도시된 계산식에 따라, 9 비트의 비트 열신호(dp0, dp1, dp2,…, dp30, dp31)를 생성하여 출력한다. 예를 들면, 신호(dp1)는 도 8a에 도시된 준기저값(p1)의 비트 4('1')를 신호(S4)의 각 비트에 곱한 결과, 비트 5('0')를 신호(S5)의 각 비트에 곱한 결과, 비트 6('0')을 신호(S6)의 각 비트에 곱한 결과, 비트 7('0')을 신호 (S7)의 각 비트에 곱한 결과, 그리고 비트 8('0')을 신호(S8)의 각 비트에 곱한 결과를 가산한 결과로 계산한다.The
또한, 신호(dp2)는, 도 8a에 도시된 준기저값(p2)의 비트 4('0)를 신호(S4)의 각 비트에 곱한 결과, 비트 5('1')를 신호(S5)의 각 비트에 곱한 결과, 비트 6('0')을 신호(S6)의 각 비트에 곱한 결과, 비트 7('0')을 신호(S7)의 각 비트에 곱한 결과, 그리고 비트 8('0')을 신호(S8)의 각 비트에 곱한 결과를, 가산한 결과로 계산한다.Further, the signal dp2 is obtained by multiplying each bit of the signal S4 by the bit 4 ('0) of the quasi-base value p2 shown in FIG. 8A, and the bit 5 (' 1 ') of the signal S5. As a result of multiplying each bit, bit 6 ('0') by multiplying each bit of signal S6, as a result of multiplying bit 7 ('0') by each bit of signal S7, and bit 8 ('0) The result of multiplying ') by each bit of the signal S8 is calculated as the result of the addition.
P 계산기(52)에서 산출된 신호(dp0, dp1, dp2,…, dp30, dp31)는 P 래치(53)에 저장된다. P 래치(53)는 클럭 스큐(clock skew) 조정을 위해, 소정의 클럭 신호에 동기되어 래치된 신호(dp0, dp1, dp2,…, dp30, dp31)를 출력한다. P 래치(53)로부터 출력된 신호(dp0, dp1, dp2,…, dp30, dp31)는 열방향으로 설치된 각 9 비트의 32 개의 신호선파트를 통해 복수의 치엔 탐색 회로(57)에 공급된다.The signals dp0, dp1, dp2,..., Dp30, and dp31 calculated by the
Q 계산기(54)는 각 9 비트의 신호(S0, S1, S2, S3)에 기반하여, 도 4b에 도시된 계산식에 따라, 각 9 비트의 비트 열신호(dq0, dq1, dq2,…, dq14, dq15)를 출력한다. 예를 들면, 신호(dq1)는 도 8b에 도시된 준기저값(q1)의 비트 3('0')을 신호(S3)의 각 비트에 곱한 결과, 비트 2('0')를 신호(S2)의 각 비트에 곱한 결과, 비트 1('0;)을 신호(S1)의 각 비트에 곱한 결과, 그리고 비트 0('1')을 신호(S0)의 각 비트에 곱한 결과를, 가산한 결과로 계산한다.The
또한, 신호(dq2)는 도 8b에 도시된 준기저값(q2)의 비트 3('0')을 신호(S3)의 각 비트에 곱한 결과, 비트 2('0')를 신호(S2)의 각 비트에 곱한 결과, 비트 1('1')을 신호(S1)의 각 비트에 곱한 결과, 그리고 비트 0('0')을 신호(S0)의 각 비트에 곱한 결과를, 가산한 결과로 계산할 수 있다.Further, the signal dq2 is obtained by multiplying each bit of the signal S3 by the bit 3 ('0') of the quasi-base value q2 shown in FIG. 8B, and the bit 2 ('0') of the signal S2. As a result of multiplying each bit, bit 1 ('1') by multiplying each bit of signal S1, and bit 0 ('0') by multiplying each bit of signal S0, as a result Can be calculated
Q 계산기(54)에 의해 산출된 산출된 신호(dq0, dq1, dq2,…, dq14, dq15)는 Q 래치(55)에 입력된다. Q 래치(55)는, 클럭 스큐(clock skew) 조정을 위하여, 소정의 클록 신호에 동기되어 래치된 신호(dq0, dq1, dq2,…, dq14, dq15)를 출력한다. Q 래치(55)로부터 출력된 신호(dq0, dq1, dq2,…, dq14, dq15는) 행 방향으로 설치된 각 9 비트의 16개의 신호선파트를 통해 복수의 치엔 탐색 회로(57)에 공급된다.The calculated signals dq0, dq1, dq2, ..., dq14, dq15 calculated by the
비트 열신호(dpj)나 비트 열신호(dqk)의 구성은 상술된 것으로 한정되지 않는다(j=0~31, k=0~15). 즉, 비트 열신호(dpj)와 비트 열신호(dqk)의 배선 방향을 행과 열로 반대로 하거나, 비트 열신호(dpj)나 비트 열신호(dqk)의 배선 갯수를 변경하는 것이 가능하다. 즉, 본 발명의 실시 예에서는, 복수의 치엔 탐색 회로(57)가 행방향 및 열방향을 따라 매트릭스 형태로 배치되고, 비트 열신호(dpj)가 행방향 또는 열방향 중 한 방향으로, 비트 열신호(dqk)가 행방향 또는 열방향 중 다른 한 방향으로 공급될 수 있다.The configuration of the bit string signal dpj and the bit string signal dqk is not limited to those described above (j = 0 to 31, k = 0 to 15). That is, it is possible to reverse the wiring direction of the bit column signal dpj and the bit column signal dqk in rows and columns, or to change the number of wirings of the bit column signal dpj and the bit column signal dqk. That is, in the embodiment of the present invention, the plurality of
갈로아체(GF(2^m))를 사용하는 경우, n개의 에러를 정정하는 회로는, 치엔 탐색으로, 에러 위치 탐색 방정식(Λ(x) = enx^n + … + e2x^2 + e1x + e0)의 변수 x에 갈로아체(GF(2^m))의 각 원(α^i)(i=0, 1, 2,…, 2 m-1)을 대입하여 "Λ(x)=0"인지 아닌지를 판정한다. 즉, 원들(α^0, α^1, α^2, …, α^(t-1)(t=2 m))의 각 값을 대입하여 에러 위치 탐색 방정식Λ(x)의 값이 산출된다. 종래의 구성에서는, 에러 위치 탐색 방정식(Λ(x))을 산출하는 1개의 회로에 순차적으로 각 원(α^i)(i=0, 1, 2,…, 2^(m-1))을 대입함으로써, 하나의 사이클에 하나의 원에 대응하는 에러 위치 탐색 방정식(Λ(x))의 값이 산출된다. 특허 문헌 1이나 특허 문헌 2에 기재되어 있는 구성은, 치엔 탐색을 병렬 동작시킨다. 예를 들면, 2개의 원에 대한 값이 병렬로 동시에 계산된다.In the case of using the galloace (GF (2 ^ m)), the circuit for correcting n errors is Chien search, and the error position search equation (Λ (x) = enx ^ n +… + e2x ^ 2 + e1x + Each circle (α ^ i) (i = 0, 1, 2, ..., 2 m-1) of galloace (GF (2 ^ m)) is substituted into the variable x of e0) and "Λ (x) = 0 It is determined whether or not. That is, the values of the error position search equation Λ (x) are calculated by substituting the respective values of the circles α ^ 0, α ^ 1, α ^ 2, ..., α ^ (t-1) (t = 2 m). do. In the conventional configuration, each circle α ^ i (i = 0, 1, 2, ..., 2 ^ (m-1)) is sequentially arranged in one circuit for calculating the error position search equation (Λ (x)). By substituting, the value of the error position search equation Λ (x) corresponding to one circle in one cycle is calculated. The configurations described in
한편, 상술된 본 발명의 실시 예에 따른 치엔 탐색부(33)는, 각 원(α^i)(i=0, 1, 2,…,2^(m-1))의 값을 복수의 치엔 탐색 회로(57)의 어느 한 부분에 공급한다. 즉, 본 발명의 실시 예에 따르면, 각 원(α^i)(i=0, 1, 2,…, 2^(m-1))이 대입된 경우의 에러 위치 탐색 방정식(Λ(x))의 값이, 복수의 치엔 탐색 회로(57)을 이용하여 일괄적으로 산출될 수 있다.On the other hand, the
본 발명의 실시 예에서, 복수의 치엔 탐색 회로(57)가 매트릭스 형태로 배치되고, 에러 위치 탐색 방정식(Λ(x))에 대입되는 복수의 값들이 2 파트로 분할되고, 각 파트의 값이 행방향과 열방향의 직교 하는 2 방향으로부터 따로 공급된다. 따라서, 치엔 탐색 회로(57)의 배치와 값의 분할을 적절히 선택함으로써, 각 대입값을 공급하는 배선이 직선적으로(즉, 최단거리로) 배선될 수 있다.In an embodiment of the present invention, a plurality of
본 발명의 실시 예들은 상술된 것으로 한정되지 않는다. 예를 들면, 정보 비트수나 패리티 비트수가 변경되거나 블록도로 도시된 구성의 각 블록이 한층 더 분할되거나 복수의 블록들이 통합되는 등의 변경이 수행될 수 있다.Embodiments of the invention are not limited to those described above. For example, a change may be performed such that the number of information bits or the number of parity bits are changed, each block of the configuration shown in the block diagram is further divided, or a plurality of blocks are integrated.
또한, 본 발명의 실시 예에 따른 에러 검출 정정 회로의 적용 범위는 반도체 메모리로 한정되지 않는다. 예를 들어, 본 발명의 실시 예에 따른 에러 검출 정정 회로는 다양한 기록 매체에 정보를 기록하고 읽는 경우에 적용될 수 있다.In addition, the application range of the error detection and correction circuit according to the embodiment of the present invention is not limited to the semiconductor memory. For example, the error detection and correction circuit according to an embodiment of the present invention can be applied to the case of recording and reading information on various recording media.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.In the detailed description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope and spirit of the present invention. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be defined by the equivalents of the claims of the present invention as well as the following claims.
10; 불휘발성 반도체 기억장치 11; 메모리 셀 어레이
12; 페이지 버퍼 13; 에러 검출 정정 회로
14; 버퍼 15; I/O패드
16; 제어 회로 17; 어드레스 디코더
18; 로우 및 블록 디코더
21; 디코더부 31; 신드롬 산출 회로
32; 에러 계수 산출 회로 33; 치엔 탐색부
34; 에러 정정 회로 41; 패리티 생성 회로
51; S 계산기 52; P 계산기
53; P 래치 54; Q 계산기
55; Q 래치 56; 치엔 탐색 회로그룹
57; 치엔 탐색 회로 71; 대입값 산출부
72; 에러 위치 탐색 방정식 산출부10;
12;
14;
16;
18; Low and Block Decoder
21;
32; Error
34;
51;
53;
55;
57;
72; Error position search equation calculation unit
Claims (3)
상기 치엔 탐색부는,
소정의 복수의 원들에 대해 (n-k) 비트의 소정의 값을 곱하는 것으로 제 1의 비트열을 산출함과 함께, k비트의 소정의 값을 곱하는 것으로 제 2의 비트열을 산출하는 계산 회로; 그리고
상기 계산 회로로부터 입력되는 상기 제 1의 비트열과 상기 제 2의 비트열을 연결하여 임의의 상기 원을 산출하고, 상기 에러 위치 탐색 방정식에 대입하는 복수의 치엔 탐색 회로를 포함하고,
상기 복수의 치엔 탐색 회로는 행방향 및 열방향으로 매트릭스 형태로 배치되고,
상기 제 1의 비트열이 상기 행방향 또는 열방향의 어느 한 방향으로 공급되고, 상기 제 2의 비트열이 상기 행방향 또는 열방향의 다른 한 방향으로 공급되는 에러 검출 정정 회로.In an error detection correcting circuit having a Chien search unit for determining whether or not there is an error for each bit of a data string by using an arbitrary circle of gallosomes GF (2 ^ n) as an substitution value of an error position search equation:
The Chien search unit,
A calculating circuit that calculates a first bit string by multiplying a predetermined value of (n-k) bits for a plurality of predetermined circles, and calculates a second bit string by multiplying a predetermined value of k bits. ; And
A plurality of Chien search circuits for connecting the first bit string input from the calculation circuit and the second bit string to calculate an arbitrary circle, and substituting the error position search equation;
The plurality of Chien search circuits are arranged in a matrix form in a row direction and a column direction,
And the first bit string is supplied in either the row direction or the column direction, and the second bit string is supplied in the other direction in the row direction or the column direction.
상기 치엔 탐색 회로가 상기 데이터 열의 비트 수 이상으로 복수개 설치되는 에러 검출 정정 회로.The method of claim 1,
An error detection correction circuit provided with a plurality of said Chien search circuits more than the number of bits of said data string.
메모리 셀; 그리고
상기 메모리 셀로부터 읽어진 데이터 열을 일시적으로 보관 유지하고, 상기 에러 검출 정정 회로에 공급하는 데이터 저장부를 포함하고,
상기 에러 검출 정정 회로는 갈로아체(GF(2^n))의 임의의 원을 에러 위치 탐색 방정식의 대입값으로 이용하여 상기 데이터 열의 비트마다 에러가 있는지 아닌지를 판정하는 치엔 탐색부를 구비하고,
상기 치엔 탐색부는,
소정의 복수의 원들에 대해 (n-k) 비트의 소정의 값을 곱하는 것으로 제 1의 비트열을 산출함과 함께, k비트의 소정의 값을 곱하는 것으로 제 2의 비트열을 산출하는 계산 회로; 그리고
상기 계산 회로로부터 입력되는 상기 제 1의 비트열과 상기 제 2의 비트열을 연결하여 임의의 상기 원을 산출하고, 상기 에러 위치 탐색 방정식에 대입하는 복수의 치엔 탐색 회로를 포함하고,
상기 복수의 치엔 탐색 회로는 행방향 및 열방향으로 매트릭스 형태로 배치고,
상기 제 1의 비트열이 상기 행방향 또는 열방향의 어느 한 방향으로 공급되고, 상기 제 2의 비트열이 상기 행방향 또는 열방향의 다른 한 방향으로 공급되는 반도체 메모리.Error detection correction circuit;
Memory cells; And
A data storage section for temporarily holding a data string read from the memory cell and supplying it to the error detection correction circuit;
The error detection correcting circuit includes a Chien search unit for determining whether or not an error exists for each bit of the data string by using an arbitrary circle of gallosome GF (2 ^ n) as an substitution value of an error position search equation,
The Chien search unit,
A calculating circuit that calculates a first bit string by multiplying a predetermined value of (n-k) bits for a plurality of predetermined circles, and calculates a second bit string by multiplying a predetermined value of k bits. ; And
A plurality of Chien search circuits for connecting the first bit string input from the calculation circuit and the second bit string to calculate an arbitrary circle, and substituting the error position search equation;
The plurality of Chien search circuits are arranged in a matrix form in a row direction and a column direction,
And the first bit string is supplied in either the row direction or the column direction, and the second bit string is supplied in the other direction of the row direction or the column direction.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/024,890 US9152493B2 (en) | 2012-09-12 | 2013-09-12 | Error check and correction circuit and semiconductor memory |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012200620A JP2014057202A (en) | 2012-09-12 | 2012-09-12 | Error detection and correction circuit and semiconductor memory |
| JPJP-P-2012-200620 | 2012-09-12 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20140034678A KR20140034678A (en) | 2014-03-20 |
| KR102027949B1 true KR102027949B1 (en) | 2019-10-02 |
Family
ID=50614158
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020130039899A Active KR102027949B1 (en) | 2012-09-12 | 2013-04-11 | Error check and correction circuit and semiconductor memory |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2014057202A (en) |
| KR (1) | KR102027949B1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1999016175A1 (en) | 1997-09-24 | 1999-04-01 | Hitachi, Ltd. | Semiconductor integrated circuit and data processing system |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62254525A (en) * | 1986-04-28 | 1987-11-06 | Fujitsu Ten Ltd | Galois field multiplication circuit |
| JP2001044853A (en) | 1999-06-28 | 2001-02-16 | Internatl Business Mach Corp <Ibm> | Chain search circuit, error correction device and disk driver |
| JP3345385B2 (en) | 2000-01-18 | 2002-11-18 | 松下電器産業株式会社 | Chain search device |
| JP4856110B2 (en) * | 2008-03-01 | 2012-01-18 | 株式会社東芝 | Chain search apparatus and chain search method |
| KR101489827B1 (en) * | 2008-03-25 | 2015-02-04 | 삼성전자주식회사 | Semiconductor memory device using an efficient protocol between NAND flash memory and controller |
-
2012
- 2012-09-12 JP JP2012200620A patent/JP2014057202A/en active Pending
-
2013
- 2013-04-11 KR KR1020130039899A patent/KR102027949B1/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1999016175A1 (en) | 1997-09-24 | 1999-04-01 | Hitachi, Ltd. | Semiconductor integrated circuit and data processing system |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20140034678A (en) | 2014-03-20 |
| JP2014057202A (en) | 2014-03-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9384083B2 (en) | Error location search circuit, and error check and correction circuit and memory device including the same | |
| JP4538034B2 (en) | Semiconductor memory device and control method thereof | |
| CN102385538B (en) | Semiconductor memory device and method of controlling the same | |
| US8990667B2 (en) | Error check and correction circuit, method, and memory device | |
| KR102064508B1 (en) | Ecc circuit and memory device including the same | |
| US10498364B2 (en) | Error correction circuits and memory controllers including the same | |
| US20120144261A1 (en) | Error checking and correcting circuit, memory system compising error checking and correcting circuit, and related methods of operation | |
| US9311181B2 (en) | Memory controller changing partial data in memory device and method for changing partial data thereof | |
| US8381085B2 (en) | Semiconductor memory device and data processing method thereof | |
| KR20150090414A (en) | Semicondcutor device performing error correction | |
| US11689216B1 (en) | Low gate-count generalized concatenated code (GCC) by online calculation of syndromes instead of buffer | |
| US9152493B2 (en) | Error check and correction circuit and semiconductor memory | |
| US9317352B2 (en) | Galois field arithmetic operation circuit and memory device | |
| KR20140018095A (en) | Error check and correction circuit and memory device | |
| CN106021012B (en) | Data processing circuit | |
| EP3179727A1 (en) | Video server device and writing/reading data method | |
| KR102027949B1 (en) | Error check and correction circuit and semiconductor memory | |
| KR102021560B1 (en) | Error bit search circuit, error check and correction circuit therewith, and memory device therewith | |
| KR102064857B1 (en) | Galois field calculating circuit and memory device | |
| KR20240035026A (en) | Error correction code decoder using constacyclic code, and memory device and memory system including the same | |
| JP2014064242A (en) | Error detection and correction circuit and semiconductor memory | |
| JP2014116659A (en) | Error detection and correction circuit and semiconductor storage device | |
| JP2014068058A (en) | Error location search circuit, error detection and correction circuit and memory device | |
| US20140245101A1 (en) | Semiconductor memory | |
| JP2014137832A (en) | Semiconductor device and method of controlling semiconductor device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |