(57)【要約】【課題】本発明は、Ｕｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅ信号のハンドシェイクを実現してＰＨＹキャリブレーションを実行することが可能となるメモリインターフェースを提供する。【解決手段】メモリブロック１２０は、ＤＲＡＭ１２３を制御するＭＥＭＣ１２１と、ＭＥＭＣ１２１からのコマンドをＤＲＡＭ１２３に出力し、ＤＲＡＭ１２３に出力するバッファのドライブ能力を調整する機能を有するＰＨＹ１２２とを備え、ＭＥＭＣ１２１とＰＨＹ１２２の間に接続され、データの取り込みタイミングの変換を行うＤａｔａ変換ブロック１２４と、ＭＥＭＣ１２１とＰＨＹ１２２の間に接続され、ＰＨＹ１２２のドライブ能力を調整するためのキャリブレーションの実行タイミングを制御するＵｐｄａｔｅ処理ブロック１２５とを備える。【選択図】図２
2015032241.tif 000002
【特許請求の範囲】
【請求項１】
メモリを制御するメモリコントローラと、前記メモリと前記メモリコントローラとを接続し、前記メモリコントローラからのデータを変換して前記メモリに送信するフィジカルインターフェースとを備えるメモリインターフェースにおいて、
前記メモリコントローラと前記フィジカルインターフェースの間に配置され、前記メモリコントローラからのデータの取り込みタイミングの変換を行うＤａｔａ変換手段と、
前記メモリコントローラと前記フィジカルインターフェースの間に配置され、前記フィジカルインターフェースのドライブ能力を調整するためのキャリブレーションの実行タイミングを制御するＵｐｄａｔｅ処理手段と、
を備えることを特徴とするメモリインターフェース。
【請求項２】
前記Ｕｐｄａｔｅ処理手段は、前記メモリコントローラから出力されるコマンドからＺＱＣＳコマンド、ＺＱＣＬコマンドを判別して、前記キャリブレーションを実行させることを特徴とする請求項１に記載のメモリインターフェース。
【請求項３】
前記Ｕｐｄａｔｅ処理手段は、前記メモリコントローラと前記フィジカルインターフェースの間のセルフリフレッシュコマンドを認識して、前記キャリブレーションを実行させることを特徴とする請求項１に記載のメモリインターフェース。
【請求項４】
前記Ｄａｔａ変換手段は、前記メモリへアクセスするリードレイテンシのサイクル数が奇数か偶数によって、リードコマンドイネーブル信号のタイミングを決定することを特徴とする請求項１に記載のメモリインターフェース。
【請求項５】
前記Ｄａｔａ変換手段は、前記メモリへアクセスするＤＦＩ−Ｉ／ＦのチャンネルがＣＨ０かＣＨ１によって、リードコマンドイネーブル信号のタイミングを決定することを特徴とする請求項１に記載のメモリインターフェース。
【請求項６】
前記Ｄａｔａ変換手段は、前記メモリからのリードデータのＤＦＩ−Ｉ／ＦのＣＨ０とＣＨ１のｖａｌｉｄ信号の位相差によって、リードｄａｔａ信号の取り込みタイミングを決定することを特徴とする請求項１に記載のメモリインターフェース。
【請求項７】
前記Ｄａｔａ変換手段は、前記メモリへのアクセスするライトレイテンシのサイクル数が奇数か偶数によって、ライトデータイネーブル信号の出力タイミングとデータ信号の出力タイミングを決定することを特徴とする請求項１に記載のメモリインターフェース。
【請求項８】
前記Ｄａｔａ変換手段は、前記メモリへのアクセスするＤＦＩ−Ｉ／ＦのチャンネルがＣＨ０かＣＨ１によって、ライトデータイネーブル信号の出力タイミングとデータ信号の出力タイミングを決定することを特徴とする請求項１に記載のメモリインターフェース。
【請求項９】
前記Ｕｐｄａｔｅ処理手段は、前記セルフリフレッシュコマンドを認識したときは、前記キャリブレーションを即実行させることを特徴とする請求項３に記載のメモリインターフェース。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリインターフェースに関し、特に、メモリコントローラとＤＲＡＭ−ＰＨＹ間の信号の制御技術に関する。
【背景技術】
【０００２】
一般的に情報処理装置では、ＯＳや各種アプリケーションを実行するためのデータの保存や、画像処理を実行するためのデータの一時保存のために、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を用いることが多い。このＤＲＡＭは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＳＯＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）等に接続され使用される。このＤＲＡＭへのアクセスを制御するモジュールは、通常、メモリコントローラ（ＭＥＭＣ）とＤＲＡＭ  ｐｈｙｓｉｃａｌ  ｉｎｔｅｒｆａｃｅ（ＰＨＹ）で構成される。ＭＥＭＣは、データの読み出しや書き出し、ＤＲＡＭメモリのリフレッシュなどのメモリのインターフェースを統括する役割を果たす。ＰＨＹは、ＭＥＭＣとＤＲＡＭを接続するＩ／Ｏバッファの間にあって、ＭＥＭＣからのパラレルデータをシリアルデータに変換して、Ｉ／Ｏバッファを経由してＤＲＡＭに送信する。さらに、ＰＨＹは、ＤＲＡＭからＩ／Ｏバッファを経由して受信したシリアルデータをパラレルデータに変換し、ＭＥＭＣに送信する。ここで、ＭＥＭＣとＰＨＹ間の信号は、ＤＦＩインターフェース規格によって定義されている。
【０００３】
近年、メモリＩ／Ｆの信号の周波数が向上し、タイミングを満たすために様々な機能が追加されている。例えば、温度や電圧の影響を補正するために、メモリデバイスのドライブ能力を調整する際に、遅延回路を設け、通常のメモリ動作中にドライブ能力のキャリブレーションを行う技術が提案されている（特許文献１参照）。
【０００４】
ＤＦＩインターフェース規格においても、温度や電圧の変化に応じて出力ドライブ能力を補正するキャリブレーションを行うための仕組みであるＵｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅがある。具体的な動作として、まず、ＰＨＹがチップの外付け抵抗値をモニタすることで温度や電圧の変化を検知し、キャリブレーションを実施する必要があるかどうかを判断する。そして、キャリブレーション実施する必要があると判断した場合、ＭＥＭＣに対してリクエスト信号をアサートする。ＭＥＭＣは、リクエスト信号を受信し、アック信号をアサートする。そのアック信号をアサートする際には、ＭＥＭＣはＰＨＹに対してコマンドを出力してはならない。なぜなら、ＰＨＹの出力ドライブ能力を補正中に、ＭＥＭＣからのコマンドを受け付けると出力信号が安定しないからである。このように、ＤＦＩインターフェース規格では、温度や電圧の変化に応じて補正するキャリブレーションを実施するためにＭＥＭＣとＰＨＹ間で信号をハンドシェイクにより実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１０８３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＤＦＩインターフェース規格のバージョンの不整合によってＵｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅが実施できないおそれがある。例えば、ＤＦＩ２．１ではＵｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅをサポートしているが、ＤＦＩ２．０ではＵｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅをサポートしていない。つまり、ＤＦＩ２．１準拠のＰＨＹとＤＦＩ２．０準拠のＭＥＭＣを接続する場合、ＰＨＹはキャリブレーションが必要だが、ＭＥＭＣにはＵｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅをハンドシェイクするための信号が実装されていない。そのため、ＰＨＹはキャリブレーションを実施することができず、タイミング等の信号品質を確保することができない。また、このＰＨＹのキャリブレーションの実施時にはＭＥＭＣからのコマンド出力を禁止する必要があるので、定期的なキャリブレーション実施によってパフォーマンスが劣化するおそれもある。
【０００７】
本発明は、上記問題に鑑みて成されたものであり、Ｕｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅ信号のハンドシェイクを実現してＰＨＹのキャリブレーションを実行することが可能となるメモリインターフェース技術を提供する。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のメモリインターフェースは、メモリを制御するメモリコントローラと、前記メモリと前記メモリコントローラとを接続し、前記メモリコントローラからのデータを変換して前記メモリに送信するフィジカルインターフェースとを備えるメモリインターフェースにおいて、前記メモリコントローラと前記フィジカルインターフェースの間に配置され、前記メモリコントローラからのデータの取り込みタイミングの変換を行うＤａｔａ変換手段と、前記メモリコントローラと前記フィジカルインターフェースの間に配置され、前記ＰＨＹのドライブ能力を調整するためのキャリブレーションの実行タイミングを制御するＵｐｄａｔｅ処理手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、Ｕｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅ信号のハンドシェイクを実現し、フィジカルインターフェース（ＰＨＹ）のキャリブレーションを実行することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態に係るメモリインターフェースを有する画像処理装置の全体構成を示すブロック図である。
【図２】図１におけるメモリブロックの概略構成を示すブロック図である。
【図３】図２におけるＵｐｄａｔｅ処理ブロックの基本動作を説明するためのタイミングチャートである。
【図４】図３に示すＵｐｄａｔｅ処理ブロックの基本動作の流れを示すフローチャートである。
【図５】（ａ）Ｕｐｄａｔｅ処理ブロックのＰｏｗｅｒＯＮ初期化時の動作を説明するためのタイミングチャート、（ｂ）Ｕｐｄａｔｅ処理ブロックのＰｏｗｅｒＯＮ初期化時の動作を説明するためのタイミングチャート、（ｃ）Ｕｐｄａｔｅ処理ブロックのセルフリフレッシュ時の動作を説明するためのタイミングチャートである。
【図６】図２におけるＤａｔａ変換ブロックの概略構成を示すブロック図である。
【図７】（ａ）リードレイテンシが偶数サイクルの場合のＤＦＩ−ＣＨ０からのリードコマンドイネーブル信号のタイミングチャート、（ｂ）リードレイテンシが偶数サイクルの場合のＤＦＩ−ＣＨ１からのリードコマンドイネーブル信号のタイミングチャートである。
【図８】（ａ）リードレイテンシが奇数サイクルの場合のＤＦＩ−ＣＨ０からのリードコマンドイネーブル信号のタイミングチャート、（ｂ）リードレイテンシが奇数サイクルの場合のＤＦＩ−ＣＨ１からのリードコマンドイネーブル信号のタイミングチャートである。
【図９】リードデータｖａｌｉｄがＤＦＩ−ＣＨ０とＣＨ０１で同相の場合のデータ信号のタイミングチャートである。
【図１０】リードデータｖａｌｉｄがＤＦＩ−ＣＨ０とＣＨ０１で異相の場合のデータ信号のタイミングチャートである。
【図１１】ライトレイテンシが偶数サイクルの場合のＤＦＩ−ＣＨ０から出力するデータ信号のタイミングチャートである。
【図１２】ライトレイテンシが偶数サイクルの場合のＤＦＩ−ＣＨ１から出力するデータ信号のタイミングチャートである。
【図１３】ライトレイテンシが奇数サイクルの場合のＤＦＩ−ＣＨ０から出力するデータ信号のタイミングチャートである。
【図１４】ライトレイテンシが奇数サイクルの場合のＤＦＩ−ＣＨ１から出力するデータ信号のタイミングチャートである。
【図１５】本発明の第２の実施形態におけるＵｐｄａｔｅ処理ブロックのセルフリフレッシュ時の動作を説明するためのタイミングチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１２】
［第１の実施形態］
図１は、本発明の第１の実施形態に係るメモリインターフェースを有する画像処理装置の全体構成を示すブロック図である。
【００１３】
図１において、ＭＦＰ１００は、画像入力デバイスであるスキャナ１１６と、画像出力デバイスであるプリンタエンジン１１７とを備える。スキャナ１１６及びプリンタエンジン１１７により画像データの読み取りやプリント出力が行われる。
【００１４】
ＣＰＵ１０１は、ＭＦＰ１００を制御するための中央処理装置である。操作部１０２は、ユーザから操作指示の受付及び操作結果の表示を行う。ネットワークＩ／Ｆ１０３は、例えばＬＡＮカード等で実現され、ＬＡＮ１１４に接続して外部装置（不図示）との間でデバイス情報や画像データの入出力を行う。モデム１０４は、公衆回線１１５に接続して外部装置（不図示）との間で制御情報や画像データの入出力を行う。ＨＤＤ１０５はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データ等を格納する。ＲＯＭ１０６はブートＲＯＭであり、システムのブートプログラムが格納されている。
【００１５】
デバイスＩ／Ｆ１０７は、スキャナ１１６やプリンタエンジン１１７と接続し、画像データの転送処理を行う。画像編集用画像処理部１０８は、画像データの回転や変倍、色処理、トリミング・マスキング、２値変換、多値変換、白紙判定等の各種画像処理を行う。プリント画像処理部１０９は、プリント出力する画像データに対して、プリンタエンジン１１７に応じた画像補正処理等を行う。
【００１６】
スキャン画像処理部１１０は、スキャナ１１６で読み込まれた画像データに対して、補正、加工、編集等の各種処理を行う。ＲＩＰ（ラスタイメージプロセッサ）１１１は、ページ記述言語（ＰＤＬ）コードをイメージデータに展開する。
【００１７】
メモリブロック１２０は、例えばＣＰＵ１０１や上述した画像処理部等からのメモリアクセスコマンドをメモリデバイス（ＤＲＡＭ）１２３が解釈可能なコマンドに変換して、ＤＲＡＭ１２３に対してアクセスを行う。ＤＲＡＭ１２３は、ＣＰＵ１０１が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。
【００１８】
以上のユニットがシステムバス１１８上に配置されている。
【００１９】
図２は、図１におけるメモリブロック１２０の概略構成を示すブロック図である。
【００２０】
図２において、メモリコントローラ（ＭＥＭＣ）１２１は、データの読み出しや書き出し、ＤＲＡＭ１２３のリフレッシュなどのメモリのインターフェースを統括する役割を果たす。図示していないが、ＭＥＭＣ１２１には、メモリアクセスするモジュールがバス（Ｂｕｓ）等によって接続されている。そのモジュールはＤＲＡＭ１２３へアクセスする際に、バスプロトコルに則したコマンドを発行し、そのコマンドをＭＥＭＣ１２１が受け取り、ＰＨＹ１２２とのインタフェース（Ｉ／Ｆ）であるＤＦＩに変換する。
【００２１】
ＰＨＹ（フィジカルインターフェース）１２２は、ＭＥＭＣ１２１とＤＲＡＭ１２３を接続するＩ／Ｏバッファの間にあって、ＭＥＭＣ１２１からのパラレルデータをシリアルデータに変換して、Ｉ／Ｏバッファを経由してＤＲＡＭ１２３に送信する。ＤＲＡＭ１２３は、メモリＩ／Ｆ１２８を介してメモリのプロトコルに則したコマンドの受け取り、データ格納や読み出しを行う。
【００２２】
Ｄａｔａ変換ブロック１２４は、ＭＥＭＣ１２１とＰＨＹ１２２の間に配置されている。ＭＥＭＣ１２１とはＤＦＩ２．０のＩ／Ｆで接続されており、ＰＨＹ１２２とはＤＦＩ２．１のＩ／Ｆで接続されている。
【００２３】
Ｄａｔａ変換ブロック１２４は、ＤＦＩ２．０とＤＦＩ２．１のバージョン違いによるデータ取り込みタイミングを変換するモジュールである。データ取り込みのタイミングの詳細については後述する。
【００２４】
Ｕｐｄａｔｅ処理ブロック１２５は、ＭＥＭＣ１２１から出力されるコマンドを解析し、Ｕｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅの信号ＵＰ＿ＲＥＱがアサートされているときにＵＰ＿ＡＣＫをアサートする。Ｕｐｄａｔｅ処理ブロック１２５は、コマンドの解析として、ＲＡＳＮ、ＣＡＳＮ、ＷＥＮ、ＣＳＮの信号を解析し、ＺＱＣＳコマンドとＺＱＣＬコマンドを判別する。ＺＱＣＳコマンド、ＺＱＣＬコマンドと判別されたときに、ＵＰ＿ＲＥＱがアサートされている場合に、ＵＰ＿ＡＣＫをアサートする。
【００２５】
図３は、図２におけるＵｐｄａｔｅ処理ブロック１２５の基本動作を説明するためのタイミングチャートである。
【００２６】
図３において、ＺＱ  ｃａｌ＠ＰＨＹは、ＰＨＹ１２２のＵｐｄａｔｅ処理の実行タイミングを示している。つまり、ＰＨＹ１２２で温度や電圧条件の変化を検知し、ＤＲＡＭ１２３へ出力する信号のドライブ能力を変更する必要があった場合にＰＨＹ＿ＣＡＬコマンドを発行する。そして、ＰＨＹ＿ＣＡＬコマンドが発行された場合に、Ｕｐｄａｔｅ処理ブロック１２５にＵＰ＿ＲＥＱ信号をアサートする。そして、ＭＥＭＣ１２１からＰＨＹ１２２に対してＺＱＣＳコマンドかＺＱＣＬコマンドを発行する。ＺＱＣＳコマンドおよびＺＱＣＬコマンドとは、そのコマンドをＤＲＡＭ１２３が受け取るとＤＲＡＭ１２３内にある終端抵抗値（ＯＤＴ値）を自動でキャリブレーションを実施する機能である。ＺＱＣＬは初期化時、ＺＱＣＳは動作中に実行される。
【００２７】
Ｕｐｄａｔｅ処理ブロック１２５は、ＺＱＣＳ／ＺＱＣＬコマンドを判別し、ｔＣＴＲＬ＿ＤＥＬＡＹ時間後にメモリコマンドしてＤＲＡＭ１２３へ出力する。
【００２８】
また、Ｕｐｄａｔｅ処理ブロック１２５は、ｔＣＴＲＬ＿ＤＥＬＡＹ時間後にＵＰ＿ＡＣＫをアサートする。この理由は、ＺＱＣＳ／ＺＱＣＬのコマンドを出力した後に、ＰＨＹ１２２のドライブ能力を調整するＰＨＹキャリブレーションを実行する必要があるためである。
【００２９】
ＰＨＹ１２２は、ＵＰ＿ＡＣＫのアサートを受信し、ＰＨＹキャリブレーションを実行する。ＭＥＭＣ１２１はＺＱＣＳ／ＺＱＣＬコマンド発行後、ｔＺＱＣＳＬ＿ＶＡＬＩＤ時間後にＶａｌｉｄコマンドを出力する。このｔＺＱＣＳＬ＿ＶＡＬＩＤ時間は、メモリ規格によって決められている時間である。
【００３０】
ｔＰＨＹ＿ＵＰＤ時間は、ＰＨＹキャリブレーションを実行する期間であり、ＭＥＭＣ１２１からＶａｌｉｄコマンドが発行される前に終了する必要がある。つまり、ＭＥＭＣ１２１からＺＱＣＳコマンド、ＺＱＣＬコマンドが出力されＵＰ＿ＲＥＱがアサートされている場合、まず、メモリコマンドをＤＲＡＭ１２３に出力する。その後、ＵＰ＿ＡＣＫをアサートし、ＰＨＹ１２２はＭＥＭＣ１２１からＶａｌｉｄコマンドが発行される前にＰＨＹキャリブレーションを終了させる。これにより、ＺＱＣＳ／ＺＱＣＬコマンド発行時に、ＰＨＹ１２２のキャリブレーションを実行することができる。
【００３１】
図４は、図３に示すＵｐｄａｔｅ処理ブロック１２５の基本動作の流れを示すフローチャートである。
【００３２】
まず、ステップＳ３０１では、システムリセットが解除され、ＣＰＵ１０１によってメモリアクセスするために初期化が実行され、ステップＳ３０２へ進む。
【００３３】
ステップＳ３０２では、ＰＨＹ１２２は、ＰＨＹキャリブレーションの実行が必要かどうかを判断する。ＰＨＹキャリブレーションの実行が必要であると判断した場合、ステップＳ３０３へ進む。
【００３４】
ステップＳ３０３では、ＰＨＹ１２２は、ＰＨＹキャリブレーションを実行するために、ＵＰ＿ＲＥＱをアサートする。
【００３５】
ステップＳ３０４では、Ｕｐｄａｔｅ処理ブロック１２５は、ＭＥＭＣ１２１からＺＱＣＳ／ＺＱＣＬコマンドが出力されたかどうかを判断する。ＭＥＭＣ１２１からＺＱＣＳ／ＺＱＣＬコマンドが出力されたと判断した場合はステップＳ３０５に進む。
【００３６】
ステップＳ３０５では、Ｕｐｄａｔｅ処理ブロック１２５は、ｔＣＴＲＬ＿ＤＥＬＡＹ時間ｗａｉｔし、ステップＳ３０６へ進む。
【００３７】
ステップＳ３０６では、Ｕｐｄａｔｅ処理ブロック１２５は、ＰＨＹキャリブレーション実行を許可するＵＰ＿ＡＣＫをアサートしてステップＳ３０７へ進む。
【００３８】
ステップＳ３０７では、ＰＨＹ１２２は、ＰＨＹキャリブレーションを実行し、終了した時にＵＰ＿ＲＥＱをデアサートし、ステップＳ３０８へ進む。
【００３９】
ステップＳ３０８では、Ｕｐｄａｔｅ処理ブロック１２５は、ＵＰ＿ＲＥＱをデアサートを受けて、ＵＰ＿ＡＣＫをデアサートして、本処理を終了する。
【００４０】
図５（ａ）は、Ｕｐｄａｔｅ処理ブロック１２５のＰｏｗｅｒＯＮ初期化時の動作を説明するためのタイミングチャートである。
【００４１】
ＰＨＹ１２２から最初のＰＨＹ＿ＣＡＬが発行され、ＵＰ＿ＲＥＱがアサートされる。その後、ＭＥＭＣ１２１は、ＰｏｗｅｒＯＮ時の初期化の一つとしてＺＱＣＬコマンドを発行する。これにより、ＵＰ＿ＡＣＫがアサートされ、ＰＨＹ１２２のキャリブレーションが実行される。その後、２番目のＰＨＹ＿ＣＡＬが発行され、ＺＱＣＳコマンドによってＰＨＹキャリブレーションが実行される。
【００４２】
図５（ｂ）は、Ｕｐｄａｔｅ処理ブロック１２５の通常動作時の動作を説明するためのタイミングチャートである。
【００４３】
図示例では、ＰＨＹ１２２のキャリブレーション期間がＺＱＣＳコマンドの発行間隔よりも短い場合を示している。１番目のＰＨＹ＿ＣＡＬで最初のＰＨＹキャリブレーションのＵＰ＿ＲＥＱがアサートされる。その後、ＺＱＣＳコマンドによってＵＰ＿ＡＣＫがアサートされる。そして、２番目のＰＨＹ＿ＣＡＬでＵＰ＿ＲＥＱがアサートされるが、その後にＺＱＣＳコマンドが発行されない。３番目のＰＨＹ＿ＣＡＬが要求されるが、ＵＰ＿ＲＥＱはアサートされたままとなる。その後、ＺＱＣＳコマンドが発行され、ＵＰ＿ＡＣＫがアサートされる。
【００４４】
図５（ｃ）は、Ｕｐｄａｔｅ処理ブロック１２５のセルフリフレッシュ時の動作を説明するためのタイミングチャートである。
【００４５】
セルフリフレッシュ中は、ＰＨＹキャリブレーションを実行する必要がないので、ＵＰ＿ＲＥＱもＵＰ＿ＡＣＫもアサートされない。図５（ｃ）では、ＰＨＹ＿ＣＡＬによってＵＰ＿ＲＥＱがアサートされ、その後、ＭＥＭＣ１２１からセルフリフレッシュコマンドであるＳＲＥＦが発行される。
【００４６】
セルフリフレッシュに移行するシーケンスでは、ＣＰＵ１０１によって、ＰＨＹ１２２にアクセスし、ＰＨＹキャリブレーション実行のリセットが行われる。それによってＵＰ＿ＲＥＱがデアサートされる。その後、セルフリフレッシュから復帰するシーケンスを実行し、ＣＰＵ１０１によって、ＰＨＹ１２２にアクセスし、ＰＨＹキャリブレーションの実行のリセット解除が行われる。そして、セルフリフレッシュから復帰するコマンドであるＥＸＩＴがＭＥＭＣ１２１から発行される。その後の動作は図５（ｂ）に示す通常動作時と同様である。
【００４７】
図６は、図２におけるＤａｔａ変換ブロック１２４の概略構成を示すブロック図である。
【００４８】
Ｄａｔａ変換ブロック１２４は、ＤＦＩ２．０とＤＦＩ２．１のデータとイネーブル信号の変換を行うブロックである。
【００４９】
リードＤａｔａ変換ブロック６０１は、リードデータのＤＦＩバージョン違いによる変換を行うブロックである。ｒｄ＿ｌａｔ０は、リード（ｒｅａｄ）レイテンシのサイクル数が奇数なのか偶数なのかを示す信号であり、奇数か偶数かで動作が変更される。ここでのリードレイテンシとは、例えばメモリでＤＤＲ３ならば、Ｃａｓレイテンシ＋Ａｄｉｔｉｖｅレイテンシである。
【００５０】
ライトＤａｔａ変換ブロック６０２は、ライトデータのＤＦＩバージョン違いによる変換を行うブロックである。ｗｒ＿ｌａｔ０は、ライト（ｗｒｉｔｅ）レイテンシのサイクル数が奇数なのか偶数なのかを示す信号であり、奇数か偶数かで動作が変更される。ここでのライトレイテンシとは、例えばメモリでＤＤＲ３ならば、Ｃａｓ  ｗｒｉｔｅレイテンシ＋Ａｄｉｔｉｖｅレイテンシである。
【００５１】
図７（ａ）は、上述したリードレイテンシが偶数サイクルの場合のＤＦＩ−ＣＨ０からのリードコマンドイネーブル信号のタイミングチャートである。
【００５２】
ＭＥＭＣ１２１から出力されたｍｃ＿ｒｄｄｔａ＿ｅｎ０信号が入力されると、ｐｈｙ＿ｒｄｄａｔａ＿ｅｎ０とｐｈｙ＿ｒｄｄａｔａ＿ｅｎ１から同じタイミングで同じ幅のデータがＰＨＹ１２２に出力される。
【００５３】
図７（ｂ）は、リードレイテンシが偶数サイクルの場合のＤＦＩ−ＣＨ１からのリードコマンドイネーブル信号のタイミングチャートである。
【００５４】
ＭＥＭＣ１２１から出力されたｍｃ＿ｒｄｄｔａ＿ｅｎ１信号が入力されると、ｐｈｙ＿ｒｄｄａｔａ＿ｅｎ１から同じタイミングで同じ幅のデータがＰＨＹ１２２に出力される。一方、ｐｈｙ＿ｒｄｄａｔａ＿ｅｎ０から１ｃｙｃｌｅ遅らせたタイミングで同じ幅のデータがＰＨＹ１２２に出力される。
【００５５】
図８（ａ）は、リードレイテンシが奇数サイクルの場合のＤＦＩ−ＣＨ０からのリードコマンドイネーブル信号のタイミングチャートである。
【００５６】
ＭＥＭＣ１２１から出力されたｍｃ＿ｒｄｄｔａ＿ｅｎ０信号が入力されると、ｐｈｙ＿ｒｄｄａｔａ＿ｅｎ１から同じタイミングで同じ幅のデータがＰＨＹ１２２に出力される。一方、ｐｈｙ＿ｒｄｄａｔａ＿ｅｎ０を１ｃｙｃｌｅ遅らせたタイミングで同じ幅のデータがＰＨＹ１２２に出力される。
【００５７】
図８（ｂ）は、リードレイテンシが奇数サイクルの場合のＤＦＩ−ＣＨ１からのリードコマンドイネーブル信号のタイミングチャートである。
【００５８】
ＭＥＭＣ１２１から出力されたｍｃ＿ｒｄｄｔａ＿ｅｎ１信号が入力されると、ｐｈｙ＿ｒｄｄａｔａ＿ｅｎ０とｐｈｙ＿ｒｄｄａｔａ＿ｅｎ１から同じタイミングで同じ幅のデータがＰＨＹ１２２に出力される。
【００５９】
図９は、ＰＨＹ１２２からＭＥＭＣ１２１へのリードデータの変換に関して、リードデータｖａｌｉｄがＤＦＩ−ＣＨ０とＣＨ１で同相の場合のデータ信号のタイミングチャートである。
【００６０】
図示の場合は、リードＤａｔａ変換ブロック６０１は、ＰＨＹ１２２から出力されるｐｈｙ＿ｒｄｄａｔａ［６３：０］とｐｈｙ＿ｒｄｄａｔａ［１２７：６４］を同タイミングでｍｃ＿ｒｄｄａｔａ［６３：０］とｍｃ＿ｒｄｄａｔａ［１２７：６４］を出力する。
【００６１】
図１０は、ＰＨＹ１２２からＭＥＭＣ１２１へのリードデータの変換に関して、リードデータｖａｌｉｄがＤＦＩ−ＣＨ０とＣＨ０１で異相の場合のデータ信号のタイミングチャートである。
【００６２】
図示の場合は、リードＤａｔａ変換ブロック６０１は、ＰＨＹ１２２から出力されるｐｈｙ＿ｒｄｄａｔａｖａｌｉｄ１と同タイミングでｍｃ＿ｒｄｄａｔａ［６３：０］とｍｃ＿ｒｄｄａｔａ［１２７：６４］を出力する。つまり、ｐｈｙ＿ｒｄｄａｔａ［６３：０］を１ｃｙｃｌｅ遅らせた信号をｍｃ＿ｒｄｄａｔａ［６３：０］として出力する。このように、リードＤａｔａ変換ブロック６０１は、リードデータのＤＦＩ−Ｉ／ＦのチャンネルＣＨ０とＣＨ１のｖａｌｉｄ信号の位相差によって、リードｄａｔａ信号の取り込みタイミングを決定する。
【００６３】
図１１は、ＭＥＭＣ１２１からＰＨＹ１２２へのライトデータの変換に関して、ライトレイテンシが偶数サイクルの場合のＤＦＩ−ＣＨ０から出力するデータ信号のタイミングチャートである。
【００６４】
図示の場合は、ライトＤａｔａ変換ブロック６０２は、ｍｃ＿ｗｒｄａｔａ＿ｅｎ０の信号を同タイミングでｐｈｙ＿ｗｒｄａｔａ＿ｅｎ０とｐｈｙ＿ｗｒｄａｔａ＿ｅｎ１をＰＨＹ１２２へ出力する。同様に、ライトＤａｔａ変換ブロック６０２は、ｍｃ＿ｗｒｄａｔａ、ｍｃ＿ｗｒｄａｔａ＿ｍａｓｋ信号も同タイミングでｐｈｙ＿ｗｒｄａｔａ、ｐｈｙ＿ｗｒｄａｔａ＿ｍａｓｋをＰＨＹ１２２へ出力する。
【００６５】
図１２は、ＭＥＭＣ１２１からＰＨＹ１２２へのライトデータの変換に関して、ライトレイテンシが偶数サイクルの場合のＤＦＩ−ＣＨ１から出力するデータ信号のタイミングチャートである。
【００６６】
まず、ライトＤａｔａ変換ブロック６０２は、ｍｃ＿ｗｒｄａｔａ＿ｅｎ信号に関しては、ｍｃ＿ｗｒｄａｔａ＿ｅｎ１から出力される信号と同タイミングでｐｈｙ＿ｗｒｄａｔａ＿ｅｎ１を出力する。そして、ライトＤａｔａ変換ブロック６０２は、ｍｃ＿ｗｒｄａｔａ＿ｅｎ１から１ｃｙｃｌｅ遅らせたタイミングでｐｈｙ＿ｗｒｄａｔａ＿ｅｎ０を出力する。
【００６７】
次に、ライトＤａｔａ変換ブロック６０２は、ｍｃ＿ｗｒｄａｔａ［６３：０］とｍｃ＿ｗｒｄａｔａ＿ｍａｓｋ［７：０］から出力される信号と同タイミングでｐｈｙ＿ｗｒｄａｔａ［１２７：６４］とｍｃ＿ｗｒｄａｔａ＿ｍａｓｋ［１５：８］に出力する。また、ｍｃ＿ｗｒｄａｔａ［１２７：６４］とｍｃ＿ｗｒｄａｔａ＿ｍａｓｋ［１５：８］信号は、ｍｃ＿ｗｒｄａｔａ＿ｅｎ１から１ｃｙｃｌｅ遅らせたタイミングでｐｈｙ＿ｗｒｄａｔａ［６３：０］とｍｃ＿ｗｒｄａｔａ＿ｍａｓｋ［７：０］に出力する。つまり、ライトデータイネーブル信号は、ｍｃ＿ｗｒｄａｔａ＿ｅｎ１と同タイミングでｐｈｙ＿ｗｒｄａｔａ＿ｅｎ１が出力され、１ｃｙｌｅ遅らせたタイミングでｍｃ＿ｗｒｄａｔａ＿ｅｎ０が出力される。
【００６８】
また、データとマスク信号は、下位ｂｉｔ（０から６３）と上位ｂｉｔ（１２７から６４）の入れ替えが発生し、出力タイミングは、それぞれのｐｈｙ＿ｗｒｄａｔａ＿ｅｎ信号と同様のタイミングで出力される。
【００６９】
図１３は、ＭＥＭＣ１２１からＰＨＹ１２２へのライトデータの変換に関して、ライトレイテンシが奇数サイクルの場合のＤＦＩ−ＣＨ０から出力するデータ信号のタイミングチャートである。
【００７０】
図示の変換方法は、図１２のライトレイテンシが偶数でＣＨ１から出力する場合のタイミングチャートの説明で、ｍｃ＿ｗｒｄａｔａ＿ｅｎ１がｍｃ＿ｗｒｄａｔａ＿ｅｎ０に変わったのみであるので、その説明は割愛する。
【００７１】
図１４は、ＭＥＭＣ１２１からＰＨＹ１２２へのライトデータの変換に関して、ライトレイテンシが奇数サイクルの場合のＤＦＩ−ＣＨ１から出力するデータ信号のタイミングチャートである。
【００７２】
図示の変換方法は、図１１のライトレイテンシが偶数でＣＨ０から出力する場合のタイミングチャートの説明で、ｍｃ＿ｗｒｄａｔａ＿ｅｎ０がｍｃ＿ｗｒｄａｔａ＿ｅｎ１に変わったのみであるので、その説明は割愛する。
【００７３】
以上説明したように、Ｕｐｄａｔｅ処理ブロック１２５を実装することによって、Ｕｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅ信号のハンドシェイクを実現し、ＰＨＹキャリブレーションを実行することが可能となる。また、ＺＱＣＳ／ＺＱＣＬコマンドのタイミングでＰＨＹキャリブレーションを実施することで、パフォーマンス劣化が発生しない構成となる。また、ＤＦＩの規格バージョンのデータ不整合に対しても、Ｄａｔａ変換ブロック１２４によって、データ信号とイネーブル信号の変換を実行することが可能である。
【００７４】
［第２の実施形態］
第１の実施形態では、図５（ｃ）に示すように、セルフリフレッシュ中はＰＨＹキャリブレーションの実行のリセットが行われ、セルフリフレッシュから復帰する際に、ＰＨＹキャリブレーションの実行のリセット解除が行われる場合について説明した。
【００７５】
第２の実施形態では、セルフリフレッシュ中のＰＨＹキャリブレーションの実行要求に対して即実行させる方法について説明する。なお、第１の実施の形態と同様の部分については、同一の符号を用いてその説明を省略する。以下に、上記第１の実施の形態と異なる点のみを説明する。
【００７６】
図１５は、本発明の第２の実施形態におけるＵｐｄａｔｅ処理ブロック１２５のセルフリフレッシュ時の動作を説明するためのタイミングチャートである。
【００７７】
図１５の中で一番目のＰＨＹ＿ＣＡＬによってＵＰ＿ＲＥＱがアサートされ、その後、ＭＥＭＣ１２１からセルフリフレッシュコマンドであるＳＲＥＦが発行される。このＳＲＥＦコマンドをＵｐｄａｔｅ処理ブロック１２５が認識し、ＵＰ＿ＲＥＱがアサート中にＳＲＥＦコマンドを認識した場合にＵＰ＿ＡＣＫをアサートする。そして、ＤＲＡＭ１２３はセルフリフレッシュに入り、図１５の中で２番目のＰＨＹ＿ＣＡＬによって、ＵＰ＿ＲＥＱがアサートされる。そして、セルフリフレッシュ中は、ＵＰ＿ＲＥＱがアサートされると次サイクルでＵＰ＿ＡＣＫをアサートする動作を行う。そして、セルフリフレッシュから復帰するコマンドであるＥＸＩＴがＭＥＭＣ１２１から発行される。その後の動作は図５（ａ）の通常動作時の動作を行う。
【００７８】
以上説明したように、セルフリフレッシュ中はキャリブレーションの実行要求に対して即実行させることで、セルフリフレッシュのｅｎｔｅｒとｅｘｉｔでのＵｐｄａｔｅ  Ｉｎｔｅｒｆａｃｅ実行に対するソフト処理が不要となる。
【００７９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８０】
１００  ＭＦＰ
１０１  ＣＰＵ
１２０  メモリブロック
１２１  メモリコントローラ（ＭＥＭＣ）
１２２  ＰＨＹ
１２３  メモリデバイス（ＤＲＡＭ）
１２４  Ｄａｔａ変換ブロック
１２５  Ｕｐｄａｔｅ処理ブロック
【図１】
2015032241.tif 000003
【図２】
2015032241.tif 000004
【図３】
2015032241.tif 000005
【図４】
2015032241.tif 000006
【図５】
2015032241.tif 000007
【図６】
2015032241.tif 000008
【図７】
2015032241.tif 000009
【図８】
2015032241.tif 000010
【図９】
2015032241.tif 000011
【図１０】
2015032241.tif 000012
【図１１】
2015032241.tif 000013
【図１２】
2015032241.tif 000014
【図１３】
2015032241.tif 000015
【図１４】
2015032241.tif 000016
【図１５】
2015032241.tif 000017