JPH03253952A - Buffer managing system - Google Patents

Buffer managing system

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
request
cell
pool
cells
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
Japanese (ja)
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.)
Nippon Telegraph and Telephone Corp
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/en
Publication of JPH03253952A publication Critical patent/JPH03253952A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To shorten waiting time for the buffer securing and to reduce the overhead on the performance by outputting an attribute of a necessary number of buffer calls from a means for storing the attribute with respect to a request to secure the buffer cell from a user. CONSTITUTION:A request analysis processing part 1 analyzes a request from a user, and when it is a buffer securing request, its contents are transferred to a buffer securing processing part 5 and a memory address queue group 7. Subsequently, the queue group 7 stores in advance at every pool a prescribed number of memory addresses for showing an attribute of a buffer secured and outputted by the buffer securing processing part 5 and outputs the memory address of a buffer cell in the designated pool by a necessary number portion from the head, based on the buffer securing request transferred from the request analysis processing part 1. In such a way, the buffer cell securing processing time is decreased and the overhead on the performance an be reduced.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、複数の使用者が共用するバッファメモリを複
数のバッファセルに分割して使用するシステムに好適な
バッファ管理方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a buffer management method suitable for a system in which a buffer memory shared by a plurality of users is divided into a plurality of buffer cells.

[従来の技術] 従来より、種々のシステムにおいて、バッファメモリを
複数の使用者が共用することが行われている。このよう
なシステムでは、バッファメモリを複数のバッファセル
に分割し、そのバッファセルごとに「使用中」あるいは
「未使用」の状態を表すフラグを設け、フラグのアドレ
スと対応するバッファセルのメモリアドレスとが1対1
に対応するようにそのフラグを配置したバッファ状態テ
ーブル群を構成して、各使用者のバッファ確保要求等を
管理していた。即ち、使用者からバッファ確保要求がな
されると、そのバッファ確保要求時ごとにバッファ状態
テーブル群の「未使用」状態のフラグを探索して、空い
ているバッファセルをその使用者用に確保していた。
[Prior Art] Conventionally, in various systems, a buffer memory has been shared by a plurality of users. In such systems, the buffer memory is divided into multiple buffer cells, a flag is provided for each buffer cell to indicate whether it is "in use" or "unused," and the address of the flag and the memory address of the corresponding buffer cell are set. 1 to 1
A buffer status table group was constructed in which the flags were arranged to correspond to each user's buffer reservation requests, etc. That is, when a buffer reservation request is made by a user, the "unused" flag in the buffer status table group is searched for each buffer reservation request, and an empty buffer cell is reserved for that user. was.

このような従来の監理方式によれば、例えば、ある使用
者lが確保したバッファセル1にデータ1を設定して他
の使用者2に引継ぎ、使用者2がデータlの前方にデー
タ1に連続するようにデータ2を設定する場合、使用者
2は別のバッファセル2を確保した上でデータ2をバッ
ファセル2に設定し、バッファセル2の次にバッファセ
ルlをチエインしていた。
According to such a conventional management method, for example, a certain user l sets data 1 in buffer cell 1 and transfers it to another user 2, and user 2 sets data 1 in front of data l. When setting data 2 consecutively, user 2 secured another buffer cell 2, set data 2 in buffer cell 2, and chained buffer cell 1 next to buffer cell 2.

E発明が解決しようとする課題] しかしながら、上記従来の技術におけるバッファ管理方
式では、以下に述べる性能上のオーバヘッドが問題点と
なっていた。
E Problems to be Solved by the Invention] However, the buffer management method in the above-mentioned conventional technology has the problem of performance overhead described below.

(1)バッファ確保要求時ごとに「未使用」状態のフラ
グを探索するため、特に、残りのバッファセル数が少な
くなると、バッファ確保処理に多くの時間を要し、性能
上のオーバヘッドとなっていた。
(1) Because a flag in the "unused" state is searched for each time a buffer reservation request is made, especially when the number of remaining buffer cells decreases, the buffer reservation process takes a lot of time, resulting in performance overhead. Ta.

(2)バッファセルのチエインを行う場合、前述の従来
例で述べれば、バッファセル2の確保処理とチエインを
張る処理を必要とし、かつ他の使用者3が両バッファセ
ルのチエインをたどって連続するデータ2及びデータ1
を読出す処理に余分な時間を要するなど、性能上のオー
バヘッドとなっていた。
(2) When chaining buffer cells, in the conventional example described above, it is necessary to secure the buffer cell 2 and to set up the chain, and another user 3 must follow the chain of both buffer cells. data 2 and data 1
This caused a performance overhead, such as the extra time required to read the data.

本発明は、性能上のオーバヘッドの増大という従来のバ
ッファ管理方式の問題点を、システム規模の大きな増大
を伴わないで解決することを目的とする。
An object of the present invention is to solve the problem of increased performance overhead in conventional buffer management methods without significantly increasing the system scale.

