(57)【要約】【課題】不揮発性メモリを含む磁気記録ディスクドライブを提供する。【解決手段】不揮発性メモリ３２を含むディスクドライブ１０は、故障に関するデータを、ディスク２４の予約領域ではなく不揮発性メモリ３２に記録する。監視・記録される故障事象は欠陥データセクタを含んでもよい。ディスクドライブが動作状態になった後に新たな欠陥セクタが検出されると、その欠陥セクタは運用停止され、その論理ブロックアドレス（ＬＢＡ）は、ディスク上の予約領域ではなく不揮発性メモリ内のメモリ空間にマッピングされる。読取りまたは書込みコマンドが、欠陥セクタのＬＢＡを含むＬＢＡ範囲に対して受け取られると、欠陥セクタが読み飛ばされる一方、コマンドのＬＢＡ範囲全体が処理され、欠陥セクタのＬＢＡに対するユーザデータは、不揮発性メモリ内のマッピングされたメモリ空間から読み取られるか、またはそこに書き込まれる。【選択図】図１
2008071478.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータからのユーザデータを格納する回転可能な記録ディスクと、
ユーザデータを前記ディスクに書き込み、また前記ディスクから読み取るコントローラと、
前記コントローラに接続された不揮発性メモリとを備えるディスクドライブであって、
前記コントローラが、ディスクドライブの故障に関する事象を判断するステップと、前記事象を表す故障に関するデータを前記不揮発性メモリに記録するステップを含む方法行為を実行する論理を含むことを特徴とするディスクドライブ。
【請求項２】
故障に関する事象を判断する前記ステップが、ディスクドライブパラメータの値を測定するステップと、前記測定値が予め定められた閾値をいつ超えるかを検出するステップとを含み、前記パラメータが、温度、データを読み取る際のエラーの頻度、および前記ディスクがその動作速度に達するまでの時間から成る群から選択されることを特徴とする請求項１に記載のディスクドライブ。
【請求項３】
前記ディスクドライブが、前記コントローラに接続された温度センサを含み、故障に関する事象を判断する前記ステップが、前記温度センサからの信号を監視するステップと、前記温度信号が予め定められた閾値をいつ超えるかを検出するステップとを含むことを特徴とする請求項１に記載のディスクドライブ。
【請求項４】
前記ディスクドライブが、前記コントローラに接続された衝撃センサを含み、故障に関する事象を判断する前記ステップが、前記衝撃センサからの信号を監視するステップと、前記衝撃信号が予め定められた閾値をいつ超えるかを検出するステップとを含むことを特徴とする請求項１に記載のディスクドライブ。
【請求項５】
前記ディスクが同心のデータトラックを含み、各データトラックが、データを格納する複数のセクタを含み、各セクタが、前記コントローラによって読み取り可能な論理ブロックアドレス（ＬＢＡ）を含み、ディスクドライブの故障に関する事象を判断するステップが、セクタに欠陥があることを判断するステップを含み、故障に関するデータを前記不揮発性メモリに記録するステップが、前記欠陥セクタのＬＢＡに対するユーザデータを前記不揮発性メモリに格納するステップを含むことを特徴とする請求項１に記載のディスクドライブ。
【請求項６】
各データトラックのセクタがすべて関連するＬＢＡを有し、いずれのセクタも、欠陥セクタに代わるスペアセクタとして予約されないことを特徴とする請求項５に記載のディスクドライブ。
【請求項７】
前記ディスクドライブが、前記コントローラに接続された揮発性メモリを含み、前記コントローラが、前記ディスクが回転していない待機動作モードにおいて、ユーザデータを前記ホストコンピュータから前記揮発性メモリに転送し、次に前記ユーザデータを前記揮発性メモリから前記不揮発性メモリにデステージする方法行為を実行する論理をさらに含むことを特徴とする請求項１に記載のディスクドライブ。
【請求項８】
ホストコンピュータからのユーザデータを格納する回転可能な磁気記録ディスクであって、複数の同心のデータトラックを有し、各データトラックがユーザデータを格納する複数の連続したセクタを含み、各セクタが関連する論理ブロックアドレス（ＬＢＡ）を有するディスクと、
ユーザデータを前記セクタに書き込み、かつユーザデータを前記セクタから読み取るため、前記ディスクの表面全体にわたって移動可能な読取り／書込みヘッドと、
前記ホストコンピュータからの読取りおよび書込みコマンドに応答して、前記ホストコンピュータと前記ディスク上の前記セクタとの間でユーザデータを転送する、前記ホストコンピュータに接続するように適合されたコントローラと、
ユーザデータを一時的に格納する、前記コントローラに接続された揮発性メモリと、
前記コントローラに接続された不揮発性メモリとを備える、磁気記録ディスクドライブであって、
前記コントローラが、
セクタに欠陥があることを判断するステップと、
前記欠陥セクタに対する前記ＬＢＡに前記不揮発性メモリ内のメモリ空間を割り当てるステップと、
前記ホストコンピュータからの、前記欠陥セクタのＬＢＡに関連付けられたユーザデータを書込むコマンドに応答して、前記ユーザデータを前記割り当てられたメモリ空間に書き込むステップを含む方法行為を実行する論理を含むことを特徴とするディスクドライブ。
【請求項９】
前記コントローラが、前記ホストコンピュータからの、前記欠陥セクタのＬＢＡに関連付けられたユーザデータを読取るコマンドに応答して、前記ユーザデータを前記割り当てられたメモリ空間から読み取る方法行為を実行する論理をさらに含むことを特徴とする請求項８に記載のディスクドライブ。
【請求項１０】
前記コントローラが、前記ディスクが回転していない待機動作モードにおいて、ユーザデータを前記ホストコンピュータから前記揮発性メモリに転送し、次に前記ユーザデータを前記揮発性メモリから前記不揮発性メモリにデステージする方法行為を実行する論理をさらに含むことを特徴とする請求項８に記載のディスクドライブ。
【請求項１１】
各データトラックのセクタがすべて関連するＬＢＡを有し、セクタのいずれも、欠陥セクタに代わるスペアセクタとして予約されないことを特徴とする請求項８に記載のディスクドライブ。
【請求項１２】
前記不揮発性メモリがフラッシュメモリを含むことを特徴とする請求項８に記載のディスクドライブ。
【請求項１３】
前記揮発性メモリがＤＲＡＭを含むことを特徴とする請求項８に記載のディスクドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ディスクドライブに関し、より具体的には、不揮発性メモリを含む磁気記録ディスクドライブに関する。
【背景技術】
【０００２】
磁気記録ハードディスクドライブ（ＨＤＤ）は、標準的には、回転するディスクメモリに加えて、相当数の書き込み／消去サイクルに耐えることができ、かつ高いデータ転送速度を有する揮発性メモリの形態である、ダイナミックＲＡＭ（ＤＲＡＭ）を含む。ＤＲＡＭは、ホストコンピュータとディスクの間で転送されるユーザデータを一時的に保持する「キャッシュ」として機能する。ディスクドライブのデータコントローラは、ホストコンピュータから読取りおよび書込みコマンドを受け取り、ディスクへのユーザデータの書き込みとディスクからのユーザデータの読み取りとを制御する。「ライトバックキャッシング」または「書込みキャッシュ有効」と呼ばれる、書込みデータをＤＲＡＭに転送するための１つの一般的な方法では、ホストからの書込みコマンドに対する書込みデータはＤＲＡＭに格納され、書込みデータがＤＲＡＭに受け入れられると、書込み完了が信号によって伝達され、ＤＲＡＭ内の書込みデータは次に、少し後でＤＲＡＭからデステージされ、ディスクに書き込まれる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
電池式のモバイルコンピュータの出現により、ＨＤＤによっては、ディスクドライブがある期間非活動状態であったときディスクが減速する（回転を停止する）、「省電力」または「待機」モードを有する。このモードの主な目的は、モバイルコンピュータの電池寿命を伸ばすことである。ディスクドライブが待機モードにあり、電子部品のみが活動状態のとき、電池電力は保存される。書込みデータがホストから受け取られ、それがディスクに書き込まれなければならないとき、ディスクドライブは待機モードを終了し、ディスクは加速して、書込みデータを書き込むことができるようになるが、それは多量の電池電力を消費する。これが頻繁に生じすぎる場合、電力は節約されない。
【０００４】
この問題の１つの解決策は、ドライブが待機モードにあり、かつディスクが回転していないとき、書込みデータをＤＲＡＭに格納し、ある程度後の時間に、例えば書込みキャッシュ有効時に書込みデータをディスクにデステージすることである。しかしながら、ＤＲＡＭは揮発性メモリなので、書込みデータをディスクにデステージすることができる前にドライブが電力を失った場合、ＤＲＡＭ内の書込みデータが失われるかも知れないという危険がある。したがって、モバイルコンピュータに使用されるＨＤＤ内のＤＲＡＭに加えて、またはその代わりに、不揮発性メモリ、例えば「フラッシュ」メモリを使用することが提案されてきた。フラッシュメモリは不揮発性なので、電力が失われても書込みデータは失われない。この種のＨＤＤは、２つのタイプの「恒久的な」データ記憶媒体、すなわち不揮発性メモリおよび磁気記録ディスクを有するため、「ハイブリッド」ディスクドライブと呼ばれることがある。ハイブリッドＨＤＤは、自身のフラッシュメモリを、この動作モード、すなわち省電力モードに使用する。したがって、ハイブリッドディスクドライブの主な利点は、待機モードを終了する必要なしに、書込みデータをホストから受け取り、それによって電力を保存し、電池寿命を伸ばすが、電源異常が生じた場合にデータを失う危険がないという能力である。
【０００５】
ＨＤＤは、多くの場合、実際のまたは潜在的なＨＤＤの故障事象を示してもよいＨＤＤの信頼性に関するパラメータを監視する診断プログラムまたはルーチンを含む。これらの事象に関連付けられた故障に関するデータは、ユーザデータに使用されないディスク上の予約領域に記録される。故障事象を検出するために監視されてもよいＨＤＤパラメータの例としては、ＨＤＤの温度、読取りおよび／または書込みエラーの頻度、ヘッド・ディスク間の間隔、およびスピンドルモータがディスクを加速するのに必要な時間が挙げられる。故障したＨＤＤがメーカーに戻された場合、記録された故障データは、故障の原因を判断するために検討することができる。しかしながら、故障モードが、データをディスクに書き込むことができないものである場合、故障情報を記録することができない。また、ＨＤＤスピンドルモータが加速できない場合やデータをディスクから読み取ることができない場合、ディスクの予約領域から故障データを取得することは、困難または不可能になる。
【０００６】
故障事象の１つの特別なタイプは欠陥データセクタである。ＨＤＤの同心のデータトラックはそれぞれ、データが格納される連続した物理セクタに分割され、物理セクタはそれぞれ、論理ブロックアドレス（ＬＢＡ）に関連付けられる。欠陥セクタは、診断ルーチンを実行することによって、またはＨＤＤの読取り／書込みプロセスの一部である欠陥管理ルーチンによって検出することができる。ＨＤＤが動作状態になった後に新たな欠陥セクタが検出されると（「二次的欠陥（ｇｒｏｗｎ  ｄｅｆｅｃｔ）」と呼ばれる）、その欠陥セクタは運用停止され、それに関連するＬＢＡは、標準的にはデータトラックの端部にある、ディスクの予約領域内の再割付されたセクタまたはスペアセクタにマッピングされる。しかしながら、スペアセクタは、ＬＢＡの直前または直後の物理セクタとは物理的に連続していないので、欠陥セクタのＬＢＡを含むＬＢＡ範囲に対する読取りまたは書込みコマンドは、ディスクドライブが、シーク（すなわち、読取り／書込みヘッドを１つのトラックから別のトラックに移動させる）して、コマンドを処理しながらスペアセクタにアクセスし、次に別のシークを行って、コマンドの処理の継続に戻ることを必要とする。これら２つの余分なシークと、それに伴う回転待ち時間（すなわち、ヘッドがトラック上にあった後、セクタが読取り／書込みヘッドの下で回転する時間）とは、二次的欠陥を伴うあらゆるデータアクセスの性能を著しく低下させる。低下した性能に加えて、スペアセクタの使用はディスク上の予約領域を必要とし、それが、ユーザデータに利用可能なディスク領域を減少させる。
【０００７】
故障事象の記録に関連付けられた問題がなく、欠陥データセクタの取り扱いに関連付けられた性能低下を有さない、ハイブリッドディスクドライブが求められている。
【課題を解決するための手段】
【０００８】
本発明は、ＨＤＤの信頼性に関するパラメータを監視して、実際のまたは潜在的なＨＤＤの故障事象を検出し、故障に関するデータを、ディスクの予約領域ではなく不揮発性メモリに記録する、ハイブリッドディスクドライブである。監視は、診断ルーチンを実行することによってなされてもよく、その一例は、多くのＨＤＤメーカによって採用されている自己診断・報告技術（ＳＭＡＲＴ）である。診断ルーチンの実行に加えて、またはその代わりに、温度センサおよび衝撃センサなどのＨＤＤセンサは、定期的または周期的に監視されてもよく、故障に関するデータは、センサ信号が許容範囲外にある場合、不揮発性メモリに記録される。周期的に測定された信頼性に関するドライブ使用データも、不揮発性メモリに記録することができる。
【０００９】
監視され記録される故障事象は欠陥データセクタを含んでもよい。欠陥セクタは、診断ルーチンを実行することによって、またはＨＤＤの読取り／書込みプロセスの一部である故障管理ルーチンによって検出することができる。ＨＤＤが動作状態になった後に新たな欠陥セクタが検出されると、その欠陥セクタは運用停止され、そのＬＢＡは、ディスク上の予約スペアセクタではなく、不揮発性メモリ内のメモリ空間にマッピングされる。欠陥セクタに格納されていたであろうユーザデータは、故障データとして見なされ、不揮発性メモリ内の関連するメモリ空間に格納される。読取りまたは書込みコマンドが、欠陥セクタのＬＢＡを含むＬＢＡ範囲に対して受け取られると、欠陥セクタが読み飛ばされる一方、コマンドのＬＢＡ範囲全体が処理され、欠陥セクタのＬＢＡに対するユーザデータは、不揮発性メモリ内のマッピングされたメモリ空間から読み取られるか、またはそこに書き込まれる。したがって、余分なシークは不要であり、付加的な回転待ち時間遅れが出ない。
【００１０】
ＨＤＤが、実際のまたは潜在的な故障によってメーカーに戻されたとき、故障の原因を判断し、修理および今後のＨＤＤの再設計を容易にする、故障データを取得するには、不揮発性メモリにアクセスすればよい。ＨＤＤの電子部品が故障していたとしても、不揮発性メモリをＨＤＤから取り外すことができ、故障データが読み出される。本発明により、欠陥セクタに関連付けられたユーザデータを格納する予約スペアセクタを含む、故障に関するデータを格納するためのディスクの予約領域が不要なので、ＨＤＤがより大きな記憶容量を有することが可能になる。したがって、本発明のＨＤＤは、予約スペアセクタを有さず、ユーザデータに対するセクタのみを有するようにフォーマットされた、データトラックを備えたディスクを有してもよい。すべてのセクタは関連するＬＢＡを有し、いずれのセクタも、後で欠陥となるセクタに代わるスペアセクタとして予約されない。
【００１１】
本発明の性質および利点のさらに十分な理解のため、添付図面とともに以下の詳細な説明を参照されたい。
【発明の効果】
【００１２】
本発明によれば、欠陥セクタに関連付けられたユーザデータを格納する予約スペアセクタを含む、故障に関するデータを格納するためのディスクの予約領域が不要なので、ハードディスクドライブがより大きな記憶容量を有することが可能になる。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明による磁気記録ハイブリッドハードディスクドライブ（ＨＤＤ）１０のブロック図である。ＨＤＤ１０は、マイクロコントローラまたはマイクロプロセッサを含む、かつ／またはそれによって実装されることができる、ハードディスクコントローラ（ＨＤＣ）１２を含む。コントローラ１２は、メモリ１４に格納された、後述される論理およびアルゴリズムを具体化するコンピュータプログラムを実行する。メモリ１４は、コントローラ１２と別個であるか、またはコントローラチップ上の内蔵メモリであってもよい。コンピュータプログラムはまた、マイクロコード、またはコントローラ１２にアクセス可能な他のタイプのメモリに実装されてもよい。
【００１４】
コントローラ１２は、ホストコンピュータ１８と通信するホストインターフェース１６に接続される。ホストコンピュータ１８は、電池電源から作動することができる可搬型コンピュータであってもよい。ホストインターフェース１６は、シリアルＡＴＡ（アドバンスト・テクノロジー・アタッチメント）またはＳＣＳＩ（スモール・コンピュータ・システム・インターフェース）などの、任意の従来のコンピュータＨＤＤインターフェースであってもよい。
【００１５】
コントローラ１２はまた、読取り／書込みチャネル２０を介してＨＤＤの読取り／書込みヘッド２２それぞれに接続される。ヘッド２２は、磁気記録ディスク２４の表面全体にわたって移動して、同心のデータトラックにアクセスする。同心のデータトラックはそれぞれ、ユーザデータが格納される複数の物理セクタに分割される。ＨＤＤ１０は、標準的には、スピンドルモータ２６上に載置され、かつそれによって回転される多量のディスク２４を含み、各ディスクの表面はヘッド２２の１つに関連付けられる。スピンドルモータ２６は、コントローラ１２によって制御され、また、スピンドルモータ速度およびスピンアップ時間などの状況情報をコントローラ１２に送る。ヘッド２２は、アクチュエータ２８によって、ディスク表面上の同心のデータトラックを横切って所望のデータトラックまで移動される（トラック「シーキング」と呼ばれるプロセス）。ヘッドが所望のデータトラック上に置かれると、それらはアクチュエータ２８によってトラック上で維持される（トラック「フォロイング」と呼ばれるプロセス）ので、ユーザデータをデータセクタに書き込み、またそこから読み取ることができる。ヘッド２２はすべて一緒に移動するので、各ヘッドがトラック上に置かれると、ヘッドがその上に置かれているトラック群は「シリンダ」と呼ばれる。したがって、論理ブロックアドレス（ＬＢＡ）によって識別されるようなユーザデータのブロックは、シリンダ番号、ヘッド番号、およびセクタ番号によって一意に指定される物理セクタにマッピングされる。
【００１６】
コントローラ１２は、ホストコンピュータ１８からの書込みコマンドに応答して書込みデータのブロックを受け取るデータコントローラの役割を果たし、ヘッド２２によってディスク２４に書き込むため、読取り／書込みチャネル２０を介して書込みデータを転送する。コントローラ１２は、また、ホストコンピュータ１８から読取りコマンドを受け取り、ヘッド２２にディスク２４からユーザデータを読み取らせ、読み取られたデータをホストコンピュータ１８に返す。ホストコンピュータ１８からの読取りおよび書込みコマンドは、書き込まれるまたは読み取られるユーザデータのブロックに関連付けられたＬＢＡを指定する。各ＬＢＡは、ディスク２４上の物理セクタに関連付けられる。
【００１７】
コントローラ１２は、また、データバス３４を介して揮発性メモリ３０および不揮発性メモリ３２と通信する。１つのタイプの揮発性メモリ３０は、ダイナミックＲＡＭ（ＤＲＡＭ）であってもよい。１つのタイプの不揮発性メモリ３２は、フラッシュメモリであってもよい。フラッシュメモリは、「セル」と呼ばれるフローティングゲートトランジスタの配列に情報を格納し、また、ブロック単位で電気的に消去され再プログラムすることができる。ＨＤＤ１０は、２つのタイプの「恒久的な」データ記憶媒体、すなわち、不揮発性メモリ３２および磁気記録ディスク２４を含むので、「ハイブリッド」ディスクドライブと呼ばれることがある。
【００１８】
揮発性メモリ３０（標準的にはＤＲＡＭ）は、ユーザデータをホストコンピュータ１８とディスク２４の間で一時的に保持する「キャッシュ」の役割を果たす。この１つの理由は、データをディスク２４に書き込むことができる速度が多数の物理的な拘束によって決定されることである。例えば、書き込みを行うヘッドがそれに関連するディスクの１つの領域の上に位置付けられ、データがディスクの別の領域において書き込まれるべき場合、ヘッドが同心のデータトラック間を移動する「シーク時間」遅れが出る。また、ユーザデータが書き込まれるべき物理セクタがヘッドの下に置かれるように、ディスクを回転させるように必要な「回転待ち時間」遅れが出る。したがって、ホストコンピュータ１８は、ディスクドライブが書込み動作を完了するのを待たなければならない。この待ち時間を低減するため、ホストコンピュータ１８からの書込みデータは、最初にキャッシュ（ＤＲＡＭ３０）に書き込まれる。データがキャッシュに書き込まれた後、ホストコンピュータ１８は、ディスク書込み動作が完了するのを待たずに、動作を継続することができる。キャッシュに入れられた書込みデータは、後で、キャッシュから除去またはデステージされ、ディスクに書き込まれる。コントローラ１２は、標準的には、シーク時間、回転待ち時間、および書込みキャッシュのサイズなどの要因に基づいて、いくつかの周知のスケジューリングアルゴリズムの１つを用いて、キャッシュから除去される書込みデータのブロックと、それらのブロックがディスクに書き込まれる時間とを決定する。
【００１９】
ハイブリッドＨＤＤ１０では、不揮発性メモリ３２は「キャッシュ」の役割も果たすが、ハイブリッドＨＤＤ１０が、ディスクが回転していない「省電力」または「待機」モードにあるときに限る。待機モードでは、コントローラ１２は、書込みデータをホストコンピュータ１８から不揮発性メモリ３２に方向付ける。待機モードが開始されたときに既に揮発性メモリ３０に格納されている書込みデータも、不揮発性メモリ３２に転送されてもよい。これにより、待機モード中にハイブリッドＨＤＤ１０への電力の損失がある場合に、書込みデータが失われないことが保証される。したがって、不揮発性メモリ３２は、ハイブリッドＨＤＤ１０がディスクを再び加速する必要なしにホストコンピュータ１８から書込みデータを受け取ることを可能にし、それにより、停電の場合にデータを失うリスクなしに、電力が保存され電池寿命が伸びる。
【００２０】
ＨＤＤは、多くの場合、コントローラ１２によってアクセス可能なマイクロコードまたはメモリ内に、実際のまたは潜在的なＨＤＤの故障事象を示してもよいＨＤＤの信頼性に関するパラメータをコントローラ１２が監視できるようにする、診断プログラムまたはルーチンを含む。これらの事象に関連付けられた故障に関するデータは、ディスク上のユーザデータに使用されない予約領域に記録される。故障したＨＤＤがメーカに戻された場合、記録された故障データを、故障の原因を判断するために検討することができる。しかしながら、ＨＤＤが加速できないか、またはデータをディスクから読み取れない場合、ディスクの予約領域から故障データを取得することは困難または不可能になる。
【００２１】
多くのＨＤＤのメーカによって採用されているＨＤＤ診断ルーチンの一例は、自己診断・報告技術（ＳＭＡＲＴ）である。ＳＭＡＲＴは、いくつかの変形例を有するが、標準的には、ＨＤＤの内部動作を監視し、多くのタイプの潜在的な問題を早期に警告する高度な診断を組み込んでいる。潜在的な問題が検出されると、いずれかのユーザデータが失われるか損傷を受ける前に、ＨＤＤを修理または交換することができる。ＳＭＡＲＴはＨＤＤを監視し、標準的には、故障に関するデータをディスクの予約領域に記録し、故障データを分析し、潜在的なＨＤＤの故障をホストコンピュータに通知する。監視されてもよい「属性」とも呼ばれるパラメータの例としては、ＨＤＤの温度、読取りおよび／または書込みエラーの頻度、ヘッド・ディスク間の間隔、欠陥セクタの数およびそのＬＢＡ、ならびにスピンドルモータのスピンアップ時間が挙げられる。ＨＤＤのメーカは、監視する属性の組と、正常動作中に超過するべきでない閾値とを選択する。以下の表１は、標準的な属性およびそれらの意味のリストである。
【００２２】
【表１】
2008071478.tif 000003
本発明では、ハイブリッドＨＤＤ１０は、ＳＭＡＲＴなどの上述したような、ただし、実際のかつ潜在的なＨＤＤ故障に関する事象が検出され、故障に関するデータが、ディスク２４の予約領域ではなく不揮発性メモリ３２に記録される、診断ルーチンを含んでもよい。診断ルーチンの実行に加えて、またはその代わりに、コントローラ１２は、特定のＨＤＤセンサを定期的または周期的に監視し、センサ信号が許容範囲外にある場合、故障データを不揮発性メモリ３２に記録してもよい。例えば、図１を再び参照すると、ハイブリッドＨＤＤ１０は、温度センサ５０などの環境センサ、およびコントローラ１２に信号を供給する衝撃センサ５２を含んでもよい。標準的なフィルタ、コンパレータ、およびＡ／Ｄコンバータなどの、信号調整回路群またはハードウェア（図示なし）が、センサ５０および５２とコントローラ１２との間に置かれてもよい。ディスクドライブは、標準的には、外部の衝撃または振動を検出し、「書込み禁止」信号をコントローラ１２および書込み／読取りチャネル２０に送って、データが意図的でなく上書きされたり、意図されるまたは対象のトラックに隣接したトラックに書き込まれたデータが改ざんされるのを防ぐ、加速度計などの衝撃センサを含む。
【００２３】
１つの実装例では、コントローラ１２は、センサ５０および５２からの信号を監視する。環境センサ５０からの信号が許容範囲外にある場合、これは、潜在的なＨＤＤの故障に関する事象を示し、コントローラ１２は関連する故障データを不揮発性メモリ３２に記録する。同様に、書込み禁止信号が衝撃センサ５２から受け取られると、コントローラ１２は、関連する故障データを不揮発性メモリ３２に記録してもよい。同様に、コントローラ１２は、スピンドルモータ２６の状態を監視し、例えばスピンアップ時間が許容値よりも大きい場合、故障に関するデータを不揮発性メモリ３２に記録してもよい。
【００２４】
本発明では、実際のまたは潜在的な故障によってドライブがメーカに戻されたとき、故障の原因を判断し、修理および今後のＨＤＤの再設計を容易にする、故障データを取得するには、不揮発性メモリにアクセスすればよい。ＨＤＤの電子部品が故障していたとしても、不揮発性メモリをＨＤＤから取り外すことができ、故障データが読み出される。
【００２５】
ある特別なタイプの故障事象は、新たな欠陥データセクタに直面している。ＨＤＤの同心のデータトラックはそれぞれ、データが格納される連続した物理セクタに分割され、物理セクタはそれぞれＬＢＡに関連付けられる。欠陥セクタは、診断ルーチンの実行によって検出することができる。欠陥セクタは、また、セクタが適切に読み取りまたは書き込みされていないとき、ＨＤＤの読取り／書込みプロセスによって呼び出される故障管理ルーチンによって識別される。ＨＤＤが動作状態になった後に新たな欠陥セクタが検出されると（「二次的欠陥」と呼ばれる）、その欠陥セクタは運用停止され、そのＬＢＡは、データトラックの端部またはシリンダ群の端部にあるものなど、ディスクの予約領域内の再割付されたセクタまたはスペアセクタに関連付けられるか、またはマッピングされる。図２はこのプロセスを概略的に説明する。トラック０７は、３つの連続した物理セクタ７０、７１、７２を有して示される。これらの物理セクタは、ＬＢＡ０３、ＬＢＡ０４、およびＬＢＡ０５にそれぞれ関連付けられる。トラック０９は、正常動作においてはユーザデータ用ではない予約領域におかれたスペアセクタを有して示される。トラック０７の物理セクタ７１が欠陥をもつと、それに関連付けられたＬＢＡ０４がトラック０９のスペアセクタに関連付けられる。しかしながら、トラック０９のスペアセクタは、ここでは、直前のＬＢＡ０３および直後のＬＢＡ０５それぞれの物理セクタ７０および７２と物理的に連続していないので、ＬＢＡ０３およびＬＢＡ０５を含む範囲に対する読取りまたは書込みコマンドは、スペアセクタにアクセスするためにトラック０７からトラック０９までのシークと、次にトラック０７に戻る別のシークとを必要とする。これら２つの余分なシークと、それに伴う回転待ち時間とは、二次的欠陥を伴うあらゆるデータアクセスの性能を著しく低下させる。低下した性能に加えて、スペアセクタの使用はディスク上の予約領域を必要とし、それが、ユーザデータに利用可能なディスク領域を減少させる。
【００２６】
本発明のハイブリッドＨＤＤ１０では、欠陥セクタは、ディスク２４の予約領域ではなく不揮発性メモリ３２に再割付される。二次的欠陥が検出されると、それに関連するＬＢＡは、不揮発性メモリ３２内のメモリ空間にマッピングされる。二次的欠陥リスト、すなわち「Ｇ−リスト」と呼ばれる欠陥テーブルは、マッピングを追跡する。以下の表２はＧ−リストの一例である。
【００２７】
【表２】
2008071478.tif 000004
欠陥セクタに関連付けられたＬＢＡに対する将来のユーザデータはすべて、ＬＢＡがマッピングされる不揮発性メモリ３２内のメモリ空間に格納される。したがって、欠陥セクタの故障事象が検出されると、欠陥セクタに格納されていたであろうユーザデータは、ディスク上の予約スペアセクタではなく不揮発性メモリ３２に格納される故障データとして見なすことができる。読取りまたは書込みコマンドが、欠陥セクタのＬＢＡを含むＬＢＡ領域に対して受け取られると、その欠陥セクタは単に読み飛ばされる一方、コマンドのＬＢＡ領域全体が処理される。欠陥セクタのＬＢＡに対するユーザデータは、不揮発性メモリ３２内のマッピングされたメモリ空間から読み取られるか、またはそこに書き込まれる。したがって、余分なシークは不要であり、付加的な回転待ち時間遅れが出ない。
【００２８】
図３は、本発明によって読取りコマンドを処理するためのフローチャートである。コントローラ１２は、ホストコンピュータ１８からＬＢＡを含む読取りコマンドを受け取る（ブロック１００）。コントローラ１２は、ＬＢＡがキャッシュテーブル内にあるかを判断する（ブロック１０２）。キャッシュテーブル内にある場合、これは、読み取られるユーザデータが既にＤＲＡＭ内にあり、ディスク上の物理セクタにアクセスする必要なしに、ホストに返すことができることを意味する（ブロック１０４）。ＬＢＡがキャッシュテーブル内にない場合、コントローラ１２は欠陥テーブル（Ｇ−リスト）を確認する（ブロック１０６）。ＬＢＡが欠陥テーブル内にある場合、これは、それに関連する物理セクタに欠陥があることを意味し、ユーザデータは次に、（欠陥テーブルからのマッピングを使用して）不揮発性メモリ３２内のメモリ空間から読み取られ、ホストコンピュータ１８に返される（ブロック１０８）。ＬＢＡが欠陥テーブル内にない場合、これは、それに関連する物理セクタに欠陥がないことを意味し、コントローラ１２は、ディスク２４上のＬＢＡに関連付けられた物理セクタの位置を決定し（ブロック１１０）、読取り／書込みヘッドにディスク上の物理セクタにアクセスさせて、ユーザデータを読み取り、かつそれをホストコンピュータ１８に返す（ブロック１１２）。
【００２９】
図４は、本発明による書込みコマンドを処理するためのフローチャートである。コントローラ１２は、ホストコンピュータ１８からＬＢＡを含む書込みコマンドを受け取る（ブロック２００）。コントローラ１２は、書込みキャッシュが有効かを判断し（ブロック２０２）、有効の場合、書込みデータは単にＤＲＡＭキャッシュに書き込まれ（ブロック２０４）、コントローラ１２は、少し後の時点で、書込みデータをＤＲＡＭキャッシュからディスクにデステージする（ブロック２２０）。コントローラ１２が、書込みキャッシュが有効でないと判断した場合（ブロック２０２）、コントローラ１２はＬＢＡがキャッシュテーブル内にあるかを判断する（ブロック２０６）。テーブル内にある場合、これは、書き込まれるユーザデータが既にＤＲＡＭ内にあることを意味する。コントローラ１２は、このＬＢＡのキャッシュに入れられたコピーを新たな書込みデータで更新することができ、あるいは、単にそのＬＢＡに対するキャッシュエントリを無効にすることができる（ブロック２０８）。いずれの場合も、またＬＢＡがキャッシュテーブル内にない場合も、コントローラ１２は次に、欠陥テーブル（Ｇ−リスト）を確認する（ブロック２１０）。コントローラ１２が、キャッシュに入れられた書込みデータをＤＲＡＭキャッシュからディスクにデステージするように、自律的に判断した場合も、ブロック２１０に入る（ブロック２２０）。ＬＢＡが欠陥テーブル内にある場合、これは、それに関連する物理セクタに欠陥があることを意味し、ユーザデータは次に、（欠陥テーブルからのマッピングを使用して）フラッシュメモリ内のそのメモリ空間に書き込まれる（ブロック２１２）。ＬＢＡが欠陥テーブル内にない場合、これは、それに関連する物理セクタに欠陥がないことを意味し、コントローラ１２は、ディスク上のＬＢＡに関連付けられた物理セクタの位置を決定し（ブロック２１４）、読取り／書込みヘッドにディスク上の物理セクタにアクセスさせて、ユーザデータをディスク上の物理セクタに書き込む（ブロック２１６）。
【００３０】
本発明により、欠陥セクタに関連付けられたユーザデータを格納する予約スペアセクタを含む、故障に関するデータを格納するためのディスクの予約領域が不要なので、ＨＤＤがより大きな記憶容量を有することが可能になる。したがって、本発明のＨＤＤは、予約スペアセクタを有さず、ユーザデータに対するセクタのみを有するようにフォーマットされた、データトラックを備えたディスクを有してもよい。すべてのセクタは関連するＬＢＡを有し、いずれのセクタも、後で欠陥となるセクタに代わるスペアセクタとして予約されない。
【００３１】
本発明を、好ましい実施形態を参照して具体的に示しかつ説明してきたが、本発明の趣旨および範囲から逸脱することなく、形態および詳細の様々な変更が行なわれてもよいことが、当業者には理解されるであろう。したがって、開示される発明は単に例示目的のものであり、その範囲は、添付の特許請求の範囲に明記されるものによってのみ限定されるものと見なされる。
【図面の簡単な説明】
【００３２】
【図１】本発明による磁気記録ハイブリッドハードディスクドライブ（ＨＤＤ）のブロック図である。
【図２】ユーザデータを欠陥セクタからスペアセクタに再割付する従来の方法を表わす概略図である。
【図３】本発明による読取りコマンドを処理するためのフローチャートである。
【図４】本発明による書込みコマンドを処理するためのフローチャートである。
【符号の説明】
【００３３】
１０…ハードディスクドライブ（ＨＤＤ）、
１２…ハードディスクコントローラ（ＨＤＣ）、
１４…メモリ、
１６…ホストインターフェース、
１８…ホストコンピュータ、
２０…読取り／書込みチャネル、
２２…読取り／書込みヘッド、
２４…磁気記録ディスク、
２６…スピンドルモータ、
２８…アクチュエータ、
３０…揮発性メモリ、
３２…不揮発性メモリ、
３４…データバス、
５０…環境センサ、
５２…衝撃センサ、
７０，７１，７２…物理セクタ。
【図１】
2008071478.tif 000005
【図２】
2008071478.tif 000006
【図３】
2008071478.tif 000007
【図４】
2008071478.tif 000008