JP4263919B2 - 画像形成装置及びメモリ管理方法 - Google Patents

画像形成装置及びメモリ管理方法 Download PDF

Info

Publication number
JP4263919B2
JP4263919B2 JP2003044585A JP2003044585A JP4263919B2 JP 4263919 B2 JP4263919 B2 JP 4263919B2 JP 2003044585 A JP2003044585 A JP 2003044585A JP 2003044585 A JP2003044585 A JP 2003044585A JP 4263919 B2 JP4263919 B2 JP 4263919B2
Authority
JP
Japan
Prior art keywords
area
address
virtual
direct map
map area
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.)
Expired - Fee Related
Application number
JP2003044585A
Other languages
English (en)
Other versions
JP2003316646A (ja
Inventor
憲行 塩田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003044585A priority Critical patent/JP4263919B2/ja
Priority to US10/370,726 priority patent/US7055015B2/en
Publication of JP2003316646A publication Critical patent/JP2003316646A/ja
Application granted granted Critical
Publication of JP4263919B2 publication Critical patent/JP4263919B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Record Information Processing For Printing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像形成装置及びメモリ管理方法に係り、特に仮想アドレス機能を利用する画像形成装置及びメモリ管理方法に関する。
【0002】
【従来の技術】
近年、プリンタ,コピー,ファクシミリおよびスキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、融合機という)が知られるようになった。この融合機は、1つの筐体内に表示部,印刷部および撮像部などを設けると共に、プリンタ,コピー,ファクシミリおよびスキャナにそれぞれ対応する4種類のソフトウェアを設け、そのソフトウェアを切り替えることより、プリンタ,コピー,ファクシミリおよびスキャナとして動作させるものである。
【0003】
従来の融合機は、プリンタ,コピー,ファクシミリおよびスキャナにそれぞれ対応するソフトウェアを設けている。したがって、各ソフトウェアを実行することで生成されるプロセスは、必要なメモリを別個に獲得していた。
【0004】
ところで、融合機が備えているプリンタ,コピー,ファクシミリおよびスキャナにそれぞれ対応するソフトウェアは、オペレーティングシステム(以下、OSという)上で動作する場合、OSによりメモリ管理がなされる。
【0005】
マルチプロセスを実現するOSは、例えば仮想アドレス機能を用いてアドレス管理を行い、各プロセスごとに別の仮想アドレス空間を提供する。仮想アドレス機能では、他のプロセスのアクセスからメモリを保護するためにページングの手法を用いている。ページングとは、プロセスに提供した仮想アドレス空間と物理メモリのある物理アドレス空間とをプロセッサにより決められる所定サイズのページに区切り、仮想アドレス空間内のページと物理アドレス空間内のページとの対応関係を管理し、仮想アドレスを物理アドレスに変換する手法をいう。
【0006】
また、ページングの手法では、ページテーブルを使用して仮想アドレス空間のページと物理アドレス空間のページとの対応関係を管理している。ページテーブルは、仮想アドレス空間を提供したプロセスごとに必要となる。
【0007】
ページングの手法を用いる場合、全てのメモリアクセスに対して仮想アドレスを物理アドレスに変換するアドレス変換が必要となるため、実行速度の点からハードウェアによるサポートが必須であった。このアドレス変換は、プロセッサのメモリ管理部(以下、MMUという)により行われ、その対応がプロセッサごとに異なっている。
【0008】
例えば一のプロセッサのMMUでは、制御レジスタにページテーブルの物理アドレスをセットしておくことで、メモリアクセスを行うときに自動的にメモリ上にあるページテーブルを検索して物理アドレスへの変換を行う。この場合、プロセスを切り替えるときに別のページテーブルの物理アドレスが制御レジスタにセットされる。
【0009】
また、他のプロセッサのMMUではページテーブルを自動的に検索することはなく、トランスレーション・ルックアサイド・バッファ(以下、TLBという)と呼ばれるプロセッサ内の変換テーブルのみを検索して物理アドレスへの変換を行う。この場合、メモリアクセスを行いたい仮想アドレス用のエントリがTLBになかったときにTLB例外エラーが発生し、このTLB例外エラーのハンドラによりソフトウェア的にページテーブルが検索される。そして、その検索結果に基づくエントリがTLBに追加される。
【0010】
特許文献1には、ページテーブルの共有に関する技術が記載されている。特許文献2には、仮想メモリ上の1つのセグメントを共通領域と固有領域とに分割する技術が記載されている。
【0011】
【特許文献1】
特開平7−160583号公報
【0012】
【特許文献2】
特公平6−58649号公報
【0013】
【発明が解決しようとする課題】
ページングの手法を用いるアドレス管理では、ハードウェアによるサポートにより実質的な実行速度を得ている。しかしながら、デマンドページングと呼ばれる手法を用いるアドレス管理では、以下のような問題があった。
【0014】
まず、プロセスの生成時は物理メモリが割り当てられないために、ページテーブルの内容が全て無効状態となっている。そして、プロセスの実行時にメモリアクセスが行われてページテーブル例外エラーが発生し、このページテーブル例外エラーのハンドラにより物理メモリを獲得してページテーブルの内容が作成される。
【0015】
したがって、物理メモリに余裕がある場合でもメモリアクセスの際に一定のオーバーヘッドが発生してしまうという問題があった。このオーバーヘッドは、画像形成処理のような大量のメモリを使用するプロセスの実行時に問題となる。
【0016】
また、仮想メモリに対応する物理メモリのアドレスは、物理メモリの柔軟な管理を行うため、ページテーブルによりページ単位で設定される。したがって、連続した仮想アドレスに書き込んだデータはページ単位に分割されて不連続な物理アドレスに書き込まれてしまう恐れがあり、ダイレクト・メモリ・アクセス(以下、DMAという)を利用したデバイスとのデータ交換が煩雑になることがあるという問題があった。
【0017】
なお、特許文献1および2に記載されている内容は、メモリアクセスの際に発生するオーバーヘッドを軽減するものではない。
【0018】
本発明は、上記の点に鑑みなされたもので、メモリアクセスの際に発生するオーバーヘッドを軽減しつつメモリの使用効率を向上させることが可能な画像形成装置及びメモリ管理方法を提供することを目的とする。
【0019】
【課題を解決するための手段】
そこで、上記課題を解決するため、本発明は、プリンタ部又はスキャナ部の少なくとも一方を含むハードウェア資源と、オペレーティングシステムと、前記オペレーティングシステム上で動作し、画像形成装置に画像形成にかかる処理を行わせるための複数のアプリケーションと、前記オペレーティングシステム上で動作し、画像形成装置に前記複数のアプリケーションからの処理要求を受信可能にさせ、該処理要求に従って前記ハードウェア資源の制御を行わせるためのプログラムとを有する画像形成装置であって、書き換え可能メモリ上の前記オペレーティングシステムによって管理される領域以外の物理領域に、前記アプリケーション及びプログラムによって直接マップ可能な直接マップ領域を獲得すると共に、前記直接マップ領域の物理アドレスに対応する仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスを設定する領域獲得手段と、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたアドレス変換手段とを有することを特徴とする。
【0020】
また、本発明は、プリンタ部又はスキャナ部の少なくとも一方を含むハードウェア資源と、オペレーティングシステムと、前記オペレーティングシステム上で動作し、画像形成装置に画像形成にかかる処理を行わせるための複数のアプリケーションと、前記オペレーティングシステム上で動作し、画像形成装置に前記複数のアプリケーションからの処理要求を受信可能にさせ、該処理要求に従って前記ハードウェア資源の制御を行わせるためのプログラムとを有する画像形成装置のメモリ管理方法であって、書き換え可能メモリ上の前記オペレーティングシステムによって管理される領域以外の物理領域に、前記アプリケーション及びプログラムによって直接マップ可能な直接マップ領域を獲得すると共に、前記直接マップ領域の物理アドレスに対応する仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスを設定する領域獲得段階と、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたアドレス変換段階とを有することを特徴とする。
【0063】
【発明の実施の形態】
次に、本発明の実施の形態について図面に基づいて説明する。
【0064】
まず、ページテーブルの自動参照機能を持ったプロセッサを利用する第1実施例について説明する。
【0065】
図1は、本発明による融合機の一実施例の構成図を示す。融合機1は、ハードウェア資源10と,ソフトウェア群20と,融合機起動部50とを含むように構成される。ハードウェア資源10は、白黒レーザプリンタ11と,カラーレーザプリンタ12と,スキャナやファクシミリなどのハードウェアリソース13とを有する。また、ソフトウェア群20は、UNIX(登録商標)などのオペレーティングシステム(以下、OSという)上に起動されているアプリケーション30とプラットフォーム40とを有する。
【0066】
プラットフォーム40は、アプリケーション30からの処理要求を解釈してハードウェア資源10の獲得要求を発生するコントロールサービス51と、1つ以上のハードウェア資源10の管理を行ってコントロールサービス51からの獲得要求を調停するシステムリソースマネージャ(以下、SRMという)43と、SRM43からの獲得要求に応じてハードウェア資源10の管理を行うハンドラ層52とを有するように構成されている。
【0067】
コントロールサービス51は、システムコントロールサービス(以下、SCSという)42,エンジンコントロールサービス(以下、ECSという)44,メモリコントロールサービス(以下、MCSという)45,オペレーションパネルコントロールサービス(以下、OCSという)46,ファックスコントロールサービス(以下、FCSという)47,ネットワークコントロールサービス(以下、NCSという)48,など一つ以上のサービスモジュールを有するように構成されている。
【0068】
なお、プラットフォーム40は予め定義されている関数によりアプリケーション30からの処理要求を受信可能とするアプリケーションプログラムインターフェース(以下、APIという)53を有するように構成されている。OSは、プラットフォーム40およびアプリケーション30の各ソフトウェアをプロセスとして並列実行する。
【0069】
SRM43のプロセスは、SCS42と共にシステムの制御およびリソースの管理を行うものである。例えばSRM43のプロセスは、スキャナ部やプリンタ部などのエンジン,メモリ,HDDファイル,ホストI/O(セントロI/F,ネットワークI/F,IEEE1394 I/F,RS232C I/Fなど)のハードウェア資源10を利用する上位層からの要求に従って調停を行い、実行制御する。
【0070】
具体的に、SRM43は要求されたハードウェア資源10が利用可能であるか(他の要求により利用されていないかどうか)を判定し、利用可能であれば要求されたハードウェア資源10が利用可能である旨を上位層に通知する。また、SRM43は上位層からの要求に対してハードウェア資源10の利用スケジューリングを行い、例えばプリンタエンジンによる紙搬送と作像動作,メモリ獲得,ファイル生成などの要求内容を直接実施している。
【0071】
SCS42のプロセスは、アプリケーション管理,操作部制御,システム画面表示,LED表示,リソース管理,割り込みアプリケーション制御を行う。ECS44のプロセスは、白黒レーザプリンタ11,カラーレーザプリンタ12,その他のハードウェアリソース13のエンジンの制御を行う。
【0072】
MCS45のプロセスは、画像メモリの取得および解放,ハードディスク装置(HDD)の利用,画像データの圧縮および伸張などを行う。OCS46のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。
【0073】
FCS47のプロセスは、システムコントローラの各アプリケーション層からPSTNまたはISDN網を利用したファクシミリ送受信,BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用,ファクシミリ読み取り,ファクシミリ受信印刷,融合送受信を行うためのアプリケーションを提供する。
【0074】
NCS48のプロセスは、ネットワークI/Oを必要とするアプリケーション30に対し、共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーション30に振り分けたり、アプリケーション30からのデータをネットワーク側に送信する際の仲介を行う。
【0075】
また、ハンドラ層52は後述するファックスコントロールユニット(以下、FCUという)の管理を行うファックスコントロールユニットハンドラ(以下、FCUHという)54と、各プロセスに対するメモリの割り振り、各プロセスに割り振ったメモリの管理,後述する直接マップ領域の管理などを行うイメージメモリハンドラ(以下、IMHという)55とを含む。
【0076】
SRM43,FCUH54およびIMH55は、予め定義されている関数によりハードウェア資源10に対する処理要求を送信するエンジンI/F56を利用してハードウェア資源10に対する処理要求を行う。
【0077】
また、アプリケーション30は、プリンタ,コピー,ファクシミリ,スキャナなどの画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うものである。
【0078】
アプリケーション30は、ページ記述言語(PDL,PCL)およびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ31と,コピー用アプリケーションであるコピーアプリ32と,ファクシミリ用アプリケーションであるファックスアプリ33と,スキャナ用アプリケーションであるスキャナアプリ34とを有している。
【0079】
図2は、本発明による融合機の一実施例のハードウェア構成図を示す。図2の融合機1は、コントローラ60と,オペレーションパネル70と,ファックスコントロールユニット(以下、FCUという)80と,USBデバイス90と,IEEE1394デバイス100と,エンジン部110とを有する。
【0080】
また、コントローラ60は、CPU61と,MEM−P62と,ノースブリッジ(以下、NBという)63と,サウスブリッジ(以下、SBという)64と,ASIC66と,MEM−C67と,HDD68と,ネットワークI/Fコントローラ69とを有する。
【0081】
オペレーションパネル70は、コントローラ60のASIC66に直接接続されている。また、FCU80,USBデバイス90,IEEE1394デバイス100およびエンジン部110は、コントローラ60のASIC66にPCIバスなどで接続されている。
【0082】
コントローラ60は、ASIC66にMEM−C67,HDD68,ネットワークI/Fコントローラ69などが接続されると共に、CPU61とASIC66とがCPUチップセットのNB63を介して接続されている。このように、NB63を介してCPU61とASIC66とを接続すれば、CPU61のインターフェースが公開されていない場合に対応できる。
【0083】
ここで、ASIC66とNB63とはPCIバスを介して接続されているのでなく、AGP(Accelerated Graphics Port )65を介して接続されている。このように、図1のプラットフォーム40やアプリケーション30を形成する一つ以上のプロセスを実行制御するため、ASIC66とNB63とを低速のPCIバスでなくAGP65を介して接続し、パフォーマンスの低下を防いでいる。
【0084】
CPU61は、融合機1の全体制御を行うものである。CPU61は、OS上でプラットフォーム40を形成するSCS42,SRM43,ECS44,MCS45,OCS46,FCS47,NCS48,FCUH54およびIMH55をそれぞれプロセスとして起動して実行させると共に、アプリケーション30を形成するプリンタアプリ31,コピーアプリ32,ファックスアプリ33,スキャナアプリ34を起動して実行させる。なお、CPU61はページテーブルの自動参照機能を持っている。
【0085】
NB63は、CPU61,MEM−P62,SB64およびASIC66を接続するためのブリッジである。MEM−P62は、融合機1の描画用メモリなどとして用いるシステムメモリである。SB64は、NB63とROM,PCIバス,周辺デバイスとを接続するためのブリッジである。
【0086】
MEM−C67は、コピー用画像バッファ,符号バッファとして用いるローカルメモリである。ASIC66は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。HDD68は、画像データの蓄積,プログラムの蓄積,フォントデータの蓄積,フォームの蓄積を行うためのストレージである。また、オペレーションパネル70は、オペレータからの入力操作を受け付けると共に、オペレータに向けた表示を行う操作部である。
【0087】
図1の融合機起動部50は、融合機1の電源投入時に最初に実行され、プラットフォーム40やアプリケーション30を起動するものである。図3は、融合機起動部の一例の構成図を示す。融合機起動部50は、ROMモニタ121と,プログラム起動部122とを有する。
【0088】
ROMモニタ121は電源投入時に実行され、ハードウェアの初期化,コントローラボードの診断,ソフトウェアの初期化,OSの起動などを行う。プログラム起動部122はOSから呼び出されるものであり、MEM−P62,MEM−C67上にメモリ領域を獲得する。そして、プログラム起動部122は、コントロールサービス51やアプリケーション30のプログラムをROMから読み出し、読み出した各プログラムをMEM−P62,MEM−C67上に獲得したメモリ領域に転送して起動するものである。
【0089】
次に、融合機1におけるメモリ管理について説明する。図4は、融合機におけるメモリ管理の一例について説明する図を示す。例えばMEM−P62およびMEM−C67のメモリマップは、図4(b)のように表される。
【0090】
MEM−P62およびMEM−C67は、例えばOSなどが使用するカーネル領域と,各種アプリケーション30や各種コントロールサービス51が使用する汎用領域と,後述する直接マップ領域とが獲得される。なお、カーネル領域および汎用領域は、OSにより管理される。
【0091】
また、仮想メモリ領域のメモリマップは、図4(a)のように表される。仮想メモリ領域は、ユーザプログラム領域と,後述する直接マップ領域と,スタック領域とが獲得される。仮想メモリ領域は、プリンタアプリ31,コピーアプリ32などのアプリケーション30のプロセスごと、およびECS44,MCS45などのコントロールサービス51のプロセスごとに割り当てられる。
【0092】
なお、ユーザプログラム領域およびスタック領域は、仮想記憶システムにより管理される。したがって、ユーザプログラム領域およびスタック領域に対するページテーブルの内容は、仮想記憶システムによって作成または変更される。
【0093】
ここで、図5を利用してページテーブルの内容が無効状態となっている場合のページアクセス処理について説明する。図5は、ページアクセス処理の一例のフローチャートを示す。
【0094】
新しいページへのアクセスがあると、CPU61はステップS10に進み、アクセスするページの仮想アドレスがページテーブル内に登録されているか否かを判定する。ページテーブルの内容が無効状態となっている場合、CPU61はアクセスするページの仮想アドレスがページテーブル内に登録されていないと判定し(S11においてNO)、ステップS13に進む。
【0095】
ステップS13では、アクセスするページの仮想アドレスがページテーブル内に登録されていないと判定されたためにページテーブル例外エラーが発生する。ステップS13に続いてステップS14に進み、CPU61はページテーブル例外エラーが発生した仮想アドレスを取得する。
【0096】
ステップS14に続いてステップS15に進み、仮想記憶システムはステップS14で取得された仮想アドレスがメモリにマップされている範囲内であるか否かを判定する。取得された仮想アドレスがメモリにマップされている範囲内であると判定すると(S16においてYES)、仮想記憶システムはステップS18に進み、1ページ分の物理メモリを獲得する。なお、取得した仮想アドレスがメモリにマップされている範囲内でないと判定すると(S16においてNO)、仮想記憶システムはステップS17に進み、プロセスに不正アドレスアクセスエラーを通知する。
【0097】
ステップS18に続いてステップS19に進み、仮想記憶システムはステップS18で獲得した物理メモリのアドレスをページテーブルに登録することでページテーブルの内容を作成する。ステップS20に続いてステップS10に進み、CPU61はアクセスするページの仮想アドレスがページテーブル内に登録されているか否かを判定する。
【0098】
ステップS19でページテーブルの内容を作成しているため、CPU61はアクセスするページの仮想アドレスがページテーブル内に登録されていると判定し(S11においてYES)、ステップS12に進む。そして、ステップS12では、ページテーブル例外エラーが発生せず、新しいページへのアクセスが成功することとなる。このようなページアクセス処理では、物理メモリに余裕がある場合でもメモリアクセスの際に一定のオーバーヘッドが発生してしまう。
【0099】
そこで、本発明では仮想メモリ領域に直接マップ領域を作成し、この直接マップ領域に対応するページテーブルの内容をプロセス生成時またはユーザプロセス実行時のシステムコールの発行により作成するようにした。図6は、直接マップ領域の一例のメモリマップを示す。図6に表されるように、直接マップ領域は、プリンタアプリ31,コピーアプリ32などのアプリケーションのプロセス、ECS44,MCS45などのコントロールサービスのプロセスごとに割り当てられる。
【0100】
なお、本発明では仮想記憶システムの起動時に、物理メモリの仮想メモリ領域以外の未使用領域を直接マップ領域として獲得する。したがって、直接マップ領域に対応するページテーブルの内容は、仮想記憶システムによって作成または変更されない。
【0101】
図7は、直接マップ領域に対するメモリ管理方法について説明するための図を示す。なお、図7では説明に関係のない構成を適宜省略している。
【0102】
OSは、仮想記憶へのアクセスを処理する仮想記憶処理部133と、仮想記憶の使用領域を、ページテーブルを用いてページ毎に管理するページテーブル管理部134と、仮想記憶へのアクセスの例外処理を行う例外処理部135とを有している。なお、仮想記憶処理部133,ページテーブル管理部134及び例外処理部135が仮想記憶システムを構成する。
【0103】
OS内の直接マップ領域獲得部131は、仮想記憶システムの起動時に物理メモリの直接マップ領域に対応した仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスを設定する。また、メモリマップ部132はプロセスの生成時またはユーザプロセス実行時のシステムコールの発行時に、IMH55からの指示に応じてプロセス用のメモリを直接マップ領域にマップする。言い換えれば、メモリマップ部132は直接マップ領域の物理アドレスと、仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスとを関連付けるように、ページテーブル管理部134が管理するページテーブルの内容を書き換える。
【0104】
なお、直接マップ領域獲得部131は特許請求の範囲に記載した領域獲得手段に相当する。ページテーブル管理部134の管理するページテーブルは特許請求の範囲に記載したアドレス変換手段に相当する。メモリマップ部132は特許請求の範囲に記載したアドレス書換手段に相当する。
【0105】
ここで、図5を利用して直接マップ領域に対するページアクセス処理について説明する。直接マップ領域に含まれるページへのアクセスがあると、CPU61はステップS10に進み、アクセスするページの仮想アドレスがページテーブル内に登録されているか否かを判定する。
【0106】
直接マップ領域に対応するページテーブルの内容はプロセス生成時またはユーザプロセス実行時のシステムコールの発行により既に作成されているため、CPU61はアクセスするページの仮想アドレスがページテーブル内に登録されていると判定し(S11においてYES)、ステップS12に進む。そして、ステップS12では、ページテーブル例外エラーが発生せず、直接マップ領域に含まれるページへのアクセスが成功することとなる。
【0107】
つまり、ページテーブルの自動参照機能を持ったプロセッサが直接マップ領域に含まれるページにアクセスした場合、ページテーブル例外エラーが発生せず、プロセッサにより自動的にページテーブルが参照されて仮想アドレスから物理アドレスへの変換が行われる。
【0108】
したがって、仮想記憶システムは直接マップ領域に対するアクセスが起こったことを知ることがなく、仮想メモリ領域を管理するための処理も行わない。このようなページアクセス処理では、仮想記憶システムによるオーバーヘッドが発生することなく、ページにアクセスすることが可能となる。
【0109】
第1実施例では、仮想メモリ領域のユーザプログラム領域とスタック領域との間であって、仮想記憶システムが使用していないユーザアドレス空間を直接マップ領域として利用している。通常、仮想メモリ領域に含まれるユーザアドレス空間は実際に使用されるアドレス空間に比べて十分に大きいため、仮想記憶システムが使用していないユーザアドレス空間を直接マップ領域として利用しても問題ない。
【0110】
次に、ページテーブルの自動参照機能を持たず、TLBによるアドレス変換機能を持ったプロセッサを利用する第2実施例について説明する。なお、第2実施例の融合機1の構成,ハードウェア構成および融合機起動部50の構成は、第1実施例の融合機1と同様であるので説明を省略する。
【0111】
CPU61のキャッシュメモリには、CPU61によって管理されるTLBが設けられている。TLBは、プロセスごとに仮想アドレスと物理アドレスとを対応付けて保持しており、プロセスが仮想アドレスを指定してメモリにアクセスしようとしたときに、指定された仮想アドレスを物理アドレスに変換するものである。このTLBは、仮想アドレスと物理アドレスとの組を所定数(例えば、48個,64個など)だけ保持している。
【0112】
図8は、TLBと各プロセスのページテーブルとの関係について説明するための図を示す。図8に表したように、各ページテーブルは各プロセス独自の仮想アドレスを使用しており、その仮想アドレスに対応する物理アドレスを管理している。また、TLBは各プロセスがアクセスした仮想アドレスと、その仮想アドレスに対応する物理アドレスとをプロセスID(以下、PIDという)ごとに保持している。
【0113】
例えばプリンタアプリ31のプロセスが仮想アドレス1100番地に対してアクセスすると、CPU61はプリンタアプリ31のPIDの中から仮想アドレス1100番地を検索し、プリンタアプリ31の仮想アドレス1100番地に対応する物理アドレス130番地を使用する。
【0114】
一方、プリンタアプリ31のプロセスが仮想アドレス1000番地に対してアクセスすると、CPU61はプリンタアプリ31のPIDの中から仮想アドレス1000番地を検索する。しかし、図8のTLBにはプリンタアプリ31の仮想アドレス1000番地が登録されていない。このためにTLB例外エラーが発生し、CPU61はプリンタアプリ31のページテーブルを参照する。そして、プリンタアプリ31の仮想アドレス1000番地に対応する物理アドレス30番地を取得して、TLBに「PID:プリンタアプリ,物理アドレス:30番地,仮想アドレス:1000番地」のエントリを追加する。
【0115】
しかし、TLBが保持できるエントリの数はプロセッサにより決まっているため、新たにエントリを追加するときに以前のエントリが上書きされる場合が生じる。このように、TLBのエントリは上書きされて内容が変わってしまう場合があるが、頻繁に使用する重要なエントリを固定的な使用のために上書きから保護する機能がある。
【0116】
図9は、TLBの一例の構成図を示す。図9のTLBでは、所定数のエントリを上書きの対象とならない固定的に使用されるエントリとし、残りのエントリを上書きの対象となる動的に使用されるエントリとしている。固定的に使用されるエントリを利用することにより、重要なエントリが上書きの対象とならないように保護することができる。
【0117】
そこで、本発明では第1実施例と同様に、仮想メモリ領域に直接マップ領域を作成し、直接マップ領域の仮想アドレス及びその仮想アドレスに対応する物理アドレスをプロセス生成時またはユーザプロセス実行時のシステムコールの発行により図9の固定的に使用されるエントリに書き込むようにした。なお、本発明では仮想記憶システムの起動時に、物理メモリの仮想メモリ領域以外の未使用領域を直接マップ領域として獲得する。したがって、直接マップ領域に対するTLBの内容は、仮想記憶システムによって作成または変更されない。
【0118】
なお、第2実施例の場合、図7のメモリマップ部132は直接マップ領域の物理アドレスと、仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスとを関連付けるように、CPU61が管理するTLBの固定的に使用されるエントリに書き込む。
【0119】
この状態で直接マップ領域に含まれるページへのアクセスがあると、TLBに対する仮想アドレスの検索は必ずヒットし、CPU61は仮想アドレスに対応する物理アドレスを取得することができる。このように、TLB例外エラーが発生しないため、仮想記憶システムは直接マップ領域に対するアクセスが起こったことを知ることがなく、仮想メモリ領域を管理するための処理も行わない。したがって、仮想記憶システムによるオーバーヘッドが発生することなく、ページにアクセスすることが可能となる。
【0120】
第2実施例では、仮想メモリ領域のユーザプログラム領域とスタック領域との間であって、仮想記憶システムが使用していないユーザアドレス空間を直接マップ領域として利用している。通常、仮想メモリ領域に含まれるユーザアドレス空間は実際にしようされるアドレス空間に比べて十分に大きいため、仮想記憶システムが使用していないユーザアドレス空間を直接マップ領域として利用しても問題ない。
【0121】
また、1つのエントリで指定できるアドレス範囲には制限があるため、その制限を越えたアドレス範囲を直接マップ領域として使用する場合には複数のエントリをTLBの固定的に使用されるエントリに書き込んでおく必要がある。
【0122】
前述の第1実施例および第2実施例は、ハードウェアによるサポートを直接に利用して図4のような直接マップ領域を実現している。そこで、本発明の融合機1は直接マップ領域の仮想アドレスに対する物理アドレスが連続するようにページテーブルまたはTLBを作成することにより、仮想アドレス空間でアドレスが連続している領域を物理メモリ上でもアドレスが連続しているように対応付けることが可能である。
【0123】
通常、デバイスが行うDMAによるデータ交換は、物理アドレス空間で行われている。したがって、仮想アドレス空間で作成したデータをDMAによりデバイスに転送する場合に、物理メモリ上でもアドレスが連続しているという保証があれば、一度のDMAにより大量のデータをデバイスに転送することができる。
【0124】
また、本発明の融合機1は複数のプロセスでデータを共有する場合に、メモリを共有することが可能となる。図10は、複数のプロセスによりメモリを共有するときの一例のメモリマップを示す。
【0125】
図10のメモリマップでは、プロセスAの仮想メモリ領域に含まれる領域aとプロセスBの仮想メモリ領域に含まれる領域bとが同じ物理メモリ領域を使用するように、領域aおよび領域bに対応するページテーブルまたはTLBの内容が書き換えられている。したがって、プロセスAおよびプロセスBは仮想記憶システムによるオーバーヘッドがほとんど発生することなく、物理メモリ領域を共有することができる。
【0126】
例えば図10のメモリマップを利用して複数のプロセスでメモリを共有する処理を図11を参照しつつ説明する。図11は、複数のプロセスによりメモリを共有するときの一例のシーケンス図を示す。
【0127】
図11中、ステップS30ではプロセスAがIMH49に対して仮想メモリ領域aの獲得を要求する。ステップS30に続いてステップS31に進み、IMH49はプロセスAからの要求に応じて物理メモリ領域を獲得し、獲得した物理メモリ領域に対応する仮想アドレスAをプロセスAに通知する。例えばプロセスAは画像を作成し、作成した画像を獲得した仮想アドレスAに書き込む。
【0128】
ステップS31に続いてステップS32に進み、プロセスAは画像を書き込んだ仮想アドレスAをプロセス間通信によりプロセスBに通知する。なお、プロセスAの仮想メモリ領域に含まれる領域aとプロセスBの仮想メモリ領域に含まれる領域bとが同じ物理メモリ領域を使用するように、領域aおよび領域bに対応するページテーブルまたはTLBの内容が書き換えられている
したがって、プロセスBはプロセスAから通知された仮想アドレスAから画像を読み出し、読み出した画像を例えばプリンタに出力できる。ステップS32に続いてステップS33に進み、プロセスBは画像を読み込んでプリンタに出力した旨をプロセス間通信によりプロセスAに通知する。ステップS33に続いてステップS34に進み、プロセスAはIMH49に対して物理アドレスの解放を要求して処理を終了する。
【0129】
【発明の効果】
上述の如く、本発明によれば、メモリアクセスのときに例外エラーがほとんど発生しないため、直接マップ領域に対するメモリアクセスのオーバーヘッドを軽減することが可能である。
【0130】
また、本発明によれば、仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスで連続している領域を、直接マップ領域の連続した物理アドレスに割り当てることができるため、ダイレクト・メモリ・アクセスを利用したデバイスとのデータ交換が煩雑にならず、一度のダイレクト・メモリ・アクセスにより大量のデータを転送することが可能となる。
【0131】
また、本発明によれば、複数のプロセスが直接マップ領域を共有するように直接マップ領域の物理アドレスと仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスとを対応付けておくことができるため、複数のプロセスでメモリを共有することが可能となる。
【0132】
【図面の簡単な説明】
【図1】本発明による融合機の一実施例の構成図である。
【図2】本発明による融合機の一実施例のハードウェア構成図である。
【図3】融合機起動部の一例の構成図である。
【図4】融合機におけるメモリ管理の一例について説明する図である。
【図5】ページアクセス処理の一例のフローチャートである。
【図6】直接マップ領域の一例のメモリマップである。
【図7】直接マップ領域に対するメモリ管理方法について説明するための図である。
【図8】TLBと各プロセスのページテーブルとの関係について説明するための図である。
【図9】TLBの一例の構成図である。
【図10】複数のプロセスによりメモリを共有するときの一例のメモリマップである。
【図11】複数のプロセスによりメモリを共有するときの一例のシーケンス図である。
【符号の説明】
1 融合機
11 白黒レーザプリンタ
12 カラーレーザプリンタ
13 ハードウェアリソース
20 ソフトウェア群
30 アプリケーション
40 プラットフォーム
42 システムコントロールサービス(SCS)
43 システムリソースマネージャ(SRM)
44 エンジンコントロールサービス(ECS)
45 メモリコントロールサービス(MCS)
46 オペレーションパネルコントロールサービス(OCS)
47 ファックスコントロールサービス(FCS)
48 ネットワークコントロールサービス(NCS)
50 融合機起動部
51 コントロールサービス
52 ハンドラ層
53 アプリケーションプログラムインターフェース(API)
54 ファックスコントロールユニットハンドラ(FCUH)
55 イメージメモリハンドラ(IMH)
56 エンジンI/F
60 コントローラ
61 CPU
62 システムメモリ(MEM−P)
63 ノースブリッジ(NB)
64 サウスブリッジ(SB)
65 AGP(Accelerated Graphics Port)
66 ASIC
67 ローカルメモリ(MEM−C)
68 ハードディスク装置(HDD)
69 ネットワークI/Fコントローラ
70 オペレーションパネル
80 ファックスコントロールユニット(FCU)
90 USBデバイス
100 IEEE1394デバイス
110 エンジン部
121 ROMモニタ
122 プログラム起動部
131 直接マップ領域獲得部
132 メモリマップ部
133 仮想記憶処理部
134 ページテーブル管理部
135 例外処理部

