JP2013243652A - バイナリ復号化及び非バイナリ復号化の二重処理のためのシステム及び方法 - Google Patents

バイナリ復号化及び非バイナリ復号化の二重処理のためのシステム及び方法 Download PDF

Info

Publication number
JP2013243652A
JP2013243652A JP2013085447A JP2013085447A JP2013243652A JP 2013243652 A JP2013243652 A JP 2013243652A JP 2013085447 A JP2013085447 A JP 2013085447A JP 2013085447 A JP2013085447 A JP 2013085447A JP 2013243652 A JP2013243652 A JP 2013243652A
Authority
JP
Japan
Prior art keywords
binary
data
decoded output
unsatisfied
circuit
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
JP2013085447A
Other languages
English (en)
Other versions
JP5415638B2 (ja
Inventor
Fan Zhang
チャン,ファン
Chung-Li Wang
ワン,チュン−リー
Haitao Xia
シア,ハイタオ
Shaohua Yan
ヤン,シャオフア
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 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 Corp filed Critical LSI Corp
Publication of JP2013243652A publication Critical patent/JP2013243652A/ja
Application granted granted Critical
Publication of JP5415638B2 publication Critical patent/JP5415638B2/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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1171Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6511Support of multiple decoding rules, e.g. combined MAP and Viterbi 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and 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/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation
    • 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/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording

Landscapes

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

Abstract

【課題】処理データセットに2つ以上のデータ復号化アルゴリズムを適用するためのシステム及び方法を提供する。
【解決手段】サンプルバッファーとデータ復号化器回路とを備えるデータ処理システム。サンプルバッファーは、非バイナリ符号語に対応するサンプルセットを維持する。データ復号化器回路は、サンプルセットから導出された復号化器入力に非バイナリデータ復号化アルゴリズムを適用して非バイナリ復号化出力を得て、復号化器入力にバイナリデータ復号化アルゴリズムを適用してバイナリ復号化出力を得て、非バイナリ復号化出力に対応する、満たされていない検査の第1の数を求め、バイナリ復号化出力に対応する、満たされていない検査の第2の数を求め、満たされていない検査の第1の数及び満たされていない検査の第2の数に少なくとも部分的に基づいて、バイナリ復号化出力及び非バイナリ復号化出力のうちの一方を選択された復号化結果として選択する。
【選択図】図3

Description

本発明は、データ処理を行うためのシステム及び方法に関し、より詳細には、処理データセットに2つ以上のデータ復号化アルゴリズムを適用するためのシステム及び方法に関する。
データ処理回路は、多くの場合にデータ検出器回路とデータ復号化器回路とを含む。幾つかの場合には、元々書き込まれたデータを復元しようと試みて、データ検出器回路及びデータ復号化器回路の双方を通る多くの通過が生じる。データ検出器回路及びデータ復号化器回路の双方を通る各通過は、データ復号化器回路を通る複数の反復を含む場合がある。幾つかの場合には、データ検出器回路及びデータ復号化器回路を通る許可された数の反復によって正しい結果が得られない場合がある。
したがって、少なくとも上述した理由により、データ処理回路解析のための先進的なシステム及び方法が当該技術分野において必要とされている。
本発明は、データ処理を行うためのシステム及び方法に関し、より詳細には、処理データセットに2つ以上のデータ復号化アルゴリズムを適用するためのシステム及び方法に関する。
本発明の様々な実施の形態は、サンプルバッファーとデータ復号化器回路とを備えるデータ処理システムを提供する。サンプルバッファーは、非バイナリ符号語に対応するサンプルセットを維持するように動作可能である。データ復号化器回路は、前記サンプルセットから導出された復号化器入力に非バイナリデータ復号化アルゴリズムを適用して非バイナリ復号化出力を得て、前記復号化器入力にバイナリデータ復号化アルゴリズムを適用してバイナリ復号化出力を得て、前記非バイナリ復号化出力に対応する、満たされていない検査の第1の数を求め、前記バイナリ復号化出力に対応する、満たされていない検査の第2の数を求め、前記満たされていない検査の第1の数及び前記満たされていない検査の第2の数に少なくとも部分的に基づいて、前記バイナリ復号化出力及び前記非バイナリ復号化出力のうちの一方を選択された復号化結果として選択するように動作可能である。データ処理システムは、例えば記憶デバイス又は受信デバイスとして実施することができる。様々な場合に、データ処理システムは集積回路の一部として実施される。1つ又は複数の場合に、データ復号化器回路は低密度パリティチェック回路である。
上述した実施の形態の幾つかの例では、前記非バイナリ復号化出力は第1の非バイナリ復号化出力であり、前記バイナリ復号化出力は第1のバイナリ復号化出力である。かかる例では、前記データ復号化器回路は、さらに、前記選択された復号化結果によって誘導されて、前記非バイナリデータ復号化アルゴリズムを前記復号化器入力に再適用して、第2の非バイナリ復号化出力を得て、前記選択された復号化結果によって誘導されて、前記バイナリデータ復号化アルゴリズムを前記復号化器入力に再適用して第2のバイナリ復号化出力を得るように更に動作可能であっても良い。
上述した実施の形態の様々な例では、前記非バイナリデータ復号化アルゴリズムを適用することは非バイナリH行列を利用し、前記バイナリデータ復号化アルゴリズムを適用することはバイナリH行列を利用する。幾つかの場合、前記非バイナリ復号化出力に対応する、前記満たされていない検査の第1の数を求めることは、前記非バイナリ復号化出力に前記バイナリH行列を乗算してバイナリ等価物を得ることを含む。上述した実施の形態の一つ又は複数の例では、前記非バイナリ符号語内の各シンボルは2個のパターンを表し、Nはシンボルあたりのゼロでないビット数であり、前記バイナリデータ復号化アルゴリズムを適用することは、前記非バイナリ符号語を単一ビットのシンボルを有するものとして扱うことを含む。上述した実施の形態の特定の例では、前記バイナリ復号化出力は、前記満たされていない検査の第2の数が、前記満たされていない検査の第1の数未満であるときに選択され、及び/又は、前記非バイナリ復号化出力は、前記満たされていない検査の第1の数が、前記満たされていない検査の第2の数未満であるときに選択される。
本発明の他の実施の形態は、復号化器入力に非バイナリデータ復号化アルゴリズムを適用することであって、それにより非バイナリ復号化出力を得る、適用することと、前記復号化器入力にバイナリデータ復号化アルゴリズムを適用することであって、それによりバイナリ復号化出力を得る、適用することと、前記非バイナリ復号化出力に対応する、満たされていない検査の第1の数を求めることと、前記バイナリ復号化出力に対応する、満たされていない検査の第2の数を求めることと、前記満たされていない検査の第1の数及び前記満たされていない検査の第2の数に少なくとも部分的に基づいて、前記バイナリ復号化出力及び前記非バイナリ復号化出力のうちの一方を選択された復号化結果として選択することと、を含む、方法を提供する。
この概要は、本発明の幾つかの実施の形態の概略のみを提供するものである。本発明の多くの他の目的、特徴、利点及び他の実施形態が、以下の詳細な説明、添付の特許請求の範囲及び添付の図面からより完全に明らかとなるであろう。
図面を参照することにより、本発明の様々な実施形態の更なる理解を実現することができ、これらの実施形態については本明細書の残りの部分で説明する。図面において、同様の参照符号が幾つかの図面の全てにわたって類似の構成要素を指すのに用いられている。幾つかの場合には、小文字からなるサブラベルが、複数の類似の構成要素のうちの1つを表すように参照符号に関連付けられている。存在するサブラベルを指定することなく参照符号が参照されるとき、そのような複数の類似の構成要素全てを指すことが意図される。
本発明の1つ又は複数の実施形態による、バイナリ復号化及び非バイナリ復号化の二重回路部を有する読取りチャネルを備える記憶デバイスを示す図である。 本発明の幾つかの実施形態による、バイナリ復号化及び非バイナリ復号化の二重回路部を有する受信機を備えるデータ送信デバイスを示す図である。 本発明の幾つかの実施形態による、バイナリ復号化及び非バイナリ復号化の二重回路部を有するデータ処理回路を示す図である。 本発明の幾つかの実施形態による、バイナリ復号化及び非バイナリ復号化の二重処理のための方法を示す流れ図である。 本発明の幾つかの実施形態による、バイナリ復号化及び非バイナリ復号化の二重処理のための方法を示す流れ図である。 本発明の幾つかの実施形態による、バイナリ復号化及び非バイナリ復号化の二重処理のための方法を示す流れ図である。
本発明は、データ処理を行うためのシステム及び方法に関し、より詳細には、処理データセットに2つ以上のデータ復号化アルゴリズムを適用するためのシステム及び方法に関する。
本発明の様々な実施形態は、遅延処理が望ましいときに、データ復号化プロセスの変更を提供する。そのような遅延処理は、データ処理回路の処理要件の低減が生じ、したがって、そうでなければ用いられていない処理リソースの適用が、以前に収束していないデータセットに対して用いられることが可能になるときに行われる。データ処理回路の処理要件におけるそのような低減は、例えば、記憶媒体からのデータにアクセスしているときのトラック内の変化又はデータ送信デバイスの送信終了に起因して生じる場合があり、この結果、データ復号化プロセスに投入されるデータ量が低減する。本明細書において提供される開示に基づいて、当業者であれば、結果としてデータ処理回路の過少使用(under-use)が生じる場合がある様々なシナリオを認識するであろう。変更された復号化プロセスは、過少使用を伴わない他の事象にも同様に適用することができることにも留意すべきである。
本発明の特定の実施形態では、データ処理回路は、データ復号化器回路によって処理されたデータセットを受信し、処理済みのデータセットを、受信者に転送する前にバッファリングする硬判定出力回路と、処理済みデータセットに対応する検出/復号化されていないデータセットを維持するサンプルバッファーとを備える。遅延処理も標準的な処理も進行中でないとき、硬判定出力回路は、標準的な形式で受信者にデータセットを提供するように動作する。標準的な処理が収束に失敗したとき、データセットをサンプルバッファー内に維持することができ、現在の復号化された出力を硬判定出力回路内に維持し、遅延処理中の変更された処理を待つことができる。遅延処理中、バイナリ復号化処理及び非バイナリ復号化処理の双方がデータセットに適用され、満たされていない検査(unsatisfied check)が最も少なくなるのはいずれであるかが求められる。満たされていない検査が最も少なくなるバイナリ復号化又は非バイナリ復号化からの結果が選択され、データ検出アルゴリズム及び/又はデータ復号化アルゴリズムの後続の適用が誘導される。
図1を参照すると、本発明の幾つかの実施形態による、バイナリ復号化及び非バイナリ復号化の二重回路部を有する読取りチャネル回路110を備える記憶システム100が示されている。記憶システム100は、例えば、ハードディスクドライブとすることができる。記憶システム100は、前置増幅器170、インターフェースコントローラー120、ハードディスクコントローラー166、モーターコントローラー168、スピンドルモーター172、ディスクプラッター178、及び読取り/書込みヘッドアセンブリ176も備える。インターフェースコントローラー120はディスクプラッター178への/からのデータのアドレス指定及びタイミングを制御する。ディスクプラッター178上のデータは、アセンブリがディスクプラッター178上に適切に位置決めされているときに読取り/書込みヘッドアセンブリ176によって検出することができる磁気信号の群からなる。1つの実施形態では、ディスクプラッター178は長手記録方式又は垂直記録方式のいずれかに従って記録される磁気信号を含む。
通常の読取り動作では、読取り/書込みヘッドアセンブリ176はモーターコントローラー168によって、ディスクプラッター178上の所望のデータトラックの上方に正確に位置決めされる。モーターコントローラー168は、ハードディスクコントローラー166の指示の下で読取り/書込みヘッドアセンブリをディスクプラッター178上の適切なデータトラックに移動することによって、ディスクプラッター178に対して読取り/書込みヘッドアセンブリ176を位置決めし、かつスピンドルモーター172を駆動する。スピンドルモーター172は所定のスピンレート(RPM)でディスクプラッター178をスピンさせる。読取り/書込みヘッドアセンブリ178が適切なデータトラックに近接して位置決めされると、ディスクプラッター178がスピンドルモーター172によって回転するのに応じてディスクプラッター178上のデータを表す磁気信号が読取り/書込みヘッドアセンブリ176によって感知される。感知された磁気信号は、ディスクプラッター178上の磁気データを表す連続した微小アナログ信号として与えられる。この微小アナログ信号は、読取り/書込みヘッドアセンブリ176から、前置増幅器170を介して、読取りチャネル回路110に送信される。前置増幅器170は、ディスクプラッター178からアクセスされた微小アナログ信号を増幅するように動作可能である。そして、読取りチャネル回路110は受信したアナログ信号を復号及びデジタル化し、ディスクプラッター178に元々書き込まれた情報を再生する。このデータは、読取りデータ103として受信回路に与えられる。書込み動作は実質的に、先行する読取り動作の反対であり、書込みデータ101が読取りチャネル回路110に与えられる。次にこのデータは符号化され、ディスクプラッター178に書き込まれる。
読取り動作中、データはディスクプラッター178から感知され、標準的な処理を用いて処理される。そのような標準的な処理は、バイナリデータ復号化又は非バイナリデータ復号化のうちの一方を用いて行うことができる。幾つかの場合には、標準的な処理を用いて処理された1つ又は複数のデータセットが収束に失敗する。そのような場合、収束していないデータセットが出力として提供され、それとともに、この収束していないデータセットが使用不可能であり、遅延処理期間中の追加の処理のために、対応する検出/復号化されていないデータセットとともにデータ処理システム内に維持されることが示される。この遅延処理期間は、例えば、読取り/書込みヘッドアセンブリ176が現在のトラックから別のトラックに移されるときの期間とすることができる。この遅延処理期間中、収束していないデータセットと、対応する検出/復号化されていないデータセットとの組合せは、再処理のためにアクセスされる。再処理は、データバイナリデータ復号化及び非バイナリデータ復号化の双方を実行し、後続の処理のための残りの満たされていない検査の数が最も少ない結果を選択することを含む。本発明の幾つかの実施形態では、図3に関連して以下で論考するデータ処理回路と同様のデータ処理回路を用いることができ、及び/又は処理は図4a〜図4cに関連して以下で論考する処理と同様に行うことができる。
例えばRAID(安価なディスクの冗長アレイ又は独立ディスクの冗長アレイ)に基づく記憶システム等のより大型の記憶システムに、記憶システム100を統合することができることに留意すべきである。このようなRAID記憶システムは、複数のディスクを論理ユニットとして結合し、冗長性を通じて安定性及び信頼性を増大させる。データは、種々のアルゴリズムに従って、RAID記憶システムに含まれる複数のディスクにわたって拡散させることができ、RAID記憶システムが単一のディスクであるかのようにオペレーティングシステムがアクセスすることができる。例えば、データはRAID記憶システム内の複数のディスクにミラーリングすることもできるし、複数の技法において複数のディスクにわたってスライスし分散させることもできる。RAID記憶システム内の少数のディスクが故障するか又は利用不可能になる場合、誤り訂正技法を用いて、RAID記憶システム内の他のディスクからのデータの残りの部分に基づいて、欠落データを再生することができる。RAID記憶システム内のディスクは、限定ではないが、記憶システム100等の個別の記憶システムとすることができ、互いに近接して配置することもできるし、セキュリティを増大させるために、より広範に分散させることもできる。書込み動作において、書込みデータがコントローラーに提供され、コントローラーは、例えば書込みデータのミラーリング又はストライピングによって、ディスクにわたって書込みデータを記憶する。読取り動作において、コントローラーはディスクからデータを検索する。次に、コントローラーは、RAID記憶システムが単一のディスクであるかのように結果の読取りデータを生成する。
読取りチャネル回路110に関して用いられるデータ復号化器回路は、限定ではないが、当該技術分野で知られているような低密度パリティチェック(LDPC)復号化器回路とすることができる。そのような低密度パリティチェック技術は、実質的に任意のチャネルによる情報の送信又は実質的に任意の媒体への情報の記憶に適用可能である。送信に適用されるものには、光ファイバー、無線周波数チャネル、有線又は無線のローカルエリアネットワーク、デジタル加入者線技術、無線セルラー、銅ファイバー又は光ファイバー等の任意の媒体によるイーサネット登録商標、ケーブルテレビ等のケーブルチャネル、及び地球衛星通信が含まれるが、これらに限定されるものではない。記憶に適用されるものには、ハードディスクドライブ、コンパクトディスク、デジタルビデオディスク、磁気テープ、並びにDRAM、NANDフラッシュ、NORフラッシュ、他の不揮発性メモリ及びソリッドステートドライブ等のメモリデバイスが含まれるが、これらに限定されるものではない。
図2を参照すると、本発明の幾つかの実施形態による、バイナリ復号化及び非バイナリ復号化の二重回路部を有する受信機220を備えるデータ送信デバイス200が示されている。データ送信システム200は、符号化された情報を当該技術分野において既知の転送媒体230を介して送信するように動作可能な送信機210を備える。符号化されたデータは、受信機220によって転送媒体230から受信される。
動作中、データは転送媒体230を介して受信機220によって受信され、標準的な処理を用いて処理される。幾つかの場合には、標準的な処理を用いて処理された1つ又は複数のデータセットが収束に失敗する。そのような標準的な処理は、バイナリデータ復号化又は非バイナリデータ復号化のうちの一方を用いて行うことができる。そのような場合、収束していないデータセットが出力として提供され、それとともに、この収束していないデータセットが使用不可能であり、遅延処理期間中の追加の処理のために、対応する検出/復号化されていないデータセットとともにデータ処理システム内に維持されることが示される。この遅延処理期間は、例えば、データが転送媒体230から受信されていない時間期間とすることができる。この遅延処理期間中、収束していないデータセットと、対応する検出/復号化されていないデータセットとの組合せは、再処理のためにアクセスされる。再処理は、データバイナリデータ復号化及び非バイナリデータ復号化の双方を実行し、後続の処理のための残りの満たされていない検査の数が最も少ない結果を選択することを含む。本発明の幾つかの実施形態では、図3に関連して以下で論考するデータ処理回路と同様のデータ処理回路を用いることができ、及び/又は処理は図4a〜図4cに関連して以下で論考する処理と同様に行うことができる。
図3を参照すると、本発明の幾つかの実施形態による、バイナリ復号化及び非バイナリ復号化の二重回路部を有するデータ処理回路300が示されている。データ処理回路300は、アナログ入力308を受信するアナログフロントエンド回路310を備える。アナログフロントエンド回路310はアナログ入力308を処理し、処理済みのアナログ信号312をアナログ/デジタル変換器回路315に与える。アナログフロントエンド回路310には、限定ではないが、当該技術分野において既知のアナログフィルター及び増幅器回路を含めることができる。本明細書において提供される開示に基づいて、当業者であれば、アナログフロントエンド回路310の一部として含めることができる種々の回路部を認識するであろう。幾つかの場合には、アナログ入力308は記憶媒体(図示せず)に関連して配置される読取り/書込みヘッドアセンブリ(図示せず)から取り出される。他の場合、アナログ入力308は送信媒体(図示せず)から信号を受信するように動作可能な受信機回路(図示せず)から取り出される。送信媒体は有線又は無線とすることができる。本明細書において提供される開示に基づいて、当業者であれば、アナログ入力308を取り出すことができる種々のソースを認識するであろう。
アナログ/デジタル変換器回路315は処理済みのアナログ信号312を対応する一連のデジタルサンプル317に変換する。アナログ/デジタル変換器回路315は、アナログ入力信号に対応するデジタルサンプルを生成することが可能な当該技術分野において既知の任意の回路とすることができる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる種々のアナログ/デジタル変換器回路を認識するであろう。デジタルサンプル317が等化器回路320に提供される。等化器回路320はデジタルサンプル317に等化アルゴリズムを適用して、等化出力322をもたらす。本発明の幾つかの実施形態では、等化器回路320は当該技術分野において既知のデジタル有限インパルス応答フィルターである。
等化出力322はデータ検出器回路325及びサンプルバッファー回路375の双方に提供される。サンプルバッファー回路375は、等化出力322を、データ検出器回路325を通じた後続の反復において用いるためのバッファリングされたデータ377として記憶する。データ検出器回路325は、検出出力327を生成することが可能な当該技術分野において既知の任意のデータ検出器回路とすることができる。幾つかの例として、データ検出器回路325は、限定ではないが、当該技術分野において既知のビタビアルゴリズム検出器回路又は最大アプリオリ検出器回路とすることができる。一般的なフレーズ「ビタビデータ検出アルゴリズム」又は「ビタビアルゴリズムデータ検出器回路」は、任意のビタビ検出アルゴリズム若しくはビタビアルゴリズム検出器回路又はそれらの変形を意味するように最も広い意味で用いられることに留意されたい。それらの変形には、限定ではないが、双方向ビタビ検出アルゴリズム又は双方向ビタビアルゴリズム検出器回路が含まれる。また、一般的なフレーズ「最大事後データ検出アルゴリズム」又は「最大事後データ検出器回路」は、任意の最大事後検出アルゴリズム若しくは最大事後検出器回路又はそれらの変形を意味するように最も広い意味で用いられる。それらの変形には、限定ではないが、単純化された最大事後データ検出アルゴリズム、及び最大対数最大事後データ検出アルゴリズム、又は対応する検出器回路が含まれる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる種々のデータ検出器回路を認識するであろう。検出出力325は、硬判定及び軟判定の双方を含むことができる。「硬判定」及び「軟判定」という用語は、それらの最も広い意味で用いられる。特に、「硬判定」は、予測される元の入力値を示す出力(例えばバイナリ「1」若しくは「0」、又は非バイナリデジタル値)であり、「軟判定」は対応する硬判定が正しい尤度を示す。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる多岐にわたる硬判定及び軟判定を認識するであろう。
検出出力327は、データ検出器回路325とデータ検出器回路350との間で渡されるデータをバッファリングするように動作する中央待ち行列メモリ回路360に提供される。幾つかの例では、中央待ち行列メモリ回路360は、当該技術分野において既知のインターリーブ(すなわちデータシャッフリング)回路部及びデインターリーブ(すなわちデータシャッフリング解除)回路部を含む。データ復号化器回路350が利用可能である場合、データ復号化器回路350は復号化器入力356としての中央待ち行列メモリ回路360からの検出出力327にアクセスする。データ復号化器回路350は、元々書き込まれたデータを復元しようと試みて、復号化器入力356にデータ復号化アルゴリズムを適用する。データ復号化器回路350は、遅延処理信号395のディアサート(de-assertion:アサート停止)によって示されるような標準的な処理中に非バイナリデータ復号化アルゴリズムを復号化器入力356に適用するように動作可能である。非バイナリデータ復号化アルゴリズムは、行列出力396をデータ復号化器回路350に提供する非バイナリH行列397を用いて適用される。
対照的に、データ復号化器回路350は、最初に非バイナリデータ復号化アルゴリズムを復号化器入力356に適用し、その後、遅延処理中にバイナリデータ復号化アルゴリズムを復号化器入力356に適用するように動作可能である。バイナリデータ復号化アルゴリズムは、行列出力398をデータ復号化器回路350に提供するバイナリH行列394を用いて適用される。そのような遅延処理は、遅延処理信号395のアサートによって示される。遅延処理信号395は、データ処理コントローラー回路390によって、遅延処理入力392がアサートされるときはいつでもアサートされ、遅延処理入力392がディアサートされるときはいつでもディアサートされる。遅延処理入力392は、データ処理回路300の処理要件の低減が生じるとアサートすることができる。処理要件におけるそのような低減は、例えば、記憶媒体を読み取っているときのトラック内の変化又はデータ送信デバイスの送信終了に起因して生じる場合がある。本明細書において提供される開示に基づいて、当業者であれば、結果としてデータ処理回路300の過少使用が生じる場合がある様々なシナリオを認識するであろう。
標準的な処理中、非バイナリデータ復号化アルゴリズムの適用が完了すると、データ復号化器回路350から、結果としての非バイナリ復号化出力352が提供される。検出出力327と同様に、復号化された出力352は、硬判定及び軟判定の双方を含むことができる。例えば、データ復号化器回路350は、受信した入力に復号化アルゴリズムを適用することが可能な、当該技術分野において既知の任意のデータ復号化器回路とすることができる。データ復号化器回路350は、限定ではないが、当該技術分野において既知の低密度パリティ検査(LDPC)復号化器回路又はリードソロモン復号化器回路とすることができる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる多岐にわたるデータ復号化器回路を認識するであろう。元のデータが復元される(すなわちデータ復号化アルゴリズムが収束する)か、又はタイムアウト条件が発生した場合、復号化された出力352は、硬判定出力回路380内に含まれるメモリに記憶される。そして、硬判定出力回路380が、収束した復号化された出力352をデータ出力384として受信者(図示せず)に提供する。受信者は、例えば、処理されたデータセットを受信するように動作可能なインターフェース回路とすることができる。本明細書において提供された開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる多岐にわたる受信者を認識するであろう。タイムアウト条件の前に元のデータが回復されなかった(すなわちデータ復号化アルゴリズムが収束に失敗した)場合、復号化された出力352は、以下でより詳細に論考するように、データが使用不可能であることを示し、データ出力384も同様に使用不可能として識別される。
データ検出器回路325及びデータ復号化器回路350の組合せを通じた1回又は複数回の反復は、元々書き込まれたデータセットに収束する目的で行うことができる。データ検出器回路及びデータ復号化器回路の双方を通じた処理が「グローバル反復」と呼ばれる。対照的に、データ復号化器回路を通る各通過は「ローカル反復」と呼ばれる。第1のグローバル反復について、データ検出器回路325は、復号化された出力から誘導されることなくデータ検出アルゴリズムを等化出力322に適用する。後続のグローバル反復について、データ検出器回路325は、復号化された出力352によって誘導されるようにデータ検出アルゴリズムをバッファリングされたデータ377に適用する。復号化された出力352は復号化器出力354として中央待ち行列メモリ回路360に記憶され、中央待ち行列メモリ回路360から検出器入力329として提供される。
各グローバル反復中、データ復号化器回路350は、復号化器入力356へのデータ復号化アルゴリズムの適用を含む1回又は複数回のローカル反復を行うことが可能である。第1のローカル反復について、データ復号化器回路350は、復号化された出力352から誘導されることなくデータ復号化器アルゴリズムを適用する。後続のローカル反復について、データ復号化器回路350は、以前に復号化された出力352によって誘導されるようにデータ復号化アルゴリズムを復号化器入力356に適用する。許可されるローカル反復数は、例えば10とすることができる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に従って許可することができる多岐にわたる異なるローカル反復数を理解するであろう。データ復号化器回路350を通じたローカル反復数が、許可されるローカル反復数を超えているが、データセットの標準処理中に少なくとも1つの追加のグローバル反復が許可されると判断される場合、復号化された出力352は復号化された出力354として中央待ち行列メモリ回路360に戻して提供される。復号化された出力354は、データ検出器回路325が追加の処理を実行するのに利用可能になるまで中央待ち行列メモリ回路360内に保持される。
対照的に、データ復号化器回路350を通じたローカル反復数が許可されるローカル反復数を超えており、かつデータセットについて許可可能なグローバル反復数が超過されており、及び/又はタイムアウト若しくはメモリ使用が特定のデータセットの処理の終了を要求していると判断される場合、データセットの標準的な処理が完結し、復号化された出力がデータ出力352として提供されるとともに、その出力が使用不可能であることが示される。データセットの標準的な処理が終了した場合、収束していないデータセット(すなわちデータ出力352として提供されるデータセット)が硬判定出力回路380のメモリに記憶され、収束していないデータセットに対応するサンプルデータ(すなわち、サンプルバッファー回路375に維持されるサンプルデータ)が、遅延処理入力392のアサートによる遅延処理の指示を待つ少なくとも所定の期間、サンプルバッファー回路375に維持される。加えて、収束していないデータセット及び対応するサンプルデータが、保持信号391のアサートによって示されるように、遅延処理のために特定される。ここでも、遅延処理は遅延処理入力392のアサートによってシグナリングされる。
遅延処理入力392のアサートによって示されるような遅延処理中、サンプルバッファー回路375内に残っている、以前に収束していないデータセットに対応するサンプルデータセットのうちの1つが、データ処理コントローラー回路390からの制御出力376によって示されるようにアクセスされる。加えて、データ処理コントローラー回路390は、データ復号化器回路350及び硬判定出力回路380に対し遅延処理信号395をアサートする。データ検出器回路325は、遅延処理のために特定され、制御出力376によって示されるようにアクセスされるサンプルセットにデータ検出アルゴリズムを再適用し、検出出力327を得る。検出出力327は、中央待ち行列メモリ回路360に記憶される。データ復号化器回路350が利用可能になると、データ復号化器回路350は、復号化器入力356としての中央待ち行列メモリ回路360からの検出出力327にアクセスする。データ復号化器回路350は、硬判定出力回路380のメモリに以前に記憶された対応する復号化された出力382にアクセスし、復号化された出力382によって誘導されて、非バイナリH行列397からの行列出力396を用いて、非バイナリ復号化アルゴリズムを復号化器入力356に適用し、非バイナリ復号化出力352を得る。非バイナリ復号化出力352は、遅延処理中に大部分が用いられない硬判定出力回路380内のメモリに記憶される。その後、データ復号化器回路350は、復号化された出力382によって誘導されて、バイナリH行列394からの行列出力398を用いて、バイナリ復号化アルゴリズムを復号化器入力356に適用し、バイナリ復号化出力352を得る。バイナリ復号化出力352は、ここでも遅延処理中に大部分が用いられない硬判定出力回路380内のメモリに記憶される。本発明の他の実施形態によれば、バイナリ復号化アルゴリズム及び非バイナリ復号化アルゴリズムの適用順序は逆にすることができることに留意されたい。
次に、データ復号化器回路350は、硬判定出力回路380のメモリ内に維持された非バイナリ復号化出力に対応する硬判定にバイナリH行列394を乗算して、複数のバイナリの満たされていない検査を得る。非バイナリの結果からバイナリの満たされていない検査を得るこのプロセスは、当該技術分野において既知である。例えば、F. J. Macwilliams他「The Theory of Error CorrectionCodes」(North-Holland Publishing Company, p. 106)を参照されたい。上述した参考文献の全体が、全ての目的で、引用することにより本明細書の一部をなすものとする。次に、非バイナリ復号化出力から導出されたバイナリの満たされていない検査のこの数は、バイナリ復号化出力を適用することによって得られたバイナリ復号化出力内に残っている、満たされていない検査の数と比較される。非バイナリ復号化アルゴリズムを適用した結果に関連付けられたバイナリの満たされていない検査の数が、バイナリ復号化アルゴリズムを適用した結果に関連付けられたバイナリの満たされていない検査の数よりも少ない場合、非バイナリ復号化アルゴリズムの結果が、今後のデータ検出及び/又はデータ復号化を誘導する際に用いるために保持される。そうでない場合、バイナリ復号化アルゴリズムの結果が、今後のデータ検出及び/又はデータ復号化を誘導する際に用いるために保持される。
データ復号化器回路350を通じた別のローカル反復が許可される場合、保持されたデータ復号化結果によって誘導されて、バイナリデータ復号化アルゴリズム及び非バイナリデータ復号化アルゴリズムの双方を適用する上述したプロセスが実施される。このプロセスは、バイナリデータ復号化アルゴリズム若しくは非バイナリデータ復号化アルゴリズムのうちの一方が収束するか、現在のグローバル反復のための最大数のローカル反復が完了するか、又はタイムアウト条件が満たされるまで繰り返される。タイムアウト条件が満たされると、エラーが報告される。エラー条件は、最大数のローカル反復が尽きると満たされ得る。本明細書において提供される開示に基づいて、当業者であれば、タイムアウト条件が満たされたとみなすことができる多岐にわたる他の状況を認識するであろう。最大数のローカル反復が満たされた場合、保持された結果によって誘導されて、データ検出アルゴリズムがサンプルバッファー回路375からのデータ入力に適用され、復号化プロセスが再開する。バイナリデータ復号化アルゴリズム又は非バイナリデータ復号化アルゴリズムのいずれかが収束した場合、収束結果がデータ出力として提供される。
図4a〜図4cを参照すると、流れ図400、445、470が、本発明の幾つかの実施形態による、バイナリ復号化及び非バイナリ復号化の二重処理のための本発明の幾つかの実施形態による方法を示している。図4aを参照し、流れ図400に従って、アナログ入力が受信される(ブロック405)。アナログ入力は、例えば記憶媒体又はデータ伝送チャネルから導出することができる。本明細書において提供される開示に基づいて、当業者であればアナログ入力の多岐にわたるソースを認識するであろう。アナログ入力は一連のデジタルサンプルに変換される(ブロック410)。この変換は、当該技術分野において既知のアナログ/デジタル変換器回路又はシステムを用いて行うことができる。アナログ信号を、受信したアナログ信号を表す一連のデジタル値に変換することが可能な当該技術分野において既知の任意の回路を用いることができることに留意されたい。結果として得られるデジタルサンプルは等化され、等化出力が得られる(ブロック415)。本発明の幾つかの実施形態では、等化は当該技術分野において既知のデジタル有限インパルス応答回路を用いて行われる。本明細書において提供される開示に基づいて、当業者であれば、そのようなデジタル有限インパルス応答回路の代わりに、本発明の様々な実施形態に従って等化を実行するのに用いることができる多岐にわたる等化器回路を認識するであろう。等化出力はバッファリングされる(ブロック420)。
遅延処理が所望されているか否かが判断される(ブロック425)。データ処理回路の処理要件の低減が生じたとき、そのような遅延処理が選択される。処理要件におけるそのような低減は、例えば、記憶媒体を読み取っているときのトラック内の変化又はデータ送信デバイスの送信終了に起因して生じる場合がある。本明細書において提供される開示に基づいて、当業者であれば、当業者であれば、結果としてデータ処理回路の過少使用が生じる場合がある様々なシナリオを認識するであろう。
遅延処理が所望されていない場合(ブロック425)、標準的な処理が適用される。この標準的な処理は、バッファーから、処理のための次の等化出力を選択すること(ブロック430)を含む。この選択は、当該技術分野において既知の任意のデータ処理回路選択アルゴリズムに従って行うことができる。選択された等化出力にデータ検出アルゴリズムが適用され、検出出力が得られ(ブロック435)、この検出出力(又はその導出物)が中央メモリ回路に記憶される(ブロック440)。次に、この記憶されたデータは、標準的な処理の実行のために中央メモリからアクセスすることができる(流れ図445)。この標準的な処理は、図4bの流れ図445に従って行われる。
遅延処理が所望されている場合(ブロック425)、遅延処理が適用される。この遅延処理は、バッファーから、処理のための次の遅延処理等化出力を選択することを含む(ブロック450)。遅延処理等化出力は、標準的な処理の間に収束に失敗した1つ又は複数のデータセットから選択される。現在処理中のデータセットに適用される残りのグローバル反復数は、遅延グローバル最大数に等しくなるように設定される(ブロック480)。本発明の幾つかの実施形態では、遅延グローバル最大数は20である。選択された遅延処理等化出力にデータ検出アルゴリズムが適用され、検出出力が得られ(ブロック485)、この検出出力(又はその導出物)が中央メモリ回路に記憶される(ブロック490)。次に、この記憶されたデータは、遅延処理の実行のために、中央メモリからアクセスすることができる(図4cの流れ図495)。
図4bを参照すると、流れ図445が上述した標準的な処理の実施態様を示している。流れ図445に従って、復号化器回路が以前に記憶された検出出力を処理するのに利用可能であるか否かが判断される(ブロック401)。復号化器回路が利用可能である場合(ブロック401)、検出出力の次の導出物が処理のために選択され、中央メモリ回路からアクセスされる(ブロック406)。非バイナリデータ復号化アルゴリズムの第1のローカル反復が、データ復号化器回路によって、選択された検出出力に適用され、非バイナリ復号化出力が得られる(ブロック411)。
次に、非バイナリ復号化出力が収束している(すなわち正しい結果が得られた)か否かが判断される(ブロック416)。復号化された出力が収束している場合(ブロック416)、非バイナリ復号化出力は硬判定出力バッファーに提供される(ブロック421)。次に、硬判定出力バッファーがアンロードの準備ができているか否かが判断される(ブロック456)。幾つかの場合には、硬判定出力バッファーは、最も近時に完了した復号化された出力が、以前にデータ出力として提供された復号化された出力の後の次の復号化された出力であるとき、アンロードする準備ができている。硬判定出力バッファーがアンロードする準備ができている場合(ブロック456)、硬判定出力バッファー内に維持されている連続した復号化された出力の全てがデータ出力として受信者デバイスに提供される(ブロック461)。本明細書において提供された開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる多岐にわたる受信者デバイスを認識するであろう。
一方、非バイナリ復号化出力が収束に失敗した場合(ブロック416)、ローカル反復カウントがローカル反復制限を超えたか否かが判断される(ブロック426)。このローカル反復制限は、例えば、10回のローカル反復とすることができる。ローカル反復数をまだ超えていない場合(ブロック426)、非バイナリ復号化出力によって誘導されて、後続のローカル反復について、現在処理中のデータセットにデータ復号化アルゴリズムが再適用され、更新された非バイナリ復号化出力が得られる(ブロック431)。次に、ブロック416において開始するプロセスが繰り返される。
一方、現在進行中のグローバル反復についてローカル反復数を超えている場合(ブロック426)、現在処理中のデータセットに最大数のグローバル反復が既に適用されたか否かが判断される(ブロック436)。このグローバル反復数は、例えばタイムアウト条件が発生したか、又はメモリ使用制限を超えた場合に完了し得る。グローバル反復が完了していない場合(ブロック436)、非バイナリ復号化出力は標準的な出力として中央メモリに記憶され、中央メモリにおいて、後続のグローバル反復における処理を待つ(ブロック441)。一方、グローバル反復が完了した場合(ブロック436)、現在処理中のデータセットが遅延処理(すなわち遅延処理期間中の処理)によって特定され(ブロック446)、非バイナリ復号化出力が、使用不可能としてマーク付けされたデータ出力として提供される(ブロック451)。
図4cを参照すると、流れ図495が上述した遅延処理の実施態様を示している。流れ図495に従って、復号化器回路が以前に記憶された検出出力を処理するのに利用可能であるか否かが判断される(ブロック402)。復号化器回路が利用可能である場合(ブロック402)、遅延処理のために生成された(すなわち、ブロック446において遅延処理のために特定された)検出出力の次の導出物が処理のために選択され、中央メモリ回路からアクセスされる(ブロック407)。非バイナリ復号化が選択され(ブロック412)、非バイナリデータ復号化アルゴリズムが、以前に選択された復号化結果によって誘導されて、非バイナリH行列を用いて検出出力の導出物に適用され、非バイナリ復号化出力が得られる(ブロック417)。遅延処理の第1のローカル反復の場合、以前に選択された復号化結果は、ブロック451から出力バッファーに記憶された非バイナリ復号化出力である。後続のローカル反復の場合、以前に選択された復号化結果は、非バイナリ復号化出力(ブロック482)又はバイナリ復号化出力(ブロック477)のうちの選択された一方である。
非バイナリ復号化出力が収束している(すなわち正しい結果が得られた)か否かが判断される(ブロック422)。非バイナリ復号化出力が収束している場合(ブロック422)、非バイナリ復号化出力はデータ出力として提供され、後続のデータセットに対し動作する別のグローバル反復が開始する(ブロック432)。そうではなく、非バイナリ復号化出力が収束に失敗した場合(ブロック422)、非バイナリ復号化出力は今後の使用のために記憶される(ブロック427)。非バイナリ復号化出力は、例えば出力バッファー、中央メモリバッファー、又は入力バッファーの使用されていない領域に記憶することができる。加えて、非バイナリ復号化出力内の満たされていない検査は、バイナリの満たされていない検査に変換される(ブロック437)。これは例えば、非バイナリ復号化出力に対応する硬判定にバイナリH行列を乗算して、複数のバイナリの満たされていない検査を得ることによって行うことができる。非バイナリの結果からバイナリの満たされていない検査を得るこのプロセスは、当該技術分野において既知である。例えば、F. J. Macwilliams他「The Theory of Error CorrectionCodes」(North-Holland Publishing Company, p. 106)を参照されたい。
次に、バイナリ復号化が選択され(ブロック442)、バイナリ復号化アルゴリズムが、以前に選択された復号化結果によって誘導されて、バイナリH行列を用いて検出出力の導出物に適用され、バイナリ復号化出力が得られる(ブロック447)。遅延処理の第1のローカル反復の場合、以前に選択された復号化結果は、ブロック451からの、出力バッファーに記憶された非バイナリ復号化出力である。後続のローカル反復の場合、以前に選択された復号化結果は、非バイナリ復号化出力(ブロック482)又はバイナリ復号化出力(ブロック477)のうちの選択された一方である。流れ図495はバイナリ復号化(ブロック447)に先行して非バイナリ復号化(ブロック417)を示しているが、本発明の他の実施形態では、バイナリ復号化は非バイナリ復号化に先行することができる。本発明のまた他の実施形態では、バイナリ復号化は非バイナリ復号化と並列に行うことができる。
バイナリ復号化出力が収束している(すなわち正しい結果が得られた)か否かが判断される(ブロック452)。バイナリ復号化出力が収束している場合(ブロック452)、バイナリ復号化出力はデータ出力として提供され、後続のデータセットに対し動作する別のグローバル反復が開始する(ブロック462)。そうではなく、バイナリ復号化出力が収束に失敗した場合(ブロック452)、バイナリ復号化出力は今後の使用のために記憶される(ブロック457)。バイナリ復号化出力は、例えば出力バッファー、中央メモリバッファー、又は入力バッファーの使用されていない領域に記憶することができる。
非バイナリ復号化出力に対応するバイナリの満たされていない(正:unsatisfied)検査の数(ブロック437)が、バイナリ復号化出力内のバイナリの満たされていない検査の数と比較される(ブロック467)。非バイナリ復号化出力に対応するバイナリの満たされていない検査の数が、バイナリ復号化出力(正:binarydecoded output)に対応するバイナリの満たされていない検査の数よりも大きい場合(ブロック472)、ブロック447からのバイナリ復号化出力が選択された復号化結果として選択される(ブロック477)。そうではなく、非バイナリ復号化出力に対応するバイナリの満たされていない検査の数が、バイナリ復号化出力(正:binarydecoded output)に対応するバイナリの満たされていない検査の数以下である場合(ブロック472)、ブロック417からの非バイナリ復号化出力が選択された復号化結果として選択される(ブロック482)。
次に、別のローカル反復が許可されるか否かが判断される(ブロック487)。別のローカル反復が許可される場合(ブロック487)、ブロック412において開始するプロセスが、新たに選択された復号化結果を用いて繰り返される。そうではなく、別のローカル反復が許可されない場合(ブロック487)、別のグローバル反復が許可されるか否かが判断される(ブロック492)。別のグローバル反復が許可されない場合(ブロック492)、エラーが示され、後続のデータセットに対する処理が開始する(ブロック499)。そうではなく、別のグローバル反復が許可される場合(ブロック492)、データ検出アルゴリズムが、選択された復号化結果によって誘導されて、選択された遅延処理等化出力に適用され、更新された検出出力が得られ(ブロック497)、ブロック402において開始するプロセスが同じデータセットについて再開される。
上記のアプリケーションにおいて論述した様々なブロックは、他の機能とともに集積回路に実装することができることに留意すべきである。そのような集積回路は、所与のブロック、システム若しくは回路の機能の全て、又はブロック、システム若しくは回路のサブセットのみの機能の全てを含むことができる。また、ブロック、システム又は回路の要素を複数の集積回路にわたって実装することができる。そのような集積回路は、当該技術分野において知られている任意のタイプの集積回路とすることができる。この任意のタイプの集積回路には、モノリシック集積回路、フリップチップ集積回路、マルチチップモジュール集積回路及び/又は混合信号集積回路が含まれるが、これらに限定されるものではない。本明細書において論述されたブロック、システム又は回路の様々な機能を、ソフトウェア又はファームウェアのいずれかで実装することができることにも留意すべきである。そのような幾つかの場合には、システム全体、ブロック全体又は回路全体を、そのソフトウェア等価物又はファームウェア等価物を用いて実装することができる。他の場合には、所与のシステム、ブロック又は回路の一部分をソフトウェア又はファームウェアで実装することができる一方、他の部分はハードウェアで実装される。
結論として、本発明は、データ処理のための新規なシステム、デバイス、方法及び構成を提供する。本発明の1つ又は複数の実施形態の詳細な説明が上記で与えられたが、本発明の趣旨から逸脱することなく、様々な代替形態、変更形態及び均等物が当業者には明らかであろう。したがって、上記の説明は本発明の範囲を限定するものとして解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲によって画定される。

Claims (20)

  1. データ処理システムであって、
    非バイナリ符号語に対応するサンプルセットを維持するように動作可能なサンプルバッファーと、
    データ復号化器回路であって、
    前記サンプルセットから導出された復号化器入力に非バイナリデータ復号化アルゴリズムを適用して非バイナリ復号化出力を得て、
    前記復号化器入力にバイナリデータ復号化アルゴリズムを適用してバイナリ復号化出力を得て、
    前記非バイナリ復号化出力に対応する、満たされていない検査の第1の数を求め、
    前記バイナリ復号化出力に対応する、満たされていない検査の第2の数を求め、
    前記満たされていない検査の第1の数及び前記満たされていない検査の第2の数に少なくとも部分的に基づいて、前記バイナリ復号化出力及び前記非バイナリ復号化出力のうちの一方を選択された復号化結果として選択する
    ように動作可能な、データ復号化器回路と、
    を備える、データ処理システム。
  2. 前記非バイナリ復号化出力は第1の非バイナリ復号化出力であり、前記バイナリ復号化出力は第1のバイナリ復号化出力であり、前記データ復号化器回路は、
    前記選択された復号化結果によって誘導されて、前記非バイナリデータ復号化アルゴリズムを前記復号化器入力に再適用して、第2の非バイナリ復号化出力を得て、
    前記選択された復号化結果によって誘導されて、前記バイナリデータ復号化アルゴリズムを前記復号化器入力に再適用して第2のバイナリ復号化出力を得る
    ように更に動作可能である、請求項1に記載のデータ処理システム。
  3. 前記非バイナリデータ復号化アルゴリズムを適用することは非バイナリH行列を利用し、前記バイナリデータ復号化アルゴリズムを適用することはバイナリH行列を利用する、請求項1に記載のデータ処理システム。
  4. 前記非バイナリ復号化出力に対応する、前記満たされていない検査の第1の数を求めることは、前記非バイナリ復号化出力に前記バイナリH行列を乗算してバイナリ等価物を得ることを含む、請求項3に記載のデータ処理システム。
  5. 前記非バイナリ符号語内の各シンボルは2個のパターンを表し、ここでNはシンボルあたりのゼロでないビット数であり、前記バイナリデータ復号化アルゴリズムを適用することは、前記非バイナリ符号語を単一ビットのシンボルを有するものとして扱うことを含む、請求項1に記載のデータ処理システム。
  6. 前記バイナリ復号化出力は、前記満たされていない検査の第2の数が、前記満たされていない検査の第1の数未満であるときに選択される、請求項1に記載のデータ処理システム。
  7. 前記非バイナリ復号化出力は、前記満たされていない検査の第1の数が、前記満たされていない検査の第2の数未満であるときに選択される、請求項1に記載のデータ処理システム。
  8. 前記サンプルセットにデータ検出アルゴリズムを適用して検出出力を得るように動作可能なデータ検出器回路を更に備え、前記復号化器入力は前記検出出力から導出される、請求項1に記載のデータ処理システム。
  9. 前記データ検出器回路は、ビタビアルゴリズムデータ検出器回路と、最大アポステリオリデータ検出器回路とからなる群から選択される、請求項8に記載のデータ処理システム。
  10. 前記データ復号化器回路は、低密度パリティチェック復号化器回路である、請求項1に記載のデータ処理システム。
  11. 前記データ処理システムは、記憶デバイス及び受信デバイスからなる群から選択されるデバイスの一部として実施される、請求項1に記載のデータ処理システム。
  12. 前記データ処理システムは、集積回路の一部として実施される、請求項1に記載のデータ処理システム。
  13. 復号化器入力に非バイナリデータ復号化アルゴリズムを適用することであって、それにより非バイナリ復号化出力を得る、適用することと、
    前記復号化器入力にバイナリデータ復号化アルゴリズムを適用することであって、それによりバイナリ復号化出力を得る、適用することと、
    前記非バイナリ復号化出力に対応する、満たされていない検査の第1の数を求めることと、
    前記バイナリ復号化出力に対応する、満たされていない検査の第2の数を求めることと、
    前記満たされていない検査の第1の数及び前記満たされていない検査の第2の数に少なくとも部分的に基づいて、前記バイナリ復号化出力及び前記非バイナリ復号化出力のうちの一方を選択された復号化結果として選択することと、
    を含む、方法。
  14. 請求項13に記載の方法であって、
    前記非バイナリ復号化出力は第1の非バイナリ復号化出力であり、前記バイナリ復号化出力は第1のバイナリ復号化出力であり、該方法は、
    前記選択された復号化結果によって誘導されて、前記非バイナリデータ復号化アルゴリズムを前記復号化器入力に再適用することであって、それにより第2の非バイナリ復号化出力を得る、再適用することと、
    前記選択された復号化結果によって誘導されて、前記バイナリデータ復号化アルゴリズムを前記復号化器入力に再適用することであって、それにより第2のバイナリ復号化出力を得る、再適用することと、
    を更に含む、請求項13に記載の方法。
  15. 前記非バイナリデータ復号化アルゴリズムを適用することは非バイナリH行列を利用し、前記バイナリデータ復号化アルゴリズムを適用することはバイナリH行列を利用する、請求項14に記載の方法。
  16. 前記非バイナリ復号化出力に対応する、前記満たされていない検査の第1の数を求めることは、前記非バイナリ復号化出力に前記バイナリH行列を乗算してバイナリ等価物を得ることを含む、請求項15に記載の方法。
  17. 前記バイナリ復号化出力は、前記満たされていない検査の第2の数が、前記満たされていない検査の第1の数未満であるときに選択され、
    前記非バイナリ復号化出力は、前記満たされていない検査の第1の数が、前記該満たされていない検査の第2の数未満であるときに選択される、請求項13に記載の方法。
  18. データ検出アルゴリズムをサンプルセットに適用することであって、それにより検出出力を得る、適用することを更に含み、前記復号化器入力は前記検出出力から導出される、請求項13に記載の方法。
  19. 記憶デバイスであって、
    記憶媒体と、
    前記記憶媒体に対して配置されるとともに、該記憶媒体上の情報に対応する検知信号を与えるように動作可能なヘッドアセンブリと、
    読取りチャネル回路であって、
    前記検知信号に対応するアナログ信号を提供するように動作可能なアナログフロントエンド回路と、
    前記アナログ信号をサンプリングして一連のデジタルサンプルを得るように動作可能なアナログ/デジタル変換器回路と、
    前記デジタルサンプルを等化してサンプルセットを得るように動作可能な等化器回路と、
    前記サンプルセットを維持するように動作可能なサンプルバッファーと、
    データ復号化器回路であって、
    前記サンプルセットから導出された復号化器入力に非バイナリデータ復号化アルゴリズムを適用して非バイナリ復号化出力を得て、
    前記復号化器入力にバイナリデータ復号化アルゴリズムを適用してバイナリ復号化出力を得て、
    前記非バイナリ復号化出力に対応する、満たされていない検査の第1の数を求め、
    前記バイナリ復号化出力に対応する、満たされていない検査の第2の数を求め、
    前記満たされていない検査の第1の数及び前記満たされていない検査の第2の数に少なくとも部分的に基づいて、前記バイナリ復号化出力及び前記非バイナリ復号化出力のうちの一方を選択された復号化結果として選択する
    ように動作可能な、データ復号化器回路と、
    を備える、読取りチャネル回路と、
    を備える、記憶デバイス。
  20. 前記バイナリ復号化出力は第1の非バイナリ復号化出力であり、前記バイナリ復号化出力は第1のバイナリ復号化出力であり、前記データ復号化器回路は、
    前記選択された復号化結果によって誘導されて、前記非バイナリデータ復号化アルゴリズムを前記復号化器入力に再適用して、第2の非バイナリ復号化出力を得て、
    前記選択された復号化結果によって誘導されて、前記バイナリデータ復号化アルゴリズムを前記復号化器入力に再適用して第2のバイナリ復号化出力を得る
    ように更に動作可能である、請求項19に記載の記憶デバイス。
JP2013085447A 2012-05-17 2013-04-16 バイナリ復号化及び非バイナリ復号化の二重処理のためのシステム及び方法 Expired - Fee Related JP5415638B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/474,672 US8525707B1 (en) 2012-05-17 2012-05-17 Systems and methods for dual binary and non-binary decoding processing
US13/474,672 2012-05-17

Publications (2)

Publication Number Publication Date
JP2013243652A true JP2013243652A (ja) 2013-12-05
JP5415638B2 JP5415638B2 (ja) 2014-02-12

Family

ID=48128161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013085447A Expired - Fee Related JP5415638B2 (ja) 2012-05-17 2013-04-16 バイナリ復号化及び非バイナリ復号化の二重処理のためのシステム及び方法

Country Status (6)

Country Link
US (1) US8525707B1 (ja)
EP (1) EP2665191B1 (ja)
JP (1) JP5415638B2 (ja)
KR (1) KR101385380B1 (ja)
CN (1) CN103427843B (ja)
TW (1) TWI456911B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9324371B2 (en) * 2012-07-02 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-stage decoding processing
US9761273B1 (en) 2015-11-03 2017-09-12 Western Digital Technologies, Inc. Data storage device encoding and interleaving codewords to improve trellis sequence detection
US10056920B1 (en) 2015-11-03 2018-08-21 Western Digital Technologies, Inc. Data storage device encoding and interleaving codewords to improve trellis sequence detection
US10063257B1 (en) 2015-11-03 2018-08-28 Western Digital Technologies, Inc. Data storage device encoding and interleaving codewords to improve trellis sequence detection
CN109429324B (zh) * 2017-06-30 2021-03-05 中国电信股份有限公司 实现tti-b激活、去激活的方法、系统和基站

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2705744B2 (ja) * 1992-11-13 1998-01-28 富士ゼロックス株式会社 画像符号化装置及び復号装置
JP3328093B2 (ja) 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
US5701314A (en) 1995-12-21 1997-12-23 Cirrus Logic, Inc. On-the-fly error correction using thermal asperity erasure pointers from a sampled amplitude read channel in a magnetic disk drive
GB2350531B (en) 1999-05-26 2001-07-11 3Com Corp High speed parallel bit error rate tester
DE10085214T1 (de) 1999-11-22 2002-10-31 Seagate Technology Llc Verfahren und Vorrichtung für Data-Error-Recovery mit Defekt-Schwellwertdetektor und Viterbi-Verstärkungsfaktor
US6678230B2 (en) * 2000-10-31 2004-01-13 Matsushita Electric Industrial Co., Ltd. Waveform equalizer for a reproduction signal obtained by reproducing marks and non-marks recorded on a recording medium
US7136244B1 (en) 2002-02-22 2006-11-14 Western Digital Technologies, Inc. Disk drive employing data averaging techniques during retry operations to facilitate data recovery
JP2005528840A (ja) * 2002-05-31 2005-09-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 線形ブロック符号の軟復号化
US7730384B2 (en) 2005-02-28 2010-06-01 Agere Systems Inc. Method and apparatus for evaluating performance of a read channel
US7054219B1 (en) * 2005-03-31 2006-05-30 Matrix Semiconductor, Inc. Transistor layout configuration for tight-pitched memory array lines
KR100703776B1 (ko) * 2005-04-19 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치
ATE425588T1 (de) * 2006-02-16 2009-03-15 Ericsson Telefon Ab L M Hybride dekodierung unter benutzung mehrerer paralleler turbo-dekoder
US7738201B2 (en) 2006-08-18 2010-06-15 Seagate Technology Llc Read error recovery using soft information
US7702989B2 (en) 2006-09-27 2010-04-20 Agere Systems Inc. Systems and methods for generating erasure flags
US7971125B2 (en) 2007-01-08 2011-06-28 Agere Systems Inc. Systems and methods for prioritizing error correction data
RU2377722C2 (ru) * 2007-06-21 2009-12-27 Валерий Владимирович Золотарев Способ декодирования помехоустойчивого кода
KR101480383B1 (ko) * 2007-07-25 2015-01-09 삼성전자주식회사 코드 인코딩 장치
WO2009074978A2 (en) * 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
KR20090126829A (ko) * 2008-06-05 2009-12-09 삼성전자주식회사 반복 복호 방법과 반복 복호 장치
JP2012509549A (ja) 2008-11-20 2012-04-19 エルエスアイ コーポレーション 雑音低減型データ検出のシステムおよび方法
US7948699B2 (en) * 2009-01-02 2011-05-24 Lsi Corporation Systems and methods for equalizer optimization in a storage access retry
US8504891B2 (en) * 2009-03-27 2013-08-06 University Of Connecticut Apparatus, systems and methods including nonbinary low density parity check coding for enhanced multicarrier underwater acoustic communications
US8347155B2 (en) * 2009-04-17 2013-01-01 Lsi Corporation Systems and methods for predicting failure of a storage medium
US7990642B2 (en) 2009-04-17 2011-08-02 Lsi Corporation Systems and methods for storage channel testing
FR2945391A1 (fr) * 2009-05-05 2010-11-12 Univ Bretagne Sud Procede de commande d'une unite de calcul, telle qu'un noeud de parite elementaire dans un decodeur de codes ldpc non binaires, et unite de calcul correspondante
US8176404B2 (en) 2009-09-09 2012-05-08 Lsi Corporation Systems and methods for stepped data retry in a storage system
FR2951339B1 (fr) * 2009-10-09 2011-12-09 Commissariat Energie Atomique Procede de decodage de codes non binaires
US8688873B2 (en) 2009-12-31 2014-04-01 Lsi Corporation Systems and methods for monitoring out of order data decoding
US8810940B2 (en) 2011-02-07 2014-08-19 Lsi Corporation Systems and methods for off track error recovery
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing
US8566666B2 (en) * 2011-07-11 2013-10-22 Lsi Corporation Min-sum based non-binary LDPC decoder
US8656249B2 (en) * 2011-09-07 2014-02-18 Lsi Corporation Multi-level LDPC layer decoder
US8707144B2 (en) * 2011-10-17 2014-04-22 Lsi Corporation LDPC decoder with targeted symbol flipping

Also Published As

Publication number Publication date
TW201406071A (zh) 2014-02-01
JP5415638B2 (ja) 2014-02-12
TWI456911B (zh) 2014-10-11
US8525707B1 (en) 2013-09-03
EP2665191A1 (en) 2013-11-20
EP2665191B1 (en) 2016-06-15
KR20130129093A (ko) 2013-11-27
KR101385380B1 (ko) 2014-04-14
CN103427843A (zh) 2013-12-04
CN103427843B (zh) 2014-10-15

Similar Documents

Publication Publication Date Title
US9230596B2 (en) Systems and methods for variable rate coding in a data processing system
US8949704B2 (en) Systems and methods for mis-correction correction in a data processing system
US9385756B2 (en) Data processing system with retained sector reprocessing
JP5415638B2 (ja) バイナリ復号化及び非バイナリ復号化の二重処理のためのシステム及び方法
US9385758B2 (en) Systems and methods for efficient targeted symbol flipping
TW201407464A (zh) 以亂序傳送之資料處理系統
JP5680696B2 (ja) シンボルの再グループ化による復号化処理のためのシステム及び方法
US8762815B2 (en) Systems and methods for data decoder state preservation during extended delay processing
US8749907B2 (en) Systems and methods for adaptive decoder message scaling
US8634152B1 (en) Systems and methods for throughput enhanced data detection in a data processing circuit
US9817716B2 (en) Systems and methods for retaining non-converged data sets for additional processing
US8817404B1 (en) Systems and methods for data processing control
US9112539B2 (en) Systems and methods for iterative data processing using feedback iteration
US9058842B2 (en) Systems and methods for gate aware iterative data processing
US8819521B2 (en) Systems and methods for short media defect detection using non-binary coded information
US9324371B2 (en) Systems and methods for multi-stage decoding processing
US20140068372A1 (en) Systems and Methods for Local Iteration Randomization in a Data Decoder
US20140359393A1 (en) Systems and Methods for Data Processing Using Global Iteration Result Reuse
US20130205146A1 (en) Systems and Methods for Power Governance in a Data Processing Circuit
US8416666B1 (en) Systems and methods for local iteration determination during delay processing
US8854763B2 (en) Systems and methods for managed operational marginalization
US9245586B2 (en) Systems and methods for short media defect detection using multi-iteration soft data feedback
JP2013251038A (ja) Eetフィードバックを含むデータ処理のためのシステム及び方法
TW201346579A (zh) 用於失序資料回報之系統及方法

Legal Events

Date Code Title Description
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: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131113

R150 Certificate of patent or registration of utility model

Ref document number: 5415638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees