KR101974301B1 - A symmetric bc-bch decoder for error correction of flash memory, an error correcting method and system using the sbc-bch decoder - Google Patents

A symmetric bc-bch decoder for error correction of flash memory, an error correcting method and system using the sbc-bch decoder Download PDF

Info

Publication number
KR101974301B1
KR101974301B1 KR1020180000922A KR20180000922A KR101974301B1 KR 101974301 B1 KR101974301 B1 KR 101974301B1 KR 1020180000922 A KR1020180000922 A KR 1020180000922A KR 20180000922 A KR20180000922 A KR 20180000922A KR 101974301 B1 KR101974301 B1 KR 101974301B1
Authority
KR
South Korea
Prior art keywords
syndrome
error correction
data
error
symmetric
Prior art date
Application number
KR1020180000922A
Other languages
Korean (ko)
Inventor
이영주
황석하
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020180000922A priority Critical patent/KR101974301B1/en
Application granted granted Critical
Publication of KR101974301B1 publication Critical patent/KR101974301B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Abstract

The present invention relates to a symmetric concatenated BCH decoder for error correction of a flash memory and an error correction method and system using the same. According to an embodiment of the present invention, the symmetric concatenated BCH (SBC-BCH) decoder for error correction of a flash memory comprises: a data input/output unit (code word FIFO) which receives data for error correction from a flash memory and generates a syndrome based on the received data for error correction at the same time; a syndrome buffer in which the data for error correction and the generated syndrome are stored; a key equation solver which generates a polynomial based on the syndrome for error correction; a Chien search unit which performs operation for finding the position of an error in the data for error correction based on the polynomial; and a syndrome tracker which performs operation for rearranging codes for operations performed by the Chien search unit.

Description

플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치 복호화기와 이를 이용한 오류 정정 방법 및 시스템 {A SYMMETRIC BC-BCH DECODER FOR ERROR CORRECTION OF FLASH MEMORY, AN ERROR CORRECTING METHOD AND SYSTEM USING THE SBC-BCH DECODER}FIELD OF THE INVENTION [0001] The present invention relates to a symmetric concatenated BC decoder for error correction of a flash memory and an error correction method and system using the same.

본 발명은 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치 복호화기와 이를 이용한 오류 정정 방법 및 시스템에 관한 것으로, 더욱 상세하게는 플래시 메모리의 데이터 손실값 또는 오류를 효과적으로 정정하기 위해 재정렬 치엔 서치(Chien Search) 기법을 이용하여 대칭형 연접 비씨에이치(SBC-BCH) 부호를 지원하는 복호화기 및 이를 이용하여 오류를 정정하는 방법 및 그 시스템에 관한 것이다. The present invention relates to a symmetric concatenated BC decoder for error correction of a flash memory and an error correction method and system using the same. More particularly, the present invention relates to a symmetric concatenated BC decoder, (SBC-BCH) codes using a decoding scheme, and a method and system for correcting errors using the same.

낸드 플래시(NAND flash) 메모리는 전원이 공급되지 않아도 저장된 데이터가 유지되는 비휘발성(non-volatile) 메모리로서, 이를 기반으로 한 데이터 저장 장치인 내장 메모리와 SSD(solid-statedrive)는 스마트폰과 디지털 카메라 등 포터블 기기 및 컴퓨터 등에 널리 사용되고 있다.NAND flash memory is a non-volatile memory in which stored data is retained even when no power is supplied. The built-in memory and SSD (solid-statedrive), which are data storage devices based on the non-volatile memory, And is widely used in portable devices such as cameras and computers.

최근 낸드 플래시 메모리의 집적도를 높이기 위한 주요 기술로, 데이터가 저장되는 셀(cell) 자체의 크기를 줄여주는 미세 공정화와 셀 당 저장되는 정보량을 늘려주는 멀티-레벨(multi-level)화가 사용되고 있다. 이러한 기술의 적용은 낸드 플래시 메모리 자체의 오류를 증가시키게 되므로, NAND flash 메모리 기 반 데이터 저장 장치의 신뢰성을 높은 수준으로 유지하기 위해 서는 우수한 정정 능력을 갖는 오류 정정 부호(error control code)를 사용하는 것이 필수적이다.Recently, as a main technique for increasing the degree of integration of NAND flash memories, there has been used a multi-level method of increasing the amount of information stored per cell and fine processing that reduces the size of a cell in which data is stored. In order to maintain the reliability of the NAND flash memory based data storage device at a high level, it is necessary to use an error control code having excellent correction capability because the application of such a technique increases errors of the NAND flash memory itself It is essential.

오류 정정 부호는 연판정 오류 정정 부호(soft-decision ECC), 경판정 오류 정정 부호(hard-decision ECC)로 크게 분류할 수 있는데, 연판정 오류정정부호는 오류 정정 성능은 높으나 하드웨어 구현 측면에서 상대적으로 큰 면적을 차지하며, 현재 사용되는 플래시 메모리의 성느에 부합하는 높은 출력 속도를 구현하기 어렵다. 이에 오류 정정 부호의 성능을 높인 차세대 경판정 오류 정정 부호의 개발이 요구되었고, 개별 오류 정정 부호간의 정보 의존성을 이용한 연접 오류 정정 부호가 개발되었다. The error correcting codes can be roughly classified into soft-decision ECC and hard-decision ECC. The soft-error correcting code has a high error correcting performance, And it is difficult to realize a high output speed in accordance with the currently used flash memory. Therefore, it is required to develop a next - generation hard - decision error correcting code which improves the performance of the error correcting code, and a joint error correcting code using the information dependency between the individual error correcting codes has been developed.

기존에 개발된 연접 오류 정정 부호는 복잡도의 증가 대비 정정 성능의 상대적인 증가폭이 높지 못한 문제가 있어 이후에 이를 개선한 삼각 기하 구조를 지니는 대칭형 연접 비씨에이치 부호가 개발되었으나, 종래의 복호화기(대한민국 등록특허공보 제10-1267958호)를 이용하는 경우 대칭형 연접 비씨에이치 부호 간의 정보 의존성으로 인해 효과적으로 정정 성능을 구현하기 어려운 문제가 있다.Conventionally developed concatenated error correcting codes have a problem in that the relative increase in correction performance is not high compared to the increase in complexity. Therefore, a symmetric concatenated BC code having a triangular geometry has been developed. However, Patent Publication No. 10-1267958), there is a problem that it is difficult to effectively implement correction performance due to information dependency between symmetric concatenated BCAQ codes.

대한민국 등록특허공보 제10-1267958호 (2013.05.21.)Korean Registered Patent No. 10-1267958 (Feb.

본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로서, 대칭형 연접 비씨에이치 부호를 이용하여 오류를 정정하는데 최적화된 대칭형 연접 비씨에이치 복호화기와 이를 이용하여 오류를 정정하는 방법 및 시스템을 제공하는데 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems and it is an object of the present invention to provide a symmetric concatenated BC decoder that is optimized for correcting errors using a symmetric concatenated BC code and a method and system for correcting errors using the symmetric concatenated BC decoder. .

또한, 오류 정정을 위해 플래시 메모리에서 소모되는 에너지를 최소화하기 위한 방법으로 치엔 서치의 재정렬 과정을 이용하여 종래의 복호화기에 비해 연산 속도가 빠르며 자체적인 에너지 효율이 높도록 구성된 대칭형 연접 비씨에이치 복호화기와 이를 이용하여 오류를 정정하는 방법 및 시스템을 제공하는데 목적이 있다.In order to minimize the energy consumed in the flash memory for error correction, a symmetric concatenated BC decoder is constructed by using a rearrangement process of the ChienSearch and configured to have a higher computation speed and higher energy efficiency than conventional decoders. And to provide a method and a system for correcting an error by using the method.

본 발명의 일 실시예에 따른 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치(SBC-BCH) 복호화기는, 플래시 메모리로부터 오류 정정을 위한 데이터를 입력받음과 동시에 입력받은 오류 정정을 위한 데이터를 기초로 신드롬을 생성하는 데이터 입출력부(Codeword FIFO), 오류 정정을 위한 데이터 및 생성된 신드롬이 저장되는 신드롬 버퍼(Syndrome Buffer), 오류 정정을 위한 신드롬을 기초로 하여 다항식을 생성하는 키 방정식 풀이부(Key Equation Solver), 다항식에 기초하여 오류 정정을 위한 데이터의 오류의 위치를 찾기 위한 연산을 수행하는 치엔 서치부(Chien Search) 및 치엔 서치부에서 진행되는 연산을 위해 코드의 재정렬을 위한 연산을 수행하는 신드롬 추적부(Syndrome Tracker)를 포함하되, 치엔 서치부는 복수개로 형성되고, 복수개의 치엔 서치부 각각은 키 방정식 풀이부에 병렬로 연결되며, 신드롬 추적부는 복수개의 치엔 서치부 각각에 대응되도록 형성될 수 있다.A symmetric concatenated BC (SBC-BCH) decoder for error correction of a flash memory according to an embodiment of the present invention receives data for error correction from a flash memory and simultaneously receives data for error correction A data input / output unit (FIFO) for generating syndromes, a syndrome buffer for storing error correction data and generated syndromes, and a key equation solving unit for generating a polynomial based on a syndrome for error correction Equation Solver), a Chien Search for performing an operation for searching for a location of an error in data for error correction based on a polynomial, and an operation for reordering codes for operations performed in the Chien search portion And a syndrome tracker, wherein the plurality of CHAN search parts are formed, and each of the plurality of CHAN search parts comprises: It is connected in parallel to the equation solving unit, syndrome track portion may be formed so as to correspond to each of the plurality of Chien search section.

본 발명의 일 실시예에 따른 오류 정정을 위한 데이터에는 대칭형 연접 비씨에이치 부호가 포함될 수 있다.The data for error correction according to an embodiment of the present invention may include a symmetric concatenated BC code.

본 발명의 일 실시예에 따른 신드롬 추적부는 피드백 경로를 통해 각 구성부호들의 전체 오류 패턴을 수집하여 전체 신드롬의 차이를 추정하는 메인 신드롬 연산부(Main Syndrome Calculation) 및 각 구성부호들의 부분 신드롬의 차이를 추정하는 서브 신드롬 연산부(Sub Syndrome Calculation)을 포함할 수 있다.The syndrome tracking unit according to an embodiment of the present invention includes a main syndrome calculation unit for collecting all error patterns of respective constituent codes through a feedback path to estimate a difference between all syndromes, (Sub Syndrome Calculation) that estimates a sub-syndrome.

본 발명의 일 실시예에 따른 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치(SBC-BCH) 복호화 시스템은, 전술한 대칭형 연접 비씨에이치 복호화기, 대칭형 연접 비씨에이치 복호화기에 의해 검출된 데이터의 오류의 위치를 수신하여 오류를 정정하기 위한 에러 관리부(error manager) 및 오류 정정을 위한 데이터 및 복호화된 데이터가 저장되는 메모리부(SRAM)를 포함할 수 있다.A symmetric concatenated BC (SBC-BCH) decoding system for error correction of a flash memory according to an embodiment of the present invention is characterized in that the error of data detected by the symmetric concatenated BC decoder and the symmetric concatenated BC decoder, An error manager for receiving the position and correcting the error, and a memory unit (SRAM) for storing data for decode and decoded data.

본 발명의 일 실시예에 따른 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치(SBC-BCH) 부호를 이용하여 오류를 정정하는 방법은, 데이터 입출력부(Codeword FIFO)를 통해 플래시 메모리로부터 오류 정정을 위한 데이터를 입력받음과 동시에 입력받은 오류 정정을 위한 데이터를 기초로 신드롬을 생성하는 제 1 단계, 오류 정정을 위한 데이터 및 생성된 신드롬이 신드롬 버퍼(Syndrome Buffer)에 저장되는 제 2 단계, 오류 정정을 위해 생성된 신드롬을 기초로 하여 키 방정식 풀이부(Key Equation Solver)에서 다항식을 생성하는 제 3 단계, 다항식에 기초하여 치엔 서치부(Chien Search)에서 오류 정정을 위한 데이터의 오류의 위치를 찾기 위한 연산을 수행하는 제 4 단계 및 신드롬 추적부(Syndrome Tracker)에서 치엔 서치부에서 진행되는 연산을 위해 코드의 재정렬을 위한 연산을 수행하는 제 5 단계를 포함하되, 치엔 서치부는 복수개로 형성되고, 복수개의 치엔 서치부 각각은 키 방정식 풀이부에 병렬로 연결되며, 신드롬 추적부는 복수개의 치엔 서치부 각각에 대응되도록 형성될 수 있다.A method of correcting an error using a symmetric concatenated BC (SBC-BCH) code for error correction of a flash memory according to an embodiment of the present invention includes error correction from a flash memory through a data input / output unit (Codeword FIFO) A first step of receiving data for error correction and generating a syndrome on the basis of data for error correction inputted, a second step of storing data for error correction and the generated syndrome in a syndrome buffer, A third step of generating a polynomial in the Key Equation Solver based on the syndrome generated for the first time, and a third step of finding the position of the error in the data for error correction in the Chien Search based on the polynomial equation A fourth step of performing an operation for performing a computation for an operation performed by the Syntrome Tracker, And a fifth step of performing an operation on a plurality of Tien search parts, wherein each of the plurality of Tien search parts is connected in parallel to the key equation solution part, and the syndrome tracking part is formed to correspond to each of the plurality of Tien search parts .

본 발명의 일 실시예에 따르면 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치(SBC-BCH) 부호를 이용하여 오류를 정정하는 방법에는 전술한 제 2 단계 내지 제 5 단계가 반복적으로 수행되어 복호화된 데이터가 데이터 입출력부를 통해 플래시 메모리로 출력되는 단계가 더 포함될 수 있다.According to an embodiment of the present invention, a method for correcting an error using a symmetric concatenated BC (SBC-BCH) code for error correction of a flash memory includes the steps of And the step of outputting the data to the flash memory via the data input / output unit.

본 발명의 일 실시예에 따른 오류 정정을 위한 데이터에는 대칭형 연접 비씨에이치 부호가 포함될 수 있다.The data for error correction according to an embodiment of the present invention may include a symmetric concatenated BC code.

본 발명의 일 실시예에 따른 신드롬 추적부는 피드백 경로를 통해 각 구성부호들의 전체 오류 패턴을 수집하여 전체 신드롬의 차이를 추정하는 메인 신드롬 연산부(Main Syndrome Calculation) 및 각 구성부호들의 부분 신드롬의 차이를 추정하는 서브 신드롬 연산부(Sub Syndrome Calculation)을 포함할 수 있다.The syndrome tracking unit according to an embodiment of the present invention includes a main syndrome calculation unit for collecting all error patterns of respective constituent codes through a feedback path to estimate a difference between all syndromes, (Sub Syndrome Calculation) that estimates a sub-syndrome.

한편, 본 발명의 일 실시예에 의하면, 전술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.According to another aspect of the present invention, there is provided a computer-readable recording medium storing a program for causing a computer to execute the above-described method.

본 발명의 일 실시예로서 제공되는 복호화기, 이를 이용한 오류 정정 방법 및 시스템에 따르면, 대칭형 연접 비씨에이치 부호를 사용하여 기존의 연접 부호보다 정정 성능을 높일 수 있고, 대칭형 연접 비씨에이치 부호의 사용에 최적화된 하드웨어 구조를 구현하여 종래의 복호화기에 비해 복호화 연산의 효율 및 속도를 향상시킬 수 있다.According to the decoder and the error correction method and system using the decoder provided as one embodiment of the present invention, it is possible to improve the correction performance over the existing concatenated code using the symmetric concatenated BC code, and to use the symmetric concatenated BC code By implementing an optimized hardware structure, efficiency and speed of decoding operation can be improved as compared with the conventional decoder.

또한, 오류 정정을 위해 플래시 메모리에서 소모되는 에너지를 최소화하기 위한 방법으로 치엔 서치의 재정렬 과정을 이용하고 이를 구현할 수 있어, 종래에 비해 확실히 개선된 오류 정정 능력을 확보할 수 있다.In addition, as a method for minimizing the energy consumed in the flash memory for error correction, the reordering process of the chip search can be used and implemented, and the improved error correction capability can be secured as compared with the prior art.

