(57)【要約】【課題】ライトアクセスの回数に応じてエリア構成を変更できるようにして、ディスク記憶装置を提供することにある。【解決手段】トラックリフレッシュ処理を実行する機能を有するディスクドライブ１において、ＣＰＵ２１は、エリア管理テーブルによりディスク１０上のトラック群をエリア単位で管理し、エリア毎にリフレッシュライト動作を実行する。ＣＰＵ２１は、トラックリフレッシュライト動作時に、エリアを分割すると共に、管理エリア数の上限に基づいて複数のエリアを統合するエリア管理処理を実行する。【選択図】      図１
2010152988.tif 000002
【特許請求の範囲】
【請求項１】
ディスク上のトラック群がエリア単位で管理されて、エリア毎にリフレッシュライト動作を実行するトラックリフレッシュ処理手段と、
前記リフレッシュライト動作を実行したエリアを分割し、管理エリア数の上限に基づいて複数のエリアを統合するエリア管理手段と
を具備したことを特徴とするディスク記憶装置。
【請求項２】
エリアのライトアクセス数をカウントし、当該カウント値と規定値との比較結果に基づいて当該エリアに対するトラックリフレッシュ処理が必要か否かを判定する判定手段を有し、
前記トラックリフレッシュ処理手段は、前記トラックリフレッシュ処理が必要であると判定されたエリアに対して前記リフレッシュライト動作を実行するように構成されていることを特徴とする請求項１に記載のディスク記憶装置。
【請求項３】
前記エリア管理手段は、
前記エリアを分割した分割数をカウントし、当該カウント値と管理エリア数の上限との比較結果に基づいて複数のエリアを統合する処理を行なうように構成されていることを特徴とする請求項１または請求項２のいずれか１項に記載のディスク記憶装置。
【請求項４】
前記エリア管理手段は、
前記エリア毎のトラックリフレッシュ処理数をカウントし、当該カウント値と規定値との比較結果に基づいて前記エリアを分割する処理を行なうように構成されていることを特徴とする請求項１から請求項３のいずれか１項に記載のディスク記憶装置。
【請求項５】
前記エリア管理手段は、相対的にライトアクセス数の少ない複数のエリアを統合する処理を行なうように構成されていることを特徴とする請求項１または請求項２のいずれか１項に記載のディスク記憶装置。
【請求項６】
前記エリア管理手段は、
前記トラックリフレッシュ処理を実行するトラック数をエリア単位で管理するためのエリア管理テーブル情報を有し、
前記エリアの分割に応じて管理エリア数が増大し、かつ前記エリアの統括に応じて管理エリア数が減少するように前記エリア管理テーブル情報を更新することを特徴とする請求項１から請求項５のいずれか１項に記載のディスク記憶装置。
【請求項７】
前記エリア管理手段は、
前記エリア管理テーブル情報として、各エリアに割り当てられるエリア番号及び各エリア毎のトラックリフレッシュ処理数を含み、
前記リフレッシュライト動作の実行に応じて前記トラックリフレッシュ処理数を更新し、かつ前記エリアの分割に応じて前記エリア番号を更新するように構成されていることを特徴とする請求項６に記載のディスク記憶装置。
【請求項８】
ディスク上の複数のトラックからなるエリア単位でリフレッシュライト動作を実行するトラックリフレッシュ処理手段を有するディスク記憶装置に適用するエリア管理方法であって、
前記リフレッシュライト動作を実行したエリアを分割する処理と、
管理エリア数の上限に基づいて複数のエリアを統合する処理と
を有するエリア管理方法。
【請求項９】
エリアのライトアクセス数をカウントする処理と、
前記カウント値と規定値との比較結果に基づいて、当該エリアに対するトラックリフレッシュ処理が必要か否かを判定する処理と、
前記トラックリフレッシュ処理が必要であると判定されたエリアに対して、前記リフレッシュライト動作を実行する処理と
をさらに有することを特徴とする請求項８に記載のエリア管理方法。
【請求項１０】
前記エリアを分割した分割数をカウントする処理を有し、
前記統合する処理は、前記カウント値と管理エリア数の上限との比較結果に基づいて、複数のエリアを統合することを特徴とする請求項８または請求項９のいずれか１項に記載のエリア管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク記憶装置に関し、トラックリフレッシュ処理をエリア単位で実行するエリア管理技術に関する。
【背景技術】
【０００２】
一般的に、ハードディスクドライブを代表とするディスク記憶装置（以下、ディスクドライブと表記する場合がある）は、データの記録媒体として同心円状の多数のトラック（又はシリンダ）が構成されるディスクを使用し、磁気ヘッドによりディスク上にデータのリード／ライト動作を実行する。
【０００３】
ディスクドライブには、通常のリード／ライト動作（リード／ライトアクセス）時以外のアイドル中に、トラックリフレッシュ処理を行なう機能を有するものがある。トラックリフレッシュ処理とは、ディスク上において隣接するトラックに漏れ磁束による影響（記録特性の劣化など）を抑制するために、通常では、あるトラック数単位で記録データの再書き込みを行なう処理である（例えば、特許文献１を参照）。この再書き込み動作を、リフレッシュライト動作と呼ぶことがある。
【特許文献１】特開２００７−２４２２０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
トラックリフレッシュ処理は、１トラック単位で管理することも可能であるが、あるトラック数を纏めたエリア単位で管理することが一般的である。即ち、ディスクドライブは、ディスク上のトラック群を均等のトラック数で分割し、当該トラック数が割り当てられたエリア単位でトラックリフレッシュ処理を実行する。
【０００５】
トラックリフレッシュ処理は、各エリアに含まれるトラックに対するライトアクセス（データの書き込み動作）の回数に基づいて、指定の回数だけライトアクセスが実行されると、当該エリアに対するリフレッシュライト動作を実行する。しかしながら、実際のディスクドライブの使用状況では、特定のトラックを含むエリアにライトアクセスが集中する。このため、単に均等のトラック数を割り当てられたエリア単位では、リフレッシュライト動作が集中する特定エリアが発生する。
【０００６】
そこで、本発明の目的は、ライトアクセスの回数に応じてエリア構成を変更できるようにして、トラックリフレッシュ処理の効率を向上できるディスク記憶装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の観点に従ったディスク記憶装置は、ディスク上のトラック群がエリア単位で管理されて、エリア毎にリフレッシュライト動作を実行するトラックリフレッシュ処理手段と、前記リフレッシュライト動作を実行したエリアを分割し、管理エリア数の上限に基づいて複数のエリアを統合するエリア管理手段とを備えた構成である。
【発明の効果】
【０００８】
本発明によれば、ライトアクセスの回数に応じてエリア構成を変更できるようにして、結果としてトラックリフレッシュ処理の効率を向上できる。
【発明を実施するための最良の形態】
【０００９】
以下図面を参照して、本発明の実施形態を説明する。
【００１０】
（ディスクドライブの構成）
図１は、本実施形態に関するディスクドライブ１の要部を示すブロック図である。なお、図１において、細線は制御信号線を意味し、ブロック線はデータ伝送線を意味する。
【００１１】
図１に示すように、ディスクドライブ１は、データ記録媒体であるディスク１０と、当該ディスク１０を回転させるスピンドルモータ（ＳＰＭ）１１と、磁気ヘッド（以下単にヘッドと表記する）１２と、ヘッド１２を搭載しているアクチュエータ１３と、ランプ１５とを有する。
【００１２】
ディスク１０は、ユーザエリアとして多数のトラック（シリンダ）が構成されている。アクチュエータ１３は、ボイスコイルモータ（ＶＣＭ）１４により、ヘッド１２をディスク１０上の半径方向に移動させる。ヘッド１２は、ディスク１０からデータを読み出すためのリードヘッド、及びディスク１０にデータを書き込むためのライトヘッドを有する。ランプ１５は、非動作時にディスク１０から退避させるヘッド１２を保持するための部材である。
【００１３】
さらに、ディスクドライブ１は、ヘッドアンプ１６と、リード／ライトチャネル１７と、ハードディスクコントローラ（ＨＤＣ）１８と、マイクロプロセッサ（ＣＰＵ）２１と、モータドライバ２４とを有する。ヘッドアンプ１６は、ヘッド１２のリードヘッドにより読み出されたリード信号を増幅してリード／ライトチャネル１７に伝送する。また、ヘッドアンプ１６は、リード／ライトチャネル１７から出力されるライトデータをライト電流に変換して、ヘッド１２のライトヘッドに伝送する。
【００１４】
リード／ライトチャネル１７は、リード／ライトデータ信号を処理する信号処理ユニットであり、リード信号から記録データを復調し、またライトデータの変調（符号化）を行なう。ＨＤＣ１８は、ホストシステム（パーソナルコンピュータやディジタル機器）２６とインタフェースバス２５により接続し、ホストシステム２６との間でコマンドやデータの転送を制御する。また、ＨＤＣ１８は、リード／ライトチャネル１７のリード／ライト動作を制御する。
【００１５】
ＣＰＵ２１は、ディスクドライブ１のメインコントローラであり、ヘッド位置決め制御（サーボ制御）を実行する。また、ＣＰＵ２１は、ＨＤＣ１８と連携して後述するトラックリフレッシュ処理を実行する。モータドライバ２４は、ＳＰＭ１１に駆動電流を供給するＳＰＭドライバ及びＶＣＭ１４に駆動電流を供給するＶＣＭドライバを有する。
【００１６】
さらに、ディスクドライブ１は、メモリ群として、バッファメモリ１９と、フラッシュメモリ２０，２２、及びスタティックＲＡＭ２３を有する。バッファメモリ１９は、ホストシステム２６との間で転送されるリード／ライトデータを格納する。フラッシュメモリ２０はデータ保存用メモリである。
【００１７】
（トラックリフレッシュ処理）
以下、図２に示すエリア管理テーブル、及び図３のフローチャートを参照して、本実施形態のトラックリフレッシュ処理を説明する。
【００１８】
本実施形態のディスクドライブ１は、図２に示すエリア管理テーブルにより、ディスク１０上に構成されるトラック群（全トラック数）をあるトラック数に分割し、各トラック数を割り当てた複数のエリア単位で管理する。エリア管理テーブルは、フラッシュメモリ２２又はディスク１０上の特定トラックに格納されている。
【００１９】
エリア管理テーブルは、図２（Ａ）に示すように、例えば均等のトラック数を含む各エリア（４８個）に割り当てたエリア番号（ここでは、０〜４７）を含む。後述するように、各エリアの中で、分割されるエリアのトラック数は、初期時のトラック数から減少（例えば半分）するように変化する。また、統合されるエリアのトラック数は、初期時のトラック数から増大（例えば２倍）するように変化する。
【００２０】
本実施形態では、エリア管理テーブルは、図２（Ｂ）に示すように、エリア番号ごとに、エリア単位のトラックリフレッシュ処理数（リフレッシュライト回数）のカウント値（括弧内の数字）を含む。但し、このカウント値は、後述するように、エリアの分割数と同義であり、本実施形態では分割数として取り扱う場合がある。また、本実施形態の初期状態では、図２（Ｂ）に示すように、エリア数は２４とし、各エリアには０〜２３のエリア番号が割り当てられている。また、初期時には、全てのエリアの分割数は（０）である。一方、図２（Ａ）に示すエリア数は４８は、本実施形態では管理エリア数の上限とする。
【００２１】
ＣＰＵ２１は、ホストシステム２６からディスク１０上のトラックに対して、データを書き込むライトアクセスを実行する度に、該当するエリア毎のライトアクセス数をカウントする（ブロック１００）。ＣＰＵ２１は、当該ライトアクセス数が規定値を超えているか否かを判定し、超えた場合には、当該エリアに対してトラックリフレッシュ処理を実行することを決定する（ブロック１０１のＹＥＳ）。
【００２２】
なお、トラックリフレッシュ処理は、通常のリード／ライト動作（リード／ライトアクセス）時以外のアイドル中に実行する。本実施形態では、通常のリード／ライト動作の説明は省略する。
【００２３】
ここで、図２（Ｂ）に示すエリア番号２のエリアに対するライトアクセス数が規定値を超えた場合、ＣＰＵ２１は、当該エリア（番号２）に対してリフレッシュライト動作を実行する（ブロック１０２）。即ち、最初に当該エリア（番号２）に含まれるトラックから記録データを読み出して一時的に保存し、この読み出されたデータを元のエリアに再書き込みする。
【００２４】
ＣＰＵ２１は、リフレッシュライト動作を実行したときに、図２（Ｃ）に示すように、エリア管理テーブルを更新し、当該エリア（番号２）を分割し、各分割エリアに対してエリア番号２，３を割り当てる（ブロック１０３）。また、ＣＰＵ２１は、分割数（即ち、リフレッシュライト回数）をカウントし、カウント値である分割数（１）をエリア管理テーブルのエリア番号２，３に対応する値としてセットする（ブロック１０４）。
【００２５】
このエリア分割処理により、図２（Ｃ）に示すように、エリア数は２５となり、各エリアには０〜２４のエリア番号が割り当てられている。ここで、ＣＰＵ２１は、分割数、即ちエリア分割により増大したエリア数が、管理エリア数の上限（規定値）であるエリア数４８（図２（Ａ）を参照）に到達しているか否かを判定する（ブロック１０５）。仮に、分割により増大したエリア数が規定値に到達した場合には、後述するように、エリア統合処理を実行する（ブロック１０６）。
【００２６】
以下、図２（Ｄ）から（Ｆ）に示すように、ＣＰＵ２１は、ブロック１０２〜１０５の処理を繰り返す。
【００２７】
即ち、図２（Ｃ）に示すエリア番号２のエリアに対するライトアクセス数が規定値を超えた場合、当該エリア（番号２）に対してリフレッシュライト動作を実行し、エリア分割を行なう。これにより、図２（Ｄ）に示すように、エリア管理テーブルを更新し、当該エリア（番号２）を分割したエリアに対してエリア番号２，３を割り当て、さらに元のエリア番号３のエリアに対してエリア番号４を割り当てる。また、分割数（２）をエリア管理テーブルのエリア番号２，３に対応する値としてセットする。このエリア分割処理により、図２（Ｄ）に示すように、エリア数は２６となり、各エリアには０〜２５のエリア番号が割り当てられている。
【００２８】
同様にして、図２（Ｄ）に示すエリア番号１のエリアに対するライトアクセス数が規定値を超えた場合、当該エリア（番号１）に対してリフレッシュライト動作を実行し、エリア分割を行なう。これにより、図２（Ｅ）に示すように、エリア管理テーブルを更新し、当該エリア（番号１）を分割したエリアに対してエリア番号１，２を割り当て、さらに元のエリア番号２〜４のエリアに対してエリア番号３〜５を割り当てる。また、分割数（１）をエリア管理テーブルのエリア番号１，２に対応する値としてセットする。このエリア分割処理により、図２（Ｅ）に示すように、エリア数は２７となり、各エリアには０〜２６のエリア番号が割り当てられている。
【００２９】
さらに、図２（Ｅ）に示すエリア番号５のエリアに対するライトアクセス数が規定値を超えた場合、当該エリア（番号５）に対してリフレッシュライト動作を実行し、エリア分割を行なう。これにより、図２（Ｆ）に示すように、エリア管理テーブルを更新し、当該エリア（番号５）を分割したエリアに対してエリア番号５，６を割り当て、さらに元のエリア番号６のエリアに対してエリア番号７を割り当てる。また、分割数（２）をエリア管理テーブルのエリア番号５，６に対応する値としてセットする。このエリア分割処理により、図２（Ｆ）に示すように、エリア数は２８となり、各エリアには０〜２７のエリア番号が割り当てられている。
【００３０】
以上のようなエリア分割処理により、図２（Ｇ）に示すように、エリア数が初期状態として設定した管理エリア数の上限（規定値）であるエリア数４８まで分割された状態となる。この状態では、エリア管理テーブルには、管理エリアを格納する空きがなくなり、更新ができなくなる。そこで、ＣＰＵ２１は、エリア統合処理を実行して、複数のエリアを統合して管理エリア数を削減する（ブロック１０６）。
【００３１】
具体的には、図２（Ｇ）に示すエリア番号１６のエリアに対するライトアクセス数が規定値を超えた場合、当該エリア（番号１６）に対してリフレッシュライト動作を実行する。ＣＰＵ２１は、エリア管理テーブルをサーチし、トラックリフレッシュ回数（分割数）の少ない複数のエリアを統合する。但し、分割数０のエリアについては、統合せずに、そのまま維持する。
【００３２】
ここでは、図２（Ｇ）に示すエリア番号０，１の各エリアを統合する。これにより、図２（Ｈ）に示すように、エリア管理テーブルを更新し、統合したエリアに対してエリア番号０を割り当てる。この場合、図２（Ｂ）に示すエリア管理テーブルの初期値は変更しない。この統合処理によりエリア数に空きができたため、図２（Ｇ）に示すエリア番号１６のエリアに対してエリア分割を行なう。これにより、図２（Ｈ）に示すように、エリア管理テーブルを更新し、当該エリア（番号１６）を分割したエリアに対してエリア番号１５，１６を割り当てる。また、分割数（３）をエリア管理テーブルのエリア番号１５，１６に対応する値としてセットする。このエリア分割処理により、図２（Ｈ）に示すように、エリア数は４８となり、各エリアには０〜４７のエリア番号が割り当てられている。
【００３３】
同様にして、図２（Ｈ）に示すエリア番号１４のエリアに対するライトアクセス数が規定値を超えた場合、当該エリア（番号１４）に対してリフレッシュライト動作を実行する。ここでは、図２（Ｈ）に示すエリア番号１２，１３の各エリアを統合する。これにより、図２（Ｉ）に示すように、エリア管理テーブルを更新し、統合したエリアに対してエリア番号１２を割り当てる。
【００３４】
この統合処理によりエリア数に空きができたため、図２（Ｈ）に示すエリア番号１４のエリアに対してエリア分割を行なう。これにより、図２（Ｉ）に示すように、エリア管理テーブルを更新し、当該エリア（番号１４）を分割したエリアに対してエリア番号１３，１４を割り当てる。また、分割数（１）をエリア管理テーブルのエリア番号１３，１４に対応する値としてセットする。このエリア分割処理により、図２（Ｉ）に示すように、エリア数は４８となり、各エリアには０〜４７のエリア番号が割り当てられている。
【００３５】
以上のようなエリアの分割及び統合処理を繰り返すことにより、図２（Ｊ）に示すように、エリア数は４８となり、各エリアには０〜４７のエリア番号が割り当てられたエリア管理テーブルの更新状態となる（ブロック１０７）。ここでは、ホストシステム２６からのライトアクセスの範囲が変化し、特に図２（Ｂ）に示すエリアに対するライトアクセス数が多くなり、分割されたエリア分布が変化している状況が認識できる。
【００３６】
以上のように本実施形態のトラックリフレッシュ処理時のエリア管理方法により、ホストシステムからのライトアクセス回数に応じて、リフレッシュライト動作を実行すると共にエリア分割を実行する。また、エリア分割によりエリア数が管理エリア数の上限を超えないように、エリアの統合処理を実行する。
【００３７】
これにより、ライトアクセス回数に応じて、ディスク上を管理する各エリアのサイズ（トラック数）を変化させて、エリアを細分化することにより、リフレッシュライト動作を実行するエリアの分散化を図ることができる。また、ライトアクセス回数の少ないエリアを統合することにより、リフレッシュライト動作の頻度を抑制することができる。このため、全体としてトラックリフレッシュ処理の効率を向上することが可能となる。換言すれば、ライトアクセス回数が多いエリアのトラック数を減少させて、ライトアクセス回数が少ないエリアのトラック数を増大させることにより、全体としてリフレッシュライト動作の発生頻度を抑制することが可能となる。
【００３８】
なお、本実施形態では、トラックリフレッシュ処理を実行する条件であるライトアクセスの規定回数は、１トラック単位でリフレッシュライト動作を行なう場合に設計された規定値が使用される。
【００３９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態に関するディスクドライブの要部を示すブロック図。
【図２】本実施形態に関するエリア管理テーブルの構成を説明するための図。
【図３】本実施形態に関するトラックリフレッシュ処理を説明するためのフローチャート。
【符号の説明】
【００４１】
１…ディスクドライブ、１０…ディスク、１１…スピンドルモータ（ＳＰＭ）、
１２…磁気ヘッド、１３…アクチュエータ、１４…ボイスコイルモータ（ＶＣＭ）、
１５…ランプ、１６…ヘッドアンプ、１７…リード／ライトチャネル、
１８…ハードディスクコントローラ（ＨＤＣ）、１９…バッファメモリ、
２０，２２…フラッシュメモリ、２１…マイクロプロセッサ（ＣＰＵ）、
２３…スタティックＲＡＭ、２４…モータドライバ、２５…インタフェースバス、
２６…ホストシステム。
【図１】
2010152988.tif 000003
【図２】
2010152988.tif 000004
【図３】
2010152988.tif 000005