[課題を解決するための手段] 上記の目的を達成するための本発明のバッファ管理方式
の第1の構成は、 バッファメモリを複数のバッファセルに分割し、各バッ
ファセルに属性を付与してそれぞれに対応する使用中あ
るいは未使用を表わすフラグを設け、そのフラグにより
使用者の要求に応じてバッファセルの確保を行うバッフ
ァ管理方式において、予め上記フラグか未使用であるバ
ッファセルを所定数まで確保する手段と、上記確保した
バッファセルの属性を記憶しておく手段とを設け、上記
使用者からのバッファセルの確保の要求に対し上記属性
を記憶しておく手段から必要な数のバッファセルの属性
を出力することを特徴とする。
[Means for Solving the Problems] A first configuration of the buffer management method of the present invention to achieve the above object is to divide the buffer memory into a plurality of buffer cells and assign attributes to each buffer cell. In a buffer management method in which a flag indicating whether the corresponding flag is in use or unused is provided, and buffer cells are reserved according to the user's request using the flag, a predetermined number of buffer cells that are unused or unused are set in advance. and a means for storing the attributes of the secured buffer cells, and in response to a request from the user to secure the buffer cells, the necessary number of buffer cells is provided from the means for storing the attributes. It is characterized by outputting the attributes of.

また、同じく本発明の第2の構成は、 バッファメモリを複数のバッファセルに分割し、各バッ
ファセルに属性を付与してそれぞれに対応する使用中あ
るいは未使用を表わすフラグを設け、そのフラグにより
使用者の要求に応じてバッファセルの確保を行うバッフ
ァ管理方式において、上記バッファセルの属性に対応し
てバッファセルの形式に関する情報を記憶しておく手段
と、予め与えられた上記形式に関する情報に従ってバッ
ファセルの前部に指定の長さのオフセットフィールドを
設定する手段とを設け、上記使用者のバッファセルの確
保の要求に対し該バッファセルとともに上記オフセット
フィールドも合せて確保しつつその確保したバッファセ
ルの属性を出力することを特徴とする。
Similarly, in a second configuration of the present invention, the buffer memory is divided into a plurality of buffer cells, an attribute is given to each buffer cell, and a corresponding flag indicating whether it is in use or unused is provided. In a buffer management method that secures buffer cells according to a user's request, there is provided a means for storing information regarding the format of the buffer cell corresponding to the attribute of the buffer cell, and a means for storing information regarding the format of the buffer cell according to the information regarding the format given in advance. means for setting an offset field of a specified length in the front part of the buffer cell, and in response to the user's request to secure the buffer cell, the offset field is secured together with the buffer cell, and the secured buffer is It is characterized by outputting cell attributes.

