JP2014182666A - 情報処理装置、画像形成装置およびプログラム - Google Patents

情報処理装置、画像形成装置およびプログラム Download PDF

Info

Publication number
JP2014182666A
JP2014182666A JP2013057425A JP2013057425A JP2014182666A JP 2014182666 A JP2014182666 A JP 2014182666A JP 2013057425 A JP2013057425 A JP 2013057425A JP 2013057425 A JP2013057425 A JP 2013057425A JP 2014182666 A JP2014182666 A JP 2014182666A
Authority
JP
Japan
Prior art keywords
data
mram
information
program
stored
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.)
Pending
Application number
JP2013057425A
Other languages
English (en)
Inventor
Junya Yamada
順也 山田
Kei Hatano
圭 波多野
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2013057425A priority Critical patent/JP2014182666A/ja
Publication of JP2014182666A publication Critical patent/JP2014182666A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】主記憶装置として不揮発性メモリおよび揮発性メモリを併用する場合に、起動処理に要する時間を短くする。
【解決手段】1回目の起動処理において、CPU51は、ROM55から読み出した複数の圧縮プログラムを順次展開してMRAM56およびDRAM57に記憶させる。各圧縮プログラムを展開して得られる展開済データには、それぞれ優先度が設定されており、DRAM57に記憶される展開済データの優先度がMRAM56に記憶される展開済データの優先度よりも高い場合には、起動処理が完了した後に実行される終了処理において、MRAM56に記憶される優先度の低い展開済データを削除するとともに、DRAM57に記憶される優先度の高いデータをMRAM56に記憶させた後に、MRAM56およびDRAM57に対する給電を停止する。
【選択図】図2

Description

