説明

故障に関するデータを格納する不揮発性メモリを備えたディスクドライブ

【課題】不揮発性メモリを含む磁気記録ディスクドライブを提供する。
【解決手段】不揮発性メモリ32を含むディスクドライブ10は、故障に関するデータを、ディスク24の予約領域ではなく不揮発性メモリ32に記録する。監視・記録される故障事象は欠陥データセクタを含んでもよい。ディスクドライブが動作状態になった後に新たな欠陥セクタが検出されると、その欠陥セクタは運用停止され、その論理ブロックアドレス(LBA)は、ディスク上の予約領域ではなく不揮発性メモリ内のメモリ空間にマッピングされる。読取りまたは書込みコマンドが、欠陥セクタのLBAを含むLBA範囲に対して受け取られると、欠陥セクタが読み飛ばされる一方、コマンドのLBA範囲全体が処理され、欠陥セクタのLBAに対するユーザデータは、不揮発性メモリ内のマッピングされたメモリ空間から読み取られるか、またはそこに書き込まれる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、ディスクドライブに関し、より具体的には、不揮発性メモリを含む磁気記録ディスクドライブに関する。
【背景技術】
【0002】
磁気記録ハードディスクドライブ(HDD)は、標準的には、回転するディスクメモリに加えて、相当数の書き込み/消去サイクルに耐えることができ、かつ高いデータ転送速度を有する揮発性メモリの形態である、ダイナミックRAM(DRAM)を含む。DRAMは、ホストコンピュータとディスクの間で転送されるユーザデータを一時的に保持する「キャッシュ」として機能する。ディスクドライブのデータコントローラは、ホストコンピュータから読取りおよび書込みコマンドを受け取り、ディスクへのユーザデータの書き込みとディスクからのユーザデータの読み取りとを制御する。「ライトバックキャッシング」または「書込みキャッシュ有効」と呼ばれる、書込みデータをDRAMに転送するための1つの一般的な方法では、ホストからの書込みコマンドに対する書込みデータはDRAMに格納され、書込みデータがDRAMに受け入れられると、書込み完了が信号によって伝達され、DRAM内の書込みデータは次に、少し後でDRAMからデステージされ、ディスクに書き込まれる。
【発明の開示】
【発明が解決しようとする課題】
【0003】
電池式のモバイルコンピュータの出現により、HDDによっては、ディスクドライブがある期間非活動状態であったときディスクが減速する(回転を停止する)、「省電力」または「待機」モードを有する。このモードの主な目的は、モバイルコンピュータの電池寿命を伸ばすことである。ディスクドライブが待機モードにあり、電子部品のみが活動状態のとき、電池電力は保存される。書込みデータがホストから受け取られ、それがディスクに書き込まれなければならないとき、ディスクドライブは待機モードを終了し、ディスクは加速して、書込みデータを書き込むことができるようになるが、それは多量の電池電力を消費する。これが頻繁に生じすぎる場合、電力は節約されない。
【0004】
この問題の1つの解決策は、ドライブが待機モードにあり、かつディスクが回転していないとき、書込みデータをDRAMに格納し、ある程度後の時間に、例えば書込みキャッシュ有効時に書込みデータをディスクにデステージすることである。しかしながら、DRAMは揮発性メモリなので、書込みデータをディスクにデステージすることができる前にドライブが電力を失った場合、DRAM内の書込みデータが失われるかも知れないという危険がある。したがって、モバイルコンピュータに使用されるHDD内のDRAMに加えて、またはその代わりに、不揮発性メモリ、例えば「フラッシュ」メモリを使用することが提案されてきた。フラッシュメモリは不揮発性なので、電力が失われても書込みデータは失われない。この種のHDDは、2つのタイプの「恒久的な」データ記憶媒体、すなわち不揮発性メモリおよび磁気記録ディスクを有するため、「ハイブリッド」ディスクドライブと呼ばれることがある。ハイブリッドHDDは、自身のフラッシュメモリを、この動作モード、すなわち省電力モードに使用する。したがって、ハイブリッドディスクドライブの主な利点は、待機モードを終了する必要なしに、書込みデータをホストから受け取り、それによって電力を保存し、電池寿命を伸ばすが、電源異常が生じた場合にデータを失う危険がないという能力である。
【0005】
HDDは、多くの場合、実際のまたは潜在的なHDDの故障事象を示してもよいHDDの信頼性に関するパラメータを監視する診断プログラムまたはルーチンを含む。これらの事象に関連付けられた故障に関するデータは、ユーザデータに使用されないディスク上の予約領域に記録される。故障事象を検出するために監視されてもよいHDDパラメータの例としては、HDDの温度、読取りおよび/または書込みエラーの頻度、ヘッド・ディスク間の間隔、およびスピンドルモータがディスクを加速するのに必要な時間が挙げられる。故障したHDDがメーカーに戻された場合、記録された故障データは、故障の原因を判断するために検討することができる。しかしながら、故障モードが、データをディスクに書き込むことができないものである場合、故障情報を記録することができない。また、HDDスピンドルモータが加速できない場合やデータをディスクから読み取ることができない場合、ディスクの予約領域から故障データを取得することは、困難または不可能になる。
【0006】
故障事象の1つの特別なタイプは欠陥データセクタである。HDDの同心のデータトラックはそれぞれ、データが格納される連続した物理セクタに分割され、物理セクタはそれぞれ、論理ブロックアドレス(LBA)に関連付けられる。欠陥セクタは、診断ルーチンを実行することによって、またはHDDの読取り/書込みプロセスの一部である欠陥管理ルーチンによって検出することができる。HDDが動作状態になった後に新たな欠陥セクタが検出されると(「二次的欠陥(grown defect)」と呼ばれる)、その欠陥セクタは運用停止され、それに関連するLBAは、標準的にはデータトラックの端部にある、ディスクの予約領域内の再割付されたセクタまたはスペアセクタにマッピングされる。しかしながら、スペアセクタは、LBAの直前または直後の物理セクタとは物理的に連続していないので、欠陥セクタのLBAを含むLBA範囲に対する読取りまたは書込みコマンドは、ディスクドライブが、シーク(すなわち、読取り/書込みヘッドを1つのトラックから別のトラックに移動させる)して、コマンドを処理しながらスペアセクタにアクセスし、次に別のシークを行って、コマンドの処理の継続に戻ることを必要とする。これら2つの余分なシークと、それに伴う回転待ち時間(すなわち、ヘッドがトラック上にあった後、セクタが読取り/書込みヘッドの下で回転する時間)とは、二次的欠陥を伴うあらゆるデータアクセスの性能を著しく低下させる。低下した性能に加えて、スペアセクタの使用はディスク上の予約領域を必要とし、それが、ユーザデータに利用可能なディスク領域を減少させる。
【0007】
故障事象の記録に関連付けられた問題がなく、欠陥データセクタの取り扱いに関連付けられた性能低下を有さない、ハイブリッドディスクドライブが求められている。
【課題を解決するための手段】
【0008】
本発明は、HDDの信頼性に関するパラメータを監視して、実際のまたは潜在的なHDDの故障事象を検出し、故障に関するデータを、ディスクの予約領域ではなく不揮発性メモリに記録する、ハイブリッドディスクドライブである。監視は、診断ルーチンを実行することによってなされてもよく、その一例は、多くのHDDメーカによって採用されている自己診断・報告技術(SMART)である。診断ルーチンの実行に加えて、またはその代わりに、温度センサおよび衝撃センサなどのHDDセンサは、定期的または周期的に監視されてもよく、故障に関するデータは、センサ信号が許容範囲外にある場合、不揮発性メモリに記録される。周期的に測定された信頼性に関するドライブ使用データも、不揮発性メモリに記録することができる。
【0009】
監視され記録される故障事象は欠陥データセクタを含んでもよい。欠陥セクタは、診断ルーチンを実行することによって、またはHDDの読取り/書込みプロセスの一部である故障管理ルーチンによって検出することができる。HDDが動作状態になった後に新たな欠陥セクタが検出されると、その欠陥セクタは運用停止され、そのLBAは、ディスク上の予約スペアセクタではなく、不揮発性メモリ内のメモリ空間にマッピングされる。欠陥セクタに格納されていたであろうユーザデータは、故障データとして見なされ、不揮発性メモリ内の関連するメモリ空間に格納される。読取りまたは書込みコマンドが、欠陥セクタのLBAを含むLBA範囲に対して受け取られると、欠陥セクタが読み飛ばされる一方、コマンドのLBA範囲全体が処理され、欠陥セクタのLBAに対するユーザデータは、不揮発性メモリ内のマッピングされたメモリ空間から読み取られるか、またはそこに書き込まれる。したがって、余分なシークは不要であり、付加的な回転待ち時間遅れが出ない。
【0010】
HDDが、実際のまたは潜在的な故障によってメーカーに戻されたとき、故障の原因を判断し、修理および今後のHDDの再設計を容易にする、故障データを取得するには、不揮発性メモリにアクセスすればよい。HDDの電子部品が故障していたとしても、不揮発性メモリをHDDから取り外すことができ、故障データが読み出される。本発明により、欠陥セクタに関連付けられたユーザデータを格納する予約スペアセクタを含む、故障に関するデータを格納するためのディスクの予約領域が不要なので、HDDがより大きな記憶容量を有することが可能になる。したがって、本発明のHDDは、予約スペアセクタを有さず、ユーザデータに対するセクタのみを有するようにフォーマットされた、データトラックを備えたディスクを有してもよい。すべてのセクタは関連するLBAを有し、いずれのセクタも、後で欠陥となるセクタに代わるスペアセクタとして予約されない。
【0011】
本発明の性質および利点のさらに十分な理解のため、添付図面とともに以下の詳細な説明を参照されたい。
【発明の効果】
【0012】
本発明によれば、欠陥セクタに関連付けられたユーザデータを格納する予約スペアセクタを含む、故障に関するデータを格納するためのディスクの予約領域が不要なので、ハードディスクドライブがより大きな記憶容量を有することが可能になる。
【発明を実施するための最良の形態】
【0013】
図1は、本発明による磁気記録ハイブリッドハードディスクドライブ(HDD)10のブロック図である。HDD10は、マイクロコントローラまたはマイクロプロセッサを含む、かつ/またはそれによって実装されることができる、ハードディスクコントローラ(HDC)12を含む。コントローラ12は、メモリ14に格納された、後述される論理およびアルゴリズムを具体化するコンピュータプログラムを実行する。メモリ14は、コントローラ12と別個であるか、またはコントローラチップ上の内蔵メモリであってもよい。コンピュータプログラムはまた、マイクロコード、またはコントローラ12にアクセス可能な他のタイプのメモリに実装されてもよい。
【0014】
コントローラ12は、ホストコンピュータ18と通信するホストインターフェース16に接続される。ホストコンピュータ18は、電池電源から作動することができる可搬型コンピュータであってもよい。ホストインターフェース16は、シリアルATA(アドバンスト・テクノロジー・アタッチメント)またはSCSI(スモール・コンピュータ・システム・インターフェース)などの、任意の従来のコンピュータHDDインターフェースであってもよい。
【0015】
コントローラ12はまた、読取り/書込みチャネル20を介してHDDの読取り/書込みヘッド22それぞれに接続される。ヘッド22は、磁気記録ディスク24の表面全体にわたって移動して、同心のデータトラックにアクセスする。同心のデータトラックはそれぞれ、ユーザデータが格納される複数の物理セクタに分割される。HDD10は、標準的には、スピンドルモータ26上に載置され、かつそれによって回転される多量のディスク24を含み、各ディスクの表面はヘッド22の1つに関連付けられる。スピンドルモータ26は、コントローラ12によって制御され、また、スピンドルモータ速度およびスピンアップ時間などの状況情報をコントローラ12に送る。ヘッド22は、アクチュエータ28によって、ディスク表面上の同心のデータトラックを横切って所望のデータトラックまで移動される(トラック「シーキング」と呼ばれるプロセス)。ヘッドが所望のデータトラック上に置かれると、それらはアクチュエータ28によってトラック上で維持される(トラック「フォロイング」と呼ばれるプロセス)ので、ユーザデータをデータセクタに書き込み、またそこから読み取ることができる。ヘッド22はすべて一緒に移動するので、各ヘッドがトラック上に置かれると、ヘッドがその上に置かれているトラック群は「シリンダ」と呼ばれる。したがって、論理ブロックアドレス(LBA)によって識別されるようなユーザデータのブロックは、シリンダ番号、ヘッド番号、およびセクタ番号によって一意に指定される物理セクタにマッピングされる。
【0016】
コントローラ12は、ホストコンピュータ18からの書込みコマンドに応答して書込みデータのブロックを受け取るデータコントローラの役割を果たし、ヘッド22によってディスク24に書き込むため、読取り/書込みチャネル20を介して書込みデータを転送する。コントローラ12は、また、ホストコンピュータ18から読取りコマンドを受け取り、ヘッド22にディスク24からユーザデータを読み取らせ、読み取られたデータをホストコンピュータ18に返す。ホストコンピュータ18からの読取りおよび書込みコマンドは、書き込まれるまたは読み取られるユーザデータのブロックに関連付けられたLBAを指定する。各LBAは、ディスク24上の物理セクタに関連付けられる。
【0017】
コントローラ12は、また、データバス34を介して揮発性メモリ30および不揮発性メモリ32と通信する。1つのタイプの揮発性メモリ30は、ダイナミックRAM(DRAM)であってもよい。1つのタイプの不揮発性メモリ32は、フラッシュメモリであってもよい。フラッシュメモリは、「セル」と呼ばれるフローティングゲートトランジスタの配列に情報を格納し、また、ブロック単位で電気的に消去され再プログラムすることができる。HDD10は、2つのタイプの「恒久的な」データ記憶媒体、すなわち、不揮発性メモリ32および磁気記録ディスク24を含むので、「ハイブリッド」ディスクドライブと呼ばれることがある。
【0018】
揮発性メモリ30(標準的にはDRAM)は、ユーザデータをホストコンピュータ18とディスク24の間で一時的に保持する「キャッシュ」の役割を果たす。この1つの理由は、データをディスク24に書き込むことができる速度が多数の物理的な拘束によって決定されることである。例えば、書き込みを行うヘッドがそれに関連するディスクの1つの領域の上に位置付けられ、データがディスクの別の領域において書き込まれるべき場合、ヘッドが同心のデータトラック間を移動する「シーク時間」遅れが出る。また、ユーザデータが書き込まれるべき物理セクタがヘッドの下に置かれるように、ディスクを回転させるように必要な「回転待ち時間」遅れが出る。したがって、ホストコンピュータ18は、ディスクドライブが書込み動作を完了するのを待たなければならない。この待ち時間を低減するため、ホストコンピュータ18からの書込みデータは、最初にキャッシュ(DRAM30)に書き込まれる。データがキャッシュに書き込まれた後、ホストコンピュータ18は、ディスク書込み動作が完了するのを待たずに、動作を継続することができる。キャッシュに入れられた書込みデータは、後で、キャッシュから除去またはデステージされ、ディスクに書き込まれる。コントローラ12は、標準的には、シーク時間、回転待ち時間、および書込みキャッシュのサイズなどの要因に基づいて、いくつかの周知のスケジューリングアルゴリズムの1つを用いて、キャッシュから除去される書込みデータのブロックと、それらのブロックがディスクに書き込まれる時間とを決定する。
【0019】
ハイブリッドHDD10では、不揮発性メモリ32は「キャッシュ」の役割も果たすが、ハイブリッドHDD10が、ディスクが回転していない「省電力」または「待機」モードにあるときに限る。待機モードでは、コントローラ12は、書込みデータをホストコンピュータ18から不揮発性メモリ32に方向付ける。待機モードが開始されたときに既に揮発性メモリ30に格納されている書込みデータも、不揮発性メモリ32に転送されてもよい。これにより、待機モード中にハイブリッドHDD10への電力の損失がある場合に、書込みデータが失われないことが保証される。したがって、不揮発性メモリ32は、ハイブリッドHDD10がディスクを再び加速する必要なしにホストコンピュータ18から書込みデータを受け取ることを可能にし、それにより、停電の場合にデータを失うリスクなしに、電力が保存され電池寿命が伸びる。
【0020】
HDDは、多くの場合、コントローラ12によってアクセス可能なマイクロコードまたはメモリ内に、実際のまたは潜在的なHDDの故障事象を示してもよいHDDの信頼性に関するパラメータをコントローラ12が監視できるようにする、診断プログラムまたはルーチンを含む。これらの事象に関連付けられた故障に関するデータは、ディスク上のユーザデータに使用されない予約領域に記録される。故障したHDDがメーカに戻された場合、記録された故障データを、故障の原因を判断するために検討することができる。しかしながら、HDDが加速できないか、またはデータをディスクから読み取れない場合、ディスクの予約領域から故障データを取得することは困難または不可能になる。
【0021】
多くのHDDのメーカによって採用されているHDD診断ルーチンの一例は、自己診断・報告技術(SMART)である。SMARTは、いくつかの変形例を有するが、標準的には、HDDの内部動作を監視し、多くのタイプの潜在的な問題を早期に警告する高度な診断を組み込んでいる。潜在的な問題が検出されると、いずれかのユーザデータが失われるか損傷を受ける前に、HDDを修理または交換することができる。SMARTはHDDを監視し、標準的には、故障に関するデータをディスクの予約領域に記録し、故障データを分析し、潜在的なHDDの故障をホストコンピュータに通知する。監視されてもよい「属性」とも呼ばれるパラメータの例としては、HDDの温度、読取りおよび/または書込みエラーの頻度、ヘッド・ディスク間の間隔、欠陥セクタの数およびそのLBA、ならびにスピンドルモータのスピンアップ時間が挙げられる。HDDのメーカは、監視する属性の組と、正常動作中に超過するべきでない閾値とを選択する。以下の表1は、標準的な属性およびそれらの意味のリストである。
【0022】
【表1】

