JP2012500512A - ニア・コードワードのramリスト復号 - Google Patents

ニア・コードワードのramリスト復号 Download PDF

Info

Publication number
JP2012500512A
JP2012500512A JP2011522962A JP2011522962A JP2012500512A JP 2012500512 A JP2012500512 A JP 2012500512A JP 2011522962 A JP2011522962 A JP 2011522962A JP 2011522962 A JP2011522962 A JP 2011522962A JP 2012500512 A JP2012500512 A JP 2012500512A
Authority
JP
Japan
Prior art keywords
ram
profile
trapping set
trapping
decoding method
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.)
Granted
Application number
JP2011522962A
Other languages
English (en)
Other versions
JP2012500512A5 (ja
JP5363573B2 (ja
Inventor
ガンナム,キラン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LSI Corp
Original Assignee
LSI Logic Corp
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 LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2012500512A publication Critical patent/JP2012500512A/ja
Publication of JP2012500512A5 publication Critical patent/JP2012500512A5/ja
Application granted granted Critical
Publication of JP5363573B2 publication Critical patent/JP5363573B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1142Decoding using trapping sets
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本発明のある種の実施形態は、(LDPC)リスト復号で使用される支配的トラッピング・セット・プロファイルのRAMリストを作成し、更新する、効率的なランタイム方法である。復号された正しい符号語を、ニア・コードワードと比較して、新しいトラッピング・セット・プロファイルを生成し、そのプロファイルをRAMに書き込む。プロファイルが最後に一致した時以降にRAMが検索された回数の記録を保持する。指定された回数の検索の中で一致しなかったプロファイルは、追出しに適する。追出しに適するプロファイルは、他の要因、たとえば、プロファイルが追加された時以降にそのプロファイルが一致した回数、満足されないチェックノードの個数、誤りのあるビットノードの個数などに基づいて、さらにランキングされる。新たに発見されたプロファイルを格納するのに十分な空き空間がRAM内にない場合には、追出しに適するプロファイルが、最低ランキングのプロファイルから始めて、(i)十分な空き空間が作成されるか(ii)追出しに適するプロファイルがなくなるいずれかになるまで削除される。

Description

本発明は、ディジタル信号処理に関し、具体的には、low−density parity check(LDPC)コーディングと称するデータ符号化方法に関する。
通信は、送信器による、通信チャネルを介する受信器への情報の伝送である。実世界では、通信チャネルは、送信器から受信される情報のひずんだ版を受信器に出力する、雑音のある通信路である。ハード・ディスク(HD)ドライブは、送信器から情報を受け入れ、その情報を格納し、その後、おそらくは、その情報の多少ひずんだコピーを受信器に送る、1つのそのような雑音のある通信路である。
米国仮出願第61/089,297号 米国特許出願第XX/xxx,xxx号(整理番号08−1293)
HDドライブなどの通信チャネルによって導入されるひずみは、チャネル・エラーすなわち、チャネル入力信号が0であった時に受信器がチャネル出力信号を1と解釈し、およびその逆を行う状況を引き起こすのに十分に大きい場合がある。チャネル・エラーは、スループットを下げ、したがって望ましくない。したがって、チャネル・エラーを検出し、かつ/または訂正するツールの継続する必要がある。low−density parity check(LDPC)コーディングは、チャネル・エラーを検出し、訂正する1つの方法である。LDPC符号は、低信号対雑音比(SNR)応用のための非常に低いビット誤り率(BER)を達成できる、既知のシャノン限界に近い符号の1つである。LDPC復号は、その並列性の可能性、低い実施複雑さ、短い復号待ち時間、ならびに高SNRでのより深刻でないエラーフロアによって区別される。LDPC符号は、事実上すべての次世代通信標準規格について検討されている。
ある種の実施形態で、本発明は、グラフベースの符号を用いて符号化された符号化されたデータを復号する方法を含む。この方法は、(i)候補の復号された符号語を生成するために、符号化されたデータに対して復号を実行することと、(ii)候補の復号された符号語が復号された正しい符号語ではない場合に、復号された正しい符号語を生成することを試みるためにトラッピング・セット(TS)−RAMリスト復号方法を実行することとを含む。TS−RAMリスト復号方法は、RAMメモリ内に格納された1つまたは複数のTSプロファイルにアクセスし、各TSプロファイルは、異なるトラッピング・セットに対応する。
他の実施形態では、本発明は、グラフベースの符号を用いて符号化された符号化されたデータを復号する装置である。この装置は、(i)候補の復号された符号語を生成するために、符号化されたデータに対して復号を実行するように適合された復号器と、(ii)RAMメモリと、(iii)候補の復号された符号語が復号された正しい符号語ではない場合に、復号された正しい符号語を生成することを試みるためにトラッピング・セット(TS)−RAMリスト復号方法を実行するように適合されたTS−RAMリスト復号器とを含む。TS−RAMリスト復号器は、RAMメモリ内に格納された1つまたは複数のTSプロファイルにアクセスし、各TSプロファイルは、異なるトラッピング・セットに対応する。
本発明の他の態様、特徴、および利益は、次の詳細な説明、添付の特許請求の範囲、および添付図面からより十分に明らかになり、添付図面では、類似する符号が、類似するまたは同一の要素を識別する。
LDPCコーディングを利用する通常のハード・ディスク(HD)ドライブ100の一部を示すブロック図である。 図2(A)は、LDPC H行列200を示す図であり、図2(B)は、H行列200のタナー・グラフを示す図である。 復号器112によって使用される通常のLDPC復号方法300を示す流れ図である。 トラッピング・セットを識別し、これらのトラッピング・セットに関するさまざまな情報を記録するオフライン・トラッピング・セット(TS)シミュレーション・ツール400を示すブロック図である。 本発明の一実施形態によるLDPC復号システム500を示すブロック図である。 図5のROM Pテーブル514の例示的レイアウトを示す図である。 図5のBテーブル512の例示的レイアウトを示す図である。 図5のEテーブル516の例示的レイアウトを示す図である。 図5のEIテーブル518の例示的レイアウトを示す図である。 図5のRAM Pテーブル522の例示的レイアウトを示す図である。 図5のRAMインデックス・テーブル524の例示的レイアウトを示す図である。 図5のLDPC復号システム500によって使用される例示的プロセス1200を示す流れ図である。 図5のポストプロセッサ504によって実施される図12の例示的なTS−ROMリスト復号プロセス1206を示す流れ図である。 図13の例示的なTS−ROM検索プロセス1314を示す流れ図である。 図12の例示的なTS−RAMリスト復号プロセス1208を示す流れ図である。 図12の例示的なTS−RAM更新プロセス1216を示す流れ図である。
図1は、LDPCコーディングを利用する通常のハード・ディスク(HD)ドライブ100の一部のブロック図である。HDドライブ100は、プラッタ102および読取りチャネル104を含む。読取りチャネル104は、LDPC符号器106、書込みプロセッサ108、読取りプロセッサ110、およびLDPC復号器112を含む。経路114は、LDPC符号器106とLDPC復号器112との間の雑音のある通信路である。
プラッタ102に書き込まれる情報語は、LDPC符号語を作るためにLDPC符号器106によって処理される。LDPC符号語は、書込みプロセッサ108に送られ、書込みプロセッサ108は、複数のモジュール、たとえば、BPSK(二進移相変調)符号器、ディジタル−アナログ変換器などを含む。書込みプロセッサ108の出力116が、プラッタ102に書き込まれる。
プラッタ102から読み取られた信号118は、読取りプロセッサ110に送られ、読取りプロセッサ110は、複数のモジュール、たとえば、前置増幅器、連続時間フィルタ、固定インパルス応答フィルタ、検出器、アナログ−ディジタル変換器などを含む。読取りプロセッサ110は、対数尤度比(LLR)値LchをLDPC復号器112に出力し、LDPC復号器106は、復号された情報語を出力する。さらに、LDPC復号器112は、ELDPC値を読取りプロセッサ110に送り返す。ELDPCは、下の式6によって定義され、中間の計算されたLLR値を表す。読取りプロセッサ110は、ELDPC値を使用して、その性能を調整し、これは、ターボ復号として知られるプロセスである。
LDPC符号化
LDPC符号器106は、情報語のビットに、LDPC符号によって指定される複数のパリティ・ビットを付加して、符号語を作る。情報語のビットは、可変ビットとして知られ、これらの可変ビットの個数は、Kと表される。あるLDPC符号語内のビットの総数は、Nと表される。したがって、パリティ・ビットの個数は、N−Kによって与えられる。特定のLDPC符号のレートは、K/Nすなわち、符号語長さに対する情報語長さの比である。したがって、9ビット符号語を作るために3ビット情報語のそれぞれに6つのパリティ・ビットを付加するLDPC符号は、1/3のレートを有する。通常のHDドライブの場合に、情報語長さKは、4096ビット(通常のHDドライブ・セクタの長さ)であり、パリティ・ビットの個数は、4506ビットの符号語長さおよび0.9のレートについて、約410ビットである。
LDPC符号語内の各パリティ・ビットは、その特定のLDPC符号によって指定される特定の形でその符号語内の1つまたは複数の他の(可変またはパリティ)ビットに関連し、パリティ・ビットに割り当てられる値は、LDPC符号を満足するようにセットされる。通常のLDPC符号は、関連するビットがパリティ検査制約を満足する、たとえば、関連するビットの合計が偶数である、すなわち、合計modulo 2=0であることを指定する。
LDPC符号
特定のLDPC符号は、パリティ検査行列またはH行列あるいは単純にHとして知られる1および0の2次元行列によって定義される。Hは、LDPC符号器とLDPC復号器との両方によって、先験的に既知である。Hは、N列N−K行を含む、すなわち、符号語のすべてのビットの列およびすべてのパリティ・ビットの行を含む。Hの各1は、列の符号語ビットと行のパリティ・ビットとの間の関連を表す。たとえば、Hの第3行第7列の1は、第3パリティ検査ビットが符号語の第7ビットに関連することを意味する。検査ビットおよびその検査ビットに関連するすべての可変ビットのmodulo 2合計は、0でなければならない。
Hのある列内の1の個数は、その列の重みwとして知られる。同様に、Hのある行内の1の個数は、その行の重みwとして知られる。すべての列が同一のwを有し、すべての行が同一のwを有するHによって定義されるLDPC符号は、正則LDPC符号として知られる。wおよび/またはwがそれぞれすべての列および/または行にまたがって同一ではないHによって定義されるLDPC符号は、非正則LDPC符号として知られる。
通常のLDPCを定義する特性は、Hが「疎」であるすなわち、Hの要素が、少数の1を伴ってほとんどが0であることである。研究は、H行列が、通常は良好に動作するためにw≧3を必要とし、非正則LDPC符号が正則LDPC符号より性能が優れていることを示した。
図2(A)に、LDPC H行列200を示す。H行列200は、N=9列およびN−K=6行を含む。したがって、H行列200は、3ビットの情報語を受け入れ、6つのパリティ・ビットを付加し、9ビットの符号語を出力するLDPC符号を定義する。したがって、この特定のLDPC符号のレートは、3/9すなわち1/3である。H行列200によって定義されるLDPC符号は、正則であり、2のwおよび3のwを伴う。
チャネル出力:対数尤度比
図1に戻って、LDPC符号器106とLDPC復号器112との間の経路114は、雑音のある通信路であり、したがって、復号器112は、LDPC符号器106によって出力された符号語の完全なコピーは受け取らない。その代わりに、読取りプロセッサ110は、1つまたは複数のLch値を出力し、ここで、各Lch値は、チャネル入力符号語内の1ビットに対応する。
各Lch値は、対数尤度比(LLR)である。LLRは、複数のビットを含むデータ構造であり、ここで、単一の符号ビットは、硬判定(すなわち、オリジナル・ビットが1または0のどちらであったかに関する読取りプロセッサ110の最良の推測)を示し、残りの大きさビットは、その硬判定での読取りプロセッサ110の信頼度の度合を示す。より正確には、LLRは、
Figure 2012500512
を表し、ここで、pは、サンプルが0を表す確率であり、pは、サンプルが1を表す確率である。
たとえば、読取りプロセッサ110は、各Lch値を5ビット・データ構造として出力することができ、ここで、最上位ビットは、硬判定値を示す符号ビットであり、4つの大きさビットの16個の値は、硬判定の信頼度を示す。したがって、たとえば、1つの通常の方式で、2進数00000のLLR値は、最小信頼度を有する0の硬判定値を示し、2進数01111の値は、最大信頼度を有する0の硬判定値を示し、2進数10000は、未使用であり、2進数10001は、最小信頼度を有する1の硬判定値を示し、2進数11111の値は、最大信頼度を有する1の硬判定値を示すはずである。
LDPC復号:確率伝搬
図3は、復号器112によって使用される通常のLDPC復号方法300の流れ図である。LDPC復号器112は、N個のLch値を受け取り、復号された情報語を出力する。復号方法300の心臓部は、確率伝搬と呼ばれる反復的2相メッセージパッシング・アルゴリズムである。確率伝搬は、タナー・グラフと呼ばれる視覚化の使用を用いて最もよく説明される。
図2(B)は、H行列200のタナー・グラフである。一般に、タナー・グラフは、1)H内の列の数と等しい(したがって、可変ビットの個数と等しい)ビットノードの個数n、2)H内の行の個数と等しい(したがって、パリティ・ビットの個数と等しい)チェックノードの個数m、3)それぞれが単一のビットノードを単一のチェックノードに接続する、辺としても知られる線、4)ビットノードnのそれぞれについて、受信器から受け取られたオリジナルのLch値、および5)ビットノードnのそれぞれについて、計算された硬判定出力値
Figure 2012500512
を含む。タナー・グラフ2(B)は、9つのビットノードn〜n、6つのチェックノードm〜m、ビットノードをチェックノードに接続する18個の辺202、9つのLch値、および9つの
Figure 2012500512
値を含む。
タナー・グラフの辺は、(すなわち、可変)ビットノードnとチェックノードmの間の関係を表す、すなわち、辺は、H内の1を表す。たとえば、図2(B)では、辺202は、第1のビットノードnを第4のチェックノードmに接続し、これは、図2(A)のH行列200の第1列第4行に1があることを意味する。
タナー・グラフは、二部グラフである、すなわち、辺は、ビットノードをチェックノードに接続することだけができ、ビットノードを別のビットノードにまたはチェックノードを別のチェックノードに接続することはできない。辺によって特定のチェックノードmに接続されたすべてのビットノードnの集合を、N(m)と表す。辺によって特定のビットノードnに接続されたすべてのチェックノードmの集合を、M(n)と表す。
特定の(ビットまたはチェック)ノードのインデックスは、グラフ内のそのノードのオリジナル・シーケンスである。(ビットまたはチェック)ノードの次数は、そのノードに接続された辺の個数である。したがって、タナー・グラフ内のビットノードnの次数は、対応するH行列内の列nの重みwと等しく、タナー・グラフ内のチェックノードmの次数は、対応するH行列内の行mの重みwと等しい。
図3に戻って、処理は、ステップ302で開始され、ステップ304すなわち復号器初期化に進む。復号器初期化304は、ビットノードnに接続されたすべての辺(たとえば、図2(B)の202)にビットノードnに関連する対応するLch値をセットし、ビットノードnの
Figure 2012500512
値にビットノードnのLchの硬判定値をセットすることを含む。したがって、たとえば、図2(B)では、ビットノードnに関連するLch値が+5である場合に、ステップ304で、ビットノードnをチェックノードmおよびmに接続する2つの辺202に+5がセットされ、ビットノードnの
Figure 2012500512
値に1がセットされる。このステップの第1部分を表す代替の形は、ビットノードnが、集合M(n)内の各チェックノードmに+5のメッセージを送ることである。ビットノードnからチェックノードmに送られるメッセージは、Qnmと表され、ここで、Qnmは、LLRの形である。初期化されたばかりの復号器の状態を、状態0と称する。
次に、ステップ304は、症候群チェック・ステップ306に、N個の
Figure 2012500512
値を含むベクトル
Figure 2012500512
を送る。ベクトル
Figure 2012500512
は、符号語候補である。症候群チェック・ステップ306は、次の式1を使用して症候群ベクトルzを計算する。
Figure 2012500512
ここで、Hは、H行列の転置行列である。zが0ベクトルである場合には、ベクトル
Figure 2012500512
は、Hによって定義されるすべてのパリティ検査制約を満足している、すなわち、
Figure 2012500512
は有効な符号語である。その場合には、処理は、巡回冗長検査(CRC)チェック318に進む。
その代わりに、zが0ベクトルではない場合には、ベクトル
Figure 2012500512
は、パリティ検査制約のうちの1つまたは複数に不合格であり、これを、通常は、満足されないチェックノードまたはUSCと称する。0スカラ値ではない症候群ベクトルz内の要素の個数は、ベクトル
Figure 2012500512
内のUSCの個数bである。さらに、症候群ベクトルzの非ゼロ・スカラ要素のインデックスは、ベクトル
Figure 2012500512
内のUSCのインデックスである。
ベクトル
Figure 2012500512
が症候群チェック306に不合格である場合には、処理は、1つまたは複数の復号反復308の第1の反復に継続する。復号反復308は、3つのステップすなわち、1)確率伝搬チェックノード更新ステップ310、2)確率伝搬ビットノード更新ステップ312、および3)症候群チェック・ステップ314(ステップ306と同一である)を含む。
確率伝搬チェックノード更新ステップ310では、各チェックノードmは、集合N(m)内のすべてのビットノードnから受け取ったQnm個のメッセージを使用して、次の式2、3、および4に従って、Rmnと表されるメッセージを計算する。
Figure 2012500512
ここで、iは、復号反復であり、N(m)\nは、ビットノードnを除外した集合N(m)であり、βは、正の定数であり、その値は、符号パラメータに依存する。計算されたRmn個のメッセージは、その後、同一の辺に沿って、集合N(m)内のすべてのビットノードnに送り返される。Qnm個のメッセージに似て、Rmn個のメッセージは、LLRである。
次に、確率伝搬ビットノード更新ステップ312では、各ビットノードnは、次の式5に従ってQnm個のメッセージを計算する。
Figure 2012500512
ここで、
Figure 2012500512
は、ビットノードnのLch値であり、M(n)\mは、チェックノードmを除外した集合M(n)である。次に、ビットノードnは、計算されたQnm個のメッセージを集合M(n)内のすべてのチェックノードmに送る。
また、ビットノード更新ステップ312中に、各ビットノードnは、次の式6および7に従って、その
Figure 2012500512
値を更新する。
Figure 2012500512
≧0の場合には、
Figure 2012500512
であり、P<0の場合には、
Figure 2012500512
である。式6によって生成される値を、E値またはELDPC値とも称する。通常、ELDPC値は、ターボ復号として知られるチューニング・プロセスの一部として読取りプロセッサ(たとえば、図1の読取りプロセッサ110)に送り返される。式7によって生成される値を、P値と称する。式2〜7によって表される特定の確率伝搬アルゴリズムは、min−sumアルゴリズムとして知られる。
Figure 2012500512
が、各復号反復308中に更新され、最終的に復号プロセス300によって出力されることに留意されたい。オリジナルのLLR値Lchは、復号プロセス300中に変更されないままになる。言い換えると、各復号反復308中に、各ビットノードnは、その投票を、チェックノードmを介して関連するすべての他のビットノードnの正しい値に関して投じる。たとえば、図2(B)では、ビットノードnは、チェックノードmおよびmに関連する。したがって、nは、その投票を、チェックノードmおよびmに関連するビットノードすなわちn、n、n、およびnの正しい値に関して投じる。ビットノードnのLch値の大きさ値が大きいほど(すなわち、信頼度が高いほど)、ビットノードnの投票はより多くカウントされる。この投票の正味の効果は、低いLch大きさ値(すなわち、信頼度)を有するビットノードの
Figure 2012500512
値が、そのビットノードが関連する高信頼度ビットノードの確率を変更し、これに従うことである。言い換えると、あるビットノードのLch値が、誤りのある硬判定値および小さい大きさを含む場合に、他のビットノードの組み合わされた投票は、1回または複数回の反復の後に、その誤りのある硬判定値を訂正する傾向がある。
ビットノード更新ステップ312は、復号器の現在の
Figure 2012500512
値から構成されたベクトル
Figure 2012500512
を症候群チェック・ステップ314に送る。ステップ314の症候群チェックは、上で述べたステップ306の症候群チェックと同一である。ベクトル
Figure 2012500512
が症候群チェック314に合格する場合には、ベクトル
Figure 2012500512
がCRCステップ318に送られる。
LDPC復号:巡回冗長検査および誤って満足されたチェックノード
症候群チェック306または314に合格することは、ベクトル
Figure 2012500512
が有効な符号語であることだけを意味し、必ずしも復号された正しい符号語(DCCW)であることは意味しない。LDPC復号器がDCCWではない有効な符号語を生成することが有り得る。その場合に、ベクトル
Figure 2012500512
内には、USCではなく、誤って満足されたチェックノード(MSC)がある。したがって、有効なベクトル
Figure 2012500512
がDCCWであることを保証するために、プロセス300は、ベクトル
Figure 2012500512
を巡回冗長検査(CRC)318に渡す。CRCチェックは、伝送または格納中のデータの変更を検出できるチェックサム演算である。
ベクトル
Figure 2012500512
がCRCチェックに合格する場合には、ベクトル
Figure 2012500512
は、DCCWであり、プロセス300は、グローバル変数DCCWに真をセットし、ベクトル
Figure 2012500512
を出力し、ステップ320で終了する。そうでない場合には、ベクトル
Figure 2012500512
はDCCWではなく、プロセス300は、グローバル変数DCCWに偽をセットし、ベクトル
Figure 2012500512
を出力し、ステップ320で終了する。グローバル変数DCCWは、DCCWが生成されたか否かを他の復号プロセス(たとえば、下で述べる図12のTS−ROMリスト復号プロセス1206)に知らせる。
ステップ314に戻って、ベクトル
Figure 2012500512
が症候群チェックに不合格である場合には、ベクトル
Figure 2012500512
は、それでも1つまたは複数のUSCを含む。USCを解決する通常の方法は、もう1つの復号反復308を実行することである。しかし、特定のベクトル
Figure 2012500512
内に、穏当な長さの時間では絶対に満足できない1つまたは複数のUSCが存在する場合がある。したがって、LDPC復号器は、通常、特定のベクトル
Figure 2012500512
に対して実行できる復号反復の回数において制限される。反復の最大回数の通常の値は、50から200までの範囲にわたる。
図3では、ステップ316が、反復の最大回数に達したかどうかを判定する。そうでない場合には、もう1つの復号反復308が実行される。その代わりに、反復の最大回数に達した場合には、復号器プロセス300が失敗した、すなわち、復号器は、「失敗した復号器」である。その場合には、プロセス300は、グローバル変数DCCWに偽をセットし、ベクトル
Figure 2012500512
を出力し、ステップ320で終了する。
失敗した復号器のベクトル
Figure 2012500512
が、少数(たとえば、16個未満)のUSCを含む場合には、ベクトル
Figure 2012500512
は、ニア・コードワード(NCW)と呼ばれる。失敗した復号器のベクトル
Figure 2012500512
が、多数の(たとえば、15個を超える)USCを含む場合には、ベクトル
Figure 2012500512
は、無効符号語(ICW)と呼ばれる。
失敗した復号プロセスを処理する2つの通常の方法は、1)対応するデータの再送を要求することまたは2)1つもしくは複数の後処理(PP)方法にベクトル
Figure 2012500512
を渡すことである。通常、ベクトル
Figure 2012500512
内のUSCの個数bは、この2つの方法のどちらが使用されるかを規定する。大きいb(たとえば、16を超える)は、通常、再送または他の後処理方法によって処理され、小さいb値は、エラーフロア軽減後処理方法によって処理される。
BER、SNR、およびエラーフロア
LDPC復号器のビット誤り率(BER)は、処理されるx個のビットについて何個の誤って復号されたビットが生成されるかを表す比率である。したがって、たとえば、10−9のBERを有する復号器は、平均して、処理される10億ビットごとに1つの誤ったビットを生成する。BERが小さいほど、復号器はよりよい。LDPC復号器のBERは、復号器が失敗するすなわち、復号された正しい符号語DCCWに収束せずに終了する時に、高まる(悪化する)。
LDPC復号器のBERは、復号器の入力信号の信号対雑音比(SNR)によって強く影響される。SNRの関数としてのBERのグラフは、通常、2つの別個の領域すなわち、BERがSNRの単位上昇を前提としてすばやく改善される(減少する)最初の「滝」領域と、SNRの単位上昇がBERのささやかな改善だけをもたらす後続の「エラーフロア」領域とを含む。したがって、エラーフロア領域での大きいBER改善を達成するためには、SNR向上以外の方法が必要である。
LDPC復号のエラーフロア特性を改善する1つの方法は、符号語長さを増やすことである。しかし、符号語長さの増加は、LDPC復号に必要なメモリおよび他のコンピューティング・リソースをも増やす。したがって、HDドライブ上の読取りチャネル・デバイスについて通常そうであるように、そのようなリソースが厳密に制限される場合には、必要なエラーフロア改善をもたらすために、他の方法を見つけなければならない。
もう1つの不足するリソースが、処理サイクルである。通常、指定されたスループットを達成するために、HDドライブは、符号語を復号するために固定された個数の読取りチャネル処理サイクルを計上する。その予算を超える方法(すなわち、オフザフライ(off−the−fly)法)は、スループットを下げる。より望ましいのは、クロックサイクル割当内でDCCWを回復し、したがってスループットを下げないオンザフライ法である。
トラッピング・セットおよび支配的トラッピング・セット
(a,b)トラッピング・セットは、復号器が反復の最大回数以内に満足できないb個のUSCおよびこれらのUSCに関連するa個の誤りのあるビットノード(EBN)の集合である。トラッピング・セットの大多数は、5つ未満のUSCおよび10個未満のEBNを含む。トラッピング・セットは、LDPC復号器のエラーフロア特性に大きい影響を有する、すなわち、LDPC復号器がDCCWへの収束に失敗する時に、これは、しばしば、トラッピング・セットのゆえである。
LDPC復号器のエラーフロア特性を改善する1つの形は、(i)失敗した復号器の
Figure 2012500512
ベクトル内のUSCを調べ、トラッピング・セット(ある場合に)を識別し、(ii)これらのUSCに関連するEBNを識別し、(iii)これらのトラッピング・セットに関連する1つまたは複数のEBNを反転し、(iv)復号器を再始動することである。1つの可能な実施態様では、LDPC復号器が初期化されたばかりである、すなわち、復号器が状態0である場合に、EBNの反転は、(i)EBNのLch値の硬判定値を反転することすなわち、1を0にし、逆も同様にすることと、(ii)その同一のLch値の大きさビットすなわち信頼度に最大値、たとえば全ビット1をセットすることとを含む。復号器が、状態0以外のある状態である場合には、EBNの反転は、(i)EBNのP値(上の式7によって定義される)の硬判定値を判定することと、(ii)そのEBNのLch値、P値、およびすべての関連するQnm個のLLRの硬判定値に、ステップ(i)の硬判定値の反対をセットすることと、(iii)そのEBNのLch値、P値、およびすべての関連するQnm個のLLRの大きさビットに最大値をセットすることとを含む。しばしば、1つまたは2つのEBNを反転することによって、トラッピング・セットが「破壊され」、再始動された復号器は、DCCWに収束する。
異なるトラッピング・セットは、破壊された時に、エラーフロア特性の異なる改善をもたらす。支配的トラッピング・セット(DTS)は、その破壊がBER/エラーフロア特性の指定された改善をもたらす、トラッピング・セットの最小限のセットを指す。たとえば、DTS−1は、BERの単一桁の、たとえば10−9から10−10への大きさ改善をもたらすトラッピング・セットの最小限のセットを指し、DTS−3は、BERの3桁の、たとえば10−10から10−13への大きさ改善をもたらす。
ニア・コードワードのリスト復号
リスト復号は、トラッピング・セットを検出し、破壊する、1つの後処理法である。リスト復号では、ベクトル
Figure 2012500512
内の観察されたトラッピング・セットが、既知のトラッピング・セットの1つまたは複数のリストと照合される。トラッピング・セット・リストは、通常、リスト内の各トラッピング・セット内のすべてのUSCのインデックスおよびこれらのUSCに関連する1つまたは複数のEBNのインデックスを含む。観察されたトラッピング・セットと一致するトラッピング・セットが、リスト内で見つかる場合には、EBNインデックス値(1つまたは複数)が、リストから取り出される。次に、これらのビットノードが反転され、図3の復号プロセス300が再始動される。
トラッピング・セット・シミュレーション
リスト復号に必要なトラッピング・セット・リストは、通常、ソフトウェア・シミュレーション・ツールおよびハードウェア・シミュレーション・ツールを使用してオフラインで生成される。図4は、トラッピング・セットを識別し、これらのトラッピング・セットに関するさまざまな情報を記録するオフライン・トラッピング・セット(TS)シミュレーション・ツール400のブロック図である。ツール400は、たとえば、フィールドプログラマブル・ゲート・アレイ(FPGA)内で実施することができる。LDPCの正しい符号語(CCW)402が、チャネルおよび信号モデル404に送られ、このチャネルおよび信号モデル404は、図1の雑音のある通信路114の挙動をエミュレートする。チャネルおよび信号モデル404は、Lch値406をLDPC復号器408に出力する。LDPC復号器408が、ニア・コードワード(NCW)410を生成する場合には、NCW 410が、症候群チェック・モジュール412および不一致位置レコーダ414に送られる。症候群チェック412は、NCW 410内のすべてのUSCのインデックス416を出力する。不一致位置レコーダ414は、NCW 410をCCW 402と比較し、NCW 410内のすべてのEBNのインデックス418を出力する。USCインデックス416およびEBNインデックス418が、トラッピング・セット(TS)情報420を構成する。
所与のLDPC実施態様について、すべての可能なトラッピング・セットが、数百万個に達する場合がある。しかし、その実施態様のエラーフロアにおける大きい(すなわち、1桁以上の)改善の達成は、通常、すべての可能なトラッピング・セットのサブセットすなわち支配的トラッピング・セット(DTS)のみを必要とする。したがって、オフラインTSシミュレーション・ツール400は、DTS−Nコンパイラ422を含み、DTS−Nコンパイラ422は、その入力としてTS情報420をとり、DTS−N情報424を生成する。
DTS−Nコンパイラ422は、3ステップ・プロセスすなわち、収集、ランキング、および評価を使用する。トラッピング・セット収集法は、トラッピング・セットを検出するのに、符号グラフの構造に基づく決定論的雑音インパルスを利用する。次に、収集されたトラッピング・セットは、ディスタンス・トゥー・エラー・バウンダリ(distance−to−error boundary、DEB)値によってランキングされ、ここで、小さいDEB値を有するトラッピング・セットが、エラーフロアにより多く寄与する。次に、重点的サンプリングが、トラッピング・セットを評価し、予測されたランキングを確認するのに使用される。
実際には、そのようなFPGAベースのオフライン・シミュレーションは、実行に1年を要する可能性がある。たとえば、4Gb/s HDドライブについて10−15のBERをもたらすトラッピング・セットを識別するためには、オフライン・シミュレーション・ツール(たとえば、図4のツール400)を約289日間動作させる必要がある。通常、この時間制約は問題ではない。というのは、しばしば、HDドライブ読取りチャネルの最終設計とチップの量産との間に1年から2年の遅延があるからである。
トラッピング・セット読取り専用メモリ(TS−ROM)
したがって、図4のツール400のようなオフラインTSシミュレーション・ツールを使用することによって、特定のLDPC実施態様についてエラーフロア特性の改善をもたらす1つまたは複数のトラッピング・セットまたは支配的トラッピング・セットを先験的に識別することが可能である。ランタイム環境でリスト復号を実施する1つの形は、オフライン生成された図4のトラッピング・セット情報420をトラッピング・セット読取り専用メモリ(TS−ROM)に格納し、そのTS−ROMをリスト・デコーダ・プログラムと結合することである。TS−ROMリスト・デコーダ・プログラムは、
Figure 2012500512
で観察されるUSCをTS−ROMに格納されたトラッピング・セットと比較する。一致が見つかる場合には、TS−ROMリスト・デコーダ・プログラムは、LDPC復号器内の適当なビットノード値を反転し、復号器を再始動する。
通常、TS−ROM情報は、単一リンク・リストまたは二重リンク・リストにランダムに格納され、このリストは、ブルート・フォース順次検索を使用して検索される。通常、各(a,)トラッピング・セットは、TS−ROMリスト内で(2+a+b)個のレコードを占める。したがって、(4,4)トラッピング・セット・プロファイル(すなわち、4つのUSCおよび4つのEBN)について、10個のレコードすなわち、4つのUSCがあることを示す1つのレコード、それに続く4つの個々のUSCレコード、次に4つのEBNがあることを示すレコード、それに続く4つの個々のEBNレコードがある。通常のTS−ROMリスト実施態様は、約100個のトラッピング・セットを格納し、誤って満足されたチェックノードに関する情報は全く格納しない。
そのようなTS−ROM実施態様が経済的に実用的であるためには、単一のTS−ROMが、多数の実施態様で、要求されるエラーフロア改善を達成できなければならない。しかし、トラッピング・セットは、同一のLDPC符号が実施される時であっても、実施態様によって変化する。たとえば、2つのHDドライブで使用されるLDPC符号が同一の場合であっても、これらのHDドライブに関連するトラッピング・セットが異なる場合がある。具体的に言うと、研究から、トラッピング・セットが、HDドライブのジッタ・プロファイル、記号間干渉特性、およびパルス整形方式によって影響を受けることが示された。これらの要因は、異なる製造業者のHDドライブの間だけではなく、同一製造業者の異なるHDドライブ・モデルの間でも変化する可能性があり、同一モデルの異なるプロダクション・ランの間の変動すらある。したがって、トラッピング・セットは、2つの同一モデルのハード・ドライブの間でさえ変化し得る。そのように多数の異なるHDドライブのLDPCトラッピング・セットをシミュレートすることは、非実用的である。それでも、HDドライブの大きいクラスに共通するトラッピング・セットだけをロードされたTS−ROMは、特定のHDドライブと対にされた時に、要求されるレベルのエラーフロア改善をもたらさない可能性がある。
TS−ROMの性能を改善する1つの方法は、製造されたデバイスのテスト・モデルから得られた結果を用いて、FPGAベースのオフライン・シミュレーション・ツール(たとえば、図4のツール400)によって生成された情報を補足することである。通常、回路設計が最終化された後に、その設計の限られた個数のテスト・モデルが、量産が始まる前に製造され、テストのために配布される。特定のHDドライブ実施態様について10−15のBERをもたらすトラッピング・セットを判定するのに1年を要する場合があるが、10−12のBERをもたらすトラッピング・セットを判定するのには、1日のみを要する。したがって、テスト・モデルは、限られた時間期間の間にLDPCテスト・モードで動作させられ、発見されたトラッピング・セットのすべてが格納される。まだTS−ROM内にはない、発見されたトラッピング・セットのすべてが、TS−ROMに追加される。消費者に配布される実際のデバイスを使用することによって、この方法は、FPGAベースのオフライン・シミュレーション・ツール(たとえば、図4のツール400)に発見されなかった可能性があるトラッピング・セットを取り込む。
トラッピング・セット・ランダムアクセス・メモリ(TS−RAM)
TS−ROMの静的トラッピング・セット・リストに対する1つのランタイム代替案は、トラッピング・セット情報をトラッピング・セット・ランダムアクセス・メモリ(TS−RAM)に格納し、図4のオフライン・トラッピング・セット・シミュレーション・ツール400を、実際の個々のデバイス(たとえば、HDドライブ)に対して動作するランタイム・トラッピング・セット収集分析ツールにすることである。チャネルおよび信号モデル(たとえば、図4のモデル404)から初期値を受け取るのではなく、ランタイム・ツールは、その特定のデバイスの実際の信号を処理する。ランタイム・ツールは、リスト復号器機能性を含む、すなわち、ランタイム・ツールは、観察されたUSCをTS−RAM内の格納されたトラッピング・セット情報と照合し、一致が見つかる場合には、格納された情報を使用して、復号器ビットノード値を変更し、復号器を再始動することを試みる。一致が見つからない場合には、ランタイム・ツールは、観察されたトラッピング・セットを分析する、すなわち、USCに関連するEBNを識別し、観察されたトラッピング・セットが、TS−RAMへの格納に関するしきい要件(たとえば、DTS−Nへのメンバシップ)を満足したかどうかを判定する。
理論的に、上で説明したTS−RAMツールは、すべての実施態様のトラッピング・セット・プロファイルに適合することができる。現実には、図4のオフライン・シミュレーション・ツール400によって実行されるトラッピング・セット/支配的トラッピング・セット・シミュレーションは、計算的に複雑である。具体的に言うと、おそらくは数百万個のトラッピング・セットから支配的トラッピング・セットを構成することが、特に複雑である。この複雑さが、上で説明したTS−RAMツールをほとんどのHDドライブに不適切にする。通常、HDドライブは、高いレート(たとえば、4ギガビット毎秒)でデータを出力し、非常に低いBER/エラーフロア・レート(たとえば、10−13から10−15)を要求するが、そのファームウェアでささやかなコンピューティング・リソースのみを提供する。
さらに、TS−RAMツールは、図4のオフライン・シミュレーション・ツール400に似て、EBNインデックスを生成するために正しい符号語(CCW)を必要とする。CCWは、オフライン・シミュレーション環境では簡単に入手可能であるが、ランタイム環境ではそうではない。
本発明のある種の実施形態によれば、ROM内の格納されたトラッピング・セット・プロファイルの編成のために、方法が実行される。トラッピング・セット・プロファイルは、優位性によってすなわち、LDPC復号器のエラーフロア特性に対する影響によって、ランキングされる。より支配的なトラッピング・セット・プロファイルは、満足されないチェックノード(USC)と誤って満足されたチェックノード(MSC)との両方に関する情報を含むが、より支配的でないトラッピング・セット・プロファイルは、USCに関する情報だけを含む。次に、トラッピング・セット・プロファイル情報は、複数のリンクされた階層データ・テーブルに編成され、この階層データ・テーブルは、ポインタチェース検索を使用する最も支配的な一致するトラッピング・セット・プロファイルのすばやい突止めおよび取出しを可能にする。
本発明のある種の実施形態によれば、RAM内の支配的トラッピング・セットの収集および識別のために、効率的なランタイム方法が実行される。可能な場合には、新たに発見されたトラッピング・セットが、RAMに格納され、次に、トラッピング・セットが最後に一致した時以降にRAMが検索された回数、トラッピング・セットがRAMに追加された時以降にそのトラッピング・セットが一致した総回数、満足されないチェックノードの個数、および誤りのあるビットノードの個数という要因のうちのいずれか1つまたは複数に基づいてソートされ、またはランキングされる。低いランキングのトラッピング・セット・プロファイルは、新たに発見されたトラッピング・セット・プロファイルのための余地を作るためにRAMから削除される。したがって、図4のDTS−Nコンパイラ422で使用されるものなどの支配的トラッピング・セットの先験的識別のための非常に計算的に複雑なオフライン方法を使用することに加えてまたはその代わりに、本発明のこれらの実施形態は、できる限り多数の新たに発見されたトラッピング・セットが格納され、非支配的トラッピング・セット・プロファイルが周期的なランキングおよび削除によって選別される、低い計算的複雑さの後天的方法を実行する。
本発明の実施形態は、通常は、オンザフライ方法である、すなわち、LDPC復号のために計上されたクロックサイクル内にDCCWを回復でき、したがって、システム・スループットに悪影響を与えない。
図5は、本発明の一実施形態によるLDPC復号システム500のブロック図である。図1の従来技術のHDドライブ100に類似する本発明のHDドライブでは、図5のLDPC復号システム500は、図1のLDPC復号器112に類似するLDPC復号器の一部として実施される。その範囲で、図5の入力Lch値は、図1の復号器入力Lch値に類似し、図5の出力
Figure 2012500512
ベクトルは、図1の復号された情報語に類似する。
LDPC復号器502は、Lch値を受け取り、図3のLDPC復号プロセス300を実行し、ベクトル
Figure 2012500512
をポストプロセッサ504およびTS−RAMアップデータ506に出力する。ポストプロセッサ504は、後処理(PP)方法リスト508に接続され、PP方法リスト508は、後処理方法、たとえばTS−ROMリスト復号、TS−RAMリスト復号などを表す1つまたは複数の実行可能プログラムを含むメモリである。ポストプロセッサ504が、特定のPP方法を実行することを必要とする場合には、ポストプロセッサ504は、PP方法リスト508から実行可能プログラムを読み取り、そのプログラムを実行する。ポストプロセッサ504は、任意の個数のこれらのPP方法を並列にまたは順次実行することができる。ポストプロセッサ504は、ベクトル
Figure 2012500512
を出力し、これは、LDPC復号システム500から出力されることに加えて、TS−RAMアップデータ506にも送られる。
データ・テーブル
実行中に、特定のPP方法が、PP方法実行可能プログラム・コードとは別々のデータ構造にアクセスすることを必要とする場合がある。具体的に言うと、TS−ROMリスト復号方法およびTS−RAMリスト復号方法は、それぞれTS−ROM 510およびTS−RAM 520に格納されたトラッピング・セット情報の1つまたは複数のリストにアクセスする。
図5の例示的実施形態では、TS−ROM 510は、4つのテーブルすなわち、Bテーブル512、Pテーブル514、Eテーブル516、およびEIテーブル518を含む。TS−RAM 520は、2つのテーブルすなわち、RAM Pテーブル522およびRAMインデックス524を含む。テーブルは、1つまたは複数の等しいサイズの行(レコード)および1つまたは複数の等しいサイズの列(フィールド)に編成された、ディジタル・データの2次元行列である。テーブルのレコードは、0から始めて上から下へ順番に番号を付けられる。この番号が、レコード番号である。
Pテーブル514および522は、USCおよびそれに関連するEBNに関する情報を含む。Bテーブル512は、ROM Pテーブル514のポインタ情報を含む。EIテーブル518は、MSCに関する情報を含み、Eテーブル516は、EIテーブル518のポインタ情報を含む。RAMインデックス・テーブル524は、RAM Pテーブル522のポインタ情報を含む。
図6は、図5のROM Pテーブル514の例示的レイアウトである。ROM Pテーブル514は、トラッピング・セット・プロファイル情報すなわち、USCインデックスおよびEBNインデックスを含む。ROM Pテーブル514は、各格納されたトラッピング・セットのUSCごとに1つの、複数のレコード(行)を含む。レコード番号602は、0から始まる、Pテーブル514内のレコードの順序位置である。
ROM Pテーブル514内の各レコードは、3つのフィールドすなわち、LAYER 604、USC_INDEX 606、およびEBN_INDEX 608を含む。一部のLDPC復号器は、更新動作のセットを並列に実行するように構成され、これを、レイヤと称する。LAYER 604は、USCを含んだ復号レイヤの番号を示す。USC_INDEX 606は、USCのインデックスを含む。EBN_INDEX 608は、USCに関連する1つまたは2つのEBNのインデックスを含む。
ROM Pテーブル514は、まずb(すなわち、
Figure 2012500512
内のUSCの個数)に基づいてソートされ、たとえば、b=2を有するすべてのトラッピング・セットが最初に現れ、すべてのb=3トラッピング・セットがそれに続くなどである。したがって、b=2範囲にトラッピング・セットごとに2つのレコード(たとえば、610、612)があり、最終的に、b=3を有するトラッピング・セットの3レコード・セット(たとえば、614、616)、b=4を有するトラッピング・セットの4レコード・セット(618、620)などが続く。
各b範囲内では、トラッピング・セットは、優位性すなわち、そのトラッピング・セットがエラーフロア特性に対して有する影響によってソートされる。エラーフロア特性に対してより大きい影響を有するトラッピング・セットは、b範囲の始めに現れ、より少ない影響を有するトラッピング・セットは、終り近くに現れる。その後、特定のトラッピング・セットのレコードは、USC_INDEX 606によってソートされる。
図7は、図5のBテーブル512の例示的レイアウトである。Bテーブル512は、ROM Pテーブル514内のb値ごとに、ROM Pテーブル514内およびEテーブル516内のそのb値の最初の出現へのポインタと、そのb値のEテーブル516内のレコードの個数とを含む。したがって、Bテーブル512内には、b値ごとに単一のレコードがあり、このb値は、レコード番号702によって示される。しかし、レコード番号702は0から始まるが、b値は、通常は、2以上から始まる。したがって、本発明のこの例示的実施形態では、レコード番号702にオフセットを加算して、対応するb値を作る。たとえば、b≧2を有するトラッピング・セットだけが格納される場合には、2のオフセットが、対応するb値に達するために各レコード番号に加算される。
フィールドPTABLE_START_OFFSET 704は、ROM Pテーブル514内の特定のb値の最初の出現の位置を含む。フィールドETABLE_START_OFFSET 706は、Eテーブル516内の特定のb値の最初の出現の位置を含む。フィールドNUM_ETABLE_ENTRIES 708は、この特定のb値の、Eテーブル516内のレコードの個数を含む。
図8は、図5のEテーブル516の例示的レイアウトである。Eテーブル516は、EIテーブル518内のMSCレコードへのポインタを含む。Eテーブル516内の各レコードは、レコード番号802、EITABLE_START_ADDRESSフィールド804、およびEITABLE_END_ADDRESSフィールド806を有する。EITABLE_START_ADDRESSフィールド804は、EIテーブル518内の対応するデータの最初の出現へのポインタを含み、EITABLE_END_ADDRESSフィールド806は、EIテーブル518内の対応するデータの最後の出現へのポインタを含む。
図9は、図5のEIテーブル518の例示的レイアウトである。EIテーブル518は、MSCに関連するEBNのインデックスを格納する。EIテーブル518内の各レコードは、レコード番号902を有し、2つのフィールドすなわちBLOCK_COLUMNフィールド904およびB_INDEXフィールド906を含む。BLOCK_COLUMNフィールド904は、EBNが配置されたブロック列を示し、B_INDEXフィールド906は、EBNのインデックスである。
図10は、図5のRAM Pテーブル522の例示的レイアウトである。RAM Pテーブル522は、ROM Pテーブル514内では見つからない新たに識別されたトラッピング・セットのプロファイルを格納する。RAM Pテーブル522内の各行(すなわち、レコード)は、レコード番号1002を有し、2つのフィールドすなわち2ビットのTAGフィールド1004およびR_WORDフィールド1006を含む。TAGフィールド1004の4つの可能な値は、R_WORDフィールド1006内のレコード・タイプおよびデータの構造を示す。TAGフィールド1004が11の値を有する場合には、レコードは、トラッピング・セット全体に関する情報を含むプライマリ・レコードである。TAGフィールド1004が10の値を有する場合には、レコードは、セカンダリ・レコードであり、トラッピング・セット・プロファイル内の特定のUSCに関する情報を含む。TAGフィールド1004が00または01の値を有する場合には、R_WORDフィールド1006は空である、すなわち、このレコードは、新たに識別されたトラッピング・セットのプロファイル情報を格納するのに使用可能である。トラッピング・セット・プロファイルは、通常、単一のプライマリ・レコードとそれに続くb個のセカンダリ・レコードとを含む。
レコードがプライマリ・レコードである場合には、R_WORDフィールド1006は、4つのサブフィールドすなわち、(i)b値サブフィールド1008、(ii)トラッピング・セットEBNの個数を記録するa値サブフィールド1010、(iii)このトラッピング・セットに最後に一致したTS−RAM検索の個数を示すLAST_HIT_NUMサブフィールド1012、および(iv)このトラッピング・セットがTS−RAMに格納された時以降にこの特定のトラッピング・セット・プロファイルが観察されたトラッピング・セットと一致した回数を記録するHIT_COUNTERサブフィールド1014を含む。
レコードがセカンダリ・レコードである場合には、R_WORDフィールド1006は、トラッピング・セット内の単一のUSCのレイヤ(LAYERフィールド1016)およびインデックス(USC_INDEXフィールド1018)と、そのUSCに関連する1つまたは複数のEBNのインデックス(EBN_INDEXフィールド1020)とを含む。
図11は、図5のRAMインデックス・テーブル524の例示的レイアウトである。RAMインデックス・テーブル524内には、RAM Pテーブル522内のトラッピング・セット・プロファイルごとに1つのレコードがある。RAMインデックス・テーブル524内の各レコードは、単一のフィールドRAM_PTABLE_OFFSET 1102を含む。RAM_PTABLE_OFFSET 1102は、RAM Pテーブル522内の特定のトラッピング・セット・プロファイルの始めへのポインタである、すなわち、RAM_PTABLE_OFFSET 1102は、トラッピング・セット・プロファイル・プライマリ・レコードの図10のレコード番号1002を含む。RAMインデックス・テーブル524内のレコードは、優位性によってソートされ、その結果、RAMインデックス・テーブル524内の最初のレコードは、RAM Pテーブル522内の最も支配的なトラッピング・セットをポイントし、RAMインデックス・テーブル524内の最後のレコードは、RAM Pテーブル522内の最も支配的でないレコードをポイントするようになる。
図12は、図5のLDPC復号システム500によって使用される例示的プロセス1200の流れ図である。処理は、ステップ1202で開始され、ステップ1204すなわち、図5のLDPC復号器502によるLch値のLDPC復号に進む。ステップ1204でのLDPC復号がDCCWを作る場合には、プロセス1200は、ステップ1218で終了する。そうでない場合には、処理は、ステップ1206すなわち、TS−ROMリスト復号(図5のポストプロセッサ504によって実行される)に進む。
ステップ1206がDCCWを作る場合には、プロセス1200は、ステップ1218で終了する。そうでない場合には、処理は、ステップ1208すなわち、TS−RAMリスト復号(図5のポストプロセッサ504によって実行される)に進む。ステップ1208がDCCWを作る場合には、プロセス1200は、ステップ1218で終了する。そうでない場合には、処理は、1つまたは複数の追加の後処理方法1210、1212、…、1214(図5のポストプロセッサ504によって実行される)に進み、これらは、類似する形で動作する。
TS−RAMリスト復号1208または追加の後処理方法1210、1212、…、1214のいずれかがDCCWを作る場合には、処理はステップ1216に進み、ここで、図5のTS−RAM 520が、おそらくはTS−RAMアップデータ506によって更新される。その後、処理はステップ1218で終了する。
図12は、後処理方法1207〜1214の1つの可能なシーケンシングを示す。後処理方法のほとんどすべてのシーケンスを使用することができるが、いくつかのシーケンスは、他のシーケンスより実用的である。たとえば、ROMに既に格納されているトラッピング・セットがRAM内で重複しないことを保証するために、TS−ROMリスト復号をTS−RAMリスト復号の前にシーケンシングすることが望ましい。
TS−ROMリスト復号
図13は、図5のポストプロセッサ504によって実施される図12の例示的なTS−ROMリスト復号プロセス1206の流れ図である。処理は、ステップ1302で開始され、ステップ1304に進み、ここで、プロセス1206は、図12のLDPC復号器1204から受け取られたベクトル
Figure 2012500512
内で観察されたUSCの個数bobservedが、0を超え、プロセス1206によって効率的に処理できるUSCの最大個数bmax未満であるかどうかを判定する。bobserved=0の場合には、ベクトル
Figure 2012500512
内にUSCはなく(すなわち、
Figure 2012500512
は、ニア・コードワード・ミスコレクションである)、したがって、照合すべきトラッピング・セットはない。ステップ1304が偽に評価される場合には、プロセス1206は終了する。そうでない場合には、処理は、ステップ1306に継続される。
ステップ1306では、復号器の現在の状態を格納し、状態1というラベルを付ける。次に、処理はステップ1308に継続され、ここで、観察されたUSCを、まず復号レイヤによって、次にインデックスによってソートする。次に、ステップ1310で、次の4つの値を図5のBテーブル512からフェッチし、格納する。
(1)b=bobservedについて、図7のPTABLE_START_OFFSETフィールド704、
(2)b=bobserved+1について、図7のPTABLE_START_OFFSETフィールド704、
(3)b=bobservedについて、図7のETABLE_START_OFFSETフィールド706、および
(4)b=bobservedについて、図7のNUM_ETABLE_ENTRIESフィールド708。
第1の値は、プロセス1206に、図5のPテーブル514内のどこで一致するトラッピング・セット情報の検索を開始すべきか(すなわち、USCインデックスおよびEBNインデックス)を指示し、第2の値は、プロセス1206に、いつその検索を終了すべきかを指示する。同様に、第3および第4の値は、プロセス1206に、拡張情報(すなわち、MSCインデックス)の検索を開始すべき場所および終了すべき場所を指示する。
したがって、たとえば、bobserved=5の場合には、プロセス1206は、b=5およびb=6について図7のPTABLE_START_OFFSETフィールド704の値をフェッチし、b=5について図7のETABLE_START_OFFSETフィールド706の値および図7のNUM_ETABLE_ENTRIESフィールド708の値をフェッチする。
次に、ステップ1312で、プロセス1206は、図5のPテーブル514を選択し、b=bobservedのPTABLE_START_OFFSETの格納された値によって示されるアドレスに行く。次に、ステップ1314で、TS−ROMから、観察されたUSCと一致するトラッピング・セットを検索する。
図14は、図13の例示的なTS−ROM検索プロセス1314の流れ図である。プロセス1314は、ステップ1402で開始され、ステップ1404で、観察されたUSCの同形一致である図5のPテーブル514内の次のレコードを検索する。観察されたUSCの特定のセットの同形一致は、USCの個数およびこれらのUSCの間の距離が観察されたUSCと同一であるトラッピング・セットである。したがって、観察されたUSCが[1,3,10]である場合には、[1,3,10]は一致であり、[2,4,11]は同形一致であり、[3,5,12]、[4,6,13]なども同形一致である。一致が見つからない場合には、プロセス1314は、一致なしの状況1406で終了する。
そうではなく、ステップ1404で一致が見つかる場合には、ステップ1408で、一致するPテーブル・レコードの図6のEBN_INDEXフィールド608の値を格納する。EBN_INDEXフィールドは、この一致するトラッピング・セットに関連する1つおよびおそらくは2つの誤りのあるビットノードのインデックスを格納する。
次に、プロセス1314は、すべての拡張情報すなわち、この一致するトラッピング・セット内の誤って満足されたチェックノード(MSC)に関連するEBNのインデックスを突き止めることを試みる。拡張情報は、EIテーブル518内で保持される。しかし、拡張情報は、Pテーブル514内に格納されたすべてのトラッピング・セットについて保持されるのではなく、各b範囲内のトラッピング・セットのサブセットについてのみ保持される。そのサブセットは、特定のb範囲内のより支配的なトラッピング・セットすなわち、エラーフロア特性に対するより大きい影響を有するトラッピング・セットに対応する。上で述べたように、Pテーブル514内では、特定のb範囲内のトラッピング・セットが、優位性によってソートされ、したがって、拡張情報は、そのb範囲内の最初のx個のレコードのみについて保持される。EIテーブル518内の各b範囲の始めおよび終りは、Bテーブル512内のフィールド、ETABLE_START_OFFSET 706およびNUM_ETABLE_ENTRIES 708によって示される。
プロセス1314は、ROM Pテーブル514のレコードから検索する時に、トラッピング・セットの内部カウントを維持する。したがって、たとえば、プロセス1314が、図6のPテーブル514内のb=2トラッピング・セットから検索している場合に、プロセス1314は、レコード0および1をトラッピング・セット0(たとえば、図6のトラッピング・セット610)として、レコード2および3をトラッピング・セット1(たとえば、図6のトラッピング・セット612)としてなど、識別する。このトラッピング・セット番号を、TSNUMと称する。
ステップ1410で、TSNUMを、図13のステップ1310で格納されたNUM_ETABLE_ENTRIESフィールドの値と比較する。TSNUMがNUM_ETABLE_ENTRIESの値より大きい場合には、拡張情報は使用可能ではなく、プロセス1314は、一致、拡張情報なしの状況1412で終了する。
そうではなく、ステップ1410で、TSNUMがNUM_ETABLE_ENTRIESの格納された値以下であることがわかる場合には、拡張情報が、この一致するトラッピング・セットについて存在する。ステップ1414で、TSNUMをETABLE_START_OFFSETの格納された値に加算して、変数ETABLE_ENTRY_ADDRESSを作る。
次に、ステップ1416で、プロセス1314は、図5のEテーブル516を選択し、変数ETABLE_ENTRY_ADDRESSの値と等しいアドレスを有するレコードに行き、図8のEITABLE_START_ADDRESSフィールド804および図8のEITABLE_END_ADDRESSフィールド806の値を格納する。
次に、ステップ1418で、プロセス1314は、図5のEIテーブル518を選択し、格納されたEITABLE_START_ADDRESS値とEITABLE_END_ADDRESS値との間のすべてのレコードの、図9のBLOCK_COLUMNフィールド904および図9のB_INDEXフィールド906の値を格納する。最後に、プロセス1314は、一致、拡張情報ありの状況1420で終了する。
図13に戻って、ステップ1314が、一致なしの状況で終了する場合には、プロセス1206は、ステップ1316で終了する。
ステップ1314が、一致、拡張情報なしの状況で終了する場合には、プロセス1206は、このトラッピング・セットに関連するUSCインデックスおよびいくつかのEBNインデックスを、拡張情報なしで(すなわち、MSCに関連するEBNのインデックスなしで)処理する。この場合に、ステップ1318で、これらのEBNインデックスのビットノードを反転し、ステップ1320で、反復LDPC復号を実行する。ステップ1320の処理は、復号器初期化ステップ304および初期症候群チェック・ステップ306がスキップされることを除いて、図3のプロセス300と同一である。ステップ1320がDCCWに収束する場合には、プロセス1206は、ステップ1316で終了する。そうでない場合には、ステップ1322で、復号器を状態1に復元し、次の一致するトラッピング・セットを、ステップ1314で検索する。
ステップ1314が、一致、拡張情報ありの状況で終了する場合には、プロセス1206は、一致するトラッピング・セットに関連するすべてのEBNのインデックスを有する。この場合には、確率伝搬(たとえば、図3のステップ310および312)を実行する必要はない。そうではなく、ステップ1324で、EBNを反転し、結果のベクトル
Figure 2012500512
を、症候群チェック1326にサブミットする。ベクトル
Figure 2012500512
が、ステップ1326で症候群チェックに不合格である場合には、プロセス1206は、ステップ1322に進む。そうではなく、ベクトル
Figure 2012500512
が症候群チェックに合格する(すなわち、ベクトル
Figure 2012500512
が、有効な符号語である)場合には、ステップ1328で、CRCチェックをベクトル
Figure 2012500512
に対して実行して、これが実際に正しい符号語であるかどうかを判定する。ベクトル
Figure 2012500512
がCRCチェック1328に合格する(すなわち、ベクトル
Figure 2012500512
がDCCWである)場合には、プロセス1206は、ステップ1316で終了する。ベクトル
Figure 2012500512
がCRCチェック1328に不合格である場合には、プロセス1206は、ステップ1322に進む。
TS−RAMリスト復号
図5のポストプロセッサ504によって利用されるもう1つのPP方法が、図12のTS−RAMリスト復号1208すなわち、ランダムアクセス・メモリなどの揮発性メモリに格納されたトラッピング・セット情報を使用するトラッピング・セットのリスト復号である。TS−RAMリスト復号は、図5のRAM Pテーブル522が選択されたトラッピング・セットのUSCおよびEBNの情報を格納するという点で、TS−ROMリスト復号に似ている。しかし、ROM Pテーブル514とは異なって、RAM Pテーブル522は、図5のTS−RAMアップデータ506によってランタイム中に変更される。したがって、最も重要な情報だけ、たとえばUSCインデックスおよびEBNインデックスだけが、格納される。拡張情報(たとえば、図5のEIテーブル518)は、TS−RAM内では維持されない。
プロファイルも、RAM Pテーブル522内にはどのような形であれソートされない。そうではなく、図5の別々のRAMインデックス・テーブル524は、優位性によってソートされた、RAM Pテーブル522内に格納されたトラッピング・セット・プロファイルのアドレスのリストを維持する。
図15は、図12の例示的なTS−RAMリスト復号プロセス1208の流れ図である。処理は、ステップ1502で開始され、ステップ1504に進み、このステップ1504は、目的および動作において図13のステップ1304と同一である。ステップ1504が偽に評価される場合には、プロセス1208は、ステップ1506で終了し、そうでない場合には、処理は、ステップ1508に継続され、ここで、現在の復号器状態を記録し、状態1というラベルを付ける。その後、処理はステップ1510に継続される。
ステップ1510では、プロセス1208は、図5のRAM Pテーブル522内の最も支配的なトラッピング・セット・プロファイルに行く。具体的に言うと、RAMインデックス・テーブル524は、優位性によってRAM Pテーブル522内のプロファイルをランキングするので、プロセス1208は、RAMインデックス・テーブル524内の最初のレコードに行き、図11のRAM_PTABLE_OFFSETフィールド1102の値を取り出す。次に、プロセス1208は、RAM Pテーブル522内のポインタをその格納されたオフセット値に移動する。
ステップ1512で、プロセス1208は、TS−RAM検索が実行された総数すなわち、プロセス1208が実行された総回数を記憶するグローバル変数RAM_SEARCH_COUNTを増分する。また、ステップ1512で、プロセス1208は、観察されたUSCの同形一致について、RAMインデックス・テーブル524によって示される順序すなわち減少する優位性の順で、RAM Pテーブル522内のプロファイルを調べる。一致が見つからない場合には、処理はステップ1514に継続される。
そうではなく、ステップ1512で一致が見つかる場合には、ステップ1516で、一致したプロファイルの図10のLAST_HIT_NUMフィールド1012に、グローバル変数RAM_SEARCH_COUNTの値をセットし、図10のHIT_COUNTERフィールド1014を1つ増分する。次に、ステップ1518で、図10のEBN_INDEXフィールド1020の値を格納する。ステップ1520で、EBN_INDEX値に配置されたビットノードを反転し、ステップ1522で、LDPC復号を実行する。ステップ1522は、図13のステップ1320と同一である。復号プロセス1522がDCCWに収束する場合には、処理はステップ1514に継続され、そうでない場合には、ステップ1524で、復号器を状態1にリセットし、その後、処理は、ステップ1512に継続され、ここで、別の同形一致をPテーブル522内で検索する。
ステップ1514では、プロセス1208は、図11のRAMインデックス・テーブル524を更新する。具体的に言うと、ステップ1514で、RAM Pテーブル522内のフィールド、たとえばLAST_HIT_NUM 1012、HIT_COUNTERフィールド1014、USCノードの個数フィールド1008、およびEBNの個数フィールド1010の任意の組合せに基づいて、RAM Pテーブル522内のすべてのTS−RAMプロファイルをソートする。次に、すべてのソートされたプロファイルのアドレスすなわちすべてのプライマリ・レコードのレコード番号1002を、図11のRAMインデックス・テーブル524内にレコードとして格納する。プロファイル・アドレスは、それらがステップ1514でソートされたのと同一の順序(たとえば、最も支配的から最も少なく支配的へ)でRAMインデックス・テーブル524に格納される。
ステップ1514が完了した後に、処理は、ステップ1506で終了する。
TS−RAMアップデータ
図12のプロセス1200の議論で説明したように、TS−ROMリスト復号1206以外の任意の後処理方法がDCCWに達する場合に、それが、新しいトラッピング・セットが発見されたことを意味する場合がある。そうである場合には、ステップ1216が、その新しいトラッピング・セットを図5のRAM Pテーブル522に追加することを試みる場合がある。
一実施形態では、ステップ1216は、支配的トラッピング・セットをTS−RAM 520内で保持するための、低い複雑さのプロセスである。具体的に言うと、この実施形態では、ステップ1216は、図4のDTS−Nコンパイラ422によって実行される計算などの支配的トラッピング・セットを先験的に判定するための網羅的計算を実行するのではなく、その代わりに、(i)1つまたは複数の要因、たとえば、トラッピング・セットが最後に一致した時以降にTS−RAMが何回検索されたか、トラッピング・セットが一致した総回数、USCの個数、EBNの個数などの任意の組合せに基づいてTS−RAMトラッピング・セットをランキングし、次に、(ii)新たに発見されたトラッピング・セットのための余地を作るために、最も低いランキングのトラッピング・セットを追い出す。これらの要因を使用するTS−RAM 520内のトラッピング・セットのランキングは、通常、オフライン・シミュレーション・ツール(たとえば、図4のコンパイラ422)によって実行される分析よりかなりより少なく複雑である。
図16は、図12の例示的なTS−RAM更新プロセス1216の流れ図である。処理は、ステップ1602で開始され、ステップ1604に進み、ここで、DCCWが図12のTS−RAMリスト復号プロセス1208によって生成されたかどうかを判定する。そうである場合には、トラッピング・セット・プロファイルをTS−RAMに追加する必要はなく、プロセス1216は、ステップ1608で終了する。
そうではなく、ステップ1604がno/偽に評価される場合には、これは、TS−ROMリスト復号またはTS−RAMリスト復号以外のある後処理方法がDCCWに達し、したがって、新しいトラッピング・セットが発見され、RAMに付加されなければならないことを意味する。ステップ1610で、トラッピング・セット・プロファイルを生成する。トラッピング・セット・プロファイルは、トラッピング・セットUSBのインデックスと、これらのUSBに関連するEBNのインデックスとを含む。USBインデックスは、図5のLDPC復号器502によって既に生成済みである。EBNインデックスを生成するために、ステップ1610で、ポストプロセッサ504によって生成されたDCCW
Figure 2012500512
を、LDPC復号器502によって生成されたベクトル
Figure 2012500512
と比較する。
ステップ1612で、新しいトラッピング・セット・プロファイルを付加するのに十分な空き空間があるかどうかを判定する。そうである場合には、ステップ1614で、新しいトラッピング・セット・プロファイルを、RAM Pテーブル522に付加し、プロセス1216は、ステップ1616に進む。
しかし、ステップ1612で、新しいトラッピング・セット・プロファイルを付加するのに十分な空き空間がRAM Pテーブル522内にない場合には、ステップ1618で、最も低いランキングの追出しに適するトラッピング・セット・プロファイルを追い出す。この例では、プロファイルの追出し適格性は、そのプロファイルが最後に一致した時以降にRAMが検索された回数すなわち、グローバル変数RAM_SEARCH_COUNTの値からプロファイルのLAST_HIT_NUMフィールドの値を引いたものによって決定される。介在する検索の回数が、指定されたしきい値より多い場合には、そのプロファイルは、追出しに適する。すべてのプロファイルが、まず追出し適格性によってランキングされると仮定すると、すべての追出しに適するレコードは、図11のRAMインデックス・テーブル524の終りにある。
したがって、ステップ1618では、RAMインデックス・テーブル524内の最後のレコードを選択し、RAM_PTABLE_OFFSETフィールド1102の値を取り出す。RAM Pテーブル522内で格納されたオフセット値(取り出されたRAM_PTABLE_OFFSET値によって示される)に配置されたプロファイルが、追出しに適する場合には、RAM Pテーブル522内の格納されたオフセット値に配置されたプライマリ・レコードおよび関連するセカンダリ・レコードが削除される。ステップ1620で、RAMインデックス・テーブルMSBを更新し、その後、制御はステップ1612にループ・バックし、ここで、新しいトラッピング・セット・プロファイルを付加するのに十分な空き空間がRAM Pテーブル522内にあるかどうかを判定する。ステップ1620の処理は、図15のステップ1514の処理と同一である。
そうではなく、ステップ1618で、最低ランキングのプロファイルが追出しに適さない場合には、処理は、ステップ1616に継続される。ステップ1616では、RAMインデックス・テーブル524を更新し、処理は、ステップ1608で終了する。ステップ1616の処理は、図15のステップ1514の処理と同一である。
本発明を、LDPCコーディングおよび復号を実施するハード・ディスク・ドライブの文脈で説明したが、本発明は、それに限定はされない。一般に、本発明を、LDPCコーディングおよび復号を用いる任意の適切な通信経路内で実施することができる。
さらに、上で使用された例示的な確率伝搬アルゴリズムは、オフセットmin−sumアルゴリズム(OMS)であるが、本発明は、それに限定はされず、本発明を、任意の確率伝搬変形、たとえば、sum−productアルゴリズム(SPA)またはBahl−Cocke−Jelinek−Raviv(BCJR)アルゴリズムと共に使用することができる。
さらに、上で使用された確率伝搬の例は、すべてのチェックノードが単一のチェックノード更新ステップ中に更新され、その後、すべてのビットノードが単一のビットノード更新ステップで更新される、特定の復号スケジュール(フラッディング・スケジュール)を使用したが、本発明は、それには限定されず、本発明を、任意の復号スケジュール、たとえば、ローシリアルスケジュール、カラムシリアルスケジュール、およびローカラム・シリアルスケジュールと共に使用することができる。
さらに、上で使用された例示的LDPC復号器は、非階層復号器であったが、本発明は、それに限定はされず、本発明を、階層復号器と非階層復号器との両方と共に使用することができる。
さらに、上で与えた例示的TS−RAM実施態様は、トラッピング・セット・プロファイルをHDドライブの読取りチャネル内のRAMに格納すると仮定したが、本発明は、それに限定はされない。RAM Pテーブル(たとえば、図5の522)を、HDドライブのプラッタに格納するか、フラッシュ・メモリなどの別々のメモリ内に格納することもできる。
さらに、上で与えた例示的TS−ROM実施態様は、読取り専用メモリの文脈で説明されたが、本発明は、それに限定はされない。一般に、本明細書と特許請求の範囲との両方で使用される時に、用語「ROM」は、そのデバイス内のデータを変更できるか否かにかかわりなく、静的TSプロファイル・データを格納するすべてのデータストレージ・デバイスを指すと解釈されなければならない。
さらに、本発明の実施形態を、LDPC符号の文脈で説明したが、本発明は、それに限定はされない。本発明の実施形態を、グラフによって定義できる任意の符号、たとえば、トルネード符号、構造化IRA符号のために実施することができる。というのは、これが、トラッピング・セットに苦しむグラフ定義される符号であるからである。
本発明を、対数尤度比の受取りに関して説明したが、本発明は、それに限定はされない。尤度比などの他のソフト値または硬判定値が処理される、本発明の実施形態を想定することができる。
本発明を、方法およびこれらの方法を実践する装置の形で実施することができる。本発明を、磁気記録媒体、光記録媒体、ソリッド・ステート・メモリ、フロッピ・ディスケット、CD−ROM、ハード・ドライブ、または任意の他の機械可読記憶媒体などの有形の媒体内で実施されるプログラム・コードの形で実施することもでき、プログラム・コードがコンピュータなどの機械にロードされ、その機械によって実行される時に、その機械は、本発明を実践する装置になる。本発明を、記憶媒体に格納される、機械にロードされ、かつ/またはこれによって実行される、あるいは電気配線またはケーブリングを介する、光ファイバを介する、もしくは電磁放射を介するなどのある伝送媒体または搬送波を介して伝送されるいずれであれ、プログラム・コードの形で実施することもでき、プログラム・コードがコンピュータなどの機械にロードされ、その機械によって実行される時に、その機械は、本発明を実践する装置になる。汎用プロセッサ上で実施される時に、プログラム・コード・セグメントは、プロセッサと組み合わさって、特定の論理回路に類似して動作する独自のデバイスをもたらす。
そうではないと明示的に述べられない限り、各数値および範囲は、単語「約」(“about”or“approximately”)が値または範囲の値に先行するかのように近似として解釈されなければならない。
さらに、添付の特許請求の範囲に表された本発明の範囲から逸脱せずに、本発明の性質を説明するために説明され、図示された部分の詳細、材料、および配置におけるさまざまな変更を当業者が行えることを理解されたい。
特許請求の範囲での図面番号および/または図面符号の使用は、特許請求の範囲の解釈を容易にするために請求される主題の1つまたは複数の可能な実施形態を識別することを意図されたものである。そのような使用を、これらの特許請求の範囲の範囲を対応する図面に示された実施形態に必ず限定するものとして解釈してはならない。
本明細書に示された例示的方法のステップが、必ずしも説明された順序で実行されることを必要とせず、そのような方法のステップの順序が、単に例示と理解されなければならないことを理解されたい。同様に、本発明のさまざまな実施形態と一貫する方法において、追加ステップをそのような方法に含めることができ、ある種のステップを削除しまたは組み合わせることができる。
次の方法請求項の要素は、存在する場合に、対応するラベル付けを伴って特定のシーケンスで詳説されるが、請求項詳説が、これらの要素の一部またはすべてを実施するための特定のシーケンスを他の形で暗示しない限り、これらの要素は、必ずしもその特定のシーケンスで実施されることに限定はされないことが意図されている。
本明細書での「一実施形態」(“one embodiment”or“an embodiment”)への言及は、その実施形態に関連して説明される特定の特徴、構造、または特性を、本発明の少なくとも1つの実施形態に含めることができることを意味する。本明細書のさまざまな場所での句「一実施形態で」の出現は、必ずしもすべてが同一の実施形態に言及するものではなく、必ずしも他の実施形態と相互に排他的な別々のまたは代替の実施形態でもない。同一のことが、用語「実施態様」にもあてはまる。