本発明は、情報処理装置、画像形成装置およびプログラムに関する。
公報記載の従来技術として、複数の機能をそれぞれに対応するプログラムによって実現する機器において、優先的に機能を実現するためのプログラムを高速なフラッシュメモリに格納するとともに、残りのプログラムをハードディスクに格納しておき、機器の起動後にまず動作が高速なフラッシュメモリから優先機能に相当するプログラムをロードして利用可能とし、引き続き残りの機能に相当するプログラムを順次ハードディスクからロードして利用可能とすることが記載されている(特許文献1参照)。
特開2008−287345号公報
本発明は、主記憶装置として不揮発性メモリおよび揮発性メモリを併用する場合に、起動処理に要する時間を短くすることを目的とする。
請求項1記載の発明は、それぞれに優先度が設定された、プログラムを含む複数のデータを転送する転送手段と、読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し、前記転送手段によって転送されてくる複数の前記データを記憶する主記憶手段と、前記主記憶手段に記憶された複数の前記データを読み出して実行する実行手段と、前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第1のデータに設定される優先度が、前記不揮発性メモリに記憶される第2のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第2のデータを削除して当該不揮発性メモリに当該第1のデータを記憶させることで、当該不揮発性メモリの記憶内容を再構築する再構築手段とを含む情報処理装置である。
請求項2記載の発明は、前記転送手段は、前記主記憶手段への給電を開始することに伴って行われる起動処理において、当該起動処理に必要となる順番にて複数の前記データを転送し、前記主記憶手段は、前記転送手段から転送されてくる複数の前記データを、転送順に前記不揮発性メモリに記憶し、当該不揮発性メモリに記憶できなくなった後は、転送順に前記揮発性メモリに記憶することを特徴とする請求項1記載の情報処理装置である。
請求項3記載の発明は、前記不揮発性メモリには、当該不揮発性メモリに記憶される1または複数の前記データを管理するための管理情報を記憶する管理情報記憶領域が設けられ、前記転送手段は、前記管理情報に基づき、前記不揮発性メモリに既に記憶されているデータについては転送を行わないことを特徴とする請求項1または2記載の情報処理装置である。
請求項4記載の発明は、前記管理情報記憶領域には、前記管理情報として前記再構築の予約がさらに記憶され、前記再構築手段は、前記停止前処理において前記管理情報を参照し、前記予約がなされていた場合に前記再構築を行うことを特徴とする請求項1乃至3のいずれか1項記載の情報処理装置である。
請求項5記載の発明は、前記実行手段による前記プログラムの実行に伴って発生する情報を記憶するプログラム情報領域を、前記揮発性メモリまたは前記不揮発性メモリに確保する確保手段をさらに含み、前記確保手段は、前記不揮発性メモリの空き容量が前記プログラム情報領域に必要な容量を超える場合に、当該プログラム情報領域を当該不揮発性メモリに確保し、当該不揮発性メモリの空き容量が当該プログラム情報領域に必要な容量以下となる場合に、当該プログラム情報領域を前記揮発性メモリに確保することを特徴とする請求項1乃至4のいずれか1項記載の情報処理装置である。
請求項6記載の発明は、前記不揮発性メモリの記憶容量が、前記揮発性メモリの記憶容量よりも少ないことを特徴とする請求項1乃至5のいずれか1項記載の情報処理装置である。
請求項7記載の発明は、前記主記憶手段において、前記不揮発性メモリがMRAM、FeRAM、PRAM、ReRAMのいずれかであり、前記揮発性メモリがDRAMであることを特徴とする請求項1乃至6のいずれか1項記載の情報処理装置である。
請求項8記載の発明は、記録材に画像を形成する画像形成部と、前記画像形成部の動作を制御する制御部とを備え、前記制御部は、それぞれに優先度が設定された、前記画像形成部を動作させるためのプログラムを含む複数のデータを転送する転送手段と、読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し、前記転送手段によって転送されてくる複数の前記データを記憶する主記憶手段と、前記主記憶手段に記憶された複数の前記データを読み出して実行する実行手段と、前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第1のデータに設定される優先度が、前記不揮発性メモリに記憶される第2のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第2のデータを削除して当該不揮発性メモリに当該第1のデータを記憶させることで、当該不揮発性メモリの記憶内容を再構築する再構築手段とを含む画像形成装置である。
請求項9記載の発明は、コンピュータに、それぞれに優先度が設定された、プログラムを含む複数のデータを転送する機能と、読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し且つ転送されてくる複数の前記データを記憶する主記憶手段に記憶された複数の当該データを読み出して実行する機能と、前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第1のデータに設定される優先度が、前記不揮発性メモリに記憶される第2のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第2のデータを削除して当該不揮発性メモリに当該第1のデータを記憶させる機能とを実現させるプログラムである。
請求項1記載の発明によれば、本構成を有していない場合と比較して、主記憶装置として不揮発性メモリおよび揮発性メモリを併用する場合に、起動処理に要する時間を短くすることが可能になる。
請求項2記載の発明によれば、本構成を有していない場合と比較して、複数のデータを転送順に記憶することができる。
請求項3記載の発明によれば、本構成を有していない場合と比較して、データの転送に要する時間を短くすることができる。
請求項4記載の発明によれば、本構成を有していない場合と比較して、再構築処理の要否を容易に確認することができる。
請求項5記載の発明によれば、本構成を有していない場合と比較して、起動処理に要する時間をより短くすることが可能になる。
請求項6記載の発明によれば、本構成を有していない場合と比較して、主記憶装置に必要な容量をより容易に確保することが可能になる。
請求項7記載の発明によれば、例えば不揮発性メモリとしてEEPROMあるいはフラッシュメモリを用いた場合と比較して、不揮発性メモリからのデータの読み取りをより高速に行うことができる。
請求項8記載の発明によれば、本構成を有していない場合と比較して、主記憶装置として不揮発性メモリおよび揮発性メモリを併用する場合に、起動処理に要する時間を短くすることが可能になる。
請求項9記載の発明によれば、本構成を有していない場合と比較して、主記憶装置として不揮発性メモリおよび揮発性メモリを併用する場合に、起動処理に要する時間を短くすることが可能になる。
本実施の形態が適用される画像形成システムの構成の一例を示す図である。 画像形成装置に設けられた制御部の内部構成の一例を示すハードウェアブロック図である。 メインメモリによるメモリマップの構成の一例を示す図である。 画像形成装置における起動処理の手順を説明するためのフローチャートである。 起動処理における展開処理の手順を説明するためのフローチャートである。 画像形成装置における終了処理の手順を説明するためのフローチャートである。 終了処理における再構築処理の手順を説明するためのフローチャートである。 1回目の起動処理における、MRAM、DRAMおよびMRAM管理領域の状態の遷移を説明するための図である。 1回目の起動処理における、MRAM、DRAMおよびMRAM管理領域の状態の遷移を説明するための図(つづき)である。 1回目の終了処理における、MRAM、DRAMおよびMRAM管理領域の状態の遷移を説明するための図である。 2回目の起動処理における、MRAM、DRAMおよびMRAM管理領域の状態の遷移を説明するための図である。 2回目の起動処理における、MRAM、DRAMおよびMRAM管理領域の状態の遷移を説明するための図(つづき)である。 2回目の起動処理における、MRAM、DRAMおよびMRAM管理領域の状態の遷移を説明するための図(つづき)である。 2回目の起動処理における、MRAM、DRAMおよびMRAM管理領域の状態の遷移(別例)を説明するための図である。 2回目以降の終了処理における、MRAM、DRAMおよびMRAM管理領域の状態の遷移を説明するための図である。 2回目以降の起動処理における、MRAM、DRAMおよびMRAM管理領域の状態の遷移を説明するための図である。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態が適用される画像形成システムの構成の一例を示す図である。
この画像形成システムは、スキャン機能、プリント機能、コピー機能およびファクシミリ機能を備えた所謂複合機として動作する画像形成装置1と、画像形成装置1に接続されるネットワーク2と、ネットワーク2に接続される端末装置3と、ネットワーク2に接続されるファクシミリ装置4と、ネットワーク2に接続されるサーバ装置5とを有している。
ここで、ネットワーク2は、インターネット回線や電話回線等によって構成されている。また、端末装置3は、ネットワーク2を介して、画像形成装置1に画像の形成等を指示するものであり、例えばPC(Personal Computer)で構成される。さらに、ファクシミリ装置4は、ネットワーク2を介して、画像形成装置1との間でファクシミリを送受信する。さらにまた、サーバ装置5は、ネットワーク2を介して、画像形成装置1との間でデータ(プログラムを含む)を送受信する。
また、画像形成装置1は、紙等の記録媒体に記録された画像を読み取る画像読取部10と、紙等の記録媒体(記録材)に画像を形成する画像形成部20と、ユーザから電源のオン/オフ、スキャン機能、プリント機能、コピー機能およびファクシミリ機能を用いた動作に関連する指示を受け付けるとともに、ユーザに対してメッセージを表示するユーザインタフェース(UI)30と、ネットワーク2を介して端末装置3、ファクシミリ装置4およびサーバ装置5との間でデータの送受信を行う送受信部40と、これら画像読取部10、画像形成部20、UI30および送受信部40の動作を制御する制御部50とを備えている。そして、この画像形成装置1では、画像読取部10によってスキャン機能が実現され、画像形成部20によってプリント機能が実現され、画像読取部10および画像形成部20によってコピー機能が実現され、画像読取部10、画像形成部20および送受信部40によってファクシミリ機能が実現される。なお、送受信部40は、例えばインターネット回線用のものと電話回線用のものとを、別々に設けるようにしてもかまわない。
図2は、図1に示す画像形成装置1に設けられた制御部50の内部構成の一例を示すハードウェアブロック図である。
情報処理装置の一例としての制御部50は、種々の演算を実行することによって画像形成装置1の各部を制御するCPU(Central Processing Unit:中央処理装置)51と、CPU51に接続され、CPU51との間で各種データのやりとりを行うバスブリッジ52とを備えている。制御部50において、バスブリッジ52には、第1のクロックでデータのやりとりを行うメモリバス53と、第1のクロックよりも周波数が低い第2のクロックでデータのやりとりを行うPCI(Peripheral Component Interconnect)バス54とが接続されている。
また、制御部50は、ROM(Read Only Memory)55と、MRAM(Magnetoresistive Random Access Memory)56と、DRAM(Dynamic Random Access Memory)57とを備えている。そして、これらROM55、MRAM56およびDRAM57は、それぞれ、メモリバス53に接続されている。
転送手段、実行手段、再構築手段および確保手段の一例としてのCPU51は、ROM55、MRAM56およびDRAM57に直接アクセスすることが可能となっている。以下の説明では、メモリバス53に接続されるROM55、MRAM56およびDRAM57を、まとめて『メインメモリ』と称することがある。また、本実施の形態において、MRAM56およびDRAM57は、主記憶手段の一例としての機能を有している。
ここで、ROM55は、所謂マスクROM、各種PROM(Programmable ROM:例えばOTP ROM (One Time Programmable ROM)、UV−EPROM(Ultra-Violet Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM))、フラッシュメモリなどで構成されている。なお、この例では、ROM55として、フラッシュメモリが用いられている。
また、MRAM56は、書き換え可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリの一例としての機能を有している。なお、本実施の形態の不揮発性メモリに要求される特性は、ROM55(この例ではフラッシュメモリ)よりも高速にデータの読み書きが行えることであり、MRAM56以外に、FeRAM(Ferroelectric RAM)、PRAM(Phase change RAM)、あるいはReRAM(Resistance RAM)などを用いてもよい。
さらに、DRAM57は、書き換え可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリの一例としての機能を有している。なお、DRAM57以外に、SRAM(Static Random Access Memory)などを用いてもよい。
そして、本実施の形態では、MRAM56およびDRAM57が、ともに第1のクロックでデータの読み書きを行う。このため、MRAM56は、DRAM57と同等の読み書き性能を有していることになる。また、本実施の形態では、MRAM56の記憶容量に対し、DRAM57の記憶容量がより大きくなっている。これは、MRAM56の単位容量あたりの単価が、DRAM57の単位容量あたりの単価に比べて高価となっていることによる。
さらにまた、本実施の形態の制御部50は、制御部50を構成する各部(CPU51等)が動作するクロックの基準となる基準クロックを生成するクロックジェネレータ58と、CPU51等の動作に伴って計時を行うタイマ59とをさらに備えている。
なお、CPU51が実行するプログラムは、予めROM55に記憶させておく形態の他、例えばCD−ROM等の記憶媒体に格納してCPU51に提供したり、あるいは、サーバ装置5からネットワーク2を介してCPU51に提供したりすることも可能である。
また、制御部50は、UI30を制御するためのUIインタフェース回路(UIIF)61と、画像形成部20を制御するためのプリントインタフェース回路(プリントIF)62と、例えば画像形成が行われた記録媒体に後処理を施す後処理装置70など、画像形成装置1に後付けで装着されるオプションユニットを制御するためのオプションインタフェース回路(オプションIF)63と、送受信部40を制御するためのネットワークインタフェース回路(ネットワークIF)64と、USB(Universal Serial Bus)デバイスを制御するためのUSBインタフェース回路(USBIF)65とを備えている。そして、これらUIIF61、プリントIF62、オプションIF63、ネットワークIF64およびUSBIF65は、それぞれ、PCIバス54に接続されている。また、本実施の形態では、USBIF65に対し、画像読取部10が接続されている。なお、USBIF65には、例えば、装着されたメモリカード81に対しデータを読み書きするカードリーダ80が接続されることもある。
図3は、上述したメインメモリ(ROM55、MRAM56およびDRAM57)によるメモリマップの構成の一例を示す図である。ここで、図3(a)はメインメモリにおける複数の記憶領域の配置を示しており、図3(b)はMRAM56に配置されたMRAM管理領域A11(詳細は後述する)における複数の記憶領域の配置を示している。
この例では、図3(a)に示すように、ROM55にリセットベクタ記憶領域A01、圧縮プログラム記憶領域A02および空き領域A03が配置され、MRAM56にMRAM管理領域A11およびMRAMデータ記憶領域A12が配置され、DRAM57にDRAMデータ記憶領域A21が配置されている。
これらのうち、ROM55に配置されるリセットベクタ記憶領域A01は、画像形成装置1を起動するにあたり、制御部50においてCPU51が最初に実行するプログラムである、イニシャル・プログラム・ローダ(Initial Program Loader:IPL)を記憶する。また、ROM55に配置される圧縮プログラム記憶領域A02は、本実施の形態の画像形成装置1に実装され得る各構成に対応したデータ(アプリケーションプログラム(以下では単にプログラムと呼ぶことがある)やフォント等を含む)を、それぞれ圧縮した圧縮プログラムとして記憶する。ここで、圧縮プログラム記憶領域A02には、複数の圧縮プログラムが記憶されている。さらに、ROM55に配置される空き領域A03は、現段階において、データが記憶されていない領域である。
次に、MRAM56に配置されるMRAM管理領域A11は、MRAMデータ記憶領域A12に記憶される複数のデータを管理するための情報(MRAM管理情報と呼ぶ)を記憶する。また、MRAM56に配置されるMRAMデータ記憶領域A12は、ROM55に配置された圧縮プログラム記憶領域A02から読み出した圧縮プログラムを、CPU51が展開することによって得た展開済データ(プログラムやフォント)等を記憶する。
さらに、DRAM57に配置されるDRAMデータ記憶領域A21は、上記MRAMデータ記憶領域A12と同じく、ROM55に配置された圧縮プログラム記憶領域A02から読み出した圧縮プログラムを、CPU51が展開することによって得た展開済データ(プログラムやフォント)等を記憶する。
なお、後述するように、MRAMデータ記憶領域A12とDRAMデータ記憶領域A21とには、それぞれ、内容が異なる展開済データが記憶される。
次に、MRAM56に配置された、管理情報記憶領域の一例としてのMRAM管理領域A11について説明を行う。
この例では、図3(b)に示すように、MRAM管理領域A11に、MRAM展開情報記憶領域A111と、再構築予約記憶領域A112と、高速起動設定記憶領域A113とが配置されている。
これらのうち、MRAM展開情報記憶領域A111は、MRAMデータ記憶領域A12に記憶される複数の展開済データのそれぞれについて、展開情報と呼ばれる各展開済データに固有な情報を記憶する。ここで、展開情報としては、各展開済データに付与された種別(名称)に関するデータ種別情報、各展開済データに設定された優先度に関する優先度情報、各展開済データの版を示すバージョン情報、MRAMデータ記憶領域A12において各展開済データが展開された場所(アドレス)に関する展開場所情報等が挙げられる。なお、展開情報のうち、展開場所情報を除いたデータ種別情報、優先度情報およびバージョン情報は、展開済データの元となる圧縮プログラムに予め記録されている。また、これらデータ種別情報、優先度情報およびバージョン情報は、圧縮プログラムのヘッダ部分に記録されており、圧縮プログラムを展開してなくても、これらの情報が取得できるようになっている。
また、再構築予約記憶領域A112は、MRAMデータ記憶領域A12に記憶される複数のデータおよびDRAMデータ記憶領域A21に記憶される1または複数のデータを、取捨選択してMRAMデータ記憶領域A12に記憶させることで、MRAMデータ記憶領域A12の記憶内容を再構築するための予約を受け付けたか否かを示す予約情報を記憶する。
さらに、高速起動設定記憶領域A113は、画像形成装置1を通常の起動時よりも短時間で起動する高速起動の設定を受け付けたか否かを示す設定情報を記憶する。
なお、本実施の形態では、上述した展開情報(データ種別情報、優先度情報、バージョン情報および展開場所情報)と予約情報と設定情報とによって、MRAM管理情報が構成されている。
図4は、図1に示す画像形成装置1における起動処理の手順を説明するためのフローチャート(メインルーチン)である。なお、この起動処理は、例えばUI30を介して画像形成装置1の電源が投入されることに伴ってCPU51にリセット指示が入力されたとき、また、画像形成装置1の電源が投入された後に何らかの理由によりCPU51にリセット指示が入力されたとき、さらには、メインメモリを含む画像形成装置1の一部の構成要素への給電を停止するスリープモードから復帰するとき、などに実行される。
制御部50に設けられたCPU51がリセット指示を受け付けると、CPU51は、自身のリセット(CPUリセット)を実行する。CPUリセットに伴い、DRAM57の記憶内容は消去されるが、ROM55およびMRAM56の記憶内容は消去されず、CPUリセット前の記憶内容がそのまま保持される。
続いて、CPU51は、ROM55のリセットベクタ記憶領域A01に記憶されるイニシャル・プログラム・ローダ(IPL)を読み出すとともに、読み出したIPLを実行する。IPLの実行に伴い、CPU51は、MRAM56のMRAM管理領域A11に記憶されるMRAM管理情報を読み出して取得する(ステップ101)。
次に、CPU51は、IPLの実行に伴い、ROM55の圧縮プログラム記憶領域A02に記憶される複数の圧縮プログラムを、必要に応じて展開し、MRAM56のMRAMデータ記憶領域A12あるいはDRAM57のDRAMデータ記憶領域A21にプログラムやフォント等のデータとして記憶させる展開処理を実行する(ステップ102)。なお、ステップ102では、ステップ101で取得したMRAM管理情報のうちの展開情報に基づいて展開処理を実行するのであるが、その詳細については後述する。
続いて、CPU51は、今回の起動処理において必要となるプログラムやフォント等がMRAM56のMRAMデータ記憶領域A12あるいはDRAM57のDRAMデータ記憶領域A21に全て記憶されているか、換言すれば、今回の起動処理で使用する全ての展開対象に対する展開処理が終了しているか否かを判断する(ステップ103)。ここで、展開対象は、ROM55の圧縮プログラム記憶領域A02に記憶される複数の圧縮プログラムのうちの1つの圧縮プログラムを指す。ただし、今回の起動処理において、圧縮プログラム記憶領域A02に記憶される全ての圧縮プログラムが展開対象となるわけではなく、起動後の画像形成装置1に要求される機能によっては、一部の圧縮プログラムが展開対象から外れることもある。
ステップ103において否定の判断(NO)を行った場合は、ステップ102に戻り、次の展開対象に対する展開処理を続行する。したがって、ステップ102の展開処理は、展開対象毎に実行されることになる。
一方、ステップ103において肯定の判断(YES)を行った場合、CPU51は、ステップ101で取得したMRAM管理情報のうちの設定情報を参照し、高速起動設定が「有効」に設定されているか否かを判断する(ステップ104)。ステップ104において肯定の判断(YES)を行った場合、CPU51は、さらに、プログラム情報領域として必要な容量が、MRAM56におけるMRAMデータ記憶領域A12の空き容量以下となっているか否か、換言すれば、MRAM56にプログラム情報領域を確保することが可能であるか否かを判断する(ステップ105)。ここで、プログラム情報領域は、MRAMデータ記憶領域A12に記憶されている複数の展開済データのうちの各種プログラムの実行中に発生する各種データを一時的に記憶させるための領域であり、C言語におけるmallocによる動的メモリ確保、スタックあるいはリソース等が含まれる。
ステップ105において否定の判断(NO)を行った場合、CPU51は、MRAM56におけるMRAM管理領域A11の高速起動設定記憶領域A113において設定情報を「無効」と記録し(ステップ106)、CPUリセットを行う(ステップ107)ことで、起動処理を完了する。なお、この場合は、再起動に伴ってステップ101から起動処理が再度実行されることになる。
これに対し、上記ステップ104で否定の判断(NO)を行った場合、CPU51は、DRAM57におけるDRAMデータ記憶領域A21にプログラム情報領域を確保し(ステップ108)、起動処理を完了する。
また、上記ステップ105で肯定の判断(YES)を行った場合、CPU51は、MRAM56におけるMRAMデータ記憶領域A12にプログラム情報領域を確保し(ステップ109)、起動処理を完了する。
図5は、図4に示す起動処理における展開処理(ステップ102)の手順を説明するためのフローチャート(サブルーチン)である。
展開処理では、まず、CPU51が、展開対象を設定する(ステップ201)。ステップ201では、CPU51が、画像形成装置1を起動するために必要な手順に基づいて展開対象を設定する。ここで、1番目に設定される展開対象としては、例えば各種プログラムを動作させるためのベースとなるOS(Operating System)が挙げられる。
次に、CPU51は、上記ステップ101(図4参照)で取得したMRAM管理情報のうちの展開情報(より具体的にはデータ種別情報)を参照し、ステップ201で設定された展開対象が、既にMRAM56のMRAMデータ記憶領域A12に展開済となっているか否か(展開済データとして記憶されているか否か)を判断する(ステップ202)。
ステップ202で肯定の判断(YES)を行った場合、CPU51は、次に、ROM55の圧縮プログラム記憶領域A02に記憶されている展開対象の圧縮プログラムのヘッダ部分を読み出すとともに、上記ステップ101(図4参照)で取得したMRAM管理情報の展開情報(より具体的にはバージョン情報)を参照し、展開対象の圧縮プログラムのバージョンと、MRAM56のMRAMデータ記憶領域A12に記憶されている展開対象の展開済データのバージョンとが一致しているか否かを判断する(ステップ203)。ステップ203において肯定の判断(YES)を行った場合は、この展開対象に対する展開処理を完了する。
一方、ステップ203において否定の判断(NO)を行った場合、CPU51は、MRAM56のMRAMデータ記憶領域A12に記憶されている展開対象の展開済データを削除する(ステップ204)。
ステップ202において否定の判断(NO)を行った場合、および、ステップ204においてMRAM56のMRAMデータ記憶領域A12に記憶されている展開対象の展開済データの削除を行った場合、次に、CPU51は、この展開対象の圧縮プログラムを展開して得られる展開済データの容量が、MRAM56におけるMRAMデータ記憶領域A12の空き容量以下となっているか否か、換言すれば、展開対象がMRAM56に展開可能であるか否かを判断する(ステップ205)。
ステップ205において肯定の判断(YES)を行った場合、CPU51は、ROM55の圧縮プログラム記憶領域A02から展開対象の圧縮プログラムを読み出すとともに、MRAM56のMRAMデータ記憶領域A12に、展開対象の圧縮プログラムを展開して得られた展開済データを記憶させる(ステップ206)。続いて、CPU51は、この展開対象の圧縮プログラムをMRAMデータ記憶領域A12に展開して得られた展開済データの展開情報(展開対象の展開情報)を、MRAM56におけるMRAM管理領域A11のMRAM展開情報記憶領域A111に記録し(ステップ207)、この展開対象に対する展開処理を完了する。
一方、ステップ205において否定の判断(NO)を行った場合、CPU51は、ROM55の圧縮プログラム記憶領域A02から展開対象の圧縮プログラムを読み出すとともに、MRAM56ではなく、DRAM57のDRAMデータ記憶領域A21に、展開対象の圧縮プログラムを展開して得られた展開済データを記憶させる(ステップ208)。
続いて、CPU51は、ステップ101(図4参照)で取得したMRAM管理情報のうちの優先度情報を参照し、MRAM56のMRAMデータ記憶領域A12に、この展開対象の展開済データよりも優先度が低い展開済データが記憶されているか否かを判断する(ステップ209)。ステップ209において否定の判断(NO)を行った場合は、この展開対象に対する展開処理を完了する。
一方、ステップ209において肯定の判断(YES)を行った場合、CPU51は、この展開対象の圧縮プログラムを展開して得られる展開済データの容量が、MRAM56におけるMRAMデータ記憶領域A12から上記低優先度の展開済データを削除した後の空き容量以下となっているか否か、換言すれば、展開対象の圧縮プログラムがMRAM56に展開可能であるか否かを判断する(ステップ210)。
ステップ210において肯定の判断(YES)を行った場合、CPU51は、MRAM56におけるMRAM管理領域A11の再構築予約記憶領域A112に予約情報を記録し(ステップ211)、この展開対象に対する展開処理を完了する。一方、ステップ210において否定の判断(NO)を行った場合は、そのまま、この展開対象に対する展開処理を完了する。
図6は、図1に示す画像形成装置1における終了処理の手順を説明するためのフローチャート(メインルーチン)である。なお、停止前処理の一例としての終了処理は、図4および図5に示す起動処理の完了に伴って画像形成装置1が動作可能な状態となった後、例えばUI30を介して画像形成装置1の電源を切断する指示がなされたとき、また、メインメモリを含む画像形成装置1の一部の構成要素への給電を停止するスリープモードに移行するとき、などに実行される。
終了処理では、まず、CPU51が、MRAM56のMRAM管理領域A11に記憶されるMRAM管理情報を読み出して取得する(ステップ301)。続いて、CPU51は、ステップ301で取得したMRAM管理情報のうちの予約情報を参照し、再構築の予約(図5に示すステップ211参照)があるか否かを判断する(ステップ302)。
ステップ302において肯定の判断(YES)を行った場合、CPU51は、MRAM56のMRAMデータ記憶領域A12に記憶される展開済データの内容を再構築する再構築処理を実行し(ステップ303)、次のステップ304へと進む。これに対し、ステップ302において否定の判断(NO)を行った場合、CPU51は、再構築処理を実行することなく、そのままステップ304へと進む。
ステップ302において否定の判断(NO)を行った場合、および、ステップ303において再構築処理を実行した場合、次に、CPU51は、プログラム情報領域として必要な容量が、MRAM56におけるMRAMデータ記憶領域A12の空き容量以下となっているか否か、換言すれば、MRAM56にプログラム情報領域を確保することが可能であるか否かを判断する(ステップ304)。
ステップ304において肯定の判断(YES)を行った場合、CPU51は、MRAM56におけるMRAM管理領域A11の高速起動設定記憶領域A113において設定情報を「有効」と記録し(ステップ305)、終了処理を完了する。
一方、ステップ304において否定の判断(NO)を行った場合、CPU51は、MRAM56におけるMRAM管理領域A11の高速起動設定記憶領域A113において設定情報を「無効」と記録し(ステップ306)、終了処理を完了する。
そして、この終了処理が完了した後に、画像形成装置1の電源が切断される。
図7は、図6に示す終了処理における再構築処理(ステップ303)の手順を説明するためのフローチャート(サブルーチン)である。
再構築処理において、CPU51は、ステップ301で取得したMRAM管理情報のうちの予約情報から、再構築における展開対象を取得する(ステップ401)。次いで、CPU51は、ステップ301で取得したMRAM管理情報のうちの展開情報(より具体的には優先度情報)と、ステップ401で取得した再構築における展開対象とに基づき、再構築における展開対象よりも優先度が低い(低優先度の)展開済データを削除対象に設定し、MRAM56におけるMRAMデータ記憶領域A12から削除する(ステップ402)。
次に、CPU51は、ROM55の圧縮プログラム記憶領域A02から再構築における展開対象の圧縮プログラムを読み出すとともに、MRAM56のMRAMデータ記憶領域A12に、この圧縮プログラムを展開して得られた展開済データを記憶させる(ステップ403)。続いて、CPU51は、ステップ402で削除した展開済データの展開情報を、MRAM56におけるMRAM管理領域A11のMRAM展開情報記憶領域A111から削除し、さらに、この再構築における展開対象をMRAMデータ記憶領域A12に展開して得られた展開済データの展開情報(展開対象の展開情報)を、MRAM56におけるMRAM管理領域A11のMRAM展開情報記憶領域A111に記録する(ステップ404)。
そして、CPU51は、今回の終了処理において再構築の予約がなされたプログラムやデータがMRAM56のMRAMデータ記憶領域A12に記憶されているか、換言すれば、今回の終了処理で再構築が予約されていた全ての展開対象に対する再構築処理が終了しているか否かを判断する(ステップ405)。ステップ405において否定の判断(NO)を行った場合は、ステップ401に戻り、次の展開対象に対する再構築処理を続行する。
一方、ステップ405において肯定の判断(YES)を行った場合、CPU51は、MRAM56におけるMRAM管理領域A11の再構築予約記憶領域A112において予約情報を「なし」と記録(再構築の予約を削除)し(ステップ406)、一連の再構築処理を完了する。
次に、図4〜図7に示す起動処理および終了処理の手順について、具体的に例を挙げながら説明を行う。
<1回目の起動処理の例>
図8および図9は、1回目(最初)の起動処理における、MRAM56、DRAM57およびMRAM管理領域A11の状態の遷移の例を説明するための図である。
図8(a)は、1回目の起動処理が開始される前の状態を示している。このとき、MRAM56におけるMRAMデータ記憶領域A12およびDRAM57におけるDRAMデータ記憶領域A21は空となっている。また、MRAM56におけるMRAM管理領域A11において、MRAM展開情報記憶領域A111には展開情報が記録されておらず、再構築予約記憶領域A112には予約情報として「なし」が、高速起動設定記憶領域A113には設定情報として「無効」が、それぞれ記録されている。
なお、この例では、1回目の起動処理において、「ProgramA」、「FontA」、「FontB」、そして「ProgramB」の順番で、合計4つの展開対象が設定されているものとする。ここで、1番目に展開対象となるデータ種別「ProgramA」(アプリケーションプログラム)は、優先度が最も高い1に設定されているとともに、そのバージョンはver.1.0.0となっている。また、2番目に展開対象となるデータ種別「FontA」(フォントデータ)は、優先度が5に設定されるとともに、そのバージョンはver.1.0.1となっている。さらに、3番目に展開対象となるデータ種別「FontB」(フォントデータ)は、優先度が3に設定されるとともに、そのバージョンは1.0.0となっている。さらにまた、4番目且つ最後に展開対象となるデータ種別「ProgramB」(アプリケーションプログラム)は、優先度が2に設定されるとともに、そのバージョンはver.1.0.2となっている。
ステップ101(図4参照)では、MRAM56のMRAM管理領域A11から、展開情報、予約情報および設定情報を含むMRAM管理情報が取得される。なお、この起動処理において取得されるMRAM管理情報は、上述した通り(展開情報:記録なし、予約情報:なし、設定情報:無効)となっている。
続くステップ102では、展開処理のサブルーチン(図5参照)が実行される。
ここでは、ステップ201において展開対象が「ProgramA」に設定され、MRAM管理情報における展開情報に基づき、ステップ202において否定の判断(NO)がなされる。このとき、「ProgramA」の展開済データの容量がMRAMデータ記憶領域A12の空き容量以下となっていることから、続くステップ205において肯定の判断(YES)がなされる。これに伴い、ステップ206では、ROM55の圧縮プログラム記憶領域A02に記憶されている「ProgramA」の圧縮プログラムが読み出されるとともに、MRAM56のMRAMデータ記憶領域A12に、「ProgramA」の圧縮プログラムを展開して得られた「ProgramA」の展開済データが記憶される。続くステップ207では、この「ProgramA」の展開情報(データ種別:ProgramA、優先度:1、ver:1.0.0、展開場所:0xXXXX)が、MRAM管理領域A11におけるMRAM展開情報記憶領域A111に記録されて、「ProgramA」に対する展開処理が完了する。ここで、図8(b)は、「ProgramA」に関する展開処理が終了した状態を示している。
「ProgramA」に関する展開処理が完了した後、メインルーチンのステップ103において否定の判断(NO)がなされることにより、ステップ102へと戻り、展開処理のサブルーチン(図5参照)が実行される。
ここでは、ステップ201において展開対象が「FontA」に設定され、MRAM管理情報における展開情報に基づき、ステップ202において否定の判断(NO)がなされる。このとき、「FontA」の展開済データの容量がMRAMデータ記憶領域A12の空き容量以下となっていることから、続くステップ205において肯定の判断(YES)がなされる。これに伴い、ステップ206では、ROM55の圧縮プログラム記憶領域A02に記憶されている「FontA」の圧縮プログラムが読み出されるとともに、MRAM56のMRAMデータ記憶領域A12に、「FontA」の圧縮プログラムを展開して得られた「FontA」の展開済データが記憶される。続くステップ207では、この「FontA」の展開情報(データ種別:FontA、優先度:5、ver:1.0.1、展開場所:0xXXXX)が、MRAM管理領域A11におけるMRAM展開情報記憶領域A111に記録されて、「FontA」に対する展開処理が完了する。ここで、図8(c)は、「FontA」に関する展開処理が終了した状態を示している。
「FontA」に関する展開処理が完了した後、メインルーチンのステップ103において否定の判断(NO)がなされることにより、ステップ102へと戻り、展開処理のサブルーチン(図5参照)が実行される。
ここでは、ステップ201において展開対象が「FontB」に設定され、MRAM管理情報における展開情報に基づき、ステップ202において否定の判断(NO)がなされる。このとき、「FontB」の展開済データの容量がMRAMデータ記憶領域A12の空き容量以下となっていることから、続くステップ205において肯定の判断(YES)がなされる。これに伴い、ステップ206では、ROM55の圧縮プログラム記憶領域A02に記憶されている「FontB」の圧縮プログラムが読み出されるとともに、MRAM56のMRAMデータ記憶領域A12に、「FontB」の圧縮プログラムを展開して得られた「FontB」の展開済データが記憶される。続くステップ207では、この「FontB」の展開情報(データ種別:FontB、優先度:3、ver:1.0.0、展開場所:0xXXXX)が、MRAM管理領域A11におけるMRAM展開情報記憶領域A111に記録されて、「FontB」に対する展開処理が完了する。ここで、図9(a)は、「FontB」に関する展開処理が終了した状態を示している。
「FontB」に関する展開処理が終了した後、メインルーチンのステップ103において否定の判断(NO)がなされることにより、ステップ102へと戻り、展開処理のサブルーチン(図5参照)が実行される。
ここでは、ステップ201において展開対象が「ProgramB」に設定され、MRAM管理情報における展開情報に基づき、ステップ202において否定の判断(NO)がなされる。このとき、「ProgramB」の展開済データの容量がMRAMデータ記憶領域A12の空き容量を超えてしまうことから、ステップ205において否定の判断(NO)がなされる。これに伴い、続くステップ208では、ROM55の圧縮プログラム記憶領域A02に記憶されている「ProgramB」の圧縮プログラムが読み出されるとともに、DRAM57のDRAMデータ記憶領域A21に、「ProgramB」の圧縮プログラムを展開して得られた「ProgramB」の展開済データが記憶される。
次のステップ209では、MRAMデータ記憶領域A12に、「ProgramB」よりも優先度の低い展開済データが記憶されているか否かが判断される。この例では、MRAMデータ記憶領域A12に、「ProgramB」(優先度:2)よりも優先度が低い「FontA」(優先度:5)や「FontB」(優先度:3)が存在していることから、ステップ209において肯定の判断(YES)がなされる。また、「ProgramB」(優先度:2)の展開済データの容量が、MRAMデータ記憶領域A12から「FontA」(優先度:5)を削除した場合の空き容量以下となっていることから、ステップ210では肯定の判断(YES)がなされる。これに伴い、ステップ211では、MRAM56の再構築予約記憶領域A112に、「ProgramB」について再構築の予約が記録されて、「ProgramB」に対する展開処理が完了する。なお、ステップ211において、再構築予約記憶領域A112には、予約情報として、「データ種別:ProgramB、優先度:2、ver.1.0.2」が書き込まれる。ここで、図9(b)は、「ProgramB」に関する展開処理が終了した状態を示している。
「ProgramB」に対する展開処理が終了してメインルーチンに移行すると、この例では、他に展開対象が存在しないことから、今度は、ステップ103において肯定の判断(YES)がなされる。
そして、MRAM管理情報における設定情報に基づき、ステップ104において否定の判断(NO)がなされ、ステップ108においてDRAM57のDRAMデータ記憶領域A21に「プログラム情報領域」が確保されることにより、1回目の起動処理が完了する。ここで、図9(c)は、「プログラム情報領域」が確保され、1回目の起動処理が完了した状態を示している。
<1回目の終了処理の例>
図10は、1回目の終了処理における、MRAM56、DRAM57およびMRAM管理領域A11の状態の遷移の例を説明するための図である。
図10(a)は、1回目の終了処理が開始される前の状態を示している。なお、この例では、上記1回目の起動処理が完了した後に1回目の終了処理が行われるものとする。したがって、MRAM56(MRAM管理領域A11を含む)およびDRAM57は、図9(c)に示した状態となっている。
ステップ301(図6参照)では、MRAM56のMRAM管理領域A11から、展開情報、予約情報および設定情報を含むMRAM管理情報が取得される。なお、この終了処理において取得されるMRAM管理情報は、10(a)に示した通りとなっている。
次のステップ302では、MRAM管理情報に予約情報が存在していることから、肯定の判断(YES)がなされる。続くステップ303では、再構築処理のサブルーチン(図7)が実行される。
ここでは、まず、ステップ401において展開対象が「ProgramB」に設定され、ステップ402において、MRAMデータ記憶領域A12に記憶されている、「ProgramB」よりも優先度の低い展開済データ(この例では「FontA」(優先度:5)の展開済データ)が削除される。なお、この例では、MRAM56のMRAMデータ記憶領域A12内のデータを整列させるために、「FontA」の展開済データに加えて「FontB」の展開済データも削除される。ここで、図10(b)は、「FontA」および「FontB」の展開済データの削除が行われた状態を示している。
「FontA」の展開済データおよび「FontB」の展開済データの削除が完了した後、ステップ403では、ROM55の圧縮プログラム記憶領域A02に記憶されている「ProgramB」の圧縮プログラムが読み出されるとともに、MRAM56のMRAMデータ記憶領域A12に、「ProgramB」の圧縮プログラムを展開して得られた「ProgramB」の展開済データが記憶される。続くステップ404では、「ProgramB」の展開情報(データ種別:ProgramB、優先度:2、ver:1.0.0、展開場所:0xXXXX)が、MRAM管理領域A11におけるMRAM展開情報記憶領域A111から削除されるとともに、「ProgramB」の展開情報(データ種別:ProgramB、優先度:2、ver.:1.0.2、展開場所:0xXXXX)が、MRAM管理領域A11におけるMRAM展開情報記憶領域A111に記録されて、「ProgramB」に対する再構築処理(展開処理)が完了する。ここで、図10(c)は、「ProgramB」に関する展開処理が終了した状態を示している。
また、この例では、「ProgramB」の展開処理に引き続いて、ROM55の圧縮プログラム記憶領域A02に記憶されている「FontB」の圧縮プログラムが読み出されるとともに、MRAM56のMRAMデータ記憶領域A12に、「FontB」の圧縮プログラムを展開して得られた「FontB」の展開済データが記憶される。さらに、「FontB」の展開情報(データ種別:FontB、優先度:3、ver:1.0.0、展開場所:0xXXXX)が、MRAM管理領域A11におけるMRAM展開情報記憶領域A111から削除されるとともに、「FontB」の展開情報(データ種別:FontB、優先度:3、ver.:1.0.0、展開場所:0xXXXX)が、MRAM管理領域A11におけるMRAM展開情報記憶領域A111に記録される。ここで、図10(d)は、「FontB」に関する処理が終了した状態を示している。
「ProgramB」の展開処理(およびこれに続く「FontB」の再展開処理)が終了してメインルーチンに移行すると、ステップ304において、DRAM57のDRAMデータ記憶領域A21に展開されているプログラム情報領域の容量が、MRAM56のMRAMデータ記憶領域A12の空き容量以下となっているか否かが判定される。この例では、ステップ304において否定の判断(NO)がなされることにより、ステップ306において、MRAM管理領域A11の高速起動設定記憶領域A113に「無効」と記録が行われる(図10(d)参照)。以上により、1回目の終了処理が完了し、その後、画像形成装置1の電源が切断される。
なお、上述した1回目の起動処理および終了処理においては、「ProgramB」が第1のデータに、「FontA」が第2のデータに、それぞれ対応している。
<2回目の起動処理の例>
図11〜図13は、2回目の起動処理における、MRAM56、DRAM57およびMRAM管理領域A11の状態の遷移の例を説明するための図である。
図11(a)は、2回目の起動処理が開始される前の状態を示している。なお、この例では、上記1回目の終了処理が完了した後に2回目の起動処理が行われるものとする。したがって、MRAM56(MRAM管理領域A11を含む)は、図10(c)に示した状態となっている。一方、DRAM57については、電源が切断されることに伴って、その記憶内容が消去された状態となっている。
また、この例では、2回目の起動処理においても、「ProgramA」、「FontA」、「FontB」、そして「ProgramB」の順番で、合計4つの展開対象が設定されているものとする。ここで、ROM55の圧縮プログラム記憶領域A02に記憶されている複数の圧縮プログラムのうち、「ProgramA」、「FontA」および「FontB」に対応する圧縮プログラムについては、1回目の起動処理から内容が変更されていないものとする。一方、「ProgramB」に対応する圧縮プログラムについては、優先度は2のままである一方、その版がVer.1.0.2からVer.1.0.3に変更(バージョンアップ)されているものとする。
ステップ101では、(図4参照)では、MRAM56のMRAM管理領域A11から、展開情報、予約情報および設定情報を含むMRAM管理情報が取得される。なお、この2回目の起動処理において取得されるMRAM管理情報は、図11(a)に示した通りとなっている。
続くステップ102では、展開処理のサブルーチン(図5参照)が実行される。
ここでは、ステップ201において展開対象が「ProgramA」に設定され、MRAM管理情報における展開情報に基づき、ステップ202において肯定の判断(YES)がなされる。次のステップ203では、MRAM56のMRAMデータ記憶領域A12に記憶される「ProgramA」の展開済データのバージョンと、ROM55の圧縮プログラム記憶領域A02に記憶される「ProgramA」の圧縮プログラムのバージョンとが一致しているか否かが判断される。この例では、両者のバージョンが一致しているために肯定の判断(YES)がなされる。ここで、図11(b)は、「ProgramA」に関する展開処理が終了した状態を示している。
「ProgramA」に関する展開処理が終了した後、メインルーチンのステップ103において否定の判断(NO)がなされることにより、ステップ102へと戻り、展開処理のサブルーチンが実行される。
ここでは、ステップ201において展開対象が「FontA」に設定され、MRAM管理情報における展開情報に基づき、ステップ202において否定の判断(NO)がなされる。このとき、「FontA」の展開済データの容量がMRAMデータ記憶領域A12の空き容量を超えてしまうことから、ステップ205において否定の判断(NO)がなされる。これに伴い、続くステップ208では、ROM55の圧縮プログラム記憶領域A02に記憶されている「FontA」の圧縮プログラムが読み出されるとともに、DRAM57のDRAMデータ記憶領域A21に、「FontA」の圧縮プログラムを展開して得られた「FontA」の展開済データが記憶される。
次のステップ209では、MRAMデータ記憶領域A12に、「FontA」よりも優先度の低い展開済データが記憶されているか否かが判断される。この例では、MRAMデータ記憶領域A12に、「FontA」(優先度:5)よりも優先度が低いものが存在してないことから、ステップ209において否定の判断(NO)がなされる。ここで、図11(c)は、「FontA」に関する展開処理が終了した状態を示している。
「FontA」に関する展開処理が終了した後、メインルーチンのステップ103において否定の判断(NO)がなされることにより、ステップ102へと戻り、展開処理のサブルーチンが実行される。
ここでは、ステップ201において展開対象が「FontB」に設定され、MRAM管理情報における展開情報に基づき、ステップ202において肯定の判断(YES)がなされる。次のステップ203では、MRAM56のMRAMデータ記憶領域A12に記憶される「FontB」の展開済データのバージョンと、ROM55の圧縮プログラム記憶領域A02に記憶される「FontB」の圧縮プログラムのバージョンとが一致しているか否かが判断される。この例では、両者のバージョンが一致しているために肯定の判断(YES)がなされる。ここで、図12(a)は、「FontB」に関する展開処理が終了した状態を示している。
「FontB」に関する展開処理が完了した後、メインルーチンのステップ103において否定の判断(NO)がなされることにより、ステップ102へと戻り、展開処理のサブルーチンが実行される。
ここでは、ステップ201において展開対象が「ProgramB」に設定され、MRAM管理情報における展開情報に基づき、ステップ202において肯定の判断(YES)がなされる。次のステップ203では、MRAM56のMRAMデータ記憶領域A12に記憶される「ProgramB」の展開済データのバージョンと、ROM55の圧縮プログラム記憶領域A02に記憶される「ProgramB」の圧縮プログラムのバージョンとが一致しているか否かが判断される。この例では、両者のバージョンが一致していないために否定の判断(NO)がなされる。ここで、図12(b)は、バージョンの比較を行っている状態を示している。
続くステップ204では、MRAM56のMRAMデータ記憶領域A12に記憶されている「ProgramB」の展開済データ(旧バージョン)が削除される。ここで、図12(c)は、「ProgramB」の展開済データの削除が行われた状態を示している。
「ProgramB」の削除が行われると、続くステップ205では、新バージョンとなった「ProgramB」の展開済データが、MRAM56のMRAMデータ記憶領域A12の空き容量以下となっているか否かが判断される。
ここで、ステップ205において肯定の判断(YES)がなされた場合、続くステップ206では、ROM55の圧縮プログラム記憶領域A02に記憶されている新バージョンの「ProgramB」の圧縮プログラムが読み出されるとともに、MRAM56のMRAMデータ記憶領域A12に、新バージョンの「ProgramB」の圧縮プログラムを展開して得られた新バージョンの「ProgramB」の展開済データが記憶される。続くステップ207では、この「ProgramB」の展開情報(データ種別:ProgramB、優先度:2、ver:1.0.3、展開場所:0xXXXX)が、MRAM管理領域A11におけるMRAM展開情報記憶領域A111に記録される。ここで、図13(a)は、「FontB」に関する展開処理が終了した状態を示している。
「ProgramB」に対する展開処理が終了してメインルーチンに移行すると、この例では、他に展開対象が存在しないことから、今度は、ステップ103において肯定の判断(YES)がなされる。
そして、MRAM管理情報における設定情報に基づき、ステップ104において否定の判断(NO)がなされ、ステップ108においてDRAM57のDRAMデータ記憶領域A21に「プログラム情報領域」が確保されることにより、2回目の起動処理が完了する。ここで、図13(b)は、「プログラム情報領域」が確保されることにより、2回目の起動処理が完了した状態の一例を示している。
これに対し、ステップ205において否定の判断(NO)がなされた場合、続くステップ208では、ROM55の圧縮プログラム記憶領域A02に記憶されている新バージョンの「ProgramB」の圧縮プログラムが読み出されるとともに、DRAM57のDRAMデータ記憶領域A21に、新バージョンの「ProgramB」の圧縮プログラムを展開して得られた「ProgramB」の展開済データが記憶される。
次のステップ209では、MRAMデータ記憶領域A12に、新バージョンの「ProgramB」よりも優先度の低い展開済データが記憶されているか否かが判断される。この例では、MRAMデータ記憶領域A12に、新バージョンの「ProgramB」(優先度:2)よりも優先度が低い「FontB」(優先度:3)が存在していることから、ステップ209において肯定の判断(YES)がなされる。また、新バージョンの「ProgramB」(優先度:2)の展開済データの容量が、MRAMデータ記憶領域A12から「FontB」(優先度:3)を削除した場合の空き容量以下となっていることから、ステップ210では肯定の判断(YES)がなされる。これに伴い、ステップ211では、MRAM56の再構築予約記憶領域A112に、「ProgramB」について再構築の予約が記録されて、「ProgramB」に対する展開処理が完了する。なお、ステップ211において、再構築予約記憶領域A112には、予約情報として、「データ種別:ProgramB、優先度:2、ver.1.0.3」が書き込まれる。ここで、図13(c)は、「ProgramB」に関する展開処理が終了した状態を示している。
「ProgramB」に対する展開処理が終了してメインルーチンに移行すると、この例では、他に展開対象が存在しないことから、今度は、ステップ103において肯定の判断(YES)がなされる。
そして、MRAM管理情報における設定情報に基づき、ステップ104において否定の判断(NO)がなされ、ステップ108においてDRAM57のDRAMデータ記憶領域A21に「プログラム情報領域」が確保されることにより、2回目の起動処理が完了する。ここで、図13(d)は、「プログラム情報領域」が確保されることにより、2回目の起動処理が完了した状態の一例を示している。
ここで、後者すなわちステップ205において否定の判断(NO)がなされた場合は、この2回目の起動処理が完了した後に実行される2回目の終了処理において、再構築処理が行われる。これに伴い、MRAM56におけるMRAMデータ記憶領域A12には、「ProgramA」および「ProgramB」が記憶されることになる。
<2回目の起動処理の別例>
図14は、2回目の起動処理における、MRAM56、DRAM57およびMRAM管理領域A11の状態の遷移の別例を説明するための図である。
図14(a)は、2回目の起動処理が開始される前の状態を示している。なお、この例では、2回目の起動処理においても、「ProgramA」、「FontA」、「FontB」、そして「ProgramB」の順番で、合計4つの展開対象が設定されているものとする。ただし、この例では、1回目の起動処理において、MRAM56のMRAMデータ記憶領域A12にアプリケーションプログラムの展開済データ(この例では「ProgramA」および「ProgramB」)を記憶させる際に、各アプリケーションの展開済データに隣接して空の領域(マージン)を確保しているものとする。ここで、「ProgramA」の展開済データに隣接して配置される空の領域を「ProgramAマージン」と呼び、「ProgramB」の展開済データに隣接して配置される空の領域を「ProgramBマージン」と呼ぶ。
また、この例では、ROM55の圧縮プログラム記憶領域A02に記憶されている複数の圧縮プログラムのうち、「ProgramB」、「FontA」および「FontB」に対応する圧縮プログラムについては、1回目の起動処理から内容が変更されていないものとする。一方、「ProgramA」に対応する圧縮プログラムについては、優先度は1のままである一方、その版がVer.1.0.0からVer.1.0.1に変更(バージョンアップ)されているものとする。
ステップ101では、(図4参照)では、MRAM56のMRAM管理領域A11から、展開情報、予約情報および設定情報を含むMRAM管理情報が取得される。なお、この終了処理において取得されるMRAM管理情報は、図14(a)に示した通りとなっている。
続くステップ102では、展開処理のサブルーチン(図5参照)が実行される。
ここでは、ステップ201において展開対象が「ProgramA」に設定され、MRAM管理情報における展開情報に基づき、ステップ202において肯定の判断(YES)がなされる。次のステップ203では、MRAM56のMRAMデータ記憶領域A12に記憶される「ProgramA」の展開済データのバージョンと、ROM55の圧縮プログラム記憶領域A02に記憶される「ProgramA」の圧縮プログラムのバージョンとが一致しているか否かが判断される。この例では、両者のバージョンが一致していないために否定の判断(NO)がなされる。ここで、図14(b)は、バージョンの比較を行っている状態を示している。
続くステップ204では、MRAM56のMRAMデータ記憶領域A12に記憶されている「ProgramA」の展開済データ(旧バージョン)が削除される。ここで、図14(c)は、「ProgramA」の展開済データの削除が行われた状態を示している。
「ProgramA」の削除が行われると、続くステップ205では、新バージョンとなった「ProgramA」の展開済データが、MRAM56のMRAMデータ記憶領域A12の空き容量以下となっているか否かが判断される。この例では、旧バージョンの「ProgramA」の展開済データが記憶されていた領域に隣接して「ProgramAマージン」が設けられていることから、ステップ205において肯定の判断(YES)がなされることになる。
このため、続くステップ206では、ROM55の圧縮プログラム記憶領域A02に記憶されている新バージョンの「ProgramA」の圧縮プログラムが読み出されるとともに、MRAM56のMRAMデータ記憶領域A12のうち、旧バージョンの「ProgramA」が記憶されていた領域と「ProgramAマージン」とに跨って、新バージョンの「ProgramA」の圧縮プログラムを展開して得られた新バージョンの「ProgramA」の展開済データが記憶される。続くステップ207では、この「ProgramA」の展開情報(データ種別:ProgramA、優先度:1、ver:1.0.1、展開場所:0xXXXX)が、MRAM管理領域A11におけるMRAM展開情報記憶領域A111に記録されて、「ProgramA」に対する展開処理が完了する。ここで、図14(d)は、「ProgramA」に関する展開処理が終了した状態を示している。
その後、展開対象が「FontA」、「FontB」そして「ProgramB」に変更されつつ、順次展開処理が行われ、全展開対象に対する展開処理が完了した後、DRAM57のDRAMデータ記憶領域A21にプログラム情報領域が確保されることにより、2回目の起動処理が完了する。
このように、MRAMデータ記憶領域A12において、各アプリケーションプログラムの展開済データに隣接してマージンを予め設けておくことにより、バージョンアップに伴ってデータサイズが増大した場合であっても、バージョンアップ後のアプリケーションプログラムの展開済データを、MRAMデータ記憶領域A12に記憶させることが可能になる。このため、バージョンアップ後のアプリケーションプログラムの展開済データを、一旦、DRAM57のDRAMデータ記憶領域A21に記憶させた後、再構築処理によってMRAM56側に書き戻さなくてもよくなる。
<2回目以降の終了処理の例>
図15は、2回目以降の終了処理における、MRAM56、DRAM57およびMRAM管理領域A11の状態の遷移の例を説明するための図である。
図15(a)は、2回目以降の終了処理が開始される前の状態を示している。なお、この例では、1回目の起動処理において、「ProgramA」、「ProgramB」、そして「FontB」の順番で、合計3つの展開処理が設定されているものとする。したがって、この例において「FontA」は登場しない。また、この例では、MRAM56のMRAMデータ記憶領域A12に、「ProgramA」の展開済データ、「ProgramB」の展開済データおよび「FontB」の展開済データが記憶されており、MRAM56のMRAM管理領域A11における高速起動設定記憶領域A113において設定情報が「無効」と設定されることで、DRAM57のDRAMデータ記憶領域A21にプログラム情報領域が確保されているものとする。
ステップ301(図6参照)では、MRAM56のMRAM管理領域A11から、展開情報、予約情報および設定情報を含むMRAM管理情報が取得される。なお、この終了処理において取得されるMRAM管理情報は、図15(a)に示した通りとなっている。
次のステップ302では、MRAM管理情報に予約情報が存在していないことから、否定の判断(NO)がなされる。続くステップ304において、DRAM57のDRAMデータ記憶領域A21に展開されているプログラム情報領域の容量が、MRAM56のMRAMデータ記憶領域A12の空き容量となっているか否かが判断される。この例では、ステップ304において肯定の判断(YES)がなされることにより、ステップ305において、MRAM管理領域A11の高速起動設定記憶領域A113に「有効」と記録が行われる。ここで、図15(b)は、今回の終了処理が完了した状態の一例を示している。なお、この終了処理の後に次の起動処理が実行された場合は、ステップ105(図4参照)において肯定の判断(YES)がなされることにより、図15(c)に示したように、MRAM56のMRAMデータ記憶領域A12に、プログラム情報領域が確保されることとなる。
<2回目以降の起動処理の例>
図16は、2回目以降の起動処理における、MRAM56、DRAM57およびMRAM管理領域A11の状態の遷移の例を説明するための図である。
図16(a)は、2回目以降の起動処理を実行している最中の状態を示している。なお、この例では、1回目の起動処理において、「ProgramA」、「ProgramB」、そして「FontB」の順番で、合計3つの展開処理が設定されているものとする。したがって、この例において「FontA」は登場しない。また、この例では、MRAM56のMRAMデータ記憶領域A12に、「ProgramA」の展開済データ、「ProgramB」の展開済データおよび「FontB」の展開済データが記憶されており、MRAM56のMRAM管理領域A11における高速起動設定記憶領域A113において設定情報が「有効」と設定されることで、MRAM56のMRAMデータ記憶領域A12にプログラム情報領域が確保されているものとする。
この場合において、図16(b)に示すように、実際に必要なプログラム情報領域の容量がMRAMデータ記憶領域A12に確保されているプログラム情報領域の容量を上回ると、ステップ105において否定の判断(NO)がなされる。すると、続くステップ106において、MRAM管理領域A11の高速起動設定記憶領域A113に「無効」と記録が行われ、さらにステップ107においてCPUリセットが行われることにより、再起動が実行されることになる。これにより、再起動後は、図16(c)に示すように、DRAM57のDRAMデータ記憶領域A21に、プログラム情報領域が確保されることとなる。
1…画像形成装置、2…ネットワーク、3…端末装置、4…ファクシミリ装置、5…サーバ装置、10…画像読取部、20…画像形成部、30…UI、40…送受信部、50…制御部、51…CPU、52…バスブリッジ、53…メモリバス、54…PCIバス、55…ROM、56…MRAM、57…DRAM、58…クロックジェネレータ、59…タイマ、61…UIIF、62…プリントIF、63…オプションIF、64…ネットワークIF、65…USBIF、70…後処理装置、80…カードリーダ、81…メモリカード、A01…リセットベクタ記憶領域、A02…圧縮プログラム記憶領域、A03…空き領域、A11…MRAM管理領域、A12…MRAMデータ記憶領域、A21…DRAMデータ記憶領域、A111…MRAM展開情報記憶領域、A112…再構築予約記憶領域、A113…高速起動設定記憶領域

