JPH10283230A - File data storage device and machine-readable recording medium with program recorded - Google Patents

File data storage device and machine-readable recording medium with program recorded

Info

Publication number
JPH10283230A
JPH10283230A JP9096543A JP9654397A JPH10283230A JP H10283230 A JPH10283230 A JP H10283230A JP 9096543 A JP9096543 A JP 9096543A JP 9654397 A JP9654397 A JP 9654397A JP H10283230 A JPH10283230 A JP H10283230A
Authority
JP
Japan
Prior art keywords
block
size
empty
block size
storage device
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
JP9096543A
Other languages
Japanese (ja)
Inventor
Yuichi Aiba
雄一 相場
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP9096543A priority Critical patent/JPH10283230A/en
Publication of JPH10283230A publication Critical patent/JPH10283230A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To operate a secondary storage device in the state that plural block sizes exist together by dividing the secondary storage device into blocks of plural sizes. SOLUTION: A size-classified idle area reservation means 102 and an idle area management information construction means 103 reserve idle blocks on a secondary storage device 200 in accordance with a construction indication designating plural block sizes and generate idle area management information for idle block management by block sizes and record these management information in the secondary storage device 200. If an idle block is required to write data of a file or the like at the time of operation, a block size determination means 106 determines a required block size in accordance with data to be written, and an idle block extraction means 107 extracts an idle block having this determined block size from idle area management information, and a block assigning means 108 make the extracted block belong to the designated file.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、二次記憶装置上に
論理ファイルを形成しデータを格納するファイルデータ
格納装置に関し、特に複数のブロックサイズによる運用
を可能とし、記憶領域の無駄を節約するファイルデータ
格納装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a file data storage device for forming a logical file on a secondary storage device and storing data, and more particularly to a file data storage device capable of operating with a plurality of block sizes and saving storage area waste. The present invention relates to a file data storage device.

【0002】[0002]

【従来の技術】1つの二次記憶装置を、複数の仮想的な
記憶装置(論理ファイル、または単にファイル)として
見せるための機構として、UNIXのファイルシステム
など様々なファイルデータ格納機構がある。なお、UN
IXのファイルシステムに関する文献としては、例えば
「UNIXカーネルの設計」共立出版や、「UNIX
4.3BSDの設計と実装」丸善や、「UNIX Int
ernals:The New Frontiers」
Prince−Hallなどがある。
2. Description of the Related Art There are various file data storage mechanisms such as a UNIX file system as a mechanism for making one secondary storage device appear as a plurality of virtual storage devices (logical files or simply files). In addition, UN
Documents relating to the IX file system include, for example, "Design of UNIX Kernel", Kyoritsu Publishing, and
"4.3 BSD Design and Implementation" Maruzen and "UNIX Int"
ernals: The New Frontiers "
Prince-Hall and the like.

【0003】これらのファイルデータ格納機構では、二
次記憶装置上の記憶領域をブロックと呼ばれる固定サイ
ズの区画に仕切り、各ブロックを各ファイルの記憶領域
として割り付けることにより、論理的な複数のファイル
を1つの二次記憶装置上に実現する。
In these file data storage mechanisms, the storage area on the secondary storage device is partitioned into fixed-size sections called blocks, and each block is allocated as a storage area for each file, thereby logically storing a plurality of files. Implemented on one secondary storage device.

【0004】各ブロックのファイルへの割り付けを固定
的に決めると、各ファイルの容量が固定的に制限されて
しまう。そこで、ほとんどのファイルデータ格納機構で
は、各ブロックのファイルへの割り付けを動的に行って
いる。これにより、各ファイルの容量制限に自由度を持
たせ、全ファイルの容量の合計が全体の容量に制限され
るようにしている。
If the allocation of each block to a file is fixedly determined, the capacity of each file is fixedly limited. Therefore, most file data storage mechanisms dynamically allocate each block to a file. As a result, there is a degree of freedom in restricting the capacity of each file, and the sum of the capacities of all files is limited to the total capacity.

【0005】各ブロックのファイルへの割り付けを動的
に行うため、UNIXのファイルシステムなどでは、フ
ァイルに割り付けられていないブロックを空きブロック
として一括管理する。
In order to dynamically allocate each block to a file, in a UNIX file system, blocks not allocated to a file are collectively managed as empty blocks.

【0006】或るファイルにデータを格納する際に、必
要な数の空きブロックを獲得し、それらのブロックをそ
のファイルの所属として割り付ける。これにより、デー
タの格納のために必要な容量だけが、そのファイルに割
り付けられることになる。
When storing data in a certain file, a required number of empty blocks are acquired, and these blocks are assigned as belonging to the file. As a result, only the capacity necessary for storing data is allocated to the file.

【0007】逆に、或るファイルに格納されているデー
タが必要なくなった際には、そのデータを消去するだけ
でなく、そのファイルの所属として割り付けられている
ブロックを解放し、空きブロックとしての一括管理に戻
す。
Conversely, when the data stored in a certain file is no longer needed, not only the data is erased, but also the blocks allocated as belonging to the file are released, and Return to batch management.

【0008】以上により、二次記憶装置の容量を動的に
各ファイルに割り当てることができる。
As described above, the capacity of the secondary storage device can be dynamically allocated to each file.

【0009】しかし、従来のファイルデータ格納機構で
は、ブロックのサイズを固定的に一定の値に決めること
しかできなかった。このことによる問題を以下に説明す
る。
However, in the conventional file data storage mechanism, the size of a block can only be fixed to a fixed value. The problem due to this will be described below.

【0010】1つのファイルに格納できるデータ量を増
やすには、1つのファイルに割り付けるブロックの数を
増やす方法と、ブロックのサイズ自体を大きくする方法
がある。
[0010] To increase the amount of data that can be stored in one file, there are a method of increasing the number of blocks allocated to one file and a method of increasing the size of the block itself.

【0011】まず、1つのファイルに割り付けるブロッ
ク数を増やす場合を考える。この場合、各ファイルにど
のブロックが割り付けられているかなどを記録する管理
データ(ファイル管理データ)が増大し、ファイル中の
データにアクセスする際に、ファイル管理情報の参照が
増える。このため、ファイル中のデータにアクセスする
時間が長くなってしまうという問題がある。
First, consider a case where the number of blocks allocated to one file is increased. In this case, management data (file management data) for recording which block is allocated to each file and the like increase, and reference to file management information increases when accessing data in the file. For this reason, there is a problem that the time to access the data in the file becomes longer.

【0012】また、ファイルの管理情報が増大すると、
このファイル管理情報も二次記憶装置上に記録されるた
め、実際のデータを記録するための二次記憶装置の容量
がその分だけ減少することにもなる。
When the file management information increases,
Since this file management information is also recorded on the secondary storage device, the capacity of the secondary storage device for recording actual data is reduced accordingly.

【0013】次に、ブロックサイズを大きくした場合を
考える。大きなファイルのデータにアクセスする際に
は、管理情報の参照も少なく、二次記憶装置へのI/O
回数も減るため、アクセス時間は短縮される。
Next, consider the case where the block size is increased. When accessing data of a large file, reference to management information is small, and I / O to the secondary storage device is performed.
Since the number of times is also reduced, the access time is reduced.

【0014】しかし、小さいファイルのデータやファイ
ルの管理情報など、ブロックサイズと比較して小さなデ
ータでも同じサイズのブロックに格納されるため、ブロ
ックの一部にしか有効なデータが格納されず、記憶領域
が無駄になってしまうという問題がある。
However, since small data such as small file data and file management information is stored in a block of the same size as compared to the block size, valid data is stored only in a part of the block. There is a problem that the area is wasted.

【0015】[0015]

【発明が解決しようとする課題】従来の技術における第
1の問題点は、ファイル中に格納できるデータ量の拡大
を、ブロック数の増大によって実現した場合、ファイル
の管理情報が増大し、ファイル中のデータへのアクセス
時間が長くなることにあった。
A first problem with the prior art is that when the amount of data that can be stored in a file is increased by increasing the number of blocks, the file management information increases, The access time to the data was long.

【0016】更に、この場合、二次記憶装置中のファイ
ル管理情報の占める容量が増大し、その分だけ二次記憶
装置に記憶できる実際のデータ量が減少することも問題
であった。
Further, in this case, there is a problem that the capacity occupied by the file management information in the secondary storage device increases, and the actual amount of data that can be stored in the secondary storage device decreases accordingly.

【0017】従来の技術における第2の問題点は、ファ
イル中に格納できるデータ量の拡大を、ブロックサイズ
の拡大によって実現した場合、小データも同じ大サイズ
のブロックに格納されるため、ブロックの一部しか記憶
のために有効に利用されず、大部分の記憶領域が無駄に
なるということにあった。
A second problem with the conventional technique is that when the amount of data that can be stored in a file is increased by increasing the block size, small data is also stored in the same large size block. Only a part is effectively used for storage, and most of the storage area is wasted.

【0018】そこで本発明の第1の目的は、ブロックの
サイズを複数用意し、書き込むデータに応じてブロック
サイズを使い分けることにより、巨大ファイルへの高速
アクセスを実現しながら、二次記憶装置上の記憶領域を
有効に利用し得るようにすることにある。
Therefore, a first object of the present invention is to prepare a plurality of block sizes and use different block sizes according to the data to be written, thereby realizing high-speed access to a huge file and realizing high-speed access to a large file. An object of the present invention is to enable a storage area to be used effectively.

【0019】また本発明の第2の目的は、複数のブロッ
クサイズについて、二次記憶装置上に占める記憶領域の
割合を動的に変更し得るようにして、記憶領域全体のよ
り一層の有効利用を可能とすることにある。
A second object of the present invention is to make it possible to dynamically change the ratio of the storage area occupying the secondary storage device for a plurality of block sizes, so that the entire storage area can be more effectively used. Is to make it possible.

【0020】[0020]

【課題を解決するための手段】本発明は、上記第1の目
的を達成するために、二次記憶装置上に複数の論理ファ
イルを構成するファイルデータ格納装置において、前記
二次記憶装置を制御する入出力制御部に、複数のブロッ
クサイズを指定した構築指示に従って、二次記憶装置上
にブロックサイズ別の空きブロックを確保し、かつ、各
ブロックサイズ別に空きブロックの情報を管理する空き
領域管理情報を作成して二次記憶装置に記録する構築部
と、二次記憶装置上に書き込むべきデータに応じて必要
なブロックサイズを決定するブロックサイズ決定手段
と、該ブロックサイズ決定手段で決定されたブロックサ
イズの空きブロックの情報を前記空き領域管理情報から
抽出する空きブロック抽出手段と、該空きブロック抽出
手段で抽出されたブロックを、指定されたファイルの所
属とするブロック割り当て手段と、ファイルに割り当て
られているブロックをそのファイルの所属から取り除く
ブロック解放手段と、該ブロック解放手段で解放された
ブロックの情報をそのブロックのブロックサイズに対応
する空き領域管理情報に登録する空きブロック登録手段
とを備えている。
According to the present invention, in order to achieve the first object, a file data storage device comprising a plurality of logical files on a secondary storage device is provided. Free space management that secures free blocks for each block size in the secondary storage device and manages information on free blocks for each block size in accordance with a construction instruction that specifies a plurality of block sizes to the input / output control unit A construction unit that creates information and records the information in the secondary storage device, a block size determination unit that determines a required block size according to data to be written in the secondary storage device, and a block size determination unit that determines the block size. A free block extracting means for extracting information on a free block having a block size from the free area management information, and a block extracted by the free block extracting means. Block allocating means for assigning a block to a specified file, block releasing means for removing a block allocated to the file from the file affiliation, and information of the block released by the block releasing means to the block. Empty block registration means for registering in the empty area management information corresponding to the block size of

【0021】このように構成されたファイルデータ格納
装置においては、複数のブロックサイズを指定した構築
指示が与えられると、その構築指示に従って構築部が、
二次記憶装置上にブロックサイズ別の空きブロックを確
保し、かつ、各ブロックサイズ別に空きブロックの情報
(例えばブロック番号)を管理する空き領域管理情報を
作成して二次記憶装置に記録する。その後、実際の運用
が開始され、或るファイルのデータやファイル管理情報
などを記録するために空きブロックが必要になると、ブ
ロックサイズ決定手段が二次記憶装置上に書き込むべき
データに応じて必要なブロックサイズを決定し、空きブ
ロック抽出手段がこの決定されたブロックサイズの空き
ブロックの情報を前記空き領域管理情報から抽出し、ブ
ロック割り当て手段がこの抽出されたブロックを、指定
されたファイルの所属とする。また、或るファイルに所
属していたブロックが不要になった場合、ブロック解放
手段が、そのファイルに割り当てられているブロックを
そのファイルの所属から取り除き、空きブロック登録手
段がこの解放されたブロックの情報をそのブロックのブ
ロックサイズに対応する空き領域管理情報に登録する。
In the file data storage device configured as described above, when a construction instruction designating a plurality of block sizes is given, the construction unit according to the construction instruction,
An empty block for each block size is secured in the secondary storage device, and free area management information for managing information (for example, a block number) of the empty block for each block size is created and recorded in the secondary storage device. Thereafter, the actual operation is started, and when an empty block is required to record data of a certain file, file management information, and the like, the block size determining means determines the necessary size according to the data to be written on the secondary storage device. The block size is determined, the free block extracting means extracts free block information of the determined block size from the free area management information, and the block allocating means determines the extracted block as belonging to the specified file. I do. When a block belonging to a certain file becomes unnecessary, the block releasing means removes the block assigned to the file from the file belonging to the file, and the free block registration means removes the block of the released block. The information is registered in the free space management information corresponding to the block size of the block.

【0022】また本発明は上記第2の目的をも達成する
ために、以下の空きブロック分割手段およびブロック結
合手段のうち少なくとも一方の手段を入出力制御部に備
えている。
In order to achieve the second object, the present invention further comprises at least one of the following empty block dividing means and block combining means in the input / output control section.

