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

バッファ管理方式

Info

Publication number
JPH03253952A
JPH03253952A JP5317290A JP5317290A JPH03253952A JP H03253952 A JPH03253952 A JP H03253952A JP 5317290 A JP5317290 A JP 5317290A JP 5317290 A JP5317290 A JP 5317290A JP H03253952 A JPH03253952 A JP H03253952A
Authority
JP
Japan
Prior art keywords
buffer
cell
cells
pool
request
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
JP5317290A
Other languages
English (en)
Inventor
Hiroyuki Yamashita
博之 山下
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP5317290A priority Critical patent/JPH03253952A/ja
Publication of JPH03253952A publication Critical patent/JPH03253952A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、複数の使用者が共用するバッファメモリを複
数のバッファセルに分割して使用するシステムに好適な
バッファ管理方式に関するものである。
[従来の技術] 従来より、種々のシステムにおいて、バッファメモリを
複数の使用者が共用することが行われている。このよう
なシステムでは、バッファメモリを複数のバッファセル
に分割し、そのバッファセルごとに「使用中」あるいは
「未使用」の状態を表すフラグを設け、フラグのアドレ
スと対応するバッファセルのメモリアドレスとが1対1
に対応するようにそのフラグを配置したバッファ状態テ
ーブル群を構成して、各使用者のバッファ確保要求等を
管理していた。即ち、使用者からバッファ確保要求がな
されると、そのバッファ確保要求時ごとにバッファ状態
テーブル群の「未使用」状態のフラグを探索して、空い
ているバッファセルをその使用者用に確保していた。
このような従来の監理方式によれば、例えば、ある使用
者lが確保したバッファセル1にデータ1を設定して他
の使用者2に引継ぎ、使用者2がデータlの前方にデー
タ1に連続するようにデータ2を設定する場合、使用者
2は別のバッファセル2を確保した上でデータ2をバッ
ファセル2に設定し、バッファセル2の次にバッファセ
ルlをチエインしていた。
E発明が解決しようとする課題] しかしながら、上記従来の技術におけるバッファ管理方
式では、以下に述べる性能上のオーバヘッドが問題点と
なっていた。
(1)バッファ確保要求時ごとに「未使用」状態のフラ
グを探索するため、特に、残りのバッファセル数が少な
くなると、バッファ確保処理に多くの時間を要し、性能
上のオーバヘッドとなっていた。
(2)バッファセルのチエインを行う場合、前述の従来
例で述べれば、バッファセル2の確保処理とチエインを
張る処理を必要とし、かつ他の使用者3が両バッファセ
ルのチエインをたどって連続するデータ2及びデータ1
を読出す処理に余分な時間を要するなど、性能上のオー
バヘッドとなっていた。
本発明は、性能上のオーバヘッドの増大という従来のバ
ッファ管理方式の問題点を、システム規模の大きな増大
を伴わないで解決することを目的とする。
[課題を解決するための手段] 上記の目的を達成するための本発明のバッファ管理方式
の第1の構成は、 バッファメモリを複数のバッファセルに分割し、各バッ
ファセルに属性を付与してそれぞれに対応する使用中あ
るいは未使用を表わすフラグを設け、そのフラグにより
使用者の要求に応じてバッファセルの確保を行うバッフ
ァ管理方式において、予め上記フラグか未使用であるバ
ッファセルを所定数まで確保する手段と、上記確保した
バッファセルの属性を記憶しておく手段とを設け、上記
使用者からのバッファセルの確保の要求に対し上記属性
を記憶しておく手段から必要な数のバッファセルの属性
を出力することを特徴とする。
また、同じく本発明の第2の構成は、 バッファメモリを複数のバッファセルに分割し、各バッ
ファセルに属性を付与してそれぞれに対応する使用中あ
るいは未使用を表わすフラグを設け、そのフラグにより
使用者の要求に応じてバッファセルの確保を行うバッフ
ァ管理方式において、上記バッファセルの属性に対応し
てバッファセルの形式に関する情報を記憶しておく手段
と、予め与えられた上記形式に関する情報に従ってバッ
ファセルの前部に指定の長さのオフセットフィールドを
設定する手段とを設け、上記使用者のバッファセルの確
保の要求に対し該バッファセルとともに上記オフセット
フィールドも合せて確保しつつその確保したバッファセ
ルの属性を出力することを特徴とする。
[作用コ 本発明は、バッファ管理の処理空き時間などに使用中/
不使用のフラグを検索して、予め所定数のバッファセル
を確保しておき、利用者がバッファセルの確保を要求し
たときは、その確保した所定数のバッファセルから必要
な数のバッファセルの属性を出力してバッファセルを即
座に割り当てることにより、使用者のバッファ確保持ち
時間をほぼ持ち無しに短縮して性能上のオーバヘッドを
短縮する。
また、使用者が指定した場合には、バッファセルの前方
にあらかじめ初期設定した長さのオフセットフィールド
を有する形式のバッファセルを、オフセットフィールド
長を指定のバッファW理テーブルに初期設定しておくこ
とにより管理し、バッファセルの確保の要求に対して出
力する属性は、バッファセルに対応させることにより、
使用者が別のバッファを確保してチエインすることなく
、バッファセルの前部にデータを設定できるようにして
、新たなデータ設定用のバッファセルの確保の処理とチ
エインの処理の必要性を無くし、性能上のオーバヘッド
を短縮する。
[実施例] 以下、本発明の実施例を図面に基づいて詳細に説明する
第1図は本発明の一実施例の概念を示すバッファ管理部
のブロック図である。本実施例は、複数の使用者がバッ
ファメモリを共用し、そのバッファメモリを複数のプー
ルに分割し、さらにそのプールを複数のバッファセルに
分割し、プールごとに各バッファセルの使用状態を管理
し、使用者からのバッファ確保要求あるいは解放要求に
基づいてバッファセルの確保あるいは解放を行うシステ
ムに適用した場合を例とする。本実施例の構成において
、Iは使用者からの要求内容を分析し各処理部に伝える
要求分析処理部、2はバッファセル数やバッファセル長
およびオフセットフィールド長等のバッファ情報を保持
するバッファ管理テーブル群、3は各バッファセルごと
に「使用中」あるいは「未使用」という状態を表しかつ
そのアドレスとバッファセルのメモリアドレスとがl対
lに対応するように配置したフラグにより構成されるバ
ッファ状態テーブル群、4は要求分析処理部lから伝達
されるバッファ情報設定要求により指定されるバッファ
情報を指定のバッファ管理テーブル群2のテーブルに設
定するとともに指定のバッファ状態テーブル群3のテー
ブルを未使用状態に初期化するバッファ管理処理部、5
は予め処理空き時間などに各プール毎にバッファセルを
所定数になるまでバッファ状態テーブル群3のテーブル
の探索により未使用のバッファセルを見つけそのバッフ
ァアドレスを出力するとともに当該ノ<・ソファセルを
使用中とするようバッファ状態テーブル群3を更新する
バッファ確保処理部、6は要求処理部Iから伝達される
使用者からのバッファ解放要求に基づいて指定のメモリ
アドレスに対応するバッファセルを未使用とするよう対
応するバッファ状態テーブル群3のテーブルを更新する
バッファ解放処理部、7はバッファ確保処理部5により
確保され出力されるバッファセルのメモリアドレスをプ
ール毎に所定数記憶しておき要求分析処理部lから伝達
されるバッファ確保要求に基づいて指定のプール中のバ
ッファセルのメモリアドレスを先頭から必要数分出力す
るメモリアドレス・キュー群である。上記において、バ
ッファセルの属性を表わすものが、上記のメモリアドレ
スである。
以下に、このような構成による本実施例の7くソファ管
理方式を説明する。要求分析処理部lは、使用者からの
要求を分析し、その種別に応じ、バッファ情報設定要求
であれば、その内容(バッファ情報)をバッファ管理処
理部4に伝達し、バッファ確保要求であれば、その内容
(確保プール番号)をバッファ確保処理部5及びメモリ
アドレス・キュー群7に伝達し、バッファ解放要求であ
れば、その内容(メモリアドレス)をバッファ解放処理
部6に伝達する。バッファ管理処理部4は、要求分析処
理部lから伝達されたバッファ情報をバッファ管理テー
ブル群2に設定するとともに、同情報に基づきバッファ
状態テーブル群3を初期化(全バッファセルを「未使用
」状態とすること)する。
その際、使用者がバッファ情報設定要求において指定し
た場合には、バッファ情報の一つとして指定される長さ
のオフセットフィールドを前部に持つ形式のバッファセ
ルを管理する。メモリアドレス・キュー群7は、要求分
析処理部Iから伝達されたプール番号に対応するメモリ
アドレスを先頭から即座に出力する。これにより、利用
者の7くツファ確保持ち時間が、はぼ無しに短縮される
。バッファ確保処理部5は、メモリアドレス・キュー群
7からバッファ確保要求に対するメモリアドレスの出力
を行ったときからその後の時間において、要求分析処理
部lから伝達されたプール番号に対応するバッファ情報
をバッファ管理テーブル群2から読出すとともに、バッ
ファ状態テーブル群3の探索により「未使用」状態のバ
ッフアゼルのフラグアドレスを取得し、メモリアドレス
を計算してメモリアドレス・キュー群7の該当プールの
最後に格納すると同時に、当該フラグを「使用中」状態
とする。バッファ解放処理部6は、要求分析処理部lか
ら伝達されたメモリアドレスに対応するバッファ情報を
バッファ管理テーブル群2から読み出し、フラグアドレ
スを計算しバッファ状態テーブル群3の当該フラグを「
未使用」状態とする。
第2図(a)、(b)、(c)は上記バッファ管理方式
におけるバッファメモリと各テーブル群の関連を示す説
明図である。第2図(a)は、本発明に基づくバッファ
メモリ8の分割例を表す。
各プールごとに、バッファ情報に基づいて、長さLeの
バッファセル(ボディ)の前方に長さし。のオフセット
フィールドが設定される。各バッファセルの属性を示す
メモリアドレスA0〜A1・・は、各バッファセル域の
先頭のメモリアドレスである。
このようにオフセットフィールドを設定し管理すること
により、バッファセルの確保とともにオフセットフィー
ルドが確保され、後の利用者がバッファセルの前方Iこ
データを設定したい場合に、新たにバッファセルを確保
してチエイン処理を行う必要が無くなる。第2図(b)
は、バッファセル状態テーブル群3の構成例を表す。各
プールごとに、バッファセルに対応させて、バッファセ
ル数分だけフラグを連続的に配置する。第2図(C)は
、バッファセル管理テーブル群2の構成例を表す。各プ
ールごとに、プールの先頭アドレスAs1バツフアセル
長La、オフセットフィールド長し。、バッファセル数
nの各バッファ情報を保持する。
このバッファ情報に基づき、バッファ確保処理における
確保バッファセルのフラグアドレスX対応のメモリアド
レスA、を求める計算は、A、1−(As+ L o)
+ x X (L o + La)・・(ア)で行う。
また、バッファ解放処理におけるメモリアドレスA、対
応のフラグアドレスXの計算は、x = (Ax  (
As+ L o))/ (L o + L a)・・(
イ)で行う。バッファ確保処理部5及びバッファ解放処
理部6は、それぞれ上式(ア)および(イ)に示す計算
を行うアドレス計算手段を有する。
第3図及び第4図は、バッファ確保処理の具体例を表す
説明図である。第3図は、各処理部間の伝達情報の流れ
を表し、第4図は、バッファ確保処理部5内の詳細処理
内容を表している。
21はプール1用のバッファ管理テーブル、21はプー
ルl用のバッファ管理テーブル、31はプールl用のバ
ッファ状態テーブル、3iはプールl用のバッファ状態
テーブル、51はバッファ確保処理部5のアドレス計算
手段、71はプールl用のメモリアドレス・キュー 7
1はプールl用のメモリアドレス・キューである。また
、BAI。
はプールIのメモリアドレス、n+はプールlのバッフ
ァセル数、Alsはプールlの先頭アドレス、Ll。は
プールIのオフセットフィールド長、L18はプールl
のバッファセル長であり、これらのn1A□s、 Lt
a、 Ltaのバッファ情報は、バッファ管理テーブル
21より読出される。本実施例におけるバッファ確保処
理は、第4図にも示す以下の(1)〜(6)の順序でな
される。
(1)メモリアドレス・キュー71は、要求分析処理部
lからプール番号=° loを伝達されると、そのプー
ル番号(’l’)に対応する同キュー71の先頭のメモ
リアドレス=’ BAI 1’を出力する。
(2)同時にバッフyVfl保処理部5は、要求分析処
理部lからプール番号=° loを伝達され、そのプー
ル番号(’1’)に対応するバッファ管理テーブル21
からバッファ情報(プール先頭アドレス= ’ A I
!’ 、バッファセル長=’L1!1オフセットフィー
ルド長=’Lよ。°)を読出すとともに、同じくそのプ
ール番号(’l’)に対応するバッファ状態テーブル3
1を探索し「未使用」(−〇)状態のフラグアドレス=
゛ ioを取得する。第4図に示すように、バッファ確
保処理部5は、バッファ確保ポインタAtを有し、同ポ
インタAlを用いて上記したバッファ状態テーブル31
の探索をフラグアドレスの昇順に行う。
(3)バッファ確保処理部5は、探索により得られたフ
ラグアドレス及びバッファ管理テーブル21から読出し
たバッファ管理情報に基づき、アドレス計算手段51に
より前部(ア)でメモリアドレスAiを計算する。
(4)上記計算したバッファセルのメモリアドレスAi
により確保済のバッファセルのメモリアドレスBA1i
としてメモリアドレス・キュー71に格納する。
(5)さらに、バッファ確保処理部5は、バッファ状態
テーブル3Iのフラグアドレス= iのフラグを「使用
中J(=1)状態とする。
(6)最後に、確保ポインタAlを昇順に「未使用J 
(=O)を示すフラグアドレスまで進めておく。
第5図及び第6図は、バッファ解放処理の具体例を表す
説明図である。第5図は、各処理部間の伝達情報の流れ
を表し、第6図は、バッファ解放処理部6内の詳細処理
内容を表している。
21はプールl用のバッファ管理テーブル、21はプー
ルl用のバッファ管理テーブル、31はプールl用のバ
ッファ状態テーブル、31はプール、用のバッファ状態
テーブル、61はバッファ解放処理部6のアドレス計算
手段、71はプールl用のメモリアドレス・キュー 7
iはプールl用のメモリアドレス・キューである。また
、BAlxはプールlのメモリアドレス、n□はプール
lのバッファセル数、ALsはプールlの先頭アドレス
、L工。はプールlのオフセットフィールド長、LIB
はプールlのバッファセル長であり、これらのn□、A
□11.LA。、L□8のバッファ情報は、バッファ管
理テーブル2Iにより読み出される。本実施例における
バッファ解放処理は、第6図にも示しである以下の(1
)〜(3)の順序でなされる。
(1)バッファ解放処理部6は、要求分析処理部Iから
解放バッファセルのメモリアドレス= BAl i’を
伝達されると、そのメモリアドレスAiに対応するバッ
ファ管理テーブル2Iからバッファ情報(ブール先頭ア
ドレス°A15%バッファセル長”’LIB’、オフセ
ットフィールド長=’ Ll、’ )を読み出す。
(2)上記で読み出した情報から、アドレス計算手段6
1により、前部(イ)で解放バッファセルAiに対応す
るフラグアドレス=° ioを計算する。
(3)バッファ解放処理部6は、上記の計算結果に基づ
いて、対応するバッファ状態テーブル31の中のフラグ
アドレス=゛i゛のフラグを「未使用」(=0)状態に
する。
(4)バッファ解放処理部6に設けた解放ポインタBl
をフラグアドレスiに進める。
本実施例の具体的適用ケースとしては、複数回線を収容
しかつ複数プロトコルを実装し、各プロトコル処理部が
バッファメモリを共用する通信制御処理装置がある。同
装置において本実施例によるバッファ管理部を設け、各
プロトコル処理部はバッファ管理部に対し、送信データ
を設定するバッファセルの確保を要求し、送信完了後バ
ッファセルが不要となった時点で同バッファセルの解放
を要求する。また、各プロトコル処理部はバッファ管理
部に対し、受信時に受信データの設定用にバッファセル
の確保を要求し、受信データのホストへの転送後バッフ
ァセルが不要となった時点で同バッファセルの解放を要
求する。
なお、上記実施例では、使用者のバッファセルの確保要
求に対しメモリアドレス・キュー群を設けて即座にメモ
リアドレスを出力する管理方式と、バッファセルの形式
に関してバッファセルの前部にオフセットフィールドを
設けて管理するバッファ管理方式と組み合わせて実施す
る例を示したが、それぞれの管理方式を単独で実施した
場合にも、性能上のオーバヘッドの改善が図られる。こ
のように、本発明はその主旨に沿って種々に応用され、
種々の実施態様を取り得るものである。
[発明の効果] 以上の説明で明あかなように、本発明のバッファ管理方
式によれば、複数の使用者がバッファメモリを共用し、
そのバッファメモリを複数のバッファセルに分割して各
バッファセルの使用状態を管理し、使用者からのバッフ
ァ確保要求に基づいてバッファセルの確保を行うシステ
ムなどにおいて、次の効果を期待できる。
(1)本発明によるバッファ管理部の処理空き時間など
に、次要求時に確保処理すべきバッファセルの属性をあ
らかじめ計算して記憶手段に設定しておき、確保要求時
にはまず記憶手段中の属性を出力することにより、バッ
ファセル確保処理時間の低減が可能となる。
(2)複数の使用者間でバッファセルを引継ぎ、同じバ
ッファセルの前方にデータを設定する場合、オフセット
フィールドを使用することにより、新たなバッファセル
を確保しバッフ7セルのチエインを行うことが不要とな
り、性能上のオーバヘッドの軽減が可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例の概念を示すバッファ管理部
のブロック図、・第2図(a)、(b)。 (C)は上記実施例のバッファメモリと各テーブル群の
関連を示す説明図、第3図、第4図は上記実施例のバッ
ファ確保処理の具体例を表わす説明図、第5図、第6図
は上記実施例のバッファ解放処理の具体例を表わす説明
図である。 l・・・要求分析処理部、2・・・バッファ管理テーブ
ル群、21・・・バッファ管理テーブル(プールl用)
21・・・バッファ管理テーブル(プールl用)、3・
・・バッファ状態テーブル群、31・・・バッファ状態
テーブル(プール1用)、31・・・バッファ状態テー
ブル(プールl用)、4・・・バッファ管理処理部、5
・・・バッファ確保処理部、At・・・バッファ確保ポ
インタ(プールl用)、6・・・バッファ解放処理部、
Bl・・・バッファ解放ポインタ(プールl用)、51
.61・・・アドレス計算手段(プール1用)、7・・
・メモリアドレス・キュー群、71・・・メモリアドレ
ス・キュー(プールl用)、71・・・メモリアドレス
・キュー(プールl用)。

Claims (2)

    【特許請求の範囲】
  1. (1)バッファメモリを複数のバッファセルに分割し、
    各バッファセルに属性を付与してそれぞれに対応する使
    用中あるいは未使用を表わすフラグを設け、そのフラグ
    により使用者の要求に応じてバッファセルの確保を行う
    バッファ管理方式において、 予め上記フラグが未使用であるバッファセルを所定数ま
    で確保する手段と、 上記確保したバッファセルの属性を記憶しておく手段と
    を設け、 上記使用者からのバッファセルの確保の要求に対し上記
    属性を記憶しておく手段から必要な数のバッファセルの
    属性を出力することを特徴とするバッファ管理方式。
  2. (2)バッファメモリを複数のバッファセルに分割し、
    各バッファセルに属性を付与してそれぞれに対応する使
    用中あるいは未使用を表わすフラグを設け、そのフラグ
    により使用者の要求に応じてバッファセルの確保を行う
    バツファ管理方式において、 上記バッファセルの属性に対応してバッファセルの形式
    に関する情報を記憶しておく手段と、予め与えられた上
    記形式に関する情報に従ってバッファセルの前部に指定
    の長さのオフセットフィールドを設定する手段とを設け
    、 上記使用者のバッファセルの確保の要求に対し該バッフ
    ァセルとともに上記オフセットフィールドも合せて確保
    しつつその確保したバッファセルの属性を出力すること
    を特徴とするバッファ管理方式。
JP5317290A 1990-03-05 1990-03-05 バッファ管理方式 Pending JPH03253952A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5317290A JPH03253952A (ja) 1990-03-05 1990-03-05 バッファ管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5317290A JPH03253952A (ja) 1990-03-05 1990-03-05 バッファ管理方式

Publications (1)

Publication Number Publication Date
JPH03253952A true JPH03253952A (ja) 1991-11-13

Family

ID=12935442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5317290A Pending JPH03253952A (ja) 1990-03-05 1990-03-05 バッファ管理方式

Country Status (1)

Country Link
JP (1) JPH03253952A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013522780A (ja) * 2010-03-23 2013-06-13 ゼットティーイー コーポレイション ストレージリソースの階層化管理方法及びシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013522780A (ja) * 2010-03-23 2013-06-13 ゼットティーイー コーポレイション ストレージリソースの階層化管理方法及びシステム
US9047174B2 (en) 2010-03-23 2015-06-02 Zte Corporation Method and system for hierarchically managing storage resources

Similar Documents

Publication Publication Date Title
US5446915A (en) Parallel processing system virtual connection method and apparatus with protection and flow control
JPH08297626A (ja) ネットワーク・インタフェースおよびネットワーク・インタフェースにおけるパケット処理方法
EP0374338B1 (en) Shared intelligent memory for the interconnection of distributed micro processors
CA2111600A1 (en) Parallel Processing System
JPH04314163A (ja) バッファ管理方式
JPH03253952A (ja) バッファ管理方式
JPH0887478A (ja) プロセス間メッセージ通信方法
JPH0652060A (ja) Lruリスト制御方式
EP0522728B1 (en) Method for efficient access of data stored in a nexus table
JP3453761B2 (ja) アドレス変換方式
JP2558370B2 (ja) バッファ管理方式
JP3036809B2 (ja) マイクロコンピュータにおけるバッファ管理方式
JP2505298B2 (ja) スプリットバスにおける可変バス幅指定方式及び可変バス幅情報受信方式
JPS605367A (ja) 通信制御処理装置
JPH0833869B2 (ja) データ処理装置
JPS6217879Y2 (ja)
JPS608965A (ja) 入出力バツフアメモリ方式
JPS61125664A (ja) ネツトワ−クシステムにおけるメモリ管理方式
JPS6151256A (ja) 受信デ−タ転送制御方式
JPH0325643A (ja) ディスク制御装置
JPH0744564B2 (ja) 通信制御装置
JPH0644258B2 (ja) Dma転送先バッファ設定方式
JPS63231534A (ja) 共有メモリ領域管理方式
JPS6162152A (ja) 記憶装置の空き領域管理方式
JPH01181258A (ja) バツフア管理方法