JPH09160870A - ハードウェアとソフトウェアの間でデータ転送を報告する方法および装置 - Google Patents

ハードウェアとソフトウェアの間でデータ転送を報告する方法および装置

Info

Publication number
JPH09160870A
JPH09160870A JP8195271A JP19527196A JPH09160870A JP H09160870 A JPH09160870 A JP H09160870A JP 8195271 A JP8195271 A JP 8195271A JP 19527196 A JP19527196 A JP 19527196A JP H09160870 A JPH09160870 A JP H09160870A
Authority
JP
Japan
Prior art keywords
data
storage field
storage
item
posting
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
JP8195271A
Other languages
English (en)
Inventor
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 JPH09160870A publication Critical patent/JPH09160870A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Transfer Systems (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

(57)【要約】 【課題】 ソフトウェアとハードウェアの間でデータ転
送状況の報告方法および装置を提供する。 【解決手段】 ソフトウェアがハードウェアに、転送の
完了更新をポストするための空の記述子を提供する。具
体的には、ソフトウェアは、使用可能な最後の記述子の
番号を、ハードウェアがアクセス可能な記憶場所内の第
1の記憶フィールドに入れる。ハードウェアは、使用し
た記述子の番号を記憶場所内の第2の記憶フィールドに
ポストすることによって、完了更新を報告するために使
用した記述子の番号を示す。使用可能な記述子がそれ以
上あるか否かを判断するために、ハードウェアは第1の
記憶フィールドの内容を第2の記憶フィールドの内容と
比較する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般にはコンピュー
タ・システムの分野に係り、特にはコンピュータ・シス
テムにおけるハードウェアとソフトウェアの間でデータ
転送を報告する方法および装置に関する。
【0002】
【従来の技術】コンピュータ・システム内でのデータ転
送におけるハードウェアとソフトウェアの間の調整は従
来、記述子リングにOWNビットの使用を組み込んでリ
ング上の各記述子の現行所有権を示すセマフォ機構を使
用することで行われている。記述子リングとは、環状に
配置された複数のエントリイすなわち項目(たとえば1
からNまで)を有するデータ構造体である。記述子リン
グ内の各項目の内容を記述子と呼ぶ。典型的な記述子に
は、セグメント化ページ編成におけるページ・テーブル
・アドレスの基準またはセグメント・レジスタ編成にお
けるブロック基底アドレスを提供する基底アドレス・フ
ィールドが含まれる。各記述子は、項目がハードウェア
によって所有されると「1」に設定され、エントリイす
なわち項目がソフトウェアによって所有されると「0」
に設定されるビットを含む。このビットを「OWN」ビ
ットと呼ぶ。記述子の所有者は、記述子を更新すると所
有権を解放する責任を負う。したがって、ソフトウェア
は送信パケットのポストを完了するとOWNビットを1
に設定し、ハードウェアはパケットの送信を完了すると
OWNビットをクリアする。
【0003】従来のシステムでは、ハードウェアはホス
ト・メモリ内の完了データ構造体をポーリングして記述
子のOWNビットの状況を判断しなければならない。こ
のタスクを行って、ハードウェアがトランザクション上
の更新を行うために記述子を使用できるか否かを判断す
る。しかし、すべての記述子が使用不能である場合があ
るため、ホスト・メモリへのこのようなアクセスがむだ
になることがある。その結果、ハードウェアは、ソフト
ウェアが送信パケットをポストし、OWNビットを立て
ることによってそのタスクの完了を知らせるまでメモリ
のポーリングを続けなければならない。かかるポーリン
グの必要のために、それがなければ同じシステムを共用
する他の装置が使用できるはずの入出力システムの帯域
が減少する。
【0004】
【発明が解決しようとする課題】したがって、当技術分
野では、完了記述子リングの効率的な使用によってコン
ピュータ・システム内のハードウェアとソフトウェアの
間でデータ転送の状況を報告し、状況を報告する前にホ
スト・メモリに対するポーリングを不要にできる方法お
よび装置が必要である。
【0005】
【課題を解決するための手段】コンピュータ・システム
におけるソフトウェアとハードウェアの間でデータ転送
の状況を報告(レポート)する方法および装置を開示す
る。ソフトウェアは、転送完了更新をポストするために
ハードウェアに空の記述子を提供する。具体的には、ソ
フトウェアは使用可能な最後の記述子の番号を、ハード
ウェアがアクセス可能な記憶場所内の第1の記憶フィー
ルドに入れる。ハードウェアは、使用した記述子の番号
を記憶場所内の第2の記憶フィールドにポストすること
によって完了更新を報告するために使用した記述子の番
号を報告する。使用可能な記述子がそれ以上あるか否か
を判断するために、ハードウェアは第1の記憶フィール
ドの内容を第2の記憶フィールドの内容と比較する。第
1と第2の記憶フィールドの内容が等しい場合、ハード
ウェアは完了リング内の最後の記述子に達したことにな
る。2つのフィールドが等しくない場合は、ハードウェ
アが使用することができる記述子が1つまたは複数あ
る。本発明によって、トランザクションの状況を報告す
るための記述子が使用可能であるか否かを判断するため
にホスト・メモリをポーリングする必要がなくなる。
【0006】
【発明の実施の形態】図1に、本発明のデータ転送報告
の方法および装置を使用するATMネットワーク・イン
タフェース回路を組み込んだコンピュータ・システム・
ネットワークの例を示す。このコンピュータ・システム
・ネットワーク10は、1つまたは複数のATMネット
ワーク・インタフェース回路(NIC)12を組み込ん
だホスト・コンピュータ・システム(図示せず)を含
む。NIC 12は、ローカルATM交換機14を介し
て公衆ATM交換機16に結合され、ネットワーク10
に結合されたホスト・コンピュータ・システム間でのデ
ータの非同期通信を可能にする。あるいは、NIC12
は公衆ATM交換機16に直接結合することもできる。
図1に示すように、このコンピュータ・システム・ネッ
トワーク10は、ATMネットワークをサポート・フレ
ームワークとして使用するイーサネットまたはトークン
・リング・ネットワーク17などの他のネットワークを
接続する、ゲートウェイとして機能するローカル・エリ
ア・ネットワーク(LAN)エミュレーション15の使
用を組み込んだコンピュータ・システムも含むことがで
きる。
【0007】図2は、本発明の好ましい実施形態によ
る、データ転送報告の方法および装置を使用するATM
NIC 12のアーキテクチャを示す略システム図で
ある。このATM NIC 12は、システム・バス3
8を介して結合されているホスト・コンピュータ・シス
テム48を、ATMプロトコルに従って動作するネット
ワーク媒体40とインタフェースさせる。
【0008】図のATM NIC 12は、システム・
バス・インタフェース20、汎用入出力(GIO)イン
タフェース24、システムおよびATM層コア22、ロ
ーカル・スレーブ・インタフェース26、送信(TX)
FIFO 28、受信(RX)FIFO 30、媒体イ
ンタフェース32、外部バッファ・メモリ・インタフェ
ース34、およびクロック合成回路36を備える。
【0009】NIC 12のこれらの要素20〜36が
組合わさって協調動作し、ホスト・コンピュータ48と
ネットワーク内の他のコンピュータの間で、複数の帯域
幅グループの複数の動的割り振り(dynamical
ly allocated)チャネルを介してデータを
転送する。ネットワーク・インタフェース回路12の要
素は全体として、ホスト・コンピュータ・システム48
のシステム・バス38に結合されている多重チャネル・
インテリジェント・ダイレクト・メモリ・アクセス(D
MA)コントローラとして機能する。好ましい実施形態
では、複数の送受信チャネルが、全二重155/622
Mbps物理リンクを使用する仮想接続として使用され
る。システム・バス38を経由して外部バッファ・メモ
リ・インタフェース34を介して外部バッファ・メモリ
42まで様々なチャネルに加入しているデータの複数の
パケットが、システムおよびATM層コア22によって
送信セルにセグメント化され、媒体インタフェース32
を介して媒体40に送信される。コア22は、受信セル
をパケットに組み立て直すのを容易にする再組み立てロ
ジックも含む。
【0010】コア22はさらに、本発明の好ましい実施
形態により、ATM NIC 12によってサポートさ
れるすべてのチャネルのデータ転送の報告(レポーティ
ング)に使用する第1の記憶場所60aと第2の記憶場
所60bを含む記憶ブロック50を備える。以下で詳述
するように、本発明の教示に従って記憶場所60aをデ
ータ送信の報告に使用し、記憶場所60bをデータ受信
の報告に使用することが好ましい。記憶場所60aおよ
び60bはそれぞれ第1の記憶フィールド62と第2の
記憶フィールド64を含む。各記憶場所60aおよび6
0bには比較回路66が結合されている。この比較回路
66を使用して、第1の記憶フィールド62と第2の記
憶フィールド64の内容が比較される。比較回路66の
一例は、排他的論理和ゲートである。具体的には、記憶
場所60aは第1の記憶フィールド62aと第2の記憶
フィールド64aを含み、記憶場所60bは第1の記憶
フィールド62bと第2の記憶フィールド64bを含
む。記憶場所60aには、第1の記憶フィールド62a
と第2の記憶フィールド64aの内容を比較する比較回
路66aが結合されている。同様に、記憶場所60bに
は比較回路66bが結合され、第1の記憶フィールド6
2bの内容と第2の記憶フィールド64bの内容との比
較に使用される。以下の説明では、記憶場所60aおよ
び60b、第1の記憶フィールド62aおよび62b、
第2の記憶フィールド64aおよび64b、比較回路6
6aおよび66bを、記憶場所60、第1の記憶フィー
ルド62、第2の記憶フィールド64、および、比較回
路66のように称する。
【0011】TX FIFO 28およびRX FIF
O30はコア22と媒体インタフェース32の間に結合
され、それぞれ送信パケットと受信パケットの送信セル
・ペイロードと受信セル・ペイロードをステージングす
るために使用される。媒体インタフェース32は、クロ
ック合成回路36によって供給されるクロック信号によ
って駆動され、ネットワークの媒体40との間でセルを
送受信する。この媒体と媒体インタフェース32は、A
TMフォーラム特別仕様に記載されているUniver
sal Test and Operations P
hysicalInterface for ATM
(UTOPIA)標準に準拠していることが好ましい。
UTOPIA仕様に準拠するために、クロック合成回路
36は20MHzまたは40MHzのクロック信号を供
給して媒体インタフェース32をイネーブルし、20M
Hzで155Mbpsのバイト・ストリーム、40MH
zで622Mbpsのデータ・ストリームをサポートす
る。
【0012】この実施形態では、媒体インタフェース3
2は、TX FIFO 28からそれぞれ4バイトのセ
ル・ヘッダと48バイトのペイロードを有する52バイ
トのデータ・セルを受信する。媒体インタフェース32
は、チェックサムを各データ・セルのセル・ヘッダに5
番目のバイトとして挿入し、53バイトのデータ・セル
を媒体40に供給する。逆に、媒体インタフェース32
が媒体40からセルを受信するときは、各セルの5番目
のバイトに入っているチェックサムを検査し、チェック
サムが正しいかどうかを判断する。正しい場合、チェッ
クサムを表すバイトをセルから除去してそのセルをRX
FIFO 30に転送する。正しくない場合はセル全
体を廃棄する。
【0013】システム・バス・インタフェース20およ
びGIO(generic I/O)インタフェース2
4は、ホスト・コンピュータ・システム48を媒体40
への転送の詳細から遮蔽(insulate)する。さ
らに、コア22はシステム・バス38の詳細とホスト詳
細から遮蔽される。この好ましい実施形態では、システ
ム・バスは電気電子学会(IEEE)標準1496仕様
の規定に準拠したSバスである。システム・バス・イン
タフェース20は、この例の場合はSバスであるシステ
ム・バスの仕様に従って通信するように構成される。シ
ステム・バス・インタフェース20は異なるホスト・コ
ンピュータ・システム・バスに準拠するように構成可能
であることが企図される。また、システム・バス・イン
タフェース20は、GIOインタフェース24によって
指定されたプロトコルに従ってデータを送受信するよう
にも構成される。GIOインタフェース24は、コア2
2がホスト・コンピュータと通信するための単一のイン
タフェースを提供する。したがって、コア22は、様々
なホスト・コンピュータ・システムおよびバスとインタ
フェースするNIC 12の様々な実施形態について変
わらない。
【0014】ネットワーク・インタフェース回路12の
動作には3つのメモリ・サブシステムが関連している。
これらは、ホスト・コンピュータ・システム48内にあ
るホスト・メモリ49と、コア22の外部のローカル・
バッファ・メモリ42と、コア22内にある制御記憶ブ
ロック50である。ATMインタフェース・ネットワー
ク回路12は、バッファ・メモリ42と記憶ブロック5
0という2つのメモリ領域を管理する。バッファ・メモ
リ42には、ネットワーク・インタフェース回路12に
よってサポートされるすべての送受信チャネルのための
パケット・データが入れられる。記憶ブロック50に
は、送受信チャネルのDMA状態情報と、DMA転送を
行うホスト・メモリ49内のデータ構造体を指すポイン
タが入れられる。記憶ブロック50には、ホスト48と
媒体40の間を移動中のパケットのためにローカル・バ
ッファ・メモリ42内の複数の送受信バッファを管理す
るデータ構造体詳細も入れられる。
【0015】ホスト・コンピュータ・システム48は、
データ・パケットと、送受信するパケットを指すポイン
タが入れられるホスト・メモリ49を備える。前述のよ
うにNIC 12は、非同期転送のセル記述詳細を、ホ
スト・コンピュータ・システム48上で稼動しているア
プリケーションから遮蔽する。この例では、ホスト・コ
ンピュータ・システム48で稼動しているソフトウェア
は、当技術分野で周知のように、パケット・インタフェ
ースによる環状送受信リングを使用してデータ送受信を
管理するものとする。
【0016】図3に、本発明の装置および方法によるデ
ータ転送報告に使用するホスト・メモリ49の好ましい
データ構造体の略ブロック図を示す。ホスト・メモリ4
9は、送信(TX)完了記述子リング80と受信(R
X)完了記述子リング90を備える。TX完了リング8
0は、複数のリング項目(エントリイ)、たとえば項目
81、82、83を有するデータ構造体である。これら
の各リンク項目(エントリイ)81、82、83はソフ
トウェアによって順次に循環方式でアクセスされ、サイ
ズは、トランザクション完了に関連する情報(たとえば
コア22内のハードウェアすなわち回路がトランザクシ
ョンの完了を報告するために使用可能な記述子の記述子
番号)を有する記述子を収容するのに十分なサイズ(た
とえば64バイト)である。
【0017】TX完了リング80は、以下で詳述するよ
うに、コア22内のハードウェアに対して、ハードウェ
アが完了更新をポストするために使用することができる
記述子番号を報告するために使用される。好ましい実施
形態では、TX完了リング80は64Kバイトのホスト
・メモリを占め、1,024個のリング項目をサポート
する。TX完了リング80にはソフトウェアとハードウ
ェアの両方がアクセスすることができる。TX完了リン
グ80は各記述子内にOWNビットを有し、このビット
はハードウェアがTX完了リング80の所有権を持って
いるときにソフトウェアによって設定される。本発明
は、共用記憶場所または資源が特定のプロセッサによっ
て使用されていることを示すセマフォ機構としてOWN
ビットを使用する。本発明では、各記述子がOWNビッ
トを含み、その項目(エントリイ)がハードウェアによ
って所有されている場合は「1」に設定され、その項目
がソフトウェアによって所有されている場合は「0」に
設定される。記述子の所有者は、記述子を更新したとき
に所有権を解放する責任を負う。したがって、ソフトウ
ェアがハードウェアに対する使用可能記述子のポストを
完了すると、ソフトウェアはOWNビットを1に設定
し、ハードウェアがトランザクション上の更新のポスト
を完了すると、ハードウェアはOWNビットをクリアす
る。
【0018】RX完了リング90は、TX完了リング8
0と同様に、ホスト・メモリ49内にあるデータ構造体
であり、複数のリング項目を有する。RX完了リング9
0は、ハードウェアに対して、ハードウェアが受信完了
更新を提供するために使用することができる記述子を報
告するために使用される。それぞれ1つのTX完了リン
グ80と1つのRX完了リング90が、複数チャネルの
送受信状況を報告するために使用される。
【0019】コア22内のハードウェアが完了済みトラ
ンザクションを報告するために記述子を使用可能な場
合、ホスト・メモリ上で稼動しているソフトウェアはN
IC12内のコア22に対して「キック」コマンドを発
行する。このコマンドは書込み命令であり、以下で詳述
するように、TXデータ・リング番号(0〜126)
と、リング内で最後にポストされ、ハードウェアがトラ
ンザクション上の更新をポストするために使用すること
ができる対応する記述子番号とをパラメータとして提供
する。
【0020】好ましい実施形態では、各「キック」コマ
ンドによって提供されるパラメータは、記憶場所60内
の第1の記憶フィールド62に書き込まれる。したがっ
て、TXデータ・リング番号(0〜126)および最後
にポストされた記述子の対応する記述子番号が、第1の
記憶フィールド62に書き込まれる。NIC 12上の
データの転送に割り当てられたコア22内のハードウェ
アは、完了更新をポストするために使用した最後の記述
子をリングによって追跡する。この記述子番号は、記憶
場所60内の第2の記憶フィールド64に維持されてい
る。ハードウェアは、使用可能な記述子について完了更
新をポストし、別の完了更新をポストすることができる
ようになったとき、または、「キック」コマンドを受信
したときに第1の記憶フィールド62と第2の記憶フィ
ールド64の内容を調べる。これは、第1の記憶フィー
ルド62の内容を第2の記憶フィールド64の内容と比
較する比較回路66を使用して行われる。前述のよう
に、比較回路66は排他的論理和ゲートを使用して実施
することができる。第1の記憶フィールド62の内容と
第2の記憶フィールド64の内容が等しい場合、すなわ
ちハードウェアとソフトウェアの両方の記述子ポインタ
が一致している場合、ハードウェアは使用可能な最後の
記述子を使用したことになる。
【0021】図4は、本発明の好ましい実施形態による
ソフトウェアによって行われるデータ転送報告の方法の
プロセスの流れを示すフローチャートである。この方法
は、送信完了更新のポストの場合はTX完了記述子リン
グ80を使用し、受信完了更新のポストの場合はRX完
了記述子リング90を使用して、状況の更新を提供する
ために使用することができる。この例では、TX完了記
述子リング80を使用する送信完了更新のポストのプロ
セスのみについて説明する。開始状態から始まって、プ
ロセスS100は、判断ブロックS102に示すよう
に、ホスト・メモリ上で稼動しているソフトウェア(S
W)がポストするために使用可能な空の記述子がTX完
了リング80上にあるか否かを照会する。空の記述子が
ない場合、プロセスS100は、判断ブロックS102
に戻る。空の記述子がある場合、プロセスS100は処
理ブロックS104に進み、ソフトウェアが空の各記述
子にOWNビットを立ててから、最後の記述子の項目番
号を記憶場所60の記憶フィールド62に書き込む。
【0022】プロセスS100は、このようにして空の
各記述子の項目番号を提供することができるが、プロセ
スS100を最適化することができるように、ソフトウ
ェアが単一のトランザクションによっていくつかの空の
記述子をポストすることが好ましい。したがって、たと
えば、TX完了記述子#0〜99をハードウェアに提供
するようにソフトウェアを作成する場合、ソフトウェア
は100個の記述子のすべてのOWNビット(すなわち
100個のOWNビット)を立ててから、記憶場所60
のTX/RX記憶フィールド62に値99を書き込まな
ければならない。その結果、各「キック」コマンドは、
使用可能な最後の記述子の番号を記憶場所60内の第1
の記憶フィールド62に書き込み、TX完了リング番号
(0〜126)と、使用可能な最後の記述子の対応する
番号とを提供する。次に、プロセスS100は判断ブロ
ックS106に進み、処理を続行すべきか否かを照会す
る。処理を続行する場合、プロセスS100は判断ブロ
ックS102に進む。処理を続行しない場合、プロセス
S100は終了する。
【0023】図5は、本発明の教示による、ハードウェ
アが更新をポストするプロセスS200を示すフローチ
ャートである。データの転送に割り当てられたNIC
12上のハードウェアは、リングによって完了更新をポ
ストするために使用した最後の記述子も追跡する。この
記述子番号は、記憶場所60内の第2の記憶フィールド
64で保持される。開始状態から始まって、プロセスS
200は、ハードウェア(HW)が第1の記憶フィール
ド62と第2の記憶フィールド64の内容を調べること
から開始する。
【0024】判断ブロックS108に示すように、ハー
ドウェアが使用可能な最後の記述子に達したか否かを判
断するために、ハードウェアは第1の記憶フィールド6
2の内容を第2の記憶フィールド64の内容と比較す
る。第1の記憶フィールド62の内容と第2の記憶フィ
ールド64の内容が等しい場合、ハードウェアはTX完
了リング80内の使用可能な最後の記述子に達してい
る。その結果、プロセスS200は処理ブロックS11
0に進み、ソフトウェアが「キック」コマンドを介して
使用可能な記述子を送ったか否かを照会する。送った場
合、プロセスS200はブロックS108に戻る。送っ
ていない場合、処理ブロックS112に示すように、ハ
ードウェアは別のソフトウェア「キック」コマンドによ
って覚醒するまで操作を停止する。
【0025】第1の記憶フィールド62の内容と第2の
記憶フィールド64の内容が等しくない場合、プロセス
S200は処理ブロックS114に進み、ハードウェア
は使用可能な1つまたは複数の記述子で完了更新をポス
トする。処理ブロックS114を処理すると、プロセス
S200は判断ブロックS116に進み、ハードウェア
が完了更新のポストを続けるべきか否かを照会する。続
ける場合、プロセスS200は処理ブロックS118に
進み、次のチャネルで供給された次のパケットまたはデ
ータを処理する。続けない場合、プロセスS200は終
了する。プロセスS100(プロセス・ステップS10
2〜S106を含む)はプロセスS200(プロセス・
ステップS108〜S118を含む)と共に同期的に行
われる。
【0026】当業者には明らかなように、プロセスS1
00とS200は、ハードウェアによって受信されたデ
ータの状態を報告するように調整することができる。本
発明の使用によって、ハードウェアは完了リング記述子
の可用性を調べるためにホスト・メモリをポーリングす
る必要がなく、オーバーヘッドと処理時間が少なくな
る。
【0027】当業者は、本発明の真の範囲および精神か
ら逸脱することなく、上記の実施形態の修正および変更
を加えることができる。たとえば、本発明はソフトウェ
アとハードウェアの間でデータ転送の報告を必要とする
どのようなコンピュータ・システムでも実施することが
でき、ATMプロトコルを使用するデータ転送またはデ
ータ伝送には限定されない。さらに、記憶フィールド6
2は第2の記憶フィールド64と同じ記憶場所50にあ
る必要はない。
【0028】したがって、本発明について特定の好まし
い実施形態によって説明したが、当業者には明らかな他
の実施形態も本発明の範囲内に含まれる。したがって、
本発明の範囲は特許請求の範囲によってのみ規定される
ものである。
【図面の簡単な説明】
【図1】本発明のデータ転送報告の方法および装置を使
用する非同期転送モード・ネットワーク・インタフェー
ス回路を組み込んだコンピュータ・システム・ネットワ
ークの例を示す図である。
【図2】本発明の好ましい実施形態による、データ転送
報告の方法および装置を使用する非同期転送モード・ネ
ットワーク・インタフェース回路のアーキテクチャを示
すシステム全体図である。
【図3】本発明の装置および方法を使用するシステムに
おいて、データ転送のために使用するホスト・メモリの
好ましいデータ構造を示す略ブロック図である。
【図4】本発明の好ましい実施形態による、ハードウェ
アとソフトウェアの間のデータ転送報告の方法のプロセ
スの流れを示すフローチャートである。
【図5】本発明の好ましい実施形態による、ハードウェ
アとソフトウェアの間のデータ転送報告の方法のプロセ
スの流れを示すフローチャートである。
【符号の説明】 10 コンピュータ・システム・ネットワーク 12 ATMネットワーク・インタフェース回路 14 ローカルATM交換機 15 LANエミュレーション 16 公衆ATM交換機 22 システムおよびATM層コア 20 システム・バス・インタフェース 24 汎用入出力インタフェース 26 ローカル・スレーブ・インタフェース 28 送信FIFO 30 受信FIFO 32 媒体インタフェース 34 外部バッファ・メモリ・インタフェース 36 クロック合成回路 38 システム・バス 40 ネットワーク媒体 42 外部バッファ・メモリ 48 ホスト・コンピュータ・システム 50 記憶ブロック 60 記憶場所 62 記憶フィールド 64 記憶フィールド 66 比較回路 80 TX完了リング 90 RX完了リング

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 データを転送するコンピュータ・システ
    ムであって、 各項目が項目番号を備え、データをポストするための複
    数の項目を有する少なくとも1つのデータ構造体を有す
    るホスト・メモリを有するホスト装置と、 第1の記憶フィールドがデータのポストに使用可能な項
    目に対応する項目番号を記憶し、第2の記憶フィールド
    がポストされたデータを含む項目に対応する項目番号を
    記憶する、第1の記憶フィールドと第2の記憶フィール
    ドを有する、ホスト装置に結合された記憶場所と、 第1の記憶フィールドの内容を第2の記憶フィールドの
    内容と比較する、記憶場所に結合された回路とを備える
    コンピュータ・システム。
  2. 【請求項2】 比較回路が第1の記憶フィールドの内容
    が第2の記憶フィールドの内容と等しくないと判断した
    場合に機能する、データをポストする第2の回路をさら
    に含む、請求項1に記載のシステム。
  3. 【請求項3】 データのポストに使用可能な項目に対応
    する項目番号が第1の記憶フィールドに記憶されている
    場合に機能する、データをポストする第2の回路をさら
    に含む、請求項1に記載のシステム。
  4. 【請求項4】 ホスト・メモリを有するホスト装置に応
    答する、データの転送回路であって、前記ホスト・メモ
    リはデータをポストする複数の項目を有する少なくとも
    1つのデータ構造体を有し、前記各項目は項目番号を有
    しており、 第1の記憶フィールドがデータのポストに使用可能な項
    目に対応する項目番号を記憶し、第2の記憶フィールド
    がポストされたデータを含む項目に対応する項目番号を
    記憶する、第1の記憶フィールドと第2の記憶フィール
    ドを有する、ホスト装置に結合された記憶場所と、 第1の記憶フィールドの内容を第2の記憶フィールドの
    内容と比較する、記憶場所に結合された回路とを備え
    る、データの転送回路。
  5. 【請求項5】 比較回路が第1の記憶フィールドの内容
    が第2の記憶フィールドの内容と等しくないと判断した
    場合に機能する、比較回路に応答してデータをポストす
    る第2の回路をさらに含む、請求項4に記載の回路。
  6. 【請求項6】 データをポストするために使用可能な項
    目に対応する項目番号が第1の記憶フィールドに格納さ
    れている場合に機能する、データをポストする前記第2
    の回路をさらに含む請求項4に記載の回路。
  7. 【請求項7】 コンピュータにおけるデータ転送を調整
    する方法であって、 第1の項目がデータをポストするために使用可能な記憶
    場所に対応する、第1の記憶フィールドに前記第1の項
    目番号を格納するステップと、 第2の項目番号がポストされたデータが入った記憶場所
    に対応する、第2の記憶フィールドに前記第2の項目番
    号を格納するステップと、 第1の記憶フィールドの内容を第2の記憶フィールドの
    内容と比較するステップと、 第1の記憶フィールドの内容が第2の記憶フィールドの
    内容と等しくない場合は第1の記憶フィールドに格納さ
    れている項目番号に対応する記憶場所にデータをポスト
    し、第1の記憶フィールドの内容が第2の記憶フィール
    ドの内容と等しい場合はデータのポストを終了するステ
    ップを含む方法。
  8. 【請求項8】 第1の項目番号がデータをポストするた
    めに使用可能な記憶場所に対応する場合、第1の記憶フ
    ィールドに格納されている項目に対応する記憶場所にデ
    ータをポストするステップをさらに含む、請求項7に記
    載の方法。
  9. 【請求項9】 第1格納ステップの前に、ホスト・メモ
    リが、データをポストするための複数の項目を有する少
    なくとも1つのデータ構造体を有し、各項目が項目番号
    を備える、ホスト・メモリを有するホスト装置を設ける
    ステップをさらに含む、請求項7に記載の方法。
  10. 【請求項10】 データ構造体がデータを転送する送信
    チャネルに対応する第1のデータ構造体とデータを受信
    する受信チャネルに対応する第2の構造体であり、第2
    の記憶場所が第3の記憶フィールドと第4の記憶フィー
    ルドを有し、第2のデータ構造体と第2の記憶場所を設
    けるステップをさらに含む、請求項7に記載の方法。
JP8195271A 1995-07-07 1996-07-08 ハードウェアとソフトウェアの間でデータ転送を報告する方法および装置 Pending JPH09160870A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US49928395A 1995-07-07 1995-07-07
US08/499283 1995-07-07

Publications (1)

Publication Number Publication Date
JPH09160870A true JPH09160870A (ja) 1997-06-20

Family

ID=23984634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8195271A Pending JPH09160870A (ja) 1995-07-07 1996-07-08 ハードウェアとソフトウェアの間でデータ転送を報告する方法および装置

Country Status (3)

Country Link
US (1) US5745790A (ja)
EP (1) EP0752664A3 (ja)
JP (1) JPH09160870A (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784559A (en) * 1995-11-06 1998-07-21 Sun Microsystems, Inc. Full duplex flow control for ethernet networks
US5870628A (en) * 1996-06-11 1999-02-09 International Business Machines Corporation Adaptor for receiving and processing asynchronous transfer mode cells within a computer network
KR0169248B1 (ko) * 1996-07-24 1999-02-01 양승택 패킷 상호 연결망에서의 메시지 송신 장치 및 메시지 송신 제어방법
US6070219A (en) * 1996-10-09 2000-05-30 Intel Corporation Hierarchical interrupt structure for event notification on multi-virtual circuit network interface controller
US6081846A (en) * 1997-05-08 2000-06-27 Microsoft Corporation Method and computer program product for reducing intra-system data copying during network packet processing
US6378005B1 (en) * 1998-06-12 2002-04-23 Microsoft Corporation Method, computer program product, and system for separating connection management functionality from a connection-oriented device driver
US6735773B1 (en) 1998-06-27 2004-05-11 Intel Corporation Method and apparatus for issuing commands to a network processor configured to provide a plurality of APIs
US6728249B2 (en) 1998-06-27 2004-04-27 Intel Corporation System and method for performing cut-through forwarding in an ATM network supporting LAN emulation
US6657959B1 (en) 1998-06-27 2003-12-02 Intel Corporation Systems and methods for implementing ABR with guaranteed MCR
US6603768B1 (en) 1998-06-27 2003-08-05 Intel Corporation Multi-protocol conversion assistance method and system for a network accelerator
US6724767B1 (en) * 1998-06-27 2004-04-20 Intel Corporation Two-dimensional queuing/de-queuing methods and systems for implementing the same
US6604136B1 (en) 1998-06-27 2003-08-05 Intel Corporation Application programming interfaces and methods enabling a host to interface with a network processor
US6327615B1 (en) * 1998-09-30 2001-12-04 Stmicroelectronics, Inc. Method and system of controlling transfer of data by updating descriptors in descriptor rings
US6389494B1 (en) * 1998-12-30 2002-05-14 Emc Corporation System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data
US7073020B1 (en) 1999-01-04 2006-07-04 Emc Corporation Method for message transfer in computer storage system
US7117275B1 (en) 1999-01-04 2006-10-03 Emc Corporation Data storage system having separate data transfer section and message network
US6360278B1 (en) * 1999-05-27 2002-03-19 3Com Corporation FIFO queued entry point circuit for a network interface card
US6675238B1 (en) * 1999-09-03 2004-01-06 Intel Corporation Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor
US6691178B1 (en) * 2000-02-22 2004-02-10 Stmicroelectronics, Inc. Fencepost descriptor caching mechanism and method therefor
US6993621B1 (en) 2000-03-31 2006-01-31 Emc Corporation Data storage system having separate data transfer section and message network with plural directors on a common printed circuit board and redundant switching networks
US7007194B1 (en) 2000-06-29 2006-02-28 Emc Corporation Data storage system having point-to-point configuration
US7010575B1 (en) 2000-03-31 2006-03-07 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US7003601B1 (en) 2000-03-31 2006-02-21 Emc Corporation Data storage system having separate data transfer section and message network with plural directions on a common printed circuit board
US6779071B1 (en) 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
US6816916B1 (en) * 2000-06-29 2004-11-09 Emc Corporation Data storage system having multi-cast/unicast
US6708258B1 (en) * 2001-06-14 2004-03-16 Cisco Technology, Inc. Computer system for eliminating memory read-modify-write operations during packet transfers
US6963946B1 (en) * 2003-10-01 2005-11-08 Advanced Micro Devices, Inc. Descriptor management systems and methods for transferring data between a host and a peripheral
US7689738B1 (en) 2003-10-01 2010-03-30 Advanced Micro Devices, Inc. Peripheral devices and methods for transferring incoming data status entries from a peripheral to a host
US6981074B2 (en) * 2003-10-14 2005-12-27 Broadcom Corporation Descriptor-based load balancing
US7826614B1 (en) 2003-11-05 2010-11-02 Globalfoundries Inc. Methods and apparatus for passing initialization vector information from software to hardware to perform IPsec encryption operation
US7533154B1 (en) 2004-02-04 2009-05-12 Advanced Micro Devices, Inc. Descriptor management systems and methods for transferring data of multiple priorities between a host and a network
US7831749B2 (en) * 2005-02-03 2010-11-09 Solarflare Communications, Inc. Including descriptor queue empty events in completion events

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3916385A (en) * 1973-12-12 1975-10-28 Honeywell Inf Systems Ring checking hardware
USH513H (en) * 1986-06-30 1988-08-02 The United States Of America As Represented By The Secretary Of The Air Force ECM preprocessor or tracker using multi-processor modules
CA1286420C (en) * 1987-10-14 1991-07-16 Youssef Alfred Geadah Fifo buffer controller
US5477541A (en) * 1989-09-29 1995-12-19 White; Richard E. Addressing technique for storing and referencing packet data
US5495482A (en) * 1989-09-29 1996-02-27 Motorola Inc. Packet transmission system and method utilizing both a data bus and dedicated control lines
US5136582A (en) * 1990-05-29 1992-08-04 Advanced Micro Devices, Inc. Memory management system and method for network controller
US5544317A (en) * 1990-11-20 1996-08-06 Berg; David A. Method for continuing transmission of commands for interactive graphics presentation in a computer network
US5287476A (en) * 1991-06-07 1994-02-15 International Business Machines Corp. Personal computer system with storage controller controlling data transfer
US5390299A (en) * 1991-12-27 1995-02-14 Digital Equipment Corporation System for using three different methods to report buffer memory occupancy information regarding fullness-related and/or packet discard-related information
US5299313A (en) * 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management

Also Published As

Publication number Publication date
EP0752664A2 (en) 1997-01-08
US5745790A (en) 1998-04-28
EP0752664A3 (en) 2006-04-05

Similar Documents

Publication Publication Date Title
JPH09160870A (ja) ハードウェアとソフトウェアの間でデータ転送を報告する方法および装置
US5875352A (en) Method and apparatus for multiple channel direct memory access control
EP0772130B1 (en) Method and apparatus for transmission and processing of virtual commands
US5745684A (en) Apparatus and method for providing a generic interface between a host system and an asynchronous transfer mode core functional block
JP4205181B2 (ja) Atmパケット・ヘッダおよびデータをホスト・コンピュータ・システムにバースト転送するための方法および装置
US5740448A (en) Method and apparatus for exclusive access to shared data structures through index referenced buffers
US6021446A (en) Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine
JP3819484B2 (ja) Mpegパケットをパケット化およびセグメント化する装置および方法
JP3336816B2 (ja) マルチメディア通信装置及び方法
US5675829A (en) Method and apparatus for coordinating data transfer between hardware and software by comparing entry number of data to be transferred data to entry number of transferred data
US6438613B1 (en) Method and apparatus for allowing packet data to be separated over multiple bus targets
US20030046457A1 (en) Apparatus and method for an interface unit for data transfer between processing units in the asynchronous transfer mode
US5982772A (en) Cell interface block partitioning for segmentation and re-assembly engine
JPH09128313A (ja) コンピュータ通信システム・インターフェースにおける送信データのバッファリング
JPH09321828A (ja) 保護メモリ・オペレーティング・システムにおけるデータ・コピー・オーバーヘッドを削減する機構
US6516371B1 (en) Network interface device for accessing data stored in buffer memory locations defined by programmable read pointer information
US7949800B2 (en) Method for exchanging information with physical layer component registers
US5680401A (en) Method and apparatus for asynchronously segmenting packets of multiple channels into ATM cells
JP2001521356A (ja) Ieee1394シリアルバスのノード内におけるバスパケットの伝送方向の検出及び制御の方法及び装置
JP2003521156A (ja) 単一のリングデータバス接続構成を用いてメモリを共有する装置および方法
US6178462B1 (en) Protocol for using a PCI interface for connecting networks
US6603768B1 (en) Multi-protocol conversion assistance method and system for a network accelerator
JPH1079744A (ja) 通信装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040907

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050222