(57)【要約】【課題】記録媒体のセクタに旧データが消し残りとして残っているような場合であっても、新データと旧データとを見分けることを可能とする技術を提供する。【解決手段】磁気ディスク装置１において、記録媒体６は、データを記録するセクタを備える。取得手段は、記録媒体６のセクタごとに設定されているシンクバイトの値を保持するテーブルからシンクバイトを取得する。設定手段は、取得手段により取得したシンクバイトをＲＤＣ３のレジスタに設定する。判定手段は、ＲＤＣ３を介してセクタから読み出したシンクバイトの値と、取得手段により取得したシンクバイトの値とが互いに一致するか否かに基づいて、ＲＤＣ３を介して読み出したシンクバイトに対応するデータの新旧を判定する。【選択図】図１
2009230780.tif 000002
【特許請求の範囲】
【請求項１】
データを記録するセクタを備えた記録媒体と、
前記記録媒体のセクタごとに設定されているセクタ情報を保持する保持手段から該セクタ情報を取得する取得手段と、
前記取得手段により取得したセクタ情報をリードチャネルに設定する設定手段と、
前記リードチャネルを介して前記セクタから読み出したセクタ情報と、前記取得手段により取得したセクタ情報とが互いに一致するか否かに基づいて、該リードチャネルを介して読み出したセクタ情報に対応するデータの新旧を判定する判定手段と、
を備えたことを特徴とするディスク装置。
【請求項２】
ホストコンピュータからの指示にしたがって前記セクタにデータを書き込むとともに、前記取得手段により取得した第１のセクタ情報とは異なる第２のセクタ情報を、前記セクタのセクタ情報として設定する更新手段と、
前記更新手段により新たに設定された前記第２のセクタ情報を、前記保持手段に登録する登録手段と、
を更に備えたことを特徴とする請求項１記載のディスク装置。
【請求項３】
ホストコンピュータからの指示にしたがって前記セクタからデータを読み出すときに、前記取得手段は、前記保持手段に保持されているセクタ情報を取り出して前記設定手段に与える
ことを特徴とする請求項２記載のディスク装置。
【請求項４】
前記取得手段は、前記ホストコンピュータからの指示にしたがって連続する複数のセクタに対する書き込みを行うときは、前記保持手段から該連続する複数のセクタについてのセクタ情報をそれぞれ取得し、
前記更新手段は、ライトゲート信号にしたがって前記連続する複数のセクタのそれぞれにデータを書き込んでゆくとともに、該ライトゲート信号にしたがって前記設定手段により前記リードチャネルに設定されるセクタ情報を、順次更新してゆく
ことを特徴とする請求項２記載のディスク装置。
【請求項５】
前記更新手段におけるセクタ情報の設定に関わる情報を、リトライ処理用に記憶しておくための記憶手段と、
を更に備え、
前記更新手段は、前記登録手段により前記第２のセクタ情報が前記保持手段に登録される前にデータの書き込みが終了している場合には、前記記憶手段に記憶されている情報に基づいて、該第２のセクタ情報とは異なる第３のセクタ情報トを設定するとともに、該更新したセクタ情報を前記設定手段に与え、
前記設定手段は、前記第３のセクタ情報を前記リードチャネルに設定して、データの読み出しあるいは書き込みのリトライを実行させる
ことを特徴とする請求項３記載のディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを記録するディスク装置に関し、特に、ヘッドを駆動してセクタにデータを記録する構造を備えたディスク装置に関する。
【背景技術】
【０００２】
磁気ディスク装置は、ホストから指示されたデータを記録し、再生する装置である。データのライト時には、ホストから指示されたデータは、ハードディスクコントローラ（ＨＤＣ）及びリードチャネル（ＲＤＣ）によりデータがエンコードされ、プリアンプを通してライトヘッドからディスク（記録媒体）上の記録面にデータがライトされる。データのリード時には、ディスク上の記録信号をリードヘッドが読み取り、プリアンプにより信号が増幅されてＲＤＣとＨＤＣとでデータがデコードされ、ホストにデータが転送される。
【０００３】
ここで、データのライト処理に関しては、磁気ディスク装置自体のトラック位置の精度（オントラックの精度）や外部からの振動等の影響を考慮して、所定の範囲内でのオフセットライト（トラックのセンター位置から外れた書き込み）を許容している。
【０００４】
オフセット量が必要以上に大きい場合には、隣接セクタのデータをオフセットイレーズしてしまうが、逆にオフセット量が必要以上に小さい場合には、ライト不可が多発することとなり、ライト時のパフォーマンスの悪化につながることとなる。このため、装置に応じて適したオフセットをライト時の許容オフセットとして設定している。
【０００５】
図１１は、オフセットライトによる従来の問題点を説明する図である。セクタＮについて説明をする。
セクタＮのデータは、図１１（ａ）の「セクタ（Ｓｅｃｔｏｒ）Ｎオフセット」で示すオフセットライトがなされている。この場合に、図１１（ｂ）の色分けされた領域に示す箇所にデータが上書きされたとする。セクタＮについては、上書き前の旧データと上書き後の新データとが許容オフセットの範囲内で逆位相でライトされ、旧データが消し残りとして残っている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のとおり、旧データがリード可能な状態で残ったような場合には、１つのセクタに新データと旧データとが共存することとなる。しかし、従来においては、図１１のセクタＮのデータをリードするときに、旧データをリードしてしまった場合であっても、それをデータ化けとして判断することができなかった。
【０００７】
本発明は、記録媒体のセクタに旧データが消し残りとして残っているような場合であっても、新データと旧データとを見分けることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、開示のディスク装置においては、データを記録するセクタを備えた記録媒体と、前記記録媒体のセクタごとに設定されているセクタ情報を保持する保持手段から該セクタ情報を取得する取得手段と、前記取得手段により取得したセクタ情報をリードチャネルに設定する設定手段と、前記リードチャネルを介して前記セクタから読み出したセクタ情報と、前記取得手段により取得したセクタ情報とが互いに一致するか否かに基づいて、該リードチャネルを介して読み出したセクタ情報に対応するデータの新
旧を判定する判定手段と、を備えた構成とする。
【０００９】
保持手段に保持されているセクタ情報をリードチャネルのレジスタに設定し、セクタからデータを読み出す。セクタから読み出したセクタ情報と保持手段から取得したセクタ情報とが互いに一致しない場合には、そのセクタのデータは旧データであると判定することができる。
【００１０】
ホストコンピュータからの指示にしたがって前記セクタにデータを書き込むとともに、前記取得手段により取得した第１のセクタ情報とは異なる第２のセクタ情報を、前記セクタのセクタ情報として設定する更新手段と、前記更新手段により新たに設定された前記第２のセクタ情報を、前記保持手段に登録する登録手段と、を更に備えた構成としてもよい。
【００１１】
データの書き込みを行うごとに、それまでセクタに設定されていたセクタ情報とは異なる値を設定することで、データの読み出しを行うときに、データの新旧を判定することが可能となる。
【発明の効果】
【００１２】
開示のディスク装置によれば、セクタごとに設定されているセクタ情報に基づいて、セクタに記録されているデータの新旧を判定することが可能となる。データの新旧を判定して旧データの読み出しを防ぐことにより、オフセットライトによる旧データの消し残りによるデータ化けが発生する可能性を低減させることが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の好適な実施の形態について、図面を参照して詳細に説明する。
図１は、本発明に係る磁気ディスク装置によるデータの新旧の判定方法を概念的に説明する図である。図１（ａ）は、記録媒体（ディスク）の状態を示し、図１（ｂ）は、本発明に係る磁気ディスク装置の構成図である。
【００１４】
図１（ａ）においては、新たにデータが記録された領域については色分けして示す。例えばセクタＮの色分けした部分には新データが記録されており、残りの部分には旧データが残っている。
【００１５】
データの読み出し時には、磁気ディスク装置のリードヘッドが記録媒体上を通過し、各セクタに格納されている情報を読み出す。リードヘッドの位置決めは、サーボが行う。本発明においては、セクタごとに設定されているセクタ情報を参照して、係るデータの新旧を判定する。以下においては、シンクバイト（ＳＢ）をセクタ情報として利用する場合の実施例について説明する。
【００１６】
図１（ｂ）に示す磁気ディスク装置１は、ホスト１０と接続され、ハードディスクコントローラ（以下ＨＤＣ）２、リードチャネル（以下ＲＤＣ）３、プリアンプ４、ヘッド５及び記録媒体（図においてはＭＥＤＩＵＭと表記）６から構成される。なお、磁気ディスク装置１については、本発明に関わる構成のみを示す。
【００１７】
記録媒体６は、データを記録するための磁気ディスクからなる。ヘッド５は、リードヘッド及びライトヘッドからなり、リードヘッドは、セクタ上を通過して記録媒体６に記録されている情報を読み出し、ライトヘッドは、記録媒体６への情報の書き込みを行う。以下、データの読み出し及び書き込みのそれぞれについて説明するときには、リードヘッド及びライトヘッドのそれぞれに対して同じ符号を付すこととする。プリアンプ４は、記録媒体６から読み出した信号を増幅してＲＤＣ３に与える。
【００１８】
ＨＤＣ２は、磁気ディスク装置１のデータの読み出し／書き込みを制御する。データの読み出しに関しては、データを読み出すべきセクタのリードチャネルを設定する。
ＲＤＣ３は、ＨＤＣ２により設定されたシンクバイトの値を用いて記録媒体６からデータを読み出す。
【００１９】
図１（ｂ）の上段には、リードヘッド５が図１（ａ）においては色分けして示す新データ上を通過した場合の処理の流れを示し、下段には、リードヘッド５が旧データ上を通過した場合の処理の流れを示す。
【００２０】
新データ上をリードヘッド５が通過した場合には、記録媒体６のセクタに格納されているシンクバイトの値ｘと、ＲＤＣ３において設定されているシンクバイトの値ｘが互いに一致する。この場合は、セクタに格納されているデータは新データと判定して、ＨＤＣ２は、データをホスト１０に転送する。
【００２１】
これに対し、旧データ上をリードヘッド５が通過した場合には、記録媒体６のセクタに格納されているシンクバイトの値ｘと、ＲＤＣ３において設定されているシンクバイトの値ｘ＋１が相互に一致せず、シンクバイトの読み出しができない。この場合は、シンクバイトエラーが検知され、セクタに格納されているデータは旧データと判定される。
【００２２】
以下、シンクバイトを用いて新旧データを判定する方法について、具体的に説明する。
図２は、セクタのデータフォーマット及びリードチャネルのシンクバイト検出について説明する図である。
【００２３】
１つのセクタには、プリアンブル（Preamble）、シンクバイト（Sync Byte、ＳＢ）、データ（Data）、ＣＲＣ（Cyclic Redundancy Check巡回冗長検査）及びＥＣＣ（Error Correcting Code）が含まれる。
【００２４】
プリアンブルは、主に出力追従と周波数追従に用いられる。シンクバイトは、通常はデータの開始位置を示すために使用されるが、本実施形態においては、セクタのデータが新旧データのいずれであるかを判定するためにも兼用する。
【００２５】
データは、ホストからの指示にしたがって記録媒体６に記録される実データである。ＣＲＣ及びＥＣＣは、いずれもデータのエラーを検出するための情報である。
ＨＤＣ２からの命令にしたがってリードゲートがオンに切り替えられ、リードヘッド５の駆動が開始されると、ＲＤＣ３は、まず、プリアンブル部分の読み出しで、データの周波数の調整や出力の調整等を行う。これらの調整の後、シンクバイトのサーチを開始する。データ波形の中でシンクバイトに相当するデータパターンをサーチし、シンクバイトと見られるパターンが検出された時点でデータ（実データ）開始を見なす。
【００２６】
シンクバイトのデータパターンについては、予めＲＤＣ３において複数の種類を持っておき、実際に設定するシンクバイトパターンについては、ＲＤＣ３に設定するレジスタの値を変更することにより変更する。
【００２７】
図３は、シンクバイトパターンを説明する図である。図３に示す例では、シンクバイトが４０ビットから構成される場合を示す。
従来においては、通常シンクバイトのデータパターンは１通りであるが、本実施形態においては、図３に示すように、複数のデータパターンを用意しておき、データの書き込みごとにデータパターンを変更する。
【００２８】
図３のように予め設定された複数のデータパターンのうち、実際にシンクバイトに設定されている値を、パターンテーブルに保持しておく。データの書き込み／読み出しの際には、パターンテーブルを参照してＲＤＣ３の設定を行う。
【００２９】
図４は、シンクバイトのパターンテーブルを示す図である。ここでは、シンクバイトのデータパターンとして１６通り用意され、記録媒体６のユーザ領域以外の領域にパターンテーブルを備える場合を例に説明する。
【００３０】
１つのセクタは５１２バイト構成であるとし、あるセクタに対して設定されているシンクバイトを格納するための領域として１バイト割り当てるとすると、１つのシンクバイトパターンテーブル（１つのセクタ）に５１２セクタ分のシンクバイトを保持されることとなる。例えば、ＬＢＡ（Logical Block Addressing）が０〜５１１のセクタのシンクバイトについてはテーブル０に、ＬＢＡが５１２〜１０２３のセクタのシンクバイトについてはテーブル１に、といった形式で、各セクタに設定されているシンクバイトを、セクタのＬＢＡにより決定されるテーブルの所定の位置に保持する。
【００３１】
図５は、記録媒体６にシンクバイトパターンテーブルを設ける場合の配置例を示す図である。図５に示す記録媒体６は、１トラックに１５００個のセクタを備える構成である。
図５に示すとおり、実施例においては、記録媒体６にシンクバイトパターンテーブルを設ける場合は、テーブルに保持されるセクタごとのシンクバイトと、対応するセクタとが近傍に位置するようにテーブルを配置する。上記のシンクバイトパターンテーブルの構成例では、トラック０のテーブル０には、ＬＢＡが０〜５１１のセクタについてのシンクバイトが格納されている。そこで、ＬＢＡが０〜５１１のセクタの前にテーブル０を配置し、続くＬＢＡが５１２〜１０２３のセクタの前には、対応するテーブル１を配置している。これにより、シンクバイトデータパターンにアクセスすることによるパフォーマンスの悪化を小さく抑えている。
【００３２】
なお、例えば、ＬＢＡが１０２４〜１５３５のセクタについては、シンクバイトはトラック０のテーブル２に格納されているが、このうち、ＬＢＡが１５００〜１５３５のセクタについては、トラックの構成上、テーブル２が配置されたトラック０とは異なるトラック（トラック１）に配置されることとなる。
【００３３】
なお、図５に示す例では、記録媒体６の記録面上にテーブルを設けており、テーブルからのシンクバイトの読み出し／書き込みについては、データを格納するセクタと同様に、オフセットライトによるデータ化けが生じ得る。しかし、シンクバイトパターンテーブル自体のシンクバイトの値については、所定の値を設定しておき、変更しないものとする。
【００３４】
シンクバイトパターンテーブルを記録媒体６に設ける場合の実際のデータの書き込み／読み出し処理について、具体的に説明する。
図６Ａ及び図６Ｂは、シンクバイトパターンテーブルを記録媒体６に設ける場合におけるデータの書き込み／読み出し処理を説明する図である。ＬＢＡが「１００００」のセクタについてデータの上書き及び読み出しを行う場合を例に説明する。また、ここでは、シンクバイトパターンテーブルは、図５に例示する構成であり、１つのテーブルには５１２セクタ分のシンクバイトを保持しているものとする。
【００３５】
図６Ａは、データの書き込み処理を説明する図である。まず、手順（１）において、ホスト１０からＬＢＡ「１００００」のセクタにデータを書き込む旨の指示を受け取ると、ＨＤＣ２は、ＬＢＡが「１００００」のセクタについてのシンクバイトを保持するシンクバイトパターンテーブル「１９」のデータを読み出すよう指示する。ＲＤＣ３は、ＨＤＣ２の指示にしたがって、シンクバイトパターンテーブル「１９」のセクタのシンクバイト
をレジスタに設定して、テーブル番号「１９」のテーブルからＬＢＡ「１００００」のセクタのシンクバイトを読み出す。
【００３６】
手順（２）において、ＨＤＣ２は、シンクバイトパターンテーブル「１９」から、ＬＢＡ「１００００」に対応するシンクバイトの値「ｘ」を取得する。
手順（３）において、ＨＤＣ２は、取得したシンクバイトの値「ｘ」とは異なる値（ここではｘ＋１）をＬＢＡ「１００００」のシンクバイトとしてＲＤＣ３に設定させる。ＲＤＣ３は、値「ｘ＋１」をシンクバイトとしてレジスタに設定し、ＬＢＡが「１００００」のセクタにデータを書き込むとともに、シンクバイトとして「ｘ＋１」を書き込む。
【００３７】
手順（４）において、ＨＤＣ２は、シンクバイトパターンテーブル「１９」を更新して、ＬＢＡ「１００００」のセクタに新たに設定されたシンクバイト「ｘ＋１」を、シンクバイトパターンテーブルの対応する箇所に書き込む。
手順（５）において、ＨＤＣ２において書き込みが完了した旨報告を受信すると、処理を終了する。
【００３８】
図６Ｂは、データの読み出し処理を説明する図である。まず、手順（１）において、ホスト１０からＬＢＡ「１００００」のセクタからデータを読み出す旨の指示を受信すると、ＨＤＣ２は、ＬＢＡが「１００００」のセクタについてのシンクバイトを保持するシンクバイトパターンテーブル「１９」のデータを読み出すよう指示する。ＲＤＣ３は、ＨＤＣ２の指示にしたがって、シンクバイトパターンテーブル「１９」のセクタのシンクバイトをレジスタに設定して、テーブル番号「１９」のテーブルから、ＬＢＡ「１００００」のセクタのシンクバイトを読み出す。
【００３９】
手順（２）において、ＨＤＣ２は、シンクバイトパターンテーブル「１９」から、ＬＢＡ「１００００」に対応するシンクバイトの値「ｘ」を取得する。
手順（３）において、ＨＤＣ２は、取得したシンクバイトの値「ｘ」を、ＬＢＡ「１００００」のセクタのシンクバイトとしてＲＤＣ２に設定させる。ＲＤＣ３は、値「ｘ」をシンクバイトとしてレジスタに設定し、ＬＢＡ「１００００」のセクタからデータを読み出す。
最後に、手順（４）において、読み出したデータをホスト１０に転送し、処理を終了する。
【００４０】
図６Ａを参照して説明したとおり、記録媒体６にデータを書き込むときに、まずシンクバイトパターンテーブルに格納されているシンクバイトの値を読み出し、読み出したシンクバイトをＲＤＣ３のレジスタに設定してセクタのシンクバイトを読み出す。そして、シンクバイトの読み出しに用いた値とは異なる値のシンクバイトを新たに設定してデータの書き込みをし、新たに設定したシンクバイトをシンクバイトパターンテーブルにも登録する。
【００４１】
そして、図６Ｂを参照して説明したとおり、記録媒体６からデータを読み出すときには、シンクバイトパターンテーブルに格納されているシンクバイトの値を読み出し、読み出したシンクバイトをＲＤＣ３のレジスタに設定してデータを読み出す。書き込み処理の度に異なるシンクバイトを設定しておくため、セクタに消し残りの旧データがある場合であっても、データの読み出し時に、旧データのシンクバイトの値は、ＲＤＣ３のレジスタに設定された値と異なっているため、リードヘッド５が旧データの領域に駆動されて旧データを読み出そうとしても、シンクバイトエラーとなり、旧データが誤って読み出されることがない。
【００４２】
上記においては、シンクバイトパターンテーブルを記録媒体６に設ける場合について説
明したが、これには限らない。例えば、記録媒体６以外の手段、例えば不揮発性メモリにシンクバイトパターンテーブルを設ける構成としてもよい。
【００４３】
次に、不揮発性メモリ等の記録媒体６の外部にシンクバイトパターンテーブルを設置する場合について説明する。
図７は、不揮発性メモリにシンクバイトパターンテーブルを設ける場合の配置例を示す図である。不揮発性メモリの１つのセクタが５１２バイト構成である場合を例に説明する。
【００４４】
記録媒体６の５１２個のセクタのそれぞれのシンクバイトを、不揮発性メモリの１つのセクタに記録する。記録媒体６にテーブルを設ける場合と同様に、データの書き込み／読み出し対象のセクタのＬＢＡに対していずれのテーブルにシンクバイトが格納されているかを算出し、所望のシンクバイトを取得する。
不揮発性メモリにシンクバイトパターンテーブルを設けた場合は、テーブルのデータ化けを起こす可能性が低く、より安全にシンクバイトの値を保持しておくことができる。
【００４５】
図８Ａ及び図８Ｂは、シンクバイトパターンテーブルを不揮発性メモリに設ける場合におけるデータの書き込み／読み出し処理を説明する図である。図６Ａ及び図６Ｂと同様に、ＬＢＡが「１００００」のセクタについてデータの上書き及び読み出しを行う場合を例に説明する。図７に例示する不揮発性メモリ（ＦＲＯＭ）１１は、１つのテーブルに５１２セクタ分のシンクバイトを保持しているものとする。
【００４６】
以下、図６Ａ及び図６Ｂに示す記録媒体６上にシンクバイトパターンテーブルが設けられた構成との処理の違いを中心に説明する。
図８Ａは、データの書き込み処理を説明する図である。手順（１）は、図６Ａの手順（１）及び手順（２）に相当し、ホスト１０からの指示にしたがって、ＨＤＣ２は、不揮発性メモリ１１からシンクバイトを取得する。
手順（２）から手順（４）については、図６Ａの手順（３）から手順（５）にそれぞれ対応しているので、説明については省略する。
【００４７】
図８Ｂは、データの読み出し処理を説明する図である。手順（１）は、図６Ｂの手順（１）及び手順（２）に相当し、ホスト１０からの指示にしたがって、ＨＤＣ２は、不揮発性メモリ１１からシンクバイトを取得する。
手順（２）及び手順（３）については、図６Ｂの手順（３）及び手順（４）にそれぞれ対応しているので、説明については省略する。
【００４８】
このように、シンクバイトパターンテーブルを記録媒体６の外部に、ここでは不揮発性メモリ１１上に設けた場合であっても、同様にシンクバイトを用いてデータの新旧を判断してデータの読み出しが可能となる。
【００４９】
上記のシンクバイトを利用してセクタに記録されているデータの新旧を判定する方法は、１つのセクタに対するデータの書き込みや読み出しには限定されない。例えば、連続するセクタに対してデータの書き込みや読み出しを行う場合についても適用が可能である。
【００５０】
図９は、連続セクタに対してシンクバイトを利用してデータの書き込み及び読み出しを行う方法を説明する図である。このうち、図９（ａ）は、連続セクタへのデータの書き込み方法を説明する図であり、図９（ｂ）は、連続セクタからのデータの読み出し方法を説明する図である。
【００５１】
まず、連続セクタへのデータの書き込み方法について説明する。図９（ａ）に示すよう
に、ＬＢＡが１００００から１０００２までの３つの連続するセクタに対してデータを書き込むこととする。
【００５２】
データを書き込むセクタのＬＢＡから、シンクバイトの値が格納されているシンクバイトパターンテーブルのテーブル番号「１９」を算出し、そのテーブルからシンクバイトを取得する。図に示す例では、ＬＢＡが１００００、１０００１及び１０００２のセクタには、それぞれ「ｘ１」、「ｘ２」及び「ｘ３」を取得する。
【００５３】
そして、取得したシンクバイトすなわちセクタに設定されているシンクバイトとは異なる値を各セクタに設定し直す。図に示す例では、ＬＢＡが１００００、１０００１及び１０００２のセクタに対して、データを書き込むとともに、それぞれ「ｘ１＋１」、「ｘ２＋１」及び「ｘ３＋１」を設定する。設定した値は、１つのセクタについてと同様に、シンクバイトパターンテーブルの所定の箇所に登録して値を更新する。
【００５４】
各セクタに対して新たにシンクバイトの値（ｘ１＋１、ｘ２＋１及びｘ３＋１）を書き込むときには、ＲＤＣ３において、ライトゲートの信号のオン／オフに応じてレジスタの値を変更させていく。図に示す例では、ライトゲートがオフからオンに切り替わるタイミングで、ｘ１＋１、ｘ１＋１及びｘ３＋１にそれぞれ設定していくことで、上記のような連続セクタへの書き込みが可能となる。
【００５５】
次に連続セクタからのデータの読み出し方法について説明する。図９（ｂ）に示すように、ＬＢＡが１００００から１０００２までの３つの連続するセクタからデータを読み出すこととする。
【００５６】
データを読み出すセクタのＬＢＡから、シンクバイトの値が格納されているシンクバイトパターンテーブルのテーブル番号「１９」を算出し、そのテーブルからシンクバイトを取得する。図に示す例では、ＬＢＡが１００００、１０００１及び１０００２のセクタには、それぞれ「ｘ１」、「ｘ２」及び「ｘ３」を取得する。
【００５７】
そして、取得したシンクバイトをＲＤＣ３に設定してこれらの連続するセクタから順次データを読み出していく。シンクバイトパターンテーブルから取得したシンクバイトと互いに一致するシンクバイトが設定されている場合にのみ、そのデータは新データであると判定してデータを読み出す。
【００５８】
各セクタからデータを読み出していくときには、ＲＤＣ３において、リードゲートの信号のオン／オフに応じてレジスタの値を順次変更していく。図に示す例では、リードゲートがオフからオンに切り替わるタイミングで、ｘ１、ｘ２及びｘ３にそれぞれ設定していくことで、上記のような連続セクタからの読み出しが可能となる。
【００５９】
上記のとおり、本実施形態においては、データの書き込みのタイミングで新データには旧データと異なるシンクバイトを設定し、設定したシンクバイトをテーブルに保持しておく。データの読み出しの際にはテーブルから取得したシンクバイトを用いて読み出しを行い、テーブルに保持されている値と互いに一致するシンクバイトが設定されているセクタからデータを読み出す。これにより、新旧データの判別が可能となる。
【００６０】
すなわち、セクタのデータの新旧を正しく判定するためには、セクタのシンクバイトの値と、シンクバイトパターンテーブルに保持されているシンクバイトの値とが互いに一致していることが必要である。上記の実施形態においては、データをセクタに書き込む処理において、まず更新後の新たなシンクバイトをセクタに設定し、その後にシンクバイトパターンテーブルへの登録を行っている。
【００６１】
しかし、磁気ディスク装置１の電源が遮断される等の予期せぬ動作により、セクタに新たなシンクバイトを設定後、シンクバイトパターンテーブルを更新前に処理が終了してしまう事態も起こりうる。このような、セクタのシンクバイトとテーブルに保持されているシンクバイトとが互いに一致しない場合においては、以下の方法によりデータを読み出すことができる。
【００６２】
図１０は、シンクバイトパターンテーブルの更新前にデータ書き込み動作が終了してしまった場合におけるデータ読み出しのリトライ処理を説明する図である。ＬＢＡが「１００００」のセクタに設定されているシンクバイトの値は「ｘ＋３」であるが、シンクバイトパターンテーブルには「ｘ」が登録されている場合を例に説明する。
【００６３】
まず、手順（１）については、図６Ｂに示す読み出し処理の手順のうち、手順（１）と同様であり、シンクバイトパターンテーブルから取得したシンクバイト「ｘ」をＲＤＣ３においてレジスタに設定し、記録媒体６からシンクバイトを読み出す。
【００６４】
次に、手順（２）において、セクタのシンクバイトは「ｘ＋３」であるので、ＲＤＣ３において設定した値と互いに異なるため、ＨＤＣ２は、シンクバイトエラーを検出する。
手順（３）においては、ＨＤＣ２は、シンクバイトエラーが検出されると、ＨＤＣ２は、ファームウェア等でリトライ用に予め用意されているテーブルを参照する。そして、ＲＤＣ３のレジスタに異なる値のシンクバイトを設定し（図１０の例では「ｘ＋１」を設定し）、手順（２）についてリトライを行う。
【００６５】
ここで設定するシンクバイトの値は、リトライ用のテーブルにおいて、リトライ時において新たにシンクバイトを設定するルールを定めておき、そのルールにしたがって決定される。図１０に示す例では、リトライ時には、シンクバイトの値を１加算する、というルールにしたがって値を再設定している。
【００６６】
以降は、セクタのシンクバイトと一致するシンクバイトがＲＤＣ３に設定され、読み出しができるまで、手順（２）及び手順（３）を繰り返す。
手順（４）において、シンクバイト「ｘ＋３」をＲＤＣ３のレジスタに設定することによりセクタのデータの読み出しが可能となる。
【００６７】
手順（５）においては、シンクバイトパターンテーブルに、ＬＢＡが「１００００」のセクタのシンクバイトの値として、「ｘ＋３」を登録し、手順（６）でホスト１０に読み出したデータを転送し、処理を終了する。
【００６８】
なお、図１０に示す例では、データの読み出しのリトライ方法を示しているが、データの書き込み処理においても、例えば図６Ａの手順（２）でシンクバイトエラーが生じた場合には、リトライ用のテーブルを参照してシンクバイトの値を設定し直すことで、リトライを実施することができる。
【００６９】
以上説明したように、本実施形態に係る磁気ディスク装置によれば、セクタにデータを書き込むごとに書き込み前とは異なるシンクバイトを設定しておき、データを読み出すときには、最後に更新されたシンクバイトを用いてデータの読み出しを行う。セクタに旧データが消し残りとして存在する場合であっても、新データとは異なるシンクバイトが設定されているため、旧データを誤って読み出すことがなく、データの新旧を判定することが可能となる。
【００７０】
そして、データの新旧を判定することが可能となることにより、オフセットライトによ
って旧データが消し残りとして存在する場合であっても、旧データを誤って読み出すことがなくなり、データの読み出し時にデータ化けが発生する可能性を低減させることが可能となる。
【００７１】
なお、上記においては、磁気ディスク装置について説明しているが、本発明はこれには限らない。セクタにデータを記録する構成の記録媒体を備えたディスク装置であって、シンクバイト等の識別情報を用いてデータの新旧を判定するディスク装置であれば、本発明に含まれる。
【００７２】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
データを記録するセクタを備えた記録媒体と、
前記記録媒体のセクタごとに設定されているセクタ情報を保持する保持手段から該セクタ情報を取得する取得手段と、
前記取得手段により取得したセクタ情報をリードチャネルに設定する設定手段と、
前記リードチャネルを介して前記セクタから読み出したセクタ情報と、前記取得手段により取得したセクタ情報とが互いに一致するか否かに基づいて、該リードチャネルを介して読み出したセクタ情報に対応するデータの新旧を判定する判定手段と、
を備えたことを特徴とするディスク装置。
（付記２）
ホストコンピュータからの指示にしたがって前記セクタにデータを書き込むとともに、前記取得手段により取得した第１のセクタ情報とは異なる第２のセクタ情報を、前記セクタのセクタ情報として設定する更新手段と、
前記更新手段により新たに設定された前記第２のセクタ情報を、前記保持手段に登録する登録手段と、
を更に備えたことを特徴とする付記１記載のディスク装置。
（付記３）
ホストコンピュータからの指示にしたがって前記セクタからデータを読み出すときに、前記取得手段は、前記保持手段に保持されているセクタ情報を取り出して前記設定手段に与える
ことを特徴とする付記２記載のディスク装置。
（付記４）
前記保持手段は、前記記録媒体上に設けられる
ことを特徴とする付記１記載のディスク装置。
（付記５）
前記保持手段は、不揮発性メモリに設けられる
ことを特徴とする付記１記載のディスク装置。
（付記６）
前記取得手段は、前記ホストコンピュータからの指示にしたがって連続する複数のセクタに対する書き込みを行うときは、前記保持手段から該連続する複数のセクタについてのセクタ情報をそれぞれ取得し、
前記更新手段は、ライトゲート信号にしたがって前記連続する複数のセクタのそれぞれにデータを書き込んでゆくとともに、該ライトゲート信号にしたがって前記設定手段により前記リードチャネルに設定されるセクタ情報を、順次更新してゆく
ことを特徴とする付記２記載のディスク装置。
（付記７）
前記取得手段は、ホストコンピュータからのデータ読み出しの指示にしたがって前記連続する複数のセクタからデータの読み出しを行うときは、前記保持手段から該連続する複数のセクタについてのセクタ情報をそれぞれ取得して前記設定手段に与え、
前記設定手段は、ライトゲート信号にしたがって、前記取得手段により取得した前記連
続する複数のセクタについてのセクタ情報を、順次前記リードチャネルに設定してゆく
ことを特徴とする付記６記載のディスク装置。
（付記８）
前記更新手段におけるセクタ情報の設定に関わる情報を、リトライ処理用に記憶しておくための記憶手段と、
を更に備え、
前記更新手段は、前記登録手段により前記第２のセクタ情報が前記保持手段に登録される前にデータの書き込みが終了している場合には、前記記憶手段に記憶されている情報に基づいて、該第２のセクタ情報とは異なる第３のセクタ情報トを設定するとともに、該更新したセクタ情報を前記設定手段に与え、
前記設定手段は、前記第３のセクタ情報を前記リードチャネルに設定して、データの読み出しあるいは書き込みのリトライを実行させる
ことを特徴とする付記３記載のディスク装置。
（付記９）
データを記憶する記録媒体のセクタごとに設定されているセクタ情報を保持する保持手段からセクタ情報を取得し、
前記取得したセクタ情報をリードチャネルに設定し、
前記リードチャネルを介して前記セクタから読み出したセクタ情報と、前記取得したセクタ情報とが互いに一致するか否かに基づいて、該リードチャネルを介して読み出したセクタ情報に対応するデータの新旧を判定する、
処理を備えたことを特徴とするデータの判定方法。
【図面の簡単な説明】
【００７３】
【図１】本発明に係るデータの新旧の判定方法を説明する図である。
【図２】セクタのデータフォーマット及びリードチャネルのシンクバイト検出について説明する図である。
【図３】シンクバイトパターンを説明する図である。
【図４】シンクバイトのパターンテーブルを示す図である。
【図５】記録媒体にシンクバイトパターンテーブルを設ける場合の配置例を示す図である。
【図６Ａ】シンクバイトパターンテーブルを記録媒体に設ける場合におけるデータの書き込み処理を説明する図である。
【図６Ｂ】シンクバイトパターンテーブルを記録媒体に設ける場合におけるデータの読み出し処理を説明する図である。
【図７】不揮発性メモリにシンクバイトパターンテーブルを設ける場合の配置例を示す図である。
【図８Ａ】シンクバイトパターンテーブルを不揮発性メモリに設ける場合におけるデータの書き込み処理を説明する図である。
【図８Ｂ】シンクバイトパターンテーブルを不揮発性メモリに設ける場合におけるデータの読み出し処理を説明する図である。
【図９】連続セクタに対してシンクバイトを利用してデータの書き込み及び読み出しを行う方法を説明する図である。
【図１０】シンクバイトパターンテーブルの更新前にデータ書き込み動作が終了してしまった場合のリトライ処理を説明する図である。
【図１１】オフセットライトによる従来の問題点を説明する図である。
【符号の説明】
【００７４】
１    磁気ディスク装置
２    ＨＤＣ
３    ＲＤＣ
４    プリアンプ
５    ヘッド（リードヘッド／ライトヘッド）
６    記録媒体
１０    ホスト
１１    不揮発性メモリ（ＦＲＯＭ）
【図２】
2009230780.tif 000003
【図３】
2009230780.tif 000004
【図４】
2009230780.tif 000005
【図１】
2009230780.tif 000006
【図５】
2009230780.tif 000007
【図６Ａ】
2009230780.tif 000008
【図６Ｂ】
2009230780.tif 000009
【図７】
2009230780.tif 000010
【図８Ａ】
2009230780.tif 000011
【図８Ｂ】
2009230780.tif 000012
【図９】
2009230780.tif 000013
【図１０】
2009230780.tif 000014
【図１１】
2009230780.tif 000015