説明

ディスク記憶装置及びエリア管理方法

【課題】ライトアクセスの回数に応じてエリア構成を変更できるようにして、ディスク記憶装置を提供することにある。
【解決手段】トラックリフレッシュ処理を実行する機能を有するディスクドライブ1において、CPU21は、エリア管理テーブルによりディスク10上のトラック群をエリア単位で管理し、エリア毎にリフレッシュライト動作を実行する。CPU21は、トラックリフレッシュライト動作時に、エリアを分割すると共に、管理エリア数の上限に基づいて複数のエリアを統合するエリア管理処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスク記憶装置に関し、トラックリフレッシュ処理をエリア単位で実行するエリア管理技術に関する。
【背景技術】
【0002】
一般的に、ハードディスクドライブを代表とするディスク記憶装置(以下、ディスクドライブと表記する場合がある)は、データの記録媒体として同心円状の多数のトラック(又はシリンダ)が構成されるディスクを使用し、磁気ヘッドによりディスク上にデータのリード/ライト動作を実行する。
【0003】
ディスクドライブには、通常のリード/ライト動作(リード/ライトアクセス)時以外のアイドル中に、トラックリフレッシュ処理を行なう機能を有するものがある。トラックリフレッシュ処理とは、ディスク上において隣接するトラックに漏れ磁束による影響(記録特性の劣化など)を抑制するために、通常では、あるトラック数単位で記録データの再書き込みを行なう処理である(例えば、特許文献1を参照)。この再書き込み動作を、リフレッシュライト動作と呼ぶことがある。
【特許文献1】特開2007−242207号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
トラックリフレッシュ処理は、1トラック単位で管理することも可能であるが、あるトラック数を纏めたエリア単位で管理することが一般的である。即ち、ディスクドライブは、ディスク上のトラック群を均等のトラック数で分割し、当該トラック数が割り当てられたエリア単位でトラックリフレッシュ処理を実行する。
【0005】
トラックリフレッシュ処理は、各エリアに含まれるトラックに対するライトアクセス(データの書き込み動作)の回数に基づいて、指定の回数だけライトアクセスが実行されると、当該エリアに対するリフレッシュライト動作を実行する。しかしながら、実際のディスクドライブの使用状況では、特定のトラックを含むエリアにライトアクセスが集中する。このため、単に均等のトラック数を割り当てられたエリア単位では、リフレッシュライト動作が集中する特定エリアが発生する。
【0006】
そこで、本発明の目的は、ライトアクセスの回数に応じてエリア構成を変更できるようにして、トラックリフレッシュ処理の効率を向上できるディスク記憶装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明の観点に従ったディスク記憶装置は、ディスク上のトラック群がエリア単位で管理されて、エリア毎にリフレッシュライト動作を実行するトラックリフレッシュ処理手段と、前記リフレッシュライト動作を実行したエリアを分割し、管理エリア数の上限に基づいて複数のエリアを統合するエリア管理手段とを備えた構成である。
【発明の効果】
【0008】
本発明によれば、ライトアクセスの回数に応じてエリア構成を変更できるようにして、結果としてトラックリフレッシュ処理の効率を向上できる。
【発明を実施するための最良の形態】
【0009】
以下図面を参照して、本発明の実施形態を説明する。
【0010】
(ディスクドライブの構成)
図1は、本実施形態に関するディスクドライブ1の要部を示すブロック図である。なお、図1において、細線は制御信号線を意味し、ブロック線はデータ伝送線を意味する。
【0011】
図1に示すように、ディスクドライブ1は、データ記録媒体であるディスク10と、当該ディスク10を回転させるスピンドルモータ(SPM)11と、磁気ヘッド(以下単にヘッドと表記する)12と、ヘッド12を搭載しているアクチュエータ13と、ランプ15とを有する。
【0012】
ディスク10は、ユーザエリアとして多数のトラック(シリンダ)が構成されている。アクチュエータ13は、ボイスコイルモータ(VCM)14により、ヘッド12をディスク10上の半径方向に移動させる。ヘッド12は、ディスク10からデータを読み出すためのリードヘッド、及びディスク10にデータを書き込むためのライトヘッドを有する。ランプ15は、非動作時にディスク10から退避させるヘッド12を保持するための部材である。
【0013】
さらに、ディスクドライブ1は、ヘッドアンプ16と、リード/ライトチャネル17と、ハードディスクコントローラ(HDC)18と、マイクロプロセッサ(CPU)21と、モータドライバ24とを有する。ヘッドアンプ16は、ヘッド12のリードヘッドにより読み出されたリード信号を増幅してリード/ライトチャネル17に伝送する。また、ヘッドアンプ16は、リード/ライトチャネル17から出力されるライトデータをライト電流に変換して、ヘッド12のライトヘッドに伝送する。
【0014】
リード/ライトチャネル17は、リード/ライトデータ信号を処理する信号処理ユニットであり、リード信号から記録データを復調し、またライトデータの変調(符号化)を行なう。HDC18は、ホストシステム(パーソナルコンピュータやディジタル機器)26とインタフェースバス25により接続し、ホストシステム26との間でコマンドやデータの転送を制御する。また、HDC18は、リード/ライトチャネル17のリード/ライト動作を制御する。
【0015】
CPU21は、ディスクドライブ1のメインコントローラであり、ヘッド位置決め制御(サーボ制御)を実行する。また、CPU21は、HDC18と連携して後述するトラックリフレッシュ処理を実行する。モータドライバ24は、SPM11に駆動電流を供給するSPMドライバ及びVCM14に駆動電流を供給するVCMドライバを有する。
【0016】
さらに、ディスクドライブ1は、メモリ群として、バッファメモリ19と、フラッシュメモリ20,22、及びスタティックRAM23を有する。バッファメモリ19は、ホストシステム26との間で転送されるリード/ライトデータを格納する。フラッシュメモリ20はデータ保存用メモリである。
【0017】
(トラックリフレッシュ処理)
以下、図2に示すエリア管理テーブル、及び図3のフローチャートを参照して、本実施形態のトラックリフレッシュ処理を説明する。
【0018】
本実施形態のディスクドライブ1は、図2に示すエリア管理テーブルにより、ディスク10上に構成されるトラック群(全トラック数)をあるトラック数に分割し、各トラック数を割り当てた複数のエリア単位で管理する。エリア管理テーブルは、フラッシュメモリ22又はディスク10上の特定トラックに格納されている。
【0019】
エリア管理テーブルは、図2(A)に示すように、例えば均等のトラック数を含む各エリア(48個)に割り当てたエリア番号(ここでは、0〜47)を含む。後述するように、各エリアの中で、分割されるエリアのトラック数は、初期時のトラック数から減少(例えば半分)するように変化する。また、統合されるエリアのトラック数は、初期時のトラック数から増大(例えば2倍)するように変化する。
【0020】
本実施形態では、エリア管理テーブルは、図2(B)に示すように、エリア番号ごとに、エリア単位のトラックリフレッシュ処理数(リフレッシュライト回数)のカウント値(括弧内の数字)を含む。但し、このカウント値は、後述するように、エリアの分割数と同義であり、本実施形態では分割数として取り扱う場合がある。また、本実施形態の初期状態では、図2(B)に示すように、エリア数は24とし、各エリアには0〜23のエリア番号が割り当てられている。また、初期時には、全てのエリアの分割数は(0)である。一方、図2(A)に示すエリア数は48は、本実施形態では管理エリア数の上限とする。
【0021】
CPU21は、ホストシステム26からディスク10上のトラックに対して、データを書き込むライトアクセスを実行する度に、該当するエリア毎のライトアクセス数をカウントする(ブロック100)。CPU21は、当該ライトアクセス数が規定値を超えているか否かを判定し、超えた場合には、当該エリアに対してトラックリフレッシュ処理を実行することを決定する(ブロック101のYES)。
【0022】
なお、トラックリフレッシュ処理は、通常のリード/ライト動作(リード/ライトアクセス)時以外のアイドル中に実行する。本実施形態では、通常のリード/ライト動作の説明は省略する。
【0023】
ここで、図2(B)に示すエリア番号2のエリアに対するライトアクセス数が規定値を超えた場合、CPU21は、当該エリア(番号2)に対してリフレッシュライト動作を実行する(ブロック102)。即ち、最初に当該エリア(番号2)に含まれるトラックから記録データを読み出して一時的に保存し、この読み出されたデータを元のエリアに再書き込みする。
【0024】
CPU21は、リフレッシュライト動作を実行したときに、図2(C)に示すように、エリア管理テーブルを更新し、当該エリア(番号2)を分割し、各分割エリアに対してエリア番号2,3を割り当てる(ブロック103)。また、CPU21は、分割数(即ち、リフレッシュライト回数)をカウントし、カウント値である分割数(1)をエリア管理テーブルのエリア番号2,3に対応する値としてセットする(ブロック104)。
【0025】
このエリア分割処理により、図2(C)に示すように、エリア数は25となり、各エリアには0〜24のエリア番号が割り当てられている。ここで、CPU21は、分割数、即ちエリア分割により増大したエリア数が、管理エリア数の上限(規定値)であるエリア数48(図2(A)を参照)に到達しているか否かを判定する(ブロック105)。仮に、分割により増大したエリア数が規定値に到達した場合には、後述するように、エリア統合処理を実行する(ブロック106)。
【0026】
以下、図2(D)から(F)に示すように、CPU21は、ブロック102〜105の処理を繰り返す。
【0027】
即ち、図2(C)に示すエリア番号2のエリアに対するライトアクセス数が規定値を超えた場合、当該エリア(番号2)に対してリフレッシュライト動作を実行し、エリア分割を行なう。これにより、図2(D)に示すように、エリア管理テーブルを更新し、当該エリア(番号2)を分割したエリアに対してエリア番号2,3を割り当て、さらに元のエリア番号3のエリアに対してエリア番号4を割り当てる。また、分割数(2)をエリア管理テーブルのエリア番号2,3に対応する値としてセットする。このエリア分割処理により、図2(D)に示すように、エリア数は26となり、各エリアには0〜25のエリア番号が割り当てられている。
【0028】
同様にして、図2(D)に示すエリア番号1のエリアに対するライトアクセス数が規定値を超えた場合、当該エリア(番号1)に対してリフレッシュライト動作を実行し、エリア分割を行なう。これにより、図2(E)に示すように、エリア管理テーブルを更新し、当該エリア(番号1)を分割したエリアに対してエリア番号1,2を割り当て、さらに元のエリア番号2〜4のエリアに対してエリア番号3〜5を割り当てる。また、分割数(1)をエリア管理テーブルのエリア番号1,2に対応する値としてセットする。このエリア分割処理により、図2(E)に示すように、エリア数は27となり、各エリアには0〜26のエリア番号が割り当てられている。
【0029】
さらに、図2(E)に示すエリア番号5のエリアに対するライトアクセス数が規定値を超えた場合、当該エリア(番号5)に対してリフレッシュライト動作を実行し、エリア分割を行なう。これにより、図2(F)に示すように、エリア管理テーブルを更新し、当該エリア(番号5)を分割したエリアに対してエリア番号5,6を割り当て、さらに元のエリア番号6のエリアに対してエリア番号7を割り当てる。また、分割数(2)をエリア管理テーブルのエリア番号5,6に対応する値としてセットする。このエリア分割処理により、図2(F)に示すように、エリア数は28となり、各エリアには0〜27のエリア番号が割り当てられている。
【0030】
以上のようなエリア分割処理により、図2(G)に示すように、エリア数が初期状態として設定した管理エリア数の上限(規定値)であるエリア数48まで分割された状態となる。この状態では、エリア管理テーブルには、管理エリアを格納する空きがなくなり、更新ができなくなる。そこで、CPU21は、エリア統合処理を実行して、複数のエリアを統合して管理エリア数を削減する(ブロック106)。
【0031】
具体的には、図2(G)に示すエリア番号16のエリアに対するライトアクセス数が規定値を超えた場合、当該エリア(番号16)に対してリフレッシュライト動作を実行する。CPU21は、エリア管理テーブルをサーチし、トラックリフレッシュ回数(分割数)の少ない複数のエリアを統合する。但し、分割数0のエリアについては、統合せずに、そのまま維持する。
【0032】
ここでは、図2(G)に示すエリア番号0,1の各エリアを統合する。これにより、図2(H)に示すように、エリア管理テーブルを更新し、統合したエリアに対してエリア番号0を割り当てる。この場合、図2(B)に示すエリア管理テーブルの初期値は変更しない。この統合処理によりエリア数に空きができたため、図2(G)に示すエリア番号16のエリアに対してエリア分割を行なう。これにより、図2(H)に示すように、エリア管理テーブルを更新し、当該エリア(番号16)を分割したエリアに対してエリア番号15,16を割り当てる。また、分割数(3)をエリア管理テーブルのエリア番号15,16に対応する値としてセットする。このエリア分割処理により、図2(H)に示すように、エリア数は48となり、各エリアには0〜47のエリア番号が割り当てられている。
【0033】
同様にして、図2(H)に示すエリア番号14のエリアに対するライトアクセス数が規定値を超えた場合、当該エリア(番号14)に対してリフレッシュライト動作を実行する。ここでは、図2(H)に示すエリア番号12,13の各エリアを統合する。これにより、図2(I)に示すように、エリア管理テーブルを更新し、統合したエリアに対してエリア番号12を割り当てる。
【0034】
この統合処理によりエリア数に空きができたため、図2(H)に示すエリア番号14のエリアに対してエリア分割を行なう。これにより、図2(I)に示すように、エリア管理テーブルを更新し、当該エリア(番号14)を分割したエリアに対してエリア番号13,14を割り当てる。また、分割数(1)をエリア管理テーブルのエリア番号13,14に対応する値としてセットする。このエリア分割処理により、図2(I)に示すように、エリア数は48となり、各エリアには0〜47のエリア番号が割り当てられている。
【0035】
以上のようなエリアの分割及び統合処理を繰り返すことにより、図2(J)に示すように、エリア数は48となり、各エリアには0〜47のエリア番号が割り当てられたエリア管理テーブルの更新状態となる(ブロック107)。ここでは、ホストシステム26からのライトアクセスの範囲が変化し、特に図2(B)に示すエリアに対するライトアクセス数が多くなり、分割されたエリア分布が変化している状況が認識できる。
【0036】
以上のように本実施形態のトラックリフレッシュ処理時のエリア管理方法により、ホストシステムからのライトアクセス回数に応じて、リフレッシュライト動作を実行すると共にエリア分割を実行する。また、エリア分割によりエリア数が管理エリア数の上限を超えないように、エリアの統合処理を実行する。
【0037】
これにより、ライトアクセス回数に応じて、ディスク上を管理する各エリアのサイズ(トラック数)を変化させて、エリアを細分化することにより、リフレッシュライト動作を実行するエリアの分散化を図ることができる。また、ライトアクセス回数の少ないエリアを統合することにより、リフレッシュライト動作の頻度を抑制することができる。このため、全体としてトラックリフレッシュ処理の効率を向上することが可能となる。換言すれば、ライトアクセス回数が多いエリアのトラック数を減少させて、ライトアクセス回数が少ないエリアのトラック数を増大させることにより、全体としてリフレッシュライト動作の発生頻度を抑制することが可能となる。
【0038】
なお、本実施形態では、トラックリフレッシュ処理を実行する条件であるライトアクセスの規定回数は、1トラック単位でリフレッシュライト動作を行なう場合に設計された規定値が使用される。
【0039】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0040】
【図1】本発明の実施形態に関するディスクドライブの要部を示すブロック図。
【図2】本実施形態に関するエリア管理テーブルの構成を説明するための図。
【図3】本実施形態に関するトラックリフレッシュ処理を説明するためのフローチャート。
【符号の説明】
【0041】
1…ディスクドライブ、10…ディスク、11…スピンドルモータ(SPM)、
12…磁気ヘッド、13…アクチュエータ、14…ボイスコイルモータ(VCM)、
15…ランプ、16…ヘッドアンプ、17…リード/ライトチャネル、
18…ハードディスクコントローラ(HDC)、19…バッファメモリ、
20,22…フラッシュメモリ、21…マイクロプロセッサ(CPU)、
23…スタティックRAM、24…モータドライバ、25…インタフェースバス、
26…ホストシステム。