Claims (9)

  1. それぞれに優先度が設定された、プログラムを含む複数のデータを転送する転送手段と、
    読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し、前記転送手段によって転送されてくる複数の前記データを記憶する主記憶手段と、
    前記主記憶手段に記憶された複数の前記データを読み出して実行する実行手段と、
    前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第1のデータに設定される優先度が、前記不揮発性メモリに記憶される第2のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第2のデータを削除して当該不揮発性メモリに当該第1のデータを記憶させることで、当該不揮発性メモリの記憶内容を再構築する再構築手段と
    を含む情報処理装置。
  2. 前記転送手段は、前記主記憶手段への給電を開始することに伴って行われる起動処理において、当該起動処理に必要となる順番にて複数の前記データを転送し、
    前記主記憶手段は、前記転送手段から転送されてくる複数の前記データを、転送順に前記不揮発性メモリに記憶し、当該不揮発性メモリに記憶できなくなった後は、転送順に前記揮発性メモリに記憶することを特徴とする請求項1記載の情報処理装置。
  3. 前記不揮発性メモリには、当該不揮発性メモリに記憶される1または複数の前記データを管理するための管理情報を記憶する管理情報記憶領域が設けられ、
    前記転送手段は、前記管理情報に基づき、前記不揮発性メモリに既に記憶されているデータについては転送を行わないことを特徴とする請求項1または2記載の情報処理装置。
  4. 前記管理情報記憶領域には、前記管理情報として前記再構築の予約がさらに記憶され、
    前記再構築手段は、前記停止前処理において前記管理情報を参照し、前記予約がなされていた場合に前記再構築を行うことを特徴とする請求項1乃至3のいずれか1項記載の情報処理装置。
  5. 前記実行手段による前記プログラムの実行に伴って発生する情報を記憶するプログラム情報領域を、前記揮発性メモリまたは前記不揮発性メモリに確保する確保手段をさらに含み、
    前記確保手段は、前記不揮発性メモリの空き容量が前記プログラム情報領域に必要な容量を超える場合に、当該プログラム情報領域を当該不揮発性メモリに確保し、当該不揮発性メモリの空き容量が当該プログラム情報領域に必要な容量以下となる場合に、当該プログラム情報領域を前記揮発性メモリに確保することを特徴とする請求項1乃至4のいずれか1項記載の情報処理装置。
  6. 前記不揮発性メモリの記憶容量が、前記揮発性メモリの記憶容量よりも少ないことを特徴とする請求項1乃至5のいずれか1項記載の情報処理装置。
  7. 前記主記憶手段において、前記不揮発性メモリがMRAM、FeRAM、PRAM、ReRAMのいずれかであり、前記揮発性メモリがDRAMであることを特徴とする請求項1乃至6のいずれか1項記載の情報処理装置。
  8. 記録材に画像を形成する画像形成部と、
    前記画像形成部の動作を制御する制御部とを備え、
    前記制御部は、
    それぞれに優先度が設定された、前記画像形成部を動作させるためのプログラムを含む複数のデータを転送する転送手段と、
    読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し、前記転送手段によって転送されてくる複数の前記データを記憶する主記憶手段と、
    前記主記憶手段に記憶された複数の前記データを読み出して実行する実行手段と、
    前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第1のデータに設定される優先度が、前記不揮発性メモリに記憶される第2のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第2のデータを削除して当該不揮発性メモリに当該第1のデータを記憶させることで、当該不揮発性メモリの記憶内容を再構築する再構築手段と
    を含む画像形成装置。
  9. コンピュータに、
    それぞれに優先度が設定された、プログラムを含む複数のデータを転送する機能と、
    読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し且つ転送されてくる複数の前記データを記憶する主記憶手段に記憶された複数の当該データを読み出して実行する機能と、
    前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第1のデータに設定される優先度が、前記不揮発性メモリに記憶される第2のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第2のデータを削除して当該不揮発性メモリに当該第1のデータを記憶させる機能と
    を実現させるプログラム。