【0023】複数のブロックサイズのうち最小サイズ以
外のブロックサイズの空きブロックを抽出し、該抽出し
たブロックを該ブロックサイズより小さなブロックサイ
ズの空きブロックに分割する空きブロック分割手段。複
数のブロックサイズのうち最大サイズ以外のブロックサ
イズの空きブロックを複数個集めて、それより大きなブ
ロックサイズのブロック1個分に結合するブロック結合
手段。
A free block dividing means for extracting a free block having a block size other than the minimum size among a plurality of block sizes, and dividing the extracted block into free blocks having a block size smaller than the block size. Block combining means for collecting a plurality of empty blocks of a block size other than the maximum size among a plurality of block sizes and combining them into one block having a larger block size.

【0024】ブロックサイズ別のブロック数を固定にす
ると、実際の運用状態によっては特定のブロックサイズ
に利用が集中し、そのブロックサイズの空きブロックが
枯渇する恐れがある。このような場合、空きブロック分
割手段を備える構成にあっては、複数のブロックサイズ
のうち最小サイズ以外のブロックサイズの空きブロック
を抽出し、この抽出したブロックを該ブロックサイズよ
り小さなブロックサイズの空きブロックに分割するた
め、余っている大サイズの空きブロックを小サイズの空
きブロックに流用することができ、小サイズの空きブロ
ックの枯渇を防止することができる。他方、ブロック結
合手段を備える構成にあっては、複数のブロックサイズ
のうち最大サイズ以外のブロックサイズの空きブロック
を複数個集めて、それより大きなブロックサイズのブロ
ック1個分に結合するため、余っている小サイズの空き
ブロックを大サイズの空きブロックに流用することがで
き、大サイズの空きブロックの枯渇を防止することがで
きる。
If the number of blocks for each block size is fixed, the use concentrates on a specific block size depending on the actual operation state, and there is a possibility that empty blocks of that block size are exhausted. In such a case, in a configuration including an empty block dividing unit, an empty block having a block size other than the minimum size is extracted from a plurality of block sizes, and the extracted block is extracted as an empty block having a block size smaller than the block size. Since the blocks are divided into blocks, the surplus large-sized empty blocks can be diverted to the small-sized empty blocks, and the depletion of the small-sized empty blocks can be prevented. On the other hand, in the configuration including the block combining means, a plurality of free blocks having a block size other than the maximum size among a plurality of block sizes are collected and combined into one block having a larger block size. It is possible to divert the used small-sized empty blocks to large-sized empty blocks, thereby preventing the large-sized empty blocks from being depleted.

【0025】また別の発明にあっては、前記入出力制御
部に、各ブロックサイズ別の占有状況を管理するブロッ
クサイズ別占有率管理手段を備え、前記空きブロック分
割手段は、空きブロックの分割により各ブロックサイズ
別の占有状況が所定の条件を満たさなくなる場合には、
空きブロックの分割を行わない構成を有し、前記ブロッ
ク結合手段は、空きブロックの結合により各ブロックサ
イズ別の占有状況が所定の条件を満たさなくなる場合に
は、空きブロックの結合を行わない構成を有している。
これによって、ブロックサイズ別の記憶領域の占有率を
所望の範囲内に維持することができ、大きなサイズのブ
ロックの分割が際限なく繰り返されることにより、大き
なサイズのブロックが枯渇したり、その逆に、小さなサ
イズのブロックの結合が際限なく繰り返されることによ
り、小さなサイズのブロックが枯渇したりすることを防
止することができる。
In another aspect of the present invention, the input / output control unit includes a block size-based occupancy rate managing means for managing an occupation state for each block size, and the empty block dividing means includes a step of dividing an empty block. If the occupation status for each block size does not satisfy the predetermined condition due to
The block combining means does not divide empty blocks, and the block combining means does not combine empty blocks when the occupation status for each block size does not satisfy a predetermined condition due to the combination of empty blocks. Have.
As a result, the occupancy of the storage area for each block size can be maintained within a desired range, and the division of the large-sized blocks is repeated endlessly, so that the large-sized blocks are depleted or vice versa. In addition, since the joining of the small-sized blocks is repeated endlessly, it is possible to prevent the small-sized blocks from being exhausted.

【0026】[0026]

【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0027】図1は本発明のファイルデータ格納装置の
一実施例のブロック図である。この例のファイルデータ
格納装置は、磁気ディスク装置等で構成された二次記憶
装置200と、これを制御する入出力制御部100と、
記録媒体300とから構成されている。
FIG. 1 is a block diagram of an embodiment of the file data storage device of the present invention. The file data storage device of this example includes a secondary storage device 200 constituted by a magnetic disk device or the like, an input / output control unit 100 for controlling the same,
And a recording medium 300.

【0028】入出力制御部100は、本実施例の場合、
構築指示解析手段101と、サイズ別空き領域確保手段
102と、空き領域管理情報構築手段103と、ファイ
ル書き込み読み出し手段104と、キャッシュ105
と、ブロックサイズ決定手段106と、空きブロック抽
出手段107と、ブロック割り当て手段108と、ブロ
ック解放手段109と、空きブロック登録手段110と
を含んでいる。
In this embodiment, the input / output control unit 100
Construction instruction analysis means 101, size-specific free area securing means 102, free area management information construction means 103, file writing / reading means 104, cache 105
, A block size determining unit 106, an empty block extracting unit 107, a block allocating unit 108, a block releasing unit 109, and an empty block registering unit 110.

【0029】このような入出力制御部100は、例えば
メモリおよび演算処理装置から構成されるデータ処理装
置で実現することができる。
The input / output control unit 100 can be realized by a data processing device including, for example, a memory and an arithmetic processing unit.

【0030】記録媒体300は、磁気ディスク,半導体
メモリその他の記録媒体であり、ここに記録されたプロ
グラムは入出力制御部100を構成するデータ処理装置
に読み込まれ、データ処理装置の動作を制御し、データ
処理装置を、上記各手段として機能させる。
The recording medium 300 is a recording medium such as a magnetic disk, a semiconductor memory, or the like. The program recorded in the recording medium 300 is read by a data processing device constituting the input / output control unit 100 and controls the operation of the data processing device. The data processing device is caused to function as each of the above units.

【0031】以下、本実施例の各部の機能をその全体の
動作を通じて説明する。
Hereinafter, the function of each part of the present embodiment will be described through its entire operation.

【0032】一般にファイルデータ格納装置の運用を管
理する利用者を管理者と呼び、一般の利用者とは区別す
る。管理者は、ファイルデータ格納装置を一般の利用者
が利用できる状態としたり、運用中にファイルデータ格
納装置の記憶領域がどれほど使用されているかなどを監
視,管理する。
Generally, a user who manages the operation of the file data storage device is called an administrator, and is distinguished from a general user. The administrator makes the file data storage device available to general users and monitors and manages how much the storage area of the file data storage device is used during operation.

【0033】二次記憶装置200をファイルデータ格納
用として用いるために、管理者は、二次記憶装置200
上にファイルデータ格納機構を構築する。この際、ブロ
ックのサイズをどれほどにするかなどの構成を決定して
おく。本発明においては、複数のブロックサイズが使用
できるため、管理者は、使用するブロックサイズを複数
種類決定する。使用する複数種類のブロックサイズは任
意であるが、本実施例では、最小のブロックサイズ以外
のブロックサイズが、最小サイズの整数倍となるように
決定しておく。
In order to use the secondary storage device 200 for storing file data, the administrator must use the secondary storage device 200.
Build a file data storage mechanism above. At this time, a configuration such as a size of the block is determined. In the present invention, since a plurality of block sizes can be used, the administrator determines a plurality of types of block sizes to be used. Although a plurality of types of block sizes to be used are arbitrary, in the present embodiment, block sizes other than the minimum block size are determined so as to be integral multiples of the minimum size.

【0034】管理者は、使用するブロックサイズを複数
種類決定すると、図示しないキーボード等の入力装置か
ら、それらのブロックサイズを指定した構築指示を入出
力制御部100に投入する。構築指示は、例えばUNI
Xにおけるコマンドのような形で実現される。この場
合、ブロックサイズの指定は、コマンドのパラメータで
与えることができる。
When the manager determines a plurality of types of block sizes to be used, the administrator inputs a construction instruction designating those block sizes to the input / output control unit 100 from an input device such as a keyboard (not shown). The construction instruction is, for example, UNI
It is implemented in the form of a command in X. In this case, the designation of the block size can be given by a command parameter.

【0035】投入された構築指示は、構築指示解析手段
101で解析され、ブロックサイズの情報がサイズ別空
き領域確保手段102に伝達される。このサイズ別空き
領域確保手段102と後段の空き領域管理情報構築手段
103とで、二次記憶装置200上にブロックサイズ別
の空きブロックを確保し、且つ各ブロックサイズ別に空
きブロックを管理する空き領域管理情報を作成して二次
記憶装置200に記録する構築部が構成される。
The input construction instruction is analyzed by the construction instruction analyzing means 101, and the information on the block size is transmitted to the size-specific free area securing means 102. The size-specific free area securing means 102 and the subsequent free area management information constructing means 103 secure free blocks for each block size in the secondary storage device 200 and manage free blocks for each block size. A construction unit that creates management information and records it in the secondary storage device 200 is configured.

【0036】まず、サイズ別空き領域確保手段102
は、二次記憶装置200上に各ブロックサイズ毎の空き
領域(空き容量)を確保する。その処理の一例を図2に
示す。
First, means for securing free area by size 102
Secures a free area (free capacity) for each block size on the secondary storage device 200. FIG. 2 shows an example of the processing.

【0037】サイズ別空き領域確保手段102は、構築
指示解析手段101から渡された複数のブロックサイズ
の内から最大のブロックサイズを取り出し(S1)、こ
の最大ブロックサイズで二次記憶装置200上の記憶領
域を仕切って、各ブロックに一意な番号を割り付ける
(S2)。次に、各ブロックサイズに割り当てるべき空
き領域の割合を決定し、ステップS2で仕切ってできた
ブロックの総数から、各ブロックサイズ毎に割り当てる
べきブロック数を計算する(S3)。ここで、各ブロッ
クサイズに割り当てるべき空き領域の割合は予め静的に
決定しておく方法以外に、構築指示の1つのパラメータ
としてブロックサイズと共に指定する方法がある。
The size-specific free area securing means 102 extracts the maximum block size from the plurality of block sizes passed from the construction instruction analyzing means 101 (S1), and uses this maximum block size on the secondary storage device 200. The storage area is partitioned, and a unique number is assigned to each block (S2). Next, the ratio of the free area to be allocated to each block size is determined, and the number of blocks to be allocated for each block size is calculated from the total number of blocks formed in step S2 (S3). Here, in addition to the method of statically determining the ratio of the free area to be allocated to each block size, there is a method of specifying together with the block size as one parameter of the construction instruction.

【0038】例えば構築指示で指定されたブロックサイ
ズが、A,B,Cの3種類であり、Aが最も大きなサイ
ズで、次にBが大きく、Cが最も小さいサイズとし、各
ブロックサイズに割り当てるべき領域の割合がA:B:
C=4:5:3であった場合、二次記憶装置200の記
憶領域をブロックサイズAで仕切り、このとき例えば図
3に示すように合計12個のブロックができたとする
と、図示するように二次記憶装置200の先頭アドレス
(0)のブロックから順に、各ブロックに0,1,…,
11と連続するブロック番号を割り付け、各ブロックサ
イズに割り当てるブロック数として同図(b)に示すブ
ロック数を求める。なお、このような0から連続する番
号を割り付けることにより、ブロック番号にブロックサ
イズAを乗じることで、そのブロックの先頭アドレスが
求まり、ブロック番号で各ブロックを一意に識別するこ
とができる。
For example, there are three types of block sizes specified by the construction instruction, A, B, and C, where A is the largest size, B is the next largest, and C is the smallest size, and assigned to each block size. A: B:
When C = 4: 5: 3, the storage area of the secondary storage device 200 is partitioned by the block size A. At this time, for example, if a total of 12 blocks are formed as shown in FIG. ..,..., In order from the block at the start address (0) of the secondary storage device 200.
A block number continuous with 11 is assigned, and the number of blocks shown in FIG. It is to be noted that, by allocating such a continuous number from 0, by multiplying the block number by the block size A, the head address of the block is obtained, and each block can be uniquely identified by the block number.

【0039】次に空き領域管理情報構築手段103は、
サイズ別空き領域確保手段102で仕切られてできた最
大サイズのブロックを、上記算出された各ブロックサイ
ズ毎の割り当てブロック数に従って個々のブロックサイ
ズ毎に割り振り、かつ最大サイズ以外のブロックサイズ
に割り振ったブロックは分割することにより当該ブロッ
クサイズの大きさにすると共に一意なブロック番号を割
り付ける。そして、各ブロックサイズ毎に、空きブロッ
クを管理する空き領域管理情報を作成して二次記憶装置
200に記録する。その処理の一例を図4に示す。
Next, the free area management information construction means 103
The block of the maximum size formed by the size-specific free area securing means 102 is allocated to each block size according to the calculated number of allocated blocks for each block size, and allocated to block sizes other than the maximum size. The block is divided into blocks each having the size of the block size and a unique block number is allocated. Then, free space management information for managing free blocks is created for each block size and recorded in the secondary storage device 200. FIG. 4 shows an example of the processing.

