JPH07225738A - 受信バッファの管理方法および通信装置 - Google Patents

受信バッファの管理方法および通信装置

Info

Publication number
JPH07225738A
JPH07225738A JP6015088A JP1508894A JPH07225738A JP H07225738 A JPH07225738 A JP H07225738A JP 6015088 A JP6015088 A JP 6015088A JP 1508894 A JP1508894 A JP 1508894A JP H07225738 A JPH07225738 A JP H07225738A
Authority
JP
Japan
Prior art keywords
buffer
management table
received data
data
pointer
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
JP6015088A
Other languages
English (en)
Inventor
Kazuaki Tsuchiya
一暁 土屋
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6015088A priority Critical patent/JPH07225738A/ja
Publication of JPH07225738A publication Critical patent/JPH07225738A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【目的】受信データを分割して格納する固定サイズのバ
ッファを効率良く利用し、かつ容易に管理できる受信バ
ッファの管理方法および通信装置を提供することを目的
とする。 【構成】受信データを少なくとも1つ以上に分割して格
納する固定サイズのバッファ5のアドレスを示すバッフ
ァポインタBPと各バッファ5に分割して格納した受信
データの長さを示すデータ長を一括して保持する第1の
管理テーブル3と、少なくとも1つ以上の第1の管理テ
ーブル3のアドレスを示すテーブルポインタTP一括し
て保持する第2の管理テーブル4を用いて、バッファ管
理手段2がバッファ5の管理を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、可変サイズの受信デー
タを固定サイズのバッファに分割して格納するのに好適
な通信コントローラの受信バッファの管理方法に関す
る。
【0002】
【従来の技術】図2は、可変サイズの受信データを扱う
従来の通信コントローラの受信バッファの管理方法を表
す図である。
【0003】従来の通信コントローラの受信バッファの
管理方法では、通信コントローラがデータを受信するに
先立って、受信データを格納するために用意したバッフ
ァ5の空き領域をCPU(図示せず)によって固定サイ
ズに分割し、分割後のバッファ5の内部に、次に接続す
るバッファ5のアドレスを示す次ポインタ6を保持する
ことによって、バッファ5をチェイン接続して空きバッ
ファの列12を作成する。空きバッファの列12では、
次に接続するバッファ5がない場合、次に接続するバッ
ファ5がないことを示す値が次ポインタ6に設定され
る。また、分割後のバッファ5の内部には、分割して格
納する受信データの長さを示すデータ長7のフィールド
が設けられる。また、空きバッファの列12には、列の
先頭を指定する空き先頭ポインタ8と列の末尾を指定す
る空き末尾ポインタ9が設けられる。
【0004】通信コントローラでは、データを受信する
と、空き先頭ポインタ8が指定する空きバッファの列1
2の先頭のバッファ5に受信データを格納し、格納した
受信データの長さをデータ長7のフィールドに設定す
る。そして、受信データが格納されたバッファ5は、空
きバッファ12の列から外され、バッファ5の内部に、
次に接続するバッファ5のアドレスを示す次ポインタ6
を保持することによって、バッファ5をチェイン接続し
て使用中バッファの列13を作成する。使用中バッファ
の列13では、次に接続するバッファ5がない場合、次
に接続するバッファ5がないことを示す値が次ポインタ
6に設定される。また、使用中バッファの列13には、
列の先頭を指定する使用中先頭ポインタ10と列の末尾
を指定する使用中末尾ポインタ11が設けられる。すで
に使用中のバッファの列13が作成されている場合、受
信データを格納したバッファ5は、使用中バッファの列
13の末尾に接続される。具体的には、使用中末尾ポイ
ンタ11と使用中バッファの列13の末尾のバッファ5
の内部に保持する次ポインタ6を空き先頭ポインタ8の
値に書換え、また空き先頭ポインタ8を空きバッファの
列12の先頭のバッファ5の内部に保持する次ポインタ
6の値に書換える。
【0005】CPU(図示せず)では、使用中先頭ポイ
ンタ10が指定する使用中バッファの列13の先頭のバ
ッファ5に格納されている受信データを取り出す。受信
データが取り出されたバッファ5は、空きバッファの列
12の末尾に接続される。具体的には、空き末尾ポイン
タ9と空きバッファの列12の末尾のバッファ5の内部
に保持する次ポインタ6を使用中先頭ポインタ10の値
に書換え、また使用中先頭ポインタ10を使用中バッフ
ァの列13の先頭のバッファ5の内部に保持する次ポイ
ンタ6の値に書換える。
【0006】ところで、通信コントローラが可変サイズ
の受信データを確実に1個の固定サイズのバッファ5に
格納するには、受信しうるデータの最大サイズより大き
いサイズのバッファ5を用いれば良い。
【0007】しかし、受信しうるデータの最大サイズよ
り大きいサイズのバッファ5を用いることは、受信しう
るデータの最大サイズに比較して小さいサイズのデータ
を受信することが多い場合、バッファ5の領域の殆どが
使用されず無駄になる。
【0008】可変サイズの受信データを1個の固定サイ
ズのバッファ5に格納し、固定サイズのバッファ5の領
域を効率良く利用する通信コントローラの受信バッファ
の管理方法の一例としては、特開平4-237238号公報に記
載されている受信バッファ管理方式が挙げられる。
【0009】上記受信バッファ管理方式では、サイズの
異なる空きバッファの列12を用意し、受信データより
大きく、かつ受信データに最も近いサイズのバッファ5
を選択して、受信データを1個の固定サイズのバッファ
5に格納する。
【0010】また、上記受信バッファ管理方式以外の方
法でバッファ5の領域を効率良く利用するには、受信し
うるデータの最大サイズに比較して小さい固定サイズの
バッファ5を用い、バッファ5のサイズより大きいサイ
ズのデータを受信した場合には、複数のバッファ5に受
信データを分割して格納する方法もある。
【0011】
【発明が解決しようとする課題】しかしながら、前述し
た従来技術は以下の点について問題がある。
【0012】上記通信コントローラの受信バッファの管
理方法では、受信データを格納するために用意したバッ
ファ5の空き領域を固定サイズに分割し、分割後のバッ
ファ5の内部に、次に接続するバッファ5のアドレスを
示す次ポインタ6を保持することによって、バッファ5
をチェイン接続して空きバッファの列12を作成する。
同様にして、受信データを格納したバッファ5もチェイ
ン接続して使用中バッファの列13を作成する。このた
め、空きバッファの列12や使用中バッファの列13で
次ポインタ6の管理を誤ると、管理を誤った次ポインタ
6にチェイン接続するバッファ5のアドレスを得ること
できなくなる。すなわち、空きバッファの列12や使用
中バッファの列13では、管理を誤った次ポインタ6に
チェイン接続する後続全てのバッファ5のアドレスを得
ることができなくなり、バッファ数が減少する。
【0013】さらに、バッファ5の領域を効率良く利用
するため、受信しうるデータの最大サイズに比較して小
さい固定サイズのバッファ5を用いる場合、バッファ5
のサイズより大きいサイズのデータを受信すると、複数
のバッファ5に受信データを分割して格納する。このた
め、受信データを分割して格納したバッファ5から所望
の受信データを取り出すには、バッファ5の内部に保持
する次ポインタ6によってチェイン接続を順次手繰って
いき、所望の受信データを格納しているバッファ5のア
ドレスを得なければならない。したがって、所望の受信
データを高速に取り出せない。
【0014】また、上記特開平4-237238号公報に記載さ
れている受信バッファの管理方法では、サイズの異なる
空きバッファの列12を用意し、受信データより大き
く、かつ受信データに最も近いサイズのバッファ5を選
択して、受信データを1個のバッファ5に格納する。こ
のため、所望の受信データを高速に取り出すことができ
る。しかし、最大サイズLのデータを受信しうる通信コ
ントローラで、仮りにサイズaとサイズb(a<L<
b)のサイズの異なる2種類の空きバッファの列12を
用意しても、サイズc(c<a<L<b)のデータを受
信することが多い場合、サイズbの空きバッファの列1
2は使用されず無駄になる。同様に、サイズd(a<d
<L<b)のデータを受信することが多い場合、サイズ
aの空きバッファの列12は使用されず無駄になる。
【0015】また、可変サイズの受信データを扱うHD
LC(ハイレベルデータリンクコントロール)手順で
は、フレームのデータの開始部と終了部に特定パターン
のフラグを付すことにより、開始フラグと終了フラグの
間に挟む任意のサイズのデータを送信できる。送信側で
は1フレームのデータの開始部と終了部に特定パターン
のフラグを付して送信し、受信側では開始フラグと終了
フラグを識別することにより1フレームを判別する。受
信側では終了フラグを識別するまで、フレームのサイズ
を判断できない。このため、受信しうるフレームのデー
タの最大サイズより大きいサイズのバッファ5に受信デ
ータを一旦格納し、終了フラグを識別して受信データの
サイズを判断した後、受信データより大きく、かつ受信
データに最も近いサイズのバッファ5に受信データをコ
ピーすることになる。したがって、バッファ間データコ
ピーによって、受信処理性能を落すことになる。
【0016】上記従来技術の問題点を解決するために、
本発明の目的は、受信しうるデータの最大サイズに比較
して小さい固定サイズのバッファ5を用い、バッファ5
のサイズより大きいサイズのデータを受信した場合に
は、複数のバッファ5に受信データを分割して格納する
ことによって、バッファ5の領域を効率良く利用し、か
つ固定サイズに分割したバッファ5の管理を容易にでき
る方法を提供することにある。
【0017】
【課題を解決するための手段】本発明の課題を解決する
手段を、図1を用いて説明する。
【0018】本発明は上記の課題を達成するために、受
信データをバッファ5に格納する手段と受信データを格
納するバッファ5を管理する手段で構成される通信コン
トローラ1において、受信データを格納するバッファ5
を管理する手段として、以下に示す手段を設置すること
により問題の解決を図る。
【0019】(1)受信バッファ管理手段2 受信データを少なくとも1つ以上に分割して格納する固
定サイズのバッファ5のアドレスを示すバッファポイン
タBPと各バッファに分割して格納した受信データの長
さを示すデータ長LENを一括して保持する第1の管理
テーブル3と、少なくとも1つ以上の第1の管理テーブ
ル3のアドレスを示すテーブルポインタTPを一括して
保持する第2の管理テーブル4を用いてバッファ5を管
理する。第2の管理テーブル4には、次に受信データを
取り出すバッファ5のアドレスを保持する第1の管理テ
ーブル3のアドレスを保持する第2の管理テーブル4を
指定するリードポインタRPと、次に受信データを格納
するバッファ5のアドレスを保持する第1の管理テーブ
ル3のアドレスを保持する第2の管理テーブル4を指定
するライトポインタWPと、受信データを格納するため
の空きのバッファ5を次に割り当てる第1の管理テーブ
ル3のアドレスを保持する第2の管理テーブル4を指定
する空きポインタEPが設けられる。
【0020】
【作用】本発明の作用を図1を用いて説明する。
【0021】受信データを少なくとも1つ以上に分割し
て格納する固定サイズのバッファ5のアドレスを示すバ
ッファポインタBPを第1の管理テーブル3が一括して
保持し、さらに少なくとも1つ以上の第1の管理テーブ
ル3のアドレスを示すテーブルポインタTPを第2の管
理テーブル4が一括して保持する。したがって、 (1)第1の管理テーブル3で保持するバッファ5のア
ドレスの管理を誤っても、アドレスの管理を誤った以外
のバッファ5は失うことがなく使用することができ、ア
ドレスの管理誤りによるバッファ数の減少を最小限に抑
えることができる。同様に、第2の管理テーブル4で保
持する第1の管理テーブル3のアドレスの管理を誤って
も、アドレスの管理を誤った以外の第1の管理テーブル
3でアドレスを保持するバッファ5は失うことがなく使
用することができ、アドレスの管理誤りによるバッファ
数の減少を最小限に抑えることができる。
【0022】(2)第1の管理テーブル3と第2の管理
テーブル4から、所望のバッファ5のアドレスを容易に
得ることができる。すなわち、受信データの所望のフィ
ールドを容易に取り出せる。
【0023】
【実施例】本発明の一実施例について説明する。
【0024】図1は、可変サイズの受信データを扱う通
信コントローラ1の本発明の受信バッファの管理方法を
表す図である。
【0025】本発明の受信バッファの管理方法では、図
1に示すバッファ管理手段2によって、可変サイズの受
信データを分割して格納する固定サイズのバッファ5を
管理する。
【0026】バッファ管理手段2は、受信データを少な
くとも1つ以上に分割して格納する固定サイズのバッフ
ァ5のアドレスを示すバッファポインタBPと各バッフ
ァ5に分割して格納した受信データの長さを示すデータ
長LENを一括して保持する第1の管理テーブル3と、
少なくとも1つ以上の第1の管理テーブル3のアドレス
を示すテーブルポインタTPを一括して保持する第2の
管理テーブル4を用いて、バッファ5を管理する。第2
の管理テーブル4には、次に受信データを取り出すバッ
ファ5のアドレスを保持する第1の管理テーブル3のア
ドレスを保持する第2の管理テーブル4を指定するリー
ドポインタRPと、次に受信データを格納するバッファ
5のアドレスを保持する第1の管理テーブル3のアドレ
スを保持する第2の管理テーブル4を指定するライトポ
インタWPと、受信データを格納するための空きのバッ
ファ5を次に割り当てる第1の管理テーブル3のアドレ
スを保持する第2の管理テーブル4を指定する空きポイ
ンタEPが設けられる。
【0027】第1の管理テーブル3のアドレスは、第2
の管理テーブル4が一括して保持するため、所望の第1
の管理テーブル3のアドレスを第2の管理テーブル4か
ら直接得ることができる。仮りに、図15に示すように
第2の管理テーブル4で保持する第1の管理テーブル3
のアドレスの管理を誤ったとしても、アドレスの管理を
誤った以外の第1の管理テーブルのアドレス3は得るこ
とができる。同様に、バッファ5のアドレスは、第1の
管理テーブル3が一括して保持するため、所望のバッフ
ァ5のアドレスを第1の管理テーブル3から直接得るこ
とができる。仮りに、図15に示すように第1の管理テ
ーブル3で保持するバッファ5のアドレスの管理を誤っ
たとしても、アドレスの管理を誤った以外のバッファ5
のアドレスは得ることができる。
【0028】初めに、図3を用いて、通信コントローラ
1がデータを受信するに先立ち、受信データを格納する
固定サイズのバッファ5をCPU(図示せず)によって
第1の管理テーブル3に割り当てる手順について説明す
る。通信コントローラ1が受信しうるデータの最大サイ
ズをL、受信データを格納するバッファのサイズをa
(a<L)とする。通信コントローラ1が可変サイズの
受信データを確実に第1の管理テーブル3がアドレスを
一括して保持する固定サイズaのバッファ5に分割して
格納するには、通信コントローラ1がデータを受信する
に先立ち、第1の管理テーブル3に(サイズLをサイズ
aで割った商+1)個のバッファ5を割り当てておけば
良い。なお、バッファ5を割り当てない第1の管理テー
ブルのデータ長LENとバッファポインタBPのフィー
ルドの用途については後述する。
【0029】受信データを格納する固定サイズaのバッ
ファ5を第1の管理テーブル3に割り当てるため、CP
U(図示せず)は以下の処理を行う。処理フローを図4
に示す。
【0030】(1)受信データを格納するために用意し
たバッファ5の空き領域を固定サイズaに分割する(ス
テップ1)。
【0031】(2)空きポインタEPが指定する第2の
管理テーブル4がアドレスを保持する第1の管理テーブ
ルのバッファポインタBPのフィールドに、ステップ1
で固定サイズaに分割したバッファ5のアドレスを設定
する。(サイズLをサイズaで割った商+1)個のバッ
ファ5を第1の管理テーブル3に割り当てるまで、本動
作を繰り返す(ステップ2)。
【0032】(3)次にバッファ5を割り当てる第1の
管理テーブル3のアドレスを保持する第2の管理テーブ
ル4を指定する値に空きポインタEPを更新する(ステ
ップ3)。
【0033】次に、図5を用いて、通信コントローラ1
がデータを受信して、第1の管理テーブル3に割り当て
られている固定サイズaのバッファ5に受信データを格
納する手順について説明する。
【0034】第1の管理テーブル3に割り当てられてい
る固定サイズaのバッファ5に受信データを格納するた
め、通信コントローラ1は以下の処理を行う。処理フロ
ーを図6に示す。
【0035】(4)ライトポインタWPが指定する第2
の管理テーブル4がアドレスを保持する第1の管理テー
ブル3に割り当てられている先頭のバッファ5に受信デ
ータを格納する。そして、格納した受信データの長さを
第1の管理テーブル3のデータ長LENのフィールドに
設定する。受信データのサイズがバッファ5のサイズa
より大きい場合、第1の管理テーブル3に割り当てられ
ている後続のバッファ5に受信データを分割して格納す
る(ステップ4)。
【0036】(5)次に受信データを格納するバッファ
5のアドレスを保持する第1の管理テーブル3のアドレ
スを保持する第2の管理テーブル4を指定する値にライ
トポインタWPを更新する(ステップ5)。
【0037】次に、図7を用いて、ステップ4で受信デ
ータを格納しなかったバッファ5を効率良く利用するた
め、CPU(図示せず)によって新たに第1の管理テー
ブルに割り当てる手順について説明する。
【0038】ステップ4で受信データを格納しなかった
バッファ5を新たに第1の管理テーブルに割り当てるた
め、CPU(図示せず)は以下の処理を行う。処理フロ
ーを図8に示す。
【0039】(6)リードポインタRPが指定する第2
の管理テーブル4がアドレスを保持する第1の管理テー
ブル3のデータ長LENのフィールドが0に対応するバ
ッファポインタBPの値を、空きポインタEPが指定す
る第2の管理テーブル4がアドレスを保持する第1の管
理テーブル3のバッファポインタBPのフィールドに設
定する。そして、リードポインタRPが指定する第2の
管理テーブル4がアドレスを保持する第1の管理テーブ
ル3のデータ長LENのフィールドが0に対応するバッ
ファポインタBPのフィールドを保持するバッファ5が
ないことを示す値に設定する(ステップ6)。
【0040】(7)ステップ6で(サイズLをサイズa
で割った商+1)個のバッファ5を新たに第1の管理テ
ーブル3に割り当てた場合、次にバッファ5を割り当て
る第1の管理テーブル3のアドレスを保持する第2の管
理テーブル4を指定する値に空きポインタEPを更新す
る(ステップ7)。
【0041】次に、図9を用いて、ステップ4で固定サ
イズaのバッファ5に通信コントローラ1が格納した受
信データの所望のフィールドを取り出し、受信データの
所望のフィールドの取り出しが終わったバッファ5をC
PU(図示せず)によって新たに第1の管理テーブル3
に割り当てる手順について説明する。
【0042】ステップ4で固定サイズaのバッファ5に
通信コントローラ1が格納した受信データの所望のフィ
ールドを取り出し、受信データの所望のフィールドの取
り出しが終わったバッファ5を新たに第1の管理テーブ
ル3に割り当てるため、CPU(図示せず)は以下の処
理を行う。処理フローを図10に示す。
【0043】(8)リードポインタRPが指定する第2
の管理テーブル4がアドレスを保持する第1の管理テー
ブル3のデータ長LENとバッファポインタBPから、
受信データの所望のフィールドを格納しているバッファ
5のアドレスを得る。具体的には、受信データの先頭か
らnバイト目のフィールドを取り出したい場合、第1の
管理テーブル3が保持するデータ長LENをnから引い
ていき、0あるいは負となったときのデータ長LENに
対応するバッファポインタBPが先頭からnバイト目の
フィールドを格納しているバッファ5のアドレスである
(ステップ8)。
【0044】(9)ステップ8で得たアドレスのバッフ
ァ5から受信データの所望のフィールドを取り出す(ス
テップ9)。
【0045】(10)リードポインタRPが指定する第2
の管理テーブル4がアドレスを保持する第1の管理テー
ブル3のバッファポインタBPの値を、空きポインタE
Pが指定する第2の管理テーブル4がアドレスを保持す
る第1の管理テーブル3のバッファポインタBPのフィ
ールドに設定する。そして、リードポインタRPが指定
する第2の管理テーブル4がアドレスを保持する第1の
管理テーブル3のバッファポインタBPのフィールドを
保持するバッファ5がないことを示す値に設定する(ス
テップ10)。
【0046】(11)ステップ10で(サイズLをサイズ
aで割った商+1)個のバッファ5を第1の管理テーブ
ル3に割り当てた場合、次にバッファを割り当てる第1
の管理テーブル3のアドレスを保持する第2の管理テー
ブル4を指定する値に空きポインタを更新する(ステッ
プ12)。
【0047】(12)次に取り出す受信データを格納して
いるバッファ5のアドレスを保持する第1の管理テーブ
ル3のアドレスを保持する第2の管理テーブル4を指定
する値にリードポインタRPを更新する(ステップ1
2)。
【0048】次に、図11を用いて、ステップ4で固定
サイズaのバッファ5に通信コントローラ1が格納した
受信データに、新たなバッファ5に格納されたデータを
CPU(図示せず)によって追加・挿入する手順につい
て説明する。
【0049】ステップ4で固定サイズaのバッファ5に
通信コントローラ1が格納した受信データに新たなバッ
ファ5に格納されたデータを追加・挿入するため、CP
U(図示せず)は以下の処理を行う。処理フローを図1
2に示す。
【0050】(13)リードポインタRPが指定する第2
の管理テーブル4がアドレスを保持する第1の管理テー
ブル3での、新たなデータを格納しているバッファ5を
追加・挿入する位置のデータ長LENとバッファポイン
タBPのアドレスを得る(ステップ13)。
【0051】(14)ステップ13で得たアドレスのデー
タ長LENとバッファポインタBPを含む第1の管理テ
ーブル3の後に続くデータ長LENとバッファポインタ
BPのフィールドを後にシフトして空ける(ステップ1
4)。
【0052】(15)ステップ14で後にシフトして空き
となった第1の管理テーブル3のデータ長LENとバッ
ファポインタBPの元のフィールドに、追加・挿入する
新たなデータを格納しているバッファ5のデータ長LE
NとバッファポインタBPの値を設定する(ステップ1
5)。
【0053】次に、図13を用いて、ステップ15で追
加・挿入したバッファ5に格納されたデータをCPU
(図示せず)によって削除する手順について説明する。
【0054】ステップ15で追加・挿入したバッファ5
に格納されたデータを削除するため、CPU(図示せ
ず)は以下の処理を行う。処理フローを図14に示す。
【0055】(16)リードポインタRPが指定する第2
の管理テーブル4がアドレスを保持する第1の管理テー
ブル3での、削除するデータを格納しているバッファ5
のデータ長LENとバッファポインタBPのアドレスを
得る(ステップ16)。
【0056】(17)ステップ16で得たアドレスのバッ
ファ5のデータ長LENとバッファポインタBPのフィ
ールドを、第1の管理テーブル3の後に続くデータ長L
ENとバッファポインタBPのフィールドを前にシフト
して詰める(ステップ17)。
【0057】(18)ステップ17で前にシフトして空き
となった第1の管理テーブル3のデータ長LENとバッ
ファポインタBPのフィールドを、保持するバッファ5
がないことを示す値に設定する(ステップ18)。
【0058】上記方法により、通信コントローラ1が受
信データを分割して格納する固定サイズaのバッファ5
を管理する。
【0059】
【発明の効果】以上のように、本発明によれば以下の効
果がある。
【0060】本発明によれば、受信データを分割して格
納する固定サイズaのバッファ5のアドレスを第1の管
理テーブル3が一括して保持し、さらに少なくとも1つ
以上の第1の管理テーブル3のアドレスを第2の管理テ
ーブル4が一括して保持することによって、受信データ
を分割して格納する固定サイズaのバッファ5を効率良
く利用し、また受信データの所望のフィールドを容易に
取り出し、さらにアドレスの管理誤りによるバッファ数
の減少を最小限に抑えることができる通信コントローラ
1の受信バッファの管理方法を実現できる。
【図面の簡単な説明】
【図1】本発明の受信バッファの管理方法を示す図であ
る。
【図2】従来の受信バッファの管理方法を示す図であ
る。
【図3】バッファ5の初期割り当てを示す図である。
【図4】バッファ5の初期割り当てのフローを示す図で
ある。
【図5】バッファ5への受信データ格納を示す図であ
る。
【図6】バッファ5への受信データ格納のフローを示す
図である。
【図7】受信データを格納していないバッファ5の再割
り当てを示す図である。
【図8】受信データを格納していないバッファ5の再割
り当てのフローを示す図である。
【図9】受信データの取り出しとバッファ5の再割り当
てを示す図である。
【図10】受信データの取り出しとバッファ5の再割り
当てのフローを示す図である。
【図11】データの追加・挿入を示す図である。
【図12】データの追加・挿入のフローを示す図であ
る。
【図13】データの削除を示す図である。
【図14】データの削除のフローを示す図である。
【図15】本発明の受信バッファの管理方法でのアドレ
スの管理誤りを示す図である。
【符号の説明】
1…通信コントローラ、2…受信バッファ管理手段、3
…第1の管理テーブル、4…第2の管理テーブル、5…
バッファ、6…次ポインタ、7…データ長、8…空き先
頭ポインタ、9…空き末尾ポインタ、10…使用中先頭
ポインタ、11…使用中末尾ポインタ、12…空きバッ
ファの列、13…使用中バッファの列。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】受信データをバッファに格納する手段と受
    信データを格納するバッファを管理する手段で構成され
    る通信コントローラにおいて、 受信データを少なくとも1つ以上に分割して格納する固
    定サイズの各バッファのアドレスを一括して保持する第
    1の管理テーブルと、少なくとも1つ以上の第1の管理
    テーブルのアドレスを一括して保持する第2の管理テー
    ブルを用いて、バッファを管理することを特徴とする受
    信バッファの管理方法。
  2. 【請求項2】請求項1記載の受信バッファの管理方法を
    用いて、バッファを管理することを特徴とする通信コン
    トローラ。
  3. 【請求項3】請求項2記載の通信コントローラを内蔵す
    ることを特徴とする通信装置。
  4. 【請求項4】受信データをバッファに格納する手段と受
    信データを格納するバッファを管理する手段で構成され
    る通信コントローラにおいて、 固定サイズのバッファに格納した受信データの長さを示
    すデータ長と受信データを格納したバッファのアドレス
    を示すバッファポインタを組として構成する情報を複数
    保持する第1の管理テーブルと、第1の管理テーブルの
    アドレスを示すテーブルポインタで構成する情報を複数
    保持する第2の管理テーブルを用いて、バッファを管理
    することを特徴とする受信バッファの管理方法。
  5. 【請求項5】請求項4記載の受信バッファの管理方法に
    おいて、 第1の管理テーブルが保持するデータ長が0のとき、対
    応するバッファポインタが指定するバッファを空きバッ
    ファとして管理することを特徴とする受信バッファの管
    理方法。
