(57)【要約】【課題】データ記憶装置を用いてシングルブロックをキャッシュメモリに格納する技術を提供する。【解決手段】データ記憶装置はデータ記憶媒体、書き込み素子、不揮発性キャッシュメモリ回路、およびコントローラ回路を含んでいる。コントローラ回路は、書き込み素子を用いて、データを重なり合うトラックのグループに分けてデータ記憶媒体に記録すべく構成されている。コントローラ回路は、重なり合うトラックの部分集合から１個のデータシングルブロックを、当該データシングルブロック内のデータの少なくとも一部が更新される間に、不揮発性キャッシュメモリ回路に格納すべく構成されている。【選択図】図１
2010211910.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１個のデータ記憶媒体と、
少なくとも１個の書き込み素子と、
少なくとも１個の不揮発性キャッシュメモリ回路と、
前記書き込み素子を用いて、データを重なり合うトラックのグループに分けて前記データ記憶媒体に記録すべく構成された少なくとも１個のコントローラ回路を含み、
前記コントローラ回路は、重なり合うトラックの部分集合から１個のデータシングルブロックを、前記データシングルブロック内のデータの少なくとも一部が更新される間に、前記不揮発性キャッシュメモリ回路に格納するデータ記憶装置。
【請求項２】
前記データシングルブロックは、前記データ記憶媒体上の複数の重なり合うトラックの円周全体に格納されたデータであって、
前記コントローラ回路は、前記複数の重なり合うトラックの円周全体からデータを、前記データの少なくとも一部が更新される間に、前記不揮発性キャッシュメモリ回路に格納する請求項１に記載のデータ記憶装置。
【請求項３】
前記データシングルブロックは、前記データ記憶媒体上の重なり合うトラックの集合の各トラックの一部に格納されたデータだけを含み、
前記コントローラ回路は、前記重なり合うトラックの集合の各トラックの一部からのデータを、前記データの少なくとも一部が更新される間に、前記不揮発性キャッシュメモリ回路に格納する請求項１に記載のデータ記憶装置。
【請求項４】
前記コントローラ回路は、前記重なり合うトラックの部分集合から複数のデータシングルブロックを、前記シングルブロック内のデータの少なくとも一部が更新される間に、前記不揮発性キャッシュメモリ回路に同時に格納する請求項１に記載のデータ記憶装置。
【請求項５】
前記コントローラ回路は、複数のシングルブロックを、前記シングルブロックの少なくとも一部が更新される間に、前記不揮発性キャッシュメモリ回路に同時に格納し、
前記シングルブロックの各々が、前記データ記憶媒体上の複数の重なり合うトラックの円周全体に格納されたデータを含む請求項１に記載のデータ記憶装置。
【請求項６】
前記コントローラ回路は、前記データ記憶媒体上の重なり合うトラックのグループに格納されたデータを１個のデータシングルブロックとして扱い、
前記コントローラ回路は、前記重なり合うトラックのグループからのデータシングルブロックを、前記データシングルブロックの一部が更新される都度、不揮発性キャッシュメモリ回路に格納する請求項１に記載のデータ記憶装置。
【請求項７】
前記コントローラ回路は、前記各グループ内の重なり合うトラックが前記データ記憶媒体上の重なり合うトラックの他のどのグループのトラックとも重なり合わないように、データを重なり合うトラックのグループに分けて前記データ記憶媒体に記録する請求項１に記載のデータ記憶装置。
【請求項８】
前記不揮発性キャッシュメモリ回路は不揮発性フラッシュメモリ回路である請求項１に記載のデータ記憶装置。
【請求項９】
前記データ記憶装置はハードディスクドライブ装置である請求項１に記載のデータ記憶装置。
【請求項１０】
データ記憶媒体、コントロール回路、不揮発性キャッシュメモリ回路、および計算機可読媒体に格納されたコードを含むデータ記憶装置であって、
前記コードは、
書き込み素子を用いて、データを重なり合うトラックのグループに分けて前記データ記憶媒体に書き込むコードと、
前記重なり合うトラックの部分集合から１個のデータシングルブロックを、前記データシングルブロック内のデータの少なくとも一部が更新されて前記不揮発性キャッシュメモリ回路に格納された更新データを生成する間に、前記不揮発性キャッシュメモリ回路に格納するコードと、
前記重なり合うトラックの部分集合内の更新データを前記データ記憶媒体に書き込むコードを含むデータ記憶装置。
【請求項１１】
前記データシングルブロックは、前記データ記憶媒体上の複数の重なり合うトラックの円周全体に格納されたデータであって、
前記データシングルブロックを格納するコードは更に、前記複数の重なり合うトラックの円周全体からデータを、前記データの少なくとも一部が更新されて更新データを生成する間に、前記不揮発性キャッシュメモリ回路に格納するコードを含んでいる請求項１０に記載のデータ記憶装置。
【請求項１２】
前記データシングルブロックは、前記データ記憶媒体上の重なり合うトラックの集合の各トラックの一部に格納されたデータだけを含み、
前記データシングルブロックを格納するコードは更に、前記重なり合うトラックの集合の各トラックの一部からのデータを、前記データの少なくとも一部が更新されて更新データを生成する間に、前記不揮発性キャッシュメモリ回路に格納するコードを含んでいる請求項１０に記載のデータ記憶装置。
【請求項１３】
前記データシングルブロックを格納するコードは更に、前記重なり合うトラックの部分集合から複数のデータシングルブロックを、前記シングルブロック内のデータの少なくとも一部が更新されて更新データを生成する間に、前記不揮発性キャッシュメモリ回路に同時に格納するコードを含んでいる請求項１０に記載のデータ記憶装置。
【請求項１４】
前記データシングルブロックを格納するコードは更に、前記重なり合うトラックの部分集合から少なくとも３個のデータシングルブロックを、前記３個のシングルブロック内のデータの少なくとも一部が更新されて更新データを生成する間に、前記不揮発性キャッシュメモリ回路に同時に格納するコードを含んでいる請求項１０に記載のデータ記憶装置。
【請求項１５】
前記データシングルブロックを格納するコードは更に、前記重なり合うトラックの部分集合から１個のデータシングルブロックを、前記データシングルブロック内のデータの少なくとも一部が更新されて前記データシングルブロックが少なくとも３個の重なり合うトラックからのデータを含むように、前記不揮発性キャッシュメモリ回路に格納するコードを含んでいる請求項１０に記載のデータ記憶装置。
【請求項１６】
書き込み素子を用いて、データを重なり合うトラックのグループに分けて前記データ記憶媒体に書き込むコードは更に、前記各グループ内の重なり合うトラックが前記データ記憶媒体上の重なり合うトラックの他のどのグループのトラックとも重なり合わないように、データを重なり合うトラックのグループに分けて前記データ記憶媒体に書き込むコードを含んでいる請求項１０に記載のデータ記憶装置。
【請求項１７】
前記データシングルブロックを格納するコードは更に、更新対象である第１の重なり合うトラックからのデータを前記不揮発性キャッシュメモリ回路に格納すると共に、前記第１の重なり合うトラックからのデータが記録された後で記録された第２の重なり合うトラックからのデータを前記不揮発性キャッシュメモリ回路に格納するコードを含んでいる請求項１０に記載のデータ記憶装置。
【請求項１８】
不揮発性キャッシュメモリ回路を含むデータ記憶装置を用いてデータをデータ記憶媒体に格納する方法であって、
書き込み素子を用いて、データを重なり合うトラックのグループに分けてデータ記憶媒体に書き込むステップと、
前記重なり合うトラックの部分集合から１個のデータシングルブロックを、前記データシングルブロック内のデータの少なくとも一部が更新されて前記不揮発性キャッシュメモリ回路に格納された更新データを生成する間に、前記不揮発性キャッシュメモリ回路に格納するステップと、
前記重なり合うトラックの部分集合内の更新データを前記データ記憶媒体に書き込むステップを含む方法。
【請求項１９】
前記データシングルブロックを格納するステップは更に、前記データの少なくとも一部が更新されて更新データを生成する間に、複数の重なり合うトラックの円周全体から１個のデータシングルブロックを前記不揮発性キャッシュメモリ回路に格納するステップを含んでいる請求項１８に記載の方法。
【請求項２０】
前記データシングルブロックを格納するステップは更に、重なり合うトラックの部分集合から複数のデータシングルブロックを、前記複数のシングルブロック内のデータの少なくとも一部が更新されて更新データを生成する間に、不揮発性キャッシュメモリ回路に同時に格納するステップを含んでいる請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ記憶装置に関し、より具体的にはデータ記憶装置を用いてシングルブロックをキャッシュメモリに格納する技術に関する。
【背景技術】
【０００２】
重なり合うトラックにデータを書き込むハードディスクドライブの例が、Ｋａｓｉｒａｊ他による米国特許第６，９６７，８１０号およびＣａｍｅｒｏｎによる米国特許第６，１８５，０６３号に記述されている。
【発明の概要】
【課題を解決するための手段】
【０００３】
いくつかの実施形態によれば、データ記憶装置は、データ記憶媒体、書き込み素子、不揮発性キャッシュメモリ回路、およびコントローラ回路を含んでいる。コントローラ回路は、書き込み素子を用いて、データを重なり合うトラックのグループに分けてデータ記憶媒体に記録すべく構成されている。コントローラ回路は、重なり合うトラックの部分集合から１個のデータシングルブロックを、当該データシングルブロック内のデータの少なくとも一部が更新される間に、不揮発性キャッシュメモリ回路に格納すべく構成されている。
【０００４】
本発明の各種の目的、特徴、および利点は、以下の詳細な記述および添付図面を参照すれば明らかになろう。
【図面の簡単な説明】
【０００５】
【図１】本発明の一実施形態による、ホストコンピュータおよびハードディスクドライブを含むシステムのブロック図である。
【図２】本発明の一実施形態による、シングル状記録を用いて書き込み素子によりハードディスクドライブに書き込まれたデータのハードディスク上の８個の同心円状の磁気トラックの例を示す。
【図３】本発明の一実施形態による、重なり合うデータトラックをハードディスクに記録する技術の例を示す。
【図４Ａ】本発明の一実施形態による、シングルブロック内のデータが更新される間に、キャッシュメモリ回路を用いてシングルブロックを格納する処理を示すフロー図である。
【図４Ｂ】本発明の一実施形態による、シングルブロック内のデータが更新される間に、キャッシュメモリ回路を用いて複数のシングルブロックを格納する処理を示すフロー図である。
【発明を実施するための形態】
【０００６】
図１は、本発明の一実施形態によるシステム１００を示すブロック図である。システム１００はホストコンピュータ１０１を含んでいる。ホストコンピュータ１０１はプロセッサチップ１０２およびホストオペレーティングシステム（ＯＳ）１０３を含んでいる。システム１００はまた、ハードディスクドライブ１１０を含んでいる。ハードディスクドライブ１１０は、磁気ハードディスク１２２、チャネル１１２、コントローラ回路１１４、キャッシュメモリ回路１１６、読み書きヘッド１１８、およびアクチュエータに取り付けられたアーム１２０を含んでいる。図を簡潔にすべく、これらの素子だけを示す。ハードディスクドライブ１１０はまた、スピンドルモーター等、他の構成素子を含んでいてよい。
【０００７】
コントローラ回路１１４は、１個または複数の集積回路基板の上に形成することができる。ホストコンピュータ１０１は、デジタルビデオレコーダ（ＤＶＲ）、セットトップボックス（ＳＴＢ）、または埋め込みシステム、超小型システム、携帯機器またはコンピュータ等、他の任意の種類のコンピュータシステムであってよい。コントローラ回路１１４がハードディスクドライブ１１０に搭載されている場合が示されているが、コントローラ回路１１４はハードディスクドライブ１１０とは別の任意の適当な場所（例：ホスト１０１上）にあってもよい。
【０００８】
動作時において、ホストコンピュータ１０１のホストオペレーティングシステム１０３がハードディスクドライブ１１０にコマンドを送る。ハードディスクドライブ１１０は、コマンドに応答して、ハードディスクドライブ１１０内のディスク１２２および他のディスクプラッタ上のデータの読み出し、書き込み、消去等、要求された機能を実行する。読み書きヘッド１１８はアーム１２０の端に配置されている。読み書きヘッド１１８は、ディスク１２２の書き込み可能な表面上の同心円トラックにデータの磁気パターンを書き込む書き込み素子１２４を含んでいる。本発明のいくつかの実施形態によれば、コントローラ回路１１４は書き込み素子１２４に指示して、シングル状書き込み技術を用いてデータの磁気パターンをディスク１２２の書き込み可能な表面の重なり合う円形トラックに記録させる。
【０００９】
ハードディスクドライブはシングル状書き込み原理を用いて、１個以上のハードディスクの磁気的に書き込み可能な表面にデータを書き込むことができる。シングル状書き込み原理を用いて磁気ハードディスクに書き込まれた隣接トラックは、ハードディスクの書き込み可能な表面で互いに重なり合う。データのトラックを重ね合わせることにより通常、例えば従来方式の記録と比べて２倍までの極めて高いトラック密度が実現できる。しかし、シングル状書き込み原理を用いて磁気ハードディスクの書き込み可能な表面に格納されたデータのトラックを上書きする場合は必然的に、上書きされるトラックに重なり合う他のトラックに格納されたデータが消去されてしまう。
【００１０】
図２に、本発明の一実施形態による、シングル状記録を用いて書き込み素子によりハードディスクドライブに書き込まれたデータのハードディスク１２２上の８個の同心円状の重なり合う磁気トラックの例２０１〜２０８を示す。図２において、第１のトラック２０１のすぐ内側にあって第１のデータトラック２０１に直接隣り合う（すなわち連続している）第２のデータトラック２０２にデータが書き込まれた場合、第１のデータトラック２０１と第２のデータトラック２０２が重なり合う。次いで、第２のデータトラック２０２に隣接する第３のデータトラック２０３にデータが書き込まれた場合、第３のトラック２０３が第２のデータトラック２０２の一部と重なり合う。同様に、第３のデータトラック２０３に隣接する第４のデータトラック２０４にデータが書き込まれた場合、第４のトラック２０４が第３のデータトラック２０３の一部と重なり合う。
【００１１】
第４のデータトラック２０４に連続する第５のデータトラック２０５にデータが書き込まれた場合、第５のトラック２０５が第４のデータトラック２０４の一部と重なり合う。第５のデータトラック２０５に連続する第６のデータトラック２０６にデータが書き込まれた場合、第６のトラック２０６が第５のデータトラック２０５の一部と重なり合う。第６のデータトラック２０６に連続する第７のデータトラック２０７にデータが書き込まれた場合、第７のトラック２０７が第６のデータトラック２０６の一部と重なり合う。第７のデータトラック２０７に連続する第８のデータトラック２０８にデータが書き込まれた場合、第８のトラック２０８が第７のデータトラック２０７の一部と重なり合う。トラック２０１〜２０８は、屋根板状に重なり合う。
【００１２】
第８のトラック２０８が重なり合うトラックのグループにおける最後のトラックである場合、トラック２０８には他のどのトラックも重なり合わない。重なりのパターンが逆、すなわち第１トラック２０１が第２トラック２０２の下ではなく、上に重なってもよい。開示を分かりやすくすべく８個のデータトラックだけを示しているが、磁気ディスクはより多くのデータトラックを含んでいてよい。トラック２０１〜２０８の各々は複数のセクターを含んでいる。各セクターは数バイトのデータを含んでいる。セクターの例として図２のトラック２０８を示す。
【００１３】
トラック２０１〜２０８に格納されたデータは、ランダム且つ非順次アクセスによりディスクから読み出すことができる。しかし、一旦トラック２０１〜２０８が書き込み可能なディスク表面に記録されたならば、トラックまたはトラック群が上書きされた後で書き込まれた１個以上のトラック２０２〜２０８に格納されたデータも消去しなければ１個以上のトラック２０１〜２０７のどれも上書きすることができない。例えば、トラック２０３のデータを上書きする場合、重なり合うトラック２０４〜２０６に格納されたデータを消去して再書込みするか、または新しいデータを上書きしなければならない。トラック２０６への上書きはトラック２０７〜２０８のデータを消去する。従って、トラック２０７〜２０８もまた、旧データを再書き込みするかまたは更新データで上書きしなければならない。トラック２０１〜２０２に格納されたデータは依然として、トラック２０３〜２０８が上書きされた後で読み出し素子により読み出し可能である。好適には、トラック２０１〜２０８に格納されたデータは、隣接トラックへの上書きを防止すべく順次記録される。
【００１４】
ハードディスクドライブ１１０は、アーム１２０の終端に配置された読み書きヘッド１１８を含んでいる。読み書きヘッド１１８は、読み出し素子および書き込み素子１２４を含んでいる。書き込み素子１２４は、ハードディスクドライブ１１０内の１個以上のハードディスクの書き込み可能な表面にデータの磁気パターンを記録する。読み出し素子は、１個以上ハードディスクの書き込み可能な表面から磁気データパターンを読み出す。図２に示すように、書き込み素子の幅はトラックピッチより広い。トラックピッチは基本的に、データトラックの幅の重なり合わない部分である。例えば、書き込み素子は読み出し素子よりも３倍広くてよい。読み出し素子の幅はトラックピッチより僅かに狭いため、読み出し素子は一度に１個のシングル状に整形されたトラックだけからデータを読み込むように十分に狭くなっている。書き込み素子の幅が比較的広くて物理的に厚いため、書き込み素子はディスクにより大きい磁場を生成することができ、これによりディスク保磁力の増大、粒度の減少、およびその結果として全体的な記録密度の増大が可能になる。
【００１５】
重なり合うトラックにデータを書き込むハードディスクドライブの例がＫａｓｉｒａｊ等による２００５年１１月２２日出願の米国特許第６，９６７，８１０号に記述されており、その全文を本明細書で引用している。重なり合うトラックにデータを書き込むハードディスクドライブの別の例がＣａｍｅｒｏｎによる２００１年２月６日出願の米国特許第６，１８５，０６３号に記述されており、その全文を本明細書で引用している。
【００１６】
図３に、本発明の一実施形態による、重なり合うデータトラックをハードディスクドライブ内のハードディスクに記録する技術の例を示す。図３の例において、ハードディスクドライブ１１０はデータをシングル状に重なり合う同心円トラック３０２の磁気パターンとしてハードディスク１２２に記録する。
【００１７】
トラック３０２は、シングル状書き込み技術を用いてハードディスク１２２の書き込み可能な表面に記録された重なり合うトラックである。トラック３０２は隣接トラックに重なり合うため、重なり合わないトラックよりもはるかに高い記録密度を有する。トラック３０２は好適には、ハードディスクのデータ密度を高めるべくハードディスクの書き込み可能な表面の大部分または全体を占める。ハードディスクドライブ１１０は、トラック３０２に格納されたデータをランダムに読み出すことができる。
【００１８】
図３に示す例において、トラック３０２は５個のトラックの集合にグループ分けされる。各グループは図３の例の５個のトラックを有するが、任意の適当な数のトラックをグループに配置することができる。各グループ内の５個のトラックは、シングル状書き込みにより記録されるため、トラックの特定のグループ内で隣接するトラックと重なり合う。図３に示すように、各グループ内のトラックは、他のグループ内のどのトラックとも重なり合わない。例えば、グループＡのトラックはグループＢのトラックと重なり合わない。
【００１９】
グループ内の最初の４個のトラックのいずれかを上書きすれば、上書きされたトラックの後で書き込まれた当該グループ内の他のトラックのデータも消去される。例えば、第３トラックのデータを上書きすれば、第４および第５トラックのデータが消去される。読み出し素子の幅は書き込み素子の幅よりはるかに狭いため、第３、第４、および第５トラックが上書きされた後でも、第１および第２トラックに格納されたデータは依然として読み出し素子により読み出し可能である。１個のトラックグループ内にある１個以上のトラックを上書きしてもディスク上の他のどのトラックグループ内のデータにも影響を及ぼさない。各トラックグループは、例えば、単一のデータファイルを含んでいてよい。隣接するトラックグループ内のデータに影響を及ぼすことなくファイル全体の書き込みおよび上書きを行なって更新データを反映することができる。
【００２０】
本発明のいくつかの実施形態によれば、ハードディスク１２２上の重なり合うトラックのグループは１個以上のシングルブロックとして扱われる。重なり合うトラック３０２の各グループは、複数のデータシングルブロックを含んでいてよい。シングルブロックの各々は、重なり合うトラックのグループに格納されたセクターを含んでいる。例えば、グループＡの５個のトラックは複数のデータシングルブロックを格納することができ、データの各シングルブロックはグループＡ内の５個のトラックの各々からの複数のセクターを含んでいる。グループＡ内の１個のデータシングルブロックの例を図３に示す。このシングルブロックの例は、図３のディスク１２２に示すように、グループＡ内の５個のトラックの各々の円周の一部だけからのデータを含んでいる。
【００２１】
各シングルブロック内のデータは、グループ内のトラックの円周の重なり合う部分に格納されていてよい。一実施形態において、図３に示すグループＡ内のトラック３０２は、複数のデータシングルブロックを含んでいる。各シングルブロックは、グループＡ内の５個の重なり合うトラックの各々の部分に格納されたデータを含んでいる。シングルブロックの各々は、グループＡ内の５個のトラックの各々に複数のセクターを含んでいる。セクターの各々は複数バイトのデータを含んでいる。
【００２２】
別の実施形態において、１個のシングルブロックが、ハードディスク１２２に格納されたグループ内の複数の重なり合うトラックの円周全体に格納されたデータを含んでいる。例えば、８個のデータトラック２０１〜２０８の円周全体に格納されたデータの全てを、例えば図２のディスク１２２に示すように、単一のシングルブロックとして扱うことができる。別の例として、１個のデータシングルブロックが、重なり合うトラック３０２のグループＢ内の５個のトラック全ての円周全体に格納されたデータを含んでいてよい。
【００２３】
ハードディスクドライブ１１０が、重なり合うトラックのシングルブロックに格納されたデータの一部を更新データで上書きする場合、ハードディスクドライブ１１０は、更新対象のトラックおよび当該シングルブロック内において更新対象トラックの後で書き込まれたトラックを上書きする。例えば、ハードディスクドライブ１１０が、図３に示すグループＡ内のシングルブロックを更新データで上書きするように指示された場合、ハードディスクドライブ１１０は当該シングルブロック内の更新対象であるトラックおよびグループＡ内で更新対象トラックの後で書き込まれた重なり合うトラックの全てを上書きする。
【００２４】
図４Ａは、本発明の一実施形態による、キャッシュメモリ回路を用いてシングルブロック内のデータが更新される間にシングルブロックを格納する方法を示すフロー図である。最初に、ステップ４０１において、ハードディスクドライブ（ＨＤＤ）１１０が、更新対象であるシングルブロック内のトラックおよび当該同一シングルブロック内でその後に書き込まれたトラックからデータを読み出す。ハードディスクドライブ１１０は次いでステップ４０２において、当該データを半導体ソリッドステートキャッシュメモリ回路１１６に格納する。例えば、トラック２０４からのデータが更新対象である場合、ハードディスクドライブ１１０はトラック２０４〜２０８からデータを読み込んで当該データをキャッシュメモリ１１６に格納する。
【００２５】
ハードディスクドライブ１１０は次いでステップ４０３において、キャッシュメモリ回路１１６に格納されたデータの少なくとも一部を更新データで上書きする。その後、ハードディスクドライブ１１０はステップ４０４において、シングルブロック内のトラックの一部または全部を上書きしながら、キャッシュメモリ回路１１６に格納されたデータをハードディスク１２２に記録する。この時点でシングルブロックは更新データを含んでいる。例えば、トラック２０４だけが更新対象である場合、ハードディスクドライブ１１０はトラック２０４〜２０８を更新データおよびキャッシュメモリ１１６に保存された旧データで上書きする。
【００２６】
ハードディスクドライブ１１０が再書き込み処理の間に、不揮発メモリではなく揮発性メモリにデータを格納し、且つデータが揮発性メモリに格納されている間にハードディスクドライブ１１０への電力を遮断された場合、データの一部または全部が回復不能に失われる恐れがある。本発明の一実施形態によれば、キャッシュメモリ回路１１６は不揮発性半導体ソリッドステートメモリ回路である。例えば、キャッシュメモリ１１６はフラッシュまたはＥＥＰＲＯＭメモリであってよい。キャッシュメモリ１１６は例えば、ＮＡＮＤまたはＮＯＲフラッシュメモリであってよい。キャッシュメモリ回路１１６が不揮発メモリ回路であるため、ディスク１２２上の１個のデータシングルブロックが更新されている間、ハードディスクドライブ１１０はキャッシュメモリ回路１１６に格納されたデータを保持する。
【００２７】
キャッシュメモリ１１６は、単一のデータシングルブロックとして少なくとも同程度のメモリ記憶容量を含んでいる。一実施形態において、キャッシュメモリ１１６は単一のデータシングルブロックだけを格納するのに十分なメモリ記憶容量を有している。他の実施形態において、キャッシュメモリ１１６は単一のデータシングルブロックの倍数に等しいメモリ記憶容量を有している。例えば、キャッシュメモリ１１６はデータの２個、３個、４個、５個等のシングルブロックを一度に格納すべく、単一のデータシングルブロックの２倍、３倍、４倍、５倍等の記憶容量を含んでいてよい。
【００２８】
単一のシングルブロックは、トラック２０１〜２０８のように、グループ内の複数の重なり合うトラックの円周の一部に格納されたデータまたはグループ内の複数の重なり合うトラックの円周全体に格納されたデータを含んでいてよい。各種の実施形態によれば、キャッシュメモリ１１６は１個のシングルブロックまたは複数のシングルブロックからのデータを格納するのに十分な記憶容量を有している。従って、キャッシュメモリ１１６のメモリ容量は、選択されたシングルブロックのサイズおよびキャッシュメモリ１１６が一度に格納すると予想されるシングルブロックの数に基づいて選択される。
【００２９】
キャッシュメモリ１１６が複数のシングルブロックを格納するのに十分なメモリを有している場合、ハードディスクドライブ１１０は以下のようにキャッシュメモリ１１６を用いて複数のシングルブロックのデータを同時に更新することができる。図４Ｂは、本発明の一実施形態による、シングルブロックのデータが更新される間にキャッシュメモリ回路を用いて複数のシングルブロックを格納する方法を示すフロー図である。最初に、ステップ４１１において、ハードディスクドライブ１１０は更新対象であるシングルブロック内のトラック、および同一シングルブロック内において後で書き込まれたトラックからデータを読み出す。ハードディスクドライブ１１０は次いでステップ４１２において、当該データを半導体ソリッドステートキャッシュメモリ回路１１６に格納する。ハードディスクドライブ１１０はステップ４１３において、キャッシュメモリ回路１１６に格納されたデータの少なくとも一部を更新データで上書きする。次いでハードディスクドライブ１１０はステップ４１４において、シングルブロック内のトラックの一部または全部を上書きしながら、キャッシュメモリ回路１１６に格納されたデータをハードディスク１２２に記録する。この時点でシングルブロックは更新データを含んでいる。
【００３０】
キャッシュメモリ１１６は、読み出しキャッシュまたは書き込みキャッシュ機能として用いることができる。ホストコンピュータ１０１から書き込み要求および１個以上のデータシングルブロックを受信したことに応答して、ハードディスクドライブ１１０は、１個以上のデータシングルブロックがディスク１２２に記録される前に、１個以上のデータシングルブロックをキャッシュメモリ１１６に格納することができる。ホストコンピュータ１０１から読み出し要求を受信したことに応答して、ハードディスクドライブ１１０は、１個以上のデータシングルブロックがディスク１２２から読み出された後で、且つ１個以上のシングルブロックがホストコンピュータ１０１へ送信される前に、１個以上のデータシングルブロックをキャッシュメモリ１１６に格納することができる。データは、読み書きヘッド１１８、アーム１２０、チャネル１１２、およびコントローラ回路１１４を介してディスク１２２とキャッシュメモリ１１６の間を送信される。
【００３１】
ジャーナル取得ファイルシステムは、ファイルシステムに対する変更を、当該変更をメインファイルシステムに格納する前に、ジャーナルに記録するファイルシステムである。別の実施形態によれば、ジャーナル取得機能を実装すべくファイルシステムに対する変更を格納するジャーナルとして不揮発性キャッシュメモリ回路１１６を用いる。ファイルシステムに対して変更がなされる間にハードディスクドライブ１１０の電源障害またはシステムクラッシュが生じた場合、ファイルシステムを更新する処理を実行している間に変更が揮発性キャッシュメモリ回路１１６に保存されているため、ハードディスクドライブ１１０に格納されたデータが損傷する可能性は小さい。ハードディスクドライブ１１０は、ジャーナル取得ファイルシステムに対して変更がなされる間、データおよびｉノードを不揮発性キャッシュメモリ回路１１６に保存することができる。ｉノードは、通常のファイル、ディレクトリ、または他のファイルシステムオブジェクトに関する基本情報を格納する。ｉノードは、ユーザーおよびグループ所有状況、アクセスモード（読み出し、書き込み、実行許可）およびファイルの種類等、ファイルに関する情報を格納する。
【００３２】
本発明の実施形態は、例えば、ハードウェア、ソフトウェア、およびプログラム命令を含むコンピュータ可読媒体を単独で、または組合せて用いることにより実装できる。本発明の実施形態は、コンピュータ上で動作可能な計算機可読媒体に格納されたプログラムコードとして実装することができる。本発明の実施形態により実装されたソフトウェアおよび本発明の結果は、コンピュータ可読媒体、例えば半導体メモリ、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、または他の媒体に格納することができる。本発明の結果はプロセッサにより実行または処理され、ユーザーに対して表示されて、ネットワーク等を介して信号に載せて送信する等、様々な目的のために使用することができる。本発明の実施形態はまた、ネットワークを介して接続された多数のコンピュータシステムに分散処理を実行させるべく、計算機可読の媒体に格納された計算機可読プログラムコードユニットとして実装することができる。
【００３３】
本発明の例示的な実施形態の上述の説明は、図解および説明目的で提示したものである。これらは網羅的ではなく、且つ本発明を本明細書に開示した実施例に限定することを意図していない。いくつかの例において、本発明の特徴は、開示した他の特徴を対応して利用しなくても使用可能である。本発明の範囲を逸脱することなく、上述の開示を参照して多くの改良、変更、および変型が可能である。本発明の範囲は本明細書の詳細説明により限定されるものではない。
【符号の説明】
【００３４】
１００  システム
１０１  ホストコンピュータ
１０２  プロセッサ
１０３  ホストＯＳ
１１０  ハードディスクドライブ
１１２  チャネル
１１４  コントローラ回路
１１６  キャッシュメモリ回路
１１８  読み書きヘッド
１２０  アーム
１２２  磁気ハードディスク
１２４  書き込み素子
２０１〜２０８  データトラック
３０２  重なり合うトラック。
【図１】
2010211910.tif 000003
【図２】
2010211910.tif 000004
【図３】
2010211910.tif 000005
【図４Ａ】
2010211910.tif 000006
【図４Ｂ】
2010211910.tif 000007