도 1은 종래의 오류 정정을 위한 비씨에이치 부호를 지원하는 복호화기 구조의 일 예를 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 부호의 구조를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 부호를 포함한 오류 정정 부호의 성능을 평가한 결과를 나타낸 그래프이다.
도 5는 종래의 직선형 복호화기를 이용한 복호화 방식 및 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 부호의 복호화 방식의 과정을 비교하여 도식화한 예를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 치엔 서치의 재정렬 과정을 도식화한 예를 나타낸다.
도 7은 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기 및 메모리부를 나타낸 블록도이다.
도 8은 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기의 신드롬 추적부의 구성을 상세히 나타낸 구조도이다.
도 9는 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화 시스템의 구조를 나타낸 블록도이다.
도 10는 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화 시스템의 구조를 나타낸 블록도의 또다른 예이다.
도 11은 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 부호를 이용하여 오류를 정정하는 방법을 나타낸 순서도이다.
1 is a block diagram illustrating an example of a structure of a decoder supporting conventional BCAST for error correction.
FIG. 2 is a block diagram illustrating a configuration of a symmetric concatenated BC decoder according to an embodiment of the present invention. Referring to FIG.
3 illustrates a structure of a symmetric concatenated DBS code according to an embodiment of the present invention.
4 is a graph illustrating the performance of an error correcting code including a symmetric concatenated DBS code according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating a decoding scheme using a conventional linear decoder and a decoding scheme of a symmetric concatenated DBase code according to an embodiment of the present invention.
FIG. 6 is a diagram illustrating an example of a rearrangement process of a Chiens search according to an embodiment of the present invention.
FIG. 7 is a block diagram illustrating a symmetric concatenated BC decoder and a memory according to an embodiment of the present invention. Referring to FIG.
FIG. 8 is a block diagram illustrating a syndrome tracking unit of a symmetric concatenated BC decoder according to an exemplary embodiment of the present invention. Referring to FIG.
FIG. 9 is a block diagram illustrating a structure of a symmetric concatenated BCAU decoding system according to an embodiment of the present invention. Referring to FIG.
10 is a block diagram illustrating a structure of a symmetric concatenated BCAST system according to an embodiment of the present invention.
11 is a flowchart illustrating a method of correcting errors using a symmetric concatenated DBase code according to an embodiment of the present invention.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.The terms used in this specification will be briefly described and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Also, in certain cases, there may be a term selected arbitrarily by the applicant, in which case the meaning thereof will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term, not on the name of a simple term, but on the entire contents of the present invention.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When an element is referred to as " including " an element throughout the specification, it is to be understood that the element may include other elements as well, without departing from the spirit or scope of the present invention. Also, the terms " part, " " module, " and the like described in the specification mean units for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software .

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 종래의 오류 정정을 위한 비씨에이치 부호를 지원하는 복호화기 구조의 일 예를 나타낸 블록도이다.1 is a block diagram illustrating an example of a structure of a decoder supporting conventional BCAST for error correction.

도 1을 참조하면, 종래의 오류 정정을 위한 비씨에이치 복호화기는 신드롬 연산부(Syndrome caculation, SC), 키-방정식 풀이부(Key-equation solver, KES), 에러-위치 검색부(Error-position search, EPS)로 구성되어 있다. 종래의 복호화기를 이용한 복호화 과정은 먼저 신드롬 연산부에 해당하는 블록이 플래시 메모리로부터 수신한 데이터를 통해 오류를 찾기 위한 방정식의 계수를 생성하면, 키-방정식 풀이부에 해당하는 블록에서 데이터의 오류를 찾기 위한 방정식을 구성하며, 에러-위치 검색부에 해당하는 블록이 방정식에 임의의 답을 입력하며 오류의 위치를 찾아내는 구조로 연산이 진행된다. 각 블록의 동작은 정보 블록 단위로 수행되며, 한 동작이 완전히 수행되면, 정정된 정보 단위 블록 순서로 출력이 진행된다.Referring to FIG. 1, a conventional BC decoder for error correction includes a syndrome calculator (SC), a key-equation solver (KES), an error-position searcher EPS). In the decoding process using the conventional decoder, when a block corresponding to a syndrome operation unit generates a coefficient of an equation for finding an error through the data received from the flash memory, the error of the data in the block corresponding to the key- And a block corresponding to the error-position search unit inputs an arbitrary answer into the equation and calculates the position of the error. The operation of each block is performed in units of information blocks. When one operation is completely performed, the output proceeds in the order of corrected information unit blocks.

종래의 비씨에이치 복호화기는 처리속도를 대폭 높이기 위해 각 복호화 블록이 연산을 끊임없이 진행하도록 형성된 파이프라인 구조로 설계되었는데, 연접 부호를 사용 시 부호가 지니는 의존성의 문제로 파이프라인 구조를 일반적으로는 만들 수 없는 문제가 있다. 따라서, 연산을 중복적으로 수행할 수 밖에 없을 뿐만 아니라, 정보 블록의 상호 의존성에 의해 이전 구성부호의 연산의 완전행 선행이 필요하게 되어 메모리 접근이 늘어나는 비효율적인 동작이 연속적으로 수행되게 되고, 연산기 구조 개선을 위해 블록을 병렬화하는 구성을 통해 연산 속도를 증가시키는 것이 불가능해질 수 밖에 없다.Conventional BC decoders are designed in a pipelined structure in which each decoding block is designed to continuously perform an operation in order to increase the processing speed significantly. Generally, a pipeline structure can be created due to the dependency of the sign when the concatenated code is used There is no problem. Therefore, it is not only impossible to perform the operations redundantly, but also the inefficient operation of increasing the memory access is performed continuously by the necessity of the full-row precedence of the operation of the previous constituent code due to the interdependence of the information blocks, In order to improve the structure, it is impossible to increase the operation speed through the configuration for parallelizing the blocks.

도 2는 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기(100)의 구성을 나타낸 블록도이다. 2 is a block diagram illustrating a configuration of a symmetric type DBase decoder 100 according to an embodiment of the present invention.

도 2을 참조하면, 본 발명의 일 실시예에 따른 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치(SBC-BCH) 복호화기(100)는, 플래시 메모리로부터 오류 정정을 위한 데이터를 입력받음과 동시에 입력받은 오류 정정을 위한 데이터를 기초로 신드롬을 생성하는 데이터 입출력부(110)(Codeword FIFO), 오류 정정을 위한 데이터 및 생성된 신드롬이 저장되는 신드롬 버퍼(120)(Syndrome Buffer), 오류 정정을 위한 신드롬을 기초로 하여 다항식을 생성하는 키 방정식 풀이부(130)(Key Equation Solver), 다항식에 기초하여 오류 정정을 위한 데이터의 오류의 위치를 찾기 위한 연산을 수행하는 치엔 서치부(140)(Chien Search) 및 치엔 서치부(140)에서 진행되는 연산을 위해 코드의 재정렬을 위한 연산을 수행하는 신드롬 추적부(150)(Syndrome Tracker)를 포함하되, 치엔 서치부(140)는 복수개로 형성되고, 복수개의 치엔 서치부(140) 각각은 키 방정식 풀이부(130)에 병렬로 연결되며, 신드롬 추적부(150)는 복수개의 치엔 서치부(140) 각각에 대응되도록 형성될 수 있다.Referring to FIG. 2, a symmetric concatenated BC (SBC-BCH) decoder 100 for error correction of a flash memory according to an embodiment of the present invention receives data for error correction from a flash memory A data input / output unit 110 (Codeword FIFO) for generating a syndrome on the basis of data for error correction received, a syndrome buffer 120 for storing data for error correction and a generated syndrome, (Key Equation Solver) 130 for generating a polynomial based on the syndrome for the error correction, a chien search unit 140 for performing an operation for finding the position of an error in data for error correction based on the polynomial And a syndrome tracker 150 for performing an operation for rearranging codes for operations performed by the Chien search unit 140. The Chien search unit 140 includes a syndrome tracking unit 150, Each of the plurality of CHN search units 140 is connected to the key equation solving unit 130 in parallel and the syndrome tracking unit 150 is formed to correspond to each of the plurality of CHN search units 140 .

종래의 비씨에이치 복호화기는 전술한 바와 같이 파이프라인화 또는 병렬화의 어려움 및 비효율적인 동작으로 인해 연산 속도를 증가시키는 것이 어렵기 때문에, 이러한 문제를 개선하기 위해서는 선행적으로 비효율적인 메모리 접근을 줄어야 한다. 최초에 메모리 접근을 하는 신드롬 연산부가 미리 동작하는 기법을 적용하면 속도를 일부나마 증가시킬 수 있는데, 이는 초기 신드롬 연산을 플래시 메모리에서 데이터를 수신함과 동시에 진행하여 버퍼에 저장하는 기법을 적용함으로써 구현할 수 있으며, 이를 통해 기존 구조 대비 연산 사이클의 소모를 줄일 수 있다. 또한, 이러한 버퍼 저장 기법을 이용하면 후행 연산에서 의존성을 지니는 블록의 단위 연산이 마무리되었을 때 곧바로 치엔 서치를 수행할 수 있기 때문에, 치엔 서치부(140)를 병렬로 구성하여 연산 속도를 증가시킬 수 있다.Conventional BC decoders, as described above, are difficult to increase the computation speed due to the difficulty of pipelining or parallelization and the inefficient operation. Therefore, in order to solve this problem, it is necessary to reduce inefficient memory access . Applying the pre-operation method of the syndrome operation unit that accesses the memory first can increase the speed even partially. This can be implemented by applying the method of storing the initial syndrome operation in the buffer at the same time as receiving the data from the flash memory Which can reduce the consumption of computation cycles compared to existing structures. In addition, when such a buffer storage technique is used, it is possible to perform a Chiensearch immediately when a unit operation of a block having a dependency in the following operation is completed. Therefore, have.

즉, 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기(100)는 플래시 메모리에서 데이터를 수신함과 동시에 신드롬 연산을 진행하여 신드롬을 생성하는 데이터 입출력부(110)와 생성된 신드롬 및 수신된 데이터를 저장하기 위한 신드롬 버퍼(120)를 포함하도록 설계되었으며, 데이터 입출력부(110)에 의한 연산 및 연산 결과가 신드롬 버퍼(120)에 저장되는 동작은 동시에 수행될 수 있다. 또한, 본 발명의 일 실시예에 따라 치엔 서치부(140)가 복수개로 형성되고 복수개의 치엔 서치부(140)가 키 방정식 풀이부(130)와 병렬로 연결됨으로써, 여러 구성부호를 동시에 복호화할 수 있도록 하여 복호화 연산을 위한 대기 시간을 단축시킬 수 있다.That is, the symmetric concatenated DBase decoder 100 according to an embodiment of the present invention includes a data input / output unit 110 for receiving syndrome data and generating a syndrome by receiving data from a flash memory, And a syndrome buffer 120 for storing data, and the operation of the data input / output unit 110 and the operation of storing the operation result in the syndrome buffer 120 can be performed at the same time. In addition, according to an embodiment of the present invention, a plurality of CHN search units 140 are formed and a plurality of CHANNEL search units 140 are connected in parallel with the key equation solver unit 130, So that the waiting time for the decoding operation can be shortened.

하지만, 본 발명의 일 실시예에 따라 데이터 입출력부(110)와 신드롬 버퍼(120)를 구성하고, 복수개의 치엔 서치부(140)를 병렬화하여 구성한 이후에도, 전술한 데이터 블록의 의존성에 의해 하드웨어의 사용률이 복호화 과정을 진행함에 따라 점차적으로 감소하는 문제점이 발생한다. 이러한 문제점을 해결하기 위해 재정렬 치엔 서치를 이용할 수 있다. 재정렬 치엔 서치란 치엔 서치가 수행될 때 코드가 재정렬되어 키 방정식 풀이가 수행된 이후에 곧바로 치엔 서치가 동작할 수 있도록 처리한 방식을 말한다. 구체적인 치엔 서치의 재정렬 과정은 후술하도록 하며, 이러한 치엔 서치의 재정렬을 지원하기 위해 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기(100)는 신드롬 추적부(150)를 포함할 수 있다. 즉, 신드롬 추적부(150)를 통해 후행 구성부호에 대한 신드롬이 현재 치엔 서치에 의해 발견된 오류의 위치에 따른 데이터 블록을 실시간으로 반영하여 버퍼(120)를 통해 업데이트가 가능하므로 일정한 주기로 지속적인 연산이 가능하여 최적의 연산 속도 및 정정 성능을 구현할 수 있다.However, even after the data input / output unit 110 and the syndrome buffer 120 are configured and the plurality of CHANNEL search units 140 are configured in parallel, according to the embodiment of the present invention, The use rate gradually decreases as the decoding process proceeds. To solve this problem, search can be used for realignment. The re-ordering refers to the way in which the code is rearranged when the Chiensearch is performed and processed so that the Chiensearch can operate immediately after the key equation is solved. The method of rearrangement of the specific CHN search will be described later. In order to support rearrangement of the CHN search, the symmetric concatenated BC decoder 100 according to an embodiment of the present invention may include a syndrome tracking unit 150. That is, since the syndrome for the succeeding constituent code can be updated through the buffer 120 by reflecting the data block corresponding to the position of the error found by the current value search through the syndrome tracking unit 150 in real time, It is possible to realize an optimum calculation speed and correction performance.

도 3은 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 부호의 구조를 나타낸다.3 illustrates a structure of a symmetric concatenated DBS code according to an embodiment of the present invention.

종래의 연접 부호는 부호 길이가 짧은 부호들을 기하학적 구조로 결합하고, 재차 전체 복호화를 통해 고치지 못한 데이터 블록을 반복 동작을 수행하여 고치는 방식을 통해 정정 성능을 증가시킬 수 있지만, 성능 향상폭은 연산 장치의 복잡도 증가 대비 높은 결과를 가져오지 못하였다.Conventional concatenated codes can improve the correction performance by combining codes having short code lengths in a geometric structure and performing repetitive operations by repairing data blocks that can not be repaired through full decoding. However, Which is not as high as the increase in complexity.

이를 극복하기 위해 본 발명의 일 실시예에 따른 삼각 기하 구조를 기진 대칭형 연접 부호는 도 3과 같이 직각 삼각형 형태로 코드의 시작점을 사용하며, 각 구성부호는 부호 길이가 짧은 비씨에이치 부호를 사용한다. 부호의 진행 방향은 우측 또는 우측 하단부로 진행하여 마지막에는 패리티 정보 블록을 끝으로 각 부호가 일부 정보 단위 블록을 공유함으로써 정정 성능을 향상시킬 수 있다.In order to overcome this problem, the triangular geometric structure of the symmetric concatenated code according to an embodiment of the present invention uses a starting point of a code in the form of a right triangle as shown in FIG. 3, and each constituent code uses a BC code having a short code length . The direction of the code advances to the right or the lower right, and finally, the parity information block ends, and each code shares some information unit blocks, thereby improving the correction performance.

도 4는 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 부호를 포함한 오류 정정 부호의 성능을 평가한 결과를 나타낸 그래프이다.4 is a graph illustrating the performance of an error correcting code including a symmetric concatenated DBS code according to an embodiment of the present invention.

즉, 도 4의 그래프는 부호의 정정 능력을 소프트웨어 시뮬레이션을 통해 검증 및 평가한 결과를 나타내는 것으로, 가로축의 RBER(raw bit-error rate)은 플래시 메모리에서 읽어낸 데이터 자체의 오류 발생 확률을 의미하며, 통신 시스템에서 주로 사용되는 uncoded bit-error rate와 동일한 개념이다. 세로축의 UBER(uncorrectable bit-error rate)는 정정 부호를 통해서도 수정되지 않는 오류의 비율(시스템의 요구 신뢰성 척도)를 의미한다. That is, the graph of FIG. 4 shows the result of verifying and evaluating the correction capability of the code through software simulation, and the raw bit-error rate (RBER) of the horizontal axis indicates the error occurrence probability of the data itself read from the flash memory , Which is the same concept as the uncoded bit-error rate used mainly in communication systems. The uncorrectable bit-error rate (UBER) on the vertical axis means the ratio of the error that is not corrected even through the correcting code (the required reliability measure of the system).

도 4의 그래프를 통해 기존의 플래시 메모리를 지원하기 위한 최신 정정 부호들을 비교해보았을 때, 동일한 UBER 선 상에서 보다 높은 RBER을 버텨낼 수 있는 부호가 더 우수한 정정 부호임을 판단할 수 있다. 따라서, 대칭형 연접 비씨에이치 부호(SBC-BCH)는 기존의 경판정 정정 부호들에 비해 상대적으로 높은 성능을 보이며 연판정 정정 부호로 사용되는 낮은 정정 성능의 LDPC 부호([5])보다 높은 성능을 보임을 확인할 수 있다. 또한, 고성능 LDPC 부호([4]. [6])는 대칭형 연접 비씨에이치 부호를 포함한 다른 경판정 정정 부호보다 상대적으로 높은 성능을 보이지만, 높은 전력 소모와 플래시 메모리의 수명이 낮아지는 치명적인 단점을 가지므로 다른 경판정 및 연판정 정정 부호보다 대칭형 연접 비씨에이치 부호가 정정 성능 및 에너지 효율 측면에서 가장 적합한 오류 정정 부호임을 알 수 있다.Referring to FIG. 4, when comparing the latest correction codes for supporting the existing flash memory, it can be determined that the code that can sustain a higher RBER on the same UBER line is a better correction code. Therefore, the symmetric concatenated BCN (SBC-BCH) has a higher performance than the conventional hard decision codes, and has higher performance than the LDPC code of the low correction performance ([5]) used as the soft decision code Can be confirmed. In addition, although the high-performance LDPC code ([4], [6]) shows relatively higher performance than other hard decision codes including symmetric concatenated BC code, it has a fatal disadvantage of high power consumption and low life of the flash memory Therefore, symmetric concatenated BC code is more accurate than other hard decision and soft decision codes in terms of correction performance and energy efficiency.

도 5는 종래의 직선형 복호화기를 이용한 복호화 방식 및 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 부호의 복호화 방식의 과정을 비교하여 도식화한 예를 나타낸다.FIG. 5 is a diagram illustrating a decoding scheme using a conventional linear decoder and a decoding scheme of a symmetric concatenated DBase code according to an embodiment of the present invention.

