JP2009163556A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2009163556A
JP2009163556A JP2008001357A JP2008001357A JP2009163556A JP 2009163556 A JP2009163556 A JP 2009163556A JP 2008001357 A JP2008001357 A JP 2008001357A JP 2008001357 A JP2008001357 A JP 2008001357A JP 2009163556 A JP2009163556 A JP 2009163556A
Authority
JP
Japan
Prior art keywords
card
operation mode
mode
communication speed
type medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008001357A
Other languages
English (en)
Inventor
Kenji Yoshida
田 健 二 吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008001357A priority Critical patent/JP2009163556A/ja
Priority to US12/319,536 priority patent/US8078783B2/en
Publication of JP2009163556A publication Critical patent/JP2009163556A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】カード型媒体とデータのやり取りをする際に、複数の動作モードが存在する場合でも、適切な動作モードを選択することのできる情報処理装置を提供する。
【解決手段】情報処理装置は、カード型媒体が挿入されるカードスロットと、3種類の通信速度で動作する、第1の動作モード、第2の動作モード、第3の動作モードと、前記第2の動作モードで、割り込みを発生させることなくデータのやり取りをすることのできる、無割込最大データサイズ取得手段と、第1通信速度と第2通信速度と第3通信速度と前記無割込最大データサイズとに基づいて、前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、どの動作モードで前記カード型媒体とデータのやり取りをすれば最も速いかを判断する判断手段と、、前記判断手段で最も速いと判断された動作モードを選択するデータ通信手段とを備えている。
【選択図】図1

Description

