(57)【要約】  キャッシュ情報管理部１０３に記録された各キャッシュデータを記憶媒体１０９に記録する場合に、ファイル管理部１０１により指定された領域が記憶媒体１０９上の未記録領域であるデータを、指定された領域が記憶媒体１０９上の記録済みの領域であるデータより先に記憶媒体１０９に記録する。これにより、指定された領域が記憶媒体１０９上の未記録領域であるデータが記録されるべき記憶媒体１０９上の領域に、指定された領域が記憶媒体１０９上の記録済みの領域であるデータが記録されることを防ぎ、全体として上書きとなる記録回数を抑えることができる。
2008056593.tif 000002
【特許請求の範囲】
【請求項１】
所定のメモリ領域に記憶された複数のデータをそれぞれ記憶媒体上に記録する記録装置であって、
前記メモリ領域上の複数のデータそれぞれについて、当該データを前記記憶媒体上の指定される領域に記録する必要が生じた場合に、当該指定される領域が特定の条件を満たすか否かを判定する判定手段と、
前記判定手段により特定の条件を満たすと判定された領域への記録に係る前記メモリ領域上の各データについては、特定の条件を満たさないと判定された領域への記録に係るいずれのデータよりも先に、当該指定に応じた領域に記録する記録制御手段とを備える
ことを特徴とする記録装置。
【請求項２】
前記記憶媒体上の前記領域の指定は、アドレス値によってなされるものであり、
前記記録装置は、更に
前記記憶媒体上に記録されている複数のデータからなるファイルを管理するため、当該ファイルの識別情報と当該ファイルを構成する各データが記録されている当該記憶媒体上のアドレス値とを対応付けて当該記憶媒体上に記録するよう指示するファイル管理手段を備え、
前記判定手段は、前記指定される領域を示すアドレス値が、前記記憶媒体に記録され、前記ファイル管理手段により管理された領域を示すアドレス値でない場合に、特定の条件を満たすと判定する
ことを特徴とする請求項１記載の記録装置。
【請求項３】
前記記憶媒体は、シーケンシャルに記録可能なライトワンスメディアであり、
前記判定手段は、前記各データについて、指定される領域にデータが記録されていない場合に、当該領域が前記特定の条件を満たすと判定する
ことを特徴とする請求項１記載の記録装置。
【請求項４】
前記記憶媒体は、シーケンシャルに記録可能なライトワンスメディアであり、前記記憶媒体上の前記領域の指定は、アドレス値によってなされるものであり、
前記記録装置は、更に
前記記憶媒体上の未記録領域の始端を示すアドレス値を管理するアドレス管理手段を備え、
前記判定手段は、指定されたアドレス値が示す領域が、前記アドレス管理手段が管理するアドレス値が示す領域以降の領域である場合に、特定の条件を満たすと判定し、
前記記録制御手段は、前記判定手段により特定の条件を満たすと判定された記録に係る前記メモリ領域上の全てのデータについて、前記記憶媒体上の前記指定された領域に記録し、当該記録された領域に引き続く領域に前記判定手段により特定の条件を満たさないと判定された記録に係る前記メモリ領域上の各データを記録する
ことを特徴とする請求項１記載の記録装置。
【請求項５】
前記記録装置は、更に、不揮発性メモリを備え、
前記判定手段により特定の条件を満たさないと判定された記録に係る前記メモリ領域上の各データについて、前記不揮発性メモリに記憶する
ことを特徴とする請求項１記載の記録装置。
【請求項６】
前記記憶媒体上の前記領域の指定は、アドレス値によってなされるものであり、
前記記録装置は、更に
前記記憶媒体上に記録されている複数のデータからなるファイルを管理するため、当該ファイルの識別情報と当該ファイルを構成する各データが記録されている当該記憶媒体上のアドレス値とを対応付けたファイル管理情報を当該記憶媒体上に記録するよう指示するファイル管理手段を備え、
前記ファイル管理手段が管理しているファイルの内容を構成するデータについて更新する必要が生じた場合に、当該ファイル管理手段は、当該ファイル管理手段により管理された領域を示すアドレス値とは異なるアドレス値を示す領域に、更新する前記データを記録するよう指示し、かつ、当該ファイルのファイル管理情報として、当該ファイルの識別情報と、更新する前記データを記録するアドレス値とを対応付けたものを記憶媒体に記録するよう指示する
ことを特徴とする請求項１記載の記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体へＰＯＷ（Pseudo Over Write）記録方式で記録を行う記録装置に関し、特に上書き記録回数を抑えたバッファキャッシュ管理機能を有する記録装置に関する。
【背景技術】
【０００２】
ＤＶＤ−Ｒ（Digital Versatile Disk）、ＤＶＤ＋ＲやＢＤ−Ｒ（Blu-ray Disc）など、シーケンシャルにしか記録できないライトワンスメディアにおいては、直接データを書き換えることができないため、データの上書きを仮想的に実現するための様々な方式が提案されている。
例えば、ＵＤＦ（Universal Disk Format）Ｒｅｖｉｓｉｏｎ２．６０規格で規定され、ＢＤ−Ｒで採用されているＰＯＷ記録方式においては、変更後のデータを記憶媒体のデータ領域にシーケンシャルに記録し、つまり、変更前のデータとは別に、そのとき記録されているデータの最後尾に記録し、変更前のデータが記録された領域を示すアドレスと変更後のデータが記録された領域を示すアドレスとの対応を示す交替情報を記憶媒体上のデータ記録用の領域とは別に定められたＰＯＷ情報管理領域に記憶することによって、データの仮想的な上書きを実現している。【０００３】
ところで、ＢＤ−Ｒ等の記憶媒体への書込み、読出し処理は、一般的にメモリ上で行われる処理に比べて非常に低速であるため、一部のメモリ領域をディスクキャッシュとして使用する場合が多い。
ディスクキャッシュに記憶されているデータを記憶媒体に記録する際の制御方式には、ライトスルー方式とライトバック方式とがある。【０００４】
ライトスルー方式は、ディスクキャッシュにデータを記憶する際に、記憶媒体へも記録する方式である。一方、ライトバック方式は、データを一旦ディスクキャッシュのみに記憶し、ディスクキャッシュの空き容量がなくなった場合等に、記憶媒体へ記録する方式である。
ライトバック方式は、ライトスルー方式より記録回数を少なくできるため、上述のライトワンスメディアに適した記録方式である。【０００５】
このようなキャッシュ技術の応用技術として、例えば特許文献１、特許文献２がある。
【特許文献１】特開２００２−９１８１１号公報
【特許文献２】特開平５−２５７８１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のとおり、ＰＯＷ記録方式では、データの仮想的な上書きの度に、実際は、変更後のデータを記憶媒体上のデータ領域に、交替情報を記憶媒体上のＰＯＷ情報管理領域に記録するため、データ量が増えて記憶媒体に記録可能な残り容量が減ることとなる。従って、上書き回数を極力抑えることが望ましい。
しかしながら、ライトバック方式により記憶媒体へ記録する場合であっても、上書き回数が増加してしまう場合がある。その様子を、図１４を用いて説明する。【０００７】
図１４はＰＯＷ記録方式で記録される記憶媒体において、ディスクキャッシュ上のデータと記憶媒体上のデータとに差分があるデータ（以下、「ダーティーキャッシュデータ」という）を、記録すべき記憶媒体上のアドレスが小さい順に記憶媒体へ記録する動作の例を示している。
同図中、状態番号１４０１は、本説明を行う上で状態を識別するための番号であり、ダーティーキャッシュ１４０２は、各状態におけるディスクキャッシュ上に残っているダーティーキャッシュデータの状態を、記憶媒体１４０３は、各状態における記憶媒体上に記憶されたデータの状態を示すものである。【０００８】
ダーティーキャッシュ１４０２において記載されている数字は、各ダーティーキャッシュデータを記憶媒体に記録する際の記憶媒体上のアドレスであって、ファイルシステムにより割り当てられたアドレスである。
状態番号１４０１が（１）の状態は初期状態であり、記憶媒体上のアドレス２に記録すべきダーティーキャッシュデータ「Ａ」、アドレス４に記録すべきダーティーキャッシュデータ「Ｂ」、アドレス６に記録すべきダーティーキャッシュデータ「Ｃ」、アドレス７に記録すべきダーティーキャッシュデータ「Ｄ」がディスクキャッシュに記憶されていることを示している。【０００９】
また、記憶媒体の記録領域がアドレス１からアドレス１０までで構成されているとし、状態番号１４０１が（１）の状態では、アドレス１からアドレス５までは既にデータが記録されており、アドレス６からアドレス１０までは未記録であるとする。
以下、未記録領域の始端となるアドレスを「ＮＷＡ」（Next Writable Address）という。状態番号１４０１が（１）の状態では、ＮＷＡはアドレス６である。【００１０】
状態番号１４０１が（２）の状態は、記録すべき記憶媒体上のアドレスが最も小さいダーティーキャッシュデータ「Ａ」がアドレス２に記録された状態である。アドレス２への記録は上書きであるので、実際にはデータ「Ａ」はＮＷＡであるアドレス６に記録され、「アドレス２→アドレス６」の交替情報が記憶媒体上のＰＯＷ情報管理領域に記録される。記憶媒体１４０３における矢印は、交替情報を示している。【００１１】
ダーティーキャッシュデータ「Ａ」が記憶媒体に記録されたため、ダーティーキャッシュ１４０２からダーティーキャッシュデータ「Ａ」が消え、ＮＷＡはアドレス７に移っている。
状態番号１４０１が（３）の状態は、ダーティーキャッシュデータ「Ｂ」がアドレス４に記録された状態である。アドレス４への記録は上書きであるので、実際にはダーティーキャッシュデータ「Ｂ」はＮＷＡであるアドレス７に記録され、「アドレス４→アドレス７」の交替情報が記憶媒体上のＰＯＷ情報管理領域に記録され、ＮＷＡはアドレス８に移っている。【００１２】
状態番号１４０１が（４）の状態は、ダーティーキャッシュデータ「Ｃ」がアドレス６に記録された状態である。アドレス６への記録は上書きであるので、実際にはダーティーキャッシュデータ「Ｃ」はＮＷＡであるアドレス８に記録され、「アドレス６→アドレス８」の交替情報が記憶媒体上のＰＯＷ情報管理領域に記録される。
状態番号１４０１が（１）の状態において、ＮＷＡはアドレス６であり、このときダーティーキャッシュデータ「Ｃ」を記録していれば上書きとはならなかった。【００１３】
しかし、状態番号１４０１が（２）、（３）の状態においてダーティーキャッシュ「Ａ」、「Ｂ」を記録したため、ＮＷＡが変更され、状態番号１４０１が（４）の状態でのダーティーキャッシュデータ「Ｃ」の記録は上書きとなってしまっている。
状態番号１４０１が（５）の状態は、ダーティーキャッシュデータ「Ｄ」がアドレス７に記録された状態である。アドレス７への記録は上書きであるので、実際にはダーティーキャッシュデータ「Ｄ」はＮＷＡであるアドレス９に記録され、「アドレス７→アドレス９」の交替情報が記憶媒体上のＰＯＷ情報管理領域に記録される。【００１４】
ダーティーキャッシュデータ「Ｃ」と同様に、状態番号１４０１が（１）の状態において、ＮＷＡはアドレス６であり、この時点では、ダーティーキャッシュデータ「Ｄ」の記録は、上書きではなかった。
しかし、状態番号１４０１が（３）、（４）の状態においてダーティーキャッシュ「Ｂ」、「Ｃ」を記録したため、ＮＷＡが変更され、状態番号１４０１が（４）の状態でのダーティーキャッシュデータ「Ｄ」の記録は上書きとなってしまっている。【００１５】
このように、従来の方法では、ディスクキャッシュへ書込まれた時点では上書きではない場合でも、実際に記憶媒体へ記録する時点では上書きになることがあり、その分だけ余計にＰＯＷ情報管理領域に交替情報が記録されることとなる。
そこで、本発明は係る問題に鑑みてなされたものであり、記憶媒体へ記録する場合に上書きとなる記録回数を抑えることができる記録装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、本発明に係る記録装置は、所定のメモリ領域に記憶された複数のデータをそれぞれ記憶媒体上に記録する記録装置であって、前記メモリ領域上の複数のデータそれぞれについて、当該データを前記記憶媒体上の指定される領域に記録する必要が生じた場合に、当該指定される領域が特定の条件を満たすか否かを判定する判定手段と、前記判定手段により特定の条件を満たすと判定された領域への記録に係る前記メモリ領域上の各データについては、特定の条件を満たさないと判定された領域への記録に係るいずれのデータよりも先に、当該指定に応じた領域に記録する記録制御手段とを備えることを特徴とする。
【発明の効果】
【００１７】
例えば、シーケンシャルに記録可能なライトワンスメディアである記憶媒体へメモリ領域上の各データを記録する際に、指定される領域に未だデータが記録されていない場合を特定の条件を満たす場合として、上述の構成を備える本発明に係る記録装置の効果を説明する。
上述の構成を備える本発明に係る記録装置は、特定の条件を満たすと判定された領域への記録に係るメモリ領域上の各データを、特定の条件を満たさないと判定された領域への記録に係るメモリ領域上の各データより先に記憶媒体に記録するため、全体として上書きとなる記録回数を抑えることができ、即ち、交替情報を記憶媒体上のＰＯＷ情報管理領域に記憶する回数を抑えることができる。【００１８】
ここで、上書きとは、既にデータが記録された記憶媒体上の領域にデータを記録する場合をいうが、記憶媒体はライトワンスメディアであり、直接データを更新することができない。従って、実際には、変更後のデータを記憶媒体上の未記録領域にシーケンシャルに記録すると共に、交替情報を記録することによって、仮想的に上書きが実現されることになる。また、交替情報とは、記憶媒体に記録されている変更前後のデータの記録領域の対応を示す情報をいう。【００１９】
もし、特定の条件を満たさないと判定された領域への記録に係るメモリ領域上の各データを、特定の条件を満たすと判定された領域への記録に係るメモリ領域上の各データより先に記憶媒体に記録したとすれば、本来、特定の条件を満たすと判定された領域への記録に係るメモリ領域上の各データが記録されるはずであった領域に、特定の条件を満たさないと判定された領域への記録に係るメモリ領域上の各データが記録されてしまう。つまり、特定の条件を満たすと判定された領域への記録に係るメモリ領域上の各データについても上書きとなる記録となってしまう。【００２０】
上述の構成を備える本発明に係る記録装置は、このような状況を防ぎ、全体として上書きとなる記録回数を抑えることができる。
また、前記記憶媒体上の前記領域の指定は、アドレス値によってなされるものであり、前記記録装置は、更に前記記憶媒体上に記録されている複数のデータからなるファイルを管理するため、当該ファイルの識別情報と当該ファイルを構成する各データが記録されている当該記憶媒体上のアドレス値とを対応付けて当該記憶媒体上に記録するよう指示するファイル管理手段を備え、前記判定手段は、前記指定される領域を示すアドレス値が、前記記憶媒体に記録され、前記ファイル管理手段により管理された領域を示すアドレス値でない場合に、特定の条件を満たすと判定することとしてもよい。【００２１】
これにより、各データが依存関係にあるファイル管理情報である場合に、判定手段は、指定された領域を示すアドレス値がファイル管理手段により管理された領域を示すアドレス値でないデータを、ファイル管理手段により管理された領域を示すアドレス値であるデータよりも先に記憶媒体に記録するため、ファイルシステムに不整合が生じる可能性を低減できる。【００２２】
ここで、ファイル管理情報とは、ファイルを構成する各データの記憶媒体上の記録位置を示す情報をいう。
また、前記記憶媒体は、シーケンシャルに記録可能なライトワンスメディアであり、前記判定手段は、前記各データについて、指定される領域にデータが記録されていない場合に、当該領域が前記特定の条件を満たすと判定することとしてもよい。【００２３】
これにより、記録制御手段は、メモリ領域上に記憶されている各データのうち、指定される領域にデータが記録されていない各データを、指定される領域にデータが記録されている各データより先に記憶媒体に記録するため、上書きとなる記録回数を抑えることができる。
また、前記記憶媒体は、シーケンシャルに記録可能なライトワンスメディアであり、前記記憶媒体上の前記領域の指定は、アドレス値によってなされるものであり、前記記録装置は、更に前記記憶媒体上の未記録領域の始端を示すアドレス値を管理するアドレス管理手段を備え、前記判定手段は、指定されたアドレス値が示す領域が、前記アドレス管理手段が管理するアドレス値が示す領域以降の領域である場合に、特定の条件を満たすと判定し、前記記録制御手段は、前記判定手段により特定の条件を満たすと判定された記録に係る前記メモリ領域上の全てのデータについて、前記記憶媒体上の前記指定された領域に記録し、当該記録された領域に引き続く領域に前記判定手段により特定の条件を満たさないと判定された記録に係る前記メモリ領域上の各データを記録することとしてもよい。【００２４】
これにより、判定手段は、指定されたアドレス値が示す領域が、記憶媒体上の未記録領域の始端となる領域以降の領域と判定されたメモリ領域上の全てデータを、記憶媒体上の未記録領域の始端となる領域より前の領域と判定されたメモリ領域上の各データより先に記憶媒体に記録するため、上書きとなる回数を抑え、ＰＯＷ情報管理領域への交替情報の記録回数を抑えることができる。【００２５】
また、前記記録装置は、更に、不揮発性メモリを備え、前記判定手段により特定の条件を満たさないと判定された記録に係る前記メモリ領域上の各データについて、前記不揮発性メモリに記憶することとしてもよい。
これにより、判定手段により特定の条件を満たさないと判定された記録に係るメモリ領域上の各データを前記不揮発性メモリに記憶するため、停電等により電源が遮断され、メモリ領域上の相互に依存関係のある各データが失われた場合であっても、電源復帰後に、不揮発性メモリから記憶媒体へデータを記録することができる。【００２６】
また、前記記憶媒体上の前記領域の指定は、アドレス値によってなされるものであり、前記記録装置は、更に前記記憶媒体上に記録されている複数のデータからなるファイルを管理するため、当該ファイルの識別情報と当該ファイルを構成する各データが記録されている当該記憶媒体上のアドレス値とを対応付けたファイル管理情報を当該記憶媒体上に記録するよう指示するファイル管理手段を備え、前記ファイル管理手段が管理しているファイルの内容を構成するデータについて更新する必要が生じた場合に、当該ファイル管理手段は、当該ファイル管理手段により管理された領域を示すアドレス値とは異なるアドレス値を示す領域に、更新する前記データを記録するよう指示し、かつ、当該ファイルのファイル管理情報として、当該ファイルの識別情報と、更新する前記データを記録するアドレス値とを対応付けたものを記憶媒体に記録するよう指示することとしてもよい。【００２７】
これにより、更新後のデータは、ファイル管理手段が管理する領域を示すアドレス値以外のアドレス値が示す領域に記録されるため、上書きとなる記録回数を抑えることができ、即ち、例えば、記憶媒体が、シーケンシャルに記録可能なライトワンスメディアである場合には、ＰＯＷ情報管理領域に交替情報が記録される回数を抑えることができる。
【図面の簡単な説明】
【００２８】
【図１】実施の形態１における記録装置１００の構成図である。
【図２】実施の形態１におけるキャッシュ情報の説明図である。
【図３】実施の形態１における読出し処理のフローチャートである。
【図４】実施の形態１における書込み処理のフローチャートである。
【図５】実施の形態１における上書き判定処理のフローチャートである。
【図６】実施の形態１における実書込み処理のフローチャートである。
【図７】実施の形態１における実書込み処理の説明図である。
【図８】ＵＤＦに従って記憶媒体へ記録されたファイルにアクセスする処理の説明図である。
【図９】ＵＤＦに従って記憶媒体へファイルを記録する処理の説明図である。
【図１０】変形例１における実書込み処理のフローチャートである。
【図１１】変形例１において不揮発性メモリに記憶されたデータの実書込み処理のフローチャートである。
【図１２】実施の形態２における記録装置１２００の構成図である。
【図１３】実施の形態２における実書込み処理の説明図である。
【図１４】従来の方法による実書込み処理の説明図である。
【符号の説明】
【００２９】
１００、１２００  記憶装置
１０１、１２０１  ファイル管理部
１０２  キャッシュ制御部
１０３  キャッシュ情報管理部
１０４  判定部
１０５  実書込み制御部
１０６  記憶媒体アクセス部
１０７  記憶媒体制御装置
１０８  記憶媒体制御回路
１０９  記憶媒体
２０１〜２０４  キャッシュ情報
２１１  Ｎｅｘｔ
２１２  Ｐｒｅｖ
２１３  ダーティービット
２１４  上書きビット
２１５  アドレス
２１６  キャッシュデータ
８１０  ルートディレクトリのＦＥ
８１１、８３１、８５１、９２１  ＡＤ
８２０、８４０、９３０  ＦＩＤ列
８２１  サブディレクトリのＦＩＤ
８２２、８４２、９３２、９３４  ＩＣＢ
８３０  サブディレクトリのＦＥ
８４１、９３１、９３３  ファイルのＦＩＤ
８５０、９２０  ファイルのＦＥ
８６０、９１０  実体データ
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態について、図面を参照しながら説明する。
≪実施の形態１≫
＜概要＞
実施の形態１に係る記録装置１００は、ディスクキャッシュに記憶された複数のデータをシーケンシャルに記録可能なライトワンスメディアである記憶媒体にＰＯＷ方式により記録する記録装置であって、従来の記録装置を改良したものである。【００３１】
ライトワンスメディアは、記録されたデータを直接上書きすることができないため、変更後のデータを記憶媒体上の未記録領域に記録し、変更前のデータが記録された領域を示すアドレスと変更後のデータが記録された領域を示すアドレスとの対応を示す交替情報を記憶媒体に記録することで、仮想的な上書きを実現する。
記録装置１００は、ディスクキャッシュに記憶された全てのデータを記憶媒体に記録する場合、記憶媒体上の記録領域として未記録領域を指定されたデータを、既にデータが記録された領域を指定されたデータよりも先に記憶媒体へ記録する。【００３２】
これにより、データの上書き回数を減らし、ＰＯＷ情報管理領域への交替情報の記録回数を減らすことができる。
＜構成＞
図１は、実施の形態１における記録装置１００の構成図である。
記録装置１００は、同図に示すとおり、ファイル管理部１０１、キャッシュ制御部１０２、キャッシュ情報管理部１０３、判定部１０４、実書込み制御部１０５、記憶媒体アクセス部１０６、記憶媒体制御装置１０７から構成される。【００３３】
なお、記録装置１００は、図示していないが、ＣＰＵ（Central Processing Unit）及びメモリを備え、キャッシュ制御部１０２、判定部１０４、実書込み制御部１０５、記憶媒体アクセス部１０６の各機能は、メモリに記憶されているプログラムをＣＰＵに実行させることにより実現される。
ファイル管理部１０１は、記録装置１００が有するユーザインターフェース（図示しない）からファイルやディレクトリの作成・削除、ファイルの書込み・読出しのファイル操作要求を受領すると、キャッシュ制御部１０２に対して、データの書込み要求、又は、読出し要求を行い、受領したファイル操作要求を実行する機能を有する。【００３４】
また、ファイル管理部１０１は、ファイルの作成要求を受領すると、ファイルを構成する各データについて、記憶媒体制御装置１０７内の後述する記憶媒体１０９上のＮＷＡ以降の領域を示すアドレスを割り当てる機能を有する。
なお、ＮＷＡは、キャッシュ制御部１０２を介して、記憶媒体アクセス部１０６から取得する。【００３５】
キャッシュ制御部１０２は、ファイル管理部１０１からデータの書込み要求、又は、読出し要求を受領すると、キャッシュ情報管理部１０３にデータの書込み要求、又は、読出し要求を行い、書込みの結果、又は、読み出したデータをファイル管理部１０１に送出する機能を有する。
また、ファイル管理部１０１から受領した要求の対象となるデータが、キャッシュ情報管理部１０３上に存在しない場合、キャッシュ制御部１０２は、記憶媒体アクセス部１０６を介して記憶媒体制御装置１０７から要求の対象となるデータを読み出し、キャッシュ情報管理部１０３に記憶させる機能を有する。【００３６】
また、キャッシュ制御部１０２は、実書込み制御部１０５に対し、キャッシュ情報管理部１０３に記憶されているデータを記憶媒体制御装置１０７へ記録する旨の実書込み要求を行う機能を有する。
キャッシュ情報管理部１０３は、キャッシュしているデータとそのデータが記憶されている記憶媒体上のアドレスとデータの属性情報とからなるキャッシュ情報を記憶する揮発性のメモリである。キャッシュ情報については、後述する。【００３７】
キャッシュ情報管理部１０３は、キャッシュ制御部１０２の要求に従い、データの記憶、読出しを行い、また、実書込み制御部１０５の要求に従い、データの読出しを行う。
判定部１０４は、キャッシュ制御部１０２が受領した書込み要求が、記憶媒体制御装置１０７内の後述する記憶媒体１０９において、上書きとなる要求であるか否かを判定する機能を有する。【００３８】
実書込み制御部１０５は、キャッシュ制御部１０２からの実書込み要求に従い、キャッシュ情報管理部１０３に記憶されているキャッシュデータを、記憶媒体アクセス部１０６を介して記憶媒体制御装置１０７に記録するよう制御する機能を有する。
記憶媒体アクセス部１０６は、キャッシュ制御部１０２から実読出し要求、又は、実書込み制御部１０５から実書込み要求を受領すると、記憶媒体制御装置１０７に対し、実読出し要求、又は、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７からデータを読み出し、又は、記憶媒体制御装置１０７へデータを書き込む機能を有する。また、記憶媒体アクセス部１０６は、ＮＷＡの取得要求があると、記憶媒体制御装置１０７に問い合わせ、取得したＮＷＡを要求元へ送出する機能を有する。【００３９】
記憶媒体制御装置１０７は、いわゆるドライブ装置であって、記憶媒体制御回路１０８と、記憶媒体１０９とから構成される。
記憶媒体制御回路１０８は、記憶媒体１０９からのデータの読出し、又は、データの書込みを制御する回路である。
記憶媒体１０９は、シーケンシャルに記録可能なライトワンスメディアであって、ＰＯＷ記録方式で記録を行う通常の記憶媒体である。【００４０】
記憶媒体１０９には、データ領域とＰＯＷ情報管理領域との２つの領域があり、それぞれの領域にシーケンシャルに記憶可能である。データ領域には、ファイルを構成する各データ等の実データが記憶され、ＰＯＷ情報管理領域には、交替情報が記録される。
＜データ＞
キャッシュ情報管理部１０３に記憶されるキャッシュ情報を図２に示す。【００４１】
図２に示すとおり、キャッシュ情報２０１〜２０４はリスト構造を有している。キャッシュ情報２０１〜２０４はそれぞれＮｅｘｔ２１１、Ｐｒｅｖ２１２、ダーティービット２１３、上書きビット２１４、アドレス２１５、キャッシュデータ２１６からなる。
Ｎｅｘｔ２１１は、次のキャッシュ情報が記憶されているディスクキャッシュ上のアドレスを示すポインタであり、Ｐｒｅｖ２１２は、前のキャッシュ情報が記憶されているディスクキャッシュ上のアドレスを示すポインタである。【００４２】
例えば、キャッシュ情報２０１のＮｅｘｔ２１１は、キャッシュ情報２０２のディスクキャッシュ上のアドレスを示しており、キャッシュ情報２０２のＰｒｅｖ２１２は、キャッシュ情報２０１のディスクキャッシュ上のアドレスを示している。
ダーティービット２１３は、記憶されているキャッシュデータがダーティーであるかクリーンであるかを示す１ビットのデータであり、キャッシュデータがダーティーである場合は、“１”、クリーンである場合は“０”となる。【００４３】
ここで、キャッシュデータがダーティーであるとは、記憶されているキャッシュデータと、これに対応する記憶媒体１０９に記憶されているデータとに差分があることをいい、また、クリーンであるとは、差分がないことをいう。記憶媒体１０９から読み出されたデータが更新されていればダーティーである。
上書きビット２１４は、記憶されているキャッシュデータを記憶媒体１０９に記録する場合に、その記録が上書きになるかを示す１ビットのデータであり、上書きである場合は“１”、上書きでない場合は“０”となる。【００４４】
アドレス２１５は、キャッシュデータを記憶すべき記憶媒体１０９上のアドレスである。
キャッシュデータ２１６は、実際にキャッシュしているデータである。キャッシュデータのサイズは記憶媒体のブロックサイズ、セクターサイズ、あるいはＥＣＣ（Error Correction Code）ブロックサイズ等、記憶媒体の記憶単位や読み書き単位の倍数である。以下では、キャッシュデータのサイズはセクターサイズであるとして説明する。【００４５】
図２では、４つのキャッシュ情報からなるものを例として記載しているが、キャッシュ情報管理部１０３の記憶容量を超えない範囲でキャッシュ情報を追加することができ、また、削除することもできる。
キャッシュ情報を追加、削除を行う場合には、Ｎｅｘｔ２１１及びＰｒｅｖ２１２を更新することにより、リスト構造が維持される。
＜動作＞
以下、上記構成を備え、上述したデータを取り扱う記録装置１００の動作を説明する。【００４６】
まず、キャッシュ情報管理部１０３にどのようにキャッシュデータが蓄積されていくかを説明するため、ファイル管理部１０１がキャッシュ制御部１０２に対してデータの読出し要求、書込み要求を行った場合の動作について説明する。
＜データの読出し＞
ファイル管理部１０１が、キャッシュ制御部１０２に対して読出し要求を行う場合の動作について、図３を用いて説明する。【００４７】
以下では、読出し要求の対象アドレスをＡＤＲｒｅａｄとして説明する。ＡＤＲｒｅａｄは、記憶媒体１０９上のセクターを識別できるアドレスデータである。
キャッシュ制御部１０２は、ファイル管理部１０１からアドレスＡＤＲｒｅａｄに記録されたデータの読出し要求を受けると、キャッシュ情報管理部１０３にアドレスがＡＤＲｒｅａｄと一致するキャッシュデータが存在するかどうかを問い合わせる（ステップＳ３０１）。【００４８】
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報についてのアドレス２１５を参照し、ＡＤＲｒｅａｄと一致するものがある場合（ステップＳ３０１：Ｙｅｓ）、キャッシュ制御部１０２にアドレス２１５が一致したキャッシュ情報についてのキャッシュデータを送出する。
キャッシュ制御部１０２は、キャッシュ情報管理部１０３から受領したキャッシュデータをアドレスＡＤＲｒｅａｄに記録されたデータとしてファイル管理部１０１に送出し（ステップＳ３０２）、読出し処理は終了する。【００４９】
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報のアドレス２１５に、ＡＤＲｒｅａｄと一致するものがなかった場合（ステップＳ３０１：Ｎｏ）、その旨を示す情報をキャッシュ制御部１０２に送出する。
キャッシュ制御部１０２は、記憶媒体アクセス部１０６に対してＡＤＲｒｅａｄに記憶されたデータを記憶媒体制御装置１０７から読み出す旨の実読出し要求を行う（ステップＳ３０３）。【００５０】
実読出し要求を受けた記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実読出し要求に対応するコマンドを発行し、記憶媒体制御装置１０７からＡＤＲｒｅａｄに記憶されたデータを読み出し、キャッシュ制御部１０２に送出する。以下、この実読出しで取得したデータをＤＡＴｒｅａｄとする。
キャッシュ制御部１０２は、キャッシュ情報管理部１０３に対して、クリーンキャッシュとして、アドレスがＡＤＲｒｅａｄ、キャッシュデータがＤＡＴｒｅａｄのキャッシュ情報の追加を要求する。【００５１】
キャッシュ情報管理部１０３は、ダーティービット２１３が“０”、アドレス２１５がＡＤＲｒｅａｄ、キャッシュデータ２１６がＤＡＴｒｅａｄのキャッシュ情報を追加する（ステップＳ３０４）。
キャッシュ制御部１０２は、記憶媒体アクセス部１０６から受領したデータＤＡＴｒｅａｄをアドレスＡＤＲｒｅａｄに記憶されたデータとしてファイル管理部１０１に送出し（ステップＳ３０５）、読出し処理は終了する。【００５２】
＜データの書込み＞
ファイル管理部１０１が、キャッシュ制御部１０２に対して書込み要求を行う場合の動作について、図４を用いて説明する。
以下では、書込み要求の対象アドレスをＡＤＲｗｒｉｔｅ、書き込むデータをＤＡＴｗｒｉｔｅとして説明する。ここで、ＡＤＲｗｒｉｔｅは、ファイル管理部１０１から割り当てられた記憶媒体１０９におけるＮＷＡ以降のセクターを示すアドレスである。【００５３】
キャッシュ制御部１０２は、ファイル管理部１０１からアドレスＡＤＲｗｒｉｔｅへのデータの書込み要求を受けると、キャッシュ情報管理部１０３にアドレスがＡＤＲｗｒｉｔｅと一致するキャッシュデータが存在するかどうかを問い合わせる（ステップＳ４０１）。
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報についてのアドレス２１５を参照し、ＡＤＲｗｒｉｔｅと一致するものがある場合（ステップＳ４０１：Ｙｅｓ）、キャッシュ制御部１０２にその旨を示す情報を送出する。【００５４】
キャッシュ制御部１０２は、判定部１０４にアドレスＡＤＲｗｒｉｔｅへの書込み要求が上書きの書込みであるかどうかを問い合わせる（ステップＳ４０２）。
判定部１０４は、後述する図５に示す処理手順に従って上書きの書込みであるかを判定し、判定結果をキャッシュ制御部１０２に送出する。
書込み要求が上書きの書込みである場合（ステップＳ４０２：Ｙｅｓ）、キャッシュ制御部１０２は、キャッシュ情報管理部１０３にアドレスがＡＤＲｗｒｉｔｅであるキャッシュ情報を上書きに設定するよう要求する。【００５５】
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報のうち、アドレス２１５がＡＤＲｗｒｉｔｅのものの上書きビット２１４を“１”に設定する（ステップＳ４０３）。
書込み要求が上書きの書込みでない場合（ステップＳ４０２：Ｎｏ）、キャッシュ制御部１０２は、キャッシュ情報管理部１０３にアドレスがＡＤＲｗｒｉｔｅであるキャッシュ情報を上書きでないように設定するよう要求する。【００５６】
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報のうち、アドレス２１５がＡＤＲｗｒｉｔｅのものの上書きビット２１４を“０”に設定する（ステップＳ４０４）。
キャッシュ制御部１０２は、キャッシュ情報管理部１０３にダーティーなキャッシュとして、アドレスがＡＤＲｗｒｉｔｅであるキャッシュ情報のキャッシュデータをＤＡＴｗｒｉｔｅに更新するよう要求する。【００５７】
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報のうち、アドレス２１５がＡＤＲｗｒｉｔｅのもののダーティービットを“１”に設定し（ステップＳ４０５）、キャッシュデータ２１６をＤＡＴｗｒｉｔｅに更新し（ステップＳ４０６）、書込み処理は終了する。
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報についてのアドレス２１５を参照し、ＡＤＲｗｒｉｔｅと一致するものがない場合（ステップＳ４０１：Ｎｏ）、キャッシュ制御部１０２にその旨の情報を送出する。【００５８】
キャッシュ制御部１０２は、判定部１０４にアドレスＡＤＲｗｒｉｔｅへの書込み要求が上書きの書込みであるかどうかを問い合わせる（ステップＳ４０７）。
判定部１０４は、後述する図５に示す処理手順に従い判定し、判定結果をキャッシュ制御部１０２に送出する。
書込み要求が上書きの書込みである場合（ステップＳ４０７：Ｙｅｓ）、キャッシュ制御部１０２は、記憶媒体アクセス部１０６に対して、記憶媒体１０９上のアドレスＡＤＲｗｒｉｔｅに記憶されているデータの実読出し要求を行う（ステップＳ４０８）。【００５９】
記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実読出し要求に対応するコマンドを発行し、記憶媒体制御装置１０７からアドレスＡＤＲｗｒｉｔｅに記憶されているデータを読み出し、キャッシュ制御部１０２に送出する。
キャッシュ制御部１０２は、この実読出しで取得したデータにＤＡＴｗｒｉｔｅを上書きし（ステップＳ４０９）、上書きのダーティーなキャッシュとしてキャッシュ情報を追加するようにキャッシュ情報管理部１０３に要求する。【００６０】
キャッシュ情報管理部１０３は、キャッシュ制御部１０２からの要求に従い、ダーティービット２１３が“１”、上書きビット２１４が“１”、アドレス２１５がＡＤｗｒｉｔｅ、キャッシュデータ２１６がＤＡＴｗｒｉｔｅのキャッシュ情報を追加し（ステップＳ４１０）、書込み処理は終了する。
書込み要求が上書きの書込みでない場合（ステップＳ４０７：Ｎｏ）、キャッシュ制御部１０２は、キャッシュ情報のキャッシュデータサイズ（セクターサイズ）と同じサイズのＮＵＬＬを埋めたデータを用意し、そのデータをＤＡＴｗｒｉｔｅに更新し（ステップＳ４１１）、上書きでないダーティーなキャッシュとしてキャッシュ情報を追加するようにキャッシュ情報管理部１０３に要求する。【００６１】
キャッシュ情報管理部１０３は、キャッシュ制御部１０２からの要求に従い、ダーティービット２１３が“１”、上書きビット２１４が“０”、アドレス２１５がＡＤｗｒｉｔｅ、キャッシュデータ２１６がＤＡＴｗｒｉｔｅのキャッシュ情報を追加し（ステップＳ４１２）、書込み処理は終了する。
＜上書き判定＞
判定部１０４が、書込み要求が上書きの書込みであるか否かの判定を行う場合の動作について、図５を用いて説明する。【００６２】
以下、書込み対象のアドレスは、ＡＤＲｗｒｉｔｅとして説明する。なお、ＡＤＲｗｒｉｔｅは、ファイル管理部１０１から割り当てられた記憶媒体１０９におけるセクターを示すアドレスである。
判定部１０４は、キャッシュ制御部１０２からＡＤＲｗｒｉｔｅへの書込み要求が上書きであるかの問合せ要求を受領すると、記憶媒体アクセス部１０６へＮＷＡを問い合わせる（ステップＳ５０１）。【００６３】
判定部１０４は、記憶媒体アクセス部１０６からＮＷＡを受領すると、受領したＮＷＡとＡＤＲｗｒｉｔｅとを比較して（ステップＳ５０２）、ＡＤＲｗｒｉｔｅがＮＷＡより小さければ（ステップＳ５０２：Ｙｅｓ）、上書きの書込みであると判定し（ステップＳ５０３）、ＡＤＲｗｒｉｔｅがＮＷＡ以上であれば（ステップＳ５０２：Ｎｏ）、上書きでない書込みであると判定する（ステップＳ５０４）。【００６４】
判定部１０４は、判定結果をキャッシュ制御部１０２に送出して、上書き判定処理を終了する。
＜データの実書込み＞
次に、上記の通り、ファイル管理部１０１が、キャッシュ制御部１０２に対して書込み要求を行うことによって、キャッシュ情報管理部１０３に蓄積されたダーティーキャッシュデータを記憶媒体１０９に記録する場合の動作について、図６を用いて説明する。【００６５】
なお、記憶媒体１０９への記録は、キャッシュ情報管理部１０３の記憶容量分のキャッシュ情報が記憶されている場合に、新たなキャッシュ情報の追加要求があった場合や、ファイルシステムをアンマウントする場合等に行われる。
以下では、ファイルシステムをアンマウントする場合に、キャッシュ情報管理部１０３に記憶されたダーティーキャッシュデータを全て記憶媒体に記録する場合を例に説明する。【００６６】
キャッシュ制御部１０２は、記憶媒体１０９への記録が必要な状況が発生すると、実書込み制御部１０５にダーティーキャッシュデータの実書込み要求を行い、実書込み制御部１０５は、キャッシュ情報管理部１０３に上書きでない書込み要求のダーティーキャッシュデータが存在するかを問い合わせる（ステップＳ６０１）。
キャッシュ情報管理部１０３は、各キャッシュ情報について、上書きビットが“０”、ダーティービットが“１”のものがあるかを確認し、その結果を実書込み制御部１０５に送出する。【００６７】
上書きでない書込み要求のダーティーキャッシュデータが存在する場合（ステップＳ６０１：Ｙｅｓ）、実書込み制御部１０５は、キャッシュ情報管理部１０３から上書きでない書込み要求のダーティーキャッシュデータのうち、ＮＷＡに記録するものを１つ受領する（ステップＳ６０２）。以下では、受領したキャッシュデータをＤＡＴｗｒｉｔｅ、アドレスをＡＤＲｗｒｉｔｅとする。【００６８】
実書込み制御部１０５は、記憶媒体アクセス部１０６に、キャッシュデータをＤＡＴｗｒｉｔｅ、アドレスをＡＤＲｗｒｉｔｅとして、実書込み要求を行う。
実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のＡＤＲｗｒｉｔｅにＤＡＴｗｒｉｔｅを記録する（ステップＳ６０３）。【００６９】
記憶媒体１０９への記録が完了すると、実書込み制御部１０５は、キャッシュ情報管理部１０３に、記憶媒体１０９に記録したキャッシュデータＤＡＴｗｒｉｔｅについてのキャッシュ情報をクリーンキャッシュに設定するよう要求する。
キャッシュ情報管理部１０３は、記憶媒体１０９に記録したキャッシュデータＤＡＴｗｒｉｔｅについてのキャッシュ情報のダーティービットを“０”に設定する（ステップＳ６０４）。【００７０】
上書きでない書込み要求のダーティーキャッシュデータが存在する間はステップＳ６０１〜ステップＳ６０４を繰り返し、上書きでない書込み要求のダーティーキャッシュデータは１つずつ記憶媒体に記録され、クリーンキャッシュへと変更されていく。
上書きでない書込み要求のダーティーなキャッシュが存在しない場合（ステップＳ６０１：Ｎｏ）、実書込み制御部１０５は、キャッシュ情報管理部１０３に上書きの書込み要求のダーティーキャッシュデータが存在するかを問い合わせる（ステップＳ６０５）。【００７１】
キャッシュ情報管理部１０３は、各キャッシュ情報について、上書きビットが“１”、ダーティービットが“１”のものがあるかを確認し、その結果を実書込み制御部１０５に送出する。
上書きの書込み要求のダーティーキャッシュデータが存在する場合（ステップＳ６０５：Ｙｅｓ）、上書きの書込み要求のダーティーなキャッシュについて、基本的にはステップＳ６０２〜ステップＳ６０４の処理と同様の処理を行う（ステップＳ６０６〜ステップＳ６０８）。【００７２】
ただし、ステップＳ６０６においては、上書きの書込み要求のダーティーキャッシュデータのうち、任意のものを１つ受領する。
また、ステップＳ６０７において、実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のＮＷＡにＤＡＴｗｒｉｔｅを記録し、ＰＯＷ情報管理領域に「ＡＤＲｗｒｉｔｅ→ＮＷＡ」の交替情報を記録する。【００７３】
上書きの書込み要求のダーティーキャッシュデータが存在する間は、ステップＳ６０５〜ステップＳ６０８を繰り返し、上書きの書込み要求のダーティーキャッシュは１つずつ記憶媒体に記録され、クリーンキャッシュへと変更されていく。
最終的に上書きの書込み要求のダーティーキャッシュが存在しなくなると（ステップＳ６０５：Ｎｏ）、実書込み処理は終了する。【００７４】
この一連の実書込み処理により、上書きでない書込み要求のキャッシュデータが全て記憶媒体に記録された後に、上書きの書込み要求のキャッシュデータが記憶媒体に記録されることになるため、データの上書き回数を抑えることができる。
＜データの実書込みについての具体的な動作＞
次に、上記データの実書込みの動作について、図７の例を用いて具体的に説明する。【００７５】
図７は、図６のフローチャートに従って、キャッシュ情報管理部１０３に記憶されたダーティーキャッシュデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」をシーケンシャルに記録可能なライトワンスメディアである記憶媒体１０９にＰＯＷ方式により記録する例を示したものである。
図７において、記憶媒体の記録領域がアドレス１で特定される記憶領域からアドレス１０で特定される記録領域で構成されているとし、状態番号７０１が（１）の状態では、アドレス１からアドレス５までは既にデータが記録されており、アドレス６からアドレス１０までは未記録であるとする。【００７６】
同図中、状態番号７０１は、本説明を行う上で状態を識別するための番号であり、ダーティーキャッシュ７０２は、各状態におけるディスクキャッシュ上に残っているダーティーキャッシュデータの状態を、記憶媒体７０３は、各状態における記憶媒体１０９上に記憶されたデータの状態を示すものである。
ダーティーキャッシュ７０２において記載されている数字は、各ダーティーキャッシュデータを記憶媒体１０９に記録する際の記憶媒体１０９上のアドレスであって、ファイルシステムにより割り当てられたアドレスである。【００７７】
状態番号７０１が（１）の状態は初期状態であり、記憶媒体上のアドレス２に記録すべきダーティーキャッシュデータ「Ａ」、アドレス４に記録すべきダーティーキャッシュデータ「Ｂ」、アドレス６に記録すべきダーティーキャッシュデータ「Ｃ」、アドレス７に記録すべきダーティーキャッシュデータ「Ｄ」がディスクキャッシュに記憶されていることを示している。【００７８】
キャッシュ制御部１０２は、記憶媒体１０９への記録が必要な状況が発生すると、実書込み制御部１０５にダーティーキャッシュデータの実書込み要求を行い、実書込み制御部１０５は、キャッシュ情報管理部１０３に上書きでない書込み要求のダーティーキャッシュデータが存在するかどうかを問い合わせる（ステップＳ６０１）。
キャッシュ情報管理部１０３は、状態番号７０１が（１）の状態において、記録すべき記憶媒体のアドレスがＮＷＡ以上のダーティーキャッシュデータとして「Ｃ」、「Ｄ」があるため、その結果を実書込み制御部１０５に送出する。なお、状態番号７０１が（１）の状態におけるＮＷＡはアドレス６である。【００７９】
上書きでない書込み要求のダーティーキャッシュデータが存在するため（ステップＳ６０１：Ｙｅｓ）、実書込み制御部１０５は、キャッシュ情報管理部１０３から上書きでない書込み要求のダーティーキャッシュデータのうち、ＮＷＡに記録するキャッシュデータ「Ｃ」を受領する（ステップＳ６０２）。
実書込み制御部１０５は、記憶媒体アクセス部１０６に、キャッシュデータを「Ｃ」、アドレスを６として、実書込み要求を行う。【００８０】
実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のアドレス６に、キャッシュデータ「Ｃ」を記録する（ステップＳ６０３）。
キャッシュデータ「Ｃ」を記録すると、実書込み制御部１０５は、キャッシュ情報管理部１０３に、記憶媒体１０９に記録したキャッシュデータ「Ｃ」についてのキャッシュ情報をクリーンキャッシュデータに設定するよう要求する。【００８１】
キャッシュ情報管理部１０３は、記憶媒体１０９に記録したキャッシュデータ「Ｃ」についてのキャッシュ情報のダーティービットを“０”に設定する（ステップＳ６０４）。
以上の処理により、状態番号７０１が（２）の状態において、ダーティーキャッシュ７０２からキャッシュデータ「Ｃ」が消え、記憶媒体７０３のアドレス６にキャッシュデータ「Ｃ」が記録され、ＮＷＡはアドレス７となる。【００８２】
上書きでない書込み要求のダーティーキャッシュデータとして、まだキャッシュデータ「Ｄ」があるため（ステップＳ６０１：Ｙｅｓ）、上記のとおり、キャッシュデータ「Ｄ」を記憶媒体１０９のＮＷＡ（アドレス７）に記録し、キャッシュデータ「Ｄ」についてクリーンキャッシュデータに設定する（ステップＳ６０２〜６０４）。
これにより、状態番号７０１が（３）の状態において、ダーティーキャッシュ７０２からキャッシュデータ「Ｄ」が消え、記憶媒体７０３のアドレス７にキャッシュデータ「Ｄ」が記録され、ＮＷＡはアドレス８となる。【００８３】
上書きでない書込み要求のダーティーなキャッシュが存在しなくなったため（ステップＳ６０１：Ｎｏ）、実書込み制御部１０５は、キャッシュ情報管理部１０３に上書きの書込み要求のダーティーキャッシュデータが存在するかを問い合わせる（ステップＳ６０５）。
キャッシュ情報管理部１０３は、状態番号７０１が（３）の状態において、記録すべき記憶媒体のアドレスがＮＷＡ未満のダーティーキャッシュデータとして「Ａ」、「Ｂ」があるため、その結果を実書込み制御部１０５に送出する。【００８４】
上書きの書込み要求のダーティーキャッシュデータが存在するため（ステップＳ６０５：Ｙｅｓ）、実書込み制御部１０５は、キャッシュ情報管理部１０３から上書きの書込み要求のダーティーキャッシュデータの１つである「Ａ」を受領する（ステップＳ６０６）。
実書込み制御部１０５は、記憶媒体アクセス部１０６に、キャッシュデータを「Ａ」、アドレスを２として、実書込み要求を行う。【００８５】
実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のアドレス８に、キャッシュデータ「Ａ」を記録し（ステップＳ６０７）、ＰＯＷ情報管理領域に「アドレス２→アドレス８」の交替情報を記録する。【００８６】
なお、交替情報はＰＯＷ情報管理領域にシーケンシャルに記録されるため、同じデータについて複数回の上書きがなされることにより、例えば「アドレス２→アドレス３」と「アドレス２→アドレス８」という２つの交替情報が記録される場合がある。このような場合に上書きされたデータの読出し要求がなされると、後に記録された交替情報である「アドレス２→アドレス８」が交替情報として参照されることになる。【００８７】
キャッシュデータ「Ａ」を記録すると、実書込み制御部１０５は、キャッシュ情報管理部１０３に、記憶媒体１０９に記録したキャッシュデータ「Ａ」についてのキャッシュ情報をクリーンキャッシュデータに設定するよう要求する。
キャッシュ情報管理部１０３は、記憶媒体１０９に記録したキャッシュデータ「Ａ」についてのキャッシュ情報のダーティービットを“０”に設定する（ステップＳ６０８）。【００８８】
これにより、状態番号７０１が（４）の状態において、ダーティーキャッシュ７０２からキャッシュデータ「Ａ」が消え、記憶媒体７０３のアドレス８にキャッシュデータ「Ａ」が記録され、ＰＯＷ情報管理領域に「アドレス２→アドレス８」の交替情報が記録され、ＮＷＡはアドレス９となる。
上書きの書込み要求のダーティーキャッシュデータとして、まだキャッシュデータ「Ｂ」があるため（ステップＳ６０５：Ｙｅｓ）、上記のとおり、キャッシュデータ「Ｂ」を記憶媒体１０９のＮＷＡ（アドレス９）に記録し、ＰＯＷ情報管理領域に交替情報「アドレス４→アドレス９」を記録し、キャッシュデータ「Ｂ」についてクリーンキャッシュデータに設定する（ステップＳ６０６〜６０８）。【００８９】
これにより、状態番号７０１が（５）の状態において、ダーティーキャッシュ７０２からキャッシュデータ「Ｂ」が消え、記憶媒体７０３のアドレス９にキャッシュデータ「Ｂ」が記録され、ＰＯＷ情報管理領域に「アドレス４→アドレス９」の交替情報が記録され、ＮＷＡはアドレス１０となる。
本実施の形態においては、上書きが必要な記憶領域毎に、交替情報（上述の例では「アドレス２→アドレス８」、「アドレス４→アドレス９」）を作成するような構成となるが、これに限定される必要はなく、例えば個々の記憶領域の長さを利用して交替情報を作成するような構成としても良い。【００９０】
例えば、図７おける状態番号７０１の（１）の状態においてアドレス２で特定される記憶領域とアドレス３で特定される記憶領域とアドレス４で特定される記憶領域とにそれぞれ記録すべき上書きの書き込み要求のダーティーキャッシュデータがあり、また、アドレス６で特定される記憶領域とアドレス７で特定される記憶領域とにそれぞれ記録すべき上書きでない書き込み要求のダーティーキャッシュデータがある場合に、本実施の形態においては、「アドレス２→アドレス８」、「アドレス３→アドレス９」、「アドレス４→アドレス１０」の交替情報がそれぞれ作成されるが、例えば「アドレス２、アドレス２からアドレス４で特定される記憶領域の終端アドレスまでの長さ→アドレス８、アドレス２からアドレス４で特定される記憶領域の終端アドレスまでの長さ」といったように上書きが必要な開始アドレスと、データ長を用いて、交替情報を作成するように構成しても良い。このような構成をすれば連続する記憶領域が上書きの対象となる場合により少ないデータ量で交替情報を作成することが可能となる。更に記憶媒体の各アドレスにより特定される記憶領域の大きさ（データ長）を同じにすれば、交替情報内にて特定されるデータ長の値をより簡単に算出できる（つまり、１の記憶領域の大きさ（データ長）×上書きする記録領域が連続する数といった計算により算出できる）。
＜考察＞
以上説明したように、図６のフローチャートに従って記憶媒体１０９への記録を行った場合、キャッシュ情報管理部１０３へ書込まれた時点で上書きでない書込みであったキャッシュデータ「Ｃ」、「Ｄ」は、実際に記憶媒体１０９へ記録される時点でも上書きでない書込みとして記録されるため、記憶媒体１０９への上書き回数を抑えることができる。【００９１】
図１４で説明した従来技術での例のように、キャッシュ情報管理部１０３へ書込まれた段階で上書きでない書込みのつもりであったキャッシュデータ「Ｃ」、「Ｄ」が、実際に記憶媒体へ記録される際には上書きの書込みとして記録されてしまうようなことは、本発明の技術においては起こり得ない。図１４の状態番号１４０１が（５）の状態と図７において状態番号７０１が（５）の状態を比較すると、本発明に係る図７では上書き回数を抑えられた結果、ＰＯＷ情報管理領域に記録された交替情報も最小限に抑えることができている。【００９２】
交替情報の記録を最小限に抑えているため、交替情報を記録するＰＯＷ情報管理領域の枯渇により記憶媒体への書込みが不能となる時期を遅らせることができ、また、データの読出し時においても、交替情報の参照回数を減らすことができるため、読出し処理速度の低下を抑えることができる。
また、上記の効果以外にも、上書きでない書込み要求のキャッシュデータを上書きの書込み要求のキャッシュデータよりも先に記憶媒体に記録することにより、電源が遮断された場合にファイルシステムが不整合を起こす可能性を低下させるという第２の効果もある。【００９３】
まず、第２の効果を説明するための前提として、ＢＤ−Ｒ等でも採用されているＵＤＦに従って、記録されている記憶媒体上のファイルへのアクセス、及び、記憶媒体へのファイルの記録について説明する。
ＵＤＦでは、記憶媒体上にファイルを記録する際、ファイルの実体である実体データと、実体データが記録されている記憶媒体上の位置を示す位置情報とを記憶媒体に記録することにより、ファイルへのアクセスを可能にしている。【００９４】
＜ＵＤＦに従ったファイルアクセス＞
以下では、図８を用いて、ルートディレクトリ配下のサブディレクトリの中にあるファイルへアクセスする例を説明する。
ファイルへのアクセス要求があると、ファイルシステムは、ディスク上のボリューム情報を記録する領域（図示しない）を参照し、ルートディレクトリのＦＥ（File Entry）８１０を読み出す。【００９５】
ルートディレクトリのＦＥ８１０には、ルートディレクトリ配下のディレクトリやファイルのＦＩＤ（File Identifier Descriptor）列８２０が記憶されている記憶媒体１０９上の位置を示す情報であるＡＤ（Allocation Descriptor）８１１が記録されている。
ファイルシステムは、読み出されたルートディレクトリのＦＥ８１０内にあるＡＤ８１１を参照し、ＦＩＤ列８２０を読み出す。【００９６】
ＦＩＤ列８２０には、ルートディレクトリ配下のディレクトリやファイルＦＩＤが記録され、各ＦＩＤにはディレクトリやファイルの名称を示す情報とディレクトリやファイルのＦＥが記録されている記憶媒体１０９上の位置を示す情報であるＩＣＢ(Information Control Block)が記録されている。
ファイルシステムは、ＦＩＤ列８２０からサブディレクトリのＦＩＤ８２１を読み出し、ＦＩＤ８２１内のＩＣＢ８２２を参照し、サブディレクトリのＦＥ８３０を読み出す。【００９７】
サブディレクトリのＦＥ８３０には、サブディレクトリ配下のディレクトリやファイルのＦＩＤ列８４０が記憶されている記憶媒体１０９上の位置を示す情報であるＡＤ８３１が記録されている。
ファイルシステムは、読み出されたサブディレクトリのＦＥ８３０内にあるＡＤ８３１を参照し、ＦＩＤ列８４０を読み出す。【００９８】
ＦＩＤ列８４０には、ＦＩＤ列８２０と同様、サブディレクトリ配下のディレクトリやファイルＦＩＤが記録されている。
ファイルシステムは、ＦＩＤ列８４０から実体データのＦＩＤ８４１を読み出し、ＦＩＤ８４１内のＩＣＢ８４２を参照し、ファイルのＦＥ８５０を読み出す。
ファイルのＦＥ８５０には、アクセス対象となるファイルの実体である実体データが記憶されている記憶媒体１０９上の位置を示す情報であるＡＤ８５１が記録されている。【００９９】
ファイルシステムは、読み出されたファイルのＦＥ８５０内にあるＡＤ８５１を参照し、実体データ８６０を読み出す。
このようにして、ファイルの実体である実体データへのアクセスが可能になる。
＜ＵＤＦに従ったファイルの記録＞
以下では、図９を用いて、上記ファイルが記録されているディレクトリと同じディレクトリに新たなファイルを記録する例を説明する。【０１００】
ファイルシステムは、新たに追加するファイルの実体である実体データ９１０を記憶媒体１０９に記録する。記憶媒体１０９は、シーケンシャルに書込み可能なライトワンスメディアであるため、実体データ９１０が記録される領域は記憶媒体１０９上のＮＷＡが示す領域である。
なお、実体データ９１０が記録されたため、ＮＷＡは隣の領域に移っている。【０１０１】
ファイルシステムは、実体データ９１０が記憶されている記憶媒体１０９上の位置を示す情報であるＡＤ９２１を含むファイルのＦＥ９２０をＮＷＡに記録する。ＦＥ９２０が記録されたため、ＮＷＡは隣の領域に移っている。
ファイルシステムは、ＦＩＤ列８４０に、ＦＥ９２０についてのＦＩＤを追加する。ここで、ＦＩＤ列８４０へのＦＥ９２０についてのＦＩＤの追加は、ＦＩＤ列８４０の上書きである。【０１０２】
従って、実際には、記憶媒体制御回路１０８により、実体データ８６０についてのＦＥ８５０、及び、実体データ９１０についてのＦＥ９２０のそれぞれについてのＦＩＤ９３１、ＦＩＤ９３３を含むＦＩＤ列９３０がＮＷＡに記録され、ＦＩＤ列８４０がＦＩＤ列９３０に上書きされたことを示す交替情報が、記憶媒体１０９のＰＯＷ情報管理領域に記録されることとなる。【０１０３】
なお、ＦＩＤ９３１内のＩＣＢ９３２は実体データ８６０についてのＦＥ８５０の記録位置を、ＦＩＤ９３３内のＩＣＢ９３４は実体データ９１０についてのＦＥ９２０の記録位置を示すものである。
＜具体例を使用した第２の効果の説明＞
次に、図７の例を使用して、第２の効果について具体的に説明する。【０１０４】
図７において、ダーティーキャッシュデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」は全て依存関係にあるデータであり、２つのディレクトリ内に、それぞれ１つのファイルを追加する場合を考える。
このとき、例えば、ダーティーキャッシュデータ「Ｃ」は、追加する第一のファイルの実体データとその実体データを示すファイルのＦＥを含むデータであり、ダーティーキャッシュデータ「Ｄ」は、追加する第二のファイルの実体データとその実体データを示すファイルのＦＥを含むデータであり、ダーティーキャッシュデータ「Ａ」は、第一のファイルを追加することにより更新されるファイルのＦＥを示すＦＩＤ列であり、ダーティーキャッシュデータ「Ｂ」は、第二のファイルを追加することにより更新されるファイルのＦＥを示すＦＩＤ列であるとする。【０１０５】
ダーティーキャッシュデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」は、全て依存関係にあるため、４つのデータのうち1つでも記憶媒体への記録がされていない状態で電源が遮断されると、ファイルシステムは不整合状態になる可能性がある。
このような場合に、本発明の技術を使わない図１４においては、状態番号１４０１が（２）、（３）、（４）の状態で電源が遮断された場合、更新後のＦＩＤ列は記録されているものの、追加する実体データを示すファイルのＦＥが記録されていないため、ファイルシステムは、追加したファイルの実体を参照できず、不整合な状態となる。【０１０６】
しかし、本発明の実施例である図７において、状態番号７０１が（２）、（３）の状態では、実体データとファイルのＦＥとが記載され、ＦＩＤ列は記録されていないため、未参照領域に実体データが記録され、ルートディレクトリから実体データが記録されたアドレスへのリンクがなされていない状態であり、ファイルシステムに不整合な状態が発生することはない。【０１０７】
本発明の実施例である図７においてファイルシステムが不整合となる可能性があるのは、状態番号７０１が（４）の状態だけであり、電源が遮断された場合にファイルシステムが不整合を起こす可能性を低下させることができていることがわかる。
≪変形例１≫
＜概要＞
実施の形態１の考察において、実施の形態１にかかる記録装置１００は、電源が遮断された場合に、従来の記録装置と比べ、ファイルシステムに不整合が生じる可能性を低減できることを説明した。【０１０８】
変形例１に係る記録装置は、上書きの書込み要求のキャッシュデータを記憶媒体１０９に記録する前に、上書きの書込み要求の全てのキャッシュデータを不揮発性メモリへ記憶しておくことにより、ファイルシステムに不整合が生じることを完全に防ぐものである。
＜構成＞
変形例１に係る記録装置は、実施の形態１に係る記録装置１００の構成のほか、不揮発性メモリを備えるものであり、また、記録装置１００の実書込み制御部１０５を、変形例１に係る記録装置用に改良したものである。【０１０９】
変形例１に係る不揮発性メモリは、上書きの書込み要求のキャッシュデータとそのキャッシュデータの記憶媒体１０９上の記憶領域を示すアドレスとを対応付けて記憶するものである。
また、変形例１に係る実書込み制御部は、実施の形態１に係る実書込み制御部１０５の機能に加え、キャッシュ情報管理部１０３に記憶されていた上書きの書込み要求のキャッシュデータが、停電等により正常に記憶媒体１０９に記録されなかった場合に、不揮発性メモリからデータを読み出し、記憶媒体１０９に記憶する機能を有する。【０１１０】
その他の構成は実施の形態１と同様であるため、説明は省略する。
＜動作＞
以下、上記構成を備えた変形例１に係る記録装置の動作を説明する。
図１０は、変形例１に係る記録装置が、キャッシュ情報管理部１０３に記憶されたキャッシュデータを記憶媒体１０９に記憶する処理のフローチャートである。【０１１１】
図１０は、図６のフローチャートのステップＳ６０１とステップＳ６０５との間にステップＳ１００９とステップＳ１０１０とを設け、また、ステップＳ６０５において、上書きの書込み要求のキャッシュデータが存在しなくなった場合に行う処理としてステップＳ１０１１を設けたものである。
他のステップについては、図６のフローチャートと同様であるため説明は省略する。【０１１２】
上書きの書込み要求のキャッシュデータが存在した場合に（ステップＳ１００９：Ｙｅｓ）、全ての上書きの書込み要求のキャッシュデータとアドレスとを対応付けて不揮発性メモリに記憶する（ステップＳ１０１０）。
この処理は、図７において、状態番号７０１が（３）の状態と（４）の状態との間で上書きの書込み要求のキャッシュデータとアドレスとの組（キャッシュデータ「Ａ」、アドレス２）、（キャッシュデータ「Ｂ」、アドレス４）を不揮発性メモリに記憶する処理を行うことに相当する。【０１１３】
なお、状態番号７０１が（２）、（３）の状態で電源が遮断された場合には、キャッシュデータが未参照領域に書込まれただけであるので、特にファイルシステムが不整合状態になることはない、というのは実施の形態１における考察の具体例を使用した第２の効果の説明において、既に説明した通りである。
また、上書きの書込み要求のキャッシュデータが存在しなくなった場合に（ステップＳ１００５：Ｎｏ）、不揮発性メモリに記憶されたデータを全て削除する（ステップＳ１０１１）。これは、ステップＳ１００６〜ステップＳ１００８の処理により、キャッシュ情報管理部１０３に記憶されていた上書きの書込み要求のキャッシュデータが全て記憶媒体１０９に正常に記録されたため、不揮発性メモリ上のデータは不要になったためである。【０１１４】
以下、電源が遮断された後、電源の供給が再開された場合に不揮発性メモリに記憶されたデータを記憶媒体１０９に記録する処理について説明する。
図１１は、停電等により電源が遮断された後、電源の供給が再開された場合に、図１０のステップＳ１０１０で、不揮発性メモリに記憶されたデータを、変形例１に係る実書込み制御部が記憶媒体１０９に記録する処理のフローチャートである。【０１１５】
電源が遮断された後、電源の供給が再開されると、変形例１に係る実書込み制御部は、不揮発性メモリにデータが存在するか確認する（ステップＳ１１０１）。
不揮発性メモリにデータが存在する場合（ステップＳ１１０１：Ｙｅｓ）、変形例１に係る実書込み制御部は、不揮発性メモリからデータを１つ読み出す（ステップＳ１１０２）。読み出したデータをＤＡＴｗｒｉｔｅ、そのデータのアドレスをＡＤＲｗｒｉｔｅとする。【０１１６】
変形例１に係る実書込み制御部は、記憶媒体アクセス部１０６に、データをＤＡＴｗｒｉｔｅ、アドレスをＡＤＲｗｒｉｔｅとして、実書込み要求を行う。
実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のＡＤＲｗｒｉｔｅにＤＡＴｗｒｉｔｅを記録する（ステップＳ１１０３）。【０１１７】
記憶媒体１０９への記録が完了すると、変形例１に係る実書込み制御部は、不揮発性メモリから読み出したデータを削除する（ステップＳ１１０４）。
ステップＳ１１０１〜ステップＳ１１０４の処理を、不揮発性メモリにデータが存在する間繰り返し、不揮発性メモリにデータが存在しなくなると（ステップＳ１１０１：Ｎｏ）、処理を終了する。【０１１８】
例えば、図７の状態番号７０１が（４）の状態で電源が遮断され、電源の供給が再開されると、不揮発性メモリにデータが存在するため（ステップＳ１１０１：Ｙｅｓ）、実書込み制御部は、不揮発性メモリからデータ「Ａ」とアドレス２を読み出し（ステップＳ１１０２）、記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のアドレス２にデータ「Ａ」を記録する（ステップＳ１１０３）。【０１１９】
なお、データ「Ａ」のアドレス２への記録は上書きとなるため、実際には、記憶媒体制御回路１０８により、データ「Ａ」はアドレス９に記憶され、交替情報がＰＯＷ情報管理領域に記録される。
記憶媒体１０９のアドレス２にデータ「Ａ」を記録した後、変形例１に係る実書込み制御部は、不揮発性メモリからデータ「Ａ」とアドレス２を削除する（ステップＳ１１０４）。【０１２０】
また、不揮発性メモリに記憶されているデータ「Ｂ」とアドレス４についても同様に処理する（ステップＳ１１０１〜ステップＳ１１０４）。
不揮発性メモリには、データが存在しなくなるため、処理を終了する。
これにより、電源遮断前に行いたかった記憶媒体１０９への記録を電源供給後に完了することができる。【０１２１】
電源が遮断された図７の状態番号７０１が（４）の状態では、既にデータ「Ａ」の記憶媒体１０９への記録がなされているため、データ「Ａ」は再度記録されることとなるが、ファイルシステムにおけるファイル管理情報と実体データとの間の不整合が発生することはない。
≪実施の形態２≫
＜概要＞
シーケンシャルに記録可能なライトワンスメディアである記憶媒体にＰＯＷ方式により記憶する記録装置において、記憶媒体に記録されたファイルを構成する複数のデータを上書きする場合、実施の形態１では、上書きされた各データについての交替情報を記憶媒体１０９上のＰＯＷ情報管理領域に記録していくことによって、仮想的に上書きを実現していた。【０１２２】
実施の形態２では、ファイルを構成する各データについての交替情報を記憶媒体に記録することなく、ファイルを構成する各データが記憶媒体上のどの領域に記憶されているかを示すファイル管理情報を上書きし、上書きされたファイル管理情報についての交替情報を記憶媒体に記録することにより、ファイルへの上書きを実現する。
これにより、実施の形態１の方法では、上書きが発生するデータ数の交替情報を記録する必要があるが、実施の形態２の方法では、変更前のファイル管理情報が記録された記憶媒体上のアドレスと変更後のファイル管理情報が記録された記憶媒体上のアドレスとの対応を示す交替情報を１つ記録すればよいため、交替情報の記録回数を減らすことができる。
＜構成＞
図１２は、実施の形態２における記録装置１２００の構成図である。【０１２３】
記録装置１２００は、同図に示すとおり、キャッシュ制御部１０２、キャッシュ情報管理部１０３、判定部１０４、実書込み制御部１０５、記憶媒体アクセス部１０６、記憶媒体制御装置１０７、ファイル管理部１２０１から構成される。
ファイル管理部１２０１は、ファイル管理部１０１の機能に加え、ファイルを構成するデータの更新要求を受領すると、更新するデータについて、記憶媒体制御装置１０７内の記憶媒体１０９上のＮＷＡ以降の領域を示すアドレスを割り当てる機能を有する。
＜動作＞
以下、上記構成を備える記録装置１２００の動作を、図１３を用いて具体的に説明する。【０１２４】
同図（ａ）は、ＰＯＷ記録方式で記録される記憶媒体１０９に記録されたファイルと、ファイルを構成する各データの記憶媒体１０９上の記録位置を示すものである。
ファイルは記憶媒体１０９上の７アドレス分のサイズを有し、ファイルを構成する各データは、アドレス５〜９、１２、１３に記録されており、ＮＷＡはアドレス１５である。
ファイルが記憶媒体１０９上のアドレス５〜９、１２、１３に記録されているというファイル管理情報は、ファイルのＦＥとして記憶媒体１０９のアドレス２に記録されている。【０１２５】
以下では、このファイルを構成する記憶媒体１０９上のアドレス７〜９に記録されている各データを上書きする場合について、実施の形態１に係る記録装置１００と、実施の形態２に係る記録装置１２００との動作を比較して説明する。
同図（ｂ）は、実施の形態１に係る記録装置１００が、ファイルへの上書きを行った場合を示している。【０１２６】
実書込み制御部１０５から実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のＮＷＡ以降のアドレス１５、１６、１７に上書き要求のあったデータを記録し、ＰＯＷ情報管理領域に「アドレス７→アドレス１５」、「アドレス８→アドレス１６」、「アドレス９→アドレス１７」の３つの交替情報を記録する。【０１２７】
同図（ｃ）は、実施の形態２に係る記録装置１２００が、ファイルへの上書きを行った場合を示している。
ファイル管理部１２０１は、ファイルを構成する記憶媒体１０９上のアドレス７〜９に記録されている各データを更新する旨の更新要求を受領すると、ＮＷＡがアドレス１５であることから、更新する各データに対し、アドレス１５、１６、１７を割り当てて、キャッシュ制御部１０２に対して書込み要求を行う。【０１２８】
実施の形態１と同様に、更新する各データは、キャッシュ情報管理部１０３に蓄積され、記憶媒体１０９への記録が必要な状況が発生すると、記憶媒体１０９に記録される。
この際、更新する各データについては、ファイル管理部１２０１がＮＷＡ以降の領域を記録領域として割り当てているため、上書きでない書込み要求となり、ＰＯＷ情報管理領域に交替情報が記録されることはない。【０１２９】
また、ファイルを更新するデータの更新に伴い、ファイル管理部１２０１は、記憶媒体１０９のアドレス２に記録されているファイルのＦＥを更新する。
このファイルのＦＥの更新は、実際には、アドレス２への上書きとなるため、記憶媒体制御回路１０８は、記憶媒体１０９のＮＷＡへファイルのＦＥを記録し、ＰＯＷ情報管理領域に「アドレス２→アドレス１８」という１つの交替情報を記録する。【０１３０】
このように、同図（ｂ）では、３つの交替情報をＰＯＷ情報管理領域に記録する必要があったが、同図（ｃ）では、１つの交替情報をＰＯＷ情報管理領域に記録するだけで仮想的な上書きが実現でき、ＰＯＷ情報管理領域への交替情報の記録数を減らすことができている。
＜補足＞
以上、本発明に係る記録装置について、実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態に示したとおりの記録装置に限られないことは勿論である。【０１３１】
（１）実施の形態１に係る記録装置１００、変形例１に係る記録装置、実施の形態２に係る記録装置１２００の各機能ブロックは典型的には集積回路であるＬＳＩとして実現されるが、これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。【０１３２】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field ProgrammableGate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。【０１３３】
（２）実施の形態１の考察において、シーケンシャルに記録可能なライトワンスメディアである記憶媒体にＰＯＷ方式により記憶する記録装置を例に説明したが、ｏｖｅｒｗｒｉｔａｂｌｅの記憶媒体においても同様に、電源が遮断された場合にファイルシステムが不整合に陥る確率を低減することができる。
その際、判定部１０４は、図５に示す処理手順に代えて、ファイル管理情報により実データが存在すると示されている領域への書込み要求であった場合には、上書きの書込み要求であると判断することとしてもよい。【０１３４】
具体的には、ｏｖｅｒｗｒｉｔａｂｌｅの記憶媒体において、例えば、ＦＡＴ（File Allocation Table）を採用している場合、ディスク上のセクターは、クラスタと呼ばれる単位にまとめられて管理されている。
ＦＡＴでは、各クラスタと同じ数のファイルアロケーションテーブルが用意され、あるクラスタのデータの続きがどのクラスタにあるか、というファイル管理情報が、各ファイルアロケーションテーブルに記録される。【０１３５】
上書きの書込みを行う領域が、このファイルアロケーションテーブルにより、実データが存在すると示されている領域であった場合には、上書きの書込み要求であると判断することができる。
（３）実施の形態１では、ファイルシステムをアンマウントするような場合を想定し、キャッシュ情報管理部１０３に記録された全てのキャッシュデータを記憶媒体１０９に記録するとしたが、キャッシュディスク上に所定数の空き領域を作る必要がある場合には、所定数分に相当するキャッシュデータのみを記憶媒体１０９に記録するとしてもよい。【０１３６】
その際、上書きでない書込み要求のキャッシュデータを、上書きの書込み要求のキャッシュデータより先に記憶媒体１０９に記録するのは、実施の形態１と同様である。
【産業上の利用可能性】
【０１３７】
本発明に係る記録装置は、記憶媒体へＰＯＷ（Pseudo Over Write）記録方式で記録を行う記録装置に利用されるものである。
【図１】
2008056593.tif 000003
【図２】
2008056593.tif 000004
【図３】
2008056593.tif 000005
【図４】
2008056593.tif 000006
【図５】
2008056593.tif 000007
【図６】
2008056593.tif 000008
【図７】
2008056593.tif 000009
【図８】
2008056593.tif 000010
【図９】
2008056593.tif 000011
【図１０】
2008056593.tif 000012
【図１１】
2008056593.tif 000013
【図１２】
2008056593.tif 000014
【図１３】
2008056593.tif 000015
【図１４】
2008056593.tif 000016
【手続補正書】
【提出日】平成20年7月17日(2008.7.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定のメモリ領域に記憶された複数のデータをそれぞれ記憶媒体上に記録する記録装置であって、
前記メモリ領域上の複数のデータそれぞれについて、当該データを前記記憶媒体上の指定される領域に記録する必要が生じた場合に、当該指定される領域が特定の条件を満たすか否かを判定する判定手段と、
前記判定手段により特定の条件を満たすと判定された領域への記録に係る前記メモリ領域上の各データについては、特定の条件を満たさないと判定された領域への記録に係るいずれのデータよりも先に、当該指定に応じた領域に記録する記録制御手段とを備え、
前記記録装置は、更に、不揮発性メモリを備え、
前記記録制御手段は、更に、前記判定手段により前記特定の条件を満たさないと判定された領域への記録に係る前記メモリ領域上の各データについては、前記不揮発性メモリに記憶し、
前記特定の条件とは、前記指定される領域にデータが既に記録されていないことをいう
ことを特徴とする記録装置。
【請求項２】
前記記憶媒体上の領域の前記指定は、アドレス値によってなされるものであり、
前記記録装置は、更に
前記記憶媒体上に記録されている複数のデータからなるファイルを管理するため、当該ファイルの識別情報と当該ファイルを構成する各データが記録されている当該記憶媒体上のアドレス値とを対応付けて当該記憶媒体上に記録するよう指示するファイル管理手段を備え、
前記判定手段は、前記指定される領域を示すアドレス値が、前記記憶媒体に記録され、前記ファイル管理手段により管理された領域を示すアドレス値でない場合に、前記指定される領域にデータが既に記録されていないと判定する
ことを特徴とする請求項１記載の記録装置。
【請求項３】
（削除）
【請求項４】
前記記憶媒体は、シーケンシャルに記録可能なライトワンスメディアであり、前記記憶媒体上の領域の前記指定は、アドレス値によってなされるものであり、
前記記録装置は、更に
前記記憶媒体上の未記録領域の始端を示すアドレス値を管理するアドレス管理手段を備え、
前記判定手段は、指定されるアドレス値が示す領域が、前記アドレス管理手段が管理するアドレス値が示す領域以降の領域である場合に、前記指定される領域にデータが既に記録されていないと判定し、
前記記録制御手段は、前記判定手段により特定の条件を満たすと判定された記録に係る前記メモリ領域上の全てのデータについて、前記記憶媒体上の前記指定される領域に記録し、当該記録された領域に引き続く領域に前記判定手段により特定の条件を満たさないと判定された記録に係る前記メモリ領域上の各データを記録する
ことを特徴とする請求項１記載の記録装置。
【請求項５】
（削除）
【請求項６】
前記記憶媒体上の領域の前記指定は、アドレス値によってなされるものであり、
前記記録装置は、更に
前記記憶媒体上に記録されている複数のデータからなるファイルを管理するため、当該ファイルの識別情報と当該ファイルを構成する各データが記録されている当該記憶媒体上のアドレス値とを対応付けたファイル管理情報を当該記憶媒体上に記録するよう指示するファイル管理手段を備え、
前記ファイル管理手段が管理しているファイルの内容を構成するデータについて更新する必要が生じた場合に、当該ファイル管理手段は、当該ファイル管理手段により管理された領域を示すアドレス値とは異なるアドレス値を示す領域に、更新する前記データを記録するよう指示し、かつ、当該ファイルのファイル管理情報として、当該ファイルの識別情報と、更新する前記データを記録するアドレス値とを対応付けたものを記憶媒体に記録するよう指示する
ことを特徴とする請求項１記載の記録装置。
【請求項７】
前記記録制御手段は、前記判定手段により既にデータが記録されていると判定された領域への記録に係る前記メモリ領域上の各データを記録した場合に、前記不揮発性メモリから各データを削除する
ことを特徴とする請求項１記載の記録装置。
【手続補正書】
【提出日】平成21年4月23日(2009.4.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体へＰＯＷ（Pseudo Over Write）記録方式で記録を行う記録装置に関し、特に上書き記録回数を抑えたバッファキャッシュ管理機能を有する記録装置に関する。
【背景技術】
【０００２】
ＤＶＤ−Ｒ（Digital Versatile Disk）、ＤＶＤ＋ＲやＢＤ−Ｒ（Blu-ray Disc）など、シーケンシャルにしか記録できないライトワンスメディアにおいては、直接データを書き換えることができないため、データの上書きを仮想的に実現するための様々な方式が提案されている。
例えば、ＵＤＦ（Universal Disk Format）Ｒｅｖｉｓｉｏｎ２．６０規格で規定され、ＢＤ−Ｒで採用されているＰＯＷ記録方式においては、変更後のデータを記憶媒体のデータ領域にシーケンシャルに記録し、つまり、変更前のデータとは別に、そのとき記録されているデータの最後尾に記録し、変更前のデータが記録された領域を示すアドレスと変更後のデータが記録された領域を示すアドレスとの対応を示す交替情報を記憶媒体上のデータ記録用の領域とは別に定められたＰＯＷ情報管理領域に記憶することによって、データの仮想的な上書きを実現している。
【０００３】
ところで、ＢＤ−Ｒ等の記憶媒体への書込み、読出し処理は、一般的にメモリ上で行われる処理に比べて非常に低速であるため、一部のメモリ領域をディスクキャッシュとして使用する場合が多い。
ディスクキャッシュに記憶されているデータを記憶媒体に記録する際の制御方式には、ライトスルー方式とライトバック方式とがある。
【０００４】
ライトスルー方式は、ディスクキャッシュにデータを記憶する際に、記憶媒体へも記録する方式である。一方、ライトバック方式は、データを一旦ディスクキャッシュのみに記憶し、ディスクキャッシュの空き容量がなくなった場合等に、記憶媒体へ記録する方式である。
ライトバック方式は、ライトスルー方式より記録回数を少なくできるため、上述のライトワンスメディアに適した記録方式である。
【０００５】
このようなキャッシュ技術の応用技術として、例えば特許文献１、特許文献２がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−９１８１１号公報
【特許文献２】特開平５−２５７８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のとおり、ＰＯＷ記録方式では、データの仮想的な上書きの度に、実際は、変更後のデータを記憶媒体上のデータ領域に、交替情報を記憶媒体上のＰＯＷ情報管理領域に記録するため、データ量が増えて記憶媒体に記録可能な残り容量が減ることとなる。従って、上書き回数を極力抑えることが望ましい。
しかしながら、ライトバック方式により記憶媒体へ記録する場合であっても、上書き回数が増加してしまう場合がある。その様子を、図１４を用いて説明する。
【０００８】
図１４はＰＯＷ記録方式で記録される記憶媒体において、ディスクキャッシュ上のデータと記憶媒体上のデータとに差分があるデータ（以下、「ダーティーキャッシュデータ」という）を、記録すべき記憶媒体上のアドレスが小さい順に記憶媒体へ記録する動作の例を示している。
同図中、状態番号１４０１は、本説明を行う上で状態を識別するための番号であり、ダーティーキャッシュ１４０２は、各状態におけるディスクキャッシュ上に残っているダーティーキャッシュデータの状態を、記憶媒体１４０３は、各状態における記憶媒体上に記憶されたデータの状態を示すものである。
【０００９】
ダーティーキャッシュ１４０２において記載されている数字は、各ダーティーキャッシュデータを記憶媒体に記録する際の記憶媒体上のアドレスであって、ファイルシステムにより割り当てられたアドレスである。
状態番号１４０１が（１）の状態は初期状態であり、記憶媒体上のアドレス２に記録すべきダーティーキャッシュデータ「Ａ」、アドレス４に記録すべきダーティーキャッシュデータ「Ｂ」、アドレス６に記録すべきダーティーキャッシュデータ「Ｃ」、アドレス７に記録すべきダーティーキャッシュデータ「Ｄ」がディスクキャッシュに記憶されていることを示している。
【００１０】
また、記憶媒体の記録領域がアドレス１からアドレス１０までで構成されているとし、状態番号１４０１が（１）の状態では、アドレス１からアドレス５までは既にデータが記録されており、アドレス６からアドレス１０までは未記録であるとする。
以下、未記録領域の始端となるアドレスを「ＮＷＡ」（Next Writable Address）という。状態番号１４０１が（１）の状態では、ＮＷＡはアドレス６である。
【００１１】
状態番号１４０１が（２）の状態は、記録すべき記憶媒体上のアドレスが最も小さいダーティーキャッシュデータ「Ａ」がアドレス２に記録された状態である。アドレス２への記録は上書きであるので、実際にはデータ「Ａ」はＮＷＡであるアドレス６に記録され、「アドレス２→アドレス６」の交替情報が記憶媒体上のＰＯＷ情報管理領域に記録される。記憶媒体１４０３における矢印は、交替情報を示している。
【００１２】
ダーティーキャッシュデータ「Ａ」が記憶媒体に記録されたため、ダーティーキャッシュ１４０２からダーティーキャッシュデータ「Ａ」が消え、ＮＷＡはアドレス７に移っている。
状態番号１４０１が（３）の状態は、ダーティーキャッシュデータ「Ｂ」がアドレス４に記録された状態である。アドレス４への記録は上書きであるので、実際にはダーティーキャッシュデータ「Ｂ」はＮＷＡであるアドレス７に記録され、「アドレス４→アドレス７」の交替情報が記憶媒体上のＰＯＷ情報管理領域に記録され、ＮＷＡはアドレス８に移っている。
【００１３】
状態番号１４０１が（４）の状態は、ダーティーキャッシュデータ「Ｃ」がアドレス６に記録された状態である。アドレス６への記録は上書きであるので、実際にはダーティーキャッシュデータ「Ｃ」はＮＷＡであるアドレス８に記録され、「アドレス６→アドレス８」の交替情報が記憶媒体上のＰＯＷ情報管理領域に記録される。
状態番号１４０１が（１）の状態において、ＮＷＡはアドレス６であり、このときダーティーキャッシュデータ「Ｃ」を記録していれば上書きとはならなかった。
【００１４】
しかし、状態番号１４０１が（２）、（３）の状態においてダーティーキャッシュ「Ａ」、「Ｂ」を記録したため、ＮＷＡが変更され、状態番号１４０１が（４）の状態でのダーティーキャッシュデータ「Ｃ」の記録は上書きとなってしまっている。
状態番号１４０１が（５）の状態は、ダーティーキャッシュデータ「Ｄ」がアドレス７に記録された状態である。アドレス７への記録は上書きであるので、実際にはダーティーキャッシュデータ「Ｄ」はＮＷＡであるアドレス９に記録され、「アドレス７→アドレス９」の交替情報が記憶媒体上のＰＯＷ情報管理領域に記録される。
【００１５】
ダーティーキャッシュデータ「Ｃ」と同様に、状態番号１４０１が（１）の状態において、ＮＷＡはアドレス６であり、この時点では、ダーティーキャッシュデータ「Ｄ」の記録は、上書きではなかった。
しかし、状態番号１４０１が（３）、（４）の状態においてダーティーキャッシュ「Ｂ」、「Ｃ」を記録したため、ＮＷＡが変更され、状態番号１４０１が（４）の状態でのダーティーキャッシュデータ「Ｄ」の記録は上書きとなってしまっている。
【００１６】
このように、従来の方法では、ディスクキャッシュへ書込まれた時点では上書きではない場合でも、実際に記憶媒体へ記録する時点では上書きになることがあり、その分だけ余計にＰＯＷ情報管理領域に交替情報が記録されることとなる。
そこで、本発明は係る問題に鑑みてなされたものであり、記憶媒体へ記録する場合に上書きとなる記録回数を抑えることができる記録装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明に係る記録装置は、所定のメモリ領域に記憶された複数のデータをそれぞれ記憶媒体上に記録する記録装置であって、前記メモリ領域上の複数のデータそれぞれについて、当該データを前記記憶媒体上の指定される領域に記録する必要が生じた場合に、当該指定される領域が特定の条件を満たすか否かを判定する判定手段と、前記判定手段により特定の条件を満たすと判定された領域への記録に係る前記メモリ領域上の各データについては、特定の条件を満たさないと判定された領域への記録に係るいずれのデータよりも先に、当該指定に応じた領域に記録する記録制御手段とを備えることを特徴とする。
【発明の効果】
【００１８】
例えば、シーケンシャルに記録可能なライトワンスメディアである記憶媒体へメモリ領域上の各データを記録する際に、指定される領域に未だデータが記録されていない場合を特定の条件を満たす場合として、上述の構成を備える本発明に係る記録装置の効果を説明する。
上述の構成を備える本発明に係る記録装置は、特定の条件を満たすと判定された領域への記録に係るメモリ領域上の各データを、特定の条件を満たさないと判定された領域への記録に係るメモリ領域上の各データより先に記憶媒体に記録するため、全体として上書きとなる記録回数を抑えることができ、即ち、交替情報を記憶媒体上のＰＯＷ情報管理領域に記憶する回数を抑えることができる。
【００１９】
ここで、上書きとは、既にデータが記録された記憶媒体上の領域にデータを記録する場合をいうが、記憶媒体はライトワンスメディアであり、直接データを更新することができない。従って、実際には、変更後のデータを記憶媒体上の未記録領域にシーケンシャルに記録すると共に、交替情報を記録することによって、仮想的に上書きが実現されることになる。また、交替情報とは、記憶媒体に記録されている変更前後のデータの記録領域の対応を示す情報をいう。
【００２０】
もし、特定の条件を満たさないと判定された領域への記録に係るメモリ領域上の各データを、特定の条件を満たすと判定された領域への記録に係るメモリ領域上の各データより先に記憶媒体に記録したとすれば、本来、特定の条件を満たすと判定された領域への記録に係るメモリ領域上の各データが記録されるはずであった領域に、特定の条件を満たさないと判定された領域への記録に係るメモリ領域上の各データが記録されてしまう。つまり、特定の条件を満たすと判定された領域への記録に係るメモリ領域上の各データについても上書きとなる記録となってしまう。
【００２１】
上述の構成を備える本発明に係る記録装置は、このような状況を防ぎ、全体として上書きとなる記録回数を抑えることができる。
また、前記記憶媒体上の前記領域の指定は、アドレス値によってなされるものであり、前記記録装置は、更に前記記憶媒体上に記録されている複数のデータからなるファイルを管理するため、当該ファイルの識別情報と当該ファイルを構成する各データが記録されている当該記憶媒体上のアドレス値とを対応付けて当該記憶媒体上に記録するよう指示するファイル管理手段を備え、前記判定手段は、前記指定される領域を示すアドレス値が、前記記憶媒体に記録され、前記ファイル管理手段により管理された領域を示すアドレス値でない場合に、特定の条件を満たすと判定することとしてもよい。
【００２２】
これにより、各データが依存関係にあるファイル管理情報である場合に、記録制御手段は、指定された領域を示すアドレス値がファイル管理手段により管理された領域を示すアドレス値でないデータを、ファイル管理手段により管理された領域を示すアドレス値であるデータよりも先に記憶媒体に記録するため、ファイルシステムに不整合が生じる可能性を低減できる。
【００２３】
ここで、ファイル管理情報とは、ファイルを構成する各データの記憶媒体上の記録位置を示す情報をいう。
また、前記記憶媒体は、シーケンシャルに記録可能なライトワンスメディアであり、前記判定手段は、前記各データについて、指定される領域にデータが記録されていない場合に、当該領域が前記特定の条件を満たすと判定することとしてもよい。
【００２４】
これにより、記録制御手段は、メモリ領域上に記憶されている各データのうち、指定される領域にデータが記録されていない各データを、指定される領域にデータが記録されている各データより先に記憶媒体に記録するため、上書きとなる記録回数を抑えることができる。
また、前記記憶媒体は、シーケンシャルに記録可能なライトワンスメディアであり、前記記憶媒体上の前記領域の指定は、アドレス値によってなされるものであり、前記記録装置は、更に前記記憶媒体上の未記録領域の始端を示すアドレス値を管理するアドレス管理手段を備え、前記判定手段は、指定されたアドレス値が示す領域が、前記アドレス管理手段が管理するアドレス値が示す領域以降の領域である場合に、特定の条件を満たすと判定し、前記記録制御手段は、前記判定手段により特定の条件を満たすと判定された記録に係る前記メモリ領域上の全てのデータについて、前記記憶媒体上の前記指定された領域に記録し、当該記録された領域に引き続く領域に前記判定手段により特定の条件を満たさないと判定された記録に係る前記メモリ領域上の各データを記録することとしてもよい。
【００２５】
これにより、記録制御手段は、指定されたアドレス値が示す領域が、記憶媒体上の未記録領域の始端となる領域以降の領域と判定されたメモリ領域上の全てデータを、記憶媒体上の未記録領域の始端となる領域より前の領域と判定されたメモリ領域上の各データより先に記憶媒体に記録するため、上書きとなる回数を抑え、ＰＯＷ情報管理領域への交替情報の記録回数を抑えることができる。
【００２６】
また、前記記録装置は、更に、不揮発性メモリを備え、前記判定手段により特定の条件を満たさないと判定された記録に係る前記メモリ領域上の各データについて、前記不揮発性メモリに記憶することとしてもよい。
これにより、判定手段により特定の条件を満たさないと判定された記録に係るメモリ領域上の各データを前記不揮発性メモリに記憶するため、停電等により電源が遮断され、メモリ領域上の相互に依存関係のある各データが失われた場合であっても、電源復帰後に、不揮発性メモリから記憶媒体へデータを記録することができる。
【００２７】
また、前記記憶媒体上の前記領域の指定は、アドレス値によってなされるものであり、前記記録装置は、更に前記記憶媒体上に記録されている複数のデータからなるファイルを管理するため、当該ファイルの識別情報と当該ファイルを構成する各データが記録されている当該記憶媒体上のアドレス値とを対応付けたファイル管理情報を当該記憶媒体上に記録するよう指示するファイル管理手段を備え、前記ファイル管理手段が管理しているファイルの内容を構成するデータについて更新する必要が生じた場合に、当該ファイル管理手段は、当該ファイル管理手段により管理された領域を示すアドレス値とは異なるアドレス値を示す領域に、更新する前記データを記録するよう指示し、かつ、当該ファイルのファイル管理情報として、当該ファイルの識別情報と、更新する前記データを記録するアドレス値とを対応付けたものを記憶媒体に記録するよう指示することとしてもよい。
【００２８】
これにより、更新後のデータは、ファイル管理手段が管理する領域を示すアドレス値以外のアドレス値が示す領域に記録されるため、上書きとなる記録回数を抑えることができ、即ち、例えば、記憶媒体が、シーケンシャルに記録可能なライトワンスメディアである場合には、ＰＯＷ情報管理領域に交替情報が記録される回数を抑えることができる。
【図面の簡単な説明】
【００２９】
【図１】実施の形態１における記録装置１００の構成図である。
【図２】実施の形態１におけるキャッシュ情報の説明図である。
【図３】実施の形態１における読出し処理のフローチャートである。
【図４】実施の形態１における書込み処理のフローチャートである。
【図５】実施の形態１における上書き判定処理のフローチャートである。
【図６】実施の形態１における実書込み処理のフローチャートである。
【図７】実施の形態１における実書込み処理の説明図である。
【図８】ＵＤＦに従って記憶媒体へ記録されたファイルにアクセスする処理の説明図である。
【図９】ＵＤＦに従って記憶媒体へファイルを記録する処理の説明図である。
【図１０】変形例１における実書込み処理のフローチャートである。
【図１１】変形例１において不揮発性メモリに記憶されたデータの実書込み処理のフローチャートである。
【図１２】実施の形態２における記録装置１２００の構成図である。
【図１３】実施の形態２における実書込み処理の説明図である。
【図１４】従来の方法による実書込み処理の説明図である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施の形態について、図面を参照しながら説明する。
≪実施の形態１≫
＜概要＞
実施の形態１に係る記録装置１００は、ディスクキャッシュに記憶された複数のデータをシーケンシャルに記録可能なライトワンスメディアである記憶媒体にＰＯＷ方式により記録する記録装置であって、従来の記録装置を改良したものである。
【００３１】
ライトワンスメディアは、記録されたデータを直接上書きすることができないため、変更後のデータを記憶媒体上の未記録領域に記録し、変更前のデータが記録された領域を示すアドレスと変更後のデータが記録された領域を示すアドレスとの対応を示す交替情報を記憶媒体に記録することで、仮想的な上書きを実現する。
記録装置１００は、ディスクキャッシュに記憶された全てのデータを記憶媒体に記録する場合、記憶媒体上の記録領域として未記録領域を指定されたデータを、既にデータが記録された領域を指定されたデータよりも先に記憶媒体へ記録する。
【００３２】
これにより、データの上書き回数を減らし、ＰＯＷ情報管理領域への交替情報の記録回数を減らすことができる。
＜構成＞
図１は、実施の形態１における記録装置１００の構成図である。
記録装置１００は、同図に示すとおり、ファイル管理部１０１、キャッシュ制御部１０２、キャッシュ情報管理部１０３、判定部１０４、実書込み制御部１０５、記憶媒体アクセス部１０６、記憶媒体制御装置１０７から構成される。
【００３３】
なお、記録装置１００は、図示していないが、ＣＰＵ（Central Processing Unit）及びメモリを備え、キャッシュ制御部１０２、判定部１０４、実書込み制御部１０５、記憶媒体アクセス部１０６の各機能は、メモリに記憶されているプログラムをＣＰＵに実行させることにより実現される。
ファイル管理部１０１は、記録装置１００が有するユーザインターフェース（図示しない）からファイルやディレクトリの作成・削除、ファイルの書込み・読出しのファイル操作要求を受領すると、キャッシュ制御部１０２に対して、データの書込み要求、又は、読出し要求を行い、受領したファイル操作要求を実行する機能を有する。
【００３４】
また、ファイル管理部１０１は、ファイルの作成要求を受領すると、ファイルを構成する各データについて、記憶媒体制御装置１０７内の後述する記憶媒体１０９上のＮＷＡ以降の領域を示すアドレスを割り当てる機能を有する。
なお、ＮＷＡは、キャッシュ制御部１０２を介して、記憶媒体アクセス部１０６から取得する。
【００３５】
キャッシュ制御部１０２は、ファイル管理部１０１からデータの書込み要求、又は、読出し要求を受領すると、キャッシュ情報管理部１０３にデータの書込み要求、又は、読出し要求を行い、書込みの結果、又は、読み出したデータをファイル管理部１０１に送出する機能を有する。
また、ファイル管理部１０１から受領した要求の対象となるデータが、キャッシュ情報管理部１０３上に存在しない場合、キャッシュ制御部１０２は、記憶媒体アクセス部１０６を介して記憶媒体制御装置１０７から要求の対象となるデータを読み出し、キャッシュ情報管理部１０３に記憶させる機能を有する。
【００３６】
また、キャッシュ制御部１０２は、実書込み制御部１０５に対し、キャッシュ情報管理部１０３に記憶されているデータを記憶媒体制御装置１０７へ記録する旨の実書込み要求を行う機能を有する。
キャッシュ情報管理部１０３は、キャッシュしているデータとそのデータが記憶されている記憶媒体上のアドレスとデータの属性情報とからなるキャッシュ情報を記憶する揮発性のメモリである。キャッシュ情報については、後述する。
【００３７】
キャッシュ情報管理部１０３は、キャッシュ制御部１０２の要求に従い、データの記憶、読出しを行い、また、実書込み制御部１０５の要求に従い、データの読出しを行う。
判定部１０４は、キャッシュ制御部１０２が受領した書込み要求が、記憶媒体制御装置１０７内の後述する記憶媒体１０９において、上書きとなる要求であるか否かを判定する機能を有する。
【００３８】
実書込み制御部１０５は、キャッシュ制御部１０２からの実書込み要求に従い、キャッシュ情報管理部１０３に記憶されているキャッシュデータを、記憶媒体アクセス部１０６を介して記憶媒体制御装置１０７に記録するよう制御する機能を有する。
記憶媒体アクセス部１０６は、キャッシュ制御部１０２から実読出し要求、又は、実書込み制御部１０５から実書込み要求を受領すると、記憶媒体制御装置１０７に対し、実読出し要求、又は、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７からデータを読み出し、又は、記憶媒体制御装置１０７へデータを書き込む機能を有する。また、記憶媒体アクセス部１０６は、ＮＷＡの取得要求があると、記憶媒体制御装置１０７に問い合わせ、取得したＮＷＡを要求元へ送出する機能を有する。
【００３９】
記憶媒体制御装置１０７は、いわゆるドライブ装置であって、記憶媒体制御回路１０８と、記憶媒体１０９とから構成される。
記憶媒体制御回路１０８は、記憶媒体１０９からのデータの読出し、又は、データの書込みを制御する回路である。
記憶媒体１０９は、シーケンシャルに記録可能なライトワンスメディアであって、ＰＯＷ記録方式で記録を行う通常の記憶媒体である。
【００４０】
記憶媒体１０９には、データ領域とＰＯＷ情報管理領域との２つの領域があり、それぞれの領域にシーケンシャルに記憶可能である。データ領域には、ファイルを構成する各データ等の実データが記憶され、ＰＯＷ情報管理領域には、交替情報が記録される。
＜データ＞
キャッシュ情報管理部１０３に記憶されるキャッシュ情報を図２に示す。
【００４１】
図２に示すとおり、キャッシュ情報２０１〜２０４はリスト構造を有している。キャッシュ情報２０１〜２０４はそれぞれＮｅｘｔ２１１、Ｐｒｅｖ２１２、ダーティービット２１３、上書きビット２１４、アドレス２１５、キャッシュデータ２１６からなる。
Ｎｅｘｔ２１１は、次のキャッシュ情報が記憶されているディスクキャッシュ上のアドレスを示すポインタであり、Ｐｒｅｖ２１２は、前のキャッシュ情報が記憶されているディスクキャッシュ上のアドレスを示すポインタである。
【００４２】
例えば、キャッシュ情報２０１のＮｅｘｔ２１１は、キャッシュ情報２０２のディスクキャッシュ上のアドレスを示しており、キャッシュ情報２０２のＰｒｅｖ２１２は、キャッシュ情報２０１のディスクキャッシュ上のアドレスを示している。
ダーティービット２１３は、記憶されているキャッシュデータがダーティーであるかクリーンであるかを示す１ビットのデータであり、キャッシュデータがダーティーである場合は、“１”、クリーンである場合は“０”となる。
【００４３】
ここで、キャッシュデータがダーティーであるとは、記憶されているキャッシュデータと、これに対応する記憶媒体１０９に記憶されているデータとに差分があることをいい、また、クリーンであるとは、差分がないことをいう。記憶媒体１０９から読み出されたデータが更新されていればダーティーである。
上書きビット２１４は、記憶されているキャッシュデータを記憶媒体１０９に記録する場合に、その記録が上書きになるかを示す１ビットのデータであり、上書きである場合は“１”、上書きでない場合は“０”となる。
【００４４】
アドレス２１５は、キャッシュデータを記憶すべき記憶媒体１０９上のアドレスである。
キャッシュデータ２１６は、実際にキャッシュしているデータである。キャッシュデータのサイズは記憶媒体のブロックサイズ、セクターサイズ、あるいはＥＣＣ（Error Correction Code）ブロックサイズ等、記憶媒体の記憶単位や読み書き単位の倍数である。以下では、キャッシュデータのサイズはセクターサイズであるとして説明する。
【００４５】
図２では、４つのキャッシュ情報からなるものを例として記載しているが、キャッシュ情報管理部１０３の記憶容量を超えない範囲でキャッシュ情報を追加することができ、また、削除することもできる。
キャッシュ情報を追加、削除を行う場合には、Ｎｅｘｔ２１１及びＰｒｅｖ２１２を更新することにより、リスト構造が維持される。
＜動作＞
以下、上記構成を備え、上述したデータを取り扱う記録装置１００の動作を説明する。
【００４６】
まず、キャッシュ情報管理部１０３にどのようにキャッシュデータが蓄積されていくかを説明するため、ファイル管理部１０１がキャッシュ制御部１０２に対してデータの読出し要求、書込み要求を行った場合の動作について説明する。
＜データの読出し＞
ファイル管理部１０１が、キャッシュ制御部１０２に対して読出し要求を行う場合の動作について、図３を用いて説明する。
【００４７】
以下では、読出し要求の対象アドレスをＡＤＲｒｅａｄとして説明する。ＡＤＲｒｅａｄは、記憶媒体１０９上のセクターを識別できるアドレスデータである。
キャッシュ制御部１０２は、ファイル管理部１０１からアドレスＡＤＲｒｅａｄに記録されたデータの読出し要求を受けると、キャッシュ情報管理部１０３にアドレスがＡＤＲｒｅａｄと一致するキャッシュデータが存在するかどうかを問い合わせる（ステップＳ３０１）。
【００４８】
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報についてのアドレス２１５を参照し、ＡＤＲｒｅａｄと一致するものがある場合（ステップＳ３０１：Ｙｅｓ）、キャッシュ制御部１０２にアドレス２１５が一致したキャッシュ情報についてのキャッシュデータを送出する。
キャッシュ制御部１０２は、キャッシュ情報管理部１０３から受領したキャッシュデータをアドレスＡＤＲｒｅａｄに記録されたデータとしてファイル管理部１０１に送出し（ステップＳ３０２）、読出し処理は終了する。
【００４９】
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報のアドレス２１５に、ＡＤＲｒｅａｄと一致するものがなかった場合（ステップＳ３０１：Ｎｏ）、その旨を示す情報をキャッシュ制御部１０２に送出する。
キャッシュ制御部１０２は、記憶媒体アクセス部１０６に対してＡＤＲｒｅａｄに記憶されたデータを記憶媒体制御装置１０７から読み出す旨の実読出し要求を行う（ステップＳ３０３）。
【００５０】
実読出し要求を受けた記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実読出し要求に対応するコマンドを発行し、記憶媒体制御装置１０７からＡＤＲｒｅａｄに記憶されたデータを読み出し、キャッシュ制御部１０２に送出する。以下、この実読出しで取得したデータをＤＡＴｒｅａｄとする。
キャッシュ制御部１０２は、キャッシュ情報管理部１０３に対して、クリーンキャッシュとして、アドレスがＡＤＲｒｅａｄ、キャッシュデータがＤＡＴｒｅａｄのキャッシュ情報の追加を要求する。
【００５１】
キャッシュ情報管理部１０３は、ダーティービット２１３が“０”、アドレス２１５がＡＤＲｒｅａｄ、キャッシュデータ２１６がＤＡＴｒｅａｄのキャッシュ情報を追加する（ステップＳ３０４）。
キャッシュ制御部１０２は、記憶媒体アクセス部１０６から受領したデータＤＡＴｒｅａｄをアドレスＡＤＲｒｅａｄに記憶されたデータとしてファイル管理部１０１に送出し（ステップＳ３０５）、読出し処理は終了する。
【００５２】
＜データの書込み＞
ファイル管理部１０１が、キャッシュ制御部１０２に対して書込み要求を行う場合の動作について、図４を用いて説明する。
以下では、書込み要求の対象アドレスをＡＤＲｗｒｉｔｅ、書き込むデータをＤＡＴｗｒｉｔｅとして説明する。ここで、ＡＤＲｗｒｉｔｅは、ファイル管理部１０１から割り当てられた記憶媒体１０９におけるＮＷＡ以降のセクターを示すアドレスである。
【００５３】
キャッシュ制御部１０２は、ファイル管理部１０１からアドレスＡＤＲｗｒｉｔｅへのデータの書込み要求を受けると、キャッシュ情報管理部１０３にアドレスがＡＤＲｗｒｉｔｅと一致するキャッシュデータが存在するかどうかを問い合わせる（ステップＳ４０１）。
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報についてのアドレス２１５を参照し、ＡＤＲｗｒｉｔｅと一致するものがある場合（ステップＳ４０１：Ｙｅｓ）、キャッシュ制御部１０２にその旨を示す情報を送出する。
【００５４】
キャッシュ制御部１０２は、判定部１０４にアドレスＡＤＲｗｒｉｔｅへの書込み要求が上書きの書込みであるかどうかを問い合わせる（ステップＳ４０２）。
判定部１０４は、後述する図５に示す処理手順に従って上書きの書込みであるかを判定し、判定結果をキャッシュ制御部１０２に送出する。
書込み要求が上書きの書込みである場合（ステップＳ４０２：Ｙｅｓ）、キャッシュ制御部１０２は、キャッシュ情報管理部１０３にアドレスがＡＤＲｗｒｉｔｅであるキャッシュ情報を上書きに設定するよう要求する。
【００５５】
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報のうち、アドレス２１５がＡＤＲｗｒｉｔｅのものの上書きビット２１４を“１”に設定する（ステップＳ４０３）。
書込み要求が上書きの書込みでない場合（ステップＳ４０２：Ｎｏ）、キャッシュ制御部１０２は、キャッシュ情報管理部１０３にアドレスがＡＤＲｗｒｉｔｅであるキャッシュ情報を上書きでないように設定するよう要求する。
【００５６】
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報のうち、アドレス２１５がＡＤＲｗｒｉｔｅのものの上書きビット２１４を“０”に設定する（ステップＳ４０４）。
キャッシュ制御部１０２は、キャッシュ情報管理部１０３にダーティーなキャッシュとして、アドレスがＡＤＲｗｒｉｔｅであるキャッシュ情報のキャッシュデータをＤＡＴｗｒｉｔｅに更新するよう要求する。
【００５７】
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報のうち、アドレス２１５がＡＤＲｗｒｉｔｅのもののダーティービットを“１”に設定し（ステップＳ４０５）、キャッシュデータ２１６をＤＡＴｗｒｉｔｅに更新し（ステップＳ４０６）、書込み処理は終了する。
キャッシュ情報管理部１０３は、記憶している各キャッシュ情報についてのアドレス２１５を参照し、ＡＤＲｗｒｉｔｅと一致するものがない場合（ステップＳ４０１：Ｎｏ）、キャッシュ制御部１０２にその旨の情報を送出する。
【００５８】
キャッシュ制御部１０２は、判定部１０４にアドレスＡＤＲｗｒｉｔｅへの書込み要求が上書きの書込みであるかどうかを問い合わせる（ステップＳ４０７）。
判定部１０４は、後述する図５に示す処理手順に従い判定し、判定結果をキャッシュ制御部１０２に送出する。
書込み要求が上書きの書込みである場合（ステップＳ４０７：Ｙｅｓ）、キャッシュ制御部１０２は、記憶媒体アクセス部１０６に対して、記憶媒体１０９上のアドレスＡＤＲｗｒｉｔｅに記憶されているデータの実読出し要求を行う（ステップＳ４０８）。
【００５９】
記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実読出し要求に対応するコマンドを発行し、記憶媒体制御装置１０７からアドレスＡＤＲｗｒｉｔｅに記憶されているデータを読み出し、キャッシュ制御部１０２に送出する。
キャッシュ制御部１０２は、この実読出しで取得したデータにＤＡＴｗｒｉｔｅを上書きし（ステップＳ４０９）、上書きのダーティーなキャッシュとしてキャッシュ情報を追加するようにキャッシュ情報管理部１０３に要求する。
【００６０】
キャッシュ情報管理部１０３は、キャッシュ制御部１０２からの要求に従い、ダーティービット２１３が“１”、上書きビット２１４が“１”、アドレス２１５がＡＤｗｒｉｔｅ、キャッシュデータ２１６がＤＡＴｗｒｉｔｅのキャッシュ情報を追加し（ステップＳ４１０）、書込み処理は終了する。
書込み要求が上書きの書込みでない場合（ステップＳ４０７：Ｎｏ）、キャッシュ制御部１０２は、キャッシュ情報のキャッシュデータサイズ（セクターサイズ）と同じサイズのＮＵＬＬを埋めたデータを用意し、そのデータをＤＡＴｗｒｉｔｅに更新し（ステップＳ４１１）、上書きでないダーティーなキャッシュとしてキャッシュ情報を追加するようにキャッシュ情報管理部１０３に要求する。
【００６１】
キャッシュ情報管理部１０３は、キャッシュ制御部１０２からの要求に従い、ダーティービット２１３が“１”、上書きビット２１４が“０”、アドレス２１５がＡＤｗｒｉｔｅ、キャッシュデータ２１６がＤＡＴｗｒｉｔｅのキャッシュ情報を追加し（ステップＳ４１２）、書込み処理は終了する。
＜上書き判定＞
判定部１０４が、書込み要求が上書きの書込みであるか否かの判定を行う場合の動作について、図５を用いて説明する。
【００６２】
以下、書込み対象のアドレスは、ＡＤＲｗｒｉｔｅとして説明する。なお、ＡＤＲｗｒｉｔｅは、ファイル管理部１０１から割り当てられた記憶媒体１０９におけるセクターを示すアドレスである。
判定部１０４は、キャッシュ制御部１０２からＡＤＲｗｒｉｔｅへの書込み要求が上書きであるかの問合せ要求を受領すると、記憶媒体アクセス部１０６へＮＷＡを問い合わせる（ステップＳ５０１）。
【００６３】
判定部１０４は、記憶媒体アクセス部１０６からＮＷＡを受領すると、受領したＮＷＡとＡＤＲｗｒｉｔｅとを比較して（ステップＳ５０２）、ＡＤＲｗｒｉｔｅがＮＷＡより小さければ（ステップＳ５０２：Ｙｅｓ）、上書きの書込みであると判定し（ステップＳ５０３）、ＡＤＲｗｒｉｔｅがＮＷＡ以上であれば（ステップＳ５０２：Ｎｏ）、上書きでない書込みであると判定する（ステップＳ５０４）。
【００６４】
判定部１０４は、判定結果をキャッシュ制御部１０２に送出して、上書き判定処理を終了する。
＜データの実書込み＞
次に、上記の通り、ファイル管理部１０１が、キャッシュ制御部１０２に対して書込み要求を行うことによって、キャッシュ情報管理部１０３に蓄積されたダーティーキャッシュデータを記憶媒体１０９に記録する場合の動作について、図６を用いて説明する。
【００６５】
なお、記憶媒体１０９への記録は、キャッシュ情報管理部１０３の記憶容量分のキャッシュ情報が記憶されている場合に新たなキャッシュ情報の追加要求があったときや、ファイルシステムをアンマウントする場合等に行われる。
以下では、ファイルシステムをアンマウントする場合に、キャッシュ情報管理部１０３に記憶されたダーティーキャッシュデータを全て記憶媒体に記録する場合を例に説明する。
【００６６】
キャッシュ制御部１０２は、記憶媒体１０９への記録が必要な状況が発生すると、実書込み制御部１０５にダーティーキャッシュデータの実書込み要求を行い、実書込み制御部１０５は、キャッシュ情報管理部１０３に上書きでない書込み要求のダーティーキャッシュデータが存在するかを問い合わせる（ステップＳ６０１）。
キャッシュ情報管理部１０３は、各キャッシュ情報について、上書きビットが“０”、ダーティービットが“１”のものがあるかを確認し、その結果を実書込み制御部１０５に送出する。
【００６７】
上書きでない書込み要求のダーティーキャッシュデータが存在する場合（ステップＳ６０１：Ｙｅｓ）、実書込み制御部１０５は、キャッシュ情報管理部１０３から上書きでない書込み要求のダーティーキャッシュデータのうち、ＮＷＡに記録するものを１つ受領する（ステップＳ６０２）。以下では、受領したキャッシュデータをＤＡＴｗｒｉｔｅ、アドレスをＡＤＲｗｒｉｔｅとする。
【００６８】
実書込み制御部１０５は、記憶媒体アクセス部１０６に、キャッシュデータをＤＡＴｗｒｉｔｅ、アドレスをＡＤＲｗｒｉｔｅとして、実書込み要求を行う。
実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のＡＤＲｗｒｉｔｅにＤＡＴｗｒｉｔｅを記録する（ステップＳ６０３）。
【００６９】
記憶媒体１０９への記録が完了すると、実書込み制御部１０５は、キャッシュ情報管理部１０３に、記憶媒体１０９に記録したキャッシュデータＤＡＴｗｒｉｔｅについてのキャッシュ情報をクリーンキャッシュに設定するよう要求する。
キャッシュ情報管理部１０３は、記憶媒体１０９に記録したキャッシュデータＤＡＴｗｒｉｔｅについてのキャッシュ情報のダーティービットを“０”に設定する（ステップＳ６０４）。
【００７０】
上書きでない書込み要求のダーティーキャッシュデータが存在する間はステップＳ６０１〜ステップＳ６０４を繰り返し、上書きでない書込み要求のダーティーキャッシュデータは１つずつ記憶媒体に記録され、クリーンキャッシュへと変更されていく。
上書きでない書込み要求のダーティーなキャッシュが存在しない場合（ステップＳ６０１：Ｎｏ）、実書込み制御部１０５は、キャッシュ情報管理部１０３に上書きの書込み要求のダーティーキャッシュデータが存在するかを問い合わせる（ステップＳ６０５）。
【００７１】
キャッシュ情報管理部１０３は、各キャッシュ情報について、上書きビットが“１”、ダーティービットが“１”のものがあるかを確認し、その結果を実書込み制御部１０５に送出する。
上書きの書込み要求のダーティーキャッシュデータが存在する場合（ステップＳ６０５：Ｙｅｓ）、上書きの書込み要求のダーティーなキャッシュについて、基本的にはステップＳ６０２〜ステップＳ６０４の処理と同様の処理を行う（ステップＳ６０６〜ステップＳ６０８）。
【００７２】
ただし、ステップＳ６０６においては、上書きの書込み要求のダーティーキャッシュデータのうち、任意のものを１つ受領する。
また、ステップＳ６０７において、実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のＮＷＡにＤＡＴｗｒｉｔｅを記録し、ＰＯＷ情報管理領域に「ＡＤＲｗｒｉｔｅ→ＮＷＡ」の交替情報を記録する。
【００７３】
上書きの書込み要求のダーティーキャッシュデータが存在する間は、ステップＳ６０５〜ステップＳ６０８を繰り返し、上書きの書込み要求のダーティーキャッシュは１つずつ記憶媒体に記録され、クリーンキャッシュへと変更されていく。
最終的に上書きの書込み要求のダーティーキャッシュが存在しなくなると（ステップＳ６０５：Ｎｏ）、実書込み処理は終了する。
【００７４】
この一連の実書込み処理により、上書きでない書込み要求のキャッシュデータが全て記憶媒体に記録された後に、上書きの書込み要求のキャッシュデータが記憶媒体に記録されることになるため、データの上書き回数を抑えることができる。
＜データの実書込みについての具体的な動作＞
次に、上記データの実書込みの動作について、図７の例を用いて具体的に説明する。
【００７５】
図７は、図６のフローチャートに従って、キャッシュ情報管理部１０３に記憶されたダーティーキャッシュデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」をシーケンシャルに記録可能なライトワンスメディアである記憶媒体１０９にＰＯＷ方式により記録する例を示したものである。
図７において、記憶媒体の記録領域がアドレス１で特定される記憶領域からアドレス１０で特定される記録領域で構成されているとし、状態番号７０１が（１）の状態では、アドレス１からアドレス５までは既にデータが記録されており、アドレス６からアドレス１０までは未記録であるとする。
【００７６】
同図中、状態番号７０１は、本説明を行う上で状態を識別するための番号であり、ダーティーキャッシュ７０２は、各状態におけるディスクキャッシュ上に残っているダーティーキャッシュデータの状態を、記憶媒体７０３は、各状態における記憶媒体１０９上に記憶されたデータの状態を示すものである。
ダーティーキャッシュ７０２において記載されている数字は、各ダーティーキャッシュデータを記憶媒体１０９に記録する際の記憶媒体１０９上のアドレスであって、ファイルシステムにより割り当てられたアドレスである。
【００７７】
状態番号７０１が（１）の状態は初期状態であり、記憶媒体上のアドレス２に記録すべきダーティーキャッシュデータ「Ａ」、アドレス４に記録すべきダーティーキャッシュデータ「Ｂ」、アドレス６に記録すべきダーティーキャッシュデータ「Ｃ」、アドレス７に記録すべきダーティーキャッシュデータ「Ｄ」がディスクキャッシュに記憶されていることを示している。
【００７８】
キャッシュ制御部１０２は、記憶媒体１０９への記録が必要な状況が発生すると、実書込み制御部１０５にダーティーキャッシュデータの実書込み要求を行い、実書込み制御部１０５は、キャッシュ情報管理部１０３に上書きでない書込み要求のダーティーキャッシュデータが存在するかどうかを問い合わせる（ステップＳ６０１）。
キャッシュ情報管理部１０３は、状態番号７０１が（１）の状態において、記録すべき記憶媒体１０９のアドレスがＮＷＡ以上のダーティーキャッシュデータとして「Ｃ」、「Ｄ」があるため、その結果を実書込み制御部１０５に送出する。なお、状態番号７０１が（１）の状態におけるＮＷＡはアドレス６である。
【００７９】
上書きでない書込み要求のダーティーキャッシュデータが存在するため（ステップＳ６０１：Ｙｅｓ）、実書込み制御部１０５は、キャッシュ情報管理部１０３から上書きでない書込み要求のダーティーキャッシュデータのうち、ＮＷＡに記録するキャッシュデータ「Ｃ」を受領する（ステップＳ６０２）。
実書込み制御部１０５は、記憶媒体アクセス部１０６に、キャッシュデータを「Ｃ」、アドレスを６として、実書込み要求を行う。
【００８０】
実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のアドレス６に、キャッシュデータ「Ｃ」を記録する（ステップＳ６０３）。
キャッシュデータ「Ｃ」を記録すると、実書込み制御部１０５は、キャッシュ情報管理部１０３に、記憶媒体１０９に記録したキャッシュデータ「Ｃ」についてのキャッシュ情報をクリーンキャッシュデータに設定するよう要求する。
【００８１】
キャッシュ情報管理部１０３は、記憶媒体１０９に記録したキャッシュデータ「Ｃ」についてのキャッシュ情報のダーティービットを“０”に設定する（ステップＳ６０４）。
以上の処理により、状態番号７０１が（２）の状態において、ダーティーキャッシュ７０２からキャッシュデータ「Ｃ」が消え、記憶媒体７０３のアドレス６にキャッシュデータ「Ｃ」が記録され、ＮＷＡはアドレス７となる。
【００８２】
上書きでない書込み要求のダーティーキャッシュデータとして、まだキャッシュデータ「Ｄ」があるため（ステップＳ６０１：Ｙｅｓ）、上記のとおり、キャッシュデータ「Ｄ」を記憶媒体１０９のＮＷＡ（アドレス７）に記録し、キャッシュデータ「Ｄ」についてクリーンキャッシュデータに設定する（ステップＳ６０２〜６０４）。
これにより、状態番号７０１が（３）の状態において、ダーティーキャッシュ７０２からキャッシュデータ「Ｄ」が消え、記憶媒体７０３のアドレス７にキャッシュデータ「Ｄ」が記録され、ＮＷＡはアドレス８となる。
【００８３】
上書きでない書込み要求のダーティーなキャッシュが存在しなくなったため（ステップＳ６０１：Ｎｏ）、実書込み制御部１０５は、キャッシュ情報管理部１０３に上書きの書込み要求のダーティーキャッシュデータが存在するかを問い合わせる（ステップＳ６０５）。
キャッシュ情報管理部１０３は、状態番号７０１が（３）の状態において、記録すべき記憶媒体のアドレスがＮＷＡ未満のダーティーキャッシュデータとして「Ａ」、「Ｂ」があるため、その結果を実書込み制御部１０５に送出する。
【００８４】
上書きの書込み要求のダーティーキャッシュデータが存在するため（ステップＳ６０５：Ｙｅｓ）、実書込み制御部１０５は、キャッシュ情報管理部１０３から上書きの書込み要求のダーティーキャッシュデータの１つである「Ａ」を受領する（ステップＳ６０６）。
実書込み制御部１０５は、記憶媒体アクセス部１０６に、キャッシュデータを「Ａ」、アドレスを２として、実書込み要求を行う。
【００８５】
実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のアドレス８に、キャッシュデータ「Ａ」を記録し（ステップＳ６０７）、ＰＯＷ情報管理領域に「アドレス２→アドレス８」の交替情報を記録する。
【００８６】
なお、交替情報はＰＯＷ情報管理領域にシーケンシャルに記録されるため、同じデータについて複数回の上書きがなされることにより、例えば「アドレス２→アドレス３」と「アドレス２→アドレス８」という２つの交替情報が記録される場合がある。このような場合に上書きされたデータの読出し要求がなされると、後に記録された交替情報である「アドレス２→アドレス８」が交替情報として参照されることになる。
【００８７】
キャッシュデータ「Ａ」を記録すると、実書込み制御部１０５は、キャッシュ情報管理部１０３に、記憶媒体１０９に記録したキャッシュデータ「Ａ」についてのキャッシュ情報をクリーンキャッシュデータに設定するよう要求する。
キャッシュ情報管理部１０３は、記憶媒体１０９に記録したキャッシュデータ「Ａ」についてのキャッシュ情報のダーティービットを“０”に設定する（ステップＳ６０８）。
【００８８】
これにより、状態番号７０１が（４）の状態において、ダーティーキャッシュ７０２からキャッシュデータ「Ａ」が消え、記憶媒体７０３のアドレス８にキャッシュデータ「Ａ」が記録され、ＰＯＷ情報管理領域に「アドレス２→アドレス８」の交替情報が記録され、ＮＷＡはアドレス９となる。
上書きの書込み要求のダーティーキャッシュデータとして、まだキャッシュデータ「Ｂ」があるため（ステップＳ６０５：Ｙｅｓ）、上記のとおり、キャッシュデータ「Ｂ」を記憶媒体１０９のＮＷＡ（アドレス９）に記録し、ＰＯＷ情報管理領域に交替情報「アドレス４→アドレス９」を記録し、キャッシュデータ「Ｂ」についてクリーンキャッシュデータに設定する（ステップＳ６０６〜６０８）。
【００８９】
これにより、状態番号７０１が（５）の状態において、ダーティーキャッシュ７０２からキャッシュデータ「Ｂ」が消え、記憶媒体７０３のアドレス９にキャッシュデータ「Ｂ」が記録され、ＰＯＷ情報管理領域に「アドレス４→アドレス９」の交替情報が記録され、ＮＷＡはアドレス１０となる。
本実施の形態においては、上書きが必要な記憶領域毎に、交替情報（上述の例では「アドレス２→アドレス８」、「アドレス４→アドレス９」）を作成するような構成となるが、これに限定される必要はなく、例えば個々の記憶領域の長さを利用して交替情報を作成するような構成としても良い。
【００９０】
例えば、図７における状態番号７０１の（１）の状態においてアドレス２で特定される記憶領域とアドレス３で特定される記憶領域とアドレス４で特定される記憶領域とにそれぞれ記録すべき上書きの書き込み要求のダーティーキャッシュデータがあり、また、アドレス６で特定される記憶領域とアドレス７で特定される記憶領域とにそれぞれ記録すべき上書きでない書き込み要求のダーティーキャッシュデータがある場合に、本実施の形態においては、「アドレス２→アドレス８」、「アドレス３→アドレス９」、「アドレス４→アドレス１０」の交替情報がそれぞれ作成されるが、例えば「アドレス２、アドレス２からアドレス４で特定される記憶領域の終端アドレスまでの長さ→アドレス８、アドレス２からアドレス４で特定される記憶領域の終端アドレスまでの長さ」といったように上書きが必要な開始アドレスと、データ長を用いて、交替情報を作成するように構成しても良い。このような構成をすれば連続する記憶領域が上書きの対象となる場合により少ないデータ量で交替情報を作成することが可能となる。更に記憶媒体の各アドレスにより特定される記憶領域の大きさ（データ長）を同じにすれば、交替情報内にて特定されるデータ長の値をより簡単に算出できる（つまり、１の記憶領域の大きさ（データ長）×上書きする記録領域が連続する数といった計算により算出できる）。
＜考察＞
以上説明したように、図６のフローチャートに従って記憶媒体１０９への記録を行った場合、キャッシュ情報管理部１０３へ書込まれた時点で上書きでない書込みであったキャッシュデータ「Ｃ」、「Ｄ」は、実際に記憶媒体１０９へ記録される時点でも上書きでない書込みとして記録されるため、記憶媒体１０９への上書き回数を抑えることができる。
【００９１】
図１４で説明した従来技術での例のように、キャッシュ情報管理部１０３へ書込まれた段階で上書きでない書込みのつもりであったキャッシュデータ「Ｃ」、「Ｄ」が、実際に記憶媒体へ記録される際には上書きの書込みとして記録されてしまうようなことは、本発明の技術においては起こり得ない。図１４の状態番号１４０１が（５）の状態と図７において状態番号７０１が（５）の状態を比較すると、本発明に係る図７では上書き回数を抑えられた結果、ＰＯＷ情報管理領域に記録された交替情報も最小限に抑えることができている。
【００９２】
交替情報の記録を最小限に抑えているため、交替情報を記録するＰＯＷ情報管理領域の枯渇により記憶媒体への書込みが不能となる時期を遅らせることができ、また、データの読出し時においても、交替情報の参照回数を減らすことができるため、読出し処理速度の低下を抑えることができる。
また、上記の効果以外にも、上書きでない書込み要求のキャッシュデータを上書きの書込み要求のキャッシュデータよりも先に記憶媒体に記録することにより、電源が遮断された場合にファイルシステムが不整合を起こす可能性を低下させるという第２の効果もある。
【００９３】
まず、第２の効果を説明するための前提として、ＢＤ−Ｒ等でも採用されているＵＤＦに従って、記録されている記憶媒体上のファイルへのアクセス、及び、記憶媒体へのファイルの記録について説明する。
ＵＤＦでは、記憶媒体上にファイルを記録する際、ファイルの実体である実体データと、実体データが記録されている記憶媒体上の位置を示す位置情報とを記憶媒体に記録することにより、ファイルへのアクセスを可能にしている。
【００９４】
＜ＵＤＦに従ったファイルアクセス＞
以下では、図８を用いて、ルートディレクトリ配下のサブディレクトリの中にあるファイルへアクセスする例を説明する。
ファイルへのアクセス要求があると、ファイルシステムは、ディスク上のボリューム情報を記録する領域（図示しない）を参照し、ルートディレクトリのＦＥ（File Entry）８１０を読み出す。
【００９５】
ルートディレクトリのＦＥ８１０には、ルートディレクトリ配下のディレクトリやファイルのＦＩＤ（File Identifier Descriptor）列８２０が記憶されている記憶媒体１０９上の位置を示す情報であるＡＤ（Allocation Descriptor）８１１が記録されている。
ファイルシステムは、読み出されたルートディレクトリのＦＥ８１０内にあるＡＤ８１１を参照し、ＦＩＤ列８２０を読み出す。
【００９６】
ＦＩＤ列８２０には、ルートディレクトリ配下のディレクトリやファイルＦＩＤが記録され、各ＦＩＤにはディレクトリやファイルの名称を示す情報とディレクトリやファイルのＦＥが記録されている記憶媒体１０９上の位置を示す情報であるＩＣＢ(Information Control Block)が記録されている。
ファイルシステムは、ＦＩＤ列８２０からサブディレクトリのＦＩＤ８２１を読み出し、ＦＩＤ８２１内のＩＣＢ８２２を参照し、サブディレクトリのＦＥ８３０を読み出す。
【００９７】
サブディレクトリのＦＥ８３０には、サブディレクトリ配下のディレクトリやファイルのＦＩＤ列８４０が記憶されている記憶媒体１０９上の位置を示す情報であるＡＤ８３１が記録されている。
ファイルシステムは、読み出されたサブディレクトリのＦＥ８３０内にあるＡＤ８３１を参照し、ＦＩＤ列８４０を読み出す。
【００９８】
ＦＩＤ列８４０には、ＦＩＤ列８２０と同様、サブディレクトリ配下のディレクトリやファイルＦＩＤが記録されている。
ファイルシステムは、ＦＩＤ列８４０から実体データのＦＩＤ８４１を読み出し、ＦＩＤ８４１内のＩＣＢ８４２を参照し、ファイルのＦＥ８５０を読み出す。
ファイルのＦＥ８５０には、アクセス対象となるファイルの実体である実体データが記憶されている記憶媒体１０９上の位置を示す情報であるＡＤ８５１が記録されている。
【００９９】
ファイルシステムは、読み出されたファイルのＦＥ８５０内にあるＡＤ８５１を参照し、実体データ８６０を読み出す。
このようにして、ファイルの実体である実体データへのアクセスが可能になる。
＜ＵＤＦに従ったファイルの記録＞
以下では、図９を用いて、上記ファイルが記録されているディレクトリと同じディレクトリに新たなファイルを記録する例を説明する。
【０１００】
ファイルシステムは、新たに追加するファイルの実体である実体データ９１０を記憶媒体１０９に記録する。記憶媒体１０９は、シーケンシャルに書込み可能なライトワンスメディアであるため、実体データ９１０が記録される領域は記憶媒体１０９上のＮＷＡが示す領域である。
なお、実体データ９１０が記録されたため、ＮＷＡは隣の領域に移っている。
【０１０１】
ファイルシステムは、実体データ９１０が記憶されている記憶媒体１０９上の位置を示す情報であるＡＤ９２１を含むファイルのＦＥ９２０をＮＷＡに記録する。ＦＥ９２０が記録されたため、ＮＷＡは隣の領域に移っている。
ファイルシステムは、ＦＩＤ列８４０に、ＦＥ９２０についてのＦＩＤを追加する。ここで、ＦＩＤ列８４０へのＦＥ９２０についてのＦＩＤの追加は、ＦＩＤ列８４０の上書きである。
【０１０２】
従って、実際には、記憶媒体制御回路１０８により、実体データ８６０についてのＦＥ８５０、及び、実体データ９１０についてのＦＥ９２０のそれぞれについてのＦＩＤ９３１、ＦＩＤ９３３を含むＦＩＤ列９３０がＮＷＡに記録され、ＦＩＤ列８４０がＦＩＤ列９３０に上書きされたことを示す交替情報が、記憶媒体１０９のＰＯＷ情報管理領域に記録されることとなる。
【０１０３】
なお、ＦＩＤ９３１内のＩＣＢ９３２は実体データ８６０についてのＦＥ８５０の記録位置を、ＦＩＤ９３３内のＩＣＢ９３４は実体データ９１０についてのＦＥ９２０の記録位置を示すものである。
＜具体例を使用した第２の効果の説明＞
次に、図７の例を使用して、第２の効果について具体的に説明する。
【０１０４】
図７において、ダーティーキャッシュデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」は全て依存関係にあるデータであり、２つのディレクトリ内に、それぞれ１つのファイルを追加する場合を考える。
このとき、例えば、ダーティーキャッシュデータ「Ｃ」は、追加する第一のファイルの実体データとその実体データを示すファイルのＦＥを含むデータであり、ダーティーキャッシュデータ「Ｄ」は、追加する第二のファイルの実体データとその実体データを示すファイルのＦＥを含むデータであり、ダーティーキャッシュデータ「Ａ」は、第一のファイルを追加することにより更新されるファイルのＦＥを示すＦＩＤ列であり、ダーティーキャッシュデータ「Ｂ」は、第二のファイルを追加することにより更新されるファイルのＦＥを示すＦＩＤ列であるとする。
【０１０５】
ダーティーキャッシュデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」は、全て依存関係にあるため、４つのデータのうち1つでも記憶媒体への記録がされていない状態で電源が遮断されると、ファイルシステムは不整合状態になる可能性がある。
このような場合に、本発明の技術を使わない図１４においては、状態番号１４０１が（２）、（３）、（４）の状態で電源が遮断された場合、更新後のＦＩＤ列は記録されているものの、追加する実体データを示すファイルのＦＥが記録されていないため、ファイルシステムは、追加したファイルの実体を参照できず、不整合な状態となる。
【０１０６】
しかし、本発明の実施例である図７において、状態番号７０１が（２）、（３）の状態では、実体データとファイルのＦＥとが記載され、ＦＩＤ列は記録されていないため、未参照領域に実体データが記録され、ルートディレクトリから実体データが記録されたアドレスへのリンクがなされていない状態であり、ファイルシステムに不整合な状態が発生することはない。
【０１０７】
本発明の実施例である図７においてファイルシステムが不整合となる可能性があるのは、状態番号７０１が（４）の状態だけであり、電源が遮断された場合にファイルシステムが不整合を起こす可能性を低下させることができていることがわかる。
≪変形例１≫
＜概要＞
実施の形態１の考察において、実施の形態１にかかる記録装置１００は、電源が遮断された場合に、従来の記録装置と比べ、ファイルシステムに不整合が生じる可能性を低減できることを説明した。
【０１０８】
変形例１に係る記録装置は、上書きの書込み要求のキャッシュデータを記憶媒体１０９に記録する前に、上書きの書込み要求の全てのキャッシュデータを不揮発性メモリへ記憶しておくことにより、ファイルシステムに不整合が生じることを完全に防ぐものである。
＜構成＞
変形例１に係る記録装置は、実施の形態１に係る記録装置１００の構成のほか、不揮発性メモリを備えるものであり、また、記録装置１００の実書込み制御部１０５を、変形例１に係る記録装置用に改良したものである。
【０１０９】
変形例１に係る不揮発性メモリは、上書きの書込み要求のキャッシュデータとそのキャッシュデータの記憶媒体１０９上の記憶領域を示すアドレスとを対応付けて記憶するものである。
また、変形例１に係る実書込み制御部は、実施の形態１に係る実書込み制御部１０５の機能に加え、キャッシュ情報管理部１０３に記憶されていた上書きの書込み要求のキャッシュデータが、停電等により正常に記憶媒体１０９に記録されなかった場合に、不揮発性メモリからデータを読み出し、記憶媒体１０９に記憶する機能を有する。
【０１１０】
その他の構成は実施の形態１と同様であるため、説明は省略する。
＜動作＞
以下、上記構成を備えた変形例１に係る記録装置の動作を説明する。
図１０は、変形例１に係る記録装置が、キャッシュ情報管理部１０３に記憶されたキャッシュデータを記憶媒体１０９に記憶する処理のフローチャートである。
【０１１１】
図１０は、図６のフローチャートのステップＳ６０１とステップＳ６０５との間にステップＳ１００９とステップＳ１０１０とを設け、また、ステップＳ６０５において、上書きの書込み要求のキャッシュデータが存在しなくなった場合に行う処理としてステップＳ１０１１を設けたものである。
他のステップについては、図６のフローチャートと同様であるため説明は省略する。
【０１１２】
上書きの書込み要求のキャッシュデータが存在した場合に（ステップＳ１００９：Ｙｅｓ）、全ての上書きの書込み要求のキャッシュデータとアドレスとを対応付けて不揮発性メモリに記憶する（ステップＳ１０１０）。
この処理は、図７において、状態番号７０１が（３）の状態と（４）の状態との間で上書きの書込み要求のキャッシュデータとアドレスとの組（キャッシュデータ「Ａ」、アドレス２）、（キャッシュデータ「Ｂ」、アドレス４）を不揮発性メモリに記憶する処理を行うことに相当する。
【０１１３】
なお、状態番号７０１が（２）、（３）の状態で電源が遮断された場合には、キャッシュデータが未参照領域に書込まれただけであるので、特にファイルシステムが不整合状態になることはない、というのは実施の形態１における考察の具体例を使用した第２の効果の説明において、既に説明した通りである。
また、上書きの書込み要求のキャッシュデータが存在しなくなった場合に（ステップＳ１００５：Ｎｏ）、不揮発性メモリに記憶されたデータを全て削除する（ステップＳ１０１１）。これは、ステップＳ１００６〜ステップＳ１００８の処理により、キャッシュ情報管理部１０３に記憶されていた上書きの書込み要求のキャッシュデータが全て記憶媒体１０９に正常に記録されたため、不揮発性メモリ上のデータは不要になったためである。
【０１１４】
以下、電源が遮断された後、電源の供給が再開された場合に不揮発性メモリに記憶されたデータを記憶媒体１０９に記録する処理について説明する。
図１１は、停電等により電源が遮断された後、電源の供給が再開された場合に、図１０のステップＳ１０１０で、不揮発性メモリに記憶されたデータを、変形例１に係る実書込み制御部が記憶媒体１０９に記録する処理のフローチャートである。
【０１１５】
電源が遮断された後、電源の供給が再開されると、変形例１に係る実書込み制御部は、不揮発性メモリにデータが存在するか確認する（ステップＳ１１０１）。
不揮発性メモリにデータが存在する場合（ステップＳ１１０１：Ｙｅｓ）、変形例１に係る実書込み制御部は、不揮発性メモリからデータを１つ読み出す（ステップＳ１１０２）。読み出したデータをＤＡＴｗｒｉｔｅ、そのデータのアドレスをＡＤＲｗｒｉｔｅとする。
【０１１６】
変形例１に係る実書込み制御部は、記憶媒体アクセス部１０６に、データをＤＡＴｗｒｉｔｅ、アドレスをＡＤＲｗｒｉｔｅとして、実書込み要求を行う。
実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のＡＤＲｗｒｉｔｅにＤＡＴｗｒｉｔｅを記録する（ステップＳ１１０３）。
【０１１７】
記憶媒体１０９への記録が完了すると、変形例１に係る実書込み制御部は、不揮発性メモリから読み出したデータを削除する（ステップＳ１１０４）。
ステップＳ１１０１〜ステップＳ１１０４の処理を、不揮発性メモリにデータが存在する間繰り返し、不揮発性メモリにデータが存在しなくなると（ステップＳ１１０１：Ｎｏ）、処理を終了する。
【０１１８】
例えば、図７の状態番号７０１が（４）の状態で電源が遮断され、電源の供給が再開されると、不揮発性メモリにデータが存在するため（ステップＳ１１０１：Ｙｅｓ）、実書込み制御部は、不揮発性メモリからデータ「Ａ」とアドレス２を読み出し（ステップＳ１１０２）、記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のアドレス２にデータ「Ａ」を記録する（ステップＳ１１０３）。
【０１１９】
なお、データ「Ａ」のアドレス２への記録は上書きとなるため、実際には、記憶媒体制御回路１０８により、データ「Ａ」はアドレス９に記憶され、交替情報がＰＯＷ情報管理領域に記録される。
記憶媒体１０９のアドレス２にデータ「Ａ」を記録した後、変形例１に係る実書込み制御部は、不揮発性メモリからデータ「Ａ」とアドレス２を削除する（ステップＳ１１０４）。
【０１２０】
また、不揮発性メモリに記憶されているデータ「Ｂ」とアドレス４についても同様に処理する（ステップＳ１１０１〜ステップＳ１１０４）。
不揮発性メモリには、データが存在しなくなるため、処理を終了する。
これにより、電源遮断前に行いたかった記憶媒体１０９への記録を電源供給後に完了することができる。
【０１２１】
電源が遮断された図７の状態番号７０１が（４）の状態では、既にデータ「Ａ」の記憶媒体１０９への記録がなされているため、データ「Ａ」は再度記録されることとなるが、ファイルシステムにおけるファイル管理情報と実体データとの間の不整合が発生することはない。
≪実施の形態２≫
＜概要＞
シーケンシャルに記録可能なライトワンスメディアである記憶媒体にＰＯＷ方式により記憶する記録装置において、記憶媒体に記録されたファイルを構成する複数のデータを上書きする場合、実施の形態１では、上書きされた各データについての交替情報を記憶媒体１０９上のＰＯＷ情報管理領域に記録していくことによって、仮想的に上書きを実現していた。
【０１２２】
実施の形態２では、ファイルを構成する各データについての交替情報を記憶媒体に記録することなく、ファイルを構成する各データが記憶媒体上のどの領域に記憶されているかを示すファイル管理情報を上書きし、上書きされたファイル管理情報についての交替情報を記憶媒体に記録することにより、ファイルへの上書きを実現する。
これにより、実施の形態１の方法では、上書きが発生するデータ数の交替情報を記録する必要があるが、実施の形態２の方法では、変更前のファイル管理情報が記録された記憶媒体上のアドレスと変更後のファイル管理情報が記録された記憶媒体上のアドレスとの対応を示す交替情報を１つ記録すればよいため、交替情報の記録回数を減らすことができる。
＜構成＞
図１２は、実施の形態２における記録装置１２００の構成図である。
【０１２３】
記録装置１２００は、同図に示すとおり、キャッシュ制御部１０２、キャッシュ情報管理部１０３、判定部１０４、実書込み制御部１０５、記憶媒体アクセス部１０６、記憶媒体制御装置１０７、ファイル管理部１２０１から構成される。
ファイル管理部１２０１は、ファイル管理部１０１の機能に加え、ファイルを構成するデータの更新要求を受領すると、更新するデータについて、記憶媒体制御装置１０７内の記憶媒体１０９上のＮＷＡ以降の領域を示すアドレスを割り当てる機能を有する。
＜動作＞
以下、上記構成を備える記録装置１２００の動作を、図１３を用いて具体的に説明する。
【０１２４】
同図（ａ）は、ＰＯＷ記録方式で記録される記憶媒体１０９に記録されたファイルと、ファイルを構成する各データの記憶媒体１０９上の記録位置を示すものである。
ファイルは記憶媒体１０９上の７アドレス分のサイズを有し、ファイルを構成する各データは、アドレス５〜９、１２、１３に記録されており、ＮＷＡはアドレス１５である。
ファイルが記憶媒体１０９上のアドレス５〜９、１２、１３に記録されているというファイル管理情報は、ファイルのＦＥとして記憶媒体１０９のアドレス２に記録されている。
【０１２５】
以下では、このファイルを構成する記憶媒体１０９上のアドレス７〜９に記録されている各データを上書きする場合について、実施の形態１に係る記録装置１００と、実施の形態２に係る記録装置１２００との動作を比較して説明する。
同図（ｂ）は、実施の形態１に係る記録装置１００が、ファイルへの上書きを行った場合を示している。
【０１２６】
実書込み制御部１０５から実書込み要求を受領した記憶媒体アクセス部１０６は、記憶媒体制御装置１０７に対し、実書込み要求に対応するコマンドを発行し、記憶媒体制御装置１０７内の記憶媒体制御回路１０８は、記憶媒体１０９のＮＷＡ以降のアドレス１５、１６、１７に上書き要求のあったデータを記録し、ＰＯＷ情報管理領域に「アドレス７→アドレス１５」、「アドレス８→アドレス１６」、「アドレス９→アドレス１７」の３つの交替情報を記録する。
【０１２７】
同図（ｃ）は、実施の形態２に係る記録装置１２００が、ファイルへの上書きを行った場合を示している。
ファイル管理部１２０１は、ファイルを構成する記憶媒体１０９上のアドレス７〜９に記録されている各データを更新する旨の更新要求を受領すると、ＮＷＡがアドレス１５であることから、更新する各データに対し、アドレス１５、１６、１７を割り当てて、キャッシュ制御部１０２に対して書込み要求を行う。
【０１２８】
実施の形態１と同様に、更新する各データは、キャッシュ情報管理部１０３に蓄積され、記憶媒体１０９への記録が必要な状況が発生すると、記憶媒体１０９に記録される。
この際、更新する各データについては、ファイル管理部１２０１がＮＷＡ以降の領域を記録領域として割り当てているため、上書きでない書込み要求となり、ＰＯＷ情報管理領域に交替情報が記録されることはない。
【０１２９】
また、ファイルを更新するデータの更新に伴い、ファイル管理部１２０１は、記憶媒体１０９のアドレス２に記録されているファイルのＦＥを更新する。
このファイルのＦＥの更新は、実際には、アドレス２への上書きとなるため、記憶媒体制御回路１０８は、記憶媒体１０９のＮＷＡへファイルのＦＥを記録し、ＰＯＷ情報管理領域に「アドレス２→アドレス１８」という１つの交替情報を記録する。
【０１３０】
このように、同図（ｂ）では、３つの交替情報をＰＯＷ情報管理領域に記録する必要があったが、同図（ｃ）では、１つの交替情報をＰＯＷ情報管理領域に記録するだけで仮想的な上書きが実現でき、ＰＯＷ情報管理領域への交替情報の記録数を減らすことができている。
＜補足＞
以上、本発明に係る記録装置について、実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態に示したとおりの記録装置に限られないことは勿論である。
【０１３１】
（１）実施の形態１に係る記録装置１００、変形例１に係る記録装置、実施の形態２に係る記録装置１２００の各機能ブロックは典型的には集積回路であるＬＳＩとして実現されるが、これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１３２】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field ProgrammableGate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０１３３】
（２）実施の形態１の考察において、シーケンシャルに記録可能なライトワンスメディアである記憶媒体にＰＯＷ方式により記憶する記録装置を例に説明したが、ｏｖｅｒｗｒｉｔａｂｌｅの記憶媒体においても同様に、電源が遮断された場合にファイルシステムが不整合に陥る確率を低減することができる。
その際、判定部１０４は、図５に示す処理手順に代えて、ファイル管理情報により実データが存在すると示されている領域への書込み要求であった場合には、上書きの書込み要求であると判断することとしてもよい。
【０１３４】
具体的には、ｏｖｅｒｗｒｉｔａｂｌｅの記憶媒体において、例えば、ＦＡＴ（File Allocation Table）を採用している場合、ディスク上のセクターは、クラスタと呼ばれる単位にまとめられて管理されている。
ＦＡＴでは、各クラスタと同じ数のファイルアロケーションテーブルが用意され、あるクラスタのデータの続きがどのクラスタにあるか、というファイル管理情報が、各ファイルアロケーションテーブルに記録される。
【０１３５】
上書きの書込みを行う領域が、このファイルアロケーションテーブルにより、実データが存在すると示されている領域であった場合には、上書きの書込み要求であると判断することができる。
（３）実施の形態１では、ファイルシステムをアンマウントするような場合を想定し、キャッシュ情報管理部１０３に記録された全てのキャッシュデータを記憶媒体１０９に記録するとしたが、キャッシュディスク上に所定数の空き領域を作る必要がある場合には、所定数分に相当するキャッシュデータのみを記憶媒体１０９に記録するとしてもよい。
【０１３６】
その際、上書きでない書込み要求のキャッシュデータを、上書きの書込み要求のキャッシュデータより先に記憶媒体１０９に記録するのは、実施の形態１と同様である。
【産業上の利用可能性】
【０１３７】
本発明に係る記録装置は、記憶媒体へＰＯＷ（Pseudo Over Write）記録方式で記録を行う記録装置に利用されるものである。
【符号の説明】
【０１３８】
１００、１２００  記憶装置
１０１、１２０１  ファイル管理部
１０２  キャッシュ制御部
１０３  キャッシュ情報管理部
１０４  判定部
１０５  実書込み制御部
１０６  記憶媒体アクセス部
１０７  記憶媒体制御装置
１０８  記憶媒体制御回路
１０９  記憶媒体
２０１〜２０４  キャッシュ情報
２１１  Ｎｅｘｔ
２１２  Ｐｒｅｖ
２１３  ダーティービット
２１４  上書きビット
２１５  アドレス
２１６  キャッシュデータ
８１０  ルートディレクトリのＦＥ
８１１、８３１、８５１、９２１  ＡＤ
８２０、８４０、９３０  ＦＩＤ列
８２１  サブディレクトリのＦＩＤ
８２２、８４２、９３２、９３４  ＩＣＢ
８３０  サブディレクトリのＦＥ
８４１、９３１、９３３  ファイルのＦＩＤ
８５０、９２０  ファイルのＦＥ
８６０、９１０  実体データ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定のメモリ領域に記憶された複数のデータをそれぞれ記憶媒体上に記録する記録装置であって、
前記メモリ領域上の複数のデータそれぞれについて、当該データを前記記憶媒体上の指定される領域に記録する必要が生じた場合に、当該指定される領域が特定の条件を満たすか否かを判定する判定手段と、
前記判定手段により特定の条件を満たすと判定された領域への記録に係る前記メモリ領域上の各データについては、特定の条件を満たさないと判定された領域への記録に係るいずれのデータよりも先に、当該指定に応じた領域に記録する記録制御手段とを備え、
前記記録装置は、更に、不揮発性メモリを備え、
前記記録制御手段は、更に、前記判定手段により前記特定の条件を満たさないと判定された領域への記録に係る前記メモリ領域上の各データについては、前記不揮発性メモリに記憶し、
前記特定の条件とは、前記指定される領域にデータが既に記録されていないことをいう
ことを特徴とする記録装置。
【請求項２】
前記記憶媒体上の領域の前記指定は、アドレス値によってなされるものであり、
前記記録装置は、更に
前記記憶媒体上に記録されている複数のデータからなるファイルを管理するため、当該ファイルの識別情報と当該ファイルを構成する各データが記録されている当該記憶媒体上のアドレス値とを対応付けて当該記憶媒体上に記録するよう指示するファイル管理手段を備え、
前記判定手段は、前記指定される領域を示すアドレス値が、前記記憶媒体に記録され、前記ファイル管理手段により管理された領域を示すアドレス値でない場合に、前記指定される領域にデータが既に記録されていないと判定する
ことを特徴とする請求項１記載の記録装置。
【請求項３】
前記記憶媒体は、シーケンシャルに記録可能なライトワンスメディアであり、前記記憶媒体上の領域の前記指定は、アドレス値によってなされるものであり、
前記記録装置は、更に
前記記憶媒体上の未記録領域の始端を示すアドレス値を管理するアドレス管理手段を備え、
前記判定手段は、指定されるアドレス値が示す領域が、前記アドレス管理手段が管理するアドレス値が示す領域以降の領域である場合に、前記指定される領域にデータが既に記録されていないと判定し、
前記記録制御手段は、前記判定手段により特定の条件を満たすと判定された記録に係る前記メモリ領域上の全てのデータについて、前記記憶媒体上の前記指定される領域に記録し、当該記録された領域に引き続く領域に前記判定手段により特定の条件を満たさないと判定された記録に係る前記メモリ領域上の各データを記録する
ことを特徴とする請求項１記載の記録装置。
【請求項４】
前記記憶媒体上の領域の前記指定は、アドレス値によってなされるものであり、
前記記録装置は、更に
前記記憶媒体上に記録されている複数のデータからなるファイルを管理するため、当該ファイルの識別情報と当該ファイルを構成する各データが記録されている当該記憶媒体上のアドレス値とを対応付けたファイル管理情報を当該記憶媒体上に記録するよう指示するファイル管理手段を備え、
前記ファイル管理手段が管理しているファイルの内容を構成するデータについて更新する必要が生じた場合に、当該ファイル管理手段は、当該ファイル管理手段により管理された領域を示すアドレス値とは異なるアドレス値を示す領域に、更新する前記データを記録するよう指示し、かつ、当該ファイルのファイル管理情報として、当該ファイルの識別情報と、更新する前記データを記録するアドレス値とを対応付けたものを記憶媒体に記録するよう指示する
ことを特徴とする請求項１記載の記録装置。
【請求項５】
前記記録制御手段は、前記判定手段により既にデータが記録されていると判定された領域への記録に係る前記メモリ領域上の各データを記録した場合に、前記不揮発性メモリから各データを削除する
ことを特徴とする請求項１記載の記録装置。 
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008056593.tif 000017
【図２】
2008056593.tif 000018
【図３】
2008056593.tif 000019
【図４】
2008056593.tif 000020
【図５】
2008056593.tif 000021
【図６】
2008056593.tif 000022
【図７】
2008056593.tif 000023
【図８】
2008056593.tif 000024
【図９】
2008056593.tif 000025
【図１０】
2008056593.tif 000026
【図１１】
2008056593.tif 000027
【図１２】
2008056593.tif 000028
【図１３】
2008056593.tif 000029
【図１４】
2008056593.tif 000030
【国際調査報告】
2008056593.tif 000031
2008056593.tif 000032
2008056593.tif 000033
2008056593.tif 000034
2008056593.tif 000035