本発明では、ハイブリッドHDD10は、SMARTなどの上述したような、ただし、実際のかつ潜在的なHDD故障に関する事象が検出され、故障に関するデータが、ディスク24の予約領域ではなく不揮発性メモリ32に記録される、診断ルーチンを含んでもよい。診断ルーチンの実行に加えて、またはその代わりに、コントローラ12は、特定のHDDセンサを定期的または周期的に監視し、センサ信号が許容範囲外にある場合、故障データを不揮発性メモリ32に記録してもよい。例えば、図1を再び参照すると、ハイブリッドHDD10は、温度センサ50などの環境センサ、およびコントローラ12に信号を供給する衝撃センサ52を含んでもよい。標準的なフィルタ、コンパレータ、およびA/Dコンバータなどの、信号調整回路群またはハードウェア(図示なし)が、センサ50および52とコントローラ12との間に置かれてもよい。ディスクドライブは、標準的には、外部の衝撃または振動を検出し、「書込み禁止」信号をコントローラ12および書込み/読取りチャネル20に送って、データが意図的でなく上書きされたり、意図されるまたは対象のトラックに隣接したトラックに書き込まれたデータが改ざんされるのを防ぐ、加速度計などの衝撃センサを含む。
【0023】
1つの実装例では、コントローラ12は、センサ50および52からの信号を監視する。環境センサ50からの信号が許容範囲外にある場合、これは、潜在的なHDDの故障に関する事象を示し、コントローラ12は関連する故障データを不揮発性メモリ32に記録する。同様に、書込み禁止信号が衝撃センサ52から受け取られると、コントローラ12は、関連する故障データを不揮発性メモリ32に記録してもよい。同様に、コントローラ12は、スピンドルモータ26の状態を監視し、例えばスピンアップ時間が許容値よりも大きい場合、故障に関するデータを不揮発性メモリ32に記録してもよい。
【0024】
本発明では、実際のまたは潜在的な故障によってドライブがメーカに戻されたとき、故障の原因を判断し、修理および今後のHDDの再設計を容易にする、故障データを取得するには、不揮発性メモリにアクセスすればよい。HDDの電子部品が故障していたとしても、不揮発性メモリをHDDから取り外すことができ、故障データが読み出される。
【0025】
ある特別なタイプの故障事象は、新たな欠陥データセクタに直面している。HDDの同心のデータトラックはそれぞれ、データが格納される連続した物理セクタに分割され、物理セクタはそれぞれLBAに関連付けられる。欠陥セクタは、診断ルーチンの実行によって検出することができる。欠陥セクタは、また、セクタが適切に読み取りまたは書き込みされていないとき、HDDの読取り/書込みプロセスによって呼び出される故障管理ルーチンによって識別される。HDDが動作状態になった後に新たな欠陥セクタが検出されると(「二次的欠陥」と呼ばれる)、その欠陥セクタは運用停止され、そのLBAは、データトラックの端部またはシリンダ群の端部にあるものなど、ディスクの予約領域内の再割付されたセクタまたはスペアセクタに関連付けられるか、またはマッピングされる。図2はこのプロセスを概略的に説明する。トラック07は、3つの連続した物理セクタ70、71、72を有して示される。これらの物理セクタは、LBA03、LBA04、およびLBA05にそれぞれ関連付けられる。トラック09は、正常動作においてはユーザデータ用ではない予約領域におかれたスペアセクタを有して示される。トラック07の物理セクタ71が欠陥をもつと、それに関連付けられたLBA04がトラック09のスペアセクタに関連付けられる。しかしながら、トラック09のスペアセクタは、ここでは、直前のLBA03および直後のLBA05それぞれの物理セクタ70および72と物理的に連続していないので、LBA03およびLBA05を含む範囲に対する読取りまたは書込みコマンドは、スペアセクタにアクセスするためにトラック07からトラック09までのシークと、次にトラック07に戻る別のシークとを必要とする。これら2つの余分なシークと、それに伴う回転待ち時間とは、二次的欠陥を伴うあらゆるデータアクセスの性能を著しく低下させる。低下した性能に加えて、スペアセクタの使用はディスク上の予約領域を必要とし、それが、ユーザデータに利用可能なディスク領域を減少させる。
【0026】
本発明のハイブリッドHDD10では、欠陥セクタは、ディスク24の予約領域ではなく不揮発性メモリ32に再割付される。二次的欠陥が検出されると、それに関連するLBAは、不揮発性メモリ32内のメモリ空間にマッピングされる。二次的欠陥リスト、すなわち「G−リスト」と呼ばれる欠陥テーブルは、マッピングを追跡する。以下の表2はG−リストの一例である。
【0027】
【表2】

