図面 (/)

技術 信号制御回路、情報処理装置及び信号制御方法

出願人 富士通株式会社
発明者 水谷亮徳廣宣幸橋本通高
出願日 2013年10月31日 (7年0ヶ月経過) 出願番号 2013-227580
公開日 2015年5月7日 (5年6ヶ月経過) 公開番号 2015-088065
状態 特許登録済
技術分野 メモリシステム
主要キーワード 規定ビット数 位相前進 位相調整処理 判定論理 位相一致 データ取り込みタイミング ネガティブエッジ 位相判定回路
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2015年5月7日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (16)

課題

データ異常の発生を軽減する信号制御回路情報処理装置及び信号制御方法を提供する。

解決手段

EVEN成分選択部13及びODD成分選択部22は、DQS信号立上りを基にDQ信号から第1信号を取得し、DQS信号の立下りを基にDQ信号から第2信号を取得する。可変遅延付加部14及び23は、内部クロック信号とDQS信号の立上りとの位相差を基に第1信号に第1の遅延を与え、内部クロック信号とDQS信号の立下りとの位相差を基に前記第2信号に第2の遅延を与える。データ取込部15及び24は、内部クロック信号を基に、第1の遅延が与えられた第1信号及び前記第2の遅延が与えられた第2信号からデータを取り込む。

概要

背景

信号制御回路であるメモリコントローラは、例えば、Double Data Rate(DDR)3に代表されるDDRメモリインタフェース(Memory Interface)回路を有する。DDRメモリは、クロック信号ポジティブエッジネガティブエッジの双方でデータの入出力をし、クロック周波数の2倍のデータ転送レートデータ転送をするメモリである。

DDRメモリでは、メモリコントローラが、その内部で生成させた内部クロック信号をDual In-line Memory Module(DIMM)に送信する。

そして、メモリコントローラからのリード要求に応じて、DIMMはそのクロック信号からデータストローブDQS)信号を生成し、このDQS信号をデータ(DQ)信号とともにメモリインタフェース送出する。

メモリインタフェースは、これらDQS信号及びDQ信号を受信する。次に、メモリインタフェースは、受信したDQS信号に含まれる位相情報エッジ)を基に、最適なDQ信号の取り込みタイミングを決定する。そして、メモリコントローラは、決定したタイミングでDQ信号を取り込む。

DQS信号やDQ信号が経由する、メモリコントローラ、PrintedCircuit Board(PCB)、及びメモリ素子などの途中経路において発生する遅延は、温度や電源電圧などの装置動作環境により変化する。そのため、DQS信号及びDQ信号がメモリコントローラに到着するタイミングは、装置動作環境の変化により変動する。近年、データ転送速度が高速化しており、この遅延のばらつきの影響が大きくなってきている。そのため、信号の到着タイミングの変動に追従して最適なデータ取り込みタイミングを決定することが行われている。

さらに、近年のメモリインタフェースの高速化に伴い、DQ信号を読み込む際のタイミングマージン縮小している。そのため、DQ信号を読み込むタイミングの精度を向上させることが好ましい。

なお、データを適切なタイミングで読み込むために、0と1の出現確率を考慮して、データ信号位相のずれ、立上り及び立下りを基に、デューティサイクルを調整する従来技術がある。

信号の立上り用の遅延量と立下り用の遅延量とを保持させ、立上りと立下りに異なる遅延量を与える従来技術がある。

概要

データ異常の発生を軽減する信号制御回路、情報処理装置及び信号制御方法を提供する。EVEN成分選択部13及びODD成分選択部22は、DQS信号の立上りを基にDQ信号から第1信号を取得し、DQS信号の立下りを基にDQ信号から第2信号を取得する。可変遅延付加部14及び23は、内部クロック信号とDQS信号の立上りとの位相差を基に第1信号に第1の遅延を与え、内部クロック信号とDQS信号の立下りとの位相差を基に前記第2信号に第2の遅延を与える。データ取込部15及び24は、内部クロック信号を基に、第1の遅延が与えられた第1信号及び前記第2の遅延が与えられた第2信号からデータを取り込む。

目的

開示の技術は、上記に鑑みてなされたものであって、データ異常の発生を軽減する信号制御回路、情報処理装置及び信号制御方法を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

参照信号立上りを基にデータ信号から第1信号を取得し、前記参照信号の立下りを基に前記データ信号から第2信号を取得する取得部と、基準信号と前記参照信号の立上りとの位相差を基に前記第1信号に第1の遅延を与え、前記基準信号と前記参照信号の立下りとの位相差を基に前記第2信号に第2の遅延を与える遅延付加部と、前記基準信号を基に、前記第1の遅延が与えられた前記第1信号及び前記第2の遅延が与えられた前記第2信号からデータを取り込むデータ取込部とを備えたことを特徴とする信号制御回路

請求項2

前記遅延付加部は、前記基準信号と前記参照信号の立上りとの位相差を検出する第1位相差検出部と、前記第1位相差検出部により検出された位相差を基に前記第1信号に第1の遅延を与える第1遅延付加部と、前記第1位相差検出部による位相差の検出と並行して、前記基準信号と前記参照信号の立下りとの位相差を検出する第2位相差検出部と、前記第2位相差検出部により検出された位相差を基に前記第2信号に第2の遅延を与える第2遅延付加部とを備えたことを特徴とする請求項1に記載の信号制御回路。

請求項3

前記遅延付加部は、前記基準信号と前記参照信号の立上りとの位相差の検出と、前記基準信号と前記参照信号の立下りの位相差を検出とを所定のタイミングで切り替えて行う切替位相差検出部と、前記切替位相差検出部により検出された位相差を基に前記第1信号に第1の遅延を与える第1遅延付加部と、前記切替位相差検出部により検出された位相差を基に前記第2信号に第2の遅延を与える第2遅延付加部と、を備えたことを特徴とする請求項1に記載の信号制御回路。

請求項4

演算部及びメモリコントローラを有する情報処理装置であって、前記メモリコントローラは、参照信号の立上りを基にデータ信号から第1信号を取得し、前記参照信号の立下りを基に前記データ信号から第2信号を取得する取得部と、基準信号と前記参照信号の立上りとの位相差を基に前記第1信号に第1の遅延を与え、前記基準信号と前記参照信号の立下りとの位相差を基に前記第2信号に第2の遅延を与える遅延付加部と、前記基準信号を基に、前記第1の遅延が与えられた前記第1信号及び前記第2の遅延が与えられた前記第2信号からデータを取り込むデータ取込部とを備え、前記演算部は、前記データ取込部により取り込まれた前記データを用いて演算を行うことを特徴とする情報処理装置。

請求項5

参照信号の立上りを基にデータ信号から第1信号を取得し、前記参照信号の立下りを基に前記データ信号から第2信号を取得し、基準信号と参照信号の立上りとの位相差を基に前記第1信号に第1の遅延を与え、前記基準信号と前記参照信号の立下りとの位相差を基に前記第2信号に第2の遅延を与え、前記基準信号を基に、前記第1の遅延が与えられた前記第1信号及び前記第2の遅延が与えられた前記第2信号からデータを取り込むことを特徴とする信号制御方法

技術分野

0001

本発明は、信号制御回路情報処理装置及び信号制御方法に関する。

背景技術

0002

信号制御回路であるメモリコントローラは、例えば、Double Data Rate(DDR)3に代表されるDDRメモリインタフェース(Memory Interface)回路を有する。DDRメモリは、クロック信号ポジティブエッジネガティブエッジの双方でデータの入出力をし、クロック周波数の2倍のデータ転送レートデータ転送をするメモリである。

0003

DDRメモリでは、メモリコントローラが、その内部で生成させた内部クロック信号をDual In-line Memory Module(DIMM)に送信する。

0004

そして、メモリコントローラからのリード要求に応じて、DIMMはそのクロック信号からデータストローブDQS)信号を生成し、このDQS信号をデータ(DQ)信号とともにメモリインタフェース送出する。

0005

メモリインタフェースは、これらDQS信号及びDQ信号を受信する。次に、メモリインタフェースは、受信したDQS信号に含まれる位相情報エッジ)を基に、最適なDQ信号の取り込みタイミングを決定する。そして、メモリコントローラは、決定したタイミングでDQ信号を取り込む。

0006

DQS信号やDQ信号が経由する、メモリコントローラ、PrintedCircuit Board(PCB)、及びメモリ素子などの途中経路において発生する遅延は、温度や電源電圧などの装置動作環境により変化する。そのため、DQS信号及びDQ信号がメモリコントローラに到着するタイミングは、装置動作環境の変化により変動する。近年、データ転送速度が高速化しており、この遅延のばらつきの影響が大きくなってきている。そのため、信号の到着タイミングの変動に追従して最適なデータ取り込みタイミングを決定することが行われている。

0007

さらに、近年のメモリインタフェースの高速化に伴い、DQ信号を読み込む際のタイミングマージン縮小している。そのため、DQ信号を読み込むタイミングの精度を向上させることが好ましい。

0008

なお、データを適切なタイミングで読み込むために、0と1の出現確率を考慮して、データ信号位相のずれ、立上り及び立下りを基に、デューティサイクルを調整する従来技術がある。

0009

信号の立上り用の遅延量と立下り用の遅延量とを保持させ、立上りと立下りに異なる遅延量を与える従来技術がある。

先行技術

0010

特開2009−232366号公報
特開2007−228044号公報

発明が解決しようとする課題

0011

しかしながら、DQS信号は、メモリコントローラ内部の電圧からメモリコントローラ外部での電圧へ変換するレベルコンバータ伝送路上でデューティ劣化が発生するおそれがある。ここで、DDRメモリでは、DQS信号の立上りと立下りの両エッジでDQ信号を取り込む。この時、DQS信号にデューティ劣化が発生していると、DQ信号の取込みにおけるタイミングマージンが減少してしまう。それにより、DDRメモリがDQ信号を正確に取り込めず、データ異常が発生するおそれがある。

0012

この点、0と1の出現確率を考慮してデューティサイクルを調整する従来技術を用いても、デューティ劣化した場合、DQS信号の立上り又は立下りにおけるデータの取り込みを正確に行うことは困難である。

0013

また、異なる遅延量により立上りにおける遅延と立下りにおける遅延を異ならせる従来技術を用いても、デューティ劣化が変化した場合には、DQS信号の立上り又は立下りにおけるデータの取り込みを正確に行うことは困難である。

0014

開示の技術は、上記に鑑みてなされたものであって、データ異常の発生を軽減する信号制御回路、情報処理装置及び信号制御方法を提供することを目的とする。

課題を解決するための手段

0015

本願の開示する信号制御回路、情報処理装置及び信号制御方法は、一つの態様において、取得部は、参照信号の立上りを基にデータ信号から第1信号を取得し、前記参照信号の立下りを基に前記データ信号から第2信号を取得する。遅延付加部は、基準信号と前記参照信号の立上りとの位相差を基に前記第1信号に第1の遅延を与え、前記基準信号と前記参照信号の立下りとの位相差を基に前記第2信号に第2の遅延を与える。データ取込部は、前記基準信号を基に、前記第1の遅延が与えられた前記第1信号及び前記第2の遅延が与えられた前記第2信号からデータを取り込む。

発明の効果

0016

本願の開示する信号制御回路、情報処理装置及び信号制御方法の一つの態様によれば、データ異常の発生を軽減することができるという効果を奏する。

図面の簡単な説明

0017

図1は、情報処理装置の概略構成図である。
図2は、実施例1に係るメモリインタフェース回路及び情報処理装置のブロック図である。
図3は、立上用先行信号及び立上用後行信号の位相情報の取得を表す図である。
図4は、位置判定テーブルの一例の図である。
図5は、立下用先行信号及び立下用後行信号の位相情報の取得を表す図である。
図6は、実施例1に係るメモリコントローラによるデータの取り込み処理フローチャートである。
図7は、DQS信号の位相が進んでいる場合の位相調整処理タイミングチャートである。
図8は、DQS信号の位相が遅れている場合の位相調整処理のタイミングチャートである。
図9は、デューティが劣化していない状態での各信号のタイミングを表す図である。
図10は、デューティ劣化時に立上りのタイミングのみで位相調整を行った場合の各信号のタイミングを表す図である。
図11は、実施例1に係るメモリインタフェース回路を使用した場合のDuty劣化時の各信号のタイミングを表す図である。
図12は、実施例2に係るメモリインタフェース回路及び情報処理装置のブロック図である。
図13は、実施例2に係る位相判定部の詳細を表すブロック図である。
図14は、実施例2に係る位相判定部による立下りの位相判定を説明するための図である。
図15は、実施例2に係るメモリコントローラによるデータの取り込み処理のフローチャートである。

0018

以下に、本願の開示する信号制御回路、情報処理装置及び信号制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する信号制御回路、情報処理装置及び信号制御方法が限定されるものではない。

0019

図1は、情報処理装置の概略構成図である。本実施例に係る情報処理装置は、チップセット100、Dual Inline Memory Module(DIMM)2、及びCentral Processing Unit(CPU)3を有する。

0020

チップセット100は、メモリコントローラ10を搭載する。そして、メモリコントローラ10は、メモリインタフェース回路1を有する。

0021

DIMM2は、記憶媒体であるDRAM(Dynamic Random Access Memory)を有する記憶装置である。DIMM2は、データのリード要求及びクロック信号(CLK)を後述するメモリインタフェース回路1から受信する。そして、DIMM2は、受信したクロック信号(CLK)からデータストローブ(DQS)信号を生成する。そして、DIMM2は、DQS信号をデータ(DQ)信号とともにメモリインタフェース回路1へ送信する。

0022

CPU3は、DIMM2からデータを読み出す命令であるリード要求のコマンドをチップセット100上のメモリコントローラ10へ送信する。そして、CPU3は、リード要求で指定したデータをメモリコントローラ10から受信する。その後、CPU3の演算処理部31は、受信したデータに対して処理を実行する。

0023

メモリコントローラ10は、リード要求のコマンドをCPU3から受信する。そして、メモリコントローラ10は、内部クロック信号を生成し、生成した内部クロック信号とともにリード要求をメモリインタフェース回路1に対して送信する。その後、メモリコントローラ10は、メモリインタフェース回路1が取り込んだデータを取得する。そして、メモリコントローラ10は、取得したデータをCPU3へ送信する。

0024

メモリインタフェース回路1は、リード要求をメモリコントローラ10から受信する。さらに、メモリインタフェース回路1は、内部クロック信号をメモリコントローラ10から受信する。そして、メモリインタフェース回路1は、リード要求とともにクロックCK)信号をDIMM2へ送信する。

0025

その後、メモリインタフェース回路1は、データストローブ(DQS)信号及びデータ(DQ)信号を受信する。このDQS信号が、「参照信号」の一例にあたる。

0026

次に、メモリインタフェース回路1は、DQS信号に遅延を与えて内部クロック信号との同期をとる。この内部クロック信号が、「基準信号」の一例にあたる。

0027

具体的には、メモリインタフェース回路1は、DQS信号の立上りとDQS信号に固定遅延を与えた信号の立上りが内部クロック信号の立下りの前後にくるように、DQS信号に遅延を与える。これにより、メモリインタフェース回路1は、DQS信号の立上りの位相と内部クロック信号の位相とを一致させる遅延量を求める。この遅延量を「立上り側遅延量」という。また、メモリインタフェース回路1は、DQS信号の立下りとDQS信号に固定遅延を与えた信号の立下りが内部クロック信号の立下りの前後にくるように、DQS信号に遅延を与える。これにより、メモリインタフェース回路1は、DQS信号の立下りの位相と内部クロック信号の位相とを一致させる遅延量を求める。この遅延量を「立下り側遅延量」という。

0028

ここで、メモリインタフェース回路1は、DQ信号をDQS信号の立上りのタイミングと立下りのタイミングの2つのタイミングで取り込む。すなわち、DQ信号には、DQS信号の立上りのタイミングで取り込まれる信号成分と、DQS信号の立下りのタイミングで取り込まれる信号成分とを有する。そして、DQS信号の立上りと立下りは交互に到来するので、DQS信号の立上りのタイミングで取り込まれる信号成分とDQS信号の立下りのタイミングで取り込まれる信号成分とは、DQ信号において交互に繰り返されることになる。すなわち、これらの信号成分の一方をDQ信号の偶数番目のデータとすると他方は奇数番目のデータとなる。そこで、以下では、説明の都合上、DQS信号の立上りのタイミングで取り込まれる信号成分を、偶数番目のデータとして「EVEN成分」といい、DQS信号の立下りのタイミングで取り込まれる信号成分を、奇数番目のデータとして「ODD成分」という。

0029

そして、メモリインタフェース回路1は、DQ信号のEVEN成分に立上り側遅延量を与える。そして、内部クロック信号を用いて、立上り側遅延量を与えたDQ信号のEVEN成分からデータを取り込む。また、メモリインタフェース回路1は、DQ信号のODD成分に立下り側遅延量を与える。そして、内部クロック信号を用いて、立下り側遅延量を与えたDQ信号のODD成分からデータを取り込む。その後、メモリインタフェース回路1は、取り込んだデータをCPU3へ送信する。このように、DQS信号のクロック取り扱われるデータを、内部クロックで取り扱えるデータへ変換することを、「クロックドメインチェンジ」と呼ぶことがある。

0030

図2を参照して、本実施例に係るメモリインタフェース回路1の詳細を説明する。図2は、実施例1に係るメモリインタフェース回路及び情報処理装置のブロック図である。図2では、クロックドメインチェンジの機能について説明するため、例えば、DIMM2へのクロック(CLK)信号の送信などの機能については省略してある。

0031

図2に示すように、本実施例に係るメモリインタフェース回路1は、立上側位比較回路11、EVEN成分選択部13、可変遅延付加部14及びデータ取込部15を有する。また、メモリインタフェース回路1は、立下側位相比較回路12、位相反転部21、ODD成分選択部22、可変遅延付加部23及びデータ取込部24を有する。

0032

立上側位相比較回路11は、内部クロック信号の立下りとDQS信号の立上りのタイミングを合わせるための遅延量を求める回路である。以下に、立上側位相比較回路11の詳細について説明する。

0033

立上側位相比較回路11は、可変遅延付加部111、固定遅延付加部112、ラッチ113、位相判定部114及び可変遅延制御部115を有する。この立上側位相比較回路11が、「第1位相差検出部」の一例にあたる。

0034

可変遅延付加部111は、DQS信号をDIMM2から受信する。また、可変遅延付加部111は、DQS信号に与える遅延量を指定する可変遅延設定値を可変遅延制御部115から受ける。そして、可変遅延付加部111は、可変遅延設定値で指定されるステップ数分の遅延量をDQS信号に与える。ここで、ステップとは、予め決められた遅延量をDQS信号に与える単位である。すなわち、可変遅延付加部111は、可変遅延制御部115から受信したステップ数に予め決められた遅延量を乗算した値を遅延量としてDQS信号に与える。以下では、可変遅延付加部111が与える遅延量を「立上用可変遅延量」という。そして、可変遅延付加部111は、立上用可変遅延量を与えたDQS信号をラッチ113及び固定遅延付加部112へ出力する。

0035

固定遅延付加部112は、立上用可変遅延量が与えられたDQS信号の入力を可変遅延付加部111から受ける。そして、固定遅延付加部112は、立上用可変遅延量が与えられたDQS信号に予め決められた遅延量を与える。以下では、固定遅延付加部112が与える遅延量を「立上用固定遅延量」という。その後、固定遅延付加部112は、立上用可変遅延量及び立上用固定遅延量が付加されたDQS信号をラッチ113へ出力する。

0036

ラッチ113は、立上用可変遅延量が与えられたDQS信号の入力を可変遅延付加部111から受ける。また、ラッチ113は、立上用可変遅延量及び立上用固定遅延量が付加されたDQS信号の入力を固定遅延付加部112から受ける。以下では、可変遅延付加部111から出力された信号を「立上用先行信号」と呼び、固定遅延付加部112から出力された信号を「立上用後行信号」と呼ぶ。

