JP2008015629A - カード型周辺機器およびホスト機器 - Google Patents
カード型周辺機器およびホスト機器 Download PDFInfo
- Publication number
- JP2008015629A JP2008015629A JP2006183802A JP2006183802A JP2008015629A JP 2008015629 A JP2008015629 A JP 2008015629A JP 2006183802 A JP2006183802 A JP 2006183802A JP 2006183802 A JP2006183802 A JP 2006183802A JP 2008015629 A JP2008015629 A JP 2008015629A
- Authority
- JP
- Japan
- Prior art keywords
- card
- host device
- type peripheral
- peripheral device
- configuration
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
【解決手段】ホスト機器10のホストコントローラ16はカードスロットを有し、通信路2を介してカード20との間で通信を行うものである。カード20のコンフィギュレーション空間24は、CSH、VPD Cap、VS Capの3つの領域を含んでいる。VPD Capには、第1の特定レジスタR1が実装され、第1の特定レジスタR1に設定されるデータはカード20を製造または販売するベンダが任意にかつ固定的に定めることが許容されものであり、ホスト機器10がカード20と通信する際のプロトコルを判別、決定するためのプロトコル識別情報を含む。
【選択図】図1
Description
このようなPCカードとして、PCIバスを介して通信を行うPCIカード、PCIバスよりもデータの転送速度の高速化が図られたPCI Expressバスを介して通信を行うPCI Expressカードなどが知られている(特許文献1、2参照)。
例えば、PCI Expressカードは、物理的、電気的、論理的に規格化され、その規格上でメーカー、デバイス独自の多種多様の制御プロトコルを有している。
ExpressCard規格においては、カード側の形状のみならず、ホスト機器のスロット部、コネクタ部も規格の一部であるため、ExpressCard規格に準ずるならばあらゆるExpressCardがホスト機器に対して物理的に接続可能である。
また、ExpressCard規格が包含するPCI Expressインターフェースも、電気的、論理的に規格化されているため、PCI Express規格に準ずるならばホスト機器に対して電気的、論理的に接続可能である。
その一方で、ホスト機器とカードとが通信を行う際に用いる制御プロトコルは規格化されておらず、制御プロトコルの仕様はメーカー、デバイスにより多種多様となっているのが現状である。
同じ制御プロトコルを持つカードが異なるメーカーにより異なるデバイスで新たに製造された場合に、ホスト機器とカードとの接続性を持つためには、言い換えると、ホスト機器がそれらのカードと接続して支障なく通信を行うためには、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することで対応してきた。
Personal Computer(PC)システムでは上記対応が一般的で、ネットワークや媒体を介してカードに対応したデバイスドライバを当該ホスト機器(PCシステム)に追加し、更新することで、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することが可能である。
その理由は、そのホスト機器が、第2のカードを、当該ホスト機器が保有する制御プロトコルで制御できるカードであると判別できないからである。また、そのようなホスト機器はネットワークや媒体などを介してデバイスドライバを追加し、更新することで、ホスト機器側に新規カードメーカー及びデバイスの情報を判別因子として追加することができないため、デバイスドライバを追加し、更新するためには、ホスト機器を、その製造元もしくはサービスセンターに戻す、などの対処が必要になり、その電子機器を使用する際の緊急度によっては重大な問題となる。
本発明はこのような事情に鑑みなされたもので、その目的は、ネットワークや媒体などを用いることなく、ホスト機器によるカード型周辺機器のプロトコルの判別を簡単に行う上で有利なカード型周辺機器およびホスト機器を提供することにある。
また本発明は、複数のコンフィギュレーションレジスタを備えたカード型周辺機器との間で特定のプロトコルに従って通信を行い、前記複数のコンフィギュレーションレジスタの少なくとも1つはそれに設定されるデータが前記カード型周辺機器の製造または販売を行うベンダにより任意にかつ固定的に定めることが許容された特定レジスタであるホスト機器であって、前記複数のコンフィギュレーションレジスタに対してアクセスすることにより前記特定レジスタに設定されている前記特定のプロトコルを判別するためのプロトコル識別情報を読み取る読み取り部と、前記読み取り部によって読み取られた前記プロトコル識別情報に基づいて前記カード型周辺機器との間で行うプロトコルを決定して前記カード型周辺機器との間で通信を行う通信制御部とを備えることを特徴とする。
図1はホスト機器およびカード型周辺機器の機能ブロック図である。
本実施の形態では、ホスト機器10は被写体像を撮像して画像データを生成するカメラ装置であり、カード20(カード型周辺機器)はホスト機器10に接続され前記画像データが記録されるメモリカードである場合について説明する。
ホスト機器10は、機能的には、上位レイヤー12、ホストメモリ14、ホストコントローラ16を含んで構成されている。
上位レイヤー12は、画像データを生成するためのハードウェア、それらハードウェアを制御するソフトウェア(アプリケーション)などで構成されている。
ホストメモリ14は、種々のデータを格納するメモリであり、前記ソフトウェアを格納するメモリ、ワーキングメモリ、実データを格納するメモリなどを含んで構成されている。
ホストコントローラ16は、CPU、DMA、通信I/Fなどのハードウェア、CPUにより実行されるソフトウェアなどで構成され、PCI Expressカード規格に準じたカードスロット(不図示)を有し、PCI Expressバスを構成する通信路2を介してカード20との間で通信を行うものである。
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の仕様は、物理仕様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には複数の領域が設定されている。
複数のデータ領域は、図3に示すConfiguration Space Header(以下CSHという)、図4に示すVital Product Capability Structure(以下VPD Capという)、図5に示すVendor Specific Capability Structure(以下VS Capという)の3つの領域を含んでいる。なお、コンフィギュレーション空間24の上記3つの領域を除く領域は本発明に直接関連しないので説明を割愛する。
なお、PCI Express規格(PCI規格)によれば、CSHの領域は必ず設けなければならない領域であり、VPD Capの領域およびVS Capの領域を設けるか否かはベンダの任意とされている。
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)の識別を行う。
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 Pointeは後述する。
IDは、VPD Capを特定する識別子であり、その値が03hであることを示す。
VPD Dataは、不揮発性メモリ28から読み出され第1の特定レジスタR1にセットされたデータである。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を製造または販売するベンダにより任意にかつ固定的に定めることが許容されたものであり、プロトコル識別情報を含む。
図3に示すように、CSHには、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ(Cap.List.Ptr)が設けられており、本実施の形態では、ホスト機器10は、このリストポインタの値(アドレスデータ)を参照することで、VPD Capの領域にアクセスするように構成されている。
図4に示すように、VPD Capにも、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ(Next Pointer)が設けられており、本実施の形態では、ホスト機器10は、このリストポインタの値を参照することで、VS Capの領域にアクセスするように構成されている。
図5に示すように、VS Capにも、次にアクセスすべきコンフィギュレーション空間のアドレスを示すリストポインタ(Next Pointer)が設けられており、ホスト機器10は、このリストポインタの値を参照することで、他の領域にアクセスするように構成されている。
次いで、領域Xのリストポインタが5Chを示しているので、アドレス5Chの領域Yにアクセスする。
次いで、領域YのリストポインタがE0hを示しているので、アドレスE0hの領域Zにアクセスする。
ここで、領域Zのリストポインタが00hを示しているので、アクセスすべき領域はこの領域Zで完了したと判断してそれ以上のアクセスを行わない。
すなわち、リストポインタが00hとなるまで各領域のリストポインタにしたがって順次次の領域にアクセスすることになる。
このようなコンフィギュレーション空間に割り当てられた複数の領域(レジスタ)に対するアクセス方法は、PCI Express規格(PCI規格)によって定められているものである。
図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(B)、図8に示すように、アドレス00hのデータのうち「82h」はVPD Dataの開始を示し、「001dh」はそれに続いて29バイトの文字列が存在することを示している。そして、「41h」以降29バイトの文字列データが格納されている。30バイト目の「90h」はVPD−R領域の開始を示す。
なお、上記「90h」以降には、本発明では使用しないが、規格上必要なデータが収容されている。
なお、初期状態では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のデータ量も任意である。
図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を読み出すためのデータなどが全てセットされるように構成されている。
すなわち、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による識別動作の第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)、不明なデバイスを検出した旨を報知するなどの所定の処理を実行する。
第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の具体例では、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およびカード20に新たなハードウェアやソフトウェアを設ける必要がないため、開発、設計、製造に要するコストアップを抑制でき有利となる。
また、本実施の形態では、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バスに限定されるものではなく任意である。
Claims (14)
- ホスト機器に接続されることで前記ホスト機器との間で特定のプロトコルに従って通信を行い、
前記ホスト機器からアクセス可能で各種設定情報が設定される複数のコンフィギュレーションレジスタが設けられ、
前記複数のコンフィギュレーションレジスタの少なくとも1つは、それに設定されるデータが前記カード型周辺機器を製造または販売するベンダにより任意にかつ固定的に定めることが許容されたものである特定レジスタであるカード型周辺機器であって、
前記特定のプロトコルを判別するためのプロトコル識別情報が、前記特定レジスタに設定される、
ことを特徴とするカード型周辺機器。 - 前記プロトコル識別情報が格納された記憶部を有し、
前記特定レジスタは前記記憶部から読み出された前記プロトコル識別情報が設定される、
ことを特徴とする請求項1記載のカード型周辺機器。 - 前記ホスト機器と前記カード型周辺機器はPCI Expressバスを介して通信可能に接続され、
前記PCI Expressバスには前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が設けられ、
前記コンフィギュレーション空間には、Configuration Space Header、Vital Product Data Capability Structureの2つの領域が含まれており、
前記特定レジスタは、前記Vital Product Data Capability Structureの領域に実装されている、
ことを特徴とする請求項1記載のカード型周辺機器。 - 前記ホスト機器と前記カード型周辺機器はPCI Expressバスを介して通信可能に接続され、
前記PCI Expressバスには前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が設けられ、
前記コンフィギュレーション空間には、Configuration Space Header、Vendor Specific Capability Structureの2つの領域が含まれており、
前記特定レジスタは、前記Vendor Specific Capability Structureの領域に実装されている、
ことを特徴とする請求項1記載のカード型周辺機器。 - 前記ホスト機器と前記カード型周辺機器はPCI Expressバスを介して通信可能に接続され、
前記PCI Expressバスには前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が設けられ、
前記コンフィギュレーション空間には、Configuration Space Header、Vital Product Data Capability Structure、Vendor Specific Capability Structureの3つの領域が含まれており、
前記特定レジスタは、前記Vital Product Data Capability Structureの領域および前記Vendor Specific Capability Structureの領域の双方に実装されている、
ことを特徴とする請求項1記載のカード型周辺機器。 - 前記カード型周辺機器はPCI Expressカードであり、
前記コンフィギュレーションレジスタおよび前記記憶部の制御を行うPCI Expressデバイスが設けられている、
ことを特徴とする請求項3、4または5記載のカード型周辺機器。 - 前記カード型周辺機器は前記ホスト機器によるデータの書き込みおよび読み出しの一方または双方が可能なメモリカードである、
ことを特徴とする請求項1記載のカード型周辺機器。 - 複数のコンフィギュレーションレジスタを備えたカード型周辺機器との間で特定のプロトコルに従って通信を行い、前記複数のコンフィギュレーションレジスタの少なくとも1つはそれに設定されるデータが前記カード型周辺機器の製造または販売を行うベンダにより任意にかつ固定的に定めることが許容された特定レジスタであるホスト機器であって、
前記複数のコンフィギュレーションレジスタに対してアクセスすることにより前記特定レジスタに設定されている前記特定のプロトコルを判別するためのプロトコル識別情報を読み取る読み取り部と、
前記読み取り部によって読み取られた前記プロトコル識別情報に基づいて前記カード型周辺機器との間で行うプロトコルを決定して前記カード型周辺機器との間で通信を行う通信制御部と、
を備えることを特徴とするホスト機器。 - 前記読み取り部による前記複数のコンフィギュレーションレジスタに対するアクセスを行った場合に、前記特定レジスタの読み取りが不能であったときに、前記通信制御部は前記カード型周辺機器との間での通信が不能であると判定すること、
を特徴とする請求項8記載のホスト機器。 - 前記ホスト機器と前記カード型周辺機器はPCI Expressバスを介して通信可能に接続され、
前記PCI Expressバスには前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が設けられ、
前記コンフィギュレーション空間には、Configuration Space Header、Vital Product Data Capability Structureの2つの領域が含まれており、
前記特定レジスタは、前記Vital Product Data Capability Structureの領域に実装されている、
ことを特徴とする請求項8記載のホスト機器。 - 前記ホスト機器と前記カード型周辺機器はPCI Expressバスを介して通信可能に接続され、
前記PCI Expressバスには前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が設けられ、
前記コンフィギュレーション空間には、Configuration Space Header、Vendor Specific Capability Structureの2つの領域が含まれており、
前記特定レジスタは、前記Vendor Specific Capability Structureの領域に実装されている、
ことを特徴とする請求項8記載のホスト機器。 - 前記ホスト機器と前記カード型周辺機器はPCI Expressバスを介して通信可能に接続され、
前記PCI Expressバスには前記複数のコンフィギュレーションレジスタが実装されたアドレス空間としてのコンフィギュレーション空間が設けられ、
前記コンフィギュレーション空間には、Configuration Space Header、Vital Product Data Capability Structure、Vendor Specific Capability Structureの3つの領域が含まれており、
前記特定レジスタは、前記Vital Product Data Capability Structureの領域および前記Vendor Specific Capability Structureの領域の双方に実装されている、
ことを特徴とする請求項8記載のホスト機器。 - 前記ホスト機器による前記Vital Product Data Capability Structureの領域、または、前記Vital Product Data Capability Structureの領域に対するアクセスは、前記Configuration Space Headerの領域に設けられているポインタにセットされているアドレスデータに基づいてなされる、
ことを特徴とする請求項12記載のホスト機器。 - 前記ホスト機器による前記Vital Product Data Capability Structureの領域、および、前記Vital Product Data Capability Structureの領域の何れか一方の領域に対するアクセスは、残りの他方の領域に設けられているポインタにセットされているアドレスデータに基づいてなされる、
ことを特徴とする請求項12記載のホスト機器。
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 true JP2008015629A (ja) | 2008-01-24 |
JP2008015629A5 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) | CN101101584B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011076491A (ja) * | 2009-09-30 | 2011-04-14 | Toshiba Corp | 電子機器及びアプリケーション実行方法 |
JP2012178129A (ja) * | 2011-02-04 | 2012-09-13 | Toshiba Corp | メモリシステム |
JP2014534509A (ja) * | 2011-10-17 | 2014-12-18 | インテル コーポレイション | 接続を行うためのシステム、ioコネクタアセンブリ及び記憶媒体 |
Families Citing this family (9)
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 |
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 | 华硕电脑股份有限公司 | 一种外接装置、电子装置及电子系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002033786A (ja) * | 2000-07-18 | 2002-01-31 | Sony Corp | 情報処理装置及び方法、媒体 |
JP2004229038A (ja) * | 2003-01-24 | 2004-08-12 | Toshiba Corp | 電子機器及び通信プロトコル選択方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11120120A (ja) * | 1997-10-13 | 1999-04-30 | Fujitsu Ltd | カードバス用インターフェース回路及びそれを有するカードバス用pcカード |
WO1999049415A2 (en) * | 1998-03-26 | 1999-09-30 | Gemplus | Versatile interface smart card |
US7058064B2 (en) * | 2000-02-08 | 2006-06-06 | Mips Technologies, Inc. | Queueing system for processors in packet routing operations |
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多功能卡的方法 |
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 CN2007101272253A patent/CN101101584B/zh active Active
- 2007-07-03 CN CN2010105348840A patent/CN101996152A/zh active Pending
-
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
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002033786A (ja) * | 2000-07-18 | 2002-01-31 | Sony Corp | 情報処理装置及び方法、媒体 |
JP2004229038A (ja) * | 2003-01-24 | 2004-08-12 | Toshiba Corp | 電子機器及び通信プロトコル選択方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011076491A (ja) * | 2009-09-30 | 2011-04-14 | Toshiba Corp | 電子機器及びアプリケーション実行方法 |
JP2012178129A (ja) * | 2011-02-04 | 2012-09-13 | Toshiba Corp | メモリシステム |
JP2014534509A (ja) * | 2011-10-17 | 2014-12-18 | インテル コーポレイション | 接続を行うためのシステム、ioコネクタアセンブリ及び記憶媒体 |
US10089270B2 (en) | 2011-10-17 | 2018-10-02 | Intel Corporation | Interchangeable power and signal contacts for IO connectors |
Also Published As
Publication number | Publication date |
---|---|
JP4626582B2 (ja) | 2011-02-09 |
US20110078338A1 (en) | 2011-03-31 |
CN101101584B (zh) | 2010-12-29 |
CN101996152A (zh) | 2011-03-30 |
US8271696B2 (en) | 2012-09-18 |
US7865628B2 (en) | 2011-01-04 |
US20120047290A1 (en) | 2012-02-23 |
US8073987B2 (en) | 2011-12-06 |
US20080022018A1 (en) | 2008-01-24 |
CN101101584A (zh) | 2008-01-09 |
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 | |
US7007127B2 (en) | Method and related apparatus for controlling transmission interface between an external device and a computer system | |
US7412558B2 (en) | Semiconductor storage device | |
US8135871B2 (en) | Computer system and control method of the same | |
US6779052B2 (en) | Electronic apparatus, system and method for controlling communication among devices coupled through different interfaces | |
EP1403814B1 (en) | Electronic apparatus, information processing apparatus, adapter apparatus, and information exchange system | |
US20110004719A1 (en) | Memory Element | |
US20070022222A1 (en) | Memory device and associated method | |
JP4622770B2 (ja) | 通信システム、情報処理装置、周辺装置、及び通信方法 | |
JP5077397B2 (ja) | カード型周辺機器のアクセス方法、ホスト機器、およびカード通信方法 | |
US20080301355A1 (en) | Flash memory information reading/writing method and storage device using the same | |
US8595418B2 (en) | Memory configuring method, memory controller and memory storage apparatus | |
JPWO2006006388A1 (ja) | ホスト機器、記憶装置、及び記憶装置へのアクセス方法 | |
US8595417B2 (en) | Memory configuring method, memory controller and memory storage apparatus | |
US20090113154A1 (en) | Non-Volatile Memory Apparatus and Method of Accessing the Same | |
US20240070105A1 (en) | Method for reading information from riser cards and baseboard management control module implementing the same | |
JP2008123450A (ja) | 記録媒体及びメモリアクセス可能な電子機器 | |
JP2006031234A (ja) | 情報処理装置、外部装置、ホスト装置、及び通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090623 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090623 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090807 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091015 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100305 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20100305 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20100312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100518 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100720 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101012 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101025 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4626582 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |