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