(57)【特許請求の範囲】
【請求項１】
ヘッドを退避領域に移動させることが可能なハードディスクドライブと、
加速度を検出する加速度センサーと、
前記加速度センサーにより検出された加速度情報から高周波成分を取得して振動レベルを求め、この振動レベルと設定された閾値とを比較して前記ハードディスクドライブの前記ヘッドの前記退避領域への移動の要否を判断する判断部と、
前記閾値をユーザに可変設定させる閾値設定部と、
ユーザに情報を表示可能な表示部と
を具備し、
前記閾値設定部は、前記表示部に前記閾値をユーザに可変設定させるためのマンマシンインタフェース画面を表示し、このマンマシンインタフェース画面に対してユーザより入力された閾値に関する情報を取得して前記判断部に閾値の変更を依頼し、前記判断部にて求められた振動レベルを周期的に取得して、前記マンマシンインタフェース画面に表示する
ことを特徴とする情報処理装置。
【請求項２】
前記閾値設定部は、ユーザにより設定された閾値を前記振動レベルと対比可能なように前記マンマシンインタフェース画面に表示することを特徴とする請求項１記載の情報処理装置。
【請求項３】
加速度センサーにて加速度を検出するステップと、
前記検出された加速度情報から高周波成分を取得して振動レベルを求め、この振動レベルと設定された閾値とを比較してハードディスクドライブのヘッドの退避領域への移動の要否を判断する判断ステップと、
前記閾値をユーザに可変設定させる閾値設定ステップと
を具備し、
前記閾値設定ステップは、表示部に前記閾値をユーザに可変設定させるためのマンマシンインタフェース画面を表示し、このマンマシンインタフェース画面に対してユーザより入力された閾値に関する情報を取得し、前記判断ステップにて求められた振動レベルを周期的に取得して、前記マンマシンインタフェース画面に表示する
ことを特徴とする内蔵ハードディスクドライブのヘッド退避処理方法。
【請求項４】
前記閾値設定ステップは、ユーザにより設定された閾値を前記振動レベルと対比可能なように前記マンマシンインタフェース画面に表示することを特徴とする請求項３記載の内蔵ハードディスクドライブのヘッド退避処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＤＤ（ハードディスクドライブ）を内蔵する情報処理装置およびその内蔵ハードディスクドライブのヘッド退避処理方法に関するものである。
【背景技術】
【０００２】
ノート型ＰＣなどの携帯可能な機器においては、携帯時や操作中に、誤って落下した場合や外部からの衝撃が加えられた場合にその機器を保護することが重要な課題である。とりわけ、記録装置として用いられるＨＤＤ（ハードディスクドライブ）のような磁気ディスク装置は、回転する磁気ディスク上に磁気ヘッドをシークさせてデータの読み書きを行うため、衝撃や振動によって磁気ヘッドと磁気ディスクが衝突すると、磁気ディスクを傷つけ、記録されているデータを破壊する恐れがある。また、ＨＤＤ内部に加速度センサーが内蔵されている場合もあるが、データの書き込みを一時的に止めるだけの場合が多く、ヘッドの退避が行われたとしても、きめ細かく制御を行うことはできない。
【０００３】
これを解決するために機器内部に加速度センサー等を内蔵し、それによって検知される加速度、あるいは、その変化量が一定以上の場合に、磁気ヘッドを退避領域に移動させる手段が用いられることがある。
【０００４】
この種の従来技術としては、ＨＤＤに衝撃・振動が加わった場合、ＨＤＤへの書き込みを一時的に中断する方式がある。しかしながら、書き込みを中断することで間違ったアドレスへの書き込みは防止されるが、ヘッドはメディアの上にあるため、強い衝撃や振動を受けるとヘッドとメディアとが接触して破損してしまう可能性がある。
【０００５】
そこで、加速度センサー等のセンサーを用いて衝撃や振動を検知し、衝撃や振動が与えられていると判断した場合には、ＨＤＤのヘッドを退避領域に退避させる方式が用いられることがある。たとえば、特許文献１においては、Ｘ軸、Ｙ軸、Ｚ軸の各加速度をもとに落下の検出を行い、ＨＤＤのヘッドを退避領域に退避させる技術が開示されている。
【特許文献１】特開２００５−３４６８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、一般的に加速度センサーとは、単なる加速度、すなわち単位時間当たりの速度変化を検出するための素子である。そのため、センサーから得られる加速度情報の大小のみで、衝撃・振動判断処理を行うと、磁気ヘッドの退避が無駄に発生し、ユーザの利便性を落とすことになる。例えば、ＨＤＤに記録させている音楽や映像を再生中にヘッド退避をさせると、一時的に映像・音声途切れなどが発生してしまう。
【０００７】
また、一般的に加速度センサーとは、単なる加速度情報を提供する素子であるため、衝撃・振動の有無を判断するためには、専用の衝撃・振動処理部が必要になる。例えば、ＰＣでそれを実現する場合、ＯＳ（オペレーティングシステム）上で動作するプログラム（ドライバ）、あるいは、専用のＬＳＩを具備する方法がある。
【０００８】
しかしながら、ＯＳ上で動作するプログラム（ドライバ）にて衝撃・振動判断を行う場合、ＰＣの特性上、必然的にＰＣのＣＰＵリソースを用いることになる。衝撃・振動判断は、リアルタイム処理が必要になるため、ＣＰＵ使用率が上がり、結果として、機器全体の消費電力が増すことになる。また、ノート型ＰＣの場合、その性格上、消費電力を極力、低減させ、バッテリーライフを延ばすことが非常に重要であるため、消費電力の増加は、大きな問題となる。
【０００９】
また、一方で専用のＬＳＩを搭載する方法においても、当該ＬＳＩを駆動するための電力が必要になるだけでなく、基板上に当該ＬＳＩとその周辺回路を実装するためのエリアが必要になり、コストの増大、回路規模の大型化につながってしまう問題がある。
【００１０】
本発明は、かかる実情を鑑み、加速度情報にもとづく内蔵ＨＤＤのヘッドの退避処理の要否判断をユーザの使用形態にあわせて良好に行うことのできる情報処理装置およびその内蔵ハードディスクドライブのヘッド退避処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明の情報処理装置は、ヘッドを退避領域に移動させることが可能なハードディスクドライブと、加速度を検出する加速度センサーと、加速度センサーにより検出された加速度情報から高周波成分を取得して振動レベルを求め、この振動レベルと設定された閾値とを比較してハードディスクドライブのヘッドの退避領域への移動の要否を判断する判断部と、閾値をユーザに可変設定させる閾値設定部とを具備することを特徴とする。
【００１２】
主に加速度情報の高周波成分には衝撃・振動成分が含まれるから、本発明では、この加速度情報の高周波成分をもとに衝撃・振動成分を検出するなどして、ハードディスクドライブのヘッドの退避領域への移動の要否を判断する。これにより、ハードディスクドライブに加わった衝撃・振動のレベルを正しく判断してヘッドを退避領域へ移動させることができ、内蔵ハードディスクドライブの保護を図ることができる。また、本発明は、振動レベルを評価するための基準である閾値をユーザが任意に可変設定できるので、加速度情報にもとづく内蔵ハードディスクドライブのヘッドの退避処理の要否判断をユーザの使用形態にあわせて良好に行うことができ、ヘッドが無駄に退避領域へ移動することを回避してユーザの利便性の向上を図ることができる。
【００１３】
また、本発明において、加速度センサーは３軸方向の加速度を検出し、判断部は、加速度センサーにより検出された３軸方向の加速度情報から高周波成分を取得して振動レベルを求め、この振動レベルと設定された閾値とを比較してハードディスクドライブのヘッドの退避領域への移動の要否を判断することとしてもよい。
【００１４】
また、本発明は、ユーザに情報を表示可能な表示部をさらに有し、閾値設定部は、表示部に閾値をユーザに可変設定させるためのマンマシンインタフェース画面を表示し、このマンマシンインタフェース画面に対してユーザより入力された閾値に関する情報を取得して判断部に閾値の変更を依頼することとしてもよい。
【００１５】
マンマシンインタフェース画面上でユーザは自身の使用形態に合わせて最適な閾値を可変設定できることで、ユーザによる閾値設定時の操作性が向上する。
【００１６】
さらに、閾値設定部は、判断部にて求められた振動レベルを周期的に取得して、マンマシンインタフェース画面に表示することとしてもよい。これにより、ユーザは実際に情報処理装置に衝撃・振動を加えつつ最適な閾値の選定を行うことができる。
【００１７】
また、閾値設定部は、ユーザにより設定された閾値を振動レベルと対比可能なようにマンマシンインタフェース画面に表示することとしてもよい。これにより、振動レベルと対比しつつ閾値の選定を行うことができ、ユーザは自身の使用形態に合わせて最適な閾値を容易に設定することができる。
【発明の効果】
【００１８】
本発明の情報処理装置およびその内蔵ハードディスクドライブのヘッド退避処理方法によれば、速度情報にもとづく内蔵ＨＤＤのヘッドの退避処理の要否判断をユーザの使用形態にあわせて良好に行うことができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明をノート型ＰＣに採用した場合の実施の形態について説明する。
【００２０】
図１は本実施形態のノート型ＰＣ１００のハードウェアのブロック図である。
【００２１】
このノート型ＰＣ１００は、メインＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１、メインメモリ２、ＨＤＤ（ハードディスクドライブ）３、加速度センサー４、ＥＣ（Ｅｍｂｅｄｄｅｄ  Ｃｏｎｔｒｏｌｌｅｒ）５、サウスブリッジ（Ｓｏｕｔｈ  Ｂｒｉｄｇｅ）６、ノースブリッジ（Ｎｏｒｔｈ  Ｂｒｉｄｇｅ）７、ノート型ＰＣ１００の蓋（リッド）に設けられたＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示部８、キーボード９、リッド開閉検出部１０などを備えている。
【００２２】
メインＣＰＵ１は、メインメモリ２に記憶されたＯＳや、ＯＳ上で動作するアプリケーション・プログラム（ユーティリティ・ソフトウェア１３を含む）などを実行するための各種の演算処理を行う。ＨＤＤ３はノート型ＰＣ１００の外部記憶装置として用いられる。加速度センサー４は、ＨＤＤ３を保護するためにノート型ＰＣ１００に加えられた加速度を検出する素子である。
【００２３】
ＥＣ５は、キーボード９に関連する処理やＡＣＰＩ（Ａｄｖａｎｃｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）で規定される電源管理を行うと共に、加速度センサー４から与えられる信号を処理して加速度情報を生成する処理、さらにはこの加速度情報をもとに衝撃・振動の判断処理を行うデバイスである。ＥＣ５のこの機能を「衝撃・振動判断エンジン」と呼ぶことにする。ＥＣ５は、具体的には、ＣＰＵ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを実装したＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）であり、上記の衝撃・振動判断エンジン１１はＣＰＵ上で動作するソフトウェアにより実現されている。
【００２４】
サウスブリッジ６はＨＤＤ３、ＥＣ５、ノースブリッジ７などのデバイス間の情報の流通を制御する回路である。ノースブリッジ７はサウスブリッジ６、表示部８、メインＣＰＵ１、メインメモリ２などのデバイス間の情報の流通を制御する回路である。表示部８はユーザに情報を表示するデバイスである。キーボード９はユーザからの入力を処理するデバイスである。リッド開閉検出部１０はリッドの開閉を検出するデバイスである。
【００２５】
図２は図１のノート型ＰＣ１００の機能ブロック図である。
【００２６】
ここで、ＥＣ５の内部の衝撃・振動判断エンジン１１は、既述のように加速度センサー４から与えられる加速度情報をもとに衝撃・振動の有無、ＨＤＤ３の磁気ヘッドの退避要否の判断、これらの感度の切り替えなどを実行する処理部である。感度の切り替えには、ユーザによる感度の切り替え、キーボード９のキー押下時の感度の切り替え、さらにはリッド開閉検出部１０の出力をもとにしたリッド閉操作時およびリッド閉時の感度の切り替えがある。なお、衝撃・振動判断エンジン１１は、ＥＣ５の内部のソフトウェアとして実装のみならず、メインＣＰＵ１により実行されるソフトウェアであってもよい。
【００２７】
加速度センサー４は、より詳細には、Ｘ軸、Ｙ軸、Ｚ軸の３軸方向の加速度を個別に検出することのできるセンサーである。３軸以外に無重力検出機構を持つセンサーも既存品としてあるが、本実施形態においては、センサー依存性を軽減するために無重力検出機能を有していないセンサーを用いる。加速度センサー４は３軸方向の加速度情報をアナログ信号としてＥＣ５に出力する。また、アナログ出力に限らず、Ｉ２ＣＢＵＳのようなシリアル通信によってＥＣ５と接続してもよい。
【００２８】
図３はＥＣ５と加速度センサー４との接続を示す図である。同図に示すように、ＥＣ５は加速度センサー４より出力されるＸ軸、Ｙ軸、Ｚ軸のアナログ出力をＡ／Ｄ変換するＡＤＣ（Ａ／Ｄコンバータ）１２を備えている。
【００２９】
ユーティリティ・ソフトウェア１３は、ＯＳ上で動作するソフトウェアである。ユーティリティ・ソフトウェア１３は、ＥＣ５の衝撃・振動判断エンジン１１からのリクエスト命令に従い、ＨＤＤ３に対してヘッド退避コマンドを発行する。ヘッド退避コマンドとしては、Ｉｄｌｅ  Ｉｍｍｅｄｉａｔｅ  ｗｉｔｈ  Ｕｎｌｏａｄコマンドなどがある。これはＡＴＡ−７の規格における、Ｉｄｌｅと同時にＨＤＤ３の磁気ヘッドを退避させる命令である。Ｉｄｌｅ  Ｉｍｍｅｄｉａｔｅ  ｗｉｔｈ  Ｕｎｌｏａｄコマンドに代えて、ＩｄｌｅコマンドやＳｔａｎｄｂｙコマンドなどの磁気ヘッド退避を伴うコマンドを用いてもよい。
【００３０】
また、ユーティリティ・ソフトウェア１３は、磁気ヘッドの退避時に、たとえば図４に示すように、ＨＤＤ３の保護機能が働いた旨の表示を行う。さらに、ＥＣ５との通信手段を有していることを活かし、衝撃・振動判断エンジン１１の感度設定を切り替える手段の提供や現在の衝撃値の表示などを行う。
【００３１】
フィルタドライバ１４は、ユーティリティ・ソフトウェア１３からＨＤＤ３に対してヘッド退避コマンドが発行された場合、それを検知し、以降の一定期間（２秒〜３秒程度）、ディスクドライバ１５などからＨＤＤ３に対して発行されるコマンドをブロックする。すなわち、コマンドがブロックされているので、ＨＤＤ３に対するアクセスは発生せず、磁気ヘッドは退避状態が維持される。コマンドをブロックする時間については、衝撃や振動の程度にあわせてユーティリティ・ソフトウェア１３などで変更することも可能である。
【００３２】
次に、このノート型ＰＣ１００において、加速度情報をもとにＨＤＤ３の磁気ヘッドが退避されるまでの基本的な流れを説明する。
【００３３】
１．  ＥＣ５（衝撃・振動判断エンジン１１）にてＨＤＤ３の磁気ヘッド退避の必要性があると判断した場合、ユーティリティ・ソフトウェア１３に対して「ＨＤＤ３に対してヘッド退避コマンドを発行すること」を要請する。
【００３４】
２．  ユーティリティ・ソフトウェア１３は上の要請に従って、ＨＤＤ３に対して、磁気ヘッド退避コマンドを発行する。
【００３５】
３．  ＨＤＤ３は上記の磁気ヘッド退避コマンドを受信することにより、磁気ヘッドを退避させる。
【００３６】
４．  フィルタドライバ１４は、ユーティリティ・ソフトウェア１３が、磁気ヘッド退避コマンドを発行したことを検知し、以降の一定期間（２秒〜３秒程度）、ＨＤＤ３へのアクセスをブロックする。
【００３７】
次に、衝撃・振動判断エンジン１１による衝撃・振動判断処理の詳細を述べる。
【００３８】
［フィルタ機能］
【００３９】
本実施形態で用いている加速度センサー４は、静止時でも重力加速度を測定できるセンサーである。そのため、加速度センサー４からの出力情報は、重量加速度と衝撃や振動時の加速度が足しあわされたものである。加速度センサー４から与えられる加速度情報をそのまま利用するのではなく、フィルタ処理によって加速度情報を高周波成分と低周波成分に分割することで、それぞれ特徴のある動きに分解することができる。加速度情報の高周波成分には、衝撃や振動時に発生する動きが主に含まれている。それに対し、加速度情報の低周波部分には、重力加速度とゆっくりとした動作時に発生する動きが主に含まれている。
【００４０】
衝撃・振動判断エンジン１１では、高周波・低周波の成分それぞれに閾値をもたせることで、以下のような判断をもたせることができる。
【００４１】
（ａ）高周波成分は、主に振動・衝撃の判断に用いる。
【００４２】
（ｂ）低周波成分は、主に重力成分の変動に関わる判断に用いる。
【００４３】
重力成分の変動の判定には、無重力判定や、低周波成分が大きく変動するような、持ち運び開始時等の動き判定などが含まれる。
【００４４】
・低周波成分の取得（ローパスフィルタ）
【００４５】
ローパスフィルタの具体的な実現方法は本発明において特に限定しないが、たとえば、無限長インパルス応答−ＩＩＲ（Ｉｎｆｉｎｉｔｅ−ｄｕｒａｔｉｏｎ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）型フィルタをベースにしたフィルタをソフトウェアにて実現する方法が挙げられる。なお、ＩＩＲ型フィルタについては、デジタルフィルタとしては一般的なものであるため、ここでは詳細は割愛する。
【００４６】
加速度センサー４から与えられる加速度入力値をＧ［ｎ］とした場合、フィルタ関数Ｇｌｐｆ［ｎ］は、下式となる。
【００４７】
Ｇｌｐｆ［ｎ］＝Ｇｌｐｆ［ｎ−１］＋β（Ｇｌｐｆ［ｎ−１］−Ｇ［ｎ］）
【００４８】
ここで、βは、ローパスフィルタの特性を変更する際に用いられるパラメータである。βはプログラム上ではパラメータとして与えられる数値になる。本例においては、１／８とする。すなわち、下式となる。
【００４９】
Ｇｌｐｆ［ｎ］＝Ｇｌｐｆ［ｎ−１］＋（１／８）（Ｇｌｐｆ［ｎ−１］−Ｇ［ｎ］）
【００５０】
ここで、Ｇｌｐｆ［ｎ−１］は、一回前に同計算をしたときに得られた値である。例えば、５ｍｓｅｃ間隔にてフィルタ処理を行うように設計した場合、５ｍｓｅｃ前に得られた値になる。ただし、プログラムにて実現する場合には、初期値が必要になるので、最初の一回目のみは、Ｇｌｐｆ［ｎ−１］＝Ｇ［ｎ］とする必要がある。
【００５１】
衝撃・振動判断エンジン１１は、この計算をＸ軸、Ｙ軸、Ｚ軸に対して行い、得られた値Ｇｌｐｆ［ｎ］を保持する。
【００５２】
・高周波成分の取得（ハイパスフィルタ）
【００５３】
ハイパスフィルタの具体的な実現方法も本発明において特に限定しないが、たとえば、加速度センサー４から得られた値から上記のローパスフィルタによって得られた低周波成分Ｇｌｐｆ［ｎ］を引いた値を高周波成分として得ることができる。
【００５４】
すなわち、下の式になる。
【００５５】
Ｇｈｐｆ［ｎ］＝｜Ｇ［ｎ］−Ｇｌｐｆ［ｎ］｜
もしくは、以下の式で実現される。
【００５６】
Ｇｈｐｆ［ｎ］＝｜（１−β）（Ｇ［ｎ］−Ｇ［ｎ−１］−Ｇｈｐｆ［ｎ−１］）｜
【００５７】
ここで、βはハイパスフィルタの特性を変更する際に用いられるパラメータである。ハイパスフィルタの特性を、ローパスフィルタの特性と変更したい場合は、βの値を変更すればよい。
【００５８】
衝撃・振動判断エンジン１１は、この計算をＸ軸、Ｙ軸、Ｚ軸に対して行い、得られた値Ｇｈｐｆ［ｎ］を保持する。
【００５９】
・ハードウエアによるフィルタ機能
【００６０】
上記のソフトウェアによるフィルタ機能とは別に、ハードウエアによるローパスフィルタをＥＣ５と加速度センサー４との間に設けることにより、一定値（１００Ｈｚ）以上の高周波成分をカットすることが望ましい。このフィルタを実現する方法には、フィルタＩＣを使う方法、コンデンサと抵抗などの部品を組み合わせて使う方法などがあるが、本発明においてこの点は特に規定されない。通常の使用環境化においては、機器の振動が１００Ｈｚ以上の高い周波数になることは極めて稀であると考えられるから、ローパスフィルタのカット周波数は１００Ｈｚ程度でよい。また、ノイズを除去する意味でもローパスフィルタを使うことが望ましい。
【００６１】
さらに、ＥＣ５（衝撃・振動判断エンジン１１）がその処理能力の制約から高い周波数成分を検出できない場合がある。例えば、５ｍｓｅｃ周期にて各軸の値をポーリングするようなソフトウェア構造の場合、そのサンプリング周波数は２００Ｈｚになり、それより高い周波数を検知することができないので、上記のようにハードウエア的に高周波成分をフィルタリングすることが必要になる。
【００６２】
［衝撃・振動の判断］
【００６３】
衝撃・振動判断エンジン１１は、上の計算によって得られた値Ｇｈｐｆ［ｎ］の値が、一定値以上の場合、強い衝撃が加えられたと判断し、ユーティリティ・ソフトウェア１３に対して「ＨＤＤ３への磁気ヘッド退避コマンドの発行依頼」を行う。
【００６４】
・重力成分の変動に関わる判断−その１（無重力検知）
【００６５】
機器が衝撃や振動を与えらることなく自由落下した場合、最終的には床等にぶつかることによって衝撃が加えられる可能性が強い。そこで、無重力を検知することによって、ＨＤＤ３の磁気ヘッドを退避させることが必要になる。衝撃・振動判断エンジン１１は、無重力状態であると判断した場合にユーティリティ・ソフトウェア１３に対して「ＨＤＤ３への磁気ヘッド退避コマンドの発行依頼」を行う。
【００６６】
無重力の判断は、下記２条件の両方を満たした場合とする。
【００６７】
１．  Ｘ軸、Ｙ軸、Ｚ軸に対するハイパスフィルタ処理後の値を、各々、Ｇｘ＿ｈｐｆ［ｎ］，Ｇｙ＿ｈｐｆ［ｎ］、Ｇｚ＿ｈｐｆ［ｎ］とした場合：
【００６８】
（Ｇｘ＿ｈｐｆ［ｎ］）2 ＋（Ｇｙ＿ｈｐｆ［ｎ］）2 ＋（Ｇｚ＿ｈｐｆ［ｎ］）2 ≦（０．６Ｇ）2 
を満たす。ただし、上式の右辺側の値（０．６Ｇ）は、加速度センサーの特性や機器の特性によって変更すべきパラメータであるため、他の値に置き換えることも可能である。
【００６９】
２．  Ｘ軸、Ｙ軸、Ｚ軸に対するローパスフィルタ処理後の値を、各々、Ｇｘ＿ｌｐｆ［ｎ］，Ｇｙ＿ｌｐｆ［ｎ］、Ｇｚ＿ｌｐｆ［ｎ］とした場合：
【００７０】
Ｇｘ＿ｌｐｆ［ｎ］≦１０
【００７１】
Ｇｙ＿ｌｐｆ［ｎ］≦１０
【００７２】
Ｇｚ＿ｌｐｆ［ｎ］≦１０
をすべて満たす。ただし、上の右辺側の値（１０）は、センサーの特性や機器の特性によって変更すべきパラメータであるため、他の値に置き換えることも可能である。
【００７３】
・重力成分の変動に関わる判断−その２(持ち運び発生検知）
【００７４】
ノート型ＰＣを持ち運ぶ瞬間には、加速度の低周波領域において大きな変動が発生することが多い。また、急いでノート型ＰＣを持ち上げたりした場合、落下につながったり、どこかにぶつける危険性が高くなる。そこで、低周波領域での加速度の変動が、ある閾値以上になった場合、衝撃・振動判断エンジン１１は、持ち運びが発生したと判断し、ユーティリティ・ソフトウェア１３に対して「ＨＤＤ３への磁気ヘッド退避コマンドの発行依頼」を行う。
【００７５】
持ち運びが発生したことの判断は下記の条件を満たしたときとする。
【００７６】
１．  Ｘ軸、Ｙ軸、Ｚ軸に対するローパスフィルタ処理後の値を、各々、Ｇｘ＿ｌｐｆ［ｎ］，Ｇｙ＿ｌｐｆ［ｎ］、Ｇｚ＿ｌｐｆ［ｎ］とした場合：
（Ｇｘ＿ｌｐｆ［ｎ］）2 ＋（Ｇｙ＿ｌｐｆ［ｎ］）2 ＋（Ｇｚ＿ｌｐｆ［ｎ］）2 ≧（１．８Ｇ）2 
を満足する。ただし、上式の右辺側の値（１．８Ｇ）は、加速度センサー４の特性や機器の特性によって変更すべきパラメータであるため、他の値に置き換えてもよい。
【００７７】
［振動モード機能］
【００７８】
急激な振動ではなく、例えば、電車などの乗り物内でノート型ＰＣを利用する場合など、一定の振動が連続的に加えられている場合、衝撃・振動の判断を以下の方法にすることによってユーザの利便性を落とさないようにすることができる。
【００７９】
本機能は機能のオプションとして実装しておき、必要に応じて、イネーブル／ディセーブルの切り替えをできるようにしておくことが望ましい。
【００８０】
振動モードの判断は、たとえば以下のように行うことができる。ある一定時間（Ａｍｓｅｃ）内に一定回数（Ｂ回）以上、衝撃・振動閾値をオーバーした場合、つまり、ハイパスフィルタ処理後の値が、閾値を越えた回数がＢ回以上であった場合に「振動モード」であるとする。逆に、振動モード中においては、一定時間内に一定回数以上の衝撃・振動閾値のオーバーが発生しなかった場合には「通常モード」であると判断する。なお、Ａ、Ｂはパラメータとして設定すべき値であるため、ここでは規定しない。
【００８１】
振動モード中においては衝撃・振動判断を緩和するようにする。例えば、衝撃・振動の閾値を大きくして磁気ヘッド退避イベントを発生しづらくする方法などがある。あるいは、（Ｇｘ＿ｈｐｆ［ｎ］）2 ＋（Ｇｙ＿ｈｐｆ［ｎ］）2 ＋（Ｇｚ＿ｈｐｆ［ｎ］）2 で得られる値が、非常に大きな値になった場合にのみ、磁気ヘッド退避依頼を発行するようにする方法もある。
【００８２】
［キーボード押下時の感度変更］
【００８３】
ノート型ＰＣ１００の場合、加速度センサー４の配置場所によっては、内蔵されているキーボード９の押下時の衝撃により、加速度センサー４の出力変化が大きくなる場合がある。この実施態形態では、キーボード９の制御を行うＥＣ５に衝撃・振動判断エンジン１１を持たせているため、容易にキーボード９の状態を知ることができる。それを活かし、キーボード９のキー押下時には、閾値を切り替えるなどして、ユーザの利便性を下げないようにすることができる。
【００８４】
ＥＣ５を用いずにＰＣのメインＣＰＵにキーボード９のキー押下時の感度変更の機能を持たせることも可能である。メインＣＰＵに持たせるとは、すなわち、ＯＳ上で動作するアプリケーション・ソフトウェアによって、その処理を行うことである。ＯＳ、あるいは、ＯＳ上で動作するアプリケーション・ソフトウェアがキーボード９のキー押下を検知する方法として最も一般的な手段は、スキャンコードと呼ばれるキー番号を伝送するものである。ただし、対象装置（ノート型ＰＣ）が複数のキーボードを持つ場合、例えば、本体内蔵のキーボードに加え、外付けキーボードを搭載している場合などは、ＯＳ、あるいは、ＯＳ上で動作するアプリケーション・ソフトウェアにとっては、受信したスキャンコードが、内蔵のキーボードからなのか、あるいは、外付けのキーボードなのかを判断することができない。外付けのキーボードの押下時に発生する振動や衝撃が本体に内蔵されたＨＤＤ３に影響を与える可能性は比較的小さく、むしろ、それによって感度を変更するのは望ましくない。
【００８５】
上記のような観点からＥＣ５にキーボード９のキー押下時の感度変更の機能を持たせることで、内蔵されたキーボード９のキーが押下されている場合にのみ感度を変更することを実現することができる。
【００８６】
また、スキャンコードによってキー押下の判断をする方式の場合、スキャンコードを受信したタイミングで、実際にキーボード９が押下されているとは限らない。すなわち、キーボード９側でキー押下（物理信号の変化）の検出とスキャンコードの発行が行われ、当該コードをＯＳやＯＳ上で動作するアプリケーション・ソフトウェア側が受信するまでには、少なくともその通信時間分のタイムラグが発生する。ＨＤＤ３の保護のように、反応速度が重要な機能においては、少しでも早いタイミングでヘッド退避の要否判断することが重要である。このような観点からも、物理信号によるキー押下検出ができるＥＣ５は有利である。すなわち、ＥＣ５にキーボード９のキー押下時の感度変更の機能を持たせることによりタイミング的な優位性を持たせることができる。
【００８７】
なお、内蔵、外部接続にかかわらず、キーボード９のキー押下時には感度変更をしたい場合、外部キーボードを接続する手段を有しないＰＣなどの場合には、ＥＣ５を使わずにメインＣＰＵ、すなわち、ＯＳ、あるいはＯＳ上で動作するアプリケーション・ソフトウェアにその機能を持たせるようにしてもよい。
【００８８】
［リッド（扉）閉時および閉操作時の感度変更］
【００８９】
ノート型ＰＣの場合、リッドを閉じた後に持ち運びの動作に移行する場合が考えられる。その際にリッドの閉操作を検知した場合、閾値を切り替え感度を高く設定しなおすことで振動・衝撃等によりＨＤＤ３のヘッドとディスク面とが接触する危険を低減することができ、ノート型ＰＣ１００が故障する機会を下げることができる。この場合、リッドを開く操作を検出した場合には閾値を通常の値に戻す。また、リッド（扉）閉操作時の瞬間には逆に閾値を切り替え感度を低く設定しなおすことで、ヘッドが余計に退避領域へ移動することを抑止してユーザの利便性の低下を防止することも可能である。この場合の閾値を下げる時間はリッドの閉操作が行われる一般的な時間（数秒間）に設定される。その後は通常の閾値に戻すか、あるいは、感度を高くする閾値に変更される。
【００９０】
既述の「キーボード押下時の感度変更の機能」と同様に、ＯＳ上で動作するアプリケーション・ソフトウェアにてリッドの閉時あるいは閉操作時の感度切り替え処理を行うことが可能ではある。ただし、実際にリッドが閉じられてから（物理信号が変化してから）、ＯＳがそれを検知するまでにはタイムラグがある（リッドが閉じられたことは、ＥＣ５からＯＳに対して割り込みを用いて通知される。）。ＨＤＤ保護のように、反応速度が重要な機能においては、少しでも早いタイミングでヘッド退避の要否判断することが重要であり、物理信号によるリッドが閉じられたことを検出できるＥＣ５に判断をさせることによりタイミング的な優位性を持たせることができる。
【００９１】
［ユーザによる感度設定］
【００９２】
ノート型ＰＣのように携帯可能な機器の場合、使用される環境は様々である。家屋や社屋の中でデスクトップＰＣのように据え置きにて使用する場合、電車や車などの移動中に使用する場合など、様々なケースが考えられ、その際に加わる振動や衝撃の強弱も大きく変化する。
【００９３】
既述のようにＨＤＤ３のアクセス中に磁気ヘッドの退避を行うと、ＨＤＤ３にとっては安全ではあるが、一時的にＨＤＤ３へのアクセスが拒絶されるため、製品の利便性を落としてしまうことになる。そこで、衝撃・振動の感度の設定を可能とすることにより、ＨＤＤ３の保護を優先するのか、あるいは、ＨＤＤ３のパフォーマンスを優先するのかをユーザが選択することができる。
【００９４】
衝撃・振動の感度の変更は、記述の「衝撃・振動の判断」における閾値を変更することで可能となる。この機能は、加速度センサー４から出力される電気信号などを変換・加工することなくソフトウェアのみで実現することができ、実装が容易であるというメリットがある。
【００９５】
以上説明した各機能を実装した本実施形態のノート型ＰＣ１００の動作を説明する。
【００９６】
［全体の動作について］
【００９７】
図５はＥＣ５内部の衝撃・振動判断エンジン１１の全体的な動作の流れを示すフローチャートである。
【００９８】
ＥＣ５は、加速度センサー４よりＸ軸、Ｙ軸、Ｚ軸の加速度情報（アナログ出力）を読み込み、ＡＤＣ（Ａ／Ｄコンバータ）１２にてデジタル信号に変換する（ステップＳ５０１）。ＥＣ５は、加速度センサー４より取得したＸ軸、Ｙ軸、Ｚ軸の各々の加速度情報に対してローパスフィルタにて低周波成分を取り出す（ステップＳ５０２）。ＥＣ５は、加速度センサー４より取得したＸ軸、Ｙ軸、Ｚ軸の各々の加速度情報から、ローパスフィルタにて取得した低周波成分を引いて高周波成分を取り出す（ステップＳ５０３）。
【００９９】
ＥＣ５は、リッド開閉検出部１０の出力をもとにリッドの閉操作が発生したかどうかを判断する（ステップＳ５０４）。リッドの閉操作の発生が判断されない場合（ステップＳ５０４のＮＯ）、ＥＣ５は続いてキーボード９のキー押下の発生の有無を判断し（ステップＳ５０５）、キーボード９のキー押下の発生も判断されない場合には（ステップＳ５０５のＮＯ）、高周波成分の加速度値が通常時用の閾値を超えているかどうかの振動衝撃判断処理をＥＣ５は行う（ステップＳ５０６）。
【０１００】
また、ステップＳ５０４で、リッドの閉操作の発生が判断された場合には（ステップＳ５０４のＹＥＳ）、高周波成分の加速度値がリッド閉時用の閾値を超えているかどうかの振動衝撃判断処理をＥＣ５は行う（ステップＳ５０７）。さらに、ステップＳ５０５で、キーボード９のキー押下の発生が判断された場合には（ステップＳ５０５のＹＥＳ）、高周波成分の加速度値がキー押下時用の閾値を超えているかどうかの振動衝撃判断処理をＥＣ５は行う（ステップＳ５０８）。
【０１０１】
ステップＳ５０６、ステップＳ５０７、ステップＳ５０８の振動衝撃判断処理で高周波成分の加速度値が閾値を超えていることが判断された場合には（ステップＳ５０９のＹＥＳ）、ＥＣ５は振動モードの判断処理を行う（ステップＳ５１０）。例えば、ある一定時間（Ａｍｓｅｃ）内に一定回数（Ｂ回）以上、衝撃・振動閾値をオーバーした場合には「振動モード」であることを判断し、その他の場合には「通常モード」であることを判断する。ＥＣ５は「通常モード」であることを判断した場合には（ステップＳ５１２のＮＯ）、ユーティリティ・ソフトウェア１３に対して「ＨＤＤ３への磁気ヘッド退避コマンドの発行依頼」を行う（ステップＳ５１３）。
【０１０２】
一方、振動衝撃判断処理で高周波成分の加速度値が閾値を超えていないことが判断された場合には（ステップＳ５０９のＮＯ）、ＥＣ５は振動モードの解除判断処理を行う（ステップＳ５１１）。すなわち、振動モード中においては高周波成分の加速度値が閾値を超えていないことが判断された場合には「振動モード」を解除して「通常モード」に変更する。「通常モード」の場合にはそのまま「通常モード」を維持する。
【０１０３】
振動衝撃判断処理で高周波成分の加速度値が閾値を超えていない場合（ステップＳ５０９のＮＯ）、または、ステップＳ５１２でＥＣ５が「振動モード」であることを判断した場合には（ステップＳ５１２のＹＥＳ）、ＥＣ５は無重力の判断処理、すなわち既述した重力成分の変動に関わる判断処理のその１（無重力検知）およびその２(持ち運び発生検知）を行う（ステップＳ５１４）。ＥＣ５は、この判断により無重力状態であること、または、持ち運びが発生したことを判断すると（ステップＳ５１５のＹＥＳ）、ユーティリティ・ソフトウェア１３に対して「ＨＤＤ３への磁気ヘッド退避コマンドの発行依頼」を行う（ステップＳ５１６）。
【０１０４】
ところで、ＥＣ５でハイパスフィルタによる高周波成分の取得処理を行わず、ローパスフィルタによって取得した加速度情報の低周波成分のみを用いて重力成分の変動に関わる判断処理を行うようにしてもよい。
【０１０５】
図６はこの場合のＥＣ５内部の衝撃・振動判断エンジン１１の全体的な動作の流れを示すフローチャートである。
【０１０６】
ＥＣ５は、加速度センサー４よりＸ軸、Ｙ軸、Ｚ軸の加速度情報（アナログ出力）を読み込み、ＡＤＣ（Ａ／Ｄコンバータ）１２にてデジタル信号に変換する（ステップＳ６０１）。ＥＣ５は、加速度センサー４より取得したＸ軸、Ｙ軸、Ｚ軸の各々の加速度情報に対してローパスフィルタにて低周波成分を取り出す（ステップＳ６０２）。続いて、ＥＣ５は、ローパスフィルタにて取得した加速度情報の低周波成分をもとに重力成分の変動に関わる判断処理を行う（ステップＳ６０３）。このときの重力成分の変動に関わる判断処理は、たとえば、既述した重力成分の変動に関わる判断処理のその１（無重力検知）において、２．の条件を満足した場合に無重力状態であると判断すること、などによって行うことが可能である。ＥＣ５は、この判断により無重力状態であることを判断すると（ステップＳ６０４のＹＥＳ）、ユーティリティ・ソフトウェア１３に対して「ＨＤＤ３への磁気ヘッド退避コマンドの発行依頼」を行う（ステップＳ６０５）。
【０１０７】
次に、この衝撃・振動の感度変更の詳細を説明する。
【０１０８】
反応感度を高くしたい場合には、ハイパスフィルタ処理後の値に対する閾値を低くし、逆に、反応感度を低くしたい場合には閾値を高くすればよい。本実施形態のノート型ＰＣ１００には、このような閾値の変更（感度変更）を行うためのＭＭＩ（マンマシンインタフェース）がユーティリティ・ソフトウェア１３によって実現されている。
【０１０９】
図７は、このＭＭＩの表示画面７１の例を示している。このＭＭＩ表示画面７１では、閾値の変更（感度レベルの変更）を「保護レベル設定」として行うことができ、保護レベル（感度レベル）としては、感度の低いものから「感度低（動作優先）」「感度中（標準設定）」「感度高（保護優先）」の３段階がある。保護レベル（感度レベル）の設定は、希望するレベルに対応するラジオボタン７２をマウスなどでクリックすることによって行われる。ユーティリティ・ソフトウェア１３は、このようなＭＭＩ表示画面７１でユーザによって設定された情報をＨＤＤ３などの記憶部に記憶する。
【０１１０】
ユーティリティ・ソフトウェア１３は、記憶された設定情報をもとに衝撃・振動判断エンジン１１に対して、閾値切り替え依頼を発行する。衝撃・振動判断エンジン１１はユーティリティ・ソフトウェア１３から閾値切り替え依頼を受け取った場合に、閾値を切り替える。
【０１１１】
さらに、ＭＭＩ表示画面７１には、３軸のそれぞれの衝撃レベルをレベルメータなどでリアルタイムで表示する衝撃レベル表示部７３が設けられている。この衝撃レベル表示部７３には、設定された閾値のレベルメータ上の位置が色などによって強調された線７４で表示されており、検出された衝撃レベルが設定された閾値と対比して視覚的に確認できるようになっている。これにより実際にノート型ＰＣ１００を動かすなどしてユーザに合った最適な感度を設定しやすいようになっている。
【０１１２】
また、ユーティリティ・ソフトウェア１３は、磁気ヘッド退避コマンドを発行した場合に、「ヘッド退避処理を行いました」等の表示をおこなうことによって、イベントの発動をユーザに伝えるとより効果的である。
【０１１３】
図８は、ユーティリティ・ソフトウェア１３による感度管理、および、衝撃レベル表示に関する処理のフローチャートである。
【０１１４】
ユーティリティ・ソフトウェア１３は、ユーザー操作による感度レベルの変更が発生したかどうかを確認する（ステップＳ８０１）。ユーザー操作による感度レベルの変更があった場合、その変更先の感度レベル（感度低／感度中／感度高）の情報を含む感度変更依頼をＥＣ５に通知する（ステップＳ８０２）。次に、ユーティリティ・ソフトウェア１３は、ＥＣ５に対して感度レベルに対応する閾値の問い合わせることによって、現在設定されている感度レベルに対応する閾値をＥＣ５より取得して衝撃レベル表示部７３にその閾値の線７４を表示する（ステップＳ８０３）。図９に、ここまでのユーティリティ・ソフトウェア１３とＥＣ５との間の通信シーケンスを示す。
【０１１５】
ユーティリティ・ソフトウェア１３は、一定の周期（例えば１００ｍｓｅｃ）（ステップＳ８０４）、ＥＣ５からＸ軸、Ｙ軸、Ｚ軸の各々の加速度値のデータを取得し（ステップＳ８０５）、衝撃レベル表示部７３の衝撃レベルの表示を更新する（ステップＳ８０６）。ＥＣ５は、Ｘ軸、Ｙ軸、Ｚ軸の各々の加速度値の問い合わせを一定の周期で受けて、過去一定期間に検知されたＸ軸、Ｙ軸、Ｚ軸の各々の加速度値の最大値をユーティリティ・ソフトウェア１３に応答する。このときのユーティリティ・ソフトウェア１３とＥＣ５との間の通信シーケンスを図１０に示す。
【０１１６】
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【０１１７】
【図１】本実施形態のノート型ＰＣのハードウェアのブロック図。
【図２】図１のノート型ＰＣの機能ブロック図
【図３】図１のノート型ＰＣのＥＣと加速度センサーとの接続を示す図。
【図４】ＨＤＤの磁気ヘッドの退避時の表示メッセージを示す図。
【図５】ＥＣ内部の衝撃・振動判断エンジンの全体的な動作の流れを示すフローチャート。
【図６】加速度情報の低周波成分のみを用いて振動衝撃の判断処理を行う場合の動作の流れを示すフローチャート。
【図７】感度設定および衝撃レベル表示を行うＭＭＩ表示画面の例を示す図。
【図８】ユーティリティ・ソフトウェアによる感度管理および衝撃レベル表示に関する処理のフローチャート。
【図９】ユーティリティ・ソフトウェアとＥＣとの間の通信シーケンスを示す図。
【図１０】ユーティリティ・ソフトウェアとＥＣとの間の別の通信シーケンスを示す図。
【符号の説明】
【０１１８】
３      ＨＤＤ
４      加速度センサー
５      ＥＣ
８      表示部
９      キーボード
１０      リッド開閉検出部
１１      振動判断エンジン
１３      ユーティリティ・ソフトウェア
１４      フィルタドライバ
７１      ＭＭＩ表示画面
７３      衝撃レベル表示部
１００      ノート型ＰＣ
【図１】
0004428342.tif 000002
【図２】
0004428342.tif 000003
【図３】
0004428342.tif 000004
【図４】
0004428342.tif 000005
【図５】
0004428342.tif 000006
【図６】
0004428342.tif 000007
【図７】
0004428342.tif 000008
【図８】
0004428342.tif 000009
【図９】
0004428342.tif 000010
【図１０】
0004428342.tif 000011