[作用コ 本発明は、バッファ管理の処理空き時間などに使用中/
不使用のフラグを検索して、予め所定数のバッファセル
を確保しておき、利用者がバッファセルの確保を要求し
たときは、その確保した所定数のバッファセルから必要
な数のバッファセルの属性を出力してバッファセルを即
座に割り当てることにより、使用者のバッファ確保持ち
時間をほぼ持ち無しに短縮して性能上のオーバヘッドを
短縮する。
[Effects] The present invention is used during buffer management processing idle time, etc.
A predetermined number of buffer cells are secured in advance by searching for unused flags, and when the user requests the reservation of buffer cells, the required number of buffer cells is allocated from the secured predetermined number of buffer cells. By outputting attributes and immediately allocating buffer cells, the time required for a user to secure a buffer is reduced to almost no time, thereby reducing performance overhead.

また、使用者が指定した場合には、バッファセルの前方
にあらかじめ初期設定した長さのオフセットフィールド
を有する形式のバッファセルを、オフセットフィールド
長を指定のバッファW理テーブルに初期設定しておくこ
とにより管理し、バッファセルの確保の要求に対して出
力する属性は、バッファセルに対応させることにより、
使用者が別のバッファを確保してチエインすることなく
、バッファセルの前部にデータを設定できるようにして
、新たなデータ設定用のバッファセルの確保の処理とチ
エインの処理の必要性を無くし、性能上のオーバヘッド
を短縮する。
In addition, if specified by the user, a buffer cell in a format that has an offset field of a preset initial length at the front of the buffer cell, and the offset field length should be initialized in the specified buffer W management table. By making the attributes managed by and output in response to requests for securing buffer cells correspond to buffer cells,
The user can set data at the front of a buffer cell without securing another buffer and chaining it, thereby eliminating the need for securing a buffer cell for setting new data and processing the chain. , reducing performance overhead.

[実施例] 以下、本発明の実施例を図面に基づいて詳細に説明する
[Example] Hereinafter, an example of the present invention will be described in detail based on the drawings.

第1図は本発明の一実施例の概念を示すバッファ管理部
のブロック図である。本実施例は、複数の使用者がバッ
ファメモリを共用し、そのバッファメモリを複数のプー
ルに分割し、さらにそのプールを複数のバッファセルに
分割し、プールごとに各バッファセルの使用状態を管理
し、使用者からのバッファ確保要求あるいは解放要求に
基づいてバッファセルの確保あるいは解放を行うシステ
ムに適用した場合を例とする。本実施例の構成において
、Iは使用者からの要求内容を分析し各処理部に伝える
要求分析処理部、2はバッファセル数やバッファセル長
およびオフセットフィールド長等のバッファ情報を保持
するバッファ管理テーブル群、3は各バッファセルごと
に「使用中」あるいは「未使用」という状態を表しかつ
そのアドレスとバッファセルのメモリアドレスとがl対
lに対応するように配置したフラグにより構成されるバ
ッファ状態テーブル群、4は要求分析処理部lから伝達
されるバッファ情報設定要求により指定されるバッファ
情報を指定のバッファ管理テーブル群2のテーブルに設
定するとともに指定のバッファ状態テーブル群3のテー
ブルを未使用状態に初期化するバッファ管理処理部、5
は予め処理空き時間などに各プール毎にバッファセルを
所定数になるまでバッファ状態テーブル群3のテーブル
の探索により未使用のバッファセルを見つけそのバッフ
ァアドレスを出力するとともに当該ノ<・ソファセルを
使用中とするようバッファ状態テーブル群3を更新する
バッファ確保処理部、6は要求処理部Iから伝達される
使用者からのバッファ解放要求に基づいて指定のメモリ
アドレスに対応するバッファセルを未使用とするよう対
応するバッファ状態テーブル群3のテーブルを更新する
バッファ解放処理部、7はバッファ確保処理部5により
確保され出力されるバッファセルのメモリアドレスをプ
ール毎に所定数記憶しておき要求分析処理部lから伝達
されるバッファ確保要求に基づいて指定のプール中のバ
ッファセルのメモリアドレスを先頭から必要数分出力す
るメモリアドレス・キュー群である。上記において、バ
ッファセルの属性を表わすものが、上記のメモリアドレ
スである。
FIG. 1 is a block diagram of a buffer management section showing the concept of an embodiment of the present invention. In this embodiment, multiple users share a buffer memory, divide the buffer memory into multiple pools, further divide the pool into multiple buffer cells, and manage the usage status of each buffer cell for each pool. As an example, the present invention is applied to a system that secures or releases buffer cells based on a buffer reservation request or release request from a user. In the configuration of this embodiment, I is a request analysis processing unit that analyzes the content of a request from a user and sends it to each processing unit, and 2 is a buffer management unit that holds buffer information such as the number of buffer cells, buffer cell length, and offset field length. Table group 3 is a buffer consisting of flags that indicate the status of each buffer cell as "in use" or "unused" and arranged so that its address and the memory address of the buffer cell correspond to 1:1. The status table group 4 sets the buffer information specified by the buffer information setting request transmitted from the request analysis processing unit l in the table of the specified buffer management table group 2, and also sets the table of the specified buffer status table group 3. Buffer management processing unit that initializes to usage state, 5
searches the tables of buffer status table group 3 until a predetermined number of buffer cells is obtained for each pool during idle processing time, etc., finds an unused buffer cell, outputs its buffer address, and uses the corresponding node. A buffer reservation processing unit 6 updates the buffer status table group 3 to indicate that the buffer status is in use, and the buffer reservation processing unit 6 determines that the buffer cell corresponding to the specified memory address is unused based on the buffer release request from the user transmitted from the request processing unit I. A buffer release processing unit 7 updates the table of the corresponding buffer status table group 3 so that the buffer status table group 3 corresponds to the buffer status table group 3, and a buffer release processing unit 7 stores a predetermined number of memory addresses of buffer cells that are secured and output by the buffer reservation processing unit 5 for each pool and performs request analysis processing. This is a memory address queue group that outputs the required number of memory addresses of buffer cells in a designated pool from the beginning based on a buffer reservation request transmitted from part 1. In the above, the memory address represents the attribute of the buffer cell.

以下に、このような構成による本実施例の7くソファ管
理方式を説明する。要求分析処理部lは、使用者からの
要求を分析し、その種別に応じ、バッファ情報設定要求
であれば、その内容(バッファ情報)をバッファ管理処
理部4に伝達し、バッファ確保要求であれば、その内容
(確保プール番号)をバッファ確保処理部5及びメモリ
アドレス・キュー群7に伝達し、バッファ解放要求であ
れば、その内容(メモリアドレス)をバッファ解放処理
部6に伝達する。バッファ管理処理部4は、要求分析処
理部lから伝達されたバッファ情報をバッファ管理テー
ブル群2に設定するとともに、同情報に基づきバッファ
状態テーブル群3を初期化(全バッファセルを「未使用
」状態とすること)する。
The seven sofa management methods of this embodiment with such a configuration will be described below. The request analysis processing unit 1 analyzes the request from the user and, depending on the type, transmits the contents (buffer information) to the buffer management processing unit 4 if it is a buffer information setting request, and if it is a buffer reservation request. For example, the content (reservation pool number) is transmitted to the buffer reservation processing unit 5 and memory address queue group 7, and if it is a buffer release request, the content (memory address) is transmitted to the buffer release processing unit 6. The buffer management processing unit 4 sets the buffer information transmitted from the request analysis processing unit 1 in the buffer management table group 2, and also initializes the buffer status table group 3 based on the same information (setting all buffer cells to “unused”). state).

その際、使用者がバッファ情報設定要求において指定し
た場合には、バッファ情報の一つとして指定される長さ
のオフセットフィールドを前部に持つ形式のバッファセ
ルを管理する。メモリアドレス・キュー群7は、要求分
析処理部Iから伝達されたプール番号に対応するメモリ
アドレスを先頭から即座に出力する。これにより、利用
者の7くツファ確保持ち時間が、はぼ無しに短縮される
。バッファ確保処理部5は、メモリアドレス・キュー群
7からバッファ確保要求に対するメモリアドレスの出力
を行ったときからその後の時間において、要求分析処理
部lから伝達されたプール番号に対応するバッファ情報
をバッファ管理テーブル群2から読出すとともに、バッ
ファ状態テーブル群3の探索により「未使用」状態のバ
ッフアゼルのフラグアドレスを取得し、メモリアドレス
を計算してメモリアドレス・キュー群7の該当プールの
最後に格納すると同時に、当該フラグを「使用中」状態
とする。バッファ解放処理部6は、要求分析処理部lか
ら伝達されたメモリアドレスに対応するバッファ情報を
バッファ管理テーブル群2から読み出し、フラグアドレ
スを計算しバッファ状態テーブル群3の当該フラグを「
未使用」状態とする。
At this time, if the user specifies it in the buffer information setting request, a buffer cell of a format having an offset field of the length specified as one of the buffer information at the front is managed. The memory address queue group 7 immediately outputs the memory address corresponding to the pool number transmitted from the request analysis processing section I from the beginning. As a result, the time a user has to secure a ticket is shortened to a minimum. The buffer reservation processing unit 5 buffers the buffer information corresponding to the pool number transmitted from the request analysis processing unit l during the time after the memory address queue group 7 outputs the memory address in response to the buffer reservation request. At the same time as reading from the management table group 2, the flag address of the buffer azer in the "unused" state is obtained by searching the buffer status table group 3, and the memory address is calculated and stored at the end of the corresponding pool in the memory address queue group 7. At the same time, the flag is set to "in use". The buffer release processing unit 6 reads the buffer information corresponding to the memory address transmitted from the request analysis processing unit l from the buffer management table group 2, calculates the flag address, and sets the corresponding flag in the buffer status table group 3 as “
Leave it in "unused" condition.

第2図(a)、(b)、(c)は上記バッファ管理方式
におけるバッファメモリと各テーブル群の関連を示す説
明図である。第2図(a)は、本発明に基づくバッファ
メモリ8の分割例を表す。
FIGS. 2(a), 2(b), and 2(c) are explanatory diagrams showing the relationship between the buffer memory and each table group in the buffer management method described above. FIG. 2(a) shows an example of division of the buffer memory 8 based on the present invention.

各プールごとに、バッファ情報に基づいて、長さLeの
バッファセル(ボディ)の前方に長さし。のオフセット
フィールドが設定される。各バッファセルの属性を示す
メモリアドレスA0〜A1・・は、各バッファセル域の
先頭のメモリアドレスである。
For each pool, based on the buffer information, length forward a buffer cell (body) of length Le. The offset field is set. Memory addresses A0 to A1 . . . indicating attributes of each buffer cell are the memory addresses at the beginning of each buffer cell area.

このようにオフセットフィールドを設定し管理すること
により、バッファセルの確保とともにオフセットフィー
ルドが確保され、後の利用者がバッファセルの前方Iこ
データを設定したい場合に、新たにバッファセルを確保
してチエイン処理を行う必要が無くなる。第2図(b)
は、バッファセル状態テーブル群3の構成例を表す。各
プールごとに、バッファセルに対応させて、バッファセ
ル数分だけフラグを連続的に配置する。第2図(C)は
、バッファセル管理テーブル群2の構成例を表す。各プ
ールごとに、プールの先頭アドレスAs1バツフアセル
長La、オフセットフィールド長し。、バッファセル数
nの各バッファ情報を保持する。
By setting and managing the offset field in this way, the offset field is secured as well as the buffer cell, and when a later user wants to set the forward I data of the buffer cell, a new buffer cell can be secured. There is no need to perform chain processing. Figure 2(b)
represents an example of the configuration of buffer cell state table group 3. For each pool, flags corresponding to the number of buffer cells are consecutively arranged in correspondence with the buffer cells. FIG. 2(C) shows an example of the configuration of buffer cell management table group 2. FIG. For each pool, the pool's starting address As, buffer cell length La, and offset field length. , the number of buffer cells is n.

