JPH09223089A - 複数バス・ターゲットへのパケット・データの分割を可能にする方法および装置 - Google Patents

複数バス・ターゲットへのパケット・データの分割を可能にする方法および装置

Info

Publication number
JPH09223089A
JPH09223089A JP8197081A JP19708196A JPH09223089A JP H09223089 A JPH09223089 A JP H09223089A JP 8197081 A JP8197081 A JP 8197081A JP 19708196 A JP19708196 A JP 19708196A JP H09223089 A JPH09223089 A JP H09223089A
Authority
JP
Japan
Prior art keywords
bus
data
target
network
coupled
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
JP8197081A
Other languages
English (en)
Inventor
Louise Y Yeung
ルイーズ・ワイ・ヤング
Rasoul M Oskouy
ラソウル・エム・オスコウイ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH09223089A publication Critical patent/JPH09223089A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • H04L2012/5609Topology
    • H04L2012/5613Bus (including DQDB)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】ホスト・メモリ内もしくは2次バス・ターゲッ
ト・デバイス内のいずれかに、すべてのネットワーク・
データをストアすることにより惹起される非効率性およ
びシステム・パフォーマンスの低下を解決する。 【解決手段】バス・インターフェース回路;バス・イン
ターフェース回路に結合されるバス・プロトコル回路;
バス・プロトコル回路に結合されるバースト・ディスパ
ッチャ回路;バースト・ディスパッチャに結合される読
み出し処理回路および書込み処理回路、に結合されるネ
ットワーク・インターフェース;および、バス・プロト
コル回路、バースト・ディスパッチャ回路、読み出し処
理回路および、書込み処理回路に結合される同期および
バッファ回路を備えるネットワーク・アダプタ。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、高速コンピュータ
・ネットワークを使用する分野に関する。本発明は、特
に、それぞれが個別のバス特性を有する、1ないし複数
のシステム・バス・ターゲット・デバイスのサポートに
よって、メモリ・バス・トラフィックの緩和を図るとと
もに、ネットワーク・データソースならびにそのデステ
ィネーションの柔軟性を与えることに関する。
【0002】
【従来の技術】現在はネットワーク・アダプタの使用を
通じて、コンピュータ・ネットワーク内におけるコンピ
ュータ・システムと、別のコンピュータ・システムとの
接続ないしはそれらの間の通信を得ている。ネットワー
ク・アダプタは、一般的に2つのコネクションを有し、
一方はコンピュータ・ネットワークに対するものであ
り、他方はコンピュータ・システムのインプット/アウ
トプット(I/O)バスに対するものである。ネットワ
ーク・アダプタは、I/Oバスの使用を通じてコンピュ
ータ・システムのホスト・プロセッサと通信し、そのホ
スト・プロセッサもまたメモリ・バスの使用を通じてホ
スト・メモリに接続されている。さらにネットワーク・
アダプタは、I/Oバスを使用してコンピュータ・シス
テムの他の構成要素と通信するが、それには、ストレー
ジ・デバイス、インターフェース、フレーム・バッフ
ァ、コプロセッサ、EPROM(消去可能なプログラム
可能読取り専用記憶装置)およびネットワークの物理層
デバイスといったデバイスが含まれる。
【0003】ネットワーク・アダプタの1つの機能は、
ホスト・メモリとネットワークの間のデータ伝送であ
る。ホスト・メモリ内の伝送用のデータはパケット化さ
れている。各パケットは、ヘッダ・セクションおよびデ
ータ・セクションからなる。ホスト・プロセッサがホス
ト・メモリからネットワーク上にデータの伝送を必要と
する際は、ネットワーク・アダプタがパケットを包含す
るホスト・メモリの一部を読み出し、伝送に適したフォ
ームでそのデータをネットワーク上に送出するための必
要な処理を実行する。
【0004】ネットワーク・アダプタへの伝送前に、ホ
スト・メモリに送出データをストアすることは、事実
上、メモリ・バスを介して達成される伝送回数を倍加す
る。ホスト・プロセッサの処理リソースへの要求の増加
に加え、伝送の複合性もまたホスト・メモリならびにI
/Oバスの帯域幅の非効率的使用となる。これらの問題
は、コンピュータ・システムがホスト・メモリからネッ
トワーク・アダプタへのデータの一定したストリームの
提供を必要とする状況においてさらに悪化する。
【0005】伝送予定のパケットをホスト・メモリ内に
包含させる代りに、I/Oバス上の2次デバイス内で完
全に包含させることができる。しかしながら、このアプ
ローチにも関連問題が存在する。たとえば、パケットの
ヘッダ部はコンピュータ・システムのホスト・プロセッ
サによって処理される。伝送予定のデータを完全に2次
I/Oデバイスのメモリ内に包含させるのであれば、ネ
ットワーク・アダプタないしは2次I/Oデバイスにプ
ロセス回路を組込み、伝送予定のパケットのヘッダ部も
しくは他の特殊なコントロール部を処理しなければなら
ない。
【0006】ネットワーク・データのストアならびに伝
送の取り扱いに対する現行アプローチに関する問題の例
は、コンピュータ・システムのI/OバスがIEEE
(米国電気電子学会)1496−1993のSバス仕様
に適合するバスである場合、およびネットワークが非同
期式伝送モード(ATM)のネットワークである場合に
見ることができる。ATMは、高速のコネクション指向
切り換えであり、かつタイプの異なるデータ・トラフィ
ックを同時に送信するためのセルを使用する多重化技術
である。これらのタイプの異なるデータ・トラフィック
には、伝統的なコンピュータ・データに加えてボイスな
らびにビデオ・データが含まれる。たとえば、オーディ
オならびにビデオのデジタル化機能を備えるコンピュー
タ・システムを使用するビデオ会議セッションにおいて
は、ホスト・コンピュータが他のデータとともにボイス
ならびにビデオをATMネットワークを介して伝送す
る。ATMは、この情報ストリームが共通クロックなし
に独立的に送信されるという点で非同期である。
【0007】
【発明が解決しようとする課題】コンピュータ・システ
ムが、オーディオ/ビデオ・サーバ、イメージ・ストレ
ージおよびデータのルーティングといった多機能リソー
ス・コントローラとして動作するマルチメディア応用に
おいては、クライアント・コンピュータ・システムから
要求のあったオーディオならびにビデオを構成するデー
タ・ストリームが大量のデータで構成される。要求され
るデータのストアに充分な大容量のホスト・メモリを備
えたコンピュータ・システムの構築が不経済であること
から、このマルチメディア・データは、1ないし複数の
Sバス・ストレージ・デバイスに収められ、ホスト・メ
モリに収まる充分に小さい部分ごとにホスト・メモリに
ロードしなければならない。続いてホスト・コンピュー
タによりマルチメディア・データの各部分がSバスを介
してネットワーク・アダプタに送られ、セグメント化お
よびATMネットワークを介して伝送するセルへのパケ
ット化が行われ、この後、ホスト・メモリ内に次の部分
がロードされる。要求されるマルチメディア・データの
量が大きくなるに従って、ホスト・プロセッサは、その
要求を満足するために処理リソースの割当てをより増や
さなければならない。また、ホスト・メモリにロードす
るデータが複数のストレージ・デバイスを介して分配さ
れる場合、ホスト・プロセッサは異なるソースからのデ
ータのロードにも時間を消費しなければならない。
【0008】さらに、マルチメディア応用においては、
メモリ・バスの帯域幅とリソースの大半が、集中ネット
ワーク・データ伝送要求によって占有され、他の処理ニ
ーズのために使用できなくなる。これは、ホスト・メモ
リ内に包含される大量のネットワーク・データが、ネッ
トワーク・アダプタへの伝送を必要とすることによる。
これを逆から見れば、メモリ・バスが他のメモリ要求を
満たすために使用されており、ネットワーク・データの
伝送が不可能な場合は、ホスト・メモリ内に収められて
いるデータを一定してネットワーク・アダプタに伝送す
ることが困難ということになる。
【0009】いくつかのSバス・ストレージ・デバイス
にデータが分割される場合、Sバス・ストレージ・デバ
イスからネットワーク・アダプタに各部分をダイレクト
に伝送することができる。しかしながら、前述したよう
に、Sバス・ストレージ・デバイスもしくはネットワー
ク・アダプタのいずれかに、パケットのヘッダ部もしく
は他の特殊なコントロール部の処理に必要となるプロセ
ス回路を備えるため、余計な費用を招く。さらにネット
ワーク・アダプタは、パケットの制御部分を処理するた
めにそのリソースを割当てなければならず、パフォーマ
ンスの低下を招く。
【0010】
【課題を解決するための手段】ホスト・メモリ内もしく
は2次バス・ターゲット・デバイス内のいずれかに、す
べてのネットワーク・データをストアすることにより惹
起される非効率性およびシステム・パフォーマンスの低
下を解決するため、本発明は、パケットからなるデータ
を、ホスト・メモリも含めた多数のストレージ・デバイ
スに拡散することを可能にする方法ならびに装置を提供
する。本発明は、(1)複数のソースからコンピュータ
・ネットワークを介して伝送されるパケットのヘッダ部
ならびにデータ部からなるデータの取込みおよびアセン
ブル;および(2)ホスト・メモリも含めた複数のロー
カル・バス・デバイスを介してコンピュータ・ネットワ
ークから受取ったデータの分配ならびに分割を行うこと
ができる。本発明は、分配するデータが異なるバス特性
を有する場合であっても、無駄なバス・サイクルを伴う
ことなく前記の機能を達成することができる。
【0011】本発明は、ホスト・メモリならびに1ない
し複数の別体のバス・ターゲット・デバイスへのパケッ
ト・データの拡散を可能にするために、システム・メモ
リ・バスへのロードを限定し、メモリ・バスの帯域幅の
より効率的な使用を可能にした。たとえば、ホスト・メ
モリからの伝送を要するネットワーク・データの量が低
減されれば、他の処理ニーズのためにメモリ・バスが開
放される。また、ネットワーク・データの伝送にメモリ
・バスのリソースのほとんどを割当てる必要がなくなる
ことから、コンピュータ・ネットワークに対する一定し
たデータ・ストリームを容易に提供することが可能にな
る。
【0012】本発明は、I/Oバス・インターフェー
ス、バースト・ディスパッチャ、同期およびバッファ・
ロジック、およびネットワーク・メディア・インターフ
ェースを備えるネットワーク・アダプタを使用して上記
の機能を達成する。I/Oバス・インターフェースは、
I/Oバスとのデータの送受を行い、またバス・トラン
ザクションを開始することができる。バースト・ディス
パッチャは、各バス・サイクル用のコントロール・ワー
ドを生成し、それがI/Oバス・インターフェースによ
って実行される次のバス・トランザクションの特性をコ
ントロールする。このコントロール・ワードは、データ
の交換が行われるデバイスの特性に基づいている。ネッ
トワーク・メディア・インターフェースは、ネットワー
ク・メディアを介する送信のためにデータを整える。同
期およびバッファ・ロジックは、(1)ネットワーク・
メディア・インターフェースへの送信前にI/Oバス・
インターフェースから受信したデータ、および(2)I
/Oバス・インターフェースへの送信前にネットワーク
・メディア・インターフェースから受信したデータをス
トアする。この同期およびバッファ・ロジックは、各イ
ンターフェースがデータ受信の可能な状態になるまでデ
ータをバッファする。
【0013】オペレーションにおいては、ホスト・プロ
セッサがシステムの初期化時にネットワーク・アダプタ
内の一連のI/Oコンフィグレーション・レジスタを初
期化し、I/Oバスに接続されている各デバイスのI/
O伝送特性を持たせる。データがコンピュータ・ネット
ワークに送信される正常送信オペレーションの間は、ホ
スト・プロセッサが、コンピュータから送信される各パ
ケットの各部について1つの記述エントリを生成する。
この後ホスト・プロセッサは、当該記述エントリをネッ
トワーク・アダプタに渡し、ネットワーク・アダプタ
は、I/Oバス・インターフェースおよびバースト・デ
ィスパッチャを使用して当該記述エントリにより記述さ
れたバス・ターゲット・デバイスからデータを読み出
す。I/Oバス・インターフェースによって読み出され
たデータは、この後、同期およびバッファ・ロジックに
渡され、これが当該データをネットワーク・メディア・
インターフェースに送る。本発明の他の目的、特徴なら
びに利点は、以下の図面を参照した詳細説明より明らか
になろう。
【0014】
【発明の実施の形態】本発明は、コンピュータ・システ
ムにおいて、システムのパフォーマンスの低下ないしは
異なるインプット/アウトプット(I/O)バス特性を
有するデバイスの選択の制限をもたらすことなく、コン
ピュータ・システムのメモリ・バス上に生成されたトラ
フィックの緩和はもとより、ストア済みのネットワーク
・パケット・データのソースならびにデスティネーショ
ンの選択を可能にする方法ならびに装置を提供する。説
明の都合上、本発明の完全な理解を助けるために具体的
な実施形態を示す。しかしながら、当業者であれば、こ
こでの開示から、本発明がこれらの詳細がなくとも実現
できることが理解されよう。また、本発明は(1)IE
EE(米国電気電子学会)1496−1993のSバス
仕様適合のI/Oバス、および(2)非同期式伝送モー
ド(ATM)のネットワーク技術を使用するネットワー
クの使用を通じて説明されているが、すべてではないに
しても本発明の実現形状のほとんどは、異なるデータ・
バーストならびに幅特性を伴うI/Oバスをサポートす
るI/Oバスおよび、マルチメディアのような高速混合
トラフィックをサポートするネットワークに適用でき
る。なお、本発明が不明瞭になることを避けるため、公
知のエレメント、デバイス、プロセス・ステップ等の詳
細は示していない。
【0015】図1に、本発明のネットワーク・アダプタ
を組み込んだコンピュータ・システムの例を示す。コン
ピュータ・システム1は、メモリ・インターコネクト7
を介してホスト・メモリ5に接続されるホスト・プロセ
ッサ3を備える。ホスト・プロセッサ3は、IEEE1
496−1993のSバス仕様適合であり、Sバス・コ
ントローラ(図示せず)を備えるI/OバスとしてSバ
ス13を使用することにより、I/Oブリッジ8を介し
て第1のバス・ターゲット9ならびに第2のバス・ター
ゲット11にも接続される。Sバス13には、コンピュ
ータ・システム1をATMネットワーク・メディア17
に接続するために使用されるネットワーク・アダプタ1
5も接続される。ホスト・メモリ5には、I/Oブリッ
ジ8ならびにメモリ・インターコネクト7を介してSバ
ス13上のすべてのデバイスがアクセスできる。
【0016】バス・ターゲット9ならびにバス・ターゲ
ット11のいずれも標準Sバス・デバイスやSバス・カ
ードの広いカテゴリを代表するように意図されている。
たとえば、バス・ターゲット9をディスク・コントロー
ラ・カードとしてSCSI(スモール・コンピュータ・
システム・インターフェース)デバイス標準仕様のデバ
イスをサポートし、バス・ターゲット11をフレーム・
バッファ・カードとすることができる。ここでは、バス
・ターゲット9ならびにバス・ターゲット11が、アド
レス指定可能であり、かつ読み書き可能なデータ・スト
レージ空間を有していることが前提となっている。
【0017】ホスト・メモリ5は、キャッシュまたはメ
イン・メモリといった標準コンピュータ・メモリとして
見られるメモリの広いカテゴリを代表するように意図さ
れている。ホスト・メモリ5は、ホスト・プロセッサ3
のオペレーションで使用される実行可能コードならびに
その他のデータをストアしている。さらに、後述するよ
うに、ホスト・メモリ5は、ATMネットワーク・メデ
ィア17とのデータの送受を行うためにネットワーク・
アダプタ15が使用するデータならびにデータ構造を擁
している。アクセスは、正規メモリ・フォーマット・イ
ンストラクションを介して行われる。
【0018】図2に、送信予定のパケットの記述に使用
される送信(TX)データ記述エントリを含むホスト・
メモリ5の部分19が示されている。ホスト・メモリ5
には、ネットワーク・アダプタ15に送信するパケット
・データのためのストレージ・バッファとして動作する
TXデータ・バッファ部31も備わっている。
【0019】パケットは、通常、ヘッダ部およびデータ
部よりなる。パケットの送信にエラーが発生した場合、
あるいはコントロール目的での要求があった場合のよう
な特定のケースにおいては、パケットに含まれる内容が
ヘッダ部だけとなることがある。パケットのヘッダ部な
らびにデータ部からなるデータを1つのストレージ・バ
ッファにストアすることも可能であり、また分割して複
数のストレージ・バッファにストアすることも可能であ
る。ストレージ・バッファは任意のサイズとすることが
できる。各パケットのヘッダ部が完全に第1のストレー
ジ・バッファ内に収まることが好ましいため、一般に第
1のストレージ・バッファは、少なくともパケットのヘ
ッダ部からなるデータを収めるのに充分な大きさとす
る。しかし、同一パケット用のデータを収めるすべての
ストレージ・バッファが1つのSバス・デバイス内のメ
モリに位置しなければならないという要請はない。換言
すれば、パケットに関連するデータは、複数のSバス・
デバイスのメモリ内に備わる1セットのストレージ・バ
ッファに収めることができるということになる。
【0020】たとえば、パケットを構成するデータが4
つのストレージ・バッファに分割されている場合、つま
り、第1のストレージ・バッファがパケットのヘッダ部
を含み、第2、第3、および第4のストレージ・バッフ
ァがパケットの残りのデータを包含する場合、第1のス
トレージ・バッファを、ヘッダの処理が意図されている
第1のSバス・デバイスのメモリ、たとえばホスト・メ
モリ5内に設定し、第2のストレージ・バッファを第2
のSバス・デバイス内のメモリに設定し、第3および第
4のストレージ・バッファを第3のSバス・デバイス内
のメモリに設定することができる。
【0021】各ストレージ・バッファは、データ記述エ
ントリにより記述され、当該ストレージ・バッファの特
性を記述する一連のフィールドから構成される。たとえ
ば、送信予定のパケットの一部ないし全部を包含するス
トレージ・バッファ33用のTXデータ記述エントリ2
1は、次のフィールドを備える。 rd_targetフィールド23 rd_buffer_chainフィールド25 rd_buffer_pointerフィールド27 rd_buffer_lengthフィールド29
【0022】rd_targetフィールド23は、ど
のターゲット・デバイスがストレージ・バッファ33を
含むかを指定する情報を有する。この実施形態において
は、rd_targetフィールド23は3つの有効な
値を有する2ビットのフィールドであり、rd_tar
get[1:0]=[00]であれば、ホスト・メモリ
5がストレージ・バッファを包含するターゲットとな
り、rd_target[1:0]=[01]であれ
ば、バス・ターゲット9がストレージ・バッファを包含
するターゲットとなり、rd_target[1:0]
=[10]であれば、バス・ターゲット11がストレー
ジ・バッファを包含するターゲットとなる。図2におい
て、ストレージ・バッファ33がホスト・メモリ5内に
ストアされるとき、rd_target23の値が[0
0]となる。これに代えて、rd_targetのビッ
ト数を増せば、任意数のSバス・デバイスへの参照をサ
ポートすることもできる。
【0023】rd_buffer_chainフィール
ド25は、4つの有効値を伴う2ビットのフィールドで
あり、バッファがストレージ・バッファのチェーンの一
部であるか否かを示す。rd_buffer_chai
nフィールドに使用可能な値は、以下の表1に示すとお
りである。
【0024】 *チェーン内にはストレージ・バッファが1つだけ存在する。つまり、スト レージ・バッファは、パケットを構成するデータを完全に包含する。
【0025】たとえば、ストレージ・バッファ33がパ
ケットの全データを包含するのであれば、rd_buf
fer_chain25の2ビットの値として[11]
が与えられる。ストレージ・バッファ33がストレージ
・バッファのチェーン内の最初のストレージ・バッファ
である場合は、rd_buffer_chain25の
2ビットの値として[10]が与えられる。同様に、ス
トレージ・バッファ33がストレージ・バッファのチェ
ーン内の最後のストレージ・バッファである場合は、r
d_buffer_chain25の2ビットの値とし
て[01]が与えられる。これ以外、すなわち、ストレ
ージ・バッファ33がストレージ・バッファのチェーン
内の最初のストレージ・バッファでも最後のストレージ
・バッファでもない場合は、rd_buffer_ch
ain25の2ビットの値として[00]が与えられ
る。
【0026】rd_buffer_pointerフィ
ールド27は、パケットを構成するデータの一部ないし
全部を包含するストレージ・バッファ33がストアされ
ているSバス・デバイスのメモリ内の32ビットのアド
レスを包含する。上述したように、すべてのストレージ
・バッファのサイズは64キロバイト以下とする。した
がって、ストレージ・バッファ33のサイズを表すrd
_buffer_lengthフィールド29は、16
ビットの値となる。これに代えて、ストレージ・バッフ
ァを64キロバイトより大きくするのであれば、その場
合のrd_buffer_lengthフィールドは、
フルサイズのストレージ・バッファをアドレスできる充
分なビット数としなければならない。
【0027】以上をまとめれば、パケットはTXデータ
記述エントリのセットによって記述され、そのセット内
のTXデータ記述エントリは、パケットのデータの一部
をストアするストレージ・バッファをポイントするとい
うことになる。各パケットを構成するデータを1ないし
複数のストレージ・バッファ内に包含できることから、
ホスト・プロセッサ3は、ホスト・プロセッサ3がネッ
トワーク・アダプタ15に送信を求める各パケット用の
1ないし複数のTXデータ記述エントリを生成しなけれ
ばならない。
【0028】図3は、本発明の1実施形態であり、ここ
においてネットワーク・アダプタ15により送信される
パケットを構成するデータは、ホスト・メモリ5ならび
に第1のバス・ターゲット9のターゲット・メモリ13
7内に包含されるストレージ・バッファ内にストアされ
る。TXデータ記述エントリ部19は、ホスト・プロセ
ッサ3により生成されたTXデータ記述エントリ10
1、111および121を包含する。TXデータ記述エ
ントリ101、111および121は、それぞれストレ
ージ・バッファ131、133および135の特性を保
持する。ストレージ・バッファ131は、ホスト・メモ
リ5のTXデータ・バッファ部31内に包含され、スト
レージ・バッファ133および135は、バス・ターゲ
ット9のバス・ターゲット・メモリ137内に包含され
る。
【0029】ストレージ・バッファ131、133およ
び135内にストアされるデータは、送信予定のパケッ
トを構成する。上述したように、3つのストレージ・バ
ッファよりなるチェーン内の最初のストレージ・バッフ
ァであるストレージ・バッファ131は、パケットのヘ
ッダ部を構成するデータを保持できる充分なサイズを有
する。ストレージ・バッファ133および135は、パ
ケットの残りのデータ部を包含し、それぞれ3つのスト
レージ・バッファよりなるチェーンの2番目と3番目の
ストレージ・バッファとなる。
【0030】定義したとおり、ホスト・メモリ5内に包
含されるストレージ・バッファ用のrd_target
値は値[00]を有する。つまり、ストレージ・バッフ
ァ131がストアされているSバス・ターゲットを識別
する2ビットのrd_targetフィールド23を表
すTXデータ記述エントリ101のブロック103が、
値[00]を保持する。同様に、ストレージ・バッファ
133および135が、rd_target値[01]
を有するバス・ターゲット9のバス・ターゲット・メモ
リ137内に包含されることから、ブロック113およ
び123は、ともに値[01]を保持する。
【0031】表1によれば、ストレージ・バッファ13
1が、ストレージ・バッファ131、133、135よ
りなるチェーン内の最初のストレージ・バッファとなる
ことから、2ビットのrd_buffer_chain
フィールドを表すブロック105は値[10]を保持す
る。同様に、ストレージ・バッファ133がそのチェー
ンの2番目のストレージ・バッファとなることから、ブ
ロック115が保持する値は[00]となる。また、ス
トレージ・バッファ135が、送信予定のストレージ・
バッファのチェーン内の最後のストレージ・バッファと
なることから、ストレージ・バッファ135用のrd_
buffer_chain値を保持するブロック125
は、値[01]を保持することになる。
【0032】ブロック107、117および127は、
それぞれホスト・メモリ5内のストレージ・バッファ1
31、133および135の32ビットのアドレスを保
持する。ストレージ・バッファ131、133および1
35のの長さは16ビットの2進数で表され、それぞれ
ブロック109、119および129に保持される。つ
まり、たとえばストレージ・バッファ131がAddr
ess1[31:0]により定義されたホスト・メモリ
5のアドレスの範囲に包含され、当該範囲はAddre
ss1[31:0]とLength1[15:0]の2
進和となる。同様に、ストレージ・バッファ133は、
Address2[31:0]により定義されたホスト
・メモリ5の、Address2[31:0]とLen
gth2[15:0]の2進和となるアドレスの範囲に
包含される。
【0033】図4は、本発明のネットワーク・アダプタ
15の実施形態を示すブロック図である。ネットワーク
・アダプタ15は、ネットワーク・アダプタ15をSバ
ス13に物理的に接続するSバス・インターフェース3
01を備える。Sバス・インターフェース301は、ス
トレージ・ロケーション3105およびバス・ターゲッ
ト特性レジスタ307を備えるSバス・プロトコル・エ
ンジン303と内部的に接続されている。Sバス・プロ
トコル・エンジン303は、Sバス・マスタとしてSバ
スの要求ならびに応答の双方へ正しくアサートする責任
がある。また、Sバス・プロトコル・エンジン303
は、プログラミング・オンおよびオフ・チップ・レジス
タならびにメモリに対するSバス・スレーブとしてSバ
スの要求への応答も担う。
【0034】ストレージ・ロケーション305は、順番
に送信されるバッファのチェーン内の最後のバッファの
アドレスに対応する値を保持するストレージ・エレメン
トである。ストレージ・ロケーション305は、ホスト
・プロセッサ3によって更新される。後述するように、
ストレージ・ロケーション305およびバス・ターゲッ
ト特性レジスタ307は、ホスト・プロセッサ3によっ
てプログラムされる。バス・ターゲット特性レジスタ3
07は、ホスト・メモリ5も含めて、スレーブとして機
能する各Sバス・デバイスのSバス特性を保持する。こ
れらのSバス特性には、Sバス・システムによってサポ
ートされている最大バースト・サイズおよびデータ幅が
含まれ、最大バースト・サイズについては、Sバス・サ
イクル当り16、32または64バイトのバースト、デ
ータ幅については、32または64ビットとすることが
できる。バス・ターゲット特性レジスタ307は、初期
化の間にホスト・プロセッサ3からその値を受取る。
【0035】ネットワーク・アダプタ15は、ネットワ
ーク・アダプタ15をATMネットワーク・メディア1
7に物理的に接続するためのATMネットワーク・メデ
ィア・インターフェース317も備える。ネットワーク
・メディア・インターフェース317は、それぞれパケ
ット・データからATMセルへのセグメント化、および
ATMセルからパケット・データへのリアッセンブリを
行うATM適応レイヤ機能を実行する、ATMセグメン
テーションおよびTXロジック313および、ATMリ
アッセンブリおよびRXロジック315に接続される。
【0036】詳細を後述するように、bus_cycl
e_control_word331ベクトルを介し
て、Sバス・プロトコル・エンジン303により実行さ
れる各Sバス・サイクルのプロトコル依存特性を決定す
るコントロール・ワードを出力するために、バースト・
ディスパッチャ311が使用される。bus_cycl
e_control_word331ベクトルは、バー
スト・ディスパッチャ311が(1)Sバス・プロトコ
ル・エンジン303から受取るSBus_state_
info333、(2)それぞれSバス・プロトコル・
エンジン303のbus_data_width327
およびbus_max_burst_size329を
介して受取る、あらかじめプログラムしたデータ幅なら
びにSバス・ターゲット・デバイスによりサポートされ
る最大バースト・サイズ、(3)rd_ack/wr_
ack信号353および、(4)(a)Sバス・ターゲ
ット・デバイスからのパケット・データの送信を行うた
めにSバス・サイクルが開始された場合には、rd_s
ize337、rd_target339、rd_re
q341およびrd_addr343よりなる信号セッ
トまたは、(b)ATMリアッセンブリおよびRXロジ
ックから受取ったパケット・データをSバス・ターゲッ
ト・デバイスに送信するためにSバス・サイクルが開始
された場合には、wr_size345、wr_tar
get347、wr_req349およびwr_add
r351よりなる信号セットを受信した後に、バースト
・ディスパッチャ311によって生成される。1実施態
様においては、bus_cycle_control_
word331が付録Aに収められている表に従って算
出した値に等しくなる。
【0037】さらに図4を参照すると、同期およびバッ
ファ・ロジック309がSバス・データ/コントロール
319およびSバス・クロック321の信号ラインを介
してSバス・プロトコル・エンジン303に接続されて
いる。また同期およびバッファ・ロジック309は、A
TMデータ/コントロール323およびTX/RXクロ
ック325の信号ラインを介してATMデータ/コント
ロール323および、ATMリアッセンブリおよびRX
ロジック315にも接続される。同期およびバッファ・
ロジック309は、(1)データがATMセグメンテー
ションおよびTXロジック313に取込まれる前にSバ
ス・プロトコル・エンジン303から受信したデータ、
および(2)データがSバス・プロトコル・エンジン3
03に送信される前にATMリアッセンブリおよびRX
ロジック315から受信したデータのバッファを行う。
さらに重要なことには、シーケンシャルのTX読み出し
要求およびRX書込み要求が、クロック・サイクル間の
損失なしにSバス13を介して確実に供給されるべく、
同期およびバッファ・ロジック309が、バースト・デ
ィスパッチャ311によって生成されたbus_cyc
le_control_word331ベクトルの同期
を行う。同期およびバッファ・ロジック309は、rd
_ack/wr_ack信号353の使用を通じてbu
s_cycle_control_word331ベク
トルの生成をコントロールする。
【0038】図5は、本発明の1実施形態のバースト・
ディスパッチャ311を示すブロック図である。バース
ト・ディスパッチャ311は、読み取りサイズ/アドレ
ス組合わせ演算器355を備える。読み取りサイズ/ア
ドレス組合わせ演算器355は、rd_adj_siz
e359およびrd_addr343を入力として受取
り、rd_size_case361を出力する。rd
_adj_size359は、Sバス伝送のワード境界
調整要件を満たすために2値パディングが施されたrd
_size337である。一実施形態において読み取り
サイズ/アドレス組合わせ演算器355により算出され
るrd_size_case361の値を付録Aに示
す。たとえば、rd_adj_size359が8バイ
トより大きく、16バイトより小さい場合は、rd_s
ize_case361の値は[001]に等しくな
る。
【0039】またバースト・ディスパッチャ311は、
bus_max_burst_size329、rd_
size_case361、rd_addr343およ
びbus_data_width327を使用してrd
_bus_control_word363を決定する
ための読み取りディスパッチャ・ルックアップ・テーブ
ル357も備えている。1実施形態においては、読み取
りディスパッチャ・ルックアップ・テーブル357が、
付録Aに収めたルックアップ・テーブルを実現してい
る。
【0040】DMA書込みオペレーションのため、バー
スト・ディスパッチャ311は書込みサイズ/アドレス
組合わせ演算器365を備える。書込みサイズ/アドレ
ス組合わせ演算器365は、wr_adj_size3
69およびwr_addr351を入力として受取り、
wr_size_case371を出力する。wr_a
dj_size369は、Sバス伝送のワード境界調整
要件を満たすために2値パディングが施されたwr_s
ize345である。一実施形態において書込みサイズ
/アドレス組合わせ演算器365により算出されるwr
_size_case371の値を付録Aに示す。たと
えば、wr_adj_size369が8バイトより大
きく、16バイトより小さい場合は、wr_size_
case371の値は[010]に等しくなる。
【0041】さらにバースト・ディスパッチャ311に
は、bus_max_burst_size329、w
r_size_case371、wr_addr351
およびbus_data_width327を使用して
wr_bus_control_word373を決定
するための書込みディスパッチャ・ルックアップ・テー
ブル367も備わる。1実施形態においては、書込みデ
ィスパッチャ・ルックアップ・テーブル367が、付録
Aに収めたルックアップ・テーブルを実現している。
【0042】到来するSバス読み取りまたは書込みDM
Aサイクルをスケジュールするか否かを決定するため
に、バースト・ディスパッチャ311は、アービトレー
ション・ロジック375を備える。アービトレーション
・ロジック375は、SBus_state_info
333、rd_req341、wr_req349およ
びrd_ack/wr_ack353を入力として受取
り、マルチプレクサ(MUX)379にsel377を
出力する。読み取りトランザクションのためのSBus
_state_info333の値は、バス要求とバス
不許可の論理「and」となる。このSBus_sta
te_info333の値は、次に示す式により決定さ
れる。 (i) 新サイクル=バス許可要求「and」バス
不許可 (ii) 新サイクルのイネーブル=新サイクルの最
初のパルス (iii) wr_bus_control_word
の更新=(1)書込みサイクルの選択「and」(2)
新サイクルのイネーブルの、1サイクル前
【0043】アービトレーション・ロジック375は、
付録Bに収めたアルゴリズムを実現している。
【0044】MUX379は、selが「書込み」もし
くは「読み取り」であるかによって、bus_cycl
e_control_word331上にrd_bus
_control_word363もしくはwr_bu
s_control_word373のいずれかの値を
出力する。この選択ベースのロジックにより、読み書き
トランザクションと書込みトランザクションがバックツ
ーバック(back to back)であっても、読み書きトラン
ザクションと読み込みトランザクションとの間の移行を
円滑にすることができる。また、アービトレーション・
ロジック375は、バックツーバックトランザクション
に対して異なるバス特性を伴うバス・ターゲットへ切換
えることを可能にする。
【0045】図6は、本発明の実施形態を使用し、複数
Sバスデバイス上に収められているパケットを送信する
ための方法を示すフロー・チャートである。この図6の
説明においては、図1、2、および4を併せて参照され
たい。
【0046】ブロック401および図1ならびに図2を
参照すると、ホスト・プロセッサ3は、好ましいオペレ
ーション・モードにおいて、送信予定のパケット用に、
ホスト・メモリ5内のTXデータ記述エントリ部19
に、1ないし複数のTXデータ記述エントリを生成す
る。前述したように、送信予定の各ストレージ・バッフ
ァについて1つのTXデータ記述エントリが存在しなけ
ればならない。つまり、1パケット用のデータが複数の
ストレージ・バッファに分割できることから、各パケッ
トはそれに関連する1セットのTXデータ記述エントリ
を有することになる。図2に示したようにホスト・プロ
セッサ3は、ストレージ・バッファ33用にTXデータ
記述エントリ部19内にTXデータ記述エントリ21を
生成する。
【0047】ホスト・プロセッサが1つのバッファの送
信のみを必要としている場合には、ブロック403から
ブロック405に進む。それ以外の場合、つまりホスト
・プロセッサ3が1パケットに属する複数のバッファの
送信を必要としている場合は、各バッファについてブロ
ック401を繰返す。つまり、ホスト・プロセッサ3が
4つのバッファの送信を必要としているのであれば、ブ
ロック401内のステップが、送信予定の各バッファに
つき1回ずつ、合計4回繰返されて、ホスト・メモリ5
内のTXデータ記述エントリ部19内に、ホスト・プロ
セッサ3による少なくとも4つのTXデータ記述エント
リがキュー設定される。
【0048】ブロック405および再度図4を参照する
と、ホスト・プロセッサ3は、必要な数のTXデータ記
述エントリをホスト・メモリ5内にキュー設定した後、
最後のエントリのアドレスを、Sバス・インターフェー
ス301のスレーブ部を介して、Sバス・プロトコル・
エンジン303内に備わるストレージ・ロケーション1
05内に書込む。つまり、パケットを構成するデータが
複数のストレージ・バッファに収められる場合、ホスト
・プロセッサ3は、ホスト・メモリ5内のTXデータ記
述エントリ部19にキュー設定した新しい1セットのT
Xデータ記述エントリの最後のエントリのアドレスに対
応する数をストレージ・ロケーション305に書込む。
【0049】ブロック407においては、送信するパケ
ットが1つだけであり、当該パケットがストレージ・バ
ッファ33内に完全に収められている場合、ホスト・プ
ロセッサ3がストレージ・ロケーション305に値を書
込んだ後、ATMセグメンテーションおよびTXロジッ
ク313が、Sバス・プロトコル・エンジン303の使
用を介してTXデータ記述エントリ21内に収められて
いる情報を要求する。Sバス・プロトコル・エンジン3
03は、ATMセグメンテーションおよびTXロジック
313に代わって、ホスト・メモリ5内のTXデータ記
述エントリ21のダイレクト・メモリ・アクセス(DM
A)読み取りを実行し、ATMセグメンテーションおよ
びTXロジック313に、同期およびバッファ・ロジッ
ク309を介してTXデータ記述エントリ21に包含さ
れている記述フィールドrd_target23、rd
_buffer_chain25、rd_buffer
_pointer27、およびrd_buffer_l
ength29を返す。具体的には、図4を参照する
と、ATMセグメンテーションおよびTXロジック31
3は、rd_targetフィールド23、rd_bu
ffer_pointerフィールド27、およびrd
_buffer_lengthフィールド29に収めら
れている値をバッファ・ロジック309から受取る。
【0050】ブロック409においては、ATMセグメ
ンテーションおよびTXロジック313は、TXデータ
記述エントリ21に収められていた記述エントリを受取
った後、パケットの内容を要求する。ATMセグメンテ
ーションおよびTXロジック313は、DMAにより1
〜64バイトのうちのどこからでも要求することができ
る。各要求について、ATMセグメンテーションおよび
TXロジック313は、バースト・ディスパッチャ31
1に対し、rd_req341をアサートし、rd_s
ize337およびrd_addr343に関する1セ
ットの信号を生成しなければならない。さらにATMセ
グメンテーションおよびTXロジック313は、信号ラ
インrd_target339を介して、ブロック40
7で説明したように受取りが行われる記述フィールドr
d_target23の値を出力する。
【0051】rd_size337よりなる信号のセッ
トは、データ読み取りが行われるサイズを記述するが、
これは、最大バーストのサイズならびにシステムのキャ
ッシュ・ラインにより制限されている。rd_size
337は、1〜64バイトの間の値となり、7ビットの
バイナリ値によって表される。rd_addr343
は、パケットを収めるデバイスのアドレス空間内におけ
る、32ビットからなる当該パケットのアドレスであ
る。
【0052】ブロック411においては、バースト・デ
ィスパッチャ311が、信号ラインrd_size33
7、rd_addr343およびrd_target3
39上にある値と、信号ラインbus_data_wi
dth327およびbus_max_burst_si
ze329の使用を介してSバス・プロトコル・エンジ
ン303により提供されるバス・ターゲット特性レジス
タ307の値とを組合わせ、次のSバス読み取りサイク
ルのバス特性をコントロールするための読み取りコント
ロール・ワードを生成する。バースト・ディスパッチャ
311は、Sバス・プロトコル・エンジン303がSB
us_state_info333の使用を介して所望
のSバス・サイクル状態情報を提供した後、bus_c
ycle_control_word331信号ライン
の使用を通じてSバス・プロトコル・エンジン303に
対するコントロール・ワードを更新する。つまり、コン
トロール・ワードは、rd_req341のアサート後
であり、かつ新Sバス・サイクルの開始前に更新され、
異なるバス特性を伴うバス・ターゲットのバックツーバ
ックDMA読取りのための円滑なバス特性切換えを確保
する。
【0053】ブロック413においては、Sバス・プロ
トコル・エンジン303がSバス・マスタDMA読取り
を実行してrd_target339により決定された
スレーブ・デバイスの一部から、bus_cycle_
control_word331に応じたすべてのプロ
トコル特性ならびに動作を読取る。
【0054】ブロック415においては、各Sバス・サ
イクルの後、Sバス・プロトコル・エンジン303が、
Sバス13から読み出したデータをSバス・データ/コ
ントロール319ラインを介して同期およびバッファ・
ロジック309に送信する。
【0055】ブロック417においては、同期およびバ
ッファ・ロジック309が、ATMデータ/コントロー
ル323の使用を通じてATMセグメンテーションおよ
びTXロジック313にデータを送信する。ATMセグ
メンテーションおよびTXロジック313は、データを
ATMセルにセグメント化し、ATMネットワーク・メ
ディア・インターフェース317の使用を通じてATM
ネットワーク・メディア17に送信する。
【0056】ブロック419を参照すると、すべての記
述エントリの処理が完了した場合にネットワーク・アダ
プタ15は、ホスト・プロセッサ3が新しい記述エント
リのセットにある最後の記述エントリのアドレスをスト
レージ・ロケーション305に書込むまで待機する。そ
れ以外の場合、すなわち処理を必要とする記述エントリ
が残っている場合は、各記述エントリに対してブロック
409〜419が繰返され、対応するストレージ・バッ
ファの処理と送信がそれぞれ行われる。つまり、ブロッ
ク401においてホスト・プロセッサ3が3つのTXデ
ータ記述エントリを生成した場合、各TXデータ記述エ
ントリの処理について1回、合計3回繰返され、3つの
ストレージ・バッファの送信が行われる。
【0057】以上をまとめると、本発明によれば、分割
されて1つのコンピュータ・システムの異なるバス・タ
ーゲットにストアされるパケットのリアッセンブリが可
能になり、かつ、異なるバス・ターゲットからの読取り
においてI/Oバス・サイクルないしは帯域幅に影響を
及ぼすことなく、コンピュータ・ネットワークへのその
送信が可能になる。さらに、本発明は、コンピュータ・
システムのバス・ターゲットが異なるバス特性を有する
場合にも上記の機能を実行することができる。つまり、
本発明により、1つの折返しDMA読取りトランザクショ
ンから他への円滑なバス特性の移行が可能になる。
【0058】本発明は、各種図面を参照して具体的に説
明されているが、図面は説明のみを目的とし、本発明の
範囲を限定するものではないことを理解されたい。当業
者であれば、本発明の意図ならびに範囲から逸脱するこ
となく、各種の変更ないしは変形が可能となることが明
らかであろう。
【図面の簡単な説明】
【図1】本発明の1実施形態による構成のネットワーク
・アダプタを備えたコンピュータ・システムのブロック
図である。
【図2】本発明のオペレーションにおいて使用されるデ
ータならびにデータ構造を有するコンピュータ・システ
ムのホスト・メモリを示す模式図である。
【図3】本発明の1実施形態による構成のコンピュータ
・システムのホスト・メモリ並びにバス・ターゲット・
デバイスのメモリ空間を示す模式図である。
【図4】本発明による構成のネットワーク・アダプタの
1実施形態を示すブロック図である。
【図5】本発明による構成のバースト・ディスパッチャ
の1実施形態を示すブロック図である。
【図6】ホスト・メモリとバス・ターゲット・デバイス
のメモリ空間との間でパケットのヘッダ部およびデータ
部が分配されるトランザクションの方法を説明するため
のフロー・チャートである。
【符号の説明】
1 コンピュータシステム、3 ホスト・プロセッサ、
5 ホスト・メモリ、8 I/Oブリッジ、9 バス・
ターゲット、11 バスターゲット、13 Sバス、1
5 ネットワーク・アダプタ。
フロントページの続き (72)発明者 ラソウル・エム・オスコウイ アメリカ合衆国 94539 カリフォルニア 州・フレモント・アンプクア コート・ 968

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 バス・インターフェース回路;そのバス
    ・インターフェース回路に結合されるバス・プロトコル
    回路;バス・プロトコル回路に結合されるバースト・デ
    ィスパッチャ回路;バースト・ディスパッチャに結合さ
    れる読み出し処理回路および書込み処理回路に結合され
    るネットワーク・インターフェース;および、 前記バス・プロトコル回路、バースト・ディスパッチャ
    回路、読み出し処理回路および、書込み処理回路に結合
    される同期およびバッファ回路を備えるネットワーク・
    アダプタ。
  2. 【請求項2】 I/Oバスを備えるコンピュータ・シス
    テム内の第1のバス・ターゲット、第2のバス・ターゲ
    ットおよびネットワーク・アダプタの間でパケット・デ
    ータを伝送する方法であり、これにおいては、該第1の
    バス・ターゲットは該I/Oバスに結合され、該第2の
    バス・ターゲットは該I/Oバスに結合され、該ネット
    ワーク・アダプタが該I/Oバスならびにネットワーク
    ・メディアに結合され、かつ:前記ネットワーク・アダ
    プタ内に1セットの記述エントリを生成するステップで
    あって、前記第1のバス・ターゲットおよび第2のバス
    ・ターゲットのいずれか1つと前記ネットワーク・アダ
    プタとの間で伝送される各パケットの各部分に対して、
    1つの記述エントリを生成するステップ;前記第1のバ
    ス・ターゲットおよび第2のバス・ターゲットのいずれ
    か1つから前記ネットワーク・アダプタへパケット・デ
    ータの1つの部分を伝送するステップであり、これにお
    いてパケット・データの部分を含む前記バス・ターゲッ
    トが前記1セットの記述エントリの1つにより記述され
    るステップ;を含む方法。
  3. 【請求項3】 I/Oブリッジに結合されるホスト・プ
    ロセッサ;前記I/Oブリッジに結合されるシステム・
    バス;前記ホスト・プロセッサならびにI/Oブリッジ
    に結合されるメモリ・インタコネクト・ロジック;前記
    メモリ・インターコネクト・ロジックに結合されるホス
    ト・メモリ;前記システム・バスに結合されるバス・タ
    ーゲット;該システム・バスに結合される第1のインタ
    ーフェースならびにネットワーク・メディアに接続され
    る第2のインターフェースを備えるネットワーク・アダ
    プタ;を備えるコンピュータ・システムであって、前記
    ネットワーク・アダプタは、前記ホスト・メモリおよび
    バス・ターゲットからコンピュータ・ネットワークに送
    信されるデータの第1のセットの取込みならびにアッセ
    ンブルを行うことができるコンピュータ・システム。