0037

また、ラッチ113は、内部クロック信号の入力をクロック発生部40から受ける。さらに、ラッチ113は、立上用インヒビット(Inhibit:IH)信号の入力を可変遅延制御部115から受ける。

0038

ラッチ113は、立上用IH信号がLowの場合、内部クロック信号の立下りのタイミングで立上用先行信号及び立上用後行信号の位相情報を取り込む。本実施例では、ラッチ113は、立上用IH信号がHighレベルの場合、位相情報を「1」として取り込み、立上用IH信号がLowレベルの場合、位相情報を「0」として取り込む。例えば、内部クロック信号が立下りのタイミングで、立上用先行信号がHighで、立上用後行信号がLowの場合、立上用先行信号の位相情報として「1」を取り込み、立上用後行信号の位相情報として「0」を取り込む。

0039

ここで、図3を参照して、ラッチ113による位相情報の取得について説明する。図3は、立上用先行信号及び立上用後行信号の位相情報の取得を表す図である。図3の1番上のグラフが内部クロック信号を表す。また、上から2番目のグラフが立上用IH信号を表す。そして、図3におけるグラフ(a)及びグラフ(b)のグラフ対201〜204において、グラフ(a)が立上用先行信号を表し、グラフ(b)が立上用後行信号を表す。グラフ対201〜204は、それぞれ立上用先行信号及び立上用後行信号の組の位相の状態が異なる場合を示している。

0040

ラッチ113は、IH信号がLowの状態で内部クロック信号の立下りのタイミングで立上用先行信号及び立上用後行信号の値を取得する。すなわち、ラッチ113は、タイミング205で立上用先行信号及び立上用後行信号の値を取得する。

0041

グラフ対201の場合、立上用先行信号及び立上用後行信号のいずれもHighであり、ラッチ113は、位相情報としていずれも「1」を取得する。また、グラフ対202の場合、立上用先行信号はHighであり、立上用後行信号はLowである。すなわち、ラッチ113は、立上用先行信号の位相情報として「1」を取得し、立上用後行信号の位相情報として「0」を取得する。また、グラフ対203の場合、立上用先行信号及び立上用後行信号のいずれもLowであり、ラッチ113は、位相情報としていずれも「0」を取得する。また、グラフ対204の場合、立上用先行信号はLowであり、立上用後行信号はHighである。すなわち、ラッチ113は、立上用先行信号の位相情報として「0」を取得し、立上用後行信号の位相情報として「1」を取得する。

0042

そして、ラッチ113は、立上用先行信号及び立上用後行信号の位相情報を位相判定部114へ出力する。

0043

位相判定部114は、位相情報の組み合わせに対応する位相状態を記憶している。例えば、位相判定部114は、図4で表される判定テーブル210を記憶している。図4は、位置判定テーブルの一例の図である。図4では、位相情報を2ビットの情報で示す。位相情報は、2ビットのうち、上位ビットが立上用後行信号の値を表し、下位ビットが立上用先行信号の値を表す。

0044

位相判定部114は、立上用先行信号及び立上用後行信号の位相情報の入力をラッチ113から受ける。そして、位相判定部114は、受信した位相情報の組み合わせに対応する位相状態を判定テーブル210から取得する。その後、位相判定部114は、取得した位相状態を可変遅延制御部115へ出力する。以下では、DQS信号の位相が内部クロック信号の位相に比べて遅れている位相状態を、「位相遅延状態」という。また、DQS信号の位相がクロック信号の位相に比べて進んでいる位相状態を、「位相前進状態」という。また、DQS信号の位相とクロック信号の位相とが一致している位相状態を、「位相一致状態」という。さらに、DQS信号の位相とクロック信号の位相とが本来発生しないはずの異常状態となっている状態を「位相異常状態」という。

0045

可変遅延制御部115は、位相状態の入力を位相判定部114から受ける。そして、可変遅延制御部115は、位相遅延状態の場合、DQS信号の位相を1ステップ分前進させる可変遅延設定値を求める。すなわち、可変遅延制御部115は、可変遅延付加部111へ通知したステップ数から1を減算したステップ数を可変遅延設定値とする。そして、可変遅延制御部115は、求めた可変遅延設定値を可変遅延付加部111へ送信する。

0046

また、可変遅延制御部115は、位相前進状態の場合、現在のDQS信号の位相からさらに予め決められた1ステップ分遅らせる可変遅延設定値を求める。すなわち、可変遅延制御部115は、可変遅延付加部111へ通知したステップ数に1を加算したステップ数を可変遅延設定値とする。そして、可変遅延制御部115は、求めた可変遅延設定値を可変遅延付加部111へ送信する。

0047

また、可変遅延制御部115は、位相一致状態の場合、可変遅延設定値を保持する指示を可変遅延付加部111へ送信する。

0048

これに対して、位相状態が位相異常状態の場合、可変遅延制御部115は、DQS信号の位相の調整を行わない。

0049

さらに、可変遅延制御部115は、立上用先行信号及び立上用後行信号の位相情報からIH信号を生成する。そして、可変遅延制御部115は、立上用IH信号をラッチ113へ出力する。

0050

EVEN成分選択部13は、DQ信号の入力をDIMM2から受ける。さらに、EVEN成分選択部13は、DQS信号の入力をDIMM2から受ける。

0051

そして、EVEN成分選択部13は、DQS信号の立上りのタイミングでDQ信号からEVEN成分を取得する。その後、EVEN成分選択部13は、取得したDQ信号のEVEN成分を可変遅延付加部14へ出力する。このEVEN成分選択部13が、「取得部」の一例にあたる。

0052

可変遅延付加部14は、位相一致状態とするための立上用可変遅延量を可変遅延付加部111から取得する。

0053

また、可変遅延付加部14は、DQ信号のEVEN成分の入力をEVEN成分選択部13から受ける。

0054

そして、可変遅延付加部14は、一致した位相状態となる立上用可変遅延量である立上り側遅延量をDQ信号のEVEN成分に付加する。その後、可変遅延付加部14は、立上り側遅延量を付加したDQ信号のEVEN成分をデータ取込部15へ送信する。この可変遅延付加部14が、「第1遅延付加部」の一例にあたる。また、立上り側遅延量が、「第1の遅延」にあたる。

0055

データ取込部15は、立上り側遅延量が付加されたDQ信号のEVEN成分の入力を可変遅延付加部14から受ける。また、データ取込部15は、可変遅延制御部115からIH信号の入力を受ける。さらに、データ取込部15は、クロック発生部40から内部クロック信号の入力を受ける。

0056

そして、データ取込部15は、立上用IH信号がLowになっている間の内部クロック信号の立下りのタイミングで、DQ信号のEVEN成分からデータを取り込む。その後、データ取込部15は、DQ信号のEVEN成分から取り込んだデータをCPU3へ出力する。

0057

次に、立下り側の位相調整について説明する。位相反転部21は、DQS信号の入力をDIMM2から受ける。次に、位相反転部21は、受信したDQS信号の位相を反転させる。そして、位相反転部21は、位相を反転させたDQS信号を可変遅延付加部121及びODD成分選択部22へ出力する。以下では、位相が反転したDQS信号を「反転DQS信号」という。

0058

立下側位相比較回路12は、内部クロック信号の立下りとDQS信号の立下りのタイミングを合わせるための遅延量を求める回路である。以下に、立下側位相比較回路12の詳細について説明する。

0059

立下側位相比較回路12は、可変遅延付加部121、固定遅延付加部122、ラッチ123、位相判定部124、可変遅延制御部125及び位相反転部126を有する。この立下側位相比較回路12が、「第2位相差検出部」の一例にあたる。

0060

可変遅延付加部121は、反転DQS信号を位相反転部21から受信する。また、可変遅延付加部121は、反転DQS信号に与える遅延量を指定する可変遅延設定値を可変遅延制御部125から受ける。そして、可変遅延付加部121は、可変遅延設定値で指定されるステップ数分の遅延量を反転DQS信号に与える。以下では、可変遅延付加部121が与える遅延量を「立下用可変遅延量」という。そして、可変遅延付加部121は、立下用可変遅延量を与えた反転DQS信号をラッチ123及び固定遅延付加部122へ出力する。

0061

固定遅延付加部122は、立下用可変遅延量が与えられた反転DQS信号の入力を可変遅延付加部121から受ける。そして、固定遅延付加部122は、立下用可変遅延量が与えられた反転DQS信号に予め決められた遅延量を与える。以下では、固定遅延付加部122が与える遅延量を「立下用固定遅延量」という。その後、固定遅延付加部122は、立下用可変遅延量及び立下用固定遅延量が付加された反転DQS信号をラッチ123へ出力する。

0062

ラッチ123は、立下用可変遅延量が与えられた反転DQS信号の入力を可変遅延付加部121から受ける。また、ラッチ123は、立下用可変遅延量及び立下用固定遅延量が付加された反転DQS信号の入力を固定遅延付加部122から受ける。以下では、可変遅延付加部121から出力された信号を「立下用先行信号」と呼び、固定遅延付加部122から出力された信号を「立下用後行信号」と呼ぶ。

0063

また、ラッチ123は、内部クロック信号の入力をクロック発生部40から受ける。さらに、ラッチ123は、立下用IH信号の入力を位相反転部126から受ける。立下用IH信号は、後述する可変遅延制御部125が出力する立上用IH信号の位相を反転した信号である。

0064

ラッチ123は、立下用IH信号がLowの場合、内部クロック信号の立下りのタイミングで立下用先行信号及び立下用後行信号の位相情報を取り込む。本実施例では、ラッチ123は、信号がHighレベルの場合、位相情報を「1」として取り込み、立下用IH信号がLowレベルの場合、位相情報を「0」として取り込む。例えば、内部クロック信号が立下りのタイミングで、立下用先行信号がHighで、立下用後行信号がLowの場合、立下用先行信号の位相情報として「1」を取り込み、立下用後行信号の位相情報として「0」を取り込む。

0065