このバッファ情報に基づき、バッファ確保処理における
確保バッファセルのフラグアドレスX対応のメモリアド
レスA、を求める計算は、A、1−(As+ L o)
+ x X (L o + La)・・(ア)で行う。
Based on this buffer information, the calculation to obtain the memory address A corresponding to the flag address X of the secured buffer cell in the buffer securing process is A, 1 - (As + Lo)
+ x X (L o + La)...(A).

また、バッファ解放処理におけるメモリアドレスA、対
応のフラグアドレスXの計算は、x = (Ax  (
As+ L o))/ (L o + L a)・・(
イ)で行う。バッファ確保処理部5及びバッファ解放処
理部6は、それぞれ上式(ア)および(イ)に示す計算
を行うアドレス計算手段を有する。
In addition, calculation of memory address A and corresponding flag address X in buffer release processing is as follows: x = (Ax (
As + L o))/ (L o + L a)...(
Perform b). The buffer reservation processing section 5 and the buffer release processing section 6 have address calculation means for performing calculations shown in the above equations (a) and (b), respectively.

第3図及び第4図は、バッファ確保処理の具体例を表す
説明図である。第3図は、各処理部間の伝達情報の流れ
を表し、第4図は、バッファ確保処理部5内の詳細処理
内容を表している。
FIGS. 3 and 4 are explanatory diagrams showing specific examples of buffer securing processing. FIG. 3 shows the flow of information transmitted between each processing section, and FIG. 4 shows detailed processing contents within the buffer reservation processing section 5.

21はプール1用のバッファ管理テーブル、21はプー
ルl用のバッファ管理テーブル、31はプールl用のバ
ッファ状態テーブル、3iはプールl用のバッファ状態
テーブル、51はバッファ確保処理部5のアドレス計算
手段、71はプールl用のメモリアドレス・キュー 7
1はプールl用のメモリアドレス・キューである。また
、BAI。
21 is a buffer management table for pool 1, 21 is a buffer management table for pool 1, 31 is a buffer status table for pool 1, 3i is a buffer status table for pool 1, and 51 is an address calculation for buffer reservation processing unit 5. Means 71 is a memory address queue for pool l 7
1 is a memory address queue for pool l. Also, BAI.

はプールIのメモリアドレス、n+はプールlのバッフ
ァセル数、Alsはプールlの先頭アドレス、Ll。は
プールIのオフセットフィールド長、L18はプールl
のバッファセル長であり、これらのn1A□s、 Lt
a、 Ltaのバッファ情報は、バッファ管理テーブル
21より読出される。本実施例におけるバッファ確保処
理は、第4図にも示す以下の(1)〜(6)の順序でな
される。
is the memory address of pool I, n+ is the number of buffer cells in pool l, Als is the start address of pool l, and Ll. is the offset field length of pool I, L18 is the offset field length of pool I
, and these n1A□s, Lt
The buffer information of a and Lta is read from the buffer management table 21. The buffer securing process in this embodiment is performed in the following order (1) to (6) also shown in FIG.

(1)メモリアドレス・キュー71は、要求分析処理部
lからプール番号=° loを伝達されると、そのプー
ル番号(’l’)に対応する同キュー71の先頭のメモ
リアドレス=’ BAI 1’を出力する。
(1) When the memory address queue 71 receives the pool number = ° lo from the request analysis processing unit l, the memory address queue 71 selects the top memory address of the queue 71 corresponding to the pool number ('l') =' BAI 1 ' is output.