Claims (20)

  1. グラフベースの符号を用いて符号化された符号化されたデータを復号する方法であって、
    (a)候補の復号された符号語を生成するために、前記符号化されたデータに対して復号を実行することと、
    (b)前記候補の復号された符号語が復号された正しい符号語ではない場合に、前記復号された正しい符号語を生成することを試みるためにトラッピング・セット(TS)−RAMリスト復号方法を実行することであって、前記TS−RAMリスト復号方法は、RAMメモリ内に格納された1つまたは複数のTSプロファイルにアクセスし、各TSプロファイルは、異なるトラッピング・セットに対応する、実行することと
    を含む方法。
  2. (c)新しいTSプロファイルを格納するために前記RAMメモリを更新すること
    をさらに含む、請求項1に記載の発明。
  3. 前記TS−RAMリスト復号が前記復号された正しい符号語の生成に失敗する場合に、ステップ(b)は、前記復号された正しい符号語を生成することを試みるために他の復号方法を実行することをさらに含み、
    前記他の復号方法が前記復号された正しい符号語を生成する場合に、ステップ(c)は、前記候補の復号された符号語および前記復号された正しい符号語に基づいて前記新しいTSプロファイルを生成することを含む
    請求項2に記載の発明。
  4. ステップ(c)は、
    (c1)追出しのために、前記RAMメモリに以前に格納された1つまたは複数のTSプロファイルを選択することと、
    (c2)前記選択された1つまたは複数のTSプロファイルを前記RAMメモリから追い出すことと、
    (c3)前記新しいTSプロファイルを前記RAMメモリに格納することと
    を含む、請求項2に記載の発明。
  5. ステップ(c1)は、追出しのためにTSプロファイルを選択することであって、
    (i)前記選択されたTSプロファイルが前記TS−RAMリスト復号方法の以前に実行中に一致した時以降に前記RAMメモリが前記TS−RAMリスト復号方法の以前の実行中に検索された回数と、
    (ii)前記選択されたTSプロファイルが前記RAMメモリに格納された時以降に前記選択されたTSプロファイルが前記TS−RAMリスト復号の以前の実行中に一致した総回数(たとえば、HIT_COUNTER)と、
    (iii)前記選択されたTSプロファイル内の満足されないチェックノードの個数(たとえば、b)と、
    (iv)前記選択されたTSプロファイル内の誤りのあるビットノードの個数(たとえば、a)と
    のうちの1つまたは複数に基づいて選択することを含む、請求項4に記載の発明。
  6. ステップ(c1)は、前記選択されたTSプロファイルが前記TS−RAMリスト復号方法の以前の実行中に一致した時以降に前記RAMメモリが前記TS−RAMリスト復号方法の以前の実行中に検索された回数に基づいて追出しのために前記TSプロファイルを選択することを含む、請求項5に記載の発明。
  7. ステップ(c1)は、別々のRAMインデックス・テーブルによって指定されるシーケンスで前記格納されたTSプロファイルを検索することを含む、請求項4に記載の発明。
  8. 各TSプロファイルは、
    前記対応するトラッピング・セット内の満足されないチェックノードの個数(たとえば、b)と、
    前記対応するトラッピング・セット内の各満足されないチェックノードの識別(たとえば、USC_INDEX)と、
    前記対応するトラッピング・セット内の各満足されないチェックノードの少なくとも1つの誤りのあるビットノードの識別(たとえば、EBN_INDEX)と
    を含む、請求項1に記載の発明。
  9. 各TSプロファイルは、
    前記対応するトラッピング・セット内の誤りのあるビットノードの個数(たとえば、a)と、
    前記TSプロファイルが前記RAMメモリ内に格納された時以降に前記TSプロファイルが前記TS−RAMリスト復号方法の以前の実行中に一致した回数(たとえば、HIT_COUNTER)と、
    この特定のプロファイルと一致した前記TS−RAMリスト復号方法の最も最近の実行の番号と
    をさらに含む、請求項8に記載の発明。
  10. 前記候補の復号された符号語が、前記復号された正しい符号語ではない場合に、前記候補の復号された符号語は、1つまたは複数の観察された満足されないチェックノードのセットを含む観察されたトラッピング・セットを識別し、
    前記TS−RAMリスト復号方法は、
    (b1)前記観察されたトラッピング・セットと一致する格納されたTSプロファイルを前記RAMメモリから検索することと、
    (b2)LDPC符号化されたデータの1つまたは複数の誤りのあるビットノードを変更することであって、前記1つまたは複数の変更される誤りのあるビットノードは、前記一致するTSプロファイルによって識別される、変更することと、
    (b3)前記変更されたLDPC符号化されたデータに対してLDPC復号を実行することと
    を含む、請求項1に記載の発明。
  11. 前記格納されたTSプロファイルは、前記格納されたTSプロファイルの前記1つまたは複数の満足されないチェックノードが前記観察されたトラッピング・セットの前記1つまたは複数の観察された満足されないチェックノードとの同形一致を形成する時に、前記観察されたトラッピング・セットと一致する、請求項10に記載の発明。
  12. ステップ(b1)は、別々のRAMインデックス・テーブルによって指定されるシーケンスで前記格納されたTSプロファイルを検索することを含む、請求項10に記載の発明。
  13. (c)前記対応するトラッピング・セットの優位性に基づいて前記RAMメモリ内に格納された前記TSプロファイルをソートすること
    をさらに含む、請求項1に記載の発明。
  14. トラッピング・セットの前記優位性は、
    (i)前記対応するTSプロファイルが前記TS−RAMリスト復号方法の以前の実行中に一致した時以降に前記RAMメモリが前記TS−RAMリスト復号方法の以前の実行中に検索された回数(たとえば、LAST_HIT_NUM)と、
    (ii)前記対応するTSプロファイルが前記RAMメモリ内に格納された時以降に前記対応するTSプロファイルが前記TS−RAMリスト復号方法の以前の実行中に一致した総回数(たとえば、HIT_COUNTER)と、
    (iii)前記トラッピング・セット内の満足されないチェックノードの個数(たとえば、b)と、
    (iv)前記トラッピング・セット内の誤りのあるビットノードの個数(たとえば、a)と
    のうちの1つまたは複数に基づく、請求項13に記載の発明。
  15. 第1TSプロファイルを有する第1トラッピング・セットは、(i)前記第1TSプロファイルが前記TS−RAMリスト復号方法の以前の実行中に一致した時以降に前記RAMメモリが前記TS−RAMリスト復号方法の以前の実行中に検索された回数が、(ii)第2TSプロファイルが前記TS−RAMリスト復号方法の以前の実行中に一致した時以降に前記RAMメモリが前記TS−RAMリスト復号方法の以前の実行中に検索された回数より少ない場合に、前記第2TSプロファイルを有する第2トラッピング・セットより支配的である、請求項14に記載の発明。
  16. (d)別々のRAMインデックス・テーブル内のアドレスの順序がステップ(c)のソート結果に基づくように、前記別々のRAMインデックス・テーブル内のソートされたTSプロファイルのアドレスを格納すること
    をさらに含む、請求項13に記載の発明。
  17. 前記グラフベースの符号は、Low−Density Parity Check(LDPC)符号である、請求項1に記載の発明。
  18. グラフベースの符号を用いて符号化された符号化されたデータを復号する装置であって、
    候補の復号された符号語を生成するために、前記符号化されたデータに対して復号を実行するように適合された復号器と、
    RAMメモリと、
    前記候補の復号された符号語が復号された正しい符号語ではない場合に、前記復号された正しい符号語を生成することを試みるためにトラッピング・セット(TS)−RAMリスト復号方法を実行するように適合されたTS−RAMリスト復号器であって、前記TS−RAMリスト復号器は、前記RAMメモリ内に格納された1つまたは複数のTSプロファイルにアクセスし、各TSプロファイルは、異なるトラッピング・セットに対応する、TS−RAMリスト復号器と
    を含む装置。
  19. 新しいTSプロファイルを格納するために前記RAMメモリを更新するように適合されたTS−RAMアップデータ
    をさらに含む、請求項18に記載の発明。
  20. 前記グラフベースの符号は、Low−Density Parity Check(LDPC)符号である、請求項18に記載の発明。
JP2011522962A 2008-08-15 2008-12-12 ニア・コードワードのramリスト復号 Expired - Fee Related JP5363573B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8929708P 2008-08-15 2008-08-15
US61/089,297 2008-08-15
PCT/US2008/086523 WO2010019168A1 (en) 2008-08-15 2008-12-12 Ram list-decoding of near codewords

Publications (3)

Publication Number Publication Date
JP2012500512A true JP2012500512A (ja) 2012-01-05
JP2012500512A5 JP2012500512A5 (ja) 2012-02-16
JP5363573B2 JP5363573B2 (ja) 2013-12-11

Family

ID=41669126

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2011522963A Expired - Fee Related JP5276173B2 (ja) 2008-08-15 2008-12-12 ニア・コードワードのromリスト復号
JP2011522962A Expired - Fee Related JP5363573B2 (ja) 2008-08-15 2008-12-12 ニア・コードワードのramリスト復号
JP2011523008A Pending JP2012500514A (ja) 2008-08-15 2009-04-08 複数のチェックノード・アルゴリズムを用いる誤り訂正デコーダ
JP2013231731A Ceased JP2014027704A (ja) 2008-08-15 2013-11-08 複数のチェックノード・アルゴリズムを用いる誤り訂正デコーダ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011522963A Expired - Fee Related JP5276173B2 (ja) 2008-08-15 2008-12-12 ニア・コードワードのromリスト復号

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2011523008A Pending JP2012500514A (ja) 2008-08-15 2009-04-08 複数のチェックノード・アルゴリズムを用いる誤り訂正デコーダ
JP2013231731A Ceased JP2014027704A (ja) 2008-08-15 2013-11-08 複数のチェックノード・アルゴリズムを用いる誤り訂正デコーダ

