(57)【要約】      （修正有）【課題】データ転送システムにおける非順序型データ処理のためのシステム、デバイス、方法を提供する。【解決手段】制約付き非順序型処理回路部を有する読取りチャネル回路１１０を備える記憶システム１００において、インターフェースコントローラー１２０はディスクプラッター１７８への／からのデータのアドレス指定及びタイミングを制御し、非順序型制約コマンド回路部を備えるホストコントローラー１９０とインターラクトする。読取りチャネル回路１１０は、制約付き非順序型処理回路部を利用して、結果がホストコントローラー１９０に非順序型で報告されるか否かを判断し、非順序型報告が可能である場合、非順序型報告がどの程度まで可能であるかを判断する。受信者デバイスから送られる最大キューが零である場合には、受信者がデータセットを非順序型で受け取ることができないことを示す。【選択図】図１
2013186937.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムであって、
データ処理回路であって、
第１の受信データセット、第２の受信データセット及び第３の受信データセットを受信し、なお、該第１のデータセットは該第２のデータセットの前に受信され、該第２のデータセットは該第３のデータセットの前に受信され、
該第１の受信データセットにデータ処理アルゴリズムを適用して第１の出力データセットを得て、該第２の受信データセットに該データ処理アルゴリズムを適用して第２の出力データセットを得て、該第３の受信データセットに該データ処理アルゴリズムを適用して第３の出力データセットを得る、ように動作可能なデータ処理回路と、
該第２の出力データセットが該第１の出力データセットの前に与えられるとき、順序インジケーター出力をアサートして、該第２の出力データセットが非順序型であることを示すように動作可能な非順序型イネーブリング回路と、
を備える、データ処理システム。
【請求項２】
非順序型イネーブリング回路は、前に与えられたデータセットと該第２の出力データセットとの間にあるデータセットの数を示すスパン値を設定するように更に動作可能である、請求項１に記載のデータ処理システム。
【請求項３】
非順序型イネーブリング回路は、該第３の出力データセットが該第２の出力データセットの後に与えられるとき、該順序インジケーター出力をアサートして、該第３の出力データセットが順序型であることを示すように更に動作可能である、請求項２に記載のデータ処理システム。
【請求項４】
非順序型イネーブリング回路は、該第３の出力データセットが与えられるとき、該スパン値をゼロに設定するように更に動作可能である、請求項３に記載のデータ処理システム。
【請求項５】
非順序型イネーブリング回路は、該第１の出力データセット、該第２の出力データセット及び該第３の出力データセットを与える選択された順序をイネーブルするように更に動作可能であり、該選択された順序は、順序型及び非順序型からなる群から選択される、請求項１に記載のデータ処理システム。
【請求項６】
非順序型イネーブリング回路は、受信された入力に基づいて該選択された順序を選択するように動作可能である、請求項５に記載のデータ処理システム。
【請求項７】
受信された入力は、ホストデバイスによって受信可能な非順序型データセットの数を示し、該ホストデバイスによって受信可能な非順序型データセットの数がゼロである場合には、該選択された順序は順序型であり、該ホストデバイスによって受信可能な非順序型データセットの数がゼロよりも大きい場合には、該選択された順序は非順序型である、請求項６に記載のデータ処理システム。
【請求項８】
システムは、集積回路として実装される、請求項１に記載のデータ処理システム。
【請求項９】
システムは記憶デバイスの一部として実施され、該記憶デバイスは、
第１の記憶されたデータセット、第２の記憶されたデータセット及び第３の記憶されたデータセットを保持する記憶媒体と、
該第１の記憶されたデータセットを感知して、対応する該第１の受信データセットを与え、該第２の記憶されたデータセットを感知して、対応する該第２の受信データセットを与え、該第３の記憶されたデータセットを感知して、対応する該第３の受信データセットを与えるように動作可能なデータ感知デバイスと、
を備える、請求項１に記載のデータ処理システム。
【請求項１０】
システムは、通信デバイスの一部として実施される、請求項１に記載のデータ処理システム。
【請求項１１】
データ処理回路は、データ検出器回路とデータ復号化器回路とを備え、該データ処理アルゴリズムは、データ検出アルゴリズム及びデータ復号化アルゴリズムの組合せである、請求項１に記載のデータ処理システム。
【請求項１２】
データ検出器回路は、ビタビアルゴリズムデータ検出器回路及び最大事後データ検出器回路からなる群から選択される、請求項１１に記載のデータ処理システム。
【請求項１３】
データ復号化器回路は低密度パリティチェック復号化器回路である、請求項１１に記載のデータ処理システム。
【請求項１４】
データ処理システムであって、
データ処理回路であって、
前の入力データセットを処理して、前の出力データセットを得て、
現在の入力データセットを処理して、現在の出力データセットを得る、ように動作可能なデータ処理回路と、
非順序型イネーブリング回路であって、
順序インジケーター出力をアサートして、該現在の出力データセットが非順序型で与えられていることを示し、
該前の入力データセットと該現在の入力データセットとの間にあるデータセットの数を示すスパン値を与える、ように動作可能な非順序型イネーブリング回路と、
を備える、データ処理システム。
【請求項１５】
非順序型イネーブリング回路は、該前の入力データセットが該現在の入力データセットの直前のものであるとき、該スパン値をゼロに設定するように更に動作可能である、請求項１４に記載のデータ処理システム。
【請求項１６】
非順序型イネーブリング回路は、受信された入力に少なくとも部分的に基づいて、該現在の出力データセットの非順序型報告をイネーブルするように更に動作可能である、請求項１４に記載のデータ処理システム。
【請求項１７】
受信された入力は、ホストデバイスによって受信可能な非順序型データセットの数を示し、該ホストデバイスによって受信可能な非順序型データセットの数がゼロである場合には、該非順序型イネーブリング回路は、該現在の出力データセットの非順序型報告をディセーブルするように動作可能であり、該ホストデバイスによって受信可能な非順序型データセットの数がゼロよりも大きい場合には、該非順序型イネーブリング回路は、該現在の出力データセットの非順序型報告をイネーブルするように動作可能である、請求項１６に記載のデータ処理システム。
【請求項１８】
システムは、記憶デバイス及び通信デバイスからなる群から選択されるデバイスの一部として実施される、請求項１４に記載のデータ処理システム。
【請求項１９】
システムは、集積回路として実施される、請求項１４に記載のデータ処理システム。
【請求項２０】
データ処理システムにおける非順序型データ報告のための方法であって、
第１の受信データセット、第２の受信データセット及び第３の受信データセットを受信することであって、該第１のデータセットは該第２のデータセットの前に受信され、該第２のデータセットは該第３のデータセットの前に受信される、受信することと、
該第１の受信データセットにデータ処理アルゴリズムを適用することであって、第１の出力データセットを得る、適用することと、
該第２の受信データセットに該データ処理アルゴリズムを適用することであって、第２の出力データセットを得る、適用することと、
該第３の受信データセットに該データ処理アルゴリズムを適用することであって、第３の出力データセットを得る、適用することと、
該第２の出力データセットの非順序型報告をイネーブルすることと、
該第１の出力データセットを受信者回路に与える前に、該第２の出力データセットを該受信者回路に与えることと、
順序インジケーター出力をアサートすることであって、該第２の出力データセットが非順序型であることを示す、アサートすることと、
を含む、データ処理システムにおける非順序型データ報告のための方法。
【請求項２１】
前に与えられたデータセットと該第２の出力データセットとの間にあるデータセットの数を示すスパン値を該受信者回路に与えることを更に含む、請求項２０に記載の方法。
【請求項２２】
第３の出力データセットが該第２の出力データセットの後に与えられるとき、該順序インジケーター出力をアサートすることであって、該第３の出力データセットが順序型であることを示す、アサートすることと、
該第３の出力データセットが与えられるとき、該スパン値をゼロに設定することと、
を更に含む、請求項２１に記載の方法。
【請求項２３】
第２の出力データセットの非順序型報告をイネーブルすることは、該受信者回路によって受信可能な非順序型データセットの非ゼロの数を示す、該受信者回路から受信された入力に基づいて行われる、請求項２０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理のためのシステム及び方法に関し、より詳細には、データ処理の結果の非順序型報告のためのシステム及び方法に関する。
【背景技術】
【０００２】
記憶システム、携帯電話システム、無線送信システムを含む様々なデータ転送システムが開発されてきた。これらのシステムのそれぞれにおいて、データは、或る媒体を介して送信機から受信機へ転送される。例えば、記憶システムでは、データは、送信機（すなわち書込み機能）から受信機（すなわち読取り機能）へ記憶媒体を介して送信される。幾つかの場合には、データ処理機能は、処理されているデータの特性に応じて、データ検出器回路及び／又はデータ復号化器回路を通過する可変の反復数を用いる。要素の数に応じて、異なるデータセットには、データ検出器回路及び／又はデータ復号化器回路を通過するより多くの反復又はより少ない反復が必要とされる。データセットを要求側デバイスに報告する前に要求された順序に組み立てることを可能にする出力バッファーが用いられる。出力バッファーのサイズは、データ検出器回路及び／又はデータ復号化器回路を通過する最大反復数に直接関係している。幾つかの場合には、バッファーのサイズは、所与のデータセットを、収束するように十分長く処理して破壊的なエラーとなるほど処理することができないようになっている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、少なくとも上述した理由により、データ処理のための先進的なシステム及び方法が当該技術分野において必要とされている。
【課題を解決するための手段】
【０００４】
本発明は、データ処理のためのシステム及び方法に関し、より詳細には、データ処理の結果の非順序型報告のためのシステム及び方法に関する。
【０００５】
本発明の様々な実施の形態は、データ処理回路と非順序型イネーブリング回路とを備えるデータ処理システムを提供する。データ処理回路は、第１の受信データセット、第２の受信データセット及び第３の受信データセットを受信し、なお、第１のデータセットは第２のデータセットの前に受信され、第２のデータセットは第３のデータセットの前に受信され；第１の受信データセットにデータ処理アルゴリズムを適用して第１の出力データセットを得て、第２の受信データセットにデータ処理アルゴリズムを適用して第２の出力データセットを得て、第３の受信データセットにデータ処理アルゴリズムを適用して第３の出力データセットを得る、ように動作可能である。非順序型イネーブリング回路は、第２の出力データセットが第１の出力データセットの前に与えられるとき、順序インジケーター出力をアサートして、第２の出力データセットが非順序型であることを示すように動作可能である。
【０００６】
上述した実施の形態の幾つかの場合に、非順序型イネーブリング回路は、前に与えられたデータセットと第２の出力データセットとの間にあるデータセットの数を示すスパン値を設定するように更に動作可能である。幾つかのそのような場合に、非順序型イネーブリング回路は、第３の出力データセットが第２の出力データセットの後に与えられるとき、順序インジケーター出力をアサートして、第３の出力データセットが順序型であることを示すように更に動作可能である。特定の場合に、非順序型イネーブリング回路は、第３の出力データセットが与えられるとき、スパン値をゼロに設定するように更に動作可能である。
【０００７】
上述した実施の形態の様々の場合に、非順序型イネーブリング回路は、第１の出力データセット、第２の出力データセット及び第３の出力データセットを与える選択された順序をイネーブルするように更に動作可能であり、選択された順序は、順序型及び非順序型からなる群から選択される。幾つかのそのような場合に、非順序型イネーブリング回路は、受信された入力に基づいて選択された順序を選択するように動作可能である。特定の場合に、受信された入力は、ホストデバイスによって受信可能な非順序型シーケンスの数を示す。ホストデバイスによって受信可能な非順序型シーケンスの数がゼロである場合には、選択された順序は順序型であり、ホストデバイスによって受信可能な非順序型シーケンスの数がゼロよりも大きい場合には、選択された順序は非順序型である。
【０００８】
本発明の他の実施の形態は、データ処理回路と非順序型イネーブリング回路とを備えるデータ処理システムを提供する。データ処理回路は、前の入力データセットを処理して、前の出力データセットを得て、現在の入力データセットを処理して、現在の出力データセットを得る、ように動作可能である。非順序型イネーブリング回路は、順序インジケーター出力をアサートして、現在の出力データセットが非順序型で与えられていることを示し、前の入力データセットと現在の入力データセットとの間にあるデータセットの数を示すスパン値を与える、ように動作可能である。上述した実施の形態の幾つかの場合に、非順序型イネーブリング回路は、前の入力データセットが現在の入力データセットの直前のものであるとき、スパン値をゼロに設定するように更に動作可能である。上述した実施の形態の様々な場合に、非順序型イネーブリング回路は、受信された入力に少なくとも部分的に基づいて、現在の出力データセットの非順序型報告をイネーブルするように更に動作可能である。幾つかの場合に、受信された入力は、ホストデバイスによって受信可能な非順序型データセットの数を示す。ホストデバイスによって受信可能な非順序型データセットの数がゼロである場合には、非順序型イネーブリング回路は、現在の出力データセットの非順序型報告をディセーブルするように動作可能である。ホストデバイスによって受信可能な非順序型データセットの数がゼロよりも大きい場合には、非順序型イネーブリング回路は、現在の出力データセットの非順序型報告をイネーブルするように動作可能である。
【０００９】
本発明の更に他の実施の形態は、データ処理システムにおける非順序型データ報告のための方法を提供する。本方法は、第１の受信データセット、第２の受信データセット及び第３の受信データセットを受信することを含む。第１のデータセットは第２のデータセットの前に受信され、第２のデータセットは第３のデータセットの前に受信される。本方法は、第１の受信データセットにデータ処理アルゴリズムを適用することであって、第１の出力データセットを得る、適用することと、第２の受信データセットにデータ処理アルゴリズムを適用することであって、第２の出力データセットを得る、適用することと、第３の受信データセットにデータ処理アルゴリズムを適用することであって、第３の出力データセットを得る、適用することと、第２の出力データセットの非順序型報告をイネーブルすることと、第１の出力データセットを受信者回路に与える前に、第２の出力データセットを受信者回路に与えることと、順序インジケーター出力をアサートすることであって、第２の出力データセットが非順序型であることを示す、アサートすることとを更に含む。
【００１０】
上述した実施の形態の幾つかの場合に、本方法は、前に与えられたデータセットと第２の出力データセットとの間にあるデータセットの数を示すスパン値を受信者回路に与えることを更に含む。幾つかの場合に、本方法は、第３の出力データセットが第２の出力データセットの後に与えられるとき、順序インジケーター出力をアサートすることであって、第３の出力データセットが順序型であることを示す、アサートすることと、
第３の出力データセットが与えられるとき、スパン値をゼロに設定することと、
を更に含む。上述した実施の形態の１つ又は複数の場合に、第２の出力データセットの非順序型報告をイネーブルすることは、受信者回路によって受信可能な非順序型データセットの非ゼロの数を示す、受信者回路から受信された入力に基づいて行われる。
【００１１】
この概要は、本発明の幾つかの実施の形態の概略のみを提供するものである。本発明の多くの他の目的、特徴、利点及び他の実施形態が、以下の詳細な説明、添付の特許請求の範囲及び添付の図面からより完全に明らかとなるであろう。
【００１２】
図面を参照することにより、本発明の様々な実施形態の更なる理解を実現することができ、これらの実施形態については本明細書の残りの部分で説明する。図面において、同様の参照符号が幾つかの図面の全てにわたって類似の構成要素を指すのに用いられている。幾つかの場合には、小文字からなるサブラベルが、複数の類似の構成要素のうちの１つを表すように参照符号に関連付けられている。存在するサブラベルを指定することなく参照符号が参照されるとき、そのような複数の類似の構成要素全てを指すことが意図される。
【図面の簡単な説明】
【００１３】
【図１】本発明の様々な実施形態による制約付き非順序型処理回路部を備える記憶システムを示す図である。
【図２】本発明の１つ又は複数の実施形態による制約付き非順序型処理回路部を備えるデータ送信システムを示す図である。
【図３】本発明の幾つかの実施形態による非順序型イネーブリング回路を備えるデータ処理回路を示す図である。
【図４】本発明の幾つかの実施形態による非順序型受信回路部を備えるホストコントローラーを示す図である。
【図５ａ】本発明の幾つかの実施形態によるデータ処理システムにおける非順序型データ報告のための方法を示す流れ図である。
【図５ｂ】本発明の幾つかの実施形態によるデータ処理システムにおける非順序型データ報告のための方法を示す流れ図である。
【図６】非順序型データセットのホストコントローラーの処理のための、本発明の幾つかの実施形態による方法を示す流れ図である。
【図７】図７ａと図７ｂ本発明の幾つかの実施形態による、起こり得るデータ報告の例を示すタイミング図である。
【００１４】
本発明は、データ処理のためのシステム及び方法に関し、より詳細には、データ処理の結果の非順序型報告のためのシステム及び方法に関する。
【００１５】
本発明の様々な実施形態は、制約付き非順序型結果報告を可能にするデータ処理を提供する。制約は、例えば、要求側ホストデバイスから与えることができ、受け取ることができる非順序型データセットの最大数を示す。そのような場合には、データ処理回路部は、非順序型データセットの指示最大数がゼロよりも大きくない限り、非順序型結果報告を可能にしない。非順序型データセットの指示最大数がゼロよりも大きい場合、データ処理回路部は、非順序型データセットの指示最大数に対応するバッファーの数以下に非順序型データセットの数を制約することができるようにのみ非順序型データ報告を可能にすることができる。そのような制約付き非順序型データ報告を提供することによって、順序型データ報告が必要とされる場合に可能になるものを越えて、処理サイクルを所与のデータセットに適用することが可能になると同時に、要求側ホストがサポートしなければならない複雑度に対する制限が可能になる。
【００１６】
図１を参照すると、本発明の様々な実施形態による、制約付き非順序型処理回路部を有する読取りチャネル回路１１０を備える記憶デバイス１００が示されている。記憶システム１００は、例えば、ハードディスクドライブとすることができる。記憶システム１００は、前置増幅器１７０、インターフェースコントローラー１２０、ハードディスクコントローラー１６６、モーターコントローラー１６８、スピンドルモーター１７２、ディスクプラッター１７８、及び読取り／書込みヘッドアセンブリ１７６も備える。インターフェースコントローラー１２０はディスクプラッター１７８への／からのデータのアドレス指定及びタイミングを制御し、非順序型制約コマンド回路部を備えるホストコントローラー１９０とインターラクトする。ディスクプラッター１７８上のデータは、アセンブリがディスクプラッター１７８上に適切に位置決めされているときに読取り／書込みヘッドアセンブリ１７６が検出することができる磁気信号群からなる。１つの実施形態では、ディスクプラッター１７８は、長手記録方式又は垂直記録方式のいずれかに従って記録される磁気信号を含む。
【００１７】
通常の読取り動作では、読取り／書込みヘッドアセンブリ１７６はモーターコントローラー１６８によって、ディスクプラッター１７８上の所望のデータトラックの上方に正確に位置決めされる。モーターコントローラー１６８は、ハードディスクコントローラー１６６の指示の下で読取り／書込みヘッドアセンブリをディスクプラッター１７８上の適切なデータトラックに移動させることによって、ディスクプラッター１７８に対して読取り／書込みヘッドアセンブリ１７６を位置決めし、かつスピンドルモーター１７２を駆動する。スピンドルモーター１７２は、決められたスピンレート（ＲＰＭ）でディスクプラッター１７８をスピンさせる。読取り／書込みヘッドアセンブリ１７６が適切なデータトラックに近接して位置決めされると、ディスクプラッター１７８がスピンドルモーター１７２によって回転するのに応じてディスクプラッター１７８上のデータを表す磁気信号が読取り／書込みヘッドアセンブリ１７６によって感知される。感知された磁気信号は、ディスクプラッター１７８上の磁気データを表す連続した微小アナログ信号として与えられる。この微小アナログ信号は、読取り／書込みヘッドアセンブリ１７６から前置増幅器１７０を介して読取りチャネル回路１１０に転送される。前置増幅器１７０は、ディスクプラッター１７８からアクセスされた微小アナログ信号を増幅するように動作可能である。そして、読取りチャネル回路１１０は、受信したアナログ信号を復号化及びデジタル化し、ディスクプラッター１７８に最初に書き込まれた情報を再生する。このデータは、読取りデータ１０３として受信回路に与えられる。書込み動作は実質的に、先行する読取り動作の反対の動作であり、書込みデータ１０１が読取りチャネル回路１１０に与えられる。次にこのデータは符号化され、ディスクプラッター１７８に書き込まれる。
【００１８】
受信情報の処理の一部として、読取りチャネル回路１１０は、制約付き非順序型処理回路部を利用して、結果がホストコントローラー１９０に非順序型で報告されるか否かを判断し、非順序型報告が可能である場合、非順序型報告がどの程度まで可能であるかを判断する。幾つかの場合には、読取りチャネル回路１１０は、図３に関して以下で論述するものと同様のデータ処理回路を備えるように実施することができる。さらに、読取りチャネル回路１１０によって実施されるデータ処理は、図５ａ及び図５ｂに関して以下で論述するものと同様に実施することができる。幾つかの場合には、ホストコントローラー１９０によってサポートされる再順序付けは、図４に関して以下で論述するものと同様に実施することができ、ホストコントローラー１９０によってサポートされる再順序付けは、図６に関して以下で論述するものと同様に実施することができる。
【００１９】
例えばＲＡＩＤ（安価なディスクの冗長アレイ又は独立ディスクの冗長アレイ）に基づく記憶システム等のより大型の記憶システムに、記憶システム１００を統合することができることに留意すべきである。このようなＲＡＩＤ記憶システムは、複数のディスクを論理ユニットとして結合し、冗長性を通じて安定性及び信頼性を増大させる。データは、種々のアルゴリズムに従って、ＲＡＩＤ記憶システムに含まれる複数のディスクにわたって拡散させることができ、ＲＡＩＤ記憶システムが単一のディスクであるかのようにオペレーティングシステムがアクセスすることができる。例えば、データはＲＡＩＤ記憶システム内の複数のディスクにミラーリングすることもできるし、複数の技法において複数のディスクにわたってスライスし分散させることもできる。ＲＡＩＤ記憶システム内の少数のディスクが故障するか又は利用不可能になる場合、誤り訂正技法を用いて、ＲＡＩＤ記憶システム内の他のディスクからのデータの残りの部分に基づいて、欠落データを再生することができる。ＲＡＩＤ記憶システム内のディスクは、限定ではないが、記憶システム１００等の個別の記憶システムとすることができ、互いに近接して配置することもできるし、セキュリティを増大させるために、より広範に分散させることもできる。書込み動作において、書込みデータがコントローラーに提供され、コントローラーは、例えば書込みデータのミラーリング又はストライピングによって、ディスクにわたって書込みデータを記憶する。読取り動作において、コントローラーはディスクからデータを検索する。次に、コントローラーは、ＲＡＩＤ記憶システムが単一のディスクであるかのように結果の読取りデータを生成する。
【００２０】
読取りチャネル回路１１０に関して用いられるデータ復号化器回路は、限定ではないが、当該技術分野で知られているような低密度パリティチェック（ＬＤＰＣ）復号化器回路とすることができる。そのような低密度パリティチェック技術は、実質的に任意のチャネルによる情報の送信又は実質的に任意の媒体への情報の記憶に適用可能である。送信に適用されるものには、光ファイバー、無線周波数チャネル、有線又は無線のローカルエリアネットワーク、デジタル加入者線技術、無線セルラー、銅ファイバー又は光ファイバー等の任意の媒体によるイーサネット、ケーブルテレビ等のケーブルチャネル、及び地球衛星通信が含まれるが、これらに限定されるものではない。記憶に適用されるものには、ハードディスクドライブ、コンパクトディスク、デジタルビデオディスク、磁気テープ、並びにＤＲＡＭ、ＮＡＮＤフラッシュ、ＮＯＲフラッシュ、他の不揮発性メモリ及びソリッドステートドライブ等のメモリデバイスが含まれるが、これらに限定されるものではない。
【００２１】
図２を参照すると、本発明の様々な実施形態による制約付き非順序型処理回路部を有する受信機２９５を備えるデータ送信システム２９１が示されている。データ送信システム２９１は、符号化された情報を、当該技術分野において知られているような転送媒体２９７を介して送信するように動作可能な送信機２９３を備える。符号化されたデータは、受信機２９５によって転送媒体２９７から受信される。受信機２９５は、受信された入力を処理して、元の送信データを得る。
【００２２】
受信情報の処理の一部として、受信機２９５は、制約付き非順序型処理回路部を利用して、結果がホストコントローラー２９０に非順序型で報告されるか否かを判断し、非順序型報告が可能である場合、非順序型報告がどの程度まで可能であるかを判断する。幾つかの場合には、受信機２９５は、図３に関して以下で論述するものと同様のデータ処理回路を備えるように実施することができる。さらに、受信機２９５によって実施されるデータ処理は、図５ａ及び図５ｂに関して以下で論述するものと同様に実施することができる。幾つかの場合には、ホストコントローラー２９０によってサポートされる再順序付けは、図４に関して以下で論述するものと同様に実施することができ、ホストコントローラー２９０によってサポートされる再順序付けは、図６に関して以下で論述するものと同様に実施することができる。
【００２３】
図３は、本発明の幾つかの実施形態による非順序型イネーブリング回路３３９を備えるデータ処理回路３００を示している。データ処理回路３００は、アナログ信号３０５を受信するアナログフロントエンド回路３１０を備える。アナログフロントエンド回路３１０はアナログ信号３０５を処理し、処理済みのアナログ信号３１２をアナログ／デジタル変換器回路３１４に与える。アナログフロントエンド回路３１０には、限定ではないが、当該技術分野において知られているようなアナログフィルター及び増幅器回路が含まれ得る。本明細書において提供される開示に基づくと、当業者であれば、アナログフロントエンド回路３１０の一部として含めることができる種々の回路部を認識するであろう。幾つかの場合には、アナログ信号３０５は記憶媒体（図示せず）に関連して配置される読取り／書込みヘッドアセンブリ（図示せず）から取り出される。他の場合には、アナログ信号３０５は伝送媒体（図示せず）から信号を受信するように動作可能な受信機回路（図示せず）から取り出される。伝送媒体は有線又は無線とすることができる。本明細書において提供される開示に基づくと、当業者であれば、アナログ入力３０５を取り出すことができる種々のソースを認識するであろう。
【００２４】
アナログ／デジタル変換器回路３１４は、処理済みのアナログ信号３１２を対応する一連のデジタルサンプル３１６に変換する。アナログ／デジタル変換器回路３１４は、アナログ入力信号に対応するデジタルサンプルを生成することが可能な当該技術分野において知られている任意の回路とすることができる。本明細書において提供される開示に基づくと、当業者であれば、本発明の様々な実施形態に関連して用いることができる種々のアナログ／デジタル変換器回路を認識するであろう。デジタルサンプル３１６は等化器回路３２０に与えられる。等化器回路３２０はデジタルサンプル３１６に等化アルゴリズムを適用して、等化出力３２５を得る。本発明の幾つかの実施形態では、等化器回路３２０は当該技術分野において知られているようなデジタル有限インパルス応答フィルター回路である。等化出力３２５を例えばソリッドステート記憶システム内の記憶デバイスから直接受信することができることが可能な場合がある。そのような場合において、データがデジタルデータ入力として受信されるときは、アナログフロントエンド回路３１０、アナログ／デジタル変換器回路３１４及び等化器回路３２０を省くことができる。等化出力３２５は入力バッファー３５３に記憶される。入力バッファー３５３は、１つ又は複数の符号語を、その符号語の処理がデータ検出器回路３３０及びデータ復号化回路３７０を通じて完了するまで保持するのに十分なメモリを含む。符号語の処理は、許容される場合には、複数のグローバル反復（データ検出器回路３３０及びデータ復号化回路３７０の双方を通過する）及び／又はローカル反復（所与のグローバル反復中にデータ復号化回路３７０を通過する）を含む。出力３５７はデータ検出器回路３３０に与えられる。
【００２５】
データ検出器回路３３０は、単一のデータ検出器回路とすることもできるし、異なる符号語に対して並列に動作する２つ以上のデータ検出器回路とすることもできる。データ検出器回路３３０は、単一のデータ検出器回路であるか又は並列に動作する複数のデータ検出器回路であるかにかかわらず、受信された符号語又はデータセットにデータ検出アルゴリズムを適用するように動作可能である。本発明の幾つかの実施形態では、データ検出器回路３３０は当該技術分野において知られているようなビタビアルゴリズムデータ検出器回路である。本発明の他の実施形態では、データ検出器回路３３０は当該技術分野において知られているような最大事後データ検出器回路である。一般的なフレーズ「ビタビデータ検出アルゴリズム」又は「ビタビアルゴリズムデータ検出器回路」は、任意のビタビ検出アルゴリズム若しくはビタビアルゴリズム検出器回路又はそれらの変形形態を意味するように最も広い意味で用いられることに留意されたい。それらの変形形態には、双方向ビタビ検出アルゴリズム又は双方向ビタビアルゴリズム検出器回路が含まれるが、これらに限定されるものではない。また、一般的なフレーズ「最大事後データ検出アルゴリズム」又は「最大事後データ検出器回路」は、任意の最大事後検出アルゴリズム若しくは最大事後検出器回路又はそれらの変形形態を意味するように最も広い意味で用いられる。それらの変形形態には、単純化された最大事後データ検出アルゴリズム及び最大対数最大事後データ検出アルゴリズム、又は対応する検出器回路が含まれるが、これらに限定されるものではない。本明細書において提供される開示に基づくと、当業者であれば、本発明の様々な実施形態に関連して用いることができる種々のデータ検出器回路を認識するであろう。幾つかの場合には、データ検出器回路３３０に含まれる１つのデータ検出器回路が、受信された符号語に適用される最初のグローバル反復について、受信された符号語にデータ検出アルゴリズムを適用するのに用いられ、データ検出器回路３３０に含まれる別のデータ検出器回路が、その後のグローバル反復において、中央メモリ回路３５０からアクセスされた、復号化された出力によって誘導される（guided）受信された符号語にデータ検出アルゴリズムを適用するように動作可能である。
【００２６】
最初のグローバル反復における受信された符号語へのデータ検出アルゴリズムの適用が完了すると、データ検出器回路３３０は検出器出力３３３を与える。検出器出力３３３は軟データを含む。本明細書において用いられるとき、フレーズ「軟データ」は、信頼度データを意味するように最も広い意味で用いられ、この信頼度データの各インスタンスは、対応するビット位置又はビット位置群が正しく検出されている尤度を示す。本発明の幾つかの実施形態では、軟データ又は信頼度データは当該技術分野において知られているような対数尤度比データである。検出された出力３３３はローカルインターリーバー回路３４２に与えられる。ローカルインターリーバー回路３４２は、検出された出力として含まれるデータセットの副部分（sub-portions）（すなわちローカルチャンク）をシャッフルするように動作可能であり、インターリーブされた符号語３４６を与え、このインターリーブされた符号語３４６は中央メモリ回路３５０に記憶される。インターリーバー回路３４２は、データセットをシャッフルして再配置されたデータセットを得ることが可能な当該技術分野において知られている任意の回路とすることができる。インターリーブされた符号語３４６は中央メモリ回路３５０に記憶される。
【００２７】
データ復号化回路３７０が利用可能になると、前に記憶されたインターリーブされた符号語３４６が、記憶された符号語３８６として中央メモリ回路３５０からアクセスされ、グローバルインターリーバー／デインターリーバー回路３８４によってグローバルにインターリーブされる。グローバルインターリーバー／デインターリーバー回路３８４は、符号語をグローバルに再配置することが可能な、当該技術分野において知られている任意の回路とすることができる。グローバルインターリーバー／デインターリーバー回路３８４は、データ復号化回路３７０に復号化器入力３５２を与える。本発明の幾つかの実施形態では、データ復号化アルゴリズムは当該技術分野において知られているような低密度パリティチェックアルゴリズムである。本明細書において提供される開示に基づくと、当業者であれば、本発明の異なる実施形態に関連して用いることができる他の復号化アルゴリズムを認識するであろう。データ復号化回路３７０は、データ復号化アルゴリズムを復号化器入力３５２に適用して、復号化された出力３７１を得る。別のローカル反復（すなわち、データ復号化器回路３７０の別の通過）が望まれる場合、データ復号化回路３７０は、復号化された出力３７１によって誘導される復号化器入力３５２にデータ復号化アルゴリズムを再適用する。これは、ローカル反復の最大数を超えるまで又は復号化された出力３７１が収束するまで続く。
【００２８】
復号化された出力３７１が収束せず（すなわち、最初に書き込まれたデータセットが得られず）、かつ、データ復号化器回路３７０を通るローカル反復数がしきい値を超えた場合、その結果の復号化された出力は、復号化された出力３５４として中央メモリ回路３５０に戻され、中央メモリ回路３５０では、その復号化された出力は、データ検出器回路３３０に含まれるデータ検出器回路を通る別のグローバル反復を待って記憶される。復号化された出力３５４を中央メモリ回路３５０に記憶する前に、復号化された出力３５４はグローバルにデインターリーブされ、グローバルにデインターリーブされた出力３８８が得られる。このグローバルにデインターリーブされた出力３８８は中央メモリ回路３５０に記憶される。グローバルデインターリーブは、記憶された符号語３８６に前に適用されたグローバルインターリーブを逆に行い、復号化器入力３５２を得る。データ検出器回路３３０に含まれる或るデータ検出器回路が利用可能になると、前に記憶されたデインターリーブされた出力３８８が中央メモリ回路３５０からアクセスされ、デインターリーバー回路３４４によってローカルにデインターリーブされる。デインターリーバー回路３４４は復号化器出力３４８を再配置し、インターリーバー回路３４２によって最初に実行されたシャッフルを逆に行う。その結果のデインターリーブされた出力３９７はデータ検出器回路３３０に与えられ、データ検出器回路３３０において、デインターリーブされた出力３９７は、等化出力３２５として前に受信された対応するデータセットのその後の検出を誘導するのに用いられる。
【００２９】
一方、復号化された出力が収束する（すなわち、最初に書き込まれたデータセットが得られる）場合、その結果の復号化された出力が、出力符号語３７２としてデインターリーバー回路３８０に与えられる。デインターリーバー回路３８０は、データを再配置して、データに適用されたグローバルインターリーブ及びローカルインターリーブの双方を逆に行い、デインターリーブされた出力３８２を得る。デインターリーブされた出力３８２は、硬判定出力回路３９０に与えられる。硬判定出力回路３９０は、非順序型で完了することができるデータセットを、その元の順序に再順序付けして戻すように動作可能である。元の順序付けられたデータセットは、その後、硬判定出力３９２として与えられる。
【００３０】
幾つかの場合には、硬判定出力３９２の受信者（図示せず）は、データセットを非順序型で受信する或る能力を備える。データセットを非順序型で受信するこの能力は、受信者からの最大キュー入力として受信者デバイスから与えられる。キュー入力の最大数３６１がゼロである場合、このことは、利用可能な余分なバッファリングがないので、受信者がデータセットを非順序型で受け取ることができないことを示す。そのような場合には、非順序型イネーブリング回路３３９は、硬判定出力回路３９０に順序イネーブル出力３６３をアサートし、それによって、非順序型結果報告はディセーブルされる。そのような場合には、完了したデータセットは、要求されたデータブロック内の全ての前のデータセットが完了するまで、硬判定出力回路３９０に留まる。１つ又は複数のデータセットが硬判定出力回路３９０において順序型である場合、それらのデータセットは、硬判定出力３９２として受信者に与えられ、順序ステータス信号３７３が非順序型イネーブリング回路３３９にアサートされて、報告されているデータが順序型であることが示される。順序型データセットが、硬判定出力回路３９０から硬判定出力３９２として受信者に与えられているとき、非順序型イネーブリング回路３３９は、順序型インジケーター３４７をアサートし、それによって、受信者は、与えられているデータが順序付けられたシーケンスで与えられていることを理解する。加えて、スパンインジケーター３４９は、非順序型イネーブリング回路３３９によってゼロに等しく設定される。スパンインジケーター３４９をゼロに設定することは、硬判定出力３９２として与えられるデータセットの間に介在するデータセットがないことを示す。
【００３１】
対照的に、最大キュー３６１がゼロよりも大きい場合、このことは、受信者が少なくとも１つのデータセット群を非順序型で受け取ることができ、また、追加の非順序型の群（複数の場合もある）を取り扱うのに十分なバッファリングによって準備されていることを示す。そのような場合には、非順序型イネーブリング回路３３９は、硬判定出力回路３９０に順序イネーブル出力３６３をアサートし、それによって、非順序型結果報告がイネーブルされる。そのような場合には、完了したデータセットは、硬判定出力３９２として硬判定出力回路３９０から受信者に直ちに与えられる。次のデータセットが、非順序型出力として硬判定出力回路３９０から与えられる場合、硬判定出力回路３９０は、非順序型イネーブリング回路３３９に順序ステータス信号３７３をアサートし、それによって、非順序型結果が示される。非順序型データセットが、硬判定出力３９２として硬判定出力回路３９０から受信者に与えられているとき、非順序型イネーブリング回路３３９は順序型インジケーター３４７をアサートし、それによって、受信者は、与えられているデータが非順序型シーケンスで与えられていることを理解する。加えて、スパンインジケーター３４９が、現在報告されている非順序型データセットと、前に報告されたデータセットとの間の欠落しているデータセットの数に等しく設定される。一方、次のデータセットが、硬判定出力回路３９０から順序型出力として与えられる場合、硬判定出力回路３９０は、非順序型イネーブリング回路３３９に順序ステータス信号３７３をアサートし、それによって、順序型結果が示される。順序型データセットが硬判定出力回路３９０から硬判定出力３９２として受信者に与えられているとき、非順序型イネーブリング回路３３９は順序型インジケーター３４７をアサートし、それによって、受信者は、与えられているデータが順序型シーケンスで与えられていることを理解する。加えて、スパンインジケーター３４９は、非順序型イネーブリング回路３３９によってゼロに等しく設定される。スパンインジケーター３４９をゼロに設定することは、硬判定出力３９２として与えられるデータセットの間に介在するデータセットがないことを示す。
【００３２】
硬判定出力回路３９０及び非順序型イネーブリング回路３３９によって管理されるデータ報告プロセスを記述する擬似コードを以下に説明する。
Ｉｆ（データセットが硬判定出力回路３９０において利用可能である）｛
Ｉｆ（データセットが、転送された最後のデータセットから順序型である）｛
データセットを硬判定出力３９２として与える；
順序型インジケーター３４７をアサートして順序型転送を示す；
スパンインジケーター３４７をゼロとして設定する；
｝
Ｅｌｓｅ  Ｉｆ（データセットが、転送された最後のデータセットから非順序型である）｛
Ｉｆ（最大キュー３６１がゼロに等しい）｛
データセットを硬判定出力回路３９０に保持する
｝
Ｅｌｓｅ  Ｉｆ（最大キュー３６１がゼロよりも大きい）｛
データセットを硬判定出力３９２として与える；
順序型インジケーター３４７をアサートして非順序型転送を示す；
現在のデータセットと前に転送されたデータセットとの間にあるデータセットの数を計算する；
スパンインジケーター３４７を計算された数として設定する
｝
｝
｝
【００３３】
図４を参照すると、図４は、例えば、図３に関して上述したデータ処理システムから非順序型データセットを受信するように動作可能なホストコントローラー４００を示している。ホストコントローラー４００は、本発明の幾つかの実施形態による非順序型受信回路部を備える。ホストコントローラー４００は、データ出力４５０と順序型インジケーター４５２とを受信するキュー選択器回路４２０を備える。キュー選択器回路４２０は、複数の受信データキュー４０５、４１０、４１５のそれぞれのステータスを保持する。このステータスは、受信データキュー４０５、４１０、４１５のそれぞれのものがデータセットを保持しているのか又は空であるのかを示す。このステータス及び順序型インジケーター４５２に少なくとも部分的に基づいて、キュー選択器回路４２０は、受信データキュー４０５、４１０、４１５のうちの１つを選択して、それぞれのキュー入力４２２、４２４、４２６を介してデータ出力４５０を受信する。詳細には、順序型インジケーター４５２が、データ出力４５０として受信された現在のデータセットが、前のデータセットの後の次の連続したデータセットである（すなわち、データセットが順序型である）ことを示している場合、キュー選択器回路４２０は、データ出力４５０を、受信データキュー４０５、４１０、４１５のうちの現在選択されているものに与える。一方、順序型インジケーター４５２が、データ出力４５０として受信された現在のデータセットが、前のデータセットの後の次の連続したデータセットでない（すなわち、データセットが非順序型である）ことを示している場合、キュー選択器回路４２０は、空として識別された受信データキュー４０５、４１０、４１５のうちの１つを現在選択されている受信データキュー４０５、４１０、４１５として選択する。その後、この新しく選択された受信データキューは、キュー入力４２２、４２４、４２６のそれぞれ１つを介してデータ出力４５０を受信する。加えて、キュー選択器回路４２０は、新しく選択された受信データキューのステータスを、データを保持しているとして更新する。
【００３４】
データアセンブリ回路４３０は、受信データキュー４０５、４１０、４１５のステータスをステータス入力４３２としてキュー選択器回路４２０から受信する。ステータス入力４３２に基づいて、データアセンブリ回路４３０は最大キュー４５１の値を設定する。詳細には、最大キュー４５１の値は、空として識別された受信データキュー４０５、４１０、４１５の数である。したがって、ゼロよりも大きい最大キュー４５１の値は、少なくとも１つの受信データキュー４０５、４１０、４１５が非順序型データ転送をデータ出力４５０として受信するのに利用可能であることを示す。
【００３５】
加えて、データアセンブリ回路４３０は、スパンインジケーター４５３を受信する。スパンインジケーター４５３は、データ出力４５０を介した連続したデータセット転送間で欠落しているデータセットの数を示す。順序型インジケーター４５２が、現在受信されたデータセットが非順序型であることを示している場合、スパンインジケーターは非ゼロである。データアセンブリ回路４３０は、受信データキュー４０５、４１０、４１５のそれぞれのものの間の欠落しているデータを示すスパンインジケーター４５３のそれぞれの値と共に、それぞれの受信データキュー４０５、４１０、４１５に保持されたデータを監視する。データアセンブリ回路４３０が、１つ又は複数の受信データキュー４０５、４１０、４１５内に１つ又は複数のデータセットを識別すると、データアセンブリ回路は、識別された受信データキューにアクセスして、出力４０７、４１２、４１７のそれぞれのものを介してデータセットを順序型で抽出し、順序付けられた一連のデータセットを順序付けられたデータ出力４３５として与える。このプロセスの結果、キュー選択器回路４２０に示されている識別された受信データキューがステータス出力４３２を介して空にされる。ステータス出力４３２に基づいて、キュー選択器回路４２０は、それぞれの受信データキュー４０５、４１０、４１５のステータスを空として更新する。加えて、最大キュー４５１は、空である受信データキュー４０５、４１０、４１５の数を反映するように更新される。
【００３６】
ホストコントローラー４００は、受信データキュー４０５、４１０、４１５として用いられる複数の物理メモリを有するものとして示されているが、他の実施態様が本発明の異なる実施形態に従って可能であることに留意すべきである。一例として、受信データキュー４０５、４１０、４１５は、データ出力４５０として受信されたデータセットの全てを記憶する共有メモリへの複数のポインターとして実施することができる。そのような手法は、メモリのより効率的な使用を提供することができる。
【００３７】
図５ａ及び図５ｂは、本発明の幾つかの実施形態によるデータ処理システムにおける非順序型データ報告のための方法を示す流れ図５００、５０１である。流れ図５００によれば、データセットがデータ検出アルゴリズムの適用の準備ができているか否かが判断される（ブロック５０５）。幾つかの場合には、データセットが中央メモリ回路を介してデータ復号化器回路から受信されると、そのデータセットの準備はできている。他の場合には、データセットがフロントエンド処理回路から最初に利用可能になると、そのデータセットの処理の準備はできている。データセットの準備ができている場合（ブロック５０５）、データ検出器回路がそのデータセットを処理するのに利用可能であるか否かが判断される（ブロック５１０）。
【００３８】
データ検出器回路が処理に利用可能である場合（ブロック５１０）、データセットは、利用可能なデータ検出器回路によってアクセスされる（ブロック５１５）。データ検出器回路は、例えば、ビタビアルゴリズムデータ検出器回路又は最大事後データ検出器回路とすることができる。データセットが新しく受信されたデータセットである場合（すなわち、最初のグローバル反復）、新しく受信されたデータセットがアクセスされる。対照的に、データセットが前に受信されたデータセットである場合（すなわち、第２の又は後のグローバル反復の場合）、前に受信されたデータセット及び先行のグローバル反復から利用可能（中央メモリから利用可能）な対応する復号化データの双方がアクセスされる。次に、アクセスされたデータセットは、データ検出アルゴリズムをこのデータセットに適用することによって処理される（ブロック５１８）。データセットが新しく受信されたデータセットである場合（すなわち、第１のグローバル反復）、そのデータセットは、データ復号化器回路から利用可能な復号化データからの誘導なしで処理される。一方、データセットが前に受信されたデータセットである場合（すなわち、第２の又は後のグローバル反復である場合）、そのデータセットは、先行のグローバル反復から利用可能な対応する復号化データの誘導を用いて処理される。データ検出アルゴリズムを適用することによって、検出出力が得られる。検出出力の導出物（derivative）は中央メモリに記憶される（ブロック５２０）。検出出力の導出物は、例えば、検出出力をインターリーブ又はシャッフルしたものとすることができる。
【００３９】
図５ｂの流れ図５０１によると、データ復号化器回路が、図５ａの前述したデータ検出プロセスと並列に利用可能であるか否かが判断される（ブロック５０６）。データ復号化器回路は、例えば、当該技術分野で知られているような低密度パリティチェックデータ復号化器回路とすることができる。次に、中央メモリからのデータセットの準備ができているか否かが判断される（ブロック５１１）。データセットは、図５ａのブロック５２０に関して上述したように中央メモリに記憶された検出出力の導出物である。データセットが中央メモリにおいて利用可能である場合（ブロック５１１）、検出出力の前に記憶された導出物が中央メモリからアクセスされ、受信された符号語として用いられる（ブロック５１６）。データ復号化アルゴリズムが、受信された符号語に適用されて、復号化された出力が得られる（ブロック５２１）。前のローカル反復が、受信された符号語に対して実行されていた場合、前のローカル反復の結果（すなわち、前の復号化された出力）が用いられて、復号化アルゴリズムの適用が誘導される。次に、復号化された出力が収束した（例えば、残りの充足されていないチェックがないことによって示されるように、最初に書き込まれたデータになった）か否かが判断される（ブロック５２６）。
【００４０】
復号化された出力は、収束した場合（ブロック５２６）、復号化された出力符号語として再順序付けバッファーに与えられる（ブロック５５６）。受信された出力符号語が前に報告された出力符号語に連続したものであるか、又は現在受信された出力符号語が、順序付けられた一組の複数の符号語を完成させるものであるかが判断される（ブロック５７１）。前者の場合には、現在受信された出力符号語が直ちに順序型であることが報告される。後者の場合には、完成した、順序付けられた一組の符号語が順序型であることが報告される。現在受信された出力符号語が、前に報告された符号語に連続したものであるか、又は順序付けられた一組の符号語を完成させるものである場合（ブロック５７１）、現在受信された出力符号語と、適用可能である場合には順序型符号語シーケンスを形成する他の符号語とが出力として受信者に与えられる（ブロック５７６）。符号語（複数の場合もある）が出力として与えられるとき（ブロック５７６）、順序型インジケーターがアサートされ、それによって、受信者には、転送中の符号語が順序型であることが通知される（ブロック５８１）。
【００４１】
他方、現在受信された出力符号語が順序型でないか又は順序付けられたデータセットを完成させるものでない場合（ブロック５７１）、非順序型結果報告が可能であるか否かが判断される（ブロック５６１）。これは、例えば、最大キュー入力の値がゼロよりも大きいか否かを判断することによって判断することができる。非順序型結果報告が可能でない場合（ブロック５６１）、プロセスはブロック５０６に戻る（reset）。一方、非順序型結果報告が可能である場合（ブロック５６１）、現在受信された出力符号語が出力として受信者に与えられる（ブロック５８６）。符号語が出力として与えられるとき（ブロック５８６）、順序型インジケーターがデアサートされ、それによって、受信者には、転送中の符号語が非順序型であることが通知される（ブロック５９１）。加えて、前に報告された出力符号語と現在受信された出力符号語との間にある出力符号語の数が、スパンインジケーターとして計算され、スパンインジケーターは、距離として受信者に与えられる（ブロック５９６）。
【００４２】
一方、復号化された出力が収束しなかった（例えば、エラーが残っている）場合（ブロック５２６）、別のローカル反復が望まれているか否かが判断される（ブロック５３６）。幾つかの場合には、デフォルトの７回のローカル反復が、各グローバル反復につき可能になる。本明細書に提供される開示に基づくと、当業者であれば、本発明の異なる実施形態に関連して用いることができる別のデフォルトのローカル反復数を認識するであろう。別のローカル反復が望まれている場合（ブロック５３６）、ブロック５２１、５２６、５３６のプロセスが、前のローカル反復の結果を次の反復の誘導として用いて繰り返される。
【００４３】
一方、別のローカル反復が望まれていない場合（ブロック５３１）、タイムアウト条件が満たされたか否かが判断される（ブロック５４１）。このタイムアウト条件は、例えば、データ処理システムの入力バッファー又は中央メモリのいずれかに残っているメモリリソースが少なすぎ、そのため、現在処理中の符号語の追加の処理が可能でないという表示とすることができる。中央メモリ及び出力メモリ再順序付けキュー内の利用可能な空間の量は、収束するために同時処理中の符号語によって用いられている反復の回数の関数である。出力待ち時間の制限に関するより詳細な内容については、例えば、Yang他によって２００８年５月８日に出願された「Systems and Methodsfor Queue Based Data Detection and Decoding」という発明の名称の米国特許出願第１２／１１４，４６２号を参照されたい。上記参考文献の全体が、全ての目的のために参照により本明細書に援用される。したがって、符号語がグローバル反復を通じて処理を続けることができる時間の量は、入力バッファー、中央メモリ及び出力メモリ再順序付けキューの可用性の関数である。本明細書に提供される開示に基づくと、当業者であれば、起こり得る種々のタイムアウト条件を認識するであろう。タイムアウト条件が満たされない場合（ブロック５４１）、現在処理中の符号語の追加の処理が可能になる。この追加の処理は、データ検出器がその後のグローバル反復を開始するのに利用可能になるまで、復号化された出力の導出物が保持される場合に、その導出物を中央メモリに書き込む（ブロック５４６）ことによって容易にされる。一方、タイムアウト条件が満たされる場合（ブロック５４１）、エラーが報告され、現在処理中の符号語の再試行がトリガーされる（ブロック５５１）。
【００４４】
図６を参照すると、流れ図６００が、非順序型データセットのホスト処理のための、本発明の幾つかの実施形態による方法を示している。流れ図６００によると、データセットがデータ処理回路から受信されているか否かが判断される（ブロック６０５）。１つの特定の例では、データ処理回路３００からの硬判定出力３９２が、ホストコントローラー４００においてデータ出力４５０として受信される。データセットが受信された場合（ブロック６０５）、順序型インジケーターがデアサートされて、現在受信されたデータセットが非順序型で受信されたことを示しているか否かが判断される（ブロック６１０）。順序型インジケーターがデアサートされた場合（ブロック６１０）、次の利用可能な受信データキューが選択される（ブロック６１５）。これは、空のステータスを示す任意の受信データキューを選択することを含むことができる。選択された受信データキューのステータスは、データを保持していると識別され（ブロック６１７）、受信されたデータセットは、選択された受信データキューに記憶される（ブロック６２０）。最大キューステータス出力の値は、１つ減らされ、１つ少ない受信データキューが、追加の情報を受信するのに利用可能であることを示す（ブロック６２５）。一方、順序型インジケーターがアサートされて、受信されたデータセットが順序型であることが示された場合（ブロック６１０）、受信されたデータセットは、選択された受信データキューに記憶される（ブロック６３５）。
【００４５】
並行して、受信データキューのうちの１つが、照会された受信データキューとして選択される（ブロック６４０）。照会された受信データキュー内の第１のデータセット間のスパンすなわち距離が、他の受信データキューのうちの１つ又は複数に保持されたデータ（すなわち、完成した、順序付けられた一組のデータセットを作成するのに必要とされるデータセット）によって充足されるか否かが判断される（ブロック６４５）。スパンが充足される場合（ブロック６４５）、照会された受信データキュー及びスパンを充足する別の受信データキュー（複数の場合もある）からの順序付けられたデータセットは、完成した、順序付けられた一組のデータセットとして与えられる（ブロック６５０）。加えて、照会された受信データキュー及びスパンを充足する別の受信データキュー（複数の場合もある）のステータスは、空を示すように更新され（ブロック６５５）、最大キューは、空として識別された受信データキューの数と等しくなるように増加される（ブロック６６０）。別の受信データキューが、照会された受信データキューとして選択され（ブロック６６５）、ブロック６４０〜６６５のプロセスが繰り返される。
【００４６】
図７ａを参照すると、タイミング図７００が、記憶媒体から受信デバイスへの例示的なデータ転送を示している。詳細には、タイミング図７００は、複数のデータセット（すなわち、データセットＡ、データセットＢ、データセットＣ、データセットＤ、データセットＥ、データセットＦ、データセットＧ及びデータセットＨ）を記憶媒体からのデータ検索順序７０５で示している。検索されたデータセットは、データ処理回路（例えばデータ処理回路３００）を通じて処理され、非順序型で完了することが可能である。データセットＤ及びデータセットＥが非順序型で完了しているデータ処理完了順序７１０が示されている。タイミング図７００の場合、非順序型報告が可能ではない。これは、例えば、最大キュー信号（例えば最大キュー３６１又は最大キュー４５１）の値をゼロに設定することによって引き起こすことができる。そのような状態では、データセットは、順序型で報告されるように、データ処理回路の一部として含まれる硬判定出力回路において再順序付けされる。データセットの順序型報告は、データ報告順序７１５として示されている。そのような順序型報告のシナリオでは、スパンインジケーター７４９（例えば、スパンインジケーター３４９又はスパンインジケーター４５３）は常にゼロに等しく設定され、順序型インジケーター７４７（例えば順序型インジケーター３４７又は順序型インジケーター４５２）は常にアサートされて、全ての転送が順序型であることが示される。
【００４７】
図７ｂを参照すると、タイミング図７００が、記憶媒体から受信デバイスへの例示的なデータ転送を示している。詳細には、タイミング図７５０は、複数のデータセット（すなわち、データセットＡ、データセットＢ、データセットＣ、データセットＤ、データセットＥ、データセットＦ、データセットＧ及びデータセットＨ）を記憶媒体からのデータ検索順序７５５で示している。検索されたデータセットは、データ処理回路（例えばデータ処理回路３００）を通じて処理され、非順序型で完了することが可能である。データセットＤ及びデータセットＥが非順序型で完了しているデータ処理完了順序７６０が示されている。タイミング図７５０の場合、非順序型報告が可能である。これは、例えば、最大キュー信号（例えば最大キュー３６１又は最大キュー４５１）の値をゼロよりも大きく設定することによって引き起こすことができる。そのような状態では、データセットは、それらの準備が非順序型報告の順序でできるのとほぼ同時に、データ処理回路の一部として含まれる硬判定出力回路から渡される。データセットの非順序型報告は、データ報告順序７６５として示されている。そのような非順序型報告のシナリオでは、スパンインジケーター７９９（例えばスパンインジケーター３４９又はスパンインジケーター４５３）は、連続して報告されたデータセット間で欠落しているデータセットの数に等しく設定される（例えば、この数は、現在報告されたデータセットが前に報告されたデータセットからの次の連続したデータセットである場合にはゼロに設定され、２つのデータセットが、現在報告されたデータセットと前に報告されたデータセットとの間で欠落している場合には２に等しく設定される）。順序型インジケーター７９７（例えば順序型インジケーター３４７又は順序型インジケーター４５２）が、現在報告されたデータセットが前に報告されたデータセットからの次の連続したデータセットである場合にはアサートされ、現在報告されたデータセットが前に報告されたデータセットからの次の連続したデータセットでない場合にはデアサートされる。
【００４８】
上記のアプリケーションにおいて論述した様々なブロックは、他の機能と共に集積回路に実装することができることに留意すべきである。そのような集積回路は、所与のブロック、システム若しくは回路、又はブロック、システム若しくは回路のサブセットの機能の全てを含むことができる。また、ブロック、システム又は回路の要素を複数の集積回路にわたって実装することができる。そのような集積回路は、当該技術分野において知られている任意のタイプの集積回路とすることができる。この任意のタイプの集積回路には、モノリシック集積回路、フリップチップ集積回路、マルチチップモジュール集積回路及び／又は混合信号集積回路が含まれるが、これらに限定されるものではない。本明細書において論述されたブロック、システム又は回路の様々な機能を、ソフトウェア又はファームウェアのいずれかで実装することができることにも留意すべきである。そのような幾つかの場合には、システム全体、ブロック全体又は回路全体を、そのソフトウェア等価物又はファームウェア等価物を用いて実装することができる。他の場合には、所与のシステム、ブロック又は回路の一部分をソフトウェア又はファームウェアで実装することができる一方、他の部分はハードウェアで実装される。
【００４９】
結論として、本発明は、非順序型データ処理のための新規なシステム、デバイス、方法及び構成を提供する。本発明の１つ又は複数の実施形態の詳細な説明が上記で与えられたが、本発明の趣旨から逸脱することなく、様々な代替形態、変更形態及び均等物が当業者には明らかであろう。したがって、上記の説明は本発明の範囲を限定するものとして解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲によって画定される。
【図１】
2013186937.tif 000003
【図２】
2013186937.tif 000004
【図３】
2013186937.tif 000005
【図４】
2013186937.tif 000006
【図５ａ】
2013186937.tif 000007
【図５ｂ】
2013186937.tif 000008
【図６】
2013186937.tif 000009
【図７】
2013186937.tif 000010