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