도 5의 (a)를 참조하면, 종래의 직선형 비씨에이치 복호화기를 이용한 복호화 방식은 구성부호 하나당 신드롬 연산, 키 방정식 풀이, 치엔 서치 과정이 순차적으로 수행되어 마무리된 이후에 다음 구성부호의 연산을 수행해야 하므로, 연산을 위해 3600 사이클이 소요되는 문제가 있음을 확인할 수 있다.Referring to FIG. 5 (a), a decoding method using a conventional linear BC decoder performs a syndrome operation, a key equation solving, and a solving process for each constituent code sequentially, Therefore, it can be confirmed that there is a problem that 3600 cycles are required for calculation.

도 5의 (b)를 참조하면, 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기(100)에 플래시 메모리로부터 데이터를 읽음과 동시에 신드롬을 연산하여 버퍼(120)에 저장하기 위한 데이터 입출력부(110) 및 신드롬 버퍼(120)와 병렬로 구성된 치엔 서치부(140)가 포함되는 경우, 코드워드 각각에 대한 신드롬 연산을 진행한 후 다음 연산을 진행할 필요 없이 병렬화된 치엔 서치에 의해 여러 구성부호들의 연산이 동시에 진행됨을 확인할 수 있다. 특히, 연산을 위해 소요되는 사이클이 3360 사이클로 감소됨으로써 도 5의 (a)를 통해 확인할 수 있는 종래의 복호화기 대비 연산 속도가 증가되는 것을 확인할 수 있다. 다만, 도 2를 통해 전술하였듯이 연산이 진행됨에 따라 정정 부호의 복호화를 위한 시작을 기다리는 낭비된 사이클이 점차 증가하고 이에 따라 하드웨어 활용도가 감소하게 되는 문제가 여전히 발행하게 된다. Referring to FIG. 5B, a data input / output (I / O) unit for reading data from a flash memory and calculating a syndrome and storing the syndrome in a buffer 120 is provided to a symmetric type DBase decoder 100 according to an embodiment of the present invention. When a syndrome generator 140 configured in parallel with the syndrome buffer 110 and the syndrome buffer 120 is included, a syndrome operation is performed on each of the codewords, and there is no need to proceed to the next operation, It can be confirmed that the operation of the codes proceeds simultaneously. In particular, since the cycle required for the operation is reduced to 3360 cycles, it can be seen that the operation speed is increased compared to the conventional decoder, which can be confirmed through FIG. 5 (a). However, as described above with reference to FIG. 2, as the computation proceeds, a wasteful cycle of waiting for the start of decoding of the correction code gradually increases, thereby causing a problem that hardware utilization is reduced.

도 5의 (c)를 참조하면, 도 5의 (a) 및 (b)에서 발생한 문제를 해결하기 위해 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기(100)에서 신드롬 추적부(150)를 더 포함하여 치엔 서치의 재정렬이 수행될 수 있도록 하는 경우, 연산을 위해 소요되는 사이클을 1760 사이클로 대폭 감소시킬 수 있어 안정화 및 최적화된 정정 성능 및 연산 속도를 구현할 수 있게 된다.5 (c), in order to solve the problem occurring in FIGS. 5 (a) and 5 (b), in the symmetric concatenated DBase decoder 100 according to the embodiment of the present invention, the syndrome tracking unit 150 ), It is possible to greatly reduce the cycle time required for the computation to 1760 cycles, thereby realizing stabilization and optimized correction performance and computation speed.

도 6은 본 발명의 일 실시예에 따른 치엔 서치의 재정렬 과정을 도식화한 예를 나타낸다.FIG. 6 is a diagram illustrating an example of a rearrangement process of a Chiens search according to an embodiment of the present invention.

전술하였듯이, 치엔 서치의 재정렬은 키 방정식 풀이 연산 이후에 치엔 서치가 수행될 수 있도록 코드가 재정렬되는 방식을 말하며, 이러한 과정을 통해 복호화를 위해 낭비되는 연산 과정을 대폭 감소시킬 수 있다. 비씨에이치 코드의 경우 수학적으로 코드 내부의 데이터 블록의 연산을 위한 순서가 유지되지 않아도 최종적으로 발견한 오류의 위치를 바탕으로 오류를 정정하는데에는 문제가 없으므로, 이러한 특성을 이용하여 비씨에이치 부호의 진행방향에서 모든 공유 데이터 블록을 제로 블록 이후 의존성이 없는 데이터 블록의 후순위로 처리하도록 함으로써 코드를 재정렬할 수 있으며, 복호화 출력 결과는 재정렬을 하기 전과 동일할 수 있다.As described above, the rearrangement of the Tien search is a method in which codes are rearranged so that the key equation search can be performed after the calculation of the key equation solution, and the process of wasting for decoding can be greatly reduced through this process. In the case of the BCCH code, there is no problem in correcting the error based on the position of the finally found error even if the order of operation of the data block in the code is not mathematically maintained. Therefore, The code can be rearranged by treating all shared data blocks in a direction to be subordinate to data blocks that do not have a dependency after the zero block, and the decoded output result can be the same as before the reordering.

도 7은 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기(100) 및 메모리부(300)를 나타낸 블록도이며, 도 8은 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기(100)의 신드롬 추적부(150)의 구성을 상세히 나타낸 구조도이다.FIG. 7 is a block diagram illustrating a symmetric concatenated BC decoder 100 and a memory unit 300 according to an embodiment of the present invention. FIG. 8 is a block diagram of a symmetric concatenated BC decoder < RTI ID = 0.0 > 100 of the syndrome tracking unit 150 shown in FIG.

도 7 및 8 를 참조하면, 본 발명의 일 실시예에 따른 신드롬 추적부(150)는 피드백 경로를 통해 각 구성부호들의 전체 오류 패턴을 수집하여 전체 신드롬의 차이를 추정하는 메인 신드롬 연산부(151)(Main Syndrome Calculation) 및 각 구성부호들의 부분 신드롬의 차이를 추정하는 서브 신드롬 연산부(152)(Sub Syndrome Calculation)을 포함할 수 있다.7 and 8, a syndrome tracking unit 150 according to an exemplary embodiment of the present invention includes a main syndrome calculation unit 151 for collecting a total error pattern of each constituent code through a feedback path and estimating a difference between all syndromes, (Main Syndrome Calculation) and a sub syndrome calculation unit 152 (Sub Syndrome Calculation) for estimating the difference between the partial syndromes of the respective constituent codes.

