(57)【要約】【課題】  ファイルシステムでデータが保存されるデータブロックを効率よく使用できるファイルシステム管理装置及び方法を提供する。【解決手段】  ユーザから所定データについての入力値が入力されるユーザ入力部と、データを保存する所定サイズの複数のデータブロックを含むデータ保存部と、データブロックに保存されたデータについてのデータ情報を保存するデータ情報保存部と、保存されたデータ情報を用いて各データブロックの空き空間に入力値によるデータを保存する制御部とを備える。【選択図】      図３
2006294023.tif 000002
【特許請求の範囲】
【請求項１】
ユーザから所定データについての入力値が入力されるユーザ入力部と、
前記データを保存する所定サイズの複数のデータブロックを含むデータ保存部と、
前記データブロックに保存されたデータについてのデータ情報を保存するデータ情報保存部と、
前記保存されたデータ情報を用いて各データブロックの空き空間に前記入力値によるデータを保存する制御部と、を備えるファイルシステム管理装置。
【請求項２】
前記データ情報は、
前記各データブロックの総使用空間についての情報を含むブロックマップと、
前記各データブロックに保存された各データの使用空間についての情報を含むサブブロックマップと、
前記各データブロックの空き空間についての情報を含むプリブロックマップと、を備える請求項１に記載のファイルシステム管理装置。
【請求項３】
前記ブロックマップは、
前記各データブロックに与えられたブロックＩＤと、
前記各ブロックＩＤに該当するデータブロックの使用空間についての情報と、を備える請求項２に記載のファイルシステム管理装置。
【請求項４】
前記サブブロックマップは、
前記各データに与えられたサブブロックＩＤと、前記各データが保存されたデータブロックのブロックＩＤと、前記各データの開始位置と、前記各データの大きさと、前記各データの大きさが所定データブロックの大きさを超えて他のデータブロックに分けられて保存された場合、他のデータブロックとの連結関係についての情報を含む請求項２に記載のファイルシステム管理装置。
【請求項５】
前記サブブロックＩＤは、所定データの大きさが所定データブロックの大きさを超える場合、該当データが分けられて保存されたデータブロックの順序によって順次に与えられる請求項４に記載のファイルシステム管理装置。
【請求項６】
前記プリブロックマップは、前記各データブロックのブロックＩＤと、前記各データブロックの空き空間の大きさについての情報とを含む請求項２に記載のファイルシステム管理装置。
【請求項７】
前記制御部は、前記プリブロックマップによる空き空間に前記入力値によるデータを保存した後、前記ブロックマップ、前記サブブロックマップ及び前記プリブロックマップを更新する請求項２に記載のファイルシステム管理装置。
【請求項８】
ユーザから所定データについての入力値が入力される段階と、
前記データを保存する所定サイズの複数のデータブロックに保存されたデータについてのデータ情報を抽出する段階と、
前記抽出されたデータ情報によって前記各データブロックの空き空間に前記入力値によるデータを保存する段階と、を含むファイルシステム管理方法。
【請求項９】
前記データ情報は、
前記各データブロックの総使用空間についての情報を含むブロックマップと、
前記各データブロックに保存された各データの使用空間についての情報を含むサブブロックマップと、
前記各データブロックの空き空間についての情報を含むプリブロックマップと、を備える請求項８に記載のファイルシステム管理方法。
【請求項１０】
前記ブロックマップは、
前記各データブロックに与えられたブロックＩＤと、
前記各ブロックＩＤに該当するデータブロックの使用空間についての情報と、を備える請求項９に記載のファイルシステム管理方法。
【請求項１１】
前記サブブロックマップは、
前記各データに与えられたサブブロックＩＤと、前記各データが保存されたデータブロックのブロックＩＤと、前記各データの開始位置と、前記各データの大きさと、前記各データの大きさが所定データブロックの大きさを超えて他のデータブロックに分けられて保存された場合、他のデータブロックとの連結関係についての情報を含む請求項９に記載のファイルシステム管理方法。
【請求項１２】
前記サブブロックＩＤは、所定データの大きさが所定データブロックの大きさを超える場合、該当データが分けられて保存されたデータブロックの順序によって順次に与えられる請求項１１に記載のファイルシステム管理方法。
【請求項１３】
前記プリブロックマップは、前記各データブロックのブロックＩＤと、前記各データブロックの空き空間の大きさについての情報とを含む請求項９に記載のファイルシステム管理方法。
【請求項１４】
前記プリブロックマップによる空き空間に前記入力値によるデータを保存した後、前記ブロックマップ、前記サブブロックマップ及び前記プリブロックマップを更新する段階をさらに含む請求項９に記載のファイルシステム管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルシステム管理装置及び方法に係り、より詳細には、ファイルシステムでデータが保存されるデータブロックを効率よく使用できるファイルシステム管理装置及び方法に関する。
【背景技術】
【０００２】
ファイルシステムに関する研究は、初めてコンピュータが開発されて以来、持続的になされてきて、多くの製品が登場した。代表的に、ユニックスファイルシステム（ＵＦＳ）、システムファイルシステム（ＳＦＳ）、ベリタスファイルシステム（ＶＸＦＳ）、遠隔ファイル共有（ＲＦＳ）、ネットワークファイルシステム（ＮＦＳ）などがある。このようなファイルシステムは、自ら安定かつ効率的な方法で製作されて商用化され、広く使われているが、次のような短所を有している。ユニックスファイルシステムやシステムファイルシステムの場合は、最初になされた構造を後で変更できず、全体ファイルシステムをバックアップする場合、同じ形態と同じサイズの空間が確保されたファイルシステムでのみバックアップが可能である。ベリタスファイルシステムの場合、初期に形成されたファイルシステムの構造は拡張され続ける形態を有しているので、構造の変更はなされるが、バックアップの場合には、最小限同じ空間を有する他のベリタスファイルシステムでのみバックアップがなされうる。ネットワークファイルシステムや遠隔ファイル共有の場合は、新たな概念のファイルシステムではなく、１つのコンピュータに存在するファイルシステムを、複数のコンピュータで共有して使用可能に支援するメカニズムに過ぎない。
【０００３】
図１は、一般的なファイルシステム構造が図示された図面である。
【０００４】
示されたように、一般的なファイルシステム構造は、データが保存されるデータブロック領域１１及びデータブロック領域１１に保存されたデータについての情報を含むブロックマップが保存されるブロックマップ領域１２を含む。
【０００５】
この際、データブロック領域１１は、一定サイズを有する複数のデータブロックからなり、ブロックマップ領域１２のブロックマップは、各データブロックに保存されたデータが使用した大きさなどの情報を含む。また、ブロックマップは、所定のデータの大きさが１つのデータブロックの大きさを超えて、他のデータブロックに分けられて保存された場合、各データブロック間の連結関係を含む。
【０００６】
図２は、従来技術によってデータが保存されたファイルシステム構造が示された図面である。この際、図２のデータブロック領域１１の各データブロックの大きさは、１００ＫＢである場合を例として説明する。また、各データブロックには、１つのデータだけ保存された場合を例として説明する。
【０００７】
図示されたように、データブロック領域１１の各データブロックには、所定のデータが保存される。この際、各データブロックは、保存されるデータの大きさと関係なく、１つのデータに対して各々割当てられる。したがって、保存されるデータの大きさが１０ＫＢである場合と７０ＫＢである場合とに対して、各々１つのデータブロックが割当てられることである。
【０００８】
したがって、１０ＫＢのデータが保存された場合には、９０ＫＢの空間が浪費され、７０ＫＢのデータが保存された場合には、３０ＫＢの空間が浪費される。一方、保存されるデータの大きさが１つのデータブロックの大きさを超える場合には、いくつかのデータブロックに分けられて保存される。したがって、保存されるデータが所定データブロックの大きさを超えない場合には、該当データブロックにデータが保存された後、空き空間が浪費されるという問題点がある。また、保存されるデータの大きさが、所定データブロックの大きさを超える場合にも、浪費された空き空間を使用しないために、データブロックの保存効率が阻害される問題点がある。
【０００９】
特許文献１は、ファイルシステムの使用可能な空間を検査する過程、使用可能なブロックのうち、動的ファイルシステムのために使用するブロックの大きさを決め、任意のファイルを生成する過程、任意のファイルを動的ファイルシステム構造で構成する過程からなる動的ファイルシステムの構成方法を開示しているが、これは動的ファイルシステムのために使用するブロックを別途に決めるために、データが保存されるあらゆるデータブロックには適用し難い問題点がある。
【特許文献１】韓国公開特許第２０００−００２００５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、ファイルシステムでデータが保存されるデータブロックの空き空間を判断し、判断結果による空き空間にデータを保存し、データブロックの空間を効率的に使用しうるファイルシステムの管理装置及び方法を提供するところにその目的がある。
【００１１】
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
【課題を解決するための手段】
【００１２】
前記目的を達成するための本発明の実施形態によるファイルシステム管理装置は、ユーザから所定データについての入力値が入力されるユーザ入力部と、前記データを保存する所定サイズの複数のデータブロックを含むデータ保存部と、前記データブロックに保存されたデータについてのデータ情報を保存するデータ情報保存部と、前記保存されたデータ情報を用いて各データブロックの空き空間に前記入力値によるデータを保存する制御部とを備える。
【００１３】
また、前記目的を達成するための本発明の実施形態によるファイルシステム管理方法は、ユーザから所定データについての入力値が入力される段階と、前記データを保存する所定サイズの複数のデータブロックに保存されたデータについてのデータ情報を抽出する段階と、前記抽出されたデータ情報によって前記各データブロックの空き空間に前記入力値によるデータを保存する段階と、を含む。
【００１４】
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
【発明の効果】
【００１５】
本発明のファイルシステム管理装置及び方法によれば、ファイルシステムでデータが保存されるデータブロック及びデータブロックに保存されるデータに各々ブロックＩＤ及びサブブロックＩＤを与え、与えられたブロックＩＤ及びサブブロックＩＤを通じて各データブロックの空き空間を判断して、空き空間にデータを保存できるために、データブロックの空間を効率よく使用しうる。
【発明を実施するための最良の形態】
【００１６】
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形に具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一な参照符号は同一な構成要素を示す。
【００１７】
以下、添付された図面を参照して本発明の望ましい実施形態を詳細に説明する。
【００１８】
図３は、本発明の実施形態によるファイルシステム管理装置が示された図面である。
【００１９】
示されたように、本発明の実施形態によるファイルシステム管理装置は、ユーザから所定データについての入力値が入力されるユーザ入力部１１０と、データを保存する所定サイズの複数のデータブロックを含むデータ保存部１２０と、各データブロックに保存されたデータについてのデータ情報を保存するデータ情報保存部１３０と、前記保存されたデータ情報を通じてデータ保存部１２０の各データブロックで空き空間を判断し、判断結果による空き空間に入力値によるデータを保存する制御部１４０を含みうる。
【００２０】
この際、データ情報保存部１３０に保存されるデータ情報は、各データブロックの総使用空間及び各データブロックに保存された各データの使用空間などを含みうるが、これに限定されるものではない。
【００２１】
以下、本発明の実施形態で使われる用語のうち、各データブロックの総使用空間に関するデータ情報を‘ブロックマップ’と称し、各データブロックに保存された各データの使用空間に関するデータ情報を‘サブブロックマップ’と称する。
【００２２】
したがって、ブロックマップは、所定のデータブロックに保存されるデータの数と関係なく、該当データブロックに保存されたデータの使用空間に関する情報を含み、サブブロックマップは、所定データブロックに保存された各データの使用空間、例えば、該当データブロックでの開始位置、使用空間及び他のデータブロックとの連結関係を含みうる。この際、他のデータブロックとの連結関係は、該当データが所定データブロックの空き空間に保存されるには、該当データブロックの空き空間が足りなくて他のデータブロックに分けられて保存された場合、該当データが保存されたデータブロックの連結関係を示しうる。
【００２３】
また、データ情報保存部１３０は、データ保存部１２０とハードウェアー的に統合されて構成されてもよく、ハードウェアー的に別途に構成されても良い。例えば、データ保存部１２０がハードディスク及びフラッシュメモリのような記録媒体からなる場合、データ情報保存部１３０は、ハードディスク及びフラッシュメモリに共に構成されても良く、別途の記録媒体で構成されても良い。
【００２４】
制御部１４０は、前述したブロックマップとサブブロックマップを通じて各データブロックでデータが保存されていない空き空間を判断でき、判断結果による空き空間にユーザ入力部１１０に入力された入力値によるデータを保存しうる。この際、制御部１４０は、所定データブロックの空き空間に入力値によるデータをいずれも保存するか、空き空間が不足した場合には他のデータブロックに分けて保存しうる。
【００２５】
また、制御部１４０は、ユーザ入力部１１０に入力された入力値によるデータを保存した場合には、ブロックマップとサブブロックマップとを更新して、ユーザが今後にデータを保存する場合に参照しうる。また、ブロックマップとサブブロックマップとの更新は、データが保存された場合だけではなく、各データブロックに保存されたデータが削除される場合にもなされうる。
【００２６】
具体的に、制御部１４０は、データ保存部１２０の各データブロックが１００ＫＢの大きさを有し、所定データブロックに保存されたデータの大きさが５０ＫＢである場合、前述したブロックマップを通じて該当データブロックの空き空間が５０ＫＢであることを判断しうる。この際、ユーザが保存しようとするデータの大きさが７０ＫＢである場合、該当データブロックの空き空間が５０ＫＢであるために、総７０ＫＢのうち、５０ＫＢを保存し、他のデータブロックに２０ＫＢを保存しうる。この際、１つのデータが２つのデータブロックに分けられて保存されるが、制御部１４０は、前述したサブブロックマップに記録されたデータが保存されたデータブロック間の連結関係を通じて該当データに容易に接近しうる。このようなサブブロックマップは、データが始まるデータブロック、該当データブロックでの開始位置、他のデータブロックの連結関係及び該当データの大きさなどを含みうる。
【００２７】
図４は、本発明の実施形態によるファイルシステム構造が示された図面である。
【００２８】
示されたように、本発明の実施形態によるデータ保存部１２０は、所定サイズを有する複数のデータブロック１２１〜１２９からなり、データ情報保存部１３０はデータ保存部１２０に保存されたデータについてのデータ情報であるブロックマップ、サブブロックマップ及びデータ保存部１２０の各データブロック１２１〜１２９で空き空間についての情報を含むプリブロックマップが各々保存されたデータブロック１３１、１３２、１３３からなりうる。この際、本発明の実施形態でデータ情報保存部１３０のデータブロック１３１、１３２、１３３は、データ保存部１２０のデータブロック１２１〜１２９と同じ大きさを有する場合を例として説明する。また、本発明の実施形態で、データ保存部１２０とデータ情報保存部１３０との各データブロックは同じ大きさを有し、データ保存部１２０及びデータ情報保存部１３０がハードウェアー的に統合されて構成される場合を例として説明する。
【００２９】
この際、前述した図４でデータ保存部１２０及びデータ情報保存部１３０の各データブロック及びデータ保存部１２０に保存されたデータは、各々互いに区別できるＩＤが与えられうる。
【００３０】
以下、本発明の実施形態で使われる用語のうち、各データブロックに与えられたＩＤを‘ブロックＩＤ’と称し、各データに与えられたＩＤを‘サブブロックＩＤ’と称する。また、本発明の実施形態では、ブロックＩＤとサブブロックＩＤとの区分のためにブロックＩＤは、Ａ０，Ａ１，Ａ２，Ａ３，…のような形式で表示し、サブブロックＩＤは、Ｂ０，Ｂ１，Ｂ２，Ｂ３，…のような形式で表示する場合を例として説明する。
【００３１】
ここで、サブブロックＩＤは、所定データに対して各データブロックのブロックＩＤの順序によって順次に与えられうる。例えば、所定データが、ブロックＩＤがＡ３であるデータブロックとＡ４であるデータブロックとに分けられて保存された場合、ブロックＩＤがＡ３であるデータブロックで、サブブロックＩＤ  Ｂ４が与えられれば、ブロックＩＤがＡ４であるデータブロックではサブブロックＩＤ  Ｂ５が与えられる。したがって、該当データは、サブブロックＩＤとしてＢ４とＢ５とを有しうる。本発明の実施形態では、所定データが複数のデータブロックに分けられて保存された場合、各データブロックでの連結関係のために各データブロックに対して相異なるサブブロックＩＤを与える場合を例として説明しているが、これに限定されず、該当データが始まるデータブロックでの開始位置とデータの大きさのように多様な方法を通じて該当データについての各データブロックに対する連結関係を確認しうる。
【００３２】
この際、本発明の理解を助けるために本発明の実施形態では、前述した図４でデータ保存部１２０に保存された各データのサブブロックＩＤとデータ名との関係を、表１のような場合を例として説明する。
【００３３】
【表１】
2006294023.tif 000003
また、前述した表１のサブブロックＩＤを有するデータが前述した図４のようなデータ保存部１２０に保存された場合、各データブロックに対するブロックマップは、表２のようであり、表２は該当データブロックのブロックＩＤと使用空間とでなされうる。
【００３４】
【表２】
2006294023.tif 000004
また、前述した表２のブロックマップと共に、各データブロック１２１〜１２９に保存された各データのデータ情報を表すサブブロックマップは表３のようである。
【００３５】
【表３】
2006294023.tif 000005
前述した表３でＥＯＦ（エンドオブファイル）は、該当データの終端を意味するものであって、前述した表３で次のサブブロックＩＤ項目にＥＯＦが表示されたデータはこれ以上次のサブブロックＩＤを探索しなくなる。
【００３６】
一方、制御部１４０は、前述したデータ保存部１２０で空き空間を前述したプリブロックマップを通じて管理する。例えば、前述した図４のようにデータ保存部１２０に空き空間が存在する場合、プリブロックマップ１３３は表４のようである。
【００３７】
【表４】
2006294023.tif 000006
以下、本発明の実施形態によるファイルシステム管理装置の動作を説明する。
【００３８】
この際、本発明のファイルシステム管理方法は、データ保存部１２０へのデータ保存、削除及びコピーに適用でき、本発明の実施形態ではデータ保存部１２０に所定のデータを保存及び削除する場合を例として説明する。
【００３９】
図５は、本発明の実施形態によってデータ保存部にデータを保存する方法が示された図面である。
【００４０】
示されたように、本発明の実施形態によるファイルシステム管理方法は、まずユーザがデータ保存部１２０で所定のデータを保存するための入力値をユーザ入力部１００を通じて入力する（Ｓ１１０）。
【００４１】
制御部１４０は、入力された入力値に該当するデータによるデータ情報を判断する（Ｓ１２０）。この際、制御部１４０により判断されるデータ情報は該当データの大きさでありうる。
【００４２】
また、制御部１４０は、前述したプリブロックマップ１３３を参照して現在データ保存部１２０の空き空間を判断する（Ｓ１３０）。
【００４３】
制御部１４０は、データ保存部１２０で空き空間の判断が完了すれば、判断された空き空間に入力された入力値によるデータを保存する（Ｓ１４０）。
【００４４】
この際、制御部１４０は、データが保存完了すれば、前述したブロックマップ、サブブロックマップ及びプリブロックマップを更新する（Ｓ１５０）。この際、更新されるブロックマップは、前述した表２で入力値によって保存されたデータの使用空間が追加され、サブブロックマップは入力値によるデータが１つのデータブロックにいずれも保存された場合には、１つのサブブロックＩＤが与えられ、少なくとも１つ以上のデータブロックに分けられて保存された場合には、データブロックごとに１つのサブブロックＩＤを与えて前述した表１を更新しうる。
【００４５】
また、プリブロックマップも入力値によるデータが保存された後、データ保存部１２０でデータの保存されていない空き空間を更新する。
【００４６】
具体的に、前述した図４のようなデータ保存部１２０で図６のようにサブブロックＩＤがＢ１２であり、大きさが５０ＫＢであるデータが保存された場合、前述したブロックマップ、サブブロックマップ及びプリブロックマップは、各々表５、表６及び表７のようである。
【００４７】
【表５】
2006294023.tif 000007
【００４８】
【表６】
2006294023.tif 000008
【００４９】
【表７】
2006294023.tif 000009
このように本発明の実施形態によるファイルシステム管理方法は、前述したようなデータを保存した場合だけでなく、既にデータ保存部１２０に保存されたデータを削除する場合にも類似して適用されうる。
【００５０】
図７は、本発明の実施形態によってデータ保存部に保存されたデータを削除する方法が図示された図面である。
【００５１】
示されたように、本発明の実施形態によるファイルシステム管理方法は、まずユーザがデータ保存部１２０で所定のデータを削除するための入力値をユーザ入力部１００を通じて入力する（Ｓ２１０）。
【００５２】
制御部１４０は、入力された入力値に該当するデータによるデータ情報を判断する（Ｓ２２０）。この際、制御部１４０により判断されるデータ情報は、該当データのサブブロックＩＤ及び大きさなどでありうる。
【００５３】
また、制御部１４０は、前述したブロックマップ、サブブロックマップ及びプリブロックマップを参照して該当データが保存された位置を判断する（Ｓ２３０）。
【００５４】
制御部１４０は、ブロックマップ、サブブロックマップ及びプリブロックマップを通じて該当データの位置が判断されれば、判断結果によるデータを削除する（Ｓ２４０）。
【００５５】
この際、制御部１４０は、データの削除が完了すれば、前述したブロックマップ、サブブロックマップ及びプリブロックマップを更新する（Ｓ２５０）。
具体的に、前述した図４のようなデータ保存部１２０に保存されたデータが、図８のようにデータ保存部１２０からサブブロックＩＤが各々Ｂ１及びＢ９であるデータが削除された場合、前述したブロックマップ、サブブロックマップ及びプリブロックマップは各々表８、表９及び表１０のようである。
【００５６】
【表８】
2006294023.tif 000010
【００５７】
【表９】
2006294023.tif 000011
【００５８】
【表１０】
2006294023.tif 000012
以上、本発明によるファイルシステム管理装置及び方法を例示された図面を参照として説明したが、本発明は本明細書に開示された実施例及び図面によって限定されるものではなく、その発明の技術思想範囲内で当業者により多様に変形可能であることはいうまでもない。
【産業上の利用可能性】
【００５９】
本発明は、ファイルシステム管理装置及び方法に関連した技術分野に好適に適用されうる。
【図面の簡単な説明】
【００６０】
【図１】一般的なファイルシステム構造が図示された図である。
【図２】従来技術によってデータが保存されたファイルシステム構造が示された図である。
【図３】本発明の実施形態によるファイルシステム管理装置が示された図である。
【図４】本発明の実施形態によるファイルシステム構造が示された図である。
【図５】本発明の実施形態によってデータ保存部にデータを保存する方法が示された図である。
【図６】図４においてデータが追加保存されたファイルシステム構造が示された図である。
【図７】本発明の実施形態によってデータ保存部に保存されたデータを削除する方法が図示された図である。
【図８】本発明の実施形態によるデータ保存部に保存されたデータが削除されたファイルシステム構造が示された図である。
【符号の説明】
【００６１】
１１０      ユーザ入力部
１２０      データ保存部
１３０      データ情報保存部
１４０      制御部
【図１】
2006294023.tif 000013
【図２】
2006294023.tif 000014
【図３】
2006294023.tif 000015
【図４】
2006294023.tif 000016
【図５】
2006294023.tif 000017
【図６】
2006294023.tif 000018
【図７】
2006294023.tif 000019
【図８】
2006294023.tif 000020