(57)【要約】【課題】新規且つ改良されたディスクドライブ、ディスクドライブ書き込み方法、及びコンピュータ読み取り可能な記録媒体を提供すること。【解決手段】ディスクドライブは、第１のフラッシュキャッシュメモリ領域、第２のフラッシュキャッシュメモリ領域、及び、フラッシュキャッシュへの書き込み命令に関連付けられた情報を、第１のフラッシュキャッシュメモリ領域と前記第２のフラッシュキャッシュメモリ領域のうちのいずれか一方に書き込むコントローラを備える。【選択図】      図５
2007265600.tif 000002
【特許請求の範囲】
【請求項１】
第１のフラッシュキャッシュメモリ領域と、
第２のフラッシュキャッシュメモリ領域と、
フラッシュキャッシュへの書き込み命令に関連付けられた情報を、前記第１のフラッシュキャッシュメモリ領域と前記第２のフラッシュキャッシュメモリ領域のうちのいずれか一方に書き込むコントローラとを具備することを特徴とする、ディスクドライブ。
【請求項２】
前記第１のフラッシュキャッシュメモリ領域と前記第２のフラッシュキャッシュメモリ領域は、複数の不揮発性メモリ領域で構成されることを特徴とする、請求項１記載のディスクドライブ。
【請求項３】
前記複数の不揮発性メモリ領域は、前記ディスクドライブのディスクから離して配置されることを特徴とする、請求項２記載のディスクドライブ。
【請求項４】
前記複数の不揮発性メモリ領域は、前記ディスクドライブに関連付けられた書き込みチャネルの一部であることを特徴とする、請求項２記載のディスクドライブ。
【請求項５】
前記ディスクドライブの筐体に取り付けられたプリント基板を更に備え、前記複数の不揮発性メモリ領域は前記プリント基板に配置されることを特徴とする、請求項２記載のディスクドライブ。
【請求項６】
前記複数の不揮発性メモリ領域は、１つの不揮発性メモリデバイスの少なくとも２つの部分から構成されることを特徴とする、請求項２記載のディスクドライブ。
【請求項７】
前記第１のフラッシュキャッシュメモリ領域と前記第２のフラッシュキャッシュメモリ領域は、前記ディスクドライブのディスクに配置されることを特徴とする、請求項１記載のディスクドライブ。
【請求項８】
前記第１のフラッシュキャッシュメモリ領域と前記第２のフラッシュキャッシュメモリ領域は、前記ディスクドライブのディスクのトラックに配置されることを特徴とする、請求項１記載のディスクドライブ。
【請求項９】
前記第１のフラッシュキャッシュメモリ領域と前記第２のフラッシュキャッシュメモリ領域は、前記ディスクドライブのディスクに対して、実質的に反対側に配置されることを特徴とする、請求項１記載のディスクドライブ。
【請求項１０】
フラッシュキャッシュ命令に関連付けられた情報をディスクドライブに書き込む方法であって、
第１のキャッシュ命令に関連付けられた情報を、複数のフラッシュキャッシュメモリ領域のうちの１つに書き込み、
第２のフラッシュキャッシュ命令に関連付けられた情報を、前記複数のフラッシュキャッシュメモリ領域のうちの別の１つに書き込むことを特徴とする方法。
【請求項１１】
連続するフラッシュキャッシュ命令に関連付けられた情報を記憶するとき、前記複数のフラッシュキャッシュメモリ領域間で切り替えることを更に備えることを特徴とする、請求項１０記載の方法。
【請求項１２】
前記複数のフラッシュキャッシュメモリ領域の中の１つに別のフラッシュキャッシュ命令に関連付けられた情報を書き込むよりも前に、前記複数のフラッシュキャッシュメモリ領域の中の１つからのフラッシュキャッシュ命令に関連付けられた個々の書き込み命令の全てを書き込むことを更に備えることを特徴とする、請求項１０記載の方法。
【請求項１３】
前記複数のフラッシュキャッシュメモリ領域は数Ｎに対応し、フラッシュキャッシュ命令に関連付けられた前記情報は、ディスクドライブのディスクの特定の領域に書き込まれるべき少なくとも１つの書き込み命令を含み、前記方法は、フラッシュキャッシュ命令によって指定された個々の書き込み命令を、Ｎ個の更なるフラッシュキャッシュ命令を受け取る前に、前記ディスクの特定の領域に書き込むことを更に備えることを特徴とする、請求項１０記載の方法。
【請求項１４】
前記フラッシュキャッシュ命令に関連付けられた前記情報を、前記複数のフラッシュキャッシュメモリ領域のうちの１つに書き込んだ後に、書き込みキャッシュ命令の完了を示す信号を送ることを更に備えることを特徴とする、請求項１０記載の方法。
【請求項１５】
前記複数のフラッシュキャッシュメモリ領域は不揮発性メモリ領域であることを特徴とする、請求項１０記載の方法。
【請求項１６】
前記複数のフラッシュキャッシュメモリ領域はディスクドライブの前記ディスクに配置されることを特徴とする、請求項１０記載の方法。
【請求項１７】
コンピュータに、
第１のキャッシュ命令に関連付けられた情報を、複数のフラッシュキャッシュメモリ領域のうちの１つに書き込む手順と、
第２のフラッシュキャッシュ命令に関連付けられた情報を、前記複数のフラッシュキャッシュメモリ領域のうちの別の１つに書き込む手順とを実行させるためのプログラムを記録したことを特徴とする、コンピュータ読み取り可能な記録媒体。
【請求項１８】
連続するフラッシュキャッシュ命令に関連付けられた情報を記憶するとき、前記複数のフラッシュキャッシュメモリ領域間で切り替える手順を更に備えることを特徴とする、請求項１７記載のコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記複数のフラッシュキャッシュメモリ領域の中の１つに別のフラッシュキャッシュ命令に関連付けられた情報を書き込む前に、前記複数のフラッシュキャッシュメモリ領域の中の１つからのフラッシュキャッシュ命令に関連付けられた個々の書き込み命令の全てを、書き込む手順を更に備えることを特徴とする、請求項１７記載のコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記フラッシュキャッシュ命令に関連付けられた前記情報を、前記複数のフラッシュキャッシュメモリ領域のうちの１つに書き込んだ後に、書き込みキャッシュ命令の完了を示す信号を送る手順を更に備えることを特徴とする、請求項１７記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ディスクドライブ、ディスクドライブ書き込み方法、及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
ディスクドライブは情報記憶装置である。ディスクドライブは、回転するスピンドルに固定された一又は複数のディスクと、各ディスクの表面からデータを表す情報を読み出し、及び／又は、各ディスクの表面へデータを書き込む、少なくとも１つのヘッドとを備える。より具体的には、データを記憶することには、データを表す情報をディスク上のトラックの一部分に書き込んで、それを後に読み出し、取り出すことができるようにすることが含まれる。コンピューティングシステムに関連付けられたディスクドライブは、一般に、ホストコンピュータからの書き込み命令を実行する。ホストコンピュータからの書き込み命令が、ディスクドライブの読み出し／書き込みチャネルを通過する頃までには、当該書き込み命令は、ディスク上の領域を含む特定の情報を含むが、特定の情報はそこに書き込まれるであろう。書き込み命令は到達した時に実行することができる。しかし、ほとんどの場合、書き込まれるべきデータは即座に読み出される必要がないため、多くの場合において情報をディスクに即座に書き込む必要はない。また、ディスクドライブが動作している時間の大部分において、ディスクドライブはデータを表す情報を読み出している。読み出し動作の期間中、書き込み命令を受け取る度に、情報の読み出しから情報の書き込みに切り替えることは、時間がかかり、非効率的で、多くの場合においてディスクドライブの性能に悪影響を及ぼし得る。結果として、ホスト又はディスクドライブは、個々の書き込み命令を、それらの各々が到達する時に書き込むのではなく、キャッシュに格納又はグループ化する。書き込みキャッシュが一杯になるか、選択された時間になると、書き込みキャッシュから書き込み命令を空にするように命令が与えられる。この命令は、フラッシュキャッシュ命令とも称される。
【０００３】
フラッシュキャッシュ命令に応答して、ディスクドライブは、書き込み命令に関連付けられたデータを、ディスクドライブのディスク上の指定された特定の領域に書き込む。書き込み命令の全てが、それらの指定された領域に書き込まれると、ディスクドライブは、ホストコンピュータに対してフラッシュキャッシュ命令が完了したことを通知する。
【０００４】
ディスクドライブの速度は、種々の性能パラメータを用いて測定される。性能パラメータの１つに、書き込み命令に対してディスクドライブがどれだけ速く応答するかがある。書き込みについての性能試験には、１つ又は複数のフラッシュキャッシュ命令を完了するまでの応答時間がある。１つのフラッシュキャッシュ命令又は複数のフラッシュキャッシュ命令に速く応答する方法を決定しておくことで、ディスクドライブに関連付けられた性能要因（performance factors）の１つを強化することができる。勿論、データが失われると、ディスクドライブのユーザによる当該ディスクドライブに対する評価に悪影響を与えるため、応答は、データが記憶され、あらゆる状況又は大抵の状況において読み出せることを保証するものでなければならない。従って、フラッシュキャッシュ命令の実行中、又はフラッシュキャッシュ命令が完了したことを信号で伝えた（signaling）直後に、停電、ディスクドライブの急な加速、又は同様の事象が発生したとしても、フラッシュキャッシュ命令に応答して書き込まれたデータは取り出し可能でなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本発明は、新規且つ改良されたディスクドライブ、ディスクドライブ書き込み方法、及びコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一つの面によれば、第１のフラッシュキャッシュメモリ領域と、第２のフラッシュキャッシュメモリ領域と、フラッシュキャッシュへの書き込み命令に関連付けられた情報を、前記第１のフラッシュキャッシュメモリ領域と前記第２のフラッシュキャッシュメモリ領域のうちのいずれか一方に書き込むコントローラとを具備することを特徴とするディスクドライブが提供される。
【０００７】
また、本発明の別の面によれば、フラッシュキャッシュ命令に関連付けられた情報をディスクドライブに書き込む方法であって、第１のキャッシュ命令に関連付けられた情報を、複数のフラッシュキャッシュメモリ領域のうちの１つに書き込み、第２のフラッシュキャッシュ命令に関連付けられた情報を、前記複数のフラッシュキャッシュメモリ領域のうちの別の１つに書き込むことを特徴とする方法が提供される。
【０００８】
更に、本発明のまた別の面によれば、コンピュータに、第１のキャッシュ命令に関連付けられた情報を、複数のフラッシュキャッシュメモリ領域のうちの１つに書き込む手順と、第２のフラッシュキャッシュ命令に関連付けられた情報を、前記複数のフラッシュキャッシュメモリ領域のうちの別の１つに書き込む手順とを実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体が提供される。
【発明の効果】
【０００９】
本発明によれば、新規且つ改良されたディスクドライブ、ディスクドライブ書き込み方法、及びコンピュータ読み取り可能な記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００１０】
本発明は、添付の特許請求の範囲に詳細に示されている。しかし、全体を通して同様の符号は同様の要素を示す図面と共に詳細な説明を参照することで、本発明をより完全に理解することができるであろう。
【００１１】
本明細書に記載される説明は、本発明の種々の実施形態を説明するものであり、その説明は、如何なる形でも限定するものとして解釈されるべきではない。
【００１２】
図１は、本発明の種々の実施形態を使用するディスクドライブ１００の展開図である。ディスクドライブ１００は、ハウジングベース１０４とハウジングカバー１０６とを備えるハウジング１０２を有する。図示のハウジングベース１０４はベースキャスティングであるが、他の実施形態では、ハウジングベース１０４は、ディスクドライブ１００の組み立て前に、又は組み立ての間に取り付けられる別個のコンポーネントを含んでもよい。ディスク１２０は、スピンドルモータによって回転されるハブ又はスピンドル１２２に取り付けられる。ディスク１２０は、ハブ又はスピンドル１２２にクランプ１２１によって取り付けることができる。ディスク１２０は、毎分３６００未満の回転から１５０００を超える回転の範囲で、一定の速度又は可変速度で回転され得る。将来的には、より高速の回転速度が予期される。スピンドルモータは、ハウジングベース１０４に接続されている。ディスク１２０は、磁化可能な材料をディスクの片面又は両面に堆積した、軽量アルミニウム合金、セラミック／ガラス、又は他の適当な基板で作ることができる。磁気層は、トランスデューシングヘッド１４６を介して移動されるデータを記憶するための小さな磁化された領域を有している。トランスデューシングヘッド１４６は、ディスク１２０からデータを読み出し、またディスク１２０にデータを書き込むように構成された磁気トランスデューサを備える。他の実施形態では、トランスデューシングヘッド１４６は、別個の読み出しエレメント及び書き込みエレメントを備える。例えば、別個の読み出しエレメントは、ＭＲヘッドとしても知られる磁気抵抗ヘッドとすることができる。トランスデューシングヘッド１４６には多様な構成を用い得ることが理解されるであろう。
【００１３】
回転型アクチュエータ１３０は、ベアリング１３２によってハウジングベース１０４に軸支され、ディスク１２０の内径（ＩＤ）とディスク１２０の外径（ＯＤ）近傍に位置するランプ１５０との間の弧をなぞる。ボイスコイルモータ（ＶＣＭ）１１２の固定された部分を共に形成する、上部及び下部磁気リターンプレート１１０と少なくとも１つの磁石とが、ハウジング１０４に取り付けられる。ボイスコイル１３４は、回転型アクチュエータ１３０に取り付けられ、ＶＣＭ１１２の空隙中に配置される。回転型アクチュエータ１３０は、電流がボイスコイル１３４を流れると、ベアリング１３２を中心に旋回し、電流が逆流すると、反対方向に旋回して、アクチュエータ１３０及び取り付けられたトランスデューシングヘッド１４６の、ディスク１２０に対する位置の制御を可能にする。ＶＣＭ１１２は、ディスク１２０の複数のトラックのうちの１つの上でヘッド１４６の位置を決定するために、ディスク１２０からトランスデューシングヘッド１４６によって読み出される位置決めデータを用いる（図４に示される）サーボシステムに接続される。サーボシステムは、ボイスコイル１３４に流すのに適切な電流を決定し、電流ドライバ及び関連する回路（図１には図示せず）を用いてボイスコイル１４０に電流を流す。
【００１４】
ディスク１２０の両面に、関連するヘッド１４６を有しても良く、これらのヘッド１４６は、一致して旋回するように回転型アクチュエータ１３０にまとめて接続される。本明細書に記載される発明は、アクチュエータに対して個々のヘッドが別個に短い距離を移動する装置に同様に適用できる。この技術はデュアルステージアクチュエーション（ＤＳＡ）と称される。
【００１５】
サーボシステムの１つのタイプは、データを表す情報を格納するために用いられる各ディスク表面のトラックが、小さなセグメントのサーボ情報を含むエンベデッドサーボシステムである。サーボ情報は、一部の実施形態において、ディスク１２０の円周に概ね等間隔で配置された、幾つかの細い、いくらか湾曲したスポーク１２８として示される、放射状のサーボセクタ若しくはサーボウェッジに格納される。実際には、図１に示されるよりも多くのサーボウェッジが存在し得ることに留意すべきである。サーボウェッジ１２８は、図２及び図７、並びにこれらの図面に関連した説明で更に詳述される。
【００１６】
ディスク１２０はまた、各ディスク表面に複数のトラックを有する。複数のトラックは、ディスク１２０の表面のトラック１２９のように、２つのトラックによって表される。サーボウェッジ１２８は、ディスク１２０上のトラック１２９といった複数のトラックを横切る。複数のトラックは、一部の実施形態において、１組の実質的に同心の円として配置され得る。データは、埋め込まれたサーボウェッジ１２８の間のトラックに沿った固定されたセクタに格納される。ディスク１２０上のトラックはそれぞれ、複数のデータセクタを含む。より具体的には、データセクタは、固定されたブロック長と固定されたデータ記憶容量（例えば、データセクタあたり５１２バイトのユーザデータ）とを有するトラックの一部分である。ディスク１２０の内側に向かうトラックは、ディスク１２０の外周に向かうトラックほど長くはない。結果として、ディスク１２０の内側に向かうトラックは、ディスク１２０の外周に向かうトラックと同じだけのデータセクタを有することができない。同じ数のデータセクタを有することができるトラックは、データゾーンとしてグループ化される。密度とデータレートはデータゾーンによって異なるため、サーボウェッジ１２８は少なくともデータセクタの一部を中断し（interrupt）、分割し得る。サーボセクタ１２８は通常、工場でサーボ書き込み装置（サーボライタと称される）を用いて記録されるが、ディスクドライブ１００のトランスデューシングヘッド１４６を用いてセルフサーボ書き込み動作（self-servowriting operation）で書き込まれ（部分的に書き込まれ）てもよい。
【００１７】
ディスクドライブ１００は、多くの機械的な機構とサーボパターンを含むディスクとを備えるだけでなく、ディスク１２０から信号を読み出し、ディスク１２０にデータを表す情報を書き込むための種々の電子機器を備える。図２は、一実施形態に係るディスクドライブ１００の電子部分の一例を、より完全に詳細に示すディスクドライブ１００の概略図である。図２を参照するに、ディスクドライブデバイス２０２は、ヘッドディスクアセンブリ（ＨＤＡ）２０６、ハードディスクコントローラ（ＨＤＣ）２０８、読み出し／書き込みチャネル２１３、マイクロプロセッサ２１０、モータドライバ２２２、及びバッファ２２４を備えるものとして示されている。読み出し／書き込みチャネル２１３は、読み出し／書き込みパス２１２とサーボ復調器２０４とを備えるものとして示されている。読み出し／書き込みパス２１２は、ユーザデータ及びサーボデータを読み出し、書き込むために使用できるが、サーボ復調に有用なフロントエンド回路を備えてもよい。読み出し／書き込みパス２１２はまた、セルフサーボ書き込みでサーボ情報を書き込むために使用され得る。なお、ディスクドライブ１００は他のコンポーネントも備えるが、それらは例示の実施形態を説明するのに必要ではないため、図示されていないことに留意すべきである。
【００１８】
ＨＤＡ２０６は、トランスデューサ又はトランスデューシングヘッド１４６によってデータ及びサーボ情報を書き込み、読み出すことができる、１又は複数のディスク１２０を備える。ボイスコイルモータ（ＶＣＭ）１１２は、トランスデューシングヘッド１４６をディスク１２０上に位置決めするためにアクチュエータ１３０を移動させる。モータドライバ２２２は、ＶＣＭ１１２とスピンドルモータ（ＳＭ）２１６とを駆動する。より具体的には、マイクロプロセッサ２１０は、モータドライバ２２２を用いて、ＶＣＭ１１２とアクチュエータ１３０とを制御して、データの確実な読み出し及び書き込みが達成できるようにヘッド１４６を（図１−図３を参照しつつ説明される）トラック上に正確に位置決めする。サーボフィールド１２８は、図１−図３の説明中で説明されるが、ヘッド１４６をトラック上に維持し、データが書き込まれる、又はデータが読み出されるディスク１２０上の適当な位置を識別することを支援するためのサーボ制御に用いられる。サーボウェッジ１２８を読み出すとき、トランスデューシングヘッド１４６は、サーボウェッジ１２８中の位置情報を検出して、トランスデューシングヘッド１４６の適当な位置決めのためのフィードバックを提供するセンサとして機能する。
【００１９】
サーボ復調器２０４は、サーボ位相ロックループ（ＰＬＬ）２２６、サーボ自動利得制御（ＡＧＣ）２２８、サーボフィールド検出器２３０、及びレジスタ空間２３２を備えるものとして示されている。サーボＰＬＬ２２６は、一般に、サーボ復調器２０４内の１又は複数のタイミング回路若しくはクロック回路（図２には図示せず）の周波数及び位相制御を提供するために用いられる制御ループである。例えば、サーボＰＬＬ２２６は、読み出し／書き出しパス２１２にタイミング信号を提供することができる。サーボＡＣＧ２２８は、可変利得増幅器を備える（若しくは駆動する）が、ディスク１２０のうちの１つのサーボウェッジ１２８が読み出されているときに、読み出し／書き込みパス２１２の出力を実質的に一定のレベルに維持するために用いられる。サーボフィールド検出器２３０は、ＳＡＭ２０４、トラック番号２０６、第１の位相サーボバースト２１０、及び第２の位相サーボバースト２２０を含む、サーボウェッジ１２８の種々のサブフィールドを検出及び／又は復調するために用いられる。マイクロプロセッサ２１０は、種々の復調機能（例えば、判定、比較、特徴付け（characterization）等）を実行するために用いられ、サーボ復調器２０４の一部であると考えることができる。代替案では、サーボ復調器２０４は、それ自身のマイクロプロセッサを備えることができる。
【００２０】
（例えば、レジスタ空間２３２の）１つ又は複数のレジスタは、読み出し／書き込みパス２１２がサーボデータを読み出しているときに、適当なサーボＡＧＣ値（例えば、ゲイン値、フィルタ係数、フィルタ累積パス（filter accumulation paths）等）を格納するために用いることができ、１つ又は複数のレジスタは、読み出し／書き込みパス２１２がユーザデータを読み出しているときに、適当な値（例えば、ゲイン値、フィルタ係数、フィルタ累積パス等）を格納するために用いることができる。制御信号は、読み出し／書き込みパス２１２の現在のモードに従った適当なレジスタを選択するのに用いることができる。格納された１つ又は複数のサーボＡＣＧ値は、動的に更新することができる。例えば、読み出し／書き込みパス２１２がサーボデータを読み出すときに用いる、格納された１つ又は複数のサーボＡＧＣ値は、更なるサーボウェッジ１２８が読み出される度に更新することができる。このように、最も新しく読み出されたサーボウェッジ１２８について決定された１つ又は複数のサーボＡＧＣ値は、次のサーボウェッジ１２８が読み出されるときの初期サーボＡＧＣ値とし得る。
【００２１】
読み出し／書き込みパス２１２は、ディスク１２０に情報を書き込み、ディスク１２０から情報を読み出す処理で用いられる電子回路を備える。マイクロプロセッサ２１０は、サーボ制御アルゴリズムを実行することができ、従って、サーボコントローラと称されてもよい。あるいは、別個のマイクロプロセッサ又はデジタル信号プロセッサ（図示せず）がサーボ制御機能を実行することができる。
【００２２】
図３は、一実施形態に係る、図２の読み出し／書き込みパス２１２を更に詳細に示す概略図である。読み出し／書き込みパス２１２は、書き込みチャネル部３１０と読み出しチャネル部３３０とを備える。読み出し／書き込みパス２１２は通常、点線３０１で示されるように、半導体チップに収容されている。半導体チップも、プリント基板３０２に取り付けられているが、これもディスクドライブ１００（図１を参照）のハウジング１０４に取り付けられている。このことは図３に概略的に示されているので、プリント基板３０２に対するチップ又は半導体チップ３０１の大きさは釣り合いが取れていない。読み出し／書き込みパス２１２は通常、エンコーダ／デコーダ（ＥＮＤＥＣ）と称される半導体チップに含まれている。読み出し／書き込みパス２１２は、書き込み部３１０、書き込みプレコンペンセーション（precompensation）モジュール３１３、及び書き込みドライバ３１４を備えるが、書き込み部３１０は、クライアントデータ（customer data）をエンコードするプリコーダ（precoder）３１２とエンコーダ３１１とを備える。書き込みプレコンペンセーションモジュール３１３は、エンコードされたデータに関連付けられた信号を調整し、ディスク１２０に書き込まれた状態で、読み出しチャネル３３０を用いてデータがより簡単に読み出されるようにする。書き込みドライバ３１４は、データがどこに書き込まれるかを決定する。本実施形態において、データは、フラッシュキャッシュメモリ領域４２０に書き込むことも、ディスクドライブ１００（図１を参照）のディスク１２０に書き込むこともできる。以下に論じ、説明するように、フラッシュキャッシュメモリ領域４２０は、ディスク１２０から離れていても、ディスク１２０上にあってもよい。フラッシュキャッシュメモリ領域４２０（図３に示す）は、フラッシュキャッシュメモリ領域の概略的な表示であり、ディスク１２０、又はディスク１２０から離れたメモリ領域へのデータの書き込みを含む。
【００２３】
読み出し／書き込みパス２１２の読み出し部３３０は、プリアンプ３３１、可変利得増幅器３３２、アナログイコライザ３３３、及びアナログ／デジタル変換器３３４を備える。要素３３１乃至３３４は、アナログ信号を増幅し、それを等化し、それをデジタル信号に変換するのに用いられる。アナログ／デジタル変換器３３４で変換された後、信号はデジタルイコライザ３３５に、次いでビタビ検出器３３６に供給され、最後にデコーダ３３７によってデコードされる。デジタルイコライザ３３５からの信号はまた、利得及びタイミング制御部３３８に供給されるが、これは可変利得増幅器３３２のフィードバック制御ループの一部である。なお、図３は、読み出し／書き込みパス２１２の一つの代表例であることに留意すべきである。読み出し／書き込みパス２１２は、アナログベースであっても、デジタルベースであってもよい。本発明は、いずれのタイプの読み出し／書き込みパス２１２にも同様に適用できる。
【００２４】
図４は、キャッシュ４１０、フラッシュキャッシュメモリ領域４２０、及びコントローラ４３０を備えるディスクドライブ４００の概略図である。図４に示す本発明の実施形態において、フラッシュキャッシュメモリ領域４２０は、実際には２つのフラッシュキャッシュメモリ領域４２２及び４２４を備える。フラッシュキャッシュメモリ領域４２０は、ＥＥＰＲＯＭ又は他のタイプの不揮発性メモリといった、不揮発性メモリである。不揮発性メモリは、メモリへの電源が切られてもコンテンツが不変のままである記憶媒体である。換言すれば、不揮発性メモリに記憶された情報は、メモリ又は記憶媒体への電源が復帰したときに利用可能である。２つのフラッシュキャッシュメモリ領域４２２、４２４は、１つの不揮発性メモリ又は１つのＥＥＰＲＯＭに関連付けられた２つの場所にあってもよい。別の実施形態では、２つのフラッシュキャッシュメモリ領域４２２、４２４は、２つの別個のＥＥＰＲＯＭといった、別個の不揮発性メモリチップにあってもよい。なお、フラッシュキャッシュメモリ領域４２０は、フラッシュキャッシュメモリ領域４２２及び４２４といった２つのフラッシュキャッシュメモリ領域だけに限定されないことに留意されたい。他の実施形態では、更なるフラッシュキャッシュメモリ領域が設けられてもよい。
【００２５】
キャッシュ４１０は、ホスト４４０がディスクドライブ４００に要求し得る、ディスクドライブ４００のディスクから読み出される情報だけでなく、ホスト４４０から受け取った書き込み命令を記憶するための領域を備える。従って、キャッシュ４１０は、ホストコンピュータ４４０から受け取った書き込み命令を記憶する書き込みキャッシュ部を有するものとして、また、ディスク又はディスクドライブから取り出した情報を格納する読み出し部を有するものとして考えることができる。重要なことは、キャッシュ４１０が、フラッシュキャッシュメモリ領域４２２、４２４とは別個であることである。ホスト４４０は、ディスクドライブ４００に対して、「フラッシュキャッシュ」及び「フラッシュキャッシュ命令」を発行することができる。
【００２６】
ホストコンピュータ４４０は、フラッシュキャッシュ命令をディスクドライブ４００に送信して、自身がディスクドライブ４００に送信し、キャッシュ４１０の書き込みキャッシュ部に存在し得るデータが媒体に確実に書き込まれたことを保証し（assure）、ホストコンピュータ４４０又はディスクドライブ４００が停電にあったとしても、データが回復可能な（recoverable）ようにするであろう。ディスクドライブ４００が、「フラッシュキャッシュ」命令を首尾よく完了したことを信号で伝えるとき、ディスクドライブ４００は、ホストコンピュータ４４０に対して、対応するデータがホスト４４０によって回復可能なことを保証する。「フラッシュキャッシュ」命令に応答して、ディスクドライブ４００のコントローラ４３０は、キャッシュ４１０から第１の不揮発性メモリ領域４２２又は第２の不揮発性メモリ領域４２４への情報の書き込みを制御する。コントローラ４３０は、ディスクドライブ４００からデータが回復可能なことを保証するように、キャッシュ４１０から不揮発性メモリに情報を書き込む。
【００２７】
なお、「フラッシュキャッシュ」命令が首尾よく完了したことを信号で伝えた後であっても、ホスト４４０は同一のデータをその後の読み出し命令で要求し得るので、ディスクドライブ４００は、キャッシュ４１０の読み出し部にデータの一部又は全部を保持することがあり得る。読み出しキャッシュ４１０からデータを取得する方が、媒体からデータを読み出すよりも速い。ディスクドライブ４００は、媒体の他の領域から読み出した更なる新たなデータといった、更なる情報がキャッシュに供給されるとすぐに、キャッシュ４１０の読み出し部のデータを失うであろう。
【００２８】
図５は、一実施形態に係る、第１のフラッシュキャッシュメモリ領域５２２と第２のフラッシュキャッシュメモリ領域５２４とを有するディスク１２０の図である。ディスク１２０は、トラック１２９といった複数のトラックを有する。一実施形態において、フラッシュキャッシュメモリ領域５２２とフラッシュキャッシュメモリ領域５２４は、トラック１２９といった同一のトラックに配置され得る。フラッシュキャッシュメモリ領域５２２及び５２４の各々を同一のトラック１２９に配置することは必須ではない。本発明の別の実施形態において、フラッシュキャッシュメモリ領域５２２、５２４は、ディスクドライブの異なるトラックに配置することができる。図５にも示されるように、フラッシュキャッシュメモリ領域５２２は、フラッシュキャッシュメモリ領域５２４とはディスク１２０の反対側にある。このことは、フラッシュキャッシュメモリ領域５２２をフラッシュキャッシュメモリ領域５２４とは１８０度離して、ホスト４４０（図４を参照）からの２つのフラッシュキャッシュ命令が１回の回転でより容易に扱うことができるといった、幾つかの利点をもたらし得るが、ディスク上のフラッシュキャッシュメモリ領域５２２、５２４をディスクの反対側にする、又は互いに１８０度離すことは必要条件ではない。フラッシュキャッシュメモリ領域５２２及び５２４は、不揮発性メモリ領域である。換言すれば、フラッシュキャッシュ命令に対して応答され、キャッシュ４１０内の全ての書き込み命令がディスク１２０のフラッシュキャッシュメモリ領域５２２、５２４のうちの１つに書き込まれる場合、フラッシュキャッシュメモリ命令に関連付けられた情報は、電源が切られたり、ディスクドライブ４００に電源が供給されなくなったりしても、回復可能であろう。
【００２９】
勿論、フラッシュキャッシュメモリ領域は、読み出し／書き込みパス２１２の書き込み部３１０を用いて書き込まれる。フラッシュキャッシュメモリ領域５２２、５２４は、トランスデューサ１４６によって書き込まれるが、これはベアリング１３２に取り付けられた回転型アクチュエータ１３０によって、ディスク１２０の表面に渡って配置される。トランスデューサ１４６は、トランスデューシングヘッド又はヘッド１４６と称され得る。ディスクドライブ５００はまた、ホスト４４０からのフラッシュ書き込み命令に関連付けられた書き込み情報を制御するコントローラ５３０を備える。特に、コントローラ５３０は、キャッシュ４１０からディスク１２０上のフラッシュキャッシュメモリ領域５２２、５２４への書き込み命令の書き込みを制御する。
【００３０】
図６は、一実施形態に係る、ディスク１２０へデータを書き込む方法６００のフローチャートである。ディスクドライブへのフラッシュキャッシュ命令に関連付けられた情報を書き込む方法６００は、第１のキャッシュ命令に関連付けられた情報を、複数のフラッシュキャッシュメモリ領域のうちの１つに書き込むこと（６１０）と、第２のフラッシュキャッシュ命令に関連付けられた情報を、複数のフラッシュキャッシュメモリ領域のうちの別の１つに書き込むこと（６１２）とを備える。方法６００はまた、連続するフラッシュキャッシュ命令に関連付けられた情報を記憶するときには、複数のフラッシュキャッシュメモリ領域間で切り替えること（６１４）を備える。方法６００は、複数のフラッシュキャッシュメモリ領域の中の１つに別のフラッシュキャッシュ命令に関連付けられた情報を書き込むよりも前に、複数のフラッシュキャッシュメモリ領域の中の１つからのフラッシュキャッシュ命令に関連付けられた個々の書き込み命令の全てを書き込むこと（６１６）を備える。個々の書き込み命令の書き込みは、「フラッシュキャッシュ」命令に応答してホストに完了信号を返した後に行うことができる。一部の実施形態において、複数のフラッシュキャッシュメモリ領域は、数Ｎに対応する。フラッシュキャッシュ命令に関連付けられた情報は、ディスクドライブのディスクの特定の領域に書き込まれるべき、少なくとも１つの書き込み命令を含む。この方法は、フラッシュキャッシュ命令によって指定された個々の書き込み命令を、Ｎ個の更なるフラッシュキャッシュ命令を受け取る前に、ディスクの特定の領域に書き込むことを備える。方法６００はまた、フラッシュキャッシュ命令に関連付けられた情報を複数のフラッシュキャッシュメモリ領域のうちの１つに書き込んだ後に、書き込みキャッシュ命令の完了を示す信号を送ること（６１８）を備える。複数のフラッシュキャッシュメモリ領域は、不揮発性メモリ領域である。一部の実施形態において、複数のフラッシュキャッシュメモリ領域は、ディスクドライブのディスク上に配置される。ディスクドライブコントローラ４３０、５３０は、キャッシュメモリ領域からの個々の書き込み命令を、ディスクドライブが他の命令を実行していないときに書き込む。なお、個々の書き込み命令は、ホストからのフラッシュキャッシュ命令に対して完了を信号で伝えた後、一般に比較的短時間で完了されることに留意すべきである。
【００３１】
ディスクドライブ４００、５００は、それぞれ第１のフラッシュキャッシュメモリ領域４２２、５２２と、第２のフラッシュキャッシュメモリ領域４２４、５２４と、フラッシュキャッシュへの書き込み命令に関連付けられた情報を第１のフラッシュキャッシュメモリ領域４２２、５２２及び第２のフラッシュキャッシュメモリ領域４２４、５２４のいずれかに書き込むコントローラ４３０、５３０を備える。第１のフラッシュキャッシュメモリ領域４２２、５２２及び第２のフラッシュキャッシュメモリ領域４２４、５２４は、不揮発性メモリ領域で構成される。一実施形態において、不揮発性メモリ領域４２２、４２４は、ディスクドライブのディスクから離して配置される。別の実施形態において、不揮発性メモリ領域４２０は、ディスクドライブに関連付けられた書き込みチャネル３１０の一部である。一部の実施形態において、ディスクドライブ１００は、ディスクドライブ１００の筐体又はハウジング１０４に取り付けられたプリント基板３０２備える。不揮発性メモリ領域４２２は、プリント基板３０２に配置される。不揮発性メモリ領域４２２、４２４は、１つの不揮発性メモリデバイス４２０の少なくとも２つの部分とすることができる。
【００３２】
また別の実施形態において、第１のフラッシュキャッシュメモリ領域５２２及び第２のフラッシュキャッシュメモリ領域５２４は、ディスクドライブ５００のディスク１２０に配置される。一実施形態において、第１のフラッシュキャッシュメモリ領域５２２及び第２のフラッシュキャッシュメモリ領域５２４は、ディスクドライブ５００のディスク１２０のトラック１２９に配置される。別の実施形態において、第１のフラッシュキャッシュメモリ領域５２２及び第２のフラッシュキャッシュメモリ領域５２４は、ディスクドライブ５００のディスク１２０に対して、実質的に反対側に配置される。
【００３３】
ディスクドライブ４００のコントローラ４３０、又はディスクドライブ５００のコントローラ５３０は、ホスト４４０からのフラッシュ書き込み命令に関連付けられた情報の書き込みを制御する。本発明の一実施形態において、コントローラ４３０、５３０は、連続するフラッシュキャッシュ命令に関連付けられた情報を記憶するとき、複数のフラッシュキャッシュメモリ領域間で切り替えること（６１４）を備える、方法６００の一部を実行する。コントローラ４３０、５３０は、フラッシュキャッシュ命令に対する連続する応答ごとにインクリメントすることができるレジスタ、フラグ、フリップフロップ、スイッチ、又は状態機械を保守する（maintain）。状態機械の状態、フリップフロップ、フリップフロップの状態、フラグが使用可能か若しくは設定されているか、又はレジスタ内の数に応じて、コントローラは、フラッシュキャッシュ命令に関連付けられた情報の、複数のフラッシュキャッシュメモリ領域のうちの１つへの書き込みを指示する。例えば、ディスクドライブ４００において、コントローラ４３０は、フラッシュキャッシュ命令に関連付けられた情報の、不揮発性メモリ領域４２２又は４２４への書き込みを制御する。ディスクドライブ５００において、コントローラ５３０は、フラッシュキャッシュ命令に関連付けられた情報の、ディスク１２０のフラッシュキャッシュメモリ領域５２２、５２４のうちの１つへの書き込みを指示する。連続するフラッシュキャッシュ命令と、そのフラッシュキャッシュ命令に関連付けられた情報は、異なるフラッシュキャッシュメモリ領域に書き込まれることが重要である。連続するフラッシュキャッシュ命令に関連付けられた情報が、フラッシュキャッシュメモリ領域４２２若しくは４２４、又はフラッシュキャッシュメモリ領域５２２若しくは５２４といった、異なる若しくは別のフラッシュキャッシュメモリ領域に送られることを保証することで、ディスクドライブ及びホストコンピュータは、フラッシュキャッシュ命令に対応するデータがディスクドライブを介してホストによって回復可能であることを保証することができる。連続するフラッシュ書き込みキャッシュ命令に関連付けられた連続する書き込みが、別の領域に書き込まれない場合、先のフラッシュキャッシュ命令に関連付けられたデータが失われる可能性がある。換言すれば、第１のフラッシュ書き込みキャッシュ命令に関連付けられた情報が、フラッシュキャッシュメモリ領域に書き込まれ、フラッシュキャッシュ書き込みキャッシュメモリ命令に関連付けられた書き込み命令の全てが、次のフラッシュ書き込みキャッシュ命令が同じフラッシュキャッシュメモリ領域で受け取られるまでディスクの特定の領域に書き込まれない場合、次の又は続く情報がディスクドライブのディスクの特定の領域に実際に書き込まれる前に、先に記憶された情報を上書きしてしまう可能性がある。従って、コントローラ４３０、５３０は、連続するフラッシュ書き込み命令に関連付けられた情報が、異なる不揮発性フラッシュキャッシュメモリ領域（４２２、４２４、５２２、５２４）に書き込まれることを指示するトグルスイッチとして機能する。
【００３４】
他の実施形態では、フラッシュキャッシュメモリ領域として指定される３つ以上の不揮発性メモリ領域があってもよい。これらの他の実施形態では、コントローラ４３０、５３０は、トグルスイッチとして単純に機能することはできないが、複数の又は多数のフラッシュキャッシュメモリ領域間で切り替えるための更なるハードウェアを備える必要があるであろう。例えば、４つのフラッシュキャッシュメモリ領域がある場合、種々のフラッシュキャッシュメモリ領域への情報の書き込みを指示するために、２ビットの指示が必要となるであろう。
【００３５】
図４に示すように、フラッシュキャッシュメモリ領域４２２、４２４がディスク１２０から離して配置された場合、情報はディスク１２０に書き込まれるべく読み出し／書き込みパス２１２を通過する必要がないため、フラッシュ書き込み命令の完了についての応答は、通常、より速く与えられる。従って、離して配置されたフラッシュキャッシュメモリ領域４２２、４２４は、ホスト４４０からのフラッシュ書き込み命令の完了についてより速く応答できるため、ディスクドライブの性能を強化し得る。また、フラッシュキャッシュメモリ領域４２２、４２４は、必ずしもＥＥＰＲＯＭタイプの不揮発性メモリに限定されないことが理解されるべきである。他のタイプの不揮発性メモリも用いることができる。
【００３６】
図７は、上記のアルゴリズムを実行するプログラムを実行するコンピュータシステムのブロック図を示す。コンピュータ９１０の形をとった汎用コンピュータデバイスは、プロセシングユニット９０２、メモリ９０４、取り外し可能な記憶装置９１２、及び取り外し不可能な記憶装置９１４を備え得る。メモリ９０４は、揮発性メモリ９０６と、不揮発性メモリ９０８とを備え得る。コンピュータ９１０は、揮発性メモリ９０６及び不揮発性メモリ９０８といった種々のコンピュータ読み取り可能な媒体、取り外し可能な記憶装置９１２、及び取り外し不可能な記憶装置９１４を備えるか、これらを備えるコンピュータ環境にアクセスし得る。コンピュータストレージは、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）及び電気的に消去可能なＰＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ若しくはメモリ技術、ＣＤ  ＲＯＭ、ＤＶＤ若しくは他の光ディスクストレージ、又は、コンピュータ読み取り可能な命令を記憶することができる他の任意の媒体を含む。コンピュータ９１０は、入力部９１６、出力部９１８、及び通信接続部（communication connection）９２０を備えるコンピュータ環境を備えるか、当該コンピュータ環境にアクセスし得る。コンピュータ９１０は、１つ又は複数のリモートコンピュータに接続するための通信接続部を用いるネットワーク環境で動作し得る。リモートコンピュータは、パーソナルコンピュータ（ＰＣ）、サーバ、ルータ、ネットワークＰＣ、ピアデバイス又は他の一般的なネットワークノード等を含んでもよい。通信接続部は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、又は他のネットワークを含み得る。マイクロプロセッサ２１０（図２を参照）、コントローラ４３０（図４を参照）、又はコントローラ５３０（図５を参照）は、そのようなコンピュータシステムであってよい。
【００３７】
コンピュータ読み取り可能な記録媒体に記録されたコンピュータ読み取り可能な命令は、コンピュータ９１０のプロセシングユニット９０２によって実行することができる。ハードドライブ、ＣＤ−ＲＯＭ、及びＲＡＭは、コンピュータ読み取り可能な記録媒体を備える物品の一例である。例えば、本発明の教示に係る、ホスト４４０からの連続するフラッシュキャッシュ命令に関連付けられた情報の書き込みを制御するために実行されるコンピュータプログラム９２５は、ＣＤ−ＲＯＭに含まれ、当該ＣＤ−ＲＯＭからハードドライブにロードされてもよい。コンピュータプログラム９２５はまた、ディスクドライブ１００、４００、５００に関連付けられた、ファームウェアと称されるものであってもよい。一部の実施形態では、コンピュータプログラム９２５の複製を、ディスクドライブ１００、４００、５００のディスク１２０に記憶することができる。
【００３８】
また別の実施形態において、コンピュータ読み取り可能な記録媒体は、コンピュータによって実行されたときに、第１のフラッシュキャッシュ命令に関連付けられた情報を複数のフラッシュキャッシュメモリ領域のうちの１つに書き込むことと、第２のフラッシュキャッシュ命令に関連付けられた情報を複数のフラッシュキャッシュメモリ領域のうちの別の１つに書き込むことを含む動作をコンピュータに実行させる命令を提供する。コンピュータ読み取り可能な記録媒体の命令はまた、連続するフラッシュキャッシュ命令に関連付けられた情報を記憶するときに、複数のフラッシュキャッシュメモリ領域間で切り替えることを含む動作をコンピュータに実行させる。コンピュータ読み取り可能な記録媒体の命令はまた、複数のフラッシュキャッシュメモリ領域の中の１つに別のフラッシュキャッシュ命令に関連付けられた情報を書き込む前に、複数のフラッシュキャッシュメモリ領域の中の１つからのフラッシュキャッシュ命令に関連付けられた個々の書き込み命令の全てを書き込むことを含む動作をコンピュータに実行させる。コンピュータ読み取り可能な記録媒体の命令はまた、フラッシュキャッシュ命令に関連付けられた情報を複数のフラッシュキャッシュメモリ領域の中の１つに書き込んだ後に、書き込みキャッシュ命令の完了を示す信号をコンピュータに送らせる。
【００３９】
特定の実施形態についての上記の説明は、本発明の一般的な性質を、他者が現在の知識を適用することで、包括的な概念から逸脱することなく、容易に種々の応用例に変更及び／又は適用できるように充分に明らかにするものであり、従って、そのような適用及び変更は、開示される実施形態の意味及び均等物の範囲内で理解されるべきものである。
【００４０】
本明細書で使用される用語又は専門用語は、説明を目的とするものであって、限定を目的とするものではないことが理解されるべきである。従って、本発明は、添付の特許請求の範囲の精神及び広範な範囲に含まれる、全てのそのような代替物、変更、均等物、及び変形物を包含するものである。
【図面の簡単な説明】
【００４１】
【図１】本明細書に記載される例示の実施形態を利用するディスクドライブの展開図である。
【図２】一実施形態に係る、種々の電気的な部分を備えるディスクドライブの概略図である。
【図３】一実施形態に係る、図２の読み出し／書き込みパスの一部を示す概略図である。
【図４】一実施形態に係る、複数のフラッシュキャッシュメモリ領域を備えるディスクドライブの概略図である。
【図５】一実施形態に係る、少なくとも第１のフラッシュキャッシュメモリ領域と第２のフラッシュキャッシュメモリ領域とを有するディスクを示す図である。
【図６】一実施形態に係る、データをディスクに書き込む方法のフローチャートである。
【図７】一実施形態に係る、コンピューティングシステムを示す図である。
【符号の説明】
【００４２】
１００…ディスクドライブ、１０２…ハウジング、１０４…ハウジングベース、１０６…ハウジングカバー、１１０…上部及び下部磁気リターンプレート、１１２…ボイスコイルモータ（ＶＣＭ）、１２０…ディスク、１２１…クランプ、１２２…スピンドル、１２８…スポーク、１２９…トラック、１３０…回転型アクチュエータ、１３２…ベアリング、１３４…ボイスコイル、１４６…トランスデューシングヘッド、１５０…ランプ、２０４…サーボ復調器、２１０…マイクロプロセッサ、２１２…読み出し／書き込みパス、２１３…読み出し／書き込みチャネル、２２２…モータドライバ、２２４…バッファ、２２６…サーボＰＬＬ、２２８…サーボＡＧＣ、２３０…サーボフィールド検出器、２３２…レジスタ空間、３１０…エンコーダ、３１３…書き込みプレコンペンセーションモジュール、３１４…書き込みドライバ、３３１…プリアンプ、３３３…アナログイコライザ、３３４…アナログ／デジタル変換器、３３５…デジタルイコライザ、３３６…ビタビ検出器、３３７…デコーダ、３３８…利得及びタイミング制御部、４１０…キャッシュ、４２０…フラッシュキャッシュメモリ領域、４４０…ホスト、５３０…コントローラ、９０２…プロセシングユニット、９０６…揮発性メモリ、９０８…不揮発性メモリ、９１２…取り外し可能な記憶装置、９１４…取り外し不可能な記憶装置、９１６…入力部、９１８…出力部、９２０…通信接続部、９２５…プログラム。
【図１】
2007265600.tif 000003
【図２】
2007265600.tif 000004
【図３】
2007265600.tif 000005
【図４】
2007265600.tif 000006
【図５】
2007265600.tif 000007
【図６】
2007265600.tif 000008
【図７】
2007265600.tif 000009