(57)【要約】【課題】振動、落下のような衝撃に対する耐性を十分に向上することが可能な磁気ディスク装置を陣源する。【解決手段】フラッシュメモリ１５に書き込み済みのデータのサイズとホスト装置２０からの書き込みデータのサイズとの和が閾値格納部３４に設定されている閾値を超えた場合には、コントローラ１６は、フラッシュメモリ１５の空き容量を確保するために、フラッシュメモリ１５に格納されているデータの少なくとも一部をハードディスク１４に移動するフラッシュ動作を実行する。コントローラ１６は、ショックセンサ３１による衝撃検出結果に基づいて閾値の値を自動的に変更する。例えば、磁気ディスク装置１１に衝撃が加わっている時間帯においては、通常の閾値よりも大きな閾値がコントローラ１６によって閾値格納部３４に設定される。この結果、フラッシュ動作の実行タイミングを遅らせることが可能となる。【選択図】    図１
2008034069.tif 000002
【特許請求の範囲】
【請求項１】
本体に加えられた衝撃を検出する検出器と、
データを記録する磁気ディスクと、
前記磁気ディスクにデータを記録する場合にキャッシュメモリとなる不揮発性メモリと、
前記検出器が検出した衝撃の回数に基づいて前記不揮発性メモリに書き込み可能なデータのサイズの閾値を設定する閾値設定部と、
前記不揮発性メモリへのデータの書き込みコマンドが入力されると、前記不揮発性メモリに書き込み済みのデータのサイズと前記書き込みコマンドによって書き込まれるデータのサイズとの和を算出する手段と、
前記算出されたデータのサイズが前記閾値設定部によって設定されている閾値より大きいか否かを判別する手段と、
前記算出されたデータのサイズが前記閾値より大きいと判別した場合に、前記不揮発性メモリに書き込まれているデータを前記磁気ディスクに移動させる手段と、
前記移動手段がデータを移動させた後に、前記書き込みコマンドに基づくデータを前記不揮発性メモリに書き込む手段と
を具備することを特徴とする磁気ディスク装置。
【請求項２】
前記閾値設定部は、前記検出器が単位時間当たりに検出した衝撃の回数が設定回数より多くない場合に前記閾値として第１の閾値を設定し、前記単位時間当たりに受けた衝撃の回数が設定回数より多い場合に前記閾値として前記第１の閾値より大きい第２の閾値を設定することを特徴とする請求項１記載の磁気ディスク装置。
【請求項３】
前記検出器は、加速度を検出する加速度センサと、設定された加速度以上の加速度を前記加速度センサが検出した場合に衝撃を受けたものとして検出するショック検出部とを有し、
前記磁気ディスク装置は、前記検出器が衝撃を検出したときの加速度の大きさの履歴を格納する履歴格納部と、前記履歴格納部に格納されている履歴に基づいて平均化した衝撃回数を求める手段を更に具備し、
前記閾値設定部は、前記平均化された衝撃回数が設定回数より多くない場合に前記閾値として前記第１の閾値を設定し、前記平均化処理された衝撃回数が設定回数より多い場合に前記閾値として前記第１の閾値より大きい第２の閾値を設定することを特徴とする請求項１記載の磁気ディスク装置。
【請求項４】
前記磁気ディスク装置は、前記検出器が前記単位時間当たりに検出した衝撃回数の履歴を格納する履歴格納部を更に具備し、
前記閾値設定部は、前記検出器が検出した衝撃の回数が設定回数より多くない場合に前記履歴格納部に衝撃を検出した場合があるか否かを判別し、前記履歴格納部に前記衝撃を検出した場合があると判別した場合に第１の閾値を設定し、前記検出器が検出した衝撃の回数が設定回数より多い場合に前記閾値として前記第１の閾値より大きい第２の閾値を設定し、前記履歴格納部に前記衝撃を検出した場合がないと判別した場合に前記閾値として前記第１の閾値より小さい第３の閾値を設定することを特徴とする請求項１記載の磁気ディスク装置。
【請求項５】
前記閾値設定部が第１の閾値を設定した後に、前記不揮発性メモリに記憶されているデータを整理する手段を更に具備することを特徴とする請求項４記載の磁気ディスク装置。
【請求項６】
本体に加えられた衝撃を検出する検出器と、データを記録する磁気ディスクと、前記磁気ディスクにデータを記録する場合にキャッシュメモリとなる不揮発性メモリとを具備する磁気ディスク装置の制御方法であって、
前記検出器が検出した衝撃の回数に基づいて前記不揮発性メモリに書き込み可能なデータのサイズの閾値を設定し、
前記不揮発性メモリへのデータの書き込みコマンドが入力されると、前記不揮発性メモリに書き込み済みのデータのサイズと前記書き込みコマンドによって書き込まれるデータのサイズとの和を算出し、
前記算出されたデータのサイズが前記設定された閾値より大きいか否かを判別し、
前記算出されたデータのサイズが前記閾値より大きいと判別した場合に、前記不揮発性メモリに書き込まれているデータを前記磁気ディスクに移動させ、
前記磁気ディスクにデータを移動させた後に、前記書き込みコマンドに基づくデータを前記不揮発性メモリに書き込む
ことを特徴とする磁気ディスク装置の制御方法。
【請求項７】
前記検出器が単位時間当たりに検出した衝撃の回数が設定回数より多くない場合に前記閾値として第１の閾値を設定し、前記単位時間当たりに受けた衝撃の回数が設定回数より多い場合に前記閾値として前記第１の閾値より大きい第２の閾値を設定する
ことを特徴とする請求項６記載の磁気ディスク装置の制御方法。
【請求項８】
前記検出器は、加速度を検出する加速度センサと、設定された加速度以上の加速度を前記加速度センサが検出した場合に衝撃を受けたものとして検出するショック検出部とを有し、
前記検出器が衝撃を検出したときの加速度の大きさの履歴を履歴格納部に格納し、
前記履歴格納部に格納されている履歴に基づいて平均化した衝撃回数を求め、
前記平均化された衝撃回数が設定回数より多くない場合に前記閾値として前記第１の閾値を設定し、前記平均化処理された衝撃回数が設定回数より多い場合に前記閾値として前記第１の閾値より大きい第２の閾値を設定すること
ことを特徴とする請求項６記載の磁気ディスク装置の制御方法。
【請求項９】
前記検出器が前記単位時間当たりに検出した衝撃回数の履歴を履歴格納部に格納し、
前記検出器が検出した衝撃の回数が設定回数より多くない場合に前記履歴格納部に衝撃を検出した場合があるか否かを判別し、
前記履歴格納部に前記衝撃を検出した場合があると判別した場合に第１の閾値を設定し、
前記検出器が検出したショックの回数が設定回数より多い場合に前記閾値として前記第１の閾値より大きい第２の閾値を設定し、
前記履歴格納部に前記衝撃を検出した場合がないと判別した場合に前記閾値として前記第１の閾値より小さい第３の閾値を設定する
ことを特徴とする請求項６記載の磁気ディスク装置の制御方法。
【請求項１０】
前記第１の閾値を設定した後に、前記不揮発性メモリに記憶されているデータを整理する
ことを特徴とする請求項７記載の磁気ディスク装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードディスクドライブのような磁気ディスク装置およびその制御方法に関する。
【背景技術】
【０００２】
周知のように、近年、ハードディスクは、大容量で信頼性の高い情報記録媒体であり、例えばコンピュータデータ、映像データ、音声データ等の記録用として多方面に普及している。また、ハードディスクは、その形状も携帯用電子機器に搭載されるほど小型化されてきている。
【０００３】
このため、現在、ハードディスクを用いた小型化志向の磁気ディスク装置においては、情報の高速書き込み及び高速読み出しが可能な不揮発性メモリを、ハードディスクに対するキャッシュメモリとして使用することにより、情報の書き込み及び読み出し速度を高めるとともに、ハードディスクの駆動回数、つまり、ハードディスクに対する情報の書き込み及び読み出し回数を削減して、電池電力の節約を図ることが考えられている。
【０００４】
すなわち、この種の磁気ディスク装置は、外部に対しての情報の書き込み及び読み出しを不揮発性メモリに対して行なわせ、ハードディスクに対しては不揮発性メモリとの間で情報転送を行なわせることにより、外部から見た情報の書き込み及び読み出し動作を高速化するとともに、ハードディスクの駆動回数を削減するようにしているもので、ＮＶ（non volatile）−cache対応ＨＤＤ（hard disk drive）とも称されて、提案されている（非特許文献１）。
【非特許文献１】Non Volatile Cache Command Proposal for ATA8−ACS Revision5
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、不揮発性メモリをキュッシュとして有するＨＤＤにおいては、ハードディスクの駆動回数を削減することができるので、振動、落下のようなショックに対する耐性も高くなる。しかし、不揮発性メモリのメモリ使用率(量)がある閾値を超えた時には、不揮発性メモリに格納されているデータをフラッシュしてハードディスク（ディスクメディア）に書き込むために、ハードディスクを駆動することが必要となる。もしこの時にＨＤＤにショックが加わると、ヘッドがディスクメディアに衝突するという事態が発生する可能性がある。
【０００６】
本発明の目的は、振動、落下のようなショックに対する耐性を十分に向上することが可能な磁気ディスク装置およびその制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一例に係わる磁気ディスク装置は、本体に加えられた衝撃を検出する検出器と、データを記録する磁気ディスクと、前記磁気ディスクにデータを記録する場合にキャッシュメモリとなる不揮発性メモリと、前記検出器が検出した衝撃の回数に基づいて前記不揮発性メモリに書き込み可能なデータのサイズの閾値を設定する閾値設定部と、前記不揮発性メモリへのデータの書き込みコマンドが入力されると、前記不揮発性メモリに書き込み済みのデータのサイズと前記書き込みコマンドによって書き込まれるデータのサイズとの和を算出する手段と、前記算出されたデータのサイズが前記閾値設定部によって設定されている閾値より大きいか否かを判別する手段と、前記算出されたデータのサイズが前記閾値より大きいと判別した場合に、前記不揮発性メモリに書き込まれているデータを前記磁気ディスクに移動させる手段と、前記移動手段がデータを移動させた後に、前記書き込みコマンドに基づくデータを前記不揮発性メモリに書き込む手段とを具備することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、振動、落下のようなショックに対する耐性を十分に向上することが可能となる。
【発明を実施するための最良の形態】
【０００９】
本発明の実施の形態を以下に図面を参照して説明する。
【００１０】
以下、この発明の実施の形態について図面を参照して詳細に説明する。図１は、この実施の形態で説明する磁気ディスク装置１１の概略を示している。ここで説明する磁気ディスク装置１１としては、Non Volatile Cache Command Proposal for ATA8−ACS Revision5等で規格化されたＮＶ−cache対応ＨＤＤを対象としている。
【００１１】
すなわち、この磁気ディスク装置１１は不揮発性メモリをキャッシュとして有するＨＤＤ（ハイブリッドＨＤＤ）として実現されており、バッファとして機能するＳＤＲＡＭ１２、各種の回路ブロックが内蔵された１チップのＬＳＩ１３、大容量のディスク状記録媒体であるハードディスク（ディスクメディア）１４、ハードディスク１４に対するキャッシュとして機能する不揮発性メモリであるフラッシュメモリ１５等を備えている。
【００１２】
このうち、上記ＬＳＩ１３には、磁気ディスク装置１１が各種の処理動作を実行する場合に、その統括的な制御を行なうための制御部となるコントローラ１６が内蔵されている。そして、このＬＳＩ１３には、コントローラ１６と上記ＳＤＲＡＭ１２とを情報転送可能に接続するＳＤＲＡＭ Ｉ／Ｆ（interface）１７、コントローラ１６と上記ハードディスク１４とを情報転送可能に接続するディスクＩ／Ｆ１８、コントローラ１６と上記フラッシュメモリ１５とを情報転送可能に接続するフラッシュメモリＩ／Ｆ１９、コントローラ１６と外部のホスト装置２０とを情報転送可能に接続するホストＩ／Ｆ２１等が内蔵されている。
【００１３】
ここで、上記ホスト装置２０は、例えばＰＣ（personal computer）等である。このホスト装置２０は、例えば所定のアプリケーションソフトウエアを実行する際に、磁気ディスク装置１１を利用して情報の書き込み及び読み出しを実行するとともに、最終的に得られた情報の保存先としても磁気ディスク装置１１を利用することができる。
【００１４】
この場合、ホスト装置２０は、磁気ディスク装置１１に対して情報の書き込みを要求するコマンドや、情報の読み出しを要求するコマンドを発生している。これらのコマンドは、ホストＩ／Ｆ２１を介してコントローラ１６に供給され解析される。
【００１５】
これにより、コントローラ１６は、ＳＤＲＡＭ１２、フラッシュメモリ１５、ハードディスク１４等に対して、ホスト装置２０から供給された情報の書き込みや、ホスト装置２０への情報の読み出し等を、選択的に実行するように制御する。なお、コントローラ１６としては、ＳＤＲＡＭ１２、フラッシュメモリ１５、ハードディスク１４相互間における情報の転送も可能とする機能を有する。
【００１６】
基本的に、コントローラ１６は、ホスト装置２０からの情報の書き込み要求を受けた場合、書き込む情報をフラッシュメモリ１５に蓄積させる。そして、コントローラ１６は、例えばフラッシュメモリ１５の記録領域がある程度以上使用された場合等、所定のタイミングで、フラッシュメモリ１５に蓄積された情報をハードディスク１４に転送し保存させる。
【００１７】
また、コントローラ１６は、ホスト装置２０からの情報の読み出し要求を受けた場合、要求された情報をハードディスク１４から読み出してホスト装置２０に出力させる。この場合、要求された情報がフラッシュメモリ１５上に存在していれば、フラッシュメモリ１５から情報を読み出してホスト装置２０に出力させる。
【００１８】
ここにおいて、上記フラッシュメモリ１５に書き込まれる情報（データ）には、エラー訂正コードが付加される。そして、フラッシュメモリ１５から読み出されるデータには、そのエラー訂正コードに基づいたエラー訂正処理が施されることになる。
【００１９】
また、ハードディスク１４に記録されるデータにも、エラー訂正コードが付加される。そして、ハードディスク１４から読み出されるデータには、そのエラー訂正コードに基づいたエラー訂正処理が施されることになる。
【００２０】
この実施の形態では、ハードディスク１４に記録されるデータに施されるエラー訂正処理の方が、フラッシュメモリ１５に記録されるデータに施されるエラー訂正処理に比して、はるかにエラー訂正能力の高い方式が採用されている。すなわち、フラッシュメモリ１５に記録されるデータよりも、ハードディスク１４に記録されるデータの方が、格段に信頼性が高いものとなっている。
【００２１】
また、この実施の形態では、一例として、上記フラッシュメモリ１５は、その情報の書き込み及び読み出しの単位が２Ｋバイトに規定されている。さらに、このフラッシュメモリ１５は、その消去単位が１２８Ｋバイトに規定されている。また、このフラッシュメモリ１５は、その書き込み及び読み出し回数が多くなると素子が劣化し、エラー発生率が高くなる。このため、素子の性能を保証する情報として、書き替え回数を１０万回程度に規定している。
【００２２】
ここで、上記した規格により設定されている、磁気ディスク装置１１の実行可能な各種のコマンドのうち、この実施の形態を説明する上で必要となるものについて説明する。まず、第１のコマンドは、論理ブロックアドレス（ＬＢＡ）を指定して、情報をフラッシュメモリ１５に書き込むことを要求するものである。
【００２３】
また、第２のコマンドは、フラッシュメモリ１５内のＬＢＡで指定される記録領域を情報書き込み領域として確保することを要求するものである。これら第１または第２のコマンドがホスト装置２０から発生された場合、コントローラ１６は、フラッシュメモリ１５の指定されたＬＢＡに情報を書き込むことが可能となる。
【００２４】
さらに、磁気ディスク装置１１は、ショックセンサ３１、タイマ回路３２、カウンタ３３、閾値格納部３４を備えている。ショックセンサ３１は、磁気ディスク装置（本体）１１に加わる衝撃を検出する検出器であり、例えば、加速度を検出する加速度センサと、設定された加速度以上の加速度を加速度センサが検出すると衝撃を受けたものとして検出するショック検出部とから構成されている。タイマ回路３２は、所定の時間間隔で割り込み信号（タイマ割り込み）を発生する。カウンタ３３は、例えば、ショックセンサ３１が検出した単位時間当たりに受けた衝撃の回数を算出する処理等を実行する。閾値格納部３４は、キャッシュフラッシュの実行タイミングの制御に使用される閾値を格納する。この閾値は、フラッシュメモリ１５に書き込み可能なデータサイズの上限を規定する値である。
【００２５】
フラッシュメモリ１５に書き込み済みのデータのサイズとホスト装置２０からの書き込みデータのサイズとの和が閾値格納部３４に設定されている閾値を超えた場合には、コントローラ１６は、フラッシュメモリ１５の空き容量を確保するために、フラッシュメモリ１５に格納されているデータの少なくとも一部をハードディスク１４に移動するフラッシュ動作を実行する。本実施形態においては、磁気ディスク装置１１に衝撃が加わっている時間帯においてはなるべくフラッシュ動作が実行されないようにするために、ショックセンサ３１による衝撃検出結果に基づいて閾値の値が自動的に変更される。具体的には、コントローラ１６は、ショックセンサ３１の検出量に基づいて閾値格納部３４に設定すべき閾値の値を決定し、その決定した閾値を閾値格納部３４に設定する。例えば、磁気ディスク装置１１に衝撃が加わっている時間帯においては、通常の閾値よりも大きな閾値がコントローラ１６によって閾値格納部３４に設定される。この結果、フラッシュ動作の実行タイミングを遅らせることが可能となる。
【００２６】
図２は、フラッシュ動作の手順を示すフローチャートである。
【００２７】
通常は、フラッシュメモリ１５の総容量に対してある程度の余裕を持った位置に閾値(閾値VT1)が予め設定されている。この閾値VT1は、閾値格納部３４に格納されている。
【００２８】
フラッシュメモリ１５へのデータの書き込みを指示する書き込みコマンドをホスト装置２０から受信すると、コントローラ１６は、以下の処理を実行する。
【００２９】
ホスト装置２０からの書き込みデータは、まず、バッファとしてのＳＤＲＡＭ１２に格納される。コントローラ１６は、ＳＤＲＡＭ１２内の書き込みデータを選択し（ステップＳ１１）、そしてこの書き込みデータのサイズとフラッシュメモリ１５の現在の使用量（フラッシュメモリ１５に書き込み済みのデータのサイズ）との和を算出する（ステップＳ１２）。
【００３０】
そして、コントローラ１６は、閾値格納部３４に格納されている閾値を参照し（ステップＳ１３）、算出されたサイズが閾値よりも大きいか否かを判別する（ステップＳ１４）。
【００３１】
算出されたサイズが閾値よりも大きくないならば、コントローラ１６は、選択した書き込みデータをフラッシュメモリ１５に書き込む（ステップＳ１５）。
【００３２】
一方、算出されたサイズが閾値よりも大きいならば、コントローラ１６は、ハードディスク１４を回転させるスピンアップ処理を開始し（ステップＳ１６）、その後、フラッシュメモリ１５からフラッシュすべきデータを選択して、その選択したデータをハードディスク１４に書き込むフラッシュ動作を実行する（ステップＳ１７）。この結果、フラッシュメモリ１５に空き容量が確保される。ステップＳ１７においては、フラッシュメモリ１５内の少なくとも一部のデータがハードディスク１４に書き込まれる。もちろん、フラッシュメモリ１５内の全てのデータをハードディスク１４に書き込んでも良い。フラッシュ動作の実行後、コントローラ１６は、選択された書き込みデータをフラッシュメモリ１５に書き込む（ステップＳ１５）。
【００３３】
次に、図３のフローチャートを参照して閾値変更処理の第１の例を説明する。
【００３４】
ここでは、タイマ割り込みを基準として閾値を変更する処理について説明する。
【００３５】
上述したように、タイマ３２は所定のタイマインターバル毎に割り込み信号を定期的に出力する。また、ショックセンサ３１は衝撃を検出した時に割り込み信号を発生する。
【００３６】
カウンタ３３は、ショックセンサ３１からの割り込み信号を監視することにより、各タイマインターバル期間（単位時間）毎に衝撃検出回数をカウントし、その衝撃検出回数の値を衝撃検出回数データとしてコントローラ１６に出力する（ステップＳ２１）。
【００３７】
コントローラ１６は、カウンタ３３からのデータに基づいて、磁気ディスク装置１１に衝撃が加わっているか否かを判別する（ステップＳ２２）。例えば、タイマインターバル期間が5秒である場合には、単位時間（5秒）当たりの衝撃検出回数が１回以上であれば、コントローラ１６は、衝撃が受けている時間帯と判断し（ステップＳ２３のＹＥＳ）、閾値ＶT1よりも大きい閾値ＶT2を選択して、閾値格納部３４に閾値ＶＴ２を保存する（ステップＳ２４）。一方、単位時間（5秒）当たりの衝撃検出回数が０回であれば、コントローラ１６は、衝撃を受けている時間帯ではないと判断し（ステップＳ２３のＮＯ）、閾値ＶＴ１を選択して、閾値格納部３４に閾値ＶＴ１を保存する（ステップＳ２５）。
【００３８】
次に、図４のフローチャートを参照して閾値変更処理の第２の例を説明する。
【００３９】
ここでは、タイマーインターバル間隔でカウントされる衝撃検出回数の検出履歴を用いて、衝撃を受けている時間帯であるか否かの判別が行われる。
【００４０】
カウンタ３３は、ショックセンサ３１からの割り込み信号を監視することにより、各タイマインターバル期間（単位時間）毎に衝撃検出回数をカウントし、その衝撃検出回数の値をショック検出回数データとしてコントローラ１６に出力する（ステップＳ３１）。
【００４１】
コントローラ１６は、衝撃検出回数の履歴を格納する履歴レジスタを備えている。この履歴レジスタには、カウンタ３３から出力される、連続する複数のタイムインターバルそれぞれに対応する複数個の衝撃検出回数データが格納される。コントローラ１６は、複数個の衝撃検出回数データを平均化するフィルタ処理を実行することにより、複数のタイムインターバル期間内における平均衝撃検出回数を算出する（ステップＳ３２）。
【００４２】
コントローラ１６は、算出した平均衝撃検出回数に基づいて、磁気ディスク装置１１に衝撃が加わっているか否かを判別する（ステップＳ３３）。例えば、平均衝撃検出回数が所定の設定回数よりも多い場合には、コントローラ１６は、衝撃を受けている時間帯であると判断し（ステップＳ３４のＹＥＳ）、閾値ＶT1よりも大きい閾値ＶT2を選択して、閾値格納部３４に閾値ＶＴ２を保存する（ステップＳ３５）。一方、平均衝撃検出回数が所定の設定回数よりも多くない場合には、コントローラ１６は、衝撃を受けている時間帯ではないと判断し（ステップＳ３４のＮＯ）、閾値ＶＴ１を選択して、閾値格納部３４に閾値ＶＴ１を保存する（ステップＳ３６）。
【００４３】
なお、なお、複数のタイムインターバル期間内において検出された、衝撃の大きさ（加速度の大きさ）を示す複数のデータを履歴レジスタに蓄積し、それらデータを平均化した値を用いて、衝撃を受けている時間帯であるか否かを判別するようにしてもよい。
【００４４】
このように、ＦＩＲ等のフィルタ処理によって求められた平均化された衝撃の回数または大きさを用いて閾値を選択することにより、一時的に衝撃を受けたがあった場合にその状況を平均化し判断できるようになり、突発的な１回のみの衝撃検出などの影響を軽減できる。
【００４５】
次に、図５のフローチャートを参照して閾値変更処理の第３の例を説明する。
【００４６】
ここでは、図６に示すように、衝撃の検出量に応じて３つの閾値が選択的に用いられる。通常は、閾値ＶＴ１が閾値格納部３４に格納されているが、衝撃の検出量が所定値を超える場合には閾値ＶＴ１よりも大きい閾値ＶＴ２が閾値格納部３４に格納され、衝撃が長時間検出されない場合には閾値ＶＴ１よりも小さい閾値ＶＴ３が閾値格納部３４に格納される。
【００４７】
ここでは、タイマーインターバル間隔でカウントされる衝撃検出回数の検出履歴を用いて、衝撃を受けている時間帯であるか否かの判別が行われる。
【００４８】
カウンタ３３は、ショックセンサ３１からの割り込み信号を監視することにより、各タイマインターバル期間（単位時間）毎に衝撃検出回数をカウントし、その衝撃検出回数の値を衝撃検出回数データとしてコントローラ１６に出力する（ステップＳ４１）。
【００４９】
コントローラ１６の履歴レジスタには、カウンタ３３から出力される、連続する複数のタイムインターバルそれぞれに対応する複数個の衝撃検出回数データが格納される。
【００５０】
コントローラ１６は、最新のタイマインターバルに対応する衝撃検出回数が所定回数（例えば１回）以上であるか否かを判別する（ステップＳ４２）。最新のタイマインターバルに対応する衝撃検出回数が所定回数以上であるならば、コントローラ１６は、閾値ＶＴ２を選択して、閾値格納部３４に閾値ＶＴ２を保存する（ステップＳ４３）。この後、コントローラ１６は、フラッシュメモリ１５に格納されているデータを整理して、フラッシュメモリ１５の空き容量を増やす（ステップＳ４４）。
【００５１】
通常、フラッシュメモリはデータの書き換えを繰り返しているうちに、いくつかのBlockには非常に小さなデータのみが残留して仕様効率が落ちている場合もある。フラッシュメモリの整理を行う事で実質の空き容量を大きくすることが可能となり、閾値を大きくすることとの相乗効果も期待できる。
【００５２】
最新のタイマインターバルに対応する衝撃検出回数が所定回数以上ではないならばコントローラ１６は、履歴レジスタに保存されている、一つ前のタイムインターバルに対応する衝撃検出回数を取得し取得した衝撃検出回数、つまり一つ前のタイムインターバルに対応する衝撃検出回数が１以上であるか否かを判別する（ステップＳ４５）。
【００５３】
１以上であれば、コントローラ１６は閾値ＶＴ１を選択して、閾値ＶＴ１を閾値記憶部３３に保存する（ステップＳ４６）。一方、一つ前のタイムインターバルに対応する衝撃検出回数が１以上でなければ、つまり一つ前のタイムインターバルで衝撃が検出されていないならば、コントローラ１６は、閾値ＶＴ３を選択して、その閾値ＶＴ３を閾値記憶部３３に保存する（ステップＳ４７）。
【００５４】
また、閾値を変更する処理に加え、衝撃が検出された場合には、1回のアクセスにおけるディスクへの書き込みデータ量を小さくする処理を実行しても良い。
【００５５】
以上のように、本実施形態によれば、閾値をショックセンサ３１の検出状況に応じて可変とすることにより、衝撃を検出している場合には閾値を大きくして、Diskアクセスのタイミングを遅らせることができ、従ってヘッドがメディア上にある時間を短くする事ができる。これにより外部振動などによる物理的な破壊の可能性を軽減できる。
【００５６】
また衝撃検出時にはフラッシュメモリの整理を行って実質空き容量を大きくすること、および1回のDiskアクセスにおける書き込みサイズを小さくする事により効果をさらに大きく出来る。
【００５７】
逆に衝撃が検出されていない場合には、安定状態にあると判断できるため早めにデータを書き出し、以降に衝撃が入り始めた時には少ないデータがFlashに残っている状況にする事ができる。
【００５８】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図。
【図２】同実施形態の磁気ディスク装置によって実行される、フラッシュメモリに格納されているデータをディスクに書き込む処理の手順を説明するフローチャート。
【図３】同実施形態の磁気ディスク装置によって実行される閾値変更処理の手順の例を示すフローチャート。
【図４】同実施形態の磁気ディスク装置によって実行される閾値変更処理の手順の他の例を示すフローチャート。
【図５】同実施形態の磁気ディスク装置によって実行される閾値変更処理の手順のさらの他の例を示すフローチャート。
【図６】同実施形態の磁気ディスク装置によって用いられる３つの閾値の例を説明するための図。
【符号の説明】
【００６０】
１１…磁気ディスク装置、１４…ハードディスク（ディスクメディア）、１５…フラッシュメモリ、１６…コントローラ、３１…ショックセンサ、３２…タイマ回路、３３…カウンタ、３４…閾値格納部。
【図１】
2008034069.tif 000003
【図２】
2008034069.tif 000004
【図３】
2008034069.tif 000005
【図４】
2008034069.tif 000006
【図５】
2008034069.tif 000007
【図６】
2008034069.tif 000008