(57)【特許請求の範囲】
【請求項１】
コンピュータ・システムのインタフェース・ボード上の付加価値ハードウェアの付加価値機能へのアクセスを可能にする方法であって、
インタフェース・ボードが、コンピュータ・システムのバスに接続されているか否かを判定する段階と、
前記インタフェース・ボードが前記コンピュータ・システムの前記バスに接続されていると判定された場合に、汎用上位デバイス・ドライバを、前記コンピュータ・システムのカーネル・メモリ空間にロードする段階であって、前記汎用上位デバイス・ドライバは前記インタフェース・ボードに関連する標準機能を制御するものである段階と、
前記インタフェース・ボードが前記コンピュータ・システムの前記バスに接続されていると判定された場合に、付加価値デバイス・ドライバを、前記コンピュータ・システムのメモリにロードする段階であって、前記付加価値デバイス・ドライバは前記コンピュータ・システムの前記バスに接続されていると判定された前記インタフェース・ボードに対応するものである段階と、
前記インタフェース・ボードのメモリ空間内の所定のアドレスに暗号情報を記憶する段階であって、前記所定のアドレスは前記インタフェース・ボード上の付加価値ハードウェア内の所定のアドレスに対応するものである段階と、
前記暗号情報に基づく前記インタフェース・ボードからの所定の応答を受信する段階と、
前記所定の応答が予期されていた応答である場合にのみ、前記付加価値デバイス・ドライバを通した前記付加価値ハードウェアの付加価値機能へのアクセスを可能にする段階と
を含み、
前記付加価値ハードウェアのメモリ空間内の前記所定のアドレスは、ハードウェア・レジスタであり、
前記インタフェース・ボードの一次レジスタ・アドレス空間を通して、前記インタフェース・ボードに関連する標準機能にアクセス可能であり、
前記インタフェース・ボードの二次レジスタ・アドレス空間を通して、前記付加価値ハードウェアの付加価値機能にアクセス可能であることを特徴とする方法。
【請求項２】
前記付加価値デバイス・ドライバは、前記コンピュータ・システムのカーネル・メモリにロードされることを特徴とする請求項１に記載の方法。
【請求項３】
前記インタフェース・ボードは、ＯＨＣＩ  １３９４インタフェース・ボードであることを特徴とする請求項１または２に記載の方法。
【請求項４】
コンピュータで実行可能な命令を有するコンピュータ可読媒体であって、前記命令は、
インタフェース・ボードが、コンピュータ・システムのバスに接続されているか否かを判定する段階と、
前記インタフェース・ボードが前記コンピュータ・システムの前記バスに接続されていると判定された場合に、汎用上位デバイス・ドライバを、前記コンピュータ・システムのカーネル・メモリ空間にロードする段階であって、前記汎用上位デバイス・ドライバは前記インタフェース・ボードに関連する標準機能を制御するものである段階と、
前記インタフェース・ボードが前記コンピュータ・システムの前記バスに接続されていると判定された場合に、付加価値デバイス・ドライバを、前記コンピュータ・システムのメモリにロードする段階であって、前記付加価値デバイス・ドライバは前記コンピュータ・システムの前記バスに接続されていると判定された前記インタフェース・ボードに対応するものである段階と、
前記インタフェース・ボードのメモリ空間内の所定のアドレスに秘密情報を記憶する段階であって、前記所定のアドレスは前記インタフェース・ボード上の付加価値ハードウェア内の所定のアドレスに対応するものである段階と、
前記秘密情報に基づく前記インタフェース・ボードからの所定の応答を受信する段階と、
前記所定の応答が予期されていた応答である場合にのみ、前記付加価値デバイス・ドライバを通した前記付加価値ハードウェアの付加価値機能へのアクセスを可能にする段階と
を含み、
前記付加価値ハードウェアのメモリ空間内の前記所定のアドレスは、ハードウェア・レジスタであり、
前記インタフェース・ボードの一次レジスタ・アドレス空間を通して、前記インタフェース・ボードに関連する標準機能にアクセス可能であり、
前記インタフェース・ボードの二次レジスタ・アドレス空間を通して、前記付加価値ハードウェアの付加価値機能にアクセス可能であることを特徴とするコンピュータ可読媒体。
【請求項５】
前記付加価値デバイス・ドライバは、前記コンピュータ・システムのカーネル・メモリにロードされることを特徴とする請求項４に記載のコンピュータ可読媒体。
【請求項６】
前記インタフェース・ボードは、ＯＨＣＩ  １３９４インタフェース・ボードであることを特徴とする請求項４または５に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・システム用のインタフェース・ボードの分野に関する。特に、本発明は、コンピュータ・システム内の周辺コントローラ・インタフェース（PCI）ボード上で付加価値ハードウェアを使用可能にする方法に関する。
【０００２】
【従来の技術】
現在、コンピュータ・システムにおいて、ディスク・ドライブやビデオ機器などの周辺装置にこのコンピュータ・システムを接続する場合に、OHCI 1394コントローラ・ボードなどの標準周辺コントローラ・インタフェース（PCI）ボードが使用されている。公表されている規格には、このようなPCIボードによって提供される様々な標準機能や特性が定義されている。したがって、コンピュータ・システムと標準シリアル・バス・コントローラPCIボードとの間のすべての接続は、通常はコンピュータのオペレーティング・システムの一部として提供されている標準汎用デバイス・ドライバを通じて行われる。
【０００３】
標準コントローラ・ボードの標準機能性のために、多くのベンダは、独自のデジタル信号処理（DSP）機能などの付加価値特性およびハードウェアをPCIボードに追加することに魅力を感じていない。ベンダが標準PCIボードに追加できる付加機能および/または特性には、コンピュータのオペレーティング・システムによって提供される標準汎用上位デバイス・ドライバを通してアクセスしなければならない。したがって、他のインタフェース・ボード・ベンダは、容易に付加価値特性を複製し、且つ市場に革新的な機能や特性を導入するベンダよりも低いコストで同等な付加価値PCIボードを製造することができる。
【０００４】
【発明が解決しようとする課題】
インタフェース・ボード・ベンダが、付加価値機能だけでなく標準インタフェース機能を提供するコントローラ・ボードを製造し、それによって、ベンダのインタフェース・コントローラ・ボードを他のベンダのインタフェース・コントローラ・ボードと識別化する方法が必要である。また、標準インタフェース機能を提供するインタフェース・コントローラ・ボード上で付加価値ハードウェアを使用可能にする方法が必要である。
【０００５】
【課題を解決するための手段】
本発明は、インタフェース・ボード・ベンダが、標準インタフェース機能と、独自のDSP機能などの付加価値機能とを提供するインタフェース・コントローラ・ボードを製造し、それによって、ベンダのインタフェース・コントローラ・ボードを他のベンダのインタフェース・コントローラ・ボードと識別化する方法を提供する。また、本発明は、標準インタフェース機能を提供するインタフェース・ボード上で付加価値ハードウェアを使用可能にする方法を提供する。本発明によって提供される他の利点は、付加価値ハードウェアへのアクセスを特殊なハンドシェーキング手順によって制御することができ、それによって、インタフェース・コントローラ・ボードが所定の状態である場合にのみ、付加価値ハードウェアの動作が可能である。本発明の他の利点は、コントローラ・ボード・ベンダが、コントローラ・ボード用の汎用デバイス・ドライバとの調和が図られる付加価値デバイス構成要素ドライバを設ける必要がないことである。さらに、標準管理インタフェース・ボードの新しいバージョンに基づいて、インタフェース・コントローラ・ボードに関連する標準機能が更新される場合に、新しい付加価値デバイス・ドライバが必要とされることはない。
【０００６】
本発明の利点は、コンピュータ・システムのインタフェース・ボード上で付加価値ハードウェアを使用可能にする方法によって提供される。本発明によれば、まず、コンピュータ・システムのバスにインタフェース・ボードが接続されているかどうかが判定される。次いで、コンピュータ・システムのバスにインタフェース・ボードが接続されていると判定されると、インタフェース・ボードに関連する標準機能を制御する汎用上位デバイス・ドライバが、コンピュータ・システムのカーネル・メモリ空間にロードされる。汎用上位デバイス・ドライバは、インタフェース・ボードに関連する標準機能を制御する。コンピュータ・システムのバスにインタフェース・ボードが接続されていると判定されると、コンピュータ・システムのメモリに付加価値デバイス・ドライバがロードされる。付加価値デバイス・ドライバは、コンピュータ・システムのバスに接続されていると判定されたインタフェース・ボードに対応する。実際、PCIカードの特定のモデルについては、ベンダから供給されたドライバが常にロードされる。あるいは、インタフェース・ボード上の外部ポートに装置が挿入された場合に付加価値デバイス・ドライバをメモリにロードすることができる。次いで、パスワード、秘密情報、または暗号情報など所定の情報が付加価値ハードウェアのメモリ空間内の所定のアドレスに記憶され、所定の情報に基づく所定の応答が付加価値ハードウェアから受信される。所定の応答が予期されていた応答である場合に、付加価値デバイス・ドライバを通した付加価値ハードウェアへのアクセスが可能になる。本発明によれば、付加価値デバイス・ドライバは、コンピュータのカーネル・メモリにロードすることができ、またはコンピュータのユーザ・メモリにロードされるアプリケーション・プログラムの一部であってもよい。
【０００７】
【発明の実施の形態】
必須ではないが、全般的に、パーソナル・コンピュータまたはサーバによって実行されるプログラム・モジュールなどコンピュータで実行可能な命令に関して本発明を説明する。一般に、プログラム・モジュールには、ルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれ、これらは特定のタスクを実行するか、または特定の抽象的なデータタイプの型を実行する。さらに、当業者は、手持ち装置、マルチプロセッサ・システム、マイクロプロセッサ・ベースの消費者電子機器またはプログラム可能な消費者電子機器、ネットワークPCS、ミニコンピュータ、メーンフレーム・コンピュータなどを含む、他のコンピュータ・システム構成を用いて本発明を実施できることが理解すると思われる。本発明はまた、通信ネットワークを通してリンクされたリモート処理装置によってタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラム・モジュールはローカル・メモリ記憶装置に位置することも、リモート・メモリ記憶装置に位置することもできる。
【０００８】
図1は、本発明の様々な局面を実施するために使用されうる従来型の汎用デジタル・コンピューティング環境の概略図である。コンピュータ100は、処理ユニット110と、システム・メモリ120と、システム・メモリを含む様々なシステム構成要素を処理ユニット110に結合するシステム・バス130とを含む。システム・バス130は、様々なバス・アーキテクチャの任意のものを使用する、メモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含む、数種のバス構造のうち任意のバス構造であってもよい。システム・メモリ120は、読取り専用メモリ（ROM）140およびランダム・アクセス・メモリ（RAM）150を含む。
【０００９】
立上げ時などにコンピュータ100内の要素間で情報を転送するのを役立つ基本ルーチンを含む基本入力/出力システム（BIOS）160がROM140に記憶されている。コンピュータ100はまた、ハード・ディスク（図示せず）に対して読取りおよび書込みを行うハード・ディスク・ドライブ170と、取外し可能な磁気ディスク190に対して読取りまたは書込みを行う磁気ディスク・ドライブ180と、CD ROMやその他の光学媒体など取外し可能な光ディスク192に対して読取りまたは書込みを行う光ディスク・ドライブ191とを含む。ハード・ディスク・ドライブ170、磁気ディスク・ドライブ180、および光ディスク・ドライブ191は、それぞれ、ハード・ディスク・ドライブ・インタフェース192、磁気ディスク・ドライブ・インタフェース193、および光ディスク・ドライブ・インタフェース194によってシステム・バス130に接続されている。ドライブおよびそれに関連するコンピュータ読取り可能な媒体は、パーソナル・コンピュータ100用のコンピュータ読取り可能な命令、データ構造、プログラム・モジュール、およびその他のデータの非揮発性記憶域を提供する。当業者は、磁気カセット、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ（RAM）、読取り専用メモリ（ROM）など、コンピュータによりアクセス可能なデータを記憶することができる他の種類のコンピュータ読取り可能媒体もまた例示的な動作環境で使用することができることが理解されると思われる。
【００１０】
オペレーティング・システム195、1つまたは複数のアプリケーション・プログラム196、他のプログラム・モジュール197、およびプログラム・データ198を含む、いくつかのプログラム・モジュールをハード・ディスク、磁気ディスク190、光ディスク192、ROM140、またはRAM150に記憶することができる。ユーザは、キーボード101およびポインティング・デバイス102などの入力装置を通してコンピュータ100にコマンドおよび情報を入力することができる。他の入力装置（図示せず）にはマイクロフォン、ジョイスティック、ゲーム・パッド、サテライト・ディッシュ、スキャナなどを含めることができる。これらおよびその他の入力装置は、システム・バスに結合されたシリアル・ポート・インタフェース106を通して処理ユニット110に接続されることが多いが、パラレル・ポート、ゲーム・ポート、汎用シリアル・バス（USB）など他のインタフェースにより、またはPCIボードを通して接続することができる。ビデオ・アダプタ108などのインタフェースを介してシステム・バス130にモニタ107または他の種類の表示装置を接続することもできる。モニタに加え、パーソナル・コンピュータは、通常、スピーカおよびプリンタなど他の周辺出力装置（図示せず）を含む。
【００１１】
コンピュータ100は、リモート・コンピュータ109など1つまたは複数のリモート・コンピュータとの論理接続を使用したネットワーク化環境で動作することができる。リモート・コンピュータ109は、サーバ、ルータ、ネットワークPC、ピア装置、または他の一般的なネットワーク・ノードであってもよく、通常、コンピュータ100に関する前述の要素のうちの多くまたはすべてを含む。ただし、図1にはメモリ記憶装置111のみが記載されている。図1に示されている論理接続には、ローカル・エリア・ネットワーク（LAN）112およびワイド・エリア・ネットワーク（WAN）113が含まれる。このようなネットワーク化環境は、事務所、企業内コンピュータ・ネットワーク、イントラネット、およびインターネットにおいて一般化している。
【００１２】
LANネットワーク化環境で使用される際、コンピュータ100は、ネットワーク・インタフェースまたはアダプタ114を通してローカル・ネットワーク112に接続される。WANネットワーク化環境で使用される際、パーソナル・コンピュータ100は、通常、モデム115、またはインターネットなどのワイド・エリア・ネットワーク113を介して通信を確立するその他の手段を含む。モデム115は、内蔵型または外付け型であってもよく、シリアル・ポート・インタフェース106を介してシステム・バス130に接続される。ネットワーク化環境では、パーソナル・コンピュータ100に関して図示されているプログラム・モジュールまたはその一部をリモート・メモリ記憶装置に記憶することができる。
【００１３】
記載されたネットワーク接続は例示的なものであって、コンピュータ間に通信リンクを確立する他の方法が使用されうることが理解されると思われる。TCP／IP、イーサネット、FTP、HTTPなど様々な公知のプロトコルのうちの任意のものが存在することが想定されており、システムは、ユーザがウェブ・ベースのサーバからウェブ・ページを検索できるようにするためにクライアント・サーバ構成で動作することができる。任意の様々な従来型のウェブ・ブラウザを使用してウェブ・ページ上にデータを表示し、かつデータを処理することができる。
【００１４】
本発明の第1の局面は、標準インタフェース機能を提供するPCIボードなどのインタフェース・コントローラ・ボード上で付加価値ハードウェアを使用可能にする技術を提供する。その点に関して、本発明は、OHCI 1394コントローラ・ボードなどのインタフェース・コントローラ・ボード上の付加価値ハードウェアへの制御された安全なアクセスを可能にする。付加価値ハードウェアは、コントローラ・ボード用の標準ハードウェアと共存し、二次レジスタ・アドレス空間を通してアクセスすることができる。OHCI 1394対応PCIボードの場合、二次レジスタ・アドレス空間は、具体的にはベンダ・アドレス空間である。これに対して、インタフェース・コントローラ・ボードの標準ハードウェアおよび標準機能には一次レジスタ・アドレス空間を通してアクセスすることができる。本発明について、図2および図3を参照して説明する。
【００１５】
図2は、本発明を組み込んだコンピュータ・システム200の機能ブロック図を示している。コンピュータ・システム200は、デジタル・カメラなどの周辺装置202と接続されたPCIボード201を含む。コンピュータ・システム200はまた、「WINDOWS」ブランドのオペレーティング・システムなどのオペレーティング・システム（OS）203も含む。図3は、図2に示すコンピュータ・システム200などのコンピュータ・システムのインタフェース・コントローラ・ボード上で付加価値ハードウェアを使用可能にする流れ図300を示している。
【００１６】
段階301で、コンピュータ・システム200が初期設定されると、オペレーティング・システム203により、公知の「プラグ・アンド・プレイ」機構などを通じた公知の方法で特定のハードウェア構成コンピュータ200が識別される。例えば、コンピュータ・システム200は1394バス204を含む。オペレーティング・システム203はバス204を識別し、段階302で、OHCI 1394システム・デバイス・ドライバなどの標準汎用デバイス・ドライバ205がコンピュータ・システム200のカーネル・メモリ空間206にロードされる。汎用デバイス・ドライバ205は、PCIボード201の標準インタフェース機能にアクセスするための機能を提供する上位デバイス・ドライバである。初期設定プロセスの一部として、汎用ドライバ205は、PCLシステム・デバイス・ドライバなど他の汎用下位デバイス・ドライバ207を、PCIボード201の固有のIDに基づいて識別する。下位デバイス・ドライバ207もまた、カーネル・メモリ206にロードされる。
【００１７】
段階303で、識別されたインタフェース・ボードに対応する付加価値デバイス・ドライバ209がメモリにロードされる。付加価値デバイス・ドライバ209は、付加価値ハードウェア208にアクセスするインタフェースを提供し、それにより、付加価値ハードウェア208に関連する付加価値機能を利用可能にする。
【００１８】
段階304で、付加価値デバイス・ドライバ209は、グローバル一意識別子/汎用一意識別子（Globally Unique Identifier/Universally Unique Identifier）（GUID）を公知の方法で使用して付加価値ハードウェア空間内の所定のアドレスに所定の専用メッセージを送信する。所定の専用メッセージはパスワード、秘密情報、または暗号情報であってもよい。所定の専用メッセージは、コンピュータ・システム200のメモリ空間にマップされている付加価値ハードウェア208内のハードウェア・レジスタにバッチ・モードで書き込まれる。より具体的には、付加価値ハードウェアにコントローラ・ボード201の二次レジスタ・アドレス空間を通してアクセスすることができる。OHCI 1394対応PCIコントローラの場合、二次レジスタ・アドレス空間は具体的にはベンダ・アドレス空間である。これに対して、PCIコントローラ・ボードの標準ハードウェアおよび標準機能には一次レジスタ・アドレス空間を通してアクセスすることができる。
【００１９】
付加価値ハードウェア208が、秘密メッセージを認識した場合、付加価値ハードウェア208は所定の専用メッセージで応答し、このメッセージは段階305で付加価値デバイス・ドライバ209によって受信される。付加価値ハードウェア208によって生成される応答もまた、例えば、パスワード、秘密情報、または暗号情報であってもよい。段階306で、付加価値デバイス・ドライバ209が専用応答を認識した場合、段階308でPCIボード201上の付加価値ハードウェア208の特性が使用可能になる。その後、付加価値デバイス・ドライバ209を通してPCIボード201の付加価値機能にアクセスすることができる。汎用デバイス・ドライバ205は、付加価値デバイス・ドライバ209によって生成されたコマンドを調べ、コマンドの障害またはエラーを検出する。段階306で、付加価値デバイス・ドライバ209が応答を認識しないか、または応答が受信されなかった場合、フローは段階307に進み、プロセスが終了する。
【００２０】
本発明はOHCI 1394対応PCIコントローラ・ボードに限定されることはなく、SCSIプロトコルに基づくインタフェース・ボードなど他の標準プロトコル・インタフェース・ボード上で付加価値ハードウェアを使用可能にするために使用することができる。さらに、アプリケーションはインタフェース・ボードの付加価値ハードウェアに直接アクセスすることができる。すなわち、図2に示すアプリケーション210は、デバイス情報（INF）ファイルを公知の方法で直接使用することによって、PCIボード201上に提供された付加価値ハードウェアを使用可能にし、それにアクセスすることもできる。アプリケーションは次いで、付加価値ハードウェア空間内の所定のアドレスに所定の専用メッセージを送信する。その後、例えば、公知の「WINDOWS MANAGEMENT INSTRUMENTATION」（WMI）技術を使用して、アプリケーション210と付加価値ハードウェア209との間でデータをやりとりすることができる。さらに/または、アプリケーションは、付加価値デバイス・ドライバにアクセスし、付加価値デバイス・ドライバによって提供される、汎用デバイス・ドライバのカーネル・モードAPIを操作するための特性を利用することができる。
【００２１】
本発明を図示された態様に関して説明したが、本発明の趣旨および範囲から逸脱せずに修正を加えられることが理解されると考えられる。
【００２２】
【発明の効果】
本発明は、秘密機構を使用して、各ハードウェア・レジスタに一括アクセスするハードウェア装置上で付加価値特性を使用可能にする方法を提供する。
【図面の簡単な説明】
本発明を制限としてではなく、一例として添付の図面に示す。これらの図面において、同じ参照数字は同様な要素を示す。
【図１】  本発明の様々な局面を実施するために使用することができる従来型の汎用デジタル・コンピューティング環境の概略図である。
【図２】  インタフェース・コントローラ・ボード上で付加価値ハードウェアを使用可能にするために本発明を組み込んだコンピュータ・システムの機能ブロック図である。
【図３】  コンピュータ・システムのインタフェース・コントローラ・ボード上で付加価値ハードウェアを使用可能にする流れ図である。
【図１】
0004246405.tif 000002
【図２】
0004246405.tif 000003
【図３】
0004246405.tif 000004