Country Status (7)

Country Link
US (17) US8464129B2 (ja)
EP (3) EP2223431A1 (ja)
JP (4) JP5276173B2 (ja)
KR (3) KR101418466B1 (ja)
CN (3) CN101803205B (ja)
TW (3) TWI508460B (ja)
WO (3) WO2010019168A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012500513A (ja) * 2008-08-15 2012-01-05 エルエスアイ コーポレーション ニア・コードワードのromリスト復号
JP2012525062A (ja) * 2009-04-21 2012-10-18 アギア システムズ インコーポレーテッド 書込み検証を使用した符号のエラーフロア軽減
JP2013243653A (ja) * 2012-05-17 2013-12-05 Lsi Corp シンボルの再グループ化による復号化処理のためのシステム及び方法
JP2014007724A (ja) * 2012-06-26 2014-01-16 Lsi Corp トラッピング・セットを破壊するための装置および方法

Families Citing this family (232)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958427B1 (en) * 2007-03-30 2011-06-07 Link—A—Media Devices Corporation ECC with out of order completion
US8281212B1 (en) 2007-03-30 2012-10-02 Link—A—Media Devices Corporation Iterative ECC decoder with out of order completion
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8127209B1 (en) 2007-07-30 2012-02-28 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
US8799742B1 (en) * 2007-07-30 2014-08-05 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
US8219878B1 (en) * 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
US8245104B2 (en) 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US20090319860A1 (en) * 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US20100037121A1 (en) * 2008-08-05 2010-02-11 The Hong Kong University Of Science And Technology Low power layered decoding for low density parity check decoders
US8185796B2 (en) * 2008-08-20 2012-05-22 Nec Laboratories America, Inc. Mitigation of fiber nonlinearities in multilevel coded-modulation schemes
US8291285B1 (en) * 2008-09-18 2012-10-16 Marvell International Ltd. Circulant processing scheduler for layered LDPC decoder
KR20110087268A (ko) * 2008-09-26 2011-08-02 에이전시 포 사이언스, 테크놀로지 앤드 리서치 디코딩 회로 및 인코딩 회로
US8219873B1 (en) * 2008-10-20 2012-07-10 Link—A—Media Devices Corporation LDPC selective decoding scheduling using a cost function
US8321772B1 (en) * 2008-10-20 2012-11-27 Link—A—Media Devices Corporation SOVA sharing during LDPC global iteration
US8161345B2 (en) 2008-10-29 2012-04-17 Agere Systems Inc. LDPC decoders using fixed and adjustable permutators
TWI469533B (zh) * 2008-11-07 2015-01-11 Realtek Semiconductor Corp 同位檢查碼解碼器及接收系統
US9356623B2 (en) 2008-11-26 2016-05-31 Avago Technologies General Ip (Singapore) Pte. Ltd. LDPC decoder variable node units having fewer adder stages
US8935601B1 (en) 2008-12-03 2015-01-13 Marvell International Ltd. Post-processing methodologies in decoding LDPC codes
US8234556B2 (en) * 2008-12-30 2012-07-31 Intel Corporation Broadcast receiver and method for optimizing a scale factor for a log-likelihood mapper
KR101539002B1 (ko) * 2009-01-02 2015-07-24 삼성전자주식회사 1-비트용 에러 정정 장치 및 그 방법
US8347195B1 (en) 2009-01-22 2013-01-01 Marvell International Ltd. Systems and methods for near-codeword detection and correction on the fly
WO2010101578A1 (en) 2009-03-05 2010-09-10 Lsi Corporation Improved turbo-equalization methods for iterative decoders
US8578256B2 (en) 2009-04-22 2013-11-05 Agere Systems Llc Low-latency decoder
JP5489552B2 (ja) * 2009-06-19 2014-05-14 三菱電機株式会社 復号方法及び復号装置
US8266505B2 (en) 2009-08-12 2012-09-11 Lsi Corporation Systems and methods for retimed virtual data processing
US8423861B2 (en) 2009-11-19 2013-04-16 Lsi Corporation Subwords coding using different interleaving schemes
US8359515B2 (en) 2009-12-02 2013-01-22 Lsi Corporation Forward substitution for error-correction encoding and the like
US20110138255A1 (en) * 2009-12-09 2011-06-09 Lee Daniel Chonghwan Probabilistic Learning-Based Decoding of Communication Signals
US20110154168A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Effective high-speed ldpc encoding method and apparatus using the same
US8751912B1 (en) 2010-01-12 2014-06-10 Marvell International Ltd. Layered low density parity check decoder
US8341486B2 (en) * 2010-03-31 2012-12-25 Silicon Laboratories Inc. Reducing power consumption in an iterative decoder
US8555131B2 (en) 2010-03-31 2013-10-08 Silicon Laboratories Inc. Techniques to control power consumption in an iterative decoder by control of node configurations
WO2011126578A1 (en) * 2010-04-09 2011-10-13 Link_A_Media Devices Corporation Implementation of ldpc selective decoding scheduling
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8589755B2 (en) * 2010-06-16 2013-11-19 Nec Laboratories America, Inc. Reduced-complexity LDPC decoding
US8555142B2 (en) * 2010-06-22 2013-10-08 Cleversafe, Inc. Verifying integrity of data stored in a dispersed storage memory
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
US8621289B2 (en) 2010-07-14 2013-12-31 Lsi Corporation Local and global interleaving/de-interleaving on values in an information word
US8650457B1 (en) 2010-09-03 2014-02-11 Marvell International Ltd. Methods and systems for reconfigurable LDPC decoders
US8681439B2 (en) 2010-09-13 2014-03-25 Lsi Corporation Systems and methods for handling sector gaps in inter-track interference compensation
CN103119563B (zh) * 2010-09-29 2016-03-23 国际商业机器公司 在固态存储器设备中的解码
US8560930B2 (en) 2010-10-11 2013-10-15 Lsi Corporation Systems and methods for multi-level quasi-cyclic low density parity check codes
US8385014B2 (en) 2010-10-11 2013-02-26 Lsi Corporation Systems and methods for identifying potential media failure
JP5310701B2 (ja) * 2010-10-29 2013-10-09 株式会社Jvcケンウッド 復号装置および復号方法
US8549387B2 (en) * 2010-11-04 2013-10-01 Himax Media Solutions, Inc. System and method of decoding LDPC code blocks
JP2012124888A (ja) * 2010-11-15 2012-06-28 Fujitsu Ltd 復号装置及び復号方法
US8566379B2 (en) 2010-11-17 2013-10-22 Lsi Corporation Systems and methods for self tuning target adaptation
US8810940B2 (en) 2011-02-07 2014-08-19 Lsi Corporation Systems and methods for off track error recovery
US8699167B2 (en) 2011-02-16 2014-04-15 Lsi Corporation Systems and methods for data detection using distance based tuning
US8446683B2 (en) 2011-02-22 2013-05-21 Lsi Corporation Systems and methods for data pre-coding calibration
WO2012118766A1 (en) * 2011-02-28 2012-09-07 Clariphy Communications, Inc. Non-concatenated fec codes for ultra-high speed optical transport networks
US10063262B2 (en) * 2011-02-28 2018-08-28 Inphi Corporation Non-concatenated FEC codes for ultra-high speed optical transport networks
US10103751B2 (en) * 2011-02-28 2018-10-16 Inphi Corporation Non-concatenated FEC codes for ultra-high speed optical transport networks
WO2012123505A2 (en) * 2011-03-14 2012-09-20 Ecole Centrale Paris Method and device for efficient parallel message computation for map inference
US8854753B2 (en) 2011-03-17 2014-10-07 Lsi Corporation Systems and methods for auto scaling in a data processing system
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing
US8656245B2 (en) * 2011-04-13 2014-02-18 California Institute Of Technology Method of error floor mitigation in low-density parity-check codes
US8670955B2 (en) 2011-04-15 2014-03-11 Lsi Corporation Systems and methods for reliability assisted noise predictive filtering
US8611033B2 (en) 2011-04-15 2013-12-17 Lsi Corporation Systems and methods for selective decoder input data processing
US8887034B2 (en) 2011-04-15 2014-11-11 Lsi Corporation Systems and methods for short media defect detection
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
US8566665B2 (en) 2011-06-24 2013-10-22 Lsi Corporation Systems and methods for error correction using low density parity check codes using multiple layer check equations
US8560929B2 (en) 2011-06-24 2013-10-15 Lsi Corporation Systems and methods for non-binary decoding
US8499231B2 (en) 2011-06-24 2013-07-30 Lsi Corporation Systems and methods for reduced format non-binary decoding
US8819527B2 (en) 2011-07-19 2014-08-26 Lsi Corporation Systems and methods for mitigating stubborn errors in a data processing system
US8879182B2 (en) 2011-07-19 2014-11-04 Lsi Corporation Storage media inter-track interference cancellation
US8830613B2 (en) 2011-07-19 2014-09-09 Lsi Corporation Storage media inter-track interference cancellation
JP2013029882A (ja) * 2011-07-26 2013-02-07 Toshiba Corp メモリコントローラ、半導体記憶装置および復号方法
US8645810B2 (en) 2011-07-31 2014-02-04 Sandisk Technologies Inc. Fast detection of convergence or divergence in iterative decoding
WO2013018080A1 (en) 2011-07-31 2013-02-07 Sandisk Technologies, Inc., A Texas Corporation Error-correction decoding with reduced memory and power requirements
US8539328B2 (en) 2011-08-19 2013-09-17 Lsi Corporation Systems and methods for noise injection driven parameter selection
US8854754B2 (en) 2011-08-19 2014-10-07 Lsi Corporation Systems and methods for local iteration adjustment
US9026572B2 (en) 2011-08-29 2015-05-05 Lsi Corporation Systems and methods for anti-causal noise predictive filtering in a data channel
US8656249B2 (en) 2011-09-07 2014-02-18 Lsi Corporation Multi-level LDPC layer decoder
US8681441B2 (en) 2011-09-08 2014-03-25 Lsi Corporation Systems and methods for generating predictable degradation bias
US8661324B2 (en) 2011-09-08 2014-02-25 Lsi Corporation Systems and methods for non-binary decoding biasing control
US8850276B2 (en) 2011-09-22 2014-09-30 Lsi Corporation Systems and methods for efficient data shuffling in a data processing system
US8767333B2 (en) 2011-09-22 2014-07-01 Lsi Corporation Systems and methods for pattern dependent target adaptation
US8689062B2 (en) 2011-10-03 2014-04-01 Lsi Corporation Systems and methods for parameter selection using reliability information
US8479086B2 (en) 2011-10-03 2013-07-02 Lsi Corporation Systems and methods for efficient parameter modification
US8578241B2 (en) 2011-10-10 2013-11-05 Lsi Corporation Systems and methods for parity sharing data processing
US8862960B2 (en) 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
US8443271B1 (en) 2011-10-28 2013-05-14 Lsi Corporation Systems and methods for dual process data decoding
US8683309B2 (en) 2011-10-28 2014-03-25 Lsi Corporation Systems and methods for ambiguity based decode algorithm modification
US8527858B2 (en) 2011-10-28 2013-09-03 Lsi Corporation Systems and methods for selective decode algorithm modification
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
US8531320B2 (en) 2011-11-14 2013-09-10 Lsi Corporation Systems and methods for memory efficient data decoding
US8751913B2 (en) 2011-11-14 2014-06-10 Lsi Corporation Systems and methods for reduced power multi-layer data decoding
JP5772622B2 (ja) * 2012-01-20 2015-09-02 株式会社Jvcケンウッド 復号装置および復号方法
US20130198582A1 (en) * 2012-01-30 2013-08-01 Broadcom Corporation Supercharged codes
US8850295B2 (en) 2012-02-01 2014-09-30 Lsi Corporation Symbol flipping data processor
US8918704B2 (en) 2012-03-15 2014-12-23 David Declercq Decoding method and apparatus for non-binary, low-density, parity check codes
US8977937B2 (en) * 2012-03-16 2015-03-10 Lsi Corporation Systems and methods for compression driven variable rate decoding in a data processing system
JP2013198017A (ja) * 2012-03-21 2013-09-30 Toshiba Corp 復号装置及び通信装置
US8949704B2 (en) 2012-03-22 2015-02-03 Lsi Corporation Systems and methods for mis-correction correction in a data processing system
HUE049811T2 (hu) 2012-04-15 2020-10-28 Samsung Electronics Co Ltd Videodekódoló berendezés, amely paraméter aktualizálást használ entrópiakódolt transzformáció együttható debinarizálására és kódolási eljárás, amely ugyanazt használja binarizálásra
US8782487B2 (en) 2012-04-18 2014-07-15 Lsi Corporation Systems and methods for locating and correcting decoder mis-corrections
US8782488B2 (en) 2012-04-20 2014-07-15 Lsi Corporation Systems and methods for back step data decoding
US8879647B2 (en) * 2012-04-26 2014-11-04 Alcatel Lucent Methods of allocating resources in a system and systems implementing the same
US8739004B2 (en) * 2012-05-10 2014-05-27 Lsi Corporation Symbol flipping LDPC decoding system
US8832532B2 (en) * 2012-06-20 2014-09-09 Lsi Corporation Dynamically controlling the number of local iterations in an iterative decoder
JP5591876B2 (ja) * 2012-06-22 2014-09-17 株式会社東芝 誤り訂正装置、誤り訂正方法およびプログラム
US8689076B2 (en) * 2012-07-02 2014-04-01 Lsi Corporation Systems and methods for enhanced bit correlation usage
CN103532568A (zh) * 2012-07-03 2014-01-22 联咏科技股份有限公司 迭代译码装置及其相关译码方法
US8640002B1 (en) 2012-07-10 2014-01-28 Micron Technology, Inc. Resolving trapping sets
US10797728B1 (en) * 2012-07-25 2020-10-06 Marvell Asia Pte, Ltd. Systems and methods for diversity bit-flipping decoding of low-density parity-check codes
RU2012135285A (ru) 2012-08-16 2014-02-27 ЭлЭсАй Корпорейшн Ускоритель для средства проектирования и моделирования канала считывания записи
US9015547B2 (en) * 2012-08-17 2015-04-21 Lsi Corporation Multi-level LDPC layered decoder with out-of-order processing
US9203432B2 (en) * 2012-08-28 2015-12-01 Marvell World Trade Ltd. Symbol flipping decoders of non-binary low-density parity check (LDPC) codes
US8972832B2 (en) * 2012-09-04 2015-03-03 Lsi Corporation Optimized scheme and architecture of hard drive queue design
US8977924B2 (en) * 2012-09-10 2015-03-10 Lsi Corporation Optimized mechanism to simplify the circulant shifter and the P/Q kick out for layered LDPC decoder
RU2012139074A (ru) * 2012-09-12 2014-03-20 ЭлЭсАй Корпорейшн Инструмент для проектирования и моделирования канала считывания, имеющий модуль классификации кодовых слов
US8949702B2 (en) * 2012-09-14 2015-02-03 Lsi Corporation Systems and methods for detector side trapping set mitigation
US20140082449A1 (en) * 2012-09-18 2014-03-20 Fan Zhang LDPC Decoder With Variable Node Hardening
US8914710B2 (en) 2012-09-27 2014-12-16 Apple Inc. Soft message-passing decoder with efficient message computation
US8977926B2 (en) 2012-09-28 2015-03-10 Lsi Corporation Modified targeted symbol flipping for non-binary LDPC codes
US8862962B2 (en) 2012-10-03 2014-10-14 Lsi Corporation Layered decoder enhancement for retained sector reprocessing
US9112539B2 (en) 2012-10-18 2015-08-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for iterative data processing using feedback iteration
US9219504B2 (en) * 2012-10-29 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. LEH memory module architecture design in the multi-level LDPC coded iterative system
US9037938B2 (en) * 2012-10-30 2015-05-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Hardware architecture and implementation of low power layered multi-level LDPC decoder
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9191256B2 (en) * 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
US8724243B1 (en) 2012-12-07 2014-05-13 Lsi Corporation Systems and methods for run length limited encoding
US8996969B2 (en) 2012-12-08 2015-03-31 Lsi Corporation Low density parity check decoder with miscorrection handling
US9619317B1 (en) * 2012-12-18 2017-04-11 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US8977939B2 (en) * 2012-12-21 2015-03-10 Lsi Corporation Majority-tabular post processing of quasi-cyclic low-density parity-check codes
JP2014147029A (ja) * 2013-01-30 2014-08-14 Nippon Hoso Kyokai <Nhk> Mimo−ofdm受信装置及びプログラム
CN103970619B (zh) * 2013-02-06 2017-09-29 东芝存储器株式会社 控制器
US9037952B2 (en) * 2013-02-06 2015-05-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory architecture for layered low-density parity-check decoder
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US9407290B2 (en) 2013-03-15 2016-08-02 Sandisk Technologies Llc Error-correction decoding with conditional limiting of check-node messages
US9059742B1 (en) 2013-03-15 2015-06-16 Western Digital Technologies, Inc. System and method for dynamic scaling of LDPC decoder in a solid state drive
US9513989B2 (en) 2013-03-26 2016-12-06 Seagate Technology Llc Priori information based post-processing in low-density parity-check code decoders
CN105164646B (zh) 2013-04-30 2019-06-07 西部数据技术公司 具有早期解码终止检测的解码器
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9094046B2 (en) 2013-09-03 2015-07-28 Lsi Corporation Systems and methods for variable sector count spreading and de-spreading
US8976471B1 (en) 2013-09-05 2015-03-10 Lsi Corporation Systems and methods for two stage tone reduction
US9298720B2 (en) 2013-09-17 2016-03-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for fragmented data recovery
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9189333B2 (en) 2013-10-17 2015-11-17 Seagate Technology Llc Generating soft decoding information for flash memory error correction using hard decision patterns
US9436550B2 (en) 2013-10-31 2016-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for internal disk drive data compression
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
US9306600B2 (en) 2014-01-06 2016-04-05 Micron Technology, Inc. Read threshold calibration for LDPC
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
CN104834476B (zh) 2014-02-10 2016-10-19 安华高科技通用Ip(新加坡)公司 基于段结束标记的数据对准的系统和方法
KR102194136B1 (ko) * 2014-03-12 2020-12-22 삼성전자주식회사 비이진 ldpc 부호를 이용한 이동 통신 시스템에서 오류 정정 장치 및 방법
US9564922B1 (en) 2014-03-19 2017-02-07 Microsemi Storage Solutions (U.S.), Inc. Error correction code decoder with stochastic floor mitigation
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
US9602141B2 (en) * 2014-04-21 2017-03-21 Sandisk Technologies Llc High-speed multi-block-row layered decoder for low density parity check (LDPC) codes
US9748973B2 (en) 2014-04-22 2017-08-29 Sandisk Technologies Llc Interleaved layered decoder for low-density parity check codes
US9503125B2 (en) * 2014-05-08 2016-11-22 Sandisk Technologies Llc Modified trellis-based min-max decoder for non-binary low-density parity-check error-correcting codes
TWI551058B (zh) * 2014-05-09 2016-09-21 衡宇科技股份有限公司 最小-總和演算法之低密度奇偶校驗碼解碼器及其解碼方法
US9184954B1 (en) 2014-07-02 2015-11-10 Seagate Technology Llc Systems and methods for directed soft data perturbation in layered decoding
US10084479B2 (en) * 2014-07-07 2018-09-25 Toshiba Memory Corporation Low BER hard-decision LDPC decoder
KR20160046467A (ko) 2014-10-21 2016-04-29 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템, 데이터 저장 시스템 및 그것의 동작 방법
US10372528B1 (en) * 2014-12-15 2019-08-06 Seagate Technology Llc Random values from data errors
US9602133B1 (en) 2015-01-27 2017-03-21 Microsemi Storage Solutions (U.S.), Inc. System and method for boost floor mitigation
KR20160102738A (ko) * 2015-02-23 2016-08-31 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
TWI578714B (zh) * 2015-04-02 2017-04-11 國立清華大學 低密度奇偶檢查碼解碼方法及用於該解碼方法的資訊儲存方法
US9384761B1 (en) 2015-04-09 2016-07-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for flexible variable code rate support
US10567008B2 (en) * 2015-07-02 2020-02-18 Apple Inc. Stopping criteria for turbo decoder
KR20170051039A (ko) 2015-11-02 2017-05-11 에스케이하이닉스 주식회사 반도체 장치 및 그 구동 방법
KR20170050935A (ko) 2015-11-02 2017-05-11 에스케이하이닉스 주식회사 온 칩 ecc 회로를 포함하는 메모리 장치 및 시스템
US9793924B1 (en) 2015-12-04 2017-10-17 Microsemi Solutions (U.S.), Inc. Method and system for estimating an expectation of forward error correction decoder convergence
US20170288697A1 (en) * 2016-03-31 2017-10-05 Silicon Motion Inc. Ldpc shuffle decoder with initialization circuit comprising ordered set memory
KR20180009558A (ko) 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러
KR102559925B1 (ko) * 2016-07-21 2023-07-26 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
KR102568716B1 (ko) * 2016-08-02 2023-08-21 삼성전자주식회사 Ldpc 코드의 디코딩을 위한 장치 및 방법
US10530393B2 (en) 2016-12-01 2020-01-07 Western Digital Technologies, Inc. Configurable ECC decoder
US10218384B2 (en) 2016-12-01 2019-02-26 Sandisk Technologies Llc ECC decoder with multiple decoding modes
US10565040B2 (en) 2016-12-01 2020-02-18 Western Digital Technologies, Inc. ECC decoder with selective component disabling based on decoding message resolution
US10534836B2 (en) * 2016-12-06 2020-01-14 Gsi Technology Inc. Four steps associative full adder
US10050643B2 (en) * 2016-12-14 2018-08-14 Via Technologies, Inc. Low-density parity-check apparatus and operation method thereof
TWI632780B (zh) 2016-12-30 2018-08-11 慧榮科技股份有限公司 解碼方法與相關解碼裝置
WO2018128559A1 (en) * 2017-01-09 2018-07-12 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
US10355712B2 (en) * 2017-03-31 2019-07-16 Sandisk Technologies Llc Use of multiple codebooks for programming data in different memory areas of a storage device
US10263640B2 (en) * 2017-04-04 2019-04-16 Seagate Technology Llc Low density parity check (LDPC) decoder with pre-saturation compensation
US20190058529A1 (en) * 2017-04-08 2019-02-21 Yahong Rosa Zheng Turbo receivers for single-input single-output underwater acoustic communications
US10637586B2 (en) 2017-08-25 2020-04-28 National Science Foundation Turbo receivers for multiple-input multiple-output underwater acoustic communications
US10447301B2 (en) * 2017-09-13 2019-10-15 Toshiba Memory Corporation Optimal LDPC bit flip decision
US10700706B2 (en) * 2017-09-22 2020-06-30 SK Hynix Inc. Memory system with decoders and method of operating such memory system and decoders
CN107528597B (zh) * 2017-09-25 2020-12-08 桂林电子科技大学 一种基于crc校验码的ldpc码后处理译码方法
US10680647B2 (en) * 2017-09-25 2020-06-09 SK Hynix Inc. Min-sum decoding for LDPC codes
US10574274B2 (en) * 2017-09-29 2020-02-25 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes
US10091046B1 (en) 2017-11-20 2018-10-02 Nokia Technologies Oy Joint use of probabilistic signal shaping and forward error correction
US10523400B2 (en) 2017-11-20 2019-12-31 Nokia Technologies Oy Multi-code probabilistic signal shaping using frequency-division multiplexing
US10417089B2 (en) 2018-02-13 2019-09-17 Western Digital Technologies, Inc. Data storage device extending erasures for LDPC-type decoding
US11115062B2 (en) * 2018-03-16 2021-09-07 SK Hynix Inc. Memory system with adaptive threshold decoding and method of operating such memory system
US10200231B1 (en) 2018-03-22 2019-02-05 Nokia Technologies Oy Partial probabilistic signal shaping
KR20190115816A (ko) 2018-04-04 2019-10-14 고인석 규격화 된 블록을 이용한 비닐 하우스 구조물과 시공법
US11055171B2 (en) 2018-05-17 2021-07-06 Western Digital Technologies, Inc. Data storage device employing multi-level parity sectors for data recovery procedure
US10606699B2 (en) 2018-05-17 2020-03-31 Western Digital Technologies, Inc. Data storage device employing multi-level parity sectors for data recovery procedure
US10592334B2 (en) 2018-05-17 2020-03-17 Western Digital Technologies, Inc. Data storage device emphasizing parity sector processing of un-converged codewords
US10530390B2 (en) 2018-05-17 2020-01-07 Western Digital Technologies, Inc. Data storage device employing memory efficient processing of un-converged codewords
US10761927B2 (en) 2018-07-16 2020-09-01 Taiwan Semiconductor Manufacturing Co., Ltd. Detection and correction of data bit errors using error correction codes
US10944504B2 (en) 2018-08-02 2021-03-09 Nokia Solutions And Networks Oy Transmission of probabilistically shaped amplitudes using partially anti-symmetric amplitude labels
CN109361403A (zh) * 2018-08-06 2019-02-19 建荣半导体(深圳)有限公司 Ldpc译码方法、ldpc译码器及其存储设备
US10848182B2 (en) * 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
KR102582326B1 (ko) * 2018-09-20 2023-09-26 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법
KR102592870B1 (ko) * 2018-10-12 2023-10-24 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법
GB2580160B (en) 2018-12-21 2021-01-06 Graphcore Ltd Hardware module for converting numbers
CN109739689B (zh) * 2018-12-25 2023-03-14 四川效率源信息安全技术股份有限公司 一种雕复SQL Server数据库文件的方法
US10892777B2 (en) 2019-02-06 2021-01-12 Seagate Technology Llc Fast error recovery with error correction code (ECC) syndrome weight assist
CN109921802B (zh) * 2019-02-26 2023-02-07 北京中科晶上科技股份有限公司 一种qc-ldpc码的译码方法、模块及装置
US10630313B1 (en) 2019-03-12 2020-04-21 Microsoft Technology Licensing, Llc High efficiency data decoder
US10666291B1 (en) 2019-03-12 2020-05-26 Microsoft Technology Licensing, Llc High efficiency data decoder
KR102588969B1 (ko) * 2019-03-19 2023-10-16 에스케이하이닉스 주식회사 오류 정정 디코더 및 이를 포함하는 메모리 시스템
US11146289B2 (en) 2019-03-29 2021-10-12 Intel Corporation Techniques to use intrinsic information for a bit-flipping error correction control decoder
KR20200124054A (ko) 2019-04-23 2020-11-02 에스케이하이닉스 주식회사 오류 정정 디코더 및 이를 포함하는 메모리 시스템
US11032023B1 (en) * 2019-05-21 2021-06-08 Tarana Wireless, Inc. Methods for creating check codes, and systems for wireless communication using check codes
US11063607B2 (en) * 2019-05-24 2021-07-13 Intel Corporation Compressing error vectors for decoding logic to store compressed in a decoder memory used by the decoding logic
US11159175B2 (en) * 2019-06-21 2021-10-26 Intel Corporation Non-uniform iteration-dependent min-sum scaling factors for improved performance of spatially-coupled LDPC codes
US11088707B2 (en) 2019-06-29 2021-08-10 Intel Corporation Low density parity check (LDPC) decoder architecture with check node storage (CNS) or bounded circulant
US11768701B2 (en) * 2019-09-17 2023-09-26 Western Digital Technologies, Inc. Exception analysis for data storage devices
TWI705667B (zh) * 2019-09-20 2020-09-21 慧榮科技股份有限公司 產生具有符合所需之錯誤基數的低密度奇偶校驗碼的方法及裝置
US11424766B1 (en) 2020-01-31 2022-08-23 Marvell Asia Pte Ltd. Method and device for energy-efficient decoders
US11456757B2 (en) * 2020-12-16 2022-09-27 SK Hynix Inc. Oscillation detection and mitigation in bit-flipping decoders
US11515891B2 (en) 2020-12-22 2022-11-29 Intel Corporation Application of low-density parity-check codes with codeword segmentation
CN112865812B (zh) * 2021-01-18 2022-09-30 武汉梦芯科技有限公司 一种多元ldpc译码方法、计算机存储介质及计算机
CN113098531B (zh) * 2021-04-19 2022-04-29 中南林业科技大学 一种基于最小和译码框架的动态偏移补偿方法
US11621727B2 (en) 2021-06-04 2023-04-04 SK Hynix Inc. Decoding systems and methods for local reinforcement
WO2023055676A1 (en) 2021-09-28 2023-04-06 Microchip Technology Inc. Ldpc decoding with trapped-block management
US11626889B1 (en) * 2021-11-16 2023-04-11 L3Harris Technologies, Inc. Partial update sharing in joint LDPC decoding and ancillary processors
EP4216443A1 (en) 2022-01-25 2023-07-26 Nokia Solutions and Networks Oy Reduced-power ldpc decoding
CN115882873B (zh) * 2023-02-23 2023-05-23 成都星联芯通科技有限公司 低密度奇偶校验码译码方法、装置、通信设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251384A (ja) * 2000-03-08 2001-09-14 Sanyo Electric Co Ltd 通信装置および通信方法
JP2005020505A (ja) * 2003-06-27 2005-01-20 Hitachi Kokusai Electric Inc 送信機
JP2012500513A (ja) * 2008-08-15 2012-01-05 エルエスアイ コーポレーション ニア・コードワードのromリスト復号

