(57)【特許請求の範囲】
【請求項１】
衝撃検出機能を有するディスク記憶装置において、
前記装置に加えられる衝撃を設定された衝撃検出感度で検出するための当該感度が可変設定可能な衝撃検出回路と、
前記衝撃検出回路の衝撃検出状況を監視する監視手段と、
前記監視手段の衝撃検出状況監視結果及び前記衝撃検出回路の現在の衝撃検出感度に応じて、当該衝撃検出回路の衝撃検出感度を段階的に可変設定する衝撃検出感度可変設定手段とを具備することを特徴とするディスク記憶装置。
【請求項２】
前記衝撃検出感度可変設定手段は、前記監視手段の衝撃検出状況監視結果に基づいて衝撃検出頻度が第１の基準値以下であるか、或いは当該第１の基準値より多い第２の基準値以上であるかを所定期間毎に判定する衝撃検出頻度判定手段と、前記衝撃検出頻度判定手段により前記衝撃検出頻度が第１の基準値以下であると判定され、且つ前記衝撃検出回路の現在の衝撃検出感度が最高衝撃検出感度でない場合に、当該衝撃検出回路の衝撃検出感度を１段階上げる衝撃検出感度アップ手段と、前記衝撃検出頻度判定手段により前記衝撃検出頻度が第２の基準値以上であると判定され、且つ前記衝撃検出回路の現在の衝撃検出感度が最低衝撃検出感度でない場合に、当該衝撃検出回路の衝撃検出感度を１段階下げる衝撃検出感度ダウン手段とを備えていることを特徴とする請求項１記載のディスク記憶装置。
【請求項３】
前記衝撃検出回路による衝撃検出に応じて、当該衝撃検出状態を第１の時間保持するためのフラグ手段と、
前記衝撃検出回路による衝撃検出の履歴を最新の第２の時間分保持するための衝撃検出履歴保持手段とを更に具備し、
前記監視手段は、前記フラグ手段の状態を前記第２の時間より短い第３の時間間隔で調べることにより前記衝撃検出回路の衝撃検出状況を監視し、その都度当該フラグ手段の状態に対応する衝撃検出の有無を示す情報を前記衝撃検出履歴保持手段に格納して、当該衝撃検出履歴保持手段に最新の第２の時間分の衝撃検出の履歴が保持されるようにし、
前記衝撃検出感度可変設定手段は、前記第２の時間間隔で前記衝撃検出履歴保持手段の示す衝撃検出の履歴を参照し、その都度当該衝撃検出の履歴を前記監視手段の衝撃検出状況監視結果として用いることで前記衝撃検出回路の衝撃検出感度を可変設定することを特徴とする請求項１記載のディスク記憶装置。
【請求項４】
前記衝撃検出感度可変設定手段は、前記衝撃検出の履歴の示す前記第２の時間内における衝撃検出数が第１の基準値以下であるか、或いは当該第１の基準値より多い第２の基準値以上であるかを判定する衝撃検出数判定手段と、前記衝撃検出数判定手段により前記衝撃検出数が第１の基準値以下であると判定され、且つ前記衝撃検出回路の現在の衝撃検出感度が最高衝撃検出感度でない場合に、当該衝撃検出回路の衝撃検出感度を１段階上げる衝撃検出感度アップ手段と、前記衝撃検出数判定手段により前記衝撃検出数が第２の基準値以上であると判定され、且つ前記衝撃検出回路の現在の衝撃検出感度が最低衝撃検出感度でない場合に、当該衝撃検出回路の衝撃検出感度を１段階下げる衝撃検出感度ダウン手段とを備えていることを特徴とする請求項３記載のディスク記憶装置。
【請求項５】
前記衝撃検出回路は、前記装置に加えられる衝撃をアナログ信号に変換するショックセンサと、前記ショックセンサの出力を増幅するゲイン可変増幅回路と、前記増幅回路の出力レベルを基準のスレッショルドレベルと比較してその比較結果に応じて衝撃検出信号を出力するコンパレータとを備えており、
前記衝撃検出感度可変設定手段は、前記衝撃検出回路の衝撃検出感度を前記ゲイン可変増幅回路のゲインを変えることで可変することを特徴とする請求項１または請求項３記載のディスク記憶装置。
【請求項６】
前記衝撃検出回路は、前記装置に加えられる衝撃をアナログ信号に変換するショックセンサと、前記ショックセンサの出力を増幅する増幅回路と、前記増幅回路の出力レベルを設定されたスレッショルドレベルと比較してその比較結果に応じて衝撃検出信号を出力するスレッショルドレベル可変コンパレータとを備えており、
前記衝撃検出感度可変設定手段は、前記衝撃検出回路の衝撃検出感度を前記コンパレータのスレッショルドレベルを変えることで可変することを特徴とする請求項１または請求項３記載のディスク記憶装置。
【請求項７】
装置に加えられる衝撃を設定された衝撃検出感度で検出するための当該感度が可変設定可能な衝撃検出回路を備えたディスク記憶装置における衝撃検出方法であって、
前記衝撃検出回路による衝撃検出状況を監視する第１のステップと、
この衝撃検出状況の監視結果及び前記衝撃検出回路の現在の衝撃検出感度に応じて、当該衝撃検出回路の衝撃検出感度を段階的に可変設定する第２のステップとを具備することを特徴とする衝撃検出方法。
【請求項８】
前記第２のステップは、前記衝撃検出状況の監視結果に基づいて衝撃検出頻度が第１の基準値以下であるか、或いは当該第１の基準値より多い第２の基準値以上であるかを所定期間毎に判定するステップと、前記衝撃検出頻度が第１の基準値以下であると判定され、且つ前記衝撃検出回路の現在の衝撃検出感度が最高衝撃検出感度でない場合に、当該衝撃検出回路の衝撃検出感度を１段階上げるステップと、前記衝撃検出頻度が第２の基準値以上であると判定され、且つ前記衝撃検出回路の現在の衝撃検出感度が最低衝撃検出感度でない場合に、当該衝撃検出回路の衝撃検出感度を１段階下げるステップとを備えていることを特徴とする請求項７記載の衝撃検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、衝撃検出機能を有するディスク記憶装置に係り、特に衝撃検出レベル（衝撃検出感度）が可変設定可能なディスク記憶装置及び同装置における衝撃検出方法に関する。
【０００２】
【従来の技術】
近時、磁気ディスク装置に代表されるディスク記憶装置は、可搬型のコンピュータや、車載用のナビゲーション装置など、衝撃や振動を受けやすい環境で使用される機器に搭載して使用されることが多くなってきている。そこで、この種のディスク記憶装置では、衝撃検出回路を備え、データ書き込み中に当該検出回路で衝撃が検出された場合には書き込みを中断することで、隣接トラック等のデータ破壊を防止可能としている。
【０００３】
この従来のディスク記憶装置における衝撃検出時の隣接トラック等のデータ破壊防止機能（ヘッドオフトラックライト防止機能）について、磁気ディスク装置を例に説明する。
【０００４】
まず磁気ディスク装置のサーボ制御は、トラック内に一定間隔で複数埋め込まれたサーボ情報に基づき実行される。制御データの処理はサンプリング制御であるため、ヘッドを目標トラックの目標位置にシーク位置決めするためのＶＣＭ（ボイスコイルモータ）制御電流制御は、サーボサンプリング間隔毎に行われる。
【０００５】
さて、ヘッドを目標トラックの目標位置に位置決めしている状態（オントラック状態）でデータの書き込みを行っている最中に、外部から何らかの衝撃が印加された場合、その衝撃によるヘッドの目標位置からのずれ量、つまりオフトラック量は次のサーボサンプリングを行うまで知ることができない。このため、衝撃加速度が大きい場合にはヘッド（ヘッドオフトラック）は書き込み対象トラックの隣接セクタ、或いは隣接トラックまで至る可能性もあり、最悪の場合には書き込み対象トラック、或いは隣接トラックのデータを破壊してしまう。
【０００６】
そこで近年の磁気ディスク装置では、このような障害を防止するため、上記したように衝撃検出回路を備えているのが一般的である。この衝撃検出回路を用いて衝撃印加をリアルタイムで監視することで、衝撃によるヘッドオフトラックが隣接トラックに及ぶ前にデータ書き込みを中断することを実現している。中断した該当トラックの目標セクタへのデータ書き込みは、リトライ処理により行われる。
【０００７】
上記衝撃検出回路は、一般に圧電素子からなるショックセンサ（衝撃センサ）を内蔵している。従来の磁気ディスク装置の衝撃検出回路では、このショックセンサの出力をアンプで増幅し、コンパレータで基準レベル（スレッショルドレベル）と比較することで２値化して、衝撃検出信号としている。ここで、衝撃検出レベル（衝撃検出感度）は、ショックセンサ感度、アンプ増幅率、コンパレータのスレッショルドレベルによって決定される。従来は、この衝撃検出レベルは、サーボ制御帯域、装置衝撃仕様、センサ共振周波数等を考慮し、固定値で設定されていた。
【０００８】
【発明が解決しようとする課題】
磁気ディスク装置に代表されるディスク記憶装置において、ショックセンサは、プリント基板（ＰＣＢ）上またはヘッドディスクアセンブリ（ＨＤＡ）内のフレキシブルプリント配線板（ＦＰＣ）上に実装されるのが一般的である。
【０００９】
このような構成のディスク記憶装置に外部から衝撃が加わった場合、ＰＣＢのばね力、ショックセンサの実装位置、ＰＣＢをＨＤＡに固定するためのねじ位置等がダンパーの役目をすることによって、同じ外部衝撃が加わった場合においてもＨＤＤによってショックセンサに伝播する衝撃値はばらつきを持つことになる。また、ショックセンサ自体の共振点により、電源ノイズによって衝撃検出感度が上がってしまうこともある。
【００１０】
そこで従来のディスク記憶装置では、このようなばらつきを考慮して衝撃検出回路の衝撃検出レベル（衝撃検出感度）を設定していた。ここでは、データの書き込み中に外部から衝撃が加わった場合に、当該衝撃を確実に検出してデータ破壊防止のために書き込みを中断できるように、全てのディスク記憶装置において衝撃検出レベルを一様に低い値（衝撃検出感度を高い値）に設定するのが一般的であった。
【００１１】
ところが、衝撃検出レベルを一様に低い値に設定すると、ディスク記憶装置によっては、電源ノイズ等によってもショックセンサ出力が大きな値となって衝撃が検出されてしまうという問題があった。逆に、衝撃検出レベルを高い値に設定すると、外部衝撃によってヘッドがオフトラックしているにも拘わらず、衝撃が検出されずにデータ書き込みが行われて、書き込み対象トラックまたは隣接トラックのデータが破壊される虞があるという問題があった。
【００１２】
本発明は上記事情を考慮してなされたものでその目的は、衝撃検出の状況に応じて衝撃検出感度（衝撃検出レベル）を動的に設定変更できるディスク記憶装置及び同装置における衝撃検出方法を提供することにある。
【００１３】
【課題を解決するための手段】
本発明のディスク記憶装置は、装置に加えられる衝撃を設定された衝撃検出感度で検出するための当該感度が可変設定可能な衝撃検出回路と、この衝撃検出回路の衝撃検出状況を監視する監視手段と、この監視手段の衝撃検出状況監視結果及び上記衝撃検出回路の現在の衝撃検出感度に応じて、当該衝撃検出回路の衝撃検出感度を段階的に可変設定する衝撃検出感度可変設定手段とを備えたことを特徴とする。
【００１４】
このような構成のディスク記憶装置においては、衝撃検出回路の衝撃検出状況と当該衝撃検出回路の現在の衝撃検出感度（現設定感度）に応じて、当該衝撃検出感度が段階的に可変設定されることから、常に使用環境下における最適感度（最高感度）の衝撃検出感度を持つことが可能となる。
【００１５】
ここで、装置起動時には、衝撃検出感度を絶対的な最高衝撃検出感度に初期設定するならば、通常状態では比較的微小な衝撃に対しても確実に衝撃検出が行われる。この衝撃検出に応じてライト禁止処理を行えば、オフトラックライト防止効果は最大となる。また、衝撃検出が頻繁に発生している場合に衝撃検出感度を段階的に下げるならば、（固定的に高い衝撃検出感度に設定する場合と異なって）電源ノイズ等を衝撃と誤検出する虞を少なくできると共に、（固定的に低い衝撃検出感度に設定する場合と異なって）装置に実際に加えられた衝撃を検出し損なう虞も少なくできる。
【００１６】
また、衝撃検出感度を可変設定するには、上記衝撃検出感度可変設定手段に次の各手段、即ち、上記監視手段の衝撃検出状況監視結果に基づいて衝撃検出頻度が第１の基準値以下であるか、或いは当該第１の基準値より多い第２の基準値以上であるかを所定期間毎に判定する衝撃検出頻度判定手段と、上記衝撃検出頻度判定手段により上記衝撃検出頻度が第１の基準値以下であると判定され、且つ上記衝撃検出回路の現在の衝撃検出感度が最高衝撃検出感度でない場合に、当該衝撃検出回路の衝撃検出感度を１段階上げる衝撃検出感度アップ手段と、上記衝撃検出頻度判定手段により上記衝撃検出頻度が第２の基準値以上であると判定され、且つ上記衝撃検出回路の現在の衝撃検出感度が最低衝撃検出感度でない場合に、当該衝撃検出回路の衝撃検出感度を１段階下げる衝撃検出感度ダウン手段とを持たせるとよい。
【００１７】
さて、衝撃検出回路による衝撃検出はランダムに発生する。そこで、衝撃検出回路による衝撃検出に応じて、当該衝撃検出状態を第１の時間保持するためのフラグ手段と、上記衝撃検出回路による衝撃検出の履歴を最新の第２の時間分保持するための衝撃検出履歴保持手段とを設け、上記監視手段では、上記フラグ手段の状態を上記第２の時間より短い第３の時間間隔で調べることにより上記衝撃検出回路の衝撃検出状況を監視して、その都度当該フラグ手段の状態に対応する衝撃検出の有無を示す情報を上記衝撃検出履歴保持手段に格納するようにするならば、当該衝撃検出履歴保持手段に最新の第２の時間分の衝撃検出の履歴を保持することが可能となる。このような構成とした場合、衝撃検出感度可変設定手段では、上記第２の時間間隔で上記衝撃検出履歴保持手段の示す衝撃検出の履歴を参照して、その都度当該衝撃検出の履歴を上記監視手段の衝撃検出状況監視結果として用いることにより、上記衝撃検出回路の衝撃検出感度を常にその時点における使用環境下での最適感度に設定できる。
【００１８】
ここでは、上記衝撃検出の履歴の示す上記第２の時間内における衝撃検出数が第１の基準値以下であり、且つ上記衝撃検出回路の現設定感度が最高衝撃検出感度でない場合に、当該衝撃検出回路の衝撃検出感度を１段階上げ、上記衝撃検出数が第２の基準値以上であり、且つ上記現設定感度が最低衝撃検出感度でない場合に、当該衝撃検出回路の衝撃検出感度を１段階下げるようにすればよい。
【００１９】
また、上記衝撃検出感度が可変可能な衝撃検出回路として、装置に加えられる衝撃をアナログ信号に変換するショックセンサと、このショックセンサの出力を増幅するゲイン可変増幅回路と、この増幅回路の出力レベルを基準のスレッショルドレベルと比較してその比較結果に応じて衝撃検出信号を出力するコンパレータとで構成するとよい。この構成では、上記衝撃検出回路の衝撃検出感度を上記ゲイン可変増幅回路のゲインを変えることで可変することができる。
【００２０】
この他に、上記衝撃検出感度が可変可能な衝撃検出回路として、装置に加えられる衝撃をアナログ信号に変換するショックセンサと、このショックセンサの出力を増幅する増幅回路と、この増幅回路の出力レベルを設定されたスレッショルドレベルと比較してその比較結果に応じて衝撃検出信号を出力するスレッショルドレベル可変コンパレータとで構成することも可能である。この構成では、上記衝撃検出回路の衝撃検出感度を上記コンパレータのスレッショルドレベルを変えることで可変することができる。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
【００２２】
図１は本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図である。
図１の磁気ディスク装置（ＨＤＤ）において、１１はデータが磁気記録される記録媒体としてのディスク（磁気ディスク）、１２はディスク１１へのデータ書き込み（データ記録）及びディスク１１からのデータ読み出し（データ再生）に用いられるヘッド（磁気ヘッド）である。ヘッド１２は、ディスク１１の各記録面に対応してそれぞれ設けられているものとする。なお、図１の構成では、ディスク１１が２枚積層配置されたＨＤＤを想定しているが、ディスク１１が３枚以上積層配置されたＨＤＤ、或いは単一枚のディスク１１を備えたＨＤＤであっても構わない。
【００２３】
ディスク１１の記録面には、同心円状の多数のトラック（図示せず）が形成されている。各トラックには、ヘッド１２のシーク・位置決め等に用いられるサーボ情報が記録されたサーボ領域（図示せず）が等間隔で配置されている。このサーボ領域間には複数の記録単位としてのセクタ（データセクタ）が配置されている。各サーボ領域は、ディスク１１上では中心から各トラックを渡って放射状に等間隔で配置されている。
【００２４】
ディスク１１はスピンドルモータ（以下、ＳＰＭと称する）１３により高速に回転する。ヘッド１２はヘッド移動機構としてのヘッドアクチュエータ（ロータリ型ヘッドアクチュエータ）１５に取り付けられており、当該アクチュエータ１５の回動（角度回転）に従ってディスク１１の半径方向に移動する。これにより、ヘッド１２は、目標トラック上にシーク・位置決めされるようになっている。アクチュエータ１５は、当該アクチュエータ１５の駆動源となるボイスコイルモータ（以下、ＶＣＭと称する）１４を有しており、当該ＶＣＭ１４により駆動される。
【００２５】
ディスク１１の外周側には、（ＳＰＭ１３の回転停止に伴う）当該ディスク１１の回転停止状態においてヘッド１２を退避（リトラクト）させておくためのランプ（図示せず）が配置されている。
【００２６】
ＳＰＭ１３は、ＳＰＭドライバ（ＳＰＭ駆動回路）１６から供給される操作電流（ＳＰＭ電流）により駆動される。ＶＣＭ１４を有するヘッドアクチュエータ１５は、ＶＣＭドライバ（ヘッドアクチュエータ駆動回路）１７から供給される操作電流（ＶＣＭ電流）により駆動される。本実施形態において、ＳＰＭドライバ１６及びＶＣＭドライバ１７は、１チップに集積回路化されたドライバＩＣ１８によって実現されている。ＳＰＭドライバ１６からＳＰＭ１３に、ＶＣＭドライバ１７からＶＣＭ１４に、それぞれ供給される操作電流を決定するための値（操作量）は、マイクロコントローラ２５により決定される。
【００２７】
ヘッド１２は、目標トラック上にシーク・位置決めされた後、ディスク１１の回転動作により、そのトラック上を走査する。またヘッド１２は、走査によりその上に等間隔を保って配置されたサーボ領域のサーボ情報を順に読み込む。またヘッド１２は、走査により目標セクタに対するデータの読み書きを行う。
【００２８】
ヘッド１２は例えばフレキシブルプリント配線板（ＦＰＣ）に実装されたヘッドアンプ回路（ヘッドＩＣ）１９と接続されている。ヘッドアンプ回路１９は、（マイクロコントローラ２５からの制御に従う）ヘッド１２の切り替え、ヘッド１２との間のリード／ライト信号の入出力等を司る。ヘッドアンプ回路１９は、ヘッド１２で読み取られたアナログ出力（ヘッド１２のリード信号）を増幅すると共に、Ｒ／Ｗ回路（リード／ライトＩＣ）２０から送られるライトデータに所定の信号処理を施してこれをヘッド１２に送る。
【００２９】
Ｒ／Ｗ（リード／ライト）回路２０は、ヘッド１２によりディスク１１から読み出されてヘッドアンプ回路１９で増幅されたアナログ出力（ヘッド１２のリード信号）を一定の電圧に増幅するＡＧＣ（自動利得制御）機能と、このＡＧＣ機能により増幅されたリード信号から例えばＮＲＺコードのデータに復号するのに必要な信号処理を行うデコード機能（リードチャネル）と、ディスク１１へのデータ記録に必要な信号処理を行うエンコード機能（ライトチャネル）と、上記リード信号からのサーボ情報抽出を可能とするために当該リード信号をパルス化してパルス化リードデータとして出力するパルス化機能と、次に述べるサーボ処理回路２１からのタイミング信号（バーストタイミング信号）に応じてサーボ情報中のバーストデータを抽出する機能とを有している。このバーストデータはマイクロコントローラ２５に送られて、ヘッド１２を目標トラックの目標位置に位置決めするための位置決め制御に用いられる。
【００３０】
サーボ処理回路２１は、Ｒ／Ｗ回路２０から出力されるリードパルスからサーボ情報を取得するための、バーストタイミング信号を含む各種タイミング信号を生成する機能と、サーボ情報中のシリンダコードを抽出する機能とを有している。このシリンダコードは、マイクロコントローラ２５に送られて、ヘッド１２を目標トラックに移動するシーク制御に用いられる。
【００３１】
ＨＤＣ（ディスクコントローラ）２２は、ＨＤＤを利用するホストシステム（以下、ホストと称する）と接続されている。ＨＤＣ２２は、ホストとの間のコマンド（ライトコマンド、リードコマンド等）、データの通信を制御するインタフェース制御機能と、ディスク１ｌとの間のデータ転送を制御するディスク制御機能と、次に述べるバッファメモリ２３を制御するバッファ制御機能とを有する。
【００３２】
バッファメモリ２３は、主として、ホストから転送されてディスク１ｌに書き込むべきデータ（ライトデータ）を一時格納するためのライトキャッシュと、ディスク１ｌから読み出されてホストに転送されるデータ（リードデータ）を一時格納するためのリードキャッシュとして用いられる。バッファメモリ２３は例えばＲＡＭ（Random Access Memory）を用いて構成される。
【００３３】
衝撃検出回路２４は、ＨＤＤに加えられる衝撃を検出してマイクロコントローラ２５に通知するもので、ショックセンサ２４１と、増幅回路２４２と、ゲインコントローラ２４３と、コンパレータ２４４とを有している。
【００３４】
ショックセンサ２４１は、例えば圧電素子等により構成され、ＨＤＤに加えられる衝撃を検出してアナログ信号に変換する。増幅回路２４２はショックセンサ２４１の出力（アナログ衝撃波形）を増幅する。この増幅回路２４２は設定ゲイン（アンプゲイン）が可変のアンプ（図示せず）を内蔵する。
【００３５】
ゲインコントローラ２４３は、増幅回路２４２のゲインをマイクロコントローラ２５により指定された値に切り替え設定する。コンパレータ２４４は、増幅回路２４２の出力を閾値＋Ｖth及び−Ｖthと比較し、増幅回路２４２の出力が＋Ｖth及び−Ｖthの範囲を超えている場合に、衝撃検出信号２４０を真にして、衝撃検出をマイクロコントローラ２５に通知する。
【００３６】
マイクロコントローラ２５は、制御プログラムに従うＨＤＤ全体の制御、例えばサーボ処理回路２１により抽出されたシリンダコード及びＲ／Ｗ回路２０により抽出されたバーストデータに基づくヘッド１２のシーク・位置決め制御、ホストからのリード／ライトコマンドに従うＨＤＣ２２によるディスクアクセス制御（リード／ライトアクセス制御）等を実行する。
【００３７】
マイクロコントローラ２５はまた、ＳＰＭ１３を回転停止状態から一定速度での回転状態に立ち上げた際に、ヘッド１２をランプからディスク１１上にロードするヘッドロード制御と、ＳＰＭ１３の回転を停止させるに際し、ヘッド１２をランプにアンロードするヘッドアンロード制御を行う。
【００３８】
マイクロコントローラ２５は更に、コンパレータ２４４の出力（衝撃検出結果）の状況を監視することによって、衝撃検出レベル（衝撃検出感度）を決定する１要素である増幅回路２４２の設定ゲインを動的に複数段階に切り替える。換言すればマイクロコントローラ２５は、増幅回路２４２の設定ゲインを動的に切り替えることで、衝撃検出レベルを動的に複数段階に切り替える。
【００３９】
マイクロコントローラ２５は、上記制御プログラムが予め格納されているＲＯＭ（Read Only Memory）２５１と、当該マイクロコントローラ２５のワーク領域等を提供するＲＡＭ（Random Access Memory）２５２とを内蔵している。ＲＡＭ２５２には、コンパレータ２４４による衝撃検出に応じて一定期間セットされるショックセンサフラグ２５２ａと、定期的に行われるショックセンサフラグ２５２ａの状態チェックの結果の履歴を最新の一定回数分、例えば３２回分保持する３２ビットのセンサ履歴レジスタ２５２ｂと、最新の一定回数、例えば３２回のショックセンサフラグ２５２ａの状態チェックで当該フラグ２５２ａがセットされていた（立っていた）回数を保持する１６ビットのセンサカウントレジスタ２５２ｃと、例えば増幅回路２４２の設定ゲイン（アンプゲイン）を決定する衝撃検出感度を保持するための感度レジスタ２５２ｄの各領域が割り当てられている。
【００４０】
次に、図１の構成の動作を、マイクロコントローラ２５による衝撃検出回路２４に対する衝撃検出感度（衝撃検出レベル）の切り替え設定を含む一連の制御動作について説明する。
【００４１】
まず、ヘッドロード時の制御について、図２のフローチャートを参照して説明する。
マイクロコントローラ２５は、装置が電源オフ状態または省電力モードにあって、ディスク１１の回転が停止している状態から、ＳＰＭ１３を回転させてディスク１１を所定回転速度（例えば４，２００ｒｐｍ）で定常回転させると、ヘッド１２をランプからディスク１１上にロードするためのヘッドロード処理を開始する。
【００４２】
まずマイクロコントローラ２５は、センサ履歴レジスタ２５２ｂ及びセンサカウントレジスタ２５２ｃを初期化（ゼロクリア）する（ステップＳ１，Ｓ２）。次にマイクロコントローラ２５は、感度レジスタ２５２ｄを初期化する（ステップＳ３）。ここでは、感度レジスタ２５２ｄは、例えば４段階の衝撃検出感度（衝撃検出レベル）のうちの最高の衝撃検出感度（最低の衝撃検出レベル）を示す値に設定される。またマイクロコントローラ２５は、感度レジスタ２５２ｄの示す衝撃検出感度に対応するアンプゲイン値（最高の衝撃検出感度に対応する最高ゲイン値）をゲインコントローラ２４３に設定する（ステップＳ４）。これによりゲインコントローラ２４３は、増幅回路２４２のアンプゲインを、マイクロコントローラ２８の指定した値（初期値である最高ゲイン値）に設定する。
【００４３】
その後、マイクロコントローラ２８はヘッド１２をランプからディスク１１上にロードする周知のヘッドロード制御を行う（ステップＳ５）。このヘッドロード制御が正常終了すると、ヘッド１２を目標位置にシーク位置決めして、目標セクタからのデータ読み出しまたは目標セクタへのデータ書き込みを行う通常動作が可能なる。
【００４４】
本実施形態では、コンパレータ２４４の出力である衝撃検出信号２４０が真（アクティブ）となった場合、衝撃が収まると推定される時間、例えば１００ｍｓ（第１の時間）の間、ショックセンサフラグ２５２ａを立てる（セットする）ことにする。もし、ショックセンサフラグ２５２ａが既に立っているならば、その時点から更に１００ｍｓの間当該フラグ２５２ａを立てることになる。
【００４５】
ここで本実施形態におけるＨＤＤの主要な仕様は、
モータ（ディスク）回転数…４，２００ｒｐｍ
サーボ情報数／トラック……６０
衝撃検出感度…………………感度１(最高感度)〜感度４(最低感度)の４段階である。
【００４６】
さて、サーボ処理回路２１は、ヘッド１２によりディスク１１から読み取られた情報からサーボ情報を取得すると、マイクロコントローラ２５にサーボ処理のための割り込みを発生する。これによりマイクロコントローラ２５はサーボ割り込み時の処理を行う。
【００４７】
このサーボ割り込み時の処理手順について、図３及び図４のフローチャートを参照して説明する。
まずマイクロコントローラ２５は、（サーボ処理回路２１により抽出されたサーボ情報中のシリンダコードと）Ｒ／Ｗ回路２０により抽出されたバーストデータをもとに、ヘッド１２を目標位置に（シーク・）位置決めするためのサーボ処理を行う（ステップＳ１１）。
【００４８】
もし、このサーボ処理が、先頭サーボ（トラック上に埋め込まれている６０のサーボの先頭サーボ、つまりサーボセクタ番号が０のサーボ）の処理でないか（ステップＳ１２）、先頭サーボの処理であっても、シーク未完了であるならば、即ちシーク中であるならば（ステップＳ１３）、マイクロコントローラ２５はサーボ割り込み時の処理を終了する。
【００４９】
これに対し、先頭サーボ（サーボ０）の処理で、且つ既にシーク完了していて目標位置への位置決め制御（オントラック制御）の状態にあるならば、マイクロコントローラ２５は本発明に直接関係する衝撃検出感度（衝撃検出レベル）の切り替え設定を含む一連の処理を次のように行う。つまりマイクロコントローラ２５は、ヘッド１２がオントラック状態にある期間、ディスク１１の１回転（に要する第３の時間）毎に、衝撃検出感度の切り替え設定を含む一連の処理を行う。
【００５０】
まずマイクロコントローラ２５は、ショックセンサフラグ２５２ａの状態をチェックする（ステップＳ１４）。もし、ショックセンサフラグ２５２ａが立っている（セットしている）ならば（ステップＳ１５）、マイクロコントローラ２５はセンサカウントレジスタ２５２ｃの値を１インクリメントして（ステップＳ１６）、ステップＳ１７に進む。これに対し、ショックセンサフラグ２５２ａが立っていない（セットしていない）ならば、マイクロコントローラ２５はそのままステップＳ１７に進む。
【００５１】
マイクロコントローラ２５はステップＳ１７において、３２ビットのセンサ履歴レジスタ２５２ｂの内容を上位側に１ビットシフト（左シフト）する。そしてマイクロコントローラ２５は、センサ履歴レジスタ２５２ｂの最下位ビット（ビット０）に、ショックセンサフラグ２５２ａのチェック結果をセットする（ステップＳ１８）。ここでは、ショックセンサフラグ２５２ａが立っているときは“１”が、立っていないときは“０”がセットされる。
【００５２】
このように、３２ビットのセンサ履歴レジスタ２５２ｂの内容は、ヘッド１２がオントラック状態にある期間におけるディスク１１の１回転毎（６０サーボ情報毎）に、上位側に１ビットシフトされ、最下位ビットに最新のショックセンサフラグ２５２ａのチェック結果が保持される。したがって、オントラック状態でディスク１１が３２回転した後は、センサ履歴レジスタ２５２ｂには、常に最新の３２回分（に対応する第２の時間分）のショックセンサフラグ２５２ａのチェック結果が時間順に保持されていることになる。ここでは、上位ビットほど古く、下位ビットほど新しい。つまり最上位ビット（ビット３１）の示すチェック結果が最も古く、最下位ビット（ビット０）の示すチェック結果が最も新しい。
【００５３】
さてマイクロコントローラ２５は、センサ履歴レジスタ２５２ｂの内容を１ビット上位側にシフトした結果、キャリーアウトが発生した場合、つまり１ビットシフト前の最上位ビット（ビット３１）が“１”のためにキャリーフラグが立った場合（ステップＳ１９）、センサカウントレジスタ２５２ｃの値を１デクリメントして（ステップＳ２０）、ステップＳ２１に進む。これに対して、キャリーアウトが発生しなかった場合、つまり１ビットシフト前の最上位ビット（ビット３１）が“０”のためにキャリーフラグが立たなかった場合（ステップＳ１９）、マイクロコントローラ２５はそのままステップＳ２１に進む。
【００５４】
このようにセンサカウントレジスタ２５２ｃの値に対し、ショックセンサフラグ２５２ａのチェック時に当該フラグ２５２ａが立っているときのみ１加算して、センサ履歴レジスタ２５２ｂに対する１ビットシフトにより当該レジスタ２５２ｂのキャリーフラグが立ったときのみ１減算することにより、当該センサカウントレジスタ２５２ｃの値を、常にセンサ履歴レジスタ２５２ｂ内の“１”のビット数、つまり最新の３２回分のショックセンサフラグ２５２ａのチェック結果のうち、当該フラグ２５２ａが立っていた回数と等しくすることができる。
【００５５】
したがって、センサ履歴レジスタ２５２ｂ内の“１”のビット数を数えなくても、センサカウントレジスタ２５２ｃの値を読み取るだけで、最新の３２回分のショックセンサフラグ２５２ａのチェック結果（以下、センサ検出数と称する）を知ることができる。
【００５６】
明らかなように、センサカウントレジスタ２５２ｃの値（０≦レジスタ値≦３２）からは、ディスク１１の最新の３２回転の期間（回転速度が４，２００ｒｐｍの例では、３２×６０，０００／４，２００≒４５７ｍｓ）における衝撃検出回路２４による衝撃検出の発生の程度、つまり衝撃検出発生頻度を判断することが可能である。
【００５７】
そこで本実施形態では、センサカウントレジスタ２５２ｃの値をもとに、衝撃検出回路２４の衝撃検出感度の再設定を行うようにしている。但し、オントラック状態でディスク１１が３２回転した後において、当該ディスク１１の１回転毎に衝撃検出感度の再設定を行うのは、センサカウントレジスタ２５２ｃの値の変化が最大で１であるため無意味である。このため本実施形態では、ディスク１１の３２回転毎に衝撃検出感度の再設定のための処理を行うこととする。つまり、衝撃検出感度の再設定のための処理の繰り返し周期を、ディスク１１の３２回転分とする。
【００５８】
マイクロコントローラ２５は、オントラック状態の期間、ディスク１１の回転数をカウントし、３２回転毎に当該カウント数をゼロクリアするようになっている。そしてマイクロコントローラ２５は、ディスク１１の３２回転毎に（ステップＳ２１）、センサカウントレジスタ２５２ｃの値（センサ検出数）を読み込んで、そのレジスタ値（センサ検出数）の大小を判定する（ステップＳ２２）。ここでは、レジスタ値（センサ検出数）が０（第１の基準回数以下）であるか、或いは１以上９以下であるか、或いは１０以上（第２の基準回数以上）現在の衝撃検出感度現在の衝撃検出感度であるかが判定される。
【００５９】
もし、センサ検出数（レジスタ値）が０で、つまり衝撃検出が発生しておらず、且つ感度レジスタ２５２ｄの示す現在の衝撃検出感度が最高感度（感度１）でない場合（ステップＳ２３）、マイクロコントローラ２５は衝撃検出感度を上げられると判断し、感度レジスタ２５２ｄに現在設定されている衝撃検出感度（現設定感度）を１段階だけ上げる（現設定感度が感度２ならば感度１に、感度３ならば感度２に、そして感度４ならば感度３に上げる）衝撃検出感度の再設定を行って一連のサーボ割り込み時処理を終了する（ステップＳ２４）。このステップＳ２４では、マイクロコントローラ２５は新たな衝撃検出感度に対応して増幅回路２４２に設定すべきゲイン値を１段階上げて、その新たなゲイン値をゲインコントローラ２４３に設定する。これによりゲインコントローラ２４３は、増幅回路２４２のアンプゲインの値がマイクロコントローラ２５により設定されたゲイン値となるように、当該ゲインを切り替える。
【００６０】
また、レジスタ値（センサ検出数）が１０以上で、つまり衝撃検出が頻繁に発生しており、且つ感度レジスタ２５２ｄの示す現在の衝撃検出感度が最低感度でない場合（ステップＳ２５）、マイクロコントローラ２５は衝撃検出感度を下げられると判断し、感度レジスタ２５２ｄに現在設定されている衝撃検出感度を１段階だけ下げる（現設定感度が感度１ならば感度２に、感度２ならば感度３に、そして感度３ならば感度４に下げる）衝撃検出感度の再設定を行って一連のサーボ割り込み時処理を終了する（ステップＳ２６）。このステップＳ２６では、マイクロコントローラ２５は新たな衝撃検出感度に対応して増幅回路２４２に設定すべきゲイン値を１段階下げて、その新たなゲイン値をゲインコントローラ２４３に設定する。これによりゲインコントローラ２４３は、増幅回路２４２のアンプゲインの値がマイクロコントローラ２５により設定されたゲイン値となるように、当該ゲインを切り替える。
【００６１】
また、レジスタ値（センサ検出数）が１以上９以下の場合には、マイクロコントローラ２５は感度レジスタ２５２ｄに現在設定されている衝撃検出感度を維持し、そのまま一連のサーボ割り込み時処理を終了する。
【００６２】
以上に述べた本実施形態によれば、図１のＨＤＤは起動時には衝撃検出感度は最高感度（感度１）に初期設定され、この状態では、比較的小さな衝撃に対してもライト禁止処理を行うため、オフトラックライト防止効果は最大となる。一方、図１のＨＤＤが電源ノイズの大きいシステム等に実装された場合、従来の衝撃検出感度固定式で感度を最高に設定するとノイズを衝撃と誤検出してデータ書き込み動作ができなくなりパフォーマンスが著しく悪化する可能性があるが、本実施形態ではノイズの影響がなくなるまでマイクロコントローラ２５により衝撃感度を自動調整できるため、パフォーマンスの悪化を防止できる。
【００６３】
なお、以上に述べた実施形態では、ゲイン可変の増幅回路２４２を用い、当該増幅回路２４２のゲインを可変することで、衝撃検出回路２４の衝撃検出感度を可変する場合について説明したが、これに限るものではない。例えば、コンパレータ２４４にスレッショルドレベル可変のコンパレータを用い、当該コンパレータのスレッショルドレベル（＋Ｖth，−Ｖth）をマイクロコントローラ２５から可変設定することで、衝撃検出回路２４の衝撃検出感度を可変するようにしても構わない。但し、可変する方向は増幅回路２４２に対するのと逆である。即ち、衝撃検出感度を１段上げるには、スレッショルドレベル（＋Ｖth，−Ｖthの絶対値）を１段下げ、衝撃検出感度を１段下げるには、スレッショルドレベル（＋Ｖth，−Ｖthの絶対値）を１段上げればよい。
【００６４】
また、以上に述べた実施形態では、本発明を磁気ディスク装置に実施した場合について説明したが、本発明は、衝撃検出機能を有し、ヘッドにより読み取られたサーボ情報に基づいてヘッドのシーク・位置決め制御を行うディスク記憶装置であれば、光磁気ディスク装置、フロッピーディスク装置など、磁気ディスク装置以外のディスク記憶装置にも実施可能である。
【００６５】
【発明の効果】
以上詳述したように本発明によれば、衝撃検出の状況に応じて衝撃検出感度（衝撃検出レベル）を段階的に設定変更できるため、常に使用環境下において最適な衝撃検出感度での衝撃検出が実現できる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図。
【図２】同実施形態における、センサ履歴レジスタ２５２ｂ、センサカウントレジスタ２５２ｃ、及び感度レジスタ２５２ｄの初期化処理が付加されたヘッドロード時の制御手順を説明するためのフローチャート。
【図３】同実施形態における、衝撃検出感度可変処理が付加されたサーボ割り込み時の処理手順を説明するためのフローチャートの一部を示す図。
【図４】同実施形態における、衝撃検出感度可変処理が付加されたサーボ割り込み時の処理手順を説明するためのフローチャートの残りを示す図。
【符号の説明】
１１…ディスク
１２…ヘッド
１３…ＳＰＭ（スピンドルモータ）
１４…ＶＣＭ（ボイスコイルモータ）
２４…衝撃検出回路
２５…マイクロコントローラ（監視手段、衝撃検出感度可変設定手段、衝撃検出頻度判定手段、衝撃検出感度アップ手段、衝撃検出感度ダウン手段、衝撃検出数判定手段）
２４１…ショックセンサ
２４２…増幅回路
２４３…ゲインコントローラ
２４４…コンパレータ
２５２ａ…ショックセンサフラグ（フラグ手段）
２５２ｂ…センサ履歴レジスタ（衝撃検出履歴保持手段）
２５２ｃ…センサカウントレジスタ
２５２ｄ…感度レジスタ
【図１】
0004142840.tif 000002
【図２】
0004142840.tif 000003
【図３】
0004142840.tif 000004
【図４】
0004142840.tif 000005