特許第6041610号(P6041610)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許6041610情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
<>
  • 特許6041610-情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 図000002
  • 特許6041610-情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 図000003
  • 特許6041610-情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 図000004
  • 特許6041610-情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 図000005
  • 特許6041610-情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 図000006
  • 特許6041610-情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 図000007
  • 特許6041610-情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 図000008
  • 特許6041610-情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 図000009
  • 特許6041610-情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6041610
(24)【登録日】2016年11月18日
(45)【発行日】2016年12月14日
(54)【発明の名称】情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
(51)【国際特許分類】
   G06F 12/06 20060101AFI20161206BHJP
【FI】
   G06F12/06 522D
   G06F12/06 515H
【請求項の数】8
【全頁数】13
(21)【出願番号】特願2012-220717(P2012-220717)
(22)【出願日】2012年10月2日
(65)【公開番号】特開2014-74958(P2014-74958A)
(43)【公開日】2014年4月24日
【審査請求日】2015年10月2日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(72)【発明者】
【氏名】市川 雅教
【審査官】 桜井 茂行
(56)【参考文献】
【文献】 米国特許出願公開第2011/0023039(US,A1)
【文献】 特表2012−533828(JP,A)
【文献】 特開2004−355435(JP,A)
【文献】 特開2011−095974(JP,A)
【文献】 特開2004−185542(JP,A)
【文献】 米国特許出願公開第2007/0106860(US,A1)
【文献】 特開2007−133879(JP,A)
【文献】 後藤 弘茂,“次世代&次々世代 メモリの姿が見えてきた”,DOS/V POWER REPORT,日本,株式会社インプレスジャパン,2012年 6月29日,第22巻第8号,PP. 156-160
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00−12/06
G06F 12/16
G06F 1/26− 1/32
(57)【特許請求の範囲】
【請求項1】
CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
前記WideIOメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得手段と、
それぞれが各機能を実行する複数の機能モジュールと、
機能の実行が指示されると、当該機能に対応する機能モジュールが使用するメモリサイズと、前記機能の実行が指示された際に前記温度取得手段により取得した前記複数のメモリのそれぞれの温度情報とに基づいて、より低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定する決定手段と、を有し、
前記決定手段は、
最も低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できるときに、当該最も低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定し、
前記最も低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できず、当該最も低温のメモリの次に低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できるときに、当該次に低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定することを特徴とする情報処理装置。
【請求項2】
前記決定手段により決定された前記メモリ領域の先頭アドレスを、前記機能に対応する機能モジュールに設定して当該機能モジュールを起動する起動手段を更に有することを特徴とする請求項に記載の情報処理装置。
【請求項3】
前記決定手段により確保されたメモリ領域を、前記機能モジュールによる処理が終了すると解放する解放手段を更に有することを特徴とする請求項又はに記載の情報処理装置。
【請求項4】
前記確保されているメモリ領域の数を各メモリごとに記憶する記憶手段を更に有し、
前記決定手段は、更に、前記記憶手段に記憶されている各メモリのメモリ領域の数を参照して、前記機能に対応する機能モジュールが使用するメモリを決定することを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
【請求項5】
前記温度取得手段は、前記機能の実行が指示されると、前記複数のメモリのそれぞれの温度情報を取得することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
【請求項6】
CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置の制御方法であって、
温度取得手段が、前記WideIOメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得工程と、
決定手段が、機能の実行が指示されると、当該機能に対応する機能モジュールが使用するメモリサイズと、前記機能の実行が指示された際に前記温度取得工程で取得した前記複数のメモリのそれぞれの温度情報とに基づいて、より低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定する決定工程と、を有し、
前記決定工程では、
最も低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できるときに、当該最も低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定し、
前記最も低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できず、当該最も低温のメモリの次に低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できるときに、当該次に低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定することを特徴とする情報処理装置の制御方法。
【請求項7】
コンピュータに、請求項に記載の情報処理装置の制御方法の各工程を実行させるためのプログラム。
【請求項8】
請求項に記載のプログラムを記憶した、コンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体に関するものである。
【背景技術】
【0002】
マイクロプロセッサ等のCPUを備えた情報処理装置では、OSや各種アプリケーションを実行するためのデータの保存や、画像処理を実行するためのデータの一時保存のためにDRAMを用いることが多い。このDRAMは、CPUやSOC(System on a Chip)等に接続されて使用される。また近年、情報処理装置の多機能化・高機能化に伴ってDRAMのメモリ帯域が増加しており、メモリ帯域を増加させるために、DDR3やDDR4等の規格では、メモリのアクセス時のクロックの周波数を高くしている。またそれ以外に、CPUやASIC(Application Specific Integrated Circuit)に接続するDRAMチャネルを複数備えることでメモリ帯域を確保している。しかし、クロックの高周波数化や複数のメモリチャネルを採用すると、消費電力が増加するという新たな問題が発生する。
【0003】
そこで現在注目されているのが次世代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に記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許公開 2012/0018885号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
WideIOの積層化構造は、構造的に熱の影響を受けやすい。例えば、SOCダイの特定領域と、この特定領域の上層部に位置するWideIOのDRAMとを同時に活性化すると、その活性化された部分の温度が局所的に上昇する。これにより、温度に対して指数関数的に上昇する半導体のリーク電流が増大し、消費電力が大きくなってしまう。また、DRAMは各セルに備えられたコンデンサに電荷を保存することでデータを記憶しているが、このコンデンサは半導体のリーク電流により自然に放電するため、DRAMはリフレッシュ動作によりコンデンサの電荷の充電を行う必要がある。この電荷の放電は温度に依存し、温度が高いほど放電スピードが速くなる。従って、DRAMの温度が高くなると、リフレッシュ頻度を上げる必要があり、リフレッシュによる消費電力の増加やリフレッシュ中にDRAMにアクセスできないことによるDRAMのアクセス性能の低下を引き起こしてしまう。
【0006】
本発明の目的は、上記従来技術の問題点を解決することにある。
【0007】
本発明の目的は、WideIOのDRAMのうち、温度の低いDRAMを優先的に使用することにより、局所的に高温状態になるDRAMが減少し、DRAMのリフレッシュ頻度やリーク電流を低減できる技術を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
CPUを含むSOCダイに積層されるWideIOメモリデバイスを具備する情報処理装置であって、
前記WideIOメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得手段と、
それぞれが各機能を実行する複数の機能モジュールと、
機能の実行が指示されると、当該機能に対応する機能モジュールが使用するメモリサイズと、前記機能の実行が指示された際に前記温度取得手段により取得した前記複数のメモリのそれぞれの温度情報とに基づいて、より低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定する決定手段と、を有し、
前記決定手段は、
最も低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できるときに、当該最も低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定し、
前記最も低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できず、当該最も低温のメモリの次に低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できるときに、当該次に低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定することを特徴とする。
【発明の効果】
【0009】
本発明によれば、WideIOのDRAMの温度を取得し、より低温のDRAMを優先的に使用することにより、局所的に高温状態になるDRAMが減少し、DRAMのリフレッシュ頻度やリーク電流を低減することができる。従って、消費電力の低減と、WideIOのDRAMのアクセス性能の低下を抑制することが可能となる。
【図面の簡単な説明】
【0010】
図1】本実施形態1に係るMFP(デジタル複合機)の全体構成を示すブロック図。
図2】実施形態1に係るWideIO−SDRAMの構造を示す模式図。
図3】実施形態1に係るWideIOコントローラの内部構成を示すブロック図。
図4】実施形態1に係るレジスタの構成を説明する図。
図5】実施形態1に係るSDRAMに対して割当てられたアドレス領域を示すアドレスマップを説明する図。
図6】実施形態1に係るSOCパッケージの俯瞰図。
図7】実施形態1に係るMFPにおいて、CPUが温度センサで計測した温度情報を取得するための処理を説明するフローチャート。
図8】実施形態1に係るMFPにおいて、ジョブを実行する際に、使用するメモリチャネルを決定する処理を説明するフローチャート。
図9】実施形態1において、温度センサによって取得した温度情報の一例を示す図。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態に係るWideIOを備える情報処理装置として、スキャン、プリンタ、コピーなどの複数の機能を有するMFP(デジタル複合機)を例に説明する。
【0012】
[実施形態1]
図1は、本実施形態1に係るMFP(デジタル複合機)の全体構成を示すブロック図である。
【0013】
MFP100は、画像入力デバイスであるスキャナ116と画像出力デバイスであるプリンタエンジン117とを有し、これらはデバイスインターフェース(I/F)107を介してシステムバス118に接続されている。そしてCPU101の制御の下に、スキャナ116による原稿の画像の読み取りや、プリンタエンジン117による印刷を行うことができる。またMFP100は、LAN114や公衆回線(PSTN)115と接続しており、これらを介してLANや公衆回線に接続された外部機器のデバイス情報や画像データの入出力を行うことができる。
【0014】
CPU101は、ROM106に記憶されたブートプログラムによりHDD105からWideIO−SDRAM113に展開されたプログラムを実行することにより、このMFP100の動作を制御している。操作部102は、キーボードやタッチパネル等の入力部や表示部を有し、ユーザからの指示を受付け、また表示部によりユーザへのメッセージや処理の結果などを表示する。ネットワークI/F103は、例えばLANカード等で実現され、LAN114を介して外部機器との間でデバイス情報や画像データの入出力を行う。モデム104は、公衆回線115を介して外部機器との間で制御情報や画像データの入出力を行う。HDD105はハードディスクドライブであり、OSや各種アプリケーションプログラム等を記憶し、また入力された画像データ等を格納する。ROM106は、ブートプログラムや各種データを記憶している。デバイスI/F107は、スキャナ116やプリンタエンジン117と接続し、これらスキャナ116やプリンタエンジン117とシステムバス118との間で画像データの転送処理を行う。
【0015】
編集用画像処理部108は、画像データの回転や変倍、色処理、トリミング・マスキング、2値変換、多値変換、白紙判定等の各種画像処理を行う。プリント画像処理部109は、プリンタエンジン117に出力する画像データに対して、そのプリンタエンジン117に応じた画像処理等を行う。スキャン画像処理部110は、スキャナ116から入力される画像データに対して、補正、加工、編集等の各種処理を行う。RIP(ラスタイメージプロセッサ)111は、ページ記述言語(PDL)コードをイメージデータに展開する。WideIOコントローラ112は、例えばCPU101や各画像処理部からのメモリアクセスコマンドをWideIO−SDRAM113が解釈可能なコマンドに変換して、WideIO−SDRAM113に対してアクセスを行う。WideIO−SDRAM113は、CPU101により実行されるプログラムを格納し、またCPU101が動作するためのシステムワークメモリを提供している。また、入力された画像データを一時記憶するための画像メモリでもある。システムバス118は上述した各部とCPU101とを接続し、制御信号やデータ等を転送している。
【0016】
図2は、実施形態1に係るWideIO−SDRAM113の構造を示す模式図で、図2(A)はWideIO−SDRAMとSOCダイを側面から見た側面図であり、図2(B)は上側から見た上面図である。
【0017】
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の中央部に配置される。
【0018】
図3は、実施形態1に係るWideIOコントローラ112の内部構成を示すブロック図である。
【0019】
図3において、WideIOコントローラ112は、図1に示したようにシステムバス118とWideIO−SDRAM113との間に接続されている。更に、図1では図示しない温度センサ309〜312と接続される。
【0020】
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の温度を計測している。
【0021】
レジスタI/F313は、不図示のレジスタ専用バスを経由してCPU101からのアクセスを受け付ける。レジスタ314は、温度取得I/F315が温度センサ309〜312から取得した各温度情報や、CPU101から設定されるメモリコントローラ305〜308の各動作モードの設定情報を記憶する。温度取得I/F315が、後述する温度情報格納レジスタ402(図4)からの温度情報の取得要求を検知すると、後述する温度センサ指定レジスタ401(図4)で指定された温度センサからの温度情報を取得するコマンドを発行して温度情報を取得する。こうして取得した温度情報は、後述する温度情報格納レジスタ402へ格納される。
【0022】
図4は、実施形態1に係るレジスタ314の構成を説明する図である。
【0023】
レジスタ314は、温度センサ指定レジスタ401、温度情報格納レジスタ402、メモリコントローラ動作モード設定レジスタ403〜406、メモリアクセス量順番レジスタ407を有している。温度センサ指定レジスタ401は、CPU101が温度センサの温度情報を取得したい場合に、その対象となる温度センサを指定するための情報を格納するレジスタである。本実施形態1においては、4個の温度センサを備える例を用いて説明しているため2ビットのレジスタで構成され、2ビットの各状態により4個の温度センサのそれぞれを特定することができる。温度情報格納レジスタ402は、CPU101からの温度情報の取得要求を入力すると、温度センサ指定レジスタ401で指定された温度センサの温度情報を取得するように温度取得I/F315に対して要求する。そして、温度取得I/F315から取得した温度情報を格納し、CPU101からの温度情報の読み出し要求に応じて、そこに格納している温度情報を出力する。
【0024】
図9は、実施形態1において、温度センサ309〜312によって取得した温度情報の一例を示す図である。図9では、チャネル4に相当するSDRAM304の温度センサ312の温度が最も高く、チャネル1に相当するSDRAM301の温度センサ309の温度が最も低くなっている。
【0025】
メモリコントローラ動作モード設定レジスタ403〜406のそれぞれは、各メモリコントローラ305〜308の動作モードを設定するためのレジスタで、各SDRAMのメモリ制御に関する設定値が記憶されている。ここでメモリ制御に関する設定値としては、例えば、DRAMのリフレッシュ動作の時間間隔や、メモリアクセスに関するタイミングパラメータ等がある。尚、ここでメモリコントローラ動作モード設定レジスタ403は、メモリコントローラ305の動作モードを設定し、メモリコントローラ動作モード設定レジスタ404はメモリコントローラ306の動作モードを設定する。またメモリコントローラ動作モード設定レジスタ405はメモリコントローラ307の動作モードを設定し、メモリコントローラ動作モード設定レジスタ406はメモリコントローラ308の動作モードを設定する。
【0026】
また、メモリアクセス量順番レジスタ407は、SDRAM301〜304へアクセスする機能モジュールごとに、その機能モジュールが必要とするSDRAMへのメモリアクセス量が多い順にその順番を昇順で格納している。尚、本実施形態1では、図1に示す編集用画像処理部108、プリント画像処理部109、スキャン画像処理部110及びRIP111が、これら機能モジュールに相当する。CPU101は、このメモリアクセス量順番レジスタ407の値(順番)を参照して、各機能モジュールに対するメモリの割り当てを行う。このメモリアクセス量順番レジスタ407の値は、実施形態1に係るMFP100の設計時に予め決定された値であり、起動時に、CPU101がその順番をメモリアクセス量順番レジスタ407に書き込むことにより設定される。
【0027】
図5は、実施形態1に係るSDRAM301〜304に対して割当てられたアドレス領域を示すアドレスマップを説明する図である。
【0028】
本実施形態1においては、SDRAM301にはアドレス領域1が、SDRAM302にはアドレス領域2が、SDRAM303にはアドレス領域3が、SDRAM304にはアドレス領域4がそれぞれ割り当てられているものとする。但し、各アドレス領域のサイズは図5に図示したものに限定されるものではない。尚、前述したCPU101のプログラムは、SDRAM301のアドレス領域1に展開される。
【0029】
図6は、図2のWideIO−SDRAM202〜205とSOCダイ201の物理的な位置関係を、よりわかり易く説明するSOCパッケージ207の俯瞰図である。
【0030】
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のメモリ内部に備えられる構成であっても良い。
【0031】
図7は、実施形態1に係るMFP100において、CPU101が温度センサ309〜312で計測した温度情報を取得するための処理を説明するフローチャートである。本実施形態1では温度センサを4個備える構成であるため、図7のフローチャートも4個の温度センサから温度情報を取得している。尚、この処理を実行するプログラムはHDD105にインストールされており、実行時にSDRAM301に展開され、そのプログラムをCPU101が実行することにより、この処理が実現される。
【0032】
先ず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が計測した温度情報を取得することになる。
【0033】
次に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、或いは各チャネルの温度情報を取得することができる。
【0034】
図8は、実施形態1に係るMFPにおいて、ジョブを実行する際に、使用するメモリチャネル(SDRAM)を決定する処理を説明するフローチャートである。尚、この処理を実行するプログラムはHDD105にインストールされており、実行時にSDRAMに展開され、そのプログラムをCPU101が実行することにより、この処理が実現される。
【0035】
まずS801で、CPU101は各温度センサの温度情報を取得する。CPU101による温度情報の取得は、図7のフローチャートを参照して説明した手順により実行される。本実施形態では、S801で取得した温度情報は、例えば図9に示されるような値であるとして説明する。即ち、温度センサ309が検知した温度情報は50℃、温度センサ310が検知した温度情報は60℃、温度センサ311が検知した温度情報は65℃、温度センサ312が検知した温度情報は70℃であるとする。
【0036】
次にS802に進み、CPU101は、S801で取得した温度情報を基に、最も低温のSDRAMを特定する。本実施形態では、図9から明らかなように、S801において取得した温度情報で最も低温なのは温度センサ309の50℃である。従って、ここでは、SDRAM301が最も低温のSDRAMであると特定される。
【0037】
次にS803に進み、CPU101は、S802で特定した最も低温のSDRAMのアドレス領域を参照して、そのSDRAMに、動作させたい画像処理部が必要とするメモリサイズに相当するメモリ領域を確保できるか判定する。即ち、SDRAM301に割り当てられたアドレス0x0000_0000〜0x2000_0000から、その画像処理部が必要とするメモリサイズを確保できるか否かを判定する。ここでCPU101が、そのSDRAMに、必要とするメモリサイズのメモリ領域を確保することができると判定した場合はS804に進む。S804でCPU101は、最も低温のSDRAMにメモリ領域を確保してS805に進む。S805でCPU101は、その確保したSDRAMのメモリ領域の先頭アドレスを、動作させたい画像処理部のレジスタへ設定する。そしてS806に進み、CPU101は、その画像処理部を起動し、操作部102等から指定されたジョブに必要な画像処理等を実施する。この画像処理部の起動とは、例えば、画像処理部に備えられるイネーブルレジスタの設定値をイネーブル状態にすることである。
【0038】
ここで、画像処理部においてメモリ領域を使用する処理について簡単に説明する。ここで画像処理部は、前述の画像編集用画像処理部108、プリント画像処理部109、スキャン画像処理部110が含まれる。この画像処理部には、スムージング処理や像域判定処理等で行われる各種フィルタ処理等が備えられる。このフィルタ処理では、通常、ラスタ形式で入力される画像データを、フィルタのウインドウ幅のライン数だけ格納するバッファが必要となる。この所定ラインを格納するためのバッファを、本実施形態ではWideIOのSDRAMの領域を用いて実現するように構成される。
【0039】
一方、S803で、CPU101は、そのSDRAMで、必要とするメモリサイズのメモリ領域を確保できないと判定した場合はS807に進み、CPU101は、S801で取得した温度情報を基に、2番目に低温のSDRAMを特定する。本実施形態では、図9の例では、2番目に低温なのは温度センサ310の60℃であるため、SDRAM302が2番目に低温なSDRAMであると特定できる。
【0040】
次にS808に進み、CPU101は、S807で特定した2番目に低温なSDRAMのアドレス領域を参照して、そのSDRAMに、動作させたい画像処理部が必要とするメモリサイズに相当するメモリ領域を確保できるかを判定する。即ち、SDRAM302に割り当てられたアドレス0x2000_0000〜0x4000_0000から、その画像処理部が必要とするメモリサイズを確保できるか否かを判定する。ここでCPU101が、そのSDRAMに、必要とするメモリサイズのメモリ領域を確保できると判定した場合はS809に進み、CPU101は、その2番目に低温なSDRAMにメモリ領域を確保してS805に進む。S805、S806の処理は前述した処理と同様であるため、その説明を省略する。
【0041】
一方、S808でCPU101が、2番目に低温なSDRAMに必要なメモリサイズのメモリ領域を確保することができないと判定した場合はS810に進み、CPU101は、S801で取得した温度情報を基に、3番目に低温のSDRAMを特定する。本実施形態では、図9から、3番目に低温なのは温度センサ311の65℃である。従って、SDRAM303が3番目に低温なSDRAMであると特定することができる。
【0042】
次にS811に進み、CPU101は、S810で特定した3番目に低温なSDRAMのアドレス領域を参照して、そのSDRAMに、動作させたい画像処理部が必要とするメモリサイズのメモリ領域を確保できるか否かを判定する。即ち、SDRAM303に割り当てられたアドレス0x4000_0000〜0x6000_0000から、その画像処理部が必要とするメモリサイズに相当するメモリ領域を確保できるかを判定する。ここでCPU101が、必要なメモリサイズのメモリ領域を確保できると判定した場合はS812に進み、CPU101は、その3番目に低温なSDRAMにメモリ領域を確保してS805に進む。S805、S806の処理は前述した処理と同様であるため、その説明を省略する。
【0043】
一方、S811で、CPU101が、3番目に低温なSDRAMに、必要とするメモリサイズのメモリ領域を確保できないと判定した場合はS813に進み、CPU101は、4番目に低温なSDRAM304を特定する。そしてそのSDRAM304に割り当てられたアドレス0x6000_0000〜0x8000_0000に、その画像処理部が必要とするメモリサイズのメモリ領域を確保してS805に進む。尚、S813で、SDRAM304に、必要とするメモリサイズのメモリ領域を確保できないときはエラー終了するようにしても良い。
【0044】
尚、S805で、画像処理部のレジスタに、その先頭アドレスがセットされたメモリ領域は、その画像処理部による処理が終了するとCPU101により解放される。
【0045】
また、各メモリごとに、確保されているメモリ領域の数を記憶しておき、各メモリごとに確保されているメモリ領域の数も考慮して、動作させたい画像処理部が必要とするメモリ領域を割り当てるSDRAMを決定するようにしても良い。例えば、図8のS803で最も低温のSDRAMに、動作させたい画像処理部が必要とするメモリ領域を確保できると判定しても、そのSDRAMのメモリ領域の数が所定数以上であれば、2番目に低温のSDRAMを特定するようにしても良い。これは、そのメモリ(SDRAM)に確保されているメモリ領域の数が所定数以上になると、今後、そのメモリの温度が上昇する可能性があると判断でき、事前に、そのような事態を防止するための対策をとるためである。
【0046】
以上説明したように本実施形態によれば、WideIOメモリデバイスの各DRAMの温度を取得し、温度が低いSDRAMに優先的に、ジョブを実行するために動作させる必要がある画像処理部が必要とするメモリ領域を確保するようにしている。これにより、高温のSDRAMの更なる温度上昇を防ぐことができるため、DRAMの温度上昇に伴う、消費電力の低減やメモリアクセスの性能低下の抑制が可能となる。
【0047】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
図1
図2
図3
図4
図5
図6
図7
図8
図9