Claims (22)

  1. プリンタ部又はスキャナ部の少なくとも一方を含むハードウェア資源と、オペレーティングシステムと、前記オペレーティングシステム上で動作し、画像形成装置に画像形成にかかる処理を行わせるための複数のアプリケーションと、前記オペレーティングシステム上で動作し、画像形成装置に前記複数のアプリケーションからの処理要求を受信可能にさせ、該処理要求に従って前記ハードウェア資源の制御を行わせるためのプログラムとを有する画像形成装置であって、
    書き換え可能メモリ上の前記オペレーティングシステムによって管理される領域以外の物理領域に、前記アプリケーション及びプログラムによって直接マップ可能な直接マップ領域を獲得すると共に、前記直接マップ領域の物理アドレスに対応する仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスを設定する領域獲得手段と、
    前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたアドレス変換手段と
    を有することを特徴とする画像形成装置。
  2. 前記仮想メモリ領域は、所定サイズのページごとに管理されることを特徴とする請求項1記載の画像形成装置。
  3. 前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたアドレス変換手段の内容を、仮想記憶システムを介さずに書き換えるアドレス書換手段を更に有することを特徴とする請求項1又は2記載の画像形成装置。
  4. 前記アドレス書換手段は、前記アプリケーションおよびプログラムの起動時に前記アドレス変換手段の内容を書き換えることを特徴とする請求項3記載の画像形成装置。
  5. 前記領域獲得手段は、画像形成装置の起動時に、前記直接マップ領域を獲得することを特徴とする請求項1乃至4何れか一項記載の画像形成装置。
  6. 前記アドレス変換手段は、前記アプリケーションおよびプログラムごとに、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたカーネル内のアドレス変換テーブルであることを特徴とする請求項1乃至5何れか一項記載の画像形成装置。
  7. 前記アドレス変換手段は、前記アプリケーションおよびプログラムごとに、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたプロセッサ内のアドレス変換テーブルであることを特徴とする請求項1乃至5何れか一項記載の画像形成装置。
  8. 前記アドレス変換手段は、前記プロセッサ内のアドレス変換テーブルのうち上書きの対象とならない部分に、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けておくことを特徴とする請求項7記載の画像形成装置。
  9. 前記アドレス変換手段は、前記直接マップ領域用の仮想アドレスが連続しているとき、その仮想アドレスに対応する前記直接マップ領域の物理アドレスが連続するように、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けることを特徴とする請求項1乃至8何れか一項記載の画像形成装置。
  10. 前記アドレス変換手段は、複数の前記アプリケーション及びプログラムが前記直接マップ領域を共有するように、前記直接マップ領域の物理アドレスと前記直接マップ領域用の仮想アドレスとを対応付けることを特徴とする請求項1乃至9何れか一項記載の画像形成装置。
  11. 前記仮想メモリ領域は、仮想記憶システムにより管理される仮想メモリ領域上のユーザプログラム領域およびスタック領域と、前記仮想メモリ領域上の直接マップ領域とを有し、前記仮想メモリ領域上の直接マップ領域用の仮想アドレスが、前記仮想メモリ領域用の仮想アドレスのうち前記ユーザプログラム領域またはスタック領域として使用されない未使用領域に獲得されることを特徴とする請求項3乃至10何れか一項記載の画像形成装置。
  12. プリンタ部又はスキャナ部の少なくとも一方を含むハードウェア資源と、オペレーティングシステムと、前記オペレーティングシステム上で動作し、画像形成装置に画像形成にかかる処理を行わせるための複数のアプリケーションと、前記オペレーティングシステム上で動作し、画像形成装置に前記複数のアプリケーションからの処理要求を受信可能にさせ、該処理要求に従って前記ハードウェア資源の制御を行わせるためのプログラムとを有する画像形成装置のメモリ管理方法であって、
    書き換え可能メモリ上の前記オペレーティングシステムによって管理される領域以外の物理領域に、前記アプリケーション及びプログラムによって直接マップ可能な直接マップ領域を獲得すると共に、前記直接マップ領域の物理アドレスに対応する仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスを設定する領域獲得段階と、
    前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたアドレス変換段階と
    を有することを特徴とするメモリ管理方法。
  13. 前記仮想メモリ領域は、所定サイズのページごとに管理されることを特徴とする請求項12記載のメモリ管理方法。
  14. 前記アドレス変換段階は、前記直接マップ領域の物理アドレスと前記直接マップ領域用の仮想アドレスとを対応付けた内容を、仮想記憶システムを介さずに書き換えることを特徴とする請求項12又は13記載のメモリ管理方法。
  15. 前記アドレス変換段階は、前記アプリケーションおよびプログラムの起動時に、直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けた内容を書き換えることを特徴とする請求項14記載のメモリ管理方法。
  16. 前記領域獲得段階は、画像形成装置の起動時に、前記直接マップ領域を獲得することを特徴とする請求項12乃至15何れか一項記載のメモリ管理方法。
  17. 前記アドレス変換段階は、前記アプリケーションおよびプログラムごとに、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたカーネル内のアドレス変換テーブルを書き換えることを特徴とする請求項12乃至16何れか一項記載のメモリ管理方法。
  18. 前記アドレス変換段階は、前記アプリケーションおよびプログラムごとに、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたプロセッサ内のアドレス変換テーブルを書き換えることを特徴とする請求項12乃至16何れか一項記載のメモリ管理方法。
  19. 前記アドレス変換段階は、前記プロセッサ内のアドレス変換テーブルのうち上書きの対象とならない部分に、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けることを特徴とする請求項18記載のメモリ管理方法。
  20. 前記アドレス変換段階は、前記直接マップ領域用の仮想アドレスが連続しているとき、その仮想アドレスに対応する前記直接マップ領域の物理アドレスが連続するように、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けることを特徴とする請求項12乃至19何れか一項記載のメモリ管理方法。
  21. 前記アドレス変換段階は、複数の前記アプリケーション及びプログラムが前記直接マップ領域を共有するように、前記直接マップ領域の物理アドレスと前記直接マップ領域用の仮想アドレスとを対応付けることを特徴とする請求項12乃至20何れか一項記載のメモリ管理方法。
  22. 前記仮想メモリ領域は、仮想記憶システムにより管理される仮想メモリ領域上のユーザプログラム領域およびスタック領域と、前記仮想メモリ領域上の直接マップ領域とを有し、前記仮想メモリ領域上の直接マップ領域用の仮想アドレスが、前記仮想メモリ領域用の仮想アドレスのうち前記ユーザプログラム領域またはスタック領域として使用されない未使用領域に獲得されることを特徴とする請求項14乃至21何れか一項記載のメモリ管理方法。
