JPH0458646A - バッファ管理方式 - Google Patents

バッファ管理方式

Info

Publication number
JPH0458646A
JPH0458646A JP2168403A JP16840390A JPH0458646A JP H0458646 A JPH0458646 A JP H0458646A JP 2168403 A JP2168403 A JP 2168403A JP 16840390 A JP16840390 A JP 16840390A JP H0458646 A JPH0458646 A JP H0458646A
Authority
JP
Japan
Prior art keywords
buffer memory
packet
data
read address
logical ring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2168403A
Other languages
English (en)
Inventor
Kazuyuki Tanaka
和幸 田中
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2168403A priority Critical patent/JPH0458646A/ja
Publication of JPH0458646A publication Critical patent/JPH0458646A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明はバッファ管理方式に関し、特にデータ転送を
行う通信装置内に設けられる論理リングバッファの管理
方式に関する。
(従来の技術) 一般に、ローカルエリアネットワーク間のデータ転送を
行うブリッジ装置等の通信装置においては、送受信デー
タを蓄積するために論理リングバッファが設けられてい
る。この論理リングバッファにおいては、データの書き
込み/読み出しがその先頭格納位置から最終格納位置の
順で繰り返し実行され、最終格納位置までデータが格納
されると、その後のデータは再び先頭格納位置から順次
格納される。
このような論理リングバッファをパケットの送受信用バ
ッファとして利用した従来の通信装置を第3図に示す。
この第3図の通信装置は、2ポートのパケット転送を行
うものであり、第1ボート用の入出力部la、入出力制
御部2a、送受信バッファメモリ3a、トランシーバ4
aと、第2ボート用の入出力部tb。
入出力制御部2b、送受信バッファメモリ3b1トラン
シーバ4bと、CPU5と、プログラム格納メモリ6と
によって構成されている。
この通信装置においては、まず、人出力部Iが第1ボー
トに対応するネットワークからパケットを受信し、入出
力制御部2aによってその受信パケットが送受信バッフ
ァメモリ3aに格納される。この時、入出力制御部2a
からCPU5に割り込み信号が送信され、これによって
パケットを受信したことがCPU5に通知される。
CPU5は、送受信バッファメモリ8aに格納されたパ
ケットの転送先を確認し、それが入出力部ibに転送す
べきパケットであった場合には、そのパケットを送受信
バッファメモリ3aから読み出して送受信バッファメモ
リ3bに転送する。そして、そのパケットは、入出力制
御部2bおよび入出力部laを介して第2ボートに対応
するネットワークに送信される。一方、パケットの転送
先がパケットを受信した第1ボートである場合には、C
PU5はそのパケットを廃棄する。
このように、CPU5は、バッファメモリ3aに格納さ
れたパケットを読み出してそれを転送先ボートから送出
する処理またはそれを廃棄する処理を行う。しかし、受
信パケットのトラフィック量が増加した場合などには、
CPU5の負荷が重くなり、CPU5による処理待ちパ
ケットがバッファメモリ3aに滞留され、この結果バッ
ファメモリ3aがオーバーフローしてしまう事がある。
この場合、新たに受信したパケットは全て廃棄されてし
まう。
この様に、従来では、バッファメモリ3aのオーバーフ
ロー状態が発生すると、CPU5によってパケット処理
が実行されてバッファメモリ3aに空き領域が存在する
までの期間、受信したパケットが全て廃棄されてしまう
欠点があった。
(発明が解決しようとする課題) 従来では、バッファメモリがオーバーフロー状態になる
と、その後の受信データはバッファメモリに書き込むこ
とができず、全て廃棄されてしまう欠点があった。
この発明はこのような点に鑑みてなされたもので、バッ
ファメモリがオーバーフロー状態になった時でも新たな
受信データをバッファメモリに格納できるようにして、
バッファメモリを利用した通信装置のデータ転送効率を
向上させることができるバッファ管理方式を提供するこ
とを目的とする。
[発明の構成] (課題を解決するための手段および作用)この発明によ
るバッファ管理方式は、データの書き込み/読み出しが
先頭格納位置から最終格納位置の順で繰り返し実行され
る論理リングバッファメモリと、この論理リングバッフ
ァメモリにデータを書き込むための書き込みアドレスを
示す書き込みアドレス指示手段と、前記論理リングバッ
ファメモリからデータを読み出すための読み出しアドレ
スを示す読み出しアドレス指示手段と、前記書き込みア
ドレスと前記読み出しアドレスとを比較し、その比較結
果に基いて前記論理リングバッファメモリのオーバーフ
ロー状態を検出する検出手段と、この検出手段によって
前記論理リングバッファメモリのオーバーフロー状態が
検出された際、前記論理リングバッファに格納されてい
る最旧データが廃棄されるように前記読み出しアドレス
指示手段の読み出しアドレスの値を更新する手段とを具
備することを特徴とする。
このバッファ管理方式においては、論理リングバッフ7
メモリの最終格納位置までデータが書き込まれた後は再
びその先頭格納位置からデータの書き込みが実行される
ので、論理リングバッファメモリに処理待ちデータが増
えると、書き込みアドレスの値は読み出しアドレスの値
に接近する。
このため、書き込みアドレスと読み出しアドレスを比較
することによって、論理リングバッファメモリの状態つ
まりオーバーフロー状態か否かを検出することができる
。オーバーフロー状態が検出された際には、読み出しア
ドレスの値が更新されるので、その読み出しアドレスに
よって指定されていた処理待ちの最旧データは読み出さ
れないまま廃棄される事になり、論理リングバッファメ
モリに空き領域が作られる。これによって、新たなデー
タをその空き領域に書き込むことができる。
(実施例) 以下、図面を参照して、この発明の詳細な説明する。
第1図にはこの発明の一実施例に係わるバッファ管理方
式を実現するための入出力制御部10の構成が示されて
いる。この入出力制御部lOは、第3図に示した通信装
置における第1ポートの入出力制御部2aに対応するも
のであり、論理リングバッファから構成される送受信バ
ッファメモリ3aのデータ入出力を管理する。
この入出力制御部10は、図示のように、送信回路11
.シリアル−パラレル変換回路12、レシーブバイトカ
ウンタ13、送受信FIFO/(ッファ14、バッフ7
コントロール回路15、書き込みポインタ1B、読み出
しポインタ17、およびコンパレータ18を備えている
送信回路11は、送受信FIFOバッファ14に一時的
に格納されたパケットを入出力部1aを介してネットワ
ークに送出する。シリアル−パラレル変換回路12は、
入出力部1aを介してネットワークから受信したシリア
ルデータをパラレルデータに変換する。レシーブバイト
カウンタ13は、受信パケットのデータ長をカウントす
る。
送受信FIFOバッフy14には、送受信パケットが一
時的に格納される。バッファコントロール回路15は、
送受信FIFOバッファ14と送受信バッフアメモリ3
a間のデータ転送を制御する。
書き込みポインタ16は、送受信バッファメモリ3aに
次にパケットを書き込むための書き込みアドレスを示す
。読み出しポインタ17は、送受信バッファメモリ3a
から次のパケットを読み出すための読み出しアドレスを
示すものであり、この読み出しアドレスは第3図のCP
U5によってまだ処理されてない処理待ちパケットのう
ちの最も旧いパケットを示している。
これら書き込みポインタI6および読み出しポインタ1
7の値は、バッファコントロール回路15によって制御
される。
コンパレータ18は、書き込みポインタ18と読み出し
ポインタ17の値を比較し、その比較結果をバッファコ
ントロール回路15に通知する。すなわち、コンパレー
タ18は、書き込みポインタ16の値が読み出しポイン
タ17の値以上の時に論理“1“レベルの信号を発生し
、書き込みポインタ16の値が読み出しポインタ17の
値よりも小さい時に論理″0“レベルの信号を発生する
次に、第2図のフローチャートを参照して、第1図の入
出力制御部10による送受信バッファメモリ3aの管理
動作を説明する。
入出力部1aによってパケットが受信された場合、シリ
アル−パラレル変換回路12によってそのパケットがシ
リアルデータがらパラレルデータに変換され、そしてレ
シーブバイトカウンタ13によってそのパケットのデー
タ長がカウントされる。シリアル−パラレル変換回路1
2から出力される受信パケットは、そのデータ長を示す
情報が付加された状態で、送受信FIFOバッファ14
に格納される。
次いで、送受信FIFOバッファ14から送受信バッフ
ァメモリ3aにパケットが転送され、そのパケットは、
書き込みポインタ16が示す書き込みアドレス(Pl 
)で指定される送受信バッファメモリ3a内の格納位置
に格納される(ステップAI)。
この後、書き込みポインタ16によって示される書き込
みアドレス(PL )の値は、書き込んだパケットのデ
ータ長方だけバッファコントロール回路15によって更
新される。
次に、書き込みポインタ16によって示される書き込み
アドレス(PI )の値と、読み出しポインタ17によ
って示される読み出しアドレス(P2)の値とがコンパ
レータ18によって比較され、書き込みアドレス(Pi
 )の値が読み出しアドレス(P2)の値以上か否かが
バッファコントロール回路15によって判断される(ス
テップA2)もし、送受信バッファメモリ3aの最終格
納位置までパケットが書き込まれると、その後は再びそ
の先頭格納位置からパケットの書き込みが実行されるの
で、送受信バッファメモリ3a内にCPU5の処理待ち
パケットが増えると、書き込みアドレス(PI )の値
は読み出しアドレス(P2)の値に接近し、オーバーフ
ロー状態の時には、書き込みアドレス(pi )は読み
出しアドレス(P2)の値以上になる。
このため、ステップA2においては、書き込みアドレス
(Pl)の値が読み出しアドレス(P2)の値よりも小
さい状態から増加して、読み出しアドレス(P2)の値
以上になった時に、送受信バッファメモリ3aをオーバ
ーフロー状態と判定する。
このオーバーフロー状態は、コンパレータ18の出力信
号が“0°から“1“に変化することによって認識でき
る。
ステップA2において、送受信バッファメモリ3aがオ
ーバーフロー状態であると判断された場合には、読み出
しポインタI7によって示される読み出しアドレス(P
2)の値は、処理待ちの最旧パケットの先頭アドレスか
ら次のパケット(最旧パケットの次に旧いパケット)の
先頭アドレスに更新される(ステップA3)。この読み
出しアドレス(P2)の更新処理は、読み出しアドレス
(P2)の値に処理待ちの最旧パケットのデータ長(K
)を加算することによって実行される。
このように、読み出しアドレス(P2)が処理待ちの最
旧パケットを示す値から次のパケット(最旧パケットの
次に旧いパケット)を示す値に変更されることによって
、CPU5によって次に読み出されるパケットは最旧パ
ケットの次に旧いパケットとなるので、その最旧パケッ
トはCPU5によって読み出されないまま廃棄される事
になる。このため、送受信バッファメモリ3aに最旧パ
ケットの分だけ空き領域が作られるので、送受信バッフ
ァメモリ3aがオーバーフロー状態になっても新たな受
信パケットをその空き領域に書き込むことができる。
尚、ここでは、書き込みアドレス(PI )が読み出し
アドレス(P2)の値以上になった時に送受信バッファ
メモリ3aをオーバーフロー状態と判定したが、書き込
みアドレス(Pl)の値が読み出しアドレス(P2)に
接近して、その差が所定値以内になった時点で受信バッ
ファメモリ3aをオーバーフロー状態と判定してもよい
また、このように送受信バッファメモリ3aのオーバー
フロー時に最旧パケットを廃棄して空き領域を作るバッ
ファ管理方式は、第3図のような2ボートの通信装置に
限らず、さらに多くの入出力ポートを含む通信装置にも
同様にして適用できる。
[発明の効果] 以上のように、この発明によれば、バッファメモリがオ
ーバーフロー状態になった時でも新たな受信データをバ
ッファメモリに格納できるようになり、バッファメモリ
を利用した通信装置のデータ転送効率を向上させること
が可能となる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係わるバッファの管理方
式を実現するための入出力制御装置の構成を示すブロッ
ク図、第2図は第1図に示した入出力制御装置のバッフ
ァ管理動作を説明するフローチャート、第3図は従来の
バッファ管理動作を説明するための図である。 3a・・・送受信バッファメモリ、IO・・・入出力制
御装置、15・・・バッファコントロール回路、16・
・・書き込みポインタ、17・・・読み出しポインタ、
18・・・コンパレータ。 出願人代理人 弁理士 鈴江武彦

Claims (1)

    【特許請求の範囲】
  1. データの書き込み/読み出しが先頭格納位置から最終格
    納位置の順で繰り返し実行される論理リングバッファメ
    モリと、この論理リングバッファメモリにデータを書き
    込むための書き込みアドレスを示す書き込みアドレス指
    示手段と、前記論理リングバッファメモリからデータを
    読み出すための読み出しアドレスを示す読み出しアドレ
    ス指示手段と、前記書き込みアドレスと前記読み出しア
    ドレスとを比較し、その比較結果に基いて前記論理リン
    グバッファメモリのオーバーフロー状態を検出する検出
    手段と、この検出手段によって前記論理リングバッファ
    メモリのオーバーフロー状態が検出された際、前記論理
    リングバッファに格納されている最旧データが廃棄され
    るように前記読み出しアドレス指示手段の読み出しアド
    レスの値を更新する手段とを具備することを特徴とする
    バッファ管理方式。
JP2168403A 1990-06-28 1990-06-28 バッファ管理方式 Pending JPH0458646A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2168403A JPH0458646A (ja) 1990-06-28 1990-06-28 バッファ管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2168403A JPH0458646A (ja) 1990-06-28 1990-06-28 バッファ管理方式

Publications (1)

Publication Number Publication Date
JPH0458646A true JPH0458646A (ja) 1992-02-25

Family

ID=15867478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2168403A Pending JPH0458646A (ja) 1990-06-28 1990-06-28 バッファ管理方式

Country Status (1)

Country Link
JP (1) JPH0458646A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0685976A2 (en) 1994-06-01 1995-12-06 Nec Corporation Communication data receiver
JPH08331149A (ja) * 1995-06-05 1996-12-13 Nec Corp 構造化データの多重atm/stm変換装置
GB2325597A (en) * 1997-03-31 1998-11-25 Daewoo Electronics Co Ltd Discarding cells when a buffer overflows
WO2013031695A1 (ja) 2011-08-26 2013-03-07 シチズンホールディングス株式会社 Led照明装置
JP2015528223A (ja) * 2012-06-18 2015-09-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated リングバッファに基づいたデータの適応オフセット同期(adaptiveoffsetsynchronization)
WO2017030014A1 (ja) * 2015-08-18 2017-02-23 ヤマハ株式会社 コンテンツデータ受信装置、コンテンツデータ配信システム、およびコンテンツデータ受信方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0685976A2 (en) 1994-06-01 1995-12-06 Nec Corporation Communication data receiver
JPH07327038A (ja) * 1994-06-01 1995-12-12 Nec Corp データ受信装置およびバッファ管理方法
US5663948A (en) * 1994-06-01 1997-09-02 Nec Corporation Communication data receiver capable of minimizing the discarding of received data during an overflow
JPH08331149A (ja) * 1995-06-05 1996-12-13 Nec Corp 構造化データの多重atm/stm変換装置
GB2325597A (en) * 1997-03-31 1998-11-25 Daewoo Electronics Co Ltd Discarding cells when a buffer overflows
WO2013031695A1 (ja) 2011-08-26 2013-03-07 シチズンホールディングス株式会社 Led照明装置
JP2015528223A (ja) * 2012-06-18 2015-09-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated リングバッファに基づいたデータの適応オフセット同期(adaptiveoffsetsynchronization)
US9621331B2 (en) 2012-06-18 2017-04-11 Qualcomm Incorporated Adaptive offset synchronization of data based on ring buffers
WO2017030014A1 (ja) * 2015-08-18 2017-02-23 ヤマハ株式会社 コンテンツデータ受信装置、コンテンツデータ配信システム、およびコンテンツデータ受信方法
JP2017041695A (ja) * 2015-08-18 2017-02-23 ヤマハ株式会社 コンテンツデータ受信装置
US10496325B2 (en) 2015-08-18 2019-12-03 Yamaha Corporation Content data receiving device, content data delivery system, and content data receiving method

Similar Documents

Publication Publication Date Title
EP0459758B1 (en) Network adapter having memories configured as logical FIFOs to transmit and receive packet data
JP2720957B2 (ja) パケット・バッファ装置
US5909564A (en) Multi-port ethernet frame switch
US5043981A (en) Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO
EP0797335B1 (en) Network adapter
US5768530A (en) High speed integrated circuit interface for fibre channel communications
US6526446B1 (en) Hardware only transmission control protocol segmentation for a high performance network interface card
EP0525985B1 (en) High speed duplex data link interface
US5845085A (en) System for receiving a data stream of serialized data
JPH07262152A (ja) コンピュータシステム
US6952739B2 (en) Method and device for parameter independent buffer underrun prevention
US7054962B2 (en) Embedded system having broadcast data storing controller
US6622183B1 (en) Data transmission buffer having frame counter feedback for re-transmitting aborted data frames
CN111600809B (zh) 一种千兆单光口服务器适配器
JPH0458646A (ja) バッファ管理方式
JPS6359042A (ja) 通信インタ−フエイス装置
JP3190214B2 (ja) データ送受信システム
US6987761B2 (en) Inbound data stream controller with pre-recognition of frame sequence
CN100553227C (zh) 网络通讯的装置及其方法
JP3255120B2 (ja) トレイラ処理システム
JP3164996B2 (ja) シリアルデータ受信装置
US20030172176A1 (en) Embedded system having multiple data receiving channels
JP2000200175A (ja) データ送出システム
JPH10105488A (ja) 通信用コントローラ
CN121144226A (zh) Sdio主设备间的通信方法及桥接系统、存储介质