JP5132758B2 - 誤り訂正復号器及び記憶装置 - Google Patents
誤り訂正復号器及び記憶装置 Download PDFInfo
- Publication number
- JP5132758B2 JP5132758B2 JP2010276646A JP2010276646A JP5132758B2 JP 5132758 B2 JP5132758 B2 JP 5132758B2 JP 2010276646 A JP2010276646 A JP 2010276646A JP 2010276646 A JP2010276646 A JP 2010276646A JP 5132758 B2 JP5132758 B2 JP 5132758B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- parity
- inverted
- node
- likelihood
- 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.)
- Expired - Fee Related
Links
- 238000012937 correction Methods 0.000 title claims description 43
- 238000012545 processing Methods 0.000 claims description 89
- 238000000034 method Methods 0.000 claims description 46
- 230000003321 amplification Effects 0.000 claims description 41
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 41
- 239000004065 semiconductor Substances 0.000 claims description 12
- 230000001174 ascending effect Effects 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 description 64
- 238000012805 post-processing Methods 0.000 description 49
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1142—Decoding using trapping sets
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/458—Soft decoding, i.e. using symbol reliability information by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Description
(第1の実施形態)
第1の実施形態に係る誤り訂正復号器は、図1に示されるように、LDPC復号部110、後処理判定部120、反転ノードリスト生成部130及び後処理部140を含む。
ステップS410はステップS411から開始する。ステップS411において、行処理部112は、入力尤度保持部101からの入力尤度Fnと、検査行列保持部115からの検査行列Hの情報と、列処理部113からの(最新の)事前尤度βmnとを用いて外部値αmnを生成する。尚、ステップS411の処理が実行される毎に、行処理部112は繰り返し回数L1をカウント(インクリメント)してもよい。
ステップS440はステップS441から開始する。ステップS441において、反転制御部146は、反転ノードリストの中で未反転の1つの変数ノードVjを選択し、これに対して反転処理を行う。更に、反転制御部146は、全ての事前尤度βmnを「0」にリセットする。ステップS441に続いて、処理はステップS442に進む。
第2の実施形態に係る記憶装置は、前述の第1の実施形態に係る誤り訂正復号器の応用例である。本実施形態に係る記憶装置は、典型的には、フラッシュメモリなどの不揮発性メモリと、これを制御するメモリコントローラとを含む。
第3の実施形態に係る受信機は、前述の第1の実施形態に係る誤り訂正復号器の応用例である。本実施形態に係る受信機は、図12に示されるように、アンテナ320、周波数変換器321、A/D(アナログ/デジタル)変換器322、復調器323及び復号器324を有する。図12の受信機は、符号化及び変調された信号を受信し、復調及び復号することによって受信データを復元する。図12の受信機は、典型的には、(セルラ、無線LAN(Local Area Network)などをサポートする)無線受信機、放送波受信機などである。また、図12には示されていないが、受信機は、低雑音増幅器、フィルタなどを含むことも可能である。
111,141・・・入力尤度保持部
112,142・・・行処理部
113,143・・・列処理部
114,144・・・パリティ検査部
115,145・・・検査行列保持部
120・・・後処理判定部
130・・・反転ノードリスト生成部
140・・・後処理部
146・・・反転制御部
147・・・増幅制御部
148・・・繰り返し回数制御部
149・・・反転ノードリスト保持部
301・・・復号器
302・・・メモリコントローラ
303・・・記憶装置
304・・・ホスト
305・・・半導体メモリ部
306・・・バス
307・・・ROM
308・・・CPUコア
309・・・RAM
310・・・ホストI/F
311・・・誤り訂正部
312・・・メモリI/F
313・・・符号化器
320・・・アンテナ
321・・・周波数変換器
322・・・A/D変換器
323・・・復調器
324・・・復号器
Claims (7)
- LDPC符号に基づく符号データに対して繰り返し復号を実施する誤り訂正復号器において、
前記繰り返し復号の実施回数が所定数に達しても符号語が得られない場合に、パリティを満たさないチェックノードに繋がっている変数ノードを列挙した反転ノードリストを生成する生成部と、
前記反転ノードリストに列挙された変数ノードの中から反転対象の変数ノードを選択し、前記反転対象の変数ノードの事後尤度の正負を反転することによって前記反転対象の変数ノードの入力尤度を一時的に更新する反転処理を行う反転制御部と、
前記反転処理の実施後に、各入力尤度及び各事前尤度に基づいて各外部値を繰り返し生成する行処理部と、
前記各入力尤度及び前記各外部値に基づいて一時推定語を生成し、前記一時推定語にパリティ検査を行い、全てのチェックノードがパリティを満たす場合に前記一時推定語を前記符号語と判定するパリティ検査部と、
前記一時推定語について少なくとも1つのチェックノードがパリティを満たさない場合に、パリティを満たさないチェックノードから変数ノードへの外部値の絶対値を増幅する増幅処理を行う増幅制御部と、
前記増幅処理の実施後に、前記各外部値に基づいて前記各事前尤度を更新する列処理部と
を具備する誤り訂正復号器。 - 前記反転制御部は、前記反転対象の変数ノードに対して反転処理を行ってから所定回数以上前記パリティ検査が繰り返され、かつ、前回のパリティ検査に比べてパリティを満たさないチェックノードの数が増大した場合に、前記反転対象の変数ノードの入力尤度を初期値にリセットし、前記反転ノードリストに列挙された変数ノードの中から未反転の変数ノードを選択して前記反転処理を行う、請求項1の誤り訂正復号器。
- 前記反転制御部は、事後尤度の絶対値の昇順に前記反転対象の変数ノードを選択する、請求項1の誤り訂正復号器。
- 前記増幅制御部は、前記パリティを満たさないチェックノードの数が所定個数未満であれば前記増幅処理を実施し、そうでなければ前記増幅処理を省略する、請求項1の誤り訂正復号器。
- 前記反転制御部は、前記反転対象の変数ノードの事後尤度の正負を反転し、設定可能な最大の絶対値を乗じて得られる値を前記反転対象の変数ノードの入力尤度に代入することによって前記反転対象の変数ノードの入力尤度を一時的に更新する反転処理を行う、請求項1の誤り訂正復号器。
- 前記反転制御部は、列重みの昇順に前記反転対象の変数ノードを選択する、請求項1の誤り訂正復号器。
- 前記符号データを記憶する半導体メモリ部と、
前記半導体メモリ部から前記符号データを受ける読み出し部と、請求項1記載の誤り訂正復号器とを含むコントローラと
を具備する、記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010276646A JP5132758B2 (ja) | 2010-12-13 | 2010-12-13 | 誤り訂正復号器及び記憶装置 |
US13/225,759 US8645802B2 (en) | 2010-12-13 | 2011-09-06 | Error correction decoder and storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010276646A JP5132758B2 (ja) | 2010-12-13 | 2010-12-13 | 誤り訂正復号器及び記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012129591A JP2012129591A (ja) | 2012-07-05 |
JP5132758B2 true JP5132758B2 (ja) | 2013-01-30 |
Family
ID=46646213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010276646A Expired - Fee Related JP5132758B2 (ja) | 2010-12-13 | 2010-12-13 | 誤り訂正復号器及び記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8645802B2 (ja) |
JP (1) | JP5132758B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013190597A1 (en) * | 2012-06-21 | 2013-12-27 | Hitachi, Ltd. | Flash memory device and storage control method |
FR3009462B1 (fr) * | 2013-08-02 | 2019-08-23 | Thales | Procede ameliore de decodage d'un code correcteur avec passage de message, en particulier pour le decodage de codes ldpc ou codes turbo |
US9184767B2 (en) * | 2013-09-19 | 2015-11-10 | SanDisk Technologies, Inc. | Scoring variable nodes for low density parity check code decoding |
US9582354B2 (en) * | 2014-01-28 | 2017-02-28 | Infineon Technologies Ag | Apparatus and method for improving data storage by data inversion |
US9509342B2 (en) | 2014-06-02 | 2016-11-29 | Sandisk Technologies Llc | Error correcting code decoder |
KR102582326B1 (ko) * | 2018-09-20 | 2023-09-26 | 에스케이하이닉스 주식회사 | 에러 정정 회로 및 이의 동작 방법 |
WO2020170435A1 (ja) * | 2019-02-22 | 2020-08-27 | 三菱電機株式会社 | 誤り訂正復号装置および誤り訂正復号方法 |
CN113872611B (zh) * | 2021-12-02 | 2022-04-15 | 阿里云计算有限公司 | 一种ldpc解码方法、设备、系统及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050118056A (ko) * | 2004-05-12 | 2005-12-15 | 삼성전자주식회사 | 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치 |
EP1881610B1 (en) * | 2005-05-13 | 2015-06-03 | NEC Corporation | Weighted LDPC decoding using the MaxLog approximation |
JP4900168B2 (ja) * | 2007-09-28 | 2012-03-21 | 富士通株式会社 | 無線受信装置 |
JP2009182421A (ja) * | 2008-01-29 | 2009-08-13 | Panasonic Corp | 復号化方法及び復号化装置 |
-
2010
- 2010-12-13 JP JP2010276646A patent/JP5132758B2/ja not_active Expired - Fee Related
-
2011
- 2011-09-06 US US13/225,759 patent/US8645802B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20120226954A1 (en) | 2012-09-06 |
US8645802B2 (en) | 2014-02-04 |
JP2012129591A (ja) | 2012-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5132758B2 (ja) | 誤り訂正復号器及び記憶装置 | |
JP5091996B2 (ja) | 誤り訂正復号器、メモリコントローラ及び受信機 | |
US8924812B2 (en) | Non-binary LDPC code decoder | |
US8607118B2 (en) | Iterative decoding method and apparatus | |
US8650453B2 (en) | LDPC selective decoding scheduling using a cost function | |
KR100757769B1 (ko) | 저밀도 패리티 체크 코드를 디코딩하는 디코더 및 방법 | |
JP6446730B2 (ja) | データをデコードするための方法およびデコーダ | |
EP2523351A1 (en) | Encoding method and encoding device | |
JP2014027704A (ja) | 複数のチェックノード・アルゴリズムを用いる誤り訂正デコーダ | |
US8856626B2 (en) | Decoder, decoding method and communication apparatus | |
US9564931B1 (en) | Systems and methods for using decoders of different complexity in a hybrid decoder architecture | |
JP2010539744A (ja) | パリティ検査型の符号を用いてのシンボルの符号化および復号化 | |
US20120290891A1 (en) | Method and apparatus for decoding low density parity check code | |
JP4572937B2 (ja) | 復号装置および方法、プログラム、並びに記録媒体 | |
US20140173375A1 (en) | Ldpc encoding/decoding method and device using same | |
US20130272456A1 (en) | Decoding apparatus and decoding method for decoding data encoded by ldpc | |
JP2016208309A (ja) | 誤り訂正復号装置、受信装置及び誤り訂正復号方法 | |
JP4845846B2 (ja) | 復号装置および復号プログラム | |
JP5132738B2 (ja) | 誤り訂正復号器及び受信機 | |
JP5500203B2 (ja) | 軟判定復号装置および軟判定復号プログラム | |
JP2008236387A (ja) | 軟判定復号装置および軟判定復号プログラム | |
JP5018807B2 (ja) | 復号化装置 | |
US8489973B1 (en) | Numerical solution on LLR exchange in turbo equalization | |
KR102394458B1 (ko) | 복호기 및 그의 복호 방법 | |
JP2009135735A (ja) | 復号器、受信装置及び符号化データの復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120924 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121009 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121106 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151116 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151116 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |