JP6274774B2 - メモリインターフェース装置及びその制御方法 - Google Patents

メモリインターフェース装置及びその制御方法 Download PDF

Info

Publication number
JP6274774B2
JP6274774B2 JP2013163130A JP2013163130A JP6274774B2 JP 6274774 B2 JP6274774 B2 JP 6274774B2 JP 2013163130 A JP2013163130 A JP 2013163130A JP 2013163130 A JP2013163130 A JP 2013163130A JP 6274774 B2 JP6274774 B2 JP 6274774B2
Authority
JP
Japan
Prior art keywords
memory
calibration
timing
command
memory 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.)
Active
Application number
JP2013163130A
Other languages
English (en)
Other versions
JP2015032241A (ja
JP2015032241A5 (ja
Inventor
稔雄 吉原
稔雄 吉原
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 JP2013163130A priority Critical patent/JP6274774B2/ja
Priority to US14/449,345 priority patent/US20150046641A1/en
Publication of JP2015032241A publication Critical patent/JP2015032241A/ja
Publication of JP2015032241A5 publication Critical patent/JP2015032241A5/ja
Application granted granted Critical
Publication of JP6274774B2 publication Critical patent/JP6274774B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1689Synchronisation and timing concerns
    • 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

Description

本発明は、メモリインターフェース装置及びその制御方法に関し、特に、メモリコントローラとDRAM−PHY間の信号の制御技術に関する。
一般的に情報処理装置では、OSや各種アプリケーションを実行するためのデータの保存や、画像処理を実行するためのデータの一時保存のために、DRAM(Dynamic Random Access Memory)を用いることが多い。このDRAMは、CPU(Central Processing Unit)やSOC(System−on−a−chip)等に接続され使用される。このDRAMへのアクセスを制御するモジュールは、通常、メモリコントローラ(MEMC)とDRAM physical interface(PHY)で構成される。MEMCは、データの読み出しや書き出し、DRAMメモリのリフレッシュなどのメモリのインターフェースを統括する役割を果たす。PHYは、MEMCとDRAMを接続するI/Oバッファの間にあって、MEMCからのパラレルデータをシリアルデータに変換して、I/Oバッファを経由してDRAMに送信する。さらに、PHYは、DRAMからI/Oバッファを経由して受信したシリアルデータをパラレルデータに変換し、MEMCに送信する。ここで、MEMCとPHY間の信号は、DFIインターフェース規格によって定義されている。
近年、メモリI/Fの信号の周波数が向上し、タイミングを満たすために様々な機能が追加されている。例えば、温度や電圧の影響を補正するために、メモリデバイスのドライブ能力を調整する際に、遅延回路を設け、通常のメモリ動作中にドライブ能力のキャリブレーションを行う技術が提案されている(特許文献1参照)。
DFIインターフェース規格においても、温度や電圧の変化に応じて出力ドライブ能力を補正するキャリブレーションを行うための仕組みであるUpdate Interfaceがある。具体的な動作として、まず、PHYがチップの外付け抵抗値をモニタすることで温度や電圧の変化を検知し、キャリブレーションを実施する必要があるかどうかを判断する。そして、キャリブレーション実施する必要があると判断した場合、MEMCに対してリクエスト信号をアサートする。MEMCは、リクエスト信号を受信し、アック信号をアサートする。そのアック信号をアサートする際には、MEMCはPHYに対してコマンドを出力してはならない。なぜなら、PHYの出力ドライブ能力を補正中に、MEMCからのコマンドを受け付けると出力信号が安定しないからである。このように、DFIインターフェース規格では、温度や電圧の変化に応じて補正するキャリブレーションを実施するためにMEMCとPHY間で信号をハンドシェイクにより実現している。
特開2011−108351号公報
しかしながら、DFIインターフェース規格のバージョンの不整合によってUpdate Interfaceが実施できないおそれがある。例えば、DFI2.1ではUpdate Interfaceをサポートしているが、DFI2.0ではUpdate Interfaceをサポートしていない。つまり、DFI2.1準拠のPHYとDFI2.0準拠のMEMCを接続する場合、PHYはキャリブレーションが必要だが、MEMCにはUpdate Interfaceをハンドシェイクするための信号が実装されていない。そのため、PHYはキャリブレーションを実施することができず、タイミング等の信号品質を確保することができない。また、このPHYのキャリブレーションの実施時にはMEMCからのコマンド出力を禁止する必要があるので、定期的なキャリブレーション実施によってパフォーマンスが劣化するおそれもある。
本発明は、上記問題に鑑みて成されたものであり、Update Interface信号のハンドシェイクを実現してPHYのキャリブレーションを実行することが可能となるメモリインターフェース技術を提供する。
上記目的を達成するために、本発明のメモリインターフェース装置は、メモリを制御するメモリコントローラと、前記メモリと前記メモリコントローラとを接続するフィジカルインターフェース部とを備えるメモリインターフェース装置において、前記フィジカルインターフェース部のドライブ能力を調整するためのキャリブレーションの実行タイミングを、前記メモリコントローラから前記メモリに関するキャリブレーションコマンドを受け取るタイミングに応じて制御する制御手段と、前記メモリコントローラと前記フィジカルインターフェース部の間に配置され、前記メモリコントローラからのデータの取り込みタイミングの変換を行うデータ変換手段とを備えることを特徴とする。また、上記目的を達成するために、本発明のメモリインターフェース装置は、メモリを制御するメモリコントローラと、前記メモリと前記メモリコントローラとを接続するフィジカルインターフェース部とを備えるメモリインターフェース装置において、前記フィジカルインターフェース部が前記メモリを駆動するための信号のドライブ能力を調整するための第一のキャリブレーションの実行タイミングを、前記メモリコントローラから前記メモリに関する第二のキャリブレーションの実行を指示するZQコマンドを受け取るタイミングに応じて制御する制御手段を備え、前記制御手段は、前記メモリコントローラと前記フィジカルインターフェース部の間に配置され、前記ZQコマンドが出力されたと判断されたこと、及び前記第一のキャリブレーションの実行指示が確認されたことに応じて、前記フィジカルインターフェース部に対して前記第一のキャリブレーションの前記実行指示に対するアクノレッジメントを発行し、当該アクノレッジメントが発行されたことに基づき、前記フィジカルインターフェース部に前記第一のキャリブレーションを実行させることで、前記第一のキャリブレーションの実行タイミングを制御することを特徴とする。
本発明によれば、Update Interface信号のハンドシェイクを実現し、フィジカルインターフェース(PHY)のキャリブレーションを実行することが可能となる。
本発明の第1の実施形態に係るメモリインターフェース装置を有する画像処理装置の全体構成を示すブロック図である。 図1におけるメモリブロックの概略構成を示すブロック図である。 図2におけるUpdate処理ブロック(制御手段)の基本動作を説明するためのタイミングチャートである。 図3に示すUpdate処理ブロックの基本動作の流れを示すフローチャートである。 (a)Update処理ブロックのPowerON初期化時の動作を説明するためのタイミングチャート、(b)Update処理ブロックのPowerON初期化時の動作を説明するためのタイミングチャート、(c)Update処理ブロックのセルフリフレッシュ時の動作を説明するためのタイミングチャートである。 図2におけるData変換ブロック(データ変換手段)の概略構成を示すブロック図である。 (a)リードレイテンシが偶数サイクルの場合のDFI−CH0からのリードコマンドイネーブル信号のタイミングチャート、(b)リードレイテンシが偶数サイクルの場合のDFI−CH1からのリードコマンドイネーブル信号のタイミングチャートである。 (a)リードレイテンシが奇数サイクルの場合のDFI−CH0からのリードコマンドイネーブル信号のタイミングチャート、(b)リードレイテンシが奇数サイクルの場合のDFI−CH1からのリードコマンドイネーブル信号のタイミングチャートである。 リードデータvalidがDFI−CH0とCH01で同相の場合のデータ信号のタイミングチャートである。 リードデータvalidがDFI−CH0とCH01で異相の場合のデータ信号のタイミングチャートである。 ライトレイテンシが偶数サイクルの場合のDFI−CH0から出力するデータ信号のタイミングチャートである。 ライトレイテンシが偶数サイクルの場合のDFI−CH1から出力するデータ信号のタイミングチャートである。 ライトレイテンシが奇数サイクルの場合のDFI−CH0から出力するデータ信号のタイミングチャートである。 ライトレイテンシが奇数サイクルの場合のDFI−CH1から出力するデータ信号のタイミングチャートである。 本発明の第2の実施形態におけるUpdate処理ブロックのセルフリフレッシュ時の動作を説明するためのタイミングチャートである。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係るメモリインターフェース装置を有する画像処理装置の全体構成を示すブロック図である。
図1において、MFP100は、画像入力デバイスであるスキャナ116と、画像出力デバイスであるプリンタエンジン117とを備える。スキャナ116及びプリンタエンジン117により画像データの読み取りやプリント出力が行われる。
CPU101は、MFP100を制御するための中央処理装置である。操作部102は、ユーザから操作指示の受付及び操作結果の表示を行う。ネットワークI/F103は、例えばLANカード等で実現され、LAN114に接続して外部装置(不図示)との間でデバイス情報や画像データの入出力を行う。モデム104は、公衆回線115に接続して外部装置(不図示)との間で制御情報や画像データの入出力を行う。HDD105はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データ等を格納する。ROM106はブートROMであり、システムのブートプログラムが格納されている。
デバイスI/F107は、スキャナ116やプリンタエンジン117と接続し、画像データの転送処理を行う。画像編集用画像処理部108は、画像データの回転や変倍、色処理、トリミング・マスキング、2値変換、多値変換、白紙判定等の各種画像処理を行う。プリント画像処理部109は、プリント出力する画像データに対して、プリンタエンジン117に応じた画像補正処理等を行う。
スキャン画像処理部110は、スキャナ116で読み込まれた画像データに対して、補正、加工、編集等の各種処理を行う。RIP(ラスタイメージプロセッサ)111は、ページ記述言語(PDL)コードをイメージデータに展開する。
メモリブロック120は、例えばCPU101や上述した画像処理部等からのメモリアクセスコマンドをメモリデバイス(DRAM)123が解釈可能なコマンドに変換して、DRAM123に対してアクセスを行う。DRAM123は、CPU101が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。
以上のユニットがシステムバス118上に配置されている。
図2は、図1におけるメモリブロック120の概略構成を示すブロック図である。
図2において、メモリコントローラ(MEMC)121は、データの読み出しや書き出し、DRAM123のリフレッシュなどのメモリのインターフェースを統括する役割を果たす。図示していないが、MEMC121には、メモリアクセスするモジュールがバス(Bus)等によって接続されている。そのモジュールはDRAM123へアクセスする際に、バスプロトコルに則したコマンドを発行し、そのコマンドをMEMC121が受け取り、PHY122とのインタフェース(I/F)であるDFIに変換する。
PHY(フィジカルインターフェース)122は、MEMC121とDRAM123を接続するI/Oバッファの間にあって、MEMC121からのパラレルデータをシリアルデータに変換して、I/Oバッファを経由してDRAM123に送信する。DRAM123は、メモリI/F128を介してメモリのプロトコルに則したコマンドの受け取り、データ格納や読み出しを行う。
Data変換ブロック124(データ変換手段)は、MEMC121とPHY122の間に配置されている。MEMC121とはDFI2.0のI/Fで接続されており、PHY122とはDFI2.1のI/Fで接続されている。
Data変換ブロック124は、DFI2.0とDFI2.1のバージョン違いによるデータ取り込みタイミングを変換するモジュールである。データ取り込みのタイミングの詳細については後述する。
Update処理ブロック125(制御手段)は、MEMC121から出力されるコマンドを解析し、Update Interfaceの信号UP_REQがアサートされているときにUP_ACKをアサートする。Update処理ブロック125は、コマンドの解析として、RASN、CASN、WEN、CSNの信号を解析し、ZQCSコマンドとZQCLコマンドを判別する。ZQCSコマンド、ZQCLコマンドと判別されたときに、UP_REQがアサートされている場合に、UP_ACKをアサートする。
図3は、図2におけるUpdate処理ブロック125の基本動作を説明するためのタイミングチャートである。
図3において、ZQ cal@PHYは、PHY122のUpdate処理の実行タイミングを示している。つまり、PHY122で温度や電圧条件の変化を検知し、DRAM123へ出力する信号のドライブ能力を変更する必要があった場合にPHY_CALコマンドを発行する。そして、PHY_CALコマンドが発行された場合に、Update処理ブロック125にUP_REQ信号をアサートする。そして、MEMC121からPHY122に対してZQCSコマンドかZQCLコマンドを発行する。ZQCSコマンドおよびZQCLコマンドとは、そのコマンドをDRAM123が受け取るとDRAM123内にある終端抵抗値(ODT値)動キャリブレーションを実施する機能である。ZQCLは初期化時、ZQCSは動作中に実行される。
Update処理ブロック125は、ZQCS/ZQCLコマンドを判別し、tCTRL_DELAY時間後にメモリコマンドしてDRAM123へ出力する。
また、Update処理ブロック125は、tCTRL_DELAY時間後にUP_ACKをアサートする。この理由は、ZQCS/ZQCLのコマンドを出力した後に、PHY122のドライブ能力を調整するPHYキャリブレーションを実行する必要があるためである。
PHY122は、UP_ACKのアサートを受信し、PHYキャリブレーションを実行する。MEMC121はZQCS/ZQCLコマンド発行後、tZQCSL_VALID時間後にValidコマンドを出力する。このtZQCSL_VALID時間は、メモリ規格によって決められている時間である。
tPHY_UPD時間は、PHYキャリブレーションを実行する期間であり、MEMC121からValidコマンドが発行される前に終了する必要がある。つまり、MEMC121からZQCSコマンド、ZQCLコマンドが出力されUP_REQがアサートされている場合、まず、メモリコマンドをDRAM123に出力する。その後、UP_ACKをアサートし、PHY122はMEMC121からValidコマンドが発行される前にPHYキャリブレーションを終了させる。これにより、ZQCS/ZQCLコマンド発行時に、PHY122のキャリブレーションを実行することができる。
図4は、図3に示すUpdate処理ブロック125の基本動作の流れを示すフローチャートである。
まず、ステップS301では、システムリセットが解除され、CPU101によってメモリアクセスするために初期化が実行され、ステップS302へ進む。
ステップS302では、PHY122は、PHYキャリブレーションの実行が必要かどうかを判断する。PHYキャリブレーションの実行が必要であると判断した場合、ステップS303へ進む。
ステップS303では、PHY122は、PHYキャリブレーションを実行するために、UP_REQをアサートする。
ステップS304では、Update処理ブロック125は、MEMC121からZQCS/ZQCLコマンドが出力されたかどうかを判断する。MEMC121からZQCS/ZQCLコマンドが出力されたと判断した場合はステップS305に進む。
ステップS305では、Update処理ブロック125は、tCTRL_DELAY時間waitし、ステップS306へ進む。
ステップS306では、Update処理ブロック125は、PHYキャリブレーション実行を許可するUP_ACKをアサートしてステップS307へ進む。
ステップS307では、PHY122は、PHYキャリブレーションを実行し、終了した時にUP_REQをデアサートし、ステップS308へ進む。
ステップS308では、Update処理ブロック125は、UP_REQをデアサートを受けて、UP_ACKをデアサートして、本処理を終了する。
図5(a)は、Update処理ブロック125のPowerON初期化時の動作を説明するためのタイミングチャートである。
PHY122から最初のPHY_CALが発行され、UP_REQがアサートされる。その後、MEMC121は、PowerON時の初期化の一つとしてZQCLコマンドを発行する。これにより、UP_ACKがアサートされ、PHY122のキャリブレーションが実行される。その後、2番目のPHY_CALが発行され、ZQCSコマンドによってPHYキャリブレーションが実行される。
図5(b)は、Update処理ブロック125の通常動作時の動作を説明するためのタイミングチャートである。
図示例では、PHY122のキャリブレーション期間がZQCSコマンドの発行間隔よりも短い場合を示している。1番目のPHY_CALで最初のPHYキャリブレーションのUP_REQがアサートされる。その後、ZQCSコマンドによってUP_ACKがアサートされる。そして、2番目のPHY_CALでUP_REQがアサートされるが、その後にZQCSコマンドが発行されない。3番目のPHY_CALが要求されるが、UP_REQはアサートされたままとなる。その後、ZQCSコマンドが発行され、UP_ACKがアサートされる。
図5(c)は、Update処理ブロック125のセルフリフレッシュ時の動作を説明するためのタイミングチャートである。
セルフリフレッシュ中は、PHYキャリブレーションを実行する必要がないので、UP_REQもUP_ACKもアサートされない。図5(c)では、PHY_CALによってUP_REQがアサートされ、その後、MEMC121からセルフリフレッシュコマンドであるSREFが発行される。
セルフリフレッシュに移行するシーケンスでは、CPU101によって、PHY122にアクセスし、PHYキャリブレーション実行のリセットが行われる。それによってUP_REQがデアサートされる。その後、セルフリフレッシュから復帰するシーケンスを実行し、CPU101によって、PHY122にアクセスし、PHYキャリブレーションの実行のリセット解除が行われる。そして、セルフリフレッシュから復帰するコマンドであるEXITがMEMC121から発行される。その後の動作は図5(b)に示す通常動作時と同様である。
図6は、図2におけるData変換ブロック124の概略構成を示すブロック図である。
Data変換ブロック124は、DFI2.0とDFI2.1のデータとイネーブル信号の変換を行うブロックである。
リードData変換ブロック601は、リードデータのDFIバージョン違いによる変換を行うブロックである。rd_lat0は、リード(read)レイテンシのサイクル数が奇数なのか偶数なのかを示す信号であり、奇数か偶数かで動作が変更される。ここでのリードレイテンシとは、例えばメモリでDDR3ならば、Casレイテンシ+Aditiveレイテンシである。
ライトData変換ブロック602は、ライトデータのDFIバージョン違いによる変換を行うブロックである。wr_lat0は、ライト(write)レイテンシのサイクル数が奇数なのか偶数なのかを示す信号であり、奇数か偶数かで動作が変更される。ここでのライトレイテンシとは、例えばメモリでDDR3ならば、Cas writeレイテンシ+Aditiveレイテンシである。
図7(a)は、上述したリードレイテンシが偶数サイクルの場合のDFI−CH0からのリードコマンドイネーブル信号のタイミングチャートである。
MEMC121から出力されたmc_rddta_en0信号が入力されると、phy_rddata_en0とphy_rddata_en1から同じタイミングで同じ幅のデータがPHY122に出力される。
図7(b)は、リードレイテンシが偶数サイクルの場合のDFI−CH1からのリードコマンドイネーブル信号のタイミングチャートである。
MEMC121から出力されたmc_rddta_en1信号が入力されると、phy_rddata_en1から同じタイミングで同じ幅のデータがPHY122に出力される。一方、phy_rddata_en0から1cycle遅らせたタイミングで同じ幅のデータがPHY122に出力される。
図8(a)は、リードレイテンシが奇数サイクルの場合のDFI−CH0からのリードコマンドイネーブル信号のタイミングチャートである。
MEMC121から出力されたmc_rddta_en0信号が入力されると、phy_rddata_en1から同じタイミングで同じ幅のデータがPHY122に出力される。一方、phy_rddata_en0を1cycle遅らせたタイミングで同じ幅のデータがPHY122に出力される。
図8(b)は、リードレイテンシが奇数サイクルの場合のDFI−CH1からのリードコマンドイネーブル信号のタイミングチャートである。
MEMC121から出力されたmc_rddta_en1信号が入力されると、phy_rddata_en0とphy_rddata_en1から同じタイミングで同じ幅のデータがPHY122に出力される。
図9は、PHY122からMEMC121へのリードデータの変換に関して、リードデータvalidがDFI−CH0とCH1で同相の場合のデータ信号のタイミングチャートである。
図示の場合は、リードData変換ブロック601は、PHY122から出力されるphy_rddata[63:0]とphy_rddata[127:64]を同タイミングでmc_rddata[63:0]とmc_rddata[127:64]を出力する。
図10は、PHY122からMEMC121へのリードデータの変換に関して、リードデータvalidがDFI−CH0とCH01で異相の場合のデータ信号のタイミングチャートである。
図示の場合は、リードData変換ブロック601は、PHY122から出力されるphy_rddatavalid1と同タイミングでmc_rddata[63:0]とmc_rddata[127:64]を出力する。つまり、phy_rddata[63:0]を1cycle遅らせた信号をmc_rddata[63:0]として出力する。このように、リードData変換ブロック601は、リードデータのDFI−I/FのチャンネルCH0とCH1のvalid信号の位相差によって、リードdata信号の取り込みタイミングを決定する。
図11は、MEMC121からPHY122へのライトデータの変換に関して、ライトレイテンシが偶数サイクルの場合のDFI−CH0から出力するデータ信号のタイミングチャートである。
図示の場合は、ライトData変換ブロック602は、mc_wrdata_en0の信号を同タイミングでphy_wrdata_en0とphy_wrdata_en1をPHY122へ出力する。同様に、ライトData変換ブロック602は、mc_wrdata、mc_wrdata_mask信号も同タイミングでphy_wrdata、phy_wrdata_maskをPHY122へ出力する。
図12は、MEMC121からPHY122へのライトデータの変換に関して、ライトレイテンシが偶数サイクルの場合のDFI−CH1から出力するデータ信号のタイミングチャートである。
まず、ライトData変換ブロック602は、mc_wrdata_en信号に関しては、mc_wrdata_en1から出力される信号と同タイミングでphy_wrdata_en1を出力する。そして、ライトData変換ブロック602は、mc_wrdata_en1から1cycle遅らせたタイミングでphy_wrdata_en0を出力する。
次に、ライトData変換ブロック602は、mc_wrdata[63:0]とmc_wrdata_mask[7:0]から出力される信号と同タイミングでphy_wrdata[127:64]とmc_wrdata_mask[15:8]に出力する。また、mc_wrdata[127:64]とmc_wrdata_mask[15:8]信号は、mc_wrdata_en1から1cycle遅らせたタイミングでphy_wrdata[63:0]とmc_wrdata_mask[7:0]に出力する。つまり、ライトデータイネーブル信号は、mc_wrdata_en1と同タイミングでphy_wrdata_en1が出力され、1cyle遅らせたタイミングでmc_wrdata_en0が出力される。
また、データとマスク信号は、下位bit(0から63)と上位bit(127から64)の入れ替えが発生し、出力タイミングは、それぞれのphy_wrdata_en信号と同様のタイミングで出力される。
図13は、MEMC121からPHY122へのライトデータの変換に関して、ライトレイテンシが奇数サイクルの場合のDFI−CH0から出力するデータ信号のタイミングチャートである。
図示の変換方法は、図12のライトレイテンシが偶数でCH1から出力する場合のタイミングチャートの説明で、mc_wrdata_en1がmc_wrdata_en0に変わったのみであるので、その説明は割愛する。
図14は、MEMC121からPHY122へのライトデータの変換に関して、ライトレイテンシが奇数サイクルの場合のDFI−CH1から出力するデータ信号のタイミングチャートである。
図示の変換方法は、図11のライトレイテンシが偶数でCH0から出力する場合のタイミングチャートの説明で、mc_wrdata_en0がmc_wrdata_en1に変わったのみであるので、その説明は割愛する。
以上説明したように、Update処理ブロック125を実装することによって、Update Interface信号のハンドシェイクを実現し、PHYキャリブレーションを実行することが可能となる。また、ZQCS/ZQCLコマンドのタイミングでPHYキャリブレーションを実施することで、パフォーマンス劣化が発生しない構成となる。また、DFIの規格バージョンのデータ不整合に対しても、Data変換ブロック124によって、データ信号とイネーブル信号の変換を実行することが可能である。
[第2の実施形態]
第1の実施形態では、図5(c)に示すように、セルフリフレッシュ中はPHYキャリブレーションの実行のリセットが行われ、セルフリフレッシュから復帰する際に、PHYキャリブレーションの実行のリセット解除が行われる場合について説明した。
第2の実施形態では、セルフリフレッシュ中のPHYキャリブレーションの実行要求に対して即実行させる方法について説明する。なお、第1の実施の形態と同様の部分については、同一の符号を用いてその説明を省略する。以下に、上記第1の実施の形態と異なる点のみを説明する。
図15は、本発明の第2の実施形態におけるUpdate処理ブロック125のセルフリフレッシュ時の動作を説明するためのタイミングチャートである。
図15の中で一番目のPHY_CALによってUP_REQがアサートされ、その後、MEMC121からセルフリフレッシュコマンドであるSREFが発行される。このSREFコマンドをUpdate処理ブロック125が認識し、UP_REQがアサート中にSREFコマンドを認識した場合にUP_ACKをアサートする。そして、DRAM123はセルフリフレッシュに入り、図15の中で2番目のPHY_CALによって、UP_REQがアサートされる。そして、セルフリフレッシュ中は、UP_REQがアサートされると次サイクルでUP_ACKをアサートする動作を行う。そして、セルフリフレッシュから復帰するコマンドであるEXITがMEMC121から発行される。その後の動作は図5(a)の通常動作時の動作を行う。
以上説明したように、セルフリフレッシュ中はキャリブレーションの実行要求に対して即実行させることで、セルフリフレッシュのenterとexitでのUpdate Interface実行に対するソフト処理が不要となる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
100 MFP
101 CPU
120 メモリブロック
121 メモリコントローラ(MEMC)
122 PHY
123 メモリデバイス(DRAM)
124 Data変換ブロック
125 Update処理ブロック

Claims (13)

  1. メモリを制御するメモリコントローラと、前記メモリと前記メモリコントローラとを接続するフィジカルインターフェース部とを備えるメモリインターフェース装置において、
    前記フィジカルインターフェース部のドライブ能力を調整するためのキャリブレーションの実行タイミングを、前記メモリコントローラから前記メモリに関するキャリブレーションコマンドを受け取るタイミングに応じて制御する制御手段と、
    前記メモリコントローラと前記フィジカルインターフェース部の間に配置され、前記メモリコントローラからのデータの取り込みタイミングの変換を行うデータ変換手段とを備えることを特徴とするメモリインターフェース装置。
  2. メモリを制御するメモリコントローラと、前記メモリと前記メモリコントローラとを接続するフィジカルインターフェース部とを備えるメモリインターフェース装置において、
    前記フィジカルインターフェース部が前記メモリを駆動するための信号のドライブ能力を調整するための第一のキャリブレーションの実行タイミングを、前記メモリコントローラから前記メモリに関する第二のキャリブレーションの実行を指示するZQコマンドを受け取るタイミングに応じて制御する制御手段を備え、
    前記制御手段は、前記メモリコントローラと前記フィジカルインターフェース部の間に配置され、前記ZQコマンドが出力されたと判断されたこと、及び前記第一のキャリブレーションの実行指示が確認されたことに応じて、前記フィジカルインターフェース部に対して前記第一のキャリブレーションの前記実行指示に対するアクノレッジメントを発行し、当該アクノレッジメントが発行されたことに基づき、前記フィジカルインターフェース部に前記第一のキャリブレーションを実行させることで、前記第一のキャリブレーションの実行タイミングを制御することを特徴とするメモリインターフェース装置。
  3. 前記制御手段は、前記メモリコントローラから出力されるコマンドからZQCSコマンド、又は、ZQCLコマンドを受け取ったことに応じて、前記第のキャリブレーションを実行させることを特徴とする請求項2に記載のメモリインターフェース装置。
  4. 前記制御手段は、前記メモリコントローラと前記フィジカルインターフェース部の間のセルフリフレッシュコマンドを認識して、前記第一のキャリブレーションを実行させることを特徴とする請求項2に記載のメモリインターフェース装置。
  5. 前記データ変換手段は、前記メモリへアクセスするリードレイテンシのサイクル数が奇数か偶数によって、リードコマンドイネーブル信号のタイミングを決定することを特徴とする請求項1に記載のメモリインターフェース装置。
  6. 前記データ変換手段は、前記メモリへアクセスするDFI−I/FのチャンネルがCH0かCH1によって、リードコマンドイネーブル信号のタイミングを決定することを特徴とする請求項1に記載のメモリインターフェース装置。
  7. 前記データ変換手段は、前記メモリからのリードデータのDFI−I/FのチャンネルであるCH0とCH1の各バリッド信号の位相差によって、リードデータ信号の取り込みタイミングを決定することを特徴とする請求項1に記載のメモリインターフェース装置。
  8. 前記データ変換手段は、前記メモリへアクセスするライトレイテンシのサイクル数が奇数か偶数によって、ライトデータイネーブル信号の出力タイミングとデータ信号の出力タイミングを決定することを特徴とする請求項1に記載のメモリインターフェース装置。
  9. 前記データ変換手段は、前記メモリへアクセスするDFI−I/FのチャンネルがCH0かCH1によって、ライトデータイネーブル信号の出力タイミングとデータ信号の出力タイミングを決定することを特徴とする請求項1に記載のメモリインターフェース装置。
  10. 前記制御手段は、前記セルフリフレッシュコマンドを認識したときは、前記メモリのセルフリフレッシュの実行中に前記第一のキャリブレーションを実行させることを特徴とする請求項4に記載のメモリインターフェース装置。
  11. 前記制御手段は、前記第一のキャリブレーションに対応していない前記メモリコントローラが前記ZQコマンドを発行した後に、前記第一のキャリブレーションを実行することを特徴とする請求項2に記載のメモリインターフェース装置。
  12. メモリを制御するメモリコントローラと、前記メモリと前記メモリコントローラとを接続するフィジカルインターフェース部と、前記メモリコントローラと前記フィジカルインターフェース部の間に配置されるデータ変換部とを備えるメモリインターフェース装置の制御方法であって、
    前記フィジカルインターフェース部のドライブ能力を調整するためのキャリブレーションの実行タイミングを、前記メモリコントローラから前記メモリに関するキャリブレーションコマンドを受け取るタイミングに応じて制御する制御ステップと、
    前記データ変換部において前記メモリコントローラからのデータの取り込みタイミングの変換を行うデータ変換ステップとを有することを特徴とする制御方法。
  13. メモリを制御するメモリコントローラと、前記メモリと前記メモリコントローラとを接続するフィジカルインターフェース部と、前記メモリコントローラと前記フィジカルインターフェース部の間に配置される制御部とを備えるメモリインターフェース装置において、
    前記フィジカルインターフェース部が前記メモリを駆動するための信号のドライブ能力を調整するための第一のキャリブレーションの実行タイミングを、前記メモリコントローラから前記メモリに関する第二のキャリブレーションの実行を指示するZQコマンドを受け取るタイミングに応じて制御する制御ステップを有し、
    前記制御ステップでは、前記ZQコマンドが出力されたと判断されたこと、及び前記第一のキャリブレーションの実行指示が確認されたことに応じて、前記フィジカルインターフェース部に対して前記第一のキャリブレーションの前記実行指示に対するアクノレッジメントが発行され、当該アクノレッジメントが発行されたことに基づき、前記フィジカルインターフェース部に前記第一のキャリブレーションを実行させることで、前記第一のキャリブレーションの実行タイミングが制御されることを特徴とするメモリインターフェース装置の制御方法。
JP2013163130A 2013-08-06 2013-08-06 メモリインターフェース装置及びその制御方法 Active JP6274774B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013163130A JP6274774B2 (ja) 2013-08-06 2013-08-06 メモリインターフェース装置及びその制御方法
US14/449,345 US20150046641A1 (en) 2013-08-06 2014-08-01 Memory interface having memory controller and physical interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013163130A JP6274774B2 (ja) 2013-08-06 2013-08-06 メモリインターフェース装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2015032241A JP2015032241A (ja) 2015-02-16
JP2015032241A5 JP2015032241A5 (ja) 2016-09-23
JP6274774B2 true JP6274774B2 (ja) 2018-02-07

Family

ID=52449620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013163130A Active JP6274774B2 (ja) 2013-08-06 2013-08-06 メモリインターフェース装置及びその制御方法

Country Status (2)

Country Link
US (1) US20150046641A1 (ja)
JP (1) JP6274774B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010085405A1 (en) 2009-01-22 2010-07-29 Rambus Inc. Maintenance operations in a dram
US11188244B2 (en) * 2020-04-14 2021-11-30 Micron Technology, Inc. Adjusting trim settings to improve memory performance or reliability

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4722305B2 (ja) * 2001-02-27 2011-07-13 富士通セミコンダクター株式会社 メモリシステム
US7432731B2 (en) * 2005-06-30 2008-10-07 Intel Corporation Method and apparatus to calibrate DRAM on resistance (Ron) and on-die termination (ODT) values over process, voltage and temperature (PVT) variations
KR100862316B1 (ko) * 2007-03-08 2008-10-13 주식회사 하이닉스반도체 반도체 메모리장치, 반도체 메모리장치의 zq캘리브래이션동작 제어회로 및 반도체 메모리장치의 zq캘리브래이션방법
US8307270B2 (en) * 2009-09-03 2012-11-06 International Business Machines Corporation Advanced memory device having improved performance, reduced power and increased reliability
JP5070607B2 (ja) * 2009-09-14 2012-11-14 エヌイーシーコンピュータテクノ株式会社 インピーダンス調整装置、インピーダンス調整方法
WO2012014603A1 (ja) * 2010-07-29 2012-02-02 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム
KR101204674B1 (ko) * 2010-12-29 2012-11-26 에스케이하이닉스 주식회사 반도체집적회로
US20120185663A1 (en) * 2011-01-14 2012-07-19 Satoshi Yokoya Memory Interface Converter
US8607089B2 (en) * 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
CN104272283B (zh) * 2012-05-01 2017-08-04 马维尔国际贸易有限公司 用于dqs选通的系统和方法
US20140052906A1 (en) * 2012-08-17 2014-02-20 Rambus Inc. Memory controller responsive to latency-sensitive applications and mixed-granularity access requests

Also Published As

Publication number Publication date
JP2015032241A (ja) 2015-02-16
US20150046641A1 (en) 2015-02-12

Similar Documents

Publication Publication Date Title
JP2007199841A (ja) 電子機器のコントローラ、バス制御装置
JP2010122842A (ja) 遅延調整装置、半導体装置及び遅延調整方法
JP6886301B2 (ja) メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置
US11385832B2 (en) Memory controller and method performed by the memory controller
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
JP5108578B2 (ja) 画像処理コントローラ及び画像形成装置
JP2009093227A (ja) メモリアクセス制御装置及びメモリアクセス制御方法
JP6274774B2 (ja) メモリインターフェース装置及びその制御方法
JP2006343946A (ja) メモリアクセス制御装置及びコンピュータプログラム
JP2006099569A (ja) メモリインタフェース回路及びクロック制御方法
US8463956B2 (en) Data transfer control apparatus
US20060047866A1 (en) Computer system having direct memory access controller
JP6700739B2 (ja) コントローラおよび制御方法
JP2011034214A (ja) メモリ制御装置
JP5233541B2 (ja) メモリ制御回路、電子機器制御装置、および、複合機
JP4873640B2 (ja) 印刷制御回路及び画像形成装置
US10474215B2 (en) Control apparatus for controlling memory and control method for power saving of memory
JP7081477B2 (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
JP5919973B2 (ja) 電子機器、及びメモリー制御方法
JP2009172910A (ja) 印刷システム、印刷プログラムおよび画像形成装置
JP5752091B2 (ja) メモリーコントローラー
JP2021174018A (ja) 情報処理装置、インタフェース制御回路および情報処理装置の制御方法
JP2019091175A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2018110365A (ja) メモリ制御回路及び画像形成装置
JP2007286682A (ja) データ処理装置及びデータ処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160803

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180109

R151 Written notification of patent or utility model registration

Ref document number: 6274774

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151