【0040】空き領域管理情報構築手段103は、サイ
ズ別空き領域確保手段102で仕切られてできた最大サ
イズのブロックの全ブロック番号を集合Uに入れ(S1
1)、まず最大のブロックサイズに注目する(S1
2)。そして、サイズ別空き領域確保手段102で決定
された最大ブロックサイズへの割り当て数に応じた数の
ブロック番号を集合Uから取り出し(S13)、最大ブ
ロックサイズ用の空き領域管理情報を作成して二次記憶
装置200に記録する(S14)。
The free area management information construction means 103 puts all the block numbers of the blocks of the maximum size formed by the size-specific free area securing means 102 into the set U (S1).
1) First, focus on the largest block size (S1).
2). Then, block numbers corresponding to the number of allocations to the maximum block size determined by the size-specific free area securing means 102 are extracted from the set U (S13), and free area management information for the maximum block size is created. The information is recorded in the next storage device 200 (S14).

【0041】次に、未処理のブロックサイズが残ってい
るか否かを調べ(S15)、残っていれば、次にサイズ
の大きなブロックサイズに注目を移し(S16)、集合
Uに含まれる各ブロック番号のブロックをN分割し、こ
の分割してできた個々のブロックの番号を計算し、集合
Uを一旦空にした後、その集合Uに今回計算したブロッ
ク番号の全てを格納する(S17)。ここで、Nは、次
式に示す値である。 N=直前に注目していたブロックサイズ/現在注目しているブロックサイズ …(1)
Next, it is checked whether or not an unprocessed block size remains (S15). If it remains, attention is paid to the next largest block size (S16), and each block included in the set U is checked. The block having the number is divided into N, the numbers of the individual blocks formed by the division are calculated, the set U is once emptied, and all the block numbers calculated this time are stored in the set U (S17). Here, N is a value represented by the following equation. N = block size of interest immediately before / block size of interest now ... (1)

【0042】そして、サイズ別空き領域確保手段102
で決定された当該ブロックサイズへの割り当て数に応じ
た数のブロック番号を集合Uから取り出し(S13)、
当該ブロックサイズ用の空き領域管理情報を作成して二
次記憶装置200に記録する(S14)。
Then, the free area securing means 102 for each size
The number of block numbers corresponding to the number of allocations to the block size determined in (1) is extracted from the set U (S13),
The free space management information for the block size is created and recorded in the secondary storage device 200 (S14).

【0043】他方、ステップS15で未処理のブロック
サイズが残っていないと判断したときは、処理を終了す
る。
On the other hand, if it is determined in step S15 that there is no unprocessed block size, the process ends.

【0044】空き領域管理情報構築手段103の動作
を、図3を参照して説明すると以下のようになる。
The operation of the free area management information construction means 103 will be described below with reference to FIG.

【0045】先ず、ブロック番号0〜11を集合Uに入
れる(S11)。最大ブロックサイズAに注目し(S1
2)、それに割り当てるべきブロック数「4」に応じ
て、集合Uから4つのブロック番号を取り出す(S1
3)。ブロック番号は先頭から順に取り出しても良い
し、ランダムに取り出しても良い。今の場合、ブロック
番号0,1,2,3を取り出したとする。次に、最大ブ
ロックサイズA用の空き領域管理情報を作成し、二次記
憶装置200に記録する(S14)。ここで、最大ブロ
ックサイズA用に作成した空き領域管理情報は、このブ
ロックサイズA用に割り当てた何れか1つまたは複数の
ブロックに格納する。
First, block numbers 0 to 11 are put into a set U (S11). Pay attention to the maximum block size A (S1
2) Extract four block numbers from the set U according to the number of blocks "4" to be allocated to the blocks (S1).
3). The block numbers may be taken out sequentially from the beginning or may be taken out at random. In this case, it is assumed that block numbers 0, 1, 2, and 3 have been extracted. Next, free area management information for the maximum block size A is created and recorded in the secondary storage device 200 (S14). Here, the free space management information created for the maximum block size A is stored in any one or a plurality of blocks allocated for the block size A.

【0046】次に、ブロックサイズBに注目を移し(S
16)、N=ブロックサイズA/ブロックサイズB=2
とすると、集合Uに含まれる各ブロック番号4〜11の
ブロックを図3(c)に示すように2等分し、個々のブ
ロック番号を以下のように計算して、集合Uに格納する
(S17)。 分割後のブロック番号=分割前のブロック番号×N+n …(2) 但し、n=0,…,(N−1)
Next, attention is paid to the block size B (S
16), N = block size A / block size B = 2
Then, the blocks of block numbers 4 to 11 included in the set U are divided into two equal parts as shown in FIG. 3C, and the individual block numbers are calculated as follows and stored in the set U ( S17). Block number after division = Block number before division × N + n (2) where n = 0,..., (N−1)

【0047】従って、分割後の各ブロックの番号は図3
(c)に付記したようになる。ここで、分割後のブロッ
ク番号にブロックサイズBを乗じると、そのブロックの
先頭アドレスが求まるため、各ブロック番号が各ブロッ
クを一意に識別する情報となる。
Accordingly, the numbers of the respective blocks after division are shown in FIG.
As shown in (c). Here, when the divided block number is multiplied by the block size B, the starting address of the block is obtained, and thus each block number is information for uniquely identifying each block.

【0048】そして、サイズ別空き領域確保手段102
で決定されたブロックサイズBの割り当てブロック
「5」に応じて、最大サイズのブロック数にして5個、
当該ブロックサイズBのサイズにして5×2、つまり1
0個のブロック番号を集合Uから取り出す(S13)。
この取り出しも先頭から順であってもランダムであって
も良い。ここでは、ブロック番号8〜17の10個が取
り出されたとする。次に、ブロックサイズB用の空き領
域管理情報を作成し、二次記憶装置200に記録する
(S14)。ブロックサイズB用に作成した空き領域管
理情報も、このブロックサイズB用に割り当てた何れか
1つまたは複数のブロックに格納する。
Then, the free area securing means 102 for each size
According to the allocated block “5” of the block size B determined in the above, the maximum number of blocks is 5,
The size of the block size B is 5 × 2, that is, 1
Zero block numbers are extracted from the set U (S13).
This extraction may be in order from the beginning or may be random. Here, it is assumed that ten block numbers 8 to 17 have been extracted. Next, free area management information for block size B is created and recorded in the secondary storage device 200 (S14). The free space management information created for the block size B is also stored in one or a plurality of blocks allocated for the block size B.

【0049】次に、ブロックサイズCに注目を移し(S
16)、N=ブロックサイズB/ブロックサイズC=2
とすると、集合Uに含まれる各ブロック番号18〜23
のブロックを図3(d)に示すように2等分し、個々の
ブロック番号を前記式(2)で計算して、集合Uに格納
する(S17)。従って、分割後の各ブロックの番号は
図3(d)に付記したようになる。ここで、分割後のブ
ロック番号にブロックサイズCを乗じると、そのブロッ
クの先頭アドレスが求まるため、各ブロック番号が各ブ
ロックを一意に識別する情報となる。
Next, attention is paid to the block size C (S
16), N = block size B / block size C = 2
Then, each block number 18 to 23 included in the set U
Is divided into two equal parts as shown in FIG. 3D, the individual block numbers are calculated by the above equation (2), and stored in the set U (S17). Accordingly, the numbers of the respective blocks after the division are as shown in FIG. Here, when the divided block number is multiplied by the block size C, the starting address of the block is obtained, and thus each block number is information for uniquely identifying each block.

【0050】そして、サイズ別空き領域確保手段102
で決定されたブロックサイズCの割り当てブロック
「3」に応じて、最大サイズのブロック数にして3個、
当該ブロックサイズCのサイズにして3×2×2、つま
り12個のブロック番号を集合Uから取り出す(S1
3)。この場合、集合Uに格納されている全てのブロッ
ク番号36〜47が取り出される。次に、ブロックサイ
ズC用の空き領域管理情報を作成し、二次記憶装置20
0に記録する(S14)。ブロックサイズC用に作成し
た空き領域管理情報も、このブロックサイズC用に割り
当てた何れか1つまたは複数のブロックに格納する。
Then, a free area securing means 102 for each size
According to the allocation block “3” of the block size C determined in the above, the maximum number of blocks is 3,
3 × 2 × 2, that is, 12 block numbers are extracted from the set U as the size of the block size C (S1).
3). In this case, all the block numbers 36 to 47 stored in the set U are extracted. Next, free space management information for the block size C is created, and the secondary storage device 20 is created.
0 is recorded (S14). The free space management information created for the block size C is also stored in one or more blocks allocated for the block size C.

【0051】図5は上述したサイズ別空き領域確保手段
102および空き領域管理情報構築手段103の具体例
による動作の模式図である。図5において、1021は
サイズ別空き領域確保手段102が最大ブロックサイズ
に対して割り当てたブロック番号の集合を示し、103
1,1032,1033は空き領域管理情報構築手段1
03が各ブロックサイズA,B,Cに対して割り当てた
最大ブロックサイズのブロック番号の集合を示す。10
34はブロックサイズA用の空き領域管理情報であり、
二次記憶装置200上の例えばブロック番号0のブロッ
クに格納される。1035は、ブロックサイズBに割り
当てられた最大サイズのブロックをブロックサイズBに
分割して得た個々のブロックのブロック番号の集合であ
り、1036はブロックサイズB用の空き領域管理情報
で、二次記憶装置200上の例えばブロック番号8のブ
ロックに格納される。1037は、ブロックサイズCに
割り当てられた最大サイズのブロックをブロックサイズ
Cに分割して得た個々のブロックのブロック番号の集合
であり、1038はブロックサイズC用の空き領域管理
情報で、二次記憶装置200上の例えばブロック番号3
6,37のブロックに跨がって格納される。
FIG. 5 is a schematic diagram of the operation of a specific example of the above-mentioned size-specific free area securing means 102 and free area management information construction means 103. In FIG. 5, reference numeral 1021 denotes a set of block numbers assigned to the maximum block size by the size-based free area securing unit 102;
Reference numerals 1, 1032 and 1033 denote free area management information construction means 1
03 indicates a set of block numbers of the maximum block size allocated to each of the block sizes A, B, and C. 10
34 is free space management information for block size A;
For example, it is stored in the block of block number 0 on the secondary storage device 200. 1035 is a set of block numbers of individual blocks obtained by dividing the block of the maximum size allocated to the block size B into the block size B, and 1036 is free space management information for the block size B, For example, it is stored in the block of block number 8 on the storage device 200. Reference numeral 1037 denotes a set of block numbers of individual blocks obtained by dividing a block having the maximum size allocated to the block size C into block sizes C. Reference numeral 1038 denotes free space management information for the block size C. For example, the block number 3 on the storage device 200
It is stored across 6, 37 blocks.

【0052】図6は各ブロックサイズA,B,Cへのブ
ロックの別の割り当て例を示す。この例は、各ブロック
サイズA,B,Cのブロックを二次記憶装置200中に
散在させて割り当てた例を示す。
FIG. 6 shows another example of allocating blocks to the respective block sizes A, B, and C. This example shows an example in which blocks of respective block sizes A, B, and C are scattered and allocated in the secondary storage device 200.

【0053】図7は個々のブロックサイズ用の空き領域
管理情報の構成例とその二次記憶装置への格納例とを示
す図である。この例の空き領域管理情報は空きブロック
のブロック番号のリストである。空きブロック数が多い
場合、リスト長はそれに比例して長くなる。前述したよ
うに空き領域管理情報も二次記憶装置200上のブロッ
クに記録されるため、リスト長の長い空き領域管理情報
は複数のブロックに跨がって記録される。この場合、リ
ストは複数のリスト部分に分割されて各ブロックに記録
される。このとき、各ブロックに格納されるリスト部分
の先頭には次のリスト部分が記録され、リスト自体が鎖
構造となる。なお、先頭のリスト部分を格納するブロッ
クの番号は、例えば、割り当て,解放の対象とならない
特定のブロックに記録されて管理される。このような空
き領域管理情報は、前述したように各ブロックサイズ毎
に1つずつ用意され、各々のブロックサイズのブロック
を1つまたは複数使って二次記憶装置200に記録され
る。
FIG. 7 is a diagram showing an example of the configuration of the free area management information for each block size and an example of its storage in the secondary storage device. The free area management information in this example is a list of block numbers of free blocks. If the number of free blocks is large, the list length becomes proportionally longer. As described above, the free area management information is also recorded in the blocks on the secondary storage device 200, so the free area management information having a long list length is recorded over a plurality of blocks. In this case, the list is divided into a plurality of list parts and recorded in each block. At this time, the next list part is recorded at the head of the list part stored in each block, and the list itself has a chain structure. The number of the block that stores the first list part is recorded and managed, for example, in a specific block that is not to be allocated or released. One such free space management information is prepared for each block size as described above, and is recorded in the secondary storage device 200 using one or a plurality of blocks of each block size.

【0054】以上がファイルデータ格納機構の構築時の
動作である。以下、運用時の各手段の機能とその動作と
を説明する。
The above is the operation when the file data storage mechanism is constructed. Hereinafter, the functions and operations of each unit during operation will be described.

【0055】ファイルデータ格納機構の構築時には、二
次記憶装置200上のブロックは管理情報を格納するブ
ロック以外は全て空き領域となっている。この状態から
利用者が或るファイルに対してデータの書き込みなどを
行っていく。
When the file data storage mechanism is constructed, all the blocks on the secondary storage device 200 are free areas except for the block for storing the management information. From this state, the user writes data to a certain file.

【0056】図1のファイル書き込み読み出し手段10
4は、上位装置(例えば中央処理装置)からの要求に従
ってファイルの書き込み,読み出しなどを司る部分であ
る。或るファイルにデータを書き込む場合、そのファイ
ルの管理情報や実際のデータを格納するための空きブロ
ックが必要となる。ファイル書き込み読み出し手段10
4は、空きブロックが必要になると、ブロックサイズ決
定手段106に対して、その空きブロックを使うファイ
ル名などの情報を渡して空きブロックの要求を出す。
File writing / reading means 10 of FIG.
Reference numeral 4 denotes a portion that controls writing and reading of a file in accordance with a request from a higher-level device (for example, a central processing unit). When writing data to a certain file, an empty block for storing management information of the file and actual data is required. File writing and reading means 10
When a free block is needed, the block 4 gives the block size determining means 106 a request for a free block by passing information such as a file name using the free block.

