JP4606589B2 - 入出力デバイスを動的に再構成する装置及び方法 - Google Patents
入出力デバイスを動的に再構成する装置及び方法 Download PDFInfo
- Publication number
- JP4606589B2 JP4606589B2 JP2000592732A JP2000592732A JP4606589B2 JP 4606589 B2 JP4606589 B2 JP 4606589B2 JP 2000592732 A JP2000592732 A JP 2000592732A JP 2000592732 A JP2000592732 A JP 2000592732A JP 4606589 B2 JP4606589 B2 JP 4606589B2
- Authority
- JP
- Japan
- Prior art keywords
- controller
- configuration
- port
- virtual
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 32
- 230000008569 process Effects 0.000 claims description 11
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 230000008672 reprogramming Effects 0.000 claims 2
- 230000002093 peripheral effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Stored Programmes (AREA)
Description
この出願は、その開示内容を参考のため本願明細書中に引用した、2000年1月4日付Aguilar 外の米国特許出願第 号”ポート・ルータ”に関連する。この出願は、その開示内容を、これも参考のため本願明細書中に引用した米国仮出願第60/114,771号、第60/114,772号及び第60/114,767号に関して優先権を主張する。
【0002】
〔発明の分野〕
この出願は半導体デバイス、特に、入/出力(IO)コントローラに係る。
〔発明の背景〕
IOコントローラは、コンピュータ・オペレーティングシステムとIOインタフェースとを接続する機能を果たす。従来のコンピュータ・オペレーティングシステムの場合、インストラクションを形成する記述子リストをIOコントローラが読み取り、これに従ってその仕事を行う。最近のIOコントローラは、記述子中に規定されているオペレーションを読み取り、開始するハードウェア回路を含む。記述子に著しい変動があれば、新しい回路が必要になり、従って、既存回路が時代遅れのものになる。実際には、新しいオペレーティングシステムの開発と新しいハードウェアの開発が遅れる事態となる。両者の開発には、相互の整合性が要求されるからである。
【0003】
IOコントローラ・インタフェースの演算速度は固定的であるのが普通であり、コントローラはインタフェースの帯域幅に制限される。別のインタフェースを追加するには、アド・オン・ボードを追加するか、マザー・ボードを設計し直すことによって、新しいコントローラ・インタフェース・デバイスを構成しなければならない。
【0004】
IOデバイスの帯域幅を増大させる試みがなされているが、そのためにはデバイスのハードウェアを変更する必要があり、帯域幅を動的に加えることは不可能であった。ハードウェアの変更、又はシステムへのハードウェア追加には、再構成経費、追加ハードウェア経費の他、既存オペレーティングシステムと適合しない可能性など、数多くの問題がある。さらに、新しいハードウェアの追加はシステムをオフにして行われ、新しいハードウェアを組込む技術者が必要であり、新しいハードウェアをサポートするためにオペレーティングシステムを変更するシステム管理者も必要になるであろう。この方法は困難であり、エラーを伴い易く、コストが大きく、多大の時間を要する設計及び性能強化を必要とする。
【0005】
従って、記述子の変動に対応することによって、機能を追加し、性能を向上させ、又は前後両方向のコンパチビリティーを可能にするデバイスの実現が望まれる。さらにまた、システムの条件に応じて、新しいハードウェアを追加することなく、IOコントローラの新しいインスタンスを動的に形成することによって追加の帯域幅を提供できるデバイスもの実現も望まれる。
【0006】
〔発明の概要〕
本発明の第1の態様においては、IOコントローラによってコンピュータ・システムへのデータ・フローを制御する方法が提供される。この方法は、IOコントローラの所要構成を求め、1つ又は2つ以上の記述子を処理できるようにIOコントローラを再プログラミングし、1つ又は2つ以上の仮想コントローラの追加又は抹消を反映するようにIOコントローラの構成を変更し、IOコントローラを枚挙し直し、各IOコントローラ及び1つ又は2つ以上の仮想コントローラごとに、記述子リストを処理することを含む。枚挙し直しの過程で1つ又は2つ以上の仮想コントローラが発見され、初期設定され、IOコントローラによってサポートされる全帯域幅を提供することができる。
【0007】
第2の態様においては、本発明は、システム・バス・インタフェース、プログラマブル・リスト・プロセッサ及びポート・ルータからなる、IOコントローラとして使用する集積回路デバイスである。この集積回路デバイスは、1つ又は2つ以上の仮想コントローラを追加又は抹消するための再構成に採用される。仮想コントローラは、集積回路デバイスによってサポートされる、実質的な全帯域幅を提供する。
【0008】
本発明はパーソナル・コンピュータ・システムにおいて利用できるが、例えば、情報機器、セット・トップ・ボックス、ケ−ブル・モデム、ゲーム・コンソール、スマート・アプライアンス、ハンドヘルド・コンピュータ、手のひらサイズ・コンピュータ、組込制御システム、ワークステーション、サーバーなどのようなタイプのコンピュート・プラットフォームにも応用できる。
【0009】
〔発明の詳細な説明〕
本発明はデータ・フロー・プロトコル及び/又は上位システム相互作用に起こる変化に対応するように、IOデバイスを動的に再構成する装置及び方法を提供する。本発明は、データ転送のため、オペレーティングシステムが使用できる新しいチャンネルを形成する仮想コントローラの追加(又は抹消)を可能にする。IOデバイスは、高帯域幅を必要とする周辺デバイスのための専用スループットを提供し、複数の低帯域幅デバイスをグルーピングすることによって、データ転送を効率化することができる。本発明は、オペレーティングシステムの変化、システム条件の変化、デバイス中の問題又はバグ、及びデータ・フロー・プロトコルに対応できる新しいオペレーティングプログラムを組込むことを可能にする。
【0010】
本発明は、追加内部回路をコンピュート・プラットフォーム(即ち、IOコントローラ)内に集積する、現実的且つ経済的解決を提供する。IOコントローラは、IO流れ(バス、インタフェース、ネットワーク・コネクション)とホスト・コンピュータにおけるオペレーティングシステム・トライバーとの間にブリッジを形成する。本発明は、プログラム化可能性を利用することにより、ブリッジのIO流れとオペレーティングシステム・インタフェースとの双方の側の動作を変化させる方法及び装置を提供する。
【0011】
本発明は、例えば、USB,IEEE−1394,Fibre Channel,Infiniband及びEthernetなどのようなIOコントローラに応用できる。本発明の装置及び方法は、周辺デバイスとコンピュート・プラットフォームとの間のデータ・フローを増大させることができる。データ・フローを増大させるのにユーザーが干渉する必要はなく、コンピュート・プラットフオームに複合デバイスを組込むだけでよい。本発明はパーソナル・コンピュータ・システムに利用できるが、その他のタイプのコンピュート・プラットフォーム、例えば、情報機器、セット・トップ・ボックス、ケ−ブル・モデム、ゲーム・コンソール、スマート・アプライアンス、ハンドヘルド・コンピュータ、手のひらサイズ・コンピュータ、組込制御システム、ワークステーション、サーバーなどのようなタイプのコンピュート・プラットフォームにも応用できる。
【0012】
本発明のIOコントローラはマーケット寿命が長く、バグに対する対策を速やかに練り、実施することを可能にし、オペレーティングシステムの記述子リストのエラーにも変更にも適応し、新しいタイプの記述子演算の組込を可能にする。本発明は、広範囲にわたるシステムの諸条件を満たすのに必要な製品数を軽減する。
【0013】
添付の図面はあくまでも説明のためのものであり、本発明の可能な実施態様を制限するものではない。ポート及びIOコントローラの数は個々のシステム又は用途に必要な条件に応じて異なる。
図1に示す本発明の一実施例では、システム・バス・インタフェース120、プログラム可能なリスト・プロセッサ110、及びポート・ルータ130を有する、IOコントローラとして使用するための集積回路(IC)デバイス100を設ける。システム・バス・インタフェース120、プログラム可能なリスト・プロセッサ110及びポート・ルータ130は機能的に接続されている。ポート・ルータ130は好ましくは1つ又は2つ以上のインタフェース・ポート140とも接続している。
【0014】
プログラム可能なリスト・プロセッサ110を採用することにより、IOコントローラは、”シングル・スレッデッド”、即ち、一度に単一の記述子リストだけを実行できる既存のシステムとは異なり、多重記述子リストを処理するために再プログラム又は再構成することができる。この機能により、本発明のIOコントローラは複数の別々のハードウェア・コントローラと同様に作用することができる。
【0015】
図4は本発明と併用できるポート・ルータ400の一実施例を示すブロックダイヤグラムである。ポート・ルータ400は、コントローラ・スイッチ420、ポート・スイッチ440、及びコントローラ・スイッチ420とポート・スイッチ440の間の結線450から成る。結線450はハブ素子401を含む。ポート・ルータ400はポートA〜Dを単一のコントローラ (コントローラA)と接続する。コントローラ・スイッチ420、ポート・スイッチ440及び結線450はそれぞれ固有の可能入出力を有する。ポート・スイッチ440は固定入力441〜444を有し、それぞれの固定入力はインタフェース・ポートと接続している。ポート・スイッチ440は任意のポートを1つ又は2つ以上のポート・スイッチ出力へルーティングする。ポート・スイッチ440はすべてのルーティング素子を支持するのに充分な出力総数を有する。図4の実施例の場合、ポート・スイッチ440はハブ素子401のための4個の出力を有する。ハブ素子は、用途に応じたIOインタフェースの条件を満たすものであることが好ましい。各ハブ素子はその入力を組合わせ、コントローラ・スイッチ420に入力される単一の出力を提供する。IOインタフェースによっては、ハブ素子401をブリッジ、コンセントレーター又は物理的インタフェースと呼称する場合がある。ポート・スイッチ440をコントローラ・スイッチ420に接続するには、多重ハブ素子を使用すればよい。
【0016】
コントローラ・スイッチ420は、ハブ素子との結線ごとに1つの入力、ポート・スイッチ440との各直接結線(図2)ごとに1つの入力をそれぞれ有することが好ましい。コントローラ・スイッチ420からの出力は所与の用途に必要な、又は利用可能なコントローラの個数に合わせて設定する。図4に示すように、コントローラ・スイッチは、ハブ素子401と接続する1つの入力421、及びコントローラAと接続する1つの出力427を有する。なお、ここに言う”入力”及び”出力”はいずれも、双方向データ・フローを扱うことができる結線(一般的には”入/出力”と呼称される)を意味する。
【0017】
図5は、図4のポート・ルータ400のポートDに新しいデバイスを付加した場合を示し、ここでは、コントローラ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へ供給される。
【0018】
動作時には、いくつかのポート入力が所要のコントローラと接続しているデフォルト状態から、ポート・スイッチ400がスタートすることが好ましい。図4の実施例の場合、システムは4つのポート、ポートA及びBと接続する2つのデバイス、1つのハブ素子401、及び1つのコントローラAを備えたデフォルト状態にある。好ましくはポート・ルータ400中に存在する1組の(図示しない)ハードウェア・レジスターを介して、システム中で動作するソフトウェアがポート・ルータ400に問合わせ、デフォルト・トポロジーを発見することができる。システムのソフトウェアはハードウェア・レジスターの値をプログラムすることによって、ポート及びコントローラ間の信号ルートを変更することができる。動作中に事象が起こる。この事象としては、例えば、新しいデバイスの除去又はポートへの挿入が考えられる。この事象がソフトウェアをトリガーすることによって、この新しいデバイスの条件を検討する。これらの条件には、デバイスのデータ容量条件(帯域幅及び待ち時間)やそのデータ・スタイル(非同期的、等時的、バースト、流れ)などが含まれる。新しい条件が、既に実装されているデバイスから課せられる一連の条件と組合わされ、ポートをルーティングするための新しい、好ましくは最適化されたトポロジーが計算される。好ましくは、システムのソフトウェアがIOの動作を中断させ、ポートとIOコントローラとの間を再ルーティングさせる。次いで、システムのソフトウェアがIOの動作を再開させ、最適化されたルーティングが、新しい事象が起こるまで、新しいルーティングとなる。
【0019】
他の実施例では、ポート・ルータ400が、システム・ソフトウェアの干渉を必要とすることなく、ルーティング及び再ルーティングが内部的に行われることを可能にする組込ソフトウェアを含むことが好ましい。これにより、自己モニターが可能になり、ポート・ルータ400を通過するデータ・フローに基づく動的な負荷平衡が可能になる。
【0020】
図2に示す本発明の他の実施例では、システム・バス・インタフェースとしての周辺部品相互接続(PCI)バス220、プログラム可能リスト・プロセッサ210、ポート・ルータ230、データ・マックス250、及び複数のFIFO(先入れ先出し)データ・バッファー260を有する、IOコントローラとして利用される集積回路(IC)デバイス200を設ける。また、ポート・ルータ230に1つ又は2つ以上のインタフェース・ポート240を接続することが好ましい。素子のそれぞれが機能的に接続されることにより、データ信号及び制御信号が素子間で伝送されるようにすることが好ましい。
【0021】
インタフェースから受信されるデータは、好ましくはポート240及びポート・ルータ230を経て、特定のFIFO260に向けられることが好ましい。データ・エレメントがFIFO260に受信されると、リスト・プロセッサ210がこれを検討し、その配置を確認することが好ましい。データ・エレメントに対する作用は、インタフェースに対するプロトコル・ルール次第であり、例えば、Ethernet,USB,IEEE−1394等では、それぞれ異なる作用となる。リスト・プロセッサ210に組込まれている制御ソフトウェアが所要の構成を決定することが好ましい。リスト・プロセッサ210は、例えば、下記のように作用することが好ましい。すなわち、データ・エレメントをシステム・メモリへ伝送し、未完のトランザクションを完了させ、エラーをシステムへ伝送させ、エラーをインタフェースへ伝送させ、インタフェースへ伝送すべきデータを作成する。PCIバス220を介してシステム・メモリとの間で伝送されるデータはすべて、好ましくはデータ・マックス250素子を通過する。システム・メモリからインタフェースへデータ・エレメントを伝送したい場合、PCIバス220を介して受信し、データ・マックス250を通過させ、該当のFIFO260に入力させることが好ましい。システム・メモリからのデータ取出しを開始させたリスト・プロセッサは、インタフェースへ伝送されるように準備し、データ伝送が可能な状態にあるかどうか、インタフェースの状態をモニターすることが好ましい。もしインタフェースが応答しないか、又は作動不能なら、リスト・プロセッサ210は下記のように作用することが好ましい。すなわち、後で再伝送するためデータを保管、システムへエラーをリポート、等である。
【0022】
リスト・プロセッサ素子210は、ポートとシステム・バスの間のデータ・フローを制御する機能を有するマイクロプロセッサやマイクロコントローラのような、汎用コンピュート・エンジンの特性の多くを有することが好ましい。リスト・プロセッサ素子210は、好ましくはROMに固定されているか、より好ましくはダウンロードされているソフトウェアを実行する。ソフトウェアは、好ましくはインタフェースに関するプロトコルの定義、典型的には、工業規格に従って書き込まれる。プライベート・インタフェース規格に基づくソフトウェアを使用することもできることが好ましい。例えば、プロトコルによる規定上、システムがデータ・エレメントを送信し、データが正しく受信されたとの確認を受信しなければならない場合、リスト・プロセッサ素子は、確認の受信を想定し、確認が受信されない場合には、再送信を開始するか、又はシステムへエラーを送信するソフトウェア制御構造を有する。具体的な作用内容は、プロトコル定義のルール次第である。
【0023】
システム・バス120は、例えば、PCI−X,Infiniband,VMEバス、HubLink等のようなマルチマスター・バス構造をも含むことができる。これらオペレーティングシステムに共通の特徴は枚挙段階である。枚挙の段階において、システム・ソフトウェアが、システム・バスに存在するハードウェアを問合わせ、ハードウェアの特徴を記述するデータを作成する。本発明と併用されるオペレーティングシステムは、必要なら再枚挙できることが好ましい。
【0024】
本発明は、枚挙の段階においてリポートされるデフォルト構成を有する。好ましいデフォルト状態において、リスト・プロセッサ110は、単一のリストを処理するようにプログラムされ、オペレーティングシステムに対して単一のIOコントローラをリポートするように構成されている。また、起動時におけるデフォルト状態が、それまでのパワー・ダウン前から維持されている状態であることが好ましい。
【0025】
動作中、リスト・プロセッサ110は好ましくは、オペレーティングシステムの指令を翻訳し、実行するように機能する。オペレーティングシステムが理解し、あたかも複数の個別IOコントローラ・ハードウェアが存在するかのように作用できるように、仮想コントローラを形成することができる。
IOコントローラのハードウェア記述を修正し、オペレーティングシステムがIOコントローラの再枚挙することをリクエストすることにより、1つ又は2つ以上の新しい仮想IOコントローラを形成又は抹消することができる。新しいIOコントローラの動的形成は、実際の限界(即ち、システム・バス帯域幅、IOコントローラ数の限界等)に達するまで何度でも行うことができる。
【0026】
図3のフロー・ダイヤグラムに示す本発明の方法の一実施例では、現時点のIOコントローラ構成を変更する決定がなされる。この決定はオペレーティングシステム又はIOコントローラ内の(図示しない)モニタリング素子によって行うことができる。現時点のIOコントローラ構成を変更する決定は、例えば、IOコントローラを通過するデータ・フローの増減などのような1つ又は2つ以上の所定条件の存在に基づいて行うことが好ましい。
【0027】
この決定は、例えば、下記判定基準に基づいて行うことが好ましい。周辺デバイスの総帯域幅条件、特定周辺デバイスの帯域幅条件、特定周辺デバイスの待ち時間条件、競合周辺デバイスの存在、周辺デバイスのトポロジー、周辺デバイスの付加又は除去、既存周辺デバイス帯域幅条件の増減、既存周辺デバイス待ち時間条件の増減、等。
【0028】
次いで、IOコントローラの動作を一時的に中断させることが好ましい。IOコントローラに組込まれているデバイスの作用を中断(又は、スリープへの移行)させることにより、データ・フローを止める。次いで、リスト・プロセッサ110を、システムに付加された仮想コントローラのそれぞれについて、1つ又は2つ以上の記述子リストを処理できるようにプログラムすることが好ましい。それまで演算中であった記述子リストは手つかずのままであり、演算が再開されると、新しい記述子リストと一緒に処理される。IOコントローラの構成は、1つ又は2つ以上の仮想コントローラの付加又は抹消を反映するように変更される。好ましくは、IOコントローラと接続しているデバイスを、効率のよいデータ・パスを提供して、IOコントローラを通過するデータ・フローを最適化又は改善する所要の構成となるように再ルーティングする。この再ルーティングは、典型的な方法として、データ・フローを1つ又は2つ以上のIOコントローラ間に分割することによって行われる。
【0029】
再構成が完了すると、IOコントローラを再枚挙するようオペレーティングシステムに対して、リクエストが行われる。仮想コントローラが検知され、どのコントローラにどのデバイスを接続すべきかをオペレーティングシステムが問合わせる。記述子リストが作成され、リスト・プロセッサ110が各記述子リストの処理を開始する。次いで、デバイスは動作を再開することができる。典型的には、オペレーティングシステムによってデバイスが再枚挙される。
【0030】
リスト・プロセッサ110の特徴として、多重記述子リストを同時的に処理できる、いわゆるマルチ・スレッド性が挙げられる。リスト・プロセッサ110が同時的に実行できる代表的な動作としては、下記の動作が挙げられる。システム・メモリーからの取出し、キャッシング(又は、システム・メモリーへのアクセス回数を減らさねばならなくなる前に、記述子を取出すこと)、記述子のバリデーション、データ伝送用IOハードウェアの準備、データ・フロー・プロトコル・エレメントの構成、システム・メモリーとの間のデータ取出し又は供給、除外すべきデータ・フローのモニタリング、完成すべきデータ・フローのモニタリング、記述子の終了、エラーの処理及び一掃、及びオペレーティングシステムへの結果リポート。
【0031】
したがって、本発明の一実施例による、コンピュータ・システムにおいてIOコントローラを通過するデータ・フローを制御する方法は、IOコントローラに必要な構成を決定し、1つ又は2つ以上の記述子リストを処理できるようにIOコントローラを再プログラムし、1つ又は2つ以上の仮想コントローラの付加又は抹消を反映するようにIOコントローラの構成を変更し、IOコントローラを再枚挙し、IOコントローラ及び仮想コントローラのそれぞれについて、1つの記述子リストを処理するステップから成る。枚挙の過程において、1つ又は2つ以上の仮想コントローラを発見し、起動し、そして、IOコントローラによって支持され、且つインタフェース仕様によって定められた全帯域幅を提供することが好ましい。
【0032】
IOコントローラの構成を変更する際には、1つ又は2つ以上の仮想コントローラの存在を示唆する1つ又は2つ以上の新しい構成記述子を作成することが好ましい。インタフェース・ポートからの結線を、効率的なデータ・フローを可能にする所要のルーティング構成となるように、再ルーティングすることが好ましい。IOコントローラに必要な構成の決定と、IOコントローラの構成変更はコンピュータ・システム中のドライバー、又はIOコントローラに組込まれたファームウェアの制御下に行われることが好ましい。IOコントローラの所要構成を決定する際には、IOコントローラの既存構成を、既存の条件に基づいて変更すべきかどうかを判断し、既存条件に基づいてIOコントローラの最適化構成を決定することが好ましい。
【0033】
本発明の他の実施例による、コンピュータ・システムにおいてIOコントローラを通過するデータ・フローを制御する方法は、1つ又は2つ以上の所定条件が存在すると、再構成モードに入り、IOコントローラの所要構成を決定し、1つ又は2つ以上の記述子リストを処理できるようにIOコントローラを再プログラムし、1つ又は2つ以上の仮想コントローラの付加又は抹消を反映するようにIOコントローラの構成を変更し、IOコントローラを再枚挙し、各IOコントローラ及び1つ又は2つ以上の仮想コントローラごとに1つの記述子リストを処理するステップから成る。再構成モードに入る際には、コンピュータ・システムと接続しているデバイスの動作を中断させることが好ましい。所定条件には、IOコントローラを通過するデータ・フローの増減が含まれることが好ましい。
【0034】
第2の態様においては、本発明は、システム・バス・インタフェース、プログラム可能リスト・プロセッサ及びポート・ルータから成る、IOコントローラとして利用される集積回路デバイスに係る。システム・バス・インタフェース、プログラム可能リスト・プロセッサ及びポート・ルータは機能的に接続されることが好ましい。集積回路デバイスは、1つ又は2つ以上の仮想コントローラを付加又は抹消するため再構成でき、仮想コントローラが、集積回路デバイスによって支持される、実質的な全帯域幅を提供することが好ましい。
【0035】
添付図面に沿って本発明の実施例を以上に説明したが、本発明はこれら実施例に制限されるものではなく、当業者なら、本発明の思想と範囲を逸脱することなく、多様な変更を加えることができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態のブロック・ダイヤグラムである。
【図2】 本発明の他の実施形態のブロック・ダイヤグラムである。
【図3】 本発明の方法の一実施形態を説明するフロー・ダイヤグラムである。
【図4】 本発明と併用できるポート・ルータの一実施形態を示すブロック・ダイヤグラムである。
【図5】 本発明と併用できるポート・ルータの他の実施形態を示すブロック・ダイヤグラムである。
Claims (9)
- IOコントローラを介して、1つ又は2つ以上のポート・インタフェースからコンピュータ・システムの内部回路へ流れるデータ・フローを制御する方法であって、
前記IOコントローラの所要構成を決定するステップと、
1つ又は2つ以上の記述子リストを処理できるように前記IOコントローラを再プログラムするステップと、
1つ又は2つ以上の仮想コントローラの付加又は抹消を反映するように前記IOコントローラの構成を変更するステップであって、前記変更は残りの1つ又は2つ以上の仮想コントローラの各々を介してデータ・フローを再配分することを特徴とする、ステップと、
前記IOコントローラを再枚挙するステップと、
前記IOコントローラ及び前記1つ又は2つ以上の仮想コントローラのそれぞれに対応する記述子を処理するステップとを含み、
ポート・インターフェースは、最大帯域幅を支持し、
前記1つ又は2つ以上の仮想コントローラは、前記再枚挙の過程において、発見され、起動され、前記ポート・インターフェースによって支持される前記最大帯域幅を提供することを特徴とする前記方法。 - 前記IOコントローラの構成を変更するステップとして、前記1つ又は2つ以上の仮想コントローラの存在を示唆する1つ又は2つ以上の新しい構成記述子を作成することを特徴とする請求項1に記載の方法。
- 前記IOコントローラへの結線を、所要のルーティング構成となるように再ルートするステップをも含むことを特徴とする請求項1に記載の方法。
- 前記IOコントローラの所要構成を決定し、前記コンピュータ・システム中のドライバーによる制御下に、前記IOコントローラの構成を変更することを特徴とする請求項1に記載の方法。
- 前記IOコントローラの所要構成を決定し、前記IOコントローラに組込まれたファームウェアによる制御下に、前記IOコントローラの構成を変更することを特徴とする請求項1に記載の方法。
- 前記IOコントローラの所要構成を決定するステップが、前記IOコントローラの既存構成を、既存の条件に基づいて変更すべきかどうかを判断し、前記既存の条件に基づいて前記IOコントローラの最適化構成を求めるステップを含むことを特徴とする請求項1に記載の方法。
- コンピュータ・システムにおいて、IOコントローラを流れるデータ・フローを制御する方法であって、
1つ又は2つ以上の所定条件が存在すると、再構成モードに入るステップと、
前記IOコントローラの所要構成を決定するステップと、
1つ又は2つ以上の記述子リストを処理できるように前記IOコントローラを再プログラムするステップと、
1つ又は2つ以上の仮想コントローラの付加又は抹消を反映するように前記IOコントローラの構成を変更するステップであって、前記変更は残りの1つ又は2つ以上の仮想コントローラの各々を介してデータ・フローを再配分することを特徴とする、ステップと、
前記IOコントローラを再枚挙するステップと、
前記IOコントローラ及び前記1つ又は2つ以上の仮想コントローラのそれぞれに対応する記述子を作成するステップとを含み、
前記所定条件が、前記IOコントローラを通過するデータ・フローの増減を含むことを特徴とする前記方法。 - 再構成モードに入る際に、前記コンピュータ・システムと接続しているデバイスの動作を中断させることを特徴とする請求項7に記載の方法。
- IOコントローラとして使用される集積回路デバイスであって、
システム・バス・インタフェースと、
プログラム可能リスト・プロセッサと、
ポート・ルータと、
から成り、
前記システム・バス・インタフェース、前記プログラム可能リスト・プロセッサ及び前記ポート・ルータが機能的に接続され、
前記IOコントローラは、1つ又は2つ以上の記述子リストを処理し、
前記IOコントローラは、1つ又は2つ以上の仮想コントローラの付加又は抹消を反映し、
前記IOコントローラは、再枚挙され、
記述子リストは、前記IOコントローラ及び1つ又は2以上の仮想コントローラの各々について処理され、
1つ又は2つ以上のポート・インターフェースは、最大帯域幅を支持し、
前記1つ又は2つ以上の仮想コントローラは、前記再枚挙の過程において、発見され、前記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,772 | 1999-01-05 | ||
US60/114,771 | 1999-01-05 | ||
US11476799P | 1999-01-06 | 1999-01-06 | |
US60/114,767 | 1999-01-06 | ||
US09/477,591 US6199137B1 (en) | 1999-01-05 | 2000-01-04 | Method and device for controlling data flow through an IO controller |
US09/477,591 | 2000-01-04 | ||
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 JP2003532165A (ja) | 2003-10-28 |
JP2003532165A5 JP2003532165A5 (ja) | 2007-02-15 |
JP4606589B2 true 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 |
---|---|---|---|---|
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 |
US6189109B1 (en) * | 1997-05-13 | 2001-02-13 | Micron Electronics, Inc. | Method of remote access and control of environmental conditions |
US6338150B1 (en) * | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
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 |
US7401126B2 (en) | 2001-03-23 | 2008-07-15 | Neteffect, Inc. | Transaction switch and network interface adapter incorporating same |
US7254647B2 (en) * | 2001-03-23 | 2007-08-07 | International Business Machines Corporation | Network for decreasing transmit link layer core speed |
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 |
EP1532525A1 (en) * | 2002-07-15 | 2005-05-25 | Axalto SA | Usb device |
AU2003281098A1 (en) * | 2002-07-15 | 2004-02-02 | Axalto 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 |
WO2005064480A2 (de) * | 2003-12-30 | 2005-07-14 | Wibu-Systems Ag | Verfahren zum steuern eines datenverarbeitungsgeräts |
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 |
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 |
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 |
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 |
US7782905B2 (en) * | 2006-01-19 | 2010-08-24 | Intel-Ne, Inc. | Apparatus and method for stateless CRC calculation |
US7889762B2 (en) * | 2006-01-19 | 2011-02-15 | Intel-Ne, Inc. | Apparatus and method for in-line insertion and removal of markers |
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 |
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 |
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 |
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 |
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 |
US20170168971A1 (en) * | 2015-12-15 | 2017-06-15 | Intel IP Corporation | Re-enumerating media agnostic devices |
CN111610732B (zh) * | 2020-04-28 | 2021-09-24 | 同方泰德国际科技(北京)有限公司 | 更换可配置型输入/输出模块的方法、装置及设备 |
Family Cites Families (13)
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 |
JP2001167040A (ja) * | 1999-12-14 | 2001-06-22 | Hitachi Ltd | 記憶サブシステム及び記憶制御装置 |
-
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
Also Published As
Publication number | Publication date |
---|---|
GB0112729D0 (en) | 2001-07-18 |
JP2003532165A (ja) | 2003-10-28 |
WO2000041074A8 (en) | 2001-06-21 |
WO2000041074A3 (en) | 2000-11-02 |
WO2000041074A2 (en) | 2000-07-13 |
GB2359911B (en) | 2003-09-24 |
US6199137B1 (en) | 2001-03-06 |
GB2359911A (en) | 2001-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4606589B2 (ja) | 入出力デバイスを動的に再構成する装置及び方法 | |
US7660937B2 (en) | Emulating a USB host controller | |
CN112543925B (zh) | 用于使用专用低延迟链路的多个硬件加速器的统一地址空间 | |
US6253334B1 (en) | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses | |
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 | |
US6600739B1 (en) | Method and apparatus for switching among a plurality of universal serial bus host devices | |
KR101445434B1 (ko) | 가상 인터럽트 모드 인터페이스 및 인터럽트 모드 가상화 방법 | |
US20030093255A1 (en) | Hot plug and hot pull system simulation | |
JP4491765B2 (ja) | ポートルータ | |
US6785760B2 (en) | Performance of a PCI-X to infiniband bridge | |
JP3814535B2 (ja) | 入力装置 | |
JPH08180013A (ja) | コンピュータシステム、pciバスクロック信号周波数における変化に応答してpciバス装置のコンフィギュレーションレジスタを再構成する方法、およびpciバス装置がpciバスと異なる動作速度を有することをオペレータに通知する方法 | |
JP2000215116A (ja) | ユニバ―サル・シリアル・バス・インタプリタ | |
KR20000006576A (ko) | 디지탈데이터처리시스템내의다수의호스트컴퓨터사이에서자원의공유를용이하게하기위한시스템 | |
US20070101016A1 (en) | Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment | |
KR101035832B1 (ko) | 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템 | |
US20230376442A1 (en) | Enabling a Multi-Chip Daisy Chain Topology using Peripheral Component Interconnect Express (PCIe) | |
US5550990A (en) | Physical partitioning of logically continuous bus | |
JP2002539524A (ja) | 周辺デバイス割込みを処理するための装置および方法 | |
US7702717B2 (en) | Method and apparatus for controlling management agents in a computer system on a packet-switched input/output network | |
CN1561493A (zh) | 多节点系统中硬件事件的聚集 | |
US6173341B1 (en) | System and method for configuring adapters in a computer system | |
US20080005374A1 (en) | System and Method for Flexible Multiple Protocols | |
US7099966B2 (en) | Point-to-point electrical loading for a multi-drop bus | |
JP4359618B2 (ja) | コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
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 | Request for written amendment filed |
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 |