Family Cites Families (182)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3260840A (en) * 1961-12-28 1966-07-12 Ibm Variable mode arithmetic circuits with carry select
GB1245441A (en) * 1968-08-27 1971-09-08 Int Computers Ltd Improvements in or relating to adders operating on variable fields within words
US3755779A (en) * 1971-12-14 1973-08-28 Ibm Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection
US4109310A (en) * 1973-08-06 1978-08-22 Xerox Corporation Variable field length addressing system having data byte interchange
US4021655A (en) * 1976-03-30 1977-05-03 International Business Machines Corporation Oversized data detection hardware for data processors which store data at variable length destinations
US4295218A (en) * 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system
JPS6046448B2 (ja) * 1980-07-11 1985-10-16 株式会社日立製作所 オ−バフロ−検出方式
JPS5892036A (ja) * 1981-11-27 1983-06-01 Toshiba Corp 加算回路
JPS58225422A (ja) * 1982-06-25 1983-12-27 Toshiba Corp デ−タ制御装置
US4536855A (en) * 1982-12-23 1985-08-20 International Telephone And Telegraph Corporation Impedance restoration for fast carry propagation
US4707800A (en) * 1985-03-04 1987-11-17 Raytheon Company Adder/substractor for variable length numbers
JPS61239327A (ja) * 1985-04-16 1986-10-24 Nec Corp オ−バフロ−検出方式
US4914617A (en) * 1987-06-26 1990-04-03 International Business Machines Corporation High performance parallel binary byte adder
DE3887459T2 (de) * 1987-11-16 1994-05-11 Nec Corp Digitalsignalempfangsschaltung mit Baudabtastphasensteuerung durch eine Leistung von abgetasteten Signalen.
US5189636A (en) * 1987-11-16 1993-02-23 Intel Corporation Dual mode combining circuitry
GB8904392D0 (en) * 1989-02-27 1989-04-12 Ibm An arithmetic logic unit for a graphics processor
FR2693287B1 (fr) * 1992-07-03 1994-09-09 Sgs Thomson Microelectronics Sa Procédé pour effectuer des calculs numériques, et unité arithmétique pour la mise en Óoeuvre de ce procédé.
JP3187539B2 (ja) * 1992-07-28 2001-07-11 株式会社東芝 データ転送装置
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
US5327369A (en) * 1993-03-31 1994-07-05 Intel Corporation Digital adder and method for adding 64-bit, 16-bit and 8-bit words
US5883824A (en) * 1993-11-29 1999-03-16 Hewlett-Packard Company Parallel adding and averaging circuit and method
US5390135A (en) * 1993-11-29 1995-02-14 Hewlett-Packard Parallel shift and add circuit and method
JP3428741B2 (ja) * 1994-02-14 2003-07-22 松下電器産業株式会社 演算装置とアドレス発生装置及びプログラム制御装置
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
US5734962A (en) * 1996-07-17 1998-03-31 General Electric Company Satellite communications system utilizing parallel concatenated coding
JP2856190B2 (ja) * 1997-02-27 1999-02-10 日本電気株式会社 演算処理装置および演算処理方法
US6334136B1 (en) * 1997-12-11 2001-12-25 Intrinsity, Inc. Dynamic 3-level partial result merge adder
FR2775531B1 (fr) * 1998-02-27 2001-10-12 Sgs Thomson Microelectronics Additionneur numerique rapide
US6038166A (en) * 1998-04-01 2000-03-14 Invox Technology High resolution multi-bit-per-cell memory
US6550023B1 (en) * 1998-10-19 2003-04-15 Hewlett Packard Development Company, L.P. On-the-fly memory testing and automatic generation of bitmaps
EP1030457B1 (en) * 1999-02-18 2012-08-08 Imec Methods and system architectures for turbo decoding
US6678843B2 (en) * 1999-02-18 2004-01-13 Interuniversitair Microelektronics Centrum (Imec) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
US6449629B1 (en) * 1999-05-12 2002-09-10 Agere Systems Guardian Corp. Three input split-adder
US7467744B1 (en) 1999-11-30 2008-12-23 Diebold, Incorporated Check accepting and cash dispensing automated banking machine system and method
RU2251726C2 (ru) * 1999-12-02 2005-05-10 Инфинеон Текнолоджиз Аг Микропроцессорное устройство с шифрованием
US6728932B1 (en) * 2000-03-22 2004-04-27 Hewlett-Packard Development Company, L.P. Document clustering method and system
US6307901B1 (en) * 2000-04-24 2001-10-23 Motorola, Inc. Turbo decoder with decision feedback equalization
US6888897B1 (en) * 2000-04-27 2005-05-03 Marvell International Ltd. Multi-mode iterative detector
AU2001261509A1 (en) * 2000-05-11 2001-11-20 Thomas J. Reynolds Interactive method and system for teaching decision making
US6745157B1 (en) * 2000-06-02 2004-06-01 Mitsubishi Electric Research Laboratories, Inc Super-node normalized belief propagation for probabilistic systems
US6910000B1 (en) * 2000-06-02 2005-06-21 Mitsubishi Electric Research Labs, Inc. Generalized belief propagation for probabilistic systems
JP2002099447A (ja) * 2000-09-22 2002-04-05 Fujitsu Ltd プロセッサ
JP2002111512A (ja) * 2000-09-29 2002-04-12 Sony Corp 復号装置及び方法、並びにデータ受信装置及び方法
EP1352230A2 (en) 2000-12-29 2003-10-15 Chromagen, Inc. Scanning spectrophotometer for high throughput fluorescence detection
US6950977B2 (en) * 2001-03-15 2005-09-27 3G.Com, Inc. Mechanism for turbo decoding when CRC for partial blocks is provided
WO2003036857A1 (en) * 2001-10-24 2003-05-01 Nokia Corporation Ciphering as a part of the multicast cencept
US7219118B2 (en) * 2001-11-06 2007-05-15 Broadcom Corporation SIMD addition circuit
CN100350343C (zh) * 2002-03-13 2007-11-21 松下电器产业株式会社 安全设备
JP3743509B2 (ja) * 2002-03-20 2006-02-08 セイコーエプソン株式会社 データ転送制御装置及び電子機器
FI114347B (fi) * 2002-03-20 2004-09-30 Master S Innovations Ltd Oy Menetelmä ja laitteisto datan kääntämiseksi
NO316488B1 (no) 2002-04-26 2004-01-26 Kongsberg Defence Comm As Fremgangsmåte og apparat for mottak av digitale kommunikasjonssignaler
JP3708064B2 (ja) * 2002-05-31 2005-10-19 株式会社東芝 ディスク記憶装置、ディスクコントローラ及び同装置に適用するエラー訂正方法
RU2300844C2 (ru) * 2002-06-18 2007-06-10 Ооо "Крейф" Персональный криптозащитный комплекс
US7089481B2 (en) * 2002-07-22 2006-08-08 Agere Systems Inc. High speed arithmetic operations for use in turbo decoders
CN1498009A (zh) * 2002-09-30 2004-05-19 ��ʽ���綫֥ 无线通信终端
EP1568140A1 (en) * 2002-11-27 2005-08-31 Koninklijke Philips Electronics N.V. Running minimum message passing ldpc decoding
JP4062435B2 (ja) * 2002-12-03 2008-03-19 日本電気株式会社 誤り訂正符号復号装置
US7296216B2 (en) * 2003-01-23 2007-11-13 Broadcom Corporation Stopping and/or reducing oscillations in low density parity check (LDPC) decoding
KR100516548B1 (ko) * 2003-02-05 2005-09-22 삼성전자주식회사 이동 통신 시스템에서 최적화된 암호화 함수를 설계하는방법과 최적화된 암호화 장치
US7131055B2 (en) * 2003-02-25 2006-10-31 Intel Corporation Fast bit-parallel Viterbi decoder add-compare-select circuit
CN100576168C (zh) 2003-02-26 2009-12-30 高通股份有限公司 用于迭代解码的软信息比例变换
US20070234178A1 (en) * 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
JP2004288091A (ja) * 2003-03-25 2004-10-14 Fuji Xerox Co Ltd 情報処理装置及び方法
AU2003204108B1 (en) * 2003-05-09 2004-11-11 Majitek Pty Ltd Interface for distributed objects and development platform therefor
US7415115B2 (en) * 2003-05-14 2008-08-19 Broadcom Corporation Method and system for disaster recovery of data from a storage device
US7409477B2 (en) * 2003-09-03 2008-08-05 Hewlett-Packard Development Company, L.P. Memory card having a processor coupled between host interface and second interface wherein internal storage code provides a generic interface between host interface and processor
US7340671B2 (en) * 2003-10-10 2008-03-04 Regents Of The University Of California Decoding low density parity codes
KR101009785B1 (ko) * 2003-12-10 2011-01-19 삼성전자주식회사 불균일 반복 축적 부호 부호화/복호화 장치 및 방법
US7237181B2 (en) * 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
ES2291737T3 (es) * 2003-12-30 2008-03-01 Telefonaktiebolaget Lm Ericsson (Publ) Metodo y sistema para calcular la tasa de error de los bits de una señal recibida.
US20050193320A1 (en) * 2004-02-09 2005-09-01 President And Fellows Of Harvard College Methods and apparatus for improving performance of information coding schemes
JP2005242797A (ja) 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd エラー訂正回路
US7383484B2 (en) * 2004-03-12 2008-06-03 Seagate Technology Llc Cyclic redundancy check based message passing in turbo product code decoding
JP4521633B2 (ja) 2004-03-12 2010-08-11 直樹 末広 符号分割多重信号の相関分離識別方式
JP3891186B2 (ja) * 2004-03-22 2007-03-14 住友電気工業株式会社 復号装置および前処理装置
WO2005096509A1 (en) * 2004-03-31 2005-10-13 Intel Corporation Multi-threshold message passing decoding of low-density parity check codes
US7353444B2 (en) * 2004-05-07 2008-04-01 Comtech Aha Corporation LDPC architecture
GB2414638A (en) * 2004-05-26 2005-11-30 Tandberg Television Asa Decoding a concatenated convolutional-encoded and block encoded signal
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
US7457367B2 (en) * 2004-07-07 2008-11-25 University Of Utah Research Foundation Detector and method for estimating data probability in a multi-channel receiver
KR100718133B1 (ko) * 2004-07-15 2007-05-15 삼성전자주식회사 움직임정보 부호화장치 및 방법, 움직임정보 복호화장치 및방법, 이를 채용한 스케일러블 영상 부호화장치 및 방법과스케일러블 영상 복호화장치 및 방법
US7181676B2 (en) * 2004-07-19 2007-02-20 Texas Instruments Incorporated Layered decoding approach for low density parity check (LDPC) codes
JP4321394B2 (ja) 2004-07-21 2009-08-26 富士通株式会社 符号化装置、復号装置
US7730377B2 (en) * 2004-07-22 2010-06-01 Texas Instruments Incorporated Layered decoding of low density parity check (LDPC) codes
US7143333B2 (en) * 2004-08-09 2006-11-28 Motorola, Inc. Method and apparatus for encoding and decoding data
CN101341659B (zh) * 2004-08-13 2012-12-12 Dtvg许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
US8046662B2 (en) * 2004-08-20 2011-10-25 Broadcom Corporation Method and system for decoding control data in GSM-based systems using inherent redundancy
US7996746B2 (en) * 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
US7760880B2 (en) * 2004-10-13 2010-07-20 Viasat, Inc. Decoder architecture system and method
KR100703271B1 (ko) * 2004-11-23 2007-04-03 삼성전자주식회사 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치
GB2421719B (en) * 2004-12-30 2008-07-02 Fmc Technologies Conveying conformable products
CN101103581B (zh) * 2005-01-19 2012-05-30 英特尔公司 数据通信方法和装置
JP4595574B2 (ja) * 2005-02-07 2010-12-08 ソニー株式会社 復号装置および方法、並びにプログラム
EP1717959A1 (en) * 2005-04-29 2006-11-02 STMicroelectronics N.V. Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
US7562279B2 (en) * 2005-05-20 2009-07-14 Mitsubishi Electric Research Laboratories, Inc. 2D-normalized min-sum decoding for ECC codes
US7577891B2 (en) * 2005-05-27 2009-08-18 Aquantia Corporation Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining
TW200643703A (en) * 2005-06-06 2006-12-16 Novatek Microelectronics Corp Architecture and method for error detection and correction for data transmitted in a network
US7802172B2 (en) * 2005-06-20 2010-09-21 Stmicroelectronics, Inc. Variable-rate low-density parity check codes with constant blocklength
US20060285852A1 (en) * 2005-06-21 2006-12-21 Wenze Xi Integrated maximum a posteriori (MAP) and turbo product coding for optical communications systems
US7739558B1 (en) * 2005-06-22 2010-06-15 Aquantia Corporation Method and apparatus for rectifying errors in the presence of known trapping sets in iterative decoders and expedited bit error rate testing
JP2008544721A (ja) * 2005-06-27 2008-12-04 トムソン ライセンシング 反復デコーダの電力削減のための方法及び装置
JP4526451B2 (ja) * 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
JP2007036495A (ja) 2005-07-25 2007-02-08 Sharp Corp 再生装置、圧縮装置、記録装置及び再生方法
US7617436B2 (en) * 2005-08-02 2009-11-10 Nokia Corporation Method, device, and system for forward channel error recovery in video sequence transmission over packet-based network
US7725800B2 (en) * 2005-08-05 2010-05-25 Hitachi Global Stroage Technologies Netherlands, B.V. Decoding techniques for correcting errors using soft information
US7770090B1 (en) * 2005-09-14 2010-08-03 Trident Microsystems (Far East) Ltd. Efficient decoders for LDPC codes
EP1926142A1 (en) 2005-09-15 2008-05-28 Mitsubishi Materials Corporation Insulating circuit board and insulating circuit board provided with cooling sink section
US8867336B2 (en) * 2005-09-28 2014-10-21 Qualcomm Incorporated System for early detection of decoding errors
US20070124184A1 (en) * 2005-10-13 2007-05-31 Schmit Michael R Method for use of a customer experience business model to manage an organization by cross-functional processes from the perspective of customer experiences
US20070089016A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes
US20070089019A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes, including calculating check-to-variable messages
US7844877B2 (en) * 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
GB2432982A (en) * 2005-11-30 2007-06-06 Toshiba Res Europ Ltd An EER RF amplifier with PWM signal switching
US7730385B2 (en) * 2005-11-30 2010-06-01 Motorola, Inc. Method for decoding a received control channel message with a priori information
US20070134178A1 (en) * 2005-12-12 2007-06-14 Iheatu Obioha Skin lightening complex
US7602838B2 (en) * 2005-12-22 2009-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Linear turbo equalization using despread values
FI20055715A0 (fi) * 2005-12-30 2005-12-30 Nokia Corp Turboekvalisointimenettely
US7752523B1 (en) * 2006-02-13 2010-07-06 Marvell International Ltd. Reduced-complexity decoding of parity check codes
US7805642B1 (en) * 2006-02-17 2010-09-28 Aquantia Corporation Low power iterative decoder using input data pipelining and voltage scaling
KR20070084947A (ko) * 2006-02-22 2007-08-27 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
GB2449036B (en) 2006-03-31 2011-08-24 Intel Corp Layered decoder and method for performing layered decoding
US7941737B2 (en) * 2006-04-19 2011-05-10 Tata Consultancy Services Limited Low density parity check code decoder
JP4341639B2 (ja) 2006-05-15 2009-10-07 住友電気工業株式会社 復号装置および復号プログラム
US7941726B2 (en) * 2006-06-30 2011-05-10 Microsoft Corporation Low dimensional spectral concentration codes and direct list decoding
JP4253332B2 (ja) * 2006-07-03 2009-04-08 株式会社東芝 復号装置、方法およびプログラム
US7580469B2 (en) 2006-07-06 2009-08-25 Provigent Ltd Communication link control using iterative code metrics
US7895500B2 (en) * 2006-07-28 2011-02-22 Via Telecom Co., Ltd. Systems and methods for reduced complexity LDPC decoding
JP4878958B2 (ja) * 2006-08-22 2012-02-15 株式会社エヌ・ティ・ティ・ドコモ 無線通信装置及び無線通信方法
FR2905210B1 (fr) * 2006-08-24 2008-10-31 St Microelectronics Sa Procede et dispositif de decodage par couches d'une succession de blocs encodes avec un code ldpc
FR2905209B1 (fr) * 2006-08-24 2008-10-31 St Microelectronics Sa Procede et dispositif de decodage de blocs encodes avec un code ldpc
US7644339B2 (en) * 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
US7613981B2 (en) * 2006-10-06 2009-11-03 Freescale Semiconductor, Inc. System and method for reducing power consumption in a low-density parity-check (LDPC) decoder
CN101174839A (zh) 2006-10-30 2008-05-07 富士通株式会社 编码装置、解码装置、编码/解码装置及记录/再现装置
US7979775B2 (en) * 2006-10-30 2011-07-12 Motorola Mobility, Inc. Turbo interference suppression in communication systems
JP2008112516A (ja) * 2006-10-31 2008-05-15 Fujitsu Ltd 誤り訂正回路及び情報再生装置
JP5251000B2 (ja) 2006-11-01 2013-07-31 富士通株式会社 誤り訂正回路及び媒体記憶装置
US8255763B1 (en) 2006-11-08 2012-08-28 Marvell International Ltd. Error correction system using an iterative product code
US7949927B2 (en) * 2006-11-14 2011-05-24 Samsung Electronics Co., Ltd. Error correction method and apparatus for predetermined error patterns
JP4261575B2 (ja) * 2006-11-30 2009-04-30 株式会社東芝 誤り訂正処理装置及び誤り訂正処理方法
FR2909499B1 (fr) * 2006-12-01 2009-01-16 Commissariat Energie Atomique Procede et dispositif de decodage pour codes ldpc, et appareil de communication comprenant un tel dispositif
WO2008076214A2 (en) * 2006-12-14 2008-06-26 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
US7949931B2 (en) * 2007-01-02 2011-05-24 International Business Machines Corporation Systems and methods for error detection in a memory system
US8051363B1 (en) * 2007-01-16 2011-11-01 Marvell International Ltd. Absorb decode algorithm for 10GBase-T LDPC decoder
KR100975695B1 (ko) * 2007-02-02 2010-08-12 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US8117515B2 (en) * 2007-03-23 2012-02-14 Sizhen Yang Methodology and apparatus for soft-information detection and LDPC decoding on an ISI channel
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US8418023B2 (en) * 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8151171B2 (en) * 2007-05-07 2012-04-03 Broadcom Corporation Operational parameter adaptable LDPC (low density parity check) decoder
JP4616861B2 (ja) * 2007-05-25 2011-01-19 富士ゼロックス株式会社 信号伝送回路及び信号伝送システム
US7930621B2 (en) * 2007-06-01 2011-04-19 Agere Systems Inc. Systems and methods for LDPC decoding with post processing
US8037394B2 (en) * 2007-06-29 2011-10-11 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for generating bit reliability information in a post-processor using an error correction constraint
US8214719B1 (en) 2007-07-26 2012-07-03 Marvell International Ltd. Long latency protocol for hard disk controller interface
US8127209B1 (en) 2007-07-30 2012-02-28 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
TW200906073A (en) * 2007-07-31 2009-02-01 Univ Nat Chiao Tung Calculation method applied to Low Density Parity check Code (LDPC) decoder and circuit thereof
US8181083B2 (en) * 2007-08-27 2012-05-15 Stmicroelectronics S.R.L. Methods and architectures for layered decoding of LDPC codes with minimum latency
US8140948B2 (en) * 2007-09-24 2012-03-20 Nec Laboratories America, Inc. Efficient low complexity high throughput LDPC decoding method and optimization
JP2009100222A (ja) 2007-10-16 2009-05-07 Toshiba Corp 低密度パリティ検査符号の復号装置およびその方法
GB2455496B (en) * 2007-10-31 2012-05-30 Hewlett Packard Development Co Error detection method and apparatus
US8127216B2 (en) * 2007-11-19 2012-02-28 Seagate Technology Llc Reduced state soft output processing
US8219878B1 (en) * 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
US8020070B2 (en) * 2007-12-05 2011-09-13 Aquantia Corporation Trapping set decoding for transmission frames
US8156409B2 (en) * 2008-02-29 2012-04-10 Seagate Technology Llc Selectively applied hybrid min-sum approximation for constraint node updates of LDPC decoders
CN101242188B (zh) * 2008-03-10 2011-05-11 清华大学 基于哈密尔顿图的低密度奇偶校验码的纠错编码方法
US8161357B2 (en) * 2008-03-17 2012-04-17 Agere Systems Inc. Systems and methods for using intrinsic data for regenerating data from a defective medium
US8099645B2 (en) * 2008-04-11 2012-01-17 Nec Laboratories America, Inc. LDPC codes and stochastic decoding for optical transmission
US8245104B2 (en) * 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
KR20090126829A (ko) * 2008-06-05 2009-12-09 삼성전자주식회사 반복 복호 방법과 반복 복호 장치
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US20090319860A1 (en) * 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US7707237B2 (en) * 2008-08-01 2010-04-27 Infineon Technologies Ag Macrocell and method for adding
US20100037121A1 (en) * 2008-08-05 2010-02-11 The Hong Kong University Of Science And Technology Low power layered decoding for low density parity check decoders
US8392692B2 (en) * 2008-08-15 2013-03-05 Lsi Corporation Determining index values for bits of binary vector by processing masked sub-vector index values
US8103931B2 (en) * 2008-08-27 2012-01-24 Mitsubishi Electric Research Laboratories, Inc. Method for constructing large-girth quasi-cyclic low-density parity-check codes
JP2010062907A (ja) * 2008-09-04 2010-03-18 Toshiba Corp 復号装置および方法
US8301979B2 (en) * 2008-10-07 2012-10-30 Sandisk Il Ltd. Low density parity code (LDPC) decoding for memory with multiple log likelihood ratio (LLR) decoders
US8321771B1 (en) 2008-10-13 2012-11-27 Marvell International Ltd. Modified trace-back using soft output viterbi algorithm (SOVA)
US8161345B2 (en) 2008-10-29 2012-04-17 Agere Systems Inc. LDPC decoders using fixed and adjustable permutators
JP4516625B1 (ja) * 2009-08-11 2010-08-04 正幸 安部 電子装置
US8407550B2 (en) * 2009-08-14 2013-03-26 Mitsubishi Electric Research Laboratories, Inc. Method and system for decoding graph-based codes using message-passing with difference-map dynamics
JP5527176B2 (ja) * 2010-11-25 2014-06-18 ソニー株式会社 非水電解質電池
US8616345B2 (en) * 2011-06-24 2013-12-31 Goodrich Corporation Systems and methods for brake whirl mitigation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251384A (ja) * 2000-03-08 2001-09-14 Sanyo Electric Co Ltd 通信装置および通信方法
JP2005020505A (ja) * 2003-06-27 2005-01-20 Hitachi Kokusai Electric Inc 送信機
JP2012500513A (ja) * 2008-08-15 2012-01-05 エルエスアイ コーポレーション ニア・コードワードのromリスト復号

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6013018085; Enver Cavus et al.: 'A performance improvement and error floor avoidance technique for belief propagation decoding of LDP' Personal, Indoor and Mobile Radio Communications, 2005. PIMRC 2005. IEEE 16th International Symposiu Vol.4, 20050914, pp.2386-2390 *
JPN6013018088; Enver Cavus et al.: 'Low BER performance estimation of LDPC codes via application of importance sampling to trapping sets' Communications, IEEE Transactions on Vol.57, No.7, 200907, pp.1886-1888 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012500513A (ja) * 2008-08-15 2012-01-05 エルエスアイ コーポレーション ニア・コードワードのromリスト復号
JP2012525062A (ja) * 2009-04-21 2012-10-18 アギア システムズ インコーポレーテッド 書込み検証を使用した符号のエラーフロア軽減
JP2013243653A (ja) * 2012-05-17 2013-12-05 Lsi Corp シンボルの再グループ化による復号化処理のためのシステム及び方法
JP2014007724A (ja) * 2012-06-26 2014-01-16 Lsi Corp トラッピング・セットを破壊するための装置および方法