【特許請求の範囲】
【請求項1】
ディスク上のトラック群がエリア単位で管理されて、エリア毎にリフレッシュライト動作を実行するトラックリフレッシュ処理手段と、
前記リフレッシュライト動作を実行したエリアを分割し、管理エリア数の上限に基づいて複数のエリアを統合するエリア管理手段と
を具備したことを特徴とするディスク記憶装置。
【請求項2】
エリアのライトアクセス数をカウントし、当該カウント値と規定値との比較結果に基づいて当該エリアに対するトラックリフレッシュ処理が必要か否かを判定する判定手段を有し、
前記トラックリフレッシュ処理手段は、前記トラックリフレッシュ処理が必要であると判定されたエリアに対して前記リフレッシュライト動作を実行するように構成されていることを特徴とする請求項1に記載のディスク記憶装置。
【請求項3】
前記エリア管理手段は、
前記エリアを分割した分割数をカウントし、当該カウント値と管理エリア数の上限との比較結果に基づいて複数のエリアを統合する処理を行なうように構成されていることを特徴とする請求項1または請求項2のいずれか1項に記載のディスク記憶装置。
【請求項4】
前記エリア管理手段は、
前記エリア毎のトラックリフレッシュ処理数をカウントし、当該カウント値と規定値との比較結果に基づいて前記エリアを分割する処理を行なうように構成されていることを特徴とする請求項1から請求項3のいずれか1項に記載のディスク記憶装置。
【請求項5】
前記エリア管理手段は、相対的にライトアクセス数の少ない複数のエリアを統合する処理を行なうように構成されていることを特徴とする請求項1または請求項2のいずれか1項に記載のディスク記憶装置。
【請求項6】
前記エリア管理手段は、
前記トラックリフレッシュ処理を実行するトラック数をエリア単位で管理するためのエリア管理テーブル情報を有し、
前記エリアの分割に応じて管理エリア数が増大し、かつ前記エリアの統括に応じて管理エリア数が減少するように前記エリア管理テーブル情報を更新することを特徴とする請求項1から請求項5のいずれか1項に記載のディスク記憶装置。
【請求項7】
前記エリア管理手段は、
前記エリア管理テーブル情報として、各エリアに割り当てられるエリア番号及び各エリア毎のトラックリフレッシュ処理数を含み、
前記リフレッシュライト動作の実行に応じて前記トラックリフレッシュ処理数を更新し、かつ前記エリアの分割に応じて前記エリア番号を更新するように構成されていることを特徴とする請求項6に記載のディスク記憶装置。
【請求項8】
ディスク上の複数のトラックからなるエリア単位でリフレッシュライト動作を実行するトラックリフレッシュ処理手段を有するディスク記憶装置に適用するエリア管理方法であって、
前記リフレッシュライト動作を実行したエリアを分割する処理と、
管理エリア数の上限に基づいて複数のエリアを統合する処理と
を有するエリア管理方法。
【請求項9】
エリアのライトアクセス数をカウントする処理と、
前記カウント値と規定値との比較結果に基づいて、当該エリアに対するトラックリフレッシュ処理が必要か否かを判定する処理と、
前記トラックリフレッシュ処理が必要であると判定されたエリアに対して、前記リフレッシュライト動作を実行する処理と
をさらに有することを特徴とする請求項8に記載のエリア管理方法。
【請求項10】
前記エリアを分割した分割数をカウントする処理を有し、
前記統合する処理は、前記カウント値と管理エリア数の上限との比較結果に基づいて、複数のエリアを統合することを特徴とする請求項8または請求項9のいずれか1項に記載のエリア管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2010−152988(P2010−152988A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2008−330850(P2008−330850)
【出願日】平成20年12月25日(2008.12.25)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】