説明

マルチファンクション・カード・システム、マルチファンクション・カード、およびその制御方法

【課題】PCI(PCI-Express)カード等のPCカードにおいて、シングルファンクション対応IPコアを使用してマルチファンクション機能を実現する。
【解決手段】PCIカード10には、シングルファンクション対応のハードウェア機能(HW機能#0,#1)を配置する。また、コンピュータ20のTCP/IPスタック21側にPCIカード10上のHW機能#0,#2のそれぞれに対応した個別のデバイス・ドライバ機能#0,#1を配置する。そして、個別のデバイス・ドライバ機能#0,#1とPCIカード10との間にマルチファンクション対応ドライバ31を配置し、このマルチファンクション対応ドライバ31により、TCP/IPスタック21側の個別のデバイス・ドライバ機能#0,#1からPCIカード10のハードウェア機能#0,#1のそれぞれを独立して操作できるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パーソナルコンピュータ等のPCカードスロットに装着して使用されるPCカード(拡張カード)において、シングルファンクション対応のIPコアを使用してシングルファンクション対応のハードウェア機能(HW機)を構成すると共に、ソフトウェア対応によりマルチファンクション機能を実現することができる、マルチファンクション・カード・システム、マルチファンクション・カード、およびその制御方法に関する。
【背景技術】
【0002】
ノート型パーソナルコンピュータ等に備えられた、数少ないPCカードスロットを有効に利用するため、シングルファンクションの各機能を一枚のPCカードに統合したマルチファンクション・カードが提供されている(例えば、特許文献1、特許文献2、および特許文献3を参照)。
【0003】
また、PCI(Peripheral Component Interconnect)の後継プロトコルとして、高速のシリアル通信を実現するPCI−Expressが使用されるようになり、Windows(登録商標)等のオペレーティングシステム(OS)においても、PCI−Expressに対応できるようになってきている。
【0004】
ところで、PCI(PCI−Express)のマルチファンクション・カードを実現する場合、ハードウェア側で対応、すなわち、マルチファンクション対応IPコアを使用してハードウェア機能(HW機能)を構成し、PCIアドレス空間、コンフィグ空間をそれぞれ個別に持つように構成されている。なお、ここで、IPコア(Intellectual Property Core)とは、FPGA(Field Programmable Gate Array)やLSI等を構成するための部分的な回路情報であり、特に機能単位でまとめられているものを指すものである。
【0005】
例えば、図3は、マルチファンクション・カードおよびマルチファンクション・カードを用いたマルチファンクション・カード・システムの構成を示す図である。図3に示す例は、ネットワーク通信のためのハードウェア機能#0,#1(入出力用のポート#0,#1)を2つ搭載するPCI(PCI-Express)カード10Bを使用する例である。
【0006】
このPCI(PCI-Express)カード10Bを構成する場合、PCI(PCI-Express)カード10B側にマルチファンクション対応のPCI_IPコア(PCI用のIPコア)12を実装して、ハードウェア上でマルチファンクション機能を実現する。すなわち、マルチファンクション対応IPコア12を用いて構成されるハードウェア機能(HW機能)#0,#1と、オペレーティングシステム(OS)側のTCP・IPスタック21のデバイス・ドライバ機能#0,#1と、が1対1の関係を持つように構成する。
【0007】
しかしながら、マルチファンクション対応のIPコアを使用してハードウェア機能(HW機能)を構成する場合、マルチファンクション対応のIPコアはリソース(ゲート面積)占有率が高いため、ユーザが利用可能なリソース(ゲート面積)が減ってしまうという問題がある。また、マルチファンクション対応IPコアは、シングルファンクションのみ対応のIPコアに比べて、価格が高いという問題もある。なお、IPコアを内蔵しているFPGAも存在しているが、マルチファンクションには利用できず、また、より多くの機能を実装したい場合は、対応したIPコアが存在しないという問題もある。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2003−330875号公報
【特許文献2】特開2006−065560号公報
【特許文献3】特開平11−102338号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述したように、PCI(PCI-Express)のマルチファンクション・カードを実現する場合、マルチファンクション対応PCI_IPコアを使用してハードウェア機能(HW機能)を構成しているが、このマルチファンクション対応のIPコアはリソース(ゲート面積)占有率が高いため、ユーザが利用可能なリソース(ゲート面積)が減ってしまうという問題があった。また、マルチファンクション対応IPコアは、シングルファンクションのみ対応のIPコアに比べて、価格が高いという問題があった。
【0010】
本発明は、このような事情に鑑みなされたものであり、本発明の目的は、PCI(PCI-Express)カード等のPCカードにおいて、ハードウェアで対応していたマルチファンクション機能を、シングルファンクション対応のハードウェア機能とソフトウェア(デバイス・ドライバ機能)とを使用して実現することができる、マルチファンクション・カード・システム、マルチファンクション・カード、およびその制御方法を提供することにある。
【課題を解決するための手段】
【0011】
上記目的を達成するために、本発明は、シングルファンクション対応のハードウェア機能が複数搭載されるPCカードと、前記PCカードが装着されるコンピュータのTCP/IPスタック側に前記ハードウェア機能のそれぞれに対応して配置される個別のデバイス・ドライバ機能と、前記個別のデバイス・ドライバ機能と前記PCカードとの間に配置され、前記TCP/IPスタック側の前記個別のデバイス・ドライバ機能により前記PCカードのハードウェア機能のそれぞれを独立して操作すると共に、前記TCP/IPスタックに対して、前記PCカードをマルチファンクション・カードとして認識させるマルチファンクション対応ドライバと、を備えることを特徴とするマルチファンクション・カード・システムである。
【0012】
また本発明は、シングルファンクション対応のハードウェア機能が複数搭載されるPCカードと、前記PCカードが装着されるコンピュータのTCP/IPスタック側に前記ハードウェア機能のそれぞれに対応して配置される個別のデバイス・ドライバ機能と、を備えた、マルチファンクション・カード・システムにおける制御方法であって、前記マルチファンクション・カード・システムの前記個別のデバイス・ドライバ機能と前記PCカードとの間に配置されたマルチファンクション対応ドライバが、前記TCP/IPスタック側の前記個別のデバイス・ドライバ機能により前記PCカードのハードウェア機能のそれぞれを独立して操作すると共に、前記TCP/IPスタックに対して、前記PCカードをマルチファンクション・カードとして認識させることを特徴とする制御方法である。
【発明の効果】
【0013】
本発明の本発明のマルチファンクション・カード・システム、マルチファンクション・カード、およびマルチファンクション・カードの実現方法においては、PCカードにおいて、マルチファンクション対応のハードウェアで構成していたマルチファンクション機能を、シングルファンクション対応のハードウェア機能とソフトウェア(マルチファンクション対応ドライバ)を使用して実現することができる。これにより、マルチファンクション未対応のハードウェアでもソフトウェア(マルチファンクション対応ドライバ)の対応によって、マルチファンクション・カードを実現することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施の形態に係るマルチファンクション・カードおよびマルチファンクション・カード・システムの構成を示す図である。
【図2】本発明の第2の実施の形態に係るマルチファンクション・カードおよびマルチファンクション・カード・システムの構成を示す図である。
【図3】マルチファンクション・カードおよびマルチファンクション・カード・システムの構成を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態を添付図面を参照して説明する。
【0016】
[第1の実施の形態の構成の説明]
図1は、本発明の第1の実施の形態に係るマルチファンクション・カードと、このマルチファンクション・カードを用いたマルチファンクション・カード・システムの構成を示す図である。図1(A)は、本発明によるマルチファンクション・カーとマルチファンクション・カード・システムの構成を示しており、コンピュータ20に装着されるPCカードが、ネットワーク通信のための入出力用のポートを2つ搭載するPCI(PCI-Express)カード10の例である。また、図1(B)は、前述の図3に示した従来のマルチファンクション・カードとマルチファンクション・カード・システムの例であり、従来のマルチファンクション・カードと本発明のマルチファンクション・カードとの違いを説明するために示したものである。
【0017】
図1(B)に示すように、従来方法では、前述のようにPCI(PCI-Express)カード10B側にマルチファンクション対応のPCI_IPコア12を実装して、ハードウェア上でマルチファンクション機能(HW機能#0,#1)を実現している。そして、PCI(PCI-Express)カード10B上のハードウェア機能(HW機能)#0,#1と、デバイス・ドライバ機能#0,#1とが1対1の関係を持つように構成されている。
【0018】
これに対して、図1(A)に示す、本発のマルチファンクション・カードでは、PCI(PCI-Express)カード10にシングルファンクション対応のPCI_IPコア11を実装し、ハードウェア機能(HW機能)#0,#1をシングルファンクション対応のハードウェアとして構成している。
【0019】
そして、PCI(PCI-Express)カード10のハードウェア機能#0,#1と、オペレーティングシステム(OS)側のTCP/IPスタック21とのI/F(インタフェース)には、デバイス・ドライバ機能#0,#1の個別のドライバと、マルチファンクション対応ドライバ31とを用意する。このマルチファンクション対応ドライバ31により、オペレーティングシステム(OS)側のTCP/IPスタック21から、PCI(PCI-Express)カード10をマルチファンクション・カードとして認識させる。
【0020】
そして、このマルチファンクション対応ドライバ31の部分がトンネルの役目をしてPCI(PCI-Express)カード10上のHW機能#0、HW機能#1を独立して操作可能とする。
【0021】
[第2の実施の形態の構成の説明]
図2は、本発明の第2の実施の形態に係るマルチファンクション・カードと、このマルチファンクション・カードを用いたマルチファンクション・カード・システムの構成を示す図である。図2に示すマルチファンクション・カード10Aは、ネットワーク通信のための入出力用のポートを4つ搭載するPCI(PCI-Express)カードの例を示す図であり、本発明を4ポートに拡張した例である。
【0022】
図2に示すPCI(PCI-Express)カード10Aは、図1(A)に示す2ポートのカード10と同様に、シングルファンクション機能のハードウェア(HW機能#0,#1,#2,#3)が搭載されている。そして、HW機能#0,#1,#2,#3と、OS側のTCP/IPスタック21とのI/Fには、デバイス・ドライバ機能#0、#1、#2,#3の個別のドライバ機能と、マルチファンクション対応ドライバ31とを用意する。これにより、オペレーティングシステム(OS)側のTCP/IPスタック21からPCI(PCI-Express)カード10Aを、4ポートのマルチファンクション・カードとして認識させる。
【0023】
そして、マルチファンクション対応ドライバ31部分がトンネルの役目をして、PCI(PCI-Express)カード10A上のHW機能#0、HW機能#1、HW機能#2、HW機能#3を独立して操作可能とする。なお、図2に示す構成では、入出力用のポートを4ポートで構成する例を示しているが、さらにポート数を拡張することも可能である。
【0024】
[本発明によるマルチファンクション・カードおよびシステムの動作説明]
図2に示す、ネットワーク通信のための入出力用のポートを4つ搭載するPCI(PCI-Express)カード10Aを例に、本発明のマルチファンクション・カード・システムの動作について説明する。
【0025】
PCI(PCI-Express)カード10Aの初期化時には、上位側(コンピュータ20側)からはシングルファンクションのカードとして登録される。すなわち、PCI(PCI-Express)カード10Aに対するPCIメモリ空間、割り込み信号は、それぞれ1つ設定される。
【0026】
また、デバイス・ドライバ30は、マルチファンクション対応ドライバ31と、デバイス・ドライバ機能#0、デバイス・ドライバ機能#1、デバイス・ドライバ機能#2、デバイス・ドライバ機能#3の個別のデバイス・ドライバ部分に分離される。
【0027】
デバイス・ドライバ30がロードされると、このデバイス・ドライバ30により、TCP/IPスタック21(OS側)からは4つのデバイスが存在しているように見せる。つまり、OS側(TCP/IPスタック21側)からは4つのネットワークのポート#0,#1,#2,#3が存在しているように見える。
【0028】
PCI(PCI-Express)カード10Aに対するOS側のPCIメモリ空間、割り込み信号については、HW機能#0、HW機能#1、HW機能#2、およびHW機能#3で共有する。共有したメモリ空間内をマルチファンクション対応ドライバ31が、HW機能#0用、HW機能#1用、HW機能#2用、およびHW機能#3用のエリアに分離する。
【0029】
次にデータの送信について説明する。OS側からHW機能#0(ポート#0)宛にデータを送信する場合、デバイス・ドライバ機能#0がマルチファンクション対応ドライバ31に送信指示を出す。マルチファンクション対応ドライバ31がPCIメモリ空間内のHW機能#0エリアに送信要求を行う。これにより、TCP/IPスタック21(OS側)からHW機能#0(ポート#0)宛にデータが送信される。
【0030】
次にデータの受信について説明する。PCI(PCI-Express)カード10AのHW機能#1(ポート#1)からデータを受信した場合、前述した共通の割り込み信号を使って、マルチファンクション対応ドライバ31に対して受信割り込みを通知する。マルチファンクション対応ドライバ31はHW機能#0、HW機能#1、HW機能#2、およびHW機能#3の全エリアをチェックして、HW機能#1(ポート#1)からの受信割り込みと識別し、デバイス・ドライバ機能#1に受信処理を指示する。これにより、HW機能#1(ポート#1)により受信したデータがTCP/IPスタック21(OS側)により受信される。
【0031】
以上説明したように、本発明のマルチファンクション・カード、およびマルチファンクション・カード・システムにおいては、従来ハードウェアで対応していたマルチファンクション機能を、シングルファンクション対応のハードウェア機能とソフトウェア(マルチファンクション対応ドライバ)とを使用して実現することができる。このため、マルチファンクション未対応のハードウェアを使用する場合でも、ソフトウェア(デバイス・ドライバ機能)の対応によって、マルチファンクション・カード、およびマルチファンクション・カード・システムを実現できる。
【0032】
また、カード上にはシングルファンクションのみ対応のIPコアを実装してマルチファンクション機能を実現することができ、安価なPCI(PCI-Express)のIPコアを使用してマルチファンクション・カード、およびマルチファンクション・カード・システムを実現できる。また、FPGA、LSI内部のIPコアが占有するリソース(ゲート面積)を低減できる。
【0033】
なお、図1に示すマルチファンクション・カード・システムにおいて、前述のPCカードは、PCI(PCI-Express)カード10が相当する。また、前述のシングルファンクション対応のIPコアは、シングルファンクション対応PCI_IPコア11が相当する。
【0034】
そして、図1に示す本発明のマルチファンクション・カード・システムは、シングルファンクション対応のハードウェア機能#0,#1を有するPCI(PCI-Express)カード10と、PCI(PCI-Express)カード10が装着されるコンピュータ20のTCP/IPスタック21側にハードウェア機能#0,#1のそれぞれに対応して配置される個別のデバイス・ドライバ機能#0,#1と、個別のデバイス・ドライバ機能#0,#1とPCI(PCI-Express)カード10の間に配置され、TCP/IPスタック21側の個別のデバイス・ドライバ機能#0,#1によりPCI(PCI-Express)カード10のハードウェア機能(HW機能)#0,#1のそれぞれを独立して操作できるようにすると共に、TCP/IPスタック21に対して、PCI(PCI-Express)カード10をマルチファンクション・カードとして認識させるマルチファンクション対応ドライバ31と、を有して構成される。
これにより、PCI(PCI-Express)カードにおいて、従来はハードウェアで対応していたマルチファンクション機能を、シングルファンクション対応のハードウェア機能と、ソフトウェア(マルチファンクション対応ドライバ)とを使用して実現することができる。
【0035】
また、本発明のマルチファンクション・カード・システムは、PCI(PCI-Express)カード10上のハードウェア機能#0,#1は、PCI(PCI-Express)の入出力用のポート#0,#1であり、このポート#0,#1はシングルファンクション対応のIPコア11を使用したシングルファンクション対応のハードウェア機能で構成される。
これにより、PCI(PCI-Express)のマルチファンクション・カード(複数の入出力用のポートを有するカード)を実現する場合、シングルファンクション対応のIPコアを使用したシングルファンクション対応のハードウェア機能と、ソフトウェア(マルチファンクション対応ドライバ)とによりマルチファンクション機能を実現することができる。このため、シングルファンクション対応の安価なPCI(PCI-Express)のIPコアを使用することができ、また、IPコアが占有するリソース(ゲート面積)を低減できる。
【0036】
また、本発明のマルチファンクション・カードは、シングルファンクション対応のハードウェア機能(HW機能#0,#1)が複数搭載されるPCI(PCI-Express)カード10と、TCP/IPスタック21側にPCI(PCI-Express)カード10上のハードウェア機能(HW機能#0,#1)のそれぞれに対応して配置される個別のデバイス・ドライバ機能#0,#1と、個別のデバイス・ドライバ機能#0,#1とPCI(PCI-Express)カード10との間に配置され、TCP/IPスタック21側の個別のデバイス・ドライバ機能#0,#1によりPCI(PCI-Express)カード10のハードウェア機能(HW機能#0,#1)のそれぞれを独立して操作できるようにすると共に、TCP/IPスタック21に対して、PCI(PCI-Express)カード10をマルチファンクション・カードとして認識させるマルチファンクション対応ドライバ31と、を備えるマルチファンクション・カード・システムにおけるPCI(PCI-Express)カード10であって、PCI(PCI-Express)カード10上のハードウェア機能(HW機能#0,#1)は、シングルファンクション対応のIPコア11を使用して構成されるシングルファンクション対応のハードウェア機能であり、コンピュータ20側において、PCI(PCI-Express)カード10に対するメモリ空間、および割り込み信号を1つとし、PCI(PCI-Express)カード10上の各ハードウェア機能(HW機能#0,#1)に対して共有させる。
これにより、PCI(PCI-Express)のマルチファンクション・カードを実現する場合、シングルファンクション対応のIPコアを使用したシングルファンクション対応のハードウェア機能(HW機)と、ソフトウェア(マルチファンクション対応ドライバ)とによりマルチファンクション機能を実現することができる。このため、シングルファンクション対応の安価なPCI(PCI-Express)のIPコアを使用することができ、また、IPコアが占有するリソース(ゲート面積)を低減できる。
【0037】
また、本発明のPCカードは、PCI(PCI-Express)カード10上のハードウェア機能(HW機能#0,#1)は、PCI(PCI-Express)の入出力用のポートであり、入出力用のポート#0,#1はシングルファンクション対応のIPコア11を使用して構成されるシングルファンクション対応のハードウェア機能である。
これにより、PCI(PCI-Express)のマルチファンクション・カード(複数のポートを有するカード)を実現する場合、シングルファンクション対応のIPコアを使用したシングルファンクション対応のハードウェア機能(HW機)と、ソフトウェア(マルチファンクション対応ドライバ)とによりマルチファンクション機能を実現することができる。このため、シングルファンクション対応の安価なPCI(PCI-Express)のIPコアを使用することができ、また、IPコアが占有するリソース(ゲート面積)を低減できる。
【0038】
以上、本発明の実施の形態について説明したが、本発明のマルチファンクション・カード、およびマルチファンクション・カード・システムは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【0039】
10,10A,10B・・・PCI(PCI-Express)カード
11・・・シングルファンクション対応PCI_IPコア
12・・・マルチファンクション対応PCI_IPコア
20・・・コンピュータ
21・・・TCP/IPスタック
30・・・デバイス・ドライバ
31・・・マルチファンクション対応ドライバ

【特許請求の範囲】
【請求項1】
シングルファンクション対応のハードウェア機能が複数搭載されるPCカードと、
前記PCカードが装着されるコンピュータのTCP/IPスタック側に前記ハードウェア機能のそれぞれに対応して配置される個別のデバイス・ドライバ機能と、
前記個別のデバイス・ドライバ機能と前記PCカードとの間に配置され、前記TCP/IPスタック側の前記個別のデバイス・ドライバ機能により前記PCカードのハードウェア機能のそれぞれを独立して操作すると共に、前記TCP/IPスタックに対して、前記PCカードをマルチファンクション・カードとして認識させるマルチファンクション対応ドライバと、
を備えることを特徴とするマルチファンクション・カード・システム。
【請求項2】
前記PCカード上のハードウェア機能は、PCI(PCI-Express)の入出力用のポートであり、前記入出力用のポートはシングルファンクション対応のIPコアを使用したシングルファンクション対応のハードウェア機能で構成される、
ことを特徴とする請求項1に記載のマルチファンクション・カード・システム。
【請求項3】
前記コンピュータ側において、前記PCカードに対するメモリ空間、および割り込み信号を1つとし、前記PCカード上の各ハードウェア機能に対して共有させるように構成される、
ことを特徴とする請求項1に記載のマルチファンクション・カード・システム。
【請求項4】
シングルファンクション対応のハードウェア機能が複数搭載されるPCカードと、前記PCカードが装着されるコンピュータのTCP/IPスタック側に前記ハードウェア機能のそれぞれに対応して配置される個別のデバイス・ドライバ機能と、前記個別のデバイス・ドライバ機能と前記PCカードとの間に配置され、前記TCP/IPスタック側の前記個別のデバイス・ドライバ機能により前記PCカードのハードウェア機能のそれぞれを独立して操作できるようにすると共に、前記TCP/IPスタックに対して、前記PCカードをマルチファンクション・カードとして認識させるマルチファンクション対応ドライバと、を備えるマルチファンクション・カード・システムにおける前記PCカードであって、
前記PCカード上のハードウェア機能は、シングルファンクション対応のIPコアを使用して構成されるシングルファンクション対応のハードウェア機能であり、
前記コンピュータ側において、前記PCカードに対するメモリ空間、および割り込み信号を1つとし、前記PCカード上の各ハードウェア機能に対して共有させる、
ことを特徴とするマルチファンクション・カード。
【請求項5】
前記PCカード上のハードウェア機能は、PCI(PCI-Express)の入出力用のポートであり、前記入出力用のポートはシングルファンクション対応のIPコアを使用して構成されるシングルファンクション対応のハードウェア機能で構成される、
ことを特徴とする請求項4に記載のマルチファンクション・カード。
【請求項6】
シングルファンクション対応のハードウェア機能が複数搭載されるPCカードと、
前記PCカードが装着されるコンピュータのTCP/IPスタック側に前記ハードウェア機能のそれぞれに対応して配置される個別のデバイス・ドライバ機能と、を備えた、マルチファンクション・カード・システムにおける制御方法であって、
前記マルチファンクション・カード・システムの前記個別のデバイス・ドライバ機能と前記PCカードとの間に配置されたマルチファンクション対応ドライバが、前記TCP/IPスタック側の前記個別のデバイス・ドライバ機能により前記PCカードのハードウェア機能のそれぞれを独立して操作すると共に、前記TCP/IPスタックに対して、前記PCカードをマルチファンクション・カードとして認識させる
ことを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2010−257411(P2010−257411A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2009−109792(P2009−109792)
【出願日】平成21年4月28日(2009.4.28)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】