(57)【特許請求の範囲】
【請求項１】
ディスク上に同心円状にデータがヘッドにより１周当たり時間Ｔ1でＩ1ビットライトされる、または前記ディスク上に同心円状にライトされたデータが前記ヘッドにより１周当たり前記時間Ｔ1で前記Ｉ1ビットリードされ、且つ隣接トラックに前記ヘッドを移動してから前記ヘッドによるライトまたはリードを開始するまでに前記時間Ｔ1よりも短い整定時間Ｔ2を要する磁気ディスク装置において、前記ディスクにシーケンシャルにライトされたデータまたは前記ディスクからシーケンシャルにリードされたデータを一時的にバッファに格納するデータバッファリング方法であって、
前記ディスク上の第１のトラックの第１の領域の前記ディスク上の方位角の第１の範囲が、前記シーケンシャルライトにおける前記第１の領域への第１のデータのライトまたは前記シーケンシャルリードにおける前記第１の領域からの第２のデータのリードの後から前記ディスクの１周回が経過するまでの期間における前記整定時間Ｔ2中に前記ヘッドが走行する前記ディスク上の方位角の第２の範囲に対応するかに基づいて、前記第１のデータまたは前記第２のデータのデータタイプが、第１のタイプまたは第２のタイプのいずれであるかを判別し、
前記第１のデータまたは前記第２のデータを前記判別されたデータタイプに関連付けて前記バッファに格納し、
前記バッファに格納された前記第１のタイプのデータが前記バッファに前記時間Ｔ1の２倍の時間だけ保持され、前記バッファに格納された前記第２のタイプのデータが前記バッファに前記時間Ｔ1だけ保持されるように、前記バッファを制御する
データバッファリング方法。
【請求項２】
前記第１の範囲の少なくとも一部が前記第２の範囲に含まれる場合、前記第１のデータまたは前記第２のデータのデータタイプは前記第１のタイプであると判別され、
前記第１の範囲が前記第２の範囲から外れる場合、前記第１のデータまたは前記第２のデータのデータタイプは前記第２のタイプであると判別される
請求項１記載のデータバッファリング方法。
【請求項３】
前記整定時間Ｔ2に等しい時間にライトまたはリードされるデータの量をＩ2ビットとすると、前記バッファに格納される前記第１のタイプのデータの第１のデータ量は２Ｉ2ビット以下であり、前記バッファに格納される前記第２のタイプのデータの第２のデータ量は（Ｉ1−Ｉ2）ビット以下である
請求項２記載のデータバッファリング方法。
【請求項４】
前記バッファは、
前記第１のタイプのデータを格納する、サイズが前記２Ｉ2ビットの第１のバッファと、
前記第２のタイプのデータを格納する、サイズが前記（Ｉ1−Ｉ2）ビットの第２のバッファと
を具備する請求項３記載のデータバッファリング方法。
【請求項５】
前記バッファに格納される前記第１のタイプのデータの第１のデータ量と前記バッファに格納される前記第２のタイプのデータの第２のデータ量との和が前記Ｉ1ビットである請求項２記載のデータバッファリング方法。
【請求項６】
前記バッファのサイズは前記Ｉ1ビットであり、
前記バッファに格納される前記第１のデータまたは前記第２のデータに、前記判別されたデータタイプを示すラベルを貼付する
請求項５記載のデータバッファリング方法。
【請求項７】
前記シーケンシャルライトにおいて前記第１のトラックへのデータライトに先行してデータがライトされた、または前記シーケンシャルリードにおいて前記第１のトラックからのデータのリードに先行してデータがリードされた、前記第１のトラックに隣接する第２のトラックの方向に、前記第１の領域へ前記第１のデータをライト中または前記第１の領域から前記第２のデータをリード中に前記ヘッドの位置がずれたことを検出し、
前記ヘッドの位置ずれによってデータの上書きが発生した前記第１の領域に対応する前記第２のトラック上の第２の領域に、前記第２の領域にライトされて前記バッファに格納されている第３のデータを再ライトし、または前記第３の領域からリードされて前記バッファに格納されている第４のデータに基づき、前記リードされた第２のデータに含まれているトラック間干渉成分をキャンセルする
請求項１記載のデータバッファリング方法。
【請求項８】
ディスク上に同心円状にデータがヘッドにより１周当たり時間Ｔ1でＩ1ビットライトされる、または前記ディスク上に同心円状にライトされたデータが前記ヘッドにより１周当たり前記時間Ｔ1で前記Ｉ1ビットリードされ、且つ隣接トラックに前記ヘッドを移動してから前記ヘッドによるライトまたはリードを開始するまでに前記時間Ｔ1よりも短い整定時間Ｔ2を要する磁気ディスク装置において、
前記ディスクにシーケンシャルにライトされたデータまたは前記ディスクからシーケンシャルにリードされたデータを一時的に格納するバッファと、
前記ディスク上の第１のトラックの第１の領域の前記ディスク上の方位角の第１の範囲が、前記シーケンシャルライトにおける前記第１の領域への第１のデータのライトまたは前記シーケンシャルリードにおける前記第１の領域からの第２のデータのリードの後から前記ディスクの１周回が経過するまでの期間における前記整定時間Ｔ2中に前記ヘッドが走行する前記ディスク上の方位角の第２の範囲に対応するかに基づいて、前記第１のデータまたは前記第２のデータのデータタイプが、第１のタイプまたは第２のタイプのいずれであるかを判別する判別手段と、
前記第１のデータまたは前記第２のデータを前記判別されたデータタイプに関連付けて前記バッファに格納し、前記バッファに格納された前記第１のタイプのデータが前記バッファに前記時間Ｔ1の２倍の時間だけ保持され、前記バッファに格納された前記第２のタイプのデータが前記バッファに前記時間Ｔ1だけ保持されるように、前記バッファを制御するバッファ制御手段と
を具備することを特徴とする磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法に関する。
【背景技術】
【０００２】
一般に、磁気ディスク装置では、記憶媒体に磁気ディスク（つまり、ディスク状の磁気記憶媒体）が用いられる。この磁気ディスク装置において、データは磁気ディスク上に同心円状に磁気ヘッドによってライトされる。
【０００３】
近年の磁気ディスク装置では、記録密度の一層の向上のために、狭トラックピッチ化が進められている。このような磁気ディスク装置では、ヘッド（磁気ヘッド）がディスク（磁気ディスク）上の目標トラックの目標位置から少しずれても、当該ヘッドは当該目標トラック（以下、第１のトラックと称する）と隣接トラック（以下、第２のトラックと称する）との境界に近付く。このようにヘッドがトラック境界に近接している状況では、第１のトラックからだけでなく第２のトラックからもヘッドによって同時にデータがリードされる可能性がある。このような事象は、トラック間干渉（Inter-track interference：ＩＴＩ）と呼ばれる
一方、磁気ディスク装置では、例えば瓦リード（shingled reading）に代表されるシーケンシャルリードが頻繁に発生する。シーケンシャルリードでは、ディスク上の連続するトラック群からデータがシーンシャルにリードされる。このシーケンシャルリードにより、第２のトラックからのデータリードに続いて第１のトラックからのデータリードが実行されるものとする。
【０００４】
先行技術では、第２のトラックからリードされた第２のデータ（より詳細には、トラック間干渉を受けていない、或いはトラック間干渉がキャンセルされた第２のデータ）は、バッファに格納される。先行技術によれば、第１のトラックからリードされた第１のデータがトラック間干渉を受けていても、当該トラック間干渉がバッファ内の第２のデータに基づいてキャンセルされる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３６４０５８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記したしたように先行技術では、トラック間干渉のキャンセルのために、シーケンシャルリードにおいて時間的に先にリードされたトラックのデータがバッファに格納される。
【０００７】
しかし、シーケンシャルリードにおいてリードされた全てのトラックのデータをバッファに格納しておくことは、バッファの記憶容量の増加を招く。このため、トラック間干渉のキャンセルを実現しながら、バッファの記憶容量（より詳細には、バッファに用いられるメモリの容量）を低減することが要求されている。
【０００８】
また、トラック間干渉の要因となったヘッドの位置ずれ（例えば予期せぬ位置ずれ）は、瓦ライト（shingled writing）に代表されるシーケンシャルライト時にも発生する。このような場合、隣接トラックへのデータの上書きが発生する。このとき、上書きにより書き換えられる直前のデータ（既ライトデータ）がバッファに格納されているならば、この既ライトデータを上書きが発生した領域に再ライトすることにより、当該領域を上書き発生直前の状態に復旧できる。このため、シーケンシャルライトにおけるヘッドの予期せぬ位置ずれに伴う再ライトを実現するためにも、バッファは必要である。そこで、シーケンシャルライトにおいても、バッファの記憶容量を低減することが要求される。
【０００９】
本発明が解決しようとする課題は、シーケンシャルライトに伴うライトデータ、またはシーケンシャルリードに伴うリードデータを一時格納するためのバッファの記憶容量を低減できる磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法を提供することにある。
【課題を解決するための手段】
【００１０】
実施形態によれば、ディスク上に同心円状にデータがヘッドにより１周当たり時間Ｔ1でＩ1ビットライトされる、または前記ディスク上に同心円状にライトされたデータが前記ヘッドにより１周当たり前記時間Ｔ1で前記Ｉ1ビットリードされ、且つ隣接トラックに前記ヘッドを移動してから前記ヘッドによるライトまたはリードを開始するまでに前記時間Ｔ1よりも短い整定時間Ｔ2を要する磁気ディスク装置において、前記ディスクにシーケンシャルにライトされたデータまたは前記ディスクからシーケンシャルにリードされたデータを一時的にバッファに格納するデータバッファリング方法が提供される。前記方法は、前記ディスク上の第１のトラックの第１の領域の前記ディスク上の方位角の第１の範囲が、前記シーケンシャルライトにおける前記第１の領域への第１のデータのライトまたは前記シーケンシャルリードにおける前記第１の領域からの第２のデータのリードの後から前記ディスクの１周回が経過するまでの期間における前記整定時間Ｔ2中に前記ヘッドが走行する前記ディスク上の方位角の第２の範囲に対応するかに基づいて、前記第１のデータまたは前記第２のデータのデータタイプが、第１のタイプまたは第２のタイプのいずれであるかを判別できる。前記方法はまた、前記第１のデータまたは前記第２のデータを前記判別されたデータタイプに関連付けて前記バッファに格納することができる。前記方法は更に、前記バッファに格納された前記第１のタイプのデータが前記バッファに前記時間Ｔ1の２倍の時間だけ保持され、前記バッファに格納された前記第２のタイプのデータが前記バッファに前記時間Ｔ1だけ保持されるように、前記バッファを制御することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る磁気ディスク装置の典型的な構成を示すブロック図。
【図２】図１に示されるディスク上の３つのトラックにデータをシーケンシャルにライトする際における、トラック毎の典型的なライト開始位置及びライト終了位置を示す図。
【図３】図２に示すシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスと対応付けて示す模式図。
【図４】同実施形態で適用される、シーケンシャルライトにおけるディスクの１周回分の既ライトデータのバッファリングの定義を説明するための模式図。
【図５】同実施形態において第２のタイプのデータに基づく再ライトが可能な上書き発生の典型的な事例を説明するための図。
【図６】図５に示す事例におけるシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスと対応付けて示す模式図。
【図７】同実施形態において第２のタイプのデータに基づく再ライトが不可能な上書き発生の典型的な事例を説明するための図。
【図８】図７に示す事例におけるシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスと対応付けて示す模式図。
【図９】同図（ａ）は同実施形態で適用される第１のタイプのデータの定義を説明するための模式図、同図（ｂ）は同実施形態で適用される第１のタイプのデータ及び第２のタイプのデータの定義を説明するための模式図。
【図１０】同図（ａ）及び（ｂ）はいずれも同実施形態で適用される第１のタイプのデータ及び第２のタイプのデータのデータ量を説明するための模式図。
【図１１】同実施形態で適用されるシーケンシャルライトの典型的な手順を説明するためのフローチャート。
【図１２】同実施形態の変形例で適用されるシーケンシャルライトの典型的な手順を説明するためのフローチャート。
【図１３】同本実施形態で適用されるシーケンシャルリードの典型的な手順を説明するためのフローチャート。
【図１４】同実施形態の変形例で適用されるシーケンシャルリードの典型的な手順を説明するためのフローチャート。
【発明を実施するための形態】
【００１２】
以下、実施の形態につき図面を参照して説明する。  
図１は一つの実施形態に係る磁気ディスク装置の典型的な構成を示すブロック図である。  
図１に示す磁気ディスク装置は、ディスク（磁気ディスク）１１と、ヘッド（磁気ヘッド）１２と、スピンドルモータ（ＳＰＭ）１３と、アクチュエータ１４と、ドライバＩＣ１５と、ヘッドＩＣ１６と、バッファ１７と、コントロールユニット２０とを備えている。
【００１３】
ディスク１１は磁気記録媒体である。ディスク１１は上側と下側の２つのディスク面を有している。ディスク１１の例えば上側のディスク面は、データが磁気記録される記録面をなしている。ディスク１１の記録面（記録領域）は、例えば同心円状のトラック群を備えている。トラック群のそれぞれはセクタ群を備えている。セクタ群には、それぞれ固有の物理アドレスが割り当てられる。物理アドレスが割り当てられるセクタ群は、ユーザセクタ群を含む。ユーザセクタ群には、それぞれ論理アドレス（論理ブロックアドレス）ＬＢＡが割り当てられる。
【００１４】
ヘッド（ヘッドスライダ）１２はディスク１１の記録面に対応して配置される。ヘッド１２は、図示せぬライト素子及びリード素子を備えている。ヘッド１２（より詳細には、ライト素子及びリード素子）は、ディスク１１へのデータのライト及びディスク１１からのデータのリードに用いられる。
【００１５】
図１の構成では、単一枚のディスク１１を備えた磁気ディスク装置を想定している。しかし、ディスク１１が複数枚積層配置された磁気ディスク装置であっても構わない。また、図１の構成では、ディスク１１の一方の面が記録面をなしている。しかし、ディスク１１の両面がいずれも記録面をなし、両記録面にそれぞれ対応してヘッドが配置されても構わない。
【００１６】
ディスク１１はＳＰＭ１３によって高速に回転させられる。ＳＰＭ１３は、ドライバＩＣ１５から供給される駆動電流（または駆動電圧）により駆動される。ヘッド（ヘッドスライダ）１２は、アクチュエータ１４のアーム１４１の先端に取り付けられている。ヘッド１２は、ディスク１１が高速に回転することにより当該ディスク１１上で浮上する。アクチュエータ１４は、当該アクチュエータ１４の駆動源となるボイスコイルモータ（ＶＣＭ）１４２を有している。ヘッド１２は、アクチュエータ１４がＶＣＭ１４２によって駆動されることにより、ディスク１１上を当該ディスク１１の半径方向に、円弧を描くように移動する。
【００１７】
ドライバＩＣ１５は、コントロールユニット２０（より詳細には、コントロールユニット２０内の後述するサーボコントローラ２２）の制御に従い、ＳＰＭ１３とＶＣＭ１４２とを駆動する。ヘッドＩＣ１６はヘッドアンプとも呼ばれており、ヘッド１２によりリードされた信号（つまりリード信号）を増幅する。ヘッドＩＣ１６はまた、コントロールユニット２０（より詳細には、コントロールユニット２０内の後述するＲ／Ｗチャネル２１）から出力されるライトデータをライト電流に変換してヘッド１２に出力する。
【００１８】
バッファ１７は、コントロールユニット２０（より詳細には、コントロールユニット２０内の後述するＨＤＣ２２）の制御によってディスク１１にライトされるデータ及びディスク１１からリードされるデータを一時格納するのに用いられる。本実施形態において、バッファ１７はバッファ１７Ａ及び１７Ｂの２つのバッファから構成される。
【００１９】
コントロールユニット２０は、例えばマイクロプロセッサユニット（ＭＰＵ）を含む複数の要素が単一チップに集積されたシステムＬＳＩによって実現される。コントロールユニット２０は、リード／ライトチャネル（Ｒ／Ｗチャネル）２１と、ディスクコントローラ（以下、ＨＤＣと称する）２２と、サーボコントローラ２３とを備えている。
【００２０】
Ｒ／Ｗチャネル２１は、リード／ライトに関連する信号処理を行う。即ちＲ／Ｗチャネル２１は、ヘッドＩＣ１６によって増幅されたリード信号をデジタルデータに変換し、このデジタルデータからリードデータを復号する。Ｒ／Ｗチャネル２１はまた、上記デジタルデータからサーボデータを抽出する。Ｒ／Ｗチャネル２１はまた、ＨＤＣ２２から転送されるライトデータを符号化し、この符号化されたライトデータをヘッドＩＣ１６に転送する。
【００２１】
ＨＤＣ２２は、ホストインタフェースを介してホスト（ホストデバイス）と接続されている。ホストは、図１に示される磁気ディスク装置を自身のストレージ装置として利用する。ホスト及び図１に示される磁気ディスク装置は、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、携帯電話機、或いはプリンタ装置のような電子機器に備えられている。
【００２２】
ＨＤＣ２２は、当該ＨＤＣ２２とホストとの間で信号を授受するホストインタフェースコントローラとして機能する。具体的には、ＨＤＣ２２は、ホストから転送されるコマンド（ライトコマンド、リードコマンド等）を受信する。ＨＤＣ２２はまた、ホストと当該ＨＤＣ２２との間のデータ転送を制御する。ＨＤＣ２２はまた、Ｒ／Ｗチャネル２１、ヘッドＩＣ１６及びヘッド１２を介してディスク１１へのデータのライト及びディスク１１からのデータのリードを制御するディスクインタフェースコントローラとしても機能する。ＨＤＣ２２は、バッファコントローラ２２１及び判別モジュール２２２を備えている。バッファコントローラ２２１及び判別モジュール２２２の機能については後述する。
【００２３】
サーボコントローラ２３は、ドライバＩＣ１５を介してＳＰＭ１３及びＶＣＭ１４２を制御する。特にサーボコントローラ２３は、ヘッド１２をディスク１１上の目標トラックの目標位置に位置決めするために、ドライバＩＣ１５を介してＶＣＭ１４２を制御する。サーボコントローラ２３は、ヘッド１２の目標トラック上の目標位置からの位置ずれの量（位置誤差）を検出する周知の検出器２３０を備えている。
【００２４】
次に、本実施形態で適用されるディスク１１上のトラック配置を示すディスクフォーマットとシーケンシャルライトとの関係の例について、図２を参照して説明する。  
図２はディスク１１上の３つのトラックＸ，Ｘ＋１，Ｘ＋２にデータをシーケンシャルにライトする際における、トラック毎の典型的なライト開始位置及びライト終了位置を示す。  
図２において、矢印Ａはディスク１１の回転方向を示す。本実施形態では、ディスク１１の１周回に要する時間はＴ1[s]である。
【００２５】
図２の例では、データはトラックＸ、トラックＸ＋１及びトラックＸ＋２の順に（つまり、ディスク１１の半径方向に一方向に）シーケンシャルにライトされる。Ｘ，Ｘ＋１及びＸ＋２は、トラックＸ、トラックＸ＋１及びトラックＸ＋２のトラック番号（シリンダアドレス）を示すものとする。このシーケンシャルライトにおいて、ヘッド１２を次のトラックに移動するためのシーク動作毎に、ヘッド移動及びヘッド位置決め（つまりシーク・位置決め）のための整定時間Ｔ2[s]が必要になる。このため、トラックＸ，Ｘ＋１，Ｘ＋２のライト開始位置の円周上の相対位置（つまり方位角）は同一ではなく、Ｔ2／Ｔ1[周]ずつ徐々にずれる。ここで、Ｔ1[s]及びＴ2[s]との間には、０＜Ｔ2＜Ｔ1の関係がある。つまりＴ2[s]は、ゼロよりも大きく且つＴ1[s]未満である。
【００２６】
図２の例では、データのライトは、まずトラックＸ上の位置００１（より詳細には、トラックＸ上の位置００１のセクタ）から開始され、位置００２を経由して位置００３まで実行される。次に、矢印Ａ０１で示すように、ヘッド１２がトラックＸからトラックＸ＋１に移動され、当該トラックＸ＋１の目標位置に位置付けられる。このシーク・位置決めのための整定時間（第１の整定時間）Ｔ2[s]を経た後、後続のデータライトが、トラックＸ＋１上の位置１０１から、位置１０２を経由して位置１０３まで実行される。そして、矢印Ａ１２で示されるように更なるシーク・位置決めのための整定時間（第２の整定時間）Ｔ2[s]を経た後、後続のデータライトが、トラックＸ＋３上の位置２０１から位置２０３近傍まで実行される。このように図２の例では、ディスク１１は、当該ディスク１１の半径方向に一方向にシーケンシャルにデータが記録される領域を有する。
【００２７】
次に、本実施形態で適用されるシーケンシャルライトにおけるトラック上のライト位置と論理アドレスとの関係の例について、図３を参照して説明する。  
図３は、図２に示すシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスＬＢＡと対応付けて示す模式図である。  
図３において、縦軸はディスク１１の半径方向を示し、当該縦軸の下方向（つまり矢印３１の方向）は、ディスク１１の内周に向かう半径方向を示す。図３において、横軸はディスク１１の円周方向を示し、当該横軸の右方向（つまり矢印３２の方向）は、ディスク１１の回転方向（角度方向）を示す。なお、図３では、同心円状の各トラックが、作図の都合で直線状に（つまり模式的に）描かれている。
【００２８】
図３に示す例では、トラック群がそれぞれ備えるセクタの数は同一である。ここでは、１トラック当たりのセクタの数は、作図の都合で、１６進表現で０Ｆ（０ｘ０Ｆ）、１０進表現で１６（０ｄ１６）であるものとする。なお、ＣＤＲ（constant density recording）を適用する磁気ディスク装置のように、ディスク１２の外周側のトラック（より詳細には、外周側のゾーン内のトラック）が、内周側のトラック（より詳細には、内周側のゾーン内のトラック）よりも、多くのセクタを備えていても構わない。
【００２９】
図３において、トラック群の各セクタには、当該セクタのセクタ番号として、当該セクタに割り当てられている論理アドレスＬＢＡが表記されている。また、図２に示す位置００１〜００３，１０１〜１０３，２０１及び２０３にそれぞれ対応するセクタには、当該位置が括弧内に表記されている。１セクタ（１論理アドレスＬＢＡ）当たりのデータ量は、Ｌビットであるものとする。
【００３０】
トラックＸ，Ｘ＋１，Ｘ＋２に対するシーケンシャルライトは、図２を参照しての説明からも明らかなように、次のように実行される。まずデータのライトは、トラックＸ上のＬＢＡ：００（位置００１）のセクタから開始され、ＬＢＡ：０２（位置００２）のセクタを経由してＬＢＡ：０Ｆ（位置００３）のセクタまで実行される。次に、矢印Ａ０１で示されるように第１の整定時間Ｔ2[s]を経た後、後続のデータライトが、トラックＸ＋１上のＬＢＡ：１０（位置１０１）のセクタからＬＢＡ：１２（位置１０２）のセクタを経由してＬＢＡ：１Ｆ（位置１０３）のセクタまで実行される。そして、矢印Ａ１２で示されるように更なる第２の整定時間Ｔ2[s]を経た後、後続のデータライトが、トラックＸ＋２上のＬＢＡ：２０（位置２０１）のセクタから開始され、最終的にＬＢＡ：２Ｆ（位置２０３）のセクタ近傍まで実行される。
【００３１】
図３の例では、１トラックあたりのデータ量Ｉ1は１６セクタ分、つまり１６Ｌビットである。一方、第１及び第２の整定時間Ｔ2[s]にそれぞれ相当するデータ量Ｉ2は３セクタ分、つまり３Ｌビットである。
【００３２】
図４は、本実施形態で適用される、シーケンシャルライトにおける１周回分の既ライトデータのバッファリングの定義を説明するための模式図である。図４は、同図において下線が付されているＬＢＡ：１Ａのセクタへのデータライトが実行されている時点におけるバッファリングの状態を、トラック上のライト位置及び論理アドレスＬＢＡと対応付けて示す。具体的には、図４において斜体字で表されるＬＢＡの位置のセクタ群（つまり１３セクタ）にライトされたデータが、データＡとして、図１に示されるバッファ１７に時間Ｔ1[s]だけ一時的に格納される。
【００３３】
この１３セクタは、トラックＸ上のＬＢＡ：０Ｄの位置からＬＢＡ：０Ｆの位置（図２の位置００３）までの３セクタと、トラックＸ＋１上のＬＢＡ：１０の位置（図２の位置１０１）からＬＢＡ：１９の位置（つまり、現在ライト中のＬＢＡ：１Ａの位置の直前）までの１０セクタとからなる。ここで、ＬＢＡ：０Ｄの位置へのデータライトを開始してから、ＬＢＡ：１９の位置へのデータライトが完了するまでに要する時間は、ディスク１１の１周回に要する時間Ｔ1[s]に一致する。時間Ｔ1[s]は、矢印Ａ０１で示される第１の整定時間Ｔ2[s]を含む。
【００３４】
本実施形態では、バッファ１７に一時格納されるデータは、上述のデータＡと、データＢとの２つのタイプに分類される。データＡのタイプをタイプＡ（第２のタイプ）と呼び、データＢのタイプをタイプＢ（第１のタイプ）と呼ぶ。
【００３５】
データＡは、上述のように、現在ライト中のデータに先行して、時間Ｔ1[s]の期間（つまりディスク１１の１周回に対応する期間）にシーケンシャルにライトされたデータである。データＡは、バッファ１７に時間Ｔ1[s]の期間格納される。これに対してデータＢは、バッファ１７に時間２Ｔ1[s]の期間格納される。つまりデータＢは、データＡよりも２倍長い期間バッファ１７に格納される。この理由と、データＢの定義とについては後述する。
【００３６】
次に、バッファ１７に格納されているデータ（既ライトデータ）Ａに基づく再ライトについて図５及び図６を参照して説明する。  
データＡ（第２のタイプのデータ）に基づく再ライトは、ヘッド１２の予期せぬ一時的な位置ずれにより、目標トラックに隣接するトラックの一部領域にヘッド１２によりデータが上書きされる場合に行われる。
【００３７】
図５は、本実施形態においてデータＡに基づく再ライトが可能な上書き発生の典型的な事例（以下、第１の事例と称する）を説明するための図である。  
図５においてシーケンシャルライトは、次のように実行される。まずデータのライトは、トラックＸ上の位置００１から開始され、位置００２を経由して位置００３まで実行される。次に、矢印Ａ０１で示されるように第１の整定時間Ｔ2[s]を経た後、後続のデータライトが、トラックＸ＋１上の位置１０１から位置１０２を経由して実行される。ここまでは、図２の例と同様である。
【００３８】
ここで、トラックＸ＋１上の位置１０４へのデータライト中に、予期せぬ外乱により、図５に示すようにヘッド１２の位置ずれが発生したものとする。図５の例では、この位置ずれにより、トラックＸ＋１に隣接するトラックＸ上の位置００４への上書きが発生している。
【００３９】
図６は、図５に示す第１の事例におけるシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスＬＢＡと対応付けて示す模式図である。  
図６において、位置ずれが発生したトラックＸ＋１上の位置１０４は、下線が付されているＬＢＡ：１５のセクタに対応し、このＬＢＡ：１５（位置１０４）のセクタにライトされるべきデータが上書きされたトラックＸ上の位置００４はＬＢＡ：０８のセクタに対応する。図６はＬＢＡ：１５（位置１０４）のセクタへのデータライトが実行されている時点におけるバッファリングの状態をも示す。具体的には、図６において斜体字で表される、ＬＢＡ：０８からＬＢＡ：１４までの範囲の１３セクタにライトされたデータが、データＡとして、図１に示されるバッファ１７に格納されている。
【００４０】
このため、上書きされたＬＢＡ：０８（位置００４）のセクタのデータ（既ライトデータ）はバッファ１７内に存在する。この場合、このバッファ１７内の既ライトデータを、ＬＢＡ：０８（位置００４）のセクタに再ライトすることが可能である。つまり、ＬＢＡ：１５（位置１０４）のセクタにライトされるべきデータが上書きされたＬＢＡ：０８（位置００４）のセクタを、上書きの発生直前の状態に復旧することが可能である。
【００４１】
そこでＨＤＣ２２は次の手順を適用する。まずＨＤＣ２２は、バッファ１７に格納されているＬＢＡ：０８のセクタの既ライトデータを、トラックＸ上の位置００４に再度ライトする。しかる後にＨＤＣ２２は、トラックＸ＋１上の位置１０４からＬＢＡ：１５以降のデータライトを再開する。
【００４２】
次に、データＡに基づく再ライトが不可能な上書き発生の事例（以下、第２の事例と称する）について図７及び図８を参照して説明する。  
図７は、前記第２の事例を説明するための図である。  
図７においてシーケンシャルライトは、次のように実行される。まずデータのライトは、図２の例と同様に、トラックＸ上の位置００１から開始され、トラックＸ＋１上の位置１０３まで実行される。そして、図２の例と同様に、矢印Ａ１２で示されるように第２の整定時間Ｔ2[s]を経た後、後続のデータライトが、トラックＸ＋２上の位置２０１から実行される。その後、図２の例とは異なり、トラックＸ＋２上の位置２０３の直前の位置２０５へのデータライト中に、予期せぬ外乱により、図７に示すようにヘッド１２の位置ずれが発生したものとする。図７の例では、この位置ずれにより、トラックＸ＋２に隣接するトラックＸ＋１上の位置１０５への上書きが発生している。
【００４３】
図８は、図７に示す第２の事例におけるシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスＬＢＡと対応付けて示す模式図である。  
図８において、位置ずれが発生したトラックＸ＋２上の位置２０５は、下線が付されているＬＢＡ：２Ｅに対応し、このＬＢＡ：２Ｅ（位置２０５）のセクタにライトされるべきデータが上書きされたトラックＸ＋１上の位置１０５はＬＢＡ：１１に対応する。図８はＬＢＡ：２Ｅ（位置２０５）のセクタへのデータライトが実行されている時点におけるバッファリングの状態をも示す。具体的には、図８において斜体字で表された、ＬＢＡ：２０からＬＢＡ：２Ｄまでの範囲の１４セクタにライトされたデータが、データＡとして、図１に示されるバッファ１７に格納されている。
【００４４】
しかしながら、上書きされたＬＢＡ：１１（位置１０５）のセクタのデータは、バッファ１７内に存在しない。その理由は、ＬＢＡ：１１（位置１０５）のセクタのデータは、現在の時点ｔ0から時間Ｔ1[s]よりも長い時間Ｔ3[s]前の時点ｔ2でライトされたデータであり、したがってデータＡの定義に該当しないためである。時間Ｔ3[s]は例えば時間Ｔ1[s]の２倍、即ち２Ｔ1[s]である。
【００４５】
バッファ１７内のデータについて、詳細に説明する。まず、時点ｔ0から時間Ｔ1[s]前の時点がｔ1であるものとする。この場合、ＬＢＡ：２０からＬＢＡ：２Ｄまでの範囲の１４セクタのデータは、時点ｔ1から時点ｔ0までの期間（ｔ0−ｔ1）、つまりディスク１１の１周回の時間Ｔ1[s]にライトされたデータである。このため、ＬＢＡ：２０からＬＢＡ：２Ｄまでの範囲のデータは、データＡの定義に該当することから、バッファ１７に存在する。
【００４６】
これに対し、ＬＢＡ：１１（位置１０５）のセクタのデータは、時点ｔ1から時点ｔ0までの１周回の時間Ｔ1[s]内にライトされたデータではない。更に具体的に述べるならば、ＬＢＡ：１１（位置１０５）のセクタのデータは、矢印Ａ０１で示されるシーク・位置決めを経てＬＢＡ：１０（位置１０１）のセクタにデータがライトされた直後にライトされたデータである。つまり、ＬＢＡ：１１（位置１０５）のセクタのデータは、時点ｔ0から時間２Ｔ1[s]（２Ｔ1＝Ｔ3）前の時点ｔ2にライトされたデータである。このため、ＬＢＡ：１１（位置１０５）のセクタのデータは、バッファ１７に格納される期間（つまり保持期間）がＴ1[s]であるデータＡではなく、バッファ１７から既にパージされている。したがってＬＢＡ：１１（位置１０５）のセクタへの再ライトは不可能でる。このように、データＡのみをバッファ１７に一時格納しているだけでは、再ライトが不可能な上書きが発生する可能性がある。
【００４７】
そこで、データＡでは再ライトが不可能な上書きが発生しても、当該再ライトを可能とするためには、バッファ１７におけるデータの保持期間をＴ1[s]から、例えば２Ｔ1[s]（つまりＴ3[s]）にすればよい。しかし、全てのデータの保持期間を２Ｔ1[s]にすることは、バッファ１７の容量の増大を招く。そこでバッファ１７に一時格納されるデータが、前述したように、データＡとデータＢとの２つのタイプに分類される。本実施形態では、データＡの保持期間はＴ1[s]であるのに対し、データＢの保持期間は２Ｔ1[s]である。
【００４８】
以下、データＢ（及びデータＡ）について、図９を参照して説明する。  
図９（ａ）は本実施形態で適用されるデータＢの定義を説明するための模式図、図９（ｂ）は本実施形態で適用されるデータＡ及びＢの定義を説明するための模式図である。  
図９（ａ）は、図８と同様に、下線が付されているＬＢＡ：２Ｅ（位置２０５）のセクタへのデータライトが実行されている時点ｔ0におけるバッファリングの状態をも示す。ここでは、図９（ａ）において２重下線が付されているＬＢＡ：１１からＬＢＡ：２Ｄまでの範囲の２９セクタにライトされたデータがバッファ１７に格納されているものとする。
【００４９】
ここで、データＢを、保持期間が２Ｔ1[s]である既ライトデータを指すものと仮に定義する。ＬＢＡ：１１は、現時点ｔ0から時間２Ｔ1[s]前の時点ｔ2にデータがライトされた位置（セクタ）を示す。また、ＬＢＡ：２Ｄは、現在実行中のデータライトの直前にデータがライトされた位置を示す。このため、ＬＢＡ：１１からＬＢＡ：２Ｄまでの範囲の２９セクタにライトされたデータはデータＢ（より詳細には、データＢの仮の定義）に該当し、現在バッファ１７に格納されている。つまり、ＬＢＡ：１１（位置１０５）のセクタにライトされたデータは、データＢに含まれている。この場合、現在実行中のＬＢＡ：２Ｅ（位置２０５）のセクタへのデータライトにより、隣接するＬＢＡ：１１（位置１０５）のセクタにデータが上書きされたとしても、当該ＬＢＡ：１１のセクタにバッファ１７内の対応する既ライトデータを再ライトすることが可能である。この再ライトにより、ＬＢＡ：１１のセクタを、上書きの発生直前の状態に復旧することが可能である。
【００５０】
しかしながら、上述のデータＢの仮の定義に従い、ＬＢＡ：１１からＬＢＡ：２Ｄまでの範囲の２９セクタにライトされたデータ（つまり、ディスク１１の２周回に相当するデータ）をバッファ１７に保持するとなると、当該バッファ１７の容量として、ほぼ２トラックのデータ量に相当する量を必要とする。ここで、例えば今日における磁気ディスク装置の外周側２トラック当たりのデータ量は、２．５インチ型装置でおよそ２．５メガバイト（ＭＢ）、３．５インチ型装置でおよそ５ＭＢである。一方、バッファ１７として利用されるメモリ、例えばＤＲＡＭの容量は８乃至６４ＭＢ程度である。このため、上述したようなバッファ１７に要求される容量は、決して無視できない。したがって、バッファ１７に格納されるべきデータの量の適正化を検討・実施することは非常に価値があり、恩恵が大きい。
【００５１】
そこで図９（ａ）を参照すると、トラックＸ＋２上のＬＢＡ：２０からＬＢＡ：２Ｃまでの範囲の１３セクタへのデータのライトは、隣接するトラックＸ＋１上のＬＢＡ：１３からＬＢＡ：１Ｆまでの範囲の１３セクタへの上書きを発生し得る。しかし、現時点ｔ0（つまり、ＬＢＡ：２Ｅのセクタへのデータライト中の時点ｔ0）において、ＬＢＡ：２０からＬＢＡ：２Ｃまでの範囲の１３セクタへのデータのライトは既に終了している。このため、ＬＢＡ：１３からＬＢＡ：１Ｆまでの範囲の１３セクタへの上書きが新たに発生するおそれはない。このことから、ＬＢＡ：１３からＬＢＡ：１Ｆまでの範囲の１３セクタにライトされたデータを、少なくとも現時点ｔ0においてバッファ１７に保持しておく必要がないことがわかる。
【００５２】
少なくとも現時点ｔ0においてバッファ１７に保持されている必要のあるトラックＸ＋１上のセクタ群のデータは、現在実行中のＬＢＡ：２Ｅのセクタへのデータライトによって上書きが発生し得るＬＢＡ：１１のセクタと、次に実行されるＬＢＡ：２Ｆのセクタへのデータライトによって上書きが発生し得るＬＢＡ：１２のセクタとの２つである。よって、トラックＸ＋１上の全てのセクタにライトされたデータを、データＢとして時間２Ｔ1[s]の間保持する必要は必ずしもない。より詳細に述べるならば、「ディスク１１上へのデータのライト期間中にヘッド１２が走行した方位角の範囲（第１の範囲）が、当該ライト後時間Ｔ1[s]（つまり、ディスク１１の１周回に要する時間）経過するまでの期間に発生するシーク・位置決めのための整定時間にヘッド１２が走行する方位角の範囲（第２の範囲）から外れている」という条件（以下、第２の条件と称する）に合致するセクタの既ライトデータは、データＡとして時間Ｔ1[s]の間だけ保持されればよい。ヘッド１２の「走行」とは、ディスク１１の回転によってヘッド１２が位置する当該ディスク１１上の円周方向の位置がＰａからＰｂに変化すること、つまりヘッド１２のディスク１１に対する相対的な走行を指す。「ヘッド１２が走行した方位角」とは、ヘッド１２が走行したディスク１１上の円周方向の角度、より詳細には、ディスク１１の中心ＯとＰａ及びＰｂとをそれぞれ結ぶ線分ＯＰａ及びＰＰｂのなす角度を指す。
【００５３】
ここで、トラックＸ＋２上のＬＢＡ：２Ｅのセクタへのデータライト中の場合を例にとる。この場合、隣接するトラックＸ＋１上のセクタ群のうち、矢印Ａ１２で示される最新のシーク・位置決めのための第２の整定時間にヘッド１２が走行する方位角の範囲から外れている、ＬＢＡ：１３からＬＢＡ：１Ｆまでの範囲の１３セクタは、前記第２の条件に合致する。そこで、ＬＢＡ：１３からＬＢＡ：１Ｆまでの範囲の１３セクタにライトされたデータを、データＢとせずにデータＡとしてバッファリングしてもよい。このようなバッファリングを適用した状態で、たとえトラックＸ＋２上のＬＢＡ：２０からＬＢＡ：２Ｃまでの範囲内の第１のセクタへのデータのライトで、ＬＢＡ：１３からＬＢＡ：１Ｆまでの範囲内の対応する第２のセクタへの上書きが発生しても、当該第２のセクタを上書きの発生直前の状態に復旧することが可能である。また、上述のバッファリングにより、バッファ１７におけるセクタ毎の平均的なデータ保持期間が減少すれば、当該バッファ１７の容量（バッファ容量）を低減させることができる。
【００５４】
次に、上述のバッファ量を低減させる技術について、図９（ｂ）を参照して更に詳細に説明する。  
図９（ｂ）は図９（ａ）と同様に、トラックＸ＋２上の下線が付されているＬＢＡ：２Ｅ（位置２０５）のセクタへのデータライトが実行されている時点ｔ0におけるバッファリングの状態をも示す。図９（ｂ）において、トラックＸ＋２上の斜体字で表されたＬＢＡ：２３からＬＢＡ：２Ｄまでの範囲の１１セクタにライトされたデータが、「保持期間がＴ1[s]」の「既ライトデータ」であり、且つ前記第２の条件に合致する範囲のセクタにライトされたデータＡである。
【００５５】
また図９（ｂ）において、トラックＸ＋２に隣接するトラックＸ＋１上の２重下線が付されたＬＢＡ：１１からＬＢＡ：１２までの範囲の２セクタにライトされたデータが、「保持期間が２Ｔ1[s]」の「既ライトデータ」であり、且つ第１の条件に合致する範囲のセクタにライトされたデータＢである。同様に、トラックＸ＋２上の２重下線が付されたＬＢＡ：２０からＬＢＡ：２２までの範囲の３セクタにライトされたデータも、「保持期間が２Ｔ1[s]」の「既ライトデータ」であり、且つ第１の条件に合致する範囲のセクタにライトされたデータＢである。つまり、データＢの定義に、新たに第１の条件が追加されている。
【００５６】
第１の条件とは、「ディスク１１上へのデータのライト期間中にヘッド１２が走行した方位角の範囲（第１の範囲）の一部または全部が、当該ライト後時間Ｔ1[s]（つまり、ディスク１１の１周回に要する時間）経過するまでの間に発生するシーク・位置決めのための整定時間にヘッド１２が走行する方位角の範囲（第２の範囲）に含まれる」という条件である。このため、上記ＬＢＡ：１１からＬＢＡ：１２までの範囲は、図９（ｂ）において矢印Ａ１２で示される第２の整定時間にヘッド１２が走行した方位角の範囲に対応しており、したがって第１の条件に合致する。ここで第２の整定時間は、トラックＸ＋１からトラックＸ＋２にヘッド１２を移動して当該ヘッド１２をトラックＸ＋２上の目標位置に位置決めするのに要した時間である。同様に、上記ＬＢＡ：２０からＬＢＡ：２２までの範囲は、図９（ｂ）において矢印Ａ２３で示される第３の整定時間にヘッド１２が走行した方位角の範囲に対応しており、したがって第１の条件に合致する。
【００５７】
図９（ｂ）を参照して説明したデータＡ及びＢがバッファ１７に格納されている状態で、ＬＢＡ：２Ｅ（位置２０５）のセクタへのデータライト中のヘッド１２の予期せぬ位置ずれにより、ＬＢＡ：１１（位置１０５）のセクタへの上書きが発生したものとする。このとき、ＬＢＡ：１１のセクタにライトされたデータはバッファ１７に存在する。よって、このバッファ１７に存在する既ライトデータをＬＢＡ：１１のセクタに再ライトすることができ、ＬＢＡ：１１のセクタを上書きの発生直前の状態に復旧することが可能である。更にこの場合、図９（ａ）の例では２９セクタに相当する量のデータの保持が必要であったものが、１６セクタに相当する量のデータの保持で済むので、バッファ１７の容量を低減でき、効率的である。
【００５８】
ここで、図９（ｂ）に加えて、図１０を参照して、データＡ及びＢのデータ量について説明する。図１０（ａ）及び同図（ｂ）は、いずれも本実施形態で適用されるデータＡ及びＢのデータ量を説明するための模式図である。
【００５９】
まず、図１０（ａ）においてデータライト中のセクタは、トラックＸ＋１上の下線が付されているＬＢＡ：１５のセクタである。このＬＢＡ：１５のセクタへのデータライトが実行されている時点では、データＡは、トラックＸ上の斜体字で表されたＬＢＡ：０８からＬＢＡ：０Ｆまでの範囲、及びトラックＸ＋１上の斜体字で表されたＬＢＡ：１３からＬＢＡ：１４までの範囲の１０セクタにライトされたデータとなる。ここでは、１セクタ当たりのデータ量はＬビットであることから、データＡのデータ量は１０Ｌビットである。一方、データＢは、トラックＸ上の２重下線が付されたＬＢＡ：００からＬＢＡ：０２の範囲、及びトラックＸ＋１上のＬＢＡ：１０からＬＢＡ：１２の範囲の６セクタにライトされたデータとなる。データＢのデータ量６Ｌビットである。
【００６０】
前述したように、１トラックあたりのデータ量Ｉ1は１６Ｌビットであり、整定時間Ｔ2[s]に相当するデータ量Ｉ2は３Ｌビットである。したがって、データＡのデータ量は“Ｉ1−２Ｉ2”であり、データＢのデータ量は“２Ｉ2”である。
【００６１】
次に、図１０（ｂ）においてデータライト中のセクタは、トラックＸ＋２上の下線が付されているＬＢＡ：２０（位置２０１）のセクタである。このＬＢＡ：２０のセクタへのデータライトが実行されている時点では、データＡは、トラックＸ＋１上の斜体字で表されたＬＢＡ：１３からＬＢＡ：１Ｆまでの範囲の１３セクタにライトされたデータとなる。このデータＡのデータ量は１３Ｌビットである。一方、データＢは、トラックＸ＋１上の２重下線が付されたＬＢＡ：１０からＬＢＡ：１２までの範囲の３セクタにライトされたデータとなる。このデータＢのデータ量は３Ｌビットである。この場合、図１０（ａ）の例とは異なり、データＡのデータ量は“Ｉ1−Ｉ2”となり、データＢのデータ量は“Ｉ2”となる。
【００６２】
また、前述したように、図９（ｂ）においてデータライト中のセクタは、トラックＸ＋２上のＬＢＡ：２Ｅ（位置２０５）のセクタである。このＬＢＡ：２Ｅのセクタへのデータライトが実行されている時点では、データＡは、ＬＢＡ：２３からＬＢＡ：２Ｄまでの範囲の１１セクタにライトされたデータである。このデータＡのデータ量は１１Ｌビットである。一方、データＢは、ＬＢＡ：１１からＬＢＡ：１２までの範囲、及びＬＢＡ：２０からＬＢＡ：２２までの範囲の５セクタにライトされたデータである。このデータＢのデータ量は５Ｌビットである。この場合、データＡのデータ量は“Ｉ1−Ｉ2＋１”となり、データＢのデータ量は“２Ｉ2−１”となる。
【００６３】
このように、本実施形態で適用されるデータＡ及びＢのデータ量は時々刻々と変化するが、全ての時点で、データＡのデータ量は（Ｉ1−Ｉ2）ビット以下、データＢのデータ量は２Ｉ2ビット以下である。更に、全ての時点で、データＡのデータ量とデータＢのデータ量の和はＩ1ビットである。
【００６４】
次に、本実施形態で適用されるシーケンシャルライトの典型的な手順について、図１１のフローチャートを参照して説明する。ここでは、論理アドレスＬＢＡがＸＳ（ＬＢＡ：ＸＳ）からＸＥ（ＬＢＡ：ＸＥ）の範囲に対応するディスク１１上のセクタ群にデータをシーケンシャルにライトするものとする。ＸＳはライト開始データアドレスでありＸＥはライト終了データアドレスである。また、シーケンシャルライトは、例えば図２の例のように、トラック番号が増加する方向に実行されるものとする。
【００６５】
まずＨＤＣ２２は、ライトデータアドレスを指すポインタＸ（ＬＢＡ：Ｘ）をＸＳに初期設定する（ステップ１１００）。次にＨＤＣ２２は、ディスク１１上のＬＢＡ：Ｘのセクタに、Ｒ／Ｗチャネル２１を介してヘッド１２によりデータＤXをライトする（ステップ１１０１）。ここで、ＬＢＡ：Ｘのセクタが、トラックＸ上に存在し、且つディスク１１の半径方向でＬＢＡ：Ｙのセクタに隣接するものとする。
【００６６】
ＨＤＣ２２は、ステップ１１０１を実行すると、ＬＢＡ：Ｘのセクタへのデータライト中に、隣接するＬＢＡ：Ｙのセクタへのデータの上書きが発生したか（より詳細には、上書きが発生した可能性があるか）を判定する（ステップ１１０２）。本実施形態においてＨＤＣ２２は、ヘッド１２の隣接するＬＢＡ：Ｙのセクタ側への基準値を超す予期せぬ位置ずれがサーボコントローラ２３の検出器２３０により検出されたことをもって、ＨＤＣ２２は当該ＬＢＡ：Ｙのセクタへのデータの上書きが発生したと判定する。
【００６７】
ここでは、隣接セクタへの上書きは発生していないものとする（ステップ１１０２のＮｏ）。この場合、ＨＤＣ２２の判別モジュール２２２は、ＬＢＡ：Ｘのセクタが、次にヘッド１２をトラックＸからトラックＸ＋１に移動して当該ヘッド１２を当該トラックＸ＋１上の目標位置に位置決めするのに要する整定時間に対応するかを判定する（ステップ１１０３）。「ＬＢＡ：Ｘのセクタが整定時間に対応する」とは、「ＬＢＡ：Ｘのセクタ」が前述した第１の条件に合致することを指す。
【００６８】
もし、ステップ１１０３での判定が「Ｎｏ」であるならば、ＨＤＣ２２のバッファコントローラ２２１はバッファ１７Ａが満たされているかを判定する（ステップ１１０４）。ステップ１１０４での判定が「Ｙｅｓ」であるならば、ＨＤＣ２２のバッファコントローラ２２１はバッファ１７Ａ内の最古のセクタデータをパージして（ステップ１１０５）、ステップ１１０６に進む。これに対し、ステップ１１０４での判定が「Ｎｏ」であるならば、ＨＤＣ２２のバッファコントローラ２２１はステップ１１０５をスキップしてステップ１１０６に進む。ステップ１１０６においてバッファコントローラ２２１は、データＤX（つまりＬＢＡ：ＸのセクタにライトされたデータＤX）を、バッファ１７Ａにスタックする。このことは、データＤXがデータＡとして（つまり、タイプＡに関連付けて）バッファ１７にスタックされることを意味する。
【００６９】
一方、ステップ１１０３での判定が「Ｙｅｓ」である場合には、バッファコントローラ２２１はバッファ１７Ｂが満たされているかを判定する（ステップ１１０７）。ステップ１１０７での判定が「Ｙｅｓ」であるならば、バッファコントローラ２２１はバッファ１７Ｂ内の最古のセクタデータをパージして（ステップ１１０８）、ステップ１１０９に進む。これに対し、ステップ１１０７での判定が「Ｎｏ」であるならば、バッファコントローラ２２１はステップ１１０８をスキップしてステップ１１０９に進む。ステップ１１０９においてバッファコントローラ２２１は、データＤXをバッファ１７Ｂにスタックする。このことは、データＤXがデータＢとして（つまり、タイプＢに関連付けて）バッファ１７にスタックされることを意味する。
【００７０】
ＨＤＣ２２は、ステップ１１０６または１１０９が終了すると、ポインタＸを１インクリメントする（ステップ１１１０）。そしてＨＤＣ２２は、インクリメント後のポインタＸがＸＥを超えているかを判定する（ステップ１１１１）。もし、ステップ１１１１での判定が「Ｎｏ」であるならば、ＨＤＣ２２はステップ１１０１に戻り、インクリメント後のポインタＸが指し示すディスク１１上のＬＢＡ：Ｘのセクタ（つまり次のセクタ）にデータＤXをライトする。以下、上述した場合と同様の処理が、インクリメント後のポインタＸがＸＥを超えるまで（ステップ１１１１のＹｅｓ）、繰り返される。
【００７１】
やがて、ＬＢＡ：Ｘのセクタへのデータライト中に隣接するＬＢＡ：Ｙのセクタへのデータの上書きが発生したものとする（ステップ１１０２のＹｅｓ）。この場合、ＨＤＣ２２は、ＬＢＡ：ＹのセクタにライトされたデータＤYがバッファ１７（つまりバッファ１７Ａまたは１７Ｂ）に残っているかを判定する（ステップ１１１２）。
【００７２】
もし、ＬＢＡ：ＹのセクタにライトされたデータＤYがバッファ１７に残っているならば（ステップ１１１２のＹｅｓ）、ＨＤＣ２２は、バッファ１７内のデータＤYを、ＬＢＡ：Ｙのセクタに再ライトする（ステップ１１１３）。そしてＨＤＣ２２はステップ１１０１に戻って、ＬＢＡ：ＸのセクタへのデータＤXのライトを再度実行する。本実施形態では、ＬＢＡ：ＹのセクタがトラックＸ−１上のセクタである場合、データＤYはバッファ１７に残っている。
【００７３】
これに対し、データＤYがバッファ１７に残っていないならば（ステップ１１１２のＮｏ）。ＨＤＣ２２はホストにエラーを通知して（ステップ１１１４）、シーケンシャルライトを終了する。
【００７４】
本実施形態では、時々刻々データ量が変化する前記データＡ及びＢの、それぞれバッファ１７Ａ及び１７Ｂにおける保持期間を保証するために、バッファ１７Ａのサイズ（容量）は、前記データＡの最大データ量である（Ｉ1−Ｉ2）ビットに、バッファ１７Ｂのサイズは、前記データＢの最大データ量である２Ｉ2ビットに設定される。つまり本実施形態では、データＡの最大データ量及び前記データＢの最大データ量を保存することが可能な、バッファ１７内の固定サイズの独立したメモリ空間に、それぞれバッファ１７Ａ及び１７Ｂが割り当てられる。
【００７５】
このためバッファ１７全体のサイズは、（Ｉ1＋Ｉ2）ビットとなる。このバッファ１７全体のサイズは、前述のデータＡのデータ量とデータＢのデータ量の和であるＩ1ビットよりもＩ2ビットだけ（つまり若干）メモリ使用効率が悪い。しかし、後述する変形例と比較して実装は比較的簡便であるため、特にＩ2が十分に小さい設計の磁気ディスク装置、つまりシーク・位置決め整定が高速な設計の磁気ディスク装置では十分に実用的である。
【００７６】
このように本実施形態によれば、瓦ライトに代表されるシーケンシャルライトにおいて、ヘッド１２の予期せぬ位置ずれに起因してデータの上書きが発生したセクタを、上書き発生直前の状態に復旧するための、バッファ内の既ライトデータを利用した再ライトを確実に実現できる。つまり本実施形態によれば、シーク・位置決めのための整定時間にヘッド１２が走行した範囲のセクタへのデータの再ライトを可能とし、且つバッファ１７に保持されるべき既ライトデータのデータ量を、先行技術で最低必要としたデータ量（２トラックに相当するデータ量）の１／２程度に削減できる。
【００７７】
＜シーケンシャルライトの変形例＞
次に、上記実施形態の変形例で適用されるシーケンシャルライトの典型的な手順について、図１２のフローチャートを参照して、図１１のフローチャートと相違する点を中心に説明する。  
シーケンシャルライトの変形例の特徴は、バッファ１７全体のサイズを上記実施形態よりも更に低減することにある。ここでは、バッファ１７のメモリ空間は上記実施形態と異なって２つのメモリ空間に分割されていない。このためバッファ１７のメモリ空間には、バッファ１７Ａ及び１７Ｂは存在しない。つまりバッファ１７には、データＡとデータＢとが混在する。前述したように、データＡの保持期間はＴ1[s]であり、データＢの保持期間は２Ｔ1[s]である。そこでシーケンシャルライトの変形例では、バッファ１７に格納されるセクタデータ毎に、当該セクタデータがデータＡまたはＢのいずれであるかを示すラベルＡまたはＢが貼付される。またバッファ１７のサイズは、上記実施形態よりもＩ2ビット少ないＩ1ビット、つまりデータＡのデータ量とデータＢのデータ量の和であるＩ1ビットである。
【００７８】
まずＨＤＣ２２は、図１１中のステップ１１００〜１１０２に相当するステップ１２００〜１２０２を実行する。ステップ１２０２においてＨＤＣ２２は、ＬＢＡ：Ｘのセクタへのデータライト中に、ディスク１１の半径方向に隣接するＬＢＡ：Ｙのセクタへのデータの上書きが発生したかを判定する。
【００７９】
もし、ステップ１２０２での判定がＮｏであるならば、ＨＤＣ２２はバッファ１７が満たされているかを判定する（ステップ１２０３）。もし、バッファ１７が満たされているならば（ステップ１２０３のＹｅｓ）、ＨＤＣ２２はＬＢＡ：ＸのセクタのデータＤXをバッファ１７に格納するためには、当該バッファ１７からセクタデータをパージする必要があると判断する。そこで、ＨＤＣ２２の判別モジュール２２２は、データＡまたはデータＢのいずれのタイプのセクタデータをパージすべきかを判定するために、ＬＢＡ：Ｘのセクタが、前回ヘッド１２をトラックＸ−１からトラックＸに移動した際に要したシーク・位置決めのための整定時間に対応するかを判定する（ステップ１２０４）。
【００８０】
もし、ステップ１２０４での判定が「Ｎｏ」であるならば、ＨＤＣ２２のバッファコントローラ２２１は、バッファ１７内のラベルＡが貼付されている最古のセクタデータを当該バッファ１７からパージする（ステップ１２０５）。これに対し、ステップ１２０４での判定が「Ｙｅｓ」であるならば、ＨＤＣ２２のバッファコントローラ２２１は、バッファ１７内のラベルＢが貼付されている最古のセクタデータを当該バッファ１７からパージする（ステップ１２０６）。
【００８１】
ＨＤＣ２２は、ステップ１２０５または１２０６が終了すると、ステップ１２０７に進む。一方、バッファ１７が満たされていないならば（ステップ１２０３のＮｏ）、ＨＤＣ２２は、ステップ１２０４〜１２０６をスキップしてステップ１２０７に進む。
【００８２】
ステップ１２０７においてＨＤＣ２２の判別モジュール２２２は、前記ステップ１１０３と同様に、ＬＢＡ：Ｘのセクタが次のシーク・位置決めのための整定時間に対応するかを判定する。もし、ステップ１２０７での判定が「Ｎｏ」であるならば、ＨＤＣ２２はステップ１２０８に進む。このステップ１２０８においてＨＤＣ２２のバッファコントローラ２２１は、データＤX（つまりＬＢＡ：ＸのセクタにライトされたデータＤX）にラベルＡを貼付して、当該ラベルＡが貼付されたデータＤXをバッファ１７にスタックする。
【００８３】
これに対し、ステップ１２０７での判定が「Ｙｅｓ」であるならば、ＨＤＣ２２はステップ１２０９に進む。このステップ１２０９においてＨＤＣ２２のバッファコントローラ２２１は、データＤXにラベルＢを貼付して、当該ラベルＢが貼付されたデータＤXをバッファ１７にスタックする。
【００８４】
ＨＤＣ２２は、ステップ１２０８または１２０９が終了すると、前記ステップ１１１０と同様に、ポインタＸを１インクリメントする（ステップ１２１０）。このインクリメント後のポインタＸがＸＥを超えていないならば（ステップ１２１１のＮｏ）、ＨＤＣ２２はステップ１２０１に戻る。以下、上述した場合と同様の処理が、インクリメント後のポインタＸがＸＥを超えるまで（ステップ１２１１のＹｅｓ）、繰り返される。
【００８５】
やがて、ＬＢＡ：Ｘのセクタへのデータライト中に隣接するＬＢＡ：Ｙのセクタへのデータの上書きが発生したものとする（ステップ１２０２のＹｅｓ）。この場合、ＨＤＣ２２は、ＬＢＡ：ＹのセクタにライトされたデータＤYがバッファ１７に残っているかを判定する（ステップ１２１２）。
【００８６】
もし、ＬＢＡ：ＹのセクタにライトされたデータＤYがバッファ１７に残っているならば（ステップ１２１２のＹｅｓ）、ＨＤＣ２２は、バッファ１７内のデータＤYを、ＬＢＡ：Ｙのセクタに再ライトする（ステップ１２１３）。そしてＨＤＣ２２はステップ１２０１に戻って、ＬＢＡ：ＸのセクタへのデータＤXのライトを再度実行する。これに対し、データＤYがバッファ１７に残っていないならば（ステップ１２１２のＮｏ）。ＨＤＣ２２はホストにエラーを通知して（ステップ１２１４）、シーケンシャルライトを終了する。
【００８７】
上述したように、シーケンシャルライトの変形例は、バッファ１７のメモリ空間を分割してバッファ１７Ａ及び１７Ｂに割り当てる代わりに、当該メモリ空間を適宜ラベルＡ及びＢによって管理することによりデータＡ及びＢを割り当てる構成を適用している。このため、バッファ１７のサイズを、理想的なＩ1に抑えることができる。このようなシーケンシャルライトの変形例によれば、特にＩ2が大きい設計の磁気ディスク装置、つまりシーク・位置決め整定が低速な設計の磁気ディスク装置では、上記実施形態よりも大きなバッファ量の低減効果を実現できる。但し、上記実施形態と異なり、バッファ１７のメモリ空間内のラベルによる動的な管理が必要となる。
【００８８】
次に、本実施形態で適用されるシーケンシャルリードの典型的な手順について、図１３のフローチャートを参照して説明する。ここでは、ＬＢＡ：ＸＳからＬＢＡ：ＸＥの範囲に対応するディスク１１上のセクタ群からデータをシーケンシャルにリードするものとする。シーケンシャルリードでは、前述したシーケンシャルライトと異なり、ＸＳはリード開始データアドレスでありＸＥはリード終了データアドレスである。また、シーケンシャルリードは、シーケンシャルライトと同様に、トラック番号が増加する方向に実行されるものとする。
【００８９】
また、シーケンシャルリードにおいてバッファ１７に一時格納されるデータは、シーケンシャルライトの場合と同様に、データＡとデータＢとの２つのタイプに分類される。データＡ及びデータＢの定義もシーケンシャルライトの場合と同様である。必要ならば、シーケンシャルライトにおけるデータＡとデータＢに関する前述の定義において、「ライト」を「リード」に置き換えられたい。
【００９０】
まずＨＤＣ２２は、リードデータアドレスを指すポインタＸ（ＬＢＡ：Ｘ）をＸＳに初期設定する（ステップ１３００）。次にＨＤＣ２２は、ディスク１１上のＬＢＡ：Ｘのセクタから、Ｒ／Ｗチャネル２１を介してヘッド１２によりデータＤXをリードするための動作を開始する。
【００９１】
まずＨＤＣ２２は、ディスク１１の半径方向でＬＢＡ：Ｘのセクタに隣接するＬＢＡ：ＹのデータＤY（つまり、ＬＢＡ：ＹのセクタからリードされたデータＤY）がバッファ１７内に存在するかを判定する（ステップ１３０１）。ステップ１３０１での判定が「Ｙｅｓ」であるならば、ＨＤＣ２２は、バッファ１７内のデータＤY（つまり、ＬＢＡ：Ｙからリードされたデータ）を利用して、ＬＢＡ：ＸのセクタからデータＤXをリードする（ステップ１３０２）。
【００９２】
即ちＨＤＣ２２は、Ｒ／Ｗチャネル２１を介してヘッド１２によりデータＤX'をリードし、このリードされたデータＤX'に含まれているトラック間干渉の成分をバッファ１７内のデータＤYに基づいてキャンセルする。具体的には、ＨＤＣ２２はサーボコントローラ２３の検出器２３０からヘッド１２の位置ずれ量を取得し、この位置ずれ量に対応した（例えば比例した）係数αが乗じられたデータＤY（つまり、αＤY）をリードされたデータＤX'から差し引くことにより、トラック間干渉がキャンセルされたリードデータＤXを取得する。つまりＨＤＣ２２は、トラック間干渉の成分がキャンセルされたデータを、ＬＢＡ：ＸのセクタからリードされたデータＤXとして取得する。このようなリード動作は、トラック間干渉キャンセルリード（ＩＴＩリード）またはクロストークキャンセルリードと呼ばれる。
【００９３】
これに対し、ステップ１３０１での判定が「Ｎｏ」であるならば、ＨＤＣ２２は、Ｒ／Ｗチャネル２１を介してヘッド１２によりデータをリードし、このリードされたデータを、ＬＢＡ：ＸのセクタからリードされたデータＤXとして取得する（ステップ１３０３）。
【００９４】
ＨＤＣ２２はステップ１３０２または１３０３を実行すると、ステップ１３０４に進む。ステップ１３０４においてＨＤＣ２２は、ステップ１３０２または１３０３で、ＬＢＡ：ＸのセクタからデータＤXを正常にリードできたかを判定する。ここまでの動作は先行技術と同様である。
【００９５】
もし、正常にリードできたならば（ステップ１３０４のＹｅｓ）、ＨＤＣ２２の判別モジュール２２２は、前記ステップ１１０３と同様に、ＬＢＡ：Ｘのセクタが次のシーク・位置決めのための整定時間に対応するかを判定する（ステップ１３０５）。もし、ステップ１３０５での判定が「Ｎｏ」であるならば、ＨＤＣ２２のバッファコントローラ２２１はバッファ１７Ａが満たされているかを判定する（ステップ１３０６）。ステップ１３０６での判定が「Ｙｅｓ」であるならば、バッファコントローラ２２１はバッファ１７Ａ内の最古のセクタデータをパージして（ステップ１３０７）、ステップ１３０８に進む。これに対し、ステップ１３０６での判定が「Ｎｏ」であるならば、バッファコントローラ２２１はステップ１３０７をスキップしてステップ１３０８に進む。ステップ１３０８においてバッファコントローラ２２１は、データＤX（つまりＬＢＡ：Ｘから正常にリードされたデータＤX）を、バッファ１７Ａにスタックする。
【００９６】
一方、ステップ１３０５での判定が「Ｙｅｓ」である場合には、バッファコントローラ２２１はバッファ１７Ｂが満たされているかを判定する（ステップ１３０９）。ステップ１３０９での判定が「Ｙｅｓ」であるならば、バッファコントローラ２２１はバッファ１７Ｂ内の最古のセクタデータをパージして（ステップ１３１０）、ステップ１３１１に進む。これに対し、ステップ１３０９での判定が「Ｎｏ」であるならば、バッファコントローラ２２１はステップ１３１０をスキップしてステップ１３１１に進む。ステップ１３１１においてバッファコントローラ２２１は、データＤXをバッファ１７Ｂにスタックする。
【００９７】
ＨＤＣ２２は、ステップ１３０８または１３１１が終了すると、ポインタＸを１インクリメントする（ステップ１３１２）、そしてＨＤＣ２２は、インクリメント後のポインタＸがＸＥを超えているかを判定する（ステップ１３１３）。もし、ステップ１３１３での判定が「Ｎｏ」であるならば、ＨＤＣ２２はステップ１３０１に戻る。以下、上述した場合と同様の処理が、インクリメント後のポインタＸがＸＥを超えるまで（ステップ１３１３のＹｅｓ）、繰り返される。
【００９８】
一方、ステップ１３０２または１３０３で、ＬＢＡ：ＸのセクタからデータＤXを正常にリードできなかったなら（ステップ１３０４のＮｏ）、ＨＤＣ２２はホストにエラーを通知して（ステップ１３１４）、シーケンシャルリードを終了する。
【００９９】
このように本実施形態によれば、シーケンシャルリードにおける既リードデータを一時格納するためのバッファ領域の確保及び当該バッファ領域の容量の低減に関し、前述のシーケンシャルライトで適用された技術が適用可能である。これにより、瓦リードに代表されるシーケンシャルリードにおいて、ヘッド１２の予期せぬ位置ずれに起因するトラック間干渉をキャンセルするための、バッファ内の既リードデータを利用したデータリードを確実に実現できる。つまり本実施形態によれば、シーク・位置決めのための整定時間にヘッド１２が走行した範囲のセクタのデータのリードを可能とし、且つバッファ１７に保持されるべき既リードデータのデータ量を、先行技術で最低必要としたデータ量（２トラックに相当するデータ量）の１／２程度に削減できる。
【０１００】
＜シーケンシャルリードの変形例＞
次に、上記実施形態の変形例で適用されるシーケンシャルリードの典型的な手順について、図１４のフローチャートを参照して、図１３のフローチャートと相違する点を中心に説明する。  
シーケンシャルリードの変形例の特徴は、前述のシーケンシャルライトの変形例と同様のバッファ管理を適用することで、バッファ１７全体のサイズを上記実施形態よりも更に低減することにある。
【０１０１】
まずＨＤＣ２２は、図１３中のステップ１３００〜１３０４に相当するステップ１４００〜１４０４を実行する。ステップ１４０４においてＨＤＣ２２は、ステップ１４０２または１４０３で、ＬＢＡ：ＸのセクタからデータＤXを正常にリードできたかを判定する。もし、ステップ１４０４での判定が「Ｙｅｓ」であるならば、ＨＤＣ２２はバッファ１７が満たされているかを判定する（ステップ１４０５）。
【０１０２】
もし、バッファ１７が満たされているならば（ステップ１４０５のＹｅｓ）、ＨＤＣ２２の判別モジュール２２２は、前記ステップ１２０４と同様に、ＬＢＡ：Ｘのセクタが、前回ヘッド１２をトラックＸ−１からトラックＸに移動した際に要したシーク・位置決めのための整定時間に対応するかを判定する（ステップ１４０６）。
【０１０３】
もし、ステップ１４０６での判定が「Ｎｏ」であるならば、ＨＤＣ２２のバッファコントローラ２２１は、バッファ１７内のラベルＡが貼付されている最古のセクタデータを当該バッファ１７からパージする（ステップ１４０７）。これに対し、ステップ１４０６での判定が「Ｙｅｓ」であるならば、ＨＤＣ２２のバッファコントローラ２２１は、バッファ１７内のラベルＢが貼付されている最古のセクタデータを当該バッファ１７からパージする（ステップ１４０８）。
【０１０４】
ＨＤＣ２２は、ステップ１４０７または１４０８が終了すると、ステップ１４０９に進む。一方、バッファ１７が満たされていないならば（ステップ１４０５のＮｏ）、ＨＤＣ２２は、ステップ１４０６〜１４０８をスキップしてステップ１４０９に進む。
【０１０５】
ステップ１４０９においてＨＤＣ２２の判別モジュール２２２は、前記ステップ１２０７と同様に、ＬＢＡ：Ｘのセクタが次のシーク・位置決めのための整定時間に対応するかを判定する。もし、ステップ１４０９での判定が「Ｎｏ」であるならば、ＨＤＣ２２はステップ１４１０に進む。このステップ１４１０においてＨＤＣ２２のバッファコントローラ２２１は、データＤX（つまりＬＢＡ：ＸのセクタからリードされたデータＤX）にラベルＡを貼付して、当該ラベルＡが貼付されたデータＤXをバッファ１７にスタックする。
【０１０６】
これに対し、ステップ１４０９での判定が「Ｙｅｓ」であるならば、ＨＤＣ２２はステップ１４１１に進む。このステップ１４１１においてＨＤＣ２２のバッファコントローラ２２１は、データＤXにラベルＢを貼付して、当該ラベルＢが貼付されたデータＤXをバッファ１７にスタックする。
【０１０７】
ＨＤＣ２２は、ステップ１４１０または１４１１が終了すると、前記ステップ１３１２と同様に、ポインタＸを１インクリメントする（ステップ１４１２）。このインクリメント後のポインタＸがＸＥを超えていないならば（ステップ１４１３のＮｏ）。ＨＤＣ２２はステップ１４０１に戻る。以下、上述した場合と同様の処理が、インクリメント後のポインタＸがＸＥを超えるまで（ステップ１４１３のＹｅｓ）、繰り返される。
【０１０８】
一方、ステップ１４０２または１４０３で、ＬＢＡ：ＸのセクタからデータＤXを正常にリードできなかったなら（ステップ１４０４のＮｏ）、ＨＤＣ２２はホストにエラーを通知して（ステップ１４１４）、シーケンシャルリードを終了する。
【０１０９】
このようにシーケンシャルリードの変形例においても、既リードデータを一時格納するためのバッファ領域の確保及び当該バッファ領域の容量の低減に関し、前述のシーケンシャルライトの変形例で適用された技術が適用可能である。これにより、瓦リードに代表されるシーケンシャルリードにおいて、ヘッド１２の予期せぬ位置ずれに起因するトラック間干渉をキャンセルするための、バッファ内の既リードデータを利用したデータリードを確実に実現できる。つまり本実施形態によれば、シーク・位置決めのための整定時間にヘッド１２が走行した範囲のセクタのデータのリードを可能とし、且つバッファ１７に保持されるべき既リードデータのデータ量を、先行技術で最低必要としたデータ量（２トラックに相当するデータ量）の１／２に削減できる。
【０１１０】
以上説明した少なくとも１つの実施形態によれば、シーケンシャルライトにおけるヘッドの予期せぬ位置ずれに伴う再ライトまたはシーケンシャルリードにおけるトラック間干渉のキャンセルを実現しながら、バッファの記憶容量を低減する磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング（バッファ制御）方法を提供することができる。
【０１１１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１２】
１１…ディスク、１２…ヘッド、１３…スピンドルモータ（ＳＰＭ）、１４…アクチュエータ、１７…バッファ、１７Ａ…バッファ（第２のバッファ）、１７Ｂ…バッファ（第１のバッファ）、２０…コントロールユニット、２１…リード／ライト（Ｒ／Ｗ）チャネル、２２…ディスクコントローラ（ＨＤＣ）、２３…サーボコントローラ、１４２…ボイスコイルモータ（ＶＣＭ）、２２１…バッファコントローラ、２２２…判別モジュール、２３０…検出器。
【図１】
0005713926.tif 000002
【図２】
0005713926.tif 000003
【図３】
0005713926.tif 000004
【図４】
0005713926.tif 000005
【図５】
0005713926.tif 000006
【図６】
0005713926.tif 000007
【図７】
0005713926.tif 000008
【図８】
0005713926.tif 000009
【図９】
0005713926.tif 000010
【図１０】
0005713926.tif 000011
【図１１】
0005713926.tif 000012
【図１２】
0005713926.tif 000013
【図１３】
0005713926.tif 000014
【図１４】
0005713926.tif 000015