(57)【要約】【課題】省電力モード以外の動作モードにおいて自身の不揮発性メモリを使用する、ハイブリッドディスクドライブを提供する。【解決手段】永久記録媒体として磁気ディスク２４およびフラッシュメモリなどの不揮発性メモリ３２を備えたハイブリッドディスクドライブ１０は、自身の不揮発性メモリ３２を、ディスク２４が減速される省電力または「待機」モード以外の動作モードで使用する。「実行」モードと呼ばれる第１の追加モードでは、書込みデータの１つまたは複数のブロックが揮発性メモリ３０からデステージされ、ディスク２４に書き込まれ、それと同時に、書込みデータの１つまたは複数のブロックが、揮発性メモリ３０からデステージされ、不揮発性メモリ３２に書き込まれる。【選択図】図１
2008034085.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータからのデータを格納する回転可能な記録ディスクと、
前記ホストコンピュータから前記ディスクにデータを転送する、前記ホストコンピュータに接続するように適合されたデータコントローラと、
前記ディスクに転送する前にデータを一時的に格納する、前記コントローラに接続された揮発性メモリと、
前記コントローラに接続された不揮発性メモリとを備え、
前記コントローラが、前記ディスクが回転していないとき、前記不揮発性メモリにデータを書き込むことを包含する第１動作モードと、前記ディスクが回転しているとき、前記不揮発性メモリにデータを書き込むことを包含する第２動作モードとを有するディスクドライブ。
【請求項２】
前記ホストコンピュータからのデータが、前記ディスクに書き込まれる書込みデータのブロックを含み、前記コントローラの第２動作モードが、複数のブロックを前記揮発性メモリに格納することと、第１のブロックを前記揮発性メモリから回転している前記ディスクに、かつ第２のブロックを前記揮発性メモリから前記不揮発性メモリにデステージすることとを包含する請求項１に記載のディスクドライブ。
【請求項３】
書込みデータのブロックを前記揮発性メモリから前記不揮発性メモリにデステージすることが、先入れ先出し（ＦＩＦＯ）手順に従ってデステージすることを包含する請求項２に記載のディスクドライブ。
【請求項４】
書込みデータのブロックを前記揮発性メモリから前記回転しているディスクにデステージすることが、ディスクの回転位置による最適化（ＲＰＯ）手順に従ってデステージすることを包含する請求項２に記載のディスクドライブ。
【請求項５】
前記ディスクドライブが、前記データコントローラに信号を送る環境センサをさらに備え、前記コントローラの第２動作モードが、前記データコントローラが前記環境センサからの信号を検出したとき、書込みデータを前記揮発性メモリから前記不揮発性メモリにデステージすることを包含する請求項１に記載のディスクドライブ。
【請求項６】
前記コントローラが、書込み禁止信号を受け取ることができ、前記コントローラの第２動作モードが、前記コントローラが書込み禁止信号を検出した場合に、書込みデータを前記揮発性メモリから前記不揮発性メモリにデステージすることを包含する請求項１に記載のディスクドライブ。
【請求項７】
前記コントローラの第２動作モードが、前記コントローラが書込み禁止信号を検出した場合に前記書込みデータが前記不揮発性メモリにデステージされた後、前記コントローラが書込み禁止信号を検出しない場合に、前記書込みデータを前記不揮発性メモリから前記ディスクに転送することを包含する請求項６に記載のディスクドライブ。
【請求項８】
前記書込み禁止信号を生成する、前記コントローラに結合された衝撃センサをさらに備える請求項６に記載のディスクドライブ。
【請求項９】
前記ディスクが、データを格納する同心のデータトラックを包含し、前記ディスクドライブが、前記データトラックにデータを書き込むヘッドと、１つのデータトラック上における前記ヘッドの位置誤差信号（ＰＥＳ）を測定する、前記ヘッドに結合されたサーボ制御システムとを包含し、前記コントローラが、予め定められた期間に対して前記ＰＥＳの値が予め定められた値を超えたとき書込み禁止信号を検出する、請求項６に記載のディスクドライブ。
【請求項１０】
ホストコンピュータからの書込みデータを格納する、複数の同心のデータトラックを有する回転可能な磁気記録ディスクと、
前記書込みデータを前記ディスク上に書き込む、前記ディスクの表面全体にわたって移動可能な書込みヘッドと、
前記書込みデータを前記ディスク上に書き込むために前記ホストコンピュータから前記書込みヘッドに転送する、前記ホストコンピュータに接続するように適合されたデータコントローラと、
前記ディスク上に書き込む前に前記書込みデータを一時的に格納する、前記コントローラに接続された揮発性メモリと、
前記コントローラに接続された不揮発性メモリとを備え、
前記コントローラが、
前記ディスクが回転していない待機動作モードにおいて、書込みデータを前記ホストコンピュータから前記揮発性メモリに転送し、次に、書込みデータを前記揮発性メモリから前記不揮発性メモリにデステージする動作と、
前記ディスクが回転している非待機動作モードにおいて、書込みデータを前記ホストコンピュータから前記揮発性メモリに転送し、前記書込みデータの少なくとも一部を前記揮発性メモリから前記不揮発性メモリにデステージし、その後、前記書込みデータを前記不揮発性メモリから前記ディスクに転送する動作とを実行する論理を備える磁気記録ディスクドライブ。
【請求項１１】
前記ホストコンピュータからの書込みデータが、前記ディスクに書き込まれる書込みデータのブロックを含み、前記コントローラの非待機動作モードが、複数のブロックを前記揮発性メモリに格納することと、第１のブロックを前記揮発性メモリから回転している前記ディスクに、かつ第２のブロックを前記揮発性メモリから前記不揮発性メモリにデステージすることとを包含する実行モードである請求項１０に記載のディスクドライブ。
【請求項１２】
書込みデータのブロックを前記揮発性メモリから前記不揮発性メモリにデステージすることが、先入れ先出し（ＦＩＦＯ）手順に従ってデステージすることを包含する請求項１１に記載のディスクドライブ。
【請求項１３】
書込みデータのブロックを前記揮発性メモリから前記回転しているディスクにデステージすることが、ディスクの回転位置による最適化（ＲＰＯ）手順に従ってデステージすることを包含する請求項１１に記載のディスクドライブ。
【請求項１４】
前記ディスクドライブが、前記データコントローラに信号を送る環境センサをさらに備え、前記データコントローラの非待機動作モードが、前記コントローラが前記環境センサからの信号を検出したとき、書込みデータを前記揮発性メモリから前記不揮発性メモリにデステージすることを包含する過酷環境モードである請求項１０に記載のディスクドライブ。
【請求項１５】
前記コントローラが、書込み禁止信号を受け取ることができ、前記コントローラの非待機動作モードが、前記コントローラが書込み禁止信号を検出した場合に、書込みデータを前記揮発性メモリから前記不揮発性メモリにデステージすることと、前記コントローラが書込み信号を検出した場合に前記書込みデータが前記不揮発性メモリにデステージされた後、前記コントローラが書込み禁止信号を検出しない場合に、前記書込みデータを前記不揮発性メモリから前記ディスクに転送することとを包含する書込み禁止モードである請求項１０に記載のディスクドライブ。
【請求項１６】
前記書込み禁止信号を生成する、前記コントローラに結合された衝撃センサをさらに備える請求項１５に記載のディスクドライブ。
【請求項１７】
前記ディスクドライブが、データトラック上における前記ヘッドの位置誤差信号（ＰＥＳ）を測定する、前記ヘッドに結合されたサーボ制御システムを包含し、前記コントローラが、予め定められた期間に対して前記ＰＥＳの値が予め定められた値を超えたとき書込み禁止信号を検出する、請求項１５に記載のディスクドライブ。
【請求項１８】
前記揮発性メモリがＤＲＡＭを含み、前記不揮発性メモリがフラッシュメモリを含む請求項１０に記載のディスクドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ディスクドライブに関し、より具体的には、書込みデータを格納する不揮発性メモリを包含する磁気記録ディスクドライブに関する。
【背景技術】
【０００２】
磁気記録ハードディスクドライブ（ＨＤＤ）は、標準的には、回転するディスク記憶装置に加えて、ホストコンピュータから転送された書込みデータをディスクに書き込まれる前に一時的に保持する、固体記憶装置（「キャッシュ」と称される）を包含する。従来のキャッシュは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、すなわち、多数の書込み／消去サイクルが行われ、高いデータ転送速度を有する揮発性の形態のメモリである。
【０００３】
ディスクドライブのデータコントローラは、ホストから書込みデータを受け取り、ディスクおよびＤＲＡＭへの書込みを制御する。書込みデータのＤＲＡＭへの転送は、標準的には、２つの従来方法の１つを使用して行われる。「ライトバックキャッシング」または「書込みキャッシュ有効」と呼ばれる第１の方法では、ホストからの書込みコマンドに対する書込みデータのブロックはＤＲＡＭに受け取られ、書込みデータのブロックがＤＲＡＭに格納されると、書込み完了の信号がホストに送られる。ＤＲＡＭ内の書込みデータのブロックは、その後、ＤＲＡＭからデステージされ、ディスクに書き込まれる。「ライトスルーキャッシング」とも呼ばれ、またはより一般的には「書込みキャッシュ無効」と呼ばれる第２の方法では、キャッシュを主にスピードマッチングバッファとして使用して、書込みデータのブロックがディスクに書き込まれた後にのみ、書込み完了の信号がホストに送られる。書込みキャッシュが有効か無効かに関わらず、現在のディスクドライブは、複数の書込みコマンドが受け取られ、ドライブのコントローラ内のキューで待機することができる、「コマンドキューイング」にも対応する。コントローラは、それらの待機中のコマンドの１つまたは複数に対する書込みデータのブロックをホストからＤＲＡＭに転送し、書込みキャッシュが有効の場合、書込み完了の信号を送る。書込みキャッシュが無効の場合、実行するコントローラはプログラムし、書込みデータのどのブロックをいつディスクにデステージするかを決定する。書込みデータのブロックがディスクにデステージされた後にのみ、コントローラは、書込み完了の信号をホストに送る。
【０００４】
電池式のモバイルコンピュータの出現により、ＨＤＤによっては、ドライブがある期間非活動状態であったときディスクが減速する（回転を停止する）、「省電力」または「待機」モードを有する。このモードの主な目的は、モバイルコンピュータの電池寿命を伸ばすことである。ディスクドライブが待機モードにあり、電子部品のみが活動状態のとき、電池電力は保存される。書込みデータがホストから受け取られ、それがディスクに書き込まれなければならないとき、ドライブは待機モードを終了し、ディスクは加速して、書込みデータを書き込むことができるようになるが、それは多量の電池電力を消費する。これが頻繁に生じすぎる場合、電力は節約されない。
【０００５】
この問題の１つの解決策は、ドライブが待機モードにあり、かつディスクが回転していないとき、書込みデータをＤＲＡＭに格納し、ある程度後の時間に、例えば書込みキャッシュ有効時に書込みデータをディスクにデステージすることである。しかしながら、ＤＲＡＭは揮発性メモリなので、書込みデータをディスクにデステージすることができる前にドライブが電力を失った場合、ＤＲＡＭ内の書込みデータが失われかねないという危険がある。したがって、モバイルコンピュータに使用されるＨＤＤ内のＤＲＡＭに加えて、またはその代わりに、不揮発性メモリ、例えば「フラッシュ」メモリを使用することが提案されてきた。特許文献１は、電源異常が生じた場合に、ＤＲＡＭ内の書込みデータをフラッシュメモリに転送するＨＤＤを記載している。
【０００６】
【特許文献１】米国特許第６，２９５，５７７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
フラッシュメモリは不揮発性なので、電力が失われても書込みデータは失われない。このタイプのＨＤＤは、「ハイブリッド」ディスクドライブと呼ばれることがある。ハイブリッドＨＤＤは、自身のフラッシュメモリを、この動作モード、すなわち省電力モードに使用する。したがって、ハイブリッドディスクドライブの主な利点は、待機モードを終了する必要なしに、書込みデータをホストから受け取り、それによって電力を保存し、電池寿命を伸ばすが、電源異常が生じた場合にデータを失う危険がないという能力である。ハイブリッドＨＤＤは、また、標準的には、不揮発性メモリを使用してコンピュータの起動画像を格納するので、ディスクが加速するのを待つ必要なしに、起動時に起動画像を迅速にロードすることができる。アプリケーションプログラムは、同様に、高速でアプリケーションをロードするために、ハイブリッドＨＤＤの不揮発性メモリに格納することができる。
【０００８】
自身の不揮発性メモリによってもたらされる利点を用いて、省電力モード以外のモードで動作するハイブリッドディスクドライブが必要とされる。
【課題を解決するための手段】
【０００９】
本発明は、省電力モード以外の動作モードにおいて自身の不揮発性メモリを使用する、ハイブリッドディスクドライブである。「実行」モードと呼ばれる第１の追加のモードでは、書込みデータの１つまたは複数のブロックが、揮発性メモリからデステージされ、ディスクに書き込まれ、それと同時に、書込みデータの１つまたは複数のブロックが、揮発性メモリからデステージされ、不揮発性メモリに書き込まれる。実行モードにおけるこの並列操作により、揮発性メモリから、ディスク媒体またはフラッシュメモリのどちらかの、ディスクドライブ内の何らかの形態の永久記憶媒体に書込みデータを移動させるスループットが増加される。
【００１０】
「過酷環境（harsh-environment）」モードと呼ばれる第２の追加のモードでは、ディスクドライブは、温度センサおよび湿度センサなどの１つまたは複数の環境センサを包含する。極端な、または過酷な環境条件下では、ディスクドライブのスピンドルモータおよびアクチュエータは、適切に動作できないことがある。しかしながら、フラッシュメモリなどの不揮発性メモリは、従来のディスクドライブの通常の動作条件をはるかに越える環境条件で動作することができるので、ハイブリッドディスクドライブは、環境センサからの信号が検出されたとき、過酷環境モードで動作するように構成される。過酷環境モードでは、不揮発性メモリは、永久記憶媒体として一時的にディスクに取って代わる。
【００１１】
「書込み禁止」モードと呼ばれる第３の追加のモードでは、データをディスクに書き込んでいる間、書込みヘッドが、目的とするまたは対象のトラックに隣接したトラック上に書き込まれたデータに誤って上書きしたり、またはそれを破損したりしないことを確実にするため、ディスクドライブは、ディスクドライブに対する外乱または振動を検出する衝撃センサなどの、１つまたは複数の書込み禁止検出器を包含する。書込み禁止モードでは、書込み禁止信号がオンであり、かつキャッシングがオフの場合、書込みデータは、揮発性メモリからディスクではなく不揮発性メモリに書き込まれる。これにより、書込み禁止信号がオフのとき、ディスクへの書込みを試みるため、追加のディスクの回転を待つという不利益が回避される。
【００１２】
本発明の性質および利点のさらに十分な理解のため、添付図面とともに以下の詳細な説明を参照されたい。
【発明の効果】
【００１３】
本発明によれば、自身の不揮発性メモリによってもたらされる利点を用いて、省電力モード以外のモードで動作するハイブリッドディスクドライブを提供することができる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明による磁気記録ハイブリッドハードディスクドライブ（ＨＤＤ）１０のブロック図である。ＨＤＤ１０は、マイクロコントローラまたはマイクロプロセッサを包含する、かつ／またはそれによって実装されることができる、ハードディスクコントローラ（ＨＤＣ）１２を包含する。コントローラ１２は、メモリ１４に格納されており、さらに後述される論理およびアルゴリズムを具体化するコンピュータプログラムを実行する。メモリ１４は、コントローラ１２と別個であっても、またはコントローラチップ上の内蔵メモリであってもよい。コンピュータプログラムは、また、コントローラ１２にアクセス可能なマイクロコードまたは他のタイプのメモリに実装されてもよい。
【００１５】
コントローラ１２は、ホストコンピュータ１８と通信するホストインタフェース１６に接続される。ホストコンピュータ１８は、電池電力から動作させることができるポータブルコンピュータであってもよい。ホストインタフェース１６は、シリアルＡＴＡ（Advanced Technology Attachment）またはＳＣＳＩ（Small Computer System Interface）などの、任意の従来のコンピュータ・ＨＤＤインタフェースであってもよい。
【００１６】
コントローラ１２は、読取り／書込みチャネル２０を介して、ＨＤＤの読取り／書込みヘッド２２それぞれにも接続される。ヘッド２２は、同心のデータトラックにアクセスするため、磁気記録ディスク２４の表面全体にわたって移動する。ＨＤＤ１０は、標準的には、スピンドルモータ２６上に取り付けられ、かつそれによって回転されるディスク２４のスタックを包含し、ディスク表面はそれぞれ、ヘッド２２の１つと関連付けられる。ヘッド２２は、アクチュエータ２８によって、ディスク表面上の同心のデータトラック全体にわたって移動して、所望のデータトラックに至る。
【００１７】
コントローラ１２は、ヘッド２２によってディスク２４に書き込むため、書込みデータのブロックをホストコンピュータ１８から受け取り、読取り／書込みチャネル２０を介して書込みデータを転送するデータコントローラの役割を果たす。コントローラ１２は、データバス３４を介して、揮発性メモリ３０および不揮発性メモリ３２とも通信する。１つのタイプの揮発性メモリ３０は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）であってもよい。１つのタイプの不揮発性メモリ３２は、フラッシュメモリであってもよい。フラッシュメモリは、「セル」と呼ばれるフローティングゲートトランジスタのアレイに情報を格納し、また、ブロック単位で電気的に消去し再プログラムすることができる。ＨＤＤ１０は、２つのタイプの「永久」データ記憶媒体、すなわち不揮発性メモリ３２および磁気記録ディスク２４を包含するので、「ハイブリッド」ディスクドライブと呼ばれることがある。
【００１８】
ＨＤＤでは、データをディスクに書き込むことができる速度は多数の物理的制約によって決まる。例えば、書込みを行うヘッドがその関連するディスクの１つの領域の上に位置し、データがディスクの別の領域に書き込まれるべきである場合、ヘッドが同心のデータトラック間で移動される「シーク時間」遅延が存在する。また、ディスクがヘッドに対して適切な位置まで回転するのに必要な「回転待ち時間」遅延が存在する。したがって、ホストコンピュータは、ディスクドライブが書込み動作を完了するのを待たなければならない。この待ち時間を低減するため、ホストコンピュータ１８からの書込みデータは、最初に、キャッシュに、すなわち揮発性メモリ３０（標準的にはＤＲＡＭ）に書き込まれる。データがキャッシュに書き込まれた後、ホストコンピュータは、書込み動作が完了まで待たずに動作を継続することができる。書込みデータは、後で、キャッシュから除去またはデステージされ、ディスクに書き込まれる。コントローラ１２は、標準的には、シーク時間、回転待ち時間、および書込みキャッシュのサイズなどの要因に基づいて、いくつかの周知のスケジューリングアルゴリズムの１つを適用して、キャッシュから除去される書込みデータのブロックと、ブロックがディスクに書き込まれる時間とを決定する。
【００１９】
ハイブリッドＨＤＤ１０が「省電力」または「待機」モードにあり、ディスクが回転していないとき、キャッシングも行われるが、コントローラ１２は、書込みデータをホストコンピュータ１８から不揮発性メモリ３２に方向付ける。待機モードが開始されたときに既に揮発性メモリ３０に格納されている書込みデータも、不揮発性メモリ３２に転送されてもよい。これにより、省電力モード中にＨＤＤ１０に対する電力の損失がある場合に、書込みデータが失われることが確実に回避される。この動作モードにより、ハイブリッドＨＤＤ１０が、ディスクを再び加速する必要なしに書込みデータをホストコンピュータ１８から受け取ることができるようになり、それにより、電力が保存され、電池寿命が伸びるが、電源異常が生じた場合にデータを失う危険がない。
【００２０】
本発明では、ハイブリッドＨＤＤ１０は、不揮発性メモリ３２を利用する少なくとも１つの追加の動作モードを包含する。図２は、「実行」モードと呼ばれる第１の追加の非待機モードのアルゴリズムを説明するフローチャートである。アルゴリズムは、コントローラ１２によって実行されるコンピュータプログラムまたは一組の命令として実装される。実行モードでは、ディスクは回転しているので、実行モードと省電力モードとは相反する。したがって、図２の中の要素１００において電池電力がオンの場合、要素１０２で省電力モードが選択されるが、電池電力がオンでない場合、要素１０４で実行モードが開始される。次に、要素１０６において、書込みデータのブロックが受け取られると、コントローラ１２はそれらをＤＲＡＭ（揮発性メモリ３０）に格納する。要素１０８において「ライトバックキャッシング」がオンの場合、コントローラ１２は書込み完了信号をホストコンピュータ１８に送る。ライトバックキャッシングは、要素１１０によって示されるように、すべての書込みデータがＤＲＡＭに受け取られるとすぐに、書込み完了の信号がホストコンピュータに送られる従来のキャッシング技術である。ライトバックキャッシングがオンでない場合、キャッシング技術は、ホストコンピュータ１８からの複数の書込みコマンドが、それらが完了するまでコントローラ１２によってキューに格納される、「コマンドキューイング」を使用してもよい。ライトバックキャッシングがオンでない場合、コントローラ１２は、要素１０６において、それらの待機中のコマンドの１つまたは複数に対する書込みデータをＤＲＡＭに転送することができるが、書込み完了信号をホストコンピュータ１８に送らない。要素１１２においてＤＲＡＭ内に書込みデータが１ブロックしかなく、かつドライブがビジーでない場合、すなわち他の処理中の読取りまたは書込み動作がない場合（要素１１４）、ブロックはＤＲＡＭからデステージされ、ディスクに書き込まれる（要素１１６）。要素１１４においてドライブがビジーの場合、書込みデータのブロックはＤＲＡＭからデステージされ、フラッシュメモリに書き込まれる（要素１２０）。しかしながら、ＤＲＡＭ内に１ブロックを超える書込みデータがあり（要素１１２）、かつドライブがビジーでない場合（要素１１８）、１つ（または複数）のブロックをディスクに書き込むことができ（要素１１６）、同時に、１つまたは複数のブロックをＤＲＡＭからフラッシュ（不揮発性メモリ３２）に書き込むことができる（要素１２０）。この並列操作により、ＤＲＡＭから、ディスク媒体またはフラッシュメモリのどちらかの、ドライブ内の何らかの形態の永久記憶媒体に書込みデータを移動させるスループットが増加される。ＤＲＡＭ内に１ブロックを超える書込みデータがあり（要素１１２）、かつドライブがビジーの場合（要素１１８）、１つ（または複数）のブロックを、ＤＲＡＭからフラッシュに書き込むことができる（要素１２０）。
【００２１】
コントローラ１２は、シーク時間、回転待ち時間、およびＤＲＡＭ内の書込みデータのブロック数などの要因に基づいて、任意に、いくつかの周知のスケジューリングアルゴリズムまたは方法の１つを適用して、ＤＲＡＭから除去される書込みデータのブロックと、ブロックがディスク（要素１１６）およびフラッシュメモリ（要素１２０）に書き込まれる時間とを決定してもよい。１つの方法では、書込みは「ランダム」なので、ドライブまたはフラッシュメモリのどちらかがビジーでないとき、どちらか一方が書込みデータのブロックの宛先としてランダムに選択される。先入れ先出し（ＦＩＦＯ）方法では、書込みはランダムであるが、ディスクまたはフラッシュメモリのどちらかに書き込まれるＤＲＡＭ内の書込みデータのブロックは、ＤＲＡＭに最初に書き込まれたブロックである。
【００２２】
コントローラ１２は、回転位置による最適化（ＲＰＯ）スケジューリングアルゴリズムまたは手順を実行して、ディスクに書き込まれる書込みデータの次のブロックを選択してもよい。ＲＰＯアルゴリズムは周知であり、一般に、コマンドキューをリオーダーするため、シーク時間と回転待ち時間の両方を使用する。米国特許第５，９９１，８２５号および同第６，４１８，５１０号は、代表的なＲＰＯアルゴリズムを記載している。コントローラ１２は、また、最短シーク順（shortest-seek-first：ＳＳＦ）、最短待ち時間順（shortest-latency-first：ＳＬＦ）、および最短アクセス時間順（shortest-access-time-first：ＳＡＴＦ）などの、他の周知のスケジューリングアルゴリズムを実行してもよい。
【００２３】
コントローラ１２は、また、フラッシュメモリに書き込まれる書込みデータのブロックに関連付けられた、論理ブロックアドレス（ＬＢＡ）を使用してもよい。例えば、コントローラは、すべての書込みコマンドをＬＢＡによってソートし、範囲外のＬＢＡに対する書込みデータのブロック（最長のシーク時間を要するであろうもの）を、フラッシュメモリに書き込まれるべきものとして選択してもよい。コントローラは、また、頻繁にアクセスされたＬＢＡに対する書込みデータのブロックを、フラッシュメモリに書き込まれるべきものとして選択してもよい。
【００２４】
図３は、本発明による磁気記録ハードディスクドライブ（ＨＤＤ）１０’のブロック図であり、ハイブリッドＨＤＤは１つまたは複数の環境センサを包含する。図４は、ハイブリッドＨＤＤ１０’に対する、「過酷環境」モードと呼ばれる第２の非待機モードのアルゴリズムを説明するフローチャートである。極端または過酷な環境条件下では、ＨＤＤのスピンドルモータおよびアクチュエータは、適切に動作できないことがある。しかしながら、フラッシュメモリおよびコントローラは、従来のＨＤＤの通常の動作条件をはるかに越える環境条件で動作することができるので、ハイブリッドＨＤＤ１０’は、フラッシュメモリが永久記憶媒体として一時的にディスクに取って代わる、「フラッシュオンリー」モードで動作するように構成されることができる。
【００２５】
ＨＤＤ１０’は、温度センサ５０および湿度センサ５２などの、信号をコントローラ１２に供給する１つまたは複数の環境センサを包含する。標準的なフィルタ、コンパレータ、およびＡ／Ｄコンバーターなどの信号調整回路群またはハードウェア（図示なし）が、センサ５０、５２とコントローラ１２の間に位置してもよい。コントローラ１２は、許容域外の信号を検出したとき、フラッシュオンリーモードに切り換わる。コントローラは、また、２つ以上のセンサが許容域外にあるとき、例えば、温度があるレベルを上回り、かつ湿度があるレベルを上回るとき、フラッシュオンリーモードに切り換わる論理を利用してもよい。
【００２６】
図４のフローチャートに示されるように、ハイブリッドＨＤＤ１０’は、ハイブリッドＨＤＤの通常モード、すなわち従来のモード（不揮発性メモリを利用しない）または省電力モードのどちらかで動作している（要素２００）。コントローラ１２は、環境センサ５０、５２からの信号を継続的にモニタする（要素２０２）。コントローラ１２が、１つ（または複数）の環境信号が許容域外にあることを検出した場合、それは、ディスクを回転する、またはアクチュエータを移動させるのが安全ではないことを示し、コントローラ１２はフラッシュオンリーモードに切り換わる（要素２０６）。しかしながら、読取りコマンドが実行されるのを待っていることがあるため、コントローラは、フラッシュオンリーモードに切り換わる前に、最初に、要求されたデータをディスクから読み取る（要素２０４）。フラッシュオンリーモードでは、コントローラ１２は、ディスクに対するすべての読取りおよび書込み動作を停止する。ホストコンピュータ１８（図３）からの書込みデータは、ＤＲＡＭ（揮発性メモリ３０）に送られ続けるが、フラッシュメモリ（不揮発性メモリ３２）のみにデステージされる。読取りコマンドは、データをキャッシュまたは不揮発性メモリ内で見つけることができれば、その利用可能なデータで満たされるか、あるいはコマンドはフラッシュメモリ内のキューに保存される。コントローラ１２は、環境条件が再び安全であることを検出すると、通常モードに戻る（要素２００）。過酷環境モード中にフラッシュメモリに格納された書込みデータは、ディスクに書き込まれ、過酷環境モード中にフラッシュメモリに格納された読取りコマンドは、要求された読取りデータをディスクから取得するために実行される。
【００２７】
図５は、本発明による磁気記録ハードディスクドライブ（ＨＤＤ）１０”のブロック図であり、ハイブリッドＨＤＤは、衝撃センサ６０などの１つまたは複数の書込み禁止検出器を包含する。図６は、ハイブリッドＨＤＤ１０’’に対する、「書込み禁止」モードと呼ばれる第３の非待機モードのアルゴリズムを説明するフローチャートである。ディスクドライブは、標準的には、データをディスクに書き込んでいる間、ドライブが、目的とするまたは対象のトラックに隣接したトラック上に書き込まれたデータに誤って上書きしたり、またはそれを破損したりしないことを確実にする、検出器および技術を包含する。衝撃センサなどの様々な検出器は、書込みを行うのに安全でない条件を検出するため、ディスクドライブに組み込まれてもよい。米国特許第６，４２９，９９０号明細書には、衝撃センサによって制御される書込み禁止を備えたディスクドライブが記載されている。書込み禁止検出器は、また、ディスクドライブのサーボ制御システム（ヘッドを対象のトラック上で維持する制御システム）からのヘッドの位置誤差信号（ＰＥＳ）が、予め定められた時間に対して予め定められた閾値を超えたことを判断するものであってもよい。例えば米国特許第６，８８２，４８９号明細書に記載されているように、ＰＥＳを書込み禁止検出器として使用するための様々な技術が知られている。単一の検出器が使用されてもよく、または、書込み禁止回路を制御するため、複数の検出器の出力がともに「ＯＲ処理」されてもよい。衝撃センサ６０などの書込み禁止検出器は、データコントローラ１２に信号を送る。しかしながら、読取り／書込みチャネル２０への接続によって概略的に示されるように、書込み禁止検出器は、書込みドライバにも信号を送って、書込み電流が書込みヘッド２２に達するのを防ぐ。
【００２８】
書込み禁止信号は、書込み電流を書込みのために書込みヘッドに送ることができるようになる前に、オフにされなければならない。データが書き込まれるべき対象のトラックにヘッドが移動された後、トラック上の対象のセクタが書込みヘッドの下に入っているが、書込み禁止がオンのとき、対象のセクタに対する書込みを進めることはできない。ドライブは、再び対象のセクタへの書込みを試みることができるようになる前に、ディスクが少なくとも完全に一回転するのを待たなければならない。場合によっては、書込み禁止がオフに切り換わるのを許容し、書込みを進めることができる条件になるまで、複数回ディスクが回転することがある。この待ち時間は性能に顕著な影響を及ぼす。本発明のハイブリッドディスクドライブの書込み禁止動作モードでは、フラッシュメモリが使用されて、書込み禁止によって引き起こされる性能上の不利益が排除される。
【００２９】
図６のフローチャートに示されるように、ハイブリッドＨＤＤ１０”は、ハイブリッドＨＤＤの通常モード、すなわち従来のモードまたは省電力モードのどちらかで動作している（要素３００）。ホストコンピュータ１８（図５）からの書込みデータは、コントローラ１２によってＤＲＡＭ（揮発性メモリ３０）に書き込まれる（要素３０２）。コントローラ１２は、対象のトラック上の対象のセクタが書込みヘッドに接近するにしたがって（要素３０４）、書込みデータのブロックをＤＲＡＭからディスクにデステージする準備をする。要素３０６において書込み禁止信号がオフの場合、書込みデータはディスクに書き込まれる（要素３０８）。しかしながら、要素３０６において書込み禁止信号がオンの場合、要素３１０において書込みデータはフラッシュメモリ（不揮発性メモリ３２）に書き込まれ、それによって、書込み禁止信号がオフであるか否かを判断するためにディスクがさらに回転するのを待つ不利益が回避される。次に、コントローラ１２は、書込みデータのブロックがさらなるセクタに書き込まれるべきかを判断する（要素３１２）。書き込まれるべきさらなるセクタがある場合（要素３１２）、次のセクタが書き込まれ（要素３１４）、アルゴリズムは要素３０６に戻る。書き込まれるべきセクタがそれ以上ない場合、すなわち書込みデータのブロックがディスクまたはフラッシュメモリのどちらかに完全に書き込まれている場合、コントローラ１２は、書込み完了の信号をホストに送る（要素３１５）。次に、コントローラ１２は、書込みデータの部分がフラッシュメモリ内にあるか否かを判断する（要素３１６）。フラッシュメモリ内に書込みデータがある場合、コントローラ１２はデータをディスクに書き込むことを試みる（要素３１８）。これは、ディスクドライブがアイドル状態のときに生じることがある。書込みデータがそれ以上フラッシュメモリ内になければ、書込みは完了されている（要素３２０）。
【００３０】
本発明を、好ましい実施形態を参照して具体的に示しかつ説明してきたが、本発明の趣旨および範囲から逸脱することなく、形態および詳細の様々な変更が行われてもよいことが、当業者には理解されるであろう。したがって、開示される発明は単に例示目的のものであり、その範囲は、特許請求の範囲に明記されるものによってのみ限定されるものと見なされる。
【図面の簡単な説明】
【００３１】
【図１】本発明による磁気記録ハイブリッドハードディスクドライブ（ＨＤＤ）のブロック図である。
【図２】「実行」モードと呼ばれるハイブリッドＨＤＤの第１の追加の動作モードのアルゴリズムを説明するフローチャートである。
【図３】本発明による、１つまたは複数の環境センサを包含する磁気記録ハイブリッドＨＤＤのブロック図である。
【図４】図３のハイブリッドＨＤＤに対する、「過酷環境」モードと呼ばれるハイブリッドＨＤＤの第２の追加の動作モードのアルゴリズムを説明するフローチャートである。
【図５】本発明による、１つまたは複数の書込み禁止検出器を包含する磁気記録ハイブリッドＨＤＤのブロック図である。
【図６】図５のハイブリッドＨＤＤに対する、「書込み禁止」モードと呼ばれるハイブリッドＨＤＤの第３の追加の動作モードのアルゴリズムを説明するフローチャートである。
【符号の説明】
【００３２】
１０，１０’，１０”…ハードディスクドライブ（ＨＤＤ）、
１２…ハードディスクコントローラ（ＨＤＣ）、
１４…メモリ、
１６…ホストインタフェース、
１８…ホストコンピュータ、
２０…読取り／書込みチャネル、
２２…読取り／書込みヘッド、
２４…磁気記録ディスク、
２６…スピンドルモータ、
２８…アクチュエータ、
３０…揮発性メモリ、
３２…不揮発性メモリ、
５０…温度センサ、
５２…湿度センサ、
６０…衝撃センサ。
【図１】
2008034085.tif 000003
【図２】
2008034085.tif 000004
【図３】
2008034085.tif 000005
【図４】
2008034085.tif 000006
【図５】
2008034085.tif 000007
【図６】
2008034085.tif 000008