(57)【要約】【課題】情報処理装置から機器が取り外されたことの誤認識を防ぐことである。【解決手段】情報処理装置は取り外しが可能な機器を収容する収容部を備える。情報処理装置は、機器と収容部との間の接続の変化を検出し、変化を検出したことを示す信号を出力する第一の検出モジュールと、情報処理装置に設けられた加速度を検出し、加速度情報を出力する第二の検出モジュールと、信号と加速度情報とから機器と情報処理装置との間の接続の状態を判定する制御部とを有する。【選択図】図１
2009043170.tif 000002
【特許請求の範囲】
【請求項１】
取り外しが可能な機器を収容する収容部を備えた情報処理装置であって、
該機器と該収容部との間の接続の変化を検出し、該変化を検出したことを示す信号を出力する第一の検出モジュールと、
該情報処理装置に設けられた、加速度を検出し加速度情報を出力する第二の検出モジュールと、
該信号と該加速度情報とから該機器と該情報処理装置との間の接続の状態を判定する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
該機器と該収容部との間の接続の変化は、該機器を取り外したときの変化であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
該第一の検出モジュールから該機器が該情報処理装置から取り外された旨の情報を取得し、該第二の検出モジュールから該機器が該情報処理装置から取り外されるときの加速度の情報を取得したときに該接続の状態に変化があったと判定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
第二の検出モジュールが検出する加速度は、該機器の取り付けまたは取り外しの方向であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
該機器は記録媒体であることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
取り外しが可能な機器を収容する収容部と、該機器と該収容部との間の接続の変化を検出すると該変化を検出したことを示す信号を出力する検出モジュールと、加速度センサとを備えた情報処理装置の制御方法であって、
該加速度センサの該加速度情報を取得し、
該信号と該加速度情報とから該機器と該情報処理装置との間の接続の状態を判定する
ことを特徴とする情報処理装置の制御方法。
【請求項７】
取り外しが可能な機器を収容する収容部と、該機器と該収容部との間の接続の変化を検出すると該変化を検出したことを示す信号を出力する検出モジュールと、加速度センサとを備えた情報処理装置に実行させる制御プログラムであって、
該情報処理装置に、
該加速度センサの該加速度情報を取得するステップ、
該信号と該加速度情報とから該機器と該情報処理装置との間の接続の状態を判定するステップ、
を実行させることを特徴とする情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取り外しが可能な機器、例えば、記録媒体、周辺機器の収容が可能な情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置は、種々の記録媒体および種々の周辺機器に接続することが可能である。記録媒体には、例えば、メモリーカードがある。記録媒体にはデータが格納される。利用者が記録媒体を情報処理装置に挿入することにより、情報処理装置は接続した記録媒体からデータを読み出すあるいは記録媒体にデータを格納することが可能となる。情報処理装置は、記録媒体が挿入されている状態か記録媒体が挿入されていない状態かを示す電圧が電源電圧レベルであるかグランドレベルかであるかによって判別する。記録媒体を格納するスロットの端子と記録媒体を制御するコントローラとはプリント配線板上の回路配線を介して電気的に接続する。
【０００３】
しかし、情報処理装置は小型化、集積化がなされており、情報処理の内部の部品の配置は制限を受ける。その結果、部品間が遠い回路配線はノイズの影響を受け易くなる。ノイズの影響を受けると回路配線の電圧値が変化する。電圧値が変化することによって、情報処理装置は状態の誤認識をする場合があった。
【０００４】
従来技術として、以下の文献がある。
【特許文献１】特開２００４−１２７１６７号公報
【特許文献２】特開平０２−１０５２８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、情報処理装置が取り外し可能な機器の接続状態の変化の誤認識を防ぐことである。
【課題を解決するための手段】
【０００６】
本発明の課題を解決する手段は以下となる。第一の解決手段による情報処理装置は取り外しが可能な機器を収容する収容部を備える。情報処理装置は、機器と収容部との間の接続の変化を検出し、変化を検出したことを示す信号を出力する第一の検出モジュールと、情報処理装置に設けられた加速度を検出し、加速度情報を出力する第二の検出モジュールと、信号と加速度情報とから機器と情報処理装置との間の接続の状態を判定する制御部とを有する。
【０００７】
第二の解決手段は、第一の解決手段の機器と収容部との間の接続の変化は、機器を取り外したときの変化であることとする。
【０００８】
第三の解決手段は、第一の解決手段において、第一の検出モジュールから機器が情報処理装置から取り外された旨の情報を取得し、第二の検出モジュールから機器が情報処理装置から取り外されるときの加速度の情報を取得したときに接続の状態に変化があったと判定することとする。
【０００９】
第四の解決手段は、第一の解決手段の第二の検出モジュールが検出する加速度は、機器の取り付けまたは取り外しの方向であることとする。
【００１０】
第五の解決手段は、第二の解決手段の機器は記録媒体であることとする。
【発明の効果】
【００１１】
本発明により、機器が情報処理装置から抜き取られた信号と情報処理装置が受けた加速度とから記録媒体や周辺機器等の抜き出しを判定するため、情報処理装置が取り外し可能な機器の接続状態の変化の誤認識を防ぐことが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の実施の形態を説明する。
情報処理装置の機器は、周辺機器、記録媒体がある。周辺機器は例えばプリンタ装置、イメージスキャナ装置等がある。また、記録媒体は例えば半導体メモリーを内蔵したメモリーカードである。メモリーカードは、例えば、ピー・シー（ＰＣ）カード、エス・ディー（ＳＤ）カード、メモリースティック、エックス・ディーピクチャー（ｘＤ−Ｐｉｃｔｕｒｅ）カードなどがある。また記録媒体は、シー・ディー（ＣＤ）、ディー・ブイ・ディ−（ＤＶＤ）などがある。
【００１３】
本実施例は、情報処理装置の機器として記録媒体を例にして説明する。なお、本実施例は、記録媒体だけでなく、他の周辺機器について適用が可能である。
【００１４】
最初に、本実施例の情報処理装置から記録媒体が抜き出されるときの抜出信号および加速度センサの出力の関係について説明する。図１は、記録媒体が情報処理装置から抜き出された時の状態の説明図である。
【００１５】
第一の検出モジュールは、該記録媒体が該情報処理装置から抜き出されたことを検出する。８１は、抜き出されたことを検出する信号を示す線である。８８は、抜出信号８１のグランドレベル（Ｌｏｗ）を示す破線である。８９は、抜出信号８１の電源電圧レベル（Ｈｉｇｈ）を示す破線である。記録媒体が情報処理装置から抜き出されるとき、抜出信号８１は電源電圧レベルからグランドレベルになる。あるいは、抜出信号８１はノイズの影響によってグランドレベルになる場合もある。８３、８４は、記録媒体が抜出されたときの抜出信号８１の状態である。
【００１６】
第二の検出モジュールは、情報処理装置に取付けられた加速度センサの加速度を検出する。８２は、加速度センサ１８の出力を示す線である。９０は、加速度の変動が無いときの加速度センサの出力を示す破線である。８５は、記録媒体が抜出されたときの加速度センサの出力である。
【００１７】
制御部は、抜出信号と加速度情報とから、記録媒体の挿抜の変化の状態を判断する。
【００１８】
具体的には、制御部は、該第一の検出モジュールから記録媒体が抜き出された旨の情報を取得し、該第二の検出モジュールから該記録媒体が該情報処理装置から抜き出されるときの加速度の情報を取得すると、該記録媒体が該情報処理装置から抜き出されたと判定する。８６は、抜出信号８１がＬｏｗレベルになり、加速度センサ出力８２は変動していない状態である。８７は、抜出信号８１がＬｏｗレベルになり、加速度センサ出力８２が変動し、８５となった状態である。制御部は、状態８７のときに記録媒体が抜出されたと判定する。
【００１９】
上記の処理を実現する情報処理装置について以下に説明する。図２は、本実施例の情報処理装置の構成図である。１は情報処理装置である。情報処理装置１は複数のモジュールを有する。各モジュールは、制御部１１、チップセット（Ｃｈｉｐ  Ｓｅｔ）１２、ロム（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（以下ＲＯＭとする））１３、ラム（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（以下ＲＡＭとする））１４、記憶部１５、入力部１７、加速度センサ１８、割込制御部（Ｉｎｔｅｒｕｐｔ  Ｃｏｎｔｒｏｌｌｅｒ）１９、カードスロット２０、カードコントローラ２１、および出力部２２である。チップセット１２、ロム（ＲＯＭ）１３、ラム（ＲＡＭ）１４、記憶部１５、割込制御部１９、カードコントローラ２１、および出力部２２はバス２３によって接続される。
【００２０】
制御部１１は、ＲＯＭ１３またはＲＡＭ１４に展開された種々のプログラムに従って処理を実行する。制御部１１は例えば、中央演算装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（以下ＣＰＵとする））である。
【００２１】
チップセット１２は、制御部１１とチップセット１２に接続されている各部との接続を制御する。２３−１は、制御部１１とチップセット１２とを接続するバスである。チップセット１２には、ＲＯＭ１３、ＲＡＭ１４、記録部１５、割込制御部１９、カードコントローラ２１及び出力部２２などがバス２３を介して接続されている。
【００２２】
ＲＯＭ１３は、情報処理装置１が機能するために必要なプログラムやパラメータが記録されている。たとえばバイオス（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ（以下ＢＩＯＳとする））が格納される。ＢＩＯＳは、情報処理装置１に接続された周辺機器を制御するプログラムである。ＲＡＭ１４は、制御部１１に実行させるオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（以下ＯＳとする））のプログラムやアプリケーションプログラムの一部が一時的に格納される。
【００２３】
記憶部１５は、情報処理装置１で使用する各プログラムおよび各データが格納される。処理プログラム１６は、記録媒体の取り外しの誤認識を検出する処理を制御部１１に実行させるためのプログラムである。
【００２４】
入力部１７は、例えば、キーボードやマウスなどである。入力部１７は、例えば、情報処理装置１の利用者が所定のコマンドや必要なデータを入力するときに操作する。
【００２５】
加速度センサ１８は、加速度を検出する。加速度センサ１８は、３軸方向の加速度を検出することが可能であるとする。軸は、加速度センサ１８が検出する加速度の方向の直線である。例えば、３つのそれぞれの軸は、加速度センサ１８の縦、横、および高さの方向に対応する。したがって、情報処理装置１に取付けられた加速度センサ１８は、情報処理装置１が受けた加速度を検出することとなる。
【００２６】
一般に加速度センサ１８は、情報処理装置１の落下、あるいは衝撃を検知するためにパーソナルコンピュータに搭載されることが多い。情報処理装置１は、例えばハードディスク装置等に格納されたデータにアクセスしているときに衝撃を検知すると、ハードディスク装置のヘッドをディスク上から退避させる。情報処理装置１は、退避命令をハードディスク装置に送ることにより、ハードディスク装置の故障を防ぐことが可能となる。本実施例の情報処理装置１に搭載された加速度センサ１８は、情報処理装置１の筐体あるいはプリント基板２４を介してカードスロット２０が受けた衝撃を検出する。一般例として、カードスロット２０が受けた衝撃を加速度センサ１８が検出し易い情報処理装置１は、ノート型のパーソナルコンピュータである。ノート型のパーソナルコンピュータ以外の情報処理装置にも本実施例の適用が可能である。
【００２７】
割込制御部１９は、入力部１７および加速度センサ１８が出力した信号を受付ける。割込制御部１９は、受付けた信号をチップセット１２に出力する。
【００２８】
カードスロット２０は、記録媒体を差し込むために情報処理装置１に設けられた溝穴である。カードスロット２０は、記録媒体を収容する収容部である。カードスロット２０は、記録媒体の抜出しあるいは挿入を検出する抜出／挿入検出モジュールである。情報処理装置１は、挿入された記録媒体に対してデータの読書きが可能である。
【００２９】
カードコントローラ２１は、カードスロット２０に差し込まれた記録媒体のデータにアクセスするための制御モジュールである。カードコントローラ２１とカードスロット２０とは、例えば、バス２３−２で接続されている。なお、カードスロット２０はカードコントローラ２１に対して、記録媒体が挿入されたこと、あるいは記録媒体が抜き出されたことを示す信号について送信する。
【００３０】
出力部２２は、例えば、シーアールティー（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ（ＣＲＴ））や液晶ディスプレイ、プラズマディスプレイなどによる表示装置や、スピーカなどの音声出力装置、プリンタ装置などである。
【００３１】
図３は、情報処理装置１が実行するプログラムの構成図である。
【００３２】
本実施例の情報処理装置１が実行するプログラムは、処理アプリケーション３１、オペレーティングシステム（以下ＯＳとする）３２、加速度センサドライバ３３、フィルタドライバ３４、およびカード制御ドライバ３５である。
【００３３】
情報処理装置１の制御部１１は、ＯＳ３２を実行する。ＯＳ３２は、ハードウェアとの間のインターフェースを抽象化してアプリケーションソフトウェアに提供するソフトウェアである。ハードウェアは、例えば、チップセット１２、ＲＯＭ１３、ＲＡＭ１４、記憶部１５、割込制御部１９、カードコントローラ２１、出力部２２等である。アプリケーションソフトウェアは、ＯＳ３２が動作する状態で実行される。
【００３４】
処理アプリケーション３１は、記録媒体４１の挿入あるいは抜き取りを検出するアプリケーションソフトウェアである。本実施例の制御部１１は、処理アプリケーション３１を実行する。
【００３５】
ドライバ（デバイスドライバ）は、ＯＳ３２が情報処理装置１の周辺機器を制御するためのソフトウェアである。加速度センサドライバ３３は、ＯＳ３２が加速度センサ１８により検知された加速度を取得するためのプログラムである。加速度センサ１８は加速度に関係する電圧値を出力する。フィルタドライバ３４は、ＯＳ３２とカード制御ドライバ３５との間を仲介するプログラムである。カード制御ドライバ３５は、ＯＳ３２がカードスロット２０に挿入された記録媒体４１のデータにアクセスするためのプログラムである。ＢＩＯＳ３６は加速度センサ１８から受け取った値を加速度センサドライバ３３に送信する。本実施例の制御部１１は、加速度センサドライバ３３、フィルタドライバ３４、カード制御ドライバ３５を実行する。
【００３６】
本実施例の処理プログラム１６は、以上の処理アプリケーション３１、ＯＳ３２、加速度センサドライバ３３、フィルタドライバ３４、カード制御ドライバ３５、およびＢＩＯＳ３６の少なくとも一つ以上の機能を有する。
【００３７】
ここで、一例として、記録媒体４１に対してデータを書き込む処理について説明する。なお、書き込みとは、データの移動、コピー及び新たなデータの作成をいう。記録媒体４１に対して記憶部１６に格納されたデータの書き込みをするとき、ＯＳ３２はカード制御ドライバ３５に対してデータの書き込み処理を要求（以下、書込要求とする）する。ＯＳ３２からのカード制御ドライバ３５に対する書込要求は、フィルタドライバ２２を介して行われる。ＯＳ３２は書込要求をフィルタドライバ２２に送る。フィルタドライバ２２は書込要求をカード制御ドライバ３５に送る。カード制御ドライバ３５は、書込要求を記録媒体４１の記録領域のアドレスに変換する。カードコントローラ２１は、カード制御ドライバ３５から書込要求を受け取る。カードコントローラ２１は、カードスロット２０に挿入されている記録媒体４１の記憶領域に対してデータの書込み処理を実行する。以上により、ＯＳ３２は記録媒体４１にデータを書き込むことが可能となる。
【００３８】
図４は、カードスロット２０の構成図である。
【００３９】
４１は、カードスロット２０に挿入あるいはカードスロット２０から抜出される記録媒体である。カードスロット２０は記録媒体４１と電気的に接続して、記録媒体４１のデータにアクセスする。
【００４０】
４２および４３は、信号線である。信号線４２はカードスロット２０と記録媒体４１との間の接続状態を示す電圧をカードコントローラ２１に送る。信号線４２の電圧は、図１の抜出信号８１に相当する。カードスロット２０と記録媒体４１との間の接続の状態に変化があると、信号線４２の電圧値が変化する。
【００４１】
４４は、信号線４２に設けられたチャタリング除去回路である。チャタリングは、記録媒体４１がカードスロット２０に挿入あるいは、カードスロット２０から抜き出されたとき、電気信号が断続を繰り返す現象である。チャタリング除去回路４４は、抵抗（Ｒ）４５及びコンデンサ（Ｃ）４６とから構成される。チャタリング除去回路４４は、信号線４２を介してカードコントローラ２１が受信する記録媒体の接続信号のチャタリングを除去する。
【００４２】
４７は、電源である。４８は、抵抗（Ｒ）である。抵抗４８は信号線４２とＶｃｃ電源４７との間に設けられる。Ｖｃｃ電源４７は抜出信号８１の電源電圧レベル（Ｈｉｇｈ）８９となる。４９は、グランド（接地）である。信号線４３はグランド４９に接地される。グランド４９は、抜出信号８１のグランドレベル（Ｌｏｗ）８８となる。信号線４２は、電源４７に接続される。信号線４２とグランド４９との間にコンデンサ２０が設けられる。信号線４２はカードコントローラ２１に接続される。
【００４３】
５１は、記録媒体４１の挿入あるいは取出しを検出するスイッチ（判別回路）である。
スイッチ５１により信号線４２が接地され、図１の抜出信号８１はグランドレベルになる。あるいは、ノイズの影響によって抜出信号８１がグランドレベルになる場合もある。
【００４４】
５２、５３は方向である。方向５２は、記録媒体４１をカードスロット２０に挿入する方向である。利用者が記録媒体４１をカードスロット２０に挿入する場合、記録媒体４１を方向５２に押圧する。記録媒体４１がカードスロット２０内の最深部まで押し込まれると、記録媒体４１はカードスロット２０内の最深部の手前の位置まで戻る。そして、記録媒体４１はカードスロット２０内の最深部の手前の位置でロックされる。カードスロット２０内のロック機能は周知であり、ここではその説明を省略する。カードスロット２０はロックされた状態の記録媒体４１のデータに、電気的にアクセスすることが可能となる。
【００４５】
方向５３は、記録媒体４１をカードスロット２０から取り出す方向である。利用者がカードスロット２０から記録媒体４１を取り出す場合、記録媒体４１を方向５２に押圧する。記録媒体４１がカードスロット２０内の最深部まで押し込まれると、ロックが解除され、記録媒体４１はカードスロット２０から方向５３に飛び出す。
【００４６】
記録媒体４１がカードスロット２０内の最奥部手前でロックされている場合、スイッチ５１において信号線４２と信号線４３とは接触しない。そのため、カードコントローラ２１は信号線４２を介して電源電圧レベル（Ｈｉｇｈ）の信号を受信する。記録媒体４１がカードスロット２０から取り出される場合、あるいは、記録媒体４１がカードスロット２０に挿入される場合、記録媒体４１はカードスロット２０内の最深部まで押し込まれる。記録媒体４１はカードスロット２０内の最深部まで押し込まれると、スイッチ５１において信号線４２と信号線４３とが接触する。そのため、カードコントローラ２１は信号線４２を介してグランドレベル（Ｌｏｗ）の信号を受信する。本実施例では、記録媒体４１がカードスロット２０内の最奥部に到達する度に、信号線４２と信号線４３とが接触し、カードコントローラ２１はグランドレベルの信号を受信する。
【００４７】
図５は、記録媒体４１がカードスロット２０に挿入されている場合のスイッチ５１である。図５は、記録媒体４１がカードスロット２０の最奥部に挿入された状態である。記録媒体４１がカードスロット２０の最奥部に挿入された状態のスイッチ５１は、信号線４２と信号線４３とが接触している状態となる。この結果、カードコントローラ２１にはＬｏｗレベルの電圧が入力されることとなる。
【００４８】
図６は情報処理装置１の内部の構成例である。本実施例の情報処理装置１はノート型のパーソナルコンピュータであるとする。５４、５５、５６は方向を示す。方向５４は、情報処理装置１の幅方向である。方向５５は、情報処理装置１の高さ方向である。方向５６は、情報処理装置１の奥行き方向である。
【００４９】
２４は情報処理装置１のプリント基板である。本実施例では、プリント基板２４上に電源回路２３、カードコントローラ２１、加速度センサ１８、カードコントローラ２０、制御部１１等が実装される構成である。またプリント基板２４上に信号線４２が配線される。
【００５０】
加速度センサ１８は加速度を検出する。加速度センサ１８は方向５４、方向５５、方向５６の３つ方向の加速度を検出するものとする。
【００５１】
４２−１、４２−２はそれぞれ信号線である。２０−１、２０−２はそれぞれカードスロットである。カードコントローラ２１とカードスロット２０−１とは信号線４２−１で電気的に接続する。カードコントローラ２１とカードスロット２０−２とは信号線４２−２で電気的に接続する。
【００５２】
５２−１、５３−１は方向を示す。方向５２−１は記録媒体４１がカードスロット２０−１に挿入される方向である。方向５３−１は記録媒体４１がカードスロット２０−１から抜き出される方向である。
【００５３】
５２−２、５３−２は方向を示す。方向５２−２は記録媒体４１がカードスロット２０−２に挿入される方向である。方向５３−２は記録媒体４１がカードスロット２０−２から抜き出される方向である。
【００５４】
本実施例では、方向５４、方向５２−１、方向５３−１は同じ線分上となるものとする。また、本実施例では、方向５６、方向５２−２、方向５３−２は同じ線分上となるものとする。
【００５５】
２３は、情報処理装置１の電源回路である。電源回路２３は、情報処理装置１の各モジュールが動作するために必要な電源を供給する。カードコントローラ２１は、情報処理装置１の設計の都合上、電源回路２３付近に設置されるものとする。カードコントローラ２１に接続する信号線４２−１、４２−２は電源回路２３の付近に配線される。
【００５６】
ここで信号線４２が受けるノイズについて説明する。ノイズは、例えば、記録媒体４１を挿入するとき、あるいは記録媒体４１を取り外すときのチャタリングである。チャタリングは、チャタリング除去回路４４によって防止することが可能である。また、ノイズは、例えば、他の信号の影響によって生じる場合もある。他の信号の影響によって生じるノイズは、コンデンサによってある程度は、防ぐことが可能である。しかし、小型の情報処理装置では、プリント基板のレイアウトが制限されるため、回路配線が長くなる場合やノイズが発生し易い領域に回路配線をするしかない場合がある。ノイズが発生し易い領域として、電源回路がある。情報処理装置の電流の変動が大きいサスペンドあるいはレジューム等の動作を行うと、ノイズは発生し易くなる。回路配線に制限を受ける場合、コンデンサによってノイズの影響を防ぐことができない場合が生じる。
【００５７】
また、ノイズの発生の原因は、電源回路だけでなく、他の原因もある。例えば、ノイズは作業者から発する静電気によって発生する場合がある。また、ノイズは情報処理装置１の周囲の環境によって発生する場合もある。したがって、信号線４２が情報処理装置１内の電源回路２３に近いこと以外にもノイズの発生の原因がある。ノイズの影響を受けることによって、信号線４２の電圧レベルが瞬間的に下がる。電圧値が下がるとカードコントローラ２１はカードスロット２０の記録媒体４１が、挿入されたあるいは抜き出されたと認識する。
【００５８】
次に、本実施例の情報処理装置１の制御部１１が実行する処理を説明する。制御部１１はＲＡＭ１４、ＲＯＭ１４上の各種のプログラムを実行する。プログラムは、処理アプリケーション３１、ＯＳ３２、加速度センサドライバ３３、フィルタドライバ３４、カード制御ドライバ３５、ＢＩＯＳ３６などである。各プログラムは各プログラムの機能を制御部１１に実行させる。実際の情報処理装置１では制御部１１が各プログラムを実行する。以降の説明では、説明の簡単化のため、処理アプリケーション３１、ＯＳ３２、加速度センサドライバ３３、フィルタドライバ３４、およびカード制御ドライバ３５を動作主体として説明する。
【００５９】
次に、本実施例の加速度センサ１８に関する処理について説明する。ＯＳ３２が加速度センサ１８の出力を直接に検出可能な場合は、加速度センサ１８の出力を取得することが可能である。ＯＳ３２が加速度センサ１８の出力を直接に検出不可能な場合は、以下の処理を実行する。図７は、情報処理装置１の加速度情報の取得処理のフローチャートである。
【００６０】
加速度センサ１８は加速度を検出する（Ｓ０１）。加速度センサ１８は加速度に関係する電圧値を出力する（Ｓ０２）。割込制御部１９が加速度センサ１８の出力を取得するように接続する（Ｓ０３）。割込制御部１９は取得した電圧値から加速度を示す値に変換する（Ｓ０４）。割込制御部１９は加速度の値をＢＩＯＳ３６に送信する（Ｓ０５）。
【００６１】
ＢＩＯＳ３６は、加速度の値を割込制御部１９から取得する（Ｓ０６）。ＢＩＯＳ３６は、加速度の値を加速度センサドライバ３３に送信する（Ｓ０７）。ＢＩＯＳ３６は、加速度の値を受ける適当なモジュールが無いため使用する。したがって、加速度センサドライバ３３が直接に加速度の値を取得できる場合には、ＢＩＯＳ３６は不要である。
【００６２】
加速度センサドライバ３３は、ＢＩＯＳ３６経由で取得した加速度の値を取得する（Ｓ０８）。加速度センサドライバ３３は、ＢＩＯＳ３６経由で取得した加速度の値をテーブルに格納する（Ｓ０９）。
【００６３】
ここで、加速度の値を格納するテーブルについて説明する。図８は、加速度の値の格納テーブル６０である。加速度センサ１８は、加速度センサ１８が方向成分毎に受けている加速度を示す情報を出力する。６１は、方向５４の加速度の値である。６２は、方向５５の加速度の値である。６３は、方向５６の加速度の値である。例えば、加速度センサドライバ３３が取得する値は、加速度センサ１８から取得する値が０から３．０までの範囲で変化し、１．５が加速度の変動がない中央値であるとする。
【００６４】
次に、記録媒体４１を情報処理装置１から抜き出すときの処理について説明する。図９は、記録媒体４１の抜出時のフィルタドライバ３４の処理のフローチャートである。
【００６５】
フィルタドライバ３４は、抜出信号を検出する（Ｓ１１）。記録媒体４１が抜き出されたことを示す抜出信号は、カードコントローラ２１に接続される信号線４２の電圧レベルがＬｏｗになったときに検出される。フィルタドライバ３４は、情報処理装置１のどのスロットの抜出信号かを特定する（Ｓ１２）。
【００６６】
図１０は、カードスロット方向テーブル７０の構成例である。カードスロット方向テーブル７０は例えばＲＡＭ１４上に展開される。カードスロット方向テーブル７０はスロットを特定するための識別番号７１とスロットに対して挿入あるいは抜き出す記録媒体４１の方向７２とから構成する。
【００６７】
フィルタドライバ３４は、加速度の値の取得を要求する状態に変更する（Ｓ１３）。本実施例では、フィルタドライバ３４からＯＳ３２に対して要求を出力する動作は行わないためである。
【００６８】
次に処理アプリケーション３１の処理について説明する。図１１は、処理アプリケーション３１の処理のフローチャートである。処理アプリケーション３１は、フィルタドライバ３４にアクセスする（Ｓ２１）。本実施例の情報処理装置１は、ドライバ側から要求情報を出力しない。そこで処理アプリケーション３１は、例えば、フィルタドライバ３４へのアクセスを定期的に行う。次に、処理アプリケーション３１は、フィルタドライバ３４が加速度の値の取得を要求する状態であるか否かを判別する（Ｓ２２）。
【００６９】
フィルタドライバ３４が加速度の値を要求しない状態の場合（Ｓ２２：Ｎｏ）、処理アプリケーション３１は処理を終了する。例えば、処理アプリケーションは、所定時間の経過後にＳ２１からの処理を再度実行する。
【００７０】
一方、フィルタドライバ３４が加速度の値を要求する状態の場合（Ｓ２２：Ｎｏ）、処理アプリケーション３１は加速度センサドライバ３３にアクセスする（Ｓ２３）。フィルタドライバ３４が加速度の値を要求する状態は、フィルタドライバ３４が記録媒体４１の抜出信号を検出していることを示す。そこで、記録媒体４１の抜出信号を検出したとき情報処理装置１が受けている加速度の値を取得する。処理アプリケーション３１は、加速度センサドライバ３３から加速度の値を取得して、記録媒体４１の抜出があったか否かを判別する（Ｓ２４）。
【００７１】
ここで、処理アプリケーション３１が実行する記録媒体４１の抜出の判別処理について説明する。図１２は、処理アプリケーション３１の抜出判別処理のフローチャートである。処理アプリケーション３１は、記録媒体４１のスロットの方向情報を読み出す（Ｓ３１）。具体的には、処理アプリケーション３１は、抜出信号を検出した記録媒体４１に対応するカードスロット方向テーブル７０の方向情報７２を読み出す。
【００７２】
処理アプリケーション３１は、加速度の変動があった方向を特定する（Ｓ３２）。具体的には、処理アプリケーション３１は、加速度センサドライバ３３に加速度の値の取得を依頼する。加速度センサドライバ３３は加速度の格納テーブル６０に格納された各方向の加速度の値６１、６２、および６３を処理アプリケーション３１に送る。処理アプリケーション３１は、加速度の値が所定値以上となっているか否かを判別する。所定値は、記録媒体４１をカードスロット２０から抜き出すときに情報処理装置１が受ける衝撃の大きさを基準とする。情報処理装置１が受ける衝撃の大きさは、予め実験等で求めておく。処理アプリケーション３１は、所定値以上の加速度の変動を示す方向を特定する。
【００７３】
また、他の構成として、処理アプリケーション３１が、加速度の変動のパターンマッチングによって衝撃を検出する方法もある。格納テーブル６０は、複数の時刻での加速度センサ１８から得られる加速度の値を格納出来るようにする。処理アプリケーション３１は、カードスロット２０から記録媒体４１を取り出すときに生じる加速度の変動の波形を予め記憶しておく。処理アプリケーション３１は、検出した複数の加速度の値のつながりによる波形と予め記憶した加速度の変動の波形とのマッチング処理を行う。処理アプリケーション３１は、波形が合致するときに記録媒体４１の抜出しであると判定する。
【００７４】
処理アプリケーション３１は、挿抜方向の加速度の値が所定値以上か否かを判定する（Ｓ３３）。具体的には、Ｓ３２で読み出した抜出信号を検出した記録媒体４１に対応する方向情報７２に対応するＳ３３で特定した加速度の値が、所定値以上となる方向なるか否かを判定する。
【００７５】
処理アプリケーション３１は、記録媒体４１の挿抜方向の加速度が所定値以上であると判定した場合（Ｓ３３：Ｙｅｓ）、記録媒体４１が抜き出されたと判定する（Ｓ３８）。
【００７６】
一方、処理アプリケーション３１は、記録媒体４１の挿抜方向の加速度が所定値以上ではないと判定した場合（Ｓ３３：Ｎｏ）、以下の処理を実行する。処理アプリケーション３１は、所定時間が経過するまで待つ（Ｓ３４：Ｎｏ）。処理アプリケーション３１は、所定時間が経過するまで待つと（Ｓ３４：Ｙｅｓ）、処理アプリケーション３１は記録媒体４１にアクセスする（Ｓ３５）。加速度センサ１８が加速度を検出しない場合でも記録媒体４１が抜かれてしまう場合がある。例えば、情報処理装置１が記録媒体４１の抜出しの衝撃とは逆の強さの衝撃を受けた場合に衝撃が打ち消しあって、加速度の変動が無い状態となる。このような場合、加速度センサ１８は加速度の変動を検出しないが、記録媒体４１は情報処理装置１から抜き出されることとなる。そこで、処理アプリケーション３１は、記録媒体４１に対して再度アクセスを行って、記録媒体４１の有無を確認する。
【００７７】
処理アプリケーション３１は、記録媒体４１へのアクセスに対して応答がある場合（Ｓ３６：Ｙｅｓ）、記録媒体４１は抜出されていないと判定する（Ｓ３７）。一方、処理アプリケーション３１は、記録媒体４１へのアクセスに対して応答がない場合（Ｓ３６：Ｎｏ）、処理アプリケーション３１は、記録媒体４１は抜出されたと判定する（Ｓ３８）。図１１のフローチャートの説明に戻る。処理アプリケーション３１は、記録媒体４１の抜出があったか否かを示す判別結果情報をフィルタドライバ３４に送る（Ｓ２５）。
【００７８】
次にＳ２５で判別結果を取得したフィルタドライバ３４の実行処理について説明する。図１３は、記録媒体４１の抜出時のフィルタドライバ３４の第二の処理のフローチャートである。フィルタドライバ３４は、処理アプリケーション３１からＯＳ３２を経由して判別結果を取得する（Ｓ４１）。フィルタドライバ３４は、記録媒体４１が抜き出されたか否かを判別する。
【００７９】
フィルタドライバ３４は、記録媒体４１が抜出された旨の判別結果を取得した場合（Ｓ４２：Ｙｅｓ）、フィルタドライバ３４は、カード制御ドライバ３５に抜出処理の実行を要求する（Ｓ４３）。抜出処理とは、例えば、ＲＡＭ１４上に展開されたカード制御ドライバ３５を終了させる等の一連の後処理である。
【００８０】
一方、フィルタドライバ３４は、記録媒体４１が抜出されていない旨の判別結果を取得した場合（Ｓ４２：Ｎｏ）フィルタドライバ３４は、ＯＳ３２に記録媒体４１の抜出の拒否の状態にする（Ｓ４４）。ＯＳ３２はフィルタドライバ３４にアクセスすると、記録媒体４１の抜出が拒否された情報を取得する。
【００８１】
信号線４２がノイズの影響を受けることにより、記録媒体４１が挿入されていない状態でカードコントローラ２１が記録媒体４１の挿入を誤認識した場合は、以下の処理を実行する。カードコントローラ２１は、記録媒体４１の検出信号を取得すると記録媒体４１のデータにアクセスするためのプログラムを実行する。しかし、記録媒体４１は存在しないため、カードコントローラ２１で実行するプログラムはエラーを出力し、処理は完了する。したがって、記録媒体４１が存在しない状態で記録媒体４１の挿入を誤検出については、問題は少ない。
【００８２】
一方、カードコントローラ２１は、記録媒体４１の抜出しを検出すると、記録媒体４１のデータへのアクセスを中止する。記録媒体４１は存在しているにも関わらず、以降の記録媒体４１へのデータの書込みは不可能となる。記録媒体４１に再度データを書き込むためには、記録媒体４１を抜出し、再度挿入する等の作業が必要となる。例えば、情報処理装置１の製造工場では、情報処理装置１に対して試験を行い、製品としての出荷が可能か否かを判別する。試験は、記録媒体４１の挿抜試験、サスペンド／レジュームモードの切り替え試験などがある。試験は一般に、一連の試験の動作を情報処理装置１に実行させる試験プログラムを実行させることによって行われる。試験中に記録媒体４１の抜出を誤認識した場合、試験プログラムは異常終了する。試験プログラムが異常終了すると、情報処理装置１は不良品の扱いとなり、再度の試験を行う必要がある。この結果、情報処理装置１は、故障ではないにも関わらず故障扱いとされるため、時間の無駄および製造コストの上昇の原因となっていた。
【００８３】
本実施例の情報処理装置１は、記録媒体４１の抜取りを加速度センサ１８の検出と連動させて判断するため、真に記録媒体４１が抜き出されたか否かを判別することが可能となる。出荷試験時のような情報処理装置１のゆれが無い状態において、情報処理装置１は記録媒体４１の抜出信号を検出しても、加速度の変動が生じていないため、記録媒体４１は抜き出されていないと判断できる。
【００８４】
以上、本実施例は、情報処理装置の機器として記録媒体を例にして説明した。本実施例は、ユニバーサル・シリアル・バス（以下ＵＳＢ）の規格の周辺機器についても取り外しを検出することが可能である。例えば、情報処理装置１はＵＳＢの規格のコネクタを有し、それぞれのＵＳＢコネクタの挿抜方向を記憶しておく。情報処理装置１はＵＳＢの先の周辺機器の検出が出来なくなった場合、加速度センサ１８の加速度を取得する。情報処理装置１は加速度が所定値以上の場合に、ＵＳＢコネクタが抜かれたと判断する。
【００８５】
また、情報処理に取付ける機器によって、情報処理装置１から取り外された時に発生する加速度を検出する閾値（Ｓ３３の所定値）を切り替えることも可能である。例えば、情報処理装置１と機器とが接合する力が強く、機器を取り外す時に大きな力を必要とするときはより大きな加速度が生じ得る。そこで接合する力の違いに応じて、情報処理装置１から機器が取り外されたと判別する加速度の閾値を切り替える。それぞれの機器に対応する加速度の閾値は予め格納する。例えば、カードスロット方向テーブル７０に加速度の閾値を格納する。
【図面の簡単な説明】
【００８６】
【図１】抜出時の状態の説明図である。
【図２】本実施例の情報処理装置の構成図である。
【図３】情報処理装置１が実行するプログラムの構成図である。
【図４】カードスロット２０の構成図である。
【図５】記録媒体４１がカードスロット２０に挿入されている場合のスイッチ５１である。
【図６】情報処理装置１の内部の構成例である。
【図７】情報処理装置１の加速度情報の取得処理のフローチャートである。
【図８】加速度の変動値の格納テーブル６０である。
【図９】記録媒体４１の抜出時のフィルタドライバ３４の処理のフローチャートである。
【図１０】カードスロット方向テーブル７０の構成例である。
【図１１】処理アプリケーション３１の処理のフローチャートである。
【図１２】処理アプリケーション３１の抜出判別処理のフローチャートである。
【図１３】記録媒体４１の抜出時のフィルタドライバ３４の第二の処理のフローチャートである。
【符号の説明】
【００８７】
１  情報処理装置
１１  制御部
１２  チップセット
１３  ＲＯＭ
１４  ＲＡＭ
１５  記憶部
１６  処理プログラム
１７  入力部
１８  加速度センサ
１９  割込制御部
２０  カードスロット
２１  カードコントローラ
２２  出力部
２３  バス
３１  処理アプリケーション
３２  ＯＳ
３３  加速度センサドライバ
３４  フィルタドライバ
３５  カード制御ドライバ
３６  ＢＩＯＳ
４１  記録媒体
４２  信号線
４３  信号線
４４  チャタリング除去回路
４５  抵抗（Ｒ）
４６  コンデンサ（Ｃ）
４７  電源
４８  抵抗（Ｒ）
４９  グランド
５１  スイッチ
６０  格納テーブル
７０  カードスロット方向テーブル
【図１】
2009043170.tif 000003
【図２】
2009043170.tif 000004
【図３】
2009043170.tif 000005
【図４】
2009043170.tif 000006
【図５】
2009043170.tif 000007
【図６】
2009043170.tif 000008
【図７】
2009043170.tif 000009
【図８】
2009043170.tif 000010
【図９】
2009043170.tif 000011
【図１０】
2009043170.tif 000012
【図１１】
2009043170.tif 000013
【図１２】
2009043170.tif 000014
【図１３】
2009043170.tif 000015