JP4806183B2 - ファイル情報の書き込み処理方法およびプログラム - Google Patents

ファイル情報の書き込み処理方法およびプログラム Download PDF

Info

Publication number
JP4806183B2
JP4806183B2 JP2004375074A JP2004375074A JP4806183B2 JP 4806183 B2 JP4806183 B2 JP 4806183B2 JP 2004375074 A JP2004375074 A JP 2004375074A JP 2004375074 A JP2004375074 A JP 2004375074A JP 4806183 B2 JP4806183 B2 JP 4806183B2
Authority
JP
Japan
Prior art keywords
file
cluster
information
instruction
write
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.)
Expired - Fee Related
Application number
JP2004375074A
Other languages
English (en)
Other versions
JP2006184979A (ja
Inventor
直樹 阿部
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2004375074A priority Critical patent/JP4806183B2/ja
Priority to KR1020050028801A priority patent/KR100637787B1/ko
Priority to CNB200710149568XA priority patent/CN100524316C/zh
Priority to CNB2005100647169A priority patent/CN100367237C/zh
Priority to US11/235,336 priority patent/US20060173923A1/en
Publication of JP2006184979A publication Critical patent/JP2006184979A/ja
Priority to US12/212,439 priority patent/US8468290B2/en
Application granted granted Critical
Publication of JP4806183B2 publication Critical patent/JP4806183B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47KSANITARY EQUIPMENT NOT OTHERWISE PROVIDED FOR; TOILET ACCESSORIES
    • A47K5/00Holders or dispensers for soap, toothpaste, or the like
    • A47K5/02Soap boxes or receptables
    • A47K5/03Soap boxes or receptables separate from wall or wash-stand
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Description

本発明は、ファイル情報の書き込み処理方法およびプログラムに関する。
コンピュータシステムにおけるファイルアクセスは、アプリケーション、ファイルシステム(ミドルウェア)、デバイス・ドライバの3つのプログラムの組み合わせによって実現される。ここで、アプリケーションとは、ワードプロセッサ、CADソフト、等の各種アプリケーション・プログラムである。また、デバイス・ドライバとは、磁気ディスク、フラッシュメモリ、等の電源がオフになっても記憶内容が保持される(不揮発性の)二次記憶内の各領域に対して読み書きを行う制御プログラムである。また、ファイルシステム(ミドルウェア)とは、アプリケーションとデバイス・ドライバとの間に設けられ、アプリケーションからのファイル情報の書き込み指示に対応する指示をデバイス・ドライバ側へ出力する処理を行う。
このようなファイルシステムにおいては、データの書き込み途中に電源断等によって書き込み不良が生じた場合に、その書き込みに関わるファイルの情報をいかに復元するかということがしばしば問題となる。そして、その関係から、特許文献1等の多数の文献にそのような書き込み不良に対処する方法が開示されている。
特開平2003−169293号公報 「データ記録再生装置及びデータ記録再生方法、並びにデジタルカメラ」
以下では、コンピュータでのファイルアクセス時において、アプリケーションからファイルシステムに与えられる書き込み指示が、ファイルの上書き指示である場合と、ファイルの移動指示である場合とを説明する。
まず、ファイルの上書き指示がアプリケーションからミドルウェアになされた場合に、その上書き指示に対応してミドルウェア側で行われる処理について説明する。
図17は、ファイルシステムのデータ構造を示す図である。
図17に示されるように、ファイルシステムは、ブートセクタ(Boot Sector)、ファイルアロケーションテーブル(File Allocation Table、FAT)、実データ領域、の3つの領域から構成される。
ここで、ブートセクタとは、ファイルシステムの容量、実データ領域の処理単位であるクラスタの大きさ、実データ領域内のルートディレクトリの位置、などのファイルシステム全般に関わる情報が記述されている。また、実データ領域の個々のクラスタに対応するFATの個々の項目には、そのクラスタがどのクラスタにつながるかを示すリンク先のポインタ情報が格納されている。つながる先がない場合は、このポインタ情報に「End」が設定される。また、クラスタが解放されている場合は、このポインタ情報に「NULL」が設定される(図では空欄となっている)。すなわち、FATテーブル上の「NULL」以外のポインタ値が設定されている項目に対応するクラスタ内に保持されるデータは、意味を持つデータである。
また、実データ領域は、クラスタと呼ばれる(処理)単位に区切って使用され、ファイルやディレクトリについての実際の情報が格納される。なお、図17では、簡単のため、実データ領域を16個のクラスタに分割し、それらクラスタは、右上から左下に進むに従い、順次、16進数の0番〜15番の先頭アドレス、すなわち、「0x0」、「0x1」、「0x2」、「0x3」、「0x4」、「0x5」、「0x6」、「0x7」、「0x8」、「0x9」、「0xA」、「0xB」、「0xC」、「0xD」、「0xE」、「0xF」を持つものとしている。
例えば、図17では、ブートセクタを参照することで、実データ領域のルートディレクトリが「0x0番」のクラスタに対応することが分かり、その「0x0番」のクラスタの内容から、そのルートディレクトリには、ディレクトリエントリとして、データ長(Length)=5で、先頭の実データ(Data1)が「0x1番」のクラスタにあるファイル(File1)があることが示されている。
FATテーブルには、実データ領域のクラスタ間のつながりについての情報(クラスタチェーン情報)が格納されているので、図17において、FATテーブルを参照することで、「0x1番」のクラスタのデータ(Data1)の後続のデータとして、「0x2番」のクラスタのデータ(Data2)が、また、「0x2番」のクラスタのデータ(Data2)の後続のデータとして、「0xB番」のクラスタのデータ(Data3)が、また、「0xB番」のクラスタのデータ(Data3)の後続のデータとして、「0xE番」のクラスタのデータ(Data4)が、また、「0xE番」のクラスタのデータ(Data4)の後続のデータとして、「0x5番」のクラスタのデータ(Data5)が存在することが分かり、また、その「0x5番」のクラスタに対応するFATテーブルの項目が「End」となっていることから、その「0x5番」のクラスタのデータ(Data5)で、そのファイル(File1)のデータが終了することが分かる。なお、このように、(ルートディレクトリの)ディレクトリエントリFile1が、Data1、Data2、Data3、Data4、Data5の順につながって構成されていることを、図17の下段に示されるように図示するものとする。
このようなFile1に対して、そのFile1を出力したアプリケーションからの上書き指示がなされる。図18は、その上書き指示がなされる前のファイルの状態を示す図である。
ファイルシステム(ミドルウェア)は、アプリケーションからのファイルの上書き指示に含まれる上書きの開始位置と長さについての情報を用いて、その書き込みの対象となる二次記憶(実データ領域)内のクラスタ(1つまたは複数)を特定する。ここでは、Data2、Data3、Data4に対応するクラスタを、そのようにして特定されたクラスタとする。
すなわち、まず、図19に示すように、Data2に対応するクラスタの内容が上書きされ、次に、図20に示すように、Data3に対応するクラスタの内容が上書きされ、さらに、図21に示すように、Data4に対応するクラスタの内容が上書きされる。
図22は、従来のファイルの上書き処理のフローチャートである。
図22において、まず、ステップS301で、上書き対象として特定された実データ領域内の1つまたは複数のクラスタに対してデータの上書き(書き込み)処理がなされ、続く、ステップS302で、ファイル情報、例えば、最終更新日時の情報を変更(更新)する。
しかし、このような手順で、ファイルの上書きを行うと、例えば、図19、図20、図21に示すような1回目、2回目、3回目の書き込み途中に、電源断などの書き込み不良が生じた場合は、その書き込み途中のクラスタ、すなわち、Data2、Data3、または、Data4に対応するクラスタのデータが不完全な状態で二次記憶内に格納されることになる。つまり、図19のData2に対応するクラスタの上書きが開始されてから、図21のData4に対応するクラスタの上書きを完了する前までの期間は、電源断などが生じた場合に、不完全なデータが二次記憶内に残る期間、すなわち、データ破壊の危険性がある期間となる。
次に、ファイルの移動指示がアプリケーションからミドルウェアになされた場合に、その移動指示に対応してミドルウェア側で行われる処理について説明する。
図23は、ファイルが移動される前のデータ構造を示す図である。図23の説明で図17と重複する部分は基本的には省略される。
図23において、ブートセクタ(不図示)の内容からディレクトリdirのディレクトリエントリに対応する実データ領域のクラスタとして、「0x0番」のクラスタが参照され、そのディレクトリdirの内容から、そのディレクトリdirの下にディレクトリdir1とdir2とがあり、ディレクトリdir1のディレクトリエントリは「0x3番」のクラスタに格納されていること、また、ディレクトリdir2のディレクトリエントリは「0x4番」のクラスタに格納されていること、が分かる。
「0x3番」のクラスタを参照すると、ディレクトリdir1はファイルfile1を有し、そのデータ長=3で、そのファイルfile1の先頭のデータが「0x1番」のクラスタに格納されていることが分かる。また、「0x4番」のクラスタを参照すると、ディレクトリdir2はファイルfile2を有し、そのデータ長=3で、そのファイルfile2の先頭のデータが「0x8番」のクラスタに格納されていることが分かる。そして、上述したように、FATテーブルを参照することで、ファイルfile1はData1、Data2、Data3のクラスタが、そのData1、Data2、Data3の順につながって構成されることが分かる。また、ファイルfile2はData4、Data5、Data6のクラスタが、そのData4、Data5、Data6の順につながって構成されることが分かる。
すなわち、図23の下半分に示される実データ領域とFATテーブルは、図23の上半分に示されるようなファイル(ディレクトリ)構成を表していることが分かる。
以下では、¥dir¥dir1¥file1を¥dir¥dir2¥file2に移動する場合を図24〜図26を参照して説明する。図23の例では、移動先に¥dir¥dir2¥file2が既に存在していることから、この移動処理では、ファイルの上書きが伴うことになる。
図24は、アプリケーションからの移動指示に対してファイルシステム側で行われる処理(その1)である。図24において、まず、上記の「¥dir¥dir1¥file1を¥dir¥dir2¥file2に移動する」旨の情報をファイルシステムがアプリケーションから受け取ると、その情報に基づいて、二次記憶内の実データ領域の移動元のファイルfile1のディレクトリエントリが一次記憶にロードされた後、二次記憶の実データ領域からその移動元のファイルfile1のディレクトリエントリが削除される。
続いて、図25に示されるように、移動先に予め存在しているファイルであるfile2を削除する。すなわち、二次記憶の実データ領域からその移動先のファイルfile2のディレクトリエントリが削除されるとともに、FATテーブルからファイルfile2を構成する実データとしてのData4、Data5、Data6に対応する項目のポインタ情報がクリアされる(Data4に対応する項目以降のチェーンがクリアされる)。
そして、図26に示されるように、一次記憶に保持してある移動元のファイルfile1のディレクトリエントリの情報を参照して、ディレクトリdir2のディレクトリエントリにファイルfile2が移動元のファイルfile1の先頭の実データであるData1を指すように実データ領域内に作成される(書き込まれる)。
図27は、従来のファイルの移動処理のフローチャートである。
図27において、まず、ステップS401で、二次記憶内の実データ領域の移動元のファイルのディレクトリエントリが一次記憶にロードされた後、二次記憶の実データ領域からその移動元のファイルのディレクトリエントリが削除される。そして、ステップS402で、移動先でファイルを上書きするかが判定される。ステップS402で上書きすると判定された場合は、ステップS403において、予め存在していた移動先のファイルを削除し、ステップS404に進む。一方、ステップS402で上書きしないと判定された場合は、ただちに、ステップS404に進む。
ステップS404では、移動元のファイルの先頭の実データを指すように移動先のディレクトリのディレクトリエントリに移動先のファイル情報を書き込む。なお、以上の各ステップでは移動対象をファイルとして説明したが、移動対象はディレクトリであってもよい。フローをファイルとディレクトリとの両方に対応させるものにするには、移動対象がディレクトリであるか否かを判定するステップS405と、移動対象がディレクトリである場合に、その移動されるディレクトリの親ディレクトリ“..”についての情報を移動元から移動先に変更(更新)するステップS406と、を追加すればよい。
以上説明したような手順で、ファイルの移動を行うと、図24において二次記憶内の実データ領域の移動元のファイルfile1のディレクトリエントリからその移動元のファイルfile1の情報を削除した後から、図26においてその移動元のファイルfile1の情報を一次記憶から読み込むまでの期間は、電源断などの書き込み不良が生じた場合に、移動元のファイルの先頭の実データが格納されたクラスタの位置についての情報がなくなる期間、すなわち、データ破壊の危険性がある期間となる。
本発明の課題は、電源断などが生じた場合に、データを破壊する危険性がある期間を短縮することが可能な書き込み処理方法およびプログラムを提供することである。
本発明の第1態様の書き込み処理方法は、アプリケーションからのファイル情報の書き込み指示に対応する指示をデバイス・ドライバ側へ出力する処理をコンピュータが実行する書き込み処理方法において、前記コンピュータの記憶手段の実データ領域中の空き領域であるクラスタを検索して取得し、空き領域であるクラスタが存在する場合に、前記アプリケーションからの書き込み指示の対象となる前記記憶手段の実データ領域内の1以上のクラスタに上書きすべき情報をその空き領域であるクラスタに書き込み、空き領域のクラスタに書き込まれた情報によって上書きされることになっていたクラスタを解放する、ことを特徴とするファイル情報の書き込み処理方法である。
ここで、検索され取得された実データ領域中の空き領域のクラスタに、書き込み対象として特定されたクラスタに上書きすべきデータを書き込むので、その空き領域であるクラスタがその書き込み対象のクラスタの数だけ確保できた場合には、その空き領域のクラスタに、その上書きすべきデータを一度に書き込むことができる。この場合には、その書き込み対象のクラスタに直接データを上書きする従来例と比較し、データ上書き中に電源断が発生することで、不完全なデータが実データ領域中に格納されるリスクをなくすことが可能となり、電源断などが生じた場合に、データを破壊する危険性がある期間を短縮することができる。上書きすべき情報とは、更新情報すなわちData Newのことである。
本発明の第2態様の書き込み処理方法は、アプリケーションからのファイル情報の書き込み指示に対応する指示をデバイス・ドライバ側へ出力する処理をコンピュータが実行する書き込み処理方法において、移動先のディレクトリのエントリを検索して前記書き込み指示が上書きを伴うファイルの移動であるか否かを判定すべく検索し、前記書き込み指示が上書きを伴うファイルの移動であるか否かに応じて、移動元のファイルのディレクトリエントリとファイルの実データとのリンクがとれている状態で、移動先のファイルのディレクトリエントリを移動元のファイルの実データにリンクさせるように変更または作成し、移動元のファイルのディレクトリエントリを削除する、ことを特徴とするファイル情報の書き込み処理方法である。
ここで、移動元のファイルのディレクトリエントリとファイルの実データとのリンクがとれている状態で、移動先のファイルのディレクトリエントリを移動元のファイルの実データにリンクさせるように変更または作成しているので、従来例のように、移動元のファイルの情報が一次記憶にのみ存在する期間がなくなり、電源断などが生じた場合に、データを破壊する危険性がある期間を短縮することができる。
本発明によれば、検索され取得された実データ領域中の空き領域のクラスタに、書き込み対象として特定されたクラスタに上書きすべきデータを書き込むので、その空き領域であるクラスタがアプリケーションからの書き込み指示に含まれるデータに対応するクラスタの数だけ確保できた場合には、その空き領域のクラスタに、その上書きすべきデータを一度に書き込むことができる。この場合には、その書き込み対象のクラスタに直接データを上書きする従来例と比較し、データ上書き中に電源断が発生することで、不完全なデータが実データ領域中に格納されるリスクをなくすことが可能となり、電源断などが生じた場合に、データを破壊する危険性がある期間を短縮することができる。
また、本発明によれば、移動元のファイルのディレクトリエントリとファイルの実データとのリンクがとれている状態で、移動先のファイルのディレクトリエントリを移動元のファイルの実データにリンクさせるように変更または作成しているので、従来例のように、移動元のファイルの情報が一次記憶にのみ存在する期間がなくなり、電源断などが生じた場合に、データを破壊する危険性がある期間を短縮することができる。
以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。
図1は、ファイルシステムを含むシステム全体のプロセス間の呼び出し関係を説明する図である。図1に示すように、アプリケーションからの「ファイル作成」、「ファイル移動」、「ファイルコピー」、「ファイル上書き」の各指示に対して、対応するプロセスがファイルシステム(ミドルウェア)側で起動される。例えば「ファイル作成」に対しては、ディレクトリエントリにその作成されるファイルが追加される。また、「ファイル移動」に対しては、移動元のディレクトリと移動先のディレクトリのディレクトリエントリが変更される。また、「ファイルコピー」では、コピー先のディレクトリのディレクトリエントリにコピーされるファイルが追加されるとともに、そのコピーされるファイルの実データが実データ領域に作成される。また、「ファイル上書き」では、後述するように、ファイルの上書き対象となる実データ領域内のクラスタのデータが空き領域のクラスタに書き込まれるとともに、FATテーブルの情報もその書き込み処理に対応して変更される。
図2は、アプリケーションからの指示がファイルの上書きであった場合に、ファイルシステム側で起動されるプロセス間の呼び出し関係を示す図である。図2に示すように、アプリケーションから(そのアプリケーションが出力する)ファイルへの上書き指示がファイルシステム側に出力されると、そのファイルシステム側では、対応する「ファイル上書き」のプロセスが呼び出される。
この「ファイル上書き」のプロセスからは、FATテーブルを読み込むことにより行われる「空き領域検索」プロセス、FATテーブル、実データ領域のデータを更新するための各プロセス、すなわち、それらFATテーブル、実データ領域をメディア(二次記憶)から一次記憶に読み込む「FAT読み込み」および「実データ読み込み」プロセス、一次記憶内で更新されたFATテーブル、実データ領域のデータをメディア(二次記憶)に書き込む「FAT書き込み」および「実データ書き込み」プロセス、の各プロセスが呼び出される。
図3は、本発明の第1実施形態の書き込み処理部の構成を示すブロック図である。
図3において、書き込み処理部は、アプリケーションとデバイス・ドライバとの間に設けられ、該アプリケーションからのファイル情報の書き込み指示に対応する指示を該デバイス・ドライバ側へ出力する処理を行う。このアプリケーションからのファイル情報の書き込み指示は、上書きの開始位置、長さ、および、その長さを持つデータによって構成される上書きすべき情報として一次記憶内に保持される。
図3において、書き込み処理部は、アプリケーションからのファイル情報の書き込み指示に基づいて、書き込み指示の対象となるクラスタ(1つまたは複数)を特定する書き込み対象特定部11と、二次記憶の実データ領域中の空き領域であるクラスタを検索して取得する空き領域検索部12と、空き領域であるクラスタが存在する場合に、アプリケーションからの書き込み指示の対象となる上記二次記憶の実データ領域内の1以上のクラスタに上書きすべき情報をその空き領域であるクラスタに書き込む書き込み部13と、書き込み指示の対象となるクラスタのうちで、空き領域のクラスタに書き込まれた情報が上書きされることになっていたクラスタを解放する解放部15と、上記書き込み指示(上書きすべき情報)に含まれるデータのうち、空き領域のクラスタに書き込まれていない部分があるか否かを判定する判定部14と、を備える。なお、図3の各部は、例えば、図15のCPU51とRAM53との組み合わせに対応する。
以下に、本実施形態の書き込み処理部の動作について説明する。
まず、アプリケーションからのファイルの上書き指示を書き込み部13が受け付けると、その上書き指示を受け付けたことをトリガとして、書き込み対象特定部11と空き領域検索部12とが起動される。
書き込み対象特定部11では、そのアプリケーションからの書き込み指示に含まれる上書きすべき情報中の上書きの開始位置と長さについての情報を用いて、その書き込みの対象となる二次記憶(実データ領域)内のクラスタ(1つまたは複数)を特定する。また、空き領域検索部12は、FATテーブルを読み込んで(参照して)、実データ領域内の空き領域のクラスタ(使用されていないクラスタ)を検索して取得する。
空き領域検索部12から検索結果の情報、例えば、空き領域のクラスタの位置を示す情報を受け取った書き込み部13は、その検索結果の情報から空き領域のクラスタが実データ領域に存在するか否かを判定する。存在する場合、書き込み部13によって、特定された書き込み指示の対象となる実データ領域内のクラスタ(1つまたは複数)に上書きすべき情報が検索結果中の空き領域のクラスタに書き込まれる。なお、上記実データ領域の先頭のクラスタと末尾のクラスタには、変更されないデータ部分が含まれる場合があるが、そのような場合は、合成部(不図示)によって、その変更されないデータ部分と新たに上書きされるデータ部分とが合成され、それらクラスタに書き込むべきデータが生成される。
この書き込み処理の後で、解放部15によって、空き領域のクラスタに書き込まれた情報が上書きされることになっていた書き込み指示の対象となるクラスタ中の対応するクラスタが解放される。そして、判定部14によって、上記書き込み指示に含まれるデータのうち、空き領域のクラスタに書き込まれていない部分があるか否かが判定される。そのような部分が書き込み指示に含まれるデータ中に存在する場合は、書き込み部13によって、空き領域検索部12が起動され、再び、空き領域の検索が行われる。この検索においては、解放部15によって解放されたクラスタの数以上の空き領域が得られるので、書き込み部13は、その解放されたクラスタの数以上の空き領域について、書き込み処理を実行する。そして、同様に、書き込まれたデータが上書きされることになっていたクラスタの解放が解放部15によって行われる。
以下に、本実施形態の書き込み処理部がアプリケーションからのファイルの上書き指示を処理するプロセスを図4〜図7を参照して説明するが、これらの図面においては従来技術との比較のため、従来技術の説明で用いたのと同様のファイル構成に対してアプリケーションから同様の上書き指示が与えられたものとしている。
すなわち、従来技術の場合と同様に、図4において、アプリケーションからの上書き指示に含まれる上書きの開始位置と長さとの情報を用いて、書き込み対象特定部11によって、実データ領域内の上書き対象となるクラスタが、Data2、Data3、Data4に対応するクラスタに特定されたものとする。
本実施形態においては、上述したように、空き領域検索部12によって、FATテーブルが読み込まれ、そのテーブル上で、ポインタがNULL(図では空欄になっている)である項目に対応するクラスタが空き領域のクラスタと判定される。この場合、書き込み部13によって、例えば、番地が小さいクラスタから順にData2、Data3、Data4に対応する新しいデータ(Data2 New、Data3 New、Data4 New)が書き込まれている。
続く図5では、「Data2 New」、「Data3 New」、「Data4 New」がこの順につながることを示すとともに、「Data4 New」が「Data5」につながることを示す情報(ポインタ情報)が「Data2 New」、「Data3 New」、「Data4 New」の各クラスタに対応するFATテーブルの項目に書き込まれる。
また、続く図6では、書き込み部13によって、「Data1」のクラスタに対応するFATテーブルの項目のポインタが「Data2 New」のクラスタを指すように変更される。
さらに、続く図7では、書き込み部13によって、「Data2」、「Data3」、「Data4」のクラスタに対応するFATテーブルの項目のポインタがNULLに設定されることにより、実データ領域の「Data2」、「Data3」、「Data4」のクラスタが解放される。
図8は、第1実施形態の上書き処理のフローチャートである。このフローは、図3の書き込み処理部によって行われる。
図8において、まず、ステップS101で、FATテーブルを読み込むことで空き領域検索部12によって、実データ領域中の空き領域のクラスタが検索される。
書き込み部13は受け取った検索結果から空き領域があるか否かをステップS102で判定する。空き領域のクラスタが存在しない場合は、(空き領域)エラーとして一連の処理を終了する。一方、空き領域のクラスタが(1以上)存在した場合は、ステップS103に進み、そのステップS103で、書き込み部13によって、上書き対象として特定されたクラスタに上書きすべきデータが、検索結果の空き領域のクラスタに書き込まれる。そして、続くステップS104で、ステップS103で書き込みを行った空き領域のクラスタに対応するFATテーブルのポインタ情報を変更する。そして、ステップS105で、上書き対象となったファイルの実データを格納するクラスタのうち、上書き対象として特定されたクラスタの直前のクラスタに対応するFATテーブルのポインタをステップS103で書き込みを行ったクラスタのうちの先頭のクラスタを指すように変更する。
続くステップS106では、ファイル情報、例えば、最終更新日時を変更(更新)する。そして、ステップS107で、上書き対象として特定されたクラスタに対応するFATテーブルの項目のポインタをNULLに設定することで、その上書き対象のクラスタ(領域)を解放する(空き領域にする)。
続くステップS108では、すべてのデータが書き込み完了したかが、すなわち、書き込み指示(上書きすべき情報)に含まれるデータ中にその情報が空き領域のクラスタに書き込まれていない部分があるか否かが、判定部14によって判定される。すべてのデータの書き込みが完了していない場合、すなわち、ステップS101で検索され取得された空き領域のクラスタが上書き対象として特定されたクラスタより数が少なかった場合、ステップS101に戻り、空き領域を再度検索する。一方、すべてのデータの書き込みが完了している場合、一連の処理を終了する。
このように、第1実施形態においては、検索され取得された実データ領域中の空き領域のクラスタに、書き込み対象として特定されたクラスタに上書きすべきデータを書き込むので、その空き領域であるクラスタがアプリケーションからの書き込み指示に含まれるデータに対応するクラスタの数だけ確保できた場合には、その空き領域のクラスタに、その上書きすべきデータを一度に書き込むことができる。この場合、その書き込み対象のクラスタに直接データを上書きする従来例と比較し、データ上書き中に電源断が発生することで、不完全なデータが実データ領域中に格納されるリスクをなくすことが可能となり、電源断などが生じた場合に、データを破壊する危険性がある期間を短縮することができる。
続いて第2実施形態について説明する。第1実施形態ではファイルの上書き処理を扱ったが、第2実施形態ではファイルの移動処理を扱う。
図9は、アプリケーションからの指示がファイルの移動であった場合に、ファイルシステム側で起動されるプロセス間の呼び出し関係を示す図である。図9に示すように、アプリケーションから(そのアプリケーションが出力する)ファイルへの移動指示がファイルシステム側に出力されると、そのファイルシステム側では、対応する「ファイル移動」のプロセスが呼び出される。
この「ファイル移動」のプロセスからは、ディレクトリエントリを変更するためのプロセスとして、「ディレクトリ読み込み」と「ディレクトリ書き込み」のプロセスが呼ばれる。「ディレクトリ読み込み」のプロセスからは、FATテーブル、実データ領域をメディア(二次記憶)から一次記憶に読み込む「FAT読み込み」および「実データ読み込み」プロセスが呼ばれ、「ディレクトリ書き込み」のプロセスからは、一次記憶内で更新されたFATテーブル、実データ領域のデータをメディア(二次記憶)に書き込む「FAT書き込み」および「実データ書き込み」プロセスが呼ばれる。
図10は、本発明の第2実施形態の書き込み処理部の構成を示すブロック図である。
図10において、書き込み処理部は、アプリケーションとデバイス・ドライバとの間に設けられ、該アプリケーションからのファイル情報の書き込み指示に対応する指示を該デバイス・ドライバ側へ出力する処理を行う。
図10において、書き込み処理部は、移動先のディレクトリのエントリを検索して前記書き込み指示が上書きを伴うファイルの移動であるか否かを検索する検索部23と、前記書き込み指示が上書きを伴うファイルの移動であるか否かに応じて、移動元のファイルのディレクトリエントリとファイルの実データとのリンクがとれている状態で、移動先のファイルのディレクトリエントリを移動元のファイルの実データにリンクさせるように変更または作成する書き込み部21と、移動元のファイルのディレクトリエントリを削除するエントリ削除部22と、前記検索において、前記書き込み指示が上書きを伴うファイルの移動であると判定された場合に、移動先のファイルが移動指示の前にポイントしていた実データを解放する解放部26と、を備える。なお、図10の各部は、例えば、図15のCPU51とRAM53との組み合わせに対応する。
以下に、本実施形態の書き込み処理部の動作について説明する。
まず、アプリケーションからのファイルの移動指示を書き込み部21が受け付けると、その移動指示を受け付けたことをトリガとして、検索部23が起動される。この検索部23は、エントリ検索部24とエントリ空き領域検索部25とを備える。エントリ検索部24によって、まず、移動先のディレクトリのディレクトリエントリに移動指示中に指定された移動先のファイル名と一致するものがないかが検索される。一致するものがなければ、移動指示は上書きを伴わないものと判定され、続いて、エントリ空き領域検索部25によって、移動先のディレクトリに追加されるファイルのエントリ情報を書き込む空きがその移動先のディレクトリのディレクトリエントリを格納するクラスタにあるかが検索される。そのディレクトリエントリに空きがあれば、追加されるファイルのエントリ情報は、移動元のファイルの実データにリンクするようにそのディレクトリエントリの空き領域に書き込まれる。
一方、エントリ検索部24の検索において、移動先のディレクトリのディレクトリエントリに移動指示中に指定された移動先のファイル名と一致するものがあると判定された場合は、その一致したファイルのエントリ情報が移動元のファイルの実データにリンクさせるように変更される。エントリ検索部24の検索結果がいずれの場合でも、エントリ削除部22によって、移動元のファイルのディレクトリエントリが削除される。
書き込み部21は、検索部23からの検索結果を参照して、書き込み指示が上書きを伴うファイルの移動であるか否かを判定する。そして、上書きを伴う移動であると判定された場合に、解放部26が起動され、移動先のファイルが移動指示の前にポイントしていた実データを解放すべくFATテーブルの対応項目がクリアされる。
以下に、本実施形態の書き込み処理部がアプリケーションからのファイルの移動指示を処理するプロセスを図11〜図13を参照して説明するが、これらの図面においては従来技術との比較のため、従来技術の説明と同様に、¥dir¥dir1¥file1を¥dir¥dir2¥file2に移動する場合を扱う。
図11では、移動先のディレクトリdir2内にファイルfile2が既に存在している場合を示している。したがって、エントリ検索部25は、検索結果として既に同じ名称のファイルfile2が移動先のディレクトリdir2内に存在している旨を検索結果として、書き込み部21に返す。
書き込み部21は、その検索結果の情報に基づいて、移動先のファイルfile2のディレクトリエントリを移動元のファイルfile1の先頭の実データData1を指すように変更する。すなわち、実データ領域の移動先のファイルfile2のディレクトリエントリが変更される。
なお、従来技術では、まず、移動元のファイルのディレクトリエントリを一次記憶に保存した後に、そのディレクトリエントリを削除している関係から図11のように、移動元と移動先のディレクトリエントリ中にData1に対応する実データ領域のクラスタをポイントするファイル(file1、file2)が存在することにはならなかった。
これは、「ファイルの移動に対する処理の一部に、ファイルの削除機能を用いる」という習慣に従来とらわれていたので、図11に示すような状態は、file1またはfile2を指定してファイルの削除機能を用いると、いずれのファイルのディレクトリエントリにも接続している、必要なデータであるData1以下のクラスタチェーンも同時に削除されてしまう状態であり好ましくない、と考えられていたからである。
本実施形態においては、ファイルの削除機能の一部であるエントリの削除機能を用いて、図12に示すように、移動元のファイルのディレクトリエントリからその移動元のファイルについての情報を削除することで、上述の不都合を回避している。
また、本実施形態の移動の手順は、不意の電源断によって、書き込み不良が発生する期間を短縮する、という効果も有する。すなわち、二次記憶内の移動元のファイルのディレクトリエントリにその移動元のファイルの情報が存在しているうちに、移動先のファイルのディレクトリエントリにおいて、その移動先のファイル情報を移動元のファイルの先頭の実データData1を指すように変更しているので、従来技術のように、移動元のファイルの情報が一次記憶にのみ存在する期間がなくなり、不意の電源断によって、書き込み不良が発生する期間が短縮される。
続いて、図13において、移動元のファイルのディレクトリエントリが以前にポイントしていた実データData4以降のクラスタチェーンを、FATテーブルの対応項目をクリアすることで、解放する。
なお、以上では、移動指示において指定されたファイル名(file2)と同じ名称のファイルが移動先のディレクトリ(dir2)に存在する場合を説明したが、移動先のディレクトリに同じ名称のファイルが存在しない場合の処理も同様に考えられる。この場合、書き込み部21は、検索結果の情報に基づいて、移動先のディレクトリdir2に、移動先のファイルfile2の情報を移動元のファイルfile1の先頭の実データData1を指すように作成する。
図14は、第2実施形態の移動処理のフローチャートである。このフローは、図10の書き込み処理部によって行われる。
なお、図14のフローは、ファイルの移動を説明するためのものであるが、ディレクトリの移動の場合は、ステップS201およびS202の処理が追加される。すなわち、ステップS201で、移動対象がディレクトリであるか否かを判定し、ディレクトリである場合に、ステップS202で、そのディレクトリの親ディレクトリ“..”についての情報を移動元の(親)ディレクトリから移動先の(親)ディレクトリに変更する。
続くステップS203では、移動先のディレクトリを検索して、そのディレクトリ内に移動先として指定したファイルが既に存在するか否かに応じて、書き込み部21によって、移動先のディレクトリのディレクトリエントリのファイル情報が移動元のファイルの先頭の実データを指すように変更されるか追加される。
そして、ステップS204で、エントリ削除部22によって、移動元のディレクトリのディレクトリエントリから移動元のファイル情報が削除される。
続くステップS205では、移動先でファイル情報を上書きしたか否かが判定される。上書きしていないと判定された場合は一連の処理をただちに終了し、上書きしたと判定された場合は、移動先のファイルが移動指示の前にポイントしていた実データが解放される。
本発明の各実施形態の書き込み処理部はソフトウェアとして構成することが可能である。図15は、本発明の各実施形態をプログラムで実現する場合のハードウェア環境を示す図である。
図15において、ハードウェアとしてのコンピュータは、CPU51、ROM52、RAM53、通信インターフェイス54、入出力装置56、記憶装置55、(記録媒体)読み取り装置58、がバス57を介して接続されることで構成されている。
図15において、CPU51は、コンピュータ全体を制御し、RAM53は、プログラム実行、データ更新等の際に、記憶装置55をはじめとする二次記憶内に記憶されるデータを一次的に格納する一次記憶である。
ユーザは、入出力装置56を介してアプリケーションに上書きや移動等の各種指示を与えることができる。また、本実施形態の書き込み処理部によって処理された結果の情報がアプリケーションを介してユーザに提示される。
記憶装置55に記憶されるプログラムやデータの他に、読み取り装置58を介して読み込まれた可搬記憶媒体59のプログラムやデータ、ネットワーク62、通信インターフェイス54を介して読み込まれた情報提供者61のプログラムやデータを、コンピュータ内部で用いることができる。
図16は、プログラムのローディングを説明する図である。
本発明のファイルの上書き処理、移動処理等のファイルの書き込み処理は当然一般的なコンピュータ74によって実現することが可能である。この場合、コンピュータ74の記憶装置72から本発明の処理のためのプログラムなどをコンピュータ74のメモリにロードして実行することも、可搬型記憶媒体73から本発明の処理のためのプログラムなどをコンピュータ74のメモリにロードして実行することも、また、プログラム提供者70の記憶装置71側からネットワークを介して本発明の処理のためのプログラムなどをコンピュータ74のメモリにロードして実行することも可能である。
ファイルシステムを含むシステム全体のプロセス間の呼び出し関係を説明する図である。 アプリケーションからの指示がファイルの上書きであった場合に、ファイルシステム側で起動されるプロセス間の呼び出し関係を示す図である。 本発明の第1実施形態の書き込み処理部の構成を示すブロック図である。 第1実施形態の書き込み処理部の動作を説明する図(その1)である。 第1実施形態の書き込み処理部の動作を説明する図(その2)である。 第1実施形態の書き込み処理部の動作を説明する図(その3)である。 第1実施形態の書き込み処理部の動作を説明する図(その4)である。 第1実施形態の上書き処理のフローチャートである。 アプリケーションからの指示がファイルの移動であった場合に、ファイルシステム側で起動されるプロセス間の呼び出し関係を示す図である。 本発明の第2実施形態の書き込み処理部の構成を示すブロック図である。 第2実施形態の書き込み処理部の動作を説明する図(その1)である。 第2実施形態の書き込み処理部の動作を説明する図(その2)である。 第2実施形態の書き込み処理部の動作を説明する図(その3)である。 第2実施形態の移動処理のフローチャートである。 本発明の各実施形態をプログラムで実現する場合のハードウェア環境を示す図である。 プログラムのローディングを説明する図である。 ファイルシステムのデータ構造を示す図である。 上書き指示を受け付ける前のファイルの状態を示す図である。 上書き指示を受け付けた後の従来のファイルシステムの動作を説明する図(その1)である。 上書き指示を受け付けた後の従来のファイルシステムの動作を説明する図(その2)である。 上書き指示を受け付けた後の従来のファイルシステムの動作を説明する図(その3)である。 上書き指示を受け付けた場合の従来のファイルシステムの処理を示すフローチャートである。 移動指示を受け付ける前のファイルの状態を示す図である。 移動指示を受け付けた後の従来のファイルシステムの動作を説明する図(その1)である。 移動指示を受け付けた後の従来のファイルシステムの動作を説明する図(その2)である。 移動指示を受け付けた後の従来のファイルシステムの動作を説明する図(その3)である。 移動指示を受け付けた場合の従来のファイルシステムの処理を示すフローチャートである。
符号の説明
11 書き込み対象特定部
12 空き領域検索部
13 書き込み部
14 判定部
15 解放部
16 送信アンテナ
21 書き込み部
22 エントリ削除部
23 検索部
24 エントリ空き領域検索部
25 エントリ検索部
26 解放部

Claims (4)

  1. アプリケーションからのファイル情報の書き込み指示に対応する指示をデバイス・ドライバ側へ出力する処理をコンピュータが実行する書き込み処理方法において、
    前記アプリケーションからの書き込み指示の対象となる記憶手段の実データ領域内の1以上のクラスタに上書きすべき情報を、前記上書きすべき情報のうちの上書きによって変更されない部分と新たに上書きによって変更される新たな部分とから生成し、
    前記コンピュータの記憶手段の実データ領域中の空き領域であるクラスタを検索して取得し、
    空き領域であるクラスタが1以上存在する場合に、前記上書きすべき情報の前記新たな部分をその空き領域であるクラスタに書き込み、
    前記空き領域のクラスタに書き込まれた情報によって上書きされることになっていたクラスタを解放し、
    前記書き込みを行なった空き領域のクラスタにそのクラスタがつながる先を示すポインタ情報を設定し、
    前記解放されたクラスタのうち先頭のクラスタを指すようにポインタ情報が設定されていたクラスタのポインタ情報を前記書き込みを行なったクラスタのうち先頭のクラスタを指すように変更すること
    を特徴とするファイル情報の書き込み処理方法。
  2. アプリケーションからのファイル情報の書き込み指示に対応する指示をデバイス・ドライバ側へ出力する処理をコンピュータが実行する書き込み処理方法において、
    移動先のディレクトリのエントリを検索して前記書き込み指示が上書きを伴うファイルの移動であるか否かを判定し、
    前記書き込み指示が上書きを伴うファイルの移動であると判定された場合に、移動元のファイルのディレクトリエントリとファイルの実データとのリンクがとれている状態で、移動先のファイルのディレクトリエントリを移動元のファイルの実データにリンクさせるように変更し、
    移動元のファイルのディレクトリエントリを削除し、
    前記移動先のファイルを、移動先のファイルのうち上書きによって変更されない部分と新たに上書きによって変更される新たな部分とから生成して実データ領域に書き込み、
    移動先のファイルが移動指示の前にポイントしていた実データを解放する、
    ことを特徴とするファイル情報の書き込み処理方法。
  3. アプリケーションからのファイル情報の書き込み指示に対応する指示をデバイス・ドライバ側へ出力する処理をコンピュータに実行させる書き込み処理プログラムにおいて、
    コンピュータに、
    前記アプリケーションからの書き込み指示の対象となる記憶手段の実データ領域内の1以上のクラスタに上書きすべき情報を、前記上書きすべき情報のうちの上書きによって変更されない部分と新たに上書きによって変更される新たな部分とから生成するステップと、
    前記コンピュータの記憶手段の実データ領域中の空き領域であるクラスタを検索して取得するステップと、
    空き領域であるクラスタが1以上存在する場合に、前記上書きすべき情報の前記新たな部分をその空き領域であるクラスタに書き込むステップと、
    前記空き領域のクラスタに書き込まれた情報によって上書きされることになっていたクラスタを解放するステップと、
    前記書き込みを行なった空き領域のクラスタにそのクラスタがつながる先を示すポインタ情報を設定するステップと、
    前記解放されたクラスタのうち先頭のクラスタを指すようにポインタ情報が設定されていたクラスタのポインタ情報を前記書き込みを行なったクラスタのうち先頭のクラスタを指すように変更するステップと
    を実行させるためのファイル情報の書き込み処理プログラム。
  4. アプリケーションからのファイル情報の書き込み指示に対応する指示をデバイス・ドライバ側へ出力する処理をコンピュータに実行させる書き込み処理プログラムにおいて、
    コンピュータに、
    移動先のディレクトリのエントリを検索して前記書き込み指示が上書きを伴うファイルの移動であるか否かを判定するステップと、
    前記書き込み指示が上書きを伴うファイルの移動であると判定された場合に、移動元のファイルのディレクトリエントリとファイルの実データとのリンクがとれている状態で、移動先のファイルのディレクトリエントリを移動元のファイルの実データにリンクさせるように変更するステップと、
    移動元のファイルのディレクトリエントリを削除するステップと、
    前記移動先のファイルを、移動先のファイルのうち上書きによって変更されない部分と新たに上書きによって変更される新たな部分とから生成して実データ領域に書き込むステップと、
    移動先のファイルが移動指示の前にポイントしていた実データを解放するステップと、
    を実行させるためのファイル情報の書き込み処理プログラム。
JP2004375074A 2004-12-24 2004-12-24 ファイル情報の書き込み処理方法およびプログラム Expired - Fee Related JP4806183B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004375074A JP4806183B2 (ja) 2004-12-24 2004-12-24 ファイル情報の書き込み処理方法およびプログラム
KR1020050028801A KR100637787B1 (ko) 2004-12-24 2005-04-07 파일 정보의 기록 처리 방법 및 프로그램
CNB200710149568XA CN100524316C (zh) 2004-12-24 2005-04-18 用于文件信息移动处理的方法和装置
CNB2005100647169A CN100367237C (zh) 2004-12-24 2005-04-18 用于文件信息写处理的方法和装置
US11/235,336 US20060173923A1 (en) 2004-12-24 2005-09-27 Method and program for file information write processing
US12/212,439 US8468290B2 (en) 2004-12-24 2008-09-17 Method and program for file information write processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004375074A JP4806183B2 (ja) 2004-12-24 2004-12-24 ファイル情報の書き込み処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2006184979A JP2006184979A (ja) 2006-07-13
JP4806183B2 true JP4806183B2 (ja) 2011-11-02

Family

ID=36738074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004375074A Expired - Fee Related JP4806183B2 (ja) 2004-12-24 2004-12-24 ファイル情報の書き込み処理方法およびプログラム

Country Status (4)

Country Link
US (2) US20060173923A1 (ja)
JP (1) JP4806183B2 (ja)
KR (1) KR100637787B1 (ja)
CN (2) CN100524316C (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5471547B2 (ja) * 2010-02-10 2014-04-16 ソニー株式会社 情報記録装置、撮像装置、情報更新方法及びプログラム
JP6053274B2 (ja) * 2011-10-31 2016-12-27 キヤノン株式会社 ファイル管理装置、ファイル管理方法およびプログラム
JP6142669B2 (ja) * 2013-05-22 2017-06-07 株式会社ソシオネクスト データ編集プログラム、データ編集装置、データ編集方法
TWI631461B (zh) * 2017-06-27 2018-08-01 晨星半導體股份有限公司 行車記錄器之儲存裝置的控制方法與儲存裝置控制系統
US11435922B2 (en) 2017-06-27 2022-09-06 Sigmastar Technology Ltd. Control method for storage device of driving recorder and storage device control system
CN113703985B (zh) * 2021-09-23 2023-10-10 瑞芯微电子股份有限公司 内存管理方法、介质及电子设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512405A (ja) * 1991-07-03 1993-01-22 Matsushita Electric Ind Co Ltd 画像情報記憶検索装置
JPH07175700A (ja) * 1993-12-20 1995-07-14 Fujitsu Ltd データベース管理方式
EP0973097A4 (en) * 1997-12-05 2000-04-12 Tokyo Electron Ltd MEMORY AND METHOD FOR ACCESSING THE MEMORY
US6714949B1 (en) * 2000-04-25 2004-03-30 Adaptec, Inc. Dynamic file system configurations
JP2002007204A (ja) * 2000-06-26 2002-01-11 Sony Corp 情報処理装置、情報処理方法
JP2002091806A (ja) * 2000-09-20 2002-03-29 Olympus Optical Co Ltd ファイルシステム
JP3722057B2 (ja) * 2001-11-30 2005-11-30 ソニー株式会社 データ記録再生装置及びデータ記録再生方法、並びにデジタルカメラ
JP2003271408A (ja) * 2002-03-14 2003-09-26 Hitachi Ltd 電子データの更新方法及びパッチデータ作成方法
US20050262033A1 (en) * 2002-03-29 2005-11-24 Kazuhiko Yamashita Data recording apparatus, data recording method, program for implementing the method, and program recording medium
KR100973871B1 (ko) * 2002-10-17 2010-08-03 파나소닉 주식회사 파일 갱신 장치
JP4391793B2 (ja) * 2002-10-17 2009-12-24 パナソニック株式会社 ファイル更新装置
JP4292882B2 (ja) * 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
US7085909B2 (en) * 2003-04-29 2006-08-01 International Business Machines Corporation Method, system and computer program product for implementing copy-on-write of a file
CN100422956C (zh) * 2003-08-06 2008-10-01 松下电器产业株式会社 半导体存储卡、存取装置和存取方法
US20050052550A1 (en) * 2003-09-04 2005-03-10 Pentax Corporation Image-file managing system and optical apparatus for observing object

Also Published As

Publication number Publication date
CN101114304A (zh) 2008-01-30
CN1794205A (zh) 2006-06-28
KR20060073407A (ko) 2006-06-28
JP2006184979A (ja) 2006-07-13
US20090024785A1 (en) 2009-01-22
US8468290B2 (en) 2013-06-18
KR100637787B1 (ko) 2006-10-24
CN100367237C (zh) 2008-02-06
US20060173923A1 (en) 2006-08-03
CN100524316C (zh) 2009-08-05

Similar Documents

Publication Publication Date Title
JP4908849B2 (ja) ファイル削除方法、ファイル・オープン方法、ファイル削除プログラム、および、ファイル・オープン・プログラム
US9773017B2 (en) Method of configuring a virtual application
US8856469B2 (en) Apparatus and method for logging optimization using non-volatile memory
KR100637787B1 (ko) 파일 정보의 기록 처리 방법 및 프로그램
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
US8281289B2 (en) Device, method, and program for generating and executing execution binary image, and computer-readable recording medium containing the execution binary image execution program
US9009114B1 (en) Version mapped incremental backups
EP2669806B1 (en) Storage system
JP2006268456A (ja) ファイル管理装置、ファイル管理方法、及びファイル管理プログラム
JP2002251310A (ja) フラッシュメモリのファイルシステム作成方式
JP2002023964A (ja) コンピュータ・システムにおける記録媒体に記憶された情報の制御方法
JP2004206353A (ja) ソフトウェアのインストール方法
JP6471621B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2005251045A (ja) 情報処理装置及び格納位置管理方法及びプログラム
GB2540179A (en) An integrated system for the transactional management of main memory and data storage
JP2008123104A (ja) データアクセス装置
JP4502689B2 (ja) データ記憶装置およびその初期化方法
JP2008065779A (ja) 情報処理装置および情報処理方法、プログラム、並びに、プログラム格納媒体
JP2006227715A (ja) 索引サーバ、情報端末、および分散型データベースシステム
JPH02227751A (ja) ファイル更新処理装置
JP2005267496A (ja) 仮想テープ装置の制御システムおよび制御プログラム
JP2007310667A (ja) リンカおよび情報処理装置
JPH05241814A (ja) パッチ管理装置
JP2006285814A (ja) ロードモジュールのロード管理方法及びコンピュータプログラム
JPH1153246A (ja) ハイパーリンク装置の自動更新装置及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071016

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110520

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110530

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: 20110809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110812

R150 Certificate of patent or registration of utility model

Ref document number: 4806183

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: 20140819

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees