説明

データ処理装置、省電力制御方法、省電力制御プログラム及び記録媒体

【課題】本発明は、省電力状態中のモジュールに対する不正アクセスに適切に対応するデータ処理装置、省電力制御方法、省電力制御プログラム及び記録媒体に関する。
【解決手段】複合装置のASIC16は、電源制御部25が、複数のコントローラ30〜33への電力の供給/停止を個別に制御し、代理応答部22が、コントローラ30〜33に対するバスマスタからのアクセスの有無を検出して、電力の供給が停止されているコントローラ30〜33に対してバスマスタからアクセスがあると、該コントローラ30〜33に代わって該アクセスに対して所定の代理応答を行う。したがって、アクセスの発生したコントローラ30〜33への電源供給を停止したまま、バスマスタに不正なデータアクセスが発生したことを通知して、データ破壊や不正なデータに基づく動作を継続を防止することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置、省電力制御方法、省電力制御プログラム及び記録媒体に関し、詳細には、省電力状態に電力供給停止中のモジュールに対する不正アクセスに適切に対応するデータ処理装置、省電力制御方法、省電力制御プログラム及び記録媒体に関する。
【背景技術】
【0002】
複写装置、ファクシミリ装置、プリンタ装置、スキャナ装置、コンピュータ等のデータ処理装置、特に、複写機能、ファクシミリ機能、プリント機能、スキャナ機能、データ転送機能等の複数の機能が組み込まれている複合装置においては、使用されている状態でなくても、電力が投入され状態での消費電力が大きいことから、従来、消費電力を削減するために、電力の投入後に、使用されずに待機状態となっている時間が一定時間経過すると、ネットワークからの要求、動作要求操作(操作表示部の電源ボタン等のボタン操作、ADF(Auto Document Feeder)への原稿のセット操作、圧板の開閉操作等)等を検知する復帰検知部等の一部の機能部分にのみ電力の供給を行い、その他の各部への電力の供給を停止して消費電力を削減する省電力モードを備えている。
【0003】
また、近年、データ処理装置は、データ処理を行うのに複数の機能モジュールを搭載したASIC(Application Specific Integrated Circuit)等の半導体集積回路を搭載してメインCPU(Central Processing Unit )の制御下で各種データ処理を行っている。
【0004】
さらに、近年、省電力モードを備えたデータ処理装置においては、メインCPUへの電力の供給をも停止して、消費電力のより一層の削減を図るために、メインCPUの他に、省電力モード復帰要因が発生した際にメインCPUを起動させるサブCPUを設けるとともに、省電力モードに入るときの復帰条件を記憶する不揮発性記憶媒体を設け、メインCPUを含めた各部への電力の供給を停止する省電力モードに入るが、サブCPUへの電力の供給を継続するデータ処理装置が出現してきている。
【0005】
そして、ASICは、複数の機能モジュールを搭載しており、省電力モード時に電力の供給が停止される機能モジュールと電力が供給され続ける機能モジュールがあり、省電力モードにおいて、電力の供給が停止されている機能モジュールに不正にあるいは誤って処理命令が実行されると、不当なメモリアクセスやレジスタアクセスが発生して、データが破壊されたり、誤動作を生じたりするおそれがある。
【0006】
そこで、従来から、中央処理装置(CPU等)と内部バスを介して接続された第1の回路(機能モジュール等)と、機能モジュールの動作を選択的に停止させる停止制御回路とを含んでおり、機能モジュールの動作が停止中に、中央処理装置から機能モジュールを用いる命令が発行されると、停止制御回路が、動作停止信号を中央処理装置に発行して、中央処理装置が、動作停止信号を受け取ると、機能モジュールの動作停止状態を解除してから命令の実行動作を開始させる技術が提案されている(特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記公報記載の従来技術にあっては、機能モジュールの停止中に中央処理装置から命令が発行されると、該機能モジュールへの動作停止状態を解除してから命令の実行動作を開始させているため、上記技術をASIC等の半導体集積回路に適用すると、省電力モードで電力の供給が停止されている機能モジュールにCPUから動作命令が発行されると、該機能モジュールへの電力の供給を再開した後に、該機能モジュールを動作させることとなる。
【0008】
ところが、複数の機能モジュールを搭載するASIC(半導体集積回路)において、電力の供給が停止されている機能モジュールに動作命令が発行された場合に、単に、該機能モジュールへの電力の供給を再開して動作させると、設計上意図されていない電流の回り込みが発生してASICの寿命を短くするという問題がある。
【0009】
すなわち、半導体集積回路、例えば、ASICは、上述のように、複数の機能モジュールを搭載しており、省電力モード時に電力の供給が停止される機能モジュールと電力の供給が継続される機能モジュールがあり、また、機能モジュールの機能種別及びコスト面から機能モジュールへの電力の遮断順序及び供給順序(特に、電力供給順序、以下、電力供給順序という。)が予め設定されていて、該電力供給順序に従った電力の供給動作に対してのみ機能モジュールに不具合が発生するのを防止するアイソレーションセルと呼ばれる回路が挿入されている。したがって、このような予め設定されている電力供給順序に従った電力の遮断・投入動作に対しては、アイソレーションセルは、電力が遮断された領域から電力が供給されている領域に接続される信号線に中間電位を印加して、回路構成上想定されていない電流の回り込みが発生するのを防止して、ASICの寿命が短くなるのを防止している。
【0010】
例えば、図3に示すように、ASIC100が、電源制御部101と、それぞれ機能モジュールMA、MB、MCを中心とする3つの電源領域RA、RB、RCとを有しており、モジュールMBからモジュールMAへの信号線の間に、アイソレーションセル102が、機能モジュールMCから機能モジュールMBへの信号線の間に、アイソレーションセル103が、それぞれ挿入されている。また、ASIC100は、電源スイッチ110を介して電力が、電源制御部101及びモジュールMAには、直接供給され、機能モジュールMB及び機能モジュールMCには、それぞれスイッチ素子104、105を介して供給される。そして、電源制御部101は、制御信号PWR_B_CTLによって、スイッチ素子104をオン/オフさせて、機能モジュールMBへの電力の供給及び遮断を制御し、制御信号ISO_B_CTLによって、アイソレーションセル102のオン/オフを制御する。また、電源制御部101は、制御信号PWR_C_CTLによって、スイッチ素子103をオン/オフさせて、機能モジュールMCへの電力の供給及び遮断を制御し、制御信号ISO_C_CTLによって、アイソレーションセル103のオン/オフを制御する。このアイソレーションセル102は、機能モジュールMBの電力遮断時に、機能モジュールMBから機能モジュールMAに入力される信号に中間電位が印加されるのを防止し、アイソレーションセル103は、機能モジュールMCの電力遮断時に、機能モジュールMCから機能モジュールMBに入力される信号に中間電位が印加されるのを防止する。
【0011】
このような構成のASIC100は、図4各機能モジュールMA〜MCへの電力供給/遮断タイミングを示すように、タイミングT1では、ASIC100全体の電力が切断されており、電源領域RA、RB、RCは、全て電力が遮断されている。
【0012】
そして、タイミングT2において、画像形成装置の電源スイッチ110がオンされると、直接機能モジュールMAに電力を供給して電源領域RAが電力供給状態となるとともに、電源制御部101が制御信号ISO_C_CTL、制御信号PWR_C_CTL、制御信号ISO_B_CTL、制御信号PWR_B_CTLをオンにして、機能モジュールMCとその電源領域RC及び機能モジュールMBとその電源領域RBに対しても電力供給状態となる。
【0013】
その後、画像形成装置が省電力モード等に移行して、ASIC100の電力供給を遮断するときには、まず、タイミングT3で、電源制御部101が、制御信号ISO_C_CTLによって、アイソレーションセル103をイネーブル(オフ)にし、タイミングT4で、制御信号PWR_C_CTLによって、スイッチ素子105をオフして、機能モジュールMCへの電力供給を遮断する。このタイミングでのASIC100における電力供給/遮断の組み合わせは、機能モジュールMAとその電源領域RAの電力がオンかつ機能モジュールMBとその電源領域RBの電力がオンであり、機能モジュールMCとその電源領域RCの電力がオンである。
【0014】
次に、タイミングT5で、制御信号ISO_B_CTLによって、アイソレーションセル102をイネーブル(オフ)にし、タイミングT6で、制御信号PWR_B_CTLによって、機能モジュールMBの電力供給を遮断する。このタイミングでのASIC100における電力供給/遮断の組み合わせは、機能モジュールMAとその電源領域RAの電力がオンであり、その他の機能モジュールMBとその電源領域RB及び機能モジュールMCとその電源領域RCの電力がオフとなって、省電力モード状態となる。
【0015】
そして、タイミングT7において、何らかの省エネ復帰要因が発生すると、電源制御部101は、まず、制御信号PWR_B_CTLによって、スイッチ素子104をオンさせて機能モジュールMBへの電力の供給を行い、タイミングT8で、制御信号ISO_B_CTLによって、アイソレーションセル102をディセーブル(オン)にする。
【0016】
このタイミングでのASIC100における電力供給/遮断の組み合わせは、機能モジュールMAとその電源領域RA及び機能モジュールMBとその電源領域RBの電力がオンで、かつ、機能モジュールMCとその電源領域RCの電力がオフの状態である。
【0017】
そして、タイミングT9で、電源制御部101は、制御信号PWR_C_CTLによって、スイッチ素子105をオンさせて機能モジュールMCとその電源領域RCの電力の供給を行い、タイミングT10で、制御信号ISO_C_CTLによって、アイソレーションセル103をディセーブル(オフ)にする。このタイミングでのASIC100における電力供給/遮断の組み合わせは、全ての機能モジュールMA、MB、MC及びその電源領域RA、RB、RCの電力がオンとなって、通常動作状態に復帰する。
【0018】
ところが、省電力モードに移行してASIC100内部の機能モジュールMB、MCの動作を停止させたとき、電力の供給の停止されている機能モジュールMB、MCに対して処理実行命令が不当にあるいは誤って実行されると、不当なメモリアクセスやレジスタアクセスが発生して、データが破壊されたり、誤動作を生じたりするおそれがある。
【0019】
例えば、機能モジュールMAとその電源領域RAが電力オン、機能モジュールMBとその電源領域RB及び機能モジュールMCとその電源領域RCが電力オフの状態で、CPUが誤って電力の供給が停止されている機能モジュールMCに対して動作命令を発行した場合、上記公報記載の従来技術にあっては、この機能モジュールMCへの電力の供給を開始した後に、動作を行わせることとなる。
【0020】
ところが、ASIC100においては、機能モジュールMB、MCへの電力の供給順序は、予め設定されており、設定された順序で電力の供給を行わないときには、機能モジュールMB、機能モジュールMAへ不正な信号が入力されてデータの破壊や誤動作生じさせるおそれがある。いま、ASIC100においては、図4に示したように、電力の供給順序が、機能モジュールMBが先であって、その後に、機能モジュールMCに電力の供給を行うように設定されているため、上述のように、CPUが機能モジュールMCに動作命令を発行した場合、機能モジュールMBよりも先に機能モジュールMCに電力を供給することとなり、ASIC100の設計上意図しない電流の回り込みが発生して、ASICの寿命を短くするおそれがある。したがって、電力供給停止中の機能モジュールにCPUやDMAC(Direct Memory Access Controller :DMAコントローラ)等のバスマスタからアクセスが発生した場合に、従来技術のように、単に、アクセスの発生した機能モジュールへの電力の供給を再開して動作を行わせることはできない。
【0021】
また、近年の複合装置等の画像形成装置や該画像形成装置に用いられている半導体集積回路(ASIC等)は、そのソフトウェアが複雑化しているため、ソフトウェアの不具合解析時の便宜性を考慮して、ハードウェアに不具合解析のための機能を盛り込むことが一般的になってきている。例えば、何らかの不具合によりCPUが暴走した場合に、システムをリスタートさせるウォッチドッグタイマ(Watch Dog Timer)を備えるようになってきているが、システムリセットをかけて装置全体を初期化すると、不具合の原因を特定することができない。そこでは、上記電力の供給停止中の機能モジュールに対して動作命令が発行されるような不具合が発生した場合に、その原因を究明するためには、例外処理ルーチンを実行させて、動作ログや不具合発生の原因の履歴を残す処理を実行することが望まれる。
【0022】
そこで、本発明は、電力の供給・停止が行われる複数の機能動作手段のうち、電力供給停止中の機能動作手段へのアクセスが発生した場合に、該機能動作手段への電力供給を停止させた状態を維持して寿命が縮まるのを防止するとともに、不正なメモリアクセスやレジスタアクセスによるデータ破壊や不正なデータの読み出しによる動作の継続を適切に防止するデータ処理装置、省電力制御方法、省電力制御プログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【0023】
本発明は、上記目的を達成するために、電力供給を受けて各種機能を実行しバスマスタからのアクセスに応じて動作する複数の機能動作手段への電力の供給/停止を個別に制御し、該機能動作手段に対するバスマスタからのアクセスの有無を検出して、電力の供給が停止されている機能動作手段に対してバスマスタからアクセスがあると、該機能動作手段に代わって該アクセスに対して所定の代理応答を行うことにより、上記目的を達成している。
【0024】
また、本発明は、電力の供給が停止されている前記機能動作手段に対してアクセスしたバスマスタがサブCPUであるか否かを判定して、サブCPUであると、前記代理応答として、該サブCPUに対してNG応答を行うことを特徴としてもよい。
【0025】
さらに、本発明は、電力供給停止中の機能動作手段に対してアクセスを行ったバスマスタがサブCPU以外のバスマスタであると、前記代理応答として、該バスマスタに対してNG応答を行うとともに、該機能動作手段に対して不正アクセスがあった旨を該サブCPUに対して通知してもよいし、該バスマスタに対してOK応答を行うとともに、該機能動作手段に不正アクセスがあった旨を該サブCPUに対して通知することを特徴としてもよい。
【0026】
また、本発明は、電力供給停止中の機能動作手段に対してバスマスタによって行われたアクセスがリードアクセスであると、前記代理応答として、該バスマスタに対してNG応答を行うことを特徴としてもよい。
【発明の効果】
【0027】
本発明によれば、電力の供給・停止が行われる複数の機能動作手段のうち、電力供給停止中の機能動作手段へのアクセスが発生した場合に、該機能動作手段への電力供給を停止させた状態を維持して寿命が縮まるのを防止するとともに、不正なメモリアクセスやレジスタアクセスによるデータ破壊や不正なデータの読み出しによる動作の継続を適切に防止することができる。
【図面の簡単な説明】
【0028】
【図1】本発明の一実施例を適用した複合装置の要部ブロック構成図。
【図2】ASICの詳細なブロック構成図。
【図3】従来の電源対策の施されているASICの一例を示すブロック構成図。
【図4】従来のASICにおける各機能モジュールの電力遮断/供給タイミングを示す図。
【発明を実施するための形態】
【0029】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例1】
【0030】
図1及び図2は、本発明のデータ処理装置、省電力制御方法、省電力制御プログラム及び記録媒体の一実施例を示す図であり、図1は、本発明のデータ処理装置、省電力制御方法、省電力制御プログラム及び記録媒体の一実施例を適用した複合装置1の要部ブロック構成図である。
【0031】
図1において、複合装置1は、エンジン部2、コントローラ3を備えているとともに、図示しない操作表示部、ファクシミリ通信部、ネットワーク通信部及びハードディスク等を備えている。操作表示部は、各種操作を行う操作キー及び必要な情報を表示するディスプレイ等を備えており、ファクシミリ通信部は、外部公衆回線等を利用してファクシミリ通信を行う。ネットワーク通信部は、LAN(Local Area Network)等のネットワークを介して画像データ等のデータの転送を行う。
【0032】
エンジン部2は、スキャナ、プロッタ等のエンジンを総称したものである。スキャナは、例えば、CCD(Charge Coupled Device )を利用したイメージスキャナ等が利用されており、一般に、ADF(自動原稿送り装置)を備えている。ADFには、複数枚の原稿がセットされ、ADFは、セットされた原稿を1枚ずつスキャナ2の原稿読取位置に送給する。スキャナは、ADFから搬送されてきた原稿を走査し、原稿の画像を所定の解像度で読み取って、2値化してコントローラユニット3に出力する。プロッタは、例えば、電子写真式記録装置等であり、プロッタは、記録紙に、スキャナで読み取られた原稿の画像や図示しないファクシミリ通信部やネットワーク通信部で受信した受信画像等を記録出力するとともに、必要なレポートを記録紙に記録出力する。
【0033】
コントローラ3は、メインCPU(Central Processing Unit )10、操作表示I/F11、オプションI/F12、メインメモリ(MEM)13、メインROM14、NVRAM(Nonvolatile Random Access Memory)15、ASIC16及びサブROM17等を搭載しており、複合装置1の全体の制御、描画、通信、操作表示部から入力データや操作表示部への表示データの制御等を行う。
【0034】
メインROM14は、複合装置1としての基本制御プログラムや必要なシステムデータを格納しており、メインメモリ13は、RAM(Random Access Memory)等で構成されて、メインCPU10のワークメモリとして利用されるとともに、画像データ等のデータの一時保管を行う。NVRAM15は、複合装置1の電力が切られているときにも記憶内容を保持するメモリであり、複合装置1の電力がオフの際にも保持する必要のあるデータがメインCPU10の制御下で格納される。メインCPU10は、メインROM14内のプログラムに基づいてメインメモリ13をワークメモリとして利用して、複合装置1の各部を制御して、複合装置1としての処理を実行する。
【0035】
操作表示I/F11には、操作表示部が接続され、操作表示I/F11は、操作表示部からの入力データをメインCPU10に渡し、メインCPU10からの表示データ等をや操作表示部に出力する。
【0036】
オプションI/F12は、ファクシミリやプリンタアプリケーション等のオプションユニットを接続するインターフェースである。
【0037】
ASIC16は、サブCPU21を備えているとともに、図2に示すように、代理応答部22、SRAM(Static RAM )23、ローカルバスコントローラ24、電源制御部25、UART26、GIO27、割り込みコントローラ28、タイマ部29、ネットワークコントローラ30、USBデバイスコントローラ31、PCIe(Peripheral Component Interconnect Express)コントローラ32及び暗号コントローラ33等を備えており、上記各部は、内部バス34や各種信号線により接続されている。ASIC16は、機能動作手段であるネットワークコントローラ30、USB(Universal Serial Bus)デバイスコントローラ31、PCIeコントローラ32及び暗号コントローラ33の周囲に、これらのコントローラへの電力の供給/供給停止によってその電力が供給/供給停止される電源領域30RA、31RA、32RA、33RAが形成されている。また、ネットワークコントローラ30及びUSBデバイスコントローラ31は、DMACを内蔵してSRAM23やPCIe上のデータの送受信を行う。
【0038】
サブROM17は、ASIC16のサブCPU21が実行する基本アプリケーションプログラム、本発明の省電力制御プログラム及び必要なデータを格納しており、サブCPU21は、サブROM17のプログラムに基づいて、メインCPU10が動作停止時に複合装置1全体を制御する。
【0039】
代理応答部(代理応答手段)22は、電力供給の停止されているバスマスタからトローラ30、USBデバイスコントローラ31、PCIeコントローラ32、暗号コントローラ33へのアクセスが発生した場合に適宜に代理応答を行い、バスマスタに対して不正なアクセスがあったことを通知する。
【0040】
ネットワークコントローラ30、USBデバイスコントローラ31、PCIeコントローラ32及び暗号コントローラ33のうちどのコントローラ30〜33へのアクセスに対して代理応答するかは、電源制御部25からの制御信号BUS_CTLにより制御される。
【0041】
SRAM23は、サブCPU21のワークデータ等を格納し、ローカルバスコントローラ24は、ローカルバスコントローラ24は、AISC16の外部のサブROM17やRAM等のメモリへのアクセス制御を行う。
【0042】
電源制御部(電力制御手段)25は、ASIC16の内部及び外部の電力制御(電源制御)を行い、特に、制御信号PWR_CTLにより、ネットワークコントローラ電源領域30RA、USBデバイスコントローラ電源領域31RA、PCIe電源領域32RA及び暗号コントローラ電源領域33RAに対する電力の供給/供給停止(遮断)の制御を行うとともに、図示しないが、各機能モジュール30〜33の間のアイソレーションセルの制御を行う。
【0043】
また、電源制御部25は、制御信号BUS_CTLにより、代理応答部22の動作の開始を制御する。
【0044】
UART部26は、UART(調歩同期式シリアル通信回線)の通信制御を行い、GIO部27は、汎用入出力ポートで、特に、省電力モード時に、操作部の電源ボタンの押下やエンジン部2のADFに紙がセットされたか、圧版が動作したか等の省電力モード復帰要因の発生の有無を監視するための入力ポートを有している。
【0045】
割り込みコントローラ28は、ASIC16の内部、外部からの割り込みを監視し、サブCPU21に割り込み例外処理を発生させる。
【0046】
タイマ部29は、インターバルタイマ及びサブCPU21の暴走を監視するウオッチドックタイマ機能を有している。
【0047】
ネットワークコントローラ30は、イーサネット(Ethernet:登録商標)形態のLAN(Local Area Network)等のネットワークに接続されており、ネットワークには、パーソナルコンピュータ等が接続されている。ネットワークコントローラ30は、イーサネットの通信制御を行う。
【0048】
USBデバイスコントローラ31には、パーソナルコンピュータやメモリ等のUSBデバイスが接続され、USBデバイスコントローラ31は、接続されるUSBデバイスとの間でデータの授受を行う。
【0049】
PCIeコントローラ32には、PCIeバスが接続され、PCIeコントローラ32は、PCIeバスを使用したPCIe通信制御を行う。本実施例の複合装置1では、PCIeバスによってメインCPU10とASIC16とが接続されている。
【0050】
暗号コントローラ33は、IPsec(Security Architecture for Internet Protocol)環境のネットワーク送受信に対応した平文データの暗号化と暗号データの平文化を行う。
また、ASIC16の内部は、ネットワークコントローラ電源領域30RA、USBデバイスコントローラ電源領域31RA、PCIe電源領域32RA、暗号コントローラ電源領域33RA及び図示しないその他の電源領域に電源分離されており、電源制御部25が、ネットワークコントローラ電源領域30RA、USBデバイスコントローラ電源領域31RA、PCIe電源領域32RA及び暗号コントローラ電源領域33RAの電力の供給/供給停止を制御する。
【0051】
ASIC16は、通常動作モード時には、ASIC16内の全ての電源領域30RA〜33RA等の全ての電源領域に電力が供給され、省電力モード時には、電源制御部25により、ネットワークコントローラ30、USBデバイスコントローラ31、PCIeコントローラ32及び暗号コントローラ33の電力供給が選択的に切断され、いずれのコントローラ30〜33への電力供給を遮断するかは、複合装置1の省電力モードに依存する。
【0052】
複合装置1は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Video Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明の省電力制御方法を実行する省電力制御プログラムを読み込んで、ASIC16のサブCPU21が参照するサブROM17に導入することで、後述する省電力時に電力が遮断されているコントローラ30〜33に対してアクセスがあった場合の対応処理を適切に行うデータ処理装置として構築されている。この省電力制御プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【0053】
次に、本実施例の作用を説明する。本実施例の複合装置1は、省電力モード時に電力の供給が遮断されているコントローラ30〜33にアクセスがあると、該アクセスに対して適切に代理応答する。
【0054】
すなわち、複合装置1は、メイン電力が投入されている通常状態においては、例えば、エンジン部2のスキャナで読み取った原稿の画像データを、コントローラ3で必要な画像処理を施した後、エンジン部2のプロッタで用紙に画像出力する等の画像処理を施す。
【0055】
そして、複合装置1は、メイン電源が投入されてから動作要求が無い状態で予め設定されている所定の待ち時間が経過すると、主要各部への電力の供給を削減または停止する省電力モードを備えており、省電力モードにおいては、メインCPU10への通電を遮断して、ASIC16のサブCPU21への通電を行ってサブCPU21が省電力モード時に必要な複合装置1の全体の制御を行うとともに、ASIC16内部においては、コントローラ30〜33への電力の供給/遮断を電源制御部25が制御し、電力供給遮断中のコントローラ30〜33に誤ってまたは不正にサブCPU21またはDMAC等がバスマスタとなってアクセスが発生すると、代理応答部22が該コントローラ30〜33に変わって代理応答することで、該アクセスに対する適正な対処を行う。
【0056】
すなわち、ASIC16は、省電力モードに移行する場合、サブCPU21は、電源制御部25にアクセスして、電力の供給を遮断するコントローラ30〜33に対して電源制御信号PWR_CTLをネゲートさせて該コントローラ30〜33及び電源領域30RA〜33RAに対する電力の供給を遮断するとともに、代理応答路22に電力の供給の遮断を行うコントローラ30〜33に対するアクセスに対する代理応答を制御する制御信号BUS_CTLをアサートして、代理応答部22の動作を開始させる。
【0057】
例えば、省電力モード時にPCIeコントローラ32及びPCIe電源領域32RAへの電力の供給を遮断する場合、サブCPU21は、電源制御部25の内部レジスタにアクセスして、PCIeコントローラ32の電源制御信号PWR_CTLをネゲートしてPCIe32及びPCIe電源領域32RAの電力供給を遮断させる。同時に、サブCPU21は、電源制御部25にPCIeコントローラ32の代理応答を制御する制御信号BUS_CTLをアサートさせて、代理応答部22の動作を開始する。
【0058】
この状態で、代理応答部22は、バスマスタ(サブCPU21またはDMAC等)が、電力の供給が停止されているコントローラ30〜33、例えば、PCIeコントローラ32のレジスタ空間またはメモリ空間へアクセスすると、バスマスタに対してバスプロトコル上のNG応答、または、OK応答を返す。
【0059】
このように、本実施例の複合装置1は、ASIC16が、電力供給を受けて各種機能を実行するとともに、バスマスタからのアクセスに応じて動作する複数のコントローラ30〜33への電力の供給/停止を電源制御部25によって個別に制御し、代理応答部22が、コントローラ30〜33に対するバスマスタからのアクセスの有無を検出して、電力の供給が停止されているコントローラ30〜33に対してバスマスタからアクセスがあると、該コントローラ30〜33に代わって該アクセスに対して所定の代理応答を行っている。
【0060】
したがって、内部バス34がロックして動作が停止することなく、アクセスの発生したコントローラ(機能モジュール)30〜33への電力供給を停止したまま、バスマスタに不正なデータアクセスが発生したことを通知することができ、不当なメモリアクセスやレジスタアクセスによるデータ破壊や不正なデータの読み出を行って動作を継続することを防止することができる。
【0061】
また、複合装置1において、ASIC16の代理応答部22は、バスマスタがサブCPU21であるか否かを判定する機能を有しており、電力供給が停止されているコントローラ30〜33にアクセスしてきたバスマスタがサブCPU21であるか否か判定して、バスマスタが、サブCPU21の場合には、サブCPU21に対して、NG応答を返す。
【0062】
この場合、サブCPU21は、アクセスがNGであることを認識し、不正または誤ったアクセスであることに対応する処理、例えば、例外処理を実行する。サブCPU2は、例外処理を実行することで、不正アクセスまたは誤ったアクセスの発生した要因を解明するためのログを記録することができる。
【0063】
したがって、代理応答部22がバスマスタであるサブCPU21にNG応答を返すことで、サブCPU21に対してサブCPU21による不正なデータアクセスが発生したことを通知し、不当なメモリアクセスやレジスタアクセスによってデータ破壊が発生したおそれがあることや不正なデータを読み出したことを通知することができ、不具合が発生した記録を残すことができる。
【0064】
例えば、バスマスタがサブCPU21の場合、省電力モード時に、サブCPU21が誤ってPCIeコントローラ32にアクセスした場合、代理応答部22が代理応答を行い、サブCPU21に対してNG応答を返す。サブCPU21は、NG応答を受け取ると、内部でバスエラー例外を発生させ、例外処理ルーチンを実行する。
【0065】
さらに、本実施例の複合装置1において、ASIC16の代理応答部22は、同様に、電力供給が停止されているコントローラ30〜33にアクセスしてきたバスマスタがサブCPU21であるか否か判定して、電力供給が停止されているコントローラ30〜33にアクセスしてきたバスマスタがサブCPU21以外の場合には、該サブCPU21以外のバスマスタに対して、NG応答を返すとともに、サブCPU21に対して予め設定されている例外処理を発生させる。サブCPU21は、この例外処理を実行することによって、不正アクセスまたは誤ったアクセスの発生した要因を解明するためのログを記録する。
【0066】
例えば、バスマスタがサブCPU21以外、例えば、DMACの場合、省電力モード時に、DMACが誤ってPCIeコントローラ32にアクセスすると、代理応答部22が、代理応答を行い、DMACに対してNG応答を返すとともに、サブCPU21に対して例外処理割り込みを発生させる。サブCPU21は、代理応答部22からの割り込みによって例外処理ルーチンを実行する。
【0067】
したがって、代理応答部22がサブCPU21に不正アクセスまたは誤ったアクセスの発生を通知する割り込みを発生することで、サブCPU21に対してバスマスタによる不正なデータアクセスが発生したことを通知して、不当なメモリアクセスやレジスタアクセスによるデータ破壊や不正なデータを読み出したことを通知することができ、不具合が発生した記録を残すことができる。
【0068】
また、本実施例の複合装置11において、代理応答部22は、バスマスタがサブCPU21であるか否か判定して、バスマスタがサブCPU21以外の場合には、バスマスタに対して、OK応答を返すとともに、サブCPU21に対して例外処理を発生させる。サブCPU21は、この例外処理を実行することによって、不正アクセスまたは誤ったアクセスの発生した要因を解明するためのログを記録する。
【0069】
したがって、OK応答が返ってくることで動作を終了するバスマスタに対して、内部バス34がロックして動作が停止することなく、アクセスの発生したコントローラ(機能モジュール)30〜33への電力供給を停止したまま、アクセスしてきたバスマスタを適切に終了させることができる。
【0070】
また、代理応答部22は、電力供給の停止されているコントローラ30〜33に対するバスマスタのアクセスがライトアクセスであるかリードアクセスであるかを判定する。そして、代理応答部22は、ライトアクセスの場合には、バスマスタに対して、OK応答を返し、リードアクセスの場合には、NG応答を返している。
【0071】
したがって、リードアクセスの場合に限りNG応答を返すことで動作を終了するバスマスタに対して、アクセスの発生したコントローラ30〜33への電力供給を停止したまま、アクセスしてきたバスマスタ適切に終了させることができる。
【0072】
さらに、代理応答部22は、上述のように、予め設定されているコントローラ30〜33の電力供給順序に基づいて、コントローラ30〜33のうち、アクセスタイミングにおいて電力の供給を開始しても問題のないコントローラ30〜33と、電力の供給を開始すると不具合が発生するおそれのあるコントローラ30〜33とを判定し、電力の供給を開始しても問題のないコントローラ30〜33である場合には、電源制御部25に対して、制御信号PWR_REQをアサートして、該コントローラ30〜33へ電力を供給するように通知する。
【0073】
このようにすると、アクセスタイミングに電力供給を開始しても、電力供給開始順序に対して電力を供給することが許容されるコントローラ30〜33の場合には、電源制御部25に該コントローラ30〜33への電力供給を要求して、電力供給を開始した上で、動作を継続することができる。
【0074】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0075】
本発明は、待機状態で所定の機能モジュールへの電力の供給を停止して省電力を行うASIC等の半導体集積回路を搭載する複合装置、複写装置、プリンタ装置やパーソナルコンピュータ等のデータ処理装置、省電力制御方法、省電力制御プログラム及び記録媒体に利用することができる。
【符号の説明】
【0076】
1 複合装置
2 エンジン部
3 コントローラ
10 メインCPU
11 操作表示I/F
12 オプションI/F
13 メインメモリ(MEM)
14 メインROM
15 NVRAM
16 ASIC
17 サブROM
21 サブCPU
22 代理応答部
23 SRAM
24 ローカルバスコントローラ
25 電源制御部
26 UART
27 GIO
28 割り込みコントローラ
29 タイマ部
30 ネットワークコントローラ
31 USBデバイスコントローラ
32 PCIeコントローラ
33 暗号コントローラ
34 内部バス
【先行技術文献】
【特許文献】
【0077】
【特許文献1】特開2004−152321号公報

【特許請求の範囲】
【請求項1】
電力供給を受けて各種機能を実行するとともに、バスマスタからのアクセスに応じて動作する複数の機能動作手段と、
前記機能動作手段への電力の供給/停止を個別に制御する電力制御手段と、
前記機能動作手段に対するバスマスタからのアクセスの有無を検出し、前記電力制御手段によって電力の供給が停止されている機能動作手段に対してバスマスタからアクセスがあると、該機能動作手段に代わって該アクセスに対して所定の代理応答を行う代理応答手段と、
を備えていることを特徴とするデータ処理装置。
【請求項2】
前記データ処理装置は、
前記電力制御手段よって前記機能動作手段に対して電力の供給が停止されている場合にも電力が供給されて各種制御処理を行うサブCPUと、
電力の供給が停止されている前記機能動作手段に対してアクセスしたバスマスタが前記サブCPUであるか否かを判定する判定手段と、
をさらに備え、
前記代理応答手段は、電力供給停止中の機能動作手段に対してアクセスを行ったバスマスタが前記サブCPUであると前記判定手段が判定すると、前記代理応答として、該サブCPUに対してNG応答を行うことを特徴とする請求項1記載のデータ処理装置。
【請求項3】
前記データ処理装置は、
前記電力制御手段よって前記機能動作手段に対して電力の供給が停止されている場合にも電力が供給されて各種制御処理を行うサブCPUと、
電力の供給が停止されている前記機能動作手段に対してアクセスしたバスマスタが前記サブCPUであるか否かを判定する判定手段と、
をさらに備え、
前記代理応答手段は、電力供給停止中の機能動作手段に対してアクセスを行ったバスマスタが前記サブCPU以外のバスマスタであると前記判定手段が判定すると、前記代理応答として、該バスマスタに対してNG応答を行うとともに、該機能動作手段に対して不正アクセスがあった旨を該サブCPUに対して通知することを特徴とする請求項1記載のデータ処理装置。
【請求項4】
前記データ処理装置は、
前記電力制御手段よって前記機能動作手段に対して電力の供給が停止されている場合にも電力が供給されて各種制御処理を行うサブCPUと、
電力の供給が停止されている前記機能動作手段に対してアクセスしたバスマスタが前記サブCPUであるか否かを判定する判定手段と
をさらに備え、
前記代理応答手段は、電力供給停止中の機能動作手段に対してアクセスを行ったバスマスタが前記サブCPU以外のバスマスタであると前記判定手段が判定すると、前記代理応答として、該バスマスタに対してOK応答を行うとともに、該機能動作手段に不正アクセスがあった旨を該サブCPUに対して通知することを特徴とする請求項1記載のデータ処理装置。
【請求項5】
前記データ処理装置は、
前記電力制御手段によって電力の供給が停止されている前記機能動作手段に対してバスマスタから発生したアクセスがリードアクセスであるか否かを判定するアクセス種別判定手段を備え、
前記代理応答手段は、電力供給停止中の機能動作手段に対してバスマスタによって行われたアクセスが前記リードアクセスであると該アクセス種別判定手段が判定すると、前記代理応答として、該バスマスタに対してNG応答を行うことを特徴とする請求項1記載のデータ処理装置。
【請求項6】
前記データ処理装置は、
電力の供給が停止されている前記機能動作手段に対してバスマスタからアクセスが発生した場合に、該アクセスの発生したタイミングに該機能動作手段に対して電力供給を開始することが、電力の供給が停止されている複数の前記機能動作手段に対して予め設定されている電力供給順序に対して許容されるか否か判定する電力供給可否判定手段を備え、
前記代理応答手段は、電力供給停止中の機能動作手段に対してアクセスがあった場合に、該機能動作手段に対して電力供給を開始することが許容されると前記電力供給可否判定手段が判定すると、前記代理応答として前記電力制御手段に該機能動作手段への電力の供給を要求することを特徴とする請求項1から請求項5のいずれかに記載のデータ処理装置。
【請求項7】
電力供給を受けて各種機能を実行するとともに、バスマスタからのアクセスに応じて動作する複数の機能動作手段への電力の供給/停止を個別に制御する電力制御処理ステップと、
前記機能動作手段に対するバスマスタからのアクセスの有無を検出し、前記電力制御処理ステップによって電力の供給が停止されている機能動作手段に対してバスマスタからアクセスがあると、該機能動作手段に代わって該アクセスに対して所定の代理応答を行う代理応答処理ステップと、
を有していることを特徴とする省電力制御方法。
【請求項8】
コンピュータに、
電力供給を受けて各種機能を実行するとともに、バスマスタからのアクセスに応じて動作する複数の機能動作手段への電力の供給/停止を個別に制御する電力制御処理と、
前記機能動作手段に対するバスマスタからのアクセスの有無を検出し、前記電力制御処理によって電力の供給が停止されている機能動作手段に対してバスマスタからアクセスがあると、該機能動作手段に代わって該アクセスに対して所定の代理応答を行う代理応答処理と、
を実行させることを特徴とする省電力制御プログラム。
【請求項9】
請求項8記載の省電力制御プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−8310(P2011−8310A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−148208(P2009−148208)
【出願日】平成21年6月23日(2009.6.23)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】