JP6904143B2 - 画像処理装置、スナップショット取得方法、およびコンピュータプログラム - Google Patents

画像処理装置、スナップショット取得方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP6904143B2
JP6904143B2 JP2017147830A JP2017147830A JP6904143B2 JP 6904143 B2 JP6904143 B2 JP 6904143B2 JP 2017147830 A JP2017147830 A JP 2017147830A JP 2017147830 A JP2017147830 A JP 2017147830A JP 6904143 B2 JP6904143 B2 JP 6904143B2
Authority
JP
Japan
Prior art keywords
cores
power
main memory
snapshot
core cpu
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.)
Active
Application number
JP2017147830A
Other languages
English (en)
Other versions
JP2019028749A (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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2017147830A priority Critical patent/JP6904143B2/ja
Publication of JP2019028749A publication Critical patent/JP2019028749A/ja
Application granted granted Critical
Publication of JP6904143B2 publication Critical patent/JP6904143B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数のコアを有するCPUを備える画像処理装置におけるスナップショットの技術に関する。
近年、「MFP(Multi Function Peripherals)」または「画像形成装置」などと呼ばれる画像処理装置が普及している。この画像処理装置には、コピー、スキャン、ファックス、およびファイルサーバなど様々な機能が備わっている。
また、近年、オペレーティングシステムが起動した後の、メインメモリのスナップショットをeMMC(embedded Multi Media Card)またはSSD(Solid State Drive)などのストレージに保存し、スナップショットを用いてオペレーティングシステムの起動の高速化を図る技術が普及している。このような起動は、一般に、「ワープ(Warp)起動」と呼ばれる。スナップショットは、「スナップショットイメージ」または「イメージ」などと呼ばれることもある。ワープ起動は、画像処理装置にも適用することができる。
ワープ起動には、主に次の2つの方法がある。1つ目の方法は、オペレーティングシステムが起動した直後のスナップショットをストレージに保存しておき、その後は毎回、このスナップショットを使用してオペレーティングシステムを起動する、というものである。
2つ目の方法は、主電源がオフにされるなどしてシャットダウンの指令が入力されるごとにスナップショットを生成しストレージに保存し、次回、このスナップショットを使用してオペレーティングシステムを起動する、というものである。「ハイバネーション」と呼ばれることがある。なお、一部の項目については初期値に戻してから、スナップショットを生成することがある。
1つ目の方法によると、スナップショットを一度生成し保存しておけば、その後は生成する必要がない。しかし、毎回、同じスナップショットが使用されるので、シャットダウンの直前の状態に戻すことができない。
2つ目の方法によると、シャットダウンの直前の状態に戻すことができる。しかし、シャットダウンのたびにスナップショットを生成しなければならないので、1つ目の方法よりも、シャットダウンを完了するのに時間が掛かる。
さらに、近年は、画像処理装置を構成するデバイス(ハードウェアモジュール)のうちの、ワープ起動を適用することができるデバイスが増えている。つまり、ワープ起動の適用の範囲が拡大されている。このように適用の範囲が拡大されたワープ起動は、「スーパワープ(Super Warp)起動」と呼ばれることがある。
スーパワープ起動によると、オペレーティングシステムを起動する時間をさらに短縮することができる。
ハイバネーションの方法として、次のような方法が提案されている。画像処理装置は、電源供給が停止するように操作者によって電源スイッチが操作された後に第1時間が経過すると、CPUがワーク領域として使用する主記憶メモリの記憶内容を2次記憶デバイスに退避させるハイバネーション処理を実行する。さらに、本画像処理装置は、第1時間が経過する前にハイバネーション処理と画像処理装置の終了処理とを完了させるために必要となる目標時間内に、ハイバネーション処理が完了する場合は、ハイバネーション処理が完了した後に終了処理を実行して電源供給を停止し、目標時間内にハイバネーション処理が完了しない場合は、ハイバネーション処理を中断させて、終了処理を実行して電源供給を停止する(特許文献1)。
また、近年、「マルチコアCPU」などと呼ばれる、複数のコアを有するCPU(Central Processing Unit)が普及している。各コアへ電力へ供給する方法として、次のような方法が提案されている。
マルチコア・プロセッサに電力を供するために、電力システムがそのプロセッサに接続される。プロセッサが電力システムから消費する電力が所定の閾値電力を超えるとき、電力システムは、プロセッサ・コアのうちの少なくとも1つを絞る。電力システムは、電力絞りを行うために、特定のコアによる命令発生速度を減少させ得るか、或いは特定のコアをクロック・ゲートし得る。電力システムは、プロセッサ回路が、時間の経過と共に、電力システムから受ける実出力の、予測出力電圧に比較した場合の変動に動的に応答し、そのような変動を修正する(特許文献2)。
特開2016−76249号公報 特開2010−515984号公報
画像処理装置がシングルコアCPUを採用する場合は、従来、主電源のスイッチがオフにされた後、次のフェーズを経る。AC/DCコンバータの、瞬電の対策のための回路が、少なくとも保証期間は、電力を各ハードウェアモジュールへ供給する。さらに、電力を供給し続けるが、徐々に電荷が抜けて電圧が垂下する。そして、一定の電圧を下回ると、各ハードウェアモジュールへの電力の供給の停止(切断)の処理が開始される。停止の処理が開始されるまでは、スナップショットを生成し保存する処理がCPUによって実行され続けるが、停止の処理の開始後、スナップショットを生成し保存する処理が停止される。
画像処理装置がマルチコアCPUを採用する場合は、スナップショットを生成し保存する処理を複数のコアが並列して実行する。この処理は、データの圧縮を伴うので、他の処理を実行する場合よりもコアによる電力の消費が大きい。
したがって、上述のフェーズを経ると、この処理を行う複数のコアへの電力の供給が集中して一定の電圧を下回ってしまうことがある。すると、スナップショットを生成し保存する処理も、期待していた時間よりも早期に停止してしまう。
本発明は、このような問題点に鑑み、複数のコアを有するCPUを備える画像処理装置においてスナップショットを従来よりも確実に取得できるようにすることを、目的とする。
本発明の一形態に係る画像処理装置は、複数のコアを有するマルチコアCPUと、前記マルチコアCPUが使用するメインメモリと、前記メインメモリおよび前記マルチコアCPU以外の1つまたは複数のハードウェアモジュールと、一次電源から入力される電力である一次電力を変圧して前記マルチコアCPU、前記メインメモリ、および前記1つまたは複数のハードウェアモジュールへ二次電力を供給し、かつ、当該一次電力の瞬電の対策のための瞬電対策回路を有する二次電源と、前記一次電源からの前記一次電力の供給が停止した後、前記複数のコアのうちの前記メインメモリの全部分または一部分のスナップショットを生成する生成処理を実行するのに使用するコアの個数を、時間の経過とともに少なくなるように決定する、決定手段と、を有し、前記マルチコアCPUは、前記複数のコアのうちの、前記決定手段によって決定された前記個数のコアによって前記生成処理を実行する。
本発明の他の一形態に係る画像処理装置は、複数のコアを有するマルチコアCPUと、前記マルチコアCPUが使用するメインメモリと、前記メインメモリおよび前記マルチコアCPU以外の1つまたは複数のハードウェアモジュールと、一次電源から入力される電力である一次電力を変圧して前記マルチコアCPU、前記メインメモリ、および前記1つまたは複数のハードウェアモジュールへ二次電力を供給し、かつ、当該一次電力の瞬電の対策のための瞬電対策回路を有する二次電源と、前記一次電源からの前記一次電力の供給が停止した後、前記複数のコアのうちの前記メインメモリの全部分または一部分のスナップショットを生成する生成処理を実行するのに使用するコアの個数を、前記瞬電対策回路の電圧が低いほど少なくなるように決定する、決定手段と、を有し、前記マルチコアCPUは、前記複数のコアのうちの、前記決定手段によって決定された前記個数のコアによって前記生成処理を実行する。
本発明によると、複数のコアを有するCPUを備える画像処理装置においてスナップショットを従来よりも確実に取得することができる。
画像形成装置および端末装置を有するネットワークの例を示す図である。 画像形成装置のハードウェア構成の例を示す図である。 メインメモリに設けられる記憶領域の例を示す図である。 シャットダウンプログラムによって実現される機能的構成の例を示す図である。 最大コア数決定処理の流れの例を説明するフローチャートである。 スナップショット生成処理の流れの例を説明するフローチャートである。 ファイル保存処理の流れの例を説明するフローチャートである。 スナップ対象領域の例を示す図である。 最大コア数および各コアの動作それぞれの遷移の例を示す図である。 起動プログラムによって実現される機能的構成の例を示す図である。 画像形成装置における電源オフの際の全体的な処理の流れの例を説明するフローチャートである。 画像形成装置における電源オンの際の全体的な処理の流れの例を説明するフローチャートである。 各ハードウェアモジュールの優先度レベルの例を示す図である。 最大コア数および各コアの動作それぞれの遷移の例を示す図である。 最大コア数決定処理の流れの例を説明するフローチャートである。 スナップ対象領域の例を示す図である。 最大コア数および各コアの動作それぞれの遷移の例を示す図である。 最大コア数および各コアの動作それぞれの遷移の例を示す図である。
図1は、画像形成装置1および端末装置2を有するネットワークの例を示す図である。図2は、画像形成装置1のハードウェア構成の例を示す図である。
図1に示す画像形成装置1は、コピー、PCプリント、ファックス、スキャン、およびボックスなどの機能を集約した装置である。一般に、「複合機」または「MFP(Multi Function Peripherals)」などと呼ばれることがある。画像形成装置1は、いわゆるLAN(Local Area Network)回線を介して端末装置2と通信することができる。端末装置2として、パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどが用いられる。
PCプリント機能は、端末装置2から受信した画像データに基づいて画像を用紙に印刷する機能である。「ネットワークプリンティング」または「ネットワークプリント」などと呼ばれることもある。
ボックス機能は、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザが自分の記憶領域によって画像データなどを保存し管理するための機能である。グループごとにボックスを設けておき、グループのメンバで共用することもできる。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
画像形成装置1は、図2に示すように、CPU(Central Processing Unit)10a、メインメモリ10b、NV−RAM(Non Volatile RAM)10c、補助記憶装置10d、eMMC(embedded Multi Media Card)10e、画像描画回路10f、タッチパネルディスプレイ10g、操作キーパネル10h、NIC(Network Interface Card)10i、モデム10j、スキャンユニット10k、画像処理回路10m、プリントユニット10n、認証装置10p、音声出力回路10q、入出力インタフェース10r、タイマ10s、AC/DC(Alternating Current/Direct Current)コンバータ10u、電源スイッチ10w、および電源制御部10yなどのハードウェアモジュールによって構成される。
画像描画回路10fは、グラフィックボードに相当する回路であって、タッチパネルディスプレイ10gに表示させる画面の信号(いわゆる映像信号)を画像データに基づいて生成し、タッチパネルディスプレイ10gへ送る。
タッチパネルディスプレイ10gは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびCPU10aが実行した処理の結果を示す画面などを、画像描画回路10fからの映像信号を用いて表示する。また、タッチパネルディスプレイ10gは、タッチされた位置を示す信号をCPU10aへ送る。
操作キーパネル10hは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
NIC10iは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルで他の装置との通信を行う。
モデム10jは、ファックス端末との間でG3などのプロトコルで画像データをやり取りする。
スキャンユニット10kは、プラテンガラスの上にセットされたシートに記されている画像を読み取って画像データを生成する。
画像処理回路10mは、スキャンユニット10kによって読み取られた画像を、目的などに合わせて適宜、補正するASIC(Application Specific Integrated Circuit)である。
プリントユニット10nは、スキャンユニット10kによって読み取られ、画像処理回路10mによって適宜補正された画像のほか、NIC10iまたはモデム10jによって他の装置から受信した画像を用紙に印刷する。
認証装置10pは、ユーザを識別する識別情報を入力しユーザを認証する装置である。識別情報として、ユーザの生体の情報、例えば、指紋、掌の静脈のパターン、または虹彩などが入力される。または、ユーザが携帯するカードからユーザのID(identification)を入力してもよい。識別情報の入力を認証装置10pが行うが、認証はCPU10aに実行させてもよい。
音声出力回路10qは、いわゆる音声合成ICであって、タッチパネルディスプレイ10gまたは操作キーパネル10hが操作された際の音(タッチ音)、ユーザへ警告するための警告音、および処理が完了したことを知らせる完了音などを出力する。
入出力インタフェース10rは、周辺機器との間でデータをやり取りするための装置である。以下、入出力インタフェース10rとしてUSB(Universal Serial Bus)ボードが用いられる場合を例に説明する。タイマ10sは、CPU10aからの指令に応じて時間を計る。
AC/DCコンバータ10uは、一次電電である商用電源から供給される電力を交流から直流に変換し、各ハードウェアモジュールへ電力を共有する。つまり、AC/DCコンバータ10uは、二次電源である。
電源スイッチ10wは、画像形成装置1の電源をオンにしたりオフにしたりするためのスイッチである。電源スイッチ10wは、商用電源とAC/DCコンバータ10uとの間に配置されている。電源スイッチ10wがオンにされると、商用電源とAC/DCコンバータ10uとが接続され、商用電源からAC/DCコンバータ10uへの電力の供給が開始される。そして、AC/DCコンバータ10uによって各ハードウェアモジュールへ直流の電力が供給され始める。電源スイッチ10wをオフにされると、商用電源とAC/DCコンバータ10uとが切断され、商用電源からAC/DCコンバータ10uへの電力の供給が停止される。
電源制御部10yは、CPU10aからの指令に従って、AC/DCコンバータ10uによって得られた直流の電力を上述の各ハードウェアモジュールへ供給する。ハードウェアモジュールごとに電圧を変えて電力を供給することができる。例えば、各ハードウェアモジュールのうちのCPU10a、メインメモリ10b、NV−RAM10c、補助記憶装置10d、eMMC10e、タッチパネルディスプレイ10g、操作キーパネル10h、画像処理回路10m、認証装置10p、音声出力回路10q、およびタイマ10sへ5.1Vの電圧で電力を供給するが、省電力モードに切り換わる際に、補助記憶装置10dおよびタッチパネルディスプレイ10gなど一部のハードウェアモジュールへは5.1Vよりも電圧を下げて電力を供給する。
また、電源制御部10yは、各ハードウェアモジュールへの電力の供給を個別に開始したり停止したりすることができる。
さらに、電源制御部10yは、AC/DCコンバータ10uから出力される電流の電圧を監視し、CPU10aから問合せがあると、電圧をCPU10aへ回答する。
NV−RAM10cまたは補助記憶装置10dには、起動プログラム13Pが記憶されている。起動プログラム13Pは、オペレーティングシステムを起動するためのプログラムである。
さらに、補助記憶装置10dには、シャットダウンプログラム14Pが記憶されている。シャットダウンプログラム14Pは、画像形成装置1の電源(電源スイッチ10w)がオフになった際にオペレーティングシステムをシャットダウンするためのプログラムである。
eMMC10eは、NAND型のフラッシュメモリであって、プログラムおよびデータのほかスナップショットのデータなどが記憶される。
NV−RAM10c、補助記憶装置10d、またはeMMC10eに記憶されているプログラムは、必要に応じてメインメモリ10bにロードされ、CPU10aによって実行される。
メインメモリ10bとして、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などの揮発性メモリが用いられる。補助記憶装置10dとして、ハードディスクまたはSSD(Solid State Drive)などの大容量のストレージが用いられる。
また、補助記憶装置10dは、仮想メモリとしても用いられる。つまり、メインメモリ10bに記憶しきれなくなったデータ(例えば、画像データ)を一時的に記憶する。
メインメモリ10bは、主に画像形成装置1のメインメモリとして使用されるRAMである。NV−RAM10cは、不揮発性のメモリであって、起動用のプログラムなどが主に記憶されている。
CPU10aは、複数のコアを有するCPUである。つまり、マルチコアCPUである。マルチコアCPUは、「マルチコアプロセッサ」と呼ばれることもある。以下、CPU10aとして、4つのコアを有するマルチコアCPUが用いられる場合を例に説明する。
画像形成装置1において、電源がオンになると、BIOS(Basic Input/Output System)が起動する。そして、BIOSによって、オペレーティングシステムを起動するためのプログラムとして起動プログラム13PがCPU10aのいずれか1つまたは複数のコアによって実行される。起動プログラム13Pによる処理については、後述する。
オペレーティングシステムの起動後、シャットダウンプログラム14Pが起動され、メインメモリ10bに常駐する。ユーザは、上述のコピーなどの機能を使用することができる。その後、電源スイッチ10wをオフにする操作が行われると、シャットダウンプログラム14Pによる処理が開始される。
以下、起動プログラム13Pおよびシャットダウンプログラム14Pそれぞれによる処理を、画像形成装置1においてスナップショットを使用せずにオペレーティングシステムが起動し、電源スイッチ10wがオフにされ、そして、電源がオンにされた場合を例に説明する。
〔電源がオフにされた際の処理〕
図3は、メインメモリ10bに設けられる記憶領域の例を示す図である。図4は、シャットダウンプログラム14Pによって実現される機能的構成の例を示す図である。図5は、最大コア数決定処理の流れの例を説明するフローチャートである。図6は、スナップショット生成処理の流れの例を説明するフローチャートである。図7は、ファイル保存処理の流れの例を説明するフローチャートである。図8は、スナップ対象領域6Sの例を示す図である。図9は、最大コア数Cmaxおよび各コアの動作それぞれの遷移の例を示す図である。
オペレーティングシステムの起動後、画像形成装置1は、種々のハードウェアモジュールによって種々の処理を実行する。例えば、スキャンユニット10kおよびプリントユニット10nなどによってコピーの処理を実行する。または、モデム10jおよびプリントユニット10nなどによってファックスの受信の処理を実行する。
よって、これらのハードウェアモジュールの一部または全部が動作えであったり、アイドリングの状態であったりする。
また、メインメモリ10bには、図3に示すように、オペレーティングシステム領域6Aおよび複数のデバイス領域6Bが確保される。
オペレーティングシステム領域6Aには、オペレーティングシステムが管理する種々の事項の設定値(設定変数)が記憶される。デバイス領域6Bは、ハードウェアモジュールごとに確保され、ハードウェアモジュールごとの種々の事項の設定値が格納される。これらの設定値は、ユーザが画像形成装置1を操作したり、画像形成装置1が処理を実行したりするごとに、適宜、変更される。
さらに、メインメモリ10bは、共有バッファ6Fとしても用いられる。共有バッファ6Fは、後述するスナップショット5Eを一時的に記憶するためのバッファである。
ユーザが電源スイッチ10wを操作して電源をオフにすると、上述の通り、商用電源からAC/DCコンバータ10uへの電力の供給が停止する。
ところで、AC/DCコンバータ10uには、瞬電(瞬断、瞬停)の対策のための回路(以下、「瞬電対策回路」と記載する。)が設けられている。瞬電対策回路は、コンデンサおよびコイルなどによって構成され、商用電源からの電力の供給が止まっても、各ハードウェアモジュールに影響が及ばないように少なくとも保証時間Th、各ハードウェアモジュールへ一定の大きさの電力を供給することができる。保証時間Thは、数十ミリ秒ないし数百ミリ秒程度の時間である。以下、保証時間Thが40ミリ秒である場合を例に説明する。
電源スイッチ10wは、オフにされると、オフにされたことを示すオフ信号5AをCPU10aへ送信する。なお、AC/DCコンバータ10uが、商用電源からの電力の供給が停止されたことを検知した際に、オフ信号5AをCPU10aへ送信してもよい。
CPU10aがオフ信号5Aを受信すると、オペレーティングシステムをシャットダウンするための処理がシャットダウンプログラム14Pに基づいて次のように実行される。
シャットダウンプログラム14Pによると、図4に示す設定対象リスト記憶部141、初期化処理部142、終了デバイスリスト生成部143、最大コア数決定部145、スナップショット取得部146、およびスナップショット保存部147などが画像形成装置1に実現される。
設定対象リスト記憶部141には、設定対象リスト5Bが記憶されている。設定対象リスト5Bには、画像形成装置1のハードウェアモジュールのうちのオペレーティングシステムの起動の際に初期設定を必要とするものが示されている。「初期設定」は、例えば環境設定であって、種々の項目それぞれの条件(設定値)を調整する処理である。
初期化処理部142は、ハードウェアモジュールの初期化のための処理を次のように実行する。
初期化処理部142は、オペレーティングシステムのシャットダウンの準備を行うように各ハードウェアモジュールへ指令する。
すると、各ハードウェアモジュールは、電源の供給が停止してもよい状態にするための準備処理を行う。例えば、現在、処理を実行中であれば、それを終了する。または、保存すべきデータが自らのメモリに記憶されていれば、それを所定の保存場所へ保存する。そして、準備処理が完了したら、終了完了データ5CをCPU10aおよびAC/DCコンバータ10uへ送信することによって、準備処理が完了した旨をCPU10aおよびAC/DCコンバータ10uへ通知する。すると、AC/DCコンバータ10uは、終了完了データ5Cの送信元であるハードウェアモジュールへの電力の供給を終了する。
さらに、初期化処理部142は、設定対象リスト記憶部141から設定対象リスト5Bを読み出す。そして、設定対象リスト5Bに示される各ハードウェアモジュールの各項目について、次回にオペレーティングシステムを起動した際に好ましい値(条件)が設定されるように、初期設定を行う。
例えば、オペレーティングシステムを起動するごとに、毎回、予め決められた値(デフォルト値)が設定される項目については、初期化処理部142は、設定値をデフォルト値に変更する。または、オペレーティングシステムをシャットダウンする際の状態を次回の起動の際にも引き継ぐ項目については、初期化処理部142は、設定値を変更せずに残しておく。
なお、入出力インタフェース10rについては、周辺機器が接続されている場合にのみ、初期化のための処理を行えばよい。この場合は、その周辺機器の初期化のための処理をも行ってもよい。また、初期化処理部142は、オペレーティングシステムについても初期設定を行う。
終了デバイスリスト生成部143は、終了デバイスリスト5Dを生成する。終了デバイスリスト5Dには、設定対象リスト5Bに示されるハードウェアモジュールのうちの、次の条件_1および条件_2の両方を満たすハードウェアモジュールが示される。
条件_1:終了完了データ5CをCPU10aへ送信した。
条件_2:初期設定が初期化処理部142によって行われた。
具体的には、終了デバイスリスト生成部143は、オフ信号5Aが送信されてきたら、終了デバイスリスト5Dを生成し、eMMC10eの所定のディレクトリに保存させる。この時点では、終了デバイスリスト5Dには、いずれのハードウェアモジュールも示されない。そして、あるハードウェアモジュールが条件_1および条件_2の両方を満たした時点で、そのハードウェアモジュールを終了デバイスリスト5Dへ追記する。
または、終了デバイスリスト生成部143は、オフ信号5Aが送信されてきてから所定の時間が経過して時点で条件_1および条件_2の両方を満たすハードウェアモジュールを示すデータを終了デバイスリスト5Dとして生成し、eMMC10eの所定のディレクトリに保存させてもよい。
なお、条件_2を満たしたか否かに関わらず、条件_1を満たしたハードウェアモジュールが終了デバイスリスト5Dに示されるようにしてもよい。または、条件_1を満たしたか否かに関わらず、条件_2を満たしたハードウェアモジュールが終了デバイスリスト5Dに示されるようにしてもよい。
最大コア数決定部145は、オフ信号5Aが受信されると、最大コア数Cmaxを決定する。最大コア数Cmaxは、CPU10aを構成する4つのコアのうちスナップショットのデータを圧縮し共有バッファ6Fに書き込む処理に同時に使用することができるコアの個数の最大値である。例えば、最大コア数Cmaxが「3」であれば、この処理のために、CPU10aのコアを3つまで同時に使用することができることを、意味する。
最大コア数Cmaxは、定期的に決定される。ここで、最大コア数Cmaxの決定の仕方を、図5を参照しながら説明する。
最大コア数決定部145は、オフ信号5Aを受信する前に、予め、最大コア数Cmaxとして所定の値を設定し(図5の#701)、経過時間Twとして「0秒」を設定しておく(#702)。ただし、所定の値は、2以上でありかつCPU10aのコア数以下の値である。「経過時間Tw」は、オフ信号5Aを受信し決定の処理(#703以降の処理)を開始してから経過した時間である。
最大コア数決定部145は、オフ信号5Aが受信されると(#703でYes)、AC/DCコンバータ10uに保証時間Thがあれば(#704でYes)、保証時間Thが経過するのを待つ(#705)。保証時間Thが経過したら、経過時間Twに保証時間Thを加え(#706)、そして、ステップ#707へ進む。保証時間Thがなければ、つまり、瞬電に対応することができない場合は(#704でNo)、直ちにステップ#707へ進む。
最大コア数決定部145は、タイマTmに所定の時間をセットし(#707)、カウントダウンを開始する(#708)。本実施形態では、ステップ#707において100ミリ秒をセットする。
タイマTmが0ミリ秒になったら、つまり、ステップ#708の時点から所定の時間つまり100ミリ秒が経過したら(#709でYes)、最大コア数決定部145は、経過時間Twに所定の時間つまり100ミリ秒を加算する(#710)。
そして、この時点で最大コア数Cmaxが「2」以上であれば(#711でYes)、最大コア数Cmaxを「1」だけ減らす(#712)。
最大コア数決定部145は、ステップ#704〜#712の処理を、次に説明するスナップショット取得部146による処理が継続している間(#713でYes)、繰り返し実行する。ただし、最大コア数Cmaxが「1」になったら、ステップ#704〜#711の処理を終了してもよい。
スナップショット取得部146は、オフ信号5Aが受信されると、メインメモリ10bの全部分または一部の領域のスナップショットを取得する処理を行う。
本実施形態では、スナップショット取得部146は、オペレーティングシステム領域6Aおよび終了デバイスリスト5Dに示されるハードウェアモジュールそれぞれのデバイス領域6Bをスナップ対象領域6Sとして選出し、各スナップ対象領域6Sのスナップショット5Eを取得する。
スナップショット5Eを取得する処理は、CPU10aの4つのコアのうちの複数によって並列的に実行され得る。ここで、この処理を、図6を参照しながら説明する。
スナップショット取得部146は、各スナップ対象領域6Sを、所定のサイズのブロックに分割する(#721)。所定のサイズは、タイマTmにセットされる時間(本例では、100ミリ秒)にCPU10aの1つのコアが圧縮することができるデータのサイズである。
例えば、ある1つのデバイス領域6Bのサイズが「17」であり、所定のサイズが「5」である場合は、そのデバイス領域6Bが、サイズが「5」である3つのブロックおよびサイズが「2」である1つのブロックに分割される。
スナップショット取得部146は、最大コア数決定部145が最後に決定した最大コア数Cmax(つまり、最新の最大コア数Cmax)を最大コア数決定部145から取得する(#722)。
スナップショット取得部146は、スナップショット5Eを未だ生成していないブロックのうちのステップ#722で取得した最大コア数Cmaxのブロックを選出する(#723)。
そして、スナップショット取得部146は、選出したブロックそれぞれのスナップショット5Eを、CPU10aの4つのコアのうちの最大コア数Cmaxのコアによって分担して生成し(#724)、共有バッファ6Fに記憶させる(#725)。なお、あるブロックのスナップショット5Eは、例えば、そのブロックの各番地(アドレス)の現在の値を並べたデータを圧縮することによって、生成される。
例えば、最大コア数Cmaxが「4」である場合は、スナップショット取得部146は、4つのブロックを選出する。そして、これらのブロックそれぞれのスナップショット5Eを、4つのコアによって1つずつ生成し、共有バッファ6Fに記憶させる。
スナップショット取得部146は、スナップショット5Eを未だ生成していないブロックが残っていれば(#726でYes)、ステップ#722に戻って、これらのブロックのうちの最新の最大コア数Cmaxのブロックのスナップショット5Eを生成する。なお、AC/DCコンバータ10uの電圧が所定の水準(ハードウェアモジュールへ必要な電力を供給できない水準)を下回った場合に、スナップショット5Eを生成する処理を終了してもよい。
スナップショット保存部147は、スナップショットファイル5FをeMMC10eに保存する処理を、図7に示す手順で実行する。
スナップショット保存部147は、あるスナップ対象領域6Sのすべてのブロックのスナップショット5Eが共有バッファ6Fに記憶されるごとに(#731でYes)、これらのスナップショット5Eを1つに併合することによってスナップショットファイル5Fを生成し(#732)、そのスナップ対象領域6Sに係るハードウェアモジュールと対応付けてeMMC10eの所定の領域に保存する(#733)。保存後、これらのスナップショット5Eは共有バッファ6Fから削除される。
スナップショット5Eが生成されていないブロックが残っていれば(#734でYes)、ステップ#731に戻る。
このようにして、スナップ対象領域6Sごとのスナップショットファイル5Fが生成され、eMMC10eに記憶される。
ここで、図8のように、3つのオペレーティングシステム領域6Aまたはデバイス領域6Bがスナップ対象領域6Sとして選出された場合を例に、CPU10aの4つのコアそれぞれによるスナップショット5Eの生成の処理を、図9を参照しながら説明する。
以下、各スナップ対象領域6Sを「スナップ対象領域6S1」、「スナップ対象領域6S2」、および「スナップ対象領域6S3」と記載する。スナップ対象領域6S1、6S2、および6S3は、それぞれ、9個、3個、2個のブロックに分割されるものとする。スナップ対象領域6S1の各ブロックを「A−1」、「A−2」、…、「A−9」と記載する。スナップ対象領域6S2の各ブロックを「B−1」、「B−2」、「B−3」と記載する。スナップ対象領域6S2の各ブロックを「C−1」、「C−2」と記載する。また、4つのコアそれぞれを「コア_1」、「コア_2」、「コア_3」、および「コア_4」と記載する。
最大コア数決定部145は、図5に示した通りの処理を実行することによって、図9に示すように、経過時間Twが0ミリ秒である時点において最大コア数Cmaxを「4」に決定する。経過時間Twが140ミリ秒である時点、240ミリ秒である時点、および340ミリ秒である時点において最大コア数Cmaxをそれぞれ「3」、「2」、「1」に決定する。その後は、さらに100ミリ秒が経過するごとに最大コア数Cmaxを「1」に決定する。
経過時間が0ミリ秒以上140ミリ秒未満である間は、上述の通り、最大コア数Cmaxが「4」である。そこで、この間に、コア_1、コア_2、コア_3、およびコア_4は、それぞれ、いずれかのスナップ対象領域6Sのブロックを1つずつ選出し、選出したブロックのスナップショット5Eを生成する。本例では、コア_1、コア_2、コア_3、およびコア_4は、それぞれブロックA−1、A−2、A−3、およびA−4それぞれのスナップショット5Eを生成する。
これら4つのブロックのスナップショット5Eの生成中に、経過時間が140ミリ秒を過ぎる。そして、経過時間が240ミリ秒になるまでに生成が完了したら、この時点における最大コア数Cmaxが「3」なので、コア_1、コア_2、およびコア_3が、スナップ対象領域6S1の残りのいずれかのブロックのスナップショット5Eを生成する。本例では、それぞれブロックA−4、A−5、およびA−6のスナップショット5Eを生成する。
これら3つのブロックのスナップショット5Eの生成中に、経過時間が240ミリ秒を過ぎる。そして、経過時間が340ミリ秒になるまでに生成が完了したら、この時点における最大コア数Cmaxが「2」なので、コア_1およびコア_2が、スナップ対象領域6S1の残りのいずれかのブロックのスナップショット5Eを生成する。本例では、それぞれブロックA−7およびA−8のスナップショット5Eを生成する。
これら2つのブロックのスナップショット5Eの生成中に、経過時間が340ミリ秒を過ぎる。そして、経過時間が440ミリ秒になるまでに生成が完了したら、この時点における最大コア数Cmaxが「1」なので、コア_1が、スナップ対象領域6S1の残りのいずれかのブロックのスナップショット5Eを生成する。本例では、ブロックA−9のスナップショット5Eを生成する。
その後は最大コア数Cmaxが「1」なので、コア_1が、残りのブロック(本例では、ブロックB−1、B−2、B−3、C−1、およびC−2それぞれのスナップショット5Eを順次、生成する。
ブロックA−1ないしA−9それぞれのスナップショット5Eが生成されると、スナップ対象領域6S1のすべてのブロックのスナップショット5Eが揃う。そこで、スナップショット保存部147は、これらのスナップショット5Eを纏めることによってスナップ対象領域6S1のスナップショットファイル5Fを生成する。そして、スナップショットファイル5FのeMMC10eの所定の領域に保存する。同様に、ブロックB−1ないしB−3それぞれのスナップショット5Eが生成されると、スナップ対象領域6S2のスナップショットファイル5Fを生成し、eMMC10eの所定の領域に保存する。ブロックC−1およびC−2それぞれのスナップショット5Eが生成されると、スナップ対象領域6S3のスナップショットファイル5Fを生成し、eMMC10eの所定の領域に保存する。
AC/DCコンバータ10uからCPU10aなどへの電力の供給が不足しまたは停止し、3つのスナップ対象領域6Sのうちの一部またはすべてのスナップショットファイル5Fを生成することができない場合がある。起動プログラム13Pによると、このような場合においても、適宜、ワープ(Warp)起動の機能を部分的に用いてオペレーティングシステムを起動することができる。
以下、起動プログラム13Pによるオペレーティングシステムの起動の処理について、説明する。
〔電源がオンにされた際の処理〕
図10は、起動プログラム13Pによって実現される機能的構成の例を示す図である。
上述の通り、画像形成装置1において、電源スイッチ10wが操作されて電源がオンになると、BIOSが起動し、その後、起動プログラム13Pが実行される。起動プログラム13Pによると、図10に示すスナップショット有無確認部131、スナップショット読出部132、スナップショット展開部133、および通常起動処理部134などが実現される。
スナップショット有無確認部131は、起動プログラム13Pの実行の開始後、eMMC10eから終了デバイスリスト5Dを読み出し、終了デバイスリスト5Dに示される各ハードウェアモジュールのスナップショットファイル5FがeMMC10eに保存されているか否かをチェックする。
スナップショット読出部132、スナップショット展開部133、および通常起動処理部134は、スナップショットファイル5Fの有無(保存されているか否か)に応じて次のように処理を行う。
スナップショット読出部132は、スナップショットファイル5FがeMMC10eに保存されていれば、それをeMMC10eから読み出す。
そして、スナップショット展開部133は、読み出されたスナップショットファイル5Fがオペレーティングシステムに対応するものであれば、そのスナップショットファイル5Fを伸張(解凍)し、メインメモリ10bの中のオペレーティングシステム領域6Aへ展開(ロード)する。
一方、そのスナップショットファイル5Fがいずれかのハードウェアモジュールに対応するものであれば、スナップショット展開部133は、そのスナップショットファイル5Fを伸張し、メインメモリ10bの中の、そのハードウェアモジュールのデバイス領域6Bへ展開する
このように、スナップショットファイル5Fが保存されているハードウェアモジュールについては、オペレーティングシステムの起動の際に、ハイバネーション機能が用いられる。
通常起動処理部134は、スナップショットファイル5Fが保存されていないハードウェアモジュールについては、ハイバネーション機能を用いることなく、通常通りに初期設定などの処理を行う。
図11は、画像形成装置1における電源オフの際の全体的な処理の流れの例を説明するフローチャートである。図12は、画像形成装置1における電源オンの際の全体的な処理の流れの例を説明するフローチャートである。
次に、電源をオフにされた際および電源をオンにされた際それぞれの全体的な処理の流れの例を、フローチャートを参照しながら説明する。
画像形成装置1は、オペレーティングシステムの起動後、シャットダウンプログラム14Pを起動する。そして、CPU10aが1つまたは複数のコアによって、図11に示すように、シャットダウンプログラム14Pに基づいて処理を実行する。
CPU10aは、最大コア数Cmaxを決定する処理を開始する(図11の#741)。この処理の手順は、図5で説明した通りである。
電源スイッチ10wがオフにされると(#742でYes)、CPU10aは、設定対象リスト5Bに基づいて、シャットダウンの準備を行うように各ハードウェアモジュールへ指令するとともにオペレーティングシステム領域6Aおよびデバイス領域6Bの初期設定を行う(#743、#744)。
CPU10aは、初期設定などが完了したハードウェアモジュールを示すリストつまり終了デバイスリスト5Dを生成し、eMMC10eに保存する(#745)。そして、スナップ対象領域6Sを決定し、スナップ対象領域6Sの各ブロックのスナップショット5Eを生成し共有バッファ6Fへ一時的に記憶させる(#746)。スナップショット5Eを生成する手順は、前に図6で説明した通りである。
CPU10aは、1つのスナップ対象領域6Sのすべてのブロックのスナップショット5Eが共有バッファ6Fに保存されるごとに、これらを纏めてファイル化することによってスナップショットファイル5Fを生成し、eMMC10eに保存する(#747)。保存の処理については、図7で説明した通りである。
図5で説明した通り、電源スイッチ10wをオフにされると(#703でYes)、CPU10aは、ステップ#704〜#711の処理を開始する。CPU10aは、この処理のほか、ステップ#704〜#711の処理、ステップ#741の処理、ステップ#743〜#746の処理、およびステップ#747の処理を並行して実行する。
電源スイッチ10wがオンにされると、CPU10aは、図12に示すように、起動プログラム13Pに基づいて処理を実行する。
CPU10aは、eMMC10eから終了デバイスリスト5Dを読み出し(図12の#751)、ハイバネーションの機能による初期化が可能であるハードウェアモジュールおよび可能でないハードウェアモジュールを特定する(#752)。
CPU10aは、可能であるハードウェアモジュールについては(#753でYes)、そのハードウェアモジュールのスナップショットファイル5FをeMMC10eから読み出し(#754)、伸張してメインメモリ10bへ展開(ロード)する(#755)。つまり、ワープ起動のように、そのハードウェアモジュールのための設定を行う。
一方、可能でないハードウェアモジュールについては(#756でYes)、通常通り、つまり、補助記憶装置10dから設定値などを読み出してメインメモリ10bへロードするなどして、そのハードウェアモジュールのための設定を行う(#757)。
本実施形態によると、複数のコアを有するCPUを備える画像処理装置においてスナップショットを従来よりも確実に取得することができる。
図13は、各ハードウェアモジュールの優先度レベルの例を示す図である。図14は、最大コア数Cmaxおよび各コアの動作それぞれの遷移の例を示す図である。図15は、最大コア数決定処理の流れの例を説明するフローチャートである。図16は、スナップ対象領域6Sの例を示す図である。図17は、最大コア数Cmaxおよび各コアの動作それぞれの遷移の例を示す図である。図18は、最大コア数Cmaxおよび各コアの動作それぞれの遷移の例を示す図である。
本実施形態では、スナップショット取得部146は、スナップ対象領域6Sが複数ある場合に、どのスナップ対象領域6Sから優先的にスナップショット5Eを生成するのかの順番を特に決めなかった。しかし、予め順番を決めておいてもよい。
例えば、図13のように、ハードウェアモジュールごとに予め優先度レベルを決めておく。そして、スナップショット取得部146は、優先度レベルの高いハードウェアモジュールのスナップ対象領域6Sから順にスナップショット5Eを生成していく。なお、優先度レベルは、値が小さいものほど高い。
図13に示すように優先度レベルが決められており、図8に示すように3つのスナップ対象領域6S1、6S1、および6S3が選出され、かつ、スナップ対象領域6S1、6S1、および6S3それぞれが画像処理回路10mのデバイス領域6B、補助記憶装置10d、および入出力インタフェース10rである場合は、優先度レベルがスナップ対象領域6S1、6S3、および6S2の順に高い。よって、図14に例示するようにスナップショット5Eが生成される。
本実施形態では、最大コア数決定部145は、経過時間Twが増えるごとに、つまり、電源スイッチ10wがオフにされてから時間が経過するとともに、最大コア数Cmaxを徐々に減らした。しかし、いずれかの特定のハードウェアモジュールへのAC/DCコンバータ10uによる電力の供給が終了した際に、最大コア数Cmaxを増やしてもよい。または、電力の供給が終了したハードウェアモジュールの個数が所定の個数(例えば、3個、6個、9個、…)になるごとに、最大コア数Cmaxを増やしてもよい。
または、最大コア数決定部145は、経過時間Twではなく、AC/DCコンバータ10uの瞬電対策回路の電圧(以下、「電源電圧Es」と記載する。)に応じて最大コア数Cmaxを決定してもよい。
この場合は、電源電圧Esを計測する電圧計を画像形成装置1に設けておく。そして、最大コア数決定部145は、例えば、図15に示す手順で最大コア数Cmaxを決定する。
最大コア数決定部145は、オフ信号5Aを受信する前に、予め、最大コア数Cmaxとして所定の値Caを設定しておく(図15の#762)。
オフ信号5Aが受信されると(#763でYes)、最大コア数決定部145は、タイマTmに所定の時間Taをセットし(#764)、カウントダウンを開始する(#765)。
タイマTmが0ミリ秒になったら、つまり、ステップ#764の時点から所定の時間Taが経過したら(#766でYes)、最大コア数決定部145は、電源電圧Esを電圧計に計測させる(#767)。
そして、電源電圧Esに応じて、最大コア数決定部145は、次のように最大コア数Cmaxを決定する。電源電圧Esが電圧E1以上であれば(#768でYes)、最大コア数Cmaxを「4」に決定する(#769)。電圧E1未満でありかつ電圧E2以上であれば(#768でNo、#770でYes)、「3」に決定する(#771)。電圧E2未満でありかつ電圧E3以上であれば(#770でNo、#772でYes)、「2」に決定する(#773)。電圧E3未満であれば(#772でNo)、「1」に決定する(#774)。ただし、電圧E1>電圧E2>電圧E3、である。
最大コア数決定部145は、ステップ#764〜#774の処理を、スナップショット取得部146による処理が継続している間(#775でYes)、繰り返し実行する。
上述の通り、オペレーティングシステムのシャットダウンのための処理中に、AC/DCコンバータ10uからいずれかのハードウェアモジュールへの電力の供給が終了する。すると、電源電圧Esが上がることがある。これに伴い、最大コア数Cmaxが増え、スナップショット5Eを生成するのに使用されるコアが増えることがある。
ここで、電源電圧Esが上がる場合の、CPU10aの4つのコアそれぞれによるスナップショット5Eの生成の処理を、以下の条件の下で実行される場合を例に、図9を参照しながら説明する。
電圧E1、E2、およびE3は、それぞれ、5.0ボルト、4.8ボルト、および4.6ボルトである。所定の時間Taは、保証時間Thである。よって、所定の時間Taは、40ミリ秒である。所定の値Caは、「4」である。
図16のように、3つのオペレーティングシステム領域6Aまたはデバイス領域6Bがスナップ対象領域6S(6S4、6S5、6S6)してと選出され、スナップ対象領域6S4、6S5、および6S6は、それぞれ13個、3個、3個のブロックに分割される。スナップ対象領域6S4の各ブロックを「A−1」、「A−2」、…、「A−13」と記載する。スナップ対象領域6S5の各ブロックを「B−1」、「B−2」、「B−3」と記載する。スナップ対象領域6S6の各ブロックを「C−1」、「C−2」、「C−3」と記載する。
所定の時間Taが40ミリ秒なので、電源電圧Esは、40ミリ秒ごとに計測される。その結果は、図17に示す通りである。200ミリ秒目において、電源電圧Esが前回の計測値よりも上がっていることが分かる。
このような条件において、図15に示した手順で最大コア数決定部145が処理を実行し、スナップショット取得部146がスナップショット5Eを生成する処理を実行すると、図17のように、最大コア数Cmaxが決定され、CPU10aの各コアによって各ブロックのスナップショット5Eが生成される。
このように、電源電圧Esが前回の計測値よりも上がったときにスナップショット5Eの生成のために使用されるコアが増えることが、ある。
なお、電源電圧Esが前回の計測値よりも上がることがなければ、図18のように、スナップショット5Eの生成のために使用されるコアが増えることはない。
CPU10aの4つのコアの中から、シャットダウンプログラム14Pを実行するためのコアを1つまたは2つ、確保しておき、スナップショット5Eを取得する処理を残りのコアで行ってもよい。
本実施形態では、4つのコアを有するマルチコアCPUがCPU10aとして用いられる場合を例に説明したが、2つ、6つ、または8つのコアを有するマルチコアCPUが用いられる場合にも、本発明を適用することができる。
その他、画像形成装置1の全体または各部の構成、処理の内容、処理の順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
10a CPU
10b メインメモリ
10u AC/DCコンバータ
145 最大コア数決定部(決定手段)
5E スナップショット
5F スナップショットファイル
6A オペレーティングシステム領域
6B デバイス領域
6S スナップ対象領域

Claims (9)

  1. 複数のコアを有するマルチコアCPUと、
    前記マルチコアCPUが使用するメインメモリと、
    前記メインメモリおよび前記マルチコアCPU以外の1つまたは複数のハードウェアモジュールと、
    一次電源から入力される電力である一次電力を変圧して前記マルチコアCPU、前記メインメモリ、および前記1つまたは複数のハードウェアモジュールへ二次電力を供給し、かつ、当該一次電力の瞬電の対策のための瞬電対策回路を有する二次電源と、
    前記一次電源からの前記一次電力の供給が停止した後、前記複数のコアのうちの前記メインメモリの全部分または一部分のスナップショットを生成する生成処理を実行するのに使用するコアの個数を、時間の経過とともに少なくなるように決定する、決定手段と、
    を有し、
    前記マルチコアCPUは、前記複数のコアのうちの、前記決定手段によって決定された前記個数のコアによって前記生成処理を実行する、
    ことを特徴とする画像処理装置。
  2. 前記決定手段は、前記瞬電対策回路が前記1つまたは複数のハードウェアモジュールのうちのいずれかへ前記二次電力を供給するのを終了したら、前記個数を増やす、
    請求項1に記載の画像処理装置。
  3. 複数のコアを有するマルチコアCPUと、
    前記マルチコアCPUが使用するメインメモリと、
    前記メインメモリおよび前記マルチコアCPU以外の1つまたは複数のハードウェアモジュールと、
    一次電源から入力される電力である一次電力を変圧して前記マルチコアCPU、前記メインメモリ、および前記1つまたは複数のハードウェアモジュールへ二次電力を供給し、かつ、当該一次電力の瞬電の対策のための瞬電対策回路を有する二次電源と、
    前記一次電源からの前記一次電力の供給が停止した後、前記複数のコアのうちの前記メインメモリの全部分または一部分のスナップショットを生成する生成処理を実行するのに使用するコアの個数を、前記瞬電対策回路の電圧が低いほど少なくなるように決定する、決定手段と、
    を有し、
    前記マルチコアCPUは、前記複数のコアのうちの、前記決定手段によって決定された前記個数のコアによって前記生成処理を実行する、
    ことを特徴とする画像処理装置。
  4. 前記決定手段は、前記個数を定期的に決定し、
    前記マルチコアCPUは、前記複数のコアのうちの、前記決定手段によって直近に決定された前記個数のコアによって前記生成処理を実行する、
    請求項3に記載の画像処理装置。
  5. 前記瞬電対策回路は、前記一次電力が前記一次電源から供給されなくても、少なくとも所定の時間は、前記マルチコアCPU、前記メインメモリ、および前記1つまたは複数のハードウェアモジュールへ前記二次電力を供給し、
    前記決定手段は、前記一次電源からの前記一次電力の供給が停止した後、前記所定の時間が経過するまでは、前記個数を、前記複数のコアに決定する、
    請求項1ないし請求項4のいずれかに記載の画像処理装置。
  6. 前記メインメモリには、前記1つまたは複数のハードウェアモジュールそれぞれの記憶領域が設けられ、
    前記マルチコアCPUは、前記記憶領域を複数のブロックに分割し、当該複数のブロックそれぞれのイメージを、前記複数のコアのうちの、前記決定手段によって決定された前記個数のコアによって分担して取得することによって、前記生成処理を実行する、
    請求項1ないし請求項5のいずれかに記載の画像処理装置。
  7. 前記マルチコアCPUは、前記1つまたは複数のハードウェアモジュールのうちの優先度の高いものの前記記憶領域から優先的に、前記複数のブロックそれぞれの前記イメージを取得する、
    請求項6に記載の画像処理装置。
  8. 複数のコアを有するマルチコアCPUと、前記マルチコアCPUが使用するメインメモリと、前記メインメモリおよび前記マルチコアCPU以外の1つまたは複数のハードウェアモジュールと、一次電源から入力される電力である一次電力を変圧して前記マルチコアCPU、前記メインメモリ、および前記1つまたは複数のハードウェアモジュールへ二次電力を供給し、かつ、当該一次電力の瞬電の対策のための瞬電対策回路を有する二次電源と、を有する画像処理装置においてスナップショットを取得するスナップショット取得方法であって、
    前記複数のコアのうちのいずれかによって、前記一次電源からの前記一次電力の供給が停止した後、前記複数のコアのうちの前記メインメモリの全部分または一部分のスナップショットを生成する生成処理を実行するのに使用するコアの個数を、時間の経過とともに少なくなるように決定し、
    前記複数のコアのうちの、決定した前記個数のコアによって、前記生成処理を実行する、
    ことを特徴とするスナップショット取得方法。
  9. 複数のコアを有するマルチコアCPUと、前記マルチコアCPUが使用するメインメモリと、前記メインメモリおよび前記マルチコアCPU以外の1つまたは複数のハードウェアモジュールと、一次電源から入力される電力である一次電力を変圧して前記マルチコアCPU、前記メインメモリ、および前記1つまたは複数のハードウェアモジュールへ二次電力を供給し、かつ、当該一次電力の瞬電の対策のための瞬電対策回路を有する二次電源と、を有する画像処理装置において用いられるコンピュータプログラムであって、
    前記複数のコアのうちのいずれかに、前記一次電源からの前記一次電力の供給が停止した後、前記複数のコアのうちの前記メインメモリの全部分または一部分のスナップショットを生成する生成処理を実行するのに使用するコアの個数を、時間の経過とともに少なくなるように決定する決定処理を実行させ、
    前記複数のコアのうちの、前記決定処理によって決定された前記個数のコアに、前記生成処理を実行させる、
    ことを特徴とするコンピュータプログラム。
JP2017147830A 2017-07-31 2017-07-31 画像処理装置、スナップショット取得方法、およびコンピュータプログラム Active JP6904143B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017147830A JP6904143B2 (ja) 2017-07-31 2017-07-31 画像処理装置、スナップショット取得方法、およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017147830A JP6904143B2 (ja) 2017-07-31 2017-07-31 画像処理装置、スナップショット取得方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019028749A JP2019028749A (ja) 2019-02-21
JP6904143B2 true JP6904143B2 (ja) 2021-07-14

Family

ID=65478562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017147830A Active JP6904143B2 (ja) 2017-07-31 2017-07-31 画像処理装置、スナップショット取得方法、およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6904143B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139621A (ja) * 2004-11-12 2006-06-01 Nec Electronics Corp マルチプロセッシングシステム及びマルチプロセッシング方法
JP2009187134A (ja) * 2008-02-04 2009-08-20 Ricoh Co Ltd 情報処理装置、情報処理装置の起動制御方法、プログラム及び記録媒体
JP4930800B2 (ja) * 2008-10-22 2012-05-16 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置及びプログラム、データ保存方法
JP6184807B2 (ja) * 2013-09-03 2017-08-23 シャープ株式会社 情報処理装置、および制御プログラム
JP6213117B2 (ja) * 2013-10-04 2017-10-18 コニカミノルタ株式会社 制御装置および画像形成装置
JP6465384B2 (ja) * 2014-11-05 2019-02-06 コニカミノルタ株式会社 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法

Also Published As

Publication number Publication date
JP2019028749A (ja) 2019-02-21

Similar Documents

Publication Publication Date Title
US8949641B2 (en) Information processing apparatus and method for controlling information processing apparatus restoration order of images that reduces the waiting time when restoration from a hibernation state
US20230143143A1 (en) Information processing apparatus, control method therefor, and storage medium
US9360912B2 (en) Shutdown processing mode with forcible power off
US9513853B2 (en) Data processing apparatus capable of controlling power supply, control method therefor, and storage medium
US10120316B2 (en) Information processing apparatus capable of appropriately executing shutdown processing, method of controlling the information processing apparatus, and storage medium
US20110099339A1 (en) Information processing apparatus, method for controlling information processing apparatus and storage medium
US20150312432A1 (en) Information processing apparatus, control method for information processing apparatus, and program
JP2013215976A5 (ja)
JP6270377B2 (ja) 画像形成装置
JP2011178069A (ja) 印刷装置
JP6768425B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP6904143B2 (ja) 画像処理装置、スナップショット取得方法、およびコンピュータプログラム
CN104754161B (zh) 打印装置以及打印装置的控制方法
US10148838B2 (en) Image forming apparatus, startup method, and non-transitory recording medium for storing computer readable program
US20130151878A1 (en) Information processing apparatus with function to solve fragmentation on memory, control method therefor, and storage medium storing control program therefor
JP2018078485A (ja) 情報処理装置および情報処理装置の起動方法
CN111541825B (zh) 电子装置及其控制方法
JP6842641B2 (ja) 画像形成装置
JP2013200602A (ja) 画像処理装置
US10956090B2 (en) Memory system and electronic apparatus
JP2020029031A (ja) 画像処理装置、その制御方法、及びプログラム
JP2020014040A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2012008679A (ja) 画像処理装置、画像処理装置における揮発性のメモリの制御方法、およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210513

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: 20210525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210607

R150 Certificate of patent or registration of utility model

Ref document number: 6904143

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150