(57)【要約】【課題】外部から振動を受けた際にヘッドをディスクプラッタ上から退避させるハードディスクドライブにおいて、上位から発行されるリードコマンドに対して、ヘッドを退避させているためにディスクプラッタ上のデータを読み出せない場合であっても、コマンドに対し応答できるハードディスクドライブを実現する。【解決手段】外部から振動が加えられた際に、内部のヘッドをディスクプラッタ上から退避させるハードディスクドライブにおいて、ディスクプラッタの回転待ちの間に予めディスクプラッタ上のデータをハードディスクドライブに搭載した半導体メモリに先読みしておくことで、ヘッドが退避している状態であっても、上位からのリードコマンドに対し半導体メモリ内のデータを使って応答可能とする。【選択図】図２
2009163849.tif 000002
【特許請求の範囲】
【請求項１】
外部から振動が加えられた際に、内部のヘッドをディスクプラッタ上から退避させるハードディスクドライブにおいて、ディスクプラッタの回転待ちの間に予めディスクプラッタ上のデータをハードディスクドライブに搭載した半導体メモリに先読みしておくことで、ヘッドが退避している状態であっても、上位からのリードコマンドに対し半導体メモリ内のデータを使って応答可能なハードディスクドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動によるエラーを低減するハードディスクドライブに関するものである。
【背景技術】
【０００２】
ハードディスクドライブを振動から保護する方法の一つとして、通常動作時はヘッドをディスクプラッタ上に位置させディスクプラッタに対しアクセスさせるが、ハードディスクドライブに対し振動が加えられた際には、ヘッドをディスクプラッタ上から退避させるという手法がある。通常、ヘッドはディスクプラッタ上からわずか10nmほど浮いた場所に位置しているので、上記手法により、ヘッドおよびディスクプラッタが振動により接触し、お互いが破損することを予防することができる。
【０００３】
しかし、ヘッドが退避している間は、当然ながらディスクプラッタに対しリードおよびライトのアクセスができなくなり、ハードディスクドライブの上位(主にホストバスアダプタ上のコントローラ)からのリードまたはライトコマンドに対し、応答できなくなるという欠点を持つ。即ち、上位からハードディスクドライブに発行されたコマンドは実行されず、上位からはコマンド失敗という扱いをされてしまう。
【０００４】
この回避策として、振動により失敗した上位からのコマンドを一時的にハードディスク上のメモリに記憶し、振動がなくなりヘッドがディスクプラッタ上に戻ってからコマンドを再実行するという技術がある。これにより、振動状態からの復帰を待てば、メモリ上のコマンドを再実行することにより、上位からのコマンドは正しく実行されることになる。しかしながら、振動によりヘッドが退避している間にハードディスクドライブがコマンドに対し応答できないことは改善されておらず、上記技術を適用しても、上位からのコマンドに対し応答できない時間が発生するため、結果としてハードディスクドライブのパフォーマンスに影響する。
【０００５】
【特許文献１】特開2004-199743号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
解決しようとする問題点は、外部から振動を受けた際にヘッドをディスクプラッタ上からある定位置に退避させるハードディスクドライブにおいて、該ハードディスクドライブが上位のホストバスアダプタ等に搭載されたコントローラから発行されるリードコマンドに対して、ヘッドを退避させているためにディスクプラッタ上のデータを読み出せないことから、上位に対し応答不可になり、コマンド失敗に陥るという点である。
【課題を解決するための手段】
【０００７】
本発明は、外部から振動が加えられた際に、内部のヘッドをディスクプラッタ上から退避させるハードディスクドライブにおいて、ディスクプラッタの回転待ちの間に予めディスクプラッタ上のデータをハードディスクドライブに搭載した半導体メモリに先読みしておくことで、ヘッドが退避している状態であっても、上位からのリードコマンドに対し半導体メモリ内のデータを使って応答可能とする。
【発明の効果】
【０００８】
本発明によれば、ハードディスクドライブがヘッドを退避させている間に上位から発行されるリードコマンドに対しても、半導体メモリ上のデータによって該リードコマンドに対し応答可能という利点がある。
【発明を実施するための最良の形態】
【０００９】
ハードディスクドライブ１０３に外部から振動が加えられておらず、正常に動作している際に、ヘッド２０２は、ディスクプラッタ２０１上のあるアドレスから別のアドレスにアクセスする際のディスクプラッタ２０１の回転待ちにおいて、通過する領域のデータをリード(先読み)し、そのデータを半導体メモリ１０７内のデータ領域１０８にコピーする。この際、ハードディスクコントローラ１０４は、先読みしたアドレスを半導体メモリ１０７内のアドレステーブル１０９に記録する。即ち、例えばホストバスアダプタ１０１上のHBAコントローラ１０２からハードディスクコントローラ１０４に対しアドレス２０４をリードし、次にアドレス２０５をリードするというコマンドが発行された場合、ディスクコントローラはアドレス２０４とアドレス２０５をリードする間に、ヘッド２０２がディスクプラッタ２０１の回転待ちの間にヘッドの下を通過する領域２０６について、その領域のアドレスとデータを、アドレステーブル１０９とデータ領域１０８に格納する(なお、アドレス２０４とアドレス２０５がディスクプラッタの別トラック上にある場合は、アドレス２０４をリード後に、ヘッド２０２をアドレス２０５の存在するトラックに移動後に、アドレス２０５がヘッド２０２の下に来るまで回転待ちする。この際に、アドレス２０４とアドレス２０５をリードする間にヘッドの下を通過する領域全てのアドレスに対しデータをリードする) 。なお、上記のような先読みにおいては、重複したアドレス上のデータのリードを防止するため、リードしようとするアドレスについてアドレステーブル１０９上に存在するかどうかを検索し、対象のアドレスがアドレステーブル上に存在しない場合にのみ、そのアドレスのデータをリードし、データ領域１０８に格納する。
【００１０】
ハードディスクドライブ１０３に対し外部から振動が加わった際には、ディスクプラッタ２０１およびヘッド２０２の破損を防止するため、振動センサ１０５がハードディスクコントローラ１０４に振動が加わったことを通知し、ハードディスクコントローラ１０４はスイングアーム２０３を動作させ、ヘッド２０２をディスクプラッタ２０１上から退避させる。ヘッド２０２が退避している間にHBAコントローラ１０２からリードコマンドが発行された場合には、ハードディスクコントローラ１０４はリードコマンドの指定するアドレスをアドレステーブル１０９から検索し、該当するアドレスが存在する場合には、該アドレスのデータをデータ領域１０８から読み出し、HBAコントローラ１０２に対しデータを応答する。
【００１１】
外部からの振動が止まり、振動センサ１０５が振動を検知しない状態になった場合は、ハードディスクコントローラ１０４はヘッド２０２をディスクプラッタ２０１上に戻し、正常動作を再開する。なお、ヘッドの退避していない、ハードディスクドライブの正常動作状態においても、HBAコントローラ１０２からハードディスクコントローラ１０４に対しリードコマンドが発行された場合は、リードするアドレスをアドレステーブル１０９から検索し、合致するアドレスが存在する場合は、ディスクコントローラは該アドレスのデータ領域１０８から読み出し、HBAコントローラ１０２に対しデータを応答する。これにより、正常動作時のリード性能も向上させることができる。
【産業上の利用可能性】
【００１２】
振動耐性の高さが期待される、カーナビゲーションシステムまたはノートパソコンに搭載されるハードディスクドライブとして有用である。
【図面の簡単な説明】
【００１３】
【図１】本発明装置の基本図。
【図２】本発明装置を構成するディスクプラッタおよびヘッドの基本図。
【符号の説明】
【００１４】
１０１…ホストバスアダプタ(HBA)、１０２…HBAコントローラ、１０３…ハードディスクドライブ、１０４…ハードディスクコントローラ、１０５…振動センサ、１０６…ハードディスクプラッタ、ヘッド、１０７…半導体メモリ、１０８…データ領域、１０９…アドレステーブル、２０１…ディスクプラッタ、２０２…ヘッド、２０３…スイングアーム、２０４…リードアドレス１、２０５…リードアドレス２、２０６…回転待ちの間のアクセス領域。
【図１】
2009163849.tif 000003
【図２】
2009163849.tif 000004