【0057】ブロックサイズ決定手段106は、二次記
憶装置200上に書き込むべきデータに応じて必要なブ
ロックサイズを決定する。ブロックサイズを決定する基
準には幾つかの実現例が考えられる。
The block size determining means 106 determines a required block size according to data to be written on the secondary storage device 200. Several implementations can be considered as criteria for determining the block size.

【0058】1つの例は、書き込まれるデータの種類に
応じて固定的にブロックサイズを決定してしまう方法で
ある。二次記憶装置200に書き込むデータには、利用
者が書き込みを要求したデータ以外に、ファイルの管理
情報などの管理情報があり、ファイルの管理情報などは
情報量が比較的少ないため小サイズのブロックで足りる
からである。このような方法を実施する場合は、空きブ
ロックの要求時に、ファイル書き込み読み出し手段10
4はそのブロックに書き込もうとしているデータの種類
をブロックサイズ決定手段106に通知する。ブロック
サイズ決定手段106はこのデータの種類を確認し、そ
れに応じてどのブロックサイズを使用するかを決める。
One example is a method in which the block size is fixedly determined according to the type of data to be written. The data to be written to the secondary storage device 200 includes management information such as file management information in addition to the data requested by the user to write. It is enough. When such a method is performed, the file writing / reading means 10
No. 4 notifies the block size determining means 106 of the type of data to be written to the block. The block size determining means 106 checks the type of the data and determines which block size to use accordingly.

【0059】別の1つの例は、書き込まれるデータのサ
イズに応じてブロックサイズを決める方法である。ファ
イルの管理情報などはデータのサイズがほぼ固定してい
るので前述の方法でも有効であるが、利用者が要求する
書き込みデータはサイズに大きなバラツキがあるため、
有効でない。書き込まれるデータのサイズに応じてブロ
ックサイズを決定すれば、このような問題は解消され
る。この方法を実施する場合、空きブロックの要求時
に、ファイル書き込み読み出し手段104はそのブロッ
クに書き込もうとしているデータのサイズをブロックサ
イズ決定手段106に通知する。ブロックサイズ決定手
段106は、複数用意されたブロックサイズから、過不
足のないブロックサイズを選択する。
Another example is a method of determining a block size according to the size of data to be written. Since the data size of file management information is almost fixed, the above method is also effective. However, since the write data requested by the user has a large variation in size,
Not valid. Such a problem can be solved by determining the block size according to the size of the data to be written. When this method is performed, when a free block is requested, the file writing / reading unit 104 notifies the block size determining unit 106 of the size of data to be written in the block. The block size determining means 106 selects a block size with no excess or shortage from a plurality of prepared block sizes.

【0060】さて、ブロックサイズ決定手段106でブ
ロックサイズが決定されると、ファイル書き込み読み出
し手段104から渡されたファイル名と共にそのブロッ
クサイズが空きブロック抽出手段107に通知される。
空きブロック抽出手段107は、通知されたブロックサ
イズの空きブロックを1つ抽出し、その後段のブロック
割り当て手段108は、この抽出された空きブロック
を、通知されたファイル名のファイルの所属とし、制御
をファイル書き込み読み出し手段104に戻す。ファイ
ル書き込み読み出し手段104は、このファイルの所属
となった空きブロックに対してデータの書き込みを行
う。
When the block size is determined by the block size determining means 106, the block size is notified to the empty block extracting means 107 together with the file name passed from the file writing / reading means 104.
The empty block extracting unit 107 extracts one empty block of the notified block size, and the subsequent block allocating unit 108 assigns the extracted empty block to the file belonging to the notified file name, and Is returned to the file writing / reading means 104. The file writing / reading unit 104 writes data to an empty block to which the file belongs.

【0061】次に、空きブロック抽出手段107および
ブロック割り当て手段108の動作を説明するが、本実
施例の入出力制御部100は処理の高速化を図るために
キャッシュ105を有しており、このキャッシュ105
に管理情報の一部をキャッシングするようにしている
為、まず、キャッシュ105について説明しておく。
Next, the operation of the free block extracting means 107 and the block allocating means 108 will be described. The input / output control unit 100 of this embodiment has a cache 105 for speeding up the processing. Cache 105
First, the cache 105 will be described because a part of the management information is cached.

【0062】図8は、キャッシュ105に格納される情
報の例を示す。この例では、二次記憶装置200を大ブ
ロックと小ブロックの2種類のブロックサイズで使用し
ており、その為に空き領域管理情報は大ブロック用と小
ブロック用との2種類ある。キャッシュ105には、そ
の各々の空き領域管理情報の一部(先頭のリスト部分)
がキャッシングされる。同様に、現在2つのファイル
α,βが生成されているとすると、その各々のファイル
の管理情報が二次記憶装置200に記録されているた
め、キャッシュ105には、各ファイルの管理情報の一
部がキャッシングされる。
FIG. 8 shows an example of information stored in the cache 105. In this example, the secondary storage device 200 is used with two types of block sizes, a large block and a small block. Therefore, there are two types of free area management information, one for a large block and one for a small block. In the cache 105, a part of the respective free area management information (the head part of the list)
Is cached. Similarly, if two files α and β are generated at this time, the management information of each file is recorded in the secondary storage device 200. The part is cached.

【0063】さて、空きブロック抽出手段107の処理
例を説明する。図9にその処理例を示す。空きブロック
抽出手段107は、ブロックサイズ決定手段106から
ブロックサイズが指定されると、この指定されたブロッ
クサイズの空き領域管理情報の先頭のリスト部分がキャ
ッシュ105上に無ければ、そのリスト部分を二次記憶
装置200からキャッシュ105上に読み込み(S2
1,S22)、ステップS23へ進む。先頭のリスト部
分が既にキャッシュ105上に存在すれば、ステップS
22をスキップしてステップS23へ進む。なお、指定
されたブロックサイズの空き領域管理情報が存在しない
場合、そのブロックサイズの空きブロックが1つも無い
ことになる。この場合の対処としては、例えば別のサイ
ズの空きブロックで代用する等の方法が採用できる。
Now, a processing example of the empty block extracting means 107 will be described. FIG. 9 shows an example of the processing. When the block size is designated by the block size determining means 106, the empty block extracting means 107, if the head list part of the free area management information of the designated block size is not in the cache 105, deletes the list part. Read from the secondary storage device 200 onto the cache 105 (S2
1, S22), and proceeds to step S23. If the first list part already exists on the cache 105, the process proceeds to step S
Skip to step S22 and proceed to step S23. If there is no free area management information of the designated block size, there is no free block of that block size. To cope with this case, for example, a method of substituting an empty block of another size can be adopted.

【0064】次に先頭のリスト部分が空か否か、つまり
リスト部分が次のリスト部分を含むブロックのブロック
番号を格納するエントリだけで空きブロックの番号を格
納したエントリが1つもないか否かを判定し(S2
3)、空でなければ、そのリスト内のブロック番号を1
つ取り出し、そのエントリをクリアし、取り出したブロ
ック番号を空きブロック番号としてブロック割り当て手
段108に通知し(S24)、処理を終える。
Next, whether or not the first list portion is empty, that is, whether or not there is only one entry storing the block number of a block whose list portion includes the next list portion and there is no entry storing the number of an empty block Is determined (S2
3) If not empty, set the block number in the list to 1
Then, the entry is cleared, the extracted block number is notified to the block allocating means 108 as an empty block number (S24), and the process is terminated.

【0065】他方、リスト部分が空であった場合、当該
リスト部分が書き込まれていた二次記憶装置200上の
ブロックのブロック番号を内部に一時的に記録し(S2
5)、次のリスト部分があればそれを二次記憶装置20
0からキャッシュ105上に読み込み(S26)、上記
記録しておいたブロック番号を空きブロック番号として
ブロック割り当て手段108に通知し(S27)、処理
を終える。図10はこのときの動作の模式図である。前
述したように或るブロックサイズ用の空き領域管理情報
はそのブロックサイズのブロックに格納してあるため、
空き領域管理情報を格納するブロックが空きになったと
きそれを空きブロックとして利用するわけである。
On the other hand, if the list portion is empty, the block number of the block on the secondary storage device 200 in which the list portion has been written is temporarily recorded therein (S2).
5) If there is a next list part, it is stored in the secondary storage device 20.
The block number is read from 0 to the cache 105 (S26), and the recorded block number is notified to the block allocating unit 108 as an empty block number (S27), and the process is terminated. FIG. 10 is a schematic diagram of the operation at this time. As described above, since the free area management information for a certain block size is stored in a block of that block size,
When a block storing the free space management information becomes free, it is used as a free block.

【0066】次にブロック割り当て手段108の動作に
ついて説明する。図11にその処理例を示す。ブロック
割り当て手段108は、空きブロック抽出手段107か
らブロック番号とその所属させるべきファイルとが指定
されると、指定されたファイルの管理情報がキャッシュ
105上に無ければ、そのファイルの管理情報を二次記
憶装置200からキャッシュ105上に読み込み(S3
1,S32)、ステップS33へ進む。そのファイルの
管理情報が既にキャッシュ105上に存在すれば、ステ
ップS32をスキップしてステップS33へ進む。ステ
ップS33では、キャッシュ上のファイルの管理情報に
対し、割り当てるブロックの番号を、ブロックサイズと
の関係がわかる形で記録する(S33)。ここで、ブロ
ックサイズとの関係がかわる形で記録する方法の例とし
ては、ブロック番号と共にブロックサイズを記録する方
法や、ファイル管理情報内で各ブロックサイズ別にブロ
ック番号が区分けされている場合には、該当する場所に
ブロック番号を記録する方法などがある。
Next, the operation of the block allocating means 108 will be described. FIG. 11 shows an example of the processing. When the block number and the file to which the block belongs are designated by the free block extracting means 107, the block allocating means 108, if the management information of the designated file is not in the cache 105, the management information of the file is secondarily stored. Read from the storage device 200 onto the cache 105 (S3
1, S32), and proceeds to step S33. If the management information of the file already exists on the cache 105, the process skips step S32 and proceeds to step S33. In step S33, the number of the block to be assigned is recorded in the management information of the file on the cache in such a manner that the relationship with the block size is understood (S33). Here, as an example of a method of recording in a form in which the relationship with the block size is changed, a method of recording the block size together with the block number, and a case where the block number is divided for each block size in the file management information. And a method of recording a block number in a corresponding place.

【0067】以上のようにしてファイル書き込み読み出
し手段104は、空きブロックのブロック番号を取得
し、そのブロック番号から計算で求まる二次記憶装置2
00上のアドレスに存在する空きブロックに対してデー
タの書き込みを行う。データの書き込みが行われたブロ
ックは、前述したように該当ファイルの管理下に所属し
ており、そのファイルの管理情報によって、該当ファイ
ルのどのデータがどのブロックサイズのどのブロックに
書かれているかが管理されるため、当該データの読み出
しを行うことができる。
As described above, the file writing / reading means 104 obtains the block number of an empty block and calculates the secondary storage device 2 from the block number.
Data is written to an empty block existing at the address above 00. The block to which data has been written belongs to the management of the file as described above, and the management information of the file indicates which data of the file is written in which block of which block size. Since the data is managed, the data can be read.

【0068】次に、ファイルのデータが利用者にとって
必要なくなった場合の動作について説明する。この場
合、該当するブロック中のデータを消去するだけでな
く、データが空になった空きブロックを二次記憶装置2
00上の空き領域として管理しなければならない。そこ
で、ブロック解放手段109によって該当するブロック
をファイルの管理下から除去し、更に、この空きブロッ
クを、空きブロック登録手段110によって、二次記憶
装置200上の空き領域としての管理下に戻す。これに
より、データ消去されたブロックは空きブロックとして
管理され、別のデータ書き込みに際して再利用すること
ができる。以下、ブロック解放および空きブロック登録
について説明する。
Next, the operation when the file data is no longer necessary for the user will be described. In this case, in addition to erasing the data in the corresponding block, the empty block in which the data becomes empty
00 must be managed as an empty area. Therefore, the corresponding block is removed from the file management by the block release unit 109, and the empty block is returned to the management as an empty area on the secondary storage device 200 by the empty block registration unit 110. As a result, the block from which data has been erased is managed as an empty block, and can be reused when another data is written. Hereinafter, block release and free block registration will be described.

【0069】ファイルデータを消去する際、ファイル書
き込み読み出し手段104は、該当するデータを含むブ
ロックのブロック番号,その所属するファイル名および
ブロックサイズをブロック解放手段109に指定し、そ
の解放を要求する。ブロック解放手段109はこれに応
じて当該ブロックを解放する処理を行う。
When erasing the file data, the file writing / reading means 104 specifies the block number of the block containing the corresponding data, the name of the file to which the data belongs, and the block size to the block releasing means 109, and requests its release. The block releasing unit 109 performs a process of releasing the block in response to this.

【0070】図12にブロック解放手段109の処理の
一例を示す。ブロック解放手段109は、ファイル書き
込み読み出し手段104から指定されたファイルの管理
情報がキャッシュ105上に無ければ、そのファイルの
管理情報を二次記憶装置200からキャッシュ105上
に読み込み(S41,S42)、ステップS43へ進
む。そのファイルの管理情報が既にキャッシュ105上
に存在すれば、ステップS42をスキップしてステップ
S43へ進む。ステップS43では、キャッシュ105
上のファイルの管理情報から、解放するブロックのブロ
ック番号をクリアし、空きブロック登録手段110に対
してそのブロック番号およびブロックサイズを通知す
る。
FIG. 12 shows an example of the processing of the block release means 109. If the management information of the file specified by the file writing / reading means 104 is not in the cache 105, the block release means 109 reads the management information of the file from the secondary storage device 200 into the cache 105 (S41, S42), Proceed to step S43. If the management information of the file already exists on the cache 105, the process skips step S42 and proceeds to step S43. In step S43, the cache 105
The block number of the block to be released is cleared from the management information of the above file, and the free block registration unit 110 is notified of the block number and the block size.

