JP2004265408A - メモリ管理方法 - Google Patents

メモリ管理方法 Download PDF

Info

Publication number
JP2004265408A
JP2004265408A JP2004049362A JP2004049362A JP2004265408A JP 2004265408 A JP2004265408 A JP 2004265408A JP 2004049362 A JP2004049362 A JP 2004049362A JP 2004049362 A JP2004049362 A JP 2004049362A JP 2004265408 A JP2004265408 A JP 2004265408A
Authority
JP
Japan
Prior art keywords
memory
segment
print job
store
ram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2004049362A
Other languages
English (en)
Inventor
Douglas J Mellor
ダグラス・ジェイ・ミラー
Justen R Meltz
ジャスティン・アール・メルツ
Perry Lea
ペリー・リー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2004265408A publication Critical patent/JP2004265408A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)
  • Memory System (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】プリントジョブデータをレーザプリンタ等の画像形成装置のメモリに格納する方法を提供すること。
【解決手段】メモリの管理方法を提供する。この方法の一実施形態は、セグメントに分割可能なデータを受け取るステップ含む。各セグメントに対して、RAMのような第1のメモリに格納するか、ハードディスクのような第2のメモリに格納するかが決定される。各セグメントは、決定された場所に記憶される。第1のメモリに格納ことが決定された各セグメントが格納される間、第1のメモリが使い尽くされたかどうかを判断する。第1のメモリが使い尽くされたと判断されたとき、第1のセグメントに格納されるべきセグメントは、代わりに第2のメモリに格納される。
【選択図】図3

Description

本発明は、メモリの管理に関する。詳細には、本発明は、プリントジョブデータをレーザプリンタ等の画像形成装置のメモリに格納する方法を管理することを対象とする。
画像形成装置にプリントジョブデータを格納するにはいくつかの方法がある。多くの画像形成装置は、ランダムアクセスメモリ(RAM)と組合せてハードディスクドライブを使用する。RAMは、データがプリントエンジンに供給される際にプリントジョブデータかまたはプリントジョブデータのセグメントを格納するために使用する。ハードディスクは、より多量のプリントジョブデータを格納しRAMに負担が掛かり過ぎないようにするために使用する。
プリントジョブの単一コピーをプリントする場合、各ページまたはそのセグメントを表すデータを、一時的にRAMのセクションに格納しプリントする。そのページまたはセグメントがプリントされると、そのRAMのセクションを解放し、後続のプリントするページまたはセグメントを格納するために使用することができる。しばしば、ユーザは、単一プリントジョブの複数の丁合コピーをプリントするように望む。これらの場合、各ページまたはセグメントのデータを、メモリのセクションに格納する。プリントジョブデータを格納するために使用するメモリのセクションは、すべてのコピーがプリントされるまで解放されない。
通常の画像形成装置では、ハードコピーはRAMよりはるかに大きいメモリ容量を有する。たとえば、RAMがしばしば100〜200メガバイトに制限されるのに対し、ハードディスクは20ギガバイト以上のデータを格納することができる。そのため、相対的に大きいプリントジョブの複数の丁合コピーをプリントする場合、しばしばすべてのプリントジョブデータを格納するために十分なRAMがなく、ハードディスクを利用しなければならない。しかしながら、データは、ハードディスクからよりRAMからの方がずっと高速に検索し処理することができる。各コピーをより効率的にプリントするために、プリントジョブデータを可能な程度までRAMに格納するべきである。RAMが一杯になると、残りのデータをハードディスクに格納するべきである。
メモリ管理方法であって、セグメントに分割可能なデータを受取るステップと、各セグメントに対し、セグメントを第1のメモリに保存するか第2のメモリに保存するかを決定するステップと、前記セグメントを決定された位置に保存するステップと、前記第1のメモリに保存されるように決定された各セグメントを保存する間に、前記第1のメモリが使い尽くされているか否かを判定するステップと、前記第1のメモリが使い尽くされているとき、前記セグメントを代りに前記第2のメモリに保存するステップと、を含む。
概論
プリンタおよびコピー機等の画像形成装置は、しばしばプリントジョブの複数の丁合コピーをプリントするように要求される。これらの装置は、しばしば、RAM等の揮発性高速メモリとハードディスク等のそれより低速な不揮発性メモリとを有する。プリントジョブを処理する時、プリントジョブデータを格納するために利用可能な高速メモリをすべて使用する。RAMが一杯になると、残りのプリントジョブデータをハードディスクに格納する。本発明は、プリントジョブデータのRAMへの格納を停止しプリントジョブデータのハードディスクへの格納を開始する時を、能動的に確定することと受動的に確定することとをともに含む。
デフォルトとして、プリントジョブデータをRAMに格納する。受動的手法では、利用可能なRAMが使い尽くされた時を検出し、その後プリントジョブをディスクに保存し任意の必要なRAMを解放することにより反応することを伴う。能動的手法では、利用可能なRAMが使い尽くされる時を予測し、利用可能なRAMが使い尽くされないように試みることを伴う。能動的手法の例には、利用可能なRAMを監視することと、現プリントジョブに対する先のデータが格納された場所を留意することがある。利用可能なRAMがクリティカル値未満である場合または先のプリントジョブデータがディスクに格納された場合、現プリントジョブデータをディスクに格納する。
続く節では、本発明の実施形態をプリンティングに関して説明する。本発明はプリンティングに限定されず、本発明を、2つ以上のメモリロケーションを使用してデータを格納するいかなるシステムまたは方法に組込むことも可能である、ということに留意する。
2002年4月30日に出願され、「System and Method for Managing Storage of Data in Printing Devices」と題された、本願と同一の譲受人に譲渡された同時係属特許出願第10/136918号明細書は、プリントジョブデータをRAMに格納する方法を論考している。
以下の説明を、節に分割する。第1の節では、本発明の実施形態を実現してもよい環境を説明する。第2の節では、本発明の実施形態を実現するために使用する画像形成装置の物理的および論理的コンポーネントを説明する。第3の節では、本発明の実施形態を実施するために行われるステップを説明する。
環境
図1は、本発明の実施形態を実現することが有利であるプリンティング環境10を示す。環境10は、コンピュータ12および14と画像形成装置16とを含む。コンピュータ12および14は、概して、画像形成装置16にプリントジョブを送信することができる、デスクトップコンピュータ、ラップトップコンピュータまたはPDA(個人情報端末)等の任意のコンピューティング装置を表す。画像形成装置16は、概して、プリントジョブを処理し紙または透過原稿等の媒体シートにテキストおよび図形等の画像を形成することができる、ハードウェアおよびプログラミングの任意の組合せを表す。例には、プリンタ、コピー機およびファックス装置と、3つの機能をすべて提供する複合機とがある。画像形成装置が、コピー機として機能する場合、コンピュータ12および14を必要とすることなくプリントジョブを生成することができる、ということに留意する。
コンピュータ12および14と画像形成装置16とを、リンク18によって相互接続する。リンク18は、概して、通信リンク、赤外線リンク、無線周波数リンクおよび/または装置12〜16間の電子通信を可能にする他の任意のコネクタまたはシステムを介する、ケーブル、無線または遠隔接続を表す。リンク18は、イントラネット、インターネットまたはそれらの組合せを表してもよい。
プリントジョブという用語は、画像形成装置16に対して、1つまたは複数の媒体シート上に画像を生成するよう指示する一続きの命令を言う。命令には、テキスト、図形またはそれらの組合せを形成する指示があってもよい。プリントジョブを、コンピュータ12または14により、またはコピー機として機能する画像形成装置16から直接生成してもよい。また、命令には、複数の丁合コピーをプリントする指示等の仕上げ指示があってもよい。プリントジョブは、セグメントに分割可能である。セグメントは、ページであってもページの別個のセクションまたはストリップであってもよい。
ここで図2を参照すると、画像形成装置16は、複数の丁合コピーに関するプリントジョブに対して作用する場合、同時にプリントジョブを処理し第1のコピー20をプリントする。第1のコピー20は、ページa〜eを含む。処理されたプリントジョブを、プリントジョブデータと呼ぶ。プリントジョブを処理している時、画像形成装置16は、プリントジョブを表すプリントジョブデータをメモリに格納する。第1のコピー20のページa〜eがプリントされると、画像形成装置16は、必要に応じてページa〜eに対するプリントジョブデータを検索し、その後、後続するコピー22をプリントし丁合する。
コンポーネント
ここで、本発明の一実施形態の論理コンポーネントを、図3および図4のブロック図を参照して説明する。図5乃至図8は、図3および図4に示すコンポーネントの機能を説明する助けとなる。図3から始めて、画像形成装置16は、図示しない他のコンポーネントもあるが、プリントエンジン24と、ディスク26と、RAM(ランダムアクセスメモリ)28と、メモリマネージャ30と、保証モジュール32とを含む。
プリントエンジン24は、媒体シート上に画像をプリントするためにプリントジョブデータを利用することができるハードウェアおよびプログラミングを表す。たとえば画像形成装置16がレーザプリンタである場合、プリントエンジン24は、光学スキャナ、光導電ドラム、トナーおよび定着器を含む。光学スキャナは、プリントジョブデータを使用して、ドラムに亙ってレーザビームを調整する。ドラムのスキャンされた部分は、トナーを引寄せる。トナーは、ドラムから媒体シートに転写され、所望の画像を形成する。定着器は、トナー転写を永久的にする。
ディスク26は、概して任意の不揮発性メモリを表す。RAM28は、概して任意のランダムアクセスメモリを表す。メモリマネージャ30は、ディスク26およびRAM28に対してデータを読出し書込むことができる任意のプログラミングを表す。メモリマネージャ30はまた、ディスク26およびRAM28の特性を監視する責務も有する。たとえば、メモリマネージャ30は、RAM28およびディスク26における利用可能なメモリの量を識別することができる。
保証モジュール32は、プリントジョブを処理しメモリマネージャ30に対してRAM28およびディスク26にプリントジョブデータを格納するように指示することができるプログラミングを表す。プリントジョブは、画像形成装置16から受取られる時、典型的にはPDL(ページ記述言語)フォーマットである。PDLフォーマットは、プリントされたページのレイアウトおよび内容を記述する。PDLフォーマットの最新バージョンはオブジェクト指向であり、それはそれらが線、弧および円等の幾何学的対象に関してページを記述することを意味する。保証モジュール32は、プリントジョブを、プリントエンジン24が使用することができる、プリントジョブデータと呼ぶデータに変換する責務を有する。画像形成装置16がレーザプリンタであるかまたはそれを含む場合、処理には、典型的には、プリントジョブをプリントされる各ピクセルの位置および特性を定義するデータのバイナリストリームにすることが含まれる。
ここで図4を参照すると、保証モジュール32は、ラスタライザ36と、コンプレッサ38と、コントローラ40とを含む。ラスタライザ36は、概して、プリントジョブを、プリントエンジン24によってプリントされる各ピクセルの位置および特性を定義するプリントジョブデータのバイナリストリームにすることができる任意のプログラミングを表す。各ピクセルの位置および特性を定義するバイナリデータストリームは、比較的非常に大きく、RAM28を急速に消耗する。コンプレッサ38は、データストリームをより管理可能なサイズに圧縮することができるプログラミングを表す。コントローラ40は、(1)RAM28における利用可能なメモリを識別すること、(2)プリントジョブデータをRAM28に格納するかディスク26に格納するかを確定すること、および(3)それにしたがってメモリマネージャ30に対してプリントジョブデータを格納するように指示することが可能なプログラミングを表す。
保証モジュール32は、プリントジョブを処理してプリントジョブデータにする場合、プリントジョブデータをより小さいセグメントに分割し、メモリマネージャ30に対して、各セグメントをRAM28および/またはディスク26に保存するように指示する。各セグメントは、たとえば、プリントジョブのページかまたはそれより小さい部分であってもよい。
図5は、RAM28およびディスク26に格納されたプリントジョブデータを示す。プリントジョブデータは、セグメント42に分割される。各セグメント42は、この例では、プリントされるページを表す。いくつかのページをプリントするためのデータを含むセグメント42は、RAM28に格納し、他はディスク26に格納する。各セグメント42を、RAM28またはディスク26におけるセグメントの位置を指定するアドレスによって識別する。セグメント42によって満たされないRAM28の部分を、システムメモリ46および利用可能メモリ48と呼ぶ。システムメモリ46は、画像形成装置16の他のコンポーネントが使用するものであり、プリントジョブを処理するために使用することはできない。利用可能メモリ48は、現プリントジョブを処理するために利用可能なメモリを表す。プリントジョブを処理する場合、保証モジュール32は、各セグメント42と各セグメントのアドレスとを識別するデータをメタデータ44としてディスク26に格納する。
図6は、メタデータ44の例を示す。この例では、メタデータ44は、エントリ50のテーブルである。各エントリ50は、RAM28またはディスク26におけるセグメント42を表す。所与のエントリ50は、セグメントを識別するデータとそれが表すセグメント42のアドレスとを含む。セグメント42がプリントされる順序は、メタデータ44におけるそのセグメント42を表すエントリ50の位置によって影響を受ける。
ここで図7を参照すると、保証モジュール32は、プリントジョブの各ページ52をストリップ54で処理する。ストリップ52は各々、ページの一貫したセグメントを表す。図7の例では、ストリップ54を示す順序でプリントすることにより、ページ52が生成される。ページ52を処理する時、ストリップ54は、同時にラスタライズされ、圧縮され、RAM28に書込まれる。
図8は、時間の経過によるページ52の処理を例示する助けとなる。図示するタイムラインは、時間t1〜t8に分割されている。t1において、ストリップ1をラスタライズする。t2において、ストリーム2をラスタライズし、ストリップ1を圧縮する。t3において、ストリップ3をラスタライズし、ストリップ2を圧縮し、ストリップ1をRAM28に書込む。処理は、t8においてストリップ6をRAM28に書込むまで継続する。
図8はストリップをラスタライズし圧縮し書込むために必要な時間の量が等しいと推定することに留意する。事実は必ずしもそうではない。所与のストリップの複雑性に応じて、ラスタライズより圧縮に時間がかかる場合かまたはかからない場合がある。圧縮より長く時間がかかる場合、先にラスタライズされたストリップを圧縮している同じ期間中に2つ以上のストリップをラスタライズしてもよい。プロセスの後半で、圧縮よりラスタライズに時間がかかる場合がある。その場合、後続するストリップをラスタライズしている同じ期間中に2つ以上のラスタライズされたストリップを圧縮してもよい。
ページの各ストリップ54をRAM28に書込むと、保証モジュール32は、ストリップ54をRAM28のセグメント42として保持するかまたはディスク26にセグメント42を形成するようにストリップ54を転送するかを判断する。その判断を行い、RAM28またはディスク26に新たなセグメント42を追加すると、保証モジュール32は、メタデータ44に対して新たなセグメント42を表す新たなエントリ50を追加する。
動作
ここで、本発明の一実施形態の動作を、図9および図10のフローチャートを参照して説明する。図9は、複数の丁合コピーを要求するプリントジョブを処理しプリントするために行われるステップを示す。図9を、2つのセクション57および58に分割する。セクション57は、プリントジョブデータを処理し第1のコピーをプリントするステップ59〜72を含む。セクション58は、残りのコピーをプリントするステップ74〜88を含む。
セクション57で開始して、複数の丁合コピーを要求するプリントジョブを受取り(ステップ59)、変数Nのカウンタを1にセットする(ステップ60)。変数Nの値は、プリントジョブの現ページを反映する。代替的に、プリントジョブデータをストリップ54に分割することができ、変数Nは、現ストリップ54を表すことができる。コントローラ40は、ページNに対するプリントジョブデータをRAM28に格納するかディスク26に格納するかを判断し(ステップ62)、その後ページNを格納する(ステップ64)。コントローラ40は、ページNに対する参照を含むようにメタデータ44を更新する(ステップ66)。ページNをプリントする(ステップ68)。そして、ページNがプリントジョブの最終ページであるか否かを判断する(ステップ70)。そうでない場合、変数Nをインクリメントし(ステップ72)、本方法はステップ62に進む。
セクション58に移ると、ページNがプリントジョブの最終ページである場合、変数Nを1にリセットし、変数Cの新たなカウンタを2にセットする(ステップ74)。変数Cは、プリントされているかまたはその過程にあるコピーの数を表す。ステップ62〜72の間に、第1のコピーをプリントした。コピー2で開始する残りのコピーは、以下のステップでプリントする。コントローラ40は、ページNを識別するためにメタデータ44を読出す(ステップ76)。そして、ページNをディスク26から検索するかもしくはRAM28において位置を特定し、プリントする(ステップ78)。そして、ページNがコピーCの最終ページであるか否かを判断する(ステップ80)。そうでない場合、変数Nをインクリメントし(ステップ82)、本方法はステップ76を繰り返す。
ステップ80において提示した質問に対する答えが肯定である場合、プリントジョブの最後のコピーをプリントしたか否かを判断する(ステップ84)。答えが否定である場合、変数Cをインクリメントし、変数Nを1にセットし(ステップ86)、本方法はステップ76を繰り返す。答えが肯定である場合、プリントジョブは完了し、プリントジョブデータを格納するために使用するメモリを消去するかまたは解放する(ステップ88)。
ここで図10を参照し、ステップ62および64をより詳細に示す。最初に、現プリントジョブの先のページ、ページN−1に対するプリントジョブデータをRAM28に書込んだか否かを確かめる(ステップ62a)。答えが否定である場合、本方法は後述するようにステップ64aに進む。答えが肯定である場合、コントローラ40は、クリティカル値を特定する(ステップ62b)。クリティカル値は、ページNに対するプリントデータをRAM28に格納するために十分であると予測される、RAM28内のメモリの量を表す。ページNに対するプリントジョブデータがまだRAM28に保存されていないため、ページNは、どれくらいのメモリが必要となるかが既知ではない。
クリティカル値を、複数の方法で計算することができる。画像形成装置に対するクリティカル値を、工場で計算または設定してもよい。製造業者試験を、プリントデータのページを格納するために必要なメモリの平均的な量を確定するように行ってもよい。クリティカル値を、その量と等しくしてもよい。あるいはバッファを作成するために、その平均を指定の割合で増大させてもよく、クリティカル値をその増大した平均と等しくしてもよい。
クリティカル値を、製造業者により別の方法で設定してもよい。それを、プリントデータのページを格納するために必要なメモリの最大量と等しくしてもよい。所与のページに対するラスタライズされたプリントジョブデータは、圧縮される前、他の任意のページに対するラスタライズされたが圧縮されていないプリントジョブデータと同じ量のメモリを必要とする。所与のページの性質により、そのページのラスタライズされたデータを、所与の割合で圧縮することができる。たとえば、主にテキストを含むセグメントを、主に図形を含むセグメントより圧縮することができる。スキャンされた写真に対するラスタライズされたプリントジョブデータは、非常にわずかにしか圧縮することができない。プリントジョブデータを格納するために必要なメモリがクリティカル値を決して超過しないことを保証するために、クリティカル値を、ページに対する、ラスタライズされたが圧縮されていないプリントジョブデータを格納するために必要なメモリの量と等しくすることができる。あるレベルの圧縮がほぼ常に可能であるため、その値を所与の割合で低減してもよい。
クリティカル値を、製造業者によって設定するのではなく、顧客の環境における画像形成装置の履歴的使用に基づいて計算してもよい。これにより、クリティカル値を、ユーザかまたはユーザのグループのプリント習慣に基づいて最適化することができる。クリティカル値は、現プリントジョブのページをRAM28に格納するためにそれまで必要とされたメモリの最大量であってもよい。それを、識別された数の先のページのうちのページを格納するために必要なメモリの最大量を識別することによって計算してもよい。最大値は、必ずしも適当なクリティカル値ではないため、メモリの識別された最大量を、相対的に小さい割合で低減してもよい。
代りに、クリティカル値を、ページを格納するために必要なメモリの平均的な量としてもよい。その平均を、(RAM28およびディスク26における)プリントジョブの先のページかまたは2つ以上のプリントジョブに及ぶ指定された数の先のページを格納するために必要なメモリの量を監視することによって、計算してもよい。バッファを作成するために、平均を、実際の平均より大きいが先のページに必要な最大量より小さくなるように、相対的に小さい割合で人為的に増大させてもよい。
RAM28における利用可能メモリを監視し(ステップ62c)、利用可能メモリがクリティカル値を超過するか否かを判断する(ステップ62d)。答えが否定である場合、本方法はステップ64aに進み、そのページに対するプリントジョブデータをディスク26に格納する。答えが肯定である場合、本方法はステップ64cに進み、そのページに対するプリントジョブデータをRAM28に格納する。
ページNを、処理し、ステップ62aおよび62dで提示された質問に対する答えに基づいてディスク26かまたはRAM28のいずれかに格納する。現プリントジョブの先のページに対するプリントジョブデータがディスクに格納されたか(ステップ62a参照)またはRAM28における利用可能メモリがクリティカル値を超過しない(ステップ62d)場合に、ステップ64aおよび64bに達する。ステップ64aおよび64bでは、ページNを処理してディスク26に格納する。処理には、ラスタライズ、圧縮およびRAM28への書込みがある。RAM28に書込まれたページNに対するプリントジョブデータを、ディスク26に転送する。RAM28におけるページNを保持するメモリを解放し、後続するページを処理する時に使用することができる。
先のページに対するプリントジョブデータを首尾よくRAM28に格納しており(ステップ62a参照)RAM28における利用可能メモリがクリティカル値を超過する(ステップ62d)場合に、ステップ64c〜64gに達する。ステップ64cにおいてページNを処理する際、RAM28を、メモリアウト状態でないか監視する(ステップ64d)。メモリアウト状態は、RAM28における利用可能メモリが使い尽くされた場合に発生する。これは、ページNに対する実際のプリントジョブデータを格納するために必要なメモリが、ステップ62cにおいて監視したRAM28における利用可能メモリを超過した場合に発生する。十分なRAMがある限り、ページNを処理し続け、RAM28において完全に書込んで書込み禁止にする(ステップ64e)。書込み禁止には、ページに対するプリントジョブデータを書込むRAM28の部分をロックすることと、そのページのすべてのコピーがプリントされるまでそのメモリを他の目的で解放しないことがある。
十分なRAMがない場合、本方法はステップ64fに進み、ページN−1に対するプリントジョブデータ、RAM28に格納された先のページをディスク26に送信する。RAM28においてページN−1に対するプリントジョブデータを格納するために使用したメモリを解放する(ステップ64g)。そして、解放されたメモリを使用してページNを処理することができ、本方法はステップ62aに戻る。ページN−1がもはや首尾よくRAM28に格納されていないため、ステップ62aにおいて提示された質問に対する答えは否定となり、ページNをRAM28において処理し(ステップ64a)ディスク26に格納する(ステップ64b)。ページNを処理するために必要なメモリがRAM28における利用可能メモリを超過しさらなるメモリアウト状態が発生するという危険がある、ということに留意する。かかる場合、RAM28においてページNを処理するために十分なメモリが解放されるまで、先のページ(N−2、N−3等)に対するプリントデータをディスク26に移動させる。
ステップ64dにおいてメモリアウト状態を検出することは、先のページと現ページとがディスク26に格納されるようにする受動的手法である。対照的に、ステップ62aおよび62dにおいて提示された質問に基づいてプリントジョブデータを格納するか否かに関する判断に達することは、能動的手法を表す。図10に示すように、最初に能動的手法を使用する。ほとんどの場合、ステップ62bで識別されるクリティカル値は、RAM28において現ページを処理するために必要なメモリを超過する。そうでない場合、受動的手法を使用してメモリアウト状態を識別するため、RAM28において必要なメモリを解放してプリントジョブをディスク26に移動させることができる。
本方法のステップのいくつかを、画像形成装置の特定のコンポーネントによって実行されるように説明した。本方法のステップを、図示するかまたは図示しない他の方法でおよび他のコンポーネントによって実行してもよい、ということを留意する。図9および図10のフローチャートは実行の特定の順序を示すが、実行の順序は図示するものと異なってもよい。たとえば、2つ以上のブロックの実行の順序を、図示する順序に対して並べ替えてもよい。また、連続して示す2つ以上のブロックを、同時にまたは部分的に同時に実行してもよい。かかる変形はすべて、本発明の範囲内にある。
本発明を、上述した例示的な実施形態に関して示し説明した。しかしながら、添付の特許請求の範囲において定義される本発明の精神および範囲から逸脱することなく、他の形態、詳細および実施形態を行ってもよいことを理解しなければならない。
本発明の実施形態を組込んでもよいコンピューティング環境の概略図。 プリント文書とその文書の複数の丁合コピーとを示す図。 本発明の実施形態による画像形成装置のコンポーネントを示すブロック図。 本発明の実施形態による保証モジュールのコンポーネントを示すブロック図。 本発明の実施形態によるRAMとディスクとに格納されたプリントジョブデータを示すブロック図。 本発明の実施形態によるメタデータのコンテンツを示すブロック図。 ストリップに分割されたページを示す図。 時間の経過により処理されているプリントジョブデータを示す図。 本発明の実施形態によるプリントジョブの複数の丁合コピーを格納しプリントするために行うステップを示すフローチャート。 本発明の実施形態による図9の確定および処理ステップをさらに説明するフローチャート。

Claims (10)

  1. メモリ管理方法であって、
    セグメントに分割可能なデータを受取るステップと、
    各セグメントに対し、
    セグメントを第1のメモリに保存するか第2のメモリに保存するかを決定するステップと、
    前記セグメントを決定された位置に保存するステップと、
    前記第1のメモリに保存されるように決定された各セグメントを保存する間に、
    前記第1のメモリが使い尽くされているか否かを判定するステップと、
    前記第1のメモリが使い尽くされているとき、前記セグメントを代りに前記第2のメモリに保存するステップと、
    を含むメモリ管理方法。
  2. 前記第1のメモリに保存されるように決定された各セグメントを保存する間に、
    前記第1のメモリが使い尽くされているか否かを判定するステップと、
    前記第1のメモリが使い尽くされていないとき、前記セグメントを前記第1のメモリに保存し続けるステップと、
    をさらに含む請求項1に記載のメモリ管理方法。
  3. 前記第1のメモリが使い尽くされていると判定されたとき、前記第1のメモリに先に保存されたセグメントを前記第2のメモリに移動させるステップをさらに含む請求項1に記載のメモリ管理方法。
  4. 前記セグメントを第1のメモリに保存するか第2のメモリに保存するかを決定するステップは、
    限界値を特定するステップと、
    前記第1のメモリにおける利用可能メモリを監視するステップと、
    前記限界値が前記第1のメモリにおける前記監視された利用可能メモリを超過したとき、前記セグメントを前記第2のメモリに保存するように決定するステップと、
    前記限界値が前記第1のメモリにおける前記監視された利用可能メモリを超過しないとき、前記セグメントを前記第1のメモリに保存するように決定するステップと、
    を含む請求項1に記載のメモリ管理方法。
  5. 前記限界値を特定するステップは、先の複数のセグメントの各々を前記第1のメモリに保存するために必要なメモリの量の平均値を計算するステップを含む、請求項4に記載のメモリ管理方法。
  6. 前記限界値を特定するステップは、先の複数のセグメントの各々を前記第1のメモリに保存するために必要なメモリの量の平均値を計算し、その後前記平均値を増大させるステップを含む請求項4に記載のメモリ管理方法。
  7. 前記限界値を特定するステップは、先のセグメントのグループのうちの1つを保存するために必要なメモリの最大量を特定するステップを含む請求項4に記載のメモリ管理方法。
  8. 前記限界値を特定するステップは、先のセグメントのグループのうちの1つを保存するために必要なメモリの最大量を特定するステップと、前記最大値を減らすステップと、を含む請求項4に記載のメモリ管理方法。
  9. 前記セグメントを第1のメモリに保存するか第2のメモリに保存するかを決定するステップは、先のセグメントが前記第2のメモリに保存されたとき、セグメントを前記第2のメモリに保存するように決定するステップも含む、請求項4に記載のメモリ管理方法。
  10. 該セグメントを第1のメモリに保存するか第2のメモリに保存するかを決定するステップは、先のセグメントが前記第2のメモリに保存されたとき、セグメントを前記第2のメモリに保存するように決定するステップを含む、請求項1に記載のメモリ管理方法。
JP2004049362A 2003-02-28 2004-02-25 メモリ管理方法 Ceased JP2004265408A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/378,128 US20040169885A1 (en) 2003-02-28 2003-02-28 Memory management

Publications (1)

Publication Number Publication Date
JP2004265408A true JP2004265408A (ja) 2004-09-24

Family

ID=31993857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004049362A Ceased JP2004265408A (ja) 2003-02-28 2004-02-25 メモリ管理方法

Country Status (4)

Country Link
US (1) US20040169885A1 (ja)
JP (1) JP2004265408A (ja)
DE (1) DE10352395B4 (ja)
GB (1) GB2398898B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7872767B2 (en) * 2003-04-04 2011-01-18 Xerox Corporation Parallel printing system
US8176250B2 (en) * 2003-08-29 2012-05-08 Hewlett-Packard Development Company, L.P. System and method for testing a memory
US7346755B2 (en) * 2003-09-16 2008-03-18 Hewlett-Packard Development, L.P. Memory quality assurance
JP4534713B2 (ja) * 2004-10-22 2010-09-01 ブラザー工業株式会社 印刷装置及びプログラム
US20070127070A1 (en) * 2005-12-07 2007-06-07 Kabushiki Kaisha Toshiba Image forming apparatus
US20080140960A1 (en) * 2006-12-06 2008-06-12 Jason Ferris Basler System and method for optimizing memory usage during data backup
JP4995064B2 (ja) * 2007-12-21 2012-08-08 キヤノン株式会社 画像出力装置及び画像出力方法
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US10073656B2 (en) * 2012-01-27 2018-09-11 Sandisk Technologies Llc Systems and methods for storage virtualization
WO2015130799A1 (en) * 2014-02-28 2015-09-03 Intelligent Intellectual Property Holdings 2 Llc System and method for storage virtualization
CN107180405A (zh) 2016-03-10 2017-09-19 阿里巴巴集团控股有限公司 一种图片处理方法、装置和智能终端

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2513421B2 (ja) * 1993-07-15 1996-07-03 日本電気株式会社 記憶装置
US5579452A (en) * 1994-09-29 1996-11-26 Xerox Corporation Method of managing memory allocation in a printing system
DE19541089A1 (de) * 1995-11-03 1997-05-07 Max Planck Gesellschaft Flugzeit-Massenspektrometer mit positionssensitiver Detektion
US5999709A (en) * 1997-04-18 1999-12-07 Adobe Systems Incorporated Printer memory boost
US6405327B1 (en) * 1998-08-19 2002-06-11 Unisys Corporation Apparatus for and method of automatic monitoring of computer performance
JP2001184191A (ja) * 1999-12-22 2001-07-06 Alps Electric Co Ltd データ処理装置
JP2001245123A (ja) * 2000-03-01 2001-09-07 Canon Inc 画像処理装置,画像処理方法および画像処理過程を記憶した記憶媒体
JP2002113905A (ja) * 2000-10-06 2002-04-16 Fuji Xerox Co Ltd 画像形成装置
JP4328032B2 (ja) * 2001-03-01 2009-09-09 株式会社リコー 画像処理装置

Also Published As

Publication number Publication date
GB0402806D0 (en) 2004-03-10
US20040169885A1 (en) 2004-09-02
GB2398898A (en) 2004-09-01
DE10352395B4 (de) 2006-07-27
DE10352395A1 (de) 2004-09-16
GB2398898B (en) 2005-12-07

Similar Documents

Publication Publication Date Title
US6473192B1 (en) Job processing apparatus
JP4921203B2 (ja) 印刷装置、情報処理方法及びプログラム
US20090268245A1 (en) Image processing apparatus and controlling method therefor
JP4125277B2 (ja) 画像形成装置及びデータ消去方法
US8514458B2 (en) Image output apparatus and image output method
JP2004265408A (ja) メモリ管理方法
JP2007312225A (ja) データ処理装置、並びに当該装置で実行されるデータ処理方法及びデータ処理プログラム
US8180993B2 (en) Information processing apparatus and control method thereof
JP2005073004A (ja) フレームバッファ管理方法及びフレームバッファ管理装置
JP2014124925A (ja) 画像処理装置
JP2003177895A (ja) プリントサーバ、プリントシステム、プリント方法、プリントプログラムおよびプリントプログラムを記録したコンピュータ読取可能な記録媒体
JP2007011811A (ja) 記憶データのバックアップ制御装置及び同制御プログラム
JP2010061537A (ja) 画像処理装置および画像消去プログラム
JP2006347100A (ja) 画像形成装置
JP4628003B2 (ja) 画像形成装置及びその制御プログラム
JP2008023785A (ja) 画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体
JP2000341464A (ja) 画像形成装置及びその制御方法
JP2006263966A (ja) 画像形成装置
JP4707335B2 (ja) 記憶装置、画像形成装置及びファイルサーバ
JP2020061637A (ja) 画像形成装置、画像形成方法及び画像形成プログラム
US7589859B2 (en) Print apparatus, print control method, storage medium storing computer-readable program, and program
JP5650469B2 (ja) 印刷ジョブデータ管理処理装置
JP2008262439A (ja) 情報処理装置、印刷文書調整処理プログラム及び記録媒体
JP2006236006A (ja) 印刷装置、プログラムおよび記録媒体
JP2006044157A (ja) 印刷装置及び画像メモリ制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060531

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070109

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20070529