(57)【要約】【課題】ＨＤＤに実装されている落下センサの誤動作を、より確実に未然に防ぐ。【解決手段】本形態のＨＤＤ１は、落下センサ２６とショック・センサ２５の二つのセンサを有している。ＨＤＣ／ＭＰＵ２３は落下センサ２６のテストを行い、そのテストにおいてショック・センサ２５の出力を参照する。落下センサ２６のテストにおいてショックが感知されると、ＨＤＣ／ＭＰＵ２３は落下センサ２６のテストをリトライする。これにより、ＨＤＣ／ＭＰＵ２３は、落下センサ２６のテストを正確に行い、落下センサ２６の誤動作を未然に防ぐことができる。【選択図】図５
2009272019.tif 000002
【特許請求の範囲】
【請求項１】
ディスクにアクセスするヘッドと、
前記ヘッドを支持し、そのヘッドを前記ディスク上で移動する移動機構と、
ショック・センサと、
落下センサと、
前記ショック・センサの出力と前記落下センサの出力とに応じて前記移動機構を制御するコントローラと、を有し、
前記コントローラは、前記落下センサのテストを行い、前記テストにおいて前記ショック・センサがショックを感知すると前記テストのそれまでの処理の少なくとも一部を無効とする、
ディスク・ドライブ装置。
【請求項２】
前記コントローラは、前記落下センサのテストにおいてショックが感知された場合、規定数以下、前記落下センサのテストをリトライする、
請求項１に記載のディスク・ドライブ装置。
【請求項３】
前記落下センサは、自己テスト・モードと通常動作モードとを有し、
前記コントローラは、前記テストにおいて、前記自己テスト・モードにおける前記落下センサの出力と前記通常モードにおける前記落下センサの出力とを使用して、前記落下センサの状態を判定する、
請求項１に記載のディスク・ドライブ装置。
【請求項４】
前記コントローラは、前記セルフ・テスト・モード及び前記通常モードのいずれかにおいてショックが感知された場合、前記セルフ・テスト・モード及び前記通常モードの出力を取り直す、
請求項３に記載のディスク・ドライブ装置。
【請求項５】
前記コントローラは、ショックにより前記テストを完遂しなかった場合、前記ディスク・ドライブ装置の通常動作において前記落下センサをディセーブルする、
請求項１に記載のディスク・ドライブ装置。
【請求項６】
前記コントローラは、前記ショック・センサによるショック感知の閾値を、前記ディスク・ドライブ装置の通常動作における閾値とは別に設定する、
請求項１に記載のディスク・ドライブ装置。
【請求項７】
前記ディスク・ドライブ装置の通常動作における前記閾値は可変値であり、
前記テストにおける前記閾値は固定値である、
請求項６に記載のディスク・ドライブ装置。
【請求項８】
前記テストにおける前記閾値は、前記通常動作における前記閾値の可変範囲の中央よりも大きい値である、
請求項７に記載のディスク・ドライブ装置。
【請求項９】
前記ディスク・ドライブ装置の通常動作における前記閾値及び前記テストにおける前記閾値は固定値であり、
前記テストにおける前記閾値は、前記通常動作における前記閾値より大きい、
請求項６に記載のディスク・ドライブ装置。
【請求項１０】
前記コントローラは、前記テストを前記ディスク・ドライブ装置の起動処理において行い、
ショックにより前記テストを完遂することができなかった場合、前記コントローラは、次の起動処理よりも前に、前記落下センサのテストをリトライする、
請求項１に記載のディスク・ドライブ装置。
【請求項１１】
ショック・センサの出力と落下センサの出力とに応じてヘッドの移動機構を制御するディスク・ドライブ装置において、前記落下センサの動作テストを行う方法であって、
ショック・センサを起動し、
落下センサを起動し、
前記落下センサのテストを行い、
前記テストにおいて前記ショック・センサがショックを感知すると前記テストのそれまでの処理を無効とする、
方法。
【請求項１２】
前記落下センサのテストにおいてショックが感知された場合、規定数以下、前記落下センサのテストをリトライする、
請求項１１に記載の方法。
【請求項１３】
前記落下センサは、自己テスト・モードと通常動作モードとを有し、
前記テストにおいて、前記自己テスト・モードにおける前記落下センサの出力と前記通常モードにおける前記落下センサの出力とを使用して、前記落下センサの状態を判定する、
請求項１１に記載の方法。
【請求項１４】
前記セルフ・テスト・モード及び前記通常モードのいずれかにおいてショックが感知された場合、前記セルフ・テスト・モード及び前記通常モードの出力を取り直す、
請求項１３に記載の方法。
【請求項１５】
ショックにより前記テストを完遂しなかった場合、前記ディスク・ドライブ装置の通常動作において前記落下センサをディセーブルする、
請求項１１に記載の方法。
【請求項１６】
前記ショック・センサによるショック感知の閾値を、前記ディスク・ドライブ装置の通常動作における閾値とは別に設定する、
請求項１１に記載の方法。
【請求項１７】
前記ディスク・ドライブ装置の通常動作における前記閾値は可変値であり、
前記テストにおける前記閾値は固定値である、
請求項１６に記載の方法。
【請求項１８】
前記テストにおける前記閾値は、前記通常動作における前記閾値の可変範囲の中央よりも大きい値である、
請求項１７に記載の方法。
【請求項１９】
前記ディスク・ドライブ装置の通常動作における前記閾値及び前記テストにおける前記閾値は固定値であり、
前記テストにおける前記閾値は、前記通常動作における前記閾値より大きい、
請求項１６に記載の方法。
【請求項２０】
前記テストを前記ディスク・ドライブ装置の起動処理において行い、
ショックにより前記テストを完遂することができなかった場合、次の起動処理よりも前に、前記落下センサのテストをリトライする、
請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク・ドライブ装置及びディスク・ドライブ装置において落下センサをテストする方法に関し、特に、ディスク・ドライブ装置における、ショック・センサを使用した落下センサのテストに関する。
【背景技術】
【０００２】
ディスク・ドライブ装置として、光ディスク、光磁気ディスク、あるいはフレキシブル磁気ディスクなどの様々な態様のディスクを使用する装置が知られているが、その中で、ハードディスク・ドライブ（ＨＤＤ）は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、あるいは携帯電話など、ＨＤＤの用途はその優れた特性により益々拡大している。
【０００３】
ＨＤＤを搭載した携帯可能な電子機器においては、電子機器を誤って地面等に落下させた際のショックからＨＤＤを保護することが重要な課題である。ＨＤＤは、磁気ディスクへのアクセス（リードもしくはライト）のために、磁気ディスクを回転し、磁気ディスク上を浮上するヘッド・スライダを目的のデータ・セクタに移動する。このため、ＨＤＤの動作中に落下によるショックが発生すると、ヘッド・スライダと磁気ディスクが衝突することによってヘッド・スライダあるいは磁気ディスク（上のデータ）を破損するおそれがある。
【０００４】
上述のような破損を防止するため、ＨＤＤ又はこれを搭載した電子機器が落下状態にあることを検出し、ヘッド・スライダを磁気ディスクと接触しない安全な位置（待機位置）に退避させる保護機構が知られている。典型的には、ＨＤＤは、アクチュエータを待避させるためのランプを有し、落下を感知するとアクチュエータをランプ上に移動する。このような保護機構が実装されているＨＤＤは、例えば特許文献１に開示されている。特許文献１に開示されているＨＤＤは、ＨＤＤの落下を感知するセンサの他に、ＨＤＤの衝突を感知するセンサを有している。この二つのセンサを具備することにより、ＨＤＤの状況に応じて、適切な保護動作を行うことができる。
【特許文献１】特開２００７−１１５３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
落下によるショックからヘッド・スライダ及び磁気ディスクを保護するともに、ＨＤＤのパフォーマンスの低下を避けるためには、落下センサがＨＤＤの落下を正確に感知することが重要である。具体的には、ＨＤＤが落下状態にあるにもかかわらず落下センサが落下を感知しない場合、ヘッド・スライダが磁気ディスクに衝突する危険性が増加する。一方、ＨＤＤが実際には落下していないにも拘らず落下センサが落下を誤って感知し、ＨＤＤがその誤感知に従ってヘッド・スライダを退避させると、ＨＤＤのパフォーマンスが大きく低下する。
【０００６】
落下センサの誤動作を防ぐためには、落下センサの動作テストを行うことが有効である。落下センサのテストは、ＨＤＤの製造工程において行うほか、出荷後にも行うことが好ましい。例えば、ＨＤＤは、起動時の初期化動作において、落下センサの動作テストを行うことができる。ＨＤＤの製造工程においては、ＨＤＤを固定して落下センサの動作テストを正確に行うことができる。
【０００７】
しかし、ユーザによる使用環境下においては、ＨＤＤの置かれている状況を正確に予想することはできない。ＨＤＤにショックや振動が加えられている場合、ＨＤＤが落下センサの正確なテストを行うことは困難である。従って、ＨＤＤに実装されている落下センサの正確な動作テストを保証することが望まれる。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るディスク・ドライブ装置は、ディスクにアクセスするヘッドと、前記ヘッドを支持し、そのヘッドを前記ディスク上で移動する移動機構と、ショック・センサと、落下センサと、前記ショック・センサの出力と前記落下センサの出力とに応じて前記移動機構を制御するコントローラとを有する。前記コントローラは、前記落下センサのテストを行い、前記テストにおいて前記ショック・センサがショックを感知すると前記テストのそれまでの処理の少なくとも一部を無効とする。これにより、落下センサのテストを正確に行うことができる。
【０００９】
前記コントローラは、前記落下センサのテストにおいてショックが感知された場合、規定数以下、前記落下センサのテストをリトライすることが好ましい。これにより、落下センサのテストを行うことができると共に、処理時間が長くなるのを防ぐことができる。
【００１０】
前記落下センサは、自己テスト・モードと通常動作モードとを有し、前記コントローラは、前記テストにおいて、前記自己テスト・モードにおける前記落下センサの出力と前記通常モードにおける前記落下センサの出力とを使用して、前記落下センサの状態を判定することが好ましい。これにより、より正確かつ効率的なテストを行うことができる。さらに、前記コントローラは、前記セルフ・テスト・モード及び前記通常モードのいずれかにおいてショックが感知された場合、前記セルフ・テスト・モード及び前記通常モードの出力を取り直すことが好ましい。これにより、より正確なテストを行うことができる。
【００１１】
前記コントローラは、ショックにより前記テストを完遂しなかった場合、前記ディスク・ドライブ装置の通常動作において前記落下センサをディセーブルすることが好ましい。これにより、落下センサの誤動作による弊害を避けることができる。
【００１２】
前記コントローラは、前記ショック・センサによるショック感知の閾値を、前記ディスク・ドライブ装置の通常動作における閾値とは別に設定することが好ましい。また、好ましい例において、前記ディスク・ドライブ装置の通常動作における前記閾値は可変値であり、前記テストにおける前記閾値は固定値である。これにより、ショック・センサを落下センサのテストと通常動作のそれぞれに適切な感度に設定することができる。
【００１３】
前記テストにおける前記閾値は、前記通常動作における前記閾値の可変範囲の中央よりも大きい値であることが好ましい。これにより、落下センサのテストを効率的かつ正確に行うことができる。
好ましい例において、前記ディスク・ドライブ装置の通常動作における前記閾値及び前記テストにおける前記閾値は固定値であり、前記テストにおける前記閾値は、前記通常動作における前記閾値より大きい。これにより、ショック・センサを落下センサのテストと通常動作のそれぞれに適切な感度に設定し、落下センサのテストを効率的かつ正確に行うことができる。
【００１４】
好ましくは、前記コントローラは、前記テストを前記ディスク・ドライブ装置の起動処理において行い、ショックにより前記テストを完遂することができなかった場合、前記コントローラは、次の起動処理よりも前に、前記落下センサのテストをリトライする。これにより、落下センサの誤動作あるいは不使用を避けることができる。
【００１５】
本発明の他の態様は、ショック・センサの出力と落下センサの出力とに応じてヘッドの移動機構を制御するディスク・ドライブ装置において、前記落下センサの動作テストを行う方法であって、ショック・センサを起動し、落下センサを起動し、前記落下センサのテストを行い、前記テストにおいて前記ショック・センサがショックを感知すると前記テストのそれまでの処理を無効とするものである。これにより、落下センサのテストを正確に行うことができる。
【発明の効果】
【００１６】
本発明により、ディスク・ドライブ装置に実装されている落下センサの誤動作を、より確実に未然に防ぐことができる。
【発明を実施するための最良の形態】
【００１７】
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、必要に応じて重複説明は省略されている。以下においては、ディスク・ドライブ装置の一例であるハードディスク・ドライブ（ＨＤＤ）について説明する。本形態のＨＤＤは、落下センサとショック・センサの二つのセンサを有している。ＨＤＤは落下センサのテストを行い、そのテストにおいてショック・センサの出力を参照する。これにより、ＨＤＤは、落下センサのテストを正確に行い、落下センサの誤動作を未然に防ぐことができる。
【００１８】
本形態の落下センサのテストについて詳細を説明する前に、本形態のＨＤＤの全体構成を説明する。図１のブロック図に示すように、ＨＤＤ１は、エンクロージャ１０の外側に固定された回路基板２０を備えている。回路基板２０上には、リード・ライト・チャネル（ＲＷチャネル）２１、モータ・ドライバ・ユニット２２、ハードディスク・コントローラ（ＨＤＣ）とＭＰＵの集積回路（ＨＤＣ／ＭＰＵ）２３及び半導体メモリのＲＡＭ２４などの各回路を有している。さらに、ＨＤＤ１は、回路基板２０上に、ショック・センサ２５と落下センサ２６とを有している。ショック・センサ２５及び落下センサ２６は、ＨＤＤ１のいずれの位置に実装してもよい。
【００１９】
エンクロージャ１０内において、スピンドル・モータ（ＳＰＭ）１４は所定の角速度で磁気ディスク１１を回転する。磁気ディスク１１は、データを記憶するディスクである。各ヘッド・スライダ１２は、磁気ディスク１１上を浮上するスライダと、スライダに固定され磁気信号と電気信号との間の変換（データの読み書き）を行うヘッド素子部とを備えている。各ヘッド・スライダ１２はアクチュエータ１６の先端部に固定されている。移動機構であるアクチュエータ１６は、ボイス・コイル・モータ（ＶＣＭ）１５に連結され、回動軸を中心に回動することによって、ヘッド・スライダ１２を回転する磁気ディスク１１上においてその半径方向に移動する。
【００２０】
ＨＤＤ１はランプ・ロード方式を採用しており、磁気ディスク１１の回転を停止して非動作状態に移行する場合には、磁気ディスク１１の記録面上からアクチュエータ１６（ヘッド・スライダ１２）を退避させる。退避したアクチュエータ１６は、磁気ディスク１１の近傍に配置されたランプ１７に乗り上げた状態で静止する。より詳細には、アクチュエータ１６の先端に形成されたタブ(不図示)が、ランプ１７の面に乗り上げた状態で静止する。このとき、ヘッド・スライダ１２は磁気ディスク１１の外側にある。ヘッド・スライダ１２（アクチュエータ１６）を磁気ディスク１１上からランプ１７に退避する動作をアンロードと呼び、ヘッド・スライダ１２をランプ１７から磁気ディスク１１面上に移動することをロードと呼ぶ。
【００２１】
モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データに従って、ＳＰＭ１４とＶＣＭ１５とを駆動する。アーム電子回路（ＡＥ）１３は、ＨＤＣ／ＭＰＵ２３からの制御データに従って複数のヘッド・スライダ１２の中から磁気ディスク１１にアクセス（リードもしくはライト）するヘッド・スライダ１２を選択し、リード／ライト信号の増幅を行う。ＲＷチャネル２１は、リード処理において、ＡＥ１３から取得したリード信号からサーボ・データ及びユーザ・データを抽出し、デコード処理を行う。デコード処理されたデータは、ＨＤＣ／ＭＰＵ２３に供給される。また、ＲＷチャネル２１は、ライト処理において、ＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、さらに、コード変調されたデータをライト信号に変換してＡＥ１３に供給する。
【００２２】
ＨＤＣ／ＭＰＵ２３において、ＨＤＣはロジック回路であり、ＭＰＵはＲＡＭ２４にロードされたファームウェアに従って動作する。ＨＤＤ１の起動に伴い、ＲＡＭ２４には、制御及びデータ処理に必要とされるデータが磁気ディスク１１あるいはＲＯＭ（不図示）からロードされる。ＨＤＣ／ＭＰＵ２３はコントローラの一例であり、ヘッド・ポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、ＨＤＤ１の全体制御を実行する。
【００２３】
通常動作において、ＨＤＣ／ＭＰＵ２３は、ショック・センサ２５と落下センサ２６の出力に応じて、アクチュエータ１６のロード及び／もしくはアンロードを制御する。例えば、ＨＤＣ／ＭＰＵ２３は、落下センサ２６の出力からＨＤＤ１が落下していると判定すると、アクチュエータ１６（ヘッド・スライダ１２）をアンロードする。また、ＨＤＣ／ＭＰＵ２３は、アクチュエータ１６（ヘッド・スライダ１２）のロード処理中にショック・センサ２５がＨＤＤ１への所定以上のショックを感知すると、ＨＤＣ／ＭＰＵ２３は、アクチュエータ１６（ヘッド・スライダ１２）をアンロードする。
【００２４】
ＨＤＣ／ＭＰＵ２３は、ショック・センサ２５のショック感知によりアクチュエータ１６をアンロードした場合、次のコマンドが存在するときには、すぐにアクチュエータ１６をロードする。落下センサ２６の落下感知によりアクチュエータ１６をアンロードした場合、アンロード後において所定時間内安定であると判断すると、アクチュエータ１６をロードする。
【００２５】
ショック・センサ２５は、ＨＤＤ１に加わる機械的なショックを感知し、所定の大きさを超えるショックが印加された場合に、ショックの印加をＨＤＣ／ＭＰＵ２３に知らせる。例えば、図２のブロック図に示すように、ショック・センサ２５は、一軸の加速度センサ２５１と比較回路２５２とを有している。加速度センサ２５１は、加速度に比例した電圧信号を出力する。比較回路２５２は、加速度センサ２５１が出力する信号からショックに相当する周波数帯域を抽出し、出力と閾値とを比較することにより、閾値を超えるショックが印加されたか否かを決定する。
【００２６】
例えば、加速度センサ２５１の設定周波数帯域の出力が閾値を越えるショックを示す場合、比較回路２５２はＨｉｇｈ信号を出力し、閾値以下の場合はＬｏｗ信号を出力する。比較回路２５２は、その比較結果を感知結果レジスタ２５４に格納する。ＨＤＣ／ＭＰＵ２３は、設定された周期において感知結果レジスタ２５４を参照してショック・センサ２５の出力値をサンプリングする、あるいは、割り込みに応答してその出力値を取得する。
【００２７】
好ましくは、上記閾値は可変値である。ＨＤＣ／ＭＰＵ２３は、ＨＤＤ１が置かれている状況に応じて適切な閾値をショック・センサ２５に設定する。ショック・センサ２５は閾値を格納するための閾値レジスタ２５３を有しており、ＨＤＣ／ＭＰＵ２３はそのレジスタ２５３に可変閾値を設定する。これにより、ショック・センサ２５のショックの誤感知を防ぐことができる。例えば、ＨＤＤ１が常に振動しており、ショック・センサ２５がショックを頻繁に感知する場合には、ＨＤＣ／ＭＰＵ２３は、閾値を大きくしてショック・センサ２５の感度を小さくする。一方、ショック・センサ２５がショックを全く感知しない場合には、ＨＤＣ／ＭＰＵ２３は、閾値を小さくしてショック・センサ２５の感度を大きくする。
【００２８】
落下センサ２６は、加速度の大きさと向きの変動を感知する。例えば、図３のブロック図に示すように、落下センサ２６は、Ｘ軸センサ２６１、Ｙ軸センサ２６２及びＺ軸センサ２６３を有し、それらは互いに垂直なＸ、Ｙ、Ｚ方向のそれぞれの加速度を感知する。落下センサ２６は比較回路２６４をさらに有しており、感知した３方向全ての加速度の絶対値が基準範囲内にある場合に、ＨＤＤ１が落下状態にあることを示すデータを感知結果レジスタ２６７に格納する。あるいは、３方向の加速度のそれぞれの絶対値の和が基準範囲内にある場合に、ＨＤＤ１が落下状態にあることを示すデータを感知結果レジスタ２６７に出力する。
【００２９】
例えば、ＨＤＤ１が静止状態にあるとき、Ｘ軸センサ２６１及びＹ軸センサ２６２の出力は０Ｇであり、Ｚ軸センサ２６３の出力は１Ｇである。落下状態にあるとき、各センサ２６１〜２６３の出力は０Ｇである。なお、実際の出力は、これらの値にノイズが乗った値である。なお、無重力状態の場合に開放状態となるメカニカル・スイッチによって無重力状態であることを感知する落下センサを使用することもできる。
【００３０】
例えば、ＨＤＣ／ＭＰＵ２３は、設定された周期において感知結果レジスタ２６７を参照して落下センサ２６の出力値をサンプリングする。ＨＤＣ／ＭＰＵ２３は、落下センサ２６の出力が、所定の期間、落下を示している場合に、ＨＤＤ１が落下状態にあると判定し、アクチュエータ１６（ヘッド・スライダ１２）をアンロードする。
【００３１】
以下において、落下センサ２６のテストについて具体的に説明する。好ましい態様として、落下センサ２６は、自己テスト回路２６５を有している。自己テスト回路２６５は、落下センサ２６の動作について自己テストを行い、そのテスト結果をテスト結果レジスタ２６６に格納する。これにより、落下センサ２６の正常動作を保証することができる。
【００３２】
ＨＤＣ／ＭＰＵ２３は、落下センサ２６に対して自己テストの指示を行い、自己テスト回路２６５はその指示に従って落下センサ２６の動作テストを行う。落下センサ２６の好ましいテスト・タイミングは、ＨＤＤ１の起動処理時である。好ましくは、ＨＤＤ１の各起動処理において（ＨＤＤ１が起動されるごとに）、ＨＤＣ／ＭＰＵ２３は、落下センサ２６の動作テストを行う。さらに、落下センサ２６の動作テスト中、ショック・センサ２５が動作している。ＨＤＣ／ＭＰＵ２３は、落下センサ２６の動作テストの間にショック・センサ２５の出力を参照することで、落下センサ２６の正確なテスト結果を得ることができる。
【００３３】
落下センサ２６のテスト処理の具体的な流れについて、図４のフローチャート及び図５のブロック図を参照して説明する。ＨＤＣ／ＭＰＵ２３は、ショック・センサ２５を起動し、その初期設定を行う（Ｓ１１）。初期設定において、ＨＤＣ／ＭＰＵ２３は、ショック・センサ２５の閾値レジスタ２５３に閾値を設定する。設定する閾値は予め設定されており、典型的には、ＨＤＣ／ＭＰＵ２３は、落下センサ２６の動作テストのために常に同一の値を使用する。
【００３４】
ＨＤＣ／ＭＰＵ２３は、落下センサ２６のテストのリトライ回数をカウントし、その回数が規定のＴ回に達しているかを判定する（Ｓ１２）。リトライ数が、Ｔ回に達していない場合（Ｓ１２におけるＹ）、ＨＤＣ／ＭＰＵ２３は、ショック・センサ２５が動作している状態において、落下センサ２６の動作テストを開始する（Ｓ１３）。具体的には、ＨＤＣ／ＭＰＵ２３は落下センサ２６のレジスタに制御データを設定して落下センサ２６を自己テスト・モードにセットする。その制御データに応じて、自己テスト回路２６５が落下センサ２６の自己テストを行う。
【００３５】
自己テスト回路２６５は、Ｘ軸センサ２６１、Ｙ軸センサ２６２及びＺ軸センサ２６３のそれぞれを機構的に動かし、各センサ出力を取得する。さらに、自己テスト回路２６５は、各センサ出力をテスト結果レジスタ２６６にセットする。ＨＤＣ／ＭＰＵ２３は、そのレジスタ２６６から各センサ出力を取得し、それらの値をＲＡＭ２４に格納する。
【００３６】
落下センサ２６の自己テストの間及びその前後において、ＨＤＣ／ＭＰＵ２３はショック・センサ２５を使用してショックをモニタする（Ｓ１４）。比較回路２５２は、一軸加速度センサ２５１の出力に応じた比較結果（Ｈｉｇｈ信号もしくはＬｏｗ信号）を感知結果レジスタ２５４に格納する。ＨＤＣ／ＭＰＵ２３は、所定周期で、感知結果レジスタ２５４を参照し、ショックの有無を確認する。
【００３７】
ショック・センサ２５がショックを感知した場合（Ｓ１４におけるＹ）、ＨＤＣ／ＭＰＵ２３はそれまでのテスト処理を無効とし、落下センサ２６の自己テスト（Ｓ１３）をリトライする。つまり、上記工程Ｓ１３の処理を初めから行う。ＨＤＣ／ＭＰＵ２３は、自己テスト（Ｓ１３）のリトライを行う前にリトライ数がＴに達しているか否かを判定し（Ｓ１２）、リトライ数がＴ回に達していない場合（Ｓ１２におけるＹ）に自己テスト（Ｓ１３）をリトライする。
【００３８】
落下センサ２６のテストのリトライ数が設定数Ｔに達すると（Ｓ１２におけるＮ）、ＨＤＣ／ＭＰＵ２３は、落下センサ２６のテスト処理を終了する。このとき、ＨＤＣ／ＭＰＵ２３は、規定時間経過によるテストの終了を示すフラグを立てる（Ｓ１８）。通常処理において、落下センサ２６はディセーブル（ＯＦＦ）にセットされ、ＨＤＣ／ＭＰＵ２３は、落下に応じた処理を行わない。これにより、落下センサ２６のテストのために起動処理が遅延することを防ぐ。また、正常動作を確認されていない落下センサ２６を使用しないことで、落下センサ２６の誤動作による問題を回避することができる。
【００３９】
落下センサ２６による自己テストのリトライ数が設定値Ｔに達する前に自己テストが完了すると、ＨＤＣ／ＭＰＵ２３は、通常状態にある落下センサ２６の各軸センサの出力値を取得する（Ｓ１５）。具体的には、ＨＤＣ／ＭＰＵ２３は落下センサ２６を通常モードにセットする。落下センサ２６は、Ｘ軸センサ２６１、Ｙ軸センサ２６２及びＺ軸センサ２６３のそれぞれ出力値を、テスト結果レジスタ２６６に格納する。ＨＤＣ／ＭＰＵ２３は、テスト結果レジスタ２６６にアクセスして、各軸センサの出力値を取得し、それらの値をＲＡＭ２４に格納する。
【００４０】
自己テスト（Ｓ１３）の終了から通常モードの落下センサ２６出力値を取得する（Ｓ１５）までの間、ＨＤＣ／ＭＰＵ２３はショック・センサ２５を使用してショックをモニタする（Ｓ１６）。ショック・センサ２５がショックを感知した場合（Ｓ１６におけるＹ）、ＨＤＣ／ＭＰＵ２３は、自己テスト・モードにおける処理と通常モードにおける処理の双方を無効とし、落下センサ２６の自己テスト（Ｓ１３）から、落下センサ２６のテスト処理をリトライする。
【００４１】
落下センサ２６の自己テストは正常に終了しているので、自己テストの結果を維持し、通常モードにおける処理のみを無効とする（落下テストの一部の処理のみを無効とする）こともできる。しかし、自己テスト・モードの測定タイミングと通常モードの測定タイミングの間の時間は、正確なテスト結果を得るためには、できるだけ短いことが好ましい。これは、同一条件での二つのモードにおける測定が、より正確なテスト結果につながるからである。
【００４２】
そのため、ＨＤＣ／ＭＰＵ２３は、落下センサ２６の通常モードにおける出力を取得するときにショックがあった場合に（Ｓ１６におけるＹ）、通常モードではなく、その前の自己テスト・モードの処理から処理を再度行うことが好ましい。なお、ＨＤＣ／ＭＰＵ２３は、通常モードにある落下センサ２６の出力を取得した後、自己テスト・モードにある落下センサ２６の出力を取得してもよい。
【００４３】
ＨＤＣ／ＭＰＵ２３は、落下センサ２６の自己テスト（Ｓ１３）のリトライを開始する前に、落下センサ２６のテストのリトライ回数が規定値Ｔに達しているかを判定する（Ｓ１２）。落下センサ２６のテストのリトライ回数、つまり、自己テスト・モードにおけるテスト中のショックによるリトライと、通常モードにおけるテスト中のショックによるリトライの回数の和が、上記設定数Ｔに達すると（Ｓ１２におけるＹ）、ＨＤＣ／ＭＰＵ２３は、落下センサ２６のテスト処理を終了する。
【００４４】
このように、落下センサ２６のテストにおけるショック感知のタイミングによらず、落下センサ２６のテスト全体におけるリトライ回数をテスト中止の基準とすることで、落下センサ２６のテスト時間が徒に長くなることを防ぐことができる。なお、設計によって、落下センサ２６の各モードにおけるショックに対して、そのモードにおけるテストのみをリトライすること、また、テスト中止のリトライ回数のカウントを、落下センサ２６のモード毎に行うようにすることもできる。
【００４５】
落下センサ２６の二つのモードにおける出力値を取得することができると、ＨＤＣ／ＭＰＵ２３は、それらの出力値から、落下センサ２６の動作状態についての判定を行う（Ｓ１７）。ＨＤＣ／ＭＰＵ２３は、二つのモードの出力値に対して所定の計算を行い、その計算結果がクライテリアを満足する場合には落下センサ２６が正常であると判定し（Ｓ１７におけるＹ）、クライテリアから外れる場合には異常動作を示していると判定する（Ｓ１７におけるＮ）。ＨＤＣ／ＭＰＵ２３は、判定結果に応じたフラグをたて（Ｓ１９、Ｓ２０）、落下センサ２６のテストを終了する。落下センサ２６が異常動作を示す場合には（Ｓ２０）、通常処理において、落下センサ２６はディセーブル（ＯＦＦ）にセットされ、ＨＤＣ／ＭＰＵ２３は、落下に応じた処理を行わない。
【００４６】
ＨＤＣ／ＭＰＵ２３は、例えば、自己テスト・モードにおける各軸センサの出力を、通常モードにおける各出力を基準として補正する。ＨＤＣ／ＭＰＵ２３は、その各補正値が、予め設定されている正常範囲内にあるかを確認する。いずれかのセンサ出力が正常範囲から外れている場合、ＨＤＣ／ＭＰＵ２３は、落下センサ２６は異常動作していると判定する。全ての軸センサが正常動作を示す場合、ＨＤＣ／ＭＰＵ２３は、落下センサ２６は正常動作していると判定する。このように、二つのモードにおける落下センサ２６の出力値を使用することで、より正確な判定を行うことができる。
【００４７】
ショック・センサ２５は、落下センサ２６のテスト中に外部からのショックをモニタしている。ショック・センサ２５は、ＨＤＣ／ＭＰＵ２３が閾値レジスタ２５３にセットした閾値に従って、ショックの有無を感知する。このときの閾値は、落下センサ２６の動作テストのために適切な値であり、ＨＤＤ１の通常動作において使用される閾値とは異なる値であることが好ましい。
【００４８】
上述のように、好ましくは、ＨＤＣ／ＭＰＵ２３は、通常動作においてＨＤＤ１の状況に応じて、ショック・センサ２５のショック感知の閾値を変化させる。これに対して、落下センサ２６の動作テストにおいては、閾値は一定であることが、処理の効率化の点で好ましい。また、異なるタイミングのテストの間で、同一であることが好ましい。つまり、ショック・センサ２５は、同一感度において、落下センサ２６のテストにおけるショックを感知する。起動処理におけるＨＤＤ１の環境条件（振動やショックの有無）は不明であり、落下センサ２６のテストを迅速、効率的に行うためには、設計で適切に選択された閾値を使用することが好ましい。
【００４９】
落下センサ２６の動作テストにおいて許容される振動、ショックのレベルは、ＨＤＤ１の通常処理（リード処理／ライト処理）における許容レベルよりも大きい。落下センサ２６のテストの完遂と、そのテストの迅速化（テスト時間の短縮）との点から、落下センサ２６のテストにおけるショック・センサ２５の感度は、通常処理における感度よりも低く、ショックをより感知しづらいことが好ましい。
【００５０】
具体的には、落下センサ２６のテストにおけるショック感知の閾値は、通常動作における閾値よりも大きいことが好ましい。例えば、通常処理においてショック・センサ２５の閾値が固定されている場合、ＨＤＣ／ＭＰＵ２３は、落下センサ２６のテストにおける閾値として、上記固定値よりも大きい値を設定する。あるいは、ショック・センサ２５の閾値が可変値であり、ＨＤＤ１の設置状況に応じて変えられる場合、変化範囲における中間値よりも大きい値が設定される。例えば、閾値が１０から８０の間で設定される場合、落下センサ２６のテストのための閾値は４５より大きい値である。
【００５１】
上述のように、ＨＤＣ／ＭＰＵ２３は、ＨＤＤ１の起動ごとに、落下センサ２６の動作テストを行うことが好ましい。これにより、ＨＤＤ１のパフォーマンスを低下することなく、落下センサ２６の動作テストの頻度を上げることができる。また、起動処理が終了した後は、ＨＤＤ１のパフォーマンスの低下を避けるため、落下センサ２６の動作テストは行わないことが好ましい。
【００５２】
起動処理において、ショックあるいは振動が存在するために落下センサ２６の動作テストを完遂することができなかった場合（Ｓ１８）、落下センサ２６は使用されない、あるいは、動作保証のない状態で使用されることになる。落下センサ２６が使用されない場合には安全性が低下し、使用される場合には誤動作の危険性が高まる。従って、起動処理においてショック・振動という外部要因によって正確な落下センサ２６の動作テストを行うことができなかった場合には、起動処理後に（次の起動処理の前に）落下センサ２６の動作テストを行うことが好ましい。これにより、安全性やパフォーマンスの低下を防ぐことができる。
【００５３】
具体的には、ＨＤＣ／ＭＰＵ２３は、ホストからのコマンドに応じた処理から開放されている時間において、落下センサ２６の動作テストを行う。動作テストを完遂することができた場合には、ＨＤＣ／ＭＰＵ２３は、そのテスト結果に応じて落下センサ２６をイネーブル／ディセーブルする。また、動作テストを完遂することができなかった場合には、ＨＤＣ／ＭＰＵ２３は、必要な処理から開放されているときに、落下センサ２６の動作テストを、再度、試みることが好ましい。
【００５４】
以上、本発明について好ましい態様を使用して説明したが、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。上記例のように、落下センサ及びショック・センサが、設定値に応じて落下及びショックの有無を決定することが好ましいが、ＨＤＣ／ＭＰＵ２３が、センサ要素からの出力を演算して、落下及びショックの有無を判定してもよい。
【００５５】
本発明は、上記構成と異なる構成の落下センサ及びショック・センサを使用することができる。例えば、正確かつ効率的なテストのために落下センサは自己テスト回路を有していることが好ましいが、それを有していない落下センサを使用してもよい。落下センサの正確なテストのために、自己テスト・モードと通常モードの双方のテストを行うことが好ましいが、自己テストのみで落下センサのテストを構成してもよい。本発明の範囲内において、上記の落下センサの処理の一部をＨＤＣ／ＭＰＵが行ってもよい。
【図面の簡単な説明】
【００５６】
【図１】本実施形態にかかるハードディスク・ドライブの構成を示すブロック図である。
【図２】本実施形態にかかるショック・センサの構成を示すブロック図である。
【図３】本実施形態にかかる落下センサの構成を示すブロック図である。
【図４】本実施形態にかかる落下センサのテスト処理の流れを示すフローチャートである。
【図５】本実施形態にかかる落下センサのテスト処理に関連する要素を示すブロック図である。
【符号の説明】
【００５７】
１  ハードディスク・ドライブ、１０  エンクロージャ、１１  磁気ディスク
１２  ヘッド・スライダ、１３  アーム・エレクトロニクス
１４  スピンドル・モータ、１５  ボイス・コイル・モータ、１６  アクチュエータ
１７  ランプ、２０  回路基板、２１  リード・ライト・チャネル
２２  モータ・ドライバ・ユニット、２３  ハードディスク・コントローラ／ＭＰＵ
２５  ショック・センサ、２６  落下センサ、２５１  一軸加速度センサ
２５２  比較回路、２５３  閾値レジスタ、２５４  感知結果レジスタ
２６１  Ｘ軸センサ、２６２  Ｙ軸センサ、２６３  Ｚ軸センサ、２６４  比較回路
２６５  自己テスト回路、２６６  テスト結果レジスタ、２６７  感知結果レジスタ
【図１】
2009272019.tif 000003
【図２】
2009272019.tif 000004
【図３】
2009272019.tif 000005
【図４】
2009272019.tif 000006
【図５】
2009272019.tif 000007