【0071】ブロック解放手段109によって解放され
たブロックは、空きブロック登録手段108によって、
空きブロックとしての一括管理下に戻される。図13に
空きブロック登録手段110の処理例を示す。空きブロ
ック登録手段110は、解放ブロックのブロックサイズ
用の空き領域管理情報の先頭のリスト部分がキャッシュ
105上に無ければ、そのリスト部分を二次記憶装置2
00からキャッシュ105上に読み込み(S51,S5
2)、ステップS53へ進む。先頭のリスト部分が既に
キャッシュ105上に存在すれば、ステップS52をス
キップしてステップS53へ進む。
The blocks released by the block releasing means 109 are output by the empty block registering means 108.
It is returned under collective management as an empty block. FIG. 13 shows a processing example of the empty block registration means 110. The free block registration unit 110 stores the list portion of the free area management information for the block size of the released block in the secondary storage device 2 if the first list portion does not exist in the cache 105.
00 to the cache 105 (S51, S5
2), proceed to step S53. If the first list part already exists on the cache 105, the process skips step S52 and proceeds to step S53.

【0072】次に先頭のリスト部分が一杯か否か、つま
りリスト部分の全エントリが使用されており、当該リス
ト部分を格納するブロックに新たなブロック番号を登録
するエントリがないか否かを判定し(S53)、一杯で
なければ、そのリスト内のエントリに解放ブロックのブ
ロック番号を登録する(S54)。
Next, it is determined whether or not the first list portion is full, that is, whether or not all the entries of the list portion have been used and there is no entry for registering a new block number in the block storing the list portion. If it is not full (S53), the block number of the released block is registered in the entry in the list (S54).

【0073】他方、キャッシュ上のリスト部分が一杯で
あった場合、当該リスト部分を、解放ブロックの二次記
憶装置200の位置に書き出し(S55)、キャッシュ
上のリスト部分をクリアし、前記書き出したリスト部分
を格納したブロックのブロック番号を、リスト部分の先
頭に設定した空のリスト部分をキャッシュ上に生成し、
そのリスト内のエントリに解放ブロックのブロック番号
を登録する(S56)。図14はこのときの動作の模式
図である。前述したように或るブロックサイズ用の空き
領域管理情報の各リスト部分はそのブロックサイズのブ
ロックに格納してあるため、キャッシュ上のリスト部分
が一杯になったときそれを格納する空きブロックとし
て、今回解放の対象となったブロックを利用するわけで
ある。
On the other hand, when the list part on the cache is full, the list part is written to the secondary storage device 200 at the position of the released block (S55), the list part on the cache is cleared, and the written part is written. Generates an empty list part on the cache that sets the block number of the block storing the list part at the beginning of the list part,
The block number of the released block is registered in the entry in the list (S56). FIG. 14 is a schematic diagram of the operation at this time. As described above, since each list portion of the free area management information for a certain block size is stored in a block of that block size, when the list portion on the cache becomes full, it is used as an empty block for storing it. The block that was released this time is used.

【0074】なお、指定されたブロックサイズの空き領
域管理情報が存在しない場合、そのブロックサイズの空
きブロックが現在1つも存在しないことを意味する。こ
のときは、今回の解放ブロックを空き領域管理情報の先
頭のリスト部分を格納するブロックとして使用する。
When there is no free area management information of the designated block size, it means that no free block of the block size currently exists. At this time, the current release block is used as a block for storing the head list portion of the free area management information.

【0075】図15は本発明のファイルデータ格納装置
の別の実施例のブロック図である。この例のファイルデ
ータ格納装置が図1の実施例のファイルデータ格納装置
と相違するところは、入出力制御部100に、空きブロ
ック分割手段111とブロックサイズ別占有率管理手段
112とを付加した点にある。先の実施例と同様に入出
力制御部100は例えばメモリおよび演算処理装置から
構成されるデータ処理装置で実現することができ、記録
媒体300に記録されたプログラムが入出力制御部10
0を構成するデータ処理装置に読み込まれ、データ処理
装置の動作を制御し、データ処理装置を、各手段として
機能させる。
FIG. 15 is a block diagram of another embodiment of the file data storage device of the present invention. The difference between the file data storage device of this embodiment and the file data storage device of the embodiment of FIG. 1 is that the input / output control unit 100 is provided with a free block dividing unit 111 and a block size occupancy management unit 112. It is in. As in the previous embodiment, the input / output control unit 100 can be realized by a data processing device including, for example, a memory and an arithmetic processing unit.
0, which is read by the data processing device constituting 0, controls the operation of the data processing device, and causes the data processing device to function as each unit.

【0076】図1の実施例のファイルデータ格納装置に
あっては、二次記憶装置200上に占める各ブロックサ
イズ毎の領域の割合が、データ構造構築の時点で固定的
に決まってしまうため、小さなブロックサイズの空きブ
ロックが足りなくなると、それより大きなブロックサイ
ズの空きブロックがいくら余っていても、それ以上デー
タを二次記憶装置200に書き込むことができないか、
大きなブロックサイズの空きブロックで代用する必要が
ある。
In the file data storage device of the embodiment shown in FIG. 1, the ratio of the area occupied by each block size in the secondary storage device 200 is fixedly determined at the time of constructing the data structure. If there are not enough free blocks of the small block size, no matter how many free blocks of the larger block size remain, it is impossible to write more data to the secondary storage device 200.
An empty block with a large block size must be used instead.

【0077】これを避けるためには、想定される二次記
憶装置200の利用状況を踏まえて、データ構造構築時
に、各ブロックサイズに対してどのような割合で領域を
確保するかを綿密に計画する必要がある。このため、想
定される利用状況を決定することができない様々な利用
方法に対応することができない。
To avoid this, it is necessary to carefully plan what percentage of area should be reserved for each block size when constructing the data structure, based on the expected usage of the secondary storage device 200. There is a need to. For this reason, it is not possible to cope with various use methods in which the assumed use state cannot be determined.

【0078】そこで、本実施例では、小さなブロックが
足りなくなると大きなブロックを分割して利用し、ブロ
ックサイズ毎の割合を柔軟に変化させる。以下、図1の
実施例との相違点を中心に本実施例の動作を説明する。
Therefore, in the present embodiment, when a small block runs short, a large block is divided and used, and the ratio for each block size is flexibly changed. Hereinafter, the operation of this embodiment will be described focusing on the differences from the embodiment of FIG.

【0079】ブロックサイズ別占有率管理手段112
は、各ブロックサイズ別の占有状況を管理している。こ
れは例えば、各ブロックサイズ別にそのブロック総数を
保持することで管理される。各ブロックサイズのブロッ
ク総数の初期値は、データ構造の構築時における各ブロ
ックサイズ毎の空きブロック総数である。以後、ブロッ
クサイズ別占有率管理手段112は、空きブロック分割
手段111からの通知に従って、各ブロックサイズ別の
ブロック総数を増減し、常に最新の占有状況を管理す
る。
Occupancy rate management means 112 for each block size
Manages the occupation status for each block size. This is managed, for example, by holding the total number of blocks for each block size. The initial value of the total number of blocks of each block size is the total number of free blocks for each block size at the time of constructing the data structure. Thereafter, the block size-based occupancy management unit 112 increases / decreases the total number of blocks for each block size according to the notification from the free block dividing unit 111, and always manages the latest occupation status.

【0080】空きブロック分割手段111は、本実施例
の場合、入出力制御部100の空き時間などを利用し
て、定期的に空き領域管理情報を参照し、複数のブロッ
クサイズのうち最大サイズ以外のブロックサイズの空き
ブロックが予め定められた数以下になっているか否か、
即ち不足しているか否かを調べ、若し不足している場合
には、より大きなブロックサイズの空きブロックを分割
して、不足しているブロックサイズの空きブロックを新
たに生成する。
In the case of the present embodiment, the empty block dividing means 111 refers to the empty area management information periodically using the idle time of the input / output control unit 100, etc. Whether the number of empty blocks of the block size is equal to or less than a predetermined number,
That is, it is checked whether or not there is a shortage. If there is a shortage, an empty block having a larger block size is divided, and an empty block having the insufficient block size is newly generated.

【0081】図16に空きブロック分割手段111の処
理例を示す。まず、不足しているブロックサイズより1
つサイズの大きなブロックサイズを選択する(S6
1)。次に、前記選択したブロックサイズ用の空き領域
管理情報を参照して、その空きブロック数が予め定めら
れた数以上あるか否か、即ち充分な数だけ残っているか
否かを調べる(S62)。若し、充分な数だけ残ってい
なければ、それを使用すると、今度はそのブロックサイ
ズの空きブロック数が不足することになるので、処理を
断念する。
FIG. 16 shows a processing example of the empty block dividing means 111. First, the missing block size is 1
Block size is selected (S6
1). Next, referring to the free area management information for the selected block size, it is checked whether or not the number of free blocks is equal to or greater than a predetermined number, that is, whether or not a sufficient number remains (S62). . If a sufficient number is not left, if it is used, then the number of free blocks of the block size will be insufficient, and the process is abandoned.

【0082】1つサイズの大きなブロックサイズの空き
ブロック数が充分ある場合、ブロックサイズ別占有率管
理手段112で保持されている現在の占有状況を参照
し、空きブロックの分割により各ブロックサイズ別の占
有状況が所定の条件を満たさなくなるか否かを判定し
(S63)、満たさなくなる場合は処理を断念する。
When there is a sufficient number of free blocks of one large block size, the current occupation status held by the block size-based occupancy management means 112 is referred to, and the free blocks are divided to separate each block size. It is determined whether or not the occupation condition does not satisfy a predetermined condition (S63). If not, the process is abandoned.

【0083】1つサイズの大きなブロックサイズの空き
ブロック数が充分あり、且つ、空きブロックを分割して
も各ブロックサイズ別の占有状況が所定の条件を満足す
る場合、空きブロック分割手段111は、空きブロック
抽出手段107にそのブロックサイズを指定して空きブ
ロックの抽出を要求する(S64)。このときの空きブ
ロック抽出手段107の動作は、要求元がブロックサイ
ズ決定手段106の代わりに空きブロック分割手段11
1となり、抽出したブロック番号をブロック割り当て手
段108に通知する代わりに空きブロック分割手段11
1に通知する点が異なるだけで、その処理は図9と実質
的に同じである。
If there is a sufficient number of empty blocks of one large block size and the occupation status of each block size satisfies a predetermined condition even if the empty blocks are divided, the empty block dividing means 111 The empty block extraction unit 107 is requested to extract an empty block by designating the block size (S64). At this time, the operation of the empty block extracting unit 107 is such that the request source is the empty block dividing unit 11 instead of the block size determining unit 106.
1; instead of notifying the extracted block number to the block allocating means 108, the empty block dividing means 11
1 is substantially the same as that of FIG.

