JP2008123104A - データアクセス装置 - Google Patents
データアクセス装置 Download PDFInfo
- Publication number
- JP2008123104A JP2008123104A JP2006304219A JP2006304219A JP2008123104A JP 2008123104 A JP2008123104 A JP 2008123104A JP 2006304219 A JP2006304219 A JP 2006304219A JP 2006304219 A JP2006304219 A JP 2006304219A JP 2008123104 A JP2008123104 A JP 2008123104A
- Authority
- JP
- Japan
- Prior art keywords
- data
- file
- block
- cluster number
- differential
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】保護を対象とするファイルから容易にログデータを取得することができるデータアクセス装置を得る。
【解決手段】ディレクトリエントリの予約領域に、差分データが保持されているデータの論理ブロック番号を示す差分クラスタ番号と、差分データのブロック番号を示す代替クラスタ番号とを格納する。データ検索部102は、ディレクトリエントリから差分クラスタ番号と代替クラスタ番号とを読み込む。データ更新部105は、差分クラスタ番号のデータブロックを更新する場合、更新前のデータブロックに対応したブロック番号を代替クラスタ番号に設定する。
【選択図】図1
【解決手段】ディレクトリエントリの予約領域に、差分データが保持されているデータの論理ブロック番号を示す差分クラスタ番号と、差分データのブロック番号を示す代替クラスタ番号とを格納する。データ検索部102は、ディレクトリエントリから差分クラスタ番号と代替クラスタ番号とを読み込む。データ更新部105は、差分クラスタ番号のデータブロックを更新する場合、更新前のデータブロックに対応したブロック番号を代替クラスタ番号に設定する。
【選択図】図1
Description
この発明は、主として携帯情報端末や携帯電話といった電子機器に搭載され、フラッシュメモリやハードディスクといったメディアにアクセスするデータアクセス装置に関するものである。
従来のデータアクセス装置は、ディスクに格納した保護対象ファイルのデータが変化する際に、端末装置に搭載したOS(オペレーティングシステム)の機能が提供するファイルのデータ変化情報をリアルタイムに取得し、ファイルのデータ変化情報に対して、ロギングデータの取得を行っていた(例えば、特許文献1参照)。
従来のデータアクセス装置では、ファイルのログ情報を管理するためのロギング領域を端末装置内にファイル単位でバックアップを作成する。このため、バックアップデータを探し出す際に、ファイルに関連したロギングデータをロギング領域から別途、検索する必要があり、操作が面倒であると共に、ロギングデータ件数が増大するにつれ、ロギングデータを取得するまでの時間が件数に比例してかかるという問題点があった。
この発明は上記のような課題を解決するためになされたもので、保護を対象とするファイルから容易にログデータを取得することができるデータアクセス装置を得ることを目的とする。
この発明に係るデータアクセス装置は、ファイルのディレクトリエントリの予約領域から、差分データが保持されているデータの論理ブロック番号を示す差分クラスタ番号と、差分データのブロック番号を示す代替クラスタ番号とを読み込むデータ読取手段と、差分クラスタ番号のデータブロックを更新する場合、更新前のデータブロックに対応したブロック番号を代替クラスタ番号に設定する差分データ更新手段とを備えたものである。
この発明のデータアクセス装置は、ディレクトリエントリの予約領域に差分クラスタ番号と代替クラスタ番号とを格納し、差分クラスタ番号のデータブロックを更新する場合、更新前のデータブロックに対応したブロック番号を代替クラスタ番号に設定するようにしたので、保護を対象とするファイルから容易にログデータを取得することができる。
実施の形態1.
図1は、この発明の実施の形態1によるデータアクセス装置を示す構成図である。
データアクセス装置は、例えば、携帯情報端末や携帯電話に搭載され、データアクセス装置には大容量ストレージであるハードディスクがメディア1として接続される。メディア1は、データアクセス装置に対して、接続が可能であればハードディスクである必要はなく、フロッピー(登録商標)ディスクやフラッシュメモリのメモリカードのような挿抜可能なリムーバブルメディアでも良い。データ読込部2は、データ管理部100の命令を受けて、メディア1に保存されているファイルで、必要なデータの読込処理を実行する機能部である。データ書込部3は、データ管理部100の命令を受けて、メディア1にデータを保存するために、必要なデータの書込処理を実行する機能部である。データ管理部100は、データ読込部2やデータ書込部3に対して、必要な命令を要求し、必要な制御を実施するための機能部である。
図1は、この発明の実施の形態1によるデータアクセス装置を示す構成図である。
データアクセス装置は、例えば、携帯情報端末や携帯電話に搭載され、データアクセス装置には大容量ストレージであるハードディスクがメディア1として接続される。メディア1は、データアクセス装置に対して、接続が可能であればハードディスクである必要はなく、フロッピー(登録商標)ディスクやフラッシュメモリのメモリカードのような挿抜可能なリムーバブルメディアでも良い。データ読込部2は、データ管理部100の命令を受けて、メディア1に保存されているファイルで、必要なデータの読込処理を実行する機能部である。データ書込部3は、データ管理部100の命令を受けて、メディア1にデータを保存するために、必要なデータの書込処理を実行する機能部である。データ管理部100は、データ読込部2やデータ書込部3に対して、必要な命令を要求し、必要な制御を実施するための機能部である。
次に、データ管理部100について説明する。
データ管理部100は、データ取得部101、データ検索部102、エントリ管理部103、データ解析部104、データ更新部105、データ復旧部106を備えている。データ取得部101は、ユーザの指定やシステム内で重要とされるファイルに対して、メディア1内でのファイルの位置と更新するデータの内容を保持し、ファイルで構成する情報とは別に、差分情報をメディアに保持するかを決定する機能を有している。データ検索部102は、データ取得部101で入力されたパス名から、パス名を構成するディレクトリを解析し、ファイルを見つけ出すまでのブロックを呼び出す機能を有している。また、データ検索部102は、メディア1の論理ブロック番号と物理ブロック番号の管理を行っており、データ読込部2に対して、メディア1より読み込むブロックの位置を指示する。エントリ管理部103は、データ検索部102で読み込まれたブロックより、必要なディレクトリエントリを探し出し、ファイルやディレクトリの属性情報の取得や設定を行う。
データ管理部100は、データ取得部101、データ検索部102、エントリ管理部103、データ解析部104、データ更新部105、データ復旧部106を備えている。データ取得部101は、ユーザの指定やシステム内で重要とされるファイルに対して、メディア1内でのファイルの位置と更新するデータの内容を保持し、ファイルで構成する情報とは別に、差分情報をメディアに保持するかを決定する機能を有している。データ検索部102は、データ取得部101で入力されたパス名から、パス名を構成するディレクトリを解析し、ファイルを見つけ出すまでのブロックを呼び出す機能を有している。また、データ検索部102は、メディア1の論理ブロック番号と物理ブロック番号の管理を行っており、データ読込部2に対して、メディア1より読み込むブロックの位置を指示する。エントリ管理部103は、データ検索部102で読み込まれたブロックより、必要なディレクトリエントリを探し出し、ファイルやディレクトリの属性情報の取得や設定を行う。
データ読込部2、データ取得部101、データ検索部102、エントリ管理部103で、ファイルのディレクトリエントリの予約領域から、差分データが保持されているデータの論理ブロック番号を示す差分クラスタ番号と、差分データのブロック番号を示す代替クラスタ番号とを読み込むデータ読取手段を構成している。
データ解析部104は、エントリ管理部103により取得されたファイルの属性情報のうち、属性情報にファイルの差分データが保持されているかを判定し、必要に応じてファイルの更新の有無を判断するための機能部である。データ更新部105は、データ解析部104で更新が必要であると判断された場合、復旧用のクラスタをメディアに確保し、ファイル内に保存するデータと、復旧用に保存するデータを判断し、データ書込部3に対して、書き込み先を指定するよう構成されている。これらデータ解析部104とデータ更新部105及びデータ検索部102で、差分クラスタ番号のデータブロックを更新する場合、更新前のデータブロックに対応したブロック番号を代替クラスタ番号に設定する差分データ更新手段を構成している。
データ復旧部106は、データ読込部2でメディア1より正常にデータを読み込めない場合に、データ解析部104で把握している属性情報を用いて、メディア1内のファイルが正常に読み込めるようにデータを更新する機能部である。そして、これらデータ解析部104、データ更新部105、データ復旧部106及びデータ検索部102で、差分クラスタ番号に対応したブロックが読み込めない場合、代替クラスタ番号に示すブロックのデータを取り出し、差分クラスタ番号のデータとして設定してファイルを復旧するデータ復旧手段を構成している。
尚、上記データ管理部100におけるデータ取得部101〜データ復旧部106の各構成は、それぞれの機能に対応するソフトウェアと、これを実行するためのCPUやメモリ等のハードウェアから実現されている。
図2は、MS−DOSのFAT(File Allocation Table)型のファイルシステムにおいて、ファイルの属性情報であるディレクトリエントリを示す説明図である。
図2のディレクトリエントリは32バイトで構成され、FAT型のファイルシステムで管理されているメディア1においてディレクトリやファイルの情報を格納する。ファイルを特定するディレクトリエントリの場合、ディレクトリ内で一意に特定されるファイル名と、ファイルの種別を示す拡張子と、ファイルの性質を示す属性と、ファイルが格納される領域を示す予約領域と、ファイルの作成された日時や更新された日時を示す更新日時と、ファイルの格納先を示すクラスタ番号と、ファイルのサイズを示すファイルサイズと、保護するデータを格納するクラスタ番号を格納する差分クラスタ番号、差分クラスタ番号がファイルを構成するどのクラスタの代替かを示す代替クラスタ番号から構成される。
図2のディレクトリエントリは32バイトで構成され、FAT型のファイルシステムで管理されているメディア1においてディレクトリやファイルの情報を格納する。ファイルを特定するディレクトリエントリの場合、ディレクトリ内で一意に特定されるファイル名と、ファイルの種別を示す拡張子と、ファイルの性質を示す属性と、ファイルが格納される領域を示す予約領域と、ファイルの作成された日時や更新された日時を示す更新日時と、ファイルの格納先を示すクラスタ番号と、ファイルのサイズを示すファイルサイズと、保護するデータを格納するクラスタ番号を格納する差分クラスタ番号、差分クラスタ番号がファイルを構成するどのクラスタの代替かを示す代替クラスタ番号から構成される。
次に動作について説明する。先ず、FAT型ファイルシステムの概要について説明する。FAT型ファイルシステムは、セクタと呼ばれる単位でデータを記録し、1セクタには、通常512バイトのデータを記録することが可能である。セクタは、物理アドレスによりメディアの物理的な位置が一意に決定され、先頭のセクタより連続的な番号が振られている。しかし、データにアクセスする際、一般的には、物理アドレスでメディアの物理的な位置を指定することはなく、論理セクタ番号でメディアの位置を指定してアクセスする。その理由は、メディアの種類によっては、メディアの物理構造が異なるためで、ファイルシステムにおいて、セクタを物理アドレスで管理する場合、扱うメディアが多種に渡ると、多種のメディア毎にセクタを管理する必要性が生じるためである。そこで、アドレスを指定する際には論理アドレスを使用し、論理アドレスに対する物理アドレスは、メディアに応じたドライバが変換するようにする。これにより、ファイルシステムはメディア毎に対応しなくて済むようになる。
次に、メディア1がデータアクセス装置と接続されているとき、指定されたパス名に該当するファイル名を検索し、差分データの存在を確認するまでの手順を説明する。
メディア1がFAT型ファイルシステムで構成されている場合、メディア1内のファイルにアクセスする場合には、メディア内に記載されているディレクトリエントリを探索する必要がある。ファイル指定はパス名より一意に指定されることで、ルートディレクトリより目的のディレクトリ一覧から見つけ出すことが可能となる。
メディア1がFAT型ファイルシステムで構成されている場合、メディア1内のファイルにアクセスする場合には、メディア内に記載されているディレクトリエントリを探索する必要がある。ファイル指定はパス名より一意に指定されることで、ルートディレクトリより目的のディレクトリ一覧から見つけ出すことが可能となる。
ファイルのディレクトリエントリを探し出すためには、データ取得部101に対して指定されたパス名をデータ検索部102に引渡し、パス名の解析を行い、データ読込部2で必要となるクラスタをデータ検索部102が特定し、読み込まれたクラスタの内容から属性情報を取得するためにエントリ管理部103で解析する。
パス名により指定されたファイル名は、ルートディレクトリより探し出され、パス付ファイル名で指定されたファイル名のうち、“/”で区分されている先頭より抽出したディレクトリ名より読み込みを開始する。“/”で区分して得られるディレクトリ名と32バイトより構成されるディレクトリエントリ内のファイル名を比較し、一致するディレクトリエントリを探し出す。データ検索部102で読み込むデータの中から一致するディレクトリエントリが存在し場合、ディレクトリエントリより次に読み込むべきクラスタ番号を取得する。データ検索部102は、データ読込部2よりメディア1に対して、取得したクラスタ番号を読み込むように命令する。
読み込まれたクラスタは、更にデータとしてルートディレクトリと同様に32バイトより構成されるディレクトリエントリが連続して格納されている。パス名により“/”で区分されているファイル名を算出して、データ検索部102は、読み込んだクラスタ内のデータと比較し、ディレクトリエントリのファイル名と一致するものが存在するかを確認する。パス名において、パスの最後はファイル名を示すため、パス付きファイル名のファイル名の一つ前にあるディレクトリ名までの検索を行い、一致するディレクトリを探し出す。
データ検索部102で、パス名で指定されたファイルのディレクトリエントリが特定されたことで、指定したファイルのディレクトリエントリが取得できる。次にエントリ管理部103は、ディレクトリエントリに含まれている属性情報の全てを取得する。データ解析部104では、エントリ管理部103で取得された属性情報から、論理ブロック番号で記載されているクラスタ番号と、予約領域内に含まれている差分クラスタ番号を取得する。予約領域は、何も定義されていない値が入っていない場合は、通常のファイルシステムと同じで、ファイルが構成する以外の情報を保持していないと判定する。しかし予約領域の例えば、先頭2バイトの位置に、メディアを構成するクラスタの範囲内の番号が格納されていた場合には、ファイルとは別に、差分データが存在すると判定する。尚、本実施の形態では、先頭2バイトの位置に差分クラスタ番号が格納されるよう予め決められているが、予約領域内であれば、どの位置であってもよい。
メディア1に保存されているファイルの他に、差分データをメディア1に保持するかは、データ取得部101が決定している。データ取得部101は、例えばメディア1に保存されているファイルのうち、ユーザが重要と判断したファイルに重み付けを行い、データの更新対象となった場合に、差分データを取得して保存するように判断する。
先ず、差分データを作成しない場合の一般的なデータ修正処理を説明する。
図3は、差分データを作成しない場合の説明図である。
先ず、データを更新するための場所を特定するために、ファイル内の位置を特定する。データ解析部104では、ファイルの属性情報を把握しているので、ディレクトリエントリより取得した開始クラスタ(0x0002)よりデータを読み込む。開始クラスタ番号がデータ検索部102に渡されると、データ検索部102は論理ブロック番号である開始クラスタ番号を該当する物理ブロック番号(0x0010)に変換する。尚、論理ブロック番号と物理ブロック番号との対応関係を示すデータはメディア1に格納されており、データ検索部102は、この対応関係を示すデータを取得することでそのメディア1における論理ブロックと物理ブロックとの対応関係を把握する。
図3は、差分データを作成しない場合の説明図である。
先ず、データを更新するための場所を特定するために、ファイル内の位置を特定する。データ解析部104では、ファイルの属性情報を把握しているので、ディレクトリエントリより取得した開始クラスタ(0x0002)よりデータを読み込む。開始クラスタ番号がデータ検索部102に渡されると、データ検索部102は論理ブロック番号である開始クラスタ番号を該当する物理ブロック番号(0x0010)に変換する。尚、論理ブロック番号と物理ブロック番号との対応関係を示すデータはメディア1に格納されており、データ検索部102は、この対応関係を示すデータを取得することでそのメディア1における論理ブロックと物理ブロックとの対応関係を把握する。
データ読込部2では、データ検索部102から指示された物理ブロック番号の内容を読み出し、データ検索部102を介して、データ解析部104に応答する。データの内容が連続して形成されるよう、データが格納される論理ブロック番号の順はFATで管理されているため、FATを介してデータが出現するまで、データ検索部102よりデータ読込部2に対して読み込みを行うことを命令する。
データ読込部2では、データ取得部101より更新対象となるデータが出現するまで、ファイルを連続して読み込む。データ解析部104は、読み込まれたデータの内容を確認し、データ取得部101より更新したいデータが存在する論理ブロック(=0x0003)を特定する。データ解析部104では、特定された論理ブロックの論理ブロック番号に基づき、メディア1にデータが格納されている物理ブロック番号である旧物理ブロック番号をデータ検索部102に問い合わせ、得られた論理ブロック番号(0x0003)と旧物理ブロック番号(0x0014)とを、データ更新部105に渡す。
次に、データ更新部105は、修正内容を物理ブロック番号(0x0016)に書き込むようデータ書込部3に指示を行うと共に、論理ブロック番号(0x0003)に、物理ブロック番号を(0x0016)を関連付ける。また、物理ブロック番号(0x0014)の内容は、次に使われるための準備として消去される。このように、論理ブロック番号に対応した物理ブロック番号は必ず一つ存在する。
次に、差分データ作成処理を説明する。この差分データ作成処理として二つの手法があり、先ず、第1の手法について説明する。
図4は、差分データを作成する場合の第1の手法を示す説明図である。
上述した差分データを作成しない場合と同様に、修正対象ブロックが論理ブロック番号(0x0003)であるとする。データ更新部105は、修正対象ブロックの論理ブロック番号(0x0003)を差分クラスタ番号として指定する。また、修正されたデータは論理ブロック番号(0x0003)に対して、物理ブロック番号(0x0016)を割り当てる。一方、元々論理ブロック番号(0x0003)に割り当てられていた物理ブロック番号(0x0014)は、内容を消去せず、不良ブロック扱いとする。そして、データ更新部105は、代替クラスタ番号として、不良ブロック扱いとした物理ブロック番号(0x0014)を格納する。
図4は、差分データを作成する場合の第1の手法を示す説明図である。
上述した差分データを作成しない場合と同様に、修正対象ブロックが論理ブロック番号(0x0003)であるとする。データ更新部105は、修正対象ブロックの論理ブロック番号(0x0003)を差分クラスタ番号として指定する。また、修正されたデータは論理ブロック番号(0x0003)に対して、物理ブロック番号(0x0016)を割り当てる。一方、元々論理ブロック番号(0x0003)に割り当てられていた物理ブロック番号(0x0014)は、内容を消去せず、不良ブロック扱いとする。そして、データ更新部105は、代替クラスタ番号として、不良ブロック扱いとした物理ブロック番号(0x0014)を格納する。
ここで、代替ブロックや不良ブロックはメディア1としての容量には含まれないため、第1の手法ではメディア1としての見かけ上の容量が減少することがない。
次に、上記第1の手法で差分データが作成された場合の、差分データの復元動作について説明する。
図5は、第1の手法の復元動作の説明図である。
データ取得部101により、データ検索部102に対して更新するファイル名を含むパス名が指定されると、データ検索部102は、パス名を解析して、ファイルを構成している開始クラスタ番号を取得する。更新するデータの対象となるファイルは、取得した開始クラスタ番号より読み込みが開始されるが、読み込めないブロックが発生した場合、エントリ管理部103は、ファイルが破損していると判断する。読み込めないブロックの論理ブロック番号が、ディレクトリエントリの差分クラスタ番号と一致した場合、データ解析部104は、データ復旧部106に対してこのブロックを復旧するように命令する。
図5は、第1の手法の復元動作の説明図である。
データ取得部101により、データ検索部102に対して更新するファイル名を含むパス名が指定されると、データ検索部102は、パス名を解析して、ファイルを構成している開始クラスタ番号を取得する。更新するデータの対象となるファイルは、取得した開始クラスタ番号より読み込みが開始されるが、読み込めないブロックが発生した場合、エントリ管理部103は、ファイルが破損していると判断する。読み込めないブロックの論理ブロック番号が、ディレクトリエントリの差分クラスタ番号と一致した場合、データ解析部104は、データ復旧部106に対してこのブロックを復旧するように命令する。
データ復旧部106は、破損している論理ブロックが使用できないことをデータ更新部105に通知し、データ検索部102で把握しているブロックの管理において、該当する物理ブロック番号が使用できないことを設定する。データ復旧部106は、次に差分クラスタ番号により保持されている論理ブロック番号をデータ解析部104よりデータ検索部102に通知し、破損している論理ブロック番号の物理ブロック番号(0x0016)を、代替クラスタ番号に関連付けられている物理ブロック番号(0x0014)に置き換えるように命令する。
データ検索部102は、論理ブロック番号(0x0003)に対応する物理ブロック番号は(0x0014)として割り当てを行って、割り当て結果をデータ更新部105に通知する。また、予約領域内の差分クラスタ番号と代替クラスタ番号は無効になるため、データ更新部105は、論理ブロック番号と物理ブロック番号の対応関係を新たな割り当てで更新すると共に、予約領域内の差分クラスタ番号と代替クラスタ番号を削除するようデータ書込部3に指示する。
次に、差分データの作成及び差分データの復元処理における第2の手法を説明する。
図6は、差分データ作成の第2の手法を示す説明図である。
上記第1の手法と同様に、論理ブロック番号(0x0003)の論理クラスタが修正対象ブロックであるとする。データ更新部105は、修正対象のクラスタ(=0x0003)を差分クラスタ番号として設定する。データ検索部102は、修正されたデータの論理ブロック番号(0x0003)に対して、物理ブロック番号(0x0011)を割り当てる。また、元々、論理ブロック番号(0x0003)に割り当てられていた物理ブロック番号(0x0014)は、内容を消去せず、未使用であった論理ブロック番号(0x0005)に関連付けされる。また、代替クラスタ番号として、差分データのブロックに対応した論理ブロック番号(0x0005)を設定する。更に、論理ブロック番号(0x0005)は使用済みであることを示す0xFFとする。そして、データ更新部105は、このような割り当てをメディア1に書き込むようデータ書込部3に指示する。
図6は、差分データ作成の第2の手法を示す説明図である。
上記第1の手法と同様に、論理ブロック番号(0x0003)の論理クラスタが修正対象ブロックであるとする。データ更新部105は、修正対象のクラスタ(=0x0003)を差分クラスタ番号として設定する。データ検索部102は、修正されたデータの論理ブロック番号(0x0003)に対して、物理ブロック番号(0x0011)を割り当てる。また、元々、論理ブロック番号(0x0003)に割り当てられていた物理ブロック番号(0x0014)は、内容を消去せず、未使用であった論理ブロック番号(0x0005)に関連付けされる。また、代替クラスタ番号として、差分データのブロックに対応した論理ブロック番号(0x0005)を設定する。更に、論理ブロック番号(0x0005)は使用済みであることを示す0xFFとする。そして、データ更新部105は、このような割り当てをメディア1に書き込むようデータ書込部3に指示する。
このように差分データが作成される第2の手法を適用した場合の差分データの復元動作を次に説明する。
図7は、差分データを復元する場合の第2の手法の説明図である。
読み込めないブロックの論理ブロック番号が、ディレクトリエントリの差分クラスタ番号と一致した場合、データ解析部104は、データ復旧部106に対して復旧するように命令する。
図7は、差分データを復元する場合の第2の手法の説明図である。
読み込めないブロックの論理ブロック番号が、ディレクトリエントリの差分クラスタ番号と一致した場合、データ解析部104は、データ復旧部106に対して復旧するように命令する。
データ復旧部106は、破損している論理ブロックが使用できないことをデータ更新部105に通知し、データ検索部102で把握しているブロックの管理において、該当する物理ブロック番号が使用できないことを設定する。データ復旧部106は、次に差分クラスタ番号により保持されている論理ブロック番号をデータ解析部104よりデータ検索部102に通知し、破損している論理ブロック番号の物理ブロック番号(0x0016)を、代替クラスタ番号に設定されている論理ブロック番号(0x0005)に割り当てられている物理ブロック番号(0x0014)に置き換えるように命令する。
データ検索部102は、論理ブロック番号(0x0003)に対応する物理ブロック番号は(0x0014)として割り当てを行う。また、読み込めないブロックの論理ブロック番号に割り当てられていた物理ブロック番号(0x0011)は、不良ブロックとして扱う。データ更新部105は、これらの割り当てをメディア1に書き込むようデータ書込部3に指示する。また、予約領域内の差分クラスタ番号と代替クラスタ番号が無効になるため、データ更新部105は、これらの番号を削除するようデータ書込部3に指示する。
第2の手法では、このように代替ブロックを使用しないため、例えばフロッピー(登録商標)ディスクのような代替ブロックを備えていないメディア1であっても適用することができる。即ち、第2の手法では、差分データを論理ブロック番号に対応付けて保持するため、フロッピー(登録商標)ディスクのように、代替ブロックを持たず、かつ、論理ブロック番号と物理ブロック番号とが固定的に管理されているようなメディア1であっても適用することができる。
以上のように、実施の形態1では、更新するデータを消去せずに保持したまま、更新すべきデータの内容を別のクラスタに書き込むようにすることで、データを更新する一つ前のデータを保持しておくことができる。また、ファイルが破損した場合でも、通常のファイル操作を行うために必要な領域のみでデータを保持することが出来、破損ブロックを修復することができる。
尚、実施の形態1では、パス付きのファイル名の区切りは“/”で指定することを前提としているが、“¥”による区切りでも内容は同一であり、問題はない。また、読み込み単位をブロックで対応させているが、セクタでも問題はない。また保存するデータの単位は、ブロックでの読込処理や書込処理の操作を行う場合はブロックで、セクタで読込処理や書込処理の操作を行う場合はセクタで管理する。
またディレクトリエントリの更新は、ブロック内で上書きを想定しているが、元のディレクトリエントリを削除して、ディレクトリとの関連が変わらない位置で、新たに記載しても良い。
またディレクトリエントリの更新は、ブロック内で上書きを想定しているが、元のディレクトリエントリを削除して、ディレクトリとの関連が変わらない位置で、新たに記載しても良い。
以上のように実施の形態1のデータアクセス装置によれば、ファイルのディレクトリエントリの予約領域から、差分データが保持されているデータの論理ブロック番号を示す差分クラスタ番号と、差分データのブロック番号を示す代替クラスタ番号とを読み込むデータ読取手段と、差分クラスタ番号のデータブロックを更新する場合、更新前のデータブロックに対応したブロック番号を代替クラスタ番号に設定する差分データ更新手段とを備えたので、ファイルの本体とバックアップの関連が、ファイルの情報からだけで辿ることができる。その結果、ファイル内のデータの欠落やファイルの破損が発生した場合でも、容易にファイルを復旧させることができる。
また、実施の形態1のデータアクセス装置によれば、差分データ更新手段は、代替クラスタ番号として、不良ブロックとして保持したブロックの物理ブロック番号を付与するようにしたので、不良ブロックはファイルを格納するメディアの容量には含まれないため、ユーザが使用可能な領域を使用することがなく、メディアとしての見かけ上の容量を減少させることがないという効果がある。
また、実施の形態1のデータアクセス装置によれば、差分データ更新手段は、代替クラスタ番号として、差分データの物理ブロック番号に対応した論理ブロック番号を付与するようにしたので、メディアとして代替ブロックを持たないものであっても適用可能という効果がある。
また、実施の形態1のデータアクセス装置によれば、差分クラスタ番号に対応したブロックが読み込めない場合、代替クラスタ番号に示すブロックのデータを取り出し、差分クラスタ番号のデータとして設定してファイルを復旧するデータ復旧手段を備えたので、ファイル内のデータの欠落やファイルの破損が発生した場合でも、確実にファイルを復旧させることができる。
尚、上記実施の形態1では、差分データとして更新前のデータを保持するようにしたが、更新後のデータを差分データとして保持するようにしてもよい。即ち、差分データ更新手段が、差分クラスタ番号のデータブロックを更新する場合、更新されるデータを複写したデータブロックのブロック番号を代替クラスタ番号に設定するよう構成してもよい。このように構成することにより、より新しいデータが保持されるため、ファイル内のデータの欠落やファイルの破損が発生した場合でも、その時点により近い状態のファイルを復旧させることができる。
実施の形態2.
実施の形態2は、差分クラスタ番号をFATのチェーンで管理するようにしたものである。図面上の構成は実施の形態1と同様であるため、図1を援用して説明する。実施の形態2のデータ読取手段は、ファイルのディレクトリエントリの予約領域から、ファイルの差分データの先頭ブロックの論理ブロック番号を示す差分クラスタ番号を読み込むよう構成されている。また、差分データ更新手段は、ファイルを更新する場合、差分クラスタ番号を新たに設定すると共に、新たに設定した差分クラスタ番号を先頭クラスタ番号としてFAT領域のクラスタチェーンを更新するよう構成されている。
実施の形態2は、差分クラスタ番号をFATのチェーンで管理するようにしたものである。図面上の構成は実施の形態1と同様であるため、図1を援用して説明する。実施の形態2のデータ読取手段は、ファイルのディレクトリエントリの予約領域から、ファイルの差分データの先頭ブロックの論理ブロック番号を示す差分クラスタ番号を読み込むよう構成されている。また、差分データ更新手段は、ファイルを更新する場合、差分クラスタ番号を新たに設定すると共に、新たに設定した差分クラスタ番号を先頭クラスタ番号としてFAT領域のクラスタチェーンを更新するよう構成されている。
図8は、実施の形態2の説明図である。
開始クラスタ番号は、図2で示したようなディレクトリエントリに格納されている開始クラスタ番号であり、FATの中ではファイルを構成するクラスタチェーンの次クラスタ番号が格納されている。第1の接続クラスタ番号は、開始クラスタ番号の次クラスタ番号が示す論理ブロック番号で、FAT内にはファイルの次のクラスタを構成する次クラスタ番号が格納されている。第2の接続クラスタ番号は、第1の接続クラスタの次に接続されている論理ブロック番号で、ファイルの終了を示す値が、第2の接続クラスタ番号を示すFATの位置に格納されている。
開始クラスタ番号は、図2で示したようなディレクトリエントリに格納されている開始クラスタ番号であり、FATの中ではファイルを構成するクラスタチェーンの次クラスタ番号が格納されている。第1の接続クラスタ番号は、開始クラスタ番号の次クラスタ番号が示す論理ブロック番号で、FAT内にはファイルの次のクラスタを構成する次クラスタ番号が格納されている。第2の接続クラスタ番号は、第1の接続クラスタの次に接続されている論理ブロック番号で、ファイルの終了を示す値が、第2の接続クラスタ番号を示すFATの位置に格納されている。
差分クラスタ番号は、ディレクトリエントリの予約領域内に設定されており、論理ブロック番号が割り当てられている。尚、実施の形態2では、実施の形態1における代替クラスタ番号は設定されない。FAT内には差分クラスタ番号の内容を先頭とするファイルのクラスタチェーンに続く、論理クラスタ番号として、次クラスタ番号が格納されている。
実施の形態1では、差分クラスタ番号には、更新がかけられたブロックに該当する箇所を差分データとして保持したが、本実施の形態では、更新がかけられた際、ファイル全体を差分データと保持することで、破損ブロックの保護を可能とする。
次に、実施の形態2の動作について説明する。
更新の対象となるファイル名を含むパス名が更新される内容と共にデータ更新部105で指定されると、データ検索部102はパス名を受け取り、パス名を解析して、エントリ管理部103でファイル名の属性情報を持つディレクトリエントリを特定する。データ解析部104により、解析された属性情報から、ファイルの開始クラスタ番号と差分クラスタ情報の他に、ファイルサイズを取得する。データ更新部105でファイルの更新を行う前に、開始クラスタ番号よりFATのクラスタチェーンで関連付けられている情報を利用して、連続してクラスタの内容をデータ検索部102が指示し、データ読込部2で読み込む。読み込む際には、まったく同じ内容で複写したブロックを順次作成する。
更新の対象となるファイル名を含むパス名が更新される内容と共にデータ更新部105で指定されると、データ検索部102はパス名を受け取り、パス名を解析して、エントリ管理部103でファイル名の属性情報を持つディレクトリエントリを特定する。データ解析部104により、解析された属性情報から、ファイルの開始クラスタ番号と差分クラスタ情報の他に、ファイルサイズを取得する。データ更新部105でファイルの更新を行う前に、開始クラスタ番号よりFATのクラスタチェーンで関連付けられている情報を利用して、連続してクラスタの内容をデータ検索部102が指示し、データ読込部2で読み込む。読み込む際には、まったく同じ内容で複写したブロックを順次作成する。
開始クラスタ番号をデータ検索部102からデータ読込部2に対して、読み込む命令をした後、データ検索部102はFATより空いている論理クラスタ番号を検索し、内容を複写するようにデータ更新部105に命令する。同じ手順で、開始クラスタ番号に続く、論理ブロック番号で示されている第1の接続クラスタ番号の内容を、差分クラスタ番号に続く第1の接続クラスタ番号に複写する。ファイルを構成するチェーンのクラスタを読み込んで複写したブロックを作成した後、データ更新部105は、差分クラスタ番号を構成とするFATのチェーンを更新し、データ検索部102にて管理する。複写を必要とするブロックの数は、ファイルのデータが構成されているブロック数、即ち、FATにおいてファイルに割り当てられているチェーンのブロック数である。
データ更新後、ファイルを構成している開始クラスタ番号からFATのチェーンの順番に更新する内容を検索して、データ更新部105で把握している更新するデータの内容に置き換える。データの置き換えが終了すると、データ更新部105は、修正されたブロックの書き込みを行うように、データ書込部3に対して命令する。データを更新するタイミングは全ての複写が終了した後に実行しているが、更新がかかるブロックは、更新が終了した後に複写を行う。
ブロック数の数だけの複写とデータの更新が終了すると、データ解析部104は、ディレクトリエントリの差分クラスタ番号が格納されたディレクトリエントリを、エントリ管理部103経由でデータ更新部105に渡し、データ書込部3で、メディア1に対して書き込みを行う。データ更新部105は、差分クラスタより作成されたチェーンの情報を持つFATについても、データ検索部102よりデータ更新部105に対してFAT情報を渡して、データ書込部3で更新する。FATの書き込みは、ディレクトリエントリを書き込み前に行っても良い。
また、データの復旧については、データ復旧部106は、読み込めなかったブロックのみを置き換えるか、あるいは、ファイル全体を置き換えても良い。置き換えの基本的な動作は実施の形態1と同様である。
以上のように、更新するデータの複写を作成することで、常に最新の状態がメディア1内にバックアップされる上、ファイルの本体とバックアップの関連が、ファイルの情報からだけで辿ることができる。そして、ファイルが破損した場合でも、通常のファイル操作を行うために必要な領域のみでデータを保持することが出来る。差分クラスタから開始されるFATのチェーンが、本来のファイルと同等の内容を保持しているため、ファイルのどこが破損しても、該当するブロックが存在するために、必ず復旧することが可能となる。また、実施の形態2においても、差分データの管理に代替ブロックを使用しないため、フロッピー(登録商標)ディスクのような代替ブロックを備えていないメディア1であっても適用することができる。
また、実施の形態2では、ファイルの重要度は、ユーザにより差分データの保持の有無を決定するようにしているが、ファイルの更新がなくても、一定時間の経過により、同じデータを更新するよう構成しても良い。更に、上記例ではファイルは3つのブロックで構成されていることが、この個数に限定されるものではない。
尚、上記実施の形態2では、差分データとしてファイル全体をバックアップするよう構成したが、更新されるデータブロックが最小限含まれるよう構成してもよい。即ち、更新されるデータブロックが複数個に渡って存在する場合、これらのデータブロックをFATのクラスタチェーンで保持することで、ファイル全体をバックアップするのに比べて、必要な容量を少なくすることができる。
また、上記実施の形態2では、更新前のファイルを差分データとして保持したが、更新後のファイルの複写ファイルを差分データとして保持してもよい。
以上のように、実施の形態2のデータアクセス装置によれば、ファイルのディレクトリエントリの予約領域から、ファイルの差分データの先頭ブロックの論理ブロック番号を示す差分クラスタ番号を読み込むデータ読取手段と、ファイルを更新する場合、差分クラスタ番号を新たに設定すると共に、新たに設定した差分クラスタ番号を先頭クラスタ番号としてFAT領域のクラスタチェーンを更新する差分データ更新手段とを備えたので、更新されるデータブロックが複数個に渡る場合でも適用可能で、ファイルの本体とバックアップの関連が、ファイルの情報からだけで辿ることができる。その結果、ファイル内のデータの欠落やファイルの破損が発生した場合でも、容易にファイルを復旧させることができる。
実施の形態3.
実施の形態3は、FAT領域の次領域の設けられている予備FAT領域を用いて差分ファイルの物理ブロック番号を記載するようにしたものである。図面上の構成は、実施の形態1と同様であるため、図1を援用して説明する。
実施の形態3は、FAT領域の次領域の設けられている予備FAT領域を用いて差分ファイルの物理ブロック番号を記載するようにしたものである。図面上の構成は、実施の形態1と同様であるため、図1を援用して説明する。
実施の形態3のデータ読取手段は、FAT領域に対応した予備FAT領域から、ファイルの開始クラスタ番号と接続クラスタ番号とに対応したファイルの差分ファイルの物理ブロック番号を読み込むよう構成されている。また、差分データ更新手段は、ファイルを更新する場合、更新するファイルの差分ファイルのブロックに対応させて予備FAT領域の物理ブロック番号を更新するよう構成されている。
図9は、実施の形態3におけるFATの関係を示す説明図である。
FAT領域には、ディレクトリエントリの先頭クラスタ番号と同じ番号で開始クラスタ番号が格納され、更に、FAT上で開始クラスタ番号のリンク先を示す第1の接続クラスタ番号と、ファイルの最後を示す第2の接続クラスタ番号が格納される。
また、予備FAT領域には、開始クラスタ番号に対応する物理ブロックと同一の内容が複写されたブロックの先頭物理ブロック番号が格納され、更に、第1の接続クラスタ番号の内容が複写されたブロックを示す第1の物理ブロック番号、第2の接続クラスタ番号の内容が複写されたブロックを示す第2の物理ブロック番号が格納されている。
FAT領域には、ディレクトリエントリの先頭クラスタ番号と同じ番号で開始クラスタ番号が格納され、更に、FAT上で開始クラスタ番号のリンク先を示す第1の接続クラスタ番号と、ファイルの最後を示す第2の接続クラスタ番号が格納される。
また、予備FAT領域には、開始クラスタ番号に対応する物理ブロックと同一の内容が複写されたブロックの先頭物理ブロック番号が格納され、更に、第1の接続クラスタ番号の内容が複写されたブロックを示す第1の物理ブロック番号、第2の接続クラスタ番号の内容が複写されたブロックを示す第2の物理ブロック番号が格納されている。
実施の形態1及び実施の形態2では、差分データの管理は論理ブロック番号で管理していたが、実施の形態3では、ファイルの更新が発生した場合、全てのブロック番号の予備として、別の物理ブロックに複写された領域を確保する。
ファイルの更新が発生した場合、データ更新部105は、更新されるブロックの他に、データ検索部102で確保された空きクラスタに内容を複写する。複写されたブロックは、メディア内のFAT領域の次領域にある予備FAT領域の中で、FATの位置に該当する位置に、次のクラスタ番号を記載するのではなく、物理ブロック番号を書き込む。ファイルの更新が発生した場合、全てのブロックに対して複写を実行しても、更新がかかったブロックのみを予備FAT領域に反映させても良い。
また、データの復旧については、データ復旧部106は、読み込めなかったブロックのみを置き換えるか、あるいは、ファイル全体を置き換えても良い。実施の形態3では、データ検索部102で管理されているファイルのクラスタ番号と物理ブロック番号の関係に基づいて、対応する物理ブロック番号のデータを読み込めなかったブロックのデータと置き換える。また、ファイル全体を置き換える場合は、予備FAT領域に格納されている物理ブロック番号に基づいて全てのブロックのデータを読み出し、ファイル全体を復旧する。
以上のように、実施の形態3のデータアクセス装置によれば、FAT領域に対応した予備FAT領域から、ファイルの開始クラスタ番号と接続クラスタ番号とに対応したファイルの差分ファイルの物理ブロック番号を読み込むデータ読取手段と、ファイルを更新する場合、更新するファイルの差分ファイルのブロックに対応させて予備FAT領域の物理ブロック番号を更新する差分データ更新手段とを備えたので、常に最新の状態がバックアップされる上、ファイルの本体とバックアップの関連が、ファイルの情報からだけで辿ることができる。また、論理クラスタ番号が割り振られていないブロックを割り当てることで、本来のデータ容量を減らすことなく、バックアップの作成が可能となる。
1 メディア、2 データ読込部、3 データ書込部、101 データ取得部、102 データ検索部、103 エントリ管理部、104 データ解析部、105 データ更新部、106 データ復旧部。
Claims (7)
- ファイルのディレクトリエントリの予約領域から、差分データが保持されているデータの論理ブロック番号を示す差分クラスタ番号と、前記差分データのブロック番号を示す代替クラスタ番号とを読み込むデータ読取手段と、
前記差分クラスタ番号のデータブロックを更新する場合、更新前のデータブロックに対応したブロック番号を前記代替クラスタ番号に設定する差分データ更新手段とを備えたデータアクセス装置。 - ファイルのディレクトリエントリの予約領域から、差分データが保持されているデータの論理ブロック番号を示す差分クラスタ番号と、差分データのブロック番号を示す代替クラスタ番号とを読み込むデータ読取手段と、
前記差分クラスタ番号のデータブロックを更新する場合、更新されるデータを複写したデータブロックのブロック番号を前記代替クラスタ番号に設定する差分データ更新手段とを備えたデータアクセス装置。 - 差分データ更新手段は、代替クラスタ番号として、不良ブロックとして保持したブロックの物理ブロック番号を付与することを特徴とする請求項1または請求項2記載のデータアクセス装置。
- 差分データ更新手段は、代替クラスタ番号として、差分データの物理ブロック番号に対応した論理ブロック番号を付与することを特徴とする請求項1または請求項2記載のデータアクセス装置。
- 差分クラスタ番号に対応したブロックが読み込めない場合、代替クラスタ番号に示すブロックのデータを取り出し、前記差分クラスタ番号のデータとして設定してファイルを復旧するデータ復旧手段を備えたことを特徴とする請求項1から請求項4のうちのいずれか1項記載のデータアクセス装置。
- ファイルのディレクトリエントリの予約領域から、当該ファイルの差分データの先頭ブロックの論理ブロック番号を示す差分クラスタ番号を読み込むデータ読取手段と、
前記ファイルを更新する場合、前記差分クラスタ番号を新たに設定すると共に、当該新たに設定した差分クラスタ番号を先頭クラスタ番号としてFAT領域のクラスタチェーンを更新する差分データ更新手段とを備えたデータアクセス装置。 - FAT領域に対応した予備FAT領域から、ファイルの開始クラスタ番号と接続クラスタ番号とに対応した前記ファイルの差分ファイルの物理ブロック番号を読み込むデータ読取手段と、
前記ファイルを更新する場合、当該更新するファイルの差分ファイルのブロックに対応させて前記予備FAT領域の物理ブロック番号を更新する差分データ更新手段とを備えたデータアクセス装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006304219A JP2008123104A (ja) | 2006-11-09 | 2006-11-09 | データアクセス装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006304219A JP2008123104A (ja) | 2006-11-09 | 2006-11-09 | データアクセス装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008123104A true JP2008123104A (ja) | 2008-05-29 |
Family
ID=39507818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006304219A Pending JP2008123104A (ja) | 2006-11-09 | 2006-11-09 | データアクセス装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008123104A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021124635A1 (ja) * | 2019-12-16 | 2021-06-24 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびファイルアクセス方法 |
US11983177B2 (en) | 2019-12-16 | 2024-05-14 | Sony Interactive Entertainment Inc. | Information processing device and file access method |
-
2006
- 2006-11-09 JP JP2006304219A patent/JP2008123104A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021124635A1 (ja) * | 2019-12-16 | 2021-06-24 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびファイルアクセス方法 |
JP7316204B2 (ja) | 2019-12-16 | 2023-07-27 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびファイルアクセス方法 |
US11836367B2 (en) | 2019-12-16 | 2023-12-05 | Sony Interactive Entertainment Inc. | Information processing device and file access method |
US11983177B2 (en) | 2019-12-16 | 2024-05-14 | Sony Interactive Entertainment Inc. | Information processing device and file access method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8069320B1 (en) | System and method for consolidation of backups | |
US9146877B2 (en) | Storage system capable of managing a plurality of snapshot families and method of snapshot family based read | |
US7363540B2 (en) | Transaction-safe FAT file system improvements | |
US8255371B2 (en) | Methods and apparatuses for data protection | |
US7356658B2 (en) | Snapshot system | |
CN108319602B (zh) | 数据库管理方法及数据库系统 | |
US8051044B1 (en) | Method and system for continuous data protection | |
US6957362B2 (en) | Instantaneous restoration of a production copy from a snapshot copy in a data storage system | |
US7533378B2 (en) | File-update apparatus for updating a file recorded on a recording medium | |
US8924664B2 (en) | Logical object deletion | |
US8001165B2 (en) | Storage system format for transaction safe file system | |
JP3682256B2 (ja) | ディスクアレイ装置及び同装置におけるパリティ処理方法 | |
US7849257B1 (en) | Method and apparatus for storing and retrieving data | |
US7383465B1 (en) | Undoable volume using write logging | |
JP2006040264A (ja) | メモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
JPH1063555A (ja) | ファイル管理方法 | |
US6675257B1 (en) | System and method for managing storage space on a sequential storage media | |
JP2005276212A (ja) | 比較的限られた記憶スペースを備えたコンピューティング装置およびそのオペレーティングシステム/ファイルシステム | |
KR20120093061A (ko) | 광 디스크 저장 시스템에 저장된 미디어에의 액세스, 압축 및 추적 | |
JP2005050024A (ja) | 計算機システムおよびプログラム | |
US20140129524A1 (en) | Restoring method and computer system | |
JP2008033527A (ja) | ストレージ装置、ディスク装置及びデータ復元方法 | |
KR100637787B1 (ko) | 파일 정보의 기록 처리 방법 및 프로그램 | |
JP2008090378A (ja) | ハイブリッドファイルシステム、オペレーティングシステム、キャッシュ制御方法および記録媒体 | |
JP2008123104A (ja) | データアクセス装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080703 |