신드롬 추적부(150)는 복호화 과정에서 치엔 서치부(140)를 통해 오류가 발견될 때마다 구성부호의 신드롬 차이를 추정하고 이를 버퍼(120)에 저장함으로써 정정 성능 향상을 위한 코드의 재정렬을 지원하기 위한 것으로, 신드롬 추적부(150)에 포함된 메인 신드롬 연산부(151)는 소정의 치엔 서치부(140)에서 소정의 구성부호의 연산이 진행되면 이로부터 해당 구성부호의 전체 오류 패턴을 수집하여 신드롬의 차이들을 추정하여 누적하고, 치엔 서치 연산이 완료되면 해당 구성부호의 누적된 전체 신드롬의 차이들을 신드롬 버퍼(120)에 한번에 액세스(access)함으로써 신드롬을 업데이트할 수 있다. 또한, 신드롬 추적부(150)에 포함된 서브 신드롬 연산부(152)는 소정의 치엔 서치부(140)에서 소정의 구성부호의 연산이 진행되면, 연산 진행 과정에서 오류 블록이 발견될 때마다 해당 구성부호에 포함된 부분 신드롬의 차이를 추정하여 곧바로 신드롬 버퍼(120)에 액세스함으로써 신드롬을 업데이트할 수 있다. 따라서, 치엔 서치부(140)가 동작 중일 때에는 서브 신드롬 연산부(152)만이 신드롬 버퍼(120)에 신드롬의 차이들을 액세스할 수 있다.The syndrome tracking unit 150 estimates a syndrome difference of a constituent code whenever an error is found through the channel searching unit 140 in the decoding process and stores the syndrome difference in the buffer 120 to support reordering of codes for improving the correction performance The main syndrome calculation unit 151 included in the syndrome tracking unit 150 collects the entire error pattern of the corresponding configuration code when a predetermined configuration code is operated in the predetermined chip search unit 140 The syndrome can be updated by accessing the syndrome buffer 120 at once by accumulating the differences of the cumulative total syndromes of the respective constituent codes. The sub syndrome calculation unit 152 included in the syndrome tracking unit 150 performs a predetermined syndrome calculation when a predetermined configuration code is calculated in the predetermined value search unit 140, The syndrome can be updated by accessing the syndrome buffer 120 immediately after estimating the difference of the partial syndrome included in the code. Therefore, when the TNS search unit 140 is in operation, only the sub syndrome operation unit 152 can access the syndrome differences in the syndrome buffer 120. [

도 8을 참조하면, 신드롬 추적부(150)가 매 사이클 연산 순서에 맞게 어떻게 연산이 이루어지는 지를 확인할 수 있다. 신드롬 추적부(150)의 각 구성이 수행하는 구성부호에 대한 연산 수식은 다음의 [표 1]을 통해 구체적으로 살펴볼 수 있다.Referring to FIG. 8, the syndrome tracking unit 150 can confirm how an operation is performed in accordance with each cycle operation sequence. The operation formula for the configuration code performed by each configuration of the syndrome tracking unit 150 can be specifically examined in the following [Table 1].

[표 1][Table 1]

Figure 112018000955260-pat00001
Figure 112018000955260-pat00001

이때, C(x)는 구성부호의 코드워드, D(x)는 구성부호를 구성하는 각 데이터 블록, S(x)는 구성부호에 대한 신드롬, Zpd(X)는 제로 데이터 블록을 의미한다.In this case, C (x) is a codeword of a constituent code, D (x) is each data block constituting a constituent code, S (x) is a syndrome for a constituent code, and Z pd (X) .

위 수식을 살펴보면, 신드롬 연산을 위해 C(x)에 α값(신드롬 생성 과정에서 입력되는 소정의 값)을 대입하게 되면 승수가 각각 다른 α값이 곱해진 D(x)가 되는데, 도 8에 나타난 메인 신드롬 연산부(151)와 서브 신드롬 연산부(152)와 같이 같은 D(x)에 대한 연산을 여러 번 수행하는 것을 단순히 승수가 다른 α값이 곱해질 수 있도록 구성하면, 도 5에 나타난 결과와 같이 연산 사이클을 상당히 감소시킬 수 있다. If the alpha value (a predetermined value input in the syndrome generation process) is substituted into C (x) for the syndrome calculation, the multiplier becomes D (x) multiplied by a different value. If the plurality of arithmetic operations on the same D (x) as in the main syndrome arithmetic operation unit 151 and the sub syndrome arithmetic operation unit 152 shown in FIG. 5 are constructed so that they can be simply multiplied by different values of the multiplier, As a result, the number of operation cycles can be significantly reduced.

또한, 도 8을 참조하면, 치엔 서치부(140)를 통한 출력은 오류가 정정되었거나 정정이 필요한 C(x)이기 때문에, 코드의 재정렬 기법을 이용하기 위해서는 α의 승수값이 순차적으로 출력되지 않으므로, 이전 연산 수행에서 정의된 α의 승수값과 일치하도록 신드롬 연산을 수행하기 위해서 α의 승수값을 소정의 규칙에 맞추어 조절할 수 있도록 설계할 수 있다. 이러한 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기(100)의 구조 설계를 통해 종래의 데이터 블록 간의 의존성 문제로 인한 속도 저하 문제를 해결할 수 있으며, 도 1의 기존 복호화기를 이용한 복호화 방식 대비 속도를 8배 이상 증가시킬 수 있다.Referring to FIG. 8, since the output through the cube search unit 140 is C (x) whose error has been corrected or needs to be corrected, the multiplier value of? Is not sequentially output in order to use the code reordering technique , The multiplier value of? May be designed to be adjusted according to a predetermined rule in order to perform a syndrome operation so as to match the multiplier value of? Defined in the previous operation. The structure design of the symmetric concatenated BC decoder 100 according to an embodiment of the present invention can solve the speed reduction problem due to the dependency problem between the conventional data blocks, Speed can be increased 8 times or more.

도 9는 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화 시스템의 구조를 나타낸 블록도이며, 도 10는 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화 시스템의 구조를 나타낸 블록도의 또다른 예이다.FIG. 9 is a block diagram illustrating a structure of a symmetric concatenated BCAST system according to an embodiment of the present invention. FIG. 10 is a block diagram illustrating a structure of a symmetric concatenated BCAST system according to an embodiment of the present invention. Another example.

도 9 및 10을 참조하면, 본 발명의 일 실시예에 따른 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치(SBC-BCH) 복호화 시스템은, 전술한 대칭형 연접 비씨에이치 복호화기(100), 대칭형 연접 비씨에이치 복호화기(100)에 의해 검출된 데이터의 오류의 위치를 수신하여 오류를 정정하기 위한 에러 관리부(200)(error manager) 및 오류 정정을 위한 데이터 및 복호화된 데이터가 저장되는 메모리부(300)(SRAM)를 포함할 수 있다.9 and 10, a symmetric type SBC-BCH decoding system for error correction of a flash memory according to an embodiment of the present invention includes a symmetric concatenated BC decoder 110, An error manager 200 for receiving an error location of data detected by the BC decoder 100 and correcting the error and a memory unit 300 for storing data for decoding error and decoded data ) ≪ / RTI > (SRAM).

즉, 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 복호화기(100)가 플래시 메모리로부터 수신한 데이터의 오류 위치를 검출하면, 에러 관리부(200)에서 검출된 오류 위치를 기초로 하여 오류를 정정하고 오류 정정을 위해 플래시 메모리로부터 수신한 데이터 및 복호화된 데이터뿐만 아니라 복호화에 필요한 관련 데이터가 모두 메모리부(300)에 저장되는 방식으로 시스템이 동작할 수 있다.That is, when the symmetric concatenated BC decoder 100 according to an embodiment of the present invention detects an error position of data received from the flash memory, the error is corrected based on the error position detected by the error management unit 200 The system can be operated in such a manner that not only the data received from the flash memory and the decoded data but also the related data necessary for decoding are stored in the memory unit 300 for error correction.

도 11은 본 발명의 일 실시예에 따른 대칭형 연접 비씨에이치 부호를 이용하여 오류를 정정하는 방법을 나타낸 순서도이다.11 is a flowchart illustrating a method of correcting errors using a symmetric concatenated DBase code according to an embodiment of the present invention.

