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