ここで、ラッチ123が用いる反転DQS信号の位相はラッチ113で用いるDQS信号の位相を反転させたものである。そして、後述するように、ラッチ123が用いる立下用IH信号は、可変遅延制御部125が生成したIH信号の位相を反転させたものである。すなわち、ラッチ123は、立下用IH信号がLowの状態における内部クロック信号の立下りのタイミングで反転DQS信号の立上りの位相状態を取得することで、DQS信号の立下りの位相状態を取得することができる。

0066

ここで、図5を参照して、ラッチ123による位相情報の取得について説明する。図5は、立下用先行信号及び立下用後行信号の位相情報の取得を表す図である。図5の1番上のグラフが内部クロック信号を表す。また、上から2番目のグラフが立下用IH信号を表す。そして、図5におけるグラフ(c)及びグラフ(d)のグラフ対221〜224において、グラフ(c)が立下用先行信号を表し、グラフ(d)が立下用後行信号を表す。グラフ対221〜224は、それぞれ立下用先行信号及び立下用後行信号の組の位相の状態が異なる場合を示している。

0067

ラッチ123は、IH信号がLowの状態で内部クロック信号の立下りのタイミングで立下用先行信号及び立下用後行信号の値を取得する。すなわち、ラッチ123は、タイミング225で立下用先行信号及び立下用後行信号の値を取得する。

0068

グラフ対221の場合、立下用先行信号及び立下用後行信号のいずれもHighであり、ラッチ123は、位相情報としていずれも「1」を取得する。また、グラフ対222の場合、立下用先行信号はHighであり、立下用後行信号はLowである。すなわち、ラッチ123は、立下用先行信号の位相情報として「1」を取得し、立下用後行信号の位相情報として「0」を取得する。また、グラフ対223の場合、立下用先行信号及び立下用後行信号のいずれもLowであり、ラッチ123は、位相情報としていずれも「0」を取得する。また、グラフ対224の場合、立下用先行信号はLowであり、立下用後行信号はHighである。すなわち、ラッチ123は、立下用先行信号の位相情報として「0」を取得し、立下用後行信号の位相情報として「1」を取得する。

0069

そして、ラッチ123は、立下用先行信号及び立下用後行信号の位相情報を位相判定部124へ出力する。

0070

位相判定部124は、位相情報の組み合わせに対応する位相状態を記憶している。例えば、位相判定部124も、図4の判定テーブル210を記憶している。上述したように反転DQS信号の位相はDQS信号の位相を反転させたものであり、立下用IH信号は可変遅延制御部125が生成した立上用IH信号の位相を反転させたものである。そのため、位相判定部124は、立下用先行信号及び立下用後行信号の位相情報を用いた判定論理として位相判定部114が用いる判定論理と同様となる。このように、判定論理を一致させることで回路設計時間を短縮することができる。

0071

ただし、DQS信号の位相の反転や立上用IH信号の位相の反転を行わずに、位相判定部124における立下り用の判定論理として、立上り用の判定論理と異なる位相判定テーブルを用いることで、同様の動作が可能である。例えば、立下り用の位相判定テーブルは、立下用先行信号及び立下用後行信号の位相信号を並べた2ビットの位相情報が、「00」の場合に「位相前進状態」、「10」の場合に「位相一致状態」、「11」の場合に「位相遅延状態」、「01」の場合に「位相異常状態」となる判定論理を有するテーブルである。

0072

位相判定部124は、立下用先行信号及び立下用後行信号の位相情報の入力をラッチ123から受ける。そして、位相判定部124は、受信した位相情報の組み合わせに対応する位相状態を判定テーブル210から取得する。その後、位相判定部124は、取得した位相状態を可変遅延制御部125へ出力する。

0073

可変遅延制御部125は、位相状態の入力を位相判定部124から受ける。そして、可変遅延制御部125は、位相遅延状態の場合、反転DQS信号の位相を1ステップ分前進させる可変遅延設定値を求める。すなわち、可変遅延制御部125は、可変遅延付加部121へ通知したステップ数から1を減算したステップ数を可変遅延設定値とする。そして、可変遅延制御部125は、求めた可変遅延設定値を可変遅延付加部121へ送信する。

0074

また、可変遅延制御部125は、位相前進状態の場合、現在の反転DQS信号の位相からさらに1ステップ分遅延させる可変遅延設定値を求める。すなわち、可変遅延制御部125は、可変遅延付加部121へ通知したステップ数に1を加算したステップ数を可変遅延設定値とする。そして、可変遅延制御部125は、求めた可変遅延設定値を可変遅延付加部121へ送信する。

0075

また、可変遅延制御部125は、位相一致状態の場合、可変遅延設定値を保持する指示を可変遅延付加部121へ送信する。

0076

これに対して、位相状態が位相異常状態の場合、可変遅延制御部125は、反転DQS信号の位相の調整を行わない。

0077

さらに、可変遅延制御部125は、立下用先行信号及び立下用後行信号の位相情報からIH信号を生成する。そして、可変遅延制御部125は、IH信号を位相反転部126へ出力する。

0078

位相反転部126は、立下用IH信号の入力を可変遅延制御部125から受ける。そして、位相反転部126は、受信した立下用IH信号の位相を反転させる。そして、位相反転部126は、位相を反転させた立下用IH信号をラッチ123及びデータ取込部24へ出力する。

0079

ODD成分選択部22は、DQ信号の入力をDIMM2から受ける。さらに、ODD成分選択部22は、反転DQS信号の入力を位相反転部21から受ける。

0080

そして、ODD成分選択部22は、反転DQS信号の立上りのタイミングでDQ信号のODD成分を取得する。その後、ODD成分選択部22は、取得したDQ信号のODD成分を可変遅延付加部23へ出力する。このODD成分選択部22が、「取得部」の一例にあたる。

0081

可変遅延付加部23は、反転DQS信号の立上りの位相と内部クロック信号の立下りの位相とが一致した位相状態となる立下用可変遅延量である立下り側遅延量を可変遅延付加部121から取得する。言い換えれば、可変遅延付加部23は、DQS信号の立下りの位相と内部クロック信号の立下りの位相とが一致した位相状態となるような立下用可変遅延量を可変遅延付加部121から取得する。以下では、DQS信号の立下りの位相と内部クロック信号の立下りの位相とが一致した位相状態を「位相一致状態」として説明する。

0082

また、可変遅延付加部23は、DQ信号のODD成分の入力をODD成分選択部22から受ける。

0083

そして、可変遅延付加部23は、立下り側遅延量をDQ信号のODD成分に付加する。その後、可変遅延付加部23は、立下り側遅延量を付加したDQ信号のODD成分をデータ取込部24へ送信する。この可変遅延付加部23が、「第2遅延付加部」の一例にあたる。また、立下り側遅延量が、「第2の遅延」の一例にあたる。

0084

データ取込部24は、立下り側遅延量が付加されたDQ信号のODD成分の入力を可変遅延付加部23から受ける。また、データ取込部24は、位相反転部126から反転IH信号の入力を受ける。さらに、データ取込部24は、クロック発生部40から内部クロック信号の入力を受ける。

0085

そして、データ取込部24は、立下用IH信号がLowになっている間の内部クロック信号の立下りのタイミングで、DQ信号のODD成分からデータを取り込む。その後、データ取込部24は、DQ信号のODD成分から取り込んだデータをCPU3へ出力する。

0086

次に、図6を参照して、本実施例に係るメモリコントローラ10によるデータの取り込み処理の全体的な流れについて説明する。図6は、実施例1に係るメモリコントローラによるデータの取り込み処理のフローチャートである。図6のフローチャートにおいて、ステップS1〜S4、S9がDQS信号の立上りを用いたデータの取り込み処理である。一方、ステップS5〜S9がDQS信号の立下りを用いたデータの取り込み処理である。図6に示すフローチャートでは、ステップS1〜S4、S9及びステップS5〜S9それぞれの処理が並行して行われることを示している。

0087

ラッチ113は、立上用先行信号及び立上用後行信号の入力を可変遅延付加部111及び固定遅延付加部112から受ける。そして、ラッチ113は、立上用先行信号及び立上用後行信号それぞれの位相状態を取得する。その後、ラッチ113は、立上用先行信号及び立上用後行信号それぞれの位相状態を位相判定部114へ出力する。位相判定部114は、ラッチ113から受信した立上用先行信号及び立上用後行信号それぞれの位相状態から、DQS信号の立上りの位相が一致しているか否かを判定する(ステップS1)。

0088

位相が一致していない場合(ステップS1:否定)、可変遅延制御部115は、立上の可変遅延設定値の調整を行う(ステップS2)。その後、立上側位相比較回路11は、ステップS1へ処理を戻す。

0089

これに対して、位相が一致している場合(ステップS1:肯定)、可変遅延付加部14は、DQ信号のEVEN成分に、DQS信号の立上りと内部クロック信号との位相を一致させるための立上用可変遅延量を付加する(ステップS3)。

0090

データ取込部15は、可変遅延制御部115により生成された立上用IH信号がLowの状態における内部クロック信号の立下りのタイミングで、立上用可変遅延量が付加されたDQ信号のEVEN成分からデータを取り込む(ステップS4)。

0091

一方、ラッチ123は、反転DQS信号から生成された立下用先行信号及び立下用後行信号の入力を可変遅延付加部121及び固定遅延付加部122から受ける。そして、ラッチ123は、立下用先行信号及び立下用後行信号それぞれの位相状態を取得する。その後、ラッチ123は、立下用先行信号及び立下用後行信号それぞれの位相状態を位相判定部124へ出力する。位相判定部124は、ラッチ123から受信した立下用先行信号及び立下用後行信号それぞれの位相状態から、DQS信号の立下りの位相が一致しているか否かを判定する(ステップS5)。

0092

位相が一致していない場合(ステップS5:否定)、可変遅延制御部125は、立下の可変遅延設定値の調整を行う(ステップS6)。その後、立下側位相比較回路12は、ステップS5へ戻る。

0093

これに対して、位相が一致している場合(ステップS5:肯定)、可変遅延付加部23は、DQ信号のODD成分に、DQS信号の立下りと内部クロック信号との位相を一致させる立下用可変遅延量を付加する(ステップS7)。

