(57)【要約】【課題】DQ入力バッファの基準電圧を調整する。【解決手段】メモリコントローラは，受信するデータ信号を基準電圧に基づいて判定する第１の入力バッファと，受信するデータストローブ信号を入力する第２の入力バッファと，第２の入力バッファが出力する内部データストローブ信号の立ち上がりエッジと立ち下がりエッジの位相に基づいて第１の入力バッファが出力するデータ信号を取り込むデータラッチ回路と，内部データストローブ信号のデューティ比を検出するデューティ比検出回路と，デューティ比検出回路が検出したデューティ比に基づいて基準電圧を調整する基準電圧生成回路とを有する。【選択図】図９
2015138537.tif 000002
【特許請求の範囲】
【請求項１】
受信するデータ信号を基準電圧に基づいて判定する第１の入力バッファと，
受信するデータストローブ信号を入力する第２の入力バッファと，
前記第２の入力バッファが出力する内部データストローブ信号の立ち上がりエッジと立ち下がりエッジの位相に基づいて，前記第１の入力バッファが出力するデータ信号を取り込むデータラッチ回路と，
前記内部データストローブ信号のデューティ比を検出するデューティ比検出回路と，
前記デューティ比検出回路が検出したデューティ比に基づいて，前記基準電圧を調整する基準電圧生成回路とを有するメモリコントローラ。
【請求項２】
請求項１において，
前記デューティ比検出回路は，前記内部データストローブ信号の立ち上がりエッジとクロックの第１の基準エッジとの間の第１の位相差を検出する第１の位相差検出部と，前記内部データストローブ信号の立ち下がりエッジと前記クロックの第２の基準エッジとの間の第２の位相差を検出する第２の位相差検出部と，前記第１の位相差と前記第２の位相差とから前記デューティ比を検出するデューティ比検出部とを有するメモリコントローラ。
【請求項３】
請求項２において，
前記第１の位相差検出部は，前記内部データストローブ信号を第１の可変遅延設定値に基づく遅延量だけ遅延する第１の可変遅延回路と，前記第１の可変遅延回路で遅延した第１の遅延データストローブ信号の立ち上がりエッジと前記クロックの第１の基準エッジとの間の第１の位相差を検出し前記第１の位相差に応じて前記第１の可変遅延設定値を生成する第１の位相比較部とを有し，
前記第２の位相差検出部は，前記内部データストローブ信号を第２の可変遅延設定値に基づく遅延量だけ遅延する第２の可変遅延回路と，前記第２の可変遅延回路で遅延した第２の遅延データストローブ信号の立ち下がりエッジと前記クロックの第２の基準エッジとの間の第２の位相差を検出し前記第２の位相差に応じて前記第２の可変遅延設定値を生成する第２の位相比較部とを有し，
前記ディーティ比検出部は，前記第１の可変遅延設定値と前記第２の可変遅延設定値との差分に基づいて，前記デューティ比を算出するメモリコントローラ。
【請求項４】
請求項３において，
前記第１の位相比較部は，前記クロックから生成される第１の位相判定タイミング信号の位相判定タイミング期間中の前記クロックのエッジを，前記クロックの第１の基準エッジとして使用し，
前記第２の位相比較部は，前記第１の位相判定タイミング信号を反転した第２の位相判定タイミング信号の位相判定タイミング中の前記クロックのエッジを，前記クロックの第２の基準エッジとして使用するメモリコントローラ。
【請求項５】
請求項１または２において，
前記基準電圧生成回路は，前記デューティ比が５０％より高い場合に，前記基準電圧を前記デューティ比が５０％の場合の基準電圧より上昇させ，前記デューティ比が５０％より低い場合に，前記基準電圧を前記デューティ比が５０％の場合の基準電圧より下降させるメモリコントローラ。
【請求項６】
メモリアクセスを要求する演算処理部と，
メモリアクセスに応答してデータ信号と前記データ信号に同期したデータストローブ信号を出力するメモリと，
前記メモリアクセス要求に応答して，前記メモリへのアクセス制御を行うメモリコントローラとを有し，
前記メモリコントローラは，
前記メモリから受信する前記データ信号を基準電圧に基づいて判定する第１の入力バッファと，
前記メモリから受信する前記データストローブ信号を入力する第２の入力バッファと，
前記第２の入力バッファが出力する内部データストローブ信号の立ち上がりエッジと立ち下がりエッジの位相に基づいて，前記第１の入力バッファが出力するデータ信号を取り込むデータラッチ回路と，
前記内部データストローブ信号のデューティ比を検出するデューティ比検出回路と，
前記デューティ比検出回路が検出したデューティ比に基づいて，前記基準電圧を調整する基準電圧生成回路とを有する情報処理装置。
【請求項７】
受信するデータ信号を基準電圧に基づいて判定する第１の入力バッファと，
受信するデータストローブ信号を入力する第２の入力バッファと，
前記第２の入力バッファが出力する内部データストローブ信号の立ち上がりエッジと立ち下がりエッジの位相に基づいて，前記第１の入力バッファが出力するデータ信号を取り込むデータラッチ回路とを有するメモリコントローラにおける基準電圧調整方法であって，
前記内部データストローブ信号のデューティ比を検出する工程と，
前記検出したデューティ比に基づいて，前記基準電圧を調整する工程を有する基準電圧調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，メモリコントローラ，情報処理装置及び基準電圧調整方法に関する。
【背景技術】
【０００２】
メモリコントローラは，演算処理装置（CPUチップ）に内蔵され，演算処理部（CPUコア）からのメモリアクセス要求に応答して，メインメモリへのメモリアクセスを制御する。または，メモリコントローラは，演算処理装置（CPUチップ）とメインメモリとの間に設けられ，演算処理装置からのメモリアクセスを制御する。
【０００３】
メインメモリとして，DDR（Double Data Rate)型のSDRAM（SDRAM：Synchronous Dynamic Random Access Memory)が広く利用されている。DDR型のSDRAMは，メモリコントローラからクロックを受信し，そのクロックに基づいて生成したデータストローブ信号（以下DQS信号）と，DQS信号の立ち上がりエッジと立ち下がりエッジに同期したデータ信号（以下DQ信号）とをメモリコントローラに返信する。そして，メモリコントローラは，DQS信号の立ち上がりエッジと立ち下がりエッジのタイミングを利用して，DQ信号のHレベルまたはLレベルを検出する。
【０００４】
DDRの規格によれば，SDRAMは，DQS信号は差動信号で且つデューティ比５０％で，DQ信号は単相信号で，それぞれメモリコントローラに送信する。それに対して，メモリコントローラは，受信したDQS信号の立ち上がりエッジと立ち下がりエッジの位相を検出して，内部のDQS信号を生成し，その内部DQS信号のタイミングに基づいてDQ信号をラッチする。また，メモリコントローラは，受信したDQ信号を基準電圧と比較して，HレベルまたはLレベルの内部DQ信号を生成する入力バッファを有する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１１／０７７５７３号
【特許文献２】特開平７−３１２５３８号公報
【特許文献３】特開平１０−１４５２２２号公報
【特許文献４】特開２０１０−２８２６８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年の省電力化の要求から，DQ信号の電圧は，規格のDDR3Lでは1.35V，DDR4Lでは1.05Vに低下している。それに伴って，DQ信号の入力バッファで使用する基準電圧も低下するとともに，Hレベル判定とLレベル判定のマージンも少なくなっている。その結果，システム稼働中の外的要因，例えば，電源電圧の変動や温度変動により，基準電圧が入力されるDQ信号の振幅電圧の５０％以外に変動すると，HレベルまたはLレベル判定のマージンが少なくなり，適切にHレベルまたはLレベルを判定できなくなることが予想される。
【０００７】
そこで，本発明の目的は，データ信号（DQ信号）の基準電圧を適切な電圧に維持することができるメモリコントローラ，情報処理装置及び基準電圧調整方法を提供することにある。
【課題を解決するための手段】
【０００８】
実施の形態の第１の側面は，受信するデータ信号を基準電圧に基づいて判定する第１の入力バッファと，
受信するデータストローブ信号を入力する第２の入力バッファと，
前記第２の入力バッファが出力する内部データストローブ信号の立ち上がりエッジと立ち下がりエッジの位相に基づいて，前記第１の入力バッファが出力するデータ信号を取り込むデータラッチ回路と，
前記内部データストローブ信号のデューティ比を検出するデューティ比検出回路と，
前記デューティ比検出回路が検出したデューティ比に基づいて，前記基準電圧を調整する基準電圧生成回路とを有するメモリコントローラである。
【発明の効果】
【０００９】
第１の側面によれば，メモリコントローラにおいて，データ信号の基準電圧を適切な電圧に維持することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態におけるメモリコントローラと，演算処理装置（CPUチップ）と，メインメモリとを有する情報処理装置の構成例を示す図である。
【図２】DQ信号受信回路の構成の一例を示す図である。
【図３】DQ信号受信回路の動作を示すタイミングチャート図である。
【図４】位相比較部２５と位相調整部２４とによる動作のフローチャート図である。
【図５】位相比較部２５内の位相判定部２７の動作を説明する図である。
【図６】DQS信号のデューティ比の変動を説明する図である。
【図７】DQ入力バッファにおける基準電圧VREFの変動を説明する図である。
【図８】DQ入力バッファ２３の回路の一例を示す図である。
【図９】本実施の形態におけるデューティ比検出回路を示す図である。
【図１０】デューティ比検出回路４０の動作を示す図である。
【図１１】デューティ比検出部４２の動作を説明する図である。
【図１２】DQ入力バッファ内の基準電圧生成回路の一例を示す図である。
【図１３】本実施の形態におけるメモリコントローラによる基準電圧制御プロセスのフローチャート図である。
【図１４】本実施の形態における基準電圧制御プロセスを説明する図である。
【発明を実施するための形態】
【００１１】
図１は，本実施の形態におけるメモリコントローラと，演算処理装置（CPUチップ）と，メインメモリとを有する情報処理装置の構成例を示す図である。図１の（Ａ）には，演算処理部（CPUコア）１２とメモリコントローラ２０とを有する演算処理装置（CPUチップ）１０と，メインメモリ３０とを有する情報処理装置（コンピュータシステム）が示されている。演算処理部（CPUコア）１２は，メモリコントローラ２０に対してメモリアクセス要求を発行し，メモリコントローラ２０はメモリアクセス要求に応答して，メインメモリ３０に対して図示しないコマンドとアドレスとクロックCLKを送信する。一方，メインメモリ３０は，読み出し要求の場合に，供給されたクロックCLKに基づいて生成したデータストローブ信号DQS（以下DQS信号）と，DQS信号の立ち上がりエッジと立ち下がりエッジに同期したデータ信号DQ(以下DQ信号）とを，メモリコントローラ２０に返信する。メモリコントローラ２０は，DQ信号受信回路２１を有し，DQ信号受信回路２１は，受信したDQS信号の位相に基づいてDQ信号を取り込む（ラッチする）。そして，メモリコントローラ２０は取り込んだDQ信号を演算処理部（CPUコア）１２に送信する。
【００１２】
図１の（Ｂ）には，演算処理部（CPUコア）１２を内蔵する演算処理装置（CPUチップ）１０と，演算処理装置１０とは異なるチップで構成されるメモリコントローラ２０と，メインメモリ３０とを有する情報処理装置が示されている。演算処理部（CPUコア）１２と，メモリコントローラ２０と，メインメモリ３０とのメモリアクセスに関する動作は，図１の（Ａ）と同様である。
【００１３】
DDR型のSDRAMは，DDR3以降の規格では，メモリコントローラ２０はクロックCLKをメインメモリ３０内の複数のメモリチップに対してシリアルに転送して送信する。その結果，各メモリチップから返信されるDQS信号の位相は，ばらばらであり一致していない。
【００１４】
そこで，メモリコントローラ２０内のDQ信号受信回路２１は，DQ信号をDQS信号の位相に基づいて取り込む（ラッチする）とともに，DQS信号の位相とメモリコントローラ内の内部クロックとの位相との位相差に基づいて，取り込んだDQ信号の位相を調整し，内部クロックの位相に基づいて全てのDQ信号を取り込む（ラッチする）。つまり，DQ信号受信回路２１は，DQ信号をメインメモリ３０からのDQS信号の位相タイミングからメモリコントローラ２０や演算処理部１２側のクロックの位相タイミングに乗り換える処理を行う。
【００１５】
［DQ信号受信回路の概略説明］
図２は，DQ信号受信回路の構成の一例を示す図である。DQ信号受信回路２１は，メインメモリ３０から送信される差動のデータストローブ信号DQS，DQSxを入力するDQS入力バッファ２２と，メインメモリから送信される単相のデータ信号DQを入力するDQ入力バッファ２３とを有する。これらの入力バッファ２２，２３については後で詳述する。
【００１６】
メインメモリ３０は，DQS信号と，DQS信号の立ち上がりエッジと立ち下がりエッジに同期したDQ信号とをペアにして，メモリコントローラ２０に送信する。このDQS信号は，メモリコントローラ２０内の内部クロックI_CLKの位相とは非同期であり，さらに，DQS信号のメインメモリ３０からメモリコントローラ２０までの伝搬時間は予想できない。
【００１７】
したがって，メモリコントローラ２０内のDQ信号受信回路２１は，第１に，受信したDQS信号とDQ信号の位相は同期しているので，受信したDQS信号の立ち上がりエッジと立ち下がりエッジの位相に基づいて，DQ信号のHレベルまたはLレベルをラッチする。第２に，DQ信号受信回路２１は，DQS信号の位相と内部クロックI_CLKの位相と非同期であるので，DQ信号の位相を調整して，DQS信号の位相から内部クロックI_CLKの位相に乗り換える位相調整を行う。
【００１８】
図２のDQ信号受信回路２１は，上記のDQ信号をDQS信号の両エッジのタイミングに基づいてラッチし，内部クロックI_CLKのタイミングに乗り換える位相調整を行う位相調整部２４を有する。位相調整部２４は，９０°位相シフト回路２９が入力バッファ２２の出力の内部DQS信号dqsを９０°位相シフトした信号dqs90の両エッジのタイミングで，入力したDQ信号をラッチするフリップフロップFF1,FF2を有する。さらに，位相調整部２４は，９０°位相シフトしたDQS信号dqs90を遅延して遅延DQS信号ddqsを生成する第３の可変遅延回路DL3と，フリップフロップFF1,FF2でラッチされたDQ信号dqeven,dqoddを遅延して遅延DQ信号ddqeven,ddqoddを生成する第１，第２の可変遅延回路DL1,DL2とを有する。これらの可変遅延回路DL1,DL2,DL3は，後述する位相比較部２５が生成する可変遅延設定値CDに基づいて位相を進めたり遅らせたりする。
【００１９】
さらに，DQ信号受信回路２１は，DQS信号の位相と内部クロックI_CLKの位相とを比較して，位相調整部２４に位相調整用の可変遅延設定値CDを生成する位相比較部２５を有する。可変遅延設定値CDは，DQS信号と内部クロックI_CLKの位相差に対応して位相差をなくすようにする遅延量を示す値である。この可変遅延設定値CDは，第１，第２，第３の可変遅延回路DL1,DL2,DL3に供給される。それにより，DQS信号dqs90と，DQ信号dqeven,dqoddは，可変遅延設定値CDに対応する遅延時間だけ遅延される。
【００２０】
位相比較部２５は，遅延DQS信号ddqsを微少な固定幅だけ遅延する遅延回路DL4と，遅延回路DL4の入力と出力ddqs(a)，ddqs(b)を，ddqs信号の立ち上がりエッジタイミング信号IHの判定タイミング中にラッチイネーブル状態になり，内部クロックI_CLKの立ち下がりエッジに同期してラッチするラッチ回路２６とを有する。つまり，立ち上がりエッジタイミング信号IHはラッチ回路２６のインヒビット信号であり，IH=Lの間，ラッチ回路２６は動作状態になる。
【００２１】
さらに，位相比較部２５は，ラッチ回路２６がラッチした位相情報１，２に基づいて，遅延DQS信号ddqsの立ち上がりエッジと内部クロックI_CLKの立ち下がりエッジとの間の位相差を判定する位相判定部２７を有する。そして，位相比較部２５は，位相判定部２７の位相判定結果に基づいて，位相差をなくすように可変遅延回路DL3の遅延量を制御する可変遅延設定値CDを生成するとともに，検出した位相差に基づいて最適なエッジタイミング信号IHを生成する可変遅延制御部２８を有する。
【００２２】
可変遅延回路DL1.DL2により位相調整された遅延DQ信号ddqeven,ddqoddは，最後に内部クロックI_CLKのタイミングに基づいて，フリップフロップFF3,FF4でラッチされることで，DQ信号は，内部クロックI_CLKのタイミングに乗り換えることができる。
【００２３】
図３は，DQ信号受信回路の動作を示すタイミングチャート図である。図３の例では，前提として，メインメモリ３０が送信するDQS信号の周波数に対して，内部クロックI_CLKは４倍の周波数を有する。そして，前述したとおり，DQS信号の位相と内部クロックI_CLKの位相とは非同期である。
【００２４】
まず，９０°位相シフト回路２９が，DQS入力バッファ２２で入力されたDQS信号dqsを９０°位相シフトして９０°位相シフト信号dqs90を生成する。この９０°位相シフト信号dqs90の立ち上がりエッジと立ち下がりエッジのタイミングで，フリップフロップFF1,FF2が，DQ入力バッファ２３で入力したDQ信号をラッチし，DQ信号dqeven,dqoddを出力する。これにより，高速のDQ信号は，２分周された低速のDQ信号に変換される。
【００２５】
次に，位相比較部２５の動作について説明する。図４は，位相比較部２５と位相調整部２４とによる動作のフローチャート図である。図５は，位相比較部２５内の位相判定部２７の動作を説明する図である。
【００２６】
図４のフローチャート図に示されるとおり，位相比較部２５の位相判定部２７は，遅延DQS信号ddqsの立ち上がりエッジと，内部クロックI_CLKの立ち下がりエッジとの位相比較を行う（S1)。位相判定結果が進みの場合（S2の進み），可変遅延制御部２８は可変遅延回路DL3の可変遅延設定値CDを＋１して可変遅延回路DL3の遅延量を増加する（S3)。位相判定結果が遅れの場合（S2の遅れ），可変遅延制御部２８は可変遅延回路DL3の可変遅延設定値CDを−１して可変遅延回路DL3の遅延量を減少する（S4)。
【００２７】
そして，上記の位相比較S1，位相判定S2，可変遅延設定値の調整S3,S4を，位相判定S2で一致になるまで繰り返す。位相判定S2で位相が一致したことが検出されれば，位相比較部２５と位相調整部２４とによる位相調整動作は終了する。可変遅延設定値CDは，第１，第２の可変遅延回路DL1,DL2にも供給され，その出力である遅延DQ信号ddqeven,ddqoddの位相は，内部クロックI_CLKの立ち下がりエッジの位相と一致する。
【００２８】
図２，３に戻り，可変遅延回路DL3が９０°位相シフトDQS信号dqs90を可変遅延設定値CDだけ遅延して遅延DQS信号ddqs(a)を出力し，更に，可変遅延回路DL4が遅延DQS信号ddqs(a)を固定遅延だけ遅延してもう一つの遅延DQS信号ddqs(b)を出力する。
【００２９】
図５の位相比較部２５の位相判定部２７の動作説明図に示されるとおり，ラッチ回路２６は，立ち上がりエッジタイミング信号IHのLレベルの期間において，内部クロックI_CLKの立ち下がりエッジに同期して，２つの遅延DQS信号ddqs(a),ddqs(b)をラッチする。そして，位相判定部２７がラッチ回路２６がラッチした位相情報２，１に基づいて，遅延DQS信号ddqs(a),ddqs(b)が内部クロックI_CLKの立ち上がりエッジに対して位相が進んでいるか遅れているか一致しているかを検出する。
【００３０】
図５の位相比較真理値表に示されるように，ラッチ回路２６がラッチした位相情報２，１が「１１」の場合は，遅延DQS信号ddqs(a),ddqs(b)が内部クロックI_CLKの立ち上がりエッジに対して位相が進んでいることを示す。また，「０１」の場合は一致していることを示し，「００」の場合は遅れていることを示す。ただし，「１０」の場合は異常状態であり無視する。
【００３１】
なお，図５の内部クロックI_CLKは，簡単化のために，DQS信号の１／２の周期（２倍の周波数）で示している。そのため，立ち上がりエッジタイミング信号IHは，DQS信号と同じ周期であり，デューティ比は５０％となっている。内部クロックI_CLKがDQS信号の１／４の周期（４倍の周波数）の場合は，立ち上がりエッジタイミング信号IHは，DQS信号と同じ周期であり，デューティ比は７５％となり，１／４周期の期間のみLレベルになり，ラッチ回路２６のラッチ動作は，４回に１回の内部クロックI_CLKの立ち下がりエッジに同期して行われる。
【００３２】
図３は，上記の位相比較と位相調整が終了した状態でのタイミングチャートである。図３に示されるとおり，遅延DQS信号ddqs(a)，ddqs(b)は，９０°位相シフト信号dqs90から，可変遅延回路DL3の遅延量DL3だけ，DL3に固定遅延回路DL4を加えたDL3+DL4だけ，それぞれ遅延している。同様に，遅延DQ信号ddqeven,ddqoddは,フリップフロップFF1,FF2でラッチされたDQ信号dqeven,dqoddから，可変遅延回路DL1,DL1の遅延量それぞれ遅延している。これにより，遅延DQ信号ddqeven,ddqoddhaは,内部クロックI_CLKの立ち下がりエッジに位相同期する。
【００３３】
そして，フリップフロップFF3,FF4が，内部クロックI_CLKの立ち下がりエッジに同期して，遅延DQ信号ddqeven,ddqoddをラッチする。フリップフロップFF3,FF4は，ラッチタイミング信号のタイミング期間中にイネーブルになり，４回に１回の内部クロックI_CLKの立ち下がりエッジに同期して遅延DQ信号ddqeven,ddqoddをラッチする。
【００３４】
［DQS信号のデューティ比の変動］
図６は，DQS信号のデューティ比の変動を説明する図である。DQS入力バッファ２２は，メインメモリ３０から送信されてきた差動のDQS信号DQS,DQSxを受信し，単相の内部DQS信号dqsを出力する。また，DQS入力バッファ２２は，差動DQS信号DQS,DQSxの振幅電圧を，I/O電源VDDHから内部電源VDDにレベル変換する。
【００３５】
メインメモリ３０は，DQS信号DQS,DQSxのデューティ比を５０％にして送信する。しかし，DQS入力バッファ２２が出力する内部DQS信号dqsは，温度変化や電源電圧VDDH/VDDの変動に起因して，その立ち上がり時間や立ち下がり時間が変動する。しかも，立ち上がり時間と立ち下がり時間の変動幅は必ずしも同じにならないため，内部DQS信号dqsのデューティ比が変動する。
【００３６】
図６には，特性変動の一例として，Hレベルの幅とLレベルの幅が等しくデューティ比が５０％の内部DQS信号dqs_1と，立ち下がり時間が長くなりHレベルの幅がLレベルの幅より大きくなりデューティ比が５０％を超える内部DQS信号dqs_2と，逆に，立ち下がり時間が短くなりHレベルの幅がLレベルの幅より小さくなり，デューティ比が５０％より低くなる内部DQS信号dqs_3とが示されている。
【００３７】
このような関係例は，実験などを通じて確認することができ，その確認を通じて，温度変化や電源電圧VDDH/VDDの変動とデューティ比の変動の関係を見出すことができる。いずれにしても，温度変化や電源電圧VDDH/VDDによる特性変動がデューティ比の変動に何らかの因果関係を有することが判明している。
【００３８】
図７は，DQ入力バッファにおける基準電圧VREFの変動を説明する図である。DQ入力バッファ２３は，メインメモリ３０から送信されるDQ信号を，内部で生成した基準電圧VREFと比較して，HレベルまたはLレベルの内部DQ信号dqを出力する。図示されるように，入力DQ信号DQは電源VDDHの振幅を有するのに対して，基準電圧VREFはその振幅電圧VDDHの５０％の電位に設定される。そのような基準電圧VREFに基づいて入力DQ信号DQのHレベルとLレベルの判定マージンを最大化することができる。
【００３９】
一方，基準電圧VREFは，I/O電源VDDHを抵抗R1,R2で分割して生成される。その結果，I/O電源VDDHが変動することで，基準電圧VREFも変動する。したがって，前述してI/O電源VDDHの変動に起因して内部DQS信号dqsのデューティ比が変動するとともに，基準電圧VREFも変動する。これが，内部DQS信号dqsのデューティ比の変動と，基準電圧VREFの変動との間にある因果関係である。
【００４０】
図８は，DQ入力バッファ２３の回路の一例を示す図である。DQ入力バッファ２３は，電源VDDHにソースが接続された１対のPMOSトランジスタP1，P2と，グランド電源VSSにNMOSトランジスタN3を介してソースが接続された１対のNMOSトランジスタN1，N2とを有する。そして，差動対のNMOSトランジスタN1,N2のゲートには，基準電圧VREFと入力するDQ信号DQがそれぞれ入力される。また，NMOSトランジスタN3のゲートには，バイアス電圧を入力し、入力するDQ信号DQのHレベルとLレベルを，基準電圧VREFと比較することで検出し，内部DQ信号dqを出力する。
【００４１】
図７に戻り，基準電圧VREFが入力DQ信号の振幅電圧VDDHの５０％の電位の場合は，DQ入力バッファ２３のHレベルとLレベルの判定マージンが最大化され，判定精度を最大化できる。一方，基準電圧VREF_Lのように低下すると，DQ入力バッファ２３のLレベル判定マージンが小さくなり，誤判定の可能性が高くなる。逆に，基準電圧VREF_Hのように上昇すると，DQ入力バッファ２３のHレベル判定マージンが小さくなり，誤判定の可能性が高くなる。
【００４２】
［実施の形態のデューティ比検出と基準電圧の調整］
本実施の形態のメモリコントローラは，上記のDQ入力バッファによる誤判定を抑制するために，DQS信号dqsのデューティ比を測定して，検出したデューティ比の変動に応じて，DQ入力バッファの基準電圧VREFの電位を調整する。そこで，以下，本実施の形態におけるデューティ比検出回路と，検出したデューティ比に基づいて基準電圧を調整して生成する基準電圧生成回路について説明する。
【００４３】
図９は，本実施の形態におけるデューティ比検出回路を示す図である。デューティ比検出回路４０は，内部DQS信号dqs90の立ち上がりエッジと内部クロックI_CLKの第１の基準エッジとの間の第１の位相差CD1を検出する立ち上がりエッジの位相差検出部24_UP，25_UPと，内部DQS信号dqs90の立ち下がりエッジと内部クロックI_CLKの第２の基準エッジとの間の第２の位相差CD2を検出する立ち下がりエッジの位相差検出部24_DN，25_DNと，第１の位相差CD1と第２の位相差CD2とからデューティ比を検出するデューティ比検出部４２とを有する。デューティ比検出部４２は，検出したデューティ比に基づいてDQ入力バッファ２３内の基準電圧生成回路を制御する基準電圧制御信号VREF_CNを出力する。
【００４４】
立ち上がりエッジの位相差検出部24_UP，25_UPは，図２で説明した構成と同等であり，立ち上がりエッジ用の位相調整部24_UPと，立ち上がりエッジ用の位相比較部25_UPとを有する。なお，DQ信号を遅延する可変遅延回路DL1,DL2に対する可変遅延設定値は，図２に示したように，専用の位相調整部２４と位相比較部２５により生成される。
【００４５】
立ち上がりエッジ用位相調整部24_UPは，内部DQS信号dqs90を遅延する可変遅延回路DL3_UPを有する。
【００４６】
また，立ち上がりエッジ用比較部25_UPは，可変遅延回路DL3_UPが遅延して出力する第１の遅延DQS信号ddqs(a)を固定値だけ遅延して第２の遅延DQS信号ddqs(b)を出力する固定遅延回路DL4_UPと，第１，第２の遅延DQS信号ddqs(a)，ddqs(b)を，ddqs信号の立ち上がりエッジタイミング信号IH1の判定タイミング中にラッチイネーブル状態になり，内部クロックI_CLKの第１の立ち下がりエッジに同期してラッチするラッチ回路26_UPとを有する。
【００４７】
さらに，位相比較部25_UPは，ラッチ回路26_UPがラッチした位相情報１，２に基づいて，遅延DQS信号ddqsの立ち上がりエッジと内部クロックI_CLKの第１の立ち下がりエッジとの間の位相差を判定する位相判定部27_UPを有する。
【００４８】
そして，位相比較部25_UPは，位相判定部27_UPの位相判定結果に基づいて，位相差をなくすように可変遅延回路DL3_UPの遅延量を制御する可変遅延設定値CD1を生成するとともに，検出した位相差に基づいて最適な立ち上がりエッジタイミング信号IHを生成する可変遅延制御部28_UPを有する。
【００４９】
立ち上がりエッジの位相差検出部24_UP，25_UPの位相比較と位相調整の動作は，図２と同様である。したがって，可変遅延設定値CD1による可変遅延回路DL3_UPの遅延量が，DQS信号dqs90の立ち上がりエッジと内部クロックI_CLKの基準立ち下がりエッジとの位相差になる。
【００５０】
一方，立ち下がりエッジの位相差検出部24_DN，25_DNは，上記の立ち上がりエッジの位相差検出部24_UP，25_UPと同様であり，立ち下がりエッジ用の位相調整部24_DNと，立ち下がりエッジ用の位相比較部25_DNとを有する。これらの構成も，立ち上がりエッジ用の位相調整部24_UPと，立ち上がりエッジ用の位相比較部25_UPと同様である。
【００５１】
但し，異なる点としては，立ち下がりエッジの位相差検出部24_DN，25_DNは，内部DQS信号dqs90の立ち下がりエッジと，内部クロックI_CLKの第２の立ち下がりエッジとの位相差を比較するので，ラッチ回路26_DNは，ddqs信号の立ち下がりエッジタイミング信号IH2の判定タイミング中にラッチイネーブル状態になり，内部クロックI_CLKの第２の立ち下がりエッジに同期して第３，第４の遅延DQS信号ddqs(c)，ddqs(d)を，ラッチする。
【００５２】
さらに異なる点としては，位相判定部27_DNは，図５と異なり，位相情報４，３が「００」の場合に内部DQS信号ddqs(c),ddqs(d)が内部クロックI_CLKの第２の立ち下がりエッジより位相が進んでいる，「１０」の場合に一致している，「１１」の場合に遅れているとそれぞれ判定する。
【００５３】
したがって，可変遅延設定値CD2による可変遅延回路DL3_DNの遅延量が，DQS信号dqs90の立ち下がりエッジと内部クロックI_CLKの基準立ち下がりエッジとの位相差になる。
【００５４】
図１０は，デューティ比検出回路４２の動作を示す図である。図１０（Ａ）は，デューティ比が５０％の場合の位相が一致している状態のタイミングチャートであり，図１０（Ｂ）は，デューティ比が５０％でない場合（６０％）の位相が一致している状態のタイミングチャートであり，図１０（Ｃ）は，デューティ比の５０％からのずれ量を示す。
【００５５】
図１０（Ａ）に示されるように，立ち上がりエッジ用比較部25_UP内のラッチ回路26_UPは，ddqs信号の立ち上がりエッジタイミング信号IH1がLレベルの間において，内部クロックI_CLKの第１の立ち下がりエッジDE1に同期して，遅延DQS信号ddqs(a),ddqs(b)をラッチし，そのラッチ出力である位相情報２，１が「０１」（位相一致）となっている。この時，遅延DQS信号ddqs(a)の立ち上がりエッジと内部クロックI_CLKの基準立ち下がりエッジDE1とは位相同期している。したがって，可変遅延回路DL3_UPの遅延量は，DQS信号dqs90の立ち上がりエッジと内部クロックI_CLKの基準立ち下がりエッジDE1との位相差（DL3_UP)と等しい。
【００５６】
一方，立ち下がりエッジ用比較部25_DN内のラッチ回路26_DNは，ddqs信号の立ち下がりエッジタイミング信号IH2がLレベルの間において，内部クロックI_CLKの第２の立ち下がりエッジDE2に同期して，遅延DQS信号ddqs(c),ddqs(d)をラッチし，そのラッチ出力である位相情報４，３が「１０」（位相一致）となっている。この時，遅延DQS信号ddqs(c)の立ち下がりエッジと内部クロックI_CLKの基準立ち下がりエッジDE2とは位相同期している。したがって，可変遅延回路DL3_DNの遅延量は，DQS信号dqs90の立ち下がりエッジと内部クロックI_CLKの基準立ち下がりエッジDE2との位相差（DL3_DN)と等しい。
【００５７】
そして，上記の２つの位相差DL3_UPとDL3_DNは等しい。すなわち，図１０（Ａ）は，図５と同様に，内部クロックI_CLKがDQS信号の２倍の周波数の例であるので，内部クロックI_CLKの第１の立ち下がりエッジDE1と第２の立ち下がりエッジDE2の位相差は，デューティ比５０％の場合のDQS信号の立ち上がりエッジと立ち下がりエッジの位相差と等しい。そこで，図１０（Ｃ）に示されるように，デューティ比が５０％の場合は，２つの遅延量DL3_UPとDL3_DNが等しく，その差分はゼロになる。
【００５８】
次に，図１０（Ｂ）の場合も同様に，立ち上がりエッジ用比較部25_UP内のラッチ回路26_UPは，ddqs信号の立ち上がりエッジタイミング信号IH1がLレベルの間において，内部クロックI_CLKの第１の立ち下がりエッジDE1に同期して，遅延DQS信号ddqs(a),ddqs(b)をラッチし，そのラッチ出力である位相情報２，１が「０１」（位相一致）となっている。この時，遅延DQS信号ddqs(a)の立ち上がりエッジと内部クロックI_CLKの基準立ち下がりエッジDE1とは位相同期している。したがって，可変遅延回路DL3_UPの遅延量は，DQS信号dqs90の立ち上がりエッジと内部クロックI_CLKの基準立ち下がりエッジDE1との位相差（DL3_UP)と等しい。
【００５９】
一方，立ち下がりエッジ用比較部25_DN内のラッチ回路26_DNは，ddqs信号の立ち下がりエッジタイミング信号IH2がLレベルの間において，内部クロックI_CLKの第２の立ち下がりエッジDE2に同期して，遅延DQS信号ddqs(c),ddqs(d)をラッチし，そのラッチ出力である位相情報４，３が「１０」（位相一致）となっている。この時，遅延DQS信号ddqs(c)の立ち下がりエッジと内部クロックI_CLKの基準立ち下がりエッジDE2とは位相同期している。したがって，可変遅延回路DL3_DNの遅延量は，DQS信号dqs90の立ち下がりエッジと内部クロックI_CLKの基準立ち下がりエッジDE2との位相差（DL3_DN)と等しい。
【００６０】
但し，上記の２つの位相差DL3_UPとDL3_DNは等しくなく，DL3_UP＞DL3_DNの関係になっている。したがって，図１０（Ｃ）に示されるように，デューティ比が５０％を超える場合は，２つの遅延量の差分DL3_UP−DL3_DN＞０となる。逆に，デューティ比が５０％より小さい場合は，２つの遅延量の差分はDL3_UP−DL3_DN＜０となる。
【００６１】
このように，DQS信号のデューティ比は，DQS信号の立ち上がりエッジと内部クロックI_CLKの第１の基準エッジDE1との第１の位相差と，DQS信号の立ち下がりエッジと内部クロックI_CLKの第２の基準エッジDE2との第２の位相差との差に基づいて，デューティ比５０％からどの程度ずれているかを検出することができる。これは，内部クロックI_CLKの基準エッジは一定の周期であることが前提である。
【００６２】
図１１は，デューティ比検出部４２の動作を説明する図である。デューティ比を次のように定義する。
Duty＝｛（DQS信号のH幅）／（DQS信号の周期）｝＊１００（％）
そして，可変遅延設定値CD1−可変遅延設定値CD2＝Xと定義すると，デューティ比は次のとおりである。
Duty＝５０＋ａＸ          （１）
ここで，係数ａは，
ａ＝｛（可変遅延回路DL3_UP，DL3_DNの単位遅延量）／（DQS信号の周期）｝＊１００
である。
【００６３】
ここで，可変遅延回路DL3_UP，DL3_DNは，複数の単位遅延要素を直列に接続し，可変遅延設定値CD1,CD2により，その単位遅延要素の数が可変設定されるものとする。そして，単位遅延要素の遅延時間が，上記の単位遅延量に対応する。つまり，上記の式（１）は，可変遅延設定値CD1,CD2の差分Xに，単位遅延量のDQS信号の周期に対する比率ａを乗算して，５０％に加算することで，デューティ比が算出できることを示している。
【００６４】
図１１には，Ｘ＝３，DQS信号の周期＝1000ps，可変遅延回路の単位遅延量＝20psの例が示されている。この場合，係数ａは，
ａ＝20/1000×100＝２
となり，式（１）によりデューティ比dutyは次の通りになる。
duty＝50+aX＝50+2×3＝56％
また，図１１には，可変遅延設定値CD1,CD2の差分Xと，デューティ比との関係を示す図表が示されている。これによれば，X>0の場合はDQS信号のH幅が広く，デューティ比は５０％を越え，X=0の場合はDQSのH幅とL幅は等しく，デューティ比は５０％となり，X<0の場合はDQSのL幅が広く，デューティ比は５０％より低くなる。
【００６５】
図１２は，DQ入力バッファ内の基準電圧生成回路の一例を示す図である。DQ入力バッファ２３は，基準電圧VREFを生成する基準電圧生成回路23_VREFを有する。基準電圧生成回路23_VREFは，デューティ比検出部４２から供給される基準電圧制御信号VREF_CNに基づいて，基準電圧VREFの電位を調整する。
【００６６】
図１２に示した一例としての基準電圧生成回路23_VREFは，抵抗２Ｒと，抵抗Ｒのラダー回路であり，ノードN0〜Nnにそれぞれ接続された抵抗２Ｒは，スイッチS0〜Snを介して，I/O電源VDDHまたはグランド電圧VSSのいずれかに接続される。基準電圧制御信号VREF_CNは，スイッチS0〜Snのいずれか１つをI/O電源VDDHに接続し，それ以外の全てをグランド電源VSSに接続する。
【００６７】
この回路によれば，ノードN2の抵抗2RだけがスイッチS2を介してI/O電源VDDHに接続されている。そこで，ノードN0から左側の抵抗値は2Rであり，ノードN1から左側の抵抗値も2Rであり，ノードN2から左側の抵抗値も2Rである。一方，ノードNnから右側の抵抗値は2Rであり，同様にノードNn-1から右側の抵抗値も2Rであり，以下同様に，ノードNn-2〜N2から右側の抵抗値も全て2Rである。
【００６８】
したがって，基準電圧制御信号VREF_CNによりI/O電源VDDHに接続されているノードN2の左右の電圧は共に2Rとなる。したがって，ノードN2とグランドVSSとの間は並列な２つの抵抗2Rが設けられ，ノードN2とI/O電源VDDHとの間は１つの抵抗2Rが設けられるので，ノードN2の電圧は，I/O電源VDDHを2RとRとで抵抗分圧されてVDDH/3となる。
【００６９】
さらに，ノードN2の左右に流れる電流i2，i3は，ノードN2の左右のグランドVSSまでの抵抗値が2Rと等しいので，i2=i3となり，I/O電源VDDHからノードN2に流れる電流i1は，i1＝i2＋i3となる。さらに，右隣のノードN3でも電流が1/2ずつ分岐していく。
【００７０】
よって，スイッチSk（k＝０〜ｎ）の抵抗2Rに，1/2，1/4，1/（2L)と重みが付くので，ノードSnの基準電圧VREFは，次のようになる。
VREF＝(1/2n-k)*(VDDH/3)        （２）
したがって，基準電圧制御信号VREF_CNによりいずれかのスイッチSkをI/O電源VDDH側に接続することで，ノードSnに生成される基準電圧VREFを上記の式（２）のように可変制御することができる。
【００７１】
図１３は，本実施の形態におけるメモリコントローラによる基準電圧制御プロセスのフローチャート図である。メモリコントローラは，リード動作制御を行いながら，受信するデータストローブ信号DQSのデューティ比を測定する（S10)。デューティ比測定回路４０は，基準となる内部クロックI_CLKの第１，第２の基準エッジと，DQS信号の立ち上がりエッジ及び立ち下がりエッジとの位相差をゼロにするように可変遅延回路DL3_UP，DL3_DNの可変遅延設定値CD1,CD2を制御する。そして，デューティ比測定回路４０は，可変遅延設定値CD1,CD2の差分がゼロか否か検出し（S12），ゼロの場合は（S12のYES)，DQS信号のデューティ比が５０％であるので，設定済みの基準電圧VREFの使用を継続する（S13)。一方，ゼロでない場合は（S12のNO)，DQS信号のデューティ比が５０％よりずれていることを意味する。そこで，正規のリード動作中であれば（S14のYES)，設定済みの基準電圧VREFの使用を継続し，正規のリード動作中でない間に（S14のNO)，可変遅延設定値CD1,CD2の差分に応じて，基準電圧VREFを上昇設定または下降設定する（S16)。
【００７２】
図１４は，本実施の形態における基準電圧制御プロセスを説明する図である。デューティ比測定回路４０が測定したDQS信号のHレベルの幅とLレベルの幅が等しく，差分がゼロの場合，つまり，可変遅延設定値CD1とCD2の差分がゼロの場合（CD1-CD2=0），DQ信号に対する基準電圧VREFは，適切な電位に設定されている。
【００７３】
一方，DQS信号のHレベルの幅がLレベルの幅より長く，差分がプラスの場合，つまり，可変遅延設定値CD1とCD2の差分がプラスの場合（CD1-CD2>0），DQ信号に対する基準電圧VREFは，適切な電位より低下しているので，基準電圧制御信号VREF_CNを変更して，基準電圧VREFを上昇するように調整する。その結果，基準電圧VREFが受信するデータ信号DQの振幅電圧の中央値に近づくように調整される。
【００７４】
さらに，DQS信号のHレベルの幅がLレベルの幅より短く，差分がマイナスの場合，つまり，可変遅延設定値CD1とCD2の差分がマイナスの場合（CD1-CD2<0），DQ信号に対する基準電圧VREFは，適切な電位より上昇しているので，基準電圧制御信号VREF_CNを変更して，基準電圧VREFを下降するように調整する。その結果，基準電圧VREFが受信するデータ信号DQの振幅電圧の中央値に近づくように調整される。
【００７５】
メモリコントローラは，図２に示した位相調整制御を，正規のリード動作やライト動作が開始される前のトレーニング期間に，擬似的なリード動作を実施して，受信するDQ信号の位相調整を行う。そこで，本実施の形態の基準電圧制御プロセスを，上記のトレーニング期間で実施してもよい。
【００７６】
以上，本実施の形態によれば，DQS信号のデューティ比と基準電圧VREFとの間の相互関係を利用して，DQS信号のデューティ比を測定し，その検出したデューティ比に応じて基準電圧VREFを可変制御し，基準電圧VREFがDS信号の振幅電圧の中央値に近づくように調整するようにしたので，DQ信号のHレベルとLレベルの判定マージンを最大化でき，誤判定を抑制することができる。
【符号の説明】
【００７７】
４０：デューティ比検出回路
24_UP，25_UP：DQS信号の立ち上がりエッジの位相差検出部
24_DN，25_DN：DQS信号の立ち上がりエッジの位相差検出部
４２：デューティ比検出部，基準電圧設定部
２２：DQS入力バッファ
２３：DQ入力バッファ
VRE_CN：基準電圧制御信号
【図１】
2015138537.tif 000003
【図２】
2015138537.tif 000004
【図３】
2015138537.tif 000005
【図４】
2015138537.tif 000006
【図５】
2015138537.tif 000007
【図６】
2015138537.tif 000008
【図７】
2015138537.tif 000009
【図８】
2015138537.tif 000010
【図９】
2015138537.tif 000011
【図１０】
2015138537.tif 000012
【図１１】
2015138537.tif 000013
【図１２】
2015138537.tif 000014
【図１３】
2015138537.tif 000015
【図１４】
2015138537.tif 000016