(57)【要約】【課題】ディスクに対するデータ転送速度を低下させることなく、キャッシュメモリの長寿命化を実現する。【解決手段】書き込みコマンドが到着し(28)、DRAM20が満杯になっていない場合(30)、書き込みデータをDRAMに書き込む(32)。DRAMが満杯で、ディスク18が回転している場合(34)、DRAMからディスクにデータをデステージする(36)。その後、DRAMを使用して書き込み要求を満足させる(32)。ディスクが回転していない場合で、フラッシュメモリ22が満杯でない場合(38)、DRAMからフラッシュメモリにデータをデステージし(40)、DRAMを使用して書き込み要求を満足させる(32)。フラッシュメモリが満杯の場合、ディスクをスピンアップしてフラッシュメモリからディスクにデータをデステージする(42)。次に、DRAMからフラッシュメモリにデータをデステージし(40)、DRAMを使用して書き込み要求を満足させる(32)。【選択図】図２
2006114206.tif 000002
【特許請求の範囲】
【請求項１】
データを格納する少なくとも1つのディスクと、
少なくとも1つのDRAM（Dynamic Random Access Memory）素子と、
少なくとも1つのフラッシュメモリ素子と、
ロジックを実行することによってデータストレージを管理する少なくとも1つのディスクコントローラと、を有し、前記ロジックは少なくとも部分的に、
書き込み要求を受信するステップと、
前記DRAM素子が満杯かどうかの判断を行い、満杯でない場合、データを前記DRAM素子に書き込んで前記書き込み要求を満足させるステップと、
前記DRAM素子が満杯の場合、少なくとも一定時間、前記フラッシュメモリ素子が満杯かどうかの判断を行い、満杯でない場合、前記DRAM素子から前記フラッシュメモリ素子にデータをデステージしてから、データを前記DRAM素子に書き込んで前記書き込み要求を満足させ、前記フラッシュメモリ素子が満杯の場合、前記ディスクが回転していなければ前記ディスクをスピンアップして、データを前記フラッシュメモリ素子から前記ディスクにデステージした後、データを前記DRAM素子から前記フラッシュメモリ素子にデステージし、その後、データを前記DRAM素子に書き込んで前記書き込み要求を満足させるステップと、を含むことを特徴とするハードディスクドライブ（HDD）。
【請求項２】
前記フラッシュメモリ素子が満杯かどうかの判断を行う前に、前記ディスクが回転しているかどうかを判断して、前記ディスクが回転している場合、前記DRAM素子から前記ディスクにデータをデステージしてから、データを前記DRAM素子に書き込んで前記書き込み要求を満足させ、前記ディスクが回転していない場合は、前記フラッシュメモリ素子が満杯どうかの判断を実行するステップを、さらに含むことを特徴とする請求項１に記載のHDD。
【請求項３】
ユーザが、前記ディスクが回転しているかどうかの判断を行うかどうかを選択することができることを特徴とする請求項２に記載のHDD。
【請求項４】
前記HDDはモバイルHDDであることを特徴とする請求項１に記載のHDD。
【請求項５】
前記HDDにアクセスするバッテリ駆動のホストコンピュータをさらに有することを特徴とする請求項１に記載のHDD。
【請求項６】
前記ディスクコントローラは、ロジックを実行することによって少なくとも部分的にデータストレージを管理し、前記ロジックは、
入出力（I/O）条件が満たされたかどうかの判断を行って、前記入出力（I/O）条件が満たされた場合、
前記ディスクが回転しているかどうかを判断して、前記ディスクが回転していない場合、前記DRAM素子に格納されるデータを前記フラッシュメモリ素子にデステージし、前記ディスクが回転している場合、前記DRAM素子に格納されているデータを前記ディスクにデステージするステップと、
前記ディスクが回転していてかつ前記DRAM素子が空いている場合、前記フラッシュメモリ素子に格納されているデータを前記ディスクにデステージするステップと、を含むことを特徴とする請求項１に記載のHDD。
【請求項７】
前記I/O条件は、保留中のI/O要求がないことであることを特徴とする請求項６に記載のHDD。
【請求項８】
少なくとも１つのディスクを有するハードディスクドライブ（HDD）内に配置するように構成されたチップであって、
前記ディスクが回転していない場合にデータをDRAM素子からフラッシュメモリ素子にデステージするための手段と、
前記ディスクが回転している場合にデータを前記フラッシュメモリ素子から前記ディスクにデステージするための手段と、を有することを特徴とするチップ。
【請求項９】
データをデステージする前記両方の手段は、あらかじめ決められたI/O条件が満たされた場合のみ起動されることを特徴とする請求項８に記載のチップ。
【請求項１０】
前記I/O条件は、保留中のI/O要求がないことであることを特徴とする請求項８に記載のチップ。
【請求項１１】
データを前記フラッシュメモリ素子から前記ディスクにデステージする前記手段は、前記DRAM素子が空であってかつ前記ディスクが回転している場合に実行されることを特徴とする請求項８に記載のチップ。
【請求項１２】
前記DRAM素子が空ではなくかつ前記ディスクが回転している場合に、前記DRAM素子から前記ディスクにデータをデステージする手段をさらに含むことを特徴とする請求項１１に記載のチップ。
【請求項１３】
書き込み要求を受信する手段と、
前記書き込み要求に応じて、前記DRAM素子が満杯かどうかを判断して、前記DRAM素子が満杯でない場合、データを前記DRAM素子に書き込んで前記書き込み要求を満足させる手段と、
前記DRAM素子が満杯の場合に、少なくとも一部の書き込み要求に対して実行することを目的として、前記フラッシュメモリ素子が満杯かどうかの判断を行い、前記フラッシュメモリ素子が満杯でない場合、データを前記DRAM素子から前記フラッシュメモリ素子にデステージしてから、データを前記DRAM素子に書き込んで前記書き込み要求を満足させ、前記フラッシュメモリ素子が満杯の場合は、前記ディスクが回転していなければ前記ディスクをスピンアップして、データを前記フラッシュメモリ素子から前記ディスクにデステージした後、データを前記DRAM素子から前記フラッシュメモリ素子にデステージして、その後、データを前記DRAM素子に書き込んで前記書き込み要求を満足させる手段と、をさらに有することを特徴とする請求項８に記載のチップ。
【請求項１４】
前記ディスクが回転しているかどうかを判断して、前記ディスクが回転している場合、データを前記DRAM素子から前記ディスクにデステージしてから、データを前記DRAM素子に書き込んで前記書き込み要求を満足させる手段をさらに有することを特徴とする請求項１３に記載のチップ。
【請求項１５】
前記ディスクが回転しているかどうかを判断する手段を、ユーザが選択的に起動できるようにする手段をさらに有することを特徴とする請求項１４に記載のチップ。
【請求項１６】
方法を実行するために処理装置によって実行可能なコンピュータプログラム製品であって、
少なくとも１つの回転可能なディスクと、少なくとも１つの不揮発性ソリッドステートメモリ素子と、少なくともHDDが電力を利用可能なときに動作可能な少なくとも１つの揮発性ソリッドステートメモリ素子とを有するハードディスクドライブ（HDD）内のデータストレージを、前記ディスクが回転しているときと回転していないときの両方の状態で管理するステップを含むことを特徴とするコンピュータプログラム製品。
【請求項１７】
前記揮発性メモリ素子はDRAM素子であり、前記不揮発性メモリ素子はフラッシュメモリ素子であり、前記データストレージを管理するステップは、書き込み要求を受信するステップを含み、それに応じて、
前記DRAM素子が満杯かどうかの判断を行って、満杯でない場合、データを前記DRAM素子に書き込んで前記書き込み要求を満足させるステップと、
前記DRAM素子が満杯の場合に、少なくとも一定時間、前記フラッシュメモリ素子が満杯かどうかの判断を行い、前記フラッシュメモリ素子が満杯でない場合、前記DRAM素子から前記フラッシュメモリ素子にデータをデステージしてから、データを前記DRAM素子に書き込んで前記書き込み要求を満足させ、前記フラッシュメモリ素子が満杯の場合は、前記ディスクが回転していなければ前記ディスクをスピンアップして、データを前記フラッシュメモリ素子から前記ディスクにデステージした後、データを前記DRAM素子から前記フラッシュメモリ素子にデステージして、その後、データを前記DRAM素子に書き込んで前記書き込み要求を満足させるステップと、を含むことを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項１８】
前記フラッシュメモリ素子が満杯かどうかの判断を行う前に、前記ディスクが回転しているかどうかを判断して、前記ディスクが回転している場合、データを前記DRAM素子から前記ディスクにデステージしてから、データを前記DRAM素子に書き込んで前記書き込み要求を満足させ、前記ディスクが回転していない場合は、前記フラッシュメモリ素子が満杯どうかの判断を実行するステップを、さらに含むことを特徴とする請求項１７に記載のコンピュータプログラム製品。
【請求項１９】
ユーザが、前記ディスクが回転しているかどうかの判断を行うかどうかを選択することができることを特徴とする請求項１８に記載のコンピュータプログラム製品。
【請求項２０】
前記HDDはモバイルHDDであることを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項２１】
前記HDDにアクセスするバッテリ駆動のホストコンピュータによって実行されることを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項２２】
前記データストレージを管理するステップは、
入出力（I/O）条件が満たされたかどうかの判断を行うステップと、
前記入出力（I/O）条件が満たされた場合、前記ディスクが回転しているかどうかを判断して、前記ディスクが回転していない場合、前記DRAM素子に格納されるデータを前記フラッシュメモリ素子にデステージし、前記ディスクが回転している場合、前記DRAM素子に格納されているデータを前記ディスクにデステージするステップと、
前記ディスクが回転していてかつ前記DRAM素子が空いている場合、前記フラッシュメモリ素子に格納されているデータを前記ディスクにデステージするステップと、を含むことを特徴とする請求項１７に記載のコンピュータプログラム製品。
【請求項２３】
前記I/O条件は、保留中のI/O要求がないことであることを特徴とする請求項２２に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードディスクドライブに関するものである。
【背景技術】
【０００２】
ハードディスクドライブ（HDD）は、一般に、ディスクメモリ、および「キャッシュ」と呼ばれるソリッドステートメモリの両方を有する。キャッシュは、ディスクとホストコンピュータとの間で転送されるデータを一時的に保持するためのものである。従来から、キャッシュには、揮発性メモリとして構成されたDRAM（Dynamic Random Access Memory）が用いられる。揮発性メモリは、書き込み／消去をかなりの回数繰り返すことが可能であるとともに、ディスクに対して非常に高いデータ転送速度を有する。
【０００３】
バッテリによって電源が供給されるモバイルコンピュータが出現したことにより、一部のHDDでは、非作動状態がしばらくの間続いた場合、ディスクをスピンダウンする（回転を停止させる）ようになった。ディスクをスピンダウンする主な目的は、コンピュータのバッテリの寿命を延ばすことにある。電子回路を作動状態のままでディスクドライブをスタンバイモードまでスピンダウンすると、バッテリの電力は節約される。しかし、ここで認識されるように、データをディスクに書き込まれなければならないときは、ディスクをスピンアップして書き込み動作が可能な状態にしなければならず、スピンアップする際にかなりの量のバッテリ電力が消費される。スピンアップが必要な状態が頻繁に発生すると、省電力を達成することができない。
【０００４】
【特許文献１】米国特許第６２９５５７７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従って、本発明で理解されることは、ひとつの解決策として、書き込みデータをDRAMにキャッシュした後、少し遅れて、キャッシュしたデータをディスクにデステージすることである。ここでさらに理解されるように、DRAMは揮発性メモリであるため、キャッシュされたデータがディスクにデステージされる前にHDDの電力が失われる場合などに、DRAM内のデータは残念なことに消失してしまう可能性がある。
【０００６】
そこで、モバイルディスクドライブ内のDRAMメモリを不揮発性フラッシュメモリと置き換えることが提案された。フラッシュメモリは不揮発性であるため、電力が失われてもフラッシュメモリに格納されているデータは消失することはない。また、フラッシュメモリは、一般に、同様のサイズのDRAMメモリよりもかなり記憶容量が大きく、例えば、小型のDRAMチップの記憶容量が約８MBであるのに対して、小型のフラッシュメモリチップが格納可能な記憶容量は現在約128MBである。このことは、フラッシュメモリを使用した場合、ディスクがスタンバイモードの状態でいられる期間が延びたことを意味する。
【０００７】
しかし、ここで批判的に認識されるように、モバイルHDD内のDRAMをフラッシュメモリに置き換えることには、二つの欠点がある。第一に、フラッシュメモリのデータ転送速度は、DRAMのデータ転送速度よりもかなり遅い。DRAMのデータ転送速度は、ドライブホストインタフェースバスの帯域幅（100〜200MB/s）を上回ることが可能である。それに対して、フラッシュメモリの代表的なデータ転送速度は、２MB/sという遅さである。結果として、DRAMの代わりにフラッシュメモリを使用すると、ディスクドライブのパフォーマンスが著しく低下することとなる。第二の欠点は、フラッシュメモリに繰り返して書き込める回数に限界があることである。フラッシュメモリを従来の書き込みキャッシュとして使用した場合、その寿命を予想以上に早く使い果たしてしまう可能性がある。特許文献１では、電力が失われた場合にDRAMデータをフラッシュメモリに保存する方法について記述されているが、ここで予期される状況によっては、ディスクの動作中、および／または電力が失われていないときにも、フラッシュメモリを使用する必要が生じることが理解されていない。
【課題を解決するための手段】
【０００８】
ハードディスクドライブ（HDD）は、データを格納する少なくとも一つのディスクと、ディスクコントローラとを有する。またこのHDDは、さらにDRAM（Dynamic Random Access Memory）素子と、フラッシュメモリ素子とを有する。ディスクコントローラは、ロジックを実行することによってデータストレージを管理する。このロジックには、書き込み要求を受信すること、およびそれに応じてDRAM素子が満杯かどうかを判断することが含まれる。DRAM素子が満杯でない場合、データをDRAM素子に書き込んで書き込み要求を満足させる。DRAM素子が満杯の場合、少なくとも一定時間、前記ロジックは、フラッシュメモリ素子が満杯かどうかについて判断することを含むことができる。フラッシュメモリ素子が満杯でない場合、DRAM素子からフラッシュメモリ素子にデータをデステージした後、データをDRAM素子に書き込んで書き込み要求を満足させる。それに対して、フラッシュメモリ素子が満杯である場合、ディスクがすでに回転中でなければ、ディスクをスピンアップしてデータをフラッシュメモリ素子からディスクにデステージする。その後、データをDRAM素子からフラッシュメモリ素子にデステージして、DRAM素子を空けることができる。その結果、データをDRAM素子に書き込んで書き込み要求を満足させることができる。
【０００９】
必要に応じて、フラッシュメモリ素子が満杯かどうかの判断を行う前に、ディスクが回転しているかどうかを判断することができる。ここで理解すべきことは、一部の実装例では、このオプションを実行するかどうかをユーザが選択できることである。そのような実装例においては、ディスクが回転している場合、データをDRAM素子からディスクにデステージして、その後、データをDRAM素子に書き込んで書き込み要求を満足させることができる。
【００１０】
また、保留中のI/O要求がないとき、コントローラはディスクが回転しているかどうかを判断することができる。ディスクが回転していない場合、DRAM素子に格納されるデータをフラッシュメモリ素子にデステージする。ディスクが回転している場合、コントローラはDRAM素子に格納されているデータをディスクにデステージする。それに対して、ディスクが回転しておりかつDRAM素子が空いている場合、フラッシュメモリ素子に格納されているデータを、ディスクに直接デステージすることができる。
【００１１】
別の様態においては、チップは、少なくとも1つのディスクを有するハードディスクドライブ（HDD）内に配置されるように構成される。このチップは、ディスクが回転していない場合にDRAM素子からフラッシュメモリ素子にデータをデステージする手段を含む。チップは、さらに、ディスクが回転している場合にフラッシュメモリ素子からディスクにデータをデステージするための手段も含む。
【００１２】
さらに別の様態においては、コンピュータプログラム製品は、ディスクが回転しているときと回転していないときの両方の状態において、ハードディスクドライブ（HDD）内のデータストレージを管理する処理装置によって実行可能であり、前記ハードディスクドライブは、少なくとも１つの回転可能なディスクと、不揮発性ソリッドステートメモリ素子と、HDDが電力を利用可能なときには揮発性ソリッドステートメモリ素子とを有する。
【００１３】
本発明の詳細は、その構造および動作の両方に関して、添付図面を参照することによって最もよく理解することができる。添付図面においては、同様の参照符号は同様の部品を表す。
【発明の効果】
【００１４】
本発明によれば、キャッシュメモリからディスクに対するデータ転送速度を低下させることなく、キャッシュメモリの長寿命化を実現するHDDを提供することができる。
【発明を実施するための最良の形態】
【００１５】
最初に、図１を参照すると、全体を符号10で表したハードディスクドライブ（HDD）が図示されている。ハードディスクドライブ10は、ハードディスクのドライブコントローラ12を収納するハウジング11を有する。ドライブコントローラ12は、マイクロコントローラを内蔵することおよび／またはマイクロコントローラによって実装することができる。ドライブコントローラ12は、マイクロコードストレージ14などの（ただし、これに限定されるものではない）コンピュータプログラム装置または製品の内部にある電子データストレージにアクセスする。マイクロコードストレージ14は、ソリッドステートメモリ素子によって実装してもよい。マイクロコードストレージ14は、以下に論じるロジックを具現化するマイクロコードを格納することができる。
【００１６】
HDDコントローラ12は、読み取り/書き込み機構16を制御する。この読み取り/書き込み機構16には、一つ以上のディスク18にデータを書き込むための一つ以上のヘッドが含まれる。限定を意図しない実装例としては、HDD 10には複数のヘッドおよび複数のディスク18が含まれる。各ヘッドは、とりわけ、複数のディスク18のデータを読み取るための各読み取り素子、および複数のディスク18にデータを書き込むための各書き込み素子にそれぞれ関連付けられている。
【００１７】
HDDコントローラ12は、内部HDDバス24を通じて、ソリッドステート揮発性メモリ（望ましくは、DRAM（Dynamic Random Access Memory）素子20）、およびソリッドステート不揮発性メモリ（望ましくは、フラッシュメモリ素子22）の両方と通信を行う。
【００１８】
当該技術で知られるHDD原理に従って、HDDコントローラ12は、ホストインタフェースモジュール26を通じて外部のホストコンピュータ25とも通信を行う。ホストコンピュータ25は、バッテリによって電源供給が可能なポータブルコンピュータとすることができる。したがって、HDD 10はモバイルHDDとすることができる。
【００１９】
上記のように、以下に開示されるロジックは、HDDコントローラ12から独立したマイクロコードストレージ14に格納されるが、マイクロコードストレージ14をコントローラ12と一体化してもよい。または、このロジックを、読み取り/書き込み機構16に含めてもよい。もしくは、このロジックを、DRAM 20またはフラッシュメモリ素子22に格納してもよい。このロジックは、前述の構成要素を通じて分配されるとともに、ハードウェア論理回路および／またはソフトウェア論理回路に実装される。
【００２０】
図２に、本書き込みロジックを示す。状態28で開始すると、書き込みコマンドがHDDコントローラに到着する。それに応じて判断ブロック30に進むと、DRAM 20が満杯かどうかの判断を行う。記憶装置が満杯かどうかを判断することは、記憶装置を最大容量まで使用しているかどうかを判断すること、および／または書き込みを要求されたデータを保持するのに十分な未使用の容量が記憶装置に残っているかどうかを判断することを意味する。DRAMが満杯になっていない場合、ブロック32において、書き込みデータをDRAM 20に書き込むことによって書き込みが行われる。
【００２１】
それに対して、DRAMが満杯になっている場合、ロジックは判断ブロック34に進み、ディスク18が回転しているかどうかを判断する。「回転している」かどうかということは、ディスク18がとにかく回転しているかどうか、またはディスク18が単に通常の動作速度で回転していないかどうか、または他の該当する回転試験中でないかどうかを判断することを意味する。いずれの場合も、ディスクが回転している場合、ロジックはブロック36に進み、DRAM 20からディスク18にデータをデステージする。その後、ブロック32において、DRAM 20を使用して書き込み要求を満足させる。「デステージ」するとは、データを移動することを意味する。これによって、装置から一度データを移動してしまえば、ストレージは、そのデータがそれまで占有していた装置内のスペースを利用することができるようになる。
【００２２】
判断ブロック34で、ディスクが回転していないと判断された場合、または、ある実施例において、ユーザが、判断ブロック34を飛ばして進むオプションを追加して、その選択を行使した場合、ロジックは判断ブロック38に進み、フラッシュメモリ素子22が満杯かどうかの判断を行う。フラッシュメモリ素子22が満杯でない場合、ロジックはブロック40に進み、DRAM 20からフラッシュメモリ素子22にデータをデステージした後、ブロック32において、DRAM を使用して書き込み要求を満足させる。他方で、判断ブロック38で、フラッシュメモリ素子が満杯であると判断された場合、ロジックはブロック42に進み、ディスクが回転していなければディスクをスピンアップして（ユーザが判断ブロック34を飛ばして進む選択をしたときにディスクが回転していれば、ディスクは回転中である可能性がある）、フラッシュメモリ素子22からディスク18にデータをデステージする。次に、ブロック40において、ロジックに従ってDRAM 20からフラッシュメモリ素子22にデータをデステージしてから、ブロック32において、DRAM 20を使用して書き込み要求を満足させる。本ロジックでは、任意に、ブロック36において、DRAM 20をディスク18に直接デステージしてから、ブロック32において、DRAM 20を使用して書き込み要求を満足させることができる。
【００２３】
図３に示すロジックを実行することによって、キュー内にいずれのI/O命令も存在しない場合など、あらかじめ決められた入出力（I/O）条件を状態44で満たしたときに、HDD 10におけるデータストレージの管理を行うことができる。判断ブロック46に進んで、ディスク18が回転しているかどうかを判断する。ディスク18が回転していない場合、ロジックは判断ブロック48に進み、DRAM 20が空いているかどうかの判断を行う。DRAM 20が空いている場合、何も実行せずに、ロジックは状態50で終了する。DRAM 20が空いていない場合は、ブロック52において、DRAM 20内のすべてのデータをフラッシュメモリ素子22にデステージする。
【００２４】
一方、判断ブロック46で、ディスクが回転していると判断された場合、ロジックは判断ブロック54に進み、DRAM 20が空いているかどうかの判断が行われる。DRAM 20が空いていない場合、ブロック56において、DRAM 20内のデータをディスク18にデステージする。しかし、ディスクが回転しておりかつDRAM 20が空いている場合、ロジックは判断ブロック58に進み、フラッシュメモリ素子22が空いているかどうかの判断を行う。フラッシュメモリ素子22が空いている場合、何も実行せずに、ロジックは状態60で終了する。フラッシュメモリ素子22が空いていない場合、ブロック62において、フラッシュメモリ素子22内のデータをディスク18にデステージする。ロジックは、ブロック50、52、56、および62から、状態44に戻ることができる。
【００２５】
当然のことながら、データをフラッシュメモリ22からディスク18にデステージするプロセスにおいて、データを最初にフラッシュメモリ素子22からDRAM 20にデステージして、その後、DRAM 20からディスク18にデステージしてもよい。このプロセスは、フラッシュメモリ22のデータレートが、ディスクドライブ18のメディアレートよりも遅い場合に実行することができる。
【００２６】
ここで詳細に説明したDRAMおよびフラッシュメモリを有する特定のHDDによって、本発明の上記の目的を十分に達成することができるが、次のことは理解すべきことである。すなわち、このHDDは本発明の現時点において好ましい実施例であり、従って、本発明によって広範囲に検討される主題を代表するものである。また、本発明の範囲には当業者にとって明らかなその他の実施例が全面的に含まれている。従って、本発明の範囲は、添付の特許請求の範囲以外によって限定されることはない。ここで、単数の要素の記載は、特に明記されていない限り「唯一」を意味することを意図してはおらず、むしろ「１つ以上」を意味する。装置または方法においては、本発明によって解決するように求められた問題の一つ一つに対応する必要はなく、また本特許請求の範囲に含まれる必要はない。更に、本開示における要素、構成部分、または方法ステップは、これら要素、構成部分、または方法ステップが特許請求の範囲に明示的に列挙されているかどうかにかかわらず、公衆のためのものとして意図したものではない。ここで明白な定義が行われていない場合、特許請求の範囲の用語には、本明細書およびファイル履歴と矛盾することのないすべての通常の使い慣れた意味が与えられる。
【図面の簡単な説明】
【００２７】
【図１】本発明のハードディスクドライブ(HDD)のブロック図である。
【図２】書き込みロジックのフローチャートである。
【図３】保留中の書き込みがないときの、データをデステージするロジックのフローチャートである。
【符号の説明】
【００２８】
１０…ハードディスクドライブ(HDD)、
１１…ハウジング、
１２…ドライブコントローラ、
１４…マイクロコードストレージ、
１６…読み取り／書き込み機構、
１８…ディスク、
２０…DRAM、
２２…フラッシュメモリ素子、
２４…データバス、
２５…ホストコンピュータ、
２６…ホストインタフェース。
【図１】
2006114206.tif 000003
【図２】
2006114206.tif 000004
【図３】
2006114206.tif 000005