0094

データ取込部24は、可変遅延制御部125により生成されたIH信号の位相を反転させた信号がLowの状態における内部クロック信号の立下りのタイミングで、立下用可変遅延量が付加されたDQ信号のODD成分からデータを取り込む(ステップS8)。

0095

その後、CPU3は、DQ信号のEVEN成分から取り込まれたデータ及びDQ信号のODD成分から取り込まれたデータを取得する(ステップS9)。これにより、CPU3は、DIMM2からデータを読み出すことができる。

0096

次に、図7を参照して、DQS信号の位相が内部クロック信号(CLK)に対し、進んでいる場合の位相調整処理の全体的な流れを説明する。図7は、DQS信号の位相が進んでいる場合の位相調整処理のタイミングチャートである。

0097

図7横軸は時間の経過を表す。CLKは、内部クロック信号を表す。DQSは、DQS信号を表す。信号301は、立上用先行信号を表す。また、信号302は、立上用後行信号を表す。また、信号303は、立上用IH信号を表す。また、立上設定値は、立上り側の位相調整に用いる可変遅延設定値を表す。また、反転DQSは、反転DQS信号を表す。また、信号304は、立下用先行信号を表す。また、信号305は、立下用後行信号を表す。また、信号306は、立下用IH信号を表す。また、立下設定値は、立下り側の位相調整に用いる可変遅延設定値を表す。

0098

信号301及び信号302は、立上用IH信号303がLowの場合に値が取得される。すなわち、B0、B1、及びB2のタイミングで、ラッチ113は、信号301及び信号302の値を取得する。信号304及び信号305は、立下用IH信号306がLowの場合に値が取得される。すなわち、A0、A1、及びA2のタイミングで、ラッチ123は、信号304及び信号305の値を取得する。

0099

立上り側位相調整では、可変遅延付加部111は、信号301に可変遅延設定値が「n−1」分の立上用可変遅延量を有する可変遅延を与えている(ステップS10)。信号302は、信号301に固定遅延が付加された信号となっている。

0100

ラッチ113は、信号303がLowで且つ内部クロック信号の立下りのタイミングを検知し位相情報の取得を行う(ステップS11)。すなわち、タイミングB0において、ラッチ113は、信号301及び信号302の値を取得する(ステップS12)。この場合、ラッチ113は、信号301の値として「1」を取得し、信号302の値として「1」を取得する。位相判定部114は、「11」という位相情報の組の入力をラッチ113から受ける(ステップS13)。ここで、位相情報の組を2ビット表現する。「11」は、上位ビットが立上用後行信号の値を表し、下位ビットが立上用先行信号の値を表す。以下では、先行信号及び後行信号の位相情報の組を、単に「位相情報」という場合がある。

0101

位相判定部114は、位相前進状態であると判定する。そして、位相判定部114は、位相前進状態である旨を可変遅延制御部115へ通知する(ステップS14)。可変遅延制御部115は、可変遅延設定値に1を加算し新たな可変遅延設定値を求める。図7では、可変遅延制御部115は、「n−1」であった可変遅延設定値に1を加算して、新たな可変遅延設定値として「n」を求めている。そして、可変遅延制御部115は、求めた可変遅延設定値を可変遅延付加部111へ通知する(ステップS15)。

0102

可変遅延付加部111は、可変遅延設定値の入力を可変遅延制御部115から受けて、1ステップ分遅延量を増加させた立上用可変遅延量をDQS信号に与える(ステップS16)。ここで、立上用可変遅延量は前回加えた値に比べて増えているので、信号301及び302の遅延は増加する。

0103

次に、ラッチ113は、信号303がLowで且つ内部クロック信号の立下りのタイミングを検知し位相情報の取得を行う(ステップS17)。すなわち、タイミングB1において、ラッチ113は、信号301及び信号302の値を取得する(ステップS18)。この場合、ラッチ113は、信号301の値として「1」を取得し、信号302の値として「0」を取得する。位相判定部114は、「01」という位相情報の入力をラッチ113から受ける(ステップS19)。

0104

位相判定部114は、位相情報が「01」であることから、DQS信号の位相が一致したと判定する(ステップS20)。そして、位相判定部114は、一致した位相状態である旨を可変遅延制御部115へ通知する。可変遅延制御部115は、位相が一致したことから、可変遅延量の保持を可変遅延付加部14へ指示する(ステップS21)。

0105

一方、立下り側位相調整では、可変遅延付加部121は、信号304に可変遅延設定値が「m−1」分の立下用可変遅延量を有する可変遅延を与えている(ステップS22)。信号305は、信号304に固定遅延が付加された信号となっている。

0106

ラッチ123は、信号306がLowで且つ内部クロック信号の立下りのタイミングを検知し位相情報の取得を行う(ステップS23)。すなわち、タイミングA0において、ラッチ123は、信号304及び信号305の値を取得する(ステップS24)。この場合、ラッチ123は、信号304の値として「1」を取得し、信号305の値として「1」を取得する。位相判定部124は、「11」という位相情報をラッチ123から受ける(ステップS25)。

0107

位相判定部124は、進んだ位相状態であると判定する。そして、位相判定部124は、進んだ位相状態である旨を可変遅延制御部125へ通知する(ステップS26)。可変遅延制御部125は、可変遅延設定値に1を加算し新たな可変遅延設定値を求める。図7では、可変遅延制御部125は、「m−1」であった可変遅延設定値に1を加算して、新たな可変遅延設定値として「m」を求めている。そして、可変遅延制御部125は、求めた可変遅延設定値を可変遅延付加部121へ通知する(ステップS27)。

0108

可変遅延付加部121は、可変遅延設定値の入力を可変遅延制御部125から受けて、1ステップ分遅延量を増加させた立下用可変遅延量をDQS信号に与える(ステップS28)。ここで、立下用可変遅延量は前回加えたものに比べて増えているので、信号304及び305の遅延は増加する。

0109

続いて、ラッチ123は、信号306がLowで且つ内部クロック信号の立下りのタイミングを検知し位相情報の取得を行う(ステップS29)。すなわち、タイミングA1において、ラッチ123は、信号304及び信号305の値を取得する(ステップS30)。この場合、ラッチ123は、信号304の値として「1」を取得し、信号305の値として「0」を取得する。位相判定部124は、「01」という位相情報の入力をラッチ123から受ける(ステップS31)。

0110

位相判定部124は、位相情報が「01」であることから、DQS信号の位相が一致したと判定する(ステップS32)。そして、位相判定部124は、一致した位相状態である旨を可変遅延制御部125へ通知する。可変遅延制御部125は、立下用可変遅延量の保持を可変遅延付加部121へ指示する(ステップS33)。

0111

次に、図8を参照して、DQS信号の位相が内部クロック信号(CLK)に対し、遅れている場合の位相調整処理の全体的な流れを説明する。図8は、DQS信号の位相が遅れている場合の位相調整処理のタイミングチャートである。

0112

図8の横軸は時間の経過を表す。また、信号311は、立上用先行信号を表す。また、信号312は、立上用後行信号を表す。また、信号313は、立上用IH信号を表す。また、信号314は、立下用先行信号を表す。また、信号315は、立下用後行信号を表す。また、信号316は、立下用IH信号を表す。信号311及び信号312は、立上用IH信号313がLowの場合に値が取得される。すなわち、B0、B1、及びB2のタイミングで、ラッチ113は、信号311及び信号312の値を取得する。信号314及び信号315は、立下用IH信号316がLowの場合に値が取得される。すなわち、A0、A1、及びA2のタイミングで、ラッチ123は、信号314及び信号315の値を取得する。

0113

立上り側位相調整では、可変遅延付加部111は、信号311に可変遅延設定値が「n+1」分の立上用可変遅延量を有する可変遅延を与えている(ステップS41)。信号312は、信号311に固定遅延が付加された信号となっている。

0114

ラッチ113は、信号313がLowで且つ内部クロック信号の立下りのタイミングを検知し位相情報の取得を行う(ステップS42)。すなわち、タイミングB0において、ラッチ113は、信号311及び信号312の値を取得する(ステップS43)。この場合、ラッチ113は、信号311の値として「0」を取得し、信号312の値として「0」を取得する。位相判定部114は、「00」という位相情報の入力をラッチ113から受ける(ステップS44)。

0115

位相判定部114は、遅れた位相状態であると判定する。そして、位相判定部114は、遅れた位相状態である旨を可変遅延制御部115へ通知する(ステップS45)。可変遅延制御部115は、可変遅延設定値から1を減算し新たな可変遅延設定値を求める。図8では、可変遅延制御部115は、「n+1」であった可変遅延設定値から1を減算して、新たな可変遅延設定値として「n」を求めている。そして、可変遅延制御部115は、求めた可変遅延設定値を可変遅延付加部111へ通知する(ステップS46)。

0116

可変遅延付加部111は、立上りの可変遅延設定値の入力を可変遅延制御部115から受けて、1ステップ分遅延量を減少させた遅延をDQS信号に与える(ステップS47)。ここで、立上用可変遅延量は前回加えた値に比べて減っているので、信号311及び312の遅延は減少する。

0117

続いて、ラッチ113は、信号313がLowで且つ内部クロック信号の立下りのタイミングを検知し位相情報の取得を行う(ステップS48)。すなわち、タイミングB1において、ラッチ113は、信号311及び信号312の値を取得する(ステップS49)。この場合、ラッチ113は、信号311の値として「1」を取得し、信号312の値として「0」を取得する。位相判定部114は、「01」という位相情報の入力をラッチ113から受ける(ステップS50)。

0118

位相判定部114は、位相情報が「01」であることから、一致した位相状態であると判定する(ステップS51)。そして、位相判定部114は、一致した位相状態である旨を可変遅延制御部115へ通知する。可変遅延制御部115は、位相が一致したことから、可変遅延量の保持を可変遅延付加部14へ指示する(ステップS52)。

0119