(2)同時にバッフyVfl保処理部5は、要求分析処
理部lからプール番号=° loを伝達され、そのプー
ル番号(’1’)に対応するバッファ管理テーブル21
からバッファ情報(プール先頭アドレス= ’ A I
!’ 、バッファセル長=’L1!1オフセットフィー
ルド長=’Lよ。°)を読出すとともに、同じくそのプ
ール番号(’l’)に対応するバッファ状態テーブル3
1を探索し「未使用」(−〇)状態のフラグアドレス=
゛ ioを取得する。第4図に示すように、バッファ確
保処理部5は、バッファ確保ポインタAtを有し、同ポ
インタAlを用いて上記したバッファ状態テーブル31
の探索をフラグアドレスの昇順に行う。
(2) At the same time, the buffer yVfl holding processing unit 5 receives the pool number = °lo from the request analysis processing unit l, and stores the buffer management table 21 corresponding to the pool number ('1').
buffer information (pool start address = 'AI
! ', Buffer cell length='L1!1 Offset field length='L. °) and also reads the buffer status table 3 corresponding to that pool number ('l').
1 is searched and flag address in “unused” (-〇) state =
゛ Get io. As shown in FIG. 4, the buffer reservation processing unit 5 has a buffer reservation pointer At, and uses the pointer Al to create the buffer status table 31 described above.
is searched in ascending order of flag addresses.

(3)バッファ確保処理部5は、探索により得られたフ
ラグアドレス及びバッファ管理テーブル21から読出し
たバッファ管理情報に基づき、アドレス計算手段51に
より前部(ア)でメモリアドレスAiを計算する。
(3) The buffer reservation processing unit 5 calculates the memory address Ai in the front part (A) using the address calculation means 51 based on the flag address obtained by the search and the buffer management information read from the buffer management table 21.

(4)上記計算したバッファセルのメモリアドレスAi
により確保済のバッファセルのメモリアドレスBA1i
としてメモリアドレス・キュー71に格納する。
(4) Memory address Ai of the buffer cell calculated above
Memory address BA1i of the buffer cell secured by
It is stored in the memory address queue 71 as .

(5)さらに、バッファ確保処理部5は、バッファ状態
テーブル3Iのフラグアドレス= iのフラグを「使用
中J(=1)状態とする。
(5) Furthermore, the buffer reservation processing unit 5 sets the flag at flag address = i in the buffer status table 3I to the "in use J (=1)" state.

(6)最後に、確保ポインタAlを昇順に「未使用J 
(=O)を示すフラグアドレスまで進めておく。
(6) Finally, assign the secured pointers Al to “unused
Advance to the flag address indicating (=O).

第5図及び第6図は、バッファ解放処理の具体例を表す
説明図である。第5図は、各処理部間の伝達情報の流れ
を表し、第6図は、バッファ解放処理部6内の詳細処理
内容を表している。
FIGS. 5 and 6 are explanatory diagrams showing specific examples of buffer release processing. FIG. 5 shows the flow of information transmitted between each processing section, and FIG. 6 shows detailed processing contents within the buffer release processing section 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)の順序でなされる。
21 is a buffer management table for pool I, 21 is a buffer management table for pool I, 31 is a buffer status table for pool I, 31 is a buffer status table for pool, and 61 is an address calculation for the buffer release processing unit 6. Means 71 is a memory address queue for pool l 7
i is the memory address queue for pool l. Also, BAlx is the memory address of pool l, n□ is the number of buffer cells in pool l, ALs is the start address of pool l, and L engineering. is the offset field length of pool l, LIB
is the buffer cell length of pool l, and these n□, A
□11. L.A. , L□8 is read out by the buffer management table 2I. The buffer release process in this embodiment is as follows (1), which is also shown in FIG.
) to (3).

(1)バッファ解放処理部6は、要求分析処理部Iから
解放バッファセルのメモリアドレス= BAl i’を
伝達されると、そのメモリアドレスAiに対応するバッ
ファ管理テーブル2Iからバッファ情報(ブール先頭ア
ドレス°A15%バッファセル長”’LIB’、オフセ
ットフィールド長=’ Ll、’ )を読み出す。
(1) When the buffer release processing unit 6 receives the memory address of the release buffer cell = BAl i' from the request analysis processing unit I, it extracts the buffer information (Boolean start address) from the buffer management table 2I corresponding to the memory address Ai. °A15% buffer cell length "'LIB', offset field length='Ll,')" is read.

(2)上記で読み出した情報から、アドレス計算手段6
1により、前部(イ)で解放バッファセルAiに対応す
るフラグアドレス=° ioを計算する。
(2) From the information read above, address calculation means 6
1, the flag address=°io corresponding to the released buffer cell Ai is calculated in the front part (A).

(3)バッファ解放処理部6は、上記の計算結果に基づ
いて、対応するバッファ状態テーブル31の中のフラグ
アドレス=゛i゛のフラグを「未使用」(=0)状態に
する。
(3) Based on the above calculation result, the buffer release processing unit 6 sets the flag of the flag address=゛i゛ in the corresponding buffer status table 31 to the “unused” (=0) state.

(4)バッファ解放処理部6に設けた解放ポインタBl
をフラグアドレスiに進める。
(4) Release pointer Bl provided in the buffer release processing unit 6
is advanced to flag address i.

