JPH10301818A - ファイルシステム及びその管理方法 - Google Patents

ファイルシステム及びその管理方法

Info

Publication number
JPH10301818A
JPH10301818A JP9111069A JP11106997A JPH10301818A JP H10301818 A JPH10301818 A JP H10301818A JP 9111069 A JP9111069 A JP 9111069A JP 11106997 A JP11106997 A JP 11106997A JP H10301818 A JPH10301818 A JP H10301818A
Authority
JP
Japan
Prior art keywords
block
data
file
written
offset
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
JP9111069A
Other languages
English (en)
Inventor
Yasunori Kawakami
泰範 川上
Hiroshi Taniyama
浩 谷山
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP9111069A priority Critical patent/JPH10301818A/ja
Priority to US09/066,575 priority patent/US6182088B1/en
Priority to EP98303241A priority patent/EP0875834A3/en
Priority to KR1019980015081A priority patent/KR100349737B1/ko
Publication of JPH10301818A publication Critical patent/JPH10301818A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/2182Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Abstract

(57)【要約】 (修正有) 【課題】 ファイルシステムの管理方法に関し、ファイ
ル読出しをより高速化するものである。 【解決手段】 記憶装置90の記憶領域を所定のサイズ
のデータブロック単位に分割し、第1のブロック登録手
段111でデータブロック割り当て手段が取得したデー
タブロックのブロック番号と、書き込み対象のファイル
のファイルオフセットとを対応させた第1のブロックテ
ーブルTb1を作成して記憶装置90に記憶するととも
に、第1のブロックテーブルTb1の内容に基づいてデー
タ管理を行うシステムにおいて、書き込み対象のファイ
ルに割り当てられたブロック番号が連続する場合、連続
する先頭のデータブロックの番号とファイルオフセット
とを対応させた第2のブロックテーブルTb2を作成する
第2のブロック登録手段112と、連続データを読み出
すときに第2のブロックテーブルTb2に基づいて読み出
す第2のブロック取り出し手段122とを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスク記憶装置を使
用するファイルシステム及びファイルシステムの管理方
法に関するものである。
【0002】
【従来の技術】図4は従来のファイルシステムの概要を
示すブロック図である。図4において、記憶装置90の
記憶領域は所定サイズ(例えば8キロバイト)のデータ
ブロックに分割され各データブロックにはブロック番号
が付されてその使用状態が記憶装置90内に設けられた
記憶管理手段(図外)で管理されている。
【0003】新たにファイルを作成する場合、ファイル
作成手段10がデータブロック割り当て手段30にブロ
ック割り当て命令を出すとともにデータ書き込み手段4
0に書き込むべきデータと、そのファイルオフセットを
通知する。一方、記憶装置90の上記記憶管理手段は上
記のように各データブロックの使用、未使用状態を管理
するようになっており、上記データブロック割り当て手
段30は記憶装置90の未使用ブロックを当該管理手段
より検索し、検出した未使用ブロックのブロック番号B
n をデータ書き込み手段40に通知する。
【0004】データ書き込み手段40は受け取ったブロ
ック番号Bn と、上記のようにファイル作成手段10よ
り得られたファイルオフセットをブロック登録手段41
0に通知し、ブロック登録手段410は受け取ったファ
イルオフセットにブロック番号Bn を対応させてブロッ
クテーブルTbに登録し、記憶装置90にこのブロック
テーブルTbを格納する。
【0005】そして、データ書き込み手段40は記憶装
置90に対して、受け取ったブロック番号Bn の位置に
データを書き込む。図5は、従来のファイルシステムに
おけるブロックテーブルTb の構造を示す図である。ブ
ロックテーブルTb には、データブロックA1,A2,...Am,
B1,B2,...Bn のブロック番号Bn (ここでは上記A1,A
2,...Am,B1,B2,...Bn をそのまま用いる)が対応するフ
ァイルオフセットOn の順番に登録されている。
【0006】この状態で、外部からの要求に基づいて特
定のファイルのデータを読み出す時には、ファイル読み
出し手段20は読み出したいファイルオフセットOn
(現実には先頭からの時間、子見出しがあるような場合
は該子見出しを指定するように外部より入力され、ファ
イル読み出し手段20では、入力されたデータに基づい
てオフセット番号On を得る)をブロック取り出し手段
420に通知し、ブロック取り出し手段420は記憶装
置90に格納されている上記ブロックテーブルTb を読
み出し、与えられたファイルオフセットOn に対応する
ブロックテーブルTb のブロック番号Bn を取得して、
データ読み出し手段50に通知する。ブロック番号Bn
を受け取ったデータ読み出し手段50は、このブロック
番号Bn の示す記憶装置90上の位置より目的とするデ
ータを読み出して、ファイル読み出し手段20に転送す
る。
【0007】ここで、例えば、ビデオサーバーやビデオ
・オン・デマンド・システムでは、映像データや音声デ
ータを記憶装置90から連続的にかつ短時間に読み出す
必要がある。ところが、該記憶装置90から一度読み出
したデータをバッファに一時的に保存しておいて該バッ
ファから順次目的とするデータを抽出するというキャッ
シュ技術では、該記憶装置90からバッファへの読み出
し、あるいはバッファから外部への読み出し処理が特定
サイズ(例えば上記ブロックサイズ)毎になり、処理時
間が膨大になり、連続データを扱うには適さない。
【0008】そこで、データを高速に読み出すために、
記憶装置90上に特定長のファイルを割り当てるとき
に、連続するデータブロックを記憶装置90上の物理的
な領域の連続性を出来る限り確保しながら割り当てるよ
うにし、さらに、データの読み出し開始時に、そのファ
イルに割り当てられているすべてのデータブロックのブ
ロック番号Bn を記憶装置90からブロック取り出し手
段420にあらかじめ読み出しておくことで、データの
読み出し中には記憶装置90からのブロックテーブルT
b の内容を読み出しを行なわずに、データを高速に読み
出すようにしている。
【0009】そのため、データの読み出し開始時に、ブ
ロック番号Bn を管理しているブロックテーブルTb を
一括して記憶装置90から読み出す処理が必要である
が、その後のデータテーブルTb へのアクセスは不要と
なる。
【0010】
【発明が解決しようとする課題】データブロックの連続
性はファイルオフセットの連続性に基づいて認識可能で
ある。しかしながら、上記のようなブロックテーブルT
b の構成では、同一ファイルに属するデータブロックが
複数個連続したとしても、ブロックテーブルTbを記憶
装置90から読み出してみない限り、連続しているか否
かの判定ができないため、データの読み出し開始時には
ブロックテーブルの内容をすべて読み出す必要があり、
より高速な処置が要求されるときには不十分であった。
【0011】本発明は、従来のファイルシステムのこの
ような課題を考慮し、データの読み出し時に記憶装置か
ら読み出すブロックテーブルの読み出し量を削減し、よ
り高速な処理に対応することのできるファイルシステム
及びその管理方法を提供することを目的とする。
【0012】
【課題を解決するための手段】本発明は、前記の目的を
達成するために、以下の手段を採用している。すなわ
ち、記憶装置90の記憶領域を所定のサイズのデータブ
ロック単位に分割し、第1のブロック登録手段111で
データブロック割り当て手段30が取得したデータブロ
ックのブロック番号Bn と、書き込み対象のファイルの
ファイルオフセットとを対応させた第1のブロックテー
ブルTb1を作成して記憶装置90に記憶するとともに、
データ書き込み手段40で上記第1のブロックテーブル
Tb1で管理されているデータブロックにデータを書き込
み、データ読み出し手段50が上記第1のブロックテー
ブルTb1の内容に基づいてデータを読み出すブロックテ
ーブル管理システムにおいて、上記書き込み対象のファ
イルに割り当てられたデータブロックの番号とファイル
オフセットとを対応付けるとともに、ブロック番号Bn
が連続する場合、該連続する先頭のデータブロックの番
号とファイルオフセットとを対応させた第2のブロック
テーブルTb2を作成する第2のブロック登録手段112
と、連続データを読み出すときに上記第2のブロックテ
ーブルTb2の内容に基づいて読み出すべきブロック番号
Bn を演算して上記データ読み出し手段50に渡す、第
2のブロック取り出し手段122とを備えた構成とした
ものである。
【0013】上記データブロック割り当て手段30が、
今回のファイルオフセットに対応するデータブロックの
ブロック番号Bn と、前回のファイルオフセットに対応
するデータブロックのブロック番号Bn が連続するとき
にのみ、データ書き込み手段40による書き込み対象の
データブロックとする構成とすることができ、これによ
って、未使用データブロック群のデータブロックに有効
にデータが書き込まれることになる。
【0014】また、上記データブロック割り当て手段3
0が、所定数以上連続して未使用となっているデータブ
ロックを抽出するとともに、該抽出したデータブロック
にファイルオフセットを割り当てる構成とすることもで
き、また、未使用データブロックが所定数に満たない場
合には順次該所定数を減じた数とすることもできる。こ
れによって、未使用データブロック群に有効にデータを
書き込むことが可能となる。
【0015】更に、上記所定数を固定された値とするこ
とによって、上記第2のブロックテーブルTb2をファイ
ルオフセットと対応しない形式とすることが可能とな
り、該第2のブロックテーブルTb2をより簡素化するこ
とができる。
【0016】上記所定数は、上記データブロック割り当
て手段30に設定しておいてもよいし、書き込み対象と
なるファイルの属性として持っているようにしてもよ
い。また、上記第2のブロックテーブルTb2は、必要あ
る場合にのみ作成するようにしてもよい。すなわち、フ
ァイルに、そのファイルのサイズ及び/又はそのファイ
ルの種別を示すファイル属性情報を付しておいて、該属
性に従って第2のブロックテーブルTb2を作成するか否
かを決定する。
【0017】
【実施の形態】
(実施例1)図1は、本発明にかかる第1の実施例のフ
ァイルシステムの構成図であり、図2は図1の実施例で
使用される2つのブロックテーブルの一例を示す概念図
である。以下本実施例の構成についてその動作とともに
説明する。
【0018】ファイル作成手段10は外部(例えばユー
ザ端末)よりの書き込み要求を受けてデータ書き込み手
段40に書き込むべきファイルのデータとそのファイル
オフセットを通知するとともに、データブロック割り当
て手段30に以下に説明する記憶装置90上のデータブ
ロック割り当て命令を出す。
【0019】上記記憶装置90は所定サイズ(例えば8
キロバイト)毎のデータブロックに分割され、各データ
ブロックの使用、未使用を例えばテーブルに登録して図
示しない記憶管理手段で管理している。そこで、上記の
ようにブロック割り当て命令を受けたデータブロック割
り当て手段30は該記憶装置90を検索して、記憶装置
90上の未使用データブロックを抽出し、該ブロック番
号Bn をデータ書き込み手段40に通知する。
【0020】この通知を受けたデータ書き込み手段40
は上記のように受け取ったブロック番号Bn と対応する
ファイルオフセットOn を第1のブロック登録手段11
1及び第2のブロック登録手段112に通知する。
【0021】上記第1のブロック登録手段111は、図
2(a) に示すように、上記のように受け取ったファイル
オフセットOn と該ファイルオフセットOn に対応する
データブロックのブロック番号Bn を第1のブロックテ
ーブルTb1(図5に示す従来のブロックテーブルの構成
と同じ)に登録し、記憶装置90にこの第1のブロック
テーブルTb1を格納する。
【0022】また、上記第2のブロック登録手段112
は、図2(b) に示すように受け取ったブロック番号Bn
が、受け取ったファイルオフセットOn の一つ前のファ
イルオフセットに対して割り当てられていたデータブロ
ックのブロック番号に連続した番号である場合、該割り
当てられたデータブロックを含む連続したデータブロッ
ク群の先頭ブロックのブロック番号Bn を算出し、この
先頭ブロックに対応したファイルオフセットOn と算出
した先頭ブロックのブロック番号Bn とを第2のブロッ
クテーブルTb2に登録するとともに、記憶装置90にこ
のようにして形成された第2のブロックテーブルTb2を
格納する。
【0023】そして、データ書き込み手段40は記憶装
置90に対して、受け取ったブロック番号の位置にファ
イルデータを書き込むことになる。図2は、第1及び第
2のブロックテーブルTb1, Tb2の構造を示す概念図で
ある。上記第1のブロックテーブルTb には、m個連続
したデータブロックA1,A2,...Am のブロック番号Bn
(=A1,A2,...Am )、及びn個連続したデータブロック
B1,B2,...Bnのブロック番号Bn (=B1,B2,...Bn)に対
応するファイルオフセットOn の順に登録されている。
また、第2のブロックテーブルTb には、m個連続した
データブロック群A1,A2,...Amの先頭ブロックA1のブロ
ック番号Bn (=A1)と該ブロック番号A1に対応するフ
ァイルオフセットO1、n個連続したデータブロック群B
1,B2,...Bnの先頭ブロックB1のブロック番号Bn (=B
1)と該ブロック番号B1に対応するファイルオフセットO
(m+1)が登録されている。但し、ここではm個あるいは
n個連続した場合の例を示しているが、この実施例では
必ずしも未使用データブロックが連続していることが要
件ではない。従って、単独して未使用データブロックが
存在する場合にも、書き込み対象となり、この場合には
上記第1のブロックテーブルTb1にも、第2のブロック
テーブルTb2にも同じ内容が書き込まれることになる。
【0024】以上、書き込み側の構成について説明した
が、以下に読み出し側の構成についてその動作とともに
説明する。まず、データをランダムに読み出す場合を例
に説明する。
【0025】ファイル読み出し手段20は外部(例えば
ユーザ端末)より指定された読み出し対象となるデータ
のファイルオフセットOn を第1のブロック取り出し手
段121に通知し、これによって、該第1のブロック取
り出し手段121は記憶装置90に格納されている第1
のブロックテーブルTb1を読み出し、与えられたファイ
ルオフセットOn に対応する第1のブロックテーブルT
b1に登録されているブロック番号Bn を取得して、デー
タ読み出し手段50に通知する。
【0026】上記のようにブロック番号Bn を受け取っ
たデータ読み出し手段50は、このブロック番号Bn の
示す記憶装置90上の位置に対応するデータを記憶装置
90から読み出して、ファイル読み出し手段20に転送
する。
【0027】次いで、データを連続的に読み出す場合を
例に説明する。ファイル読み出し手段20は外部より指
定された読み出し対象となるデータのファイルオフセッ
トOn を第2のブロック取り出し手段122に通知し、
これによって、該第2のブロック取り出し手段122は
記憶装置90に格納されている第2のブロックテーブル
Tb2を読み出し、与えられたファイルオフセットOn に
対応する第2のブロックテーブルTb2に登録されている
連続ブロック群の先頭ブロックのブロック番号Bn を取
得する。更に該第2のブロック取り出し手段122はこ
のようにして得られた第2のブロックテーブルTb2の内
容より、データブロックの連続個数とその連続するデー
タブロック番号Bn を認識する。すなわち、図2におい
て、オフセット番号O1 〜Om までのデータが記憶装置
90上の連続したデータブロックA1 〜Am に、またオ
フセット番号Om+1 〜Om+n までのデータが記憶装置9
0上の連続したブロックB1 〜Bn に収納されているこ
とを認識する。
【0028】このようにして得られた記憶装置90上で
の特定ファイルのデータ収納情報は、データ読み出し手
段50に通知され、データ読み出し手段50はこの情報
に基づいて連続したデータを記憶装置90から読み出し
て、ファイル読み出し手段20に転送する。ファイル読
み出し手段20はこのようにして得られたデータをその
まま外部に転送したり、あるいは、該連続データの指定
された位置のデータから外部に転送することになる。
【0029】尚、ランダムなデータが要求されているの
か、あるいは連続データが要求されているのかは、要求
されるデータ種や該データが属するディレクトリ更に、
端末の種類等に依存して決定されるようになっている
が、この点に関しては既に公知の技術であるので、ここ
では詳しく説明しない。
【0030】以上のように本実施例によれば、連続デー
タを読み出す場合には第2のブロックテーブルTb の内
容すなわち、該連続データの先頭のブロック番号Bn を
記憶装置90から取得するのみで足り、しかも、当然の
ことながら連続してデータブロックが割り当てられてい
る限りにおいては、第2のブロックテーブルTb のテー
ブルサイズが第1のブロックテーブルTb のテーブルサ
イズよりはるかに小さくなり、ブロック番号Bn 列全体
のデータを記憶装置90から読み出すための読み出し時
間の合計が、第1のブロックテーブルTb を記憶装置9
0から読み出す場合に比べてはるかに短縮できることに
なる。
【0031】(実施例2)上記の実施例ではある未使用
データブロック群に書き込みをしている状態であって
も、該データブロック群に未だ未使用データブロックが
残っていても該未使用部分の数が少なくなると、他の未
使用データブロックの数がより多いデータブロック群を
アクセスすることがあり、記憶装置90の使用効率が悪
くなる欠点がある。そこで、以下のようにすると、連続
して未使用であるデータブロック群のうち全部のデータ
ブロックにファイルオフセットが割り当てられない限
り、他の未使用データブロック群へのアクセスをしない
ようになる。
【0032】すなわち、ファイル作成手段10がデータ
ブロック割り当て手段30にブロック割り当て命令を出
す前に、記憶装置90に格納された第1のブロックテー
ブルTb1をアクセス(図1破線参照)して、前回のファ
イルオフセットに対応するデータブロックのブロック番
号を抽出して該番号をデータブロック割り当て手段30
にブロック割り当て命令とともに通知する。
【0033】データブロック割り当て手段30は上記実
施例と同様記憶装置90より未使用データブロックのブ
ロック番号を取得するとともに、該未使用データブロッ
クが上記のようにファイル作成手段10より受けたブロ
ック番号Bn に連続しているか否かを判断し、連続して
いるブロック番号が得られるまでブロック番号の取得を
繰り返す。ここに連続したブロック番号が得られたとき
に、その連続したブロックのブロック番号Bn を、デー
タ書き込み手段40にこのブロック番号Bn を通知する
ものとする。また、最後まで連続したブロック番号が得
られないときには任意のデータブロックのブロック番号
を取得する。
【0034】これにより、割り当てられたデータブロッ
ク番号に連続する次のデータブロックが未使用であれば
必ずこの連続したブロックが取得できることになり、未
使用データブロック群の一部を残して、他の未使用デー
タブロック群をアクセスすることはなくなる。
【0035】尚、この場合最初のファイルオフセットに
対応するデータブロックは任意に選択できるものとす
る。また、あるファイルデータaを書き込んでいる際
に、該ファイルデータaを書き込み可能な未使用データ
ブロックが複数個連続した後、次の1または複数ブロッ
クに他のファイルデータbが書き込まれている場合に、
ファイルデータaの次のデータの書き込み開始データブ
ロックも任意のデータブロック(例えば上記他のファイ
ルbに割り当てられている最後のデータブロックの次の
データブロック)を選択することができるものとする。
また、この例では前回のデータブロックと今回のデータ
ブロックのブロック番号が連続するか否かをデータブロ
ック割り当て手段30が認識しているので、この認識を
第2のブロック登録手段112に通知することによっ
て、該第2のブロック登録手段112は第1の実施例の
ようにデータブロックの連続性を判断することなく連続
する先頭のデータブロック(上記任意の位置に選択され
たデータブロック)を認識することができることにな
る。
【0036】(実施例3)未使用データブロックが所定
個数以上連続しているときには該所定個数以上で該デー
タブロックを確保する処理を行うことによって、より高
速に処理できることになる。
【0037】すなわち、上記ファイル作成手段10よ
り、データブロック割り当て手段30に割り当て命令が
出されると、データブロック割り当て手段30は、第1
番目の未使用データブロックのブロック番号を取得する
とともに、該取得されたデータブロックに所定個数以上
連続して未使用となっているデータブロック群のブロッ
ク番号をすべて取得して保持する。もちろん、上記実施
例と同様、ファイル作成手段10よりファイルオフセッ
トOn とそれに対応するデータがデータ書き込み手段4
0に通知されるとともに、上記データブロック割り当て
手段30より、連続する最初のデータブロックのブロッ
ク番号Bn がデータ書き込み手段40に通知される。
【0038】この状態で、次にファイル作成手段10よ
り次の割り当て命令が出されると、データブロック割り
当て手段30は記憶装置90を探索することなく、上記
のように保持した2番目のブロック番号Bn をデータ書
き込み手段40に通知することになり、データブロック
割り当て手段30に保持したブロック番号Bn がなくな
るまでこの手順が繰り返される。保持したブロック番号
Bn がなくなると、その次にファイル作成手段10より
出される割り当て命令に対応して新たに所定個数以上連
続したデータブロック群のブロック番号が記憶装置90
より取得される。
【0039】一方、上記所定以上の個数連続した未使用
ブロックがない場合(一部あるいは全部が既に他のファ
イルに割り当てられている場合)には、記憶装置90上
の他の領域で上記所定個数以上連続して未使用である連
続ブロック群を検索し、抽出できたときにこの連続ブロ
ック群の先頭ブロックのブロック番号Bn をデータ書き
込み手段40に通知する。
【0040】また、所定数以上連続して未使用であるブ
ロック群が抽出できない場合には、データブロック割り
当て手段30は該基準となる所定個数を順次1減じて、
未使用データブロックの探索をするものとする。
【0041】これにより、データブロック割り当て手段
30が管理する連続個数だけ連続している未使用な連続
ブロック群があれば必ず割り当てられるようになる。 (実施例4)上記の所定個数はファイル側からデータブ
ロック割り当て手段30に与えるようにしてもよい。す
なわち、作成されるファイル毎に、あらかじめ定められ
た連続個数の情報を付加しておき、データブロック割り
当て手段30が新たに未使用な連続ブロック群を探索す
る場合に、データブロック割り当て手段30はそのファ
イルが持つ連続個数の情報をファイル作成手段10より
取得して、この連続個数以上連続して未使用である連続
ブロック群を探索するものとする。
【0042】これにより、ファイル毎に連続する数を制
御することが可能となり、例えば、映像音声データを格
納するファイルでは、連続数を大きく取ることにより、
第2のブロックテーブルTb のサイズをより小さくする
ことが可能となる。
【0043】(実施例5)更に、上記の説明において
は、連続個数は所定数以上としているが、所定数に固定
した値としてもよい。すなわち、データブロック割り当
て手段30は、あらかじめ定められた連続個数分必ず未
使用となっている連続ブロック群を探索する機能を備え
るようにすることにより、ファイルに割り当てられるデ
ータブロックは必ずこの所定個数分連続している連続ブ
ロック群毎となる。このとき、図3(b) で示すように、
第2のブロックテーブルTb には、連続ブロック群の先
頭ブロックに対応するファイルオフセットOn を記憶し
ないで、連続するデータブロックの先頭のブロック番号
のみを記憶するようにする。更に、第2のブロック取り
出し手段122はもちろんこの所定数を認識するように
しておき、これによって、連続データを読み出すときに
ファイルオフセットOn を用いなくても、第2のブロッ
ク取り出し手段122は上記各先頭のブロック番号を読
むだけで、それに続く所定数の連続するデータブロック
を読み出せばよいことになり、第2のブロックテーブル
Tb のテーブルサイズを小さくすることが可能となる。
【0044】(実施例6)以上の説明では、全てのファ
イルについて第2のブロックテーブルを作成することに
なっているが、ファイルによっては第2のブロックテー
ブルが不要となることがある。すなわち、ファイルに、
そのファイルのサイズ及び/またはそのファイルの種別
を示すファイル属性情報を付加しておき、第2のブロッ
ク登録手段は、連続ブロック群の先頭ブロックのブロッ
ク番号Bn を第2のブロックテーブルTb に登録するに
あたり、ファイルのファイル属性情報に基づいて登録を
開始するかどうかを判定するものとする。
【0045】例えば、ファイルサイズが連続個数より小
さい場合には、第2のブロックテーブルへの登録を開始
しないと判定することにより、テーブルサイズの小さく
ない第2のブロックテーブルTb を持つことが不要とな
る。
【0046】
【発明の効果】以上のように本発明によれば、ファイル
に割り当てられたデータブロックが複数個連続している
連続ブロック群の一つである場合に、その連続ブロック
群の先頭ブロックのブロック番号だけを第2のブロック
テーブルに登録しているので、該第2のブロックテーブ
ルのテーブルサイズは、割り当てられたデータブロック
のブロック番号がすべて登録されている第1のブロック
テーブルのテーブルサイズより小さくなり、ファイルに
割り当てられたすべてのデータブロックのブロック番号
列を取得する場合に、ブロック番号列全体を記憶装置か
ら読み出すための読み出し時間の合計が短縮できること
になる。
【図面の簡単な説明】
【図1】本発明にかかる第1の実施例のファイルシステ
ムの構成図である。
【図2】本発明の1実施例における第1及び第2のブロ
ックテーブルの構成を示す概念図である。
【図3】本発明における別の実施例における第1及び第
2のブロックテーブルの構成を示す概念図である。
【図4】従来のファイルシステムの構成図である。
【図5】従来例におけるファイル情報のデータとブロッ
クテーブルの状態を説明する図である。
【符号の説明】
10 ファイル作成手段 20 ファイル読み出し手段 30 データブロック割り当て手段 40 データ書き込み手段 50 データ読み出し手段 90 記憶装置 111 第1のブロック登録手段 112 第2のブロック登録手段 121 第1のブロック取り出し手段 122 第2のブロック取り出し手段 410 ブロック登録手段 420 ブロック取り出し手段

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】記憶装置の記憶領域を所定のサイズのデー
    タブロック単位に分割し、書き込み対象のファイルに割
    り当てられたデータブロックの番号と該ファイルのファ
    イルオフセットとを対応させて第1のブロックテーブル
    で管理し、上記第1のブロックテーブルの内容を参照し
    て該ファイルを読み出す構成のファイルシステム管理方
    法において、 上記書き込み対象のファイルに割り当てられたデータブ
    ロックの番号とファイルオフセットとを対応付けるとと
    もに、ブロック番号が連続する場合、該連続する先頭の
    データブロックの番号とファイルオフセットとを対応さ
    せた第2のブロックテーブルを作成し、該第2のブロッ
    クテーブルの内容に基づいて、連続データを読み出すこ
    とを特徴とするファイルシステム管理方法。
  2. 【請求項2】記憶装置の記憶領域を所定のサイズのデー
    タブロック単位に分割し、第1のブロック登録手段でデ
    ータブロック割り当て手段が取得したデータブロックの
    ブロック番号と、書き込み対象のファイルのファイルオ
    フセットとを対応させた第1のブロックテーブルを作成
    して記憶手段に記憶するとともに、データ書き込み手段
    で上記第1のブロックテーブルで管理されているデータ
    ブロックにデータを書き込み、データ読み出し手段が上
    記第1のブロックテーブルの内容に基づいてデータを読
    み出すブロックテーブル管理システムにおいて、 上記書き込み対象のファイルに割り当てられたデータブ
    ロックの番号とファイルオフセットとを対応付けるとと
    もに、ブロック番号が連続する場合、該連続する先頭の
    データブロックの番号とファイルオフセットとを対応さ
    せた第2のブロックテーブルを作成する第2のブロック
    登録手段と、 連続データを読み出すときに上記第2のブロックテーブ
    ルの内容に基づいて読み出すべきブロック番号を演算し
    て上記データ読み出し手段に渡す、第2のブロック取り
    出し手段とを備えたことを特徴とするファイルシステ
    ム。
  3. 【請求項3】上記データブロック割り当て手段が、今回
    のファイルオフセットに対応するデータブロックのブロ
    ック番号と、前回のファイルオフセットに対応するデー
    タブロックのブロック番号が連続するときにのみ、デー
    タ書き込み手段による書き込み対象のデータブロックと
    する請求項2に記載のファイルシステム。
  4. 【請求項4】上記データブロック割り当て手段が、所定
    数以上連続して未使用となっているデータブロックを抽
    出するとともに、該抽出したデータブロックにファイル
    オフセットを割り当てる請求項2に記載のファイルシス
    テム。
  5. 【請求項5】未使用データブロックが所定数に満たない
    場合には順次該所定数を減じた数とする請求項4に記載
    のファイルシステム。
  6. 【請求項6】上記所定数が固定された値であり、連続す
    る所定個のデータブロックの先頭のブロック番号のみ書
    き込んだ上記第2のブロックテーブルを作成する請求項
    4に記載のファイルシステム。
  7. 【請求項7】上記所定数が、書き込み対象となるファイ
    ルの属性として書き込まれている請求項4、5または6
    に記載のファイルシステム。
  8. 【請求項8】ファイルに、そのファイルのサイズ及び/
    又はそのファイルの種別を示すファイル属性情報を付し
    ておき、上記第2のブロック登録手段は、前記連続ブロ
    ック群の先頭ブロックのブロック番号を前記第2のブロ
    ックテーブルに登録する場合、前記ファイル属性情報に
    基づいて登録の開始を判定し、 上記第2のブロック取り出し手段は、ファイルデータを
    連続的に読み出す場合に、前記第2のブロックテーブル
    にブロック番号が登録されていない場合は、前記第1の
    ブロック取り出し手段を用いてブロック番号を取得し、
    登録されている場合は、前記第2のブロックテーブルを
    使用してブロック番号を取得する請求項2〜7のいずれ
    かに記載のファイルシステム。
  9. 【請求項9】ファイルデータをランダムに読み出す場合
    は上記第1のブロックテーブルの内容に基づいて読み出
    し処理をする請求項2〜8のいずれかに記載のファイル
    システム。
