(57)【要約】【課題】オペレーティングシステムのダウンやシステムの機能喪失にも、ファイルデータの書込みを確実にし、しかも整合性を確保する。【解決手段】アプリケーション１はファイル入出力用のデータバッファ１Ａをファームウェア３がアクセスできる領域に確保してデータを書込み、ファームウェアにデータバッファの位置を通知し（Ｓ４）、オペレーティングシステムを通じて、ファイル入出力要求を発行する（Ｓ５）。ファームウェア要求処理部３Ａは、入出力処理要求に従い、通知される位置のデータバッファにアクセスしてデータを取得し、ディスク５上にファイルデータ書込みを行う（Ｓ６）。  自律処理部３Ｂはオペレーティングシステムの障害の有無を監視し（Ｓ７）、障害発生を検出したとき、ファームウェア要求処理部によるファイルデータ書込み状況に従い、ファイル入出力の整合性を保つ処理を行う（Ｓ８）。【選択図】  図１
2006202177.tif 000002
【特許請求の範囲】
【請求項１】
パーソナルコンピュータに搭載されるアプリケーションからのデータをオペレーティングシステムの処理の基にディスクにファイルデータとして書込む処理方式であって、
前記アプリケーションはファイル入出力用のデータバッファを前記オペレーティングシステムのファームウェアがアクセスできる領域に確保し、該データバッファにデータを書込み、該ファームウェアにデータバッファの位置を通知する手段と、前記オペレーティングシステムを通じて、ファイル入出力要求を発行する手段とを有し、
前記ファームウェアに設けたファームウェア要求処理部は、前記入出力処理要求に従い、前記通知される位置のデータバッファにアクセスしてデータを取得し、これを前記ディスク上にファイルデータ書込みを行う手段を有し、
前記ファームウェアに設けた自律処理部は、前記オペレーティングシステムの障害の有無を監視する手段と、該オペレーティングシステムに障害発生を検出したとき、前記ファームウェア要求処理部によるファイルデータ書込み状況に従い、ファイル入出力の整合性を保つ処理を行う手段とを有することを特徴とするファイルデータの書込み処理方式。
【請求項２】
パーソナルコンピュータに搭載されるアプリケーションからのデータをオペレーティングシステムの処理の基にディスクにファイルデータとして書込む処理方式であって、
前記アプリケーションはファイル入出力用のデータバッファを前記オペレーティングシステムのファームウェアがアクセスできる領域に確保し、該データバッファにデータを書込み、該ファームウェアにデータバッファの位置を通知する手段と、前記オペレーティングシステムを通じて、ファイル入出力要求を発行する手段とを有し、
前記ファームウェアに設けたファームウェア要求処理部は、前記入出力処理要求に従い、前記通知される位置のデータバッファにアクセスしてデータを取得し、これを前記ディスク上にファイルデータ書込みを行う手段を有し、
前記ファームウェアに設けた自律処理部は、前記オペレーティングシステムの障害の有無を監視する手段と、該オペレーティングシステムに障害発生を検出したとき、前記ファームウェア要求処理部によるファイルデータ書込み状況に従い、ファイル入出力の整合性を保つ処理を行う手段とを有し、
前記アプリケーションが前記データバッファにデータを書込み、このデータを前記オペレーティングシステムにもつファイルシステムのキャッシュバッファに書込み、このキャッシュバッファのデータを前記ディスク上にファイルデータ書込みを行うファイルデータ書込み処理手段を有することを特徴とするファイルデータの書込み処理方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータにおけるファイルデータの書込み処理方式に係り、特にオペレーティングシステムによるファイル入出力処理の障害対策に関する。
【背景技術】
【０００２】
フレキシブルディスクなどに対するファイルデータの書込み／読出し処理には、データの不整合発生等を防止するため、種々の入出力方式が提案されている（例えば、特許文献１参照）。
【０００３】
図２は、パーソナルコンピュータのシステム構成とファイルデータの書込み処理を模式図で示す。システムは、コンピュータ処理内容をプログラム化したアプリケーション１と、ファイルシステム２−１とデバイスドライバ２−２をもつオペレーティングシステム（ＯＳ）２と、特化した処理プログラムをもつファームウェア３と、ハードウェア４で構成される。
【０００４】
このシステム構成において、ハードディスクやフレキシブルディスクなどのディスク５へのファイル書込み処理は、以下の手順で行われる。
【０００５】
（Ｓ１）アプリケーションプログラムがアプリケーションデータをバッファ１Ａに書込む。
【０００６】
（Ｓ２）アプリケーションレベルのファイル入出力ライブラリ処理により、オペレーティングシステム内のファイルシステム２−１のキャッシュバッファ２Ａにデータを書込む。
【０００７】
（Ｓ３）オペレーティングシステムにより規定された遅延時間の後、キャッシュバッファ２Ａのデータをデバイスドライバ２−２を経由してディスク５上にファイルとして書込む。
【０００８】
このようなファイルデータ書込み処理は、ディスク５の性能が不十分であっても、システムのファイル処理性能の向上を図るためのものであり、データバッファとキャッシュバッファを設けることにより、アプリケーションの処理能力を向上させることができる。
【特許文献１】特開２００１−１３４３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来のファイルデータ書込み処理方式では、前記の（Ｓ１）アプリケーション１がデータバッファ１Ａにデータを書込んだ処理の後、前記の（Ｓ２）または（Ｓ３）の処理が以下の理由で正常に終了できなかった場合にディスク５上にデータが反映されない、あるいはファイルシステムにデータの不整合が発生する問題があった。
【００１０】
（理由１）オペレーティングシステムの問題により、そのシステムダウンが発生したとき。
【００１１】
（理由２）ネットワーク経由で外部からの悪意ある操作によりシステムが操作不能になったとき。
【００１２】
（理由３）ハードウェアの障害により、オペレーティングシステムにダウンが発生したとき。
【００１３】
本発明の目的は、上記の課題を解決したファイルデータの書込み処理方式を提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、前記の課題を解決するため、ファイルデータ書込み処理をファームウェアレベルで行い、オペレーティングシステムが動作していない、あるいは存在していない場合でもファイルデータの書込み処理ができるようにしたもので、以下の方式を特徴とする。
【００１５】
（１）パーソナルコンピュータに搭載されるアプリケーションからのデータをオペレーティングシステムの処理の基にディスクにファイルデータとして書込む処理方式であって、
前記アプリケーションはファイル入出力用のデータバッファを前記オペレーティングシステムのファームウェアがアクセスできる領域に確保し、該データバッファにデータを書込み、該ファームウェアにデータバッファの位置を通知する手段と、前記オペレーティングシステムを通じて、ファイル入出力要求を発行する手段とを有し、
前記ファームウェアに設けたファームウェア要求処理部は、前記入出力処理要求に従い、前記通知される位置のデータバッファにアクセスしてデータを取得し、これを前記ディスク上にファイルデータ書込みを行う手段を有し、
前記ファームウェアに設けた自律処理部は、前記オペレーティングシステムの障害の有無を監視する手段と、該オペレーティングシステムに障害発生を検出したとき、前記ファームウェア要求処理部によるファイルデータ書込み状況に従い、ファイル入出力の整合性を保つ処理を行う手段とを有することを特徴とする。
【００１６】
（２）パーソナルコンピュータに搭載されるアプリケーションからのデータをオペレーティングシステムの処理の基にディスクにファイルデータとして書込む処理方式であって、
前記アプリケーションはファイル入出力用のデータバッファを前記オペレーティングシステムのファームウェアがアクセスできる領域に確保し、該データバッファにデータを書込み、該ファームウェアにデータバッファの位置を通知する手段と、前記オペレーティングシステムを通じて、ファイル入出力要求を発行する手段とを有し、
前記ファームウェアに設けたファームウェア要求処理部は、前記入出力処理要求に従い、前記通知される位置のデータバッファにアクセスしてデータを取得し、これを前記ディスク上にファイルデータ書込みを行う手段を有し、
前記ファームウェアに設けた自律処理部は、前記オペレーティングシステムの障害の有無を監視する手段と、該オペレーティングシステムに障害発生を検出したとき、前記ファームウェア要求処理部によるファイルデータ書込み状況に従い、ファイル入出力の整合性を保つ処理を行う手段とを有し、
前記アプリケーションが前記データバッファにデータを書込み、このデータを前記オペレーティングシステムにもつファイルシステムのキャッシュバッファに書込み、このキャッシュバッファのデータを前記ディスク上にファイルデータ書込みを行うファイルデータ書込み処理手段を有することを特徴とする。
【発明の効果】
【００１７】
以上のとおり、本発明によれば、ファイルデータ書込み処理をファームウェアレベルで行い、オペレーティングシステムが動作していない、あるいは存在していない場合でもファイルデータの書込み処理ができるようにしたため、ファイル書込み過程でオペレーティングシステムのダウンやシステム機能喪失が発生した場合にも、ファイルデータの書込みを確実にし、しかも整合性を確保することができる。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明の実施形態を示すファイルデータの書込み処理方式の模式図である。
【００１９】
同図において、処理Ｓ１〜Ｓ３は、従来方式を示し、アプリケーションデータをバッファ１Ａに書込み、このデータをファイルシステム２−１のキャッシュバッファ２Ａに書込み、キャッシュバッファ２Ａのデータをディスク５上にファイルデータ書込みを行う。
【００２０】
本実施形態では、上記の処理Ｓ１〜Ｓ３に代えて、通常時には以下の処理Ｓ４〜Ｓ６の機能を有してファイルデータ書込み処理を実行する。
【００２１】
（Ｓ４）アプリケーション１はファイル入出力用のデータバッファ１Ａをファームウェア３がアクセスできる領域に確保し、データバッファ１Ａにデータを書込み、ファームウェア３にデータバッファ１Ａの位置を通知する。
【００２２】
（Ｓ５）アプリケーション１は、オペレーティングシステム２を通じて、ファイル入出力要求を発行する。
【００２３】
（Ｓ６）ファームウェア要求処理部３Ａは、処理Ｓ５による要求に従い、処理Ｓ４により通知される位置のデータバッファ１Ａにアクセスしてデータを取得し、これをディスク５上にファイルデータ書込みを行う。
【００２４】
以上までの通常処理Ｓ４〜Ｓ６により、アプリケーション１がデータバッファ１Ａに書き込んだデータがディスク５にデータファイル５Ｂとして書込まれる。
【００２５】
次に、オペレーティングシステム１がダウンした場合、以下の処理Ｓ７，Ｓ８の障害対策機能を設ける。
【００２６】
（Ｓ７）ファームウェア３の自律処理部３Ｂは、オペレーティングシステム１の障害の有無を監視する。
【００２７】
（Ｓ８）ファームウェア自律処理部３Ｂは、オペレーティングシステム１に障害発生を検出したとき、ファームウェア要求処理部３Ａによるファイルデータ書込み状況に従い、ファイル入出力の整合性を保つ処理を行う。
【００２８】
この整合性を保つ処理は、例えば、ファームウェア要求処理部３Ａがファイル入出力要求（Ｓ５）を受けた後にオペレーティングシステム１の障害発生を検出したときは、データバッファ１Ａのデータをディスク５上にファイルデータ書込みを行う。また、ファームウェア要求処理部３Ａがファイルデータ書込み要求（Ｓ５）を受ける前にオペレーティングシステム１の障害発生を検出したときは、ディスク５上へのファイルデータ書込みをしない。
【００２９】
なお、実施形態では、従来方式の処理Ｓ１〜Ｓ３に代えてファイルデータ書込み処理Ｓ４〜Ｓ８を設ける場合を示すが、これら処理Ｓ１〜Ｓ３と処理Ｓ４〜Ｓ８の両方のファイルデータ書込み処理を設けておき、処理Ｓ１〜Ｓ３によるアプリケーションの処理能力向上を図りながら、処理Ｓ４〜Ｓ８による障害対策を得ることができる。この場合、ディスク５上にはファイル５Ａ，５Ｂに同じファイルデータが書込まれることから、ファームウェア自律処理部３Ｂによるファイルの整合性を保つ処理は、ファイル５Ａと５Ｂの一致／不一致を判定する処理を追加しておく。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施形態を示すファイルデータの書込み処理方式の模式図。
【図２】従来のファイルデータの書込み処理方式の模式図。
【符号の説明】
【００３１】
１  アプリケーション
１Ａ  データバッファ
２  オペレーティングシステム
２−１  ファイルシステム
２−２  デバイスドライバ
３  ファームウェア
３Ａ  ファームウェア要求処理部
３Ｂ  ファームウェア自律処理部
４  ハードウェア
５  ディスク
【図１】
2006202177.tif 000003
【図２】
2006202177.tif 000004