[go: up one dir, main page]

KR102027949B1 - Error check and correction circuit and semiconductor memory - Google Patents

Error check and correction circuit and semiconductor memory Download PDF

Info

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
Application number
KR1020130039899A
Other languages
Korean (ko)
Other versions
KR20140034678A (en
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 US14/024,890 priority Critical patent/US9152493B2/en
Publication of KR20140034678A publication Critical patent/KR20140034678A/en
Application granted granted Critical
Publication of KR102027949B1 publication Critical patent/KR102027949B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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.

Figure R1020130039899
Figure R1020130039899

Description

에러 검출 정정 회로 및 반도체 메모리{ERROR CHECK AND CORRECTION CIRCUIT AND SEMICONDUCTOR MEMORY}ERROR CHECK AND CORRECTION CIRCUIT AND SEMICONDUCTOR MEMORY}

본 발명은 에러 검출 정정 회로 및 반도체 메모리에 관한 것이다.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 Patent Document 1, Patent Document 2, and the like, for example.

특허 문헌 1, 특허 문헌 2 등에 기재된 기술에서는, 플립 플롭 또는 레지스터, 곱셈 회로 등을 이용하여 에러 위치 탐색 방정식을 구현하는 치엔 탐색 회로가 기재된다. 그리고, 비트의 위치를 나타내는 신호를 치엔 탐색 회로에 입력함으로써, 해당 비트에 에러가 있는지 아닌지가 판정된다. 치엔 탐색 회로를 복수 마련하는 것으로, 복수의 비트들의 에러의 유무를 병렬로 판정한다.In the techniques described in Patent Document 1, Patent Document 2, and the like, a Chien search circuit for implementing an error position search equation using a flip flop, a register, a multiplication circuit, or the like is described. Then, by inputting a signal indicating the position of the bit into the Chien search circuit, it is determined whether or not the corresponding bit has an error. By providing a plurality of Chien search circuits, it is determined in parallel whether there is an error of a plurality of bits.

특허문헌 1: 일본공개특허 2001-044853호 공보Patent Document 1: Japanese Patent Application Laid-Open No. 2001-044853 특허문헌 2: 일본공개특허 2001-203587호 공보Patent Document 2: Japanese Patent Application Laid-Open No. 2001-203587

특허 문헌 1, 특허 문헌 2 등에 기재된 기술에서는, 병렬처리 하는 비트들의 수가 증가하고, 치엔 탐색 회로들의 개수가 증가한다. 그리고, 치엔 탐색 회로들의 개수가 증가함에 따라, 치엔 탐색 회로들에서 비트들의 위치를 나타내는 신호 등을 공급하기 위한 배선들의 갯수도 증가한다. 따라서, 병렬처리 하는 비트수가 증가되면, 치엔 탐색 회로와 그 주변 회로를 포함하는 치엔 탐색부의 회로 규모가 증가하는 문제가 있다.In the techniques described in Patent Document 1, Patent Document 2, and the like, the number of bits to be processed in parallel increases, and the number of Chien search circuits increases. As the number of Chien search circuits increases, the number of wires for supplying a signal indicating a location of bits in the Chien search circuits also increases. Therefore, when the number of bits to be processed in parallel increases, the circuit size of the Chien search unit including the Chien search circuit and its peripheral circuits increases.

본 발명은, 상술된 과제를 해결하기 위해 고안된 것으로, 복수 비트들의 에러 판정 처리를 병렬로 실시하는 경우에 회로 규모의 증대를 억제하는 에러 정정 회로 및 반도체 메모리를 제공하는 것을 목적으로 한다.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 semiconductor memory device 10 according to an embodiment of the present invention. The nonvolatile semiconductor memory device 10 includes a memory cell array 11, a page buffer 12, an error detection correction circuit 13, a buffer 14, an I / O pad 15, a control circuit 16, and an address. Decoder 17 and row and block decoder 18 are included.

