[go: up one dir, main page]

JP2014081688A - 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 - Google Patents

情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 Download PDF

Info

Publication number
JP2014081688A
JP2014081688A JP2012227425A JP2012227425A JP2014081688A JP 2014081688 A JP2014081688 A JP 2014081688A JP 2012227425 A JP2012227425 A JP 2012227425A JP 2012227425 A JP2012227425 A JP 2012227425A JP 2014081688 A JP2014081688 A JP 2014081688A
Authority
JP
Japan
Prior art keywords
memory
temperature
cpu
sdram
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012227425A
Other languages
English (en)
Inventor
Shuryo Tomi
秀療 富
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2012227425A priority Critical patent/JP2014081688A/ja
Priority to US14/044,394 priority patent/US9442551B2/en
Priority to CN201310475654.5A priority patent/CN103729050B/zh
Publication of JP2014081688A publication Critical patent/JP2014081688A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Power Sources (AREA)

Abstract

【課題】 セルフリフレッシュ状態のRAMによる消費電力が大部分を占めるサスペンドモードにおける消費電力の増大を避ける。
【解決手段】 CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、WideIOメモリデバイスに備えられる複数のメモリのそれぞれの温度を検知し、省電力モードへ移行する時、その検知した温度に基づいて、より低い温度のメモリを優先的に、省電力モードで使用するメモリとして特定し、その特定されたメモリに、前記省電力モードから通常モードに復帰するための情報を記憶する。
【選択図】 図8

Description

