JP2008015629A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2008015629A5 JP2008015629A5 JP2006183802A JP2006183802A JP2008015629A5 JP 2008015629 A5 JP2008015629 A5 JP 2008015629A5 JP 2006183802 A JP2006183802 A JP 2006183802A JP 2006183802 A JP2006183802 A JP 2006183802A JP 2008015629 A5 JP2008015629 A5 JP 2008015629A5
- Authority
- JP
- Japan
- Prior art keywords
- card
- area
- identification information
- protocol
- specific
- 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.)
- Granted
Links
- 230000002093 peripheral Effects 0.000 claims description 32
- 230000015654 memory Effects 0.000 description 23
- 230000000875 corresponding Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Description
本発明はカード型周辺機器および、ホスト機器、およびカード通信システムに関する。
パーソナルコンピュータなどのホスト機器に装着して使用する種々のカード型周辺機器としてPCカードがある。
このようなPCカードとして、PCIバスを介して通信を行うPCIカード、PCIバスよりもデータの転送速度の高速化が図られたPCI Expressバスを介して通信を行うPCI Expressカードなどが知られている(特許文献1、2参照)。
例えば、PCI Expressカードは、物理的、電気的、論理的に規格化され、その規格上でメーカー、デバイス独自の多種多様の制御プロトコルを有している。
ExpressCard規格においては、カード側の形状のみならず、ホスト機器のスロット部、コネクタ部も規格の一部であるため、ExpressCard規格に準ずるならばあらゆるExpressCardがホスト機器に対して物理的に接続可能である。
また、ExpressCard規格が包含するPCI Expressインターフェースも、電気的、論理的に規格化されているため、PCI Express規格に準ずるならばホスト機器に対して電気的、論理的に接続可能である。
その一方で、ホスト機器とカードとが通信を行う際に用いる制御プロトコルは規格化されておらず、制御プロトコルの仕様はメーカー、デバイスにより多種多様となっているのが現状である。
このようなPCカードとして、PCIバスを介して通信を行うPCIカード、PCIバスよりもデータの転送速度の高速化が図られたPCI Expressバスを介して通信を行うPCI Expressカードなどが知られている(特許文献1、2参照)。
例えば、PCI Expressカードは、物理的、電気的、論理的に規格化され、その規格上でメーカー、デバイス独自の多種多様の制御プロトコルを有している。
ExpressCard規格においては、カード側の形状のみならず、ホスト機器のスロット部、コネクタ部も規格の一部であるため、ExpressCard規格に準ずるならばあらゆるExpressCardがホスト機器に対して物理的に接続可能である。
また、ExpressCard規格が包含するPCI Expressインターフェースも、電気的、論理的に規格化されているため、PCI Express規格に準ずるならばホスト機器に対して電気的、論理的に接続可能である。
その一方で、ホスト機器とカードとが通信を行う際に用いる制御プロトコルは規格化されておらず、制御プロトコルの仕様はメーカー、デバイスにより多種多様となっているのが現状である。
多種多様の制御プロトコルの中から特定の制御プロトコルを持つカードのみを判別するため、ホスト機器はPCI Express規格の論理仕様にあたるVendor ID、 Device ID、 Revision ID、 SubSystem ID、Subsystem Vendor ID、Class Codeのいずれかの組み合わせを判別因子として用いてきた。
同じ制御プロトコルを持つカードが異なるメーカーにより異なるデバイスで新たに製造された場合に、ホスト機器とカードとの接続性を持つためには、言い換えると、ホスト機器がそれらのカードと接続して支障なく通信を行うためには、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することで対応してきた。
Personal Computer(PC)システムでは上記対応が一般的で、ネットワークや媒体を介してカードに対応したデバイスドライバを当該ホスト機器(PCシステム)に追加し、更新することで、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することが可能である。
特開2005−275909号公報
特開2006−155183号公報
同じ制御プロトコルを持つカードが異なるメーカーにより異なるデバイスで新たに製造された場合に、ホスト機器とカードとの接続性を持つためには、言い換えると、ホスト機器がそれらのカードと接続して支障なく通信を行うためには、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することで対応してきた。
Personal Computer(PC)システムでは上記対応が一般的で、ネットワークや媒体を介してカードに対応したデバイスドライバを当該ホスト機器(PCシステム)に追加し、更新することで、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することが可能である。
ところで、上記のようにネットワークや媒体を介してカードに対応したデバイスドライバを追加することができない形態のホスト機器、例えば、カードが装着可能なカメラ装置などの電子機器が上記のPCシステムと同様のカードの判別手法をとっていた場合、ホスト機器が判別可能な第1のカードと、同じ制御プロトコルを持つが、異なるメーカーにより異なるデバイスで新たに製造された第2のカードをその電子機器に接続したときに、物理的、電気的、論理的には接続できても通信制御ができないという問題が生じる。
その理由は、そのホスト機器が、第2のカードを、当該ホスト機器が保有する制御プロトコルで制御できるカードであると判別できないからである。また、そのようなホスト機器はネットワークや媒体などを介してデバイスドライバを追加し、更新することで、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することができないため、デバイスドライバを追加し、更新するためには、ホスト機器を、その製造元もしくはサービスセンターに戻す、などの対処が必要になり、その電子機器を使用する際の緊急度によっては重大な問題となる。
本発明はこのような事情に鑑みなされたもので、その目的は、ネットワークや媒体などを用いることなく、ホスト機器によるカード型周辺機器のプロトコルの判別を簡単に行う上で有利なカード型周辺機器、ホスト機器、およびカード通信システムを提供することにある。
その理由は、そのホスト機器が、第2のカードを、当該ホスト機器が保有する制御プロトコルで制御できるカードであると判別できないからである。また、そのようなホスト機器はネットワークや媒体などを介してデバイスドライバを追加し、更新することで、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することができないため、デバイスドライバを追加し、更新するためには、ホスト機器を、その製造元もしくはサービスセンターに戻す、などの対処が必要になり、その電子機器を使用する際の緊急度によっては重大な問題となる。
本発明はこのような事情に鑑みなされたもので、その目的は、ネットワークや媒体などを用いることなく、ホスト機器によるカード型周辺機器のプロトコルの判別を簡単に行う上で有利なカード型周辺機器、ホスト機器、およびカード通信システムを提供することにある。
上述の目的を達成するため、本発明の第1の観点のカード型周辺装置は、ホスト機器に接続されることで前記ホスト機器との間で特定のプロトコルに従って通信を行う通信部と、前記ホスト機器からアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタと、を有し、前記複数のコンフィギュレーションレジスタの少なくとも1つは、それに設定されるデータが、任意にかつ固定的に定めることが許容されたデータあって、前記特定のプロトコルを判別するためのプロトコル識別情報を含む特定レジスタであり、前記通信部には、前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、前記コンフィギュレーション空間は、少なくとも第1の領域と第2の領域とを含み、前記第1の領域は、カードを識別するための識別子と、前記第2の領域の配置アドレスを示すアドレス情報と、を含み、前記第2の領域には、前記特定レジスタが実装可能で、実装される当該特定レジスタに設定されたプロトコル識別情報は、前記第1の領域の前記アドレス情報を基に外部からアクセスされる。
また、本発明の第2の観点のホスト機器は、通信部によりアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタと、を有し、前記複数のコンフィギュレーションレジスタの少なくとも1つは、それに設定されるデータが、任意にかつ固定的に定めることが許容されたデータあって、前記特定のプロトコルを判別するためのプロトコル識別情報を含む特定レジスタであり、前記通信部には、前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、前記コンフィギュレーション空間は、少なくとも第1の領域と第2の領域とを含み、前記第1の領域は、カードを識別するための識別子と、前記第2の領域の配置アドレスを示すアドレス情報と、を含み、前記第2の領域には、前記特定レジスタが実装可能で、実装される当該特定レジスタに設定されたプロトコル識別情報は、前記第1の領域の前記アドレス情報を基に外部からアクセスされるカード型周辺装置との通信制御を行うコントローラを有し、前記コントローラは、前記カード型周辺装置との接続が確立されると、前記コンフィギュレーション空間の前記第1の領域をアクセスし、前記アドレス情報により前記第2の領域がアクセス可能で、前記第2の領域から前記プロトコル識別情報が読み取り可能な場合に、当該プロトコル識別情報に基づいて前記特定のプロトコルを決定し、当該決定した特定のプロトコルに従った通信を行う。
また、本発明の第3の観点のカード通信システムは、カード型周辺装置と、絶続される前記カード型周辺装置との間で特定のプロトコルに従って通信を行うホスト機器と、を有し、前記カード型周辺装置は、ホスト機器に接続されることで前記ホスト機器との間で特定のプロトコルに従って通信を行う通信部と、前記ホスト機器からアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタと、を有し、前記複数のコンフィギュレーションレジスタの少なくとも1つは、それに設定されるデータが、任意にかつ固定的に定めることが許容されたデータあって、前記特定のプロトコルを判別するためのプロトコル識別情報を含む特定レジスタであり、前記通信部には、前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、前記コンフィギュレーション空間は、少なくとも第1の領域と第2の領域とを含み、前記第1の領域は、カードを識別するための識別子と、前記第2の領域の配置アドレスを示すアドレス情報と、を含み、前記第2の領域には、前記特定レジスタが実装可能で、実装される当該特定レジスタに設定されたプロトコル識別情報は、前記第1の領域の前記アドレス情報を基に外部からアクセスされる。
また、本発明の第2の観点のホスト機器は、通信部によりアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタと、を有し、前記複数のコンフィギュレーションレジスタの少なくとも1つは、それに設定されるデータが、任意にかつ固定的に定めることが許容されたデータあって、前記特定のプロトコルを判別するためのプロトコル識別情報を含む特定レジスタであり、前記通信部には、前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、前記コンフィギュレーション空間は、少なくとも第1の領域と第2の領域とを含み、前記第1の領域は、カードを識別するための識別子と、前記第2の領域の配置アドレスを示すアドレス情報と、を含み、前記第2の領域には、前記特定レジスタが実装可能で、実装される当該特定レジスタに設定されたプロトコル識別情報は、前記第1の領域の前記アドレス情報を基に外部からアクセスされるカード型周辺装置との通信制御を行うコントローラを有し、前記コントローラは、前記カード型周辺装置との接続が確立されると、前記コンフィギュレーション空間の前記第1の領域をアクセスし、前記アドレス情報により前記第2の領域がアクセス可能で、前記第2の領域から前記プロトコル識別情報が読み取り可能な場合に、当該プロトコル識別情報に基づいて前記特定のプロトコルを決定し、当該決定した特定のプロトコルに従った通信を行う。
また、本発明の第3の観点のカード通信システムは、カード型周辺装置と、絶続される前記カード型周辺装置との間で特定のプロトコルに従って通信を行うホスト機器と、を有し、前記カード型周辺装置は、ホスト機器に接続されることで前記ホスト機器との間で特定のプロトコルに従って通信を行う通信部と、前記ホスト機器からアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタと、を有し、前記複数のコンフィギュレーションレジスタの少なくとも1つは、それに設定されるデータが、任意にかつ固定的に定めることが許容されたデータあって、前記特定のプロトコルを判別するためのプロトコル識別情報を含む特定レジスタであり、前記通信部には、前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、前記コンフィギュレーション空間は、少なくとも第1の領域と第2の領域とを含み、前記第1の領域は、カードを識別するための識別子と、前記第2の領域の配置アドレスを示すアドレス情報と、を含み、前記第2の領域には、前記特定レジスタが実装可能で、実装される当該特定レジスタに設定されたプロトコル識別情報は、前記第1の領域の前記アドレス情報を基に外部からアクセスされる。
本発明によれば、特定のプロトコルを判別するためのプロトコル識別情報を、カード型周辺機器に設けられた複数のコンフィギュレーションレジスタのうちの、ベンダが任意にかつ固定的に定めることが許容されたものである特定レジスタに設定するようにしたので、ネットワークや媒体などを用いることなく、ホスト機器によるカード型周辺機器のプロトコルの判別、選択を簡単に行うことができ、ネットワークや媒体などを用いる場合に比較してホスト機器およびカード型周辺機器の開発、設計、製造に要するコストを削減する上で有利となる。
次に、本発明の実施の形態について図面を参照して説明する。
図1はホスト機器およびカード型周辺機器の機能ブロック図である。
本実施の形態では、ホスト機器10は被写体像を撮像して画像データを生成するカメラ装置であり、カード20(カード型周辺機器)はホスト機器10に接続され前記画像データが記録されるメモリカードである場合について説明する。
ホスト機器10は、機能的には、上位レイヤー12、ホストメモリ14、ホストコントローラ16を含んで構成されている。
上位レイヤー12は、画像データを生成するためのハードウェア、それらハードウェアを制御するソフトウェア(アプリケーション)などで構成されている。
ホストメモリ14は、種々のデータを格納するメモリであり、前記ソフトウェアを格納するメモリ、ワーキングメモリ、実データを格納するメモリなどを含んで構成されている。
ホストコントローラ16は、CPU、DMA、通信I/Fなどのハードウェア、CPUにより実行されるソフトウェアなどで構成され、PCI Expressカード規格に準じたカードスロット(不図示)を有し、PCI Expressバスを構成する通信路2を介してカード20との間で通信を行うものである。
図1はホスト機器およびカード型周辺機器の機能ブロック図である。
本実施の形態では、ホスト機器10は被写体像を撮像して画像データを生成するカメラ装置であり、カード20(カード型周辺機器)はホスト機器10に接続され前記画像データが記録されるメモリカードである場合について説明する。
ホスト機器10は、機能的には、上位レイヤー12、ホストメモリ14、ホストコントローラ16を含んで構成されている。
上位レイヤー12は、画像データを生成するためのハードウェア、それらハードウェアを制御するソフトウェア(アプリケーション)などで構成されている。
ホストメモリ14は、種々のデータを格納するメモリであり、前記ソフトウェアを格納するメモリ、ワーキングメモリ、実データを格納するメモリなどを含んで構成されている。
ホストコントローラ16は、CPU、DMA、通信I/Fなどのハードウェア、CPUにより実行されるソフトウェアなどで構成され、PCI Expressカード規格に準じたカードスロット(不図示)を有し、PCI Expressバスを構成する通信路2を介してカード20との間で通信を行うものである。
カード20は、通信部に含まれるPCI Expressデバイス22、通信部に含まれるコンフィギュレーション空間24、通信部に含まれるIO,メモリ空間レジスタ26、不揮発性メモリ28、上位レイヤー30などを含んで構成されている。
PCI Expressデバイス22は、PCI Expressカード規格に準じたカードコネクタ(不図示)を有し、そのカードコネクタがホスト機器10のカードスロットに装着されることで通信路2を介してホスト機器10に接続される。
通信部を形成するPCI Expressデバイス22は、CPU、通信I/F、CPUにより実行されるソフトウェアなどで構成されている。
通信部を形成するコンフィギュレーション空間24は、ホスト機器10からカード20に対してアクセスする際に用いられるアドレス空間(PCI Expressバスに設けられたアドレス空間)のうち、複数のコンフィギュレーションレジスタが実装されるアドレス空間である。
コンフィギュレーションレジスタは種々の設定情報が設定されるものであり、設定情報は、PCI Express規格によって定義される。コンフィギュレーション空間24、コンフィギュレーションレジスタについては後で詳述する。
上位レイヤー30は、本実施の形態では、メモリカードとして機能する、データを書き換え可能に保持するメモリ領域である。
通信部を形成するIO,メモリ空間レジスタ26は、ホスト機器10からカード20に対してアクセスする際に用いられるアドレス空間のうち、上位レイヤー30に対するアクセスを行うために用いられるアドレス空間である。
不揮発性メモリ28は、本発明の記憶部を構成するものであって、ホスト機器10がカード20と通信する際の特定のプロトコルを判別、決定するためのプロトコル識別情報が格納されるものであり、ホスト機器10からはコンフィギュレーション空間24に実装されたレジスタを介してアクセス(読み取り)がなされるものである。
本実施の形態では、上位レイヤー30を構成するメモリ領域と不揮発性メモリ28はハードウェア的には同一のメモリで構成されている。
PCI Expressデバイス22は、PCI Expressカード規格に準じたカードコネクタ(不図示)を有し、そのカードコネクタがホスト機器10のカードスロットに装着されることで通信路2を介してホスト機器10に接続される。
通信部を形成するPCI Expressデバイス22は、CPU、通信I/F、CPUにより実行されるソフトウェアなどで構成されている。
通信部を形成するコンフィギュレーション空間24は、ホスト機器10からカード20に対してアクセスする際に用いられるアドレス空間(PCI Expressバスに設けられたアドレス空間)のうち、複数のコンフィギュレーションレジスタが実装されるアドレス空間である。
コンフィギュレーションレジスタは種々の設定情報が設定されるものであり、設定情報は、PCI Express規格によって定義される。コンフィギュレーション空間24、コンフィギュレーションレジスタについては後で詳述する。
上位レイヤー30は、本実施の形態では、メモリカードとして機能する、データを書き換え可能に保持するメモリ領域である。
通信部を形成するIO,メモリ空間レジスタ26は、ホスト機器10からカード20に対してアクセスする際に用いられるアドレス空間のうち、上位レイヤー30に対するアクセスを行うために用いられるアドレス空間である。
不揮発性メモリ28は、本発明の記憶部を構成するものであって、ホスト機器10がカード20と通信する際の特定のプロトコルを判別、決定するためのプロトコル識別情報が格納されるものであり、ホスト機器10からはコンフィギュレーション空間24に実装されたレジスタを介してアクセス(読み取り)がなされるものである。
本実施の形態では、上位レイヤー30を構成するメモリ領域と不揮発性メモリ28はハードウェア的には同一のメモリで構成されている。
図2は、カード20の仕様を示す説明図である。
図2に示すように、カード20の仕様は、物理仕様20A、電気仕様20B、インターフェース仕様20C、コンフィギュレーション空間仕様20D、IO,メモリ空間レジスタ仕様20E、制御プロトコル仕様20Fで構成されている。
物理仕様20Aは、PCI Expressカード規格に準拠しており、カードコネクタの形状、寸法などの物理的な仕様を定義するものである。
電気仕様20Bは信号の電圧、電流などの仕様、インターフェース仕様20Cは通信に関わる物理レベルでの仕様、コンフィギュレーション空間仕様20Dは後述するコンフィギュレーション空間上に設定される領域の仕様であり、これら電気仕様20B、インターフェース仕様20C、コンフィギュレーション空間仕様20Dは、PCI Express規格に準拠している。
IO,メモリ空間レジスタ仕様20EはIO,メモリ空間レジスタ26の仕様であり、制御プロトコル仕様20Fはホスト機器10とカード20(上位レイヤー30)との間で通信路2を介して行われる通信手順などの仕様であり、カード20のメーカーやカード20の機能毎に独自に定められるものである。
図2に示すように、カード20の仕様は、物理仕様20A、電気仕様20B、インターフェース仕様20C、コンフィギュレーション空間仕様20D、IO,メモリ空間レジスタ仕様20E、制御プロトコル仕様20Fで構成されている。
物理仕様20Aは、PCI Expressカード規格に準拠しており、カードコネクタの形状、寸法などの物理的な仕様を定義するものである。
電気仕様20Bは信号の電圧、電流などの仕様、インターフェース仕様20Cは通信に関わる物理レベルでの仕様、コンフィギュレーション空間仕様20Dは後述するコンフィギュレーション空間上に設定される領域の仕様であり、これら電気仕様20B、インターフェース仕様20C、コンフィギュレーション空間仕様20Dは、PCI Express規格に準拠している。
IO,メモリ空間レジスタ仕様20EはIO,メモリ空間レジスタ26の仕様であり、制御プロトコル仕様20Fはホスト機器10とカード20(上位レイヤー30)との間で通信路2を介して行われる通信手順などの仕様であり、カード20のメーカーやカード20の機能毎に独自に定められるものである。
次にコンフィギュレーション空間24について説明する。
コンフィギュレーション空間24には複数の領域が設定されている。
複数のデータ領域は、図3に示すConfiguration Space Header(以下CSHという)、図4に示すVital Product Data Capability Structure(以下VPD Capという)、図5に示すVendor Specific Capability Structure(以下VS Capという)の3つの領域を含んでいる。なお、コンフィギュレーション空間24の上記3つの領域を除く領域は本発明に直接関連しないので説明を割愛する。
なお、PCI Express規格(PCI規格)によれば、CSHの領域(第1の領域)は必ず設けなければならない領域であり、VPD Capの領域(第2の領域または第3の領域)およびVS Capの領域(第3の領域または第2の領域)を設けるか否かはベンダの任意とされている。
コンフィギュレーション空間24には複数の領域が設定されている。
複数のデータ領域は、図3に示すConfiguration Space Header(以下CSHという)、図4に示すVital Product Data Capability Structure(以下VPD Capという)、図5に示すVendor Specific Capability Structure(以下VS Capという)の3つの領域を含んでいる。なお、コンフィギュレーション空間24の上記3つの領域を除く領域は本発明に直接関連しないので説明を割愛する。
なお、PCI Express規格(PCI規格)によれば、CSHの領域(第1の領域)は必ず設けなければならない領域であり、VPD Capの領域(第2の領域または第3の領域)およびVS Capの領域(第3の領域または第2の領域)を設けるか否かはベンダの任意とされている。
図3を参照してCSHについて説明する。
CSHのアドレスは00h〜3Fh固定であり、サイズは64バイトである。
CSHは基本的に全てのPCIデバイスおよびPCI Expressデバイスが有する領域である。
CSHには、カード20を識別するための複数のID(識別子)が設定される。
複数のIDとしては、デバイスベンダ(デバイスメーカー)を特定するためにベンダに固有に割り当てられたVendor ID、当該デバイスベンダが自由に割り当てることができるベンダ内で固有のDevice ID、デバイスの改変履歴やバージョンを示すRevision ID、デバイスの機能を特定するために割り当てられたClass Code、カードベンダ(カードメーカー)を特定するためにベンダに固有に割り当てられたSubsystem Vendor ID、当該カードベンダが自由に割り当てることができるベンダ内で固有のSubSystem IDなどがある。
これらのIDはそれぞれに対応して設けられたコンフィギュレーションレジスタ、すなわち、Vendor IDレジスタ、Device IDレジスタ、Revision IDレジスタ、Class Codeレジスタ、Subsystem Vendor IDレジスタ、SubSystem IDレジスタに設定される。
ここで、ホスト機器がパーソナルコンピュータなどのように、ネットワークや記録媒体によってデバイスドライバを追加することで新規カードメーカー及びデバイスの情報を判別因子として追加することができるものである場合は次のような動作がなされる。
すなわち、このようなホスト機器は、各コンフィギュレーションレジスタからVendor ID、Device ID、Revision ID、Class Code、SubSystem ID、Subsystem Vendor IDの各データ(識別子)を読み出し、その結果に基づいてカード20(デバイス)が識別可能でありしたがってそのホスト機器が有するプロトコルで通信可能であるか、あるいは、識別不能でありしたがって当該カード20に対応するデバイスドライバを新たに追加すべきかを判別し、それぞれの判別結果に応じた動作を行う。
しかしながら、本実施の形態では、ホスト機器10はそのような機能を有していないため、後述するような手順でデバイス(カード20)の識別を行う。
CSHのアドレスは00h〜3Fh固定であり、サイズは64バイトである。
CSHは基本的に全てのPCIデバイスおよびPCI Expressデバイスが有する領域である。
CSHには、カード20を識別するための複数のID(識別子)が設定される。
複数のIDとしては、デバイスベンダ(デバイスメーカー)を特定するためにベンダに固有に割り当てられたVendor ID、当該デバイスベンダが自由に割り当てることができるベンダ内で固有のDevice ID、デバイスの改変履歴やバージョンを示すRevision ID、デバイスの機能を特定するために割り当てられたClass Code、カードベンダ(カードメーカー)を特定するためにベンダに固有に割り当てられたSubsystem Vendor ID、当該カードベンダが自由に割り当てることができるベンダ内で固有のSubSystem IDなどがある。
これらのIDはそれぞれに対応して設けられたコンフィギュレーションレジスタ、すなわち、Vendor IDレジスタ、Device IDレジスタ、Revision IDレジスタ、Class Codeレジスタ、Subsystem Vendor IDレジスタ、SubSystem IDレジスタに設定される。
ここで、ホスト機器がパーソナルコンピュータなどのように、ネットワークや記録媒体によってデバイスドライバを追加することで新規カードメーカー及びデバイスの情報を判別因子として追加することができるものである場合は次のような動作がなされる。
すなわち、このようなホスト機器は、各コンフィギュレーションレジスタからVendor ID、Device ID、Revision ID、Class Code、SubSystem ID、Subsystem Vendor IDの各データ(識別子)を読み出し、その結果に基づいてカード20(デバイス)が識別可能でありしたがってそのホスト機器が有するプロトコルで通信可能であるか、あるいは、識別不能でありしたがって当該カード20に対応するデバイスドライバを新たに追加すべきかを判別し、それぞれの判別結果に応じた動作を行う。
しかしながら、本実施の形態では、ホスト機器10はそのような機能を有していないため、後述するような手順でデバイス(カード20)の識別を行う。
次に、図4を参照してVPD Capについて説明する。
VPD Capには、第1の特定レジスタR1(特許請求の範囲の特定レジスタに相当)が実装され、コンフィギュレーション空間においてVPD Capが配置されるアドレスはベンダが任意に定めることができるものである。
VPD Capのオフセットアドレスは40h〜FFhで、VPD Capは8バイトの固定領域であり、そのうち4バイトにVPD Dataを設定することができる。
Fは、ホスト機器10がVPD Dataを読み出す際に「0」をセットするフラグであり、VPD Dataが第1の特定レジスタにセットされたならば、Fがカード20側(PCI Expressデバイス22)によって「1」にセットされる。
VPD Addressは、ホスト機器10がVPD Dataを読み出す際のアドレスである。
Next Pointerは後述する。
IDは、VPD Capを特定する識別子であり、その値が03hであることを示す。
VPD Dataは、不揮発性メモリ28から読み出され第1の特定レジスタR1にセットされたデータである。VPD Dataは、カード20を製造または販売するベンダが任意にかつ固定的に定めることが許容されたものであり、プロトコル識別情報を含む。
VPD Capには、第1の特定レジスタR1(特許請求の範囲の特定レジスタに相当)が実装され、コンフィギュレーション空間においてVPD Capが配置されるアドレスはベンダが任意に定めることができるものである。
VPD Capのオフセットアドレスは40h〜FFhで、VPD Capは8バイトの固定領域であり、そのうち4バイトにVPD Dataを設定することができる。
Fは、ホスト機器10がVPD Dataを読み出す際に「0」をセットするフラグであり、VPD Dataが第1の特定レジスタにセットされたならば、Fがカード20側(PCI Expressデバイス22)によって「1」にセットされる。
VPD Addressは、ホスト機器10がVPD Dataを読み出す際のアドレスである。
Next Pointerは後述する。
IDは、VPD Capを特定する識別子であり、その値が03hであることを示す。
VPD Dataは、不揮発性メモリ28から読み出され第1の特定レジスタR1にセットされたデータである。VPD Dataは、カード20を製造または販売するベンダが任意にかつ固定的に定めることが許容されたものであり、プロトコル識別情報を含む。
次に、図5を参照してVS Capについて説明する。
VS Capには、第2の特定レジスタR2(特許請求の範囲の特定レジスタに相当)が実装され、コンフィギュレーション空間においてVS Capが配置されるアドレスはベンダが任意に定めることができるものである。
VS Capのオフセットアドレスは40h〜FFhである。
Length(Lengthフィールド)には、VS Cap全体のサイズを示すバイト数のデータがセットされる。
IDは、VS Capを特定する識別子であり、その値が09hであることを示す。
Vendor Dataも、不揮発性メモリ28から読み出され第2の特定レジスタR2にセットされたデータである。Vendor Dataも上記のVPD Dataと同様に、カード20を製造または販売するベンダにより任意にかつ固定的に定めることが許容されたものであり、プロトコル識別情報を含む。
VS Capには、第2の特定レジスタR2(特許請求の範囲の特定レジスタに相当)が実装され、コンフィギュレーション空間においてVS Capが配置されるアドレスはベンダが任意に定めることができるものである。
VS Capのオフセットアドレスは40h〜FFhである。
Length(Lengthフィールド)には、VS Cap全体のサイズを示すバイト数のデータがセットされる。
IDは、VS Capを特定する識別子であり、その値が09hであることを示す。
Vendor Dataも、不揮発性メモリ28から読み出され第2の特定レジスタR2にセットされたデータである。Vendor Dataも上記のVPD Dataと同様に、カード20を製造または販売するベンダにより任意にかつ固定的に定めることが許容されたものであり、プロトコル識別情報を含む。
なお、VPD Capの領域、VS Capの領域は固定アドレスではないため、次に示す手順でVPD Capの領域、VS Capの領域に対するアクセスを行う。
図3に示すように、CSHには、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ(Cap.List.Ptr)が設けられており、本実施の形態では、ホスト機器10は、このリストポインタの値(アドレスデータ)を参照することで、VPD Capの領域にアクセスするように構成されている。
図4に示すように、VPD Capにも、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ(Next Pointer)が設けられており、本実施の形態では、ホスト機器10は、このリストポインタの値を参照することで、VS Capの領域にアクセスするように構成されている。
図5に示すように、VS Capにも、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ(Next Pointer)が設けられており、ホスト機器10は、このリストポインタの値を参照することで、他の領域にアクセスするように構成されている。
図3に示すように、CSHには、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ(Cap.List.Ptr)が設けられており、本実施の形態では、ホスト機器10は、このリストポインタの値(アドレスデータ)を参照することで、VPD Capの領域にアクセスするように構成されている。
図4に示すように、VPD Capにも、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ(Next Pointer)が設けられており、本実施の形態では、ホスト機器10は、このリストポインタの値を参照することで、VS Capの領域にアクセスするように構成されている。
図5に示すように、VS Capにも、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ(Next Pointer)が設けられており、ホスト機器10は、このリストポインタの値を参照することで、他の領域にアクセスするように構成されている。
上記の動作を図6を参照してコンフィギュレーション空間に配置された複数の領域(Capability Structure)のアクセス方法を説明すると、ホスト機器10が参照するポインタP1がA4hを示している場合、まず、アドレスA4hの領域Xにアクセスする。
次いで、領域Xのリストポインタが5Chを示しているので、アドレス5Chの領域Yにアクセスする。
次いで、領域YのリストポインタがE0hを示しているので、アドレスE0hの領域Zにアクセスする。
ここで、領域Zのリストポインタが00hを示しているので、アクセスすべき領域はこの領域Zで完了したと判断してそれ以上のアクセスを行わない。
すなわち、リストポインタが00hとなるまで各領域のリストポインタにしたがって順次次の領域にアクセスすることになる。
このようなコンフィギュレーション空間に割り当てられた複数の領域(レジスタ)に対するアクセス方法は、PCI Express規格(PCI規格)によって定められているものである。
次いで、領域Xのリストポインタが5Chを示しているので、アドレス5Chの領域Yにアクセスする。
次いで、領域YのリストポインタがE0hを示しているので、アドレスE0hの領域Zにアクセスする。
ここで、領域Zのリストポインタが00hを示しているので、アクセスすべき領域はこの領域Zで完了したと判断してそれ以上のアクセスを行わない。
すなわち、リストポインタが00hとなるまで各領域のリストポインタにしたがって順次次の領域にアクセスすることになる。
このようなコンフィギュレーション空間に割り当てられた複数の領域(レジスタ)に対するアクセス方法は、PCI Express規格(PCI規格)によって定められているものである。
次に、VPD Capの第1の特定レジスタR1を用いたVPD Dataの読み出し動作について詳細に説明する。
図7(A)、(B)、(C)は不揮発性メモリ28におけるVPD領域の説明図、図8はVPD Dataの具体的な意味づけを示す説明図である。
VPD Dataは、プロトコル識別情報を含むものである。
本実施の形態ではプロトコル識別情報が29個の文字からなる文字列データ、すなわち、29バイトのデータで示される「ABCDEFGHIJKLMNOPQRSTUVWXYZ012」で構成されているものとして説明する。すなわち、図7(B)に示すように、不揮発性メモリ28に予め設定されたVPD領域の太実線で囲った部分に29バイト分のデータが配置され、図7(C)に示すように「A」〜「2」の29個の文字列が配置されている。なお、図7(C)の「R」、「V」はプロトコル識別情報とは別のデータを示す。
図7(A)、(B)、(C)は不揮発性メモリ28におけるVPD領域の説明図、図8はVPD Dataの具体的な意味づけを示す説明図である。
VPD Dataは、プロトコル識別情報を含むものである。
本実施の形態ではプロトコル識別情報が29個の文字からなる文字列データ、すなわち、29バイトのデータで示される「ABCDEFGHIJKLMNOPQRSTUVWXYZ012」で構成されているものとして説明する。すなわち、図7(B)に示すように、不揮発性メモリ28に予め設定されたVPD領域の太実線で囲った部分に29バイト分のデータが配置され、図7(C)に示すように「A」〜「2」の29個の文字列が配置されている。なお、図7(C)の「R」、「V」はプロトコル識別情報とは別のデータを示す。
図7(A)、(B)に示すように、不揮発性メモリ28におけるVPD領域は本実施の形態では64バイト確保されおり、29バイトのデータで構成されたプロトコル識別情報PRO、それらプロトコル識別情報PROを第1の特定レジスタR1から読み出すためのデータなどが格納されている。
図7(B)、図8に示すように、アドレス00hのデータのうち「82h」はVPD Dataの開始を示し、「001dh」はそれに続いて29バイトの文字列が存在することを示している。そして、「41h」以降29バイトの文字列データが格納されている。30バイト目の「90h」はVPD−R領域の開始を示す。
なお、上記「90h」以降には、本発明では使用しないが、規格上必要なデータが収容されている。
図7(B)、図8に示すように、アドレス00hのデータのうち「82h」はVPD Dataの開始を示し、「001dh」はそれに続いて29バイトの文字列が存在することを示している。そして、「41h」以降29バイトの文字列データが格納されている。30バイト目の「90h」はVPD−R領域の開始を示す。
なお、上記「90h」以降には、本発明では使用しないが、規格上必要なデータが収容されている。
ホスト機器10から第1の特定レジスタR1の読み出しは、次のように行われる。
なお、初期状態ではFは「1」が設定されている。
ホスト機器10は、図3に示すCSHのリストポインタ(Cap.List Ptr)に格納されているアドレスにしたがってVPD Capにアクセスし、VPD Addressにアドレスをセットすると同時にFに「0」をセットする。
VPD Dataが第1の特定レジスタR1にセットされるとFが「1」にセットされる。
ホスト機器10はFが「1」にセットされたことを読み取ると、4バイト分のVPD Dataを読み取る。
VPD Addressにセットするアドレスをインクリメントして上述の動作を繰り返すことにより、29バイト分のプロトコル識別情報PROの読み取りがなされる。
すなわち、第1の特定レジスタR1を用いたVPD Dataの読み出しは、第1の特定レジスタR1におけるVPD Data部分の4バイト単位での読み出しとなるが、VPD領域の大きさ(データ量)自体は、64バイトに限定されるものではなく任意であり、また、プロトコル識別情報PROのデータ量も任意である。
なお、初期状態ではFは「1」が設定されている。
ホスト機器10は、図3に示すCSHのリストポインタ(Cap.List Ptr)に格納されているアドレスにしたがってVPD Capにアクセスし、VPD Addressにアドレスをセットすると同時にFに「0」をセットする。
VPD Dataが第1の特定レジスタR1にセットされるとFが「1」にセットされる。
ホスト機器10はFが「1」にセットされたことを読み取ると、4バイト分のVPD Dataを読み取る。
VPD Addressにセットするアドレスをインクリメントして上述の動作を繰り返すことにより、29バイト分のプロトコル識別情報PROの読み取りがなされる。
すなわち、第1の特定レジスタR1を用いたVPD Dataの読み出しは、第1の特定レジスタR1におけるVPD Data部分の4バイト単位での読み出しとなるが、VPD領域の大きさ(データ量)自体は、64バイトに限定されるものではなく任意であり、また、プロトコル識別情報PROのデータ量も任意である。
次に、VS Capの第2の特定レジスタR2を用いたVS Dataの読み出し動作について詳細に説明する。
図9(A)、(B)はVS Capの第2の特定レジスタR2の説明図である。
第2の特定レジスタR2にセットされるVendor Dataは、プロトコル識別情報を含むものである。
本実施の形態では、プロトコル識別情報が29個の文字からなる文字列データ、すなわち、29バイトのデータで示される「ABCDEFGHIJKLMNOPQRSTUVWXYZ012」で構成されているものとして説明する。なお、本実施の形態では、説明を簡単化するため、第1、第2の特定レジスタR1、R2にセットされるプロトコル識別情報が同一であるものとしたが、第1、第2の特定レジスタR1、R2にセットされるプロトコル識別情報は、それら2つのプロトコル情報が同一であっても、あるいは、1つのプロトコル情報を2つに分割してそれぞれ第1、第2の特定レジスタR1、R2にセットするようにしてもよい。
不揮発性メモリ28に予め設定されたVS領域(不図示)は、本実施の形態では32バイト確保されおり、29バイトのデータで構成されたプロトコル識別情報PRO、それらプロトコル識別情報PROを第2の特定レジスタR2から読み出すためのデータなどが格納されている。
図9に示すように、VS Capの第2の特定レジスタR2は、本実施の形態では32バイト確保されおり、VS領域に格納された、29バイトのデータで構成されたプロトコル識別情報PRO、それらプロトコル識別情報PROを読み出すためのデータなどが全てセットされるように構成されている。
図9(A)、(B)はVS Capの第2の特定レジスタR2の説明図である。
第2の特定レジスタR2にセットされるVendor Dataは、プロトコル識別情報を含むものである。
本実施の形態では、プロトコル識別情報が29個の文字からなる文字列データ、すなわち、29バイトのデータで示される「ABCDEFGHIJKLMNOPQRSTUVWXYZ012」で構成されているものとして説明する。なお、本実施の形態では、説明を簡単化するため、第1、第2の特定レジスタR1、R2にセットされるプロトコル識別情報が同一であるものとしたが、第1、第2の特定レジスタR1、R2にセットされるプロトコル識別情報は、それら2つのプロトコル情報が同一であっても、あるいは、1つのプロトコル情報を2つに分割してそれぞれ第1、第2の特定レジスタR1、R2にセットするようにしてもよい。
不揮発性メモリ28に予め設定されたVS領域(不図示)は、本実施の形態では32バイト確保されおり、29バイトのデータで構成されたプロトコル識別情報PRO、それらプロトコル識別情報PROを第2の特定レジスタR2から読み出すためのデータなどが格納されている。
図9に示すように、VS Capの第2の特定レジスタR2は、本実施の形態では32バイト確保されおり、VS領域に格納された、29バイトのデータで構成されたプロトコル識別情報PRO、それらプロトコル識別情報PROを読み出すためのデータなどが全てセットされるように構成されている。
図9に示すように、LengthにはVs CAP全体のサイズとして32バイトを示す「20h」がセットされ、Vendor Data0〜Vendor Data7にわたって29バイトのプロトコル識別情報PRO「41h」〜「32h」(文字A〜2)がそれぞれセットされる。
すなわち、VS Capの第2の特定レジスタR2からのデータの読み出しは、第1の特定レジスタR1の場合と異なりアドレスを順次指定して4バイト単位で読み出す必要は無く、32バイトのデータを同時に読み出すことができる。
したがって、ホスト機器10から第2の特定レジスタR2の読み出しは、次のように行われる。
ホスト機器10は、図4に示すVPD Capのリストポインタ(Next Pointer)に格納されているアドレスに従ってVS Capにアクセスし、Lengthフィールドにセットされている29バイトに従ってVendor Data0〜Vendor Data7のデータ、すなわち、29バイト分のプロトコル識別情報PROの読み取りがなされる。
なお、VS Capの第2の特定レジスタR2のVendor Dataの数は前述したようにLengthフィールドの設定値によって例えば1バイト単位で任意に設定できるものである。
すなわち、VS Capの第2の特定レジスタR2からのデータの読み出しは、第1の特定レジスタR1の場合と異なりアドレスを順次指定して4バイト単位で読み出す必要は無く、32バイトのデータを同時に読み出すことができる。
したがって、ホスト機器10から第2の特定レジスタR2の読み出しは、次のように行われる。
ホスト機器10は、図4に示すVPD Capのリストポインタ(Next Pointer)に格納されているアドレスに従ってVS Capにアクセスし、Lengthフィールドにセットされている29バイトに従ってVendor Data0〜Vendor Data7のデータ、すなわち、29バイト分のプロトコル識別情報PROの読み取りがなされる。
なお、VS Capの第2の特定レジスタR2のVendor Dataの数は前述したようにLengthフィールドの設定値によって例えば1バイト単位で任意に設定できるものである。
次に、ホスト機器10による識別動作の具体例について説明する。
図10はホスト機器10による識別動作の第1の具体例を示すフローチャートである。
第1の具体例では、VPD Capの領域のみを使用する。
カード20がホスト機器10のカードスロットに接続され、カード20との間で電気的な接続が確立される(ステップS10)。
すると、ホスト機器10は、CSHの領域にアクセスし、そのリストポインタ(Cap.List.Ptr)の値を参照することで、VPD Capの領域にアクセスできるか否かを判定する(ステップS12)。ステップS12でアクセスできた場合には、プロトコル識別情報PRO(カード識別子)が読み取れるか否かを判別する(ステップS14)。ステップS14でプロトコル識別情報PROが読み取れた場合には、そのプロトコル識別情報PROに基づいてカード20を識別し、すなわち、そのプロトコル識別情報PROに基づいて採用するべき特定のプロトコルを決定し、該プロトコルに従ってカード20との間で通信を行う(ステップS16)。
ステップS12においてVPD Capの領域にアクセスできない場合は(リストポインタに行き先のアドレスが設定されていない場合は)、コンフィギュレーション空間にそもそもVPD Capの領域が無いものであるため、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS18)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップS14においてプロトコル識別情報PRO(カード識別子)が読み取れなかった場合も、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS18)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
図10はホスト機器10による識別動作の第1の具体例を示すフローチャートである。
第1の具体例では、VPD Capの領域のみを使用する。
カード20がホスト機器10のカードスロットに接続され、カード20との間で電気的な接続が確立される(ステップS10)。
すると、ホスト機器10は、CSHの領域にアクセスし、そのリストポインタ(Cap.List.Ptr)の値を参照することで、VPD Capの領域にアクセスできるか否かを判定する(ステップS12)。ステップS12でアクセスできた場合には、プロトコル識別情報PRO(カード識別子)が読み取れるか否かを判別する(ステップS14)。ステップS14でプロトコル識別情報PROが読み取れた場合には、そのプロトコル識別情報PROに基づいてカード20を識別し、すなわち、そのプロトコル識別情報PROに基づいて採用するべき特定のプロトコルを決定し、該プロトコルに従ってカード20との間で通信を行う(ステップS16)。
ステップS12においてVPD Capの領域にアクセスできない場合は(リストポインタに行き先のアドレスが設定されていない場合は)、コンフィギュレーション空間にそもそもVPD Capの領域が無いものであるため、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS18)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップS14においてプロトコル識別情報PRO(カード識別子)が読み取れなかった場合も、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS18)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
図11はホスト機器10による識別動作の第2の具体例を示すフローチャートである。
第2の具体例では、VS Capの領域のみを使用する。
カード20がホスト機器10のカードスロットに接続され、カード20との間で電気的な接続が確立される(ステップS20)。
すると、ホスト機器10は、CSHの領域にアクセスし、そのリストポインタ(Cap.List.Ptr)の値を参照することで、VPD Capの領域にアクセスし、さらにVPD Capの領域のリストポインタ(Next Pointer)の値を参照することで、VS Capの領域にアクセスできるか否かを判定する(ステップS22)。ステップS22でアクセスできた場合には、プロトコル識別情報PRO(カード識別子)が読み取れるか否かを判別する(ステップS24)。ステップS24でプロトコル識別情報PROが読み取れた場合には、そのプロトコル識別情報PROに基づいてカード20を識別し、すなわち、そのプロトコル識別情報PROに基づいて採用するべき特定のプロトコルを決定し、該プロトコルに従ってカード20との間で通信を行う(ステップS26)。
ステップS22においてVS Capの領域にアクセスできない場合は(リストポインタに行き先のアドレスが設定されていない場合は)、コンフィギュレーション空間にそもそもVS Capの領域が無いものであるため、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS28)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップS24においてプロトコル識別情報PRO(カード識別子)が読み取れなかった場合も、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS28)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
第2の具体例では、VS Capの領域のみを使用する。
カード20がホスト機器10のカードスロットに接続され、カード20との間で電気的な接続が確立される(ステップS20)。
すると、ホスト機器10は、CSHの領域にアクセスし、そのリストポインタ(Cap.List.Ptr)の値を参照することで、VPD Capの領域にアクセスし、さらにVPD Capの領域のリストポインタ(Next Pointer)の値を参照することで、VS Capの領域にアクセスできるか否かを判定する(ステップS22)。ステップS22でアクセスできた場合には、プロトコル識別情報PRO(カード識別子)が読み取れるか否かを判別する(ステップS24)。ステップS24でプロトコル識別情報PROが読み取れた場合には、そのプロトコル識別情報PROに基づいてカード20を識別し、すなわち、そのプロトコル識別情報PROに基づいて採用するべき特定のプロトコルを決定し、該プロトコルに従ってカード20との間で通信を行う(ステップS26)。
ステップS22においてVS Capの領域にアクセスできない場合は(リストポインタに行き先のアドレスが設定されていない場合は)、コンフィギュレーション空間にそもそもVS Capの領域が無いものであるため、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS28)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップS24においてプロトコル識別情報PRO(カード識別子)が読み取れなかった場合も、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS28)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
図12はホスト機器10による識別動作の第3の具体例を示すフローチャートである。
第2の具体例では、VPD Capの領域とVS Capの領域の双方を使用する。
カード20がホスト機器10のカードスロットに接続され、カード20との間で電気的な接続が確立される(ステップS30)。
すると、ホスト機器10は、CSHの領域にアクセスし、そのリストポインタ(Cap.List.Ptr)の値を参照することで、VPD Capの領域にアクセスできるか否かを判定する(ステップS32)。ステップS32でVPD Capの領域にアクセスできた場合には、プロトコル識別情報PRO(カード識別子)が読み取れるか否かを判別する(ステップS34)。
ステップS34でプロトコル識別情報PROが読み取れた場合には、VPD Capの領域のリストポインタ(Next Pointer)の値を参照することで、VS Capの領域にアクセスできるか否かを判定する(ステップS36)。ステップS36でVS Capの領域にアクセスできた場合には、プロトコル識別情報PRO(カード識別子)が読み取れるか否かを判別する(ステップS38)。ステップS38でプロトコル識別情報PROが読み取れた場合には、そのプロトコル識別情報PROと、ステップS34で読み取ったプロトコル識別情報PROとの双方に基づいてカード20を識別し、すなわち、そのプロトコル識別情報PROに基づいて採用するべき特定のプロトコルを決定し、該プロトコルに従ってカード20との間で通信を行う(ステップS40)。
ステップS32においてVPD Capの領域にアクセスできない場合は(リストポインタに行き先のアドレスが設定されていない場合は)、コンフィギュレーション空間にそもそもVPD Capの領域が無いものであるため、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS42)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップS34においてプロトコル識別情報PRO(カード識別子)が読み取れなかった場合は、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS42)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップS36においてVS Capの領域にアクセスできない場合は(リストポインタに行き先のアドレスが設定されていない場合は)、コンフィギュレーション空間にそもそもVS Capの領域が無いものであるため、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS42)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップS38においてプロトコル識別情報PRO(カード識別子)が読み取れなかった場合も、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS42)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
第2の具体例では、VPD Capの領域とVS Capの領域の双方を使用する。
カード20がホスト機器10のカードスロットに接続され、カード20との間で電気的な接続が確立される(ステップS30)。
すると、ホスト機器10は、CSHの領域にアクセスし、そのリストポインタ(Cap.List.Ptr)の値を参照することで、VPD Capの領域にアクセスできるか否かを判定する(ステップS32)。ステップS32でVPD Capの領域にアクセスできた場合には、プロトコル識別情報PRO(カード識別子)が読み取れるか否かを判別する(ステップS34)。
ステップS34でプロトコル識別情報PROが読み取れた場合には、VPD Capの領域のリストポインタ(Next Pointer)の値を参照することで、VS Capの領域にアクセスできるか否かを判定する(ステップS36)。ステップS36でVS Capの領域にアクセスできた場合には、プロトコル識別情報PRO(カード識別子)が読み取れるか否かを判別する(ステップS38)。ステップS38でプロトコル識別情報PROが読み取れた場合には、そのプロトコル識別情報PROと、ステップS34で読み取ったプロトコル識別情報PROとの双方に基づいてカード20を識別し、すなわち、そのプロトコル識別情報PROに基づいて採用するべき特定のプロトコルを決定し、該プロトコルに従ってカード20との間で通信を行う(ステップS40)。
ステップS32においてVPD Capの領域にアクセスできない場合は(リストポインタに行き先のアドレスが設定されていない場合は)、コンフィギュレーション空間にそもそもVPD Capの領域が無いものであるため、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS42)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップS34においてプロトコル識別情報PRO(カード識別子)が読み取れなかった場合は、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS42)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップS36においてVS Capの領域にアクセスできない場合は(リストポインタに行き先のアドレスが設定されていない場合は)、コンフィギュレーション空間にそもそもVS Capの領域が無いものであるため、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS42)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
ステップS38においてプロトコル識別情報PRO(カード識別子)が読み取れなかった場合も、ホスト機器10はそれ以上の動作を行わず、接続されたカード20を不明なデバイスとして認識し(ステップS42)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
本実施の形態では、ホスト機器10のホストコントローラ16は、複数のコンフィギュレーションレジスタに対してアクセスすることにより第1、第2の特定レジスタR1、R2に設定されている特定のプロトコルを判別するためのプロトコル識別情報PROを読み取る読み取り部と、読み取り部によって読み取られたプロトコル識別情報PROに基づいてカード20との間で行うプロトコルを決定してカードとの間で通信を行う通信制御部とを構成している。
以上説明したように本実施の形態によれば、ホスト機器10とカード20との間で特定のプロトコルを用いて通信するにあたって、特定のプロトコルを判別するためのプロトコル識別情報を、カード20に設けられた複数のコンフィギュレーションレジスタのうちの、ベンダが任意にかつ固定的に定めることが許容されたものである特定レジスタに設定するようにしたので、ネットワークや媒体などを用いることなく、ホスト機器によるカード型周辺機器(プロトコル)の判別、選択を簡単に行うことができ、ネットワークや媒体などを用いる場合に比較してホスト機器10およびカード20の開発、設計、製造に要するコストを削減する上で有利となる。
また、ホスト機器に判別因子を新たに追加するために、ホスト機器をその製造元もしくはサービスセンターに戻すなどの対処を必要とせず有利となる。
また、特定レジスタは、既存の複数のコンフィギュレーションレジスタに含まれるものを用いるため、ホスト機器10およびカード20に新たなハードウェアやソフトウェアを設ける必要がないため、開発、設計、製造に要するコストアップを抑制でき有利となる。
また、ホスト機器に判別因子を新たに追加するために、ホスト機器をその製造元もしくはサービスセンターに戻すなどの対処を必要とせず有利となる。
また、特定レジスタは、既存の複数のコンフィギュレーションレジスタに含まれるものを用いるため、ホスト機器10およびカード20に新たなハードウェアやソフトウェアを設ける必要がないため、開発、設計、製造に要するコストアップを抑制でき有利となる。
なお、本実施の形態では、VPD Capの第1の特定レジスタとVS Capの第2の特定レジスタとの双方にプロトコル識別情報PROをセットする場合について説明したが、VPD Capの第1の特定レジスタあるいはVS Capの第2の特定レジスタの何れか一方のみでプロトコル識別情報PROをセットするのに十分な領域が確保されているのであれば、何れか一方の特定レジスタのみを用いるようにすればよい。
また、本実施の形態では、CSHの領域の他に、VPD Capの領域およびVS Capの領域の双方を設け、CSHの領域にアクセスし、そのリストポインタ(Cap.List.Ptr)の値を参照することで、VPD Capの領域にアクセスし、さらにVPD Capの領域のリストポインタ(Next Pointer)の値を参照することで、VS Capの領域にアクセスするようにした。
しかしながら、CSHの領域にアクセスし、そのリストポインタ(Cap.List.Ptr)の値を参照することで、VS Capの領域にアクセスし、さらに、VS Capの領域のリストポインタ(Next Pointer)の値を参照することで、VPD Capの領域にアクセスするようにしてもよい。
また、CSHの領域の他に、VPD Capの領域あるいはVS Capの領域の何れか一方のみをコンフィギュレーション空間に設けるようにしてもよく、その場合には、CSHの領域のリストポインタ(Cap.List.Ptr)の値を参照することで、VPD Capの領域あるいはVS Capの領域の何れか一方にアクセスすればよい。
また、CSHのリストポインタ(Cap.List.Ptr)には、必ずしもVPD Capの領域のアドレス、あるいは、VS Capの領域のアドレスを設定する必要はなく、コンフィギュレーション空間24のうち、本明細書で説明したCSHの領域、VPD Capの領域、VS Capの3つ領域を除く他の領域のアドレスを設定してもよいことは無論である。
また、本実施の形態では、ホスト機器10がカメラ装置、カード20がメモリカードである場合について説明したが、ホスト機器10はカード20との通信を行うものであればよく、また、カード20はホスト機器10との通信を行うものであればよい。
また、本発明は、特定のプロトコルを判別するためのプロトコル識別情報を、カードに設けられた複数のコンフィギュレーションレジスタのうちの、ベンダが任意にかつ固定的に定めることが許容されたものである特定レジスタに設定することに特徴があるのであり、ホスト機器10とカード20とを接続するバスの種類はPCI Expressバスに限定されるものではなく任意である。
また、本実施の形態では、CSHの領域の他に、VPD Capの領域およびVS Capの領域の双方を設け、CSHの領域にアクセスし、そのリストポインタ(Cap.List.Ptr)の値を参照することで、VPD Capの領域にアクセスし、さらにVPD Capの領域のリストポインタ(Next Pointer)の値を参照することで、VS Capの領域にアクセスするようにした。
しかしながら、CSHの領域にアクセスし、そのリストポインタ(Cap.List.Ptr)の値を参照することで、VS Capの領域にアクセスし、さらに、VS Capの領域のリストポインタ(Next Pointer)の値を参照することで、VPD Capの領域にアクセスするようにしてもよい。
また、CSHの領域の他に、VPD Capの領域あるいはVS Capの領域の何れか一方のみをコンフィギュレーション空間に設けるようにしてもよく、その場合には、CSHの領域のリストポインタ(Cap.List.Ptr)の値を参照することで、VPD Capの領域あるいはVS Capの領域の何れか一方にアクセスすればよい。
また、CSHのリストポインタ(Cap.List.Ptr)には、必ずしもVPD Capの領域のアドレス、あるいは、VS Capの領域のアドレスを設定する必要はなく、コンフィギュレーション空間24のうち、本明細書で説明したCSHの領域、VPD Capの領域、VS Capの3つ領域を除く他の領域のアドレスを設定してもよいことは無論である。
また、本実施の形態では、ホスト機器10がカメラ装置、カード20がメモリカードである場合について説明したが、ホスト機器10はカード20との通信を行うものであればよく、また、カード20はホスト機器10との通信を行うものであればよい。
また、本発明は、特定のプロトコルを判別するためのプロトコル識別情報を、カードに設けられた複数のコンフィギュレーションレジスタのうちの、ベンダが任意にかつ固定的に定めることが許容されたものである特定レジスタに設定することに特徴があるのであり、ホスト機器10とカード20とを接続するバスの種類はPCI Expressバスに限定されるものではなく任意である。
10……ホスト機器、20……カード、R1……第1の特定レジスタ、R2……第2の特定レジスタ、PRO……プロトコル識別情報。
Claims (17)
- ホスト機器に接続されることで前記ホスト機器との間で特定のプロトコルに従って通信を行う通信部と、
前記ホスト機器からアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタと、を有し、
前記複数のコンフィギュレーションレジスタの少なくとも1つは、
それに設定されるデータが、任意にかつ固定的に定めることが許容されたデータであって、前記特定のプロトコルを判別するためのプロトコル識別情報を含む特定レジスタであり、
前記通信部には、
前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、
前記コンフィギュレーション空間は、
少なくとも第1の領域と第2の領域とを含み、
前記第1の領域は、
カードを識別するための識別子と、
前記第2の領域の配置アドレスを示すアドレス情報と、を含み、
前記第2の領域には、
前記特定レジスタが実装可能で、実装される当該特定レジスタに設定されたプロトコル識別情報は、前記第1の領域の前記アドレス情報を基に外部からアクセスされる
カード型周辺装置。 - 上記通信部は、
前記ホスト機器との接続が確立されると、前記コンフィギュレーション空間の前記第1の領域がアクセスされ、前記アドレス情報により前記第2の領域がアクセス可能で、前記第2の領域から前記プロトコル識別情報を読むことにより、プロトコル識別情報が読み取り可能な場合に、当該プロトコル識別情報に基づいて決定された前記特定のプロトコルに従った通信を行う
請求項1記載のカード型周辺装置。 - 前記アドレス情報により前記第2の領域がアクセスできない場合、または前記第2の領域から前記プロトコル識別情報を読むことにより、前記プロトコル識別情報が読み取れない場合には、不明なデバイスとして認識される
請求項2記載のカード型周辺装置。 - 前記通信部は、
PCI Expressバスを含み、
前記コンフィギュレーション空間は、
前記第2の領域として、バイタル プロダクト データ ケーパビリティ ストラクチャ(Vital Product Data Capability Structure)、および、ベンダ スペシフィック ケーパビリティ ストラクチャ(Vendor Specific Capability Structure)のいずれか一方を含む
請求項1から3のいずれか一に記載のカード型周辺装置。 - 前記特定レジスタは、前記特定のプロトコルを判別するためのプロトコル識別情報の一部が設定される
請求項1から4のいずれか一に記載のカード型周辺装置。 - プロトコル識別情報が格納される記憶部を有し、
前記特定レジスタは前記記憶部から読み出された前記プロトコル識別情報の一部が設定される、
請求項1から4のいずれか一に記載のカード型周辺装置。 - 前記カード型周辺装置は、
PCI Expressバスを含み、
前記コンフィギュレーションレジスタおよび前記記憶部の制御を行うPCI Expressデバイスを有する
請求項1から6のいずれか一に記載のカード型周辺装置。 - 前記カード型周辺装置は、
前記ホスト機器によるデータの書き込みおよび読み出しの一方または双方が可能なメモリカードを含む
請求項1から6のいずれか一に記載のカード型周辺装置。 - 通信部によりアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタと、を有し、
前記複数のコンフィギュレーションレジスタの少なくとも1つは、
それに設定されるデータが、任意にかつ固定的に定めることが許容されたデータあって、前記特定のプロトコルを判別するためのプロトコル識別情報を含む特定レジスタであり、
前記通信部には、
前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、
前記コンフィギュレーション空間は、
少なくとも第1の領域と第2の領域とを含み、
前記第1の領域は、
カードを識別するための識別子と、
前記第2の領域の配置アドレスを示すアドレス情報と、を含み、
前記第2の領域には、
前記特定レジスタが実装可能で、実装される当該特定レジスタに設定されたプロトコル識別情報の一部は、前記第1の領域の前記アドレス情報を基に外部からアクセスされる
カード型周辺装置との通信制御を行うコントローラを有し、
前記コントローラは、
前記カード型周辺装置との接続が確立されると、前記コンフィギュレーション空間の前記第1の領域をアクセスし、前記アドレス情報により前記第2の領域がアクセス可能で、前記第2の領域から前記プロトコル識別情報を読むことにより、前記プロトコル識別情報が読み取り可能な場合に、当該プロトコル識別情報に基づいて前記特定のプロトコルを決定し、当該決定した特定のプロトコルに従った通信を行う
ホスト機器。 - 前記コントローラは、
前記アドレス情報により前記第2の領域がアクセスできない場合、または前記第2の領域から前記プロトコル識別情報を読むことにより、前記プロトコル識別情報が読み取れない場合には、不明なデバイスとして認識する
請求項9記載のホスト機器。 - 前記特定レジスタは、前記特定のプロトコルを判別するためのプロトコル識別情報の一部が設定される
請求項9または10記載のホスト機器。 - PCI Expressバスを含み、
前記コンフィギュレーションレジスタおよび前記記憶部の制御を行うPCI Expressデバイスを有する
請求項9から11のいずれか一に記載のホスト機器。 - カード型周辺装置と、
接続される前記カード型周辺装置との間で特定のプロトコルに従って通信を行うホスト機器と、を有し、
前記カード型周辺装置は、
ホスト機器に接続されることで前記ホスト機器との間で特定のプロトコルに従って通信を行う通信部と、
前記ホスト機器からアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタと、を有し、
前記複数のコンフィギュレーションレジスタの少なくとも1つは、
それに設定されるデータが、任意にかつ固定的に定めることが許容されたデータあって、前記特定のプロトコルを判別するためのプロトコル識別情報を含む特定レジスタであり、
前記通信部には、
前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が形成され、
前記コンフィギュレーション空間は、
少なくとも第1の領域と第2の領域とを含み、
前記第1の領域は、
カードを識別するための識別子と、
前記第2の領域の配置アドレスを示すアドレス情報と、を含み、
前記第2の領域には、
前記特定レジスタが実装可能で、実装される当該特定レジスタに設定されたプロトコル識別情報の一部は、前記第1の領域の前記アドレス情報を基に外部からアクセスされる
カード通信システム。 - 前記ホスト機器は、
前記カード型周辺装置との接続が確立されると、前記コンフィギュレーション空間の前記第1の領域をアクセスし、前記アドレス情報により前記第2の領域がアクセス可能で、前記第2の領域から前記プロトコル識別情報を読むことにより、前記プロトコル識別情報が読み取り可能な場合に、当該プロトコル識別情報に基づいて前記特定のプロトコルを決定し、当該決定した特定のプロトコルに従った通信を行う
請求項13記載のカード通信システム。 - 前記ホスト機器は、
前記アドレス情報により前記第2の領域がアクセスできない場合、または前記第2の領域から前記プロトコル識別情報を読むことにより、前記プロトコル識別情報が読み取れない場合には、不明なデバイスとして認識する
請求項14記載のカード通信システム。 - 前記特定レジスタは、前記特定のプロトコルを判別するためのプロトコル識別情報の一部が設定される
請求項14または15記載のカード通信システム。 - 前記通信部は、
PCI Expressバスを含み、
前記コンフィギュレーション空間は、
前記第1の領域として、コンフィギュレーション スペース ヘッダ(Configuration Space Header)を含み、
前記第2の領域として、バイタル プロダクト データ ケーパビリティ ストラクチャ(Vital Product Data Capability Structure)、および、ベンダ スペシフィック ケーパビリティ ストラクチャ(Vendor Specific Capability Structure)のいずれか一方を含む
請求項13から16のいずれか一に記載のカード通信システム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006183802A JP4626582B2 (ja) | 2006-07-03 | 2006-07-03 | カード型周辺機器およびカード通信システム |
US11/825,120 US7865628B2 (en) | 2006-07-03 | 2007-07-02 | PCI express card type peripheral apparatus and host apparatus for accessing parts of protocol ID information stored in storage unit one part after another |
CN2007101272253A CN101101584B (zh) | 2006-07-03 | 2007-07-03 | 卡式外围装置和主机装置 |
CN2010105348840A CN101996152A (zh) | 2006-07-03 | 2007-07-03 | 卡式外围装置和通信系统 |
US12/949,037 US8073987B2 (en) | 2006-07-03 | 2010-11-18 | PCI express card type peripheral apparatus and host apparatus for accessing parts of protocol ID information stored in storage unit one part after another |
US13/283,876 US8271696B2 (en) | 2006-07-03 | 2011-10-28 | Card type peripheral apparatus and host apparatus for accessing respective parts of stored protocol ID information one part after another |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006183802A JP4626582B2 (ja) | 2006-07-03 | 2006-07-03 | カード型周辺機器およびカード通信システム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010163395A Division JP5077397B2 (ja) | 2010-07-20 | 2010-07-20 | カード型周辺機器のアクセス方法、ホスト機器、およびカード通信方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008015629A JP2008015629A (ja) | 2008-01-24 |
JP2008015629A5 true JP2008015629A5 (ja) | 2010-04-22 |
JP4626582B2 JP4626582B2 (ja) | 2011-02-09 |
Family
ID=38972696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006183802A Active JP4626582B2 (ja) | 2006-07-03 | 2006-07-03 | カード型周辺機器およびカード通信システム |
Country Status (3)
Country | Link |
---|---|
US (3) | US7865628B2 (ja) |
JP (1) | JP4626582B2 (ja) |
CN (2) | CN101996152A (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336387B2 (en) * | 2007-07-30 | 2016-05-10 | Stroz Friedberg, Inc. | System, method, and computer program product for detecting access to a memory device |
US7743189B2 (en) * | 2008-05-05 | 2010-06-22 | International Business Machines Corporation | PCI function south-side data management |
JP2011076491A (ja) * | 2009-09-30 | 2011-04-14 | Toshiba Corp | 電子機器及びアプリケーション実行方法 |
JP5372049B2 (ja) * | 2011-02-04 | 2013-12-18 | 株式会社東芝 | メモリシステム |
WO2013058730A1 (en) * | 2011-10-17 | 2013-04-25 | Intel Corporation | Interchangeable power and signal contacts for io connectors |
US8645600B2 (en) | 2011-11-10 | 2014-02-04 | International Business Machines Corporation | Configuring expansion component interconnect (‘ECI’) physical functions on an ECI device in a computing system |
US9298658B2 (en) * | 2013-02-26 | 2016-03-29 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Using PCI-E extended configuration space to send IOCTLS to a PCI-E adapter |
US9619424B2 (en) * | 2013-10-09 | 2017-04-11 | Qualcomm Incorporated | Supporting unrecognized protocol in wireless docking |
US10089129B2 (en) * | 2014-06-30 | 2018-10-02 | International Business Machines Corporation | Supporting flexible deployment and migration of virtual servers via unique function identifiers |
US9804989B2 (en) * | 2014-07-25 | 2017-10-31 | Micron Technology, Inc. | Systems, devices, and methods for selective communication through an electrical connector |
CN104965677B (zh) * | 2015-06-26 | 2018-04-13 | 北京百度网讯科技有限公司 | 存储系统 |
CN106909198B (zh) * | 2015-12-22 | 2020-11-06 | 华硕电脑股份有限公司 | 一种外接装置、电子装置及电子系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11120120A (ja) * | 1997-10-13 | 1999-04-30 | Fujitsu Ltd | カードバス用インターフェース回路及びそれを有するカードバス用pcカード |
EP1066592A2 (en) * | 1998-03-26 | 2001-01-10 | Gemplus | Versatile interface smart card |
US7058064B2 (en) * | 2000-02-08 | 2006-06-06 | Mips Technologies, Inc. | Queueing system for processors in packet routing operations |
JP2002033786A (ja) * | 2000-07-18 | 2002-01-31 | Sony Corp | 情報処理装置及び方法、媒体 |
US7318146B2 (en) * | 2001-06-19 | 2008-01-08 | Micron Technology, Inc. | Peripheral device with hardware linked list |
US6823418B2 (en) * | 2001-06-29 | 2004-11-23 | Intel Corporation | Virtual PCI device apparatus and method |
JP2003046511A (ja) * | 2001-08-01 | 2003-02-14 | Canon Inc | 情報処理装置と情報処理方法、及び情報処理システム、並びに記憶媒体 |
US6941405B2 (en) * | 2001-08-21 | 2005-09-06 | 02Micro International Limited | System and method capable of offloading converter/controller-specific tasks to a system microprocessor |
US7082522B2 (en) * | 2002-07-09 | 2006-07-25 | Lsi Logic Corporation | Method and/or apparatus for implementing enhanced device identification |
US7103743B2 (en) * | 2002-08-23 | 2006-09-05 | Intel Corporation | System and method of accessing vital product data |
CN100353347C (zh) * | 2002-11-25 | 2007-12-05 | 杭州士兰微电子股份有限公司 | 一种实现pci多功能卡的方法 |
JP2004229038A (ja) * | 2003-01-24 | 2004-08-12 | Toshiba Corp | 電子機器及び通信プロトコル選択方法 |
US20040164170A1 (en) * | 2003-02-25 | 2004-08-26 | Marcelo Krygier | Multi-protocol memory card |
US20080071963A1 (en) * | 2003-11-22 | 2008-03-20 | Super Talent Electronics Inc. | Express card with extended USB interface |
US20050138288A1 (en) * | 2003-12-23 | 2005-06-23 | Horng-Yee Chou | Dual mode USB and PCI express device |
JP2005275909A (ja) | 2004-03-25 | 2005-10-06 | Nec Corp | Pciカード、pci制御方法、pci制御プログラム、情報処理システム |
US20050251609A1 (en) * | 2004-05-04 | 2005-11-10 | Horng-Yee Chou | Removable peripheral device |
JP2006155183A (ja) | 2004-11-29 | 2006-06-15 | Toshiba Corp | 情報処理装置 |
US7222211B2 (en) * | 2005-03-14 | 2007-05-22 | Phison Electronics Corporation | Virtual USB flash memory storage device with PCI express interface |
-
2006
- 2006-07-03 JP JP2006183802A patent/JP4626582B2/ja active Active
-
2007
- 2007-07-02 US US11/825,120 patent/US7865628B2/en active Active
- 2007-07-03 CN CN2010105348840A patent/CN101996152A/zh active Pending
- 2007-07-03 CN CN2007101272253A patent/CN101101584B/zh active Active
-
2010
- 2010-11-18 US US12/949,037 patent/US8073987B2/en active Active
-
2011
- 2011-10-28 US US13/283,876 patent/US8271696B2/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4626582B2 (ja) | カード型周辺機器およびカード通信システム | |
JP2008015629A5 (ja) | ||
US6851018B2 (en) | Exchanging operation parameters between a data storage device and a controller | |
US7177975B2 (en) | Card system with erase tagging hierarchy and group based write protection | |
US7412558B2 (en) | Semiconductor storage device | |
US7007127B2 (en) | Method and related apparatus for controlling transmission interface between an external device and a computer system | |
JP3806077B2 (ja) | メモリカード認識システム、容量切り替え型メモリカード・ホスト機器、容量切り替え型メモリカード、記憶容量設定方法及び記憶容量設定プログラム | |
US6779052B2 (en) | Electronic apparatus, system and method for controlling communication among devices coupled through different interfaces | |
US11829289B2 (en) | Flash memory controller, SD card device, method used in flash memory controller, and host device coupled to SD card device | |
KR100921852B1 (ko) | 전자 장치, 정보 처리 장치, 어댑터 장치 및 정보 교환 시스템 | |
CN108701080B (zh) | 使用参考值确保存储设备动作有效 | |
US20080114935A1 (en) | Memory Card System and Method Transmitting Host Identification Information Thereof | |
US20110004719A1 (en) | Memory Element | |
JP5077397B2 (ja) | カード型周辺機器のアクセス方法、ホスト機器、およびカード通信方法 | |
US20080301355A1 (en) | Flash memory information reading/writing method and storage device using the same | |
US20070022222A1 (en) | Memory device and associated method | |
US8595418B2 (en) | Memory configuring method, memory controller and memory storage apparatus | |
US8595417B2 (en) | Memory configuring method, memory controller and memory storage apparatus | |
US20090113154A1 (en) | Non-Volatile Memory Apparatus and Method of Accessing the Same | |
JPH07141479A (ja) | Icメモリカードおよびそのicメモリカードを使用したファイル管理システム | |
US20240070105A1 (en) | Method for reading information from riser cards and baseboard management control module implementing the same | |
JP5786702B2 (ja) | セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム | |
JP2008123450A (ja) | 記録媒体及びメモリアクセス可能な電子機器 | |
JP2001022680A (ja) | コンピュータ周辺機器 |