本発明は、情報処理装置に関し、特に、カード型媒体とデータのやり取りをする動作モードが複数存在する場合に、適切な動作モードを選択することのできる情報処理装置に関する。
パーソナルコンピュータなどの情報処理装置でデータを保存したり、データ通信をしたりするためのカード型媒体として、CF(コンパクトフラッシュ(登録商標))カードがある。このCFカードに対応した情報処理装置には、CFカード用のカードスロットが設けられており、ユーザがこのカードスロットにCFカードを挿入することにより、情報処理装置はこのCFカードにアクセスができるようになる。
CFカードには、メモリカードとIOカードの2種類があるが、情報処理装置が、カードスロットに挿入されたメモリカードであるCFカードとデータのやり取りをする場合、メモリモードとTrueIDEモードの2つの動作モードのうちのいずれかのモードで行う必要がある。いずれの動作モードでCFカードとデータのやり取りをするかは任意であるが、TrueIDEモードでアクセスした方が、その通信速度が速いことが多いことから、これまでは、挿入されたCFカードの対応する動作モードを情報処理装置が調べ、TrueIDEモードに対応しているCFカードについてはTrueIDEモードでアクセスし、TrueIDEモードに対応していないCFカードについてはメモリモードでアクセスすることとしていた(例えば、特開2004−355476号公報参照)。
しかしながら、一部のCFカードにおいては、メモリモードにおける通信速度の方が、TrueIDEモードにおける通信速度より、速い場合があり、このような場合は、メモリモードでCFカードとデータのやり取りをした方が、データ転送時間を短くすることができる。
また、TrueIDEモードでは、PIOモードとともにUltra DMAモードも制定されており、このTrueIDEモードのUltra DMAモードを用いると、TrueIDEモードのPIOモードでデータのやり取りをするよりも、データ転送時間を短くすることができる。したがって、CFカードが対応している動作モードを適切に把握して、最もデータ転送時間が短くなる動作モードを選択することが、ユーザの利便性向上につながる。
特開2004−355476号公報
そこで本発明は、前記課題に鑑みてなされたものであり、カード型媒体とデータのやり取りをする際に、複数の動作モードが存在する場合でも、適切な動作モードを選択することのできる情報処理装置を提供することを目的とする。
上記課題を解決するため、本発明に係る情報処理装置は、
カード型媒体が挿入されるカードスロットと、
第1の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第1通信速度を取得する、第1通信速度取得手段と、
第2の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第2通信速度を取得する、第2通信速度取得手段と、
第3の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第3通信速度を取得する、第3通信速度取得手段と、
前記第2の動作モードで前記カード型媒体とデータのやり取りを行う場合に、割り込みを発生させることなくデータのやり取りをすることのできる最大のデータサイズである無割込最大データサイズを取得する、無割込最大データサイズ取得手段と、
前記第1通信速度と前記第2通信速度と前記第3通信速度と前記無割込最大データサイズとに基づいて、前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、どの動作モードで前記カード型媒体とデータのやり取りをすれば最も速いかを判断する、判断手段と、
前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、前記判断手段で最も速いと判断された動作モードで、前記カード型媒体とデータのやり取りをする、データ通信手段と、
を備えることを特徴とする。
この場合、前記第1通信速度取得手段は、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第1通信速度を取得し、
前記第2通信速度取得手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第2通信速度を取得し、
前記第3通信速度取得手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第3通信速度を取得し、
前記無割込最大データサイズ取得手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記無割込最大データサイズを取得し、
前記判断手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、どの動作モードが最も速いかを判断するようにしてもよい。
また、前記第2の動作モードでは、複数の前記無割込最大データサイズが予め定められており、
当該情報処理装置は、前記無割込最大データサイズ毎に形成されたモード選択テーブルをさらに複数備えており、
それぞれの前記モード選択テーブルでは、それぞれの無割込最大データサイズを用いて第2の動作モードでデータのやり取りをした場合に、前記第1通信速度の値と前記第2通信速度の値の組み合わせ毎に、前記第1の動作モードでデータのやり取りをした方が速いのか、前記第2の動作モードでデータのやり取りをした方が速いのかがテーブル化されて示されており、
前記判断手段は、前記複数のモード選択テーブルのうち、前記カードスロットに挿入された前記カード型媒体の無割込最大データサイズに対応するモード選択テーブルを選択し、この選択したモード選択テーブルを参照して、前記第1の動作モードと前記第2の動作モードのうち、どちらの動作モードで前記カード型媒体とデータのやり取りをした方が速いかを判断するようにしてもよい。
また、前記カード型媒体は、コンパクトフラッシュカード(登録商標)であってもよい。
この場合、前記第1の動作モードはメモリモードであり、
前記第2の動作モードはTrueIDEモードのPIOモードであり、
前記第3の動作モードはTrueIDEモードのUltra DMAモードであり、
前記無割込最大データサイズは、最大セクタ数であってもよい。
この場合、前記カード型媒体が、Ultra DMAモードに対応している場合には、前記判断手段は、最も速い動作モードとして、Ultra DMAモードを選択するようにしてもよい。
本発明に係る情報処理装置の制御方法は、カード型媒体が挿入されるカードスロットを有する情報処理装置の制御方法であって、
第1の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第1通信速度を取得するステップと、
第2の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第2通信速度を取得するステップと、
第3の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第3通信速度を取得するステップと、
前記第2の動作モードで前記カード型媒体とデータのやり取りを行う場合に、割り込みを発生させることなくデータのやり取りをすることのできる最大のデータサイズである無割込最大データサイズを取得するステップと、
前記第1通信速度と前記第2通信速度と前記第3通信速度と前記無割込最大データサイズとに基づいて、前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、どの動作モードで前記カード型媒体とデータのやり取りをすれば最も速いかを判断するステップと、
前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、最も速いと判断された動作モードで、前記カード型媒体とデータのやり取りをするステップと、
を備えることを特徴とする。
本発明に係るプログラムは、カード型媒体が挿入されるカードスロットを有する情報処理装置を制御するためのプログラムであって、
第1の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第1通信速度を取得するステップと、
第2の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第2通信速度を取得するステップと、
第3の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第3通信速度を取得するステップと、
前記第2の動作モードで前記カード型媒体とデータのやり取りを行う場合に、割り込みを発生させることなくデータのやり取りをすることのできる最大のデータサイズである無割込最大データサイズを取得するステップと、
前記第1通信速度と前記第2通信速度と前記第3通信速度と前記無割込最大データサイズとに基づいて、前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、どの動作モードで前記カード型媒体とデータのやり取りをすれば最も速いかを判断するステップと、
前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、最も速いと判断された動作モードで、前記カード型媒体とデータのやり取りをするステップと、
を情報処理装置に実行させることを特徴とする。
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
図1は、本実施形態に係る情報処理装置10の内部構成の一例を説明するブロック図である。情報処理装置10は、カードスロットを備える種々の情報処理装置で構成することが可能であり、例えば、小型の携帯情報端末やデジタルカメラ、ノート型若しくはディスクトップ型のコンピュータなどで構成可能である。
この図1に示すように、本実施形態に係る情報処理装置10は、CPU(Central Processing Unit)20と、RAM(Random Access Memory)22と、ROM(Read Only 0Memory)24と、ハードディスクドライブ26と、ユーザインターフェース30と、ビデオデコーダ32と、表示画面34とを備えて構成されている。
CPU20とRAM22とROM24とハードディスクドライブ26とは、内部バスを介して相互に接続されている。このため、CPU20は、内部バスを介して、これらRAM22、ROM24、ハードディスクドライブ26に任意にアクセス可能である。
CPU20からは、画像データがビデオデコーダ32に出力され、このビデオデコーダ32で画像データがデコードされて、表示画面34に表示される。この表示画面34は、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などにより構成されている。なお、この表示画面34は、情報処理装置10に一体に組み込まれていてもよいし、情報処理装置10の外部に外付けで設けられていてもよい。
また、CPU20には、ユーザインターフェース30から様々なユーザの操作指示が入力される。このユーザインターフェース30は、例えば、1又は複数のボタンや、キーボード、ポインティングデバイスなどから構成することができ、また、これらの組み合わせから構成することができる。図1の例では、情報処理装置10自体にユーザインターフェース30が設けられて構成されているが、このユーザインターフェース30は情報処理装置10の外部に外付けで設けられていてもよい。CPU20では、ユーザインターフェース30からの操作指示に基づいて、様々な処理を実行する。
また、本実施形態に係る情報処理装置10には、カードスロット40が設けられている。本実施形態では、このカードスロット40には、CFカード50がユーザにより挿入される。CFカード50には、例えば、静止画データや動画データが格納されており、これを情報処理装置10が読み込んで、表示画面34に表示する。
本実施形態では、このカードスロット40には、ユーザにより、様々な種類のCFカード50が挿入されることが想定されている。すなわち、カードスロット40には、様々なモードに対応しているCFカード50が挿入されることが想定されている。
特に、ここでは、このカードスロット40には、メモリモードとTrueIDEモードの双方で動作可能なメモリカードが、CFカードとして挿入されることを仮定する。本実施形態では、カードI/Oモードで動作可能なI/Oカードがカードスロット40に挿入された場合はエラーとなる。無論、これ以外の規格が新たに制定されれば、新たな規格のCFカードが、情報処理装置10に挿入されることもあり得る。
このカードスロット40に挿入されたCFカード50の制御は、CPU20からカードコントローラ60を介して行われる。すなわち、カードスロット40にCFカード50が挿入されたかどうかを、CPU20は、カードスロット40から出力されるカード検出信号に基づいて判断する。また、CFカード50が挿入されている場合には、CPU20は、モード切り換え信号をカードコントローラ60に出力し、メモリモードでアクセスするか、TrueIDEモードでアクセスするかの切り換えを行う。また、情報処理装置10がカードI/Oモードをサポートしている場合には、このモード切り換え信号により、カードI/Oモードへの切り替えも行う。
このカードコントローラ60とカードスロット40との間は、カード用バスで接続されており、カードコントローラ60を介して、データのやり取りがCPU20とカードスロット40に挿入されたCFカード50との間で行われる。
また、カードスロット40に挿入されたCFカード50には、カード電源制御回路62から電源配線を介してカード電源が供給される。カード電源制御回路62がカード電源を供給するかどうかは、CPU20が出力するカード電源制御信号に基づいて制御される。すなわち、CPU20がCFカード50が挿入されたことを検出した場合や、CPU20がCFカード50にアクセスしようとしている場合には、CPU20はカード電源制御回路62にカード電源を供給するカード電源制御信号を出力する。これとは逆に、CFカード50が抜去されたことをCPU20が検出した場合や、カードアクセス状態からCPU20が抜け出た場合には、CPU20はカード電源制御回路62にカード電源の供給を停止するカード電源制御信号を出力する。例えば、本実施形態では、カード電源を供給する場合のカード電源制御信号はハイレベルであり、カード電源を供給しない場合のカード電源制御信号はローレベルである。
本実施形態においては、このCPU20から出力されたカード電源制御信号は、カード電源ディスチャージ回路64にも供給されている。カード電源ディスチャージ回路64は、このカード電源制御信号に基づいて、動作がオン/オフするように構成されている。すなわち、カード電源を供給しないカード電源制御信号である場合には、カード電源ディスチャージ回路64は、動作状態となり、カード電源を供給する電源配線を、抵抗を介してグランドに接続する。このため、カード電源がオンからオフに切り替わった際には、このカード電源の電源配線がディスチャージ回路64により強制的にディスチャージされて、カード電源が急速にグランドレベルまで下がることとなる。逆に、カード電源を供給するカード電源制御信号である場合には、カード電源ディスチャージ回路64は、非動作状態となり、カード電源の電源配線はグランドに接続されない。このため、カード電源を供給している間に無駄な電流が、電源配線からグランドに流れてしまうのを回避することができる。但し、本実施形態では、カードディスチャージ回路64は、必ずしも必要な回路ではなく、省くことも可能である。
なお、どのような条件でカード電源をオンにして、どのような条件でカード電源をオフにするかは、情報処理装置10やCFカード50の仕様により種々に設定される。
次に、図2乃至図4を用いて、情報処理装置10が定常的に実行しているカードアクセス処理を説明する。このカードアクセス処理は、ROM24又はハードディスクドライブ26に格納されているカードアクセス処理プログラムをCPU20が読み込んで実行することにより実現する処理である。また、このカードアクセス処理は、情報処理装置10の電源がオンになった時点で、自動的に起動される処理である。
図2に示すように、情報処理装置10は、カードスロット40で新たなCFカード50が検出されたかどうかを判断する(ステップS10)。本実施形態においては、上述したカードスロット40から出力されるカード検出信号に基づいて、新たなCFカード50がカードスロット40に挿入されたかどうかを判断する。より具体的には、情報処理装置10は、カードスロット40におけるCD1信号及びCD2信号の両方の信号がハイレベルからローレベルに変化した場合に、新たなCFカード50がカードスロット40に挿入されたと判断する。さらに、本実施形態では、情報処理装置10は、この情報処理装置10本体の電源がオンになった際にカードスロット40におけるCD1信号及びCD2信号を確認し、これらCD1信号及びCD2信号が電源をオンにした際にローレベルである場合にも、既にCFカード50がカードスロット40に挿入されている状態にあるので、新たなCFカード50がカードスロット40に挿入されていると判断する。すなわち、本実施形態では、CFカード50が挿入されている間は、これらCD1信号及びCD2信号はローレベルになり、CFカード50が挿入されていない間は、これらCD1信号及びCD2信号はハイレベルになる。
ステップS10で新たなCFカード50が検出されないと判断した場合(ステップS10:NO)には、このステップS10を繰り返して、カードスロット40に新たなCFカード50が検出されるまで待機する。
一方、ステップS10で新たなCFカード50がカードスロット40で検出されたと判断した場合(ステップS10:YES)には、情報処理装置10は、カードコントローラ60の初期化を行う(ステップS12)。
次に、情報処理装置10は、CFカード50のRESET信号をアサートする(ステップS14)。続いて、情報処理装置10は、カード電源制御信号をローレベルからハイレベルにして、カード電源を立ち上げる(ステップS16)。この時は、メモリモードでCFカード50を立ち上げる。
次に、情報処理装置10は、カード電源が安定するまで待った後、カードコントローラ60のカード側のインターフェースを、ハイインピーダンス状態から出力可能状態に切り換える(ステップS18)。続いて、情報処理装置10は、RESET信号をネゲートする(ステップS20)。
次に、図3に示すように、情報処理装置10は、メモリモードで、カード属性情報であるCIS情報を読み出す(ステップS30)。
次に、情報処理装置10は、この読み出したCIS情報に基づいて、挿入されているCFカード50のメモリモードにおけるサイクル時間を調べて取得する(ステップS32)。
図5は、CFカード50がメモリモードで対応している可能性のあるサイクル時間の一覧を示す図である。この図5に示すように、本実施形態では、CFカード50は、250ns、150ns、120ns、100ns、80nsのいずれかのサイクル時間で、動作する。CFカードがどのサイクル時間に対応しているかは、CIS情報のうちのCISTPL_DEVICEタプル内のバイト2におけるデバイスIDのビット2〜ビット0を見ることにより判断できる。したがって、ステップS32では、読み出したCIS情報に基づいて、挿入されているCFカード50がどのサイクル時間で動作するのかを特定し、このサイクル時間に基づいて、メモリモードの通信速度を特定する。ここでサイクル時間は、基本動作クロックの1サイクルの時間であるので、サイクル時間が短いほど、基本動作は速くなることを意味している。
なお、150nsのサイクル時間については、CF+ and Compact Flash Specification Revision 4.1の規格では対応していないが、通常のCFカード50やハードディスクドライブを内蔵したマイクロドライブで150nsのサイクル時間で動作する仕様のカードも存在する。このため、本実施形態に係る情報処理装置10では、150nsのサイクル時間で動作するCFカード50やマイクロドライブにも対応できるようにしている。
次に、情報処理装置10は、IDENTIFY DEVICEコマンドを実行し(ステップS34)、TrueIDEモードにおけるPIOモードのサイクル時間を取得する(ステップS36)。すなわち、TrueIDEモードでも、CFカード50の種類によって、対応可能な動作モードが異なり、対応可能な動作モードによって通信速度、つまりサイクル時間が異なる。このため、情報処理装置10は、対応可能な動作モードを調べる必要がある。
一般に、TrueIDEモードの動作モードには、大きく分けて、PIOモード、Multiword DMAモード、Ultra DMAモードの3つがある。これらの3つの動作モードには、それぞれ、対応速度別にいくつかのモードが用意されている。本実施形態に係る情報処理装置10では、これら3つの動作モードのうち、PIOモードとUltra DMAモードの2つに対応していると仮定する。
さらに、本実施形態に係る情報処理装置10は、PIOモードのうち、最新のリビジョンであるRevision4.1版(CF+ and Compact Flash Specification Revision 4.1)に対応していると仮定する。Revision4.1のPIOモードでは、PIOモード0からPIOモード6まで定義されているので、挿入されているCFカード50が、このいずれのPIOモードに対応しているかを判断する。また、Revision4.1のUltra DMAモードでは、Ultra DMAモード0からUltra DMAモード6まで定義されているので、挿入されているCFカード50が、このいずれのUltra DMAモードに対応しているかを判断する。
図6は、PIOモードで定義されているモード0〜モード6のサイクル時間の一覧を示す図である。この図6に示すように、PIOモードでは、PIOモード0が最も通信速度が遅く、サイクル時間が600nsであり、PIOモード6に行くに従って通信速度が速くなり、PIOモード6ではサイクル時間は80nsである。
なお、このIDENTIFY DEVICEコマンドは、メモリモードで実行してもよいし、TrueIDEモードで実行してもよい。メモリモードでIDENTIFY DEVICEコマンドを実行する場合には、ステップS30の後、そのまま、このIDENTIFY DEVICEコマンドを実行すればよい。一方、TrueIDEモードでIDENTIFY DEVICEコマンドを実行する場合には、一旦、CFカード50へのカード電源の供給を停止し、このカード電源が十分に立ち下がった後に、OE信号をグランドレベルに固定して再びカード電源の供給を開始することにより、CFカード50をTrueIDEモードで立ち上げ直し、IDENTIFY DEVICEコマンドを実行する必要がある。
次に、情報処理装置10は、CFカード50のREAD/WRITE MULTIPLEのブロック内の最大セクタ数を取得する(ステップS38)。具体的には、ステップS34で実行したIDENTIFY DEVICEコマンドで得られたREAD/WRITE MULTIPLEサポートの最大セクタ数を取得する。本実施形態では、IDENTIFY DEVICEコマンドに対するCFカード50からの応答のうち、ワード47のビット7〜0の8ビットの値を調べ、ワード47のビット7〜0の8ビットが示す値がいくつであるかで判定する。
ワード47のビット7〜0の8ビットが示す最大セクタ数の値としては、2、4、8、16、32、64、128が理論上有り得るが、現在市販されている製品を見る限り、2、4、8のいずれかであることが多い。このため、本実施形態では、この最大セクタ数は、2、4、8のいずれかであることを前提とする。但し、最大セクタ数が他の値であることも想定して、設計するようにしてもよい。
CFカード50とのデータのやり取りで、通常のREAD SECTORコマンドやWRITE SECTORコマンドを用いる場合、データ転送にあたり、1セクタ毎に割り込みが発生する。一方、READ MULTIPLEコマンドやWRITE MULTIPLEコマンドを用いる場合、設定されたセクタ毎にしか、割り込みが発生しない。このため、READ MULTIPLEコマンドやWRITE MULTIPLEコマンドでデータ転送を行った方が、通常のREAD SECTORコマンドやWRITE SECTORコマンドでデータ転送を行うよりも、データ転送に要する時間を短縮できる。READ MULTIPLEコマンドやWRITE MULTIPLEコマンドを用いる場合のセクタ数の設定は、SET MULTIPLE MODEコマンドにより行う。なお、セクタ数の設定は、この値が大きいほど割り込みの頻度が減少するので、CFカード50がサポートしている最大セクタ数で設定すればよい。
次に、図3に示すように、情報処理装置10は、CFカード50が、Ultra DMAモードに対応しているかどうか、及び、対応しているとすれば、どのUltra DMAモードであるかを確認する(ステップS40)。
図7は、Ultra DMAモードで定義されているUltra DMAモード0〜モード6のサイクル時間の一覧を示す図である。この図7に示すように、Ultra DMAモードでは、モード0が最も通信速度が遅く、そのサイクル時間が112nsであり、モード6に行くに従って通信速度が速くなり、モード6ではそのサイクル時間は13nsである。
本実施形態では、IDENTIFY DEVICEコマンドに対するCFカード50からの応答のうち、ワード88のビット6〜ビット0の7ビットの値を調べ、このCFカード50が、Ultra DMAモードに対応しているかどうか、及び、対応しているとすれば、どのUltra DMAモードであるかを判断する。
具体的には、ワード88のビット6〜ビット0の全7ビットがすべて0の場合には、このCFカード50は、Ultra DMAモードには対応していないと判断する。これに対して、ビット6が1である場合には、このCFカード50は、Ultra DMAモード6に対応していると判断し、ビット5が1である場合には、このCFカード50は、Ultra DMAモード5に対応していると判断し、ビット4が1である場合には、このCFカード50は、Ultra DMAモード4に対応していると判断し、ビット3が1である場合には、このCFカード50は、Ultra DMAモード3に対応していると判断し、ビット2が1である場合には、このCFカード50は、Ultra DMAモード2に対応していると判断し、ビット1が1である場合には、このCFカード50は、Ultra DMAモード1に対応していると判断する。
次に、図3に示すように、情報処理装置10は、モード選択テーブルを参照して、データ転送に使用する動作モードを選択する(ステップS42)。図8乃至図11は、本実施形態に係るモード選択テーブルの構成の一例を示す図である。本実施形態では、これらのモード選択テーブルは、ROM24又はハードディスクドライブ26に予め格納されている。
これら図8から図11は、CFカード50が、Ultra DMAモードをサポートしていない場合に使用するモード選択テーブルTB10〜TB40を示している。すなわち、図8は、CFカード50が、READ MULTIPLEコマンドやWRITE MULTIPLEコマンドをサポートしていない場合に使用するモード選択テーブルTB10を示している。図9は、CFカード50における、READ MULTIPLEコマンドやWRITE MULTIPLEコマンドの最大セクタ数が2である場合に使用するモード選択テーブルTB20を示している。図10は、CFカード50における、READ MULTIPLEコマンドやWRITE MULTIPLEコマンドの最大セクタ数が4である場合に使用するモード選択テーブルTB30を示している。図11は、CFカード50における、READ MULTIPLEコマンドやWRITE MULTIPLEコマンドの最大セクタ数が8である場合に使用するモード選択テーブルTB40を示している。
これらの図から分かるように、モード選択テーブルTB10〜TB40は、メモリモードで対応しているサイクル時間と、TrueIDEモードで対応しているPIOモードと、TrueIDEモードで対応しているUltra DMAモードとを比較して、通信速度が速いのは、どの動作モードであるのかを示す一覧表である。また、これらモード選択テーブルTB10〜TB40は、この一覧表を最大セクタ数別に示している。
本実施形態では、情報処理装置10は、CFカード50がUltra DMAモードに対応している場合には、メモリモードで対応している動作モードや、PIOモードで対応している動作モードに拘わらず、動作モードとして、Ultra DMAモードを選択する。これは、メモリモードやPIOモードを選択するよりも、Ultra DMAモードを選択した方が、ユーザのデータ転送待ち時間は一般に短くなるからである。
一方、CFカード50がUltra DMAモードに対応していない場合には、情報処理装置10は、モード選択テーブルTB10〜TB40に基づいて、いずれの動作モードでデータのやり取りをすべきかを判断する。
例えば、CFカード50がUltra DMAモードに対応しておらず、且つ、CFカード50がREAD MULTIPLEコマンドやWRITE MULTIPLEコマンドをサポートしていない場合には、情報処理装置10は、モード選択テーブルTB10を参照する。そして、例えば、CFカード50が、メモリモードにおいては250nsのサイクル時間に対応しており、TrueIDEモードにおいては283nsのPIOモード1に対応している場合には、動作モードとしてメモリモードを選択する。
一方、例えば、CFカード50がUltra DMAモードに対応しておらず、且つ、READ MULTIPLEコマンドやWRITE MULTIPLEコマンドの最大セクタ数が8であった場合には、情報処理装置10は、モード選択テーブルTB40を参照する。そして、例えば、CFカード50が、メモリモードにおいては250nsのサイクル時間に対応しており、TrueIDEモードにおいては283nsのPIOモード1に対応している場合には、動作モードとしてTrueIDEモードを選択する。このことから分かるように、CFカード50が、メモリモードにおいては250nsのサイクル時間に対応しており、TrueIDEモードにおいては283nsのPIOモード1に対応している場合でも、CFカード50がREAD MULTIPLEコマンドやWRITE MULTIPLEコマンドをサポートしているかどうかや、その最大セクタ数によって、選択される動作モードが異なることとなる。
これらモード選択テーブルTB10〜TB40から分かるように、メモリモードとTrueIDEモードは異なる別の動作モードであるため、両者の間でデータ転送に要する時間を比較しようとする場合、必ずしも、サイクル時間が短い方がデータ転送が速いとは限らない。このため、本実施形態では、単純に、サイクル時間に基づいて動作モードを決定するのではなく、予め、メモリモードとTrueIDEモードのPIOモードにおけるデータ転送に要する時間を調べておき、速い方の動作モードが選択されるように、モード選択テーブルTB10〜TB40を用意しておくこととしているのである。
また、モード選択テーブルTB10〜TB40を比較すると分かるように、READ MULTIPLEコマンドやWRITE MULTIPLEコマンドの最大セクタ数が大きいほど、TrueIDEモードでデータ転送をすべきケースが多くなる。これは、最大セクタ数が大きければ、READ MULTIPLEコマンドやWRITE MULTIPLEコマンドでデータ転送をした場合に割り込みの発生する頻度が減少し、トータルのデータ転送時間を短くすることができるからである。
例えば、モード選択テーブルTB10とモード選択テーブルTB20を比較すると、モード選択テーブルTB20では、メモリモードにおいては100nsのサイクル時間に対応しており、TrueIDEモードにおいてはPIOモード4に対応している場合には、動作モードとしてTrueIDEモードを選択するように変更されている。また、モード選択テーブルTB20では、メモリモードにおいては80nsのサイクル時間に対応しており、TrueIDEモードにおいてはPIOモード5に対応している場合には、動作モードとしてTrueIDEモードを選択するように変更されている。
さらに、モード選択テーブルTB20とモード選択テーブルTB30を比較すると、モード選択テーブルTB30では、メモリモードにおいては150nsのサイクル時間に対応しており、TrueIDEモードにおいてはPIOモード3に対応している場合には、動作モードとしてTrueIDEモードを選択するように変更されている。また、モード選択テーブルTB30では、メモリモードにおいては80nsのサイクル時間に対応しており、TrueIDEモードにおいてはPIOモード4に対応している場合には、動作モードとしてTrueIDEモードを選択するように変更されている。
さらに、モード選択テーブルTB30とモード選択テーブルTB40を比較すると、モード選択テーブルTB30では、メモリモードにおいては250nsのサイクル時間に対応しており、TrueIDEモードにおいてはPIOモード1に対応している場合には、動作モードとしてTrueIDEモードを選択するように変更されている。また、モード選択テーブルTB40では、メモリモードにおいては150nsのサイクル時間に対応しており、TrueIDEモードにおいてはPIOモード2に対応している場合には、動作モードとしてTrueIDEモードを選択するように変更されている。また、モード選択テーブルTB40では、メモリモードにおいては120nsのサイクル時間に対応しており、TrueIDEモードにおいてはPIOモード3に対応している場合には、動作モードとしてTrueIDEモードを選択するように変更されている。また、モード選択テーブルTB40では、メモリモードにおいては100nsのサイクル時間に対応しており、TrueIDEモードにおいてはPIOモード3に対応している場合には、動作モードとしてTrueIDEモードを選択するように変更されている。
なお、本実施形態では、CFカード50がUltra DMAモードに対応している場合には、無条件で、Ultra DMAモードを選択することとしたが、CFカード50がUltra DMAモードでは、モード0にしか対応しておらず、一方、PIOモードではPIOモード6に対応している場合には、情報処理装置10は、PIOモード6を選択するようにしてもよい。これは、図6と図7を比較すると分かるように、Ultra DMAモード0のサイクル時間は112nsであり、PIOモード6のサイクル時間は80nsであり、PIOモード6の方がデータ転送時間が短くなることも期待できる。したがって、このような場合には、情報処理装置10は、PIOモード6を動作モードとして選択するようにしてもよい。
このような動作を実現するためには、情報処理装置10は、図12に示すような、モード選択テーブルTB50を保持するようにすればよい。このモード選択テーブルTB50も、ROM24又はハードディスクドライブ26に格納しておくことが可能である。
この場合、例えば、CFカード50が、Ultra DMAモードに対応している場合には、情報処理装置10は、モード選択テーブルTB50を参照する。そして、例えば、CFカード50が、Ultra DMAモード1〜モード6に対応している場合には、PIOモードやメモリモードにおける対応動作モードに拘わらず、Ultra DMAモードを選択する。これは、Ultra DMAモード1〜モード6であれば、PIOモードやメモリモードと比べて、Ultra DMAモード1〜モード6の方が、データ転送の速度が速いからである。
また、例えば、CFカード50がUltra DMAモード0に対応しているが、Ultra DMAモード1〜6には対応していない場合で、且つ、CFカード50がPIOモード6に対応している場合には、情報処理装置10は、PIOモード6を動作モードとして選択する。
次に、図3に示すように、情報処理装置10は、カードコントローラ60の設定を行う(ステップS44)。すなわち、ステップ42で選択した動作モードにカードコントローラ60を適合させるための設定を行う。
次に、図4に示すように、情報処理装置10は、CFカード50のRESET信号をアサートする(ステップS50)。続いて、情報処理装置10は、カードコントローラ60のカード側のインターフェースを、出力可能状態からハイインピーダンス状態に切り換える(ステップS52)。
次に、情報処理装置10は、カード電源制御信号をハイレベルからローレベルにして、カード電源をオフにする(ステップS54)。本実施形態では、実際にCFカード50に対するデータの読み書きの要求がいつ発生するかは不明であることから、消費電力の低減を図るため、CFカード50へのカード電源の供給を一旦停止することとしている。そして、カード電源の供給を停止した状態で待機して、実際にCFカード50に対してデータの読み書きの動作が発生するのを待つこととしている。
但し、このカード電源への電源供給を停止するタイミングは、任意であり、ステップS42の終了後、直ちにカード電源の供給を停止してもよいし、或いは、ステップS42の終了後、所定時間(例えば10秒)経過後にカード電源の供給を停止してもよい。特に、CFカード50をカードスロット40に新たに挿入した場合には、ユーザは、その後、短い時間でCFカード50に対するデータの読み書きを実行すると考えることもできる場合には、ステップS42の終了後、所定時間経過後にカード電源の供給を停止するようにすればよい。また、カード電源の供給により消費される電力がさほど大きなものではないと考えられる場合には、このステップS50〜ステップS54は省くことも可能である。この場合、CFカード50にカード電源が供給され続けることとなる。
次に、情報処理装置10は、実際にCFカード50に対してデータを書き込んだり、CFカード50からデータを読み込んだりする指示が発生したかどうかを判断する(ステップS56)。実際にCFカード50に対してデータを書き込んだり、CFカード50からデータを読み込んだりする指示が発生した場合(ステップS56:YES)には、ステップS42で選択した動作モードにより、CFカード50に対してデータの読み書きを実行する(ステップS58)。なお、カード電源の供給を一旦停止している場合には、CFカード50に対するデータの読み書きの動作が発生した時点で、再度、カード電源の供給を開始する必要がある。そして、このデータの読み書きの動作が完了した後、ステップS56に戻る。
一方、ステップS56でデータの読み書きの指示が発生していないと判断した場合(ステップS56:NO)には、情報処理装置10は、CFカード50がカードスロット40から抜去されたかどうかを判断する(ステップS60)。具体的には、情報処理装置10は、カードスロット40におけるCD1信号及びCD2信号のいずれか一方の信号若しくは両方の信号がローレベルからハイレベルに変化したかどうかを判断することにより、CFカード50が抜去されたかどうかを判断する。すなわち、本実施形態においては、CFカード50がカードスロット40に挿入されたかどうかというステップS10における判定では、CD1信号及びCD2信号の両方がローレベルになったときに、CFカード50が挿入されたと判断するが、CFカード50がカードスロット40から抜去されたかどうかというステップS60における判定では、CD1信号とCD2信号のうちのどちらか一方でもハイレベルになったときに、CFカード50が抜去されたと判断する。CFカード50が抜去されていない場合(ステップS60:NO)には、上述したステップS56に戻る。
一方、CFカード50が抜去されたと判断した場合(ステップS60:YES)には、上述した図2のステップS10に戻り、次の新たなCFカード50が検出されるまで待機する。
以上のように、本実施形態に係る情報処理装置10によれば、メモリモードで対応している通信速度と、TrueIDEモードのPIOモードで対応している通信速度と、TrueIDEモードのUltra DMAモードで対応している通信速度とを調べ、通信速度の最も速い動作モードでデータのやり取りを行うようにしたので、CFカード50とデータをやり取りするのに要するユーザの待ち時間を、可及的に短くすることができる。
具体的には、CFカード50が、Ultra DMAモードに対応しているかどうかを調べ、Ultra DMAモードに対応している場合には、Ultra DMAモードで、データのやり取りをすることとした。また、CFカード50が、Ultra DMAモードに対応していない場合でも、メモリモードとPIOモードのうちの速い方の動作モードで、データのやり取りをすることとした。このため、CFカード50が対応している動作モードの中で、最もユーザのデータ転送待ち時間が短くなる動作モードを、適切に選択することができるようになる。
さらに、本実施形態に係る情報処理装置10においては、READ MULTIPLEコマンドやWRITE MULTIPLEコマンドでデータ転送をした場合の最大セクタ数毎に、メモリモードとTrueIDEモードのどちらでデータ転送をした方が速いのかを予め調べ、モード選択テーブルTB10〜TB40として、情報処理装置10に保持しておくようにした。このため、CFカード50がREAD MULTIPLEコマンドやWRITE MULTIPLEコマンドをサポートしている場合には、その最大セクタ数を取得して、この最大セクタ数に対応するモード選択テーブルTB10〜TB40を参照することで、より速いデータ転送ができる方の動作モードを選択することができる。
また、CFカード50がカードスロット40に挿入された時点で、どの動作モードでデータ転送をすべきかを判定しているので、実際にCFカード50とデータ転送をする要求が発生した際には、速やかにデータ転送の処理に入ることができる。このため、データ転送の際のユーザの待ち時間も、その分、短くすることができる。
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、TrueIDEモードでデータ通信をする際の最大のデータサイズをセクタ数に基づいて判断することとしたが、通信時のデータサイズの単位は、セクタに限られず様々なものが存在する。このため、本発明は、通信に関する仕様で定められているデータサイズの単位に基づいて、データをやり取りする際に割り込みを発生させる周期の最大値である最大のデータサイズを判断するようにすればよい。
さらに、上述した実施形態では、カード型媒体としてCFカード(コンパクトフラッシュ(登録商標)カード)を例に説明したが、他の種類のカード型媒体であっても同様に本発明を適用することができる。すなわち、異なる2つ以上の動作モードを有する場合には、本発明を適用できる。
また、本発明は、上述したメモリモード、TrueIDEモードのPIOモード、TrueIDEのUltra DMAモード、カードI/Oモード以外の様々な動作モードについても本発明を適用することができる。すなわち、カード型媒体の種類に応じて、様々な動作モードが用意されているため、この用意されている動作モードに応じて、本発明を適用することができる。
また、上述した実施形態では、図8乃至図11に示したTB10〜TB40に基づいて、メモリモードとPIOモードのいずれが速いかを判断し、データのやり取りを行う動作モードを選択することとしたが、何らかの計算式に基づいて、動作モードを選択するようにしてもよい。したがって、どの動作モードの方がデータ転送の時間が短くなるかを判断する手法は、任意に変更可能であると言える
また、上述の実施形態で説明したカードアクセス処理については、このカードアクセス処理を実行するためのプログラムをフレキシブルディスク、CD−ROM(Compact Disc-Read Only Memory)、ROM、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、この記録媒体に記録されたプログラムを情報処理装置10に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
また、情報処理装置10は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、情報処理装置10の備える他のプログラムを活用するために、その情報処理装置10が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を含むプログラムを、記録媒体に記録するようにしてもよい。
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、情報処理装置10に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだ情報処理装置10は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
さらに、上述した実施形態では、カードアクセス処理をソフトウェアにより実現することとしたが、ASIC(Application Specific IC)等のハードウェアにより実現するようにしてもよい。また、ソフトウェアとハードウェアとが協働して、カードアクセス処理を実現するようにしてもよい。
本発明の一実施形態に係る情報処理装置の内部構成を説明するためのブロック図である。 図1に示す情報処理装置が実行するカードアクセス処理の一例を説明するためのフローチャートを示す図である(その1)。 図1に示す情報処理装置が実行するカードアクセス処理の一例を説明するためのフローチャートを示す図である(その2)。 図1に示す情報処理装置が実行するカードアクセス処理の一例を説明するためのフローチャートを示す図である(その3)。 メモリモードで対応しているサイクル時間の一覧を示す図である。 TrueIDEモードのPIOモードで対応しているサイクル時間の一覧を示す図である。 TrueIDEモードのUltra DMAモードで対応しているサイクル時間の一覧を示す図である。 Ultra DMAモードに対応していない場合に、メモリモードとTrueIDEモードのうち、どちらの動作モードでデータ転送をした方が速いのかを判断するためのモード選択テーブルの一例を示す図(Read/WRITE MULTIPLEコマンドに未対応の場合)。 Ultra DMAモードに対応していない場合に、メモリモードとTrueIDEモードのうち、どちらの動作モードでデータ転送をした方が速いのかを判断するためのモード選択テーブルの一例を示す図(Read/WRITE MULTIPLEコマンドの最大セクタ数が2の場合)。 Ultra DMAモードに対応していない場合に、メモリモードとTrueIDEモードのうち、どちらの動作モードでデータ転送をした方が速いのかを判断するためのモード選択テーブルの一例を示す図(Read/WRITE MULTIPLEコマンドの最大セクタ数が4の場合)。 Ultra DMAモードに対応していない場合に、メモリモードとTrueIDEモードのうち、どちらの動作モードでデータ転送をした方が速いのかを判断するためのモード選択テーブルの一例を示す図(Read/WRITE MULTIPLEコマンドの最大セクタ数が8の場合)。 本実施形態の変形例において、Ultra DMAモードとPIOモードのうち、どちらの動作モードでデータ転送をした方が速いのかを判断するためのモード選択テーブルの一例を示す図。
符号の説明
10 情報処理装置
20 CPU
22 RAM
24 ROM
26 ハードディスクドライブ
30 ユーザインターフェース
32 ビデオデコーダ
34 表示画面
40 カードスロット
50 CFカード
60 カードコントローラ
62 カード電源制御回路
64 カード電源ディスチャージ回路