JP8197081A 1995-07-07 1996-07-08 複数バス・ターゲットへのパケット・データの分割を可能にする方法および装置 Pending JPH09223089A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/499199 1995-07-07
US08/499,199 US5793953A (en) 1995-07-07 1995-07-07 Method and apparatus for allowing packet data to be separated over multiple bus targets

Publications (1)

Publication Number Publication Date
JPH09223089A true JPH09223089A (ja) 1997-08-26

Family

ID=23984253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8197081A Pending JPH09223089A (ja) 1995-07-07 1996-07-08 複数バス・ターゲットへのパケット・データの分割を可能にする方法および装置

Country Status (4)

Country Link
US (2) US5793953A (ja)
EP (1) EP0752780A3 (ja)
JP (1) JPH09223089A (ja)
SG (1) SG81897A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008122374A (ja) * 2006-11-01 2008-05-29 Avago Technologies General Ip (Singapore) Private Ltd シリアライザ/デシリアライザ・バスコントローラ・インターフェース

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793953A (en) * 1995-07-07 1998-08-11 Sun Microsystems, Inc. Method and apparatus for allowing packet data to be separated over multiple bus targets
US5974466A (en) * 1995-12-28 1999-10-26 Hitachi, Ltd. ATM controller and ATM communication control device
US5991520A (en) 1996-02-02 1999-11-23 Sony Corporation Application programming interface for managing and automating data transfer operations between applications over a bus structure
US6631435B1 (en) 1996-02-02 2003-10-07 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US7577782B2 (en) * 1996-02-02 2009-08-18 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US6519268B1 (en) * 1996-03-07 2003-02-11 Sony Corporation Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US6233637B1 (en) 1996-03-07 2001-05-15 Sony Corporation Isochronous data pipe for managing and manipulating a high-speed stream of isochronous data flowing between an application and a bus structure
US6791947B2 (en) 1996-12-16 2004-09-14 Juniper Networks In-line packet processing
US5978858A (en) * 1997-09-30 1999-11-02 Compaq Computer Corporation Packet protocol and distributed burst engine
US7002964B1 (en) * 1998-02-24 2006-02-21 Canon Kabushiki Kaisha Communication system, method for a communication system and controller for a communication system
IL125515A (en) * 1998-07-26 2004-01-04 Galileo Technology Ltd Burst descriptors
US6167471A (en) 1998-10-14 2000-12-26 Sony Corporation Method of and apparatus for dispatching a processing element to a program location based on channel number of received data
US6560652B1 (en) * 1998-11-20 2003-05-06 Legerity, Inc. Method and apparatus for accessing variable sized blocks of data
US6247069B1 (en) 1999-05-12 2001-06-12 Sony Corporation Automatically configuring storage array including a plurality of media storage devices for storing and providing data within a network of devices
US6859846B2 (en) * 1999-05-12 2005-02-22 Sony Corporation Method of distributed recording whereby the need to transition to a second recording device from a first recording device is broadcast by the first recording device
US6668299B1 (en) * 1999-09-08 2003-12-23 Mellanox Technologies Ltd. Software interface between a parallel bus and a packet network
US6721859B1 (en) 1999-10-21 2004-04-13 Sony Corporation Multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data
US6523108B1 (en) 1999-11-23 2003-02-18 Sony Corporation Method of and apparatus for extracting a string of bits from a binary bit string and depositing a string of bits onto a binary bit string
US7031258B1 (en) * 2000-01-13 2006-04-18 Mercury Computer Systems, Inc. Digital data system with link level message flow control
US7149816B1 (en) * 2000-05-16 2006-12-12 Lucent Technologies Inc. System and method for peer-level communication with a network interface card
US7720821B1 (en) 2000-06-30 2010-05-18 Sony Corporation Method of and apparatus for writing and reading time sensitive data within a storage device
US6904475B1 (en) 2000-11-06 2005-06-07 Sony Corporation Programmable first-in first-out (FIFO) memory buffer for concurrent data stream handling
DE10119754B4 (de) * 2001-04-23 2007-11-29 Infineon Technologies Ag Verfahren und Vorrichtung zum Speichern von Datenpaketen
US7124292B2 (en) * 2001-05-21 2006-10-17 Sony Corporation Automatically configuring storage array including a plurality of media storage devices for storing and providing data within a network of devices
US20030065735A1 (en) * 2001-10-02 2003-04-03 Connor Patrick L. Method and apparatus for transferring packets via a network
US7111086B1 (en) * 2002-02-22 2006-09-19 Vmware, Inc. High-speed packet transfer in computer systems with multiple interfaces
US7103006B2 (en) * 2002-05-01 2006-09-05 International Business Machines Corporation Method, system, and article of manufacture for data transmission
TWI313412B (en) * 2002-11-25 2009-08-11 Ibm Method and apparatus for intermediate buffer segmentation and reassembly
CH694215A5 (de) * 2003-09-10 2004-09-15 Csaba Bona Verfahren zum Uebermitteln von elektronischen Daten ueber ein duales Netzwerk zur Erhhoehung der Internetsicherheit.

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4453229A (en) * 1982-03-11 1984-06-05 Grumman Aerospace Corporation Bus interface unit
US5058109A (en) * 1989-06-28 1991-10-15 Digital Equipment Corporation Exclusionary network adapter apparatus and related method
US5136582A (en) * 1990-05-29 1992-08-04 Advanced Micro Devices, Inc. Memory management system and method for network controller
US5274768A (en) * 1991-05-28 1993-12-28 The Trustees Of The University Of Pennsylvania High-performance host interface for ATM networks
US5335329A (en) * 1991-07-18 1994-08-02 Texas Microsystems, Inc. Apparatus for providing DMA functionality to devices located in a bus expansion chassis
AU3416293A (en) * 1991-12-23 1993-07-28 Network Express System for internetworking data terminal equipment through a switched digital network
US5351243A (en) * 1991-12-27 1994-09-27 Digital Equipment Corporation Monitor for packets on a communications network
US5491802A (en) * 1992-05-29 1996-02-13 Hewlett-Packard Company Network adapter for inserting pad bytes into packet link headers based on destination service access point fields for efficient memory transfer
US5381413A (en) * 1992-12-28 1995-01-10 Starlight Networks Data throttling system for a communications network
US5522050A (en) * 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
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
US5497460A (en) * 1994-06-20 1996-03-05 International Business Machines Corporation System and method for determining network connectivity
US5687316A (en) * 1994-07-29 1997-11-11 International Business Machines Corporation Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data
US5659718A (en) * 1994-08-19 1997-08-19 Xlnt Designs, Inc. Synchronous bus and bus interface device
US5548587A (en) * 1994-09-12 1996-08-20 Efficient Networks, Inc. Asynchronous transfer mode adapter for desktop applications
US5611057A (en) * 1994-10-06 1997-03-11 Dell Usa, L.P. Computer system modular add-in daughter card for an adapter card which also functions as an independent add-in card
US5881313A (en) * 1994-11-07 1999-03-09 Digital Equipment Corporation Arbitration system based on requester class and relative priority including transmit descriptor valid bit for a shared resource having multiple requesters
US5592622A (en) * 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
US5793953A (en) * 1995-07-07 1998-08-11 Sun Microsystems, Inc. Method and apparatus for allowing packet data to be separated over multiple bus targets
US5664116A (en) * 1995-07-07 1997-09-02 Sun Microsystems, Inc. Buffering of data for transmission in a computer communication system interface
US5600650A (en) * 1995-07-07 1997-02-04 Sun Microsystems, Inc. Method and apparatus for synthesizing clock signals for use with an asynchronous transfer mode system having selectable data transmission rates
US5673279A (en) * 1995-11-06 1997-09-30 Sun Microsystems, Inc. Verification of network transporter in networking environments

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008122374A (ja) * 2006-11-01 2008-05-29 Avago Technologies General Ip (Singapore) Private Ltd シリアライザ/デシリアライザ・バスコントローラ・インターフェース