메모리 셀 어레이(11)는, 복수의 스택 게이트 구조의 트랜지스터들, 즉 전기적으로 다시쓰기가 가능한 불휘발성 메모리 셀들(기억소자)이 컬럼 방향(열방향)으로 직렬 접속되고, 비트선 마다 설치된 NAND 셀 스트링이 행방향(비트선의 배열 방향)으로 복수개 배치된 블록들을 포함된다. 블록들은, 비트선의 배선 방향으로 복수개 배치된다. 블록들은, 메모리 셀의 데이터의 소거 단위로 설정된다. 각 블록에는, 동일 행에 배치된 불휘발성 메모리 셀들 각각의 게이트에는, 비트선에 직교 한 워드 라인이 연결된다. 하나의 워드 라인에 의해 선택되는 불휘발성 메모리 셀의 범위가 프로그램 및 읽기의 단위가 되는 페이지이다.In the memory cell array 11, a plurality of stacked gate structure transistors, that is, NAND cells electrically connected to non-volatile memory cells (memory elements) that are electrically connected in series in a column direction (column direction) and provided for each bit line The string includes a plurality of blocks arranged in a row direction (array direction of bit lines). A plurality of blocks are arranged in the wiring direction of the bit line. The blocks are set in units of erasing data of the memory cells. In each block, a word line orthogonal to the bit line is connected to the gate of each of the nonvolatile memory cells arranged in the same row. The range of a nonvolatile memory cell selected by one word line is a page which is a unit of program and read.

페이지 버퍼(12)는, 페이지 단위의 데이터의 프로그램 및 읽기를 실시하기 위해, 비트선 마다 설치된 페이지 버퍼 회로를 포함한다. 페이지 버퍼(12)의 페이지 버퍼 회로 각각은, 각각의 비트선에 접속되고 접속된 비트선의 전위를 증폭하여 판정하는 센스 증폭기 회로로 이용되는 래치 회로를 포함한다.The page buffer 12 includes a page buffer circuit provided for each bit line in order to program and read data in page units. Each page buffer circuit of the page buffer 12 includes a latch circuit connected to each bit line and used as a sense amplifier circuit for amplifying and determining the potential of the connected bit line.

페이지 버퍼(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 memory cell array 11 during a data read operation of the nonvolatile semiconductor memory device 10. The data Cell # Data is received, and the received data is amplified and output to the error detection correction circuit 13. On the other hand, the page buffer 12 stores the data supplied from the error detection and correction circuit 13 in the internal latch circuit during the data write (program) operation of the nonvolatile semiconductor memory device 10, and verifies the operation. While executing, all data is written into the memory cells of one page as code data Code # Data. The code data Code_Data includes parity data Parity generated by the error detection correction circuit 13.

본 발명의 실시 예들에서, 에러 검출 정정 회로(13)는 GF(2^9)의 갈로아체를 이용하여 정보 데이터 길이가 256 비트인 데이터열을 정정 단위로 하고, 4 비트의 에러가 정정 가능한 BCH 부호를 이용하는 것으로 가정한다. 이 경우, 각 정정 단위에서 패리티 데이터의 길이는 36 비트이다. 따라서, 인코딩된 데이터열은 292 비트 및 다른 부가 비트의 비트 길이를 합한 만큼의 데이터 길이를 가진다. 본 발명의 실시 예들에서는, 일 예로서, 인코딩 데이터 열의 데이터 길이가 320 비트인 것으로 가정한다. 또한, 본 발명의 실시 예들은 BCH 부호에 한정되지 않고, 갈로아체 연산을 이용한 블록 부호(BCH 부호, RS 부호 등)에 활용될 수 있다.In the embodiments of the present invention, the error detection and correction circuit 13 uses a galloche of GF (2 ^ 9) as a correction unit for a data string having 256 bits of information data length, and a 4-bit error correction BCH. Assume that you use signs. In this case, the length of parity data in each correction unit is 36 bits. Thus, the encoded data string has a data length equal to the sum of the bit lengths of 292 bits and other additional bits. In embodiments of the present invention, as an example, it is assumed that the data length of the encoded data string is 320 bits. In addition, the embodiments of the present invention are not limited to the BCH code, but may be utilized for a block code (BCH code, RS code, etc.) using a Galois operation.

에러 검출 정정 회로(13)는, 불휘발성 반도체 기억장치(10)의 데이터 읽기 동작 시에, 페이지 버퍼(12)로부터 읽어진 데이터를 섹터별로 처리하여 에러 위치 검출 다항식의 계수를 산출하고, 산출 결과를 내부에 래치하여 보관 유지한다. 또한, 에러 검출 정정 회로(13)는, 읽기 동작 시에, 컬럼 주소에 의해 위치가 표시되는 비트의 데이터의 에러를 정정하여, I/O패드(15)를 통해 정정 데이터(Corrected Data)로서 외부로 출력한다.In the data read operation of the nonvolatile semiconductor memory device 10, the error detection correction circuit 13 processes data read from the page buffer 12 for each sector to calculate the coefficient of the error position detection polynomial, and calculates the result. Latch and keep it inside. In addition, the error detection correction circuit 13 corrects an error of data of bits whose position is indicated by a column address during a read operation, and externally corrects the data as corrected data through the I / O pad 15. Will output

또한, 에러 검출 정정 회로(13)는, 불휘발성 반도체 기억장치(10)의 데이터 기입 동작 시에, I/O 패드(15)로부터 입력되는 정보 데이터(Information Data)를 버퍼(14)를 통해 수신한다. 에러 검출 정정 회로(13)는, 수신된 정보 데이터(Information Data)로부터 패리티 데이터(Parity)를 생성함과 함께, 수신된 정보 데이터(Information Data) 및 패리티 데이터(Parity)를 페이지 버퍼(12)로 출력한다. 페이지 버퍼(12)는, 수신된 데이터를 부호 데이터(Code Data)로서, 선택된 페이지에 연결된 메모리 셀들에 기입한다.In addition, the error detection correction circuit 13 receives, via the buffer 14, information data (Information_Data) input from the I / O pad 15 during the data write operation of the nonvolatile semiconductor memory device 10. do. The error detection correction circuit 13 generates parity data from the received information data, and sends the received information data and the parity data to the page buffer 12. Output The page buffer 12 writes the received data as code data to memory cells connected to the selected page.

제어 회로(16)는 각종 제어 신호를 입력하여 불휘발성 메모리 셀들에 대한 데이터의 프로그램, 읽기, 소거 등의 동작 및 베리파이의 동작의 제어를 실시한다. 예를 들면, 제어 신호는 외부 클럭 신호, 칩 인에이블 신호(/CE), 읽기 인에이블 신호(/RE), 프로그램 인에이블 신호(WE), 커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE), 기록방지 신호(/WP) 등을 포함할 수 있다.The control circuit 16 inputs various control signals to perform operations such as programming, reading, and erasing data and verifying operations of nonvolatile memory cells. For example, the control signal includes an external clock signal, a chip enable signal (/ CE), a read enable signal (/ RE), a program enable signal (WE), a command latch enable signal (CLE), and an address latch enable. Signal ALE, write prevention signal / WP, and the like.