一方、立下り側位相調整では、可変遅延付加部121は、信号314に可変遅延量が「m+1」分の立下用可変遅延量を有する可変遅延を与えている(ステップS53)。信号315は、信号314に固定遅延が付加された信号となっている。

0120

ラッチ123は、信号316がLowで且つ内部クロック信号の立下りのタイミングを検知し位相情報の取得を行う(ステップS54)。すなわち、タイミングA0において、ラッチ123は、信号314及び信号315の値を取得する(ステップS55)。この場合、ラッチ123は、信号314の値として「0」を取得し、信号315の値として「0」を取得する。位相判定部124は、「00」という位相情報をラッチ123から受ける(ステップS56)。

0121

そして、位相判定部124は、位相遅延状態であると判定する。そして、位相判定部124は、位相遅延状態である旨を可変遅延制御部125へ通知する(ステップS57)。可変遅延制御部125は、可変遅延設定値から1を減算し新たな可変遅延設定値を求める。図8では、可変遅延制御部125は、「m+1」であった可変遅延設定値から1を減算して、新たな可変遅延設定値として「m」を求めている。そして、可変遅延制御部125は、求めた可変遅延設定値を可変遅延付加部121へ通知する(ステップS58)。

0122

可変遅延付加部121は、可変遅延設定値の入力を可変遅延制御部125から受けて、1ステップ分遅延量を減少させた立下用可変遅延量をDQS信号に与える(ステップS59)。ここで、立下用可変遅延量は前回加えた値に比べて減っているので、信号314及び315の遅延は減少する。

0123

続いて、ラッチ123は、信号316がLowで且つ内部クロック信号の立下りのタイミングを検知し位相情報の取得を行う(ステップS60)。すなわち、タイミングA1において、ラッチ123は、信号314及び信号315の値を取得する(ステップS61)。この場合、ラッチ123は、信号314の値として「1」を取得し、信号315の値として「0」を取得する。位相判定部124は、「01」という位相情報をラッチ123から受ける(ステップS62)。

0124

位相判定部124は、位相情報が「01」であることから、一致した位相状態であると判定する(ステップS63)。そして、位相判定部124は、一致した位相状態である旨を可変遅延制御部125へ通知する。可変遅延制御部125は、立下用可変遅延量の保持を可変遅延付加部121へ指示する(ステップS64)。

0125

次に、図9〜11を参照して、本実施例に係るメモリインタフェース回路によるデューティ劣化時のタイミングマージンの確保について説明する。図9は、デューティが劣化していない状態での各信号のタイミングを表す図である。図10は、デューティ劣化時に立上りのタイミングのみで位相調整を行った場合の各信号のタイミングを表す図である。図11は、実施例1に係るメモリインタフェース回路を使用した場合のDuty劣化時の各信号のタイミングを表す図である。

0126

まず、図9を参照して、デューティ劣化が無い状態について説明する。図9の各グラフは左端に記載している各信号に対応する信号を表している。CLKは、内部クロック信号である。DQSは、DQS信号である。DQは、DQ信号である。dqeは、DQ信号のEVEN成分である。dqoは、DQ信号のODD成分である。ddqsは、DQS信号に遅延を加えて立上りの位相を内部クロック信号に一致させた信号である。ddqeは、DQSの立上りの位相を内部クロック信号と一致させるためにDQS信号に加えた遅延と同じ遅延をdqeに加えた信号である。ddqoは、DQSの立上りの位相を内部クロック信号と一致させるためにDQS信号に加えた遅延と同じ遅延をdqoに加えた信号である。EVEN IHは、dqe用の立上用IH信号である。ODD IHは、dqo用の立上用IH信号である。DQEVENは、取り込まれたDQ信号のEVEN成分のデータである。DQODDは、取り込まれたDQ信号のODD成分のデータである。

0127

さらに、P1より上方にある内部クロック信号以外の信号は、DQS信号を用いて動作を行うDQSドメイン内の信号である。また、P2より下方にある信号は、内部クロック信号を用いて動作を行う信号である。

0128

DQS信号は、デューティ劣化が発生していないので、各周期における信号401のようにHigh及びLowの割合が等しくなっている。ここで、DQS信号に遅延量Xを付加することで、内部クロック信号と位相が一致したものとする。

0129

まず、可変遅延付加部111は、DQS信号の立上りと内部クロック信号の位相を一致させる遅延量XをDQS信号に付加することで遅延402を与えてddqsを生成する。すなわち、ddqsの立上りと内部クロック信号との位相が一致する。

0130

そして、タイミング403で、EVEN成分選択部13は、DQ信号のEVEN成分を抽出し、遷移404で示されるようにdqeを生成する。そして、可変遅延付加部14は、dqeに遅延量Xを付加することで遅延405を与えddqeを生成する。

0131

その後、データ取込部15は、DQ信号のEVEN成分の立下用IH信号がLowの状態における内部クロック信号の立下りのタイミング406で、ddqeからデータを取り込む。ここで、遅延量Xは、DQS信号の立上りと内部クロック信号との位相を合わせることで求められた値であるので、DQS信号の立上りで抽出されるEVEN成分に対応するddqeでは、正確なタイミングマージンが確保される。そして、データ取込部15は、遷移407で示すようにddqeから取り込んだデータを取得する。

0132

また、ODD成分選択部22は、タイミング408で、DQ信号のODD成分を抽出し、遷移409で示されるようにdqoを生成する。そして、可変遅延付加部23は、dqoに遅延量Xを付加することで遅延410を与えてddqoを生成する。

0133

その後、データ取込部24は、DQ信号のODD成分の立下用IH信号がLowの状態における内部クロック信号の立下りのタイミング411で、ddqeからデータを取り込む。ここで、デューティ劣化が無いので立上り及び立下りの内部クロック信号に対する位相差は同じである。そのため、この場合、ddqeと同様にODD成分に対応するddqoにおいても、正確なタイミングマージン412が確保される。そして、データ取込部24は、遷移413で示すように、ddqeから取り込んだデータを取得する。

0134

次に、図10を参照して、デューティ劣化が発生した状態で立上りのタイミングのみで位相を調整する方式で位相調整を行った場合について説明する。各信号は、図9と同様である。

0135

この場合、DQS信号は、デューティ劣化が発生しており、信号420に示すように、HighとLowとの割合が崩れている。すなわち、DQS信号の立上り及び立下りの内部クロック信号に対する位相差が異なる。

0136

この場合、可変遅延付加部111は、DQS信号の立上りと内部クロック信号の位相を一致させる遅延量XをDQS信号に付加することで遅延421を与えてddqsを生成する。すなわち、ddqsの立上りと内部クロック信号との位相が一致する。これに対して、DQS信号の立上り及び立下りの内部クロック信号に対する位相差が異なるため、遅延量Xを付加した場合、ddqsの立下りと内部クロック信号との位相は一致していない。

0137

そして、可変遅延付加部14は、dqeに遅延量Xを付加することで遅延422を与えてddqeを生成する。この場合も、図9と同様にデータ取込部15は、ddqeからデータを取得する。

0138

これに対して、可変遅延付加部23は、dqoに遅延量Xを付加することで遅延423を与えてddqoを生成する。しかし、ddqsの立下りと内部クロック信号との位相は一致していないので、遅延量Xを付加して生成されたddqoは、内部クロック信号に対する最適な位相からずれた位相を有する。そのため、ddqoが内部クロック信号に対する最適な位相を有する場合のタイミングマージン425に比較して、この場合のタイミングマージン426では、差分427分のマージンの減少が発生してしまう。マージンの減少が大きくなれば、タイミング424でddqoからデータを取得することが困難になってしまい、データ異常が発生してしまう。

0139

次に、図11を参照して、デューティ劣化が発生した状態で実施例1のメモリインタフェース回路1を用いて位相調整を行った場合について説明する。ddqsrは、DQS信号に遅延を加えて立上りの位相を内部クロック信号の位相に一致させた信号である。ddqfは、反転DQS信号に遅延を加えて立下りの位相を内部クロック信号に一致させた信号である。その他の各信号は、図9と同様である。

0140

この場合、DQS信号は、デューティ劣化が発生しており、信号430に示すように、HighとLowとの割合が等しくない。すなわち、DQS信号の立上り及び立下りの内部クロック信号に対する位相差が異なる。

0141

この場合、可変遅延付加部111は、DQS信号の立上りと内部クロック信号の位相を一致させる遅延量XをDQS信号に付加することで遅延431を与えてddqsrを生成する。すなわち、ddqsrの立上りと内部クロック信号との位相が一致する。

0142

そして、可変遅延付加部14は、dqeに遅延量Xを付加することで遅延433を与えてddqeを生成する。この場合も、図9と同様にデータ取込部15は、ddqeからデータを取得する。

0143

これに対して、可変遅延付加部121は、DQS信号の立下りと内部クロック信号の位相を一致させる遅延量Yを反転DQS信号に付加することで遅延432を与えてddqsfを生成する。すなわち、ddqsfの立上りと内部クロック信号との位相が一致する。

0144

そして、可変遅延付加部23は、dqoに遅延量Yを付加することで遅延434を与えてddqoを生成する。ここで、遅延量Yは、反転DQS信号の立上りと内部クロック信号との位相を合わせることで求められた値であるので、DQS信号の立下りで抽出されるODD成分に対応するddqoにおいて、正確なタイミングマージン436が確保される。そして、データ取込部15は、タイミング435でデータを取り込み、遷移437で示すようにddqeから取り込んだデータを取得する。

0145

以上に説明したように、本実施例に係るメモリインタフェース回路は、DQS信号の立上りを用いてDQS信号と内部クロック信号との位相を一致させた場合の遅延を求める。そして、本実施例に係るメモリインタフェース回路は、求めた遅延をDQS信号の立上りで取り込まれるDQ信号の信号成分に与えて、内部クロック信号を用いてデータの取り込みを行う。また、本実施例に係るメモリインタフェース回路は、DQS信号の立下りを用いてDQS信号と内部クロック信号との位相を一致させた場合の遅延を求める。そして、本実施例に係るメモリインタフェース回路は、求めた遅延をDQS信号の立下りで取り込まれるDQ信号の信号成分に与えて、内部クロック信号を用いてデータの取り込みを行う。

