JP2001502855A - 複数のパケットをsram内に記憶するためのパケットの終わり検出 - Google Patents

複数のパケットをsram内に記憶するためのパケットの終わり検出

Info

Publication number
JP2001502855A
JP2001502855A JP10500542A JP50054298A JP2001502855A JP 2001502855 A JP2001502855 A JP 2001502855A JP 10500542 A JP10500542 A JP 10500542A JP 50054298 A JP50054298 A JP 50054298A JP 2001502855 A JP2001502855 A JP 2001502855A
Authority
JP
Japan
Prior art keywords
location
memory
packet
data
memory location
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.)
Granted
Application number
JP10500542A
Other languages
English (en)
Other versions
JP3811759B2 (ja
Inventor
シン,アロック
ロイ,ラジャット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2001502855A publication Critical patent/JP2001502855A/ja
Application granted granted Critical
Publication of JP3811759B2 publication Critical patent/JP3811759B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 メモリ装置内のパケットの終わりロケーションを正確に識別する方法である。メモリ装置内の第1のメモリロケーションおよび第2のメモリロケーションが予約され、かつ、データのシーケンスがメモリ装置内の連続したメモリロケーションへ書込まれる。データシーケンスの最後がメモリに書込まれるとき、メモリロケーションが第1の予約されたメモリロケーションに書込まれる。第2のメモリロケーションは、パケットの終わりがメモリに書込まれたことを示すため書込まれる。

Description

【発明の詳細な説明】 複数のパケットをSRAM内に記憶するためのパケットの終わり検出発明の背景 1.発明の分野 この発明は、一般に、イーサネットへのおよびイーサネットからの情報の局に よる伝送を制御するための方法および装置に関し、特に、情報伝送の性能を上げ るための方法および装置に関し、さらに特に、メモリ装置内のパケットの終わり のロケーションを正確に識別することによって、メモリ装置内に複数の情報パケ ットを効率的に記憶するための方法および装置に関する。 2.背景技術の説明 ローカルエリアネットワーク(LAN)とは、職場、建物または建物群などの ような限定された地理区域内に位置する、パーソナルコンピュータ、ワークステ ーション、ファイルサーバ、リピータ、データ端末装置(DTE)および他のこ のような情報処理装置が相互に情報を電子的に転送することを可能にする通信シ ステムである。LAN内の各情報処理装置は、ネットワークの動作を定義する固 定されたプロトコル(または規格)に従うことで、LAN内の他の情報処理装置 と通信する。 ISOオープンシステム間相互接続基本参照モデルが、LAN内のデータ通信 の7層モデルを定義する。このモデルの最下層は、(a)ネットワークのノード を相互接続しかつ電子的に伝送されるべきデータの通り道となる物理媒体、(b )ネットワークのノードが物理的伝送媒体とインタフェースする態様、(c)物 理的媒体を通じてデータを転送するためのプロセスおよび(d)データストリー ムのプロトコル、を特定するモジュールからなる物理層である。 IEEE規格802.3、衝突検出を伴う搬送波感知多重アクセス方式(Carr ier Sense Multiple Access with Collision Detection(CSMA/CD))お よび物理層の仕様は、物理層に関し最も一般的に使用されている規格の1つであ る。一般にイーサネットと呼ばれるIEEE規格802.3は、撚線対 ケーブルまたは典型的には撚線対ケーブルよりも価格の高い同軸ケーブルを通じ てのデータ転送を扱う。IEEE規格802.3の10Base−Tプロトコル は、撚線対ケーブルを通じてのデータ転送速度を10メガビット/秒(Mbps )と定めている。 図面を参照し、図1は、CPU12で表わされる、ワークステーション、パー ソナルコンピュータ、ファイルサーバ、データ端末装置または他のこのような情 報処理装置がどのようにイーサネット22または媒体独立インタフェース24で 表わされる他の型のデータ通信装置に接続されるかを図示する。図1中、一般に ネットワークインタフェースコントローラとしても知られるイーサネットコント ローラ14は、CPU12とイーサネット22の入力(および出力)ラインとの 間に位置づけられる。典型的には、イーサネット22は2対の撚線対銅ケーブル からなり、入力対は10R、出力対は10Tと呼ばれる。 イーサネットコントローラ14は、出力対またはケーブルへの出力データの送 信および入力対またはケーブルからの入力データの受信の制御の役割を持つ。た とえば、出力データは、出力対またはケーブルに送られる前に、電磁干渉を減じ るためマンチェスター符号化される。マンチェスター符号化により、データスト リームのいくつかの部分は10MHzのパルスとなり、データストリームの他の 部分は5MHzのパルスとなる。 より多くの情報をより高速で転送する必要性がさらに高まり同時にデータ処理 能力が向上することで、10Base−Tプロトコルにより規定される10Mb psの速度よりもはるかに高速のデータ転送速度への拡張が必要となっている。 その結果、現在の既存のタイプの撚線対ケーブルを通じて100Mbpsの有効 転送速度で移動するデータに対処するため、IEEE規格802.3を拡張する 100Base−TXプロトコルがある。物理伝送媒体が、100Base−T Xの速度およびより遅い10Base−Tの速度の両方で、撚線対ケーブルを通 じて転送されるデータを処理できることが望ましい場合がある。 イーサネットまたは媒体独立インタフェースを通じての様々な速度でのデータ 伝送に関連する問題に加えて、パーソナルコンピュータ、ワークステーション、 ファイルサーバ、リピータ、データ端末装置および他のこのような情報処理装置 のデータ処理能力が相違することに関連する問題がある。たとえば、パーソナル コンピュータシステムにおいては、イーサネットを通じてのデータの受送信に加 え、CPU12が処理しなければならない他の装置または任務があるかもしれな い。 イーサネットコントローラ14(図1)は、CPU12からイーサネット22 へのデータの伝送の制御の役割を持つ。イーサネットコントローラ14が直面す る主要な問題の1つは、伝送における割込が最小限になるようデータの伝送を制 御することである。たとえば、もしデータの伝送において、割込があると、イー サネットのシステムは停止しすべてのデータを再送信しなければならない。これ はつまり、もし受信局が割込まれかつデータの受信を継続できなければ、送信局 がデータを再送信しなければならないということである。 よりよいデータ送信制御を行なう柔軟性を持ったイーサネットコントローラが 必要とされている。この発明は、パケットにフォーマット化される入力データま たは出力データの一時記憶のためのバッファを提供する方法を教示する。空間お よびコストの両方の理由から可能な限り小さくすることが必要とされるバッファ 内に、パケットの形の情報を最も効率的に記憶するためには、連続的にパケット を記憶すること、すなわちパケットの間に埋められていないメモリロケーション が全く存在しないようにパケットを記憶することが望ましい。 バイト、またはパケットにおけるデータの他の単位のシーケンスにおけるパケ ットの終わりを検出する方法、そして次のパケットを順次記憶できるようにその シーケンスが書込まれた最後のメモリロケーションを識別することが必要であり 、それによって、情報の複数のパケットをメモリ装置内に効率的に記憶すること ができる。発明の概要 この発明により、データのパケットの伝送の間にバッファとして使用されるメ モリ装置内のパケットの終わりロケーションを1ロケーションと他ロケーション との間で正確に識別する方法である。メモリ装置はバッファとして利用される。 メモリ装置内の第1のロケーションが予約され、データのシーケンスが順次メモ リ装置内に書込まれる。パケットの最後のバイトが識別されるとき、最後のバイ トが書込まれるメモリロケーションのアドレスが第1の予約されたロケーション に書込まれる。 パケット内のデータの最後のバイトは、パケットに含まれるバイトの数をカウ ンタに入力することにより識別される。カウンタはメモリロケーションに各バイ トが書込まれるに伴いインクリメントされる。書込ポインタは、データが書込ま れていくメモリロケーションで更新される。カウンタが入力されたバイト数に達 するとき、書込ポインタの内容が予約された第1のメモリに書込まれる。 メモリ装置内の第2のメモリロケーションが、第1の予約されたメモリロケー ションのすぐ後に予約され、第2の予約されたロケーションに値HEX0000 が書込まれる。そして、第2の予約されたロケーションに続く第1のメモリロケ ーションから始めて、データがメモリ装置内に書込まれる。 書込カウンタが入力されたバイト数に達するとき、第2の予約されたロケーシ ョン内の値が値HEX0000から値HEX1000に変わる。 データはメモリ装置から読出される。第1に予約されたメモリ装置内に含まれ る値は、第1のレジスタに書込まれ、第2に予約されたレジスタ内の最上位ビッ トは第2のレジスタに書込まれる。第1のレジスタ内の値が読出ポインタ内の値 と比較され、論理TRUEまたは論理FALSEを得る。もし第2のレジスタ内 の値がTRUEでありかつ第1のレジスタ内の値がTRUEであれば、パケット の終わりが検出されている。 パケットの終わりがまだ書込まれていない場合には、メモリロケーションが書 込まれたときに第3のレジスタ内の値をインクリメントし、メモリロケーション が読出されたときに第3のレジスタ内の値をデクリメントすることによって、読 出ポインタが書込ポインタを追い越すのを防止する。第3のレジスタ内の値が0 であるとき、EMPTYフラグがセットされ読出が禁止される。 この発明は、添付図面に関連し以下の詳細な説明を考慮するとよりよく理解さ れる。以下の説明から当業者には容易に明らかとなるであろうように、この発明 の好ましい実施例はこの発明の実施に適したベストモードの単なる例として図示 および説明される。理解されるように、全くこの発明の範囲から逸脱することな く、この発明には他の異なった例があり得、そのいくつかの詳細にはさまざまな 明らかな局面において修正を加えることができる。したがって、本図面および明 細書は本質的に例示的なものとみなされ限定的なものとみなされるものではない 。図面の簡単な説明 本明細書に組み入れられその一部を形成する添付の図面はこの発明を図示し、 説明とともに、この発明の原理を説明するために役立つ。 図1は、イーサネットコントローラ、CPU、イーサネット接続および媒体独 立インタフェース接続を備える先行技術のシステムの全体図である。 図2は、この発明を備えるシステムの全体図である。 図3は、この発明において使用されるメモリの部分を示す図である。 図4は、この発明において教示されるメモリの部分にデータが書込まれる態様 を示す図である。 図5は、パケットの終わりのロケーションがメモリに記憶される態様を示す図 である。 図6は、この発明において教示されるメモリの部分からデータが読出される態 様を示す図である。 図7は、パケットの終わりが書込まれていないとき、この発明において教示さ れるメモリの部分からデータが読出される態様を示す図である。詳細な説明 次に図1を参照し、CPU12と、イーサネット22および媒体独立インタフ ェース24への接続を備えるイーサネットコントローラ14とを備える先行技術 によるシステム10を示す。CPU12はBUS17によりイーサネットコント ローラ14に接続される。 次に図2を参照し、この発明により教示されるシステム11を示す。この図面 および続く図面においては、同様の構成要素を示すため同様の番号を使用する。 イーサネットコントローラ14の部分を図2に示す。イーサネットコントローラ 14がこの発明により教示される機能以外にも多くの他の機能を有すること、お よび、この発明に関連する構成要素のみを説明することが理解されねばならない 。システム11は、外部のイーサネットコントローラ14に接続されるSRAM 16とCPU12とを含む。この構造によって、イーサネットコントローラ14 半導体装置を可能な限り小さくすることができ、かつ、設計技術者にとっては必 要とあればバッファをより大きくする柔軟性が与えられる。理解されるように、 SRAM16を、イーサネットコントローラ14装置の一部分として設計するこ ともできる。さらに、CPU12、イーサネットコントローラ14およびSRA M16をすべて単一の半導体装置として設計することもできよう。 イーサネットコントローラ14の図示される部分の機能は、イーサネット22 および媒体独立インタフェース24へのおよびからのデータの伝送の管理である 。イーサネットコントローラ14は、CPU12、イーサネット22または媒体 独立インタフェース24のいずれかへのおよびいずれかからのデータの伝送の低 速化を防止するためSRAM16をバッファとして利用することにより、データ 伝送を管理する。データ伝送が低速化し得るのにはさまざまな理由があるが、た とえば、CPU12の待ち時間が長く、CPU12が他の割り込みから解放され るまで、イーサネット22からのデータ伝送が停止することがあり得る。逆に、 CPU12がイーサネット22を通じてデータを送信しようとするときに、イー サネット22が使用中であるかもしれず、それによってイーサネット22の使用 が終わるまでCPU22からのデータが停止または一時中断されることになる。 情報の送信または受信を完了できないために生じる問題を回避するため、イー サネットコントローラ14は4つのFIFO、BX FIFO26、MX FI FO28、BR FIFO30およびMR FIFO32を有する。BX FI FO26とBR FIFO30とはイーサネットコントローラ14のバス側にあ り、かつ、MX FIFO28とMR FIFO32とはイーサネットコントロ ーラ14の媒体アクセス制御(MAC)側にある。各FIFOは入力機能または 出力機能のいずれかを制御する。BX FIFO26は、CPU12からSRA M16へのデータの伝送を制御する。MX FIFO28は、SRAM16から イーサネット22または媒体独立インタフェース24へのデータの伝送を制御す る。同様に、MR FIFO32はイーサネット22または媒体独立インタフェ ー24のいずれかからのデータの伝送を制御する。以下の説明においては、他の 機能は同様なので、CPU12からSRAM16へのデータ伝送についてのみ説 明する。以下の説明は、CPU12からSRAM16へのデータの書込およびS RAM16からのデータの読出を含む。 次に図3を参照し、SRAM16などのメモリ装置のメモリ部34を図示する 。この発明の意図される範囲を逸脱することなく、他のメモリ装置を使用できる ことが理解されねばならない。HEX0000からHEX0011までのメモリ アドレス38を備える18個のメモリロケーション36が図示される。この説明 においては、メモリロケーションはワード単位でアドレス指定される、すなわち 、各メモリロケーションは2つの8ビットバイト、上位バイトロケーションと下 位バイトロケーションとを有するという取決めに従う。部分34はSRAM16 内のどの場所にでもあり得、かつ、アドレス38はメモリの最大サイズの範囲内 にあるの値の任意シーケンスであり得ることが理解されねばならない。図3には 、メモリ部34に書込まれるデータの2つのパケットを示す。第1のパケットは 、DATA0からDATA4までの5バイトからなり、HEX0002からHE X0004までのアドレスを備えるメモリロケーション内に図示される。DAT A4が第1のパケットの最後のバイト、すなわちパケットの終わりであるため、 DATA4が書込まれるメモリロケーションのアドレス(HEX0004)は第 1の予約されたメモリロケーション、この場合には、アドレスHEX0000を 備えるメモリロケーションに書込まれる。第1のパケット内の最後のバイトが書 込まれてしまったので、第2の予約されたメモリロケーション、この場合には、 アドレスHEX0001を備えるメモリロケーションの内容がHEX1000に 変わる。値HEX1000は、パケットが有効であることを示し、これについて はさらに詳細に以下に説明する。 この例では、メモリが書込まれるべき、メモリの部分の初めの2つの予約され たロケーションは、メモリロケーションHEX0000およびHEX0001で ある。予約されたロケーション各対のロケーションは、メモリ内に記憶されるそ の前のパケットのサイズに依存する。各パケットの終わりの後に、32ビットの STATUS用の2つの16ビットのメモリロケーションと32ビットのDES CRIPTOR用の2つの16ビットのメモリロケーションとがある。図3中、 メモリロケーションHEX0005およびHEX0006が第1のパケットのS TATUS用であり、HEX0007およびHEX0008がDESCRIPT OR用である。第2のパケットについては、第1の予約されるロケーションはメ モリロケーションHEX0009であり、第2の予約されるロケーションはメモ リロケーションHEX000Aである。第2のパケットの32ビットのSTAT USはメモリロケーションHEX000FおよびHEX0010に書込まれ、か つ、第2のパケットの32ビットのDESCRIPTORはメモリロケーション HEX0011およびHEX0012に書込まれる。各パケットの32ビットの STATUSおよびDESCRIPTORはパケットに関する情報を含み、詳細 には説明しない。 次に図4を参照し、少数のメモリロケーション40を図示する。次にメモリへ のデータの書込方法を説明する。先に説明したように、ここでは、CPU12か らイーサネット22または媒体独立インターフェイス24のいずれかへのデータ 伝送を説明する。以下の説明が、データがイーサネット22または媒体独立イン ターフェイス24のいずれかからCPU12へ伝送される状況にも適用可能であ ることが理解されねばならない。当業者は、以下の説明をイーサネットコントロ ーラ14(図2)の他の部分にも適用できるであろう。 CPU12がデータを送信したいとき、CPUは、適用可能なバス、この場合 にはPCI BUS18を要求し、送信すべきあるバイト数のデータを有するこ とをBX FIFO26に知らせる。この数はカウンタ42に通信される。図に はカウンタ42に5の値が書込まれている。例として5バイトのパケットが使用 されており、これについて図5に関連し以下に説明する。メモリロケーションに 書込まれるときカウンタ42がインクリメントされ、かつ、インクリメントされ た値がBX FIFO26から入力された値に等しいとき、これはメモリに書込 まれたばかりの値がパケット内のデータの最後のバイトであることを示す。代替 的に、パケットに含まれるバイト数を表わす値をカウンタ42に入力することが でき、そして、各データバイトが書込まれるに伴いカウンタ42をデクリメント することができ、そして、値0に達するとき、データの最後のバイトがメモリに 書込まれたこと、すなわちパケットの終わりが書込まれたことが示されるであろ う。 図4は、パケットの終わりにまだ達していない状態を示す。最初のステップは 、メモリ内の第1の2つの利用可能なロケーションを予約することであり、説明 の目的でこれらは43のメモリロケーションHEX0000および45のHEX 0001として図示される。書込ポインタWR PTR44は最初43のメモリ ロケーションHEX0000を指し示すであろう。もしTX OWN48内の値 がゼロであれば、43のメモリロケーションHEX0000の内容がレジスタM X EOP46に書込まれるであろう。有効なパケットの終わりロケーションが 書込まれるまではHEX0000内にどのような値があろうとも差異はないので 、HEX0000の内容は「ドントケア」を示すXXXXとして図示されている 。書込ポインタWR PTR44がインクリメントされ、45のメモリロケーシ ョンHEX0001を指し示すであろう。値HEX0000が45の第2の予約 されたメモリロケーションHEX0001へ書込まれるであろう。この時点にお いて、WR PTR44はHEX0001となるであろうし、データが書込まれ ていないためカウンタ42はインクリメントもデクリメントもされていないであ ろう。WR PTR44がインクリメントしたならば、50のデータの第1およ び第2のバイトDATA0およびDATA1がメモリロケーションHEX000 2に書込まれるであろうし、カウンタ42が2にインクリメントされるであろう 。図4に示す状態に達するまでこれが繰返されるであろう。WR PTR44は メモリロケーションHEX0003を指し示しており、52のDATA2は下位 バイトメモリロケーションHEX0003に書込まれており、かつ、カウンタ4 2は3バイトまたは4バイトのいずれかのデータがメモリに書込まれていること を示す値4にインクリメントされている。 次に図5を参照し、第1のパケット内のデータの最後のバイトがメモリに書込 まれているときの(図4で始まる)状況を図示する。カウンタ42内のインクリ メントされた値がBX FIFO26から入力された値に等しいとき、この場合 はHEX0004である、WR PTR44内の値が、第1の予約されたメモリ ロケーション43へ書込まれるであろう。レジスタTX OWN48内に含まれ る値がゼロであるならば、WR PTR44内の値が、レジスタMX EOP4 6に書込まれるであろう。さらに、もしTX OWN48内の値がゼロであれば 、この値は1に変えられるであろう。第2の予約されたメモリロケーション内の 値HEX1000は、パケットが有効であること、すなわちパケットの終わりが 書込まれておりかつ第1の予約されたメモリロケーション内の値(この場合には HEX0000)がパケットの終わりが書込まれたメモリロケーションであると いうことを示す。 上述の作用に加え、(データの最後のバイトが書込まれたメモリロケーション の後の)次の4つの16ビットのメモリロケーション内に、メモリに書込まれた ばかりのパケットの32ビットのSTATUSと32ビットのDESCRIPT ORとが書込まれるであろう。図3に関連し図示および説明されるように、DE SCRIPTORのすぐ次の2つのロケーションは、送信されるであろう次のパ ケットのために予約される。これは、メモリに書込まれるパケットの終わりのロ ケーションを正確に識別することができることの価値を示している。パケットの 終わりのメモリ内の正確な位置を識別できることによって、可能な限り最も効率 的な態様で、すなわち、連続したパケットの間に空のメモリロケーションが全く ないように、メモリ内に異なつたサイズの複数のパケットを書込むことができる 。上述の例が示しているようにいくつかの場合においては、もしパケット内に奇 数個のバイトがあれば、メモリロケーションの上位バイトロケーションには書込 まれないであろうことが注意される。 次に図6を参照し、パケットの終わりがメモリに書込まれてしまっているとき にパケット内のデータを読出す方法を図示する。図6は、図5に示すメモリに書 込まれたパケットを示す。パケットは、メモリロケーションHEX0002から メモリロケーションHEX0004の下位バイトロケーションまでに書込まれた データ5バイトを含む。パケットの終わりがメモリに書込まれているので、第1 の予約されたメモリロケーション(HEX0000)にはパケット内の最後のバ イトのメモリロケーション、すなわちパケットの終わりのロケーションが書込ま れている。この場合には、最後のバイトのメモリロケーションは、メモリロケー ションHEX0004である。読出ポインタRD PTR54が第1の予約され たメモリロケーション、この場合には、メモリロケーションHEX0000を指 し示すとき、この値HEX0004はレジスタMX EOP46にも書込まれる 。次のステップは、RD PTR54が第2の予約されたメモリロケーション、 この場合にはメモリロケーションHEX0001を指し示すときである。先述し たように、パケットの終わりはメモリに書込まれているので、第2の予約された メモリロケーションの内容は値HEX1000を含むであろう。レジスタMX EOP46に含まれる値は56の比較回路に入力される。RD PTR54の内 容はまた比較回路56に入力され、そこでレジスタMX EOP46の内容と比 較される。これら2つの値の比較結果は論理TRUEまたは論理FALSEのい ずれかであろうし、レジスタTX OWN48の内容によりゲート制御される。 もしTX OWN48がTRUE(すなわち1)であり、かつ比較回路56の出 力がTRUEであれば、58で示すようにパケットの終わりに達している。これ は以下のように行なわれる。RD PTR54がインクリメントされかつ次のメ モリロケーションを指し示しているので、RD PTR54の内容は、RDPT R54がパケット内の最後のバイトすなわちパケットの終わりを指し示している ときレジスタMX EOP46に入力される値と実質的に同一であろう。このと き、論理値はTRUEとなり、第2の予約されたメモリロケーションからの最上 位ビットの値がTRUEと規定される1であるため、出力論理もまたTRUEで あろうし、パケットの終わりに達したことが58で示されるであろう。 次に図7を参照し、パケットの終わりがメモリに書込まれておらず、かつ時間 を節約するためにシステムがメモリに書込まれているデータの読出を許可する状 況を図示する。この場合、読出ポインタが書込ポインタを追い越さずかつ無効デ ータの読出を始めないことが重要である。図7に示す状況では、メモリに書き込 まれているパケットについてのパケットの終わりには達していないが、データの 読出が開始されており、効率のため開始が許可されている。たとえば、説明され ている例よりもパケットがはるかに長い場合があり、その場合、読出を始める前 に長いパケットが完全に書込まれてしまうまで、読出機能が待機しているのは非 効率的であろう。図6に関連して先述したように、読出ポインタが第1の予約さ れたメモリロケーション43を指し示すとき、第1の予約されたメモリロケーシ ョンの内容がレジスタMX EOP46に書込まれるであろう。この時点におい て、第1の予約されたメモリロケーション43内の値が有効な値であるか否か、 すなわちパケットの終わりのロケーションを含むか否かを決定することはできな い。RD PTR54は次に第2の予約されたメモリロケーション45を指し示 し、第2の予約されたメモリロケーション内に含まれる値の最上位ビットがレジ スタTX OWN48に書込まれるであろう。最上位ビットはゼロであるため、 比較回路56は、NOT EOPを示すFALSEを58で示すであろう。RD PTR54がWR PTR44を追い越すのを防ぐため、WR PTR44によ り示されるようにデータ値がメモリに書込まれるたびごとにインクリメントされ 、かつRD PTR54により示されるようにデータ値がメモリから読出される たびごとにデクリメントされるレジスタ60が設けられる。WR PTR44が メモリロケーションHEX0004を指し示し、メモリロケーションHEX00 04にデータ値が書込まれたばかりであることを示し、かつ、RD PTR54 もまたメモリロケーションHEX0004を指し示し、メモリロケーションHE X0004内のデータ値が読出されたばかりであることを示す、図7に示すよう な状況が生じるときがある。この時点で、レジスタ60内の値はゼロであろうし 、レジスタ62内のEMPTYフラグがセットされ、メモリからのさらなるいか なるデータの読出も防止するであろう。理解されるように、この状況においては 、付加的なバイトがメモリに書込まれると、レジスタ60内の値がインクリメン トされ、その時点でレジスタ60内の値は1となり、レジスタ62内のフラグは リセットされそしてRD PTR54はインクリメントを許可され、次のメモリ ロケーション内のデータの読出が許可されるであろう。もし、メモリに書込まれ るさらなるデータが全くなければ、レジスタ60は再び値ゼロを含み、再び読出 が禁止されるであろう。WR PTR44がインクリメントされかつデータがメ モリに書込まれるにつれ、最終的に最後のバイトに到達し、この時点においてカ ウンタ42(図4および図5)はこのことをWR PTR44に示し、そしてW RPTR44内の値はすぐにMX EOP46および第1の予約されたメモリロ ケーション43に書込まれるであろう。同時に、第2の予約されたメモリロケー ション内の最上位ビットがレジスタTX OWN48に書込まれるであろう。も し、 TX OWN48内の値がTRUEであり、かつRD PTR54内の値がレジ スタMX EOP46内の値と一致するときは、論理出力58はTRUEとなり 、パケットの終わりが読出されたことを示すであろう。 上述のこの発明の好ましい実施例の説明は、例示および説明の目的で提示され た。これは包括的なものまたはこの発明を開示された形態に厳密に限定すること を意図するのではない。上の教示に照らし明らかな修正例または変形例が考えら れる。この実施例は、この発明の原理およびその実際の応用例の最良の例を提供 し、それによって、企図される特定の用途に適したさまざまな修正を加えてさま ざまな例においてこの発明を当業者が利用することを可能にするため、選択され かつ説明された。このような修正および変更は、それらが公正に、法的にかつ公 平に与えられる権利の範囲により解釈されるとき添付の請求の範囲により決定さ れるこの発明の範囲内にある。
【手続補正書】特許法第184条の8第1項 【提出日】平成10年5月25日(1998.5.25) 【補正内容】 明細書 複数のパケットをSRAM内に記憶するためのパケットの終わり検出発明の背景 1.発明の分野 この発明は、一般に、イーサネットへのおよびイーサネットからの情報の局に よる伝送を制御するための方法および装置に関し、特に、情報伝送の性能を上げ るための方法および装置に関し、さらに特に、メモリ装置内のパケットの終わり のロケーションを正確に識別することによって、メモリ装置内に複数の情報パケ ットを効率的に記憶するための方法および装置に関する。 2.背景技術の説明 アホ(Aho).A.V他による『データ構造およびアルゴリズム(Data Struct ures and Algorithms)』(1993年6月米国、392〜397頁)は、オブ ジェクトに対する記憶割り当ておよびメモリ管理におけるサイズの混合を開示す る。空のブロックおよび不要なデータを保持するブロックの管理によって、これ らを新しいデータの保持のために利用できる。 EP−A−0 429 054は、ネットワークにインタフェースするための 既知のデータ表示およびプロトコルを開示する。 JP−A−62 216046は、論理シミュレーション装置のための記録制 御システムを開示する。 ローカルエリアネットワーク(LAN)とは、職場、建物または建物群などの ような限定された地理区域内に位置する、パーソナルコンピュータ、ワークステ ーション、ファイルサーバ、リピータ、データ端末装置(DTE)および他のこ のような情報処理装置が相互に情報を電子的に転送することを可能にする通信シ ステムである。LAN内の各情報処理装置は、ネットワークの動作を定義する固 定されたプロトコル(または規格)に従うことで、LAN内の他の情報処理装置 と通信する。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロイ,ラジャット アメリカ合衆国、94087 カリフォルニア 州、サニィベイル、イートン・ウェイ、 927

Claims (1)

  1. 【特許請求の範囲】 1.少なくとも1つのパケットの伝送の間にバッファとして使用されるメモリ装 置内のパケットの終わりロケーションを識別する方法であって、 メモリ装置内の第1のメモリロケーションを予約するステップと、 少なくとも1つのパケットからのデータのシーケンスを、予約された第1のメ モリロケーションに続く次のいくつかのメモリロケーションに書込むステップと 、 データのシーケンスが書込まれた最後のメモリロケーションのアドレスを、予 約された第1のメモリロケーションに書込むステップとを含む、パケットの終わ りロケーションを識別する方法。 2.データのシーケンスが書込まれた最後のメモリロケーションのアドレスを、 予約された第1のメモリロケーションに書込むステップは、 データのシーケンスのために必要とされる連続したメモリロケーションの数を カウンタに入力するステップと、 各メモリロケーションが書込まれたときカウンタをインクリメントするステッ プと、 データが書込まれつつあるメモリロケーションのメモリアドレスで書込ポイン タを更新するステップと、 カウンタが必要とされる連続したメモリロケーションの入力された数に達した とき、書込ポインタの内容を予約された第1のメモリに書込むステップとを含む 、請求項1に記載のパケットの終わりロケーションを識別する方法。 3.メモリ装置内の第2のメモリロケーションを予約するステップをさらに含む 、請求項2に記載のパケットの終わりロケーションを識別する方法。 4.メモリ装置内の第2のメモリロケーションを予約するステップは、第1の予 約されたメモリロケーションのすぐ後の、メモリ装置内のメモリロケーションを 予約するステップを含む、請求項3に記載のパケットの終わりロケーションを識 別する方法。 5.値HEX0000を第2のメモリロケーションに書込むステップをさらに含 む、請求項4に記載のパケットの終わりロケーションを識別する方法。 6.少なくとも1つのパケットからのデータのシーケンスを、連続したいくつか のメモリロケーションに書込むステップは、データの第1のシーケンスを第2の 予約されたメモリロケーションのすぐ後のメモリロケーションに書込むことによ り達成される、請求項5に記載のパケットの終わりロケーションを識別する方法 。 7.カウンタが、必要とされる連続したメモリロケーションの入力された数に達 したとき、第2の予約されたメモリロケーションにHEX1000を書込むステ ップをさらに含む、請求項6に記載のパケットの終わりロケーションを識別する 方法。 8.データのシーケンスを読出すステップをさらに含む、請求項7に記載のパケ ットの終わりロケーションを識別する方法。 9.第1の予約されたメモリロケーション内の値を第1のレジスタに書込むステ ップをさらに含む、請求項8に記載のパケットの終わりロケーションを識別する 方法。 10.第2の予約されたメモリロケーション内の値の最上位ビットを第2のレジ スタに書込むステップをさらに含む、請求項9に記載のパケットの終わりロケー ションを識別する方法。 11.データのシーケンスを読出すステップは、 読出されるべきデータのメモリロケーションのメモリアドレスで読出ポインタ を更新するステップと、 読出ポインタ内のメモリアドレスと第1の予約されたメモリロケーション内に 含まれる値とを比較することによって、第1の論理値を得るステップとを含む、 請求項10に記載のパケットの終わりロケーションを識別する方法。 12.第1の論理値がTRUEであり、かつ第2のレジスタに含まれる値がTR UEであるとき、パケットの終わりを示すステップをさらに含む、請求項11に 記載のパケットの終わりロケーションを識別する方法。 13.データがメモリロケーションに書込まれるとき、第3のレジスタ内の値を インクリメントするステップと、 データがメモリロケーションから読出されるとき、第3のレジスタをデクリメ ントするステップとをさらに含む、請求項12に記載のパケットの終わりロケー ションを識別する方法。 14.第3のレジスタ内の値がゼロの値を有するならば、空フラグをセットする ステップをさらに含む、請求項13に記載のパケットの終わりロケーションを識 別する方法。 15.第3のレジスタ内の値がHEXFFFFの値を有するならば、フルフラグ をセットするステップをさらに含む、請求項14に記載のパケットの終わりロケ ーションを識別する方法。 16.空フラグがセットされているならば、メモリロケーションを読出すステッ プを防止するステップをさらに含む、請求項15に記載のパケットの終わりロケ ーションを識別する方法。
JP50054298A 1996-06-06 1997-02-04 複数のパケットをsram内に記憶するためのパケットの終わり検出 Expired - Fee Related JP3811759B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/659,795 1996-06-06
US08/659,795 US5819113A (en) 1996-06-06 1996-06-06 Method of identifying end of pocket by writing the address of last data into the first location of the memory
PCT/US1997/001857 WO1997047115A1 (en) 1996-06-06 1997-02-04 End of packet detection for storing multiple packets in an sram

Publications (2)

Publication Number Publication Date
JP2001502855A true JP2001502855A (ja) 2001-02-27
JP3811759B2 JP3811759B2 (ja) 2006-08-23

Family

ID=24646877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50054298A Expired - Fee Related JP3811759B2 (ja) 1996-06-06 1997-02-04 複数のパケットをsram内に記憶するためのパケットの終わり検出

Country Status (6)

Country Link
US (1) US5819113A (ja)
EP (1) EP0904651B1 (ja)
JP (1) JP3811759B2 (ja)
DE (1) DE69725570T2 (ja)
TW (1) TW312768B (ja)
WO (1) WO1997047115A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188441A (ja) * 1997-09-12 1999-03-30 Canon Inc メモリ制御装置及び方法、送信装置、受信装置
US7751686B2 (en) * 2000-07-12 2010-07-06 Panasonic Corporation Data recording apparatus, data reproducing apparatus, data recording method, and data reproducing method

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57210498A (en) * 1981-06-19 1982-12-24 Fujitsu Ltd Data storage controller
JPS59160231A (ja) * 1983-03-02 1984-09-10 Canon Inc オフライン記録装置
US5133062A (en) * 1986-03-06 1992-07-21 Advanced Micro Devices, Inc. RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory
US4949301A (en) * 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
JPS62216046A (ja) * 1986-03-17 1987-09-22 Fujitsu Ltd 論理シミユレ−シヨン装置の記録制御方式
US4922438A (en) * 1986-12-11 1990-05-01 Siemens Aktiengesellschaft Method and apparatus for reading packet-oriented data signals into and out of a buffer
FR2616604B1 (fr) * 1987-06-15 1989-09-22 Lespagnol Albert Equipement de reconstitution et multiplexage de trames d'origines diverses constituees de paquets de longueur fixe en nombre variable
US4914652A (en) * 1988-08-01 1990-04-03 Advanced Micro Devices, Inc. Method for transfer of data between a media access controller and buffer memory in a token ring network
US5495482A (en) * 1989-09-29 1996-02-27 Motorola Inc. Packet transmission system and method utilizing both a data bus and dedicated control lines
US5175817A (en) * 1989-11-20 1992-12-29 Digital Equipment Corporation Data representation protocol for communications between different networks
US5097261A (en) * 1989-11-22 1992-03-17 International Business Machines Corporation Data compression for recording on a record medium
ATE144870T1 (de) * 1993-06-30 1996-11-15 Ibm Programmierbare hochleistungsfähige datenkommunikationsanpassung für hochgeschwindigkeits-paketübertragungsnetzwerke

Also Published As

Publication number Publication date
US5819113A (en) 1998-10-06
TW312768B (en) 1997-08-11
WO1997047115A1 (en) 1997-12-11
JP3811759B2 (ja) 2006-08-23
EP0904651A1 (en) 1999-03-31
DE69725570T2 (de) 2004-07-29
EP0904651B1 (en) 2003-10-15
DE69725570D1 (de) 2003-11-20

Similar Documents

Publication Publication Date Title
JP3803722B2 (ja) 複数の伝送されるパケットに対処するためのアドレス発生およびsramへのおよびsramからのデータ経路の調停
JP3684405B2 (ja) 高性能で複数の伝送パケットをサポートするためのデータ構造
US5247626A (en) Fddi controller having flexible buffer management
US6651119B2 (en) Method for allocating priorities to plurality of DMA engines for processing data packets based on bus phase and transactions status
US5721955A (en) System for transferring portion of data to host from buffer if size of packet is greater than first threshold value but less than second threshold value
US5884040A (en) Per-packet jamming in a multi-port bridge for a local area network
US5933413A (en) Adaptive priority determination for servicing transmit and receive in network controllers
US6957269B2 (en) Method and apparatus for performing priority-based flow control
JP3361824B2 (ja) 複数個のプロセッサとシステムメモリ手段とを含むネットワークアダプタのための装置、ネットワーク制御装置、制御方法
US5764895A (en) Method and apparatus for directing data packets in a local area network device having a plurality of ports interconnected by a high-speed communication bus
US6563790B1 (en) Apparatus and method for modifying a limit of a retry counter in a network switch port in response to exerting backpressure
US6980520B1 (en) Method and apparatus for performing source-based flow control across multiple network devices
WO1997029577A1 (en) Network interface having adaptive transmit start point for each packet
JPH04233352A (ja) システムメモリからネットワークへのパケットに配列されるデータのフローを制御するネットワークアダプタおよびデータのフローを制御する方法
US6731601B1 (en) Apparatus and method for resetting a retry counter in a network switch port in response to exerting backpressure
US6993033B1 (en) Method and apparatus for synchronizing aging operations associated with an address table
US6442168B1 (en) High speed bus structure in a multi-port bridge for a local area network
US6760781B1 (en) Intelligent packet transmission engine
US6725270B1 (en) Apparatus and method for programmably modifying a limit of a retry counter in a network switch port in response to exerting backpressure
JP3811759B2 (ja) 複数のパケットをsram内に記憶するためのパケットの終わり検出
US6256313B1 (en) Triplet architecture in a multi-port bridge for a local area network
US6990535B1 (en) Device and method for multi-ported, single bus-mastering data buffer management
WO2001017166A9 (en) Ethernet 10/100 media access controller core
US6954427B1 (en) Method and apparatus for performing priority-based admission control
US6963536B1 (en) Admission control in a network device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040115

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: 20060418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060502

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090609

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100609

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110609

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110609

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120609

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120609

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120609

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees