(57)【要約】  データ列の所定ビット数間隔で、挿入された２ビットマーカーから、シフトエラーを検出して、訂正するエラー訂正回路において、２ビットマーカーの複数のサンプル値の状況に応じて、マーカーに、ビット誤りが発生したのか、InsertionエラーまたはDeletionエラーが発生したのかを判断して訂正を行う。このため、２ビットマーカーを用いて、符号化率を向上するとともに、２ビットマーカーを用いても、マーカーの誤りによる、誤訂正によるシフトエラーを防止でき、バーストエラーを防止できる。
2010097834.tif 000002
【特許請求の範囲】
【請求項１】
予め決められたビット数間隔で、複数の２ビットのマーカーが挿入されたデータ列を受信し、誤りを訂正する誤り訂正回路であって、
前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記２ビットのマーカーを除去したデータ列を出力する
ことを特徴とする誤り訂正回路。
【請求項２】
前記マーカー復号器は、前記マーカー上の誤りのみを検出した場合、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を禁止し、前記２ビットのマーカーを除去したデータ列を出力する
ことを特徴とする請求項１の誤り訂正回路。
【請求項３】
前記マーカー復号器は、
前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するＩ／Ｄエラー発生判定部と、
前記Ｉ／Ｄエラー発生判定部からの前記インサーションエラー又は前記デリーションエラーの判定結果を受け、前記複数のマーカーのサンプル値から、前記インサーションエラー又は前記デリーションエラーの発生位置を特定する位置特定部と、
前記データ列の前記特定されたエラー発生位置のエラー訂正を行うＩ／Ｄエラー訂正部と、
前記エラー訂正されたデータ列から、前記２ビットのマーカーを除去するマーカー除去部とを有する
ことを特徴とする請求項１の誤り訂正回路。
【請求項４】
前記マーカー復号器は、前記出力したデータ列の前記誤り訂正器の誤り訂正符号による誤り訂正が失敗したことに応じて、前記データ列のインサーションエラー又はデリーションエラーの再訂正を行う
ことを特徴とする請求項１の誤り訂正回路。
【請求項５】
前記マーカー復号器は、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行った前記データ列の位置に、イレージャーフラグをセットする
ことを特徴とする請求項１の誤り訂正回路。
【請求項６】
前記マーカー復号器は、前記データ列の終端に、ｍ（ｍ＞２）ビットの他のマーカーが挿入されたデータ列を受信し、前記データ列の終端において、前記他のマーカーの値から、前記インサーションエラー又は前記デリーションエラーを検出する
ことを特徴とする請求項１の誤り訂正回路。
【請求項７】
前記マーカー復号器は、前記インサーションエラーを検出した前記データ列の位置に、１ビットの削除を行い、前記デリーションエラーを検出した前記データ列の位置に、１ビットの挿入を行い、エラー訂正する
ことを特徴とする請求項１の誤り訂正回路。
【請求項８】
前記マーカー復号器は、前記インサーションエラーを検出した前記データ列の２つの２ビットのマーカーの真ん中の位置のビットに、１ビットの削除を行い、前記デリーションエラーを検出した前記データ列の２つの２ビットのマーカーの真ん中の位置のビットに、１ビットの挿入を行い、エラー訂正する
ことを特徴とする請求項７の誤り訂正回路。
【請求項９】
データ列に対し、予め決められたビット数間隔で、複数の２ビットのマーカーを挿入するマーカー符号器と、
前記マーカー符号器からのデータ列を、回転するディスク媒体に記録し、前記ディスク媒体から前記記録された前記データ列を読み出すヘッドと、
前記ヘッドから読み出された前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記２ビットのマーカーを除去したデータ列を出力する
ことを特徴とするディスク記憶装置。
【請求項１０】
前記マーカー復号器は、前記マーカー上の誤りのみを検出した場合、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を禁止し、前記２ビットのマーカーを除去したデータ列を出力する
ことを特徴とする請求項９のディスク記憶装置。
【請求項１１】
前記マーカー復号器は、
前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するＩ／Ｄエラー発生判定部と、
前記Ｉ／Ｄエラー発生判定部からの前記インサーションエラー又は前記デリーションエラーの判定結果を受け、前記複数のマーカーのサンプル値から、前記インサーションエラー又は前記デリーションエラーの発生位置を特定する位置特定部と、
前記データ列の前記特定されたエラー発生位置のエラー訂正を行うＩ／Ｄエラー訂正部と、
前記エラー訂正されたデータ列から、前記２ビットのマーカーを除去するマーカー除去部とを有する
ことを特徴とする請求項９のディスク記憶装置。
【請求項１２】
前記マーカー復号器は、前記出力したデータ列の前記誤り訂正器の誤り訂正符号による誤り訂正が失敗したことに応じて、前記データ列のインサーションエラー又はデリーションエラーの再訂正を行う
ことを特徴とする請求項９のディスク記憶装置。
【請求項１３】
前記マーカー復号器は、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行った前記データ列の位置に、イレージャーフラグをセットする
ことを特徴とする請求項９のディスク記憶装置。
【請求項１４】
前記マーカー復号器は、前記データ列の終端に、ｍ（ｍ＞２）ビットの他のマーカーが挿入されたデータ列を受信し、前記データ列の終端において、前記他のマーカーの値から、前記インサーションエラー又は前記デリーションエラーを検出する
ことを特徴とする請求項９のディスク記憶装置。
【請求項１５】
前記マーカー復号器は、前記インサーションエラーを検出した前記データ列の位置に、１ビットの削除を行い、前記デリーションエラーを検出した前記データ列の位置に、１ビットの挿入を行い、エラー訂正する
ことを特徴とする請求項９のディスク記憶装置。
【請求項１６】
前記マーカー復号器は、前記インサーションエラーを検出した前記データ列の２つの２ビットのマーカーの真ん中の位置のビットに、１ビットの削除を行い、前記デリーションエラーを検出した前記データ列の２つの２ビットのマーカーの真ん中の位置のビットに、１ビットの挿入を行い、エラー訂正する
ことを特徴とする請求項１５のディスク記憶装置。
【請求項１７】
前記マーカー復号器は、前記インサーションエラー又は前記デリーションエラーを検出した位置情報を記憶し、同一位置の前記データ列の読み出し時に、前記記憶した位置情報を参照して、前記インサーションエラーであるか、前記デリーションエラーであるかを判定する
ことを特徴とする請求項９のディスク記憶装置。
【請求項１８】
前記マーカー符号器は、前記ディスクに記録する前記データ列の前記インサーションエラー又はデリーションエラーの発生しないデータに対し、前記２ビットのマーカーの挿入を禁止する
ことを特徴とする請求項９のディスク記憶装置。
【請求項１９】
前記マーカー復号器は、前記誤り訂正器の誤り訂正符号による誤り訂正が失敗したことに応じて、前記ディスクでの近隣のデータ列のインサーションエラー又はデリーションエラーの発生位置情報から、前記データ列の再訂正を行う
ことを特徴とする請求項１２のディスク記憶装置。
【請求項２０】
前記ディスク媒体が、記録ドットが孤立して形成されたビットパターンド媒体からなる
ことを特徴とする請求項９のディスク記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶ディスクの読み出し信号の誤りを訂正する誤り訂正回路及びディスク記憶装置に関する。
【背景技術】
【０００２】
磁気ディスク装置等のディスク記憶装置では、ディスク記憶媒体に、連続記録媒体を使用してきた。近年、記録密度向上のため、この連続記録媒体に代わり、媒体上に記憶ドットを作成した非連続媒体を用いる手法が提案されている。この手法は、ビットパターンドメディア(ＢＰＭ)方式と呼ばれている。【０００３】
この孤立した記憶ドットに、磁気ヘッドで記録を行うため、ライト同期方法が用いられている。図１は、ライト同期方法の説明図である。図1に示すように、ライト同期方式は、記録媒体上に形成された各記録ドットＤの間隔に合わせて、ライトクロックＷＲＣを補正し、ライトクロックＷＲＣに同期して、ライトデータを記録する方法である。これにより、正しくデータを、各ドットＤに書き込む方法である。【０００４】
このライト同期方法に関連して、ライト時のエラーを訂正する誤り訂正方式が、必要になる。特に、Insertion/Deletionエラーを訂正する誤り訂正方式が必要となる。【０００５】
Insertion/Deletionエラーが発生する要因として、ディスクが偏心を持つ場合や、プロセス起因の高次変動がある場合が考えられる。図２は、偏心を持つディスクの説明図を示す。図２に示すように、ディスク１０００の中心が、回転軸１１００からずれているため、ディスク１０００に、回転速度の速い場所１０２０と遅い場所１０１０とが発生する。この回転速度の違いにより、図３に示すように、１つのトラックで見ると、ライトクロックＷＲＣとドットＤＴが同期しない現象が発生する。【０００６】
図３に示すように、回転速度の速い場所で、ライトクロックＷＲＣを基準とすると、ドットＤＴの各位置が広がって見えるため、このような場所で、ライトクロックＷＲＣに同期したデータ（１ビット）が、記録ドットＤＴへ記録できなくなり、１ビット抜けが生じる。これを、Deletionエラーという。【０００７】
一方、回転速度の遅い場所では、ライトクロックＷＲＣを基準とすると、ドットＤＴの各位置が狭まって見えるため、このような場所で、ライトクロックＷＲＣに同期して、２つの記録ドットＤＴが対応するため、１ビット増加する。これを、Insertionエラーという。【０００８】
１ビットのInsertion/Deletionエラーが発生すると、発生箇所以降の記録データがシフトし、シフトエラーとなるため、バーストエラーの状態となる。例えば、図4は、誤りのないセクタデータに対し、１ビット
Insertionエラーが、そのセクタデータの４ビット目で発生する様子を表す。図４に示すように、１ビットInsertionエラーが発生した後、発生箇所以降のビット列が右シフトにずれてしまい、バーストエラー状態となる。【０００９】
このため、磁気ディスク装置等で用いられているリードソロモン符号などの誤り訂正符号の誤り訂正能力を超えてしまい、訂正が不可能となる。【００１０】
ライト同期に関連したInsertion/Deletionエラーを訂正する方式は、磁気テープや光ディスクにおいて、提案されている。例えば、Insertion/Deletionエラー訂正方式の1つとして、3ビットマーカー方式が、F.
F. Sellersにより、提案されている（非特許文献１参照）。【００１１】
図５は、既提案の3ビットマーカーの符号化方法を示す。図5に示されるように、オリジナルのデータ列の所定のビット長（ここでは、ｍ＞１ビット）ごとに、「１００」の値をもつ３ビットマーカーＭＫを挿入し、符号化を行う。【００１２】
Insertion/Deletionエラーが発生した場合、シフトエラーによりマーカーＭＫの値がずれるため、ずれた値を参考にしてInsertion/Deletionエラーの訂正を行う。【００１３】
また、３ビットマーカーではなく、２ビットのマーカーを用いる方式が、提案されている（例えば、特許文献１参照）。この２ビットマーカー方式では、所定のビット長ごとに、「０１」の値をもつ２ビットマーカーを挿入し符号化を行い、Insertion/Deletionエラーの検出を行う。
【特許文献１】特開平７−１７６１３９号公報
【非特許文献１】F.F. Sellers Jr, “Bitloss and gain correction code”, IRE Trans. Inform. Theory, vol. IT-8, pp.35-38, Jan. 1962.
【発明の開示】
【発明が解決しようとする課題】
【００１４】
記録密度向上のためには、冗長ビットを減らす必要があり、マーカー方式を採用する場合に、３ビットマーカー方式よりも、２ビットマーカー方式の方が、冗長度が少なくて済む。【００１５】
しかしながら、２ビットマーカー方式では、マーカー上に、通常の誤りビットがあった場合に、誤り訂正能力が低下する。例えば、マーカー値「０１」の最初のビットが、通常の1ビット誤りであった場合、マーカー値として、「１１」が検出される。【００１６】
このため、もし、マーカー上に通常の誤りビットがあった場合は、誤訂正をしてしまう問題があり、誤訂正によるシフトエラー発生のため、バーストエラーを引き起こしてしまう。  【００１７】
従って、本発明の目的は、２ビットマーカー方式における誤り訂正能力を向上するための誤り訂正回路及びディスク記憶装置を提供することにある。
【課題を解決するための手段】
【００１８】
この目的の達成のため、誤り訂正回路は、予め決められたビット数間隔で、複数の２ビットのマーカーが挿入されたデータ列を受信し、誤りを訂正する誤り訂正回路であって、前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記２ビットのマーカーを除去したデータ列を出力する。【００１９】
又、ディスク記憶装置は、データ列に対し、予め決められたビット数間隔で、複数の２ビットのマーカーを挿入するマーカー符号器と、前記マーカー符号器からのデータ列を、回転するディスク媒体に記録し、前記ディスク媒体から前記記録された前記データ列を読み出すヘッドと、前記ヘッドから読み出された前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記２ビットのマーカーを除去したデータ列を出力する。
【発明の効果】
【００２０】
データ列に挿入された２ビットマーカーの複数のサンプルの状況に応じて、マーカーに、ビット誤りが発生したのか、InsertionエラーまたはDeletionエラーが発生したのかを判断して訂正を行うため、マーカーの誤りによる、誤訂正によるシフトエラーを防止でき、バーストエラーを防止できる。
【図面の簡単な説明】
【００２１】
【図１】ライト同期方法の説明図である。
【図２】偏心を持つディスクの説明図である。
【図３】インサーションエラー及びデリーションエラーの説明図である。
【図４】インサーションエラーによるデータシフトの説明図である。
【図５】従来の３ビットマーカー方法の説明図である。
【図６】本発明のディスク記憶装置の一実施の形態の外観図である。
【図７】図６のディスク媒体の断面図である。
【図８】本発明の信号記録・再生回路の一実施の形態のブロック図である。
【図９】図８のマーカー符号器のブロック図である。
【図１０】図９のマーカー符号化動作の説明図である。
【図１１】本発明の２ビットマーカー復号方法の説明図である。
【図１２】図１１の復号方法のマーカー値の説明図である。
【図１３】本発明の終端マーカー復号方法の説明図である。
【図１４】図１３の復号方法のマーカー値の説明図である。
【図１５】本発明のマーカー復号器の第１の実施の形態のブロック図である。
【図１６】図１５の復号器の２ビットマーカーによるインサーション／デリーションエラー発生判定処理の説明図である。
【図１７】図１５の復号器の終端マーカーによるインサーション／デリーションエラー発生判定処理の説明図である。
【図１８】図１５の復号器のインサーション／デリーションエラー発生位置特定処理のＡＣ区間の説明図である。
【図１９】図１５の復号器のインサーション／デリーションエラー発生位置特定処理のＣＤ区間の説明図である。
【図２０】図１８、図１９のハミング距離による位置特定処理の説明図である。
【図２１】他の受信列に対する図１５の復号器のインサーション／デリーションエラー発生位置特定処理の説明図である。
【図２２】更に、他の受信列に対する図１５の復号器のインサーション／デリーションエラー発生位置特定処理の説明図である。
【図２３】図２１の受信列のハミング距離による位置特定処理の説明図である。
【図２４】図２２の受信列のハミング距離による位置特定処理の説明図である。
【図２５】図１５の復号器の終端マーカーによるインサーション／デリーションエラー発生位置特定処理の説明図である。
【図２６】図２５の受信列のハミング距離による位置特定処理の説明図である。
【図２７】図１５の復号器のエラー訂正処理の説明図である。
【図２８】図１５の復号器の他のエラー訂正処理の説明図である。
【図２９】本発明のマーカー復号器の第２の実施の形態のブロック図である。
【図３０】図２９の復号器の２ビットマーカーの未挿入動作の説明図である。
【符号の説明】
【００２２】
１  ディスクエンクロージャ
３  磁気ディスク
４  スピンドルモータ
５  アクチュエータ（ＶＣＭ）
６  プリアンプ
７  リードチャネル回路
８  ハードディスクコントローラ
３０  基板
３４  記録ドット
７０  マーカー符号器
７８  マーカー復号器
８５  ＥＣＣ復号器
２０、４０  未挿入箇所計算部
４２  ２ビットマーカー挿入部
４４  終端マーカー挿入部
１０  Ｉ／Ｄエラー発生判定部
１２  Ｉ／Ｄエラー保存部
１４  Ｉ／Ｄエラー発生位置特定部
１６  Ｉ／Ｄエラー訂正部
１８  マーカー除去部
２２  第２のＩ／Ｄエラー発生位置特定部
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態を、ディスク記憶装置、信号記録・再生回路、マーカー復号器の第１の実施の形態、マーカー復号器の第２の実施の形態、他の実施の形態の順で説明する。しかしながら、本発明は、この実施の形態に限られない。【００２４】
（ディスク記憶装置）
図６は、本発明のディスク記憶装置の一実施の形態の外観図である。図６は、ディスク記憶装置として、磁気ディスク装置（ハードディスクドライブ）を例に示す。【００２５】
図６に示すように、ディスクエンクロージャ（ＤＥという）１は、磁気ディスク装置の各構成要素を収容する。ＤＥ１内では、磁気記録媒体である磁気ディスク３が、スピンドルモータ４の回転軸に設けられている。【００２６】
ＤＥ１に取り付けられたスピンドルモータ４は、磁気ディスク３を回転する。アクチュエータ（ＶＣＭという）５は、アーム（ヘッドアクチュエータという）５２を回転する。アーム５２に設けられたサスペンションの先端には、磁気ヘッド５３が設けられている。従って、ＶＣＭ５は、磁気ヘッド５３を磁気ディスク３の半径方向に移動する。【００２７】
アクチュエータ５は、回転軸を中心に回転するボイスコイルモータ（ＶＣＭ）で構成される。図６では、磁気ディスク装置に、１枚の磁気ディスク３が搭載され、２つの磁気ヘッド５３が、同一のアクチュエータ５で同時に駆動される。【００２８】
磁気ヘッド５３は、リード素子と、ライト素子とからなる。磁気ヘッド５３は、スライダに、磁気抵抗（ＭＲ）素子を含むリード素子を積層し、その上にライトコイルを含むライト素子を積層して、構成される。【００２９】
磁気ディスク３の外側には、磁気ヘッド５３を磁気ディスク３から退避し、パーキングするためのランプ機構５４が設けられる。【００３０】
又、図６のＤＥ１の下部には、プリント回路アッセンブリ（制御回路部）が設けられ、プリント回路アッセンブリには、図８以下で説明するハードディスクコントローラ（ＨＤＣ）、マイクロコントローラ（ＭＣＵ）、リード／ライトチャネル回路（ＲＤＣ）、サーボコントロール回路、データバッファ（ＲＡＭ）、ＲＯＭ（リードオンリーメモリ）が設けられる。この磁気ディスク３として、以下で説明するビットパターンド媒体が用いられ、磁気ヘッド５３は、垂直記録ヘッドで構成される。【００３１】
図７は、図１の磁気ディスク媒体の断面図である。図７に示すように、磁気ディスク媒体３は、基板３０上に、軟磁性裏打ち層３２、磁気記録層（硬磁性材料）３４を設けた多層構造である。磁気記録層３４は、軟磁性裏打ち層３２に、ドット状に埋め込まれた形態をなす。即ち、各記録ドットが孤立して設けられている。【００３２】
（信号記録・再生回路）
図８は、本発明の一実施の形態の記録再生系の主要部の回路ブロック図である。図８に示すように、磁気ディスク装置の記録再生系は、大きく分けて、ハードディスクコントローラ（ＨＤＣ）８、リードチャネル（ＲＤＣ）７、そしてプリアンプ６とからなる。【００３３】
記録系を説明する。記録データは、ＨＤＣ８に入力する。ＨＤＣ８内で、ＣＲＣ符号器８０は、記録データからＣＲＣ（Cyclic Redundacy Code）を作成し、記録データに作成したＣＲＣパリテイを付加する。記録符号器８２は、ＣＲＣパリテイを付加された記録データ列を、ＲＬＬ(Run
Length Limited)符号などの拘束条件が満たされる列に変換する。そして、ＥＣＣ符号器８３は、記録符号器８２の出力データ列に、ＥＣＣ（Error
Correction Code）パリティを付加する。【００３４】
ＨＤＣ８のＥＣＣ符号器８３の出力データ列は、ＲＤＣ７のマーカー符号器７０に入力する。マーカー符号器７０は、図９で後述するように、所定数の２ビットのマーカーを挿入し、符号化を行う。次に、ライト同期補償器７１は、データ列を、ライトクロックに同期補正する。【００３５】
このライト同期補償されたデータ列は、ドライバ７２を経由し、プリアンプ６に記録データを送出する。プリアンプ６では、ドライバ６０が、記録ヘッド５３−１へのライト電流を発生する。【００３６】
次に、再生系を説明する。再生ヘッド５３−２からのアナログ電圧は、プリアンプ６のアンプ６２によって、増幅された後、ＲＤＣ７に出力される。ＲＤＣ７においては、増幅されたアナログ信号が、可変利得アンプ（ＶＧＡ：Variable Gain Amp）７３、ローパスフィルタ（ＬＰＦ）７４、ＡＤ（アナログ・デジタル）コンバータ（ＡＤＣ）７５を経由して、デジタル信号へ変換される。【００３７】
ＦＩＲ（Finite Response）フィルタ７６が、ＰＲ波形等化を行った後、Viterbi検出器などの検出器７７が、最尤復号を行う。マーカー復号器７８は、後述するように、マーカー符号器７０で挿入した２ビットマーカーを参考にして、Insertion/Deletionエラーを検出し、訂正を行う。【００３８】
マーカー復号器７８から出力されたInsertion/Deletionエラー訂正後のビット列は、ＨＤＣ８のＥＣＣ復号器８５へ入力される。ＥＣＣ復号器８５は、リードソロモン（ＲＳ）符号を用いて、誤り訂正を行う。ＥＣＣ復号が成功した場合は、ＥＣＣ復号器８５の出力データ列は、記録復号器８７、ＣＲＣ復号器８９を経て、再生データとして出力される。【００３９】
逆に、ＥＣＣ復号が、失敗した場合は、ＥＣＣ復号器８５は、失敗フラグを、マーカー復号器７８に出力する。失敗フラグを受け取ったマーカー復号器７８は、近隣のセクタで発生したInsertion/Deletionエラーの発生位置情報を参考にしながら、Insertion/Deletionエラーの発生位置を予測して再訂正を行う。【００４０】
図９は、図８のマーカー符号器７０のブロック図、図１０は、図９の２ビットマーカーの説明図である。図９に示すように、マーカー符号器７０の基本構成は、２ビットマーカー挿入部４２と終端マーカー挿入部４４からなる。又、必要に応じて、マーカー符号器７０は、未挿入箇所計算部４０を有する。【００４１】
２ビットマーカー挿入部４２は、１セクタ内の所定のデータ長に対し、２ビットのマーカー値（ここでは、図１０のように、「１０」）Ｍを付加する。例えば、セクタサイズが、４ＫＢｙｔｅサイズとし、ＥＣＣ符号器で、１シンボル＝１２ビットのリードソロモン符号を用いることにする。【００４２】
ここでは、１セクタは、データセクタに、リードソロモン符号のパリティが付加された状態を表すことにする。図１０は、１セクタ内でのマーカーの挿入状態を示し、２ビットマーカー挿入部４２は、所定のデータ長に対し、２ビットマーカー値「１０」を付加する。【００４３】
又、終端マーカー挿入部４４は、セクタの終端において、１２ビットのマーカー値「010010010010」を付加して、出力する。図１０では、５シンボル＝６０ビットおきに、２ビットマーカー値「１０」が付加され、セクタの終端には、１２ビットのマーカー値「010010010010」が付加されている様子を示す。  【００４４】
セクタの終端では、復号側で、２ビットマーカーでInsertionエラー又はDeletionエラーのどちらのエラーが発生したのかを判定するのは難しいため、１２ビットのマーカーを付与している。この詳細は、後述する。【００４５】
次に、マーカー復号器７８のマーカー復号原理を説明する。図１１は、マーカー復号器７８の２ビットマーカーのInsertion/Deletionエラーの訂正動作の説明図、図１２は、マーカー復号器７８の２ビットマーカーのInsertion/Deletionエラーの検出動作の説明図である。【００４６】
マーカー復号器７８は、マーカー値からInsertion/Deletionエラーの発生を検知する。図１１は、1ビットの Insertionエラーが発生している様子を示す。Insertionエラーが発生するとシフトエラーが起こるためマーカー値が変化する。図１２はInsertion/Deletionエラーなし、Insertionエラーあり、Deletionエラーありの3つの場合の２ビットマーカー値を示す。２ビットマーカー値は、Insertion/Deletionエラーなしの場合は、「10」の値をとり、Insertionエラーありの場合は、「01」、「11」いずれかの値をとり、Deletionエラーありの場合は、「01」、「00」のいずれかの値をとる。【００４７】
図１２から、Insertionエラーあり、Deletionエラーありの両方で、マーカー値が、「01」の値をもつため、マーカー値が、「01」である場合には、どちらのエラーが発生したかは、判別できない。例えば、図１１の例では、「×」で示すInsertionエラーが発生した直後のマーカー値は、「01」のため、直後のマーカー値からでは、どちらのエラーが発生したかは判定できない。【００４８】
このため、図１１に示すように、Insertionエラーが発生した直後のマーカー値以降の数サンプルのマーカー値を参考にして、どちらのエラーが発生したか判定する。図１１では、８サンプルのマーカー値を調査して、どちらのエラーが発生したかを判定する。図１１の例では、８サンプル中、４サンプルが、「０１」、残りの４サンプルが、「１１」を表している。【００４９】
Insertionエラーのみに発生するマーカー値「１１」が、８サンプル中、４サンプルあるため、マーカー復号器７８は、Insertionエラーが発生したと判定する。【００５０】
ここで、Insertionエラー発生後のマーカー値が、「０１」の値となる確率と、「１１」の値となる確率とは、共に１／２となるため、サンプル数はそれほど多くする必要はない。【００５１】
また、この数サンプル参照する方法は、Insertion/Deletionエラーが、１回発生すると、しばらく、次のInsertion/Deletionエラーは発生しないという性質があるために、有効な方法である。【００５２】
図１３は、マーカー復号器７８の終端マーカーのInsertion/Deletionエラーの訂正動作の説明図、図１４は、マーカー復号器７８の終端マーカーのInsertion/Deletionエラーの検出動作の説明図である。【００５３】
図１３に示すように、終端マーカー値は、１２ビットの値である。図１４は、Insertion/Deletionエラーなし、Insertionエラーあり、Deletionエラーありの3つの場合の終端マーカー値を示す。終端マーカー値は、Insertion/Deletionエラーなしの場合は、「010010010010」の値をとり、Insertionエラーありの場合は、「001001001001」、「101001001001」のいずれかの値をとり、Deletionエラーありの場合は、「100100100100」、「100100100101」のいずれかの値をとる。どの値も異なるため、１サンプルのみで判定できる。【００５４】
（マーカー復号器の第１の実施の形態）
図１５は、マーカー復号器７８の第１の実施の形態のブロック図である。図１６は、２ビットマーカーのエラー検出動作の説明図、図１７は、終端マーカーのエラー検出動作の説明図である。【００５５】
図１５に示すように、マーカー復号器７８の基本構成は、Ｉ（Insertion）/Ｄ（Deletion）エラー発生判定部１０、Ｉ／Ｄエラー発生位置特定部１４、Ｉ／Ｄエラー訂正部１６、マーカー除去部１８、Ｉ／Ｄエラー保存部１２とを有する。【００５６】
Ｉ／Ｄエラー発生判定部１０は、図１０で説明した８個のマーカーのうち、どのマーカー値の発生頻度が多いかを調べることにより、Insertion/Deletionエラーが発生したかどうかを判定する。【００５７】
即ち、Ｉ／Ｄエラー発生判定部１０は、Ｉ／Ｄエラーを表すマーカー値「０１」、「１１」、「００」が、８個のマーカーのうち、７個以上発生していた場合、Ｉ／Ｄエラー発生によるシフトエラーが発生したと判断し、Insertionエラー又はDeletionエラーのどちらのエラーが発生したのか判定を行う。Ｉ／Ｄエラーを表すマーカー値「０１」、「１１」、「００」が、８個のマーカーのうち、６個以下発生していた場合、Ｉ／Ｄエラー発生によるシフトエラーが発生しているかどうかが不明と判定する。【００５８】
また、Ｉ／Ｄエラー発生判定部１０は、Ｉ／Ｄエラーなしを表すマーカー値「１０」が、８個のマーカーのうち、６個以上ある場合、Ｉ／Ｄエラーなしと判定する。【００５９】
図１６は、受信列の一例を示し、８個のマーカー（図の斜線で示す）ごとに、受信列を、４つの受信列に分割した状態を示す。図１６の受信列の例を使って、Ｉ／Ｄエラー発生判定部１０の判定方法をより詳細に説明する。【００６０】
Ｉ／Ｄエラー発生判定部１０は、最初に、ＡＢ区間の８個のマーカーを調べる。ＡＢ区間ではエラーなしを表す「１０」のマーカーが７個、Ｉ／Ｄエラーを表す「１１」のマーカーＥｒが１個ある。Ｉ／Ｄエラーなしを表すマーカーが６個以上あるため、Ｉ／Ｄエラー発生判定部１０は、ＡＢ区間は、Ｉ／Ｄエラーなしと判定する。【００６１】
即ち、Ｉ／Ｄエラーを表す「１１」のマーカーＥｒが１個あっても、マーカーの通常エラーと判断し、ＡＢ区間には、Insertion/Deletionエラーはないと判定する。【００６２】
次に、Ｉ／Ｄエラー発生判定部１０は、ＢＣ区間の８個のマーカーを調べる。ＢＣ区間では、エラーなしを表す「１０」のマーカーが４個、Ｉ／Ｄエラーを表す「１１」、「０１」のマーカーＥｒが４個ある。Ｉ／Ｄエラー発生判定部１０は、Ｉ／Ｄエラー発生によるシフトエラーが発生しているかどうかが不明と判断する。【００６３】
次に、Ｉ／Ｄエラー発生判定部１０は、ＣＤ区間の８個のマーカーを調べる。ＣＤ区間では、エラーなしを表す「１０」のマーカーが１個、Ｉ／Ｄエラーを表す「１１」、「０１」、「００」のマーカーが７個ある。このため、Ｉ／Ｄエラー発生判定部１０は、Ｉ／Ｄエラー発生によるシフトエラーが発生したと判断する。【００６４】
次に、Ｉ／Ｄエラー発生判定部１０は、Insertionエラーが発生したのか、Deletionエラーが発生したのかを判定するために、Insertionエラーを表す「１１」のマーカーと、Deletionエラーを表す「００」のマーカーの個数をカウントする。ＣＤ区間では、「１１」のマーカーが１個、「００」のマーカーが1個と、同数のため、Insertionエラーが発生したのか、Deletionエラーが発生したのか判定できない。【００６５】
後述するＩ／Ｄエラー保存部１２に、何も情報がない場合、Ｉ／Ｄエラー発生判定部１０は、次のＤＥ区間の８個のマーカーを調べる。ＤＥ区間では、「１１」のマーカーが５個、「００」のマーカーが０個である。ＤＥ区間とＣＤ区間のマーカーとを合計すると、「１１」のマーカーが６個、「００」のマーカーが１個となる。【００６６】
「１１」のマーカー数が多いため、Ｉ／Ｄエラー発生判定部１０は、ＣＤ区間で、Insertionエラーの発生によりシフトエラーが発生したと判定し、ＣＤ区間内の「００」のマーカーは、通常誤りにより発生したと判断する。そして、Ｉ／Ｄエラー発生判定部１０は、ＣＤ区間で、Insertionエラーの発生により、シフトエラーが発生しているという情報を出力する。さらに、Ｉ／Ｄエラー発生判定部１０は、最後のＩ／Ｄエラーなしの区間は、ＡＢ区間であるという情報を出力する。【００６７】
また、Ｉ／Ｄエラー発生判定部１０は、今回のInsertionエラーの発生が初回である場合、「このセクタではInsertionエラーが発生する」という情報を、Ｉ／Ｄエラー保存部１２に保存する。【００６８】
前述のように、Ｉ／Ｄエラー発生判定部１０は、ＣＤ区間でシフトエラーが発生したと判断した後、Ｉ／Ｄエラー保存部１２を参照する。Ｉ／Ｄエラー保存部１２に、「このセクタではInsertionエラーが発生する」（又は「このセクタではDeletionエラーが発生する」）という情報が保存されている場合、次のＤＥ区間を調べずに、この情報から、ＣＤ区間で、Insertionエラー（又はDeletionエラー）の発生によりシフトエラーが発生したと判定する。【００６９】
図２で説明したように、Insertionエラーが発生する場所と、Deletionエラーが発生する場所が分かれているため、１セクタ内にInsertionエラーとDeletionエラーの両方が発生することはなく、InsertionエラーのみかDeletionエラーのみが発生するという特性を持つ。このため、Ｉ／Ｄエラー保存部に情報がある場合、それを使用することができる。【００７０】
次に、図１７のセクタ終端部の受信列により、セクタ終端部のエラー検出動作を説明する。セクタ終端では、２ビットマーカーＭで、Insertionエラー又はDeletionエラーのどちらのエラーが発生したのかを判定するのは難しい。このため、Ｉ／Ｄエラー発生判定部１０は、終端マーカーＭＥを利用して、判定を行う。【００７１】
即ち、Ｉ／Ｄエラー発生判定部１０は、終端マーカーＭＥの「１」の数をカウントして判定を行う。図１７の受信列では、終端マーカーＭＥの直前の２つの１ビットマーカーＭが、Ｉ／Ｄエラーである値「０１」である例を示す。【００７２】
図１４の正常な終端マーカー値のテーブルと比較すると、図１７の終端マーカー値ＭＥは、Ｉ／Ｄエラーなしの状態で、「１」の値が立つ位置に、１個の「１」がある。又、Insertionエラーありの状態で、「１」の値が立つ位置に、４個の「１」があり、Deletionエラーありの状態での「１」の値が立つ位置に、０個の「１」がある。【００７３】
結果として、Insertionエラーありの状態での「１」の数が、その他の状態での「１」の数より、多くなる。このため、Ｉ／Ｄエラー発生判定部１０は、セクタ終端で、Insertionエラーの発生によるシフトエラーが発生していると判定し、その情報を出力する。【００７４】
次に、図１５のＩ／Ｄエラー発生位置特定部１４を説明する。図１８乃至図２５は、Ｉ／Ｄエラー発生位置特定部１４の動作説明図である。【００７５】
Ｉ／Ｄエラー発生位置特定部１４は、Ｉ／Ｄエラー発生判定部１０から出力されたInsertionエラー（又はDeletionエラー）によるシフトエラーが発生した区間情報と、最後のＩ／Ｄエラーなし区間情報を使って、Insertionエラー（又はDeletionエラー）の発生位置を特定する。【００７６】
この発生位置の特定に、ハミング距離を用いた特定方法を用いる。図１８乃至図２０により、ハミング距離を用いた位置特定方法を説明する。Ｉ／Ｄエラー発生位置特定部１４は、例えば、図１６のように、最後のＩ／Ｄエラーなし区間は、ＡＢ区間であるという情報と、Deletionエラーによるシフトエラーが発生した区間はＣＤ区間であるという情報を受けると、図１８及び図１９に示すように、両方の区間を含むＡＤ区で、Insertion/Deletionエラーが発生していないマーカー列ＭＡ０を用意する。【００７７】
このマーカー列ＭＡ０は、マーカー値が、正しい「１０」である。Ｉ／Ｄエラー発生位置特定部１４は、マーカー列ＭＡ０と受信列（ＡＤ区間）との間で、各マーカーのハミング距離を計算する。尚、図１８及び図１９では、マーカーを斜線で示し、その隣のブロックの数字は、ブロック番号を示す。例えば、１ブロックは、５シンボルで構成される。【００７８】
図１８、図１９の例では、ＡＢ区間での各マーカーのハミング距離の合計は、「０」、ＢＣ区間での各マーカーのハミング距離は、「５」、ＣＤ区間での各マーカーのハミング距離は、「１１」であり、ＡＤ区間での合計値は、「１６」となる。【００７９】
次に、図１９の受信列のＣＤ区間の最後の位置（シンボル位置１）で、Deletionエラーが発生したと仮定した列ＭＡ１を用意する。図１９に示すように、ブロック位置１のマーカー値を、図１２のDeletionエラーのマーカー値に従い、「００」、「１１」に変更する。【００８０】
そして、同様に、Ｉ／Ｄエラー発生位置特定部１４は、マーカー列ＭＡ１と受信列（ＡＤ区間）との間で、各マーカーのハミング距離を計算する。図１８、図１９の例では、ＡＢ区間での各マーカーのハミング距離の合計は、「０」、ＢＣ区間での各マーカーのハミング距離は、「５」、ＣＤ区間での各マーカーのハミング距離は、「９」であり、ＡＤ区間での合計値は、「１４」となる。【００８１】
以下、同様に、ブロック位置２〜２４の各々で、Deletionエラーが発生したと仮定した列ＭＡ２〜２４を用意し、ハミング距離の計算を、シンボル位置２〜２４でDeletionエラーが発生したと仮定した列ＭＡ２〜２４と、受信列との間で計算する。【００８２】
図２０は、各ブロック位置０〜２４で、Deletionエラーが発生したと仮定した列ＭＡ０〜２４と受信列との間で計算されたハミング距離の合計を、縦軸に、横軸にブロック位置を示したものである。尚、ブロック位置０は、Insertion/Deletionエラーが発生していないマーカー列ＭＡ０とのハミング距離である。【００８３】
図２０に示すように、ハミング距離の合計は、ブロック位置「１１」で最小値を示すため、Ｉ／Ｄエラー発生位置特定部１４は、受信列のブロック番号「１１」の位置で、Deletionエラーが発生したと判定し、発生位置を、Ｉ／Ｄエラー訂正部１６に出力する。【００８４】
次に、受信列がInsertion/Deletionエラーをもち、さらにマーカーに通常誤りがある例の位置特定を説明する。図２１、図２２は、受信列がInsertion/Deletionエラーをもち、さらにマーカーに通常誤りがある２つの受信列の例（受信列１、受信列２）を示す。図２１、図２２のマーカー値は、ブロック位置「９」、「１１」の後のマーカー値のみ異なっており、前述のように、ＡＤ区間の受信列を示す。【００８５】
前述と同様に、受信列１、受信列２に対し、ハミング距離を計算し、ハミング距離の合計を計算する。図２３は、図２１の受信列１の各ブロック位置でのハミング距離の合計の結果を示す図である。図２３に示すように、受信列１については、ブロック位置「１２」で、ハミング距離の合計が、最小となるため、Ｉ／Ｄエラー発生位置特定部１４は、ブロック位置「１２」で、Deletionエラーが発生したと判定し、発生位置を出力する。【００８６】
図２４は、図２２の受信列２の各ブロック位置でのハミング距離の合計の結果を示す図である。図２４に示すように、受信列２では、ブロック位置「１０」と「１２」で、ハミング距離の合計が、最小の値をもつ。このため、Ｉ／Ｄエラー発生位置特定部１４は、ブロック位置「１０」〜「１２」で、Deletionエラーが発生すると判定し、発生位置「１０」〜「１２」を出力する。【００８７】
次に、セクタ終端でのハミング距離を用いたエラー位置特定処理を説明する。図２５は、セクタ終端でのハミング距離を用いたエラー位置特定処理の受信列の説明図、図２６は、そのブロック位置とハミング距離の合計との関係図である。図２５の受信列は、Insertionエラーによるシフトエラーが発生している例を示す。【００８８】
Ｉ／Ｄエラー発生位置特定部１４は、２ビットマーカーの場合と基本的に同じ、ハミング距離の計算を行う。即ち、図２５に示すように、Insertion/Deletionエラーが発生していない終端マーカーの参照列ＭＡ０を用意し、参照列ＭＡ０と受信列との間で各マーカーのハミング距離を計算する。図２５の例では、各マーカーのハミング距離の合計が、「１３」となる。【００８９】
次に、図２５の受信列のブロック番号１で、Insertionエラーが発生したと仮定した参照列ＭＡ１を用意する。参照列ＭＡ１は、シンボル番号１で、１ビット挿入されているため、終端マーカー値は、参照列ＭＡ０の終端マーカー値が、全体に１ビットシフトした値となる。そして、同様に、参照列ＭＡ１と受信列との間で各マーカーのハミング距離を計算する。図２５の例では、各マーカーのハミング距離の合計が、「７」である。【００９０】
次に、図２５の受信列の２ビットマーカーＭ２で、Insertionエラーが発生したと仮定した参照列ＭＡ２を用意し、参照列ＭＡ２と受信列との間で、各マーカーのハミング距離を計算する。図２５の例では、各マーカーのハミング距離の合計が、「５」となる。【００９１】
同様の操作を続けていき、各ブロック番号に対するハミング距離の合計を計算した結果を図２６に示す。図２６に示すように、ブロック位置「４」で、ハミング距離の合計が、最小となる。Ｉ／Ｄエラー位置特定部１４は、位置「４」で、Insertionエラーが発生したと判定し、発生位置を出力する。【００９２】
次に、Ｉ／Ｄエラー訂正部１６を説明する。図２７及び図２８は、Ｉ／Ｄエラー訂正動作の説明図である。Ｉ／Ｄエラー訂正部１６は、Ｉ／Ｄエラー発生位置特定部１４により出力されたＩ／Ｄエラー発生位置情報を元に、エラー訂正を行う。【００９３】
例えば、図２１の受信列1の例では、Ｉ／Ｄエラー発生位置特定部１４は、図２３に示したように、位置「１２」で、Deletionエラーが発生していると判定した。【００９４】
Ｉ／Ｄエラー訂正部１６は、これを受け、図２７に示すように、受信列のブロック位置「１２」の１ブロック（＝５シンボル）の中の３シンボル目に、Deletionエラーが起きたと仮定する。【００９５】
そして、Deletionエラーであるから、この１ブロックに１ビットを挿入する。例えば、３シンボル目に、１ビットを挿入し、全体をシフトする。強制的に、１ビットを挿入したため、誤りシンボルとなる可能性が高いことから、３シンボル目にイレージャーフラグを立てる。このイレージャーフラグは、ＥＣＣ復号器８５が、エラーの可能性のあるブロックとして、認識し、ＥＣＣ訂正の際に、誤りを検出した時に、イレージャーフラグの立っているブロックを誤り位置として、訂正する。【００９６】
一方、図２２の受信列２の例では、I/Dエラー発生位置特定部１４は、図２４に示したように、位置「１０」〜「１２」でDeletionエラーが発生していると判定した。Ｉ／Ｄエラー訂正部１６は、図２８に示すように、受信列のブロック位置１０〜１２に、イレージャーフラグを立てる。さらに、受信列の位置１２の最初のビット位置に、１ビットを挿入して、訂正を行う。【００９７】
次に、訂正が完了した位置の次の区間から、Ｉ／Ｄエラー発生判定部１０は、Ｉ／Ｄエラーが発生したかどうかの判定を続ける。Ｉ／Ｄエラーが発生していると判定した場合は、Ｉ／Ｄエラー発生位置特定部１４が、位置の特定を行い、Ｉ／Ｄエラー訂正部１６が、エラー訂正を行う。これらの操作は、セクタの終端に達するまで繰り返し行われ、全訂正を終了する。【００９８】
訂正が完了したセクタデータは、マーカー除去部１８に入力される。マーカー除去部１８は、セクタデータから、すべての２ビットマーカーと終端マーカーを除去し、出力する。【００９９】
このように、数サンプルのマーカー値の参照により、Insertion/Deletionエラーと、マーカーの通常エラーとの判別ができ、且つInsertion/Deletionエラー発生と判定した時に、そのサンプルのＩ／Ｄエラー値の数から、Insertionエラーであるか、Deletionエラーであるかを判別できる。【０１００】
このようにマーカー復号器７８は、複数のサンプルから状況に応じて、マーカーに、ビット誤りが発生したのか、InsertionエラーまたはDeletionエラーが発生したのかを判断して訂正を行う。  【０１０１】
即ち、Insertion/Deletionエラーが1回発生すると、しばらく次のInsertion/Deletionエラーは発生しないという性質を利用し、２ビットマーカー方式に対し、マーカー上に通常の誤りがあるということを判定することができ、誤訂正を防止できる。また通常の誤りであるかどうかがわからない箇所には、イレージャーフラグを立てることによって、誤訂正を防ぐ。【０１０２】
更に、Insertionエラーが発生する場所と、Deletionエラーが発生する場所が分かれているという性質を利用し、１セクタに1回目のInsertionエラー又はDeletionエラーが発生した場合、どちらのエラーが発生したか記憶し、２回目以降に、Insertion/Deletionエラーが発生した場合、１回目の記憶情報を参考にして、Insertionエラー、Deletionエラーのどちらのエラーが発生したかを判定する。これにより、誤訂正を防ぐことができる。  【０１０３】
（マーカー復号器の第２の実施の形態）
図２９は、本発明のマーカー復号器の第２の実施の形態のブロック図、図３０は、図２９の実施の形態の未挿入箇所計算部の説明図である。図２９のマーカー復号器７８において、図１５で説明したものと同一のものは、同一の記号で示してあり、マーカー復号器７８は、Ｉ（Insertion）/Ｄ（Deletion）エラー発生判定部１０、Ｉ／Ｄエラー発生位置特定部１４、Ｉ／Ｄエラー訂正部１６、マーカー除去部１８、Ｉ／Ｄエラー保存部１２とを有する。【０１０４】
更に、マーカー復号器７８は、位置情報からマーカー未挿入箇所を検出する未挿入箇所計算部２０と、第２のＩ／Ｄエラー発生位置特定部２２とを有する。【０１０５】
第２のＩ／Ｄエラー発生位置特定部２２は、後述するように、ＥＣＣ復号器８５が、セクタの復号が失敗した場合、近隣のセクタで発生したInsertion/Deletionエラーの発生位置情報を受け、その情報を参考にしながら、Insertion/Deletionエラーの発生位置を予測して、Ｉ／Ｄエラー訂正部１６に再訂正を行わせる。この機能により、誤り訂正能力が向上する。【０１０６】
未挿入箇所計算部２０は、図９のマーカー符号器７０の未挿入箇所計算部４０に関連する。即ち、ライト同期の位相が調整された後、しばらくはInsertion/Deletionエラーは発生しない。そこでライト同期の位相が調整された後、しばらくは、２ビットのマーカーを挿入しないようにする。【０１０７】
この２ビットマーカーの未挿入について、図３０で説明する。図３０は、磁気ディスク３の１トラックのサーボ領域９０とデータ領域９２の説明図である。図３０に示すように、１つのトラック３−１上に、複数のサーボ領域９０とデータ領域９２とが設けられ、ライトクロックを含めた位相は、サーボ単位で調整される。【０１０８】
このため、ライトクロックは、サーボ領域９０のサーボ信号で、磁気ディスク３の回転速度に合わせて、同期化されるため、データ領域９２の先頭から、しばらくはInsertion/Deletionエラーは発生しない。即ち、データ領域９２の先頭から、しばらくは、ライトクロックと、磁気ディスク３の記録ドットとのずれが生じない。【０１０９】
このため、ずれが生じない部分に、２ビットマーカーを挿入することは意味がない。そこで、この部分には、２ビットマーカーの挿入を行わないようにすることで、冗長度を減らすことが可能となる。【０１１０】
この未挿入処理を行う場合は、サーボ領域とデータ領域とセクタの位置関係を、メモリなどにあらかじめ記録しておき、未挿入位置にあたるかを判定する。【０１１１】
例えば、データ領域９２の先頭とセクタの先頭が同じであり、データ領域９２の先頭から、１００００ビット目までは、Insertion/Deletionエラーは発生しないとすると、以下のように冗長度を減らして符号化率を向上させることができる。【０１１２】
一例として、以下の条件を設定して、符号化率を計算する。先ず、セクタサイズ：４ＫＢｙｔｅ＝３２０００ビット、未挿入処理なし：６０ビット（５シンボル）に、２ビットマーカーを挿入、未挿入処理あり：最初の１００００ビットには、２ビットマーカーを挿入せず、１０００１ビット以降、６０ビットに、２ビットマーカーを挿入の条件とする。【０１１３】
このとき、挿入ビットの総数は、未挿入処理なし：１０６６ビット、未挿入処理あり：７３４ビットとなる。【０１１４】
このため、符号化率は、未挿入処理なし：３２０００／（３２０００＋１０６６）≒０．９６７となる。一方、未挿入処理あり：３２０００／（３２０００＋７３４）≒０．９７７となる。このように、未挿入処理ありの場合は、未挿入処理なしの場合に比べて、符号化率が、０．０１向上する。【０１１５】
この２ビットマーカーの未挿入処理を行う場合、図９で示したように、マーカー符号器７０に、未挿入箇所計算部４０を付け加える。未挿入箇所計算部４０には、メモリからの位置関係情報を入力する。入力された位置関係情報から、データ領域の先頭が、セクタの何ビット目になるか計算する。【０１１６】
例えば、計算結果からデータ領域の先頭が、セクタの１００ビット目になることがわかった場合、２００ビット目から１０１００ビット目までの間には、２ビットマーカーを挿入しないように、開始位置・終了位置情報（開始位置, 終了位置）=（２００ビット目,１０１００ビット目）を、２ビットマーカー挿入部４２に出力する。【０１１７】
２ビットマーカー挿入部４２は、入力された開始位置・終了位置情報を使って、入力されたデータ列の２００ビット目から１０１００ビット目までの間には、２ビットマーカーを挿入しない処理をする。【０１１８】
この開始位置が、１００ビット目ではなく、２００ビット目から行う理由は、もし、１００ビット目の直前で、Insertion/Deletionエラーが発生した場合、マーカーがないと、誤りを検知することができない問題があるためである。【０１１９】
同様に、図２９のマーカー復号器７８に、未挿入箇所計算部２０を付け加える。未挿入箇所計算部２０には、メモリからの位置関係情報を入力する。入力された位置関係情報から、データ領域の先頭が、セクタの何ビット目になるか計算する。【０１２０】
例えば、計算結果からデータ領域の先頭が、セクタの１００ビット目になることがわかった場合、２００ビット目から１０１００ビット目までの間には、２ビットマーカーのエラーを検出しないように、開始位置・終了位置情報（開始位置, 終了位置）=（２００ビット目,１０１００ビット目）を、Ｉ／Ｄエラー発生判定部１０に出力する。【０１２１】
Ｉ／Ｄエラー発生判定部１０は、入力された開始位置・終了位置情報を使って、入力されたデータ列の２００ビット目から１０１００ビット目までの間には、２ビットマーカーのＩ／Ｄエラーを検出しない処理をする。【０１２２】
次に、図２９の第２のＩ／Ｄエラー発生位置特定部２２を使用した復号方法について、説明する。あるトラック上のあるデータ領域で、Insertion/Deletionエラーが発生した場合、近隣のトラックや近隣のデータ領域上でも、ほぼ同じ地点で、Insertion/Deletionエラーが発生する確率が高い。即ち、トラック・データ領域と、Insertion/Deletionエラー発生地点とは相関があると考えられる。【０１２３】
このため、リードソロモン(ＥＣＣ)復号器８５で、あるセクタの復号が失敗した場合、再リードにより、近隣のセクタ（同一トラック又は、隣接トラック）の復号を行い、復号により得られたInsertion/Deletionエラーの発生位置の情報を、メモリに記憶する。【０１２４】
リードソロモン復号が失敗したセクタを、マーカー復号器７８が、再復号する際、メモリに記憶されたエラーの発生位置の情報を使って、Insertion/Deletionエラーの発生位置を特定し、訂正を行う。【０１２５】
このInsertion/Deletionエラーの発生位置の情報を得るには、サーボ領域・データ領域とセクタの位置関係が判明している必要があり、メモリなどにあらかじめそれらの位置関係情報を記録しておく。【０１２６】
この第２のＩ／Ｄエラー発生位置特定部２２を使用した復号方法では、Ｉ／Ｄエラー発生判定部１０、Ｉ／Ｄエラー発生位置特定部１４、未挿入箇所計算部２０、Ｉ／Ｄエラー保存部１２は使用しない。【０１２７】
第２のＩ／Ｄエラー発生位置特定部２２は、リードソロモン復号失敗フラグと、Ｉ／Ｄエラー発生位置情報を受け取り、Insertion/Deletionエラーが発生していると思われるビット位置を特定する。【０１２８】
例えば、第２のＩ／Ｄエラー発生位置特定部２２は、１つ目の他セクタからのＩ／Ｄエラー発生位置情報により、２０１００ビット目に、Insertionエラーが発生すると判定し、２つ目の他セクタからのＩ／Ｄエラー発生位置情報により、２０１２０ビット目に、Insertionエラーが発生すると判定した場合、２００８１ビット目から２０１４０ビット目までの区間に、Insertionエラーが発生すると判定する。【０１２９】
そして、第２のＩ／Ｄエラー発生位置特定部２２は、開始・終了位置情報（開始位置, 終了位置）=（20081,20140）を、Ｉ／Ｄエラー訂正部１６に出力する。開始・終了位置情報が入力されたＩ／Ｄエラー訂正部１６は、２００８１ビット目から２０１４０ビット目までの区間を含むシンボルに対し、イレージャーフラグを立て、２００８１ビット目を削除して訂正を行う。【０１３０】
その後、マーカー除去部１８で、各マーカーを除去して出力する。【０１３１】
このように、セクタの復号が失敗した場合、近隣のセクタで発生したInsertion/Deletionエラーの発生位置情報を受け、その情報を参考にしながら、Insertion/Deletionエラーの発生位置を予測して、再訂正を行う機能を付け加える。この機能により誤り訂正能力が向上する。【０１３２】
又、ライト同期の位相が調整された後、しばらくはInsertion/Deletionエラーは発生しない。そこでライト同期の位相が調整された後、しばらくは、２ビットのマーカーを挿入しないようにする。【０１３３】
（他の実施の形態）
上述の実施の形態では、ディスク装置として、ビットパターンド媒体を用いた磁気ディスク装置で説明したが、他のライト同期により、記録を行うディスク装置にも適用できる。又、２ビットマーカーの参照サンプル数を、８で説明したが、複数、望ましくは、４サンプル以上であれば、良い。【０１３４】
更に、誤り訂正を、リードソロモン符号を用いた例で説明したが、ＬＤＰＣ（低密度パリテイ符号）など他の誤り訂正方法を採用できる。【０１３５】
以上、本発明の実施の形態により説明したが、本発明は、上述の実施の形態に限られず、本発明の趣旨の範囲において、種々の変形が可能であり、これらを、本発明の範囲から排除するものではない。
【産業上の利用可能性】
【０１３６】
データ列に挿入された２ビットマーカーの複数のサンプルの状況に応じて、マーカーに、ビット誤りが発生したのか、InsertionエラーまたはDeletionエラーが発生したのかを判断して訂正を行うため、２ビットマーカーを用いて、符号化率を向上するとともに、２ビットマーカーを用いても、マーカーの誤りによる、誤訂正によるシフトエラーを防止でき、バーストエラーを防止できる。
【図１】
2010097834.tif 000003
【図２】
2010097834.tif 000004
【図３】
2010097834.tif 000005
【図４】
2010097834.tif 000006
【図５】
2010097834.tif 000007
【図６】
2010097834.tif 000008
【図７】
2010097834.tif 000009
【図８】
2010097834.tif 000010
【図９】
2010097834.tif 000011
【図１０】
2010097834.tif 000012
【図１１】
2010097834.tif 000013
【図１２】
2010097834.tif 000014
【図１３】
2010097834.tif 000015
【図１４】
2010097834.tif 000016
【図１５】
2010097834.tif 000017
【図１６】
2010097834.tif 000018
【図１７】
2010097834.tif 000019
【図１８】
2010097834.tif 000020
【図１９】
2010097834.tif 000021
【図２０】
2010097834.tif 000022
【図２１】
2010097834.tif 000023
【図２２】
2010097834.tif 000024
【図２３】
2010097834.tif 000025
【図２４】
2010097834.tif 000026
【図２５】
2010097834.tif 000027
【図２６】
2010097834.tif 000028
【図２７】
2010097834.tif 000029
【図２８】
2010097834.tif 000030
【図２９】
2010097834.tif 000031
【図３０】
2010097834.tif 000032
【手続補正書】
【提出日】平成23年11月25日(2011.11.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
予め決められたビット数間隔で、複数の２ビットのマーカーが挿入されたデータ列を受信し、誤りを訂正する誤り訂正回路であって、
前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
前記マーカー復号器は、
前記データ列から前記２ビットのマーカーをサンプルし、３個以上のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するＩ／Ｄエラー発生判定部と、
前記Ｉ／Ｄエラー発生判定部からの前記インサーションエラー又は前記デリーションエラーの判定結果を受け、前記３個以上のマーカーのサンプル値から、前記インサーションエラー又は前記デリーションエラーの発生位置を特定する位置特定部と、
前記データ列の前記特定されたエラー発生位置のエラー訂正を行うＩ／Ｄエラー訂正部と、
前記エラー訂正されたデータ列から、前記２ビットのマーカーを除去するマーカー除去部とを有する
ことを特徴とする誤り訂正回路。
【請求項２】
予め決められたビット数間隔で、複数の２ビットのマーカーが挿入されたデータ列を受信し、誤りを訂正する誤り訂正回路であって、
前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記２ビットのマーカーを除去したデータ列を出力し、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行った前記データ列の位置に、イレージャーフラグをセットし、
前記誤り訂正器は、前記イレージャーフラグのセットされた位置を誤り位置として誤り訂正を行う
ことを特徴とする誤り訂正回路。
【請求項３】
データ列に対し、予め決められたビット数間隔で、複数の２ビットのマーカーを挿入するマーカー符号器と、
前記マーカー符号器からのデータ列を、回転するディスク媒体に記録し、前記ディスク媒体から前記記録された前記データ列を読み出すヘッドと、
前記ヘッドから読み出された前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
前記マーカー復号器は、
前記データ列から前記２ビットのマーカーをサンプルし、３個以上のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するＩ／Ｄエラー発生判定部と、
前記Ｉ／Ｄエラー発生判定部からの前記インサーションエラー又は前記デリーションエラーの判定結果を受け、前記３個以上のマーカーのサンプル値から、前記インサーションエラー又は前記デリーションエラーの発生位置を特定する位置特定部と、
前記データ列の前記特定されたエラー発生位置のエラー訂正を行うＩ／Ｄエラー訂正部と、
前記エラー訂正されたデータ列から、前記２ビットのマーカーを除去するマーカー除去部とを有する
ことを特徴とするディスク記憶装置。
【請求項４】
データ列に対し、予め決められたビット数間隔で、複数の２ビットのマーカーを挿入するマーカー符号器と、
前記マーカー符号器からのデータ列を、回転するディスク媒体に記録し、前記ディスク媒体から前記記録された前記データ列を読み出すヘッドと、
前記ヘッドから読み出された前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記２ビットのマーカーを除去したデータ列を出力し、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行った前記データ列の位置に、イレージャーフラグをセットし、
前記誤り訂正器は、前記イレージャーフラグのセットされた位置を誤り位置として誤り訂正を行う
ことを特徴とするディスク記憶装置。
【請求項５】
データ列に対し、予め決められたビット数間隔で、複数の２ビットのマーカーを挿入するマーカー符号器と、
前記マーカー符号器からのデータ列を、回転するディスク媒体に記録し、前記ディスク媒体から前記記録された前記データ列を読み出すヘッドと、
前記ヘッドから読み出された前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記２ビットのマーカーを除去したデータ列を出力し、前記インサーションエラー又は前記デリーションエラーを検出した位置情報を記憶し、同一位置の前記データ列の読み出し時に、前記記憶した位置情報を参照して、前記インサーションエラーであるか、前記デリーションエラーであるかを判定する
ことを特徴とするディスク記憶装置。
【請求項６】
データ列に対し、予め決められたビット数間隔で、複数の２ビットのマーカーを挿入するマーカー符号器と、
前記マーカー符号器からのデータ列を、回転するディスク媒体に記録し、前記ディスク媒体から前記記録された前記データ列を読み出すヘッドと、
前記ヘッドから読み出された前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記２ビットのマーカーを除去したデータ列を出力し、前記マーカー符号器は、前記ディスクに記録する前記データ列の前記インサーションエラー又はデリーションエラーの発生しないデータに対し、前記２ビットのマーカーの挿入を禁止する
ことを特徴とするディスク記憶装置。
【請求項７】
データ列に対し、予め決められたビット数間隔で、複数の２ビットのマーカーを挿入するマーカー符号器と、
前記マーカー符号器からのデータ列を、回転するディスク媒体に記録し、前記ディスク媒体から前記記録された前記データ列を読み出すヘッドと、
前記ヘッドから読み出された前記データ列から前記２ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記２ビットのマーカーを除去したデータ列を出力し、前記出力したデータ列の前記誤り訂正器の誤り訂正符号による誤り訂正が失敗したことに応じて、前記ディスクでの近隣のデータ列のインサーションエラー又はデリーションエラーの発生位置情報から、前記出力したデータ列の再訂正を行う
ことを特徴とするディスク記憶装置。
【請求項８】
前記ディスク媒体が、記録ドットが孤立して形成されたビットパターンド媒体からなる
ことを特徴とする請求項３ないし７のディスク記憶装置。
【国際調査報告】
2010097834.tif 000033
2010097834.tif 000034
2010097834.tif 000035
2010097834.tif 000036