0146

これにより、DQS信号にデューティ劣化が発生しても、DQ信号の取り込みタイミングを適切に調整することができる。すなわち、タイミングマージンの減少を軽減でき、データ異常の発生を軽減することができる。言い換えれば、DQS信号の立上り及び立下りそれぞれに最適な位相でクロックドメインチェンジを行うことができる。

0147

図12は、実施例2に係るメモリインタフェース回路及び情報処理装置のブロック図である。本実施例に係る情報処理システムは、立上用可変遅延量及び立下用可変遅延量を同じ位相比較回路を用いて求めることが実施例1と異なるものである。以下の説明では、実施例1と同じ機能を有する各部については説明を省略する。

0148

位相比較回路16は、図2における立上側位相比較回路11及び立下側位相比較回路12の機能をまとめた回路である。動作の概要としては、位相比較回路16は、最初に立上側位相比較回路11と同様の動作を行い立上用可変遅延量を求め、次に立下側位相比較回路12と同様の動作を行い立下用可変遅延量を求める。以下に詳細を説明する。

0149

位相比較回路16は、可変遅延付加部161、固定遅延付加部162、ラッチ163、位相判定部164、及び可変遅延制御部165を有する。さらに、位相比較回路16は、位相反転部166、エッジ切替部167、立上用可変遅延設定値保持部168、立下用可変遅延設定値保持部169、位相反転部171及びエッジ切替信号生成部170を有する。この位相比較回路16が、「切替位相差検出部」の一例にあたる。

0150

可変遅延付加部161は、図2における可変遅延付加部111及び可変遅延付加部121と同様の動作を行う。

0151

固定遅延付加部162は、図2における固定遅延付加部112及び固定遅延付加部122と同様の動作を行う。

0152

ラッチ163は、立上りの位相判定を行う場合には、立上用IH信号の入力をエッジ切替部167から受ける。そして、ラッチ163は、図2におけるラッチ113と同様の動作を行う。また、立下りの位相判定を行う場合には、立下用IH信号の入力をエッジ切替部167から受ける。そして、ラッチ163は、図2におけるラッチ123と同様の動作を行う。

0153

位相判定部164は、立上りの位相判定を行う場合、立上りのエッジを用いた位相判定を行うためのエッジ切替信号をエッジ切替部167から受ける。その場合、位相判定部164は、図2における位相判定部114と同様の動作を行う。また、位相判定部164は、立下りの位相判定を行う場合、立下りのエッジを用いた位相判定を行うためのエッジ切替信号をエッジ切替部167から受ける。その場合、位相判定部164は、図2における位相判定部124と同様の動作を行う。

0154

そして、位相判定部164は、求めた位相情報をエッジ切替信号生成部170へ出力する。

0155

ここで、図13を参照して、本実施例に係る位相判定部164の詳細について説明する。図13は、実施例2に係る位相判定部の詳細を表すブロック図である。位相判定部164は、XOR回路641及び642、並びに、位相判定回路643を有している。

0156

エッジ切替部167は、立上りのエッジを用いた位相判定を行うためのエッジ切替信号として、「0」をXOR回路641及び642に入力する。また、エッジ切替部167は、立下りのエッジを用いた位相判定を行うためのエッジ切替信号として、「1」をXOR回路641及び642に入力する。

0157

XOR回路641には、立上りの位相判定を行う場合、立上用先行信号の位相情報がラッチ163から入力される。また、立下りの位相判定を行う場合、XOR回路641には、立下用先行信号の位相情報がラッチ163から入力される。

0158

立上りの位相判定の場合、XOR回路641は、エッジ切替部167から入力された「0」と立上用先行信号の位相情報との排他的論理和を求めて出力する。すなわち、立上りの位相判定の場合、XOR回路641は、ラッチ163から入力された立上用先行信号の位相情報をそのまま出力する。

0159

これに対して、立下りの位相判定の場合、XOR回路641は、エッジ切替部167から入力された「1」と立下用先行信号との排他的論理和を求めて出力する。すなわち、立上りの位相判定の場合、XOR回路641は、ラッチ163から入力された立上用先行信号の位相情報を反転させて出力する。

0160

XOR回路642には、立上りの位相判定を行う場合、立上用後行信号の位相情報がラッチ163から入力される。また、立下りの位相判定を行う場合、XOR回路642には、立下用後行信号の位相情報が固定遅延付加部163から入力される。

0161

立上りの位相判定の場合、XOR回路642は、エッジ切替部167から入力された「0」と立上用後行信号の位相情報との排他的論理和を求めて出力する。すなわち、立上りの位相判定の場合、XOR回路642は、ラッチ163から入力された立上用後行信号の位相情報をそのまま出力する。

0162

これに対して、立下りの位相判定の場合、XOR回路642は、エッジ切替部167から入力された「1」と立下用後行信号の位相情報との排他的論理和を求めて出力する。すなわち、立下りの位相判定の場合、XOR回路642は、ラッチ163から入力された立下用後行信号の位相情報を反転させて出力する。

0163

位相判定回路643は、図2における位相判定部114と同様の動作を行う。すなわち、位相判定回路643は、立上り又は立下りの先行信号及び後行信号の位相情報の入力をXOR回路641及び642から受ける。そして、位相判定回路643は、図4の判定テーブル210で示される対応を用いてDQS信号の位相状態を判定する。

0164

ここで、立下りの位相判定について説明する。図14は、実施例2に係る位相判定部による立下りの位相判定を説明するための図である。

0165

図14における位相情報の列は、可変遅延付加部161及び固定遅延付加部162から入力される位相情報である。2ビットで表現される位相情報のうち、上位ビットが立下用後行信号の値を示し、下位ビットが立下用先行信号の値を示す。また、XOR後位相情報は、上位ビットがXOR回路642から出力され、下位ビットがXOR回路641からの出力される。

0166

立上りと立下りでは、HighとLowが反転しているので、立下りの場合の位相情報を反転させた信号は、立上りの位相判定と同じ論理で判定することができる。そして、図14に示すように、XOR後位相情報は位相情報を反転したものになる。すなわち、XOR後位相情報を用いる場合、図14に示すように、位相判定部164は、立上りの位相判定と同じ論理で位相状態を判定することができる。このように、XOR回路641及び642を配置することで、立上りの位相判定と立下り位相判定とのいずれにおいても同じ論理で判定することができ、位相判定回路643を共通化することができる。

0167

図12に戻って説明を続ける。可変遅延制御部165は、立上りの位相判定を行う場合、立上りのエッジを用いた位相判定を行うためのエッジ切替の信号をエッジ切替部167から受ける。その場合、可変遅延制御部165は、立上用可変遅延設定値保持部168に格納されている可変遅延設定値を読み出し図2における可変遅延制御部115と同様に立上りの位相判定の処理における可変遅延設定値を求める。そして、可変遅延制御部165は、立上りの可変遅延設定値を順次上書きしながら立上用可変遅延設定値保持部168に格納する。その後、位相が一致すると、可変遅延制御部165は、立上りの可変遅延設定値の算出完了の通知を立上用可変遅延設定値保持部168へ出力する。

0168

また、可変遅延制御部165は、立下りの位相判定を行う場合、立下りのエッジを用いた位相判定を行うためのエッジ切替の信号をエッジ切替部167から受ける。その場合、可変遅延制御部165は、立下用可変遅延設定値保持部169に格納されている可変遅延設定値を読み出し、図2における可変遅延制御部125と同様に立下りの可変遅延設定値を求める。そして、可変遅延制御部165は、求めた立下りの可変遅延設定値を順次上書きしながら立下用可変遅延設定値保持部169に格納する。その後、立下りの位相が一致すると、可変遅延制御部165は、立下りの可変遅延設定値の算出完了の通知を立下用可変遅延設定値保持部169へ出力する。

0169

エッジ切替部167は、IH信号の入力を可変遅延制御部165から受ける。このIH信号は、実施例1における立上用IH信号と同様の信号である。また、エッジ切替部167は、可変遅延制御部165が出力したIH信号の反転信号の入力を位相反転部166から受ける。

0170

さらに、エッジ切替部167は、立上りの位相判定を行う場合、立上りのエッジを用いた位相判定を行うためのエッジ切替の信号をエッジ切替信号生成部170から受ける。この場合、エッジ切替部167は、可変遅延制御部165から受信したIH信号をラッチ163、位相判定部164及び可変遅延制御部165へ出力する。

0171

また、エッジ切替部167は、立下りの位相判定を行う場合、立下りのエッジを用いた位相判定を行うためのエッジ切替の信号をエッジ切替信号生成部170から受ける。この場合、エッジ切替部167は、位相反転部166から受信した信号であり、可変遅延制御部165から出力されたIH信号の反転信号をラッチ163、位相判定部164及び可変遅延制御部165へ出力する。

0172

立上用可変遅延設定値保持部168は、立上りの位相判定を行う場合、立上りのエッジを用いた位相判定を行うためのエッジ切替の信号をエッジ切替信号生成部170から受ける。そして、立上用可変遅延設定値保持部168は、立上りの位相判定における可変遅延設定値を可変遅延制御部165から受信し、順次上書きしながら格納していく。

0173

そして、立上用可変遅延設定値保持部168は、立上の可変遅延設定値の算出完了の通知の入力を可変遅延制御部165から受ける。この場合、立上用可変遅延設定値保持部168は、格納する可変遅延設定値を可変遅延付加部14へ出力する。

0174

立下用可変遅延設定値保持部169は、立下りの位相判定を行う場合、立下りのエッジを用いた位相判定を行うためのエッジ切替の信号を位相反転部171から受ける。そして、立下用可変遅延設定値保持部169は、立下りの位相判定における可変遅延設定値を可変遅延制御部165から受信し、順次上書きしながら格納していく。

0175

そして、立下用可変遅延設定値保持部169は、立下の可変遅延設定値の算出完了の通知の入力を可変遅延制御部165から受ける。この場合、立下用可変遅延設定値保持部169は、格納する可変遅延設定値を可変遅延付加部23へ出力する。