【0084】次に空きブロック分割手段111は、空き
ブロック抽出手段107から通知されたブロック番号か
ら、そのブロック番号のブロックを不足ブロックサイズ
で分割したときの個々のブロックのブロック番号を、例
えば以下の式で計算する(S65)。 分割後のブロック番号=分割前のブロック番号×N+n …(4) 但し、N=(分割前のブロックのサイズ)/(分割後の
ブロックのサイズ n=0,…,(N−1) この式(4)は空き領域管理情報構築手段103がデー
タ構造構築時に用いた前記(2)式と同じである。
Next, based on the block number notified from the free block extracting means 107, the free block dividing means 111 calculates the block number of each block when the block of the block number is divided by the insufficient block size, for example, It is calculated by an equation (S65). Block number after division = block number before division × N + n (4) where N = (size of block before division) / (size of block after division n = 0,..., (N−1) (4) is the same as the expression (2) used by the free area management information construction means 103 when constructing the data structure.

【0085】次に空きブロック分割手段111は、上記
計算したN個のブロック番号を空きブロック登録手段1
10に通知して、不足ブロックサイズの空き領域管理情
報への登録を要求する(S66)。このときの空きブロ
ック登録手段110の動作は、要求元がブロック解放手
段109の代わりに空きブロック分割手段111となる
点が異なるだけで、その処理は図13と実質的に同じで
ある。そして、空きブロック分割手段111は、ブロッ
クサイズ別占有率管理手段112に対し、分割したブロ
ックサイズのブロック数を1だけ減じ、分割によってで
きたブロックサイズのブロック数をNだけ増加するよう
に指示する(S67)。
Next, the free block dividing means 111 stores the calculated N block numbers in the free block registering means 1.
10 to request registration of the missing block size in the free area management information (S66). The operation of the free block registration means 110 at this time is substantially the same as that of FIG. 13 except that the request source is the free block division means 111 instead of the block release means 109. Then, the free block dividing means 111 instructs the block size-based occupancy rate managing means 112 to reduce the number of blocks of the divided block size by one and increase the number of blocks of the divided block size by N. (S67).

【0086】図17は空きブロック分割手段111の上
述したような動作を模式的に示している。
FIG. 17 schematically shows the operation of the empty block dividing means 111 as described above.

【0087】なお、本実施例では、以下のような各種の
変形が可能である。
In this embodiment, the following various modifications are possible.

【0088】不足ブロックサイズの1つ上のサイズの空
きブロック数が充分でなかった場合、またはブロックサ
イズ別占有状況が所定の条件を満たさない場合、処理を
断念せず、更に上のサイズの空きブロック数,それを分
割した場合のブロックサイズ別占有状況を調べ、分割可
能ならばそれを分割して充当する。
If the number of empty blocks one size higher than the insufficient block size is not sufficient, or if the occupation status for each block size does not satisfy the predetermined condition, the processing is not abandoned and an empty space of a size higher than the shortest block size is not given. The number of blocks and the occupation status by block size when the blocks are divided are examined. If the blocks can be divided, the blocks are divided and applied.

【0089】不足ブロックサイズより大きなサイズが複
数存在する場合、ブロック総数の多いブロックサイズを
優先的に分割対象とする。
When there are a plurality of sizes larger than the insufficient block size, a block size having a larger total number of blocks is preferentially set as a division target.

【0090】空きブロック抽出手段107がブロックサ
イズ決定手段106からの要求により該当ブロックサイ
ズの空きブロックを抽出しようとしたときに、当該ブロ
ックサイズの空きブロックが1つも存在しなかった場合
に、空きブロック抽出手段107からそのブロックサイ
ズを指定して空きブロック分割手段111を起動し、空
きブロック分割手段111によって生成された空きブロ
ックを空きブロック抽出手段107が抽出するようにす
る。
When the empty block extracting means 107 attempts to extract an empty block of the corresponding block size in response to a request from the block size determining means 106, if there is no empty block of the block size, the empty block The empty block dividing unit 111 is started by designating the block size from the extracting unit 107, and the empty block extracting unit 107 extracts the empty block generated by the empty block dividing unit 111.

【0091】図18は本発明のファイルデータ格納装置
の更に別の実施例のブロック図である。この例のファイ
ルデータ格納装置が図15の実施例のファイルデータ格
納装置と相違するところは、入出力制御部100に、ブ
ロック結合手段113と連続ブロック検出手段114と
を付加した点にある。先の実施例と同様に入出力制御部
100は例えばメモリおよび演算処理装置から構成され
るデータ処理装置で実現することができ、記録媒体30
0に記録されたプログラムが入出力制御部100を構成
するデータ処理装置に読み込まれ、データ処理装置の動
作を制御し、データ処理装置を、各手段として機能させ
る。
FIG. 18 is a block diagram of still another embodiment of the file data storage device of the present invention. The difference between the file data storage device of this embodiment and the file data storage device of the embodiment of FIG. 15 is that a block combining means 113 and a continuous block detection means 114 are added to the input / output control unit 100. As in the previous embodiment, the input / output control unit 100 can be realized by a data processing device including, for example, a memory and an arithmetic processing device.
The program recorded in “0” is read by the data processing device that constitutes the input / output control unit 100, controls the operation of the data processing device, and causes the data processing device to function as each unit.

【0092】図15の実施例のファイルデータ格納装置
にあっては、大きなブロックを分割して複数の小さなブ
ロックとして使用することにより、小さなブロックの枯
渇は防止できた。しかし、その反対の、大きなブロック
の枯渇は防止できない。
In the file data storage device of the embodiment shown in FIG. 15, the depletion of small blocks could be prevented by dividing large blocks and using them as a plurality of small blocks. However, the opposite, depletion of large blocks cannot be prevented.

【0093】そこで、本実施例では、大きなサイズのブ
ロックが足りなくなる前に、小さなサイズの空きブロッ
クを結合して大きなサイズの空きブロックを生成する。
このとき、複数個の小さなサイズの空きブロックを無作
為に抽出しただけでは大きなサイズの1個のブロックに
は結合できない。小さな空きブロックを大きな空きブロ
ックとして結合するためには、連続する小さな空きブロ
ックが必要な数だけあって、それらの小さな空きブロッ
クが大きなブロック1個の中に納まらなければならない
からである。そこで、連続ブロック検出手段114によ
って、最大サイズのブロックサイズ以外の各ブロックサ
イズ毎に、より大きなサイズのブロックに結合し得るだ
け空きブロックが連続しているか否かを検出し、連続し
ている場合に、ブロック結合手段113がそれらを結合
する。以下、図15の実施例との相違点を中心に本実施
例の動作を説明する。
Therefore, in this embodiment, before empty blocks of a large size run out, empty blocks of a small size are combined to generate an empty block of a large size.
At this time, simply extracting a plurality of small-sized empty blocks at random cannot be combined into one large-sized block. This is because, in order to combine small empty blocks as large empty blocks, there is a necessary number of consecutive small empty blocks, and these small empty blocks must be accommodated in one large block. Therefore, the continuous block detection means 114 detects whether or not the free blocks are continuous for each block size other than the maximum size block size so as to be combined with the larger size block. Then, the block connecting means 113 connects them. Hereinafter, the operation of this embodiment will be described focusing on the differences from the embodiment of FIG.

【0094】ブロック結合手段113は、本実施例の場
合、入出力制御部100の空き時間などを利用して、定
期的に空き領域管理情報を参照し、複数のブロックサイ
ズのうち最小サイズ以外のブロックサイズの空きブロッ
ク数が予め定められた数以下になっているか否か、即ち
不足しているか否かを調べ、若し不足している場合に
は、より小さなブロックサイズの空きブロックを複数個
結合して、不足しているブロックサイズの空きブロック
を新たに生成する。
In the case of the present embodiment, the block combining means 113 refers to the free area management information periodically using the idle time of the input / output control section 100 and the like, and selects a block size other than the minimum size among a plurality of block sizes. Check whether the number of free blocks of the block size is equal to or less than a predetermined number, that is, whether or not the number of free blocks is insufficient. Merge to generate a new free block of the missing block size.

【0095】図19にブロック結合手段113の処理例
を示す。まず、不足しているブロックサイズより1つサ
イズの小さなブロックサイズを選択する(S71)。次
に、前記選択したブロックサイズ用の空き領域管理情報
を参照してその空きブロック数が予め定められた数以上
あるか否か、即ち充分な数だけ残っているか否かを調べ
る(S72)。若し、充分な数だけ残っていなければ、
それを使用すると、今度はそのブロックサイズの空きブ
ロック数が不足することになるので、処理を断念する。
FIG. 19 shows a processing example of the block combining means 113. First, a block size one size smaller than the missing block size is selected (S71). Next, it is determined whether or not the number of free blocks is equal to or greater than a predetermined number, that is, whether or not a sufficient number of remaining free blocks are left by referring to the free area management information for the selected block size (S72). If you don't have enough left,
If this is used, the number of free blocks of the block size will be insufficient this time, so the process is abandoned.

【0096】1つサイズの小さなブロックサイズの空き
ブロック数が充分ある場合、ブロックサイズ別占有率管
理手段112で保持されている現在の占有状況を参照
し、空きブロックの結合により各ブロックサイズ別の占
有状況が所定の条件を満たさなくなるか否かを判定し
(S73)、満たさなくなる場合は処理を断念する。
If there is a sufficient number of free blocks of one small block size, the current occupation status held by the occupancy management means 112 for each block size is referred to, and by combining the free blocks, the occupancy of each block size is determined. It is determined whether or not the occupation condition does not satisfy a predetermined condition (S73). If not, the process is abandoned.

【0097】1つサイズの小さなブロックサイズの空き
ブロック数が充分あり、かつ、空きブロックを結合して
も各ブロックサイズ別の占有状況が所定の条件を満足す
る場合、ブロック結合手段113は、(不足ブロックサ
イズ)/(当該ブロックサイズ)=Nだけ連続している
当該ブロックサイズの空きブロックのブロック番号を、
連続ブロック検出手段114を用いて検出する(S7
4)。
If there is a sufficient number of free blocks of one small block size and the occupation status of each block size satisfies a predetermined condition even when the free blocks are combined, the block combining means 113 Insufficient block size) / (the corresponding block size) = N
Detection is performed using the continuous block detection unit 114 (S7).
4).

【0098】連続ブロック検出手段114の処理例を図
20に示す。まず、キャッシュ105および二次記憶装
置200に存在する当該ブロックサイズの空き領域管理
情報を参照して、Nの値でちょうど割り切れるブロック
番号のブロックを先頭とするN個連続する空きブロック
の有無を調べる(S81)。ここで、Nは、前述した
(当該ブロックサイズの1つ上のブロックサイズ)/
(当該ブロックサイズ)である。このような連続空きブ
ロックが存在すれば(S82)、それらのブロック番号
をその空き領域管理情報から取り除く(S83)。これ
により、当該ブロックサイズではそのブロック番号のブ
ロックは空きブロックではなくなる。そして、それらの
ブロック番号をブロック結合手段113に通知する(S
84)。他方、連続した空きブロックが存在しなければ
(S82)、検出失敗をブロック結合手段113に通知
する(S85)。
FIG. 20 shows a processing example of the continuous block detecting means 114. First, by referring to the free area management information of the block size present in the cache 105 and the secondary storage device 200, it is checked whether or not there are N consecutive free blocks starting with a block having a block number that is just divisible by the value of N. (S81). Here, N is the above (the block size one level above the block size) /
(The block size). If such continuous empty blocks exist (S82), those block numbers are removed from the empty area management information (S83). As a result, at the block size, the block with that block number is no longer an empty block. Then, the block numbers are notified to the block combining means 113 (S
84). On the other hand, if there is no continuous free block (S82), the detection failure is notified to the block combining means 113 (S85).

【0099】ブロック結合手段113は、N個連続する
空きブロックの検出に失敗した場合、処理を断念する
(S75)。他方、その検出に成功した場合は、検出さ
れたN個のブロック番号から結合後のブロックの番号
を、例えば次式によって計算する(S76)。 結合後のブロック番号=[結合前の何れかのブロック番号/N] …(5) 但し、Nは、(当該ブロックサイズの1つ上のブロック
サイズ)/(当該ブロックサイズ) [ ]は除算結果の整数部分をとることを意味する。こ
の式(5)は空き領域管理情報構築手段103がデータ
構造構築時に用いた前記(2)式と逆の関係を求める式
である。
If the detection of N consecutive free blocks fails, the block combining means 113 gives up the processing (S75). On the other hand, if the detection is successful, the number of the combined block is calculated from the detected N block numbers by, for example, the following equation (S76). Block number after combining = [any block number before combining / N] (5) where N is (the block size one higher than the block size) / (the block size) [] is the division result Means taking the integer part of. This equation (5) is an equation for finding a relationship opposite to the above-mentioned equation (2) used by the free area management information construction means 103 when constructing the data structure.

【0100】そしてブロック結合手段113は、上記計
算したブロック番号を指定して空きブロック登録手段1
10に登録を要求する(S77)。このときの空きブロ
ック登録手段110の動作は、要求元がブロック解放手
段109の代わりにブロック結合手段113となる点が
異なるだけで、その処理は図13と実質的に同じであ
る。これにより、複数の小さな空きブロックが1つの大
きな空きブロックとして使用可能となる。そして、ブロ
ック結合手段113は、ブロックサイズ別占有率管理手
段112に対し、結合元のブロックサイズのブロック数
をNだけ減じ、結合によってできたブロックサイズのブ
ロック数を1だけ増加するように指示する(S78)。
The block combining means 113 designates the calculated block number and designates the empty block registration means 1
10 is requested to register (S77). The operation of the empty block registration unit 110 at this time is substantially the same as that of FIG. 13 except that the request source is the block combining unit 113 instead of the block releasing unit 109. Thereby, a plurality of small empty blocks can be used as one large empty block. Then, the block combining unit 113 instructs the block size-based occupancy management unit 112 to reduce the number of blocks of the combining source block size by N and increase the number of blocks of the block size created by combining by one. (S78).

【0101】次に、連続ブロック検出手段114が連続
性検出を容易に行えるような空き領域管理情報の構成例
について説明する。
Next, a description will be given of an example of the configuration of the free area management information so that the continuous block detecting means 114 can easily detect the continuity.

【0102】空き領域管理情報が図7で説明したように
空きブロック番号の単なるリストでも、より大きなサイ
ズに結合できる連続する空きブロックを検出することは
可能であるが、処理に時間がかかってしまう。そこで、
本例では、最大サイズのブロックサイズ用以外の空き領
域管理情報を図21に示すようなマトリックス構造とす
る。
Even if the free area management information is a simple list of free block numbers as described with reference to FIG. 7, it is possible to detect continuous free blocks that can be combined into a larger size, but the processing takes time. . Therefore,
In this example, the free area management information other than for the maximum block size has a matrix structure as shown in FIG.

【0103】マトリックスの各列には、[(ブロック番
号)/N]の値が等しいブロック番号を並べる。但し、
N=(1つ上のブロックサイズ)/(当該ブロックサイ
ズ)である。また、マトリックスの各行には、(ブロッ
ク番号)mod N の値が等しいブロック番号を並べ
る。ここで、modは、左項を右項で割った余りを求め
る演算子である。
In each column of the matrix, block numbers having the same value of [(block number) / N] are arranged. However,
N = (upper block size) / (the relevant block size). In each row of the matrix, block numbers having the same value of (block number) mod N are arranged. Here, mod is an operator for obtaining a remainder obtained by dividing a left term by a right term.

【0104】空き領域管理情報が上述のようなマトリッ
クス構造である場合、マトリックスの1列が満たされて
いれば、その列に含まれる複数のブロック番号のブロッ
クが1つ上のブロックサイズ1個分のブロックに結合で
きることになるため、連続ブロック検出手段114はそ
のような列を検出すれば良い。
In the case where the free space management information has the above-described matrix structure, if one column of the matrix is satisfied, a block having a plurality of block numbers included in the column corresponds to one block size higher by one. The continuous block detecting means 114 may detect such a column.

【0105】また、空き領域管理情報を上述のようなマ
トリックス構造とした場合、空きブロック登録手段11
0では、或るブロック番号を登録する際、[(ブロック
番号)/N]の値を求め、等しい値を持つ列を探して挿
入する列を決定する。このとき、若し、等しい値の列が
存在しない場合には、空の列を挿入する。更に、(ブロ
ック番号)mod N の値を求め、挿入する列を決定
する。
When the free area management information has the above-described matrix structure, the free block registration means 11
In the case of 0, when registering a certain block number, the value of [(block number) / N] is obtained, a column having an equal value is searched, and a column to be inserted is determined. At this time, if there is no column having the same value, an empty column is inserted. Further, the value of (block number) mod N is obtained, and the column to be inserted is determined.

【0106】なお、本実施例では、以下のような各種の
変更が可能である。
In the present embodiment, the following various changes are possible.

【0107】ブロック結合手段113において、不足ブ
ロックサイズの1つ下のサイズの空きブロック数が充分
でないか、ブロック結合によりブロックサイズ別占有状
況が所定の条件を満たさなくなるか、結合に必要な連続
空きブロックが存在しない場合、直ちに処理を断念せ
ず、更に下のサイズについて、空きブロック数が充分
か、ブロック結合によりブロックサイズ別占有状況が所
定の条件を満足するか、結合に必要な連続空きブロック
が存在するかを調べ、何れも満足する場合に、それを分
割して充当する。
In the block combining means 113, the number of empty blocks one size below the insufficient block size is not sufficient, the occupation status by block size does not satisfy a predetermined condition due to the block combination, or the continuous free space required for the combination is obtained. If there is no block, the process is not immediately abandoned. For the lower size, whether the number of free blocks is sufficient, whether the occupation status by block size satisfies a predetermined condition by block combination, or continuous free blocks required for combination. Is checked, and if both are satisfied, it is divided and applied.

【0108】不足ブロックサイズより小さなサイズが複
数存在する場合、ブロック総数の多いブロックサイズを
優先的に結合対象とする。
When there are a plurality of sizes smaller than the shortage block size, the block size having the larger total number of blocks is preferentially set as the combining target.

【0109】空きブロック分割手段111とブロック結
合手段113とを合わせ持っているので、中間のブロッ
クサイズの空きブロックの不足時、双方の手段が動作す
る可能性がある。これを防止するために、空きブロック
分割手段111とブロック結合手段113とで各々使用
できる総空きブロック数,占有状況などの前提条件を比
較し合い、より最適な側の手段が動作するようにする。
Since both the free block dividing means 111 and the block combining means 113 are provided, there is a possibility that both means may operate when a free block of an intermediate block size is insufficient. In order to prevent this, the free block dividing means 111 and the block combining means 113 compare the preconditions such as the total number of free blocks that can be used and the occupancy, and operate the means on the more optimal side. .

【0110】空きブロック分割手段111を省略し、ブ
ロック結合手段113だけでブロック数の動的変更を行
わせる。
The empty block dividing means 111 is omitted, and the number of blocks is dynamically changed only by the block combining means 113.

【0111】空きブロック抽出手段107がブロックサ
イズ決定手段106からの要求により該当ブロックサイ
ズの空きブロックを抽出しようとしたときに、当該ブロ
ックサイズの空きブロックが1つも存在しなかった場合
に、空きブロック抽出手段107からそのブロックサイ
ズを指定してブロック結合手段113を起動し、ブロッ
ク結合手段111で生成された空きブロックを空きブロ
ック抽出手段107が抽出するようにする。このときも
前述と同様に中間のブロックサイズの不足時には空きブ
ロック分割手段111を用いる方法と、ブロック結合手
段113を用いる方法との2通りの方法があるため、そ
の調整を行う。
When the free block extraction means 107 attempts to extract a free block of the corresponding block size in response to a request from the block size determination means 106, if no free block of the block size exists, the free block extraction means 107 The extracting unit 107 specifies the block size and activates the block combining unit 113 so that the empty block extracting unit 107 extracts the empty block generated by the block combining unit 111. At this time, similarly to the above, when the intermediate block size is insufficient, there are two methods, a method using the empty block dividing means 111 and a method using the block combining means 113, so that the adjustment is performed.

【0112】以上、本発明について幾つかの実施例を挙
げて説明したが、本発明は前述した実施例に限られず、
その要旨の範囲内で様々な付加変更が可能である。例え
ば、図1の実施例におけるブロック番号の計算例は図1
5および図18の実施例にも適用できる例を示したが、
図1の実施例では、データ構築時に生成されたブロック
番号が運用中に変更されることはないため、上述した例
に限られず、ブロックサイズ毎に一意であれば任意のブ
ロック番号を割り当てることができる。また、各ブロッ
クを識別するための情報はブロック番号以外の任意の情
報を使用することができる。
Although the present invention has been described with reference to several embodiments, the present invention is not limited to the above-described embodiments.
Various additions and changes are possible within the scope of the gist. For example, the calculation example of the block number in the embodiment of FIG.
5 and the example applicable to the embodiment of FIG.
In the embodiment of FIG. 1, since the block number generated at the time of data construction is not changed during operation, the present invention is not limited to the above-described example, and an arbitrary block number can be assigned if it is unique for each block size. it can. Further, as information for identifying each block, any information other than the block number can be used.

【0113】[0113]

【発明の効果】以上説明したように本発明によれば以下
のような効果を得ることができる。
As described above, according to the present invention, the following effects can be obtained.

【0114】複数のブロックサイズが混在した運用が行
え、書き込むデータに応じてブロックサイズを使い分け
ることができるので、巨大ファイルへの高速アクセスを
実現しながら、二次記憶装置上の記憶領域を有効に利用
することができる。
The operation in which a plurality of block sizes are mixed can be performed, and the block size can be selectively used according to the data to be written. Therefore, the storage area on the secondary storage device can be effectively used while realizing high-speed access to a huge file. Can be used.

【0115】空きブロック分割手段を備えた構成にあっ
ては、運用中に小さなブロックサイズの空きブロックが
不足しても、動的に大きなブロックサイズの空きブロッ
クを分割して振り分けることにより、その枯渇を防止で
き、二次記憶装置の記憶領域をより一層有効に利用する
ことができる。
In the configuration provided with the empty block dividing means, even if the empty blocks of the small block size become insufficient during the operation, the empty blocks of the large block size are dynamically divided and distributed, thereby depleting the empty blocks. Can be prevented, and the storage area of the secondary storage device can be more effectively used.

【0116】ブロック結合手段を備えた構成にあって
は、運用中に大きなブロックサイズの空きブロックが不
足しても、動的に小さなブロックサイズの空きブロック
を結合することにより、その枯渇を防止でき、二次記憶
装置の記憶領域をより一層有効に利用することができ
る。
In the configuration provided with the block combining means, even if empty blocks of a large block size run short during operation, the empty blocks of a small block size can be dynamically combined to prevent depletion. Thus, the storage area of the secondary storage device can be more effectively used.

【0117】ブロックサイズ別占有率管理手段を備えた
構成にあっては、ブロックサイズ別の記憶領域の占有状
態を所定の条件を満たす範囲内で、ブロック分割,ブロ
ック結合を行わせることができる。
In the configuration having the occupancy management means for each block size, block division and block combination can be performed within a range in which the occupation state of the storage area for each block size satisfies a predetermined condition.

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

【図1】本発明のファイルデータ格納装置の一実施例の
ブロック図である。
FIG. 1 is a block diagram of an embodiment of a file data storage device according to the present invention.

【図2】サイズ別空き領域確保手段の処理の一例を示す
フローチャートである。
FIG. 2 is a flowchart illustrating an example of processing of a free area securing unit for each size.

【図3】サイズ別空き領域確保手段および空き領域管理
情報構築手段の動作説明図である。
FIG. 3 is a diagram illustrating the operation of a free area securing means for each size and a free area management information construction means.

【図4】空き領域管理情報構築手段の処理の一例を示す
フローチャートである。
FIG. 4 is a flowchart illustrating an example of processing of a free area management information construction unit.

【図5】サイズ別空き領域確保手段および空き領域管理
情報構築手段の具体例による動作の模式図である。
FIG. 5 is a schematic diagram of an operation of a specific example of a size-specific free area securing unit and a free area management information constructing unit;

【図6】各ブロックサイズへのブロックをランダムに割
り当てる例を示す図である。
FIG. 6 is a diagram illustrating an example in which blocks are randomly allocated to each block size.

【図7】個々のブロックサイズ用の空き領域管理情報の
構成例とその二次記憶装置への格納例とを示す図であ
る。
FIG. 7 is a diagram showing an example of the configuration of free area management information for each block size and an example of storing the information in a secondary storage device.

【図8】キャッシュに格納される情報の説明図である。FIG. 8 is an explanatory diagram of information stored in a cache.

【図9】空きブロック抽出手段の処理例を示すフローチ
ャートである。
FIG. 9 is a flowchart illustrating a processing example of an empty block extraction unit.

【図10】空きブロック抽出手段の動作説明図である。FIG. 10 is an explanatory diagram of the operation of an empty block extraction unit.

【図11】ブロック割り当て手段の処理例を示すフロー
チャートである。
FIG. 11 is a flowchart illustrating a processing example of a block allocating unit.

【図12】ブロック解放手段の処理の一例を示すフロー
チャートである。
FIG. 12 is a flowchart illustrating an example of a process of a block release unit.

【図13】空きブロック登録手段の処理例を示すフロー
チャートである。
FIG. 13 is a flowchart illustrating a processing example of an empty block registration unit;

【図14】空きブロック登録手段の動作説明図である。FIG. 14 is an explanatory diagram of the operation of the empty block registration means.

【図15】本発明のファイルデータ格納装置の別の実施
例のブロック図である。
FIG. 15 is a block diagram of another embodiment of the file data storage device of the present invention.

【図16】空きブロック分割手段の処理例を示すフロー
チャートである。
FIG. 16 is a flowchart illustrating a processing example of an empty block dividing unit;

【図17】空きブロック分割手段の動作説明図である。FIG. 17 is an explanatory diagram of the operation of the empty block dividing means.

【図18】本発明のファイルデータ格納装置の更に別の
実施例のブロック図である。
FIG. 18 is a block diagram of still another embodiment of the file data storage device of the present invention.

【図19】ブロック結合手段の処理例を示すフローチャ
ートである。
FIG. 19 is a flowchart illustrating a processing example of a block combining unit.

【図20】連続ブロック検出手段の処理例を示すフロー
チャートである。
FIG. 20 is a flowchart illustrating a processing example of a continuous block detection unit;

【図21】マトリックス構造の空き領域管理情報の例を
示す図である。
FIG. 21 is a diagram illustrating an example of free area management information having a matrix structure.

【符号の説明】[Explanation of symbols]

