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

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

Info

Publication number
JP2015041395A
JP2015041395A JP2013170822A JP2013170822A JP2015041395A JP 2015041395 A JP2015041395 A JP 2015041395A JP 2013170822 A JP2013170822 A JP 2013170822A JP 2013170822 A JP2013170822 A JP 2013170822A JP 2015041395 A JP2015041395 A JP 2015041395A
Authority
JP
Japan
Prior art keywords
temperature
memory device
refresh rate
wideio memory
wideio
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
JP2013170822A
Other languages
English (en)
Inventor
実 神戸川
Minoru Kobegawa
実 神戸川
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 JP2013170822A priority Critical patent/JP2015041395A/ja
Priority to PCT/JP2014/070955 priority patent/WO2015025732A1/en
Priority to US14/895,193 priority patent/US9773532B2/en
Publication of JP2015041395A publication Critical patent/JP2015041395A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40626Temperature related aspects of refresh operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • 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)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Dram (AREA)
  • Semiconductor Memories (AREA)
  • Memory System (AREA)

Abstract

【課題】CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体を提供する。【解決手段】WideIOメモリデバイスの複数のメモリのそれぞれの温度情報を取得し、複数の機能モジュールのそれぞれの実行に応じた、WideIOメモリデバイスの温度分布情報を作成する。そして、その温度分布情報に基づいて、WideIOメモリデバイスの最高温度を求め、当該最高温度に基づいてWideIOメモリデバイスのリフレッシュレートを決定し、情報処理装置の動作モードと、所定の時間間隔における最高温度の変化率とに基づいて、WideIOメモリデバイスのリフレッシュレートを決定する周期を決定し、その決定された周期で、その決定されたリフレッシュレートに従って、WideIOメモリデバイスをリフレッシュする。【選択図】図10

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.8(GB/秒)以上の高帯域が得られるとともに、アクセス周波数を低く抑えているので低消費電力であることが挙げられる。また、TSVを採用したことで、従来のPoP(Package on Package)に比べてパッケージサイズを薄く小さくできる。更に、SOCパッケージ内にメモリを積層することによる熱対策として、メモリの温度を検出する温度センサを内蔵し、その検出した温度に応じてセルフ・リフレッシュレートを変化させている。また512ビットのデータ幅を、それぞれ128ビットの4つのチャネルに分割し、各チャネルを独立して制御できるように構成されている。例えば、チャネル1とチャネル2とをセルフリフレッシュ状態にし、チャネル3とチャネル4とを、通常のメモリアクセスに使用する等の使い方ができる。このようなWideIOの基本的な構造や基本的なアクセス方法が特許文献1に記載されている。
米国特許公開 2012/0018885号公報
DRAMは、各セルに備えられたコンデンサに電荷を蓄えることでデータの記憶を行っているが、このコンデンサは半導体のリーク電流により放電するため、DRAMのデータを保持するためにリフレッシュ動作によりコンデンサを充電する必要がある。この電荷の放電は温度に依存し、温度が高いほど放電スピードが速くなるため、温度が高くなると、リフレッシュレートを高める必要がある。
従来のメモリアクセス制御方法では、メモリコントローラに設定するオートリフレッシュのレートは、DRAMが到達する最高温度に対応して設定されていた。そのためDRAMの温度が低い場合は、オートリフレッシュのレートを低くして消費電力の抑制及びアクセス性能の向上をもたらす余地があった。
適切なオートリフレッシュのレートを決定するためには、DRAMチップ上で最も温度が高くなっている位置(以下、ホットスポット)の温度をリアルタイムで検出し、その温度に対して必要十分なオートリフレッシュのレートを設定すれば良い。しかしながら、これには以下のような課題があった。
第1の課題は、ホットスポットの温度を精度よく取得することである。積層されたDRAMチップのホットスポットは、従来型のチップのそれよりも顕著に発生するため、ホットスポットと非ホットスポットの温度差が大きくなることが知られている。よって、例えば前述した温度センサが非ホットスポットに位置した場合、そのセンサが検知した温度とホットスポットの温度との間に大きな乖離が生じてしまうことになる。この結果、温度センサにより測定した温度に基づくオートリフレッシュのレートの補正が正しく行われず、消費電力の増大や、DRAMに記憶された内容の消失を招くことになってしまう。
第2の課題は、リアルタイムにホットスポットの温度を検出して、その検出した温度に対応するオートリフレッシュのレートを設定する処理がオーバーヘッドとなることである。
本発明の目的は、上記従来技術の問題点を解決することにある。
本発明の特徴は、積層されたDRAMの温度に応じてリフレッシュのレートの設定を行うことにより、DRAMの帯域を広げることができる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
前記WideIOメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得手段と、
前記SOCダイに含まれ、それぞれが各機能を実行する複数の機能モジュールと、
前記複数の機能モジュールのそれぞれの実行に応じた、前記WideIOメモリデバイスの温度分布情報を作成する作成手段と、
前記温度分布情報に基づいて、前記WideIOメモリデバイスの最高温度を求め、当該最高温度に基づいて前記WideIOメモリデバイスのリフレッシュレートを決定する決定手段と、
前記情報処理装置の動作モードと、所定の時間間隔における前記最高温度の変化率とに基づいて、前記決定手段が前記WideIOメモリデバイスのリフレッシュレートを決定する周期を決定する更新周期決定手段と、
前記更新周期決定手段により決定された前記周期で前記決定手段により決定されたリフレッシュレートに従って、前記WideIOメモリデバイスをリフレッシュするメモリ制御手段と、を有することを特徴とする。
本発明によれば、積層されたDRAMの温度に応じてリフレッシュのレートの設定を行うことにより、DRAMの帯域を広げることができる。またリフレッシュレートを更新するための負荷を低減できるという効果がある。
本実施形態1に係るMFP(デジタル複合機)の全体構成を示すブロック図。 実施形態1に係るWideIO−SDRAMの構造を示す模式図。 実施形態1に係るWideIOコントローラの内部構成を示すブロック図。 実施形態に係るMFPの操作部、HDD、ROM、デバイスI/Fを含む外部I/Fコントローラ及び外部デバイスの構成を説明するブロック図。 実施形態1に係るレジスタの構成を説明する図。 実施形態1に係るWideIO−SDRAMとSOCダイの物理的な位置関係をよりわかり易く説明するSOCパッケージの俯瞰図。 実施形態1に係るWideIO−SDRAMを構成するSDRAMの各デバイスと、SOCダイを6x6の領域に等分割した領域の位置関係を表す図。 実施形態1に係るMFPの各機能が割り当てられたSOCダイの図7(B)に示す領域と、その領域を活性化させた際の発熱量を相対値で示すテーブルを説明する図。 実施形態1に係るMFPにおいて、WideIO−SDRAMのホットスポットの温度の変化に応じてオートリフレッシュのレートを更新する様子を説明する図。 本実施形態1に係るMFPが実施しているメモリアクセス制御方法を説明するフローチャート。 図10のS1003の温度分布情報の生成処理を説明するフローチャート。 実施形態1に係るMFPにおいて、CPUが温度センサで計測した温度情報を取得するための処理(図11のS1108)を説明するフローチャート。 実施形態1において、温度センサにより取得した温度情報を用いて温度分布情報を補正する具体例を説明する図。 オートリフレッシュのレートと温度との関係を説明する図。 図10のS1006のオートリフレッシュのレートを決定する処理を説明するフローチャート。 単位時間当たりの温度変化(以降、温度変化率)と更新周期との関係を示す図。 各動作モード毎にテーブル化した温度変化率と更新周期の関係の一例を示す図。 図10のS1008のリフレッシュレートの更新周期を決定する処理を説明するフローチャート(A)と、HDDのデータ構成を説明する図(B)。 実施形態2に係るリフレッシュレートの更新周期を決定する処理を説明する図。 実施形態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層を積層した例を示す。本実施形態1においては、WideIO−SDRAM202〜205は、図2(B)のチャネル1〜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が、後述する温度情報格納レジスタ502(図5)からの温度情報の取得要求を検知すると、後述する温度センサ指定レジスタ501(図5)で指定された温度センサからの温度情報を取得するコマンドを発行して温度情報を取得する。こうして取得した温度情報は、後述する温度情報格納レジスタ502へ格納される。
図4は、実施形態に係るMFP100の操作部102、HDD105、ROM106、デバイスI/F107を含む外部I/Fコントローラ及び外部デバイスの構成を説明するブロック図である。
操作部102、HDD105,ROM106には、それぞれ表示コントローラ402、SATAコントローラ404、FlashROMコントローラ406などの各種汎用I/Fコントローラが含まれている。同様に、表示部401、SATA HDD403、FlashROM405などの、上記汎用I/Fコントローラで制御される汎用デバイスが含まれている。またデバイスI/F107には、スキャナI/F407とプリンタI/F408が含まれており、スキャナ116及びプリンタエンジン117の各デバイスとの間で制御信号や画像データの授受を行っている。
図5は、実施形態1に係るレジスタ314の構成を説明する図である。
レジスタ314は、温度センサ指定レジスタ501、温度情報格納レジスタ502、メモリコントローラ動作モード設定レジスタ503〜506、オートリフレッシュレートレジスタ507〜510を有している。温度センサ指定レジスタ501は、CPU101が温度センサの温度情報を取得したい場合に、その対象となる温度センサを指定するための情報を格納するレジスタである。本実施形態1においては、4個の温度センサを備える例を用いて説明しているため2ビットのレジスタで構成され、2ビットの各状態により4個の温度センサのそれぞれを特定することができる。温度情報格納レジスタ502は、CPU101からの温度情報の取得要求を入力すると、温度センサ指定レジスタ501で指定された温度センサの温度情報を取得するように温度取得I/F315に対して要求する。そして、温度取得I/F315から取得した温度情報を格納し、CPU101からの温度情報の読み出し要求に応じて、そこに格納している温度情報を出力する。
メモリコントローラ動作モード設定レジスタ503〜506のそれぞれは、各メモリコントローラ305〜308の動作モードを設定するためのレジスタで、各SDRAMのメモリ制御に関する設定値が記憶されている。ここでメモリ制御に関する設定値としては、例えば、メモリアクセスに関するタイミングパラメータ等がある。尚、ここでメモリコントローラ動作モード設定レジスタ503は、メモリコントローラ305の動作モードを設定し、メモリコントローラ動作モード設定レジスタ504はメモリコントローラ306の動作モードを設定する。またメモリコントローラ動作モード設定レジスタ505はメモリコントローラ307の動作モードを設定し、メモリコントローラ動作モード設定レジスタ506はメモリコントローラ308の動作モードを設定する。
オートリフレッシュレートレジスタ507は、メモリコントローラ305がSDRAM301に対して発行するオートリフレッシュレートの周期を保持しておくためのレジスタである。この周期は、CPU101が算出して設定する。メモリコントローラ305は、このレジスタに設定された周期毎にSDRAM301に対しオートリフレッシュコマンドを発行する。このレジスタの設定フローに関する詳細は後述する。
オートリフレッシュレートレジスタ508〜510も同様に、各メモリコントローラ306〜308がSDRAM302に対して発行するオートリフレッシュレートの周期を保持しておくためのレジスタである。各メモリコントローラ306は、このレジスタに設定された周期毎にSDRAM302に対しオートリフレッシュコマンドを発行する。
図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に限定されるものではなく、一例に過ぎない。
図7は、実施形態1に係るWideIO−SDRAM113を構成する各SDRAM301〜304の各デバイスと、SOCダイ201を6x6の領域に等分割した領域の位置関係を表す図である。
SDRAM301〜304のそれぞれは、前述したように、SOCダイ201を4分割した領域の各上部にそれぞれ積層されており、ここでは図7(A)に示すように、各領域を領域A〜Dとする。また、SOCダイ201は、領域A〜Dの各領域を更に3x3に分割し、図7(B)に示すように、分割した各領域をA1〜A9,B1〜B9,C1〜C9,D1〜D9とする。SOCダイ201の各領域を活性化させることで発生した熱は、その上層部に位置するSDRAM301〜304に伝播し、その消費電力やアクセス性能に大きな影響を与えることになる。ここで先に説明した温度センサ309〜312はそれぞれ領域A5,B5,C5,D5に配置されているものとする。
図8は、実施形態1に係るMFP100の各機能が割り当てられたSOCダイ201の図7(B)に示す領域と、その領域を活性化させた際の発熱量を相対値で示すテーブルを説明する図である。尚、以下の説明では、図18(B)に示すHDD105に格納されたテーブル及び各種値を参照する。
これによれば、例えば、CPU101は、領域A6,B1,B2,B4,B5に跨ってレイアウトされているため、CPU101が動作している場合、これらの領域が活性化される。これによりCPU101が動作しているとき、図7(A)の領域Aの単位時間の発熱量は「1」、領域Bの発熱量は「10」(=2+2+3+3)となる。またプリント画像処理部109は、領域B8,C1,C2,C4,C5,C6に跨ってレイアウトされている。よって、プリント画像処理部109が動作している場合、図7(A)の領域Bの単位時間の発熱量は「2」、領域Cは「11」(=2+3+3+2+1)となる。この図8のテーブルの情報は、SOCダイ201の設計時に予め取得してROM106やHDD105に保持しておく。ここではHDD105に発熱量テーブル1810(図18(B))として記憶されているものとする。尚、どの領域に図1のどの機能ブロックが割り当てられているかは、SOCダイ201の設計時のレイアウト情報として得られる。また、各領域を活性化させたときの発熱量は、SOCダイ201設計時の熱シミュレーション等で求められる。
以上説明した構成を有するMFP100において、WideIO−SDRAM113のホットスポットの温度に応じて動的にオートリフレッシュのレートを更新する方法を説明する。
図9は、実施形態1に係るMFP100において、WideIO−SDRAM113のホットスポットの温度の変化に応じてオートリフレッシュのレートを更新する様子を説明する図である。
MFP100は、時刻T0で電源がオンされた後、デバイスの初期化、OSの起動などのブート処理を実行した後、時刻T1でジョブ待ちのアイドルモードに移行する。更に、時刻T2でプリントジョブを受信してプリントモードに移行する。そしてプリントジョブを完了した後、時刻T3で再びアイドルモードに移行し、時刻T4でスキャンジョブを開始する。
このように動作状態が変化することにより、SOCダイ201で活性化される機能モジュールが切り替り、その発熱量が変化するため、WideIO−SDRAM113のホットスポットの位置及びその温度はリアルタイムで変化する。
従来のメモリアクセス制御方法では、全ての動作状態における最高温度901(tempMAX)を想定し、それに対応するオートリフレッシュのレート902(rate_MAX)を固定的に設定してメモリのリフレッシュを行っていた。
これに対して本実施形態1では、SOCダイ201の発熱量に応じて、903で示すようにオートリフレッシュのレートを変化させている。これにより、従来のオートリフレッシュレートのrate_MAX902に比べて、本実施形態1に係るオートリフレッシュのレート903では、オートリフレッシュの回数が減少し、その分、SDRAM113のメモリ帯域が増加することになる。
次に、本実施形態に係るオートリフレッシュのレートの更新処理を詳しく説明する。
図10は、本実施形態1に係るMFP100が実施しているメモリアクセス制御方法を説明するフローチャートである。尚、この処理を実行するプログラムはHDD105にインストールされており、実行時にそのプログラムをWideIO−SDRAM113に展開し、その展開したプログラムCPU101が実行することにより、このフローチャートで示す各処理が実行される。
この処理はMFP100の電源がオンされることにより開始される(図9のT0に対応)。電源がオンされるとS1001でCPU101は、HDD105の1811(図18(B))或いはSDRAMに設けたタイムカウンタ(Cnt)を「0」に初期化し、動作モードをブートモードに設定する。尚、タイムカウンタのカウントダウンは、CPU101のタイマ(不図示)による計時に基づいてなされる。また動作モードの情報はHDD105の1811(図18(B))に格納される。
次にS1002に進みCPU101は、タイムカウンタ(Cnt)の値が「0」か、或いは動作モードが変更されたかどうかを判定する。S1002でタイムカウンタ(Cnt)の初期値は「0」であるため、S1003〜S1004,S1006〜S1009によるオートリフレッシュのレートを更新する処理に進む。
まずS1003でCPU101は、温度分布情報の生成処理を実行する。この処理を図11のフローチャートを参照して説明する。
図11は、図10のS1003の温度分布情報の生成処理を説明するフローチャートである。
まずS1101でCPU101は、電源オン直後の最初の温度分布情報の生成処理かどうかを判定する。そうであればS1102に進みCPU101は、SDRAMの温度は室温とほぼ同一であるはずなので、温度センサ309〜312により検知さされた温度情報を取得する。次にS1103に進みCPU101は、S1102で取得した温度情報を基に均一の温度分布情報を生成してS1110に進む。S1110では、S1103で生成した温度分布情報と、その生成時刻とをHDD105のエリア1812(図18(B))に記憶して、この処理を終了する。
一方S1101でCPU101が、最初の温度分布情報の生成処理でないと判定するとS1104に進む。S1104でCPU101は、前回の温度分布情報が存在するので、前回生成された温度分布情報と、前回それが生成された時刻とをHDD105のエリア1812から取得する。次にS1105に進みCPU101は、現時点の動作モードに対応するSOCダイ201の領域ごとの発熱量データ(図8参照)をHDD105の発熱量テーブル1810から取得する。次にS1106に進みCPU101は、前回の温度分布情報の生成時刻からの経過時間を、CPU101のタイマ(不図示)の計時値と前回の温度分布情報の生成時刻とから求める。次にS1107に進みCPU101は、簡易な熱シミュレーションを行って現在の温度分布情報を算出する。つまり、前回の温度分布情報と、S1105で求めた領域ごとの発熱量情報とから単位時間当たりの熱の移動量を求め、それに前回の温度分布情報の生成時刻からの経過時間を乗じる。こうして熱の総移動量を求め、現在の温度分布情報を取得する。こうして取得した現在の温度分布情報をSDRAMに一時記憶する。そしてS1108に進みCPU101は、温度センサ309〜312により測定された温度情報を取得し、S1107で求めた温度分布情報を補正する。
図12は、実施形態1に係るMFP100において、CPU101が温度センサ309〜312で計測した温度情報を取得するための処理(図11のS1108)を説明するフローチャートである。本実施形態1では温度センサを4個備える構成であるため、図12のフローチャートも4個の温度センサから温度情報を取得している。
先ずS1201で、CPU101は、温度センサ指定レジスタ501に「00」を書き込む。本実施形態1では4個の温度センサを備え、各温度センサを指定するために、次のように各温度センサと温度センサ指定レジスタ501の設定値を対応付けるものとする。即ち、温度センサ指定レジスタ501の値「00」は温度センサ309に対応付けられ、同様に「01」は温度センサ310に、「10」は温度センサ311に、そして「11」は温度センサ312にそれぞれ対応付けられるものとする。従ってS1201では、温度センサ309を指定するために、CPU101は温度センサ指定レジスタ501に「00」を書き込む。次にS1202に進み、CPU101は、温度情報格納レジスタ502に対して温度情報の読み出し要求を発行して、温度センサ309で計測した温度情報を取得する。このとき上述したように、温度情報格納レジスタ502は、CPU101からの読み出し要求を検知すると、温度センサ指定レジスタ501で指定されている温度センサからの温度情報を取得する。そして、その取得した温度情報を、CPU101からの読み出し要求の応答データとしてCPU101に出力する。従って、S1202でCPU101は、温度センサ309が計測した温度情報を取得することになる。
次にS1203に進み、CPU101は、温度センサ310で計測した温度情報を取得するために、温度センサ指定レジスタ501に「01」を書き込む。そしてS1204に進み、CPU101は、温度情報格納レジスタ502に対して温度情報の読み出し要求を発行して温度センサ310で計測した温度情報を取得する。次にS1205に進み、CPU101は温度センサ311で計測した温度情報を取得するために、温度センサ指定レジスタ501に「10」を書き込む。そしてS1206で、CPU101は、温度情報格納レジスタ502に対して温度情報の読み出し要求を発行し、温度センサ311で計測された温度情報を取得する。次にS1207に進み、CPU101は、温度センサ312で計測された温度情報を取得するために、温度センサ指定レジスタ501に「11」を書き込む。そしてS1208でCPU101は、温度情報格納レジスタ502に対して温度情報の読み出し要求を発行して、温度センサ312により計測された温度情報を取得する。以上の処理により、CPU101は、各温度センサで計測された温度情報、即ち、各SDRAM、或いは各チャネルの温度情報を取得することができる。こうして取得した各温度センサにより計測された温度情報は、SDRAMに一時保存される。
こうして各SDRAMの温度情報を取得するとS1109に進みCPU101は、S1108で取得した各温度センサにより計測した温度情報を用いて、図7に示す各領域の温度分布情報を補正する。
図13は、実施形態1において、温度センサ309〜312により取得した温度情報を用いて温度分布情報を補正する具体例を説明する図である。
1300は、温度センサ309〜312により検出した温度値で、それぞれ53℃,55℃,55℃,54℃である。尚、各温度センサは、SDRAM301〜304のそれぞれの中心に設けられているため、各温度センサにより計測された温度は、図7より各SADRAMの中心の領域A5,B5,C5,D5の温度となる。1301は図11のS1107で取得してSDRAMに一時保存された温度分布情報(補正前の温度)の具体例を示す。領域A5の場合は、温度センサ309が検出した温度と補正前の温度はともに53℃で同じであるため、領域A1からA9の温度はそのままとする。領域B5の場合は、温度センサ310が検出した温度が55℃であるのに対して補正前の温度が54℃である。従って、領域B1からB9までの温度を、それぞれ+1℃している。他の領域も同様に、領域C5の温度センサ311が検出した温度は、補正前の温度と同じであるため領域C1からC9までの温度はそのままとする。また領域D5に関しては、温度センサ312が検出した温度が54℃であるのに対して補正前の温度が55℃となっている。従って、領域D1からD9までの温度をそれぞれ−1℃している。
以上の処理により、例えば図13の1302で示すように、前回の温度分布情報を、現在の各SDRAMの温度により補正した温度分布情報を生成して温度誤差が蓄積されないようにする。
こうして再び図11に戻り、S1109で補正した温度分布情報を取得するか、又はS1103で均一の温度分布情報が得られるとS1110に進む。S1110でCPU101は、その温度分布情報を、現在の時刻情報とともにHDD105のエリア1812に格納する。以上がS1003の温度分布情報の生成処理である。
次に再び図10に戻り、S1003の温度分布情報の作成処理を終了するとS1004に進む。
S1004でCPU101は、S1003で生成された温度分布情報からSDRAM301〜304のそれぞれについての最高温度であるホットスポットの温度を検出する。そしてSDRAM301〜304の最高温度をHDD105のエリア1815(図18(B))の今回のホットスポット温度情報の記憶エリアに記憶する。このとき、今回のホットスポット温度情報の記憶エリアに記憶されていた温度情報は、前回のホットスポット温度情報の記憶エリアに移動する。こうして記憶された温度値は、後述のS1008のリフレッシュレートの更新周期の決定処理で使用される。ここでSDRAM301のホットスポットの温度は、領域A1〜A9で最高の温度値である。またSDRAM302のホットスポットの温度は、領域B1〜B9で最高の温度値である。同様に、SDRAM303,304のホットスポットの温度も、それぞれ領域C1〜C9の最高の温度値、領域D1〜D9の最高の温度値である。
次にS1006に進みCPU101は、各SDRAMのホットスポットの温度値とそれに対応して必要となるオートリフレッシュのレートを決定する処理を実行する。以下、この処理を詳細に説明する。
図14は、オートリフレッシュのレートと温度の関係を説明する図である。
図14(A)は、横軸に温度(℃)、縦軸にオートリフレッシュのレート(時間間隔)(μsec)をとって示している。一般にSDRAMのデータ保持時間は、温度が上昇するとともに等比級数的に小さくなることが知られている。このため、温度の上昇に伴って、オートリフレッシュのレート(μsec)が短くなっているのが分かる。
図14(B)は、この温度とデータ保持のために必要なオートリフレッシュのレートを、2℃刻みで設定したテーブルの一例を示す図である。このリフレッシュレートテーブルはHDD105の1813(図18(B))に格納されている。図14(B)において、1401はテーブルのインデックス、1402は2℃刻みに分割された温度範囲を示し、1403はその温度範囲に対応するオートリフレッシュのレート(μsec)を示している。
図14(B)のテーブルを参照して、ホットスポットの温度値からオートリフレッシュのレートを決定する手順を図15のフローチャートを参照して説明する。
図15は、図10のS1006のオートリフレッシュのレートを決定する処理を説明するフローチャートである。
まずS1501でCPU101は、まずテーブルを参照するためのインデックス値(SDRAM或いはHDD105に格納している)を初期化する。次にS1502に進みCPU101は、そのインデックス値に対応する温度範囲をリフレッシュレートテーブル1813から取得する。次にS1503に進みCPU101は、その取得した温度範囲が、S1004で取得したホットスポットの温度の温度範囲かどうかを判定する。温度範囲内でなければS1505に進みCPU101は、インデックス値を1つ加算して、S1502の次の温度範囲の読み出し処理に進む。一方、S1503で温度範囲内であると判定するとS1504へ進みCPU101は、その温度範囲に対応するオートリフレッシュのレートをテーブル1813から取得し、それを求めるオートリフレッシュのレートとする。尚、図14に示すテーブルの温度範囲は、SDRAMの取り得る温度範囲で設定されているため、図15のフローチャートでは、いずれかのインデックス値で必ずS1503からS1504に進む状態が発生することになる。
こうして図10のS1006で、ホットスポットの温度に基づいて各SDRAMのオートリフレッシュのレートが決定されると図10のS1007に進む。
S1007でCPU101は、S1006で決定されたオートリフレッシュのレートをメモリコントローラ305〜308に対応するオートリフレッシュレジスタ507〜510(図5)に設定する。またそれらオートリフレッシュのレートを、HDD105のエリア1818(図18(B))に格納する。これによりメモリコントローラ305〜308はそれぞれ、オートリフレッシュレジスタ507〜510に設定された周期でSDRAM301〜304に対してオートリフレッシュコマンドを発行することになる。
次にS1008に進みCPU101は、次にオートリフレッシュのレートを更新する周期を決定する。ここではSDRAM301〜304全体での一番高い温度を基に、その単位時間当たりの温度変化の大きさに着目する。そして単位時間当たりの温度変化が大きい場合は、短い更新周期を設定し、温度変化が小さい場合は長い更新周期を設定する。こうしてオートリフレッシュのレートを更新する頻度を動的に変更する。これにより、温度変化が少ない場合の不要なオートリフレッシュのレートの更新を抑制することができる。
図16は、単位時間当たりの温度変化(以降、温度変化率)と更新周期との関係を示す図である。図16において、横軸は温度変化率であり、縦軸はオートリフレッシュのレートを更新する更新周期である。
本実施形態1では、温度変化率が高くなると更新周期を短くすることにより、温度変化が大きい場合のオートリフレッシュのレートの精度を保つようにしている。またS1003の温度分布情報の生成処理で使用される動作モードに応じた発熱情報は、その動作モードの一定時間における平均値であるため局所時間的には大きな発熱状態になり得る。このためMFP100の動作モードの内、SOCダイ201の発熱量の大きい動作モードに対して、より大きなマージンをとって更新周期を短くする。例えば、プリントモードでは、アイドルモードよりもSOCダイ201の発熱量が大きいため、プリントモードでの温度変化率と更新周期の関係を示す特性曲線1601で示すように、アイドルモードの特性曲線1604よりも短い更新周期を設定する。同様にスキャンモードでのSOCダイ201の発熱量は、プリントモードでのそれよりもやや低い。よって、スキャンモードでの特性曲線1602は、プリントモードの特性曲線1601よりもやや長い更新周期を設定する。またブートモードでの発熱量は、スキャンモードでのそれよりもやや低く、アイドルモードの場合よりは高くなる。従って、ブートモードの特性曲線1603は、スキャンモードの特性曲線1602よりやや更新周期を長くし、アイドルモードの特性曲線1604よりも更新周期を短く設定している。
図16に示す温度変化率と更新周期の関係は、各動作モード毎に予めテーブル化してHDD105のテーブル1814(図18(B))として格納している。
図17(A)〜(D)は、各動作モード毎にテーブル化した温度変化率と更新周期の関係をの一例を示す図である。ここで、更新周期は、S1009でタイムカウンタに設定する値で制御するので、テーブルにはカウンタ値を更新周期として用意する。このテーブルは、HDD105にテーブル1816として格納されている。
図17(A)は、温度変化率とプリントモード時に使用する更新周期との関係を表すテーブルの一例を示している。図17(A)において、1702は温度変化率の取り得る範囲を分割してリスト化したもので、1703はそれらに対応するプリントモード時の更新周期リスト、1701は各リストを関連付けるインデックスである。
図17(B)は、温度変化率とスキャンモード時に使用する更新周期との関係を表すテーブルの一例を示す図である。図17(B)において、1712は温度変化率の取り得る範囲を分割したもので、1713は温度変化率に対応するスキャンモード時の更新周期を示す。1711はインデックスである。図17(C)は、温度変化率とブートモード時に使用する更新周期との関係を表すテーブルの一例を示す図である。図17(C)において、1722は温度変化率の取り得る範囲を分割したもので、1723は温度変化率に対応するブートモード時の更新周期を示す。1721はインデックスである。図17(D)は、温度変化率とアイドルモード時に使用する更新周期との関係を表すテーブルの一例を示す図である。図17(D)において、1732は温度変化率の取り得る範囲を分割したもので、1733は温度変化率に対応するアイドルモード時の更新周期を示す。1731はインデックスである。
図18(A)は、図10のS1008のリフレッシュレートの更新周期を決定する処理を説明するフローチャートである。
先ずS1800でCPU101は、温度変化率を取得する。具体的には、今回S1004で求めたホットスポット温度値と、前回のS1004で検出してHDD105のエリア1815に格納されているホットスポットの温度値を読み出し、2つの温度値の差分を算出して温度変化値を取得する。そして、前回のS1009で決定したリフレッシュレートの更新周期をHDD105のエリア1817(図18(B))から読み出し、その更新周期で、算出された温度差を除算することによって温度変化率を求める。
次にS1801に進みCPU101は、HDD105のエリア1811に格納された現在の動作モードの情報を取得する。次にS1802に進みCPU101は、S1801で取得した動作モードに対応するテーブルを、HDD105のエリア1816に格納されたテーブル(図17(A)〜(D))から選択する。次にS1803に進みCPU101は、S1802で選択したテーブルの温度変化率の範囲の中から、S1800で取得した温度変化率に対応する更新周期を取得する。こうしてS1008のリフレッシュレートの更新周期決定処理を終了する。
そして図10のS1009に進みCPU101は、S1008で決定されたリフレッシュ更新周期をHDD105のエリア1817(図18(B))に記憶するとともに、エリア1811のタイムカウンタ(Cnt)に設定する。こうして記憶されたリフレッシュ更新周期は、次のループのS1008で使用される。次にS1010に進みCPU101は、電源オフの要求が発生しているかどうか判定し、そうであれば、この処理を終了する。但し、通常は電源オフの要求が発生していないのでS1002へ戻り、タイムカウンタ(Cnt)に設定された更新周期が経過するまでS1002→S1005→S1002の処理を繰り返し実行する。S1005でCPU101は、タイムカウンタ(Cnt)の値を1つずつ減算し、カウンタ値が「0」、即ち、S1009で設定されたリフレッシュレートの更新周期が経過するとS1003〜S1004,S1006〜S1009の処理を行う。
以上説明したように本実施形態1によれば、WideIOメモリデバイスの各SDRAMの最高温度を計測して、その温度に対応する各SDRAMのリフレッシュのレートを決定する。これにより、SDRAMの温度に応じた周期で、各対応するSDRAMのリフレッシュを行うことができる。このため、従来のように一律にリフレッシュのレートを設定する場合と比べて、オートリフレッシュの回数が減少し、その分、SDRAM113のメモリ帯域を増加させることができる。
さらに、各SDRAMの所定時間当たりの温度変化率と動作モードに応じて、上述のリフレッシュのレートを決定する更新周期を変更することにより、各SDRAMに対する最も効率的なリフレッシュのレートを決定するタイミングを決めることができる。これにより、リフレッシュのレートの更新の回数を適正かつ効率良く行うことができるため、その分、CPUの負荷を軽減して消費電力の増大やSOCダイの発熱を抑えることができるという効果がある。
[実施形態2]
次に本発明の実施形態2を説明する。尚、実施形態2に係るMFP100の構成等は前述の実施形態1と同様であるため、その説明を省略する。
前述の実施形態1では、オートリフレッシュのレートの更新周期を図17に示すようなテーブルを参照したが、この実施形態2では、前述のようなテーブルを参照しない場合で説明する。
図19は、実施形態2に係るリフレッシュレートの更新周期を決定する処理を説明する図である。
図19(A)は、例えば図9において、動作モードがアイドルモードからプリントジョブを受けてプリントモードに遷移した部分(図9の時間T2)を詳細に示す図である。
一般に、動作モードが変更する場合は温度変化率が大きく、同じ動作モードが継続する時間が長くなるほど温度変化率は小さくなると考えられる。従って、この実施形態2では、動作モードが変更されたときは既定の更新周期を設定し、2回目のリフレッシュレートの更新からは、温度変化率と更新周期に従って、新たに更新周期を決定する。
図19(A)において、既定の周期を10msecとする。そして2回目のリフレッシュレートの更新からは、直前の温度変化率が続いても、次のオートリフレッシュレートの更新時に2℃以上の温度差が生じないように更新周期を決める。これを関数で表すと次式(1)になる。
Period(i)=(2/Δt)×Period(i−1) …式(1)
ここでPeriod(i)は、動作モードが変更してからi番目のオートリフレッシュレートの更新時に設定する更新周期、Δtは、前回のオートリフレッシュレートの更新からの温度変化分である。
図19(A)では、時間t0で動作モードが変更されると、オートリフレッシュのレートの更新周期を10msecに設定している。そして10msecが経過して次のリフレッシュレートの更新タイミングになると、温度が2℃上昇している。従って、時間t1では、Δt=2.0,Period(0)=10(msec)となり、時間t1における設定周期は、式(1)より、Period(1)=10msecとなる。同様に、時間t2では温度が1.0℃上昇しているので、Δt=1.0,Period(1)=10となり、時間2における更新周期は、式(1)より、Period(2)=20msecとなる。更に、時間t3では温度が1.5℃上昇しているので、Δt=1.5,Period(2)=20となり、時間t3における設定周期は、式(1)より、Period(3)=26.7msecとなる。
図19(B)は、上述した各時間での温度変化と、そこで決定された更新周期を表にした図である。
ここで図19(C)に示すように、動作モード変更時の動作モードの組み合わせに応じて、モード変更時の規定周期を設定しても良い。動作モード変更時の温度変化の大きさは、その前後でのSOCダイ201の発熱量の変化の大きさに比例する。従って、動作モードが変更された時のSOCダイ201の発熱量の変化量を予め求めておき、その変化量に応じて予め既定周期を定めておけば良い。
以上説明したように実施形態2によれば、動作モードの変化と、温度変化量に応じてリフレッシュレートの更新周期を決定するので、処理を簡略化でき、リフレッシュレートの更新周期を、より早く決定できるという効果がある。
[実施形態3]
次に本発明の実施形態3を説明する。尚、実施形態3に係るMFP100の構成等は前述の実施形態1と同様であるため、その説明を省略する。
前述の実施形態1では、オートリフレッシュのレートの更新周期を図17に示すようなテーブルを参照したが、この実施形態3では、前述のようなテーブルを参照せずに、逐次新たな更新周期を算出する例を説明する。
図20は、実施形態3に係るリフレッシュレートの更新周期を決定する処理を説明する図である。
図20(A)は、図19(A)と同様に、例えば図9において、動作モードがアイドルモードからプリントジョブを受けてプリントモードに遷移した部分(時間T2)を詳細に示した図である。ここでは、動作モードが長く続いたとき一定の値に漸近する温度(所定温度)2001と、現在の温度との温度差をΔTとすると、現在の温度変化率は、ΔTに比例するという性質に基づいている。オートリフレッシュレートの精度を維持するためには、オートリフレッシュレートの更新周期を温度変化率に比例させれば良い。従って、オートリフレッシュレートの更新周期を、温度変化率に比例させればよい。以上の関係から、オートリフレッシュレートの更新周期は、漸近温度2001との温度差ΔTに反比例させて制御すれば良いことになる。
この更新周期を決定する式を関数で表すと式(2)になる。
Period(i)=(1/ΔT)×200 …式(2)
ここでPeriod(i)は、i番目のオートリフレッシュレートの更新時に設定する更新周期で、「200」は、説明の簡単のために選んだ係数である。
時間t0ではΔT=20℃であるため、規定の更新周期Period(0)は、10msecとなる。次に10msec後の時間t1ではΔT=12℃であるため、式(2)より更新周期Period(1)は約16.7msecとなる。次に16.7msec後の時間t2ではΔT=8℃であるため、更新周期Period(2)は、式(2)より25msecとなる。更に時間t3ではΔT=4℃であるため、更新周期Period(3)は50msecとなる。
図20(B)は、この結果を表で表した図である。
漸近温度2000は、動作モードに対応するSOCダイ201の発熱量と周囲温度によって一意に決まる。また周囲温度は、MFP100の起動直後、図11のフローチャートのS1102により取得できる。様々の周囲温度に対する各動作モードの漸近温度2000をHDD105に予め保持しておき、動作モードが変更される時に、その漸近温度を読み出すことにより、温度差ΔTを取得することができる。
図20(B)は、時系列に更新周期を決定する方法を示す表である。
以上説明したように実施形態3によれば、動作モードが長く続いたとき一定の値に漸近する漸近温度(所定温度)とその漸近温度と現在の温度との温度差に応じて、リフレッシュレートの更新周期を決定する。これにより処理を簡略化でき、各動作モードでのリフレッシュレートの更新周期を、より早く決定できるという効果がある。
以上説明したように本実施形態によれば、最高温度に対応するオートリフレッシュレートを決める従来例に比べて、必要十分なオートリフレッシュレートを動的に更新するので利用可能なSDRAMの帯域が増加するという効果がある。
また、DRAMの温度が安定しているときのオートリフレッシュレートの更新頻度を低下させることにより、リフレッシュレートを更新するための負荷を低減できるという効果がある。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (12)

  1. CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
    前記WideIOメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得手段と、
    前記SOCダイに含まれ、それぞれが各機能を実行する複数の機能モジュールと、
    前記複数の機能モジュールのそれぞれの実行に応じた、前記WideIOメモリデバイスの温度分布情報を作成する作成手段と、
    前記温度分布情報に基づいて、前記WideIOメモリデバイスの最高温度を求め、当該最高温度に基づいて前記WideIOメモリデバイスのリフレッシュレートを決定する決定手段と、
    前記情報処理装置の動作モードと、所定の時間間隔における前記最高温度の変化率とに基づいて、前記決定手段が前記WideIOメモリデバイスのリフレッシュレートを決定する周期を決定する更新周期決定手段と、
    前記更新周期決定手段により決定された前記周期で前記決定手段により決定されたリフレッシュレートに従って、前記WideIOメモリデバイスをリフレッシュするメモリ制御手段と、
    を有することを特徴とする情報処理装置。
  2. 前記WideIOメモリデバイスの前記複数のメモリのそれぞれは、前記SOCダイの平面を分割した各領域の上に配置されていることを特徴とする請求項1に記載の情報処理装置。
  3. 前記複数のメモリのそれぞれの平面を複数の領域に分割したとき、前記複数の領域のそれぞれが、前記複数の機能モジュールのそれぞれの実行に応じて発熱する発熱量を記憶する記憶手段と、
    前記動作モードに応じて実行する機能モジュールと、前記記憶手段に記憶された各領域に対応する発熱量とに基づいて、現時点の前記WideIOメモリデバイスの発熱量を取得する取得手段と、
    前記作成手段が前回、前記温度分布情報を作成してからの経過時間と、前記現時点の前記WideIOメモリデバイスの発熱量とに基づいて、前回の温度分布情報を補正する補正手段とを更に有し、
    前記作成手段は、前記補正手段により補正した温度分布情報を前記温度取得手段により取得した、現時点の前記複数のメモリのそれぞれの温度情報に基づいて補正することにより、前記WideIOメモリデバイスの温度分布情報を作成することを特徴とする請求項2に記載の情報処理装置。
  4. 前記WideIOメモリデバイスの最高温度と前記WideIOメモリデバイスのリフレッシュレートとを関連付けるリフレッシュレートテーブルを更に有し、前記決定手段は、前記リフレッシュレートテーブルを参照して前記WideIOメモリデバイスのリフレッシュレートを決定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記情報処理装置の動作モードと、前記最高温度の変化率と、前記周期とを関連付けたテーブルを更に有し、前記更新周期決定手段は前記テーブルを参照して前記周期を決定することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記最高温度の変化率は、前記決定手段が前回、前記リフレッシュレートを決定してからの経過時間の間に、前記WideIOメモリデバイスの最高温度が変化した温度の変化率であることを特徴とする請求項5に記載の情報処理装置。
  7. CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
    前記WideIOメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得手段と、
    前記SOCダイに含まれ、それぞれが各機能を実行する複数の機能モジュールと、
    前記複数の機能モジュールのそれぞれの実行に応じた、前記WideIOメモリデバイスの温度分布情報を作成する作成手段と、
    前記温度分布情報に基づいて、前記WideIOメモリデバイスの最高温度を求め、当該最高温度に基づいて前記WideIOメモリデバイスのリフレッシュレートを決定する決定手段と、
    前記決定手段が前記WideIOメモリデバイスのリフレッシュレートを決定してからの経過時間と、前記経過時間で変化した前記WideIOメモリデバイスの温度とを基に、前記決定手段が前記WideIOメモリデバイスのリフレッシュレートを決定する周期を決定する更新周期決定手段と、
    前記更新周期決定手段により決定された周期で前記決定手段により決定されたリフレッシュレートに従って、前記WideIOメモリデバイスをリフレッシュするメモリ制御手段と、
    を有することを特徴とする情報処理装置。
  8. CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
    前記WideIOメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得手段と、
    前記SOCダイに含まれ、それぞれが各機能を実行する複数の機能モジュールと、
    前記複数の機能モジュールのそれぞれの実行に応じた、前記WideIOメモリデバイスの温度分布情報を作成する作成手段と、
    前記温度分布情報に基づいて、前記WideIOメモリデバイスの最高温度を求め、当該最高温度に基づいて前記WideIOメモリデバイスのリフレッシュレートを決定する決定手段と、
    前記決定手段が前記WideIOメモリデバイスのリフレッシュレートを決定してからの経過時間と、前記経過時間が経過したときの前記WideIOメモリデバイスの温度と所定温度との差を基に、前記決定手段が前記WideIOメモリデバイスのリフレッシュレートを決定する周期を決定する更新周期決定手段と、
    前記更新周期決定手段により決定された周期で前記決定手段により決定されたリフレッシュレートに従って、前記WideIOメモリデバイスをリフレッシュするメモリ制御手段と、
    を有することを特徴とする情報処理装置。
  9. 前記更新周期決定手段は、前記情報処理装置の動作モードが変更されたときは前記周期を短くし、前記動作モードのままで前記動作モードの変更からの時間が経過するのに従って前記周期を長くすることを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. CPUを含むSOCダイに積層されるWideIOメモリを具備する情報処理装置を制御する制御方法であって、
    温度取得手段が、前記WideIOメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得工程と、
    作成手段が、前記SOCダイに含まれ、それぞれが各機能を実行する複数の機能モジュールのそれぞれの実行に応じた、前記WideIOメモリデバイスの温度分布情報を作成する作成工程と、
    決定手段が、前記温度分布情報に基づいて、前記WideIOメモリデバイスの最高温度を求め、当該最高温度に基づいて前記WideIOメモリデバイスのリフレッシュレートを決定する決定工程と、
    更新周期決定手段が、前記情報処理装置の動作モードと、所定の時間間隔における前記最高温度の変化率とに基づいて、前記決定工程が前記WideIOメモリデバイスのリフレッシュレートを決定する周期を決定する更新周期決定工程と、
    メモリ制御手段が、前記更新周期決定工程で決定された前記周期で前記決定工程で決定されたリフレッシュレートに従って、前記WideIOメモリデバイスをリフレッシュするメモリ制御工程と、
    を有することを特徴とする情報処理装置の制御方法。
  11. コンピュータに、請求項10の制御方法を実行させるためのプログラム。
  12. 請求項11に記載のプログラムを記憶した、コンピュータにより読み取り可能な記憶媒体。