JP9111069A 1997-04-28 1997-04-28 ファイルシステム及びその管理方法 Pending JPH10301818A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP9111069A JPH10301818A (ja) 1997-04-28 1997-04-28 ファイルシステム及びその管理方法
US09/066,575 US6182088B1 (en) 1997-04-28 1998-04-27 File system and file management method
EP98303241A EP0875834A3 (en) 1997-04-28 1998-04-27 File system and file management method
KR1019980015081A KR100349737B1 (ko) 1997-04-28 1998-04-28 파일시스템및파일관리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9111069A JPH10301818A (ja) 1997-04-28 1997-04-28 ファイルシステム及びその管理方法

Publications (1)

Publication Number Publication Date
JPH10301818A true JPH10301818A (ja) 1998-11-13

Family

ID=14551606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9111069A Pending JPH10301818A (ja) 1997-04-28 1997-04-28 ファイルシステム及びその管理方法

Country Status (4)

Country Link
US (1) US6182088B1 (ja)
EP (1) EP0875834A3 (ja)
JP (1) JPH10301818A (ja)
KR (1) KR100349737B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100623125B1 (ko) 2004-04-15 2006-09-19 가부시키가이샤 히타치세이사쿠쇼 정보 기억 장치, 정보 기억 방법 및 정보 기억 처리프로그램 제품
KR100714709B1 (ko) * 2006-01-11 2007-05-04 삼성전자주식회사 숨김 영역 관리 장치 및 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185580A (ja) * 1997-09-11 1999-03-30 Matsushita Electric Ind Co Ltd ファイル管理システム及びファイル管理方法
US6505217B1 (en) * 1998-11-25 2003-01-07 Compaq Computer Corporation Method and apparatus for file placement
WO2000049524A1 (de) * 1999-02-15 2000-08-24 Siemens Aktiengesellschaft Verfahren und anordnung zum abspeichern und zum zugriff auf ein objekt durch einen rechner
JP4406988B2 (ja) * 1999-03-29 2010-02-03 ソニー株式会社 不揮発性記録媒体、記録方法、記録装置
JP4378590B2 (ja) * 2000-10-12 2009-12-09 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム格納媒体
PL351784A1 (en) * 2002-01-21 2003-07-28 Advanced Digital Broadcast Ltd System for of storing data and method of recording them in that system
JP4225740B2 (ja) * 2002-04-26 2009-02-18 三洋電機株式会社 ファイル管理装置
JP4007177B2 (ja) * 2002-12-09 2007-11-14 ソニー株式会社 データ編集方法、データ編集装置
US20050160150A1 (en) * 2004-01-20 2005-07-21 Su-Hwa Kao Apparatus and method for managing and transporting virtual disks over a network to networked stations
US20060004950A1 (en) * 2004-06-30 2006-01-05 Jeffrey Wang Flash memory file system having reduced headers
KR100661170B1 (ko) 2005-01-07 2006-12-26 삼성전자주식회사 화상형성장치 및 그의 제어방법
KR100714691B1 (ko) * 2005-05-04 2007-05-04 삼성전자주식회사 파일 시스템에 추가 정보를 저장하고 관리하는 장치 및방법
KR100654462B1 (ko) * 2005-08-24 2006-12-06 삼성전자주식회사 캐쉬 메모리를 메모리 블록으로 나누어 파일의 데이터를저장하는 캐쉬 방법 및 캐쉬 시스템
JP5595701B2 (ja) 2009-09-16 2014-09-24 株式会社日立製作所 ファイル管理方法及びストレージシステム
KR102050732B1 (ko) 2012-09-28 2019-12-02 삼성전자 주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4660130A (en) * 1984-07-24 1987-04-21 Texas Instruments Incorporated Method for managing virtual memory to separate active and stable memory blocks
JPH0219938A (ja) 1988-07-08 1990-01-23 Mitsubishi Electric Corp ファイル管理システム
JPH03127137A (ja) 1989-10-12 1991-05-30 Nec Corp ファイル領域割り当て方式
US5410671A (en) * 1990-05-01 1995-04-25 Cyrix Corporation Data compression/decompression processor
JPH0546447A (ja) * 1991-08-08 1993-02-26 Hitachi Ltd 空き領域検索方法
JPH05325498A (ja) * 1992-05-27 1993-12-10 Canon Inc 情報管理方式
US5305295A (en) * 1992-06-29 1994-04-19 Apple Computer, Inc. Efficient method and apparatus for access and storage of compressed data
US5740395A (en) * 1992-10-30 1998-04-14 Intel Corporation Method and apparatus for cleaning up a solid state memory disk storing floating sector data
JPH086825A (ja) 1994-06-17 1996-01-12 Hitachi Ltd ファイル生成方法
JP3745398B2 (ja) * 1994-06-17 2006-02-15 富士通株式会社 ファイルのディスクブロック制御方式
US5666525A (en) * 1995-09-21 1997-09-09 The Trustees Of Columbia University In The City Of New York System and method for performing an efficient join operation on large tables with a small main memory
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100623125B1 (ko) 2004-04-15 2006-09-19 가부시키가이샤 히타치세이사쿠쇼 정보 기억 장치, 정보 기억 방법 및 정보 기억 처리프로그램 제품
KR100714709B1 (ko) * 2006-01-11 2007-05-04 삼성전자주식회사 숨김 영역 관리 장치 및 방법