本実施例の具体的適用ケースとしては、複数回線を収容
しかつ複数プロトコルを実装し、各プロトコル処理部が
バッファメモリを共用する通信制御処理装置がある。同
装置において本実施例によるバッファ管理部を設け、各
プロトコル処理部はバッファ管理部に対し、送信データ
を設定するバッファセルの確保を要求し、送信完了後バ
ッファセルが不要となった時点で同バッファセルの解放
を要求する。また、各プロトコル処理部はバッファ管理
部に対し、受信時に受信データの設定用にバッファセル
の確保を要求し、受信データのホストへの転送後バッフ
ァセルが不要となった時点で同バッファセルの解放を要
求する。
A specific application case of this embodiment is a communication control processing device that accommodates multiple lines and implements multiple protocols, and in which each protocol processing unit shares a buffer memory. The device is equipped with a buffer management section according to this embodiment, and each protocol processing section requests the buffer management section to reserve a buffer cell for setting transmission data, and when the buffer cell is no longer needed after transmission is completed, Request release of buffer cell. In addition, each protocol processing unit requests the buffer management unit to reserve a buffer cell for setting the received data at the time of reception, and when the buffer cell is no longer needed after the received data is transferred to the host, the buffer cell is request release.

なお、上記実施例では、使用者のバッファセルの確保要
求に対しメモリアドレス・キュー群を設けて即座にメモ
リアドレスを出力する管理方式と、バッファセルの形式
に関してバッファセルの前部にオフセットフィールドを
設けて管理するバッファ管理方式と組み合わせて実施す
る例を示したが、それぞれの管理方式を単独で実施した
場合にも、性能上のオーバヘッドの改善が図られる。こ
のように、本発明はその主旨に沿って種々に応用され、
種々の実施態様を取り得るものである。
In addition, in the above embodiment, a management method is adopted in which a memory address queue group is provided to immediately output a memory address in response to a user's request to secure a buffer cell, and an offset field is provided at the front of the buffer cell regarding the format of the buffer cell. Although an example has been shown in which the buffer management method is implemented in combination with a buffer management method that is provided and managed, performance overhead can be improved even when each management method is implemented independently. In this way, the present invention can be applied in various ways according to its gist,
Various embodiments are possible.

[発明の効果] 以上の説明で明あかなように、本発明のバッファ管理方
式によれば、複数の使用者がバッファメモリを共用し、
そのバッファメモリを複数のバッファセルに分割して各
バッファセルの使用状態を管理し、使用者からのバッフ
ァ確保要求に基づいてバッファセルの確保を行うシステ
ムなどにおいて、次の効果を期待できる。
[Effects of the Invention] As is clear from the above explanation, according to the buffer management method of the present invention, a plurality of users can share the buffer memory,
The following effects can be expected in systems that divide the buffer memory into a plurality of buffer cells, manage the usage status of each buffer cell, and reserve buffer cells based on a buffer reservation request from a user.

(1)本発明によるバッファ管理部の処理空き時間など
に、次要求時に確保処理すべきバッファセルの属性をあ
らかじめ計算して記憶手段に設定しておき、確保要求時
にはまず記憶手段中の属性を出力することにより、バッ
ファセル確保処理時間の低減が可能となる。
(1) Processing of the buffer management unit according to the present invention During free time, etc., the attributes of the buffer cells to be reserved at the next request are calculated in advance and set in the storage means, and when a reservation request is made, the attributes in the storage means are first set. By outputting the data, it is possible to reduce the buffer cell securing processing time.

(2)複数の使用者間でバッファセルを引継ぎ、同じバ
ッファセルの前方にデータを設定する場合、オフセット
フィールドを使用することにより、新たなバッファセル
を確保しバッフ7セルのチエインを行うことが不要とな
り、性能上のオーバヘッドの軽減が可能となる。
(2) When taking over buffer cells between multiple users and setting data at the front of the same buffer cell, by using the offset field, you can secure a new buffer cell and chain 7 buffer cells. This makes it unnecessary, and it is possible to reduce performance overhead.

【図面の簡単な説明】[Brief explanation of drawings]

第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用)。
FIG. 1 is a block diagram of a buffer management section showing the concept of an embodiment of the present invention, and FIGS. 2(a) and (b). (C) is an explanatory diagram showing the relationship between the buffer memory and each table group in the above embodiment, FIGS. 3 and 4 are explanatory diagrams showing a specific example of the buffer securing process in the above embodiment, and FIGS. The figure is an explanatory diagram showing a specific example of buffer release processing in the above embodiment. l...Request analysis processing unit, 2...Buffer management table group, 21...Buffer management table (for pool l)
21... Buffer management table (for pool l), 3.
...Buffer status table group, 31...Buffer status table (for pool 1), 31...Buffer status table (for pool I), 4...Buffer management processing unit, 5
...Buffer reservation processing unit, At...Buffer reservation pointer (for pool l), 6...Buffer release processing unit,
Bl...Buffer release pointer (for pool l), 51
.. 61... Address calculation means (for pool 1), 7...
-Memory address queue group, 71...Memory address queue (for pool I), 71...Memory address queue (for pool I).

