JP2001337851A - ファイル管理装置および方法 - Google Patents

ファイル管理装置および方法

Info

Publication number
JP2001337851A
JP2001337851A JP2000154756A JP2000154756A JP2001337851A JP 2001337851 A JP2001337851 A JP 2001337851A JP 2000154756 A JP2000154756 A JP 2000154756A JP 2000154756 A JP2000154756 A JP 2000154756A JP 2001337851 A JP2001337851 A JP 2001337851A
Authority
JP
Japan
Prior art keywords
file
file management
area
unused
data
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.)
Granted
Application number
JP2000154756A
Other languages
English (en)
Other versions
JP3702147B2 (ja
Inventor
Akito Mori
玲人 森
Akio Ichikawa
明男 市川
Takeshi Hayama
剛 葉山
Shinichiro Shirai
慎一郎 白井
Ryoji Ono
良治 大野
Mamoru Oda
守 小田
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2000154756A priority Critical patent/JP3702147B2/ja
Publication of JP2001337851A publication Critical patent/JP2001337851A/ja
Application granted granted Critical
Publication of JP3702147B2 publication Critical patent/JP3702147B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 デジタル映像音声データのように大容量のデ
ータの読出しおよび書込みをリアルタイムで実行する。 【解決手段】 ファイル管理装置10は、ハードディス
ク6に記録されたファイルを管理するファイル管理部1
と、ファイル管理部1の指示に従い、ハードディスクへ
のデータの書込および読出の制御を行なう記録媒体制御
部2と、ハードディスク6中の未使用領域を管理する未
使用領域管理部3と、ハードディスク6中の未使用領域
を接合する未使用領域接合部4と、交替処理を遅延させ
ながら実行する遅延交替処理部5とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ファイル管理装置
および方法に関し、特に、MPEG(Moving Picture E
xperts Group)2トランスポートストリームのように、
デジタル映像データやデジタル音声データといった、大
容量で読出および書込にリアルタイム性が要求されるよ
うなデータを入出力可能なファイル管理装置および方法
に関する。
【0002】
【従来の技術】近年、MPEG1、MPEG2等のデジ
タル圧縮技術の標準化が進み、また、高性能なCPU
(Central Processing Unit)、メモリおよびデータ蓄
積媒体などが低価格で入手できるようになってきてい
る。よって、映像データや音声データをデジタル化して
蓄積し、大容量のデジタルデータを処理するマルチメデ
ィア機器が数多く商品化されてきている。
【0003】このようなデジタル化された映像データや
音声データを記録媒体に書込んだり、記録媒体から読出
したりする際には、コンピュータでデータを読み書きす
るのと同様に、ファイルシステムと呼ばれるファイル管
理装置がブロックのアロケート、未使用ブロックの管理
およびデータの一覧情報の管理等を行なっている。
【0004】ファイルシステムでは、記録媒体のデータ
領域をある定められたサイズのブロックに分割し、各ブ
ロックが使用状況を管理するためのブロック管理テーブ
ルを持つ。ブロックの大きさは、一般的なコンピュータ
の場合、512バイトや2Kバイトに設定されている。
【0005】これらのブロックを単位に、記録媒体に対
して記録再生を行なう際、記録媒体上のセクタと称する
単位を元に記録再生が行なわれる。セクタは、記録媒体
毎に定められた固定長の記録再生の単位であり、ハード
ディスクの場合は、512バイトであることが多い。こ
のセクタへのアクセスは、物理的なセクタに対応する番
号に基づき行なわれる。ハードディスクでは、データの
記録再生を行なう開始位置となるセクタの番号とセクタ
数とを指定することによって、記録媒体上でデータが連
続している限り、連続的にデータの転送を行なうことが
できる。
【0006】ただし、ファイルシステムでは、ブロック
単位で領域の確保を行なうため、ファイルの作成、削除
を繰り返すうちに、その領域が断片化される。このた
め、記録媒体上で連続した領域を確保できず、その結
果、連続的にデータを転送できなくなってしまう。
【0007】ハードディスクなどの円盤状の記録媒体で
は、連続的にデータの転送が行なわれない場合には、デ
ィスクのヘッドを目的のセクタが含まれるシリンダ位置
へ移動させるためのシーク時間と、目的のセクタがヘッ
ド位置まで回転してくるまでの回転待ち時間とがオーバ
ーヘッドとなり、そのパフォーマンスが低下する。たと
えば、回転速度が11.1msec、シーク時間が1
7.8msec、1回転当たりのセクタ数が400セク
タのハードディスクを想定する。また、1セクタ当りの
データ量を512[Byte]とする。実際には、トラ
ックが変化するときのヘッドスイッチのための処理時間
や、隣のシリンダに移るためのシリンダ間シーク時間等
が関係するが、ここではそれらの時間を0と仮定する。
【0008】たとえば、連続的に400セクタ毎にディ
スクアクセスする場合は、17.8[msec]+1
1.1[msec]+11.1[msec]=40.0
[msec]の間に、400×512[Byte]=2
00KByteのデータを処理することになる。このた
め、4.88[MByte/sec]の処理能力とな
る。これに対し、連続的に2000セクタ毎にディスク
アクセスする場合は、17.8[msec]+11.1
[msec]+11.1[msec]×2000/40
0=84.4[msec]の間に、2000×512=
0.976MByteのデータを処理することになる。
このため、11.5[MByte/sec]の処理能力
になる。
【0009】このため、ファイルシステムではディスク
のパフォーマンスが低下しないように、いくつかのセク
タを連続的にアクセスするようにデータを配置すること
が必要となる。このためには、ディスクへのアクセスの
単位となる論理ブロックと呼ばれる大きさを取り決め、
データの連続性を保証したディスクの空き領域の管理が
必要となる。この論理ブロックの取扱いと空き領域の管
理手法として、いくつかの従来技術が提案されている。
【0010】特開平11−96052号公報では、記録
領域を複数に分割し、分割後の記録領域毎に空き領域を
管理するファイル管理装置が提案されている。この装置
では、データを記録領域に記録している最中に空き領域
がなくなった場合には、隣接する空き領域を用いてデー
タの記録を続行する。図25を参照して、この装置で
は、記録領域をディスク円盤の同心円と同心円に直交す
る直線とで分割することで、領域が不連続となる箇所で
発生するシークを隣の記憶領域内に抑えることができ
る。このため、ヘッドのシーク時間を抑えることができ
る。
【0011】特開平11−250585号公報では、記
録媒体上の領域を複数に分割可能な領域とし、各分割領
域に対して、記録開始セクタから順次データを記憶し、
再び記録開始セクタからオーバライトして記録するいわ
ゆるリングストレージ構造として記録再生を行なうこと
により、セクタの連続性を確保している。このため、各
分割エリア内では、記録されたデータの連続性が保証さ
れる。
【0012】
【発明が解決しようとする課題】しかし、特開平11−
250585号公報では、録画して保存しておきたい番
組が複数存在するような場合には、あらかじめ記録領域
を分割しておくか、1つの記録領域に追加記録する必要
がある。あらかじめ領域を分割する場合は、1領域あた
りの最大録画時間に上限を設けることになる。これで
は、録画したいデータが領域の最大録画時間を超えた場
合に録画できない。また、1つの領域に追加記録する場
合においては、1つの領域内に記憶された複数の番組の
うち、特定の番組のみを削除することができない。
【0013】また、上述した従来のファイルシステムで
は、同時に複数のファイルを扱うことが考慮されていな
い。これは、ある番組を記録しながら既に記録した別の
記録データを再生したり、番組を記録しながら再生する
いわゆる追っかけ再生や、複数の番組データを同時に記
録するといった場合などであり、複数のファイルを扱う
場合においては、1つのファイルを連続的に配置したと
しても、別のデータのアクセスにスイッチするために、
データアクセスの連続性は失われる。
【0014】ただし、一方で、1つのファイルの連続性
を確保した場合は、ファイル作成、削除等の処理負荷が
軽減されたり、ファイルを管理するための容量が少なく
てすむというメリットや、1つのファイルを扱う場合は
記録媒体のパフォーマンスが高いというメリットもあ
る。
【0015】従って、一つのファイルの連続性をある程
度確保しながら、複数のファイルを同時にアクセスして
も記録媒体のパフォーマンスを保証することができる、
ファイル管理方法が重要となる。
【0016】また、ハードディスクではデータを記録再
生する際に、欠陥セクタを検出した場合には、別の領域
に用意されたセクタと交換する処理を行なう。これは交
替処理と呼ばれる。この交替処理は内部的に処理される
ため、ファイルシステムなど記録媒体の外部からは、そ
のセクタが交替されたものかどうかを意識する必要がな
い。
【0017】ただし、この交替処理は、2つの点で問題
がある。1つは、交替処理にかかる時間であり、もう一
つは、交代処理の結果、記録媒体のパフォーマンスが低
下するということである。交替処理にかかる時間は、数
百ミリ〜1秒であり、その間、外部からディスクへのア
クセスはできなくなる。ファイルシステム内、またはフ
ァイルシステムを操作するプログラム上にバッファを設
けることにより、交替処理の負荷を吸収することはでき
るが、デジタル放送のように高いビットレートで、デー
タがリアルタイム伝送される場合においては、その容量
は大きいものとなる。24Mbpsのように高ビットレ
ートのデータを1つ扱うのであれば、交替処理が発生し
たときのために、3MByteのバッファを追加する必
要がある。追っかけ再生のように、同時に記録再生を行
なう場合は、6MByteのバッファを追加しなければ
ならない。
【0018】また、この交替処理の結果、セクタの配置
が不連続になってしまい、次回、交替処理を含む領域の
データの記録再生を行なう場合、ヘッドを交替領域に動
かすシーク時間と、シーク後の回転待ち時間、さらに後
続するセクタを記録再生するための元の領域に戻るため
のシーク時間と回転待ち時間とが発生する。このため、
連続的に配置されたセクタをアクセスする場合と比べ
て、そのパフォーマンスが低下し、ストリームデータを
リアルタイムで処理することができなくなる。また、こ
の交替処理は、確率的に発生するため、連続的に記録し
なければならない最小単位内で、複数の欠陥セクタが発
生した場合は、交替処理回数に比例してシーク時間と回
転待ち時間が増大するために、パフォーマンスは更に低
下することになる。
【0019】これに対して特開平11−250592号
公報では、交替処理を記録媒体の内部処理として行なう
のではなく、ファイルシステム上で欠陥を有するセクタ
の管理を行ない、欠陥を有するセクタが存在する場合
は、時間的に連続した次のセクタに記録を行なう方法が
提案されている。この方法では、セクタが不連続となっ
ても、ヘッドを交替領域に動かすシーク時間が必要ない
ために、パフォーマンスがそれほど低下しないというメ
リットがある。
【0020】ただし、次のセクタが必ずしも空き領域と
なっているとは限らず、複数のデータを記録しておきた
い場合には、この方法は役に立たない。
【0021】本発明は上述の課題を解決するためになさ
れたもので、その目的は、デジタル映像音声データのよ
うに大容量のデータの読出および書込をリアルタイムで
実行可能なファイル記録装置および方法を提供すること
である。
【0022】本発明の他の目的は、記録媒体のパフォー
マンスを低下させることなく交替処理を実行可能なファ
イル管理装置および方法を提供することである。
【0023】本発明のさらに他の目的は、領域の断片化
を低減することができるファイル管理装置および方法を
提供することである。
【0024】
【課題を解決するための手段】本発明のある局面に従う
ファイル管理装置は、各々、連続配置が保証され、かつ
要求されるアクセス速度を上回ることが保証されている
複数の論理ブロックに区切られた記録媒体と、記録媒体
に記録されたファイルを管理するファイル管理情報を管
理するファイル管理部と、ファイル管理部および記録媒
体に接続され、ファイル管理情報に基づいて、記録媒体
に対するデータの書込および読出を行なう記録媒体制御
部と、ファイル管理部に接続され、記録媒体中の未使用
の論理ブロックを記録媒体上で連続している領域毎に管
理する未使用領域管理部と、ファイル管理部および未使
用領域管理部に接続され、新たに未使用領域が発生した
際に、新たな未使用領域を他の未使用領域に接合する未
使用領域接合部とを含む。
【0025】未使用領域は、未使用領域接合部で接合さ
れ、未使用領域管理部により管理される。このため、1
つのファイルの記録媒体上での連続性をなるべく保つこ
とができ、記録媒体のパフォーマンスを保証することが
できる。特に、デジタル映像音声データのように大容量
で、かつ読出および書込時にリアルタイム性が要求され
る場合でも、記録媒体のパフォーマンスを保証すること
ができる。
【0026】好ましくは、ファイル管理装置は、さら
に、ファイル管理部および記録媒体制御部に接続され、
記録媒体への書込エラーを検出した際に、エラーが発生
した箇所に記録されるべきデータをメモリに保存し、メ
モリへの保存に遅延させて、メモリ上のデータと、書込
エラーが発生した論理ブロックに含まれるエラーの発生
した箇所以外のデータとを他の論理ブロックへ書込み、
論理ブロックを代替する遅延交替処理部を含む。
【0027】データの書込に余裕がある場合に遅延処理
を実行させることができる。このため、リアルタイム性
が要求されるファイルの読出または書込途中であって
も、読出または書込の邪魔をすることなく遅延処理を実
行させることができる。
【0028】さらに好ましくは、論理ブロックは、所定
個数のサブブロックを含み、記録媒体制御部は、記録媒
体に対するデータの書込および読出が所定量以下の場合
には、サブブロック単位でデータの書込および読出を行
なう。
【0029】小サイズのデータについては、サブブロッ
ク単位でのアクセスを行なうことにより、アクセス効率
を向上させることができる。
【0030】さらに好ましくは、未使用領域管理部は、
未使用の論理ブロックを所定数の連続領域ごとに管理す
る。
【0031】未使用の論理ブロックを固定長で管理する
ことにより、管理がしやすくなる。さらに好ましくは、
記録媒体は、所定数の同心円により区切られた複数のゾ
ーンを含み、未使用領域管理部は、所定の同心円よりも
外側のゾーンに属する論理ブロックのみを未使用領域と
して登録する。
【0032】記録媒体の内周側に位置するゾーンに属す
る論理ブロックは、未使用領域として登録されない。よ
って、論理ブロックの長さが増大することを防止でき
る。
【0033】さらに好ましくは、ファイル管理部は、フ
ァイルサイズが予め定められているファイルの作成時
に、ファイルサイズに到達するまで、連続する未使用領
域をサイズの大きいものから順にファイルに割当てるた
めの手段と、ファイルに割当てられていない未使用領域
のうち、最後にファイルに割当てられた未使用領域と、
当該未使用領域と交換可能な未使用領域とを交換するた
めの交換手段とを含む。
【0034】2つのフリーブロック群を交換することに
よって、連続長が長いフリーブロックの断片化をさらに
抑えることができる。
【0035】さらに好ましくは、ファイル管理部は、さ
らに、ファイルサイズが予め定められているファイル
に、未使用領域をさらに追加する際には、最大の未使用
領域をファイルに割当てるための追加割当手段を含む。
【0036】記録すべき番組が延長されるような場合に
おいても、未使用領域の断片化を低減することができ
る。
【0037】さらに好ましくは、ファイル管理部は、フ
ァイルをクローズする際に、ファイルに割当てられた領
域のうち、未使用の論理ブロックを、未使用領域管理部
に登録する。
【0038】記録時間が短いような場合に、記録媒体の
記憶容量に対して記憶されるデータ量が極端に小さくな
ることを抑えることができる。
【0039】さらに好ましくは、ファイル管理部は、未
使用の論理ブロック数が予め定められた個数以上の場合
にのみ、未使用の論理ブロックを未使用領域管理部に登
録する。
【0040】ファイルに割当てたにもかかわらず、記録
されずに残った論理ブロックがあらかじめ定められた個
数未満の場合には、未使用領域への登録を行なわない。
このため、断片化を防止することができる。
【0041】さらに好ましくは、未使用領域接合部は、
ファイル管理部により登録された未使用の論理ブロック
に隣接する領域が未使用領域であれば、未使用の論理ブ
ロックと、隣接する領域とを接合する。
【0042】隣接する未使用領域同士を接合することに
より、未使用領域の断片化を防止することができる。
【0043】さらに好ましくは、遅延交替処理部は、他
の論理ブロックを未使用領域管理部で管理されている未
使用の論理ブロックより獲得する。
【0044】特別に交替用の領域を設ける必要がなく、
かつ、交替先の領域でも論理ブロック単位でのアクセス
を行なうことが可能となる。
【0045】さらに好ましくは、遅延交替処理部は、記
録媒体への書込エラーを検出した際に、エラーが発生し
た箇所に記録されるべきデータをメモリに保存するとと
もに、不揮発性の記録媒体にも保存する。
【0046】エラーの発生した箇所に記録されるべきデ
ータをメモリ上に保存するとともに、別の不揮発性の記
憶媒体上にも保存することによって、停電等が起こった
場合であっても、遅延交替処理を実行することができ
る。
【0047】さらに好ましくは、記録媒体制御部は、書
込エラーが発生した箇所に記録されるべきデータが他の
論理ブロックに書込まれていない際に、書込エラーが発
生した論理ブロックに対する読出要求があった場合に
は、メモリ上のデータと、書込エラーが発生した論理ブ
ロックに含まれるエラーの発生した箇所以外のデータと
を読出す。
【0048】交替処理が完了していない場合であって
も、正確なデータを読出すことができる。
【0049】さらに好ましくは、未使用領域管理部は、
記録媒体上で連続した未使用の論理ブロックを1つのフ
リーブロック群として管理する。
【0050】未使用領域のうち、記録媒体上で連続した
論理ブロックをフリーブロック群として、まとめて管理
することにより、ファイルへの領域割当や、不要になっ
た領域の接合処理などを効率良く行なうことができる。
【0051】さらに好ましくは、未使用領域接合部は、
複数のフリーブロック群が記録媒体上で連続している場
合は、複数のフリーブロック群を接合し、新たなフリー
ブロック群とする。
【0052】複数のフリーブロック群を接合することに
よって、未使用領域が断片化することを抑えることがで
きる。
【0053】さらに好ましくは、未使用領域接合部は、
2つのフリーブロック群の記録媒体上での距離が一定値
以内であれば、2つのフリーブロック群を接合し、新た
なフリーブロック群とする。
【0054】比較的近い距離の領域をまとめて管理する
ことが可能となる。さらに好ましくは、未使用領域接合
部は、予め定められた長さを超えない範囲で、2つのフ
リーブロック群を接合する。
【0055】接合後のフリーブロック群の大きさが大き
くなりすぎるのを抑制することができる。
【0056】さらに好ましくは、記録媒体には、予め複
数の境界が設定されており、未使用領域接合部は、2つ
のフリーブロック群が境界をまたがない場合にのみ、2
つのフリーブロック群を接合する。
【0057】接合後のフリーブロック群の大きさを境界
間の大きさで規定できるため、接合後のフリーブロック
群の大きさが大きくなりすぎるのを抑制することができ
る。
【0058】本発明の他の局面に従うファイル管理方法
は、各々、連続配置が保証され、かつ要求されるアクセ
ス速度を上回ることが保証されている複数の論理ブロッ
クに区切られた記録媒体を管理するファイル管理装置で
用いられる。ファイル管理方法は、記録媒体に記録され
たファイルを管理するファイル管理情報を管理するステ
ップと、ファイル管理情報に基づいて、記録媒体に対す
るデータの書込および読出を行なうステップと、記録媒
体中の未使用の論理ブロックを記録媒体上で連続してい
る領域ごとに管理するステップと、新たに未使用領域が
発生した際に、新たな未使用領域を他の未使用領域に接
合するステップとを含む。
【0059】未使用領域は、他の未使用領域と接合さ
れ、管理される。このため、1つのファイルの記録媒体
上での連続性をなるべく保つことができ、記録媒体のパ
フォーマンスを保証することができる。特に、デジタル
映像音声データのように大容量で、かつ読出および書込
時にリアルタイム性が要求される場合でも、記録媒体の
パフォーマンスを保証することができる。
【0060】
【発明の実施の形態】図1を参照して、本発明の実施の
形態に係るファイル管理装置10は、ハードディスク6
に記録されたファイルを管理するファイル管理部1と、
ファイル管理部1の指示に従い、ハードディスクへのデ
ータの書込および読出の制御を行なう記録媒体制御部2
と、ハードディスク6中の未使用領域を管理する未使用
領域管理部3と、ハードディスク6中の未使用領域を接
合する未使用領域接合部4と、交替処理を遅延させなが
ら実行する遅延交替処理部5とを含む。
【0061】このファイル管理装置10は、論理ブロッ
クと呼ばれる単位でハードディスク6にアクセスを行な
い、データの読出および書込を実行する。論理ブロック
とは、論理ブロックに含まれるセクタのハードディスク
6上での連続配置が保証され、かつその論理ブロックの
セクタへのアクセスの前に、シークと回転待ちが発生し
たとしてもハードディスク6に要求されるパフォーマン
スが発揮できる単位である。
【0062】ディスクアクセスの速度は、(アクセスデ
ータ量[Byte]/総アクセス時間[sec])で表
わされ、これがハードディスク6のアクセス速度を上回
っている必要がある。このため、パフォーマンスを発揮
するには、次式(1)を満たす必要がある。
【0063】 アクセスデータ量[Byte]/総アクセス時間[sec] >ディスクに要求されるアクセス速度[Byte/sec] …(1) ここで、nセクタずつアクセスするものとするとし、1
セクタ当りのバイト数が512[Byte]とすると、
アクセスデータ量は(512[Byte/セクタ]×n
[セクタ])で表わすことができる。
【0064】また、総アクセス時間は、回転待ち時間と
シーク時間とアクセス時間との和として求めることがで
きる。回転待ち時間とは、ディスクが回転して、ディス
クヘッドの位置に最初のセクタが位置するまでにかかる
最大時間のことであり、すなわち、ディスクが1回転す
る時間のことである。シーク時間とは、ディスクのヘッ
ドが目的のセクタの位置へ移動するのにかかる最大の時
間のことである。アクセス時間とは、ディスクが1回転
する時間に回転数をかけたものである。ここで、回転数
は、同時にアクセスするセクタ数nを1回転当りのセク
タ数で除した数である。
【0065】たとえば、ディスクの回転速度が11.1
msec、シーク時間が17.8msec、1回転当た
りのセクタ数が400セクタであるハードディスク6を
考える。この時、ファイル管理装置10が、24Mbp
s(bits per second)のデータを同時に3つ扱う場合
を考える。論理ブロックに含まれるセクタ数をnとし、
1セクタのサイズを512byteとすると、ハードデ
ィスク6のパフォーマンスを発揮するには、次式(2)
を満たす必要がある。
【0066】 512×n/(0.0111+0.0178+0.0111×n/400) >72[Mbits/sec]=9×1024×1024[Bytes/sec] …(2) すなわち、1つの論理ブロックに含まれるセクタを10
91セクタ以上とすれば、目的のパフォーマンスが得ら
れることがわかる。セクタ数を1091以上とし、ファ
イル管理装置10が管理しやすい単位をハードディスク
6にアクセスする際の最小単位とすればよい。
【0067】この論理ブロック内では、必ず、ハードデ
ィスク6上でのデータの連続性が保証される。1セクタ
当りのデータサイズを512バイトとすると、論理ブロ
ックのサイズは、1091×512=545.5[KB
yte]となる。この値を満たす2のべき乗は1024
[KByte]、すなわち1[Mbyte]となる。こ
のため、論理ブロックのサイズは1MByteとなる。
論理ブロックのサイズは、ディスクの回転速度や1回転
当たりのセクタ数によって変化する。このため、場合に
よっては、論理ブロックのサイズが512KByteや
256KByteなどになる場合もある。
【0068】トラックが変化するときのヘッドスイッチ
の為の処理時間または隣のシリンダに移るためのシリン
ダ間シーク時間を加味して、論理ブロックのサイズを算
出してもよい。
【0069】[ファイル管理部1について]ファイル管
理部1は、ハードディスク6中の記憶領域を複数の論理
ブロックに分割し、各論理ブロックの使用・未使用状況
や、該当論理ブロックの交替処理の有無を表す領域管理
テーブルを記憶している。
【0070】図2を参照して、領域管理テーブルについ
て説明する。使用フラグは論理ブロックへのデータの格
納の有無を示している。使用フラグの値が1の論理ブロ
ックにはデータが格納されており、使用フラグの値が0
の論理ブロックにはデータが格納されていない。ここで
は、論理ブロック番号0、1および3の論理ブロックに
データが格納されている。なお、以下の説明では、論理
ブロック番号nの論理ブロックを論理ブロックnと表現
することにする。
【0071】論理ブロックの相対的な並びは、前ブロッ
ク相対アドレスおよび次ブロック相対アドレスで表わさ
れる。たとえば、論理ブロック0は、前ブロック相対ア
ドレス値が0であるため、この論理ブロックが開始位置
であることを示す。論理ブロック1は、前ブロック相対
アドレス値が−1であるため、この論理ブロックの前に
は、論理ブロック0が存在することを示している。ま
た、論理ブロック1の次ブロック相対アドレス値が2で
あることから、この論理ブロックの後ろには、論理ブロ
ック3が存在する事がわかる。論理ブロック3の次ブロ
ック相対アドレス値は0であることから、このブロック
が終了位置であることがわかる。
【0072】論理ブロック2、4、5、6および10の
使用フラグの値は0である。このため、これらの論理ブ
ロックは、ファイルのデータが記録されていない未使用
領域である事がわかる。
【0073】交替フラグは、論理ブロックに欠陥セクタ
が含まれており、交替処理されたか否かを示している。
交替フラグの値が1の論理ブロックは他の論理ブロック
と交替されていることを示し、交替フラグの値が0の論
理ブロックは交替処理されていないことを示している。
ここでは、論理ブロック5が論理ブロック10と交替さ
れていることを示している。
【0074】未使用領域として、論理ブロック2から構
成されるものと、論理ブロック4、5、6および10か
ら構成されるもの2つがある事が分かる。
【0075】ファイル管理部1は、領域管理テーブルの
他に、ファイル管理装置10で作成されたファイルで使
用される論理ブロックの並びを管理するファイル管理テ
ーブルを記憶している。ファイル管理テーブルは、ファ
イルごとに存在する。
【0076】図3を参照して、ファイル管理テーブル
は、1つのファイル中でどのように論理ブロックが構成
されているかを、一連の論理ブロックの列を単位として
表す。累積論理ブロック数は、それまでに出現した論理
ブロック数であり、開始論理ブロックおよび終了論理ブ
ロックで、一連の論理ブロックの列の開始および終了位
置が示される。ブロック数は、一連の論理ブロックの列
に含まれる論理ブロック数を表す。このファイルは、3
つの未使用領域により構成されており、1つ目の未使用
領域は、論理ブロック0〜2の3つの論理ブロックによ
り構成されている。2つ目の未使用領域は、論理ブロッ
ク6〜10の5つの論理ブロックにより構成されてい
る。3つ目の未使用領域は、論理ブロック13〜15の
3つの論理ブロックにより構成されている。ここではフ
ァイルに含まれる論理ブロックの構成のみを示したが、
ファイル管理テーブルには、ファイル管理装置10が現
在どこまで記録したかまたは読出したかを表すポインタ
などのファイルシステムで使用される項目も含まれる。
【0077】[記録媒体制御部2について]記録媒体制
御部2は、ファイル管理部1を通じてアプリケーション
プログラムから指示される書込要求または読出要求に従
い、データの書込または読出を論理ブロック単位または
論理ブロックよりも小さい単位であるサブブロック単位
で行なう。
【0078】上述のように、論理ブロックを単位にして
ハードディスク6にアクセスをすることにより、複数の
ファイルをアクセスする場合であっても、ハードディス
ク6のパフォーマンスは保証される。
【0079】図4を参照して、論理ブロックを単位とし
て、1つのファイルまたは複数のファイルをアクセスす
る例について説明する。図4(c)を参照して、ハード
ディスク6上には、ファイルAおよびファイルBが論理
ブロックを単位として、不連続に配置されているものと
する。この内、ファイルAのみを上書きして記録する場
合においては、図4(a)のように、論理ブロック間が
不連続であったとしても、その間に発生するシークと回
転待ちとのオーバーヘッドが加味されて論理ブロックの
サイズが決定されている。このため、データの書込を遅
延させることなく行なうことができる。図4(b)のよ
うに、ファイルAを記録しながら再生するといった追っ
かけ再生を行なうと同時に、ファイルBに記録を行なう
ような場合においても、その間に発生するシークと回転
待ちとのオーバーヘッドが加味されて論理ブロックのサ
イズが決定されている。このため、ディスクアクセスに
遅延が生じることはない。
【0080】しかし、必ずしも論理ブロックを単位にア
クセスされるとは限らない。たとえば、ハードディスク
6上のファイルに記録されている映像データからMPE
G方式により符号化されたIフレームのみを抽出して早
送り再生をしたい場合等である。たとえば、論理ブロッ
クのサイズが1MByte、映像データが24Mbps
で、0.5秒毎に大きさが400KByteのIフレー
ムが存在する場合を考える。図5(a)を参照して、こ
のIフレームのデータが論理ブロックの境界をまたいで
2つの論理ブロックに記録されている場合には、2MB
yteのデータを読出す必要がある。このため、1秒間
当り、最悪4MByteのデータをハードディスク6か
ら読出さなければならず、要求されるデータ量に比べ、
読出すデータ量が大きくなる。
【0081】従って、図5(b)を参照して、本実施の
形態では、論理ブロックをいくつかのサブブロックに分
割し、ハードディスク6に対して要求されるデータ量が
所定量以下の場合においては、サブブロック単位でアク
セスを行なう。サブブロック単位でデータを読出すこと
によって、余分な読出量が低減される。論理ブロックを
1MByte、サブブロックを256Kとした場合に
は、2枚のIフレームを読出すには、最悪1.5MBy
teのデータを読出すだけで良い。サブブロックを12
8Kとした場合は、1秒間に4枚のIフレームデータを
読出したとしても、最悪2MByteのデータを読出す
だけでよい。
【0082】図6を参照して、ファイル管理部1および
記録媒体制御部2の実行する処理について説明する。
【0083】ファイル管理部1は、アプリケーションプ
ログラムからデータの書込または読出の要求を受信した
場合、ハードディスク6へのアクセス単位が論理ブロッ
ク単位であるかサブブロック単位であるかを判定する
(S201)。論理ブロック単位である場合には(S2
01でfalse)、ファイル管理部1は、記録媒体制
御部2に対して、論理ブロック単位で、ハードディスク
6へアクセスするように要求する(S202)。サブブ
ロック単位である場合には(S201でtrue)、フ
ァイル管理部1は、記録媒体制御部2に対して、サブブ
ロックを単位で、ハードディスク6へアクセスするよう
に要求する(S203)。
【0084】記録媒体制御部2は、ファイル管理部1か
らの要求に従い、論理ブロック単位またはサブブロック
単位でハードディスク6へアクセスする。
【0085】S201の判定処理について、具体例を示
し説明する。ここでは、ハードディスク6の容量を15
Gbyteとし、論理ブロック長を1MByte、サブ
ブロック長を128KByteとする。
【0086】また、ハードディスク6に対して、常に論
理ブロック長以下のサイズのデータの書込要求または読
出要求が行なわれるものとする。
【0087】ファイルの先頭から3MByteの位置か
ら1MByteのデータの書込要求があったとする。フ
ァイルは、1MByteの論理ブロック単位に区切られ
ている。このため、データの書込位置とデータのサイズ
との下位17ビットが0か否かをチェックすることによ
って、そのデータ転送が論理ブロック単位のものか否か
をチェックすることができる。この例では、双方とも、
下位17ビットが0であるので、論理ブロック単位のア
クセスである。このため、論理ブロック単位でハードデ
ィスク6へのアクセスが行なわれる。
【0088】ファイルの先頭から2.5MByteの位
置から200KByteのデータの書込要求があったと
する。書込位置2.5MByteの下位17ビットは0
であるが、データサイズ200KByteの下位17ビ
ットは0x12000である。従って、この場合には、
サブブロック単位で記録媒体にアクセスすることにな
る。
【0089】上述の例では、アプリケーションプログラ
ムから書込要求または読出要求されるデータ長を論理ブ
ロック長以下としたが、論理ブロック長以上のアクセス
要求があった場合は、そのアクセス要求を1MByte
単位のアクセス要求に分割すればよい。たとえば、先頭
から2.5MByteの位置から1.7MByteのデ
ータのアクセス要求があった場合には、ファイル管理部
1は前処理として、2.5MByteの位置から0.5
MByteのアクセス要求、3.0MByteの位置か
ら1MByteのアクセス要求、および4MByteの
位置から0.2MByteのアクセス要求の3つのアク
セス要求を作成し、各々のアクセス要求について、図6
に示した処理を行なう。
【0090】[未使用領域管理部3について]ファイル
管理装置10では、論理ブロックを単位としてファイル
管理や空き領域管理を行なった場合には、管理テーブル
のサイズは大きくなってしまう。また、ファイル管理装
置10では、常に複数のファイルを扱うわけではない。
このため、各々のファイルのデータをできる限り不連続
が生じないように格納するのがよい。
【0091】そこで、未使用領域管理部3は、未使用の
論理ブロックのハードディスク6上での連続領域を管理
する。
【0092】図7を参照して、未使用領域管理部3の管
理形態の概略を説明する。ハードディスク6内の論理ブ
ロックとして、論理ブロック0〜11が存在し、論理ブ
ロック0、1、2、5、6、7、8、10および11は
どのファイルにも属さない未割当の状態であるとする。
未使用領域管理部3は、この未割当の論理ブロックのう
ちハードディスク6上で連続するものを一括して管理す
る。論理ブロック0〜2、5〜8および10〜11はそ
れぞれ連続し、未使用領域管理部3は、連続する論理ブ
ロックを、先頭の論理ブロックの番号と連続するブロッ
ク数とで管理する。その他、未使用領域管理部3は、連
続する論理ブロックを先頭および最後の論理ブロックの
番号で管理したり、先頭および最後の論理ブロックの番
号と連続ブロック数とで管理するようにしてもよい。
【0093】本明細書中では、未割当の論理ブロックを
「未使用領域」とよび、ハードディスク6上で連続する
一連の論理ブロックを「フリーブロック群」と呼ぶ。ま
た、未使用領域を管理するテーブルを「未使用領域管理
テーブル」という。
【0094】なお、ハードディスク6は3つのゾーンに
区切られ、各ゾーンごとに未使用領域が管理される。ゾ
ーンとは、ハードディスク6上で同心円により区切られ
た領域をいう。
【0095】ハードディスク6には、1回転当たりのセ
クタ数が場所によって異なるものがある。このような場
合では、ハードディスク6の内周側では、セクタ数が少
なく、外周側ではセクタ数が多くなる。なお、セクタ数
は、各ゾーンにより異なる。ハードディスク6によって
は、内側のゾーンを使用すると、1回転当たりのセクタ
数が少なくなる。このため、要求されるパフォーマンス
を達成するためには、論理ブロック当りの記憶可能なデ
ータサイズを大きくする必要がある。または、要求され
るパフォーマンスが達成できない場合もある。内側のゾ
ーンの1回転当たりのセクタ数が200セクタ、ディス
クの回転速度が11.1msec、シーク時間が17.
8msec、論理ブロックに含まれるセクタ数をnと
し、1セクタのサイズを512byteとすると、次式
(3)が成り立つ。
【0096】 512×n/(0.0111+0.0178+0.0111×n/200) >9×1024×1024[Bytes/sec] …(3) 式(3)より、n≦−23185となり、要求されるパ
フォーマンスが出ないことがわかる。また、内側のゾー
ンの1回転当たりのセクタ数が240セクタであった場
合は、n≧3611となり、論理ブロックのサイズが2
MByte必要となる。
【0097】従って、内周のゾーンを使用することによ
って、論理ブロックのサイズが大きくなってしまう場
合、または、要求されるパフォーマンスに達しない場合
は、そのゾーンに該当する論理ブロックをデータの記録
または再生に用いないようにすることが必要である。
【0098】図8を参照して、未使用領域管理部3は、
ハードディスク6の外周側に位置するゾーンに属する未
使用領域を管理する外周未使用領域管理テーブル(図8
(A))と、ハードディスク6の内周側に位置するゾー
ンに属する未使用領域を管理する内周未使用領域管理テ
ーブル(図8(C))と、それ以外のゾーンに属する未
使用領域を管理する内部未使用領域管理テーブル(図8
(B))とを記憶している。
【0099】未使用領域は、3つの未使用領域管理テー
ブルと、上述の領域管理テーブル(図8(D)とで管理
される。
【0100】ここでは、ハードディスク6の容量が15
Gbyteであり、そのゾーンが1Gbyte毎に区切
られているものとし、最内周に位置するゾーンは、論理
ブロックアドレスとして0x3800〜0x3BFFが
付された、容量1Gbyteの領域であり、最外周に位
置するゾーンは、論理ブロックアドレスとして0x00
00〜0x03FFが付された、容量1Gbyteの領
域であるものとする。
【0101】図8(A)および図8(C)の外周未使用
領域管理テーブルおよび内周未使用領域管理テーブル
は、ともに1Gbyteの領域を2つに分割した512
MByte単位の2つのフリーブロック群を管理してい
る。
【0102】図8の例は、15Gbyteのハードディ
スクを、先頭から0x200個のブロック毎に、1つの
連続したフリーブロック群として管理している例であ
る。たとえば、外周未使用領域管理テーブル(図8
(A))には、先頭の論理ブロックのアドレスが0x0
000の、ブロック数が0x200のフリーブロック群
が登録されている。このフリーブロック群に含まれる論
理ブロックの構成は、図8(D)の領域管理テーブルに
示される。このフリーブロック群の先頭(論理ブロック
アドレス0x0000)の論理ブロックの前ブロック相
対アドレスには「0」が登録され、そのブロックよりも
前のブロックが存在しない事を示している。その論理ブ
ロックの次ブロック相対アドレスには「1」が登録さ
れ、論理ブロックアドレス0x0001の論理ブロック
が次に並んだ論理ブロックである事を示す。
【0103】同様に、論理ブロック番号アドレスが0x
0001の論理ブロックの前ブロック相対アドレスには
「−1」が登録され、アドレス0x0000の論理ブロ
ックがアドレス0x0001の論理ブロックの1つ前に
位置する事を示している。また、アドレス0x0001
の論理ブロックの次ブロック相対アドレスには「1」が
登録され、アドレス0x0002の論理ブロックがアド
レス0x0001の論理ブロックの次に位置する事を示
している。
【0104】このように、ディスクを分けて管理するこ
とにより、映像や音声が含まれるデータのように、内周
のゾーンを使用すると目的のパフォーマンスが得られな
いものであっても、通常の未使用管理領域内に記憶する
事により、目的のパフォーマンスを得ることができる。
【0105】一方、ファイル管理装置10として、ハー
ドディスク6のパフォーマンスを保証したとしても、フ
ァイル管理装置10を使用するアプリケーションプログ
ラムが記録再生要求を適時に行なわなければ、記録すべ
きデータがアプリケーションプログラム上のバッファに
たまってしまう。この要因として、たとえば、アプリケ
ーションプログラムの処理負荷が一時的に高くなる場合
等が考えられる。このような場合は、バッファに溜まっ
たデータをできる限り速くハードディスク6に記憶する
ことが必要である。このようなときには、外周のゾーン
にデータを記憶するのが有効である。
【0106】なぜならば、外周ゾーンにおいては、セク
タ数が多いため、ハードディスク6のパフォーマンスは
高い。従って、ファイル管理装置10を使用しているア
プリケーションプログラムの処理負荷が一時的に高くな
り、バッファにデータが溜まってしまった場合などにお
いて有効である。
【0107】図8では、複数のゾーンのうち、最外周の
ゾーンのみおよび最内周のゾーンのみをそれぞれ外周未
使用領域管理テーブルおよび内周未使用領域管理テーブ
ルに登録するようにしたが、複数の外周ゾーンや複数の
内周ゾーンを外周未使用領域管理テーブルまたは内周未
使用領域管理テーブルで管理するようにしてもよい。
【0108】図9を参照して、アプリケーションプログ
ラムからファイルの書込要求を受けた際に、ファイル管
理部1が外部からの指示に従って、フリーブロック群を
割当てる処理について説明する。
【0109】ファイル管理部1は、アプリケーションプ
ログラムからのファイルへの書込要求に対して、ファイ
ルを書込むための領域を追加する必要があるか否かを判
定する(S501)。
【0110】ファイル領域を追加する必要があると判定
された場合には(S501でtrue)、外周ゾーンへ
の書込が要求されているか否かを判定する(S50
2)。外周ゾーンへの書込が要求された場合には(S5
02でtrue)、外周未使用領域管理テーブルの中か
ら論理ブロックがファイルへ割当てられる(S50
3)。
【0111】それ以外の場合には(S502でfals
e)、内周未使用領域管理テーブルの中から論理ブロッ
クがファイルへ割当てられる(S504)。
【0112】ファイル領域を追加する必要がない場合に
は(S501でfalse)、処理を終了する。
【0113】次に、領域割当処理(S503およびS5
04)について説明する。本実施の形態では、ファイル
作成時に、ファイルサイズが指定されたかどうか、ま
た、該当ファイルへの領域の割当が初回かどうかによっ
て、割当てる領域を変化させる。
【0114】ファイルシステムでは、未使用領域をファ
イルに割当てる処理と、ファイルの記録領域として割当
てられたにもかかわらず、結果として記録されなかった
領域や、ファイル削除された領域を未使用領域として回
収する処理とが必要である。
【0115】この回収作業により、未使用領域の断片化
が発生する。図10を参照して、未使用領域が断片化す
る例について説明する。
【0116】図10(a)のようにファイルAに4つの
論理ブロックが割当てられている場合に、ファイルAの
4番目の論理ブロックが不要であるとして未使用領域と
なった場合には、図10(b)に示すように、本来連続
しているべき6番目の論理ブロックと7番目の論理ブッ
クとが断片化している。
【0117】図10(c)を参照して、さらに、ファイ
ルAを構成するすべての論理ブロックを削除した場合に
は、0〜4番目までの論理ブロックは1つの未使用領域
となるべきであるのに、0〜2番目の論理ブロックと、
3〜4番目の論理ブロックとに断片化されている。
【0118】これを回避するために、断片化を低減する
ような領域割当方法と、断片化された領域を接合する領
域回収方法とが必要となる。
【0119】領域の割当方法では、ファイルに対してど
のような領域割当が発生するかを考慮する必要がある。
【0120】デジタル放送データや、アナログ放送をエ
ンコードしてデジタルデータを記録再生する装置におい
ては、あらかじめサイズが固定されているファイルと、
あらかじめサイズが指定されているが、記録領域が不足
した場合には領域を追加するファイルと、サイズが指定
されないファイルとが存在する。
【0121】第1のファイルは、タイムシフト視聴をす
る際のように、ファイルをリングバッファのように用い
て記録再生を行なう場合に用いられる。第2のファイル
は、録画予約のように、あらかじめ録画開始時刻および
録画終了時刻が設定されるような場合であって、かつ録
画時間を延長したいような場合に用いられる。第3のフ
ァイルは、記録開始時刻および録画終了時刻が定まって
いないような場合に用いられる。これらのファイルに対
し、未使用領域を割当てたり、不要となった領域を回収
する場合において、領域をなるべく断片化しないことが
必要である。
【0122】第3のファイルについては、必要となる領
域がどのくらいあるかを判定することは難しく、始めに
多くの領域を割当てたにもかかわらず、すぐに記録が終
了するような場合には、記録されない領域が多く残って
しまう。また、小さな領域を割当てると、記録時間が長
い場合において、未使用領域をファイルに割当てる処理
のオーバーヘッドが大きくなってしまう。
【0123】このために、本発明では、大きさの指定さ
れていないファイルについては、始めは、あらかじめ設
定された値の領域を割当て、さらに、記録している間に
再び領域を必要とする場合は、残りのフリーブロック群
のうち最大長のフリーブロック群を割当てるといった二
段階の領域割当処理を行なう。
【0124】第1および第2のファイルについては、あ
らかじめ指定された大きさの未使用領域を確保すれば良
いが、指定サイズを満たすフリーブロック群が存在する
とは限らない。いくつかのフリーブロック群を組み合わ
せたとしても、その合計サイズが指定サイズと合致する
ことは希である。従って、フリーブロック群の大きさが
指定サイズを超えた場合には、フリーブロック群を分割
して割当てることになり、領域の断片化が発生する。こ
のとき、サイズの大きいフリーブロック群の断片化はで
きる限り避けたい。
【0125】そのため、本発明では、あらかじめ大きさ
が指定されたファイルについては、連続領域の長いフリ
ーブロック群が優先的に割当てられる。これにより、連
続領域の長いフリーブロック群ほど、ファイルの末尾か
ら遠ざかる形で割当てられる。よって、領域の断片化を
避けることができる。図11がこのような割当処理を行
なった際のフリーブロック群の並び方を示している。こ
こでは、未使用領域の合計サイズが、指定サイズを超え
ているため、割当てられる領域の中で最小であるフリー
ブロック群3が断片化される。
【0126】また、断片化されるフリーブロック群の大
きさをさらに抑えることもできる。図12を参照して、
未割当のフリーブロック群のうちで、最後に割当てられ
たフリーブロック群と交換しても、合計のサイズが指定
されたサイズを満たしている場合、その領域を交換する
ことによって、断片化されるフリーブロックの大きさを
低減することができる。図12では、未使用領域1〜6
のうち、未使用領域1〜3を割当てた場合と、未使用領
域1,2、5を割当てた場合とを示している。どちらの
場合でも領域は断片化されてしまうが、より小さい未使
用領域5が断片化されることで、より大きな未使用領域
3の断片化を防ぐことができる。
【0127】断片化されるフリーブロック群の大きさを
抑える方法としては、未割当のフリーブロック群のうち
で、割当可能なフリーブロック群を検索し、条件を満た
すフリーブロック群のうち最小長のフリーブロック群を
割当てる方法と、最大長のフリーブロック群とを割当て
る方法がある。
【0128】前者の方法では、連続領域の短いフリーブ
ロック群ほど断片化されやすく、連続領域が長いフリー
ブロック群ほど、断片化を避けることが可能である。後
者の方法では、条件を満たすフリーブロック群を検索す
る作業を低減しながらも、連続領域が長いフリーブロッ
ク群の断片化を低減することができる。
【0129】第2のファイルについては、あらかじめ指
定された領域を確保したにもかかわらず、たとえば、記
録したい番組が時間延長された等の理由により、さらに
領域を追加したい場合が生ずる。
【0130】そのため、本発明では、第2のファイルに
ついては、あらかじめ指定された値の領域を割当て、領
域を追加する際には、残りのフリーブロック群のうち最
大長のフリーブロック群を割当てるといった二段階の領
域割当処理を行なうことによって対応する。
【0131】作成時に、ファイルサイズが指定されてい
るファイルについては、指定されたファイルサイズに達
するまで、最大長のフリーブロック群を順次確保する。
この時、最後に割当てられたフリーブロック群と、割当
てられていない残りのフリーブロック群とを交換しても
指定されたファイルサイズが確保できる場合には、2つ
のフリーブロック群を交換する。予めファイルサイズが
指定されているファイルであっても、後に追加で領域を
確保する必要がある場合がある。そのような場合には、
予め指定されたファイルサイズを確保しておき、さらに
領域の確保の必要が生じた場合には、最大長のフリーブ
ロック群を割当てるようにする。
【0132】図13を参照して、ファイル管理部1は以
下のように領域割当を行なう。ファイルへの領域割当要
求をアプリケーションプログラムより受信した場合、フ
ァイル管理部1は、その要求が、サイズ指定されたファ
イルに対する最初の割当要求かどうかを調べる(S12
01)。サイズ指定されたファイルに対する最初の割当
要求であった場合には、ファイル管理部1は、指定サイ
ズが、最大長のフリーブロック群のサイズよりも大きい
かどうかを判定する(S1202)。指定サイズの方が
小さい場合は(S1202でfalse)、ファイル管
理部1は、最大長のフリーブロック群を指定されたファ
イルを割当てる領域として確保する(S1207)。
【0133】指定サイズの方が大きい場合は(S120
2でtrue)、指定サイズの領域が確保されるまで、
最大長のフリーブロック群を順次ファイルに割当てる
(S1203、S1204)。指定サイズの領域が確保
された場合には(S1204でfalse)、最後に割
当てた領域と未使用領域として残っている最大のフリー
ブロック群とを交換しても指定サイズを満たすか否かを
判定する(S1205)。2つのフリーブロック群を交
換可能な場合には(S1205でtrue)、それらの
交換を行なう(S1206)。
【0134】サイズ指定されていないファイルまたは、
サイズ指定されたファイルに対する2回目以降の割当要
求をアプリケーションプログラムより受信した場合(S
1201でfalse)、ファイル管理部1は、サイズ
指定されていない最初の割当要求か否かを調べる(S1
208)。サイズ指定されていない最初の割当要求の場
合には(S1208でtrue)、ファイル管理部1
は、所定の個数(N個)以内の論理ブロックを含む連続
領域を未使用領域の中から割当てる。それ以外の場合に
は(S1208でfalse)、ファイル管理部1は、
未使用領域として最大長のフリーブロック群を割当てる
(S1210)。
【0135】S1205およびS1206では、最後に
割当てたフリーブロック群が、最大長のフリーブロック
群と交換することができれば交換している。しかし、最
大長のフリーブロック群には限られず、それ以外のフリ
ーブロック群であっても交換する事ができる場合には、
交換するようにしてもよい。
【0136】また、S1207では、同様に、最大長の
フリーブロック群でなくとも、指定サイズよりも大きな
フリーブロック群の中で最小のものを割当てるようにし
てもよい。
【0137】[未使用領域接合部4について]未使用領
域接合部4は、上述した未使用領域を回収し、断片化が
起こらないように領域を接合する処理を行なう。
【0138】未使用領域接合部4は、ファイルの記録領
域として割当てられたにもかかわらず、結果として記録
されなかった領域を回収する際に、その前後に、フリー
ブロック群として管理されている領域が存在する可能性
がある。このフリーブロック群と回収される領域とを接
合して、新たなフリーブロック群とする。
【0139】また、未使用領域接合部4は、ファイル削
除などの理由により不要になった領域の各々について
も、その前後に位置するフリーブロック群と接合して、
新たなフリーブロック群を作成する。
【0140】また、2つの断片化されたフリーブロック
群のハードディスク6上での距離が非常に近い場合に
は、それらのフリーブロック群を接合して、新たなフリ
ーブロック群として管理することにより、フリーブロッ
ク群の間で発生するシーク時間を抑える事ができる。
【0141】フリーブロック群間の距離としては、2つ
のフリーブロック群間の論理ブロック数やシリンダ数を
用いることが考えられる。論理ブロック数で距離を表す
場合には、2つのフリーブロック群のハードディスク6
上でのおおよそのシリンダ数を判定し、フリーブロック
群の間で発生するシーク時間を概算することができる。
また、論理ブロックは、ファイル管理装置10で用いら
れる単位であるために、ファイル管理装置10が管理し
やすいというメリットがある。シリンダ数で距離を表し
た場合には、フリーブロック群の間で発生するシーク時
間を算出する事ができる。
【0142】上述のように、距離の近いフリーブロック
群同士を接合することは有効な手法であるが、接合の抑
制を行なわなければ、ハードディスク6上のすべての領
域が未使用領域となった場合には、1つの大きなフリー
ブロック群として構成されてしまい問題である。
【0143】そのために、未使用領域接合部4は、フリ
ーブロック群の接合を抑制することによって、この問題
を解決する。フリーブロック群の接合を抑制する方法と
しては、最大長を設定する方法と、境界を設定する方法
が考えられる。
【0144】最大長による方法では、2つのフリーブロ
ック群を接合した場合に、あらかじめ設定された最大長
よりも長くなるか判定し、長い場合は接合を行なわない
ようにする。
【0145】境界を設定する方法では、2つのフリーブ
ロック群が、ハードディスク6上で境界をまたいで位置
するかを判定し、境界をまたいで位置する場合には接合
を行なわないようにする。
【0146】図14を参照して、未使用領域の接合処理
について説明する。未使用領域接合部4は、これから未
使用領域として登録する領域に対して、ハードディスク
6上で前に位置するフリーブロック群を獲得する(S6
01)。未使用領域接合部4は、登録対象領域と獲得し
たフリーブロック群との距離が一定値以内かどうかを判
定する(S602)。距離の判定方法については後述す
る。
【0147】登録対象領域とフリーブロック群との距離
が一定値以内の場合には(S602でtrue)、2つ
の領域を実際に接合するか否かを調べる(S603)。
S603の処理については後述する。
【0148】接合処理を行なうと判断された場合には
(S603でtrue)、2つの領域の接合処理を行な
う(S604)。
【0149】未使用領域接合部4は、接合された領域に
対して、ハードディスク6上で後に位置するフリーブロ
ック群を獲得し(S605)、同様に2つの領域の距離
判定処理(S606)と、接合判定処理(S607)と
を行ない、接合をする必要があると判断された場合には
(S606でtrue、S607でtrue)、2つの
領域の接合処理を行なう(S608)。
【0150】図15を参照して、図14のS602およ
びS606の距離判定処理について説明する。
【0151】ここでは、これから未使用領域となる領域
と、その前に位置するものとして獲得されたフリーブロ
ック群を領域A、Bとして説明する。
【0152】未使用領域接合部4は、領域Aの開始論理
ブロック番号(As)および終了論理ブロック番号(A
e)、ならびに領域Bの論理ブロック番号(Bs)およ
び終了論理ブロック番号(Be)を獲得する(S70
1)。未使用領域接合部4は、一方の領域が、他方の領
域に包含されるか否かを判定する(S702)。
【0153】たとえば、図16(a)を参照して、未使
用領域となるべき領域が論理ブロック3および4からな
り、未使用領域となるべき領域の前方に位置するフリー
ブロック群が論理ブロック0〜2および5〜6より構成
されているものとする。このような場合には、未使用領
域となるべき領域がフリーブロック群に包含されてい
る。
【0154】また、図16(b)を参照して、未使用領
域となるべき領域が論理ブロック0〜2および5〜6よ
り構成され、未使用領域となるべき領域の前方に位置す
るフリーブロック群が論理ブロック3および4より構成
されているものとする。このような場合には、フリーブ
ロック群が未使用領域となるべき領域に包含されてい
る。
【0155】一方の領域が他方の領域に包含されている
場合には(S702でtrue)、2つの領域を1つの
フリーブロック群として管理するため、trueを返す
(S704)。
【0156】それ以外の場合には(S702でfals
e)、2つの領域間の距離があらかじめ設定された値以
下であるかを判定する(S703)。2つの領域間の距
離が設定値以下の場合は(S703でtrue)、tr
ueを返す(S704)。2つの領域間の距離が設定値
より大きい場合には(S703でfalse)、fal
seを返す(S705)。
【0157】図17を参照して、図14のS602およ
びS606の距離判定処理においては以下に示すよう
に、2つの領域の属するシリンダが近い場合に接合する
ようにしてもよい。
【0158】未使用領域接合部4は、領域Aの開始論理
ブロック番号(As)および終了論理ブロック番号(A
e)、ならびに領域Bの開始論理ブロック番号(Bs)
および終了論理ブロック番号(Be)を獲得する(S8
01)。
【0159】未使用領域接合部4は、一方の領域が、他
方の領域に包含されるか否かを判定する(S802)。
一方の領域が他方の領域に包含される場合には(S80
2でtrue)、trueを返す(S806)。
【0160】それ以外の場合には(S802でfals
e)、未使用領域接合部4は、領域Aの開始論理ブロッ
クが含まれるシリンダ番号Assおよび終了論理ブロッ
クが含まれるシリンダ番号Ase、ならびに領域Bの開
始論理ブロックが含まれるシリンダ番号Bssおよび終
了論理ブロックが含まれるシリンダ番号Bseを獲得す
る(S803)。未使用領域接合部4は、2つの領域間
の距離があらかじめ設定されたシリンダ数以下か否かを
判定し(S804)、設定値以下の場合にはtrue
(S806)を、設定値より大きい場合にはfalse
(S805)を返す。
【0161】図18を参照して、図14のS604およ
びS607の接合判定処理について説明する。ここで
は、複数のフリーブロック群を接合する際に、あらかじ
め設定された値を越えないように接合を行なう。接合し
た際のフリーブロック群の長さは、各々のフリーブロッ
ク群に含まれる論理ブロック数を合計する事により求め
られる。
【0162】未使用領域接合部4は、2つの領域の論理
ブロック数を合計し(S901)、合計値があらかじめ
設定された値以下であるかを判定する(S902)。未
使用領域接合部4は、設定値以下の場合は(S902で
true)、trueを(S903)、設定値よりも大
きい場合は(S902でfalse)、falseを返
す(S904)。
【0163】図19を参照して、図14のS604およ
びS607の接合判定処理では以下に示すように、ハー
ドディスク6中で予め設定された境界を横切らない場合
にのみ、接合を行なうように判定を行なってもよい。
【0164】たとえば、ハードディスク6中で境界を5
12MByte毎に設けた場合は、2つの領域の開始論
理ブロックアドレスの10ビット目以上が一致すれば、
2つの領域は同一の境界に存在すると判定できる。
【0165】従って、未使用領域接合部4は、入力され
た2つの領域の開始ブロックの上位nビットを比較し
(S1001)、一致するか否かを判定する(S100
2)。上位nビットが一致した場合は(S1002でt
rue)、trueを(S1003)、一致しない場合
は(S1002でfalse)、falseを返す(S
1004)。
【0166】ファイルをクローズする際に、記録されず
に残った論理ブロックは未使用領域として返却する必要
がある。この時、フリーブロック群の断片化を避けるた
めに、返却される領域の大きさが一定値以内の場合には
返却を行なわないようにする必要がある。
【0167】図20を参照して、ファイル管理部1は、
ファイルをクローズする際に、最後にデータの書込を行
なった論理ブロック番号(Wp)を獲得する(S110
1)。ファイル管理部1は、論理ブロックWpが、ファ
イルに最後に割当てられた領域内に存在するかを判定す
る(S1102)。論理ブロックWpが最後に割当てら
れた領域内に存在する場合(S11102でtru
e)、ファイル管理部1は、最後に割当てた領域のブロ
ック数lcと、最後に書込を行なった論理ブロックの該
当領域先頭からのブロック数Wpcとを獲得する(S1
103)。たとえば、最後に割当てられた領域が論理ブ
ロック番号8〜14の論理ブロックからなり、最後に書
込を行なった論理ブロックの番号が12である場合は、
ブロック数lcは7であり、論理ブロック先頭からのブ
ロック数Wpcは5である。
【0168】ファイル管理部1は、ブロック数lcとW
pcとの差が予め定められた値以下であるか否かを判断
する(S1104)。両者の差が設定値よりも大きい場
合には(S1104でfalse)、未使用領域接合部
4により最後に割当てた論理ブロック以降のブロックが
フリーブロック群として登録される(S1105)。S
1105の処理は、図14に示した未使用領域の接合処
理と同様である。このため、その詳細な説明はここでは
繰返さない。
【0169】[遅延交替処理部5について]遅延交替処
理部5は、ハードディスク6の論理ブロックへのデータ
書込時にエラーが発生した場合には、エラー発生箇所に
書込まれるべきデータをメモリに一時的に記憶し、その
論理ブロックが交替中であることを示すフラグを設定す
る。また、遅延交替処理部5は、ハードディスク6への
アクセスに時間的余裕がある場合に、エラー発生箇所の
含まれる論理ブロックを交替先の論理ブロックに書込む
とともに、エラー発生箇所のデータをメモリから読出
し、交替先の論理ブロックに書込む処理を行なう。本明
細書中では、このような処理を、遅延交替処理と呼ぶ。
【0170】交替処理では、ハードディスク6のパフォ
ーマンスを低下させないように、データアクセスを行な
う必要がある。このため、論理ブロック単位でデータア
クセスを行ない、交替処理を行なう必要がある。論理ブ
ロックごとデータを交替したとしても、論理ブロック間
のシーク時間と回転待ち時間とは加味されて論理ブロッ
クのサイズは決められている。このため、ハードディス
ク6のパフォーマンスは保証される。
【0171】ただし、交替処理では、エラーの発生した
論理ブロックおよび交替先となる論理ブロックの両者に
対して書込を行なわなければならない。このため、エラ
ーの発生直後に交替処理を行なうと一時的にハードディ
スク6に入出力できるデータ量が低下する。従って、ハ
ードディスク6のパフォーマンスに余裕がない場合は、
交替処理を行なうことはできない。
【0172】本実施の形態の遅延交替処理では、エラー
の直後に交替処理を行なうのではなく、ハードディスク
6のパフォーマンスに余裕がある時に、実際の交替処理
を行なう。パフォーマンスに余裕があるか否かの判断
は、取扱うデータの個数により計測される。たとえば、
3つのデータを同時に入出力可能なハードディスク6の
場合には、取扱うデータが2つであれば、ディスクのパ
フォーマンスに余裕がある事が分かる。また、ファイル
管理装置10用の時計を有し、単位時間あたりに取扱っ
たデータ量を計測し、ハードディスク6のパフォーマン
スに余裕があるときに交替処理を行なうようにしてもよ
い。
【0173】遅延交替処理では、交替先の論理ブロック
に再記録されるべきデータを保存するメモリが必要とな
る点である。再記録されるべきデータをすべてメモリ上
に保存すると、その容量は大きくなってしまう。このた
め、図21(a)を参照して、本実施の形態では、エラ
ーの発生した箇所のみをメモリに保存して、その他の部
分のデータは、エラーの発生した論理ブロックに記憶す
るようにする。メモリに保存する単位としては、エラー
の発生したセクタや、サブブロックなどが考えられる。
これにより、交替処理を遅延させた結果、再記録される
べきデータを保存するメモリ量を抑えることができる。
【0174】図21(b)を参照して、エラーの発生し
た箇所が論理ブロックの末端近くである場合には、エラ
ーの発生した箇所以降のデータをメモリに保存して、エ
ラー発生箇所よりも前に位置する部分のデータは、その
論理ブロックのデータを利用するようにしてもよい。
【0175】また、遅延交替処理では、交替すべき論理
ブロックのデータを読出す必要がある場合に、正しいデ
ータのすべてがハードディスク6上に存在しない場合が
ある。これは、追っかけ再生のように、記録しているデ
ータを記録しながら読出すような場合に発生する。この
ような場合には、エラーの発生した箇所のデータはメモ
リから読出し、その他の正しく記録されている部分のデ
ータは、エラーの発生した論理ブロックから読出す。よ
って、ハードディスク6にデータが存在しない場合の追
っかけ再生であっても、データが乱れて再生されるよう
なことはない。
【0176】さらに、遅延交替処理では、実際の交替処
理を行なう前に、停電等が起こった場合には、メモリに
保存したデータを紛失する可能性がある。このため、メ
モリだけでなく、他の不揮発性の記録媒体にエラーの発
生した箇所のデータを保存するようにする。このように
すれば、メモリに保存したデータを紛失した場合であっ
ても、データの回復が可能である。なお、不揮発性の記
録媒体としては、フラッシュメモリ等が挙げられる。
【0177】図22を参照して、遅延交替処理について
説明する。ここでは、エラー発生箇所をメモリに保存す
る際に、サブブロック単位で保存する。
【0178】遅延交替処理部5は、ハードディスク6へ
のデータの書込時にエラーが発生しているか否かを調べ
る(S1301)。書込エラーが発生した場合には(S
1301でtrue)、遅延交替処理部5は、エラーの
発生したセクタの属する論理ブロックおよびサブブロッ
クを求める(S1302)。論理ブロックのサイズが1
MByteの場合には、セクタの番号を20ビットシフ
トすることにより論理ブロックの番号を求めることがで
きる。また、サブブロックのサイズが128Kバイトの
場合には、セクタの番号を17ビットシフトし、下位3
ビットを抽出することにより、サブブロックの番号を求
めることができる。
【0179】遅延交替処理部5は、図2に示した領域管
理テーブルの該当する論理ブロックの交替フラグに交替
処理が遅延していることを示すデータを設定する(S1
303)。遅延交替処理部5は、書込エラーの発生した
サブブロックのデータをメモリに保存するとともに(S
1304)、同じデータを不揮発性の記録媒体に保存す
る(S1305)。
【0180】この時、メモリや不揮発性の記録媒体に
は、書込エラーの発生したサブブロックのデータ以外
に、そのデータが属する論理ブロックおよびサブブロッ
クの番号なども保存される。
【0181】データの書込エラーが発生していない場合
には(S1301でfalse)、交替処理が遅延され
ている論理ブロックが存在するか否かを調べる(S13
06)。交替処理が遅延されている論理ブロックが存在
する場合には(S1306でtrue)、遅延交替処理
部5は、交替処理を行なう余裕があるか否かを判定する
(S1307)。
【0182】交替処理を行なう余裕がある場合には(S
1307でtrue)、遅延交替処理部5は、未使用領
域の中から交替先となる論理ブロックを獲得する(S1
308)。遅延交替処理部5は、交替元となる論理ブロ
ックから、書込が成功した領域を読出し、エラーの発生
したサブブロックのデータは、保存したメモリ上から読
出し、交替先に記録すべきデータを作成する(S130
9)。遅延交替処理部5は、作成したデータを交替先の
論理ブロックに記録する(S1310)。その後、遅延
交替処理部5は、領域管理テーブル上の交替元となる論
理ブロックの交替フラグを交替済みであることを示す値
に変更し、交替先論理ブロックと交替元論理ブロックと
を置き換える(S1311)。
【0183】S1311の処理としては、交替元論理ブ
ロックの前後に位置する論理ブロックのポインタが交替
先論理ブロックを指すように変更したり、交替元論理ブ
ロックのポインタ領域を交替先の論理ブロックを指すよ
うに変更し、交替先の論理ブロックのポインタを交替元
の前後に位置する論理ブロックを指すように変更するこ
とが考えられる。
【0184】図23を参照して、この処理について説明
する。図23(a)は、エラーが検知される前の領域管
理テーブルの状態を示している。論理ブロック番号が0
から511までの領域の使用フラグは1であり、それら
の論理ブロックがファイルで使用されていることを表
す。また、交替フラグの値はすべて0であるため、交替
処理は行なわれていないことを示している。
【0185】この時、論理ブロック番号1の書込時にエ
ラーが発生したものとする。図23(b)を参照して、
1番の論理ブロックの交替フラグの値が2に設定され、
その論理ブロックが交替中であることが示される。
【0186】図23(c)を参照して、このブロックの
交替先の論理ブロックとして、4095番の論理ブロッ
クが選択された場合には、4095番の論理ブロックの
前ブロック相対アドレスおよび次ブロック相対アドレス
の値がそれぞれ0番および2番の論理ブロックを指し示
すように書換えられる。また、交替元の1番の論理ブロ
ックには、交替先の論理ブロックの番号4096が代入
される。さらに、1番の論理ブロックの交替フラグに
は、交替処理が終了したことを示す値1が設定される。
【0187】または、図23(d)を参照して、交替先
の論理ブロックの前ブロック相対アドレスおよび次ブロ
ック相対アドレスの値が、それぞれ0番および2番の論
理ブロックを指し示すように書換えられる。また、0番
の論理ブロックの次ブロック相対アドレスおよび2番の
論理ブロックの前ブロック相対アドレスが4095番の
ブロックを指し示すように変更される。また、1番の論
理ブロックの交替フラグには、交替処理が終了したこと
を示す値1が設定される。
【0188】図24を参照して、記録媒体制御部2は、
読出対象の論理ブロックが交替されていない状態である
場合には、エラーが発生した箇所のデータについては、
メモリに記憶された正常なデータを読出し、それ以外の
部分については、ハードディスク6から読出す処理を行
なう。
【0189】記録媒体制御部2は、読出対象の論理ブロ
ックが交替中であり、交替処理が終了していないか否か
を調べる(S1401)。交替処理が終了していなけれ
ば(S1401でtrue)、エラーの発生した箇所以
外のデータを読出対象の論理ブロックから読出し(S1
402)、メモリからエラーの発生した箇所の正常なデ
ータ読出す(S1403)。
【0190】交替処理が終了していれば(S1401で
false)、通常の読出処理を行なう(S140
4)。
【0191】ハードディスク6では、1つのコマンドで
転送可能なセクタ数は、256個までである。このた
め、1MByteの論理ブロックを転送するためには、
1MByteのデータを8等分し、それぞれのデータを
分割転送する必要がある。しかし、ハードディスク内部
では、キャッシュメモリを使用している。このため、複
数のデータに分割して転送したとしても、転送データの
ハードディスク6上でのセクタが連続している限りは、
転送コマンド間でのシーク時間および回転待ち時間は発
生しない。
【0192】従って、書込エラーが生じた場合には、2
56セクタ単位でデータをメモリに保存するようにすれ
ば、エラーが発生した箇所を読出すためのコマンドをハ
ードディスク6に転送する必要がなくなる。また、メモ
リへ保存するデータサイズの大きさと、上述したサブブ
ロックの大きさとを等しくすれば、ファイル管理装置1
0におけるデータの管理がしやすくなる。
【0193】なお、ハードディスク6以外にも、MO
(Magneto-Optical)、DVD−RAM(Digital Video
Disk-Random Access Memory)などの円盤状の記録媒体
を用いてもよい。
【0194】以上説明したように本発明の実施の形態に
係るファイル管理装置によると、未使用領域は、未使用
領域接合部4で接合され、未使用領域管理部3により管
理される。このため、1つのファイルの記録媒体上での
連続性をなるべく保つことができ、記録媒体のパフォー
マンスを保証することができる。特に、デジタル映像音
声データのように大容量で、かつ読出および書込時にリ
アルタイム性が要求される場合でも、記録媒体のパフォ
ーマンスを保証することができる。
【0195】また、データの書込に余裕がある場合に遅
延処理を実行させることができる。このため、リアルタ
イム性が要求されるファイルの読出または書込途中であ
っても、読出または書込の邪魔をすることなく遅延処理
を実行させることができる。
【0196】さらに、小サイズのデータについては、サ
ブブロック単位でのアクセスを行なうことにより、アク
セス効率を向上させることができる。
【0197】さらにまた、未使用領域のうち、記録媒体
上で連続した論理ブロックをフリーブロック群として、
まとめて管理することにより、ファイルへの領域割当
や、不要になった領域の接合処理などを効率良く行なう
ことができる。
【0198】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【0199】
【発明の効果】本発明によるとデジタル映像音声データ
のように大容量で、かつ読出および書込時にリアルタイ
ム性が要求されるデータを取扱う場合でも、記録媒体の
パフォーマンスを保証することができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態に係るファイル管理装置
のハードウェア構成を示すブロック図である。
【図2】 領域管理テーブルの一例を示す図である。
【図3】 ファイル管理テーブルの一例を示す図であ
る。
【図4】 論理ブロックを単位として、1つのファイル
または複数のファイルをアクセスする処理を説明するた
めの図である。
【図5】 サブブロック単位でデータをアクセスする処
理を説明するための図である。
【図6】 ファイル管理部および記録媒体制御部の実行
する処理のフローチャートである。
【図7】 未使用領域管理部の管理形態の概略を説明す
るための図である。
【図8】 未使用領域を管理するための未使用領域管理
テーブルおよび領域管理テーブルの一例を示す図であ
る。
【図9】 外部からの指示に従って、フリーブロックを
割当てる処理のフローチャートである。
【図10】 未使用領域の断片化の一例を説明するため
の図である。
【図11】 フリーブロック群の割当方を説明するため
の図である。
【図12】 フリーブロック群の割当方を説明するため
の図である。
【図13】 ファイル管理方法によるファイル領域割当
処理のフローチャートである。
【図14】 フリーブロック群の接合処理のフローチャ
ートである。
【図15】 フリーブロック群の距離を判定する処理の
フローチャートである。
【図16】 領域の包含関係を説明するための図であ
る。
【図17】 フリーブロック群の距離を判定する処理の
フローチャートである。
【図18】 接合判定処理のフローチャートである。
【図19】 接合判定処理のフローチャートである。
【図20】 未使用領域返却処理のフローチャートであ
る。
【図21】 遅延交替処理を説明するための図である。
【図22】 遅延交替処理のフローチャートである。
【図23】 交替先論理ブロックと交替元論理ブロック
とを交換する処理を説明するための図である。
【図24】 記録媒体制御部2の行なう処理のフローチ
ャートである。
【図25】 特開平11−96052号公報のファイル
管理装置による記録領域の分割方法を説明するための図
である。
【符号の説明】
1 ファイル管理部、2 記録媒体制御部、3 未使用
領域管理部、4 未使用領域接合部、5 遅延交替処理
部、6 ハードディスク、10 ファイル管理装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 葉山 剛 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 (72)発明者 白井 慎一郎 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 (72)発明者 大野 良治 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 (72)発明者 小田 守 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 Fターム(参考) 5B082 BA12 CA03 5C052 AA03 AB05 AC08 CC08 CC11 DD04

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】 各々、連続配置が保証され、かつ要求さ
    れるアクセス速度を上回ることが保証されている複数の
    論理ブロックに区切られた記録媒体と、 前記記録媒体に記録されたファイルを管理するファイル
    管理情報を管理するファイル管理部と、 前記ファイル管理部および前記記録媒体に接続され、前
    記ファイル管理情報に基づいて、前記記録媒体に対する
    データの書込および読出を行なう記録媒体制御部と、 前記ファイル管理部に接続され、前記記録媒体中の未使
    用の論理ブロックを前記記録媒体上で連続している領域
    毎に管理する未使用領域管理部と、 前記ファイル管理部および前記未使用領域管理部に接続
    され、新たに未使用領域が発生した際に、前記新たな未
    使用領域を他の未使用領域に接合する未使用領域接合部
    とを含む、ファイル管理装置。
  2. 【請求項2】 さらに、前記ファイル管理部および前記
    記録媒体制御部に接続され、前記記録媒体への書込エラ
    ーを検出した際に、エラーが発生した箇所に記録される
    べきデータをメモリに保存し、前記メモリへの保存に遅
    延させて、前記メモリ上のデータと、書込エラーが発生
    した論理ブロックに含まれるエラーの発生した箇所以外
    のデータとを他の論理ブロックへ書込み、論理ブロック
    を代替する遅延交替処理部を含む、請求項1に記載のフ
    ァイル管理装置。
  3. 【請求項3】 前記論理ブロックは、所定個数のサブブ
    ロックを含み、 前記記録媒体制御部は、前記記録媒体に対するデータの
    書込および読出が所定量以下の場合には、サブブロック
    単位でデータの書込および読出を行なう、請求項1また
    は2に記載のファイル管理装置。
  4. 【請求項4】 前記未使用領域管理部は、未使用の論理
    ブロックを所定数の連続領域ごとに管理する、請求項1
    または2に記載のファイル管理装置。
  5. 【請求項5】 前記記録媒体は、所定数の同心円により
    区切られた複数のゾーンを含み、 前記未使用領域管理部は、所定の同心円よりも外側のゾ
    ーンに属する論理ブロックのみを未使用領域として登録
    する、請求項1または2に記載のファイル管理装置。
  6. 【請求項6】 前記記録媒体は、所定数の同心円により
    区切られた複数のゾーンを含み、 前記未使用領域管理部は、所定の同心円よりも内側のゾ
    ーンに属する未使用の論理ブロックと、それ以外のゾー
    ンに属する未使用の論理ブロックとを区別して管理す
    る、請求項1または2に記載のファイル管理装置。
  7. 【請求項7】 ファイル管理部は、ファイル作成時に、
    作成されるファイルのサイズが不定の場合には、前記フ
    ァイルにあらかじめ定められた大きさの連続領域を割当
    てる、請求項1または2に記載のファイル管理装置。
  8. 【請求項8】 ファイル管理部は、サイズが不定のファ
    イルに対して、さらに領域を割当てる際には、未使用領
    域の内で最大長の連続領域を割当てる、請求項7に記載
    のファイル管理装置。
  9. 【請求項9】 ファイル管理部は、 ファイルサイズが予め定められているファイルの作成時
    に、前記ファイルサイズに到達するまで、連続する未使
    用領域をサイズの大きいものから順に前記ファイルに割
    当てるための手段と、 前記ファイルに割当てられていない未使用領域のうち、
    最後に前記ファイルに割当てられた未使用領域と、当該
    未使用領域と交換可能な未使用領域とを交換するための
    交換手段とを含む、請求項1または2に記載のファイル
    管理装置。
  10. 【請求項10】 前記交換手段は、前記ファイルに割当
    てられていない最大の未使用領域と、最後に前記ファイ
    ルに割当てられた未使用領域とを交換しても、前記ファ
    イルサイズを満たす場合に、2つの未使用領域を交換す
    るための手段を含む、請求項9に記載のファイル管理装
    置。
  11. 【請求項11】 前記ファイル管理部は、さらに、ファ
    イルサイズが予め定められているファイルに、未使用領
    域をさらに追加する際には、最大の未使用領域を前記フ
    ァイルに割当てるための追加割当手段を含む、請求項9
    または10に記載のファイル管理装置。
  12. 【請求項12】 前記記録媒体は、所定数の同心円によ
    り区切られた複数のゾーンを含み、 前記未使用領域管理部は、所定の同心円よりも外側のゾ
    ーンに属する未使用の論理ブロックと、それ以外のゾー
    ンに属する未使用の論理ブロックとを区別して管理し、 前記追加割当手段は、外部からに指示に従い、ファイル
    に未使用領域を追加する際には、前記所定の同心円より
    も外側のゾーンに属する最大の未使用領域を前記ファイ
    ルに割当てるための手段を含む、請求項11に記載のフ
    ァイル管理装置。
  13. 【請求項13】 前記ファイル管理部は、ファイルをク
    ローズする際に、前記ファイルに割当てられた領域のう
    ち、未使用の論理ブロックを、前記未使用領域管理部に
    登録する、請求項1または2に記載のファイル管理装
    置。
  14. 【請求項14】 前記ファイル管理部は、未使用の論理
    ブロック数が予め定められた個数以上の場合にのみ、前
    記未使用の論理ブロックを前記未使用領域管理部に登録
    する、請求項13に記載のファイル管理装置。
  15. 【請求項15】 前記未使用領域接合部は、前記ファイ
    ル管理部により登録された未使用の論理ブロックに隣接
    する領域が未使用領域であれば、前記未使用の論理ブロ
    ックと、前記隣接する領域とを接合する、請求項14に
    記載のファイル管理装置。
  16. 【請求項16】 前記遅延交替処理部は、前記他の論理
    ブロックを前記未使用領域管理部で管理されている未使
    用の論理ブロックより獲得する、請求項2に記載のファ
    イル管理装置。
  17. 【請求項17】 前記遅延交替処理部は、前記記録媒体
    への書込エラーを検出した際に、エラーが発生した箇所
    に記録されるべきデータをメモリに保存するとともに、
    不揮発性の記録媒体にも保存する、請求項2に記載のフ
    ァイル管理装置。
  18. 【請求項18】 前記記録媒体制御部は、書込エラーが
    発生した箇所に記録されるべきデータが前記他の論理ブ
    ロックに書込まれていない際に、前記書込エラーが発生
    した論理ブロックに対する読出要求があった場合には、
    前記メモリ上のデータと、前記書込エラーが発生した論
    理ブロックに含まれるエラーの発生した箇所以外のデー
    タとを読出す、請求項2に記載のファイル管理装置。
  19. 【請求項19】 前記未使用領域管理部は、記録媒体上
    で連続した未使用の論理ブロックを1つのフリーブロッ
    ク群として管理する、請求項1または2に記載のファイ
    ル管理装置。
  20. 【請求項20】 前記未使用領域接合部は、複数のフリ
    ーブロック群が記録媒体上で連続している場合は、複数
    のフリーブロック群を接合し、新たなフリーブロック群
    とする、請求項19に記載のファイル管理装置。
  21. 【請求項21】 前記未使用領域接合部は、2つのフリ
    ーブロック群の前記記録媒体上での距離が一定値以内で
    あれば、2つのフリーブロック群を接合し、新たなフリ
    ーブロック群とする、請求項19に記載のファイル管理
    装置。
  22. 【請求項22】 前記距離は、2つのフリーブロック間
    の論理ブロック数により定められる、請求項21に記載
    のファイル管理装置。
  23. 【請求項23】 前記距離は、2つのフリーブロック間
    のシリンダ数により定められる、請求項21に記載のフ
    ァイル管理装置。
  24. 【請求項24】 前記未使用領域接合部は、予め定めら
    れた長さを超えない範囲で、2つのフリーブロック群を
    接合する、請求項21に記載のファイル管理装置。
  25. 【請求項25】 前記記録媒体には、予め複数の境界が
    設定されており、 前記未使用領域接合部は、2つのフリーブロック群が前
    記境界をまたがない場合にのみ、前記2つのフリーブロ
    ック群を接合する、請求項21に記載のファイル管理装
    置。
  26. 【請求項26】 各々、連続配置が保証され、かつ要求
    されるアクセス速度を上回ることが保証されている複数
    の論理ブロックに区切られた記録媒体を管理するファイ
    ル管理装置で用いられるファイル管理方法であって、 前記記録媒体に記録されたファイルを管理するファイル
    管理情報を管理するステップと、 前記ファイル管理情報に基づいて、前記記録媒体に対す
    るデータの書込および読出を行なうステップと、 前記記録媒体中の未使用の論理ブロックを前記記録媒体
    上で連続している領域ごとに管理するステップと、 新たに未使用領域が発生した際に、前記新たな未使用領
    域を他の未使用領域に接合するステップとを含む、ファ
    イル管理方法。
  27. 【請求項27】 さらに、前記記録媒体への書込エラー
    を検出した際に、エラーが発生した箇所に記録されるべ
    きデータをメモリに保存し、前記メモリへの保存に遅延
    させて、前記メモリ上のデータと、書込エラーが発生し
    た論理ブロックに含まれるエラーの発生した箇所以外の
    データとを他の論理ブロックへ書込み、論理ブロックを
    代替するステップを含む、請求項26に記載のファイル
    管理方法。
JP2000154756A 2000-05-25 2000-05-25 ファイル管理装置および方法 Expired - Fee Related JP3702147B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000154756A JP3702147B2 (ja) 2000-05-25 2000-05-25 ファイル管理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000154756A JP3702147B2 (ja) 2000-05-25 2000-05-25 ファイル管理装置および方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005136209A Division JP4134095B2 (ja) 2005-05-09 2005-05-09 ファイル管理装置

Publications (2)

Publication Number Publication Date
JP2001337851A true JP2001337851A (ja) 2001-12-07
JP3702147B2 JP3702147B2 (ja) 2005-10-05

Family

ID=18659803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000154756A Expired - Fee Related JP3702147B2 (ja) 2000-05-25 2000-05-25 ファイル管理装置および方法

Country Status (1)

Country Link
JP (1) JP3702147B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141373A (ja) * 2005-11-18 2007-06-07 Toshiba Corp 情報記録再生方法及び記録再生装置
US7509342B2 (en) 2002-02-08 2009-03-24 Sanyo Electric Co., Ltd. File data storage management method, file data storage device, program executing processing for storing file data, and storage medium
JP2011076441A (ja) * 2009-09-30 2011-04-14 Toshiba Corp 情報記録装置、情報記録方法及び情報記録用プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0334158A (ja) * 1989-06-30 1991-02-14 Hitachi Ltd データ記録装置
JPH0363971A (ja) * 1989-08-02 1991-03-19 Fujitsu Ltd アレイディスク装置およびそのデータ読み出し方法
JPH07134670A (ja) * 1993-11-09 1995-05-23 Toshiba Corp 領域割付方法
JPH07325669A (ja) * 1994-05-31 1995-12-12 Mitsubishi Electric Corp ディスク管理方法
JPH0935417A (ja) * 1995-07-12 1997-02-07 Nippon Telegr & Teleph Corp <Ntt> 情報記憶装置の一時記憶情報バックアップ装置及びその方法
JPH1196052A (ja) * 1997-09-17 1999-04-09 Matsushita Electric Ind Co Ltd ファイル管理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0334158A (ja) * 1989-06-30 1991-02-14 Hitachi Ltd データ記録装置
JPH0363971A (ja) * 1989-08-02 1991-03-19 Fujitsu Ltd アレイディスク装置およびそのデータ読み出し方法
JPH07134670A (ja) * 1993-11-09 1995-05-23 Toshiba Corp 領域割付方法
JPH07325669A (ja) * 1994-05-31 1995-12-12 Mitsubishi Electric Corp ディスク管理方法
JPH0935417A (ja) * 1995-07-12 1997-02-07 Nippon Telegr & Teleph Corp <Ntt> 情報記憶装置の一時記憶情報バックアップ装置及びその方法
JPH1196052A (ja) * 1997-09-17 1999-04-09 Matsushita Electric Ind Co Ltd ファイル管理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509342B2 (en) 2002-02-08 2009-03-24 Sanyo Electric Co., Ltd. File data storage management method, file data storage device, program executing processing for storing file data, and storage medium
JP2007141373A (ja) * 2005-11-18 2007-06-07 Toshiba Corp 情報記録再生方法及び記録再生装置
JP4528714B2 (ja) * 2005-11-18 2010-08-18 株式会社東芝 情報記録再生方法及び記録再生装置
US7869698B2 (en) 2005-11-18 2011-01-11 Kabushiki Kaisha Toshiba Information recording/playback method and recording/playback apparatus
JP2011076441A (ja) * 2009-09-30 2011-04-14 Toshiba Corp 情報記録装置、情報記録方法及び情報記録用プログラム
US8200936B2 (en) 2009-09-30 2012-06-12 Kabushiki Kaisha Toshiba Systems and methods for recording information to a memory card

Also Published As

Publication number Publication date
JP3702147B2 (ja) 2005-10-05

Similar Documents

Publication Publication Date Title
US6909838B2 (en) Recording/reproducing method suitable for recording/reproducing AV data on/from disc, recorder and reproducer for the method, information recording disc and information processing system
JP5265113B2 (ja) データ処理装置
JP4242966B2 (ja) リアルタイム記録/再生情報を貯蔵する記録媒体
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
JP4256075B2 (ja) ファイルシステム及び記憶領域の管理方法
JP3170499B1 (ja) 情報記録媒体及びその記録方法と再生方法及びそのシステム制御部とその情報記録装置と情報再生装置
JP4604806B2 (ja) 記録装置
JP4502375B2 (ja) ファイルシステムおよびその制御方法
JP4310821B2 (ja) 情報記録装置および方法
JP4180100B2 (ja) ファイル管理装置
JP3702147B2 (ja) ファイル管理装置および方法
JP4134095B2 (ja) ファイル管理装置
WO2001008013A1 (fr) Procede de gestion de support sur disque
JP2009205591A (ja) アクセスモジュール、情報記録モジュール、及び情報記録システム
JP7262977B2 (ja) 記録装置及びその制御方法、並びにプログラム
JP2007265010A (ja) ファイル再生装置およびファイル再生方法ならびにプログラム
JP4480592B2 (ja) ファイルシステム
JP4664869B2 (ja) データ記録システム
JP3698630B2 (ja) 情報記録媒体及びその記録方法と再生方法及びそのシステム制御部とその情報記録装置と情報再生装置
JP3171585B1 (ja) 情報記録媒体及びその記録方法と再生方法及びそのシステム制御部とその情報記録装置と情報再生装置
JP3171584B1 (ja) 情報記録媒体及びその記録方法と再生方法及びそのシステム制御部とその情報記録装置と情報再生装置
JP2001043662A (ja) ディスク媒体管理方法
JP3171586B1 (ja) 情報記録媒体及びその記録方法と再生方法及びそのシステム制御部とその情報記録装置と情報再生装置
JPH0541037A (ja) デイジタルデータ記録再生装置
JP2011138574A (ja) 情報記録再生装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050715

R150 Certificate of patent or registration of utility model

Ref document number: 3702147

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080722

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100722

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120722

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120722

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130722

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees