JP2000222346A - インテリジェントi/oコントロ―ラにおけるpci―pciブリッジに対する結合デバイスに関する装置及び方法 - Google Patents

インテリジェントi/oコントロ―ラにおけるpci―pciブリッジに対する結合デバイスに関する装置及び方法

Info

Publication number
JP2000222346A
JP2000222346A JP11076310A JP7631099A JP2000222346A JP 2000222346 A JP2000222346 A JP 2000222346A JP 11076310 A JP11076310 A JP 11076310A JP 7631099 A JP7631099 A JP 7631099A JP 2000222346 A JP2000222346 A JP 2000222346A
Authority
JP
Japan
Prior art keywords
pci
bus
space
memory
processor
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.)
Pending
Application number
JP11076310A
Other languages
English (en)
Inventor
Krishnakumar Rao Surugucchi
ラオ スルグッチー クリシュナクマー
Geeta George
ジョージ ジータ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
Mylex Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mylex Corp filed Critical Mylex Corp
Publication of JP2000222346A publication Critical patent/JP2000222346A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping

Abstract

(57)【要約】 (修正有) 【課題】PCI−PCIブリッジの後でPCIデバイス
を透過的に結合するための装置及び方法。 【解決手段】コントローラは、PCI−PCIブリッジ
と、それによってプライマリPCIバスに結合されたセ
カンダリPCIバスを包含する。ブリッジアシストデバ
イス(BASS)は、システムメモリの一部を獲得する
ための露出したPCIデバイスの1つである。メモリア
ドレススペースは隠れPCIデバイスの各々に割り当て
られる。隠れPCIデバイスは、データをローカルCP
U214に転送するためにメモリアドレススペースを使
用する。Loca−PCIブリッジは、システムメモリ
の部分である第2のメモリアドレススペースを獲得し、
隠れPCIデバイスとローカルメモリとの間のデータを
転送するのに使用される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には、周辺
コントローラに関する。特に、本発明は、PCI−PC
Iブリッジに対するデバイスを結合するための機構を提
供することに関する。
【0002】
【従来の技術】クライアント/サーバアーキテクチャの
激増・拡散により、これらのアーキテクチャの性能を改
善するように増加した関心を導く。クライアント/サー
バアーキテクチャのボトルネックは、ローカルエリアネ
ットワーク(LAN)デバイス、スモール・コンピュー
タ・システム・インターフェース(SCSI)デバイ
ス、モーションビデオデバイスなどのような周辺デバイ
スにアクセスする際のI/Oパフォーマンスである。
【0003】Peripheral Component Interconnet(PC
I)バスは、パーソナルコンピュータに関するI/Oパ
フォーマンスイシューをアドレスするために開発された
バスアーキテクチャである。PCIバスは、システム・
バックプレーンで、LAN及びSCSIデバイスのよう
な周辺デバイスへの直接接続を提供する。PCIバスは
また、RAIDコントローラのようなインテリジェント
I/Oデバイスを、システム・バックプレーンに直接手
接続させることができる。このコンフィギュレーション
は、周辺デバイスにアクセスする際の速度を改善するた
めに有利である。
【0004】図1は、ホストシステムのPCIバススロ
ットのうちの1つに差し込み、1又はそれ以上のSCS
Iコントローラ104A乃至104Nに接続するRAI
Dコントローラ102を利用する従来技術のデータ処理
システム100を図示する。RAIDコントローラ10
2は、ホストシステムのプライマリPCIバス108
と、ローカルバス112に位置決めされたローカルCP
Uとの間をインターフェースするPCIバスインターフ
ェース106を含む。PCIバスインターフェース10
6は、プライマリPCIバス108と、ローカルバス1
12に接続されたローカルCPU110との間でデータ
転送を可能にする。メモリ114及び1又はそれ以上の
SCSIコントローラ104A乃至104Nはまた、ロ
ーカルバス112に接続される。メモリ114は、SC
SIコントローラ104とプライマリPCIバス108
との間、及び、ローカルCPU110とSCSIコント
ローラ104との間で転送されるデータをストアするの
に使用される。SCSIコントローラ104は、ディス
クドライブ、CD−ROM、DATテープドライブのよ
うな1又はそれ以上の周辺デバイス116A乃至116
Nを包含する1又はそれ以上のSCSIチャンネル11
5A乃至115Nに結合されるI/Oプロセッサであっ
てよい。
【0005】この特定のコントローラ設計では、全ての
I/Oアクティビティはメモリ114を利用する。例え
ば、特定のSCSIコントローラ104に書き込まれる
データは、プライマリPCIバス108から転送され、
メモリ114にストアされる。ローカルCPU110
は、データにパリティを加えるために適当な動作を開始
し、次いで、意図するSCSIコントローラ104にス
トアされる。SCSIコントローラ104から読み出さ
れたデータは、データがホストシステム(図示せず)に
対するプライマリPCIバス108に転送されうるよう
な時間まで、メモリにストアされる。各I/Oデータ転
送に関するメモリ114の使用は、ローカルバス112
のトラフィックを増加させる。この増加したバストラフ
ィックは、ローカルCPU110によってローカルバス
112の使用を制限し、その適した仕方によってそれを
達成させないようにする。
【0006】図2は、第1の従来技術データ処理システ
ムで明示したI/Oパフォーマンスの問題を克服するた
めに構成された第2の従来技術データ処理システム12
0を図示する。プライマリ又はホストシステムPCIバ
ス124、及び、セカンダリPCIバス128によって
多数のSCSIコントローラ126A乃至126Nにに
接続されたRAIDコントローラ122が示されてい
る。SCSIコントローラ126は、1又はそれ以上の
周辺デバイス127A又は127Nに順番に接続された
1又はそれ以上のSCSIチャンネル125A乃至12
5Nに接続されている。RAIDコントローラ122
は、Intel 80960RPTM(i960RP)プロセッサ130と、ホ
ストCPU(図示せず)とSCSIコントローラ126
との間のデータ転送をサポートするためにメモリ132
とを使用する。メモリは、ローカルバス131によって
プロセッサ130に結合されている。i960RPプロ
セッサ130は、プライマリ124及びセカンダリPC
I128バス、プロセッサコア、DMAサポート、割り
込みハンドリング、及び同様な他のコンポーネントとの
間でインターフェースするためにPCI−PCIブリッ
ジを提供する。
【0007】このコンフィギュレーションにおけるロー
カル及びセカンダリPCIバスの使用は、第1の従来技
術システムで直面したバストラフィックボトルネックを
克服する。更に、i960RPプロセッサ130の使用
は、ハンドリング割り込み−駆動型I/O処理タスクの
ホストシステムCPUを解放し、並びに、プライマリP
CIバス124の輻輳を低減させるので有利である。し
かしながら、このコンフィギュレーションにおけるRA
IDコントローラ122の欠点は、i960RPの性能
限界に強制されてしまうことである。i960RPは3
3MHz乃至66MHzの範囲の処理速度で作動し、そ
れは一般に233MHz乃至300MHzの範囲のホス
トプロセッサ速度よりも実質的に遅い。従って、i96
0RPの使用は、RAIDコントローラ122によって
達成されうるI/Oバンド幅を圧迫する。
【0008】従って、これらの欠点を克服することがで
きる有効な手段によってインテリジェントI/Oデバイ
スをPCIバスに結合させるための機構が必要である。
【0009】
【課題を解決するための手段】本発明は、標準PCI−
PCIブリッジを支持するPCIデバイスを結合するた
めの装置及び方法に関係する。コントローラは、プライ
マリPCIバスに結合され、PCI−PCIブリッジに
よってプライマリPCIバスに結合されたセカンダリP
CIバスを包含する。PCI−PCIブリッジの上流側
には、ホストCPU及びシステムメモリを包含するホス
トシステムがある。PCI−PCIブリッジの下流側に
は、1又はそれ以上のPCIデバイスを包含するセカン
ダリPCIバスがある。多数のPCIデバイスがPCI
−PCIブリッジに露出されており、多数のPCIデバ
イスがPCI−PCIブリッジから隠されている。
【0010】本発明の好ましい実施形態では、コントロ
ーラはRAIDコントローラのようなインテリジェント
I/Oコントローラである。隠れPCIデバイスは、種
々のタイプの周辺デバイスに結合された1又はそれ以上
のSCSIチャンネルを包含するPCI−SCSIコン
トローラのようなインターフェースコントローラであ
る。インターフェースコントローラの各々は、ローカル
CPUと通信するためのメモリスペースを要求する。こ
のメモリスペースはシステムメモリスペースの一部であ
る。しかしながら、これらのデバイスはホストCPUか
ら隠れているので、このスペースはホストCPUによっ
て直接的に割り当てられない。
【0011】ブリッジアシストデバイス(BASS)
は、インターフェースコントローラによって要求された
システムメモリアドレススペースを獲得するのに使用さ
れる露出したPCIデバイスである。メモリアドレスス
ペースは次いで、RAIDコントローラによって区分さ
れ、隠れPCIデバイスの各々に割り当てられる。BA
SSは、インターフェースコントローラによって必要と
されるスペースの総合計であるメモリスペース要求を備
えるデバイスとしてホストシステムに現れる。実際に、
BASSはダミーデバイスであり、このスペースを使用
しない。
【0012】RAIDコントローラはまた、セカンダリ
PCIバスに結合されるLoca−PCIブリッジと、
メモリ及びローカルCPUを包含するローカルバスとを
含む。Loca−PCIブリッジは、システムメモリの
一部である第2のメモリアドレススペースを獲得する露
出したPCIデバイスであり、インターフェースコント
ローラとローカルメモリとの間のデータを転送するのに
使用される。
【0013】各PCIデバイスは、コンフィギュレーシ
ョンレジスタスペースを包含する。各PCIデバイスに
アクセスするIDSEL信号は、PCI−PCIブリッ
ジが、BASS及びLoca−PCIブリッジのような
露出したPCIデバイスに関するIDSEL信号にだけ
アクセスすることができるように構成される。隠れPC
Iデバイスに関するIDSEL信号は、Loca−PC
Iブリッジによって生成され、ローカルCPUの制御下
にある。
【0014】BASSは、2つのコンフィギュレーショ
ンレジスタスペースを有する。第1のコンフィギュレー
ションレジスタスペースは、隠れPCIデバイスに関す
るメモリアドレススペースを獲得するのに使用され、B
ASS IDSEL信号を介してホストシステムによっ
てアクセス可能である。第2のコンフィギュレーション
レジスタスペースは、ローカルCPUの制御下で、Lo
ca−PCIによって生成されたCTLIDSEL信号
を介して、ローカルCPUによってアクセス可能であ
る。第2のコンフィギュレーションレジスタスペース
は、データを第1のコンフィギュレーションレジスタス
ペースに書き込み、第1のコンフィギュレーションレジ
スタスペースから読み出すのに使用される。かかるアク
セスは、メモリスペースを隠れPCIデバイスに割り当
てるためにコントローラに関して必要である。
【0015】システムコンフィギュレーションが実行さ
れた後、システムメモリアドレススペースの再構成が生
じうる。この場合、本発明の技術は、セカンダリPCI
バスが不活性状態であるとき、再構成を許容する。コン
トローラは次いで、再構成に応じて、隠れデバイスのメ
モリスペースを再構成する。
【0016】本発明の性質及び目的のより良い理解のた
めに、添付図面と併せて以下の詳細な説明を参照すべき
である。同様の参照番号は、種々の図面を通して対応す
るパーツを示す。
【0017】
【発明の実施の形態】図3は、本発明の技術を採用する
データ処理システム200を図示する。プライマリPC
Iバス204に結合されたインテリジェントI/Oコン
トローラ202が示されている。インテリジェントI/
Oコントローラ202はRAIDコントローラ、ネット
ワークコントローラ又は同様なものであってよい。イン
テリジェントI/Oコントローラ202は、PCI−P
CIブリッジ206、セカンダリPCIバス208、及
び、1又はそれ以上のインターフェースコントローラ2
18A乃至218Nを包含する。PCI−PCIブリッ
ジ206は、プライマリPCIバス204とセカンダリ
PCIバス208との間にリンクを提供する。ホストシ
ステム220は、プライマリPCIバス204を介して
PCI−PCIブリッジ206の上流側に接続される。
ホストシステム220は、ホストCPU209及びメモ
リ215を包含する。好ましい実施形態では、PCI−
PCIブリッジ206は、Digital Semiconductorのブ
リッジの2115xファミリのうちの1つであってよ
い。
【0018】プライマリ204及びセカンダリ208P
CIバスは、PCIシステムアーキテクチャに従って作
動する。PCIシステムアーキテクチャの記述は、PCI
Special Interest Group(http://www.pcisig.com), Min
dShare, Inc., PCI System Architecture,第3版, Addi
son Wesley(1995)によって提供されたPCI Specificatio
n Rev.2.1、及び、Edward SolariのPCI Hardware and S
oftware Architectureand Design、第3版, Annabooks,
(1996)に見ることができ、これらの全てはここにリファ
レンスとして組み入れられる。更に、PCI−PCIブ
リッジ206は、リファレンスとしてここに組み入れら
れるPCI Special Interest Groupによって提供されたPC
I-to−PCI Specification Rev.1.0によって構成され且
つ作動する。
【0019】インターフェースコントローラ218は、
PCI−SCSIコントローラ、PCI−Fiberチ
ャネルコントローラ、PCI−イーサネットコントロー
ラ又は同様なものに限定しないが、これらのようなデバ
イスを包含しうる。インターフェースコントローラ21
8の各々は、1又はそれ以上の周辺デバイス222を有
する相互接続ストラクチャに結合される。好ましい実施
形態では、インターフェースコントローラ218は、1
又はそれ以上のSCSIチャンネル224A乃至224
Nを包含する各々のPCI−SCSIコントローラであ
る。各SCSIチャンネル224は、ディスクドライ
ブ、テープドライブ、種々のタイプの光ディスクドライ
ブ、プリンタ、スキャナ、プロセッサ、通信デバイス、
メディアチェンジャ、又は同様なものに限定されない
が、これらのような1又はそれ以上の周辺デバイス22
2A乃至222Nを包含する。
【0020】インテリジェントI/Oコントローラ20
2は、Bridge Assist Device(BASS)212、Local-PCI
ブリッジ210、ローカルCPU214、及びメモリ2
16を包含する。BASS212は、セカンダリPCI
バス208に結合され、且つ、種々のラジアル信号21
3を介してLocal−PCIブリッジ210に結合さ
れる。Local−PCIブリッジ210は、セカンダ
リPCIバス208及びローカルバス224に結合され
る。ローカルCPU214及びメモリ216は、ローカ
ルバス224に結合される。ローカルCPU214は、
いかなるタイプのマイクロプロセッサ又はプロセッシン
グユニットであってよい。好ましくは、ローカルCPU
214は、Digital SemiconductorのStrongARM SA-110
プロセッサである。
【0021】メモリ216は、RAM(ランダムアクセ
スメモリ)、又はRAMとフラッシュROM(リードオ
ンリメモリ)のような不揮発性メモリとの組み合わせと
して実施されうる。図4を参照すると、メモリ216は
以下のものを含みうる: ・オペレーティングシステム230 ・インテリジェントI/Oコントローラ202によって
現在処理されているトランザクションに関するI/Oの
数のカウントであるI/O_count232 ・インテリジェントI/Oコントローラ202がI/O
アクティビティを開始できることを指示するI/Oフラ
グ234 ・インテリジェントI/Oコントローラ202の作動を
制御するインテリジェントI/Oコントローラプロシー
ジャ236 ・ベースメモリアドレス238のセット、各ベースメモ
リセットは特定の隠れPCIデバイスに関係する ・同様の他のプロシージャ及びデータ
【0022】図5は、Loca−PCIブリッジ210
のコンポーネントを図示する。PCIバスインターフェ
ース240、ローカルバスインターフェース242、1
又はそれ以上のDMAコントローラ244、コンフィギ
ュレーションレジスタスペース248、及び1又はそれ
以上のバッファ250が示されている。PCIバスイン
ターフェース240は、セカンダリPCIバス208と
相互作用するように使用され;ローカルバスインターフ
ェース242がローカルバス224と相互作用し;DM
Aコントローラ244は、ローカルメモリ216とホス
トシステムメモリ215との間のデータ転送を実行する
のに使用され;バッファ250は、ローカルバス224
とセカンダリPCIバス208との間で転送されたデー
タを一時的にストアするのに使用され;コンフィギュレ
ーションレジスタスペース248は、以下により詳細に
記載する。
【0023】コンフィギュレーションレジスタスペース
248は、インターフェースコントローラ218とロー
カルメモリ216との間でデータを転送するのに使用さ
れるメモリスペースを得るのに使用される。インターフ
ェースコントローラ218は、意図した仕方で操作する
ためにインターフェースコントローラ218を差し向け
るSCSIコマンドのようなコントロールストラクチャ
を得るためにローカルメモリ216にアクセスすること
ができる。更に、ローカルメモリ216は、インターフ
ェースコントローラに転送されたデータに加えられるパ
リティバイトの生成において使用される。それ自体で、
このメモリスペースは、ローカルCPU214の介入な
しで、ローカルメモリ216に対するインターフェース
コントローラ218によるアクセスを許容する。
【0024】図6は、BASS212のコンポーネント
を図示する。PCIバスインターフェース252、BA
SS制御論理ユニット254、第1のコンフィギュレー
ションレジスタスペース258及び第2のレジスタコン
フィギュレーションスペース260が示されている。P
CIバスインターフェースユニット252は、セカンダ
リPCIバス208と相互作用し、BASS制御論理ユ
ニット254はBASS212の作動を制御し、コンフ
ィギュレーションレジスタスペース258,260は以
下に示す。
【0025】図7は、BASS212と、Loca−P
CIブリッジ210と、PCI−PCIブリッジ206
との間のIDSEL信号の相互接続を図示する。セカン
ダリPCIバス208は、32アドレス信号ラインから
なるPCIアドレス及びデータ(AD)バスを含む。好
ましい実施形態では、上部16アドレス信号ライン、A
D[31:16]は、Initialization Device Select
(IDSEL)信号として使用するために入手可能であ
る。IDSEL信号は、PCIデバイスのコンフィギュ
レーションレジスタスペースにアクセスするためのチッ
プ選択として使用される。好ましい実施形態では、AD
[17]はBASSのコンフィギュレーションレジスタ
スペース258にアクセスするためのホストシステムに
関するIDSEL入力として使用され、AD[18]は
Loca−PCIブリッジのコンフィギュレーションア
ドレススペース248にアクセスするためのホストシス
テム220に関するIDSEL入力として使用される。
IDSEL入力、AD[18]は以下、MEMIDSE
L及びIDSEL入力と称し、AD[17]は以下、B
ASS IDSELと称する。MEMIDSEL信号
は、Loca−PCIブリッジ210に対してBASS
212を介して生成される。BASS IDSEL信号
は、BASSの第1のコンフィギュレーションレジスタ
スペース258にアクセスするのに使用され、MEMI
DSELはLoca−PCIブリッジのコンフィギュレ
ーションレジスタスペース248にアクセスするのに使
用される。
【0026】Loca−PCIブリッジ210は、イン
ターフェースコントローラ222及びBASS212の
コンフィギュレーションレジスタスペースにアクセスす
るために選択アドレス信号ラインを使用する。アドレス
ラインAD[11]は、BASSの第2のコンフィギュ
レーションレジスタアドレススペース260にアクセス
するためにIDSEL信号として使用され、ここではC
TLIDSELと称する。アドレスラインAD[12]
乃至AD[15]は、インターフェースコントローラ2
18のコンフィギュレーションレジスタスペースにアク
セスするのに使用される。これらのアドレスラインは、
Loca−PCIブリッジ210の制御下にあり、これ
らのコンフィギュレーションアドレススペースはセカン
ダリPCIバス208及びホストシステムから隠れてい
る。PCI−PCIブリッジ206は、コンフィギュレ
ーションサイクル中にアドレスラインAD[11]乃至
AD[15]を表明し、それによってインターフェース
コントローラ218をホストシステム200から隠す。
【0027】更に、BASS212は第1の割り込み信
号、BASSINTを生成し、それは、試みが、BAS
Sの第1のコンフィギュレーションレジスタスペース2
58及び/又はLoca−PCIブリッジ210のコン
フィギュレーションスペース248にアクセスするため
にホストシステム220によってなされるLoca−P
CIブリッジ210を示すのに使用される。BASSI
NT信号に応じて、Loca−PCIブリッジ210
は、第2の割り込み信号IRQを生成し、ローカルCP
U214にアクセスする試みを示す。これらの信号の生
成は以下により詳細に示す。
【0028】好ましい実施形態のホストシステム220
は、3つの別々のアドレススペース:メモリ、I/O、
及びコンフィギュレーションアドレススペースをアドレ
スするための能力を有する。コンフィギュレーションア
ドレススペースは、PCIデバイスを識別し且つ構成す
るのに使用され、プライマリ及びセカンダリPCIバス
に結合されるものである。
【0029】各PCIデバイスは、コンフィギュレーシ
ョンレジスタ又はコンフィギュレーションレジスタスペ
ースのセットを包含する。コンフィギュレーションレジ
スタスペースのフォーマットは、上で述べたPCI仕様
に定義されている。好ましい実施形態では、PCI−P
CIブリッジ206、Loca−PCIブリッジ21
0、BASS212、及びインターフェースコントロー
ラ218の各々は、少なくとも1つのコンフィギュレー
ションレジスタスペースで含む。アドレスラインAD
[17]及びAD[18]は、それらが、BASS及び
Loca−PCIブリッジに関するコンフィギュレーシ
ョンレジスタスペースにアクセスするIDSEL信号で
あるように構成される。それらは、PCI−PCIブリ
ッジを介してアクセス可能であり、それ自体で、ホスト
システム220によって認識可能である。アドレスライ
ンAD[12]乃至AD[15]は、インターフェース
コントローラ218に関するIDSEL信号として構成
され、PCI−PCIブリッジ206によってIDSE
l信号として使用されないので、それ自体で、インター
フェースコントローラ218をセカンダリPCIバス2
08及びホストシステム220から隠す。
【0030】図8は、PCI−PCIブリッジ206で
はなく、好ましくは、Loca−PCIブリッジ21
0、BASS212及びインターフェースコントローラ
218である、PCIデバイスに関して使用されるコン
フィギュレーションレジスタスペースの一般的なフォー
マットを図示する。256バイトコンフィギュレーショ
ンレジスタスペースは2つのパーツ:(1)PCIデバ
イスを一意的に識別する64バイトコンフィギュレーシ
ョンヘッダスペースと、(2)192バイトデバイス特
定コンフィギュレーションレジスタを含む。
【0031】コンフィギュレーションヘッダスペース
は、以下のレジスタを含む: ・デバイスの製造者を識別するベンダIDレジスタ ・デバイス製造者によって割り当てられているデバイス
のタイプを識別するデバイスIDレジスタ ・デバイスの能力を超えた制御に対する応答をすること
ができ、PCIアクセスを実行することができる、コマ
ンドレジスタ ・PCIバス関連イベントの状況を追うステータスレジ
スタ ・デバイス製造者によって割り当てられたデバイスのリ
バージョン番号を識別するリバージョンIDレジスタ ・一連の所定のクラスコードを介してデバイスの基本的
なファンクションを識別するクラスコードレジスタ ・システムキャッシュラインサイズを特定するキャッシ
ュラインサイズレジスタ ・バスマスタがバスの所有権を維持することができる時
間の最大量を特定する待ち時間 ・PCIデバイスをテストすることを制御するのに使用
される組み込み自己試験(BIST)レジスタ ・システムメモリアドレススペース、I/Oアドレスス
ペース、又はその両方を示すのに使用されるベースアド
レスレジスタ ・カードバスCISポインタ ・サブシステム識別子 ・サブシステムベンダ識別子 ・拡張ROMベースアドレス ・どれくらいの頻度でデバイスがPCIバスを要求する
かを特定するmax_latレジスタ ・トランザクションを開始するためにPCIバス所有権
を維持するためのデバイスによって必要とされる時間を
バスマスタデバイスに関して特定する、min_gntレジス
タ ・デバイスが接続されている4つのPCI割り込み要求
ピンを特定する、割り込みピンレジスタ ・デバイスのPCI割り込み要求ピンがルートを定めら
れるシステム割り込み要求ラインを特定する、割り込み
ラインレジスタ。
【0032】デバイス特定コンフィギュレーションレジ
スタスペース(即ち、位置40h乃至7Fh)は、必要
とされており、且つこの例では予約レジスタのセットを
含む仕方で構成されうる。
【0033】図9は、PCI−PCIブリッジ206に
関するコンフィギュレーションレジスタスペース207
のフォーマットを図示する。このコンフィギュレーショ
ンレジスタスペース207では、メモリマップされたI
/Oアドレス範囲のアドレス制限を識別するのに用いら
れるメモリ制限レジスタ(オフセット22h)と、メモ
リマップされたI/Oアドレス範囲のベースアドレスを
識別するメモリベースレジスタ(オフセット20h)で
ある。このコンフィギュレーションレジスタスペースの
より詳細な記載は、上述のSolariの参考文献の565乃
至615ページに見いだすことができ、ここにリファレ
ンスとして組み入れる。
【0034】BASS212は2つのコンフィギュレー
ションレジスタスペース258、260を含む。第1の
コンフィギュレーションレジスタスペース258は、そ
の関連したIDSEL信号ラインであるAD[17]信
号ラインを介してホストシステム220によって関係す
る。第1のコンフィギュレーションレジスタスペース2
58は、ローカルCPU214と関係する隠れPCIデ
バイスによって使用されるメモリアドレススペースを得
るのに使用される。好ましい実施形態では、これらの隠
れPCIデバイスはインターフェースコントローラ21
8である。メモリアドレススペースは、コントローラ2
02によって区分され、部分はそれぞれのインターフェ
ースコントローラ218の各々に割り当てられる。ホス
トシステム220は、メモリアドレススペースがホスト
システムのアドレススペースの一部であるけれども、こ
のメモリアドレススペースにアクセスしない。メモリア
ドレススペースがホストシステムのアドレススペースか
ら分離しているならば、PCI−PCIブリッジ206
がプライマリPCIバス204に対してセカンダリPC
Iサイクルを転送しないようにセカンダリPCIバス信
号の幾つかを修正する必要があり得る。インターフェー
スコントローラのメモリアドレススペースをホストシス
テムのアドレススペースの一部として維持することによ
って、セカンダリPCIバス208は修正なしで利用す
ることができる。
【0035】第2のコンフィギュレーションレジスタス
ペース260は、該レジスタを第1のコンフィギュレー
ションアドレススペース258に設定するのに使用され
る。第2のコンフィギュレーションスペース260のベ
ンダ特定コンフィギュレーションレジスタの一部は、コ
ンフィギュレーションヘッダレジスタの値を第1のコン
フィギュレーションレジスタスペース258に設定する
のに使用される。2つの別のコンフィギュレーションレ
ジスタスペース258,260(一方は、ホストシステ
ム220に関し、他方はローカルCPU214に関す
る)を使用することによって、ローカルCPU214に
よる第2のベンダ特定コンフィギュレーションスペース
260におけるコントロールレジスタを介してコンフィ
ギュレーションスペース258に対するホストシステム
220のアクセスを再試行することが可能である。換言
すれば、ローカルCPU214は、第1のコンフィギュ
レーションスペース258にアクセスするホストシステ
ム220が、第2のコンフィギュレーションスペース2
60ベンダ特定レジスタを制御することによって再試行
されることができる。ホストシステム220は、第1の
コンフィギュレーションレジスタスペース258にアク
セスするためにBASS IDSEL信号を使用する。
ローカルCPU214に関して、BASSの第1のコン
フィギュレーションアドレススペース258にアクセス
するために、CTLIDSEL信号は第2のコンフィギ
ュレーションスペース260にアクセスするのに使用さ
れる。ローカルCPU214は、BASS IDSEL
信号を使用しない。CTLIDSEL信号は、第1のコ
ンフィギュレーションレジスタスペース258における
対応するレジスタ内に順番にマッピングされる第2のコ
ンフィギュレーションレジスタスペース260のベンダ
特定コンフィギュレーションレジスタに書き込むのに使
用される。CTLIDSEL信号はまた、第2のコンフ
ィギュレーションレジスタスペース260において対応
するレジスタを読み込むことによって第1のコンフィギ
ュレーションレジスタスペース258からレジスタを読
み込むのに使用される。
【0036】図10は、第1のコンフィギュレーション
レジスタスペース258の例示的なフォーマットを図示
する。以下のレジスタは、第2のコンフィギュレーショ
ンレジスタスペース260を介してコントローラプロシ
ージャ236の制御下で設定されうる:(1)デバイス
id(オフセット02h);(2)ベンダid(オフセ
ット00h);及び(3)PCIメモリベースアドレス
に関するマスク(位置「10h」)。本発明の幾つかの
実施形態では、1又はそれ以上のこれらのレジスタはハ
ード・コード化され、それゆえ、コントローラプロシー
ジャの制御下で明白に設定されない必要がある。例え
ば、デバイスid及びベンダidの各々はハード・コー
ド化されうる。ある特定の実施形態では、デバイスid
は「BA55H」に設定され、ベンダidは「1069
H」に設定され、それはベンダがMylex Corporationで
あり、PCIメモリベースアドレスがメモリの64Kバ
イトを得るために設定される。
【0037】更に、第1のコンフィギュレーションレジ
スタスペース258は、割り込みがない(即ち、割り込
みピン(Interrupt Pin)(オフセット3Dh)が割り
込まないように設定される)ことを特定する。また、第
2のベースアドレスレジスタ(即ち、オフセット14h
で予約されたファイル)は、保証されるならば、I/O
スペースを得るために任意に使用されうる。予約された
レジスタ(即ち、14h乃至38h及び40h乃至7F
h)に対するリードアクセスは、ゼロに戻り、予約され
たレジスタに対するライトアクセスは影響がない。
【0038】図11は、第2のコンフィギュレーション
レジスタスペース260のフォーマットを図示する。第
2のコンフィギュレーションレジスタスペース260の
コンフィギュレーションヘッダは図8に示されたような
同じフォーマットを共有し、第1のコンフィギュレーシ
ョンレジスタスペース258にある値を反映する。BA
SSコントロール論理ユニット254は、第1のコンフ
ィギュレーションスペース258における値が設定及び
/又は修正されるとき、第1のコンフィギュレーション
スペース258の値を備える第2のコンフィギュレーシ
ョンレジスタスペース260におけるレジスタを更新す
る。
【0039】デバイス特定コンフィギュレーションレジ
スタ(即ち、位置40h乃至7Fh)は以下の通りであ
る: ・第1のコンフィギュレーションレジスタスペース25
8におけるPCIメモリベースアドレスレジスタ(オフ
セット10h)を読み込むために使用されるBASS1
メモリベースレジスタ(オフセット40h) ・第1のコンフィギュレーションレジスタスペース25
8におけるPCIメモリベースアドレスレジスタ(オフ
セット10h)を設定するのに使用されるBASS1メ
モリマスクレジスタ(オフセット44h) ・BASSINT信号を使用可能/不能にするためにB
ASS制御論理ユニット254を命令するのに使用され
る割り込みステータスレジスタINTSTS(オフセッ
ト48h)。図12はこのレジスタに関するビット設定
を図示する。 ・PCIセカンダリバス208でリトライを可能/不能
にするためのBASS制御論理ユニット254を命令す
るのに使用されるリトライ可能レジスタRETRY_INTEN
(オフセット49h)。図13は、このレジスタに関す
るビット設定を図示する。 ・同様な、他の予約されたレジスタ(オフセット4Ah
乃至7Ch)。
【0040】図12は、割り込みステータスレジスタに
関する好ましい設定を図示し、図13は、リトライ可能
レジスタに関する好ましい設定を図示する。これらのレ
ジスタの作動は以下により詳細に記載する。
【0041】先の記載は、本発明の技術を採用するデー
タ処理システムのハードウェア実装を説明した。ここ
で、システムがPCIバスに結合されたPCIデバイス
を構成する仕方に戻ることに注意する。
【0042】コンフィギュレーションプロシージャ22
1は、ホストシステム220が電源投入即ちブートアッ
プするとき、ホストシステム220によって実行され
る。コンフィギュレーションプロシージャ221は、プ
ライマリ204及びセカンダリ208PCIバスに接続
された全てのデバイスを走査し、保証される適当なコン
フィギュレーション要求を判断する。特に、コンフィギ
ュレーションプロシージャ221は、メモリ、及び/又
は、デバイスが要求するI/Oアドレススペースのブロ
ックの数、並びに、他のファンクションを割り当てる。
各デバイスは、相互に排他的なアドレス範囲の設定を割
り当てられる。BASS212は、ローカルCPU21
4の制御下であるメモリアドレススペースを得るのに使
用される。このメモリアドレススペースは次いで、ロー
カルCPU214によって区分され、隠れインターフェ
ースコントローラ218の各々に関して構成される。イ
ンターフェースコントローラ218は、ローカルCPU
214と通信するメモリスペースを要求する。
【0043】図14は、セカンダリPCIバス208に
接続されたデバイスを構成するためにホストシステム2
20によって使用されるステップを図示する。ホストシ
ステムのコンフィギュレーションプロシージャ221
は、プライマリ204及びセカンダリ208PCIバス
に接続された各デバイスのコンフィギュレーションレジ
スタスペースを読み込む(ステップ300)。典型的に
は、これは、各それぞれのバスに発行されるコンフィギ
ュレーショントランザクションの使用を介して達成され
る。これらのコンフィギュレーショントランザクション
のより詳細な議論は、MindShare, Inc.のPCI System Ar
chitecture、第3版(1995年)、297乃至328
ページに記載されており、リファレンスとしてここに組
み入れる。コンフィギュレーショントランザクション
は、デバイス及びデバイスタイプの存在を確かめるため
に、コンフィギュレーションレジスタスペースの所定の
データを読み込むのに使用される。好ましい実施形態で
は、ホストシステム220は、PCI−PCIブリッジ
206からのIDSEL信号ラインのコンフィギュレー
ションのために、BASS212及びLoca−PCI
ブリッジ210を認識しうるのみである。
【0044】いったんデバイスタイプが決定したなら
ば、コンフィギュレーションプロシージャ221は、メ
モリ、及び/又は、対応するデバイスを要求するI/O
スペースの量を判断するために、それぞれのコンフィギ
ュレーションレジスタスペースを読み込む(ステップ3
02)。次いで、コンフィギュレーションプロシージャ
221は、メモリ、及び/又は、デバイスに特有のIO
アドレス範囲に応答するために、デバイスのメモリ及び
/又はアドレスデコーダをプログラムする。更に、コン
フィギュレーションプロシージャ221は、デバイス、
並びに、所望ならばバスに関するデバイスが能力をマス
タするプログラムに関する所望の割り込み要求ラインを
セットアップする。
【0045】好ましい実施形態では、Loca−PCI
ブリッジ210及びBASS212は、それらのそれぞ
れのコンフィギュレーションレジスタスペースに従って
構成される。コンフィギュレーションプロシージャ22
1は、MEMIDSEL信号ラインをを介してLoca
−PCIブリッジのコンフィギュレーションレジスタス
ペース248にアクセスする。コンフィギュレーション
プロシージャ221は、Loca−PCIブリッジのコ
ンフィギュレーションアドレススペース248における
PCIメモリベースアドレス(PCI Memory Base Addres
s)によって特定されるので、メモリのブロックをLo
ca−PCIブリッジ210に割り当てる。このメモリ
スペースは、インターフェースコントローラ218とロ
ーカルメモリ216との間のデータを転送するのに使用
される。このメモリスペースのベースアドレスは、次い
で、Loca−PCIブリッジのコンフィギュレーショ
ンアドレススペース248のPCIベースアドレスレジ
スタ(オフセット10h)に設定される。
【0046】ホストシステム220はBASS IDS
EL信号を介してBASS212の第1のコンフィギュ
レーションレジスタスペース258にアクセスし、第1
のコンフィギュレーションレジスタスペース258のP
CIベースアドレスレジスタに特定されるようにメモリ
のブロックを割り当てる。このメモリスペースは、ロー
カルCPU214と通信するためにインターフェースコ
ントローラ218によって使用される。メモリスペース
のベースアドレスは、第1のコンフィギュレーションレ
ジスタスペース248におけるPCIメモリベースアド
レスレジスタ(オフセット10h)に設定される(図1
0参照)。BASS制御論理ユニット254は次いで、
同じ値を有する第2のコンフィギュレーションレジスタ
スペース260における対応するレジスタ(即ち、PC
Iメモリベースアドレスレジスタ、オフセット10h)
を更新する(図11参照)。
【0047】セカンダリPCIバス208に接続された
各デバイスが、コンフィギュレーションプロシージャ2
21によって構成された後、コンフィギュレーションプ
ロシージャ221は、ブリッジ206の後でメモリスペ
ースを反映するためにPCI−PCIブリッジのコンフ
ィギュレーションレジスタスペース207を設定する。
これは、Loca−PCIブリッジ210及びBASS
212に割り当てられるメモリスペースの隣接ブロック
を反映するために、PCI−PCIブリッジのコンフィ
ギュレーションレジスタスペース207において、メモ
リ制限及びメモリベースレジスタを設定することによっ
てなされる。
【0048】図15は、いったんホストシステム220
コンフィギュレーションが完了したならば、隠れインタ
ーフェースコントローラ218を構成するためにローカ
ルCPU214によって使用されるステップを図示す
る。コントローラプロシージャ236は、コンフィギュ
レーションプロシージャ221がLoca−PCIブリ
ッジ210及びBASS212が構成されるまで、待つ
(ステップ306)。Loca−PCIブリッジ210
に関するコンフィギュレーションレジスタスペース25
8,260とBASS212との両方におけるコマンド
レジスタ(オフセット04h)が、メモリスペースが使
用可能になることを指示するように設定されるとき、ホ
ストシステム220によってコンフィギュレーションは
完了する。
【0049】次いで、コントローラプロシージャ236
は、割り込みを可能にし、BASS212でリトライ
し、それゆえ、ホストCPU209によってコンフィギ
ュレーションアドレススペース258,260に対する
アクセスをブロックする(ステップ308)。コントロ
ーラプロシージャ236は、第2のコンフィギュレーシ
ョンレジスタスペース260において割り込みステータ
スレジスタを使用可能にするために適当な命令を開始す
る。割り込みステータスレジスタは、図12に示すビッ
ト設定に従って設定される。割り込みステータスレジス
タが使用可能なとき、BASSINT信号は、第1のコ
ンフィギュレーションレジスタスペース258及びLo
ca−PCIブリッジのコンフィギュレーションレジス
タスペース248(図12参照)に対するアクセスがあ
るときはいつでも表明される(ステップ308)。
【0050】更に、コントローラプロシージャ236
は、第1のコンフィギュレーションレジスタスペース2
58及びLoca−PCIのコンフィギュレーションレ
ジスタスペース248に対するアクセスがあるときはい
つでもPCIリトライを実行するために第2のコンフィ
ギュレーションレジスタスペース260においてリトラ
イ使用可能レジスタを設定するための適当な命令を開始
する(ステップ308)。PCIリトライは、STOP
信号が表明されたとき、又は、TRDY信号が表明され
ていないときに実行される。このレジスタに関する適当
な設定を図13に示す。
【0051】コントローラプロシージャ236は、割り
当てられたメモリスペース(図11参照、オフセット4
0h)のベースアドレスを確かめるために、第2のコン
フィギュレーションレジスタスペース260においてデ
ータを読み込む(ステップ310)。コントローラプロ
シージャ236は、割り当てられたメモリスペースのベ
ースアドレスを評価するために、第2のコンフィギュレ
ーションレジスタスペース260のコンテンツにアクセ
スするために適当な命令を開始する。これは、CTLI
DSEL信号の使用を介して達成される。
【0052】コントローラプロシージャ236は次い
で、メモリアドレススペースを区分し、各隠れデバイス
に関する部分を割り当てる(ステップ312)。コント
ローラプロシージャ236は、各隠れデバイス又はイン
ターフェースコントローラ218に指定されたメモリス
ペースのパーティションに関するベースアドレスをメモ
リ216にストアする。コントローラプロシージャ23
6は、割り当てられたメモリスペースを反映するため
に、各インターフェースコントローラ218のコンフィ
ギュレーションレジスタスペースを設定する。このアク
セスは、それぞれのインターフェースコントローラ21
8に関するIDSEL信号に対応する関連するAD信号
ラインを介して達成される。
【0053】いったんコントローラプロシージャ236
が、インターフェースコントローラ218を構成するこ
とを達成したならば、コントローラプロシージャ236
は、セカンダリPCIバス208で受信されたI/Oア
クティビティと、プライマリPCIバス204を介して
ホストシステム220から転送されたこれらのI/Oト
ランザクションとを処理するために進行することができ
る(ステップ314)。
【0054】システム初期化後、プライマリ204及び
セカンダリ208PCIバスに関係するデバイスのリコ
ンフィギュレーションは、システムのラインタイムオペ
レーション中に生じ得る。例えば、オペレーティングシ
ステムは、それ自身のコンフィギュレーションプロセス
を実行し、それ自身の基準に関するPCIデバイスを再
構成する。Microsoft WindowsNTTMオペレーティングシ
ステムは、ハードウェアコンフィギュレーションが行わ
れた後、オペレーティングシステムがブートアップする
ときに、それ自身のコンフィギュレーションプロセスを
実行する、かかるオペレーティングシステムのうちの一
つの例である。この状況では、オペレーティングシステ
ムリコンフィギュレーションプロセスは、各PCIでナ
イスのコンフィギュレーションレジスタスペースが最小
の進入で変更され得るように、セカンダリPCIバス2
08にI/Oアクティビティがないときに生じる必要が
ある。
【0055】図16は、リコンフィギュレーション要求
を収容するためにローカルCPU214によって使用さ
れるステップを図示する。ローカルCPU214は、コ
ンフィギュレーションレジスタスペースがBASS21
2から生成された割り込みIRQを介してアクセスする
ことを通知される(ステップ320)。Loca−PC
Iブリッジ210は、BASS212が、第1のコンフ
ィギュレーションレジスタスペース258及び/又はL
oca−PCIブリッジのコンフィギュレーションレジ
スタスペース248を読み込むことを試みるトランザク
ションを受信するとき、IRQ信号をローカルCPU2
14に表明する(ステップ320)。第2のコンフィギ
ュレーションレジスタスペース260における割り込み
ステータス(INTEN)レジスタが使用可能であり
(図12参照)、IDSEL及び/又はMEMIDSE
L信号が表明されているとき、BASS制御論理ユニッ
ト254はBASSINT信号を生成する。BASSI
NT信号は、IRQ信号をローカルCPU214に対し
て順番に使用可能にするLoca−PCIブリッジ21
0によって受信される。
【0056】IRQ信号に応答して、コントローラプロ
シージャ236は、セカンダリPCIバス208でのI
/Oアクティビティを停止する。これは、I/O_flag23
4を不能にするコントローラプロシージャ236によっ
て達成され、それによって、全ての将来のI/Oアクテ
ィビティが一時的に中断されることを示す。更に、コン
トローラプロシージャ236は、I/O_count232デー
タの値が、全ての顕著なI/Oトランザクションが完了
したことを指示するまで、I/O_count232データをポ
ーリングする。これらの状態が満足されたとき、I/O
アクティビティは一時的に中断され、コントローラプロ
シージャ236は続く。
【0057】コントローラプロシージャ236は次い
で、BASSの第1のコンフィギュレーションレジスタ
スペース258にアクセスすることができるように適当
な命令を開始する(ステップ324)。これは、図13
に示したようなかかるアクセスを許容する適当なセッテ
ィングに対してリトライ可能レジスタを設定するため
に、第2のコンフィギュレーションレジスタスペース2
60においてリトライ可能レジスタにアクセスするため
にCTLIDSEL信号を使用することによって達成さ
れる。
【0058】いったん適当な設定がなされたならば、オ
ペレーティングシステムは、第1のコンフィギュレーシ
ョンレジスタスペース258と、初期コンフィギュレー
ションプロセスによって構成された1つと異なるメモリ
スペースを割り当てるためにLoca−PCIブリッジ
210のコンフィギュレーションレジスタスペース24
8とにアクセスすることができる。この新しいメモリス
ペースは、その上また、PCI−PCIブリッジのコン
フィギュレーションレジスタスペース207において更
新される。
【0059】リコンフィギュレーションプロセスは、リ
トライ可能レジスタがホストシステム220によってア
クセスするのを許容するように修正されるときから、規
定された時間制限内に完了したものとみなされる(ステ
ップ328)。好ましくは、時間制限は100ミリ秒で
ある。この点では、コントローラプロシージャ236
は、図12及び13に示した適当なセッティングに対し
てリトライ可能レジスタ及び割り込みステータスレジス
タを設定する適当な命令を生成することによってBAS
Sで割り込み及びリトライを可能にする(ステップ33
0)。
【0060】コントローラプロシージャ236は次い
で、インターフェースコントローラ218の間に新しく
割り当てられたメモリスペースを区分けし、メモリ21
6における各インターフェースコントローラ218に関
するベースレジスタセッティングを更新する(ステップ
332)。更に、コントローラプロシージャ236は、
対応するベースアドレスレジスタを更新するために、各
インターフェースコントローラ218のコンフィギュレ
ーションレジスタスペースにアクセスする命令を生成す
る(ステップ332)。
【0061】コントローラプロシージャ236は次い
で、I/Oflag234を使用可能にすることによっ
てI/Oアクティビティを再開する(ステップ33
4)。I/Oアクティビティは次いで、再構成されたメ
モリアドレスを使用して続く。
【0062】先の記載は、本発明の完全な理解を提供す
るために、特定の学術用語を使用して例示の目的で、本
発明の構造及び方法の種々の実施形態を説明した。しか
しながら、記載された特定の詳細の多くは、任意であり
又は本発明の実施のために要求されていないもののいず
れかであることは、当業者には明らかであろう。この観
点でいま、我々は、選択された実施形態、又は、要約の
仕方における本発明の態様を記載する。
【0063】第1の構造の実施形態では、本発明はデー
タ処理装置を提供し、第1のプロセッサと;複数のメモ
リアドレススペースを含むシステムメモリであって、該
システムメモリは第1のプロセッサの制御下にある、シ
ステムメモリと;第1のプロセッサと通信する第1のバ
ス、及び、システムメモリ;第1のバスに接続されたコ
ントローラとを包含する。ここで、コントローラは、第
2のプロセッサと、複数のI/Oデバイスと、システム
メモリの第1のメモリアドレススペースの選択部分と関
係する各I/Oデバイスと、第2のプロセッサの制御下
の第1のメモリアドレススペースと、第2のプロセッサ
と通信するI/Oデバイスの各々によって使用される第
1のメモリアドレススペースとを包含する。
【0064】第2の構造の実施形態は、コントローラが
更に、第1のメモリアドレススペースをシステムメモリ
から得る第1の処理デバイスを任意に含み、第2のプロ
セッサは、第1のメモリアドレススペースの選択部分を
I/Oデバイスの各々に分配する。第3の実施形態は、
第2の実施形態の特徴の全てを含み、コントローラがロ
ーカルメモリを更に含むことをまた任意に提供し、第2
のメモリアドレススペースは、第2のプロセッサとI/
Oデバイスとの間のデータを転送するのに使用される。
第4の実施形態は、第3の実施形態の全ての特徴を提供
するが、コントローラが更に第1の処理デバイスと、第
2の処理デバイスと、I/Oデバイスとに接続された第
2のバスを含むことを提供し、ブリッジが第1のバスを
第2のバスに結合することを更に含む。第5の実施形態
は、第4の実施形態の全ての特徴を提供するが、第1の
バスがプライマリ周辺コンポーネント相互接続(PC
I)バスであり、第2のバスがセカンダリPCIバスで
あることを任意に要求する。
【0065】第6の構造の実施形態は、複数のメモリア
ドレススペースを有するシステムメモリを包含する第1
のプロセッシングユニットと、前記第1のプロセッシン
グユニットと通信する第1の周辺コンポーネント相互接
続(PCI)バスと、第2のPCIバスと、第2のPC
Iバスと通信する第2のプロセッサと、第2のPCIバ
スに接続された1又はそれ以上の露出されたPCIデバ
イスとを含み、該各露出されたPCIデバイスがシステ
ムメモリの選択メモリアドレススペースを包含し、第2
のPCIバスに接続された複数の隠れPCIデバイス
と、第1のPCIバスを第2のPCIバスに結合するP
CI−PCIブリッジとを含む、データ処理装置を提供
する。
【0066】第7の実施形態は、第6の実施形態と同じ
特徴を提供し、更に、第2のプロセッサの制御下で第1
のメモリアドレススペースを包含する、第1の露出した
PCIデバイスを提供し、該第1のメモリアドレススペ
ースは複数のメモリアドレス部分空間に分配され、各部
分空間は隠れPCIデバイスのうちの1つを選択するた
めに割り当てられ、隠れPCIデバイスは、第2のプロ
セッサに、及び、第2のプロセッサからデータを転送す
るためにメモリアドレス部分空間を使用する。
【0067】第8の実施形態は、第7の実施形態と同じ
特徴を提供し、更に、第2のPCIバスと通信するロー
カルメモリと、第2のPCIバスと接続する第2の露出
したPCIデバイスとを提供し、該第2の露出PCIデ
バイスは、システムメモリの第2のメモリアドレススペ
ースを包含し、第2のメモリアドレススペースは、隠れ
PCIデバイスとローカルメモリとの間のデータを転送
するのに使用される。
【0068】第9の実施形態は、第8の実施形態と同じ
特徴を提供し、更に、第1のコンフィギュレーションレ
ジスタスペースを包含する第1の露出したPCIデバイ
スと、第2のコンフィギュレーションレジスタスペース
を包含する第2の露出したPCIデバイスと、第1のI
DSEL信号ライン及び第2のIDSEL信号ラインを
受信する第1の露出したPCIデバイスとを提供し、該
第1のIDSEL信号ラインは第1のコンフィギュレー
ションレジスタスペースにアクセスするのに使用され、
第2のIDSEL信号ラインは、第2のコンフィギュレ
ーションレジスタスペースにアクセスするために第2の
露出されたPCIデバイスに転送される。
【0069】第10の実施形態は、第9の実施形態と同
じ特徴を提供し、第3のコンフィギュレーションレジス
タスペースを包含する第1の露出したPCIデバイス
と、第3のコンフィギュレーションレジスタスペースに
アクセスするのに使用される第3のIDSELラインを
生成する第2の露出したPCIデバイスとを提供し、第
3のコンフィギュレーションレジスタスペースの一部が
第1のコンフィギュレーションレジスタスペースにおけ
る値を設定するのに使用され、第1のコンフィギュレー
ションレジスタスペースの一部が、第3のコンフィギュ
レーションレジスタスペースの対応する部分内にマッピ
ングされる。
【0070】第11の実施形態は、第9の実施形態と同
じ特徴を提供し、更に、第1のIDSEL信号又は第2
のIDSEL信号が増加するとき、割り込み信号を生成
する第1の露出されたPCIデバイスを提供し、該割り
込み信号は第2のプロセッサに転送される。
【0071】第12の実施形態は、第8の実施形態と同
じ特徴を提供し、更に、コンフィギュレーションレジス
タスペースを包含する各隠れPCIデバイスと、第2の
プロセッサの制御下で複数の隠れIDSEL信号ライン
を生成する第2の露出したPCIデバイスとを提供し、
各隠れIDSEL信号ラインは、選択された隠れPCI
デバイスにルートを定められ、それぞれのコンフィギュ
レーションレジスタスペースにアクセスするように使用
される。
【0072】第13の実施形態は、第10の実施形態と
同じ特徴を提供し、更に、第1及び第2のコンフィギュ
レーションレジスタスペースに対するアクセスを制御す
るリトライ機構を包含する第3のコンフィギュレーショ
ンレジスタスペースを提供する。
【0073】本発明は、構造、システム又は装置、更
に、種々の形態のデータ処理装置を提供することに限定
されず、データを処理するための方法、例えば、データ
処理システムにおけるデータを処理するための方法を提
供する。本発明の方法の第1の実施形態では、本発明
は、データ処理システムにおいてデータを処理する方法
を提供する。ここで、データ処理システムは、ホストプ
ロセッシングユニット、及び、第1のバスを介して接続
された第2のプロセッシングユニットと、システムメモ
リ及び第1のプロセッサを包含するホストプロセッシン
グユニットと、第2のバスを包含する第2のプロセッシ
ングユニットと、第2のプロセッサと、ブリッジと、を
有し、該第2のバスは、複数のバスデバイスを包含し、
該ブリッジは第1のバスを第2のバスに結合し、該第2
のプロセッサは第2のバスト通信する。前記方法は;シ
ステムメモリから第1の露出されたバスデバイスまで第
1のメモリスペースを割り当てるステップを含み、該第
1の露出されたバスデバイスはホストプロセッシングユ
ニットによってアクセス可能であり;第2のプロセッサ
によって、第1のメモリスペースを複数のセグメント内
に区分し;第2のプロセッサによって、各セグメント
を、それぞれの隠れバスデバイスに割り当て;データを
それぞれ割り当てられたセグメントを介して1つの隠れ
バスデバイスから第2の隠れバスデバイスまで転送す
る、ステップを含む。
【0074】本発明の方法の第2の実施形態は、第1の
実施方法の特徴を包含し、割り当てステップは更に;第
1のコンフィギュレーションレジスタスペースを備える
第1の露出されたバスデバイスを提供し;第1のメモリ
スペースの量を判断するために第1のコンフィギュレー
ションレジスタスペースにアクセスし;第1のコンフィ
ギュレーションレジスタスペースにおいて第1のメモリ
スペースの位置を指示する、ステップを有する。
【0075】本発明の方法の第3の実施形態は、第2の
実施方法の特徴を包含し、前記アクセスステップは、第
1のコンフィギュレーションレジスタスペースにアクセ
スするためにホストシステムによってアクセス可能なI
DSEL信号を使用するステップを更に有し、前記指示
ステップは、第1のコンフィギュレーションレジスタス
ペースにおける位置を書き出すためにIDSEL信号を
使用するステップを更に含む。
【0076】本発明の方法の第4の実施形態は、第1の
実施方法の特徴を包含し、前記割り当てステップが;コ
ンフィギュレーションレジスタスペースを備える各隠れ
バスデバイスを提供し;第2のプロセッサによって制御
される選択IDSEL信号を介して各隠れバスデバイス
の各コンフィギュレーションレジスタスペースにアクセ
スし;第1のメモリスペースのそれぞれのセグメントの
位置を備える各隠れバスデバイスの各コンフィギュレー
ションレジスタスペースを設定する、ステップを更に有
することを、更に提供する。
【0077】本発明の方法の第5の実施形態は、第1の
実施方法の特徴を包含し、更に、システムメモリから第
2の露出されたPCIデバイスまでの第2のメモリスペ
ースを取得することと、第2のメモリスペースを介して
第1のプロセッサと第2のプロセッサの間のデータを転
送すること、とを提供する。第6の方法の実施形態は、
前記取得ステップはまた、第2のコンフィギュレーショ
ンレジスタスペースを備える第2の露出されたバスデバ
イスを提供すること;第2のコンフィギュレーションレ
ジスタスペースにアクセスするためにホストシステムに
よってアクセス可能な第2のIDSEL信号を使用する
こと;第2の露出されたバスデバイスに対して第1の露
出されたバスデバイスを介して第2のIDSEL信号を
ルーティングし;第2のメモリスペースを決定し、第2
のコンフィギュレーションレジスタスペースにおける第
2のメモリスペースの配置をストアするために、第2の
IDSEL信号を利用する;ステップを含む。
【0078】本発明の方法の第7の実施形態は、第5の
実施方法の特徴を包含し、更に、第3のコンフィギュレ
ーションレジスタスペースを備えるブリッジを提供し;
第3のコンフィギュレーションレジスタスペースにおい
て第1及び第2のメモリアドレススペースの配置を指示
する;ステップを含む。
【0079】本発明の方法の第8の実施形態は、第1の
実施方法の特徴を包含し、更に、新しい位置に対する第
1のメモリスペースを再構成し;第2のプロセッサによ
って、新しい第1のメモリスペースを複数の新しいセグ
メントに再区分し;第2のプロセッサによって、各新し
いセグメントをそれぞれの隠れバスデバイスに対して再
割り当てする;ステップを含む。
【0080】本発明の方法の第9の実施形態は、第8の
実施方法の特徴を包含し、更に、第1及び/又は第2の
コンフィギュレーションレジスタスペースに対するアク
セスを判断し;第2のバスでのI/Oアクティビティを
中止し;第1及び/又は第2のコンフィギュレーション
レジスタスペースの位置の再構成を許容する;ステップ
を包含する再構成ステップを提供する。
【0081】本発明の方法の第10の実施形態は、第9
の実施方法の特徴を包含し、第2のバスのI/Oアクテ
ィビティを起動するステップを更に含む。
【0082】本発明の方法の第11の実施形態は、第9
の実施方法の特徴を包含し、更に、前記判断ステップ
が;第1及び/又は第2のコンフィギュレーションレジ
スタスペースへのアクセスを不能にし;第1及び/又は
第2のコンフィギュレーションレジスタスペースへのア
クセスが生じたとき、割り込みを生成させる;ステップ
を含む、ことを提供する。
【0083】本発明の方法の第12の実施形態は、第9
の実施方法の特徴を包含し、前記許容ステップが;第1
及び/又は第2のコンフィギュレーションレジスタスペ
ースへのアクセスを可能にし;再構成を実行し;第1及
び/又は第2のコンフィギュレーションレジスタスペー
スへのアクセスを不能にする;ステップを更に含む、こ
とを提供する。
【0084】別の実施形態 先の記載は、例示の目的のために、本発明の完全な理解
を提供するために特定の学術用語を使用した。しかしな
がら、特定の詳細な説明が、本発明を実行するために要
求されないことは当業者にとって明らかであろう。別の
例では、不必要な混乱を根本的な発明から取り除くため
に、周知な回路及びデバイスがブロック図の形態で示さ
れる。従って、本発明の特定の実施形態の先の記載は、
図示及び説明の目的で表されている。それらは完全とな
るべきことを意図しておらず、又は、開示された正確な
形態に対して発明を限定する意図はなく、明らかに、多
くの修正及び変形は上記技術の観点から可能である。該
実施形態は、本発明の原理及びその実用的な応用を最も
良く説明するために選択され、記載されており、それに
よって、他の当業者が、本発明、及び、意図した特定の
使用に適するような種々の修正を伴う種々の実施形態を
最もよく利用することができる。本発明の範囲は特許請
求の範囲及びその均等の範囲によって定義されるべきで
ある。
【0085】本発明はRAIDコントローラに関して記
載されている。しかしながら、本発明はRAIDコント
ローラに限定されず、いかなるタイプのインテリジェン
トコントローラ、又は、コントロールデバイスがセカン
ダリPCIバスに結合されるプロセッシングユニットに
適用可能である。かかるデバイスの例は、スイッチ、ル
ータ、ネットワークコントローラなどであるがそれらに
限定されない。
【0086】更に、本発明はPCIシステムアーキテク
チャに関して記載してあるけれども、この特定のアーキ
テクチャに限定されない。本発明はいかなるタイプのバ
スアーキテクチャにも適用することができる。
【図面の簡単な説明】
【図1】従来技術のRAIDコントローラを図示する。
【図2】従来技術のRAIDコントローラを図示する。
【図3】本発明の好ましい実施形態によるインテリジェ
ントI/Oコントローラを図示する。
【図4】図3に示したインテリジェントI/Oコントロ
ーラを使用したメモリを図示する。
【図5】図3に示したインテリジェントI/Oコントロ
ーラに使用するLoca−PCIブリッジのコンポーネ
ントを図示する。
【図6】図3に示したインテリジェントI/Oコントロ
ーラを使用するBASSのコンポーネントを図示する。
【図7】本発明の好ましい実施形態におけるインテリジ
ェントI/Oコントローラ内で使用されるIDSEL信
号の相互接続を図示する。
【図8】本発明の好ましい実施形態で使用するPCIコ
ンフィギュレーションレジスタスペースの例示的フォー
マットを図示する。
【図9】本発明の好ましい実施形態のPCI−PCIブ
リッジによって使用されるPCIコンフィギュレーショ
ンレジスタスペースの例示的フォーマットを図示する。
【図10】本発明の好ましい実施形態のBASSの第1
のコンフィギュレーションレジスタスペースの例示的フ
ォーマットを図示する。
【図11】本発明の好ましい実施形態のBASSの第2
のコンフィギュレーションレジスタスペースの例示的フ
ォーマットを図示する。
【図12】本発明の好ましい実施形態に従った割り込み
ステータスレジスタセッティングを図示する。
【図13】本発明の好ましい実施形態に従ったリトライ
可能レジスタセッティングを図示する。
【図14】本発明の好ましい実施形態に従ったPCIデ
バイスを構成するためにホストCPUによって使用され
るステップを図示するフローチャートである。
【図15】本発明の好ましい実施形態に従った隠れPC
Iデバイスを構成するためにローカルCPUによって使
用されるステップを図示するフローチャートである。
【図16】本発明の好ましい実施形態に従ったPCIデ
バイスを再構成するために使用されるステップを図示す
るフローチャートである。
【符号の説明】
200 データ処理システム 202 インテリジェントI/Oコントローラ 204 プライマリPCIバス 206 PCI−PCIブリッジ 208 セカンダリPCIバス 209 ホストCPU 210 Loca−PCIブリッジ 212 BASS 215 メモリ 216 ローカルメモリ 218 インターフェースコントローラ 220 ホストシステム 222 インターフェースコントローラ 224 ローカルバス 240 PCIバスインターフェース 242 ローカルバスインターフェース 244 DMAコントローラ 248 コンフィギュレーションレジスタスペース 250 バッファ 252 PCIバスインターフェース 254 BASS制御論理ユニット 258 第1のコンフィギュレーションレジスタスペー
ス 260 第2のレジスタコンフィギュレーションスペー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジータ ジョージ アメリカ合衆国 カリフォルニア州 アラ メーダ カウンティー フリーモント メ ントー テラス 1601

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】データ処理装置であって、 第1のプロセッサと、 複数のメモリアドレススペースを包含するシステムメモ
    リと、を有し、前記システムメモリが前記第1のプロセ
    ッサの制御下にあり、 第1のプロセッサ及びシステムメモリと通信する第1の
    バスと、を有し、 第2のプロセッサと、 複数のI/Oデバイスと、 を含む第1のバスに接続されたコントローラと、を有
    し、前記各I/Oデバイスは、システムメモリの第1の
    メモリアドレススペースの選択部分と関連し、第1のメ
    モリアドレススペースは第2のプロセッサの制御下にあ
    り、第1のメモリアドレススペースは第2のプロセッサ
    と通信するためにI/Oデバイスの各々によって使用さ
    れる、データ処理装置。
  2. 【請求項2】前記コントローラが、 前記第1のメモリアドレススペースをシステムメモリか
    ら獲得する第1のプロセッシングデバイスを有し、 前記第2のプロセッサが、I/Oデバイスに対する第1
    のメモリアドレススペースの選択部分を分配する、請求
    項1に記載の装置。
  3. 【請求項3】前記コントローラが、 ローカルメモリと、 第2のメモリアドレススペースをシステムメモリから獲
    得する第2のプロセッシングデバイスと、を有し、 前記第2のメモリアドレススペースが、第2のプロセッ
    サとI/Oデバイスとの間のデータを転送するのに使用
    される、請求項2に記載の装置。
  4. 【請求項4】前記コントローラが、 第1のプロセッシングデバイス、第2のプロセッシング
    デバイス、及びI/Oデバイスに接続された第2のバス
    と、 第1のバスを第2のバスに結合するブリッジと、を有す
    る、請求項3に記載の装置。
  5. 【請求項5】前記第1のバスがプライマリ周辺コンポー
    ネントインターコネクト(PCI)バスであり、 前記第2のバスがセカンダリPCIバスである、請求項
    4に記載の装置。
  6. 【請求項6】データ処理装置であって、 複数のメモリアドレススペースを有するシステムメモリ
    を包含する第1のプロセッシングユニットと、 前記第1のプロセッシングユニットと通信する第1の周
    辺コンポーネントインターコネクト(PCI)バスと、 第2のPCIバスと、 第2のPCIバスと通信する第2のプロセッサと、 前記第2のPCIバスと接続された1又はそれ以上の露
    出したPCIデバイスと、を有し、各露出したPCIデ
    バイスはシステムメモリの選択メモリアドレススペース
    を包含し、 第2のPCIバスに接続された複数の隠れPCIデバイ
    スと、 前記第1のPCIバスを前記第2のPCIバスと結合す
    るPCI−PCIブリッジと、を有する、請求項3に記
    載の装置。
  7. 【請求項7】第2のプロセッサの制御下の第1のメモリ
    アドレススペースと、複数のメモリアドレスサブスペー
    スに分配された第1のメモリアドレススペースと、隠れ
    PCIデバイスのうちの1つを選択するのに割り当てら
    れた各サブスペースと、データを第2のプロセッサへ、
    及び、第2のプロセッサから転送するためにメモリアド
    レスサブスペースを使用する隠れPCIデバイスと、を
    包含する第1の露出したPCIデバイスと、 前記第2のPCIバスと通信するローカルメモリと、 前記第2のPCIバスに接続された第2の露出したPC
    Iデバイスと、を更に有し、 前記第2の露出したPCIデバイスは、システムメモリ
    の第2のメモリアドレススペースを包含し、前記第2の
    メモリアドレススペースは隠れPCIデバイスとローカ
    ルメモリとの間のデータを転送するのに使用され、 前記第1の露出したPCIデバイスが第1のコンフィギ
    ュレーションレジスタスペースを包含し、 前記第2の露出したPCIデバイスが第2のコンフィギ
    ュレーションレジスタスペースを包含し、 前記第1の露出したPCIデバイスが、第1のIDSE
    L信号ライン及び第2のIDSEL信号ラインを受け、
    前記第1のIDSEL信号ラインは前記第1のコンフィ
    ギュレーションレジスタスペースにアクセスするのに使
    用され、前記第2のIDSEL信号ラインは、前記第2
    のコンフィギュレーションレジスタスペースにアクセス
    するために前記第2の露出したPCIデバイスに転送さ
    れる、請求項6に記載の装置。
  8. 【請求項8】ホストプロセッシングユニットがシステム
    メモリ及び第1のプロセッサを包含し、第2のプロセッ
    シングユニットが、第2のパス、第2のプロセッサ、及
    びブリッジを包含し、第2のバスが複数のバスデバイス
    を包含し、ブリッジが第1のバスを第2のバスに結合
    し、第2のプロセッサが前記第2のバスと通信する、前
    記第1のバスを介して接続された前記ホストプロセッシ
    ングユニット及び前記第2のプロセッシングユニットを
    包含するデータ処理システムにおいてデータを処理する
    ための方法であって、 第1のメモリスペースをシステムメモリから第1の露出
    したバスデバイスまで割り当てる、ステップを有し、前
    記露出したバスデバイスはホストプロセッシングユニッ
    トによってアクセス可能であり、 第2のプロセッサによって、第1のメモリスペースを複
    数のセグメントに区分わけをし、 第2のプロセッサによって、各セグメントをそれぞれの
    隠れバスデバイスに割り当て、 それぞれの割り当てられたセグメントを介して、データ
    を1つの隠れバスデバイスから第2の隠れバスデバイス
    まで転送する、ステップを有する、方法。
  9. 【請求項9】前記割り当てステップが;第1のコンフィ
    ギュレーションレジスタスペースを備える第1の露出し
    たバスデバイスを提供し;第1のメモリスペース量を判
    断するために第1のコンフィギュレーションレジスタス
    ペースにアクセスし;第1のコンフィギュレーションレ
    ジスタスペースにおいて第1のメモリスペースの位置を
    指示する、ステップを更に含み、 前記アクセスステップが、前記第1のコンフィギュレー
    ションレジスタスペースにアクセスするために、ホスト
    システムによってアクセス可能なIDSEL信号を使用
    するステップを更に含み、 前記指示ステップが、位置を前記第1のコンフィギュレ
    ーションレジスタスペースに書き込むために、IDSE
    L信号を使用するステップを更に含む、請求項8に記載
    の方法。
  10. 【請求項10】前記割り当てステップが、 コンフィギュレーションレジスタスペースを備える各隠
    れバスデバイスを提供し、 第2のプロセッサによって制御された選択IDSEL信
    号を介して各隠れバスデバイスの各コンフィギュレーシ
    ョンレジスタスペースにアクセスし、 第1のメモリスペースのそれぞれのセグメントの位置を
    備える各隠れバスデバイスの各コンフィギュレーション
    レジスタスペースを設定する、ステップを更に有する、
    請求項8に記載の方法。
  11. 【請求項11】第2のメモリスペースをシステムメモリ
    から第2の露出したPCIデバイスまで取得し、 第2のメモリスペースを介して第1のプロセッサと第2
    のプロセッサとの間のデータを転送する、請求項8に記
    載の方法。
  12. 【請求項12】前記取得ステップが、 第2のコンフィギュレーションレジスタスペースを備え
    る第2の露出したバスデバイスを提供し、 第2のコンフィギュレーションレジスタスペースにアク
    セスするために、ホストシステムによってアクセス可能
    な第2のIDSEL信号を使用し、 第2のIDSEL信号を第1の露出したバスデバイスを
    介して第2の露出したバスデバイスにルーティングし、 第2のメモリスペースの量を判断し、第2のコンフィギ
    ュレーションレジスタスペースにおける第2のメモリス
    ペースの位置をストアするために、だい2のIDSEL
    信号を利用する、ステップを有する、請求項11に記載
    の方法。
  13. 【請求項13】新しい位置に対する第1のメモリスペー
    スを再構成し、 第2のプロセッサによって、新しい第1のメモリスペー
    スを複数の新しいセグメントに再区分し、 第2のプロセッサによって、各新しいセグメントをそれ
    ぞれの隠れバスデバイスに再割り当てする、請求項8に
    記載の方法。
  14. 【請求項14】前記再構成ステップが、 第1及び/又は第2のコンフィギュレーションレジスタ
    スペースに対するアクセスを判断し、 第2のバスでのI/Oアクティビティを中止し、 第1及び/又は第2のコンフィギュレーションレジスタ
    スペースの位置の再構成を許容する、ステップを包含す
    る、請求項13に記載の方法。
JP11076310A 1998-02-13 1999-02-15 インテリジェントi/oコントロ―ラにおけるpci―pciブリッジに対する結合デバイスに関する装置及び方法 Pending JP2000222346A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/023361 1998-02-13
US09/023,361 US6094699A (en) 1998-02-13 1998-02-13 Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller

Publications (1)

Publication Number Publication Date
JP2000222346A true JP2000222346A (ja) 2000-08-11

Family

ID=21814642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11076310A Pending JP2000222346A (ja) 1998-02-13 1999-02-15 インテリジェントi/oコントロ―ラにおけるpci―pciブリッジに対する結合デバイスに関する装置及び方法

Country Status (6)

Country Link
US (1) US6094699A (ja)
JP (1) JP2000222346A (ja)
AU (1) AU2598999A (ja)
GB (1) GB2337141B (ja)
TW (1) TW468111B (ja)
WO (1) WO1999041672A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898686B1 (en) 2000-08-24 2005-05-24 International Business Machines Corporation Memory map adjustment to support the need of adapters with large memory requirements
JP2007226653A (ja) * 2006-02-24 2007-09-06 Nec Corp Pci多段ブリッジ構成コンピュータにおけるacpiマシン語テーブル記述方法及び装置とそのプログラム

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208772B1 (en) * 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
JP4019482B2 (ja) * 1998-01-23 2007-12-12 ソニー株式会社 通信システム及びブリッジ装置
KR100257046B1 (ko) * 1998-03-03 2000-05-15 윤종용 인터페이스 기능 전환을 위한 지능형 입/출력 제어기
US6622164B1 (en) * 1998-09-11 2003-09-16 Quantum Corp. Mass storage device with network interface
US6360291B1 (en) 1999-02-01 2002-03-19 Compaq Computer Corporation System and method for hiding peripheral devices in a computer system
US6301632B1 (en) * 1999-03-26 2001-10-09 Vlsi Technology, Inc. Direct memory access system and method to bridge PCI bus protocols and hitachi SH4 protocols
US6425029B1 (en) * 1999-06-07 2002-07-23 Micron Technology, Inc. Apparatus for configuring bus architecture through software control
US6401151B1 (en) * 1999-06-07 2002-06-04 Micron Technology, Inc. Method for configuring bus architecture through software control
US6947903B1 (en) * 1999-08-06 2005-09-20 Elcommerce.Com.Inc. Method and system for monitoring a supply-chain
US6877036B1 (en) * 1999-09-24 2005-04-05 Akamba Corporation System and method for managing connections between a client and a server
US6792472B1 (en) * 2000-03-31 2004-09-14 International Business Machines Corporation System, method and computer readable medium for intelligent raid controllers operating as data routers
US6643748B1 (en) * 2000-04-20 2003-11-04 Microsoft Corporation Programmatic masking of storage units
US7404021B2 (en) * 2000-11-17 2008-07-22 Aristos Logic Corporation Integrated input/output controller
US6963947B2 (en) * 2001-05-08 2005-11-08 Tao Logic Systems Llc Driver supporting bridge method and apparatus
US20020178317A1 (en) * 2001-05-23 2002-11-28 Schmisseur Mark A. System and method for defining private functions of a multi-function peripheral device
US20020178316A1 (en) * 2001-05-23 2002-11-28 Schmisseur Mark A. System and method for defining private functions of a multi-function peripheral device
US7536495B2 (en) * 2001-09-28 2009-05-19 Dot Hill Systems Corporation Certified memory-to-memory data transfer between active-active raid controllers
US7062591B2 (en) * 2001-09-28 2006-06-13 Dot Hill Systems Corp. Controller data sharing using a modular DMA architecture
US7143227B2 (en) * 2003-02-18 2006-11-28 Dot Hill Systems Corporation Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller
US7340555B2 (en) * 2001-09-28 2008-03-04 Dot Hill Systems Corporation RAID system for performing efficient mirrored posted-write operations
US7146448B2 (en) * 2001-09-28 2006-12-05 Dot Hill Systems Corporation Apparatus and method for adopting an orphan I/O port in a redundant storage controller
US7437493B2 (en) * 2001-09-28 2008-10-14 Dot Hill Systems Corp. Modular architecture for a network storage controller
US7315911B2 (en) * 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US20030084397A1 (en) * 2001-10-31 2003-05-01 Exanet Co. Apparatus and method for a distributed raid
AU2002361603A1 (en) * 2001-11-09 2003-05-26 Chaparral Network Storage, Inc. Transferring data using direct memory access
US7093043B2 (en) * 2001-12-27 2006-08-15 Hewlett-Packard Development Company, L.P. Data array having redundancy messaging between array controllers over the host bus
US20030131042A1 (en) * 2002-01-10 2003-07-10 International Business Machines Corporation Apparatus and method of sharing a device between partitions of a logically partitioned computer system
US8219736B2 (en) * 2002-02-12 2012-07-10 Ati Technologies Ulc Method and apparatus for a data bridge in a computer system
US20030188062A1 (en) * 2002-03-28 2003-10-02 Luse Paul E. Device resource allocation
US6985990B2 (en) * 2002-03-29 2006-01-10 International Business Machines Corporation System and method for implementing private devices on a secondary peripheral component interface
US7032055B2 (en) * 2002-05-07 2006-04-18 Intel Corporation Device control and configuration
US6807600B2 (en) * 2002-07-24 2004-10-19 Intel Corporation Method, system, and program for memory based data transfer
US6931457B2 (en) * 2002-07-24 2005-08-16 Intel Corporation Method, system, and program for controlling multiple storage devices
US7293197B2 (en) * 2003-08-13 2007-11-06 Micro Memory Llc Non-volatile memory with network fail-over
US20050038958A1 (en) * 2003-08-13 2005-02-17 Mike Jadon Disk-array controller with host-controlled NVRAM
US7200687B2 (en) * 2003-09-25 2007-04-03 International Business Machines Coporation Location-based non-uniform allocation of memory resources in memory mapped input/output fabric
US7596652B2 (en) * 2004-05-14 2009-09-29 Intel Corporation Integrated circuit having processor and bridging capabilities
US7054966B2 (en) * 2004-06-14 2006-05-30 General Electric Company Data processing system
US20050283554A1 (en) * 2004-06-22 2005-12-22 General Electric Company Computer system and method for queuing interrupt messages in a device coupled to a parallel communication bus
US20050283555A1 (en) * 2004-06-22 2005-12-22 General Electric Company Computer system and method for transmitting interrupt messages through a parallel communication bus
JP2006039982A (ja) * 2004-07-28 2006-02-09 Canon Inc 情報処理装置の制御方法、情報処理装置、および情報処理装置の制御プログラム
US7543096B2 (en) * 2005-01-20 2009-06-02 Dot Hill Systems Corporation Safe message transfers on PCI-Express link from RAID controller to receiver-programmable window of partner RAID controller CPU memory
US7516336B2 (en) 2005-09-29 2009-04-07 Intel Corporation System and method for power reduction by sequestering at least one device or partition in a platform from operating system access
US7802081B2 (en) * 2005-09-30 2010-09-21 Intel Corporation Exposed sequestered partition apparatus, systems, and methods
US8151014B2 (en) * 2005-10-03 2012-04-03 Hewlett-Packard Development Company, L.P. RAID performance using command descriptor block pointer forwarding technique
US7716465B2 (en) 2005-11-14 2010-05-11 Intel Corporation Method and apparatus for maintaining a partition when booting another partition while an address line is disabled
US7418586B2 (en) 2005-12-05 2008-08-26 Intel Corporation Method and apparatus for assigning devices to a partition
US7610481B2 (en) 2006-04-19 2009-10-27 Intel Corporation Method and apparatus to support independent systems in partitions of a processing system
US7797555B2 (en) 2006-05-12 2010-09-14 Intel Corporation Method and apparatus for managing power from a sequestered partition of a processing system
US7536508B2 (en) * 2006-06-30 2009-05-19 Dot Hill Systems Corporation System and method for sharing SATA drives in active-active RAID controller system
US7681089B2 (en) * 2007-02-20 2010-03-16 Dot Hill Systems Corporation Redundant storage controller system with enhanced failure analysis capability
US7613850B1 (en) 2008-12-23 2009-11-03 International Business Machines Corporation System and method utilizing programmable ordering relation for direct memory access
US20150052293A1 (en) * 2012-04-30 2015-02-19 Blaine D. Gaither Hidden core to fetch data
CN105074653B (zh) 2013-03-28 2018-11-23 慧与发展有限责任合伙企业 使计算刀片设备和扩展刀片设备的存储器可供由操作系统使用
EP2979171A4 (en) 2013-03-28 2016-11-23 Hewlett Packard Entpr Dev Lp MEMORY IDENTIFICATION OF A BLADE ELEMENT FOR USE BY A OPERATING SYSTEM OF A PARTITION WITH THIS BLADE ELEMENT
WO2014158161A1 (en) 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Error coordination message for a blade device having a logical processor in another system firmware domain
US10599601B1 (en) 2019-01-16 2020-03-24 Qorvo Us, Inc. Single-wire bus (SuBUS) slave circuit and related apparatus
US11119958B2 (en) * 2019-04-18 2021-09-14 Qorvo Us, Inc. Hybrid bus apparatus
US11226924B2 (en) 2019-04-24 2022-01-18 Qorvo Us, Inc. Single-wire bus apparatus supporting slave-initiated operation in a master circuit
US10983942B1 (en) 2019-12-11 2021-04-20 Qorvo Us, Inc. Multi-master hybrid bus apparatus
US11409677B2 (en) 2020-11-11 2022-08-09 Qorvo Us, Inc. Bus slave circuit and related single-wire bus apparatus
US11489695B2 (en) 2020-11-24 2022-11-01 Qorvo Us, Inc. Full-duplex communications over a single-wire bus
US11706048B1 (en) 2021-12-16 2023-07-18 Qorvo Us, Inc. Multi-protocol bus circuit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4827406A (en) * 1987-04-01 1989-05-02 International Business Machines Corporation Memory allocation for multiple processors
EP0374338B1 (en) * 1988-12-23 1995-02-22 International Business Machines Corporation Shared intelligent memory for the interconnection of distributed micro processors
US5261077A (en) * 1990-06-29 1993-11-09 Digital Equipment Corporation Configurable data path arrangement for resolving data type incompatibility
US5542055A (en) * 1993-05-28 1996-07-30 International Business Machines Corp. System for counting the number of peripheral buses in each hierarch connected to primary bus for creating map of peripheral buses to locate peripheral devices
US5603051A (en) * 1995-06-06 1997-02-11 Hewlett-Packard Company Input/output processor with a local memory providing shared resources for a plurality of input/output interfaces on an I/O bus
US5694556A (en) * 1995-06-07 1997-12-02 International Business Machines Corporation Data processing system including buffering mechanism for inbound and outbound reads and posted writes
US5848249A (en) * 1995-06-15 1998-12-08 Intel Corporation Method and apparatus for enabling intelligent I/O subsystems using PCI I/O devices
US5754807A (en) * 1995-11-20 1998-05-19 Advanced Micro Devices, Inc. Computer system including a multimedia bus which utilizes a separate local expansion bus for addressing and control cycles
US5751975A (en) * 1995-12-28 1998-05-12 Intel Corporation Method and apparatus for interfacing a device compliant to a first bus protocol to an external bus having a second bus protocol and for providing virtual functions through a multi-function intelligent bridge
US6308234B1 (en) * 1997-10-17 2001-10-23 Acuity Imaging, Llc Flexible processing hardware architecture

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898686B1 (en) 2000-08-24 2005-05-24 International Business Machines Corporation Memory map adjustment to support the need of adapters with large memory requirements
JP2007226653A (ja) * 2006-02-24 2007-09-06 Nec Corp Pci多段ブリッジ構成コンピュータにおけるacpiマシン語テーブル記述方法及び装置とそのプログラム
US7689728B2 (en) 2006-02-24 2010-03-30 Nec Corporation Method and apparatus for describing ACPI machine language in computer having multibridge PCI structure, and program thereof

Also Published As

Publication number Publication date
GB2337141B (en) 2003-01-08
AU2598999A (en) 1999-08-30
GB9902907D0 (en) 1999-03-31
GB2337141A (en) 1999-11-10
WO1999041672A1 (en) 1999-08-19
US6094699A (en) 2000-07-25
TW468111B (en) 2001-12-11

Similar Documents

Publication Publication Date Title
JP2000222346A (ja) インテリジェントi/oコントロ―ラにおけるpci―pciブリッジに対する結合デバイスに関する装置及び方法
US5913045A (en) Programmable PCI interrupt routing mechanism
US5682512A (en) Use of deferred bus access for address translation in a shared memory clustered computer system
US5884027A (en) Architecture for an I/O processor that integrates a PCI to PCI bridge
US7062615B2 (en) Multi-channel memory access arbitration method and system
US8117350B2 (en) Configuration space compaction
US6272582B1 (en) PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device
US20050091432A1 (en) Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs
US8856781B2 (en) Method and apparatus for supporting assignment of devices of virtual machines
JPH096722A (ja) コンピュータ・システム
KR102568906B1 (ko) PCIe 디바이스 및 그 동작 방법
JP2002539524A (ja) 周辺デバイス割込みを処理するための装置および方法
JPH096711A (ja) セグメント化したメモリを備えたコンピュータ・システム
JP2009193590A (ja) 装置アービトレーション・レベルを使用し、1つの端末ブリッジにつき複数のioaを可能にする、lpar環境におけるdmaウィンドウ
JP2008021252A (ja) 計算機システム及びアドレス割当方法
US20040139267A1 (en) Accessing a primary bus messaging unit from a secondary bus through a pci bridge
Markussen et al. Flexible device sharing in pcie clusters using device lending
US11928070B2 (en) PCIe device
US8612662B2 (en) Queue sharing and reconfiguration in PCI express links
US8527745B2 (en) Input/output device including a host interface for processing function level reset requests and updating a timer value corresponding to a time until application hardware registers associated with the function level reset requests are available
US20030229721A1 (en) Address virtualization of a multi-partitionable machine
KR102568909B1 (ko) PCIe 펑션 및 그 동작 방법
KR102570943B1 (ko) PCIe 디바이스 및 그 동작 방법
KR20230152394A (ko) PCIe 장치 및 이의 동작 방법
JPH0973429A (ja) コンピュータシステム及びバス間制御回路