JP6015088A 1994-02-09 1994-02-09 受信バッファの管理方法および通信装置 Pending JPH07225738A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6015088A JPH07225738A (ja) 1994-02-09 1994-02-09 受信バッファの管理方法および通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6015088A JPH07225738A (ja) 1994-02-09 1994-02-09 受信バッファの管理方法および通信装置

Publications (1)

Publication Number Publication Date
JPH07225738A true JPH07225738A (ja) 1995-08-22

Family

ID=11879095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6015088A Pending JPH07225738A (ja) 1994-02-09 1994-02-09 受信バッファの管理方法および通信装置

Country Status (1)

Country Link
JP (1) JPH07225738A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100431315C (zh) * 2002-06-07 2008-11-05 友讯科技股份有限公司 可增加内嵌式以太网络控制器送收效率的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100431315C (zh) * 2002-06-07 2008-11-05 友讯科技股份有限公司 可增加内嵌式以太网络控制器送收效率的方法

Similar Documents

Publication Publication Date Title
EP0375188B1 (en) File system
US5737743A (en) Disk block controller and file system which supports large files by allocating multiple sequential physical blocks to logical blocks
US4513391A (en) Text processing apparatus with two-stage formatting of text
EP0446940A2 (en) Dynamic data storage system
KR980013142A (ko) 비동기 전송 방식 통신 네트워크, 시스템 처리 성능 및 메모리 이용 증진 방법
JPH0695954A (ja) コンサーバティブ・スタックとジェネレイショナル・ヒープガーベージ・コレクション用コンピュータシステム及び方法
JPS6310250A (ja) 仮想論理ボリユ−ム管理方式
US4780815A (en) Memory control method and apparatus
US20030121030A1 (en) Method for implementing dual link list structure to enable fast link-list pointer updates
US7330956B1 (en) Bucket based memory allocation
JP3543661B2 (ja) 交換機ファイルシステムにおけるバッファキャッシュ方法および装置
CN113805816B (zh) 一种磁盘空间管理方法、装置、设备及存储介质
US6629114B2 (en) Method, system, and computer program product for managing a re-usable resource
JPH07225738A (ja) 受信バッファの管理方法および通信装置
KR19980056298A (ko) 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법
EP0569120A2 (en) Data buffering mechanism
US6633928B2 (en) Fast process context switching buffer
JPS63124165A (ja) 会話型情報処理システムのテキスト編集方式
KR100248083B1 (ko) 순환큐에서의 가변길이 메세지 처리방법
JP2994138B2 (ja) 対話処理システムにおけるカタログの変数管理方法
JPH1069429A (ja) バッファ割当て管理装置およびバッファ割当て管理プログラム
JPH0991195A (ja) ブロックメモリ管理装置
JPH08249225A (ja) メモリ管理装置
JPH0668088A (ja) 分散処理型エディタにおけるテキスト管理方式
KR20030044498A (ko) 주기억 장치 데이터베이스 관리 시스템의 자료 구조와블록 할당 및 레코드 검색 방법

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees