(57)【特許請求の範囲】
【請求項１】
データソースからデータデスティネーションへのデータの転送を制御するメモリコントローラであって、
該メモリコントローラは、
異なる時間において、複数の遅延クロック信号を生成するように構成されている遅延回路と、
該複数の遅延クロック信号に応答する複数のラッチであって、該複数のラッチのそれぞれは、該データソースからタイミング信号を受信し、該遅延クロック信号に応答して、該データソースから受信された該タイミング信号に対応するラッチ信号を生成する、複数のラッチと、
該複数のラッチからの複数のラッチ信号に応答する比較回路であって、該複数のラッチ信号間の差異に対応する比較信号を生成するように構成されている比較回路と
を備え、
該複数のクロック信号は、
タイミング信号のデータ有効ウインドウ（ＤＶＷ）の名目上の立ち上がりエッジおよび名目上の立ち下がりエッジにおいて生成される遅延クロック信号と、
該ＤＶＷの名目上の立ち上がりエッジの直後および該ＤＶＷの名目上の立ち下がりエッジの直前のうちの一方において生成される遅延クロック信号と、
該ＤＶＷの名目上の中間点において生成される遅延信号と
を含む、メモリコントローラ。
【請求項２】
前記比較回路は、前記名目上の立ち上がりエッジの直後に生成された遅延信号および前記名目上の立ち下がりエッジの直前に生成された遅延信号のうちの一方に対応するラッチ信号と、前記名目上の中間点において生成された遅延信号に対応するラッチ信号との間の差異に従って、前記比較信号を生成するように構成されている、請求項１に記載のメモリコントローラ。
【請求項３】
前記遅延回路は、前記比較信号に応答し、該比較信号に従って、前記複数の遅延クロック信号のうちの少なくとも１つのタイミングを調整する、請求項１に記載のメモリコントローラ。
【請求項４】
前記データソースは、電圧時定数および熱時定数のうちの少なくとも一方を表示し、前記遅延回路は、該電圧時定数および該熱時定数のうちの少なくとも一方に従って、前記複数の遅延クロック信号を生成するように構成されている、請求項１に記載のメモリコントローラ。
【請求項５】
前記遅延回路は、マルチタップ遅延線を含む、請求項１に記載のメモリコントローラ。
【請求項６】
前記遅延回路は、自走クロック信号と共に、前記複数の遅延クロック信号を生成するように構成されている、請求項１に記載のメモリコントローラ。
【請求項７】
データ信号およびタイミング信号を生成するように構成されているデータソースと、
データデスティネーションと、
該データソースからの該タイミング信号を解析するタイミング信号解析手段であって、該タイミング信号に従って、該データ信号におけるデータ有効ウインドウ（ＤＶＷ）を識別するタイミング信号解析手段と、
該データ信号における該ＤＶＷにおけるデータを該データソースからキャプチャするデータキャプチャ手段であって、該ＤＶＷの名目上の立ち上がりエッジにおいて遅延クロック信号を生成し、該ＤＶＷの名目上の立ち下がりエッジにおいて遅延クロック信号を生成し、該ＤＶＷの名目上の立ち上がりエッジの直後および該ＤＶＷの名目上の立ち下がりエッジの直前のうちの一方において遅延クロック信号を生成し、該ＤＶＷの名目上の中間点において遅延信号を生成するように構成されているデータキャプチャ手段と、
該キャプチャされたデータを該データデスティネーションに転送する手段と、
該タイミング信号解析手段に従って、該データキャプチャ手段を調整する手段と
を含む、電子システム。
【請求項８】
前記データキャプチャ手段は、前記複数の遅延クロック信号を生成するように構成されている遅延回路を含む、請求項７に記載の電子システム。
【請求項９】
前記タイミング信号解析手段は、前記名目上の立ち上がりエッジの直後および前記名目上の立ち下がりエッジの直前のうちの一方において生成された遅延信号に対応するラッチ信号と、前記名目上の中間点において生成された遅延クロック信号に対応するラッチ信号との間の差異に従って、比較信号を生成するように構成されている比較回路を含む、請求項８に記載の電子システム。
【請求項１０】
前記遅延回路は、マルチタップ遅延線を含む、請求項８に記載の電子システム。
【請求項１１】
前記遅延回路は、自走クロック信号と共に、前記複数の遅延クロック信号を生成するように構成されている、請求項８に記載の電子システム。
【請求項１２】
データソースからデータデスティネーションにデータを転送するデータ転送システムであって、
該データ転送システムは、
複数の時間において該データソースからのタイミング信号をサンプリングするように構成されているサンプラであって、該複数の時間は、該タイミング信号におけるデータ有効ウインドウ（ＤＶＷ）の名目上の立ち上がりエッジにおける時間と、該ＤＶＷの名目上の立ち下がりにおける時間と、該ＤＶＷの名目上の立ち上がりエッジの直後の時間および該ＤＶＷの名目上の立ち下がりエッジの直前の時間のうちの一方の時間と、該ＤＶＷの名目上の中間点における時間とを含む、サンプラと、
該サンプラからのサンプルを解析することにより、該ＤＶＷの該立ち上がりエッジと該立ち下がりエッジと該中間点とを識別するように構成されている比較回路と
を備えた、データ転送システム。
【請求項１３】
前記比較回路は、前記サンプラが前記タイミング信号をサンプリングするように構成されている複数の時間を調整するようにさらに構成されている、請求項１２に記載のデータ転送システム。
【請求項１４】
前記比較回路は、前記複数の時間のうちの少なくとも１つの時間を調整するようにさらに構成されており、前記サンプラは、前記ＤＶＷの前記識別された立ち上がりエッジと前記識別された立ち下がりエッジと前記識別された中間点のうちの少なくとも１つに対応するように前記データ信号をサンプリングするように構成されている、請求項１２に記載のデータ転送システム。
【請求項１５】
前記比較回路は、前記名目上の立ち上がりエッジの直後および前記名目上の立ち下がりエッジの直前からのサンプルと、前記名目上の中間点からのサンプルとを比較するように構成されている、請求項１２に記載のデータ転送システム。
【請求項１６】
前記サンプラは、該タイミング信号の複数のサンプルを生成するマルチタップ遅延線を含み、該複数のサンプルのすべてが前記タイミング信号に対して遅延されている、請求項１２に記載のデータ転送システム。
【請求項１７】
前記サンプラは、複数の時間において、自走クロック信号と共に、前記データソースからのタイミング信号をサンプリングするように構成されている、請求項１２に記載のデータ転送システム。
【請求項１８】
メモリモジュールへのアクセスを制御するメモリ制御システムであって、
タイミング信号から複数のサンプルを取得するサンプリング回路であって、該複数のサンプルは、該タイミング信号におけるデータ有効ウインドウ（ＤＶＷ）の名目上の立ち上がりエッジからのサンプルと、該ＤＶＷの名目上の立ち下がりエッジからのサンプルと、該ＤＶＷの名目上の立ち上がりエッジの直後の時間からのサンプルおよび該ＤＶＷの名目上の立ち下がりエッジの直前の時間からのサンプルのうちの少なくとも一方からのサンプルと、該ＤＶＷの名目上の中間点におけるサンプルとを含む、サンプリング回路と、
該サンプリング回路から該複数のサンプルを受信し、該タイミング信号に従って、該ＤＶＷを識別する解析回路と
を備えた、メモリ制御システム。
【請求項１９】
前記サンプリング回路は、前記ＤＶＷの近似的な中間点においてデータキャプチャ信号を生成する、請求項１８に記載のメモリ制御システム。
【請求項２０】
前記解析回路は、前記ＤＶＷから近似的な中間点における中間点のサンプルを取得するように、前記サンプリング回路によって取得された前記複数のサンプルを調整するように構成されている、請求項１８に記載のメモリ制御システム。
【請求項２１】
前記解析回路は、前記名目上の中間点のサンプルと、前記名目上の立ち上がりエッジの直後の時間からのサンプルおよび前記名目上の立ち下がりエッジの直前の時間からのサンプルのうちの少なくとも一方とを比較する、請求項１８に記載のメモリ制御システム。
【請求項２２】
前記解析回路は、マルチタップ遅延線を含む、請求項１８に記載のメモリ制御システム。
【請求項２３】
前記サンプリング回路は、自走クロック信号と共に、前記複数のサンプルを取得する、請求項１８に記載のメモリ制御システム。
【請求項２４】
データソースからデータデスティネーションへのデータの転送を制御するメモリコントローラであって、
該メモリコントローラは、
複数のキャプチャ信号を生成するタイミング回路を備え、
該タイミング回路は、タイミング信号のデータ有効ウインドウ（ＤＶＷ）の立ち上がりエッジおよび立ち下がりエッジを識別し、該ＤＶＷの名目上の立ち上がりエッジの直後の第１のキャプチャ信号および該名目上の立ち下がりエッジの直前の第２のキャプチャ信号のうちの少なくとも一方を生成し、名目上の中間点において第３のキャプチャ信号を生成する、メモリコントローラ。
【請求項２５】
解析回路をさらに備え、該解析回路は、前記ＤＶＷの前記識別された立ち上がりエッジおよび前記識別された立ち下がりエッジのうちの少なくとも一方に従って、前記タイミング回路によって生成された前記キャプチャ信号のタイミングを調整するように構成されている、請求項２４に記載のメモリコントローラ。
【請求項２６】
前記解析回路は、前記データソースに関連付けられた電圧時定数および熱時定数のうちの少なくとも一方に従って、前記タイミング回路によって生成された前記キャプチャ信号のタイミングを選択的に調整するように構成されている、請求項２５に記載のメモリコントローラ。
【請求項２７】
クロック信号を生成するように構成されている自走クロック回路をさらに含み、前記タイミング回路は、該クロック信号と共に、前記キャプチャ信号を生成する、請求項２４に記載のメモリコントローラ。
【請求項２８】
前記タイミング回路は、前記ＤＶＷの名目上の中間点において、前記キャプチャ信号を生成する、請求項２４に記載のメモリコントローラ。
【請求項２９】
前記タイミング回路は、マルチタップ遅延線を含む、請求項２４に記載のメモリコントローラ。
【請求項３０】
データソースからデータデスティネーションにデータを転送する方法であって、
該データを転送する方法は、
名目上の立ち上がりエッジの直後および名目上の立ち下がりエッジの直前のうちの一方において信号をサンプリングすることによって、データ有効ウインドウ（ＤＶＷ）の近似的な立ち上がりエッジおよび近似的な立ち下がりエッジのうちの少なくとも一方を識別するように該信号をサンプリングすることと、
該ＤＶＷの該識別された近似的な立ち上がりエッジおよび該ＤＶＷの該識別された近似的な立ち下がりエッジのうちの少なくとも一方に従って、該ＤＶＷの名目上の立ち上がりエッジおよび名目上の立ち下がりエッジのうちの少なくとも一方を調整することと
を包含する、データを転送する方法。
【請求項３１】
前記ＤＶＷの近似的な中間点においてデータをキャプチャすることをさらに包含する、請求項３０に記載のデータを転送する方法。
【請求項３２】
名目上の中間点において前記信号をサンプリングすることと、
前記ＤＶＷの該名目上の中間点からのサンプルと、該ＤＶＷの名目上の立ち上がりエッジの直後および名目上の立ち下がりエッジの直前のうちの少なくとも一方からのサンプルとを比較することをさらに包含する、請求項３０に記載のデータを転送する方法。
【請求項３３】
データソースからデータデスティネーションにデータを転送する方法であって、
該データを転送する方法は、
データ有効ウインドウ（ＤＶＷ）の名目上の立ち上がりエッジおよび名目上の立ち下がりエッジにおいて、該データソースからのタイミング信号をサンプリングすることと、
該ＤＶＷの名目上の立ち上がりエッジの直後および該ＤＶＷの名目上の立ち下がりエッジの直前のうちの一方において該タイミング信号をサンプリングすることと、
該サンプリングされたタイミング信号に従って、該データ信号におけるＤＶＷを識別することと、
該識別されたＤＶＷにおけるデータをキャプチャすることと
を包含する、データを転送する方法。
【請求項３４】
前記ＤＶＷを識別することは、前記タイミング信号におけるＤＶＷの名目上の中間点においてサンプリングすることと、該名目上の中間点のサンプルと、前記名目上の立ち上がりエッジの直後のサンプルおよび前記名目上の立ち下がりエッジの直前のサンプルのうちの一方とを比較することとをさらに包含する、請求項３３に記載のデータを転送する方法。
【請求項３５】
前記データをキャプチャすることは、前記識別されたＤＶＷの近似的な中間点においてデータをキャプチャすることを包含する、請求項３３に記載のデータを転送する方法。
【請求項３６】
前記データ信号における前記識別されたＤＶＷに従って、前記タイミング信号のサンプリングを調整することをさらに包含する、請求項３３に記載のデータを転送する方法。
【請求項３７】
メモリからデータを読み出す方法であって、
該データを読み出す方法は、
該メモリからタイミング信号をリクエストすることと、
該リクエストされたタイミング信号におけるデータ有効ウインドウ（ＤＶＷ）の近似的な名目上の立ち上がりエッジと、該ＤＶＷの近似的な名目上の立ち下がりエッジと、該ＤＶＷの近似的な名目上の立ち上がりエッジの直後および該ＤＶＷの近似的な名目上の立ち下がりエッジの直前のうちの１つとにおいて、該リクエストされたタイミング信号をサンプリングすることと、
該ＤＶＷの立ち上がりエッジおよび立ち下がりエッジのうちの少なくとも一方を識別することと、
該立ち上がりエッジおよび該立ち下がりエッジのうちの少なくとも一方に基づいて、該ＤＶＷの近似的な中間点を計算することと、
該メモリからデータ信号を受信することと、
該タイミング信号のＤＶＷの近似的な中間点に対応する該データ信号のＤＶＷの近似的な中間点において、該データ信号からデータをキャプチャすることと
を包含する、データを読み出す方法。
【請求項３８】
前記名目上の中間点サンプルと、前記名目上の立ち上がりエッジの直後のサンプルおよび前記名目上の立ち下がりエッジの直前のサンプルのうちの少なくとも一方とを比較することを包含する、請求項３７に記載のデータを読み出す方法。
【請求項３９】
前記ＤＶＷの立ち上がりエッジおよび立ち下がりエッジのうちの前記識別された少なくとも一方に従って、前記タイミング信号のサンプリングを調整することを包含する、請求項３７に記載のデータを読み出す方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、概して、メモリデバイス、方法、およびシステムに関し、より詳細には、メモリアクセスのためのタイミングに関する。
【背景技術】
【０００２】
（発明の背景）
多くの電子システムおよび仮想的な各コンピュータは、情報を格納するためにメモリを含む。一時記憶装置に対して、多くのシステムは、高いアクセス速度および低コストのためにランダムアクセスメモリ（ＲＡＭ）を使用する。いくつかのタイプのＲＡＭおよび他のメモリデバイスが存在し、コンピュータとして開発され続けており、他の電子システムが進歩している。
【０００３】
メモリを用いて情報を格納および取り出すために、データは、データソースデバイスによって多重データ線上でアサートされる。純粋なシンクロナスシステムでは、データの出力およびキャプチャは、共通の自走システムクロックを基準とする。しかし、システム等の最大データ速度は、出力アクセス時間および飛行時間の合計が、ビット時間に接近する場合に到達する（データ速度の相互作用）。最初のデータ送出および／または後のデータキャプチャに対して遅延したクロックの発生は、データ速度の増加を可能にするが、このような技術は、温度、電圧、または負荷の変化に起因する、任意の固有のクロック信号に対して、データ有効ウインドウ（ＤＶＷまたはデータアイ（ｄａｔａ  ｅｙｅ））の移動を説明しない。
【０００４】
種々のｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ  ｓｙｎｃｈｒｏｎｏｕｓ  ｄｙｎａｍｉｃ  ＲＡＭ  （ＤＤＲＳＤＲＡＭ）等の多くのメモリは、データ線上のデータが最も有効である場合、メモリアクセスを実行するようにデータストローブと共に動作する。データストローブは、データ信号を駆動する、デバイス（ＷＲＩＴＥ動作についてはメモリコントローラ、ＲＥＡＤ動作についてはメモリ）によって駆動される非自走信号である。ＲＥＡＤ動作に対して、データストローブ信号は、全てのデータおよびデータストローブが同じ内部クロック信号を用いてメモリによってアサートされるように、データ信号とエッジが整列される。その結果、データ信号およびデータストローブ信号が、名目上同じ時刻で発生する。
【０００５】
しかし、典型的なメモリは、ＤＶＷの中間においてデータストローブを発生しない。その結果、有効なデータがデータ線上に存在するまで、メモリを読み出す外部システムは、典型的には、データ線の読み出しを遅延させる。典型的には、メモリコントローラは、ＤＶＷの中間で受信されたストローブを遅延させるように構成される。多くのメモリシステムは、以後データストローブになる適切な遅延を発生させるために遅延ロックループ（ＤＬＬ）回路を用いてメモリアクセスを同期させるが、既に混雑した集積回路の領域を消費する。ストローブおよびＤＬＬ回路を用いることもまた、品質管理のために素子を試験する際に困難を呈示する。さらに、多くのシステムは、いくつかの異なるかつ独立したメモリモジュールを制御するメモリコントローラを使用する。
【０００６】
さらに、各メモリモジュールに対して適切な遅延を挿入するために、しばしば、メモリコントローラは、各メモリモジュール専用のスレーブＤＬＬ回路およびスレーブＤＬＬ回路の動作を制御するマスターＤＬＬ回路を含む。各さらなるＤＬＬ回路は、集積回路中にさらなる領域を必要とする。これにより、サイズ、コスト、電力消費、およびメモリシステムの複雑さを増加させる傾向がある。この問題は、複数のマスターＤＬＬ回路の追加によって悪化し、各回路は、バス上で１以上のバイトに関連付けられる。
【発明の開示】
【課題を解決するための手段】
【０００７】
（発明の要旨）
本発明の種々の局面に係るメモリシステムおよび方法は、メモリおよびメモリへのアクセスを制御するための適応タイミングシステムを含む。この適応タイミングシステムは、データ信号中のデータをデータ有効ウインドウ（ＤＶＷ）でキャプチャする。一実施形態では、適応タイミングシステムは、ＤＶＷの中間点においてデータ信号をサンプリングするための遅延回路を含む。適応タイミングシステムはまた、ＤＶＷの中間点がＤＶＷの実際の中間点に対応するかどうかを識別し、かつそれに従って遅延回路を調整するための識別回路を含み得る。
【０００８】
本発明は、例示的に示され、添付の図面に限定されない。添付図面において、同様の参照符号は、同様の構成要素を指す。
【０００９】
図中の構成要素および結合が、簡潔および明瞭にするために示され、必ずしも縮尺通りには描写されてはいない。例えば、図中のいくつかの構成要素の寸法は、本発明の実施形態の理解を改善するのに役立つために、他の構成要素に対して誇張され得る。
【発明を実施するための最良の形態】
【００１０】
（例示的実施形態の詳細な説明）
本発明の対象物は、ＳＤＲＡＭ等のメモリ構成要素を用いる電子システムと共に使用するために特に適応される。その結果、本発明の好適な例示的実施形態は、その意味において説明される。しかし、このような説明は、本発明の使用または適用性について制限しないが、その代わりに、例示的実施形態の十分かつ完全な説明を可能にするように提供される。
【００１１】
図１を参照すると、本発明の種々の局面に係る電子システム１００は、プロセッサ１０２、メモリシステム１０４、およびデータソースおよび／またはデスティネーション１０６を含み得る。電子システム１００は、従来のパーソナルコンピュータシステム等のメモリを用いるシステムを含む。しかし、電子システム１００は、通信システム、コンピューティングシステム、エンターテインメントシステム、制御システム、ポータブル電子デバイス、オーディオコンポーネント、または工場制御システム等の任意の適切な電子システムを含み得、種々のコンポーネントは、特定のシステムおよび環境に従って異なり得る。概して、プロセッサ１０２は、電子システムの動作を制御し、Ｉｎｔｅｌ、Ｔｅｘａｓ  Ｉｎｓｔｒｕｍｅｎｔｓ、またはＡｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ  ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ等の任意の適切なプロセッサを含み得る。データソースおよび／またはデスティネーション１０６は、データを送受信するために、電子システム１００中に任意の適切なコンポーネントを含み得る。このコンポーネントは、ハードドライブ、光学格納システム、テープ格納システム、プリンタ、ディスプレイ、キーボード、トラッキングデバイス等の従来の周辺機器を含む。データソースおよび／またはデスティネーション１０６は、一次データソース（キーボードまたはセンサ等）、データデスティネーション（ディスプレイまたはスピーカ等）、あるいは、その両方（ハードドライブまたはトランシーバ等）を含み得る例示的なコンポーネントである。
【００１２】
メモリシステム１０４は、データを格納するための格納システムを含む。メモリシステム１０４は、データを格納するため、ならびにデータシステム１０４とデータソース／デスティネーション１０６またはプロセッサ１０２との間でデータを移動するための任意の適切なメモリシステムを含み得る。
【００１３】
図２を参照すると、本実施形態では、メモリシステム１０４は、１つ以上のメモリモジュール２１０Ａ、２１０Ｂ、およびメモリコントローラ２１２を含む。メモリモジュール２１０は、従来のＲＯＭ、ＳＲＡＭ、ＤＲＡＭ、ＳＤＲＡＭ、または任意の他の適切な格納システム等の、データを格納するための任意のシステムを含み得る。本実施形態では、メモリモジュール２１０は、ＭＴ４６Ｖ６４Ｍ４  ２５６Ｍｂ  ＤＤＲＳＤＲＡＭ等のＭｉｃｒｏｎのＤＤＲ  ＳＤＲＡＭを含む。
【００１４】
メモリコントローラ２１２は、メモリモジュール２１０へのアクセスを制御し、メモリコントローラ２１２は、メモリモジュール２１０におよびそれへのデータ転送装置を含み、そして同様にさらなる機能および動作を実行し得る。データは、任意の適切な方法または技術に従って、ｎ個のデータ線の組に沿って、メモリシステム１０４とデータソース／デスティネーション１０６との間で交換され得る。本実施形態では、従来のデータ転送プロセスは、データ信号のデータをデータ有効ウインドウ（ＤＶＷ）でキャプチャすることによってデータを転送する。例えば、図３を参照すると、本実施形態に係るソース同期システムでは、データは、クロック信号（ＣＫ）と相補的クロック信号（ＣＫ＃）の交差時に、データ線上で適切にアサートされる。
【００１５】
全てのデータビット（ＤＱ）が有効になる前に、第１の期間（ｔＡＣ（ＭＡＸ））が経過し、これにより、ＤＶＷ３００の立ち下がりエッジ３１２を規定する。次のクロック信号と交差する前の第２の期間（ｔＡＣ（ＭＩＮ））までのＤＶＷ３００の間に、データビットは、有効のままである。ＤＶＷ３００の継続時間は、例えば、負荷、温度、および／または電圧変動によって変化し得る。同様に、ＤＶＷ３００の立ち下りおよび立ち上がりエッジ３１０および３１２の位置は、クロック信号に対して変化し得る。
【００１６】
メモリコントローラ２１２は、とりわけ、正確なデータのキャプチャを高める等の、メモリモジュール２１０へのアクセス動作のタイミングを制御する。データキャプチャを最適化するために、本実施形態のメモリコントローラ２１２は、ＤＶＷ３００の近似的な中間点においてデータをキャプチャする。メモリコントローラ２１２は、ＤＶＷ３００の継続時間および相対点における変化をさらに適切に識別する。図２および図３を再度参照すると、本実施形態では、メモリコントローラ２１２は、メモリモジュール２１０へのアクセスを制御するための適応タイミングシステム２１４を含む。一般的に、適応タイミングシステム２１４は、メモリモジュール２１０へのまたはそこからの転送のためにラッチされる時間を制御する。このタイミングは、アサートされるデータが有効である可能性が最も高い時間でデータをラッチするように適切に制御される。従って、適応タイミングシステム２１４は、データ信号中のＤＶＷ３００の場所を識別する。さらに、適応タイミングシステム２１４は、ＤＶＷ３００の変化をトラッキングし得る。
【００１７】
ＤＶＷ３００およびその特性の変化は、任意の適切な態様で識別され得る。例えば、適応タイミングシステム２１４は、ＤＶＷ３００の立ち上がりおよび立ち下りエッジ３１０、３１２の変化を適切に識別かつトラッキングする。ＤＶＷ３００の立ち上がりおよび立ち下りエッジ３１０、３１２、および各エッジ３１０、３１２の位置変化を識別することによって、ＤＶＷ３００の中間点が近似されかつ最適なアクセス時間が調整され得る。さらに、タイミング信号の複数の点をオーバーサンプリングおよびトラッキングすることによって、その中間点および各エッジ３１０、３１２が変化する速度等の他の特性が同様にトラッキングされ得る。
【００１８】
さらに、メモリコントローラ２１２は、異なるメモリモジュール２１０に対することなる動作特性を使用し得る。例えば、熱源付近の第１のモジュール２１０Ａは、別のメモリモジュール２１０Ｂよりも速く昇温しそのＤＶＷ３００を変化させる。メモリコントローラ２１２は、各モジュール２１０Ａ、Ｂに対する、異なる中間点およびＤＶＷエッジ３１０、３１２等の異なるＤＶＷ３００特性を適切に使用する。さらに、メモリコントローラ２１２は、複数の適応タイミングシステム２１４を含み得る。例えば、多重適応タイミングシステム２１４は、各ビット、半バイト、バイト、またはデータ線上に存在するデータの他のセットを適切に与える。
【００１９】
ＤＶＷ３００の立ち上がりおよび立ち下りエッジ３１０、３１２を識別するためには、一実施形態の適応タイミングシステム２１４は、ＤＶＷ３００の名目上の立ち上がりおよび立ち下りエッジ３１０、３１２における信号値を、名目上の中間点における信号値と比較する。適応タイミングシステム２１４が、ＤＶＷ３００の近似的な実際の中間点におけるトグル信号をサンプリングする場合、ＤＶＷ３００の名目上の立ち上がりおよび立ち下りエッジ３１０、３１２におけるサンプルは、ＤＶＷ３００の近似的な実際の中間点におけるサンプルと実質的に同一である傾向がある。しかし、立ち上がりおよび立ち下りエッジ３１０、３１２を過ぎたサンプルは、ＤＶＷ３００内部のサンプルとは異なる傾向がある。
【００２０】
図４を参照すると、本実施形態では、適応タイミングシステム２１４は、遅延回路４１０、複数のラッチ回路４１２、および少なくとも１つの比較回路４１４を含む。概して、遅延回路４１０は、タイミング信号および／またはデータ信号に対する異なる時刻において多重遅延クロック信号をアサートする。ラッチ回路４１２は、遅延クロック信号のその時刻におけるデータをラッチするように、データソース１０６からタイミング信号および／またはデータ信号、ならびに遅延回路４１０からの遅延クロック信号を受信し、比較回路４１４およびデータデスティネーション１０６へのラッチ信号を供給する。比較回路４１４は、ラッチ回路４１２から、異なる時刻でサンプリングされたラッチ信号を受信し、ラッチ信号を比較してその信号間の差異を識別し、そしてそれに従って遅延回路４１０によって生成された遅延クロック信号のタイミングを調整し得る。
【００２１】
特に、本実施形態の遅延回路４１０は、異なる時刻で複数の信号をアサートする。遅延回路４１０は、プログラマブルマルチタップ遅延線等の、異なる時刻において信号を生成させるために任意の適切なシステムを含み得る。このタップにプログラムされた遅延は、任意の適切な間隔および任意の適切なＤＶＷ３００の大きさに対応し得る。例えば、遅延回路４１０は、ＤＶＷ３００の名目上の適切な中間点に対応する中心タップを有する３つのタップ遅延を含み得る。他の２つのタップは、ＤＶＷ３００の名目上の中間点のいずれかの側のセットアップガードバンドおよびホールドガードバンドのそれぞれに適切に対応する。
この遅延回路４１０はまた、内部クロック信号４１６（ＤＶＷ３００におけるタイミングおよび／またはデータ信号の多重サンプリングを容易にするようにデータ信号よりも高い周波数で適切に動作する一般的な自走メモリコントローラ２１２のクロック信号）を生成する。
【００２２】
ガードバンド間隔は、ＤＶＷ３００における変化を識別するように選択された任意の継続時間によって、ＤＶＷ３００の名目上の中間点から適切に分離され、所望のＤＶＷ３００の継続時間に対応する。本実施形態では、ガードバンドは、名目上の中間点から予測されたＤＶＷ３００の継続時間の約半分またはその時間よりもわずかに小さいように設定される。その結果、第１のタップは、ＤＶＷ３００の立ち上がりエッジ３１０（名目上の立ち上がりエッジ）の直後の遅延に対応し、第３のタップは、ＤＶＷ３００の立ち下がりエッジ３１２（名目上の立ち下がりエッジ）の直前の遅延に同様に対応する。各タップに関連した遅延は、例えば、温度および／または電圧変動によって遅延が移動すると、例えばＤＶＷ３００の調整された中間点に対応するように調整可能にプログラムされ得る。
【００２３】
ラッチ回路４１２は、データソース１０６からデータを受信し、遅延回路４１０からの遅延クロック信号の受信に応じて、その出力において入力データをラッチする。ラッチ回路４１２は、遅延クロック信号の受信に応じてデータをアサートおよびホールドするための任意の適切なシステムを含み得る。本実施形態では、遅延回路４１０の各出力は、対応するラッチ回路４１２に接続される。各ラッチ回路４１２は、ラッチ信号のアサートに応じて、その出力において入力値をラッチするための回路を含む。各ラッチ回路４１２は、データ入力、ラッチ信号のためのクロック入力、および出力を有する回路（フリップフロップ等）のを含み得る。このデータ入力は、例えば、バッファ４１８を介してデータソース１０６に接続される。本実施形態では、データソース１０６は、メモリモジュール２１０である。クロック入力は、遅延回路４１０の対応するタップ出力に接続され、ラッチ回路出力は、比較回路４１４に接続される。中心ラッチ回路の出力はまた、データデスティネーション１０６に接続される。遅延回路４１０の種々のタップが各遅延クロック信号をアサートする場合、各ラッチ回路４１２は、遅延クロック信号がアサートされる場合にラッチ回路によって受信される入力データをキャプチャするようにアクティブ化される。従って、各ラッチ回路４１２は、タイミングおよび／またはデータ信号の中間点ならびに立ち上がりエッジおよび立ち下がりエッジ３１０、３１２の等の、データソース１０６から受信されたデータを異なる時刻でキャプチャする。
【００２４】
比較回路４１４は、少なくとも２つのラッチ回路４１２からラッチされたデータを受信し、出力信号を発生させるためにデータを比較する。比較回路４１４はまた、信号が実質的に同一であるか異なるかどうかを決定するために任意のシステムを含み得る。本実施形態において、比較回路４１４は、中心ラッチ回路４１２および他のラッチ回路４１２Ａ、Ｃの内の１つから入力信号を受信する回路を比較する。比較回路４１４は、その信号を比較し、信号間の差異が選択された閾値を超えるかどうかを決定する。信号間の差異が選択された閾値を超える場合、比較回路４１４は、第１の比較信号（論理ハイ信号等）を発生させ、信号間の差異が選択された閾値を超えない場合、比較回路４１４は、第２の比較信号（論理ロウ信号等）を発生させる。
【００２５】
メモリシステム１０４は、任意の適切な態様で比較回路４１４からの信号に対応するように（例えば、１つ以上の遅延回路４１０のタップに関連する遅延を調整するかどうかおよびこの遅延がどれくらいあるか等を決定するように）適切に構成される。比較回路４１４の信号に応答することによって、遅延回路４１０は、遅延回路４１０のタップに関連する遅延を、データ信号に対して所望の位置に調整し得る。比較回路４１４がラッチ回路４１２から受信された信号が実質的に同一であることを示す場合、名目上のエッジ（立ち上がりエッジ３１０または立ち下がりエッジ３１２）付近の信号が名目上の中間点における信号に適合する。従って、名目上のエッジにおける信号は、ＤＶＷ３００内部にある。信号が実質的に整合しない場合、名目上のエッジに関連した信号は、ＤＶＷ３００の外部にあり、それにより、ＤＶＷ３００における変化を示す。従って、種々の遅延回路４１０タップの遅延は、中心タップをＤＶＷ３００のほぼ中間点にシフトさせるように調整され得る。
【００２６】
本実施形態では、メモリコントローラ２１２は、任意の方法またはアルゴリズムに従って３つの遅延タップに関連した遅延を調整する。例えば、比較回路４１４が、ＤＶＷ３０００が移動したことを示す場合、各タップに関連した遅延は、ＤＶＷ３００の実際の中間点により接近した名目上の近似的な中間点を移動させるように、種々のタップに関連した遅延をシフトさせるように変更され得る。外部タップに関連した遅延は、ＤＶＷ３００の実際の立ち上がりエッジおよび立ち下がりエッジ３１０、３１２により接近した外部タップに関連した名目上の近似的なエッジを配置するように同様に配置され得る。例えば、メモリコントローラ２１２のクロックの１以上のサイクルまたは半サイクルは、種々のタップの現在の遅延値に加算またはその値から減算され得る。
【００２７】
遅延回路に対する調整は、任意の適切な態様でなされ得る。例えば、遅延を調整するための特定の技術は、システムに関するノイズの影響または他の短期間の影響を低減するように選択され得る。一実施形態では、メモリコントローラは、ＤＶＷ３００が移動される、比較回路４１４からの２つ以上の連続的命令を必要とし得る。さらに、タップに関連した遅延が特定の時間間隔または制限された調整の大きさまで制限された回数で調整され得るように、メモリコントローラは、調整の制限を有し得る。このような制限のタイプおよび値は、特定のシステムまたはアプリケーションに対する任意の基準に従って選択され得る。
【００２８】
メモリシステム１０４は、適応タイミングシステム２１４を最小に較正し得る。較正は、名目上の中間点ならびに立ち上がりおよび立下りエッジ３１０、３１２に初期値を提供する。この初期値は、例えば、予め選択されたデフォルト値を使用することまたはＤＶＷ３００情報をテストすることによって、任意の適切な態様で提供され得る。例えば、図５を参照すると、本発明の較正プロセスに対して、メモリコントローラ２１２は、相対的なメモリモジュール２１０から既知のタイミング信号を最初に要求する（ステップ５１０）。タイミング信号は、所定のタイミング信号、従来のストローブ信号、既知の信号を生成させるＷＲＩＴＥおよびＲＥＡＤ動作、またはデータ信号自体等の任意の適応可能な信号であり得る。一実施形態では、タイミング信号は、バイナリハイとロウ信号との間で変更するトグル信号である。
【００２９】
タイミング信号がアサートされる場合、メモリコントローラ２１２は、例えば、適応タイミング回路を用いて、タイミング信号中のいくつかの点においてタイミング信号をサンプリングする（ステップ５１２）。本実施形態では、メモリコントローラは、タイミング信号の掃引を導くように、タイミング信号の１以上のサイクル内部のいくつかの点にわたって、タイミング信号を適切にサンプリングする。次いで、このサンプルは、その信号のＤＶＷ３００の近似的な立ち上がりエッジおよび立ち下がりエッジ３１０、３１２を識別するように解析され得（ステップ５１４、５１６）、自走クロックに対して近似的な中間点を計算する（ステップ５１８）。例えば、メモリコントローラ２１２は、タイミング信号中に存在することがわかっている閾値に達する、後の第１および最後のサンプルを識別し得る。次いで、遅延回路４１０は、ＤＶＷ３００の近似的な中間点に、ならびに近似的な立ち上がりおよび立ち下がりエッジ３１０、３１２付近の中心タップ遅延を配置させるように適切にプログラムされる（ステップ５２０）。次いで、メモリシステム１０４は、データをキャプチャするように、ラッチ回路信号として中心タップを用いて通常動作と共に進め得る。
【００３０】
メモリシステム１０４が較正された後、システムは、任意の所望の時間で調整され得る。メモリシステム１０４が動作する間、適応タイミングシステム２１４は、ＤＶＷ３００がドリフとされたかどうかを決定するために、ＤＶＷ３００をチェックし得る。適応タイミングシステム２１４は、例えば、連続的に、周期的な間隔で、またはタイマーの終了に応じて任意の時間でＤＶＷ３００をチェックし得る。さらに、適応タイミングシステム２１４は、ドリフトの結果、近似的な中間点、ならびに近似的な立ち上がりおよび立ち下がりエッジ３１０、３１２を調整し得る。メモリコントローラ２１２が、各メモリモジュール２１０Ａ、Ｂまたはメモリのセクションのための調整プロセスを実行し得る。
【００３１】
例えば、メモリモジュール２１０が昇温した場合、ＤＶＷ３００が移動し得る。メモリシステム１０４が、例えば、システムの熱および／または電圧時定数に従って、ＤＶＷ３００を時折チェックするように構成され得る。例えば、メモリコントローラ２１２は、熱および／または電圧時定数よりも短い規則的間隔でタイミング信号をリクエストするようにメモリにＣＡＬＩＢＲＡＴＥコマンドを供給し得る。別の実施形態では、メモリコントローラ２１２は、ＤＶＷ３００の特性を確認するのに十分な通常動作でトグルパターン（データ信号を用いること等）を読み出す場合、その時定数を有するタイマーがリセットされ得る。時定数を有するタイマーが終了する場合、調整プロセスが初期化され得る。従って、適応タイミングシステム２１４は連続的にＲＥＡＤ動作に対してストローブをサンプリングし、ＲＥＡＤ動作が発生しない場合、便宜的に遅延回路４１０を更新する。その結果、十分なパターンが受信されず、時定数を有するタイマーが終了する場合に限り、十分な調整プロセスが実行される。
【００３２】
図６を参照すると、本実施形態のメモリコントローラ２１２は、タイミング信号を受信することによってタイミング調整プロセスを実行し、これにより、メモリモジュール２１０によって発生された所定の信号、従来のストローブ信号、またはデータ信号自体等のＤＶＷ３００内のシフトを識別するための任意の適切な信号であり得る。タイミング信号が受信される場合、遅延回路４１０タップは、ラッチ回路４１２に種々の時間（名目上の立ち上がりおよび立ち下がりエッジ３１０、３１２、ならびに中間点）で信号をキャプチャさせる信号を発生させる（ステップ６１０）。ラッチ回路４１２からの出力信号が、データ信号の立ち上がりおよび立ち下がりエッジ３１０、３１２がシフトされるかどうか決定するために種々の信号を比較する比較回路４１４に供給される。例えば、比較回路４１４Ａは、立ち上がりエッジ３１０のデータを中間点と比較し得る（ステップ６１２）。データが同じである場合（ステップ６１４）、依然として名目上の立ち上がりエッジ３１０はＤＶＷ３００内部にあり、調整は必要ない。データが同じでない場合、ＤＶＷ３００が移動する。従って、名目上の立ち上がりおよび立ち下がりエッジ３１０、３１２および中間点が、選択された量（ステップ６１６）だけまたは任意の選択された基準またはアルゴリズムに従って増加され得る。
【００３３】
同様に、比較回路４１４Ｂは、立ち下がりエッジ３１２のデータを中間点データと比較し得る（ステップ６１８）。データが同じ場合（ステップ６２０）、名目上の立ち下がりエッジ３１２は依然としてＤＶＷ３００内部にあり、調整は必要ない。データが同じでない場合、ＤＶＷ３００が移動される。従って、名目上の立ち上がりおよび立ち下がりエッジ３１０、３１２および中間点が、選択された量（ステップ６２２）だけまたは任意の選択された基準またはアルゴリズムに従って減少され得る。従って、遅延回路４１０は、タップに関連した種々の遅延をシフトさせるように適切にプログラムされ、その結果中心タップは、調整された中間点および調整された立ち上がりおよび立ち下がりエッジ３１０、３１２に再配置される。
【００３４】
本実施形態は、３つのタップを有する遅延回路４１０と共に説明される。１つは、名目上の中点であり、残り２つは、ＤＶＷ３００の名目上の立ち上がりおよび立ち下がりエッジ３１０、３１２である。しかし、さらなるタップが、データ信号の他の部分の周りのデータを収集するために供給され得る。例えば、さらなるタップが中間点とＤＶＷ３００の立ち上がりおよび立ち下がりエッジ３１０、３１２との間の間隔に割り当てられ得、同様に比較回路４１４に接続され得る。さらなるタップに接続されるラッチ回路４１２によって収集されるデータが、ＤＶＷ３００の変化ならびにＤＶＷ３００における変化が発生する速度を識別するために使用され得る。
【００３５】
利益、他の利点、問題に対する解決策を特定の実施形態に対して説明してきた。しかし、想起するまたはより明らかになる任意の利益、利点、問題に対する解決策をもたらし得る利益、利点、問題に対する解決策が、任意のまたは全ての特許請求の範囲の、重要な、必要とされた、あるいは本質的な特徴または構成要素として構成されない。用語「含む」、「含んでいる」または任意の他の改変は、構成要素のリストを含む、プロセス、方法、物、装置がこれらの構成要素のみを含まないように、非排他的な包含関係を網羅することを意図するが、不明確に列挙された他の構成要素またはこのようなプロセス、方法、物、または装置に固有の他の構成要素を含み得る。
【００３６】
上記説明では、本発明を特定の実施形態に関して説明してきた。しかし、種々の改変および変更が特許請求の範囲で説明されたように、本発明の範囲から逸脱することなくなされ得る。従って、明細書および図面は、制限的な意味ではなく例示的な意味で考慮されるべきであり、全てのこのような改変は、特許請求の範囲に記載されたような本発明の範囲内に含まれることが意図される。
【図面の簡単な説明】
【００３７】
【図１】図１は、本発明の種々の局面に係る電子システムのブロック図である。
【図２】図２は、メモリシステムのブロック図である。
【図３】図３は、クロック信号、相補的クロック信号、および複数のデータ信号に対する信号波形を表す。
【図４】図４は、適応タイミングシステムのブロック図である。
【図５】図５は、較正プロセスのフローチャートである。
【図６】図６は、タイミング調整プロセスのフローチャートである。
【図１】
0003987038.tif 000002
【図２】
0003987038.tif 000003
【図３】
0003987038.tif 000004
【図４】
0003987038.tif 000005
【図５】
0003987038.tif 000006
【図６】
0003987038.tif 000007