(57)【要約】【課題】ＨＤＤに格納された画像データ等に対するアクセスを効果的に行って、装置全体の生産性を高める。【解決手段】  まず、ＨＤＤドライバは、データ転送用バッファを、メモリ管理から物理アドレスとして取得しておき（Ｓ９０）、その後、ＨＤＤをログ記録用ファイルシステムと画像形成用ファイルシステムとに区分けするファイルシステムのマウント処理を行って（Ｓ９１）、ＨＤＤをファイルデータ部を記憶するパーティションと、ファイル情報部を記憶するパーティションとに区分けする。配信プログラムは、メモリを取得し（Ｓ９３）、そのメモリを用いてファイルへのアクセス要求を行う（Ｓ９４）。ファイルシステムは、ＨＤＤへのアクセス要求を行う（Ｓ９６）。このＨＤＤアクセス要求によって、ＨＤＤドライバは、ステップＳ９０にて取得した転送用バッファを用いてＨＤＤにアクセス（読み込み／書き込み）を行う（Ｓ９７）。【選択図】図２１
2010020540.tif 000002
【特許請求の範囲】
【請求項１】
仮想アドレスがそれぞれ割り当てられた直接マップ領域及びそれ以外の領域を備えた主記憶装置と、
ファイルシステムにより少なくとも設定情報及びログ情報を記憶するパーティションと、画像データを記憶するパーティションに区分けされた補助記憶装置と、
前記補助記憶装置にアクセスするためのメモリを主記憶装置から取得するメモリ取得手段と、
前記メモリ取得手段で取得したメモリの仮想アドレスが直接マップ領域に割り当てられているか否かを判定するアドレス判定手段と、
前記アドレス判定手段により、前記取得したメモリの仮想アドレスが直接マップ領域に割り当てられていないと判定されたとき、前記メモリとバッファメモリを使用して、前記補助記憶装置の前記設定情報及びログ情報を記憶したパーティションにアクセスするアクセス実行手段と、
前記アドレス判定手段により、前記メモリの仮想アドレスが直接マップ領域に割り当てられていると判定されたとき、前記メモリの仮想アドレスを対応する物理アドレスに変換するアドレス変換手段と、を有し、
前記アクセス実行手段は、物理アドレスに変換された前記メモリを使用して前記補助記憶装置の前記画像データを記憶するパーティションにアクセスすることを特徴とする画像形成装置。
【請求項２】
請求項１に記載された画像形成装置であって、
前記ファイルシステムは、前記各パーティションのうち少なくとも一のパーティションのブロック長を、前記補助記憶装置が備えるディスクの最内周のトラックが有するセクタ数以下のセクタに対応するデータ量と同一サイズに設定することを特徴とする画像形成装置。
【請求項３】
請求項１又は２に記載された画像形成装置であって、
前記メモリ取得手段は、前記補助記憶装置が備えるディスクの最内周のトラックが有するセクタ数以下のセクタに対応するデータ量と同一サイズのメモリを取得することを特徴とする画像形成装置。
【請求項４】
仮想アドレスがそれぞれ割り当てられた直接マップ領域及びそれ以外の領域を備えた主記憶装置から、ファイルシステムにより少なくとも設定情報及びログ情報を記憶するパーティションと、画像データを記憶するパーティションに区分けされた補助記憶装置にアクセスするためのメモリを取得するメモリ取得工程と、
前記メモリ取得工程で取得したメモリの仮想アドレスが直接マップ領域に割り当てられているか否かを判定するアドレス判定工程と、
前記アドレス判定工程により、前記メモリの仮想アドレスが直接マップ領域に割り当てられていると判定されたとき、前記メモリの仮想アドレスを対応する物理アドレスに変換するアドレス変換工程と、
前記アドレス判定工程により、前記取得したメモリの仮想アドレスが直接マップ領域に割り当てられていないと判定されたとき、前記メモリとバッファメモリを使用して、前記補助記憶装置の前記設定情報及びログ情報を記憶したパーティションにアクセスし、
前記アドレス判定工程により、前記取得したメモリの仮想アドレスが直接マップ領域に割り当てられていると判定されたとき、前記アドレス変換工程にて物理アドレスに変換された前記メモリを使用して前記補助記憶装置の前記画像データを記憶するパーティションにアクセスするアクセス実行工程と、を有することを特徴とする補助記憶装置のアクセス方法。
【請求項５】
請求項４に記載された補助記憶装置のアクセス方法において、
前記ファイルシステムにより区分けされた前記各パーティションのうち、少なくとも一のパーティションのブロック長を、前記補助記憶装置が備えるディスクの最内周のトラックが有するセクタ数以下のセクタに対応するデータ量と同一サイズに設定する設定工程を更に備えたことを特徴とする補助記憶装置のアクセス方法。
【請求項６】
請求項４又は５に記載された補助記憶装置のアクセス方法において、
前記メモリ取得工程は、前記補助記憶装置が備えるディスクの最内周のトラックが有するセクタ数以下のセクタに対応するデータ量と同一サイズのメモリを取得することを特徴とする補助記憶装置のアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ、コピー、ファクシミリ等の機能を有する画像形成装置のＨＤＤ（Hard  Disc  Drive）に格納された（画像）データに対するアクセスを効率よく行う画像形成装置及び補助記憶装置のアクセス方法に関する。
【背景技術】
【０００２】
近年、プリンタ、コピー、ファクシミリ及びスキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（例えば、複合機）が知られている。この複合機は、１つの筐体内に表示部，印刷部及び撮像部などを設けると共に、プリンタ、コピー、ファクシミリ及びスキャナにそれぞれ対応する４種類のソフトウェアを備え、そのソフトウェアを切り替えることより、プリンタ、コピー、ファクシミリ及びスキャナとして動作する（例えば、特許文献１参照）。
【０００３】
この複合機は、例えば、画像形成を行うＡＳＩＣ（Application  Specific  Integrated  Circuit）、画像データを保持するためのＲＡＭ（Random  Access  Memory）、画像データを蓄積するためのＨＤＤを備えており、ＣＰＵによってＡＳＩＣとＲＡＭ、ＨＤＤ等のハードウェア資源を最適処理し、印刷処理を実行している。
【０００４】
このＨＤＤは、ＲＡＭに比べて大容量ではあるものの、データのアクセス速度が低速であるため、ＡＳＩＣを用いて、データを圧縮して記録（書き込み）を行ったり、データを伸張して読み出しを行うことで、アクセス時間を短縮してアクセス速度を補っている。
また、同様にＨＤＤのアクセス速度を補うために、複合機は、ＡＳＩＣの圧縮方式としてプリンタやコピー性能の向上に特化した独自アルゴリズムを用いたり、ＨＤＤ内のデータの管理を単純化して、ＨＤＤの性能向上を図っている。
即ち、例えば、複合機は、コピーやスキャナによって取得した画像データをＰＣ（パーソナルコンピュータ）が取得したり、複合機のＨＤＤに蓄積された画像データを電子メールで送信するとき、ＨＤＤ内の単純化されたデータ管理構造から、圧縮した画像データを取り出し、汎用の画像フォーマットに変換する。
【０００５】
また、近年、不揮発メモリへの記憶容量の削減のため、複合機のＨＤＤには画像データだけではなく、複合機の設定情報やログ情報といった機器内情報も記録されるようになってきている。
以上で説明したように、近年複合機などの画像形成装置のＨＤＤは、様々な用途で用いられるとともに、その使用頻度も高くなっている。
従って、画像形成装置の生産性を高めるために、ＨＤＤへの画像データ等のアクセス速度を維持しつつも、データの利便性の向上が求められており、さらに機器内情報との共存が望まれている。
【０００６】
ところで、ＲＡＭなどのメモリでは、例えばページング方式によりデータが記録され、所定のデータをページ毎に仮想メモリ領域に書き込むと、仮想メモリ領域の連続した仮想アドレスに対応した物理アドレスが割り当てられた物理メモリに記憶される。
しかしながら、この連続した仮想アドレスに基づいて書き込んだデータは、不連続な物理アドレスに書き込まれる場合が多く、画像データのようなログ情報等に比べて大容量のデータを不連続なアドレス領域に分割して記憶すると、このメモリに記憶されたデータをＨＤＤに書き込む等の際、オーバーヘッドが発生する。
【０００７】
このオーバーヘッドを解消するために、従来の画像形成装置では、不連続な物理アドレスに記憶されたデータを、連続する物理アドレスにコピーする処理を行っている。
これにより、上記オーバーヘッドの発生の問題は解消するが、このコピー処理を行うことによるＣＰＵの処理が増加するため、より効率よくＨＤＤにアクセスすることが求められている。
【特許文献１】特許３６７９３４９号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、上記従来の問題を解決するためになされたものであって、その目的は、画像形成装置において、ＨＤＤに格納された画像データ等に対するアクセスを効率よく行って、装置全体の生産性を高めることである。
【課題を解決するための手段】
【０００９】
本願の発明は、仮想アドレスがそれぞれ割り当てられた直接マップ領域及びそれ以外の領域を備えた主記憶装置と、ファイルシステムにより少なくとも設定情報及びログ情報を記憶するパーティションと、画像データを記憶するパーティションに区分けされた補助記憶装置と、前記補助記憶装置にアクセスするためのメモリを主記憶装置から取得するメモリ取得手段と、前記メモリ取得手段で取得したメモリの仮想アドレスが直接マップ領域に割り当てられているか否かを判定するアドレス判定手段と、前記アドレス判定手段により、前記取得したメモリの仮想アドレスが直接マップ領域に割り当てられていないと判定されたとき、前記メモリとバッファメモリを使用して、前記補助記憶装置の前記設定情報及びログ情報を記憶したパーティションにアクセスするアクセス実行手段と、前記アドレス判定手段により、前記メモリの仮想アドレスが直接マップ領域に割り当てられていると判定されたとき、前記メモリの仮想アドレスを対応する物理アドレスに変換するアドレス変換手段と、を有し、前記アクセス実行手段は、物理アドレスに変換された前記メモリを使用して前記補助記憶装置の前記画像データを記憶するパーティションにアクセスすることを特徴とする画像形成装置である。
本願の別の発明は、仮想アドレスがそれぞれ割り当てられた直接マップ領域及びそれ以外の領域を備えた主記憶装置から、ファイルシステムにより少なくとも設定情報及びログ情報を記憶するパーティションと、画像データを記憶するパーティションに区分けされた補助記憶装置にアクセスするためのメモリを取得するメモリ取得工程と、前記メモリ取得工程で取得したメモリの仮想アドレスが直接マップ領域に割り当てられているか否かを判定するアドレス判定工程と、前記アドレス判定工程により、前記メモリの仮想アドレスが直接マップ領域に割り当てられていると判定されたとき、前記メモリの仮想アドレスを対応する物理アドレスに変換するアドレス変換工程と、前記アドレス判定工程により、前記取得したメモリの仮想アドレスが直接マップ領域に割り当てられていないと判定されたとき、前記メモリとバッファメモリを使用して、前記補助記憶装置の前記設定情報及びログ情報を記憶したパーティションにアクセスし、前記アドレス判定工程により、前記取得したメモリの仮想アドレスが直接マップ領域に割り当てられていると判定されたとき、前記アドレス変換工程にて物理アドレスに変換された前記メモリを使用して前記補助記憶装置の前記画像データを記憶するパーティションにアクセスするアクセス実行工程と、を有することを特徴とする補助記憶装置のアクセス方法である。
【発明の効果】
【００１０】
本発明によれば、画像形成装置において、ＨＤＤに格納された画像データ等に対するアクセスを効率よく行って、装置全体の生産性を高めることができる。
【発明を実施するための最良の形態】
【００１１】
（第一の実施形態）
以下、本発明の第一の実施形態に係る画像形成装置、及び補助記憶装置のアクセス方法について、添付した図面を用いて説明する。
図１は、本発明の画像形成装置の第一の実施形態である複合機のハードブロック図である。
本複合機は、装置全体を制御するコントローラ１と、オペレータからの入力操作を受け付けるとともに、オペレータへの表示を行う操作部であるオペレーションパネル２と、外部機器に対してＦＡＸ送信を行うためのＦＣＵ（Facsimile  Control  Unit）３と、画像データを出力するための例えばプロッタなどから成るエンジン部４とから成っている。
【００１２】
コントローラ１は、ＯＳ（Operating  System）や後述する画像形成プログラム、ログ記録プログラム等を起動して実行させ、装置各部を制御するＣＰＵ５と、本複合機の描画用メモリとして用いる主記憶装置であるシステムメモリ６と、画像処理用のハードウェア要素を有する画像処理用途向けの集積回路であるＡＳＩＣ７と、画像形成プログラムやログ記録プログラム、配信プログラム等を格納するためのメモリであるＲＯＭ８と、画像データや文書データ、プログラム、フォントデータ、フォーム等の蓄積を行うストレージ（補助記憶装置）の一例であるＨＤＤ９と、本複合機をネットワークに接続するインターフェース機器であるＮＩＣ（Network  Interface  Card）１０と、ＳＤカードを挿抜可能であり、ＳＤカードの挿入又は抜き出しに応じＳＤカード内をマウントし、ファイルの読み出し、書き込みを行うＳＤカード用スロット１１と、夫々の規格に準じたインターフェースであるＵＳＢ（Universal  Serial  Bus）デバイス１２、ＩＥＥＥ１３９４デバイス１３、セントロニクス１４とから成っている。
【００１３】
オペレーションパネル２は、コントローラ１のＡＳＩＣ７に接続されており、ＮＩＣ１０、ＵＳＢデバイス１２、ＩＥＥＥ１３９４デバイス１３、セントロニクス１４、ＦＣＵ３及びエンジン部４は、コントローラ１のＡＳＩＣ７に例えばＰＣＩバスで接続されている。
コントローラ１では、ＡＳＩＣ７にシステムメモリ６、ＲＯＭ８、ＨＤＤ９、ＳＤカード用スロット１１等が接続され、ＣＰＵ５とＡＳＩＣ７とが例えばシステムバスを介して接続されている。
ＦＣＵ３はメモリを備えており、このメモリは、例えば複合機の電源がＯＦＦのときに受信したファクシミリデータを一時的に格納するために使用される。 
【００１４】
図２は、第一の実施形態に係る複合機のソフトウェア構成を示す図である。
図示のように、本複合機のソフトウェア構成は、各プログラム（プロセス）を並行実行する例えばＵＮＩＸ（登録商標）等のＯＳ２０と、画像メモリの取得及び解放、図１に示したＨＤＤ９の利用、画像データの圧縮及び伸張等のメモリ制御を行い、エンジン部４に画像データを転送する、本願発明のメモリ取得手段である画像形成プログラム２１と、画像形成プログラム２１に問い合わせを行い、画像データをＰＣに送信（配信）するための配信プログラム２２と、複合機の動作ログをＨＤＤ９に記録するためのログ記録プログラム２３とから成っている。
【００１５】
ＯＳ２０は、さらに詳細には、ＯＳ２０で管理する図１に示したシステムメモリ６の範囲を決定し、各プログラムに対して管理下の物理メモリを仮想メモリとして提供するメモリ管理２７と、メモリ管理２７が決定したシステムメモリ６の管理範囲外のメモリをそのまま物理メモリとして提供する画像メモリドライバ２４と、図１に示したＡＳＩＣ７が有するＨＤＤコントローラを制御し、ＨＤＤ９のデータの読み取り／書き込みを行う、本願発明のアクセス実行手段であるＨＤＤドライバ２５と、上記メモリ管理２７にて提供された仮想メモリのアドレスが、直接マップ領域（仮想メモリから物理メモリへ直接マッピング可能な領域）か否かの判定を行うアドレス判定機構２６と、アドレス判定機構２６にて直接マップ領域であると判定されたとき、そのアドレスを物理アドレスとして提供するアドレス変換機構２８と、から成っている。
なお、メモリ管理および画像メモリドライバの実現方法は、例えば特開２００３−３１６６４６号公報記載の公知のものを使用する。
【００１６】
上記メモリ管理２７は、プログラム毎に仮想メモリの後述する（図３参照）ユーザプログラム領域とスタック領域を割り当てる。また、メモリ管理２７は、プログラムの起動や振る舞い、プログラムの切替（プロセススイッチ）に応じて、ページテーブルの内容（例えば、仮想メモリの仮想アドレスと、物理メモリの物理アドレスとの対応関係）を作成または変更し、各プログラムに対して適切に物理メモリの割り当てを行う。
画像メモリドライバ２４は、メモリ管理２７の管理外のシステムを提供する。
具体的には、物理メモリを直接マップ領域として、各プログラムの仮想メモリに割り当てる。
【００１７】
次に、本実施形態に係る複合機におけるメモリ管理について説明する。
図３は、複合機におけるメモリ管理の一例について説明する図である。例えば図１に示すシステムメモリ６のメモリマップは、図３（ｂ）のように表される。
【００１８】
図１に示すシステムメモリ６の物理メモリは、例えばＯＳ２０などが使用するカーネル領域と、各プログラムが使用する汎用領域と、仮想アドレスと直接対応する連続した物理アドレス領域である直接マップ領域とから成っている。
なお、これらメモリ内の領域は、例えばＯＳ２０が備える所定のメモリ領域取得プログラムを実行することで取得する。また、カーネル領域及び汎用領域は、ＯＳ２０により管理される。
【００１９】
また、仮想メモリ領域のメモリマップは、図３（ａ）のように表される。即ち仮想メモリ領域は、ユーザプログラム領域と、直接マップ領域と、スタック領域とから成り、各プログラム毎に割り当てられる。
仮想メモリ領域のユーザプログラム領域と、スタック領域に割り当てられている仮想アドレスは、物理メモリ領域の汎用領域に割り当てられている物理アドレスに対応している。また、仮想メモリ領域の直接マップ領域に割り当てられている仮想アドレスは、物理メモリの直接マップ領域に割り当てられている物理アドレスに対応している。
【００２０】
本実施形態では、画像データのような比較的大容量のデータを連続的な物理メモリに記憶するための上記直接マップ領域をシステムメモリ６に設け、画像データをＨＤＤ９に記憶するために用いる画像メモリの仮想アドレスを、直接マップ領域に割り当てるようにメモリ管理を行い、それにより、従来行っていた上記仮想メモリから物理メモリへのコピー処理を不要とし、ＨＤＤ９へのアクセス処理を効果的に行う。
【００２１】
続いて、本実施形態においてＨＤＤ９に効率よくアクセスするためのメモリ管理２７のメモリの取得単位について説明する。
図４は、本複合機のＨＤＤ９のディスク管理を説明する図である。
ＨＤＤ９を構成するディスク（プラッタ）９ａは、図示のように、同心円上に分割した複数のトラック９ｂ（斜線部）から成り、トラック９ｂは、所定のサイズに分割した複数のセクタ９ｃ（斜線部）とから成っている。
【００２２】
また、トラック９ｂは、複数の領域（ゾーン）に区分され、外周側のゾーンほど、１トラック当たりのセクタ９ｃの数を多くする定記録密度方式で管理されている。即ち、図示の例では、１トラック当たりのセクタ９ｃの数が、最外周に位置するゾーン０では１６、ゾーン１では１４、ゾーン２では１２、最内周のゾーン３では１０となるようにＨＤＤ９が管理されている。
【００２３】
このＨＤＤ９において、例えば、ゾーン０に対応する１２のセクタ９ｃに対してアクセスする場合は、ディスク９ａを一周させずに連続してアクセスすることができるが、ゾーン３に対応する１２のセクタ９ｃに対してアクセスする場合は、ディスクを一周させて１０のセクタ９ｃにアクセスした後、隣接するトラック９ａ上の２のセクタ９ｃをシークしてアクセスする。つまり、同一トラック９ａ上のセクタ９ｃに対して連続アクセスすることができず、ＨＤＤ９のシークが発生するため、シークタイムの分だけアクセス時間が増加する。
【００２４】
従って、本実施形態では、ＨＤＤ９のディスク９ａの外周側だけでなく内周側の同一トラック９ｂ上のセクタ９ｃに対しても連続アクセスして、シークが生じ難いデータ単位、つまり、図示の例では最内周のディスク９ａのゾーン３のトラック９ｂが有するセクタ数である１０以下の複数のセクタ９ｃに対応するデータ単位でアクセスできるようにする。
即ち、後述するように、ＨＤＤ９へのアクセスはメモリを用いて行うから、画像形成プログラム２１が、一度に取得する画像メモリの単位をＨＤＤ９が備えるディスク９ａの最内周のトラック９ｂが有するセクタ数である１０以下のセクタ９ｃに対応するデータ量に設定することで、ＨＤＤ９の内周側及び外周側の同一トラック９ｂ上のセクタ９ｃに対してシークが生じることなく連続アクセスすることができる。その結果、最適な転送速度でＨＤＤ９にアクセスすることができ、メモリを用いたＨＤＤ９のアクセス（読み込み／書き込み）の回数を減らして、ＨＤＤ９の負担を減らすことができる。
【００２５】
なお、上記セクタ数は、ＨＤＤ９の種類毎に異なる。そのため、内周側及び外周側共にＨＤＤ９のシークが発生し難い連続するセクタ９ｃに対応するデータ量の統計を予め取り、その統計によって取得したデータ量を、画像形成プログラム２１が取得するメモリのデータ量として設定してもよい。
例えば、ＨＤＤ９の最内周のトラック９ａが有するセクタ数以下のセクタ９ｃに対応するデータ量、若しくは上記統計により取得したＨＤＤ９のシークが発生し難い連続するセクタ９ｃに対応するデータ量が、２５６ＫＢであった場合は、２５６ＫＢのメモリを取得し、そのメモリを用いてＨＤＤ９のアクセスを行う。
【００２６】
続いて、上記ハードウェア及びソフトウェア構成を有する複合機における、図２に示した画像形成プログラム２１、配信プログラム２２、ログ記録プログラム２３の処理シーケンス、即ちＨＤＤ９へのアクセス処理のシーケンスについて説明する。
【００２７】
図５は、本複合機において、画像形成プログラム２１を実行して、ＨＤＤ９に対してデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図であり、図６は、図５に示すステップＳ１３における画像メモリを用いたＨＤＤ９のアクセス（読み込み／書き込み）処理を示すシーケンス図である。
まず、画像形成プログラム２１は、画像メモリドライバ２４に対してシステムメモリ６内の画像メモリを要求して取得し（Ｓ１１）、その後、ＨＤＤドライバ２５に対して取得した画像メモリを用いたＨＤＤ９へのアクセス要求を行う（Ｓ１２）。
【００２８】
画像形成プログラム２１からＨＤＤ９へのアクセス要求が行われると、取得した画像メモリを用いたＨＤＤ９へのアクセス（読み込み／書き込み）を行う（Ｓ１３）。即ち、図６に示すように、ＨＤＤドライバ２５は、上記アクセスに先立ってステップＳ１１（図５参照）において取得したメモリが画像メモリであるか否かを判定するために、画像メモリの仮想アドレスが直接マップ領域に割り当てられているか否かについて、アドレス判定機構２６に問い合わせを行う（Ｓ１３１）。
【００２９】
アドレス判定機構２６が、上記仮想アドレスが直接マップ領域に割り当てられている、即ち画像メモリであると判断すると、ＨＤＤドライバ２５は、アドレス変換機構２８を用いて、画像メモリの仮想アドレスを物理アドレスに変換する（Ｓ１３２）。
その後、ＨＤＤドライバ２５は、その画像メモリをそのままＨＤＤ９とのデータ転送のバッファとして用いてアクセスを行う（Ｓ１３３）。
【００３０】
図５に示すように、画像メモリを用いたＨＤＤ９へのアクセス（Ｓ１３）が終わると、ＨＤＤドライバ２５は画像形成プログラム２１に対してＨＤＤ９へのアクセスを完了した旨の応答（ＨＤＤアクセス応答）を行う（Ｓ１４）。
以上で説明したように、本複合機において、画像メモリを用いてＨＤＤ９にアクセスするときは、直接マップ領域に割り当てられている画像メモリの仮想アドレスを、連続的な物理アドレスに変換して、ＨＤＤ９とのデータ転送時に画像メモリに記憶されるデータを連続した物理アドレスが割り当てられた物理メモリへコピーすることなく、画像メモリをバッファとして直接用いて、つまり、画像メモリをそのまま物理メモリとして用いてＨＤＤ９にアクセスを行っているから、上記データのコピー処理のためのＣＰＵ５の処理を低減することができ、複合機の処理効率を向上させることができる。
【００３１】
なお、図５に示した処理シーケンスにおいては、プログラム（画像形成プログラム２１）とドライバ（ＨＤＤドライバ２５）とでメモリを共有しているため、ＨＤＤ９へのアクセス中（つまり、メモリをＨＤＤドライバ２５が使用しているとき）はプログラムが動作することを許可できない。従って、図５に示したステップＳ１２のＨＤＤ９へのアクセス要求、及びステップＳ１４のアクセス応答を行うときは、画像形成プログラム２１と同期処理を行う必要がある。
【００３２】
次に、図２に示したログ記録プログラム２３の処理シーケンス、即ちＨＤＤ９へのアクセス処理のシーケンスを説明する。本複合機において、ログ記録プログラム２３を実行すると、本複合機は、ＨＤＤ９からログ情報を取得し、又はＨＤＤ９へログ情報を書き込むことができる。
ログ情報は、画像データに比してデータ容量が小さいため、ログ情報をＨＤＤ９から取得するときは、図５に示したような画像データを取得する処理と異なり、直接マップ領域に対応した画像メモリ以外のメモリ（以下、通常のメモリという）を用いる。即ち、データ容量が小さいログ情報の場合は、仮想アドレスから物理アドレスへのアドレス変換は行わず、従来と同様、仮想アドレスに対応する物理アドレスが割り当てられた不連続な物理メモリに記録したログ情報を、連続した物理メモリ（転送用バッファ）に一旦コピーして、ＨＤＤ９にアクセスする。
【００３３】
図７は、本複合機において、ログ記録プログラム２３を実行して、ＨＤＤ９に対してデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図であり、図８は、図７に示すステップＳ２４における通常時のＨＤＤ９のアクセス（読み込み）処理の例を示すシーケンス図であり、図９は、図７に示すステップＳ２４における通常時のＨＤＤ９のアクセス（書き込み）処理の例を示すシーケンス図である。
ログ記録プログラム２３を実行するときは、まず、ＨＤＤドライバ２５が、ＨＤＤドライバ２５起動直後のＨＤＤドライバ２５の初期化処理中にデータ転送用のバッファを、メモリ管理２７から物理アドレスとして取得する（Ｓ２１）。
【００３４】
その後、ログ記録プログラム２３は、ｍａｌｌｏｃ等のｌｉｂｃのライブラリ関数を用いてメモリ管理２７よりメモリを取得し（Ｓ２２）、そのメモリを用いてＨＤＤドライバ２５に対してＨＤＤ９へのアクセス要求を行う（Ｓ２３）。
ＨＤＤドライバ２５は、ログ記録プログラム２３からＨＤＤ９へのアクセス要求を受けると、通常時のＨＤＤ９のアクセス（読み込み／書き込み）、つまり上記通常のメモリを用いたＨＤＤ９のアクセスを行う（Ｓ２４）。
【００３５】
即ち、通常時のＨＤＤ９の読み込みを行う場合は、図８に示すように、ＨＤＤドライバ２５は、図７に示したステップＳ２２にて取得したメモリが画像メモリであるか否かを判定するために、このメモリの仮想アドレスが直接マップ領域に割り当てられているか否かを、アドレス判定機構２６に問い合わせを行う（Ｓ２４１）。
【００３６】
アドレス判定機構２６が、このメモリの仮想アドレスが直接マップ領域に割り当てられていない、即ちこのメモリが画像メモリでないと判断すると、ＨＤＤドライバ２５は、ＨＤＤドライバ２５内に保持している転送用バッファ（連続した物理メモリ）を用いて、ＨＤＤ９からの読み込みを行う、即ちＨＤＤ９のデータを転送用バッファに転送する（Ｓ２４２）。
その後、ＨＤＤドライバ２５は、転送用バッファから、上記メモリにデータをコピーする（Ｓ２４３）。
【００３７】
他方、通常時のＨＤＤ９の書き込みを行う場合は、図９に示すように、図８に示したステップＳ２４１と同様、図７に示したステップＳ２２にて取得したメモリが画像メモリであるか否かを判定するために、アドレス判定機構２６に問い合わせを行う（Ｓ２５１）。
アドレス判定機構２６が、このメモリが画像メモリでないと判断すると、ＨＤＤドライバ２５は、書き込みデータが記録されている上記通常のメモリから、ＨＤＤドライバ２５内に保持している転送用バッファにデータ（書き込みデータ）をコピーする（Ｓ２５２）。
その後、ＨＤＤドライバ２５は、転送用バッファを用いてＨＤＤ９への書き込みを行う、即ち、転送用バッファの上記書き込みデータをＨＤＤ９へ転送する（Ｓ２５３）。
【００３８】
ＨＤＤ９へのアクセス（読み込み／書き込み）が終了すると、図７に示すように、ＨＤＤドライバ２５はログ記録プログラム２３に対してアクセス応答を返す（Ｓ２５）。
以上で説明したように、本複合機において、通常時においてＨＤＤ９にアクセス（書き込み／読み込み）するとき、即ち仮想アドレスが直接マップ領域に割り当てられていないメモリを用いてＨＤＤ９にアクセス（書き込み／読み込み）するときは、従来と同様、予め取得しておいた連続した物理アドレスを有する物理メモリである転送用バッファを介してアクセスする。
なお、以上で説明したログ記録プログラム２３を実行する処理シーケンスでは、ステップＳ２１において、予め物理メモリ（転送用バッファ）を取得しているが、転送用バッファを取得するタイミングはこれに限らず、例えば、ステップＳ２４１及びＳ２５１において、ステップＳ２２において取得したメモリが画像メモリでないと判定した後に、転送用バッファを取得してもよい。つまり、転送用バッファは、ステップＳ２４２又はステップＳ２５２にて転送用バッファを用いるときまでに取得していればよい。
【００３９】
また、図７に示した処理シーケンスにおいては、ログ記録プログラム２３とＨＤＤドライバ２５とでメモリを共有していないため、非同期処理を行うことができる。従って、図７に示したステップＳ２３におけるＨＤＤ９へのアクセス要求、及びステップＳ２５におけるＨＤＤ９へのアクセス応答は、ログ記録プログラム２３との同期処理、非同期処理は問わず、いずれの方法で処理を行ってもよい。
【００４０】
続いて、図２に示した配信プログラム２２を実行したときの本複合機における処理シーケンスについて説明する。本複合機において、配信プログラム２２を実行すると、本複合機は、ＰＣなどの外部機器に例えば電子メールによって、ＨＤＤ９に蓄積された画像データ（以下、蓄積画像という）を配信することができる。
【００４１】
図１０は、配信プログラム２２を実行することにより、画像形成プログラム２１に対してＨＤＤ９の蓄積画像を要求したときの処理シーケンスを示す図である。
まず、配信プログラム２２は、画像形成プログラム２１との間でプロセス間通信を行い、蓄積画像の要求を行う（Ｓ３１）。
その後、画像形成プログラム２１の実行によって、図５に示した処理シーケンスと同様の手順（Ｓ３２〜Ｓ３５）を行う。
即ち、画像形成プログラム２１は、システムメモリ６内の画像メモリを画像メモリドライバ２４に対して要求し、画像メモリの取得を行う（Ｓ３２）。続いて、取得した画像メモリを用いてＨＤＤドライバ２５に対してアクセス要求を行う（Ｓ３３）。
【００４２】
アクセス要求が行われると、図６に示したように、ＨＤＤドライバ２５は、取得した画像メモリの仮想アドレスが直接マップ領域に割り当てられているか否かをアドレス判定機構２６に判定させ、上記仮想アドレスが直接マップ領域に割り当てられていると判定したときは、アドレス変換機構２８にて画像メモリの仮想アドレスを物理アドレスに変換し、画像メモリを用いたＨＤＤ９のアクセス（読み込み／書き込み）を行う（Ｓ３４）。
ＨＤＤ９のアクセスが終わると、ＨＤＤドライバ２５は画像形成プログラム２１に対してアクセス応答を返す（Ｓ３５）。
アクセス応答が行われると、画像形成プログラム２１は、配信プログラム２２に対して蓄積画像を取得した旨の応答（蓄積画像応答）を行い（Ｓ３６）、最後に配信プログラム２２により、ＰＣ等の外部機器に対して取得した画像データのメール送信を行う（Ｓ３７）。
【００４３】
以上で説明したように、配信プログラム２２を実行するときは画像形成プログラム２１を実行する必要があるため、図５に示した画像形成プログラム２１を実行するときと同様に、図６に示したように画像メモリを用いてＨＤＤ９にアクセスし、その際、画像メモリの直接マップ領域に割り当てられた仮想アドレスを物理アドレスに変換して、ＨＤＤ９とのデータ転送時に画像メモリに記憶されるデータを物理メモリへコピーすることなく、画像メモリをバッファとして直接用いてアクセスを行っている。従って、上記データのコピー処理のためのＣＰＵ５の処理を低減することができ、複合機の処理効率を向上させることができる。
【００４４】
（第二の実施形態）
以下、本発明の第二の実施形態に係る補助記憶装置のアクセス方法、及びこの方法を実施する画像形成装置について、添付した図面を用いて説明する。
本発明の補助記憶装置のアクセス方法を実施する第二の実施形態に係る画像形成装置である複合機のハードウェア構成は、第一の実施形態と同様であり（図１参照）、ソフトウェア構成については、第一の実施形態のソフトウェア構成（図２参照）に、ＨＤＤ９内のデータにより効率よくアクセスするためのファイルシステム及びこれに付随したソフトウェアを追加した構成となっている。
【００４５】
図１１は、第二の実施形態に係る複合機のソフトウェア構成を示す図である。
即ち、図示のように、本複合機のソフトウェア構成は、各プログラム（プロセス）を並行実行する例えばＵＮＩＸ（登録商標）等のＯＳ２９と、画像メモリの取得及び解放、ＨＤＤ９の利用、画像データの圧縮及び伸張等のメモリ制御を行い、エンジン部４に画像データを転送するための画像形成プログラム２１と、ＨＤＤ９の蓄積画像に効率よくアクセスできるように設計された例えばＦＡＴ（File  Allocation  Tables）に近似した独自のデータ管理システムである画像形成ファイルシステム３０と、ＯＳ２９内の後述するファイルシステム３１をマウントするマウントコマンド３２と、画像形成プログラム２１に問い合わせを行い、ＨＤＤ９に蓄積された画像データを取得後、これをＰＣに送信（配信）するための配信プログラム２２と、複合機の動作ログをＨＤＤ９に記録するためのログ記録プログラム２３と、から成っている。
【００４６】
ＯＳ２９は、さらに詳細には、第一の実施形態と同様、メモリ管理２７と、画像メモリドライバ２４と、ＨＤＤドライバ２５と、アドレス判定機構２６と、アドレス変換機構２８と、これらに加えてＵＮＩＸ（登録商標）ファイルシステム（ＵＦＳ）や、ＦＦＳ（Fast  File  System）といった汎用的なファイルシステム３１とから成っている。
【００４７】
マウントコマンド３２は、上記ファイルシステム３１をマウントして、ＨＤＤ９内のデータに対してファイルアクセスできるようにする汎用的なコマンドである。
画像形成プログラム２１によってＨＤＤ９の蓄積画像にアクセスするときは、画像形成ファイルシステム３０を経由して行い、ログ記録プログラム２３によってＨＤＤ９内のデータに対してアクセスするときは、汎用的なファイルシステム３１を経由して行う。
【００４８】
なお、図４にて説明したように、本実施形態においても、画像形成プログラム２１が、一度に取得する画像メモリのデータ量を、ＨＤＤ９の最内周のトラック９ｂ上のセクタ数以下のセクタ９ｃに対応するデータ量、若しくは上記統計により取得したＨＤＤ９のシークが発生し難い連続するセクタ９ｃに対応するデータ量に設定し、内周側、外周側のトラック９ｂのいずれにおいてもシークが生じることを抑制し、同一トラック９ａ上のセクタ９ｃに対して連続アクセスする。
【００４９】
例えば、ＨＤＤ９の最内周のトラック９ｂ上のセクタ数以下のセクタ９ｃに対応するデータ量、若しくは上記統計により取得したＨＤＤ９のシークが発生し難い連続するセクタ９ｃに対応するデータ量が２５６ＫＢである場合は、画像形成ファイルシステム３０がデータ管理長を２５６ＫＢとし、画像形成プログラム２１が、一度に取得する画像メモリのデータ量も２５６ＫＢとすることで、最適な転送速度でＨＤＤ９にアクセスすることができ、画像メモリを用いたＨＤＤ９のアクセス（読み込み／書き込み）回数を減らして、ＨＤＤ９の負担を減らすことができる。
【００５０】
次に、上記ハードウェア及びソフトウェア構成を有する第二の実施形態の複合機における、図１１に示した画像形成プログラム２１、配信プログラム２２、ログ記録プログラム２３の処理シーケンス、即ちＨＤＤ９へのアクセス処理のシーケンスについて説明する。
図１２は、本複合機において、画像形成プログラム２１を実行して、ＨＤＤ９に対してデータをアクセス（読み込み／書き込み）を行う処理のシーケンス図である。
まず、画像形成プログラム２１は、画像メモリドライバ２４に対してシステムメモリ６内の画像メモリを要求し、画像メモリの取得を行い（Ｓ４１）、その後、その画像メモリを用いて画像形成ファイルシステム３０に対して、ＨＤＤ９内の画像データにアクセスする要求を行う（Ｓ４２）。
【００５１】
上記画像データアクセス要求が行われると、画像形成ファイルシステム３０は、ＨＤＤドライバ２５に対するＨＤＤ９へのアクセス要求を行う（Ｓ４３）。
アクセス要求が行われると、図６に示したように、ＨＤＤドライバ２５は、取得した画像メモリの仮想アドレスが直接マップ領域に割り当てられているか否かをアドレス判定機構２６に判定させ、上記仮想アドレスが直接マップ領域に割り当てられていると判定したときは、アドレス変換機構２８にて画像メモリの仮想アドレスを物理アドレスに変換し、画像メモリを用いたＨＤＤ９のアクセス（読み込み／書き込み）を行う（Ｓ４４）。
ＨＤＤ９のアクセスが終わると、ＨＤＤドライバ２５は画像形成ファイルシステム３０に対してＨＤＤ９のアクセスが完了した旨の応答（ＨＤＤアクセス応答）を行う（Ｓ４５）。
ＨＤＤアクセス応答が行われると、画像形成ファイルシステム３０は、画像形成プログラム２１に対して画像データのアクセスが完了した旨の応答を行う（Ｓ４６）。
【００５２】
以上で説明したように、本実施形態の複合機は、第一の実施形態と同様に、画像メモリを用いてＨＤＤ９にアクセスするとき、直接マップ領域である画像メモリの仮想アドレスを物理アドレスに変換して、ＨＤＤ９とのデータ転送時に画像メモリに記憶されるデータを物理メモリへコピーすることなく、画像メモリをバッファとして直接用いてアクセスを行っているから、上記データのコピー処理によるＣＰＵ５の負担を低減することができ、複合機の処理効率を向上させることができる。
【００５３】
また、本実施形態の複合機は、画像形成プログラム２１が画像形成の処理性能を重視した独自のファイルシステムである画像形成ファイルシステム３０を構築しているから、ログ情報プログラム２３及び配信プログラム２２のＨＤＤ９へのアクセスを配慮することなく、画像データをファイル化することができ、第一の実施形態の複合機に比して、ＨＤＤ９の物理メモリの管理を容易に行うことができる。
【００５４】
次に、図１１に示したログ記録プログラム２３の処理シーケンス、即ちＨＤＤ９へのアクセス処理のシーケンスを説明する。
図１３は、本複合機において、ログ記録プログラム２３を実行して、ＨＤＤ９に対するデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図である。
まず、ログ記録プログラム２３を実行するときは、ＨＤＤドライバ２５が、ＨＤＤドライバ２５起動直後のＨＤＤドライバ２５の初期化処理中にデータ転送用バッファを、メモリ管理２７から物理アドレスとして取得する（Ｓ５０）。
【００５５】
その後、ファイルシステム３１を用いてＨＤＤ９にアクセスするために、後述する（図１４参照）ファイルシステム３１のマウント処理を行う（Ｓ５１）。
マウント処理が完了する、即ちファイルシステム３１がマウントされると、ログ記録プログラム２３は、ファイルシステム３１上のファイルをオープンする（Ｓ５２）。
続いて、ログ記録プログラム２３は、メモリ管理２７よりメモリを取得し（Ｓ５３）、取得したメモリを用いてファイルシステム３１に対してファイルへのアクセス要求を行う（Ｓ５４）。
【００５６】
ファイルシステム３１は、ログ記録プログラム２３からファイルアクセス要求があると、ＨＤＤドライバ２５に対してＨＤＤアクセス要求を行う（Ｓ５５）。このＨＤＤドライバ２５に対するＨＤＤアクセス要求によって、図８及び図９に示したように、ＨＤＤドライバ２５は、取得したメモリの仮想アドレスが直接マップ領域か否かの判定をアドレス判定機構２６に要求し、直接マップ領域に割り当てられたアドレスでないと判定されると、ステップＳ５０にて取得した転送用バッファを用いてＨＤＤにアクセス（読み込み／書き込み）を行う（Ｓ５６）。
【００５７】
ＨＤＤ９のアクセスが終了すると、ＨＤＤドライバ２５は、ファイルシステム３１に対してＨＤＤアクセス応答を行い（Ｓ５７）、ファイルシステム３１はこの応答によりログ記録プログラム２３に対して、ファイルに対するアクセスが完了した旨の応答（ファイルアクセス応答）を行う（Ｓ５８）。
最後に、ログ記録プログラム２３は、ファイルシステム３１に対してファイルクローズを行う（Ｓ５９）。
【００５８】
図１４は、従来周知である図１３に示したステップＳ５１のマウント処理のシーケンスを示す図である。
まず、マウントコマンド３２は、ＨＤＤ９内のファイルシステム３１に対してマウント要求を行う（Ｓ５１１）。
なお、ＨＤＤ９のファイルシステム３１は、図１１に示したＯＳ２９がＵＮＩＸ（登録商標）の場合は、例えば、/dev/wd0e、/dev/wd0f、とデバイスファイルで表現され、上記マウント要求は、先のエントリとマウントポイント（/mnt1、/mnt2等）をmountシステムコールの引数で指定して行う。
【００５９】
ファイルシステム３１は、メモリ管理２７からメモリを取得し（Ｓ５１２）、ＨＤＤドライバ２５に、ＨＤＤアクセス要求を行う（Ｓ５１３）。このＨＤＤアクセス要求によって、図８及び図９に示したように、ＨＤＤドライバ２５は、取得したメモリの仮想アドレスが直接マップ領域か否かの判定をアドレス判定機構２６に要求し、直接マップ領域に割り当てられたアドレスでないと判定されると、図１３のステップＳ５０にて取得した転送用バッファを用いてＨＤＤ９にアクセスを行う（Ｓ５１４）。
【００６０】
ＨＤＤ９のアクセスが行われると、ＨＤＤドライバ２５は、ファイルシステム３１にＨＤＤアクセス応答を行う（Ｓ５１５）。
なお、ＨＤＤ９内の複数のデータに対してマウント処理を行うため、ステップＳ５１２〜ステップＳ５１５の処理を複数回行って、ＨＤＤ９から複数のデータを読み込む。
【００６１】
上記ステップＳ５１２〜ステップＳ５１５の読み込み処理を複数回行った後、ファイルシステム３１は、上記読み込んだＨＤＤ９内のデータ（ファイル）がファイルシステムとしてマウント可能か否かの識別処理（ファイルシステム認識）を行う（Ｓ５１６）。
ファイルシステム３１が読み込んだＨＤＤ９のデータがマウント可能と判断すると、読み込んだデータとマウントポイントとの関連付けを行い、マウントコマンド３２に対してマウント応答を返す（Ｓ５１７）。
【００６２】
以上で説明したように、本実施形態の複合機は、ファイルシステム３１を有しているから、ＨＤＤ９内のデータをマウントして、ＨＤＤ９の物理メモリの管理を容易にするとともに、ログ情報をファイル化することができ、第一の実施形態の複合機に比して、データの管理を容易にすることができる。
【００６３】
続いて、図１１に示した配信プログラム２２を実行したときの本複合機における処理シーケンスについて説明する。
図１５は、配信プログラム２２を実行することにより、画像形成プログラム２１に対してＨＤＤ９の蓄積画像を要求したときの処理シーケンスを示す図である。
まず、配信プログラム２２は、画像形成プログラム２１との間でプロセス間通信を行い、蓄積画像の要求を行う（Ｓ６１）。
【００６４】
その後、画像形成プログラム２１の実行によって、図１２に示した処理シーケンスと同様の手順（Ｓ６２〜Ｓ６７）を行う。
即ち、画像形成プログラム２１が、システムメモリ６内の画像メモリを画像メモリドライバ２４に対して要求し、画像メモリの取得を行う（Ｓ６２）。続いて、その画像メモリを用いて画像形成ファイルシステム３０に対して、ＨＤＤ９内の画像データにアクセスする要求を行う（Ｓ６３）。
【００６５】
上記画像データアクセス要求が行われると、画像形成ファイルシステム３０が、ＨＤＤドライバ２５に対するＨＤＤ９へのアクセス要求を行う（Ｓ６４）。
このアクセス要求が行われると、図６に示したように、ＨＤＤドライバ２５は、取得した画像メモリの仮想アドレスが直接マップ領域に割り当てられているか否かをアドレス判定機構２６に判定させ、アドレス変換機構２８にて画像メモリの仮想アドレスを物理アドレスに変換し、画像メモリを用いたＨＤＤ９のアクセス（読み込み／書き込み）を行う（Ｓ６５）。
【００６６】
ＨＤＤ９のアクセスが終わると、ＨＤＤドライバ２５は画像形成ファイルシステム３０に対してＨＤＤアクセス応答を行う（Ｓ６６）。
ＨＤＤアクセス応答が行われると、画像形成ファイルシステム３０は、画像形成プログラム２１に対して画像データアクセス応答を行う（Ｓ６７）。
【００６７】
画像形成プログラム２１は、配信プログラム２２に対して、蓄積画像応答を行い（Ｓ６８）、最後に配信プログラム２２は、取得した蓄積画像をＰＣに対してメール送信を行う（Ｓ６９）。
【００６８】
以上で説明したように、本実施形態に係る複合機において配信プログラム２２を実行するときは、第一の実施形態と同様に、画像形成プログラム２１を実行する必要があるため、ステップＳ６５において画像メモリを用いてＨＤＤ９にアクセスするときに、直接マップ領域に割り当てられた画像メモリの仮想アドレスを物理アドレスに変換して、画像メモリをバッファとして直接用いてアクセスを行う。
その結果、ＨＤＤ９とのデータ転送時に画像メモリに記憶されるデータを連続する物理メモリへコピーすることがないため、上記データのコピー処理のためのＣＰＵ５の処理を低減することができ、複合機の処理効率を向上させることができる。
【００６９】
また、本実施形態に係る複合機は、画像形成ファイルシステム３０を備えているから、ＨＤＤ９の物理メモリの管理を容易にするとともに、画像データをファイル化することができ、第一の実施形態の複合機に比して、データ管理を容易に行うことができる。
【００７０】
（第三の実施形態）
以下、本発明の補助記憶装置のアクセス方法を実施する第三の実施形態に係る画像形成装置について、添付した図面を用いて説明する。
本発明の補助記憶装置のアクセス方法を実施する第三の実施形態に係る画像形成装置である複合機のハードウェア構成は、第一の実施形態と同様である（図１参照）。
【００７１】
図１６は、第三の実施形態に係る複合機のソフトウェア構成を示す図である。
図示のように、本複合機のソフトウェア構成は、各プログラム（プロセス）を並行実行する例えばＵＮＩＸ（登録商標）等のＯＳ３３と、画像メモリの取得及び解放、ＨＤＤ９の利用、画像データの圧縮及び伸張等のメモリ制御を行い、エンジン部４に画像データを転送するための画像形成プログラム２１と、ＯＳ３３内のファイルシステム３１をマウントするマウントコマンド３２と、後述するファイルシステム３１を介して、ＨＤＤ９に蓄積された画像データを取得後、これをＰＣに送信（配信）するための配信プログラム２２と、複合機の動作ログをＨＤＤ９に記録するためのログ記録プログラム２３と、から成っている。
【００７２】
ＯＳ３３は、さらに詳細には、第一の実施形態と同様、メモリ管理２７と、画像メモリドライバ２４と、ＨＤＤドライバ２５と、アドレス判定機構２６と、アドレス変換機構２８と、これらに加えてＵＦＳや、ＦＦＳといった汎用的なファイルシステム３１とから成っている。
マウントコマンド３２は、上記ファイルシステム３１をマウントして、ＨＤＤ９内のデータに対してファイルアクセスできるようにする汎用的なコマンドである。
【００７３】
本実施形態において、画像形成プログラム２１によってＨＤＤ９の蓄積画像にアクセスするときは、ログ記録プログラム２３によってＨＤＤ９内のデータにアクセスするときと同様、汎用的なファイルシステム３１を経由して行う。
また、ファイルシステム３１が画像形成プログラム２１と配信プログラム２２とで共有されているため、配信プログラム２２によって画像データを他のＰＣ等に配信するときは、画像形成プログラム２１に問い合わせ（プロセス間通信）を行わず、ファイルシステム３１を経由して直接ＨＤＤ９内の画像データにアクセスすることができる。
さらに、アドレス判定機構２６は、ＨＤＤドライバ２５だけでなく、ファイルシステム３１でもメモリアドレスの判定処理を行うため、ＨＤＤドライバ２５から独立して、ＨＤＤドライバ２５とファイルシステム３１の両方からアクセスできるように構成されている。
【００７４】
なお、本実施形態においても、例えば、図４にて説明したＨＤＤ９の最内周のトラック９ｂ上のセクタ数以下のセクタ９ｃに対応するデータ量、若しくは上記統計により取得したＨＤＤ９のシークが発生し難い連続するセクタ９ｃに対応するデータ量が２５６ＫＢである場合は、画像形成プログラム２１が、一度に取得する画像メモリのデータ量も２５６ＫＢとする。その結果、最適な転送速度でＨＤＤ９にアクセスすることができ、画像メモリを用いたＨＤＤ９のアクセス（読み込み／書き込み）回数を減らして、ＨＤＤ９の負担を減らすことができる。
【００７５】
図１７は、第三の実施形態に係る複合機における図１６に示したＨＤＤ９内に構築するファイルシステム３１の例を説明する図である。
図示のように、ファイルシステム３１は、６つのパーティション（ａ〜ｆパーティション）に区切られており、ｅパーティションを設定情報やログ情報を記録するためのログ記録用ファイルシステム、ｆパーティションを画像データを記録するための画像形成用ファイルシステムとしている。
【００７６】
本実施形態において、図１６に示した画像形成プログラム２１は、ファイルシステム３１の各パーティションのブロック長単位でＨＤＤ９へアクセスを行う。従って、ファイルシステム３１は、各パーティションのブロック長を、図４にて説明したＨＤＤ９の最内周のトラック９ｂが有するセクタ数以下のセクタ９ｃに対応するデータ量、若しくは上記統計により取得したＨＤＤ９のシークが発生し難い連続するセクタ９ｃに対応するデータ量と同一のサイズに設定する。
【００７７】
例えば、図４にて説明したＨＤＤ９の最内周のトラック９ｂが有するセクタ数以下のセクタ９ｃに対応するデータ量、若しくは上記統計により取得したＨＤＤ９のシークが発生し難い連続するセクタ９ｃに対応するデータ量が２５６ＫＢであるとしたとき、図１７の「bsize」に示すように、ファイルシステム３１は、ｆパーティションのブロック長が２５６ＫＢとなるように設定している。これにより、ＨＤＤ９のｆパーティションの一度のデータアクセスが２５６ＫＢ単位となり、このファイルのブロック長でＨＤＤ９にアクセスしてもシークが生じることなく、最適な転送速度でＨＤＤ９にアクセスできる。
【００７８】
なお、本実施形態では、各パーティションのうち、ｆパーティションのブロック長のみを、上記ＨＤＤ９のシークが発生し難い複数のセクタ９ｃに対応するデータ量に設定しているが、他のパーティションも同様のデータ量に設定してもよい。本実施形態では、ｅパーティションはログ記録用ファイルシステムであり、ｆパーティションに比してアクセスするデータ量が小さいため、ブロック長もｆパーティションに比して小さい１６ＫＢに設定している。
【００７９】
次に、上記ハードウェア及びソフトウェア構成を有する第三の実施形態の複合機における、図１６に示した画像形成プログラム２１、配信プログラム２２、ログ記録プログラム２３の処理シーケンス、即ちＨＤＤ９へのアクセス処理のシーケンスについて説明する。
【００８０】
図１８は、本複合機において、画像形成プログラム２１を実行して、ＨＤＤ９に対してデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図であり、図１９は、図１８に示すステップＳ７７における画像メモリを用いたＨＤＤ９への画像データのアクセス（読み込み／書き込み）処理を示すシーケンス図、図２０は、図１８に示したステップＳ７８におけるＨＤＤ９への画像ファイル情報のアクセス（読み込み／書き込み）処理を示すシーケンス図である。
【００８１】
本実施形態では、画像形成プログラム２１でＨＤＤ９に対して画像データのアクセスを行うにあたって、既に説明したように、ファイルシステム３１は、ログ記録用ファイルシステムと、画像形成用ファイルシステムとにパーティションを分けているから、画像データのデータ部と、画像データの情報部（ファイル情報や、メモリアドレス情報等）とをそれぞれ別のパーティションにアクセスする必要がある。
そのため、ファイルシステム３１は、データ量の比較的大きい画像データのデータ部は画像メモリを用いてＨＤＤ９の画像形成用ファイルシステムにアクセスし、データ量の比較的小さい画像データの情報部は通常のメモリを用いてＨＤＤ９のログ記録用ファイルシステムにアクセスする。
【００８２】
まず、ＨＤＤドライバ２５は、ＨＤＤドライバ２５起動直後のＨＤＤドライバ２５の初期化処理中にデータ転送用バッファを、メモリ管理２７から物理アドレスとして取得しておく（Ｓ７０）。
次に、マウントコマンド３２により、ファイルシステム３１とＨＤＤ９とを関連づけるために、図１４に示したファイルシステム３１のマウント処理を行う（Ｓ７１）。
【００８３】
マウント処理を行った後、画像形成プログラム２１は、ファイルシステム３１に対して、ファイルシステム３１上のファイルをオープンし（Ｓ７２）、オープンしたファイルがログ情報のファイルではなく、画像ファイルであることをファイルシステム３１に判断させるため、例えばfchflags等の関数を使用して、画像ファイルのフラグ情報の未使用ビットである0x8000の画像フラグを設定する（Ｓ７３）。
その後、画像形成プログラム２１は、画像メモリを画像メモリドライバ２４に対して要求し、画像メモリの取得を行い（Ｓ７４）、また、メモリ管理２７に画像メモリではない通常のメモリを要求し、取得する。
次に、取得した画像メモリ及び通常のメモリを用いてファイルシステム３１に対して画像ファイルのアクセス要求を行う（Ｓ７５）。
【００８４】
ファイルシステム３１は、上記画像ファイルの画像フラグの設定（セット）を確認すると（Ｓ７６）、画像ファイルのデータ部に対しては、画像メモリを用いたＨＤＤ９への画像データのアクセス（読み込み／書き込み）を行う（Ｓ７７）。
即ち、図１９に示すように、ファイルシステム３１は、画像ファイルのアクセス要求で引き渡されたメモリが、画像メモリであるか否かを判定するために、画像メモリの仮想アドレスが直接マップ領域に割り当てられているか否かを、アドレス判定機構２６に問い合わせを行う（Ｓ７７１）。
【００８５】
画像メモリの仮想アドレスが直接マップ領域に割り当てられていると判定されると、その後、ファイルシステム３１は、ＨＤＤドライバ２５に対してファイルのデータ部に関するアクセス要求を行う（Ｓ７７２）。
アクセス要求が行われると、既に画像メモリの仮想アドレスが直接マップ領域に割り当てられているとステップＳ７７１にて判定されているため、図６に示した画像メモリを用いたＨＤＤ９のアクセスとは異なり、アドレス判定は行わず、ＨＤＤドライバ２５がアドレス変換機構２８にて画像メモリの仮想アドレスを物理アドレスに変換し、画像メモリを用いたＨＤＤ９のアクセス（読み込み／書き込み）を行う（Ｓ７７３）。
その後、ＨＤＤドライバ２５は、ファイルシステム３１に対してファイルのデータ部へのアクセスが完了した旨の応答（ファイルのデータ部に関するアクセス応答）を行う（Ｓ７７４）。
【００８６】
続いて、ファイルシステム３１は、図１８に示すように、ファイルの情報部に対しては、ＨＤＤ９への画像ファイル情報のアクセス（読み込み／書き込み）を行う（Ｓ７８）。
即ち、図２０に示すように、ファイルシステム３１は、画像ファイルのアクセス要求で引き渡されたメモリが、画像メモリであるか否かを判定するために、メモリの仮想アドレスが直接マップ領域に割り当てられているか否かを、アドレス判定機構２６に問い合わせを行う（Ｓ７８１）。
上記メモリの仮想アドレスが直接マップ領域に割り当てられていないと判定されると、ファイルシステム３１は、ファイル情報部に関するアクセスであると判断し、ＨＤＤドライバ２５に対してファイルの情報部に関するアクセス要求を行う（Ｓ７８２）。
【００８７】
このＨＤＤアクセス要求が行われると、既にメモリの仮想アドレスが直接マップ領域に割り当てられていないとステップＳ７８１にて判定されているため、図８及び図９に示した通常時のＨＤＤ９のアクセスとは異なり、アドレス判定は行わず、ステップＳ７０にて取得した転送用バッファを用いてＨＤＤ９にアクセス（読み込み／書き込み）を行う（Ｓ７８３）。
ＨＤＤドライバ２５は、ファイルシステム３１に対してファイルの情報部へのアクセスが完了した旨の応答（ファイルの情報部に関するアクセス応答）を行う（Ｓ７８４）。
【００８８】
なお、図１７に示したように、このファイルシステム３１は、パーティション毎にブロックサイズが設定されているため、ファイルのデータ部及び情報部のアクセスがブロック単位に行われる。従って、図１８に示すステップＳ７７のファイルのデータ部に対するＨＤＤ９のアクセス、及びステップＳ７８のファイルの情報部に対するＨＤＤ９へのアクセスは、ブロック単位で全データ量のアクセスが完了するまで複数回繰り返す（図中波線にて省略）。
【００８９】
ファイルのデータ部及び情報部に対してＨＤＤ９へのアクセスを行うと、ファイルシステム３１は、画像形成プログラム２１に対して画像ファイルのアクセス応答を行い（Ｓ７９）、画像形成プログラム２１はファイルシステム３１のファイルをクローズする（Ｓ８０）。
【００９０】
なお、図１９に示した画像ファイルのデータ部に関するアクセス要求及びアクセス応答（Ｓ７７２，Ｓ７７４）は、図５に示した処理と同様に、プログラム（ファイルシステム３１）とＨＤＤドライバ２５とでメモリを共有しているため、ＨＤＤ９へのアクセス中（メモリをドライバが使用しているとき）はプログラム（ファイルシステム３１）が動作することを許可できない。従って、図１９に示したステップＳ７７２のファイルのデータ部に関するアクセス要求、及びステップＳ７７４のアクセス応答を行うときは、プログラム（ファイルシステム３１）と同期処理を行う必要がある。
【００９１】
また、図２０に示したＨＤＤ９への画像ファイル情報のアクセス（読み込み／書き込み）処理では、図８及び図９に示した処理と同様に、プログラム（ファイルシステム３１）とＨＤＤドライバ２５とでメモリを共有していないため、非同期処理をすることができる。従って、ステップＳ７８２におけるファイル情報部に関するアクセス要求、及びステップＳ７８４におけるファイル情報部に関するアクセス応答は同期処理、非同期処理は問わず、いずれの方法で処理を行ってもよい。
【００９２】
次に、図１６に示したログ記録プログラム２３及び配信プログラム２２の処理シーケンスについて説明する。
図２１は、本複合機において、配信プログラム２２を実行して、ＨＤＤ９に対してデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図である。
なお、本実施形態においては、ログ記録プログラム２３を実行した時のＨＤＤ９に対するアクセス（読み込み／書き込み）を行う処理のシーケンスは、配信プログラム２２を実行したときのシーケンスと同一である。
【００９３】
まず、ＨＤＤドライバ２５は、ＨＤＤドライバ２５起動直後の初期化処理中にデータ転送用バッファを、メモリ管理２７から物理アドレスとして取得しておく（Ｓ９０）。
その後、ファイルシステム３１をＨＤＤ９に関連づけるために、図１４に示したファイルシステム３１のマウント処理を行う（Ｓ９１）。
マウント処理が完了する、即ちファイルシステム３１がマウントされると、配信プログラム２２は、ファイルシステム３１上のファイルをオープンする（Ｓ９２）。続いて、配信プログラム２２は、メモリ管理２７よりメモリを取得し（Ｓ９３）、そのメモリを用いてファイルシステム３１に対してファイルへのアクセス要求を行う（Ｓ９４）。
【００９４】
ファイルシステム３１は、上記画像ファイルの画像フラグの設定がクリアされていることを確認し（Ｓ９５）、ＨＤＤドライバ２５に対してＨＤＤ９へのアクセス要求を行う（Ｓ９６）。
このＨＤＤアクセス要求によって、図８及び図９に示したように、ＨＤＤドライバ２５は、取得したメモリの仮想アドレスの判定をアドレス判定機構２６に要求し、直接マップ領域に割り当てられたアドレスでないと判定されると、ステップＳ９０にて取得した転送用バッファを用いてＨＤＤ９にアクセス（読み込み／書き込み）を行う（Ｓ９７）。
ＨＤＤ９のアクセスが終了すると、ＨＤＤドライバ２５は、ファイルシステム３１に対してＨＤＤアクセス応答を行い（Ｓ９８）、ファイルシステム３１はこの応答により配信プログラム２２に対して、ファイルアクセス応答を行う（Ｓ９９）。
最後に、配信プログラム２２は、ファイルシステム３１に対してファイルクローズを行う（Ｓ１００）。
【００９５】
以上で説明したように、本実施形態では、画像形成プログラム２１と配信プログラム２２はファイルシステム３１を共有しているため、配信プログラム２２の実行時に画像形成プログラム２１とプロセス間通信を行うことなく、画像データを取得して他のＰＣに配信することができる。
また、本実施形態では、図１４に示したように、設定情報、ログ情報等に係るデータのパーティション（ｅパーティション）と、画像データに係るパーティション（ｆパーティション）とを区分けしているので、それぞれのデータの特性に合わせたパラメータでファイルシステム３１を構築することができ、効率よくＨＤＤ９にアクセスすることができる。
【図面の簡単な説明】
【００９６】
【図１】本発明のＨＤＤのアクセス方法を実施する画像形成装置の第一の実施形態である複合機のハードブロック図である。
【図２】複合機のソフトウェア構成を示す図である。
【図３】複合機におけるメモリ管理の一例について説明する図である。
【図４】ＨＤＤのディスク管理を説明する図である。
【図５】画像形成プログラムを実行して、ＨＤＤに対してデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図である。
【図６】画像メモリを用いたＨＤＤのアクセス（読み込み／書き込み）処理を示すシーケンス図である。
【図７】ログ記録プログラムを実行して、ＨＤＤに対してデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図である。
【図８】通常時のＨＤＤのアクセス（読み込み）処理の例を示すシーケンス図である。
【図９】通常時のＨＤＤのアクセス（書き込み）処理の例を示すシーケンス図である。
【図１０】配信プログラムを実行することにより、画像形成プログラムに対してＨＤＤの蓄積画像を要求したときの処理シーケンスを示す図である。
【図１１】複合機のソフトウェア構成を示す図である。
【図１２】画像形成プログラムを実行して、ＨＤＤに対してデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図である。
【図１３】ログ記録プログラムを実行して、ＨＤＤに対してデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図である。
【図１４】マウント処理のシーケンスを示す図である。
【図１５】配信プログラムを実行することにより、画像形成プログラムに対してＨＤＤの蓄積画像を要求したときの処理シーケンスを示す図である。
【図１６】第三の実施形態に係る複合機のソフトウェア構成を示す図である。
【図１７】ＨＤＤ内に構築するファイルシステムの例を説明する図である。
【図１８】画像形成プログラムを実行して、ＨＤＤに対してデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図である。
【図１９】画像メモリを用いたＨＤＤのアクセス（読み込み／書き込み）処理を示すシーケンス図である。
【図２０】ＨＤＤへの画像ファイル情報のアクセス（読み込み／書き込み）処理を示すシーケンス図である。
【図２１】配信プログラムを実行して、ＨＤＤに対してデータのアクセス（読み込み／書き込み）を行う処理のシーケンス図である。
【符号の説明】
【００９７】
１・・・コントローラ、２・・・オペレーションパネル、３・・・ＦＣＵ、４・・・エンジン部、５・・・ＣＰＵ、６・・・システムメモリ、７・・・ＡＳＩＣ、８・・・ＲＯＭ、９・・・ＨＤＤ、１０・・・ＮＩＣ、１１・・・ＳＤカード用スロット、１２・・・ＵＳＢデバイス、１３・・・ＩＥＥＥ１３９４デバイス、１４・・・セントロニクス、２０，２９，３３・・・ＯＳ、２１・・・画像形成プログラム、２２・・・配信プログラム、２３・・・ログ記録プログラム、２４・・・画像メモリドライバ、２５・・・ＨＤＤドライバ、２６・・・アドレス判定機構、２７・・・メモリ管理、２８・・・アドレス変換機構、３０・・・画像形成ファイルシステム、３１・・・ファイルシステム、３２・・・マウントコマンド。
【図１】
2010020540.tif 000003
【図２】
2010020540.tif 000004
【図３】
2010020540.tif 000005
【図４】
2010020540.tif 000006
【図５】
2010020540.tif 000007
【図６】
2010020540.tif 000008
【図７】
2010020540.tif 000009
【図８】
2010020540.tif 000010
【図９】
2010020540.tif 000011
【図１０】
2010020540.tif 000012
【図１１】
2010020540.tif 000013
【図１２】
2010020540.tif 000014
【図１３】
2010020540.tif 000015
【図１４】
2010020540.tif 000016
【図１５】
2010020540.tif 000017
【図１６】
2010020540.tif 000018
【図１７】
2010020540.tif 000019
【図１８】
2010020540.tif 000020
【図１９】
2010020540.tif 000021
【図２０】
2010020540.tif 000022
【図２１】
2010020540.tif 000023