欠陥セクタに関連付けられたLBAに対する将来のユーザデータはすべて、LBAがマッピングされる不揮発性メモリ32内のメモリ空間に格納される。したがって、欠陥セクタの故障事象が検出されると、欠陥セクタに格納されていたであろうユーザデータは、ディスク上の予約スペアセクタではなく不揮発性メモリ32に格納される故障データとして見なすことができる。読取りまたは書込みコマンドが、欠陥セクタのLBAを含むLBA領域に対して受け取られると、その欠陥セクタは単に読み飛ばされる一方、コマンドのLBA領域全体が処理される。欠陥セクタのLBAに対するユーザデータは、不揮発性メモリ32内のマッピングされたメモリ空間から読み取られるか、またはそこに書き込まれる。したがって、余分なシークは不要であり、付加的な回転待ち時間遅れが出ない。
【0028】
図3は、本発明によって読取りコマンドを処理するためのフローチャートである。コントローラ12は、ホストコンピュータ18からLBAを含む読取りコマンドを受け取る(ブロック100)。コントローラ12は、LBAがキャッシュテーブル内にあるかを判断する(ブロック102)。キャッシュテーブル内にある場合、これは、読み取られるユーザデータが既にDRAM内にあり、ディスク上の物理セクタにアクセスする必要なしに、ホストに返すことができることを意味する(ブロック104)。LBAがキャッシュテーブル内にない場合、コントローラ12は欠陥テーブル(G−リスト)を確認する(ブロック106)。LBAが欠陥テーブル内にある場合、これは、それに関連する物理セクタに欠陥があることを意味し、ユーザデータは次に、(欠陥テーブルからのマッピングを使用して)不揮発性メモリ32内のメモリ空間から読み取られ、ホストコンピュータ18に返される(ブロック108)。LBAが欠陥テーブル内にない場合、これは、それに関連する物理セクタに欠陥がないことを意味し、コントローラ12は、ディスク24上のLBAに関連付けられた物理セクタの位置を決定し(ブロック110)、読取り/書込みヘッドにディスク上の物理セクタにアクセスさせて、ユーザデータを読み取り、かつそれをホストコンピュータ18に返す(ブロック112)。
【0029】
図4は、本発明による書込みコマンドを処理するためのフローチャートである。コントローラ12は、ホストコンピュータ18からLBAを含む書込みコマンドを受け取る(ブロック200)。コントローラ12は、書込みキャッシュが有効かを判断し(ブロック202)、有効の場合、書込みデータは単にDRAMキャッシュに書き込まれ(ブロック204)、コントローラ12は、少し後の時点で、書込みデータをDRAMキャッシュからディスクにデステージする(ブロック220)。コントローラ12が、書込みキャッシュが有効でないと判断した場合(ブロック202)、コントローラ12はLBAがキャッシュテーブル内にあるかを判断する(ブロック206)。テーブル内にある場合、これは、書き込まれるユーザデータが既にDRAM内にあることを意味する。コントローラ12は、このLBAのキャッシュに入れられたコピーを新たな書込みデータで更新することができ、あるいは、単にそのLBAに対するキャッシュエントリを無効にすることができる(ブロック208)。いずれの場合も、またLBAがキャッシュテーブル内にない場合も、コントローラ12は次に、欠陥テーブル(G−リスト)を確認する(ブロック210)。コントローラ12が、キャッシュに入れられた書込みデータをDRAMキャッシュからディスクにデステージするように、自律的に判断した場合も、ブロック210に入る(ブロック220)。LBAが欠陥テーブル内にある場合、これは、それに関連する物理セクタに欠陥があることを意味し、ユーザデータは次に、(欠陥テーブルからのマッピングを使用して)フラッシュメモリ内のそのメモリ空間に書き込まれる(ブロック212)。LBAが欠陥テーブル内にない場合、これは、それに関連する物理セクタに欠陥がないことを意味し、コントローラ12は、ディスク上のLBAに関連付けられた物理セクタの位置を決定し(ブロック214)、読取り/書込みヘッドにディスク上の物理セクタにアクセスさせて、ユーザデータをディスク上の物理セクタに書き込む(ブロック216)。
【0030】
本発明により、欠陥セクタに関連付けられたユーザデータを格納する予約スペアセクタを含む、故障に関するデータを格納するためのディスクの予約領域が不要なので、HDDがより大きな記憶容量を有することが可能になる。したがって、本発明のHDDは、予約スペアセクタを有さず、ユーザデータに対するセクタのみを有するようにフォーマットされた、データトラックを備えたディスクを有してもよい。すべてのセクタは関連するLBAを有し、いずれのセクタも、後で欠陥となるセクタに代わるスペアセクタとして予約されない。
【0031】
本発明を、好ましい実施形態を参照して具体的に示しかつ説明してきたが、本発明の趣旨および範囲から逸脱することなく、形態および詳細の様々な変更が行なわれてもよいことが、当業者には理解されるであろう。したがって、開示される発明は単に例示目的のものであり、その範囲は、添付の特許請求の範囲に明記されるものによってのみ限定されるものと見なされる。
【図面の簡単な説明】
【0032】
【図1】本発明による磁気記録ハイブリッドハードディスクドライブ(HDD)のブロック図である。
【図2】ユーザデータを欠陥セクタからスペアセクタに再割付する従来の方法を表わす概略図である。
【図3】本発明による読取りコマンドを処理するためのフローチャートである。
【図4】本発明による書込みコマンドを処理するためのフローチャートである。
【符号の説明】
【0033】
10…ハードディスクドライブ(HDD)、
12…ハードディスクコントローラ(HDC)、
14…メモリ、
16…ホストインターフェース、
18…ホストコンピュータ、
20…読取り/書込みチャネル、
22…読取り/書込みヘッド、
24…磁気記録ディスク、
26…スピンドルモータ、
28…アクチュエータ、
30…揮発性メモリ、
32…不揮発性メモリ、
34…データバス、
50…環境センサ、
52…衝撃センサ、
70,71,72…物理セクタ。

【特許請求の範囲】
【請求項1】
ホストコンピュータからのユーザデータを格納する回転可能な記録ディスクと、
ユーザデータを前記ディスクに書き込み、また前記ディスクから読み取るコントローラと、
前記コントローラに接続された不揮発性メモリとを備えるディスクドライブであって、
前記コントローラが、ディスクドライブの故障に関する事象を判断するステップと、前記事象を表す故障に関するデータを前記不揮発性メモリに記録するステップを含む方法行為を実行する論理を含むことを特徴とするディスクドライブ。
【請求項2】
故障に関する事象を判断する前記ステップが、ディスクドライブパラメータの値を測定するステップと、前記測定値が予め定められた閾値をいつ超えるかを検出するステップとを含み、前記パラメータが、温度、データを読み取る際のエラーの頻度、および前記ディスクがその動作速度に達するまでの時間から成る群から選択されることを特徴とする請求項1に記載のディスクドライブ。
【請求項3】
前記ディスクドライブが、前記コントローラに接続された温度センサを含み、故障に関する事象を判断する前記ステップが、前記温度センサからの信号を監視するステップと、前記温度信号が予め定められた閾値をいつ超えるかを検出するステップとを含むことを特徴とする請求項1に記載のディスクドライブ。
【請求項4】
前記ディスクドライブが、前記コントローラに接続された衝撃センサを含み、故障に関する事象を判断する前記ステップが、前記衝撃センサからの信号を監視するステップと、前記衝撃信号が予め定められた閾値をいつ超えるかを検出するステップとを含むことを特徴とする請求項1に記載のディスクドライブ。
【請求項5】
前記ディスクが同心のデータトラックを含み、各データトラックが、データを格納する複数のセクタを含み、各セクタが、前記コントローラによって読み取り可能な論理ブロックアドレス(LBA)を含み、ディスクドライブの故障に関する事象を判断するステップが、セクタに欠陥があることを判断するステップを含み、故障に関するデータを前記不揮発性メモリに記録するステップが、前記欠陥セクタのLBAに対するユーザデータを前記不揮発性メモリに格納するステップを含むことを特徴とする請求項1に記載のディスクドライブ。
【請求項6】
各データトラックのセクタがすべて関連するLBAを有し、いずれのセクタも、欠陥セクタに代わるスペアセクタとして予約されないことを特徴とする請求項5に記載のディスクドライブ。
【請求項7】
前記ディスクドライブが、前記コントローラに接続された揮発性メモリを含み、前記コントローラが、前記ディスクが回転していない待機動作モードにおいて、ユーザデータを前記ホストコンピュータから前記揮発性メモリに転送し、次に前記ユーザデータを前記揮発性メモリから前記不揮発性メモリにデステージする方法行為を実行する論理をさらに含むことを特徴とする請求項1に記載のディスクドライブ。
【請求項8】
ホストコンピュータからのユーザデータを格納する回転可能な磁気記録ディスクであって、複数の同心のデータトラックを有し、各データトラックがユーザデータを格納する複数の連続したセクタを含み、各セクタが関連する論理ブロックアドレス(LBA)を有するディスクと、
ユーザデータを前記セクタに書き込み、かつユーザデータを前記セクタから読み取るため、前記ディスクの表面全体にわたって移動可能な読取り/書込みヘッドと、
前記ホストコンピュータからの読取りおよび書込みコマンドに応答して、前記ホストコンピュータと前記ディスク上の前記セクタとの間でユーザデータを転送する、前記ホストコンピュータに接続するように適合されたコントローラと、
ユーザデータを一時的に格納する、前記コントローラに接続された揮発性メモリと、
前記コントローラに接続された不揮発性メモリとを備える、磁気記録ディスクドライブであって、
前記コントローラが、
セクタに欠陥があることを判断するステップと、
前記欠陥セクタに対する前記LBAに前記不揮発性メモリ内のメモリ空間を割り当てるステップと、
前記ホストコンピュータからの、前記欠陥セクタのLBAに関連付けられたユーザデータを書込むコマンドに応答して、前記ユーザデータを前記割り当てられたメモリ空間に書き込むステップを含む方法行為を実行する論理を含むことを特徴とするディスクドライブ。
【請求項9】
前記コントローラが、前記ホストコンピュータからの、前記欠陥セクタのLBAに関連付けられたユーザデータを読取るコマンドに応答して、前記ユーザデータを前記割り当てられたメモリ空間から読み取る方法行為を実行する論理をさらに含むことを特徴とする請求項8に記載のディスクドライブ。
【請求項10】
前記コントローラが、前記ディスクが回転していない待機動作モードにおいて、ユーザデータを前記ホストコンピュータから前記揮発性メモリに転送し、次に前記ユーザデータを前記揮発性メモリから前記不揮発性メモリにデステージする方法行為を実行する論理をさらに含むことを特徴とする請求項8に記載のディスクドライブ。
【請求項11】
各データトラックのセクタがすべて関連するLBAを有し、セクタのいずれも、欠陥セクタに代わるスペアセクタとして予約されないことを特徴とする請求項8に記載のディスクドライブ。
【請求項12】
前記不揮発性メモリがフラッシュメモリを含むことを特徴とする請求項8に記載のディスクドライブ。
【請求項13】
前記揮発性メモリがDRAMを含むことを特徴とする請求項8に記載のディスクドライブ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−71478(P2008−71478A)
【公開日】平成20年3月27日(2008.3.27)
【国際特許分類】
【出願番号】特願2007−233886(P2007−233886)
【出願日】平成19年9月10日(2007.9.10)
【出願人】(503116280)ヒタチグローバルストレージテクノロジーズネザーランドビーブイ (1,121)
【Fターム(参考)】