JP2013170822A 2013-08-20 2013-08-20 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 Pending JP2015041395A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013170822A JP2015041395A (ja) 2013-08-20 2013-08-20 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
PCT/JP2014/070955 WO2015025732A1 (en) 2013-08-20 2014-08-01 Information processing apparatus, method of controlling the same, program, and storage medium
US14/895,193 US9773532B2 (en) 2013-08-20 2014-08-01 Updating a refresh period and an update period in a wideio device stacked on a system on a chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013170822A JP2015041395A (ja) 2013-08-20 2013-08-20 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体

Publications (1)

Publication Number Publication Date
JP2015041395A true JP2015041395A (ja) 2015-03-02

Family

ID=52483511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013170822A Pending JP2015041395A (ja) 2013-08-20 2013-08-20 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体

Country Status (3)

Country Link
US (1) US9773532B2 (ja)
JP (1) JP2015041395A (ja)
WO (1) WO2015025732A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018097903A (ja) * 2016-12-09 2018-06-21 富士通株式会社 半導体装置及び半導体装置の制御方法
JP2020516988A (ja) * 2017-04-14 2020-06-11 ホアウェイ・テクノロジーズ・カンパニー・リミテッド メモリリフレッシュ技術及びコンピュータシステム
JP2022540673A (ja) * 2019-07-18 2022-09-16 アップル インコーポレイテッド 動的リフレッシュレート制御

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10475523B2 (en) * 2013-05-31 2019-11-12 Western Digital Technologies, Inc. Updating read voltages triggered by the rate of temperature change
US9640242B1 (en) * 2015-12-02 2017-05-02 Qualcomm Incorporated System and method for temperature compensated refresh of dynamic random access memory
US10928870B2 (en) * 2018-05-29 2021-02-23 Marvell Asia Pte, Ltd. Apparatus and methods for temperature-based memory management
US20190378564A1 (en) * 2018-06-11 2019-12-12 Nanya Technology Corporation Memory device and operating method thereof
US10839886B2 (en) * 2018-06-11 2020-11-17 Western Digital Technologies, Inc. Method and apparatus for adaptive data retention management in non-volatile memory
US10572377B1 (en) 2018-09-19 2020-02-25 Micron Technology, Inc. Row hammer refresh for content addressable memory devices
US10811091B2 (en) 2018-10-12 2020-10-20 Western Digital Technologies, Inc. Adaptive processing for read threshold voltage calibration
US11017834B2 (en) * 2018-11-30 2021-05-25 Micron Technology, Inc. Refresh command management
US11049545B2 (en) 2019-04-23 2021-06-29 Micron Technology, Inc. Methods for adjusting row hammer refresh rates and related memory devices and systems
US11031066B2 (en) 2019-06-24 2021-06-08 Micron Technology, Inc. Methods for adjusting memory device refresh operations based on memory device temperature, and related memory devices and systems
US11600358B2 (en) * 2021-07-01 2023-03-07 Dell Products L.P. Temperature management of memory elements of an information handling system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7233538B1 (en) * 2004-08-02 2007-06-19 Sun Microsystems, Inc. Variable memory refresh rate for DRAM
TWI470762B (zh) 2007-07-27 2015-01-21 尼康股份有限公司 Laminated semiconductor device
JP2011170943A (ja) * 2010-02-22 2011-09-01 Sony Corp 記憶制御装置、記憶装置、記憶装置システム
KR101683814B1 (ko) 2010-07-26 2016-12-08 삼성전자주식회사 관통 전극을 구비하는 반도체 장치
US9159396B2 (en) 2011-06-30 2015-10-13 Lattice Semiconductor Corporation Mechanism for facilitating fine-grained self-refresh control for dynamic memory devices
JP2013101728A (ja) 2011-11-07 2013-05-23 Elpida Memory Inc 半導体装置
DE112011105998T5 (de) * 2011-12-23 2014-09-18 Intel Corporation Speicheroperationen unter Verwendung von Systemtemperatursensordaten
KR101885857B1 (ko) * 2012-01-04 2018-08-06 삼성전자주식회사 온도 관리 회로, 이를 포함하는 시스템 온 칩 및 온도 관리 방법
JP2014081688A (ja) * 2012-10-12 2014-05-08 Canon Inc 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
JP6101047B2 (ja) 2012-11-07 2017-03-22 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP2014106917A (ja) 2012-11-29 2014-06-09 Canon Inc 情報処理装置、その制御方法、及びプログラム
US9342443B2 (en) * 2013-03-15 2016-05-17 Micron Technology, Inc. Systems and methods for memory system management based on thermal information of a memory system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018097903A (ja) * 2016-12-09 2018-06-21 富士通株式会社 半導体装置及び半導体装置の制御方法
US10224078B2 (en) 2016-12-09 2019-03-05 Fujitsu Limited Semiconductor device and refresh rate control method of semiconductor device based on measured temperature
JP2020516988A (ja) * 2017-04-14 2020-06-11 ホアウェイ・テクノロジーズ・カンパニー・リミテッド メモリリフレッシュ技術及びコンピュータシステム
US11074958B2 (en) 2017-04-14 2021-07-27 Huawei Technologies Co., Ltd. Memory refresh technology and computer system
US11705180B2 (en) 2017-04-14 2023-07-18 Huawei Technologies Co., Ltd. Memory refresh technology and computer system
JP2022540673A (ja) * 2019-07-18 2022-09-16 アップル インコーポレイテッド 動的リフレッシュレート制御

Also Published As

Publication number Publication date
WO2015025732A1 (en) 2015-02-26
US20160125921A1 (en) 2016-05-05
US9773532B2 (en) 2017-09-26

Similar Documents

Publication Publication Date Title
JP2015041395A (ja) 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
JP6101047B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
US9442551B2 (en) Information processing apparatus, control method for the same and storage medium
JP2014075002A (ja) 情報処理装置及びその制御方法、並びにプログラム
US7395176B2 (en) Memory controller for controlling a refresh cycle of a memory and a method thereof
US20140380016A1 (en) Information processing apparatus, control method thereof, and program
JP6004927B2 (ja) 情報処理装置、その制御方法、及びプログラム
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
US9110707B2 (en) Assigning wideio memories to functions based on memory access and acquired temperature information
US10725698B2 (en) Memory controller and control method thereof
US10268257B2 (en) Memory control device that control semiconductor memory, memory control method, information device equipped with memory control device, and storage medium storing memory control program
JPH11224221A (ja) メモリ制御装置および方法
JP2010186509A (ja) 半導体記憶装置及びその制御方法
JP6274774B2 (ja) メモリインターフェース装置及びその制御方法
JP5623150B2 (ja) 電子機器及びその制御方法
JP2014074958A (ja) 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
US20220270663A1 (en) Memory control apparatus and control method therefor
US20240329847A1 (en) Memory sprinting
JP2004272448A (ja) メモリ制御装置およびメモリ制御方法
JP3674670B2 (ja) バス制御装置及び半導体装置
JP2020087053A (ja) 半導体装置
KR20150057270A (ko) 메모리의 리프레시 방법
JP5752091B2 (ja) メモリーコントローラー