JP2015056129A - メモリコントローラ及び印刷装置 - Google Patents

メモリコントローラ及び印刷装置 Download PDF

Info

Publication number
JP2015056129A
JP2015056129A JP2013190625A JP2013190625A JP2015056129A JP 2015056129 A JP2015056129 A JP 2015056129A JP 2013190625 A JP2013190625 A JP 2013190625A JP 2013190625 A JP2013190625 A JP 2013190625A JP 2015056129 A JP2015056129 A JP 2015056129A
Authority
JP
Japan
Prior art keywords
memory
calibration
memory controller
memory device
controller
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
JP2013190625A
Other languages
English (en)
Inventor
賀久 野村
Shigehisa Nomura
賀久 野村
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 JP2013190625A priority Critical patent/JP2015056129A/ja
Priority to PCT/JP2014/074763 priority patent/WO2015037746A1/en
Priority to US14/904,438 priority patent/US10109328B2/en
Publication of JP2015056129A publication Critical patent/JP2015056129A/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • 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/3284Power saving in printer
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)

Abstract

【課題】キャリブレーション時間を短縮することができるメモリコントローラ及び印刷装置を提供する。
【解決手段】メモリコントローラ10は、メモリデバイス情報取得部11と、設定格納部12と、電源制御部13と、及びメモリバスI/F制御部14とを備える。メモリデバイス情報取得部11で取得したメモリデバイス情報に基づいて、電源制御部13及びメモリバスI/F制御部14によって設定したメモリ構成により実行したキャリブレーションの結果を設定格納部12に格納し、格納されたキャリブレーションの結果の中からスタンバイ時又は通常動作時等の用途に応じたメモリ構成のキャリブレーションの結果を設定する。
【選択図】図3

Description