本発明は、CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体に関するものである。
一般的に情報処理装置では、OSや各種アプリケーションを実行するためのデータの保存や、画像処理を実行するための一時データ保存のために、DRAM(Dynamic Random Access Memory)を用いることが多い。このDRAMは、CPUやSOC等に接続されて使用される。このDRAMに関して、近年、情報処理装置の多機能化・高機能化に伴い、DRAMのメモリ帯域が増加している。このメモリ帯域を増加させるために、DDR3やDDR4等の規格ではデータアクセスのクロック周波数を向上させて帯域を増加させている。また、CPUやASICに接続するDRAMチャネルを複数持つことで帯域を確保している。しかし、クロックの高周波数化や複数メモリチャネルによる構成では、消費電力が増加するという新たな問題が発生する。そこで現在注目されているのが、次世代DRAM規格であるWideIOである。WideIOはTSV(Through Silicon Via)による3D積層技術を使い、SOCダイの上にDRAMチップを重ねるメモリ技術である。特徴としては、512ビットの広いデータ幅で最大12.8GB/sec以上の高帯域であるとともに、アクセス周波数を低く抑えているので低消費電力であることが挙げられる。また、TSVを採用したことで、従来のPoP(Package on Package)に比べてパッケージサイズも薄く小さくすることができる。さらに詳細な特徴として、SOCパッケージ内に積層することによる熱対策として、温度センサを内蔵し温度によってセルフリフレッシュレートを変化させている。また、データ幅512ビットを128ビット単位の4チャネルに分割し、各チャネルを独立制御する特徴を持つ。例えば、チャネル1と2をセルフリフレッシュ状態とし、チャネル3と4を通常使用するなどの使い方ができる。このようなWideIOの基本的な構造や基本的なアクセス方法に関する技術が提案されている(特許文献1参照)。
米国特許出願公開第2012/0018885号公報
一方、地球温暖化防止の観点からCO2排出量削減の要求が高まっており、情報処理装置、例えば画像スキャン、印刷、コピー等の複数の機能を有するMFP(デジタル複合機)においても低消費電力化が求められている。従来より、MFPは低消費電力化を実現するために省電力モードを設けている。この省電力モードは、印刷などの処理を行っていない状態での待機中に、動作していない箇所への電力供給を停止する等により、低消費電力化を実現するものである。また省電力モードから通常モードへの復帰時間を短縮できる省電力モードも実用化されている。具体的には、以下の(A)及び(B)の手順でMFPを低消費電力化するサスペンド(Suspend:一時停止)モードが採用されている。
(A)CPU,RAM等の実行中の状態を示す状態データ(レジスタ、RAMデータ等)を、セルフリフレッシュ状態のRAMに格納する。
(B)セルフリフレッシュの対象でないRAM等に対する電力供給を停止する。
サスペンドモードから通常モードへの復帰は、何らかの復帰トリガ(操作パネルのボタン押下、タイマによる定期的な起動)等により、CPUに割り込みが入ることにより行われる。この通常モードへの復帰の際には、それまでセルフリフレッシュ状態のRAMに格納していたCPU、RAM等の実行中の状態を示す状態データを、サスペンドモードに移行する前の格納場所(RAM)に戻して処理を再開することで復帰時間の短縮を図っている。
WideIOの積層化構造は、構造的に熱の影響を受けやすい。例えば、ダイの特定領域と、この特定領域の上部に位置するWideIOのDRAMとを同時に活性化すると、その活性化された部分の温度が局所的に上昇することになる。これにより、温度に対して指数関数的に上昇する半導体のリーク電流が増大してDRAMの消費電力が大きくなってしまう。またDRAMは、各セルに備えられたコンデンサに電荷を保存することでデータの記憶を行っているが、このコンデンサは半導体のリーク電流により自然に放電されるため、リフレッシュ動作によりコンデンサを充電してデータを保持している。この電荷の放電は温度に依存し、温度が高いほど放電スピードが速い。従って、温度が高くなると、リフレッシュ頻度を増やす必要があり、リフレッシュによる消費電力の増加を引き起こしてしまう。そのため、セルフリフレッシュ状態のRAMによる消費電力が大部分を占めるサスペンドモードにおける消費電力が増大してしまうことになる。
本発明の目的は、上記従来技術の問題点を解決することにある。
本発明の目的は、WideIOのメモリを使用したときのサスペンドモードにおける消費電力をより低下させる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
前記WideIOメモリデバイスに備えられる複数のメモリのそれぞれの温度を検知する温度検知手段と、
省電力モードへ移行する時、前記温度検知手段が検知した温度に基づいて、より低い温度のメモリを優先的に、前記省電力モードで使用するメモリとして特定する特定手段と、
前記特定手段により特定されたメモリに、前記省電力モードから通常モードに復帰するための情報を記憶する記憶制御手段と、を有することを特徴とする。
本発明によれば、WideIOの各メモリの内、より低温のメモリを使用して省電力モードに移行するように制御することにより、メモリのリフレッシュ頻度の低減やリーク電流の低減を行うことができる。これにより、省電力モードにおけるWideIOメモリデバイスの消費電力の低減が可能となる。
本実施形態1に係るMFP(デジタル複合機)の全体構成を示すブロック図。 実施形態1に係るWideIO−SDRAMの構造を示す模式図。 実施形態1に係るWideIOコントローラの内部構成を示すブロック図。 実施形態1に係るレジスタの構成を説明する図。 実施形態1に係るSDRAMに対して割当てられたアドレス領域を示すアドレスマップを説明する図。 実施形態1に係るSOCパッケージの俯瞰図。 実施形態1に係るMFPにおいて、CPUが温度センサで計測した温度情報を取得するための処理を説明するフローチャート。 実施形態1に係るMFPにおいて、CPUが、MFPをサスペンドモードに移行させる際に、サスペンドモードで使用するSDRAMを決定するための処理を説明するフローチャート。 実施形態1において温度センサによって検知した温度情報の一例を示す図。 実施形態1に係るMFPのCPUが、MFPをサスペンドモードから通常モードに復帰させる際の処理を説明するフローチャート。 本発明の実施形態2に係るMFPの操作部、HDD、ROM、デバイスI/Fの詳細な構成を示したブロック図。 WideIO−SDRAMを構成する各SDRAMとSOCダイの領域との関係を示す図(A)、SOCダイの各領域を6x6の領域に等分割した時の、各領域の位置関係を表す図(B)。 実施形態2に係るMFPの各ブロックが、図12(B)に示すSOCダイの分割された領域のどこに割り当てされているか、及びそれぞれの領域を活性化させた際の発熱量を相対値で示したテーブルを説明する図。 実施形態2に係るMFPのCPUが、MFPをサスペンドモードに移行させる際に、使用するSDRAMを決定するための処理を示すフローチャート。 実施形態3に係るMFPのCPUが、MFPをサスペンドモードに移行させる際に、使用するSDRAMを決定するための処理を説明するフローチャート。 実施形態3に係るMFPのCPUが、MFPをサスペンドモードに移行させる際に、使用するSDRAMを決定するための処理を説明するフローチャート。 実施形態3に係るMFPのCPUが、MFPをサスペンドモードに移行させる際に、使用するSDRAMを決定するための処理を説明するフローチャート。 実施形態3に係るMFPのCPUが、MFPをサスペンドモードに移行させる際に、使用するSDRAMを決定するための処理を説明するフローチャート。 実施形態3において温度センサによって検知した温度情報の一例を示す図。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態に係るWideIOを備える情報処理装置として、スキャン、プリンタ、コピーなどの複数の機能を有するMFP(デジタル複合機)を例に説明する。
[実施形態1]
図1は、本実施形態1に係るMFP(デジタル複合機)の全体構成を示すブロック図である。
MFP100は、画像入力デバイスであるスキャナ116と画像出力デバイスであるプリンタエンジン117とを有し、これらはデバイスインターフェース(I/F)107を介してシステムバス118に接続されている。そしてCPU101の制御の下に、スキャナ116による原稿の画像の読み取りや、プリンタエンジン117による印刷を行うことができる。またMFP100は、LAN114や公衆回線(PSTN)115と接続しており、これらを介してLANや公衆回線に接続された外部機器のデバイス情報や画像データの入出力を行うことができる。
CPU101は、ROM106に記憶されたブートプログラムによりHDD105からWideIO−SDRAM113に展開されたプログラムを実行することにより、このMFP100の動作を制御している。操作部102は、キーボードやタッチパネル等の入力部や表示部を有し、ユーザからの指示を受付け、また表示部によりユーザへのメッセージや処理の結果などを表示する。ネットワークI/F103は、例えばLANカード等で実現され、LAN114を介して外部機器との間でデバイス情報や画像データの入出力を行う。モデム104は、公衆回線115を介して外部機器との間で制御情報や画像データの入出力を行う。HDD105はハードディスクドライブであり、OSや各種アプリケーションプログラム等を記憶し、また入力された画像データ等を格納する。ROM106は、ブートプログラムや各種データを記憶している。デバイスI/F107は、スキャナ116やプリンタエンジン117と接続し、これらスキャナ116やプリンタエンジン117とシステムバス118との間で画像データの転送処理を行う。
編集用画像処理部108は、画像データの回転や変倍、色処理、トリミング・マスキング、2値変換、多値変換、白紙判定等の各種画像処理を行う。プリント画像処理部109は、プリンタエンジン117に出力する画像データに対して、そのプリンタエンジン117に応じた画像処理等を行う。スキャン画像処理部110は、スキャナ116から入力される画像データに対して、補正、加工、編集等の各種処理を行う。RIP(ラスタイメージプロセッサ)111は、ページ記述言語(PDL)コードをイメージデータに展開する。WideIOコントローラ112は、例えばCPU101や各画像処理部からのメモリアクセスコマンドをWideIO−SDRAM113が解釈可能なコマンドに変換して、WideIO−SDRAM113に対してアクセスを行う。WideIO−SDRAM113は、CPU101により実行されるプログラムを格納し、またCPU101が動作するためのシステムワークメモリを提供している。また、入力された画像データを一時記憶するための画像メモリでもある。システムバス118は上述した各部とCPU101とを接続し、制御信号やデータ等を転送している。
図2は、実施形態1に係るWideIO−SDRAM113の構造を示す模式図で、図2(A)はWideIO−SDRAMとSOCダイを側面から見た側面図であり、図2(B)は上側から見た上面図である。
SOCダイ201は、本実施形態1では例えばCPU101やデバイスI/F107,RIP111、各画像処理部108〜110等を備えるものである。WideIO−SDRAM202〜205はSOCダイ201の上に積層され、シリコン貫通ビア(TSV)206によりSOCダイ201と接続されている。WideIO−SDRAMは、必要とするメモリ容量に応じて最大4層まで積層することができ、図2(A)は4層を積層した例を示す。SOCパッケージ207は、SOCダイ201とWideIO−SDRAM202〜205とを1つのパッケージに収容したものである。WideIO−SDRAMI/F208は、図2(B)に示されるようにSOCダイ201やWideIO−SDRAM202〜205の中央部に配置される。
図3は、実施形態1に係るWideIOコントローラ112の内部構成を示すブロック図である。
図3において、WideIOコントローラ112は、図1に示したようにシステムバス118とWideIO−SDRAM113との間に接続されている。更に、図1では図示しない温度センサ(温度検知素子)309〜312と接続される。
SDRAM301〜304は、WideIO−SDRAM113に設けられた4つのメモリであり、図示されている通り、各々が専用のインターフェースを備える。これらの専用インターフェースは、上述したようにSOCダイ201に積層されるWideIO−SDRAM202〜205の4つのメモリチャネルに相当し、この専用インターフェースは図2(B)のWideIO−SDRAMI/F208に相当している。メモリコントローラ305〜308のそれぞれは、システムバス118からのメモリアクセスコマンドを、接続されている各対応するSDRAMに対して、そのSDRAMが解釈可能なコマンドに変換してアクセスする。温度センサ309〜312は、SDRAM301〜304の各対応するSDRAMの温度を計測している。
レジスタI/F313は、不図示のレジスタ専用バスを経由してCPU101からのアクセスを受け付ける。レジスタ314は、温度取得I/F315が温度センサ309〜312から取得した各温度情報や、CPU101から設定されるメモリコントローラ305〜308の各動作モードの設定情報を記憶する。温度取得I/F315が、後述する温度情報格納レジスタ402(図4)からの温度情報の取得要求を検知すると、後述する温度センサ指定レジスタ401(図4)で指定された温度センサからの温度情報を取得するコマンドを発行して温度情報を取得する。こうして取得した温度情報は、後述する温度情報格納レジスタ402へ格納される。
図4は、実施形態1に係るレジスタ314の構成を説明する図である。
レジスタ314は、温度センサ指定レジスタ401、温度情報格納レジスタ402、メモリコントローラ動作モード設定レジスタ403〜406、メモリアクセス量順番レジスタ407を有している。温度センサ指定レジスタ401は、CPU101が温度センサの温度情報を取得したい場合に、その対象となる温度センサを指定するための情報を格納するレジスタである。本実施形態1においては、4個の温度センサを備える例を用いて説明しているため2ビットのレジスタで構成され、2ビットの各状態により4個の温度センサのそれぞれを特定することができる。温度情報格納レジスタ402は、CPU101からの温度情報の取得要求を入力すると、温度センサ指定レジスタ401で指定された温度センサの温度情報を取得するように温度取得I/F315に対して要求する。そして、温度取得I/F315から取得した温度情報を格納し、CPU101からの温度情報の読み出し要求に応じて、そこに格納している温度情報を出力する。
図9は、実施形態1において、温度センサ309〜312によって取得した温度情報の一例を示す図である。図9では、チャネル4に相当するSDRAM304の温度センサ312の温度が最も高く、チャネル1に相当するSDRAM301の温度センサ309の温度が最も低くなっている。
メモリコントローラ動作モード設定レジスタ403〜406のそれぞれは、各メモリコントローラ305〜308の動作モードを設定するためのレジスタで、各SDRAMのメモリ制御に関する設定値が記憶されている。ここでメモリ制御に関する設定値としては、例えば、DRAMのリフレッシュ動作の時間間隔や、メモリアクセスに関するタイミングパラメータ等がある。尚、ここでメモリコントローラ動作モード設定レジスタ403は、メモリコントローラ305の動作モードを設定し、メモリコントローラ動作モード設定レジスタ404はメモリコントローラ306の動作モードを設定する。またメモリコントローラ動作モード設定レジスタ405はメモリコントローラ307の動作モードを設定し、メモリコントローラ動作モード設定レジスタ406はメモリコントローラ308の動作モードを設定する。
図5は、実施形態1に係るSDRAM301〜304に対して割当てられたアドレス領域を示すアドレスマップを説明する図である。
本実施形態1においては、SDRAM301にはアドレス領域1が、SDRAM302にはアドレス領域2が、SDRAM303にはアドレス領域3が、SDRAM304にはアドレス領域4がそれぞれ割り当てられているものとする。但し、各アドレス領域のサイズは図5に図示したものに限定されるものではない。尚、前述したCPU101のプログラムは、SDRAM301のアドレス領域1に展開される。
図6は、図2のWideIO−SDRAM202〜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の上に積層されるメモリである。また、本実施形態1においては、SDRAM301〜304の各デバイスは、図6のようにSOCダイ201を4分割した領域の各上部にそれぞれ4層で積層されているものとする。SDRAM301〜304の各デバイスには、それぞれのメモリの内部温度が計測できるように、温度センサ309〜312が内蔵されている。但し、各SDRAMの配置や温度センサの配置は図6に限定されるものではなく、一例に過ぎない。また、温度センサ309〜312はSOCダイ201の内部に備えられる構成であっても良いし、WideIO−SDRAM113のメモリ内部に備えられる構成であっても良い。
図7は、実施形態1に係るMFP100において、CPU101が温度センサ309〜312で計測した温度情報を取得するための処理を説明するフローチャートである。本実施形態1では温度センサを4個備える構成であるため、図7のフローチャートも4個の温度センサから温度情報を取得している。尚、この処理を実行するプログラムはHDD105にインストールされており、実行時にSDRAM301に展開され、そのプログラムをCPU101が実行することにより、この処理が実現される。
先ずS701で、CPU101は、温度センサ指定レジスタ401に「00」を書き込む。本実施形態1では4個の温度センサを備え、各温度センサを指定するために、次のように各温度センサと温度センサ指定レジスタ401の設定値を対応付けるものとする。即ち、温度センサ指定レジスタ401の値「00」は温度センサ309に対応付けられ、同様に「01」は温度センサ310に、「10」は温度センサ311に、そして「11」は温度センサ312にそれぞれ対応付けられるものとする。従ってS701では、温度センサ309を指定するために、CPU101は温度センサ指定レジスタ401に「00」を書き込む。次にS702に進み、CPU101は、温度情報格納レジスタ402に対して温度情報の読み出し要求を発行して、温度センサ309で計測した温度情報を取得する。このとき上述したように、温度情報格納レジスタ402は、CPU101からの読み出し要求を検知すると、温度センサ指定レジスタ401で指定されている温度センサからの温度情報を取得する。そして、その取得した温度情報を、CPU101からの読み出し要求の応答データとしてCPU101に出力する。従って、S702でCPU101は、温度センサ309が計測した温度情報を取得することになる。
次にS703に進み、CPU101は、温度センサ310で計測した温度情報を取得するために、温度センサ指定レジスタ401に「01」を書き込む。そしてS704に進み、CPU101は、温度情報格納レジスタ402に対して温度情報の読み出し要求を発行して温度センサ310で計測した温度情報を取得する。次にS705に進み、CPU101は温度センサ311で計測した温度情報を取得するために、温度センサ指定レジスタ401に「10」を書き込む。そしてS706で、CPU101は、温度情報格納レジスタ402に対して温度情報の読み出し要求を発行し、温度センサ311で計測された温度情報を取得する。次にS707に進み、CPU101は、温度センサ312で計測された温度情報を取得するために、温度センサ指定レジスタ401に「11」を書き込む。そしてS708でCPU101は、温度情報格納レジスタ402に対して温度情報の読み出し要求を発行して、温度センサ312により計測された温度情報を取得する。以上の処理により、CPU101は、各温度センサで計測された温度情報、即ち、各SDRAM、或いは各チャネルの温度情報を取得することができる。
図8は、実施形態1に係るMFP100において、CPU101が、MFP100をサスペンドモード(省電力モード)に移行させる際に、サスペンドモードで使用するSDRAMを決定するための処理を説明するフローチャートである。即ち、このフローチャートはCPU101がサスペンドモードに移行するトリガを受け付けた後で、サスペンドモードに移行する前に実行される。このサスペンドモードに移行するトリガには、操作部102からの指示、或いはネットワークI/F103からの指示等がある。この図8のフローチャートで示される各処理は、CPU101が、WideIO−SDRAM113に展開されたプログラムを読む込みながら実行するものである。
まずS801で、CPU101は、温度センサ309〜312のそれぞれで検知した温度情報を取得する。この温度情報の取得は、図7のフローチャートで示す処理に従って行われる。本実施形態1では、取得した温度情報は、例えば図9に示されるような値であるとして、以下の説明を行っていくことにする。即ち、温度センサ309が検知した温度情報は50℃、温度センサ310が検知した温度情報は60℃、温度センサ311が検知した温度情報は65℃、温度センサ312が検知した温度情報は70℃であるものとする。
次にS802に進み、CPU101は、S801で取得した温度情報を基に、最も低温のSDRAMを特定する。本実施形態1では、図9に示すように、S801で取得した温度情報で最も低温なのは温度センサ309が検知した50℃である。従って、SDRAM301が最も低温のSDRAMであると特定することができる。
次にS803に進み、CPU101は、S802で特定した最も低温のSDRAMのアドレス領域に、状態データを格納できるメモリ領域を確保できるか否かを判定する。即ち、SDRAM301に割り当てられたアドレス0x0000_0000〜0x2000_0000の領域に、状態データが必要とするメモリ領域を確保できるか否かを判定する。S803で、メモリ領域を確保できると判定した場合はS804に進む。S803でCPU101は、S802で特定したSDRAMのアドレス領域に、必要なメモリ領域を確保することで、最も低温のSDRAMをサスペンドモードで使用するSDRAMに決定してS805に進む。
次にS805で、CPU101は、その状態データが、サスペンドモードで使用するSDRAMに既に存在するかを判定する。存在するときはS807に進むが、存在しない場合はS806に進み、CPU101は、状態データを、サスペンドモードで使用するSDRAMに移動する記憶制御を行ってS807に進む。このとき状態データが複数のSDRAMに分散している場合も、同様に状態データを移動させる。S807では、CPU101は、サスペンドモードで使用するSDRAMを示す情報、及び状態データが格納されているアドレス情報(以下、復帰時参照情報とする)をHDD105に格納する。次にS808に進み、CPU101は、サスペンドモードで使用しないSDRAMへの電力供給を停止する。そしてS809に進み、CPU101は、サスペンドモードで使用するSDRAMの動作モードをセルフリフレッシュ状態に変更する。具体的には、図4のメモリコントローラ動作モード設定レジスタ403〜406の内の必要なレジスタに、セルフリフレッシュを意味する値を設定する。これによりメモリコントローラ305〜308の内の対応するメモリコントローラは、対応するSDRAMの動作モードをセルフリフレッシュ状態に変更する。尚、このとき、複数のSDRAMの動作モードをセルフリフレッシュに変更する必要がある場合は、同時に変更しても良く、或いは一定の時間間隔を空けて変更してもよい。
一方、S803で、CPU101が、S802で特定したSDRAMのアドレス領域に、状態データを格納でいるメモリ領域を確保できないと判定するとS810に進む。S810でCPU101は、S801で取得した温度情報を基に、2番目に低温のSDRAMを特定する。本実施形態1では、図9において、2番目に低温なのは温度センサ310の60℃である。従って、SDRAM302が2番目に低温なSDRAMであると特定することができる。そしてS811に進み、CPU101は、S802とS810で特定した1〜2番目に低温なSDRAMのアドレス領域に、状態データを格納できるメモリ領域を確保できるか判定する。即ち、SDRAM301及び302に割り当てられたアドレス0x0000_0000〜0x4000_0000の領域に、状態データが必要とするメモリ領域を確保できるか否かを判定する。S811で、CPU101がメモリ領域を確保することができると判定した場合はS812に進み、CPU101は、1〜2番目に低温なSDRAMのアドレス領域に、必要とするメモリ領域を確保する。そして1〜2番目に低温なSDRAMを、サスペンドモードで使用するSDRAMに決定してS805に進む。
一方、S811で、CPU101が、1〜2番目に低温なSDRAMに、必要とするメモリ領域を確保できないと判定した場合はS813に進み、CPU101は、S801で取得した温度情報を基に、3番目に低温のSDRAMを特定する。本実施形態1では、図9から、3番目に低温なのは温度センサ311の65℃である。従って、SDRAM303が3番目に低温なSDRAMであると特定できる。次にS814に進み、CPU101は、S802、S810,S813で特定した1〜3番目に低温なSDRAMのアドレス領域に、状態データを格納できるメモリ領域を確保できるか判定する。即ち、SDRAM301,302,303に割り当てられたアドレス0x0000_0000〜0x6000_0000の領域に、状態データが必要とするメモリ領域を確保できるか否かを判定する。ここで確保できると判定した場合はS815に進み、CPU101は、1〜3番目に低温なSDRAMのアドレス領域にメモリ領域を確保することで、1〜3番目に低温なSDRAMをサスペンドモードで使用するSDRAMに決定してS805に進む。
一方、S814で、CPU101が、状態データが必要とするメモリ領域を確保できないと判定した場合はS816に進む。S816では、CPU101は、1〜4番目に低温なSDRAM301〜304に割り当てられたアドレス領域に、状態データが必要とするメモリ領域を確保することで、サスペンドモードで使用するSDRAMに決定してS809に進む。ここでSDRAM301〜304に割り当てられた領域とは、アドレス0x0000_0000〜0x8000_0000の領域である。
以上説明したように本実施形態1によれば、WideIOメモリデバイスの最も低い温度のSDRAMのアドレス領域を、優先的にサスペンドモードで使用するアドレス領域とする。これにより、サスペンドモードでのメモリの温度上昇による影響を少なくできるという効果がある。
図10は、実施形態1に係るMFP100のCPU101が、MFP100をサスペンドモードから通常モードに復帰させる際の処理を説明するフローチャートである。この処理は、CPU101が、通常モードに復帰するトリガを受け付けた後で、かつ通常モードに復帰する前に実行される。この通常モードへの復帰トリガには、操作部102からの指示、或いはネットワークI/F103からのジョブ受信などがある。図10のフローチャートで示す処理は、ROM106に格納されたプログラムを読む込みながら、CPU101が実行し、S1004の処理は、WideIO−SDRAM113に展開されたプログラムを読む込みながら、CPU101が実行する。
先ずS1001で、CPU101は、HDD105に格納されている復帰時参照情報を読み出して取得する。次にS1002に進み、CPU101は、S1001で読み出した復帰時参照情報に含まれるサスペンドモードで使用するSDRAMを示す情報を参照し、サスペンドモードで使用しているSDRAMを特定する。図8のフローチャートで説明したように、サスペンドモードで使用するSDRAMには状態データが格納されている。次にS1003に進み、CPU101は、そのサスペンドモードで使用されていたSDRAMの動作モードを通常の動作モードに変更する。これは図4のメモリコントローラ動作モード設定レジスタ403〜406の内の必要なレジスタに、通常の動作モードを意味する値を設定することによりなされる。これにより、メモリコントローラ305〜308は、対応するSDRAMの動作モードを通常の動作モードに変更する。尚、ここで複数のSDRAMの動作モードを通常の動作モードに変更する必要がある場合は、同時に変更してもよいし、一定の時間間隔を空けて変更してもよい。
次にS1004に進み、CPU101は、その復帰時参照情報に含まれる状態データが格納されているアドレス情報を参照し、そのSDRAMから状態データを読み出す。そしてS1005に進み、CPU101は、その状態データを参照して、通常モードへの復帰に必要な処理を行って復帰動作を完了する。尚、ここで復帰に必要な処理には、CPU101が有するCPUの状態を示すレジスタに、状態データに格納されている値を書き込むことや、CPU101がサスペンドモードへ移行する前に実行していたプログラムを再開するための前処理が含まれる。
以上説明したように本実施形態1によれば、MFP100がサスペンドモードに移行する際に、状態データを格納するためのメモリ領域を、温度が低いSDRAMのアドレス領域から優先的に確保するようにした。このため、高温のSDRAMの温度が更に上昇するのを防止できるため消費電力を低減でき、また通常モードへの復帰時間を短縮することができる。
[実施形態2]
次に本発明の実施形態2を説明する。この実施形態2では、図13に示すSOCダイ201の各領域のレイアウト情報と発熱量情報を用いて、サスペンドモードで使用する発熱量の小さい領域を算出する。そして、その領域の上部にあるWideIO−SDRAMを優先的に使用するようにメモリ領域を割り当てる。以下、前述の実施形態1との差分を中心に説明する。尚、実施形態2に係るMFP100の構成は、前述の実施形態1と同じであるため、その説明を省略する。
図11は、本発明の実施形態2に係るMFP100の操作部102,HDD105,ROM106、デバイスI/F107の詳細な構成を示したブロック図である。操作部102,HDD105,ROM106にはそれぞれ、表示コントローラ1102,SATAコントローラ1104、フラッシュROMコントローラ1106などの各種汎用I/Fコントローラが含まれている。同様に、表示部1101,SATA HDD1103、フラッシュROM1105等の、上述の汎用I/Fコントローラ1102,1104,1106で制御される汎用デバイスが含まれている。またデバイスI/F107には、スキャナI/F1107とプリンタI/F1108が含まれており、スキャナ116、プリンタエンジン117との間で制御信号や画像データの授受を行っている。
図12(A)は、WideIO−SDRAM113を構成する各SDRAM301〜304と、SOCダイ201の領域との関係を示す図、図12(B)は、SOCダイ201の領域を6x6の領域に等分割した時の、各領域の位置関係を表す図である。SDRAM301〜304は、前述したとおり、SOCダイ201の領域を4分割した領域の各上部にそれぞれ積層されており、ここでは図12(A)に示すように、各領域を領域A〜Dとする。また領域A〜Dの各領域をさらに3x3に分割し、図12(B)に示すように、分割した各領域をA1〜A9,B1〜B9,C1〜C9,D1〜D9とする。これらの各領域を活性化させることで発生した熱は、その上層部に位置するSDRAM301〜304に伝播し、その消費電力に大きな影響を与えることになる。
図13は、実施形態2に係るMFP100の各ブロック(図1)が、図12(B)に示すSOCダイ201の分割された領域のどこに割り当てされているか、及びそれぞれの領域を活性化させた際の発熱量を相対値で示したテーブルを説明する図である。ここでSOCダイ201は、図1の各ブロックに対応する回路を配置しており、その回路が起動されることにより、図12に示す各領域の発熱量が異なってくる。
これによれば、例えば、CPU101は、領域A6,B1,B2,B4,B5に跨ってレイアウトされているため、CPU101が動作している場合、これらの領域が活性化される。それによって、図12(B)における領域Aは「1」、領域Bは「10」だけ単位時間に発熱することになる。また、プリント画像処理部109は、B8,C1,C2,C4,C5,C6の領域にまたがってレイアウトされているため、プリント画像処理部109が動作している場合、これらの領域が活性化される。それによって、図12(B)の領域Bは「2」、領域Cは「11」だけ単位時間に発熱することになる。この図13に示される情報は、SOCダイ201の設計時に予め取得しておき、ROM106やWideIO−SDRAM113に格納しておく。より具体的には、どの領域に、図1のどの機能ブロックが割り当てられているかは、SOCダイ201の設計時のレイアウト情報として得られる。また、各領域を活性化させた時の発熱量は、SOCダイ201の設計時の熱シミュレーション等で得られる。
図14は、実施形態2に係るMFP100のCPU101が、MFP100をサスペンドモードに移行させる際に、使用するSDRAMを決定するための処理を示すフローチャートである。即ち、このフローチャートは、CPU101がサスペンドモードに移行するトリガを受け付けた後で、かつサスペンドモードに移行する前に実行される。サスペンドモードへ移行するトリガには、操作部102からの指示、或いはネットワークI/F103からの指示等がある。図14のフローチャートで説明される各処理は、WideIO−SDRAM113に展開されたプログラムを読む込みながら、CPU101が実行するものである。
先ずS1401で、CPU101は、サスペンドモードへ移行するトリガを受け付けると、サスペンドモード時に活性化する機能ブロックを抽出する。そしてS14012に進み、CPU101は、その抽出した機能ブロック情報と、図13のテーブルとから、図12(B)に示す各領域A〜Dの発熱量を算出する。そしてCPU101は、最も発熱量の小さい領域の上に位置しているSDRAMを特定する。
次にS1403に進み、CPU101は、S1402で特定した最も発熱量の小さい領域上のSDRAMのアドレス領域に、状態データを格納できるメモリ領域を確保できるか否かを判定する。即ち、例えばSDRAM301であれば、アドレス0x0000_0000〜0x2000_0000の領域に、状態データが必要とするメモリ領域を確保できるか否かを判定する。ここでメモリ領域を確保できると判定した場合はS1404に進み、CPU101は、その最も発熱量の小さい領域上のSDRAMのアドレス領域に、状態データが必要とするメモリ領域を確保する。そして、そのSDRAMをサスペンドモードで使用するSDRAMと決定する。そして以下、S805〜S809に示された処理を実行する。尚、これらの処理は、図8で述べた処理と同一であるので、その説明を省略する。
一方、S1403で、CPU101は、S1402で特定したSDRAMに、必要なメモリ領域を確保することができないと判定した場合はS1405に進む。S1405でCPU101は、S1402で算出した領域A〜Dの発熱量情報から、2番目に発熱量の小さい領域を求め、その領域上のSDRAMを特定する。次にS1406に進み、CPU101は、S1402,S1405で特定した1〜2番目に発熱量の小さい領域上のWideIO−SDRAMに、必要とするメモリ領域を確保できるかどうか否か判定する。即ち、例えばSDRAM301及び302であれば、アドレス0x0000_0000〜0x4000_0000の領域に、状態データが必要とするメモリ領域を確保できるかを判定する。ここで確保できると判定した場合はS1407に進み、CPU101は、1〜2番目に発熱量の小さいSDRAMのアドレス領域に、必要とするメモリ領域を確保する。そして、1〜2番目に発熱量の小さい領域上のSDRAMを、サスペンドモードで使用するSDRAMと決定する。そしてS805に進むが、S805以降の処理の説明を省略する。
一方、S1406で、CPU101は、S1405で特定したSDRAMに、必要なサイズだけメモリ領域を確保することができないと判定した場合はS1408に進む。S1408で、CPU101は、S1402で算出した領域A〜Dの発熱量情報から、3番目に発熱量の小さい領域上のSDRAMを特定する。そしてS1409に進み、CPU101は、S1402,S1405及びS1408で特定したSDRAMのアドレス領域に、状態データを格納できるメモリ領域を確保できるか否かを判定する。即ち、SDRAM301〜303であれば、アドレス0x0000_0000〜0x6000_0000の領域に、状態データが必要とするメモリ領域を確保できるか否かを判定する。ここで確保できると判定した場合はS1410に進み、CPU101は、1〜3番目に発熱量の小さい領域上のSDRAMのアドレス領域にメモリ領域を確保する。こうしてCPU101は、1〜3番目に発熱量の小さい領域上のSDRAMをサスペンドモードで使用するSDRAMと決定してS805に進む。S805以降の処理は、その説明を省略する。
またS1409で、CPU101が、必要なサイズのメモリ領域を確保できないと判定した場合はS1411に進む。S1411で、CPU101は、1〜4番目に低温な領域上のSDRAM301〜304に割り当てられたアドレスに、状態データが必要とするメモリ領域を確保し、これらSDRAMをサスペンドモードで使用するSDRAMと決定してS809に進む。尚、S809以降の処理はその説明を省略する。
次に、各処理の詳細について、サスペンドモードの具体例を挙げて説明する。本実施形態2では、ネットワークI/F103からの指示を、通常モードからサスペンドモードへのトリガとする例で説明する。
ネットワークI/F103からの指示で、サスペンドモードに移行した状態で使用する機能ブロックは、CPU101、ネットワークI/F103,ROM106,WideIOコントローラ112であり、S1401で、これら機能ブロックを抽出する。次にS1402で、抽出した機能ブロックの情報と、図13のテーブルとを参照して、領域A〜Dの発熱量を計算する。前述の機能ブロックを動作させた場合、図13のテーブルの情報から、領域A6,A9,B1,B2,B4,B5,B6,B7,B9,C3が活性化される。従って、ネットワークI/F103からの指示で移行するサスペンドモードにおいて、SOCダイ201の領域A〜Dで発生する相対的な熱量は、A=3,B=15,C=1,D=0であると計算される。ここで、ネットワークI/F103からの指示で移行するサスペンドモードにおいて、SOCダイ201で発生する熱量が小さい領域は、領域D<領域C<領域A<領域Bであると分かる。よってS1403〜S1411の順番に従って、メモリ領域が確保できるかどうかを判定してメモリ領域を確保する。例えばS1404で領域DのSDRAM304が確保できた場合、CPU101はS805で、状態データがSDRAM304に存在するかを判定する。存在しない場合はS806に進み、CPU101は、状態データをSDRAM304に移動する。そしてS807で、CPU101は、復帰時参照情報をHDD105に格し、その後、S808で、CPU101は、SDRAM301,302,303への電源供給を停止する。そしてS809に進み、CPU101は、SDRAM304の動作モードをセルフリフレッシュに変更する。
また、MFP100が、サスペンドモードから通常モードに復帰する場合の処理は、図10に示すフローチャートと同一である。
以上説明したように実施形態2によれば、サスペンドモード時に活性化する機能ブロックが発する熱量の総和を、SOCダイ201の各領域ごとに算出する。そして、発熱量が小さい領域上のWideIO−SDRAMを、サスペンドモード時に使用するメモリ領域として優先的に確保する。これによって、サスペンドモード時に活性化されることによって発熱するSOCの領域と同じ領域に含まれるWideIO−SDRAMの使用をできるだけ回避させてメモリの温度上昇を抑えることができる。こうしてサスペンドモードでの、急激な局所温度の上昇を防止することができ、サスペンドモードにおける消費電力の低減と、通常モードへの復帰時間の短縮とが可能となる。
[実施形態3]
次に本発明を実施するための実施形態3を説明する。この実施形態3では、前述の実施形態1,2で説明した、使用するメモリ領域を決定する際に、温度や発熱量が同一である場合のメモリ領域の決定方法を説明する。以下、実施形態1を基にその差分を中心に説明する。
図15〜図18は、本発明の実施形態3に係るMFP100のCPU101が、MFP100をサスペンドモードに移行させる際に、使用するSDRAMを決定するための処理を説明するフローチャートである。即ち、このフローチャートは、CPU101がサスペンドモードに移行するトリガを受け付けた後で、かつサスペンドモードに移行する前に実行される。このサスペンドモードに移行するトリガには、操作部102からの指示、或いはネットワークI/F103からの指示等がある。図15〜図19のフローチャートで説明される各処理は、WideIO−SDRAM113に展開されたプログラムを読む込みながら、CPU101が行う。
まずS1501で、CPU101は、各温度センサで検知した温度情報を取得する。CPU101による温度情報の取得は、図7のフローチャートで説明した通りである。次にS1502に進み、CPU101は、S1501で取得した温度情報を基に、最も低温のSDRAMを特定する。そしてS1503に進み、CPU101は、S1502で特定した最も低温のSDRAMのアドレス領域に、状態データを格納できるメモリ領域を確保できるか否かを判定する。ここで確保できると判定した場合はS1504に進み、CPU101は、最も低温のSDRAMが複数存在するか否かを判定する。最も低温のSDRAMが複数存在しないと判定した場合はS1505に進み、CPU101は、その最も低温のSDRAMのアドレス領域に、状態データが必要とするメモリ領域を確保することで、サスペンドモードで使用するSDRAMと決定する。以下、S805〜S809に示された処理と進む。これらの処理は、図8で述べた処理と同一であるので、その説明を省略する。
一方、S1504で、CPU101が、最も低温のSDRAMが複数存在すると判定した場合はS1506に進み、CPU101は、状態データが最も低温のSDRAMに存在するか否かを判定する。ここで存在すると判定した場合はS1507に進み、CPU101は、状態データが存在するSDRAMのアドレス領域を、優先的に状態データを保存するメモリ領域として確保する。こうして、状態データが存在するSDRAMを、サスペンドモードで使用するSDRAMとして特定する。以降、S807に処理が進むが、その説明は省略する。
またS1506で、CPU101が、状態データが最も低温のSDRAMに存在しないと判定した場合はS1508に進む。S1508でCPU101は、予め決められた優先順位に従って、それら複数のSDRAMにメモリ領域を確保することで、サスペンドモードで使用するSDRAMを決定する。ここで優先順位を示す情報は、HDD105やROM106に格納しておき、CPU101が取得するようにしてもよい。以降、S806に処理が進むが、その説明は省略する。
次にS1503で、CPU101が、S1502で特定した最も低温のSDRAMに割り当てられたアドレス領域に、必要なサイズのメモリ領域を確保することができないと判定した場合は図16のS1509に進む。S1509で、CPU101は、S1501で取得した温度情報を基に、2番目に低温のSDRAMを特定する。次にS1510に進み、CPU101は、S1502,S1509で特定した1〜2番目に低温のSDRAMのアドレス領域に、状態データを格納できるメモリ領域を確保できるか否かを判定する。確保できると判定した場合はS1511に進み、CPU101は、2番目に低温のSDRAMが複数存在するかを判定する。2番目に低温のSDRAMが複数存在しないと判定した場合はS1512に進み、CPU101は、1〜2番目に低温のSDRAMのアドレス領域に、そのメモリ領域を確保する。こうして1〜2番目に低温のSDRAMを、サスペンドモードで使用するSDRAMと決定する。以降、処理はS805に進むが、その説明は省略する。
一方、S1511で、CPU101が、最も低温のSDRAMが複数存在すると判定した場合はS1513に進み、CPU101は、状態データが2番目に低温のSDRAMに存在するか否かを判定する。ここで存在すると判定した場合はS1514に進み、CPU101は、その状態データが存在するSDRAMのアドレス領域を優先的にメモリ領域として確保する。こうして、CPU101は、状態データが存在するSDRAMをサスペンドモードで使用するSDRAMと決定する。以降、処理はS807に進むが、その説明は省略する。
またS1513で、CPU101が、状態データが2番目に低温のSDRAMに存在しないと判定した場合はS1515に進み、CPU101は、予め決められた優先順位に従ってメモリ領域を確保して、サスペンドモードで使用するSDRAMを決定する。この優先順位を示す情報は、HDD105やROM106に格納しておき、CPU101が取得するようにしてもよい。以降、処理はS806に進むが、その説明は省略する。
またS1510で、CPU101が、メモリ領域を確保できないと判定した場合は図17のS1516に進む。S1516で、CPU101は、S1501で取得した温度情報を基に、3番目に低温のSDRAMを特定する。次にS1517に進み、CPU101は、S1502,S1509及びS1516で特定した1〜3番目に低温のSDRAMのアドレス領域に、状態データを格納できるメモリ領域を確保できるか否かを判定する。確保できると判定した場合はS1518に進み、CPU101は、3番目に低温のSDRAMが複数存在するかを判定する。ここで3番目に低温のSDRAMが複数存在しないと判定した場合はS1519に進む。S1519でCPU101は、1〜3番目に低温のSDRAMのアドレス領域に、状態データが必要とするメモリ領域を確保する。こうして、1〜3番目に低温のSDRAMを、サスペンドモードで使用するSDRAMと決定する。以降、S805に処理が進むが、その説明は省略する。
一方、S1518で、CPU101が、3番目に低温のSDRAMが複数存在すると判定した場合はS1520に進み、CPU101は、状態データが3番目に低温のSDRAMに存在するか否かを判定する。ここで存在すると判定した場合はS1521に進み、CPU101は、その状態データが存在するSDRAMのアドレス領域を、優先的にメモリ領域として確保する。こうしてCPU101は、その状態データが存在するSDRAMを、サスペンドモードで使用するSDRAMと決定する。以降、S807に処理が進むが、その説明は省略する。
またS1520で、CPU101が、状態データが3番目に低温のSDRAMに存在しないと判定した場合はS1522に進み、CPU101は、予め決められた優先順位に従ってメモリ領域を確保して、サスペンドモードで使用するSDRAMを決定する。この優先順位を示す情報は、HDD105やROM106に格納しておき、CPU101が取得するようにしてもよい。以降、S806の処理が進むが、その説明は省略する。
またS1517で、CPU101が、メモリ領域を確保できないと判定した場合はS1523に進み、CPU101は、1〜4番目に低温のSDRAM301〜304のアドレス領域に、そのメモリ領域を確保する。そして以降、S805に処理が進むが、S1524以降の処理は上述した通りであるため、その説明は省略する。
次に、各処理の詳細について、取得した温度情報の具体的な値を挙げて説明する。本実施形態3では、取得した温度情報を例えば図19に示されるような値であるとして、以下の説明を行っていくことにする。即ち、温度センサ309が検知した温度情報が50℃、温度センサ310が検知した温度情報は50℃、温度センサ311が検知した温度情報は65℃、温度センサ312が検知した温度情報は70℃であるものとする。また、状態データの必要メモリ領域は、アドレス0x0000_1000分とし、状態データはSDRAM301に存在するとする。
まず図15のS1501で、CPU101は、図19に示すような温度情報を取得する。次にS1502で、CPU101は、最も低温のSDRAMがSDRAM301及び302であると判定する。次にS1503で、CPU101は、SDRAM301及び302に割り当てられたアドレス0x0000_0000〜0x4000_0000の領域に、状態データを格納できるメモリ領域を確保できるか否かを判定する。本実施形態3では、メモリ領域を確保でき、かつ最も低温のSDRAMがSDRAM301及び302の複数存在するためS1506に進み、CPU101は、状態データがSDRAM301もしくは302に存在するかを判定する。本実施形態3では、SDRAM301に状態データが存在するためS1507に進み、CPU101は、状態データが存在するSDRAM301のアドレス領域にメモリ領域を確保する。そして図18のS807に進み、CPUは、復帰時参照情報をHDD105に格納し、S808で、CPU101は、SDRAM302,303,304への電源供給を停止する。さらにS809で、CPU101は、SDRAM301の動作モードをセルフリフレッシュに変更する。
尚、MFP100がサスペンドモードから通常モードに復帰する方法は、前述の図10に示すフローチャートと同一である。
また実施形態2のように、SOCダイ201の発熱量に基づいて使用するSDRAMを決定する際に、同一発熱量の領域が複数存在する場合も同様にして実行できる。
以上のように本実施形態3によれば、温度が同一である複数のSDRAMや、発熱量が同一である複数の領域が存在する場合は、状態データが存在しているSDRAMをサスペンドモードで使用するメモリと決定する。これにより、メモリ間での状態データの移動をなくすことができるため、データの移動に伴う電力消費を低減することができる。
[実施形態4]
実施形態4として、CPU101が図示しないタイマを用いることにより、サスペンドモードで、定期的にサスペンドモード時に使用するSDRAMを選択する実施形態も考えられる。サスペンドモード時に使用するSDRAMの選択方法は、図8または図14に記載のフローチャートと同一の処理で実行できる。
これによって、サスペンドモードでSDRAMの温度状態が変化する場合においても、SDRAMの温度上昇を抑えて消費電力を低減できるようになる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (13)

  1. CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
    前記WideIOメモリデバイスに備えられる複数のメモリのそれぞれの温度を検知する温度検知手段と、
    省電力モードへ移行する時、前記温度検知手段が検知した温度に基づいて、より低い温度のメモリを優先的に、前記省電力モードで使用するメモリとして特定する特定手段と、
    前記特定手段により特定されたメモリに、前記省電力モードから通常モードに復帰するための情報を記憶する記憶制御手段と、
    を有することを特徴とする情報処理装置。
  2. 前記特定手段は、1つのメモリに前記情報を全て記憶できないときは、次に温度の低いメモリを特定することを特徴とする請求項1に記載の情報処理装置。
  3. CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
    前記SOCダイの領域を複数の領域に分割したとき、前記複数の領域のそれぞれが省電力モードで発熱する発熱量を算出する算出手段と、
    前記算出手段により算出された前記発熱量が少ない領域上に位置しているメモリを優先的に、前記省電力モードで使用するメモリとして特定する特定手段と、
    前記特定手段により特定されたメモリに、前記省電力モードから通常モードに復帰するための情報を記憶する記憶制御手段と、
    を有することを特徴とする情報処理装置。
  4. 前記特定手段は、1つのメモリに前記情報を全て記憶できないときは、次に前記発熱量が少ない領域上に位置しているメモリを特定することを特徴とする請求項3に記載の情報処理装置。
  5. 前記特定手段により特定されたメモリをセルフリフレッシュ状態とし、前記特定手段により特定されないメモリへの電源供給を停止させる制御手段を更に有することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記省電力モードへ移行する時、前記記憶制御手段により前記情報を記憶したメモリの復帰時参照情報を格納する格納手段を更に有することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記特定手段は、最も低い温度のメモリが複数存在するか、或いは前記発熱量が少ない領域が複数存在するとき、前記最も低い温度のメモリ、或いは前記発熱量が少ない領域上に位置している複数のメモリのうち、既に前記情報を記憶しているメモリを、前記省電力モードで使用するメモリとして特定することを特徴とする請求項1に記載の情報処理装置。
  8. 前記WideIOメモリデバイスは複数のメモリチャネルで構成され、各メモリチャネルに前記メモリが配置されていることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. 前記複数のメモリのそれぞれは、温度を検知する温度センサを有し、前記温度検知手段は前記温度センサにより検知した温度を基に複数のメモリのそれぞれの温度を検知することを特徴とする請求項1に記載の情報処理装置。
  10. CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置を制御する制御方法であって、
    温度検知手段が、前記WideIOメモリデバイスに備えられる複数のメモリのそれぞれの温度を検知する温度検知工程と、
    特定手段が、省電力モードへ移行する時、前記温度検知工程で検知した温度に基づいて、より低い温度のメモリを優先的に、前記省電力モードで使用するメモリとして特定する特定工程と、
    記憶制御手段が、前記特定工程で特定されたメモリに、前記省電力モードから通常モードに復帰するための情報を記憶する記憶制御工程と、
    を有することを特徴とする情報処理装置の制御方法。
  11. CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置を制御する制御方法であって、
    算出手段が、前記SOCダイの領域を複数の領域に分割したとき、前記複数の領域のそれぞれが省電力モードで発熱する発熱量を算出する算出工程と、
    特定手段が、前記算出工程で算出された前記発熱量が少ない領域上に位置しているメモリを優先的に、前記省電力モードで使用するメモリとして特定する特定工程と、
    記憶制御手段が、前記特定工程で特定されたメモリに、前記省電力モードから通常モードに復帰するための情報を記憶する記憶制御工程と、
    を有することを特徴とする情報処理装置の制御方法。
  12. コンピュータに、請求項10又は11の制御方法を実行させるためのプログラム。
  13. 請求項12に記載のプログラムを記憶した、コンピュータにより読み取り可能な記憶媒体。