Claims (2)

【特許請求の範囲】[Claims] (1)バッファメモリを複数のバッファセルに分割し、
各バッファセルに属性を付与してそれぞれに対応する使
用中あるいは未使用を表わすフラグを設け、そのフラグ
により使用者の要求に応じてバッファセルの確保を行う
バッファ管理方式において、 予め上記フラグが未使用であるバッファセルを所定数ま
で確保する手段と、 上記確保したバッファセルの属性を記憶しておく手段と
を設け、 上記使用者からのバッファセルの確保の要求に対し上記
属性を記憶しておく手段から必要な数のバッファセルの
属性を出力することを特徴とするバッファ管理方式。
(1) Divide the buffer memory into multiple buffer cells,
In a buffer management method that assigns an attribute to each buffer cell and sets a corresponding flag to indicate whether it is in use or unused, and uses the flag to reserve a buffer cell in response to a user's request, it is possible to A means for securing a predetermined number of buffer cells for use, and a means for storing the attributes of the secured buffer cells, and storing the attributes in response to a request from the user to secure the buffer cells. A buffer management method characterized by outputting attributes of a required number of buffer cells from a means for storing the buffer cells.
(2)バッファメモリを複数のバッファセルに分割し、
各バッファセルに属性を付与してそれぞれに対応する使
用中あるいは未使用を表わすフラグを設け、そのフラグ
により使用者の要求に応じてバッファセルの確保を行う
バツファ管理方式において、 上記バッファセルの属性に対応してバッファセルの形式
に関する情報を記憶しておく手段と、予め与えられた上
記形式に関する情報に従ってバッファセルの前部に指定
の長さのオフセットフィールドを設定する手段とを設け
、 上記使用者のバッファセルの確保の要求に対し該バッフ
ァセルとともに上記オフセットフィールドも合せて確保
しつつその確保したバッファセルの属性を出力すること
を特徴とするバッファ管理方式。
(2) Divide the buffer memory into multiple buffer cells,
In a buffer management method that assigns an attribute to each buffer cell and sets a corresponding flag indicating whether it is in use or unused, the buffer cell is secured according to the user's request using the flag. and means for setting an offset field of a specified length at the front of the buffer cell according to the information regarding the format given in advance, 1. A buffer management method characterized in that, in response to a request for securing a buffer cell from a user, the buffer cell and the offset field are secured together with the buffer cell, and an attribute of the secured buffer cell is output.
JP5317290A 1990-03-05 1990-03-05 Buffer managing system Pending JPH03253952A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5317290A JPH03253952A (en) 1990-03-05 1990-03-05 Buffer managing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5317290A JPH03253952A (en) 1990-03-05 1990-03-05 Buffer managing system

Publications (1)

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

Family

ID=12935442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5317290A Pending JPH03253952A (en) 1990-03-05 1990-03-05 Buffer managing system

Country Status (1)

Country Link
JP (1) JPH03253952A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013522780A (en) * 2010-03-23 2013-06-13 ゼットティーイー コーポレイション Storage resource hierarchy management method and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013522780A (en) * 2010-03-23 2013-06-13 ゼットティーイー コーポレイション Storage resource hierarchy management method and system
US9047174B2 (en) 2010-03-23 2015-06-02 Zte Corporation Method and system for hierarchically managing storage resources

Similar Documents

Publication Publication Date Title
US5907684A (en) Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
EP0769173B1 (en) Method and apparatus for consolidated buffer handling for computer device input/output
US5446915A (en) Parallel processing system virtual connection method and apparatus with protection and flow control
JPH08297626A (en) Network interface and packet processing method in network interface
US5148527A (en) Interface for independently establishing a link and transmitting high level commands including logical addresses from dedicated microprocessor to shared intelligent memory
JPH03253952A (en) Buffer managing system
EP0522728B1 (en) Method for efficient access of data stored in a nexus table
JPH0887478A (en) Inter-process message communication method
JP2558370B2 (en) Buffer management method
JPH06274463A (en) Data communication system
US6681260B1 (en) Data transfer method in function expansion system
CN115277842B (en) Multi-partition network management sinking communication method
JPH0148574B2 (en)
KR100215572B1 (en) Method and apparatus for controlling interface buffer
JPH0833869B2 (en) Data processing device
JP3036809B2 (en) Buffer management method in microcomputer
JP2971119B2 (en) High-speed data transfer method in multiple processor system
JPS608965A (en) Input/output buffer memory system
JPS61125664A (en) Memory control system for network system
JPS63222544A (en) Dynamic flow control system
JPH1040194A (en) Communication controller and receiving buffer control system
JPH06188919A (en) Communication controller
JPH0410050A (en) Computer system
JPH01283653A (en) Memory pool managing system
JPS63231534A (en) Shared memory area managing system