Also Published As

Publication number Publication date
US20100042904A1 (en) 2010-02-18
US8516330B2 (en) 2013-08-20
WO2010019168A1 (en) 2010-02-18
US20100042892A1 (en) 2010-02-18
EP2223431A4 (en) 2010-09-01
US8407567B2 (en) 2013-03-26
CN101803206A (zh) 2010-08-11
US20100042895A1 (en) 2010-02-18
US8683299B2 (en) 2014-03-25
US8312342B2 (en) 2012-11-13
US20100042902A1 (en) 2010-02-18
US8555129B2 (en) 2013-10-08
US20100042890A1 (en) 2010-02-18
CN101836191A (zh) 2010-09-15
US20110138253A1 (en) 2011-06-09
TWI442712B (zh) 2014-06-21
US8700976B2 (en) 2014-04-15
KR101418467B1 (ko) 2014-07-10
EP2321727A4 (en) 2013-11-13
KR101431479B1 (ko) 2014-08-20
TWI435211B (zh) 2014-04-21
JP2014027704A (ja) 2014-02-06
US8448039B2 (en) 2013-05-21
TWI508460B (zh) 2015-11-11
US20100042893A1 (en) 2010-02-18
EP2223431A1 (en) 2010-09-01
JP5363573B2 (ja) 2013-12-11
TW201011527A (en) 2010-03-16
US20100042891A1 (en) 2010-02-18
US8327235B2 (en) 2012-12-04
JP5276173B2 (ja) 2013-08-28
US8407553B2 (en) 2013-03-26
KR101418466B1 (ko) 2014-07-10
KR20110052530A (ko) 2011-05-18
CN101836191B (zh) 2014-01-22
US8495449B2 (en) 2013-07-23
US8245098B2 (en) 2012-08-14
US20100042905A1 (en) 2010-02-18
US20100042896A1 (en) 2010-02-18
EP2181504A1 (en) 2010-05-05
US20100042894A1 (en) 2010-02-18
US8316272B2 (en) 2012-11-20
US20100042906A1 (en) 2010-02-18
CN101803205B (zh) 2013-12-18
EP2181504A4 (en) 2010-07-28
US20110126075A1 (en) 2011-05-26
CN101803206B (zh) 2013-09-04
US20100241921A1 (en) 2010-09-23
KR20110044939A (ko) 2011-05-03
TW201008134A (en) 2010-02-16
US8468429B2 (en) 2013-06-18
CN101803205A (zh) 2010-08-11
EP2321727A1 (en) 2011-05-18
WO2010019287A1 (en) 2010-02-18
US8607115B2 (en) 2013-12-10
US20100042903A1 (en) 2010-02-18
TW201010294A (en) 2010-03-01
US20100042898A1 (en) 2010-02-18
WO2010019169A1 (en) 2010-02-18
US8464129B2 (en) 2013-06-11
JP2012500513A (ja) 2012-01-05
US20100042897A1 (en) 2010-02-18
KR20110052529A (ko) 2011-05-18
US8464128B2 (en) 2013-06-11
US8307253B2 (en) 2012-11-06
JP2012500514A (ja) 2012-01-05

Similar Documents

Publication Publication Date Title
JP5363573B2 (ja) ニア・コードワードのramリスト復号
TWI411912B (zh) 使用寫入驗證之代碼之錯誤底限減緩
TWI594583B (zh) 硬決定輸入之一般化低密度同位檢查軟解碼
JP5670411B2 (ja) トラッピング・セットを破壊するための装置および方法
JP6522889B2 (ja) 符号のワードの拡大スペクトル解析による、訂正符号、例えばターボ符号の復号法
US11641213B2 (en) Log-likelihood ratio mapping tables in flash storage systems
CN113037299A (zh) 基于迭代译码的ldpc码稀疏校验矩阵重建方法和装置
JP4910708B2 (ja) 復号装置および復号方法
JP5130715B2 (ja) データソート装置およびデータソート方法
JP2008140336A (ja) 行列対角化方法、行列対角化装置、復号装置、およびプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111212

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130718

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: 20130808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130905

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees