(57)【特許請求の範囲】
【請求項１】
データ処理システムであって、
データ復号化システムを備え、該データ復号化システムは、
第１の変更アルゴリズムを用いて符号語に相当する復号化器入力を変更して第１の変更された出力を得て、該第１の変更アルゴリズムが、該第１の変更された出力が該復号化器入力と同じになるようにするパススルーアルゴリズムであり、
第２の変更アルゴリズムを用いて符号語に相当する前記復号化器入力を変更して第２の変更された出力を得て、該第２の変更アルゴリズムが、該第２の変更された出力が該復号化器入力のローテーションバージョンとなるようにするローテーションアルゴリズムであり、
データ復号化器回路によって前記第１の変更された出力にデータ復号化アルゴリズムを適用して第１の復号化された出力を得て、
前記データ復号化器回路によって前記第２の変更された出力に前記データ復号化アルゴリズムを適用して第２の復号化された出力を得て、
前記第１の復号化された出力に対応する、満たされていない検査の第１の数を求め、
前記第２の復号化された出力に対応する、満たされていない検査の第２の数を求め、
前記満たされていない検査の第１の数が前記満たされていない検査の第２の数よりも少ない場合に、前記第１の復号化された出力を前記選択された復号化結果として選択し、
前記満たされていない検査の第２の数が前記満たされていない検査の第１の数よりも少ない場合に、前記第２の復号化された出力を前記選択された復号化結果として選択するよう動作可能である、データ処理システム。
【請求項２】
前記データ復号化システムは、
前記選択された復号化結果によって誘導されて、前記データ復号化アルゴリズムを前記第１の変更された出力に再適用して第３の復号化された出力を得て、
前記選択された復号化結果によって誘導されて、前記データ復号化アルゴリズムを前記第２の変更された出力に再適用して第４の復号化された出力を得るように更に動作可能である、請求項１に記載のデータ処理システム。
【請求項３】
前記復号化器入力は複数の非バイナリシンボルを含む、請求項１又は請求項２に記載のデータ処理システム。
【請求項４】
前記非バイナリシンボルはそれぞれ４ビットを含む、請求項３に記載のデータ処理システム。
【請求項５】
前記非バイナリシンボル内のビットは列に配列され、前記第１の変更された出力内の前記非バイナリシンボルのそれぞれは連続した列からのビットを含む、請求項３に記載のデータ処理システム。
【請求項６】
前記第２の変更された出力内の前記非バイナリシンボルのうちの少なくとも１つは、連続していない列からのビットを含む、請求項５に記載のデータ処理システム。
【請求項７】
サンプルセットにデータ検出アルゴリズムを適用して検出出力を得るように動作可能なデータ検出器回路を更に備え、前記復号化器入力は前記検出出力から導出される、請求項１ないし請求項６の何れか一項に記載のデータ処理システム。
【請求項８】
前記データ検出器回路は、ビタビアルゴリズムデータ検出器回路と、最大アポステリオリデータ検出器回路とからなる群から選択される、請求項７に記載のデータ処理システム。
【請求項９】
前記データ復号化アルゴリズムは、低密度パリティチェックアルゴリズムである、請求項１ないし請求項８の何れか一項に記載のデータ処理システム。
【請求項１０】
前記データ処理システムは、記憶デバイス及び受信デバイスからなる群から選択されるデバイスの一部として実施される、請求項１ないし請求項９の何れか一項に記載のデータ処理システム。
【請求項１１】
前記データ処理システムは、集積回路の一部として実施される、請求項１ないし請求項１０の何れか一項に記載のデータ処理システム。
【請求項１２】
データ復号化システムを備えたデータ処理システムにより実行される方法であって、
該データ復号化システムが、
第１の変更アルゴリズムを用いて符号語に相当する復号化器入力を変更して第１の変更された出力を得て、該第１の変更アルゴリズムが、該第１の変更された出力が該復号化器入力と同じになるようにするパススルーアルゴリズムであり、
第２の変更アルゴリズムを用いて符号語に相当する前記復号化器入力を変更して第２の変更された出力を得て、該第２の変更アルゴリズムが、該第２の変更された出力が該復号化器入力のローテーションバージョンとなるようにするローテーションアルゴリズムであり、
データ復号化器回路によって前記第１の変更された出力にデータ復号化アルゴリズムを適用して第１の復号化された出力を得て、
前記データ復号化器回路によって前記第２の変更された出力に前記データ復号化アルゴリズムを適用して第２の復号化された出力を得て、
前記第１の復号化された出力に対応する、満たされていない検査の第１の数を求め、
前記第２の復号化された出力に対応する、満たされていない検査の第２の数を求め、
前記満たされていない検査の第１の数が前記満たされていない検査の第２の数よりも少ない場合に、前記第１の復号化された出力を前記選択された復号化結果として選択し、
前記満たされていない検査の第２の数が前記満たされていない検査の第１の数よりも少ない場合に、前記第２の復号化された出力を前記選択された復号化結果として選択する、
という各ステップを実行する、データ処理システムにより実行される方法。
【請求項１３】
前記選択された復号化結果によって誘導されて、前記データ復号化アルゴリズムを第１の変更された出力に再適用して第３の復号化された出力を得て、
前記選択された復号化結果によって誘導されて、前記データ復号化アルゴリズムを第２の変更された出力に再適用して第４の復号化された出力を得る、という各ステップを更に含む、請求項１２に記載の方法。
【請求項１４】
前記復号化器入力は複数の非バイナリシンボルを含み、該非バイナリシンボル内のビットは列内に配列され、前記変更された出力内の前記非バイナリシンボルのそれぞれは、連続していない列からのビットを含む、請求項１２又は請求項１３に記載の方法。
【請求項１５】
記憶デバイスであって、
記憶媒体と、
前記記憶媒体に対して配置されるとともに、前記記憶媒体上の情報に対応する検知信号を与えるように動作可能なヘッドアセンブリと、
読取りチャネル回路であって、
前記検知信号に対応するアナログ信号を提供するように動作可能なアナログフロントエンド回路と、
前記アナログ信号をサンプリングして一連のデジタルサンプルを得るように動作可能なアナログ／デジタル変換器回路と、
前記デジタルサンプルを等化してサンプルセットを得るように動作可能な等化器回路と、
前記サンプルセットを維持するように動作可能なサンプルバッファーと、
データ復号化器回路であって、
前記サンプルセットから導出された復号化器入力を第１の変更アルゴリズムを用いて変更して第１の変更された出力を得て、該第１の変更アルゴリズムが、該第１の変更された出力が該復号化器入力と同じになるようにするパススルーアルゴリズムであり、
前記復号化器入力を第２の変更アルゴリズムを用いて変更して第２の変更された出力を得て、該第２の変更アルゴリズムが、該第２の変更された出力が該復号化器入力のローテーションバージョンとなるようにするローテーションアルゴリズムであり、
データ復号化器回路によって前記第１の変更された出力にデータ復号化アルゴリズムを適用して、第１の復号化された出力を得て、
前記データ復号化器回路によって前記第２の変更された出力に前記データ復号化アルゴリズムを適用して第２の復号化された出力を得て、
前記第１の復号化された出力に対応する、満たされていない検査の第１の数を求め、
前記第２の復号化された出力に対応する、満たされていない検査の第２の数を求め、
前記満たされていない検査の第１の数が前記満たされていない検査の第２の数よりも少ない場合に、前記第１の復号化された出力を前記選択された復号化結果として選択し、
前記満たされていない検査の第２の数が前記満たされていない検査の第１の数よりも少ない場合に、前記第２の復号化された出力を前記選択された復号化結果として選択し、
前記選択された復号化結果によって誘導されて、前記データ復号化アルゴリズムを前記第１の変更された出力に再適用して第３の復号化された出力を得て、
前記選択された復号化結果によって誘導されて、前記データ復号化アルゴリズムを前記第２の変更された出力に再適用して第４の復号化された出力を得るように動作可能である、データ復号化器回路と、
を備える、読取りチャネル回路と、
を備える、記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理を行うためのシステム及び方法に関し、より詳細には、データ処理の一部として、データ復号化アルゴリズムを復号化器入力の様々なローテーションに適用するためのシステム及び方法に関する。
【背景技術】
【０００２】
データ処理回路は、多くの場合にデータ検出器回路とデータ復号化器回路とを含む。幾つかの場合には、元々書き込まれたデータを復元しようと試みて、データ検出器回路及びデータ復号化器回路の双方を通る多くの通過が生じる。データ検出器回路及びデータ復号化器回路の双方を通る各通過は、データ復号化器回路を通る複数の反復を含む場合がある。幾つかの場合には、データ復号化器回路及びデータ検出器回路を通る許可された数の反復によって正しい結果が得られない場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、少なくとも上述した理由により、データ処理のための先進的なシステム及び方法が当該技術分野において必要とされている。
【課題を解決するための手段】
【０００４】
本発明は、データ処理を行うためのシステム及び方法に関し、より詳細には、データ処理の一部として、データ復号化アルゴリズムを復号化器入力の様々なローテーションに適用するためのシステム及び方法に関する。
【０００５】
本発明の様々な実施の形態は、データ復号化システムを備えるデータ処理システムを提供する。該データ復号化システムは、
第１の変更アルゴリズムを用いて復号化器入力を変更して、第１の変更された出力を得て、
第２の変更アルゴリズムを用いて前記復号化器入力を変更して、第２の変更された出力を得て、
データ復号化器回路によって、前記第１の変更された出力にデータ復号化アルゴリズムを適用して、第１の復号化された出力を得て、
前記データ復号化器回路によって、前記第２の変更された出力に前記データ復号化アルゴリズムを適用して、第２の復号化された出力を得て、
前記第２の復号化された出力の第１の特徴及び前記第２の復号化された出力の第２の特徴に少なくとも部分的に基づいて、前記第１の復号化された出力及び前記第２の復号化された出力のうちの一方を選択された復号化結果として選択するように動作可能である。本発明の幾つかの実施の形態では、前記データ復号化アルゴリズムは、低密度パリティチェックアルゴリズムである。幾つかの場合、前記データ処理システムは、記憶デバイス又は受信デバイスの一部として実施される。一つ又は複数の場合、前記データ処理システムは、集積回路の一部として実施される。
【０００６】
上述した実施の形態の幾つかの例では、前記第１の特徴は前記第１の復号化された出力に対応する、満たされていない検査の第１の数であり、前記第２の特徴は前記第２の復号化された出力に対応する、満たされていない検査の第２の数である。このような幾つかの場合、前記データ復号化システムは、
前記第１の復号化された出力に対応する前記満たされていない検査の第１の数を求め、
前記第２の復号化された出力に対応する前記満たされていない検査の第２の数を求めるように更に動作可能である。上述した例の幾つかの場合、前記第１の復号化された出力及び前記第２の復号化された出力のうちの前記一方を選択することは、
前記満たされていない検査の前記第１の数が前記満たされていない検査の前記第２の数未満であるとき、前記第１の復号化された出力を前記選択された復号化結果として選択することと、
前記満たされていない検査の前記第２の数が前記満たされていない検査の前記第１の数未満であるとき、前記第２の復号化された出力を前記選択された復号化結果として選択することと、
を含む。
【０００７】
上述した実施の形態の様々な例では、前記データ復号化システムは、
前記選択された復号化結果によって誘導されて、前記データ復号化アルゴリズムを前記第１の変更された出力に再適用し、第３の復号化された出力を得て、
前記選択された復号化結果によって誘導されて、前記データ復号化アルゴリズムを前記第２の変更された出力に再適用し、第４の復号化された出力を得るように更に動作可能である。
【０００８】
上述した実施の形態の様々な例では、前記復号化器入力は複数の非バイナリシンボルを含む。特定の例では、前記非バイナリシンボルはそれぞれ４ビットを含む。様々な例では、前記非バイナリシンボル内のビットは列に配列され、前記第１の変更された出力内の前記非バイナリシンボルのそれぞれは連続した列からのビットを含む。一つ又は複数の例では、前記第２の変更された出力内の前記非バイナリシンボルのうちの少なくとも１つは、連続していない列からのビットを含む。上述した実施の形態の一つ又は複数の例では、前記第１の変更アルゴリズムは、前記第１の変更された出力が前記復号化器入力と同じであるようなパススルーアルゴリズムである。このような幾つかの例では、前記第２の変更アルゴリズムは、前記第２の変更された出力が前記復号化器入力のローテーションされたバージョンであるようなローテーションアルゴリズムである。
【０００９】
本発明の他の実施の形態は、
第１の変更アルゴリズムを用いて復号化器入力を変更することであって、変更された出力を得る、変更することと、
データ復号化器回路によって、前記復号化器入力にデータ復号化アルゴリズムを適用することであって、第１の復号化された出力を得る、適用することと、
前記データ復号化器回路によって、前記変更された出力に前記データ復号化アルゴリズムを適用することであって、第２の復号化された出力を得る、適用することと、
前記第１の復号化された出力内の満たされていない検査の第１の数及び前記第２の復号化された出力内の満たされていない検査の第２の数に少なくとも部分的に基づいて、前記第１の復号化された出力及び前記第２の復号化された出力のうちの一方を選択された復号化結果として選択することと、を含む、方法を提供する。上述した実施の形態の幾つかの例では、本方法は、
前記選択された復号化結果によって誘導されて、前記データ復号化アルゴリズムを第１の変更された出力に再適用することであって、第３の復号化された出力を得る、再適用することと、
前記選択された復号化結果によって誘導されて、前記データ復号化アルゴリズムを第２の変更された出力に再適用することであって、第４の復号化された出力を得る、再適用することと、を更に含む。上述した実施の形態の様々な例では、本方法は、
前記第１の復号化された出力に対応する前記満たされていない検査の第１の数を求めることと、
前記第２の復号化された出力に対応する前記満たされていない検査の第２の数を求めることと、を更に含む。上述した実施の形態の幾つかの特定の例では、前記復号化器入力は複数の非バイナリシンボルを含み、該非バイナリシンボル内のビットは列内に配列される。このような幾つかの例では、前記変更された出力内の前記非バイナリシンボルのそれぞれは、連続していない列からのビットを含む。
【００１０】
この概要は、本発明の幾つかの実施の形態の概略のみを提供するものである。本発明の多くの他の目的、特徴、利点及び他の実施形態が、以下の詳細な説明、添付の特許請求の範囲及び添付の図面からより完全に明らかとなるであろう。
【００１１】
図面を参照することにより、本発明の様々な実施形態の更なる理解を実現することができ、これらの実施形態については本明細書の残りの部分で説明する。図面において、同様の参照符号が幾つかの図面の全てにわたって類似の構成要素を指すのに用いられている。幾つかの場合には、小文字からなるサブラベルが、複数の類似の構成要素のうちの１つを表すように参照符号に関連付けられている。存在するサブラベルを指定することなく参照符号が参照されるとき、そのような複数の類似の構成要素全てを指すことが意図される。
【図面の簡単な説明】
【００１２】
【図１】本発明の幾つかの実施形態による復号化器入力ローテーション回路部を有するデータ処理回路を示す図である。
【図２】図２ａ、図２ｂ、図２ｃは、本発明の様々な実施形態に関連して用いることができる復号化器入力の２つの異なるローテーションのうちの一方の例を示す図である。
【図３】図３ａ、図３ｂ、図３ｃ、図３ｄは、本発明の様々な実施形態に関連して用いることができる復号化器入力の２つの異なるローテーションのうちの一方の例を示す図である。
【図４ａ】ローテーションされた入力復号化処理のための本発明の幾つかの実施形態による方法を示す流れ図である。
【図４ｂ】ローテーションされた入力復号化処理のための本発明の幾つかの実施形態による方法を示す流れ図である。
【図４ｃ】ローテーションされた入力復号化処理のための本発明の幾つかの実施形態による方法を示す流れ図である。
【図５】本発明の１つ又は複数の実施形態による復号化器入力ローテーション回路部を有する読取りチャネルを含む記憶デバイスを示す図である。
【図６】本発明の幾つかの実施形態による、復号化器入力ローテーション回路部を有する受信機を備えるデータ送信デバイスを示す図である。
【発明を実施するための形態】
【００１３】
本発明は、データ処理を行うためのシステム及び方法に関し、より詳細には、データ処理の一部として、データ復号化アルゴリズムを復号化器入力の様々なローテーションに適用するためのシステム及び方法に関する。
【００１４】
本発明の様々な実施形態は、遅延処理が望ましいときに、データ復号化プロセスの変更を提供する。そのような遅延処理は、データ処理回路の処理要件の低減が生じ、したがって、そうでなければ用いられていない処理リソースの適用が、以前に収束していないデータセットに対して用いられることが可能になるときに行われる。データ処理回路の処理要件におけるそのような低減は、例えば、記憶媒体からのデータにアクセスしているときのトラック内の変化又はデータ送信デバイスの送信終了に起因して生じる場合があり、この結果、データ復号化プロセスに投入されるデータ量が低減する。本明細書において提供される開示に基づいて、当業者であれば、結果としてデータ処理回路の過少使用（under-use）が生じる場合がある様々なシナリオを認識するであろう。本明細書において検討される変更された復号化プロセスは、過少使用を伴わない事象にも同様に適用することができることにも留意すべきである。
【００１５】
本発明の特定の実施形態によれば、データ処理は、処理が収束する（すなわち正しい結果に到達する）か、又はタイムアウト条件が満たされるまで、所与のデータセットに適用される。タイムアウト条件が満たされると、データセットは、追加の処理時間及び／又はリソースが利用可能となる後の時点まで維持されることができる。この追加の処理時間は、限定ではないが、トラック変更とすることができる。追加の処理時間が利用可能となると、データ復号化アルゴリズムが第１のローテーションにおいて復号化器入力に適用されて、第１の復号化された出力が得られる。データ復号化アルゴリズムはまた、第２のローテーションにおいて復号化器入力に適用されて、第２の復号化された出力が得られる。一例として、第１のローテーションにおける復号化入力は、各非バイナリシンボルが以下の式によって示される要素を含む非バイナリ復号化器入力とすることができる。
Ｓｙｍｂｏｌｉ＝｛Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ＋１，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ＋１｝
ここで、行及び列は、符号語が配列されているアレイに対するシンボルの要素のロケーションを示す。同様に、第２のローテーションにおける復号化器入力は前と同じ復号化器入力であり、グループ化のみが異なる。例えば、第２のローテーションにおける復号化器入力は、各非バイナリシンボルが以下の式によって示される要素を含む非バイナリ復号化器入力とすることができる。
Ｓｙｍｂｏｌｉ＝｛Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋２，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ＋１，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋２，ｃｏｌｕｍｎ＋１｝
上述した式は４ビットシンボルを意味しているが、シンボルサイズのために他の数のビットを用いることもできることに留意すべきである。第１の復号化器出力内に残っている満たされていない検査の数は、第２の復号化器出力内に残っている数と比較される。第２の復号化器出力内に残っている満たされていない検査の数が第１の復号化器出力内に残っている数よりも大きい場合、第１の復号化器出力が更なる処理のために選択される。そうでない場合、第２の復号化器出力が選択される。本明細書において用いられるとき、「ローテーションする（rotate）」、「ローテーションしている（rotating）」又は「ローテーション（rotation）」という用語は、それらの最も広い意味で、データセットの任意の再配置を意味するように用いられる。一例として、そのようなローテーションすること又はローテーションは、シンボルを再グループ化することを含む。１つの特定の場合に、２つの異なるシンボルグループ化が用いられる。１つは連続した列にわたる標準的なグループ化を用い、もう１つは、第１のシンボルが１つの列からの幾つかのビットと、連続していないシンボルからの幾つかのビットとを含む。本明細書において提供される開示に基づいて、当業者であれば、本出願の範囲内でローテーションとみなすことができる多岐にわたる変更形態を認識するであろう。
【００１６】
図１を参照すると、本発明の幾つかの実施形態による、復号化器入力ローテーション回路部を有するデータ処理回路１００が示されている。データ処理回路１００は、アナログ入力１０８を受信するアナログフロントエンド回路１１０を備える。アナログフロントエンド回路１１０はアナログ入力１０８を処理し、処理済みのアナログ信号１１２をアナログ／デジタル変換器回路１１５に与える。アナログフロントエンド回路１１０には、限定ではないが、当該技術分野において既知のアナログフィルター及び増幅器回路を含めることができる。本明細書において提供される開示に基づいて、当業者であれば、アナログフロントエンド回路１１０の一部として含めることができる種々の回路部を認識するであろう。幾つかの場合には、アナログ入力１０８は記憶媒体（図示せず）に関連して配置される読取り／書込みヘッドアセンブリ（図示せず）から取り出される。他の場合、アナログ入力１０８は送信媒体（図示せず）から信号を受信するように動作可能な受信機回路（図示せず）から取り出される。送信媒体は有線又は無線とすることができる。本明細書において提供される開示に基づいて、当業者であれば、アナログ入力１０８を取り出すことができる種々のソースを認識するであろう。
【００１７】
アナログ／デジタル変換器回路１１５は処理済みのアナログ信号１１２を対応する一連のデジタルサンプル１１７に変換する。アナログ／デジタル変換器回路１１５は、アナログ入力信号に対応するデジタルサンプルを生成することが可能な当該技術分野において既知の任意の回路とすることができる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる種々のアナログ／デジタル変換器回路を認識するであろう。デジタルサンプル１１７が等化器回路１２０に提供される。等化器回路１２０はデジタルサンプル１１７に等化アルゴリズムを適用して、等化出力１２２をもたらす。本発明の幾つかの実施形態では、等化器回路１２０は当該技術分野において既知のデジタル有限インパルス応答フィルターである。
【００１８】
等化出力１２２はデータ検出器回路１２５及びサンプルバッファー回路１７５の双方に提供される。サンプルバッファー回路１７５は、等化出力１２２を、データ検出器回路１２５を通じた後続の反復において用いるためのバッファリングされたデータ１７７として記憶する。データ検出器回路１２５は、検出出力１２７を生成することが可能な当該技術分野において既知の任意のデータ検出器回路とすることができる。幾つかの例として、データ検出器回路１２５は、限定ではないが、当該技術分野において既知のビタビアルゴリズム検出器回路又は最大アプリオリ検出器回路とすることができる。一般的なフレーズ「ビタビデータ検出アルゴリズム」又は「ビタビアルゴリズムデータ検出器回路」は、任意のビタビ検出アルゴリズム若しくはビタビアルゴリズム検出器回路又はそれらの変形を意味するように最も広い意味で用いられることに留意されたい。それらの変形には、限定ではないが、双方向ビタビ検出アルゴリズム又は双方向ビタビアルゴリズム検出器回路が含まれる。また、一般的なフレーズ「最大事後データ検出アルゴリズム」又は「最大事後データ検出器回路」は、任意の最大事後検出アルゴリズム若しくは最大事後検出器回路又はそれらの変形を意味するように最も広い意味で用いられる。それらの変形には、限定ではないが、単純化された最大事後データ検出アルゴリズム、及び最大対数最大事後データ検出アルゴリズム、又は対応する検出器回路が含まれる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる種々のデータ検出器回路を認識するであろう。検出出力１２７は、硬判定及び軟判定の双方を含むことができる。「硬判定」及び「軟判定」という用語は、それらの最も広い意味で用いられる。特に、「硬判定」は、予測される元の入力値を示す出力（例えばバイナリ「１」若しくは「０」、又は非バイナリデジタル値）であり、「軟判定」は対応する硬判定が正しい尤度を示す。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる多岐にわたる硬判定及び軟判定を認識するであろう。
【００１９】
検出出力１２７は、データ検出器回路１２５とデータ復号化システム１８９との間で渡されるデータをバッファリングするように動作する中央待ち行列メモリ回路１６０に提供される。幾つかの例では、中央待ち行列メモリ回路１６０は、当該技術分野において既知のインターリーブ（すなわちデータシャッフリング）回路部及びデインターリーブ（すなわちデータシャッフリング解除）回路部を含む。データ復号化システム１８９が利用可能である場合、データ復号化システム１８９は復号化器入力１５６としての中央待ち行列メモリ回路１６０からの検出出力１２７にアクセスする。データ復号化システム１８９はグループ化回路１９４及びグループ化回路１９７に復号化器入力１５６を提供する。
【００２０】
グループ化回路１９４は、復号化器入力１５６の第１のローテーションである第１のローテーションされた復号化器入力１８３を提供する。本発明の１つの特定の実施形態では、第１のローテーションは非ローテーションである。そのような場合、グループ化回路１９４は、第１のローテーションされた復号化器入力１８３として復号化器入力１５６を提供するパススルー回路である。ローテーションを有しない復号化器入力の一例が図２ａ〜図２ｃに示されている。ここでは、データ復号化器回路に投入されるシンボルは、以下の式に従って示される。
Ｓｙｍｂｏｌｉ＝｛Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ＋１，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ＋１｝
ここで、行及び列は、符号語が配列されているアレイに対するシンボルの要素のロケーションを示す。ここでもまた、上述した式は４ビットシンボルを意味しているが、シンボルサイズのために他の数のビットを用いることもできることに留意すべきである。そのようなローテーションされていない符号化器入力の特徴は、行内の第１のシンボルが連続した列からの要素を含むことである。
【００２１】
グループ化回路１９７は、復号化器入力１５６の第２のローテーションである第２のローテーションされた復号化器入力１８１を提供する。本発明の１つの特定の実施形態では、第２のローテーションはオフセットローテーションである。そのようなローテーションを有する復号化器入力の一例が図３ａ〜図３ｄに示されている。ここでは、データ復号化器回路に投入されるシンボルは、以下の式に従って示される。
Ｓｙｍｂｏｌｉ＝｛Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋２，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ＋１，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋２，ｃｏｌｕｍｎ＋１｝
ここでもまた、上述した式は４ビットシンボルを意味しているが、シンボルサイズのために他の数のビットを用いることもできることに留意すべきである。そのようなローテーションされている符号化器入力の特徴は、ローテーション又はオフセットの結果として、行内の第１のシンボルが連続しない列からの要素を含むことである。このオフセットは、所与の行内の後続の複数のシンボルにわたって続く。
【００２２】
遅延処理信号１９５のディアサート（de-assertion：アサート停止）によって示される標準的な処理中に、グループ選択器回路１９８は復号化器入力１８７として第１のローテーションされた復号化器入力１８３を選択する。データ処理コントローラー回路１９０は、遅延処理入力１９２がディアサートされるときはいつでも遅延処理信号１９５をディアサートし、遅延処理入力１９２のアサート時に遅延処理信号１９５をアサートするように動作可能である。
【００２３】
データ復号化器回路１９６は、復号化器入力１８７にデータ復号化アルゴリズムを適用し、復号化された出力１５２を得るように動作可能である。検出出力１２７と同様に、復号化された出力１５２は、硬判定及び軟判定の双方を含むことができる。例えば、データ復号化器回路１９６は、受信した入力に復号化アルゴリズムを適用することが可能な、当該技術分野において既知の任意のデータ復号化器回路とすることができる。データ復号化器回路１９６は、限定ではないが、当該技術分野において既知の低密度パリティ検査（ＬＤＰＣ）復号化器回路又はリードソロモン復号化器回路とすることができる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる多岐にわたるデータ復号化器回路を認識するであろう。元のデータが復元される（すなわちデータ復号化アルゴリズムが収束する）か、又はタイムアウト条件が発生した場合、復号化された出力１５２は、硬判定出力回路１８０内に含まれるメモリに記憶される。そして、硬判定出力回路１８０が、収束した復号化された出力１５２をデータ出力１８４として受信者（図示せず）に提供する。受信者は、例えば、処理されたデータセットを受信するように動作可能なインターフェース回路とすることができる。本明細書において提供された開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる多岐にわたる受信者を認識するであろう。タイムアウト条件の前に元のデータが回復されなかった（すなわちデータ復号化アルゴリズムが収束に失敗した）場合、復号化された出力１５２は、以下でより詳細に論考するように、データが使用不可能であることを示し、データ出力１８４も同様に使用不可能として識別される。
【００２４】
データ検出器回路１２５及びデータ復号化器回路１９６の組合せを通じた１回又は複数回の反復は、元々書き込まれたデータセットに収束する目的で行うことができる。データ検出器回路及びデータ復号化器回路の双方を通じた処理が「グローバル反復」と呼ばれる。対照的に、データ復号化器回路を通る各通過は「ローカル反復」と呼ばれる。第１のグローバル反復について、データ検出器回路１２５は、復号化された出力から誘導されることなくデータ検出アルゴリズムを等化出力１２２に適用する。後続のグローバル反復について、データ検出器回路１２５は、復号化された出力１５２によって誘導されるようにデータ検出アルゴリズムをバッファリングされたデータ１７７に適用する。復号化された出力１５２は復号化器出力１５４として中央待ち行列メモリ回路１６０に記憶され、中央待ち行列メモリ回路１６０から検出器入力１２９として提供される。
【００２５】
各グローバル反復中、データ復号化器回路１９６は、復号化器入力１５６へのデータ復号化アルゴリズムの適用を含む１回又は複数回のローカル反復を行うことが可能である。第１のローカル反復について、データ復号化器回路１９６は、復号化された出力１５２から誘導されることなくデータ復号化器アルゴリズムを適用する。後続のローカル反復について、データ復号化器回路１９６は、以前に復号化された出力１５２によって誘導されるようにデータ復号化アルゴリズムを復号化器入力１５６に適用する。許可されるローカル反復数は、例えば１０とすることができる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に従って許可することができる多岐にわたる異なるローカル反復数を理解するであろう。データ復号化器回路１９６を通じたローカル反復数が、許可されるローカル反復数を超えているが、データセットの標準処理中に少なくとも１つの追加のグローバル反復が許可されると判断される場合、復号化された出力１５２は復号化された出力１５４として中央待ち行列メモリ回路１６０に戻して提供される。復号化された出力１５４は、データ検出器回路１２５が追加の処理を実行するのに利用可能になるまで中央待ち行列メモリ回路１６０内に保持される。
【００２６】
対照的に、データ復号化器回路１９６を通じたローカル反復数が許可されるローカル反復数を超えており、かつデータセットについて許可可能なグローバル反復数が超過されており、及び／又はタイムアウト若しくはメモリ使用が特定のデータセットの処理の終了を要求していると判断される場合、データセットの標準的な処理が完結し、復号化された出力がデータ出力１５２として提供されるとともに、その出力が使用不可能であることが示される。データセットの標準的な処理が終了した場合、収束していないデータセット（すなわちデータ出力１５２として提供されるデータセット）が硬判定出力回路１８０のメモリに記憶され、収束していないデータセットに対応するサンプルデータ（すなわち、サンプルバッファー回路１７５に維持されるサンプルデータ）が、遅延処理入力１９２のアサートによる遅延処理の指示を待つ少なくとも所定の期間、サンプルバッファー回路１７５に維持される。加えて、収束していないデータセット及び対応するサンプルデータが、保持信号１９１のアサートによって示されるように、遅延処理のために特定される。ここでも、遅延処理は遅延処理入力１９２のアサートによってシグナリングされる。
【００２７】
遅延処理入力１９２のアサートによって示されるような遅延処理中、サンプルバッファー回路１７５内に残っている、以前に収束していないデータセットに対応するサンプルデータセットのうちの１つが、データ処理コントローラー回路１９０からの制御出力１７６によって示されるようにアクセスされる。加えて、データ処理コントローラー回路１９０は、データ復号化システム１８９及び硬判定出力回路１８０に対し遅延処理信号１９５をアサートする。データ検出器回路１２５は、遅延処理のために特定され、制御出力１７６によって示されるようにアクセスされるサンプルセットにデータ検出アルゴリズムを再適用し、検出出力１２７を得る。検出出力１２７は、中央待ち行列メモリ回路１６０に記憶される。
【００２８】
データ復号化システム１８９が利用可能になると、データ復号化システム１８９は、復号化器入力１５６としての中央待ち行列メモリ回路１６０からの検出出力１２７にアクセスする。加えて、データ復号化システム１８９は、以前に硬判定出力回路１８０のメモリに記憶されていた対応する復号化された出力１８２にアクセスする。第１のパスにおいて、グループ選択器回路１９８は復号化器入力１８７として第１のローテーションされた復号化器入力１８３を選択し、データ復号化器回路１９６は復号化器入力１８７にデータ復号化アルゴリズムを適用して、第１の復号化された出力を得る。第１の復号化された出力は、復号化器入力１５４として中央メモリ待ち行列１６０に戻して記憶される。第２のパスにおいて、グループ選択器回路１９８は復号化器入力１８７として第２のローテーションされた復号化器入力１８１を選択し、データ復号化器回路１９６は復号化器入力１８７にデータ復号化アルゴリズムを適用して第２の復号化された出力を得る。第２の復号化された出力は復号化器入力１５４として中央メモリ待ち行列１６０に戻して記憶される。
【００２９】
次に、データ復号化システム１８９は、第１の復号化された出力内の満たされていない検査の第１の数と、第２の復号化された出力内の満たされていない検査の第２の数とを求める。次に、データ復号化システム１８９は、満たされていない検査の第１の数と、満たされていない検査の第２の数とを比較する。ローテーションされていない復号化器入力１８３に関連付けられた満たされていない検査の第１の数が、ローテーションされた復号化器入力１８１に関連付けられた満たされていない検査の第２の数未満である場合、第１の復号化された出力が、今後のデータ検出及び／又はデータ復号化を誘導する際に用いるために保持される。そうでない場合、第２の復号化された出力が、今後のデータ検出及び／又はデータ復号化を誘導する際に用いるために保持される。
【００３０】
データ復号化器回路１９６を通じた別のローカル反復が許可される場合、以前に保持されたデータ復号化結果によって誘導されて、データ復号化アルゴリズムをローテーションされていない復号化器入力１８３及びローテーションされた復号化器入力１８１に適用する上述したプロセスが実行される。このプロセスは、第１の復号化された出力又は第２の復号化された出力のうちのいずれか一方が収束するか、現在のグローバル反復のための最大ローカル反復数が完了するか、又はタイムアウト条件が満たされるまで繰り返される。タイムアウト条件が満たされると、エラーが報告される。エラー条件は、最大数のローカル反復が尽きると満たされ得る。本明細書において提供される開示に基づいて、当業者であれば、タイムアウト条件が満たされたとみなすことができる多岐にわたる他の状況を認識するであろう。最大数のローカル反復が満たされた場合、保持された結果によって誘導されて、データ検出アルゴリズムがサンプルバッファー回路１７５からのデータ入力に適用され、復号化プロセスが再開する。第１の復号化された出力又は第２の復号化された出力のいずれかが収束した場合、収束結果がデータ出力として提供される。
【００３１】
図２ａ〜図２ｃを参照すると、本発明の様々な実施形態に関連して用いることができるローテーションされていない復号化器入力の一例が示されている。図２ａは、検出出力から導出された一例示のデータセットに対応するアレイ２００を図式的に示している。示されているように、アレイ２００は１０個の行及び１８個の列を有する２次元である。ローテーションされていない復号化器入力を表すアレイ２１０に示されているように、アレイ２００内に表されているデータセットは、列番号（ＳｙｍＡ−ＳｙｍＩ）及び行番号（Ｓｙｍ１−Ｓｙｍ５）によって指定される４ビットシンボルに組織化される。４ビットシンボルのそれぞれが以下の式に従って示される。
Ｓｙｍｂｏｌｉ＝｛Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ＋１，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ＋１｝
ここで、行及び列は、符号語が配列されているアレイに対するシンボルの要素のロケーションを示す。上述した式及び図面は４ビットシンボルを対象としているが、シンボルサイズのために他の数のビットを用いることもできることに留意すべきである。そのようなローテーションされていない復号化器入力の特徴は、行内の第１のシンボルが連続した列（例えばＳｙｍＡとして指定される列Ａ、Ｂ）からの要素を含むことである。この位置合わせは、行にわたって続き、次のシンボルは次の連続した列（例えばＳｙｍＢとして指定される列Ｃ、Ｄ；ＳｙｍＣとして指定される列Ｅ、Ｆ；ＳｙｍＤとして指定される列Ｇ、Ｈ；ＳｙｍＥとして指定される列Ｉ、Ｊ；ＳｙｍＦとして指定される列Ｋ、Ｌ；ＳｙｍＧとして指定される列Ｍ、Ｎ；ＳｙｍＨとして指定される列Ｏ、Ｐ；ＳｙｍＩとして指定される列Ｑ、Ｒ）から（from）得られる。これらのシンボルは、図２ｃに示すようにデータ復号化器回路への復号化器入力２２０として順次提供される。
【００３２】
図３ａ〜図３ｄを参照すると、本発明の様々な実施形態に関連して用いることができるローテーションされた復号化器入力の一例が示されている。図３ａは、上記で検討した図２ａに示すものと同じ検出出力から導出された一例示のデータセットに対応するアレイ２００を図式的に示している。ここでもまた、アレイ２００は１０個の行及び１８個の列を有する２次元である。ローテーションされた復号化器入力を表すアレイ３１０に示されているように、アレイ２００内に表されているデータセットは、列番号（ＳｙｍＡ−ＳｙｍＩ及びＸ）及び行番号（Ｓｙｍ１−Ｓｙｍ５）によって指定される４ビットシンボルに組織化される。４ビットシンボルのそれぞれが以下の式に従って示される。
Ｓｙｍｂｏｌｉ＝｛Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋２，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ＋１，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋２，ｃｏｌｕｍｎ＋１｝
上述した式は４ビットシンボルを意味しているが、シンボルサイズのために他の数のビットを用いることもできることに留意すべきである。そのようなローテーションされた復号化器入力の特徴は、行内の第１のシンボルが連続していない列（例えばＳｙｍＡとして指定される列Ｒ、Ａ）からの要素を含むことである。特に、Ｘとして特定される最後の列は、矢印３１５によって示されるように第１の列として用いられ、他の全ての列が右に１つシフトされる。この位置合わせは、行にわたって続き、次のシンボルは次の連続した列（例えばＳｙｍＢとして指定される列Ｂ、Ｃ；ＳｙｍＣとして指定される列Ｄ、Ｅ；ＳｙｍＤとして指定される列Ｆ、Ｇ；ＳｙｍＥとして指定される列Ｈ、Ｉ；ＳｙｍＦとして指定される列Ｊ、Ｋ；ＳｙｍＧとして指定される列Ｌ、Ｍ；ＳｙｍＨとして指定される列Ｎ、Ｏ；ＳｙｍＩとして指定される列Ｐ、Ｑ）から（from）得られる。図３ｃは、最後の列が第１の列にローテーションされてＳｙｍＡに含まれたデータセット３２０を示している。データセット３２０内に組織化されたシンボルは、ローテーションされた符号化器入力を表す。データセット３２０内のシンボルは、図３ｄに示すようにデータ復号化器回路への復号化器入力３３０として順次提供される。
【００３３】
図４ａ〜図４ｃを参照すると、流れ図４００、４４５、４７０が、本発明の幾つかの実施形態による、二重バイナリ復号化処理及び非バイナリ復号化処理のための本発明の幾つかの実施形態による方法を示している。図４ａを参照し、流れ図４００に従って、アナログ入力が受信される（ブロック４０５）。アナログ入力は、例えば記憶媒体又はデータ伝送チャネルから導出することができる。本明細書において提供される開示に基づいて、当業者であればアナログ入力の多岐にわたるソースを認識するであろう。アナログ入力は一連のデジタルサンプルに変換される（ブロック４１０）。この変換は、当該技術分野において既知のアナログ／デジタル変換器回路又はシステムを用いて行うことができる。アナログ信号を、受信したアナログ信号を表す一連のデジタル値に変換することが可能な当該技術分野において既知の任意の回路を用いることができることに留意されたい。結果として得られるデジタルサンプルは等化され、等化出力が得られる（ブロック４１５）。本発明の幾つかの実施形態では、等化は当該技術分野において既知のデジタル有限インパルス応答回路を用いて行われる。本明細書において提供される開示に基づいて、当業者であれば、そのようなデジタル有限インパルス応答回路の代わりに、本発明の様々な実施形態に従って等化を実行するのに用いることができる多岐にわたる等化器回路を認識するであろう。等化出力はバッファリングされる（ブロック４２０）。
【００３４】
遅延処理が所望されているか否かが判断される（ブロック４２５）。データ処理回路の処理要件の低減が生じたとき、そのような遅延処理が選択される。処理要件におけるそのような低減は、例えば、記憶媒体を読み取っているときのトラック内の変化又はデータ送信デバイスの送信終了に起因して生じる場合がある。本明細書において提供される開示に基づいて、当業者であれば、結果としてデータ処理回路の過少使用が生じる場合がある様々なシナリオを認識するであろう。
【００３５】
遅延処理が所望されていない場合（ブロック４２５）、標準的な処理が適用される。この標準的な処理は、バッファーから、処理のための次の等化出力を選択すること（ブロック４３０）を含む。この選択は、当該技術分野において既知の任意のデータ処理回路選択アルゴリズムに従って行うことができる。選択された等化出力にデータ検出アルゴリズムが適用され、検出出力が得られ（ブロック４３５）、この検出出力（又はその導出物）が中央メモリ回路に記憶される（ブロック４４０）。次に、この記憶されたデータは、標準的な処理の実行のために中央メモリからアクセスすることができる（流れ図４４５）。この標準的な処理は、図４ｂの流れ図４４５に従って行われる。
【００３６】
遅延処理が所望されている場合（ブロック４２５）、遅延処理が適用される。この遅延処理は、バッファーから、処理のための次の遅延処理等化出力を選択することを含む（ブロック４５０）。遅延処理等化出力は、標準的な処理の間に収束に失敗した１つ又は複数のデータセットから選択される。現在処理中のデータセットに適用される残りのグローバル反復数は、遅延グローバル最大数に等しくなるように設定される（ブロック４８０）。本発明の幾つかの実施形態では、遅延グローバル最大数は２０である。選択された遅延処理等化出力にデータ検出アルゴリズムが適用され、検出出力が得られ（ブロック４８５）、この検出出力（又はそれから導出されたデータセット）が中央メモリ回路に記憶される（ブロック４９０）。幾つかの場合、その記憶される検出出力の導出物は検出出力のインターリーブされた、すなわちシャッフリングされたバージョンである。次に、この記憶されたデータは、遅延処理の実行のために、中央メモリからアクセスすることができる（図４ｃの流れ図４９５）。
【００３７】
図４ｂを参照すると、流れ図４４５が上述した標準的な処理の実施態様を示している。流れ図４４５に従って、復号化器回路が以前に記憶された検出出力を処理するのに利用可能であるか否かが判断される（ブロック４０１）。復号化器回路が利用可能である場合（ブロック４０１）、検出出力の次の導出物が処理のために選択され、中央メモリ回路からアクセスされる（ブロック４０６）。データ復号化アルゴリズムの第１のローカル反復が、データ復号化器回路によって、選択された検出出力に適用され、復号化出力が得られる（ブロック４１１）。本発明の幾つかの場合、選択された検出出力は、ローテーションされずに処理される。ローテーションを有しない復号化器入力の一例が図２ａ〜図２ｃに示されている。ここでは、データ復号化器回路に投入されるシンボルは、以下の式に従って示される。
Ｓｙｍｂｏｌｉ＝｛Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ＋１，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ＋１｝
ここで、行及び列は、符号語が配列されているアレイに対するシンボルの要素のロケーションを示す。ここでもまた、上述した式は４ビットシンボルを意味しているが、シンボルサイズのために他の数のビットを用いることもできることに留意すべきである。そのようなローテーションされていない符号化器入力の特徴は、行内の第１のシンボルが連続した行からの要素を含むことである。
【００３８】
次に、復号化出力が収束している（すなわち正しい結果が得られた）か否かが判断される（ブロック４１６）。復号化された出力が収束している場合（ブロック４１６）、復号化出力は硬判定出力バッファーに提供される（ブロック４２１）。次に、硬判定出力バッファーがアンロードの準備ができているか否かが判断される（ブロック４５６）。幾つかの場合には、硬判定出力バッファーは、最も近時に完了した復号化された出力が、以前にデータ出力として提供された復号化された出力の後の次の復号化された出力であるとき、アンロードする準備ができている。硬判定出力バッファーがアンロードする準備ができている場合（ブロック４５６）、硬判定出力バッファー内に維持されている連続した復号化された出力の全てがデータ出力として受信者デバイスに提供される（ブロック４６１）。本明細書において提供された開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる多岐にわたる受信者デバイスを認識するであろう。
【００３９】
一方、非バイナリ復号化出力が収束に失敗した場合（ブロック４１６）、ローカル反復カウントがローカル反復制限を超えたか否かが判断される（ブロック４２６）。このローカル反復制限は、例えば、１０回のローカル反復とすることができる。ローカル反復数をまだ超えていない場合（ブロック４２６）、以前に生成された復号化出力によって誘導されて、後続のローカル反復について、現在処理中のデータセットにデータ復号化アルゴリズムが再適用され、更新された復号化出力が得られる（ブロック４３１）。次に、ブロック４１６において開始するプロセスが繰り返される。
【００４０】
一方、現在進行中のグローバル反復についてローカル反復数を超えている場合（ブロック４２６）、現在処理中のデータセットに最大数のグローバル反復が既に適用されたか否かが判断される（ブロック４３６）。このグローバル反復数は、例えばタイムアウト条件が発生したか、又はメモリ使用制限を超えた場合に完了し得る。グローバル反復が完了していない場合（ブロック４３６）、復号化出力は標準的な出力として中央メモリに記憶され、中央メモリにおいて、後続のグローバル反復における処理を待つ（ブロック４４１）。一方、グローバル反復が完了した場合（ブロック４３６）、現在処理中のデータセットが遅延処理（すなわち遅延処理期間中の処理）によって特定され（ブロック４４６）、非バイナリ復号化出力が、使用不可能としてマーク付けされたデータ出力として提供される（ブロック４５１）。
【００４１】
図４ｃを参照すると、流れ図４９５が上述した遅延処理の実施態様を示している。流れ図４９５に従って、復号化器回路が以前に記憶された検出出力を処理するのに利用可能であるか否かが判断される（ブロック４０２）。復号化器回路が利用可能である場合（ブロック４０２）、遅延処理のために生成された（すなわち、ブロック４４６において遅延処理のために特定された）検出出力の次の導出物が処理のために選択され、中央メモリ回路からアクセスされる（ブロック４０７）。検出出力のアクセスされた導出物は、第１のグループ化に従ってグループ化されて、第１のグループ化された復号化器入力が得られる（ブロック４１２）。本発明の幾つかの実施形態では、第１のグループ化はローテーションされないグループ化である。ローテーションを有しない復号化器入力の一例が図２ａ〜図２ｃに示されている。ここでは、データ復号化器回路に投入されるシンボルは、以下の式に従って示される。
Ｓｙｍｂｏｌｉ＝｛Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ，ｃｏｌｕｍｎ＋１，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ＋１｝
ここで、行及び列は、符号語が配列されているアレイに対するシンボルの要素のロケーションを示す。ここでもまた、上述した式は４ビットシンボルを意味しているが、シンボルサイズのために他の数のビットを用いることもできることに留意すべきである。そのようなローテーションされていない復号化器入力の特徴は、行内の第１のシンボルが連続した行からの要素を含むことである。次に、データ復号化アルゴリズムが、以前に選択された復号化結果によって誘導された第１のグループ化された復号化器入力に適用されて、第１の復号化された出力が得られる（ブロック４１７）。遅延処理の第１のローカル反復の場合、以前に選択された復号化結果は、ブロック４５１から出力バッファーに記憶された復号化出力である。後続のローカル反復の場合、以前に選択された復号化結果は、第１のグループ化に従ってローテーションされた復号化器入力から結果として得られた復号化出力（ブロック４８２）、又は第２のグループ化に従ってローテーションされた復号化器入力から結果として得られた復号化出力（ブロック４７７）のうちの選択された一方である。
【００４２】
第１の復号化出力が収束している（すなわち正しい結果が得られた）か否かが判断される（ブロック４２２）。第１の復号化出力が収束している場合（ブロック４２２）、第１の復号化出力はデータ出力として提供され、後続のデータセットに対し動作する別のグローバル反復が開始する（ブロック４３２）。そうではなく、第１の復号化出力が収束に失敗した場合（ブロック４２２）、第１の復号化出力は今後の使用のために記憶される（ブロック４２７）。第１の復号化出力は、例えば出力バッファー、中央メモリバッファー、又は入力バッファーの使用されていない領域に記憶することができる。加えて、第１の復号化出力内の満たされていない検査（例えば満たされていないままのパリティ方程式）の数が求められる（ブロック４３７）。これは、第１の復号化された出力内の満たされていないままのパリティ検査方程式の数をカウントすることによって行うことができる。
【００４３】
次に、検出出力のアクセスされた導出物が、第２のグループ化に従ってグループ化されて、第２のグループ化された復号化器入力が得られる（ブロック４４２）。本発明の幾つかの実施形態では、第２のグループ化はローテーションされるグループ化である。ローテーションを有しない復号化器入力の一例が図３ａ〜図３ｄに示されている。ここでは、データ復号化器回路に投入されるシンボルは、以下の式に従って示される。
Ｓｙｍｂｏｌｉ＝｛Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋２，ｃｏｌｕｍｎ，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋１，ｃｏｌｕｍｎ＋１，Ｅｌｅｍｅｎｔｒｏｗ＋ｉ＋２，ｃｏｌｕｍｎ＋１｝
ここでもまた、上述した式は４ビットシンボルを意味しているが、シンボルサイズのために他の数のビットを用いることもできることに留意すべきである。そのようなローテーションされている復号化器入力の特徴は、行内の第１のシンボルが、ローテーション又はオフセットから結果として得られた連続した行からの要素を含むことである。このオフセットは、所与の行内の後続の複数のシンボルにわたって続く。次に、データ復号化アルゴリズムが、以前に選択された復号化結果によって誘導された第２のグループ化された復号化器入力に適用されて、第２の復号化された出力が得られる（ブロック４４７）。遅延処理の第２のローカル反復の場合、以前に選択された復号化結果は、ブロック４５１から出力バッファー内に記憶された復号化された出力である。後続のローカル反復の場合、以前に選択された復号化結果は、第１のグループ化に従ってローテーションされた復号化器入力から結果として得られた復号化された出力（ブロック４８２）、又は第２のグループ化に従ってローテーションされた復号化器入力から結果として得られた復号化された出力（ブロック４７７）のうちの選択された一方である。
【００４４】
第２の復号化出力が収束している（すなわち正しい結果が得られた）か否かが判断される（ブロック４５２）。第２の復号化出力が収束している場合（ブロック４５２）、第２の復号化出力はデータ出力として提供され、後続のデータセットに対し動作する別のグローバル反復が開始する（ブロック４６２）。そうではなく、第２の復号化出力が収束に失敗した場合（ブロック４５２）、第２の復号化出力は今後の使用のために記憶される（ブロック４５７）。第２の復号化出力は、例えば出力バッファー、中央メモリバッファー、又は入力バッファーの使用されていない領域に記憶することができる。加えて、第２の復号化された出力内の満たされていない検査（例えば満たされていないままのパリティ方程式）の数が求められる（ブロック４３７）。これは、第２の復号化された出力内の、満たされていないままのパリティ検査方程式の数をカウントすることによって行うことができる。
【００４５】
満たされていない検査の第２の数が、満たされていない検査の第１の数よりも大きいか否かが判断される（ブロック４７２）。満たされていない検査の第２の数が、満たされていない検査の第１の数よりも大きい場合（ブロック４７２）、ブロック４１７からの第１の復号化された出力が、選択された復号化結果として選択される（ブロック４８２）。そうではなく、満たされていない検査の第２の数が、満たされていない検査の第１の数よりも大きくない場合（ブロック４７２）、ブロック４４７からの第２の（the  second）復号化された出力が、選択された復号化結果として選択される（ブロック４７７）。
【００４６】
次に、別のローカル反復が許可されるか否かが判断される（ブロック４８７）。別のローカル反復が許可される場合（ブロック４８７）、ブロック４１２において開始するプロセスが、新たに選択された復号化結果を用いて繰り返される。そうではなく、別のローカル反復が許可されない場合（ブロック４８７）、別のグローバル反復が許可されるか否かが判断される（ブロック４９２）。別のグローバル反復が許可されない場合（ブロック４９２）、エラーが示され、後続のデータセットに対する処理が開始する（ブロック４９９）。そうではなく、別のグローバル反復が許可される場合（ブロック４９２）、データ検出アルゴリズムが、選択された復号化結果によって誘導されて、選択された遅延処理等化出力に適用され、更新された検出出力が得られ（ブロック４９７）、ブロック４０２において開始するプロセスが同じデータセットについて再開される。
【００４７】
上記のアプリケーションにおいて論述した様々なブロックは、他の機能とともに集積回路に実装することができることに留意すべきである。そのような集積回路は、所与のブロック、システム若しくは回路の機能の全て、又はブロック、システム若しくは回路のサブセットのみの機能の全てを含むことができる。また、ブロック、システム又は回路の要素を複数の集積回路にわたって実装することができる。そのような集積回路は、当該技術分野において知られている任意のタイプの集積回路とすることができる。この任意のタイプの集積回路には、モノリシック集積回路、フリップチップ集積回路、マルチチップモジュール集積回路及び／又は混合信号集積回路が含まれるが、これらに限定されるものではない。本明細書において論述されたブロック、システム又は回路の様々な機能を、ソフトウェア又はファームウェアのいずれかで実装することができることにも留意すべきである。そのような幾つかの場合には、システム全体、ブロック全体又は回路全体を、そのソフトウェア等価物又はファームウェア等価物を用いて実装することができる。他の場合には、所与のシステム、ブロック又は回路の一部分をソフトウェア又はファームウェアで実装することができる一方、他の部分はハードウェアで実装される。
【００４８】
図５を参照すると、本発明の幾つかの実施形態による、復号化器入力ローテーション回路部を有する読取りチャネル回路５１０を含む記憶デバイス５００が示されている。記憶システム５００は、例えば、ハードディスクドライブとすることができる。記憶システム５００は、前置増幅器５７０、インターフェースコントローラー５２０、ハードディスクコントローラー５６６、モーターコントローラー５６８、スピンドルモーター５７２、ディスクプラッター５７８、及び読取り／書込みヘッドアセンブリ５７６も備える。インターフェースコントローラー５２０はディスクプラッター５７８への／からのデータのアドレス指定及びタイミングを制御する。ディスクプラッター５７８上のデータは、アセンブリがディスクプラッター５７８上に適切に位置決めされているときに読取り／書込みヘッドアセンブリ５７６によって検出することができる磁気信号の群からなる。１つの実施形態では、ディスクプラッター５７８は長手記録方式又は垂直記録方式のいずれかに従って記録される磁気信号を含む。
【００４９】
通常の読取り動作では、読取り／書込みヘッドアセンブリ５７６はモーターコントローラー５６８によって、ディスクプラッター５７８上の所望のデータトラックの上方に正確に位置決めされる。モーターコントローラー５６８は、ハードディスクコントローラー５６６の指示の下で読取り／書込みヘッドアセンブリをディスクプラッター５７８上の適切なデータトラックに移動することによって、ディスクプラッター５７８に対して読取り／書込みヘッドアセンブリ５７６を位置決めし、かつスピンドルモーター５７２を駆動する。スピンドルモーター５７２は所定のスピンレート（ＲＰＭ）でディスクプラッター５７８をスピンさせる。読取り／書込みヘッドアセンブリ５７８が適切なデータトラックに近接して位置決めされると、ディスクプラッター５７８がスピンドルモーター５７２によって回転するのに応じてディスクプラッター５７８上のデータを表す磁気信号が読取り／書込みヘッドアセンブリ５７６によって感知される。感知された磁気信号は、ディスクプラッター５７８上の磁気データを表す連続した微小アナログ信号として与えられる。この微小アナログ信号は、読取り／書込みヘッドアセンブリ５７６から、前置増幅器５７０を介して、読取りチャネル回路５１０に送信される。前置増幅器５７０は、ディスクプラッター５７８からアクセスされた微小アナログ信号を増幅するように動作可能である。そして、読取りチャネル回路５１０は受信したアナログ信号を復号及びデジタル化し、ディスクプラッター５７８に元々書き込まれた情報を再生する。このデータは、読取りデータ５０３として受信回路に与えられる。書込み動作は実質的に、先行する読取り動作の反対であり、書込みデータ５０１が読取りチャネル回路５１０に与えられる。次にこのデータは符号化され、ディスクプラッター５７８に書き込まれる。
【００５０】
読取り動作中、データはディスクプラッター５７８から感知され、標準的な処理を用いて処理される。そのような標準的な処理は、復号化器入力の１回のローテーションを用いて行うことができる。幾つかの場合には、標準的な処理を用いて処理された１つ又は複数のデータセットが収束に失敗する。そのような場合、収束していないデータセットが出力として提供され、それとともに、この収束していないデータセットが使用不可能であり、遅延処理期間中の追加の処理のために、対応する検出／復号化されていないデータセットとともにデータ処理システム内に維持されることが示される。この遅延処理期間は、例えば、読取り／書込みヘッドアセンブリ５７６が現在のトラックから別のトラックに移されるときの期間とすることができる。この遅延処理期間中、収束していないデータセットと、対応する検出／復号化されていないデータセットとの組合せは、再処理のためにアクセスされる。再処理は、元のローテーションにおいて復号化器入力に対しデータ復号化を実行して、第１の復号化された出力を得ることと、別のローテーションにおいて復号化器入力に対しデータ復号化を実行して、第２の復号化された出力を得ることとを含む。第１の復号化器出力内に残っている満たされていない検査の数は、第２の復号化器出力内に残っている数と比較される。第２の復号化器出力内に残っている満たされていない検査の数が第１の復号化器出力内に残っている数よりも大きい場合、第１の復号化器出力が更なる処理のために選択される。そうでない場合、第２の復号化器出力が選択される。本発明の幾つかの実施形態では、図１に関連して上記で論考したデータ処理回路と同様のデータ処理回路を用いることができ、及び／又は処理は図４ａ〜図４ｃに関連して上記で論考した処理と同様に行うことができる。
【００５１】
例えばＲＡＩＤ（安価なディスクの冗長アレイ又は独立ディスクの冗長アレイ）に基づく記憶システム等のより大型の記憶システムに、記憶システム５００を統合することができることに留意すべきである。このようなＲＡＩＤ記憶システムは、複数のディスクを論理ユニットとして結合し、冗長性を通じて安定性及び信頼性を増大させる。データは、種々のアルゴリズムに従って、ＲＡＩＤ記憶システムに含まれる複数のディスクにわたって拡散させることができ、ＲＡＩＤ記憶システムが単一のディスクであるかのようにオペレーティングシステムがアクセスすることができる。例えば、データはＲＡＩＤ記憶システム内の複数のディスクにミラーリングすることもできるし、複数の技法において複数のディスクにわたってスライスし分散させることもできる。ＲＡＩＤ記憶システム内の少数のディスクが故障するか又は利用不可能になる場合、誤り訂正技法を用いて、ＲＡＩＤ記憶システム内の他のディスクからのデータの残りの部分に基づいて、欠落データを再生することができる。ＲＡＩＤ記憶システム内のディスクは、限定ではないが、記憶システム５００等の個別の記憶システムとすることができ、互いに近接して配置することもできるし、セキュリティを増大させるために、より広範に分散させることもできる。書込み動作において、書込みデータがコントローラーに提供され、コントローラーは、例えば書込みデータのミラーリング又はストライピングによって、ディスクにわたって書込みデータを記憶する。読取り動作において、コントローラーはディスクからデータを検索する。次に、コントローラーは、ＲＡＩＤ記憶システムが単一のディスクであるかのように結果の読取りデータを生成する。
【００５２】
読取りチャネル回路５１０に関して用いられるデータ復号化器回路は、限定ではないが、当該技術分野で知られているような低密度パリティチェック（ＬＤＰＣ）復号化器回路とすることができる。そのような低密度パリティチェック技術は、実質的に任意のチャネルによる情報の送信又は実質的に任意の媒体への情報の記憶に適用可能である。送信に適用されるものには、光ファイバー、無線周波数チャネル、有線又は無線のローカルエリアネットワーク、デジタル加入者線技術、無線セルラー、銅ファイバー又は光ファイバー等の任意の媒体によるイーサネット、ケーブルテレビ等のケーブルチャネル、及び地球衛星通信が含まれるが、これらに限定されるものではない。記憶に適用されるものには、ハードディスクドライブ、コンパクトディスク、デジタルビデオディスク、磁気テープ、並びにＤＲＡＭ、ＮＡＮＤフラッシュ、ＮＯＲフラッシュ、他の不揮発性メモリ及びソリッドステートドライブ等のメモリデバイスが含まれるが、これらに限定されるものではない。
【００５３】
図６を参照すると、本発明の幾つかの実施形態による、復号化器入力ローテーション回路部を有する受信機６２０を備えるデータ送信デバイス６００が示されている。データ送信システム６００は、符号化された情報を当該技術分野において既知の転送媒体６３０を介して送信するように動作可能な送信機６１０を備える。符号化されたデータは、受信機６２０によって転送媒体６３０から受信される。
【００５４】
動作中、データは転送媒体６３０を介して受信機６２０によって受信され、標準的な処理を用いて処理される。そのような標準的な処理は、復号化器入力の１回のローテーションを用いて行うことができる。幾つかの場合には、標準的な処理を用いて処理された１つ又は複数のデータセットが収束に失敗する。そのような場合、収束していないデータセットが出力として提供され、それとともに、この収束していないデータセットが使用不可能であり、遅延処理期間中の追加の処理のために、対応する検出／復号化されていないデータセットとともにデータ処理システム内に維持されることが示される。この遅延処理期間は、例えば、転送媒体６３０を介した送信が行われていない時間期間とすることができる。この遅延処理期間中、収束していないデータセットと、対応する検出／復号化されていないデータセットとの組合せは、再処理のためにアクセスされる。再処理は、元のローテーションにおいて復号化器入力に対しデータ復号化を実行して、第１の復号化された出力を得ることと、別のローテーションにおいて復号化器入力に対しデータ復号化を実行して、第２の復号化された出力を得ることとを含む。第１の復号化器出力内に残っている満たされていない検査の数は、第２の復号化器出力内に残っている数と比較される。第２の復号化器出力内に残っている満たされていない検査の数が第１の復号化器出力内に残っている数よりも大きい場合、第１の復号化器出力が更なる処理のために選択される。そうでない場合、第２の復号化器出力が選択される。本発明の幾つかの実施形態では、図１に関連して上記で論考したデータ処理回路と同様のデータ処理回路を用いることができ、及び／又は処理は図４ａ〜図４ｃに関連して上記で論考した処理と同様に行うことができる。
【００５５】
結論として、本発明は、データ処理のための新規なシステム、デバイス、方法及び構成を提供する。本発明の１つ又は複数の実施形態の詳細な説明が上記で与えられたが、本発明の趣旨から逸脱することなく、様々な代替形態、変更形態及び均等物が当業者には明らかであろう。したがって、上記の説明は本発明の範囲を限定するものとして解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲によって画定される。
【図１】
0005680696.tif 000002
【図２】
0005680696.tif 000003
【図３】
0005680696.tif 000004
【図４ａ】
0005680696.tif 000005
【図４ｂ】
0005680696.tif 000006
【図４ｃ】
0005680696.tif 000007
【図５】
0005680696.tif 000008
【図６】
0005680696.tif 000009