(57)【要約】      （修正有）【課題】ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器においてデータを復号化する方法及び装置を提供する。【解決手段】装置３００が、対数領域において変数ノードメッセージ及びチェックノードメッセージを処理するように動作可能なメッセージ処理回路と、実領域において高速フーリエ変換に基づくチェックノード計算を実行するように動作可能な、低密度パリティチェック復号化器内のチェックノード計算回路とを備える。メッセージ処理回路及びチェックノード計算回路は反復的な層復号化を実行する。【選択図】図３
2013141204.tif 000002
【特許請求の範囲】
【請求項１】
低密度パリティチェック符号化されたデータを復号化する装置であって、
対数領域において変数ノードメッセージ及びチェックノードメッセージを処理するように動作可能な、低密度パリティチェック復号化器内のメッセージ処理回路と、
実領域において高速フーリエ変換に基づくチェックノード計算を実行するように動作可能な、該低密度パリティチェック復号化器内のチェックノード計算回路とを備え、該メッセージ処理回路及び該チェックノード計算回路は反復的な層復号化を実行するように動作可能である、低密度パリティチェック符号化されたデータを復号化する装置。
【請求項２】
メッセージ処理回路は、
該対数領域において、接続された層の変数ノード値を該接続された層のチェックノード値に加算し、該接続された層のガロア体における各シンボルの軟対数尤度比値を生成するように動作可能な総和回路と、
該軟対数尤度比値を、現在の層と、該接続された層との差だけシフトし、該現在の層の合計の軟対数尤度比値を生成するように動作可能なシフト器と、
該対数領域において、該現在の層の該合計の軟対数尤度比値から該現在の層のチェックノード値を減算し、該現在の層の変数ノード値を生成するように動作可能な減算回路と、
を備える、請求項１に記載の装置。
【請求項３】
チェックノード計算回路は、
該実領域において、現在の層の変数ノード値に対し高速フーリエ変換を実行するように動作可能な高速フーリエ変換回路と、
該高速フーリエ変換回路からの出力値の絶対値を提供するように動作可能な絶対値計算回路と、
該高速フーリエ変換回路からの該出力値の正負符号を提供するように動作可能な正負符号計算回路と、
該絶対値及び該正負符号を格納するように動作可能なチェックノードメモリと、
を備える、請求項１に記載の装置。
【請求項４】
チェックノード計算回路は、接続された層の該絶対値の指数値を計算し、該正負符号を対応する指数値に適用するように動作可能な指数計算回路を更に備える、請求項３に記載の装置。
【請求項５】
チェックノード計算回路は、該指数計算回路の出力に対し逆高速フーリエ変換を実行し、該実領域における該接続された層のチェックノード値を生成するように動作可能な逆高速フーリエ変換回路を更に備える、請求項４に記載の装置。
【請求項６】
チェックノード計算回路は、該接続された層の該チェックノード値を、該実領域から該対数領域に変換する変換回路を更に備える、請求項５に記載の装置。
【請求項７】
チェックノード計算回路は、該現在の層の該絶対値の指数値を計算し、該正負符号を対応する指数値に適用するように動作可能な指数計算回路を更に備える、請求項３に記載の装置。
【請求項８】
チェックノード計算回路は、該指数計算回路の出力に対し逆高速フーリエ変換を実行し、該実領域における該現在の層のチェックノード値を生成するように動作可能な逆高速フーリエ変換回路を更に備える、請求項７に記載の装置。
【請求項９】
チェックノード計算回路は、該現在の層の該チェックノード値を、該実領域から該対数領域に変換する変換回路を更に備える、請求項８に記載の装置。
【請求項１０】
現在の層の変数ノード値を、該対数領域から該実領域に変換するように動作可能な第１の変換回路を更に備える、請求項１に記載の装置。
【請求項１１】
メッセージ処理回路及び該チェックノード計算回路は集積回路として実装される、請求項１に記載の装置。
【請求項１２】
装置はストレージデバイス内に組み込まれる、請求項１に記載の装置。
【請求項１３】
装置は独立ディスク冗長アレイを含むストレージシステム内に組み込まれる、請求項１に記載の装置。
【請求項１４】
装置はデータ送信デバイス内に組み込まれる、請求項１に記載の装置。
【請求項１５】
混合領域低密度パリティチェック復号化器においてデータを復号化する方法であって、
対数領域において、該混合領域低密度パリティチェック復号化器において変数ノードメッセージ及びチェックノードメッセージを処理することと、
該変数ノードメッセージを該対数領域から実領域に変換することと、
該実領域において高速フーリエ変換に基づくチェックノード計算を実行することであって、実領域チェックノードメッセージを生成する、実行することと、なお、該処理すること及び該チェックノード計算は反復的な層復号化を含み、
該実領域チェックノードメッセージを該実領域から該対数領域に変換することと、
を含む、混合領域低密度パリティチェック復号化器においてデータを復号化する方法。
【請求項１６】
対数領域において該処理することは、
該対数領域において、接続された層の変数ノード値を該接続された層のチェックノード値に加算することであって、該接続された層のガロア体における各シンボルの軟対数尤度比値を生成する、加算することと、
該軟対数尤度比値を、現在の層と、該接続された層との差だけシフトすることであって、該現在の層の合計の軟対数尤度比値を生成する、シフトすることと、
該対数領域において、該現在の層の該合計の軟対数尤度比値から該現在の層のチェックノード値を減算することであって、該現在の層の変数ノード値を生成する、減算することと、
を含む、請求項１５に記載の方法。
【請求項１７】
チェックノード計算は、該実領域において高速フーリエ変換を用いて変数ノード値に対しチェックノード計算を実行することであって、該実領域における接続された層のチェックノード値と、該実領域における現在の層のチェックノード値を生成する、実行することを含み、該実領域チェックノードメッセージを変換することは、該接続された層の該チェックノード値と、該現在の層の該チェックノード値とを変換することを含む、請求項１５に記載の方法。
【請求項１８】
ストレージシステムであって、
データセットを維持するストレージ媒体と、
該データセットを該ストレージ媒体に磁気的に記録するように動作可能な書込みヘッドと、
階層になった復号化を実行するように動作可能な混合領域低密度パリティチェック復号化器であって、
対数領域において変数ノードメッセージ及びチェックノードメッセージを処理するように動作可能なメッセージ処理回路と、
実領域において高速フーリエ変換に基づくチェックノード計算を実行するように動作可能なチェックノード計算回路と、
を備える、混合領域低密度パリティチェック復号化器と、
を備える、ストレージシステム。
【請求項１９】
メッセージ処理回路は、
該対数領域において、接続された層の変数ノード値を該接続された層のチェックノード値に加算し、該接続された層のガロア体における各シンボルの軟対数尤度比値を生成するように動作可能な総和回路と、
該軟対数尤度比値を、現在の層と、該接続された層との差だけシフトし、該現在の層の合計の軟対数尤度比値を生成するように動作可能なシフト器と、
該対数領域において、該現在の層の該合計の軟対数尤度比値から該現在の層のチェックノード値を減算し、該現在の層の変数ノード値を生成するように動作可能な減算回路と、
を備える、請求項１８に記載のストレージシステム。
【請求項２０】
チェックノード計算回路は、
該実領域において、現在の層の変数ノード値に対し高速フーリエ変換を実行するように動作可能な高速フーリエ変換回路と、
該高速フーリエ変換回路からの出力値の絶対値を提供するように動作可能な絶対値計算回路と、
該高速フーリエ変換回路からの該出力値の正負符号を提供するように動作可能な正負符号計算回路と、
該絶対値及び該正負符号を格納するように動作可能なチェックノードメモリと、
を備える、請求項１８に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器に関する。
【背景技術】
【０００２】
ストレージシステム、携帯電話システム、及び無線送信システムを含む、様々なデータ転送システムが開発されている。それらのシステムのそれぞれにおいて、データが何らかの媒体を介して送信機から受信機に転送される。例えば、ストレージシステムでは、データは、送信機（すなわち書込み機能）から、ストレージ媒体を介して受信機（すなわち読取り機能）に送信される。情報はデジタルデータの形態で格納及び送信されるので、誤りが生じ、この誤りは、訂正されない場合、データを破損し情報を使用不可能にする可能性がある。任意の転送の有効性は、様々な要因によって生じる、データ内の任意の損失によって影響される。デジタルデータ内の誤りを検出し補正するために、多くのタイプの誤り検査システムが開発されている。例えば、おそらく最も単純なシステムでは、パリティビットをデータビット群に付加し、データビット群（パリティビットを含む）が偶数個又は奇数個の１を有することを確保することができる。奇数パリティを用いる場合、ストレージ又は送信のためにデータが準備されると、群内の１にセットされたデータビット数がカウントされ、群内に偶数個の１が存在する場合、群が奇数個の１を有することを確保するために、パリティビットは１にセットされる。群内に奇数個の１が存在する場合、群が奇数個の１を有することを確保するために、パリティビットはゼロにセットされる。データがストレージから検索されるか又は送信により受信された後、パリティを再びチェックすることができ、群が偶数のパリティを有する場合、少なくとも１つの誤りがデータ内に生じている。この過度に単純化したレベルでは、幾つかの誤りを検出することができるが、訂正することはできない。
【０００３】
パリティビットは、ＬＤＰＣ復号化器を含む誤り訂正システムにおいても用いることができる。図１に示すように、ＬＤＰＣ符号は、タナーグラフ１００において視覚的に表すことができる、パリティに基づく符号である。ＬＤＰＣ復号化器において、変数ノード１１０、１１２、１１４、１１６、１１８、１２０、１２２、及び１２４の群の複数のチェックノード１０２、１０４、１０６、及び１０８において複数のパリティチェックが実行される。ＬＤＰＣ符号が設計されるとき、データが取得されるときにＬＤＰＣ符号を実行するのに必要とされる復号化器の複雑度に対する符号の強度のバランスを取りながら、変数ノード１１０〜１２４とチェックノード１０２〜１０８との間の接続（すなわちエッジ）が選択される。群内のパリティビットの数及び配置は、ＬＤＰＣ符号が設計されるときに選択される。接続された変数ノード１１０〜１２４とチェックノード１０２〜１０８との間で反復プロセスにおいてメッセージが渡される。このメッセージは、変数ノード１１０〜１２４において現れるはずの値に関する確信度を接続されたチェックノード１０２〜１０８に渡す。チェックノード１０２〜１０８において、メッセージに基づいてパリティチェックが実行され、結果が接続された変数ノード１１０〜１２４に返されて、必要な場合、確信度が更新される。ＬＤＰＣ復号化器は、バイナリ形式で実装することもできるし、非バイナリ形式で実装することもできる。バイナリＬＤＰＣ復号化器において、変数ノード１１０〜１２４は、ストレージデバイスから検索されるか、送信システムによって受信されるか、又は何らかの他の方法で得られたデータビット及びパリティビットの群に基づくスカラー値を含む。バイナリＬＤＰＣ復号化器内のメッセージは、送信している変数ノードが特定の値を含む確率を表す単純尤度確率値又は対数尤度比（ＬＬＲ）値として送信されるスカラー値である。非バイナリＬＤＰＣ復号化器では、変数ノード１１０〜１２４は、ガロア体からのシンボル、すなわち、サイズｐｋによって特徴付けられる有限数の要素を含む有限体ＧＦ（ｐｋ）からのシンボルを含む。ここで、ｐは素数であり、ｋは正の整数である。非バイナリＬＤＰＣ復号化器内のメッセージは多次元ベクトルであり、通常、単純尤度確率ベクトル又はＬＬＲベクトルのいずれかである。
変数ノード１１０〜１２４とチェックノード１０２〜１０８との間の接続は、以下のように行列形式で与えることができる。ここで、列は変数ノードを表し、行はチェックノードを表し、変数ノード列とチェックノード行との交点におけるガロア体からのランダムな非ゼロ要素ａ（ｉ，ｊ）は、変数ノードとチェックノードとの間の接続を示し、変数ノードとチェックノードとの間のメッセージの置換を提供する。
【数１】
2013141204.tif 000003
【０００４】
変数ノード１１０〜１２４の群に複数のチェックノード１０２〜１０８を提供することによって、誤り検査における冗長性が与えられ、誤りを検出するのみでなく訂正することが可能になる。各チェックノード１０２〜１０８は、そのチェックノードの近傍の（すなわち接続された）変数ノードからのメッセージとして渡されたビット又はシンボルに対しパリティチェックを実行する。ＬＤＰＣ符号が図１のタナーグラフ１００に対応する例では、チェックノード１０２は、変数ノード１１０、１１６、１２０、及び１２２のパリティをチェックする。ＬＤＰＣ符号が、変数ノード１１０〜１２４におけるデータビット及びパリティビットの群の値に収束するまで、反復プロセスにおいて、接続された変数ノード１１０〜１２４とチェックノード１０２〜１０８との間で値が行き来する。例えば、変数ノード１１０はチェックノード１０２及び１０６にメッセージを渡す。チェックノード１０２は、変数ノード１１０、１１６、１２０、及び１２２にメッセージを返す。変数ノード１１０〜１２４とチェックノード１０２〜１０８との間のメッセージは、確率又は確信度であり、このため、ＬＤＰＣ復号化アルゴリズムは確率伝搬アルゴリズムとも呼ばれる。ノードからの各メッセージは、ノードの現在の値及びノードに対する以前のメッセージに基づいて、ビット又はシンボルが或る特定の値を有する確率を表す。
【０００５】
変数ノードから任意の特定の近傍のチェックノードへのメッセージが、変数ノードの現在の値と、近傍のチェックノードから変数ノードへの最新のメッセージとに基づいて、複数のアルゴリズムのうちの任意のものを用いて計算される。ただし、その特定のチェックノードからの最新のメッセージは、正のフィードバックを防ぐために計算から省かれる。同様に、チェックノードから任意の特定の近傍の変数ノードへのメッセージが、チェックノードの現在の値と、近傍の変数ノードからチェックノードへの最新のメッセージとに基づいて計算される。ただし、その特定の変数ノードからの最新のメッセージは、正のフィードバックを防ぐために計算から省かれる。反復がシステム内で実行されると、ノード１０２〜１２４における値が収束し変化を止めるまで、又は処理が停止するまで、変数ノード１１０〜１２４とチェックノード１０２〜１０８との間でメッセージが行き来し、渡されたメッセージに基づいてノード１０２〜１２４における値が調整される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
より効率的で正確なＬＤＰＣ復号化器が依然として必要とされている。 
【課題を解決するための手段】
【０００７】
本発明の様々な実施形態は、データを復号化する方法及び装置に関し、より詳細には、ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器においてデータを復号化する方法及び装置に関する。例えば、一実施の形態では、装置が、対数領域において変数ノードメッセージ及びチェックノードメッセージを処理するように動作可能なメッセージ処理回路と、実領域において高速フーリエ変換に基づくチェックノード計算を実行するように動作可能な、低密度パリティチェック復号化器内のチェックノード計算回路とを備える。メッセージ処理回路及びチェックノード計算回路は反復的な層復号化を実行する。幾つかの実施の形態では、メッセージ処理回路は、接続された層の変数ノード値を接続された層のチェックノード値に加算し、接続された層のガロア体における各シンボルの軟対数尤度比値を生成する総和回路を備える。また、メッセージ処理回路は、軟対数尤度比値を、現在の層と、接続された層との差だけシフトし、現在の層の合計の軟対数尤度比値を生成するシフト器と、現在の層の合計の軟対数尤度比値から現在の層のチェックノード値を減算し、現在の層の変数ノード値を生成する減算回路と、を備える。変換回路は、現在の層の変数ノード値を、対数領域から実数領域又は確率領域に変換する場合もある。幾つかの実施の形態では、チェックノード計算回路は、実領域において、現在の層の変数ノード値に対し動作するＦＦＴ回路と、ＦＦＴ回路の出力の正負符号及び絶対値を求めるように動作可能な絶対値及び正負符号計算回路と、絶対値及び正負符号を格納するチェックノードメモリとを備える。幾つかの実施の形態は、絶対値の指数値を計算し、正負符号を対応する指数値に適用する指数計算回路を用いて、チェックノードメモリ内の値に基づいて、接続された層のチェックノード値及び現在の層のチェックノード値を計算する。結果は逆高速フーリエ変換回路において処理され、実領域から対数領域に変換される。
【０００８】
この概要は、本発明による幾つかの実施の形態の概略のみを提供するものである。本発明の多くの他の目的、特徴、利点、及び他の実施の形態は、以下の詳細な説明、添付の特許請求の範囲、及び添付の図面からより完全に明らかとなるであろう。
【０００９】
図を参照することにより、本発明の様々な実施の形態の更なる理解を実現することができ、これらの実施の形態については明細書の残りの部分で説明する。図において、同様の参照符号が幾つかの図面の全てにわたって類似の構成要素を指すのに用いられる場合がある。図において、同様の参照符号が幾つかの図の全てにわたって類似の構成要素を指すのに用いられる。幾つかの例では、下付き文字からなるサブラベルが、複数の類似の構成要素のうちの１つを表すように参照符号に関連付けられる。存在するサブレベルを指定することなく参照符号が参照されるとき、そのような複数の類似の構成要素全てを指すことが意図される。
【図面の簡単な説明】
【００１０】
【図１】従来技術による例示的なＬＤＰＣ符号のタナーグラフを示す図である。
【図２】本発明の様々な実施形態に従って格納又は送信されたデータを検索又は受信するのに用いることができる読取りチャネルのブロック図である。
【図３】本発明の様々な実施形態による、ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器を示す図である。
【図４】本発明の様々な実施形態によるＦＦＴ計算を示す蝶形図である。
【図５】本発明の様々な実施形態による、ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器においてデータを復号化する方法を示す流れ図である。
【図６】本発明の幾つかの実施形態による、ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器を含むストレージシステムを示す図である。
【図７】本発明の幾つかの実施形態による、ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器を含む仮想ストレージシステムを示す図である。
【図８】本発明の幾つかの実施形態による、ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器を含む例示的なデータ送信デバイスを示す図である。
【発明を実施するための形態】
【００１１】
本発明の様々な実施形態は、データを復号化する方法及び装置に関し、より詳細には、混合高速フーリエ変換（ＦＦＴ）に基づく非バイナリＬＤＰＣ復号化器においてデータを復号化する方法及び装置に関する。混合領域ＬＤＰＣ復号化器は、復号化動作のうちの幾つかは対数領域において実行し、幾つかは確率領域において実行し、それによって、純粋な確率伝搬（ＢＰ）復号化器又はＦＦＴ復号化器において固有である場合がある不利な点のうちの幾つかを回避しながら、非バイナリＬＤＰＣ符号のＢＰ復号化及びＦＦＴに基づく復号化の双方の利益のうちの幾つかを達成する。例えば、混合領域ＬＤＰＣ復号化器は、メッセージを処理するのに乗算及び除算ではなく加算及び減算を用いて、変数ノードメッセージ及びチェックノードメッセージを対数領域で扱うことの安定性及び単純性、並びに対数領域において機能する際に有限精度に対する影響の受けやすさが低減されることから、利益を受ける。確率について確率領域ＦＦＴ計算を用いることによって、混合領域ＬＤＰＣ復号化器の複雑度は、ＢＰ復号化器でのようなＮｔ（２Ｐ）２からＮｔ（２Ｐ）Ｐにまで低減される。ここでＮは符号長であり、ｔは列の平均重みであり、Ｐはガロア体ＧＦ（２Ｐ）の次元を定義する。ＦＦＴ計算は、加算及び減算を用いたｐ次元２点計算である。最小最大復号化等の他の複雑度が低減されたアルゴリズムと比較して、混合領域ＬＤＰＣ復号化器は、近似を用いないＦＦＴ計算により、優れた誤り性能も達成する。混合領域ＬＤＰＣ復号化器は、ＦＦＴ計算を確率領域で実行し、変数ノードメッセージ及びチェックノードメッセージを対数領域において扱うことによって、比較的単純で安定したハードウェアを用いて優れた誤り性能を提供する。
【００１２】
混合領域ＬＤＰＣ復号化器は、巡回部分行列のアレイ、すなわち、恒等行列を循環シフトしたもの及び異なる循環シフトを有するヌル行列を有する正則又は非正則いずれかのパリティチェックＨ行列を用いて準循環ＬＤＰＣ符号を復号化する。Ｈ行列は、例えば以下の形式を有する有限ガロア体ＧＦ（２Ｐ）に基づいて構築される。
【数２】
2013141204.tif 000004
【００１３】
本明細書において開示される混合領域ＬＤＰＣ復号化器は、いかなる特定の応用形態にも限定されないが、本発明の実施形態から利益を受ける応用形態の幾つかの例を本明細書において提示する。図２を参照すると、アナログ信号２０２を処理し、アナログ信号２０２から誤りのないユーザデータビットを検索するのに、読取りチャネル２００が用いられる。幾つかの場合、アナログ信号２０２は、磁気ストレージ媒体において読取り／書込みヘッドアセンブリから取り出される。他の場合、アナログ信号２０２は、送信媒体から信号を受信するように動作可能な受信機回路から取り出される。送信媒体は、無線とすることもできるし、限定ではないが、ケーブル又は光接続等の有線接続とすることもできる。本明細書において提供される開示に基づいて、当業者であれば、アナログ信号２０２を取り出すことができる種々のソースを認識するであろう。
【００１４】
読取りチャネル２００は、アナログ信号２０２を受信し処理するアナログフロントエンド２０４を含む。アナログフロントエンド２０４には、限定ではないが、当該技術分野において既知のアナログフィルター及び増幅器回路を含めることができる。本明細書において提供される開示に基づいて、当業者であれば、アナログフロントエンド２０４の一部分として含むことができる種々の回路部を認識するであろう。幾つかの場合、アナログフロントエンド２０４の一部として含まれる可変利得増幅器の利得は変更可能とすることができ、アナログフロントエンド２０４に含まれるアナログフィルターのカットオフ周波数及びブーストは変更可能とすることができる。アナログフロントエンド２０４は、アナログ信号２０２を受信して処理し、処理されたアナログ信号２０６をアナログ／デジタル変換器２１０に提供する。
【００１５】
アナログ／デジタル変換器２１０は処理されたアナログ信号２０６を対応する一連のデジタルサンプル２１２に変換する。アナログ／デジタル変換器２１０は、アナログ入力信号に対応するデジタルサンプルを生成することが可能な当該技術分野において既知の任意の回路とすることができる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる種々のアナログ／デジタル変換器を認識するであろう。デジタルサンプル２１２が等化器２１４に提供される。等化器２１４はデジタルサンプル２１２に等化アルゴリズムを適用して、等化出力２１６を生成する。本発明の幾つかの実施形態では、等化器２１４は当該技術分野において既知のデジタル有限インパルス応答フィルター回路である。データ検出器２２０が処理に利用可能になるまで、等化出力２１６に含まれるデータ又は符号語をバッファー２１８内に格納することができる。
【００１６】
データ検出器２２０は、受信した入力に対しデータ検出プロセスを実行し、その結果、検出された出力２２２が生成される。本発明の幾つかの実施形態では、データ検出器２２０はビタビアルゴリズムデータ検出器回路、又はより詳細には、幾つかの場合、当該技術分野において既知の最大事後（ＭＡＰ）データ検出器回路である。これらの実施形態では、検出された出力２２２は、各ビット又は各シンボルが特定の値を有する尤度に関する対数尤度比（ＬＬＲ）情報を含む。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態との関連で用いることができる種々のデータ検出器を認識するであろう。データ検出器２２０は、等化器２１４又は別のソースからの、バッファー２１８内のデータセットの利用可能性に基づいて開始される。データ検出器２２０は、軟データを含む検出された出力２２２を生成する。本明細書において用いられるとき、フレーズ「軟データ」は、信頼度データを意味するように最も広い意味で用いられ、信頼度データの各インスタンスは、対応するビット位置又はビット位置の群が正しく検出されている尤度を示す。本発明の幾つかの実施形態では、軟データ又は信頼度データは当該技術分野において既知の対数尤度比データである。
【００１７】
データ検出器２２０からの検出された出力２２２は、バースト誤りに対しデータを保護するインターリーバー２２４に提供される。バースト誤りは、ビットの局所的な群又は集まりを上書きする。ＬＤＰＣ復号化器は、より一様分布した誤りを訂正するのに最も適しているので、バースト誤りはＬＤＰＣ復号化器では対処できない場合がある。インターリーバー２２４は、データ検出器２２０からの検出された出力２２２をインターリーブ又はシャッフルして、メモリ２３０に格納されるインターリーブされた出力２２６を生成することによってこれを防ぐ。インターリーバー２２４は、データセットをシャッフルして再配列されたデータセットを生成することが可能な、当該技術分野において既知の任意の回路とすることができる。メモリ２３０からのインターリーブされた出力２２６は、混合領域ＬＤＰＣ復号化器２３２に提供され、混合領域ＬＤＰＣ復号化器２３２はインターリーブされた出力２２６に対しパリティチェックを実行し、格納若しくは送信中、又は読取りチャネル２００の他の構成要素による処理中にデータ内に生じた可能性があるいかなる誤りも検出し訂正するために、格納又は送信前にＬＤＰＣ符号化器（図示せず）によって確立されたパリティ制約が満たされることを確保する。
【００１８】
読取りチャネル２００において、検出及び復号化の複数の反復を実行することができる。この反復は、本明細書において大域反復と呼ばれる（対照的に、局所反復は、混合領域ＬＤＰＣ復号化器２３２内で実行される復号化反復である）。大域反復を実行するために、混合領域ＬＤＰＣ復号化器２３２からのＬＬＲ値２３４がメモリ２３０内に格納され、デインターリーバー２３６においてデインターリーブされて、インターリーバー２２４によって適用されたプロセスが逆にされ、再びデータ検出器２２０に提供され、データ検出器２２０が、混合領域ＬＤＰＣ復号化器２３２からのＬＬＲ値２３４を利用してデータ検出プロセスを繰り返すことが可能になる。この方式において、読取りチャネル２００は複数の大域反復を実行することができ、データ検出器２２０及び混合領域ＬＤＰＣ復号化器２３２が正しいデータ値に収束することが可能になる。
【００１９】
混合領域ＬＤＰＣ復号化器２３２は、インターリーバー２２４のインターリーブされた出力２２６内に含まれるデータビット又はシンボルの値に関する硬判定２４０も生成する。バイナリデータビットの場合、硬判定は、複数の０及び１として表すことができる。非バイナリシンボル又はマルチレベルシンボルの場合、ＧＦ（８）ＬＤＰＣ復号化器では、硬判定はフィールド要素０００、００１、０１０．．．１１１によって表すことができる。
【００２０】
混合領域ＬＤＰＣ復号化器２３２からの硬判定２４０は、硬判定デインターリーバー２４２においてデインターリーブされ、インターリーバー２２４において適用されたプロセスが逆にされ、ユーザーに提供されるか又は更に処理される前に硬判定メモリ２４４内に格納される。例えば、読取りチャネル２００の出力２４６は、データを磁気ストレージ媒体に格納するか又はデータを送信チャネルにわたって送信する前に適用された変更を逆フォーマットするように更に処理することができる。
【００２１】
次に、図３に進むと、本発明の様々な実施形態によるＦＦＴに基づく混合領域非バイナリＬＤＰＣ層復号化器３００の一例が開示されている。混合モードＬＤＰＣ復号化器３００は、Ｈ行列の巡回部分行列を層ごとに処理し、反復プロセスにおいて、前の層又は接続された層からの値を、現在の層の値と結合し、対応するビット位置又はビット位置群がＧＦ（２Ｐ）の要素ごとに特定の値を有して正しく検出された尤度を示す軟ＬＬＲ出力Ｐ値を更新する。
【００２２】
混合モードのＬＤＰＣ復号化器３００は、入力３０４からの軟ＬＬＲ入力値、Ｑ値、及び軟ＬＬＲ出力Ｐ値を格納する復号化器メモリ３０２を備える。復号化器メモリ３０２は、複数のバンクを有するピンポンメモリである。総和回路３０６は、接続された層の変数ノード値（復号化器メモリ３０２からのＱ値３１０、又は最初の局所反復では入力３０４からの軟ＬＬＲ入力値）を、１つの巡回行列の各シンボルの接続された層のチェックノード（接続された層のＲ値３１２）とそれぞれ加算して、接続された層の各シンボルの軟ＬＬＲ値３１４を得る。幾つかの実施形態では、総和回路３０６は、各要素の接続された層のＱ値をその要素の接続された層のＲ値に加算し、シンボル内のＧＦ（２Ｐ）の各要素の軟ＬＬＲ値を取得する加算器をＧＦ（２Ｐ）の要素ごとに備える。ＧＦ（８）混合モードＬＤＰＣ復号化器３００の場合、シンボルはＧＦ（８）の８個の要素のうちの任意のものの値を有することができ、総和回路３０６は、シンボルのＧＦ（８）の各要素を表す８個の軟ＬＬＲ値を生成する８個の加算器を備える。幾つかの実施形態では、総和回路３０６は、式１に従って変数ノード更新を実行する。
式１
【数３】
2013141204.tif 000005
ここで、
【数４】
2013141204.tif 000006
は、次数ｄｖの変数ノードに入る一組のメッセージである。例えば、３つのチェックノードが変数ノードに接続され、Ｈ行列の列内に３つの非ゼロ要素がある場合、変数ノードの次数ｄｖは３である。このため、
【数５】
2013141204.tif 000007
は、行ｐ内の１．．．ｄｖ組の非ゼロのＶ個のメッセージである。Ｌはチャネル尤度、すなわち入力３０４における初期チャネルＬＬＲ値である。
【数６】
2013141204.tif 000008
はこの変数ノードの一組の出力メッセージである。
【数７】
2013141204.tif 000009
は次数ｄｃのチェックノードの一組の入力メッセージである。
【数８】
2013141204.tif 000010
は次数ｄｃのチェックノードの一組の出力メッセージである。
【００２３】
総和回路３０６からの軟ＬＬＲ値３１４は、正規化回路３１６に提供され、正規化回路３１６は、軟ＬＬＲ値３１４のそれぞれを比較して最小値及び硬判定を特定し、シンボルごとに、残りの軟ＬＬＲ値からその最小値を減算し、それによって軟ＬＬＲ値３１４をそれらの最小値に正規化し、正規化された変数ノード値３１８を生成する。
【００２４】
正規化された変数ノード値３１８は再配列器３２０に提供され、再配列器３２０は、チェックノード更新の準備をするために、正規化された変数ノード値３１８を再配列し、Ｈ行列の非ゼロ要素によって指定される置換を適用する。置換はガロア体における乗算である。例えば、ＧＦの要素２に要素１、２、３、４、５、６、及び７を乗算した結果、要素２、３、４、５、６、７、及び１となり、これは要素１、２、３、４、５、６、及び７の置換である。幾つかの実施形態では、再配列器３２０は、式２に従って置換を適用する。
式２
【数９】
2013141204.tif 000011
ここで、Ｐｈ（ｘ）はＨ行列によって指定される置換である。
【００２５】
再配列器３２０からの再配列された変数ノード値３２２は、シフト器３２４に提供され、シフト器３２４は、再配列された変数ノード値３２２を、現在の層と接続された層との間の差だけシフトし、再配列された変数ノード値３２２を、Ｈ行列に関して列順から行順に効率的に変換する。シフト器３２４は、再配列された変数ノード値３２２内のシンボル値をシフトし、次の巡回部分行列を生成し、現在の層の合計の軟ＬＬＲ値を含む現在の層のＰ値３２６を生成する、循環シフト器又はバレルシフターである。
【００２６】
現在の層のＰ値３２６は減算回路３２８に提供され、減算回路３２８は、現在の層のＰ値３２６から、現在の層のチェックノード値、又は現在の層のシンボルのＲ値３３０を減算し、現在の層のシンボルの更新された変数ノード値又は現在の層のＱ値３３２を生成する。
【００２７】
マルチプレクサー３３４は、復号化器メモリ３０２に現在の層の軟ＬＬＲ  Ｐ値３２６及び現在の層のＱ値３３２を格納することを可能にする。本明細書において提供される開示に基づいて、当業者であれば、現在の層のＰ値３２６及び現在の層のＱ値３３２を復号化器メモリ３０２内に格納することができるマルチプレクサー３３４又はマルチポートメモリの使用等の種々の方法を認識するであろう。
【００２８】
チェックノードメッセージを計算する前に、チェックノード更新におけるＦＦＴ処理の準備をするために、変換回路３３６において現在の層のＱ値３３２が対数領域から実領域又は確率領域に変換される。変換回路３３６は指数関数ｅｘを入力ｘに適用する。ここで、現在の層のＱ値３３２は入力ｘである。変換回路３３６は、確率領域のＱ値３３８をＦＦＴ回路３４０に提供し、チェックノード計算を実行する。ＦＦＴ回路３４０は確率領域Ｑ値３３８に対しＦＦＴ演算を実行し、ＦＦＴ出力３４２を生成する。
【００２９】
幾つかの実施形態では、ＦＦＴ回路３４０はＧＦ（８）にわたる非バイナリＬＤＰＣ符号の３次元２点ＦＦＴである。ＦＦＴ回路３４０によって実行される計算の一例が図４の図に示されている。シンボルのＧＦ（８）における８つの要素４００のそれぞれが、加算演算及び減算演算において対で結合される。例えば、要素４０２及び４０４を加算して要素４０６が生成され、減算して要素４０８が生成される。対は各段階において変化する。第２段階において、要素４０６及び４１０を加算して要素４１２が生成され、減算して要素４１４が生成される。第３段階において、要素４１２及び４１６を加算して要素４１８が生成され、減算して要素４２０が生成される。
【００３０】
図３に戻ると、ＦＦＴ出力３４２が絶対値／正負符号回路３４４に提供され、絶対値／正負符号回路３４４はＦＦＴ出力３４２の絶対値及び正負符号３４６を生成し、これらはチェックノードメモリ３５０に格納される。チェックノードメモリ３５０は、Ｈ行列内の各非ゼロ要素の（確率領域における）ＬＬＲ値又は確率値を格納する。絶対値／正負符号回路３４４は、単一の回路に結合することもできるし、絶対値計算回路と正負符号計算回路とを備えることもできる。前の層の絶対値及び正負符号３４６はチェックノードメモリ３５０から検索され、乗算器３５２に提供される。乗算器３５２は、ＦＦＴ出力３４２の絶対値の指数関数ｅｘに、ＦＦＴ出力３４２の正負符号を乗算する。乗算器３５２の出力３５４は逆ＦＦＴ回路３５６に提供され、逆ＦＦＴ回路３５６はＦＦＴ回路３４０に対する逆演算を実行する。幾つかの実施形態では、逆ＦＦＴ回路３５６はＧＦ（８）にわたる非バイナリＬＤＰＣ符号の３次元２点逆ＦＦＴ（ＩＦＦＴ）である。逆ＦＦＴ回路３５６は、変換回路３６０に対し、確率領域における接続された層のＲ値３５８を生成し、変換回路３６０は、ｌｏｇ（ｘ）関数を適用することによって、接続された層のＲ値３５８を確率領域から対数領域に変換し、対数領域における接続された層のＲ値３１２を生成する。
【００３１】
現在の層の絶対値及び正負符号３４６は、チェックノードメモリ３５０から取り出され、乗算器３６２に与えられる。乗算器３６２は、ＦＦＴ出力３４２の絶対値の指数関数ｅｘに、ＦＦＴ出力３４２の正負符号を乗算する。乗算器３６２の出力３６４はＩＦＦＴ回路３６６に提供され、ＩＦＦＴ回路は、ＦＦＴ回路３４０に対する逆演算を実行する。幾つかの実施形態では、逆ＦＦＴ回路３６６はＧＦ（８）にわたる非バイナリＬＤＰＣ符号の３次元２点逆ＦＦＴ（ＩＦＦＴ）である。ＩＦＦＴ回路３６６は、変換回路３７０に対し、確率領域における現在の層のＲ値３６８を生成し、変換回路３７０は、ｌｏｇ（ｘ）関数を適用することによって、現在の層のＲ値３６８を確率領域から対数領域に変換し、対数領域における現在の層のＲ値３３０を生成する。ＦＦＴ回路３４０、絶対値／正負符号回路３４４、チェックノードメモリ３５０、乗算器３５２、逆ＦＦＴ回路３５６、乗算器３６２、及びＩＦＦＴ回路３６６は、まとめてチェックノード計算回路と呼ぶことができる。総和回路３０６、正規化回路３１６、再配列器３２０、シフト器３２４、及び減算回路３２８は、まとめてメッセージ処理回路と呼ぶことができる。乗算器３５２及び３６２は乗算器と呼ばれるが、これらは格納された正負符号を結果に適用する指数計算回路として実装することもでき、幾つかの実施形態では、従来の乗算回路において値を乗算しない。
【００３２】
総和回路３０６からの軟ＬＬＲ値に基づいて、シンドローム計算回路においてシンドローム計算が実行され、硬判定３７４が提供される。
【００３３】
次数ｄｃのチェックノードのための確率領域メッセージ更新が式３に示されている。
式３
【数１０】
2013141204.tif 000012
【００３４】
Ｕｐｃのフーリエ変換が式４によって与えられる。
式４
【数１１】
2013141204.tif 000013
ここで、Ｆは、
式５
【数１２】
2013141204.tif 000014
によって与えられる二次フーリエ変換の２×２の行列であり、Ｚ＝Ｕ×ｋＦは、（ｉ１．．．ｉｋ−１，ｉｋ＋１，．．．，ｉｐ）∈｛０，１｝ｐ−１について
式６
【数１３−１】
2013141204.tif 000015
式７
【数１３−２】
2013141204.tif 000016
として定義される。しかしながら、ＧＦ（８）、ｐ＝３の場合、ＦＦＴは３次元２点ＦＦＴであることに留意されたい。
【００３５】
図５に進むと、流れ図５００が、本発明の様々な実施形態による、ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器においてデータを復号化する方法を示している。図５の方法、又はその変形形態は、図３に示す混合領域ＬＤＰＣ復号化器等の混合領域ＬＤＰＣ復号化器において実行することができる。流れ図５００に従って、Ｈ行列の前の層のＱ値が復号化器メモリから検索される（ブロック５０２）。前の層のＲ値が前の層のＱ値に加算され、ガロア体における各シンボルの軟ＬＬＲ値が生成される（ブロック５０４）。軟ＬＬＲ値は再配列され、再配列された軟ＬＬＲ値が生成される（ブロック５０６）。再配列された軟ＬＬＲ値は、現在の層と前の層との間の差だけシフトされる（ブロック５０８）。現在の層のＲ値が、シフトされ再配列された軟ＬＬＲ値から減算され、ガロア体における各シンボルの現在の層のＱ値が生成され、現在の層のＱ値は復号化器メモリにおいて更新される（ブロック５１０）。現在の層のＱ値は、対数領域から実領域に変換され（ブロック５１２）、高速フーリエ変換を用いてチェックノード計算が実行され、現在の層及び前の層のＲ値が生成される（ブロック５１４）。幾つかの実施形態では、これは、ＧＦ（８）にわたって非バイナリＬＤＰＣ符号の３次元２点ＦＦＴを実行することと、結果の絶対値及び正負符号を求めることと、結果の正負符号と絶対値の指数関数とを乗算したものを計算することと、逆ＦＦＴを実行することとを含む。現在の層のＲ値及び前の層のＲ値は、実領域から対数領域に変換される（ブロック５１６）。局所復号化反復がＨ行列について完了したか否かに関する判断が行われる（ブロック５２０）。完了していない場合、次の巡回行列が準備され、処理が継続する。完了している場合、復号化動作が完了したか否かに関する判断が行われる（ブロック５２２）。局所復号化反復の最大数が実行されたか、又はデータ収束が検出される場合、復号化動作は完了したと判断することができる。復号化動作が完了していない場合、次の巡回行列が準備され、処理が継続する（ブロック５０４）。完了している場合、復号化が終了する（ブロック５２４）。シンドローム計算が実行され、混合領域ＬＤＰＣ復号化器の出力において硬判定が提供される。
【００３６】
本明細書において開示される混合領域ＬＤＰＣ復号化器はいかなる特定の用途にも限定されるものではないが、本発明の実施形態から利益を受ける応用形態の幾つかの例が本明細書において提示される。図６は、本発明の幾つかの実施形態による、混合領域ＬＤＰＣ復号化器を有する読取りチャネル回路６０２を備えるストレージシステム６００を示している。ストレージシステム６００は、例えば、ハードディスクドライブとすることができる。ストレージシステム６００は、前置増幅器６０４、インターフェースコントローラー６０６、ハードディスクコントローラー６１０、モーターコントローラー６１２、スピンドルモーター６１４、ディスクプラッター６１６、及び読取り／書込みヘッドアセンブリ６２０も備える。インターフェースコントローラー６０６はディスクプラッター６１６への／からのデータのアドレス指定及びタイミングを制御する。ディスクプラッター６１６上のデータは、ヘッドアセンブリがディスクプラッター６１６上に適切に位置決めされているときに読取り／書込みヘッドアセンブリ６２０によって検出することができる磁気信号の群からなる。１つの実施形態では、ディスクプラッター６１６は長手記録方式又は垂直記録方式のいずれかに従って記録される磁気信号を含む。
【００３７】
通常の読取り動作では、読取り／書込みヘッドアセンブリ６２０はモーターコントローラー６１２によって、ディスクプラッター６１６上の所望のデータトラックの上方に正確に位置決めされる。モーターコントローラー６１２は、ハードディスクコントローラー６１０の指示の下で読取り／書込みヘッドアセンブリ６２０をディスクプラッター６１６上の適切なデータトラックに移動させることによって、ディスクプラッター６１６に対して読取り／書込みヘッドアセンブリ６２０を位置決めし、かつスピンドルモーター６１４を駆動する。スピンドルモーター６１４は所定のスピンレート（ＲＰＭ）でディスクプラッター６１６をスピンさせる。読取り／書込みヘッドアセンブリ６２０が適切なデータトラックに近接して位置決めされると、ディスクプラッター６１６がスピンドルモーター６１４によって回転するのに応じてディスクプラッター６１６上のデータを表す磁気信号が読取り／書込みヘッドアセンブリ６２０によって感知される。感知された磁気信号は、ディスクプラッター６１６上の磁気データを表す連続した微小アナログ信号として与えられる。この微小アナログ信号は、読取り／書込みヘッドアセンブリ６２０から、前置増幅器６０４を介して、読取りチャネル回路６０２に転送される。前置増幅器６０４は、ディスクプラッター６１６からアクセスされた微小アナログ信号を増幅するように動作可能である。そして、読取りチャネル回路６０２は受信したアナログ信号を復号化及びデジタル化し、ディスクプラッター６１６に元々書き込まれた情報を再生する。このデータは、読取りデータ６２２として受信回路に与えられる。受信した情報の復号化の一部として、チャネル回路６０２は、受信した信号を、混合領域ＬＤＰＣ復号化器を用いて処理する。そのような混合領域ＬＤＰＣ復号化器は、図３に関連して上記で開示した混合領域ＬＤＰＣ復号化器と一致するように実装することができる。幾つかの場合、混合領域ＬＤＰＣ復号化は、図５に関して上記で開示した流れ図と一致するように行うことができる。書込み動作は先行する読取り動作の実質的に反対であり、書込みデータ６２４が読取りチャネル回路６０２に提供される。次に、このデータが符号化され、ディスクプラッター６１６に書き込まれる。ストレージシステム６００の様々な機能又はブロックをソフトウェア又はファームウェアのいずれかで実装することができる一方、他の機能又はブロックはハードウェアで実装されることに留意すべきである。
【００３８】
図７に進むと、複数のディスクを論理ユニットとして結合し、冗長性を通じて安定性及び信頼性を増大させる、ＲＡＩＤ（安価なディスクの冗長アレイ又は独立ディスクの冗長アレイ）に基づくストレージシステム７００等の仮想ストレージシステムに、混合領域ＬＤＰＣ復号化器を統合することができる。データは、種々のアルゴリズムに従って、ＲＡＩＤストレージシステム７００に含まれる複数のディスク７０２、７０４、７０６、７０８にわたって拡散させることができ、オペレーティングシステムによって、それらのディスクが単一のディスクであるかのようにアクセスすることができる。例えば、データはＲＡＩＤストレージシステム７００内の複数のディスク７０２〜７０８にミラーリングすることもできるし、複数の技術において複数のディスク７０２〜７０８にわたってスライスし分散させることもできる。ＲＡＩＤストレージシステム７００内の僅かな数のディスク（例えば７０２）が故障するか又は利用不可能になる場合、誤り訂正技術を用いて、ＲＡＩＤストレージシステム７００内の他のディスク（例えば７０４〜７０８）からのデータの残りの部分に基づいて、欠落データを再生することができる。ＲＡＩＤストレージシステム７００内のディスク７０２〜７０８は、限定ではないが、図８に関連して上記で開示したストレージシステム等の個別のストレージシステムとすることができ、互いに近接して配置することもできるし、セキュリティを増大させるために、より広範に分布させることもできる。書込み動作において、書込みデータ７１０がコントローラー７１２に提供され、コントローラー７１２は、例えば書込みデータ７１０のミラーリング又はストライピングによって、ディスク７０２〜７０８にわたって書込みデータ７１０を格納する。読取り動作において、コントローラー７１２はディスク７０２〜７０８からデータを検索し、コントローラー７１２及びディスク７０２〜７０８のうちのいずれか又は双方において混合領域ＬＤＰＣ復号化を用いて誤り訂正を実行し、可能な場合、任意の欠落データを再生する。次に、コントローラー７１２は、ＲＡＩＤストレージシステム７００が単一のディスクであるかのように結果の読取りデータ７１４を生成する。
【００３９】
図８に進むと、本発明の幾つかの実施形態による、混合領域ＬＤＰＣ復号化器を有する受信機８０４を含む無線通信システム８００又はデータ送信デバイスが示されている。通信システム８００は、当該技術分野において既知の転送媒体８０６を介して符号化された情報を送信するように動作可能な送信機８０２を備える。符号化されたデータは、受信機８０４によって転送媒体８０６から受信される。受信機８０４は混合領域ＬＤＰＣ復号化器を組み込む。そのような混合領域ＬＤＰＣ復号化器は、図３に関連して上記で開示した混合領域ＬＤＰＣ復号化器と一致するように実装することができる。幾つかの場合、復号化は、上記で図５において開示した流れ図と一致するように行うことができる。
【００４０】
本明細書において開示される混合領域ＬＤＰＣ復号化器は、加算器、比較器、及び減算器を主に用いて、比較的単純なハードウェアで優れた誤り性能を提供し、純粋にＦＦＴに基づく復号化器よりも、面積及び電力消費がはるかに小さい。
【００４１】
上記の応用形態において論述した様々なブロックは、他の機能とともに集積回路に実装することができることに留意すべきである。そのような集積回路は、所与のブロック、システム若しくは回路の機能の全て、又はブロック、システム若しくは回路のサブセットのみを含むことができる。また、ブロック、システム又は回路の要素を複数の集積回路にわたって実装することができる。そのような集積回路は、モノリシック集積回路、フリップチップ集積回路、マルチチップモジュール集積回路及び／又は混合信号集積回路を含むが、これらに限定されるものではない、当該技術分野において知られている任意のタイプの集積回路とすることができる。本明細書において論述されたブロック、システム又は回路の様々な機能を、ソフトウェア又はファームウェアのいずれかで実装することができることにも留意すべきである。そのような幾つかの場合には、システム全体、ブロック全体又は回路全体を、そのソフトウェア等価物又はファームウェア等価物を用いて実装することができる。他の場合には、所与のシステム、ブロック又は回路の一部分をソフトウェア又はファームウェアで実装することもできる一方、他の部分はハードウェアで実装される。
【００４２】
結論として、本発明は、ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器においてデータを復号化する新規な方法及び装置を提供する。本発明の１つ又は複数の実施形態の詳細な説明が上記で与えられたが、本発明の趣旨から逸脱することなく、様々な代替形態、修正形態及び均等物が当業者には明らかであろう。したがって、上記の説明は本発明の範囲を限定するものとして解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲によって画定される。
【符号の説明】
【００４３】
図１
Prior Art  従来技術
図２
２０４  Analog Front End  アナログフロントエンド
２１０  Analog To Digital Converter  アナログ／デジタル変換器
２１４  Equalizer  等化器
２１８  Buffer  バッファー
２２０  Detector  検出器
２２４  Interleaver  インターリーバー
２３０  Memory  メモリ
２３２  Mixed Domain FFT-Based Non-Binary LDPC Decoder  ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器
２３６  Deinterleaver  デインターリーバー
２４２  HD Deinterleaver  ＨＤデインターリーバー
２４４  HD Memory  ＨＤメモリ
図３
３０２  Decoder Memory  復号化器メモリ
３０６  Summation  総和
３１６  Normalization  正規化
３２０  Rearranger  再配列器
３２４  Shifter  シフト器
３２８  Subtraction  減算
３５０  Check Node Memory  チェックノードメモリ
３５２、３６２  Sign * ex  正負符号×ｅｘ
３７２  Syndrome Calculation  シンドローム計算
図５
５０２  Retrieve Q values of the previous layer of an H matrix from decodermemory  復号化器メモリからＨ行列の前の層のＱ値を検索する
５０４  Add R values of the previous layer to the Q values of the previouslayer to yield soft LLR values  前の層のＲ値を前の層のＱ値に加算して軟ＬＬＲ値を得る
５０６  Rearrange soft LLR values  軟ＬＬＲ値を再配列する
５０８  Shift rearranged soft LLR values by the difference between thecurrent layer and the previous layer  再配列された軟ＬＬＲ値を、現在の層と前の層との間の差だけシフトする
５１０  Subtract R values of the current layer from the shifted rearrangedsoft LLR values to yield Q values of the current layer  シフトされ再配列された軟ＬＬＲ値から現在の層のＲ値を減算し、現在の層のＱ値を得る
５１２  Transform Q values of the current layer from the log domain to thereal domain  現在の層のＱ値を対数領域から実領域に変換する
５１４  Perform check node calculations using Fast Fourier Transforms toyield R values for the current layer and the previous layer  高速の変換を用いてチェックノード計算を実行し、現在の層及び前の層のＲ値を得る
５１６  Transform R values for the current layer and for the previous layerfrom the real domain to the log domain  現在の層及び前の層のＲ値を実領域から対数領域に変換する
５２０  Is local decoding iteration complete?  局所復号化反復が完了した？
５２２  Is decoding operation complete?  復号化動作が完了した？
５２４  Finished decoding  復号化終了
図６
６０２  Read Channel Including Mixed Domain FFT-Based Non-binary LDPCDecoder  
ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器を含む読取りチャネル
６０４  Preamp  プリアンプ
６１０  Hard Disk Controller  ハードディスクコントローラー
６１２  Motor Controller  モーターコントローラー
６１４  Spindle Motor  スピンドルモーター
６１６  Disk Platter  ディスクプラッター
６２０  Read/Write Head  読取り／書込みヘッド
６２２  Read Data  読取りデータ
６２４  Write Data  書込みデータ
１１０６  Interface Controller  インターフェースコントローラー
図７
７０２、７０４、７０６、７０８  Storage Device Including Mixed Domain FFT-Based Non-binary LDPCDecoder  ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器を含むストレージデバイス
７１０  Write Data  書込みデータ
７１２  Controller  コントローラー
７１４  Read Data  読取りデータ
図８
８０２  Transmitter  送信機
８０４  Receiver Including Mixed Domain FFT-Based Non-binary LDPC Decoder    ＦＦＴに基づく混合領域非バイナリＬＤＰＣ復号化器を含む受信機
８０６  Transfer Medium  転送媒体
【図１】
2013141204.tif 000017
【図２】
2013141204.tif 000018
【図３】
2013141204.tif 000019
【図４】
2013141204.tif 000020
【図５】
2013141204.tif 000021
【図６】
2013141204.tif 000022
【図７】
2013141204.tif 000023
【図８】
2013141204.tif 000024