0176

エッジ切替信号生成部170は、位相情報の入力を位相判定部164から受ける。そして、エッジ切替信号生成部170は、位相情報の入力が所定の条件に達すると、位相判定を行うエッジを切り替えるための信号を立上用可変遅延設定値保持部168、エッジ切替部167及び位相反転部171へ出力する。以下に、エッジ切替信号生成部170によるエッジ切替信号の生成の例を説明する。

0177

例えば、エッジ切替信号生成部170は、位相比較の結果、一致状態を検出した場合にエッジ切替信号を反転させる。他にも、エッジ切替信号生成部170は、位相比較の結果、一致状態を規定回数検出した場合にエッジ切替信号を反転させてもよい。この場合、規定回数は、1以上であれば何回でもよい。また、エッジ切替信号生成部170は、データ取込部15又は24からデータ読み出しの通知を受けて、データ読み出しを規定ビット数行った場合にエッジ切替信号を反転させてもよい。また、エッジ切替信号生成部170は、CPU3などから連続データの情報を受信して、連続データ読み出しの終了を契機にエッジ切替信号を反転させてもよい。

0178

次に、図15を参照して、実施例2に係るメモリコントローラ10によるデータの取り込みの処理について説明する。図15は、実施例2に係るメモリコントローラによるデータの取り込み処理のフローチャートである。

0179

エッジ切替信号生成部170は、エッジ切替信号は立下りか否かを判定する(ステップS101)。エッジ切替信号が立上りの場合(ステップS101:肯定)、エッジ切替信号生成部170は、立上りのエッジを用いた位相判定を行うためのエッジ切替の信号を立上用可変遅延設定値保持部168、エッジ切替部167及び位相反転部171へ出力する。エッジ切替部167は、可変遅延制御部165から出力されたIH信号をラッチ163へ出力する。また、エッジ切り替え部167は、エッジ切り替え信号を位相判定部164及び可変遅延制御部165へ出力する。

0180

ラッチ163は、立上用先行信号及び立上用後行信号の入力を可変遅延付加部161及び固定遅延付加部162から受ける。そして、ラッチ163は、立上用先行信号及び立上用後行信号それぞれの位相状態を取得する。その後、ラッチ163は、立上用先行信号及び立上用後行信号それぞれの位相状態を位相判定部164へ出力する。位相判定部164は、ラッチ163から受信した立上用先行信号及び立上用後行信号それぞれの位相状態から、DQS信号の立上りの位相が一致しているか否かを判定する(ステップS102)。

0181

位相が一致していない場合(ステップS102:否定)、可変遅延制御部165は、立上の可変遅延設定値の調整を行う(ステップS103)。その後、位相比較回路16は、ステップS102へ戻る。

0182

これに対して、位相が一致している場合(ステップS102:肯定)、立上用可変遅延設定値保持部168は、DQS信号の立上りと内部クロック信号との位相を一致させる立上の可変遅延設定値を保持する(ステップS104)。

0183

可変遅延付加部14は、DQS信号の立上りと内部クロック信号との位相を一致させる立上の可変遅延設定値を立上用可変遅延設定値保持部168から読み込む(ステップS105)。

0184

次に、可変遅延付加部14は、DQ信号のEVEN成分に、DQS信号の立上りと内部クロック信号との位相を一致させる立上用可変遅延量を付加する(ステップS106)。

0185

データ取込部15は、可変遅延制御部165により生成されたIH信号がLowの状態における内部クロック信号の立下りのタイミングで、立上用可変遅延量が付加されたDQ信号のEVEN成分からデータを取り込む(ステップS107)。

0186

一方、可変遅延付加部23は、DQS信号の立下りと内部クロック信号との位相を一致させる立下の可変遅延設定値を立下用可変遅延設定値保持部169から読み込む(ステップS108)。

0187

次に、可変遅延付加部23は、DQ信号のODD成分に、DQS信号の立下りと内部クロック信号との位相を一致させる立下用可変遅延量を付加する(ステップS109)。

0188

データ取込部24は、可変遅延制御部165により生成されたIH信号を反転させた信号がLowの状態における内部クロック信号の立下りのタイミングで、立下用可変遅延量が付加されたDQ信号のODD成分からデータを取り込む(ステップS110)。その後、位相比較回路16は、ステップS120へ進む。

0189

一方、エッジ切替信号が立下りで始まる場合(ステップS101:否定)、エッジ切替信号生成部170は、立下りのエッジを用いた位相判定を行うためのエッジ切替の信号を立下用可変遅延設定値保持部169、エッジ切替部167及び位相反転部171へ出力する。エッジ切替部167は、可変遅延制御部165から出力されたIH信号の反転信号をラッチ163、位相判定部164及び可変遅延制御部165へ出力する。

0190

ラッチ163は、立下用先行信号及び立下用後行信号の入力を可変遅延付加部161及び固定遅延付加部162から受ける。そして、ラッチ163は、立下用先行信号及び立下用後行信号それぞれの位相状態を取得する。その後、ラッチ163は、立下用先行信号及び立下用後行信号それぞれの位相状態を位相判定部164へ出力する。位相判定部164は、ラッチ163から受信した立下用先行信号及び立下用後行信号それぞれの位相状態から、DQS信号の立下りの位相が一致しているか否かを判定する(ステップS111)。

0191

位相が一致していない場合(ステップS111:否定)、可変遅延制御部165は、立下の可変遅延設定値の調整を行う(ステップS112)。その後、位相比較回路16は、ステップS111へ戻る。

0192

これに対して、位相が一致している場合(ステップS111:肯定)、立下用可変遅延設定値保持部169は、DQS信号の立下りと内部クロック信号との位相を一致させる立下の可変遅延設定値を保持する(ステップS113)。

0193

可変遅延付加部23は、DQS信号の立下りと内部クロック信号との位相を一致させる立下の可変遅延設定値を立下用可変遅延設定値保持部169から読み込む(ステップS114)。

0194

次に、可変遅延付加部23は、DQ信号のODD成分に、DQS信号の立下りと内部クロック信号との位相を一致させる立下用可変遅延量を付加する(ステップS115)。

0195

データ取込部24は、可変遅延制御部165により生成されたIH信号を反転させた信号がLowの状態における内部クロック信号の立下りのタイミングで、立下用可変遅延量が付加されたDQ信号のODD成分からデータを取り込む(ステップS116)。

0196

可変遅延付加部14は、DQS信号の立上りと内部クロック信号との位相を一致させる立上の可変遅延設定値を立上用可変遅延設定値保持部168から読み込む(ステップS117)。

0197

次に、可変遅延付加部14は、DQ信号のEVEN成分に、DQS信号の立上りと内部クロック信号との位相を一致させる立上用可変遅延量を付加する(ステップS118)。

0198

データ取込部15は、可変遅延制御部165により生成されたIH信号がLowの状態における内部クロック信号の立下りのタイミングで、立上用可変遅延量が付加されたDQ信号のEVEN成分からデータを取り込む(ステップS119)。

0199

CPU3は、DQ信号のEVEN成分から取り込まれたデータ及びDQ信号のODD成分から取り込まれたデータを受信する(ステップS120)。これにより、CPU3は、DIMM2からデータを読み出すことができる。

0200

そして、メモリインタフェース回路1は、自己を搭載する情報処理装置の動作が停止したか否かを判定する(ステップS121)。動作が停止していない場合(ステップS121:否定)、メモリインタフェース回路1は、ステップS101へ戻る。

0201

これに対して、動作が停止した場合(ステップS121:肯定)、メモリインタフェース回路1も動作を停止する。

0202

以上に説明したように、本実施例に係るメモリインタフェース回路は、1つの位相比較回路を用いて、DQS信号の立上りを用いた位相調整における可変遅延設定値及びDQS信号の立下りを用いた位相調整における可変遅延設定値を求める。すなわち、実施例1に比べて位相比較回路1つ分程度実装規模を縮小することができる。

0203

また、以上の説明では、図1に示すように、メモリコントローラ10が、CPU3とは異なるチップセット100上に配置されている構成で説明したが、ハードウェア構成はこれに限らない。

実施例

0204

各実施例に係るメモリインタフェース回路1を搭載したメモリコントローラ10は、CPU3上に搭載されていてもよい。この場合、CPU3には、演算処理部31及びメモリコントローラ10が搭載される。

0205

1メモリインタフェース回路
2 DIMM
3 CPU
10メモリコントローラ
11 立上側位相比較回路
12 立下側位相比較回路
13EVEN成分選択部
14可変遅延付加部
15 データ取込部
16位相比較回路
21位相反転部
22ODD成分選択部
23 可変遅延付加部
24 データ取込部
31演算処理部
40クロック発生部
100チップセット
111,121,161 可変遅延付加部
112,122,162固定遅延付加部
113,123,163ラッチ
114,124,164位相判定部
115,125,165 可変遅延制御部
126,166 位相反転部
167エッジ切替部
168 立上用可変遅延設定値保持部
169 立下用可変遅延設定値保持部
170 エッジ切替信号生成部
171 位相反転部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 日立オートモティブシステムズ株式会社の「 電子制御装置及び制御データの設定方法」が 公開されました。( 2020/09/24)

    【課題】電子制御装置のバリエーションを管理する労力を軽減する。【解決手段】電子制御装置では、電子的にデータを書き換え可能なコードフラッシュメモリ120に、アクティブ状態とインアクティブ状態とに排他的に... 詳細

  • 東芝メモリ株式会社の「 メモリシステム」が 公開されました。( 2020/09/24)

    【課題】メモリチップに品質の差がある場合においても、性能を低減することなく不揮発化処理を実行する。【解決手段】メモリシステム100は、不揮発性の複数のメモリチップ208と各メモリチップの動作を制御する... 詳細

  • 東芝メモリ株式会社の「 メモリシステム」が 公開されました。( 2020/09/24)

    【課題】メモリシステムの動作を高速化する。【解決手段】実施形態のメモリシステムは、半導体記憶装置と、メモリコントローラとを含む。メモリコントローラは、コマンドバッファとディスクリプタバッファとを有する... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