Claims (8)

  1. カード型媒体が挿入されるカードスロットと、
    第1の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第1通信速度を取得する、第1通信速度取得手段と、
    第2の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第2通信速度を取得する、第2通信速度取得手段と、
    第3の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第3通信速度を取得する、第3通信速度取得手段と、
    前記第2の動作モードで前記カード型媒体とデータのやり取りを行う場合に、割り込みを発生させることなくデータのやり取りをすることのできる最大のデータサイズである無割込最大データサイズを取得する、無割込最大データサイズ取得手段と、
    前記第1通信速度と前記第2通信速度と前記第3通信速度と前記無割込最大データサイズとに基づいて、前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、どの動作モードで前記カード型媒体とデータのやり取りをすれば最も速いかを判断する、判断手段と、
    前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、前記判断手段で最も速いと判断された動作モードで、前記カード型媒体とデータのやり取りをする、データ通信手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記第1通信速度取得手段は、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第1通信速度を取得し、
    前記第2通信速度取得手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第2通信速度を取得し、
    前記第3通信速度取得手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第3通信速度を取得し、
    前記無割込最大データサイズ取得手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記無割込最大データサイズを取得し、
    前記判断手段も、前記カードスロットで新たな前記カード型媒体が検出された時点で、前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、どの動作モードが最も速いかを判断する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2の動作モードでは、複数の前記無割込最大データサイズが予め定められており、
    当該情報処理装置は、前記無割込最大データサイズ毎に形成されたモード選択テーブルをさらに複数備えており、
    それぞれの前記モード選択テーブルでは、それぞれの無割込最大データサイズを用いて第2の動作モードでデータのやり取りをした場合に、前記第1通信速度の値と前記第2通信速度の値の組み合わせ毎に、前記第1の動作モードでデータのやり取りをした方が速いのか、前記第2の動作モードでデータのやり取りをした方が速いのかがテーブル化されて示されており、
    前記判断手段は、前記複数のモード選択テーブルのうち、前記カードスロットに挿入された前記カード型媒体の無割込最大データサイズに対応するモード選択テーブルを選択し、この選択したモード選択テーブルを参照して、前記第1の動作モードと前記第2の動作モードのうち、どちらの動作モードで前記カード型媒体とデータのやり取りをした方が速いかを判断する、ことを特徴とする請求項1又は請求項2に記載の情報処理装置。
  4. 前記カード型媒体は、コンパクトフラッシュカード(登録商標)である、ことを特徴とする請求項1乃至請求項3のいずれかに記載の情報処理装置。
  5. 前記第1の動作モードはメモリモードであり、
    前記第2の動作モードはTrueIDEモードのPIOモードであり、
    前記第3の動作モードはTrueIDEモードのUltra DMAモードであり、
    前記無割込最大データサイズは、最大セクタ数である、
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記カード型媒体が、Ultra DMAモードに対応している場合には、前記判断手段は、最も速い動作モードとして、Ultra DMAモードを選択する、ことを特徴とする請求項5に記載の情報処理装置。
  7. カード型媒体が挿入されるカードスロットを有する情報処理装置の制御方法であって、
    第1の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第1通信速度を取得するステップと、
    第2の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第2通信速度を取得するステップと、
    第3の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第3通信速度を取得するステップと、
    前記第2の動作モードで前記カード型媒体とデータのやり取りを行う場合に、割り込みを発生させることなくデータのやり取りをすることのできる最大のデータサイズである無割込最大データサイズを取得するステップと、
    前記第1通信速度と前記第2通信速度と前記第3通信速度と前記無割込最大データサイズとに基づいて、前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、どの動作モードで前記カード型媒体とデータのやり取りをすれば最も速いかを判断するステップと、
    前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、最も速いと判断された動作モードで、前記カード型媒体とデータのやり取りをするステップと、
    を備えることを特徴とする情報処理装置の制御方法。
  8. カード型媒体が挿入されるカードスロットを有する情報処理装置を制御するためのプログラムであって、
    第1の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第1通信速度を取得するステップと、
    第2の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第2通信速度を取得するステップと、
    第3の動作モードで前記カード型媒体とデータのやり取りを行う場合の通信速度である第3通信速度を取得するステップと、
    前記第2の動作モードで前記カード型媒体とデータのやり取りを行う場合に、割り込みを発生させることなくデータのやり取りをすることのできる最大のデータサイズである無割込最大データサイズを取得するステップと、
    前記第1通信速度と前記第2通信速度と前記第3通信速度と前記無割込最大データサイズとに基づいて、前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、どの動作モードで前記カード型媒体とデータのやり取りをすれば最も速いかを判断するステップと、
    前記第1の動作モードと前記第2の動作モードと前記第3の動作モードのうち、最も速いと判断された動作モードで、前記カード型媒体とデータのやり取りをするステップと、
    を情報処理装置に実行させるためのプログラム。
