JP2014075002A - 情報処理装置及びその制御方法、並びにプログラム - Google Patents
情報処理装置及びその制御方法、並びにプログラム Download PDFInfo
- Publication number
- JP2014075002A JP2014075002A JP2012221601A JP2012221601A JP2014075002A JP 2014075002 A JP2014075002 A JP 2014075002A JP 2012221601 A JP2012221601 A JP 2012221601A JP 2012221601 A JP2012221601 A JP 2012221601A JP 2014075002 A JP2014075002 A JP 2014075002A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- wideio
- power consumption
- channel group
- memory channel
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3284—Power saving in printer
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
【課題】情報処理装置でWideIOのメモリデバイスを使用する場合に、アクセス性能を劣化させることなくメモリデバイスの動作周波数をより低くして、消費電力をより低減することを可能にする技術を提供する。
【解決手段】本発明の情報処理装置は、WideIOメモリデバイスにおける使用可能なメモリチャネルの取りうる組み合わせから成るメモリチャネル群のうち、動作周波数を減少させても、必要なデータ転送レートを維持できるメモリチャネル数のメモリチャネル群を選択する。その際、MFP100は、各メモリチャネル群のメモリチャネル数と、ジョブの実行に必要となる転送レートとに応じた動作周波数及び動作電圧で、各メモリチャネル群を使用した場合のWideIOメモリデバイスの消費電力を評価する。MFP100は、消費電力の評価の結果、消費電力が最も低くなるメモリチャネル群を選択して、ジョブの実行に使用する。
【選択図】図8
【解決手段】本発明の情報処理装置は、WideIOメモリデバイスにおける使用可能なメモリチャネルの取りうる組み合わせから成るメモリチャネル群のうち、動作周波数を減少させても、必要なデータ転送レートを維持できるメモリチャネル数のメモリチャネル群を選択する。その際、MFP100は、各メモリチャネル群のメモリチャネル数と、ジョブの実行に必要となる転送レートとに応じた動作周波数及び動作電圧で、各メモリチャネル群を使用した場合のWideIOメモリデバイスの消費電力を評価する。MFP100は、消費電力の評価の結果、消費電力が最も低くなるメモリチャネル群を選択して、ジョブの実行に使用する。
【選択図】図8
Description
本発明は、CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置及びその制御方法、並びにプログラムに関するものである。
マイクロプロセッサ等のCPUを備えた情報処理装置では、OSや各種アプリケーションを実行するためのデータの保存や、画像処理を実行するためのデータの一時保存のためにDRAMを用いることが多い。このDRAMは、CPUやSOC(System on a Chip)等に接続されて使用される。また近年、情報処理装置の多機能化・高機能化に伴って、必要となるDRAMのメモリ帯域が増加している。このため、DDR3やDDR4等の規格では、メモリのアクセス時のクロックの周波数を高くすることで、メモリ帯域を増加させている。またそれ以外に、CPUやASIC(Application Specific Integrated Circuit)に接続するDRAMチャネルを複数備えることでメモリ帯域を確保している。しかし、クロック周波数の高周波数化や複数のメモリチャネルの採用によって、消費電力が増加するという新たな問題が発生する。
そこで現在注目されているのが次世代DRAM規格であるWideIOである。WideIOは、TSV(Through Silicon Via)による3D積層技術を使い、SOCダイの上にDRAMチップを重ねて構成される。この特徴としては、512ビットの広いデータ幅で最大12.8GB/s(Gバイト/秒)以上の広帯域が得られるとともに、アクセス周波数を低く抑えているので低消費電力であることが挙げられる。また、TSVを採用したことで、従来のPoP(Package on Package)に比べてパッケージサイズを薄く小さくできる。更に、SOCパッケージ内にメモリを積層することによる熱対策として、メモリの温度を検出する温度センサを内蔵し、その検出した温度に応じてセルフリフレッシュ・レートを変化させている。また512ビットのデータ幅を、それぞれ128ビットの4つのチャネルに分割し、各チャネルを独立して制御できるように構成されている。例えば、チャネル1とチャネル2とをセルフリフレッシュ状態にし、チャネル3とチャネル4とを、通常のメモリアクセスに使用する等の使い方ができる。特許文献1には、このようなWideIOの基本的な構造や基本的なアクセス方法が記載されている。
WideIOの積層化構造は、構造的に熱の影響を受けやすい。例えば、SOCダイの特定領域と、この特定領域の上層部に位置するWideIOのDRAMチップとを同時に活性化すると、その活性化された部分の温度が局所的に上昇することがある。このような温度の上昇に伴って、半導体のリーク電流が指数関数的に増加し、消費電力が増加してしまう。
ここで、DRAMは、各セルが備えるコンデンサに電荷を保存することでデータの記憶を行っている。半導体のリーク電流によってコンデンサが自然に放電するため、DRAMは、記憶しているデータを維持するためには、リフレッシュ動作を行うことによってコンデンサの電荷を充電する必要がある。この電荷の放電はDRAMの温度に依存し、温度が高いほど放電スピードが速い。したがって、DRAMの温度が高くなると、リフレッシュ頻度を増加させる必要がある。その結果、リフレッシュ動作による消費電力の増加を招くとともに、リフレッシュ動作中はDRAMにアクセスできないことに起因して、DRAMのアクセス性能の劣化を招いてしまう。
また、回路の発熱量は、一般に、回路の消費電力に比例する。熱の影響を受けやすいWideIOのDRAMをメモリデバイスとして使用する場合には、他のメモリデバイスを使用する場合よりも、回路の発熱量が抑えるように消費電力の増加に対処することが必要となる。
そこで、WideIOでは、各メモリチャネルを独立して制御可能であるという特徴を利用して、省電力モードの動作時だけでなく、通常動作モードの動作時にも各メモリチャネルを積極的に制御することで、より消費電力を低減することが想定される。例えば、待機状態では、セルフリフレッシュ・モード等の省電力モードで動作し、何らかの処理の実行が必要になった際に、必要なメモリチャネルのみを省電力モードから復帰させるといった制御が想定される。
WideIOのDRAMに対してこのような制御を行う際に、更なる省電力化を図るためには、DRAMの動作周波数をより低くすることが必要となる。しかし、単に動作周波数を低下させてしまうと、メモリ帯域が減少し、DRAMのアクセス性能が劣化するという問題がある。このようなDRAMのアクセス性能の劣化によって、SOCパッケージを含むシステムの性能が劣化し、製品性能が劣化してしまう。
本発明は、上述の問題に鑑みてなされたものである。本発明は、情報処理装置でWideIOのメモリデバイスを使用する場合に、アクセス性能を劣化させることなくメモリデバイスの動作周波数をより低くして、消費電力をより低減することを可能にする技術を提供することを目的としている。
上記目的を達成するために、本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
それぞれが個別の機能を実行する複数の機能モジュールと、
機能の実行が指示されると、前記WideIOメモリデバイスに含まれる複数のメモリに対応する複数のメモリチャネルの使用状況に基づいて、使用可能な1つ以上のメモリチャネルを特定する特定手段と、
それぞれが、前記特定手段によって特定されたメモリチャネルの取りうる組み合わせから成る複数のメモリチャネル群のそれぞれについて、各メモリチャネル群のメモリチャネル数と前記機能の実行に必要となるデータ転送レートとに応じた動作電圧及び動作周波数で各メモリチャネル群を使用する場合の、前記WideIOメモリデバイスの消費電力を評価する評価手段と、
複数の前記メモリチャネル群のうち、前記WideIOメモリデバイスの消費電力が最も低くなるメモリチャネル群を、前記機能に対応する機能モジュールが使用するメモリチャネル群として選択する選択手段と
を有することを特徴とする。
CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
それぞれが個別の機能を実行する複数の機能モジュールと、
機能の実行が指示されると、前記WideIOメモリデバイスに含まれる複数のメモリに対応する複数のメモリチャネルの使用状況に基づいて、使用可能な1つ以上のメモリチャネルを特定する特定手段と、
それぞれが、前記特定手段によって特定されたメモリチャネルの取りうる組み合わせから成る複数のメモリチャネル群のそれぞれについて、各メモリチャネル群のメモリチャネル数と前記機能の実行に必要となるデータ転送レートとに応じた動作電圧及び動作周波数で各メモリチャネル群を使用する場合の、前記WideIOメモリデバイスの消費電力を評価する評価手段と、
複数の前記メモリチャネル群のうち、前記WideIOメモリデバイスの消費電力が最も低くなるメモリチャネル群を、前記機能に対応する機能モジュールが使用するメモリチャネル群として選択する選択手段と
を有することを特徴とする。
本発明によれば、情報処理装置でWideIOのメモリデバイスを使用する場合に、アクセス性能を劣化させることなくメモリデバイスの動作周波数をより低くして、消費電力をより低減することを可能にする技術を提供できる。
以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。以下の実施形態では、本発明を適用した情報処理装置の一例として、スキャン、プリンタ、コピーなどの複数の機能を有するMFP(デジタル複合機)を例に説明する。
<MFP100の構成>
図1は、本実施形態に係るMFP(デジタル複合機)の全体構成を示すブロック図である。
図1は、本実施形態に係るMFP(デジタル複合機)の全体構成を示すブロック図である。
MFP100は、画像入力デバイスであるスキャナ116と画像出力デバイスであるプリンタエンジン117とを有し、これらはデバイスインターフェース(I/F)107を介してシステムバス118に接続されている。MFP100は、CPU101の制御の下に、スキャナ116による原稿の画像の読み取りや、プリンタエンジン117による印刷を行うことができる。またMFP100は、LAN114や公衆回線(PSTN)115と接続しており、これらを介してLANや公衆回線に接続された外部機器のデバイス情報や画像データの入出力を行うことができる。
CPU101は、ROM106に記憶されたブートプログラムによりHDD105からWideIO−SDRAM113に展開されたプログラムを実行することにより、このMFP100の動作を制御している。CPU101は、例えば、電源電圧制御部119を介してMFP100の電源制御を行い、MFP100内の各デバイスへの電源電圧(動作電圧)の供給を制御する。また、CPU101は、動作クロック制御部120を介してMFP100のクロック制御を行い、MFP100内の各デバイスへ供給するクロック信号の周波数(クロック周波数または動作周波数)を制御する。
操作部102は、キーボードやタッチパネル等の入力部や表示部を有し、ユーザからの指示を受付け、また表示部によりユーザへのメッセージや処理の結果などを表示する。ネットワークI/F103は、例えばLANカード等で実現され、LAN114を介して外部機器との間でデバイス情報や画像データの入出力を行う。モデム104は、公衆回線115を介して外部機器との間で制御情報や画像データの入出力を行う。HDD(ハードディスクドライブ)105は、OSや各種アプリケーションプログラム等を記憶し、また入力された画像データ等を格納する。ROM106は、ブートプログラムや各種データを記憶している。デバイスI/F107は、スキャナ116やプリンタエンジン117と接続し、これらスキャナ116やプリンタエンジン117とシステムバス118との間で画像データの転送処理を行う。
MFP100は、図1に示すように、それぞれ個別の画像処理機能を実行する複数の画像処理部108〜111(編集用画像処理部108、プリント画像処理部109、スキャン画像処理部110、及びRIP(ラスタイメージプロセッサ)111)を備えている。編集用画像処理部108は、画像データの回転や変倍、色処理、トリミング・マスキング、2値変換、多値変換、白紙判定等の各種画像処理を行う。プリント画像処理部109は、プリンタエンジン117に出力する画像データに対して、そのプリンタエンジン117に応じた画像処理等を行う。スキャン画像処理部110は、スキャナ116から入力される画像データに対して、補正、加工、編集等の各種処理を行う。RIP111は、ページ記述言語(PDL)コードをイメージデータに展開する。尚、本実施形態では、画像処理部108〜111は、それぞれが個別の機能を実行する複数の機能モジュールの一例である。
WideIOコントローラ112は、例えばCPU101、画像処理部108〜110等からのメモリアクセスコマンドを、WideIO−SDRAM113が解釈可能なコマンドに変換して、WideIO−SDRAM113に対してアクセスを行う。WideIO−SDRAM113は、CPU101により実行されるプログラムを格納し、またCPU101が動作するためのシステムワークメモリを提供している。また、WideIO−SDRAM113は、入力された画像データを一時記憶するための画像メモリでもある。システムバス118は、図1に示すように、上述した各デバイスとCPU101とを接続し、制御信号やデータ等を転送している。
電源電圧制御部119は、MFP100内の各デバイスへ供給される電源電圧を制御する。各デバイスに供給すべき電源電圧は、MFP100の設計時に予め決定されているが、CPU101が電源電圧制御部119に電源電圧変更命令を与えることによって、MFP100の動作中の変更も可能である。動作クロック制御部120は、MFP100内の各デバイスへ供給されるクロック信号を制御する。各デバイスに供給すべきクロック信号のクロック周波数は、MFP100の設計時に予め決定されているが、CPU101が動作クロック制御部120にクロック周波数変更命令を与えることによって、MFP100の動作中の変更も可能である。
<WideIO−SDRAM113の構造>
図2は、本実施形態に係るWideIO−SDRAM113の構造を示す模式図で、図2(A)はWideIO−SDRAMとSOCダイを側面から見た側面図であり、図2(B)は上側から見た上面図である。
図2は、本実施形態に係るWideIO−SDRAM113の構造を示す模式図で、図2(A)はWideIO−SDRAMとSOCダイを側面から見た側面図であり、図2(B)は上側から見た上面図である。
SOCダイ201は、本実施形態では、例えば、CPU101、デバイスI/F107、RIP111、画像処理部108〜111等を備えている。WideIO−SDRAMチップ202〜205は、SOCダイ201の上に積層され、シリコン貫通ビア(TSV)206によりSOCダイ201と接続されている。WideIO−SDRAMチップは、必要とするメモリ容量に応じて最大4層まで積層することができ、図2(A)は4層を積層した例を示す。SOCパッケージ207は、SOCダイ201とWideIO−SDRAMチップ202〜205とを1つのパッケージに収容したものである。WideIO−SDRAM I/F208は、図2(B)に示されるように、SOCダイ201及びWideIO−SDRAMチップ202〜205の中央部に配置される。
<WideIOコントローラ112の構成>
図3は、本実施形態に係るWideIOコントローラ112の内部構成を示すブロック図である。
図3は、本実施形態に係るWideIOコントローラ112の内部構成を示すブロック図である。
図3において、WideIOコントローラ112は、図1に示したようにシステムバス118とWideIO−SDRAM113との間に接続されている。WideIOコントローラ112は、図1では図示していない温度センサ309〜312と接続されている。
SDRAM301〜304は、WideIO−SDRAM113に設けられた4つのメモリであり、図3に示すように、各々が専用のインターフェース(I/F)を備える。これらの専用I/Fは、上述したようにSOCダイ201に積層されるWideIO−SDRAMチップ202〜205の4つのチャネル(メモリチャネル)に相当する。また、これらの専用I/Fは、図2(B)のWideIO−SDRAM I/F208に相当している。メモリコントローラ305〜308は、SDRAM301〜304に対して、個別に電源電圧及びクロック信号の供給及び停止等の制御を実行可能である。メモリコントローラ305〜308のそれぞれは、システムバス118からのメモリアクセスコマンドを、接続されている対応するSDRAMに対して、そのSDRAMが解釈可能なコマンドに変換してアクセスする。尚、本実施形態において、WideIO−SDRAM113(SDRAM301〜304)は、CPUを含むSOCダイに積層されるWideIOメモリデバイスの一例である。
温度センサ309〜312は、SDRAM301〜304のうち、対応するSDRAMの温度を計測している。温度取得I/F315は、SDRAM301〜304の温度を示す温度情報を、温度センサ309〜312から取得する。
レジスタI/F313は、不図示のレジスタ専用バスを経由して、CPU101からのアクセスを受け付ける。レジスタ314は、温度取得I/F315が温度センサ309〜312から取得した各温度情報や、CPU101から設定されるメモリコントローラ305〜308の各動作モードの設定情報を記憶する。温度取得I/F315は、後述する温度情報格納レジスタ402(図4)からの温度情報の取得要求を検知すると、後述する温度センサ指定レジスタ401(図4)で指定された温度センサに対して、温度情報を取得するためのコマンドを発行する。これにより、温度取得I/F315は、当該温度センサから温度情報を取得する。温度取得I/F315は、取得した温度情報を、後述する温度情報格納レジスタ402へ出力(格納)する。
<WideIOコントローラ112内のレジスタ314の構成>
図4は、本実施形態に係るレジスタ314の構成を説明する図である。
図4は、本実施形態に係るレジスタ314の構成を説明する図である。
レジスタ314は、温度センサ指定レジスタ401、温度情報格納レジスタ402、及びメモリコントローラ動作モード設定レジスタ403〜406を有している。温度センサ指定レジスタ401は、CPU101が温度センサの温度情報を取得したい場合に、その対象となる温度センサを指定するための情報を格納するレジスタである。本実施形態においては、4個の温度センサを備える例を用いて説明しているため、2ビットのレジスタで構成され、2ビットの各状態によって4個の温度センサのそれぞれを特定することができる。
温度情報格納レジスタ402は、CPU101からの温度情報の取得要求が入力されると、温度センサ指定レジスタ401で指定された温度センサの温度情報を取得するように温度取得I/F315に対して要求する。また、温度情報格納レジスタ402は、温度取得I/F315から取得した温度情報を格納し、CPU101からの温度情報の読み出し要求に応じて、そこに格納している温度情報を出力する。ここで、図9は、本実施形態において、温度センサ309〜312から取得されたSDRAM301〜304の温度を示す温度情報の一例を示す図である。図9では、温度センサ312によって計測された、メモリチャネル4に対応するSDRAM304の温度が最も高く、温度センサ309によって計測された、メモリチャネル1に対応するSDRAM301の温度が最も低いことを示している。
メモリコントローラ動作モード設定レジスタ403〜406は、メモリコントローラ305〜308の動作モードをそれぞれ設定するためのレジスタである。メモリコントローラ動作モード設定レジスタ403〜406のそれぞれには、SDRAM301〜304のそれぞれのメモリ制御に関する設定値が格納される。ここでメモリ制御に関する設定値としては、例えば、SDRAM301〜304のリフレッシュ動作の時間間隔、メモリアクセスに関するタイミングパラメータ等がある。
図5は、本実施形態に係るSDRAM301〜304に対して割り当てられたアドレス領域を示すアドレスマップを説明する図である。
本実施形態においては、SDRAM301にはアドレス領域1が、SDRAM302にはアドレス領域2が、SDRAM303にはアドレス領域3が、SDRAM304にはアドレス領域4がそれぞれ割り当てられているものとする。ただし、各アドレス領域のサイズは、図5に図示したものに限定されるものではない。尚、前述したCPU101のプログラムは、SDRAM301のアドレス領域1に展開される。
<SOCパッケージ207と温度センサ309〜312の配置>
図6は、図2のWideIO−SDRAMチップ202〜205とSOCダイ201の物理的な位置関係を、よりわかり易く説明するSOCパッケージ207の俯瞰図である。
図6は、図2のWideIO−SDRAMチップ202〜205とSOCダイ201の物理的な位置関係を、よりわかり易く説明するSOCパッケージ207の俯瞰図である。
SOCダイ201は、CPU101、デバイスI/F107、RIP111、前述の画像処理部108〜110等を備えている。SOCパッケージ207の平面を4分割した時の左上、右上、右下、左下が、それぞれ図2(B)のチャネル(メモリチャネル)1〜4に相当する。また同様に、4分割した領域は、図3のSDRAM301〜304にも相当している。前述したように、WideIO−SDRAM113は、SOCダイ201の上に積層されるメモリである。また、本実施形態においては、SDRAM301〜304の各デバイスは、図6のようにSOCダイ201を4分割した領域の各上部にそれぞれ4層で積層されているものとする。SDRAM301〜304の各デバイスには、それぞれのメモリの内部温度が計測できるように、温度センサ309〜312が内蔵されている。ただし、各SDRAMの配置や温度センサの配置は図6に限定されるものではなく、一例に過ぎない。また、温度センサ309〜312は、SOCダイ201の内部に設けられていてもよいし、あるいは、WideIO−SDRAM113のメモリ内部に設けられていてもよい。
<温度情報の取得処理>
図7は、本実施形態に係るMFP100において、CPU101が、温度センサ309〜312で計測したSDRAM301〜304の温度を示す温度情報を取得するための処理の手順を示すフローチャートである。本実施形態では、MFP100は、4個の温度センサを備えているため、図7のフローチャートでは、4個の温度センサ309〜312から温度情報を取得する処理について示している。尚、この処理を実行するためのプログラムは、HDD105に予めインストールされている。この処理は、CPU101がHDD105からSDRAM301にプログラムを展開し、展開したプログラムを実行することによって、MFP100上で実現される。
図7は、本実施形態に係るMFP100において、CPU101が、温度センサ309〜312で計測したSDRAM301〜304の温度を示す温度情報を取得するための処理の手順を示すフローチャートである。本実施形態では、MFP100は、4個の温度センサを備えているため、図7のフローチャートでは、4個の温度センサ309〜312から温度情報を取得する処理について示している。尚、この処理を実行するためのプログラムは、HDD105に予めインストールされている。この処理は、CPU101がHDD105からSDRAM301にプログラムを展開し、展開したプログラムを実行することによって、MFP100上で実現される。
先ずS701で、CPU101は、温度センサ指定レジスタ401に「00」を書き込む。本実施形態では、SOCパッケージ207は4個の温度センサを備える。このため、CPU101は、各温度センサを指定するために、次のように各温度センサと温度センサ指定レジスタ401の設定値とを対応付けるものとする。即ち、温度センサ指定レジスタ401の値「00」、「01」、「10」及び「11」は、それぞれ温度センサ309〜312に対応付けられるものとする。したがって、S701では、温度センサ309を指定するために、CPU101は温度センサ指定レジスタ401に「00」を書き込む。
次にS702に進み、CPU101は、温度情報格納レジスタ402に対して温度情報の読み出し要求を発行して、温度センサ309で計測されたSDRAM301の温度を示す温度情報を取得する。ここで、上述したように、温度情報格納レジスタ402は、CPU101からの読み出し要求を検知すると、温度センサ指定レジスタ401で指定されている温度センサから温度情報を取得する。更に、温度情報格納レジスタ402は、取得した温度情報を、CPU101からの読み出し要求に対する応答データとして、CPU101に出力する。このようにして、S702でCPU101は、温度センサ309からの温度情報を取得することになる。
次にS703に進み、CPU101は、温度センサ310で計測されたSDRAM302の温度を示す温度情報を取得するために、温度センサ指定レジスタ401に「01」を書き込む。その後S704に進み、CPU101は、温度情報格納レジスタ402に対して温度情報の読み出し要求を発行して、温度センサ310からの温度情報を取得する。
次にS705に進み、CPU101は、温度センサ311で計測されたSDRAM303の温度を示す温度情報を取得するために、温度センサ指定レジスタ401に「10」を書き込む。その後S706に進み、CPU101は、温度情報格納レジスタ402に対して温度情報の読み出し要求を発行して、温度センサ311からの温度情報を取得する。
次にS707に進み、CPU101は、温度センサ312で計測されたSDRAM304の温度を示す温度情報を取得するために、温度センサ指定レジスタ401に「11」を書き込む。その後S708に進み、CPU101は、温度情報格納レジスタ402に対して温度情報の読み出し要求を発行して、温度センサ312からの温度情報を取得する。
以上の処理により、CPU101は、温度センサ309〜312で計測された、SDRAM301〜304の温度を示す温度情報を、温度センサ309〜312から取得できる。
<WideIOメモリデバイスのメモリチャネルの制御>
本実施形態に係るMFP100は、WideIOメモリデバイスへのアクセス性能を低下させることなく当該メモリデバイスの消費電力を低減することで、更なる省電力化を実現するための処理を、図8のフローチャートに示す手順に従って実行する。尚、上述のように、WideIO−SDRAM113(SDRAM301〜304)がWideIOメモリデバイスに相当する。
本実施形態に係るMFP100は、WideIOメモリデバイスへのアクセス性能を低下させることなく当該メモリデバイスの消費電力を低減することで、更なる省電力化を実現するための処理を、図8のフローチャートに示す手順に従って実行する。尚、上述のように、WideIO−SDRAM113(SDRAM301〜304)がWideIOメモリデバイスに相当する。
本実施形態では、CPU101は、ジョブ(機能)の実行に使用するメモリチャネルの数及び組み合わせと、使用する各メモリチャネルに対応するSDRAMの動作電圧(電源電圧)及び動作周波数(クロック周波数)とを制御する。具体的には、CPU101は、それぞれが、使用可能なメモリチャネルの取りうる組み合わせから成る複数のメモリチャネル群のそれぞれについて、メモリチャネル群に含まれるメモリチャネルを使用した場合のWideIOメモリデバイスの消費電力を評価する。その際、CPU101は、メモリチャネル群のメモリチャネル数と、ジョブの実行に必要となる転送レートとに応じた動作周波数及び動作電圧で、各メモリチャネル群を使用した場合のWideIOメモリデバイスの消費電力を評価する。更に、CPU101は、消費電力の評価の結果、消費電力が最も低くなるメモリチャネル群(即ち、1つ以上のメモリチャネルから成る組み合わせ)を選択して、ジョブの実行に使用する。このような制御によってWideIOメモリデバイスの消費電力を低減することで、WideIOメモリデバイス(WideIO−SDRAM113)及びMFP100の更なる省電力化を実現する。
図8は、本実施形態に係るMFP100において、CPU101が、コピー、プリント等のジョブを実行する際に、メモリチャネルの制御及びジョブの実行を行うための処理の手順を示すフローチャートである。CPU101は、操作部102またはネットワークI/F103を介してコピー、プリント等のジョブを受け付けると、ジョブの実行を開始する前に、図8の処理を実行する。尚、この処理を実行するためのプログラムは、HDD105に予めインストールされている。この処理は、CPU101がHDD105からSDRAM301にプログラムを展開し、展開したプログラムを実行することによって、MFP100上で実現される。
ここで、画像処理部108〜111(機能モジュール)がそれぞれの機能(画像処理機能)を実行するために必要なデータ転送レートは、MFP100の設計時に予め決定されている。かかるデータ転送レートは、画像処理部108〜111の機能の実行が競合した場合であっても、MFP100のシステム性能の要求条件が満たされるように決定されている。また、画像処理部108〜111がそれぞれ処理を実行するために必要なメモリ領域の容量も、MFP100の設計時に予め決定されている。これらのデータ転送レート及びメモリ容量の情報は、ROM106に予め格納されており、必要に応じてCPU101によってROM106から読み出されて使用される。
CPU101は、ジョブを受け付けると、CPU101は、図8の処理の実行を開始する。以下では一例として、プリントジョブがMFP100に投入され、CPU101が、当該プリントジョブに基づいて、プリント画像処理部109に所定の画像処理を実行させる際の処理について説明する。即ち、以下の説明は、投入されたプリントジョブによって、プリント画像処理部109(機能モジュール)の機能の実行が指示された場合に相当する。
S801で、CPU101は、入力されたジョブの設定データに基づいて、当該ジョブに従った処理の実行に必要となるデータ転送レート及びメモリ容量の情報を取得する。これらの情報は、上述のように、ROM106から必要な情報を読み出すことによって、ジョブの実行ごとに取得できる。
次に、S802で、CPU101は、ジョブを受け付けた(即ち、ジョブの実行要求を受けた)時点における、WideIOメモリデバイスに含まれる複数のメモリ(SDRAM301〜304)に対応する複数のメモリチャネル1〜4の使用状況を確認する。これにより、CPU101は、メモリチャネル1〜4のうちで、アクセス可能な(使用可能な)1つ以上のメモリチャネルを特定する。本実施形態では、CPU101は、一例として、メモリ使用状況を管理しているメモリマネージャが保持する情報を確認することによって、S802の処理を実行する。メモリマネージャは、CPU101上で動作するソフトウェアであり、メモリデバイス(WideIO−SDRAM113)を使用する画像処理部によって確保されているメモリ領域を管理している。CPU101は、メモリマネージャが保持している、各画像形成部が確保しているメモリ領域に関する情報を参照することで、いずれのメモリチャネルが未使用であるか(即ち、使用可能であるか)を確認する。
次に、S803で、CPU101は、S802で確認した使用状況に基づいて、複数のメモリチャネルを使用可能であるか否かを判定する。CPU101は、複数のメモリチャネルを使用可能と判定した場合、処理をS804に進め、1つのメモリチャネルのみを使用可能と判定した場合、処理をS816に進める。
S804で、CPU101は、温度センサ309〜312によって計測された各メモリ(SDRAM301〜304)の温度を示す温度情報を取得する。なお、S804における温度情報の取得は、上述のように、図7のフローチャートに従って実行される。ここでは、一例として、図9に示す温度情報が取得されたものとする。尚、後述するS805〜S810で、温度情報を用いずにWideIO−SDRAM113の消費電力を評価する場合には、CPU101は、S804を実行する必要はない。
(消費電力の評価)
S804に続き、CPU101は、S805〜S810の処理を実行する。S805〜S810で、CPU101は、使用可能なメモリチャネルの取りうる組み合わせから成る複数のメモリチャネル群のそれぞれについて、メモリチャネル群に含まれるメモリチャネルを使用した場合のWideIO−SDRAM113の消費電力を評価する。即ち、使用可能なメモリチャネルの数に応じて取りうるメモリチャネルの組み合わせのそれぞれについて、使用可能なメモリチャネルを使用した場合のWideIO−SDRAM113の消費電力を評価する。更に、その後のS811で、各メモリチャネル群に対応する消費電力の評価結果に基づいて、実際にジョブの実行に使用するメモリチャネル群を選択する。
S804に続き、CPU101は、S805〜S810の処理を実行する。S805〜S810で、CPU101は、使用可能なメモリチャネルの取りうる組み合わせから成る複数のメモリチャネル群のそれぞれについて、メモリチャネル群に含まれるメモリチャネルを使用した場合のWideIO−SDRAM113の消費電力を評価する。即ち、使用可能なメモリチャネルの数に応じて取りうるメモリチャネルの組み合わせのそれぞれについて、使用可能なメモリチャネルを使用した場合のWideIO−SDRAM113の消費電力を評価する。更に、その後のS811で、各メモリチャネル群に対応する消費電力の評価結果に基づいて、実際にジョブの実行に使用するメモリチャネル群を選択する。
WideIO−SDRAM113の消費電力の評価は、例えば図11に示すような、ROM106に予め格納されたテーブルを参照することによって実現できる。図11は、ROM106に格納されている、WideIO−SDRAM113の消費電力の評価に使用されるテーブルの一例である。当該テーブルは、データ転送レートと使用するメモリチャネル数とに応じた、メモリチャネルに対応するメモリ(SDRAM301〜304)の動作電圧及び動作周波数(クロック周波数)に関する情報を含んでいる。なお、図11に示すテーブルは、プリントジョブが投入され、プリント画像処理部109の機能の実行が指示された場合に用いられるテーブルの一例に相当する。
図11に示すテーブルの動作周波数は、使用可能なメモリチャネル数ごとに、必要なデータ転送レートを満たすように予め(MFP100の設計時に)算出される。また、動作電圧は、消費電力の低減のために、算出された動作周波数に対して設定可能な動作電圧のうちで最も低い電圧に予め決定されている。更に、このようにして決定された動作周波数及び動作電圧に対応する動作電力(消費電力)を予め算出し、算出した動作電力を、使用メモリチャネル数、動作周波数及び動作電圧に対応付けて、図11に示すテーブルに保持してある。したがって、CPU101は、必要なデータ転送レート及び使用可能なメモリチャネル数に対応する消費電力を、ROM106に格納されたテーブル(図11)を参照することによって取得できる。
尚、図11では、WideIO−SDRAM113の消費電力が、データ転送レート及び使用するメモリチャネル数に依存する一方、同一のメモリチャネル数に対して取りうるメモリチャネルの組み合わせには依存しない場合を示している。例えば、使用するメモリチャネル数が3の場合、4つのメモリチャネルのうちの取りうる3つのメモリチャネルの組み合わせは6パターン存在するが、そのいずれのパターンについても消費電力の評価値は同一となる。
ただし、後述するように、各メモリチャネルに対応するメモリ(SDRAM301〜304)の温度に依存したリーク電流による消費電力を考慮した場合には、メモリチャネルの組み合わせに依存して、消費電力の評価値が変化する可能性がある。各メモリの温度を考慮してWideIO−SDRAM113の消費電力を評価することによって、より精度の高い消費電力の評価値を得ることが可能になり、メモリチャネル群の選択をより高い精度で実現し、更なる省電力化を実現することが可能になる。このように各メモリの温度を考慮する場合には、S806、S808、S809及びS810で、図10を用いて後述する処理によって、WideIO−SDRAM113の消費電力を評価(算出)すればよい。
図8の説明に戻り、S805で、CPU101は、4つのメモリチャネルを使用可能か否かを判定し、4つのメモリチャネルを使用可能である場合には処理をS806に進め、それ以外の場合には処理をS807へ進める。S806で、CPU101は、4つのメモリチャネルを使用する場合のWideIO−SDRAM113の消費電力を上述のように評価して、処理をS808に進める。
S807で、CPU101は、3つのメモリチャネルを使用可能か否かを判定し、3つのメモリチャネルを使用可能である場合には処理をS808に進め、それ以外の場合には処理をS809へ進める。S808で、CPU101は、3つのメモリチャネルを使用する場合の、取りうるメモリチャネルの組み合わせごとに、WideIO−SDRAM113の消費電力を上述のように評価して、処理をS809に進める。
S809で、CPU101は、2つのメモリチャネルを使用する場合の、取りうるメモリチャネルの組み合わせごとに、WideIO−SDRAM113の消費電力を、上述のように評価して、処理をS810に進める。S810で、CPU101は、1つのチャネルを使用する場合、即ち、各メモリチャネルを使用した場合の、WideIO−SDRAM113の消費電力をそれぞれ上述のように評価して、処理をS811に進める。
(メモリチャネル群の選択)
S811で、CPU101は、S806、S808、S809及びS810で得られた消費電力の評価値に基づいて、ジョブの実行に使用するメモリチャネル群を選択する。具体的には、CPU101は、消費電力の評価を行った複数のメモリチャネル群のうち、最も消費電力が低くなるメモリチャネル群を、ジョブの実行に使用するメモリチャネル群として選択する。尚、ジョブの実行に使用する画像処理部が必要とするメモリ容量を使用可能なメモリチャネル数であり、かつ、最も消費電力が低くなるメモリチャネル群を選択することで、画像処理部に合わせて適切にメモリチャネル群を選択することも可能になる。
S811で、CPU101は、S806、S808、S809及びS810で得られた消費電力の評価値に基づいて、ジョブの実行に使用するメモリチャネル群を選択する。具体的には、CPU101は、消費電力の評価を行った複数のメモリチャネル群のうち、最も消費電力が低くなるメモリチャネル群を、ジョブの実行に使用するメモリチャネル群として選択する。尚、ジョブの実行に使用する画像処理部が必要とするメモリ容量を使用可能なメモリチャネル数であり、かつ、最も消費電力が低くなるメモリチャネル群を選択することで、画像処理部に合わせて適切にメモリチャネル群を選択することも可能になる。
(メモリ領域の確保)
次に、S812で、CPU101は、S811で選択したメモリチャネル群に含まれるメモリチャネルに対応するメモリ(SDRAM301〜304)から、ジョブ(即ち、プリント画像処理部109)で使用するメモリ領域を確保する。なお、CPU101は、S801で取得した情報に基づいて、ジョブに従った処理の実行に必要となるメモリ容量のメモリ領域を確保すればよい。その後、CPU101は処理をS813に進める。
次に、S812で、CPU101は、S811で選択したメモリチャネル群に含まれるメモリチャネルに対応するメモリ(SDRAM301〜304)から、ジョブ(即ち、プリント画像処理部109)で使用するメモリ領域を確保する。なお、CPU101は、S801で取得した情報に基づいて、ジョブに従った処理の実行に必要となるメモリ容量のメモリ領域を確保すればよい。その後、CPU101は処理をS813に進める。
一方、S803からS816に処理を進めた場合、S816で、CPU101は、未使用のメモリチャネルが1つしかないので、当該メモリチャネルに対応するメモリから、ジョブで使用するメモリ領域を確保する。これは、例えば、他のジョブ(他の画像処理部)による処理でメモリチャネルが使用されている場合等に相当する。その後、CPU101は処理をS813に進める。
(メモリの動作条件の設定)
S813で、CPU101は、S811で選択したメモリチャネル群に対応する動作電圧及び動作周波数で動作するよう、当該メモリチャネル群に含まれるメモリチャネルに対応するメモリ(SDRAM301〜304)を制御する。具体的には、CPU101は、S812で確保した、ジョブに従った処理に使用するメモリ領域に設定すべき動作電圧及び動作周波数を、ROM106に格納されたテーブル(図11)を参照することによって取得する。更に、CPU101は、取得した動作電圧及び動作周波数で、確保したメモリ領域を動作させるよう、電源電圧制御部119及び動作クロック制御部120に命令する。このようにして、CPU101は、S811で選択したメモリチャネル群のメモリチャネル数と、必要なデータ転送レートとに応じて、確保したメモリ領域の動作電圧及び動作周波数を減少させる。これにより、WideIO−SDRAM113へのアクセス性能を維持しつつ、WideIO−SDRAM113を使用する際の消費電力を可能な限り減少させる。
S813で、CPU101は、S811で選択したメモリチャネル群に対応する動作電圧及び動作周波数で動作するよう、当該メモリチャネル群に含まれるメモリチャネルに対応するメモリ(SDRAM301〜304)を制御する。具体的には、CPU101は、S812で確保した、ジョブに従った処理に使用するメモリ領域に設定すべき動作電圧及び動作周波数を、ROM106に格納されたテーブル(図11)を参照することによって取得する。更に、CPU101は、取得した動作電圧及び動作周波数で、確保したメモリ領域を動作させるよう、電源電圧制御部119及び動作クロック制御部120に命令する。このようにして、CPU101は、S811で選択したメモリチャネル群のメモリチャネル数と、必要なデータ転送レートとに応じて、確保したメモリ領域の動作電圧及び動作周波数を減少させる。これにより、WideIO−SDRAM113へのアクセス性能を維持しつつ、WideIO−SDRAM113を使用する際の消費電力を可能な限り減少させる。
尚、S816からS813に処理を進めた場合、CPU101は、1メモリチャネルを使用する場合の動作電圧及び動作周波数(図11)で、確保したメモリ領域を動作させるよう、電源電圧制御部119及び動作クロック制御部120に命令すればよい。
次に、S814で、CPU101は、S812またはS316で確保したメモリ領域の先頭アドレスを、動作させるべき画像処理部(ここではプリント画像処理部109)に対して設定する。これにより、CPU101は、確保したメモリ領域を当該画像処理部が使用できるようにする。
(ジョブの実行)
S815で、CPU101は、ジョブに従った処理を実行する画像処理部(ここではプリント画像処理部109)を起動し、当該ジョブで指定された、ジョブに必要な画像処理等の機能を実行する。ここで、画像処理部の起動とは、例えば、画像処理部に設けられたイネーブルレジスタの設定値を、イネーブル状態を示す値にすることに相当する。
S815で、CPU101は、ジョブに従った処理を実行する画像処理部(ここではプリント画像処理部109)を起動し、当該ジョブで指定された、ジョブに必要な画像処理等の機能を実行する。ここで、画像処理部の起動とは、例えば、画像処理部に設けられたイネーブルレジスタの設定値を、イネーブル状態を示す値にすることに相当する。
尚、画像処理部がメモリ領域を使用する処理の一例として、以下のような処理が挙げられる。画像処理部は、例えば、スムージング処理や像域判定処理等で各種のフィルタ処理を実行する。このフィルタ処理では、通常、ラスタフォーマットで入力される画像データを、フィルタのウインドウ幅のライン数だけ格納するバッファが必要となる。そこで、本実施形態では、このライン数の画像データを格納するためのバッファを、WideIO−SDRAM113のメモリ領域を確保することによって実現し、確保したメモリ領域を使用して、フィルタ処理を実行する。
このようにして、画像処理部が、ジョブに従った処理を、WideIO−SDRAM113において確保されたメモリ領域を使用して実行する。この処理が終了すると、CPU101は、そのジョブのために確保していたメモリ領域を解放する。更に、CPU101は、当該メモリ領域の動作電圧及び動作周波数を、メモリ領域を確保する前の(即ち、ジョブの従った処理の実行の開始前の)状態に戻す。即ち、メモリ領域の動作状態を、後述するように元の状態に戻す。例えば、例えばセルフリフレッシュ・モード等で当該メモリ領域を動作させ、消費電力を低減できるようにする。
<温度情報を用いた消費電力の評価処理>
図10は、S806、S808、S809及びS810(図8)において、各メモリの温度情報を用いて消費電力を評価する場合の評価処理の手順を示すフローチャートである。図10の処理は、特に、各メモリチャネルに対応するメモリの温度に依存したリーク電流による消費電力を考慮して、WideIO−SDRAM113の消費電力の評価する場合に用いればよい。ここでは、CPU101は、図11のテーブルを用いて上述のようにして取得した消費電力に加えて、温度センサ309〜312によって取得された、複数のメモリの温度情報に更に基づいて、WideIO−SDRAM113の消費電力を評価する。
図10は、S806、S808、S809及びS810(図8)において、各メモリの温度情報を用いて消費電力を評価する場合の評価処理の手順を示すフローチャートである。図10の処理は、特に、各メモリチャネルに対応するメモリの温度に依存したリーク電流による消費電力を考慮して、WideIO−SDRAM113の消費電力の評価する場合に用いればよい。ここでは、CPU101は、図11のテーブルを用いて上述のようにして取得した消費電力に加えて、温度センサ309〜312によって取得された、複数のメモリの温度情報に更に基づいて、WideIO−SDRAM113の消費電力を評価する。
CPU101は、S806、S808、S809またはS810の処理を開始すると、S1001に処理を進める。まず、S1001で、CPU101は、必要なデータ転送レートと使用するメモリチャネル数とに応じた動作電圧及び動作周波数で、評価対象のメモリチャネル群を使用した場合の消費電力を、ROM106に格納されたテーブル(図11)を用いて取得する。
次に、S1002で、CPU101は、S804で取得した温度情報に基づいて、評価対象のメモリチャネル群に対応する各メモリの温度情報が示す温度に対応する、各メモリにおいて生じるリーク電流による消費電力(リーク電力)を算出する。リーク電流値は、例えば、メモリの温度に対応するリーク電流値を予め測定しておき、その測定値に基づいて得ることが可能である。
図12は、予め測定された、メモリ(SDRAM301〜304)の温度に対応するリーク電流値の一例を示す図である。図12に示すような温度とリーク電流値との対応関係を示す情報を、ROM106に予め格納しておくことによって、CPU101が、ROM106に格納された情報を用いて、温度情報が示す温度に対応するリーク電流値を得ることが可能である。CPU101は、更に、得られたリーク電流値を、ROM106に格納されたテーブル(図11)からS1001で得られた動作電圧と乗算することによって、リーク電力を算出できる。
最後に、S1003で、CPU101は、S1002で算出した消費電力(リーク電力)を、S1001で取得した消費電力に加算することによって、評価対象のメモリチャネル群を使用した場合のWideIO−SDRAM113の消費電力を算出する。以上により、CPU101は、S806、S808、S809またはS810(図8)におけるWideIO−SDRAM113の消費電力の評価処理を終了する。
<WideIO−SDRAM113の動作状態>
図13は、本実施形態に係る、WideIOメモリデバイス(WideIO−SDRAM113)の動作状態の遷移の一例を示す状態遷移図である。
図13は、本実施形態に係る、WideIOメモリデバイス(WideIO−SDRAM113)の動作状態の遷移の一例を示す状態遷移図である。
S1301は、MFP100が何らかのジョブが投入されるのを待っている際の、WideIO−SDRAM113の動作状態(ジョブ待機状態)に相当し、即ち、図8の処理の実行が開始される前の状態に相当する。このとき、MFP100には実行中のジョブが存在しない。このとき、WideIO−SDRAM113は、システムメモリとして確保されている領域を有するメモリ(SDRAM301)及び対応するメモリチャネル1のみがON状態にある。一方、残りの3つのメモリチャネル2〜4及び対応するメモリ(SDRAM302〜304)は、セルフリフレッシュ・モード等の省電力モードで動作している状態にある。これにより、WideIO−SDRAM113の消費電力が、ジョブ実行状態(S1302)よりも低減される。
CPU101は、ON状態にあるメモリの動作周波数及び動作電圧には、通常動作時の値(例えば、260MHz及び1.5V)を設定してもよい。あるいは、CPU101は、システムメモリが必要とするデータ転送レートを維持可能な範囲内で、可能な限り低い値(以下では「初期設定値」と称する。)を、その動作周波数及び動作電圧に設定してもよい、これにより、ジョブ待機状態におけるWideIO−SDRAM113の消費電力を更に低減できる。
S1301の状態で、MFP100にジョブ(例えばプリントジョブ)が投入されると、CPU101は、図8に示す手順に従った一連の処理を実行する。一連の処理が完了すると、WideIO−SDRAM113の動作状態が、S1301からS1302に遷移する(1310)。
S1302は、MFP100が、投入されたジョブを実行している間の、WideIO−SDRAM113の動作状態(ジョブ実行状態)に相当する。即ち、S1302は、
図8に示す手順に従った一連の処理によって決定された、使用するメモリチャネル群(使用メモリチャネル数)、動作周波数及び動作電圧が、WideIO−SDRAM113に適用された後の、ジョブが実行されている状態に相当する。このとき、画像処理部108〜111の競合した動作が実行されておらず、S811における選択の結果、使用されないことが決定されたメモリチャネルに対応するメモリは、上述の省電力モードで動作している状態であってもよい。あるいは、当該メモリチャネルに対応するメモリの動作周波数及び動作電圧は、上述の初期設定値に設定されてもよい。
図8に示す手順に従った一連の処理によって決定された、使用するメモリチャネル群(使用メモリチャネル数)、動作周波数及び動作電圧が、WideIO−SDRAM113に適用された後の、ジョブが実行されている状態に相当する。このとき、画像処理部108〜111の競合した動作が実行されておらず、S811における選択の結果、使用されないことが決定されたメモリチャネルに対応するメモリは、上述の省電力モードで動作している状態であってもよい。あるいは、当該メモリチャネルに対応するメモリの動作周波数及び動作電圧は、上述の初期設定値に設定されてもよい。
競合を含めた全ての動作(処理)が完了すると、WideIO−SDRAM113の動作状態は、再びS1301に戻る(1320)。このとき、CPU101は、システムメモリとして使用するメモリ(SDRAM301)の動作周波数及び動作電圧を初期設定値に設定する一方、残り3つのメモリ(SDRAM302〜304)を省電力モードに設定する。
以上説明したように、本実施形態に係るMFP100は、使用可能なメモリチャネルの取りうる組み合わせから成るメモリチャネル群のうち、動作周波数を減少させても、必要なデータ転送レートを維持できるメモリチャネル数のメモリチャネル群を選択する。即ち、動作周波数を低くしても、使用するメモリチャネル数を増やすことで、使用するメモリ帯域の総和を維持する。これにより、ジョブの実行に必要となるデータ転送レートを維持しつつ、動作周波数を低くすることが可能である。
また、MFP100は、各メモリチャネル群のメモリチャネル数と、ジョブの実行に必要となる転送レートとに応じた動作周波数及び動作電圧で、各メモリチャネル群を使用した場合のWideIOメモリデバイスの消費電力を評価する。MFP100は、消費電力の評価の結果、消費電力が最も低くなるメモリチャネル群を選択して、ジョブの実行に使用する。即ち、MFP100は、使用可能なメモリチャネルの組み合わせのうち、メモリチャネル数及びデータ転送レートに応じて設定可能な動作周波数及び動作電圧を適用した場合の、WideIOメモリデバイスの消費電力が最も低くなる組み合わせを選択して使用する。このとき、WideIOメモリデバイスの動作電圧を、可能な限り低く設定することで、消費電力をより低減できる。これにより、WideIOのメモリデバイスのアクセス性能を維持したまま、より低消費電力でWideIOメモリデバイスを動作させることが可能である。即ち、WideIOメモリデバイスのアクセス性能を劣化させることなく当該メモリデバイスの動作周波数をより低くすることができ、最小限の消費電力で当該メモリデバイスを動作させることが可能となる。
また、WideIOメモリデバイスの各メモリチャネルに対応するメモリの温度に依存したリーク電流による消費電力を考慮して、WideIO−SDRAM113の消費電力を評価することによって、より精度の高い消費電力の評価値を得ることが可能になる。これにより、メモリチャネル群の選択をより高い精度で実現し、更なる省電力化を実現することが可能になる。
上述の実施形態は、種々に変形して実施することが可能である。例えば、S805〜S810でWideIO−SDRAM113の消費電力を評価する際に、比較的温度の高い(例えば所定の温度よりも高い)メモリに対応するメモリチャネルを含むメモリチャネル群を、消費電力の評価対象から除外してもよい。即ち、S802において特定した、使用可能な1つ以上のメモリチャネルから、そのようなメモリチャネルを除外してもよい。これにより、消費電力の評価対象となるメモリチャネルの組み合わせ(メモリチャネル群)の数を予め減少させ、消費電力の評価処理に要する計算機コストを削減できる。
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (13)
- CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
それぞれが個別の機能を実行する複数の機能モジュールと、
機能の実行が指示されると、前記WideIOメモリデバイスに含まれる複数のメモリに対応する複数のメモリチャネルの使用状況に基づいて、使用可能な1つ以上のメモリチャネルを特定する特定手段と、
それぞれが、前記特定手段によって特定されたメモリチャネルの取りうる組み合わせから成る複数のメモリチャネル群のそれぞれについて、各メモリチャネル群のメモリチャネル数と前記機能の実行に必要となるデータ転送レートとに応じた動作電圧及び動作周波数で各メモリチャネル群を使用する場合の、前記WideIOメモリデバイスの消費電力を評価する評価手段と、
複数の前記メモリチャネル群のうち、前記WideIOメモリデバイスの消費電力が最も低くなるメモリチャネル群を、前記機能に対応する機能モジュールが使用するメモリチャネル群として選択する選択手段と
を有することを特徴とする情報処理装置。 - 前記複数のメモリのそれぞれの温度を示す温度情報を取得する温度取得手段を更に有し、
前記評価手段は、
前記複数のメモリチャネル群のそれぞれについて、前記温度取得手段によって取得された前記複数のメモリの温度情報に更に基づいて、各メモリチャネル群を使用する場合の前記WideIOメモリデバイスの消費電力を評価する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記評価手段は、
前記温度取得手段によって取得された前記複数のメモリの温度情報が示す温度に対応する、各メモリにおいて生じるリーク電流による消費電力を算出し、算出した消費電力を、前記メモリチャネル数と前記データ転送レートとに応じた前記動作電圧及び前記動作周波数に対応する消費電力に加算することによって、各メモリチャネル群を使用する場合の前記WideIOメモリデバイスの消費電力を評価する
ことを特徴とする請求項2に記載の情報処理装置。 - 前記特定手段は、
前記温度取得手段によって取得された温度情報が示す温度が所定の温度よりも高いメモリに対応するメモリチャネルを、前記使用可能な1つ以上のメモリチャネルから除外する
ことを特徴とする請求項2または3に記載の情報処理装置。 - 前記選択手段は、
複数の前記メモリチャネル群のうち、前記機能に対応する機能モジュールが必要とするメモリ容量を使用可能なメモリチャネル数であり、かつ、前記WideIOメモリデバイスの消費電力が最も低くなるメモリチャネル群を、前記機能に対応する機能モジュールが使用するメモリチャネル群として選択する
ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 - 前記機能モジュールによる処理が実行される際に、前記選択手段によって選択されたメモリチャネル群に対応する前記動作電圧及び前記動作周波数で動作するよう、当該選択されたメモリチャネル群に含まれるメモリチャネルに対応するメモリを制御する制御手段
を更に有することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。 - 前記制御手段は、
前記選択手段によって選択されたメモリチャネル群の前記メモリチャネル数と前記機能の実行に必要となる前記データ転送レートとに応じて、当該メモリチャネル群に含まれるメモリチャネルに対応するメモリの前記動作電圧及び前記動作周波数を減少させる
ことを特徴とする請求項6に記載の情報処理装置。 - 前記制御手段は、
前記選択手段によって選択されたメモリチャネル群に含まれるメモリチャネルに対応するメモリから、前記機能モジュールで使用するメモリ領域を確保するとともに、前記機能モジュールによる処理が終了すると、前記メモリ領域を解放する
ことを特徴とする請求項6または7に記載の情報処理装置。 - 前記制御手段は、
前記機能モジュールで使用するメモリ領域を確保した際に、当該メモリ領域の先頭アドレスを、当該機能モジュールに対して設定することによって、当該メモリ領域を当該機能モジュールが使用できるようにする
ことを特徴とする請求項8に記載の情報処理装置。 - 前記制御手段は、
前記機能モジュールによる処理が終了すると、当該機能モジュールによる処理で使用したメモリの前記動作電圧及び前記動作周波数を、前記機能モジュールによる処理の実行の開始前の状態に戻す
ことを特徴とする請求項6乃至9のいずれか1項に記載の情報処理装置。 - 前記機能の実行は、投入されたジョブによって指示され、
前記データ転送レートは、前記投入されたジョブに従った処理を前記機能モジュールが実行するために必要となるデータ転送レートである
ることを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。 - CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置の制御方法であって、
それぞれが個別の機能を実行する複数の機能モジュールによる機能の実行が指示されると、特定手段が、前記WideIOメモリデバイスに含まれる複数のメモリに対応する複数のメモリチャネルの使用状況に基づいて、使用可能な1つ以上のメモリチャネルを特定する特定工程と、
それぞれが、前記手段によって特定されたメモリチャネルの取りうる組み合わせから成る複数のメモリチャネル群のそれぞれについて、評価手段が、各メモリチャネル群のメモリチャネル数と前記機能の実行に必要となるデータ転送レートとに応じた動作電圧及び動作周波数で各メモリチャネル群を使用する場合の、前記WideIOメモリデバイスの消費電力を評価する評価工程と、
選択手段が、複数の前記メモリチャネル群のうち、前記WideIOメモリデバイスの消費電力が最も低くなるメモリチャネル群を、前記機能に対応する機能モジュールが使用するメモリチャネル群として選択する選択工程と
を有することを特徴とする情報処理装置の制御方法。 - 請求項12に記載の情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012221601A JP2014075002A (ja) | 2012-10-03 | 2012-10-03 | 情報処理装置及びその制御方法、並びにプログラム |
US14/041,469 US8949479B2 (en) | 2012-10-03 | 2013-09-30 | Information processing apparatus, control method for the same, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012221601A JP2014075002A (ja) | 2012-10-03 | 2012-10-03 | 情報処理装置及びその制御方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014075002A true JP2014075002A (ja) | 2014-04-24 |
Family
ID=50386324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012221601A Pending JP2014075002A (ja) | 2012-10-03 | 2012-10-03 | 情報処理装置及びその制御方法、並びにプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8949479B2 (ja) |
JP (1) | JP2014075002A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018081488A (ja) * | 2016-11-16 | 2018-05-24 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6004927B2 (ja) * | 2012-12-07 | 2016-10-12 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
US9323304B2 (en) * | 2013-12-18 | 2016-04-26 | NXGN Data, Inc. | Dynamic self-correcting power management for solid state drive |
US8935567B1 (en) * | 2014-04-30 | 2015-01-13 | Igneous Systems, Inc. | Network addressable storage controller with storage drive profile comparison |
US9081828B1 (en) | 2014-04-30 | 2015-07-14 | Igneous Systems, Inc. | Network addressable storage controller with storage drive profile comparison |
USRE48835E1 (en) | 2014-04-30 | 2021-11-30 | Rubrik, Inc. | Network addressable storage controller with storage drive profile comparison |
US9116833B1 (en) | 2014-12-18 | 2015-08-25 | Igneous Systems, Inc. | Efficiency for erasure encoding |
US9361046B1 (en) | 2015-05-11 | 2016-06-07 | Igneous Systems, Inc. | Wireless data storage chassis |
JP6720824B2 (ja) * | 2016-10-17 | 2020-07-08 | コニカミノルタ株式会社 | 画像処理装置、画像処理装置の制御方法、およびプログラム |
JP6617744B2 (ja) * | 2017-04-05 | 2019-12-11 | トヨタ自動車株式会社 | 車両システム |
US10298420B1 (en) | 2018-03-20 | 2019-05-21 | Dell Products, Lp | System and method to enhance feed-forward equalization in a high-speed serial interface |
JP6709825B2 (ja) * | 2018-06-14 | 2020-06-17 | 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. | Dram及びその操作方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392737B2 (en) * | 2009-06-17 | 2013-03-05 | Hewlett-Packard Development Company, L. P. | System for controlling power consumption of a network |
KR101683814B1 (ko) * | 2010-07-26 | 2016-12-08 | 삼성전자주식회사 | 관통 전극을 구비하는 반도체 장치 |
-
2012
- 2012-10-03 JP JP2012221601A patent/JP2014075002A/ja active Pending
-
2013
- 2013-09-30 US US14/041,469 patent/US8949479B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018081488A (ja) * | 2016-11-16 | 2018-05-24 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US8949479B2 (en) | 2015-02-03 |
US20140095740A1 (en) | 2014-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014075002A (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
US9442551B2 (en) | Information processing apparatus, control method for the same and storage medium | |
US9773532B2 (en) | Updating a refresh period and an update period in a wideio device stacked on a system on a chip | |
JP6101047B2 (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
JP2014078128A (ja) | 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 | |
US20140380016A1 (en) | Information processing apparatus, control method thereof, and program | |
JP6004927B2 (ja) | 情報処理装置、その制御方法、及びプログラム | |
US9110707B2 (en) | Assigning wideio memories to functions based on memory access and acquired temperature information | |
US7395176B2 (en) | Memory controller for controlling a refresh cycle of a memory and a method thereof | |
JP2011095916A (ja) | 電子機器 | |
EP2857979B1 (en) | Memory control device that controls semiconductory memory, memory control method, information device equipped with memory control device, and storage medium storing memory control program | |
JP7146622B2 (ja) | 半導体装置、温度制御装置、及び方法 | |
JP6060770B2 (ja) | 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム | |
JP6041610B2 (ja) | 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 | |
JP2010186509A (ja) | 半導体記憶装置及びその制御方法 | |
JP5790532B2 (ja) | 電子機器、及びメモリー制御方法 | |
GB2583562A (en) | Electronic apparatus including device configured to be shifted to power saving state and connected to PCI device, and control method thereof | |
JP5369941B2 (ja) | データ処理装置、データ処理方法、およびデータ処理プログラム | |
JP2009223381A (ja) | 構成要素の発熱量決定方法及び構成要素の発熱量決定システム | |
JP3674670B2 (ja) | バス制御装置及び半導体装置 | |
JP2007152556A (ja) | 印刷装置 | |
JP2001175531A (ja) | 電子機器およびそのメモリ制御方法、並びにメモリ制御プログラムを記録した記録媒体 |