説明

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

【課題】本発明は、低電圧動作時に、低電圧では動作不可能なモジュールに対する不正アクセスに対して適切に対応する。
【解決手段】複合装置1は、ASIC16が、それぞれ独自の規定電圧を超える供給電圧の電力供給を受けることで動作可能状態となって機能動作するDDR−SDRAMコントローラ24、PCIeコントローラ31、SATAコントローラ32その他の複数のモジュールを備え、電源供給部40から供給電圧が複数の電圧に切り替えて電力供給される際に、供給電圧が規定電圧よりも低く動作停止状態となっているモジュールに対して、バスマスタからアクセスがあると、代理応答部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(半導体集積回路)において、供給電力の電圧が低下されていて該低電力状態では動作不可能なモジュールに動作命令が発行された場合に、該アクセスを検知して、電圧を高く制御しても、該電圧が該モジュールの動作可能な規定の電圧(規定電圧)に達して、その後、リセットを解除し、内蔵PLL(Phase Locked Loop)がロックして、動作可能になるまでに、数us〜数msの時間を要するため、サブCPU等のバスマスタは、その間、該モジュールにアクセスすることができず、利用性が悪いという問題があった。
【0009】
また、近年のASICの内部バスは複雑化しているため、CPUが誤って動作を停止しているモジュールにアクセスし、モジュールからの応答が無い場合は、内部バスがロックしてシステムが動作不能に陥る場合がある。このような場合に、上記公報記載の従来技術を適用すると、例外処理ルーチンを実行することができず、ソフトウェアの不具合の解析を行うことができないという問題があった。
【0010】
例えば、図4に示すように、ASIC100と高電圧と低電圧の電力を供給可能な電源供給部110がボード上に実装されており、ASIC100が、電源制御部101と複数のモジュールMA、MB、MCを搭載している。そして、電源供給部110は、ASIC100の電圧制御部101からの電圧制御信号VSによってASIC100に供給するASIC電力APの電圧を高電圧と低電圧に制御する。モジュールMAは、ASIC電力APが高電圧の場合に限り動作可能なモジュールであり、モジュールMB及びモジュールMCは、高電圧及び低電圧で動作可能なモジュールである。いま、図5に示すような電圧制御信号VSのタイミングで電源供給部110からASIC電力APを切り替えた場合、タイミングT1では、ASIC100全体の電力が切断されており、タイミングT2で、ASIC100全体に、ASIC電力APとして、全てのモジュールMA〜MCが動作可能な高電圧Vhが電源供給部110から供給される。また、タイミングT3で、ASIC100の電圧制御部101が、ASIC電力APの電圧(供給電圧)を低電圧Vlに制御する電圧制御信号VSを電源供給部110に出力すると、電源供給部110は、高電圧VhのASIC電力APから低電圧VlのASIC電力APへの切り替えを開始して、タイミングT4で、モジュールMAが動作不可能で、モジュールMB、MCが動作可能な低電圧VlのASIC電力APに切り替えてASIC100に供給する。次に、タイミングT5で、ASIC100の電圧制御部101が、ASIC電力APの供給電圧を高電圧Vhに制御する電圧制御信号VSを電源供給部110に出力すると、電源供給部110は、低電圧VlのASIC電力APから高電圧VhのASIC電力APへの切り替えを開始して、タイミングT6で、全てのモジュールMA〜MCが動作可能な高電圧VhのASIC電力APに切り替えてASIC100に供給する。ここで、期間Ta1及び期間Ta3は、全モジュールMA、MB、MCが動作可能な期間であるが、期間Ta2は、モジュールMB、MCのみが動作可能で、モジュールMAが動作不可能となる。
【0011】
ところが、SATA(シリアルATA、Serial Advanced Technology Attachment)モジュール、PCI(Peripheral Component Interconnect) Express(以下、PCIeという。)モジュール等の高速シリアルインターフェース及びDDR−SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)モジュール等の一定の動作周波数を必要とするモジュールは、消費電力を削減するために、その動作周波数が下げられて供給電圧が一定の電圧(規定電圧)よりも低下すると、正常な動作が不可能となる。
【0012】
したがって、ASIC100がSATA、PCIe、DDR−SDRAM等の一定の動作周波数を必要とするモジュールを搭載している場合に、電源供給部110から供給するASIC電力APの電圧を低く制御し、同時に動作周波数を下げて、消費電力を低減している状態で、CPU等のバスマスタが誤って、低電圧動作時に動作不可能なモジュールにアクセスすることがある。この場合、上記公報記載の従来技術のように、電圧制御部がバスマスタのアクセスを検知して、電圧を高く制御しても、電圧がアクセス先のモジュールが動作可能な電圧に達して、その後にリセットを解除し、内蔵PLLがロックして、動作可能になるまでに、数us〜数msの時間を要するため、その間、バスマスタはアクセス先のモジュールにアクセスすることができず、利用性が悪いという問題があった。
【0013】
また、近年のASICの内部バスは複雑化しているため、サブCPU等のバスマスタが、誤って、動作を停止しているモジュールにアクセスして、モジュールからの応答が無い場合、内部バスがロックしてシステムが動作不能に陥る場合がある。この場合、上記公報記載の従来技術のような停止制御回路によるモジュールの動作停止状態を解除してからアクセスを実行するという例外処理ルーチンを実行することができず、ソフトウェアの不具合を解析することができないという問題があった。
【0014】
そこで、本発明は、複数の電圧に切り替えて供給される供給電圧のうち、規定電圧を超える供給電圧の電力供給を受けると、動作可能状態となって、バスマスタからのアクセスに応じてその機能を実行する複数の機能動作手段のうち、該供給電圧によって動作の停止している機能動作手段へのバスマスタからのアクセスによって、内部バスがロックして動作が停止することを防止するとともに、不正なメモリアクセスやレジスタアクセスによるデータ破壊及び不正なデータの読み出しによる動作の継続を適切に防止するデータ処理装置、画像形成装置、省電力制御方法、省電力制御プログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【0015】
本発明は、上記目的を達成するために、それぞれ独自の規定電圧を超える供給電圧の電力供給を受けることで動作可能状態となってバスマスタからのアクセスに応じて機能動作する複数の機能動作手段に、複数の供給電圧を切り替えて電力供給し、該機能動作手段に対するバスマスタからのアクセスの有無を検出して、該規定電圧が該供給電圧よりも高い該機能動作手段に対してバスマスタからアクセスがあると、該機能動作手段に代わって該アクセスに対して所定の代理応答を該バスマスタに行うことを特徴としている。
【0016】
また、本発明は、複数の前記機能動作手段のうち、前記規定電圧が前記供給電圧よりも高い機能動作手段を判定して、前記規定電圧が前記供給電圧よりも高い前記機能動作手段に対して前記バスマスタからアクセスがあると、該バスマスタに対して代理応答を行うことを特徴としてもよい。
【発明の効果】
【0017】
本発明によれば、複数の電圧に切り替えて供給される供給電圧のうち、規定電圧を超える供給電圧の電力供給を受けると、動作可能状態となって、バスマスタからのアクセスに応じてその機能を実行する複数の機能動作手段のうち、該供給電圧によって動作の停止している機能動作手段へのバスマスタからのアクセスによって、内部バスがロックして動作が停止することを防止することができるとともに、不正なメモリアクセスやレジスタアクセスによるデータ破壊及び不正なデータの読み出しによる動作の継続を適切に防止することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施例を適用した複合装置の要部ブロック構成図。
【図2】ASICの詳細なブロック構成図。
【図3】ASIC電力電圧と各モジュールの動作状態を示す図。
【図4】従来のASICと電源供給部の一例を示すブロック構成図。
【図5】電圧制御信号、ASIC電力及びASICの各モジュールの動作タイミングを示す図。
【発明を実施するための形態】
【0019】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例1】
【0020】
図1〜図3は、本発明のデータ処理装置、画像形成装置、省電力制御方法、省電力制御プログラム及び記録媒体の一実施例を示す図であり、図1は、本発明のデータ処理装置、画像形成装置、省電力制御方法、省電力制御プログラム及び記録媒体の一実施例を適用した複合装置1の要部ブロック構成図である。
【0021】
図1において、複合装置1は、エンジン部2、コントローラ3を備えているとともに、図示しない操作表示部、ファクシミリ通信部、ネットワーク通信部及びハードディスク等を備えている。操作表示部は、各種操作を行う操作キー及び必要な情報を表示するディスプレイ等を備えており、ファクシミリ通信部は、外部公衆回線等を利用してファクシミリ通信を行う。ネットワーク通信部は、LAN(Local Area Network)等のネットワークを介して画像データ等のデータの転送を行う。
【0022】
エンジン部2は、スキャナ、プロッタ等のエンジンを総称したものである。スキャナは、例えば、CCD(Charge Coupled Device )を利用したイメージスキャナ等が利用されており、一般に、ADF(自動原稿送り装置)を備えている。ADFには、複数枚の原稿がセットされ、ADFは、セットされた原稿を1枚ずつスキャナの原稿読み取り位置に送給する。スキャナは、ADFから搬送されてきた原稿を走査し、原稿の画像を所定の解像度で読み取って、2値化してコントローラユニット3に出力する。プロッタは、例えば、電子写真式記録装置等であり、プロッタは、記録紙に、スキャナで読み取られた原稿の画像や図示しないファクシミリ通信部やネットワーク通信部で受信した受信画像等を記録出力するとともに、必要なレポートを記録紙に記録出力する。
【0023】
コントローラ3は、メインCPU(Central Processing Unit )10、操作表示I/F11、オプションI/F12、メインメモリ(MEM)13、メインROM14、NVRAM(Nonvolatile Random Access Memory)15、ASIC16及びサブROM17等を搭載しており、複合装置1の全体の制御、描画、通信、操作表示部から入力データや操作表示部への表示データの制御等を行う。
【0024】
メインROM14は、複合装置1としての基本制御プログラムや必要なシステムデータを格納しており、メインメモリ13は、RAM(Random Access Memory)等で構成されて、メインCPU10のワークメモリとして利用されるとともに、画像データ等のデータの一時保管を行う。
【0025】
NVRAM15は、複合装置1の電力が切られているときにも記憶内容を保持するメモリであり、複合装置1の電力がオフの際にも保持する必要のあるシステム設定等のデータがメインCPU10の制御下で格納される。
【0026】
メインCPU10は、メインROM14内のプログラムに基づいてメインメモリ13をワークメモリとして利用して、複合装置1の各部を制御して、複合装置1としての処理を実行する。
【0027】
操作表示I/F11には、操作表示部が接続され、操作表示I/F11は、操作表示部からの入力データをメインCPU10に渡して、メインCPU10からの表示データ等を操作表示部に出力する。
【0028】
オプションI/F12は、ファクシミリやプリンタアプリケーション等のオプションユニットを接続するインターフェースである。
【0029】
ASIC(データ処理装置)16は、サブCPU21を備えているとともに、図2に示すように、SRAM(Static RAM )22、ローカルバスコントローラ23、DDR−SDRAMコントローラ24、UART(調歩同期式シリアル通信回線)25、GIO(汎用入出力ポート:General Purpose Input/Output)26、割り込みコントローラ27、タイマ部28、ネットワークコントローラ29、USB(Universal Serial Bus)デバイスコントローラ30、PCIe(Peripheral Component Interconnect Express)コントローラ31及びSATAコントローラ32、代理応答部33及び電源制御部34等を備えており、上記各部は、内部バス35や各種信号線により接続されている。機能動作手段であるネットワークコントローラ29及びUSBデバイスコントローラ30は、DMAC(Direct Memory Access Controller :DMAコントローラ)を内蔵してSRAM22やPCIe上のデータの送受信を行う。
【0030】
サブROM17は、ASIC16のサブCPU21が実行する基本アプリケーションプログラム、本発明の省電力制御プログラム及び必要なデータを格納しており、サブCPU21は、サブROM17のプログラムに基づいて、メインCPU10が動作停止時に複合装置1全体を制御するとともに、バスマスタとして各モジュールへのアクセス制御を行う。
【0031】
SRAM22は、サブCPU21のワークデータ等を格納し、ローカルバスコントローラ23は、AISC16の外部のサブROM17やRAM等のメモリへのアクセス制御を行う。
【0032】
DDR−SDRAMコントローラ(機能動作手段)24は、ASIC16の外部のDDR−SDRAMへのアクセス制御を行い、UART25は、UART(調歩同期式シリアル通信回線)の通信制御を行う。
【0033】
GIO部26は、汎用入出力ポートで、特に、省電力モード時に、操作表示部の電源ボタンの押下やエンジン部2のADFに紙がセットされたか、圧板が動作したか等の省電力モード復帰要因の発生の有無を監視するための入力ポートを有している。
【0034】
割り込みコントローラ27は、ASIC16の内部、外部からの割り込みを監視し、サブCPU21に割り込み例外処理を発生させる。
【0035】
タイマ部28は、インターバルタイマ及びサブCPU21の暴走を監視するウオッチドックタイマ機能を有している。
【0036】
ネットワークコントローラ29は、イーサネット(Ethernet:登録商標)形態のLAN(Local Area Network)等のネットワークに接続されており、ネットワークには、パーソナルコンピュータ等が接続されている。ネットワークコントローラ29は、イーサネットの通信制御を行う。
【0037】
USBデバイスコントローラ30には、パーソナルコンピュータやメモリ等のUSBデバイスが接続され、USBデバイスコントローラ30は、接続されるUSBデバイスとの間でデータの授受を行う。
【0038】
PCIeコントローラ(機能動作手段)31には、PCIeバスが接続され、PCIeコントローラ31は、PCIeバスを使用したPCIe通信制御を行う。本実施例の複合装置1では、PCIeバスによってメインCPU10とASIC16とが接続されている。
【0039】
SATAコントローラ(機能動作手段)32は、シリアルATAの通信制御を行い、AISC16の外部のハードディスク、NAND Flashコントローラ等へのアクセス制御を行う。また、SATAコントローラ32は、内部にDMAC(Direct Memory Access Controller :DMAコントローラ)を内蔵し、DMACは、バスマスタとして、内部バス35を介してDDR−SDRAM、SRAM、PCIe上のデータの送受信を行う。
【0040】
代理応答部(代理応答手段)33は、供給電力電圧が規定電圧よりも低く、動作が停止している状態のDDR−SDRAMコントローラ24、PCIeコントローラ31、または、SATAコントローラ32等のモジュール(機能動作手段)へのサブCPU21等のバスマスタからアクセスが発生した場合に適宜に代理応答を行い、アクセスをしてきた該バスマスタに対して不正なアクセスがある旨を通知する。代理応答部33は、DDR−SDRAMコントローラ24、PCIeコントローラ31、または、SATAコントローラ32等のモジュールのうちどのモジュールへのアクセスに対して代理応答するかについては、電源制御部34からの制御信号BUS_CTLにより制御される。
【0041】
電源制御部(電力制御手段)34は、電圧制御信号VSによって、ASIC16外部の電源供給部(電力供給手段)40がASIC16へ供給するASIC電力APの電圧を段階的に制御する。また、電源制御部34は、段階的に電圧制御したASIC電力APの電圧に応じて、DDR−SDRAMコントローラ24、PCIeコントローラ31、SATAコントローラ32等のモジュールのうちどのモジュールへのアクセスに対して代理応答するかを、制御信号BUS_CTLにより、代理応答部33に通知し、また、代理応答部33の動作の開始を制御する。上記代理応答部33及び電源制御部34は、全体として、判定手段及びアクセス判定手段として機能している。
【0042】
そして、ASIC16は、IO端子、内部論理回路、その他専用の電源電力を必要とするが、ASIC16には、ASIC16と同じボード上に搭載されている電源供給部40からASIC電力APが供給され、この電源供給部40から供給されるASIC電力APは、ASIC16の内部論理回路のコア電圧である。ASIC16の内部論理回路の最大動作周波数は、半導体プロセス、電源電圧、動作温度によって決定されるため、電源電圧が下がると、最大周波数が低下する特徴を有している。すなわち、ASIC16の内部論理回路の動作周波数を下げること、電源電圧を下げることができ、その結果、低消費電力でASIC16を動作させることができる。
【0043】
複合装置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に導入することで、ASIC16が、後述する省電力時に、モジュールDDR−SDRAMコントローラ24、PCIeコントローラ31、SATAコントローラ32及びその他のモジュールのうち、ASIC電力APの供給電圧が規定電圧に満たないために動作が停止しているモジュールに対してアクセスがあった場合の対応処理を適切に行うデータ処理装置として構築されている。この省電力制御プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【0044】
次に、本実施例の作用を説明する。本実施例の複合装置1は、省電力モード時に供給電圧が規定電圧に満たないモジュールにバスマスタからアクセスがあると、該アクセスに対して適切に代理応答して、内部バス35がロックして動作が停止することを防止するとともに、不正なメモリアクセスやレジスタアクセスによるデータ破壊や不正なデータの読み出しによる動作の継続を適切に防止する。
【0045】
すなわち、複合装置1は、メイン電源が投入されている通常状態においては、例えば、エンジン部2のスキャナで読み取った原稿の画像データを、コントローラ3で必要な画像処理を施した後、エンジン部2のプロッタで用紙に画像出力する等の画像処理を施す。
【0046】
そして、複合装置1は、メイン電源が投入されてから動作要求が無い状態で予め設定されている所定の待ち時間が経過すると、主要各部への電力の供給を削減または停止する省電力モードを備えており、省電力モードにおいては、メインCPU10への通電を遮断して、ASIC16のサブCPU21への通電を行ってサブCPU21が省電力モード時に必要な複合装置1の全体の制御を行うとともに、ASIC16内部においては、電源制御部34が、モジュールへのASIC電力APの電圧を複数の電圧(本実施例では、高電圧Vh、中電圧Vm、低電圧Vlの3つの電圧として、以下説明する。)に切り替え制御するとともに、供給電圧がそのモジュールの規定電圧に満たないで動作が停止しているモジュールにサブCPU21やDMAC等のバスマスタから誤ってまたは不正にアクセスが発生すると、代理応答部33がアクセスのあったモジュールに変わって代理応答することで、該アクセスに対する適正な対処を行う。
【0047】
すなわち、ASIC16の内部論理回路であるモジュールの最大動作周波数は、半導体プロセス、電源電圧、動作温度によって決定されるため、電源電圧が下がると、最大周波数が低下する特徴を有している。すなわち、ASIC16のモジュールの動作周波数を下げること、電源電圧を下げることができ、その結果、低消費電力でASIC16を動作させることができる。
【0048】
いま、ASIC16の搭載しているモジュールが、図3に示すように、動作可能状態と動作不可能状態にあるものとする。すなわち、ASIC電力APの供給電圧(コア電圧)が、高電圧Vhの1.2V、中電圧Vmの1.0V及び低電圧Vlの0.95Vに切り替えられる場合、DDR−SDRAMコントローラ24が、高電圧Vhの1.2Vでのみ動作可能、中電圧Vmの1.0V及び低電圧Vlの0.95Vでは、動作不可能、PCIeコントローラ31及びSATAコントローラ32が、高電圧Vhの1.2V及び中電圧Vmの1.0Vで動作可能、低電圧Vlの0.95Vで、動作不可能、その他のモジュールが、高電圧Vhの1.2V、中電圧Vmの1.0V及び低電圧Vlの0.95Vの全ての電圧で動作可能であるものとする。
【0049】
ASIC16の各モジュールが、図3に示したような規定電圧状態である場合、複合装置1の通常動作モードにおいて、電源制御部34が、電圧制御信号VSによって高電圧Vhを電源供給部40に要求すると、電源供給部40は、コア電圧が1.2Vの高電圧VhであるASIC電力をASIC16に供給する。この場合、ASIC16の全てのモジュールが動作可能状態となる。
【0050】
複合装置1は、待機状態において所定の待ち時間が経過して、第1省電力モードに移行すると、サブCPU21が、電圧制御部34の内部レジスタにアクセスし、コア電圧を中電圧Vmの1.00Vに下げる手順を実行する。このコア電圧を中電圧Vmに下げる手順では、電圧制御部34が、電圧制御信号VSによってASIC電力APのコア電圧を、中電圧Vmに下げる旨を電源供給部40に通知し、電源供給部40は、コア電圧が1.0Vの中電圧VmであるASIC電力をASIC16に供給する。この場合、図3から分かるように、ASIC16のモジュールのうち、DDR−SDRAMコントローラ24のみが動作不可能状態となり、他のモジュールは、動作可能状態となる。そこで、電源制御部34は、代理応答部33に、第1省電力モードにおいてDDR−SDRAMコントローラ24へのアクセスがサブCPU21等のバスマスタからあると、代理応答を開始させるために、DDR−SDRAMコントローラ24へのアクセスに対する代理応答を指示する制御信号BUS_CTLをアサートして、代理応答部33の動作を開始させる。
【0051】
さらに、複合装置1は、待機状態においてさらに待ち時間が経過して、第2省電力モードに移行すると、サブCPU21が、電圧制御部34の内部レジスタにアクセスし、コア電圧を低電圧Vlの0.95Vに下げる手順を実行する。電圧制御部34は、電圧制御信号VSによってASIC電力APのコア電圧を、低電圧Vlに下げる旨を電源供給部40に通知し、電源供給部40は、コア電圧が0.95Vの低電圧VlであるASIC電力をASIC16に供給する。この場合、図3から分かるように、ASIC16のモジュールのうち、DDR−SDRAMコントローラ24、PCIeコントローラ31及びSATAコントローラ32が動作不可能状態となり、その他のモジュールは、動作可能状態となる。そこで、電源制御部34は、代理応答部33に、第1省電力モードにおいてDDR−SDRAMコントローラ24、PCIeコントローラ31及びSATAコントローラ32のいずれかに対するアクセスがサブCPU21等のバスマスタからあると、代理応答を開始させるために、DDR−SDRAMコントローラ24、PCIeコントローラ31及びSATAコントローラ32へのアクセスに対する代理応答を指示する制御信号BUS_CTLをアサートして、代理応答部33の動作を開始させる。
【0052】
そして、代理応答部33は、省電力モードのときに、サブCPU21等のバスマスタがDDR−SDRAMコントローラ24のレジスタ空間またはメモリ空間へアクセスすると、アクセスしたバスマスタに対して、バスプロトコル上のNG応答、または、OK応答を返す代理応答を行う。
【0053】
特に、代理応答部33は、複合装置1の備えている複数の省電力モード(本実施例では、第1省電力モードと第2省電力モード)において、電圧制御部34からの制御信号BUS_CTLに応じて、動作不可能なモジュールと動作可能なモジュールを判定し、サブCPU21等のバスマスタがアクセスしてきたモジュールが動作不可能なモジュールであるか、動作可能なモジュールであるかを判定して、バスマスタに対してバスプロトコル上のNG応答、または、OK応答を返す代理応答を行う。
【0054】
例えば、代理応答部33は、第1省電力モードのときに、サブCPU21等のバスマスタが、第1省電力モードで動作不可能なDDR−SDRAMコントローラ24のレジスタ空間またはメモリ空間へアクセスすると、アクセスしてきたバスマスタに対してバスプロトコル上のNG応答を返す代理応答を行い、第2省電力モードのときに、サブCPU21等のバスマスタが、第2省電力モードで動作不可能なDDR−SDRAMコントローラ24、PCIeコントローラ31またはSATAコントローラ32のレジスタ空間またはメモリ空間へアクセスすると、アクセスしてきたバスマスタに対してバスプロトコル上のNG応答、または、OK応答を返す代理応答を行う。
【0055】
また、代理応答部33は、動作不可能なモジュールにアクセスしたバスマスタがサブCPU21であるか否かを判定し、動作不可能なモジュールにアクセスしたバスマスタがサブCPU21の場合には、サブCPU21に対して、NG応答を返す代理応答を行う。この場合、サブCPU21は、NG応答を受け取ると、内部でバスエラー例外を発生させ、例外処理ルーチンを実行する。
【0056】
さらに、代理応答部33は、動作不可能なモジュールにアクセスしたバスマスタがサブCPU21であるか否かを判定し、動作不可能なモジュールにアクセスしたバスマスタがサブCPU21以外のバスマスタ(例えば、DMAC)である場合には、該バスマスタに対して、NG応答を返すとともに、サブCPU21に対して例外処理割り込みを発生させてもよい。この場合、サブCPU21は、代理応答部33からの割り込みによって例外処理ルーチンを実行する。
【0057】
また、代理応答部33は、動作不可能なモジュールにアクセスしたバスマスタがサブCPU21であるか否かを判定し、動作不可能なモジュールにアクセスしたバスマスタがサブCPU21以外のバスマスタ(例えば、DMAC)である場合には、該バスマスタに対して、OK応答を返すとともに、サブCPU21に対して例外処理を発生させるようにしてもよい。この場合、サブCPU21は、代理応答部33からの割り込みによって例外処理ルーチンを実行する。
【0058】
さらに、代理応答部33は、バスマスタによる動作不可能なモジュールへのアクセスが、ライトアクセスであるか、リードアクセスであるかのアクセス判定を行って、ライトアクセスときには、OK応答を返し、リードアクセスのときには、NG応答を返す代理応答を行ってもよい。
【0059】
このように、本実施例の複合装置1は、ASIC16のそれぞれ独自の規定電圧を超える供給電圧の電力供給を受けることで動作可能状態となってバスマスタからのアクセスに応じて機能動作するDDR−SDRAMコントローラ24、PCIeコントローラ31、SATAコントローラ32その他の複数のモジュール(機能動作手段)に、電圧制御部34の制御によって、電源供給部40から複数の供給電圧を切り替えて電力供給し、該モジュールに対するバスマスタからのアクセスの有無を検出して、該規定電圧が該供給電圧よりも高いモジュールに対してバスマスタからアクセスがあると、代理応答部33が、該モジュールに代わって該アクセスに対して所定の代理応答を該バスマスタに行っている。
【0060】
したがって、複数の電圧に切り替えられる電力供給を受けて各種機能を実行しバスマスタからのアクセスに応じて動作する複数のモジュールのうち、ASIC電力APの電圧によって動作の停止しているモジュールへのバスマスタからのアクセスによって、内部バス35がロックして動作が停止することを防止することができるとともに、不正なメモリアクセスやレジスタアクセスによるデータ破壊や不正なデータの読み出しによる動作の継続を適切に防止することができる。
【0061】
また、本実施例の複合装置1は、代理応答部33が、ASIC16の複数のモジュールのうち、規定電圧が電源供給部40からの供給電圧よりも高いモジュールを判定して、該規定電圧が該供給電圧よりも高いモジュールに対してバスマスタからアクセスがあると、該バスマスタに対して代理応答を行う。
【0062】
したがって、供給電圧と規定電圧から動作停止状態となっているモジュールを適切に判断して、動作停止状態となっているモジュールに対してアクセスがあった場合にのみ、代理応答することができ、内部バス35がロックして動作が停止することを防止することができるとともに、不正なメモリアクセスやレジスタアクセスによるデータ破壊や不正なデータの読み出しによる動作の継続をより一層適切に防止することができる。
【0063】
さらに、本実施例の複合装置1は、ASIC16が、電源供給部40からの供給電圧が最も低い電圧状態においても各種制御処理を行うサブCPU21を備えており、代理応答部33が、規定電圧が供給電圧よりも高いモジュールに対してアクセスしたバスマスタがサブCPU21であるか否かを判定して、規定電圧が供給電圧よりも高いモジュールに対してアクセスしたバスマスタが該サブCPU21であると、該サブCPU21に対してNG応答を行っている。
【0064】
したがって、サブCPU21に対して、サブCPU21による不正なデータアクセスが発生したことを通知して、不正なメモリアクセスやレジスタアクセスによるデータ破壊を防止することができるとともに、不正なデータを読み出したことを通知して、不具合が発生した記録を残すことができ、不具合発生の解析に利用することができる。
【0065】
また、本実施例の複合装置1は、ASIC16が、電源供給部40からの供給電圧が最も低い電圧状態においても各種制御処理を行うサブCPU21を備えており、代理応答部33が、規定電圧が供給電圧よりも高いモジュールに対してアクセスしたバスマスタがサブCPU21であるか否かを判定して、規定電圧が供給電圧よりも高いモジュールに対してアクセスしたバスマスタがサブCPU21以外のバスマスタであると、該バスマスタに対してNG応答を行うとともに、該モジュールに不正アクセスがあった旨をサブCPU21に対して通知している。
【0066】
したがって、サブCPU21に対してバスマスタによる不正なデータアクセスが発生したことを通知して、不正なメモリアクセスやレジスタアクセスによるデータ破壊を防止することができるとともに、不正なデータを読み出したことを通知して、不具合が発生した記録を残すことができ、不具合発生の解析に利用することができる。
【0067】
さらに、本実施例の複合装置1は、ASIC16が、電源供給部40からの供給電圧が最も低い電圧状態においても各種制御処理を行うサブCPU21を備えており、代理応答部33が、規定電圧が供給電圧よりも高いモジュールに対してアクセスしたバスマスタがサブCPU21であるか否かを判定して、規定電圧が供給電圧よりも高いモジュールに対してアクセスしたバスマスタがサブCPU21以外のバスマスタであると、該バスマスタに対してOK応答を行うとともに、該モジュールに不正アクセスがあった旨をサブCPU21に対して通知している。
【0068】
したがって、サブCPU21以外の不正アクセスのあったモジュールに対してOK応答を返すことで、動作終了をさせて、不正なメモリアクセスやレジスタアクセスによるデータ破壊を防止することができるとともに、不正なデータを読み出したことを通知して、不具合が発生した記録を残すことができ、不具合発生の解析に利用することができる。
【0069】
また、本実施例の複合装置1は、代理応答部33が、電源供給部40からの供給電圧が規定電圧よりも低いモジュールに対してバスマスタから発生したアクセスがリードアクセスであるか否かを判定し、該供給電圧が該規定電圧よりも低いモジュールに対してバスマスタによって行われたアクセスがリードアクセスであると、該バスマスタに対してNG応答を行っている。
【0070】
したがって、リードアクセスの場合に限りNG応答を返して動作終了することを要求するバスマスタに対して、適切に動作を終了させることができ、不正なメモリアクセスやレジスタアクセスによるデータ破壊を防止することができる。
【0071】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0072】
本発明は、低電圧動作時に、低電圧では動作不可能なモジュールに対する不正アクセスに対して適切に対応するASIC等のデータ処理装置、該データ処理装置を搭載する画像形成装置、省電力制御方法、省電力制御プログラム及び記録媒体に利用することができる。
【符号の説明】
【0073】
1 複合装置
2 エンジン部
3 コントローラ
10 メインCPU
11 操作表示I/F
12 オプションI/F
13 メインメモリ(MEM)
14 メインROM
15 NVRAM
16 ASIC
17 サブROM
21 サブCPU
22 SRAM
23 ローカルバスコントローラ
24 DDR−SDRAMコントローラ
25 UART
26 GIO
27 割り込みコントローラ
28 タイマ部
29 ネットワークコントローラ
30 USBデバイスコントローラ
31 PCIeコントローラ
32 SATAコントローラ
33 代理応答部
34 電源制御部
35 内部バス
VS 電圧制御信号
AP ASIC電力
BUS_CTL 制御信号
【先行技術文献】
【特許文献】
【0074】
【特許文献1】特開2004−152321号公報