本発明は、メモリコントローラ及び印刷装置に関し、特に、高速インターフェースを有するメモリデバイスに対するデータのライト/リード等のタイミング調整を行うメモリコントローラ及び印刷装置に関する。
近年、LSI設計を行う上で要求されるメモリデバイスのデータ転送速度の高速化は、同期型メモリデバイスを用いることにより行われる。同期型メモリデバイスとしてSDRAM(Synchronous Dynamic Random Access Memory)が挙げられる。
SDRAMは、LSIのシステムクロック(CLK)に同期して動作する。例えば、SDRAMは、CLKの立ち上りエッジに同期してRAS,CAS,WE等の制御信号を受信し、これらの入力信号の「1」、「0」を組み合わせて制御命令(コマンド)を決定し、さらにアドレス信号やデータ信号もCLKの立ち上りエッジに同期して受信する。
これらのメモリデバイスのデータ転送速度の高速化の問題点は、高速のCLKに同期させるために入力信号のセットアップ時間及びホールド時間が短くなることである。このため、同期型メモリデバイスが入力信号のセットアップ時間及びホールド時間を確保することを目的として、アドレス信号やデータ信号等の入力信号がメモリデバイスの初段回路に送信されるタイミングを知らせるデータストローブ信号(DQS)を用いる技術が知られている。DQSを用いるメモリデバイスとしては、DDR(Double Data Rate)2 SDRAM、DDR3 SDRAM等が挙げられる。
一般的に、上記メモリデバイスとCPUとの間には、メモリコントローラが介在し、このメモリコントローラは、実装基板の配線の引き回しを考慮した実装基板シミュレーションの結果に基づいてデータのライト/リード等のタイミング調整を行う。
このメモリコントローラは、同期させるCLKの高速化に伴い、より高精度のタイミング調整を行う必要があり、さらにLSI微細化に伴うプロセス精度のばらつき、LSIの低消費電力化に伴うLSI内部回路用電源の低電圧化、及び実装基板の温度等に応じて変化する入出力バッファの遅延時間のばらつきも考慮したタイミング調整を行う必要があり、加えて、遅延時間のばらつきを吸収するために、LSI実装後に入出力バッファの個体差に応じて変化する遅延時間を調整する必要がある。
例えば、上記メモリコントローラは、高速メモリデバイスのデータのライト/リードを行うために、特にメモリデバイスから出力されたリードデータを内部のフリップフロップで保持する回路部分、及びこのフリップフロップで保持されたリードデータをCLKに同期させる回路部分等に適切なタイミング調整を行う必要がある。
上記メモリコントローラは、上記CLKに同期したリードデータの有効範囲を決定するために、メモリコントローラから出力したCLKがメモリデバイスを経由してDQSとしてメモリコントローラに戻ってくるまでのラウンドトリップディレイ(Round Trip Delay)を算出する。
上記メモリコントローラがDDR3 SDRAMである場合、このメモリコントローラは、JEDEC仕様において、ライト/リードアクセスのタイミング調整を行うためのライトレベリング機能及びリードレベリング機能を有する。
ライトレベリング機能において、メモリコントローラは、メモリデバイスのMR1レジスタのライトレベリングイネーブルに「1」を設定すると、CLK−DQS間のスキュー値を出力する。具体的には、メモリデバイスは、メモリコントローラが発行するDQSの立ち上がりエッジに対してCLKをサンプリングしてDQSに同期したデータ信号(DQ)に「1」を返し、メモリコントローラは、CLKとDQSの位相を少しずつずらしてDQの結果から最もタイミングの余裕が持てるようにタイミング調整を行う(図15A
及び図15B)。
図15A及び図15Bは、メモリコントローラ及びメモリデバイスの各々におけるCLK,DQSのタイミングチャートを示し、図15Aは、メモリコントローラがタイミング調整を行う前を示し、図15Bは、メモリコントローラがタイミング調整を行った後を示す。
図15Aにおいて、メモリコントローラがDQSの立ち上がりタイミングをCLKのものに合わせて出力する場合、配線長及び配線負荷等の影響によりメモリデバイスにおけるCLKとDQSの立ち上がりタイミングが異なり、これにより、メモリデバイスは、DQS立ち上がりエッジでCLKをサンプリングできていないため、DQに「0」を返し、また、メモリコントローラは、CLKとDQSの出力タイミングをずらしていき、図15Bに示すようにDQが「0」から「1」に変化する点を探す。メモリデバイスがDQに「1」を返すと、DQS立ち上がりエッジでCLKをサンプリングできたことを示す。
一方、リードレベリング機能において、メモリコントローラは、MPR(Multi Purpose Register)として設定されると、他のメモリデバイスが予め決められたデータパターンを保持して且つ出力することで、当該データパターンを受信するタイミングを知ることができるので、リードコマンドを発行した後のリードデータが受信されるレイテンシを調整することができる。
リードアクセス時において、メモリデバイスはDQSを出力し、メモリコントローラは、リードコマンドを発行してからのデータが受信されるまでのサイクル数を検出し、CLK−DQS間のスキュー値を調整するために、内部のDQSが検出されてからリードデータが読み込まれるまでのタイミングを少しずつずらし、最も良い変化点を検出する。
また、メモリコントローラは、ZQキャリブレーションコマンドを発行して動作中におけるPVT(プロセス、電圧、温度)変化に対する補正を行い、且つODT(On Die Termination)による信号品質の向上を図る。
しかしながら、メモリコントローラは、起動時や動作中にキャリブレーションを実行することで、メモリデバイスとCPU間のデータ転送に影響を与えてしまい、その結果、パフォーマンスが低下してしまうという問題がある。
この問題に対して、装置内部の環境変化に合ったキャリブレーション方法でパラメータを設定することが考えられている(例えば、特許文献1参照)。
特許文献1の技術では、設定時間毎又は所定時間毎に測定した温度に大きな変化がなければ、キャリブレーションを簡略化して実行し、又はメモリデバイス内部に格納した設定値を用いることによりキャリブレーション時間を短縮している。
一方、携帯電話をはじめとする情報機器の多機能化に伴い、これら情報機器内部のLSIにおける消費電力の増大が深刻化している。
このため、LSI内部のメモリデバイスでは、一部のメモリデバイスのスリープモードへの移行や、一部のメモリデバイスの電源をOFFすることによる低電力設計が求められている。
一部のメモリデバイスの電源がOFFされる場合、揮発性メモリデバイスは、電源が供給されていないとデータを保持できないので、電源が供給されていなくてもデータを保持できる不揮発性メモリデバイスへデータを退避させる必要がある。このため、電源をON/OFF切替するときは、上記不揮発性メモリデバイスへデータを退避する実行時間が多くかかるという問題がある。
この問題に対して、DDR3等の揮発性メモリデバイスの代替として、不揮発性メモリデバイスであるMRAM(Magnetoresistive Random Access Memory)等が開発されている。
MRAMは、高速通信も可能で、さらにメモリデバイスの電源をOFFしても磁気によってデータを保持し、上記揮発性メモリデバイスのように他の不揮発性メモリデバイスへデータを退避する必要がないので、電源をON/OFF切替するときでも、他のメモリデバイスへデータを退避する時間を省略することができる。
このため、最初の電源投入時にMRAMへ起動プログラムを格納し、その後の電源投入時からMRAMに格納された起動プログラムを実行することで高速起動を実現する技術がある。
特開2011−59762号公報
しかしながら、メモリデバイスを搭載した機器の起動中にメモリバス上の一部のメモリデバイスの電源がOFFされた場合、メモリバス上の配線負荷容量が変化するため、配線負荷容量の変化に対応するためにメモリデバイスのキャリブレーションが必要となり、再度起動時と同様のキャリブレーションを実行しなければならず、キャリブレーション時間の短縮ができない。
本発明の目的は、キャリブレーション時間を短縮することができるメモリコントローラ及び印刷装置を提供することにある。
上記目的を達成するために、請求項1記載のメモリコントローラは、複数のメモリデバイスを制御するメモリコントローラであって、前記複数のメモリデバイスの少なくとも1つの電源のON/OFF切替を制御するON/OFF切替制御手段と、前記ON/OFF切替制御手段によりメモリ構成を設定するメモリ構成設定手段と、前記メモリ構成設定手段によって設定されるすべてのメモリ構成のキャリブレーションを実行するキャリブレーション手段と、前記キャリブレーション手段によって実行されたキャリブレーションの結果を格納する格納手段と、前記格納手段によって格納されたキャリブレーションの結果を前記メモリコントローラ及び前記メモリデバイスに設定する設定手段とを備えること特徴とする。
本発明によれば、キャリブレーション時間を短縮することができる。
本発明の実施の形態に係るメモリコントローラを備える複合機を含むネットワークシステムの構成を概略的に示すブロック図である。 図1におけるメモリコントローラの作動を説明するのに用いられるブロック図である。 図2におけるメモリコントローラの内部構成を概略的に示すブロック図である。 図3のメモリコントローラによって実行されるキャリブレーション結果格納処理の手順を示すフローチャートである。 図3のメモリコントローラがメモリデバイスのSPDから読み取る情報の一例を示す表である。 図4における通常動作時のメモリ構成のキャリブレーションの結果の一例を示す表である。 図4におけるステップS106のメモリ構成切替の設定の一例を示す表である。 図4におけるスタンバイ時のメモリ構成のキャリブレーションの結果の一例を示す表である。 図3のメモリコントローラによって実行されるメモリ構成切替設定処理の手順を示すフローチャートである。 本実施の形態の変形例におけるCPU及びメモリコントローラの作動を説明するのに用いられるブロック図である。 図10におけるCPU及びメモリコントローラによって実行されるキャリブレーション結果格納処理の手順を示すフローチャートである。 図10のCPUがメモリデバイスのSPDから読み取る情報の一例を示す表である。 図10におけるCPUによって実行されるCPUメモリ構成切替設定処理の手順を示すフローチャートである。 図10におけるCPU及びメモリコントローラを備えたコントローラ部によって実行されるメモリ構成切替設定処理の手順を示すフローチャートである。 メモリコントローラ及びメモリデバイスの各々におけるCLK,DQSのタイミングチャートであり、メモリコントローラがタイミング調整を行う前を示す。 メモリコントローラ及びメモリデバイスの各々におけるCLK,DQSのタイミングチャートであり、メモリコントローラがタイミング調整を行った後を示す。
以下、本発明の実施の形態に係るメモリコントローラ及び印刷装置について図面を参照しながら詳述する。
図1は、本発明の実施の形態に係るメモリコントローラ10を備える複合機100を含むネットワークシステムの構成を概略的に示すブロック図である。
図1のネットワークシステムは、外部ネットワーク190を介して互いに接続された複合機100とホストコンピュータ200からなる。
ホストコンピュータ200は、互いに直列に接続されたアプリケーション201、プリンタドライバ202、及びネットワークI/F203で構成される。
アプリケーション201は、ホストコンピュータ200上で動作し、ページレイアウト文書やワードプロセッサ文書、グラフィック文書等のデジタル文書データを作成する。アプリケーション201によって作成されたデジタル文書データはプリンタドライバ202に送信され、プリンタドライバ202は、デジタル文書データに基づいた描画コマンドを生成する。
この描画コマンドとしては、PDL(Page Description Language)と呼ばれるページ画像データを作成するためのプリンタ記述言語が一般的である。本実施の形態における描画コマンドは、通常、文字やグラフィックス、イメージ等のデータの描画指示を含む。
ネットワークI/F203は、プリンタドライバ202によって生成された描画コマンドを外部ネットワーク190を介して複合機100に送信する。
複合機100は、コントローラ部101とプリンタ部102で構成され、ホストコンピュータ200から描画コマンドを受け取り、この描画コマンドを出力可能な画像データに変換して紙面に印刷する処理を行う。
コントローラ部101は、ネットワークI/F110、CPU112、ROM113、メモリコントローラ10、操作部115、表示部116、インタプリタ117、レンダラ118、及び画像処理部119を備え、これらはデータバス111を介して互いに接続されている。また、コントローラ部101は、メモリコントローラ10に接続されたRAM25を備える。
ネットワークI/F110は、インターフェースモジュールとして外部ネットワーク190に接続され、イーサネット(登録商標)等の通信プロトコルに基づいて、ネットワーク190を介して他の機器から描画コマンドを受信し、複合機100のデバイス情報(ジャム情報や紙サイズ情報等)を送信する双方向データ通信を行う。
RAM25は、ROM113に格納されているプログラムデータをロードし、一時記憶し、さらに、各モジュールが命令実行する際に生成されるデータ等も一時記憶する。
CPU112(中央演算処理装置)は、RAM25にロードされたプログラムに従って、コントローラ部101の各構成要素を制御して複合機100を動作させる。
操作部115は、ユーザからの入力を受け付けるためのインターフェースである。表示部116は、ユーザへの指示や複合機100の状態を表すUI(User Interface)画面を表示する。インタプリタ117は、ネットワークI/F110を介して受信した描画コマンドを解釈して中間言語データを生成する。
レンダラ118は、インタプリタ117によって生成された中間言語データからラスター画像を生成する。画像処理部119は、レンダラ118によって生成されたラスター画像に対して、色変換処理やルックアップテーブルによるγ補正処理、擬似中間処理等の画像処理を行い、出力可能な画像データに変換する。
メモリコントローラ10は、RAM25とのデータ送受信制御を行う。メモリコントローラ10の詳細な説明は図2〜図9を用いて後述する。
プリンタ部102は、コントローラ部101と接続され、画像処理部119によって変換された画像データに基づいて、トナーを用いて紙面上に画像データを形成する。
なお、本実施の形態に係るコントローラ部101は、各構成要素をハードウェアとして構成されているが、ROM113に格納されたプログラムに基づいて、CPU112が各構成要素の処理を実行してもよい。その場合、上記プログラムは、RAM25への画像データのライト機能及びリード機能も有する。
図2は、図1におけるメモリコントローラ10の作動を説明するのに用いられるブロック図である。
図2において、メモリコントローラ10は、メモリバス40を介してバススイッチ30に接続されている。バススイッチ30には、メモリバス41を介してメモリデバイス20が、メモリバス42を介してメモリデバイス21が夫々接続されている。
メモリバス40は、メモリコントローラ10とバススイッチ30を接続する高速通信バスであり、メモリバス41,42は、バススイッチ30とメモリデバイス20,21を夫々接続する高速通信バスである。
メモリコントローラ10は、メモリデバイス20,21の制御を行う。メモリコントローラ10は、バススイッチ30を介して、メモリデバイス20,21にアクセスし、メモリデバイス20,21と高速通信を行うためのライト/リードアクセスのタイミング調整を行うキャリブレーションを実行し、バススイッチ30のバス切り替え及び電源スイッチ50,51の電源切替制御をする。
メモリデバイス20,21は、入出力バッファと内部回路で構成されると共に所定のプロトコルに則ってデータを読み書きすることができ、SPD(Serial Presence Detect)を有するメモリモジュールを構成する。また、メモリデバイス20,21は、DDR3からなる。
メモリデバイス20,21は、SDRAM,DDR,DDR2,DDR4,SRAM等の揮発性メモリデバイスや、フラッシュROM,MRAM等の不揮発性メモリデバイスであってもよく、上記2種以上の複数のメモリデバイスを搭載してメモリモジュールを構成してもよい。
メモリデバイス20,21は、メモリコントローラ10に制御信号0,1を夫々送信し、メモリコントローラ10は、バススイッチ30に制御信号2を、電源スイッチ50に制御信号3を、電源スイッチ51に制御信号4を夫々送信する。
バススイッチ30は、メモリバス40とメモリバス41,42の端子の接続を切り替えるための回路である。バススイッチ30は、メモリコントローラ10から受信した制御信号2に基づいて、メモリバス40に対してメモリバス41,42の両方を接続するか、又はメモリバス41,42のいずれか一方のみを接続することができる。バススイッチ30又はメモリデバイス20,21には、メモリバス41,42の一方が切り離されているときに、他の信号の波形品質を落とさぬよう、切り離された端子の終端処理を行う回路が実装されているのが好ましく、さらに、メモリデバイス20,21の電源ON/OFFは、入出力バッファのみ電源をONし、内部回路の電源をOFFするようにしてもよい。
電源スイッチ50は、メモリコントローラ10からの制御信号3によってメモリデバイス20の電源をON/OFF切替制御するためのスイッチであり、電源スイッチ51は、メモリコントローラ10からの制御信号4によってメモリデバイス21の電源をON/OFF切替制御するためのスイッチである。
図3は、図2におけるメモリコントローラ10の内部構成を概略的に示すブロック図である。
図3において、メモリコントローラ10は、メモリデバイス情報取得部11、設定格納部12、電源制御部13、及びメモリバスI/F制御部14を備える。
メモリデバイス情報取得部11は、制御信号0,1を介してメモリデバイス20,21の情報、例えば、各メモリモジュールに実装されているSPDから最大クロック周波数、メモリ容量及び信号タイミング等の当該メモリモジュールの情報を取得する。メモリデバイス情報取得部11は、図示しない外部のCPUの動作プログラムからメモリモジュールの情報を取得してもよい。
設定格納部12は、キャリブレーションの結果を格納し、例えば、ライトレベリングの結果としてのCLK−DQS間のスキュー値や、リードレベリングの結果としてのリードレイテンシ値を格納する。なお、設定格納部12は、キャリブレーションの結果をメモリデバイス20,21毎に、さらにメモリデバイス20,21の電源ON/OFF状態に応じて変化するメモリ構成毎に格納することができる。設定格納部12としては、例えば、図2の構成の場合、メモリデバイス20,21の電源が(ON,OFF)、(OFF,ON)、(ON,ON)の3種類のメモリ構成が考えられ、設定格納部12は、夫々のメモリ構成に対してキャリブレーションの結果を格納することができる。
電源制御部13は、メモリデバイス情報取得部11で取得したメモリモジュールの情報に基づいて、制御信号3,4を用いて電源スイッチ50,51を制御することでメモリデバイス20,21の電源をON/OFFする。
メモリバスI/F制御部14は、制御信号2を用いてバススイッチ30を制御することでメモリバス40とメモリバス41,42の接続を切り替える。
メモリデバイス20,21の両方が電源ON状態のメモリ構成を設定するために、電源制御部13は、制御信号3,4により電源スイッチ50,51を制御してメモリデバイス20,21の電源をONし、メモリバスI/F制御部14は、制御信号2によりバススイッチ30を制御してメモリバス40とメモリバス41,42を接続する。
また、メモリデバイス20のみが電源ON状態のメモリ構成を設定するために、メモリバスI/F制御部14は制御信号2によりバススイッチ30を制御してメモリバス40とメモリバス42を切り離し、電源制御部13は制御信号4により電源スイッチ51を制御してメモリデバイス21の電源をOFFする。
ここで、電源制御部13による電源のON/OFFや、メモリバスI/F制御部14によるバススイッチ30の制御は、メモリデバイス20,21へのメモリアクセスが実施されていないときに実行される。
制御信号3,4は、メモリコントローラ10からではなく、図示しない外部のCPUから送信されてもよい。
図4は、図3のメモリコントローラ10によって実行されるキャリブレーション結果格納処理の手順を示すフローチャートである。
図4のキャリブレーション結果格納処理は、複合機100の起動時にメモリコントローラ10によって実行される処理であり、メモリコントローラ10は、複合機100の起動時に設定されたメモリ構成で実行したキャリブレーションの結果を格納し、次いで、起動時に設定されたメモリ構成以外のメモリ構成で実行したキャリブレーションの結果を格納し、起動時のメモリ構成に戻した上で、上記格納したキャリブレーションの結果を用いてメモリコントローラ10自身の設定及びメモリデバイス20,21の各設定を行う。
本実施の形態では、メモリデバイス20,21のいずれか一方の電源をON/OFFすることができるが、以下の説明では、メモリデバイス21の電源のみをON/OFFするものとして記載する。
図4において、まず、メモリコントローラ10は、複合機100の起動時に電源が投入されると、電源スイッチ50,51にも同時に電源が投入されるように制御信号3,4を電源スイッチ50,51に夫々送信し(ステップS101)、制御信号0を介して、メモリデバイス20のSPDからメモリデバイス20の情報を読み取り、同様に制御信号1を介して、メモリデバイス21のSPDからメモリデバイス21の情報を読み取ることにより、図5のメモリデバイス情報を取得する(ステップS102)。メモリコントローラ10は、取得されたメモリデバイス情報をメモリデバイス情報取得部11に格納し、取得されたメモリデバイス情報に基づいて、メモリデバイス20,21がDDR3 SDRAM,1Gbit,8bankであることを認識する。
なお、図5における情報は一例であり、タイミングパラメータの項目等、記載事項以外に必要な事項が含まれる。
図4に戻り、メモリコントローラ10は、複合機100の起動時に設定されたメモリ構成のメモリモジュールに対し、ライトレベリング、リードレベリングの両方の調整を行うために、メモリ初期化のキャリブレーションを実行する(ステップS103)。ここで、メモリモジュールはメモリデバイス20,21で構成される。
次いで、メモリコントローラ10は、図6に示すキャリブレーションの結果として、メモリデバイス20,21のバンク毎のライトアクセス時及びリードアクセス時におけるCLK−DQS間のスキュー値とリードレイテンシ値を設定格納部12に格納し(ステップS104)、必要なメモリ容量に基づいてメモリデバイス20,21のいずれか一方の電源をOFFするか否かを判別する(ステップS105)。
ステップS105の判別の結果、メモリデバイス20,21のいずれか一方の電源をOFFするときは、メモリコントローラ10は、起動時に設定されたメモリ構成以外のメモリ構成のキャリブレーションを行うために、ステップS102で取得したメモリデバイス情報から制御信号2,3,4を用いて後述する図7のメモリ構成切替の設定を行い(メモリ構成設定手段)、図7の設定に基づいて順次キャリブレーションを行う(ステップS106)。
図7の設定では、メモリコントローラ10は、スタンバイ時に必要なメモリ容量が512Mbit、通常動作時に必要なメモリ容量が2048Mbitとして予め設定されている。メモリコントローラ10は、ステップS102で取得したメモリデバイス情報のメモリ容量から、スタンバイ時はメモリデバイス20のみの電源をONする必要があり、通常動作時はメモリデバイス20,21の両方の電源をONする必要があると判断する。
本実施の形態では、メモリコントローラ10は、制御信号2,4を制御することにより、図7の設定でスタンバイ時と通常動作時の2つのメモリ構成を設定する。なお、バススイッチ30は、スタンバイ時のメモリ構成でメモリデバイス20のみが電源ON状態のとき、メモリバス40,41の信号品質を確保するために、バススイッチ30内部でメモリバス42の端子の終端処理を行う。
図4に戻り、メモリコントローラ10は、メモリデバイス20,21の夫々に対し、メモリ初期化及びキャリブレーションを実行し(ステップS107)、メモリデバイス20のみが電源ON状態のメモリ構成で図8に示すキャリブレーションの結果を設定格納部12に格納し(ステップS108)、メモリデバイス20,21の電源が(ON,OFF)、(OFF,ON)、(ON,ON)のすべてのメモリ構成のキャリブレーションが完了したときは(ステップS109でYES)、ステップS106と同様な方法で起動時に設定されたメモリ構成に戻すためにメモリ構成切替の設定を行う(ステップS110)。
続くステップS111では、メモリコントローラ10は、上記格納されたキャリブレーションの結果の中からスタンバイ時又は通常動作時等の用途に応じたメモリ構成のキャリブレーションの結果を選択し(例えば、起動時にスタンバイ時のメモリ構成が設定されている場合は、スタンバイ時のメモリ構成のキャリブレーションの結果である図8のキャリブレーションの結果を選択する。)、該選択したキャリブレーションの結果を用いて、メモリコントローラ10自身の設定及びメモリデバイス20,21の各設定を行って(ステップS112)、本処理を終了する。
ステップS105の判別の結果、メモリデバイス20,21のいずれか一方の電源をOFFしないときは、メモリコントローラ10は、メモリ構成を切り替える必要がないので、直ちにステップS112を実行して、本処理を終了する。
図4の処理によれば、複合機100の起動時に設定されたメモリ構成で実行したキャリブレーションの結果(図6)及び上記メモリ構成以外のメモリ構成で実行したキャリブレーションの結果(図8)を夫々格納し(ステップS104又はS108)、格納されたキャリブレーションの結果の中からスタンバイ時又は通常動作時等の用途に応じたメモリ構成のキャリブレーションの結果を用いてメモリコントローラ10の設定及びメモリデバイス20,21の各設定を行う(ステップS112)ので、複合機100の起動時にキャリブレーション時間を短縮することができる。
例えば、ステップS111において、メモリコントローラ10は、図8のキャリブレーションの結果のライトアクセス時及びリードアクセス時におけるCLK−DQS間の複数のスキュー値の中から、ライトアクセス及びリードアクセスで最も余裕があるタイミングパラメータを選択する。
また、図4の処理では、メモリデバイス20,21のいずれか一方の電源をOFFするか否かを取得したメモリデバイス情報(ステップS102)のメモリ容量に基づいて判別しているが、メモリデバイス20,21の種類、又は予めメモリコントローラ10に備えられた動作モードの設定レジスタによって設定された設定値に基づいて判別してもよい。
図9は、図3のメモリコントローラ10によって実行されるメモリ構成切替設定処理の手順を示すフローチャートである。
図9のメモリ構成切替設定処理は、複合機100の起動後における動作中に途中でメモリコントローラ10によってメモリデバイス20,21の電源の設定を切り替える場合に実行される処理である。
以下の説明では、メモリコントローラ10がスタンバイ時から通常動作時に電源の設定を切り替える場合の処理について説明する。
図9において、まず、メモリコントローラ10は、メモリコントローラ10への制御信号0,1に基づいてメモリ構成をスタンバイ時のメモリ構成から通常動作時のメモリ構成に切り替えると判別すると(ステップS201でYES)、メモリコントローラ10は、制御信号2,4に基づいてメモリ構成切替の設定を行い(ステップS202)、図4のステップS104やS108で格納したキャリブレーションの結果の中から通常動作時におけるメモリ構成のキャリブレーションの結果を選択し(ステップS203)、ステップS203で選択されたキャリブレーションの結果を用いて、メモリコントローラ10自身の設定及びメモリデバイス20,21への各設定を行い(ステップS204)、本処理を終了する。
上記ステップS203では、例えば、メモリコントローラ10は、図6のキャリブレーションの結果のライトアクセス時及びリードアクセス時におけるCLK−DQS間の複数のスキュー値の中から、ライトアクセス及びリードアクセスで最も余裕があるタイミングパラメータを選択する。
一方、メモリコントローラ10が通常動作時からスタンバイ時に電源の設定を切り替える場合、メモリコントローラ10は、図4のステップS104やS108で格納したキャリブレーションの結果の中からスタンバイ時におけるメモリ構成のキャリブレーションの結果を選択し(ステップS203)、スタンバイ時におけるメモリ構成のキャリブレーションの結果を用いて、メモリコントローラ10自身の設定及びメモリデバイス20,21への各設定を行う(ステップS204)。
図9の処理によれば、複合機100の起動時に格納したキャリブレーションの結果の中からスタンバイ時又は通常動作時等の用途に応じたメモリ構成のキャリブレーションの結果を用いてメモリコントローラ10の設定及びメモリデバイス20,21の各設定を行う(ステップS204)ので、複合機100の動作中にメモリデバイス20,21の電源の設定を切り替えてもキャリブレーション時間を短縮することができる。
なお、メモリコントローラ10は、メモリコントローラ10自身がメモリデバイス20,21とのメモリアクセスを実施していないことを判断した上でメモリ構成切替を行う。
本実施の形態では、電源投入時にキャリブレーションを実行することを前提としているが(図4におけるステップS103及びS107)、複合機100の起動後における動作中に途中でメモリコントローラ10によって電源の設定を切り替える場合、電源がOFF状態からON状態になったメモリデバイス20,21の夫々のSPDから情報を読み取ったときにメモリデバイス情報が変更された場合には(情報更新手段)、キャリブレーションを再度実行してキャリブレーションの結果を更新(キャリブレーション結果更新手段)してもよい。
次に、本実施の形態の変形例について説明する。
図10は、本実施の形態の変形例におけるCPU112及びメモリコントローラ10の作動を説明するのに用いられるブロック図である。
図10において、メモリコントローラ10は、メモリバス40を介してバススイッチ30に接続され、制御バス5を介してCPU112に接続されている。バススイッチ30には、メモリバス41を介してメモリデバイス20が、メモリバス42を介してメモリデバイス21が夫々接続されている。図10の各構成要素において、図2の構成要素と同じ要素については同一の符号を付して重複した説明を省略し、以下に異なる構成要素のみ説明する。
図10におけるメモリコントローラ10は、図3における電源制御部13及びメモリバスI/F制御部14を有さず、メモリデバイス20,21は、データを所定のプロトコルに則って読み書きできるMRAMであり、DDR3 SDRAMと同等の機能を有し、メモリデバイス20,21の電源がOFF状態でも各種モードやパラメータの設定及びデータを保持することができる不揮発性メモリデバイスである。
CPU112は、RAM25に展開されたプログラムで実現されるモジュールであり、様々な数値計算や情報処理装置の制御等を行い、図3におけるメモリコントローラ10の電源制御部13及びメモリバスI/F制御部14の機能を備える。また、CPU112は、メモリコントローラ10やメモリデバイス20,21等の情報をRAM25又は図示しないHDD等に格納する。
制御バス5は、CPU112,メモリコントローラ10間の通信をするためのバスであり、CPU112は所定のプロトコルで制御バス5を介してメモリコントローラ10を制御する。
図11は、図10におけるCPU112及びメモリコントローラ10によって実行されるキャリブレーション結果格納処理の手順を示すフローチャートである。
図11のキャリブレーション結果格納処理は、複合機100の起動時にCPU112及びメモリコントローラ10によって実行される処理であり、CPU112は、複合機100の起動時に設定されたメモリ構成で実行したキャリブレーションの結果を格納し、次いで、起動時に設定されたメモリ構成以外のメモリ構成で実行したキャリブレーションの結果を格納し、起動時のメモリ構成に戻した上で、上記格納したキャリブレーションの結果を用いてメモリコントローラ10にメモリコントローラ10自身の設定及びメモリデバイス20,21の各設定を行わせるように制御する。
図10の構成では、メモリデバイス20,21のいずれか一方の電源をON/OFFすることができるが、以下の説明では、メモリデバイス21の電源のみをON/OFFするものとする。
図11において、まず、CPU112は、複合機100の起動時に電源が投入されると、電源スイッチ50,51にも同時に電源が投入されるように制御信号3,4を電源スイッチ50,51に夫々送信し(ステップS301)、制御信号0を介して、メモリデバイス20のSPDからメモリデバイス20の情報を読み取り、同様に制御信号1を介して、メモリデバイス21のSPDからメモリデバイス21の情報を読み取ることにより、図12のメモリデバイス情報を取得する(ステップS302)。CPU112は、図示しないHDDに取得されたメモリデバイス情報を格納し、取得されたメモリデバイス情報に基づいて、メモリデバイス20,21がDDR3 MRAM,1Gbit,8bankであることを認識する。
なお、図12における情報は一例であり、タイミングパラメータの項目等、記載事項以外に必要な事項が含まれる。
図11に戻り、CPU112は、複合機100の起動時に設定されたメモリ構成のメモリモジュールに対し、ライトレベリング、リードレベリングの両方の調整を行うために、メモリ初期化のキャリブレーションを実行するように制御バス5を介してメモリコントローラ10を制御する(キャリブレーション制御手段)(ステップS303)。ここで、メモリモジュールはメモリデバイス20,21で構成される。
次いで、CPU112は、図6に示すキャリブレーションの結果として、メモリデバイス20,21のバンク毎のライトアクセス時とリードアクセス時におけるCLK−DQS間のスキュー値及びリードレイテンシ値をメモリコントローラ10に送信するように要求し、メモリコントローラ10から送信されたキャリブレーションの結果を図示しないHDDに格納し(ステップS304)、必要なメモリ容量に基づいてメモリデバイス20,21のいずれか一方の電源をOFFするか否かを判別する(ステップS305)。
ステップS305の判別の結果、メモリデバイス20,21のいずれか一方の電源をOFFするときは、CPU112は、図4の処理同様、起動時に設定されたメモリ構成以外のメモリ構成のキャリブレーションを行うために、ステップS302で取得したメモリデバイス情報から制御信号2,3,4を用いて図7のメモリ構成切替の設定を行う(ステップS306)。
本実施の形態では、CPU112は、制御信号2,4を制御することにより、図7の設定でスタンバイ時と通常動作時の2つのメモリ構成を設定する。なお、バススイッチ30は、スタンバイ時のメモリ構成であって、メモリデバイス20のみが電源ON状態のとき、メモリバス40,41の信号品質を確保するために、バススイッチ30内部でメモリバス42の端子の終端処理を行う。
図11に戻り、CPU112は、メモリデバイス20,21の夫々に対し、メモリ初期化及びキャリブレーションを実行するように制御バス5を介してメモリコントローラ10を制御し(ステップS307)、メモリコントローラ10に当該キャリブレーションの結果を送信するように要求し、例えば、メモリデバイス20のみが電源ON状態のメモリ構成で図8に示すメモリコントローラ10から送信されたキャリブレーションの結果を図示しないHDDに格納し(ステップS308)、メモリデバイス20,21の電源が(ON,OFF)、(OFF,ON)、(ON,ON)のすべてのメモリ構成のキャリブレーションが完了したときは(ステップS309でYES)、ステップS306と同様な方法で起動時に設定されたメモリ構成に戻すために、メモリ構成切替の設定を行う(ステップS310)。
続くステップS311では、CPU112は、上記格納されたキャリブレーションの結果の中からスタンバイ時又は通常動作時等の用途に応じたメモリ構成のキャリブレーションの結果を選択し(例えば、起動時にスタンバイ時のメモリ構成が設定されている場合は、スタンバイ時のメモリ構成のキャリブレーションの結果である図8のキャリブレーションの結果を選択する。)、該選択したキャリブレーションの結果を用いて、メモリコントローラ10自身及びメモリデバイス20,21の各設定を行うように制御バス5を介してメモリコントローラ10を制御して(設定制御手段)(ステップS312)、本処理を終了する。
ステップS305の判別の結果、メモリデバイス20,21のいずれか一方の電源をOFFしないときは、CPU112は、メモリ構成を切り替えないので、直ちにステップS312を実行して、本処理を終了する。
図11の処理によれば、複合機100の起動時に設定されたメモリ構成で実行したキャリブレーションの結果(図6)及び上記メモリ構成以外のメモリ構成で実行したキャリブレーションの結果(図8)を夫々格納し(ステップS304又はS308)、格納されたキャリブレーションの結果の中からスタンバイ時又は通常動作時等の用途に応じたメモリ構成のキャリブレーションの結果を用いてメモリコントローラ10の設定及びメモリデバイス20,21の各設定を行う(ステップS312)ので、複合機100の起動時にキャリブレーション時間を短縮することができる。
例えば、図4のステップS111同様、ステップS311において、CPU112は、図8のキャリブレーションの結果のライトアクセス時及びリードアクセス時におけるCLK−DQS間の複数のスキュー値の中から、ライトアクセス及びリードアクセスで最も余裕があるタイミングパラメータを選択する。
また、図11の処理では、メモリデバイス20,21のいずれか一方の電源をOFFするか否かを、取得したメモリデバイス情報(ステップS302)のメモリ容量に基づいて判別しているが、メモリデバイス20,21の種類、又は予めCPU112若しくはメモリコントローラ10に備えられた動作モードの設定レジスタによって設定された設定値に基づいて判別してもよい。
図13は、図10におけるCPU112によって実行されるCPUメモリ構成切替設定処理の手順を示すフローチャートである。
図13のCPUメモリ構成切替設定処理は、複合機100の起動後における動作中に途中でCPU112によってメモリデバイス20,21の電源の設定を切り替える場合に実行される処理である。
以下の説明では、CPU112がスタンバイ時から通常動作時に電源の設定を切り替える場合の処理について説明する。
図13におけるステップS201〜S203では、図9におけるステップS201〜S203と同様の処理を行い、CPU112は、CPU112への制御信号0,1に基づいてメモリ構成をスタンバイ時のメモリ構成から通常動作時のメモリ構成に切り替えると判別すると(ステップS201でYES)、CPU112は、制御信号2,4に基づいてメモリ構成切替の設定を行い(ステップS202)、図11のステップS304又はS308で格納したキャリブレーションの結果の中から通常動作時におけるメモリ構成のキャリブレーションの結果を選択する(ステップS203)。
例えば、停電などの影響で一時的に複合機100の電源がOFF状態となった後に電源が復旧してON状態に戻った場合(このとき、メモリモジュールの電源はON状態〜OFF状態〜ON状態と変化する。)、メモリモジュールがすべて不揮発性メモリデバイスで構成されていると、各メモリデバイスは電源がOFF状態となる前のデータを保持しているので、CPU112は、電源が復旧した後に電源がOFF状態となる前と同じ設定で処理を行うことを想定し、一時的に複合機100の電源がOFF状態となる前の不揮発性メモリデバイスの設定を維持する。一方、メモリモジュールが揮発性メモリデバイスを含むと、揮発性メモリデバイスは電源がOFF状態となる前のデータを保持できないので、CPU112は、電源が復旧した後に電源がOFF状態となる前と異なる設定で処理を行うことを想定し、新たに各メモリデバイスの設定を行う。これに対応して、ステップS404で、CPU112は、ステップS202で設定されたメモリ構成の中で電源がON状態となるメモリデバイス20,21が不揮発性か否かを夫々判別し、続くステップS405で、不揮発性メモリデバイスの設定の更新が必要か否かを夫々判別する。
具体的には、ステップS404及びステップS405において、CPU112は、一時的に複合機100の電源がOFF状態となる前後のメモリ構成にて選択されたキャリブレーションの結果が同じ場合には、メモリモジュールがすべて不揮発性メモリデバイスで構成されていると判別して不揮発性メモリデバイスの設定の更新が不要と判別する。一方、選択されたキャリブレーションの結果が異なる場合には、メモリモジュールが揮発性メモリデバイスを含むと判別して不揮発性メモリデバイスの設定の更新が必要と判別する。
ステップS404及びS405の各判別の結果、通常動作時に電源がON状態となるメモリデバイス20,21が不揮発性であり、且つ不揮発性メモリデバイスの設定の更新が不要であるときに、CPU112は、メモリデバイス20,21の夫々の設定がすべて完了すると(ステップS407でYES)、ステップS203で選択された通常動作時におけるメモリ構成のキャリブレーションの結果を用いてメモリコントローラ10自身の設定を行うように制御バス5を介してメモリコントローラ10を制御し(ステップS408)、本処理を終了する。
ステップS404及びS405の各判別の結果、通常動作時に電源がON状態となるメモリデバイス20,21が不揮発性でないとき、又は不揮発性メモリデバイスの設定の更新が必要なときに、CPU112は、ステップS203で選択された通常動作時におけるメモリ構成のキャリブレーションの結果を用いてメモリデバイス20,21の設定を行うように制御バス5を介してメモリコントローラ10を制御し(ステップS406)、ステップS407以降の処理を実行して、本処理を終了する。
一方、メモリコントローラ10が通常動作時からスタンバイ時に電源の設定を切り替える場合に、CPU112は、図11のステップS304又はS308で格納したキャリブレーションの結果の中からスタンバイ時におけるメモリ構成のキャリブレーションの結果を選択し(ステップS203)、ステップS404及びS405の処理を実行して、ステップS203で選択されたスタンバイ時におけるメモリ構成のキャリブレーションの結果を用いてメモリデバイス20,21の設定を行うように制御バス5を介してメモリコントローラ10を制御し(ステップS406)、また、ステップS404及びS405の各判別の結果、電源がON状態となるメモリデバイス20,21が不揮発性でないとき、又は不揮発性メモリデバイスの設定の更新が必要なときに、CPU112は、ステップS203で選択された通常動作時におけるメモリ構成のキャリブレーションの結果を用いてメモリデバイス20,21の設定を行うように制御バス5を介してメモリコントローラ10を制御する(ステップS406)。
図13の処理によれば、複合機100の起動時に格納したキャリブレーションの結果の中からスタンバイ時又は通常動作時等の用途に応じたメモリ構成のキャリブレーションの結果を用いてメモリコントローラ10の設定を行う(ステップS408)ので、複合機100の動作中にメモリデバイス20,21の電源の設定を切り替えてもキャリブレーション時間を短縮することができる。
図13の処理において、電源がON状態となるメモリデバイス20,21が不揮発性でないとき、又は不揮発性メモリデバイスの設定の更新が必要なとき(ステップS404又はS405でNO)のみ、複合機100の起動時に格納したキャリブレーションの結果の中からスタンバイ時又は通常動作時等の用途に応じたメモリ構成のキャリブレーションの結果を用いてメモリデバイス20,21の設定を行うので、メモリデバイス20,21の設定を簡略化することができる。
また、図13の処理では、電源投入時にキャリブレーションを実行することを前提としているが(図11におけるステップS303及びS307)、複合機100の起動後における動作中に途中でCPU112によって電源の設定を切り替える場合、電源がOFF状態からON状態になったメモリデバイス20,21の夫々のSPDから情報を読み取ったときにメモリデバイス情報が変更された場合には、キャリブレーションを再度実行してキャリブレーションの結果を更新してもよい。
さらに、メモリデバイス20,21の設定を行うステップS406とメモリコントローラ10の設定を行うステップS408とは同時に処理されてもよい。
次に、本実施の形態にかかる変形例を用いた複合機100について説明する。
図14は、図10におけるCPU112及びメモリコントローラ10を備えたコントローラ部101によって実行されるメモリ構成切替設定処理の手順を示すフローチャートである。
図14のメモリ構成切替設定処理は、図10の各構成要素を備えたコントローラ部101によって実行される処理である。
複合機100でコピー動作やプリント動作や送信動作が行われるとき、複合機100内部のコントローラ部101で一時的にファイルを格納等するために必要なワークメモリのメモリ容量は、上記動作(ジョブ)毎に異なるので、コントローラ部101は、上記動作(ジョブ)毎にメモリ構成切替の判断とメモリ構成切替の設定を行う。
ここで、コピー動作は、複合機100のフィーダに配置された原稿からスキャナで画像を取り込み、内部で色変換、濃度変換、エッジ強調処理、及びスクリーン処理等の画像処理を施して印刷部で紙に画像を形成して出力する動作である。
プリント動作は、PCやUSB等の外部I/FからPDL及びJPEG等の画像データを受信し、コントローラ部101の内部でレンダリング処理、色変換、濃度変換、エッジ強調処理、及びスクリーン処理等の画像処理を施して印刷部で紙に画像を形成して出力する動作である。
送信動作は、複合機100のフィーダに配置された原稿からスキャナで画像を取り込み、内部で色変換、濃度変換、エッジ強調処理、及びスクリーン処理等の画像処理を施してJPEG形式等のファイルを生成し、さらに指定されたE−mailアドレスにネットワークを介してファイルを送信する動作である。
図14において、まず、コントローラ部101を構成するCPU112は、複合機100の起動時に電源が投入されると、メモリ構成をスタンバイ時のメモリ構成に設定し、図11におけるステップS303のキャリブレーションの実行処理を行い、ジョブが投入されるまで当該メモリ構成を維持する(ステップS501)。
次いで、CPU112は、ジョブが投入されると(ステップS502でYES)、ジョブがコピー動作か否かを判別し(ステップS503)、ジョブがプリント動作か否かを判別し(ステップS504)、さらに、ジョブが送信動作か否かを判別する(ステップS505)。
ステップS503、S504及びS505の判別の結果、ジョブがコピー動作でなく、ジョブがプリント動作でなく、且つジョブが送信動作でないときに、CPU112は、投入されたすべてのジョブが完了すると(ステップS507でYES)、次のジョブがあるか否かを判別し(ステップS508)、ステップS508の判別の結果、次のジョブがあるときは、ステップS503に戻り、次のジョブがないときは、ステップS501に戻ってスタンバイ時のメモリ構成に設定する。
ステップS503、S504及びS505の判別の結果、ジョブがコピー動作であるか、ジョブがプリント動作であるか、又はジョブが送信動作であるときに、CPU112は、投入されたジョブの種類に応じて、図13のステップS201〜S408の処理(CPUメモリ構成切替設定処理)を実行する(ステップS506)。
例えば、ステップS503で、CPU112は、スキャンしたデータを一時保存するために用紙サイズ等に基づいてワークメモリ領域を計算し、図11のステップS302において取得されたメモリデバイス情報によって、必要なワークメモリ容量がメモリデバイス20のみでは足りないと判断したとき、スタンバイ動作時のメモリ構成を通常動作時のメモリ構成に変更する。
ステップS504で、CPU112は、PDLデータのレンダリングで一時保存するために用紙サイズ等に基づいてワークメモリ領域を計算し、図11のステップS302において取得されたメモリデバイス情報によって、必要なワークメモリ容量がメモリデバイス20のみでは足りないと判断したとき、スタンバイ時のメモリ構成を通常動作時のメモリ構成に変更する。
ステップS505で、CPU112は、スキャンしたデータを一時保存するために用紙サイズ等に基づいてワークメモリ領域を計算し、図11のステップS302において取得されたメモリデバイス情報によって、必要なワークメモリ容量がメモリデバイス20のみで足りると判断したとき、スタンバイ動作時のメモリ構成を変更しない。
図14の処理によれば、複合機100の起動時に格納したキャリブレーションの結果の中から投入されたジョブの種類に応じたメモリ構成のキャリブレーションの結果を用いてメモリコントローラ10の設定及びメモリデバイス20,21の各設定を行う(ステップS506)ので、複合機100の動作中に電源制御を実施してもキャリブレーション時間を短縮することができる。
10 メモリコントローラ
11 メモリデバイス情報取得部
12 設定格納部
13 電源制御部
14 メモリバスI/F制御部
20,21 メモリデバイス
30 バススイッチ
40,41,42 メモリバス
50,51 電源スイッチ
112 CPU