제어 회로(16)는 제어 신호와 I/O 패드(15)로부터 입력되는 커멘드 데이터가 가리키는 동작 모드에 응답하여, 각 회로로 내부 제어 신호를 출력한다. 예를 들면, 제어 회로(16)는, 프로그램 인에이블 신호(/WE)의 첫 시작시에 커멘드 래치 인에이블 신호(CLE)가 로우(L) 레벨로부터 하이(H) 레벨이 되는 것에 응답하여, I/O 패드(15)로부터 커멘드 데이타를 읽고, 내부의 레지스터에 저장한다.The control circuit 16 outputs an internal control signal to each circuit in response to the operation mode indicated by the control signal and the command data input from the I / O pad 15. For example, the control circuit 16 responds to the command latch enable signal CLE from the low (L) level to the high (H) level at the first start of the program enable signal (/ WE), The command data is read from the I / O pad 15 and stored in an internal register.

어드레스 디코더(17)는 I/O 패드(15)로부터 입력되는 어드레스(행 어드레스, 블록 어드레스, 열 어드레스)를 제어 회로(16)로부터의 내부 제어 신호에 기반하여 보관 유지한다. 또한, 어드레스 디코더(17)는 보관 유지되는 주소를 제어 회로(16)로부터의 내부 제어 신호에 기반하여, 행 및 블록 디코더(18), 페이지 버퍼(12), 및 에러 검출 정정 회로(13)로 출력한다.The address decoder 17 holds an address (row address, block address, column address) input from the I / O pad 15 based on an internal control signal from the control circuit 16. In addition, the address decoder 17 transfers the held address to the row and block decoder 18, the page buffer 12, and the error detection correction circuit 13 based on an internal control signal from the control circuit 16. Output

예를 들면, 제어 회로(16)는 프로그램 인에이블 신호(/WE)의 첫 시작 시에 어드레스 래치 인에이블 신호(ALE)가 로우(L) 레벨로부터 하이(H) 레벨이 되는 것에 응답하여, I/O 패드(15)로부터 주소를 읽어 어드레스 디코더(17)의 내부 레지스터에 보관 유지한다.For example, the control circuit 16 may respond to the address latch enable signal ALE from the low (L) level to the high (H) level at the first start of the program enable signal / WE. The address is read from the / O pad 15 and held in an internal register of the address decoder 17.