【特許請求の範囲】
【請求項1】
それぞれ独自の規定電圧を超える供給電圧の電力供給を受けることで動作可能状態となり、バスマスタからのアクセスに応じて機能動作する複数の機能動作手段と、
複数の供給電圧を切り替えて前記機能動作手段へ電力供給する電力供給手段と、
前記電力供給手段から前記機能動作手段への供給電圧を切り替え制御する電力制御手段と、
前記機能動作手段に対する前記バスマスタからのアクセスの有無を検出し、前記規定電圧が前記供給電圧よりも高い該機能動作手段に対して該バスマスタからアクセスがあると、該機能動作手段に代わって該アクセスに対して所定の代理応答を該バスマスタに行う代理応答手段と、
を備えていることを特徴とするデータ処理装置。
【請求項2】
前記データ処理装置は、
複数の前記機能動作手段のうち、前記規定電圧が前記供給電圧よりも高い機能動作手段を判定する判定手段を備え、
前記代理応答手段は、
前記規定電圧が前記供給電圧よりも高いと前記判定手段が判定した前記機能動作手段に対して前記バスマスタからアクセスがあると、該バスマスタに対して代理応答を行うことを特徴とする請求項1記載のデータ処理装置。
【請求項3】
前記データ処理装置は、
前記電力供給手段からの前記供給電圧が最も低い電圧状態においても各種制御処理を行うサブCPUと、
前記規定電圧が前記供給電圧よりも高い前記機能動作手段に対してアクセスした前記バスマスタが前記サブCPUであるか否かを判定する種別判定手段と、
を備え、
前記代理応答手段は、
前記規定電圧が前記供給電圧よりも高い前記機能動作手段に対してアクセスした前記バスマスタが前記サブCPUであると前記種別判定手段が判定すると、該サブCPUに対してNG応答を行うことを特徴とする請求項1または請求項2記載のデータ処理装置。
【請求項4】
前記データ処理装置は、
前記電力供給手段からの前記供給電圧が最も低い電圧状態においても各種制御処理を行うサブCPUと、
前記規定電圧が前記供給電圧よりも高い前記機能動作手段に対してアクセスした前記バスマスタが前記サブCPUであるか否かを判定する種別判定手段と、
を備え、
前記代理応答手段は、
前記規定電圧が前記供給電圧よりも高い前記機能動作手段に対してアクセスした前記バスマスタが前記サブCPU以外のバスマスタであると前記種別判定手段が判定すると、該バスマスタに対してNG応答を行うとともに、該機能動作手段に不正アクセスがあった旨を該サブCPUに対して通知することを特徴とする請求項1または請求項2記載のデータ処理装置。
【請求項5】
前記データ処理装置は、
前記電力供給手段からの前記供給電圧が最も低い電圧状態においても各種制御処理を行うサブCPUと、
前記規定電圧が前記供給電圧よりも高い前記機能動作手段に対してアクセスした前記バスマスタが前記サブCPUであるか否かを判定する種別判定手段と、
を備え、
前記代理応答手段は、
前記規定電圧が前記供給電圧よりも高い前記機能動作手段に対してアクセスした前記バスマスタが前記サブCPU以外のバスマスタであると前記種別判定手段が判定すると、該バスマスタに対してOK応答を行うとともに、該機能動作手段に不正アクセスがあった旨を該サブCPUに対して通知することを特徴とする請求項1または請求項2記載のデータ処理装置。
【請求項6】
前記データ処理装置は、
前記供給電圧が前記規定電圧よりも低い前記機能動作手段に対して前記バスマスタから発生したアクセスがリードアクセスであるか否かを判定するアクセス判定手段を備え、
前記代理応答手段は、
前記供給電圧が前記規定電圧よりも低い前記機能動作手段に対して前記バスマスタによって行われたアクセスが前記リードアクセスであると前記アクセス判定手段が判定すると、該バスマスタに対してNG応答を行うことを特徴とする請求項1または請求項2記載のデータ処理装置。
【請求項7】
データ処理部でデータ処理されたデータに基づいて被記録媒体に画像形成する画像形成装置において、前記データ処理部として、請求項1から請求項6のいずれかに記載のデータ処理装置を搭載していることを特徴とする画像形成装置。
【請求項8】
それぞれ独自の規定電圧を超える供給電圧の電力供給を受けることで動作可能状態となってバスマスタからのアクセスに応じて機能動作する複数の機能動作手段に、複数の供給電圧を切り替えて電力供給する電力供給処理ステップと、
前記電力供給処理ステップによる前記機能動作手段への供給電圧を切り替え制御する電力制御処理ステップと、
前記機能動作手段に対する前記バスマスタからのアクセスの有無を検出し、前記規定電圧が前記供給電圧よりも高い該機能動作手段に対して該バスマスタからアクセスがあると、該機能動作手段に代わって該アクセスに対して所定の代理応答を該バスマスタに行う代理応答処理ステップと、
を有していることを特徴とする省電力制御方法。
【請求項9】
コンピュータに、
それぞれ独自の規定電圧を超える供給電圧の電力供給を受けることで動作可能状態となってバスマスタからのアクセスに応じて機能動作する複数の機能動作手段に、複数の供給電圧を切り替えて電力供給する電力供給処理と、
前記電力供給処理による前記機能動作手段への供給電圧を切り替え制御する電力制御処理と、
前記機能動作手段に対する前記バスマスタからのアクセスの有無を検出し、前記規定電圧が前記供給電圧よりも高い該機能動作手段に対して該バスマスタからアクセスがあると、該機能動作手段に代わって該アクセスに対して所定の代理応答を該バスマスタに行う代理応答処理と、
を実行させることを特徴とする省電力制御プログラム。
【請求項10】
請求項9記載の省電力制御プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−116044(P2012−116044A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−266377(P2010−266377)
【出願日】平成22年11月30日(2010.11.30)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】