(57)【特許請求の範囲】
【請求項１】
ホスト装置と複数種類のメモリカードとのデータ伝送を媒介するインタフェース回路であって、
１６ｂｉｔカードインタフェースブロックと、
ＩＤＥインタフェースブロックと、
前記インタフェース回路に接続されたメモリカードにアクセスしてメモリカードの種別及び対応する転送モードを識別し、それに基づき、前記メモリカードがＣＦカードであり且つＴｒｕｅＩＤＥモードに対応している場合は、ＴｒｕｅＩＤＥモードでデータ転送を動作させ、前記メモリカードがＣＦカードであり且つＣＦカードがＴｒｕｅＩＤＥモードに対応していない場合は、前記１６ｂｉｔカードインタフェースブロックを利用するＰＣカードＡＴＡモードによりデータ転送を動作させる、カード識別回路とを、
含み、
前記ＴｒｕｅＩＤＥモードでは、
前記ホスト装置からのデータを、前記ＣａｒｄＢｕｓインタフェースブロックが、前記ＩＤＥインタフェースブロックにデータを送信して、ＴｒｕｅＩＤＥモードでのデータ転送が可能となるようにデータ変換し、
更に、前記メモリカードからのデータを、前記ＩＤＥインタフェースブロックが、前記ＣａｒｄＢｕｓインタフェースブロックにデータを送信する
ことを特徴とするインタフェース回路。
【請求項２】
更に、ＣａｒｄＢｕｓインタフェースブロックを含み、
前記カード識別回路は、前記メモリカードがＣＦカード及び１６ｂｉｔカードのいずれでもないと識別した場合には、前記ＣａｒｄＢｕｓインタフェースブロックを利用するＣａｒｄＢｕｓモードでデータ転送をさせる
ことを特徴とする請求項１に記載のインタフェース回路。
【請求項３】
請求項１又は２に記載のインタフェース回路を含むシステム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ、プリンタなどのシステム装置におけるホスト装置と、メモリカードとの間のデータ伝送を媒介するインタフェース回路に関する。
【背景技術】
【０００２】
携帯電話、デジタルカメラ、パーソナルコンピュータ、及びプリンタ等のデジタル機器におけるデータ記憶伝達手段として、フラッシュメモリ等を搭載したメモリカードが利用されている。
【０００３】
ＰＣカード（商標）やＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ）カード（商標）は、上記メモリカードの商用品例である。また、ＰＣカード（商標）より一回り小さいＣＦカード（商標）に対しては、ＰＣカードスロットを備えるシステム装置ででも利用できるように、後述のような各種のＰＣカードアダプタが開発・販売されている。
【０００４】
ところで、ＣＦカード（商標）の転送モードには、現在、メモリ・モード、Ｉ／Ｏモード、ＴｒｕｅＩＤＥの３種類がある。このうち、ＴｒｕｅＩＤＥモードには近年、ＣａｒｄＢｕｓの登場などにより、アクセス速度の速い転送が可能な規格が盛り込まれるようになっている。このことにより、ＴｒｕｅＩＤＥモードは、他のモードより高速なデータ転送が可能となっている。
【０００５】
ここでまず、従来技術における、ＣＦカード（商標）を利用するＰＣカードインタフェース搭載システムの一つの例を説明する。図６は、従来技術のＣＦカード（商標）を利用するＰＣカードインタフェース搭載システムのブロック図である。
【０００６】
図６に示す従来技術のブロック図では、ＣＦカード１６が、１６ｂｉｔＰＣカード型アダプタカード１４に挿入され、ＣＦカード１６を挿入した１６ｂｉｔＰＣカード型アダプタカード１４が、システム装置に備わるＰＣカードコネクタ１０に装着される。
【０００７】
なお、ＰＣカードコネクタ１０は、システム装置に備わるＰＣカードコントローラ２’に装備されており、ＰＣカードコントローラ２’はＰＣＩバス３０を経由して、システム装置の中心であるホスト装置１２とデータをやり取りする。
【０００８】
上記のように、ＣＦカード１６を挿入した１６ｂｉｔＰＣカード型アダプタカード１４がＰＣカードコネクタ１０に装着されると、ＰＣカードコントローラ２’は、「１６ｂｉｔＰＣカード」が装着されたと認識し、ホスト装置１２に１６ｂｉｔＰＣカードが装着されたことを伝える。これ以降、ホスト装置１２は、１６ｂｉｔＰＣカードに係る転送方式（１６ｂｉｔＰＣカード・ＡＴＡモード）でＰＣカードコントローラ２’にアクセスする。
【０００９】
ここで、１６ｂｉｔＰＣカード・ＡＴＡモードは、ＣＦカード１６のメモリ・モード及びＩ／Ｏモードと互換性がある。従って、ＰＣカードコントローラ２’とＣＦカード１６との間では、別段のインタフェース回路を介さずにデータ転送をすることが可能である。従って、ホスト装置１２と、１６ｂｉｔＰＣカード型アダプタカード１４に挿入されたＣＦカード１６との間のデータ伝送は、ＰＣＩバス３０、ＰＣＩインタフェースブロック８’及び１６ｂｉｔカードインタフェースブロック４を介することになる（図６点線参照）。
【００１０】
なお、ＣＦカードにおけるメモリ・モードとＩ／Ｏモードは、ＰＣカードＡＴＡモードとも称されている。このようなＣＦカードとシステム装置との間のデータ転送は、従来最も一般的なものの一つである。
【００１１】
しかし、上述のように、ＣＦカードには、高速転送が可能なＴｒｕｅＩＤＥモードが備わるものも存在する。最近開発・販売されているＣＦカードの多くは、このＴｒｕｅＩＤＥモードを搭載している。にもかかわらず、図６に示すような構成においては、ＴｒｕｅＩＤＥモードを搭載するカードを利用しても、ＰＣカードＡＴＡモード（１６ｂｉｔＰＣカード・ＡＴＡモード）でしかデータ転送ができない、つまり、高速な転送ができないという問題が生じる。
【００１２】
次に、従来技術における、ＣＦカード（商標）を利用するＰＣカードインタフェース搭載システムの別の例を説明する。図７は図６と同様に、従来技術のＣＦカード（商標）を利用するＰＣカードインタフェース搭載システムのブロック図である。但し、図７に示すシステム装置では、１６ｂｉｔＰＣカード型アダプタカード１４ではなく、ＣａｒｄＢｕｓカード型アダプタカード１４’が用いられている。
【００１３】
図７に示す従来技術のブロック図では、ＣＦカード１６が、ＣａｒｄＢｕｓカード型アダプタカード１４’に挿入され、ＣＦカード１６を挿入したＣａｒｄＢｕｓカード型アダプタカード１４’が、システム装置に備わるＰＣカードコネクタ１０に装着される。そうすると、ＰＣカードコントローラ２’は、「ＣａｒｄＢｕｓカード」が装着されたと認識し、ホスト装置１２にＣａｒｄＢｕｓカードが装着されたことを伝える。これ以降、ホスト装置１２は、ＣａｒｄＢｕｓカードに係る転送方式でＰＣカードコントローラ２’にアクセスする。
【００１４】
ここで、ＣａｒｄＢｕｓカードに係る転送方式は、ＣＦカード１６のいずれの転送モードとも互換性がない。従って、ＣａｒｄＢｕｓの信号を、ＣＦカード１６のいずれかの転送モードで利用できる信号に変換する必要がある。図７に示す従来技術のＣａｒｄＢｕｓカード型アダプタカード１４’では、高速転送可能なＴｒｕｅＩＤＥモードを用いるためのＩＤＥインタフェースブロック１８を内部に搭載している。これにより図７のＣＦカード１８は、ＴｒｕｅＩＤＥモードでデータ転送することになる。
【００１５】
従って、ホスト装置１２と、ＣａｒｄＢｕｓカード型アダプタカード１４’に挿入されたＣＦカード１６との間のデータ伝送は、ＰＣＩバス３０、ＰＣＩインタフェースブロック８’及びＣａｒｄＢｕｓカードインタフェースブロック６を介することになる（図７点線参照）。
【００１６】
しかし、現存する全てのＣＦカード１６がＴｒｕｅＩＤＥモードに対応しているわけではない。例えば、モデムとして利用されるＣＦカード形状のモデムカードの場合、Ｉ／Ｏモードのみに対応している。そのようなカードをＣａｒｄＢｕｓカード型アダプタカード１４’に挿入しても、システム装置とＣＦカード（モデムカード）の間のデータ転送は動作しない。
【００１７】
なお、特許文献１で開示される発明は、情報処理装置ＰＣカード制御回路及び制御方法に関するものである。該発明が解決しようとする課題は、本発明のものと同様のものであり、ＰＣカードのモードの制御に関する発明である。該発明では、モードはＣＰＵにより制御される。
【特許文献１】特開２００５−１５７７６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
以上のことから、ＰＣカードコントローラ及びＰＣカードコネクタを備えるシステム装置と、ＰＣカード型アダプタカードに挿入されたＣＦカードとの間のデータ転送において、ＴｒｕｅＩＤＥモードに対応しているＣＦカードをＴｒｕｅＩＤＥモードで動作させ、対応していないＣＦカードをＰＣカードＡＴＡモードで動作させる仕組みの構築が望まれる。
【課題を解決するための手段】
【００１９】
本発明を上記の目的を達成するために為されたものである。本発明に係るインタフェース回路は、ホスト装置と複数種類のメモリカードとのデータ伝送を媒介するインタフェース回路であって、
１６ｂｉｔカードインタフェースブロックと、
ＩＤＥインタフェースブロックと、
インタフェース回路に接続されたメモリカードにアクセスしてメモリカードの種別及び対応する転送モードを識別し、それに基づき、メモリカードがＣＦカードであり且つＴｒｕｅＩＤＥモードに対応している場合は、ＴｒｕｅＩＤＥモードでデータ転送を動作させ、メモリカードがＣＦカードであり且つＣＦカードがＴｒｕｅＩＤＥモードに対応していない場合は、前記１６ｂｉｔカードインタフェースブロックを利用するＰＣカードＡＴＡモードによりデータ転送を動作させる、カード識別回路とを、含む。
ＴｒｕｅＩＤＥモードでは、ホスト装置からのデータを、ＣａｒｄＢｕｓインタフェースブロックが、ＩＤＥインタフェースブロックにデータを送信して、ＴｒｕｅＩＤＥモードでのデータ転送が可能となるようにデータ変換し、更に、メモリカードからのデータを、ＩＤＥインタフェースブロックが、ＣａｒｄＢｕｓインタフェースブロックにデータを送信する。
【００２０】
上記のインタフェース回路は、更に、ＣａｒｄＢｕｓインタフェースブロックを含んでもよい。この場合、カード識別回路は、メモリカードがＣＦカードでも１６ｂｉｔカードでもないと識別した場合には、ＣａｒｄＢｕｓインタフェースブロックを利用するＣａｒｄＢｕｓモードでデータ転送をさせてもよい。
【００２１】
本発明に係るシステム装置は、上記のインタフェース回路を含むシステム装置である。
【発明の効果】
【００３７】
本発明を利用することにより、パーソナルコンピュータなどのシステム装置は、利用されるメモリカードの備えるデータ転送方式（転送モード）に適宜合わせて、適切にデータ転送ができるようになる。
【発明を実施するための最良の形態】
【００３８】
以下、図面を参照して本発明に係る好適な実施形態を説明する。
【００３９】
［第１の実施形態］
図１及び図２は、本発明の第１の実施形態に係るＰＣカードインタフェース搭載システムのブロック図である。ＰＣカードインタフェース搭載システムは、概略、ＰＣカードコントローラ２及びホスト装置１２で構成される。ＰＣカードコントローラ２とホスト装置１２とは、ＰＣＩバス３０で繋がっている。ＰＣカードコントローラ２には、ＣＦカードが挿入されるアダプタカードやＰＣカードを装着するためのＰＣカードコネクタ１０が外部面に備わる。更に、図１に示すように、ＰＣカードコントローラ２は、概略、ＰＣＩインタフェースブロック８、１６ｂｉｔカードインタフェースブロック４、ＣａｒｄＢｕｓインタフェースブロック６、ＩＤＥインタフェースブロック１８及びカード識別回路２０により構成される。
【００４０】
即ち、図６及び図７に示す従来技術と比べて、第１の実施形態に係るＰＣカードコントローラ２は、ＩＤＥインタフェースブロック１８、及びカード識別回路２０を搭載することを特徴とする。第１の実施形態に係るＰＣカードコントローラ２は、概略、次のように動作する。
【００４１】
まず、ＣＦカード１６が装着されたＰＣカード型アダプタカードが、ＰＣカードコネクタ１０に挿入されたとする。次に、ＰＣカードコントローラ２は、挿入されたカードが１６ｂｉｔＰＣカード（若しくは１６ｂｉｔＰＣカード型アダプタカード）かどうかを調べる。
【００４２】
挿入されたカードが１６ｂｉｔＰＣカード（型アダプタカード）である場合、カード識別回路２０は、１６ｂｉｔＰＣカード(ここでは、ＣＦカード１６）の対応している転送モードを調べるため、１６ｂｉｔＰＣカード(ＣＦカード８）のＣＩＳ（Ｃａｒｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）タプルにアクセスする。
【００４３】
ＣＦカード１６が、ＴｒｕｅＩＤＥモードに対応している場合、ＰＣカードコントローラ２はホスト装置１２にＣａｒｄＢｕｓカードが挿入されたことを伝える。これ以降、ホスト装置１２は、ＣａｒｄＢｕｓカードによる転送方式でＰＣカードコントローラ２にアクセスする。ＰＣカードコントローラ２は、ホスト装置１２からのＣａｒｄＢｕｓカードによる転送方式を、ＩＤＥインタフェースブロック１８で変換する。これにより、ＣＦカード１６へのＴｒｕｅＩＤＥモードでのデータ転送が可能となる（図１参照）。
【００４４】
１６ｂｉｔＰＣカード型アダプタカード１４に挿入されたＣＦカード１６が、ＴｒｕｅＩＤＥモードに対応していないものである場合、図６に示す従来技術と同様に、ＣＦカード１６は、１６ｂｉｔＰＣカードとして、且つＰＣカードＡＴＡモードによって、動作することになる（図２参照）。
【００４５】
続いて、第１の実施形態に係るＰＣカードコントローラ２における［１］カード識別、［２］データ転送（書き込み）、［３］データ転送（読み取り）、の各動作を、図３、図４、及び図５に示すフローチャートに従って説明する。
【００４６】
図３は、第１の実施形態に係るＰＣカードコントローラ２における［１］カード識別の動作を示すフローチャートである。まず、ＰＣカード又はＰＣカード型アダプタカードがＰＣカードコネクタ１０に接続される（Ｓ１）と、１６ｂｉｔＰＣカード型アダプタカード１４であるか否かが確かめられる（Ｓ２）。１６ｂｉｔＰＣカード型アダプタカード１４でない（Ｓ２・ＮＯ）ならば、転送モードの一時的記憶部位であるＭＯＤＥレジスタを“ＣａｒｄＢｕｓ”にセットして（Ｓ８）、Ｓ６へ進む（Ｓ６以降は後述する）。
【００４７】
１６ｂｉｔＰＣカード型アダプタカード１４である（Ｓ２・ＹＥＳ）ならば、カード識別回路２０がＰＣカード又はＰＣカード型アダプタカードのＣＩＳタプルを読みにいく（Ｓ３）。その結果、ＴｒｕｅＩＤＥモードに対応しているＣＦカードである（Ｓ４・ＹＥＳ）ならば、ＭＯＤＥレジスタを“ＴｒｕｅＩＤＥ”にセットする（Ｓ５）。そして、カード識別回路２０はＣａｒｄＢｕｓインタフェースブロック６にカードが挿入されたことを通知し（Ｓ６）、ＣａｒｄＢｕｓインタフェースブロック６はホスト装置１２にＣａｒｄＢｕｓカードが挿入されたことを伝える（Ｓ７）。
【００４８】
Ｓ４にて、ＴｒｕｅＩＤＥモードに対応しているＣＦカードでない（Ｓ４・ＮＯ）ならば、ＭＯＤＥレジスタを“１６ｂｉｔカード”にセットする（Ｓ９）。そして、カード識別回路２０は１６ｂｉｔカードインタフェースブロック４にカードが挿入されたことを通知し（Ｓ１０）、１６ｂｉｔカードインタフェースブロック４はホスト装置１２に１６ｂｉｔＰＣカードが挿入されたことを伝える（Ｓ１１）。
【００４９】
図４は、第１の実施形態に係るＰＣカードコントローラ２における［２］データ転送（書き込み）の動作を示すフローチャートである。まず、ホスト装置１２がＰＣＩインタフェースブロック４に書き込むべきデータを送信する（Ｓ２１）。直後にＭＯＤＥレジスタが確認される（Ｓ２２）。
【００５０】
ＭＯＤＥレジスタのセット内容が“ＣａｒｄＢｕｓ”モードであるならば、ＰＣＩインタフェースブロック８からＣａｒｄＢｕｓインタフェースブロック６にデータが送信される（Ｓ２３）。ＣａｒｄＢｕｓインタフェースブロック６はＰＣカードコネクタ１０に接続されたＣａｒｄＢｕｓカードにデータを送信する（Ｓ２４）。
【００５１】
ＭＯＤＥレジスタのセット内容が“ＴｒｕｅＩＤＥ”モードであるならば、ＰＣＩインタフェースブロック８からＣａｒｄＢｕｓインタフェースブロック６にデータが送信される（Ｓ２５）。ここで、ＣａｒｄＢｕｓインタフェースブロック６はまずＩＤＥインタフェースブロックＳ２６にデータを送信して（Ｓ２６）、ＴｒｕｅＩＤＥモードでのデータ転送が可能となるようにデータ変換する。ＩＤＥインタフェースブロックＳ２６はＰＣカードコネクタに接続されたＣＦカード１６にデータを送信する（Ｓ２７）。
【００５２】
ＭＯＤＥレジスタのセット内容が“１６ｂｉｔカード”モードであるならば、ＰＣＩインタフェースブロック８から１６ｂｉｔカードインタフェースブロック４にデータが送信される（Ｓ２８）。１６ｂｉｔカードインタフェースブロック４は、ＰＣカードコネクタ１０に接続された１６ｂｉｔＰＣカード又は１６ｂｉｔＰＣカード型アダプタカードにデータを送信する（Ｓ２９）。
【００５３】
図５は、第１の実施形態に係るＰＣカードコントローラ２における［３］データ転送（読み取り）の動作を示すフローチャートである。まず、ＰＣカード又はＰＣカード型アダプタカードに挿入するＣＦカードが、ＰＣカードコントローラ２に読み取られるデータを送信する（Ｓ３１）。直後にＭＯＤＥレジスタが確認される（Ｓ３２）。
【００５４】
ＭＯＤＥレジスタのセット内容が“ＣａｒｄＢｕｓ”モードであるならば、ＣａｒｄＢｕｓインタフェースブロック６が、ＰＣカードからのデータを受信する（Ｓ３３）。ＣａｒｄＢｕｓインタフェースブロック６はＰＣＩインタフェースブロック８にデータを送信する（Ｓ３４）。ＰＣＩインタフェースブロック８はホスト装置１２にデータを送信し（Ｓ４０）これによりホスト装置１２はデータを読み取ったことになる。
【００５５】
ＭＯＤＥレジスタのセット内容が“ＴｒｕｅＩＤＥ”モードであるならば、ＩＤＥインタフェースブロック１８が、ＰＣカード型アダプタカードに挿入するＣＦカード１６からのデータを受信する（Ｓ３５）。ＩＤＥインタフェースブロック１８はＣａｒｄＢｕｓインタフェースブロック６にデータを送信する（Ｓ３６）。ＣａｒｄＢｕｓインタフェースブロック６はＰＣＩインタフェースブロック８にデータを送信する（Ｓ３７）。ＰＣＩインタフェースブロック８はホスト装置１２にデータを送信し（Ｓ４０）これによりホスト装置１２はデータを読み取ったことになる。
【００５６】
ＭＯＤＥレジスタのセット内容が“１６ｂｉｔカード”モードであるならば、１６ｂｉｔカードインタフェースブロック４が、ＰＣカード又はＰＣカード型アダプタカードからのデータを受信する（Ｓ３８）。１６ｂｉｔカードインタフェースブロック４はＰＣＩインタフェースブロック８にデータを送信する（Ｓ３９）。ＰＣＩインタフェースブロック８はホスト装置１２にデータを送信し（Ｓ４０）これによりホスト装置１２はデータを読み取ったことになる。
【００５７】
以上で、第１の実施形態に係るＰＣカードコントローラ２における［１］カード識別、［２］データ転送（書き込み）、［３］データ転送（読み取り）、の各動作の説明を終了する。
【００５８】
［その他の実施形態］
本発明は、上述の第１の実施形態に限定されるものではなく、様々な変形例が存在する。
【００５９】
まず、第１の実施形態では、ＰＣカードインタフェース搭載システムにおいてＰＣＩバスを利用しているが、汎用バスやＰＣＩ−Ｅｘｐｒｅｓｓなどを利用するようにしてもよい。
【００６０】
ＰＣカードインタフェース搭載システムがＰＣＩバスを利用する場合、ＰＣＩ−ＣａｒｄＢｕｓ間でＤＭＡ転送を用いてもよい。ＤＭＡ転送を用いると、ＰＣＩ−ＣａｒｄＢｕｓ間でＤＭＡ転送によるバースト動作が可能になる。そうすると、ＣＦカード１６のＴｒｕｅＩＤＥモードを併せれば、ＣＦカード−ＰＣカードコントローラ２間のデータ転送だけではなく、ＰＣＩ−ＰＣカードコントローラ２間のデータ転送も高速にすることができる。
【００６１】
また、図１及び図２に示す本発明の第１の実施形態に係るＰＣカードインタフェース搭載システムでは、ＩＤＥインタフェースブロック１８及びカード識別回路２０は、ＰＣカードコントローラ２に搭載される。このＩＤＥインタフェースブロック１８及びカード識別回路２０は、ＰＣカードコントローラ２ではなくＰＣカード型アダプタカードに内蔵されてもよい。
【００６２】
以上の説明では、ＰＣカード、ＰＣカード型アダプタカード、及びＣＦカードを取り上げてきた。本発明はこのように、第１のメモリカードと、それとは異なる第２のメモリカードとがあって、第１のメモリカードに対して第２のメモリカード型のアダプタカードが存在し、第１のメモリカードと第２のメモリカードとには、夫々複数のデータ転送モードが用意されているが、第１のメモリカードのデータ転送モードと第２のメモリカードのデータ転送モードとの間の互換性や変換性が、必ずしも十分でない場合に、利用できると言える。
【００６３】
更に、メモリカードではなく周辺機器であっても、周辺機器が複数のデータ転送モードを備えるものであるならば、本発明を適用可能であると言える。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１の実施形態に係るＰＣカードインタフェース搭載システムのブロック図である。
【図２】本発明の第１の実施形態に係るＰＣカードインタフェース搭載システムのブロック図である。
【図３】本発明の第１の実施形態に係るＰＣカードコントローラにおける［１］カード識別の動作を示すフローチャートである。
【図４】本発明の第１の実施形態に係るＰＣカードコントローラにおける［２］データ転送（書き込み）の動作を示すフローチャートである。
【図５】本発明の第１の実施形態に係るＰＣカードコントローラにおける［３］データ転送（読み取り）の動作を示すフローチャートである。
【図６】従来技術のＣＦカードを利用するＰＣカードインタフェース搭載システムのブロック図である。
【図７】従来技術のＣＦカードを利用するＰＣカードインタフェース搭載システムのブロック図である。
【符号の説明】
【００６５】
２・・・ＰＣカードコントローラ、４・・・１６ｂｉｔカードインタフェースブロック、６ＣａｒｄＢｕｓインタフェースブロック、８・・・ＰＣＩインタフェースブロック、１０・・・ＰＣカードコネクタ、１２・・・ホスト装置、１４・・・１６ｂｉｔＰＣカード型アダプタカード、１６・・・ＣＦカード、２０・・・カード識別回路、３０・・・ＰＣＩバス。
【図１】
0004724573.tif 000002
【図２】
0004724573.tif 000003
【図３】
0004724573.tif 000004
【図４】
0004724573.tif 000005
【図５】
0004724573.tif 000006
【図６】
0004724573.tif 000007
【図７】
0004724573.tif 000008