JP2008001357A 2008-01-08 2008-01-08 情報処理装置 Withdrawn JP2009163556A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008001357A JP2009163556A (ja) 2008-01-08 2008-01-08 情報処理装置
US12/319,536 US8078783B2 (en) 2008-01-08 2009-01-08 Information processing apparatus, method for controlling the same, and recording medium including program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008001357A JP2009163556A (ja) 2008-01-08 2008-01-08 情報処理装置

Publications (1)

Publication Number Publication Date
JP2009163556A true JP2009163556A (ja) 2009-07-23

Family

ID=40966094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008001357A Withdrawn JP2009163556A (ja) 2008-01-08 2008-01-08 情報処理装置

Country Status (2)

Country Link
US (1) US8078783B2 (ja)
JP (1) JP2009163556A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2487637A4 (en) * 2009-09-07 2013-04-03 Fujitsu Ltd MEMBERSHIP MANAGEMENT SYSTEM, MEMBERSHIP MANAGEMENT DEVICE, AND PROGRAM

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778436B2 (en) * 2001-10-10 2004-08-17 Fong Piau Apparatus and architecture for a compact flash memory controller
US6859856B2 (en) * 2001-10-23 2005-02-22 Flex P Industries Sdn. Bhd Method and system for a compact flash memory controller
JP3882920B2 (ja) 2003-05-30 2007-02-21 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ装置、カード媒体制御方法、およびプログラム
JP2005352726A (ja) 2004-06-10 2005-12-22 Matsushita Electric Ind Co Ltd メモリカード及びメモリカード装置
JP4742849B2 (ja) 2005-12-19 2011-08-10 セイコーエプソン株式会社 情報処理装置及びカード電源ディスチャージ回路
DE602006007295D1 (de) * 2005-12-19 2009-07-30 Seiko Epson Corp Informationsverarbeitungsvorrichtung
JP4835977B2 (ja) 2006-03-07 2011-12-14 セイコーエプソン株式会社 情報処理装置
JP4910391B2 (ja) 2005-12-26 2012-04-04 セイコーエプソン株式会社 情報処理装置
JP2007183879A (ja) 2006-01-10 2007-07-19 Seiko Epson Corp 情報処理装置
JP4724573B2 (ja) * 2006-03-02 2011-07-13 株式会社リコー インタフェース回路における転送方式切換回路
JP4186170B2 (ja) 2006-10-23 2008-11-26 セイコーエプソン株式会社 情報処理装置
JP2009163557A (ja) * 2008-01-08 2009-07-23 Seiko Epson Corp 情報処理装置

