(57)【要約】【課題】  情報処理装置において、高パフォーマンスで通常時のデータ書き込みを実行する。【解決手段】この情報処理装置は、記憶装置１４と、その記憶装置１４に対するデータ書き込みを実行するファイルシステム処理部６１、およびアプリケーション３２を実行するプロセッサとを備える。そして、ファイルシステム処理部６１は、アプリケーション３２が記憶装置１４に対するデータ書き込みを要求したときに、アプリケーション３２の属性並びにデータ書き込みのデータサイズの少なくとも一方に基づいて、記憶装置１４へのアクセス方式として、ダイレクトＩ／ＯおよびバッファードＩ／Ｏのいずれかを選択し、選択したアクセス方式でデータ読み出しまたはデータ書き込みを行う。【選択図】  図２
2011258027.tif 000002
【特許請求の範囲】
【請求項１】
補助記憶装置と、
前記補助記憶装置に対するデータ書き込みを実行するデータ処理部、およびアプリケーションを実行するプロセッサとを備え、
前記データ処理部は、前記アプリケーションが前記補助記憶装置に対するデータ書き込みを要求したときに、前記アプリケーションの属性、および前記データ書き込みのデータサイズの少なくとも一方に基づいて、前記補助記憶装置へのアクセス方式として、ダイレクトＩ／ＯおよびバッファードＩ／Ｏのいずれかを選択し、選択したアクセス方式で前記データ読み出しまたは前記データ書き込みを行うこと、
を特徴とする情報処理装置。
【請求項２】
前記データ処理部は、前記データサイズが所定の閾値以下である場合、前記補助記憶装置へのアクセス方式として、バッファードＩ／Ｏを選択し、前記データサイズが所定の閾値より大きい場合、前記補助記憶装置へのアクセス方式として、ダイレクトＩ／Ｏを選択することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記データ処理部は、前記アプリケーションのうち、所定のアプリケーションについては、前記補助記憶装置へのアクセス方式として、ダイレクトＩ／Ｏを選択することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記所定のアプリケーションは、前記アプリケーションにおける別のアプリケーションより、前記補助記憶装置へのアクセスによる使用帯域が狭いことを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記所定のアプリケーションは、前記アプリケーションにおける別のアプリケーションより、前記補助記憶装置へのアクセス頻度が低いことを特徴とする請求項３記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関するものである。
【背景技術】
【０００２】
情報処理装置において、ハードディスクなどの補助記憶装置へのアクセス方式としては、バッファードＩ／Ｏ（Input/Output）、ダイレクトＩ／Ｏなどがある。
【０００３】
バッファードＩ／Ｏによるデータ書き込みの場合、メインメモリ上のキャッシュにデータを保持し、その後、キャッシュ上のデータを一括して補助記憶装置へ書き込む。ダイレクトＩ／Ｏによるデータ書き込みの場合、メインメモリ上に滞留させずに、データ書き込み要求のたびに、データを補助記憶装置へ書き込む。
【０００４】
ある情報処理装置は、オペレーティングシステムにより通常のデータ書き込み時にはバッファードＩ／Ｏでデータ書き込みを実行し、障害発生時には、ファームウェアによりメインメモリを介さずにデータ書き込みを実行する（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２０２１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の情報処理装置では、オペレーティングシステムの障害回避のためにアクセス方式を変更しているだけであり、通常時のデータ書き込みのパフォーマンス向上には繋がらない。また、上述の情報処理装置では、障害発生時のみファームウェアを使用しており、オペレーティングシステムと競合するため、通常時には使用できない。
【０００７】
また、上述の情報処理装置では、オペレーティングシステムではなくファームウェアでデータ書き込みを行うため、データ書き込みを要求するアプリケーションにファームウェアへデータを提供させるようにしなければならず、オペレーティングシステムおよびファームウェアのそれぞれに対するデータ提供のためのコードをアプリケーションに用意しておく必要がある。
【０００８】
本発明は、上記の問題に鑑みてなされたものであり、高パフォーマンスで通常時のデータ書き込みを実行する情報処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明では以下のようにした。
【００１０】
本発明に係る情報処理装置は、補助記憶装置と、補助記憶装置に対するデータ書き込みを実行するデータ処理部、およびアプリケーションを実行するプロセッサとを備える。そして、データ処理部は、アプリケーションが補助記憶装置に対するデータ書き込みを要求したときに、アプリケーションの属性、およびデータ書き込みのデータサイズの少なくとも一方に基づいて、補助記憶装置へのアクセス方式として、ダイレクトＩ／ＯおよびバッファードＩ／Ｏのいずれかを選択し、選択したアクセス方式でデータ読み出しまたはデータ書き込みを行う。
【００１１】
これにより、アプリケーションに応じてアクセス方式が切り換えられるため、高パフォーマンスで通常時のデータ書き込みが実行される。
【００１２】
また、本発明に係る情報処理装置は、上記の情報処理装置に加え、次のようにしてもよい。この場合、データ処理部は、データサイズが所定の閾値以下である場合、補助記憶装置へのアクセス方式として、バッファードＩ／Ｏを選択し、データサイズが所定の閾値より大きい場合、補助記憶装置へのアクセス方式として、ダイレクトＩ／Ｏを選択する。
【００１３】
これにより、データサイズに応じてアクセス方式が切り換えられるため、高パフォーマンスで通常時のデータ書き込みが実行される。
【００１４】
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、データ処理部は、アプリケーションのうち、所定のアプリケーションについては、補助記憶装置へのアクセス方式として、ダイレクトＩ／Ｏを選択する。
【００１５】
これにより、特定のアプリケーションについてはダイレクトＩ／Ｏが使用されるため、高パフォーマンスで通常時のデータ書き込みが実行される。
【００１６】
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、上述の所定のアプリケーションは、プロセッサで実行される別のアプリケーションより、補助記憶装置へのアクセスによる使用帯域が狭い。
【００１７】
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、上述の所定のアプリケーションは、プロセッサで実行される別のアプリケーションより、補助記憶装置へのアクセス頻度が低い。
【発明の効果】
【００１８】
本発明によれば、情報処理装置において、高パフォーマンスで通常時のデータ書き込みを実行することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明の実施の形態１に係る情報処理装置の構成を示すブロック図である。
【図２】図２は、図１に示す情報処理装置のソフトウェア構成を示すブロック図である。
【図３】図３は、実施の形態１における、書き込むべきデータのサイズと、ダイレクトＩ／ＯおよびバッファードＩ／Ｏのそれぞれのライトパフォーマンスとの関係の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、図に基づいて本発明の実施の形態を説明する。
【００２１】
実施の形態１．
【００２２】
図１は、本発明の実施の形態１に係る情報処理装置のハードウェア構成を示すブロック図である。
【００２３】
図１に示す情報処理装置１は、コンピュータを内蔵しており、各種プログラムを実行して演算や処理を実行する。情報処理装置１は、組み込みシステムを有する画像形成装置などの電子機器である。
【００２４】
情報処理装置１において、表示装置１１は、操作画面などを表示する装置である。表示装置１１としては、例えば液晶ディスプレイが使用される。入力装置１２は、操作画面に対する操作を入力するための装置である。入力装置１２としては、例えばキーボードやマウスが使用される。より具体的には、図示せぬグラフィック回路が描画処理およびビデオ信号の出力を行い、表示装置１１は、そのビデオ信号に従って画面を表示する。また、図示せぬインタフェースが入力装置１２との間のデータの送受を行う。
【００２５】
また、インタフェース１３は、内部デバイス、周辺装置、またはネットワーク機器を接続され、データ通信を行う回路である。インタフェース１３としては、例えば、内部デバイスに接続されるＩ／Ｏ回路、ＵＳＢ（Universal Serial Bus）といった周辺機器インタフェース、あるいはネットワークインタフェースが使用される。例えば、この情報処理装置１が画像形成装置に内蔵されている場合には、インタフェース１３には、プリントエンジン、スキャンエンジンなどの内部デバイスを制御するためのコントローラが接続され、インタフェース１３を介してこの情報処理装置１から内部デバイスへの各種指令が供給される。
【００２６】
記憶装置１４は、ファイルシステム２１を有し、ＯＳプログラム２２、アプリケーションプログラム２３などのプログラムや、データを格納する補助記憶装置である。記憶装置１４としては、不揮発性半導体メモリ、ハードディスク駆動装置、ディスクアレイ装置などが使用される。
【００２７】
また、ＣＰＵ（Central Processing Unit）１５は、プログラムに記述された処理を実行するプロセッサである。また、ＲＯＭ（Read Only Memory）１６は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、ＲＡＭ（Random Access Memory）１７は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメインメモリである。ＣＰＵ１５、ＲＯＭ１６およびＲＡＭ１７は、バスやコントローラチップを介して互いに接続されており、さらに、バスやコントロールチップを介して記憶装置１４、インタフェース１３、表示装置１１のグラフィック回路、および入力装置１２のインタフェースに接続されている。
【００２８】
ＣＰＵ１５は、記憶装置１４またはＲＯＭ１６に格納されているプログラムをＲＡＭ１７にロードして実行する。装置１の起動時には、ＣＰＵ１５は、ＯＳプログラム２２をロードして実行する。これにより、ＯＳ３１が実現される。その後、ＣＰＵ１５は、ユーザの指示などによりアプリケーションプログラム２３をロードして実行する。これにより、アプリケーション３２が実現される。アプリケーション３２は、所定の処理を実行し、必要に応じて、テンポラリデータなどをファイルシステム内のファイルに一時的に保持する。
【００２９】
図２は、図１に示す情報処理装置のソフトウェア構成を示すブロック図である。
【００３０】
図２において、ファイルシステム処理部６１は、ＯＳ３１においてファイルシステムを管理する処理部であり、記憶装置１４に対するデータ書き込みを実行する。ファイルシステム処理部６１は、アプリケーション３２が記憶装置１４に対するデータ書き込みを要求したときに、アプリケーション３２によるデータ読み出しまたはデータ書き込みのデータサイズに基づいて、記憶装置１４へのアクセス方式として、ダイレクトＩ／ＯおよびバッファードＩ／Ｏのいずれかを選択し、選択したアクセス方式でデータ読み出しまたはデータ書き込みを行う。
【００３１】
ファイルシステム処理部６１は、ディスクアクセス調停部７１およびディスクキャッシュ処理部７２を有する。
【００３２】
ディスクアクセス調停部７１は、複数のアプリケーション３２からの、ファイルシステム２１へのアクセス要求（データ書込要求、データ読出要求など）に基づいて、記憶装置１４のファイルシステム２１へのアクセスを実行する処理部である。
【００３３】
ディスクアクセス調停部７１は、記憶装置１４へのアクセス方式として、ダイレクトＩ／ＯおよびバッファードＩ／Ｏのいずれかを選択し、ダイレクトＩ／Ｏを選択した場合には、アプリケーション３２からアクセス要求を受け付けたときに、ファイルシステム２１へのアクセスを実行し、バッファードＩ／Ｏを選択した場合には、アプリケーション３２からのアクセス要求に対応するデータ入出力をディスクキャッシュ処理部７２に実行させる。
【００３４】
この実施の形態１では、ディスクアクセス調停部７１は、書き込むべきデータのサイズが所定の閾値以下である場合、記憶装置１４へのアクセス方式として、バッファードＩ／Ｏを選択し、そのデータサイズが所定の閾値より大きい場合、記憶装置１４へのアクセス方式として、ダイレクトＩ／Ｏを選択する。
【００３５】
ディスクキャッシュ処理部７２は、バッファードＩ／Ｏが選択された場合に、ＲＡＭ１７上のディスクキャッシュと記憶装置１４のファイルシステム２１との間のデータ入出力を管理する処理部である。
【００３６】
次に、上記情報処理装置の動作について説明する。
【００３７】
装置１が起動すると、ＯＳ３１が起動する。
【００３８】
そして、ディスクアクセス調停部７１は、アプリケーション３２からのデータ書込要求があると、そのデータ書込要求で書き込まれるデータのサイズを、その要求から特定し、そのデータサイズに基づいて、記憶装置１４へのアクセス方式として、バッファードＩ／ＯおよびダイレクトＩ／Ｏのいずれかを選択する。
【００３９】
ダイレクトＩ／Ｏを選択した場合、ディスクアクセス調停部７１は、ファイルシステム２１へのデータ書き込みを実行する。
【００４０】
一方、バッファードＩ／Ｏを選択した場合、ディスクアクセス調停部７１は、ＲＡＭ１７上のディスクキャッシュに、書き込むべきデータを格納する。その後、ディスクキャッシュ処理部７２は、所定のスケジュールに従って、ＲＡＭ１７上のディスクキャッシュからそのデータを読み出して記憶装置１４のファイルシステム２１に書き込む。
【００４１】
図３は、実施の形態１における、書き込むべきデータのサイズと、ダイレクトＩ／ＯおよびバッファードＩ／Ｏのそれぞれのライトパフォーマンスとの関係の一例を示す図である。
【００４２】
図３に示すように、バッファードＩ／Ｏの場合、データサイズの増加とともに、パフォーマンスが緩やかに増加している。一方、ダイレクトＩ／Ｏの場合、データサイズの増加とともに、パフォーマンスが比較的急峻に増加している。データサイズが約８ｋバイト以上である場合、ダイレクトＩ／Ｏのほうが、パフォーマンスが高く、データサイズが約８ｋバイト以下である場合、バッファードＩ／Ｏのほうが、パフォーマンスが高い。したがって、この場合、ディスクアクセス調停部７１は、書き込むべきデータのサイズが８ｋバイトより大きければ、ダイレクトＩ／Ｏを選択し、そうでなければ、バッファードＩ／Ｏを選択する。
【００４３】
以上のように、上記実施の形態１によれば、ファイルシステム処理部６１は、アプリケーション３２が記憶装置１４に対するデータ書き込みを要求したときに、データ書き込みのデータサイズに基づいて、記憶装置１４へのアクセス方式として、ダイレクトＩ／ＯおよびバッファードＩ／Ｏのいずれかを選択し、選択したアクセス方式でデータ読み出しまたはデータ書き込みを行う。ファイルシステム処理部６１におけるディスクアクセス調停部７１は、データ書込要求に係るデータサイズが所定の閾値以下である場合、記憶装置１４へのアクセス方式として、バッファードＩ／Ｏを選択し、そのデータサイズが所定の閾値より大きい場合、記憶装置１４へのアクセス方式として、ダイレクトＩ／Ｏを選択する。
【００４４】
これにより、データサイズに応じてアクセス方式が切り換えられるため、高パフォーマンスで通常時のデータ書き込みが実行される。
【００４５】
実施の形態２．
【００４６】
本発明の実施の形態２に係る情報処理装置では、ディスクアクセス調停部７１は、アプリケーション３２のうち、所定の属性を有する特定のアプリケーションについては、記憶装置１４へのアクセス方式として、ダイレクトＩ／Ｏを選択し、それ以外のアプリケーション３２については、バッファードＩ／Ｏを選択する。
【００４７】
記憶装置１４へのアクセス方式としてダイレクトＩ／Ｏを使用する特定のアプリケーションをＲＯＭ１６内のテーブルなどに予め登録しておき、ディスクアクセス調停部７１は、そのテーブルなどを参照して、アクセス方式を選択する。
【００４８】
例えば、ディスクアクセス調停部７１は、別のアプリケーション３２に比べ、記憶装置１４へのアクセスによる使用帯域が狭い特定のアプリケーション３２については、ダイレクトＩ／Ｏを選択する。
【００４９】
また、例えば、ディスクアクセス調停部７１は、別のアプリケーション３２に比べ、記憶装置１４へのアクセス頻度が低い特定のアプリケーション３２については、ダイレクトＩ／Ｏを選択する。
【００５０】
なお、実施の形態２に係る情報処理装置の構成およびその他の動作については、実施の形態１のものと同様であるので、その説明を省略する。
【００５１】
以上のように、上記実施の形態２によれば、記憶装置１４へのアクセスによる使用帯域が狭いアプリケーション、記憶装置１４へのアクセス頻度が低いアプリケーションなどの特定のアプリケーションについてはダイレクトＩ／Ｏが使用されるため、高パフォーマンスで通常時のデータ書き込みが実行される。
【００５２】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００５３】
例えば、上記実施の形態１と実施の形態２を組み合わせて、ディスクアクセス調停部７１は、データ書込要求を出力したアプリケーション３２の属性とデータサイズの両方に基づいて、アクセス方式を選択するようにしてもよい。例えば、アプリケーション３２を属性で分類してテーブルなどに登録しておき、各分類について設定されたデータサイズの閾値に基づいて、アクセス方式が選択されるようにしてもよい。
【産業上の利用可能性】
【００５４】
本発明は、例えば、プリンタ、コピー機、複合機などの画像形成装置に適用可能である。
【符号の説明】
【００５５】
１  情報処理装置
１４  記憶装置（補助記憶装置の一例）
１５  ＣＰＵ（プロセッサの一例）
３２  アプリケーション
６１  ファイルシステム処理部（データ処理部の一例）
【図１】
2011258027.tif 000003
【図２】
2011258027.tif 000004
【図３】
2011258027.tif 000005