(57)【要約】【課題】ホスト機器によるカード型周辺機器のプロトコルの判別を簡単に行う上で有利なカード型周辺機器のアクセス方法、ホスト機器、およびカード通信方法を提供する。【解決手段】ＶＰＤ  Ｃａｐは、第１のアドレス情報が設定されるアドレスレジスタと、第１のアドレス情報に基づいて記憶部２８から読み出されるプロトコル識別情報の一部が設定されるデータレジスタを含み、データレジスタの容量はプロトコル識別情報のデータ量より小さく、コンフィギュレーション空間２４は、第１の領域と、第２の領域とを含み、第１の領域は第２の領域の配置アドレスを示す第２のアドレス情報を含み、第２の領域には、アドレスレジスタに記憶部に格納されているプロトコル識別情報の一部にアクセスするための第１のアドレス情報が順次に設定され、データレジスタに、第１のアドレス情報に基づいて記憶部から読み出されるプロトコル識別情報の一部が順次に設定される。【選択図】図１
2010272130.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器に接続されることで前記ホスト機器との間で特定のプロトコルに従って通信を行う通信部と、
特定のプロトコルを判別するためのプロトコル識別情報を記憶する記憶部と、を有し、
前記通信部は、
前記ホスト機器からアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタを含み、
前記複数のコンフィギュレーションレジスタの少なくとも１つは、
第１のアドレス情報が設定されるアドレスレジスタと、当該第１のアドレス情報に基づいて前記記憶部から読み出される前記プロトコル識別情報の一部が設定されるデータレジスタを含み、前記特定のプロトコルを判別するためのプロトコル識別情報の一部ずつが前記記憶部から読み出されて順次に前記データレジスタに設定され、当該設定される前記データレジスタの容量は前記プロトコル識別情報のデータ量より小さく、
前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、
前記コンフィギュレーション空間は、
少なくとも第１の領域と、前記アドレスレジスタおよび前記データレジスタを含む第２の領域とを含み、
前記第１の領域は、
カードを識別するための識別子と、
前記第２の領域の配置アドレスを示す第２のアドレス情報と、を含み、
前記第２の領域には、
前記アドレスレジスタに前記記憶部に格納されているプロトコル識別情報の前記一部にアクセスするための前記第１のアドレス情報が順次に設定され、
前記データレジスタに、前記第１のアドレス情報に基づいて前記記憶部から読み出される前記プロトコル識別情報の一部が順次に設定される
カード型周辺機器のアクセス方法。
【請求項２】
前記通信部は、
前記ホスト機器との接続が確立されると、前記ホスト機器により前記コンフィギュレーション空間の前記第１の領域がアクセスされ、前記アドレス情報により前記第２の領域がアクセス可能で、前記ホスト機器により前記第２の領域の前記データレジスタから前記プロトコル識別情報の一部ずつが順次に読み取られることによって当該ホスト機器により識別された特定のプロトコルに従った通信を行う
請求項１記載のカード型周辺機器のアクセス方法。
【請求項３】
前記ホスト機器により前記第２の領域の前記データレジスタから前記プロトコル識別情報の一部ずつを順次に読むことにより、前記プロトコル識別情報が読み取れない場合には、当該ホスト機器により不明なデバイスとして認識される
請求項２記載のカード型周辺機器のアクセス方法。
【請求項４】
前記コンフィギュレーション空間は、
前記第１の領域として、コンフィギュレーション スペース ヘッダ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ Ｓｐａｃｅ Ｈｅａｄｅｒ）を含み、
前記第２の領域として、バイタル プロダクト データ ケーパビリティ ストラクチャ（Ｖｉｔａｌ Ｐｒｏｄｕｃｔ Ｄａｔａ Ｃａｐａｂｉｌｉｔｙ Ｓｔｒｕｃｔｕｒｅ）を含む
請求項１から３のいずれか一に記載のカード型周辺機器のアクセス方法。
【請求項５】
前記通信部は、
前記コンフィギュレーションレジスタおよび前記記憶部の制御を行うＰＣＩ Ｅｘｐｒｅｓｓデバイスを有する
請求項１から４のいずれか一に記載のカード型周辺機器のアクセス方法。
【請求項６】
前記カード型周辺機器は、
前記ホスト機器によるデータの書き込みおよび読み出しの一方または双方が可能なメモリカードを含む
請求項１から５のいずれか一に記載のカード型周辺機器のアクセス方法。
【請求項７】
接続されるカード型周辺機器の通信部との間で特定のプロトコルに従った通信を行うホスト機器であって、
前記カード型周辺機器との通信制御を行うコントローラを有し、
前記カード型周辺機器は特定のプロトコルを判別するためのプロトコル識別情報を記憶する記憶部を含み、
前記通信部は、
前記ホスト機器からアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタを含み、
前記複数のコンフィギュレーションレジスタの少なくとも１つは、
第１のアドレス情報が設定されるアドレスレジスタと、当該第１のアドレス情報に基づいて前記記憶部から読み出される前記プロトコル識別情報の一部が設定されるデータレジスタを含み、前記特定のプロトコルを判別するためのプロトコル識別情報の一部ずつが前記記憶部から読み出されて順次に前記データレジスタに設定され、当該設定される前記データレジスタの容量は前記プロトコル識別情報のデータ量より小さく、
前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、
前記コンフィギュレーション空間は、
少なくとも第１の領域と、前記アドレスレジスタおよび前記データレジスタを含む第２の領域とを含み、
前記第１の領域は、
カードを識別するための識別子と、
前記第２の領域の配置アドレスを示す第２のアドレス情報と、を含み、
前記第２の領域には、
前記アドレスレジスタに前記記憶部に格納されているプロトコル識別情報の前記一部にアクセスするための前記第１のアドレス情報が順次に設定され、
前記データレジスタに、前記第１のアドレス情報に基づいて前記記憶部から読み出される前記プロトコル識別情報の一部が順次に設定され、
前記コントローラは、
前記カード型周辺機器との接続が確立されると、前記コンフィギュレーション空間の前記第１の領域をアクセスし、前記アドレス情報により前記第２の領域がアクセス可能で、前記第２の領域の上記データレジスタから前記プロトコル識別情報の一部ずつを順次に読むことにより、前記プロトコル識別情報が読み取り可能な場合に、当該プロトコル識別情報に基づいて、前記特定のプロトコルを識別する
ホスト機器。
【請求項８】
前記コントローラは、
前記第２の領域のデータレジスタから前記プロトコル識別情報の一部ずつを順次に読むことにより、前記プロトコル識別情報が読み取れない場合には、前記カード型周辺機器を不明なデバイスとして認識する
請求項７記載のホスト機器。
【請求項９】
ＰＣＩ Ｅｘｐｒｅｓｓバスに接続される
請求項７または８記載のホスト機器。
【請求項１０】
カード型周辺機器と、
接続される前記カード型周辺機器との間で特定のプロトコルに従って通信を行うホスト機器と、を有し、
前記カード型周辺機器は、
ホスト機器に接続されることで前記ホスト機器との間で特定のプロトコルに従って通信を行う通信部と、
特定のプロトコルを判別するためのプロトコル識別情報を記憶する記憶部と、を有し、
前記通信部は、
前記ホスト機器からアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタを含み、
前記複数のコンフィギュレーションレジスタの少なくとも１つは、
第１のアドレス情報が設定されるアドレスレジスタと、当該第１のアドレス情報に基づいて前記記憶部から読み出される前記プロトコル識別情報の一部が設定されるデータレジスタを含み、前記特定のプロトコルを判別するためのプロトコル識別情報の一部ずつが前記記憶部から読み出されて順次に前記データレジスタに設定され、当該設定される前記データレジスタの容量は前記プロトコル識別情報のデータ量より小さく、
前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、
前記コンフィギュレーション空間は、
少なくとも第１の領域と、前記アドレスレジスタおよび前記データレジスタを含む第２の領域とを含み、
前記第１の領域は、
カードを識別するための識別子と、
前記第２の領域の配置アドレスを示す第２のアドレス情報と、を含み、
前記第２の領域には、
前記アドレスレジスタに前記記憶部に格納されているプロトコル識別情報の前記一部にアクセスするための前記第１のアドレス情報が順次に設定され、
前記データレジスタに、前記第１のアドレス情報に基づいて前記記憶部から読み出される前記プロトコル識別情報の一部が順次に設定され、
前記ホスト機器は、
前記第２の領域の前記アドレスレジスタに順次に設定される第１のアドレス情報により上記記憶部から上記データレジスタに設定され、当該データレジスタから読み出されたプロトコル識別情報に基づいて特定のプロトコルを判別する
カード通信方法。
【請求項１１】
前記ホスト機器は、
前記カード型周辺機器との接続が確立されると、前記コンフィギュレーション空間の前記第１の領域をアクセスし、前記アドレス情報により前記第２の領域がアクセス可能で、前記第２の領域のデータレジスタから前記プロトコル識別情報の一部ずつを順次に読むことにより、前記プロトコル識別情報が読み取り可能な場合に、当該プロトコル識別情報に基づいて前記特定のプロトコルを決定し、当該決定した特定のプロトコルに従った通信を行う
請求項１０記載のカード通信方法。
【請求項１２】
前記ホスト機器は、
前記第２の領域のデータレジスタから前記プロトコル識別情報の一部ずつを順次に読むことにより、前記プロトコル識別情報が読み取れない場合には、前記カード型周辺機器を不明なデバイスとして認識する
請求項１１記載のカード通信方法。
【請求項１３】
前記コンフィギュレーション空間は、
前記第１の領域として、コンフィギュレーション スペース ヘッダ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ Ｓｐａｃｅ Ｈｅａｄｅｒ）を含み、
前記第２の領域として、バイタル プロダクト データ ケーパビリティ ストラクチャ（Ｖｉｔａｌ Ｐｒｏｄｕｃｔ Ｄａｔａ Ｃａｐａｂｉｌｉｔｙ Ｓｔｒｕｃｔｕｒｅ）を含む
請求項１０から１２のいずれか一に記載のカード通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はカード型周辺機器のアクセス方法、ホスト機器、およびカード通信方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータなどのホスト機器に装着して使用する種々のカード型周辺機器としてＰＣカードがある。
このようなＰＣカードとして、ＰＣＩバスを介して通信を行うＰＣＩカード、ＰＣＩバスよりもデータの転送速度の高速化が図られたＰＣＩ  Ｅｘｐｒｅｓｓバスを介して通信を行うＰＣＩ  Ｅｘｐｒｅｓｓカードなどが知られている（特許文献１、２参照）。
例えば、ＰＣＩ  Ｅｘｐｒｅｓｓカードは、物理的、電気的、論理的に規格化され、その規格上でメーカー、デバイス独自の多種多様の制御プロトコルを有している。
ＥｘｐｒｅｓｓＣａｒｄ規格においては、カード側の形状のみならず、ホスト機器のスロット部、コネクタ部も規格の一部であるため、ＥｘｐｒｅｓｓＣａｒｄ規格に準ずるならばあらゆるＥｘｐｒｅｓｓＣａｒｄがホスト機器に対して物理的に接続可能である。
また、ＥｘｐｒｅｓｓＣａｒｄ規格が包含するＰＣＩ  Ｅｘｐｒｅｓｓインターフェースも、電気的、論理的に規格化されているため、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準ずるならばホスト機器に対して電気的、論理的に接続可能である。
その一方で、ホスト機器とカードとが通信を行う際に用いる制御プロトコルは規格化されておらず、制御プロトコルの仕様はメーカー、デバイスにより多種多様となっているのが現状である。
【０００３】
多種多様の制御プロトコルの中から特定の制御プロトコルを持つカードのみを判別するため、ホスト機器はＰＣＩ  Ｅｘｐｒｅｓｓ規格の論理仕様にあたるＶｅｎｄｏｒ  ＩＤ、  Ｄｅｖｉｃｅ  ＩＤ、  Ｒｅｖｉｓｉｏｎ  ＩＤ、  ＳｕｂＳｙｓｔｅｍ  ＩＤ、Ｓｕｂｓｙｓｔｅｍ  Ｖｅｎｄｏｒ  ＩＤ、Ｃｌａｓｓ  Ｃｏｄｅのいずれかの組み合わせを判別因子として用いてきた。
同じ制御プロトコルを持つカードが異なるメーカーにより異なるデバイスで新たに製造された場合に、ホスト機器とカードとの接続性を持つためには、言い換えると、ホスト機器がそれらのカードと接続して支障なく通信を行うためには、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することで対応してきた。
Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ（ＰＣ）システムでは上記対応が一般的で、ネットワークや媒体を介してカードに対応したデバイスドライバを当該ホスト機器（ＰＣシステム）に追加し、更新することで、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２７５９０９号公報
【特許文献２】特開２００６−１５５１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記のようにネットワークや媒体を介してカードに対応したデバイスドライバを追加することができない形態のホスト機器、例えば、カードが装着可能なカメラ装置などの電子機器が上記のＰＣシステムと同様のカードの判別手法をとっていた場合、ホスト機器が判別可能な第１のカードと、同じ制御プロトコルを持つが、異なるメーカーにより異なるデバイスで新たに製造された第２のカードをその電子機器に接続したときに、物理的、電気的、論理的には接続できても通信制御ができないという問題が生じる。
その理由は、そのホスト機器が、第２のカードを、当該ホスト機器が保有する制御プロトコルで制御できるカードであると判別できないからである。また、そのようなホスト機器はネットワークや媒体などを介してデバイスドライバを追加し、更新することで、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することができないため、デバイスドライバを追加し、更新するためには、ホスト機器を、その製造元もしくはサービスセンターに戻す、などの対処が必要になり、その電子機器を使用する際の緊急度によっては重大な問題となる。
本発明はこのような事情に鑑みなされたもので、その目的は、ネットワークや媒体などを用いることなく、ホスト機器によるカード型周辺機器のプロトコルの判別を簡単に行う上で有利なカード型周辺機器のアクセス方法、ホスト機器、およびカード通信方法を提供することにある。
【課題を解決するための手段】
【０００６】
上述の目的を達成するため、本発明は、ホスト機器に接続されることで前記ホスト機器との間で特定のプロトコルに従って通信を行い、前記ホスト機器からアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタが設けられ、前記複数のコンフィギュレーションレジスタの少なくとも１つは、それに設定されるデータが前記カード型周辺機器を製造または販売するベンダにより任意にかつ固定的に定めることが許容されたものである特定レジスタであるカード型周辺機器であって、前記特定のプロトコルを判別するためのプロトコル識別情報が、前記特定レジスタに設定されることを特徴とする。
また本発明は、複数のコンフィギュレーションレジスタを備えたカード型周辺機器との間で特定のプロトコルに従って通信を行い、前記複数のコンフィギュレーションレジスタの少なくとも１つはそれに設定されるデータが前記カード型周辺機器の製造または販売を行うベンダにより任意にかつ固定的に定めることが許容された特定レジスタであるホスト機器であって、前記複数のコンフィギュレーションレジスタに対してアクセスすることにより前記特定レジスタに設定されている前記特定のプロトコルを判別するためのプロトコル識別情報を読み取る読み取り部と、前記読み取り部によって読み取られた前記プロトコル識別情報に基づいて前記カード型周辺機器との間で行うプロトコルを決定して前記カード型周辺機器との間で通信を行う通信制御部とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、特定のプロトコルを判別するためのプロトコル識別情報を、カード型周辺機器に設けられた複数のコンフィギュレーションレジスタのうちの、ベンダが任意にかつ固定的に定めることが許容されたものである特定レジスタに設定するようにしたので、ネットワークや媒体などを用いることなく、ホスト機器によるカード型周辺機器のプロトコルの判別、選択を簡単に行うことができ、ネットワークや媒体などを用いる場合に比較してホスト機器およびカード型周辺機器の開発、設計、製造に要するコストを削減する上で有利となる。
【図面の簡単な説明】
【０００８】
【図１】ホスト機器およびカード型周辺機器の機能ブロック図である。
【図２】カード２０の仕様を示す説明図である。
【図３】Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｐａｃｅ  Ｈｅａｄｅｒのフォーマットを説明する図である。
【図４】Ｖｉｔａｌ  Ｐｒｏｄｕｃｔ  Ｃａｐａｂｉｌｉｔｙ  Ｓｔｒｕｃｔｕｒｅのフォーマットを説明する図である。
【図５】Ｖｅｎｄｏｒ  Ｓｐｅｃｉｆｉｃ  Ｃａｐａｂｉｌｉｔｙ  Ｓｔｒｕｃｔｕｒｅのフォーマットを説明する図である。
【図６】コンフィギュレーション空間に配置された複数の領域（Ｃａｐａｂｉｌｉｔｙ  Ｓｔｒｕｃｔｕｒｅ）のアクセス方法を示す説明図である。
【図７】（Ａ）、（Ｂ）、（Ｃ）は不揮発性メモリ２８におけるＶＰＤ領域の説明図である。
【図８】ＶＰＤ  Ｄａｔａの具体的な意味づけを示す説明図である。
【図９】（Ａ）、（Ｂ）はＶＳ  Ｃａｐの第２の特定レジスタＲ２の説明図である。
【図１０】ホスト機器１０による識別動作の第１の具体例を示すフローチャートである。
【図１１】ホスト機器１０による識別動作の第２の具体例を示すフローチャートである。
【図１２】ホスト機器１０による識別動作の第３の具体例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
次に、本発明の実施の形態について図面を参照して説明する。
図１はホスト機器およびカード型周辺機器の機能ブロック図である。
本実施の形態では、ホスト機器１０は被写体像を撮像して画像データを生成するカメラ装置であり、カード２０（カード型周辺機器）はホスト機器１０に接続され前記画像データが記録されるメモリカードである場合について説明する。
ホスト機器１０は、機能的には、上位レイヤー１２、ホストメモリ１４、ホストコントローラ１６を含んで構成されている。
上位レイヤー１２は、画像データを生成するためのハードウェア、それらハードウェアを制御するソフトウェア（アプリケーション）などで構成されている。
ホストメモリ１４は、種々のデータを格納するメモリであり、前記ソフトウェアを格納するメモリ、ワーキングメモリ、実データを格納するメモリなどを含んで構成されている。
ホストコントローラ１６は、ＣＰＵ、ＤＭＡ、通信Ｉ／Ｆなどのハードウェア、ＣＰＵにより実行されるソフトウェアなどで構成され、ＰＣＩ  Ｅｘｐｒｅｓｓカード規格に準じたカードスロット（不図示）を有し、ＰＣＩ  Ｅｘｐｒｅｓｓバスを構成する通信路２を介してカード２０との間で通信を行うものである。
【００１０】
カード２０は、通信部を形成するＰＣＩ  Ｅｘｐｒｅｓｓデバイス２２、通信部を形成するコンフィギュレーション空間２４、通信部を形成するＩＯ，メモリ空間レジスタ２６、不揮発性メモリ２８、上位レイヤー３０などを含んで構成されている。
ＰＣＩ  Ｅｘｐｒｅｓｓデバイス２２は、ＰＣＩ  Ｅｘｐｒｅｓｓカード規格に準じたカードコネクタ（不図示）を有し、そのカードコネクタがホスト機器１０のカードスロットに装着されることで通信路２を介してホスト機器１０に接続される。
通信部を形成するＰＣＩ  Ｅｘｐｒｅｓｓデバイス２２は、ＣＰＵ、通信Ｉ／Ｆ、ＣＰＵにより実行されるソフトウェアなどで構成されている。
通信部を形成するコンフィギュレーション空間２４は、ホスト機器１０からカード２０に対してアクセスする際に用いられるアドレス空間（ＰＣＩ  Ｅｘｐｒｅｓｓバスに設けられたアドレス空間）のうち、複数のコンフィギュレーションレジスタが実装されるアドレス空間である。
コンフィギュレーションレジスタは種々の設定情報が設定されるものであり、設定情報は、ＰＣＩ  Ｅｘｐｒｅｓｓ規格によって定義される。コンフィギュレーション空間２４、コンフィギュレーションレジスタについては後で詳述する。
上位レイヤー３０は、本実施の形態では、メモリカードとして機能する、データを書き換え可能に保持するメモリ領域である。
通信部を形成するＩＯ，メモリ空間レジスタ２６は、ホスト機器１０からカード２０に対してアクセスする際に用いられるアドレス空間のうち、上位レイヤー３０に対するアクセスを行うために用いられるアドレス空間である。
不揮発性メモリ２８は、本発明の記憶部を構成するものであって、ホスト機器１０がカード２０と通信する際の特定のプロトコルを判別、決定するためのプロトコル識別情報が格納されるものであり、ホスト機器１０からはコンフィギュレーション空間２４に実装されたレジスタを介してアクセス（読み取り）がなされるものである。
本実施の形態では、上位レイヤー３０を構成するメモリ領域と不揮発性メモリ２８はハードウェア的には同一のメモリで構成されている。
【００１１】
図２は、カード２０の仕様を示す説明図である。
図２に示すように、カード２０の仕様は、物理仕様２０Ａ、電気仕様２０Ｂ、インターフェース仕様２０Ｃ、コンフィギュレーション空間仕様２０Ｄ、ＩＯ，メモリ空間レジスタ仕様２０Ｅ、制御プロトコル仕様２０Ｆで構成されている。
物理仕様２０Ａは、ＰＣＩ  Ｅｘｐｒｅｓｓカード規格に準拠しており、カードコネクタの形状、寸法などの物理的な仕様を定義するものである。
電気仕様２０Ｂは信号の電圧、電流などの仕様、インターフェース仕様２０Ｃは通信に関わる物理レベルでの仕様、コンフィギュレーション空間仕様２０Ｄは後述するコンフィギュレーション空間上に設定される領域の仕様であり、これら電気仕様２０Ｂ、インターフェース仕様２０Ｃ、コンフィギュレーション空間仕様２０Ｄは、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠している。
ＩＯ，メモリ空間レジスタ仕様２０ＥはＩＯ，メモリ空間レジスタ２６の仕様であり、制御プロトコル仕様２０Ｆはホスト機器１０とカード２０（上位レイヤー３０）との間で通信路２を介して行われる通信手順などの仕様であり、カード２０のメーカーやカード２０の機能毎に独自に定められるものである。
【００１２】
次にコンフィギュレーション空間２４について説明する。
コンフィギュレーション空間２４には複数の領域が設定されている。
複数のデータ領域は、図３に示すＣｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｐａｃｅ  Ｈｅａｄｅｒ（以下ＣＳＨという）、図４に示すＶｉｔａｌ  Ｐｒｏｄｕｃｔ  Ｄａｔａ  Ｃａｐａｂｉｌｉｔｙ  Ｓｔｒｕｃｔｕｒｅ（以下ＶＰＤ  Ｃａｐという）、図５に示すＶｅｎｄｏｒ  Ｓｐｅｃｉｆｉｃ  Ｃａｐａｂｉｌｉｔｙ  Ｓｔｒｕｃｔｕｒｅ（以下ＶＳ  Ｃａｐという）の３つの領域を含んでいる。なお、コンフィギュレーション空間２４の上記３つの領域を除く領域は本発明に直接関連しないので説明を割愛する。
なお、ＰＣＩ  Ｅｘｐｒｅｓｓ規格（ＰＣＩ規格）によれば、ＣＳＨの領域（第１の領域）は必ず設けなければならない領域であり、ＶＰＤ  Ｃａｐの領域（第２の領域または第３の領域）およびＶＳ  Ｃａｐの領域（第３の領域または第２の領域）を設けるか否かはベンダの任意とされている。
【００１３】
図３を参照してＣＳＨについて説明する。
ＣＳＨのアドレスは００ｈ〜３Ｆｈ固定であり、サイズは６４バイトである。
ＣＳＨは基本的に全てのＰＣＩデバイスおよびＰＣＩ  Ｅｘｐｒｅｓｓデバイスが有する領域である。
ＣＳＨには、カード２０を識別するための複数のＩＤ（識別子）が設定される。
複数のＩＤとしては、デバイスベンダ（デバイスメーカー）を特定するためにベンダに固有に割り当てられたＶｅｎｄｏｒ  ＩＤ、当該デバイスベンダが自由に割り当てることができるベンダ内で固有のＤｅｖｉｃｅ  ＩＤ、デバイスの改変履歴やバージョンを示すＲｅｖｉｓｉｏｎ  ＩＤ、デバイスの機能を特定するために割り当てられたＣｌａｓｓ  Ｃｏｄｅ、カードベンダ（カードメーカー）を特定するためにベンダに固有に割り当てられたＳｕｂｓｙｓｔｅｍ  Ｖｅｎｄｏｒ  ＩＤ、当該カードベンダが自由に割り当てることができるベンダ内で固有のＳｕｂＳｙｓｔｅｍ  ＩＤなどがある。
これらのＩＤはそれぞれに対応して設けられたコンフィギュレーションレジスタ、すなわち、Ｖｅｎｄｏｒ  ＩＤレジスタ、Ｄｅｖｉｃｅ  ＩＤレジスタ、Ｒｅｖｉｓｉｏｎ  ＩＤレジスタ、Ｃｌａｓｓ  Ｃｏｄｅレジスタ、Ｓｕｂｓｙｓｔｅｍ  Ｖｅｎｄｏｒ  ＩＤレジスタ、ＳｕｂＳｙｓｔｅｍ  ＩＤレジスタに設定される。
ここで、ホスト機器がパーソナルコンピュータなどのように、ネットワークや記録媒体によってデバイスドライバを追加することで新規カードメーカー及びデバイスの情報を判別因子として追加することができるものである場合は次のような動作がなされる。
すなわち、このようなホスト機器は、各コンフィギュレーションレジスタからＶｅｎｄｏｒ  ＩＤ、Ｄｅｖｉｃｅ  ＩＤ、Ｒｅｖｉｓｉｏｎ  ＩＤ、Ｃｌａｓｓ  Ｃｏｄｅ、ＳｕｂＳｙｓｔｅｍ  ＩＤ、Ｓｕｂｓｙｓｔｅｍ  Ｖｅｎｄｏｒ  ＩＤの各データ（識別子）を読み出し、その結果に基づいてカード２０（デバイス）が識別可能でありしたがってそのホスト機器が有するプロトコルで通信可能であるか、あるいは、識別不能でありしたがって当該カード２０に対応するデバイスドライバを新たに追加すべきかを判別し、それぞれの判別結果に応じた動作を行う。
しかしながら、本実施の形態では、ホスト機器１０はそのような機能を有していないため、後述するような手順でデバイス（カード２０）の識別を行う。
【００１４】
次に、図４を参照してＶＰＤ  Ｃａｐについて説明する。
ＶＰＤ  Ｃａｐには、第１の特定レジスタＲ１（特許請求の範囲の特定レジスタに相当）が実装され、コンフィギュレーション空間においてＶＰＤ  Ｃａｐが配置されるアドレスはベンダが任意に定めることができるものである。
ＶＰＤ  Ｃａｐのオフセットアドレスは４０ｈ〜ＦＦｈで、ＶＰＤ  Ｃａｐは８バイトの固定領域であり、そのうち４バイトにＶＰＤ  Ｄａｔａを設定することができる。
Ｆは、ホスト機器１０がＶＰＤ  Ｄａｔａを読み出す際に「０」をセットするフラグであり、ＶＰＤ  Ｄａｔａが第１の特定レジスタにセットされたならば、Ｆがカード２０側（ＰＣＩ  Ｅｘｐｒｅｓｓデバイス２２）によって「１」にセットされる。
ＶＰＤ  Ａｄｄｒｅｓｓは、ホスト機器１０がＶＰＤ  Ｄａｔａを読み出す際のアドレスである。
Ｎｅｘｔ  Ｐｏｉｎｔｅｒは後述する。
ＩＤは、ＶＰＤ  Ｃａｐを特定する識別子であり、その値が０３ｈであることを示す。
ＶＰＤ  Ｄａｔａは、不揮発性メモリ２８から読み出され第１の特定レジスタＲ１にセットされたデータである。ＶＰＤ  Ｄａｔａは、カード２０を製造または販売するベンダが任意にかつ固定的に定めることが許容されたものであり、プロトコル識別情報を含む。
【００１５】
次に、図５を参照してＶＳ  Ｃａｐについて説明する。
ＶＳ  Ｃａｐには、第２の特定レジスタＲ２（特許請求の範囲の特定レジスタに相当）が実装され、コンフィギュレーション空間においてＶＳ  Ｃａｐが配置されるアドレスはベンダが任意に定めることができるものである。
ＶＳ  Ｃａｐのオフセットアドレスは４０ｈ〜ＦＦｈである。
Ｌｅｎｇｔｈ（Ｌｅｎｇｔｈフィールド）には、ＶＳ  Ｃａｐ全体のサイズを示すバイト数のデータがセットされる。
ＩＤは、ＶＳ  Ｃａｐを特定する識別子であり、その値が０９ｈであることを示す。
Ｖｅｎｄｏｒ  Ｄａｔａも、不揮発性メモリ２８から読み出され第２の特定レジスタＲ２にセットされたデータである。Ｖｅｎｄｏｒ  Ｄａｔａも上記のＶＰＤ  Ｄａｔａと同様に、カード２０を製造または販売するベンダにより任意にかつ固定的に定めることが許容されたものであり、プロトコル識別情報を含む。
【００１６】
なお、ＶＰＤ  Ｃａｐの領域、ＶＳ  Ｃａｐの領域は固定アドレスではないため、次に示す手順でＶＰＤ  Ｃａｐの領域、ＶＳ  Ｃａｐの領域に対するアクセスを行う。
図３に示すように、ＣＳＨには、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ（Ｃａｐ．Ｌｉｓｔ．Ｐｔｒ）が設けられており、本実施の形態では、ホスト機器１０は、このリストポインタの値（アドレスデータ）を参照することで、ＶＰＤ  Ｃａｐの領域にアクセスするように構成されている。
図４に示すように、ＶＰＤ  Ｃａｐにも、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ（Ｎｅｘｔ  Ｐｏｉｎｔｅｒ）が設けられており、本実施の形態では、ホスト機器１０は、このリストポインタの値を参照することで、ＶＳ  Ｃａｐの領域にアクセスするように構成されている。
図５に示すように、ＶＳ  Ｃａｐにも、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ（Ｎｅｘｔ  Ｐｏｉｎｔｅｒ）が設けられており、ホスト機器１０は、このリストポインタの値を参照することで、他の領域にアクセスするように構成されている。
【００１７】
上記の動作を図６を参照してコンフィギュレーション空間に配置された複数の領域（Ｃａｐａｂｉｌｉｔｙ  Ｓｔｒｕｃｔｕｒｅ）のアクセス方法を説明すると、ホスト機器１０が参照するポインタＰ１がＡ４ｈを示している場合、まず、アドレスＡ４ｈの領域Ｘにアクセスする。
次いで、領域Ｘのリストポインタが５Ｃｈを示しているので、アドレス５Ｃｈの領域Ｙにアクセスする。
次いで、領域ＹのリストポインタがＥ０ｈを示しているので、アドレスＥ０ｈの領域Ｚにアクセスする。
ここで、領域Ｚのリストポインタが００ｈを示しているので、アクセスすべき領域はこの領域Ｚで完了したと判断してそれ以上のアクセスを行わない。
すなわち、リストポインタが００ｈとなるまで各領域のリストポインタにしたがって順次次の領域にアクセスすることになる。
このようなコンフィギュレーション空間に割り当てられた複数の領域（レジスタ）に対するアクセス方法は、ＰＣＩ  Ｅｘｐｒｅｓｓ規格（ＰＣＩ規格）によって定められているものである。
【００１８】
次に、ＶＰＤ  Ｃａｐの第１の特定レジスタＲ１を用いたＶＰＤ  Ｄａｔａの読み出し動作について詳細に説明する。
図７（Ａ）、（Ｂ）、（Ｃ）は不揮発性メモリ２８におけるＶＰＤ領域の説明図、図８はＶＰＤ  Ｄａｔａの具体的な意味づけを示す説明図である。
ＶＰＤ  Ｄａｔａは、プロトコル識別情報を含むものである。
本実施の形態ではプロトコル識別情報が２９個の文字からなる文字列データ、すなわち、２９バイトのデータで示される「ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ０１２」で構成されているものとして説明する。すなわち、図７（Ｂ）に示すように、不揮発性メモリ２８に予め設定されたＶＰＤ領域の太実線で囲った部分に２９バイト分のデータが配置され、図７（Ｃ）に示すように「Ａ」〜「２」の２９個の文字列が配置されている。なお、図７（Ｃ）の「Ｒ」、「Ｖ」はプロトコル識別情報とは別のデータを示す。
【００１９】
図７（Ａ）、（Ｂ）に示すように、不揮発性メモリ２８におけるＶＰＤ領域は本実施の形態では６４バイト確保されおり、２９バイトのデータで構成されたプロトコル識別情報ＰＲＯ、それらプロトコル識別情報ＰＲＯを第１の特定レジスタＲ１から読み出すためのデータなどが格納されている。
図７（Ｂ）、図８に示すように、アドレス００ｈのデータのうち「８２ｈ」はＶＰＤ  Ｄａｔａの開始を示し、「００１ｄｈ」はそれに続いて２９バイトの文字列が存在することを示している。そして、「４１ｈ」以降２９バイトの文字列データが格納されている。３０バイト目の「９０ｈ」はＶＰＤ−Ｒ領域の開始を示す。
なお、上記「９０ｈ」以降には、本発明では使用しないが、規格上必要なデータが収容されている。
【００２０】
ホスト機器１０から第１の特定レジスタＲ１の読み出しは、次のように行われる。
なお、初期状態ではＦは「１」が設定されている。
ホスト機器１０は、図３に示すＣＳＨのリストポインタ（Ｃａｐ．Ｌｉｓｔ  Ｐｔｒ）に格納されているアドレスにしたがってＶＰＤ  Ｃａｐにアクセスし、ＶＰＤ  Ａｄｄｒｅｓｓにアドレスをセットすると同時にＦに「０」をセットする。
ＶＰＤ  Ｄａｔａが第１の特定レジスタＲ１にセットされるとＦが「１」にセットされる。
ホスト機器１０はＦが「１」にセットされたことを読み取ると、４バイト分のＶＰＤ  Ｄａｔａを読み取る。
ＶＰＤ  Ａｄｄｒｅｓｓにセットするアドレスをインクリメントして上述の動作を繰り返すことにより、２９バイト分のプロトコル識別情報ＰＲＯの読み取りがなされる。
すなわち、第１の特定レジスタＲ１を用いたＶＰＤ  Ｄａｔａの読み出しは、第１の特定レジスタＲ１におけるＶＰＤ  Ｄａｔａ部分の４バイト単位での読み出しとなるが、ＶＰＤ領域の大きさ（データ量）自体は、６４バイトに限定されるものではなく任意であり、また、プロトコル識別情報ＰＲＯのデータ量も任意である。
【００２１】
次に、ＶＳ  Ｃａｐの第２の特定レジスタＲ２を用いたＶＳ  Ｄａｔａの読み出し動作について詳細に説明する。
図９（Ａ）、（Ｂ）はＶＳ  Ｃａｐの第２の特定レジスタＲ２の説明図である。
第２の特定レジスタＲ２にセットされるＶｅｎｄｏｒ  Ｄａｔａは、プロトコル識別情報を含むものである。
本実施の形態では、プロトコル識別情報が２９個の文字からなる文字列データ、すなわち、２９バイトのデータで示される「ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ０１２」で構成されているものとして説明する。なお、本実施の形態では、説明を簡単化するため、第１、第２の特定レジスタＲ１、Ｒ２にセットされるプロトコル識別情報が同一であるものとしたが、第１、第２の特定レジスタＲ１、Ｒ２にセットされるプロトコル識別情報は、それら２つのプロトコル情報が同一であっても、あるいは、１つのプロトコル情報を２つに分割してそれぞれ第１、第２の特定レジスタＲ１、Ｒ２にセットするようにしてもよい。
不揮発性メモリ２８に予め設定されたＶＳ領域（不図示）は、本実施の形態では３２バイト確保されおり、２９バイトのデータで構成されたプロトコル識別情報ＰＲＯ、それらプロトコル識別情報ＰＲＯを第２の特定レジスタＲ２から読み出すためのデータなどが格納されている。
図９に示すように、ＶＳ  Ｃａｐの第２の特定レジスタＲ２は、本実施の形態では３２バイト確保されおり、ＶＳ領域に格納された、２９バイトのデータで構成されたプロトコル識別情報ＰＲＯ、それらプロトコル識別情報ＰＲＯを読み出すためのデータなどが全てセットされるように構成されている。
【００２２】
図９に示すように、ＬｅｎｇｔｈにはＶｓ  ＣＡＰ全体のサイズとして３２バイトを示す「２０ｈ」がセットされ、Ｖｅｎｄｏｒ  Ｄａｔａ０〜Ｖｅｎｄｏｒ  Ｄａｔａ７にわたって２９バイトのプロトコル識別情報ＰＲＯ「４１ｈ」〜「３２ｈ」（文字Ａ〜２）がそれぞれセットされる。
すなわち、ＶＳ  Ｃａｐの第２の特定レジスタＲ２からのデータの読み出しは、第１の特定レジスタＲ１の場合と異なりアドレスを順次指定して４バイト単位で読み出す必要は無く、３２バイトのデータを同時に読み出すことができる。
したがって、ホスト機器１０から第２の特定レジスタＲ２の読み出しは、次のように行われる。
ホスト機器１０は、図４に示すＶＰＤ  Ｃａｐのリストポインタ（Ｎｅｘｔ  Ｐｏｉｎｔｅｒ）に格納されているアドレスに従ってＶＳ  Ｃａｐにアクセスし、Ｌｅｎｇｔｈフィールドにセットされている２９バイトに従ってＶｅｎｄｏｒ  Ｄａｔａ０〜Ｖｅｎｄｏｒ  Ｄａｔａ７のデータ、すなわち、２９バイト分のプロトコル識別情報ＰＲＯの読み取りがなされる。
なお、ＶＳ  Ｃａｐの第２の特定レジスタＲ２のＶｅｎｄｏｒ  Ｄａｔａの数は前述したようにＬｅｎｇｔｈフィールドの設定値によって例えば１バイト単位で任意に設定できるものである。
【００２３】
次に、ホスト機器１０による識別動作の具体例について説明する。
図１０はホスト機器１０による識別動作の第１の具体例を示すフローチャートである。
第１の具体例では、ＶＰＤ  Ｃａｐの領域のみを使用する。
カード２０がホスト機器１０のカードスロットに接続され、カード２０との間で電気的な接続が確立される（ステップＳ１０）。
すると、ホスト機器１０は、ＣＳＨの領域にアクセスし、そのリストポインタ（Ｃａｐ．Ｌｉｓｔ．Ｐｔｒ）の値を参照することで、ＶＰＤ  Ｃａｐの領域にアクセスできるか否かを判定する（ステップＳ１２）。ステップＳ１２でアクセスできた場合には、プロトコル識別情報ＰＲＯ（カード識別子）が読み取れるか否かを判別する（ステップＳ１４）。ステップＳ１４でプロトコル識別情報ＰＲＯが読み取れた場合には、そのプロトコル識別情報ＰＲＯに基づいてカード２０を識別し、すなわち、そのプロトコル識別情報ＰＲＯに基づいて採用するべき特定のプロトコルを決定し、該プロトコルに従ってカード２０との間で通信を行う（ステップＳ１６）。
ステップＳ１２においてＶＰＤ  Ｃａｐの領域にアクセスできない場合は（リストポインタに行き先のアドレスが設定されていない場合は）、コンフィギュレーション空間にそもそもＶＰＤ  Ｃａｐの領域が無いものであるため、ホスト機器１０はそれ以上の動作を行わず、接続されたカード２０を不明なデバイスとして認識し（ステップＳ１８）、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップＳ１４においてプロトコル識別情報ＰＲＯ（カード識別子）が読み取れなかった場合も、ホスト機器１０はそれ以上の動作を行わず、接続されたカード２０を不明なデバイスとして認識し（ステップＳ１８）、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
【００２４】
図１１はホスト機器１０による識別動作の第２の具体例を示すフローチャートである。
第２の具体例では、ＶＳ  Ｃａｐの領域のみを使用する。
カード２０がホスト機器１０のカードスロットに接続され、カード２０との間で電気的な接続が確立される（ステップＳ２０）。
すると、ホスト機器１０は、ＣＳＨの領域にアクセスし、そのリストポインタ（Ｃａｐ．Ｌｉｓｔ．Ｐｔｒ）の値を参照することで、ＶＰＤ  Ｃａｐの領域にアクセスし、さらにＶＰＤ  Ｃａｐの領域のリストポインタ（Ｎｅｘｔ  Ｐｏｉｎｔｅｒ）の値を参照することで、ＶＳ  Ｃａｐの領域にアクセスできるか否かを判定する（ステップＳ２２）。ステップＳ２２でアクセスできた場合には、プロトコル識別情報ＰＲＯ（カード識別子）が読み取れるか否かを判別する（ステップＳ２４）。ステップＳ２４でプロトコル識別情報ＰＲＯが読み取れた場合には、そのプロトコル識別情報ＰＲＯに基づいてカード２０を識別し、すなわち、そのプロトコル識別情報ＰＲＯに基づいて採用するべき特定のプロトコルを決定し、該プロトコルに従ってカード２０との間で通信を行う（ステップＳ２６）。
ステップＳ２２においてＶＳ  Ｃａｐの領域にアクセスできない場合は（リストポインタに行き先のアドレスが設定されていない場合は）、コンフィギュレーション空間にそもそもＶＳ  Ｃａｐの領域が無いものであるため、ホスト機器１０はそれ以上の動作を行わず、接続されたカード２０を不明なデバイスとして認識し（ステップＳ２８）、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップＳ２４においてプロトコル識別情報ＰＲＯ（カード識別子）が読み取れなかった場合も、ホスト機器１０はそれ以上の動作を行わず、接続されたカード２０を不明なデバイスとして認識し（ステップＳ２８）、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
【００２５】
図１２はホスト機器１０による識別動作の第３の具体例を示すフローチャートである。
第２の具体例では、ＶＰＤ  Ｃａｐの領域とＶＳ  Ｃａｐの領域の双方を使用する。
カード２０がホスト機器１０のカードスロットに接続され、カード２０との間で電気的な接続が確立される（ステップＳ３０）。
すると、ホスト機器１０は、ＣＳＨの領域にアクセスし、そのリストポインタ（Ｃａｐ．Ｌｉｓｔ．Ｐｔｒ）の値を参照することで、ＶＰＤ  Ｃａｐの領域にアクセスできるか否かを判定する（ステップＳ３２）。ステップＳ３２でＶＰＤ  Ｃａｐの領域にアクセスできた場合には、プロトコル識別情報ＰＲＯ（カード識別子）が読み取れるか否かを判別する（ステップＳ３４）。
ステップＳ３４でプロトコル識別情報ＰＲＯが読み取れた場合には、ＶＰＤ  Ｃａｐの領域のリストポインタ（Ｎｅｘｔ  Ｐｏｉｎｔｅｒ）の値を参照することで、ＶＳ  Ｃａｐの領域にアクセスできるか否かを判定する（ステップＳ３６）。ステップＳ３６でＶＳ  Ｃａｐの領域にアクセスできた場合には、プロトコル識別情報ＰＲＯ（カード識別子）が読み取れるか否かを判別する（ステップＳ３８）。ステップＳ３８でプロトコル識別情報ＰＲＯが読み取れた場合には、そのプロトコル識別情報ＰＲＯと、ステップＳ３４で読み取ったプロトコル識別情報ＰＲＯとの双方に基づいてカード２０を識別し、すなわち、そのプロトコル識別情報ＰＲＯに基づいて採用するべき特定のプロトコルを決定し、該プロトコルに従ってカード２０との間で通信を行う（ステップＳ４０）。
ステップＳ３２においてＶＰＤ  Ｃａｐの領域にアクセスできない場合は（リストポインタに行き先のアドレスが設定されていない場合は）、コンフィギュレーション空間にそもそもＶＰＤ  Ｃａｐの領域が無いものであるため、ホスト機器１０はそれ以上の動作を行わず、接続されたカード２０を不明なデバイスとして認識し（ステップＳ４２）、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップＳ３４においてプロトコル識別情報ＰＲＯ（カード識別子）が読み取れなかった場合は、ホスト機器１０はそれ以上の動作を行わず、接続されたカード２０を不明なデバイスとして認識し（ステップＳ４２）、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップＳ３６においてＶＳ  Ｃａｐの領域にアクセスできない場合は（リストポインタに行き先のアドレスが設定されていない場合は）、コンフィギュレーション空間にそもそもＶＳ  Ｃａｐの領域が無いものであるため、ホスト機器１０はそれ以上の動作を行わず、接続されたカード２０を不明なデバイスとして認識し（ステップＳ４２）、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップＳ３８においてプロトコル識別情報ＰＲＯ（カード識別子）が読み取れなかった場合も、ホスト機器１０はそれ以上の動作を行わず、接続されたカード２０を不明なデバイスとして認識し（ステップＳ４２）、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
【００２６】
本実施の形態では、ホスト機器１０のホストコントローラ１６は、複数のコンフィギュレーションレジスタに対してアクセスすることにより第１、第２の特定レジスタＲ１、Ｒ２に設定されている特定のプロトコルを判別するためのプロトコル識別情報ＰＲＯを読み取る読み取り部と、読み取り部によって読み取られたプロトコル識別情報ＰＲＯに基づいてカード２０との間で行うプロトコルを決定してカードとの間で通信を行う通信制御部とを構成している。
【００２７】
以上説明したように本実施の形態によれば、ホスト機器１０とカード２０との間で特定のプロトコルを用いて通信するにあたって、特定のプロトコルを判別するためのプロトコル識別情報を、カード２０に設けられた複数のコンフィギュレーションレジスタのうちの、ベンダが任意にかつ固定的に定めることが許容されたものである特定レジスタに設定するようにしたので、ネットワークや媒体などを用いることなく、ホスト機器によるカード型周辺機器（プロトコル）の判別、選択を簡単に行うことができ、ネットワークや媒体などを用いる場合に比較してホスト機器１０およびカード２０の開発、設計、製造に要するコストを削減する上で有利となる。
また、ホスト機器に判別因子を新たに追加するために、ホスト機器をその製造元もしくはサービスセンターに戻すなどの対処を必要とせず有利となる。
また、特定レジスタは、既存の複数のコンフィギュレーションレジスタに含まれるものを用いるため、ホスト機器１０およびカード２０に新たなハードウェアやソフトウェアを設ける必要がないため、開発、設計、製造に要するコストアップを抑制でき有利となる。
【００２８】
なお、本実施の形態では、ＶＰＤ  Ｃａｐの第１の特定レジスタとＶＳ  Ｃａｐの第２の特定レジスタとの双方にプロトコル識別情報ＰＲＯをセットする場合について説明したが、ＶＰＤ  Ｃａｐの第１の特定レジスタあるいはＶＳ  Ｃａｐの第２の特定レジスタの何れか一方のみでプロトコル識別情報ＰＲＯをセットするのに十分な領域が確保されているのであれば、何れか一方の特定レジスタのみを用いるようにすればよい。
また、本実施の形態では、ＣＳＨの領域の他に、ＶＰＤ  Ｃａｐの領域およびＶＳ  Ｃａｐの領域の双方を設け、ＣＳＨの領域にアクセスし、そのリストポインタ（Ｃａｐ．Ｌｉｓｔ．Ｐｔｒ）の値を参照することで、ＶＰＤ  Ｃａｐの領域にアクセスし、さらにＶＰＤ  Ｃａｐの領域のリストポインタ（Ｎｅｘｔ  Ｐｏｉｎｔｅｒ）の値を参照することで、ＶＳ  Ｃａｐの領域にアクセスするようにした。
しかしながら、ＣＳＨの領域にアクセスし、そのリストポインタ（Ｃａｐ．Ｌｉｓｔ．Ｐｔｒ）の値を参照することで、ＶＳ  Ｃａｐの領域にアクセスし、さらに、ＶＳ  Ｃａｐの領域のリストポインタ（Ｎｅｘｔ  Ｐｏｉｎｔｅｒ）の値を参照することで、ＶＰＤ  Ｃａｐの領域にアクセスするようにしてもよい。
また、ＣＳＨの領域の他に、ＶＰＤ  Ｃａｐの領域あるいはＶＳ  Ｃａｐの領域の何れか一方のみをコンフィギュレーション空間に設けるようにしてもよく、その場合には、ＣＳＨの領域のリストポインタ（Ｃａｐ．Ｌｉｓｔ．Ｐｔｒ）の値を参照することで、ＶＰＤ  Ｃａｐの領域あるいはＶＳ  Ｃａｐの領域の何れか一方にアクセスすればよい。
また、ＣＳＨのリストポインタ（Ｃａｐ．Ｌｉｓｔ．Ｐｔｒ）には、必ずしもＶＰＤ  Ｃａｐの領域のアドレス、あるいは、ＶＳ  Ｃａｐの領域のアドレスを設定する必要はなく、コンフィギュレーション空間２４のうち、本明細書で説明したＣＳＨの領域、ＶＰＤ  Ｃａｐの領域、ＶＳ  Ｃａｐの３つ領域を除く他の領域のアドレスを設定してもよいことは無論である。
また、本実施の形態では、ホスト機器１０がカメラ装置、カード２０がメモリカードである場合について説明したが、ホスト機器１０はカード２０との通信を行うものであればよく、また、カード２０はホスト機器１０との通信を行うものであればよい。
また、本発明は、特定のプロトコルを判別するためのプロトコル識別情報を、カードに設けられた複数のコンフィギュレーションレジスタのうちの、ベンダが任意にかつ固定的に定めることが許容されたものである特定レジスタに設定することに特徴があるのであり、ホスト機器１０とカード２０とを接続するバスの種類はＰＣＩ  Ｅｘｐｒｅｓｓバスに限定されるものではなく任意である。
【符号の説明】
【００２９】
１０……ホスト機器、２０……カード、Ｒ１……第１の特定レジスタ、Ｒ２……第２の特定レジスタ、ＰＲＯ……プロトコル識別情報。
【図１】
2010272130.tif 000003
【図２】
2010272130.tif 000004
【図３】
2010272130.tif 000005
【図４】
2010272130.tif 000006
【図５】
2010272130.tif 000007
【図６】
2010272130.tif 000008
【図７】
2010272130.tif 000009
【図８】
2010272130.tif 000010
【図９】
2010272130.tif 000011
【図１０】
2010272130.tif 000012
【図１１】
2010272130.tif 000013
【図１２】
2010272130.tif 000014