도 11을 참조하면, 본 발명의 일 실시예에 따른 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치(SBC-BCH) 부호를 이용하여 오류를 정정하는 방법은, 데이터 입출력부(110)(Codeword FIFO)를 통해 플래시 메모리로부터 오류 정정을 위한 데이터를 입력받음과 동시에 입력받은 오류 정정을 위한 데이터를 기초로 신드롬을 생성하는 제 1 단계(S100), 오류 정정을 위한 데이터 및 생성된 신드롬이 신드롬 버퍼(120)(Syndrome Buffer)에 저장되는 제 2 단계(S200), 오류 정정을 위해 생성된 신드롬을 기초로 하여 키 방정식 풀이부(130)(Key Equation Solver)에서 다항식을 생성하는 제 3 단계(S300), 다항식에 기초하여 치엔 서치부(140)(Chien Search)에서 오류 정정을 위한 데이터의 오류의 위치를 찾기 위한 연산을 수행하는 제 4 단계(S400) 및 신드롬 추적부(150)(Syndrome Tracker)에서 치엔 서치부(140)에서 진행되는 연산을 위해 코드의 재정렬을 위한 연산을 수행하는 제 5 단계(S500)를 포함하되, 치엔 서치부(140)는 복수개로 형성되고, 복수개의 치엔 서치부(140) 각각은 키 방정식 풀이부(130)에 병렬로 연결되며, 신드롬 추적부(150)는 복수개의 치엔 서치부(140) 각각에 대응되도록 형성될 수 있다.11, a method of correcting an error using a symmetric concatenated BC (SBC-BCH) code for error correction of a flash memory according to an embodiment of the present invention includes a data input / output unit 110 (Codeword FIFO A first step S100 for generating a syndrome on the basis of data for error correction received from the flash memory, a data for error correction, and a syndrome generated in the syndrome buffer A third step S300 of generating a polynomial in the key equations solver 130 based on the syndrome generated for error correction, a second step S200 of storing the syndrome in the syndrome buffer 120, A fourth step S400 and a syndrome tracker 150 for performing an operation for searching for an error position of data for error correction in a Chien search unit 140 based on a polynomial, Tooth And a fifth step S500 of performing an operation for rearranging codes for an operation to be performed in the search unit 140. The plurality of chien search units 140 are formed in a plurality of chien search units 140, And the syndrome tracking unit 150 may be formed to correspond to each of the plurality of CHN search units 140. In this case,

또한, 도 11를 참조하면 본 발명의 일 실시예에 따르면 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치 부호를 이용하여 오류를 정정하는 방법에는 전술한 제 2 단계 내지 제 5 단계가 반복적으로 수행되어 복호화된 데이터가 데이터 입출력부(110)를 통해 플래시 메모리로 출력되는 단계(S600)가 더 포함될 수 있다.Referring to FIG. 11, according to an embodiment of the present invention, the second through fifth steps described above are repeatedly performed in a method of correcting errors using a symmetric concatenated DBS code for error correction of a flash memory And outputting the decoded data to the flash memory via the data input / output unit 110 (S600).

본 발명의 일 실시예에 따라 대칭형 연접 비씨에이치 부호를 이용하면 복수개의 데이터 블록을 포함하는 구성부호들에 대한 오류의 위치를 찾고 정정하기 위해 반복적으로 연산 과정이 수행되어야 하므로, 전술한 제 2 단계 내지 제 5 단계가 반복적으로 수행되면서 오류 위치 검출 및 오류 정정의 과정이 반복되어 최종적으로 복호화된 데이터가 플래시 메모리로 출력될 수 있다. 다시 말해서, 본 발명의 일 실시예에 따른 복호화기(100)에 의한 오류 검출 과정, 에러 관리부(200)를 통한 오류 정정 과정 및 초기 연산을 통해 생성된 신드롬뿐만 아니라 신드롬 추적부(150)를 통해 추정한 신드롬의 차이 및 오류가 정정된 데이터 블록 등에 대한 모든 내용이 모두 복호화기(100)의 신드롬 버퍼(120)와 시스템 상의 메모리부(300)를 통해 저장되고 출력되는 과정이 반복되어, 오류가 정정된 깨끗한 데이터를 플래시 메모리로 출력할 수 있다.According to an embodiment of the present invention, when a symmetric concatenated BC code is used, an operation process must be repeatedly performed to find and correct an error position with respect to constituent codes including a plurality of data blocks. Therefore, And the fifth step is repeatedly performed, the error location detection and error correction are repeated, and the finally decoded data can be output to the flash memory. In other words, in addition to the syndrome generated through the error detection process by the decoder 100, the error correction process through the error management unit 200, and the initial calculation, as well as the syndrome tracking unit 150 according to an embodiment of the present invention The process of storing all the contents of the estimated syndromes and the error-corrected data blocks and the like through the syndrome buffer 120 of the decoder 100 and the memory unit 300 on the system is repeated, The corrected clean data can be output to the flash memory.

본 발명의 일 실시예에 따른 방법과 관련하여서는 전술한 장치에 대한 내용이 적용될 수 있다. 따라서, 방법과 관련하여 전술한 장치에 대한 내용과 동일한 내용에 대하여는 설명을 생략하였다.The contents of the above-described apparatus can be applied in connection with the method according to an embodiment of the present invention. Therefore, the description of the same contents as those of the above-described apparatus with respect to the method is omitted.

한편, 본 발명의 일 실시예에 의하면, 전술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다. 다시 말해서, 전술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터 판독 가능 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터 판독 가능 매체에 여러 수단을 통하여 기록될 수 있다. 본 발명의 다양한 방법들을 수행하기 위한 실행 가능한 컴퓨터 프로그램이나 코드를 기록하는 기록 매체는, 반송파(carrier waves)나 신호들과 같이 일시적인 대상들은 포함하는 것으로 이해되지는 않아야 한다. 상기 컴퓨터 판독 가능 매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, DVD 등)와 같은 저장 매체를 포함할 수 있다.According to another aspect of the present invention, there is provided a computer-readable recording medium storing a program for causing a computer to execute the above-described method. In other words, the above-described method can be implemented in a general-purpose digital computer that can be created as a program that can be executed in a computer and operates the program using a computer-readable medium. Further, the structure of the data used in the above-described method can be recorded on a computer-readable medium through various means. Recording media that record executable computer programs or code for carrying out the various methods of the present invention should not be understood to include transient objects such as carrier waves or signals. The computer-readable medium may comprise a storage medium such as a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical readable medium (e.g., CD ROM, DVD, etc.).

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. .

100: 대칭형 연접 비씨에이치 복호화기
110: 데이터 입출력부 120: 신드롬 버퍼
121: 버퍼 관리부 130: 키 방정식 풀이부
140: 치엔 서치부 150: 신드롬 추적부
151: 메인 신드롬 연산부 152: 서브 신드롬 연산부
200: 에러 관리부 300: 메모리부
100: symmetric concatenated BC decoder
110: Data input / output unit 120: Syndrome buffer
121: Buffer Management Unit 130: Key Equation Solving Unit
140: Chien search section 150: Syndrome tracking section
151: main syndrome operation unit 152: sub syndrome operation unit
200: error management unit 300: memory unit

Claims (9)