Claims (8)

  1. 複数のメモリデバイスを制御するメモリコントローラであって、
    前記複数のメモリデバイスの少なくとも1つの電源のON/OFF切替を制御するON/OFF切替制御手段と、
    前記ON/OFF切替制御手段によりメモリ構成を設定するメモリ構成設定手段と、
    前記メモリ構成設定手段によって設定されるすべてのメモリ構成のキャリブレーションを実行するキャリブレーション手段と、
    前記キャリブレーション手段によって実行されたキャリブレーションの結果を格納する格納手段と、
    前記格納手段によって格納されたキャリブレーションの結果を前記メモリコントローラ及び前記メモリデバイスに設定する設定手段と
    を備えることを特徴とするメモリコントローラ。
  2. 前記複数のメモリデバイスの情報を取得するメモリデバイス情報取得手段をさらに備え、
    前記ON/OFF切替制御手段は、前記メモリデバイス情報取得手段によって取得された前記メモリデバイスの情報に基づいて前記電源のON/OFF切替を制御することを特徴とする請求項1記載のメモリコントローラ。
  3. 前記メモリデバイスの情報は前記メモリデバイスのメモリ容量であることを特徴とする請求項2記載のメモリコントローラ。
  4. 前記メモリデバイスの情報は前記メモリデバイスの種類であることを特徴とする請求項2記載のメモリコントローラ。
  5. 前記ON/OFF切替制御手段は、前記メモリコントローラに設定された設定値に基づいて電源のON/OFF切替を制御することを特徴とする請求項1記載のメモリコントローラ。
  6. 前記設定手段は、前記メモリデバイスが揮発性である場合且つ前記メモリデバイスの設定の更新が必要である場合のみ、前記キャリブレーションの結果を前記メモリデバイスに設定を行うことを特徴とする請求項1乃至5のいずれか1項に記載のメモリコントローラ。
  7. 前記複数のメモリデバイスの情報を更新する情報更新手段をさらに備え、前記情報更新手段によって前記メモリデバイスの情報が更新された場合、前記格納されたキャリブレーションの結果を更新するキャリブレーション結果更新手段をさらに備えることを特徴とする請求項1乃至6のいずれか1項に記載のメモリコントローラ。
  8. 複数のメモリデバイスと、
    前記複数のメモリデバイスを制御するメモリコントローラと、
    前記複数のメモリデバイス及び前記メモリコントローラを制御する中央演算処理装置とを備え、
    前記中央演算処理装置は、前記複数のメモリデバイスの少なくとも1つの電源のON/OFF切替を制御するON/OFF切替制御手段と、
    前記ON/OFF切替制御手段によりメモリ構成を設定するメモリ構成設定手段と、
    前記メモリ構成設定手段によって設定されるすべてのメモリ構成のキャリブレーションを前記メモリコントローラに実行させるキャリブレーション制御手段と、
    前記キャリブレーション制御手段によって前記メモリコントローラが実行したキャリブレーションの結果を格納する格納手段と、
    前記格納手段によって格納されたキャリブレーションの結果を前記メモリコントローラ及び前記メモリデバイスに設定するように前記メモリコントローラを制御する設定制御手段と
    を備えることを特徴とする印刷装置。