Also Published As

Publication number Publication date
US6438613B1 (en) 2002-08-20
SG81897A1 (en) 2001-07-24
EP0752780A3 (en) 2003-05-14
EP0752780A2 (en) 1997-01-08
US20020144000A1 (en) 2002-10-03
US5793953A (en) 1998-08-11

Similar Documents

Publication Publication Date Title
JPH09223089A (ja) 複数バス・ターゲットへのパケット・データの分割を可能にする方法および装置
US7401126B2 (en) Transaction switch and network interface adapter incorporating same
JP3336816B2 (ja) マルチメディア通信装置及び方法
US6425021B1 (en) System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts
US5261059A (en) Crossbar interface for data communication network
US6366583B2 (en) Network router integrated onto a silicon chip
US6985484B1 (en) Packetized data transmissions in a switched router architecture
US6836808B2 (en) Pipelined packet processing
US6901451B1 (en) PCI bridge over network
US20070115939A1 (en) Network on chip system employing an advanced extensible interface protocol
JPH0685842A (ja) 通信装置
US20070115995A1 (en) NoC system employing AXI protocol and interleaving method thereof
JPH09265439A (ja) ホスト・システムと非同期転送モード・コア機能ブロックとの間の汎用インタフェースを行う装置および方法
US20050089033A1 (en) Method, system, and program for constructing a packet
US20060106955A1 (en) Method for dynamically adjusting the data transfer order of PCI express root ports
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
US6683876B1 (en) Packet switched router architecture for providing multiple simultaneous communications
US7313146B2 (en) Transparent data format within host device supporting differing transaction types
JP2002123371A (ja) ディスクアレイ制御装置及びディスクアレイ制御方法
US9804959B2 (en) In-flight packet processing
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
US7451254B2 (en) System and method for adaptive buffer allocation in a memory device interface
WO2000062179A1 (en) Asynchronous data transmission with scattering page tables
JP2546743B2 (ja) 音声およびデータのためのパケット/高速パケット交換機
US9548947B2 (en) PPI de-allocate CPP bus command

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060718

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061018

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070213