(57)【要約】【課題】データ記憶装置、特に、ハードディスク装置において高いアクセス速度を実現する技術を提供する。【解決手段】実データ部における物理的な記憶箇所を指し示す物理アドレスと、データ処理装置で管理される論理的なディレクトリー情報である論理アドレスとを分離し、両者をＬＵＴにて関連付ける。断片化が生じている場合、空領域に隣接する、書き込みのある単位記憶領域の書き込み内容を空領域に移動させる処理を、非断片化状態が実現されるまで繰り返すとともに、ＬＵＴにおける関連づけを、非断片化状態と整合するように書き換える。さらに、最新のファイル管理情報とＬＵＴとをデータ処理装置にも保持させる。データ処理装置からデータファイルにアクセスする場合は、ＬＵＴを参照してファイル管理情報に記述されている論理アドレスと関連付けられている物理アドレスを特定した当該箇所にアクセスする。【選択図】図２
2008198102.tif 000002
【特許請求の範囲】
【請求項１】
所定のプログラムが読み込まれて実行されることで所定のデータ処理機能を有してなるデータ処理装置と、前記データ処理装置との間でデータファイルの入出力が可能なデータ記憶装置とを備えるデータ処理システムであって、
前記データ記憶装置が、
書き込みおよび消去自在にデータファイルを記憶する記憶領域と、
前記記憶領域へのデータファイルの書き込みおよび前記記憶領域からのデータファイルの消去を行うリードライト部と、
前記リードライト部による前記記憶領域へのデータファイルの書き込みおよび前記記憶領域からのデータファイルの消去を含む、前記データ記憶装置全体の動作を制御する制御部と、
を備え、
前記記憶領域は、
それぞれに固有の物理アドレスが割り当てられた複数の単位記憶領域に区分され、データファイルの実体部分を前記単位記憶領域に区分して記憶する実データ部と、
前記実データ部に記憶されているデータファイルの、前記単位記憶領域ごとの書き込み内容である単位書き込みデータごとの論理アドレスを含む管理情報を記憶する管理情報部と、
前記物理アドレスと前記論理アドレスとを関連づける参照テーブルを記憶するＬＵＴ部と、
から構成されてなり、
前記制御部は、前記実データ部において書き込みのない少なくとも１つの単位記憶領域からなる空領域が断片的に存在するか否かを判断し、前記空領域が存在すると判断される場合には、前記リードライト部を制御することにより、前記空領域に隣接する、少なくとも１つの書き込みのある単位記憶領域の書き込み内容を前記空領域に移動させる処理を、空領域が断片的に存在しない非断片化状態が実現されるまで繰り返させるとともに、前記参照テーブルにおける前記物理アドレスと前記論理アドレスとの関連づけを、前記非断片化状態と整合するように書き換えさせるようにし、かつ、最新の前記管理情報と前記参照テーブルとを前記データ処理装置にも保持させるようにしてなり、
前記データ処理装置から所定の論理アドレスが付与されて前記データ記憶装置に記憶されているデータファイルにアクセスする場合には、前記参照テーブルを参照して前記管理情報に記述されている前記所定の論理アドレスと関連付けられている物理アドレスが割り当てられた前記単位記憶領域を特定させた上でアクセスを行わせる、
ことを特徴とするデータ処理システム。
【請求項２】
請求項１に記載のデータ処理システムであって、
前記データ記憶装置の前記制御部が、所定時間ごとに前記参照テーブルの記述内容を参照して、前記空領域が存在するか否かを判断する、
ことを特徴とするデータ処理システム。
【請求項３】
請求項１または請求項２に記載のデータ処理システムであって、
前記データ記憶装置がハードディスク装置であり、
前記記憶領域が前記ハードディスク装置に備わるプラッタ上のサーフェスであり、
前記リードライト部が、前記プラッタを回転させるモータや、前記サーフェスに対するデータの書き込みや読み出し動作を担うヘッドを有する、
ことを特徴とするデータ処理システム。
【請求項４】
所定のプログラムが読み込まれて実行されることで所定のデータ処理機能を有してなるデータ処理装置との間でデータファイルの入出力が可能なデータ記憶装置であって、
書き込みおよび消去自在にデータファイルを記憶する記憶領域と、
前記記憶領域へのデータファイルの書き込みおよび前記記憶領域からのデータファイルの消去を行うリードライト部と、
前記リードライト部による前記記憶領域へのデータファイルの書き込みおよび前記記憶領域からのデータファイルの消去を含む、前記データ記憶装置全体の動作を制御する制御部と、
を備え、
前記記憶領域は、
それぞれに固有の物理アドレスが割り当てられた複数の単位記憶領域に区分され、データファイルの実体部分を前記単位記憶領域に区分して記憶する実データ部と、
前記実データ部に記憶されているデータファイルの、前記単位記憶領域ごとの書き込み内容である単位書き込みデータごとの論理アドレスを含む管理情報を記憶する管理情報部と、
前記物理アドレスと前記論理アドレスとを関連づける参照テーブルを記憶するＬＵＴ部と、
から構成されてなり、
前記制御部は、前記実データ部において書き込みのない少なくとも１つの単位記憶領域からなる空領域が断片的に存在するか否かを判断し、前記空領域が存在すると判断される場合には、前記リードライト部を制御することにより、前記空領域に隣接する、少なくとも１つの書き込みのある単位記憶領域の書き込み内容を前記空領域に移動させる処理を、空領域が断片的に存在しない非断片化状態が実現されるまで繰り返させるとともに、前記参照テーブルにおける前記物理アドレスと前記論理アドレスとの関連づけを、前記非断片化状態と整合するように書き換えさせるようにし、かつ、最新の前記管理情報と前記参照テーブルとを前記データ処理装置にも保持させるようにしてなり、
前記データ処理装置から所定の論理アドレスが付与されて前記データ記憶装置に記憶されているデータファイルにアクセスする場合には、前記参照テーブルを参照して前記管理情報に記述されている前記所定の論理アドレスと関連付けられている物理アドレスが割り当てられた前記単位記憶領域を特定させた上でアクセスを行わせる、
ことを特徴とするデータ記憶装置。
【請求項５】
請求項４に記載のデータ記憶装置であって、
前記データ記憶装置の前記制御部が、所定時間ごとに前記参照テーブルの記述内容を参照して、前記空領域が存在するか否かを判断する、
ことを特徴とするデータ記憶装置。
【請求項６】
請求項４または請求項５に記載のデータ記憶装置を構成するハードディスク装置であって、
前記記憶領域が前記ハードディスク装置に備わるプラッタ上のサーフェスであり、
前記リードライト部が、前記プラッタを回転させるモータや、前記サーフェスに対するデータの書き込みや読み出し動作を担うヘッドを有する、
ことを特徴とするハードディスク装置。
【請求項７】
所定のプログラムが読み込まれて実行されることで所定のデータ処理機能を有してなるデータ処理装置との間でデータファイルの入出力が可能なデータ記憶装置におけるデータ管理方法であって、
データファイルを記憶する記憶領域を、
それぞれに固有の物理アドレスが割り当てられた複数の単位記憶領域に区分され、データファイルの実体部分を前記単位記憶領域に区分して記憶する実データ部と、
前記実データ部に記憶されているデータファイルの、前記単位記憶領域ごとの書き込み内容である単位書き込みデータごとの論理アドレスを含む管理情報を記憶する管理情報部と、
前記物理アドレスと前記論理アドレスとを関連づける参照テーブルを記憶するＬＵＴ部と、
に区分しておき、
所定の時間ごとに、前記実データ部において書き込みのない少なくとも１つの単位記憶領域からなる空領域が断片的に存在するか否かを判断し、前記空領域が存在すると判断される場合には、前記データ記憶装置に備わるリードライト手段によって、前記空領域に隣接する、少なくとも１つの書き込みのある単位記憶領域の書き込み内容を前記空領域に移動させる処理を、空領域が断片的に存在しない非断片化状態が実現されるまで繰り返させるとともに、前記参照テーブルにおける前記物理アドレスと前記論理アドレスとの関連づけを、前記非断片化状態と整合するように書き換えさせるようにし、かつ、最新の前記管理情報と前記参照テーブルとを前記データ処理装置にも保持させるようにしてなり、
前記データ処理装置から所定の論理アドレスが付与されて前記データ記憶装置に記憶されているデータファイルにアクセスする場合には、前記参照テーブルを参照して前記管理情報に記述されている前記所定の論理アドレスと関連付けられている物理アドレスが割り当てられた前記単位記憶領域を特定させた上でアクセスを行わせる、
ことを特徴とするデータ記憶装置におけるデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置との間でデータファイルの入出力を行い、データ処理装置によるデータファイルへの追記やデータファイルの消去が可能なデータ記憶装置、特に、物理的移動を伴うアクセスを行うことでこれらの入出力や追記／消去を行うデータ記憶装置のデータファイル管理に関する。
【背景技術】
【０００２】
図５は、パーソナルコンピュータなどのデータ処理装置との間でデータファイルが入出力され、該データ処理装置によってデータファイル内に記述されたデータの追記／消去が可能なデータ記憶装置１００における、従来のディスク管理の様子を示す概念図である。係るデータ記憶装置１００には、例えばハードディスクを記憶媒体とするハードディスク装置（ハードディスクドライブ）などが該当する。
【０００３】
従来のディスク管理は、データ記憶装置１００の記憶領域１０１を、ファイル管理情報の書き込み領域である管理情報領域１０２と、データファイルの実体部分（実データ）についての書き込み領域である実データ領域１０３とに区分して使用することにより行われる。なお、ファイル管理情報とは、実データ領域１０３に実データが書き込まれているデータファイルについての管理情報であり、該データファイルのディレクトリー情報やデータファイル名、属性、作成日、実データ領域１０３内における実データの記憶場所（物理アドレス）などが該当する。管理情報領域１０２には、ファイル管理情報に含まれるそれぞれの内容が、所定の領域に書き込まれるようになっている。
【０００４】
例えば、これら管理情報領域１０２と実データ領域１０３とが設けられたデータ記憶装置１００に対して、データ処理装置の側からデータ記憶装置１００内に記憶されている任意のデータファイルを取得しようとする場合には、まず管理情報領域１０２にアクセスして記憶されているデータファイル名を検索し、特定されたデータファイル名から実データ領域１０３内の実データの記憶場所（物理アドレス）を特定し、該記憶場所にアクセスして該データファイルについての所望の情報を取り出すこととなる。
【０００５】
逆に、任意のデータファイルをデータ記憶装置１００に登録／保存したい場合は、管理情報領域１０２にアクセスして、実データが書き込まれていない空領域が、実データ領域１０３の中に該データファイルの保存に必要な容量だけ存在するかどうかを、空領域となっている箇所のアドレスを検索することでまず確認する。そして、必要な容量の空領域が存在することが確認された場合には、該空領域が書き込み領域として確保されるように（それ以降に当該書き込み領域が空領域であると認識されないように）ファイル管理情報を更新したうえで、該空領域に記憶しようとするデータファイルについての情報を登録／保存のために実データを実データ領域１０３に書き込むこととなる。なお、新たにデータファイルを記憶する場合は、通常、実データ領域１０３への実データの書き込みは、できるだけ実データ領域１０３の先頭部分に近く、かつできるだけ物理的に連続している空領域から行われる。
【０００６】
その一方で、データ記憶装置１００に記憶されたデータファイルは、使用状況により適宜消去される。これは、より詳細に言えば、該データファイルの実データが記憶されている箇所の記憶内容を消去し、当該箇所をそれ以降は空領域として管理することに相当する。換言すれば、当該箇所は新たな書き込み可能領域としてディスク内で管理されることとなる。
【０００７】
このようなデータファイルの記憶と消去とを繰り返すと、一般的には、実データ領域１０３は空領域と実データが記憶されている領域とが複雑に入り組んだ状態となる。図６は、係る状態を例示する図である。図６においては、「ファイル１」、および「ファイル３」についての実データが実データ領域１０３中において不連続に存在する状態を例示している。このように、１つのデータファイルについての実データが離散的に存在する状態がいわゆる断片化（フラグメンテーション）であり、一般には、種々のデータ容量を有するデータファイルについて、登録／消去／新たな登録を繰り返すことで、徐々にこの断片化が進行することとなる。このようなフラグメンテーションは、記憶対象とされるデータファイルの容量は様々であって、容量によっては、先頭部分から直近かつ１つの連続した空領域に実データを書き込みきれない場合があり、この場合には、離散的に存在する空領域に順次に書き込みがなされることになるのが要因である。
【０００８】
係るフラグメンテーションは、データ記憶装置１００の中でも、特に、ハードディスク装置において問題とされる。これは、ハードディスク装置の内部構造およびデータの書き込み・読み出しの原理に起因する。
【０００９】
一般的なハードディスク装置は、複数の円盤状の磁気記憶メディアであるハードディスク（プラッタ）に対し、該記憶メディアの円周方向に順次アクセス可能なヘッド（ドライブヘッド）によって、データの読み書きを行う。円盤上の一連の領域をサーフェス、連続した円周上のアクセス単位をトラックとよび、複数のサーフェスで構成され、かつヘッドのシークを伴わずにアクセスできる一連の領域をシリンダ、アクセスの最小単位はセクタと呼ばれることがある。なお、ディスク管理用ソフトウェアが管理する最小アクセス単位をクラスタと呼ぶことがある。クラスタは連続する複数のセクタで構成されることが多い。
【００１０】
ハードディスク装置においては、シリンダをまたがってアクセスが連続する場合は、ヘッドによるシークを伴うこととなる。すなわち、ヘッドの物理的移動が必要となる。従って、ヘッドのアクセスが同一のシリンダに留まる場合に比して、アクセスに時間を要することとなる。ハードディスク装置内において断片化が著しいような場合、データファイルについての実データが、シリンダをまたがって、あるいはさらにサーフェスを（プラッタを）またがって存在するようこともあり得るが、係る場合は、１つのデータファイルにアクセスするのに、複数回のシーク動作が伴うことになる。すなわち、実データが連続して記憶されている場合に比して、ファイルアクセスにより時間がかかることとなる。
【００１１】
また、このような実データの断片化（分割保存）が増えると、読み書き速度の低下を引き起こすのみならず、ディスク管理ソフトの処理量の増大や、ヘッドの移動量の増大を招くことにもなる。ヘッドは、物理的な動作が多いほど故障を誘発しやすいとも言われており、耐用年数の低下を防ぐためには、出来るだけその移動を抑制することが求められる。
【００１２】
実データ領域１０３におけるこのようなデータの断片化状態を解消する処理としては、セクタ単位で記憶内容を移動させて一のデータファイルについての書き込み領域をできるだけ連続させる（つまりは、該データファイルについて物理アドレスをできるだけ連続させる）いわゆるデフラグ（デフラグメンテーション）処理が広く知られている。
【００１３】
データの読み出しよりも書き込みの割合が多いコンスーマ機器のデータ記憶装置を主たる対象とし、空領域の連続性が優先されるようにデフラグ処理を行う技術が公知である（例えば、特許文献１参照）。
【００１４】
一方、データ記憶装置として半導体メモリを使用する場合を主たる対象とし、実データの書き込み領域における記憶単位（単位記憶領域）であるブロックごとに物理アドレスを割り当てるとともに、データ記憶装置に接続されたデータ処理装置がデータファイルを認識するための論理的なディレクトリー情報である論理アドレスを定義しておき、データ処理装置からのあるデータファイルへのアクセスは、論理アドレスを指定することで行い、論理アドレスと物理アドレスとを変換するための論物変換テーブルを参照して、指定された論理アドレスに対応する物理アドレスのブロックを特定するようにしたファイル管理技術も公知である（例えば特許文献２参照）。
【００１５】
特許文献２においては、上述のような物理アドレスを連続させるという意味でのデフラグ処理は行わず、その代わりに、論理アドレスを入れ替えるとともに論物変換テーブルにおける論理アドレスと物理アドレスの対応関係を書き換えるというアドレス置換処理を行うことによって論理アドレスの連続性を確保し、データ処理装置からのアクセスの高速化を実現する態様が開示されている。
【００１６】
【特許文献１】特開２００５−１６５７８１号公報
【特許文献２】特開２００５−２０２９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
特許文献１に開示された技術においては、データ記憶装置としてのハードディスクドライブに接続されたホスト装置が許可した場合にのみ、ハードディスクドライブ内部において自立的な（ホスト装置と独立に）デフラグが実行される。従って、必ずしも常に断片化が解消されているわけではない。
【００１８】
特許文献２に開示された技術では、論理アドレスを書き換える（置換する）だけで、実データの書き込み領域自体は変わらないため、係る技術をハードディスクドライブに適用した場合には、実データの断片化状態は解消されないことになる。従って、ヘッドのシーク動作が頻繁に必要となり、アクセス速度の向上が実現されることはない。
【００１９】
本発明は、上記課題に鑑みてなされたものであり、データ記憶装置において高いアクセス速度を実現する技術、特に、ハードディスク装置において高いアクセス速度を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記課題を解決するため、請求項１の発明は、所定のプログラムが読み込まれて実行されることで所定のデータ処理機能を有してなるデータ処理装置と、前記データ処理装置との間でデータファイルの入出力が可能なデータ記憶装置とを備えるデータ処理システムであって、前記データ記憶装置が、書き込みおよび消去自在にデータファイルを記憶する記憶領域と、前記記憶領域へのデータファイルの書き込みおよび前記記憶領域からのデータファイルの消去を行うリードライト部と、前記リードライト部による前記記憶領域へのデータファイルの書き込みおよび前記記憶領域からのデータファイルの消去を含む、前記データ記憶装置全体の動作を制御する制御部と、を備え、前記記憶領域は、それぞれに固有の物理アドレスが割り当てられた複数の単位記憶領域に区分され、データファイルの実体部分を前記単位記憶領域に区分して記憶する実データ部と、前記実データ部に記憶されているデータファイルの、前記単位記憶領域ごとの書き込み内容である単位書き込みデータごとの論理アドレスを含む管理情報を記憶する管理情報部と、前記物理アドレスと前記論理アドレスとを関連づける参照テーブルを記憶するＬＵＴ部と、から構成されてなり、前記制御部は、前記実データ部において書き込みのない少なくとも１つの単位記憶領域からなる空領域が断片的に存在するか否かを判断し、前記空領域が存在すると判断される場合には、前記リードライト部を制御することにより、前記空領域に隣接する、少なくとも１つの書き込みのある単位記憶領域の書き込み内容を前記空領域に移動させる処理を、空領域が断片的に存在しない非断片化状態が実現されるまで繰り返させるとともに、前記参照テーブルにおける前記物理アドレスと前記論理アドレスとの関連づけを、前記非断片化状態と整合するように書き換えさせるようにし、かつ、最新の前記管理情報と前記参照テーブルとを前記データ処理装置にも保持させるようにしてなり、前記データ処理装置から所定の論理アドレスが付与されて前記データ記憶装置に記憶されているデータファイルにアクセスする場合には、前記参照テーブルを参照して前記管理情報に記述されている前記所定の論理アドレスと関連付けられている物理アドレスが割り当てられた前記単位記憶領域を特定させた上でアクセスを行わせる、ことを特徴とする。
【００２１】
請求項２の発明は、請求項１に記載のデータ処理システムであって、前記データ記憶装置の前記制御部が、所定時間ごとに前記参照テーブルの記述内容を参照して、前記空領域が存在するか否かを判断する、ことを特徴とする。
【００２２】
請求項３の発明は、請求項１または請求項２に記載のデータ処理システムであって、前記データ記憶装置がハードディスク装置であり、前記記憶領域が前記ハードディスク装置に備わるプラッタ上のサーフェスであり、前記リードライト部が、前記プラッタを回転させるモータや、前記サーフェスに対するデータの書き込みや読み出し動作を担うヘッドを有する、ことを特徴とする。
【００２３】
請求項４の発明は、所定のプログラムが読み込まれて実行されることで所定のデータ処理機能を有してなるデータ処理装置との間でデータの入出力が可能なデータ記憶装置であって、書き込みおよび消去自在にデータを記憶する記憶領域と、前記記憶領域へのデータの書き込みおよび前記記憶領域からのデータの消去を行うリードライト部と、前記リードライト部による前記記憶領域へのデータの書き込みおよび前記記憶領域からのデータの消去を含む、前記データ記憶装置全体の動作を制御する制御部と、を備え、前記記憶領域は、それぞれに固有の物理アドレスが割り当てられた複数の単位記憶領域に区分され、データの実体部分を前記単位記憶領域に区分して記憶する実データ部と、前記実データ部に記憶されているデータの論理アドレスを含む管理情報を記憶する管理情報部と、前記物理アドレスと前記論理アドレスとを関連づける参照テーブルを記憶するＬＵＴ部と、から構成されてなり、前記制御部は、前記実データ部において書き込みのない少なくとも１つの単位記憶領域からなる空領域が断片的に存在するか否かを判断し、前記空領域が存在すると判断される場合には、前記リードライト部を制御することにより、前記空領域に隣接する、少なくとも１つの書き込みのある単位記憶領域の書き込み内容を前記空領域に移動させる処理を、空領域が断片的に存在しない非断片化状態が実現されるまで繰り返させるとともに、前記参照テーブルにおける前記物理アドレスと前記論理アドレスとの関連づけを、前記非断片化状態と整合するように書き換えさせるようにし、かつ、最新の前記管理情報と前記参照テーブルとを前記データ処理装置にも保持させるようにしてなり、前記データ処理装置から所定の論理アドレスが付与されて前記データ記憶装置に記憶されているデータにアクセスする場合には、前記参照テーブルを参照して前記管理情報に記述されている前記所定の論理アドレスと関連付けられている物理アドレスが割り当てられた前記単位記憶領域を特定させた上でアクセスを行わせる、ことを特徴とする。
【００２４】
請求項５の発明は、請求項４に記載のデータ記憶装置であって、前記データ記憶装置の前記制御部が、所定時間ごとに前記参照テーブルの記述内容を参照して、前記空領域が存在するか否かを判断する、ことを特徴とする。
【００２５】
請求項６の発明は、請求項４または請求項５に記載のデータ記憶装置を構成するハードディスク装置であって、前記記憶領域が前記ハードディスク装置に備わるプラッタ上のサーフェスであり、前記リードライト部が、前記プラッタを回転させるモータや、前記サーフェスに対するデータの書き込みや読み出し動作を担うヘッドを有する、ことを特徴とする。
【００２６】
請求項７の発明は、所定のプログラムが読み込まれて実行されることで所定のデータ処理機能を有してなるデータ処理装置との間でデータファイルの入出力が可能なデータ記憶装置におけるデータ管理方法であって、データファイルを記憶する記憶領域を、それぞれに固有の物理アドレスが割り当てられた複数の単位記憶領域に区分され、データファイルの実体部分を前記単位記憶領域に区分して記憶する実データ部と、前記実データ部に記憶されているデータファイルの、前記単位記憶領域ごとの書き込み内容である単位書き込みデータごとの論理アドレスを含む管理情報を記憶する管理情報部と、前記物理アドレスと前記論理アドレスとを関連づける参照テーブルを記憶するＬＵＴ部と、に区分しておき、所定の時間ごとに、前記実データ部において書き込みのない少なくとも１つの単位記憶領域からなる空領域が断片的に存在するか否かを判断し、前記空領域が存在すると判断される場合には、前記データ記憶装置に備わるリードライト手段によって、前記空領域に隣接する、少なくとも１つの書き込みのある単位記憶領域の書き込み内容を前記空領域に移動させる処理を、空領域が断片的に存在しない非断片化状態が実現されるまで繰り返させるとともに、前記参照テーブルにおける前記物理アドレスと前記論理アドレスとの関連づけを、前記非断片化状態と整合するように書き換えさせるようにし、かつ、最新の前記管理情報と前記参照テーブルとを前記データ処理装置にも保持させるようにしてなり、前記データ処理装置から所定の論理アドレスが付与されて前記データ記憶装置に記憶されているデータファイルにアクセスする場合には、前記参照テーブルを参照して前記管理情報に記述されている前記所定の論理アドレスと関連付けられている物理アドレスが割り当てられた前記単位記憶領域を特定させた上でアクセスを行わせる、ことを特徴とする。
【発明の効果】
【００２７】
請求項１ないし請求項７の発明によれば、断片化を解消することで、論理アドレスは不連続であっても、物理アドレスが連続する状態、つまりは、実際のアクセス先である単位記憶領域が連続している状態が実現されるので、記憶されているデータファイルに対するアクセス速度の向上が実現される。また、断片化状態の解消を、データ記憶装置の内部で完結した処理として行えるので、データ処理装置に負荷をかけることなく、断片化状態を解消することが出来る。
【００２８】
特に、請求項２および請求項５の発明によれば、断片化状態の解消のための処理を、データ処理装置からの要求に関係なく、定期的に行えるので、定常的に高いアクセス速度を維持することが出来る。
【００２９】
特に、請求項３および請求項６の発明によれば、ハードディスク装置においてデータファイルの物理アドレスが連続する状態が実現されるので、該データファイルの論理アドレスが不連続であるとしても、ヘッドのシークを伴うことなくアクセスを行えるので、アクセス速度の向上という効果を、より好適に得ることが出来る。
【発明を実施するための最良の形態】
【００３０】
＜システム構成＞
図１は、本発明の実施の形態に係るデータファイル管理方法が実現されるデータ処理システム１の構成を模式的に示す図である。データ処理システム１は、例えばハードディスク装置などで実現され、データファイルのランダムな書き込みや読み出し、あるいは消去が可能なデータ記憶装置２と、例えばパーソナルコンピュータ（ＰＣ）などで実現され、データ記憶装置２に記憶されているデータファイルを利用した種々の処理を実現可能なデータ処理装置３とを備える。データ記憶装置２とデータ処理装置３とは有線または無線で電気的に接続され、データファイルその他のデータの授受が可能とされてなる。なお、図１においては、データ記憶装置２がハードディスク装置であり、データ処理装置３がＰＣである場合を例示しているが、これらは、同等の機能を実現できる他のデバイスによって実現されていてもよい。また、本実施の形態において、データファイルとは、データ記憶装置２における読み書きの対象となる全てのファイルを指し示す表現であり、いわゆるプログラムファイルなどを除外するものではない。
【００３１】
データ記憶装置２は、データファイルの書き込みや読み出しをはじめとする装置全体の動作の制御を担う制御部２１と、データファイルの書き込み動作や読み出し動作を担うリードライト部２２と、書き込みおよび消去自在にデータを記憶する記憶領域２３とを主として備える。データ記憶装置２をハードディスク装置にて構成する場合、記憶領域２３は複数のハードディスク（プラッタとも称する、図示せず）上のサーフェスであり、リードライト部２２には、プラッタを回転させるモータ（図示せず）や、プラッタのサーフェス上の各セクタとの間でのデータの書き込みや読み出し動作を担うヘッド（図示せず）などの駆動部材が含まれる。また、これらの駆動部材を用いた書き込み動作や読み出し動作は、公知の手法によって実現可能である。
【００３２】
本実施の形態に係るデータ処理システム１においては、データ記憶装置２の記憶領域２３を、ファイル管理情報部２４と、実データ部２５と、ＬＵＴ部２６とに区分して使用する。ファイル管理情報部２４には、ディレクトリー情報やデータファイル名、属性、作成日など、実データが書き込まれているデータファイルについての管理情報であるファイル管理情報２７ａが書き込まれる。実データ部２５は、データファイルの実体部分である実データが記憶される領域である。実データ部２５は最小の記憶単位である単位記憶領域（具体的にはセクタあるいはクラスタ）の集合であり、各単位記憶領域に書き込まれている実データの単位部分を単位書き込みデータと称することとする。
【００３３】
詳細は後述するが、本実施の形態においては、実データ部２５における単位記憶領域ごとに物理アドレスと論理アドレスとを割り当てるようにする。ここで、物理アドレスとは、実データ部２５における実際の単位記憶領域の存在位置を識別するものであり、論理アドレスは、単位記憶領域における記憶内容（空領域である場合も含めて）を識別するものである。そして、物理アドレスと論理アドレスとの関係を示すＬＵＴ（参照テーブル）２７ｂをＬＵＴ部２６に保持するようにする。また、ファイル管理情報２７ａには、ディレクトリー情報として、実データ部２５における論理アドレスとデータファイルとの対応関係を記述するようにする。これは例えば、論理アドレスを用いて記述されるアロケーションテーブルをファイル管理情報２７ａに含むことで実現される。なお、ファイル管理情報２７ａとＬＵＴ２７ｂとを、ファイル記憶状況情報２７と総称することとする。
【００３４】
また、データ記憶装置２は、データ処理装置３との間でデータの授受を行うためのインターフェースであるＩ／Ｆ２８も備えている。データ記憶装置２がハードディスク装置である場合であれば、ＳＣＳＩやＩＤＥなどのインターフェースなどを用いることが出来る。
【００３５】
データ処理装置３は、ＣＰＵ３１と、いずれも図示しないＲＡＭやＲＯＭなどからなるメモリ３２とを主として備える。データ記憶装置２あるいは他のデータ記憶装置に記憶されている、あるいはあらかじめＲＯＭに記憶されていた図示しないプログラムをＣＰＵ３１において実行することにより、データ記憶装置２との間のデータの入出力を含めた所定のデータ処理機能が実現されてなる。また、後述するように、データ記憶装置２において更新されたファイル管理情報２７ａおよびＬＵＴ２７ｂからなるファイル記憶状況情報２７が、所定のタイミングで、データ記憶装置２からデータ処理装置３に読み込まれ、ファイル管理情報３３ａおよびＬＵＴ３３ｂとしてメモリ３２に保持される。すなわち、メモリ３２には、ファイル記憶状況情報２７と同一内容のファイル記憶状況情報３３が保持されているともいえる。データ処理装置３の側においては、ファイル管理情報３３ａを参照し、アクセスしようとするデータファイルの単位書き込みデータを、論理アドレスによって把握することになる。
【００３６】
なお、データ処理装置３において、データ記憶装置２との間のデータの授受は、Ｉ／Ｆ３４を通じて行われる。
【００３７】
＜物理アドレスと論理アドレス＞
以下、本実施の形態に係るファイル管理の態様について、詳細に説明する。図２は、物理アドレスと論理アドレスの取り扱いについて、断片化とその解消によるＬＵＴ２７ｂの内容の変化の様子に基づいて例示する図である。
【００３８】
図２（ａ）は、初期状態のＬＵＴ２７ｂを示している。ここで、ＬＵＴ２７ｂは、「物理アドレス（図２では物理ＡＤＲと表記）」、「論理アドレス（図２では論理ＡＤＲと表記）」、「データファイル名（図２ではＦＩＬＥ名と表記）」の３つの項目を含むテーブルである。いま、図２の例では、実データ部２５に単位記憶領域としてＮ個のクラスタが存在し、これらのクラスタには、隣接する順に１〜Ｎという物理アドレスが付与されているものとする。なお、セクタを単位記憶領域として取り扱うのではなく、一般的なディスク管理用ソフトウェアが管理する最小単位であるクラスタを単位記憶領域とした場合には、データ処理装置３において該ディスク管理用ソフトウェアを実行させることで、データ記憶装置２を従来と同様に制御することが可能となる。
【００３９】
なお、図２においては、ＬＵＴ２７ｂの記述が、物理アドレスを基準になされている場合（物理アドレスについて昇べきの順にソートされている場合）を前提として記述している。これは必須の態様ではないが、一のデータファイルの実データが書き込まれた単位記憶領域が連続していることが好ましいという観点からは、係る態様が望ましいと言える。
【００４０】
さらに、この例では、「ＦＩＬＥ１」、「ＦＩＬＥ２」、「ＦＩＬＥ３」という３つのデータファイルが書き込まれており、「ＦＩＬＥ１」が物理アドレスが１〜２のクラスタに書き込まれ、「ＦＩＬＥ２」が物理アドレスが３〜４のクラスタに書き込まれ、「ＦＩＬＥ１」が物理アドレスが６〜８のクラスタに書き込まれており、物理アドレスが９〜Ｎのクラスタは書き込みがない空領域であるとする。
【００４１】
なお、この初期状態においては、物理アドレスと同じ値の論理アドレスが、それぞれのクラスタに対応付けられているものとする。ただし、これは説明の便宜上のためであって、必ずしもこのように初期状態として物理アドレスと一致するように論理アドレスが付与される状態が実現されていない場合でも、本実施の形態に係るファイル管理方法は適用可能である。
【００４２】
この初期状態では、データファイルが書き込まれたクラスタの物理アドレスは１〜８と連続しており、空領域の物理アドレスも９〜Ｎと連続しているので、断片化は生じていないことになる。
【００４３】
この初期状態を示すファイル記憶状況情報２７（ファイル管理情報２７ａおよびＬＵＴ２７ｂ）の内容は、データ処理装置３に送信され、ＬＵＴ３３ｂとしてメモリ３２において保持される。以降、ファイル記憶状況情報２７の内容は所定のタイミングでデータ処理装置３に送信され、最新のＬＵＴ３３ｂとしてメモリ３２に保持されることになる。
【００４４】
なお、図２においては説明の都合上、「ＦＩＬＥ名」の欄に当該物理アドレスの箇所が空領域である旨を記載しているが、これは「空領域」というデータファイル名のデータファイルが存在していることを意味しているわけではない。
【００４５】
上述の初期状態から、「ＦＩＬＥ２」なるデータファイルを消去した状態を示すＬＵＴ２７ｂが、図２（ｂ）である。係る消去を行うということは、実データ部２５に書き込まれている該データファイルの実データを削除するとともに、ファイル管理情報２７ａから「ＦＩＬＥ２」なるデータファイルについての情報を削除するということである。併せて、ＬＵＴ２７ｂにおいては、物理アドレスが３〜４（論理アドレスも３〜４）のクラスタに対応するデータファイル名が消去される。係る消去により、実データが書き込まれている物理アドレスが２のクラスタと物理アドレスが５のクラスタの間に書き込みがなされていない空領域が存在することになる。すなわち、断片化が生じたことになる。なお、このように何らかの単位書き込みデータが書き込まれたクラスタの間に存在する空領域を断片領域とも称する。
【００４６】
「ＦＩＬＥ２」なるデータファイルが消去された後のＬＵＴ２７ｂもしくはＬＵＴ３３ｂに基づき、データ記憶装置２もしくはデータ処理装置３において上述のような断片化の発生が検知されると、これを解消する処理が行われる。この断片化の検知は、データ処理装置３においてＬＵＴ３３ｂを参照することにより、あるいは、データ記憶装置２の制御部２１がＬＵＴ２７ｂを参照することにより行われる。なお、データ処理装置３における断片化状態の検知は、データ処理装置３のオペレーティングシステム（ＯＳ）の機能によって実現されてもよいし、図示しない所定のファイル管理プログラム等の機能によって実現される態様であってもよい。
【００４７】
図２（ｂ）の場合であれば、「ＦＩＬＥ２」なるデータファイルの消去によって生じた空領域である、物理アドレスが３と４のクラスタに、隣接する（物理アドレスが連続する）クラスタである物理アドレスが５と６の書き込み内容をコピーし、コピー元の書き込み内容を消去する。すなわち、物理アドレスが５と６のクラスタの単位書き込みデータを空領域である物理アドレスが３と４のクラスタにそれぞれ移動させる。これが行われた状態を示すＬＵＴ２７ｂが図２（ｃ）である。この状態では、物理アドレスが５と６のクラスタが新たに空領域に変わることになる。
【００４８】
ただし、このような単に書き込み内容の移動が行われても、移動した単位書き込みデータに付与されている論理アドレスは元のままに維持される。すなわち、図２（ｂ）から図２（ｃ）にかけて行われた処理は、論理アドレスとして５と６が付与された単位書き込みデータの書き込み先を物理アドレスが５と６のクラスタから、物理アドレスが３と４のクラスタに変更する処理であるとも言える。
【００４９】
ただし、図２（ｃ）の状態は、物理アドレスが５と６が空領域となっており、しかも、「ＦＩＬＥ３」なるデータファイルの実データが記憶される物理アドレスが３、４、７と不連続である。そのため、これを解消すべく、引き続き、物理アドレスが７のクラスタに書き込まれた「ＦＩＬＥ３」についての単位書き込みデータを、物理アドレスが５のクラスタに移動させる処理が行われることになる。係る移動が行われた後の状態を示すＬＵＴ２７ｂが図２（ｄ）である。
【００５０】
図２（ｄ）に示す状態では、物理アドレスが１〜５のクラスタにデータファイルの実データが書き込まれており、物理アドレスが６〜Ｎのクラスタが空領域となっている。すなわち、断片領域の存在しない状態、つまりは、断片化していない状態が実現されている。ただし、論理アドレスは変更されることなく維持されるので、移動の対象となった「ＦＩＬＥ３」なるデータファイルのみならず、空領域についても、論理アドレスは連続していない。
【００５１】
図２（ｄ）に示す状態が得られた後、空領域の論理アドレスがソートされる。図２（ｅ）は、空領域であるクラスタの物理アドレスが小さいものほど対応する論理アドレスも小さくなるように（つまりは昇べきの順に）ソートがなされた結果を示している。すなわち、図２（ｅ）に示すＬＵＴ２７ｂにおいては、各データファイルについての書き込みがなされたクラスタの物理アドレスが連続している状態であって、空領域については物理アドレスが連続するとともに、論理アドレスが昇べきの順に与えられた状態が示されていることになる。
【００５２】
これに対し、ファイル管理情報２７ａの内容は、図２（ｃ）から図２（ｅ）に至る処理において変化することはない。これは、この過程においてクラスタ単位でのデータの移動は行われているものの、「ＦＩＬＥ１」なるデータファイルと「ＦＩＬＥ３」なるデータファイルとについてはいずれも、単位書き込みデータと論理アドレスとの関係は変化せず、また、データファイルの消去や新たなデータファイルの書き込みもなされてはいないからである。従って、データ処理装置３においてファイル管理情報３３ａに記述されている論理アドレスに基づいて判断する限りは、「ＦＩＬＥ２」なるデータファイルを消去した以降、データ記憶装置２における記憶内容には変動がないものと、すなわち、「ＦＩＬＥ１」なるデータファイルと「ＦＩＬＥ３」なるデータファイルが記憶されている状態が継続していると認識される。
【００５３】
＜バックグラウンドでの断片化解消処理＞
図３は、データ記憶装置２において制御部２１がリードライト部２２を制御することによって実現される、断片化解消処理の流れの詳細を示す図である。係る断片化解消処理は、後述するように、データ処理装置３との間でデータファイルについての実データのやりとりを必要とせず、実質的にデータ記憶装置２の内部で完結する処理であるので、データ処理装置３の側からみれば、バックグラウンドで行っている処理（バックグラウンド処理）ということができる。
【００５４】
係るバックグラウンドでの断片化解消処理では、まず、断片化の有無を検知するタイミングを与えるタイマーの値（時間Ｔ）を所定値Ｔ０に初期化したうえで（ステップＳ１）、タイマーを動作させ（ステップＳ２）、時間Ｔが経過するまで（Ｔ＝０となるまで）タイマー動作を継続する（ステップＳ３）。なお、タイマーは、データ記憶装置２の内部に備えている、例えば、制御部２１の機能として備えている態様が好ましいが、データ処理装置３が備える態様であってもよい。
【００５５】
Ｔ＝０になった時点で、ＬＵＴ２７ｂを参照し、実データ部２５において図２（ｂ）や図２（ｃ）などのように断片化が生じているか否かをチェックする（ステップＳ４）。例えば、ＬＵＴ２７ｂにおいて、「ＦＩＬＥ名」の項目にデータファイルの記載がない物理アドレスが断片的に存在する場合に、断片化が生じていると判断することができる。
【００５６】
断片化が生じていない場合（ステップＳ４でＮＯ）は、ステップＳ１に戻って再度タイマーの設定を行う。
【００５７】
断片化が生じている場合（ステップＳ４でＹＥＳ）、空領域が断片的に存在する状況が解消されるように、かつ、一のデータファイルの実データが書き込まれた単位記憶領域ができるだけ連続するように、つまりは該データファイルについての物理アドレスができるだけ連続するように、断片化を解消する処理（バゲッジコレクション）を行う。
【００５８】
まず、断片領域のサイズ（空領域となっている単位記憶領域の個数：図３においてはＰとしている）と、断片領域に隣接する単位記憶領域から連続する、あるデータファイルの全部または一部（図３においてはファイルＡとしている）が書き込まれている領域のサイズ（係るデータファイルについての単位書き込みデータが書き込まれている単位記憶領域の個数：図３においてはＱとしている）とを比較する（ステップＳ５、ステップＳ６）。
【００５９】
Ｐ＜Ｑの場合（ステップＳ６でＹＥＳ）、これは、サイズＱという容量のファイルＡが断片領域に収まらない場合である。係る場合、まず、アドレス基準値（図３においてはＫ）を設定する（ステップＳ７）。アドレス基準値には、断片領域となっている空領域に付与されている物理アドレスの最小値から１を引いた値を設定する。これにより、断片領域は、Ｋ＋１〜Ｋ＋Ｐという物理アドレスが付与されたＰ個の単位記憶領域であるということになる。
【００６０】
そして、ファイルＡのうち断片領域に隣接する単位記憶領域から連続するサイズＰの領域（当該単位記憶領域から数えて単位記憶領域Ｐ個分の領域）に書き込まれている単位書き込みデータを、断片領域に移動させる（ステップＳ８）。
【００６１】
その際には、併せて、移動後の状態に整合するようにＬＵＴ２７ｂの内容を更新する。物理アドレスを基準にＬＵＴ２７ｂを記述するようにしている場合であれば、これは、単位書き込みデータの移動先である、もともとは断片領域であった単位記憶領域についての論理アドレスおよびデータファイル名と、移動元の単位記憶領域の物理アドレスに対応させて記述されていた論理アドレスおよびデータファイル名とを、ＬＵＴ２７ｂ上において入れ替えることで実現される（ステップＳ９）。なお、この場合、見かけ上は論理アドレスを入れ替えているようにも思えるが、実質的には、上述のように、データの記憶箇所の変更、つまりは、ある単位記憶領域データごとの物理アドレスの変更を行っていることは言うまでもない。
【００６２】
ステップＳ６での判断を行った後、ステップＳ７〜Ｓ９の処理を１度だけ行ったとしても、これは、ステップＳ４で判断の対象となった断片領域は解消されない。この時点では、例えば、図２（ｃ）に示すような状況に至ったに過ぎない。換言すれば、もともとの断片領域が、ステップＳ８〜Ｓ９の処理に伴って移動させた単位書き込みデータと、移動させていない単位記憶領域のデータとの間に該断片領域が移動しただけであるともいえるので、引き続きこれを解消する必要がある。
【００６３】
具体的には、ファイルＡのうち（Ｑ−Ｐ）個の単位記憶領域のデータについてはまだ移動していない（ステップＳ１０でＮＯ）と判断されるので、Ｋ＋Ｐを新たなアドレス基準値Ｋとしたうえで（ステップＳ１１）、ステップＳ８〜Ｓ９の処理を再び行う。これを繰り返すことで、断片領域を形成している空領域はファイルＡの単位書き込みデータの移動に伴って徐々に移動し、やがてファイルＡの全ての単位書き込みデータの移動が全て完了すると（ステップＳ１０でＹＥＳ）、サイズＰの断片領域は解消することになる。断片領域が解消されると、後述するステップＳ１４の処理へと移行する。
【００６４】
なお、ステップＳ８の処理が２度目以降である場合、ファイルＡのうち移動せずに残っている部分のサイズが、Ｐより小さくなること（Ｐ−１以下になる場合）がある。その場合には、残っている全ての単位書き込みデータを移動させればよい。
【００６５】
Ｐ＜Ｑではない場合（ステップＳ６でＮＯ）、つまりＰ≧Ｑの場合というのは、サイズＱという容量のファイルＡが断片領域に収まる場合である。係る場合は、ファイルＡの全ての単位書き込みデータを断片領域に移動させる（ステップＳ１２）。併せて、移動後の状態に整合するようにＬＵＴ２７ｂの内容を更新する。物理アドレスを基準にＬＵＴ２７ｂを記述するようにしている場合であれば、これは、単位書き込みデータの移動先である、もともとは断片領域であった単位記憶領域についての論理アドレスおよびデータファイル名と、移動元の単位記憶領域の物理アドレスに対応させて記述されていた論理アドレスおよびデータファイル名とを、ＬＵＴ２７ｂ上において入れ替えることで実現される（ステップＳ１３）。ステップＳ１２およびステップＳ１３の処理によって、サイズＰの断片領域は解消することになる。
【００６６】
断片化が解消すると、ＬＵＴ２７ｂにおいて、空領域である単位記憶領域に対応づけられた論理アドレスを、物理アドレスが小さい方から順に昇べきの順となるように入れ替える（ステップＳ１４）。
【００６７】
得られたＬＵＴ２７ｂが最新のものとして保持される（ステップＳ１５）。そして、この時点におけるファイル記憶状況情報２７（ファイル管理情報２７ａおよびＬＵＴ２７ｂ）の内容はデータ処理装置３へと送信され、ファイル記憶状況情報３３（ファイル管理情報３３ａおよびＬＵＴ３３ｂ）としてメモり３２に保持される（ステップＳ１５）。
【００６８】
その後は、再び、ステップＳ１に戻って再度タイマーの設定を行う。
【００６９】
以上のような一連の処理に際して、実データ部２５の記憶内容がＩ／Ｆ２８やＩ／Ｆ３４を通じてデータ処理装置３に呼び出されることはない。すなわち、これらの処理は、データ処理装置３とは実質的に無関係にデータ記憶装置２での内部処理として実現されるものである。従って、係る処理についてのデータ処理装置３の負荷はなく、しかも高速に行える。ファイル記憶状況情報２７の内容についてはデータ記憶装置２からデータ処理装置３へと送信されるものの、その容量は実データ部２５に記憶されている実データに比べて大変小さいことから、転送動作がデータ処理装置３に与える負荷は小さく、また、転送時間も大変短いので、その影響は非常に限定的である。
【００７０】
従って、これを常にバックグラウンドで実施することで、各データファイルの物理的な連続性を確保しつつ、実データ部２５内の空領域を常に大きな連続領域として確保することが可能となる。
【００７１】
なお、この一連の処理の間に、明示的なファイル操作が割り込んだとしても、各データファイルへのアクセスは論理アドレスに基づきＬＵＴ３３ｂを介して行われるので、整合性がくずれることはない。
【００７２】
従って、データ処理装置３に負荷をかけることなく、断片化が好適に解消された状態を実現することが出来る。
【００７３】
また、タイマーで定まる所定時間毎に断片化状態の解消のための処理を行うので、定常的に断片化を解消でき、結果として、定常的に高いアクセス速度を維持することが出来る。
【００７４】
なお、タイマーで定まる所定のタイミングで処理を行う代わりに、データ処理装置３からの指示を受けて上述のような断片領域の解消処理を行うことが出来る態様であってもよい。
【００７５】
＜データファイルの読み出し＞
上述のような態様でデータファイルを記憶しているデータ記憶装置２からあるデータファイルをデータ処理装置３へと読み出そうとする場合は、データ処理装置３では、ファイル管理情報３３ａに記述されているディレクトリー情報を参照して、該データファイルを構成する単位書き込みデータの論理アドレスを特定する。そして、ＬＵＴ３３ｂを参照して、論理アドレスに対応する物理アドレスを、つまりは、該単位書き込みデータの実データ部２５における実際の書き込み場所を特定する。そして、この特定された物理アドレスが付与されている単位記憶領域に記憶されている単位書き込みデータを読み出すことで、データファイルの読み出しが実現される。
【００７６】
例えば、図２に示した、「ＦＩＬＥ３」なるデータファイルへのアクセスは、不連続な論理アドレスが付与されている単位書き込みデータからなるデータファイルへのアクセスとなるが、実際には、ＬＵＴ３３ｂが参照され、連続した単位記憶領域にアクセスすることになる。従って、断片化が生じている状態よりも、アクセス速度の向上が実現される。
＜データファイルの保存＞
次に、データ記憶装置２にデータファイルを新たに保存（記憶）しようとする場合を説明する。図４は、係る場合の処理の流れを示す図である。
【００７７】
データ処理装置３からデータ記憶装置２にあるデータファイルをハードディスクに保存したい場合は、まず、データ処理装置３において、保存対象であるデータファイルについて、保存に必要な空領域の容量を確認する（ステップＳ２１）。次に、保存に必要とされる容量の空領域が確保される（ステップＳ２２）。具体的には、ＬＵＴ３３ｂが参照され、出来るだけ物理アドレスが連続している空領域が必要な容量の分だけ特定され、書き込み先として確保される。その際には、該空領域に対応づけられている論理アドレスがＬＵＴ３３ｂにおいて特定されるので、ファイル管理情報３３ａに、該論理アドレスに対応した単位記憶領域が保存対象であるデータファイルの保存先となる旨の記述がなされる。
【００７８】
Ｉ／Ｆ３４およびＩ／Ｆ２８を介して、データ処理装置３からデータ記憶装置２へと保存対象とされているデータファイルが送信され、実データ部２５の保存先として確保された単位記憶領域に該データファイルの実データが書き込まれる（ステップＳ２３）。
【００７９】
併せて、ファイル管理情報２７ａおよびＬＵＴ２７ｂが、保存対象であるデータファイルに関する記述を含むように更新される（ステップＳ２４）。その内容はファイル管理情報３３ａとＬＵＴ３３ｂとしてデータ処理装置３のメモリ３２にも保持される。
【００８０】
以上、説明したように、本実施の形態においては、まず、記憶対象であるデータファイルの実体部分である実データを特定する情報を、物理的な記憶箇所を指し示す物理アドレスと、データ処理装置３で管理される論理的なディレクトリー情報である論理アドレスとに分離（二重化）し、物理アドレスとを論理アドレスとをＬＵＴ２７ｂにて関連付けるようにしておく。
【００８１】
断片化が生じている場合には、空領域が断片的に存在する状況が解消されるように、かつ、一のデータファイルの実データが書き込まれた単位記憶領域ができるだけ連続するように、つまりは物理アドレスができるだけ連続するように、単位記憶領域の単位書き込みデータをシフトさせる（移動させる）処理（バゲッジコレクション）を行い、これに併せてＬＵＴ２７ｂの記述内容も随時更新する。これにより、あるデータファイルについての論理アドレスは不連続なものとなるが、物理アドレスは連続性を有する状態が実現される。
【００８２】
最新のファイル記憶状況情報２７（ファイル管理情報２７ａおよびＬＵＴ２７ｂ）と同一内容のファイル記憶状況情報３３（ファイル管理情報３３ａおよびＬＵＴ３３ｂ）は、定期的にデータ処理装置３に与えられており、あるデータファイルへのデータ処理装置３からのアクセスは、ファイル管理情報３３ａに記述された該データファイルの論理アドレスを特定した上で、ＬＵＴ３３ｂを参照して、実際のアクセス先である物理アドレスを特定し、当該物理アドレスの単位記憶領域に書き込まれている単位書き込みデータを読み出すようにする。
【００８３】
これにより、論理アドレスは不連続であっても、実際のアクセス先である物理アドレスは連続していることから、連続した単位記憶領域にアクセスすることになるので、アクセス速度の向上が実現される。特に、データ記憶装置２がハードディスク装置である場合には、ヘッドのシークを伴うことなくアクセスを行えるので、アクセス速度の向上という効果を、より好適に得ることが出来る。
【図面の簡単な説明】
【００８４】
【図１】データ処理システム１の構成を模式的に示す図である。
【図２】物理アドレスと論理アドレスの取り扱いについて、断片化とその解消によるＬＵＴ２７ｂの内容の変化の様子に基づいて例示する図である。
【図３】断片化解消処理の流れの詳細を示す図である。
【図４】データ記憶装置２にデータファイルを新たに保存（記憶）しようとする場合の処理の流れを示す図である。
【図５】データ記憶装置１００における従来のディスク管理の様子を示す概念図である。
【図６】データファイルの記憶と消去とを繰り返したときの記憶領域の状態を例示する図である。
【符号の説明】
【００８５】
１  データ処理システム
２  データ記憶装置
３  データ処理装置
２１  制御部
２２  リードライト部
２３  記憶領域
２４  ファイル管理情報部
２５  実データ部
２６  ＬＵＴ部
２７  ファイル記憶状況情報
２７ａ  ファイル管理情報
２７ｂ  ＬＵＴ
３１  ＣＰＵ
３２  メモリ
３３  ファイル記憶状況情報
３３ａ  ファイル管理情報
３３ｂ  ＬＵＴ部
【図１】
2008198102.tif 000003
【図２】
2008198102.tif 000004
【図３】
2008198102.tif 000005
【図４】
2008198102.tif 000006
【図５】
2008198102.tif 000007
【図６】
2008198102.tif 000008