JP2003532165A - 入出力デバイスを動的に再構成する装置及び方法 - Google Patents
入出力デバイスを動的に再構成する装置及び方法Info
- Publication number
- JP2003532165A JP2003532165A JP2000592732A JP2000592732A JP2003532165A JP 2003532165 A JP2003532165 A JP 2003532165A JP 2000592732 A JP2000592732 A JP 2000592732A JP 2000592732 A JP2000592732 A JP 2000592732A JP 2003532165 A JP2003532165 A JP 2003532165A
- Authority
- JP
- Japan
- Prior art keywords
- controller
- configuration
- integrated circuit
- virtual
- controllers
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
Abstract
Description
1月4日付Aguilar 外の米国特許出願第 号”ポート・ルータ”に関連
する。この出願は、その開示内容を、これも参考のため本願明細書中に引用した
米国仮出願第60/114,771号、第60/114,772号及び第60/
114,767号に関して優先権を主張する。
フェースとを接続する機能を果たす。従来のコンピュータ・オペレーティングシ
ステムの場合、インストラクションを形成する記述子リストをIOコントローラ
が読み取り、これに従ってその仕事を行う。最近のIOコントローラは、記述子
中に規定されているオペレーションを読み取り、開始するハードウェア回路を含
む。記述子に著しい変動があれば、新しい回路が必要になり、従って、既存回路
が時代遅れのものになる。実際には、新しいオペレーティングシステムの開発と
新しいハードウェアの開発が遅れる事態となる。両者の開発には、相互の整合性
が要求されるからである。
、コントローラはインタフェースの帯域幅に制限される。別のインタフェースを
追加するには、アド・オン・ボードを追加するか、マザー・ボードを設計し直す
ことによって、新しいコントローラ・インタフェース・デバイスを構成しなけれ
ばならない。
イスのハードウェアを変更する必要があり、帯域幅を動的に加えることは不可能
であった。ハードウェアの変更、又はシステムへのハードウェア追加には、再構
成経費、追加ハードウェア経費の他、既存オペレーティングシステムと適合しな
い可能性など、数多くの問題がある。さらに、新しいハードウェアの追加はシス
テムをオフにして行われ、新しいハードウェアを組込む技術者が必要であり、新
しいハードウェアをサポートするためにオペレーティングシステムを変更するシ
ステム管理者も必要になるであろう。この方法は困難であり、エラーを伴い易く
、コストが大きく、多大の時間を要する設計及び性能強化を必要とする。
せ、又は前後両方向のコンパチビリティーを可能にするデバイスの実現が望まれ
る。さらにまた、システムの条件に応じて、新しいハードウェアを追加すること
なく、IOコントローラの新しいインスタンスを動的に形成することによって追
加の帯域幅を提供できるデバイスもの実現も望まれる。
ステムへのデータ・フローを制御する方法が提供される。この方法は、IOコン
トローラの所要構成を求め、1つ又は2つ以上の記述子を処理できるようにIO
コントローラを再プログラミングし、1つ又は2つ以上の仮想コントローラの追
加又は抹消を反映するようにIOコントローラの構成を変更し、IOコントロー
ラを枚挙し直し、各IOコントローラ及び1つ又は2つ以上の仮想コントローラ
ごとに、記述子リストを処理することを含む。枚挙し直しの過程で1つ又は2つ
以上の仮想コントローラが発見され、初期設定され、IOコントローラによって
サポートされる全帯域幅を提供することができる。
ラマブル・リスト・プロセッサ及びポート・ルータからなる、IOコントローラ
として使用する集積回路デバイスである。この集積回路デバイスは、1つ又は2
つ以上の仮想コントローラを追加又は抹消するための再構成に採用される。仮想
コントローラは、集積回路デバイスによってサポートされる、実質的な全帯域幅
を提供する。
、情報機器、セット・トップ・ボックス、ケ−ブル・モデム、ゲーム・コンソー
ル、スマート・アプライアンス、ハンドヘルド・コンピュータ、手のひらサイズ
・コンピュータ、組込制御システム、ワークステーション、サーバーなどのよう
なタイプのコンピュート・プラットフォームにも応用できる。
る変化に対応するように、IOデバイスを動的に再構成する装置及び方法を提供
する。本発明は、データ転送のため、オペレーティングシステムが使用できる新
しいチャンネルを形成する仮想コントローラの追加(又は抹消)を可能にする。
IOデバイスは、高帯域幅を必要とする周辺デバイスのための専用スループット
を提供し、複数の低帯域幅デバイスをグルーピングすることによって、データ転
送を効率化することができる。本発明は、オペレーティングシステムの変化、シ
ステム条件の変化、デバイス中の問題又はバグ、及びデータ・フロー・プロトコ
ルに対応できる新しいオペレーティングプログラムを組込むことを可能にする。
トローラ)内に集積する、現実的且つ経済的解決を提供する。IOコントローラ
は、IO流れ(バス、インタフェース、ネットワーク・コネクション)とホスト
・コンピュータにおけるオペレーティングシステム・トライバーとの間にブリッ
ジを形成する。本発明は、プログラム化可能性を利用することにより、ブリッジ
のIO流れとオペレーティングシステム・インタフェースとの双方の側の動作を
変化させる方法及び装置を提供する。
l,Infiniband及びEthernetなどのようなIOコントローラ
に応用できる。本発明の装置及び方法は、周辺デバイスとコンピュート・プラッ
トフォームとの間のデータ・フローを増大させることができる。データ・フロー
を増大させるのにユーザーが干渉する必要はなく、コンピュート・プラットフオ
ームに複合デバイスを組込むだけでよい。本発明はパーソナル・コンピュータ・
システムに利用できるが、その他のタイプのコンピュート・プラットフォーム、
例えば、情報機器、セット・トップ・ボックス、ケ−ブル・モデム、ゲーム・コ
ンソール、スマート・アプライアンス、ハンドヘルド・コンピュータ、手のひら
サイズ・コンピュータ、組込制御システム、ワークステーション、サーバーなど
のようなタイプのコンピュート・プラットフォームにも応用できる。
かに練り、実施することを可能にし、オペレーティングシステムの記述子リスト
のエラーにも変更にも適応し、新しいタイプの記述子演算の組込を可能にする。
本発明は、広範囲にわたるシステムの諸条件を満たすのに必要な製品数を軽減す
る。
制限するものではない。ポート及びIOコントローラの数は個々のシステム又は
用途に必要な条件に応じて異なる。 図1に示す本発明の一実施例では、システム・バス・インタフェース120、
プログラム可能なリスト・プロセッサ110、及びポート・ルータ130を有す
る、IOコントローラとして使用するための集積回路(IC)デバイス100を
設ける。システム・バス・インタフェース120、プログラム可能なリスト・プ
ロセッサ110及びポート・ルータ130は機能的に接続されている。ポート・
ルータ130は好ましくは1つ又は2つ以上のインタフェース・ポート140と
も接続している。
トローラは、”シングル・スレッデッド”、即ち、一度に単一の記述子リストだ
けを実行できる既存のシステムとは異なり、多重記述子リストを処理するために
再プログラム又は再構成することができる。この機能により、本発明のIOコン
トローラは複数の別々のハードウェア・コントローラと同様に作用することがで
きる。
イヤグラムである。ポート・ルータ400は、コントローラ・スイッチ420、
ポート・スイッチ440、及びコントローラ・スイッチ420とポート・スイッ
チ440の間の結線450から成る。結線450はハブ素子401を含む。ポー
ト・ルータ400はポートA〜Dを単一のコントローラ (コントローラA)と
接続する。コントローラ・スイッチ420、ポート・スイッチ440及び結線4
50はそれぞれ固有の可能入出力を有する。ポート・スイッチ440は固定入力
441〜444を有し、それぞれの固定入力はインタフェース・ポートと接続し
ている。ポート・スイッチ440は任意のポートを1つ又は2つ以上のポート・
スイッチ出力へルーティングする。ポート・スイッチ440はすべてのルーティ
ング素子を支持するのに充分な出力総数を有する。図4の実施例の場合、ポート
・スイッチ440はハブ素子401のための4個の出力を有する。ハブ素子は、
用途に応じたIOインタフェースの条件を満たすものであることが好ましい。各
ハブ素子はその入力を組合わせ、コントローラ・スイッチ420に入力される単
一の出力を提供する。IOインタフェースによっては、ハブ素子401をブリッ
ジ、コンセントレーター又は物理的インタフェースと呼称する場合がある。ポー
ト・スイッチ440をコントローラ・スイッチ420に接続するには、多重ハブ
素子を使用すればよい。
ト・スイッチ440との各直接結線(図2)ごとに1つの入力をそれぞれ有する
ことが好ましい。コントローラ・スイッチ420からの出力は所与の用途に必要
な、又は利用可能なコントローラの個数に合わせて設定する。図4に示すように
、コントローラ・スイッチは、ハブ素子401と接続する1つの入力421、及
びコントローラAと接続する1つの出力427を有する。なお、ここに言う”入
力”及び”出力”はいずれも、双方向データ・フローを扱うことができる結線(
一般的には”入/出力”と呼称される)を意味する。
場合を示し、ここでは、コントローラAの帯域幅容量が閾値に達する。システム
にコントローラBが付加され、ポートDからハブ素子201への結線が除去され
、直接結線502が付加されている。ポートDにデバイスが挿入されると、デバ
イスが検知され、その容量条件がリポートされる。この容量は、コントローラA
の有効容量よりも大きくなるように計算されている。新しいコントローラBがシ
ステムに付加されると、ポートA,B及びCがコントローラAと接続する一方、
ポートDがコントローラBとだけ接続するようにポート・ルータ100が再構成
される。ポートDとハブ素子501とを結ぶ結線が除去され、ポート・スイッチ
540とコントローラ・スイッチ出力520との間に新しい直接結線502が形
成される。コントローラ・スイッチ出力528からコントローラBへの結線が形
成される。ポートD及び新しいデバイスとの間のデータ・フローはすべて、ポー
ト・スイッチ出力549からコントローラ・スイッチ入力522へのこの新しい
結線を流れる。ポートA,B及びCからのデータ・フローはすべて、ポート・ス
イッチ出力545,546及び547からハブ素子501への同じルートをたど
る。この構成では、ポートA,B及びCからのデータ・フローが組み合わされ、
コントローラ・スイッチ入力521へ供給される。
ォルト状態から、ポート・スイッチ400がスタートすることが好ましい。図4
の実施例の場合、システムは4つのポート、ポートA及びBと接続する2つのデ
バイス、1つのハブ素子401、及び1つのコントローラAを備えたデフォルト
状態にある。好ましくはポート・ルータ400中に存在する1組の(図示しない
)ハードウェア・レジスターを介して、システム中で動作するソフトウェアがポ
ート・ルータ400に問合わせ、デフォルト・トポロジーを発見することができ
る。システムのソフトウェアはハードウェア・レジスターの値をプログラムする
ことによって、ポート及びコントローラ間の信号ルートを変更することができる
。動作中に事象が起こる。この事象としては、例えば、新しいデバイスの除去又
はポートへの挿入が考えられる。この事象がソフトウェアをトリガーすることに
よって、この新しいデバイスの条件を検討する。これらの条件には、デバイスの
データ容量条件(帯域幅及び待ち時間)やそのデータ・スタイル(非同期的、等
時的、バースト、流れ)などが含まれる。新しい条件が、既に実装されているデ
バイスから課せられる一連の条件と組合わされ、ポートをルーティングするため
の新しい、好ましくは最適化されたトポロジーが計算される。好ましくは、シス
テムのソフトウェアがIOの動作を中断させ、ポートとIOコントローラとの間
を再ルーティングさせる。次いで、システムのソフトウェアがIOの動作を再開
させ、最適化されたルーティングが、新しい事象が起こるまで、新しいルーティ
ングとなる。
必要とすることなく、ルーティング及び再ルーティングが内部的に行われること
を可能にする組込ソフトウェアを含むことが好ましい。これにより、自己モニタ
ーが可能になり、ポート・ルータ400を通過するデータ・フローに基づく動的
な負荷平衡が可能になる。
の周辺部品相互接続(PCI)バス220、プログラム可能リスト・プロセッサ
210、ポート・ルータ230、データ・マックス250、及び複数のFIFO
(先入れ先出し)データ・バッファー260を有する、IOコントローラとして
利用される集積回路(IC)デバイス200を設ける。また、ポート・ルータ2
30に1つ又は2つ以上のインタフェース・ポート240を接続することが好ま
しい。素子のそれぞれが機能的に接続されることにより、データ信号及び制御信
号が素子間で伝送されるようにすることが好ましい。
・ルータ230を経て、特定のFIFO260に向けられることが好ましい。デ
ータ・エレメントがFIFO260に受信されると、リスト・プロセッサ210
がこれを検討し、その配置を確認することが好ましい。データ・エレメントに対
する作用は、インタフェースに対するプロトコル・ルール次第であり、例えば、
Ethernet,USB,IEEE−1394等では、それぞれ異なる作用と
なる。リスト・プロセッサ210に組込まれている制御ソフトウェアが所要の構
成を決定することが好ましい。リスト・プロセッサ210は、例えば、下記のよ
うに作用することが好ましい。すなわち、データ・エレメントをシステム・メモ
リへ伝送し、未完のトランザクションを完了させ、エラーをシステムへ伝送させ
、エラーをインタフェースへ伝送させ、インタフェースへ伝送すべきデータを作
成する。PCIバス220を介してシステム・メモリとの間で伝送されるデータ
はすべて、好ましくはデータ・マックス250素子を通過する。システム・メモ
リからインタフェースへデータ・エレメントを伝送したい場合、PCIバス22
0を介して受信し、データ・マックス250を通過させ、該当のFIFO260
に入力させることが好ましい。システム・メモリからのデータ取出しを開始させ
たリスト・プロセッサは、インタフェースへ伝送されるように準備し、データ伝
送が可能な状態にあるかどうか、インタフェースの状態をモニターすることが好
ましい。もしインタフェースが応答しないか、又は作動不能なら、リスト・プロ
セッサ210は下記のように作用することが好ましい。すなわち、後で再伝送す
るためデータを保管、システムへエラーをリポート、等である。
ローを制御する機能を有するマイクロプロセッサやマイクロコントローラのよう
な、汎用コンピュート・エンジンの特性の多くを有することが好ましい。リスト
・プロセッサ素子210は、好ましくはROMに固定されているか、より好まし
くはダウンロードされているソフトウェアを実行する。ソフトウェアは、好まし
くはインタフェースに関するプロトコルの定義、典型的には、工業規格に従って
書き込まれる。プライベート・インタフェース規格に基づくソフトウェアを使用
することもできることが好ましい。例えば、プロトコルによる規定上、システム
がデータ・エレメントを送信し、データが正しく受信されたとの確認を受信しな
ければならない場合、リスト・プロセッサ素子は、確認の受信を想定し、確認が
受信されない場合には、再送信を開始するか、又はシステムへエラーを送信する
ソフトウェア制御構造を有する。具体的な作用内容は、プロトコル定義のルール
次第である。
Eバス、HubLink等のようなマルチマスター・バス構造をも含むことがで
きる。これらオペレーティングシステムに共通の特徴は枚挙段階である。枚挙の
段階において、システム・ソフトウェアが、システム・バスに存在するハードウ
ェアを問合わせ、ハードウェアの特徴を記述するデータを作成する。本発明と併
用されるオペレーティングシステムは、必要なら再枚挙できることが好ましい。
しいデフォルト状態において、リスト・プロセッサ110は、単一のリストを処
理するようにプログラムされ、オペレーティングシステムに対して単一のIOコ
ントローラをリポートするように構成されている。また、起動時におけるデフォ
ルト状態が、それまでのパワー・ダウン前から維持されている状態であることが
好ましい。
の指令を翻訳し、実行するように機能する。オペレーティングシステムが理解し
、あたかも複数の個別IOコントローラ・ハードウェアが存在するかのように作
用できるように、仮想コントローラを形成することができる。 IOコントローラのハードウェア記述を修正し、オペレーティングシステムが
IOコントローラの再枚挙することをリクエストすることにより、1つ又は2つ
以上の新しい仮想IOコントローラを形成又は抹消することができる。新しいI
Oコントローラの動的形成は、実際の限界(即ち、システム・バス帯域幅、IO
コントローラ数の限界等)に達するまで何度でも行うことができる。
Oコントローラ構成を変更する決定がなされる。この決定はオペレーティングシ
ステム又はIOコントローラ内の(図示しない)モニタリング素子によって行う
ことができる。現時点のIOコントローラ構成を変更する決定は、例えば、IO
コントローラを通過するデータ・フローの増減などのような1つ又は2つ以上の
所定条件の存在に基づいて行うことが好ましい。
イスの総帯域幅条件、特定周辺デバイスの帯域幅条件、特定周辺デバイスの待ち
時間条件、競合周辺デバイスの存在、周辺デバイスのトポロジー、周辺デバイス
の付加又は除去、既存周辺デバイス帯域幅条件の増減、既存周辺デバイス待ち時
間条件の増減、等。
コントローラに組込まれているデバイスの作用を中断(又は、スリープへの移行
)させることにより、データ・フローを止める。次いで、リスト・プロセッサ1
10を、システムに付加された仮想コントローラのそれぞれについて、1つ又は
2つ以上の記述子リストを処理できるようにプログラムすることが好ましい。そ
れまで演算中であった記述子リストは手つかずのままであり、演算が再開される
と、新しい記述子リストと一緒に処理される。IOコントローラの構成は、1つ
又は2つ以上の仮想コントローラの付加又は抹消を反映するように変更される。
好ましくは、IOコントローラと接続しているデバイスを、効率のよいデータ・
パスを提供して、IOコントローラを通過するデータ・フローを最適化又は改善
する所要の構成となるように再ルーティングする。この再ルーティングは、典型
的な方法として、データ・フローを1つ又は2つ以上のIOコントローラ間に分
割することによって行われる。
ステムに対して、リクエストが行われる。仮想コントローラが検知され、どのコ
ントローラにどのデバイスを接続すべきかをオペレーティングシステムが問合わ
せる。記述子リストが作成され、リスト・プロセッサ110が各記述子リストの
処理を開始する。次いで、デバイスは動作を再開することができる。典型的には
、オペレーティングシステムによってデバイスが再枚挙される。
きる、いわゆるマルチ・スレッド性が挙げられる。リスト・プロセッサ110が
同時的に実行できる代表的な動作としては、下記の動作が挙げられる。システム
・メモリーからの取出し、キャッシング(又は、システム・メモリーへのアクセ
ス回数を減らさねばならなくなる前に、記述子を取出すこと)、記述子のバリデ
ーション、データ伝送用IOハードウェアの準備、データ・フロー・プロトコル
・エレメントの構成、システム・メモリーとの間のデータ取出し又は供給、除外
すべきデータ・フローのモニタリング、完成すべきデータ・フローのモニタリン
グ、記述子の終了、エラーの処理及び一掃、及びオペレーティングシステムへの
結果リポート。
コントローラを通過するデータ・フローを制御する方法は、IOコントローラに
必要な構成を決定し、1つ又は2つ以上の記述子リストを処理できるようにIO
コントローラを再プログラムし、1つ又は2つ以上の仮想コントローラの付加又
は抹消を反映するようにIOコントローラの構成を変更し、IOコントローラを
再枚挙し、IOコントローラ及び仮想コントローラのそれぞれについて、1つの
記述子リストを処理するステップから成る。枚挙の過程において、1つ又は2つ
以上の仮想コントローラを発見し、起動し、そして、IOコントローラによって
支持され、且つインタフェース仕様によって定められた全帯域幅を提供すること
が好ましい。
ーラの存在を示唆する1つ又は2つ以上の新しい構成記述子を作成することが好
ましい。インタフェース・ポートからの結線を、効率的なデータ・フローを可能
にする所要のルーティング構成となるように、再ルーティングすることが好まし
い。IOコントローラに必要な構成の決定と、IOコントローラの構成変更はコ
ンピュータ・システム中のドライバー、又はIOコントローラに組込まれたファ
ームウェアの制御下に行われることが好ましい。IOコントローラの所要構成を
決定する際には、IOコントローラの既存構成を、既存の条件に基づいて変更す
べきかどうかを判断し、既存条件に基づいてIOコントローラの最適化構成を決
定することが好ましい。
ラを通過するデータ・フローを制御する方法は、1つ又は2つ以上の所定条件が
存在すると、再構成モードに入り、IOコントローラの所要構成を決定し、1つ
又は2つ以上の記述子リストを処理できるようにIOコントローラを再プログラ
ムし、1つ又は2つ以上の仮想コントローラの付加又は抹消を反映するようにI
Oコントローラの構成を変更し、IOコントローラを再枚挙し、各IOコントロ
ーラ及び1つ又は2つ以上の仮想コントローラごとに1つの記述子リストを処理
するステップから成る。再構成モードに入る際には、コンピュータ・システムと
接続しているデバイスの動作を中断させることが好ましい。所定条件には、IO
コントローラを通過するデータ・フローの増減が含まれることが好ましい。
ラム可能リスト・プロセッサ及びポート・ルータから成る、IOコントローラと
して利用される集積回路デバイスに係る。システム・バス・インタフェース、プ
ログラム可能リスト・プロセッサ及びポート・ルータは機能的に接続されること
が好ましい。集積回路デバイスは、1つ又は2つ以上の仮想コントローラを付加
又は抹消するため再構成でき、仮想コントローラが、集積回路デバイスによって
支持される、実質的な全帯域幅を提供することが好ましい。
に制限されるものではなく、当業者なら、本発明の思想と範囲を逸脱することな
く、多様な変更を加えることができる。
ムである。
ラムである。
Claims (11)
- 【請求項1】 IOコントローラを介して、1つ又は2つ以上のポート・イ
ンタフェースからコンピュータ・システムの内部回路へ流れるデータ・フローを
制御する方法であって、 前記IOコントローラの所要構成を決定し、 1つ又は2つ以上の記述子リストを処理できるように前記IOコントローラを
再プログラムし、 1つ又は2つ以上の仮想コントローラの付加又は抹消を反映するように前記I
Oコントローラの構成を変更し、 前記IOコントローラを再枚挙し、 前記IOコントローラ及び前記1つ又は2つ以上の仮想コントローラのそれぞ
れに対応する記述子を処理する ステップから成ることを特徴とする前記方法。 - 【請求項2】 前記1つ又は2つ以上の仮想コントローラを、前記再枚挙の
過程において発見し、起動して、前記ポート・インタフェースによって支持され
る全帯域幅を提供することを特徴とする請求項1に記載の方法。 - 【請求項3】 前記IOコントローラの構成を変更するステップとして、前
記1つ又は2つ以上の仮想コントローラの存在を示唆する1つ又は2つ以上の新
しい構成記述子を作成することを特徴とする請求項1に記載の方法。 - 【請求項4】 前記IOコントローラへの結線を、所要のルーティング構成
となるように再ルートするステップをも含むことを特徴とする請求項1に記載の
方法。 - 【請求項5】 前記IOコントローラの所要構成を決定し、前記コンピュー
タ・システム中のドライバーによる制御下に、前記IOコントローラの構成を変
更することを特徴とする請求項1に記載の方法。 - 【請求項6】 前記IOコントローラの所要構成を決定し、前記IOコント
ローラに組込まれたファームウェアによる制御下に、前記IOコントローラの構
成を変更することを特徴とする請求項1に記載の方法。 - 【請求項7】 前記IOコントローラの所要構成を決定するステップが、前
記IOコントローラの既存構成を、既存の条件に基づいて変更すべきかどうかを
判断し、前記既存の条件に基づいて前記IOコントローラの最適化構成を求める
ステップを含むことを特徴とする請求項1に記載の方法。 - 【請求項8】 コンピュータ・システムにおいて、IOコントローラを流れ
るデータ・フローを制御する方法であって、 1つ又は2つ以上の所定条件が存在すると、再構成モードに入り、 前記IOコントローラの所要構成を決定し、 1つ又は2つ以上の記述子リストを処理できるように前記IOコントローラを
再プログラムし、 1つ又は2つ以上の仮想コントローラの付加又は抹消を反映するように前記I
Oコントローラの構成を変更し、 前記IOコントローラを再枚挙し、 前記IOコントローラ及び前記1つ又は2つ以上の仮想コントローラのそれぞ
れに対応する記述子を作成する ステップから成ることを特徴とする前記方法。 - 【請求項9】 再構成モードに入る際に、前記コンピュータ・システムと接
続しているデバイスの動作を中断させることを特徴とする請求項8に記載の方法
。 - 【請求項10】 前記所定条件が、前記IOコントローラを通過するデータ
・フローの増減を含むことを特徴とする請求項8に記載の方法。 - 【請求項11】 IOコントローラとして使用される集積回路デバイスであ
って、 システム・バス・インタフェース、 プログラム可能リスト・プロセッサ、及び ポート・ルータ から成り、 前記システム・バス・インタフェース、前記プログラム可能リスト・プロセッ
サ及び前記ポート・ルータが機能的に接続され、 前記集積回路デバイスが、1つ又は2つ以上の仮想コントローラを付加又は抹
消するために再構成可能であり、前記仮想コントローラが、前記集積回路デバイ
スによって支持される実質的な全帯域幅を提供する ことを特徴とする前記集積回路デバイス。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11477199P | 1999-01-05 | 1999-01-05 | |
US11477299P | 1999-01-05 | 1999-01-05 | |
US60/114,771 | 1999-01-05 | ||
US60/114,772 | 1999-01-05 | ||
US11476799P | 1999-01-06 | 1999-01-06 | |
US60/114,767 | 1999-01-06 | ||
US09/477,591 | 2000-01-04 | ||
US09/477,591 US6199137B1 (en) | 1999-01-05 | 2000-01-04 | Method and device for controlling data flow through an IO controller |
PCT/US2000/000177 WO2000041074A2 (en) | 1999-01-05 | 2000-01-05 | Apparatus and method for dynamically reconfiguring an io device |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003532165A true JP2003532165A (ja) | 2003-10-28 |
JP2003532165A5 JP2003532165A5 (ja) | 2007-02-15 |
JP4606589B2 JP4606589B2 (ja) | 2011-01-05 |
Family
ID=27493970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000592732A Expired - Fee Related JP4606589B2 (ja) | 1999-01-05 | 2000-01-05 | 入出力デバイスを動的に再構成する装置及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6199137B1 (ja) |
JP (1) | JP4606589B2 (ja) |
GB (1) | GB2359911B (ja) |
WO (1) | WO2000041074A2 (ja) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266721B1 (en) | 1997-05-13 | 2001-07-24 | Micron Electronics, Inc. | System architecture for remote access and control of environmental management |
US6338150B1 (en) * | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
US6363497B1 (en) | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
US6324608B1 (en) * | 1997-05-13 | 2001-11-27 | Micron Electronics | Method for hot swapping of network components |
US6801971B1 (en) * | 1999-09-10 | 2004-10-05 | Agere Systems Inc. | Method and system for shared bus access |
US6519660B1 (en) * | 1999-09-28 | 2003-02-11 | International Business Machines Corporation | Method, system and program products for determining I/O configuration entropy |
US6986137B1 (en) * | 1999-09-28 | 2006-01-10 | International Business Machines Corporation | Method, system and program products for managing logical processors of a computing environment |
US6546450B1 (en) * | 1999-12-22 | 2003-04-08 | Intel Corporation | Method and apparatus for sharing a universal serial bus device among multiple computers by switching |
US6721821B1 (en) * | 2000-04-13 | 2004-04-13 | General Dynamics Information Systems | Apparatus for electronic data storage |
US20020156914A1 (en) * | 2000-05-31 | 2002-10-24 | Lo Waichi C. | Controller for managing bandwidth in a communications network |
US6772320B1 (en) * | 2000-11-17 | 2004-08-03 | Intel Corporation | Method and computer program for data conversion in a heterogeneous communications network |
US20020075860A1 (en) * | 2000-12-19 | 2002-06-20 | Young Gene F. | High density serverlets utilizing high speed data bus |
US7254647B2 (en) * | 2001-03-23 | 2007-08-07 | International Business Machines Corporation | Network for decreasing transmit link layer core speed |
US7401126B2 (en) | 2001-03-23 | 2008-07-15 | Neteffect, Inc. | Transaction switch and network interface adapter incorporating same |
US6839793B2 (en) * | 2001-03-28 | 2005-01-04 | Intel Corporation | Method and apparatus to maximize bandwidth availability to USB devices |
US20020194407A1 (en) * | 2001-04-25 | 2002-12-19 | Kim Hyon T. | Maintaining fabric device configuration through dynamic reconfiguration |
US6438128B1 (en) * | 2001-05-08 | 2002-08-20 | International Business Machines Corporation | Alternate use of data packet fields to convey information |
US6459698B1 (en) * | 2001-06-18 | 2002-10-01 | Advanced Micro Devices, Inc. | Supporting mapping of layer 3 priorities in an infiniband ™ network |
US6973085B1 (en) * | 2001-06-18 | 2005-12-06 | Advanced Micro Devices, Inc. | Using application headers to determine InfiniBand™ priorities in an InfiniBand™ network |
US7860120B1 (en) | 2001-07-27 | 2010-12-28 | Hewlett-Packard Company | Network interface supporting of virtual paths for quality of service with dynamic buffer allocation |
US6970921B1 (en) * | 2001-07-27 | 2005-11-29 | 3Com Corporation | Network interface supporting virtual paths for quality of service |
GB2381709A (en) * | 2001-10-30 | 2003-05-07 | Graeme Roy Smith | Programmable set-top box and home gateway |
TW538364B (en) * | 2001-12-10 | 2003-06-21 | Via Tech Inc | USB control circuit capable of automatically switching paths |
US6963932B2 (en) * | 2002-01-30 | 2005-11-08 | Intel Corporation | Intermediate driver having a fail-over function for a virtual network interface card in a system utilizing Infiniband architecture |
US6766405B2 (en) | 2002-03-28 | 2004-07-20 | International Business Machines Corporation | Accelerated error detection in a bus bridge circuit |
WO2004008313A1 (en) * | 2002-07-15 | 2004-01-22 | Axalto Sa | Usb device |
EP1530757B1 (en) * | 2002-07-15 | 2011-10-26 | Gemalto SA | Usb device |
US6928509B2 (en) * | 2002-08-01 | 2005-08-09 | International Business Machines Corporation | Method and apparatus for enhancing reliability and scalability of serial storage devices |
US7894480B1 (en) | 2002-08-27 | 2011-02-22 | Hewlett-Packard Company | Computer system and network interface with hardware based rule checking for embedded firewall |
US7724740B1 (en) | 2002-08-27 | 2010-05-25 | 3Com Corporation | Computer system and network interface supporting class of service queues |
US7000043B2 (en) * | 2002-09-18 | 2006-02-14 | Sun Microsystems, Inc. | Methods and apparatus for controlling performance of a communications device |
KR100449807B1 (ko) * | 2002-12-20 | 2004-09-22 | 한국전자통신연구원 | 호스트 버스 인터페이스를 갖는 데이터 전송 프로토콜제어 시스템 |
JP3907609B2 (ja) * | 2003-04-30 | 2007-04-18 | 株式会社ソニー・コンピュータエンタテインメント | ゲーム実行方法、ゲーム機、通信方法および通信装置 |
US7065601B2 (en) * | 2003-06-06 | 2006-06-20 | Stmicroelectronics N.V. | Interface for prototyping integrated systems |
US7398345B2 (en) * | 2003-06-12 | 2008-07-08 | Hewlett-Packard Development Company, L.P. | Inter-integrated circuit bus router for providing increased security |
US8539096B2 (en) * | 2003-09-26 | 2013-09-17 | Lsi Corporation | Systems and methods for configuring ports of an SAS domain |
CN1906559B (zh) * | 2003-12-30 | 2010-10-13 | 威步系统股份公司 | 用于控制数据处理设备的方法 |
US7284081B2 (en) * | 2004-01-27 | 2007-10-16 | Atmel Corporation | Method and system for routing data between USB ports |
DE102004057756B4 (de) * | 2004-11-30 | 2009-08-06 | Advanced Micro Devices Inc., Sunnyvale | USB-Steuerungseinrichtung mit OTG-Steuerungseinheit |
TW200642210A (en) * | 2005-02-08 | 2006-12-01 | Koninkl Philips Electronics Nv | Scalable universal serial bus architecture |
US20060212870A1 (en) * | 2005-02-25 | 2006-09-21 | International Business Machines Corporation | Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization |
US7496790B2 (en) * | 2005-02-25 | 2009-02-24 | International Business Machines Corporation | Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization |
US8458280B2 (en) * | 2005-04-08 | 2013-06-04 | Intel-Ne, Inc. | Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations |
US8189599B2 (en) * | 2005-08-23 | 2012-05-29 | Rpx Corporation | Omni-protocol engine for reconfigurable bit-stream processing in high-speed networks |
US7782873B2 (en) * | 2005-08-23 | 2010-08-24 | Slt Logic, Llc | Omni-protocol engine for reconfigurable bit-stream processing in high-speed networks |
US7519754B2 (en) * | 2005-12-28 | 2009-04-14 | Silicon Storage Technology, Inc. | Hard disk drive cache memory and playback device |
US20070147115A1 (en) * | 2005-12-28 | 2007-06-28 | Fong-Long Lin | Unified memory and controller |
US7889762B2 (en) | 2006-01-19 | 2011-02-15 | Intel-Ne, Inc. | Apparatus and method for in-line insertion and removal of markers |
US7782905B2 (en) * | 2006-01-19 | 2010-08-24 | Intel-Ne, Inc. | Apparatus and method for stateless CRC calculation |
US7849232B2 (en) | 2006-02-17 | 2010-12-07 | Intel-Ne, Inc. | Method and apparatus for using a single multi-function adapter with different operating systems |
US8316156B2 (en) * | 2006-02-17 | 2012-11-20 | Intel-Ne, Inc. | Method and apparatus for interfacing device drivers to single multi-function adapter |
US20070208820A1 (en) * | 2006-02-17 | 2007-09-06 | Neteffect, Inc. | Apparatus and method for out-of-order placement and in-order completion reporting of remote direct memory access operations |
US8078743B2 (en) * | 2006-02-17 | 2011-12-13 | Intel-Ne, Inc. | Pipelined processing of RDMA-type network transactions |
US8230149B1 (en) | 2007-09-26 | 2012-07-24 | Teradici Corporation | Method and apparatus for managing a peripheral port of a computer system |
US20090296726A1 (en) * | 2008-06-03 | 2009-12-03 | Brocade Communications Systems, Inc. | ACCESS CONTROL LIST MANAGEMENT IN AN FCoE ENVIRONMENT |
US8671228B1 (en) * | 2009-10-02 | 2014-03-11 | Qlogic, Corporation | System and methods for managing virtual adapter instances |
US8904119B2 (en) | 2012-10-31 | 2014-12-02 | Lsi Corporation | Method and structures for performing a migration of a logical volume with a serial attached SCSI expander |
US8904108B2 (en) | 2012-10-31 | 2014-12-02 | Lsi Corporation | Methods and structure establishing nested Redundant Array of Independent Disks volumes with an expander |
US8782292B2 (en) | 2012-10-31 | 2014-07-15 | Lsi Corporation | Methods and structure for performing a rebuild of a logical volume with a serial attached SCSI expander |
US9135198B2 (en) | 2012-10-31 | 2015-09-15 | Avago Technologies General Ip (Singapore) Pte Ltd | Methods and structure for serial attached SCSI expanders that self-configure by setting routing attributes of their ports based on SMP requests |
US8756345B2 (en) | 2012-10-31 | 2014-06-17 | Lsi Corporation | Methods and structure for managing protection information with a serial attached SCSI expander |
US20170168971A1 (en) * | 2015-12-15 | 2017-06-15 | Intel IP Corporation | Re-enumerating media agnostic devices |
CN111610732B (zh) * | 2020-04-28 | 2021-09-24 | 同方泰德国际科技(北京)有限公司 | 更换可配置型输入/输出模块的方法、装置及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001167040A (ja) * | 1999-12-14 | 2001-06-22 | Hitachi Ltd | 記憶サブシステム及び記憶制御装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4939644A (en) * | 1983-05-19 | 1990-07-03 | Data General Corporation | Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system |
US4750113A (en) * | 1985-02-28 | 1988-06-07 | Unisys Corporation | Dual function I/O controller |
DE68927627T2 (de) * | 1988-10-24 | 1997-04-24 | Fujitsu Ltd | Ein-/Ausgabeverarbeitungssystem für einen virtuellen Rechner |
US5548782A (en) * | 1993-05-07 | 1996-08-20 | National Semiconductor Corporation | Apparatus for preventing transferring of data with peripheral device for period of time in response to connection or disconnection of the device with the apparatus |
ATE195027T1 (de) * | 1994-02-10 | 2000-08-15 | Elonex I P Holdings Limited | Verzeichnis für ein-/ausgangsdecoder |
US5655148A (en) * | 1994-05-27 | 1997-08-05 | Microsoft Corporation | Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information |
US5671441A (en) * | 1994-11-29 | 1997-09-23 | International Business Machines Corporation | Method and apparatus for automatic generation of I/O configuration descriptions |
JP3274604B2 (ja) * | 1996-04-26 | 2002-04-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 周辺デバイスの自動イネーブル方法 |
US5815731A (en) * | 1996-10-31 | 1998-09-29 | International Business Machines Corporation | Method and system for providing device driver configurations on demand |
US5964852A (en) * | 1996-11-08 | 1999-10-12 | Rockwell International Corporation | Programmable data port interface adapter |
US6058445A (en) * | 1997-05-13 | 2000-05-02 | Micron Electronics, Inc. | Data management method for adding or exchanging components on a running computer |
US5892928A (en) * | 1997-05-13 | 1999-04-06 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver |
-
2000
- 2000-01-04 US US09/477,591 patent/US6199137B1/en not_active Expired - Lifetime
- 2000-01-05 JP JP2000592732A patent/JP4606589B2/ja not_active Expired - Fee Related
- 2000-01-05 GB GB0112729A patent/GB2359911B/en not_active Expired - Fee Related
- 2000-01-05 WO PCT/US2000/000177 patent/WO2000041074A2/en active Search and Examination
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001167040A (ja) * | 1999-12-14 | 2001-06-22 | Hitachi Ltd | 記憶サブシステム及び記憶制御装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2000041074A8 (en) | 2001-06-21 |
US6199137B1 (en) | 2001-03-06 |
WO2000041074A2 (en) | 2000-07-13 |
GB2359911B (en) | 2003-09-24 |
GB2359911A (en) | 2001-09-05 |
WO2000041074A3 (en) | 2000-11-02 |
GB0112729D0 (en) | 2001-07-18 |
JP4606589B2 (ja) | 2011-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4606589B2 (ja) | 入出力デバイスを動的に再構成する装置及び方法 | |
US7660937B2 (en) | Emulating a USB host controller | |
US7552241B2 (en) | Method and system for managing a plurality of I/O interfaces with an array of multicore processor resources in a semiconductor chip | |
US10333865B2 (en) | Transformation of peripheral component interconnect express compliant virtual devices in a network environment | |
US7743197B2 (en) | System and method for virtualizing PCIe devices | |
US20160283428A1 (en) | Method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch | |
US6141708A (en) | Host bridge configured to mask a portion of peripheral devices coupled to a bus further downstream of the host bridge from a host processor | |
JP4491765B2 (ja) | ポートルータ | |
US6785760B2 (en) | Performance of a PCI-X to infiniband bridge | |
JP2000215116A (ja) | ユニバ―サル・シリアル・バス・インタプリタ | |
KR20070003954A (ko) | 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템 | |
JP2021530813A (ja) | 専用低レイテンシリンクを使用した複数のハードウェアアクセラレータのための統合されたアドレス空間 | |
US11714776B2 (en) | Enabling a multi-chip daisy chain topology using peripheral component interconnect express (PCIe) | |
CN1561493A (zh) | 多节点系统中硬件事件的聚集 | |
US7702717B2 (en) | Method and apparatus for controlling management agents in a computer system on a packet-switched input/output network | |
US7428609B2 (en) | Method and system to partition hardware resources between operating systems | |
CN115658586A (zh) | 资源管理芯片、方法、电子设备及可读存储介质 | |
US7389363B2 (en) | System and method for flexible multiple protocols | |
JP6760579B2 (ja) | ネットワークラインカード(lc)のホストオペレーティングシステム(os)への統合 | |
EP1817677B1 (en) | Usb on-the-go controller | |
WO2009148432A1 (en) | Queue sharing and reconfiguration in pci express links | |
Intel | ||
JP2007507045A (ja) | コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品 | |
JP2006513489A (ja) | クラスタ化されたコンピュータシステムのための適応プロセッサノードのスケーラブルな相互接続のためのシステムおよび方法 | |
US11422824B2 (en) | Computer activation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061222 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100106 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100406 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100413 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100706 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100706 |
|
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: 20100913 |
|
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: 20101006 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 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 |
|
LAPS | Cancellation because of no payment of annual fees |