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