KR101314232B1 - 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱 - Google Patents
에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱 Download PDFInfo
- Publication number
- KR101314232B1 KR101314232B1 KR1020127002747A KR20127002747A KR101314232B1 KR 101314232 B1 KR101314232 B1 KR 101314232B1 KR 1020127002747 A KR1020127002747 A KR 1020127002747A KR 20127002747 A KR20127002747 A KR 20127002747A KR 101314232 B1 KR101314232 B1 KR 101314232B1
- Authority
- KR
- South Korea
- Prior art keywords
- short
- long
- codewords
- syndrome
- zero
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
도 1은 에러 정정 코드를 복호화하기 위한 종래 방법의 순서도;
도 2는 본 발명에 따른 데이터 저장 시스템의 블록도;
도 3a는 본 발명에 따른 에러 정정 코드 인코더의 블록도;
도 3b는 본 발명에 따른 에러 정정 코드를 생성하기 위한 방법의 순서도;
도 4는 본 발명에 따라서 생성된 긴 코드워드의 개요도;
도 5는 본 발명에 따른 인코더의 회로도;
도 6은 본 발명에 따른 에러 정정 코드(ECC) 디코더의 블록도;
도 7는 본 발명에 따른 신드롬 계산기의 회로도;
도 8a 및 도 8b는 본 발명에 따른 에러 정정 코드를 복호화하기 위한 방법의 순서도.
Claims (20)
- 에러 정정 코드를 부호화 및 복호화하기 위한 방법에 있어서,
원시 데이터를 수신하는 단계;
상기 원시 데이터를 다수의 데이터 세그먼트들로 분할하는 단계;
제1생성 다항식에 따라서 상기 데이터 세그먼트들에 대응하는 다수의 짧은 패리티들을 생성하는 단계;
상기 짧은 패리티들을 상기 데이터 세그먼트들에 부가하여 다수의 짧은 코드워드들을 얻는 단계;
상기 짧은 코드워드들을 연결하여 코드 데이터를 얻는 단계;
제2생성 다항식에 따라서 상기 코드 데이터에 대응하는 긴 패리티를 생성하는 단계; 및
상기 긴 패리티를 상기 코드 데이터에 부가하여 상기 원시 데이터에 대응하는 에러 정정 코드로서 긴 코드워드를 얻는 단계를 포함하되,
상기 제1생성 다항식은 상기 제2생성 다항식의 적어도 하나의 최소 다항식의 함수이고,
상기 긴 코드워드를 저장 매체에 저장하는 단계를 더 포함하는, 에러 정정 코드의 부호화 및 복호화 방법.
- 제1항에 있어서, 상기 제1생성 다항식은 상기 제2생성 다항식의 적어도 하나의 최소 다항식의 최소 공배수인 것인, 에러 정정 코드의 부호화 및 복호화 방법.
- 삭제
- 제1항에 있어서,
저장 매체로부터 상기 긴 코드워드를 판독하는 단계;
상기 긴 코드워드로부터 상기 짧은 코드워드들을 검색하는 단계;
상기 짧은 코드워드들의 짧은 패리티들에 따라서 상기 짧은 코드워드들에 대응하는 다수의 짧은 신드롬들을 계산하는 단계;
상기 짧은 신드롬들이 0과 동일한지의 여부를 판단하는 단계; 및
상기 짧은 신드롬들이 비제로 짧은 신드롬들을 포함한다면, 상기 비제로 짧은 신드롬들에 따라서 상기 짧은 코드워드들을 정정하는 단계를 더 포함하는, 에러 정정 코드의 부호화 및 복호화 방법. - 제4항에 있어서,
상기 긴 코드워드의 상기 긴 패리티에 따라서 상기 긴 코드워드에 대응하는 긴 신드롬을 계산하는 단계;
상기 긴 신드롬이 0과 동일한지의 여부를 판단하는 단계;
상기 긴 신드롬이 0과 동일하지 않다면, 상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드워드들을 성공적으로 정정했는지의 여부를 판단하는 단계; 및
상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드워드들을 성공적으로 정정했다면, 상기 비제로 짧은 코드워드들에 따라서 상기 긴 신드롬을 정정하여 정정된 긴 신드롬을 얻는 단계를 더 포함하는, 에러 정정 코드의 부호화 및 복호화 방법. - 제5항에 있어서, 상기 긴 신드롬이 0과 동일하지 않고 상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드워드들을 성공적으로 정정하지 않았다면, 상기 긴 신드롬에 따라서 상기 짧은 코드워드들의 에러 있는 짧은 코드워드들을 정정하는 단계를 더 포함하는, 에러 정정 코드의 부호화 및 복호화 방법.
- 제1항에 있어서, 상기 긴 코드워드 및 상기 짧은 코드워드들은 BCH(Bose, Ray-Chaudhuri and Hocquenghem) 코드들 또는 RS(Reed-Solomon) 코드들인 것인, 에러 정정 코드의 부호화 및 복호화 방법.
- 에러 정정 코드를 위한 코더-디코더에 있어서,
원시 데이터를 수신하고, 상기 원시 데이터를 다수의 데이터 세그먼트들로 분할하며, 상기 데이터 세그먼트들에 대응하는 다수의 짧은 패리티들을 생성하고, 상기 짧은 패리티들을 상기 데이터 세그먼트들에 부가하여 다수의 짧은 코드워드들을 얻으며, 상기 짧은 코드워드들을 연결하여 코드 데이터를 얻어, 상기 코드 데이터에 대응하는 긴 패리티를 생성하며, 상기 긴 패리티를 상기 코드 데이터에 부가하여 저장 매체에 저장될 에러 정정 코드로서 긴 코드워드를 얻는 에러 정정 코드(ECC) 인코더; 및
상기 저장 매체로부터 상기 긴 코드워드를 판독하고, 상기 긴 코드워드로부터 상기 짧은 코드워드들을 검색하며, 상기 짧은 코드워드들의 상기 짧은 패리티들에 따라서 상기 짧은 코드워드들에 대응하는 다수의 짧은 신드롬들을 계산하고, 상기 짧은 신드롬들이 0과 동일한지의 여부를 판단하여, 상기 짧은 신드롬들이 비제로 짧은 신드롬들을 포함한다면, 상기 비제로 짧은 신드롬들에 따라서 상기 짧은 코드워드들을 정정하는 에러 정정 코드(ECC) 디코더를 포함하는, 에러 정정 코드용의 코더-디코더. - 제8항에 있어서, 상기 ECC 인코더는 제1생성 다항식에 따라서 상기 데이터 세그먼트들에 대응하는 상기 짧은 패리티들을 생성하고, 제2생성 다항식에 따라서 상기 코드 데이터에 대응하는 상기 긴 패리티를 생성하며, 상기 제1생성 다항식은 상기 제2생성 다항식의 적어도 하나의 최소 다항식의 함수인 것인, 에러 정정 코드용의 코더-디코더.
- 제9항에 있어서, 상기 제1생성 다항식은 상기 제2생성 다항식의 적어도 하나의 최소 다항식의 최소 공배수인 것인, 에러 정정 코드용의 코더-디코더.
- 제9항에 있어서, 상기 ECC 인코더는
상기 제1생성 다항식에 따라서 상기 데이터 세그먼트들에 대응하는 상기 짧은 패리티들을 생성하는 짧은 패리티 인코더;
상기 짧은 패리티들을 상기 데이터 세그먼트들에 부가하여 상기 짧은 코드워드들을 얻는 제1부가 모듈;
상기 짧은 코드워드들을 연결하여 상기 코드 데이터를 얻고 상기 제2생성 다항식에 따라서 상기 코드 데이터에 대응하는 상기 긴 패리티를 생성하는 긴 패리티 인코더; 및
상기 긴 패리티를 상기 코드 데이터에 부가하여 상기 긴 코드워드들을 얻는 제2부가 모듈을 포함하는 것인, 에러 정정 코드용의 코더-디코더. - 제8항에 있어서, 상기 ECC 디코더는 부가적으로 상기 긴 코드워드의 상기 긴 패리티에 따라서 상기 긴 코드워드에 대응하는 긴 신드롬을 계산하고, 상기 긴 신드롬이 0과 동일한지의 여부를 판단하여, 상기 긴 신드롬이 0과 동일하지 않다면, 상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드들을 성공적으로 정정했는지의 여부를 판단하고, 상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드워드들을 성공적으로 정정했다면, 상기 비제로 짧은 코드워드들에 따라서 상기 긴 신드롬을 정정하여 정정된 긴 신드롬을 얻는 것인, 에러 정정 코드용의 코더-디코더.
- 제12항에 있어서, 상기 긴 신드롬이 0과 동일하지 않고 상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드워드들을 성공적으로 정정하지 않았다면, 상기 ECC 디코더는 상기 긴 신드롬에 따라서 상기 짧은 코드워드들의 에러 있는 짧은 코드워드들을 정정하는 것인, 에러 정정 코드용의 코더-디코더.
- 제12항에 있어서, 상기 ECC 디코더는
상기 짧은 코드워드들의 상기 짧은 패리티들에 따라서 상기 짧은 코드워드들의 상기 짧은 신드롬을 계산하고 상기 긴 코드워드의 상기 긴 패리티에 따라서 상기 긴 코드워드의 상기 긴 신드롬을 계산하는 신드롬 계산기; 및
상기 짧은 신드롬들이 0과 동일한지의 여부를 판단하여, 상기 짧은 신드롬들이 0과 동일하지 않다면 상기 비제로 짧은 신드롬들에 따라서 상기 짧은 코드워드들을 정정하며, 상기 긴 신드롬이 0과 동일한지의 여부를 판단하여, 상기 긴 신드롬이 0과 동일하지 않다면 상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드워드들을 성공적으로 정정했는지의 여부를 판단하고, 상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드워드들을 성공적으로 정정했다면 상기 비제로 짧은 코드워드들에 따라서 상기 긴 신드롬을 정정하여 정정된 긴 신드롬을 얻는 제어 회로를 포함하는 것인, 에러 정정 코드용의 코더-디코더. - 제8항에 있어서, 상기 긴 코드워드 및 상기 짧은 코드워드들은 BCH 코드들 또는 RS 코드들인 것인 에러 정정 코드용의 코더-디코더.
- 에러 정정 코드를 복호화하기 위한 방법에 있어서,
에러 정정 코드의 긴 코드워드를 수신하는 단계로서, 상기 긴 코드워드가 다수의 짧은 코드워드들 및 긴 패리티를 포함하고 상기 짧은 코드워드들 각각은 짧은 패리티를 포함하는 것인, 긴 코드워드의 수신 단계;
상기 긴 코드워드로부터 상기 짧은 코드워드들을 검색하는 단계;
상기 짧은 코드워드들의 짧은 패리티들에 따라서 상기 짧은 코드워드들에 대응하는 다수의 짧은 신드롬들을 계산하는 단계;
상기 짧은 신드롬들이 0과 동일한지의 여부를 판단하는 단계;
상기 짧은 신드롬들이 적어도 하나의 비제로 짧은 신드롬을 포함할 때, 상기 적어도 하나의 비제로 짧은 신드롬에 따라서 적어도 하나의 대응하는 짧은 코드워드를 정정하는 단계;
상기 긴 코드워드의 상기 긴 패리티에 따라서 상기 긴 코드워드에 대응하는 긴 신드롬을 계산하는 단계;
상기 긴 신드롬이 0과 동일한지의 여부를 판단하는 단계;
상기 긴 신드롬이 0과 동일하지 않으면, 상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드워드들을 성공적으로 정정했는지의 여부를 판단하는 단계; 및
상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드워드들을 성공적으로 정정했다면, 상기 비제로 짧은 코드들에 따라서 상기 긴 신드롬을 정정하여 정정된 긴 신드롬을 얻는 단계를 포함하는, 에러 정정 코드의 복호화 방법. - 제16항에 있어서, 상기 긴 신드롬이 0과 동일하지 않고 상기 비제로 짧은 코드워드들이 상기 대응하는 짧은 코드워드들을 성공적으로 정정하지 않았다면, 상기 긴 신드롬에 따라서 상기 짧은 코드워드들의 에러 있는 짧은 코드워드들을 정정하는 단계를 더 포함하는, 에러 정정 코드의 복호화 방법.
- 제16항에 있어서, 상기 짧은 패리티들은 제1생성 다항식에 따라서 생성되고, 상기 긴 패리티가 제2생성 다항식에 따라서 생성되며, 상기 제1생성 다항식은 상기 제2생성 다항식의 적어도 하나의 최소 다항식의 함수인 것인, 에러 정정 코드의 복호화 방법.
- 제18항에 있어서, 상기 제1생성 다항식은 상기 제2생성 다항식의 적어도 하나의 최소 다항식의 최소 공배수인 것인, 에러 정정 코드의 복호화 방법.
- 제16항에 있어서, 상기 긴 코드워드 및 상기 짧은 코드워드들은 BCH 코드들 또는 RS 코드들인 것인, 에러 정정 코드의 복호화 방법.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US22246809P | 2009-07-01 | 2009-07-01 | |
| US61/222,468 | 2009-07-01 | ||
| PCT/CN2009/073148 WO2011000176A1 (zh) | 2009-07-01 | 2009-08-07 | 错误修正码的编码及解码方法以及编码解码器 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20130014484A KR20130014484A (ko) | 2013-02-07 |
| KR101314232B1 true KR101314232B1 (ko) | 2013-10-02 |
Family
ID=43391438
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020127002747A Active KR101314232B1 (ko) | 2009-07-01 | 2009-08-07 | 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱 |
Country Status (4)
| Country | Link |
|---|---|
| KR (1) | KR101314232B1 (ko) |
| CN (1) | CN101938280B (ko) |
| TW (1) | TWI397811B (ko) |
| WO (1) | WO2011000176A1 (ko) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8806309B2 (en) * | 2011-06-13 | 2014-08-12 | Silicon Motion Inc. | Method for controlling message-passing algorithm based decoding operation by referring to statistics data of syndromes of executed iterations and related control apparatus thereof |
| KR101636406B1 (ko) * | 2015-01-30 | 2016-07-05 | 고려대학교 산학협력단 | 저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법 |
| TWI566091B (zh) * | 2015-09-10 | 2017-01-11 | 慧榮科技股份有限公司 | 用來對一錯誤更正碼進行解碼之方法與解碼電路 |
| EP4123937B1 (en) | 2016-06-19 | 2025-08-13 | LG Electronics, Inc. | Data transmission method and transmitter |
| US20180358989A1 (en) * | 2017-06-09 | 2018-12-13 | Western Digital Technologies, Inc. | Non-volatile Storage Systems With Application-Aware Error-Correcting Codes |
| CN115278769A (zh) * | 2021-04-30 | 2022-11-01 | 华为技术有限公司 | 数据传输方法、装置、系统及可读存储介质 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR910000156B1 (ko) * | 1983-01-20 | 1991-01-21 | 니뽄 호소 교까이 | 에러 정정 방법 및 시스템 |
| KR20080043679A (ko) * | 2006-11-14 | 2008-05-19 | 삼성전자주식회사 | 에러 정정 방법 및 이에 적합한 장치 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5642366A (en) * | 1994-07-05 | 1997-06-24 | Adaptec, Inc. | Global parity symbol for interleaved reed-solomon coded data |
| US5782799A (en) * | 1997-02-07 | 1998-07-21 | Sarcos, Inc. | Method for automatic dosing of drugs |
| JP2003323751A (ja) * | 2002-04-30 | 2003-11-14 | Sony Corp | 光磁気ディスク |
| CN100557715C (zh) * | 2006-08-11 | 2009-11-04 | 福昭科技(深圳)有限公司 | 利用一组ecc电路并行处理多组数据的方法 |
| TWI332611B (en) * | 2007-05-24 | 2010-11-01 | Realtek Semiconductor Corp | Method for writing data in flash memory and error correction coding/decoding method thereof |
| US7853857B2 (en) * | 2007-09-14 | 2010-12-14 | Motorola Mobility, Inc. | Multi-layer cyclic redundancy check code in wireless communication system |
-
2009
- 2009-08-07 WO PCT/CN2009/073148 patent/WO2011000176A1/zh active Application Filing
- 2009-08-07 KR KR1020127002747A patent/KR101314232B1/ko active Active
- 2009-08-10 CN CN2009101680232A patent/CN101938280B/zh active Active
- 2009-08-10 TW TW098126686A patent/TWI397811B/zh active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR910000156B1 (ko) * | 1983-01-20 | 1991-01-21 | 니뽄 호소 교까이 | 에러 정정 방법 및 시스템 |
| KR20080043679A (ko) * | 2006-11-14 | 2008-05-19 | 삼성전자주식회사 | 에러 정정 방법 및 이에 적합한 장치 |
Also Published As
| Publication number | Publication date |
|---|---|
| TWI397811B (zh) | 2013-06-01 |
| WO2011000176A1 (zh) | 2011-01-06 |
| KR20130014484A (ko) | 2013-02-07 |
| WO2011000176A8 (zh) | 2012-12-13 |
| CN101938280A (zh) | 2011-01-05 |
| CN101938280B (zh) | 2013-09-25 |
| TW201102807A (en) | 2011-01-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8468432B2 (en) | Coder-decoder and method for encoding and decoding an error correction code | |
| US10243589B2 (en) | Multi-bit error correction method and apparatus based on a BCH code and memory system | |
| CA3193950C (en) | Forward error correction with compression coding | |
| US7721185B1 (en) | Optimized reed-solomon decoder | |
| US8806295B2 (en) | Mis-correction and no-correction rates for error control | |
| US20030188253A1 (en) | Method for iterative hard-decision forward error correction decoding | |
| KR101314232B1 (ko) | 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱 | |
| US8370727B2 (en) | Method and circuit for decoding an error correction code | |
| US7231575B2 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
| CN113922825A (zh) | 用于误差校正代码的低延迟解码器 | |
| US20050154964A1 (en) | Data retrieval from a storage device using a combined error correction and detection approach | |
| US8365053B2 (en) | Encoding and decoding data using store and exclusive or operations | |
| KR102705065B1 (ko) | 낮은 레이턴시를 갖는 에러정정코드 디코더 | |
| US9236890B1 (en) | Decoding a super-code using joint decoding of underlying component codes | |
| JPH08293802A (ja) | インターリーブ式誤り訂正方法 | |
| US8181096B2 (en) | Configurable Reed-Solomon decoder based on modified Forney syndromes | |
| WO2008069465A1 (en) | Method and apparatus for checking correction errors using cyclic redundancy check |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0105 | International application |
Patent event date: 20120131 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PA0201 | Request for examination | ||
| PG1501 | Laying open of application | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20130228 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20130705 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20130926 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20130927 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| FPAY | Annual fee payment |
Payment date: 20160713 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20160713 Start annual number: 4 End annual number: 4 |
|
| FPAY | Annual fee payment |
Payment date: 20170727 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
Payment date: 20170727 Start annual number: 5 End annual number: 5 |
|
| FPAY | Annual fee payment |
Payment date: 20190705 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
Payment date: 20190705 Start annual number: 7 End annual number: 7 |
|
| PR1001 | Payment of annual fee |
Payment date: 20200707 Start annual number: 8 End annual number: 8 |
|
| PR1001 | Payment of annual fee |
Payment date: 20210818 Start annual number: 9 End annual number: 9 |
|
| PR1001 | Payment of annual fee |
Payment date: 20220822 Start annual number: 10 End annual number: 10 |
|
| PR1001 | Payment of annual fee |
Payment date: 20230829 Start annual number: 11 End annual number: 11 |
|
| PR1001 | Payment of annual fee |
Payment date: 20240819 Start annual number: 12 End annual number: 12 |