JP2013057425A 2013-03-20 2013-03-20 情報処理装置、画像形成装置およびプログラム Pending JP2014182666A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013057425A JP2014182666A (ja) 2013-03-20 2013-03-20 情報処理装置、画像形成装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013057425A JP2014182666A (ja) 2013-03-20 2013-03-20 情報処理装置、画像形成装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2014182666A true JP2014182666A (ja) 2014-09-29

Family

ID=51701300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013057425A Pending JP2014182666A (ja) 2013-03-20 2013-03-20 情報処理装置、画像形成装置およびプログラム

Country Status (1)

Country Link
JP (1) JP2014182666A (ja)

Similar Documents

Publication Publication Date Title
KR101636870B1 (ko) 최소 부트 이미지의 생성 방법 및 장치
JP4886866B2 (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
JP6070360B2 (ja) 情報処理装置およびその処理方法
JP6543122B2 (ja) 情報処理装置と、前記情報処理装置による不揮発記憶装置の初期化方法、及びプログラム
JP5948976B2 (ja) 画像形成装置および情報処理装置
CN110704161B (zh) 虚拟机创建方法、装置及计算机设备
JP5754264B2 (ja) プログラム実行装置、画像処理装置およびプログラム
JP2006195565A (ja) 半導体記憶装置の制御方法、メモリカード、及びホスト機器
JP5747680B2 (ja) 情報処理装置、画像形成装置およびプログラム
JP5683186B2 (ja) 起動高速化方法、情報処理装置及びプログラム
JP5970867B2 (ja) 情報処理装置、画像形成装置およびプログラム
JP2017228010A (ja) ストレージ制御手段、ストレージ制御手段を有する情報処理装置、ストレージ制御方法及びそのプログラム
JP2013045285A (ja) 情報処理装置、画像形成装置およびプログラム
JP2014182666A (ja) 情報処理装置、画像形成装置およびプログラム
JP5895609B2 (ja) 情報処理装置、画像形成装置およびプログラム
JP2013003984A (ja) 情報処理装置、画像形成装置、およびプログラム
JP2013004043A (ja) 情報処理装置、画像形成装置およびプログラム
JP6740785B2 (ja) 情報処理装置及びプログラム
JP2014203361A (ja) 情報処理装置、画像形成装置およびプログラム
JP5971022B2 (ja) 画像形成装置
JP6171505B2 (ja) 情報処理装置およびプログラム
US20230185669A1 (en) Information processing apparatus, method for controlling the same and storage medium
JP2006126987A (ja) 画像処理装置
JP6662140B2 (ja) Icカード及びicカードにおけるメモリ制御方法
JP6080490B2 (ja) 情報処理装置、起動方法およびプログラム