(57)【特許請求の範囲】
【請求項１】
ＳＤカードデバイスとホストシステムとの間に介在させて用いられるインターフェースカードシステムであって、
前記ホストシステムとのインターフェースとなるＣＰＵバス・インターフェース（１１ａ）及びＳＤ(Secure Digital)バス・インターフェース（１１ｂ）と、
前記ＣＰＵバス・インターフェース及び前記ＳＤバス・インターフェースに接続されＳＤコマンドを解釈すると共にインターフェースカードシステム全体の動作を制御するホストインターフェースモジュール（１６）と、
前記ホストインターフェースモジュールに接続され前記ＳＤカードデバイスに対するホストコントローラーとして機能する第１及び第２の内部ＳＤホストエンジン（１５ａ、１５ｂ）と、
前記内部ＳＤホストエンジンのそれぞれに接続されデータ又はコマンドの経路を選択する第１及び第２のセレクタ（１４ａ、１４ｂ）と、
前記セレクタのそれぞれに接続され前記ＳＤカードデバイスとのインターフェースとなる第１及び第２のＳＤバスインターフェース（１３ａ、１３ｂ）と、
前記セレクタに接続されたＳＤバスインターフェースに接続され、ＳＤコマンドやデータをパススルーさせるデータパススルー制御部（１７）と
を有するインターフェースカードシステム（１０）であって、
前記ＣＰＵバス・インターフェース又は前記ＳＤバス・インターフェースはいずれか一方が択一的に選択されて動作し、
前記ＳＤバス・インターフェースが選択された際には前記ＳＤバス・インターフェースの内部レジスタにＳＤＩＯ Ｆｕｎｃｔｉｏｎ２が仮想的に割り当てられると共に前記第１又は第２の内部ＳＤホストエンジンを介することなくホストシステム側の外部ＳＤホストから受け取ったＳＤコマンド及びデータを前記ＳＤカードデバイス側へパススルーさせることを特徴とするインターフェースカードシステム。
【請求項２】
請求項１記載のインターフェースカードシステムにおいて、
前記第１及び第２の内部ＳＤホストエンジン（１５ａ、１５ｂ）がいずれも直接転送インターフェースを更に備えると共に、ＤＭＡハンドラ（１８）を備え、  このＤＭＡハンドラを通じて発行される直接転送インターフェース制御信号により、前記ＳＤホストエンジンの転送モード及びデータ転送経路が選択されることを特徴とする請求項１記載のインターフェースカードシステム。
【請求項３】
前記ＣＰＵバス・インターフェースを介してホストシステムと接続された請求項１記載のインターフェースカードシステム。
【請求項４】
前記ＳＤバス・インターフェースを介してＳＤホストコントローラーと接続された請求項１記載のインターフェースカードシステム。
【請求項５】
前記ＳＤカードデバイスがＳＤメモリーカードとＳＤＩＯ(Secure Digital Input Output)デバイスとで構成され、かつ、前記ホストシステムがＳＤバス・インターフェースを介して接続されたＳＤホストコントローラーである場合において、
前記インターフェースカードシステムが前記ホストシステムに対して単一のＳＤカード
デバイスであると認識させるために、
前記ＳＤバス・インターフェースが、
前記ＳＤカードデバイスが発行するレスポンス及びデータの書き換え、不要なレスポンスのブロック、レスポンスタイミングの調整を行うことによりＳＤバスインターフェイスのコマンドやり取りやデータ転送を矛盾なく調停することを特徴とする請求項１記載のインターフェースカードシステム。
【請求項６】
請求項１記載のインターフェースカードシステムと、第１のＳＤカードデバイスとが第１のＳＤバスインターフェース（１３ａ）を介して接続されていると共に、
前記第２のＳＤバスインターフェース（１３ｂ）を介してマイクロＳＤカード接続用のスロットが接続され、スタンダードＳＤメモリースロットに挿入されるＳＤカードデバイス筐体に収められたことを特徴とするＳＤメモリーコンボカード。
【請求項７】
前記第１のＳＤカードデバイスが無線通信モジュール（６０ａ）であることを特徴とする請求項６記載のＳＤメモリーコンボカード。
【請求項８】
前記無線通信モジュールは、ＩＥＥＥ８０２．１１に準拠するワイヤレスＬＡＮモジュール（Ｗｉ−Ｆｉ）、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）モジュール、ギガＩＲＤＡ（高速可視光線通信）モジュールから選ばれる少なくとも１つであることを特徴とする請求項７記載のＳＤメモリーコンボカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤ(Secure Digital）カードデバイスとホストシステム（ＣＰＵシステム又はＳＤホストシステム）との間に介在させて用いられるインターフェースカードシステムに関する。
【背景技術】
【０００２】
ＳＤカードデバイスは、ホストシステムの機能を拡張するために周辺機器として、広く普及している。ＳＤホストコントローラーは、ホストシステムに内蔵されるロジック回路であり、ＳＤバスインターフェースを通じてＳＤカードデバイス側のＳＤホストコントローラーとデータおよびコマンドをやり取りすることで、ＳＤカードデバイスの動作を制御している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開ＷＯ２００６／０３５７３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来は、多くの場合、ＳＤカードデバイスとＳＤホストコントローラーとの間でやりとりされるデータが一旦ホストシステム側のバスを介してホストシステム側に送られていたために、ホストシステム側のＣＰＵやメモリー等のリソースを消費してホストシステム側の処理負荷が増大する原因となっていた。
【０００５】
さらに、ホストシステムに２つのＳＤカードデバイスを独立して制御できるホストコントローラーを備えることによってＳＤカードデバイス間でデータの転送を行う場合にも、データが一旦ホストシステム側のＣＰＵに送られるシステムではスループットが低下する原因となっていた。
【０００６】
本発明は、上記に鑑みてなされたものであり、高速大容量化を目指す次世代の新ＳＤバス規格にも準拠することができる高機能なＳＤバス制御用のインターフェースカードシステムを提供することを主要な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るインターフェースカードシステムは、ＳＤカードデバイスとホストシステムとの間に介在させて用いられるインターフェースカードシステムであって、
前記ホストシステムとのインターフェースとなるＣＰＵバス・インターフェース（１１ａ）及び／又はＳＤバス・インターフェース（１１ｂ）と、
前記インターフェースに接続されＳＤコマンドを解釈すると共にインターフェースカードシステム全体の動作を制御するホストインターフェースモジュール（１６）と、
前記ホストインターフェースモジュールに接続され前記ＳＤカードデバイスに対するホストコントローラーとして機能する第１及び第２の内部ＳＤホストエンジン（１５ａ、１５ｂ）と、
前記内部ＳＤホストエンジンのそれぞれに接続されデータ又はコマンドの経路を選択する第１及び第２のセレクタ（１４ａ、１４ｂ）と、
前記セレクタのそれぞれに接続され前記ＳＤカードデバイスとのインターフェースとなる第１及び第２のＳＤバスインターフェース（１３ａ、１３ｂ）と、
前記セレクタに接続されたＳＤバスインターフェースに接続され、ＳＤコマンドやデータを必要に応じてパススルーさせるデータパススルー制御部（１７）と
を有する。
【０００８】
上記の構成によれば、ホストシステム側のＣＰＵに負荷をかけることなく２つＳＤカードデバイスを独立して制御することができる。
【０００９】
上記の構成においては、さらに、前記第１及び第２の内部ＳＤホストエンジン（１５ａ、１５ｂ）がいずれも直接転送インターフェースを更に備えると共に、ＤＭＡ(Direct Memory Access)ハンドラ（１８）を備え、
このＤＭＡハンドラを通じて発行される直接転送インターフェース制御信号により、前記ＳＤホストエンジンの転送モード及びデータ転送経路が選択されるように構成してもよい。
【００１０】
このような構成により、２つのＳＤエンジン（１５ａ、１５ｂ）の間で直接転送インターフェースが構築され、更に高速大容量の転送を、システムホスト側に負荷をかけることなく実現することができる。
【００１１】
また、上記構成においては、前記ＣＰＵインターフェースを介してホストシステムと接続される場合と、前記ＳＤバス・インターフェースを介してＳＤホストコントローラーと接続される場合の２つの場合が考えられる。前者の場合、システム側にとって本インターフェースカードシステムは２つの独立したＳＤホストエンジンを搭載したＳＤホストコントローラーとして振る舞う。
【００１２】
後者の場合、ＳＤホストコントローラーであるシステム側にとって、本インターフェースカードシステムは一つのＳＤカードデバイスとして振る舞う。このとき、前記ＳＤカードデバイスがＳＤメモリーカードとＳＤＩＯデバイスとで構成され、かつ、前記ホストシステムがＳＤバス・インターフェースを介して接続されたＳＤホストコントローラーである場合において、前記インターフェースカードシステムが前記ホストシステムに対して単一のＳＤカードデバイスであると認識させるために、前記ＳＤバス・インターフェースが、
前記ＳＤカードデバイスが発行するレスポンス及びデータの書き換え、不要なレスポンスのブロック、レスポンスタイミングの調整などを行うことによりＳＤバスインターフェイスのコマンドやり取りやデータ転送を矛盾なく調停することが好ましい。
【００１３】
本発明に係るインターフェースカードシステムの応用例としては、上記インターフェースカードシステムと、第１のＳＤカードデバイスとが第１のＳＤバスインターフェース（１３ａ）を介して接続されていると共に、前記第２のＳＤバスインターフェース（１３ｂ）を介してマイクロＳＤカード接続用のスロットが接続され、スタンダードＳＤメモリースロットに挿入されるＳＤカードデバイス筐体に収められたことを特徴とする複合カード（以下、「ＳＤメモリーコンボカード」又は「ＳＤコンボカード」という。）が考えられる。
【発明の効果】
【００１４】
本発明は、システム側バスとＳＤカードデバイスとの間に介在させて用いられる新規なＳＤバス制御システムを提供するものであり、本発明によれば、ＳＤバス制御部を小型モジュール化して１チップのＬＳＩなどに実装することが可能である。また、このインターフェースカードシステムは、ホスト側システムにもＳＤカードデバイス側のシステムにも適用することができるものであるため、応用用途も広がり汎用性が高く、開発コストや開発に要する時間を大きく低減することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態のインターフェースカードシステムの概略ブロック図
【図２】第１の実施形態のインターフェースカードシステムにおけるＳＤ−ＤＭＡモードのブロックダイアグラム
【図３】（ａ）第１の実施形態のインターフェースカードシステム１０をホストシステム側のハードウェア資源（ホストシステム）に組み込んだ実施態様  （ｂ）第１の実施形態のインターフェースカードシステム１０をＳＤカードデバイス側のハードウェア資源（カードデバイス）に組み込んだ実施態様
【図４】レスポンス及びデータの書き換え等におけるデータのやり取りの説明図
【図５】（ａ）は、ＳＤメモリー・無線通信装置コンボカードの実施態様を説明する概略機能ブロック図、（ｂ）は、（ａ）のカードを筐体を後方から見た図
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について説明する。各実施形態は互いに排他的なものではなく、それぞれ補完的な関係を有するものである。したがって、同一又は同質の部位については同じ符号を用いている。また、ＳＤカードデバイスは一例であり、その目的に応じて種々の変更が可能である。
【００１７】
（第１の実施形態）
図１は、第１の実施形態のインターフェースカードシステムの概略ブロック図を示している。
【００１８】
第１の実施形態のインターフェースカードシステム１０は、システム側バスとして、独立したシステムバスに接続される外部バス・インターフェースを２つ備えている。一つはエンベディッドＣＰＵ（ｅＣＰＵ）システム５０ａに接続するためのｅＣＰＵバス・インターフェース１１ａ（具体的には「マイコンインターフェース」など）であり、他の一つは外部ＳＤホスト５０ｂに接続されるＳＤバス・インターフェース１１ｂである。
【００１９】
システム側バスに接続される２つのシステムバス・インターフェースは原則として、いずれか一方のシステムバス・インターフェースが択一的に選択されて動作する。本明細書では、システムバスにｅＣＰＵバスが選択されるモードを「システム側ｅＣＰＵバスモード」と、ＳＤバス・インターフェース１１ｂが選択されるモードを「システム側ＳＤバスモード」と呼ぶ。
【００２０】
他方、本実施形態のインターフェースカードシステム１０は、クライアント側バスとして、独立したＳＤバス・インターフェース１３ａ、１３ｂを２つ備えている。この２つのインターフェース１３ａ、１３ｂを介してあらゆるＳＤカードデバイス６０ａ、６０ｂ（例えば、ＳＤメモリーカード、無線通信カード、ＧＰＳカード、放送電波受信装置その他ＳＤスロットに接続されるカードデバイス）に接続することができる。それぞれのＳＤカードデバイス６０ａ、６０ｂは内部ＳＤホストエンジン１５ａ、１５ｂによって独立して制御される。なお、ＳＤカードデバイスにはｍｉｎｉＳＤメモリーカードやマイクロＳＤメモリーカード或いはエンベディッドＳＤメモリーなども含まれる。
【００２１】
外部ＳＤホスト５０ｂは、ＳＤホストコントローラーなどが該当する。これは広く普及しているシングルコア型のＳＤホストコントローラーや、また、本件発明者らが開発したＳＤホストのコアを２つ備えたいわゆるデュアルコア型のＳＤホストコントローラーなどが含まれる。システム側ＳＤバスモードにおいて、本実施形態のインターフェースカードシステム１０を含むＳＤデバイスは、システム側から見ると、１つのＳＤカードデバイス（ＳＤコンボカード）として認識される。内部レジスタへのアクセスを除き、受けたＳＤコマンド及びデータは全て、所定の調停を行った上でＳＤカード側デバイス６０ａ、６０ｂへパススルーされる。
【００２２】
図１に示されるように、２つの独立したＳＤＩＯバス１３ａ、１３ｂはそれぞれがセレクタ１４ａ、１４ｂを介して２つの独立した内部ＳＤホストエンジン１５ａ、１５ｂに接続されている。すなわち、この部分はいわゆるデュアルコア型のＳＤホストコントローラーとしての機能を提供する部分ということができる。
【００２３】
さらに、２つの内部ＳＤホストエンジン１５ａ、１５ｂは共通の内部バスを通じて１つのホストインターフェースモジュール１６に接続され、そこから分岐してシステム側バスにあたるｅＣＰＵインターフェース１１ａとＳＤインターフェースとに接続されている。ホストインターフェースモジュール１６はシステム側のＳＤホストエンジンから送られるコマンドを解釈するロジック回路であり、これにより本実施形態のインターフェースカードシステム１０は外部ＳＤホストに対する一つのクライアントデバイス（ＳＤカードデバイス）として動作させることが可能となる。
【００２４】
セレクタ１４ａ、１４ｂの役割は、ＳＤカードデバイス６０ａ、６０ｂと受け渡しされるデータをそれぞれの内部ＳＤホストエンジン１５ａ、１６ｂに接続するかデータパススルー制御部（ＤＰＴ）１７に接続するかを選択することである。ＤＰＴ１７はシステムバス側のＳＤバス・インターフェース１１ｂに接続されるロジック回路であり、ＤＰＴ１７の役割は、システム側の外部ＳＤホスト５０ｂからＳＤカードデバイス６０ａ、６０ｂへのＳＤコマンドやデータを所定の調停を行った上でパススルーさせることである。
【００２５】
２つの内部ＳＤホストエンジン１５ａ、１５ｂは、更に、直接転送インターフェースを備えると共にＤＭＡハンドラ１８を介して互いに接続されており、それぞれのホスト（１５ａ、１５ｂ）に対するＳＤカードデバイス（６０ａ、６０ｂ）間のデータをシステムバス側へ転送することなくＤＭＡ転送することができるように構成される。ＤＭＡハンドラ１８は、内部ＳＤホストエンジン１５ａ、１５ｂ間の直接転送インターフェースを制御し、ホスト間で直接データをリード／ライトさせる機能を有する。
【００２６】
また、ホストインターフェースモジュール１６はＳＤ−ＤＭＡコントローラー１９にも接続されており、ＳＤ−ＤＭＡコントローラーによってＤＰＴ１７にデータがＤＭＡ転送されるように構成されている。すなわち、ＳＤ−ＤＭＡコントローラー１９は、システム側のＣＰＵを介さずにＳＤスロットに挿入されたＳＤカードデバイス間で直接データ転送を行う機能（ＳＤ−ＤＭＡモード）を提供する。
【００２７】
図２は、ＳＤ−ＤＭＡモードのブロックダイアグラムを示している。この図に示すように、ＳＤ−ＤＭＡモードは、ＳＤ−ＤＭＡコントローラー１９の制御は専用に用意されたレジスタ（ＳＤ−ＤＭＡレジスタ）を用いて転送制御（Transfer Control)、コマンド制御（CMD Control)を行う一方で、ＤＭＡハンドラ１８を通じて発行される直接転送インターフェース制御信号によって２つのホストエンジン１５ａ、１５ｂの直接転送インターフェースを制御する。転送制御において、ＤＭＡ転送の起動は「スタートＳＤ−ＤＭＡレジスタ」（Start SD-ＤＭＡレジスタ)を１にすることでＣＭＤＣｏｎｔｒｏｌブロックに必要な情報を渡して転送を開始させ、設定されたデータ転送終了後に割り込みを発生させる。１回のＳＤ−ＤＭＡモード実行中で複数回ＳＤコマンドを発生させる必要があるが、ＳＤコマンド１回あたりの最大ブロックカウントは「マックスブロックカウントレジスタ」（max block countレジスタ)の値を使用する。
【００２８】
システム側がＳＤバスモードである場合、ＳＤＩＯコマンドへのアクセスがＳＤ−ＤＭＡレジスタに割り当てられる。ＳＤ−ＤＭＡコントローラーは設定に従い、内部ＳＤホストエンジンにアクセスしてＳＤコマンドを発行し、データを内部ＳＤホストエンジン間（１５ａ⇔１５ｂ）で直接転送を行う。例えば、内部ＳＤホストエンジン１５ａが無線通信カード（ＳＤＩＯカード）を制御し、内部ＳＤホストエンジン１５ｂがＳＤメモリーカードを制御する構成においては、ＳＤメモリーに記憶されているデータを無線通信カードを介して高速にデータ転送したり、逆に、無線通信カードで受信したデータをＳＤメモリーに高速に記録することが可能となる。
【００２９】
ＳＤ−ＤＭＡモード実行中は、内部ＳＤホストエンジン１５ａ、１５ｂからのクロックをＳＤクロックとしてＳＤカードデバイスに供給するが、それ以外の場合はシステム側から供給されるＳＤクロックをＳＤカードデバイスに供給する。ＳＤ−ＤＭＡモード実行中は、ＳＤＩＯホストからの割り込みは全てブロックされシステム側には通知されない。ＳＤ−ＤＭＡ中断ステイタス、エネイブルレジスタによってのみ割り込みが発生する。ＳＤ−ＤＭＡモード実行中、ＳＤＩＯカード割り込みを処理するためにＳＤＩＯコマンドを発行する必要がある場合、ＳＤ−ＤＭＡをサスペンド（中断）状態にする必要がある。サスペンド中は２つの内部ＳＤホストエンジン１５ａ、１５ｂにつながるＳＤバスはパススルー状態となる。
【００３０】
ｅＣＰＵバス・インターフェース１１ａは一般的なコマンドＤＲＥＱ，ＤＡＣＫなどを使ったいわゆる「ＤＭＡ機能」によってＣＰＵを介さないデータ転送機能を有しており、バースト長は１，４，８，１６サイクルをいずれもサポートすることが好ましい。ＤＭＡは一般的なＳＤホストの規格で定められたＳＤＭＡのみ使用することが許され、内部ＳＤホストエンジン側のＤＭＡアドレスレジスタ値は使用されないことが好ましい。また、ＤＭＡで使用される内部ＳＤホストエンジン側アドレスは無視され、常にＳＤデータが転送
されるように構成することが好ましい。ＤＭＡにおけるバスタイミングはレジスタにより設定することができる。
【００３１】
本実施形態のインターフェースカードシステム１０は、２つの独立したシステム側バスと、２つの独立したＳＤカードデバイスの間に介在させて用いられる全く新しいバス制御システムを提供するものである。このような機能を実現するための回路は、比較的簡単な１チップの集積回路デバイス（ＬＳＩなど）で実装することが可能である。
【００３２】
ただし、本実施形態は必ずしもそのような実施態様に限定されない。複数のモジュール等を組み合わせて実現してもよいし、逆に他のシステムＬＳＩの一部として本実施形態のインターフェースカードシステムの機能を実現してもよい。また、機能ブロックの数・種類その他の構成についても種々変更が可能である。
【００３３】
（第２の実施形態）−システム側ｅＣＰＵバスモード−
以下では、第１の実施形態のインターフェースカードシステム１０を前提として、その動作モードについて説明する。動作モードは大きく分けて２つあり、１つは「システム側ｅＣＰＵバスモード」、他の１つは「システム側ＳＤバスモード」である。
【００３４】
システム側バスにｅＣＰＵシステムが選択された場合、ホストシステムであるｅＣＰＵシステム５０ａ側から本実施形態のインターフェースカードシステム１０をみると、デュアルコア型のＳＤホストコントローラーとして認識される。
【００３５】
図３（ａ）は、システム側ｅＣＰＵバスモードで使用することを前提として、第１の実施形態のインターフェースカードシステム１０をホストシステム側のハードウェア資源（ホストシステム）に組み込んだ実施態様を示している。なお、インターフェースカードシステム１０の機能ブロックは一部省略して記載している。そして、この図に示すように、システムバス・インターフェース５３を介して第１の実施形態のインターフェースカードシステム１０を接続する。
【００３６】
ｅＣＰＵシステム５０ａは、一般的な情報処理あるいはデジタル家電システム機器などで、システム全体あるいは一部を制御するＣＰＵ５１ａと一次記憶メモリー（ＲＡＭ）５２ａとシステムバス・インターフェース５３ａなどを備えているものが該当する。１６ビット／３２ビットのリトルエンディアン及びビッグエンディアンに対応しておけば、ホストシステム側のハードウェア資源に応じてデータ配置方式を選択できるなど、設計の自由度が大きい。
【００３７】
一方、ＳＤカードデバイス６０ａ、６０ｂは任意のＳＤカードデバイスを接続し、ホストシステム側から制御することが可能である。この例では、第１のＳＤバス・インターフェース１３ａにはＳＤＩＯ・無線通信カードを接続し、第２のＳＤバス・インターフェース１３ｂにはＳＤメモリーカードを接続した態様を説明している。ＳＤメモリーカードはｍｉｎｉＳＤメモリーカードやマイクロＳＤメモリーカードであってもよい。
【００３８】
それぞれのＳＤカードデバイス６０ａ、６０ｂは、２つの独立した内部ＳＤホストエンジン１５ａ、１５ｂによって制御される。しかも、ホストシステム側からは最小限の制御コマンドによって内部ホストエンジンの動作を制御することにより、ＳＤカードデバイス間のデータはホストシステムを経由することなく直接転送することが可能である。これにより、ホストシステム側のハードウェア資源（例えば、ホストデバイスのＣＰＵ５１、メモリー５２、システムバス・インターフェース５３など）を占有することなく、ＳＤカードデバイス間で高速大容量のデータ通信が可能となる。
【００３９】
従って、このモードでの動作を前提として使用する場合には、第１の実施形態のインターフェースカードシステム１０をホストシステム側に組み込むことで、２つのＳＤカードデバイスを独立して制御することができ、かつ、バス制御機能によって大半の処理をインターフェースカードシステム１０で行うことでホストシステム側のハードウェア資源（ＣＰＵ、メモリー、システムバス等のリソース）への負荷を最小限に抑えることができる高機能なＳＤホストコントローラーとして用いることができる。
【００４０】
なお、図３（ａ）ではインターフェースカードシステム１０を１チップのＬＳＩなどに実装した態様を想定して記載したが、ホストシステム側のＣＰＵに組み込んで同様のホストシステムを構成してもよい。また、ＳＤカードデバイスの組み合わせも任意である。
【００４１】
（第３の実施形態）−システム側ＳＤバスモード−
図３（ｂ）は、システム側ＳＤバスモードで使用することを前提として、第１の実施形態のインターフェースカードシステム１０をＳＤカードデバイス側のハードウェア資源（カードデバイス）に組み込んだ実施態様を示している。
【００４２】
ＳＤホストシステム５０ｂは、例えばラップトップ型パーソナルコンピュータ、携帯情報端末、ディジタルカメラ、ディジタルビデオ等であり、外部ＳＤホスト５１ｂと一次記憶メモリー（ＲＡＭ）５２ｂとシステムバス・インターフェース５３ｂなどを備えているものが該当する。
【００４３】
この図に示すように、システム側バスに外部ＳＤホスト５０ｂが選択された場合、外部ＳＤホスト５０ｂ側から本実施形態のインターフェースカードシステム１０をみると、本インターフェースカードシステム及び２つのＳＤカードデバイス等を複合させたＳＤコンボカード、すなわち１つのＳＤカードデバイスとして認識される。
【００４４】
実際には２つのＳＤバス・インターフェース１３ａ、１３ｂのそれぞれにＳＤカードデバイスを接続されることが予定されており、ホスト側からみて単一のＳＤカードデバイスと認識させるための仕組みが必要となる。
【００４５】
ＳＤＩＯカードデバイスとＳＤメモリーカードはいずれもＳＤアソシエーション（ＳＤＡ）が定める標準規格に準拠するＳＤホストによって制御されるカードデバイスであり、ＳＤバス・インターフェースに接続されるカードデバイスである点で共通するが、両者についてのコマンド体系としては共通のコマンド類および各々別に定義されているコマンド類が存在する。このようにコマンド体系が一部異なるカードデバイスを一つのカード内に実装しＳＤコンボカードを形成する本実施形態の場合、各々のコマンドに対するレスポンスやデータの書き換えなどの処理を適切に行う必要がある。以下、これについて説明する。
【００４６】
本実施形態のインターフェースカードシステム１０は外部ＳＤホスト５０ｂ側からみてＳＤコンボカードとして動作するため、外部ＳＤホスト５０ｂとコマンドやデータのをやりとりをするために先ずＳＤＩＯカードコントローラーとしての機能が必要となる。
【００４７】
ＳＤバス・インターフェース１１ｂの内部レジスタにはＳＤＩＯの規格で定められたＳＤＩＯ  Ｆｕｎｃｔｉｏｎ２を仮想的に割り当てるように処置する（これを「Ｖｉｒｔｕａｌ Ｆｎ２」と呼ぶ。）。「仮想的に」というのは、外部ＳＤホスト５０ｂにとって、インターフェースカードシステムは実際には、単一のＳＤカードデバイスではなくＳＤＩＯおよびＳＤメモリーの２つの機能を有しているからである。この処置により、ＳＤバス・インターフェース１１ｂはＳＤホストからのコマンドの特定の情報を解釈し、種々のコマンドに対するレスポンス、データ、ステータス情報等を生成することができる。また、初期化コマンドにより、本実施形態のインターフェースカードシステム１０はソフトリセットされる。Ｖｉｒｔｕａｌ Ｆｎ２へはカードのステータスに関係なく、いつでもｒｅａｄ／ｗｒｉｔｅ可能とする。
【００４８】
ＳＤバス・インターフェース１１ｂはＤＰＴ１７を介してコマンドやデータをスルーさせる際に、必要に応じて適宜レスポンスやデータを書き換えやそのタイミングの調整、および不要なレスポンスをブロックするなどの機能を有する。具体的には、レスポンス及びデータはＳＤＣＬＫ  数クロック遅延調整させて受け渡しする。この遅延調整により、ＳＤコマンド番号、読み出し及び書き込み、Ｆｎｘへのアクセスを判断することができるようになる。ＳＤＩＯカード及びＳＤメモリーカードに共通のコマンドについてはレスポンスが衝突しないように調停しする。また、コマンド体系の違うコマンド群については、ＳＤＩＯ用のコマンド、ＳＤメモリー用のコマンドを識別し、双方に不要なコマンドはパススルーさせず、矛盾が発生しないように調整する。
【００４９】
ＳＤスペックおいては、ＳＤホストとＳＤカードデバイスは、ＲＣＡと呼ばれるユニークな認識コード（以下、ＲＣＡ値  と呼ぶ）を用いて相互の通信を行う。そのため、ＳＤホスト側からは、然るべき場合にＲＣＡ値を確認するためのコマンドが発行され、それの応じてＳＤカードデバイスはそのコマンドに対し自己のＲＣＡ値をレスポンスとして返信するようになっている。ＳＤＩＯ規格のスペック上、ＳＤコンボカードのＲＣＡ値は１つである必要がある。しかしながら、本実施形態のインターフェースカードシステムを使用した場合、２つのＳＤカードデバイスが実際には存在し、それぞれがＲＣＡレジスタを持つため、必然的に２つのＲＣＡ値を取りうることになが、外部ＳＤホスト５０ｂ側から本システムを見たときにＲＣＡ値が１つであるように見せる必要がある。そこで、本システムでは、一方のＳＤカードデバイス（例えばＳＤカードデバイス６０ａ）のＲＣＡ値のみを外部ＳＤホストを制御するドライバソフトウェアに認識させ、内部的には２つのＲＣＡを各々のＳＤカードデバイスに定義できるように構成するための機能を有している。
【００５０】
次に、ＳＤメモリーからのレスポンスに関するコマンドにおけるＲＣＡ値の処理について説明する。ＳＤＩＯ規格のスペック上、ＳＤコンボカードのＲＣＡ値は１つしかない。ところが、本実施形態のインターフェースカードシステムを使用した場合、２つのＳＤカードデバイスはそれぞれがＲＣＡレジスタを持つため、必然的に２つのＲＣＡ値を取りうることになる。したがって、外部ＳＤホスト５０ｂ側から本システムを見たときにＲＣＡ値が１つであるように見せる必要がある。そこで、本システムでは、ＳＤメモリー及びＳＤＩＯデバイスのコマンドを解析することにより、一方のＳＤカードデバイス（例えばＳＤカードデバイス６０ａ）のＲＣＡ値のみを外部ＳＤホストを制御するドライバに見せ、内部的には２つのＲＣＡをカードに設定するように構成する。
【００５１】
図４は本実施形態のＳＤコンボカードと外部ＳＤホストの間におけるＲＣＡ値のやり取りを説明するための図である。この図に示すように、本実施形態のインターフェースカードシステムでは、実際にはＳＤＩＯカードデバイスのＲＣＡ値であるＲＣＡ＿ＡとＳＤメモリーカードのＲＣＡ値であるＲＣＡ＿Ｂとが存在するが、ＳＤコンボカード内部では、これら２つのＲＣＡ値を分別しアクセスを実施する。一方、外部ＳＤホストに対しては、予め決められた一方のＳＤカードデバイス、例えばＳＤメモリーカードのＲＣＡ値（ＲＣＡ＿Ｂ）だけを認識させるような仕組みとしている。また、ＳＤスペックにおいて、ＳＤメモリーを含むＳＤコンボカードにおいては、ＳＤホスト側へは、ＳＤメモリーとしてのカードステータスが要求されるため、本実施形態では、ＳＤメモリーカードのＲＣＡ値を、本ＳＤコンボカードのＲＣＡ値として使用することとしている。
【００５２】
バス衝突を避けるため、ＳＤカードデバイスの一つがＳＤメモリーカードの場合には、システム側の外部ＳＤホスト５０ｂからそのＳＤメモリーへのアクセス中は、ＳＤＩＯカード割り込みをシステム側に通知しないようにしなければならない。そのためにＳＤクロック停止時の非同期ＳＤＩＯ割り込みをサポートしておく必要がある。
【００５３】
［実施例]
次に、第３の実施形態の典型的な応用例について説明する。
図５（ａ）は、ＳＤメモリー・無線通信装置コンボカードの実施態様を説明する概略機能ブロック図、図５（ｂ）は、図５（ａ）のカードを筐体を後方から見た図である。これらの図に示されるように、この実施例のＳＤメモリー・無線通信装置コンボカード７０は、ＳＤＩＯカード（又は通常のＳＤメモリーカード）の筐体に収められ、マイクロＳＤカードを挿入するマイクロＳＤメモリーカード用のコネクタ７１を有している。
【００５４】
筐体の内部には、第１の実施形態のインターフェースカードシステム１０と、ＳＤバス・インターフェース１３ａに接続可能な無線通信モジュール６０ａ、その他無線通信機能を実現するために必要な水晶発振器やレジスタ等が設けられている。無線通信モジュール６０ａにより無線通信機能を提供する。他方、メモリー機能については、他方のＳＤバス・インターフェース１３ｂに接続されたマイクロＳＤカード用のコネクタ７１を介してマイクロＳＤカード６０ｂが接続できるようになっている。
【００５５】
マイクロＳＤメモリーを装着しなくても無線通信機能を提供することが可能であり、マイクロＳＤメモリーについてはユーザー保有のメモリーを用いることができる。しかも、マイクロＳＤメモリーは交換が可能であるため、ユーザーにとって利便性が高い機能を提供することができる。
【００５６】
また、本実施形態はシステム側ＳＤバスモードにおいて実行されるものであり、上述したＳＤ−ＤＭＡモードに対応することが可能である。すなわち、マイクロＳＤメモリーカード６０ｂに保持されたデータを無線通信モジュール６０ａを介して送信したり、逆に、無線通信モジュール６０ａで受信したデータをホスト側のＣＰＵを介さず直接マイクロＳＤメモリーカード６０ｂに記録したりすることが可能となる。
【００５７】
無線通信モジュール６０ａは、例えばＩＥＥＥ８０２．１１ｎ（ｂ／ｇ）に準拠するワイヤレスＬＡＮモジュール（Ｗｉ−Ｆｉ）、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）モジュールなどの近距離高速無線転送を実現するモジュールやブルートゥース（登録商標）、ギガＩＲＤＡ（高速可視光線通信）モジュールなどが含まれる。
【００５８】
この実施形態のＳＤメモリー・無線通信コンボカードによれば、それ自体をＳＤカードデバイスとしてホストシステムの周辺装置として利用することができるため、様々な利用態様が考えられる。たとえば、ＳＤＩＯカードのコネクタを有する携帯情報端末に装着すれば、携帯情報端末で撮影した静止画や動画のデータ或いはインターネット等を介して携帯情報端末で受信したデータを受信端末にタッチするだけで、瞬時にデータの転送ができる。また、受信端末が利用できない場合でも、通常のＳＤメモリーカードとしてホスト機器で読み出すこともできる。或いは、この実施形態のＳＤメモリー・無線通信コンボカードを種々のセンサーシステムに内蔵することにより、例えばセンサーシステムが取得した観測データをＳＤメモリー等に記録すると共に無線通信機能により記録データ等を他のシステムへ送信するなど、記録と通信という２つの機能を同時に実現することができる。
【００５９】
ワイヤレスＬＡＮモジュールをアクセスポイントを用いたいわゆる「インフラストラクチャーモード」で接続すれば、アクセスポイントを介して他のＬＡＮ内の機器と接続できることはもちろん、「アドホックモード」で接続すれば、ホスト機器を介さず他の無線ＬＡＮ機能を備えた機器と直接データの通信が可能となる。
【００６０】
さらに、無線通信装置の送信機能に着目して説明したが、無線通信モジュールの受信機能（例えば、ＧＰＳやワンセグ放送など、電波を受信する機能）に着目すれば、受信したデータをマイクロＳＤメモリーに記録したり、逆に、ホストシステム側にパススルーしてデータ転送することもできる。
【００６１】
さらに、第２の実施形態と第３の実施形態を組み合わせ、２つのＳＤスロットを有するホストシステムの一つ又は両方に第３の実施形態の実施例に示すＳＤメモリー・無線通信コンボカードを装着する実施態様も考えられる。
【００６２】
以上のように、上記各実施形態によると、いずれもホストシステム側のリソース及びホストシステム側の内部データバスにかかる負荷が軽減され、かつ、ホストシステムを介さずＳＤカードデバイス同士で直接データの転送が可能となるなどの利点がある。
【産業上の利用可能性】
【００６３】
本発明に係るインターフェースカードシステムは様々なホスト機器への組み込みが可能であることはもちろんのこと、１チップのＬＳＩ化することでＳＤカードデバイス側への組み込みも可能であるなど、極めて付加価値の高いＳＤカードアプリケーション開発用の組み込みモジュールとして、産業上の利用可能性は極めて大きい。
【図１】
0005641754.tif 000002
【図２】
0005641754.tif 000003
【図３】
0005641754.tif 000004
【図４】
0005641754.tif 000005
【図５】
0005641754.tif 000006