100…入出力制御部 101…構築指示解析手段 102…サイズ別空き領域確保手段 103…空き領域管理情報構築手段 104…ファイル書き込み読み出し手段 105…キャッシュ 106…ブロックサイズ決定手段 107…空きブロック抽出手段 108…ブロック割り当て手段 109…ブロック解放手段 110…空きブロック登録手段 111…空きブロック分割手段 112…ブロックサイズ別占有率管理手段 113…ブロック結合手段 114…連続ブロック検出手段 200…二次記憶装置 REFERENCE SIGNS LIST 100 input / output control unit 101 construction instruction analysis means 102 free area securing means by size 103 free area management information construction means 104 file writing / reading means 105 cache 106 block size determination means 107 free block extraction means 108 ... block allocating means 109 ... block releasing means 110 ... empty block registering means 111 ... empty block dividing means 112 ... occupancy management means by block size 113 ... block combining means 114 ... continuous block detecting means 200 ... secondary storage device

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 二次記憶装置上に複数の論理ファイルを
構成するファイルデータ格納装置において、 前記二次記憶装置を制御する入出力制御部に、 複数のブロックサイズを指定した構築指示に従って、二
次記憶装置上にブロックサイズ別の空きブロックを確保
し、かつ、各ブロックサイズ別に空きブロックの情報を
管理する空き領域管理情報を作成して二次記憶装置に記
録する構築部と、 二次記憶装置上に書き込むべきデータに応じて必要なブ
ロックサイズを決定するブロックサイズ決定手段と、 該ブロックサイズ決定手段で決定されたブロックサイズ
の空きブロックの情報を前記空き領域管理情報から抽出
する空きブロック抽出手段と、 該空きブロック抽出手段で抽出されたブロックを、指定
されたファイルの所属とするブロック割り当て手段と、 ファイルに割り当てられているブロックの情報をそのフ
ァイルの所属から取り除くブロック解放手段と、 該ブロック解放手段で解放されたブロックをそのブロッ
クのブロックサイズに対応する空き領域管理情報に登録
する空きブロック登録手段とを備えることを特徴とする
ファイルデータ格納装置。
1. A file data storage device comprising a plurality of logical files on a secondary storage device, comprising: an input / output control unit for controlling the secondary storage device; A construction unit that secures free blocks for each block size on the secondary storage device, creates free space management information for managing information on free blocks for each block size, and records the information in the secondary storage device; Block size determining means for determining a required block size in accordance with data to be written on the device; and empty block extraction for extracting information on empty blocks of the block size determined by the block size determining means from the free area management information. Means for assigning a block extracted by the empty block extracting means to a designated file. Means, block release means for removing information on blocks allocated to the file from the file affiliation, and free space for registering the blocks released by the block release means in free area management information corresponding to the block size of the block. A file data storage device comprising: a block registration unit.
【請求項2】 前記入出力制御部に、複数のブロックサ
イズのうち最小サイズ以外のブロックサイズの空きブロ
ックを抽出し、該抽出したブロックを該ブロックサイズ
より小さなブロックサイズの空きブロックに分割する空
きブロック分割手段を備えることを特徴とする請求項1
記載のファイルデータ格納装置。
2. An empty block for extracting an empty block having a block size other than the minimum size from among a plurality of block sizes and dividing the extracted block into empty blocks having a block size smaller than the block size. 2. The apparatus according to claim 1, further comprising a block dividing unit.
File data storage device as described.
【請求項3】 前記入出力制御部に、各ブロックサイズ
別の占有状況を管理するブロックサイズ別占有率管理手
段を備え、前記空きブロック分割手段は、空きブロック
の分割により各ブロックサイズ別の占有状況が所定の条
件を満たさなくなる場合には、空きブロックの分割を行
わない構成を有することを特徴とする請求項2記載のフ
ァイルデータ格納装置。
3. The input / output control unit includes a block size occupancy management unit that manages an occupation state for each block size, and the empty block dividing unit occupies each block size by dividing an empty block. 3. The file data storage device according to claim 2, wherein, when the condition no longer satisfies the predetermined condition, the empty block is not divided.
【請求項4】 前記入出力制御部に、複数のブロックサ
イズのうち最大サイズ以外のブロックサイズの空きブロ
ックを複数個集めて、それより大きなブロックサイズの
ブロック1個分に結合するブロック結合手段を備えるこ
とを特徴とする請求項1記載のファイルデータ格納装
置。
4. The input / output control unit includes a block combining unit that collects a plurality of empty blocks having a block size other than the maximum size among a plurality of block sizes and combines the empty blocks into one block having a larger block size. The file data storage device according to claim 1, further comprising:
【請求項5】 前記入出力制御部に、各ブロックサイズ
別の占有状況を管理するブロックサイズ別占有率管理手
段を備え、前記ブロック結合手段は、空きブロックの結
合により各ブロックサイズ別の占有状況が所定の条件を
満たさなくなる場合には、空きブロックの結合を行わな
い構成を有することを特徴とする請求項4記載のファイ
ルデータ格納装置。
5. An occupancy management unit for each block size, wherein the input / output control unit includes an occupancy management unit for each block size, which manages an occupancy status for each block size. 5. The file data storage device according to claim 4, wherein when no predetermined condition is satisfied, empty blocks are not combined.
【請求項6】 前記入出力制御部に、 複数のブロックサイズのうち最小サイズ以外のブロック
サイズの空きブロックを抽出し、該抽出したブロックを
該ブロックサイズより小さなブロックサイズの空きブロ
ックに分割する空きブロック分割手段と、 複数のブロックサイズのうち最大サイズ以外のブロック
サイズの空きブロックを複数個集めて、それより大きな
ブロックサイズのブロック1個分に結合するブロック結
合手段とを備えることを特徴とする請求項1記載のファ
イルデータ格納装置。
6. An empty block for extracting an empty block having a block size other than the minimum size from among a plurality of block sizes, and dividing the extracted block into empty blocks having a block size smaller than the block size. A block dividing unit; and a block combining unit that collects a plurality of empty blocks having a block size other than the maximum size among the plurality of block sizes and combines the empty blocks into one block having a larger block size. The file data storage device according to claim 1.
【請求項7】 二次記憶装置を制御する入出力制御部を
構成するデータ処理装置を、 複数のブロックサイズを指定した構築指示に従って、二
次記憶装置上にブロックサイズ別の空きブロックを確保
し、かつ、各ブロックサイズ別に空きブロックの情報を
管理する空き領域管理情報を作成して二次記憶装置に記
録する構築部、 二次記憶装置上に書き込むべきデータに応じて必要なブ
ロックサイズを決定するブロックサイズ決定手段、 該ブロックサイズ決定手段で決定されたブロックサイズ
の空きブロックの情報を前記空き領域管理情報から抽出
する空きブロック抽出手段、 該空きブロック抽出手段で抽出されたブロックを、指定
されたファイルの所属とするブロック割り当て手段、 ファイルに割り当てられているブロックの情報をそのフ
ァイルの所属から取り除くブロック解放手段、 該ブロック解放手段で解放されたブロックをそのブロッ
クのブロックサイズに対応する空き領域管理情報に登録
する空きブロック登録手段、 複数のブロックサイズのうち最小サイズ以外のブロック
サイズの空きブロックを抽出し、該抽出したブロックを
該ブロックサイズより小さなブロックサイズの空きブロ
ックに分割する空きブロック分割手段、 複数のブロックサイズのうち最大サイズ以外のブロック
サイズの空きブロックを複数個集めて、それより大きな
ブロックサイズのブロック1個分に結合するブロック結
合手段、として機能させるプログラムを記録した機械読
み取り可能な記録媒体。
7. A data processing device constituting an input / output control unit for controlling a secondary storage device, according to a construction instruction specifying a plurality of block sizes, to secure an empty block for each block size on the secondary storage device. A construction unit that creates free area management information for managing information on free blocks for each block size and records the information in a secondary storage device, and determines a required block size according to data to be written on the secondary storage device A block size determining unit for extracting, from the free area management information, an empty block extracting unit for extracting information of an empty block having the block size determined by the block size determining unit; and a block extracted by the empty block extracting unit. Means for allocating the file to which the file belongs, and information on the blocks allocated to the file A block releasing unit for removing the block released by the block releasing unit from the affiliation of the block in the free area management information corresponding to the block size of the block; a block size other than the minimum size among the plurality of block sizes Empty block dividing means for extracting an empty block of the same size and dividing the extracted block into empty blocks of a block size smaller than the block size, and collecting a plurality of empty blocks of a block size other than the maximum size among a plurality of block sizes. A machine-readable recording medium on which a program for functioning as block combining means for combining one block having a larger block size is recorded.
JP9096543A 1997-03-31 1997-03-31 File data storage device and machine-readable recording medium with program recorded Pending JPH10283230A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9096543A JPH10283230A (en) 1997-03-31 1997-03-31 File data storage device and machine-readable recording medium with program recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9096543A JPH10283230A (en) 1997-03-31 1997-03-31 File data storage device and machine-readable recording medium with program recorded

Publications (1)

Publication Number Publication Date
JPH10283230A true JPH10283230A (en) 1998-10-23

Family

ID=14168030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9096543A Pending JPH10283230A (en) 1997-03-31 1997-03-31 File data storage device and machine-readable recording medium with program recorded

Country Status (1)

Country Link
JP (1) JPH10283230A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004512602A (en) * 2000-10-16 2004-04-22 トムソン ライセンシング ソシエテ アノニム Method and apparatus for storing stream data and non-stream data such as digital video
WO2005043394A1 (en) * 2003-10-31 2005-05-12 Matsushita Electric Industrial Co., Ltd. Information recording medium, information recording medium accessing apparatus and accessing method
JP2005352899A (en) * 2004-06-11 2005-12-22 Canon Inc Image recording device and control method thereof
KR100694069B1 (en) * 2004-11-29 2007-03-12 삼성전자주식회사 Recording apparatus including plurality of data blocks of different sizes, file managing method using the same and printing apparatus including the same
WO2007099593A1 (en) * 2006-02-28 2007-09-07 Fujitsu Limited Monitor device, monitor program, and information processing system
JP2008269338A (en) * 2007-04-20 2008-11-06 Hitachi Ltd Storage device, and management unit setting method
JP2013527524A (en) * 2010-04-14 2013-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system and computer program for optimizing a file system for different types of applications in a compute cluster using dynamic block size granularity
WO2017179581A1 (en) * 2016-04-11 2017-10-19 Quantum Biosystems Inc. Systems and methods for biological data management
US10202644B2 (en) 2010-03-03 2019-02-12 Quantum Biosystems Inc. Method and device for identifying nucleotide, and method and device for determining nucleotide sequence of polynucleotide
US10261066B2 (en) 2013-10-16 2019-04-16 Quantum Biosystems Inc. Nano-gap electrode pair and method of manufacturing same
US10413903B2 (en) 2014-05-08 2019-09-17 Osaka University Devices, systems and methods for linearization of polymers
US10438811B1 (en) 2014-04-15 2019-10-08 Quantum Biosystems Inc. Methods for forming nano-gap electrodes for use in nanosensors
US10557167B2 (en) 2013-09-18 2020-02-11 Quantum Biosystems Inc. Biomolecule sequencing devices, systems and methods
US12091712B2 (en) 2016-04-27 2024-09-17 Illumina Cambridge, Ltd. Systems and methods for measurement and sequencing of bio-molecules

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0219938A (en) * 1988-07-08 1990-01-23 Mitsubishi Electric Corp File control system
JPH0392941A (en) * 1989-09-06 1991-04-18 Hitachi Ltd Area management system
JPH0561740A (en) * 1991-09-03 1993-03-12 Fuji Facom Corp File managing device of disk device
JPH0887433A (en) * 1994-09-20 1996-04-02 Matsushita Electric Ind Co Ltd Block management system of file system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0219938A (en) * 1988-07-08 1990-01-23 Mitsubishi Electric Corp File control system
JPH0392941A (en) * 1989-09-06 1991-04-18 Hitachi Ltd Area management system
JPH0561740A (en) * 1991-09-03 1993-03-12 Fuji Facom Corp File managing device of disk device
JPH0887433A (en) * 1994-09-20 1996-04-02 Matsushita Electric Ind Co Ltd Block management system of file system

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9071789B2 (en) 2000-10-16 2015-06-30 Thomson Licensing Method and device for storing stream data such as digital video and non-stream data
JP2004512602A (en) * 2000-10-16 2004-04-22 トムソン ライセンシング ソシエテ アノニム Method and apparatus for storing stream data and non-stream data such as digital video
JP4722704B2 (en) * 2003-10-31 2011-07-13 パナソニック株式会社 INFORMATION RECORDING MEDIUM, ACCESS DEVICE AND ACCESS METHOD FOR INFORMATION RECORDING MEDIUM
WO2005043394A1 (en) * 2003-10-31 2005-05-12 Matsushita Electric Industrial Co., Ltd. Information recording medium, information recording medium accessing apparatus and accessing method
JPWO2005043394A1 (en) * 2003-10-31 2007-11-29 松下電器産業株式会社 INFORMATION RECORDING MEDIUM, ACCESS DEVICE AND ACCESS METHOD FOR INFORMATION RECORDING MEDIUM
US8185705B2 (en) 2003-10-31 2012-05-22 Panasonic Corporation Information recording medium, information recording medium accessing apparatus and accessing method
JP2005352899A (en) * 2004-06-11 2005-12-22 Canon Inc Image recording device and control method thereof
KR100694069B1 (en) * 2004-11-29 2007-03-12 삼성전자주식회사 Recording apparatus including plurality of data blocks of different sizes, file managing method using the same and printing apparatus including the same
US7925745B2 (en) 2006-02-28 2011-04-12 Fujitsu Limited Monitoring apparatus, executive program, and information processing system
WO2007099593A1 (en) * 2006-02-28 2007-09-07 Fujitsu Limited Monitor device, monitor program, and information processing system
JP2008269338A (en) * 2007-04-20 2008-11-06 Hitachi Ltd Storage device, and management unit setting method
US10876159B2 (en) 2010-03-03 2020-12-29 Quantum Biosystems Inc. Method and device for identifying nucleotide, and method and device for determining nucleotide sequence of polynucleotide
US10202644B2 (en) 2010-03-03 2019-02-12 Quantum Biosystems Inc. Method and device for identifying nucleotide, and method and device for determining nucleotide sequence of polynucleotide
JP2013527524A (en) * 2010-04-14 2013-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system and computer program for optimizing a file system for different types of applications in a compute cluster using dynamic block size granularity
US9021229B2 (en) 2010-04-14 2015-04-28 International Business Machines Corporation Optimizing a file system for different types of applications in a compute cluster using dynamic block size granularity
US10557167B2 (en) 2013-09-18 2020-02-11 Quantum Biosystems Inc. Biomolecule sequencing devices, systems and methods
US10261066B2 (en) 2013-10-16 2019-04-16 Quantum Biosystems Inc. Nano-gap electrode pair and method of manufacturing same
US10466228B2 (en) 2013-10-16 2019-11-05 Quantum Biosystems Inc. Nano-gap electrode pair and method of manufacturing same
US10438811B1 (en) 2014-04-15 2019-10-08 Quantum Biosystems Inc. Methods for forming nano-gap electrodes for use in nanosensors
US10413903B2 (en) 2014-05-08 2019-09-17 Osaka University Devices, systems and methods for linearization of polymers
WO2017179581A1 (en) * 2016-04-11 2017-10-19 Quantum Biosystems Inc. Systems and methods for biological data management
US12091712B2 (en) 2016-04-27 2024-09-17 Illumina Cambridge, Ltd. Systems and methods for measurement and sequencing of bio-molecules

Similar Documents

Publication Publication Date Title
US6223206B1 (en) Method and system for load balancing by replicating a portion of a file being read by a first stream onto second device and reading portion with a second stream capable of accessing
JP3708195B2 (en) How to avoid over-allocation of virtual capacity in data storage systems
US5606689A (en) Data processing apparatus including external storage previously reserved to be allocated to job groups
JPH10283230A (en) File data storage device and machine-readable recording medium with program recorded
US6154852A (en) Method and apparatus for data backup and recovery
US9361034B2 (en) Transferring storage resources between snapshot storage pools and volume storage pools in a distributed network
US4186438A (en) Interactive enquiry system
GB2121995A (en) Method of and apparatus for assigning software resources to memory devices
JPH07175698A (en) File system
JPH0792775B2 (en) Space management method for external storage devices
US20060075198A1 (en) Method and system for managing storage reservation
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
US7032085B2 (en) Storage system with a data sort function
US5734813A (en) Storage apparatus system for reallocating data records among parity groups
JPH0887433A (en) Block management system of file system
JP2006039942A (en) File management device in hierarchical storage system, and its file management method
JPH1091515A (en) Data buffer management device
JPH06110759A (en) File system
US20220283705A1 (en) Storage management apparatus, storage management method, and program
JP2833814B2 (en) I / O buffer allocation method
JPH06161836A (en) Area managing system for storage medium
CN118012341A (en) Data storage method and distributed storage processing system
JP2591782B2 (en) I / O load distribution control method for auxiliary storage
JP2513303B2 (en) Spool file distribution method
JPH11316703A (en) Method for storing optical disk