(57)【要約】【課題】書き込み途中に電源の遮断や記録媒体の抜去等があったときでも書き込み要求の範囲外のデータが破壊されない情報処理装置を提供すること。【解決手段】記録媒体への記録データの記録および記録媒体からの記録データの読み出しを制御するアクセス制御部と、記録媒体に出力する記録データをバックアップデータとして一時的に格納する記録データ格納部と、を含み、アクセス制御部は、記録媒体に論理セクタ単位で入力する記録データの記録開始位置および／または記録終了位置が、記録媒体に対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、検証の結果、物理セクタの区分位置と異なる場合には記録データ格納部に記録媒体への記録対象となる記録データを格納し、格納が完了すると記録媒体に当該記録データを出力することを特徴とする、情報処理装置が提供される。【選択図】図１１
2009059444.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体にデータを記録する情報処理装置であって、
前記記録媒体への記録データの記録および前記記録媒体からの記録データの読み出しを制御するアクセス制御部と；
前記記録媒体に出力する記録データをバックアップデータとして一時的に格納する記録データ格納部と；
を含み、
前記アクセス制御部は、
前記記録媒体に論理セクタ単位で入力する記録データの記録開始位置および／または記録終了位置が、前記記録媒体に対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、検証の結果、物理セクタの区分位置と異なる場合には前記記録データ格納部に前記記録媒体への記録対象となる記録データを格納し、格納が完了すると記録媒体に当該記録データを出力することを特徴とする、情報処理装置。
【請求項２】
前記アクセス制御部は、前記記録媒体から記録データを読み出す際にエラーが発生した場合に、前記記録データ格納部に有効なバックアップデータが存在しているかどうかを確認することを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記アクセス制御部は、有効なバックアップデータが存在していた場合に、当該バックアップデータを前記記録媒体の本来の格納位置に出力することを特徴とする、請求項２に記載の情報処理装置。
【請求項４】
記録媒体にデータを記録する情報処理方法であって、
前記記録媒体への記録データの記録および前記記録媒体からの記録データの読み出しを制御するアクセス制御ステップと；
前記記録媒体に出力する記録データをバックアップデータとして一時的に格納する記録データ格納ステップと；
を含み、
前記アクセス制御ステップは、
前記記録媒体に論理セクタ単位で入力する記録データの記録開始位置および／または記録終了位置が、前記記録媒体に対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する検証ステップと；
前記検証ステップの検証の結果、物理セクタの区分位置と異なる場合には前記記録データ格納部に前記記録媒体への記録対象となる記録データを格納する格納ステップと；
格納が完了すると記録媒体に当該記録データを出力する出力ステップと；
を含むことを特徴とする、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法に関し、より詳細には、ハードディスクなどを記録媒体としてデータ記録再生処理を行なう構成において、アプリケーションやデバイスドライバの利用するアクセス単位としてのデータ単位と、記録媒体内部の管理するデータ単位とが異なるシステムにおいて適用される情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
デジタルビデオカメラやパーソナルコンピュータ（ＰＣ）、その他の情報処理装置においては、ハードディスク（ＨＤＤ）などの記録媒体（メディア）を利用した情報記録や情報再生処理が行なわれる。記録媒体を利用した情報記録処理や情報再生処理を実行する場合、情報処理装置に内蔵されたアプリケーションが記録データの生成、あるいは再生データの指定を行ない、記録媒体に対応するデバイスドライバを介して、記録媒体に対する記録データの出力、または記録媒体からの再生データの入力を行なう。
【０００３】
例えばアプリケーションやデバイスドライバは、５１２バイト単位のＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）を適用したアクセスを行う。この５１２バイトのＬＢＡアクセス単位がＨＤＤのような記録媒体内部の管理データ単位と一致している場合には問題がないが、一致しないシステムにおいて問題が発生することがある。
【０００４】
具体的には、例えばＨＤＤ内部のアクセス単位として、Ｎ個の論理セクタ（Ｌｏｇｉｃ
ａｌ  Ｓｅｃｔｏｒ）をひとまとめにした物理セクタ（Ｐｈｙｓｉｃａｌ  Ｓｅｃｔｏｒ
）を利用するものがある。ＨＤＤ内部の管理単位を大きくすることで、例えばＥＣＣ（Ｅ
ｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）の設定単位を大きくして処理効率を高め、
ＥＣＣデータの削減により記憶領域の効率的利用が図られるといった効果がある。
【０００５】
このように、上位層（アプリケーションやデバイスドライバ）のデータアクセス単位と、記録媒体の内部で制御されるデータアクセス単位が異なり、記録媒体のアクセス単位が、上位層のアクセス単位より大きな設定である場合、例えば、上位層から記録媒体に対してあるデータ記録または再生領域の指定がなされた場合には、記録媒体の内部では、指定領域と一括管理されているデータ領域についても、まとめて読み出しや記録処理が実行されることになる。
【０００６】
例えば、アプリケーションが、記録媒体に記録されたデータを読み出して更新する場合、アプリケーション側の更新処理は論理セクタ単位で実行するが、記録媒体の内部では、一旦、更新予定のセクタデータを含む記録媒体のアクセス単位、すなわち物理セクタ単位でデータが読み取られて記録媒体の内部のメモリに一時的に保持され、アプリケーションからデバイスドライバ経由で入力した更新データ部分のみが更新されて再記録されることになる。
【０００７】
このような処理において、記録媒体内部で物理セクタの読み取りエラーが発生した場合を想定する。更新された論理セクタのデータはアプリケーションによって更新されたデータに置き換えられて、例えば記録媒体の非常用データ記録領域であるスペア領域に記録される。しかし、更新された論理セクタと同じ物理セクタに含まれる非更新セクタデータについては、記録媒体内部で発生した読み取りエラーによって、記録媒体内部のメモリに一時的に保持されたダミーデータがそのままスペア領域に記録されてしまうことになり、その非更新データは消失したと同様の事態が発生してしまう。この場合、上位のアプリケーションやデバイスドライバは、データ消失について全く検知できない状態となる。
【０００８】
そこで、デバイスドライバより上位のファイルシステムでは、ＥＣＣを管理するセクタの数を意識することなく記録データを制御し、デバイスドライバにおいて、ＥＣＣを管理するセクタの数に基づいて記録媒体に記録することで、データ消失を防ごうとする技術がある。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、この様にデータを制御する場合であっても、ＬＢＡアクセス単位が記録媒体内部の管理データ単位と一致していない場合において、物理セクタに記録する最中に電源の遮断や記録媒体の抜去があると、書き込み要求の範囲外のデータが破壊されてしまう問題があった。
【００１０】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、ＬＢＡアクセス単位が記録媒体内部の管理データ単位と一致していない場合において、書き込み途中に電源の遮断や記録媒体の抜去等があったときでも書き込み要求の範囲外のデータが破壊されない、新規かつ改良された情報処理装置および情報処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のある観点によれば、記録媒体にデータを記録する情報処理装置であって、記録媒体への記録データの記録および記録媒体からの記録データの読み出しを制御するアクセス制御部と、記録媒体に出力する記録データをバックアップデータとして一時的に格納する記録データ格納部と、を含み、アクセス制御部は、記録媒体に論理セクタ単位で入力する記録データの記録開始位置および／または記録終了位置が、記録媒体に対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、検証の結果、物理セクタの区分位置と異なる場合には記録データ格納部に記録媒体への記録対象となる記録データを格納し、格納が完了すると記録媒体に当該記録データを出力することを特徴とする、情報処理装置が提供される。
【００１２】
かかる構成によれば、アクセス制御部は記録媒体への記録データの記録および記録媒体からの記録データの読み出しを制御し、記録データ格納部は記録媒体に出力する記録データをバックアップデータとして一時的に格納する。そして、アクセス制御部は、記録媒体に論理セクタ単位で入力する記録データの記録開始位置および／または記録終了位置が、記録媒体に対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、検証の結果、物理セクタの区分位置と異なる場合には記録データ格納部に記録媒体への記録対象となる記録データを格納し、格納が完了すると記録媒体に当該記録データを出力する。その結果、ＬＢＡアクセス単位が記録媒体内部の管理データ単位と一致していない場合において、書き込み途中に電源の遮断や記録媒体の抜去等があったときでも書き込み要求の範囲外のデータが破壊されずに保護することができる。
【００１３】
アクセス制御部は、記録媒体から記録データを読み出す際にエラーが発生した場合に、記録データ格納部に有効なバックアップデータが存在しているかどうかを確認してもよい。その結果、バックアップデータの存在を確認することで、本来読み出されるべきデータを記録データ格納部から読み出すことができる。
【００１４】
アクセス制御部は、有効なバックアップデータが存在していた場合に、当該バックアップデータを記録媒体の本来の格納位置に出力してもよい。その結果、その後記録媒体の当該格納位置に対するアクセスがあった場合に、本来読み出されるべきデータを記録媒体から読み出しエラーにならずに読み出すことができる。
【００１５】
また、上記課題を解決するために、本発明の別の観点によれば、記録媒体にデータを記録する情報処理方法であって、記録媒体への記録データの記録および記録媒体からの記録データの読み出しを制御するアクセス制御ステップと、記録媒体に出力する記録データをバックアップデータとして一時的に格納する記録データ格納ステップと、を含み、アクセス制御ステップは、記録媒体に論理セクタ単位で入力する記録データの記録開始位置および／または記録終了位置が、記録媒体に対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する検証ステップと、検証ステップの検証の結果、物理セクタの区分位置と異なる場合には記録データ格納部に記録媒体への記録対象となる記録データを格納する格納ステップと、格納が完了すると記録媒体に当該記録データを出力する出力ステップと、を含むことを特徴とする、情報処理方法が提供される。
【００１６】
かかる構成によれば、アクセス制御ステップは記録媒体への記録データの記録および記録媒体からの記録データの読み出しを制御し、記録データ格納ステップは記録媒体に出力する記録データをバックアップデータとして一時的に格納する。そして、検証ステップは、記録媒体に論理セクタ単位で入力する記録データの記録開始位置および／または記録終了位置が、記録媒体に対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、出力ステップは、検証ステップでの検証の結果、物理セクタの区分位置と異なる場合には記録データ格納部に記録媒体への記録対象となる記録データを格納し、格納が完了すると記録媒体に当該記録データを出力する。その結果、ＬＢＡアクセス単位が記録媒体内部の管理データ単位と一致していない場合において、書き込み途中に電源の遮断や記録媒体の抜去等があったときでも書き込み要求の範囲外のデータが破壊されずに保護することができる。
【発明の効果】
【００１７】
以上説明したように本発明によれば、ＬＢＡアクセス単位が記録媒体内部の管理データ単位と一致していない場合において、書き込み要求の範囲外のデータが破壊されない、新規かつ改良された情報処理装置および情報処理方法を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１９】
まず、上位層（アプリケーションやデバイスドライバ）のアクセス単位と、記録媒体のアクセス単位の差に基づく問題点について、図１〜図３を参照して説明する。以下においては、上位層（アプリケーションやデバイスドライバ）からの記録媒体へのアクセスが、５１２バイト単位のＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）指定
のアクセス、すなわち論理セクタ（Ｌｏｇｉｃａｌ  Ｓｅｃｔｏｒ）単位で実行され、ＨＤＤ等の記録媒体内部のアクセス単位が、上記論理セクタＮ個分の物理セクタ（Ｐｈｉｓｉｃａｌ  Ｓｅｃｔｏｒ）単位で実行される例について説明する。なお、Ｎは２以上である。
【００２０】
図１は、デバイスドライバのアクセス単位である論理セクタ（ＬＢＡ）と、記録媒体（例えばＨＤＤ）のアクセス単位である物理セクタとの対応例を示す説明図である。図１には、（ａ）論理セクタ、（ｂ）物理セクタを示している。本例では、物理セクタは２つの論理セクタからなる。すなわち１つの物理セクタに含まれる論理セクタ数Ｎは、Ｎ＝２である。
【００２１】
ここで、Ｎは、Ｎ＝（物理セクタ）÷（論理セクタ）によって算出される値であり、ＨＤＤ内部で実際にひとまとめとして管理される論理セクタ数を意味する。
【００２２】
また、図１に示す論理セクタ（ＬＢＡ＝６０）の隣が１つ空いて（Ｘ）が記入され、その後に論理セクタ（ＬＢＡ＝６１）が設定されている。このように、論理セクタと物理セクタの対応関係が変化するポイントが設定される場合がある。すなわち、位相が変化するＬＢＡであり、この位相変化点の論理セクタ（ＬＢＡ）をＸとする。図１に示す例では、Ｘ＝６１となる。
【００２３】
ＬＢＡ＝０〜Ｘ−１の領域では、物理セクタナンバ＝論理セクタナンバ（ＬＢＡ）×Ｍ÷Ｎ（Ｍ≧０）という関係が成立するが、ＬＢＡ＝Ｘ〜ＭＡＸの領域では、その関係が成立しない。例えば、図に示すように１物理セクタに含まれる論理セクタ数ＮがＮ＝２の場合、物理セクタナンバ＝（論理セクタナンバ（ＬＢＡ）＋１）×Ｍ÷Ｎ（Ｍ≧０）という関係になる。
【００２４】
図１に示している例は、Ｎ＝２であり、例えば、ＬＢＡ＝２に格納されている情報とＬＢＡ＝３に格納されている情報がＨＤＤ内部ではひとまとめに管理され、物理セクタナンバ＝１の情報として管理される。データの記録または再生処理において、ＨＤＤ内部では、物理セクタ単位で記録媒体からのデータ読み取りまたは記録媒体に対するデータ書き込みが実行される。
【００２５】
また、図１は、位相変化点ＸがＸ＝６１の場合の例であり、ＬＢＡ＝０〜６０までの領域は、ＬＢＡの偶数アドレス（０，２，４，６・・・）が、物理セクタの先頭と揃っているが、ＬＢＡ＝６１以降の領域は、ＬＢＡの奇数アドレス（６１，６３，６５・・・）が、物理セクタの先頭と揃うことになる。
【００２６】
次に、図２および図３を参照して、上位層（アプリケーションやデバイスドライバ）のアクセス単位（論理セクタ（ＬＢＡ））と、記録媒体のアクセス単位（物理セクタ）が異なる場合のアクセス処理における問題点について説明する。
【００２７】
図２には、図１と同様、１つの物理セクタに含まれる論理セクタ数ＮがＮ＝２、位相変換点ＸがＸ＝６１であるセクタ対応の一部を示している。
【００２８】
デバイスドライバは、ＨＤＤに対して、書き込み開始ＬＢＡ＝７７、書き込みセクタ数＝１と指定して書き込み要求を発行した場合、ＨＤＤ内部では、図２に示す通り、以下の流れでデータ書き込み処理が実行される。
【００２９】
まず、物理セクタナンバ＝３９のＬＢＡ＝７７〜７８の内容をＨＤＤ内部バッファに読み出す（ステップＳ１１）。次に、ＨＤＤ内部のバッファでＬＢＡ＝７７のデータを更新する。この更新データは上位のデバイスドライバから供給される（ステップＳ１２）。最後に、更新後のＬＢＡ＝７７〜７８の内容を、物理セクタナンバ＝３９の内容として書き込む（ステップＳ１３）。
【００３０】
このような処理によって、更新データの記録が実行される。この処理から理解されるようにＬＢＡ＝７８のデータは、単にＨＤＤ内部でＨＤＤ内部のバッファに読み出され、再書き込みがなされるのみとなる。
【００３１】
次に、図３を参照して、図２の処理例における問題点について説明する。図３は、図２の処理例において、ＨＤＤ内部での処理であるステップＳ１１のＨＤＤ内部バッファへのデータ読み出し処理においてエラー発生した場合の処理について説明する説明図である。ＨＤＤ内部では、図３に示す通り、以下の流れでハードディスクに対するデータ書き込み処理が実行される。
【００３２】
物理セクタナンバ＝３９のＬＢＡ＝７７〜７８の内容をＨＤＤ内部バッファに読み出す（ステップＳ２１）。この時点で、読み出し処理に失敗したとする。すると、ＨＤＤ内部のバッファには、読み出しエラーのため、物理セクタナンバ＝３９のＬＢＡ＝７７〜７８に対応するダミーデータが設定され、このダミーデータに対して、ＬＢＡ＝７７のデータを更新する（ステップＳ２２）。この更新データは上位のデバイスドライバから供給される。最後に、更新後のＬＢＡ＝７７〜７８の内容を、物理セクタナンバ＝３９の内容として、読み出しエラーの発生時に利用される領域であるスペア領域（交替セクタ）にデータが書き込まれる（ステップＳ２３）。
【００３３】
上記の流れでデータ更新がなされると、スペア領域（交替セクタ）に書き込まれるデータは、ＬＢＡ＝７７がデバイスドライバから提供された更新データ、ＬＢＡ＝７８がＨＤＤ内部の設定したダミーデータとなる。すなわち、更新対象のＬＢＡ以外のＬＢＡ＝７８のデータは消失してしまうという事態が発生することになる。このような状態が発生しても上位のアプリケーションやデバイスドライバは、ＬＢＡ＝７８のデータが消失したことを検出できず、正常な記録がなされたものと判断してしまう。
【００３４】
本実施形態においては、図３を参照して説明したようなデータ消失の発生を防止する構成を提案する。以下、本実施形態にかかる情報処理装置および情報処理方法について説明する。
【００３５】
本発明の一実施形態にかかる情報処理装置は、図３のような状況に陥ることを回避するため、上位層、例えばアプリケーションまたはデバイスドライバにおいて、少なくとも、１物理セクタに含まれる論理セクタ数Ｎを意識して書き込み要求を発行する。なお、位相変化点を有するシステムでは、位相変化点Ｘについても考慮した処理を行うことが好ましい。
【００３６】
デバイスドライバによって実行される記録媒体（例えばＨＤＤ）に対する書き込み要求の発行処理は、少なくとも１物理セクタに含まれる論理セクタ数Ｎを意識した書き込み要求の発行処理として実行される。具体的には、記録媒体の内部バッファに対する記録媒体からのデータ読み出し、更新、再書き込み処理を必要とする処理が発生するか否かを判定して、書き込み要求を行う。
【００３７】
記録媒体の内部バッファに対する記録媒体からのデータ読み出し、更新、再書き込み処理は、図２、図３のフローに示す処理であり、リードモディファイライト（ＲＭＷ：Ｒｅａｄ−Ｍｏｄｉｆｙ−Ｗｒｉｔｅ）処理と呼ばれる。このリードモディファイライト処理が発生する場合、デバイスドライバ自身のアクセス可能なメモリ領域に、記録媒体の内部バッファに対する記録媒体からのデータ読み出しデータを書き込み、デバイスドライバのアクセス可能なメモリ領域において物理セクタ単位で、データ読み出し、更新、再書き込み処理を実行する。
【００３８】
具体的な処理例について、図４以下を参照して説明する。ＲＭＷ処理は、デバイスドライバのデータアクセス開始位置または終了位置の境界が、記録媒体のアクセス単位である物理セクタの境界と一致しない場合に実行する。すなわち、この場合には、デバイスドライバ自身のアクセス可能なメモリ領域（デバイスドライバ対応のバッファ領域）に、記録媒体の内部バッファに対する記録媒体からのデータ読み出しデータを書き込み、デバイスドライバのアクセス可能なメモリ領域において物理セクタ単位で、データ読み出し、更新および再書き込み処理を実行する。
【００３９】
図４の（Ａ）〜（Ｃ）は、デバイスドライバのデータアクセス態様に応じたＲＭＷ処理の要否について説明する説明図である。
【００４０】
図４の（Ａ）は、デバイスドライバのデータアクセス開始位置と、終了位置の２つの境界の両者とも、記録媒体のアクセス単位である物理セクタの境界と一致する場合の例であり、この場合は、ＲＭＷ処理は不要となる。
【００４１】
図４の（Ｂ）は、デバイスドライバのデータアクセス開始位置と、終了位置の２つの境界のいずれかが、記録媒体のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、ＲＭＷ処理が必要となる。
【００４２】
図４の（Ｂ−ａ）は、デバイスドライバのデータアクセス開始位置が、記録媒体のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、データアクセス開始位置の論理セクタナンバの前の論理セクタナンバを含む１つの物理セクタを処理対象としたＲＭＷ処理が必要となる。
【００４３】
図４の（Ｂ−ｂ）は、デバイスドライバのデータアクセス終了位置が、記録媒体のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、データアクセス終了位置の論理セクタナンバの後の論理セクタナンバを含む１つの物理セクタを処理対象としたＲＭＷ処理が必要となる。
【００４４】
図４の（Ｃ）は、デバイスドライバのデータアクセス開始位置と、終了位置の２つの境界のいずれもが、記録媒体のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、アクセス開始位置では、データアクセス開始位置の論理セクタナンバの前の論理セクタナンバを含む１つの物理セクタ、アクセス終了位置では、データアクセス終了位置の論理セクタナンバの後の論理セクタナンバを含む１つの物理セクタを処理対象としたＲＭＷ処理が必要となる。
【００４５】
図５は、図４の（Ａ）〜（Ｃ）の各書き込み態様に応じたＲＭＷ処理の要否をデータアクセス開始位置と終了位置に区分して示す説明図である。データアクセスを実行するデバイスドライバ（アプリケーションでもよい）は、データアクセスを実行する場合のアドレス情報（ＬＢＡ）に基づいて、図４、図５に示す（Ａ）、（Ｂ−ａ）、（Ｂ−ｂ）、（Ｃ）のいずれに対応するかを判定して、ＲＭＷ処理の要否を判定して、必要な場合はＲＭＷ処理を実行する。
【００４６】
デバイスドライバにおいて、アドレス情報（ＬＢＡ）に基づくＲＭＷ要否判定処理は、以下のようにして実行される。
【００４７】
まず、書き込み開始ＬＢＡと書き込みセクタ数がアプリケーションにおいて決定される。さらに、デバイスドライバは、書き込み終了ＬＢＡを、書き込み終了ＬＢＡ＝書き込み開始ＬＢＡ＋書き込みセクタ数−１と算出する。
【００４８】
さらに、１物理セクタに含まれる論理セクタ数Ｎと、位相変換点Ｘとを入力して、以下のアルゴリズムに従ったＲＭＷ要否判定処理を実行する。
ｉｆ（書き込み開始ＬＢＡ＜Ｘ）｛
判別基準となるＬＢＡ＝０；
｝ｅｌｓｅ｛
判別基準となるＬＢＡ＝Ｘ；
｝
ｉｆ（書き込み開始ＬＢＡ−判別基準ＬＢＡ）％Ｎ）｛
データ先頭に対して、ＲＭＷ（リードモディファイライト）が必要；
｝ｅｌｓｅ｛
データ先頭に対して、ＲＭＷ（リードモディファイライト）は不要；
｝
ｉｆ（書き込み終了ＬＢＡ−判別基準ＬＢＡ）％Ｎ）｛
データ終端に対して、ＲＭＷ（リードモディファイライト）が必要；
｝ｅｌｓｅ｛
データ終端に対して、ＲＭＷ（リードモディファイライト）は不要；
｝
【００４９】
このように、デバイスドライバは、書き込み開始ＬＢＡ、書き込みセクタ数、１物理セクタに含まれる論理セクタ数Ｎ、および位相変換点Ｘに基づいて、書き込み終了ＬＢＡ＝書き込み開始ＬＢＡ＋書き込みセクタ数−１として書き込み終了ＬＢＡを算出し、上記アルゴリズムに従ったＲＭＷ要否判定処理を実行する。この判定処理によってＲＭＷ処理が必要とされた場合は、デバイスドライバからアクセス可能なメモリ（バッファ）に物理セクタ単位で記録媒体からのデータ読み取り、更新、再書き込み処理を伴うＲＭＷ処理を実行する。
【００５０】
ここで、図４、図５に示す（Ａ），（Ｂ−ａ），（Ｂ−ｂ），（Ｃ）の各ケースにおける具体的な処理例について説明する。
【００５１】
図４の（Ａ）は、デバイスドライバのデータアクセス開始位置と、終了位置の２つの境界の両者とも、記録媒体のアクセス単位である物理セクタの境界と一致する場合の例であり、この場合は、ＲＭＷ処理は不要となる。
【００５２】
図４の（Ｂ）は、デバイスドライバのデータアクセス開始位置と、終了位置の２つの境界のいずれかが、記録媒体のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、ＲＭＷ処理が必要となる。
【００５３】
図４の（Ｂ−ａ）は、デバイスドライバのデータアクセス開始位置が、記録媒体のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、データアクセス開始位置の論理セクタナンバの前の論理セクタナンバを含む１つの物理セクタを処理対象としたＲＭＷ処理が必要となる。
【００５４】
この図４の（Ｂ−ａ）のケースにおけるＲＭＷ処理を含むデータ記録処理について、図６および図７を参照して説明する。図６の（１）は、図４（Ｂ−ａ）と同様の説明図であり、データアクセス開始位置に相当する論理セクタナンバの前の論理セクタナンバを含む１つの物理セクタを処理対象としたＲＭＷ処理が必要となることを示している。
【００５５】
図６（２）は、このリードモディファイライト（ＲＭＷ）を実行する際のデバイスドライバにおけるメモリ各のデータコピー処理を説明する説明図である。デバイスドライバは、データ記録等の処理に際して記録データをアプリケーションから受領する。この受領データがデバイスドライバのアクセス可能な第１のメモリ領域に記録される。このデータが図６の（２）の（Ｍ１）第１メモリ領域に示すデータである。このデータは、図６の（１）に示すデータと同じである。
【００５６】
デバイスドライバはこの受領データから、ＲＭＷ処理が必要となるデータを選択して、（Ｍ２）ＲＭＷ用メモリ（バッファ）に記録する。このＲＭＷ用メモリ（バッファ）には、記録媒体を制御する制御部から受領した物理セクタ単位のデータが先行して記録され、その後、この物理セクタに対応する論理セクタデータが、（Ｍ１）第１メモリ領域から選択されてメモリ間コピーを実行し、記録媒体の制御部から受領した物理セクタ単位のデータの少なくとも一部のセクタデータが上書されて更新される。この更新データを含む物理セクタ単位のデータが記録媒体に出力される。
【００５７】
デバイスドライバは、このようにＲＭＷ処理の対象とされるデータ（図６の（１）および（２）に示す［Ｄ１］）についてはこのようなＲＭＷ用メモリを利用した処理を実行し、その他のデータ、すなわち、ＲＭＷ処理対象とならないデータ（図６の（１）に示す［Ｄ２］）は、ＲＭＷ用メモリを経由せず、（Ｍ１）第１メモリ領域から、記録媒体に直接出力する。
【００５８】
デバイスドライバにおける処理シーケンスについて、図７を参照して説明する。まず、デバイスドライバは、ＲＭＷ処理の読み出し用の論理セクタアドレス（ＬＢＡ）を決定する（ステップＳ５１）。このＬＢＡは、図６の（２）の、（Ｍ２）ＲＭＷ用メモリ（バッファ）に示すＬＢＡ１に相当する。すなわち物理セクタ単位の開始位置に対応する論理セクタアドレス（ＬＢＡ）を決定する。次に、決定したＬＢＡ（ＬＢＡ１）から、Ｎセク
タ分のデータを記録媒体から読み出す（ステップＳ５２）。Ｎは、１つの物理セクタに含まれる論理セクタ数である。例えば、図６に示す例ではＮ＝２であり、２つの論理セクタ分のデータ、すなわち１つの物理セクタ分のデータがメデイアから読み出され、（Ｍ２）ＲＭＷ用メモリ（バッファ）に記録される。
【００５９】
次に、（Ｍ２）ＲＭＷ用メモリ（バッファ）に記録された１つの物理セクタデータに対して、アプリケーションから受領したデータに基づく更新処理を実行する（ステップＳ５３）。この処理は、図６の（２）に示すメモリ間コピー処理として実行される。次に、更新されたＲＭＷ用バッファの内容をメデイアに記録する（ステップＳ５４）。その後、ＲＭＷ処理対象以外のデータ、すなわち図６の（１）に示すデータ［Ｄ２］を記録媒体に記録する（ステップＳ５５）。このような処理によってデータ記録処理が行なわれる。
【００６０】
次に、図４の（Ｂ−ｂ）のケースにおけるＲＭＷ処理を含むデータ記録処理について図８および図９を参照して説明する。図８の（１）は、図４の（Ｂ−ｂ）と同様の図であり、データアクセス終了位置に相当する論理セクタナンバの後の論理セクタナンバを含む１つの物理セクタを処理対象としたＲＭＷ処理が必要となることを示している。
【００６１】
図８の（２）は、このＲＭＷ処理を実行する際のデバイスドライバにおけるメモリ各のデータコピー処理を説明する図である。デバイスドライバは、データ記録等の処理に際して記録データをアプリケーションから受領する。この受領データがデバイスドライバのアクセス可能な第１のメモリ領域に記録される。このデータが図８の（２）の（Ｍ１）第１メモリ領域に示すデータである。このデータは、図８の（１）に示すデータと同じである。
【００６２】
デバイスドライバはこの受領データから、ＲＭＷ処理が必要となるデータを選択して、（Ｍ２）ＲＭＷ用メモリ（バッファ）に記録する。このＲＭＷ用メモリ（バッファ）には、記録媒体の制御部から受領した物理セクタ単位のデータが先行して記録され、その後、この物理セクタに対応する論理セクタデータが、（Ｍ１）第１メモリ領域から選択されてメモリ間コピーを実行し、記録媒体の制御部から受領した物理セクタ単位のデータの少なくとも一部のセクタデータが上書されて更新される。この更新データを含む物理セクタ単位のデータが記録媒体に出力される。
【００６３】
デバイスドライバは、このようにＲＭＷ処理の対象とされるデータ（図８の（１）および（２）に示す［Ｄ１］）については、このようなＲＭＷ用メモリを利用した処理を実行し、その他のデータ、すなわち、ＲＭＷ処理対象とならないデータ（図８の（１）に示す［Ｄ２］）は、ＲＭＷ用メモリを経由せず、（Ｍ１）第１メモリ領域から、直接、記録媒体に出力する。
【００６４】
デバイスドライバにおける処理シーケンスについて図９を参照して説明する。まず、デバイスドライバは、ＲＭＷ処理の対象とならないデータ、すなわち図８に示すデータ［Ｄ２］をメディアに記録する（ステップＳ７１）。次に、ＲＭＷ処理の読み出し用の論理セクタアドレス（ＬＢＡ）を決定する（ステップＳ７２）。このＬＢＡは、図８の（２）の（Ｍ２）ＲＭＷ用メモリ（バッファ）に示すＬＢＡ１に相当する。すなわち物理セクタ単位の開始位置に対応する論理セクタアドレス（ＬＢＡ）を決定する。次に、決定したＬＢＡ（ＬＢＡ１）から、Ｎセクタ分のデータを記録メディアから読み出す（ステップＳ７３）。Ｎは、１つの物理セクタに含まれる論理セクタ数である。例えば図８に示す例ではＮ＝２であり、２つの論理セクタ分のデータ、すなわち１つの物理セクタ分のデータがメデイアから読み出され、（Ｍ２）ＲＭＷ用メモリ（バッファ）に記録される。
【００６５】
次に、（Ｍ２）ＲＭＷ用メモリ（バッファ）に記録された１つの物理セクタデータに対して、アプリケーションから受領したデータに基づく更新処理を実行する（ステップＳ７４）。この処理は、図８の（２）に示すメモリ間コピー処理として実行される。最後に、更新されたＲＭＷ用バッファの内容をメデイアに記録する（ステップＳ７５）。このような一連の処理によってデータ記録処理が行われる。
【００６６】
なお、図４、図５の（Ｃ）のケースは、図６、図７を参照して説明したデータ記録開始位置におけるＲＭＷ処理と、データ記録終了位置におけるＲＭＷ処理の両方の処理を実行することになる。
【００６７】
次に、本発明の一実施形態にかかる情報処理装置の構成例および処理例について説明する。本発明の一実施形態にかかる情報処理装置は、情報記録媒体に対するデータ記録、または情報記録媒体からのデータ再生処理を行なう装置である。情報処理装置は例えばデジタルビデオカメラ、ＰＣなどの装置である。
【００６８】
情報処理装置の構成について、図１０、図１１を参照して説明する。図１０は、ハードディスク等の情報記録媒体２８４をアクセスしてデータ記録あるいはデータ読み取りを実行する情報処理装置の構成を処理階層別に示す説明図である。図１０に示すように、ハードディスク等の情報記録媒体２８４に対してデータを記録したり、情報記録媒体２８４に記録されているデータを読み出して利用したりする場合には、ユーザからの処理要求を受け付け、またユーザインタフェースを提供するなどのユーザとの窓口として最上層にアプリケーション２８１が存在する。アプリケーション２８１の下層に情報記録媒体２８４上のファイルを管理するためのファイルシステム（ファイル管理プログラム）２８２と、ファイルシステムからの情報に基づいて情報記録媒体２８４を制御するデバイスドライバ２８３と、が存在する。
【００６９】
情報記録媒体２８４に対してデータを記録、または情報記録媒体２８４からデータを再生する場合には、例えばアプリケーション２８１を介する要求がファイルシステム２８２、デバイスドライバ２８３に伝えられ、ファイルシステム２８２、デバイスドライバ２８３の機能によりデータの書き込み、再生が実行される。従来と同様の処理によって、ファイルシステム２８２−デバイスドライバ２８３−情報記録媒体（ハードディスク）２８４といった構成で処理は行われる。
【００７０】
データ記録を行う場合に、複数の異なるファイルを継続記録ファイルとして適用する場合は、ファイルシステムによって適用されるファイルアロケーションテーブル（ＦＡＴ）に対する特殊コードの記録を行なう。また、データ再生を実行する場合に複数の異なるファイルを継続記録ファイルとして適用する場合は、ＦＡＴからの特殊コードの検出を条件として、ファイルの切り替えを実行する。
【００７１】
図１０に示すシステム構成中のファイルシステムをさらに詳細に示した構成図を図１１に示す。図１１は、図１０と同様、情報記録媒体に対するデータ記録および情報記録媒体からのデータ取得、再生処理を実行する情報処理装置のシステム構成を示す説明図であり、ハードディスクやフラッシュメモリ等の、本発明の記録媒体の一例であるメディアＡ３６１、メディアＢ３６２に対してデータを記録したり、記録媒体に記録されているデータを読み出して利用したりする処理を実行する情報処理装置のシステム構成を示している。
【００７２】
図１１にも、図１０と同様、アプリケーション３００の下層にメディアＡ３６１、メディアＢ３６２上のファイルを管理するためのファイルシステム（ファイル管理プログラム）３１０とファイルシステム３１０からの情報に基づいてメディアＡ３６１、メディアＢ３６２を制御するデバイスドライバ３５０とを示している。図１１に示す例では２つのメディアＡ３６１、メディアＢ３６２を示している。例えば、図１他を参照して説明した論理セクタ単位と物理セクタ単位が一致しないハードディスクと、その他のフラッシュメモリなどの記録媒体である。デバイスドライバ３５０は、記録デバイスであるメディアＡ３６１、メディアＢ３６２に対応するデバイスドライバ３５１、３５２を有する。
【００７３】
アプリケーション３００、ファイルシステム３１０およびデバイスドライバ３５０は、各構成部の処理に必要なプログラムやパラメータの格納、データ処理におけるワーク領域としてメモリ３７０をアクセスして利用する。例えば、図６および図８を参照して説明した（Ｍ１）第１メモリおよび（Ｍ２）ＲＭＷ用メモリ（バッファ）の領域は、メモリ３７０に設定される。メモリ３７０は、不揮発性のフラッシュメモリを用いることが望ましい。
【００７４】
アプリケーション３００には、メディアＡ３６１、メディアＢ３６２に対するデータ記録処理を実行する記録アプリケーション３０１、メディアＡ３６１、メディアＢ３６２に記録されたデータの再生処理を実行する再生アプリケーション３０２、接続機器による処理を実行するＵＳＢ接続アプリケーション３０３など、処理に応じたアプリケーションが含まれる。ユーザはこれらのアプリケーションを選択して様々な処理を実行することになる。
【００７５】
ファイルシステム３１０は、記録媒体の種別やフォーマット情報などを含む各記憶媒体対応のマウントドライブ情報３１１、３１２を保持し、マウントドライブ情報３１１、３１２に従って、ハードディスク等の情報記録媒体を適用したデータ記録、再生制御を実行する。ファイルシステム３１０は、データ記録再生制御を実行する記録再生制御部３２０と、メディア制御を実行するメディア制御部３３０を有する。記録再生制御部３２０の実行する処理は、メディア非依存型のメディア共通の処理であり、メディア制御部３３０の実行する処理は、メディア依存型の処理である。
【００７６】
記録再生制御部３２０は、ファイルアロケーションテーブル（ＦＡＴ）の記録、参照処理を実行するＦＡＴ制御部３２１と、データ記録位置情報としてのクラスタの決定処理、クラスタ番号に基づく再生位置決定処理を実行するクラスタ制御部３２２と、ファイルに対応する情報を格納したディレクトリエントリ（図３参照）を生成、または参照する処理を実行するディレクトリエントリ制御部３２３を有する。ディレクトリエントリ制御部３２３は、アプリケーション３００からの記憶手段やファイル指定情報に基づいて特定のファイルに対応するディレクトリエントリを取得し、例えばファイル再生の場合は、ディレクトリエントリから先頭クラスタ番号を取得し、クラスタ制御部３２２に提供する。
【００７７】
メディア制御部３３０は、位置算出部３３１を有し、クラスタ制御部３２２の決定するクラスタ情報やＦＡＴのクラスタ連鎖情報に基づいて、デバイスドライバ３５０を制御し、クラスタ番号によってデータ記録、またはデータ再生を実行するディスクの位置を決定し、決定した位置情報に従って、デバイスドライバ３５０を介してデータ記録、または当該ディスク位置からのデータ再生を実行する。
【００７８】
ファイルシステム３１０内のアクセス制御部３４０は、アプリケーションに応じた記憶手段のアクセス制御を行う。アクセス制御部３４０は、メディア非依存型のメディア共通の処理を実行するメディア制御部３３０と、メディア依存型の処理を実行するメディア制御部３３０の双方において、それぞれの処理に応じたアクセス制御を実行する。デバイスドライバ３５１，３５２内にもそれぞれアクセス制御部３５３，３５４があり、これらのアクセス制御部の少なくともいずれかの制御部の制御の下で先に説明したＲＭＷ処理を伴うアクセス制御処理を実行する。
【００７９】
なお、記録メディアであるメディアＡ３６１、メディアＢ３６２内部には、メディアに対するデータの記録処理や再生処理を実行するメディア対応制御部３６３、３６４が構成され、例えばハードディスクによって構成されるメディアＡ３６１のメディア対応制御部３６３は物理セクタ単位でのハードディスクに対するデータアクセスを実行する。
【００８０】
次に、図１２、図１３を参照して、本発明の一実施形態にかかる情報処理装置において実行する、ファイルシステムの起動処理と、デバイスドライバの起動処理シーケンスについて説明する。
【００８１】
起動処理は、情報処理装置の起動時に実行される処理である。まず、図１２は、ファイルシステムの起動処理について説明する流れ図である。まず、初期化処理１として、例えば装着されたメディアの種類の判別、判別したメディアのフォーマット情報の取得処理が実行される（ステップＳ１０１）。次に、不揮発性メモリに予め記録されているアクセス制御情報をファイルシステムのアクセス可能なメモリ領域（例えば図１１に示すＲＡＭの一部）に保持する（ステップＳ１０２）。
【００８２】
不揮発性メモリに予め記録されているアクセス制御情報は、図１２に示すように、先に図１等を参照して説明した、位相変換点Ｘおよび１物理セクタに含まれる論理セクタ数Ｎである。次に、初期化処理２として、上位アプリケーションからのコマンド入力待機状態への最終的な処理が実行される（ステップＳ１０３）。この後、アプリケーションからのコマンドが入力され、入力に従った処理が実行可能となる。
【００８３】
次に、図１３を参照してデバイスドライバの起動処理について説明する。まず、初期化処理１として、例えば装着されたメディアの種類の判別、判別したメディアのフォーマット情報の取得処理が実行される（ステップＳ１２１）。次に、ファイルシステムより受け取ったアクセス制御情報に含まれる、１物理セクタに含まれる論理セクタ数Ｎの値に基づいてＲＭＷ用バッファを確保し、さらに、位相変換点Ｘおよび１物理セクタに含まれる論理セクタ数Ｎの値をデバイスドライバのアクセス可能なメモリ領域（例えば図１１に示すＲＡＭの一部）に保持する（ステップＳ１２２）。
【００８４】
次に、初期化処理２として、上位アプリケーションからのコマンド入力待機状態への最終的な処理が実行される（ステップＳ１２３）。この後、アプリケーションからのコマンドが入力され、入力に従った処理が実行可能となる。
【００８５】
ここで、図２を参照して、デバイスドライバが記録媒体（ＨＤＤ）に対して、書き込み開始ＬＢＡ＝７７、書き込みセクタ数＝１と指定して書き込み要求を発行した場合を考える。このような書き込み要求を行うと、ＨＤＤに対してＲＭＷ処理が行われることになる。このような書き込み要求を発行した場合には、デバイスドライバで処理しても、ＨＤＤの内部で処理しても、更新後のＬＢＡ＝７７〜７８の内容を、新しい物理セクタ＝３９の内容として書き込む。
【００８６】
図１４は、物理セクタにおけるデータとＥＣＣとの関係を示す説明図である。各物理セクタにはデータを記録する領域とＥＣＣを記録する領域とがあるが、例えば物理セクタ＝３９を記録している最中に、電源の遮断やメディアの抜去等が行われると、当該物理セクタにＥＣＣが記録されなくなってしまう。その結果、書き込み要求が行われたＬＢＡ＝７７のデータのみならず、書き込み要求の範囲外であるＬＢＡ＝７８のデータも消失してしまうことになる。
【００８７】
そこで本実施形態では、ＲＭＷ処理が行われる場合には、記録しようとしている内容を、記録しようとする記録媒体とは別の記憶装置にバックアップすることで、電源の遮断やメディアの抜去が行われた場合であってもデータの消失を防ぐことを特徴とする。
【００８８】
図１５は、本発明の一実施形態にかかる、記録しようとする内容をバックアップする処理について説明する流れ図である。まず、デバイスドライバ３５０に対して、メディアへの書き込みを指示する（ステップＳ１３１）。例えば、デバイスドライバ３５０に対して、メディアＡ３６１へのデータの書き込みを指示する。するとデバイスドライバ３５０は、書き込みが指示されたメディアＡ３６１の領域が、記録時にＲＭＷ処理が発生する領域かどうかを判断する（ステップＳ１３２）。
【００８９】
ＲＭＷが発生する領域かどうかは、１物理セクタに含まれる論理セクタ数Ｎおよび位相変換点Ｘから判断することができる。１つの物理セクタに含まれる論理セクタ数ＮがＮ＝２、位相変換点ＸがＸ＝６１の場合に、書き込み開始ＬＢＡ＝７７、書き込みセクタ数＝１と指定して書き込み要求を発行したときは、記録時にＲＭＷ処理が発生する。
【００９０】
ＲＭＷ処理が発生する領域であった場合には、メディアＡ３６１に書き込もうとする内容を、物理セクタ単位で当該メディアＡ３６１以外の記憶装置にバックアップする（ステップＳ１３３）。本実施形態においては、メディアＡ３６１に書き込もうとする内容はメモリ３７０に記録する。そして、書き込もうとする内容を実際にメディアＡ３６１に書き込む（ステップＳ１３４）。なお、ステップＳ１３２での判断の結果、ＲＭＷ処理が発生しない領域であると判断した場合には、そのままステップＳ１３４に移り、書き込もうとする内容を実際にメディアＡ３６１に書き込む。
【００９１】
このように、ＲＭＷ処理が発生する領域に対して記録媒体にデータを記録する場合には、物理セクタ単位でバックアップを取ることで、記録媒体への記録時に電源の遮断やメディアの抜去等が行われて、正常に記録媒体に書き込みたいデータが記録できなかった場合であっても、データの破壊や消去を防ぐことができる。
【００９２】
図１６は、本発明の一実施形態における、バックアップ先の記憶装置のデータ構造の一例を示す説明図である。図１６では、フラッシュメモリを用いたメモリ３７０にデータをバックアップする場合を例に挙げて説明する。
【００９３】
図１６に示した例では、メモリ３７０の消去ブロック論理番号がＮである消去ブロックからバックアップ用のデータを記録する。そして、メモリ３７０にはバックアップ元のＬＢＡ番号とバックアップ先のＬＢＡ番号を記録していく。バックアップ元のＬＢＡ番号は、データの記録対象となる記録媒体（例えばＨＤＤ）のＬＢＡ番号を記録し、バックアップ先のＬＢＡ番号は、メモリ３７０のＬＢＡ番号を記録する。
【００９４】
そして、バックアップ先のＬＢＡ番号で指定されたメモリ３７０の領域から、実際にバックアップの対象となるデータを記録していく。このように記録すると、バックアップ先のＬＢＡ番号を参照することでバックアップデータを取得することが可能となる。
【００９５】
図１７は、本発明の一実施形態における、メモリ３７０（フラッシュメモリ）からバックアップデータを読み出す方法について説明する流れ図である。まず、デバイスドライバ３５０に対してメディアＡ３６１からの読み出しを指示する（ステップＳ１４１）。ここでは、デバイスドライバ３５０に対して読み出し開始ＬＢＡ＝７７、読み出しセクタ数＝１と指定してメディアＡ３６１からの読み出し要求を発行すると仮定する。
【００９６】
次に、指定された領域からのデータの読み出しに失敗したかどうかを判断する（ステップＳ１４２）。失敗しなかった場合には、指定された領域からのデータの読み出しは正常終了する。一方、指定された領域からのデータの読み出しに失敗した場合には、メモリ３７０に有効なバックアップデータが存在するかどうかを確認する（ステップＳ１４３）。
【００９７】
有効なバックアップデータがメモリ３７０に存在していれば、メモリ３７０からバックアップデータを読み出し（ステップＳ１４４）、正常終了とする。一方、有効なバックアップデータがメモリ３７０に存在していない場合にはエラー終了とする。
【００９８】
このように、メモリ３７０にメディアＡ３６１に記録すべきデータをバックアップしておくことで、メディアＡ３６１からデータの読み出しに失敗した場合であっても、メモリ３７０からバックアップデータを読み出すことができるので、データの破壊や消失を防ぐことができる。
【００９９】
なお、メモリ３７０からバックアップデータを読み出した後に、デバイスドライバ３５０が読み出しを指定されたメディアＡ３６１の領域に、当該バックアップデータを書き戻してもよい。メディアＡ３６１にバックアップデータを書き戻すことで、次に当該領域の読み出しを試みた場合に、データ読み出しに失敗せずに、メディアＡ３６１からデータを読み出すことができる。
【０１００】
次に、上述した処理を実行する情報処理装置の構成例として、デジタルビデオカメラと、ＰＣの装置構成例について、図１８および図１９を参照して説明する。
【０１０１】
まず、図１８を参照してデジタルビデオカメラの構成例について説明する。デジタルビデオカメラは、画像を撮像して、撮像することにより得た画像データを、ドライブ４３２を介して磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の各種情報記録媒体に記録する撮像モードと、画像入出力部４１４や音声入出力部４１６あるいは通信部４３１を通じて供給を受けたデータを記録媒体に記録したり、記録媒体に記録されているデータを再生したりするＶＴＲモードとを備えたものである。
【０１０２】
撮像モードは、動画を撮像すると共に、これと同時に収音するようにした音声とを記録媒体に記録する動画撮像モードと、静止画を撮像する静止画撮像モードとを備えている。また、ＶＴＲモード時においては、記録ボタンスイッチなどによって構成される操作入力部４２０を操作することにより供給されるデータの記録が行われるようにされ、再生ボタンスイッチを操作することにより記録媒体に記録されている目的とするデータを再生することができる。
【０１０３】
図１８に示すように、デジタルビデオカメラは、光学レンズ部４１１、光電変換部４１２、カメラ機能制御部４０２、画像信号処理部４１３、画像入出力部４１４、液晶ディスプレイ４１５、音声入出力部４１６、音声処理部４１７、通信部４３１、制御部（ＣＰＵ）４０１、内蔵メモリ（ＲＡＭ）４１８、内蔵メモリ（ＲＯＭ）４１９、操作入力部４２０、情報記録媒体に対するドライブ４３２、さらに、各構成部に対する電力供給を行なう電源４４１を備えたものである。
【０１０４】
制御部（ＣＰＵ）４０１は、ＲＯＭ４１９に格納された各種の処理プログラムに従って処理を実行する。ＲＡＭ４１８は、各処理において途中結果を一時記憶するなど、主に作業領域として用いられる。先に、図６、図８を参照して説明した（Ｍ１）第１メモリ、（Ｍ２）ＲＭＷ用メモリなどが設定される。
【０１０５】
操作入力部４２０は、動画撮影モード、静止画撮影モード、ＶＴＲモードなどの動作モードを切り換えるモード切り換えキー、静止画の撮影のためのシャッターキー、動画を撮影するための撮影開始キー、録画キー、再生キー、停止キー、早送りキー、早戻しキーなどの種々の操作キーや機能キーなどを備え、ユーザからの操作入力を受け付けて、受け付けた操作入力に応じた電気信号を制御部（ＣＰＵ）４０１に供給する。
【０１０６】
制御部（ＣＰＵ）４０１は、ユーザからの操作入力に応じて、目的とする処理を行うためのプログラムをＲＯＭ４１９から読み出して実行し、各部を制御することによって、ユーザからの指示に応じた処理の制御を行う。デジタルビデオカメラは、情報記録媒体として、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の各種情報記録媒体を装着可能であり、これらの情報記録媒体にドライブ４３２を介して各種の情報を記録し、また、これらの情報記録媒体に記録された情報を再生する。磁気ディスクとしてのハードディスクは例えば先に図１を参照して説明したような設定を有している。
【０１０７】
次に、図１９を参照して、上述した処理を実行する情報処理装置の一例としてのＰＣのハードウェア構成例について説明する。ＣＰＵ５０１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に対応する処理や、上述の実施例において説明したデータ記録、あるいはデータ再生処理などを実行するデータ処理部として機能する。これらの処理は、情報処理装置のＲＯＭ、ハードディスクなどのデータ記憶部に格納されたコンピュータ・プログラムに従って実行される。
【０１０８】
ＲＯＭ５０２は、ＣＰＵ５０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ５０３は、ＣＰＵ５０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ、前述の図６、図８を参照して説明した（Ｍ１）第１メモリ、（Ｍ２）ＲＭＷ用メモリなどが設定される。これらはＣＰＵバスなどから構成されるホストバス５０４により相互に接続されている。前述した管理情報の記録処理に際しても、ＲＡＭ５０３を作業領域としてデータの更新などが実行される。
【０１０９】
ホストバス５０４は、ブリッジ５０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス５０６に接続されている。キーボード５０８、ポインティングデバイス５０９は、ユーザにより操作される入力デバイスである。ディスプレイ５１０は、液晶表示装置またはＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などから成り、各種情報をテキストやイメージで表示する。
【０１１０】
ドライブ５１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体５２１に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース５０７、外部バス５０６、ブリッジ５０５、およびホストバス５０４を介して接続されているＲＡＭ５０３に供給する。
【０１１１】
接続ポート５１４は、外部接続機器５２２を接続するポートであり、ＵＳＢ，ＩＥＥＥ１３９４等の接続部を持つ。接続ポート５１４は、インタフェース５０７、および外部バス５０６、ブリッジ５０５、ホストバス５０４等を介してＣＰＵ５０１等に接続されている。通信部５１５は、ネットワークに接続され、その他の情報処理装置との通信を実行する。
【０１１２】
なお、図１８、図１９に示す情報処理装置の構成例は、装置の一例であり、情報処理装置は、図１８、図１９に示す構成に限らず、上述した実施例において説明した処理を実行可能な構成であればよい。
【０１１３】
また、本発明は、ＨＤＤ（ハードディスクドライブ）に限らず、前述した１物理セクタに含まれる論理セクタ数Ｎおよび位相変換点Ｘに相当する性質を有するランダムアクセス可能なメディア全般に適用可能である。ファイルシステムの例としては、例えばＦＡＴ１６／３２など、その他のファイルシステムにおいてもて起用可能である。また、着脱可能なメディアに対しても、本体内蔵のメディアと同様にして適用可能なものである。
【０１１４】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１１５】
以上説明したように、本発明の一実施形態によれば、ＬＢＡアクセス単位が記録媒体（例えばＨＤＤ）内部の管理データ単位と一致していない場合において、書き込み要求の範囲外のデータが破壊されないために、書き込みを行うデータを一度記録媒体とは別の記憶装置（例えばＲＡＭ）に記憶した後に記録媒体にバックアップを記録することで、データの破壊や消失を防ぐことができる。また、このように書き込みを行うデータを一度記録媒体とは別の記憶装置に記憶しておくことで、仮に記録媒体においてデータの破壊や消失が起こった場合であっても、バックアップデータを読み出してデータを読み取ることができ、さらに読み取ったデータを記録媒体に書き戻すことでデータの復旧を行うことができる。
【０１１６】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【０１１７】
本発明は、情報処理装置および情報処理方法に適用可能であり、特に、ハードディスクなどを記録媒体としてデータ記録再生処理を行なう構成において、アプリケーションやデバイスドライバの利用するアクセス単位としてのデータ単位と、記録媒体内部の管理するデータ単位とが異なるシステムにおいて適用される情報処理装置および情報処理方法に適用可能である。
【図面の簡単な説明】
【０１１８】
【図１】デバイスドライバのアクセス単位である論理セクタ（ＬＢＡ）と、メディア、すなわちＨＤＤのアクセス単位である物理セクタとの対応例について説明する説明図である。
【図２】上位層のアクセス単位である論理セクタとメディアのアクセス単位である物理セクタが異なる場合のアクセス処理における問題点について説明する説明図である。
【図３】上位層のアクセス単位である論理セクタとメディアのアクセス単位である物理セクタが異なる場合のアクセス処理における問題点について説明する説明図である。
【図４】ＲＭＷ処理およびその要否について説明する説明図である。
【図５】ＲＭＷ処理の要否判定処理について説明する説明図である。
【図６】ＲＭＷ処理の具体例について説明する説明図である。
【図７】ＲＷＭ処理の処理シーケンスについて説明する流れ図である。
【図８】ＲＭＷ処理の具体例について説明する説明図である。
【図９】ＲＭＷ処理の処理シーケンスについて説明する流れ図である。
【図１０】本発明の一実施形態に係る情報処理装置のシステム構成について説明する説明図である。
【図１１】本発明の一実施形態に係る情報処理装置のシステム構成について説明する説明図である。
【図１２】本発明の一実施形態に係る情報処理装置におけるファイルシステム起動処理について説明する流れ図である。
【図１３】本発明の一実施形態に係る情報処理装置におけるデバイスドライバ起動処理について説明する流れ図である。
【図１４】物理セクタにおけるデータとＥＣＣとの関係を示す説明図である。
【図１５】本発明の一実施形態に係る、記録しようとする内容をバックアップする処理について説明する流れ図である。
【図１６】本発明の一実施形態における、バックアップ先の記憶装置のデータ構造の一例を示す説明図である。
【図１７】本発明の一実施形態における、記憶装置（フラッシュメモリ）からバックアップデータを読み出す方法について説明する流れ図である。
【図１８】デジタルビデオカメラの構成例について説明する説明図である。
【図１９】本発明の情報処理装置の一例としてのＰＣのハードウェア構成例について説明する説明図である。
【符号の説明】
【０１１９】
２８１    アプリケーション
２８２    ファイルシステム
２８３    デバイスドライバ
２８４    情報記録媒体
３００    アプリケーション
３０１    記録アプリケーション
３０２    再生アプリケーション
３０３    ＵＳＢ接続アプリケーション
３１０    ファイルシステム
３１１，３１２    マウントドライブ情報
３２０    記録再生制御部
３２１    ＦＡＴ制御部
３２２    クラスタ制御部
３２３    ディレクトリエントリ制御部
３３０    メディア制御部
３３１    位置算出部
３４０    アクセス制御部
３５０，３５１，３５２    デバイスドライバ
３５３，３５４    アクセス制御部
３６１    メディアＡ
３６２    メディアＢ
３６３，３６４    メディア対応制御部
３７０    メモリ
４０１    制御部（ＣＰＵ）
４０２    カメラ機能制御部
４１１    光学レンズ部
４１２    光電変換部
４１３    画像信号処理部
４１４    画像入出力部
４１５    液晶ディスプレイ
４１６    音声入出力部
４１７    音声処理部
４１８    内蔵メモリ（ＲＡＭ）
４１９    内蔵メモリ（ＲＯＭ）
４２０    操作入力部
４３１    通信部
４３２    ドライブ
４４１    電源
５０１    ＣＰＵ
５０２    ＲＯＭ
５０３    ＲＡＭ
５０４    ホストバス
５０５    ブリッジ
５０６    外部バス
５０７    インタフェース
５０８    キーボード
５０９    ポインティングデバイス
５１０    ディスプレイ
５１１    ＨＤＤ
５１２    ドライブ
５１４    接続ポート
５１５    通信部
５２１    リムーバブル記録媒体
５２２    外部接続機器
【図１】
2009059444.tif 000003
【図２】
2009059444.tif 000004
【図３】
2009059444.tif 000005
【図４】
2009059444.tif 000006
【図５】
2009059444.tif 000007
【図６】
2009059444.tif 000008
【図７】
2009059444.tif 000009
【図８】
2009059444.tif 000010
【図９】
2009059444.tif 000011
【図１０】
2009059444.tif 000012
【図１１】
2009059444.tif 000013
【図１２】
2009059444.tif 000014
【図１３】
2009059444.tif 000015
【図１４】
2009059444.tif 000016
【図１５】
2009059444.tif 000017
【図１６】
2009059444.tif 000018
【図１７】
2009059444.tif 000019
【図１８】
2009059444.tif 000020
【図１９】
2009059444.tif 000021