Also Published As

Publication number Publication date
US6182088B1 (en) 2001-01-30
KR19980081791A (ko) 1998-11-25
EP0875834A3 (en) 1999-07-21
EP0875834A2 (en) 1998-11-04
KR100349737B1 (ko) 2002-11-18

Similar Documents

Publication Publication Date Title
JPH10301818A (ja) ファイルシステム及びその管理方法
JP6678230B2 (ja) ストレージ装置
JPH08185275A (ja) ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
WO2009039707A1 (fr) Procédé, appareil et processeur de fichier de flux en temps destinés à récupérer des fichiers
CN103150395B (zh) 基于ssd的文件系统目录路径解析方法
JP2006277737A (ja) アドレス予測機能をもつ不揮発性記憶装置
JP2018116329A (ja) ストレージ制御装置、およびストレージ制御プログラム
KR20140008914A (ko) 비휘발성 메모리 제어기 및 그 제어 방법
US20090164721A1 (en) Hierarchical storage control apparatus, hierarchical storage control system, hierarchical storage control method, and program for controlling storage apparatus having hierarchical structure
US20230168830A1 (en) Method and apparatus for data access of nand flash file, and storage medium
JPH11327802A (ja) ディスクシステム
JP2018156594A (ja) ストレージシステムおよび処理方法
JP7262977B2 (ja) 記録装置及びその制御方法、並びにプログラム
JPH0581049A (ja) メモリの時間管理方式
JP2007265010A (ja) ファイル再生装置およびファイル再生方法ならびにプログラム
JP2912657B2 (ja) ファイルアクセス処理装置
JPS634356A (ja) デイスクキヤツシユ順次モ−ド共用処理方式
JP2008134777A (ja) ファイル割当テーブルのキャッシュ方法
JPS6375950A (ja) Fbaデイスクのキヤツシユ制御方式
JP3578501B2 (ja) 文書検索方法及び装置
JP2767966B2 (ja) 高速ファイルアクセス方式
JPH0383147A (ja) 半導体記録装置
JPH09231012A (ja) 直接アクセス形外部記憶装置間のボリュームコピー方式
JPH03127137A (ja) ファイル領域割り当て方式
KR100944240B1 (ko) 파일 액세스 속도 향상 방법