(57)【要約】【課題】シングルドライト動作時にドリフトオフライトが発生した場合、トラック上に記録されているデータを確実に保護できるディスク記憶装置を提供することにある。【解決手段】本実施形態によれば、ディスク記憶装置は、ディスク上にデータを書き込むためのヘッドと、記憶デバイスと、ライトモジュールと、コントローラとを備えた構成である。前記記憶デバイスは、前記ヘッドにより書き込み済みのデータを一時的に格納する記憶領域を有する。前記ライトモジュールは、前記ディスク上のトラック群に対して隣接するトラックの一部にデータを重ね書きするライト動作を制御する。前記コントローラは、前記ライト動作の際に前記ヘッドのドリフトオフライトの発生を検出し、前記ドリフトオフライトの範囲を判定し、前記ドリフトオフライトの範囲に書き込み済みデータが含まれる場合に、前記記憶領域に格納されている当該書き込み済みデータを保護対象として確保する処理を実行する。【選択図】図１
2014026689.tif 000002
【特許請求の範囲】
【請求項１】
ディスク上にデータを書き込むためのヘッドと、
前記ヘッドにより書き込み済みのデータを一時的に格納する記憶領域を有する記憶手段と、
前記ディスク上のトラック群に対して隣接するトラックの一部にデータを重ね書きするライト動作を制御するライト手段と、
前記ライト動作の際に前記ヘッドのドリフトオフライトの発生を検出し、
前記ドリフトオフライトの範囲を判定し、
前記ドリフトオフライトの範囲に書き込み済みデータが含まれる場合に、前記記憶領域に格納されている当該書き込み済みデータを保護対象として確保する処理を実行するコントローラと
を具備するディスク記憶装置。
【請求項２】
前記コントローラは、
前記記憶領域である不揮発性キャッシュ領域上で前記書き込み済みデータを保護対象として維持する処理を実行する請求項１に記載のディスク記憶装置。
【請求項３】
前記不揮発性キャッシュ領域は、
前記シングルドライト動作によりデータを記録する前記ディスク上のデータ領域とは異なる記録領域である請求項２に記載のディスク記憶装置。
【請求項４】
前記コントローラは、
前記記憶領域であるバッファ領域上で前記書き込み済みデータを保護対象として維持する処理を実行する請求項１に記載のディスク記憶装置。
【請求項５】
前記コントローラは、
前記記憶領域である前記ディスク上のバックアップ領域上で前記書き込み済みデータを保護対象として維持する処理を実行する請求項１に記載のディスク記憶装置。
【請求項６】
前記コントローラは、
前記ドリフトオフライトの範囲が前記シングルドライト動作中のデータの範囲である場合には、当該データをリライトする請求項１から請求項５のいずれか１項に記載のディスク記憶装置。
【請求項７】
前記コントローラは、
前記シングルドライト動作の際に前記ヘッドの位置決め誤差値を取得し、
前記位置決め誤差値に基づいて、前記ドリフトオフライトの発生を検出し、かつ前記ドリフトオフライトの範囲を判定する請求項１から請求項６のいずれか１項に記載のディスク記憶装置。
【請求項８】
前記コントローラは、
前記バッファ領域上で維持された前記書き込み済みデータを、前記ディスク上に確保された不揮発性キャッシュ領域に書き込む請求項４に記載のディスク記憶装置。
【請求項９】
前記コントローラは、
前記バックアップ領域上で維持された前記書き込み済みデータを、前記ディスク上に確保された不揮発性キャッシュ領域に書き込む請求項５に記載のディスク記憶装置。
【請求項１０】
ディスク上にデータを書き込むヘッド、および前記ディスク上のトラック群に対して隣接するトラックの一部にデータを重ね書きするライト動作を制御する手段を有するディスク記憶装置に適用するデータ保護方法であって、
前記ライト動作の際に前記ヘッドのドリフトオフライトの発生を検出し、
前記ドリフトオフライトの範囲を判定し、
前記ドリフトオフライトの範囲に書き込み済みデータが含まれる場合に、前記ライト動作による書き込み済みのデータを一時的に格納する記憶領域上で当該書き込み済みデータを保護対象として確保する処理を実行するデータ保護方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、シングルドライト方法を適用したディスク記憶装置及びデータ保護方法に関する。
【背景技術】
【０００２】
近年、ハードディスクドライブ（以下、ＨＤＤと表記する場合がある）を代表とするディスク記憶装置の分野では、高記録容量化を実現する技術として、いわゆるシングルドライト（shingled write）方法やＳＭＲ（shingled write magnetic recording）方法と呼ばれるデータ書き込み技術が開発されている。以下、このような方法をシングルドライト方法と表記する。
【０００３】
シングルドライト方法は、ディスク上のトラック単位でデータを書き込む際に、当該トラックを隣接トラックの一部に重ねて書き込む書き込み方法である。シングルドライト方法によりデータの書き込み処理が行われる際に、ヘッドの位置が書き込み対象トラックの中心から外れた状態で書き込むドリフトオフライト（drift off write）と呼ばれる事態が発生することがある。ドリフトオフはトラックオフ（track off）とほぼ同義である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２４５５７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
シングルドライト動作時にドリフトオフライトが発生すると、データが記録されているトラック上にオーバーライトされるため、トラック上に記録されているデータの品質が低下する可能性がある。このような場合には、いわゆるリフレッシュ処理（またはリライト処理）を実行する方法がある。しかしながら、トラック上に記録されたデータが消去された場合には、そのデータを読み出して退避させる処理を含むリフレッシュ処理は実行できない。
【０００６】
そこで、本発明の目的は、シングルドライト動作時にドリフトオフライトが発生した場合、トラック上に記録されているデータを確実に保護できるディスク記憶装置を提供することにある。
【課題を解決するための手段】
【０００７】
本実施形態によれば、ディスク記憶装置は、ディスク上にデータを書き込むためのヘッドと、記憶手段と、ライト手段と、記憶手段と、コントローラとを備えた構成である。前記記憶手段は、前記ヘッドにより書き込み済みのデータを一時的に格納する記憶領域を有する。前記ライト手段は、前記ディスク上のトラック群に対して隣接するトラックの一部にデータを重ね書きするライト動作を制御する。前記コントローラは、前記ライト動作の際に前記ヘッドのドリフトオフライトの発生を検出し、前記ドリフトオフライトの範囲を判定し、前記ドリフトオフライトの範囲に書き込み済みデータが含まれる場合に、前記記憶領域に格納されている当該書き込み済みデータを保護対象として確保する処理を実行する。
【図面の簡単な説明】
【０００８】
【図１】実施形態に関するディスク記憶装置の構成を説明するためのブロック図。
【図２】実施形態に関するデータ保護処理を説明するための図。
【図３】実施形態に関するデータ保護処理を説明するための図。
【図４】実施形態に関するデータ保護処理を説明するための図。
【図５】実施形態に関するデータ保護処理を説明するための図。
【図６】実施形態に関するデータ保護処理を説明するための図。
【図７】実施形態の第１の変形例を説明するための図。
【図８】実施形態に関するデータ保護処理を説明するためのフローチャート。
【図９】実施形態の第２の変形例を説明するためのフローチャート。
【発明を実施するための形態】
【０００９】
以下図面を参照して、実施形態を説明する。
【００１０】
［ディスクドライブの構成］
図１は、本実施形態に関するディスク記憶装置の要部を示すブロック図である。以下、ディスク記憶装置をディスクドライブと表記する場合がある。
【００１１】
図１に示すように、ディスクドライブ１は大別して、ヘッド・ディスクアセンブリ（head-disk assembly：ＨＤＡ）、ヘッドアンプ集積回路（以下、ヘッドアンプＩＣ）７と、ハードディスクコントローラ（ＨＤＣ）１０とから構成されている。
【００１２】
ＨＤＡは、記録媒体であるディスク２と、スピンドルモータ（ＳＰＭ）３と、ヘッド６を搭載しているアーム４と、ボイスコイルモータ（ＶＣＭ）５とを有する。ディスク２は、スピンドルモータ３より回転される。アーム４とＶＣＭ５はアクチュエータを構成している。アクチュエータは、ＶＣＭ５の駆動によりアーム４に搭載されているヘッド６をディスク２上の指定の位置まで移動制御する。ヘッド６はスライダを本体として、当該スライダに実装されているライトヘッド及びリードヘッドを有する。リードヘッドは、ディスク２上のトラックに記録されているデータ（位置決め制御に必要なサーボデータを含む）を読み出す。ライトヘッドはディスク２上にデータを書き込む。本実施形態では、ＨＤＣ（以下コントローラと表記する場合がある）１０の制御により、ライトヘッドはシングルドライト動作によりディスク２上にデータを書き込む。
【００１３】
ヘッドアンプＩＣ７はリードアンプ及びライトドライバを有する。リードアンプは、リードヘッドにより読み出されたリード信号を増幅して、リード／ライト（Ｒ／Ｗ）チャネル１１に伝送する。一方、ライトドライバは、Ｒ／Ｗチャネル１１から出力されるライトデータに応じたライト電流をライトヘッドに伝送する。
【００１４】
コントローラ１０は、Ｒ／Ｗチャネル１１と、マイクロプロセッサ（ＭＰＵ）１２と、インターフェースコントローラ１３と、メモリ１４とを含む１チップの集積回路から構成されている。メモリ１４はＲＡＭ（random access memory）及びＲＯＭ（read only memory）である。なお、コントローラ１０は、不揮発性メモリであるフラッシュメモリ１５を含む構成でもよい。
【００１５】
Ｒ／Ｗチャネル１１は、リードデータの信号処理を実行するリードチャネルと、ライトデータの信号処理を実行するライトチャネルとを含む。ＭＰＵ１２はドライブ１のメインコントローラであり、本実施形態のシングルドライト動作に必要なヘッド６の位置決め制御、及びドリフトオフライト時のデータ保護処理を実行する。
【００１６】
インターフェースコントローラ１３は、ホスト（例えばパーソナルコンピュータのインターフェース）１７とＲ／Ｗチャネル１１との間のデータ転送を制御する。インターフェースコントローラ１３はバッファメモリ１６を制御して、リードデータ及びライトデータをバッファメモリ１６に一時的に格納することでデータ転送制御を実行する。バッファメモリ１６はＤＲＡＭ（dynamic random access memory）である。
【００１７】
［書き込み制御］
以下、図２から図９までを参照して、本実施形態のシングルドライト動作での書き込み制御で、特にドリフトオフライトの発生に伴うデータ保護処理を説明する。
【００１８】
先ず、シングルドライト方法を採用するディスクドライブ１では、ディスク２上に不揮発性キャッシュ領域を確保する場合が多い。なお、不揮発性キャッシュ領域は、フラッシュメモリ１５に設定された領域でもよい。
【００１９】
コントローラ１０は、ホスト１７からライトコマンド（ライト要求）に伴うデータを受信してバッファメモリ１６に格納し、このバッファメモリ１６からディスク２上の不揮発性キャッシュ領域に書き込む。コントローラ１０は、例えばホスト１７からのコマンドが一定時間以上来ない場合に、不揮発性キャッシュ領域からデータを読み出してディスク２上に書き込む。この場合、ディスク２上のユーザデータ領域に対して、シングルドライト動作により書き込まれる。
【００２０】
具体的には、図２（Ａ）に示すように、コントローラ１０は、ディスク２上のバンド領域の指定のアドレス（論理アドレス）Ｍにデータを書き込む。バンド領域はシングルドライトのライト単位である複数のトラック２０を含む領域である。ここで、アドレスＭ［nt,ns］に書き込むデータをデータＭと表記する。ntはトラック番号であり、nsはセクタ番号である。なお、Ｍ１は、データＭと同一バンド領域の隣接トラックに含まれる隣接データである。
【００２１】
次に、図８のフローチャートを参照して、ドリフトオフライトの発生に伴うデータ保護処理を具体的に説明する。
【００２２】
コントローラ１０は、シングルドライトによりデータＭを書き込む場合に、ＭＰＵ１２によりヘッド６をデータＭを有するトラックの中心近傍を目標位置として位置決めする。この場合、ＭＰＵ１２は、データＭの位置での位置誤差信号（ＰＥＳ：Position Error Signal）の値（以下ＰＥＳ値）Ｘを取得する（ブロック８００）。ＰＥＳ値Ｘがゼロであれば、ヘッド（ライトヘッド）６はデータＭを有するトラックの中心近傍を目標位置として位置決めされている。ＭＰＵ１２は、ＰＥＳ値Ｘを評価することでヘッド６のドリフトオフ発生を判定する。
【００２３】
具体的には、図２（Ａ）〜（Ｃ）に示すように、ヘッド６の位置（以下ヘッド位置と表記する）６０が当該トラックの中心線から外れていく変化がドリフトオフである。ここで、ＭＰＵ１２は、予めメモリ１４に用意された２つの閾値ｄ１、ｄ２を使用して、データ保護処理の内容を決定する判定を実行する。なお、閾値ｄ１、ｄ２は、「ｄ１≦ｄ２」の関係がある。
【００２４】
ＭＰＵ１２はＰＥＳ値Ｘの絶対値と閾値ｄ１とを比較する（ブロック８０１）。ＭＰＵ１２は、ＰＥＳ値Ｘがｄ１より小さい場合には、ドリフトオフが許容範囲内であると判定する。従って、コントローラ１０は、シングルドライト動作を継続する（ブロック８０１のＮＯ，８０７）。一方、ＭＰＵ１２は、ＰＥＳ値Ｘの絶対値がｄ１より大きい場合にはライト中のデータがトラック中心より外れているために、データＭのデータ品質が悪化していると判定する（ブロック８０１のＹＥＳ）。この場合、後述するように、ＰＥＳ値Ｘが閾値ｄ２より小さい場合である（ブロック８０２のＮＯ）。コントローラ１０は、ＭＰＵ１２によりヘッド６の位置決め制御を再実行し、当該トラックの中心にデータＭの書き直し（リライト）を実行する（ブロック８０６）。これより、データＭはリフレッシュされることになり、データ品質の悪化を回避できる。
【００２５】
次に、ＭＰＵ１２は、ＰＥＳ値Ｘが閾値ｄ２より大きい場合には、隣接データにデータＭの一部がオーバーライトされて、隣接データのデータ品質が低下する可能性があると判定する（ブロック８０２のＹＥＳ）。ここで、閾値ｄ２のマイナス符号は、図２（Ｃ）に示すように、シングルドライト方向での逆方向のドリフトオフ方向を意味する。一方、図２（Ｂ）は、シングルドライト方向での順方向のドリフトオフ方向を示す。
【００２６】
図２（Ｂ）に示すように、ＰＥＳ値Ｘの方向がシングルドライト方向での順方向の場合には、コントローラ１０は、閾値ｄ２を上回ったドリフトオフ発生の場合でも、隣接データを保護対象とせずに、データＭの書き直し（リライト）を実行する（ブロック８０２のＮＯ，８０６）。
【００２７】
図２（Ｃ）に示すように、ＰＥＳ値Ｘの方向がシングルドライト方向の逆方向の場合で、ＰＥＳ値Ｘが閾値ｄ２を上回るドリフトオフ発生では、隣接データＭ１にはデータＭの一部がオーバーライトされている可能性が高い。そこで、ＭＰＵ１２は、ドリフトオフ発生に応じて隣接データＭ１を保護対象とする（ブロック８０２のＹＥＳ）。ここで、コントローラ１０はシングルドライトを実行する場合に、現在ライト中のトラックのデータを１つ前のトラック上にオーバーライトする。このため、コントローラ１０は、その１つ前のトラックに書き込まれたデータを、例えばディスク２上の不揮発性キャッシュ領域またはバッファメモリ１６上に保持している。
【００２８】
ＭＰＵ１２は、隣接データＭ１を保護対象として決定すると、そのアドレスをＭ［nt-1,ns］として特定する（ブロック８０３）。nt-1はトラック番号であり、nsはセクタ番号である。ここで、隣接データＭ１を論理アドレスＬ１で指定されるデータＬ１で表す。ＭＰＵ１２は、ディスク２上の不揮発性キャッシュ領域を検索し、データＬ１が格納されているか否かを判定する（ブロック８０４）。
【００２９】
データＬ１が格納されている場合には、ＭＰＵ１２は、不揮発性キャッシュ領域の管理情報を維持することで、不揮発性キャッシュ領域上で隣接データＭ１を保護する（ブロック８０５）。即ち、ＭＰＵ１２は、不揮発性キャッシュ領域の管理テーブルから論理アドレスＬ１を削除せずに、データＬ１（即ち、隣接データＭ１）を不揮発性キャッシュ領域上で維持する。具体的には、図３（Ｂ）に示すように、不揮発性キャッシュ領域２００には、隣接データＭ１に対応するデータＬ１を含むデータ２００Ｌが確保されている。
【００３０】
図３（Ｃ）に示すように、コントローラ１０は、不揮発性キャッシュ領域２００からデータ２００Ｌをマージしながら読み出し、ディスク２上のバンド領域にシングルドライト（SMR Flush）により書き戻すことができる。なお、この場合には、図３（Ａ）に示すように、バッファメモリ１６上のバッファ領域１００にはデータＬ１は格納されていない。
【００３１】
次に、ＭＰＵ１２は、ディスク２上の不揮発性キャッシュ領域には格納されていない場合（ブロック８０４のＮＯ）、バッファメモリ１６上にデータＬ１が格納されているか否かを判定する（ブロック８０８）。データＬ１がバッファメモリ１６上には格納されていない場合、コントローラ１０は、ディスク２上の一時退避領域であるバックアップ領域からデータＬ１を読み出す（ブロック８０８のＮＯ，８１０）。
【００３２】
具体的には、図４（Ｃ）に示すように、コントローラ１０は、ディスク２上のバックアップ領域３００のトラック２０ＡからデータＬ１を読み出す。さらに、図４（Ａ），（Ｂ）に示すように、コントローラ１０は、バッファメモリ１６上のバッファ領域１００に一時的に格納し、このバッファ領域１００から不揮発性キャッシュ領域２００に格納する（ブロック８０９）。これにより、不揮発性キャッシュ領域２００上において、隣接データＭ１に対応するデータＬ１を保護することができる。なお、図４（Ｃ），（Ｄ）に示すように、コントローラ１０は、バッファ領域１００に格納されているトラック２０Ａ〜２０Ｃ毎のデータを順次、シングルドライトによりディスク２上のバンド領域に書き移す。
【００３３】
図５（Ｃ）は、データＬ１がディスク２上の元のバンド領域に格納されている場合を示す図である。この場合、図５（Ａ），（Ｂ）に示すように、コントローラ１０は、ディスク２上の元のバンド領域から読み出したデータＬ１をバッファ領域１００に一時的に格納し、このバッファ領域１００から不揮発性キャッシュ領域２００に格納する。これにより、不揮発性キャッシュ領域２００において、隣接データＭ１に対応するデータＬ１を保護することができる。なお、図５（Ｃ），（Ｄ）に示すように、コントローラ１０は、元のバンド領域から目標のバンド領域に対して、データＬ１を含むトラックのデータをシングルドライト（SMR Flush）により書き戻すことができる。
【００３４】
また、コントローラ１０は、バッファメモリ１６上にデータＬ１が格納されている場合、バッファメモリ１６上のバッファ領域からデータＬ１を読み出して不揮発性キャッシュ領域２００に格納する（ブロック８０８のＹＥＳ，８０９）。これにより、不揮発性キャッシュ領域２００上において、隣接データＭ１に対応するデータＬ１を保護することができる。
【００３５】
具体的には、図６（Ａ），（Ｂ）に示すように、コントローラ１０は、バッファメモリ１６上のバッファ領域１００からデータＬ１を読み出して不揮発性キャッシュ領域２００に格納する。ここで、図６（Ａ），（Ｃ）に示すように、コントローラ１０は、バッファ領域１００から読み出したデータＬ１を、不揮発性キャッシュ領域２００に格納せずに、シングルドライトによりディスク２上のバンド領域に直接的に書き込む処理でもよい。即ち、コントローラ１０は、不揮発性キャッシュ領域２００を使用せずに、ホスト１７からダイレクトにディスク２上のバンド領域にシングルドライトを実行するダイレクトライト（ＤＷ）動作を実行する。この場合、ホスト１７から転送されたデータは、シングルドライトを実行するトラックの１つ前のトラックのデータをバッファ領域１００に保持する制御が必要である。
【００３６】
以上のように本実施形態によれば、シングルドライト動作におけるライト対象のトラック順位を考慮した隣接データの保護が可能となる。即ち、シングルドライト動作時にドリフトオフライトが発生した際に、その隣接トラックに含まれる隣接データの状態をドリフトオフライトの方向と大きさ（閾値ｄ１，ｄ２）に応じて評価する。この評価により、コントローラ１０は、ドリフトオフライトによりオーバーライトされた隣接データの場合には、バッファメモリ１６上のバッファ領域１００、不揮発性キャッシュ領域２００またはディスク２上のバックアップ領域３００のいずれかに格納された隣接データＭ１に対応するデータＬ１を確保する。これにより、オーバーライトにより品質が低下したデータを使用せずに、結果的にデータの保護を実現することができる。
【００３７】
［第１の変形例］
図７（Ａ）〜（Ｄ）は、本実施形態の変形例を説明するための図である。
【００３８】
図７（Ｃ）に示すように、本変形例は、ディスク２上のバックアップ領域３００において、保護対象のデータＬ１を含むトラック２０Ａのデータが格納されている場合である。ここで、図７（Ｃ），（Ｄ）に示すように、コントローラ１０は、バッファ領域１００に格納されているトラック２０Ａ，２０Ｂのデータを順次、シングルドライトによりディスク２上のバンド領域に書き移す。この場合、図７（Ａ）に示すように、シングルドライトにより現在トラック２０Ｂのデータ１００Ｂをライト中には、その１つ前のトラック２０Ａのデータ１００Ａがバッファメモリ１６上のバッファ領域１００に保持されている。これにより、図７（Ａ），（Ｂ）に示すように、コントローラ１０は、バッファ領域１００から保護対象のデータＬ１を読み出して不揮発性キャッシュ領域２００に格納する。これにより、不揮発性キャッシュ領域２００上において、隣接データＭ１に対応するデータＬ１を保護することができる。
【００３９】
このような本変形例の方法であれば、図７（Ｄ）に示すように、データＭ１に対するドリフトオフライトが発生した際に、コントローラ１０は、バックアップ領域３００から保護対象のデータＬ１を読み出す処理を省略できる。バックアップ領域３００から保護対象のデータＬ１を読み出して、バッファ領域１００を経由して不揮発性キャッシュ領域２００に格納するまで、相対的に相当の処理時間を要する。このため、シングルドライトにより現在トラック２０Ｂのデータ１００Ｂのライトが完了するまで、その１つ前のトラック２０Ａのデータ１００Ａをバッファメモリ１６上のバッファ領域１００に維持する。これにより、データＭ１に対するドリフトオフライトが発生した際に、バッファ領域１００から保護対象のデータＬ１を読み出すことができるため、高速にデータ保護を行なうことが可能となる。
【００４０】
［第２の変形例］
図９は、本実施形態の変形例を説明するためのフローチャートである。
【００４１】
本変形例は、図８に示す本実施形態のデータ保護処理の手順において、ライト中のデータの判定・リライト処理と、隣接データの判定・保護処理とを分離する場合の構成である。
【００４２】
即ち、図９は、ライト中のデータの判定・リライト処理を示すフローチャートである。また、隣接データの判定・保護処理は、図８のフローチャートで示すブロック８０２〜８１０までの処理である。従って、隣接データの判定・保護処理については説明を省略する。
【００４３】
図９に示すように、ＭＰＵ１２は、データＭの位置でのＰＥＳ値Ｘを取得する（ブロック９００）。ＭＰＵ１２はＰＥＳ値Ｘの絶対値と閾値ｄ１とを比較する（ブロック９０１）。ＭＰＵ１２は、ＰＥＳ値Ｘの絶対値がｄ１より大きい場合にはライト中のデータＭの書き直し（リライト）を実行する（ブロック９０１のＹＥＳ，９０２）。この場合、リトライ処理を繰り返し、バンド領域の終端までの処理を完了する。なお、ＭＰＵ１２は、ＰＥＳ値Ｘの絶対値がｄ１より小さい場合にはドリフトオフが許容範囲内であるため、データＭのリライトを実行しない（ブロック９０１のＮＯ）。
【００４４】
次に、ＭＰＵ１２は、ＰＥＳ値Ｘ、ライト中のデータＭの隣接データＭ１のアドレスＭ［nt-1,ns］）をメモリ１４に記憶する（ブロック９０３）。さらに、ＭＰＵ１２は、必要であれば、例えばバッファメモリ１６上のバッファ領域１００に格納されている隣接データＭ１を維持し、またはディスク２上のバックアップ領域３００から読み出して不揮発性キャッシュ領域２００に格納して隣接データＭ１を確保する（ブロック９０４）。なお、ＰＥＳ値Ｘの絶対値がｄ１より小さい場合には、ＭＰＵ１２は、ブロック９０３，９０４の処理を省略してもよい。
【００４５】
本変形例によれば、ライト中のデータの判定・リライト処理と、隣接データの判定・保護処理とを分離することにより、コントローラ１０の処理の自由度を向上させることができる。また、保護対象の隣接データが複数ある場合でも、不揮発性キャッシュ領域２００へのライト処理を一括で行うことが可能となるため、データ保護処理でのオーバーヘッドを削減する事が可能となる。
【００４６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４７】
１…ディスクドライブ、２…ディスク、３…スピンドルモータ（ＳＰＭ）、
４…アーム、５…ボイスコイルモータ（ＶＣＭ）、６…ヘッド、７…ヘッドアンプＩＣ、
１０…ディスクコントローラ（ＨＤＣ）、１１…Ｒ／Ｗチャネル、
１２…マイクロプロセッサ（ＭＰＵ）、１３…インターフェースコントローラ、
１４…メモリ、１５…フラッシュメモリ、１６…バッファメモリ、１７…ホスト、
１００…バッファ領域、２００…不揮発性キャッシュ領域、
３００…バックアップ領域。
【図１】
2014026689.tif 000003
【図２】
2014026689.tif 000004
【図３】
2014026689.tif 000005
【図４】
2014026689.tif 000006
【図５】
2014026689.tif 000007
【図６】
2014026689.tif 000008
【図７】
2014026689.tif 000009
【図８】
2014026689.tif 000010
【図９】
2014026689.tif 000011