(57)【要約】【課題】より適切な動作モードを選択することのできる情報処理装置を提供する。【解決手段】本発明に係る情報処理装置は、カード型媒体が挿入されるカードスロットと、第１の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第１通信速度を取得する、第１通信速度取得手段と、第２の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第２通信速度を取得する、第２通信速度取得手段と、前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断する、判断手段と、前記第１の動作モードと前記第２の動作モードのうち、前記判断手段で速いと判断された通信速度の動作モードで、前記カード型媒体とデータのやり取りをする、データ通信手段と、を備えて構成されている。【選択図】図１
2007183879.tif 000002
【特許請求の範囲】
【請求項１】
カード型媒体が挿入されるカードスロットと、
第１の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第１通信速度を取得する、第１通信速度取得手段と、
第２の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第２通信速度を取得する、第２通信速度取得手段と、
前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断する、判断手段と、
前記第１の動作モードと前記第２の動作モードのうち、前記判断手段で速いと判断された通信速度の動作モードで、前記カード型媒体とデータのやり取りをする、データ通信手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１通信速度取得手段は、前記第１の動作モードで前記カード型媒体にアクセスすることにより、前記第１通信速度を取得し、
前記第２通信速度取得手段も、前記第１の動作モードで前記カード型媒体にアクセスすることにより、前記第２通信速度を取得する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１通信速度取得手段は、前記第１の動作モードで前記カード型媒体にアクセスすることにより、前記第１通信速度を取得し、
前記第２通信速度取得手段は、前記第２の動作モードで前記カード型媒体にアクセスすることにより、前記第２通信速度を取得する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１通信速度取得手段は、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第１通信速度を取得し、
前記第２通信速度取得手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第２通信速度を取得し、
前記判断手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断する、
ことを特徴とする請求項１乃至請求項３のいずれかに記載の情報処理装置。
【請求項５】
前記第１通信速度取得手段は、前記カード型媒体とデータのやり取りをする要求が発生した時点で、前記第１通信速度を取得し、
前記第２通信速度取得手段も、前記カード型媒体とデータのやり取りをする要求が発生した時点で、前記第２通信速度を取得し、
前記判断手段も、前記カード型媒体とデータのやり取りをする要求が発生した時点で、前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断する、
ことを特徴とする請求項１乃至請求項３のいずれかに記載の情報処理装置。
【請求項６】
前記カード型媒体は、コンパクトフラッシュカードである、ことを特徴とする請求項１乃至請求項５のいずれかに記載の情報処理装置。
【請求項７】
前記第１の動作モードはメモリモードであり、
前記第２の動作モードはＴｒｕｅＩＤＥモードである、
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
カード型媒体が挿入されるカードスロットを有する情報処理装置の制御方法であって、
第１の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第１通信速度を、取得するステップと、
第２の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第２通信速度を、取得するステップと、
前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断するステップと、
前記第１の動作モードと前記第２の動作モードのうち、速いと判断された方の通信速度の動作モードで、前記カード型媒体とデータのやり取りをするステップと、
を備えることを特徴とする情報処理装置の制御方法。
【請求項９】
カード型媒体が挿入されるカードスロットを有する情報処理装置を制御するためのプログラムであって、
第１の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第１通信速度を、取得するステップと、
第２の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第２通信速度を、取得するステップと、
前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断するステップと、
前記第１の動作モードと前記第２の動作モードのうち、速いと判断された方の通信速度の動作モードで、前記カード型媒体とデータのやり取りをするステップと、
を情報処理装置に実行させるためのプログラム。
【請求項１０】
カード型媒体が挿入されるカードスロットを有する情報処理装置を制御するためのプログラムが記録された記録媒体であって、
第１の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第１通信速度を、取得するステップと、
第２の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第２通信速度を、取得するステップと、
前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断するステップと、
前記第１の動作モードと前記第２の動作モードのうち、速いと判断された方の通信速度の動作モードで、前記カード型媒体とデータのやり取りをするステップと、
を情報処理装置に実行させるためのプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関し、特に、カード型媒体とデータのやり取りをする通信速度を適切に選択することのできる情報処理装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの情報処理装置でデータを保存したり、データ通信をしたりするためのカード型媒体として、ＣＦ（コンパクトフラッシュ（登録商標））カードがある。このＣＦカードに対応した情報処理装置には、ＣＦカード用のカードスロットが設けられており、ユーザがこのカードスロットにＣＦカードを挿入することにより、情報処理装置はこのＣＦカードにアクセスができるようになる。
【０００３】
ＣＦカードには、メモリカードとＩＯカードの２種類があるが、情報処理装置が、カードスロットに挿入されたメモリカードであるＣＦカードとデータのやり取りをする場合、メモリモードとＴｒｕｅＩＤＥモードの２つの動作モードのうちのいずれかのモードで行う必要がある。いずれの動作モードでＣＦカードとデータのやり取りをするかは任意であるが、ＴｒｕｅＩＤＥモードでアクセスした方が、その通信速度が速いことが多いことから、これまでは、情報処理装置が挿入されたＣＦカードの対応する動作モードを調べ、ＴｒｕｅＩＤＥモードに対応しているＣＦカードについてはＴｒｕｅＩＤＥモードでアクセスし、ＴｒｕｅＩＤＥモードに対応していないＣＦカードについてはメモリモードでアクセスすることとしていた（例えば、特開２００４−３５５４７６号公報参照）。
【０００４】
しかしながら、一部のＣＦカードにおいては、メモリモードにおける通信速度の方が、ＴｒｕｅＩＤＥモードにおける通信速度より、速い場合があり、このような場合は、メモリモードでＣＦカーデータとデータのやり取りをした方が、データ転送時間を短くすることができる。
【特許文献１】特開２００４−３５５４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで本発明は、前記課題に鑑みてなされたものであり、より適切な動作モードを選択することのできる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る情報処理装置は、
カード型媒体が挿入されるカードスロットと、
第１の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第１通信速度を取得する、第１通信速度取得手段と、
第２の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第２通信速度を取得する、第２通信速度取得手段と、
前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断する、判断手段と、
前記第１の動作モードと前記第２の動作モードのうち、前記判断手段で速いと判断された通信速度の動作モードで、前記カード型媒体とデータのやり取りをする、データ通信手段と、
を備えることを特徴とする。
【０００７】
この場合、前記第１通信速度取得手段は、前記第１の動作モードで前記カード型媒体にアクセスすることにより、前記第１通信速度を取得し、
前記第２通信速度取得手段も、前記第１の動作モードで前記カード型媒体にアクセスすることにより、前記第２通信速度を取得するようにしてもよい。
【０００８】
或いは、前記第１通信速度取得手段は、前記第１の動作モードで前記カード型媒体にアクセスすることにより、前記第１通信速度を取得し、
前記第２通信速度取得手段は、前記第２の動作モードで前記カード型媒体にアクセスすることにより、前記第２通信速度を取得するようにしてもよい。
【０００９】
また、前記第１通信速度取得手段は、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第１通信速度を取得し、
前記第２通信速度取得手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第２通信速度を取得し、
前記判断手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断するようにしてもよい。
【００１０】
或いは、前記第１通信速度取得手段は、前記カード型媒体とデータのやり取りをする要求が発生した時点で、前記第１通信速度を取得し、
前記第２通信速度取得手段も、前記カード型媒体とデータのやり取りをする要求が発生した時点で、前記第２通信速度を取得し、
前記判断手段も、前記カード型媒体とデータのやり取りをする要求が発生した時点で、前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断するようにしてもよい。
【００１１】
また、前記カード型媒体は、コンパクトフラッシュカードであってもよい。
【００１２】
この場合、前記第１の動作モードはメモリモードであり、
前記第２の動作モードはＴｒｕｅＩＤＥモードであってもよい。
【００１３】
本発明に係る情報処理装置の制御方法は、
カード型媒体が挿入されるカードスロットを有する情報処理装置の制御方法であって、
第１の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第１通信速度を、取得するステップと、
第２の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第２通信速度を、取得するステップと、
前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断するステップと、
前記第１の動作モードと前記第２の動作モードのうち、速いと判断された方の通信速度の動作モードで、前記カード型媒体とデータのやり取りをするステップと、
を備えることを特徴とする。
【００１４】
本発明に係るプログラムは、
カード型媒体が挿入されるカードスロットを有する情報処理装置を制御するためのプログラムであって、
第１の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第１通信速度を、取得するステップと、
第２の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第２通信速度を、取得するステップと、
前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断するステップと、
前記第１の動作モードと前記第２の動作モードのうち、速いと判断された方の通信速度の動作モードで、前記カード型媒体とデータのやり取りをするステップと、
を情報処理装置に実行させることを特徴とする。
【００１５】
本発明に係る記録媒体は、
カード型媒体が挿入されるカードスロットを有する情報処理装置を制御するためのプログラムが記録された記録媒体であって、
第１の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第１通信速度を、取得するステップと、
第２の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第２通信速度を、取得するステップと、
前記第１通信速度と前記第２通信速度のうち、どちらが速いかを判断するステップと、
前記第１の動作モードと前記第２の動作モードのうち、速いと判断された方の通信速度の動作モードで、前記カード型媒体とデータのやり取りをするステップと、
を情報処理装置に実行させるプログラムが記録されたことを特徴とする。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
【００１７】
〔第１実施形態〕
図１は、本実施形態に係る情報処理装置１０の内部構成の一例を説明するブロック図である。情報処理装置１０は、カードスロットを備える種々の情報処理装置であり、例えば、小型の携帯情報端末やデジタルカメラ、ノート型若しくはディスクトップ型のコンピュータなどがある。
【００１８】
この図１に示すように、本実施形態に係る情報処理装置１０は、ＣＰＵ（Central Processing Unit）２０と、ＲＡＭ（Random Access Memory）２２と、ＲＯＭ（Read Only Memory）２４と、ハードディスクドライブ２６と、ユーザインターフェース３０と、ビデオデコーダ３２と、表示画面３４とを備えて構成されている。
【００１９】
ＣＰＵ２０とＲＡＭ２２とＲＯＭ２４とハードディスクドライブ２６とは、内部バスを介して相互に接続されている。このため、ＣＰＵ２０は、内部バスを介して、これらＲＡＭ２２、ＲＯＭ２４、ハードディスクドライブ２６に任意にアクセス可能である。
【００２０】
ＣＰＵ２０からは、画像データがビデオデコーダ３２に出力され、このビデオデコーダ３２で画像データがデコードされて、表示画面３４に表示される。この表示画面３４は、ＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）などにより構成されている。
【００２１】
また、ＣＰＵ２０には、ユーザインターフェース３０から様々なユーザの操作指示が入力される。このユーザインターフェース３０は、例えば、１又は複数のボタンや、キーボード、ポインティングデバイスなどから構成することができ、また、これらの組み合わせから構成することができる。図１の例では、情報処理装置１０自体にユーザインターフェース３０が設けられて構成されているが、このユーザインターフェース３０は情報処理装置１０の外部に設けられていてもよい。ＣＰＵ２０では、ユーザインターフェース３０からの操作指示に基づいて、様々な処理を実行する。
【００２２】
また、本実施形態に係る情報処理装置１０には、カードスロット４０が設けられている。本実施形態では、このカードスロット４０には、ＣＦカード５０がユーザにより挿入される。したがって、ユーザにより、様々な種類のＣＦカード５０がカードスロット４０に挿入されることとなり、様々なモードに対応しているＣＦカード５０が挿入されることになる。
【００２３】
特に本実施形態では、このカードスロット４０に挿入されるＣＦカード５０は、メモリモードとＴｒｕｅＩＤＥモードの双方で動作可能なメモリカードが想定されている。本実施形態では、カードＩ／Ｏモードで動作可能なＩ／Ｏカードがカードスロット４０に挿入された場合はエラーとなる。無論、これ以外の規格が新たに制定されれば、新たな規格のＣＦカードが、情報処理装置１０に挿入されることもあり得る。
【００２４】
このカードスロット４０に挿入されたＣＦカード５０の制御は、ＣＰＵ２０からカードコントローラ６０を介して行われる。すなわち、カードスロット４０にＣＦカード５０が挿入されたかどうかを、ＣＰＵ２０は、カードスロット４０から出力されるカード検出信号に基づいて判断する。また、ＣＦカード５０が挿入されている場合には、ＣＰＵ２０は、モード切り換え信号をカードコントローラ６０に出力し、メモリモードでアクセスするか、ＴｒｕｅＩＤＥモードでアクセスするかの切り換えを行う。また、情報処理装置１０がカードＩ／Ｏモードをサポートしている場合には、このモード切り換え信号により、カードＩ／Ｏモードへの切り替えも行う。
【００２５】
このカードコントローラ６０とカードスロット４０との間は、カード用バスで接続されており、カードコントローラ６０を介して、データのやり取りがＣＰＵ２０とカードスロット４０に挿入されたＣＦカード５０との間で行われる。
【００２６】
また、カードスロット４０に挿入されたＣＦカード５０には、カード電源制御回路６２から電源配線を介してカード電源が供給される。カード電源制御回路６２がカード電源を供給するかどうかは、ＣＰＵ２０が出力するカード電源制御信号に基づいて制御される。すなわち、ＣＰＵ２０がＣＦカード５０が挿入されたことを検出した場合や、ＣＰＵ２０がＣＦカード５０にアクセスしようとしている場合には、ＣＰＵ２０はカード電源制御回路６２にカード電源を供給するカード電源制御信号を出力する。これとは逆に、ＣＦカード５０が抜去されたことをＣＰＵ２０が検出した場合や、カードアクセス状態からＣＰＵ２０が抜け出た場合には、ＣＰＵ２０はカード電源制御回路６２にカード電源の供給を停止するカード電源制御信号を出力する。例えば、本実施形態では、カード電源を供給する場合のカード電源制御信号はハイレベルであり、カード電源を供給しない場合のカード電源制御信号はローレベルである。
【００２７】
本実施形態においては、このＣＰＵ２０から出力されたカード電源制御信号は、カード電源ディスチャージ回路６４にも供給されている。カード電源ディスチャージ回路６４は、このカード電源制御信号に基づいて、動作がオン／オフするように構成されている。すなわち、カード電源を供給しないカード電源制御信号である場合には、カード電源ディスチャージ回路６４は、動作状態となり、カード電源を供給する電源配線を、抵抗を介してグランドに接続する。このため、カード電源がオンからオフに切り替わった際には、このカード電源の電源配線がディスチャージ回路６４により強制的にディスチャージされて、カード電源が急速にグランドレベルまで下がることとなる。逆に、カード電源を供給するカード電源制御信号である場合には、カード電源ディスチャージ回路６４は、非動作状態となり、カード電源の電源配線はグランドに接続されない。このため、カード電源を供給している間に無駄な電流が、電源配線からグランドに流れてしまうのを回避することができる。但し、本実施形態では、カードディスチャージ回路６４は、必ずしも必要な回路ではなく、省くことも可能である。
【００２８】
なお、どのような条件でカード電源をオンにして、どのような条件でカード電源をオフにするかは、情報処理装置１０やＣＦカード５０の仕様により種々に設定される。
【００２９】
図２は、本実施形態に係るカード電源ディスチャージ回路６４の回路構成の一例を示す図である。この図２に示すように、カード電源ディスチャージ回路６４は、ＰチャンネルＭＯＳトランジスタＱ１と、ＮチャンネルＭＯＳトランジスタＱ２と、抵抗Ｒ１〜Ｒ４と、ダイオードＤ１〜Ｄ４と、カード電源オン・オフ回路７０とを備えて構成されている。
【００３０】
供給電源とグランドとの間には、ＰチャンネルＭＯＳトランジスタＱ１と抵抗Ｒ１とが直列に接続されている。このＰチャンネルＭＯＳトランジスタＱ１と並列に、ダイオードＤ４が接続されている。カード電源制御信号が入力される入力端子に接続されているノードＡと、ＰチャンネルＭＯＳトランジスタＱ１のゲートＧとの間には、抵抗Ｒ３が接続されている。
【００３１】
ＣＦカード５０にカード電源を供給するための電源配線に接続されているノードＣと、グランドとの間には、抵抗Ｒ２とＮチャンネルＭＯＳトランジスタＱ２が接続されている。このＮチャンネルＭＯＳトランジスタＱ２と並列に、ダイオードＤ３が接続されている。ＰチャンネルＭＯＳトランジスタＱ１と抵抗Ｒ１との間のノードＢと、ＮチャンネルＭＯＳトランジスタＱ２のゲートＧとの間には、抵抗Ｒ４が接続されている。また、この抵抗Ｒ４と並列に、ダイオードＤ２が接続されている。
【００３２】
供給電源とカード電源との間には、カード電源オン・オフ回路７０が接続されており、このカード電源オン・オフ回路７０には、ノードＡからカード電源制御信号が入力される。カード電源オン・オフ回路７０は、カード電源制御信号がハイレベルの場合には、供給電源からの電源をカード電源としてノードＣに供給し、カード電源制御信号がローレベルの場合には、ノードＣに電源を供給しない回路である。
【００３３】
次に、このカード電源ディスチャージ回路６４の動作について説明する。まず、カード電源制御信号がハイレベルの場合、つまりカード電源を供給する場合の動作について説明する。カード電源制御信号がハイレベルであると、カード電源オン・オフ回路７０は、供給電源から供給されている電源をノードＣに供給する。また、ノードＡがハイレベルになり、ＰチャンネルＭＯＳトランジスタＱ１がオフとなる。また、ノードＢは、抵抗Ｒ１を介してグランドに接続されるのでローレベルとなり、ＮチャンネルＭＯＳトランジスタＱ２もオフとなる。このため、電源配線はグランドから切り離され、カード電源オン・オフ回路７０から出力された電源が、カード電源として、電源配線を介して供給される。
【００３４】
次に、カード電源制御信号がローレベルになると、つまりカード電源の供給を停止すると、ノードＡがローレベルになる。このため、カード電源オン・オフ回路７０はノードＣに供給電源から電源を供給するのを停止する。また、ノードＡがローレベルであるので、ＰチャンネルＭＯＳトランジスタＱ１がオンとなり、ノードＢが供給電源につられてハイレベルとなる。ノードＢがハイレベルになると、ＮチャンネルＭＯＳトランジスタＱ２もオンとなり、カード電源を供給する電源配線が抵抗Ｒ２を介してグランドに接続される。このため、カード電源の電源配線は強制的にディスチャージされて短い時間で立ち下がる。この抵抗Ｒ２の抵抗値を小さくするほど、電源配線は急激にディスチャージされて、カード電源の立ち下がり時間は短くなる。
【００３５】
図３は、カード電源ディスチャージ回路６４がない情報処理装置である場合におけるカード電源制御信号とカード電源の動作波形を示す図であり、図４は、カード電源ディスチャージ回路６４がある情報処理装置１０のカード電源制御信号とカード電源との動作波形を示す図である。
【００３６】
図３に示すように、ＣＦカード５０が挿入されると、ＣＰＵ２０はメモリモードでＣＦカード５０にアクセスするために時刻Ｔ１でカード電源制御信号をハイレベルにして、ＣＦカード５０にカード電源を供給する。そして、メモリモードでＣＦカード５０からＣＩＳ情報を読み出す。続いて、ＣＦカード５０をメモリモードからＴｒｕｅＩＤＥモードに切り換えるために、時刻Ｔ２でカード電源制御信号をローレベルにしてＣＦカード５０へのカード電源の供給を停止する。この時刻Ｔ２の後、カード電源ディスチャージ回路６４がないので、長い時間をかけて、カード電源が立ち下がる。そして、カード電源が立ち下がった後、時刻Ｔ３でカード電源の供給を再開して、ＴｒｕｅＩＤＥモードでＣＦカード５０を立ち上げることができる。
【００３７】
一方、カード電源ディスチャージ回路６４がある場合には、図４に示すように、時刻Ｔ２でカード電源制御信号をローレベルにすると、カード電源ディスチャージ回路６４が強制的にカード電源の電源配線をディスチャージするので、短い時間でカード電源が立ち下がる。
【００３８】
次に、図５、図６Ａ及び図６Ｂを用いて、情報処理装置１０が定常的に実行しているカードアクセス事前処理を説明する。このカードアクセス事前処理は、ＲＯＭ２４又はハードディスクドライブ２６に格納されているカードアクセス事前処理プログラムをＣＰＵ２０が読み込んで実行することにより実現する処理である。また、このカードアクセス事前処理は、情報処理装置１０の電源がオンになった時点で、自動的に起動される処理である。
【００３９】
図５に示すように、情報処理装置１０は、カードスロット４０で新たなＣＦカード５０が検出されたかどうかを判断する（ステップＳ１０）。本実施形態においては、上述したカードスロット４０から出力されるカード検出信号に基づいて、新たなＣＦカード５０がカードスロット４０に挿入されたかどうかを判断する。より具体的には、情報処理装置１０は、カードスロット４０におけるＣＤ１信号及びＣＤ２信号の両方の信号がハイレベルからローレベルに変化した場合に、新たなＣＦカード５０がカードスロット４０に挿入されたと判断する。さらに、本実施形態では、情報処理装置１０は、この情報処理装置１０本体の電源がオンになった際にカードスロット４０におけるＣＤ１信号及びＣＤ２信号を確認し、これらＣＤ１信号及びＣＤ２信号が電源をオンにした際にローレベルである場合にも、既にＣＦカード５０がカードスロット４０に挿入されているため、新たなＣＦカード５０がカードスロット４０に挿入されていると判断する。すなわち、本実施形態では、ＣＦカード５０が挿入されている間は、これらＣＤ１信号及びＣＤ２信号はローレベルになり、ＣＦカード５０が挿入されていない間は、これらＣＤ１信号及びＣＤ２信号はハイレベルになる。
【００４０】
ステップＳ１０で新たなＣＦカード５０が検出されないと判断した場合（ステップＳ１０：ＮＯ）には、このステップＳ１０を繰り返して、カードスロット４０に新たなＣＦカード５０が検出されるまで待機する。
【００４１】
一方、ステップＳ１０で新たなＣＦカード５０がカードスロット４０で検出されたと判断した場合（ステップＳ１０：ＹＥＳ）には、情報処理装置１０は、カードコントローラ６０の初期化を行う（ステップＳ１２）。
【００４２】
次に、情報処理装置１０は、ＣＦカード５０のＲＥＳＥＴ信号をアサートする（ステップＳ１４）。続いて、情報処理装置１０は、カード電源制御信号をローレベルからハイレベルにして、カード電源を立ち上げる（ステップＳ１６）。この時は、メモリモードでＣＦカード５０を立ち上げる。
【００４３】
次に、情報処理装置１０は、カード電源が安定するまで待った後、カードコントローラ６０のカード側のインターフェースを、ハイインピーダンス状態から出力可能状態に切り換える（ステップＳ１８）。続いて、情報処理装置１０は、ＲＥＳＥＴ信号をネゲートする（ステップＳ２０）。
【００４４】
次に、図６Ａに示すように、情報処理装置１０は、メモリモードで、カード属性情報であるＣＩＳ情報を読み出す（ステップＳ３０）。
【００４５】
次に、情報処理装置１０は、この読み出したＣＩＳ情報に基づいて、挿入されているＣＦカード５０のメモリモードにおけるサイクル時間を調べて取得する（ステップＳ３２）。
【００４６】
図７は、ＣＦカード５０がメモリモードで対応している可能性のあるサイクル時間の一覧を示す図である。この図７に示すように、本実施形態では、ＣＦカード５０は、２５０ｎｓ、１５０ｎｓ、１２０ｎｓ、１００ｎｓ、８０ｎｓのいずれかのサイクル時間で、動作する。ＣＦカードがどのサイクル時間に対応しているかは、ＣＩＳ情報のうちのＣＩＳＴＰＬ＿ＤＥＶＩＣＥタプル内のバイト２におけるデバイスＩＤのビット２〜ビット０を見ることにより判断できる。したがって、ステップＳ３２では、読み出したＣＩＳ情報に基づいて、挿入されているＣＦカード５０がどのサイクル時間で動作するのかを特定し、このサイクル時間に基づいて、メモリモードの通信速度を特定する。ここでサイクル時間は、基本動作クロックの１サイクルの時間であるので、サイクル時間が短いほど、基本動作は速くなることを意味している。
【００４７】
なお、１５０ｎｓのサイクル時間については、CF+ and Compact Flash Specification Revision 3.0の規格では対応していないが、通常のＣＦカード５０やハードディスクドライブを内蔵したマイクロドライブで１５０ｎｓのサイクル時間で動作する仕様のカードも存在する。このため、本実施形態に係る情報処理装置１０では、１５０ｎｓのサイクル時間で動作するＣＦカード５０やマイクロドライブにも対応できるようにしている。
【００４８】
次に、情報処理装置１０は、ＩｄｅｎｔｉｆｙＤｅｖｉｃｅコマンドを実行し（ステップＳ３４）、ＴｒｕｅＩＤＥモードのサイクル時間を取得する（ステップＳ３６）。すなわち、ＴｒｕｅＩＤＥモードでも、ＣＦカード５０の種類によって、対応可能な転送モードが異なり、対応可能な転送モードによって通信速度、つまりサイクル時間が異なる。このため、情報処理装置１０は、対応可能な転送モードを調べる必要がある。
【００４９】
一般に、ＴｒｕｅＩＤＥモードの転送モードには、大きく分けて、ＰＩＯモード、Ｍｕｌｔｉｗｏｒｄ  ＤＭＡモード、Ｕｌｔｒａ  ＤＭＡモードの３つがある。これらの３つの転送モードには、それぞれ、対応速度別にいくつかのモードが用意されている。本実施形態に係る情報処理装置１０では、これら３つの転送モードのうち、ＰＩＯモードにのみ対応していると仮定する。
【００５０】
さらに、本実施形態に係る情報処理装置１０は、ＰＩＯモードのうち、最新のリビジョンであるＲｅｖｉｓｉｏｎ３．０版（CF+ and Compact Flash Specification Revision 3.0）に対応していると仮定する。Ｒｅｖｉｓｉｏｎ３．０のＰＩＯモードでは、ＰＩＯモード０からＰＩＯモード６まで定義されているので、このいずれのＰＩＯモードに挿入されているＣＦカード５０が対応しているかを判断する。
【００５１】
図８は、ＰＩＯモードで定義されているモード０〜モード６のサイクル時間の一覧を示す図である。この図８に示すように、ＰＩＯモードでは、ＰＩＯモード０が最も通信速度が遅く、サイクル時間が６００ｎｓであり、ＰＩＯモード６に行くに従って通信速度が速くなり、ＰＩＯモード６ではサイクル時間は８０ｎｓである。
【００５２】
図９は、本実施形態に係るＴｒｕｅＩＤＥモードのＰＩＯモードにおける対応モードを判定するためのモード判定処理の内容を説明するフローチャートを示す図である。このモード判定処理は、ＲＯＭ２４又はハードディスクドライブ２６に格納されているモード判定プログラムをＣＰＵ２０が読み込んで実行することにより実現される処理である。
【００５３】
この図９に示すように、まず、情報処理装置１０は、ＩｄｅｎｔｉｆｙＤｅｖｉｃｅコマンドを実行し、Ｉｄｅｎｔｉｆｙ情報を読み出す（ステップＳ１００）。そして、情報処理装置１０は、このＩｄｅｎｔｉｆｙ情報のＷｏｒｄ５３のビット１が「０」であるかどうかを判断し（ステップＳ１０２、ステップＳ１０４）、このビット１が「０」である場合（ステップＳ１０４：ＹＥＳ）には、Ｗｏｒｄ５１の値に基づいてモードを判別する（ステップＳ１０６）。すなわち、Ｗｏｒｄ５１の値が「０」であればＰＩＯモード０に対応していると判断し、「１」であればＰＩＯモード１に対応していると判断し、「２」であればＰＩＯモード２に対応していると判断し、「３」であればＰＩＯモード３に対応していると判断し、「４」であればＰＩＯモード４に対応していると判断する。このＷｏｒｄ５１の値が「５」以上の場合には、適用外のカードであると判断する。
【００５４】
一方、Ｗｏｒｄ５３のビット１が「０」でない場合（ステップＳ１０４：ＮＯ）には、Ｗｏｒｄ６４のビット１を確認し（ステップＳ１０８）、このビット１が「１」である場合（ステップＳ１１０：ＹＥＳ）には、ＰＩＯモード４に対応していると判断し（ステップＳ１１２）、このビット１が「１」ではなく（ステップＳ１１０：ＮＯ）、Ｗｏｒｄ６４のビット０が「１」である場合（ステップＳ１１４、ステップＳ１１６）には、ＰＩＯモード３に対応していると判断する（ステップＳ１１８）。但し、これらステップＳ１１２及びステップＳ１１８の場合、Ｗｏｒｄ１６３を確認し（ステップＳ１２０）、Ｗｏｒｄ１６３のビット０が「１」である場合には、ＰＩＯモード５に対応していると判断し（ステップＳ１２２）、Ｗｏｒｄ１６３のビット１が「１」である場合には、ＰＩＯモード６に対応していると判断する（ステップＳ１２４）。一方、Ｗｏｒｄ１６３のビット０〜ビット２が０である場合には、Ｗｏｒｄ６４に基づいて判断したＰＩＯモード３又はＰＩＯモード４が対応モードとなる（ステップＳ１２６）。
【００５５】
Ｗｏｒｄ６４のビット１が「１」ではなく（ステップＳ１１０：ＮＯ）、Ｗｏｒｄ６４のビット０も「１」ではない場合（ステップＳ１１６：ＮＯ）には、適用外のカードであると判断する（ステップＳ１２８）。このように、本実施形態においては、図９に示すようなモード判定処理により、ＴｒｕｅＩＤＥモードのＰＩＯモードで対応している転送モードを判断し、ＴｒｕｅＩＤＥモードの通信速度を取得する。
【００５６】
なお、このＩｄｅｎｔｉｆｙＤｅｖｉｃｅコマンドは、メモリモードで実行してもよいし、ＴｒｕｅＩＤＥモードで実行してもよい。メモリモードでＩｄｅｎｔｉｆｙＤｅｖｉｃｅコマンドを実行する場合には、ステップＳ３０の後、そのまま、このＩｄｅｎｔｉｆｙＤｅｖｉｃｅコマンドを実行すればよい。一方、ＴｒｕｅＩＤＥモードでＩｄｅｎｔｉｆｙＤｅｖｉｃｅコマンドを実行する場合には、図４で示したように、一旦、ＣＦカード５０へのカード電源の供給を停止し、このカード電源が十分に立ち下がった後に、ＯＥ信号をグランドレベルに固定して再びカード電源の供給を開始することにより、ＣＦカード５０をＴｒｕｅＩＤＥモードで立ち上げなおした後、ＩｄｅｎｔｉｆｙＤｅｖｉｃｅコマンドを実行する必要がある。
【００５７】
次に、図６Ａに示すように、情報処理装置１０は、モード選択テーブルＴＢ１０を参照して、データ転送に使用するモードを選択する（ステップＳ３８）。図１０は、本実施形態に係るモード選択テーブルＴＢ１０の構成の一例を示す図である。本実施形態では、このモード選択テーブルＴＢ１０は、ＲＯＭ２４又はハードディスクドライブ２６に予め格納されている。
【００５８】
この図１０から分かるように、モード選択テーブルＴＢ１０は、メモリモードで対応しているサイクル時間と、ＴｒｕｅＩＤＥモードで対応しているＰＩＯモードとを比較して、通信速度が速いのは、メモリモードとＴｒｕｅＩＤＥモードのどちらであるかを示す一覧表である。したがって、情報処理装置１０は、モード選択テーブルＴＢ１０に基づいて、新たに検出されたＣＦカード５０が対応している動作モードのうち、速い方の転送速度の動作モードを選択する。例えば、メモリモードにおいては２５０ｎｓのサイクル時間に対応しており、ＴｒｕｅＩＤＥモードにおいては２８３ｎｓのＰＩＯモード１に対応している場合には、動作モードとしてメモリモードを選択する。また、メモリモードにおいては２５０ｎｓのサイクル時間に対応しており、ＴｒｕｅＩＤＥモードにおいては１８０ｎｓのＰＩＯモード３に対応している場合には、動作モードとしてＴｒｕｅＩＤＥモードを選択する。
【００５９】
但し、メモリモードとＴｒｕｅＩＤＥモードは異なる別の動作モードであるため、両者の間で転送速度を比較しようとする場合、必ずしも、サイクル時間が短い方が転送速度が速いとは限らない。このため、本実施形態では、単純に、サイクル時間に基づいて動作モードを決定するのではなく、予め、メモリモードとＴｒｕｅＩＤＥモードにおける転送速度を調べておき、転送速度の速い方の動作モードが選択されるように、モード選択テーブルＴＢ１０を用意しておくこととしているのである。
【００６０】
次に、図６Ａに示すように、情報処理装置１０は、カードコントローラ６０の設定を行う（ステップＳ３９）。すなわち、ステップ３８で選択した動作モードにカードコントローラ６０を適合させるための設定を行う。
【００６１】
次に、図６Ｂに示すように、情報処理装置１０は、ＣＦカード５０のＲＥＳＥＴ信号をアサートする（ステップＳ４０）。続いて、情報処理装置１０は、カードコントローラ６０のカード側のインターフェースを、出力可能状態からハイインピーダンス状態に切り換える（ステップＳ４２）。
【００６２】
次に、情報処理装置１０は、カード電源制御信号をハイレベルからローレベルにして、カード電源をオフにする（ステップＳ４４）。本実施形態では、実際にＣＦカード５０に対するデータの読み書きの要求がいつ発生するかは不明であることから、消費電力の低減を図るため、ＣＦカード５０へのカード電源の供給を一旦停止することとしている。そして、カード電源の供給を停止した状態で待機して、実際にＣＦカード５０に対してデータの読み書きの動作が発生するのを待つこととしている。
【００６３】
但し、このカード電源への電源供給を停止するタイミングは、任意であり、ステップＳ３８の終了後、直ちにカード電源の供給を停止してもよいし、或いは、ステップＳ３８の終了後、所定時間（例えば１０秒）経過後にカード電源の供給を停止してもよい。特に、ＣＦカード５０をカードスロット４０に新たに挿入した場合には、ユーザは、その後、短い時間でＣＦカード５０に対するデータの読み書きを実行すると考えることもできる場合には、ステップＳ３８の終了後、所定時間経過後にカード電源の供給を停止するようにすればよい。また、カード電源の供給により消費される電力がさほど大きなものではないと考えられる場合には、このステップＳ４０〜ステップＳ４４は省くことも可能である。この場合、ＣＦカード５０にカード電源が供給され続けることとなる。
【００６４】
次に、情報処理装置１０は、実際にＣＦカード５０に対してデータを書き込んだり、ＣＦカード５０からデータを読み込んだりする指示が発生したかどうかを判断する（ステップＳ４６）。実際にＣＦカード５０に対してデータを書き込んだり、ＣＦカード５０からデータを読み込んだりする指示が発生した場合（ステップＳ４６：ＹＥＳ）には、ステップＳ３８で選択した動作モードにより、ＣＦカード５０に対してデータの読み書きを実行する（ステップＳ４８）。なお、カード電源の供給を一旦停止している場合には、ＣＦカード５０に対するデータの読み書きの動作が発生した時点で、再度、カード電源の供給を開始する必要がある。そして、このデータの読み書きの動作が完了した後、ステップＳ４６に戻る。
【００６５】
一方、ステップＳ４６でデータの読み書きの指示が発生していないと判断した場合（ステップＳ４６：ＮＯ）には、情報処理装置１０は、ＣＦカード５０がカードスロット４０から抜去されたかどうかを判断する（ステップＳ５０）。具体的には、情報処理装置１０は、カードスロット４０におけるＣＤ１信号及びＣＤ２信号のいずれか一方の信号若しくは両方の信号がローレベルからハイレベルに変化したかどうかを判断することにより、ＣＦカード５０が抜去されたかどうかを判断する。すなわち、本実施形態においては、ＣＦカード５０がカードスロット４０に挿入されたかどうかというステップＳ１０における判定では、ＣＤ１信号及びＣＤ２信号の両方がローレベルになったときに、ＣＦカード５０が挿入されたと判断するが、ＣＦカード５０がカードスロット４０から抜去されたかどうかというステップＳ５０における判定では、ＣＤ１信号とＣＤ２信号のうちのどちらか一方でもハイレベルになったときに、ＣＦカード５０が抜去されたと判断する。ＣＦカード５０が抜去されていない場合（ステップＳ４６：ＮＯ）には、上述したステップＳ４６に戻る。
【００６６】
一方、ＣＦカード５０が抜去されたと判断した場合（ステップＳ５０：ＹＥＳ）には、上述した図５のステップＳ１０に戻り、次の新たなＣＦカード５０が検出されるまで待機する。
【００６７】
以上のように、本実施形態に係る情報処理装置１０によれば、メモリモードで対応している通信速度と、ＴｒｕｅＩＤＥモードで対応している通信速度とを調べ、通信速度の速い方の動作モードでデータのやり取りを行うようにしたので、ＣＦカード５０とデータをやり取りするのに要するユーザの待ち時間を、可及的に短くすることができる。特に、メモリモードの方がＴｒｕｅＩＤＥモードよりも速いサイクル時間であるＣＦカード５０については、本実施形態を適用することにより、的確に速い方のメモリモードを選択させることができる。
【００６８】
また、ＣＦカード５０がカードスロット４０に挿入された時点で、どちらの動作モードでデータ転送をすべきかを判定しているので、実際にＣＦカード５０とデータ転送をする要求が発生した際には、速やかにデータ転送の処理に入ることができる。このため、データ転送の際のユーザの待ち時間も、その分、短くすることができる。
【００６９】
さらに、本実施形態に係る情報処理装置１０によれば、カード電源ディスチャージ回路６４を設け、カード電源がオンになっている場合には、カード電源の電源配線をグランドから切り離すが、カード電源がオフになっている場合には、カード電源の電源配線をグランドに接続するようにした。このため、カード電源をオンからオフに切り換える際に、カード電源を短い時間で立ち下げることができる。特に、ステップＳ３４において、ＴｒｕｅＩＤＥモードでＩｄｅｎｔｉｆｙＤｅｖｉｃｅコマンドを実行する場合には、カード電源を一旦オフにしてからＣＦカード５０を立ち上げなおす必要があるが、このカード電源ディスチャージ回路６４が設けられていることにより、短い時間で、ＣＦカード５０をＴｒｕｅＩＤＥモードに切り換えることができるようになる。
【００７０】
また、ユーザがＣＦカード５０をカードスロット４０から抜く際にも、ＣＦカード５０に供給されているカード電源は自動的にオフにする必要があるが、本実施形態によれば、これまでよりも短い時間でカード電源を立ち下げることができるので、ユーザが素早くＣＦカード５０を抜いたような場合でも、ＣＦカード５０にダメージを与えないようにすることができる。
【００７１】
さらに、本実施形態によれば、カード電源をＣＦカード５０に供給している間は、カード電源の電源配線がグランドから切り離されるようにしたので、カード電源の無駄な消費を抑制することができる。すなわち、カード電源の電源配線を、単純に抵抗を介してグランドに常時接続してしまう手法も考えられるが、この場合、カード電源がオンになっている間は定常的に抵抗を介してグランドに電流が流れてしまい、無駄な電力消費が発生してしまう。これに対して、本実施形態では、カード電源がオンになっている間は、カード電源の電源配線がグランドから切り離されるので、このような無駄な電力消費を回避することができる。特に、無駄な電力消費を抑制することは、少しでもバッテリによる連続動作時間を長くしたいデジタルカメラや携帯型の情報端末などの情報処理装置では重要である。
【００７２】
〔第２実施形態〕
上述した第１実施形態では、ＣＦカード５０がカードスロット４０に挿入された際に、ＣＦカード５０と通信可能な速度を判断することとしたが、第２実施形態では、ＣＦカード５０と実際にデータのやり取りをする要求が発生した時点で、ＣＦカード５０と通信可能な速度を判断するようにしたものである。以下、上述した第１実施形態と異なる部分を説明する。
【００７３】
図１１乃至図１３は、第２実施形態に係るカードアクセス処理を説明するフローチャートを示す図である。このカードアクセス処理は、情報処理装置１０が実際にＣＦカード５０とデータのやり取りをする必要が生じた際に起動される処理である。すなわち、ＣＦカード５０にデータを書き込んだり、ＣＦカード５０からデータを読み出したりする必要が生じた際に、起動される処理である。また、このカードアクセス処理は、ＲＯＭ２４又はハードディスクドライブ２６に格納されたカードアクセスプログラムをＣＰＵ２０が読み込んで実行することにより、実現される処理である。なお、本実施形態では、ＣＦカード５０がカードスロット４０に挿入された時点では、上述した第１実施形態におけるカードアクセス事前処理は起動されないこととなる。
【００７４】
まず、図１１に示すように、情報処理装置１０は、カードコントローラ６０の初期化を行う（ステップＳ２００）。
【００７５】
次に、情報処理装置１０は、ＣＦカード５０のＲＥＳＥＴ信号をアサートする（ステップＳ２０２）。続いて、情報処理装置１０は、カード電源制御信号をローレベルからハイレベルにして、カード電源を立ち上げる（ステップＳ２０４）。この時は、メモリモードでＣＦカード５０を立ち上げる。
【００７６】
次に、情報処理装置１０は、カード電源が安定するまで待った後、カードコントローラ６０のカード側のインターフェースを、ハイインピーダンス状態から出力可能状態に切り換える（ステップＳ２０６）。続いて、情報処理装置１０は、ＲＥＳＥＴ信号をネゲートする（ステップＳ２０８）。
【００７７】
次に、図１２に示すように、情報処理装置１０は、メモリモードで、カード属性情報であるＣＩＳ情報を読み出す（ステップＳ２２０）。
【００７８】
次に、情報処理装置１０は、この読み出したＣＩＳ情報に基づいて、挿入されているＣＦカード５０のメモリモードにおけるサイクル時間を調べて取得する（ステップＳ２２２）。具体的なサイクル時間の判断手法は、上述した第１実施形態におけるステップＳ３２と同様である。
【００７９】
次に、情報処理装置１０は、ＩｄｅｎｔｉｆｙＤｅｖｉｃｅコマンドを実行し（ステップＳ２２４）、ＴｒｕｅＩＤＥモードのサイクル時間を取得する（ステップＳ２２６）。具体的なサイクル時間の判断手法は、上述した第１実施形態におけるステップＳ３６と同様である。また、ＩｄｅｎｔｉｆｙＤｅｖｉｃｅコマンドを、メモリモードとＴｒｕｅＩＤＥモードのいずれで実行してもよいことも、上述した第１実施形態と同様である。
【００８０】
次に、情報処理装置１０は、図１０のモード選択テーブルＴＢ１０を参照して、データ転送に使用する動作モードを選択する（ステップＳ２２８）。すなわち、上述した第１実施形態の図１０のモード選択テーブルＴＢ１０を用いて、通信速度の速い方の動作モードを選択する。
【００８１】
次に、情報処理装置１０は、カードコントローラ６０の設定を行う（ステップＳ２２９）。すなわち、ステップ２２８で選択した動作モードにカードコントローラ６０を適合させるための設定を行う。
【００８２】
次に、図１３に示すように、情報処理装置１０は、ステップＳ２８８で選択したモードを用いて、実際のデータ転送を実行する（ステップＳ２３０）。すなわち、ＣＦカード５０へのアクセス要求がＣＦカード５０へのデータの書き込みであれば、ステップＳ２２８で選択した動作モードでデータの書き込みを行い、ＣＦカード５０へのアクセス要求がＣＦカード５０からのデータの読み出しであれば、ステップＳ２２８で選択した動作モードでデータの読み出しを行う。このときの通信速度は、ステップＳ２２２で特定されたサイクル時間に基づく通信速度か、又は、ステップＳ２２６で特定されたサイクル時間に基づく通信速度である。
【００８３】
このＣＦカード５０とのデータ転送が完了した場合、情報処理装置１０は、ＣＦカード５０への最後のアクセスから、所定の時間（例えば６０秒）が経過したかどうかを判断する（ステップＳ２３２）。この所定の時間を経過していない場合（ステップＳ２３２：ＮＯ）には、このステップＳ２３２の処理を繰り返す。そして、再び、ＣＦカード５０へのアクセスが発生した場合には、ステップＳ２２８で選択した動作モードでデータ転送を行う。
【００８４】
一方、ＣＦカード５０に最後にアクセスしてから所定の時間を経過した場合（ステップＳ２３２：ＹＥＳ）には、情報処理装置１０は、ＣＦカード５０のＲＥＳＥＴ信号をアサートする（ステップＳ２３４）。続いて、情報処理装置１０は、カードコントローラ６０のカード側のインターフェースを、出力可能状態からハイインピーダンス状態に切り換える（ステップＳ２３６）。
【００８５】
次に、情報処理装置１０は、カード電源制御信号をハイレベルからローレベルにして、カード電源をオフにする（ステップＳ２３８）。本実施形態では、次のＣＦカード５０にアクセスしてデータのやり取りをする要求がいつ発生するかは不明であることから、消費電力の低減を図るため、ＣＦカード５０へのカード電源の供給を一旦停止することとしている。これにより、本実施形態に係るカードアクセス処理が終了する。
【００８６】
以上のように、本実施形態に係る情報処理装置１０によっても、メモリモードで対応している通信速度と、ＴｒｕｅＩＤＥモードで対応している通信速度とを調べ、通信速度の速い方の動作モードでデータのやり取りを行うようにしたので、ＣＦカード５０とデータをやり取りするのに要するユーザの待ち時間を、可及的に短くすることができる。
【００８７】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、カード型媒体としてＣＦカード（コンパクトフラッシュ（登録商標）カード）を例に説明したが、他の種類のカード型媒体であっても同様に本発明を適用することができる。すなわち、カード型媒体に対してデータの読み書きを行う前に事前処理が必要となる情報処理装置について、本発明を適用することができる。より具体的には、異なる２つ以上の動作モードを有し、これらの動作モードで通信速度が異なるカード型媒体とデータのやり取りをする場合に、本発明を適用できる。
【００８８】
また、本発明は、上述したメモリモード、ＴｒｕｅＩＤＥモード、カードＩ／Ｏモード以外の様々な動作モードについても本発明を適用することができる。すなわち、カード型媒体の種類に応じて、様々な動作モードが用意されているため、この用意されている動作モードに応じて、本発明を適用することができる。
【００８９】
また、上述した実施形態では、図１０のモード選択テーブルＴＢ１０に基づいて、メモリモードにおける通信速度とＴｒｕｅＩＤＥモードにおける通信速度のどちらの通信速度が速いかを判断し、データのやり取りを行う動作モードを選択することとしたが、取得したそれぞれのサイクル時間に基づいて、データのやり取りを行う動作モードを選択するようにしてもよい。すなわち、上述したように、メモリモードとＴｒｕｅＩＤＥモードの間では、サイクル時間が短い方が通信速度が必ずしも速いとは限らないが、一般的にはサイクル時間の短い方が通信速度の速い可能性が高いので、メモリモードにおけるサイクル時間の方が短ければ、データのやり取りを行う動作モードとしてメモリモードを選択し、ＴｒｕｅＩＤＥモードにおけるサイクル時間の方が短ければ、データのやり取りを行う動作モードとしてＴｒｕｅＩＤＥモードを選択するようにしてもよい。このようにすることにより、モード選択テーブルＴＢ１０を格納しておくべきＲＯＭ２４内又はハードディスクドライブ２６内の容量を削減できる。したがって、どちらの通信速度の方が速いかを判断する手法は、任意に変更可能であると言える
また、上述の実施形態で説明したカードアクセス事前処理及びカードアクセス処理については、このカードアクセス事前処理又はカードアクセス処理を実行するためのプログラムをフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＲＯＭ、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、この記録媒体に記録されたプログラムを情報処理装置１０に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
【００９０】
また、情報処理装置１０は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、情報処理装置１０の備える他のプログラムを活用するために、その情報処理装置１０が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を含むプログラムを、記録媒体に記録するようにしてもよい。
【００９１】
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、情報処理装置１０に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
【００９２】
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだ情報処理装置１０は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
【００９３】
さらに、上述した実施形態では、カードアクセス事前処理をソフトウェアにより実現することとしたが、ＡＳＩＣ（Application Specific IC）等のハードウェアにより実現するようにしてもよい。
【図面の簡単な説明】
【００９４】
【図１】本発明の第１実施形態及び第２実施形態に係る情報処理装置の内部構成を説明するためのブロック図である。
【図２】図１の情報処理装置が備えるカード電源ディスチャージ回路の回路構成の一例を示す図である。
【図３】カード電源ディスチャージ回路がない情報処理装置におけるカード電源とカード電源制御の動作波形の一例を示す図である。
【図４】カード電源ディスチャージ回路がある情報処理装置におけるカード電源とカード電源制御の動作波形の一例を示す図である。
【図５】図１に示す情報処理装置が実行する第１実施形態に係るカードアクセス事前処理の一例を説明するためのフローチャートを示す図である（その１）。
【図６Ａ】図１に示す情報処理装置が実行する第１実施形態に係るカードアクセス事前処理の一例を説明するためのフローチャートを示す図である（その２）。
【図６Ｂ】図１に示す情報処理装置が実行する第１実施形態に係るカードアクセス事前処理の一例を説明するためのフローチャートを示す図である（その３）。
【図７】メモリモードで対応しているサイクル時間の一覧を示す図である。
【図８】ＴｒｕｅＩＤＥモードのＰＩＯモードで対応しているサイクル時間の一覧を示す図である。
【図９】挿入されたＣＦカードがＴｒｕｅＩＤＥモードのＰＩＯモードで対応している通信速度（ＰＩＯモード）を判定するためのモード判定処理の一例を説明するためのフローチャートを示す図である。
【図１０】メモリモードにおける通信速度とＴｒｕｅＩＤＥモードにおける通信速度のどちらが速いかを判断するためのモード選択テーブルの一例を示す図。
【図１１】図１に示す情報処理装置が実行する第２実施形態に係るカードアクセス処理の一例を説明するためのフローチャートを示す図である（その１）。
【図１２】図１に示す情報処理装置が実行する第２実施形態に係るカードアクセス処理の一例を説明するためのフローチャートを示す図である（その２）。
【図１３】図１に示す情報処理装置が実行する第２実施形態に係るカードアクセス処理の一例を説明するためのフローチャートを示す図である（その３）。
【符号の説明】
【００９５】
１０  情報処理装置
２０  ＣＰＵ
２２  ＲＡＭ
２４  ＲＯＭ
２６  ハードディスクドライブ
３０  ユーザインターフェース
３２  ビデオデコーダ
３４  表示画面
４０  カードスロット
５０  ＣＦカード
６０  カードコントローラ
６２  カード電源制御回路
６４  カード電源ディスチャージ回路
【図１】
2007183879.tif 000003
【図２】
2007183879.tif 000004
【図３】
2007183879.tif 000005
【図４】
2007183879.tif 000006
【図５】
2007183879.tif 000007
【図６Ａ】
2007183879.tif 000008
【図６Ｂ】
2007183879.tif 000009
【図７】
2007183879.tif 000010
【図８】
2007183879.tif 000011
【図９】
2007183879.tif 000012
【図１０】
2007183879.tif 000013
【図１１】
2007183879.tif 000014
【図１２】
2007183879.tif 000015
【図１３】
2007183879.tif 000016