IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ コニカミノルタ株式会社の特許一覧

特許7081477画像処理装置、画像処理装置の制御方法、およびプログラム
<>
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図1
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図2
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図3
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図4
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図5
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図6
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図7
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図8
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図9
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図10
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図11
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図12
  • 特許-画像処理装置、画像処理装置の制御方法、およびプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-30
(45)【発行日】2022-06-07
(54)【発明の名称】画像処理装置、画像処理装置の制御方法、およびプログラム
(51)【国際特許分類】
   B41J 5/30 20060101AFI20220531BHJP
   G06F 12/00 20060101ALI20220531BHJP
   H04N 1/00 20060101ALI20220531BHJP
   G03G 21/14 20060101ALI20220531BHJP
【FI】
B41J5/30 Z
G06F12/00 564D
H04N1/00 C
G03G21/14
【請求項の数】 17
(21)【出願番号】P 2018243354
(22)【出願日】2018-12-26
(65)【公開番号】P2020104337
(43)【公開日】2020-07-09
【審査請求日】2021-09-15
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】100117673
【弁理士】
【氏名又は名称】中島 了
(72)【発明者】
【氏名】伊藤 康孝
(72)【発明者】
【氏名】山口 武久
(72)【発明者】
【氏名】前川 武士
【審査官】上田 正樹
(56)【参考文献】
【文献】特開2012-168665(JP,A)
【文献】特開2012-234502(JP,A)
【文献】特開2018-173782(JP,A)
【文献】特開2015-056129(JP,A)
【文献】米国特許出願公開第2017/0083259(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 5/30
G06F 12/00
H04N 1/00
G03G 21/14
(57)【特許請求の範囲】
【請求項1】
画像処理装置であって、
メモリと、
前記画像処理装置におけるジョブの実行中に、前記メモリに関するリトレーニングを実行する制御手段と、
を備え、
前記制御手段は、前記ジョブの種類および/または前記ジョブの設定内容に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記制御手段は、
前記ジョブの設定内容に基づいて、前記ジョブの実行に伴う前記メモリの温度上昇状況を推定し、
前記温度上昇状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項3】
請求項2に記載の画像処理装置において、
前記制御手段は、
前記ジョブの読取解像度として第1解像度が設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、前記第1解像度よりも低い第2解像度が前記読取解像度として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、
前記第1解像度が前記読取解像度として設定されている場合、前記第2解像度が前記読取解像度として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項4】
請求項2に記載の画像処理装置において、
前記制御手段は、
前記ジョブの出力解像度として第1解像度が設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、前記第1解像度よりも低い第2解像度が前記出力解像度として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、
前記第1解像度が前記出力解像度として設定されている場合、前記第2解像度が前記出力解像度として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項5】
請求項2に記載の画像処理装置において、
前記制御手段は、
前記ジョブの出力色設定としてフルカラーが設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、グレースケールが前記出力色設定として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、
前記フルカラーが前記出力色設定として設定されている場合、前記グレースケールが前記出力色設定として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項6】
請求項2に記載の画像処理装置において、
前記制御手段は、前記メモリの温度上昇が所定程度よりも大きいと推定される場合、前記温度上昇が前記所定程度よりも小さいと推定される場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項7】
請求項1に記載の画像処理装置において、
前記制御手段は、前記ジョブの種類に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項8】
請求項7に記載の画像処理装置において、
前記制御手段は、
前記ジョブがプリントジョブである場合、前記プリントジョブの実行期間のうちDMA転送処理の実行が開始される前の初期期間においては、前記ジョブの実行に伴う温度上昇は所定程度よりも小さいと推定して前記リトレーニングを実行せず、
前記ジョブがスキャンジョブである場合、前記スキャンジョブの実行期間のうち前記スキャンジョブの初期期間であってDMA転送処理を伴う初期期間においては、前記ジョブの実行に伴う温度上昇は前記所定程度よりも大きいと推定して前記リトレーニングを実行することを特徴とする画像処理装置。
【請求項9】
請求項7に記載の画像処理装置において、
前記制御手段は、
前記ジョブがプリントジョブである場合、前記プリントジョブの実行期間のうち前記プリントジョブに関するDMA転送処理が開始される第1時点よりも前の第1期間における前記メモリの温度上昇は所定程度よりも小さいと推定し且つ前記実行期間のうち前記第1時点よりも後の第2期間における前記メモリの温度上昇は前記所定程度よりも大きいと推定するとともに、前記第2期間においては、前記第1期間における実行頻度である第1の実行頻度より高い頻度で前記リトレーニングを実行し、
前記ジョブがスキャンジョブである場合、前記スキャンジョブの実行期間のうち前記スキャンジョブの初期期間と前記初期期間におけるDMA転送処理処理の終了後の所定期間とのいずれにおいても、前記ジョブの実行に伴う温度上昇は前記所定程度よりも大きいと推定して前記第1の実行頻度よりも高い頻度で前記リトレーニングを実行することを特徴とする画像処理装置。
【請求項10】
請求項7に記載の画像処理装置において、
前記制御手段は、
前記ジョブの実行期間を複数の期間に区分し、前記複数の期間のそれぞれにおける前記メモリの処理負荷の大きさを前記ジョブの種類に基づいて判定するとともに、前記複数の期間のそれぞれにおける前記温度変化状況を前記ジョブの種類に基づいて推定し、
前記複数の期間のそれぞれにおける前記温度変化状況の推定結果に基づいて、前記リトレーニングの実行タイミングを期間ごとに決定することを特徴とする画像処理装置。
【請求項11】
請求項10に記載の画像処理装置において、
前記制御手段は、
前記ジョブがプリントジョブである場合、前記プリントジョブを、DMA転送処理の実行を伴わない第1期間と、前記第1期間の後の第2期間であって前記DMA転送処理の実行を伴う第2期間とを含む複数の期間に区分し、
前記第2期間における処理負荷は前記第1期間における処理負荷よりも大きく且つ前記第2期間における温度上昇速度は前記第1期間における温度上昇速度よりも大きい旨を推定し、前記第2期間においては、前記第1期間における実行頻度よりも高い頻度で前記リトレーニングを実行することを特徴とする画像処理装置。
【請求項12】
請求項1に記載の画像処理装置において、
前記制御手段は、
前記ジョブとして2種類のジョブが同時並列的に実行される場合に前記ジョブの実行に伴って発生する温度上昇は、前記ジョブとして単一の種類のジョブが単独で実行される場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、
前記2種類のジョブが同時並列的に実行される場合、前記単一の種類のジョブが単独で実行される場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項13】
請求項1に記載の画像処理装置において、
前記メモリに対する動作を制御するメモリコントローラ、
をさらに備え、
前記メモリは、前記メモリコントローラの第1チャネルで制御される第1メモリと、前記メモリコントローラの第2チャネルで制御される第2メモリとを有し、
前記制御手段は、前記第1チャネルに関するリトレーニングと前記第2チャネルに関するリトレーニングとを互いに独立したタイミングで実行することを特徴とする画像処理装置。
【請求項14】
請求項13に記載の画像処理装置において、
前記制御手段は、前記第2チャネルに関する前記リトレーニングの実行タイミングにおいて前記第2チャネルにて実行すべき所定の処理が存在する場合、前記所定の処理を前記第2チャネルではなく前記第1チャネルを用いて実行させることによって前記第2チャネルを前記所定の処理から解放した上で、前記第2チャネルに関する前記リトレーニングを実行することを特徴とする画像処理装置。
【請求項15】
請求項1に記載の画像処理装置において、
前記制御手段は、前記メモリを用いて実行すべき所定の処理が存在する場合、前記所定の処理に関するデータを前記メモリとは別の退避用格納領域に退避するとともに前記所定の処理を前記退避用格納領域を用いて実行させることによって、前記メモリを前記所定の処理から解放した上で、前記メモリに関する前記リトレーニングを実行することを特徴とする画像処理装置。
【請求項16】
画像処理装置の制御方法であって、
a)前記画像処理装置における実行対象のジョブに関する情報であって前記ジョブの種類および/または設定内容を含む情報を取得するステップと、
b)前記画像処理装置における前記ジョブの実行中に、前記画像処理装置内のメモリに関するリトレーニングを実行するステップと、
を備え、
ステップb)は、
b-1)前記ジョブに関する前記情報に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定するステップ、
を有することを特徴とする、画像処理装置の制御方法。
【請求項17】
画像処理装置に内蔵されたコンピュータに、
a)前記画像処理装置における実行対象のジョブに関する情報であって前記ジョブの種類および/または設定内容を含む情報を取得するステップと、
b)前記画像処理装置における前記ジョブの実行中に、前記画像処理装置内のメモリに関するリトレーニングを実行するステップと、
を実行させるためのプログラムであって、
ステップb)は、
b-1)前記ジョブに関する前記情報に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定するステップ、
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリを備える画像処理装置、およびそれに関連する技術に関する。
【背景技術】
【0002】
画像処理装置においては、高速アクセス可能なメモリ(半導体メモリ)としてDRAM(たとえば、DDR-SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory))等が用いられている。
【0003】
このようなメモリの動作周波数は非常に高く、メモリアクセスに関するタイミングマージンは非常に小さい。
【0004】
このようなメモリアクセスにおける信号品質を確保するため、メモリアクセスに関する各種のパラメータを調整して、データストローブ信号のディレイ値(遅延値)を調整する技術が存在する(特許文献1参照)。具体的には、或る調整タイミングにおいて次のような調整動作が実行される。
【0005】
まず特定の値がメモリ内の特定アドレスに書き込まれ、各種のパラメータ変更によりディレイ値を変更しつつ当該特定アドレスからの読み出し処理が繰り返し行われる。これらの読み出し処理においては、当該特定アドレスから読み出した値が正しい値(特定アドレスに書き込まれていた値と同じ値)であることを確認できたディレイ値の範囲(読み出し可能範囲)が特定される。そして、当該読み出し可能範囲の中央値が、調整後のディレイ値として設定される。
【0006】
当該調整を行うことによれば、メモリの環境変化(温度変化等)等に適合した適切なパラメータを設定することが可能である。
【0007】
なお、このようなキャリブレーション(調整動作)は「トレーニング」とも称される。また、当該キャリブレーションとしてフルキャリブレーション(初期キャリブレーションとも称する)が行われた後に、微調整のために再びキャリブレーションが行われることがある。このようなキャリブレーション(再キャリブレーション)は、「リトレーニング」とも称される。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2011-59762号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、従来、DRAMのリトレーニングは常に固定的なタイミングで(たとえば所定の一定間隔で)行われる。そのため、適切なタイミングでリトレーニングが行われていないことも多い。
【0010】
たとえば、大きな温度変化が生じているにもかかわらず、比較的大きな周期でリトレーニングが行われる場合には、リトレーニングが抑制され過ぎて読み出しエラーが発生する可能性がある。逆に、温度変化がほとんど生じていないにもかかわらず、比較的小さな周期で(過度に高い頻度で)リトレーニングが行われる場合、不要なリトレーニングが発生している。
【0011】
そこで、この発明は、画像処理装置において、より適切なタイミングでメモリのリトレーニングを実行することが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【0012】
上記課題を解決すべく、請求項1の発明は、画像処理装置であって、メモリと、前記画像処理装置におけるジョブの実行中に、前記メモリに関するリトレーニングを実行する制御手段と、を備え、前記制御手段は、前記ジョブの種類および/または前記ジョブの設定内容に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする。
【0013】
請求項2の発明は、請求項1の発明に係る画像処理装置において、前記制御手段は、前記ジョブの設定内容に基づいて、前記ジョブの実行に伴う前記メモリの温度上昇状況を推定し、前記温度上昇状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする。
【0014】
請求項3の発明は、請求項2の発明に係る画像処理装置において、前記制御手段は、前記ジョブの読取解像度として第1解像度が設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、前記第1解像度よりも低い第2解像度が前記読取解像度として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、前記第1解像度が前記読取解像度として設定されている場合、前記第2解像度が前記読取解像度として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする。
【0015】
請求項4の発明は、請求項2の発明に係る画像処理装置において、前記制御手段は、前記ジョブの出力解像度として第1解像度が設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、前記第1解像度よりも低い第2解像度が前記出力解像度として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、前記第1解像度が前記出力解像度として設定されている場合、前記第2解像度が前記出力解像度として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする。
【0016】
請求項5の発明は、請求項2の発明に係る画像処理装置において、前記制御手段は、前記ジョブの出力色設定としてフルカラーが設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、グレースケールが前記出力色設定として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、前記フルカラーが前記出力色設定として設定されている場合、前記グレースケールが前記出力色設定として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする。
【0017】
請求項6の発明は、請求項2の発明に係る画像処理装置において、前記制御手段は、前記メモリの温度上昇が所定程度よりも大きいと推定される場合、前記温度上昇が前記所定程度よりも小さいと推定される場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする。
【0018】
請求項7の発明は、請求項1の発明に係る画像処理装置において、前記制御手段は、前記ジョブの種類に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする。
【0019】
請求項8の発明は、請求項7の発明に係る画像処理装置において、前記制御手段は、前記ジョブがプリントジョブである場合、前記プリントジョブの実行期間のうちDMA転送処理の実行が開始される前の初期期間においては、前記ジョブの実行に伴う温度上昇は所定程度よりも小さいと推定して前記リトレーニングを実行せず、前記ジョブがスキャンジョブである場合、前記スキャンジョブの実行期間のうち前記スキャンジョブの初期期間であってDMA転送処理を伴う初期期間においては、前記ジョブの実行に伴う温度上昇は前記所定程度よりも大きいと推定して前記リトレーニングを実行することを特徴とする。
【0020】
請求項9の発明は、請求項7の発明に係る画像処理装置において、前記制御手段は、前記ジョブがプリントジョブである場合、前記プリントジョブの実行期間のうち前記プリントジョブに関するDMA転送処理が開始される第1時点よりも前の第1期間における前記メモリの温度上昇は所定程度よりも小さいと推定し且つ前記実行期間のうち前記第1時点よりも後の第2期間における前記メモリの温度上昇は前記所定程度よりも大きいと推定するとともに、前記第2期間においては、前記第1期間における実行頻度である第1の実行頻度より高い頻度で前記リトレーニングを実行し、前記ジョブがスキャンジョブである場合、前記スキャンジョブの実行期間のうち前記スキャンジョブの初期期間と前記初期期間におけるDMA転送処理処理の終了後の所定期間とのいずれにおいても、前記ジョブの実行に伴う温度上昇は前記所定程度よりも大きいと推定して前記第1の実行頻度よりも高い頻度で前記リトレーニングを実行することを特徴とする。
【0021】
請求項10の発明は、請求項7の発明に係る画像処理装置において、前記制御手段は、前記ジョブの実行期間を複数の期間に区分し、前記複数の期間のそれぞれにおける前記メモリの処理負荷の大きさを前記ジョブの種類に基づいて判定するとともに、前記複数の期間のそれぞれにおける前記温度変化状況を前記ジョブの種類に基づいて推定し、前記複数の期間のそれぞれにおける前記温度変化状況の推定結果に基づいて、前記リトレーニングの実行タイミングを期間ごとに決定することを特徴とする。
【0022】
請求項11の発明は、請求項10の発明に係る画像処理装置において、前記制御手段は、前記ジョブがプリントジョブである場合、前記プリントジョブを、DMA転送処理の実行を伴わない第1期間と、前記第1期間の後の第2期間であって前記DMA転送処理の実行を伴う第2期間とを含む複数の期間に区分し、前記第2期間における処理負荷は前記第1期間における処理負荷よりも大きく且つ前記第2期間における温度上昇速度は前記第1期間における温度上昇速度よりも大きい旨を推定し、前記第2期間においては、前記第1期間における実行頻度よりも高い頻度で前記リトレーニングを実行することを特徴とする。
【0023】
請求項12の発明は、請求項1の発明に係る画像処理装置において、前記制御手段は、前記ジョブとして2種類のジョブが同時並列的に実行される場合に前記ジョブの実行に伴って発生する温度上昇は、前記ジョブとして単一の種類のジョブが単独で実行される場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、前記2種類のジョブが同時並列的に実行される場合、前記単一の種類のジョブが単独で実行される場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする。
【0024】
請求項13の発明は、請求項1の発明に係る画像処理装置において、前記メモリに対する動作を制御するメモリコントローラ、をさらに備え、前記メモリは、前記メモリコントローラの第1チャネルで制御される第1メモリと、前記メモリコントローラの第2チャネルで制御される第2メモリとを有し、前記制御手段は、前記第1チャネルに関するリトレーニングと前記第2チャネルに関するリトレーニングとを互いに独立したタイミングで実行することを特徴とする。
【0025】
請求項14の発明は、請求項13の発明に係る画像処理装置において、前記制御手段は、前記第2チャネルに関する前記リトレーニングの実行タイミングにおいて前記第2チャネルにて実行すべき所定の処理が存在する場合、前記所定の処理を前記第2チャネルではなく前記第1チャネルを用いて実行させることによって前記第2チャネルを前記所定の処理から解放した上で、前記第2チャネルに関する前記リトレーニングを実行することを特徴とする。
【0026】
請求項15の発明は、請求項1の発明に係る画像処理装置において、前記制御手段は、前記メモリを用いて実行すべき所定の処理が存在する場合、前記所定の処理に関するデータを前記メモリとは別の退避用格納領域に退避するとともに前記所定の処理を前記退避用格納領域を用いて実行させることによって、前記メモリを前記所定の処理から解放した上で、前記メモリに関する前記リトレーニングを実行することを特徴とする。
【0027】
請求項16の発明は、画像処理装置の制御方法であって、a)前記画像処理装置における実行対象のジョブに関する情報であって前記ジョブの種類および/または設定内容を含む情報を取得するステップと、b)前記画像処理装置における前記ジョブの実行中に、前記画像処理装置内のメモリに関するリトレーニングを実行するステップと、を備え、ステップb)は、b-1)前記ジョブに関する前記情報に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定するステップ、を有することを特徴とする。
【0028】
請求項17の発明は、画像処理装置に内蔵されたコンピュータに、a)前記画像処理装置における実行対象のジョブに関する情報であって前記ジョブの種類および/または設定内容を含む情報を取得するステップと、b)前記画像処理装置における前記ジョブの実行中に、前記画像処理装置内のメモリに関するリトレーニングを実行するステップと、を実行させるためのプログラムであって、ステップb)は、b-1)前記ジョブに関する前記情報に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定するステップ、を有することを特徴とする。
【発明の効果】
【0029】
請求項1から請求項17に記載の発明によれば、ジョブの種類および/またはジョブの設定内容に応じてメモリの温度変化状況が推定され、当該温度変化状況の推定結果に基づいてリトレーニングの実行タイミングが決定されるので、温度変化状況を反映した適切なタイミングでメモリのリトレーニングを実行することが可能である。
【図面の簡単な説明】
【0030】
図1】MFP(画像処理装置)の機能ブロックを示す図である。
図2】MFPの外観を示す図である。
図3】コントローラの詳細なハードウエア構成を示す図である。
図4】プリントジョブの実行時における各チャネルの処理負荷等を示す図である。
図5】変形例に係るリトレーニングタイミングを示す図である。
図6】温度上昇速度(レベルL1)を示すグラフである。
図7】温度上昇速度(レベルL2)を示すグラフである。
図8】温度上昇速度(レベルL3)を示すグラフである。
図9】代行付随型リトレーニングの詳細動作を示すタイミングチャートである。
図10】第2実施形態に係る動作を示すタイミングチャートである。
図11】第3実施形態に係る動作を示すタイミングチャートである。
図12】変形例に係るリトレーニングの詳細動作を示すタイミングチャートである。
図13】別の変形例に係るリトレーニングの詳細動作を示すタイミングチャートである。
【発明を実施するための形態】
【0031】
以下、本発明の実施形態を図面に基づいて説明する。
【0032】
<1.第1実施形態>
<1-1.画像処理装置の構成>
図1は、画像処理装置(より詳細にはMFP)10の機能ブロックを示す図である。ここでは、画像処理装置としてMFP(マルチ・ファンクション・ペリフェラル(Multi-Functional Peripheral))10を例示する。また、図2は、MFP10の外観等を示す図である。
【0033】
MFP10は、スキャン機能、コピー機能、ファクシミリ機能およびボックス格納機能などを備える装置(複合機とも称する)である。具体的には、MFP10は、図1の機能ブロック図に示すように、画像読取部2、印刷出力部3、通信部4、格納部5、操作部6およびコントローラ9等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。なお、MFP10は、画像形成装置などとも称される。
【0034】
画像読取部2は、MFP10の所定の位置(ADF(原稿自動送り装置(Auto Document Feeder))あるいはガラス面(透光性原稿台)等)に載置された原稿を光学的に読み取って(すなわちスキャンして)、当該原稿の画像データ(原稿画像あるいはスキャン画像とも称する)を生成する処理部である。この画像読取部2は、スキャン部であるとも称される。
【0035】
印刷出力部3は、印刷対象に関するデータに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
【0036】
通信部4は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部4は、各種のネットワーク通信を行うことも可能である。
【0037】
格納部5は、ハードディスクドライブ(HDD)等の記憶装置で構成される。
【0038】
操作部6は、MFP10に対する操作入力を受け付ける操作入力部6aと、各種情報の表示出力を行う表示部6bとを備えている。
【0039】
このMFP10においては、略板状の操作パネル部6c(図2参照)が設けられている。また、操作パネル部6cは、その正面側にタッチパネル25(図2参照)を有している。タッチパネル25は、操作入力部6aの一部としても機能するとともに、表示部6bの一部としても機能する。タッチパネル25は、液晶表示パネルに各種センサ等が埋め込まれて構成され、各種情報を表示するとともに操作者からの各種の操作入力を受け付けることが可能である。
【0040】
コントローラ(制御部)9(図1参照)は、MFP10に内蔵され、MFP10を統括的に制御する制御装置である。コントローラ9は、CPUおよび各種の半導体メモリ(RAMおよびROM)等を備えるコンピュータシステムとして構成される。コントローラ9は、CPUにおいて、ブート用のメモリ(フラッシュメモリ等)内に格納されている所定のソフトウエアプログラム(以下、単にプログラムとも称する)を実行することによって、各種の処理部を実現する。なお、当該プログラム(詳細にはプログラムモジュール群)は、USBメモリなどの可搬性の記録媒体に記録され、当該記録媒体から読み出されてMFP10にインストールされるようにしてもよい。あるいは、当該プログラムは、ネットワークを経由してダウンロードされてMFP10にインストールされるようにしてもよい。
【0041】
具体的には、図1に示すように、コントローラ9は、上記のプログラムの実行により、通信制御部11と入力制御部12と表示制御部13とジョブ制御部14とキャリブレーション制御部15とを含む各種の処理部を実現する。
【0042】
通信制御部11は、他の装置との間の通信動作を通信部4等と協働して制御する処理部である。通信制御部11は、各種データの送信動作を制御する送信制御部と各種データの受信動作を制御する受信制御部とを有する。
【0043】
入力制御部12は、操作入力部6a(タッチパネル25等)に対する操作入力動作を制御する制御部である。たとえば、入力制御部12は、タッチパネル25に表示された操作画面に対する操作入力を受け付ける動作を制御する。
【0044】
表示制御部13は、表示部6b(タッチパネル25等)における表示動作を制御する処理部である。
【0045】
ジョブ制御部14は、各種のジョブに関する動作(印刷出力動作、画像読取動作等)を制御する処理部である。ジョブ制御部14は、ジョブに関する情報(ジョブの種類および/または設定内容を含む情報)(ジョブ情報などとも称する)を取得する。
【0046】
キャリブレーション制御部15は、メモリのキャリブレーション(トレーニング)に関する動作を制御する処理部である。メモリのキャリブレーションには、メモリの再キャリブレーション(リトレーニングとも称する)も含まれる。
【0047】
キャリブレーション制御部15は、ジョブの種類および/またはジョブの設定内容に基づいてメモリの温度変化状況(温度上昇状況等)を推定する推定部15aと、当該温度変化状況の推定結果に基づいてリトレーニングの実行タイミングを決定する決定部15bとを有する。
【0048】
<1-2.コントローラの詳細構成>
図3は、コントローラ9の詳細なハードウエア構成を示す図である。
【0049】
コントローラ9は、この実施形態では、CPU31およびDRAMコントローラ36等をワンチップ内に収めたSoC(System-on-a-Chip:システム・オン・チップ)を備えて構成される。
【0050】
SoCは、CPU31とDRAMコントローラ36とDMA(Direct Memory Access)コントローラ41と画像処理回路43とSATA(Serial ATA)コントローラ44とメモリコントローラ45とネットワークコントローラ46とを備えて構成される。各部31,36,41,44,45,46は、SoCの内部バス39等を介して相互に接続されており、データの送受信を相互に行うことが可能である。
【0051】
画像処理回路43は、DMAコントローラ41(MFPの画像処理用のDMAコントローラ)およびバス39等を介して、各部31,36,44,45,46との間でデータを送受信することが可能である。
【0052】
また、コントローラ9は、高速動作可能な揮発性記憶部51(詳細には、複数(ここでは2つ)のメモリ(DRAM:Dynamic Random Access Memory)(51a,51b))、大容量の不揮発性記憶部54(HDD(hard disk drive)およびSSD(solid state drive)等)、ならびにブートメモリ55(フラッシュメモリ等)等を備えて構成される。
【0053】
複数のDRAM51(ここでは、2つのDRAM51a,51b)は、DRAMコントローラ36およびバス39を介して、各部31,41,43,44,45,46等との間でデータを送受信することが可能である。DRAM51に対するアクセスは、CPU31あるいはDMAコントローラ41によって、DRAMコントローラ36等を介して制御される。
【0054】
不揮発性記憶部54は、SATAコントローラ44およびバス39を介して、各部31,36,41,45,46との間でデータを送受信することが可能である。
【0055】
ブートメモリ55は、メモリコントローラ45およびバス39を介して、各部31,36,41,44,45,46との間でデータを送受信することが可能である。
【0056】
ネットワークコントローラ46は、ネットワーク端子56を介した外部通信を制御する処理部である。ネットワークコントローラ46は、各部31,36,41,44,45との間でのバス39を介したデータの送受信をも制御する。ネットワークコントローラ46は、外部装置からのデータの受信動作および装置内部への転送動作、および外部装置へのデータの送信動作(装置内部からの転送動作を含む)等を制御する。
【0057】
この実施形態では、DRAMコントローラ36は、2つのメモリチャネルCh0,Ch1を有している。DRAMコントローラ36は、各メモリチャネル(単にチャネルとも表記する)を介して2つのDRAM51のそれぞれとの間でデータの送受信を行うことが可能である。具体的には、DRAMコントローラ36は、一方のチャネルCh0を介して一方のDRAM51aとの間でのデータの送受信を行うことが可能であり、他方のチャネルCh1を介して他方のDRAM51bとの間でのデータの送受信を行うことが可能である。換言すれば、DRAM51aはDRAMコントローラ36のチャネルCh0によって制御され、DRAM51bはDRAMコントローラ36のチャネルCh1によって制御される。
【0058】
2つのチャネルCh0,Ch1のうち、チャネルCh1は、DMAコントローラ41(MFPの画像処理用のDMAコントローラ)を用いた処理(DMA経由の処理(DMA転送処理等))に主に利用される。これに対して、もう一つのチャネルCh0は、その他の処理(画像処理のためのCPUによる準備処理等)に主に利用される。
【0059】
たとえば、PCプリントジョブ(パーソナルコンピュータ(PC)等からの印刷指示に基づく印刷出力ジョブ)においては、チャネルCh0(およびDRAM51a)がCPUによる処理(PDL解析処理およびRIP処理)に主に利用され、チャネルCh1(およびDRAM51b)がDMAコントローラ41よる処理(DMA転送処理)に主に利用される。特に、リアルタイム性を要求される画像処理(DMA転送処理等)は、一方のチャネルCh1に優先的に割り当てられてリアルタイム性を確保しつつ実行される。それ以外の処理は他方のチャネルCh0に割り当てられる。
【0060】
また、コントローラ9(DRAMコントローラ36等)は、チャネルCh0に関するリトレーニングR0とチャネルCh1に関するリトレーニングR1とを互いに独立したタイミングで実行することが可能である。
【0061】
<1-3.動作概要>
後に詳述するように、この実施形態では、実行対象ジョブの種類および当該実行対象ジョブの設定内容に基づいてメモリの温度変化状況(温度上昇速度(温度上昇度合)等)が推定される。そして、当該温度変化状況の推定結果に基づいて、リトレーニングの実行タイミングが決定される。
【0062】
以下では、まず、メモリの温度変化状況の推定結果に基づいてリトレーニングの実行タイミングが変更される点について説明する。なお、メモリの温度変化状況(温度上昇速度等)の推定処理については後述する。
【0063】
図6図8は、温度上昇速度V(=ΔT/Δt)を示すグラフである。横軸は時間を示しており、縦軸は温度を示している。当該グラフの傾きが温度上昇速度V(単位時間Δtあたりの温度上昇ΔT)を表している。
【0064】
また、ここでは、温度上昇速度VがレベルL0~L3の4段階に分類される。
【0065】
図6においては、レベルL1の温度上昇度合(温度上昇速度V1(値V11以上且つ値V12未満))(ただし、V12>V11)が示されている。ここで、レベルL1は、3つのレベルL1~L3のうち最も小さな温度上昇度合いである。図6では、このような緩やかな温度上昇速度Vが示されている。
【0066】
図8においては、レベルL3の温度上昇度合(温度上昇速度V3(値V13以上))が示されている。ここで、レベルL3は、3つのレベルL1~L3のうち最も大きな温度上昇度合い(最大レベル)である。図8では、このような急激な温度上昇速度Vが示されている。
【0067】
図7においては、レベルL2の温度上昇度合(温度上昇速度V2(値V12以上且つ値V13未満))(ただし、V13>V12)が示されている。ここで、レベルL2は、3つのレベルL1~L3のうち中位の温度上昇度合いである。図7では、このような中程度の温度上昇速度Vが示されている。
【0068】
また、値V11未満の温度上昇速度Vは、レベルL0(レベルL1よりも低い温度上昇度合いを示す)に分類される。
【0069】
レベルL1の温度上昇度合い(図6参照)に対しては、最も低い頻度F1でリトレーニングが実行される。具体的には、最も長い時間間隔Δt1(たとえば、400ms(ミリ秒))でリトレーニングが繰り返し実行される。
【0070】
最大レベルL3の温度上昇度合い(図8参照)に対しては、最も高い頻度F3でリトレーニングが実行される。具体的には、最も短い時間間隔Δt3(たとえば、100ms(ミリ秒))でリトレーニングが繰り返し実行される。
【0071】
また、中位レベルL2の温度上昇度合いに対しては、中程度の頻度F2でリトレーニングが実行される。具体的には、時間間隔Δt2(たとえば、200ms(ミリ秒))でリトレーニングが繰り返し実行される。
【0072】
また、最小レベルL0の温度上昇度合いに対しては、リトレーニングは実行されない。
【0073】
なお、ここでは、温度上昇速度VがレベルL0~L3の4段階に分類されているが、これに限定されず、より少数の段階に分類されてもよく、より多数の段階に分類されてもよい。
【0074】
<1-4.動作>
次に、MFP10の動作について図4のタイミングチャート等を参照しながら説明する。図4は、PCプリントジョブの実行時における各チャネルCh0,Ch1の処理負荷等を示す図である。図4においては、メモリの利用期間(メモリへのアクセス期間)の長さが方形波の横幅で表現されている。換言すれば、方形波の(横方向における)密度によって、単位時間当たりの利用期間の長さ(利用密度))が表現されている。
【0075】
第1実施形態においては、PCプリントジョブの実行中にリトレーニングが実行される態様について説明する。
【0076】
MFP10(通信部4およびCPU31等)は、PCプリントジョブを受け付けると、当該ジョブの種類を認識する。ジョブの種類が「PCプリントジョブ」であることが認識(判定)されると、MFP10のコントローラ9(詳細にはCPU31)は、ジョブの種類とジョブの設定内容との双方に基づいてメモリの温度変化状況を推定する。そして、CPU31は、温度変化状況の推定結果に基づいてリトレーニングの実行タイミングを決定する。
【0077】
具体的には、CPU31は、実行対象のジョブ(たとえばPCプリントジョブ)の実行期間(実行段階)を当該ジョブの特性(種類)に基づいて複数の期間(段階)に区分する。そして、CPU31は、当該複数の期間のそれぞれにおけるジョブの処理負荷(メモリの処理負荷)の大きさを当該ジョブの種類に基づいて判定するとともに、当該複数の期間のそれぞれにおける温度変化状況(温度上昇状況等)をジョブの種類に基づいて推定する。さらに、CPU31は、各期間の当該温度変化状況の推定結果に基づいて、リトレーニングの実行タイミングを期間ごとに決定する。
【0078】
この第1実施形態では、実行対象のジョブとしてPCプリントジョブが受け付けられる態様を例示する。PCプリントジョブにおいては、ページ記述言語(PDL(Page Description Language))解析処理、ラスターイメージ生成処理(RIP(Raster Image Processor)処理)、DMA(Direct Memory Access)転送処理等が実行される。PDL解析処理は、ページ記述言語(PDL)で記述された印刷データ(PCからの受信データ)を解析する処理であり、RIP処理は、ラスターイメージデータ(RIPデータ)を生成する処理である。また、DMA転送処理は、CPU31を介さずにDMAコントローラ41等によってデータを転送する処理である。
【0079】
詳細には、CPU31による2種類の処理(PDL解析処理およびRIP処理)は、主にチャネルCh0のメモリを用いて実行される。なお、生成されたラスタライズデータはチャネルCh1のメモリに展開される。その後、CPU31を介さないDMA転送処理が、主にチャネルCh1のメモリを用いて実行される。なお、印刷対象ファイルの印刷対象ページ内の所定の処理単位(たとえば1ライン~数十ライン単位)ごとに、これらの処理(PDL解析処理、RIP処理、DMA転送処理等)が順次に実行される。図4では、このような処理が簡略化されて示されている。
【0080】
これらの処理のうち、PDL解析処理およびRIP処理におけるメモリ処理負荷(DRAM51の負荷)は比較的小さく、DMA転送処理におけるメモリ処理負荷は比較的大きい。
【0081】
このような特性に着目し、この実施形態では、CPU31は、PCプリントジョブに関する処理期間を、PDL解析処理およびRIP処理のみが行われる初期期間(第1期間)(たとえば2秒)TM11と当該第1期間より後の第2期間TM12とを含む複数の期間に区分する。第2期間TM12では、i番目の処理単位に関するDMA転送処理と(i+1)番目の処理単位に関するPDL解析処理およびRIP処理とが並列的に実行される。なお、ジョブの第1期間TM11はジョブの第1段階(DMA転送処理の実行を伴わない期間)とも称され、ジョブの第2期間TM12はジョブの第2段階(DMA転送処理の実行を伴う期間)とも称される。
【0082】
図4に示されるように、期間TM11においては、PDL解析処理およびRIP処理が主にチャネルCh0のメモリを用いて実行される。当該期間TM11におけるメモリの負荷は比較的小さい。図4では、期間TM11においてメモリ負荷が小さいことが、メモリ(詳細にはチャネルCh0側のメモリ)へのアクセス期間が比較的短いこと(方形波の横幅が狭いこと)によって表現されている。
【0083】
一方、期間TM12においては、DMA転送処理が主にチャネルCh1のメモリを用いて実行される。当該期間TM12におけるメモリの負荷は比較的大きい。図4では、期間TM12においてメモリ負荷が大きいことが、メモリ(詳細にはチャネルCh1側のメモリ)へのアクセス期間が比較的長いこと(方形波の横幅が広いこと)によって表現されている。
【0084】
そして、CPU31は、ジョブの種類がPCプリントジョブであることに基づいて、DMA転送処理の実行を伴わない第1期間(初期期間)TM11においては、メモリ(DRAM51)の処理負荷が小さくメモリの温度上昇が少ない旨を推定する。たとえば、第1期間TM11におけるメモリの温度上昇速度Vは、レベルL0である旨が判定される。
【0085】
また、第2期間TM12(DMA転送処理の実行を伴う期間)における処理負荷は第1期間における処理負荷よりも大きく且つ当該第2期間における温度上昇速度は第1期間TM11における温度上昇速度よりも大きい旨、が推定される。具体的には、第2期間TM12における温度上昇速度Vは、レベルL1~L3のいずれか(たとえばレベルL3)である旨が推定される。
【0086】
これらの推定結果に基づき、CPU31は、第1期間TM11においてはリトレーニングを行わない旨を決定するとともに、第2期間TM12においては、第1期間TM11における実行頻度よりも高い頻度でリトレーニングを実行する旨を決定する。換言すれば、ジョブの種類がPCプリントジョブであることに基づいて、当該ジョブの実行期間におけるリトレーニングの実行タイミングが決定される。なお、リトレーニングの実行タイミング(第2期間TM12におけるリトレーニング頻度等)は、次述するように、ジョブの設定内容にも基づいて決定されることが好ましい。
【0087】
この実施形態では、CPU31は、ジョブの設定内容にも基づいてメモリの温度変化状況(詳細には温度上昇状況(より詳細には、温度上昇速度V))を推定する。そして、CPU31は、温度変化状況の推定結果に基づいてリトレーニングの実行タイミングを決定する。
【0088】
具体的には、CPU31は、ジョブの実行に伴うDRAM51の温度上昇速度V(=ΔT/Δt)をジョブの設定内容に基づいて推定する。
【0089】
たとえば、PCプリントジョブの設定項目「出力色設定」の設定内容(「フルカラー」あるいは「グレースケール」等)に基づいて、CPU31は、温度上昇速度Vを推定する。詳細には、「出力色設定」の設定内容が「フルカラー」に設定されている場合には、処理負荷が大きく、DRAM51の温度上昇速度VがレベルL3であると推定される。一方、「出力色設定」の設定内容が「グレースケール」に設定されている場合には、処理負荷が小さく、DRAM51の温度上昇速度VがレベルL1であると推定される。
【0090】
換言すれば、「出力色設定」の設定内容が「フルカラー」に設定されている場合には、DRAM51の温度上昇(温度上昇速度V)が所定程度(所定値Vr)よりも大きい(レベルL3)と推定される。一方、「出力色設定」の設定内容が「グレースケール」に設定されている場合には、DRAM51の温度上昇(温度上昇速度V)が所定程度(所定値Vr)よりも小さい(レベルL1)と推定される。このように、ジョブの「出力色設定」として「フルカラー」が設定されている場合にジョブの実行に伴って発生する温度上昇は、「グレースケール」が出力色設定として設定されている場合にジョブの実行に伴って発生する温度上昇よりも大きい旨、をCPU31は推定する。
【0091】
そして、CPU31は、DRAM51の温度上昇が所定程度よりも大きいと推定される場合、DRAM51の温度上昇が所定程度よりも小さいと判定される場合よりも高い頻度でリトレーニングが実行されるように、ジョブの実行中におけるリトレーニングの実行タイミングを決定する。
【0092】
具体的には、温度上昇速度VがレベルL1である場合には頻度F1(たとえば、400ms(ミリ秒)ごと)でリトレーニングが実行され、温度上昇速度VがレベルL3である場合には頻度F3(たとえば、100ms(ミリ秒)ごと)でリトレーニングが実行される。ただし、F3>F1である。
【0093】
なお、上記実施形態においては、PCプリントジョブの設定項目「出力色設定」の設定内容(「フルカラー」あるいは「グレースケール」等)に基づいて、温度上昇速度Vが推定されているが、これに限定されない。
【0094】
たとえば、PCプリントジョブの設定項目「出力解像度」の設定内容(「300dpi」、「600dpi」あるいは「1200dpi」等)に基づいて、CPU31は、温度上昇速度Vを推定する。
【0095】
詳細には、「出力解像度」の設定内容が「1200dpi」に設定されている場合には、DRAM51の温度上昇速度VはレベルL3であると推定される。一方、「出力解像度」の設定内容が「300dpi」(より低い解像度)に設定されている場合には、DRAM51の温度上昇速度VはレベルL1であると推定される。また、「出力解像度」の設定内容が「600dpi」に設定されている場合には、DRAM51の温度上昇速度VはレベルL2であると推定される。なお、レベルL2は、レベルL1よりも大きく且つレベルL3よりも小さな温度上昇レベルである(L1<L2<L3)。
【0096】
換言すれば、「出力解像度」の設定内容が「1200dpi」に設定されている場合には、DRAM51の温度上昇(温度上昇速度V)が所定程度よりも大きい(レベルL3)と推定される。一方、「出力解像度」の設定内容が「300dpi」に設定されている場合には、DRAM51の温度上昇(温度上昇速度V)が所定程度よりも小さい(レベルL1)と推定される。
【0097】
このように、ジョブの出力解像度として「1200dpi」が設定されている場合にジョブの実行に伴って発生する温度上昇は、「1200dpi」よりも低い「300dpi」(あるいは「600dpi」)が出力解像度として設定されている場合にジョブの実行に伴って発生する温度上昇よりも大きい旨、が推定されてもよい。
【0098】
そして、温度上昇速度Vが複数段階(レベルL1,L2,L3等)のいずれであるかに応じて、リトレーニングの実行タイミングが決定されてもよい。詳細には、レベルL1に対しては頻度F1で(たとえば、400ms(ミリ秒)ごとに)リトレーニングが実行されてもよい。また、レベルL2に対しては頻度F2で(たとえば、200ms(ミリ秒)ごとに)リトレーニングが実行され、レベルL3に対しては頻度F3で(たとえば、100ms(ミリ秒)ごとに)リトレーニングが実行されてもよい。ここで、L1<L2<L3,F1<F2<F3、である。
【0099】
また、ここでは、レベルL1~L3のそれぞれに応じた時間間隔でリトレーニングが実行されているが、これに限定されない。たとえば、レベルL1~L3のそれぞれに応じて定められた進捗単位でリトレーニングが実行されてもよい。より詳細には、図5に示されるように、温度上昇速度VがレベルL1の場合には、1/2ページ(半ページ)分の処理(プリントジョブに関する印刷出力処理等)が終了するごとに、リトレーニングが実行されてもよい。また、温度上昇速度VがレベルL2の場合には、1/4ページ分の処理が終了するごとにリトレーニングが実行されてもよく、温度上昇速度VがレベルL3の場合には、1/8ページ分の処理が終了するごとにリトレーニングが実行されてもよい。図5においては、各レベルごとに応じたリトレーニングの実行時期が黒点で示されている。
【0100】
<代行付随型リトレーニング処理>
また、この実施形態においては、リトレーニング処理として、「代行付随型リトレーニング」(次述)が実行される。代行付随型リトレーニングにおいては、2つのチャネルCh0,Ch1のうちの一方のチャネル(ここではチャネルCh1)のリトレーニング時のメモリ処理(DMA転送処理等)が、他方のチャネル(ここではチャネルCh0)で代行されて実行される。換言すれば、一方のチャネルCh1がビジーである場合、当該一方のチャネルCh1で行うべき処理が他方のチャネルCh0に移管される。このような移管処理によって当該チャネルCh1が空けられた(当該チャネルCh1で実行すべき処理から解放された)状態で、チャネルCh1のリトレーニング処理が実行される。
【0101】
なお、チャネルCh1側の当該リトレーニング処理は、代行処理(当該チャネルCh1側で実行されるべきメモリ処理を他チャネルCh0のリソース(メモリチャネルおよびメモリ)で代行する処理)を伴って実行されることから、「代行付随型リトレーニング」とも称される。また、チャネルCh1側の当該リトレーニング処理(「代行付随型リトレーニング」)は、他チャネルCh0のリソース(メモリチャネルおよびメモリ)を借り受ける処理を伴って実行されることから、「借り受け型リトレーニング」とも称される。以下では、「代行付随型リトレーニング(借り受け型リトレーニング)」について更に詳細に説明する。
【0102】
図9は、代行付随型リトレーニングの詳細動作を示すタイミングチャートである。図9においては、リトレーニング実行タイミング付近の詳細動作が拡大されて示されている。
【0103】
ここでは、チャネルCh0に関するリトレーニングR0とチャネルCh1に関するリトレーニングR1とが互いに独立したタイミングで実行される。具体的には、第2期間TM12(図4参照)においてチャネルCh1がビジー状態であることが多いことから、第2期間TM12におけるチャネルCh1のリトレーニングが代行付随型リトレーニングによって実行される。なお、第2期間TM12におけるチャネルCh0においては、空き時間が相当程度存在するので、第2期間TM12におけるチャネルCh0のリトレーニングは、適宜の空きタイミングにて(代行付随型リトレーニングではなく通常の動作で)実行されればよい。
【0104】
具体的には、一方のチャネルCh0を利用したCPU処理(ステップS1)が一旦終了した後、当該一方のチャネルCh0に関するリトレーニングタイミング(チャネルCh0の空きタイミング)が到来すると、まず、CPU31は、当該一方のチャネルCh0に関するリトレーニングR0(代行付随型リトレーニングではない通常のリトレーニング)を実行する(ステップS2)。
【0105】
このリトレーニングR0が終了すると、他方のチャネルCh1でのリトレーニングR1(代行付随型リトレーニング)のための準備処理が実行される。具体的には、当該リトレーニングR1中のDMA転送処理をチャネルCh0側で代行するための準備処理等が実行される。
【0106】
詳細には、CPU31は、チャネルCh0で行われていたCPU処理に関するデータを退避用格納領域(別の退避用メモリ(SSD等)内の格納領域等)に退避(スワップ)する(ステップS3)。これにより、チャネルCh0が空けられる(CPU処理から解放される)。また、CPU31は、チャネルCh1側のDRAM51bに格納されている処理対象データ(DMA転送処理の処理対象データ)を(CPU処理から解放された)チャネルCh0側のDRAM51aへとコピー(退避)する(ステップS4)。より具体的には、リトレーニングR1中にDMA転送されるべきメモリデータ(たとえば、数ライン分のメモリデータ)が特定され、当該メモリデータがDRAM51bからDRAM51aへと転送(コピー)される。このようにして、チャネルCh1をDMA転送処理から一旦解放するための準備が実行される。
【0107】
そして、チャネルCh1を用いて行われるべきDMA転送処理がチャネルCh0を用いて実行される。すなわち、DMA転送処理がチャネルCh0によって代行される(ステップS5)。具体的には、CPU31は、DMAコントローラ41にDMA転送処理を実行させる。より具体的には、DMAコントローラ41は、チャネルCh0側のDRAM51aにコピーされていたデータを利用したDMA転送処理を実行する。詳細には、メモリ内(チャネルCh0のDRAM51a内)におけるDMA転送処理(メモリtoメモリ型のDMA転送処理)等が実行される。このようにしてチャネルCh0による代行処理が実行される。
【0108】
このような代行処理によって、チャネルCh1が空けられる(DMA転送処理から解放される)。
【0109】
さらに、このような代行処理に並行して、チャネルCh1側ではリトレーニングR1が実行される(ステップS6)。
【0110】
その後、当該リトレーニングR1が終了すると、チャネルCh0側で実行されていたDMA転送処理の対象データ(DMA転送処理を伴う画像処理後の画像データ等)がチャネルCh1側へと戻される(DRAM51aからDRAM51bへとコピーされる)(ステップS7)。さらに、SSD等に退避されていたデータがチャネルCh0側へと戻される(SSDからDRAM51aへとコピーされる)(ステップS8)。以後、リトレーニングR1の完了後においては、本来の実行担当処理部によって各処理が実行される。具体的には、第2処理(DMA転送処理)はチャネルCh1およびDRAM51bを用いて実行され(ステップS9)、第1処理(CPU処理等)はチャネルCh0およびDRAM51aを用いて実行される。
【0111】
以上のような処理によれば、特に、第2処理に関する代行処理(チャネルCh0による代行処理)(ステップS5)に並行して、第2処理から解放されたチャネルCh1でリトレーニングR1が実行される(ステップS6)。したがって、チャネルCh1の空きタイミング(チャネルCh1が空いているタイミング)が比較的少ないときであっても、チャネルCh1を謂わば強制的に空けることによって、チャネルCh1に関するリトレーニングを比較的自由なタイミングで実行することが可能である。
【0112】
特に、リトレーニングの実行タイミングにおいて2つのチャネルCh0,Ch1のうちのチャネルCh0にて実行すべき第1処理(CPU処理等)が存在する場合(すなわち、リトレーニング処理の実行タイミングと第1処理の実行タイミングとが重複する場合)、第1処理に関するデータが退避用格納領域(SSD)に退避される。そして、チャネルCh0で本来行われるべき第1処理が退避用格納領域(SSD)を用いて実行される。より具体的には、退避用格納領域に退避されたデータ(第1処理に関するデータ)を用いて第1処理が実行される。このようにして、チャネルCh0が空けられる。
【0113】
さらに、リトレーニングの実行タイミングにおいてチャネルCh1にて実行すべき第2処理(DMA転送処理)もが存在すると判定されるときには、(空けられた)チャネルCh0とDRAM51aとを用いて第2処理(DMA転送処理等)が実行される。具体的には、第2処理は、第2処理の対象データ(DRAM51bからDRAM51aに退避された対象データ)に対するチャネルCh0を介したアクセスを伴って、実行される。換言すれば、チャネルCh1によって実行されるべき第2処理がチャネルCh0によって代行され、チャネルCh1が空けられる。
【0114】
このように、第1処理がSSDを用いて実行されること(SSDによる代行処理)によってチャネルCh0が空けられ(チャネルCh0が第1処理から解放され)、さらに、チャネルCh0による代行処理によって、当該チャネルCh1が空けられる(第2処理から解放される)。
【0115】
そして、当該チャネルCh1が空けられた状態(第2処理から解放された状態)で当該チャネルCh1に関するリトレーニングR1が実行される。
【0116】
したがって、チャネルCh1にて実行すべき第2処理が存在する場合であっても、チャネルCh0による代行処理によってチャネルCh1が第2処理から解放され、チャネルCh1に関するリトレーニングR1を実行することが可能である。
【0117】
また、上記処理においては、チャネルCh0に関するリトレーニングR0とチャネルCh1に関するリトレーニングR1とが互いに独立したタイミングで実行される。したがって、2つのチャネルCh0,Ch1に関するリトレーニングR0,R1が常に同時にのみ実行される場合に比べて、リトレーニングをより適切なタイミングで実行することが可能である。
【0118】
なお、ここでは、DRAM51bからのDRAM51aへのメモリデータのコピー処理は、ステップS1の後(詳細にはステップS3の直後のステップS4)にて実行されているが、これに限定されず、たとえばステップS1よりも前に実行されてもよい。より詳細には、チャネルCh1に関するリトレーニングR1(ステップS6)の実行時点から逆算した所定のタイミング(たとえば、リトレーニングの実行時点の50ms前の時点)で(チャネルCh0,Ch1の空き時間等を利用して)、当該コピー処理が実行されてもよい。特に、当該コピー処理はチャネルCh0,Ch1の空き時間に分散して行われることが、さらに好ましい。これによれば、リトレーニングの実行タイミングの遅延をより適切に抑制(防止)することが可能である。
【0119】
また、ステップS7の処理についても同様である。たとえば、DRAM51aからRAM51bへと戻されたデータがステップS9にて直ちに利用されない場合等においては、ステップS7の処理はステップS9よりも後に実行されてもよい。
【0120】
なお、上記実施形態では、第1期間TM11においてはリトレーニングが行われない態様が例示されているが、これに限定されない。たとえば、第1期間TM11の温度上昇速度VがレベルL0であると推定される場合にもリトレーニングが行われてもよい。より詳細には、第1期間TM11において頻度F1(非常に低い頻度)のリトレーニングが行われ、第2期間TM12において更に高頻度(F2,F3,...)のリトレーニングが行われてもよい。
【0121】
<2.第2実施形態>
第2実施形態は、第1実施形態の変形例である。以下では、第1実施形態との相違点を中心に説明する。
【0122】
第2実施形態においては、スキャンジョブの実行中におけるリトレーニングについて説明する。
【0123】
図10は、第2実施形態に係る動作を示すタイミングチャートである。図10においては、スキャンジョブの実行時における各チャネルの処理負荷等が示されている。
【0124】
スキャンジョブ(詳細には、所定形式ファイル(たとえばJPEG形式ファイル)のスキャンデータ生成ジョブ)においては、画像読取処理、および所定形式ファイルへの変換処理(たとえばJPEG圧縮処理)等が実行される。ここでは、1ページ全体の画像読取処理(光学的読取処理)が終了した後に、JPEG圧縮処理が開始される様子が示されている。
【0125】
このうち、画像読取処理におけるメモリ処理負荷は比較的大きく、JPEG圧縮処理におけるメモリ処理負荷も比較的大きい。
【0126】
このような特性に着目し、この実施形態では、スキャンジョブの全期間において所定程度よりも大きな温度上昇(詳細には、温度上昇速度V11よりも大きな温度上昇速度V)が発生する旨が推定され、スキャンジョブの全期間において比較的高い頻度(たとえば、レベルL1~L3のいずれか)でリトレーニングが実行される。
【0127】
より詳細には、CPU31は、スキャンジョブに関する処理期間を、光学的な画像読取処理(DMA転送処理を含む)が実行される第1期間TM21(初期期間とも称する)(たとえば5秒)と当該第1期間より後の第2期間TM22とを含む複数の期間に区分する。第2期間TM22では、JPEG圧縮処理等が実行される。第1期間TM21はジョブの第1段階(DMA転送処理の実行を伴う期間)とも称され、第2期間TM22はジョブの第2段階(JPEG圧縮処理の実行を伴う期間)とも称される。なお、スキャンジョブでは、DMA転送処理として、画像読取部2のラインセンサ(不図示)からDRAM51への(DMAコントローラ41による)データ転送処理等が実行される。
【0128】
特に、CPU31は、ジョブの種類がスキャンジョブであることに基づいて、DMA転送処理の実行を伴う第1期間TM21においてはメモリの処理負荷が大きく且つメモリの温度上昇が大きい旨を推定するとともに、DMA転送処理の実行後の期間である第2期間TM22(JPEG圧縮処理の実行期間)においてもメモリの処理負荷が大きく且つメモリの温度上昇が大きい旨を推定する。また、CPU31は、スキャンジョブの各期間TM21,TM22におけるメモリ処理負荷はいずれもPCプリントジョブの第1期間TM11におけるメモリの処理負荷よりも高い旨を推定する。このような推定結果に基づき、CPU31は、さらに、スキャンジョブの各期間TM21,TM22におけるメモリの温度上昇はいずれもPCプリントジョブの第1期間TM11におけるメモリの温度上昇よりも大きい旨を推定する。
【0129】
たとえば、第1期間TM21,TM22におけるメモリ温度上昇度合いは、レベルL1~L3のいずれか(レベルL0よりも大きなレベル)であると推定される。
【0130】
これらの推定結果に基づき、CPU31は、第1期間TM21においては、リトレーニングを比較的高頻度(たとえば頻度F1~F3のいずれか)で行い、第2期間TM22においても、比較的高頻度(たとえば頻度F1~F3のいずれか)でリトレーニングを実行する。スキャンジョブの何れの期間TM21,TM22においても、PCプリントジョブにおける第1期間TM11におけるリトレーニングの実行頻度(たとえば、頻度F0)よりも高い頻度でリトレーニングが実行される。なお、頻度F0は、「ゼロ」であり、リトレーニングが実行されないことを意味する。
【0131】
このように、実行対象ジョブがスキャンジョブである場合、スキャンジョブの実行期間のうち当該スキャンジョブの初期期間(DMA転送処理を伴う初期期間)TM21と当該初期期間におけるDMA転送処理処理の終了後の所定期間TM22とのいずれにおいても、実行対象ジョブの実行に伴う温度上昇は所定程度よりも大きいと推定されて、比較的高い頻度でリトレーニングが実行される。なお、実行対象ジョブがプリントジョブである場合には、当該プリントジョブの実行期間のうちDMA転送処理の実行が開始される前の初期期間TM11(図4)においては、プリントジョブの実行に伴う温度上昇は所定程度よりも小さいと推定されてリトレーニングは実行されない(あるいは、非常に低い頻度でリトレーニングが実行される)。端的に言えば、実行対象ジョブがプリントジョブであるかスキャンジョブであるかに応じて、異なるタイミングでリトレーニングが実行される。
【0132】
また、第2実施形態においても、CPU31は、ジョブの設定内容にも基づいてメモリの温度変化状況を推定する。そして、CPU31は、温度変化状況の推定結果に基づいてリトレーニングの実行タイミングを決定する。
【0133】
具体的には、CPU31は、ジョブの実行に伴うDRAM51の温度上昇速度V(=ΔT/Δt)をジョブの設定内容に基づいて推定する。
【0134】
たとえば、スキャンジョブの設定項目「読取解像度」の設定内容(「300dpi」、「600dpi」あるいは「1200dpi」等)に基づいて、CPU31は、温度上昇速度Vを推定する。詳細には、「読取解像度」の設定内容が「1200dpi」に設定されている場合には、DRAM51の温度上昇速度Vが所定程度(第1の基準値(閾値)TH2(値V12))よりも大きいと推定される。特に、この場合、DRAM51の温度上昇速度Vは、第2の基準値TH3(値V13)よりも更に大きい(レベルL3)と推定される。
【0135】
一方、「読取解像度」の設定内容が「300dpi」に設定されている場合には、DRAM51の温度上昇速度Vが所定程度(閾値TH2)よりも小さい(レベルL1)と推定される。
【0136】
なお、ここでは、「読取解像度」の設定内容が「600dpi」に設定されている場合には、DRAM51の温度上昇速度Vは所定程度(閾値TH2)よりも大きい、と推定される。より詳細には、この場合、DRAM51の温度上昇速度Vは第2の基準値TH3よりは小さい(レベルL2)、と推定される。
【0137】
換言すれば、レベルL3は、閾値TH3よりも大きな温度上昇速度を有するレベルであり、レベルL2は、閾値TH2よりも大きく且つ閾値TH3未満の温度上昇速度Vを有するレベルである。また、レベルL1は、閾値TH1よりも大きく且つ閾値TH2未満の温度上昇速度Vを有するレベルであり、レベルL0は、閾値TH1未満の温度上昇速度Vを有するレベルである。ただし、TH1<TH2<TH3、である。なお、温度上昇速度Vと閾値との比較において等号が成立するときには、互いに隣接するレベルのいずれであると判定されてもよい。たとえば、温度上昇速度Vが閾値TH2に等しい場合には、当該温度上昇速度VはレベルL2,L1のいずれであると判定されてもよい。
【0138】
このように、ジョブの読取解像度として「1200dpi」が設定されている場合にジョブの実行に伴って発生する温度上昇は、「1200dpi」よりも低い「600dpi」(あるいは「300dpi」)が読取解像度として設定されている場合にジョブの実行に伴って発生する温度上昇よりも大きい旨、が推定される。
【0139】
そして、温度上昇速度Vが複数段階(レベルL1,L2,L3等)のいずれであるかに応じて、リトレーニングの実行タイミングが決定される。詳細には、レベルL1に対しては頻度F1(たとえば、400ms(ミリ秒)ごと)でリトレーニングが実行される。また、レベルL2に対しては頻度F2(たとえば、200ms(ミリ秒)ごと)でリトレーニングが実行され、レベルL3に対しては頻度F3(たとえば、100ms(ミリ秒)ごと)でリトレーニングが実行される。ここで、L1<L2<L3,F1<F2<F3、である。
【0140】
なお、リトレーニングは第1実施形態と同様の動作(図9)によって実行されればよい。ただし、上述のように、第2実施形態に係るスキャンジョブのDMA転送処理では画像読取部2のラインセンサからDRAM51へのデータ転送処理(DRAM51への書込処理)が実行されるので、図9のステップS4では、退避すべきデータが未だ存在していない。したがって、ステップS4のデータ退避処理(DRAM51bからDRAM51aへのデータ退避処理)は不要である。
【0141】
<3.第3実施形態>
第3実施形態は、第1実施形態等の変形例である。以下では、第1実施形態との相違点を中心に説明する。
【0142】
第3実施形態においては、複数のジョブ(複数の異なる種類のジョブ)が同時並列的に実行される状況(換言すれば、マルチジョブの並列的実行中)におけるリトレーニングについて説明する。
【0143】
第3実施形態においては、第1実施形態と同様にPCプリントジョブが実行される。ただし、第3実施形態においては、当該PCプリントジョブの実行中に別の種類のジョブ(たとえば、外部端末を用いたリモート操作ジョブ)もが実行される。この結果、当該別のジョブの実行時点から暫時の期間においては、複数の種類のジョブが実行される。
【0144】
図11は、第3実施形態に係る動作を示すタイミングチャートである。図11においては、互いに異なる種類の複数のジョブが同時並列的に実行される際における各チャネルの処理負荷等が示されている。
【0145】
第3実施形態においては、PCプリントジョブが第1実施形態と同様に実行されている状況において、さらにリモート操作ジョブもが時刻t33において開始される。
【0146】
リモート操作ジョブは、タブレット端末などの外部装置(リモート端末)70(図2参照)からのリモート操作をネットワーク108を介してMFP10が受け付けるためのジョブである。MFP10は、リモート操作用の画面(MFP10の操作パネル部6cに表示される画面と同様の画面)の表示用データ(画像データ)を生成し、当該表示用データを外部装置70に転送する。外部装置70は、当該表示用データに基づく画像(画面)を外部装置70の表示部に表示し、ユーザからの操作を受け付ける。外部装置70は、ユーザからの指示内容(操作内容)をMFP10に転送し、MFP10は、当該指示内容に基づく処理(コピー設定処理およびコピー開始処理等)を実行する。
【0147】
図11の中段においては、第3実施形態に係るチャネルCh0のメモリ処理負荷が示されており、図11の下段においては、第3実施形態に係るチャネルCh1のメモリ処理負荷が示されている。また、参考のため、図11の最上段においては、リモート操作ジョブ(特にリモート操作画面生成処理)によるメモリ処理負荷(チャネルCh1のメモリ処理負荷)のみが示されている。特に、図11の中段(且つ時刻t33以降)においては、プリントジョブにおけるチャネルCh0のメモリ処理負荷(図4の上段も参照)(砂地ハッチング部分等参照)に対して、リモート操作ジョブのみによるチャネルCh0のメモリ処理負荷(図11の最上段参照)(特にクロスハッチング部分参照)が重畳されて示されている。
【0148】
第3実施形態の実行期間TM31においては第1実施形態の期間TM11(図4参照)と同様の処理負荷が生じ、第3実施形態の実行期間TM32においては第1実施形態の期間TM12(図4参照)と同様の処理負荷が生じる。
【0149】
また、第3実施形態の実行期間TM33(時刻t33~時刻t39)においては、プリントジョブ(特にチャネルCh1を利用したDMA転送処理)とリモート操作ジョブとが同時並列的に実行される。
【0150】
ここでは、CPU31は、複数のジョブが同時並列的に実行される場合に当該複数のジョブの実行に伴って発生する温度上昇は、単一のジョブが単独で実行される場合に当該単一のジョブの実行に伴って発生する温度上昇よりも大きい旨を推定する。
【0151】
そして、複数の種類のジョブが同時並列的に実行される場合、単一の種類のジョブが単独で実行される場合よりも高い頻度でリトレーニングが実行されるように、リトレーニングの実行タイミングが決定される。
【0152】
具体的には、マルチジョブの実行期間TM33(時刻t33~時刻t39)においては、シングルジョブの実行期間TM31,TM32よりも大きな温度上昇が発生する旨を推定する。たとえば、マルチジョブの実行期間TM33においては、レベルL3の温度上昇速度V(シングルジョブの実行期間TM31,TM32における温度上昇レベルL0,L1よりも大きな温度上昇レベル)が発生する旨が推定される。また、シングルジョブの実行期間TM31,TM32においては、マルチジョブの実行期間TM33よりも小さな温度上昇が発生する旨を推定する。たとえば、実行期間TM31においては、レベルL0の温度上昇速度Vが発生する旨が推定され、実行期間TM32においては、レベルL1の温度上昇速度Vが発生する旨が推定される。
【0153】
当該推定結果に基づき、CPU31は、シングルジョブの実行期間TM31においてはリトレーニングを行わず(あるいは非常に低い頻度でリトレーニングを実行し)、シングルジョブの実行期間TM32においては、低い頻度(たとえば頻度F1)でリトレーニングを実行する。一方、マルチジョブの実行期間TM33においては、シングルジョブの実行期間TM31,TM32における実行頻度よりも高い頻度(たとえば頻度F3)でリトレーニングを実行する。
【0154】
たとえば、CPU31は、シングルジョブの第1の実行期間TM31においてはリトレーニングを行わない。また、CPU31は、シングルジョブの第2の実行期間TM32においては400ms(ミリ秒)ごとにリトレーニングを実行する。さらに、CPU31は、マルチジョブの実行期間TM33においては、100ms(ミリ秒)ごとにリトレーニングを実行する。
【0155】
なお、第3実施形態において、さらに各ジョブの設定内容にも基づいて、リトレーニングの頻度が変更されてもよい。たとえば、プリントジョブの「出力解像度」の設定内容が「600dpi」に設定されている場合、実行期間TM32の温度上昇速度VがレベルL2である旨が推定され、実行期間TM32において200ms(ミリ秒)ごとにリトレーニングが実行されてもよい。
【0156】
<4.変形例等>
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【0157】
たとえば、上記各実施形態においては、リトレーニングの実行タイミング(ステップS6)において、2つのチャネルのうちの双方のチャネルにてそれぞれ(本来)実行すべき処理(第1処理および第2処理)が存在する場合について例示している(図9参照)が、これに限定されない。たとえば、リトレーニングの実行タイミング(ステップS6)において、2つのチャネルのうちのチャネルCh1にて実行すべき第2処理が存在するものの、チャネルCh0にて実行すべき第1処理が存在しない場合には、図12に示すような処理が行われても良い。図12においては、ステップS3,S8の処理等(SSDへのスワップを伴うSSDによる代行処理等)が実行されない。これらの点で図12の動作は図9の動作と相違する。
【0158】
具体的には、チャネルCh1に関するリトレーニングタイミングが到来すると、当該チャネルCh1でのリトレーニングR1のための準備処理が先ず実行される。具体的には、当該リトレーニングR1中のDMA転送処理をチャネルCh0側で代行するための準備処理等が実行される。
【0159】
詳細には、チャネルCh1側のDRAM51bに格納されている転送対象のメモリデータがチャネルCh0側のDRAM51aへとコピーされる(ステップS4)。より具体的には、リトレーニングR1中に転送されるべきメモリデータ(たとえば、数ライン分のメモリデータ)が特定され、当該メモリデータがDRAM51bからDRAM51aへと転送される。
【0160】
そして、チャネルCh1を用いて行われるべきDMA転送処理がチャネルCh0を用いて実行される。すなわち、DMA転送処理がチャネルCh0によって代行される(ステップS5)。
【0161】
さらに、このような代行処理に並行して、チャネルCh1側ではリトレーニングR1が実行される(ステップS6)。
【0162】
当該リトレーニングR1が終了すると、チャネルCh0側で実行されていたDMA転送処理の対象データがチャネルCh1側へと戻される(再びコピーされる)(ステップS7)。
【0163】
以後、チャネルCh1では通常通り、DMA転送処理(ステップS9)が実行される。
【0164】
以上のような処理によれば、チャネルCh1の空きタイミング(チャネルCh1が空いているタイミング)が比較的少ないときであっても、チャネルCh1に関するリトレーニングを比較的自由なタイミングで実行することが可能である。
【0165】
また、上記各実施形態では、2つのチャネルCh0,Ch1を有するメモリコントローラにおいて、一方のチャネルがビジーである場合、CPU31は、当該一方のチャネルで行うべき処理を他方のチャネルに移管しているが、これに限定されない。たとえば、単一のチャネルのみを有するメモリコントローラにおいて当該単一のチャネル(およびDRAM51)がビジーである場合、CPU31は、当該単一のチャネルを用いて行うべき処理(たとえばDMA転送処理)を、別の記憶装置(SSD等)内の格納領域(退避用格納領域)に移管してもよい。そして、空けられた当該単一のチャネルに関してリトレーニングが実行されればよい。
【0166】
図13は、このような変形例に係るリトレーニングの詳細動作を示すタイミングチャートである。
【0167】
DRAM51(単一のチャネルCh0のみを利用可能)に関するリトレーニングR1のタイミングが到来すると、当該リトレーニングR1のための準備処理が実行される。
【0168】
具体的には、当該リトレーニングR1の実行期間中のDMA転送処理を退避用格納領域(SSD等)にて代行するための準備処理等が実行される。
【0169】
詳細には、DRAM51に格納されている転送対象のメモリデータが退避用格納領域(SSD)へとコピーされる(ステップS44)。より具体的には、リトレーニングR1中に転送されるべきメモリデータ(たとえば、数ライン分のメモリデータ)が特定され、当該メモリデータがDRAM51からSSDへと転送される。
【0170】
そして、チャネルCh1を用いて行われるべきDMA転送処理がSSDを用いて実行される。すなわち、DMA転送処理がSSDによって代行される(ステップS45)。具体的には、DMAコントローラ41は、SSDにコピーされていたデータを当該SSDのSATAコントローラ44等を用いて転送する処理等を実行する。このようにSSDを用いた代行処理が実行される。
【0171】
さらに、このような代行処理に並行して、DRAM51側ではリトレーニングR1が実行される(ステップS46)。
【0172】
当該リトレーニングR1が終了すると、SSD等によって実行されていたDMA転送処理の対象データがDRAM51へと戻される(再びコピーされる)(ステップS47)。以後、DRAM51では通常通り、DMA転送処理等(ステップS49)が実行される。
【0173】
以上のように、DRAM51に関するリトレーニングの実行タイミングにおいてDRAM51を用いて実行すべき処理(DMA転送処理等)が存在する場合、CPU31は、代行付随型リトレーニングを実行する。具体的には、CPU31は、当該処理(DMA転送処理等)に関するデータをSSD(退避用格納領域)に退避するとともに当該処理を当該SSDを用いて実行させることによって、DRAM51を当該処理から解放した上で、DRAM51に関するリトレーニングを実行する。このような処理によっても、DRAM51に関するリトレーニングを比較的自由なタイミングで実行することが可能である。
【0174】
なお、ここでは、DRAM51からのSSDへのメモリデータのコピー処理は、ステップS44にて実行されているが、これに限定されない。たとえば、リトレーニングの実行時点から逆算した所定のタイミング(たとえば、リトレーニングの実行時点の50ms前の時点)で(DRAM51の空き時間等を利用して)、当該コピー処理が実行されてもよい。特に、当該コピー処理はDRAM51の空き時間に分散して行われることが、さらに好ましい。これによれば、リトレーニングの実行タイミングの遅延をより適切に抑制(防止)することが可能である。
【0175】
また、ステップS47の処理についても同様である。たとえば、ステップS47の処理は、ステップS49よりも後に実行されてもよい。
【0176】
また、上記各実施形態においては、ジョブの種類とジョブの設定内容との双方に基づいてメモリの温度変化状況が推定され、当該温度変化状況の推定結果に基づいてリトレーニングの実行タイミングが決定されているが、これに限定されない。たとえば、ジョブの種類とジョブの設定内容との一方のみに基づいて、メモリの温度変化状況が推定され、当該温度変化状況の推定結果に基づいてリトレーニングの実行タイミングが決定されてもよい。
【0177】
また、上記各実施形態においては、メモリの温度上昇速度Vが推定され、温度上昇速度Vの程度に応じてリトレーニングの実行タイミング(実行頻度)が決定されているが、これに限定されない。たとえば、ジョブの実行に伴って一定程度の温度上昇(ΔT1)が発生したことが当該ジョブの設定内容に基づき推定されるごとに、CPU31がリトレーニングを実行するようにしてもよい。より詳細には、温度が所定値(たとえば1℃)上昇したことが推定されるごとに、上述のような代行付随型リトレーニング処理(図9等参照)が実行されてもよい。より具体的には、メモリの温度変化が所定値ΔT1(たとえば1度)を越えない場合にはリトレーニングが実行されず、メモリの温度変化が所定値ΔT1を越える場合にはリトレーニングが実行されればよい。このようにして、メモリの温度上昇状況(温度変化状況)の推定結果に基づいて、リトレーニングの実行タイミングが決定されてもよい。
【符号の説明】
【0178】
9 コントローラ
10 MFP
51,51a,51b DRAM
70 外部装置
TM11,TM12,TM21,TM31,TM32,TM33 実行期間
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13