(57)【要約】【課題】伝送線路の品質向上とともにメモリスループットを向上させるインピーダンス調整装置を提供する。【解決手段】インピーダンス調整装置3は、メモリインピーダンス調整部33と、IFインピーダンス調整部32と、インピーダンス調整同期ユニット37と、を備える。メモリインピーダンス調整部33は、メモリ2の出力バッファのインピーダンス調整を指示するZQ調整コマンドを発行する。IFインピーダンス調整部32は、メモリインターフェース35の出力バッファ351のインピーダンス調整を行うためのIFインピーダンス調整コードを生成して出力する。インピーダンス調整同期ユニット37は、メモリインピーダンス調整部33から前記ZQ調整コマンドが発行されたことに同期して前記IFインピーダンス調整コードを前記メモリインターフェース35に与える。【選択図】図1
2011061666.tif 000002
【特許請求の範囲】
【請求項１】
メモリの出力バッファのインピーダンスとメモリインターフェースの出力バッファのインピーダンスとを整合させるようにインピーダンス調整を行うインピーダンス調整装置であって、
メモリの出力バッファのインピーダンス調整を指示するZQ調整コマンドを発行するメモリインピーダンス調整部と、
メモリインターフェースの出力バッファのインピーダンス調整を行うためのIFインピーダンス調整コードを生成して出力するIFインピーダンス調整部と、
前記メモリインピーダンス調整部から前記ZQ調整コマンドが発行されたことに同期して前記IFインピーダンス調整コードを前記メモリインターフェースに与えるインピーダンス調整同期ユニットと、を備える
ことを特徴とするインピーダンス調整装置。
【請求項２】
請求項1に記載のインピーダンス調整装置において、
前記メモリインピーダンス調整部は、前記ZQ調整コマンドをメモリに向けて発行したのちにZQ調整コマンド完了信号を前記インピーダンス調整同期ユニットに発行し、
前記インピーダンス調整同期ユニットは、前記ZQ調整コマンド完了信号が発行されたタイミングで前記IFインピーダンス調整コードを取り込むとともにこの取り込んだIFインピーダンス調整コードを前記メモリインターフェースに出力する調整コード保持部を有する
ことを特徴とするインピーダンス調整装置。
【請求項３】
請求項2に記載のインピーダンス調整装置において、
前記インピーダンス調整同期ユニットは、
前記ZQ調整コマンド完了信号が発行されたタイミングで前記IFインピーダンス調整部にIFインピーダンス調整コードの生成を指示するIFインピーダンス調整起動信号を与える
ことを特徴とするインピーダンス調整装置。
【請求項４】
請求項1から請求項3のいずれかに記載のインピーダンス調整装置において、
前記メモリからの読み出しデータにエラーが検出されない期間が所定時間継続した場合、前記メモリインピーダンス調整部はZQ調整コマンドの発行を停止する
ことを特徴とするインピーダンス調整装置。
【請求項５】
請求項4に記載のインピーダンス調整装置において、
前記メモリインピーダンス調整部がZQ調整コマンドの発行を停止した場合には、
前記メモリにリフレッシュを実行させるリフレッシュ制御部がリフレッシュコマンドを発行した後にリフレッシュ発行完了信号を発行すると、
前記インピーダンス調整同期ユニットは、前記リフレッシュ発行完了信号が発行されたタイミングで前記IFインピーダンス調整コードを前記メモリインターフェースに与える
ことを特徴とするインピーダンス調整装置。
【請求項６】
メモリの出力バッファのインピーダンスとメモリインターフェースの出力バッファのインピーダンスとを整合させるようにインピーダンス調整を行うインピーダンス調整方法であって、
メモリの出力バッファのインピーダンス調整を指示するZQ調整コマンドを発行し、
メモリインターフェースの出力バッファのインピーダンス調整を行うためのIFインピーダンス調整コードを生成し、
前記ZQ調整コマンドが発行されたことに同期して前記IFインピーダンス調整コードを前記メモリインターフェースに与える
ことを特徴とするインピーダンス調整方法。
【請求項７】
請求項6に記載のインピーダンス調整方法において、
前記ZQ調整コマンドを発行したのちにZQ調整コマンド完了信号を発行し、
生成された前記IFインピーダンス調整コードを前記ZQ調整コマンド完了信号が発行されたタイミングで取り込むとともに前記メモリインターフェースに出力する
ことを特徴とするインピーダンス調整方法。
【請求項８】
請求項7に記載のインピーダンス調整方法において、
前記ZQ調整コマンド完了信号が発行されたタイミングで新たなIFインピーダンス調整コードの生成を開始する
ことを特徴とするインピーダンス調整方法。
【請求項９】
請求項6から請求項8のいずれかに記載のインピーダンス調整方法において、
前記メモリからの読み出しデータにエラーが検出されない期間が所定時間継続した場合、前記ZQ調整コマンドの発行を停止する
ことを特徴とするインピーダンス調整装置。
【請求項１０】
請求項9に記載のインピーダンス調整装置において、
前記ZQ調整コマンドの発行が停止した場合には、
前記メモリのリフレッシュに同期させて前記メモリインターフェースの出力バッファのインピーダンス調整を実行させる
ことを特徴とするインピーダンス調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インピーダンス調整装置およびその方法に関する。
具体的には、半導体記憶装置を使用するにあたり、半導体記憶装置の出力バッファと、メモリコントローラの出力バッファと、のインピーダンス調整を実行するインピーダンス調整装置に関する。
【背景技術】
【０００２】
メモリ−LSI（ASIC）間の伝送線路において、製造プロセスのよるばらつきや電圧変動、温度の変化などによって伝送線路のインピーダンス不整合が生じる。近年では動作速度が高速化される傾向にあるため、伝送線路のインピーダンス不整合が無視できなくなっている。
【０００３】
このため、DDR3-SDRAM（Double Data Rate 3-Synchronous Dynamic Random Access Memory）にはZQキャリブレーション機能が新規に追加された。この機能では、DDR3-SDRAM側の出力バッファのインピーダンスを調整することにより、DDR3-SDRAM→LSI（ASIC）方向の伝送線路の品質を向上させる。また、データ転送は双方向なので、LSI（ASIC）→DDR3-SDRAM方向の伝送線路の品質を向上させるため、LSI（ASIC）側の出力バッファのインピーダンス調整も行なう必要がある。
【０００４】
ここで、背景技術として、一般的なインピーダンス調整について説明する。なお、ZQキャリブレーション機能を用いたインピーダンス調整回路に関しては、例えば、特許文献1から特許文献3に記載されている。
【０００５】
図7は、メモリの周辺回路構成を示す図である。
図7において、メモリ2と内部回路とがデータのやり取りを行う。
内部回路は、リードやライトなどの指示信号をメモリコントロール部34に送る。
すると、メモリコントロール部34は、メモリインターフェース35を介してメモリ2との間でデータの読出しまたは書込みを実行する。
【０００６】
また、診断装置1は、メモリインターフェース35とメモリ2との間のインピーダンス不整合の程度を診断し、所定の条件が満たされた場合には、インピーダンス調整の実行を指示する。
具体的には、診断装置1は、IFインピーダンス調整起動信号と、メモリインピーダンス調整起動信号と、を出力する。
IFインピーダンス調整起動信号は、メモリインターフェース35のIF出力バッファ351のインピーダンス調整を指示する信号である。
メモリインピーダンス調整起動信号は、メモリ2の出力バッファのインピーダンス調整を指示する信号である。
診断装置1からの信号は、インピーダンス調整装置3に出力される。
【０００７】
メモリ2は、メモリコントロール部34から送出されるコマンドに対応してデータの読み書き、インピーダンス調整、リフレッシュ等の動作を行なう。
メモリコントロール部34は、ZQ調整コマンドやその他のリード、ライト、リフレッシュ等のコマンドを制御してメモリインターフェース35に出力する。
メモリインターフェース35は、メモリ2に対してコマンド、データを送出するとともに、メモリからのデータを受信する。
【０００８】
従来のインピーダンス調整装置3は、診断インターフェース31と、IFインピーダンス調整部32と、メモリインピーダンス調整部33と、調整コード保持部36と、を備える。
【０００９】
診断インターフェース31は、診断装置1から送出された信号をインピーダンス調整部32およびメモリインピーダンス調整部33にそれぞれ送出する。すなわち、診断インターフェース31は、IFインピーダンス調整起動信号をIFインピーダンス調整部32に送り、メモリインピーダンス調整起動信号をメモリインピーダンス調整部33に送る。
【００１０】
IFインピーダンス調整部32は、メモリインターフェース35に含まれるIF出力バッファ351のインピーダンス調整を行なうためのIFインピーダンス調整コードを生成する。
調整コード保持部36は、インピーダンス調整部32から送出されたIFインピーダンス調整コードを取り込んで保持するためのフリップフロップ回路である。
【００１１】
メモリインピーダンス調整部33は、メモリ2に含まれる出力バッファのインピーダンス調整を指示するZQ調整コマンドを発行する。
【００１２】
次に従来のインピーダンス調整装置3の動作について説明する。
まず、メモリインターフェース35に含まれるIF出力バッファ351のインピーダンスを調整する手順を説明する。
診断装置1から診断インターフェース31を経由してIFインピーダンス調整起動信号がIFインピーダンス調整部32に送られる。
IFインピーダンス調整起動信号を受信すると、インピーダンス調整部32は、IF出力バッファ351のインピーダンス調整を実施するためのIFインピーダンス調整コードを生成する。
【００１３】
生成されたIFインピーダンス調整コードは、調整コード保持部36に向けて継続的に出力され、調整コード保持部36にセットされる。調整コード保持部36にセットされたIFインピーダンス調整コードの値により、IF出力バッファ351のインピーダンス調整が実行される。
以上の動作が初期化時に行われ、さらに、通常動作時にも定期的に実行される。
【００１４】
次に、メモリ2の出力バッファのインピーダンスを調整する手順について説明する。
初期化時、診断装置1から診断インターフェース31を経由してメモリインピーダンス調整起動信号がメモリインピーダンス調整部33に送られる。
メモリインピーダンス調整部33は、メモリインピーダンス調整起動信号を受信すると、ZQ調整コマンドを発行する。
ZQ調整コマンドは、メモリコントロール部34およびメモリインターフェース35を経由してメモリ2に送出される。すると、メモリ2は、出力バッファのインピーダンス調整を実行する。
【００１５】
通常動作時、ZQ調整コマンドは一定周期（数msから1sの範囲）で発行され、その都度メモリ2の出力バッファのインピーダンスが再調整される。
【００１６】
このように従来のインピーダンス調整にあたっては、メモリインターフェース35のIF出力バッファ351のインピーダンス調整と、メモリ2の出力バッファのインピーダンス調整と、がそれぞれ行われ、これにより、メモリ-メモリインターフェース間の伝送線路の品質の向上が図られていた。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開2005-198308号公報
【特許文献２】特開2008-017475号公報
【特許文献３】特開2008-228276号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
ところで、メモリインターフェース35のIF出力バッファ351のインピーダンス調整を行っている期間はメモリアクセスが禁止される。
また、メモリ2の出力バッファのインピーダンス調整を行っている期間もメモリアクセスが禁止される。
このようにそれぞれのインピーダンス調整時間がそのままメモリアクセス禁止時間となり、メモリスループット性能が低下していた。
ここで、メモリアクセス禁止時間を少なくするためには、インピーダンス調整の回数を少なくすればよいとも考えられるが、インピーダンス調整の回数を減らしてしまうと、インピーダンス不整合による伝送線路の劣化が問題となってしまう。
【００１９】
本発明の目的は、伝送線路の品質向上とともにメモリスループットを向上させるインピーダンス調整装置を提供することにある。
【課題を解決するための手段】
【００２０】
本発明のインピーダンス調整装置は、
メモリの出力バッファのインピーダンスとメモリインターフェースの出力バッファのインピーダンスとを整合させるようにインピーダンス調整を行うインピーダンス調整装置であって、
メモリの出力バッファのインピーダンス調整を指示するZQ調整コマンドを発行するメモリインピーダンス調整部と、
メモリインターフェースの出力バッファのインピーダンス調整を行うためのIFインピーダンス調整コードを生成して出力するIFインピーダンス調整部と、
前記メモリインピーダンス調整部から前記ZQ調整コマンドが発行されたことに同期して前記IFインピーダンス調整コードを前記メモリインターフェースに与えるインピーダンス調整同期ユニットと、を備える
ことを特徴とする。
【００２１】
また、本発明のインピーダンス調整方法は、
メモリの出力バッファのインピーダンスとメモリインターフェースの出力バッファのインピーダンスとを整合させるようにインピーダンス調整を行うインピーダンス調整方法であって、
メモリの出力バッファのインピーダンス調整を指示するZQ調整コマンドを発行し、
メモリインターフェースの出力バッファのインピーダンス調整を行うためのIFインピーダンス調整コードを生成し、
前記ZQ調整コマンドが発行されたことに同期して前記IFインピーダンス調整コードを前記メモリインターフェースに与える
ことを特徴とする。
【図面の簡単な説明】
【００２２】
【図１】第1実施形態の構成を示す図。
【図２】第1実施形態において、初期化シーケンスを示すタイミングチャート。
【図３】第1実施形態において、通常動作時におけるインピーダンス調整を示すタイミングチャート。
【図４】第1実施形態において、通常動作時における2回目のインピーダンス調整を示すタイミングチャート。
【図５】第2実施形態の構成を示す図。
【図６】第3実施形態の構成を示す図。
【図７】背景技術の説明として、メモリの周辺回路構成を示す図。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態を図示するとともに、図中の各要素に付した符号を参照して説明する。
（第1実施形態）
本発明のインピーダンス調整装置に係る第1実施形態について説明する。
図1は、第1実施形態を示す図である。
ここで、図1中、背景技術（図7）と対応する要素には同一の符号を付け、その説明を省略する。
図1中、図7と異なる点は、インピーダンス調整同期ユニット37を備える点にある。
インピーダンス調整同期ユニット37は、調整コード保持部371と、2入力OR回路372と、セレクタ部373と、フリップフロップ回路374と、を備える。
【００２４】
調整コード保持部371は、IFインピーダンス調整部32から送出されるIFインピーダンス調整コードを保持するフリップフロップである。
2入力OR回路372は、調整コード保持部371がデータを取り込むためのセット信号を出力する。
【００２５】
セレクタ部373には、診断インターフェース31から選択信号が入力されている。
この選択信号は、初期化シーケンスにおいて、IF出力バッファ351のインピーダンス調整が完了するまでは"0"を示す。
初期化シーケンスにおいてIF出力バッファ351のインピーダンス調整が完了した後、および、通常動作中は、選択信号は"1"を示す。
【００２６】
なお、この選択信号は分岐されてOR回路372の反転入力端子に入力されている。
【００２７】
また、セレクタ部373には、診断インターフェース31からの初期IF調整指示信号と、メモリインピーダンス調整部33からのZQ調整コマンド完了信号と、が入力される。
ここで、初期IF調整信号は符号0の端子に入力され、ZQ調整コマンド完了信号は符号1の端子に入力される。すなわち、セレクタ部373は、初期化シーケンスにおいて、IF出力バッファ351のインピーダンス調整が完了するまでは診断インターフェース31からの初期IF調整指示信号を選択し、通常動作中は、メモリインピーダンス調整部33からのZQ調整コマンド完了信号を選択する。
セレクタ部373からの信号は、IFインピーダンス調整起動信号としてIFインピーダンス調整部32に入力される。
【００２８】
フリップフロップ374は、メモリインピーダンス調整部33からのZQ調整コマンド完了信号をクロックタイミングで取り込み、セレクタ部373に出力する。
【００２９】
メモリインピーダンス調整部33は、通常動作時は、診断装置1からの指示を受けて、一定周期（数msから1s範囲で変更可能）でZQ調整コマンドを発行する。
このとき、メモリインピーダンス調整部33は、ZQ調整コマンドをメモリコントロール部34に出力した後、フリップフロップ374に対してもZQ調整コマンド完了信号を出力する。
なお、初期化シーケンスにおいては、ZQ調整コマンド完了信号を出す必要はない。
【００３０】
このような構成を備える第1実施形態の動作を説明する。
まず、初期化シーケンスにおけるインピーダンス調整方法について説明する。
図2は、初期化シーケンスを示すタイミングチャートである。
初期化シーケンスにおいて、IF出力バッファ351のインピーダンス調整を行った後、メモリ2の出力バッファのインピーダンス調整を実行する。
以下、順に説明する。
初期化時は、選択信号は"0"である。
この選択信号"0"はOR回路372の反転入力端子に入力されるので、このときOR回路372の出力はHである。
【００３１】
初期化中に、診断装置1から診断インターフェース31を介して、初期IF調整指示信号がセレクタ部373の符号0の端子に出力される（時刻T00）。
すると、セレクタ部373がこの初期IF調整指示信号を選択して、IFインピーダンス調整起動信号としてインピーダンス調整部32に送る。
IFインピーダンス調整起動信号を受信したIFインピーダンス調整部32は、IF出力バッファ351のインピーダンス調整を実施するためのIFインピーダンス調整コード"A"を生成し、この値を出力し続ける。
【００３２】
出力されたIFインピーダンス調整コード"A"は、調整コード保持部371にセットされる。
調整コード保持部371にセットされた調整コード"A"を用いて、IF出力バッファ351のインピーダンス調整が実行される（時刻T01）。
【００３３】
IF出力バッファ351のインピーダンス調整を行った後、診断装置1は、初期IF調整指示信号をLレベルに下げ、選択信号を"1"にする（時刻T02）。これにより、セレクタ部373からIFインピーダンス調整部32に出力されていたIFインピーダンス調整起動信号は停止する。
【００３４】
次に、診断装置1から診断インターフェース31を経由してメモリインピーダンス調整起動信号がメモリインピーダンス調整部33に送られる（時刻T03）。
メモリインピーダンス調整部33は、メモリインピーダンス調整起動信号を受信するとZQ調整コマンドを発行する（時刻T04）。ZQ調整コマンドは、メモリコントロール部34、メモリインターフェース35を経由してメモリ2に送出される（時刻T05）。
このZQ調整コマンドを受けて、メモリ2は、出力バッファのインピーダンス調整を行なう（時刻T06）。
【００３５】
このように初期化シーケンス時は、メモリインターフェース35のIF出力バッファ351、メモリ2の出力バッファの順にインピーダンス調整が実行される。
【００３６】
次に、通常動作時におけるインピーダンス調整の手順について説明する。
図3は、通常動作時におけるインピーダンス調整を示すタイミングチャートである。
初期化シーケンスが終了したところで、通常動作に移行する。
このとき、選択信号は"1"のまま固定であり、セレクタ部373はフリップフロップ374からの信号をセレクトしてIFインピーダンス調整部32に出力するようにしておく。そして、メモリインピーダンス調整部33は、診断装置1からの起動信号を受けて、一定間隔でZQ調整コマンドを発行する。
【００３７】
1回目のZQ調整コマンドがメモリコントロール部34、メモリインターフェース35を経由してメモリ2に送出されると、ZQ調整コマンドを受信したメモリは出力バッファのインピーダンス調整を開始する（時刻T07）。
【００３８】
メモリ2にZQ調整コマンドが発行されたところで、メモリインピーダンス調整部33は、フリップフロップ374にZQ調整コマンド完了信号を発行する（時刻T08）。
ZQ調整コマンド完了信号を発行するタイミングの設定としては、メモリインターフェース35がメモリ2にZQ調整コマンドを送った後で送信完了の信号をメモリインピーダンス調整部33に送り返すようにしておき、この送信完了の信号を受け取った後にメモリインピーダンス調整部33がZQ調整コマンド完了信号を発行するようにしてもよい。
あるいは、メモリインピーダンス調整部33に所定の遅延時間を設定しておいて、ZQ調整コマンドを発行した後所定の遅延時間経過を待ってからZQ調整コマンド完了信号を発行するようにしてもよい。
【００３９】
ZQ調整コマンド完了信号は、フリップフロップ374で一度ラッチされた後、セレクタ部373に出力される。
セレクタ部373は、ZQ調整コマンド完了信号をセレクトし、IFインピーダンス調整起動信号としてIFインピーダンス調整部32に出力する（時刻T09）。
また、フリップフロップ374からの出力は、OR回路372に入力され、SET信号として調整コード保持部371に与えられる。
【００４０】
このとき、IFインピーダンス調整部32から出力されている調整コードは、初期化シーケンスの際に生成した調整コード"A"であるので、調整コード保持部371は調整コードAを取り込む。
すなわち、調整コードの値は変化しないことになる。
したがって、この場合、結果的には、IF出力バッファのインピーダンス調整はない。
【００４１】
また、IFインピーダンス調整部32は、IFインピーダンス調整起動信号を受信するとインピーダンス調整コードの生成を開始する。
IFインピーダンス調整コードの生成には所定の時間が必要である。
IFインピーダンス調整部32は、新たな調整コードを生成した後、インピーダンス調整コード"Ｂ"を出力し続ける（時刻T10）。
【００４２】
このようにして通常動作時の一回目の調整シーケンスが完了する。
【００４３】
通常動作時の2回目の調整シーケンスに移行する。
図4は、通常動作時における2回目のインピーダンス調整を示すタイミングチャートである。
【００４４】
2回目のZQ調整コマンドがメモリインピーダンス調整部33から発行される（時刻T11）。すると、メモリコントロール部34およびメモリインターフェース35を介して、ZQ調整コマンドはメモリ2に送られる（時刻T12）。
ZQ調整コマンドを受けると、メモリ2の出力バッファ調整が実行される（時刻T13）。
【００４５】
また、ZQ調整コマンド完了信号がメモリインピーダンス調整部33から発行され（時刻T14）、フリップフロップ374、セレクタ部を介してIFインピーダンス調整起動信号としてIFインピーダンス調整部32に出力される（時刻T15）。すると、IFインピーダンス調整部32にて調整コードの生成が開始される。
【００４６】
フリップフロップ374からの出力は、OR回路372にも入力され、SET信号として調整コード保持部371に与えられる。すると、調整コード保持部371は、調整コードを取り込む。
このとき、IFインピーダンス調整部32からは、前回生成した調整コード"B"が出力されているので、調整コード保持部371は、この調整コードBを取り込む。
調整コード保持部371からはこの新たな調整コードBがメモリインターフェース35に出力される。すると、メモリインターフェースのIF出力バッファのインピーダンス調整が実行される（時刻T16）。
【００４７】
このように、通常動作時の2回目の調整シーケンスにおいては、メモリ2の出力バッファの調整とともに、IF出力バッファ351のインピーダンス調整も実行される。
このとき、ZQ調整コマンド完了信号がフリップフロップ374およびOR回路372を介し、SET信号として調整コード保持部371に与えられることによりIF出力バッファ351の調整は開始される。
したがって、IF出力バッファ351のインピーダンス調整は、メモリ2の出力バッファのインピーダンス調整を実行している間に行われることになる。
【００４８】
通常動作時の3回目以降の調整シーケンスは、上述の2回目の調整シーケンスと同様である。
【００４９】
このような構成を備える第1実施形態によれば、メモリ2の出力バッファのインピーダンスを調整している期間に同期してIF出力バッファ351のインピーダンス調整が実行される。
ここで、メモリ2の出力バッファのインピーダンス調整を行っている期間はメモリアクセスが禁止になる。
また、IF出力バッファ351のインピーダンス調整を実行している期間はメモリ2にアクセスできなくなる。
従来は、メモリ出力バッファのインピーダンス調整とIF出力バッファ351のインピーダンス調整とがそれぞれ独自のタイミングで実行されていたため、メモリアクセスが不可になる時間が長くなっていた。
【００５０】
この点、本実施形態によれば、メモリ出力バッファのインピーダンス調整を行うために発生するメモリアクセス禁止時間に同期してIF出力バッファ351のインピーダンス調整を実行させる。
これにより、メモリアクセスが不可になる時間を少なくし、インピーダンス調整に起因したスループットの低下を防止することができる。
また、メモリ出力バッファのインピーダンス調整とIF出力バッファのインピーダンス調整とのタイミングを同期させることでメモリアクセスが不可になる時間が少なくなるので、従来に比べてインピーダンス調整の頻度を上げることができ、メモリスループット性能を低下させることなく、かつ、メモリ−メモリインターフェース間の伝送線路の信頼性を向上させることができる。
【００５１】
なお、本実施形態においては、調整コード保持部371における調整コードの更新では、前回の調整シーケンス期間に生成された調整コードの値を取り込むことになる。
この点、インピーダンスの調整周期はms単位と短く、その間の環境変化（例えば環境温度の変化）は極めて小さいと推定できる。
したがって、1サイクル前の値を使用することでインピーダンス不整合が問題になるようなことはなく、むしろ、本実施形態によるスループットの向上および調整回数の増加による利点がはるかに大きい。
【００５２】
（第2実施形態）
次に、本発明の第2実施形態について説明する。
第2実施形態の基本的構成は第1実施形態と同様であるが、メモリ−メモリインターフェース間の伝送線路の品質が良好である場合の動作に特徴を有する。
図5は、第2実施形態の構成を示す図である。
図5を参照して、第2実施形態の構成とともにその動作を説明する。
【００５３】
第2実施形態（図5）において、ECC（Error Check and Correct）回路38は、メモリ2からのリードデータに対してエラーデータの訂正やエラー検出を行う。
ECC回路38は、診断インターフェース31を介してエラーの有無を診断装置1に送出する。
【００５４】
診断装置1は、ECC回路38によるエラー検出を監視する。
ここで、エラーが一定時間発生しなかった場合、装置環境は安定しており、インピーダンス調整は特に必要ないと考えられる。そこで、診断装置1は、エラーが一定時間発生しなかった場合、メモリインピーダンス調整停止信号を発行する。
メモリインピーダンス調整停止信号は、診断インターフェース31を介してメモリインピーダンス調整部33に送られる。
メモリインピーダンス調整部33は、メモリインピーダンス調整停止信号を受信すると、ZQ調整コマンドの発行を停止する。
【００５５】
ECC回路38によってエラーが検出された場合には、インピーダンス調整が必要であると考えられる。そこで、ECC回路38によるエラー検出によって診断装置1がエラーの発生を認識した場合、診断装置1は、メモリインピーダンス調整起動信号を再発行する。
メモリインピーダンス調整起動信号はメモリインピーダンス調整部33に送られる。
メモリインピーダンス調整起動信号を受信すると、メモリインピーダンス調整部33は、ZQ調整コマンドの停止を解除し、ZQ調整コマンドを一定周期で発行する。
ZQ調整コマンドが発行された場合の動作は前記第1実施形態と同様であり、メモリ出力バッファのインピーダンス調整とIF出力バッファ351のインピーダンス調整が実行される。
【００５６】
このように、本第2実施形態では、メモリ−メモリインターフェース間の伝送線路の品質が良い場合はインピーダンス調整を実行しない。したがって、メモリアクセス禁止時間が削減され、メモリスループット性能が向上するという効果が得られる。
【００５７】
（第3実施形態）
次に、本発明の第3実施形態について説明する。
第3実施形態の基本的構成は第2実施形態と同様であるが、第3実施形態においてはインピーダンス調整停止信号を発行した場合の動作にさらに特徴を有する。
図6は、第3実施形態の構成を示す図である。
図6において、リフレッシュ制御部39は、メモリ2のデータ保持のために必要なリフレッシュコマンドを一定周期で発行する。
例えば、メモリ2がDDR3-SDRAMである場合、リフレッシュコマンドを一定周期（TREFI＝7.8μs（0℃≦Tcase＜85℃）、3.9μs（85℃≦Tcase＜95℃））で発行する。
【００５８】
リフレッシュコマンドはメモリコントロール部34に出力され、メモリコントロール部34からメモリインターフェース35を介してメモリ2に送出される。
メモリ2は、リフレッシュコマンドを受信すると、リフレッシュ動作を実行する。
また、リフレッシュ制御部39は、リフレッシュコマンドを発行した後、リフレッシュ発行完了信号をインピーダンス調整同期ユニット37に送る。
【００５９】
第3実施形態においては、インピーダンス調整同期ユニット37がセレクタ部375をさらに備える。
セレクタ部375は、フリップフロップ374の前段に配置されている。
ここで、セレクタ部375には診断インターフェース31を介して診断装置1から選択信号が入力されている。
この選択信号は、メモリインピーダンス調整起動信号が発行された場合には"0"となり、メモリインピーダンス調整停止信号が発行された場合には"1"になるように制御されている。
【００６０】
また、セレクタ部375には、メモリインピーダンス調整部33からのZQ調整コマンド完了信号と、リフレッシュ制御部39からのリフレッシュ発行完了信号と、が入力されている。
ここで、ZQ調整コマンド完了信号は符号0の端子に入力され、リフレッシュ発行完了信号は符号1の端子に入力される。すなわち、セレクタ部373は、メモリインピーダンス調整起動信号が発行された場合にはZQ調整コマンド完了信号を選択し、メモリインピーダンス調整停止信号が発行された場合にはリフレッシュ発行完了信号を選択する。そして、セレクタ部375からの信号はフリップフロップ374に入力される。
【００６１】
フリップフロップ374からの信号は、セレクタ部373の符号1の端子に入力されるとともに、分岐されてOR回路372に入力される。
【００６２】
第3実施形態の動作について説明する。
第3実施形態においては、メモリインピーダンス調整停止信号が発行された場合の動作に特徴があり、その他の場合は第2実施形態と同様である。
ここでは、主として、メモリインピーダンス調整停止信号が発行された場合の動作について説明する。
【００６３】
リフレッシュ制御部39は、定期的にリフレッシュコマンドを発行する。
なお、リフレッシュコマンドは、メモリインピーダンス調整停止信号の有無に関わらず、データ保持のために定期的に発行される。
リフレッシュコマンドは、メモリコントロール部34、メモリインターフェース35を経由してメモリ2に送出される。
リフレッシュコマンドを受信すると、メモリ2はリフレッシュ動作を開始する。
リフレッシュコマンドを発行した後、リフレッシュ制御部39は、リフレッシュ発行完了信号をセレクタ部375に送出する。
【００６４】
ここで、メモリインピーダンス調整停止信号が発行されている場合なので、選択信号は"1"である。
セレクタ部375は、リフレッシュ発行完了信号を選択し、これをフリップフロップ374に送る。
【００６５】
フリップフロップ374は、リフレッシュ発行完了信号を一度ラッチした後、セレクタ部373に出力する。
セレクタ部373は、リフレッシュ発行完了信号を選択して、IFインピーダンス調整起動信号としてIFインピーダンス調整部32に送る。
【００６６】
IFインピーダンス調整起動信号を受信したIFインピーダンス調整部32はIFインピーダンス調整コードの生成を開始し、完了後にIFインピーダンス調整コードを出力し続ける。
また、フリップフロップ374にてラッチしたリフレッシュ発行完了信号は、OR回路372を通り、調整コード保持部371のセット信号となる。
第1実施形態にて説明したように、インピーダンス調整コードの生成には時間が掛かるため、調整コード保持部371には、前回のシーケンスで生成されたインピーダンス調整コードがセットされる。
そして、調整コード保持部371にセットされた調整コードにより、メモリインターフェース35のIF出力バッファ351のインピーダンスが調整される。
このインピーダンスの変更はDDR3スペックで規定されるリフレッシュ中のメモリアクセス禁止時間（tRFC = 110ns（容量1Gb））以内に行なわれる。
【００６７】
第3実施形態においては、メモリ2がリフレッシュを実行している間にIF出力バッファ351のインピーダンス調整を実行する。
メモリ2がリフレッシュを実行している間はメモリ2へのアクセスが不可になるため、メモリスループット性能を低下させることなく、メモリインターフェース→メモリ方向の伝送線路の品質を向上させることができる。
第2実施形態のように、インピーダンス調整を停止すると、エラーは発生していなくても最適状態からはズレが生じていく恐れがある。
この点、第3実施形態では、メモリ2のリフレッシュ時に、メモリインターフェースのIF出力バッファのインピーダンス値だけでも最適にする調整を実行する。これにより、メモリスループットに影響を与えることなく、伝送線路の品質を向上させることができる。
【００６８】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
インピーダンス調整同期ユニットの構成は上記実施形態に限定されるものではなく、種々の変更が可能である。たとえば、調整コード保持部は、フリップフロップの他、サンプルアンドホールド回路であってもよい。
また、インピーダンス調整同期ユニットをCPU、ROM、RAMで構成されるコンピュータに置き換え、インピーダンス調整プログラムによって上記実施形態で説明した各機能部として動作させるようにしてもよい。
メモリとしては、DDR3-SDRAMを例にして説明したが、これに限らず各種の半導体記憶装置であってもよいことはもちろんである。
【符号の説明】
【００６９】
1…診断装置、2…メモリ、3…インピーダンス調整装置、31…診断インターフェース、32…IFインピーダンス調整部、33…メモリインピーダンス調整部、34…メモリコントロール部、35…メモリインターフェース、36…調整コード保持部、37…インピーダンス調整同期ユニット、38…ECC回路、39…リフレッシュ制御部、351…IF出力バッファ、371…調整コード保持部、372…OR回路、373…セレクタ部、374…フリップフロップ回路、375…セレクタ部。
【図１】
2011061666.tif 000003
【図２】
2011061666.tif 000004
【図３】
2011061666.tif 000005
【図４】
2011061666.tif 000006
【図５】
2011061666.tif 000007
【図６】
2011061666.tif 000008
【図７】
2011061666.tif 000009