JP2013190625A 2013-09-13 2013-09-13 メモリコントローラ及び印刷装置 Pending JP2015056129A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013190625A JP2015056129A (ja) 2013-09-13 2013-09-13 メモリコントローラ及び印刷装置
PCT/JP2014/074763 WO2015037746A1 (en) 2013-09-13 2014-09-12 Memory controller that controls a plurality of memory devices, and printing apparatus including memory controller
US14/904,438 US10109328B2 (en) 2013-09-13 2014-09-12 Memory controller for adjusting timing based on memory power states

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013190625A JP2015056129A (ja) 2013-09-13 2013-09-13 メモリコントローラ及び印刷装置

Publications (1)

Publication Number Publication Date
JP2015056129A true JP2015056129A (ja) 2015-03-23

Family

ID=52665840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013190625A Pending JP2015056129A (ja) 2013-09-13 2013-09-13 メモリコントローラ及び印刷装置

Country Status (3)

Country Link
US (1) US10109328B2 (ja)
JP (1) JP2015056129A (ja)
WO (1) WO2015037746A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019036198A (ja) * 2017-08-18 2019-03-07 京セラドキュメントソリューションズ株式会社 情報処理装置、及び画像形成装置
JP2020104337A (ja) * 2018-12-26 2020-07-09 コニカミノルタ株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6784626B2 (ja) * 2017-03-24 2020-11-11 キヤノン株式会社 記録装置、制御方法、及びプログラム
JP6894736B2 (ja) * 2017-03-24 2021-06-30 キヤノン株式会社 記録装置、制御方法、及びプログラム
JP6784631B2 (ja) * 2017-03-30 2020-11-11 キヤノン株式会社 記録再生装置、記録再生装置の制御方法、及び、プログラム
US10643672B2 (en) * 2018-03-23 2020-05-05 Micron Technology, Inc. Memory with non-volatile configurations for efficient power management and operation of the same
JP2021021820A (ja) * 2019-07-26 2021-02-18 富士ゼロックス株式会社 画像形成装置及びプログラム
JP2021099429A (ja) * 2019-12-23 2021-07-01 セイコーエプソン株式会社 表示装置、及び、表示装置の制御方法
US11609868B1 (en) 2020-12-31 2023-03-21 Waymo Llc Control calibration timing to avoid memory write blackout period

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321282B1 (en) * 1999-10-19 2001-11-20 Rambus Inc. Apparatus and method for topography dependent signaling
US6445624B1 (en) * 2001-02-23 2002-09-03 Micron Technology, Inc. Method of synchronizing read timing in a high speed memory system
US6510099B1 (en) * 2001-09-28 2003-01-21 Intel Corporation Memory control with dynamic driver disabling
US6804764B2 (en) * 2002-01-22 2004-10-12 Mircron Technology, Inc. Write clock and data window tuning based on rank select
JP2011059762A (ja) 2009-09-07 2011-03-24 Ricoh Co Ltd メモリ制御システム及びメモリ制御方法
JP2011158976A (ja) * 2010-01-29 2011-08-18 Panasonic Corp メモリ制御装置
US8756394B1 (en) * 2010-07-07 2014-06-17 Marvell International Ltd. Multi-dimension memory timing tuner
WO2013009442A2 (en) * 2011-07-12 2013-01-17 Rambus Inc. Dynamically changing data access bandwidth by selectively enabling and disabling data links
JP2013058144A (ja) * 2011-09-09 2013-03-28 Fuji Xerox Co Ltd タイミング調整動作制御装置、情報処理装置、及びプログラム
US8379457B1 (en) * 2012-01-26 2013-02-19 Stec, Inc. Auto calibration of storage memory controller

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019036198A (ja) * 2017-08-18 2019-03-07 京セラドキュメントソリューションズ株式会社 情報処理装置、及び画像形成装置
JP2020104337A (ja) * 2018-12-26 2020-07-09 コニカミノルタ株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム
JP7081477B2 (ja) 2018-12-26 2022-06-07 コニカミノルタ株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム

Also Published As

Publication number Publication date
US20160284385A1 (en) 2016-09-29
US10109328B2 (en) 2018-10-23
WO2015037746A1 (en) 2015-03-19

Similar Documents

Publication Publication Date Title
JP2015056129A (ja) メモリコントローラ及び印刷装置
JP6965494B2 (ja) センサデータ検出に基づくインピーダンス補償
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
JP5725695B2 (ja) データ記憶装置、及びデータ記憶装置の制御方法
JP2011170516A (ja) メモリコントローラ、半導体記憶装置およびこれらを備えるメモリシステム
JP2016218749A (ja) 情報処理装置、情報処理方法、及びプログラム
JP5422687B2 (ja) 通信処理装置および画像形成装置
US9396788B1 (en) Information processing apparatus and information processing method
US10637638B2 (en) Semiconductor apparatus for transmitting and receiving a signal in synchronization with a clock signal
JP4261453B2 (ja) メモリ制御装置
US9940560B2 (en) Image processing apparatus, information processing method, and program for high speed activation and terminal reduction
US20160277324A1 (en) Information processing apparatus,information processing method, and non-transitory computer readable medium
US8902689B2 (en) Controlling electric power supply to a memory in an image processing apparatus
JP2009009238A (ja) メモリインタフェース装置
JP2007122250A (ja) メモリインターフェース回路
JP2023079879A (ja) 画像形成装置
JP2011128881A (ja) 電子機器
JP2011158976A (ja) メモリ制御装置
JP5919973B2 (ja) 電子機器、及びメモリー制御方法
JP2018180748A (ja) 画像処理装置の電源制御に用いるfetを動的制御する方法
JP2019003499A (ja) 画像処理装置、その制御方法、及びプログラム
TW201530558A (zh) 記憶體裝置與控制方法
JP2012221444A (ja) 回路、電子機器、及び画像処理装置