플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치(SBC-BCH) 복호화기에 있어서,
상기 플래시 메모리로부터 오류 정정을 위한 데이터를 입력받음과 동시에 상기 입력받은 오류 정정을 위한 데이터를 기초로 신드롬을 생성하는 데이터 입출력부(Codeword FIFO);
상기 오류 정정을 위한 데이터 및 상기 생성된 신드롬이 저장되는 신드롬 버퍼(Syndrome Buffer);
상기 오류 정정을 위한 신드롬을 기초로 하여 다항식을 생성하는 키 방정식 풀이부(Key Equation Solver);
상기 다항식에 기초하여 상기 오류 정정을 위한 데이터의 오류의 위치를 찾기 위한 연산을 수행하는 치엔 서치부(Chien Search); 및
상기 치엔 서치부에서 진행되는 연산을 위해 상기 오류 정정을 위한 데이터의 구성부호의 재정렬을 위한 연산을 수행하는 신드롬 추적부(Syndrome Tracker)를 포함하되,
상기 치엔 서치부는 복수개로 형성되고, 상기 복수개의 치엔 서치부 각각은 상기 키 방정식 풀이부에 병렬로 연결되며,
상기 복수개의 치엔 서치부 각각에 대응되도록 복수개의 신드롬 추적부가 형성되는 것을 특징으로 하는 대칭형 연접 비씨에이치 복호화기.
A symmetric concatenated BC (SBC-BCH) decoder for error correction of a flash memory,
A data input / output unit (FIFO) for receiving error correction data from the flash memory and generating a syndrome based on the error correction data;
A syndrome buffer in which the error correction data and the generated syndrome are stored;
A key equation solver for generating a polynomial based on the syndrome for error correction;
A Chien Search unit for performing an operation for searching for a position of an error of the data for error correction based on the polynomial; And
And a syndrome tracker for performing an operation for rearranging the configuration codes of the data for error correction for the operation performed by the CHN search unit,
Wherein each of the plurality of CHN search units is connected to the key equation solving unit in parallel,
And a plurality of syndrome tracking units are formed to correspond to each of the plurality of CHN search units.
제 1 항에 있어서,
상기 오류 정정을 위한 데이터에는 대칭형 연접 비씨에이치 부호가 포함되는 것을 특징으로 하는 대칭형 연접 비씨에이치 복호화기.
The method according to claim 1,
Wherein the data for error correction includes a symmetric concatenated BC code. ≪ RTI ID = 0.0 > 18. < / RTI >
제 1 항에 있어서,
상기 신드롬 추적부는 피드백 경로를 통해 상기 구성부호 각각의 전체 오류 패턴을 수집하여 전체 신드롬의 차이를 추정하는 메인 신드롬 연산부(Main Syndrome Calculation); 및 상기 구성부호 각각의 부분 신드롬의 차이를 추정하는 서브 신드롬 연산부(Sub Syndrome Calculation)을 포함하는 것을 특징으로 하는 대칭형 연접 비씨에이치 복호화기.
The method according to claim 1,
A main syndrome calculator for collecting a total error pattern of each of the constituent codes through a feedback path and estimating a difference of the entire syndromes; And a Sub Syndrome Calculation unit for estimating a difference between partial syndromes of the respective constituent codes.
플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치(SBC-BCH) 복호화 시스템에 있어서,
제 1 항에 따른 대칭형 연접 비씨에이치 복호화기;
상기 대칭형 연접 비씨에이치 복호화기에 의해 검출된 데이터의 오류의 위치를 수신하여 상기 오류를 정정하기 위한 에러 관리부(error manager); 및
상기 오류 정정을 위한 데이터 및 복호화된 데이터가 저장되는 메모리부(SRAM)를 포함하는 대칭형 연접 비씨에이치(BCH) 복호화 시스템.
A symmetric concatenated BC (SBC-BCH) decoding system for error correction of a flash memory,
A symmetric concatenated BC decoder according to claim 1;
An error manager for receiving a position of an error of data detected by the symmetric concatenated BC decoder and correcting the error; And
And a memory unit (SRAM) for storing the data for error correction and the decoded data.
플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치(SBC-BCH) 부호를 이용하여 오류를 정정하는 방법에 있어서,
데이터 입출력부(Codeword FIFO)를 통해 상기 플래시 메모리로부터 오류 정정을 위한 데이터를 입력받음과 동시에 상기 입력받은 오류 정정을 위한 데이터를 기초로 신드롬을 생성하는 제 1 단계;
상기 오류 정정을 위한 데이터 및 상기 생성된 신드롬이 신드롬 버퍼(Syndrome Buffer)에 저장되는 제 2 단계;
상기 오류 정정을 위해 생성된 신드롬을 기초로 하여 키 방정식 풀이부(Key Equation Solver)에서 다항식을 생성하는 제 3 단계;
상기 다항식에 기초하여 치엔 서치부(Chien Search)에서 상기 오류 정정을 위한 데이터의 오류의 위치를 찾기 위한 연산을 수행하는 제 4 단계; 및
신드롬 추적부(Syndrome Tracker)에서 상기 치엔 서치부에서 진행되는 연산을 위해 상기 오류 정정을 위한 데이터의 구성부호의 재정렬을 위한 연산을 수행하는 제 5 단계를 포함하되,
상기 치엔 서치부는 복수개로 형성되고, 상기 복수개의 치엔 서치부 각각은 상기 키 방정식 풀이부에 병렬로 연결되며,
상기 복수개의 치엔 서치부 각각에 대응되도록 복수개의 신드롬 추적부가 형성되는 것을 특징으로 하는 대칭형 연접 비씨에이치 부호를 이용하여 오류를 정정하는 방법.
A method for correcting an error using a symmetric concatenated BC (SBC-BCH) code for error correction of a flash memory,
A first step of receiving data for error correction from the flash memory through a data input / output unit (Codeword FIFO) and generating a syndrome based on the input error correction data;
A second step of storing the error correction data and the generated syndrome in a syndrome buffer;
A third step of generating a polynomial in a Key Equation Solver based on a syndrome generated for the error correction;
A fourth step of performing an operation for searching for a position of an error of the data for error correction in a Chien search section based on the polynomial; And
And a fifth step of performing an operation for rearranging the configuration codes of the data for error correction in order to perform an operation in the syndrome section at a syndrome tracker,
Wherein each of the plurality of CHN search units is connected to the key equation solving unit in parallel,
Wherein a plurality of syndrome tracking units are formed to correspond to each of the plurality of CHN search units.
제 5 항에 있어서,
상기 제 2 단계 내지 제 5 단계가 반복적으로 수행되어 복호화된 데이터가 상기 데이터 입출력부를 통해 상기 플래시 메모리로 출력되는 단계가 더 포함되는 것을 특징으로 하는 대칭형 연접 비씨에이치 부호를 이용하여 오류를 정정하는 방법.
6. The method of claim 5,
And outputting the decoded data to the flash memory through the data input / output unit. The method of claim 1, further comprising: .
제 5 항에 있어서,
상기 오류 정정을 위한 데이터에는 대칭형 연접 비씨에이치 부호가 포함되는 것을 특징으로 하는 대칭형 연접 비씨에이치 부호를 이용하여 오류를 정정하는 방법.
6. The method of claim 5,
Wherein the data for error correction includes a symmetric concatenated BCN code. ≪ RTI ID = 0.0 > 11. < / RTI >
제 5 항에 있어서,
상기 신드롬 추적부는 피드백 경로를 통해 상기 구성부호 각각의 전체 오류 패턴을 수집하여 전체 신드롬의 차이를 추정하는 메인 신드롬 연산부(Main Syndrome Calculation); 및 상기 구성부호 각각의 부분 신드롬의 차이를 추정하는 서브 신드롬 연산부(Sub Syndrome Calculation)을 포함하는 것을 특징으로 하는 대칭형 연접 비씨에이치 부호를 이용하여 오류를 정정하는 방법.
6. The method of claim 5,
A main syndrome calculator for collecting a total error pattern of each of the constituent codes through a feedback path and estimating a difference of the entire syndromes; And a sub-syndrome calculator for estimating a difference between the partial syndromes of each of the constituent codes.
제 5 항 내지 제 8 항 중 어느 한 항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
9. A computer-readable recording medium on which a program for implementing the method of any one of claims 5 to 8 is recorded.
KR1020180000922A 2018-01-03 2018-01-03 A symmetric bc-bch decoder for error correction of flash memory, an error correcting method and system using the sbc-bch decoder KR101974301B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180000922A KR101974301B1 (en) 2018-01-03 2018-01-03 A symmetric bc-bch decoder for error correction of flash memory, an error correcting method and system using the sbc-bch decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180000922A KR101974301B1 (en) 2018-01-03 2018-01-03 A symmetric bc-bch decoder for error correction of flash memory, an error correcting method and system using the sbc-bch decoder

Publications (1)

Publication Number Publication Date
KR101974301B1 true KR101974301B1 (en) 2019-04-30

Family

ID=66285547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180000922A KR101974301B1 (en) 2018-01-03 2018-01-03 A symmetric bc-bch decoder for error correction of flash memory, an error correcting method and system using the sbc-bch decoder

Country Status (1)

Country Link
KR (1) KR101974301B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102135945B1 (en) * 2019-05-13 2020-07-20 포항공과대학교 산학협력단 A symmetric bc-bch decoder and method for correcting about error data of non-volatile memory using the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101267958B1 (en) 2011-12-27 2013-05-27 한국과학기술원 Bch decoder, memory system having the same and decoding method
KR101512361B1 (en) * 2013-10-16 2015-04-15 한국과학기술원 Concatenated bch decoder and concatenated bch decoding method
KR101636406B1 (en) * 2015-01-30 2016-07-05 고려대학교 산학협력단 Preprocessing apparatus and method for low latency of syndrome calculation in bch decoder
KR101747794B1 (en) * 2011-03-29 2017-06-16 삼성전자주식회사 Error correction decoder and error correction method thereof
KR20170107769A (en) * 2016-03-16 2017-09-26 에스케이하이닉스 주식회사 Memory system and operating method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101747794B1 (en) * 2011-03-29 2017-06-16 삼성전자주식회사 Error correction decoder and error correction method thereof
KR101267958B1 (en) 2011-12-27 2013-05-27 한국과학기술원 Bch decoder, memory system having the same and decoding method
KR101512361B1 (en) * 2013-10-16 2015-04-15 한국과학기술원 Concatenated bch decoder and concatenated bch decoding method
KR101636406B1 (en) * 2015-01-30 2016-07-05 고려대학교 산학협력단 Preprocessing apparatus and method for low latency of syndrome calculation in bch decoder
KR20170107769A (en) * 2016-03-16 2017-09-26 에스케이하이닉스 주식회사 Memory system and operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102135945B1 (en) * 2019-05-13 2020-07-20 포항공과대학교 산학협력단 A symmetric bc-bch decoder and method for correcting about error data of non-volatile memory using the same

Similar Documents

Publication Publication Date Title
US10547332B2 (en) Device, system and method of implementing product error correction codes for fast encoding and decoding
Chen et al. Error correction for multi-level NAND flash memory using Reed-Solomon codes
US7853854B2 (en) Iterative decoding of a frame of data encoded using a block coding algorithm
US8245117B1 (en) Low complexity chien search in chase-type decoding of reed-solomon codes
US9432053B1 (en) High speed LDPC decoder
US20130019141A1 (en) Min-Sum Based Non-Binary LDPC Decoder
US9391641B2 (en) Syndrome tables for decoding turbo-product codes
KR20100081551A (en) Decoding method and memory system device for using the method
US8640010B2 (en) Decoding apparatus and decoding method
US8683293B2 (en) Method and system for fast two bit error correction
US20100174954A1 (en) Non-polynomial processing unit for soft-decision error correction coding
US20090106637A1 (en) Concatenated decoder and concatenated decoding method
JP2019057752A (en) Memory system
Ahmed et al. VLSI architectures for soft-decision decoding of Reed-Solomon codes
JP2019160014A (en) Memory system
US10567003B2 (en) List decode circuits
US20070198896A1 (en) Decoding with a concatenated error correcting code
US7975200B2 (en) Error correction code (ECC) decoding architecture design using synthesis-time design parameters
KR101974301B1 (en) A symmetric bc-bch decoder for error correction of flash memory, an error correcting method and system using the sbc-bch decoder
KR101631128B1 (en) Ldpc decoder with a variable node updater which uses a scaling constant
US11750219B2 (en) Decoding method, decoder, and decoding apparatus
Hwang et al. Energy-efficient symmetric BC-BCH decoder architecture for mobile storages
KR100594002B1 (en) Reed Solomon Decoder with Variable Pipeline Structure
US9236890B1 (en) Decoding a super-code using joint decoding of underlying component codes
KR101267958B1 (en) Bch decoder, memory system having the same and decoding method

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant