(57)【要約】【課題】  ＤＲＡＭの温度が高くなると、リフレッシュ頻度を上げる必要があり、リフレッシュによる消費電力の増加やリフレッシュ中にＤＲＡＭにアクセスできないことによるＤＲＡＭのアクセス性能の低下を引き起こす。【解決手段】  ＷｉｄｅＩＯメモリデバイスの複数のメモリのそれぞれの温度情報を取得し、機能の実行が指示されると、当該機能に対応する機能モジュールが使用するメモリサイズと、取得した複数のメモリのそれぞれの温度情報とに基づいて、より低温のメモリをその機能に対応する機能モジュールが使用するメモリとして決定する。【選択図】  図８
2014074958.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵを含むＳＯＣダイに積層されるＷｉｄｅＩＯメモリデバイスを具備する情報処理装置であって、
前記ＷｉｄｅＩＯメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得手段と、
それぞれが各機能を実行する複数の機能モジュールと、
機能の実行が指示されると、当該機能に対応する機能モジュールが使用するメモリサイズと、前記温度取得手段により取得した前記複数のメモリのそれぞれの温度情報とに基づいて、より低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定する決定手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記決定手段は、最も低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できるときに、当該最も低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定し、
前記最も低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できないときに、当該最も低温のメモリの次に低温のメモリに、前記機能に対応する機能モジュールが使用するメモリサイズのメモリ領域が確保できるときに、当該次に低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段により決定された前記メモリ領域の先頭アドレスを、前記機能に対応する機能モジュールに設定して当該機能モジュールを起動する起動手段を更に有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記温度取得手段は、前記機能の実行が指示されると、前記複数のメモリのそれぞれの温度情報を取得することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記決定手段により確保されたメモリ領域を、前記機能モジュールによる処理が終了すると解放する解放手段を更に有することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項６】
前記確保されているメモリ領域の数を各メモリごとに記憶する記憶手段を更に有し、
前記決定手段は、更に、前記記憶手段に記憶されている各メモリのメモリ領域の数を参照して、前記機能に対応する機能モジュールが使用するメモリを決定することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
ＣＰＵを含むＳＯＣダイに積層されるＷｉｄｅＩＯメモリを具備する情報処理装置を制御する制御方法であって、
温度取得手段が、前記ＷｉｄｅＩＯメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得工程と、
決定手段が、機能の実行が指示されると、当該機能に対応する機能モジュールが使用するメモリサイズと、前記温度取得工程で取得した前記複数のメモリのそれぞれの温度情報とに基づいて、より低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定する決定工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項８】
コンピュータに、請求項７の制御方法を実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記憶した、コンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵを含むＳＯＣダイに積層されるＷｉｄｅＩＯメモリデバイスを具備する情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体に関するものである。
【背景技術】
【０００２】
マイクロプロセッサ等のＣＰＵを備えた情報処理装置では、ＯＳや各種アプリケーションを実行するためのデータの保存や、画像処理を実行するためのデータの一時保存のためにＤＲＡＭを用いることが多い。このＤＲＡＭは、ＣＰＵやＳＯＣ（System on a Chip）等に接続されて使用される。また近年、情報処理装置の多機能化・高機能化に伴ってＤＲＡＭのメモリ帯域が増加しており、メモリ帯域を増加させるために、ＤＤＲ３やＤＤＲ４等の規格では、メモリのアクセス時のクロックの周波数を高くしている。またそれ以外に、ＣＰＵやＡＳＩＣ（Application Specific Integrated Circuit）に接続するＤＲＡＭチャネルを複数備えることでメモリ帯域を確保している。しかし、クロックの高周波数化や複数のメモリチャネルを採用すると、消費電力が増加するという新たな問題が発生する。
【０００３】
そこで現在注目されているのが次世代ＤＲＡＭ規格であるＷｉｄｅＩＯである。ＷｉｄｅＩＯは、ＴＳＶ（Ｔｈｒｏｕｇｈ Ｓｉｌｉｃｏｎ Ｖｉａ）による３Ｄ積層技術を使い、ＳＯＣダイの上にＤＲＡＭチップを重ねて構成される。この特徴としては、５１２ビットの広いデータ幅で最大１２．８（ＧＢ／秒）以上の高帯域が得られるとともに、アクセス周波数を低く抑えているので低消費電力であることが挙げられる。また、ＴＳＶを採用したことで、従来のＰｏＰ（Ｐａｃｋａｇｅ ｏｎ Ｐａｃｋａｇｅ）に比べてパッケージサイズを薄く小さくできる。更に、ＳＯＣパッケージ内にメモリを積層することによる熱対策として、メモリの温度を検出する温度センサを内蔵し、その検出した温度に応じてセルフ・リフレッシュレートを変化させている。また５１２ビットのデータ幅を、それぞれ１２８ビットの４つのチャネルに分割し、各チャネルを独立して制御できるように構成されている。例えば、チャネル１とチャネル２とをセルフリフレッシュ状態にし、チャネル３とチャネル４とを、通常のメモリアクセスに使用する等の使い方ができる。このようなＷｉｄｅＩＯの基本的な構造や基本的なアクセス方法が特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許公開  ２０１２／００１８８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＷｉｄｅＩＯの積層化構造は、構造的に熱の影響を受けやすい。例えば、ＳＯＣダイの特定領域と、この特定領域の上層部に位置するＷｉｄｅＩＯのＤＲＡＭとを同時に活性化すると、その活性化された部分の温度が局所的に上昇する。これにより、温度に対して指数関数的に上昇する半導体のリーク電流が増大し、消費電力が大きくなってしまう。また、ＤＲＡＭは各セルに備えられたコンデンサに電荷を保存することでデータを記憶しているが、このコンデンサは半導体のリーク電流により自然に放電するため、ＤＲＡＭはリフレッシュ動作によりコンデンサの電荷の充電を行う必要がある。この電荷の放電は温度に依存し、温度が高いほど放電スピードが速くなる。従って、ＤＲＡＭの温度が高くなると、リフレッシュ頻度を上げる必要があり、リフレッシュによる消費電力の増加やリフレッシュ中にＤＲＡＭにアクセスできないことによるＤＲＡＭのアクセス性能の低下を引き起こしてしまう。
【０００６】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００７】
本発明の目的は、ＷｉｄｅＩＯのＤＲＡＭのうち、温度の低いＤＲＡＭを優先的に使用することにより、局所的に高温状態になるＤＲＡＭが減少し、ＤＲＡＭのリフレッシュ頻度やリーク電流を低減できる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
ＣＰＵを含むＳＯＣダイに積層されるＷｉｄｅＩＯメモリデバイスを具備する情報処理装置であって、
前記ＷｉｄｅＩＯメモリデバイスの複数のメモリのそれぞれの温度情報を取得する温度取得手段と、
それぞれが各機能を実行する複数の機能モジュールと、
機能の実行が指示されると、当該機能に対応する機能モジュールが使用するメモリサイズと、前記温度取得手段により取得した前記複数のメモリのそれぞれの温度情報とに基づいて、より低温のメモリを前記機能に対応する機能モジュールが使用するメモリとして決定する決定手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＷｉｄｅＩＯのＤＲＡＭの温度を取得し、より低温のＤＲＡＭを優先的に使用することにより、局所的に高温状態になるＤＲＡＭが減少し、ＤＲＡＭのリフレッシュ頻度やリーク電流を低減することができる。従って、消費電力の低減と、ＷｉｄｅＩＯのＤＲＡＭのアクセス性能の低下を抑制することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態１に係るＭＦＰ（デジタル複合機）の全体構成を示すブロック図。
【図２】実施形態１に係るＷｉｄｅＩＯ−ＳＤＲＡＭの構造を示す模式図。
【図３】実施形態１に係るＷｉｄｅＩＯコントローラの内部構成を示すブロック図。
【図４】実施形態１に係るレジスタの構成を説明する図。
【図５】実施形態１に係るＳＤＲＡＭに対して割当てられたアドレス領域を示すアドレスマップを説明する図。
【図６】実施形態１に係るＳＯＣパッケージの俯瞰図。
【図７】実施形態１に係るＭＦＰにおいて、ＣＰＵが温度センサで計測した温度情報を取得するための処理を説明するフローチャート。
【図８】実施形態１に係るＭＦＰにおいて、ジョブを実行する際に、使用するメモリチャネルを決定する処理を説明するフローチャート。
【図９】実施形態１において、温度センサによって取得した温度情報の一例を示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態に係るＷｉｄｅＩＯを備える情報処理装置として、スキャン、プリンタ、コピーなどの複数の機能を有するＭＦＰ（デジタル複合機）を例に説明する。
【００１２】
［実施形態１］
図１は、本実施形態１に係るＭＦＰ（デジタル複合機）の全体構成を示すブロック図である。
【００１３】
ＭＦＰ１００は、画像入力デバイスであるスキャナ１１６と画像出力デバイスであるプリンタエンジン１１７とを有し、これらはデバイスインターフェース（Ｉ／Ｆ）１０７を介してシステムバス１１８に接続されている。そしてＣＰＵ１０１の制御の下に、スキャナ１１６による原稿の画像の読み取りや、プリンタエンジン１１７による印刷を行うことができる。またＭＦＰ１００は、ＬＡＮ１１４や公衆回線（ＰＳＴＮ）１１５と接続しており、これらを介してＬＡＮや公衆回線に接続された外部機器のデバイス情報や画像データの入出力を行うことができる。
【００１４】
ＣＰＵ１０１は、ＲＯＭ１０６に記憶されたブートプログラムによりＨＤＤ１０５からＷｉｄｅＩＯ−ＳＤＲＡＭ１１３に展開されたプログラムを実行することにより、このＭＦＰ１００の動作を制御している。操作部１０２は、キーボードやタッチパネル等の入力部や表示部を有し、ユーザからの指示を受付け、また表示部によりユーザへのメッセージや処理の結果などを表示する。ネットワークＩ／Ｆ１０３は、例えばＬＡＮカード等で実現され、ＬＡＮ１１４を介して外部機器との間でデバイス情報や画像データの入出力を行う。モデム１０４は、公衆回線１１５を介して外部機器との間で制御情報や画像データの入出力を行う。ＨＤＤ１０５はハードディスクドライブであり、ＯＳや各種アプリケーションプログラム等を記憶し、また入力された画像データ等を格納する。ＲＯＭ１０６は、ブートプログラムや各種データを記憶している。デバイスＩ／Ｆ１０７は、スキャナ１１６やプリンタエンジン１１７と接続し、これらスキャナ１１６やプリンタエンジン１１７とシステムバス１１８との間で画像データの転送処理を行う。
【００１５】
編集用画像処理部１０８は、画像データの回転や変倍、色処理、トリミング・マスキング、２値変換、多値変換、白紙判定等の各種画像処理を行う。プリント画像処理部１０９は、プリンタエンジン１１７に出力する画像データに対して、そのプリンタエンジン１１７に応じた画像処理等を行う。スキャン画像処理部１１０は、スキャナ１１６から入力される画像データに対して、補正、加工、編集等の各種処理を行う。ＲＩＰ（ラスタイメージプロセッサ）１１１は、ページ記述言語（ＰＤＬ）コードをイメージデータに展開する。ＷｉｄｅＩＯコントローラ１１２は、例えばＣＰＵ１０１や各画像処理部からのメモリアクセスコマンドをＷｉｄｅＩＯ−ＳＤＲＡＭ１１３が解釈可能なコマンドに変換して、ＷｉｄｅＩＯ−ＳＤＲＡＭ１１３に対してアクセスを行う。ＷｉｄｅＩＯ−ＳＤＲＡＭ１１３は、ＣＰＵ１０１により実行されるプログラムを格納し、またＣＰＵ１０１が動作するためのシステムワークメモリを提供している。また、入力された画像データを一時記憶するための画像メモリでもある。システムバス１１８は上述した各部とＣＰＵ１０１とを接続し、制御信号やデータ等を転送している。
【００１６】
図２は、実施形態１に係るＷｉｄｅＩＯ−ＳＤＲＡＭ１１３の構造を示す模式図で、図２（Ａ）はＷｉｄｅＩＯ−ＳＤＲＡＭとＳＯＣダイを側面から見た側面図であり、図２（Ｂ）は上側から見た上面図である。
【００１７】
ＳＯＣダイ２０１は、本実施形態１では例えばＣＰＵ１０１やデバイスＩ／Ｆ１０７，ＲＩＰ１１１、各画像処理部１０８〜１１０等を備えるものである。ＷｉｄｅＩＯ−ＳＤＲＡＭ２０２〜２０５はＳＯＣダイ２０１の上に積層され、シリコン貫通ビア（ＴＳＶ）２０６によりＳＯＣダイ２０１と接続されている。ＷｉｄｅＩＯ−ＳＤＲＡＭは、必要とするメモリ容量に応じて最大４層まで積層することができ、図２（Ａ）は４層を積層した例を示す。ＳＯＣパッケージ２０７は、ＳＯＣダイ２０１とＷｉｄｅＩＯ−ＳＤＲＡＭ２０２〜２０５とを１つのパッケージに収容したものである。ＷｉｄｅＩＯ−ＳＤＲＡＭＩ／Ｆ２０８は、図２（Ｂ）に示されるようにＳＯＣダイ２０１やＷｉｄｅＩＯ−ＳＤＲＡＭ２０２〜２０５の中央部に配置される。
【００１８】
図３は、実施形態１に係るＷｉｄｅＩＯコントローラ１１２の内部構成を示すブロック図である。
【００１９】
図３において、ＷｉｄｅＩＯコントローラ１１２は、図１に示したようにシステムバス１１８とＷｉｄｅＩＯ−ＳＤＲＡＭ１１３との間に接続されている。更に、図１では図示しない温度センサ３０９〜３１２と接続される。
【００２０】
ＳＤＲＡＭ３０１〜３０４は、ＷｉｄｅＩＯ−ＳＤＲＡＭ１１３に設けられた４つのメモリであり、図示されている通り、各々が専用のインターフェースを備える。これらの専用インターフェースは、上述したようにＳＯＣダイ２０１に積層されるＷｉｄｅＩＯ−ＳＤＲＡＭ２０２〜２０５の４チャネルに相当し、この専用インターフェースは図２（Ｂ）のＷｉｄｅＩＯ−ＳＤＲＡＭＩ／Ｆ２０８に相当している。メモリコントローラ３０５〜３０８のそれぞれは、システムバス１１８からのメモリアクセスコマンドを、接続されている各対応するＳＤＲＡＭに対して、そのＳＤＲＡＭが解釈可能なコマンドに変換してアクセスする。温度センサ３０９〜３１２は、ＳＤＲＡＭ３０１〜３０４の各対応するＳＤＲＡＭの温度を計測している。
【００２１】
レジスタＩ／Ｆ３１３は、不図示のレジスタ専用バスを経由してＣＰＵ１０１からのアクセスを受け付ける。レジスタ３１４は、温度取得Ｉ／Ｆ３１５が温度センサ３０９〜３１２から取得した各温度情報や、ＣＰＵ１０１から設定されるメモリコントローラ３０５〜３０８の各動作モードの設定情報を記憶する。温度取得Ｉ／Ｆ３１５が、後述する温度情報格納レジスタ４０２（図４）からの温度情報の取得要求を検知すると、後述する温度センサ指定レジスタ４０１（図４）で指定された温度センサからの温度情報を取得するコマンドを発行して温度情報を取得する。こうして取得した温度情報は、後述する温度情報格納レジスタ４０２へ格納される。
【００２２】
図４は、実施形態１に係るレジスタ３１４の構成を説明する図である。
【００２３】
レジスタ３１４は、温度センサ指定レジスタ４０１、温度情報格納レジスタ４０２、メモリコントローラ動作モード設定レジスタ４０３〜４０６、メモリアクセス量順番レジスタ４０７を有している。温度センサ指定レジスタ４０１は、ＣＰＵ１０１が温度センサの温度情報を取得したい場合に、その対象となる温度センサを指定するための情報を格納するレジスタである。本実施形態１においては、４個の温度センサを備える例を用いて説明しているため２ビットのレジスタで構成され、２ビットの各状態により４個の温度センサのそれぞれを特定することができる。温度情報格納レジスタ４０２は、ＣＰＵ１０１からの温度情報の取得要求を入力すると、温度センサ指定レジスタ４０１で指定された温度センサの温度情報を取得するように温度取得Ｉ／Ｆ３１５に対して要求する。そして、温度取得Ｉ／Ｆ３１５から取得した温度情報を格納し、ＣＰＵ１０１からの温度情報の読み出し要求に応じて、そこに格納している温度情報を出力する。
【００２４】
図９は、実施形態１において、温度センサ３０９〜３１２によって取得した温度情報の一例を示す図である。図９では、チャネル４に相当するＳＤＲＡＭ３０４の温度センサ３１２の温度が最も高く、チャネル１に相当するＳＤＲＡＭ３０１の温度センサ３０９の温度が最も低くなっている。
【００２５】
メモリコントローラ動作モード設定レジスタ４０３〜４０６のそれぞれは、各メモリコントローラ３０５〜３０８の動作モードを設定するためのレジスタで、各ＳＤＲＡＭのメモリ制御に関する設定値が記憶されている。ここでメモリ制御に関する設定値としては、例えば、ＤＲＡＭのリフレッシュ動作の時間間隔や、メモリアクセスに関するタイミングパラメータ等がある。尚、ここでメモリコントローラ動作モード設定レジスタ４０３は、メモリコントローラ３０５の動作モードを設定し、メモリコントローラ動作モード設定レジスタ４０４はメモリコントローラ３０６の動作モードを設定する。またメモリコントローラ動作モード設定レジスタ４０５はメモリコントローラ３０７の動作モードを設定し、メモリコントローラ動作モード設定レジスタ４０６はメモリコントローラ３０８の動作モードを設定する。
【００２６】
また、メモリアクセス量順番レジスタ４０７は、ＳＤＲＡＭ３０１〜３０４へアクセスする機能モジュールごとに、その機能モジュールが必要とするＳＤＲＡＭへのメモリアクセス量が多い順にその順番を昇順で格納している。尚、本実施形態１では、図１に示す編集用画像処理部１０８、プリント画像処理部１０９、スキャン画像処理部１１０及びＲＩＰ１１１が、これら機能モジュールに相当する。ＣＰＵ１０１は、このメモリアクセス量順番レジスタ４０７の値（順番）を参照して、各機能モジュールに対するメモリの割り当てを行う。このメモリアクセス量順番レジスタ４０７の値は、実施形態１に係るＭＦＰ１００の設計時に予め決定された値であり、起動時に、ＣＰＵ１０１がその順番をメモリアクセス量順番レジスタ４０７に書き込むことにより設定される。
【００２７】
図５は、実施形態１に係るＳＤＲＡＭ３０１〜３０４に対して割当てられたアドレス領域を示すアドレスマップを説明する図である。
【００２８】
本実施形態１においては、ＳＤＲＡＭ３０１にはアドレス領域１が、ＳＤＲＡＭ３０２にはアドレス領域２が、ＳＤＲＡＭ３０３にはアドレス領域３が、ＳＤＲＡＭ３０４にはアドレス領域４がそれぞれ割り当てられているものとする。但し、各アドレス領域のサイズは図５に図示したものに限定されるものではない。尚、前述したＣＰＵ１０１のプログラムは、ＳＤＲＡＭ３０１のアドレス領域１に展開される。
【００２９】
図６は、図２のＷｉｄｅＩＯ−ＳＤＲＡＭ２０２〜２０５とＳＯＣダイ２０１の物理的な位置関係を、よりわかり易く説明するＳＯＣパッケージ２０７の俯瞰図である。
【００３０】
ＳＯＣダイ２０１は、ＣＰＵ１０１やデバイスＩ／Ｆ１０７、ＲＩＰ１１１、前述の画像処理部１０８〜１１０等を含んでいる。ＳＯＣパッケージ２０７の平面を４分割した時の左上、右上、右下、左下がそれぞれ図２（Ｂ）のチャネル１〜４に相当する。また同様に、４分割した領域は、図３のＳＤＲＡＭ３０１〜３０４にも相当している。前述したように、ＷｉｄｅＩＯ−ＳＤＲＡＭ１１３は、ＳＯＣダイ２０１の上に積層されるメモリである。また、本実施形態１においては、ＳＤＲＡＭ３０１〜３０４の各デバイスは、図６のようにＳＯＣダイ２０１を４分割した領域の各上部にそれぞれ４層で積層されているものとする。ＳＤＲＡＭ３０１〜３０４の各デバイスには、それぞれのメモリの内部温度が計測できるように、温度センサ３０９〜３１２が内蔵されている。但し、各ＳＤＲＡＭの配置や温度センサの配置は図６に限定されるものではなく、一例に過ぎない。また、温度センサ３０９〜３１２はＳＯＣダイ２０１の内部に備えられる構成であっても良いし、ＷｉｄｅＩＯ−ＳＤＲＡＭ１１３のメモリ内部に備えられる構成であっても良い。
【００３１】
図７は、実施形態１に係るＭＦＰ１００において、ＣＰＵ１０１が温度センサ３０９〜３１２で計測した温度情報を取得するための処理を説明するフローチャートである。本実施形態１では温度センサを４個備える構成であるため、図７のフローチャートも４個の温度センサから温度情報を取得している。尚、この処理を実行するプログラムはＨＤＤ１０５にインストールされており、実行時にＳＤＲＡＭ３０１に展開され、そのプログラムをＣＰＵ１０１が実行することにより、この処理が実現される。
【００３２】
先ずＳ７０１で、ＣＰＵ１０１は、温度センサ指定レジスタ４０１に「００」を書き込む。本実施形態１では４個の温度センサを備え、各温度センサを指定するために、次のように各温度センサと温度センサ指定レジスタ４０１の設定値を対応付けるものとする。即ち、温度センサ指定レジスタ４０１の値「００」は温度センサ３０９に対応付けられ、同様に「０１」は温度センサ３１０に、「１０」は温度センサ３１１に、そして「１１」は温度センサ３１２にそれぞれ対応付けられるものとする。従ってＳ７０１では、温度センサ３０９を指定するために、ＣＰＵ１０１は温度センサ指定レジスタ４０１に「００」を書き込む。次にＳ７０２に進み、ＣＰＵ１０１は、温度情報格納レジスタ４０２に対して温度情報の読み出し要求を発行して、温度センサ３０９で計測した温度情報を取得する。このとき上述したように、温度情報格納レジスタ４０２は、ＣＰＵ１０１からの読み出し要求を検知すると、温度センサ指定レジスタ４０１で指定されている温度センサからの温度情報を取得する。そして、その取得した温度情報を、ＣＰＵ１０１からの読み出し要求の応答データとしてＣＰＵ１０１に出力する。従って、Ｓ７０２でＣＰＵ１０１は、温度センサ３０９が計測した温度情報を取得することになる。
【００３３】
次にＳ７０３に進み、ＣＰＵ１０１は、温度センサ３１０で計測した温度情報を取得するために、温度センサ指定レジスタ４０１に「０１」を書き込む。そしてＳ７０４に進み、ＣＰＵ１０１は、温度情報格納レジスタ４０２に対して温度情報の読み出し要求を発行して温度センサ３１０で計測した温度情報を取得する。次にＳ７０５に進み、ＣＰＵ１０１は温度センサ３１１で計測した温度情報を取得するために、温度センサ指定レジスタ４０１に「１０」を書き込む。そしてＳ７０６で、ＣＰＵ１０１は、温度情報格納レジスタ４０２に対して温度情報の読み出し要求を発行し、温度センサ３１１で計測された温度情報を取得する。次にＳ７０７に進み、ＣＰＵ１０１は、温度センサ３１２で計測された温度情報を取得するために、温度センサ指定レジスタ４０１に「１１」を書き込む。そしてＳ７０８でＣＰＵ１０１は、温度情報格納レジスタ４０２に対して温度情報の読み出し要求を発行して、温度センサ３１２により計測された温度情報を取得する。以上の処理により、ＣＰＵ１０１は、各温度センサで計測された温度情報、即ち、各ＳＤＲＡＭ、或いは各チャネルの温度情報を取得することができる。
【００３４】
図８は、実施形態１に係るＭＦＰにおいて、ジョブを実行する際に、使用するメモリチャネル（ＳＤＲＡＭ）を決定する処理を説明するフローチャートである。尚、この処理を実行するプログラムはＨＤＤ１０５にインストールされており、実行時にＳＤＲＡＭに展開され、そのプログラムをＣＰＵ１０１が実行することにより、この処理が実現される。
【００３５】
まずＳ８０１で、ＣＰＵ１０１は各温度センサの温度情報を取得する。ＣＰＵ１０１による温度情報の取得は、図７のフローチャートを参照して説明した手順により実行される。本実施形態では、Ｓ８０１で取得した温度情報は、例えば図９に示されるような値であるとして説明する。即ち、温度センサ３０９が検知した温度情報は５０℃、温度センサ３１０が検知した温度情報は６０℃、温度センサ３１１が検知した温度情報は６５℃、温度センサ３１２が検知した温度情報は７０℃であるとする。
【００３６】
次にＳ８０２に進み、ＣＰＵ１０１は、Ｓ８０１で取得した温度情報を基に、最も低温のＳＤＲＡＭを特定する。本実施形態では、図９から明らかなように、Ｓ８０１において取得した温度情報で最も低温なのは温度センサ３０９の５０℃である。従って、ここでは、ＳＤＲＡＭ３０１が最も低温のＳＤＲＡＭであると特定される。
【００３７】
次にＳ８０３に進み、ＣＰＵ１０１は、Ｓ８０２で特定した最も低温のＳＤＲＡＭのアドレス領域を参照して、そのＳＤＲＡＭに、動作させたい画像処理部が必要とするメモリサイズに相当するメモリ領域を確保できるか判定する。即ち、ＳＤＲＡＭ３０１に割り当てられたアドレス０ｘ００００_００００〜０ｘ２０００_００００から、その画像処理部が必要とするメモリサイズを確保できるか否かを判定する。ここでＣＰＵ１０１が、そのＳＤＲＡＭに、必要とするメモリサイズのメモリ領域を確保することができると判定した場合はＳ８０４に進む。Ｓ８０４でＣＰＵ１０１は、最も低温のＳＤＲＡＭにメモリ領域を確保してＳ８０５に進む。Ｓ８０５でＣＰＵ１０１は、その確保したＳＤＲＡＭのメモリ領域の先頭アドレスを、動作させたい画像処理部のレジスタへ設定する。そしてＳ８０６に進み、ＣＰＵ１０１は、その画像処理部を起動し、操作部１０２等から指定されたジョブに必要な画像処理等を実施する。この画像処理部の起動とは、例えば、画像処理部に備えられるイネーブルレジスタの設定値をイネーブル状態にすることである。
【００３８】
ここで、画像処理部においてメモリ領域を使用する処理について簡単に説明する。ここで画像処理部は、前述の画像編集用画像処理部１０８、プリント画像処理部１０９、スキャン画像処理部１１０が含まれる。この画像処理部には、スムージング処理や像域判定処理等で行われる各種フィルタ処理等が備えられる。このフィルタ処理では、通常、ラスタ形式で入力される画像データを、フィルタのウインドウ幅のライン数だけ格納するバッファが必要となる。この所定ラインを格納するためのバッファを、本実施形態ではＷｉｄｅＩＯのＳＤＲＡＭの領域を用いて実現するように構成される。
【００３９】
一方、Ｓ８０３で、ＣＰＵ１０１は、そのＳＤＲＡＭで、必要とするメモリサイズのメモリ領域を確保できないと判定した場合はＳ８０７に進み、ＣＰＵ１０１は、Ｓ８０１で取得した温度情報を基に、２番目に低温のＳＤＲＡＭを特定する。本実施形態では、図９の例では、２番目に低温なのは温度センサ３１０の６０℃であるため、ＳＤＲＡＭ３０２が２番目に低温なＳＤＲＡＭであると特定できる。
【００４０】
次にＳ８０８に進み、ＣＰＵ１０１は、Ｓ８０７で特定した２番目に低温なＳＤＲＡＭのアドレス領域を参照して、そのＳＤＲＡＭに、動作させたい画像処理部が必要とするメモリサイズに相当するメモリ領域を確保できるかを判定する。即ち、ＳＤＲＡＭ３０２に割り当てられたアドレス０ｘ２０００_００００〜０ｘ４０００_００００から、その画像処理部が必要とするメモリサイズを確保できるか否かを判定する。ここでＣＰＵ１０１が、そのＡＳＤＲＡＭに、必要とするメモリサイズのメモリ領域を確保できると判定した場合はＳ８０９に進み、ＣＰＵ１０１は、その２番目に低温なＳＤＲＡＭにメモリ領域を確保してＳ８０５に進む。Ｓ８０５、Ｓ８０６の処理は前述した処理と同様であるため、その説明を省略する。
【００４１】
一方、Ｓ８０８でＣＰＵ１０１が、２番目に低温なＳＤＲＡＭに必要なメモリサイズのメモリ領域を確保することができないと判定した場合はＳ８１０に進み、ＣＰＵ１０１は、Ｓ８０１で取得した温度情報を基に、３番目に低温のＳＤＲＡＭを特定する。本実施形態では、図９から、３番目に低温なのは温度センサ３１１の６５℃である。従って、ＳＤＲＡＭ３０３が３番目に低温なＳＤＲＡＭであると特定することができる。
【００４２】
次にＳ８１１に進み、ＣＰＵ１０１は、Ｓ８０１で特定した３番目に低温なＳＤＲＡＭのアドレス領域を参照して、そのＳＤＲＡＭに、動作させたい画像処理部が必要とするメモリサイズのメモリ領域を確保できるか否かを判定する。即ち、ＳＤＲＡＭ３０３に割り当てられたアドレス０ｘ４０００_００００〜０ｘ６０００_００００から、その画像処理部が必要とするメモリサイズに相当するメモリ領域を確保できるかを判定する。ここでＣＰＵ１０１が、必要なメモリサイズのメモリ領域を確保できると判定した場合はＳ８１２に進み、ＣＰＵ１０１は、その３番目に低温なＳＤＲＡＭにメモリ領域を確保してＳ８０５に進む。Ｓ８０５、Ｓ８０６の処理は前述した処理と同様であるため、その説明を省略する。
【００４３】
一方、Ｓ８１１で、ＣＰＵ１０１が、３番目に低温なＳＤＲＡＭに、必要とするメモリサイズのメモリ領域を確保できないと判定した場合はＳ８１３に進み、ＣＰＵ１０１は、４番目に低温なＳＤＲＡＭ３０４を特定する。そしてそのＳＤＲＡＭ３０４に割り当てられたアドレス０ｘ６０００_００００〜０ｘ８０００_００００に、その画像処理部が必要とするメモリサイズのメモリ領域を確保してＳ８０５に進む。尚、Ｓ８１３で、ＳＤＲＡＭ３０４に、必要とするメモリサイズのメモリ領域を確保できないときはエラー終了するようにしても良い。
【００４４】
尚、Ｓ８０５で、画像処理部のレジスタに、その先頭アドレスがセットされたメモリ領域は、その画像処理部による処理が終了するとＣＰＵ１０１により解放される。
【００４５】
また、各メモリごとに、確保されているメモリ領域の数を記憶しておき、各メモリごとに確保されているメモリ領域の数も考慮して、動作させたい画像処理部が必要とするメモリ領域を割り当てるＳＤＲＡＭを決定するようにしても良い。例えば、図８のＳ８０３で最も低温のＳＤＲＡＭに、動作させたい画像処理部が必要とするメモリ領域を確保できると判定しても、そのＳＤＲＡＭのメモリ領域の数が所定数以上であれば、２番目に低温のＳＤＲＡＭを特定するようにしても良い。これは、そのメモリ（ＳＤＲＡＭ）に確保されているメモリ領域の数が所定数以上になると、今後、そのメモリの温度が上昇する可能性があると判断でき、事前に、そのような事態を防止するための対策をとるためである。
【００４６】
以上説明したように本実施形態によれば、ＷｉｄｅＩＯメモリデバイスの各ＤＲＡＭの温度を取得し、温度が低いＳＤＲＡＭに優先的に、ジョブを実行するために動作させる必要がある画像処理部が必要とするメモリ領域を確保するようにしている。これにより、高温のＳＤＲＡＭの更なる温度上昇を防ぐことができるため、ＤＲＡＭの温度上昇に伴う、消費電力の低減やメモリアクセスの性能低下の抑制が可能となる。
【００４７】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014074958.tif 000003
【図２】
2014074958.tif 000004
【図３】
2014074958.tif 000005
【図４】
2014074958.tif 000006
【図５】
2014074958.tif 000007
【図６】
2014074958.tif 000008
【図７】
2014074958.tif 000009
【図８】
2014074958.tif 000010
【図９】
2014074958.tif 000011