Also Published As

Publication number Publication date
US8078783B2 (en) 2011-12-13
US20090216931A1 (en) 2009-08-27

Similar Documents

Publication Publication Date Title
JP4186170B2 (ja) 情報処理装置
US9225343B2 (en) Electronics device capable of efficient communication between components with asyncronous clocks
US6941480B1 (en) Method and apparatus for transitioning a processor state from a first performance mode to a second performance mode
US7856518B2 (en) Information processing device
US20070174650A1 (en) Efficiency optimization method for hardware devices with adjustable clock frequencies
JP2006120114A (ja) 多機能電源ボタンを有するコンピューター及び関連方法
JP6151465B1 (ja) プロセッサコアの電力モードを制御するためのレイテンシベースの電力モードユニット、ならびに関連する方法およびシステム
US7900030B2 (en) Method for determining a rebooting action of a computer system and related computer system
US7832639B2 (en) Information processing device
CN108228109B (zh) 一种电子设备的保护数据方法、装置及计算机存储介质
US20160212289A1 (en) Information processing apparatus, method of controlling an information processing apparatus
JP4910391B2 (ja) 情報処理装置
JP2009163556A (ja) 情報処理装置
JP4742849B2 (ja) 情報処理装置及びカード電源ディスチャージ回路
JP4835977B2 (ja) 情報処理装置
US20060190635A1 (en) Information processing apparatus and state control method of the same apparatus
JP2007183879A (ja) 情報処理装置
JP2007249808A (ja) 機能拡張システム及び機能拡張機器
JP2006172325A (ja) デバイス状態制御方法および情報処理装置
TWI616888B (zh) 電子裝置及其電源管理方法
JP5334904B2 (ja) 情報処理装置、情報処理装置の識別方法、情報処理装置の識別プログラム及びマザーボード
US8041846B2 (en) Apparatus with reduced latency for master and slave storage devices
JP6915897B2 (ja) 位置通知装置、情報処理装置、位置通知方法及びプログラム
US20200382672A1 (en) Image processing apparatus, image processing method, and recording medium
JP2009230307A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101203

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20111130