JP3673951B2 - デスクトップ用非同期転送モードアダプター - Google Patents
デスクトップ用非同期転送モードアダプター Download PDFInfo
- Publication number
- JP3673951B2 JP3673951B2 JP51029196A JP51029196A JP3673951B2 JP 3673951 B2 JP3673951 B2 JP 3673951B2 JP 51029196 A JP51029196 A JP 51029196A JP 51029196 A JP51029196 A JP 51029196A JP 3673951 B2 JP3673951 B2 JP 3673951B2
- Authority
- JP
- Japan
- Prior art keywords
- atm
- circuit
- field
- host
- dma
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5614—User Network Interface
- H04L2012/5616—Terminal equipment, e.g. codecs, synch.
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5629—Admission control
- H04L2012/563—Signalling, e.g. protocols, reference model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
- H04L2012/5653—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL]
- H04L2012/5658—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL] using the AAL5
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Description
本発明は一般的には、2点の間で電子データを転送し、かつ交換するデータ通信システム及び方法に関し、そして特に、ワークステーション又はデスクトップ環境でATM能力を提供するための非同期転送モード(ATM)アダプターに関する。
発明の背景
今日の電気通信及びデータ処理産業において、大量の情報の高速度、低コストの配布及び交換が非常に重要になっている。製造会社は、建物間でCAD/CAM設計結果を配布する必要がある。出版会社は、レイアウトを電子的にデザインすることを求め、かつ異なる場所のグループの間でそれらを共有する。病院は、ほとんど実時間で、詳細な医療記録を共有することを望んでいる。最近まで、これらの活動の全てが、単一の建物、又はキャンパスに技術的に制約されていた。会社は、実時間ネットワーク技術を使うことによって制約を解除して、夜通しかけた急使の配達に取って代わる必要がある。また、データセンター整備に向かう傾向が民間及び政府の両方にある。組織は、リモートデータセンターからローカルなワークグループを管理することを望んでいる。彼らは、それをするためのネットワークを必要とし、かつ彼らはその全体の動作のための1つの故障点にはならないように彼らはこれらの新しい統一されたデータセンタをバックアップするためのネットワークを必要としている。
全てのこれらのアプリケーションが共通に有するものは、それらは、1.544Mbpsの通常のT1速度よりも高速でビットを通過させる必要があるということである。あるアプリケーションは、高速度を継続することを要求する。あるアプリケーションは、バーストを急速に配達することができるようにより帯域幅を必要とする。T1より遅い速度は、典型的にはワイドエリアネットワークに導入されているものである。これは、一般に使用される最も遅い速度が、例えばイーサネット環境における10Mbpsであるローカルエリアとの不釣り合いを表している。しかしながら、より広い帯域幅のみの必要性は、新たな技術を正当化するには十分ではない。時分割多重(TDM)は、155MbpsのSONET速度にまで効果的に増加する。TDMについての問題は、それが、要求された帯域幅を忠実に提供することができないということである。現在現れた新たなアプリケーションは、長いバースト間ギャップが続く大きなバーストビットとしてネットワークに持続される。
ATMは、適切に実施されるとき、他のユーザを中断させることなくバーストを伝送するために利用可能の帯域幅を確保することができる。また、バースト間の期間に他のユーザに利用可能の帯域幅を確保し、それによってほとんど実時間でアプリケーションを伝送する一方コスト−効率を維持することができる。
ATM技術を使うネットワークの設計において、考慮を必要とする4つの要因がある。1)複雑性−複雑性はなくなっているように見えなければならない:ネットワークはできるだけ単純に維持されなければならない。2)経済性−繰り返し帯域幅及びオペレーションコストは包含されなければならない。3)伝送遅延−出発地から目的地に移動するためにかかる時間は短くなければならない。4)ユーザ要求−ネットワークの特性はアプリケーションにとって適切でなければならない。:それは、情報転送がほとんど実時間で生じるアプリケーションによって必要とされることがあるということを意味している。
ATMは、伝統的パケットスイッチングの長所である帯域幅効率を、回路スイッチングの長所である高処理能力、低遅延、及び透明性と組み合わせる。アプリケーショントラフィック(音声、データ、ビデオ、及び映像)は、ネットワークを横断して伝送するために53バイトのセルに入れてカプセル化される。伝統的パケットスイッチングに対して、ATM層ではエラー処理はなされないが、しかし付属のDTE装置における上位層プロトコルによって処理される。それ故、ATMセルは、低遅延のギガビット速度で、ハードウエアにおいてスイッチすることができる。低待ち時間及び高処理能力のために、ATMは協同ネットワーク上でこれらのアプリケーションをサポートする理想的な技術である。それは、ローカルエリアインターネットワーク接続のようなバーストデータ、及びSNA及びX.25のような伝統的データと共に、音声及びビデオのような等時トラフィックをサポートすることができる。ATMのスケーラビリティは、今日の共有媒体ローカルエリアネットワーク(LAN)に代わる魅力がある。
アクティブスピーチ又はペイロードデータのような意味ある情報のみがネットワークを横断して転送するためにATMセル内にカプセル化されるので、帯域幅リソースは効率的に使用される。アイドルフラグのための帯域幅リソース及び会話中の沈黙期間を無駄にしないことによって、ネットワークは、ワイドエリア施設をより良く利用するよう設計することができる。ATMネットワークは、多様なアプリケーションのサービス品質(QoS)要求を維持しつつ、最小のコストで設計することができる。
継ぎ目のないネットワークの理想を達成するために克服しなければならない課題は、かなりのものである。第一に、ローカル対ワイドエリアネットワークのATM配備を取り巻く相違がある。これらは、全体的ネットワーク解決策を提供するために相互運用しなければならないローカルエリアネットワーク及びワイドエリアネットワークプロダクトの実現に相違をもたらす。第二に、マルチベンダ相互運用性に対する要求がある。第三に、継ぎ目のないATMネットワークに移るとき考慮しなければならない経済的観点がある。
今日、ローカルエリアネットワークにおける焦点は、単にデータトラフィックに合わせられている。音声及びビデオは典型的には、ローカルエリアネットワークから完全に分離した特別の通信装置によって処理される。マルチメディアは、デスクトップへのATMのドライバの1つとして見られるけれども、現在のATM・LANは、LANデータトラフィックのみのサポートに向けられている。他方、多様なトラフィックタイプは伝統的に、ワイドエリアにわたってサポートされてきた。これらのトラフィックタイプをそれらの特別の性能基準と効果的に統合するために、ATM装置は、洗練された待ち行列、輻輳、及び経路アルゴリズムを包含しなければならない。
デスクトップツーデスクトップマルチメディアネットワーク接続を提供する継ぎ目のないネットワークは、将来の企業環境によって必要とされる高い性能及び柔軟性に合致する非常に魅力的な解決策である。しかしながら、現在まで、経済的に実用的な価格と所望レベルの性能の両方を有し、かつデスクトップ環境においてATMネットワーク能力を提供する方法、システム、或いはアーキテクチャーは存在しない。
従って、デスクトップ環境においてATMネットワーク能力を提供するシステムの必要性がある。
ローカルエリア及びワイドエリアネットワーク相互運用性、マルチベンダ相互運用性、及び製造及び実施における経済性の重要な考慮を満足的に取り組むATM方法及びシステムの必要性がある。
ATMをデスクトップのもたらす際に価格と性能の両方の観点で要求に満足的に取り組む方法及びシステムの必要性がある。
発明の概要
従って、本発明は、ATMネットワーク環境において存在する制限を克服するか、又はかなり減少させるデスクトップアプリケーション用非同期転送モード(ATM)アダプタを提供する。
本発明の1つの観点に従うと、ATMネットワークにインターフェースするためのアダプタを含むデスクトップアプリケーション用ATMアダプタが提供される。このアダプタは、ATMアプリケーション特定集積化回路(ASIC)を包含している。ATM・ASICは、ホストインターフェース回路を使用するSBusのようなデータバスとインターフェースすることができる。ホストインターフェース回路は、バスインターフェース、直接メモリアクセス即ちDMAコントローラ及びスレーブアクセスコントローラを包含している。DMAコントローラは、ATM・ASIC内のDMAオペレーションを制御し、かつRAMインターフェースアービタと関連している。スレーブアクセスコントローラは、SBusに進む割り込み回路及び統計回路の両方のオペレーションを制御する。RAMインターフェースアービタは、DMAコントローラ、スレーブアクセスコントロール回路、セグメンテーションエンジン、及び再組立エンジンの間の通信を仲裁する。RAMインターフェースアービタは、アダプタと関連したRAMへのRAMバスと通信する。セグメンテーションエンジンは、物理インターフェース回路を通して転送用のATMフォーマットにデータをセグメント分割する。物理インターフェース回路はまた、フォーマット化されたATM情報を受け取り、かつその情報を再組立エンジンに送る。再組立エンジンは、ATMデータを再組立して、それをRAMインターフェース/アービタ回路を通してRAMバスに伝送する。RAMバスから、データは再び、RAMインターフェース/アービタを通してDMAコントローラに、そしてホストバスインターフェースを通してSBusに通過させることができる。
本発明は、デスクトップレベルで、ATMネットワークと経済的に、かつ高度の性能効率及びサービス品質でもって、通信する能力を含む多数の技術的利点を提供する。本発明は、ATMフォーマット及びプロトコルを使うローカルエリアネットワークでの動作と関連した多数の問題を解決する。
本発明が提供するより特別の技術的利点は、ATM・ASICのATM観点に関係している。例えば、ATM・ASICは、所望のセグメンテーション及び再組立観点と共に、共通パート収束サブレイヤーのためのAAL5適合を提供する。ATM・ASICは、オペレーション及び維持セルサポート、8つのセグメンテーションチャンネルの同時オペレーション、及び1024再組立オペレーションを提供する。仮想チャンネル識別子の10ビット及び仮想パス識別子のゼロビットのためのサポートがまた、本発明のATM・ASICによって提供される。さらに、ピークセル速度トラフィック決定サポートは、本発明の特に魅力的な技術的利点又は特徴である。本発明は、ステータス及びエラー報告能力を提供しつつ、非AAL5トラフィックのためのサポートを提供する。本発明のこれら及び他の技術的利点及び特徴は、以下の詳細な説明を、関連した図と共に参照するときに明らかになるであろう。
【図面の簡単な説明】
本発明及びその使用モード及び利点は、以下の例示具体例の説明を、添付図面と関連して参照することにより最も良く理解される。
図1は、2端局間の通信の種々のATMプロトコル層で動作するATM通信プロセスをプロトコルと共に概観する図である。
図2は、デスクトップにATM通信を提供するローカルエリアネットワークの動作を概念的に示す図である。
図3は、本発明具体例のATMアダプタの一部を形成するアプリケーション特定集積化回路のブロック図である。
図4は、本発明具体例のモード制御レジスタビット位置を示すリストである。
図5〜図18は、本発明具体例のレジスタビット、タイプ、デフォルト、名前、及び記述を詳細に示している。
図19〜図23は、本発明具体例のRAM、PHY層、及びEEPROMのためのタイミング図である。
図24は、本発明具体例の絶対最小及び最大定格を詳細に示すリストである。
図25は、本発明具体例の推奨された動作条件を提供するリストである。
図26は、本発明具体例のアクセス、読み取り、及び書込時間範囲を示している。
図27は、本発明具体例のレジスタの割り当てを概念的に示すメモリマップを含んでいる。
図28は、本発明具体例のセグメンテーションエンジンのブロック図である。
図29は、本発明具体例の8つのセグメンテーションチャンネルの概念的例示である。
図30及び図31は、本発明具体例において、それぞれAAL5及び非AAL5セグメンテーションバッファのためのビット整列した内容を示している。
図32は、本発明具体例のセグメンテーションコントロールブロックフィールド内容及び機能を記述するリストである。
図33は、本発明具体例のためのDMA伝送待ち行列フィールドポインタを記述するリストである。
図34は、本発明具体例のためのDMA伝送待ち行列の次の書込エリア及び現在の読み出しエリアへのDMA伝送待ち行列フィールドポインタを記述するリストである。
図35は、本発明具体例のピークセル速度回路を形成するブロック図である。
図36は、本発明具体例のピークセル速度値のリストを含んでいる。
図37は、本発明具体例の可能なサイズ及びロケーションパラメータ値を示すリストを含んでいる。
図38は、本発明具体例におけるセグメンテーション又は再組立待ち行列にアドレスするときの19ビットアドレスの構成を例示している。
図39は、本発明具体例が使用する再組立データ構成を概念的に例示している。
図40は、本発明具体例のVCIテーブルのフォーマットを示している。
図41及び図42はAAL5及び非AAL5転送モードのための再組立バッファをそれぞれ示している。
図43は、本発明具体例のためのサービスリストフォーマットを示している。
図44は、本発明具体例のサービスリストへのポインタのリストを含んでいる。
図45は、本発明具体例の再組立オペレーションのためのDMA受け取り待ち行列フォーマットを示している。
図46は、本発明具体例のためのDMA受け取り待ち行列ポインタを記述するリストである。
図47は、本発明具体例に適用可能のアプリケーション、ライブラリ、オペレーティングシステム、及びハードウエア機能をより一般的な用語で示している。
図48〜図51は、本発明具体例のためのホストインターフェースピン記述である。
発明の詳細な説明
本発明の例示具体例は、種々の要素の同一及び相当する部分に対して同じ数字が使われる図を参照することにより最も良く理解されるであろう。
図1は、通信する端局間の種々の層の通信で生じる機能と共にATM通信プロセスの概観図を示している。ATMプロトコル層10の枠組み内で、ATMプロトコルは、端局Aと端局Bの間に通信パスを提供する。端局Aは、例えば端局にすることができる一方、端局Bを、例えばワークステーション又は周辺装置、端局又はB−ISDNスイッチにすることができる。それ故、プロトコル図10は、ATMプロトコル層14を使う端局Bに、端局AがATMプロトコル層12を通して通信するとき存在する種々のプロトコルを表している。ファイバ又は撚り対接続16は、端局Aと端局Bの間の物理接続を表している。端局AのためのATMプロトコル層12は上位層18を含み、それを通して、ATM適応層(AAL)20の間でサービスを生じる。AAL層20はATM層22にサービスし、かつそこからサービスを受け取る。ATM層22は物理層24にサービスし、かつそこからサービスを受け取る。ファイバ又は撚り対接続16は、端局Aのための物理層24を端局Bのための物理層26と接続する。端局Bのために、物理層26はATM層28にサービスし、かつそこからサービスを受け取る。ATM層28はAAL層30にサービスし、かつそこからサービスを受け取る。上位層32はAAL層30にサービスし、かつそこからサービスを受け取る。
図1の層は、転送コントロールプロトコル/インターネットプロトコル(TCP/IP)又は上位層18における等価なサービスを含んでいる。AAL層20及び30は、セグメンテーション、再組立、再組立エラー検出、及びメッセージ識別多重化のためのプロトコルを提供する。ATM層22及び28は、セル多重化、セル中継、及びインターフェース識別のためのプロトコルを包含している。物理層24及び26は、物理媒体依存層38及び40と共に、転送収束層34及び36をそれぞれ包含している。ATM層22及び28において、ヘッダエラーコントロール(HEC)発生、HEC照合、及びセルフレーミング回復プロトコルは、ATM層22及び28で動作する。物理媒体依存サブレイヤー38及び40に、ビットタイミング及び物理媒体インターフェースプロトコルが現れる。
図1の端局Aと端局Bの間の層のそれぞれにおいて、プロトコルはまた、ピアツーピアアドレッシングを可能にする。例えば、双方向矢印42は、上位層18及び32の間に存在するピアツーピアプロトコルを示している。双方向矢印44は、AAL層20とAAL層30の間で交換される情報のために存在するプロトコルを示している。双方向矢印46は、ATM層22とATM層28の間で交換制御される情報のために存在するピアツーピアプロトコルを示しており、かつ双方向矢印48は、交換制御される物理層24及び物理層26情報のためのピアツーピアプロトコルを示している。
ATMに関して、3つのプレーンが存在する。(1)ユーザプレーン、(2)コントロールプレーン、及び(3)管理プレーンである。ユーザプレーンにおいて、エンドユーザ情報の転送が生じる。ユーザプレーンは、物理層24及びATM層22から構成される。各エンドユーザアプリケーションのために、ATMプロトコルモデルはAAL層20及び必要に応じて、高位層を包含している。コントロールプレーンは、交換サービスを提供するために必要な接続確立及びコントロール機能をサポートするために情報の転送を提供する。コントロールプレーンは、ATM層22及び物理層24プロトコルを、ユーザプレーンと共有する。コントロールプレーンはまた、AALプロトコル及び高位層シグナリングプロトコルを使用する。管理プレーンは、ユーザプレーンとコントロールプレーンの間で情報を交換するために、オペレーション及び管理(OAM)機能及び能力を提供する。管理プレーンは、層管理及びプレーン管理のための管理機能を包含している。管理プレーンの管理機能の層は、プロトコル異常性における故障の検出を含んでいる。管理プレーン機能は、完成したシステムと関係した管理及び調整機能を包含している。
物理層24は、端局Aと端局Bの間のATMセルの伝送のためのファイバ又は撚り対16へのアクセスを提供する。それは、物理媒体依存サブレイヤー38及び40内に存在する物理媒体に依存した方法と共に、転送収束サブレイヤー34及び36内にセルをマッピングするための方法を包含している。ATM層22及び28は、エンドユーザロケーションの間でセルを伝送することを可能にする。
前述した層のそれぞれで生じるサービスをより完全に理解するために、ITU−T勧告X.210、オープンシステムインターコネクション、レイヤーサービスディフォーメーション会議、ジュネーブ、スイス、1989;T1S1.5/92−410、ブロードバンドISDN−ATMレイヤー機能性仕様書、1992年8月;ATMフォーラム、ATMユーザネットワークインターフェース仕様書、バージョン3.0、1993年8月;ATMフォーラム、ATM・PHYデータパスインターフェース、レベル1−バージョン1.22;サンマイクロシステムズ、SBus仕様書B.O、1990;ANSI・T1.ATM−1993、ブロードバンドISDN−ATMレイヤー機能性仕様書、ニューヨーク;を含む公知のATM文書及び仕様書を参照することができる。上記文献及び標準の全ては、参照により明白にここに組み入れられる。さらに、そして、上記文献の用語の多くと一貫して、表1は、最小でも、規定されたものを含む一般的意味を有する用語を包含している。
図2は、本発明が取り組む通信ネットワークの一部を例示するためにデスクトップにATM通信を提供するローカルエリアネットワークの動作を概念的に例示している。本発明は、ATM接続のための情報交換及びコントロールを、その基礎として、包含する非常に効率のよいローカルエリアネットワークを可能にする。図2において、顧客サイト50は、ATMスイッチ54、ATMスイッチ56、ATMスイッチ58、及びATMスイッチ60を有するローカルATM基礎のネットワーク52を包含している。
例において、ATMスイッチ54は、インターフェース62を通してATMスイッチ56と、そしてインターフェース64を通してATMスイッチ60と接続することができる。同様に、ATMスイッチ58は、インターフェース66を通してATMスイッチ56に、そしてインターフェース68を通してATMスイッチ60に接続することができる。ローカルATM基礎のネットワークへの接続については、例えば、ユーザ端局70をATMスイッチ54に、ユーザ端局72をATMスイッチ56に、そしてユーザ端局74をATMスイッチ56に接続することができる。また、ATMスイッチ56は、例えば、スーパーコンピュータ又はメモリ端局78と同様に他の端局にすることのできるホスト76に接続することができる。ATMスイッチ58は、例えば、プリンタ又は他の端局にすることのできる周辺装置82と同様にユーザ端局80に接続することができる。
ローカルATM基礎のネットワーク52において、ATMスイッチ60はまた、ユーザ端局84に、(さらに非ATMワイドエリアネットワークに接続することのできるルータ86に、そして、顧客サイト50の外側のATM/B−ISDN公衆ワイドエリアネットワーク88に接続することができる。顧客サイト50のローカルATM環境が描く接続形態は、それ故、ATMスイッチ54と端局70の間のリンク90のようなポイントツーポイントリンクを包含している。さらに、ローカルATM環境50は、ATMスイッチ54とATMスイッチ56の間のリンク62のようなATMスイッチ間のインターフェースを包含している。さらに、ATMスイッチ60とATM/B−ISDN公衆ワイドエリアネットワーク88の間のリンク92は、ローカル環境とワイドエリアネットワーク環境の間のインターフェースを表している。この環境内で、本発明は、デスクトップツーデスクトップからATM基礎の情報転送及び交換を可能にする。
本発明具体例は、いずれかのSBusプラットフォームのための155.52Mbpsアダプタを通してデスクトップにATM能力を提供する。本発明具体例は、155.52Mbpsのマルチモードファイバ又はカテゴリ5非シールド撚り対インターフェースのためにサンマイクロシステムズ、Inc.及び他のベンダによって製造されるもののようなSPARC局及びSPARCサーバ用の155.52MbpsSBusアダプタにインターフェースする。本発明の他の具体例は、インテルCorp.のペンティアム及びIBMのPowerPCコンピュータで使用されるもののような周辺装置相互接続バス及びシリコングラフィックス,Inc.によるGIOバスにATM技術を適合させることができる。本発明具体例のアダプタはまた、カテゴリ3非シールド撚り対線上の52Mbpsの中間範囲速度ATMをサポートすることができる。それ故、本発明は、異なるタイプのATMスイッチに適合することのできる多様な速度のアダプタのワイドアレイ、ホストバス、オペレーティングシステム及び物理層インターフェースに応用を有している。本発明具体例はまた、管理及びコール接続オペレーションのためにATMを使用するデスクトップアプリケーションを構成するためのアプリケーションプログラムインターフェースを包含している。
本発明具体例の重要な観点は、最小コストでATM環境において性能を改善するATMアプリケーション特定集積化回路(ASIC)の機能性である。ATM・ASICは、以下のものを含む多数の魅力的な特徴を包含している。(1)共通パート収束サブレイヤーのためのAAL5適合及びセグメンテーション及び再組立;(2)OAMセルサポート;(3)8つのセグメンテーション及び1024再組立の同時動作;(4)VCIアドレス空間の10ビット、VPIの0ビット;(5)ピークセル速度トラフィック決定サポート;(6)ATMセルヘッダフィールドの挿入;(7)再組立バッファ割り当て及びホスト通知;(8)非AAL5トラフィックのためのサポート;(9)ステータス及びエラー報告;(10)UTOPIAインターフェース;及び(11)バスマスタDMA及びスレーブインターフェースを有するダイレクトSBusインターフェースである。
図3は、本発明具体例がATMサービスをデスクトップに提供するために使用するATMアプリケーション特定集積化回路(ATM・ASIC)100のブロック図を示している。図3を参照すると、ATM・ASIC100は、双方向矢印102が示すようにSBusとホストインターフェース106のバスインターフェース回路104の間で、SBusと通信する。ホストインターフェース106はまた、DMAコントローラ108及びスレーブアクセスコントロール110を包含している。DMAコントローラ108は、スレーブアクセスコントロール回路110と同様に、SBusインターフェース104と通信する。ホストインターフェース106から、DMAコントローラ108はRAMインターフェース/アービタ112と通信する。スレーブアクセスコントロール回路110は、割り込み回路114と、また統計回路116と結合する。割り込み回路114はさらに、矢印118が示すように、SBusと結合する。統計ブロック116は、後述のように、破壊されたセルに関する統計を保存する。RAMインターフェース/アービタ回路112は、双方向矢印120が示すようにRAMバスと通信する。さらに、RAMインターフェース/アービタ回路112は、DMAコントローラ108、スレーブアクセスコントロール回路110、セグメンテーションエンジン122、及び再組立エンジン124にインターフェースして、その間で信号を仲裁する。クロック発生器回路126は、矢印128が示すように、クロック入力を受け取る。セグメンテーションエンジン122から、出力は、物理(PHY)インターフェース回路130に進む。PHYインターフェース回路130は、通信パス132を通して物理層との通信を提供する。
ATM・ASIC100において、バスインターフェース回路104を除く全ての回路は、クロック発生器回路126を通してアダプタボード上の外部オシレータからATM・ASIC100に供給される25MHzのクロック速度で動作する。このクロックは、PHYインターフェース回路130及びRAMインターフェース/アービタ回路112と共に、ATM・ASIC100内部の回路をクロックするために使用される。バスインターフェース回路104は、SBusインターフェース102からいかなる速度が供給されても動作する(例えば、16−25MHz、例えばサンマイクロシステムズ:”SBus仕様書B.O.”、1990、参照)。プレシオクロナスインターフェースは、バスインターフェース回路104と、DMAコントローラ108及びスレーブアクセスコントロール回路110の間にある。ATM・ASICの設計は、それが、全ての可能なバス速度で適切に機能し、かつメタスタビリティのようなプレシオクロナス問題によるデータの損失がないようにされる。
PHYインターフェース回路130は、外部物理層デバイスへの内部セルフローにインターフェースする。3つのモードのオペレーションが、本発明具体例のPHYインターフェース回路130において行われる。それらは、以下のものを包含する。(1)ATMユニバーサルテストのためのユニバーサルテスト及びオペレーションPhiインターフェース、及びATM(UTOPIA)モードのためのオペレーション物理インターフェース(参照、ATMフォーラム:ATM・PHYデータパスインターフェース、レベル1−−バージョン1.22);(2)非パイプライン読み取りUTOPIAモード;(3)PMC−Sierra,SUNIチップ、パートナンバPM5345と適合可能である非同期インターフェースモード(参照、文書番号PMC−930305P1、ブリティッシュコロンビア、バンクーバ,PMCCLにより発行)。
PHYインターフェース回路130のモードは、モードコントロールレジスタにより制御される。この動作モードは、PHYインターフェース回路130でハンドシェイク信号の機能を決定する。図4は、本発明具体例のモードコントロールレジスタビットフォーマットを示すリストを表している。モードコントロールレジスタは、ボードリセット中データバス上の値によってロードされる一方、リセット信号はボード内に入る。外部プルアップ及びプルダウン抵抗器が、必要な配列ステートに異なるコントロールビットを引き寄せるためにデータバス上で必要とされる。
レジスタの全てのビットが、図4のリストにおいて定義されている。8つの下位ビット上のプルアップ及びプルダウンは、もし適用可能であるならば、アダプタのためのドーターボード上に位置させることができるということに注意すべきである。これは、サポートされる異なるドーターボードインターフェースのためのATM・ASICを自動的に配列するために使用することができる。本発明具体例において、実際のドーターボードはないということに注意すべきである。しかしながら、このようなドーターボードが実際に存在するかのように使用されるビットがある。そうすることがより経済的であるので、本発明具体例は、ドーターボードがあるかのように図4において若干のビットを使用する。図4のビットは、図5〜図18に現れるレジスタ記述と関係している。これらのレジスタ記述は、本発明具体例のレジスタ内容及びレジスタの機能を列挙する。
図5は、PHYインターフェース回路130リセット/識別子レジスタ0x00のための内容を記述する。図6は、割り込みステータスアクノリッジレジスタ0x01及び割り込みステータスレジスタ0x02のための内容を記述する。割り込みステータスレジスタ0x02及び割り込みステータスアクノリッジレジスタ0x01の間の相違は、SUNIを読み取ることによって、かつ統計レジスタを読み取ることによってそれぞれ認知されなければならないSUNI_INT及びSTAT_OVFLビットを除いて割り込みステータスアクノリッジレジスタを読み取るとき割り込みがクリアされる点にある。割り込みステータスレジスタ0x01を読み取るとき、割り込みは認知されない。図7は、割り込みイネーブルレジスタ0x03の内容を記述する。図8は、ATM・ASIC100のマスタコントロール/ステータスレジスタ0x04を詳述する。統計レジスタ0x05記述は図9に現れる一方、図10は、サービス書込レジスタ0x06の記述を含んでいる。図11、12、13、14、及び15において、レジスタ記述は、DMAアドレスレジスタ0x07、DMA書込レジスタ0x08、及びDMA読み取りレジスタ0x09、DMA書込レジスタ0x0A、及びDMA読み取りレジスタ0x0Bのためにそれぞれ定義されている。図16、17、及び18はそれぞれ、送信場所レジスタ(0x10+(4*チャンネル))、送信読み取りポインタレジスタ(0x11+(4*チャンネル))及び送信記述子スタートレジスタ(0x12+(4*チャンネル))の内容を記述する。図9〜18において、本発明具体例のATM・ASIC100への参照として「中途」(Midway)への参照がなされる。
図3に戻ると、本発明具体例において、PHYインターフェース回路130は、このレベルのオペレーションのために必要なコントロール及びクロックを有する8ビット幅である。セグメンテーションエンジン122は、各セルのHECバイトのためのプレースホルダとして余分のバイト、バイトナンバー5を発生する。PHYインターフェース回路130は、物理インターフェース132から受信するとき各セルのHECバイトを取り去る。受信方向において、PHYインターフェース回路130は、全速度オペレーションがUTOPIAモードで可能であるように1バイトFIFOを包含している。
RX−ENABLEコントロールビット(図8)がセットされないとき、PHYインターフェース回路130は、物理層チップからいかなる新たなバイトを読み取ることも不能にされる。TX_ENABLEコントロールビット(図8参照)がセットされないとき、このブロックは、物理層チップにいかなる新たなバイトを書き込むことも不能にされる。
クロックソースとして外部クリスタルオシレータを接続するための1つのクロック入力ピンが備えられる。
RAMインターフェース/アービタ回路112は、ATM・ASIC100の外部のアダプタSRAMにインターフェースする。RAMインターフェース/アービタ回路112は、32の双方向データピン、19の出力アドレスピン、及びいくつかの出力イネーブル及びチップセレクト信号を有するRAMバス120を包含している。これらは、図48〜51に詳述されている。最大アドレス可能のRAMサイズは、(2メガバイトに相当する)512K×32ビットである。RAMインターフェース/アービタ回路112は、RAMアクセスのタイプに基づいた32ビットRAMにおける個々のバイトへのアクセスを制御する。
RAMは、RAMバスインターフェース120を通して全速度25MHz(即ち40ns)でアクセスされる。本発明具体例のアクセス時間のより完全な理解のために、RAM、空間を制御するPHY及びEEPROMのためのタイミング図を提供して、これらの要素へのアクセスのために意図したタイミング関係を示す図19〜23を参照する。特に、RAMインターフェース/アービタ回路112のために、タイミング図150は読み取り/書込アクセス時間を示している。図20は、RAMインターフェース回路122を通してPHYインターフェース回路へのコントロールアクセスを示している。図21は、コントロールアクセスタイミング図154を示している。タイミング図156は、EEPROMのためのEEPROM書込アクセス時間を示している。タイミング図158は、EEPROMのための読み取りアクセス時間を示している。図示のタイミング値は、最悪の条件の下で、また種々の負荷の下でも保証するということはできないけれども、本発明具体例は、これらの時間を成功的に近似する。本発明具体例の動作特性をより完全に理解するために、本発明具体例の絶対最大定格及び動作条件をそれぞれ詳述するリストを提供する図24及び25を今参照する。記載されたもの以上のストレスは、デバイスにダメージを与えることがある。これらは、ストレス定格のみであり、かつこれらの条件以下のこのデバイスの機能動作は意味していない。期間を延長して最大定格条件に曝すことは、端局信頼性に影響することがある。
図26は、本発明具体例のためのアクセス、読み取り、及び書込時間範囲を提供する。さらに、このブロックは、マイクロプロセッサインターフェースチップ、EEPROM、及びいかなるオンボード個別コントロールレジスタ等のようなRAMバス上の他の外部デバイスへのインターフェースを提供する。これらのデバイスをアドレスするとき、RAMインターフェース/アービタ回路112は、本具体例においては、SUNIである最低速予見デバイスに合致するためにこのサイクルを遅くするであろう。異なるデバイスへのアクセスサイクルは、上述の図19〜23に規定されるような異なるタイミング図を有している。
図27は、本発明具体例におけるレジスタの割り当てを例示するメモリマップ200である。ビット順序を例示する全ての図におけるように、図27において、最上位ビットは左に位置し、かつ最下位ビットは右に位置している。ここで、ビット0は常に最下位ビットである。
図27を簡単に参照すると、本発明具体例のアダプタのアダプタRAMにおけるレジスタの割り当てのためのメモリマップ200が示されている。特に、メモリマップ200は、ホストから見たバイトアドレスを左側に示している。右側には、アダプタRAMにおけるワードアドレスが現れる。左から右に31〜0のビット順序である。このように、アドレス0x000000における始まりは、ブロック202が示すように、16Kワード又は64Kバイトを消費するEEPROM読み取りFコードである。バイトアドレス0x010000でブロック204は、ブロック204が示すように、16Kワード又は64Kバイトを消費するEEPROM読み取り/書込Fコードが現れる。ブロック202及び204は、ホストからEEPROMにおけるアドレス可能の唯一のバイトである。次のブロック206及び208は、PHYインターフェース130チップレジスタを示している。このように、ブロック206は、最初の8ビット7〜0に対してバイトアドレス0x020000で始まり、かつこれは、PHYチップレジスタのための有効情報を提供する。ビット8〜31は、ブロック208から読み取られるとき未定義である。ブロック206及び208は、64Kバイトを消費する。バイトアドレス0x030000に、総計16Kワードで外部レジスタのためのブロック210が現れる。ATM・ASIC100レジスタブロック212は、バイトアドレス0x040000で始まり、かつ16Kワードを消費する。
バイトアドレス0x04FFFFで、アドレス空間における1.69メガバイトギャップ214が始まる。その後、アダプタRAMが始まる。メモリマップ200において、アダプタRAMは、ワードアドレス0x00000及び0x7FFFFによって制限されたメモリを包含している。アダプタRAMは、ワードアドレス0x200000から0x3FFFFFまでのメモリを包含している。このアドレスで、VCIテーブルメモリの4Kワードが、ブロック216が示すように割り当てられる。バイトアドレス0x204000及びアダプタワードアドレス0x01000で、ブロック218が示すように、DMA受け取り待ち行列メモリの1Kワードが始まる。バイトアドレス0x205000及びアダプタワードアドレス0x01400で始まるブロック220には、総計1KワードでDMA送信待ち行列メモリが現れる。次に、サービスリストブロック222は、バイトアドレス0x202000及びアダプタワードアドレス0x01800で始まる1Kワードを割り当てる。
バイトアドレス0x207000及びワードアドレス0x01C00で、セグメンテーション及び再組立バッファメモリブロック224が始まる。セグメンテーション及び再組立バッファブロック224は、割り当てられないブロック226が始まるワードアドレス0x07FFFに対するバイトアドレス0x21FFFFまで継続する。ブロック226は、バイトアドレス0x27FFFF(ワードアドレス0x1FFFF)まで継続し、かつこの点で、割り当てられていないブロック228が始まり、かつ2メガバイトRAM最終バイトアドレスの0x3FFFFF及びワードアドレスの0x7FFFFまで継続する。これにより、メモリマップ200のためのメモリの割り当てを終了する。
本発明具体例は、2度マップされるEEPROMを包含している。1つのアドレス空間において、EEPROMは、読み取りのみとしてマップされ、かつ別のものにおいて、それは、読み取り/書込としてマップされる。EEPROM上の2つの最下位アドレスピンは、指定されたSBusライン102に直接接続され、EEPROMアドレスラインの残りは、RAMバス120アドレスラインに接続されている。
再び図3に戻ると、リセット中、RAMインターフェース/アービタ回路112は、RAMデータバス上のステートを内部モードコントロールレジスタにラッチするであろう。モードコントロールレジスタは、PHYインターフェース回路130のモードを制御し、かつ本発明具体例のATMアダプタのカード及びドーターカードのために識別子コードを提供する。ボード上で必要とされる全ては、適切なデータライン上のプルアップ及びプルダウン抵抗器である(これらのプルアップ/ダウンのいくつかは(もし適用できるならば)ドーターカード上に置かれる)。図4及び前記のその説明参照。
RAMインターフェース/アービタ回路112はまた、RAMへのアクセスを必要とする4つの争うATM・ASIC100回路の間のRAM仲裁を扱う。これらは、再組立エンジン124、セグメンテーションエンジン122、スレーブアクセスコントロール回路110、及びDMAコントローラ108を包含している。本発明具体例において、最高の優先度が再組立エンジン124に与えられ、それからセグメンテーションエンジン122に、それからスレーブアクセスコントロール回路110に、そして最後にDMAコントローラ110に与えられる。800Mbpsのバス帯域幅は、155Mbpsの再組立エンジン124と155Mbpsのセグメンテーションエンジン112を一緒にした必要帯域幅よりもずっと大きいので、全ての回路が、混雑状況においてさえ、バス帯域幅の共有を得ることが保証されているということに注意すべきである。
本発明具体例のホストインターフェースブロック106は、サンマイクロシステムズ,IncからのSBusインターフェース標準を目標としている。しかしながら、前述したように、本発明の他の具体例は、シリコングラフィックス、IncによるGIOバス及びEISAと共に、インテルCorp.のペンティアム及びIBMのPowerPCコンピュータにおいて使用されるもののような周辺装置相互接続バスに適応することができる。DMA転送の全機能が、セグメンテーション及び再組立オペレーションと関連して以下にさらに後述する。ATM・ASIC100は、16−25MHzバス速度全範囲をサポートするために、いかなる外部回路もなくバス102を通して直接SBusにインターフェースされるであろう。本発明具体例によると、2つのタイプのアクセスがある。(1)スレーブアクセス、及び(2)DMAである。
ホストインターフェース回路106は、図27のメモリマップに従うアドレスによってスレーブアクセスコントロール回路110を通して全ての内部ATM・ASIC100レジスタと共に、アダプタメモリ及びRAMバス上の他のデバイスにアクセスできる。
ホストインターフェース回路106において、EEPROM領域をアクセスするとき、複数バイトがサポートされる。この場合、ATM・ASIC100は、必要なとき、ホストにバスサイジングをさせるバイト認知信号を戻すであろう。ATM・ASIC100は、もしバーストデータリクエストによりアクセスされるならば、エラー認知信号を戻すであろう。他の何かをアクセスするとき、32ビットワードアクセスのみがサポートされる。ATM・ASIC100は、もしバースト、バイト、或いはハーフワードサイズデータリクエストによりアクセスされるならば、エラー認知信号を戻すであろう。もし1ワードリクエストによりアクセスされるならば、ATM・ASIC100は、ワード認知信号を戻すであろう。このアドレス空間は、スロットアドレス空間内に包まれるであろう。
動作において、ATM・ASIC100は、再動作認知信号を戻さず、即ちLERRn信号を出力する。ATM・ASIC100は、1サイクルで完了することのできない読み取り及び書込オペレーションで必要とされるとき、ウエイトステートを挿入するであろう。ATM・ASIC100は、書込時に潜在的にウエイトステートを除去する後書込を書込アクセス時にサポートする。後アドレスビットはEEPROMに直接接続されるので、EEPROMに書き込むとき、後書込はサポートされない。書込の時代わりにウエイトステートが挿入されるであろう。
ATM・ASIC100は、DMA転送が実行されるときバスマスタとして作用する。ATM・ASIC100は、バスリクエスト信号を出力し、BGnバス許可を待ち、それからDMAを実行するであろう。もし再動作認知信号が受け取られるならば、ATM・ASIC100は、転送を再度指令する。もしワード認知を除くいずれかの他の認知が受け取られるならば、ATM・ASICは、この同じサイクルを再動作させるであろう。もしこのDMA転送における再動作又は何らかのフューチャサイクルが再び失敗するならば、それは、マスタコントロールレジスタにおけるDMA・ENABLEビット(図8)をクリアすることによってこれ以上のDMAオペレーションをロックするであろう。両方の場合に、DMA・ERR・ACK割り込み指令が出される。ホストは、DMAアドレスレジスタにおけるバスエラーを生じたバーストスタートアドレスの仮想アドレスを読み取ることができる。
もしLERRn信号が出されるならば、ATM・ASIC100は、前述のように、それがエラー認知であるかのように、もし可能ならばこのサイクルを再動作させるであろう。もし可能でないならば、ATM・ASIC100は、DMA・ENABLEをクリアするが、しかし、次のサイクルを完了する後まではしない。いずれの場合においても、DMA・LERR・ACK割り込みが発生するであろう。DMA・ADDRレジスタは、エラーを生じたバーストスタートアドレス、又はエラーに続くバーストのスタートアドレスのいずれかのアドレスを包含するであろう。
DMA・ENABLEビットが、モードコントロールレジスタからの識別子(即ち、図30の最初の4ビット)における不一致によりセグメンテーションエンジン122によってクリアされるならば、或いはDMA・ENABLEビットが伝送方向のDMAオーバフローによりDMAコントローラ108によってクリアされるならば、そのときホストインターフェース回路106は、もしあれば、現在のバス転送を終了させ、かつDMA・ENABLEビットがホストによってセットされるまでさらにDMAオペレーションを一時中断する。
DMA転送の動作は、読み取り及び書き込みDMAとは異なる。ATM・ASIC100は、DMA記述子にセットされたエンドビット(後述の図33を参照)を有して、DMA転送が完了する毎に方向を変化させるが、しかし、他方向にDMAに何かがある場合のみである。ATM・ASIC100は、ホストにおいて次のものをアダプタ転送にサポートする:バイト、ハーフワード、ワード、2ワードバースト、4ワードバースト、8ワードバースト、及び16ワードバーストである。DMA記述子(図29及び33参照)は、転送タイプ及びソースアドレスが一致するようにセットアップされなければならない。さもなければ、転送は、バーストブロック内に包まれるであろう。特別の場合は、完全なバーストを出す「ワードメイビー」(Words−Maybe)サイクルである。しかしながら、バーストの一部は、ATM・ASIC100により一方向で無視することができる。他方向において、バーストの一部は、ホストにより無視されるであろう。
転送されたデータは、バイト及びハーフワードを32ビットワードに蓄積するバイトアライナーに書き込まれるであろう。これらは、DMAコントローラ108内部の16ワードの深いFIFOに書き込まれるであろう。これとパラレルに、FIFOは、RAMインターフェース/アービタ回路112を通してアダプタRAM内へ空にされるであろう。これは、時分割にFIFOを満たしかつ空にする16ワードバーストをするときを除いて、当てはまることである。
アダプタ−ツー−ホスト転送において、ATM・ASIC100は、次の転送タイプをサポートする:ワード、2ワードバースト、4ワードバースト、8ワードバースト、及び16ワードバーストである。DMA記述子(図29及び33)は、転送タイプ及びソースアドレスが一致するようセットアップされなければならない。さもなければ、転送はバーストブロック内に包まれるであろう。特別の場合は、完全なバーストを出すが、しかしバーストの一部は無視されるデータを包含する「ワードメイビー」サイクルである。
アダプタメモリからのワードは、DMAコントローラ回路108内部の16ワードの深いFIFOに満たされるであろう。これとパラレルに、FIFOは、時分割にFIFOを満たしかつ空にする16ワードバーストをする時を除いて、ワードが転送されるときSBus102上に、空にされるであろう。
統計回路116は、破壊されたセルの2つの統計カウンタ:(1)VCI破壊カウンタ、及び(2)オーバフロー破壊カウンタ、を保持する。VCI破壊カウンタは、受信したVCIのためのVCIエントリーが「破壊」にセットされたモードを有するために破壊される受信正常セル、又は受信VCIのためのVCIエントリーが「破壊」にセットされたPTIモードを有するために破壊されるOAMセルの数をカウントするカウンタである。オーバフロー破壊カウンタは、再組立待ち行列における空間が不十分なために破壊される受信セルの数をカウントするカウンタである。このカウンタは、VCI記述子ステートが破壊している全ての受信セルに対してインクリメントされるであろう。両方のカウンタは、16ビット幅である。もしオーバフローが生じるならば、カウンタは、それらの可能な最大計数にある。両方のカウンタが、ホストによって読み取られるときゼロにリセットされる。もしいずれか或いは両方のカウンタが32767を越えるならば(即ち、もし最上位ビットがセットされるならば)、そのときこれは、STAT_OVFL割り込みを発生させる。STAT_OVFL割り込みは、カウンタが読み取られかつそれによってホストによりリセットされるとき認知される。
割り込み回路114は、ホストへの割り込み発生を処理する。次のセクションにおいて、割り込みの発生とは、割り込みが割り込み回路114ブロックにリクエストされることを実際上意味している。それから、割り込み回路114は、割り込みのフィルター、及びホストへの実際の割り込みインターフェースを提供する。
2つのタイプの割り込みソースがある:(1)ATM・ASIC100におけるイベントにより生じた割り込み、及び(2)S_INTn入力ピンに結合された外部ソース(物理層チップ)からの割り込みにより生じた割り込みである。2つの割り込みステータスレジスタがスレーブアクセスコントロール回路110割り込みステータスレジスタ及び割り込みステータス認知信号レジスタを通しての読み取りアクセスのために利用可能である。前述の図6参照。
各割り込みソースは、割り込みイネーブルレジスタ(図7)においてイネーブル及びディスエーブルにすることができる。もしディスエーブルにされると、この割り込みソースは、ホストに割り込みを発生させないということを意味している。アクティブな割り込みソースをディスエーブルにすると、出された割り込み信号が取り除かれる。即ち、もしイネーブルにされたアクティブな割り込みが他にないならば、出された割り込み信号は取り除かれる。もし別のアクティブなイネーブルにしたソースがまだないならば、アクティブな割り込みソースをイネーブルにすると、割り込み信号が出されるであろう。ディスエーブルにされた割り込みはそれでもやはり現れるであろう。即ち、割り込みステータスレジスタ及び割り込みステータス認知信号レジスタにおいて、ビットは依然としてセットされるであろう。そして、割り込みステータス認知信号レジスタを読み取るとき割り込みは依然として認知されるであろう。
本発明具体例において、ホストが0.5msec又は約1msecの長さの間割り込みを不能にするようセットすることのできるタイマーがある。これは、次々に続いて多数のPDUがあるとき、割り込みを不能にする。それから、サービスリストの読み取りは、多数の再組立オペレーションが完了したことを示している。それ故、これは、PDU毎に割り込まれるよりもむしろ、多数のPDUに対してDMAをセットアップすることを可能にする。これは、本発明具体例の速度及び性能の両方を増加させる。これは、マスタコントロールレジスタにおける2つの配列ビットに書き込むことによって達成される。即ち、割り込み出力は、コントロールレジスタが書き込まれるときから始まる規定された期間不能にされるであろう。この構成は、割り込みの数及び結果をより正確に制御するためにホストによって使用することができる。
SBus上には7つの可能な割り込みラインがある。マスタコントロールレジスタにおけるINT・SELECTビットが、割り込みピンのどれがATM・ASIC100によって使用されるかを決定する。INT・SELECTは、また割り込みを全体的に不能にするために使用することができる。
図28は、セグメンテーションエンジン122のブロック図を示している。セグメンテーションエンジン122には、アービタ回路232から入力を受け取るセグメンテーションコントローラ230がある。セグメンテーションコントローラ230は、サイクリック冗長チェック即ちCRC発生器234及びワードツーバイト回路236に入力を供給する。CRC発生器234及びワードツーバイト回路236は、内部データバス238を通してATM・ASIC100の他の内部回路と通信する。アービタ回路232は、番号0〜7の8つのチャンネルを包含するPCR回路240と通信する。PCR回路240はまた、内部データバス238と通信する。
図28に示されるように、セグメンテーションエンジン122は、各セグメンテーションエンジンに1つの8つの同時セグメンテーションオペレーションに役立てることができる。各チャンネルは、別個のPCR速度を有することができる。チャンネル0は、残りの利用可能の帯域幅を使用するためにプログラムすることができる。このモードにおいて、チャンネル0は、利用可能のビット速度チャンネルとして参照される。ATM・ASIC100は、2つのタイプのトラフィック:AAL5と非AAL5にセグメント分割し、かつ送信することができる。非AAL5トラフィックは、いかなる特殊な処理も実行されないとき、ATM・ASIC100に透明である。8つのチャンネルのいずれも、AAL5・PDUの間でインターリーブされた非AAL5セルを送ることができる。この方法は、同様にOAMセルを送信するために使用される。非AAL5セグメンテーションバッファは、常に1つのセルのみを包含する。送信のために、VCIアドレッシングの10の下位ビットがサポートされる。GFC、VPI及びVCIの6つの上位ビットがゼロに固定される。
図29は、本発明具体例が使用するセグメンテーションデータ構造250を示している。DMAコントローラ108がオンにされて、DMA送信待ち行列220からDMA記述子の読み取りを開始するとき、それはDMA記述子254を読み取る。これは、データがアダプタセグメンテーションバッファに移動させられるべきDMA記述子254からのホストアドレスを決定する。DMA記述子254が包含するセグメンテーションコントロールレジスタが、ホストメモリデータがセグメンテーションバッファにDMAされているポインタを含むという意味で、DMA記述子254はチャンネル0〜7のコントロールを包含している。セグメンテーションコントロールレジスタは、ポインタをDMA記述子からホストアドレスに得て、かつそれは、そのアドレスが、そのチャンネルのためのセグメンテーションコントロールレジスタからアダプタ上のセグメンテーションバッファに移動されているアドレスを得る。それから、DMAプロセスが生じる。
それ故、図29は、セグメンテーションコントロールブロックから3つのポインタを参照する。それらは、書込ポインタ、DMAポインタ、セグメンテーションバッファのトップのものであるDMA記述子ポインタ、及び読み取りポインタである。
セグメンテーションオペレーションのために、マスタコントロールレジスタにおけるTX_ENABLEビット(図8)は、リセット後クリアされるであろう。このビットがセットされないとき、PHYインターフェース回路130は、物理層チップに新たなデータを送ることから不能にされる。従って、セグメンテーションエンジン122は不能にされる。TX_ENABLEビットは、マスタコントロールレジスタに書き込むことによってホストからセットすることができる。それは、ATM・ASIC100へのマスタリセットを実行することによってクリアすることができる。各セグメンテーションチャンネルに1つの、8つのセグメンテーション待ち行列252がある。各セグメンテーション待ち行列252は、転送のためにセグメント分割されるPDUのために使用されるセグメンテーションバッファ256を記憶するための円形FIFOとして使用される連続アダプタメモリのブロックである。
ホストは、セグメンテーションコントローラ回路230内のロケーション及びサイズフィールドを通してアダプタメモリにおけるロケーション及び各セグメンテーション待ち行列252のサイズを制御する。セグメンテーション待ち行列252のロケーションは、バッファサイズの整数倍であるアドレスと一致させなければならないということに注意すべきである。例えば、32Kの待ち行列は、アドレス0、32K、64K、または96K等に位置しなければならない。
図30は、AAL5オペレーションモードのためのセグメンテーションバッファ256を示している。セグメンテーションバッファ256は、セグメンテーションバッファ記述子部分258及びデータ部分260を包含している。セグメンテーションバッファ記述子258は、識別子フィールド262、モード又はMビット264、プリスケール又はPrフィールド266及び速度分解又はRate・Resフィールド268を含んでいる。速度分解フィールド268に隣接して、未使用の8ビットフィールドがある。セルカウントフィールド270は次のフィールドである。VCIフィールド274、PTIフィールド276、及びCLPフィールドがセグメンテーションバッファ記述子部分258を完成させると共に、セルヘッダは、未使用18ビットフィールド273を包含する。データ部分260は、データセル280、PDUトレイラー282及びCRCフィールド284を包含している。データフィールド280は、セルセグメント分割されるデータを包含している。PDUトレイラー282は、UUフィールド286、CPIフィールド288、及び長さフィールド290を包含している。
図31は、非AAL5転送モードのためのセグメンテーションバッファ256’を包含している。セグメンテーションバッファ256と同様に、セグメンテーションバッファ256’は、バッファ記述子部分258及びデータ部分260’を包含している。セグメンテーションバッファ記述子部分258は、識別子フィールド262を含み、かつこれは、Mフィールド264、プリスケールフィールド266、速度分解フィールド268、及びセルカウントフィールド270が連続して続く。セグメンテーションバッファ記述子部分258の第二の32ビットは、セルヘッダ272を形成し、かつVCIフィールド274、PTIフィールド276及びCLPフィールド278が続く未使用の18ビットフィールド273を包含している。データフィールド280はまた、セグメンテーションバッファ256’に現れるが、しかしPDUトレイラーもCRCも非AAL5転送モードのためには必要とされない。非AAL5セグメンテーションバッファデータフィールドは常に48バイトである一方、AAL5セグメンテーションバッファは48バイト毎に等しく分割可能であるということに注意すべきである。セグメンテーション待ち行列252におけるセグメンテーションバッファ256及び256’は、4ワードから、セグメンテーション待ち行列のサイズ、32ビットに等しい1ワードまで、可変長である。セグメンテーションバッファ256及び256’は、セグメンテーション又は送信待ち行列のための限定されたメモリブロック220内のアダプタメモリアドレス空間内に収容することができる。
各セグメンテーションバッファ256における最初の2ワードは、セグメンテーションバッファ記述子部分258を形成し、残りのデータ部分260は、実際のデータを包含する。セグメンテーションバッファ256における最後の2つのワードは、PDUトレイラー282及びCRCフィールド284である。
識別子フィールド262は、特別の目的を有している。それは、ホストによって書き込まれる4ビットパターンを提供する。この値は、ATM・ASIC100が新たなセグメンテーションを開始して、セグメンテーション待ち行列252が依然として同期しているということを確認するときはいつでもチェックされる。Mビット264は、転送のモードを特定する。もしMビット264がAAL5にセットされるならば、そのときATM・ASIC100は、データフィールド260におけるPDU上のAAL5処理を実行するであろう。もしMフィールド264ビットが非AAL5にセットされるならば、そのときATM・ASIC100は、データフィールド260’を透明に、即ち、CRCフィールドの挿入もなく、セグメント分割し、そしてPTIフィールド276のために異常なことは何も起こらない。Prフィールド266及びRate・Resフィールド268は、このPDUをセグメント分割しかつ送信するとき使用されるであろうPCR速度を規定するプリスケール及び速度分解パラメータ値を保持する。セルカウントフィールド270は、データフィールドに包含されるセルの数を保持する。
VCIフィールド274は、各外出セルのヘッダにおいて使用される。GFC、VPI、及びVCIにおける残りのビットは、外出セルのためにゼロにセットされる。PTIフィールド276は、各外出セルのヘッダにおいて使用される。しかしながら、Mフィールド264ビットがAAL5転送のためであり、PTIビット1であるとき、STUビットがセグメンテーションコントローラ230によって制御され、かつこれは、最後のセルを除いて全てにゼロが挿入される。最後のセルで、CLPフィールド278が、各外出セルのヘッダにおいて使用される。
データフィールド260は、セルにセグメント分割されるCPCS・PDUを包含している。データフィールド260は、長さにおいて、12ワードの整数倍、或いは48バイトである。即ち、CPCSパディング、PDUトレイラー282、及びCRCフィールド284を含んでいる。しかしながら、CRCフィールド284の内容はATM・ASIC100によって無視され、かつ上書きされて、その結果、CRC計算が最後のセルとして伝送される。これらバイトは、図30又は31に示されるようにアダプタRAM内に記憶される。
UUフィールド286、CPIフィールド288、及び長さフィールド290を含むPDUトレイラーフィールド282は、データフィールド260における最後から2番目のワードである。PDUトレイラー282は、Mフィールド264ビットがAAL5モードのためにセットされるとき必要とされるのみである。CRCフィールド284は、データフィールド260の最後のワードである。ATM・ASIC100が、PDUのためにCRCを計算するので、CRCフィールド284は、ATM・ASIC100によって無視される。CRCフィールド284はセグメンテーションバッファ256の一部であるが、しかし一般的に、セグメンテーションエンジンが正しいCRCを計算しかつ送出するまで意味のないデータを包含している。各セグメンテーション待ち行列252(図29参照)は、それと関連したATM・ASIC100レジスタ基礎のコントロールブロックを有している。図32参照。マスタコントロールレジスタにおけるTX_LOCK_MODEコントロールビット(図8参照)は、送信方向にDMAがオーバフローした場合にATM・ASIC100のオペレーションを決定する。バッファにおけるデータはまだセグメント分割されていないので、DMAオーバフローは、DMAコントローラ108がセグメンテーションバッファ256にこれ以上のデータを書き込むことができないイベントとして定義される。これは、DMA書込ポインタをセグメンテーションコントロール読み取りポインタと比較することによりDMAコントローラ108によって検出される。この場合に、TX・DMA・OVFL割り込みが発生するであろう。
TX_LOCK_MODEコントロールビットは、DMAオーバフローの場合にさらに何が起こるかを決定する。もしゼロにセットされるならば、DMA転送は、セグメンテーションバッファ256に再び空間ができるまで中断されるであろう。これは、帯域幅よりも多くのデータを送信のために待ち行列に入れるためにホストにより使用することができる。この状態は、ホストバス上に待ち状態を生じないということに注意すべきである。それは、次のDMA転送が、空間ができるまで開始されないということを単に意味している。しかしながら、受信DMAは、このときに実行することはできない。
もしTX_LOCK_MODEが1にセットされるならば、TX_ENABLE、RX_ENABLE、及びDMA_ENABLEビット(図8)は、全てクリアされるであろう。これは、効果的にATM・ASIC100の動きを停止し、かつこれは、デバッグ目的のために有用である。
図33は、DMA送信待ち行列220のフォーマットを示している。DMA送信待ち行列220は、64ビットを使用するDMA記述子254を包含している。DMA記述子254は、16ビットを使用し、かつ未使用の7ビットフィールド302に隣接しているカウントフィールド300を包含している。未使用フィールド302に隣接しているのは、3ビットチャンネル(Chan)フィールド304である。エンドフィールド306はChanフィールド304に隣接し、かつ未使用の1ビットフィールド308が続く。1ビットフィールド308に続いて、4ビットタイプフィールド310がある。ホストアドレスフィールド312が32ビットを使用し、かつDMA記述子254の配列を完成させる。
DMA送信待ち行列220は、512エンティティに相当するアダプタRAM内の1K×32ビット円形待ち行列であり、かつアダプタメモリ内に固定ロケーションを有している。DMA送信待ち行列220は、ホストからアダプタメモリにDMAされるべきメモリブロックのリストを記述するDMA記述子254の待ち行列である。ホストは、何かが送信されるべきであるとき、待ち行列にDMA記述子254を入れる。ホストは、各PDUのためにいくつかのDMA記述子254をセットアップして、DMA転送サイクルを最適化し、かつホストメモリ内のPDUロケーションを一致させる。ATM・ASIC100のDMAコントローラ108は、DMA記述子254を待ち行列から外し、かつDMA転送をするためにセグメンテーションコントロールブロックにおける読み取りポインタ(ReadPtr)及び記述子スタート(DescrStart)を使用する。
カウントフィールド300は、なされるべき転送の数を包含している。もしタイプフィールド310が、「ワード」のための値を包含するならば、そのときカウントフィールド310はワードカウントを包含する。もしタイプフィールド310が「ハーフワード」のための値を包含するならば、そのときカウントフィールド300は、ハーフワードカウントを包含する。もしタイプフィールド310が「バイト」のための値を包含するならば、そのときカウントフィールド300は、バイトカウントを包含する。もしタイプフィールド310が2W、4W、8W、又は16Wを包含するならば、そのときカウントフィールド300は、2、4、8、又は16によって分割されたワードカウントを包含する。もしタイプフィールド310が2WM、4WM、8WM、又は16WMの値を有するならば、そのときカウントフィールド300は、指示されたタイプの単一バーストで実際に転送されるワードの数を表している。もしタイプフィールド310がJK値を表す値を有しているならば、カウントフィールド300の15の下位ビットは、DMA転送をする代わりにDMA書込ポインタにロードされるべき値を包含している。カウントフィールド300値のゼロは、DMAが実行されないというということを意味している。しかしながら、ゼロに等しいカウントフィールド300を持つJKは、依然としてロードされるであろう。
Chanフィールド304は、ホストメモリからDMAされるべきであるセグメンテーション待ち行列252へのポインタを包含するセグメンテーションコントロールブロック(図32)を識別する。
エンドフィールド306は、PDUの最後のDMAブロックのためのDMA記述子254をセットアップするときホストによりセットされる。これは必要とされないが、しかし、もしこれらの転送タイプが使用されかつ異なるチャンネル又は送信及び受信方向が同じPDUの中央で混合されるならばバイト又はハーフワードが失われるかもしれないので、推奨される。ブロックがアダプタメモリにDMAされ、かつエンドフィールド306ビットがセットされるとき、これは、丁度DMAされたセグメンテーションバッファ256の終わりに、DescrStartポインタを進める。これは、DMA書込ポインタ内の値によってアダプタメモリをロードする。さらに、送信DMA受信割り込みがホストを通して発生するであろう。DMAコントローラ108は、いずれかのDMA受信記述子がホストへのDMA転送の用意ができているかどうかを見るためにDMA受信待ち行列218をチェックするであろう。もしそうならば、DMAサイクルが始まるであろう。もしそうでないならば、DMAコントローラ108は、アイドルステートのホストに転送するであろう。さらに、TX・DMA・COMPLETE割り込みがホストに発生するであろう。
タイプフィールド310は、予め定められた値に従いメモリブロック転送のために使用される転送タイプを決定する。例えば、もしタイプフィールド値がJKに等しいならば、これは、”単なる冗談”DMAであるということを意味している。この場合、カウントフィールド300内の値は、メモリのブロックを効果的にスキップするためにDMA書込ポインタフィールドにロードされるであろう。もしタイプフィールド310が「バイト」に等しいならば、これは、8ビット転送が要求されるということを意味している。それから、カウントフィールド300の内容は、バイト転送の数を決定する。もしタイプフィールド310がHワードに等しいならば、これは、16ビットのハーフワード転送が要求されるということを意味している。それから、カウントフィールド300の内容は、ハーフワード転送の数を決定する。もしタイプフィールド310が「ワード」に等しいならば、これは、32ビットワード転送が要求されるということを意味している。カウントフィールド300の内容は、ワード転送の数を決定する。もしタイプフィールド310値が、2W、4W、8W、又は16Wに等しいならば、これは、2、4、8、又は16ワードのバーストが要求されるということを意味している。それから、カウントフィールド300の内容は、バスとの数を決定する。
もしタイプフィールド310値が、2WM、4WM、8WM、又は16WM(WMは”ワードメイビー”を意味している)に等しいならば、これは、2、4、8、又は16ワードの一つのバーストが要求されるということを意味している。カウントフィールド300は、このバースト中に実際に転送されるべきワードの数の値を包含している。DMAされたデータは、バーストの残りのために無視されるであろう。
ホストアドレスフィールド312は、DMA転送が開始するホストメモリにおけるソースアドレスを提供する。もしタイプフィールド310がJK値を包含するならば、そのときホストアドレスフィールド312は無視される。
図34は、ATM・ASIC100がDMA送信待ち行列220に向ける2つのポインタ、即ち、DMAWr_TX及びDMARd_txを例示するDMA送信待ち行列フィールドを説明するリストを示している。また、前述の図14及び15を参照。もしDMAWr_tx及びDMARd_txが等しいならば、そのときDMA送信待ち行列220は空である。ホストは、DMAWr_txがDMARd_txに等しくなるようにDMAWr_txをインクリメントしてはならない。ホストは、DMAWR_txポインタを待ち行列内の次のフリーロケーションに更新する前に全バッファのための記述子をセットアップすることが推奨されるということに注意すべきである。これは、受信DMAを実行することができる間に送信記述子のために待つアイドル時間を避けることである。JKタイプDMA記述子を使う際に、カウントフィールド300の全ての15の下位ビットを、ロケーション及びサイズパラメータに関わらず、DMAコントローラ108によってDMA書込ポインタにロードされる。それ故、ホストは、使用されるべきでないカウントフィールド300においていかなる高順位ビットもゼロにすることが要求される。
トラフィック決定は、ピークセル速度(PCR)カウンタ回路322を使って各セグメンテーションチャンネル252上で、かつアービタ/マルチプレクサー232を使ってチャンネルを横断して実行される。異なるPCR速度を使う複数VCIはセグメンテーションチャンネル240を共有し、かつPDUレベルで多重化される。セグメンテーションチャンネル240は、アービタ回路232を使ってセルレベルで一緒に多重化される。
本発明具体例において、チャンネル0は、他のチャンネルよりも低い優先度を有している。これは、利用可能のものよりも高い速度にチャンネル0がプログラムすることができるということを意味している。この場合、チャンネル0は、もし他のチャンネルがそれを使用しないならば、残りの帯域幅を得るのみであろう。それ故、チャンネル0はまた、利用可能のビット速度チャンネルとしてここでは参照される。
トラフィック決定のための2つのパラメータがある。(1)プリスケール、及び(2)速度分解である。これらパラメータは、PDU転送の開始時にセグメンテーションコントロールブロック(図32)にセグメンテーションバッファ記述子から送られる。プリスケールの2ビット及びPCR分解の6ビットがサポートされる。
アービタ回路232は全ての8つのチャンネルから値336を見て、最高値によってチャンネルに許可334を与える。チャンネル7は最高の優先度を有し、チャンネル0は最低の優先度を有している。チャンネル0は、アービタ回路232において、ゼロ又は1の値を有することができるのみである。もし全割り当て帯域幅がライン速度よりも高いならば、値336フィールドはオーバフローし、かつそれらの最大可能値となる。この場合に、PCRパラメータは保証することはできない。8つのチャンネル間の優先度は外出トラフィックの速度に影響しないということに注意すべきである。合計速度がライン速度よりも低い限り、速度はいかなるチャンネルにおいても保証される。しかしながら、外出トラフィックのバースト性に影響する。その程度に、低優先度チャンネルにおける高い帯域幅は、高い優先度チャンネルにおけるよりもバースト性があるであろう。
セグメンテーションバッファ256のプリスケールフィールド266は、プリスケーラ回路38で使用されるプリスケール除数を、4、16、128、又は2048のいずれかに限定する。これらの値は、高及び低ビット速度の両方で高いグラニュラリティを提供する。PCR速度は、以下の公式を使って計算される。
PCR[セル/秒]=25×106/プリスケール除数×(速度分解+1) (1)
PCR[ビット/秒]=25×106×53×8/プリスケール除数
×(速度分解+1) (2)
図36は、Prフィールド266値(即ち、プリスケール除数)及び速度分解フィールド268値の関数としていくつかの可能なPCR速度を示している。利用可能のビット速度チャンネル、即ちチャンネル0がある速度にプログラムされているとき、もし他の7つのチャンネルから十分な帯域幅が残されているならば、それはその速度で送信するだけである。送信される帯域幅の分配は、チャンネル1〜7のための合計割り当て帯域幅がライン速度を超えるとき未定義である。即ち、このアルゴリズムは、チャンネル0を除いて、ライン速度以上が割り当てられるとき、公正さを欠くことになる。
セグメンテーション待ち行列252及び再組立待ち行列(図39〜41)のサイズ及びロケーションは、VCIテーブル(図40)におけるロケーション及びサイズパラメータ、及びセグメンテーションコントロールブロック(図32)を使って制御される。これらのパラメータは、図37が例示するプロセスに従って解釈される。
図38は、本発明具体例がセグメンテーション待ち行列252又は再組立待ち行列(図39)への19ビットアドレスを如何に構成するかを示すコントロール図340を示している。コントロール図340において、ロケーションビット344及び19ビットアドレス346と関連するオフセットビット342が現れる。このアドレスは、どんなポインタ又はカウンタであっても、データワードを指すために使用されるオフセット342、及びロケーション344から構成される。8つの下位ビットは常に、オフセットビット342における8つの下位ビットから引き出される。次の7ビットは、オフセットビット342又はロケーションビット344から引き出され、このライン分配は、サイズパラメータによって決定される。4つの上位ビットがロケーションビット344の上位ビットから引き出される。未使用ビットは、ATM・ASIC100によって無視される。
図39は、ATM・ASIC100の再組立エンジン124が使用する再組立データ構造を例示している。重要な再組立データ構造は、VCIテーブル352である。VCIテーブル352は、DMA受信待ち行列358からDMA記述子356を受信するVCI記述子354を包含している。さらに、VCI記述子354は、サービスリスト362からVCI360を受信する。VCIテーブル352は、各VCIチャンネル364のために存在する。VCI記述子354から、出力は再組立待ち行列366のような種々の組立待ち行列に進む。再組立待ち行列366は、再組立バッファ368を含む種々のバッファを包含している。
PDUが再組立バッファで再組立され、完了するとき、再組立エンジンは、そのVCIのための再組立が完了したという情報によってサービスリストを更新するであろう。このサービスリストは、実質上VCI番号である。VCI番号は、VCIテーブルを指し、かつVCI番号のVCI記述子のためのオブジェクトロケーションを参照する。そのときに、ホストは、それが再組立される完了したPDUを有するという情報によって割り込まれるであろう。それから、ホストはサービスリストを読み取り、かつどのVCIが再組立されるかを決定する。それから、それは、VCI記述子を読み取り、かつこれは、再組立が生じた読み取りポインタを包含している。それから、ホストは、VCI記述子及びDMA記述子を読み取り、かつPDUをホストに再組立するためにDMAエンジンをオンにする。
それから、ホストは、読み取りポインタ及び記述子スタート値を包含するVCI記述子を読み取る。これらのフィールドは、DMA記述子を構成するためにホストによって使用される。それ故、図39の矢印は、参照を示すが、データフローを示しているのではない。
それ故、オペレーションのフローは、再組立エンジンがセルからデータを再組立するということである。いったん、この再組立がPDU上で完了すると、再組立エンジンは、VCIをサービスリストに入れる。これは、ホストに割り込みをかける。それから、ホストは、サービスリストを読み取り、VCIを探し出し、VCI記述子を読み取り、アダプタからのDMAがホストに進むまでPTIモード及びサービスリストを見ることによってステータスをチェックする。読み取り記述子、読み取りポインタ、及びセルキャップはDMA記述子を構成するために使用される。
図3及び39を参照すると、再組立エンジン124はCPSC・PDUを再組立し、かつDMAコントローラ108及びホストプロセッサと協力して作用する。再組立エンジン124は、1024までの同時再組立をサポートする。再組立される各VCIチャンネル364のために、再組立待ち行列366が、再組立プロセス用ワークスペースのために使用されるアダプタメモリに割り当てられる。ATM・ASIC100は、セル上でAAL5処理(CRC−32等)を受信されるとき実行する。各再組立待ち行列366において、再組立バッファ368は、各入来CPCS・PDUのために再組立エンジン124によって必要とされるとき割り当てられる。再組立待ち行列366は、アダプタメモリ内に実現される円形FIFOデータ構造である。ホストは、再組立バッファ368がホストメモリにDMA転送をするための用意をしているとき割り込まれる。ホストは、再組立バッファ368の待ち行列からはずし、それをDMAチェーンリストに加える。それから、DMAコントローラ108は、再組立バッファ368をホストメモリに転送し、かつホストに割り込みをかける。それから、再組立バッファ368は、DMA転送が進むにつれて自由にされる。
ATM・ASIC100は、2つのタイプのトラフィック:(1)AAL5、及び(2)非AAL5を受信することができる。非AAL5トラフィックは、特別な処理が実行されないので、基本的にはATM・ASIC100に透明である。各VCI364は、AAL5又は非AAL5として配列することができる。さらに、ATM・ASIC100は、OAMフローのために使用される余分のOAM非AAL5チャンネルを有している。この特別のOAMチャンネルは、本発明具体例においては、VCIチャンネル3である。本発明具体例において、VCIチャンネル3はUNIにおけるF5OAMフローのために既に予約されている。再組立エンジン124は、VCIアドレッシングの10ビットをサポートしている。これらは、VCIフィールドの10の下位ビットである。全ての他のVCI、GFC及びVPIビットは受信機によって無視される。このように、VCI=1025のセルは、VCI=1として処理されるであろう。特に図39を参照すると、再組立プロセスのための再組立データ構造350が現れる。ATM・ASIC100及びホストによる再組立中に実行される手順は、詳細に後述する。ATM・ASIC100はまた、入来セルを処理するとき使用される内部ワークスペースを有している。
マスタコントロールレジスタにおけるRX_ENABLEビット(図8)は、リセット後、及びセグメンテーションエンジン122がソフトウエアバグを検出する場合にクリアされるであろう。このビットがクリアされるとき、PHYインターフェース回路130は、物理層チップから新たなデータを受信することから不能にされる。従って、再組立エンジン124は不能にされる。RX_ENABLEビットは、マスタコントロールレジスタに書き込むことによりホストからセットすることができる。もしホストがこのビットをクリアしたいならば、これは、ATM・ASIC100へのマスタリセットを実行することによりなすことができる。
図40は、VCI記述子354を包含するVCIテーブル352を詳細に示している。VCI記述子354は、PTIモードフィールド372に隣接しているモードフィールド370を含む多数のフィールドを包含している。ロケーションフィールド374は11ビットを含み、かつサイズフィールド376に隣接している。未使用14ビットフィールド378はインサービスビット380からサイズフィールド376を分離する。VCI記述子354内の他のフィールドは、15ビット記述子スタートフィールド384に隣接している単一ビットフィールド382を包含している。単一ビットフィールド386は、読み取りポインタフィールド388から記述子スタートフィールド384を分離する。読み取りポインタ388の後に、単一ビット390があり、かつそれはそれ自身、書込ポインタ392に隣接している。書込ポインタフィールド392はステートフィールド394に隣接している。未使用3ビットフィールド396が11ビットセルカウントフィールド398に隣接している。VCI記述子354のさらなるフィールドは、32ビットを含むCRC計算フィールドである。
VCIテーブル352は、異なるVCIについての情報を記憶するために使用されるアダプタメモリにおける1024エントリテーブル(4K×32ビット)であり、かつ前記の図27のメモリマップ200にはVCIテーブルブロック216として現れる。VCIテーブル352へのオフセットは、直接に10ビットVCIである。
VCIテーブル352において、モードフィールド370は、この表におけるこのロケーションに相当するVCI番号の現在モードを識別する。例えば、もしモードフィールド370値が「破壊」のための値に等しいならば、そのときこのVCIを持つ全ての入来セルが、1にセットされたPTIビット2を持つセルを除いて破壊されるであろう。これは、PTIモードフィールド372によって制御される。もしモードフィールド370値がAAL5に等しいならば、そのときこのVCIを持つ入来セルは、(ロケーション及びサイズによって識別することのできる)再組立待ち行列368において再組立されるであろう(或いは再組立中である)、そしてAAL5処理が実行される。さらに、もしモードフィールド370値が非AAL5に等しいならば、そのときこのVCIを持つ入来セルは、(ロケーション及びサイズによって識別される)再組立待ち行列に入れられるが、しかしAAL5処理は実行されない。
PTIモードフィールド372は、1にセットされたPTI(2)によって受信されたセルを持つのはどのATM・ASICであるのかを識別する。セットされたセルヘッダ内のPTIフィールドのビット2は、次の内の1つを意味している。(1)セグメントF5セル、(2)エンドツーエンドF5セル、(3)予約、又は(4)予約。もしPTIフィールド372値が「破壊」値に等しいならば、そのとき、セットされたPTI(2)ビットを持つこのVCIによって受信された全てのセルは、破壊されるであろう。もしPTIフィールド372値が「保存」値に等しいならば、そのとき、セットされたPTI(2)ビットを持つこのVCIによって受信された全てのセルは、後述するように、OAMチャンネルに向けられ、かつ処理されるであろう。
インサービスフィールド380は、VCIが現在サービスリスト(図43)内に位置しているかどうかを識別する。
ステートフィールド394は、VCIの現在のステートを識別する。もしステートフィールド394値が「破壊」値に等しいならば、そのときこのVCIを持つ入来セルは、PDUの最後のセルが受信されるまで破壊されるであろう。そして、この場合、ステートフィールド394値は「アイドル」値に変化するであろう。もしステートフィールド394値が、「再組立」値に等しいならば、そのとき、PDUは、このVCIのためのロケーション及びサイズによって識別される再組立待ち行列においてこのVCIのために再組立されている。もしステートフィールド394値が、「アイドル」値に等しいならば、そのとき、いかなるPDUもこのVCIのために現在再組立されていない。
モードフィールド370が「破壊」値を有するとき、ステートフィールド394値は、セルがこのVCIのために破壊されるときはいつでも、「破壊」にセットされる。これは、PTIモードフィールド372が「破壊」値を有するとき、OAMセルを包含する。
ロケーションフィールド374は、相当する再組立待ち行列368アダプタメモリのアドレスロケーションの11(までの)上位ビットである。サイズフィールド376は、図38に示されるように、19ビットアドレスを構成するためにATM・ASICによって使用されるロケーションフィールド374におけるビット数を決定する。ロケーションフィールド374の7(までの)未使用下位ビットがゼロにセットされなければならない。サイズフィールド376はこれらのビットを決定する。
サイズフィールド376は、再組立待ち行列368のサイズを規定する。32ビット倍の、256、512、1K、2K、4K、8K、16K、及び32K、即ち、1Kから128Kバイトまでを含む8つの異なるサイズが定義される。256が選択されるとき、ロケーションフィールド374の全てのビットが使用される。32Kが選択されるとき、ロケーションフィールド374の4つの上位ビットのみが使用される。
書込ポインタフィールド392は、再組立待ち行列368内の次の再組立ワードによって上書きされる次のフリー32ビットワードを指す。ATM・ASIC100は、オーバフローを避けるために各書込前に、書込ポインタフィールド392の値プラス1を、読み取りポインタフィールド388の値と比較する。このフィールドの7(までの)上位ビットが、ATM・ASIC100によって書き込まれるときゼロである。サイズフィールド376値は、これらのビットを決定する。読み取りポインタフィールド388は、再組立待ち行列368からホストメモリにDMAされた最後の32ビットワードを指す。読み取りポインタフィールド388値は、何もDMAされないとき記述子スタートフィールド384値に等しい。このフィールドの7(までの)上位ビットは、ATM・ASIC100によって書き込まれるときゼロである。サイズフィールド376値は、これらのビットを決定する。
記述子スタートフィールド384は、現在再組立待ち行列366において再組立されている再組立バッファ記述子の開始点を(図41及び42参照)、或いはチャンネルがアイドルであるときアダプタメモリ内の次のフローロケーションを指す。ATM・ASIC100は、新たなPDU再組立を開始する前に、記述スタート+1を読み取りポインタと比較する。記述子スタートフィールド384の7(までの)上位ビットは、ATM・ASIC100によって書き込まれるときゼロである。サイズフィールド376値は、これらのビットを決定する。
セルカウントフィールド398は、現在再組立されているPDUのための一時的セルカウントを包含している。CRC計算フィールド400は、現在再組立されているPDUのために計算されている一時的CRC値を包含している。
本発明具体例において、VCIテーブルエントリ3は、それが、全てのVCIからの全てのF5OAMセルのために使用されるという点で特別である。VCI記述子内のPTIモードフィールド374値が「保存」にセットされているとき、そのとき、入来OAMセルは、チャンネル3に向けられ、かつ非AAL5セルとして処理される。このような場合に、モードフィールド370、PTIモードフィールド372、ステートフィールド394、セルカウントフィールド398、及びVCIチャンネル3のためのCRC計算フィールド400のための値は、ATM・ASIC100によっては使用されない。VCIチャンネル3値を有する入来セルは、モードフィールド370及びPTIモードフィールド372の値を通して通常に制御される。また、このような場合に、モードフィールド370値は、「破壊」にセットされるべきであり、かつPTIモードフィールド372値は、選択的に「破壊」にセットすることができる。或いは、ホストは、UNI仕様書に従わないけれども、PTIモードフィールド372値を全てのVCIのために「破壊」にセットすることによって、かつVCIチャンネル3を通常チャンネルとして使用することによって全てのOAMセルを無視することができる。
読み取り及び書込のためのVCI記述子へのアクセス特権はまた、本発明具体例によって制御される。例えば、再組立エンジン124は、VCI記述子354の全てに読み取りアクセスを、かつインサービスフィールド380、書込ポインタフィールド392、記述子スタートフィールド384、ステートフィールド394、セルカウントフィールド398、及びCRC計算フィールド400への書込アクセスを有している。しかしながら、再組立エンジン124は、読み取りポインタフィールド388、モードフィールド370、PTIモードフィールド372、ロケーションフィールド374、又はサイズフィールド376への書込アクセスは有していない。
DMAコントローラ108は、VCI記述子354の全てに読み取りアクセスを有しているが、しかしロケーションフィールド374、サイズフィールド376、及び読み取りポインタフィールド388のみを使用するであろう。DMAコントローラ108は、読み取りポインタフィールド388へのみの書込アクセスを有している。
ホストは、VCI記述子354の全てに読み取り及び書き込みアクセスを有しているが、しかし、ホストは、通常の受信手順中、インサービスフィールド380にのみ書き込むであろう。即ち、ホストは、モードフィールド370、PTIモードフィールド372、ロケーションフィールド374、及びサイズフィールド376の内容を、それらを変更することなく、実際上再書込するであろう。ホストが、VCI記述子354を変更することを望むとき、それは、最初にモードフィールド370値を「破壊」値に変化させ、それから、ATM・ASIC100がこのVCIのためのいかなるエントリももはや変更しないとみなす前に、ATM・ASIC100がセルを処理するためにかかる時間(2.7μsec以下)待つ。さらに、ホストは、このVCIのための全ての予定されたDMAが完了するまで待つべきである。これは、DMAコントローラ108が平均時間で読み取りポインタを変化させるためである。VCIをオンにする前に、ホストは、VCI記述子ステート変数をアイドルにセットし、かつVCI記述子−記述子スタート及びVCI記述子−読み取りポインタパラメータを含むパラメータを初期化する。それから、ホストは、モードフィールド値をAAL5又は非AAL5に適切に変化させることができる。
メモリ内の32ビット以下の部分書込オペレーションは、必要なコントロールラインをRAMチップに出すことによってなされる。これは、RAMインターフェース/アービタ回路112によって制御されるが、しかし、これはホストにはどのようにも影響しない。ホストは、各オープンVCIのための再組立待ち行列368を予約するであろう。各再組立待ち行列366は、入来セルがPDUに再組立される再組立バッファ368を記憶するためにFIFOとして使用される隣接アダプタメモリのブロックである。ホストは、VCI記述子354におけるロケーションフィールド374及びサイズフィールド376の値を通してアダプタメモリ内のロケーション及び各再組立待ち行列368のサイズを制御する。再組立待ち行列366のロケーションは、再組立バッファ368サイズの整数倍であるアドレスに一致するということに注意すべきである。例えば、32K待ち行列が、アドレス0、又は32K、又は64K、又は96K等に位置している。
図41は、再組立バッファ記述子部分402及びデータ部分404を含む再組立バッファ368のフォーマットを示している。再組立バッファ記述子部分402は、セル損失優先(即ちCLP)フィールド408に隣接している識別子(即ちIden)フィールド406を包含している。未使用7ビットフィールド410が続き、その後に、混雑履歴(即ちCE)フィールド412が現れる。それから、未使用3ビットフィールド414の後に、単一ビット破壊(即ちT)フィールド416及びサイクリック冗長(即ちCRC)エラービット418が現れる。セルカウントフィールド420は、11ビットを有し、かつ再組立バッファ記述子部分402を完了する。データ部分404は、データフィールド422及び受信トレイラ424を含んでいる。受信トレイラ424は、受信CPIフィールド428に隣接する受信UUフィールド426を包含している。受信CPIフィールド428は、受信長さフィールド430に隣接する。受信CRCフィールド432は、受信トレイラ424の残りを形成する。
図42は、非AAL5モード転送のための再組立バッファ368’を示している。再組立バッファ368’は再組立バッファ部分434及びデータ部分436を含んでいる。図41の再組立バッファ368の再組立バッファ記述子部分と402と同様に、再組立バッファ記述子部分434は、識別子フィールド406及びTフィールド416を含んでいる。しかしながら、再組立バッファ記述子部分434は、CLPフィールド408、CEフィールド412、CRCエラーフィールド418、又はセルカウントフィールド420を含まない。再組立バッファ368’のデータフィールド436において、また、32ビットセルヘッダフィールド438が現れる。
再組立待ち行列366における再組立バッファ368及び368’は、1ワードから1組の複数ワード(1ワードは32ビットに等しい)までの可変長である。AAL5におけるVCIのために、バッファは12ワードのステップで書き込まれるであろう(12ワードは、48バイト又は1セルのペイロードに等しいということが思い起こされる)。非AAL5モードにおけるVCIのために、13ワード(13ワードは、52バイト、又はHEC無しの1ATMセルに等しい)が、再組立バッファ368に書き込まれるであろう。再組立バッファ368及び368’は、再組立待ち行列366のための定義されたメモリブロック224(図27)内のアダプタメモリアドレス空間に収容することができる。
再組立バッファにおける第一のワードは、再組立バッファ記述子402であり、残りのデータ部分404は実際のデータを包含する。再組立バッファ368において、Idenフィールド406は一風変わった潜在的目的を有している。それはホストに、DMAされたバッファが受信PDUと同期しているということを確認する方法を提供する。ATM・ASIC100は、待ち行列における再組立を開始するときこのフィールドにユニーク値を書き込み、この値は、ホストにより選択的にチェックすることができる。CLPフィールド408は、セル損失優先ビットである。このビットは、PDUにおける受信セルのいずれかがセットされたCLPビットを有するならば、セットされるであろう。このビットの内容は、非AAL5モードにおけるVCIに対して未定義である。CEフィールド412は、混雑履歴ビットである。このビットは、もしPDUにおける受信セルのいずれかがセットされたPTI(1)ビットを有するならば、セットされるであろう。このビットの内容は、非AAL5モードにおけるVCIに対して未定義である。Tフィールド416は、「破壊」ビットであり、かつもしセルカウントが「破壊」セルのカウントであるならば、セットされ、そしてデータフィールド404は空である。このような場合に、次のバッファ記述子は、この記述子のすぐ後に続くアドレスで開始する。Tフィールド416は再組立バッファ366におけるオーバーフローの場合にセットされるであろう。
CRCフィールド418は、受信PDU・CRC−32がエラーを有していることを示すエラービットを包含している。このビットの内容は、非AAL5モードにおけるVCIに対して未定義である。このビットはまた、Tフィールド416ビットがセットされるとき未定義である。
セルカウントフィールド420は、データフィールド内に包含されるセルの数を保持している。もしTビットがセットされるならば、そのとき、セルカウントフィールド420の値は、「破壊」セルのカウントである。ゼロのセルカウントフィールド420値は、一般的には生じない。セルカウントフィールド420値は、もしVCIが非AAL5モードにあるならば、或いはこれが、OAMのために使用されているVCIチャンネル3であるならば、未定義である。
データフィールド404は、CPCSトレイラと共にCPCSPDUを包含する再組立セルペイロードを包含している。入来バイトは、図41及び42に示されるように、アダプタメモリ内に記憶されている。VCIが非AAL5モードにあるとき、或いはVCIチャンネルがOAMセルのために使用されているチャンネル3であるならば、そのとき、データフィールドにおける最初の4バイトは、HECフィールドを除くATMセルヘッダを包含するということに注意すべきである。
図43は、サービス読み取りフィールド442及びサービス書込フィールド444を含むサービスリスト440フォーマットを示している。サービス読み取りフィールド442は、全てゼロから成るフィールド448に隣接しているVCI番号フィールド446を包含している。サービス書込フィールド449は、サービス読み取りフィールド442に続く。
サービスリスト440は、アダプタメモリにおける1Kエントリ円形リストであり、かつメモリマップ200のブロック222を占有する(図27)。サービスリスト440は、何かがDMAのための待ち行列に入れる用意をしている故にホストによるサービスを待っているVCIチャンネルのリストを提供する。ATM・ASIC100は、VCIが既にサービスリスト440に無ければ、それがPDUの再組立を完了する毎に、或いは、非AAL5モードにおいてセルを受信した後、1つのVCIをリストに加える。これは、セット値を有するパラメータ、VCI記述子.インサービス、によって示されている。ホストは、サービスリスト440からVCIを読み取り、かつ再組立待ち行列366におけるPDUのためのDMA受信待ち行列218における適切なエントリを発生する。ホストは、サービスリスト440からVCIを取り除くときVCI記述子.インサービスパラメータビットをクリアすることが求められる。
サービスリスト440において、VCI番号フィールド446は、0から1023に亘る10ビット値である。サービスリスト440は、本発明具体例において、アダプタメモリにおいて1K×32ビットとして実施される。図44は、ATM・ASIC100ポインタをサービスリスト440に記述するテーブルを提供する。本発明具体例において、ホストはまた、サービスリスト440の初めに、サービス読み取りポインタを保持する。最大1024のサービスリスト440エントリのみを有することができるので、サービスリスト440におけるオーバフローのためのチェックをすることは要求されないということに注意すべきである。
VCIをサービスするときホストがしなければならない第一のことは、VCI記述子のインサービスビットをクリアし、それからVCI記述子の記述子スタートパラメータを読み取ることであるということは、注目に値する。次に、ホストは、DMAプロセスをセットアップする。ATM・ASIC100が、インサービスクリアと記述子スタート読み取りの間に新たなPDUを完了する場合に、ATM・ASIC100は、サービス書込ビットをインクリメントしながら、記述子のインサービスビットをセットし、かつサービスリスト440にVCIを入れる。しかしながら、ホストは、新たな記述子スタートを読み取るので、ホストはPDUを直ちに処理するであろう。これは、ホストが次の割り込みをサービスするために戻るとき、サービスすべき何もなくサービスリスト440には潜在的にエントリがあるということを意味している。ホストは、これを無視することが要求されるが、しかし依然として記述子インサービスビットをクリアする。
図45は、DMA受信待ち行列のためのフォーマット図450を示している。DMA受信待ち行列フォーマット450は、カウントフィールド452を含むDMA記述子356を包含している。カウントフィールド452は、VCIフィールド454に隣接している。VCIフィールド454に隣接しているのは、エンドフィールド456である。未使用の1ビットフィールド458は、エンドフィールド456をタイプフィールド460から分離する。DMA記述子356の残りの部分は、ホストアドレスフィールド462である。
DMA受信待ち行列フォーマット450は、アダプタメモリにおける1K×32ビットの円形待ち行列であり、かつこれは、本発明具体例においては、メモリマップ200のブロック218を占有する(図27)。DMA受信待ち行列450は、本発明具体例のATMアダプタからホストメモリにDMAされるメモリブロックのリストを記述するDMA記述子356の待ち行列である。ホストは、サービスリスト440からVCIを読み出した後、DMA受信待ち行列450にDMA記述子356を入れる。ホストは、各PDUのためにいくつかのDMA記述子356をセットアップして、DMA転送サイクルを最適化し、かつホストメモリ内の予め定義されたロケーションにPDUを適合させることができる。ATM・ASIC100のDMAコントローラ108は、DMA記述子356を待ち行列から外し、VCI記述子.読み取りポインタを読み取り、そしてDMA転送をする。
DMA受信待ち行列フォーマット450において、カウントフィールド452は、なされるべき転送の数を保持する。もしタイプフィールド460が「ワード」のための値を包含するならば、そのとき、カウントフィールド452は、「ワード」カウントを包含する。もしタイプフィールド460が2W、4W、8W、又は16Wのための値を包含するならば、そのとき、カウントフィールド452は、2、4、8、又は16によって割られたワードカウントを包含している。もしタイプフィールド460が2WM、4WM、8WM、又は16WM(WMはワードメイビーを意味している)のための値を包含するならば、そのとき、カウントフィールド452の下位ビットは、タイプが「Type」の単一バーストで転送されるべきワード数を包含している。もしタイプフィールド460が値JKを包含するならば、そのとき、カウントフィールド452における15の下位ビットは、VCI記述子354の読み取りポインタにロードされるべき値を包含する。ゼロに等しいカウントフィールド452値は、WMサイクルを除いて、無効である。
VCIフィールド454は、DMAされるデータによって再組立待ち行列366を指すVCIテーブル352エントリを識別する。VCIフィールド454は、DMA記述子356以外の全てに対して無視され、かつこれには、セットされたエンドフィールド456ビットを持つDMA記述子が続き、或いはホストによってセットされているDMA・ENABLEが続く。エンドフィールド456は、PDUの最後のDMAブロックのためのDMA記述子356をセットアップするときホストによりセットされる。本発明具体例において、ホストは、もしいくつかのPDUが同じVCIからDMAされるならば、PDU毎にエンドフィールド456ビットをセットしないように選ぶことができる。エンドフィールド456は、VCIのための最後のDMA記述子356においてセットされなければならない。それが値”真”を有するとき、このビットは、DMAコントローラ108にDMA送信待ち行列をチェックさせ、かつブロックがホストメモリにDMAされたときホストにRX・DMA・COMPLETE(図6参照)割り込みを発生させる。
タイプフィールド460は、メモリブロック転送のために使用される転送タイプを決定する。もしタイプフィールド460における値がJK値を有するならば、そのとき”単なる冗談”(Just Kidding)DMAが生じることがある。この場合カウントフィールド452における値は、読み取りポインタフィールド388にロードされるであろう。これは、DMA転送を達成する代わりにメモリのブロックをスキップするために使用される。
もし、タイプフィールド460における値が「ワード」であるならば、そのとき32ビットワード転送が行われ、カウントフィールド452における値がワード転送の数を決定する。もしタイプフィールド460における値が、2W、4W、8W、又は16Wであるならば、そのとき、再組立バッファの包含する数は、カウントフィールド452の値がバッファの数を決定する。もしタイプフィールド460の値が、2WM、4WM、8WM、又は16WM(WMは、ワードメイビーを意味している)ならば、そのとき、2、4、8、又は16ワードの単一バーストが生じることがあり、カウントフィールド452内の値がこのバースト中に事実上転送されるべきワード数を決定する。未定義データがこのバーストの残りのために転送されるであろう。もしタイプフィールド460が未定義パターンを包含するならば、そのとき、その結果は未定義である。
ホストアドレスフィールド462は、DMA転送がスタートするホストメモリにおける目標アドレスである。もしタイプフィールド460がJK値を包含するならば、そのとき、このフィールドは無視される。ATM・ASIC100は、DMA受信待ち行列450への2つのポインタを有している。(1)DMAWr_rx(また図12参照)、及び(2)DMARd_rx(また図13参照)である。これらは、特に図46に記載されている。もしDMAWr_rx及びDMARd_rxが等しいならば、そのときDMA受信待ち行列450は空である。ホストは、DMAWr_rxがDMARd_rxに等しく成るようにDMAWr_rxをインクリメントしてはならない。
ホストは、待ち行列内の次の自由ロケーションにDMAWr_rxポインタを更新する前に全再組立366バッファのためのDMA記述子をセットアップすることが推奨される。これは、送信DMAが実行することができる間に受信記述子のために待つアイドル(休止)時間を避けることである。DMA転送のバス特定情報のためのホストインターフェース回路106に関する図3及び関連した説明を参照のこと。
また、”JK”DMAを使うとき、カウントフィールド452の全ての15の下位ビットが、ロケーションフィールド374及びサイズフィールド376値にかかわらず、DMAエンジン124によって読み取りポインタ388にロードされる。それ故、ホストは、使用されないカウントフィールド452におけるいかなる高順位ビットもゼロにすることが要求される。ATM・ASIC100はまた、現在処理されているVCI記述子354のいくつかのコピーを保持する。ATM・ASIC100は、それが必要とするものが何であっても読み取り、フィールドを更新し、そしてどんな変化があっても書き戻す。
図47は、本発明具体例のATMネットワークインターフェースコントローラの一般的アーキテクチャを示している。アーキテクチャ540は、ユーティリティ及び機能アプリケーション542及び電気通信アプリケーション544のようなアプリケーションから構成される。これらのアプリケーションは、ATM特定のAPI546、及びATMネットワークのための標準、又は一般的に使用されるAPI548と通信する。APIは、種々のライブラリ内に保持することができる。オペレーティングシステムレベル550に、異なるオペレーティングモジュールが現れる。これらは、例えば、クラシックIP又はATMドライバソフトウエア554と通信するIPプロトコルスタック552を包含する。ATMドライバ554上のクラシックIPは、ATMドライバ556と通信し、かつそれ自身、アダプタドライバ558と通信する。アダプタドライバ558と適切なATMアダプタハードウエア560の間で、情報は、オペレーティングシステム550から流れる。
オペレーション
次の説明は、本発明具体例によるセグメンテーション及び再組立手順中に行われることを例示している。セグメンテーション手順は、以下のイベントを包含している。(1)ホストがDMAのためのPDUを待ち行列に入れる。(2)ATM・ASICがDMA送信待ち行列22を読み取る。(3)ATM・ASIC100がPDUをセグメント分割する。(4)ホストがエラー状態の何か或いはその存在を変更する。再組立手順は、以下のイベントを処理するための手順を包含している。ATM・ASIC100において通常のセルを受信。(2)ホストは、DMA受信待ち行列450上の何かを待ち行列に入れる。(3)ATM・ASIC100は、メモリマップ200のDMA受信待ち行列218を読み取る。(4)PHYインターフェース回路130を通してOAMセルを受信。(5)ホストが何かを変更する。(6)不完全なセルを受信。イベント(1)〜(3)は、PDUが受信されかつホストメモリにDMAされる前に一般的に次々と起こる。
前述のセグメンテーション手順の最初の3つは、PDUがアダプタメモリにDMAされ、かつ最終的に送信される前に次々と起こる。最初のオペレーションの1つは、ホストによってDMAのためのPDUの待ち行列に入れることである。ホストがPDUを送信することを望むとき、それは、アダプタメモリにDMAされるべきセグメンテーションバッファ256のためのDMAリストを作成する。全セグメンテーションバッファ256がホストメモリに記憶される必要はなく、かつ全てDMAされる必要もない。
ホストは、スレーブアクセスを使ってPDUトレイラ282を書き込むことができ、かつパッディング及びトレイラ部分は、JK記述子を使ってスキップすることができる。セグメンテーションバッファ記述子258は、ホストによる通常のスレーブアクセスを使って書き込むことができ、かつこの場合、JK・DMA記述子はセットアップしなければならないであろう。原則として、セグメンテーションバッファ256の全体がホストにより手で書き込むことができ、かつ全PDUのためにJK・DMA記述子が必要とされるであろう。
特定のセグメンテーションチャンネルのために目標とされるDMA記述子254をセットアップするとき、ホストは、TX_LOCK_MODE(図8参照)がセットされるか、又はクリアされるかどうかに依存して2つのオプションを有している。もしTX_LOCK_MODEがセットされるならば、ホストは最初に、チャンネルのためのセグメンテーション待ち行列252内に空間があるかどうかを決定する。ホストは、存在する空間以上にDMAのために待ち行列に入れないことが求められる。ホストは、DMAのために何が待ち行列に入れられたかの追跡を続けることによって、かつセグメンテーションチャンネルのためのセグメンテーションコントロールブロック(図32)内の読み取りポインタ(図17参照)を読み取ることによってこれをなし、セグメンテーションエンジン122がどこにあるのかを見ることができる。もしDMAがオーバフローするならば、ATM・ASIC100は、(TX_ENABLE、RX_ENABLE、及びDMA_ENABLEを使って)全てのものをロックし、かつデバッグ目的のためにTX_DMA_OVFL割り込みを発生する。
もし空間がないならば、ホストは、PDUがセグメンテーションを終了するときチャンネルからTX_COMPLETE割り込みを受信するまで待つことができる。他方、もし空間があるならば、かつもしDMAWr_tx+1がDMARd_txとは異なるならば、そのとき、ホストは、アドレスDMAWr_txにDMA送信待ち行列220内のDMA記述子254をセットアップし、かつDMAWr_txを前進させる。最後のDMA記述子254をセットアップするとき、ホストは、DMA記述子254内のエンドビットを”真”にセットしなければならない。
もしTX_LOCK_MODEがクリアされるならば、そのとき、もしDMAWr_tx+1がDMARd_txとは異なるならば、ホストはアドレスDMAWr_txでDMA送信待ち行列250内のDMA記述子254をセットアップすることができ、かつDMAWr_txを前進させる。最後のDMA記述子254をセットアップするとき、ホストは、記述子内のエンドフィールド306ビットを”真”にセットしなければならない。もしDMAオーバフローが生じるならば、TX_DMA_OVFL割り込みが発生し、かつDMA転送は、セグメンテーションバッファに再び空間ができるまで中断される。
両方の場合に、ホストは、DMAWr_txポインタを進める前に、DMA記述子259を書き込むことが求められるということに注意すべきである。さもなければ、ATM・ASIC100は、ゴミのようなデータのDMAを開始するかもしれない。また、ホストは、DMAWr_txポインタをセグメンテーション待ち行列252の次のフリーロケーションに更新する前に、全セグメンテーションバッファ256のために記述子をセットアップすることが推奨される。これは、受信DMAが実行中に、送信記述子を待つアイドル時間を避けることである。また、もしホストが全PDUを手でコピーすることを選択するならば、そのとき、ホストは、データをコピーする前にバッファに空間があるということを確かめることが要求される。
ATM・ASIC100が、DMA送信待ち行列220を読み取るとき、ATM・ASIC100は、DMARd_tx及びDMAWr_txポインタを一致させることによりDMA送信待ち行列220を連続的にモニターするであろう。もしDMA送信待ち行列220内に何かが待ち行列として入れられ、かつもしDMAコントローラ回路108がまだ別のDMA転送にかかわっていないならば、そのときDMA記述子254は待ち行列から読み取られる。
それから、ATM・ASIC100のDMAコントローラ108は、実際のDMAオペレーションをするために、読み取りDMA記述子254内の情報を使用する。ホストアドレスは、ホストメモリ内のソースアドレスを指すために使用され、カウントフィールド300内の値はこのデータブロックのために必要とされる転送の数であり、チャンネルフィールド304値は、アダプタメモリを指すために使用されるDMA書込ポインタにロードされるセグメンテーションコントロール記述子スタートパラメータを識別する。エンドフィールド306値は、もし”真”にセットされるならば、DMA転送が完了するときTX_DMA_COMPLETE割り込みを発生させ、かつセグメンテーションコントロール記述子スタートパラメータをDMA書込ポインタによってロードされるDMAされたセグメンテーションバッファ256の終わりに進める。タイプフィールド310は、転送のタイプを識別する。例えば、もしタイプフィールド310値がJKにセットされるならば、それは、DMA書込ポインタがカウントフィールド300内の値によってロードされ、かつDMA転送が実際上実行されないということを意味している。ATM・ASIC100が各DMA記述子254の処理を終了するとき、DMARd_txポインタが処理されるべき次の記述子を指すためにインクリメントされる。
もしDMA転送中にバスエラーが生じるならば、そのとき、マスタコントロールレジスタにおけるDMA_ENABLEビット(図8)がクリアされ、それによって、全てのDMAオペレーションを不能にする。それから、ホストは、エラーに関連したDMA記述子254の内容を、例えばタイプJKに、変更することができ、それから、マスタコントロールレジスタに書き込むことによってDMAを再イネーブルすることができる。さらに、ホストは、DMAアドレスレジスタにおける違反する仮想アドレスを読み取ることができる。
もしDMA転送中に、DMA書込ポインタがチャンネルのための読み取りポインタにあまりに近くなるならば(”あまりに近く”とは、1ワードと3ワードの間として定義される)、そのとき、これは、DMAオーバフローであり、かつTX_DMA_OVFL割り込み(図8)が発生する。TX_LOCK_MODEがセットされる場合に、これは、TX_ENABLE、RX_ENABLE、及びDMA_ENABLEビットをクリアさせる。これは、ATM・ASIC100のオペレーションを効果的に停止させる。それから、ホストは、悪くなったものをデバッグするためにスレーブ読み取りをし、かつオペレーションの開始のために、マスタリセットし、又は再イネーブルすることができる。本発明具体例において、リセットは、この点で推奨される。もしTX_LOCK_MODEがクリアされるならば、これは、セグメンテーションバッファ256内に再び空間ができるまでDMA転送を中断させる。
セグメンテーションエンジン122が、記述子スタート及び読み取りポインタパラメータが異なる値を有するということを検出するとき、そしてもし、それがまだセグメント分割をしていなかったならば、それは、ピークセル速度回路240によって決定される速度でセグメンテーション待ち行列252においてセグメンテーションバッファ256のセグメント分割を開始するであろう。
この動作において、ATM・ASIC100は、セグメンテーションバッファ記述子258の第一ワードにおいて第一の読み取りをするであろう。もし識別子フィールド262が予期されたユニーク識別子とは異なるならば、ATM・ASIC100は、(TX_ENABLE、RX_ENABLE、及びDMA_ENABLEを使って)ロックされ、かつTX_IDEN_MISMATCH割り込み(図6)が発生する。もし識別子が予期したものと異ならないならば、VCIフィールド274、PTIフィールド276、CLPフィールド278は、Mフィールド264、Prフィールド266、Rate・Resフィールド268、及びセルカウントフィールド276と共に、セグメンテーションコントロールブロック(図32)にロードされ、かつ読み取りポインタが進められる。Mフィールド264は、次に何が起こるかを決定する。
もしMフィールド264値がAAL5転送を示すならば、そのとき、PDUはAAL5PDUとしてセグメント分割される。CRCはまた、セグメンテーションコントロールブロックにおいて開始される。それから、PDUは、セグメンテーションコントロールブロックにおけるプリスケールフィールド266及び速度分解フィールド268により定義された速度で送信される。各セルが送られるとき、CRCフィールド284は更新され、かつセルカウントフィールド270はデクリメントされる。読み取りポインタは、アダプタRAM内の各読み取りワードに対してインクリメントされる。VCIフィールド274、PTIフィールド276、及びCLPフィールド278は、各外出セルのヘッダにおいて使用される一方、ヘッダの残りは、1にセットされる。セルカウントフィールド270値がゼロに達するとき、最後のセルは、特別に処理される。セルヘッダ内のPTIフィールド276ビットは、1にセットされ、かつCRCの結果はセルの終わりに挿入される。
もしMフィールドが非AAL5値にセットされるならば、そのときセグメンテーションバッファ256’は、非AAL5セルとして送ることができる。セルは、セグメンテーションコントロールブロック内のプリスケールフィールド266及び速度分解フィールド268によって定義された速度で送信される。読み取りポインタは、アダプタメモリ内の各読み取りワードのためにインクリメントされる。VCLフィールド274、PTIフィールド276、及びCLPフィールド270は、各セルのヘッダにおいて使用される。ヘッダの残りはゼロにされる。
ホストは、送信方向に沿って完全なコントロールを固有に有している。ホストが、セグメンテーション待ち行列252のサイズ及び/又はロケーションを変化させたいとき、又はエラー状態が存在するとき、全ての予定されたPDUが送信されるまでそれは最初待つべきである。ホストがロケーション/サイズを変化させるとき、ホストは、そのチャンネルのための第一のDMA記述子としてゼロのカウント値(即ち、アドレスゼロ)によってJK・DMAサイクルを指令することが推奨される。また、ソフトウエアエラー状態が存在するとき、又はRAMチップが故障するとき、例えば、ATM・ASIC100は、もしDMAオーバフロー又は無効識別子フィールド262値が検出されるならばエラー割り込みを発生することができる。この場合、ATM・ASIC100はロックするが、依然としてソフトウエアデバッグ動作を可能にする。ATM・ASIC100は、この場合ATM・ASIC100リセットレジスタを使ってリセットされるべきである。
図35は、ピークセル速度回路240の動作を例示している。ピークセル速度回路240は、内部レジスタバス238から入力を受け取り、かつその2ビットは、プリスケール回路314に進む一方、6ビットは速度分解回路316に進む。プリスケール回路314からの出力は、矢印320が示す25MHzクロック信号と同様に、プリスケーラー318に進む。カウンタ322は、速度分解回路316及びプリスケーラー318から入力を受信する。カウンタ322は、ライン324を経てANDゲート326に出力する。ANDゲート326はまた、カウンタ回路330からTC入力328を受け取る。ANDゲート326からの論理AND出力は、点332でカウンタ330にアップカウント信号として進む。カウンタ回路330はまた、許可信号334からダウン入力を受信して、アービタ回路232に出力値336を発生する。
以下の説明は、本発明具体例による再組立エンジン124のオペレーションに特に向けられる。ATM・ASIC100が正常セルを受信するとき、それは、受信したVCIを受け取り、かつこれをアドレスとして使って、このVCIについての記憶された情報を読み取るためにVCIテーブル352のルックアップをする。第一に、それは、最初の32ビットを読み取る。特別の例外は、受信セルPTI(2)がセットされているときである。その場合に、VCI記述子PTIモードフィールド372は、セルが破壊されるべきか、又はチャンネル3に向けられるべきかを決定する。さもなければ、モードフィールド370は、何がセルに起こるかを決定する。例えば、もしモードフィールドが「破壊」にセットされているならば、そのとき、セルは破壊される。VCI破壊カウンタはそれからインクリメントされる。さらに、ステートフィールド394は「破壊」にセットされて、セルがこのVCIによって破壊されたホストを示す。
もしモードフィールド370値がAAL5に等しいならば、そのとき、セルはこのVCIのために再組立待ち行列366において再組立される。VCIテーブル352において、記述子スタートフィールド384、読み取りポインタフィールド388、セルカウントフィールド、及びステートフィールドはVCI記述子354から内部ワーク空間に読み取られ、かつステートフィールド394のためのワーク値が、何がセルに起こるかを決定する。
もしステートフィールド394値が「アイドル」ならば、これは、このセルがPDUの第一のセルでなければならないということを意味している。もし新たな再組立バッファ記述子402のための再組立待ち行列366内に空間があるならば、即ち、もし読み取りポインタフィールド388値が記述子スタートフィールド値プラス1とは異なるならば、そのとき、書込ポインタフィールド392のためのワーク値が記述子スタートフィールド384ワーク値にセットされ、CRC計算フィールド400ワーク値は初期化され、ワークセルカウントフィールド398がクリアされ、そしてステートフィールド394ワーク値がアイドルから再組立に変化させられる。それから、ATM・ASIC100は、Idenフィールド406、CLPフィールド408、及び再組立バッファのCEフィールド412に値を書き込む。この動作において、CLPフィールド408及びCEフィールド412の内容は、セルヘッダから引き出される。それから、VCIテーブル352の書込ポインタフィールド392のワーク値は、インクリメントされる。それから、ATM・ASIC100は、今説明するように、正常な再組立オペレーションを実行する。
もし、再組立バッファ記述子402のための空間が不十分ならば、そのとき、ATM・ASICはVCI記述子354に書き戻して、このセルがPDUの唯一のセルであった場合を除いて、ステートフィールド394値を「破壊」にセットする。これは、セットされているPTI(0)によって決定される。もしセットされているならば、ステートフィールド394値は、アイドルから変化しない。さらに、オーバフロー破壊(図9参照)カウンタはインクリメントされる。
もしステートフィールド394値が「再組立」に等しいならば、そのとき、セルは、再組立バッファ368内に既に何があっても、再組立される。ATM・ASIC100は、VCI記述子352の残りを内部ワーク空間に読み取り、かつ最初にセルヘッダを処理する。ATM・ASIC100は、セルヘッダ内の入来PTI(1)ビット(混雑履歴)をチェックする。もしPTI(1)ビットがセットされているならば、ATM・ASIC100は、記述子スタートフィールド384の値が指す再組立バッファ記述子402のCLPフィールド406及びIdenフィールド406に書き戻すであろう。
それから、ATM・ASIC100は、セルヘッダ内の入来CLPフィールド408をチェックする。もしCLPフィールド408ビットがセットされるならば、ATM・ASIC100は、記述子スタートフィールド384のワーク値によって指し示された再組立バッファ記述子402内のIdenフィールド406及びCEフィールド412に書き戻すであろう。もしCEフィールド412及びCLPフィールド408ビットの両方がセットされるならば、ATM・ASIC100は、この書込をパラレルに実行することができる。このステップの後、セルカウントフィールド398のワーク値は、1だけインクリメントされる。
セルペイロードがPHYインターフェース回路130から受信されるとき、CRC計算フィールド400内の値が更新される。ATM・ASIC100は、書込ポインタフィールド392のワーク値プラス1を読み取りポインタフィールド388のワーク値と比較して、セルが再組立バッファ368に書き込まれているときオーバフローを避け、そして書込ポインタフィールド392のワーク値はインクリメントされる。もしオーバフローが書き込み動作中に生じるならば、そのとき、ステートフィールド394のワーク値は「破壊」に変化する。さらに、もしこれが、(セットされているPTI(0)ビットによって決定されるような)PDUの最後のセルであったならば、そのとき、ステートフィールド394のワーク値は、「アイドル」に変化し、かつセルの残りは破壊される。さらに、再組立バッファ記述子402におけるセルカウントフィールド420値は、セルカウントフィールド398のためのワーク値によって更新され、再組立バッファ記述子402におけるTフィールド416はセットされ、かつ記述子スタートフィールド384のためのワーク値は、1だけインクリメントされる。もしインサービスフィールド380のためのワーク値がセットされないならば、そのときVCI記述子インサービスフラグは、フィールドの残りに書き込むことなくセットされ、かつVCIは、サービス書込アドレス444でサービスリスト440に書き込まれる。それからサービス書込アドレス444はインクリメントされ、かつATM・ASIC100は、「サービス」割り込みを発生する。
もしオーバフローが生じなかったならば、そのとき、もし受信セルが(セットされているPTI(0)ビットによって決定されるような)PDUの最後だったならば、ステートフィールド394のワーク値は、「アイドル」に変化する。CRC計算フィールド400値は、受信セルのPDUトレイラ内のCRCフィールド値と比較され、かつ(エラーの存在又は不存在を示す)比較の結果は、再組立バッファ記述子402のCRCエラーフィールド418に書き込まれる。さらに、Tフィールド416ビットがゼロにセットされ、かつ再組立バッファ記述子402内のセルカウントフィールド420は、セルカウントフィールド98のためのワーク値にセットされる。記述子スタートフィールド384のためのワーク値は、書込ポインタフィールド392のワーク値にセットされる。もしインサービスフィールド380のワーク値がセットされないならば、そのときVCI記述子354インサービスフラグは、ワードの残りに書き込むことなく、セットされ、そしてVCIは、サービス書込アドレス444でサービスリスト440に書き込まれる。それから、サービス書込アドレス444がインクリメントされ、かつATM・ASIC100が「サービス」割り込みを発生する。
これらのステップ後、書込ポインタフィールド392、ステートフィールド394、CRC計算フィールド400、及びセルカウントフィールド398がVCI記述子354に書き戻される。もし記述子スタート384の値が変化するならば、これはまた、書き戻されるが、しかし、読み取りポインタフィールド388に書き込むことはない。
本発明具体例において、割り込みに反応するホストは、更新されたデータポインタにのみアクセスが与えられるので、前述のシーケンスは重要でないということに注意すべきである。
もしステートフィールド394の値が、「破壊」であるならば、入来セルは破壊される。ATM・ASIC100は、このセルが、(PT(0)ビットがセットされているかどうかをテストすることによって)PDU上の最後のセルであったかどうかを見るためにチェックする。もしそうならば、ステートフィールド394の値は、「アイドル」に変化させられる。さらに、VCI−破壊(図9)カウンタがインクリメントされる。
もしモードフィールド370の値が非AAL5であるならば、そのときAAL5処理は必要とされず、かつセルは、特別の1セルPDUとして扱われる。それから、ATM・ASIC100は、VCI記述子354の次の32ビットを内部ワーク空間に読み取る。もし新たな再組立バッファ記述子402のための再組立待ち行列366内に空間があるならば(即ち、もし読み取りポインタフィールド388値が記述子スタートフィールド384値プラス1とは異なるならば)、そのとき、書込ポインタフィールド392のためのワーク値は、記述子スタートフィールド384のためのワーク値にセットされ、かつ書込ポインタイールド392値は、インクリメントされる。
もし再組立バッファ記述子402のための空間が不十分ならば、そのとき、ATM・ASIC100は、セルを破壊し、かつオーバフロー破壊カウンタ(図9)をインクリメントする。セルがPHYインターフェース回路130から受信されるとき、ATM・ASIC100は、書込ポインタフィールド392プラス1のワーク値を、読み取りポインタフィールド388のワーク値と比較して、セルが再組立バッファ392に書き込まれているときオーバフローを避け、そして書込ポインタフィールド392のワーク値はインクリメントされる。非AAL5モード転送に対して、セルヘッダは、HECを除いて、再組立バッファ368のデータフィールド404の最初の4バイトに書き込まれる。
もしオーバフローが書き込み中に生じるならば、そのとき、セルの残りは破壊され、かつIdenフィールド406が書き込まれ、再組立バッファ記述子402におけるTフィールド416ビットがセットされ、そして、記述子フィールド384のワーク値が1だけインクリメントされる。もしインサービスフィールド380ビットのためのワーク値がセットされないならば、そのとき、ワードの残りに書き込むことなく、VCI記述子354インサービスフラグがセットされ、かつVCIがサービス書込アドレス444でサービスリスト400に書き込まれる。それから、ATM・ASIC100は、サービス書込アドレス444をインクリメントし、かつ「サービス」割り込みを発生させる。
もしオーバフローが生じなかったならば、そのときIdenフィールド406が書き込まれ、かつTフィールド416ビットが再組立バッファ記述子402においてゼロにセットされる。記述子スタートフィールド384のワーク値は、書込ポインタフィールド392のワーク値にセットされる。もしインサービスフィールド380のためのワーク値がセットされないならば、そのとき、ワードの残りに書き込むことなく、VCI記述子354インサービスフラグがセットされ、かつVCIは、サービス書込アドレスでサービスリスト440に書き込まれる。ATM・ASIC100は、それからサービス書込アドレス444をインクリメントし、かつ「サービス」割り込みを発生させる。
最後に、記述子フィールド値は、読み取りポインタフィールド388に書き込むことなく、VCI記述子354に書き戻される。再び、本発明の具体例においては、ホストが割り込みに反応するとき、それは更新されたデータポインタ及びフィールドにのみのアクセスを受信するので、上述のオペレーションのシーケンスは重要ではない。
ATM・ASIC100が、サービスリストに何かが移動したということを示す「サービス」割り込みを発生した後、この割り込みは、ホストに、サービスリストを空にさせ、必要なDMAリストを作成させ、そして、DMA受信待ち行列218上のDMA記述子356を待ち行列に入れる。次の説明は、このプロセスを述べている。
ホストは、ホストによって保持されているサービス読み取りアドレス442のポインタと、ATM・ASIC100によって保持されているサービス書込アドレス444を比較して、サービスリスト440が空でないということを確かめる。そのとき、ホストは、サービスリスト440におけるVCIエントリを読み取り、かつ各エントリに対してサービス読み取りアドレス442のVCI番号446を1だけインクリメントする。この動作において、ホストは、最初にサービスされている各VCIのためのVCI記述子354インサービスビットをクリアする。インサービスビットのクリアは、VCI記述子354の最初の32ビットの全体を再書込することによってなされる。もしホストが、現在再組立されているVCIのためのVCI記述子354内の最初のワードに書き込むならば、これは、インサービスビットがクリアされたと、再組立エンジン124にみなさせる。これは、ホストと再組立エンジン124の間の競争状態を避けるためである。ホストは、DMAのためにまだ予定されていなかった次の再組立バッファ記述子402を指す各アクティブVCIチャンネルのためのポインタを再組立待ち行列366内に保持する。このポインタは、ホストスタート記述子と呼ばれる。ホストはまた、これらのステップのために他の同様なスキームを使用することができる。
ホストは、再組立バッファ368をアドレスするために、サービスリスト440から読み取られたVCIのためのホストスタート記述子を使用する。それから、ホストは、再組立バッファ記述子402におけるフィールドを読み取って、再組立バッファ368におけるPDUのステータス及び長さを決定すべきである。それから、ホストは、現在バッファの直後に続く次の再組立バッファ記述子の初めにホストスタート記述子パラメータを進めるであろう。取得された情報に基づいて、かつホストメモリ内の予約メモリエリアの構造及びセグメント分割に基づいて、ホストは再組立バッファ368のためのDMAリストを構成する。DMAは、このPDUのための合計した再組立バッファ368を包含しなければならないということに注意すべきである。しかしながら、これは、全バッファが常にDMAされなければならないということを意味しない。もし適切ならば、”単なる冗談”DMAを使用することができる。
この再組立バッファ368のためのDMAリストは、DMA受信待ち行列450上に多数のDMA記述子356を待ち行列に入れることによって構成される。ホストは、DMAWr_rxによって指示されたアドレスにDMA記述子356を書き込み、かつDMAWr_rxをインクリメントする。しかしながら、これは、DMAWr_rxの値をDMARd_rx+1の値と比較して、それがオーバフローしないということを確かめた後、生じる。もしこの記述子によって識別された特別のブロックがDMAされないならば、ホストは、タイプフィールド460の値をJK(単なる冗談)に、それ故、プログラムカウントフィールド452をセットするであろう。VCI番号は、DMA記述子356のVCIフィールド454に書き込まれる。本発明具体例においてDMAWr_rxポインタを進める前に、ホストは、DMA記述子356を書き込むことが要求されるということに注意すべきである。これは、ATM・ASIC100がゴミデータのDMAを開始するのを防ぐ。また、DMAWr_rxポインタを待ち行列内の次のフリーロケーションに更新する前に、ホストは、全再組立368バッファのためのDMA記述子354をセットアップすることが推奨される。これは、送信DMAを実行することができる間に受信記述子を待つアイドル時間を避けるためである。
最後に、ホストは、記述子スタートフィールド384のためのVCI記述子354値と、ホストスタート記述子パラメータ値を比較する。もしそれらが等しくないならば、別の再組立バッファ368がDMAされる用意をし、かつホストはこの再組立バッファ368を同様にサービスしなければならない。
ATM・ASIC100は、DMARd_rx及びDMAWr_rxポインタを比較することによってDMA受信待ち行列450を連続的にモニターする。もし何かがDMA受信待ち行列450に入れられ、かつもしDMAコントローラ108が別のDMA転送にまだかかわっていないならば、そのとき、DMA記述子はDMA受信待ち行列450から読み取られる。
これが生じるとき、DMAコントローラ108は、実際のDMAオペレーションをするために、読み取ったDMA記述子356内の情報を使用する。ホストアドレスは、ホストメモリ内の目標アドレスを指すために使用され、そのときカウントフィールド452の値は、このデータブロックのために必要とされる転送の数であり、VCIフィールド454の値は、アダプタメモリを指すために使用される読み取りポインタフィールド388からVCI記述子を識別する。この値は、内部カウンタに書き込まれ、各転送のためにインクリメントされ、そして、各処理されたDMA記述子のためのVCI記述子354の読み取りポインタフィールド388に書き戻される。エンドフィールド456は、もし”真”値にセットされるならば、DMA転送が完了するとき、RX・DMA・COMPLETE割り込みを発生させる。タイプフィールド460は、転送のタイプを識別する。もしタイプフィールド460値がJKにセットされるならば、それは、VCI記述子354読み取りポインタフィールド388がカウントフィールド452における値によってロードされ、かつDMA転送が実際上実行されないということに注意すべきである。
ATM・ASIC100が各DMA記述子356の処理を完了するとき、それは、DMARd_rxポインタを処理されるべき次の記述子を指すためにインクリメントする。もしDMA転送中にエラーが生じるならば、そのとき、マスタコントロールレジスタにおけるDMA_ENABLEビットはクリアされて、全てのDMAオペレーションを不能にする。それから、ホストは、エラーに関係したDMA記述子354の内容を(例えば、タイプJKに)変化させ、かつマスタコントロールレジスタに書き込むことによりDMAを再びイネーブルにする。さらに、ホストは、DMA_ADDRレジスタにおける違反仮想アドレスを読み取ることができる(図11参照)。
ヘッダ内にセットされているPTI(2)ビットによって決定されるように、OAMセルが受信されるとき、ATM・ASIC100は、VCI記述子354PTIモードフィールド372を使用して、セルに何が起こるかを決定する。もしPTIモードフィールド372における値が「破壊」値であるならば、そのとき、セルは破壊され、かつVCI破壊統計カウンタはインクリメントされる。もし、このVCIのためのVCI記述子354モードフィールド370値がまた「破壊」にセットされるならば、そのとき、VCI記述子354ステートフィールド394値は、「破壊」にセットされる。これは、セルがこのVCIによって破壊されたということをホストに示す。この情報は、モードフィールド370値が「破壊」値に等しいときのみ利用可能であるということに注意すべきである。
もしVCI記述子354におけるPTIモードフィールド372値が「保存」値であるならば、そのときATM・ASIC100は、このセルを特定のOAM・VCIチャンネル3に自動的に再び向ける。ATM・ASIC100は、VCIチャンネル3のためのVCI記述子を読み取り、モードフィールド370、PTIモードフィールド372、及びステートフィールド394の値を無視し、そして非AAL5再組立を実行する。VCIチャンネル3と関連した再組立待ち行列368におけるオーバフローの場合に、異なる破壊セルのためにセルヘッダを記憶するための空間はないということに注意すべきである。これは、ホストがどのVCIからOAMセルが破壊されたかを知らないということを意味している。
OAMセルのためにVCIチャンネル3を使うとき、このチャンネルは通常のAAL5転送モードトラフィックのために使用することはできない。しかしながら、それは、(F4OAMのような)非AAL5トラフィックのために使用することができる。モードフィールド370の値は、本発明具体例においてセットすることができる。
ホストは、VCIテーブル352への完全な書込アクセスを有している。しかしながら、ATM・ASIC100は、セルを処理しかつ同様なオペレーションを実行するときホストとパラレルにVCIテーブル352に書込をすることができるので、ホストは、ロケーションフィールド374、サイズフィールド376、及びモードフィールド370のようなフィールドにおける値を変更する前に、或いは例えば、記述子スタートフィールド384、読み取りポインタフィールド388、書込ポインタフィールド392、ステートフィールド、及びセルカウントフィールドをクリアするとき、ATM・ASIC100がこのVCIを処理しないということを確実にすることが要求される。ホストは、モードフィールド370の値を「破壊」に変更することによりこれを確実にし、かつATM・ASIC100がセルを処理するにかかる時間(一般的にこれは略2.7μsである)少なくとも待つ。
本発明具体例において、ホストは、いかなる時にもPTIモードフィールド372の値を変更することができる。ホストがインサービスフィールド380ビットをクリアするとき、これは、他のフィールドのどれも変更することなくワード全体を再書込することによってなされる。ホストは、モードフィールド370の値を「破壊」から何か他のものに変更する前に、記述子スタートフィールド384、読み取りポインタフィールド388、書込ポインタフィールドの値をゼロに、そしてState_to_Idleを初期化すべきである。これは、最初の再組立が正しく受信されるということを確実にする。さもなければ、再組立プロセスは、例えば、ロケーションフィールド374及びサイズフィールド376によって規定されるバッファ空間の外側のような、予期されないアドレス上でスタートするかもしれない。
もし53バイトの長さでないセルのような、不完全なセルが、PHYインターフェース回路130から受信されるならば、再組立エンジン124は、抜けたバイトを総合し、或いは余分なバイトを取り去る。このイベントは、物理層チップにおいてたぶん既にカウントされたので、ATM・ASIC100内のいかなる統計カウンタにおいてもカウントされないであろう。例えば、この現象の理由は多分、セル同期化が物理層チップ内で一時的に失われたということであった。このイベントは効果的に、エラーを高位層(例えば、AAL5トラフィックのためのCRCエラー)で生じさせる。
再組立エンジン124が、ホストメモリに現在DMAされている同じVCIからセルを再組立するときに特定のケースが生じるということに注意すべきである。この場合、再組立エンジン124は、書込ポインタフィールド392内の値と比較するためDMAコントローラ108においてインクリメントされる読み取りポインタフィールド388の値を使用する。このスキームは、潜在的にメモリ空間を節約することができる。
別の具体例
本発明の範囲内で、ワークステーション又はデスクトップ環境でATM能力を提供するための非同期転送モード(ATM)アダプタに、当業者には容易に明らかになる多数の変更或いは変化がある。このような変更は、コスト及び性能、サイズ束縛、材質の利用可能性、独断的な設計決定などの多数の理由のために本発明具体例においては使用されないかもしれない。多数のこれらの変更については、上述した。このように、本発明は、このような明白な変更、及び好適設計からの逸脱をもカバーすることを意味している特許請求の範囲によってのみ制限されることを意図している。
Claims (42)
- ローカルATMネットワークにインターフェースするためのアダプタを備え、該アダプタはホストデバイスデータバスと前記ローカルATMネットワーク物理層との間にインターフェースするためのATM集積回路を備え、該ATM集積回路は、
バスインターフェース回路と、DMA制御回路と、スレーブアクセス制御回路とから成り、前記バスインターフェース回路は前記ホストデバイスデータバスをインターフェースし、前記DMA制御回路は前記ATM集積回路と関連しているRAMインターフェース/アービタ回路との間のメモリアクセスオペレーションを制御し、前記スレーブアクセス制御回路が割り込み回路と統計回路の動作を制御するホストインターフェース回路と、
前記ローカルATMネットワーク上で転送しようとする前記データの前処理のためにATMセル内に前記ホストデバイスデータバスからデータをセグメント分割するために、前記RAMインターフェース/アービタ回路に関連したセグメンテーションエンジンと、
前記ローカルATMネットワークからのATMセルを前記ホストデバイスデータバスに転送するのに適するデータに再組立するために、前記RAMインターフェース/アービタ回路に関連した再組立エンジンと、
前記DMA制御回路にインターフェースするための前記RMAインターフェース/アービタ回路、前記スレーブアクセスコントロール回路、前記セグメンテーションエンジン、及び前記ATM集積回路と関連したメモリ回路を持つ前記再組立エンジンと、
前記ATM集積回路を前記ローカルATMネットワークと物理的にインターフェースするために第1のインターフェース上の前記セグメンテーションエンジン及び再組立エンジンと、第2のインターフェース上のローカルATMネットワークとに関連した物理インターフェース回路と、から成り、
ローカルATMネットワークにデスクトップユーザー局を適合させるためのATMアダプタにおいて、
前記ホストインターフェース回路と、前記物理インターフェース回路と、前記セグメンテーションエンジンと、前記再組立エンジンと、前記RAMインターフェースアービタ回路とを集積回路として形成したATMアダプタ。 - 前記メモリアクセス制御回路、前記スレーブアクセスコントロール回路、前記セグメンテーションエンジン、及び前記再組立エンジンの間からの前記メモリへのアクセスを仲裁するためのメモリアービタ回路をさらに備える請求項1に記載のATMアダプタ。
- 前記集積回路がプロトコルデータユニットとしてATMセルを送信する請求項1に記載のATMアダプタ。
- 前記アダプタが、AAL5及び非AAL5転送モードをサポートする請求項1に記載のATMアダプタ。
- 前記セグメンテーションエンジンが意味のない情報の転送を避けるため予め定義された記述子を使用する請求項1に記載のATMアダプタ。
- 共通パート収束サブレイヤーにAAL5適合プロトコルをサポートするための回路をさらに備える請求項1に記載の非同期転送モードアダプタ。
- さらに、前記セグメンテーションエンジンにAAL5適合プロトコルを備える請求項1に記載のATMアダプタ。
- さらに、前記再組立エンジンにAAL5適合プロトコルを備える請求項1に記載のATMアダプタ。
- 前記物理インターフェース回路が、ユートピアインターフェースにインターフェースするための回路からなる請求項1に記載のATMアダプタ。
- さらに、前記ローカルエリアネットワークとオペレーション及びメインテナンスセルを通信するための回路を備える請求項1に記載のATMアダプタ。
- さらに、前記セグメンテーションエンジン内にトラフィックフローを決定するための前記セグメンテーションエンジン内のピークセル速度回路を備える請求項1に記載のATMアダプタ。
- 前記セグメンテーションエンジンが、前記ローカルエリアネットワーク上の転送のために8チャンネルのデータを同時にセグメント分割する請求項1に記載のATMアダプタ。
- 前記再組立エンジンが、前記集積回路内の1024のセルを再組立するための回路からなる請求項1に記載のATMアダプタ。
- 前記再組立エンジンが、仮想チャンネル識別子空間の10ビットを提供する請求項1に記載のATMアダプタ。
- ATM集積回路を持つデスクトップアプリケーションのためのATMアダプタにおいて、
前記ATM集積回路は、
ホストデバイスをインターフェースするためのホストインターフェース回路であって、前記ホストインターフェース回路と、ホストデバイスデータバスとの間でホストデバイスデータを通信するために、前記ホストインターフェース回路を前記ホストデバイスデータバスにインターフェースするためのホストデバイスバスインターフェース回路と、前記ホストデバイスデータに関連したDMA動作を制御するように、前記バスインターフェース回路に関連したDMA制御回路と、ホストデバイスバス割込み及び統計に関係する前記ホストインターフェース回路のオペレーションを制御するために、前記バスインターフェース回路に関連したスレーブアクセス制御回路とから成るホストインターフェース回路と、
ATMフォーマット化データをローカルATMネットワークと通信するために、ATM物理層と関連した物理インターフェース回路と、
ATMフォーマット化データを前記物理インターフェース回路に転送するために、前記物理インターフェース回路に関連したセグメンテーションエンジンであって、前記ホストデバイスデータを受信してこのホストデバイスデータをセグメント分割して出て行くATMフォーマット化データを形成するように関連したセグメンテーションエンジンと、
前記ローカルATMネットワークから入来するATMフォーマット化データを受信して、これからホストデバイスデータを生成して前記ホストインターフェース回路に転送するために、前記物理インターフェース回路に関連した再組立エンジンと、
RAMと通信するためにRAMバスに関連したRAMインターフェース/アービタ回路であって、前記DMA制御回路、前記スレーブアクセス制御回路、前記セグメンテーションエンジン及び前記再組立エンジンと通信される信号の前記RAMへのアクセスをインターフェースし、アービトレートするために、前記DMA制御回路、前記スレーブアクセス制御回路、前記セグメンテーションエンジン及び前記再組立エンジンに関連したRAMインターフェース/アービタ回路と、
から成り、
さらに前記ホストインターフェース回路、前記物理インターフェース回路、前記セグメンテーションエンジン、前記再組立エンジン、及び前記RAMインターフェース/アービタ回路とを、
集積回路として形成したATMアダプタ。 - 前記セグメンテーションエンジンが、AAL5トラフィックをセグメント分割し、さらに、前記物理インターフェース回路が前記AAL5トラフィックを前記ローカルATMネットワークと通信させる請求項15に記載のATMアダプタ。
- 前記セグメンテーションエンジンが、AAL5トラフィック以外のトラフィックをセグメント分割し、さらに前記物理インターフェース回路が、AAL5トラフィック以外のトラフィックを、前記ローカルATMネットワークに転送する請求項15に記載のATMアダプタ。
- 前記セグメンテーションが、さらにセグメンテーションバッファを備え、このセグメンテーションバッファがさらにATMフォーマット化データにセグメント分割しようとするデータを受信するために、セグメンテーションバッファ記述子部分及びデータ部分を含む請求項15に記載のATMアダプタ。
- 前記セグメンテーションエンジンが、さらにプリスケールパラメータ及び速度分解パラメータに応答して、トラフィック決定を実行する請求項15に記載のATMアダプタ。
- 前記再組立エンジンが、さらに前記ATMフォーマット化データに完了した再組立オペレーションを記述するサービスリストを更新する請求項15に記載のATMアダプタ。
- 前記セグメンテーションエンジンは、さらに以下のステップ
すなわち前記DMA制御回路のためのプロトコルデータユニットをエンキュー(enqueueing)するステップと、
エンキューしたプロトコルデータに応答して待ち行列を読み取るステップと、
前記プロトコルデータユニットをセグメント分割するステップと、
前記セグメント分割したプロトコルデータユニットに応答して前記ホストインターフェース回路にデータを供給するステップと、
を実行するためのサーキッティングを備えた請求項15に記載のATMアダプタ。 - 前記再組立エンジンは、さらに以下のステップ
すなわち前記ホストインターフェース回路からホストデバイスデータを受信するステップと、
前記ホストデバイスデータに応答してDMA受信待ち行列をエンキューするステップと、
前記DMA制御回路に関連したメモリマップからDMA受信待ち行列を読み取るステップと、
前記物理インターフェース回路を経てオペレーションアンドメインテナンスセルを受信するステップと、
前記ホストインターフェースからの変化信号に応答するステップと、
前記ホストインターフェースから不完全セルを受信するステップと、
を実行するための回路を備えた請求項15に記載のATMアダプタ。 - 前記ローカルATMネットワークに関連したオペレーション及びメインテナンスセルをサポートするための回路を備えた請求項15に記載のATMアダプタ。
- 前記RAMインターフェース/アービタ回路からの少なくとも8個のセグメンテーションチャネルのオペレーションと、前記ATMフォーマット化データ上の再組立オペレーションとを同時に許容するための回路を備えた請求項15に記載のATMアダプタ。
- 仮想チャネル識別子情報及び仮想パス識別子情報を処理するための回路をさらに備えた請求項15に記載のATMアダプタ。
- ピークセル速度トラフィックを決定するための回路をさらに備えた請求項15に記載のATMアダプタ。
- 前記ローカルATMネットワーク上に通信しようとする前記ATMフォーマット化データに関連してATMセルヘッダフィールドを挿入するための回路をさらに備えた請求項15に記載のATMアダプタ。
- 前記再組立エンジンに関連した再組立バッファスペースを割り当てるための回路をさらに備え、前記ホストインターフェース回路が、さらに前記ローカルATMネットワークからの情報の受信を前記ホストデバイスデータバスに通信するための回路をさらに備えた請求項15に記載のATMアダプタ。
- 前記ATM集積回路の状態を報告し、前記ATM集積回路のオペレーションに関連したエラーを報告するための回路をさらに備えた請求項15に記載のATMアダプタ。
- 前記物理インターフェース回路をUTOPIAインターフェースに関連させるためのインターフェース回路をさらに備えた請求項15に記載のATMアダプタ。
- 前記物理インターフェース回路が、さらに非パイプライン読み取りUTOPIAモードでオペレートするための回路をさらに備えた請求項15に記載のATMアダプタ。
- 前記物理インターフェース回路が、さらに、非同期インターフェースモードでオペレートするための回路を備えた請求項15に記載のATMアダプタ。
- 前記物理インターフェースの回路が、さらに前記物理インターフェース回路のオペレーショナルモードを制御するためのモード制御レジスタを備えた請求項15に記載のATMアダプタ。
- 前記スレーブアクセス制御回路が、さらに、前記メモリ回路に関連したアダプタメモリと、前記ホストインターフェース回路により定められるアドレスに応答して前記ATM集積回路内の内部レジスタに関連したメモリとアクセスするための回路を備えた請求項15に記載のATMアダプタ。
- 前記集積回路が、バイトバースト、ハーフワードバースト、ワードバースト、2ワードバースト、4ワードバースト、8ワードバースト及び16ワードバーストのタイプを持つローカルATMネットワークに応答するための回路を持つ請求項15に記載のATMアダプタ。
- 前記ホストインターフェースが、完全バースト、前記ホストデバイスによりイグノアされるデータを持つ前記完全バーストの一部分を含む「ワイドメイビー」サイクルを生成するように関連する請求項15に記載のATMアダプタ。
- 前記ホストインターフェース回路が、さらに破壊されたセルの複数の統計カウンタを維持するための統計回路を備えた請求項15に記載のATMアダプタ。
- 前記ホストインターフェース回路がさらに、統計回路を備え、この統計回路が、オーバーフロー破壊カウンタから成る仮想チャネル識別子破壊カウンタを備えた請求項15に記載のATMアダプタ。
- 前記ホストインターフェースが、さらに、割込み発生を処理するための割込み回路を備えた請求項15に記載のATMアダプタ。
- 前記ホストインターフェース回路がさらに割込み回路を備え、この割込み回路が、さらに前記ATM集積回路内のイベントから発生する割込みに応答するための回路と、前記物理インターフェース回路に関連した外部ソースから発生する割込みに応答するための回路とを備えた請求項15に記載のATMアダプタ。
- 前記DMA制御回路が、さらに前記セグメンテーションエンジンに関連した単一のセグメンテーションチャネル上のトラフィックのためのピークセル速度カウンタ回路に応答してトラフィックを決定するための回路を備えた請求項15に記載のATMアダプタ。
- 前記DMA制御回路がさらに、前記セグメンテーションエンジンに関連した複数のセグメンテーションチャネルを横断してトラフィックを決定するために、前記DMA制御回路に関連したアービタ/マルチプレクサーを備えた請求項15に記載のATMアダプタ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/304,349 US5548587A (en) | 1994-09-12 | 1994-09-12 | Asynchronous transfer mode adapter for desktop applications |
US08/304,349 | 1994-09-12 | ||
PCT/US1995/011560 WO1996008896A1 (en) | 1994-09-12 | 1995-09-12 | Asynchronous transfer mode adapter for desktop applications |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10505977A JPH10505977A (ja) | 1998-06-09 |
JP3673951B2 true JP3673951B2 (ja) | 2005-07-20 |
Family
ID=23176150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51029196A Expired - Fee Related JP3673951B2 (ja) | 1994-09-12 | 1995-09-12 | デスクトップ用非同期転送モードアダプター |
Country Status (6)
Country | Link |
---|---|
US (2) | US5548587A (ja) |
EP (1) | EP0781478B1 (ja) |
JP (1) | JP3673951B2 (ja) |
AU (1) | AU3551895A (ja) |
DE (1) | DE69533425T2 (ja) |
WO (1) | WO1996008896A1 (ja) |
Families Citing this family (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5914955A (en) * | 1993-10-20 | 1999-06-22 | Lsi Logic Corporation | Switched network hub on a chip |
US5802287A (en) * | 1993-10-20 | 1998-09-01 | Lsi Logic Corporation | Single chip universal protocol multi-function ATM network interface |
GB9401092D0 (en) * | 1994-01-21 | 1994-03-16 | Newbridge Networks Corp | A network management system |
US7327688B2 (en) * | 1994-01-21 | 2008-02-05 | Alcatel Canada Inc. | Digital communications system |
DE4408975C1 (de) * | 1994-03-16 | 1995-08-24 | Siemens Ag | Modular strukturiertes ATM-Kommunikationssystem |
US5548587A (en) * | 1994-09-12 | 1996-08-20 | Efficient Networks, Inc. | Asynchronous transfer mode adapter for desktop applications |
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 |
US5625625A (en) * | 1995-07-07 | 1997-04-29 | Sun Microsystems, Inc. | Method and apparatus for partitioning data load and unload functions within an interface system for use with an asynchronous transfer mode system |
US5675829A (en) * | 1995-07-07 | 1997-10-07 | Sun Microsystems, Inc. | 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 |
US5664116A (en) * | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Buffering of data for transmission in a computer communication system interface |
US5734652A (en) * | 1995-09-27 | 1998-03-31 | Microsoft Corporation | ATM extended autoregistration and VPI/VCI assignment in a hybrid fiber-coax cable network |
JP3732874B2 (ja) * | 1995-09-25 | 2006-01-11 | 富士通株式会社 | Atm交換機 |
US6085223A (en) * | 1995-10-20 | 2000-07-04 | Ncr Corporation | Method and apparatus for providing database information to non-requesting clients |
US5864843A (en) * | 1995-10-20 | 1999-01-26 | Ncr Corporation | Method and apparatus for extending a database management system to operate with diverse object servers |
US5689698A (en) * | 1995-10-20 | 1997-11-18 | Ncr Corporation | Method and apparatus for managing shared data using a data surrogate and obtaining cost parameters from a data dictionary by evaluating a parse tree object |
US5794250A (en) * | 1995-10-20 | 1998-08-11 | Ncr Corporation | Method and apparatus for extending existing database management system for new data types |
US5754841A (en) * | 1995-10-20 | 1998-05-19 | Ncr Corporation | Method and apparatus for parallel execution of user-defined functions in an object-relational database management system |
US5930786A (en) | 1995-10-20 | 1999-07-27 | Ncr Corporation | Method and apparatus for providing shared data to a requesting client |
US5717691A (en) * | 1995-10-30 | 1998-02-10 | Nec Usa, Inc. | Multimedia network interface for asynchronous transfer mode communication system |
US6175570B1 (en) * | 1995-12-20 | 2001-01-16 | Cisco Technology, Inc. | Method and an apparatus for shaping the output traffic in a fixed length cell switching network node |
US7336649B1 (en) * | 1995-12-20 | 2008-02-26 | Verizon Business Global Llc | Hybrid packet-switched and circuit-switched telephony system |
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 |
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 |
JP3329390B2 (ja) * | 1996-03-07 | 2002-09-30 | 日本電信電話株式会社 | 高速一括ファイル転送方法及び装置 |
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 |
US6373846B1 (en) * | 1996-03-07 | 2002-04-16 | Lsi Logic Corporation | Single chip networking device with enhanced memory access co-processor |
US5793946A (en) * | 1996-03-12 | 1998-08-11 | Varis Corporation | Run-time diagnostic system |
US5878045A (en) * | 1996-04-26 | 1999-03-02 | Motorola, Inc. | Method and apparatus for converting data streams in a cell based communications system |
US6034945A (en) | 1996-05-15 | 2000-03-07 | Cisco Technology, Inc. | Method and apparatus for per traffic flow buffer management |
US5884064A (en) * | 1996-09-04 | 1999-03-16 | Lucent Technologies Inc. | System for emulating a virtual path in an ATM network |
US5991867A (en) * | 1996-09-12 | 1999-11-23 | Efficient Networks, Inc. | Transmit scheduler for an asynchronous transfer mode network and method of operation |
US5822612A (en) * | 1996-09-12 | 1998-10-13 | Thomas; Robert E. | Apparatus and method for managing schedule table pointers |
US5831980A (en) * | 1996-09-13 | 1998-11-03 | Lsi Logic Corporation | Shared memory fabric architecture for very high speed ATM switches |
US5959993A (en) * | 1996-09-13 | 1999-09-28 | Lsi Logic Corporation | Scheduler design for ATM switches, and its implementation in a distributed shared memory architecture |
EP0847215A1 (en) | 1996-11-27 | 1998-06-10 | Sony Europa B.V. | Method and device for delivering data and loading of a command |
US6208655B1 (en) | 1996-11-27 | 2001-03-27 | Sony Europa, B.V., | Method and apparatus for serving data |
EP0847217A1 (en) | 1996-11-27 | 1998-06-10 | Sony Europa B.V. | Method and apparatus for translating VPI/VCI of an ATM cell into an internal ID |
EP0845905B1 (en) | 1996-11-27 | 2010-11-24 | Sony Europe (Belgium) NV | Apparatus for delivering data, including pattern detection |
EP0847166B1 (en) | 1996-11-27 | 2006-08-16 | Sony Service Centre (Europe) N.V. | Method for traffic shaping and traffic shaper |
EP0847216A1 (en) | 1996-11-27 | 1998-06-10 | Sony Europa B.V. | Apparatus, system and method for sending/receiving data to/from an ATM-network |
EP0847171A1 (en) | 1996-11-27 | 1998-06-10 | Sony Europa B.V. | Method and device for streaming data, including provision of write addresses |
US6075790A (en) | 1996-12-11 | 2000-06-13 | Brooktree Corporation | Asynchronous transfer mode system for, and method of, writing a cell payload between a control queue on one side of a system bus and a status queue on the other side of the system bus |
KR100433295B1 (ko) * | 1997-01-31 | 2005-05-24 | 삼성전자주식회사 | Pal로 구현 가능한 utopia 레벨 1,2장치간의 인터페이스 회로 |
US6085250A (en) * | 1997-03-20 | 2000-07-04 | Efficient Networks, Inc. | Method and system for using layered networking application program interfaces (APIs) using a native asynchronous transfer mode (ATM) API |
US5953511A (en) * | 1997-04-08 | 1999-09-14 | National Instruments Corporation | PCI bus to IEEE 1394 bus translator |
US5937175A (en) * | 1997-04-08 | 1999-08-10 | National Instruments Corporation | PCI bus to IEEE 1394 bus translator employing pipe-lined read prefetching |
US6020900A (en) * | 1997-04-14 | 2000-02-01 | International Business Machines Corporation | Video capture method |
US6041060A (en) * | 1997-04-30 | 2000-03-21 | International Business Machines Corporation | Communications cell scheduler and scheduling method for providing periodic activities |
US5996013A (en) * | 1997-04-30 | 1999-11-30 | International Business Machines Corporation | Method and apparatus for resource allocation with guarantees |
US5920564A (en) * | 1997-04-30 | 1999-07-06 | International Business Machines Corporation | Method and apparatus for direct memory access on transmit complete |
US5940404A (en) * | 1997-04-30 | 1999-08-17 | International Business Machines Corporation | Method and apparatus for enhanced scatter mode allowing user data to be page aligned |
US6084881A (en) * | 1997-05-22 | 2000-07-04 | Efficient Networks, Inc. | Multiple mode xDSL interface |
KR100216870B1 (ko) | 1997-05-28 | 1999-09-01 | 윤종용 | 컴퓨터의 바이오스 공용 장치 및 공용 방법 |
JP3610193B2 (ja) * | 1997-06-26 | 2005-01-12 | 株式会社日立製作所 | Atmコントローラおよびそれを用いたatm通信制御装置 |
US5966534A (en) | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US6201813B1 (en) * | 1997-06-30 | 2001-03-13 | Cisco Technology, Inc. | Method and apparatus for using ATM queues for segmentation and reassembly of data frames |
US6430191B1 (en) | 1997-06-30 | 2002-08-06 | Cisco Technology, Inc. | Multi-stage queuing discipline |
US6487202B1 (en) | 1997-06-30 | 2002-11-26 | Cisco Technology, Inc. | Method and apparatus for maximizing memory throughput |
US6266343B1 (en) * | 1997-07-22 | 2001-07-24 | Nortel Networks Limited | Telecommunications system |
US6035360A (en) * | 1997-10-29 | 2000-03-07 | International Business Machines Corporation | Multi-port SRAM access control using time division multiplexed arbitration |
US6167032A (en) * | 1997-11-07 | 2000-12-26 | International Business Machines Corporation | System and method for avoiding host transmit underruns in a communication network |
KR100236941B1 (ko) | 1997-11-28 | 2000-01-15 | 이계철 | 비동기 전달 모드 셀 세그멘테이션 시스템의 직접 메모리 읽기및 셀 송출 장치 |
US6137804A (en) * | 1997-12-02 | 2000-10-24 | International Business Machines Corporation | System and method for automatic retry of transmit, independent of a host processor, after an underrun occurs in a LAN |
US6526060B1 (en) | 1997-12-05 | 2003-02-25 | Cisco Technology, Inc. | Dynamic rate-based, weighted fair scheduler with explicit rate feedback option |
DE19755374C1 (de) | 1997-12-12 | 1999-04-15 | Siemens Ag | Anordnung und Verfahren zur Steuerung einer Datenübertragung zwischen einer ersten und einer zweiten ATM-Einrichtung |
DE19755373C1 (de) | 1997-12-12 | 1999-01-14 | Siemens Ag | Anordnung und Verfahren zur Steuerung einer Datenübertragung zwischen einer ersten und einer zweiten ATM-Einrichtung |
JP3152293B2 (ja) * | 1997-12-17 | 2001-04-03 | 日本電気株式会社 | Ipレイヤ処理装置 |
US7872969B2 (en) * | 1997-12-23 | 2011-01-18 | Ciena Corporation | Method and apparatus for auto detection of AAL5 type frames for VCC and VPC switches |
US6345037B2 (en) * | 1997-12-23 | 2002-02-05 | Nortel Networks Limited | Method and apparatus for auto detection of AAL5 type frames |
US6625120B1 (en) | 1997-12-23 | 2003-09-23 | Nortel Networks Limited | Method and apparatus for auto detection of AAL5 type frames for VCC and VPC switches |
KR100252119B1 (ko) | 1997-12-29 | 2000-04-15 | 윤종용 | Atm 단말 기능 및 atm 기반 adsl 단말 기능을 공통으로 갖는 단말 시스템 |
KR100267532B1 (ko) | 1997-12-30 | 2000-10-16 | 서평원 | 에이티엠 통신단말에서의 에이티엠 인터페이스 모듈 |
US6167062A (en) * | 1998-02-02 | 2000-12-26 | Tellabs Operations, Inc. | System and associated method for the synchronization and control of multiplexed payloads over a telecommunications network |
JP3206537B2 (ja) * | 1998-02-09 | 2001-09-10 | 日本電気株式会社 | Atm通信装置の制御方法、atm通信装置及びその記録媒体 |
US6292844B1 (en) | 1998-02-12 | 2001-09-18 | Sony Corporation | Media storage device with embedded data filter for dynamically processing data during read and write operations |
US6298043B1 (en) * | 1998-03-28 | 2001-10-02 | Nortel Networks Limited | Communication system architecture and a connection verification mechanism therefor |
JPH11331207A (ja) * | 1998-05-15 | 1999-11-30 | Nec Corp | Atmセル組立分解装置 |
US6724767B1 (en) * | 1998-06-27 | 2004-04-20 | Intel Corporation | Two-dimensional queuing/de-queuing methods and systems for implementing the same |
US6434156B1 (en) * | 1998-07-24 | 2002-08-13 | Nortel Networks Limited | Virtual switching for interconnected networks |
US6657961B1 (en) | 1998-08-18 | 2003-12-02 | Efficient Networks, Inc. | System and method for enhanced end station to end station data flow control |
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 |
US6795438B1 (en) * | 1998-10-28 | 2004-09-21 | Intel Corporation | Method and apparatus for extending point-to-point/asynchronous transfer mode services to client computer systems |
US6233250B1 (en) | 1998-11-13 | 2001-05-15 | Integrated Telecom Express, Inc. | System and method for reducing latency in software modem for high-speed synchronous transmission |
KR100304931B1 (ko) * | 1998-11-28 | 2001-10-20 | 서평원 | 에이티엠 셀의 인터리빙 방법 |
JP3567092B2 (ja) * | 1998-12-25 | 2004-09-15 | シャープ株式会社 | パケットデータ通信装置 |
US6477168B1 (en) * | 1999-02-03 | 2002-11-05 | International Business Machines Corporation | Cell/frame scheduling method and communications cell/frame scheduler |
US6765911B1 (en) | 1999-02-03 | 2004-07-20 | International Business Machines Corporation | Communications adapter for implementing communications in a network and providing multiple modes of communications |
US6498782B1 (en) | 1999-02-03 | 2002-12-24 | International Business Machines Corporation | Communications methods and gigabit ethernet communications adapter providing quality of service and receiver connection speed differentiation |
US6661774B1 (en) | 1999-02-16 | 2003-12-09 | Efficient Networks, Inc. | System and method for traffic shaping packet-based signals |
US6021129A (en) * | 1999-03-08 | 2000-02-01 | Efficient Networks, Inc. | System and method for communicating information from a communications link to a host using a universal serial bus |
US6590897B1 (en) * | 1999-03-08 | 2003-07-08 | Efficient Networks, Inc. | System and method for bridging universal serial bus and asynchronous transfer mode communication links |
US6826187B1 (en) * | 1999-05-07 | 2004-11-30 | Cisco Technology, Inc. | Interfacing between a physical layer and a bus |
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 |
US6842457B1 (en) * | 1999-05-21 | 2005-01-11 | Broadcom Corporation | Flexible DMA descriptor support |
US6721323B1 (en) | 1999-06-14 | 2004-04-13 | Tellab Operations, Inc. | Distributed virtual path |
US6519261B1 (en) * | 1999-07-02 | 2003-02-11 | Nortel Networks Limited | Asynchronous transfer mode adaptation arrangements |
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 |
US6822960B1 (en) | 1999-12-01 | 2004-11-23 | Cisco Technology, Inc. | Asynchronous transfer mode (ATM) switch and method |
US6775292B1 (en) | 2000-01-24 | 2004-08-10 | Cisco Technology, Inc. | Method for servicing of multiple queues carrying voice over virtual circuits based on history |
US7895342B2 (en) * | 2000-03-02 | 2011-02-22 | Dearborn Group, Inc. | Multi-protocol adapter for in-vehicle and industrial communications networks |
US8554896B2 (en) * | 2000-03-02 | 2013-10-08 | Dearborn Group, Inc. | Protocol adapter for transferring diagnostic signals between in-vehicle networks and a computer |
US7142558B1 (en) | 2000-04-17 | 2006-11-28 | Cisco Technology, Inc. | Dynamic queuing control for variable throughput communication channels |
US7239640B1 (en) * | 2000-06-05 | 2007-07-03 | Legerity, Inc. | Method and apparatus for controlling ATM streams |
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 |
US7111163B1 (en) | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
FR2816159B1 (fr) * | 2000-10-30 | 2002-12-06 | Mitsubishi Electric Inf Tech | Methode d'etablissement de lien radio entre un controleur d'acces et une station de base |
US6904475B1 (en) | 2000-11-06 | 2005-06-07 | Sony Corporation | Programmable first-in first-out (FIFO) memory buffer for concurrent data stream handling |
GB0030929D0 (en) * | 2000-12-19 | 2001-01-31 | Inverness Medical Ltd | Analyte measurement |
US7007156B2 (en) * | 2000-12-28 | 2006-02-28 | Intel Corporation | Multiple coprocessor architecture to process a plurality of subtasks in parallel |
US6973072B1 (en) * | 2001-02-22 | 2005-12-06 | Cisco Technology, Inc. | High performance protocol for an interconnect system of an intermediate network node |
US7342927B1 (en) * | 2001-03-09 | 2008-03-11 | Brooktree Broadband Holding, Inc. | Systems and methods for transferring various data types across an ATM network |
US6618376B2 (en) * | 2001-03-14 | 2003-09-09 | Occam Networks | ATM utopia bus snooper switch |
US20020150047A1 (en) * | 2001-04-17 | 2002-10-17 | Globespanvirata Incorporated | System and method for scheduling transmission of asynchronous transfer mode cells |
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 |
US6985986B2 (en) * | 2001-06-01 | 2006-01-10 | Microchip Technology Incorporated | Variable cycle interrupt disabling |
US20020184566A1 (en) | 2001-06-01 | 2002-12-05 | Michael Catherwood | Register pointer trap |
TW548915B (en) * | 2001-09-11 | 2003-08-21 | Macronix Int Co Ltd | Transmission convergence layer circuit of receiver for asynchronous transmission and its operation method |
US6920584B2 (en) * | 2001-11-02 | 2005-07-19 | Sun Microsystems, Inc. | System design verification using selected states of a processor-based system to reveal deficiencies |
US7301906B2 (en) | 2001-12-17 | 2007-11-27 | Lsi Corporation | Methods and structures for improved buffer management and dynamic adaption of flow control status in high-speed communication networks |
US7324501B1 (en) | 2001-12-28 | 2008-01-29 | Cisco Technology, Inc. | Method and system for multicasting over a UTOPIA bus |
KR100810372B1 (ko) * | 2002-02-22 | 2008-03-07 | 삼성전자주식회사 | 통신 시스템의 디지털신호처리부에서 셀 처리 장치 |
US7065191B2 (en) * | 2002-04-04 | 2006-06-20 | General Instrument Corporation | Method and system for budgeting resources dedicated to processing non-voice data traffic |
US7543087B2 (en) | 2002-04-22 | 2009-06-02 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device |
US7337241B2 (en) * | 2002-09-27 | 2008-02-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US7334059B2 (en) * | 2004-03-03 | 2008-02-19 | Freescale Semiconductor, Inc. | Multiple burst protocol device controller |
CN100352217C (zh) * | 2004-03-08 | 2007-11-28 | 华为技术有限公司 | 异步传输模式通信网络及其组网控制器 |
US20080196087A1 (en) * | 2004-04-12 | 2008-08-14 | Shirish Ranjit | Peer-to-Peer Distributed Computational System and Method |
US7290069B2 (en) * | 2004-04-16 | 2007-10-30 | National Instruments Corporation | Data acquisition system which monitors progress of data storage |
US8125925B2 (en) * | 2005-04-29 | 2012-02-28 | Ciena Corporation | Method and apparatus for non-disruptive call modification |
US7936680B2 (en) | 2005-12-08 | 2011-05-03 | Nortel Networks Limited | Method and apparatus for increasing the scalability of Ethernet OAM |
JP4908017B2 (ja) * | 2006-02-28 | 2012-04-04 | 富士通株式会社 | Dmaデータ転送装置及びdmaデータ転送方法 |
US7610532B2 (en) * | 2006-11-01 | 2009-10-27 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Serializer/de-serializer bus controller interface |
US8136158B1 (en) | 2008-07-21 | 2012-03-13 | Google Inc. | User-level segmentation mechanism that facilitates safely executing untrusted native code |
US8537859B2 (en) * | 2010-02-26 | 2013-09-17 | Hewlett-Packard Development Company, L.P. | Reassembly of mini-packets in a buffer |
US8607105B1 (en) * | 2010-04-19 | 2013-12-10 | Altera Corporation | Memory test circuit and memory test techniques |
TWI459763B (zh) * | 2011-03-23 | 2014-11-01 | Mediatek Inc | 切割網路封包之卸載方法及其裝置 |
US9727501B2 (en) * | 2011-10-31 | 2017-08-08 | Brocade Communications Systems, Inc. | SAN fabric online path diagnostics |
CN112311696B (zh) * | 2019-07-26 | 2022-06-10 | 瑞昱半导体股份有限公司 | 网络封包接收装置及方法 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0130260B1 (fr) * | 1983-06-30 | 1987-04-15 | International Business Machines Corporation | Module d'interface pour lignes téléphoniques |
EP0325794B1 (en) * | 1987-12-28 | 1995-03-22 | Nec Corporation | ISDN system with a subscriber line multiplexer for establishing different D-channel links |
US5234631A (en) * | 1988-06-10 | 1993-08-10 | Kohmix Co., Ltd. | Fireproof or refractory materials containing fire-resistant, water soluble, film-forming inorganic compounds |
US5231631A (en) * | 1989-08-15 | 1993-07-27 | At&T Bell Laboratories | Arrangement for regulating traffic in a high speed data network |
JPH04138739A (ja) * | 1990-09-28 | 1992-05-13 | Toshiba Corp | 非同期伝送モード網を用いた通信制御方式 |
US5274768A (en) * | 1991-05-28 | 1993-12-28 | The Trustees Of The University Of Pennsylvania | High-performance host interface for ATM networks |
US5379297A (en) * | 1992-04-09 | 1995-01-03 | Network Equipment Technologies, Inc. | Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode |
EP0531599B1 (en) * | 1991-09-13 | 1998-07-22 | International Business Machines Corporation | Configurable gigabit/s switch adapter |
US5535197A (en) * | 1991-09-26 | 1996-07-09 | Ipc Information Systems, Inc. | Shared buffer switching module |
FR2694671A1 (fr) * | 1992-08-06 | 1994-02-11 | Trt Telecom Radio Electr | Dispositif de réarrangement de débits de circuits virtuels en transmission à multiplexage temporel asynchrone. |
IT1256739B (it) * | 1992-12-18 | 1995-12-15 | Edoardo Merli | Dispositivo per la conversione di pacchetti informativi in una rete a larga banda di tipo atm |
FR2700902B1 (fr) * | 1993-01-22 | 1995-02-24 | Thomson Csf | Procédé de gestion du débit de messages codés numériquement transportés par un réseau asynchrone, notamment un réseau ATM, et dispositif pour sa mise en Óoeuvre. |
US5420858A (en) * | 1993-05-05 | 1995-05-30 | Synoptics Communications, Inc. | Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium |
JPH0779226A (ja) * | 1993-09-07 | 1995-03-20 | Fujitsu Ltd | 複数チャネル送出セル帯域制御回路 |
US5802287A (en) * | 1993-10-20 | 1998-09-01 | Lsi Logic Corporation | Single chip universal protocol multi-function ATM network interface |
US5414707A (en) * | 1993-12-01 | 1995-05-09 | Bell Communications Research, Inc. | Broadband ISDN processing method and system |
GB2288097B (en) * | 1994-03-23 | 1998-09-23 | Roke Manor Research | ATM queuing and scheduling apparatus |
EP0680173B1 (en) * | 1994-04-28 | 2003-09-03 | Hewlett-Packard Company, A Delaware Corporation | Multicasting apparatus |
US5583861A (en) * | 1994-04-28 | 1996-12-10 | Integrated Telecom Technology | ATM switching element and method having independently accessible cell memories |
EP0680179B1 (en) * | 1994-04-28 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Multicasting apparatus |
CA2124610C (en) * | 1994-05-30 | 1998-10-06 | Charles Kevin Huscroft | Integrated user network interface device |
US5455826A (en) * | 1994-06-28 | 1995-10-03 | Oezveren; Cueneyt M. | Method and apparatus for rate based flow control |
US5548587A (en) * | 1994-09-12 | 1996-08-20 | Efficient Networks, Inc. | Asynchronous transfer mode adapter for desktop applications |
US5490141A (en) * | 1994-09-30 | 1996-02-06 | International Business Machines Corporation | System and method for providing SVC service through an ATM network for frame relay DTEs with a terminal adapter |
US5602853A (en) * | 1994-11-03 | 1997-02-11 | Digital Equipment Corporation | Method and apparatus for segmentation and reassembly of ATM packets using only dynamic ram as local memory for the reassembly process |
US5625625A (en) * | 1995-07-07 | 1997-04-29 | Sun Microsystems, Inc. | Method and apparatus for partitioning data load and unload functions within an interface system for use with an asynchronous transfer mode system |
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 |
US5701292A (en) * | 1995-12-04 | 1997-12-23 | Lucent Technologies Inc. | Method and apparatus for controlling data transfer rates of data sources in asynchronous transfer mode-based networks |
US5751709A (en) * | 1995-12-28 | 1998-05-12 | Lucent Technologies Inc. | Adaptive time slot scheduling apparatus and method for end-points in an ATM network |
US5745477A (en) * | 1996-01-25 | 1998-04-28 | Mitsubishi Electric Information Technology Center America, Inc. | Traffic shaping and ABR flow control |
US5852655A (en) * | 1996-03-29 | 1998-12-22 | Cisco Systems, Inc. | Communication server apparatus having distributed switching and method |
US5742765A (en) * | 1996-06-19 | 1998-04-21 | Pmc-Sierra, Inc. | Combination local ATM segmentation and reassembly and physical layer device |
EP0825787A1 (en) * | 1996-08-12 | 1998-02-25 | BRITISH TELECOMMUNICATIONS public limited company | Negotiation process for connection management |
-
1994
- 1994-09-12 US US08/304,349 patent/US5548587A/en not_active Expired - Lifetime
-
1995
- 1995-09-12 AU AU35518/95A patent/AU3551895A/en not_active Abandoned
- 1995-09-12 WO PCT/US1995/011560 patent/WO1996008896A1/en active IP Right Grant
- 1995-09-12 JP JP51029196A patent/JP3673951B2/ja not_active Expired - Fee Related
- 1995-09-12 DE DE69533425T patent/DE69533425T2/de not_active Expired - Fee Related
- 1995-09-12 EP EP95932487A patent/EP0781478B1/en not_active Expired - Lifetime
-
1997
- 1997-06-30 US US08/885,603 patent/US6084880A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
WO1996008896A1 (en) | 1996-03-21 |
US6084880A (en) | 2000-07-04 |
US5548587A (en) | 1996-08-20 |
EP0781478A4 (en) | 2000-10-11 |
DE69533425D1 (de) | 2004-09-30 |
DE69533425T2 (de) | 2005-08-11 |
JPH10505977A (ja) | 1998-06-09 |
EP0781478A1 (en) | 1997-07-02 |
EP0781478B1 (en) | 2004-08-25 |
AU3551895A (en) | 1996-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3673951B2 (ja) | デスクトップ用非同期転送モードアダプター | |
US5963543A (en) | Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device | |
US5640399A (en) | Single chip network router | |
US5625825A (en) | Random number generating apparatus for an interface unit of a carrier sense with multiple access and collision detect (CSMA/CD) ethernet data network | |
US5668809A (en) | Single chip network hub with dynamic window filter | |
US5802287A (en) | Single chip universal protocol multi-function ATM network interface | |
US6122279A (en) | Asynchronous transfer mode switch | |
US6097734A (en) | Programmable reassembly of data received in an ATM network | |
US6466997B1 (en) | Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node | |
US20020176430A1 (en) | Buffer management for communication systems | |
US6507583B1 (en) | Network access arbitration system and methodology | |
US6535513B1 (en) | Multimedia and multirate switching method and apparatus | |
EP1131923A4 (en) | MULTI-PROTOCOL CONVERSION SUPPORT SYSTEM AND METHOD FOR NETWORK ACCELERATOR | |
US6760333B1 (en) | Hybrid digital subscriber loop and voice-band universal serial bus modem | |
US5940397A (en) | Methods and apparatus for scheduling ATM cells | |
US5930525A (en) | Method and apparatus for network interface fetching initial and data burst blocks and segmenting blocks and scheduling blocks compatible for transmission over multiple virtual circuits | |
US6804243B1 (en) | Hardware acceleration for segmentation of message packets in a universal serial bus peripheral device | |
US6067563A (en) | Method and apparatus for avoiding control reads in a network node | |
EP1102171A2 (en) | Universal serial bus network peripheral device | |
US6463485B1 (en) | System for providing cell bus management in a switch platform including a write port cell count in each of a plurality of unidirectional FIFO for indicating which FIFO be able to accept more cell | |
US7215670B1 (en) | Hardware acceleration for reassembly of message packets in a universal serial bus peripheral device | |
US6512769B1 (en) | Method and apparatus for rate-based cell traffic arbitration in a switch | |
US6438102B1 (en) | Method and apparatus for providing asynchronous memory functions for bi-directional traffic in a switch platform | |
US20040028053A1 (en) | Direct memory access circuit with ATM support | |
US6483850B1 (en) | Method and apparatus for routing cells having different formats among service modules of a switch platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040727 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20041027 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20041213 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050127 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050414 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |