(57)【要約】      （修正有）【課題】非順序型転送を用いたデータ処理のためのシステム及び方法を提供する。【解決手段】入力データブロックを処理して、対応する処理済みのデータ出力ブロックを得るように動作可能なデータプロセッサであって、該処理済みの出力データブロックは、該処理済みの出力データブロックの処理が完了した順序で該データプロセッサから出力される、データプロセッサと、該入力データブロックの処理優先度要求を受信して、該優先度要求に従って該データプロセッサ内の処理リソースを割り当てるように動作可能なスケジューラーとを備える、データ処理システム３００。【選択図】図３
2013223240.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムであって、
入力データブロックを処理して、対応する処理済みの出力データブロックを得るように動作可能なデータプロセッサであって、該処理済みの出力データブロックは、該処理済みの出力データブロックの処理が完了した順序で該データプロセッサから出力される、データプロセッサと、
該入力データブロックの処理優先度要求を受信して、該優先度要求に従って該データプロセッサ内の処理リソースを割り当てるように動作可能なスケジューラーと、
を備える、データ処理システム。
【請求項２】
スケジューラーは、該入力データブロックの順序要求を受信し、該順序要求に従って入力データブロックを処理するように更に動作可能である、請求項１に記載のデータ処理システム。
【請求項３】
データプロセッサは、低密度パリティチェックアルゴリズムを実施するように動作可能なデータ復号化器を備える、請求項１に記載のデータ処理システム。
【請求項４】
スケジューラーは、復号化が失敗した入力データブロックに対し、再試行動作数を設定するように動作可能である、請求項３に記載のデータ処理システム。
【請求項５】
入力データブロックにおいてデータ値を検出するように動作可能なデータ検出器を更に備える、請求項３に記載のデータ処理システム。
【請求項６】
スケジューラーは、該優先度要求に基づいて、該データ復号化器におけるローカル反復数、及び該データ検出器及び該データ復号化器におけるグローバル反復数を設定するように動作可能である、請求項５に記載のデータ処理システム。
【請求項７】
入力データブロックを格納するように動作可能なメモリを更に備え、該データ処理システムは、対応する処理済みの出力データブロックが該データプロセッサから出力されると該メモリから該入力データブロックを消去するように動作可能である、請求項１に記載のデータ処理システム。
【請求項８】
データ処理システムは、該入力データブロックのうちの１つを、該入力データブロックのうちの前の１つが、その対応する出力データブロックが該データプロセッサから出力されたときに該メモリから消去されると受け入れるように動作可能である、請求項７に記載のデータ処理システム。
【請求項９】
処理済みの出力データブロックが該データプロセッサから出力されるときに、該処理済みの出力データブロックを識別するように動作可能なデータブロック識別出力を更に含む、請求項１に記載のデータ処理システム。
【請求項１０】
データ処理システムは、集積回路として実装される、請求項１に記載のデータ処理システム。
【請求項１１】
データ処理システムは記憶デバイスに組み込まれる、請求項１に記載のデータ処理システム。
【請求項１２】
データ処理システムは、独立ディスクの冗長アレイを備える記憶システム内に組み込まれる、請求項１に記載のデータ処理システム。
【請求項１３】
データ処理システムは送信システムに組み込まれる、請求項１に記載のデータ処理システム。
【請求項１４】
データを処理するための方法であって、
データ入力からデータブロックを処理することの複数の要求を受信することであって、該要求は、該データブロックのうちの少なくとも幾つかの処理順序を指定する、受信することと、
該データブロックを処理することと、
処理が完了すると、該データブロックのそれぞれを処理済みのデータブロックとして出力することであって、該処理済みのデータブロックの出力順序は、該データブロックの入力順序と異なることができる、出力することと、
を含む、データを処理する方法。
【請求項１５】
データブロックのうちの少なくとも幾つかの処理優先度を指定する要求を受信するとともに、該処理優先度を指定する要求に少なくとも部分的に基づいて、該データブロックの該処理において用いられる処理リソースを割り当てることを更に含む、請求項１４に記載の方法。
【請求項１６】
処理は、データ検出器内の該データブロックのデータ値を検出するとともに、データ復号化器内の該データブロックの誤り補正を実行することを含む、請求項１４に記載の方法。
【請求項１７】
複数の要求において要求される該処理順序に基づいて、該データ復号化器におけるローカル復号化反復数、及び該データ検出器及び該データ復号化器におけるグローバル反復数を設定することを更に含む、請求項１６に記載の方法。
【請求項１８】
データ復号化器においてデータ値が収束するとき、該データブロックのうちの１つについて処理が完了したと判断することを更に含む、請求項１６に記載の方法。
【請求項１９】
制限された数の復号化反復を実行した後に、該データ復号化器においてデータ値が収束に失敗したとき、該データブロックのうちの１つについて処理が完了したと判断することを更に含む、請求項１６に記載の方法。
【請求項２０】
記憶システムであって、
データセットを維持する記憶媒体と、
該記憶媒体上の該データセットを検知し、該データセットに対応するアナログ出力を提供するように動作可能な読取り／書込みヘッドアセンブリと、
連続信号をサンプリングしてデジタル出力を得るように動作可能なアナログ／デジタル変換器と、
データ処理システムであって、
該デジタル出力内の入力データブロックを処理し、対応する処理済みの出力データブロックを得るように動作可能なデータプロセッサであって、該処理済みの出力データブロックは、該処理済みの出力データブロックの処理が完了した順序で該データプロセッサから出力される、データプロセッサと、
該入力ブロックの処理優先度要求を受信し、該優先度要求に従って該データプロセッサ内の処理リソースを割り当てるように動作可能なスケジューターと
を備える、データ処理システムと、
を備える、記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非順序型転送を用いたデータ処理システムに関する。
【背景技術】
【０００２】
ストレージシステム、携帯電話システム、及び無線送信システムを含む、様々なデータ処理システムが開発されている。それらのシステムのそれぞれにおいて、データが何らかの媒体を介して送信機から受信機に転送される。例えば、ストレージシステムでは、データは、送信機（すなわち書込み機能）から、ストレージ媒体を介して受信機（すなわち読取り機能）に送信される。情報はデジタルデータの形態で格納及び送信されるので、誤りが生じ、この誤りは、訂正されない場合、データを破損し情報を使用不可能にする可能性がある。任意の転送の有効性は、様々な要因によって生じる、データ内の任意の損失によって影響される。デジタルデータ内の誤りを検出し補正するために、多くのタイプのデータプロセッサが開発されている。例えば、最大事後確率（ＭＡＰ）検出器及び低密度パリティチェック（ＬＤＰＣ）復号化器等のデータ検出器及び復号化器を用いて、記憶システム又は送信システムから検索されたデータビット又はマルチビットシンボルの値を検出し復号化することができる。
【０００３】
記憶システムからのデータセクター又は他のデータブロックは、信号対雑音比（ＳＮＲ）が変動する場合があり、このため、記憶又は送信の後に元のデータを復元する難しさが変動する場合がある。データが連続して検索又は受信されるので、処理されているデータを記憶するメモリバッファをデータ処理システム内に設けることができる。一方、ＳＮＲが不良なデータブロック等のデータブロックは、他のものよりも処理が長くかかる場合がある。追加の処理時間を必要とするデータブロックを、処理の間、より長くメモリ内に保持し、それによって、後のデータブロックの処理が完了している場合であっても、それらの後のデータブロックをメモリ内にバックアップしたままにすることができるが、これによって全体のレイテンシが増大する。代替的に、システムを通るデータフローを、完了したデータブロックがメモリ内にバックアップされることを回避するように保つこともできるが、これによって、幾つかのデータブロックが、完全に処理される前に出力され、メモリから消去される場合があり、補正されていない誤りが残る可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明の様々な実施の形態は、非順序型転送を用いたデータ処理のためのシステム及び方法を提供する。例えば、入力データブロックを処理して、対応する処理済みのデータ出力ブロックを得るように動作可能なデータプロセッサであって、該処理済みの出力データブロックは、該処理済みの出力データブロックの処理が完了した順序で該データプロセッサから出力される、データプロセッサと、該入力データブロックの処理優先度要求を受信して、該優先度要求に従って該データプロセッサ内の処理リソースを割り当てるように動作可能なスケジューラーとを備える、データ処理システムが開示される。幾つかの例では、スケジューラーはまた、該入力データブロックの順序要求を受信し、該順序要求に従って入力データブロックを処理するように動作可能である。データブロックは、該データブロックが該データプロセッサから出力されるときに識別することができる。幾つかの実施形態では、該データプロセッサは、低密度パリティチェックアルゴリズムを実施するように動作可能なデータ復号化器であり、該データ処理システムは、該入力データブロックにおけるデータ値を検出するように動作可能なデータ検出器も備える。スケジューラーは、該優先度要求に基づいて、該データ検出器及び該データ復号化器におけるローカル反復数及びグローバル反復数を設定するように動作可能とすることができる。
【０００５】
この概要は、本発明による幾つかの実施の形態の概略のみを提供するものである。本発明の多くの他の目的、特徴、利点、及び他の実施の形態は、以下の詳細な説明、添付の特許請求の範囲、及び添付の図面からより完全に明らかとなるであろう。
【０００６】
図を参照することにより、本発明の様々な実施の形態の更なる理解を実現することができ、これらの実施の形態については明細書の残りの部分で説明する。図において、同様の参照符号が幾つかの図面の全てにわたって類似の構成要素を指すのに用いられる場合がある。
【図面の簡単な説明】
【０００７】
【図１】本発明の様々な実施形態による、非順序型転送を用いたデータ処理システムを含む記憶システムを示す図である。
【図２】本発明の様々な実施形態による、非順序型転送を用いたデータ処理システムを含む無線通信システムを示す図である。
【図３】本発明の様々な実施形態による、非順序型転送を用いたデータ処理システムのブロック図である。
【図４】図３のデータ処理システム等のデータ処理システムにおいて用いることができるメモリ内のセクター配分を示す図である。
【図５】データ処理システムからのデータブロックの順序型転送を示す図である。
【図６】データ処理システムからのデータブロックの非順序型転送を示す図である。
【図７】本発明の様々な実施形態による、例示的なデータ処理システムにおける読取りチャネルとハードディスクコントローラーとの間の入出力（Ｉ／Ｏ）ポート及び接続を示す図である。
【図８】図８Ａは、本発明の様々な実施形態による、図７の入力Ｉ／Ｏポートのうちの幾つかの信号波形を示す図である。図８Ｂは、本発明の様々な実施形態による、図７の出力Ｉ／Ｏポートのうちの幾つかの信号波形を示す図である。
【図９】本発明の様々な実施形態による、非順序型転送を用いたデータ処理のための方法を示す流れ図である。
【発明を実施するための形態】
【０００８】
本発明の様々な実施形態は、非順序型転送を用いたデータ処理システムのための装置及び方法に関する。データ処理システムは、データブロックに対し誤り検出及び誤り補正等の機能を実行し、データブロックを、データ処理システムによって受信されたのと異なる順序で転送又は出力するように動作可能である。迅速に処理されたデータは、完了するとデータ処理システムから出力される一方、追加の処理又は時間を要するデータは、既に完了したデータの前に受信された場合であっても、データ処理システム内で処理され続けることができる。データ処理システムの幾つかの実施形態では制御信号が提供され、特定のデータブロックの処理が要求されるか、又はデータブロックに処理優先度を割り当てることが可能になる。
【０００９】
本明細書において開示される非順序型転送を用いたデータ処理システムは、実質的に任意のチャネルに記憶されているか若しくはそのチャネルを介して送信されたデータの処理、又は実質的に任意の媒体への情報の記憶に適用可能である。送信に適用されるものには、光ファイバー、無線周波数チャネル、有線又は無線のローカルエリアネットワーク、デジタル加入者線技術、無線セルラー、銅ファイバー又は光ファイバー等の任意の媒体によるイーサネット（登録商標）、ケーブルテレビ等のケーブルチャネル、及び地球衛星通信が含まれるが、これらに限定されるものではない。記憶に適用されるものには、ハードディスクドライブ、コンパクトディスク、デジタルビデオディスク、磁気テープ、並びにＤＲＡＭ、ＮＡＮＤフラッシュ、ＮＯＲフラッシュ、他の不揮発性メモリ及びソリッドステートドライブ等のメモリデバイスが含まれるが、これらに限定されるものではない。例えば、データ処理システムは、磁気ハードディスクドライブ内の、このドライブからのデータセクターを検出し復号化する読取りチャネルとすることができるが、これに限定されるものではない。
【００１０】
「セクター」という用語は、本明細書において、幾つかの例示的な実施形態に関して用いられるが、データのソース又はフォーマットと無関係に、非順序型転送を用いたデータ処理システムにおいて処理されるデータブロックを一般に指すものとみなすことができる。幾つかの実施形態では、データ処理システムは、各セクターに対する処理が完了すると、例えばデータ処理システムにおいてデータが特定の値又は硬判定に収束すると、そのセクターを転送するように動作可能である。急速に収束するセクターは、完了すると転送されるのに対し、収束するのに追加の処理を必要とするか又は収束に失敗したセクターは、後に完了するセクターを妨害することなく、追加の処理のためにデータ処理システム内にとどまることを許可される。幾つかの実施形態では、データ処理システムは、要求に応じて特定のセクターを転送するように動作可能である。データ処理システムはまた、各セクターが受信されるときに、そのセクターの優先度値を受信し、セクターの優先度値に基づいて処理リソース又は処理技法をセクターに割り当てるように動作可能である。
【００１１】
本明細書に開示する非順序型転送を用いたデータ処理システムはいかなる特定の用途にも限定されるものではないが、本発明の実施形態から利益を受ける応用形態の幾つかの例が図１及び図２に提示されている。図１を参照すると、本発明の幾つかの実施形態による非順序型転送を用いたデータ処理システムの例示的な応用形態として、記憶システム１００が示されている。記憶システム１００は、本発明の幾つかの実施形態による非順序型転送を用いたデータ処理システムを有する読取りチャネル回路１０２を備える。記憶システム１００は、例えば、ハードディスクドライブとすることができる。記憶システム１００は、前置増幅器１０４、インターフェースコントローラー１０６、ハードディスクコントローラー１１０、モーターコントローラー１１２、スピンドルモーター１１４、ディスクプラッター１１６、及び読取り／書込みヘッドアセンブリ１２０も備える。インターフェースコントローラー１０６はディスクプラッター１１６への／からのデータのアドレス指定及びタイミングを制御する。ディスクプラッター１１６上のデータは、アセンブリがディスクプラッター１１６上に適切に位置決めされているときに読取り／書込みヘッドアセンブリ１２０が検出することができる磁気信号群からなる。１つの実施形態では、ディスクプラッター１１６は、長手記録方式又は垂直記録方式のいずれかに従って記録される磁気信号を含む。
【００１２】
通常の読取り動作では、読取り／書込みヘッドアセンブリ１２０はモーターコントローラー１１２によって、ディスクプラッター１１６上の所望のデータトラックの上方に正確に位置決めされる。モーターコントローラー１１２は、ハードディスクコントローラー１１０の指示の下で読取り／書込みヘッドアセンブリ１２０をディスクプラッター１１６上の適切なデータトラックに移動させることによって、ディスクプラッター１１６に対して読取り／書込みヘッドアセンブリ１２０を位置決めし、かつスピンドルモーター１１４を駆動する。スピンドルモーター１１４は、決められたスピンレート（ＲＰＭ）でディスクプラッター１１６をスピンさせる。読取り／書込みヘッドアセンブリ１２０が適切なデータトラックに近接して位置決めされると、ディスクプラッター１１６がスピンドルモーター１１４によって回転するのに応じてディスクプラッター１１６上のデータを表す磁気信号が読取り／書込みヘッドアセンブリ１２０によって感知される。感知された磁気信号は、ディスクプラッター１１６上の磁気データを表す連続した微小アナログ信号として与えられる。この微小アナログ信号は、読取り／書込みヘッドアセンブリ１２０から前置増幅器１０４を介して読取りチャネル回路１０２に転送される。前置増幅器１０４は、ディスクプラッター１１６からアクセスされた微小アナログ信号を増幅するように動作可能である。そして、読取りチャネル回路１０２は、受信したアナログ信号を復号化及びデジタル化し、ディスクプラッター１１６に最初に書き込まれた情報を再生する。このデータは、読取りデータ１２２として受信回路に与えられる。受信した情報の復号化の一部として、読取りチャネル回路１０２は非順序型転送を用いたデータ処理システムを用いて受信信号を処理する。非順序型転送を用いたそのようなデータ処理システムは、図３、図７、及び図８に関して以下で開示されるデータ処理システムと一致するように実施することができる。幾つかの場合、データ処理は、図９に関連して以下で開示される流れ図と一致するように実行することができる。書込み動作は実質的に、先行する読取り動作の反対の動作であり、書込みデータ１２４が読取りチャネル回路１０２に与えられる。次にこのデータは符号化され、ディスクプラッター１１６に書き込まれる。
【００１３】
例えばＲＡＩＤ（安価なディスクの冗長アレイ又は独立ディスクの冗長アレイ）に基づく記憶システム等のより大型の記憶システムに、記憶システム１００を統合することができることに留意すべきである。このようなＲＡＩＤ記憶システムは、複数のディスクを論理ユニットとして結合し、冗長性を通じて安定性及び信頼性を増大させる。データは、種々のアルゴリズムに従って、ＲＡＩＤ記憶システムに含まれる複数のディスクにわたって拡散させることができ、ＲＡＩＤ記憶システムが単一のディスクであるかのようにオペレーティングシステムがアクセスすることができる。例えば、データはＲＡＩＤ記憶システム内の複数のディスクにミラーリングすることもできるし、複数の技法において複数のディスクにわたってスライスし分散させることもできる。ＲＡＩＤ記憶システム内の少数のディスクが故障するか又は利用不可能になる場合、誤り訂正技法を用いて、ＲＡＩＤ記憶システム内の他のディスクからのデータの残りの部分に基づいて、欠落データを再生することができる。ＲＡＩＤ記憶システム内のディスクは、限定ではないが、記憶システム１００等の個別の記憶システムとすることができ、互いに近接して配置することもできるし、セキュリティを増大させるために、より広範に分散させることもできる。書込み動作において、書込みデータがコントローラーに提供され、コントローラーは、例えば書込みデータのミラーリング又はストライピングによって、ディスクにわたって書込みデータを記憶する。読取り動作において、コントローラーはディスクからデータを検索する。次に、コントローラーは、ＲＡＩＤ記憶システムが単一のディスクであるかのように結果の読取りデータを生成する。
【００１４】
図２を参照すると、本発明の幾つかの実施形態による、非順序型転送を用いたデータ処理システムを有する受信機２０４を備える無線通信システム２００又はデータ送信デバイスが示されている。通信システム２００は、符号化された情報を当該技術分野において既知の転送媒体２０６を介して送信するように動作可能な送信機２０２を備える。符号化されたデータは、受信機２０４によって転送媒体２０６から受信される。受信機２０４は、非順序型転送を用いたデータ処理システムを内蔵している。非順序型転送を用いたそのようなデータ処理システムは、図３、図７、及び図８に関連して後述するデータ処理システムと一致するように実施することができる。幾つか場合、データ処理は、図９に関連して以下で開示される流れ図と一致するように実行することができる。
【００１５】
図３を参照すると、本発明の１つ又は複数の実施形態による非順序型転送を用いたデータ処理システム３００が示されている。データ処理システム３００は、アナログ信号３０４を受信するアナログフロントエンド回路３０２を備える。アナログフロントエンド回路３０２はアナログ信号３０４を処理し、処理済みのアナログ信号３０６をアナログ／デジタル変換器回路３１０に与える。アナログフロントエンド回路３０２には、限定ではないが、当該技術分野において知られているようなアナログフィルター及び増幅器回路が含まれ得る。本明細書において提供される開示に基づくと、当業者であれば、アナログフロントエンド回路３０２の一部として含めることができる種々の回路部を認識するであろう。幾つかの場合には、アナログ信号３０４は記憶媒体（例えば２０６）に関連して配置される読取り／書込みヘッドアセンブリ（例えば１２０）から取り出される。他の場合には、アナログ信号３０４は伝送媒体（例えば１１６）から信号を受信するように動作可能な受信機回路（例えば２０４）から取り出される。伝送媒体は有線又は無線とすることができる。本明細書において提供される開示に基づくと、当業者であれば、アナログ入力３０４を取り出すことができる種々のソースを認識するであろう。
【００１６】
アナログ／デジタル変換器回路３１０は処理されたアナログ信号３０６を対応する一連のデジタルサンプル３１２に変換する。アナログ／デジタル変換器回路３１０は、アナログ入力信号に対応するデジタルサンプルを生成することが可能な当該技術分野において既知の任意の回路とすることができる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる種々のアナログ／デジタル変換器回路を認識するであろう。デジタルサンプル３１２が等化器回路３１４に与えられる。等化器回路３１４はデジタルサンプル３１２に等化アルゴリズムを適用して、等化出力３１６を生成する。本発明の幾つかの実施形態では、等化器回路３１４は当該技術分野において既知のデジタル有限インパルス応答フィルター回路である。幾つかの場合、等化器３１４は、データ検出器回路３２０が処理に利用可能になるまで１つ又は複数の符号語を保持するのに十分なメモリを備える。等化出力３１６は、例えばソリッドステート記憶システム内の記憶デバイスから直接受信できることを可能とすることができる。そのような場合、アナログフロントエンド回路３０２、アナログ／デジタル変換器回路３１０、及び等化器回路３１４は、データがデジタルデータ入力として受信される場合に除去することができる。
【００１７】
データ検出器回路３２０は、受信した符号語又はデータセットにデータ検出アルゴリズムを適用するように動作可能であり、幾つかの場合、データ検出器回路３２０は２つ以上の符号語を並列に処理することができる。本発明の幾つかの実施形態では、データ検出器回路３２０は当該技術分野において知られているようなビタビアルゴリズムデータ検出器回路である。本発明の他の実施形態では、データ検出器回路３２０は当該技術分野において知られているような最大事後データ検出器回路である。一般的なフレーズ「ビタビデータ検出アルゴリズム」又は「ビタビアルゴリズムデータ検出器回路」は、任意のビタビ検出アルゴリズム若しくはビタビアルゴリズム検出器回路又はそれらの変形形態を意味するように最も広い意味で用いられることに留意されたい。それらの変形形態には、双方向ビタビ検出アルゴリズム又は双方向ビタビアルゴリズム検出器回路が含まれるが、これらに限定されるものではない。また、一般的なフレーズ「最大事後データ検出アルゴリズム」又は「最大事後データ検出器回路」は、任意の最大事後検出アルゴリズム若しくは最大事後検出器回路又はそれらの変形形態を意味するように最も広い意味で用いられる。それらの変形形態には、単純化された最大事後データ検出アルゴリズム及び最大対数最大事後データ検出アルゴリズム、又は対応する検出器回路が含まれるが、これらに限定されるものではない。本明細書において提供される開示に基づくと、当業者であれば、本発明の様々な実施形態に関連して用いることができる種々のデータ検出器回路を認識するであろう。データ検出器回路３２０は、等化器回路３１４又は中央メモリ回路３３０からのデータセットの入手可能性に基づいて始動される。
【００１８】
完了すると、データ検出器回路３２０は検出器出力３２２を与える。検出器出力３２２は軟データを含む。本明細書において用いられるとき、フレーズ「軟データ」は、信頼度データを意味するように最も広い意味で用いられ、この信頼度データの各インスタンスは、対応するビット位置又はビット位置群が正しく検出されている尤度を示す。本発明の幾つかの実施形態では、軟データ又は信頼度データは当該技術分野において知られているような対数尤度比データである。検出された出力３２２はローカルインターリーバー回路３２４に与えられる。ローカルインターリーバー回路３２４は、検出された出力３２２として含まれるデータセットの副部分（sub-portions）（すなわちローカルチャンク）をシャッフルするように動作可能であり、インターリーブされた符号語３２６を与え、このインターリーブされた符号語３２６は中央メモリ回路３３０に記憶される。インターリーバー回路３２４は、データセットをシャッフルして再配置されたデータセットを得ることが可能な当該技術分野において知られている任意の回路とすることができる。インターリーブされた符号語３２６は中央メモリ回路３３０に記憶される。インターリーブされた符号語３２６は、記憶された符号語３３２として中央メモリ回路３３０からアクセスされ、グローバルインターリーバー／デインターリーバー回路３３４によってグローバルにインターリーブされる。グローバルインターリーバー／デインターリーバー回路３３４は、符号語をグローバルに再配置することが可能な、当該技術分野において知られている任意の回路とすることができる。グローバルインターリーバー／デインターリーバー回路３３４は、低密度パリティチェック（ＬＤＰＣ）３４０に復号化器入力３３６を与える。本明細書において提供される開示に基づくと、当業者であれば、本発明の異なる実施形態に関連して用いることができる他の復号化アルゴリズムを認識するであろう。ＬＤＰＣ復号化器３４０は、可変数のローカル反復のデータ復号化アルゴリズムを復号化器入力３３６に適用する。
【００１９】
ＬＤＰＣ復号化器３４０が収束するのに失敗し（すなわち、最初に書き込まれたデータセットを得るのに失敗し）、ＬＤＰＣ復号化器３４０を通るローカル反復数がしきい値を超え、その結果の復号化された出力が、復号化された出力３４２として中央メモリ回路３３０に再び与えられる。この復号化された出力３４２は、中央メモリ３３０に記憶されて、データ検出器回路３２０及びＬＤＰＣ復号化器３４０を通る別のグローバル反復を待つ。複数のセクターをデータ処理システム３００内で同時に処理することができ、他のセクターがＬＤＰＣ復号化器３４０内で収束し、Ｙキュー３１８及びＬＥキュー３３０から出力され消去されると、追加のセクターがデータ検出器３２０に入ることを許可される。
【００２０】
復号化された出力３４２を中央メモリ回路３３０に記憶する前に、復号化された出力３４２はグローバルにデインターリーブされ、グローバルにデインターリーブされた出力３４４が得られる。このグローバルにデインターリーブされた出力３４４は中央メモリ回路３３０に記憶される。グローバルデインターリーブは、記憶された符号語３３２に以前に適用されたグローバルインターリーブを逆に行い、復号化器入力３３６を得る。データ検出器回路３２０が利用可能になると、以前に記憶されたデインターリーブされた出力３４４が中央メモリ回路３３０からアクセスされ、デインターリーバー回路３４６によってローカルにデインターリーブされる。デインターリーバー回路３４６は復号化器出力３５０を再配置し、インターリーバー回路３２４によって最初に実行されたシャッフルを逆に行う。その結果のデインターリーブされた出力３５２はデータ検出器回路３２０に与えられ、データ検出器回路３２０において、デインターリーブされた出力３５２は、等化出力３１６として受信された対応するデータセットのその後の検出を誘導するのに用いられる。
【００２１】
代替的に、復号化された出力が低レイテンシのスケジューリングを用いた非バイナリＬＤＰＣ復号化器３４０において収束する（すなわち、元々書き込まれたデータセットが得られる）場合、結果として得られた復号化された出力は、アナログ入力３０４において受信された以前のセクターがまだ収束していない場合であっても、デインターリーバー回路３５６に出力符号語３５４として提供される。デインターリーバー回路３５６は、データに適用されたグローバルインターリーブ及びローカルインターリーブの双方を逆にするようにデータを再配列し、デインターリーブされた出力３６０を得る。デインターリーブされた硬判定出力３６０はコントローラー３６２に提供される。幾つかの実施形態では、コントローラー３６２は、磁気記憶デバイスの読取り動作を開始し、結果として得られるデータを受信し、そのデータを汎用コンピューターシステム等の外部デバイスに提供するハードディスクコントローラー回路である。
【００２２】
スケジューラー３７０は、例えば、検出され復号化されている各符号語の位置を配分し、実行される最大ローカル反復数及び最大グローバル反復数を管理し、入力制御信号３７２に基づいてセクターの処理優先度を設定し、出力制御信号３７４において出力データに関するステータスを提供することによって、データ処理システム３００において検出器３２０及びＬＤＰＣ復号化器３４０、並びに内部メモリキュー３３０を通るデータフローをスケジューリングするのに用いられる。特定のセクターは、入力制御信号３７２を用いて要求することができる。スケジューラー制御信号３７２及び３７４は、例えばハードディスクコントローラー３６２に接続することができる。
【００２３】
幾つかの実施形態において、スケジューラー３７０は、異なるデータブロック又はセクターに異なる処理能力を柔軟に提供するように動作可能である。スケジューラー３７０は、処理中に、入力制御信号３７２並びに処理能力管理方式及びセクター動作メトリック等の他の要素に基づいて、セクターに異なる優先度レベルを割り当てる。スケジューラー３７０は、データ処理システム３００内のリソースを配分し、優先度レベルに従ってセクターに様々なレベルの処理性能を提供する。例えば、スケジューラー３７０は、ＬＤＰＣ復号化反復数、Ｙ平均（Yaverage）、目標シンボルフリップ（ＴＳＦ：Targeted SymbolFlipping）、非同期マーク再試行（ＮＳＭ）等の再試行機能等を制御することができる。
【００２４】
図３に関して、アナログ入力３０４から、コントローラー３６２に提供される硬判定出力３６０への図示される読取りチャネル全体を指すのに、データ処理システムという用語が用いられる。しかしながら、非順序型転送を用いたデータ処理システムは、この例示的な応用形態に限定されない。より一般的には、非順序型転送を用いたデータ処理システムは、入力と異なる順序で出力を得ることができる任意の方法でデータを処理する任意のデバイス又はシステムを含むことができる。幾つかの実施形態では、非順序型転送を用いたデータ処理システムは、特定のデータがシステムから要求されること、及びデータ優先度割当てを行うことを可能にする制御インターフェースも含む。例えば、ハードディスクコントローラーがホストにセクターを転送する時間制限が迫っている場合、コントローラーは、入力制御信号３７２を用いてデータ処理システムにセクターを要求し、セクターが早期に処理されるようにすることができる。別の例として、外部ホストによって要求されていないが、以前に読み取られたセクターに基づいて要求される可能性が高い、「推論的に（speculatively）」読み取られているセクターについて低い優先度を指定することができる。
【００２５】
データセクターは、処理が完了すると非順序型でメモリから出力及び除去することができ、現在処理されているセクターのみが保持されるので、メモリ使用量の効率が増大する。制御信号を用いたセクタータグ付けによって、セクターが出力されるときにそれらのセクターが識別される。復号化が完了した、後のセクターをバックアップすることなく、低速に収束するセクターに対し更なる復号化反復を実行することによって、ＳＮＲ利得を増大させることができる。逆に、収束に失敗した、多数の誤りを有するセクターは、最大数のローカル反復又はグローバル反復が完了するのを待つことなく、通常よりも早くシステムから取り除くことができ、これによって再試行動作数が低減し、それらのセクターがそのまま他のタイプの処理のために出力され、他のセクターのためにデータ処理システムが解放される。
【００２６】
本発明の幾つかの実施形態によるセクターの非順序型転送が図４〜図６に示されている。Ｙキュー３１８及びＬＥキュー３３０等のメモリ４００内のセクターの配分が図４に示されており、ここで、４つのデータセクターのうちの第１のセクター４０２、第２のセクター４０４、第３のセクター４０６、及び第４のセクター４１０が、メモリ４００の異なるロケーションに記憶されている。セクター４０２、４０４、４０６、及び４１０は、図４に示すように順序型で記憶することもできるし、それらのセクターをスケジューラー３７０によって識別及び追跡できる限り、非順序型で記憶することもできる。処理が或るセクターについて完了し、そのセクターがデータ処理システムから出力されると、そのセクターはメモリ４００から消去され、別の入力セクターを処理のために受信し記憶することが可能になる。セクターを、それぞれの処理が完了したときにメモリ４００から出力し消去することもできるし、入力３７２を用いて順序を指定することもできる。セクター５０２、５０４、５０６、及び５１０が図３のデータ処理システム３００内の硬判定出力３６０において生成されるときの、それらのセクターの順序を示す１つの例示的な出力シーケンス５００が図５に示されている。この例では、４つのセクターのうちの第１のセクター５０２、第２のセクター５０４、第３のセクター５０６、及び第４のセクター５１０は、処理がその順序で完了したか、又はコントローラー３６２によって入力制御信号３７２を用いてそのシーケンスが要求されたか、又は非順序型転送が無効にされたことに起因して順序型で出力される。別の例示的な出力シーケンス６００が図６に示されている。ここでは、第１のセクター６１０は、第２のセクター６０２、第３のセクター６０４、及び第４のセクター６０６の後まで出力されない。ここでも、このシーケンス６００は、セクター６１０の処理がセクター６０２、６０４、及び６０６の処理の後に完了したか、又はコントローラー３６２によって入力制御信号３７２を用いてそのシーケンスが要求されたことに起因する。
【００２７】
図７を参照すると、本発明の幾つかの実施形態による、読取りチャネル７０２及びハードディスクコントローラー７０４を含む例示的なデータ処理システム７００が示されている。外部ホスト（図示せず）が、ハードディスクコントローラー７０４と通信し、磁気記憶デバイスに格納されたデータを要求することができる。ハードディスクコントローラー７０４は、読取りチャネル７０２に、データを含むセクターを検出し復号化するように命令する。ハードディスクコントローラー７０４は、個々のセクターが読取りチャネル７０２によって処理されるべき順序及び優先度も規定することができる。幾つかの実施形態では、これらの命令は、図１に関連して上記で開示したように、読取り／書込みヘッドアセンブリによるディスクプラッター上の磁気信号の検知もトリガーすることができる。
【００２８】
セクターは、読取りチャネル７０２によって検出され復号化されると、送信時にそれらのセクターをタグ付けし、識別する信号とともにハードディスクコントローラー７０４に送信される。本発明の幾つかの実施形態による、読取りチャネル７０２とハードディスクコントローラー７０４との間で用いることができる制御信号７０６のうちの幾つかが、図７に示されている。ハードディスクコントローラー７０４は、ｒｄｇａｔｅ信号７１０を用いて、読取りチャネル７０２に読取り動作を実行するように命令する。ハードディスクコントローラー７０４は、ｓｅｃｔｏｒ＿ｔａｇ信号７１２を用いて、読み取られる単数又は複数のセクターを識別することができ、ｓｅｃｔｏｒ＿ｐｒｉｏｒｉｔｙ信号７１４を用いて、各要求されたセクターに与えられる処理優先度を指定することもできる。幾つかの実施形態では、ｓｅｃｔｏｒ＿ｔａｇ信号７１２を用いて、読取りチャネル７０２が特定のセクターを転送することを要求し、ｓｅｃｔｏｒ＿ｔａｇ信号７１２が用いられないとき、ｒｄｇａｔｅ信号７１０のみを用いて、読取りチャネル７０２が次のセクターを読み取ることを要求する。この次のセクターは、準備ができると、出力順と無関係に、読取りチャネル７０２から転送されることになる。読取りチャネル７０２は、データセクターを検出及び復号化する上記で開示した処理機能等の処理機能を実行することができる。データセクターが読取りチャネル７０２によって処理されると、例えば、セクターのデータ値が復号化器において収束し、パリティチェックが満たされると、読取りチャネル７０２はデータをハードディスクコントローラー７０４に送信する。読取りチャネル７０２からハードディスクコントローラー７０４へのｄａｔａ＿ｖａｌｉｄ＿ｒ信号７１６は、有効なデータが送信されていることを示す。ｌａｓｔ＿ｄａｔａ＿ｒ信号７２０は、データセクター送信の終了の直前にアサートされ、送信終了に向けてハードディスクコントローラー７０４を準備することを示す。クロック及びデータは、ｎｒｚ＿ｃｌｋ信号７２２及びｎｒｚ＿ｄａｔａ信号７２４とともに送信され、これらの信号は幾つかの実施形態では非ゼロ復帰フォーマットで送信される。読取りチャネル７０２からハードディスクコントローラー７０４に送信されているセクターは、ｎｒｚ＿ｔａｇ信号７２６を用いて識別される。セクターはセクター番号等の任意の適切な方式で識別することができる。制御信号７０６は、処理済みのセクターが処理後にパリティチェック又は他のエラーチェックにパスしたか否かを示すステータス信号も含むことができる。ハードディスクコントローラー７０４は、セクターを受信すると、要求されたデータを外部ホストに返す前にセクターを再順序付けすることもできるし、セクターを、読取りチャネル７０２から受信された順序が何であれ、その順序で返すこともできる。ハードディスクコントローラー７０４は、データを外部ホストに返す前に、データに対し他の機能を実行することもできる。
【００２９】
図８Ａ及び図８Ｂを参照すると、本発明の様々な実施形態による、図７の読取りチャネル７０２とハードディスクコントローラー７０４との間の入出力Ｉ／Ｏポートのうちの幾つかの信号波形が示されている。ハードディスクコントローラー７０４から読取りチャネル７０２への信号が図８Ａに示されており、読取りチャネル７０２からハードディスクコントローラー７０４への信号が図８Ｂに示されている。特に、信号は、バス等の他のメカニズムを用いて結合又は送信することができる。信号は、単方向性又は双方向性とすることができる。例えば、ｎｒｚ＿ｃｌｋ信号７２２を、読取りチャネル７０２又はハードディスクコントローラー７０４のいずれかにおいて生成し、読取りチャネル７０２とハードディスクコントローラー７０４との間の両方向に他の信号を同期させるのに用いることもできるし、読取りチャネル７０２とハードディスクコントローラー７０４との間で別々のクロック信号を用いることもできる。ｒｄｇａｔｅ信号７１０は、ハードディスクコントローラー７０４によって、セクターの読取り動作を要求するためにアサートされ、ｓｅｃｔｏｒ＿ｔａｇ信号７１４は読み取られるセクターを識別する。ｓｅｃｔｏｒ＿ｔａｇ７１４は、ｒｄｇａｔｅ信号７１０がアサートされる期間全体の間、若しくはｎｒｚ＿ｃｌｋ７２２のサイクルの間、又は他の期間の間、アクティブのままとすることができる。ｒｄｇａｔｅ信号７１０は、任意の適切な期間の間、例えば別の信号（図示せず）を用いて読取りチャネル７０２によって確認応答されるまで、又は所定の時間期間の間、アサートされたままとすることができる。
【００３０】
読取りチャネル７０２は、ハードディスクコントローラー７０４にセクターを送信している間、ｄａｔａ＿ｖａｌｉｄ＿ｒ信号７１６をアサートし、ここでも、ｌａｓｔ＿ｄａｔａ＿ｒ信号７２０を用いてセクターの終了をシグナリングすることができる。セクターの終了は、例えばセクターのｎｒｚ＿ｃｌｋ７２２の最後のサイクル中にアサートされる。ｎｒｚ＿ｔａｇ信号７２６は、読取りチャネル７０２からハードディスクコントローラー７０４に送信されるセクターを識別し、例えば、セクターの開始８１０からセクターの終了８１２までその状態に留まることもできるし、セクターの開始時点においてのみ用いることもできる。
【００３１】
本明細書において開示される非順序型転送を用いない場合、読取りチャネル７０２はセクターをハードディスクコントローラー７０４に順序型で転送することになり、すなわち、セクターが復号化器内で収束する順序と無関係に、ｒｄｇａｔｅコマンド７１０の順序に従って、セクターデータを関連付けられたフラグとともにハードディスクコントローラー７０４に順次転送する。その場合、既に完了している高速に収束するセクターをバックアップすることを回避するために、低速に収束するセクターが、完了する前に読取りチャネル７０２から追放されるか、又は低速に収束するセクターの処理を継続することを可能にするために、高速に収束するセクターがバックアップされたままになることが許容される。
【００３２】
図９を参照すると、流れ図９００が、本発明の様々な実施形態による、非順序型転送を用いたデータ処理システムにおいてデータを処理するための方法を示している。流れ図９００は、図３及び図７において開示される回路等の回路によって実行することができる、データセクターを処理する方法を示している。流れ図９００に従って、データセクターを読み取ることの要求が受信される（ブロック９０２）。この要求は、例えば、読取りチャネルにおいてハードディスクコントローラー（例えば３６２）がスケジューラー（例えば３７０）にシグナリングすることによって行うことができる。この要求は、例えばｓｅｃｔｏｒ＿ｔａｇ７１２信号を用いて、出力順序に影響を及ぼす特定のセクターを指定することもできるし、次のセクターが読み取られることを要求することもできる。本発明の幾つかの実施形態では、セクターは、読取り要求がハードディスクコントローラーから受信される順序と無関係に、処理が完了すると読取りチャネルから出力される。データセクターの処理優先度は、優先度要求が受信されると割り当てられる（ブロック９０４）。例えば、ハードディスクコントローラーによって優先度要求が行われると、読取りチャネル内のスケジューラーは、処理順序、実行されるローカル復号反復及びグローバル処理反復の数等のリソースを割り当てることができる。
【００３３】
要求されたデータセクターに対応するアナログ信号が、読取り／書込みヘッド又はデータ送信チャネルによってディスクプラッター等の磁気媒体から読み取られると、データ処理システムによって受信される（ブロック９０６）。本明細書において提供される開示に基づいて、当業者は、アナログ入力の様々なソースを認識するであろう。アナログ入力は一連のデジタルサンプルに変換される（ブロック９０８）。この変換は、当該技術分野において既知のアナログ／デジタル変換器回路又はアナログ／デジタル変換器システムを用いて行うことができる。アナログ信号を、受信したアナログ信号を表す一連のデジタル値に変換することができる当該技術分野において既知の任意の回路を用いることができることに留意されたい。結果として得られるデジタルサンプルは等化され、等化出力が得られる（ブロック９１０）。本発明の幾つかの実施形態では、等化は当該技術分野において既知のデジタル有限インパルス応答回路を用いて行われる。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態による等化を実行する、そのようなデジタル有限インパルス応答回路の代わりに用いることができる様々な等化器回路を認識するであろう。
【００３４】
データ検出器回路が利用可能であるか否かが判断される（ブロック９１２）。データ検出器回路が利用可能である場合（ブロック９１２）、復号化された出力が中央メモリ回路から利用可能であれば（例えばデータ検出器回路及びデータ復号化器回路を通じた第２の反復及びそれ以降の反復）、その復号化された出力から導出されたデータセットによって導かれた等化出力に、データ検出アルゴリズムが適用され、検出された出力が得られる（ブロック９１４）。本発明の幾つかの実施形態では、データ検出アルゴリズムは当該技術分野において既知のビタビアルゴリズムである。本発明の他の実施形態では、データ検出アルゴリズムは当該技術分野において既知の最大事後確率データ検出器回路である。検出された出力から導出された信号（例えば、検出された出力のローカルでインターリーブされたバージョン）が中央メモリ（例えば２３０）に記憶され、データ復号化回路による処理を待つ（ブロック９１６）。
【００３５】
以前に検討したデータ検出処理と並行して、データ復号化器回路が利用可能であるか否かが判断される（ブロック９１８）。データ復号化器回路が利用可能である場合（ブロック９１８）、検出された出力の以前に記憶された導出物が中央メモリからアクセスされ、受信した符号語として用いられる（ブロック９２０）。この受信した符号語は、データ復号化器回路において反復的に処理され、復号化された出力が得られる（ブロック９２２）。本発明の幾つかの実施形態では、データ復号化アルゴリズムはＬＤＰＣ復号化アルゴリズムである。本明細書において提供される開示に基づいて、当業者であれば、本発明の様々な実施形態に関連して用いることができる他の復号化アルゴリズムを認識するであろう。復号化された出力の導出物は中央メモリ回路に記憶される（ブロック９２４）。データ値がデータ復号化回路内で収束しているか否かの判断が行われる（ブロック９２６）。幾つかの実施形態では、これは、データの値が復号化されている尤度を表す対数尤度比値が特定の閾値に達しているか否か、及び／又はデータのパリティチェック方程式が満たされているか否かを判断することを含む。データ復号化が収束している場合（ブロック９２６）、データセクターの復号化された出力がデータ処理システムから出力される（ブロック９２８）。復号化された出力は、硬判定データとして転送し、中央メモリ回路から消去することができ、別のデータセクターを読取り、検出し、復号化するための空間が解放される。データセクターは、完了順序で、又は場合によっては要求された順序で、データ処理システムから転送される。一方、データ復号化が収束に失敗した場合（ブロック９２６）、データ処理は、最大数のローカル反復が実行されるまで別のローカル反復を続ける（ブロック９１８）。最大数のローカル反復が実行された時点で、別のグローバル反復が実行される（ブロック９１２）。
【００３６】
特に、図９のステップが実行される順序は、示されるものに限定されず、ステップは並列に実行することができる。例えば、複数のセクターを一緒に処理することができ、それらのセクターは空間が利用可能になると中央メモリ回路（例えば２３０）内に記憶され、中央メモリ回路内のセクターのグローバル反復は、要求された読取り順序が存在する場合、その要求された読取り順序に従って、及び／又は各セクターに割り当てられた処理優先度に従ってインターリーブされる。
【００３７】
上記の応用形態において論述した様々なブロックは、他の機能とともに集積回路に実装することができることに留意すべきである。そのような集積回路は、所与のブロック、システム若しくは回路の機能の全て、又はブロック、システム若しくは回路の機能の一部のみを含むことができる。また、ブロック、システム又は回路の要素を複数の集積回路にわたって実装することができる。そのような集積回路は、モノリシック集積回路、フリップチップ集積回路、マルチチップモジュール集積回路及び／又は混合信号集積回路を含むが、これらに限定されるものではない、当該技術分野において知られている任意のタイプの集積回路とすることができる。本明細書において論述されたブロック、システム又は回路の様々な機能を、ソフトウェア又はファームウェアのいずれかで実装することができることにも留意すべきである。そのような幾つかの場合には、システム全体、ブロック全体又は回路全体を、そのソフトウェア等価物又はファームウェア等価物を用いて実装することができる。他の場合には、所与のシステム、ブロック又は回路の一部分をソフトウェア又はファームウェアで実装することもできる一方、他の部分はハードウェアで実装される。
【００３８】
結論として、本発明は、非順序型転送を用いたデータ処理システムのための新規な装置、システム及び方法を提供する。本発明の１つ又は複数の実施形態の詳細な説明が上記で与えられたが、本発明の趣旨から逸脱することなく、様々な代替形態、修正形態及び均等物が当業者には明らかであろう。したがって、上記の説明は本発明の範囲を限定するものとして解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲によって画定される。
【図１】
2013223240.tif 000003
【図２】
2013223240.tif 000004
【図３】
2013223240.tif 000005
【図４】
2013223240.tif 000006
【図５】
2013223240.tif 000007
【図６】
2013223240.tif 000008
【図７】
2013223240.tif 000009
【図８】
2013223240.tif 000010
【図９】
2013223240.tif 000011