(57)【特許請求の範囲】
【請求項１】
１チップの半導体集積回路デバイスであって、ＳＤホストエンジンとこのＳＤホストエンジンを制御するＳＤホストレジスタ群及びメモリーとを含むＳＤＩＯホストのコアを少なくとも２系統と、前記ＳＤＩＯホストを独立して制御する複数のＣＰＵインターフェースと、各ＣＰＵインターフェースを選択するセレクタを２つ備えていることを特徴とするＳＤＩＯホストコントローラ。
【請求項２】
少なくともＡＴＡインターフェースとＡＴＡ−ＳＤプロトコル変換エンジンを備えていることを特徴とする請求項１記載のＳＤＩＯホストコントローラ。
【請求項３】
前記ＡＴＡインターフェースは、ウルトラＤＭＡコントローラを備えていることを特徴とする請求項２記載のＳＤＩＯホストコントローラ。
【請求項４】
前記ＣＰＵインターフェースは、ＡＴＡインターフェースの他、更に、ＰＣＩバスインターフェース、及び／又は、汎用マイコンインターフェースを備えていることを特徴とする請求項２又は請求項３記載のＳＤＩＯホストコントローラ。
【請求項５】
ＳＤメモリーカードの記録データを複製するための装置であって、
請求項２又は３記載のＳＤＩＯホストコントローラを２つと、ＩＤＥホストコントローラとして機能するロジック回路と、セレクタ回路とを備え、前記ＳＤＩＯコントローラの１つを読み出し用、他の１つを書き込み用とすることを特徴とするＳＤメモリーカード複製装置。
【請求項６】
前記ＩＤＥホストコントローラ及びセレクタ回路は、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）で構成されていることを特徴とする請求項５記載のＳＤメモリーカード複製装置。
【請求項７】
前記ＩＤＥホストコントローラが比較器及び２つのバッファーを更に設け、複写元及び複写先のアドレス毎のデータをハードウエア的に比較することによりデータの照合を行うことができるようにした請求項６記載のＳＤメモリーカード複製装置。
【請求項８】
請求項１乃至請求項４記載のいずれか１項に記載のＳＤＩＯホストコントローラと、ＡＴＡブリッジ機能を持つＵＳＢコントローラとが、それぞれのコントローラのＡＴＡインターフェースを介してウルトラＤＭＡバスにより接続されていることを特徴とするＳＤメモリーカードリーダーライター。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主としてＳＤメモリーカード又はＳＤＩＯに準拠したＳＤカードアプリケーション機器を制御するための半導体デバイスである、ＳＤＩＯホストコントローラデバイス、及び、これを利用した応用機器等に関する。
【背景技術】
【０００２】
近年、統一規格によってカード形状や通信プロトコルなどが規定された、「ＳＤメモリーカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｍｅｍｏｒｙ  Ｃａｒｄ）」或いはその上位互換にあたる「ＳＤＩＯカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｃａｒｄ）」に準拠した、ＳＤバススロット（本明細書では便宜上、ＳＤバスに接続するスロットを総称して「ＳＤスロット」と呼ぶ）を搭載する携帯情報端末（ＰＤＡ）・ノートパソコンなどが普及してきている。なお、この統一規格のことを本明細書では「ＳＤ規格」と呼ぶ。より正確には、ＳＤアソシエーションが定めている国際規格を意味する。【０００３】
図９（ａ）は、ＳＤホスト機器１００（例えば、ＰＤＡ１００ａ，ノート型パソコン１００ｂ，ＳＤメモリーカードリーダー１００ｃ，・・・等々）とＳＤカードアプリケーション機器１０２（無線ＬＡＮカード１０２ａ，ＳＤメモリーカード１０２ｂ，ｍｉｎｉ−ＳＤメモリーカード１０２ｃ，・・・等々）の一例を示す図である。ＳＤホスト機器１００は、ＳＤ規格で大きさと形状が定められたＳＤスロット１０１を備えており、このＳＤスロットに各種のＳＤカードアプリケーション機器１０２が接続される。【０００４】
ＳＤカードアプリケーション機器１０２は、例えば無線ＬＡＮカード１０２ａやＳＤメモリーカード１０２ｂ・１０２ｃ、ラジオ放送受信カード・ＧＰＳカード・カメラカード（いずれも不図示）など、様々な周辺装置が開発されている。【０００５】
従って、ホスト機器がＳＤスロット１０１を備えており、かつ、そこに必要なドライバソフトがインストールされていれば、これらの周辺装置（ＳＤカードアプリケーション機器）をいつでも制御することができる。【０００６】
なお、携帯電話などのような小型のホスト機器に対応するため、通常のＳＤスロットよりもややサイズの小さいｍｉｎｉ−ＳＤスロットなどの規格も存在するが、通信プロトコル自体はＳＤ規格に準拠するものであるため、スロットの形状がｍｉｎｉ−ＳＤであるか通常のＳＤスロットであるかという問題は、特に断らない限り区別しないものとする。【０００７】
図９（ｂ）は、ホスト機器１００が、ＳＤバス１０５を介して、ＳＤカードアプリケーション機器１０２と接続される様子を模式的に示した図である。ホスト機器１００は、ＳＤスロット１０１を備えており、ＳＤカードアプリケーション機器１０２を挿着した状態で使用する。【０００８】
ホスト機器１００には、ＳＤＩＯホストコントローラと呼ばれる半導体チップが内蔵され、一方ＳＤカードアプリケーション機器１０２には、ＳＤ又はＳＤＩＯコントローラ（いずれも可能であるが以後は便宜上ＳＤＩＯコントローラで統一する。）と呼ばれる半導体チップが内蔵されている。
一つのＳＤＩＯホストコントローラと一つのＳＤＩＯコントローラは常に一対一で互いに相手の発するコマンドを認識しながらデータ転送を行う仕組みになっている。この点において、ＳＤバスは、後述するＵＳＢ（ユニバーサルシリアルバス）などのような、一対Ｎの接続が許容されるバスとは異なっている。【０００９】
ホスト機器にＳＤＩＯカードアプリケーション機器が装着されると、ホスト機器に内蔵されているＳＤＩＯホストコントローラが、カードアプリケーション機器１０２に内蔵されているＳＤＩＯコントローラとの間でコマンド及びデータのやりとりを行ってカードを認識する。【００１０】
従来のＳＤＩＯホストコントローラ（或いはＳＤホストコントローラ）は、ＳＤＩＯホストのコア（ＳＤホストエンジン）と、一つのＳＤバスインターフェースと、ホスト機器のＣＰＵと接続するためのローカルバスを接続する一つのＣＰＵインターフェース、及びクロックやレジスタ制御部など、最小限の構成を備えているだけの極めて簡単なものであった（例えば、特許文献１の図１参照）。【００１１】
【特許文献１】特開２００３−７６９５２号公報
【特許文献２】ＷＯ０３／０１９８４１
【発明の開示】
【発明が解決しようとする課題】
【００１２】
一方、ホスト機器のＣＰＵは、ローカルバス（ＰＣＩバスやジェネリックＣＰＵバスなど）に加え、ＡＴＡインターフェース、ＵＳＢインターフェース、ＩＥＥ１３９４インターフェースなど、高速大容量通信を可能にする種々のバスインターフェースを備えているものも多い。【００１３】
ＵＳＢインターフェースは、ストレージデバイスのほか、マウスやキーボードといった入出力装置、プリンタ・スキャナー、或いはメモリーカードのリーダー／ライターなど、様々な機器に接続することができる汎用性の高いインターフェースである。【００１４】
しかも、ホスト機器上で動作する近年の汎用性の高いオペレーティングシステムの多くは、これらの標準的なインターフェースのホスト（ＩＤＥホスト、ＵＳＢホスト等）のホストコントローラデバイス及びそのデバイスドライバが標準装備されている。【００１５】
その一方で、ＳＤバスインターフェースを接続できる機器は限られている。従って、ＳＤカードアプリケーション機器をこれらの汎用インターフェースに接続することができれば、ＳＤカードアプリケーション機器の利用形態が多様化し、様々な製品開発へ応用することができると考えられる。【００１６】
本発明は、標準化された汎用インターフェースに接続することができる汎用性の高いＳＤＩＯホストコントローラを提供することを主たる技術的課題とする。
【課題を解決するための手段】
【００１７】
本発明に係るＳＤＩＯホストコントローラは、１チップの半導体集積回路デバイスであって、ＳＤホストエンジン１０とこのＳＤホストエンジンを制御するＳＤホストレジスタ群１１及びメモリー１２とを含むＳＤＩＯホストのコア１６を少なくとも２系統と、ＳＤＩＯホストを独立して制御する複数のＣＰＵインターフェース１３ａ，１３ｂ，・・・と、各ＣＰＵインターフェースを選択するセレクタ（ＭＵＸ）１４を２つ備えていることを特徴とする。このようにすると、ホスト機器にＳＤスロットを２系統備えることができる。
【００１８】
このＣＰＵインターフェースは、少なくともＡＴＡインターフェースとＡＴＡ−ＳＤプロトコル変換エンジンを備えていることが好ましい。このように、ＡＴＡインターフェースとＡＴＡ−ＳＤプロトコル変換エンジンとを備えていると、ＩＤＥホストを備えたホスト機器が本発明に係るＳＤＩＯホストコントローラを認識することができる。この場合、ＳＤＩＯホストコントローラは、ＩＤＥデバイスとして認識されるため、ターゲットデバイスがＳＤメモリーカードである場合には、ドライバソフトやファームウエアなどをインストールする必要もない。【００１９】
この場合、ＡＴＡインターフェースは、ウルトラＤＭＡコントローラを備えていることが好ましい。このようにすると、ウルトラＤＭＡ転送方式をサポートするため、データ転送速度が向上する。【００２０】
また、ＣＰＵインターフェースは、ＡＴＡインターフェースの他、更に、ＰＣＩバスインターフェース、及び／又は、汎用マイコンインターフェース（ジェネリックＣＰＵインターフェース）を備えていることが好ましい。これらのインターフェースを介して、ＳＤＩＯカードアプリケーション機器を制御できるためである。【００２２】
このようにすると、本発明に係るＳＤＩＯホストコントローラは、複数のインターフェースのいずれかを一つずつを使用して、各ＳＤスロットに接続されるターゲットデバイスを独立に制御することができる。【００２３】
本発明に係るＳＤメモリーカード複製装置は、ＳＤメモリーカードの記録データを複製するための装置であって、ウルトラＤＭＡコントローラを備えたＡＴＡインターフェース及びＡＴＡ−ＳＤプロトコル変換エンジンを搭載した上記のＳＤＩＯホストコントローラを２つと、ＩＤＥホストコントローラとして機能するロジック回路と、セレクタ回路とを備え、ＳＤＩＯコントローラの１つを読み出し用、他の１つを書き込み用とすることを特徴とする。
【００２４】
この場合、ＩＤＥホスト及びセレクタ回路は、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）で構成しても良い。この複製装置を実現するために必要なＡＴＡコマンドはＡＴＡ必須コマンド及びリムーバブルデバイスであるＳＤメモリーカードの特質に起因する数種類のコマンドだけで良いため、ＦＰＧＡで容易に実現することができる。もちろん、ＣＰＵやマイコンで構成しても良い。【００２５】
また、この装置のＩＤＥホストコントローラに比較器及び２つのバッファーを更に設け、複写元及び複写先のアドレス毎のデータをハードウエア的に比較すれば、ソフトウエア的に照合を行う場合よりも高速に照合を行うことができる。【００２６】
本発明に係るメモリーカードの複製方法は、ＩＤＥホストコントローラと、ＡＴＡインターフェースを介して前記ＩＤＥホストコントローラと接続された読み出し用メモリーカードホストコントローラと、ＡＴＡインターフェースを介して前記ＩＤＥホストコントローラと接続されると共に、前記読み出し用ホストコントローラとデータバスで直結された書き込み用メモリーカードホストコントローラと、セレクタ回路を含んだメモリーカード複製装置において、
以下のステップを含むことを特徴とする：
（イ）ＩＤＥホストコントローラが、複製元となるデータが記録されたメモリーカードの読み出し用のホストコントローラに対し、リードＤＭＡコマンドを発行するステップ、
（ロ）読み出し用のホストコントローラがリードＤＭＡコマンド（Ｒｅａｄ  ＤＭＡ）を受信すると、複製元となるデータが記録されたメモリーカードからデータを読み込み、読み出し用のホストコントローラのバッファーに蓄積するステップ、
（ハ）データがバッファーにたまったら、読み出し用のホストコントローラがＤＭＡリクエスト信号（ｄｍａｒｑ１）を立てるステップ、
（ニ）ＩＤＥホストコントローラがＤＭＡリクエストコマンド（ｄｍａｒｑ１）を受信した後、書き込み用のホストコントローラに対しライトＤＭＡコマンド（Ｗｒｉｔｅ  ＤＭＡ）を発行するステップ、
（ホ）ＩＤＥホストコントローラが読み出し用ホストコントローラからＤＭＡリクエスト信号（ｄｍａｒｑ２）を受信した後、データ転送開始信号（ｄｍａｃｋ）を発行すると同時にセレクタ回路を切り替えることにより「ｉｏｒｄｙ１」と「ｄｉｏｒ２」を電気的に結合するステップ。【００２７】
このように、ＩＤＥホストコントローラはコマンドの受け渡しを行うが、データ転送時には、読み出し用ホストコントローラから書き込み用ホストコントローラに直接データ転送が行われ、ＩＤＥホストコントローラを介さないでデータ転送が行われることが特徴である。このように、データをハードウエア的に転送するため、データ転送効率が極めて高く、高速転送可能である。【００２８】
本発明に係るＳＤメモリーカードリーダーライターは、本発明に係るＳＤＩＯホストコントローラ（ＡＴＡインターフェース及びＡＴＡ−ＳＤプロトコル変換エンジンを備えるもの）と、ＡＴＡブリッジ機能を持つＵＳＢコントローラとが、それぞれのコントローラのＡＴＡインターフェースを介してウルトラＤＭＡバスにより接続されていることを特徴とする。【００２９】
ＵＳＢコントローラはＵＳＢホスト機器側で認識されているため、ドライバソフトやファームウエアなどを必要とせず、かつ、ウルトラＤＭＡ転送方式によるため読み出し及び書き込み速度が劇的に増大する。
【発明の効果】
【００３０】
本発明に係るＳＤＩＯホストコントローラデバイスによると、従来よりも一層汎用性が高められ、様々なホスト機器に適用されることが期待される。また、本発明に係るＳＤＩＯホストコントローラデバイスを利用した新規な応用製品、例えば、ＳＤメモリーカードを高速に複製することができるＳＤメモリーカード複製装置などを提供することができる。
【発明を実施するための最良の形態】
【００３１】
（第１の実施形態）
はじめに、本発明に係るＳＤＩＯホストコントローラデバイス（以下単に「ホストコントローラ」ということもある。）の一例と、その代表的な実施態様の概要ついて説明する。【００３２】
［ＳＤホストコントローラの一例］
図１は、本発明に係るＳＤＩＯホストコントローラの一実施例を示している。同図に示すように、このコントローラ１８の機能ブロックとしては、ＳＤホストのＳＤプロトコルエンジン（ＳＤホストエンジン１０）と、このＳＤホストエンジンを制御する、ＳＤホストレジスタ群１１及びメモリー（ＳＲＡＭ等）１２と、を含むＳＤＩＯホストのコア１６を２系統（同一の機能ブロックは同じ符号を用い、添字ａ，ｂを用いて区別している）備え、ＳＤのホストを制御するＣＰＵインターフェースを３つ（ＡＴＡインターフェース１３ａ、ＰＣＩインターフェース１３ｂ、汎用マイコンインターフェース１３ｃ）と、各ＣＰＵインターフェースを選択するセレクタ（ＭＵＸ１４ａ、１４ｂ）とを備えた１チップの半導体デバイスである。試作品は、１４４ｐｉｎのＣＳＰ（チップサイズパッケージ）で大きさが８ｍｍ×８ｍｍ×１．０ｍｍとなった。【００３３】
ＳＤスロットを備えたホスト機器がＳＤカードアプリケーション機器を制御するために最低限必要な部分は図１の破線で囲まれたＳＤＩＯホストのコア１系統と、ＰＣＩインターフェースなどローカルバスに接続するためのインターフェース、及びクロック・リセット回路などの周辺回路であり、それらはすでに１チップのデバイスとして製品化されているものもある。【００３４】
しかし、このホストコントローラ１８は、ＳＤホストを制御するＣＰＵインターフェースが複数系統あり、ＳＤ規格のスペックに含まれている「ＰＣＩバスインターフェース」及び「汎用マイコンインターフェース」に加えて、「ＡＴＡインターフェース」とを備えていることが特徴である。【００３５】
−各機能ブロックの説明−
以下、各機能ブロックについて説明する。【００３６】
（ａ）ＳＤホストエンジン
ターゲットとなるアプリケーション機器（ＳＤカードアプリケーションデバイス）にＳＤコマンドを発行しこれを制御する部分であり、ＳＤＩＯホストコントローラの心臓部である。【００３７】
（ｂ）ＳＤホストレジスタ群
ＳＤ規格（ＳＤホストバージョンｖｅｒ１．０）に準拠したレジスタ仕様であり、汎用のオペレーティングシステムが標準装備しているデバイスドライバをそのまま利用することができる。【００３８】
（ｃ）メモリー（バッファー）
ＳＲＡＭで構成し、ダブルバッファーメモリー（５１２バイト）を２バンク搭載している。このメモリーはＳＤホストのコアに内蔵される場合と外付けの場合とがあるが、いずれでも良い。なお、バッファーとして機能するものであれば、メモリーの構成はＳＲＡＭに限られない。【００３９】
（ｄ）クロック・リセット部
ＳＤ規格のバージョンアップ（フィズィカルスペシフィケーションｖｅｒ１．０１）に対応するため、クロック周波数が従来の２５ＭＨｚから５０ＭＨｚとなり、より高速にデータ転送することが可能になっている。規格の制限がなければこれ以上で動作させることも可能である。【００４０】
（ｅ）ＰＣＩバスインターフェース
ＰＣＩバス（Ｐｅｒｉｐｈｅｒａｌ Ｃｏｍｐｏｎｅｎｔ Ｉｎｔｅｒｃｏｎｎｅｃｔ ｂｕｓ)とは、ＣＰＵシステムが周辺装置とデータ転送する際の内部バスの仕様である。本発明に係るＳＤＩＯホストコントローラのＰＣＩバスインターフェースは、ＤＭＡ（ダイレクトメモリアクセス）による転送方式をサポートしている。【００４１】
（ｆ）汎用マイコンインターフェース
汎用マイコンインターフェース（ジェネリックＣＰＵインターフェース）とは、マイコンに接続するためのインターフェースである。マイコンはホスト機器に組み込まれたもの（エンベディッド用）であることが通常である。汎用マイコンインターフェースを通してマイコンはＳＤホストのレジスタ（図１の符号１１）の内容を知ることができる。本発明に係るＳＤＩＯホストコントローラの汎用マイコンインターフェースは、ＤＭＡ（ダイレクトメモリアクセス）による転送方式をサポートしている。【００４２】
以上の（ａ）乃至（ｆ）は、ＳＤ規格に準拠したＳＤＩＯホストコントローラの機能ブロックの基本的な構成である。【００４３】
（ｇ）ＡＴＡインターフェース
ＡＴＡインターフェース（以下、単に「ＡＴＡ」という場合もある。）はＣＰＵの内部バスインターフェースの一つであり、通常、ハードディスクドライブなどのストレージデバイスを接続するためのインターフェースである。ＡＴＡは、ＩＤＥと呼ばれる規格化されたコネクタにＩＤＥデバイス（ハードディスクドライブなど）を接続して使用する。本明細書では、ＡＴＡのホストコントローラのことを、「ＩＤＥホスト」と呼ぶ。【００４４】
本発明に係るＳＤＩＯホストコントローラのＡＴＡインターフェースは、ＰＩＯ転送方式（プログラムドＩ／Ｏ）やをサポートしている他、専用のＤＭＡコントローラを搭載しており、そのためウルトラＤＭＡによる転送方式をサポートしている。シングル／マルチワードＤＭＡ転送方式をもサポートするよう構成にしても良い。【００４５】
（ｈ）ＡＴＡ−ＳＤプロトコル変換エンジン
ＡＴＡインターフェースを備えていても、ＳＤバスにコマンド及びデータを送るためには、ＳＤホストエンジンがＡＴＡのコマンドを解釈することできなければならない。このため、ＡＴＡコマンドをＳＤコマンドに変換するためのプロトコル変換エンジンが必要となる。【００４６】
ＡＴＡ−ＳＤプロトコル変換エンジンは、ＡＴＡインターフェースでコマンドを受けると、ＳＤホストエンジンから予め決められたＳＤコマンド発するように構成する。例えば、”リードセクタ”というコマンドを受けた場合、ＳＤプロトコルエンジンには『”コマンド１８（ＣＭＤ１８）”及び”コマンド１２（ＣＭＤ１２）”を発する』というルール（コマンドテーブル）を予め定義しておくことにより、プロトコル変換を行う。【００４７】
表１は、ＡＴＡ−ＳＤプロトコル変換エンジンがサポートするＡＴＡコマンドの一例である。ＩＤＥホストが必要とするコマンドはＡＴＡデバイス必須コマンドと、電源管理フィーチャーセット、ＳＤメモリーカードの状態（取り外し可能であるため、接続中か否か）を通知するためのコマンド（例えば、ＳＤメモリーカードが未接続である、ＳＤメモリーカードが変更された、ＳＤメモリーカードは書き込み禁止である、などを通知するためのコマンド）をサポートしている。【００４８】
【表１】
0004799417.tif 000002
【００４９】
表２及び表３は、ＡＴＡ−ＳＤコマンド変換テーブルの一例である。【００５０】
【表２】
0004799417.tif 000003
【表２】
0004799417.tif 000004
【００５１】
また、番地（アドレス）の指定の仕方としては、一般に、ＣＨＡ（シリンダヘッダアドレッシング）方式と、ＬＢＡ（ロジカル・ブロック・アドレッシング）方式とがある。ＳＤメモリーカードはＬＢＡ方式であり、ＩＤＥホスト機器側はＣＨＳ方式である。このため、ＣＨＡからＬＢＡアドレスの変換が必要となる。この場合、ＩＤＥホスト機器がＣＨＡで最後の番地をアクセスしたときＳＤメモリーの容量を超えないように変換しなければならない点は注意が必要である。【００５２】
また、ＳＤＩＯカードアプリケーション機器からのコマンドレスポンスが遅い場合、ホスト機器のシステムがハングアップしないように適切な時間で処理を打ち切るなどの手当てが必要である。【００５３】
ＭＵＸ（マックス）：
上述したように本発明に係るＳＤＩＯホストコントローラは複数のインターフェースを持っているため、これらのうち、どのインターフェースを適用して通信するか、予め設定するための切り替えスイッチ（例えばディップスイッチなど）で設定しなければならない。ＭＵＸはいわばインターフェースを選択するセレクタの役割を担うものである。【００５４】
−ＡＴＡの転送方式について−
次に、ＡＴＡの転送方式について簡単に説明する。ＡＴＡの転送方式には、（ｉ）ＣＰＵが直接データ転送を行うＰＩＯ転送方式、（ｉｉ）専用のＤＭＡコントローラで実現するウルトラＤＭＡ転送方式などがある。各転送方式にはそれぞれ各ＡＴＡ信号の制御方法やタイミングが細かく規定されている。【００５５】
（ｉ）ＰＩＯ転送方式
ＰＩＯ（Ｐｒｏｇｒａｍｅｄ  Ｉ／Ｏ）転送方式とは、ＣＰＵが直接データの転送を行う方式であり、ＣＰＵのＩＮ／ＯＵＴ命令でバッファーメモリー空間を読み書きし、それをＬＯＯＰ命令などで繰り返し実行する。この方法は、システムバス上でレジスタ及びメインメモリーのアクセスサイクルが発生するため、システムバスの速度が転送レートを律速する。【００５６】
（ｉｉ）ウルトラＤＭＡ転送方式
ＡＴＡはウルトラＤＭＡ転送という高速データ転送用のインターフェースを備えており、ウルトラＤＭＡインターフェースを利用したデータ転送の方式のことをウルトラＤＭＡ転送方式という。この方式は、ＰＣＩバス上でバスマスタとなったＩＤＥコントローラに内蔵されているＤＭＡコントローラがデータ転送を行う。ＰＣＩバス上でのデータ転送は、通常のＰＣＩバスマスタによるデータ転送そのものとなる。ＡＴＡデバイス側のアクセスは、ＩＤＥコントローラ自体がシステムバスに関係なく自身のＤＭＡコントローラで行うため、システムバス上で発生するアクセスサイクルはメインメモリーに対するもののみとなる。従って、他の転送方式よりも高速にデータ転送が可能になる。【００５７】
他に、シングル／マルチワードＤＭＡ転送方式（ＤＭＡという名前が付いているが、ウルトラＤＭＡ転送方式とは全く別物である。）もあるが、ここでは説明を省略する。【００５８】
以下、図２（ａ）乃至（ｄ）を参照して、図１に例示したホストコントローラを用いた実用性の高い実施態様について説明する。【００５９】
−第１の態様−
ホスト機器には様々なものがあるが、上述したようにハードディスクドライブを内蔵する機器であれば、通常はＩＤＥホストを搭載しており、ＡＴＡインターフェースを備えている。【００６０】
図２（ａ）に示すように、これらのＩＤＥホストを搭載している機器に対して、上述した図１に示すホストコントローラ１８を適用すると、ＡＴＡインターフェース２１からＡＴＡウルトラＤＭＡバス（ＡＴＡ  Ｕ−ＤＭＡバス）を介してホスト機器１９ａのＩＤＥホスト２５に接続することができる。【００６１】
ＩＤＥホスト２５はホスト機器１９ａのＣＰＵ等（不図示）で最初から認識されており、ＡＴＡとＳＤのプロトコル変換はホストコントローラ１８で行われるため、ＳＤホストを認識するためのドライバソフトやファームウエアなどをホスト機器にインストールする必要がない。【００６２】
なお、ＡＴＡは、基本的にストレージデバイスを接続するためのインターフェースであるため、図２（ａ）のように、ＳＤＩＯではなくＳＤメモリーカードなどに接続する態様が基本となるが、メモリー機能を搭載していればＳＤＩＯカードでも構わない。【００６３】
以上のように、本実施態様のような使用法によると、従来ハードディスクを接続していたところをＳＤメモリーカードに置き換えて機器を小型化したり、或いはカードの着脱が容易である点を活かしてハードディスクの補助記憶媒体として使用したりすることが可能になる。【００６４】
また、転送速度の速いウルトラＤＭＡ転送によるため、従来のローカルバスを経由してソフトウエア的にＳＤメモリーカードにデータを書き込み／読み出しする場合と比較して、書き込み／読み出し速度が増大する。この速度の向上は体感できるほど劇的なものである。【００６５】
−第２の態様−
ホスト機器が、ＩＤＥホストと、マイコン（ジェネリックＣＰＵのホスト）又はＰＣＩホストとを搭載している場合、これら２つのインターフェースでホストコントローラと接続することもできる。【００６６】
図２（ｂ）に示すように、これらのＩＤＥホストとＰＣＩバスを搭載しているＣＰＵ又はマイコンとを持つホスト機器１９ｂに対して、上述した図１に示すホストコントローラ１８を適用すると、ＡＴＡインターフェース２１からＡＴＡウルトラＤＭＡバス（ＡＴＡ  Ｕ−ＤＭＡバス）を介してホスト機器１９ｂのＩＤＥホスト２５に接続すると共に、ＰＣＩバス２２（又はジェネリックＣＰＵバス（不図示））を介してホスト機器１９ｂのＣＰＵ等に接続することができる。【００６７】
近年のパーソナルコンピュータの殆どは、ＩＤＥホスト２５とＰＣＩバスを搭載したＣＰＵを標準装備している。また、ホスト機器がＰＣＩバスを持っていない場合でも、マイコンを持っている場合には、ＧＰＩＯのような汎用ポートからホストコントローラ１８の汎用マイコンインターフェースに接続することもできる。【００６８】
従って、このように２つのインターフェースによってホストコントローラを接続すれば、ＡＴＡインターフェースを介してＳＤメモリーカードを操作する一方で、ＰＣＩ又は汎用マイコンインターフェースを介して各種のＳＤＩＯカードアプリケーション機器（例えば、無線ＬＡＮカードなど）を制御することができる。【００６９】
−第３及び第４の態様−
図２（ｃ）に示すように、ＰＣＩバスインターフェースを介して２系統のＳＤＩＯカードアプリケーション機器に接続することもできる。このようにすると、１つのホスト機器が２つのＳＤバススロット（ＳＤＩＯ対応）を持つことができるようになる。この態様は主として汎用的なパーソナルコンピュータにＳＤＩＯホストを接続する際の態様である。【００７０】
図２（ｄ）に示すように、マイコンのＧＰＩＯポートのような汎用マイコンインターフェースを介して２系統のＳＤＩＯカードアプリケーション機器に接続することもできる。このようにすると、２つのＳＤＩＯホストを１つのホスト機器に内蔵することができる。この態様は、主としてＰＤＡやディジタルビデオカメラ等、ＰＣＩバスを持たない機器にＳＤＩＯホストを内蔵（エンベディッド）する際の態様である。【００７１】
以上の実施態様は一例であり、かつ、いずれも排他的なものではない。当業者の通常の創作レベルに照らし、これらの実施態様をそれぞれ適宜組み合わせたり、修正・変更する場合の実施態様も本発明の範囲に含まれるであろう。
【実施例】
【００７２】
以下、本発明に係るＳＤＩＯホストコントローラデバイスを利用した応用製品の実施態様について説明する。【００７３】
（第２の実施形態）−メモリーカード複製装置−
上述したとおり、第１の実施形態で例示したＳＤＩＯホストコントローラは、ＡＴＡのコマンドを用いて直接ＳＤカードアプリケーション機器を制御することができる。従って、このＳＤＩＯホストコントローラデバイス２つと、ＡＴＡのホスト（ＡＴＡコマンドを送るためのロジック回路）１つとを組み合わせると、ＳＤメモリーカードを複製するための専用回路（複製装置）を構成することができる。【００７４】
通常、あるＳＤメモリーカードのデータを、他のＳＤメモリーカードに複製（コピー）する場合、一旦ホスト機器にデータを全て読み込んだ後、コピー先となる別のＳＤメモリーカードをそのホスト機器に挿着し、読み込んだデータを全て書き込むことで、データの複製が完了する。しかし、このようにソフトウエア的にデータの読み出しと書き込みを行う方法は、手間と時間がかかる。【００７５】
ホストコントローラ同士をＡＴＡインターフェースで結合し、データをウルトラＤＭＡ転送するための専用回路を作成すれば、高速化と省力化が実現できる。【００７６】
（実施例１）−ＳＤメモリーカード複製方法（１：１）−
［回路構成］
図３（ａ）は、本発明に係るＳＤＩＯホストコントローラデバイスを利用したＳＤメモリーカード複製回路の一例を示している。この回路は、メモリーカードに記録されているデータを、他のメモリーカードに複製（コピー）するための専用回路である。この回路は、２つのＳＤＩＯホストコントローラ３１ａ，３１ｂと、ロジック回路を構成する例えばＦＰＧＡ３３と、１つのセレクタ回路３４を備えている。【００７７】
同図に示すように、ＦＰＧＡ３３と、２つのホストコントローラ３１ａ，３１ｂとはデータ転送用のバス（データバス）の他、ＡＴＡのコマンドを送受信するための信号線で結合される。
各信号線はいずれもＡＴＡの規格に沿ったものであり、ＡＴＡの各レジスタにアクセスするために使用するチップセレクト信号（ＣＳ［１：０］）、或いは、データ又はデータポートへアクセスするアドレス信号（ＤＡ［２：０］）などを送るための信号線は、説明を簡単にするため図示していない。【００７８】
更に、２つのホストコントローラ３１ａ，３１ｂは、互いのＡＴＡインターフェース（特に、ウルトラＤＭＡインターフェース）を物理的に直結するように接続され、データ転送はウルトラＤＭＡ転送方式により実行される。【００７９】
第１のＳＤＩＯホストコントローラ３１ａは読み出し用であり、複製元（マスター）となる第１のＳＤメモリーカード３２ａが接続される。一方、第２のＳＤＩＯホストコントローラデバイス３１ｂは書き込み用であり、複製先（コピー先）となる第２のＳＤメモリーカード３２ｂが接続される。【００８０】
図３（ｂ）は、上記回路構成を実現するためのハードウエアインプリメンテーションの一例を示している。この図のように、最も簡単な実装方法は、簡単な数種類のＡＴＡコマンドをサポートするＩＤＥホスト３５をＦＰＧＡ３３に組み込んでしまうことである。もちろん、セレクタ３４はＦＰＧＡ３３の内部に組み込むこともできる。また、バスを共有して用いる場合はＩＤＥホスト３５と共に調停回路（アービトレート・コントローラ）３６を設けておくことも必要である。【００８１】
［データ転送方法］【００８２】
ＦＰＧＡ３２はＡＴＡコマンド信号を用いて２つのＳＤＩＯホストコントローラデバイス３１ａ，３１ｂのデータ転送の開始や終了のタイミングなどを制御する。しかし、複製の際に転送されるデータは、２つのＳＤＩＯホストコントローラデバイスのそれぞれのウルトラＤＭＡインターフェースを介して直接（すなわちデータ自体はＦＰＧＡ３２を介さずに）転送される。【００８３】
この回路は、ホストコントローラのＡＴＡインターフェースを利用してＳＤメモリーカードのデータの入出力を中央コントロールチップ（図３におけるＩＤＥホスト）が発行するＡＴＡコマンドで制御する。ＡＴＡコマンドにより、複写元はウルトラＤＭＡの「Ｒｅａｄ  ｍｏｄｅ（読み出しモード）」、コピー先はウルトラＤＭＡの「Ｗｒｉｔｅ  ｍｏｄｅ（書き込みモード）」に設定し、転送準備完了前までにｄｍａｒｑ信号を発行しておき、それぞれのｄｍａｃｋ信号を制御することによりデータ転送の開始と終了を制御する。【００８４】
ここで、ｄｍａｃｋ信号・ｄｍａｒｑ信号とは、いずれもＡＴＡの信号名の一つであり、両者はいわゆるハンドシェイク、すなわち、一方が立ち、他方も立つとデータ転送が開始するという関係にたつ。【００８５】
具体的には、ストローブ信号は、送信側はｉｏｒｄｙ、受信側はｄｉｏｒ、というデータ信号線を用いて実現する。データ転送のプロトコルは、概ね以下の手順で行われる。【００８６】
図４（ａ）は、ＦＰＧＡが発行するＡＴＡ信号のプロトコルタイミングチャートを示す図である。
（イ）ＦＰＧＡ３３が、読み出し用のホストコントローラデバイス３１ａに対し、リードＤＭＡコマンドを発行する。
（ロ）読み出し用のホストコントローラ３１ａがリードＤＭＡコマンド（Ｒｅａｄ  ＤＭＡ）を受信すると、コピー元となるメモリーカード３２ａからデータを読み込みホストコントローラ３１ａのバッファー１２ａに蓄積していく。
（ハ）データがバッファーにたまったら、ホストコントローラ３１ａがＤＭＡリクエスト信号（ｄｍａｒｑ１）を立てる。これによりＦＰＧＡ３３はデータ転送準備が完了したことを知り、ＦＰＧＡはＤＭＡリクエストコマンド（ｄｍａｒｑ１）を立てる。
（ニ）ＦＰＧＡがＤＭＡリクエストコマンド（ｄｍａｒｑ１）を受信した後、書き込み用のホストコントローラ３１ｂに対しライトＤＭＡコマンド（Ｗｒｉｔｅ  ＤＭＡ）を発行する。
（ホ）ＦＰＧＡが読み出し用ホストコントローラデバイスからＤＭＡリクエスト信号（ｄｍａｒｑ２）を受信した後、データ転送開始信号（ｄｍａｃｋ）を発行すると同時にセレクタ回路を切り替えることにより「ｉｏｒｄｙ１」と「ｄｉｏｒ２」を電気的に結合する。【００８７】
図４（ｂ）は、データ転送中の回路状態を説明するための図であり、セレクタ回路が「ｉｏｒｄｙ１」と「ｄｉｏｒ２」を電気的に結合している状態を示している。このとき、「ｉｏｒｄｙ１」はデータストローブ信号として作用している。
このように、データ転送の開始の直前にセレクタ３４を切り替えることによりストローブ信号がＦＰＧＡではなく書き込み用のホストコントローラ３１ｂに送られるように経路を切り替える（これにより、ＦＰＧＡはデータ転送中データバスから開放される）。【００８８】
要するに、データ転送の準備段階まではＦＰＧＡ３３が各ホストコントローラ３１ａ，３１ｂとＡＴＡコマンドで通信し、データ転送の直前にセレクタ回路３４を切り替えることにより、各ホストコントローラ３１ａ，３１ｂのウルトラＤＭＡインターフェースを直結させ、ＦＰＧＡ３３を介さずにウルトラＤＭＡ転送させるのである。このデータ転送方式によれば、ストローブ信号及びデータ信号は、コピー元となる第１のＳＤＩＯホストコントローラデバイス３１ａからコピー先となる第２のＳＤＩＯホストコントローラデバイス３１ｂに直接転送される。転送されるデータはＦＰＧＡを経由しないため、データ転送速度が大きく、かつ転送効率も高い。【００８９】
なお、ＳＤＩＯホストコントローラデバイスはＳＤＩＯホストのコア１６を２系統含んでいる場合でも、この実施例１の装置構成を採用するときは、マスター側のＳＤＩＯホストコントローラデバイス３１ａは１系統のみ使用し、他の１系統は使用しない。【００９０】
（実施例２）−ＳＤメモリーカード複製装置（１：Ｎ）−
次に、実施例１では、複製元カードと複製先カードとが一対一の関係にある場合について説明したが、これを拡張し、１つの複製元カードから複数のカードに同時に複製することもできる。【００９１】
図５は、図３（ａ）を拡張して複数のメモリーカードに複製できるようにした回路構成を示している。読み出し用（複製元）となる第１のＳＤＩＯホストコントローラ５１ａに対し、書き込み用（複製先）となる第２及び第３のＳＤＩＯホストコントローラ５１ｂ，５１ｃを接続した様子を示している。もちろん、この回路は図３（ｂ）の例にならって、ＦＰＧＡ１個で実現できる。【００９２】
なお、セレクタ回路及びｄｉｏｒ信号及びｄｉｏｗ信号を分岐すると共に、ＤＭＡインターフェースを多数接続すれば、更に多くの枚数を同時に複製することもできる。【００９３】
（実施例１及び実施例２の変形例）
第１の実施形態で例示したＳＤＩＯホストコントローラはＳＤホストのコアを２系統備えている。一方、ＡＴＡの仕様では、プライマリとセカンダリという呼び方で、ＩＤＥコネクタが２個付いている。このため、ＡＴＡのホスト側から見て、２系統あるＳＤホストのそれぞれに接続されるアプリケーション機器は、マスター／スレーブとして両者を識別して使用することができる。【００９４】
しかし、実施例１或いは実施例２のようなＳＤメモリーカードの複製回路の専用機を構成する場合には、書き込み用ホストコントローラ側で、マスター／スレーブを識別することなく、両方とも同じデータを書き込むように設定を変更することもできる。このようにすると、書き込み用ホストデバイス１つで、２枚のカードに同じデータを書き込むことができる。なお、読み出し用のホストコントローラの場合、マスター／スレーブを識別することが必要であり、両方を同時に使用する態様は想定しにくい。【００９５】
（実施例３）−照合（ベリファイ）−
書き込み後にデータのベリファイ（照合）を行って、正しくコピーできたかどうか検証する際にも、照合はソフトウェア的に行うために非常に多くの時間がかかるという問題があった。【００９６】
しかし、図６に示すように、ＦＰＧＡで構成するＩＤＥホストに比較器（コンパレータ）３７とバッファー３８ａ，３８ｂを設け、これによって複写元及び複写先のアドレス毎のデータをハードウエア的に比較すれば、より高速に照合を行うことができる。【００９７】
照合の結果、データ不一致のアドレスが発見されたときは、エラーフラッグを立て、エラー信号を送るようにする。この信号によりＬＥＤを点灯させたり、液晶ディスプレイ上に不一致のアドレスを表示させたりすることができる。【００９８】
なお、実施例１乃至３で説明した例は、いずれもＳＤＩＯホストコントローラの開発過程で生まれた発明であるため、ＳＤメモリーカードを前提として説明してきたが、ＡＴＡインターフェース（及びコマンドインタープリタ）を備えた第１及び第２のホストコントローラデバイスがＳＤＩＯ以外のホストインターフェース、例えばコンパクトフラッシュ（登録商標）やメモリースティック（登録商標）を備えている場合にも、全く同様の動作手順によってこれらのメモリーカードの複製装置を構成することができる。【００９９】
（第３の実施形態）−ＳＤメモリーカードリーダーライター−
ＵＳＢ（ユニバーサル・シリアル・バス）インターフェースは、様々な機器に接続することができる汎用性の高い、ＣＰＵの外部インターフェースである。従来、ＵＳＢ端子に接続するＳＤメモリーカードリーダーライターは存在していたが、ＵＳＢのコントローラとＳＤホストコントローラを搭載し、ＵＳＢで受け取ったデータをファームウエアなどによってＳＤデータに変換し、汎用マイコンインターフェースなどを介してＳＤに送るというものであった。このように、ソフトウエア的にデータ変換を行っていたため、読み出し及び書き込みの速度が遅く、８Ｍｂｙｔｅ／ｓｅｃ程度が上限であった。【０１００】
一方、ＵＳＢコントローラは種々のものが開発されており、ＡＴＡのホスト側とＵＳＢのブリッジ変換を行うことができるいわゆるブリッジチップがある。【０１０１】
本発明に係るＳＤＩＯホストコントローラは、ＡＴＡインターフェース及びＡＴＡ−ＳＤプロトコル変換エンジンを搭載しているため、ＡＴＡブリッジ機能を持つＵＳＢコントローラと本発明に係るＳＤＩＯホストコントローラとをＡＴＡ−ウルトラＤＭＡバスで接続することができる。【０１０２】
図７（ａ）は、本発明に係るＳＤＩＯホストコントローラを利用したＳＤメモリーカードリーダーライターの一実施例を示す構成図である。同図に示すように、このカードリーダーライター７０は、本発明に係るホストコントローラ７１（図１の符号１８と同一のもので良い）と、ＡＴＡブリッジ機能を持つＵＳＢコントローラ（ＡＴＡ−ＵＳＢ２．０）７３と、ＳＤスロット７５ａ，７５ｂとを備え、ホストコントローラ（ＳＤメモリーカード対応）とＵＳＢコントローラとが互いにＡＴＡインターフェースを介してウルトラＤＭＡバスにより接続されている。また、ＵＳＢ端子から電源を供給できるため、レギュレータＩＣ７４により装置全体に電源を供給することができるようになっている。ＳＤ側のホストコントローラはＳＤメモリーカード１０２ａを接続する。【０１０３】
ＵＳＢのホストはホスト機器（例えば、ＰＣ）側にあり、ＢＯＴ（バルクオンリートランスファー）プロトコルで通信する。ＵＳＢは接続先の機器の種類によってクラススペックが異なる。ＢＯＴプロトコルは大容量記憶装置とのデータ転送を行う場合のデータ転送プロトコルクラス（マスストレージクラス）である。【０１０４】
このように、ＡＴＡ−ウルトラＤＭＡバスにより接続し、ハードウエア的にデータ転送を行うため、従来のＳＤメモリーカードリーダーライターと比較して、転送速度が劇的に増大する。【０１０５】
−変形例−
図７（ｂ）は、図７（ａ）の変形例であり、ＵＳＢコントローラとの通信をＡＴＡインターフェースではなく、汎用マイコンインターフェースを介して行うようにした態様である。【０１０６】
このようにすると、ＵＳＢコントローラに搭載されているマイコンがホストコントローラのＳＤＩＯレジスタを直接制御できるようになるため、ＳＤメモリーカードだけでなく、ＳＤＩＯカードアプリケーション機器（例えば、ＳＤＩＯ無線ＬＡＮカードなど）をも操作することができる。【０１０７】
ただし、接続するＳＤＩＯカードアプリケーション機器によっては、ファームウエア或いはホスト機器側のドライバソフトを開発する必要があり、ＵＳＢコントローラとの通信プロトコルについてもＢＯＴプロトコルを採用するか、或いは他の通信プロトコルを採用するかなど選択が必要になると考えられる。【０１０８】
−その他の実施例−
ＩＤＥホストを搭載したＵＳＢコントローラと同様に、ＩＤＥホストを搭載したＩＥＥＥ１３９４コントローラなども存在している。従って、ＵＳＢコントローラをＩＥＥＥ１３９４コントローラに置き換えれば、上記実施例及びその変形例にならって、ＩＥＥＥ１３９４対応の超高速ＳＤカードリーダーライターが実現する。【０１０９】
（第４の実施形態）
第３の実施形態で説明したＳＤメモリーカードリーダーライターは、ＡＴＡインターフェースを搭載しているため、ホストコントローラのＡＴＡインターフェースと接続するためのＩＤＥコネクタを設けることは極めて容易である。【０１１０】
図８（ａ）は、図７（ａ）で説明したＳＤメモリーカードリーダーライター７０に、例えば２．５インチのＩＤＥコネクタ７６を設け、ＡＴＡ／ＩＤＥバスによって、ハードディスクレコーダー８０に接続した状態を表している。このハードディスクレコーダー８０は、内部に１台のハードディスクドライブ８１とＩＤＥホストとなるＣＰＵ８２とを内蔵し、それらがＡＴＡインターフェースを介して接続されている。【０１１１】
ＡＴＡの仕様によれば、１つのＩＤＥコネクタに対し最大２つのデバイス（デバイス０、デバイス１）を接続することができる。なお、デバイス０をプライマリ、デバイス１をセカンダリと呼ぶ。【０１１２】
従って、ハードディスクレコーダー８０のセカンダリデバイスとして、図８（ａ）に示すＳＤメモリーカードリーダーライターを接続すれば、ハードディスクレコーダー８０は直ちにホストコントローラ８１を認識し、ハードディスクレコーダーでＳＤメモリーカードを制御することが可能となる。【０１１３】
もちろん、接続先の機器はＩＤＥホストを搭載したホスト機器であれば良く、ハードディスクレコーダーに限られない。例えば、パーソナルコンピュータ、ハードディスク内蔵のオーディオプレーヤーなど、基本的にハードディスクドライブを接続する機器が挙げられる。【０１１４】
なお、図８（ａ）に示すような使用方法は、上述した第１の実施形態における第１の態様（図２（ａ））の典型的な具体例である。【０１１５】
また、図８（ｂ）のように、ＰＣＩバスインターフェースのスロット７７を更に設けておけば、種々のＣＰＵインターフェースを介して様々なホスト機器に容易に接続できるため、ホスト機器の開発が一層容易になる。
【産業上の利用可能性】
【０１１６】
本発明に係るＳＤＩＯホストコントローラデバイスは、ＡＴＡインターフェースを含む複数のＣＰＵインターフェースを搭載しているため、様々なホスト機器に簡単に接続することができる。また、ＡＴＡとＳＤのプロトコル変換エンジンを備えているため、ＩＤＥホストから見れば、本発明に係るＳＤＩＯホストコントローラは、ＩＤＥデバイスとして認識されるだけであり、ドライバソフトやファームウエアなどを必要としない。【０１１７】
更に、ＵＳＢとＡＴＡのブリッジチップを介してホスト機器の外部バスに接続した場合には、ＡＴＡとＳＤのプロトコル変換エンジンによってハードウエア的にプロトコル変換するため、データ転送速度が従来よりも劇的に増大する。【０１１８】
以上のように、本発明に係るＳＤＩＯホストコントローラデバイスは、ドライバソフトやファームウエアの開発を不要なものとし、ＳＤホスト機器の開発環境を一層容易にするものであり、産業上の利用可能性は極めて大きい。
【図面の簡単な説明】
【０１１９】
【図１】図１は、本発明に係るＳＤＩＯホストコントローラの機能ブロックの一実施例を示す図である。
【図２】図２（ａ）乃至（ｄ）は、図１に例示したホストコントローラを用いた実用性の高い実施態様を示す図である。
【図３】図３（ａ）は、本発明に係るＳＤＩＯホストコントローラデバイスを利用したＳＤメモリーカード複製回路の一例を示す図である。（ｂ）は、（ａ）の回路構成を実現するためのハードウエアインプリメンテーションの一例を示す図である。
【図４】図４（ａ）は、ＦＰＧＡが発行するＡＴＡ信号のプロトコルタイミングチャートを示す図である。（ｂ）は、データ転送中の回路状態を説明するための図である。
【図５】図５は、図３（ａ）を拡張して複数のメモリーカードに複製できるようにした回路構成を示している。
【図６】図６は、データ比較器（照合器）のハードウエアインプリメンテーションの一例を示す図である。
【図７】図７（ａ）は、本発明に係るＳＤＩＯホストコントローラを利用したＳＤメモリーカードリーダーライターの一実施例を示す構成図である。（ｂ）は、（ａ）の変形例であり、ＵＳＢコントローラとの通信をＡＴＡインターフェースではなく、汎用マイコンインターフェースを介して行うようにした態様である。
【図８】図８（ａ）は、ＳＤメモリーカードリーダーライター７０に、例えば２．５インチのＩＤＥコネクタ７６を設け、ＡＴＡ／ＩＤＥバスによって、ハードディスクレコーダー８０に接続した状態を表している。（ｂ）は、ＰＣＩバスインターフェースのスロット７７を更に設けたＳＤメモリーカードリーダーライターを表している。
【図９】図９（ａ）は、ＳＤホスト機器１００とＳＤカードアプリケーション機器１０２の一例を示す図である。（ｂ）は、ホスト機器１００が、ＳＤバス１０５を介して、ＳＤカードアプリケーション機器１０２と接続される様子を模式的に示した図である。
【符号の説明】
【０１２０】
１０  ＳＤホストエンジン
１１  ＳＤホストレジスタ（群）
１２  メモリー（バッファー）
１３  ＣＰＵインターフェース
１３ａ  ＡＴＡインターフェース（ＡＴＡ／ＳＤエンジン）
１３ｂ  ＰＣＩインターフェース
１３ｃ  汎用マイコンインターフェース（ジェネリックＣＰＵインターフェース）
１８  ＳＤＩＯホストコントローラ
２０（２０ａ，２０ｂ）  ＳＤスロット
２１  ＩＤＥコネクタ
２２  ＰＣＩスロット端子
３１（３１ａ，３１ｂ，３１ｃ）  ホストコントローラ
３２（３２ａ，３２ｂ）  ＳＤメモリーカード
３３  ＦＰＧＡ（又はＣＰＵ）
３４  セレクタ回路
３５  ＩＤＥホスト
３６  調停回路（アービトレート  コントローラ）
３７  比較器（コンパレータ）
３８（３８ａ，３８ｂ）  バッファー
７０  ＳＤメモリーカードリーダーライター
７１  ＳＤＩＯホストコントローラ
７３  ＵＳＢコントローラ
７４  レギュレータＩＣ
１００  ＳＤ／ＳＤＩＯホスト機器
１００ａ  ＰＤＡ
１００ｂ  ノートパソコン
１００ｃ  ＳＤメモリーカードリーダーライター
１０１  ＳＤスロット
１０２  ＳＤ／ＳＤＩＯカードアプリケーション機器
１０２ａ  ＳＤメモリーカード
１０２ｂ  ＳＤＩＯカード
１０３  ＳＤ／ＳＤＩＯホストコントローラ
１０４  ＳＤ／ＳＤＩＯコントローラ
１０５  ＳＤバス
【図１】
0004799417.tif 000005
【図２】
0004799417.tif 000006
【図３】
0004799417.tif 000007
【図４】
0004799417.tif 000008
【図５】
0004799417.tif 000009
【図６】
0004799417.tif 000010
【図７】
0004799417.tif 000011
【図８】
0004799417.tif 000012
【図９】
0004799417.tif 000013