(57)【特許請求の範囲】
【請求項１】
一連のデータ・サンプルを受け取り、
第１の２進遷移に対応する第１相関器値によって前記一連のデータ・サンプルの一部を乗算して第１値を作り、
第２の２進遷移に対応する第２相関器値によって前記一連のデータ・サンプルの前記一部を乗算して第２値を作り、
加算器回路によって第１の以前の状態値に前記第１値を加算して第１中間値を作り、
第２の以前の状態値に前記第２値を加算して第２中間値を作り、
前記第１中間値および前記第２中間値のうちのより大きいものを選択して第１の存続中間値を作り、
第３の２進遷移に対応する第３相関器値によって前記一連のデータ・サンプルの前記一部を乗算して第３値を作り、
第４の２進遷移に対応する第４相関器値によって前記一連のデータ・サンプルの前記一部を乗算して第４値を作り、
前記第１の以前の状態値に前記第３値を加算して第３中間値を作り、
前記第２の以前の状態値に前記第４値を加算して第４中間値を作り、
前記第３中間値および前記第４中間値のうちのより大きいものを選択して第２の存続中間値を作り、
前記第１の存続中間値および前記第２の存続中間値のうちのより大きいものを選択して存続状態値を作り、前記存続状態値は存続状態に関連しており、
ビット・シーケンス内の最も最近のビットとして前記存続状態を選択する、ことを含む、データ検出の方法。
【請求項２】
前記第１の存続中間値および前記第２の存続中間値のうちの前記選択された１つを計算する際に使用された前記第１の以前の状態値および前記第２の以前の状態値のうちの１つに対応する以前の状態を前記ビット・シーケンス内の前記最も最近のビットに先行するビットとして選択することをさらに含む、請求項１に記載の方法。
【請求項３】
前記第１の以前の状態値として前記第１の存続中間値を格納することをさらに含む、請求項１又は２に記載の方法。
【請求項４】
前記第２の以前の状態値として前記第２の存続中間値を格納することをさらに含む、請求項１又は２に記載の方法。
【請求項５】
前記第１の以前の状態値は０状態に対応し、前記第２の以前の状態値は１状態に対応する、請求項１〜４の何れかに記載の方法。
【請求項６】
前記第３の２進遷移は０状態から１状態への遷移であり、前記第４の２進遷移は１状態から１状態への遷移である、請求項１〜５のに記載の方法。
【請求項７】
前記第１の２進遷移は１状態から０状態への遷移であり、前記第２の２進遷移は０状態から０状態への遷移である、請求項６に記載の方法。
【請求項８】
前記第１相関器値は配列１，０，−１，−１であり、前記第２相関器値は配列０，１，０，−１であり、前記第３相関器値は配列−１，０，１，１であり、前記第４相関器値は配列０，−１，０，１である、請求項１〜７の何れかに記載の方法。
【請求項９】
１状態から１状態への遷移に対応する第１相関器値によって一連のディジタル・サンプルを乗算して第１値を作るよう動作可能な第１乗算器回路と、
０状態から１状態への遷移に対応する第２相関器値によって前記一連のディジタル・サンプルを乗算して第２値を作るよう動作可能な第２乗算器回路と、
１状態から０状態への遷移に対応する第３相関器値によって前記一連のディジタル・サンプルを乗算して第３値を作るよう動作可能な第３乗算器回路と、
０状態から０状態への遷移に対応する第４相関器値によって前記一連のディジタル・サンプルを乗算して第４値を作るよう動作可能な第４乗算器回路と、
前記第１値と以前の１状態値とを合計して第１中間状態値を作るよう動作可能な第１加算器回路と、
前記第２値と以前の０状態値とを合計して第２中間状態値を作るよう動作可能な第２加算器回路と、
前記第１中間状態値および前記第２中間状態値のうちのより大きいものを選択して第１の存続中間状態値を作るよう動作可能な第１セレクタ回路と、
前記第３値と以前の０状態値とを合計して第３中間状態値を作るよう動作可能な第３加算器回路と、
前記第４値と前記以前の１状態値とを合計して第４中間状態値を作るよう動作可能な第４加算器回路と、
前記第３中間状態値および前記第４中間状態値のうちのより大きいものを選択して第２の存続中間状態値を作るよう動作可能な第２セレクタ回路と、
前記第１の存続中間状態値および前記第２の存続中間状態値のうちのより大きいものを選択して存続状態値を作るよう動作可能な第３セレクタ回路と、
前記存続状態値に関連する状態をビット・シーケンス内の最も最近のビットとして識別するように動作可能な状態回路とを含む、シーケンス検出器回路。
【請求項１０】
前記状態回路は、前記存続状態値を計算するのに使用された経路内の一連の１つまたは複数の先行する状態を識別するようさらに動作可能である、請求項９に記載の回路。
【請求項１１】
前記状態回路は、前記存続状態値を計算する際に使用された前記以前の０状態値および前記以前の１状態値のうちの１つに対応する状態を前記ビット・シーケンス内の前記最も最近のビットに先行するビットとして識別するようさらに動作可能である、請求項９に記載のシーケンス検出器回路。
【請求項１２】
前記第１の存続中間状態値を前記以前の１状態値として格納するよう動作可能な以前の１状態メモリと、
前記第２の存続中間状態値を前記以前の０状態値として格納するよう動作可能な以前の０状態メモリとをさらに含む、請求項９〜１１の何れかに記載の回路。
【請求項１３】
前記第１相関器値は配列０，−１，０，１であり、前記第２相関器値は配列−１，０，１，１であり、前記第３相関器値は配列１，０，−１，−１であり、前記第４相関器値は配列０，１，０，−１である、請求項９〜１２の何れかに記載の回路。
【請求項１４】
記憶媒体上で維持される情報を読取／書込ヘッド・アセンブリを介して受け取るように動作可能な検出器回路を含むストレージ・デバイスであって、前記検出器回路が、
１状態から１状態への遷移に対応する第１相関器値によって一連のディジタル・サンプルを乗算して第１値を作るよう動作可能な第１乗算器回路と、
０状態から１状態への遷移に対応する第２相関器値によって前記一連のディジタル・サンプルを乗算して第２値を作るよう動作可能な第２乗算器回路と、
１状態から０状態への遷移に対応する第３相関器値によって前記一連のディジタル・サンプルを乗算して第３値を作るよう動作可能な第３乗算器回路と、
０状態から０状態への遷移に対応する第４相関器値によって前記一連のディジタル・サンプルを乗算して第４値を作るよう動作可能な第４乗算器回路と、
前記第１値と以前の１状態値とを合計して第１中間状態値を作るよう動作可能な第１加算器回路と、
前記第２値と以前の０状態値とを合計して第２中間状態値を作るよう動作可能な第２加算器回路と、
前記第１中間状態値および前記第２中間状態値のうちのより大きいものを選択して第１の存続中間状態値を作るよう動作可能な第１セレクタ回路と、
前記第３値と前記以前の０状態値とを合計して第３中間状態値を作るよう動作可能な第３加算器回路と、
前記第４値と前記以前の１状態値とを合計して第４中間状態値を作るよう動作可能な第４加算器回路と、
前記第３中間状態値および前記第４中間状態値のうちのより大きいものを選択して第２の存続中間状態値を作るよう動作可能な第２セレクタ回路と、
前記第１の存続中間状態値および前記第２の存続中間状態値のうちのより大きいものを選択して存続状態値を作るよう動作可能な第３セレクタ回路と、
前記存続状態値に関連する状態をビット・シーケンス内の最も最近のビットとして識別するよう動作可能な状態回路とを含む、ストレージ・デバイス。
【請求項１５】
前記状態回路は、前記存続状態値を計算する際に使用された前記以前の０状態値および以前の１状態値のうちの１つに対応する状態を前記ビット・シーケンス内の前記最も最近のビットに先行するビットとして識別するようさらに動作可能である、請求項１４に記載のストレージ・デバイス。
【請求項１６】
前記第１の存続中間状態値を前記以前の１状態値として格納するよう動作可能な以前の１状態メモリと、
前記第２の存続中間状態値を前記以前の０状態値として格納するよう動作可能な以前の０状態メモリとをさらに含む、請求項１４又は１５に記載のストレージ・デバイス。
【請求項１７】
前記第１相関器値は配列０，−１，０，１であり、前記第２相関器値は配列−１，０，１，１であり、前記第３相関器値は配列１，０，−１，−１であり、前記第４相関器値は配列０，１，０，−１である、請求項１４〜１６の何れかに記載のストレージ・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを処理するシステムおよび方法に関し、より具体的には、データ・シーケンスを検出するシステムおよび方法に関する。
【背景技術】
【０００２】
通常のデータ処理システムは、アナログ入力信号を受け取り、このアナログ入力信号は、一連のディジタル・サンプルを作るためにサンプリングされる。このデータは、しばしば、データ同期化および／または他の目的に使用されるデータのシーケンスを含む。さまざまな既存のデータ処理システムは、たとえば、ビタビ・シーケンス検出回路を利用する。そのような回路は、アナログ入力信号の受け取られるディジタル・サンプルが、ターゲット応答に正確に等化され、正確なタイミング制御および利得制御が適用されるときには良好に動作する。いくつかの場合に、十分な正確さは、達成がむずかしく、シーケンス検出の劣化した性能をもたらす。他の手法は、低雑音環境で穏当に良好に働くしきい値検出処理に頼るが、チャネル・ビット密度が高まるときには、雑音の影響が増え、そのようなしきい値手法がより有効でないものになる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、少なくとも前述の理由から、データ・シーケンス検出の高度なシステムおよび方法の必要性が当技術分野に存在する。
【課題を解決するための手段】
【０００４】
本発明は、データを処理するシステムおよび方法に関し、より具体的には、データ・シーケンスを検出するシステムおよび方法に関する。
【０００５】
本発明のさまざまな実施形態は、検出器回路で一連のデータ・サンプルを受け取ることと、第１値を作るために第１の２進遷移に対応する第１相関器値によって一連のデータ・サンプルの一部を乗算することと、第２値を作るために第２の２進遷移に対応する第２相関器値によって一連のデータ・サンプルの一部を乗算することと、第１中間値を作るために以前の状態値に第１値を加算することと、第２中間値を作るために以前の状態値に第２値を加算することと、存続中間値（ｓｕｒｖｉｖｉｎｇ  ｉｎｔｅｒｉｍ  ｖａｌｕｅ）を作るために第１中間値および第２中間値のうちのより大きいものを選択することとを含む、データ検出の方法を提供する。いくつかの場合に、これらの方法は、以前の状態値として存続中間値を格納することをさらに含む。
【０００６】
前述の実施形態のさまざまな実例では、存続中間値は、第１の存続中間値であり、以前の状態は、第１の以前の状態である。そのような実例では、この方法は、第３値を作るために第３の２進遷移に対応する第３相関器値によって一連のデータ・サンプルの一部を乗算することと、第４値を作るために第４の２進遷移に対応する第４相関器値によって一連のデータ・サンプルの一部を乗算することと、第３中間値を作るために第２の以前の状態値に第３値を加算することと、第４中間値を作るために第２の以前の状態値に第４値を加算することと、第２の存続中間値を作るために第３中間値および第４中間値のうちのより大きいものを選択することとをさらに含む。前述の実施形態のいくつかの実例では、この方法は、第２の以前の状態値として第２の存続中間値を格納することをさらに含む。
【０００７】
前述の実施形態のさまざまな実例では、この方法は、存続状態値（ｓｕｒｖｉｖｉｎｇ  ｓｔａｔｅ  ｖａｌｕｅ）を作るために第１の存続中間値および第２の存続中間値のうちのより大きいものを選択することであって、存続状態値は、存続状態に関連する、選択することをさらに含む。そのような事例では、存続状態は、ビット・シーケンス内の最も最近のビットとして選択される。いくつかの場合に、この方法は、第１の存続中間値および第２の存続中間値のうちの選択された１つを計算する際に使用された第１の以前の状態値および第２の以前の状態値のうちの１つに対応する以前の状態をビット・シーケンス内の最も最近のビットに先行するビットとして選択することをさらに含む。
【０００８】
前述の実施形態の１つまたは複数の実例では、第１の以前の状態値は、０状態に対応し、第２の以前の状態値は、１状態に対応する。いくつかの場合に、第１の２進遷移は、１状態から０状態への遷移であり、第２の２進遷移は、０状態から０状態への遷移であり、第３の２進遷移は、０状態から１状態への遷移であり、第４の２進遷移は、１状態から１状態への遷移である。一特定の場合に、第１相関器値は、配列１，０，−１，−１であり、第２相関器値は、配列０，１，０，−１であり、第３相関器値は、配列−１，０，１，１であり、第４相関器値は、配列０，−１，０，１である。
【０００９】
本発明の他の実施形態は、第１、第２、第３、および第４の乗算器回路と、第１、第２、第３、および第４の加算器回路と、第１および第２のセレクタ回路とを含むシーケンス検出器回路を提供する。第１乗算器回路は、第１値を作るために１状態から１状態への遷移に対応する第１相関器値によって一連のディジタル・サンプルを乗算するように動作可能である。第２乗算器回路は、第２値を作るために０状態から１状態への遷移に対応する第２相関器値によって一連のディジタル・サンプルを乗算するように動作可能である。第３乗算器回路は、第３値を作るために１状態から０状態への遷移に対応する第３相関器値によって一連のディジタル・サンプルを乗算するように動作可能である。第４乗算器回路は、第４値を作るために０状態から０状態への遷移に対応する第４相関器値によって一連のディジタル・サンプルを乗算するように動作可能である。第１加算器回路は、第１中間状態値を作るために第１値と以前の１状態値とを合計するように動作可能である。第２加算器回路は、第２中間状態値を作るために第２値と以前の１状態値とを合計するように動作可能である。第３加算器回路は、第３中間状態値を作るために第３値と以前の０状態値とを合計するように動作可能である。第４加算器回路は、第４中間状態値を作るために第４値と以前の０状態値とを合計するように動作可能である。第１セレクタ回路は、第１の存続中間状態値を作るために第１中間状態値および第２中間状態値のうちのより大きいものを選択するように動作可能であり、第２セレクタ回路は、第２の存続中間状態値を作るために第３中間状態値および第４中間状態値のうちのより大きいものを選択するように動作可能である。
【００１０】
この要約は、本発明のいくつかの実施形態の全般的概要だけを提供する。本発明の多数の他の目的、特徴、利益、および他の実施形態は、次の詳細な説明、添付の特許請求の範囲、および添付図面からより十分に明白になる。
【００１１】
本発明のさまざまな実施形態のさらなる理解は、本明細書の残りの部分で説明される図面を参照することによって実現することができる。図面では、同様の符号が、複数の図面を通じて同様のコンポーネントを参照するのに使用される。いくつかの場合に、小文字からなるサブラベルが、複数の同様のコンポーネントのうちの１つを表すために符号に関連付けられる。参照が、既存サブレベルへの指定を伴わずに符号に対して行われるときには、これは、すべてのそのような複数の同様のコンポーネントを参照することが意図されている。
【図面の簡単な説明】
【００１２】
【図１】既知の磁気記憶媒体およびセクタ・データ方式を示すブロック図である。
【図２】本発明の１つまたは複数の実施形態によるデータ・シーケンス検出器回路を示す図である。
【図３】本発明のさまざまな実施形態によるシーケンス検出プロセスを示す流れ図である。
【図４ａ】図３の流れ図で説明されたプロセスおよび／または図２に示された回路に対応する例の状態遷移マップを示す図である。
【図４ｂ】図３の流れ図で説明されたプロセスおよび／または図２に示された回路に対応する例の状態遷移マップを示す図である。
【図４ｃ】図３の流れ図で説明されたプロセスおよび／または図２に示された回路に対応する例の状態遷移マップを示す図である。
【図５】本発明のいくつかの実施形態による中間状態シーケンス検出と共に読取チャネル回路を含むストレージ・システムを示す図である。
【発明を実施するための形態】
【００１３】
本発明は、データを処理するシステムおよび方法に関し、より具体的には、データ・シーケンスを検出するシステムおよび方法に関する。
【００１４】
図１に移ると、破線として示された２つの例示的なトラック２０および２２と共に、記憶媒体１が示されている。これらのトラックは、ウェッジ（ｗｅｄｇｅ）１９および１８内に書き込まれるサーボ・データによって分離される。これらのウェッジは、記憶媒体１上の所望の位置の上での読取／書込ヘッド・アセンブリの制御および同期に使用されるサーボ・データ１０を含む。具体的に言うと、このサーボ・データは、一般に、プリアンブル・パターン１１と、それに続くサーボ・アドレス・マーク１２（ＳＡＭ）とを含む。サーボ・アドレス・マーク１２には、グレイ・コード１３が続き、グレイ・コード１３には、バースト情報１４が続く。２つのトラックおよび２つのウェッジが示されているが、通常は、数百個のトラックおよびウェッジが、所与の記憶媒体に含まれることに留意されたい。さらに、サーボ・データ・セットが、バースト情報の複数のフィールドを有する場合があることに留意されたい。さらに、バースト情報１４の後に現れることができる、繰返し回転振れ（ｒｅｐｅａｔａｂｌｅ  ｒｕｎ−ｏｕｔ）情報などの異なる情報をサーボ・フィールドに含めることができることに留意されたい。サーボ・データ・ビット・パターン１０ａと１０ｂとの間に、ユーザ・データ領域１６が設けられる。
【００１５】
動作中に、記憶媒体１は、センサに関して回転され、このセンサは、記憶媒体から情報を感知する。読取動作では、センサは、ウェッジ１９から（すなわち、サーボ・データ期間中に）サーボ・データを感知し、その後、ウェッジ１９とウェッジ１８との間のユーザ・データ領域から（すなわち、ユーザ・データ期間中に）ユーザ・データを感知し、その後、ウェッジ１８からサーボ・データを感知する。書込動作では、センサは、ウェッジ１９からサーボ・データを感知し、その後、データをウェッジ１９とウェッジ１８との間のユーザ・データ領域に書き込む。その後、センサは、ユーザ・データ領域の残りの部分およびその後のウェッジ１８からのサーボ・データを感知するために切り替えられる。
【００１６】
本発明のさまざまな実施形態は、ターゲット応答への粗い等化およびそれに続く受け取られたディジタル・サンプルに相関するデータ依存のマッチ・フィルタリング（ｍａｔｃｈ  ｆｉｌｔｅｒｉｎｇ）に頼る、シーケンス検出のシステムおよび方法を提供する。この情報を使用して、最尤データ・シーケンスを作るためにデータ依存マッチ・フィルタリングの出力を最大にする、シーケンスをトラバースするデータ経路を判定することができる。Ｎ−１個の状態（Ｎは、パーシャル・レスポンスの長さである）を表すチャネル・メモリを有する標準ビタビ・シーケンス検出器とは異なって、本発明の１つまたは複数の実施形態は、２進データを検出するのに２つの別個の状態を利用する。そのようなシステムおよび方法は、本発明の異なる実施形態で有することができるさまざまな利益を提供する。たとえば、いくつかの場合に、標準ビタビ検出プロセスによって要求されるものより不正確な等化、タイミング、および利得制御を、許容可能とすることができる。そうである場合に、データ検出回路に頼る製品の高められた製造効率を、等化テストに割り当てられる時間の量の削減に起因して達成することができる。もう１つの例として、いくつかの場合に、しきい値ベースのシーケンス検出システムと比較したときに高められたノイズ余裕度を達成することができる。本明細書で提供される開示に基づいて、当業者は、上で説明した利益の代わりにまたはこれに加えて達成できる本発明の異なる実施形態の実施を介して達成可能なさまざまな他の利益を認めるであろう。
【００１７】
図２に移ると、本発明の１つまたは複数の実施形態によるデータ・シーケンス検出器回路１００が示されている。データ・シーケンス検出器回路１００は、アナログ入力信号１０５を受け取り、アナログ入力信号１０５を表す一連のディジタル・サンプル１１５を供給するアナログ−ディジタル変換器回路１１０を含む。ディジタル・サンプル１１５は、４Ｔサンプル・クロック１０７に同期化される。アナログ−ディジタル変換器回路１１０は、連続信号を一連のディジタル・サンプルに変換することのできる、当技術分野で既知の任意の回路またはシステムとすることができる。アナログ入力信号１０５は、複数のビット周期を表す連続信号である。ビット周期は、Ｔの周期で繰り返し、４Ｔサンプル・クロックは、アナログ−ディジタル変換器回路１１０に、周期Ｔごとにアナログ入力信号１０５の４つのサンプルを生成させる。本実施形態は、１周期あたり４サンプルを利用するものとして説明されるが、本発明の他の実施形態が、たとえば２Ｔクロックなど、より低いサンプリング周波数を使用することができ、あるいは、８Ｔクロックまたは１６Ｔクロックなど、より高いサンプリング周波数を使用することができることに留意されたい。本明細書で提供される開示に基づいて、当業者は、本発明の異なる実施形態に関して使用できるさまざまなサンプリング周波数および対応するビット周期を認めるであろう。アナログ入力信号１０５を、さまざまな源から導出することができる。たとえば、アナログ入力信号を、記憶媒体に関して配置された読取／書込ヘッド・アセンブリから受け取ることができる。もう１つの例として、アナログ入力信号を、無線伝送を受信している受信器回路から導出することができる。本明細書で提供される開示に基づいて、当業者は、アナログ入力信号１０５のさまざまな他の源を認めるであろう。
【００１８】
ディジタル・サンプル１１５は、乗算器回路のブロックに並列に供給され、これらの乗算器回路のそれぞれは、受け取られたディジタル・サンプルに特定の遷移経路を表す配列を乗算する。任意の所与の以前の状態からの２つの可能な次の状態がある、この事例では、４つの乗算器回路が使用される。具体的に言うと、乗算器回路１２１は、ディジタル・サンプル１１５に、以前の０状態から次の０状態への遷移を表す相関器値１２２を乗算する。乗算器回路１２３は、ディジタル・サンプル１１５に、以前の１状態から次の０状態への遷移を表す相関器値１２４を乗算する。乗算器回路１２５は、ディジタル・サンプル１１５に、以前の０状態から次の１状態への遷移を表す相関器値１２６を乗算する。乗算器回路１２７は、ディジタル・サンプル１１５に、以前の１状態から次の１状態への遷移を表す相関器値１２８を乗算する。乗算器回路１２１、１２３、１２５、および１２７からの結果の積は、それぞれの加算器回路に供給される。
【００１９】
加算器回路１３１は、和１３６を作るために以前の０状態メトリック１３２との乗算器回路１２１からの積の符号付き和を実行し、加算器回路１３５は、和１３９を作るために同一の以前の０状態メトリック１３２との乗算器回路１２５からの積の符号付き和を実行する。加算器回路１３３は、和１３８を作るために以前の１状態メトリック１３４との乗算器回路１２３からの積の符号付き和を実行し、加算器回路１３７は、和１９９を作るために同一の以前の１状態メトリック１３４との乗算器回路１２７からの積の符号付き和を実行する。以前の０状態メトリック１３２は、ディジタル・サンプル１１５の先行する４つのサンプルの処理中に次の０状態について計算された値であり、０状態メモリ１７２から使用可能である。同様に、以前の１状態メトリック１３４は、ディジタル・サンプル１１５の先行する４つのサンプルの処理中に次の１状態について計算された値であり、１状態メモリ１７４から使用可能である。
【００２０】
中間状態メトリック・セレクタ回路１４２は、和１３６および和１３８のうちのどれがより大きいのかを判定し、より大きい値を中間出力１４６として供給する。同様に、中間状態メトリック・セレクタ回路１４４は、和１３９および和１９９のうちのどれがより大きいのかを判定し、より大きい値を中間出力１４８として供給する。中間出力１４６は、０状態メモリ１７２に供給され、ここで、中間出力１４６が、ディジタル・サンプル１１５の次の４つのサンプルの処理で使用するために、以前の０状態メトリック１３２として格納され、維持される。中間出力１４８は、１状態メモリ１７４に供給され、ここで、中間出力１４８が、ディジタル・サンプル１１５の次の４つのサンプルの処理で使用するために、以前の１状態メトリック１３４として格納され、維持される。
【００２１】
中間出力１４６と中間出力１４８との両方が、中間値１４６および中間値１４８のうちのより大きいものを存続状態の値として選択する存続状態メトリック・セレクタ回路１５２に供給される。より大きい値に対応する状態が、存続状態であり、存続状態の表示が、状態メモリおよび枝刈り回路１６２に渡される。状態メモリおよび枝刈り回路１６２は、識別された存続状態から後方に延びる、存続状態メトリック・セレクタ回路１５２によって選択された値をもたらす、状態から状態への経路を判定する。それを行う際に、状態メモリおよび枝刈り回路１６２は、以前の周期Ｔの、以前に計算され格納された和の値（すなわち、和１３６、１３８、１３９、および１９９）および以前の乗算の積（すなわち、乗算器１２１、１２３、１２５、および１２７からの積）に頼る。
【００２２】
動作中に、アナログ入力信号１０５は、アナログ−ディジタル変換器回路１１０に供給される。アナログ入力信号１０５は、複数のディジタル・データ・ビットを表す。いくつかの場合に、アナログ入力信号によって表されるデータは、記憶媒体への書込または伝送システムを介する転送の前に、ワイド・バイ・フェーズ符号化（ｗｉｄｅ  ｂｉ  ｐｈａｓｅ  ｅｎｃｏｄｅｄ）される。そのような符号化では、論理０が、次の一連のディジタル・サンプル「１１００」によって表され、論理１が、次の一連のディジタル・サンプル「００１１」によって表される。一例として、ビット・シーケンス「１  ０  ０  １  １」は、アナログ信号領域への変換の前に「００１１１１００１１００００１１００１１」として符号化され、ここで、「１  ０  ０  １  １」ビット・パターンの各ビットは、１Ｔ周期に対応し、符号化されたビット値のそれぞれは、周期１Ｔ／４に対応する。
【００２３】
［５  ５  −５  −５］というターゲットが使用される場合には、アナログ信号が記憶媒体または転送媒体から取り出されるときに、先行する例は、理想的には、次のディジタル・サンプル１１５「２０  １０  ０  −１０  −２０  ０  ２０  ０  −２０  −１０  ０  １０  ２０  ０  −２０  ０  ２０」をもたらすはずである。これからわかるように、論理１から論理０への遷移では、ディジタル・サンプル１１５は、２０から１０、０、−１０へと遷移する。相関器回路（たとえば、乗算器１２３）が使用されるこの事例では、その相関器回路は、サンプル「１０  ０  −１０  −２０」に配列［１  ０  −１  −１］（すなわち１→０相関器値１２４）を乗算し、＋４０の出力値（すなわち、［１＊１０］＋［０＊０］＋［−１＊−１０］＋［−１＊−２０］＝４０）を作る。同様に、論理０から論理０への遷移では、配列（すなわち、０→０相関器値１２２）［０  １  ０  −１］が、相関器回路（すなわち、乗算器１２１）によって使用される。論理０から論理１への遷移では、配列（すなわち、０→１相関器値１２６）［−１  ０  １  １］が、相関器回路（すなわち、乗算器１２５）によって使用される。最後に、論理１から論理１への遷移では、配列（すなわち、１→１相関器値１２８）［０  −１  ０  １］が、相関器回路（すなわち、乗算器１２７）によって使用される。他の符号化手法および／または相関器値を、本発明の異なる実施形態に関して使用できることに留意されたい。
【００２４】
雑音およびタイミング誤差は、理想的ではないサンプル値がアナログ−ディジタル変換器１１０からディジタル・サンプル１１５として供給されることをもたらす。一例として、次のディジタル・サンプル１１５が、４Ｔサンプル・クロック１０７に同期して受け取られると仮定する。
［・・・１２４］［５１，−３５，−１０２，−１１２］［−１６，２８，４８，１３］［−７６，−４２，７０，５２］［４２，５６，−１２，９９］
先行する一連のサンプルでは、４サンプルのブロックがグループ化され、各グループ内の最後のサンプルは、単純なしきい値検出器回路がデータ・シーケンス検出器回路１００の代わりに使用される場合に単一サンプルとして使用されるはずのサンプルである。注目すべきことに、そのような単純なしきい値検出手法が使用される場合には、ディジタル・サンプル１１５「１２４，−１１２，１３，５２，９９」は、「１  ０  １  １  １」という検出されたシーケンスを作るはずである。下で示すように、データ・シーケンス検出器回路１００は、単純なしきい値検出器回路のように雑音に影響されやすくはないので、「１  ０  ０  １  １」という正しいシーケンスを作る。
【００２５】
前述の一連のディジタル・サンプル１１５を使用し、図４ａのトレリス図９９０を参照して、データ・シーケンス検出器回路１００の例の動作をさらに説明する。ビット周期９０１（４Ｔ周期Ｘ−４）について、１状態が、「１２４」の状態値を伴う、状態メトリック・セレクタ回路１５２によって選択される存続状態（すなわち、１状態９２０）であり、ビット周期９０２（４Ｔ周期Ｘ−３）について、０状態が、「３８９」の状態値を伴う、状態メトリック・セレクタ回路１５２によって選択される存続状態（すなわち、０状態９１０）であり、１から０への遷移経路９３１に対応する和１３８が、「２６５」の値を有すると仮定する。値「２６５」は、ディジタル・サンプル「５１，−３５，−１０２，−１１２」による１→０相関器値１２４（すなわち、［１  ０  −１  −１］）の乗算器１２３による先行する乗算によって、次のように導出される。
経路９３１の値＝（１＊５１）＋（０＊−３５）＋（−１＊−１０２）＋（−１＊−１１２）＝２６５
経路９３１の値（すなわち、「２６５」）は、１状態９２０の値（すなわち、「１２４」）に加算されて、「３８９」という０状態９１０の値を作る。注目すべきことに、ビット周期９０３（４Ｔ周期Ｘ−２）について、検出されるシーケンスの最後の状態は、１状態９２１である。
【００２６】
０状態９１０からは、２つの可能な経路すなわち、０から１への遷移経路９３２および０から０への遷移経路９５１が図示されている。０から１への遷移経路９３２の値が計算され、ここでは、次のように乗算器１２５が次の一連の４つのサンプル（すなわち、「−１６，２８，４８，１３」に０→１相関器値１２６（すなわち、［−１  ０  １  １］）を乗算する。
経路９３２の値＝（−１＊−１６）＋（０＊２８）＋（１＊４８）＋（１＊１３）＝７７
同様に、０から０への遷移経路９５１の値が計算され、ここでは、次のように乗算器１２１が次の一連の４つのサンプル（すなわち、「−１６，２８，４８，１３」に０→０相関器値１２２（すなわち、［０  １  ０  −１］）を乗算する。
経路９５１の値＝（０＊−１６）＋（１＊２８）＋（０＊４８）＋（−１＊１３）＝１５
加算器１３５は、乗算器１２５から導出された経路９３１の値を以前の０状態の値（すなわち、この例では「３８９」である、０状態９１０の値）に加算して、次式に従って和１３９を作る。
和１３９＝３８９＋７７＝４６６
加算器１３１は、乗算器１２１から導出された経路９５１の値を以前の０状態の値（すなわち、この例では「３８９」である、０状態９１０の値）に加算して、次式に従って和１３６を作る。
和１３６＝３８９＋１５＝４０４
この際に、データ・シーケンス検出器回路１００の動作の記述を終了するのに十分なヒストリカル・データが展開され終えており、ここで、このヒストリカル・データは、状態メモリおよび枝刈り回路１６２に格納され、データ・ビットの検出されたシーケンスを判定するためにトレリス図９９０によって表される状態オプションを通って経路をトレース・バックすることが可能になる。
【００２７】
ディジタル・サンプル１１５の次の一連の４つのインスタンスが、「−７６，−４２，７０，５２」として受け取られる。これらのデータ・サンプルは、それぞれの相関器値によって乗算されて、０から０へ、０から１へ、１から０へ、および１から１への遷移の経路値が作られる。具体的に言うと、受け取られたデータ・サンプルは、乗算器１２１に供給され、ここで、データ・サンプルは、０→０相関器値１２２［０  １  ０  −１］を乗算されて、次式に従って経路値９５２を作る。
経路の値９５２＝（０＊−７６）＋（１＊−４２）＋（０＊７０）＋（−１＊５２）＝−９４
受け取られたデータ・サンプルは、乗算器１２３にも供給され、ここで、データ・サンプルは、１→０相関器値１２４［１  ０  −１  −１］を乗算されて、次式に従って経路値９４１を作る。
経路の値９４１＝（１＊−７６）＋（０＊−４２）＋（−１＊７０）＋（−１＊５２）＝−１９８
受け取られたデータ・サンプルは、乗算器１２５にも供給され、ここで、データ・サンプルは、０→１相関器値１２６［−１  ０  １  １］を乗算されて、次式に従って経路値９３３を作る。
経路の値９３３＝（−１＊−７６）＋（０＊−４２）＋（１＊７０）＋（１＊５２）＝１９８
さらに、受け取られたデータ・サンプルは、乗算器１２７に供給され、ここで、データ・サンプルは、１→１相関器値１２８［０  −１  ０  １］を乗算されて、次式に従って経路値９６１を作る。
経路の値９６１＝（０＊−７６）＋（−１＊−４２）＋（０＊７０）＋（１＊５２）＝９４
【００２８】
以前に計算された経路値は、状態に加算され、この状態から、それぞれが対応する和を作り始める。具体的に言うと、経路値９５２は、加算器１３１に供給され、ここで、経路値９５２は、以前の０状態メトリック１３２（すなわち、この例では「４０４」である、０状態９１１の値）に加算されて、次式に従って和１３６を作る。
和１３６＝４０４−９４＝３１０
経路値９４１は、加算器１３３に供給され、ここで、経路値９４１は、以前の１状態メトリック１３４（すなわち、この例では「４６６」である、１状態９２１の値）に加算されて、次式に従って和１３８を作る。
和１３８＝４６６−１９８＝２６８
経路値９３３は、加算器１３５に供給され、ここで、経路値９３３は、以前の０状態メトリック１３２（すなわち、この例では「４０４」である、０状態９１１の値）に加算されて、次式に従って和１３９を作る。
和１３９＝４０４＋１９８＝６０２
経路値９６１は、加算器１３７に供給され、ここで、経路値９６１は、以前の１状態メトリック１３４（すなわち、この例では「４６６」である、１状態９２１の値）に加算されて、次式に従って和１９９を作る。
和１９９＝４６６＋９４＝５６０
【００２９】
中間状態メトリック・セレクタ回路１４２は、和１３６および和１３８のうちのより大きいものを選択し、選択された値を０状態メモリ１７２に書き込ませる。０状態メモリ１７２は、格納された値を以前の０状態メトリック１３２として出力する。この事例では、和１３８ではなく和１３６が選択され、より大きい値（すなわち、３１０）が、中間出力１４６として存続状態メトリック・セレクタ回路１５２に供給される。同様に、中間状態メトリック・セレクタ回路１４４は、和１３９および和１９９のうちのより大きいものを選択し、選択された値を１状態メモリ１７４に書き込ませる。１状態メモリ１７４は、格納された値を以前の１状態メトリック１３４として出力する。この事例では、和１９９ではなく和１３９が選択され、より大きい値（すなわち、６０２）が、中間出力１４８として存続状態メトリック・セレクタ回路１５２に供給される。存続状態メトリック・セレクタ回路１５２は、中間出力１４６および中間出力１４８のうちのより大きいものを選択する。この事例では、存続状態は、１状態９２２が、最大の中間出力「６０２」に関連するので、１状態９２２として選択される。したがって、ビット周期９０４（４Ｔ周期Ｘ−１）について、検出されるシーケンスの最後の状態は、１状態９２２である。
【００３０】
１状態９２２の選択は、状態メモリおよび枝刈り回路１６２に供給される。状態メモリおよび枝刈り回路１６２は、選択された１状態９２２をもたらすためにトラバースされた状態をトレースする。この事例では、状態の次のシーケンスがトラバースされて、１状態９２２を生じた。
シーケンス出力１７０＝［１状態９２０，０状態９１０，０状態９１１，１状態９２２］＝「１  ０  ０  １」
シーケンス出力１７０が、期待されるシーケンス内のビット数に依存して、例の４ビットより多数またはより少数を含む場合があることに留意されたい。より長いシーケンスは、状態メモリおよび枝刈り回路１６２によるより多くの中間経路および状態値の格納を含む場合がある。対照的に、より短いシーケンスは、状態メモリおよび枝刈り回路１６２によるより少数の中間経路および状態値の格納を利用する場合がある。４ビット・シーケンスだけが検出される場合には、１状態９２０の値を格納するメモリは、状態メモリおよび枝刈り回路１６２から除去される（すなわち、枝刈りされる）対応する情報と一緒に除去される。
【００３１】
次の一連のサンプルが、ディジタル・サンプル１１５として受け取られる。この例では、次の４つのサンプルは「４２，５６，−１２，９９」である。これらのデータ・サンプルは、それぞれの相関器値を乗算されて、０から０へ、０から１へ、１から０へ、および１から１への遷移の経路値が作られる。具体的に言うと、受け取られたデータ・サンプルは、乗算器１２１に供給され、ここで、データ・サンプルは、０→０相関器値１２２［０  １  ０  −１］を乗算されて、次式に従って経路値９５３を作る。
経路の値９５３＝（０＊４２）＋（１＊５６）＋（０＊−１２）＋（−１＊９９）＝−４３
受け取られたデータ・サンプルは、乗算器１２３にも供給され、ここで、データ・サンプルは、１→０相関器値１２４［１  ０  −１  −１］を乗算されて、次式に従って経路値９４２を作る。
経路の値９４２＝（１＊４２）＋（０＊５６）＋（−１＊−１２）＋（−１＊９９）＝−４５
受け取られたデータ・サンプルは、乗算器１２５にも供給され、ここで、データ・サンプルは、０→１相関器値１２６［−１  ０  １  １］を乗算されて、次式に従って経路値９３４を作る。
経路の値９３４＝（−１＊４２）＋（０＊５６）＋（１＊−１２）＋（１＊９９）＝４５
さらに、受け取られたデータ・サンプルは、乗算器１２７に供給され、ここで、データ・サンプルは、１→１相関器値１２８［０  −１  ０  １］を乗算されて、次式に従って経路値９６２を作る。
経路の値９６２＝（０＊４２）＋（−１＊５６）＋（０＊−１２）＋（１＊９９）＝４３
【００３２】
以前に計算された経路値は、状態に加算され、この状態から、それぞれが対応する和を作り始める。具体的に言うと、経路値９５３は、加算器１３１に供給され、ここで、経路値９５３は、以前の０状態メトリック１３２（すなわち、この例では「３１０」である、０状態９１２の値）に加算されて、次式に従って和１３６を作る。
和１３６＝３１０−４３＝２６７
経路値９４２は、加算器１３３に供給され、ここで、経路値９４２は、以前の１状態メトリック１３４（すなわち、この例では「６０２」である、１状態９２２の値）に加算されて、次式に従って和１３８を作る。
和１３８＝６０２−４５＝５５７
経路値９３４は、加算器１３５に供給され、ここで、経路値９３４は、以前の０状態メトリック１３２（すなわち、この例では「３１０」である、０状態９１２の値）に加算されて、次式に従って和１３９を作る。
和１３９＝３１０＋４５＝３５５
経路値９６２は、加算器１３７に供給され、ここで、経路値９６２は、以前の１状態メトリック１３４（すなわち、この例では「６０２」である、１状態９２２の値）に加算されて、次式に従って和１９９を作る。
和１９９＝６０２＋４３＝６４５
【００３３】
中間状態メトリック・セレクタ回路１４２は、和１３６および和１３８のうちのより大きいものを選択し、選択された値を０状態メモリ１７２に書き込ませる。０状態メモリ１７２は、格納された値を以前の０状態メトリック１３２として出力する。この事例では、和１３６ではなく和１３８が選択され、より大きい値（すなわち、５５７）が、中間出力１４６として存続状態メトリック・セレクタ回路１５２に供給される。同様に、中間状態メトリック・セレクタ回路１４４は、和１３９および和１９９のうちのより大きいものを選択し、選択された値を１状態メモリ１７４に書き込ませる。１状態メモリ１７４は、格納された値を以前の１状態メトリック１３４として出力する。この事例では、和１３９ではなく和１９９が選択され、より大きい値（すなわち、６４５）が、中間出力１４８として存続状態メトリック・セレクタ回路１５２に供給される。存続状態メトリック・セレクタ回路１５２は、中間出力１４６および中間出力１４８のうちのより大きいものを選択する。この事例では、存続状態は、１状態９２３が、最大の中間出力「６４５」に関連するので、１状態９２３として選択される。したがって、ビット周期９０５（４Ｔ周期Ｘ）について、検出されるシーケンスの最後の状態は、１状態９２３である。
【００３４】
１状態９２３の選択は、状態メモリおよび枝刈り回路１６２に供給される。状態メモリおよび枝刈り回路１６２は、選択された１状態９２３をもたらすためにトラバースされた状態をトレースする。この事例では、状態の次のシーケンスがトラバースされて、１状態９２３を生じた。
シーケンス出力１７０＝［０状態９１０，０状態９１１，１状態９２２，１状態９２３］＝「０  ０  １  １」
やはり、４ビット・シーケンスだけが検出される場合には、０状態９１０の値および０状態９１０から延びる経路の値を格納するメモリは、図４ｂのトレリス図９９１に示されているように、状態メモリおよび枝刈り回路１６２から除去される（すなわち、枝刈りされる）。
【００３５】
図４ｂに移って、次の一連のサンプルが、ディジタル・サンプル１１５として受け取られる。この例では、次の４つのサンプルが「−３４，１，１４，６４」であると仮定する。これらのデータ・サンプルは、それぞれの相関器値を乗算されて、０から０へ、０から１へ、１から０へ、および１から１への遷移の経路値が作られる。具体的に言うと、受け取られたデータ・サンプルは、乗算器１２１に供給され、ここで、データ・サンプルは、０→０相関器値１２２［０  １  ０  −１］を乗算されて、次式に従って経路値９５４を作る。
経路の値９５４＝（０＊−３４）＋（１＊１）＋（０＊１４）＋（−１＊６４）＝−６３
受け取られたデータ・サンプルは、乗算器１２３にも供給され、ここで、データ・サンプルは、１→０相関器値１２４［１  ０  −１  −１］を乗算されて、次式に従って経路値９４３を作る。
経路の値９４３＝（１＊−３４）＋（０＊１）＋（−１＊１４）＋（−１＊６４）＝−１１２
受け取られたデータ・サンプルは、乗算器１２５にも供給され、ここで、データ・サンプルは、０→１相関器値１２６［−１  ０  １  １］を乗算されて、次式に従って経路値９３５を作る。
経路の値９３５＝（−１＊−３４）＋（０＊１）＋（１＊１４）＋（１＊６４）＝１１２
さらに、受け取られたデータ・サンプルは、乗算器１２７に供給され、ここで、データ・サンプルは、１→１相関器値１２８［０  −１  ０  １］を乗算されて、次式に従って経路値９６３を作る。
経路の値９６３＝（０＊−３４）＋（−１＊１）＋（０＊１４）＋（１＊６４）＝６３
【００３６】
以前に計算された経路値は、状態に加算され、この状態から、それぞれが対応する和を作り始める。具体的に言うと、経路値９５４は、加算器１３１に供給され、ここで、経路値９５４は、以前の０状態メトリック１３２（すなわち、この例では「３５５」である、０状態９１３の値）に加算されて、次式に従って和１３６を作る。
和１３６＝３５５−６３＝２９２
経路値９４３は、加算器１３３に供給され、ここで、経路値９４３は、以前の１状態メトリック１３４（すなわち、この例では「６４５」である、１状態９２３の値）に加算されて、次式に従って和１３８を作る。
和１３８＝６４５−１１２＝５３３
経路値９３５は、加算器１３５に供給され、ここで、経路値９３５は、以前の０状態メトリック１３２（すなわち、この例では「３５５」である、０状態９１３の値）に加算されて、次式に従って和１３９を作る。
和１３９＝３５５＋６３＝４１８
経路値９６３は、加算器１３７に供給され、ここで、経路値９６３は、以前の１状態メトリック１３４（すなわち、この例では「６４５」である、１状態９２３の値）に加算されて、次式に従って和１９９を作る。
和１９９＝６４５＋１１２＝７５７
【００３７】
中間状態メトリック・セレクタ回路１４２は、和１３６および和１３８のうちのより大きいものを選択し、選択された値を０状態メモリ１７２に書き込ませる。０状態メモリ１７２は、格納された値を以前の０状態メトリック１３２として出力する。この事例では、和１３６ではなく和１３８が選択され、より大きい値（すなわち、５３３）が、中間出力１４６として存続状態メトリック・セレクタ回路１５２に供給される。同様に、中間状態メトリック・セレクタ回路１４４は、和１３９および和１９９のうちのより大きいものを選択し、選択された値を１状態メモリ１７４に書き込ませる。１状態メモリ１７４は、格納された値を以前の１状態メトリック１３４として出力する。この事例では、和１３９ではなく和１９９が選択され、より大きい値（すなわち、７５７）が、中間出力１４８として存続状態メトリック・セレクタ回路１５２に供給される。存続状態メトリック・セレクタ回路１５２は、中間出力１４６および中間出力１４８のうちのより大きいものを選択する。この事例では、存続状態は、１状態９２４が、最大の中間出力「７５７」に関連するので、１状態９２４として選択される。したがって、ビット周期９０６（４Ｔ周期Ｘ＋１）について、検出されるシーケンスの最後の状態は、１状態９２４である。
【００３８】
１状態９２４の選択は、状態メモリおよび枝刈り回路１６２に供給される。状態メモリおよび枝刈り回路１６２は、選択された１状態９２４をもたらすためにトラバースされた状態をトレースする。この事例では、状態の次のシーケンスがトラバースされて、１状態９２４を生じた。
シーケンス出力１７０＝［０状態９１１，１状態９２２，１状態９２３，１状態９２４］＝「０  １  １  １」
やはり、４ビット・シーケンスだけが検出される場合には、０状態９１１の値および０状態９１１から延びる経路の値を格納するメモリは、図４ｃのトレリス図９９２に示されているように、状態メモリおよび枝刈り回路１６２から除去される（すなわち、枝刈りされる）。このプロセスは、追加の一連のデータ・ビットが受け取られるときに継続される。
【００３９】
図３に移ると、流れ図２００は、本発明のさまざまな実施形態によるシーケンス検出プロセスを示す。流れ図２００に従って、４Ｔサンプルを受け取ったかどうかを判定する（ブロック２１０）。前に説明したように、４Ｔサンプルは、ビット遷移ごとに４つのサンプルを暗示する。本発明の異なる実施形態に関して、より多数またはより少数のビット遷移あたりのサンプルを使用できることに留意されたい。規定された個数のサンプルを受け取った後には（ブロック２１０）、受け取られたサンプルにそれぞれの相関器値を乗算して、０から０へ、０から１へ、１から０へ、および１から１への遷移の経路値を作る。一例として、４つのサンプルは、５１，−３５，−１０２，−１１２である。以前の０状態値は、「１２」であり、以前の１状態値は、「１２４」である。具体的に言うと、０から１への遷移に対応する相関器値（「−１  ０  １  １」）を使用して、０から１への遷移のブランチメトリック（ｂｒａｎｃｈ  ｍｅｔｒｉｃ）を計算する（ブロック２２２）。前述の例の入力を使用すると、ブランチメトリックは、次式に従って計算される。
ブランチメトリック＝（−１＊５１）＋（０＊−３５）＋（１＊−１０２）＋（１＊−１１２）＝−２６５
同様に、１から１への遷移に対応する相関器値（「０  −１  ０  １」）を使用して、１から１への遷移のブランチメトリックを計算する（ブロック２２４）。前述の例の入力を使用すると、ブランチメトリックは、次式に従って計算される。
ブランチメトリック＝（０＊５１）＋（−１＊−３５）＋（０＊−１０２）＋（１＊−１１２）＝−７７
１から０への遷移に対応する相関器値（「１  ０  −１  −１」）を使用して、１から０への遷移のブランチメトリックを計算する（ブロック２２６）。前述の例の入力を使用すると、ブランチメトリックは、次式に従って計算される。
ブランチメトリック＝（１＊５１）＋（０＊−３５）＋（−１＊−１０２）＋（−１＊−１１２）＝２６５
さらに、０から０への遷移に対応する相関器値（「０  １  ０  −１」）を使用して、０から０への遷移のブランチメトリックを計算する（ブロック２２８）。前述の例の入力を使用すると、ブランチメトリックは、次式に従って計算される。
ブランチメトリック＝（０＊５１）＋（１＊−３５）＋（０＊−１０２）＋（−１＊−１１２）＝７７
【００４０】
ブランチメトリックが使用可能になった後に、ブランチメトリックを、ブランチメトリックがそれから導出された状態の値に加算する。具体的に言うと、０から１への遷移状態の状態メトリックを計算して、第１中間状態を作る（ブロック２３２）。前述の例の入力を使用すると、第１中間状態値は、次式に従って計算される。
第１中間値＝以前の０状態値＋０→１ブランチメトリック＝１２−２６５＝−２５３
１から１への遷移状態の状態メトリックを計算して、第２中間状態を作る（ブロック２３４）。前述の例の入力を使用すると、第２中間状態値は、次式に従って計算される。
第２中間値＝以前の０状態値＋１→１ブランチメトリック＝１２４−７７＝４７
１から０への遷移状態の状態メトリックを計算して、第３中間状態を作る（ブロック２３６）。前述の例の入力を使用すると、第３中間状態値は、次式に従って計算される。
第３中間値＝以前の０状態値＋１→０ブランチメトリック＝１２４＋２５６＝３８９
さらに、０から０への遷移状態の状態メトリックを計算して、第４中間状態を作る（ブロック２３８）。前述の例の入力を使用すると、第４中間状態値は、次式に従って計算される。
第４中間値＝以前の０状態値＋０→０ブランチメトリック＝１２＋７７＝８９
【００４１】
第１の存続状態メトリックを、以前に計算された第１中間値と第２中間値との間で選択する（ブロック２４２）。これは、第１中間値および第２中間値のうちでより大きいものを選択することによって行われ、より大きいものは、この例では「４７」である。この値を、次の一連のデータ・サンプルを乗算する際に（たとえば、ブロック２２２、２２４、２２６、２２８で）使用するために、以前の１状態メトリックとして格納する。さらに、第２の存続状態メトリックを、以前に計算された第３中間値と第４中間値との間で選択する（ブロック２４４）。これは、第３中間値および第４中間値のうちでより大きいものを選択することによって行われ、より大きいものは、この例では「３８９」である。この値を、次の一連のデータ・サンプルを乗算する際に（たとえば、ブロック２２２、２２４、２２６、２２８で）使用するために、以前の０状態メトリックとして格納する。以前に判定された第１の存続中間状態および第２の存続中間状態に基づいて、存続状態メトリックを選択する（ブロック２５２）。これは、第１の存続中間状態および第２の存続中間状態のうちでより大きいものを選択することによって行われ、より大きいものは、この例では「３８９」である。この場合の存続状態メトリックは、０状態である。この存続状態メトリックは、検出されたシーケンス内の最も最近のビットに対応し、所望の個数のビットにまたがって検出されたビット・シーケンスを作るために、間に合ってトレース・バックするのに使用される（ブロック２６２）。これは、存続状態メトリックの値の計算を最終的にもたらした経路内の以前の状態メトリックを判定することによって行われる。識別されたビット・シーケンスを出力として供給し（ブロック２７２）、このプロセスを、受け取られる次の一連のディジタル・サンプルについて繰り返す（ブロック２１０）。
【００４２】
図５に移ると、本発明のさまざまな実施形態による中間状態シーケンス検出と共に読取チャネル回路３１０を含むストレージ・システム３００が示されている。ストレージ・システム３００は、たとえば、ハード・ディスク・ドライブとすることができる。低待ち時間ループ回復は、当技術分野で既知の任意のデータ検出器とすることができるデータ検出器回路を含む。ストレージ・システム３００は、前置増幅器３７０、インターフェース・コントローラ３２０、ハード・ディスク・コントローラ３６６、モーター・コントローラ３６８、スピンドル・モーター３７２、ディスク・プラッタ３７８、および読取／書込ヘッド３７６をも含む。インターフェース・コントローラ３２０は、ディスク・プラッタ３７８へ／からのデータのアドレッシングおよびタイミングを制御する。ディスク・プラッタ３７８上のデータは、読取／書込ヘッド・アセンブリ３７６がディスク・プラッタ３７８の上で正しく位置決めされているときにこのアセンブリによって検出できる磁気信号のグループからなる。一実施形態では、ディスク・プラッタ３７８は、長手記録方式または垂直記録方式のいずれかに従って記録された磁気信号を含む。
【００４３】
通常の読取動作では、読取／書込ヘッド・アセンブリ３７６は、ディスク・プラッタ３７８上の所望のデータ・トラックの上で、モーター・コントローラ３６８によって正確に位置決めされる。モーター・コントローラ３６８は、ハード・ディスク・コントローラ３６６の指示の下でディスク・プラッタ３７８上の正しいデータ・トラックに読取／書込ヘッド・アセンブリを移動することによって、ディスク・プラッタ３７８に関して読取／書込ヘッド・アセンブリ３７６を位置決めすると同時に、スピンドル・モーター３７２を駆動する。スピンドル・モーター３７２は、ディスク・プラッタ３７８を決定されたスピン・レート（ＲＰＭ）で回転させる。読取／書込ヘッド・アセンブリ３７６が、正しいデータ・トラックに隣接して位置決めされた後に、ディスク・プラッタ３７８がスピンドル・モーター３７２によって回転されるときに、ディスク・プラッタ３７８上のデータを表す磁気信号が、読取／書込ヘッド・アセンブリ３７６によって感知される。感知された磁気信号は、ディスク・プラッタ３７８上の磁気データを表す連続する微細なアナログ信号として供給される。この微細なアナログ信号は、読取／書込ヘッド・アセンブリ３７６から前置増幅器３７０を介して読取チャネル・モジュール３６４に転送される。前置増幅器３７０は、ディスク・プラッタ３７８からアクセスされる微細なアナログ信号を増幅するように動作可能である。読取チャネル回路３１０は、受け取られたアナログ信号を復号し、ディジタル化して、ディスク・プラッタ３７８に最初に書き込まれた情報を再作成する。このデータは、受け取る回路に読取データ３０３として供給される。受け取られた情報の復号の一部として、読取チャネル回路３１０は、データ・シーケンス検出プロセスを実行して、サーボ・データ・セット内のプリアンブルを含むがこれに限定はされないさまざまな情報マーカーを識別して、ディスク・プラッタ３７８に対する相対的な読取／書込ヘッド・アセンブリ３７６の位置を判定する。そのようなデータ・シーケンス検出を、図２に関して上で説明した回路および／または図３ａに関して上で述べた方法を使用して実行することができる。書込動作は、実質的に先行する読取動作の逆であり、書込データ３０１は、読取チャネル回路３１０に供給される。このデータは、その後、符号化され、ディスク・プラッタ３７８に書き込まれる。
【００４４】
結論として、本発明は、データ処理の実行に関する新規のシステム、デバイス、方法、および配置を提供する。本発明の１つまたは複数の実施形態の詳細な説明を上で与えたが、本発明の趣旨から逸脱しない、さまざまな代替形態、修正形態、および同等物が、当業者に明白であろう。したがって、上の説明を、本発明の範囲を限定するものと解釈してはならず、本発明の範囲は、添付の特許請求の範囲によって定義される。
【図１】
0005859221.tif 000002
【図２】
0005859221.tif 000003
【図３】
0005859221.tif 000004
【図４ａ】
0005859221.tif 000005
【図４ｂ】
0005859221.tif 000006
【図４ｃ】
0005859221.tif 000007
【図５】
0005859221.tif 000008