JP2012227425A 2012-10-12 2012-10-12 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 Pending JP2014081688A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012227425A JP2014081688A (ja) 2012-10-12 2012-10-12 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
US14/044,394 US9442551B2 (en) 2012-10-12 2013-10-02 Information processing apparatus, control method for the same and storage medium
CN201310475654.5A CN103729050B (zh) 2012-10-12 2013-10-12 信息处理设备及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012227425A JP2014081688A (ja) 2012-10-12 2012-10-12 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体

Publications (1)

Publication Number Publication Date
JP2014081688A true JP2014081688A (ja) 2014-05-08

Family

ID=50453160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012227425A Pending JP2014081688A (ja) 2012-10-12 2012-10-12 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体

Country Status (3)

Country Link
US (1) US9442551B2 (ja)
JP (1) JP2014081688A (ja)
CN (1) CN103729050B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016507826A (ja) * 2013-01-08 2016-03-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated インテリジェントな電流/電力消費最小化を伴う、向上した動的メモリ管理
CN113707192A (zh) * 2021-09-01 2021-11-26 合肥兆芯电子有限公司 存储器温控调频方法及存储器温控调频系统

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990360B2 (en) * 2008-02-22 2015-03-24 Sonos, Inc. System, method, and computer program for remotely managing a digital device
JP2014044527A (ja) * 2012-08-24 2014-03-13 Canon Inc 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
JP2014081688A (ja) * 2012-10-12 2014-05-08 Canon Inc 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
JP2014106917A (ja) * 2012-11-29 2014-06-09 Canon Inc 情報処理装置、その制御方法、及びプログラム
JP6004927B2 (ja) * 2012-12-07 2016-10-12 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JP2015041395A (ja) * 2013-08-20 2015-03-02 キヤノン株式会社 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
JP2015114777A (ja) * 2013-12-10 2015-06-22 富士通株式会社 情報処理端末、電力制御プログラムおよび電力制御方法
US9811142B2 (en) * 2014-09-29 2017-11-07 Apple Inc. Low energy processor for controlling operating states of a computer system
US10411693B2 (en) * 2014-10-28 2019-09-10 Infineon Technologies Ag Methods and circuits for improved reliability of power devices operating under repetitive thermal stress
KR102276374B1 (ko) * 2015-01-09 2021-07-14 삼성전자주식회사 PoP 구조의 반도체 패키지 및 그에 따른 리프레쉬 제어방법
US9626311B2 (en) 2015-01-22 2017-04-18 Qualcomm Incorporated Memory controller placement in a three-dimensional (3D) integrated circuit (IC) (3DIC) employing distributed through-silicon-via (TSV) farms
US11397460B2 (en) * 2019-06-20 2022-07-26 Western Digital Technologies, Inc. Intelligent power saving mode for solid state drive (ssd) systems
KR20230021455A (ko) * 2021-08-05 2023-02-14 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
KR20240065770A (ko) * 2022-11-07 2024-05-14 에스케이하이닉스 주식회사 메모리 다이들의 온도 및 온도 변화량을 기초로 우선 순위를 결정하는 스토리지 장치 및 그 동작 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542449B2 (en) * 2000-05-18 2003-04-01 Matsushita Electric Industrial Co., Ltd. Disk drive apparatus
US7065663B2 (en) * 2002-12-19 2006-06-20 Intel Corporation Methods and apparatus to control power state transitions
KR20050071739A (ko) * 2004-01-02 2005-07-08 삼성전자주식회사 누설 전력을 줄이기 위한 마이크로프로세서
KR100655076B1 (ko) * 2005-01-20 2006-12-08 삼성전자주식회사 반도체 메모리 장치의 내부 온도 데이터 출력 방법 및그에 따른 내부 온도 데이터 출력회로
US7275164B2 (en) * 2005-01-31 2007-09-25 International Business Machines Corporation System and method for fencing any one of the plurality of voltage islands using a lookup table including AC and DC components for each functional block of the voltage islands
KR100816690B1 (ko) * 2006-04-13 2008-03-27 주식회사 하이닉스반도체 온도 감지장치를 구비하는 반도체메모리소자
US7581073B2 (en) * 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US7830690B2 (en) * 2006-10-30 2010-11-09 Intel Corporation Memory module thermal management
JP5458233B2 (ja) * 2007-07-05 2014-04-02 ピーエスフォー ルクスコ エスエイアールエル 半導体記憶装置
US7734440B2 (en) * 2007-10-31 2010-06-08 Agere Systems Inc. On-chip over-temperature detection
US8200999B2 (en) * 2008-08-11 2012-06-12 International Business Machines Corporation Selective power reduction of memory hardware
US8982653B2 (en) * 2008-11-11 2015-03-17 Memory Technologies Llc Method and device for temperature-based data refresh in non-volatile memories
KR101596281B1 (ko) * 2008-12-19 2016-02-22 삼성전자 주식회사 온도 관련 공유 제어회로를 갖는 반도체 메모리 장치
US9235251B2 (en) * 2010-01-11 2016-01-12 Qualcomm Incorporated Dynamic low power mode implementation for computing devices
KR101683814B1 (ko) 2010-07-26 2016-12-08 삼성전자주식회사 관통 전극을 구비하는 반도체 장치
JP2012160086A (ja) 2011-02-01 2012-08-23 Murata Mach Ltd データ処理装置、クライアント装置、及びデータ処理システム
WO2013048518A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Dynamic operations for 3d stacked memory using thermal data
US9148910B1 (en) * 2011-11-21 2015-09-29 Marvell Israel (M.I.S.L.) Ltd. Method and apparatus for heating up integrated circuits
JP2014081688A (ja) * 2012-10-12 2014-05-08 Canon Inc 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016507826A (ja) * 2013-01-08 2016-03-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated インテリジェントな電流/電力消費最小化を伴う、向上した動的メモリ管理
US9760149B2 (en) 2013-01-08 2017-09-12 Qualcomm Incorporated Enhanced dynamic memory management with intelligent current/power consumption minimization
US10429915B2 (en) 2013-01-08 2019-10-01 Qualcomm Incorporated Enhanced dynamic memory management with intelligent current/power consumption minimization
CN113707192A (zh) * 2021-09-01 2021-11-26 合肥兆芯电子有限公司 存储器温控调频方法及存储器温控调频系统
CN113707192B (zh) * 2021-09-01 2023-02-28 合肥兆芯电子有限公司 存储器温控调频方法及存储器温控调频系统

Also Published As

Publication number Publication date
CN103729050B (zh) 2016-08-24
US20140108841A1 (en) 2014-04-17
US9442551B2 (en) 2016-09-13
CN103729050A (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
JP2014081688A (ja) 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
JP2014075002A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2015041395A (ja) 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
JP6101047B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP6004927B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2014044527A (ja) 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
US20140380016A1 (en) Information processing apparatus, control method thereof, and program
US9077839B2 (en) Information processing apparatus, control method, and storage medium for suppressing a decrease in performance due to an increase in memory temperature when using a wide IO memory
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
JP2011095916A (ja) 電子機器
JP6041610B2 (ja) 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
JP6700739B2 (ja) コントローラおよび制御方法
JP5790532B2 (ja) 電子機器、及びメモリー制御方法
JP6720824B2 (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
JP5853792B2 (ja) 画像形成装置及び同装置における起動処理方法
JP2008276557A (ja) 通信制御装置、画像形成装置、通信制御方法及び通信制御プログラム
JP2016154001A (ja) 画像処理装置、画像処理用データ転送制御方法、及び画像処理用データ転送制御プログラム
JP6774027B2 (ja) 情報処理装置およびプログラム
JP2014006725A (ja) 情報処理装置、情報処理方法及びプログラム