행 및 블록 디코더(18)는, 어드레스 디코더(17)가 보관 유지하고 출력하는 행 어드레스 및 블록 어드레스에 응답하여, 메모리 셀 어레이(11)의 블록 및 워드 라인을 선택하여, 1 페이지의 메모리 셀들을 선택한다. 또한, 어드레스 디코더(17)는, 내부로 유지하는 열 주소에 응답하여, 메모리 셀 어레이(11)의 비트선 및 페이지 버퍼(12)의 선택을 실시한다.The row and block decoder 18 selects the block and the word line of the memory cell array 11 in response to the row address and the block address held and output by the address decoder 17 to select one page of memory cells. Choose. In addition, the address decoder 17 selects the bit line and the page buffer 12 of the memory cell array 11 in response to the column address held therein.

본 발명의 실시 예들에서, 데이터 읽기 동작 시에, 페이지 버퍼(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 page buffer 12 is transmitted to the error detection correction circuit 13, and coefficients of the error position search equation are calculated for each error correction unit. . Then, in response to the coefficient calculated for each error correction unit and a signal indicating an error position (that is, data representing each circle of galloche GF (2 ^ 9)), a bit whose position is specified by a signal indicating an error position is used. It is detected whether there is an error in the data, and if there is an error, the corresponding bit is corrected and output to the I / O pad 15 as corrected data. Details will be described later.

데이터 기입 동작 시에, 페이지 버퍼(12)에 저장된 셀 데이터(Cell Data)가 버퍼(14)로 전송된다. 버퍼(14)는, 예를 들면, SRAM(Static Random Access Memory)일 수 있다.In the data write operation, cell data stored in the page buffer 12 is transferred to the buffer 14. The buffer 14 may be, for example, static random access memory (SRAM).

버퍼(14)에서, 셀 데이터(Cell Data) 중 입력되는 열 주소에 대응하는 부분의 데이터는 I/O 패드(15)로부터의 데이터(Information Data)로 갱신될 수 있다. 또한, 에러 검출 정정 회로(13)에서, 버퍼(14)의 갱신 후의 데이터를 포함하는 하나의 정정 단위에 해당하는 데이터에 대응하는 패리티 데이터가 산출된다. 그리고, 패리티 데이터를 포함하는 인코딩된 데이터가 부호 데이터(Code Data)로서 페이지 버퍼(12)를 통해 선택된 페이지에 기입된다.In the buffer 14, data of a portion of the cell data corresponding to the input column address may be updated with information from the I / O pad 15. In the error detection correction circuit 13, parity data corresponding to data corresponding to one correction unit including the data after the update of the buffer 14 is calculated. The encoded data including the parity data is written to the selected page through the page buffer 12 as code data.

도 2a는 에러 검출 정정 회로(13)의 상세한 구성예를 보여준다. 에러 검출 정정 회로(13)는 데이터의 복호를 수행하는 디코더부(21) 및 정정용 패리티 데이터(Parity)를 생성하고 정정용 패리티 데이터(Parity)를 셀에 기입되는 데이터에 부가하는 인코더부(22)를 포함한다.2A shows a detailed configuration example of the error detection correction circuit 13. The error detection and correction circuit 13 includes a decoder 21 for decoding data and an encoder 22 for generating correction parity data Parity and adding correction parity data Parity to data written in a cell. Include.

엔코더부(22)는 패리티 생성 회로(41)를 구비한다. 패리티 생성 회로(41)는 버퍼(14)에 기입된 정보 데이터(Information Data)를 생성 다항식과 제산(예를 들어, 나누어)하여 획득되는 패리티 데이터(Parity)를 생성한다. 또, 패리티 생성 회로(41)는 정보 데이터(Information Data)에 생성된 패리티 데이터(Parity)를 부가하여 페이지 버퍼(12)로 출력한다. 출력된 데이터는 불휘발성 반도체 기억장치(10)의 데이터 기입시에, 선택된 하나의 페이지에 기입되는 부호 데이터(Code Data)이다. 본 발명의 실시 예들은, 불휘발성 반도체 기억 장치(10)로부터의 데이터 읽기 시에 에러 검출 정정 회로(13)의 레이아웃 사이즈를 축소하는데에 효율적인 구성을 이용하여 데이터 정정 처리를 실시하는 것을 특징으로 갖는다. 이하에서, 디코더부 21에 대해 상세하게 설명된다.The encoder section 22 includes a parity generation circuit 41. The parity generating circuit 41 generates parity data obtained by generating information data written in the buffer 14 and division (for example, dividing) into a polynomial. The parity generating circuit 41 adds the parity data generated to the information data to the page buffer 12. The output data is code data (Code # Data) written in one selected page when data is written in the nonvolatile semiconductor memory device 10. Embodiments of the present invention are characterized in that data correction processing is performed by using an effective configuration for reducing the layout size of the error detection and correction circuit 13 when reading data from the nonvolatile semiconductor memory device 10. . Hereinafter, the decoder unit 21 will be described in detail.

디코더부(21)는 신드롬 산출 회로(31), 에러 계수 산출 회로(32), 치엔 탐색부(33) 및 에러 정정 회로(34)를 포함한다. 신드롬 산출 회로(31)는 부호 데이터 열(Code Data Y)을 정정 단위 별로 수신하고, 수신된 부호 데이터열을 독립인 최소 다항식에서 제산함으로써 복수의 신드롬들을 계산한다. 본 발명의 실시 예에서, 4 비트의 데이터의 에러 정정이 가능한 BCH 부호가 사용된다. 따라서, 독립인 최소 다항식은 4개이다. 따라서, 신드롬 산출 회로(31)는 4개의 신드롬들(S1, S3, S5, S7)을 계산한다.The decoder unit 21 includes a syndrome calculation circuit 31, an error coefficient calculation circuit 32, a Chien search unit 33, and an error correction circuit 34. The syndrome calculating circuit 31 receives a code data string (Code Data Y) for each correction unit and calculates a plurality of syndromes by dividing the received code data string by an independent minimum polynomial. In an embodiment of the present invention, a BCH code capable of error correction of 4 bits of data is used. Thus, the minimum independent polynomial is four. Therefore, the syndrome calculation circuit 31 calculates four syndromes S1, S3, S5, and S7.

에러 계수 산출 회로(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 coefficient calculating circuit 32 calculates coefficients e4, e3, e2, e1, e0 of the error position search equation Λ (x) for each correction unit by using the syndrome. The coefficients e4, e3, e2, e1, e0 are coefficients of the error position search equation "Λ (x) = e4x ^ 4 + e3x ^ 3 + e2x ^ 2 + e1x ^ 1 + e0" shown in FIG. 2B. . The error position search equation Λ (x) is used by the Chien search unit 33 when searching whether or not there is an error in the bit read from the page buffer 12 for each correction unit.

치엔 탐색부(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 Chien search unit 33 performs error detection for each of the correction units (e4, e3, e2, e1, e0) input from the error coefficient calculating circuit 32 for each correction unit, and if an error is detected, the corresponding bit. It outputs a signal indicating the position (Z [319: 0]). The signal Z [319: 0] is 320 bits of data representing the value of the error position search equation corresponding to each bit position. Signals Z [0], Z [1],... , Z [319] is 0th, 1st,... Indicates whether there is an error in the data at the 319th bit position. Here, the 0th bit is the least significant bit. In an embodiment of the present invention, it is assumed that the i th bit where the value of the signal Z [i] is '1' is an error bit, and the i th bit that becomes '0' is an error free bit.

에러 정정 회로(32)는 신호(Z[319:0])로 표시되는 에러 비트가 4 비트 이내인 경우, 즉 "Z[i]=1"이 되는 i가 4개 이내의 경우, 부호 데이터열(Code Data Y) 중에서 에러가 검출된 위치의 비트의 값을 반전한다.The error correction circuit 32 performs the code data string when the error bit represented by the signal Z [319: 0] is within 4 bits, i.e., when there are 4 or less i whose "Z [i] = 1". Reverses the value of the bit at the position where the error is detected in (Code Data Y).

다음으로, 도 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 Chien search part 33 shown in FIG. 2A is demonstrated. As shown in FIG. 3, the Chien search unit 33 includes an S calculator 51, a P calculator 52, a P latch 53, and a Q calculator 54. Q latch 55, and Chien search circuit group 56. The Chien search circuit group 56 includes a plurality of Chien search circuits 57. The plurality of Chien search circuits 57 are arranged in a matrix form in the row and column directions with respect to the Chien search circuit group 56. For example, the plurality of Chien search circuits 57 are arranged in 16 rows and 32 columns (e.g., 16 grids in the vertical direction and 32 grids in the horizontal direction). However, the Chien search circuit 57 need not be provided at every intersection or intersection of rows and columns (e.g., 16 x 32 = 512 points), but the data length of the encoded data column (i.e. the number of bits used). Some may be omitted.

치엔 탐색 회로(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 Chien search circuits 57 may be configured as shown in FIG. 5. FIG. 5 is a block diagram showing a configuration example of the Chien search circuit 57 shown in FIG. The Chien search circuit 57 shown in FIG. 5 includes a substitution value calculator 71 and an error position search equation calculator 72. The substitution value calculating section 71 supplies the bit string signal dpj (one of j = 0 to 31) supplied from the P latch 53 and the bit string signal dqk supplied from the Q latch 55 (k = 0). By receiving one of ˜15) and adding the received signals (i.e., calculating dpj + dqk), so that the circles α of the Galloche substituted for x in the error location search equation Λ (x) shown in FIG. 2B. ^ i) (i = 0, 1, 2, ..., 511 (= 2 ^ 9-1))

도 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 equation calculation unit 72 shown in FIG. 5 includes the coefficients e4 of the circle α ^ i supplied from the substitution value calculation unit 71 and the error position search equation supplied from the S calculator 51. Based on e3, e2, e1, e0), the circle α ^ i is substituted into the error position search equation Λ (x) and the value of the error position search equation Λ (x) is calculated. In other words, the error position search equation Λ (x) is calculated as "x = α ^ i". Here, the value Z [i] of the i-th bit of the signal Z [319: 0] is " 1, " " Λ (α ^ i) ≠ when " Λ (α ^ i) = 0 " 0 ", it is set to '0'.

또한, 에러 위치 탐색 방정식 산출부(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 equation calculation unit 72 may be configured, for example, as shown in FIG. 6. FIG. 6 is a block diagram showing an example of the configuration of the error position search equation calculation unit 72 shown in FIG. The error position search equation calculation unit 72 shown in FIG. 6 includes the "e1 (α ^ i) + e0" calculation unit 81, the "e2 (α ^ i) ^ 2" calculation unit 82, and "e3 (α) ^ i) ^ 3 "calculation unit 83," e4 (α ^ i) ^ 4 "calculation unit 84, and" Z [i] "calculation unit 85. The "e1 (α ^ i) + e0" calculation unit 81 calculates "e1 (α ^ i) + e0" using the circle α ^ i and the coefficients e1, e0. The "e2 (α ^ i) ^ 2" calculation unit 82 calculates "e2 (α ^ i) ^ 2" using the circle α ^ i and the coefficient e2. The "e3 (α ^ i) ^ 3" calculation unit 83 calculates "e3 (α ^ i) ^ 3" using the circle α ^ i and the coefficient e3. The "e4 (α ^ i) ^ 4" calculation unit 84 calculates "e4 (α ^ i) ^ 4" using the circle α ^ i and the coefficient e4. Then, the "Z [i]" calculation unit 85 includes "e1 (α ^ i) + e0" calculation unit 81, "e2 (α ^ i) ^ 2" calculation unit 82, and "e3 (α ^). i) ^ 3 "calculation unit 83 and" e4 (α ^ i) ^ 4 "calculation unit 84, using" e4 (α ^ i) ^ 4 + e3 (α ^ i) ^ 3 + e2 (α) ^ i) ^ 2 + e1 (α ^ i) + e0 "is calculated. The "Z [i]" calculation unit 85 determines whether the calculated value is 0 or not, and based on the determination result, determines the value Z [i] of the i-th bit of the signal Z [319: 0]. In the case of "Λ (α ^ i) = 0", it is set to "1" and in the case of "Λ (α ^ i) ≠ 0", the output is set. In addition, the "e2 (α ^ i) ^ 2" calculation unit 82, the "e3 (α ^ i) ^ 3" calculation unit 83, and the "e4 (α ^ i) ^ 4" calculation unit 84 For example, it may be composed of a plurality of multipliers. In this case, each calculation may be calculated for one clock period.

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 S calculator 51 receives the coefficients e4, e3, e2, e1, e0 from the error coefficient calculating circuit 32 and outputs them to each Chien search circuit 57. In addition, the S calculator 51 uses galloaches GF (2 ^ 9) which are used when each Chien search circuit 57 generates a value substituted into the error position search equation Λ (x) during Chien search. Generate a portion of the circles and output as signals S1, S2, S3, S4, S5, S6, S7, S8.

여기서, 도 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 S calculator 51 outputs is demonstrated. FIG. 7 is a table describing some of the circles of galloche (GF (2 ^ 9)). As shown in FIG. 7, each circle may be represented by a Becky representation, a polynomial representation, and a vector representation. As shown in FIG. 7, in galloace (GF (2 ^ 9)) (m = 9), "1 (= α ^ 0), α ^ 1, α ^ 2, ..., α ^ ( The nine circles of "m-1) (= alpha 8)" have a value in which either bit of each bit of nine bits in the vector representation is '1'. As a Becky expression, the vector representation of nine circles with "α ^ 0, α ^ 1, α ^ 2, ..., α ^ 8" is '000000001', '000000010', '000000100', '000001000', '000010000', '000100000', '001000000', '010000000' and '100000000'. Therefore, all the circles (α ^ i (i = 0, 1, 2, ..., 2 ^ (m-1) (= 511))) of galloace (GF (2 ^ 9)) are "α ^ 0, α ^ 1, α ^ 2, ..., α ^ 8 "may be represented by a plurality of combinations of nine circles (for example, as a result of being added to each other).

예를 들어, 에러 위치 탐색 방정식(Λ(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).

Figure 112013031598587-pat00001
Figure 112013031598587-pat00001

마찬가지로, "α^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 S calculator 51 generates values of nine circles α ^ 0, α ^ 1, α ^ 2, ..., α ^ 8, as shown in Fig. 4A, and the signals S1, S2, S3. , S4, S5, S6, S7, S8). The signals S1, S2, S3, S4, S5, S6, S7, and S8 are 9-bit signals, respectively.

본 발명의 실시 예에 따른 치엔 탐색 회로(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 Chien search circuit 57 according to the embodiment of the present invention calculates the substitution value α ^ i by the addition process of the substitution value calculation unit 57 and calculates an error position search equation. By substituting the value calculated using the section 72, the value of the position search equation Λ (x) is calculated. Therefore, each Chien search circuit 57, if a signal indicating nine circles α ^ 0, α ^ 1, α ^ 2, ..., α ^ 8 is supplied, all the circles α ^ 0, ..., Any circle α ^ i can be calculated from α ^ 511). Thus, each Chien search circuit 57 can calculate the value of the error position search equation Λ (x) for any circle α ^ 0, ..., α ^ 511. However, all the signals indicating the nine circles α ^ 0, α ^ 1, α ^ 2, ..., α ^ 8 must be supplied to each Chien search circuit 57. However, not all Chien search circuits 57 use all of the signals pointing to the nine circles α ^ 0, α ^ 1, α ^ 2, ..., α ^ 8. Supplying unnecessary signals means installing unnecessary wiring. Here, in the configuration described with reference to FIG. 3, in order to reduce unnecessary wiring, a signal indicating nine circles (α ^ 0, α ^ 1, α ^ 2, ..., α ^ 8) is selected as the base value. Group the selected base values into signal parts of 2 parts (P part and Q part), classify each signal part as 32 or 16 using quasi-base value (ie after 512 classification), and then Signals of one classification are supplied to each Chien search circuit 57. As a result, only one predetermined circle α ^ i can be calculated by each Chien search circuit 57.

만일 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 Chien search circuit 57.

준기저값은 도 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 Chien search circuit 57, are combined. In addition to α ^ 2, ..., α ^ 8, the remaining circles α ^ 9, ..., α ^ (t-1) (t = 2 ^ m) are generated. The bit string signals dpj and dqk of two parts are calculated by the P calculator 52 and the Q calculator 54.

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 P calculator 52 is based on the nine-bit signals S4, S5, S6, S7 and S8, according to the calculation formula shown in Fig. 4B, the nine-bit bit string signals dp0, dp1, dp2, ..., dp30. , dp31) and print it. For example, the signal dp1 multiplies each bit of the signal S4 by the bit 4 ('1') of the quasi-base value p1 shown in Fig. 8A, and thus the bit 5 ('0') is the signal S5. As a result of multiplying each bit of), bit 6 ('0') by multiplying each bit of signal S6, bit 7 ('0') by multiplying each bit of signal S7, and bit 8 ( '0') is calculated as the result of adding the result of multiplying each bit of the signal S8.

또한, 신호(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 P calculator 52 are stored in the P latch 53. The P latch 53 outputs the latched signals dp0, dp1, dp2, ..., dp30, dp31 in synchronization with a predetermined clock signal for clock skew adjustment. The signals dp0, dp1, dp2,..., Dp30, and dp31 output from the P latch 53 are supplied to the plurality of Chien search circuits 57 through 32 signal line parts of 9 bits each provided in the column direction.

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 Q calculator 54 is based on each of the nine bits of signals S0, S1, S2, S3, according to the calculation formula shown in Fig. 4B, each of the nine bit bit string signals dq0, dq1, dq2, ..., dq14. , dq15). For example, the signal dq1 multiplies each bit of the signal S3 by bit 3 ('0') of the quasi-base value q1 shown in FIG. 8B, and thus bit 2 ('0') is multiplied by the signal S2. Multiply each bit of < RTI ID = 0.0 >), < / RTI > the result of multiplying each bit of signal S1 by the bit 1 ('0;) and the result of multiplying each bit of the signal S0 by the bit 0 (' 1 '). Calculate with the result.

또한, 신호(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 Q calculator 54 are input to the Q latch 55. The Q latch 55 outputs the latched signals dq0, dq1, dq2, ..., dq14, dq15 in synchronization with a predetermined clock signal for clock skew adjustment. The signals dq0, dq1, dq2, ..., dq14, dq15 output from the Q latch 55 are supplied to the plurality of Chien search circuits 57 through 16 signal line parts of each of 9 bits provided in the row direction.

비트 열신호(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 Chien search circuits 57 are arranged in a matrix form along the row direction and the column direction, and the bit column signal dpj is in one of the row direction or the column direction, The signal dqk may be supplied in the other direction of the row direction or the column direction.

갈로아체(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 Patent Document 1 and Patent Document 2 cause Chien search to operate in parallel. For example, the values for two circles are calculated simultaneously in parallel.

한편, 상술된 본 발명의 실시 예에 따른 치엔 탐색부(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 Chien search unit 33 according to the embodiment of the present invention described above, the plurality of circles (α ^ i) (i = 0, 1, 2, ..., 2 ^ (m-1)) a plurality of values It is supplied to any part of the Chien search circuit 57. That is, according to an embodiment of the present invention, an error position search equation Λ (x) when each circle α ^ i (i = 0, 1, 2, ..., 2 ^ (m-1)) is substituted ) Can be calculated collectively using the plurality of Chien search circuits 57.

본 발명의 실시 예에서, 복수의 치엔 탐색 회로(57)가 매트릭스 형태로 배치되고, 에러 위치 탐색 방정식(Λ(x))에 대입되는 복수의 값들이 2 파트로 분할되고, 각 파트의 값이 행방향과 열방향의 직교 하는 2 방향으로부터 따로 공급된다. 따라서, 치엔 탐색 회로(57)의 배치와 값의 분할을 적절히 선택함으로써, 각 대입값을 공급하는 배선이 직선적으로(즉, 최단거리로) 배선될 수 있다.In an embodiment of the present invention, a plurality of Chien search circuits 57 are arranged in a matrix form, a plurality of values that are substituted into the error location search equation Λ (x) are divided into two parts, and the value of each part is It is supplied separately from two directions orthogonal to the row and column directions. Therefore, by appropriately selecting the arrangement of the Chien search circuit 57 and the division of the values, the wirings supplying each substitution value can be wired linearly (ie, at the shortest distance).

본 발명의 실시 예들은 상술된 것으로 한정되지 않는다. 예를 들면, 정보 비트수나 패리티 비트수가 변경되거나 블록도로 도시된 구성의 각 블록이 한층 더 분할되거나 복수의 블록들이 통합되는 등의 변경이 수행될 수 있다.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; Nonvolatile semiconductor memory 11; Memory cell array
12; Page buffer 13; Error detection correction circuit
14; Buffer 15; I / O pad
16; Control circuit 17; Address decoder
18; Low and Block Decoder
21; Decoder section 31; Syndrome output circuit
32; Error coefficient calculating circuit 33; Chien Seeker
34; Error correction circuit 41; Parity generation circuit
51; S calculator 52; P calculator
53; P latch 54; Q calculator
55; Q latch 56; Chien Search Circuit Group
57; Chien search circuit 71; Substitution value calculator
72; Error position search equation calculation unit

Claims (3)

갈로아체(GF(2^n))의 임의의 원을 에러 위치 탐색 방정식의 대입값으로 이용하여 데이터 열의 비트마다 에러가 있는지 아닌지를 판정하는 치엔 탐색부를 구비한 에러 검출 정정 회로에 있어서:
상기 치엔 탐색부는,
소정의 복수의 원들에 대해 (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.
제 1 항에 있어서,
상기 치엔 탐색 회로가 상기 데이터 열의 비트 수 이상으로 복수개 설치되는 에러 검출 정정 회로.
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.
KR1020130039899A 2012-09-12 2013-04-11 Error check and correction circuit and semiconductor memory Active KR102027949B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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