JP2003044585A 2002-02-25 2003-02-21 画像形成装置及びメモリ管理方法 Expired - Fee Related JP4263919B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003044585A JP4263919B2 (ja) 2002-02-25 2003-02-21 画像形成装置及びメモリ管理方法
US10/370,726 US7055015B2 (en) 2002-02-25 2003-02-24 Information processing apparatus in which processes can reduce overhead of memory access and efficiently share memory

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002048514 2002-02-25
JP2002-48514 2002-02-25
JP2003044585A JP4263919B2 (ja) 2002-02-25 2003-02-21 画像形成装置及びメモリ管理方法

Publications (2)

Publication Number Publication Date
JP2003316646A JP2003316646A (ja) 2003-11-07
JP4263919B2 true JP4263919B2 (ja) 2009-05-13

Family

ID=29551938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003044585A Expired - Fee Related JP4263919B2 (ja) 2002-02-25 2003-02-21 画像形成装置及びメモリ管理方法

Country Status (1)

Country Link
JP (1) JP4263919B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302546B2 (en) 2004-01-09 2007-11-27 International Business Machines Corporation Method, system, and article of manufacture for reserving memory
JP2006085393A (ja) * 2004-09-15 2006-03-30 National Institute Of Information & Communication Technology デバイスからの高速データ転送方法及びデータ処理装置
US20080028181A1 (en) * 2006-07-31 2008-01-31 Nvidia Corporation Dedicated mechanism for page mapping in a gpu
JP4798055B2 (ja) 2007-04-25 2011-10-19 ソニー株式会社 画像処理装置およびカメラシステム
JP2009070208A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 画像処理装置およびメモリ確保方法
JP2010020540A (ja) * 2008-07-10 2010-01-28 Ricoh Co Ltd 画像形成装置及び補助記憶装置のアクセス方法
US8719547B2 (en) * 2009-09-18 2014-05-06 Intel Corporation Providing hardware support for shared virtual memory between local and remote physical memory
JP5511747B2 (ja) * 2011-08-09 2014-06-04 京セラドキュメントソリューションズ株式会社 画像形成装置および画像形成プログラム
US9361305B2 (en) 2011-08-09 2016-06-07 Kyocera Document Solutions Inc. Image forming apparatus having a file system
JP5602109B2 (ja) * 2011-08-09 2014-10-08 京セラドキュメントソリューションズ株式会社 画像形成装置および画像形成プログラム
JP6152694B2 (ja) * 2013-05-10 2017-06-28 株式会社リコー 画像データ処理装置、画像処理装置、及び画像データ転送方法

Also Published As

Publication number Publication date
JP2003316646A (ja) 2003-11-07

Similar Documents

Publication Publication Date Title
US7055015B2 (en) Information processing apparatus in which processes can reduce overhead of memory access and efficiently share memory
JP4237222B2 (ja) 画像処理装置および画像処理方法
JP5213539B2 (ja) 画像処理装置及び画像処理装置のメモリ管理方法
US7721023B2 (en) I/O address translation method for specifying a relaxed ordering for I/O accesses
JP4235225B2 (ja) ディジタル複写機
JP4263919B2 (ja) 画像形成装置及びメモリ管理方法
JP2008077144A (ja) 仮想化システム、メモリ管理方法及び制御プログラム
JP5418097B2 (ja) 情報処理装置、画像形成装置、動作モード切替方法
US20090219569A1 (en) Information processing apparatus, information processing system, and information processing method
US20130007367A1 (en) Information processing apparatus and method of controlling same
JP4101004B2 (ja) 画像形成装置
US8495364B2 (en) Image processing apparatus and method using electronic signature information
US7911639B2 (en) Image forming device
EP1308793B1 (en) Image forming device having a memory assignment unit
JP4263920B2 (ja) 情報処理装置及びメモリ管理方法
JP4136397B2 (ja) 画像形成装置及びメモリ管理方法
JP2000181643A (ja) 画像形成装置及び画像形成方法
US20050086450A1 (en) Information processing apparatus and file management method
JP2003196110A (ja) 画像形成装置
JP4128468B2 (ja) 情報処理装置及びメモリマップ方法
JP4128467B2 (ja) 画像形成装置及びメモリマップ方法
JP3857598B2 (ja) データ転送方法およびそのデータ転送方法を利用するデバイス制御モジュール,画像形成装置
JP4157376B2 (ja) 情報処理装置、画像形成装置、制御方法およびプログラム
JP2000151878A (ja) ディジタル複写機
JP2004001425A (ja) 複数の通信プロトコルを有する画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090120

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090213

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees