(57)【要約】【課題】  自由落下を検出した場合にディスク装置の保護動作をより迅速に実行できるようにした情報処理装置を提供する。【解決手段】  本発明の情報処理装置は、データの書込み或いは読込み等のコマンドをディスク装置１０２へ出力するコマンド出力手段と、そのディスク装置１０２に設けられた記憶領域にて一時保存されるコマンド数を設定するコマンド数設定手段と、加速度センサ１１４により検出される加速度信号に基づいて落下判定を行う落下判定手段と、落下判定手段により落下と判定された場合に、ディスク装置のヘッドを退避させる退避コマンドをディスク装置へ出力する退避コマンド出力手段とを備える。コマンド数設定手段は、退避コマンドが有効に出力されるモードにおいて、ディスク装置１０２の記憶領域に一時保存されるコマンド数の設定を退避コマンドが無効にされている場合に比較して減らす。【選択図】      図１
2007134000.tif 000002
【特許請求の範囲】
【請求項１】
データの書込み或いは読込み等のコマンドをディスク装置へ出力するコマンド出力手段と、
前記ディスク装置に設けられた記憶領域にて一時保存されるコマンド数を可変制御するコマンド数制御手段と、
加速度センサにより検出される加速度信号に基づいて落下判定を行う落下判定手段と、
前記落下判定手段により落下と判定された場合に、前記ディスク装置のヘッドを退避させる退避コマンドをディスク装置へ出力する退避コマンド出力手段と、
を備え、前記コマンド数制御手段は、前記退避コマンド出力手段が機能し、退避コマンドが有効に出力されるモードでは、前記ディスク装置の記憶領域に一時保存されるコマンド数を前記退避コマンド出力手段が無効にされている場合に比較して減らすことを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、前記退避コマンド出力手段は、前記ディスク装置の記憶領域にて一時保存されている全てのコマンドの実行後に前記退避コマンドをディスク装置に出力することを特徴とする情報処理装置。
【請求項３】
請求項１記載の情報処理装置において、前記落下判定手段は、加速度センサにより検出された加速度信号が略ゼロとなる状態が所定時間以上継続した場合に落下と判定することを特徴とする情報処理装置。
【請求項４】
データの書込み或いは読込み等のコマンドをディスク装置へ出力するステップと、
前記ディスク装置に設けられた記憶領域にて一時保存されるコマンド数を可変制御するステップと、
加速度センサにより検出される加速度信号に基づいて落下判定を行う落下判定ステップと、
前記落下判定ステップにより落下と判定された場合に、前記ディスク装置のヘッドを退避させる退避コマンドをディスク装置へ出力する退避コマンド出力ステップと、
前記退避コマンド出力ステップの機能が有効にされている場合に、前記ディスク装置の記憶領域に一時保存されるコマンド数を前記退避コマンド出力ステップの機能が無効にされている場合に比較して減らすステップと、
を備えたことを特徴とする情報処理装置の制御方法。
【請求項５】
請求項４記載の情報処理装置の制御方法において、前記退避コマンド出力ステップは、前記ディスク装置の記憶領域にて一時保存されている全てのコマンドの実行後に前記退避コマンドをディスク装置に出力することを特徴とする情報処理装置の制御方法。
【請求項６】
請求項４記載の情報処理装置の制御方法において、前記落下判定ステップは、加速度センサにより検出された加速度信号が略ゼロとなる状態が所定時間以上継続した場合に落下と判定することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク装置を制御する情報処理装置に関し、特にディスク装置へのアクセス要求を緊急度に応じて制御するようにしたものに関する。
【背景技術】
【０００２】
一般に、パーソナルコンピュータ（ＰＣ）のような情報処理装置に於いては、所定のアプリケーションプログラムにより種々の処理を実行させるため、必要なデータをＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等のディスク装置に記憶させている。
【０００３】
このような情報処理装置では、その主な制御を司る上位の計算機（ＣＰＵ）が、アプリケーションプログラム（サービス）の処理に合わせて必要なデータをディスク装置から読み出し、また演算結果を保存するためにメモリアクセスを行う。ディスク装置は、このメモリアクセスを受信すると、読み出し要求であれば、該当するデータが記憶されているディスクよりデータを読み出し、読み出し要求を出した上位の計算機へ送信する。また逆に、書込み要求であれば、書込み要求に含まれる論理アドレスから物理アドレスを求め、該当するディスクに対して書込み処理を実行する。なお、ディスク装置は、上位計算機からのメモリアクセスを受信すると、この要求を一旦メモリにキューイングし、保持した順番に従って処理を行っている。
【０００４】
しかし上位計算機からのメモリアクセスを一旦メモリにキューイング保存し、保存した順序に従って処理するため、上位計算機で実行されているサービスの重要度や緊急度にばらつきがない状況では、特に問題を生じることはないが、緊急度の高いサービスを実行している場合には先に受信したメモリアクセスの処理が終了するまで緊急度の高い処理が待たされることになるため、サービスの質の低下を引き起こすことになってしまう。
【０００５】
そのため、上位計算機で実行されるサービスの重要度や緊急度に応じたメモリアクセスの優先処理を可能としたディスク装置が考えられている。（例えば、特許文献１参照）
【０００６】
また、ＮＣＱ（Ｎａｔｉｖｅ  Ｃｏｍｍａｎｄ  Ｑｕｅｕｉｎｇ）機能によってデータの読み書きの順番を最適化する技術もある。
また、このようなディスク装置を備えた情報処理装置において、その落下をセンサで検出し、ディスク装置におけるディスクへの書込み／読出し用のヘッドをディスク面上から退避させ、ディスクとヘッドとの物理的な接触によるディスク上のデータ損失を防ぐようにした、所謂「ＨＤＤプロテクション」という技術がある。これは、加速度センサで検出される加速度を監視し、落下重力加速度を検出した場合にヘッドをディスク面上から外に退避させるというものである。（例えば、特許文献２参照）
【特許文献１】特開２００１−２２２３８２
【特許文献２】特開２０００−２４１４４２
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、加速度センサによって落下検出が行われ、ディスク装置に対して退避コマンドが出力されても、ディスク装置内部のメモリにキューイングされてしまい、ヘッド回避のコマンドが落下前までに実行されず、結果としてＨＤＤプロテクションの機能が有効に働かない可能性がある。
【０００８】
そこで本発明では、落下検出した場合にディスク装置の保護動作をより迅速に実行されるようにした情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の情報処理装置は、データの書込み或いは読込み等のコマンドをディスク装置へ出力するコマンド出力手段と、前記ディスク装置に設けられた記憶領域にて一時保存されるコマンド数を可変制御するコマンド数設定手段と、加速度センサにより検出される加速度信号に基づいて落下判定を行う落下判定手段と、前記落下判定手段により落下と判定された場合に、前記ディスク装置のヘッドを退避させる退避コマンドをディスク装置へ出力する退避コマンド出力手段とを備え、前記コマンド数制御手段は、前記退避コマンド出力手段が機能し、退避コマンドが有効に出力されるモードでは、前記ディスク装置の記憶領域に一時保存されるコマンド数を前記退避コマンド出力手段が無効にされている場合に比較して減らすことを特徴とするものである。
【００１０】
また、本発明の情報処理装置の制御方法は、データの書込み或いは読込み等のコマンドをディスク装置へ出力するステップと、前記ディスク装置に設けられた記憶領域にて一時保存されるコマンド数を制御するステップと、加速度センサにより検出される加速度信号に基づいて落下判定を行う落下判定ステップと、前記落下判定ステップにより落下と判定された場合に、前記ディスク装置のヘッドを退避させる退避コマンドをディスク装置へ出力する退避コマンド出力ステップと、前記退避コマンド出力ステップの機能が有効にされている場合に、前記ディスク装置の記憶領域に一時保存されるコマンド数を前記退避コマンド出力ステップの機能が無効にされている場合に比較して減らすステップとを備える。
【発明の効果】
【００１１】
本発明によれば、落下検出した場合にディスク装置の保護動作をより迅速に実行されるようにした情報処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の情報処理装置について、図面を参照しながら説明する。
【実施例１】
【００１３】
図１は、本発明の情報処理装置の第１の実施例であるノートＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１０のシステム構成を示す図である。ノートＰＣ１０は、各種部品が実装される基板１０１と、この基板１０１にケーブル（ＳＡＴＡケーブル）を介して接続されるディスク装置（以下ＨＤＤと言う）１０２と、液晶表示装置（以下ＬＣＤと言う）１０３と、文字入力を行うための入力装置であるキーボード１０４と、これらに電源を供給する電源部１０５とから構成されている。
【００１４】
基板１０１には、ＰＣ１０全体の動作の制御を行うＣＰＵ１１０と、メインメモリ１１１と、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）メモリ１１２と、インターネット１１やＬＡＮと電子メールやデータを送受信するためのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）デバイス１１３と、ＰＣ１０自体の加速度を検出する加速度センサ１１４と、ＨＤＤ１０２とのデータやコマンドの授受を行うＳＡＴＡコントローラ１１５とが設けられている。ＣＰＵ１１０は、ＢＩＯＳメモリ１１２に記憶された各種プログラムを実行したり、ＨＤＤ１０２に記憶されたオペレーティングシステムに従ってＰＣ１０全体の動作を制御するプロセッサである。メインメモリ１１１は、ＨＤＤ１０２に記憶されたオペレーティングシステムやアプリケーションプログラム、デバイスドライバがシステム起動時に展開されて記憶されるメモリであり、ＨＤＤ１０２のデバイスドライバであるＨＤＤドライバ１１６、加速度センサ１１４のデバイスドライバであるセンサドライバ１１７がＨＤＤ１０２からメインメモリ１１１に展開される。ＢＩＯＳメモリ１１２は、電源部１０５によりシステムが起動した際に、接続される各種ハードウエアデバイスの初期化処理、メインメモリ１１１のメモリ容量チェック等を実行する各種プログラムを記憶するメモリである。ＬＡＮデバイス１１３は、インターネット１１やＬＡＮへ接続し、電子メールやデータを送受信する通信デバイスモジュールである。加速度センサ１１４は、ＰＣ１０本体に設けられ、ＰＣ１０が静止しているときには重力を検知して重力の加速度成分信号を出力し、自由落下時には略ゼロの加速度成分信号を出力するものである。ＨＤＤドライバ１１６は、ＣＰＵ１１０が実行するアプリケーションプログラム等に基づく指示に従ってデータの書込み、或いはデータの読み込み等の指示コマンドをＳＡＴＡコントローラ１１５を介してＨＤＤ１０２に出力する。またＨＤＤ１０２に内蔵されるメモリに一時保存（キューイング）されるコマンドの数を設定するコマンド設定信号を出力し、一時保存されるコマンド数の上限を可変設定する。ＨＤＤ１０２よりコマンドが実行される度に、ＨＤＤ１０２で一時保存されるコマンド数の上限に達するまで書込みコマンド或いは読み出しコマンドをＨＤＤ１０２に出力する。センサドライバ１１７は、加速度センサ１１４よりの加速度信号を２０ｍｓ周期で監視し、重力の加速度成分信号を出力しているのか、自由落下の加速度成分信号、つまり略ゼロの加速度成分信号を出力しているのかを監視する。自由落下の加速度成分信号である略ゼロの信号を所定期間、例えば１００ｍｓ継続（略ゼロの加速度成分信号を６回連続で検出）した場合に落下判定信号をＨＤＤドライバ１１６に出力する。
【００１５】
次にＨＤＤ１０２（ディスク装置）の構成について図２を用いて説明する。
ＨＤＤ１０２は、ＳＡＴＡコントローラ１１５とＳＡＴＡケーブルで接続され、コマンドやデータの送受信を司るインターフェイス２０１と、ＨＤＤ１０２全体の制御を司るＣＰＵ２０２と、ＨＤＤドライバ１１６より出力されるコマンドを一時保存（キューイング）するメモリ２０３と、データを記録する磁気ディスク２０４と、磁気ディスク２０４にデータを書込み或いは磁気ディスク２０４よりデータを読み出すための磁気ヘッド２０５と、この磁気ヘッド２０５を移動動作させるアクチュエータ２０６とから構成されている。インターフェイス２０１は、ＳＡＴＡケーブルを介してＨＤＤドライバ１１６からの磁気ディスク２０４への書込みコマンド、読み込みコマンドを入力したり、磁気ディスクから読み出したデータをＨＤＤドライバ１１６に出力するためのＳＡＴＡコントローラ１１５とのインターフェイスである。ＣＰＵ２０２は、メモリ２０３に一時保存されたコマンドを順に実行し、磁気ディスク２０４へのデータの書込み、或いはデータの読込み処理を行わせる。また、ＨＤＤドライバ１１６より磁気ヘッドの退避コマンドを受けた場合には、それに従ってアクチュエータ２０６を駆動制御し、磁気ヘッド２０５を磁気ディスク上から外れた退避領域（図２の点線で示した状態）に移動させるよう制御するものである。メモリ２０３は、ＨＤＤドライバ１１６からの磁気ディスク２０４への書込みコマンド、読み込みコマンド或いは退避コマンド等を一時的に保存（キューイング）する記憶領域を有し、通常は３２個のコマンドを上限として一時保存する。但し、ＨＤＤドライバ１１６よりその上限を下げるよう指示を受けた場合にはそれに従って一時保持するコマンド数が変更設定される。例えば、センサドライバ１１７による加速度センサ１１４の監視が周期的に実行されている、つまり自由落下時にヘッド退避を行うＨＤＤプロテクションが機能している場合にはメモリ２０３に一時保存されるコマンドを４個とし、ユーザによってＨＤＤプロテクションの機能が無効に設定されている場合にはメモリに一時保存されるコマンドを３２個として磁気ディスク２０４への書込み或いは読み出しの処理速度を優先させる。磁気ディスク２０４は、ＰＣ１０が実行するアプリケーションプログラムや、そのプログラムが必要とするデータ等を記憶するものである。磁気ヘッド２０５は、磁気ディスク２０４へのデータ書込み（記録）或いはデータの読出し（再生）を行うものである。アクチュエータ２０６は、磁気ディスク２０４へのデータの書き込み位置、或いはデータの読出し位置に応じて磁気ヘッド２０５を移動駆動させるものであり、退避コマンドを受けた時には磁気ヘッド２０５を磁気ディスク２０４上から外れた退避領域（図２の点線で示した状態）に移動させる。
【００１６】
以上のように構成されたＰＣ１０の加速度センサ１１４およびセンサドライバ１１７による落下判定処理について図３のフローチャート図を用いて説明する。
まず、ユーザによりＨＤＤプロテクション機能が有効に設定されているかどうかがチェックされ（ステップ３０１）、有効に設定されている場合には、センサドライバ１１７は２０ｍｓ経過したか否かを判断し（ステップ３０２）、２０ｍｓを経過している場合には加速度センサ１１４からの加速度成分信号を入力する（ステップ３０３）。つまり、センサドライバ１１７は、２０ｍｓ間隔で加速度センサ１１４から出力される加速度成分信号を入力する。次に、入力した加速度成分信号が略ゼロか否かを判断し、具体的には重力加速度Ｇが−０．２５から０．２５までの間であるか否かを検出する（ステップ３０４）。これにより自由落下状態であるかを判断する。ちなみにＰＣ１０の静止状態では重力加速度Ｇは１（Ｇ＝１）として出力される。ステップ３０４にて重力加速度が略ゼロであると検出された場合には、その検出回数が６回に達したか否か、６回連続して重力加速度略ゼロが検出されたか否か、つまり１００ｍｓ以上継続して略ゼロの状態が継続したか否かが判定され（ステップ３０５）、６回連続して検出された場合には落下と判定し、落下判定信号をＨＤＤドライバ１１６に出力する。ここで、６回連続して、つまり１００ｍｓ以上継続して自由落下状態を検出して落下判定しているのは、ＰＣ１０をユーザが持ち運ぶ際に瞬時に発生する加速度略ゼロの状態を自由落下であると判断してしまうことを極力防ぐようにするためである。もちろん、安全性を考慮して、自由落下状態の継続検出時間を１００ｍｓより短い時間に設定しても良い。また、ＰＣ１０が損壊に至る落下距離を予め計算し、その落下距離に相当する落下時間との関係から継続検出時間を設定しても良い。あまり落下時間に近い時間に継続検出時間を設定すると、磁気ヘッド２０５を退避領域に退避させる時間が確保できなくなるため、その時間も考慮すべきである。
【００１７】
尚、ＨＤＤプロテクション機能の有効／無効設定は、ＰＣ１０の筐体に設けられるスライド式のハードウエアスイッチでも良いし、アプリケーションプログラム（ソフトウエア）により実現されても良い。オン／オフスライド式のハードウエアスイッチの場合にはそのスイッチがオン状態とされた場合にセンサドライバ１１７が動作し、加速度センサ１１４からの加速度成分信号を監視する。一方、アプリケーションプログラム（ソフトウエア）で実装された場合には、そのプログラムが起動されている場合、センサドライバ１１７が動作し、加速度センサ１１４からの加速度成分信号を監視する。
【００１８】
次に、ＰＣ１０のＨＤＤドライバ１１６によるＨＤＤプロテクション機能動作について図４のフローチャート図を用いて説明する。
まず、ユーザによりＨＤＤプロテクション機能が有効に設定されているかどうかがチェックされ（ステップ４０１）、有効である場合には、ＨＤＤ１０２のメモリ２０３へ一時的に保存（キューイング）されるコマンド数の上限を「４」に設定する(ステップ４０２)。ＨＤＤドライバ１１６は、そのコマンド数が上限となるよう、ＨＤＤ１０２にて実行処理されるコマンドを監視し、ＨＤＤ１０２側でメモリ２０３内に一時記憶されたコマンドが実行処理されていく度に書込み／読出しコマンドをＨＤＤ１０２に出力し、常に設定したコマンド数の上限を超えないようコマンドの出力を制御する。ステップ４０１で、ＨＤＤプロテクション機能が無効に設定されている場合、つまりセンサドライバ１１７も機能動作していない場合には、ＨＤＤ１０２のメモリ２０３へ一時的に保存（キューイング）されるコマンド数の上限を「３２」に設定する(ステップ４０３)。
【００１９】
このようにコマンド数の上限が設定された状態で次にセンサドライバ１１７より、落下判定信号を入力しているか否かが監視される（ステップ４０４）。センサドライバ１１７より落下判定信号を入力した場合には、ＨＤＤ１０２のメモリ２０３へ一時的に保存（キューイング）されているコマンドが全て実行処理されるまでＨＤＤ１０２への新たなコマンドの出力を停止する。そしてメモリ２０３内の全てのコマンドが実行されたか否かを監視し（ステップ４０５）、メモリ２０３内の全てのコマンド、つまり最高でも４つのコマンドが処理されたことを確認してから磁気ヘッド２０５の退避コマンドをＨＤＤ１０２に出力する（ステップ４０６）。ＨＤＤ１０２ではその退避コマンドをインターフェース２０１を介して受信し、メモリ２０３に一時保存した後、ＣＰＵ２０２によるそのコマンドの実行処理によりアクチュエータ２０６が動作され、磁気ヘッド２０５が磁気ディスク２０４上から外れた退避領域に退避することとなる。
【００２０】
尚、コマンド数の上限は低く設定するほど磁気ディスク２０４への記録或いは再生の速度は低下する。従って、ＰＣ１０が損壊に至る落下距離から算出される落下時間と、落下検出時間を考慮し、さらにコマンドの処理時間を考慮することにより最適なコマンド数の上限を決めることができる。例えばＰＣ１０が損壊に至る落下距離から算出される落下時間が３００ｍｓであり、落下を検出する時間として１００ｍｓが必要であれば、残る２００ｍｓで処理できるコマンド数を計算し、そのコマンド数より少ない数を上限に設定すれば良い。
【００２１】
以上本実施例によれば、ＨＤＤプロテクション機能が有効に設定されている場合にはＨＤＤ１０２のメモリ２０３にキューイングされるコマンド数の上限を減らすようＨＤＤドライバ１１６が制御するため、自由落下を検出して磁気ヘッド２０５の退避コマンドをＨＤＤ１０２に出力する場合にその退避コマンドをＨＤＤ１０２側でより早く実行させることが可能となる。そのため、ＨＤＤ１０２側で退避コマンドの実行が遅れることによって磁気ヘッド２０５の退避が遅れ、ＨＤＤプロテクション機能が有効に働かないという不都合を解消することができる。また、ＨＤＤプロテクション機能が働いていないとき（無効に設定されているとき）には、磁気ディスク２０４へのデータアクセス速度を優先し、メモリ２０３にキューイングされるコマンド数を、ＨＤＤプロテクション機能が働いている場合に比べて増やすようにしているので、ユーザの使用環境に合わせた使い勝手の良い利用方法を提供することができる。
【００２２】
また、センサドライバ１１７では、重力加速度Ｇが略ゼロとなる状態が所定時間継続した場合に自由落下状態であると判定するようにしているので、ユーザがＰＣ１０を移動させる場合、或いは小さい衝撃等で自由落下と判定して磁気ヘッド２０５を退避させるといった動作も極力減らすことができる。これによりヘッド退避によってデータアクセス時間が長くなりユーザの利便性を損ねたり、磁気ヘッド２０５やアクチュエータ２０６の耐久性を損ねることも防ぐことができる。
【００２３】
尚本実施例では、ＨＤＤドライバ１１６がメモリ２０３に一時保存されるコマンド数の上限を制御しているが、ＳＡＴＡコントローラ１１５が同様の制御をしても良いし、ＨＤＤ１０２のＣＰＵ２０２が、メモリ２０３に予め記憶されたファームウエア等を実行することにより制御するものであっても良い。このような場合には、ＨＤＤドライバ１１６は、ＳＡＴＡコントローラ１１５或いはＨＤＤ１０２に対してコマンド数の上限を指示し、それぞれＳＡＴＡコントローラ１１５或いはＨＤＤ１０２のＣＰＵ２０２がその上限を超えないようにメモリ２０３内にキューイングされるコマンド数を制御する。
【００２４】
また、本実施例では加速度センサ１１４は基板１０１に設けられている例で説明しているが、ＰＣ１０の筐体或いはＨＤＤ１０２に設けるようにしても良い。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施例に係る情報処理装置のシステム構成を示すブロック図である。
【図２】本発明の第１の実施例に係る情報処理装置のディスク装置の概略構成を示す図である。
【図３】本発明の第１の実施例に係る情報処理装置の落下検出動作を示す動作フローチャート図である。
【図４】本発明の第１の実施例に係る情報処理装置のＨＤＤプロテクション機能を説明する動作フローチャート図である。
【符号の説明】
【００２６】
１０・・・コンピュータ
１０２・・・ＨＤＤ
１１０・・・ＣＰＵ
１１１・・・メインメモリ
１１４・・・加速度センサ
１１５・・・ＳＡＴＡコントローラ
１１６・・・ＨＤＤドライバ
１１７・・・センサドライバ
２０２・・・ＣＰＵ
２０３・・・メモリ
２０４・・・磁気ディスク
２０５・・・磁気ヘッド
【図１】
2007134000.tif 000003
【図２】
2007134000.tif 000004
【図３】
2007134000.tif 000005
【図４】
2007134000.tif 000006