(57)【特許請求の範囲】
【請求項１】
画像データを含むデータ及び該データのメモリを管理する複数のバンド情報管理テーブルを１単位のグループとして複数のグループを記録したハードディスクと、複数のバンド情報管理テーブルグループを管理する複数のページ情報管理テーブル及び前記複数のグループの一部である所定数の前記バンド情報管理テーブルグループを記録した記憶部と、を備えたデータ管理制御装置であって、
前記バンド情報管理テーブルグループは、ページに付帯する少なくともバンド番号、バンド付帯情報、次のバンドのＩＤを含むバンド情報を記録した所定数のバンド情報管理テーブルを１単位のグループとする複数のグループから成り、
前記ページ情報管理テーブルは、少なくともページ番号、ページ付帯情報、該ページの先頭のバンドのＩＤを含み、
前記記憶部に記録されたページ情報管理テーブルのページ番号から該当ページ番号を持つバンド情報管理テーブルを同定する手段と、
前記同定されたバンド情報管理テーブルを含むバンド情報管理テーブルグループの記憶部における有無を判断し、同定されたバンド情報管理テーブルグループが記憶部にないときは、ハードディスクから該当するバンド情報管理テーブルグループを読み出し、記憶部にある最近アクセスされていないバンド情報管理テーブルグループを前記読み出したバンド情報管理テーブルグループで更新する手段と、
前記更新対象となる記憶部のバンド情報管理テーブルグループをハードディスクに記録する手段と、
を備えたことを特徴とするハードディスクのデータ管理制御装置。
【請求項２】
請求項１に記載されたハードディスクのデータ管理制御装置において、
記憶部における前記バンド情報管理テーブル中のバンド情報からハードディスクに記録された画像情報を含むデータを得る手段を備えたことを特徴とするハードディスクのデータ管理制御装置。
【請求項３】
請求項１又は２に記載されたデータ管理制御装置を備えた画像形成装置。
【請求項４】
ハードディスクのデータの管理を記憶部の管理テーブルで行うデータ管理制御方法であって、
ハードディスクに、画像データを含むデータ及び該データのメモリを管理するページに付帯する少なくともバンド番号、バンド付帯情報、次のバンドのＩＤを含むバンド情報を記録した所定数のバンド情報管理テーブルを１単位のグループとして複数のグループを記録する工程と、
記憶部に、バンド情報管理テーブルグループを管理する少なくともページ番号、ページ付帯情報、該ページの先頭のバンドのＩＤを含む複数のページ情報管理テーブル、及び前記バンド情報管理テーブルグループの一部である所定数の前記バンド情報管理テーブルグループをそれぞれ記録する工程と、
前記記憶部に記録されたページ情報管理テーブルのページ番号から該当バンド情報管理テーブルを同定する工程と、
前記同定されたバンド情報管理テーブルを含むバンド情報管理テーブルグループの記憶部における有無を判断する工程と、
同定されたバンド情報管理テーブルグループが記憶部にないとき、ハードディスクから該当するバンド情報管理テーブルグループを読み出し、記憶部にある最近アクセスされていないバンド情報管理テーブルグループを前記読み出したバンド情報管理テーブルグループを更新する工程と、
前記更新対象となる記憶部のバンド情報管理テーブルグループをハードディスクに記録する工程と、
を備えたことを特徴とするハードディスクのデータ管理制御方法。
【請求項５】
請求項４に記載されたハードディスクのデータ管理制御方法において、
記憶部における前記バンド情報管理テーブル中のバンド情報からハードディスクに記録された画像情報を含むデータを得る工程を備えたことを特徴とするハードディスクのデータ管理制御方法。
【請求項６】
ハードディスクに、画像データを含むデータ及び該データのメモリを管理するページに付帯する少なくともバンド番号、バンド付帯情報、次のバンドのＩＤを含むバンド情報を記録した所定数のバンド情報管理テーブルを１単位のグループとする複数のグループを記録する工程と、
記憶部に、バンド情報管理テーブルグループを管理する少なくともページ番号、ページ付帯情報、該ページの先頭のバンドのＩＤを含む複数のページ情報管理テーブル、及び前記バンド情報管理テーブルグループのグループの一部である所定数の前記バンド情報管理テーブルグループをそれぞれ記録する工程と、
前記記憶部に記録されたページ情報管理テーブルのページ番号から該当バンド情報管理テーブルを同定する工程と、
前記同定されたバンド情報管理テーブルを含むバンド情報管理テーブルグループの記憶部における有無を判断する工程と、
同定されたバンド情報管理テーブルグループが記憶部にないとき、ハードディスクから該当するバンド情報管理テーブルグループを読み出し、記憶部にある最近アクセスされていないバンド情報管理テーブルグループを前記読み出したバンド情報管理テーブルグループを更新する工程と、
前記更新対象となる記憶部のバンド情報管理テーブルグループをハードディスクに記録する工程と、を実行するためのプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項７】
請求項６に記載されたプログラムを記録したコンピュータ読取可能な記録媒体において、
記憶部における前記バンド情報管理テーブル中のバンド情報からハードディスクに記録された画像情報を含むデータを得る工程、を実行するためのプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ハードディスク上に記録された印刷データのような画像データを含むデータの管理を記憶部上の管理テーブルで行うデータメモリの管理制御に関し、具体的にはメモリ管理制御装置、同制御方法及び、同制御処理を実行するためのプログラムを記録したコンピュータ読み取り可能記録媒体に関するものである。
【０００２】
【従来の技術】
従来のハードディスクのデータの管理制御では、ハードディスクのデータの管理テーブルを全てＲＡＭ上に持つと、必要メモリ量が増大することから管理エリアが大きくなってしまうという問題があった。
また、ハードディスク側の画像管理テーブルをハードディスク側に持つ場合には、画像検索を行う毎にハードディスクにアクセスしなければならないため、処理時間が長くなるという問題があった。
【０００３】
【発明が解決しようとする課題】
本発明は、このような従来技術の持つ問題を解決し、必要メモリ量を押さえ、かつ、処理時間が速いデータ処理が行えるようにハードディスクのデータの管理を行うことを目的とすると共に、データ管理を単純化し、かつ、記憶部とハードディスクのファイルシステムエリアを効率的にスワップできるようにすることも目的とする。
【０００４】
【課題を解決するための手段】
請求項１の発明は、画像データを含むデータ及び該データのメモリを管理する複数のバンド情報管理テーブルを１単位のグループとして複数のグループを記録したハードディスクと、複数のバンド情報管理テーブルグループを管理する複数のページ情報管理テーブル及び前記複数のグループの一部である所定数の前記バンド情報管理テーブルグループを記録した記憶部と、を備えたデータ管理制御装置であって、前記バンド情報管理テーブルグループは、ページに付帯する少なくともバンド番号、バンド付帯情報、次のバンドのＩＤを含むバンド情報を記録した所定数のバンド情報管理テーブルを１単位のグループとする複数のグループから成り、前記ページ情報管理テーブルは、少なくともページ番号、ページ付帯情報、該ページの先頭のバンドのＩＤを含み、前記記憶部に記録されたページ情報管理テーブルのページ番号から該当ページ番号を持つバンド情報管理テーブルを同定する手段と、前記同定されたバンド情報管理テーブルを含むバンド情報管理テーブルグループの記憶部における有無を判断し、同定されたバンド情報管理テーブルグループが記憶部にないときは、ハードディスクから該当するバンド情報管理テーブルグループを読み出し、記憶部にある最近アクセスされていないバンド情報管理テーブルグループを前記読み出したバンド情報管理テーブルグループで更新する手段と、前記更新対象となる記憶部のバンド情報管理テーブルグループをハードディスクに記録する手段と、を備えたことを特徴とする。
【０００５】
請求項２の発明は、請求項１に記載されたハードディスクのデータ管理制御装置において、記憶部における前記バンド情報管理テーブル中のバンド情報からハードディスクに記録された画像情報を含むデータを得る手段を備えたことを特徴とする。
【０００７】
請求項３の発明は、請求項１又は２に記載されたデータ管理制御装置を備えた画像形成装置である。
【０００８】
請求項４の発明は、ハードディスクのデータの管理を記憶部の管理テーブルで行うデータ管理制御方法であって、ハードディスクに、画像データを含むデータ及び該データのメモリを管理するページに付帯する少なくともバンド番号、バンド付帯情報、次のバンドのＩＤを含むバンド情報を記録した所定数のバンド情報管理テーブルを１単位のグループとして複数のグループを記録する工程と、記憶部に、バンド情報管理テーブルグループを管理する少なくともページ番号、ページ付帯情報、該ページの先頭のバンドのＩＤを含む複数のページ情報管理テーブル、及び前記バンド情報管理テーブルグループの一部である所定数の前記バンド情報管理テーブルグループをそれぞれ記録する工程と、前記記憶部に記録されたページ情報管理テーブルのページ番号から該当バンド情報管理テーブルを同定する工程と、前記同定されたバンド情報管理テーブルを含むバンド情報管理テーブルグループの記憶部における有無を判断する工程と、同定されたバンド情報管理テーブルグループが記憶部にないとき、ハードディスクから該当するバンド情報管理テーブルグループを読み出し、記憶部にある最近アクセスされていないバンド情報管理テーブルグループを前記読み出したバンド情報管理テーブルグループを更新する工程と、前記更新対象となる記憶部のバンド情報管理テーブルグループをハードディスクに記録する工程と、を備えたことを特徴とする。
【０００９】
請求項５の発明は、請求項４に記載されたハードディスクのデータ管理制御方法において、記憶部における前記バンド情報管理テーブル中のバンド情報からハードディスクに記録された画像情報を含むデータを得る工程を備えたことを特徴とする。
【００１０】
請求項６の発明は、ハードディスクに、画像データを含むデータ及び該データのメモリを管理するページに付帯する少なくともバンド番号、バンド付帯情報、次のバンドのＩＤを含むバンド情報を記録した所定数のバンド情報管理テーブルを１単位のグループとする複数のグループを記録する工程と、記憶部に、バンド情報管理テーブルグループを管理する少なくともページ番号、ページ付帯情報、該ページの先頭のバンドのＩＤを含む複数のページ情報管理テーブル、及び前記バンド情報管理テーブルグループのグループの一部である所定数の前記バンド情報管理テーブルグループをそれぞれ記録する工程と、前記記憶部に記録されたページ情報管理テーブルのページ番号から該当バンド情報管理テーブルを同定する工程と、前記同定されたバンド情報管理テーブルを含むバンド情報管理テーブルグループの記憶部における有無を判断する工程と、同定されたバンド情報管理テーブルグループが記憶部にないとき、ハードディスクから該当するバンド情報管理テーブルグループを読み出し、記憶部にある最近アクセスされていないバンド情報管理テーブルグループを前記読み出したバンド情報管理テーブルグループを更新する工程と、前記更新対象となる記憶部のバンド情報管理テーブルグループをハードディスクに記録する工程と、を実行するためのプログラムを記録したコンピュータ読取可能な記録媒体である。
【００１１】
請求項７の発明は、請求項６に記載されたプログラムを記録したコンピュータ読取可能な記録媒体において、記憶部における前記バンド情報管理テーブル中のバンド情報からハードディスクに記録された画像情報を含むデータを得る工程、を実行するためのプログラムを記録したコンピュータ読取可能な記録媒体である。
【００２７】
【発明の実施の形態】
本発明の実施の形態を添付図面に従って説明する。
本発明のプリンタ装置は、図１にブロックで示すように、ホストコンピュータ１０とプリンタコントローラ１２及びプリンタエンジン１４とから成っている。
プリンタコントローラ１２はＣＰＵ１２２を備え、ホストインターフェース（Ｉ／Ｆ）１２１を介してホストコンピュータ１０に接続されおり、プリンタコントローラ１２のＣＰＵ１２２にはシステムバスを介して記憶部であるＲＡＭ１２４，ハードディスク１２６、ビデオＤＡＭコントローラ１２５及びセレクタ１２８が接続され、かつビデオＤＡＭコントローラ１２５は伸長器１２７に接続され、更に伸長器１２７はセレクタ１２８に接続され、セレクタ１２８は、エンジンインターフェース（Ｉ／Ｆ）１２９を介してエンジンプリンタ１４に接続されている。
本プリンタは、以上の構成によってホストコンピュータから出力された印刷データをプリンタコントローラ１２送り、プリンタコントローラ１２では受信した印刷データを一時記録し、印刷のための必要な処理を行ってプリンタエンジン１４に出力して印刷を行う等従来と同様の動作を行う。
【００２８】
図２は、プリンタコントローラ１２におけるＲＡＭ１２４の構造とハードディスク（ＨＤ）１２６との関係を示してる。
図２に示すように、ＲＡＭ１２４には、ＲＡＭの画像データ領域１２４Ｒにアクセスするための画像ページ情報管理テーブルＡ１、画像バンド情報管理テーブルＢ１が展開されており、それと共にＨＤ上の画像ページ情報管理テーブルＣ１，ＨＤ上の画像バンド情報管理テーブルの一部、ここでは（１）Ｄ１、（２）Ｄ２の各管理テーブルグループが記録されている。
図３は、図２に示すＲＡＭ上に展開されたハードディスクの画像ページ情報管理テーブルの詳細を示し、ここでは少なくともページ番号、例えば、どのクラスターから始まるかの情報であるページ付帯情報、及び先頭バンドＩＤがページ番号毎に記録されている。
ＨＤ上の画像バンド情報管理テーブルには、少なくともバンド番号、バンド付帯情報、次バンドＩＤがバンド番号毎に記載されている。
【００２９】
本発明の実施形態においては、第２図に示すように、ＲＡＭ１２４の画像を管理する領域、即ち、ＲＡＭ上の画像ページ情報管理テーブルＡ１、同じくＲＡＭ上の画像バンド情報管理テーブルＢ１は全てＲＡＭ上に確保されている。これにより、ＲＡＭ上の画像データ領域１２４Ｒへのアクセスは、ハードディスクへのアクセスを一切必要としないため、最高速度で画像を書き込み、取り出しが可能となる。
また、データの出し入れをこのような制御で行うことにより、ハードディスクが後からオプションで装着される場合のように、ハードディスクがない場合でも必要なデータの書き込み、取り出しは全てＲＡＭ上で管理することができる。
【００３０】
ところで、プリンタシステムでは、１ページを複数のバンドに分けて描画を行っているが、バンドは、例えば、１２８ラインを１バンドにする場合、１２００ｄｐｉのＡ３データでは、１ページが約８０バンドに分割されることになる。
そのため、管理ページ数を、例えば、１０，０００ページとして、これだけの管理領域を保証しようとすると、ページ情報管理領域については１０，０００個で済むものの、バンドの管理領域は８００，０００個も用意しなければならない。
ここで、バンド情報管理領域に作成される画像バンド情報管理テーブルには、バンド付帯情報としてそのバンドデータが存在するハードディスク上のアドレス（クラスタ番号等）や、データサイズ（使用クラスタ数等）を記録する必要があるため、管理テーブルを８００，０００個も持つとなると、それだけで非常に大量のＲＡＭを消費してしまうことになる。
そこで、本実施形態では、例えば、バンド情報管理テーブルを１０，０００個ずつ、８０のグループに分け、その全てをハードディスクに記録しておき、必要に応じて８０グループのうちの一つのグループをハードディスクから分割して読み出して使用するようにすることで、ＲＡＭの大量消費を抑制している。（以下の説明でグループとはこのバンド情報管理テーブルのグループのことをいう。）
【００３１】
画像データの読み出しの方法は、まずＲＡＭ上に展開されたハードディス上の画像ページ情報管理テーブルＣ１から必要な画像バンド情報管理テーブルの先頭バンドＩＤを得、その先頭バンドＩＤからＲＡＭ上に出ているグループ中の画像バンド情報管理テーブルのバンド番号にアクセスしてそのバンドデータ（バンド付帯情報）を読むことによって行われる。
ここで、獲得された先頭バンドＩＤで同定されるバンド番号のバンド情報管理テーブルを含むバンド情報管理領域グループがＲＡＭ上に無ければ、その時点でＲＡＭに出ている前記グループをハードディスクに一旦書き込み、必要な管理テーブルを含む前記グループをハードディスクから読み出す。
【００３２】
しかしながら、この様な制御を行った場合、例えば前のバンドのデータを参照して次のバンドのＩＤを得て、その後再び前のバンドのデータにアクセスしようとすると、前のバンドと次のバンドとがそれぞれ別のグループに属している場合にはハードディスクへの読み書きのアクセスが頻発してしまう。
例えば、途中の（特定の）バンドを消去しようとする場合において、消去対象の前のバンドと、消去対象のバンドとが異なるグループに属しているとすると、バンドを消去するためには、消去対象のバンドの「次バンドＩＤ」を、消去対象の前のバンドの「次バンドＩＤ」として書き込まなければならなくなる。
この様に、前のバンドと消去対象バンドを交互にアクセスすると、その度毎にハードディスクへの読み書きが発生してしまう。
【００３３】
更に別の例を挙げると、前述したように１ページのデータは、例えば、約８０バンドに分割されるが、バンドデータをハードディスクに書き込むプロセスと、このデータをハードディスクから出力するプロセスでは、それぞれ非同期でバンドのデータへのアクセスを行う。例えば、アクセスの対象となるページの１から４０バンド目までが"グループ１"に属し、４１バンド目から８０バンド目までが"グループ２"に属している場合、データを書き込むプロセスが４１バンド目を書き込むためにバンド情報管理テーブルをアクセスしようとすると、"グループ１"から"グループ２"に切り替えるため、ハードディスクへのアクセスが発生する。
しかし、データを出力するプロセスではその後、例えば、２０バンド目を読み出すためにバンド情報管理領域をアクセスするとすると、ここでまた、"グループ２"から"グループ１"に切り替えるため、ハードディスクへのアクセスが発生する。この様に、読み書きを繰り返すと、その度にハードディスクへのアクセスが発生してしまい、効率が悪いという問題がある。
【００３４】
そこで、ここでは、このグループを一度に２面分ＲＡＭに置くようにし、更に、それぞれのグループへのアクセス状況によってＲＡＭに出ていないグループへのアクセスがあった場合には、どちらの面のグループを取り出すかを選択できるようにすることで、管理データのためのハードディスクへのアクセスを少なくしている。
この制御における処理を第４図に示す動作フローチャートを参照して説明する。
ページ番号＝ＮのＭバンド目をアクセスする場合、ＲＡＭ上に展開されたハードディスク上の画像ページ情報管理テーブルから、対象となるページ番号を持つものを検索し（Ｓ１０１）、ページ番号があれば（Ｓ１０２、ＹＥＳ）、画像ページ情報管理テーブルから先頭バンドＩＤを得（Ｓ１０４）、ページ番号が無ければ（Ｓ１０２，ＮＯ）、エラーとして処理を終了する（Ｓ１０３）。
先頭バンドＩＤを得ると、次にバンドＩＤに対応するバンド情報管理テーブルグループがＲＡＭ上にあるか否か判断し、あれば（Ｓ１０５、ＮＯ）必要なデータにアクセスし、「最近アクセスされた」というフラグを立て（Ｓ１０８）、更にアクセスした以外のグループの「最近アクセスされた」というフラグを落として（Ｓ１０９）処理を終了する。
ステップＳ１０５において、バンドＩＤに対応するバンド情報管理テーブルグループがＲＡＭ上にない場合には（Ｓ１０５、ＮＯ）、「最近アクセスされた」というフラグが立っていない方のＲＡＭにあるデータをハードディスクに書き出し（Ｓ１０６）、次に「最近アクセスされた」というフラグが立っていない方のＲＡＭに必要な管理テーブルグループを読み出す（Ｓ１０７）。その後前記ステップＳ１０８、Ｓ１０９を実行して処理を終了する。
このフローチャートでは、２面分をＲＡＭを持ち、単純に「直前にアクセスされたかどうかを示すフラグ」で、どちらの面に必要なグループを読み出すかを決定するような例を示しているが、もちろん、例えば３面分以上をＲＡＭを持ち、フラグでなく例えばアクセスされた回数をカウンタを用い計数して、どの面に必要なグループを読み出すか決定するようにしてもよいことは勿論である。
【００３５】
以上、管理テーブルの一部をＲＡＭに持ち、ハードディスクの管理データがハードディスクのどの位置に記録されているか等を記憶しておくが、この場合には、データ管理が複雑になったり、またＲＡＭとハードディスクのメモリ内容を入れ替えるスワップ（Swap）が効率的に行えなくなることがある。そこで、この点を改良するためのＲＡＭとハードディスクのメモリ内容の入れ替え（Swap）について説明する。
この場合、FAT（File Allocation Table）、即ち画像管理エリアの管理テーブルが使用され、特に、PageFAT、BandFAT、DescFATが使用される。
ここで、PageFATとは、そのページがどのような属性を持っていて、どのようなバンドから成り立っているか等、ページ毎の情報を示す構造体のことである。又、BandFATとは、PageFATで示されるページの下位概念で、バンド毎の、圧縮、非圧縮などの属性や、１ページを複数のエリアに分割したバンドエリアが、どのようなディスクリプタの寄せ集めによって成り立っているか等、バンド毎の情報を示す構造体のことであり、更に、DescFATとは、BandFATで示されるバンドが、実際にRAMやHDの何クラスタ目から、合計何クラスタを使用しているか等の情報を示す構造体のことである。
図５は、ＲＡＭ上に存在するハードディスクの管理テーブルの構造図であり、１つのPageFATは、一つあるいは複数のBandFATにリンクされ、１つのBandFATは、一つあるいは複数のDescFATにリンクされて１ページ分のデータを構成する。
【００３６】
このようなテーブルによるデータの管理方式では、例えばプリンタアプリケーションによって描画された画像データは、まず、ＲＡＭに置かれた画像データは、図５に示されるＲＡＭのPageFAT/BandFAT/DescFATによって管理され、それぞれ、ＲＡＭのどのブロックを使用して存在しているかが管理される。
このＲＡＭ中のデータをハードディスクに転送する際は、同じようにハードディスクのPageFAT/BandFAT/DescFATが作られ、ＦＡＴの情報がコピーされるとともに、ＲＡＭのDescFATで示される部分にある画像データがハードディスクのDescFATで示される部分に転送される。
【００３７】
図５に示されるような、ハードディスクのデータを管理するテーブルが、ＲＡＭ内に存在するすることにより、ハードディスクのファイルシステム管理エリアは、画像データと全く同じ手続きでＲＡＭからハードディスクへ、また、ハードディスクからＲＡＭへの入れ替えが可能となる。
【００３８】
さらに、2100ページを管理できるファイルシステムで６ＧＢのエリアを制御する場合の制御例を図６を参照して説明する。なお、数値などについては、あくまでも一例である。
図６は、ＲＡＭ上のハードディスクのデータの管理テーブルとハードディスク上の前記データの管理テーブルの関連を示す図であり、ハードディスクのデータの管理テーブルは、「ページ管理エリア(PageFAT)」と「クラスタ使用未使用マップ(ClusterMap)」を全てＲＡＭ上に持ち、ページの生成、削除などに同期してハードディスクにコピーされる。
「バンド管理エリア(BandFAT)」、及び「ディスクリプタ管理エリア(DescFAT)」に関しては、ハードディスクのクラスタサイズ(例えば３２KB)に収まる分、それぞれ２面分をＲＡＭに持ち、必要な管理情報をハードディスクから読み出して使用する。
【００３９】
管理するページ数と、ハードディスクの容量から、例えば各ＦＡＴの管理数は以下のようになる。
（画像のページ数を2000ページ確保するために、ファイルシステム用の１４１個を足して2141ページ分の管理をする。）
PageFAT ・・・・2141個
ClusterMap・・・1個
BandFAT ・・・・160000個
DescFAT ・・・・162080個
ここで、PageFATが2141個なのは、ファイルシステムを登録するエリアのために１４１個分使用するためである。
ハードディスク用のBandFAT一つあたりの大きさは、16Byteなので、32KBの中には、(32*1024 / 16)= 2048個のBandFATを記憶することができる。
ＲＡＭ上には、この32KBのエリアを２面持つので、合計4096個分のBandFATがＲＡＭに存在することになる。
残りを含む、全てのBandFATは、ハードディスクに記憶される。この場合、32KBあたり2048個のBandFAT情報が入るので、160000 / 2048 = 79個に分割されてハードディスクに記憶される。
ハードディスク用のDescFAT一つあたりの大きさは、12Byteなので、32KBの中には、(32*1024 / 12)  = 2730個のDescFATを記憶することができる。ＲＡＭ上には、この32KBのエリアを２面持つので、合計5460個分のDescFATがＲＡＭに存在することになる。
残りを含む、全てのDescFATは、ハードディスクに記憶される。この場合、32KBあたり2730個のBandFAT情報が入るので、162080 / 2730 = 60個に分割されてハードディスクに記憶される。
【００４０】
このように、BandFAT/DescFATは、その一部のみがＲＡＭに読み出されているが、現在どのBandFAT/DescFATがＲＡＭに読み出されているか、また、現在ＲＡＭにあるBandFAT/DescFATには、ＩＤ何番から何番のものが含まれるか等の情報をＲＡＭ上に記憶しておくことで、他のアクセスが同じBandFAT/DescFATに存在する場合には、Swapは発生せず、効率的にSwapさせることができる。
【００４１】
ハードディスクにファイルが存在するためには、それぞれが一つのPageFAT/BandFAT/DescFATを使用して記憶されることになる。
HdFsPageで１個、HdClusMapで１個、HdFsBandで７９個、HdFsDescで６０個、合計１４１個のＦＡＴを使用する。
つまり、HdFsPageの先頭１４１個のデータ、HdFsBand[0]の先頭１４１個のデータ、HdFsDesc[0]の先頭１４１個のデータは、それぞれハードディスクのファイルシステムを記憶するために使われていると言うことである。
何も考えずに２面分のデータをＲＡＭに持つと、Swapする際にSwapするBandFAT/DescFATがどこに入っているのかを調べるために、HdFsBand[0]/HdFsDesc[0]の内容をハードディスクから読み出さなくてはならない。これでは、せっかく２面用意しても片面は常にHdFsBand[0]/HdFsDesc[0]で占有されてしまうことになる。
このため、合計１４１個のHdFsBand / HdFsDescを記憶できるエリアをmalloc()で確保し、HdFsBand[0]/HdFsDesc[0]の内容が確定した時点でその先頭の１４１データずつをmalloc（）で確保したエリアにコピーしておくことにする。
以降、mallocで確保されたＦＡＴが入っているＦＡＴを記憶するエリアのことをSuperFATと呼ぶ。
Swap発生時は、SuperFATからハードディスク上のどこに所望のBandFAT/DescFATがあるかを検索し、元のデータをＲＡＭからハードディスクに転送した後に必要なデータをハードディスクからＲＡＭに転送する。
SuperFatに記憶されるデータは、先頭のFS部分だけであり、電源ONで確定した後は変更があり得ないことが前提となっている。
このように、ハードディスクのＦＡＴが入っている部分を管理するＦＡＴの情報をＲＡＭの他のエリア(SuperFAT)に持つことで、Swapが発生した際に、必要なＦＡＴがどのクラスタに存在するかを調べるために更にSwapが発生するなどと言う事態が抑制でき、効率的にハードディスクのＦＡＴの管理ができるようになる。
【００４２】
本願発明の以上の画像データ管理制御処理は管理制御プログラムをコンピュータ、例えば、図１に示すホストコンピュータにダウンロードすることにより実行することができる。
即ち、ＲＡＭ上に記録されたページ情報管理テーブルの該当ページ情報から該当バンド情報管理テーブルを同定し、同定されたバンドを含むバンド情報管理テーブルグループがＲＡＭにあるか無いか判断し、同定されたバンド情報管理テーブルがＲＡＭ上にあれば、ＲＡＭ上の該当するバンド情報管理テーブルからハードディスク上に記録された画像情報にアクセスする各処理を行い、ないときには、ハードディスクから該当するバンド情報管理テーブル（該当するバンド情報管理テーブルを含むグループ）を読み出し、現にＲＡＭに記録されているバンド情報管理テーブルを含むグループを前記読み出したバンド情報管理テーブルを含むグループで更新し、その際、ＲＡＭに複数のバンド情報管理テーブルグループが記録されていれば、前記各グループに優先度を付け、優先度に従って更新対象バンド情報管理テーブルグループを選定し、選定されたテーブルを前記読み出したテーブルグループで更新し、更に、このようにＲＡＭ上のバンド情報管理テーブルグループを更新するときは、該バンド情報管理テーブルをハードディスク上に記録する、各処理を実行するプログラムを、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータ読取可能な任意の記録媒体に記録しておくことにより、前記プログラムをコンピュータにダウンロードすることで容易に実行することができる。
【００４３】
【発明の効果】
請求項１、２、４、５に対応する効果；  ハードディスク上に記録されたデータの管理を全て記憶部で行うので、ハードディスクのデータへ迅速にアクセスすることができ、その管理が容易且つ迅速にできる。
また、ハードディスクの画像管理テーブルのうち、一部のテーブル即ちページに関するテーブルは全て記憶部上に持ち、バンド情報などページに付帯する情報の一部は記憶部で持ち、他の部分はハードディスク上に持つようにしたので、処理速度を確保しつつ画像管理のために必要な記憶部容量を低く抑えることができる。
記憶部上に該当するバンド情報管理テーブルが存在しないとき、ハードディスク上の該当するバンド情報管理テーブルを読み出し、記憶部に記録できるようにしたことにより、不要なテーブルを記憶部上に持つ必要がないから、記憶部のメモリエリアの有効利用を図ることができる。
記憶部には常に使用優先度の高いバンド情報管理テーブルを置くことができるため、複数のバンド情報管理テーブルを用いて広範な画像情報の管理を容易かつ迅速に行うことができる。
記憶部から削除したバンド情報管理テーブルはハードディスクに必ず記録するので、常に作業中に前記テーブルが読み出せなくなるおそれはない。
請求項３に対応する効果；  請求項１又は２に記載された画像データ管理制御装置を任意の画像形成装置に備えることにより、ハードディスクに記録された画像データを用いた処理を迅速に行うことができる。
請求項６、７に対応する効果；  ハードディスク上に記録されたデータ管理を記憶部に記録されたテーブルで行うデータ管理制御を実行するプログラムをコンピュータ読取可能な記録媒体に記録したことにより、前記プログラムをメモリ管理制御装置のコンピュータに読みとらせることにより、メモリの管理制御を容易に実行することができる。
【図面の簡単な説明】
【図１】  本発明を適用した画像形成装置の一例としてのプリンタ装置のブロックで示した構成図である。
【図２】  ＲＡＭとハードディスクの画像管理エリア全体を概略的に示した図である。
【図３】  ＲＡＭにおける画像管理エリアに記録された画像ページ情報管理テーブルと画像情報バンドテーブルの内容及び両者とハードディスクに記録された画像データとの関係を説明するための図である。
【図４】  本発明の画像データ管理制御処理の一例を示すフロー図である。
【図５】  ＲＡＭ上に存在するハードディスクの管理テーブルの構造図である。
【図６】  ＲＡＭ上のハードディスクのデータの管理テーブルとハードディスク上の前記データの管理テーブルの関連を示す図である。
【符号の説明】
１０・・ホストコンピュータ、１２・・プリンタコントローラ、１４・・プリンタエンジン、１２４・・ＲＡＭ、１２６・・ハードディスク
【図１】
0004059469.tif 000002
【図２】
0004059469.tif 000003
【図３】
0004059469.tif 000004
【図４】
0004059469.tif 000005
【図５】
0004059469.tif 000006
【図６】
0004059469.tif 000007