(57)【特許請求の範囲】
【請求項１】
ソース同期タイミング基準を伴わないデータ信号を送信する集積回路素子であって、
外部供給クロック信号に応答して、送信クロック信号を生成する開ループクロック分配回路と、
前記送信クロック信号の遷移に応答して、シンボルシーケンスを外部信号線に出力する送信回路であって、前記シンボルのそれぞれは、シンボル時間中、前記送信回路の出力において有効であり、前記送信クロック信号と前記外部供給クロック信号との位相オフセットは、少なくとも前記シンボル時間だけドリフトすることが許される送信回路であって、前記開ループクロック分配回路は、前記外部供給クロック信号に応答して、前記外部供給クロック信号に相対して少なくともシンボル時間だけドリフトすることが許されると共に、前記送信クロック信号に相対してドリフトすることが許される位相を有する受信クロック信号をさらに生成する、送信回路と、
前記受信クロック信号に応答して外部信号線をサンプリングすることにより、前記外部供給クロック信号に相対してドリフトすることが許される位相を有する受信データ信号を生成する受信回路と
を備える、集積回路素子。
【請求項２】
前記送信クロック信号と前記外部供給クロック信号との前記位相オフセットは、前記集積回路素子の温度変化に応答してドリフトする、請求項１に記載の集積回路素子。
【請求項３】
前記送信クロック信号と前記外部供給クロック信号との前記位相オフセットは、前記集積回路素子を給電するために供給される電圧の変化に応答してドリフトする、請求項１または２に記載の集積回路素子。
【請求項４】
各シンボルはビットであり、前記シンボル時間はビット時間である、請求項１から３のいずれか１項に記載の集積回路素子。
【請求項５】
２つのシンボルが、前記送信クロック信号のサイクル毎に送信されるように、前記送信クロック信号の各エッジに応答してシンボルが送信される、請求項１から４のいずれか１項に記載の集積回路素子。
【請求項６】
前記送信クロック信号および前記外部供給クロック信号は同じ周波数を有する、請求項１から５のいずれか１項に記載の集積回路素子。
【請求項７】
データ記憶装置にアクセスできるようにするインタフェースと、
較正データソースと、
前記シンボルシーケンスで搬送されるデータ値を前記送信回路に提供するために、前記データ記憶装置または前記較正データソースのいずれかを選択するマルチプレクサと
をさらに備え、
前記較正データソースは、前記データ値を決定論的パターンで提供する回路を含む、請求項１から６のいずれか１項に記載の集積回路素子。
【請求項８】
前記集積回路素子は、前記データ記憶装置として、前記インタフェースを介して前記マルチプレクサに結合され、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）セルの１つまたは複数のアレイを有するメモリコアを含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）素子であり、
前記集積回路（ＩＣ）素子は、バッファＩＣを備え、前記データ記憶装置にアクセスできるようにするインタフェースは、前記バッファＩＣ外部の１つまたは複数の集積回路メモリ素子にアクセスできるようにする外部インタフェースを備え、
前記外部インタフェースは、前記バッファＩＣ外部の１つまたは複数のダイナミックランダムアクセスメモリ（ＤＲＡＭ）素子にアクセスできるようにするシグナリングインタフェースを備え、
前記外部インタフェースは、前記送信クロック信号の遷移に応答して、前記外部信号線に出力される前記シンボルシーケンスのシグナリングレートよりも低いシグナリングレートで、前記ＤＲＡＭ素子のうちの少なくとも１つに信号を出力する少なくとも１つの信号ドライバを備える、請求項７に記載の集積回路素子。
【請求項９】
受信クロック信号に応答して、メモリ装置からデータ信号を受信する受信回路と、
前記受信クロック信号および前記データ信号の送信のタイミングをとるために前記メモリ装置に出力されるシステムクロック信号を含む複数のクロック信号を生成するクロック回路であって、前記システムクロック信号は、前記データ信号で搬送される各シンボルに各クロックエッジを提供するのに十分に高い周波数で発振する、クロック回路と、
前記データ信号と前記システムクロック信号との間の位相ドリフトを補償するのに十分な頻度で、前記受信クロック信号の位相を調整する較正回路であって、前記位相ドリフトは前記メモリ装置により補償されず、少なくともシンボル時間にわたることが許される、較正回路と
を備える、メモリコントローラ。
【請求項１０】
前記複数のクロック信号を生成するクロック回路は、
位相分布クロック信号セットを生成する回路と、
前記較正回路から受信する較正値に応答して、一対の前記位相分布クロック信号を選択し、補間することにより、前記受信クロック信号を生成する補間器と
を備え、
前記較正回路は、前記データ信号で搬送される値のシーケンスに基づいて、前記受信クロック信号が、前記データ信号に関して所望の位相に先行するか、それとも遅延するかを判断し、前記較正値を調整して、前記先行または遅延を低減するように前記受信クロック信号の位相変更を行う回路を備え、
前記較正回路は、前記データ信号で搬送される値のシーケンスに基づいて、前記データ信号で搬送されるＮ個の値の連続したパケット間のフレーム間隔を決定する位置合わせ回路をさらに備え、
前記位置合わせ回路は、各フレーム間隔内で直列に受信されるＮ個の値のパケットを、前記Ｎ個の値の並列ワードに変換する回路を備える、請求項９に記載のメモリコントローラ。
【請求項１１】
送信クロック信号に応答して、前記メモリ装置にデータ信号を送信する送信回路をさらに備え、前記クロック回路は前記送信クロック信号をさらに生成し、前記較正回路は、前記メモリ装置内のシステムクロック信号とデータサンプリングクロック信号との間の位相ドリフトを補償するのに十分な頻度で、前記送信クロック信号の位相を調整する回路を含む、請求項９または１０に記載のメモリコントローラ。
【請求項１２】
送信クロック信号に応答して、外部信号線にデータ信号を出力する送信回路およびシステムクロック信号に応答して前記送信クロック信号を提供するクロック分配回路を有するメモリ装置であって、前記クロック分配回路は、前記送信クロック信号と前記システムクロック信号との間に、前記システムクロック信号期間の少なくとも半分だけドリフトすることが許され、前記データ信号と前記システムクロック信号との間に対応する位相ドリフトをもたらす位相オフセットを導入する、メモリ装置と、
受信クロック信号に応答して前記メモリ装置から前記データ信号を受信する受信回路、前記システムクロック信号を前記メモリ装置に出力し、前記受信クロック信号を前記受信回路に出力するクロック回路、および前記受信クロック信号の位相を調整して、前記メモリ装置での前記システムクロック信号と前記送信クロック信号との間の位相ドリフトを補償するタイミング較正回路を有するメモリコントローラと
を備える、低電力同期メモリシステム。
【請求項１３】
前記システムクロック信号を前記メモリコントローラから前記メモリ装置に搬送するクロック信号線をさらに備え、較正回路は、前記受信クロック信号の位相も調整して、前記クロック信号線を介する前記メモリコントローラから前記メモリ装置への前記システムクロック信号の伝播に起因する前記メモリコントローラ内の前記システムクロック信号と前記メモリ装置内の前記システムクロック信号の位相とのオフセットを補償する、請求項１２に記載の低電力同期メモリシステム。
【請求項１４】
前記メモリコントローラは、前記データ信号で搬送される値のシーケンスに基づいて、前記受信クロック信号が、前記データ信号に関して所望の位相に先行するか、それとも遅延するかを判断し、前記受信クロック信号の位相を調整して、前記先行または遅延を低減する較正回路をさらに含み、
前記メモリコントローラは、前記クロック回路により生成される送信クロック信号に応答して、データ信号を前記外部信号線に出力する送信回路をさらに含み、前記メモリ装置は、前記クロック分配回路からの受信クロック信号に応答して、前記メモリコントローラの前記送信回路により出力される前記データ信号を受信する受信回路をさらに含み、前記タイミング較正回路は、前記クロック回路からの前記送信クロック信号の位相を調整して、前記メモリ装置内の前記システムクロック信号と前記受信クロック信号との間の位相ドリフトを補償する回路を含む、請求項１２に記載の低電力同期メモリシステム。
【請求項１５】
集積回路素子内で動作する方法であって、
外部クロック信号線を介して第１のクロック信号を受信する工程と、
前記第１のクロック信号に応答して送信クロック信号および受信クロック信号を生成する工程と、
タイミング基準信号を伴わずに、前記送信クロック信号に応答してデータ信号を第１の外部信号線に送信する工程であって、前記送信クロック信号は、送信された前記データ信号が前記第１のクロック信号に相対して対応するドリフトを示すように、前記送信クロック信号の期間の少なくとも半分だけ前記第１のクロック信号に相対してドリフトすることが許される工程と、
前記受信クロック信号に応答して前記第１の外部信号線をサンプリングして、受信データ信号を生成する工程であって、前記受信データ信号は、前記受信クロック信号の期間の少なくとも半分だけ前記第１のクロック信号に相対してドリフトすることが許される工程と
を含む、方法。
【請求項１６】
前記受信クロック信号に応答して第２の外部信号線をサンプリングして、データ値シーケンスを生成する工程と、
前記データ値シーケンスをメモリ装置の送信回路に切り替え可能にループバックして、前記第１の外部信号線を介して送信された前記データ信号内に含める工程と
をさらに含む、請求項１５に記載の方法。
【請求項１７】
メモリシステム内で動作する方法であって、
メモリ装置内でシステムクロック信号を受信する工程と、
前記システムクロック信号に応答して、前記メモリ装置内で送信クロック信号を生成する工程と、
前記送信クロック信号に応答して、データ信号を前記メモリ装置から第１の信号線に出力する工程であって、前記送信クロック信号は、前記データ信号が前記システムクロック信号に相対して対応するドリフトを示すように、前記送信クロック信号の期間の少なくとも半分だけ前記システムクロック信号に相対してドリフトすることが許される工程と、
メモリコントローラ内で受信クロック信号を生成する工程と、
前記受信クロック信号に応答して、前記第１の信号線を介して前記メモリコントローラ内で前記データ信号を受信する工程と、
前記データ信号で搬送される値に基づいて、前記受信クロック信号の位相を調整して、前記送信クロック信号と前記システムクロック信号との間のドリフトを補償する工程と
を含む、方法。
【請求項１８】
前記メモリコントローラ内で前記システムクロック信号を生成する工程と、およびクロック信号線を介して前記システムクロック信号を前記メモリ装置に送信する工程とをさらに含み、前記データ信号で搬送される値に基づいて前記受信クロック信号の位相を調整する工程は、前記受信クロック信号の位相を調整して、前記クロック信号線を介する前記メモリコントローラから前記メモリ装置への前記システムクロック信号の伝播に起因する、前記メモリコントローラ内の前記システムクロック信号の位相と前記メモリ装置内の前記システムクロック信号の位相とのオフセットを補償する工程を含む、請求項１７に記載の方法。
【請求項１９】
集積回路装置内で動作する方法であって、
外部クロック信号線を介して第１のクロック信号を受信する工程と、
前記第１のクロック信号に応答して送信クロック信号を生成する工程と、
前記送信クロック信号に応答して、データ信号シーケンスを第１の外部データ線に送信する工程であって、前記送信クロック信号は、前記データ信号が前記第１のクロック信号に相対して対応するドリフトを示すように、前記送信クロック信号の期間の少なくとも半分だけ前記第１のクロック信号に相対してドリフトすることが許される工程と、
前記送信されるデータ値シーケンスとして、前記較正データシーケンスまたはメモリ装置の記憶装置アレイから検索されるデータのいずれかを選択する工程と
を含む、方法。
【請求項２０】
前記メモリ装置内で前記較正データシーケンスを生成する工程および第２のデータ線から前記較正データシーケンスを受信する工程の少なくとも一方をさらに含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本願は、以下の米国特許出願に対する優先権を主張するものである：
（ｉ）２００９年１月１２日に出願された「4.3 GB/S Mobile Meomory Interface with Power-Efficient Bandwidth Scaling」という名称の米国仮特許出願第６１／１４４，１３５号、および
（ｉｉ）２００９年３月２日に出願された「Mesochronous Low-Power Signaling System」という名称の米国仮特許出願第６１／１５６，８７２号。
【０００２】
上記特許出願は、参照により本明細書に援用される。
【０００３】
本明細書における開示は、一般にはデータ通信システムに関し、特に低電力用途での高速シグナリングに関する。
【背景技術】
【０００４】
メソクロナス（mesochronous）クロック信号は、多くの場合、同期メモリシステムでのシグナリング動作のタイミングをとるために使用される。同じクロックソースを使用して、メモリコントローラおよびメモリ装置の両方内での送／受信タイミングを提供することにより、周波数ドリフトが回避され、タイミング装置が比較的単純かつロバストになる。クロック基準はコントローラとメモリとの間の空間内に分配されるが、２つのチップのクロック領域は一般に、互いに対して任意の位相オフセットを有し、同期通信を可能にするためには、この位相オフセットを補償しなければならない。厄介なことに、チップ間の位相オフセットは、主にクロックを様々な送信回路および受信回路にファンアウトするために各チップ内に設けられるクロックバッファ回路により、温度および電圧に伴って実質的にドリフトする傾向を有する。
【０００５】
多くの近代のメモリシステムは、ストローブまたは他のソース同期タイミング信号を送信して、受信側装置内でのデータサンプリングを制御し、実質的に送信側装置のクロック領域を受信側装置に拡張することにより、チップ間位相ドリフトを管理する。不都合なことに、この手法は、通常、追加の信号ドライバ、ピン、および精密に配線された信号線（ストローブ線とデータ線との伝播時間が合うように）が必要であるため、かなりの電力／コストペナルティを有する。
【０００６】
別の手法は、位相ロックループ（ＰＬＬ）または遅延ロックループ（ＤＬＬ）をメモリコントローラおよび各メモリ装置内に設けて、基準クロックと分配クロック（すなわち、様々な受信回路および送信回路に分配される名目上は同位相の多数のクロック）との位置合わせを維持することにより、ドリフト位相オフセットを補償することである。この構成により、環境により各クロックバッファ遅延に誘発されるドリフトにも拘わらず、略固定された位相関係をチップ間で維持し得る。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＰＬＬ／ＤＬＬ手法は、ソース同期構成の多くのペナルティ（特に、貴重なピンを使うこと）を回避するが、ＰＬＬ回路およびＤＬＬ回路は大きな電力を消費する傾向を有し、アイドル期間中であっても電力を消費する（位相ロックを維持するために）と共に、ディセーブルされた節電状態から起きる際に位相ロックを復元するためにかなりの時間および追加の電力を必要とする。これらすべての欠点は、性能需要および集中的なトランザクションプロファイルにより、ロックループ動作を停止させることが難しく、やはりロックループ回路の大きなアイドル電力が、貴重なバッテリの寿命を短くするモバイル用途（例えば、携帯電話、ラップトップコンピュータ等）で特に問題である。
【０００８】
本明細書における開示は、同様の参照番号が同様の要素を指す添付図面の図において、限定ではなく例として示される。
【図面の簡単な説明】
【０００９】
【図１Ａ】クロック停止低電力モードを有するメモリシステムの一般化された実施形態を示す。
【図１Ｂ】クロック停止低電力モードを有するメモリシステムの一般化された実施形態を示す。
【図１Ｃ】図１の一時停止可能なクロックメモリ装置内の例示的な消費電力プロファイルを、同じ使用状況下の連続クロックＰＬＬ／ＤＬＬに基づくメモリ装置の例示的な消費電力プロファイルと対比する。
【図１Ｄ】図１の一時停止可能なクロックメモリ装置内の例示的な消費電力プロファイルを、同じ使用状況下の連続クロックＰＬＬ／ＤＬＬに基づくメモリ装置の例示的な消費電力プロファイルと対比する。
【図２Ａ】メモリ側およびコントローラ側Ｉ／Ｏ回路およびシステムクロックアーキテクチャの実施形態をさらに詳細に示す。
【図２Ｂ】メモリ装置のピン（または他の相互接続構造）において見られるシステムクロック信号およびデータ信号ならびにメモリ側送信器に与えられるバッファクロック信号を示す、図２Ａを参照して説明したメモリ側タイミング構成を示す。
【図３Ａ】図２Ａにおける任意のドリフト補償非直列化器を実施するために使用し得るドリフト補償非直列化器の実施形態を示す。
【図３Ｂ】図２Ａにおける任意のドリフト補償非直列化器を実施するために使用し得るドリフト補償非直列化器のタイミング図を示す。
【図３Ｃ】図３Ａのドリフト補償非直列化器内に適用し得るパケット位置合わせ回路の実施形態を示す。
【図３Ｄ】図３Ａのドリフト補償非直列化器内に適用し得るパケット位置合わせ回路の調整方法を示す。
【図３Ｅ】図３Ａのドリフト補償非直列化器内に適用し得るパケット位置合わせ回路の調整方法を示す。
【図３Ｆ】図２Ａの任意のドリフト補償非直列化器を実施するために使用し得るドリフト補償非直列化器の実施形態を示す。
【図３Ｇ】図２Ａの任意のドリフト補償非直列化器を実施するために使用し得るドリフト補償非直列化器のタイミング図を示す。
【図３Ｈ】図３Ｆのドリフト補償非直列化器内に適用し得るパケット位置合わせ回路の実施形態を示す。
【図４Ａ】図２Ａのメモリ装置内の非直列化回路を実施するために使用し得る非直列化回路の実施形態を示す。
【図４Ｂ】図２Ａのメモリ装置内の直列化回路を実施するために使用し得る直列化回路の実施形態を示す。
【図５Ａ】図２Ａの実施形態内のデータリンクＤＱ０およびＤＱ１のドリフト補償非直列化器内の受信クロック位相を較正する例示的な手法を示す。
【図５Ｂ】様々なデータ選択パスに関する詳細のない図５Ａのビット内クロック位相配置の特定の実施形態を示す。
【図５Ｃ】例示的な位相選択器により選択された、いくつかのクロック位相の例示的な関係およびデータアイシュムーに対するパス−フェイル境界を示し、最終的な受信クロック位相を決定する手法を実証する。
【図５Ｄ】細かいおよび粗いデータアイ境界ならびに周期的タイミング較正動作中のドリフトの追跡に使用し得る細かいデータアイの中心と粗いデータアイフェイル境界とのオフセットを示す。
【図６Ａ】ドリフト補償非直列化器較正の例示的なビット位置合わせ（またはパケットフレーム調整）段階を示す。
【図６Ｂ】ドリフト補償非直列化器較正の例示的なビット位置合わせ（またはパケットフレーム調整）段階を示す。
【図６Ｃ】図２Ａの様々なシグナリングリンク内のパケット位置合わせ回路に適用された場合、コントローラ−コアクロック領域に同時転送するために、メモリコアから検索された元のマルチパケット値の部分をなすパケットを位置合わせする、ワード待ち時間値を決定するために実行される例示的なパケット位置合わせ動作を示す。
【図７Ａ】メモリ装置内の各シグナリングリンク対間のクロス結合ループバックパスに頼る例示的な直列化器較正手順を示す。
【図７Ｂ】メモリ装置内の各シグナリングリンク対間のクロス結合ループバックパスに頼る例示的な直列化器較正手順を示す。
【図８Ａ】メモリ装置内の各シグナリングリンク対間のクロス結合ループバックパスに頼る例示的な直列化器較正手順を示す。
【図８Ｂ】メモリ装置内の各シグナリングリンク対間のクロス結合ループバックパスに頼る例示的な直列化器較正手順を示す。
【図８Ｃ】メモリ装置内の各シグナリングリンク対間のクロス結合ループバックパスに頼る例示的な直列化器較正手順を示す。
【図９Ａ】ドリフト補償直列化器を周期的に較正するために使用される例示的な動作シーケンスを示す。
【図９Ｂ】ドリフト補償非直列化器を周期的に較正するために使用される例示的な動作シーケンスを示す。
【図１０Ａ】図３Ａおよび図３Ｃを参照して説明した６ビット位相調整回路に対応する位置合わせカウンタの実施形態を示す。
【図１０Ｂ】周期的タイミング較正回路の実施形態を示す。
【図１０Ｃ】周期的タイミング較正回路の実施形態に対応する状態図を示す。
【図１１Ａ】コントローラＩ／Ｏクロックおよびメモリ装置に転送されるデータレートシステムクロックのクロック停止論理を明示的に示す、図２Ａの実施形態内で使用される例示的なクロック構成を示す。
【図１１Ｂ】図１１Ａのクロックアーキテクチャのクロック停止（またはクロック一時停止）動作の例示的なタイミング図である。
【図１１Ｃ】クロック停止論理回路のより詳細な実施形態を示す。
【図１１Ｄ】クロック停止論理回路のより詳細な実施形態に対応するタイミング図を示す。
【図１１Ｅ】代替のクロック停止アーキテクチャを示す。
【図１１Ｆ】代替のクロック停止アーキテクチャに対応する回路を示す。
【図１１Ｇ】代替のクロック停止アーキテクチャに対応するタイミング図を示す。
【図１２Ａ】クロック停止低電力モードへの入出を含む間隔中のメモリコントローラでのクロック信号、クロックイネーブル信号、およびコマンド／アドレス信号の例示的なタイミング図である。
【図１２Ｂ】メモリ装置の観点からのクロック停止モード入出を示す。
【図１２Ｃ】メモリ装置の観点からのクロック停止モード入出を示す。
【図１３】クロック停止間隔を非整数のコアクロックサイクルに拡張可能な代替の実施形態によるクロック停止入出を示す。
【図１４Ａ】メモリコントローラ内のコアクロック信号とメモリ装置内のコアクロック信号との位相オフセットの調整が可能な位相位置合わせ回路の実施形態に関する。
【図１４Ｂ】メモリコントローラ内のコアクロック信号とメモリ装置内のコアクロック信号との位相オフセットの調整が可能な位相位置合わせ回路の実施形態に関する。
【図１４Ｃ】メモリコントローラ内のコアクロック信号とメモリ装置内のコアクロック信号との位相オフセットの調整が可能な位相位置合わせ回路の実施形態に関する。
【図１５Ａ】周期的タイミング較正モードに入出する際にクロックグリッチを回避するために使用される例示的なクロック停止動作を示す。
【図１５Ｂ】周期的タイミング較正モードに入出する際にクロックグリッチを回避するために使用される例示的なクロック停止動作を示す。
【図１６Ａ】クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。
【図１６Ｂ】クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。
【図１６Ｃ】クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。
【図１６Ｄ】クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。
【図１６Ｅ】クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。
【図１６Ｆ】クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。
【図１７Ａ】単一のコントローラＩＣおよび複数のメモリＩＣを有するクロックを一時停止可能なメモリシステムの実施形態を示す。
【図１７Ｂ】図２Ａに示されるメモリ側Ｉ／Ｏインタフェースに対応するインタフェースを実施するモジュール搭載バッファＩＣを有するクロック一時停止可能なメモリシステムの実施形態を示す。
【図１８Ａ】図１Ａおよび図２Ａのメモリシステム内に利用し得る階層電力モードを示す例示的な状態図である。
【図１８Ｂ】図２Ａの実施形態に対応するメモリシステムアーキテクチャを示すが、漸減電力モードでの回路シャットダウンに関するさらなる詳細を示す。
【図１８Ｃ】低電力モードでディセーブルし得るバイアス回路を有する差動増幅器の実施態様を示す。
【図１８Ｄ】メモリ書き込み要求およびメモリ読み取り要求のそれぞれの入力に応答して、書き込みイネーブル信号および読み取りイネーブル信号（ＥｎＷおよびＥｎＲ）のコマンドに基づくアサーションを示すタイミング図である。
【図１８Ｅ】電力低減モードへの入出を示すタイミング図であり、電力低減モードから出ることはメモリ書き込み要求によりトリガされる。
【発明を実施するための形態】
【００１０】
メモリアクセストランザクション間のアイドル期間中にメソクロナス送受信クロックを停止させ、再開させることができる、ストローブのない同期メモリシステムが、いくつかの実施形態において開示される。この動作により、アイドル期間中の消費電力を、連続クロック設計と比較して劇的に低減することができる。さらに、アイドル時間は、特に電力の影響を受けやすいモバイル装置において、合計でアクティブメモリトランザクション時間（アクティブ時間）を大幅に超えることが多いため、アイドル時の消費電力を低減可能なことにより、はるかに低い正味消費電力をもたらすことができる。
【００１１】
アイドル時のクロック停止（またはクロック一時停止）を通して達成される相当な節電にも拘わらず、メソクロナスシグナリングシステムでの送受信クロックの停止は、連鎖的な問題を生じさせる。まず、ＰＬＬは一般に、位相ロックの再確立に過度に長い時間を必要とし、さらには一般に、確実なデータレートシグナリングを開始するためには、そのシグナリングの開始前に位相較正を完了する必要がある非較正状態でリロックすることになるため、メモリ側ＰＬＬでの位相ロックの損失は、即時の性能問題を呈する。さらに、メモリ側ＰＬＬの除去は、メモリ装置内の環境に誘発される広範囲にわたる位相ドリフトならびに送受信クロックにメモリ装置内で必要な重要なタイミングエッジの損失に始まる厄介な問題を呈する。すなわち、オンメモリＰＬＬは従来、温度／電圧により誘発される位相ドリフトの補償および比較的低周波数のシステムクロックの周波数（または位相数）の低減によるデータレートシグナリングに必要なタイミングエッジの提供という二重の機能を実行する。
【００１２】
これら問題にも拘わらず、ＰＬＬ／ＤＬＬ回路は、本明細書において開示されるメモリ装置クロックアーキテクチャから省かれ、メモリ装置タイミング領域の位相は、メモリコントローラタイミング領域に対して自由にドリフトし得る。さらに、メモリ装置に複雑なドリフト補償回路を抱え込ませることに代えて、メモリコントローラのタイミング領域とメモリ装置のタイミング領域とのドリフトする位相オフセットは、メモリコントローラ内の回路により補償される。後述するように、オンメモリＰＬＬがない場合、メモリ装置の位相ドリフトは、単位間隔（すなわち、ビットまたはシンボルの送信に割り当てられた時間間隔であり、データシグナリングレートまたはデータレートの逆数である。単位間隔は、本明細書では、ビット時間またはシンボル時間とも呼ばれる）をはるかに超えて延び、タイミング補償努力およびクロック開始／停止調整にかなりの複雑性を加え得る。
【００１３】
メモリ側ＰＬＬ／ＤＬＬの省略およびそれに伴う従来のオンメモリＰＬＬの第２の機能−比較的低周波数のシステムクロック信号からのデータレートタイミング信号の生成−の損失は、システムクロック構成自体の変更により中和される。より具体的には、データレートタイミングエッジを提供するために、オンメモリＰＬＬ／ＤＬＬによる周波数逓倍（または位相分配）を受けなければならない低周波数システムクロックを分配することに代えて、データレートクロック信号自体が、システムクロック信号として分配され、それにより、メモリ装置内での周波数逓倍（または位相分配）ＰＬＬ／ＤＬＬ回路の必要性を回避する。この手法は、送信および高周波数クロックのオンチップ分配に関わる消費電力が潜在的により高いという欠点があるが、メモリ側ＰＬＬ／ＤＬＬの省略により、従来の設計を悩ませるロック損失考慮がなくなると共に、限定ではなく例えば、本明細書において説明されるドリフト補償回路およびクロック停止／開始管理回路と組み合わせられた場合、性能へのペナルティがごくわずかな状態で高速に入出し得るクロック停止低電力モードを可能にする。最終的には、集中的なメモリアクセスプロファイル（例えば、携帯電話および他のモバイル装置でのように、比較的短いアクティブメモリアクセス時間の間に散在する頻繁なアイドル期間）を示す用途では、アイドル時の節電は、いかなるアクティブ時消費電力の増大を大幅に上回り、節減はシステム内のメモリ装置の数で乗算される。
【００１４】
図１Ａおよび図１Ｂは、クロック停止低電力モードを有するメモリシステム１００の一般化された実施形態を示す。このメモリシステムは、シグナリングリンク１０２およびシステムクロックリンク１０８を介して互いに結合されたメモリコントローラ１０１およびメモリ装置１０３を含む。メモリコントローラ自体は、コントローラコア１０５および入／出力（Ｉ／Ｏ）インタフェース１０７（またはＰＨＹ：物理インタフェース）を含み、メモリ装置も同様に、メモリコア１３１およびＩ／Ｏインタフェース１３３を含む。メモリ装置およびメモリコントローラ内のＩ／Ｏインタフェース（すなわち、「メモリ側」および「コントローラ側」Ｉ／Ｏインタフェース）は、１つまたは複数のデータリンク１０６を介する双方向データ転送ならびに１つまたは複数のコマンド／アドレス（ＣＡ）リンク１０４を介する単方向コマンド（または要求または命令）転送をサポートするシグナリング回路（１１７、１１９、１３７、１３９）を含む。コントローラ側Ｉ／Ｏインタフェースは、クロックリンク１０８を介してメモリ装置に転送され、クロックバッファ１３５および内部クロックパス１３６を介してメモリ側シグナリング回路１３７および１３９に分配されるシステムクロック信号（システムクロック、ＳＣＫ）を生成するクロック生成器１１５をさらに含む。クロック生成器は、内部クロックパス１１０を介してコントローラ側シグナリング回路１１７および１１９に分配されるコントローラ側クロックセットも生成する。
【００１５】
メモリ装置１０３に関して、メモリコア１３１は、１つまたは複数のバンクに構成されるコア記憶装置アレイ１３２ならびにメモリコントローラからのメモリアクセスコマンドおよびアドレスに応答して、コア記憶装置アレイへの読み書きアクセスを管理するアクセス回路１３４を含む。後述する実施形態では、コア記憶装置アレイは、データ損失を回避するために時折のリフレッシュが必要なダイナミックランダムアクセスメモリ（ＤＲＡＭ）であることが前提とされるが、代替の実施形態では、スタティックランダムアクセスメモリ（ＳＲＡＭ）および様々な形態の不揮発性メモリ（例えば、フラッシュメモリ、相変化メモリ等）を含むが、これらに限定されない略あらゆる記憶技術を使用し得る。使用される記憶技術に関わりなく、コマンドリンク１０４（まとめて「コマンドパス」）を介してメモリ装置に伝達されるコマンドおよびアドレス値（コマンド／アドレス値またはＣＡ値）は、コア記憶装置アレイ１３２のアドレス指定領域内でデータ取得（メモリ読み取り）およびデータ記憶（不揮発性セルプログラミングを含むメモリ書き込み）の動作を実行するために使用される。検索されたデータは、本明細書では「読み取りデータ」と呼ばれ、データリンク１０６（まとめて、「データパス」）を介してメモリコントローラに戻され、逆に、記憶またはプログラムすべきデータ（「書き込みデータ」）は、データパスを介してメモリコントローラから提供される。場合によっては、行アクティブ化コマンド（コア記憶装置アレイ内の記憶セルからラッチセンス増幅器バンクへのデータ転送を命令する）、リフレッシュコマンド、消去コマンド（例えば、フラッシュメモリまたは他の電気的に消去可能な不揮発性メモリの場合）等のデータのないコマンドならびに様々な構成コマンドおよび／または動作モードコマンドを、コマンドパスを介して発行し得る。
【００１６】
図１の実施形態に戻り、メモリ側クロック構成のいくつかの特徴が強調される。第１に、クロックバッファ１３５から出力されるクロック信号（すなわち、バッファクロック信号）は、システムクロック信号を位相遅延させたものであり、周波数逓倍または多位相クロック生成は、メモリ装置内で行われず、システムクロック信号自体の周波数が、メモリ側Ｉ／Ｏ回路内のデータ伝送レートおよびサンプリングレート、ひいてはシグナリングリンク１０２のシグナリングレートを確立する。したがって、低周波数システムクロックを分配し、クロック周波数を逓倍するか、またはクロック周波数ＰＬＬ／ＤＬＬ回路を設けて、追加のクロック位相を生成することによりデータレートクロック信号を生成する従来の手法と異なり、データレートクロック信号自体（すなわち、データリンクを介して送信された各シンボルの各タイミングエッジを含むクロック信号）が、システムクロック信号としてメモリ装置に供給される。この手法の１つの結果は、所望の利得を達成するために、クロックバッファ１３５を形成する増幅器チェイン内に追加のバッファ増幅器が必要になり得（すなわち、利得は周波数に伴って降下する傾向を有し、それにより、追加の利得段がより高いクロック周波数で必要になり得）、それにより、低周波数多位相クロック信号の分配とは対照的に、メモリ装置全体を通してデータレートクロック信号を分配するために追加の電力が必要になり得ることである。上述したように、従来のクロック分配構成をより大きな電力を消費し得るものと置換することの想定される欠点にも拘わらず、周波数逓倍ＰＬＬ／ＤＬＬの省略は、位相ロックの再取得に関連する通常の時間遅延ペナルティを生じさせずに、低電力モードクロック停止状態とアクティブモードクロック状態との高速遷移を可能にする。結果として、比較的短いアイドル期間中（メモリアクセスアクティビティバースト間）であっても、性能への影響がごくわずかな状態で、クロック停止低電力モードに入り得る。多くの用途では、合計アイドル時間は合計アクティブメモリアクセス時間を大幅に超えるため、アクティブ時の電力のわずかな増大を犠牲にして、アイドル時間中の電力を大幅に低減することにより、消費電力のかなりの正味低減がもたらされ得る。この結果は、図１のクロック一時停止可能なメモリ装置の例示的な消費電力プロファイルを同じ使用状況下の連続クロックＰＬＬ／ＤＬＬに基づくメモリ装置の例示的な消費電力プロファイルと対比する図１Ｃおよび図１Ｄにグラフで示される。示されるように、クロック一時停止可能なメモリでのアクティブ時の電力がいくらか高いにも拘わらず、アイドル時の消費電力のかなりの低減により、メモリ側タイミング領域をシステムクロック信号の位相に固定するために利用されるオンメモリロックループの大きなアイドル消費電力という欠点を有する連続クロックメモリよりもはるかに低い正味消費電力がもたらされる。
【００１７】
メモリ側クロック構成の別の特徴は、クロック分配回路が全体的に、メモリ装置内の開ループであり、上述したように、システムクロック信号とメモリ側Ｉ／Ｏセルに分配されるバッファクロック信号との間の時間により変化する（すなわち、ドリフトする）位相遅延を補償するロックループ回路がないことである。さらに、システムクロック−バッファクロック位相遅延の大きさおよび環境からの影響の受けやすさの両方が、データレートクロック信号の周波数を高くするためにクロックバッファ内に設けられる増幅器の追加段により増大する。すなわち、クロックバッファ内の各増幅器段は、環境依存性（例えば、温度依存性かつ／または電圧依存性）伝播遅延を示す傾向を有するため、増幅器段の追加により、正味のシステムクロック−バッファクロックタイミングスキューが増大するのみならず、タイミングスキューの変化率（すなわち、ドリフト率）も増大する。バッファクロック信号は、サンプリング動作および送信動作のタイミングをとるためにメモリ側Ｉ／Ｏセル内に適用されるため、バッファクロック信号の位相ドリフトは、メモリ装置により送信される読み取りデータ信号の対応する位相ドリフトとして現れる（そのような信号を正確に受信すべき場合、入力書き込みデータ信号の位相を変更する必要がある）。最後に、クロックバッファ遅延は数ビット時間のオーダであり得、温度および電圧の隅部の間（すなわち、許容される最小電圧および温度と最大電圧および温度との間）のクロックバッファ遅延の正味変化は、シンボル時間（またはビット時間）を容易に超え得るため、送信クロック位相または受信クロック位相は、１つまたは複数のビット時間境界を超えて隣接するビット時間中にドリフトし得る。データサンプリング時間をビット境界間に適宜中心に置き得るが、１つまたは複数の整数ビット時間だけずれ得るため、これはさらなるタイミング複雑性を生じさせる。したがって、その他の点では正しく受信されたデータは、受信器側直列化回路により並列データビットセット（本明細書ではパケットと呼ばれる）に不適当にフレーム化される恐れがある。
【００１８】
メモリ装置内のクロック分配構成は開ループであるが、それにも関わらず、システム全体の閉ループタイミング補償構造が、メモリコントローラとメモリ装置との間の伝送に鑑みて実行される較正動作中の位相、ビット、およびパケットの位置合わせ情報の取得を通して行われることに留意されたい。したがって、多構成要素（マルチＩＣ）閉ループは、メモリ装置へのシステムクロック信号の転送およびコントローラにより管理されるタイミング較正動作を通しての（メモリ側の送信回路および受信回路に適用された）転送されたクロック信号のメモリ側位相を示す情報の取得において行われる。
【００１９】
クロック停止低電力モード
引き続き図１Ａを参照すると、コントローラコア１０５は、ホストインタフェースを介して（例えば、プロセッサまたは他のメモリアクセス要求装置から）受信したメモリアクセス要求を入れるトランザクションキュー１０９（または要求キュー）と、トランザクションキューの状態を監視する電力モードコントローラ１１１を含む。トランザクションキューが空になると、電力モードコントローラは、最後の（すなわち、最後にキューから出される）トランザクションが完了する前に、追加のトランザクション要求が受信され（キューに入れられ）るか否かに応じて、低電力クロック停止モードになる準備をする。最後のトランザクションが完了する前に、追加のトランザクション要求が受信される場合、電力モードコントローラは、クロックイネーブル信号１１４をデアサート（または一時停止信号をアサート）して、システムクロックおよび好ましくは（必須ではないが）コントローラ側シグナリングクロックの切り替えを一時停止する。結果として生じるクロック停止またはクロック一時停止は、メモリ側およびコントローラ側のＩ／Ｏ回路内のすべての送信クロックおよび受信クロックが切り替えを停止し、ひいては双安定論理状態間の消費電力範囲を通してクロック動作回路の駆動を回避するため、メモリ装置およびメモリコントローラ内の即時節電をもたらす。
【００２０】
図１Ｂはクロック停止の効果を示す。最後のメモリトランザクションがクロックサイクル「０」において開始されたと想定すると、電力モードコントローラは、空のトランザクションキューを検出し、メモリ装置およびコントローラ側Ｉ／Ｏ回路の内部動作が完了する時間までクロックサイクルをカウントし始める。この例では、その時間は、トランザクションが開始されてから２４システムクロックサイクル後、ひいてはシステムクロックサイクル２４において生じる。その後間もなく、この場合、メモリ装置への最後の無演算（ＮＯＰ）コマンドの送信を保証するのに十分に長い時間後に、システムクロックおよびコントローラＩ／Ｏクロックは手際よく停止され、論理ハイまたはロー状態に留まる。この時点で、メモリシステムはアイドルであり、クロック停止低電力状態である。コントローラコア内の低周波数クロックは発振し続け、したがって、後に提出されたトランザクション要求を受信することが可能である。この例では、トランザクションは、システムクロックサイクル４４の少し前のある時点でキューに入れられる。したがって、電力モードコントローラは、キューに入ったトランザクションを検出し、クロックサイクル４４においてシグナリングクロック（システムクロックおよびコントローラ側Ｉ／Ｏクロック）を再開し、無演算コマンドをメモリ装置に送信できるようにし、その後、この例では、コア記憶装置アレイの選択されたバンク（Ｂ）に向けられるアクティブ化コマンドとして示されるアクティブコマンド転送を可能にする。したがって、電力モードコントローラは、空のトランザクションキューを検出し、最後のトランザクションが完了するのに十分に長い時間待った上でメソクロナスシグナリングクロックを停止し、次に、新たにキューに入ったトランザクションを検出した上でシグナリングクロックを再開することにより、メモリアクセストランザクション間のアイドル期間での消費電力を低減する。この例では、クロック停止間隔は、停止されなければシステムクロック信号の１６サイクル分にわたり、その時間中の合計システム消費電力を大幅に低減する。実際の用途では、数ミリ秒のアイドル期間にわたるシグナリングクロックの停止ですら、停止しない場合には数百万のクロックトランザクションに必要な消費電力が回避される。合計ではアクティブメモリトランザクション時間を大幅に超える複数のアイドル期間中の節減の累積は、性能ペナルティがわずかな状態で大幅な節電をもたらす。
【００２１】
クロックおよびドリフト補償
図２Ａは、メモリ側およびコントローラ側Ｉ／Ｏ回路およびシステムクロックアーキテクチャの実施形態をさらに詳細に示す。限定ではなく、明確にするために、特定の数および種類のシグナリングリンク、クロック周波数、クロック周波数比、および直列化深度（serialization depth）が、図２Ａおよび続く関連図に示される。例えば、差動シグナリングリンクが、８つのデータリンク（ＤＱ［０〜７］）、２つのコマンド／アドレスリンク（ＣＡ［０，１］）、データマスクリンク（ＤＭ）、およびシステムクロックリンク（ＳＣＫ）のそれぞれを実施するために提供される一方で、シングルエンドリンクが、一対の相対的に低いシグナリングレートの側波帯リンク（ＳＬ［０，１］）を実施するために使用される。あるいは、各差動リンクは、シングルエンドリンク（またはその逆）であってもよく、より多数または少数のリンクを使用して、コマンドパスおよび／またはデータパスを実施してもよく、データマスクリンク（単方向コマンドパスの部分として考えられ得る）および関連付けられた回路を一緒に省いてもよい。データリンクまたはコマンドリンクのうちの一方を介する帯域外シグナリングを優先して、専用側波帯リンクを省いてもよい。
【００２２】
クロック周波数およびクロック周波数比に関して、システムクロックアーキテクチャは、４００ＭＨｚ基準クロック信号（ＲＥＦＣＫ１）により駆動され、この基準クロック信号は、ＰＬＬ回路１６１内で８で乗算されて、本明細書では、ＰＣＫ８またはコントローラ側Ｉ／Ｏクロック（「ＰＣＫ８」内の「８」は、基準クロック信号の８倍であることを示す）とも呼ばれる位相分配した３．２ＧＨｚコントローラ側Ｉ／Ｏクロック信号セットを生成する。コントローラ側Ｉ／Ｏクロックを駆動することに加え、３．２ＧＨｚ  ＰＬＬ出力が、分周器１６５において２で分周されて、システムクロックＳＣＫ（本明細書では、ＰＣＫ４とも呼ばれる）が生成され、分周器１６３において８で分周されて、システムクロックおよびコントローラ側Ｉ／Ｏクロックと位相位置合わせされるが、コアのクロック動作のために低い周波数を有し、ひいては低電力論理演算が可能なコントローラ側コアクロック信号（ＰＣＫ１）が生成される。そのようなすべての場合において、コアのタイミング領域とＩ／Ｏタイミング領域とで、異なるクロック周波数および異なるクロック周波数比を使用し得る。同じ周波数クロックが各シグナリングリンクに利用されるが、代替として、異なるＩ／Ｏクロック周波数を適用して、異なる信号クラスに異なるシグナリングレート（例えば、コマンド／アドレス信号には半データレートクロック）を達成してもよい。さらに、示される実施態様では、１．６ＧＨｚシステムクロック周波数は、データリンクおよびコマンドリンクの３．２Ｇｂ／ｓ（ギガビット毎秒）の半分である。本明細書では時折、「半ビットレート」または「半シンボルレート」クロック信号と呼ばれるが、それにも関わらず、各サイクル内の立ち上がりエッジおよび立ち下がりエッジ（または差動システムクロック実施態様では、２つの１８０°オフセットされた立ち上がりエッジ）を使用して、各（１／３．２ＧＨｚ）データ間隔でデータを送信またはサンプリングし得るため、システムクロックは「データレート」クロック信号とみなされる。半ビットレート（半シンボルレート）システムクロックが、以下の例示的な実施形態の多くにおいて転送されるが、代替として、全ビットレートクロック（この例では、３．２ＧＨｚ）をシステムクロックとしてメモリ装置に転送してもよい。
【００２３】
引き続き、８：１直列化が、各シグナリングリンクを介してのビット直列伝送のために、コア供給の８ビット幅パケットの情報の直列化に適用され、対応する１：８非直列化が、相手方のコアへの送信のために直列ビットシーケンスを８ビット幅データに復元するために適用される。例えば、８つの８ビットパケットの書き込みデータ（Ｗｄａｔａ［０］［０〜７］−Ｗｄａｔａ［７］［０〜７］）が、４００ＭＨｚコントローラコアクロック（ＰＣＫ１）の各期間中に直列化され、８つの各データリンクＤＱ［０〜７］を介して各８ビットシーケンス内で３．２Ｇｂ／ｓで送信され、それにより、合計データ帯域幅３．２ＧＢ／ｓ（３．２ギガバイト毎秒）を提供する。メモリ装置において、各８ビット長書き込みデータパケットは、４００ＭＨｚメモリコアクロック（ＭＣＫ１）というサイクル時間中に（ビット毎に）サンプリングされ、並列パケットに変換され、それにより、コントローラコアのようなメモリコアが、低周波数領域でデータのバイトサイズパケットに対して演算できるようにする。逆のメモリ装置内での直列化およびメモリコントローラ内での非直列化は、メモリ装置からメモリコントローラへの読み取りデータ送信において実行され、それにより、両装置コアによる比較的低周波数のクロック領域（この例では４００ＭＨｚ）での演算を可能にしながら、比較的狭い８リンクデータパスを介するメモリコアからコントローラコアへの３．２ＧＢ／ｓデータ転送を可能にする。同様の直列化演算および非直列化演算は、コマンド／アドレスリンクおよびデータマスクリンクのそれぞれで単方向で実行される。すべてのこのような場合、異なる直列化深度（すなわち、パケット毎により多数または少数のビット）を、一般にそれに対応してコアとＩ／Ｏとのクロック比を変更して、任意またはすべてのリンクに適用し得る（深度＝１：事実上、直列化または非直列化がまったくない、を含む）。
【００２４】
開ループメモリ側クロック分配を使用するメソクロナスクロック動作
すべてのシステムタイミングエッジは共通のクロック信号（すなわち、それ自体は基準クロック信号ＲＥＦＣＫ１から導出されるＰＬＬの出力）から導出されるため、システム内の様々なクロックはメソクロナスである。すなわち、様々なクロックは、任意の逓倍／分周を考慮した後同じ周波数を有するが、クロックがメモリコントローラおよびメモリ装置内の様々な適用点に達するために必要な伝播時間が異なることにより潜在的に異なる位相を有する。一般に、オンダイまたはチップ間導電体を介したそのような伝播時間は、動作中のシステム温度および電圧範囲にわたって比較的一定のままである。しかし、メモリコントローラおよびメモリ装置内のクロック線を駆動するために設けられるバッファ増幅器等の能動構成要素を通る伝播時間は、環境変化（少なくとも温度および電圧）により大きく影響されがちであり、したがって、様々な分配クロック間の、その他の点では比較的安定した位相関係に環境により誘発されるドリフトをもたらす。
【００２５】
特にメモリ側クロックアーキテクチャを参照すると、システムクロックは、バッファ２２３を介して受信され、増幅器２２９によりグローバルクロック線２３０に駆動される。グローバルクロック線を駆動するために比較的大きな利得が必要であるため、増幅器２２９は、実質的に環境の影響を受けやすい伝播遅延をそれぞれ示す複数の段を含む傾向を有する。システムクロックの比較的高い周波数（すなわち、クロックは、オンメモリＰＬＬ設計の低いシステムクロック周波数とは対照的に、最悪の場合のデータ信号と同じ上部スペクトル成分を有する）は一般に、所望の信号利得を達成するために（すなわち、利得は一般に周波数の増大に伴いロールオフする）、追加の増幅器段が必要であり得るため、この環境の影響の受けやすさを増大させる。したがって、本明細書ではメモリ側Ｉ／ＯクロックまたはＭＣＫ４と呼ばれる、結果として生成されるバッファクロック信号は、入力システムクロック信号に対して実質的な位相遅延を示すのみならず、メモリ装置の温度および電圧の動作範囲にわたり１つまたは複数の単位間隔（ビット時間）を超えるドリフトを生じさせ得る環境影響の受けやすさも示す。さらに、オンメモリＰＬＬ／ＤＬＬの帰還ループ内のクロックバッファを増大させることにより、ドリフトする増幅器遅延を補償する従来の設計とは対照的に、増幅されたシステムクロック信号（すなわち、バッファクロック信号、ＭＣＫ４）の開ループ分配は、クロック増幅器内のいかなる位相ドリフトも、メモリ側送信クロックよび受信クロックの位相ドリフトに直接変換され、ひいては、メモリ装置により送信される読み取りデータ信号の対応する位相ドリフトとして現れる（そのような信号を正確に受信すべき場合、入力書き込みデータ信号の位相を変更する必要がある）ことを意味する。最後に、クロックバッファ遅延（すなわち、要素２２３、２２９を通しての遅延）は、数ビット時間のオーダであり得、温度および電圧の隅部の間（すなわち、許容される最小電圧および温度と最大電圧および温度との間）のクロックバッファ遅延の正味変化は、ビット時間を容易に超え得るため、送信クロック位相または受信クロック位相は、１つまたは複数のビット時間境界を超えて隣接するビット時間中にドリフトし得る。データサンプリング時間をビット境界（データアイのエッジ）間に適宜中心に置き得るが、整数のビット時間だけずれ得るため、これはさらなるタイミング複雑性を生じさせる。したがって、その他の点では正しく受信されたデータは、メモリ側またはコントローラ側の非直列化回路により並列データビットパケット（例えば、８ビットパケット、１６ビットパケット等）に不適当にフレーム化される恐れがある。
【００２６】
図２Ｂは、上述されたメモリ側タイミング構成を示し、図２Ａのメモリ装置のピン（または他の相互接続構造）に現れるシステムクロック信号およびデータ信号ならびにメモリ側直列化器２３５（またはシングルビット送信器）に適用されるバッファメモリＩ／ＯクロックＭＣＫ４を示す。示されるように、メモリＩ／Ｏクロックは、メモリＩ／Ｏクロックの位相、ひいてはデータリンク（ＤＱ）のうちの１つに駆動される読み取りデータ信号の位相がシステムクロック信号に対して自由にドリフトするように、システムクロックに対して時間変化する遅延を示す。より詳細には、システムクロックとメモリＩ／Ｏクロックとの第１の時間遅延（または位相オフセット）が、第１の電圧・温度点（ｖ０，ｔ０）において発生し、温度および電圧が時間の経過に伴って新しい点（ｖ１，ｔ１）および（ｖ２，ｔ２）にドリフトした場合、システムクロックとメモリＩ／Ｏクロックの位相オフセットは、ビット時間だけ、またはビット時間を超えて前（ドリフト−）後（ドリフト＋）にドリフトする。単一データリンクでの位相ドリフトおよびメモリＩ／Ｏクロックのインスタンスが示されるが、同様の位相ドリフトは、示される大きさおよび方向から独立した大きさおよび方向で、他のデータリンクにも生じ得る。例えば、システムクロック信号に対する位相ドリフトは、例えば、各シグナリングリンクに関連付けられた環境の影響を受けやすいローカルクロックバッファおよびローカルクロックバッファがもたらし得る潜在的に異なる伝播遅延により、データリンク毎に異なり得る。
【００２７】
コントローラ側直列化／非直列化回路内のドリフト補償
図２Ａの実施形態では、タイミング補償回路が、コントローラ側直列化／非直列化回路と共に設けられて、メモリ側Ｉ／Ｏ回路内の自由にドリフトする送受信クロック位相を補償する。より詳細には、タイミング補償回路は、コントローラ側Ｉ／Ｏタイミング領域を、リンク単位で、ドリフトするメモリ側Ｉ／Ｏタイミング領域と位置合わせして、ビット内サンプリング位相誤差のみならず、メモリ側位相ドリフトがビット境界を越える場合に生じるビット時間位置合わせずれおよび様々なリンクでの異なるビット時間位置合わせずれに起因するリンク毎のパケット位置合わせずれも補償する。実際には、タイミング補償回路は、補償されない場合にはデータ直列化／非直列化誤差（すなわち、ビットの、シグナリングリンクの反対側での異なるビット境界でのパケットへのフレーム化ビット）の原因となる恐れがあるビット境界を跨ぐドリフトおよびパケットがメモリコントローラまたはメモリ装置内のコアのクロック領域とＩ／Ｏ回路のクロック領域との間でパケットが転送される際の領域を跨ぐ誤差を含め、相手方のメモリ側Ｉ／Ｏ回路内の送受信クロックの位相ドリフトを補償するドリフト追跡送受信クロック位相を各コントローラ側Ｉ／Ｏ回路内に確立する。
【００２８】
図２Ａの実施形態では、各ドリフト補償非直列化器は、ビット内位相ドリフトを補償する位相選択非直列化器１９２と、ここでは、ビット境界を跨ぐドリフトを補償し（ビット位置合わせ）、コントローラコアへの転送の同期をとるために異なるリンクを介して受信されるパケットを位置合わせする（パケット位置合わせ）パケット／ビット位置合わせ回路１９４とを含む。ドリフト補償直列化器は、メモリ装置に流れる情報のタイミングを調整する同様の回路を含み、ビット内調整（位相選択直列化器１９１）およびビット／パケット位置合わせ（１９３）を提供して、メモリ装置内でのサンプリング、ビットフレーム化、およびリンク毎のパケット位置合わせのタイミングを適宜とるために、出力データストリームをプレスキューさせる。
【００２９】
図３Ａおよび図３Ｂは、図２Ａに示される任意のドリフト補償非直列化を実施するための使用し得るドリフト補償非直列化器１８６の実施形態およびタイミング図を示す。したがって、図２Ａにおいて参照される８つの非直列化器のうちの所与の１つに捧げられた各入力信号および出力信号は、同じ信号の別個のインスタンスがその他の７つの非直列化器に入出力されることを示すために、図３Ａおよび図３Ｂではインデックス「［ｉ］」（すなわち、ｉ＝０，１，２，・・・，７）により示される。したがって、非直列化器１８６はデータリンクＤＱ［ｉ］に結合されて、直列データ信号を受信し、８ビット幅データパケットＲｄａｔａ［ｉ］［７：０］を出力する。非直列化器は、６ビットの位相調整信号ＰｈＡｄｊ［ｉ］［５：０］および３ビットのビット調整信号ＢｉｔＡｄｊ［i］［２：０］をさらに受信する。非直列化器は、他のすべての非直列化器と共に、コントローラコアクロックＰＣＫ１および多位相コントローラＩ／ＯクロックＰＣＫ８も受信する。図示の実施形態では、コントローラＩ／Ｏクロックは３段リング発振器により生成され、したがって、ＰＣＫ８サイクル時間内に位相分配された３つの異なるクロック信号のセットを出力する。換言すれば、図３Ａの実施形態では、コントローラＩ／Ｏクロックは、０°、１２０°、および２４０°のクロック位相およびそれぞれを補足する１８０°、３００°、および６０°のクロック位相を含み、それにより、６つのクロック位相のセットを提供し、この６つのクロック位相のセットから、ＰＣＫ８サイクル内で任意の位相オフセット（すなわち、クロック位相また位相角度）を有する位相シフトされた受信クロックＰＣＫ８［ｉ］を合成し得る。一実施態様では、例えば、位相補間回路２７１が、６つの可能な位相調整クロック位相対（すなわち、０°／６０°、６０°／１２０°、１２０°／１８０°、１８０°／２４０°、２４０°／３００°、または３００°／０°）のうちの１つを選択することにより、６ビットの位相調整値のうちの最上位３ビット（ＭＳＢ）に応答し、位相調整値の最下位３ビットに応答して、選択されたクロック位相対を補間（または混合）し、それにより、位相調整値の各インクリメントまたはデクリメントを使用して６０°／８または７．５°位相ステップ（または分解能）を提供する。代替の実施形態では、より多数または少数のクロック位相を提供してもよく（それに対応して、選択可能なクロック位相対の数に合うように、必要に応じて位相選択ビット数を変更して）、かつ／またはより細かいもしくは粗い位相補間を提供してもよい。位相補間回路２７１はそれ自体、限定ではなく例として、ＭＳＢにより選択された位相ベクトルを受信するようにそれぞれ結合された入力と、共通して結合された出力と、位相調整値の最下位３ビットの相補的なインスタンスにより制御される各駆動強度とを有する増幅器を含む任意の種類の位相シフト回路により実施し得る。より一般には、代替の実施形態では、コントローラＩ／ＯクロックＰＣＫ８に対して選択可能な位相オフセットを提供可能な任意の種類の回路を使用し得る。最後に、補間回路のトポロジに関わりなく、図１Ａのトポロジ内に含まれる補間（または位相シフト）回路は���ソースコントローラＩ／ＯクロックＰＣＫ８が停止した場合、補間クロックＰＣＫ８［ｉ］をグリッチのない（すなわち、ショート（ラント）パルスまたは無効論理レベルのない）状態にすることが可能である。一例として、いくつかの実施形態では、補間クロックのグリッチなしの開始および停止が、ＰＣＫ８［０°］およびＰＣＫ８［１８０°］波形の追加の１サイクル遅延コピー対を補間回路に分配することにより可能である。同様の構成を使用して、図３Ｆを参照して後述するコントローラ側送信クロック位相のグリッチのない開始および停止を保証し得る。
【００３０】
後述するように、受信クロック位相をまず、ある範囲の値を通して（または二部もしくは他の検索パターンを通して）位相調整値をステッピングさせて、結果として生成される、誤差のないデータ受信をもたらすクロック位相を、ビット誤差をもたらすクロック位相から（すなわち、パスクロック位相をフェイルクロック位相から）区別することにより較正し得る。一実施形態では、例えば、データアイの開く側と閉じる側（またはあるデータアイの閉じる側および続くデータアイの開く側）でパス／フェイル境界上にあるクロック位相（すなわち、誤差のない受信およびビット誤差のそれぞれをもたらす隣接クロック位相）が識別され、これら境界を中心とする位相は、較正受信クロックＰＣＫ８［ｉ］として選択される。その後、受信クロック位相は、境界位相を再テストして、同じパス（またはフェイル）結果になることを確認し、パス／フェイル境界の変更により示される任意のドリフトを打ち消すように、最後の受信クロック位相の位相調整値をインクリメントまたはデクリメントすることにより、メモリ側（またはシステム全体の）位相ドリフトを考慮するように周期的に（または時折）調整し得る。
【００３１】
フロップ段（またはラッチ）２８３が、受信クロック信号ＲＣＫ８［ｉ］の遷移に応答して逐次ロードされる８ビットシフトレジスタを形成する。フレームクロック信号ＲＣＫ１［ｉ］は、８サイクルの受信クロック信号毎に１回循環し、シフトレジスタの内容を並列出力レジスタ２８５に並列に転送し、それにより、１：８直列／並列変換を行うために使用される。ビット位置合わせ回路は、受信クロック（ＲＣＫ８［ｉ］）の立ち下がりエッジをカウントするモジュロ８カウンタ（３ビット幅レジスタ２７３およびインクリメント論理２７５により形成される）と、３ビットのビット調整値（ＲｘＢｉｔＡｄｊ［２：０］）を３ビットのモジュロ８カウンタ出力に加算する加算回路２７７とを含み、受信クロック信号とフレームクロック信号との位置合わせに対する選択可能な制御を提供する。より詳細には、ビット調整値がゼロ（すなわち、ＲｘＢｉｔＡｄｊ［ｉ］［２：０］＝０００ｂ、「ｂ」は二進数を示す）の場合、カウンタ値が３から４に（０１１ｂから１００ｂに）遷移する都度、加算器出力（２７８）のＭＳＢはハイになり、２つの受信クロックサイクル後に（フロップ段２７９および２８１により）、フレームクロック（ＲＣＫ１［ｉ］）信号の対応する立ち上がりエッジにおいて、並列出力レジスタの内容のロードをトリガする。ビット調整信号をインクリメントする都度、加算器ＭＳＢ（ひいてはＲＣＫ１［ｉ］）は１ビット時間ずつ早くハイになり、それにより、ＲＣＫ１［ｉ］（またはＲＣＫ１［ｉ］の立ち上がり遷移）を８つのＲＣＫ８［ｉ］サイクルのうちの任意のサイクルの立ち下がりエッジと位置合わせすることができ、ひいては、直列−並列フレーム化を入力直列ビットストリーム内の８つの可能なパケットフレーム境界のうちの任意の境界にシフトさせることができる。図示の実施形態では、ＲＣＫ１［ｉ］の各立ち上がりエッジは、ＲＣＫ８［ｉ］信号の立ち下がりエッジと位置合わせされ、それにより、並列レジスタへの転送は、シフトレジスタに新しい８ビットパケットがロードされてから半ＲＣＫ８［ｉ］サイクル後（かつ後続パケットの最初のビットがシフトレジスタにロードされる半ＲＣＫ８［ｉ］サイクル前）に行われる。
【００３２】
図３Ｂは、多位相コントローラＩ／ＯクロックＰＣＫ８（そのうちの０°クロック位相のみが示される）ならびにＰＣＫ８［０°］に対して任意の位相オフセット２８８および線ＤＱ［ｉ］上の入力データ波形に対して直交（すなわち、中ビット時間が中心に置かれた）位置合わせを行うために例示的な位相オフセット２９１を有する位相シフト受信クロックＲＣＫ８［ｉ］のインスタンスで開始される、上述したタイミング構成を示す。モジュロ８カウンタ（すなわち、ＲＣＫ１ａ［ｉ］）の最上位ビット出力は、８サイクルの受信クロック信号毎に１回循環し、立ち下がり受信クロックエッジと位置合わせして遷移する。考察したように、フレームクロックＲＣＫ１［ｉ］は、ビット調整値ＲｘＢｉｔＡｄｊ［ｉ］［２：０］の値に従って、カウンタ出力後、Ｎ＋２の受信クロックサイクル後に遷移する（フロップ段２７９、２８１の直列結合により）。但し、Ｎは０〜７の範囲である。したがって、ビット調整値がゼロ（０００ｂ）である場合、フレームクロック信号は、未処理のカウンタ出力から２サイクル後に遷移し、示される図では、データビット１２（任意の付番の）がシフトレジスタのバックエンドにロードされてから半サイクル後に遷移する。したがって、ＲｘＢｉｔＡｄｊ［ｉ］［２：０］の場合、５〜１２と付番された８ビットがシフトレジスタフロップ２８３から並列出力レジスタ２８５に並列に転送され、これらビットをビット４と５との間および１２と１３との間のそれぞれに開始ビット境界および終了ビット境界があるパケットとしてフレーム化する。この例を続けると、ＲｘＢｉｔＡｄｊ＝１（００１ｂ）である場合、ビット６〜１３がパケットにフレーム化され、ＲｘＢｉｔＡｄｊ＝２（０１０ｂ）である場合、ビット７〜１４がパケットにフレーム化され、ＢｉｔＡｄｊ＝７（１１１ｂ）まで以下同様に続き、ＢｉｔＡｄｊ＝７の場合、ビット１２〜１９がパケットにフレーム化される。
【００３３】
引き続き図３Ａおよび図３Ｂを参照すると、コアクロックおよびフレームクロックが、受信クロックとコントローラＩ／Ｏクロックとのビット内位相オフセットおよびある整数（０〜７）の受信クロックサイクル分を基本のフレームクロック位相（ＲＣＫ１ａ［ｉ］）に加算することにより達成されるビット幅オフセットにより、互いに対して任意の位相を有することが分かる。したがって、ドリフト補償非直列化器からコントローラコアへのデータ転送は、クロック領域がフレームクロック領域からコントローラコアクロック領域に渡ることを含む。この転送は、８つのドリフト補償非直列化器のそれぞれ内に存在し得る潜在的に異なるフレームクロック領域によりさらに複雑化する。さらに、メモリコントローラ（または同じクロック生成回路を共有する複数の同じダイまたは別個のダイのメモリコントローラ）が、２つ以上のメモリ装置と通信している場合、データタイミングのばらつきは、単一のメモリ装置の場合の最悪の場合よりも一層大きくなり得る。したがって、ビット内サンプリング位相調整用の位相調整回路およびパケットフレーム化境界制御用のビット位置合わせ回路に加えて、パケット位置合わせ回路が設けられて、コントローラコア領域に同時に転送するために、各データリンクを介して受信したパケットの集合を位置合わせする。すなわち、８つのパケットが、メモリコアからメモリ側Ｉ／Ｏ回路に位置合わせされて転送されるにも関わらず、様々なデータリンク間の位相差により、パケットがメモリコントローラに時間的に互い違いに到着することになり、したがって、互いに対して（かつコントローラコアクロックＭＣＫ１に対して）異なるビットオフセットでパケットがフレーム化されることになり得る。その結果、元々位置合わせされていたパケットのうちの１つまたは複数は、他のパケットよりも先にコアクロック（ＰＣＫ１）のラッチエッジに対して利用可能になり得、早く到着したパケットの転送を遅らせて、後に到着する（待ち時間のより長い）パケットと位置合わせする機構がない場合、メモリコアから検索された元の複数パケットメモリワード（例えば、この例では８バイト値）の構成パケットを、コントローラコアに転送される際、２つ以上のメモリワードに時間的に散在する（すなわち、構成パケット間のメモリ側タイミング関係が失われる）可能性があることを意味する。したがって、一実施形態では、パケットをコントローラＩ／Ｏ回路からコントローラコアに転送する際に、メモリ−コアパケット位置合わせが維持（または復元）されることを保証する回路。図３Ａの実施形態では、例えば、そのようなパケット位置合わせ回路は、フレームクロック（またはＦＩＦＯクロックＦＣＫ１［ｉ］と呼ばれるフレームクロックを１ビット時間的に進ませたもの）によりロードされ、コントローラコアクロックＰＣＫ１によりアンロードされ、最悪の場合のタイミング条件下での最長待ち時間パケットと最短待ち時間パケットとのフレーム化時間間隔に広がる整数のコアクロックサイクルに等しい数のパケットを保持するのに十分な深度のパケット幅の先入れ先出し（ＦＩＦＯ）バッファ２８７により実施される。
【００３４】
図３Ｃおよび図３Ｄは、図３Ａのパケット位置合わせ回路２８７を実施するために使用し得るＦＩＦＯに基づくパケット位置合わせ回路２９０の実施形態および対応するタイミング図を示す。パケット位置合わせ回路２９０は、４パケット深度バッファ２９９と、ロード回路２９１と、アンロード回路３０１とを含む。ロード回路２９１は、２ビットロードカウントを出力するモジュロ４ロードカウンタ２９２（すなわち、インクリメント論理２９３および２ビットレジスタ２９４により実施されるカウントシーケンス＝０，１，２，３，０，１，・・・）と、パケット調整値ＲｘＰｋｔＡｄｊ［ｉ］［１：０］をロードカウントに加算し、それにより、ロードカウントを０〜３のフレームクロックサイクルだけ進められるようにする（すなわち、実際には、４つの可能な初期カウント値のうちの任意の値にロードカウントを調整できるようにする）２ビット加算器２９５と、加算器調整されたロードカウントを復号化して、立ち上がりＦＣＫ１エッジに応答して入力パケットＰ［ｉ］［７：０］をロードすべき４深度バッファ２９９内の４つのパケットレジスタのうちの１つを選択する２：４復号器２９７とを含む。実際には、ロード回路２９１は、４深度バッファへの「ロードポインタ」の回転を実施して、順番に次々と１つのパケットレジスタを選択し（加算器調整されたカウントが３（１１ｂ）から０（００ｂ）にロールオーバーする際に、最後のパケットレジスタから最初のパケットレジスタにラップする）、加算器２９５は、パケット調整値ＲｘＰｋｔＡｄｊ［ｉ］［１：０］に従って、ポインタを任意の開始パケットレジスタ位置まで進められるようにする。
【００３５】
引き続き図３Ｃを参照すると、アンロード回路３０１は、コアクロック信号（ＰＣＫ１）の立ち上がりエッジに応答して２ビットカウントシーケンスすなわち「アンロードカウント」を生成するモジュロ４アンロードカウンタ３０２（インクリメント論理３０３および２ビットレジスタ３０４により形成される）と、アンロードカウントに応答して４深度バッファの４つのパケットレジスタ出力（ＳＥＬ０〜ＳＥＬ３）のうちの１つを次々と選択する４：１マルチプレクサ３０５とを含む。したがって、ロード回路２９１は、ＦＣＫ１に応答して、パケットレジスタをラウンドロビン様式で（すなわち、バッファ２９９の４つのパケットレジスタを通して順次回転する）ロードし、アンロード回路３０１は、ロード回路の回転後、ＰＣＫ１に応答してラウンドロビン様式でパケットレジスタをアンロードする。入力パケット調整値は、ロード回路により実施される回転ポインタを、アンロード回路により実施される回転ポインタよりも、所望の数のＰＣＫ１クロックサイクルだけ先行させられるようにする。後述するように、較正動作を実行して、各リンクのＦＩＦＯロードとアンロードとの最小待ち時間を決定し、次に、最悪の場合の最小値に合うように各リンクのロードとアンロードとの間の待ち時間を設定することにより、すべてのリンクを位置合わせし得る。
【００３６】
図３Ｄは、リンクＤＱ［０］およびＤＱ［７］上の例示的なタイミングデータタイミングパターンのパケット調整値を調整する効果を示す。より詳細には、コントローラコアクロック（ＰＣＫ１）を参照として使用して、リンクＤＱ［０］のＦＩＦＯロードクロックが、ＰＣＫ１サイクルのある割合分だけＰＣＫ１を遅延したものであると想定され、リンクＤＱ［７］のＦＩＦＯロードクロックが、おおよそ同じ割合だけＰＣＫ１に先行するものと想定される。さらに、説明のために、パケット調整値００、０１、１０、および１１により、パケットレジスタ出力ＳＥＬ０、ＳＥＬ１、ＳＥＬ２、およびＳＥＬ３のそれぞれが初期選択されるものと想定される。実際の動作において、ロードカウンタ２９２を所定の状態に初期化する回路がない場合、パケット調整値は、４つの可能な初期ロードカウンタ状態（００、０１、１０、１１）のうちの任意の状態だけオフセットされた初期パケットレジスタ出力選択をもたらし得る。
【００３７】
データ読み取り動作（または較正データ送信）により、各データリンク上にパケット「ｉ」（「Ｐｋｔｉ」）を含む入力パケットシーケンスがもたらされると想定すると、ＦＣＫ１［０］の遅延位相により、対象パケットが、ＰＣＫ１の立ち上がりエッジＮの後、少ししてから受信され（例えば、コントローラコアが、パケット「ｉ」の返信をもたらした要求または他の送信を発行してからＮ番目のＰＣＫ１サイクルの開始を示す）、パケット調整値ＲｘＰｋｔＡｄｊ［０］［１：０］に従って４つのパケットレジスタ（ｆｌｏｐ０、ｆｌｏｐ１、ｆｌｏｐ２、またはｆｌｏｐ３）のうちの１つにロードされることになる。すなわち、パケット調整値が００である場合、パケット「ｉ］はｆｌｏｐ０にロードされ（出力ＳＥＬ０を有する）、４つのＦＣＫ１サイクル中、そこに留まる。同様に、パケット調整値が０１、１０、または１１の場合、パケット「i」は、示されるように、ｆｌｏｐ１（ＳＥＬ１）、ｆｌｏｐ２（ＳＥＬ２）、またはｆｌｏｐ３（ＳＥＬ３）にロードされる。
【００３８】
例のために、アンロードポインタが、ＰＣＫ１のサンプリング（立ち上がり）エッジＮにおいてｆｌｏｐ０で点される（すなわち、パケットレジスタ出力ＳＥＬ０がマルチプレクサ３０５により選択される）（そして、ＰＣＫ１エッジＮ＋１、Ｎ＋２、Ｎ＋３のそれぞれにおいてｆｌｏｐ１、ｆｌｏｐ２、ｆｌｏｐ３で点される）と想定し、パケット「ｉ」がｆｌｏｐ０にロードされるとさらに想定すると、パケットがＰＣＫ１サンプリングエッジＮの直後（したがって、ｆｌｏｐ０がコア領域にアンロードされた直後）にロードされるため、略４つの完全なＰＣＫ１サイクルが、ＦＣＫ１［０］の立ち上がりエッジ０においてパケット「ｉ」をｆｌｏｐ０にロードしてから、ＰＣＫ１の立ち上がりエッジＮ＋４においてパケット「ｉ」をｆｌｏｐ０からアンロードするまでに（アンロードはサンプリングインジケータ３１２で示される）発生しなければならないことが分かる。コア論理の観点から、データを（コア領域に）返す要求／コマンド出力（コア領域からの）からの往復待ち時間に必要なコアクロックサイクル数は、パケット調整値が「０１」に設定される場合には、「００」に設定される場合よりも３つ分少ない（すなわち、（Ｎ＋４）−（Ｎ＋１）＝３）。実際には、本明細書では最小リンク待ち時間と呼ばれるリンク［０］の最小往復待ち時間は、パケット調整＝０１の場合、Ｎ＋１クロックサイクルであり、パケット調整値がインクリメントされ、アンロードポインタよりもさらに先にロードポインタをパケットレジスタｆｌｏｐ２、ｆｌｏｐ３、ｆｌｏｐ０のそれぞれに進めるにつれて、Ｎ＋２、Ｎ＋３、Ｎ＋４と漸増する。
【００３９】
引き続き図３Ｄを参照すると、ＦＣＫ１［７］のロードエッジはＰＣＫ１のｆｌｏｐ０サンプリングエッジの直前に発生するため、リンクＤＱ［７］の最小リンク待ち時間は「Ｎ」回のＰＣＫ１サイクルであり、リンクパケット調整値（ＲｘＰｋｔＡｄｊ［７］［１：０］）が「００」である場合に発生する。パケット調整値が０１、１０、１１にインクリメントされる際、リンク待ち時間は、Ｎ＋１、Ｎ＋２、Ｎ＋３に対応する数のＰＣＫ１サイクルだけ増大する。
【００４０】
図３Ｄの例示的なタイミング図が実証するように、異なるリンクは異なる最小リンク待ち時間を示し得る。さらにまた、各データリンク上のｉ番目のパケットは、メモリ装置コアから検索された（または較正動作においてコントローラコアから発行された）同じ複数パケットワードの構成要素であるため、コアクロック信号の同じサンプリングエッジに応答してすべてのｉ番目のパケットをコントローラコア領域に転送することにより、ｉ番目のパケット間の時間的関係を維持することが重要である。図３Ｄから分かるように、この「パケット位置合わせ」動作は実際には、個々の最小待ち時間が何であり得るかに関わりなく、すべてのシグナリングリンクのリンク待ち時間を均一にするというものである。
【００４１】
図３Ｅは、すべてのデータリンクにわたって、本明細書では最小システム待ち時間と呼ばれる均等なリンク待ち時間を確立する一例を提供する。この動作は一般に、特に情報を単方向に搬送するために使用されるいくつかのシグナリングリンク（例えば、コマンド、データマスク）が時折、メモリコントローラに情報を返すために使用される場合、すべてのシグナリングリンクに拡張し得る。
【００４２】
まず、各データリンクのリンク待ち時間（この例では、読み取りデータ待ち時間）が、パケット調整値の各設定について特定される。これは、例えば、各リンク上で、所定のビットパターンを有する（異なるパターンのパケットが先行または後続する）パケットを受信するように構成し、次に、パケットを受信する前に発生するＰＣＫ１サイクル数をカウントすることにより達成し得る。一例として、一実施形態（さらに詳細に後述する）では、メモリ装置はデータループバックモードになり、１つのリンク（例えば、奇数リンク）により送信されるデータパケットが、別のリンク（例えば、相手方の偶数リンク）で受信され、したがって、異なる各パケット調整値の往復待ち時間を特定できるように、メモリ側コアインタフェースにおいてデータをループバックする。別の実施形態では、決定性（例えば、前に書き込まれたか、または他の様式で予測可能な）読み取りデータパターンの返信を要求する読み取りコマンドがメモリ装置に発行され、それにより、各リンクおよび各パケット調整値での往復待ち時間（コントローラコアからの読み取りコマンドを出力してから、コントローラコア内で期待されるデータを取得するまで）を特定できるようにする。どのように達成されようとも、各リンクの各パケット調整値での相対リンク待ち時間（この例では、読み取りデータ待ち時間）値（例えば、コアクロックサイクル数）を含め、リンク待ち時間データセットが得られる。図３Ｅの３２３において示される例では、リンク待ち時間データは、リンクＤＱ［０］およびＤＱ［７］について図３Ｄに示される例示的なリンク待ち時間を、リンクＤＱ［１］についての同様のデータと一緒に反映する。示されるように、ＤＱ［１］のリンク待ち時間はリンクＤＱ［０］のリンク待ち時間に一致するが、異なるパケット調整値（２つのＰＣＫ１サイクルだけ回転する）で発生し、少なくとも１つの実施形態では、ロードカウンタおよびアンロードカウンタの初期状態が全くの任意であることを実証する。
【００４３】
図３Ｅを続けると、コントローラコア内のプロセッサ（または代替として、ホストプロセッサまたは他の上流コントローラ）は、３２５において、各リンクの最小リンク待ち時間を特定し（この例では、ＤＱ［０］、ＤＱ［１］リンクの場合、Ｎ＋１  ＰＣＫ１サイクル、リンク［７］の場合、Ｎ  ＰＣＫ１サイクル）、次に、３２７において、最悪の場合（すなわち、最大）のリンク待ち時間に基づいて最小システム待ち時間を特定し得る。図示の実施形態では、例えば、最小システム待ち時間は、この場合、Ｎ＋１  ＰＣＫ１サイクルである、個々のリンク待ち時間のうちの最大の待ち時間として特定される。その後、３２９において、各リンクのパケット調整値（ＲｘＰｋｔＡｄｊ［ｉ］［１：０］）が、最小システム待ち時間に対応する値を使用してプログラムされる（例えば、後述するように、パケット位置合わせカウンタ内で）。したがって、図示の特定の例では、リンクＤＱ［０］、ＤＱ［１］、およびＤＱ［７］のパケット調整値のそれぞれは、「０１」、「１１」、および「０１」であるようにプログラムされて、パケット−コア転送を最小システム待ち時間に位置合わせする。特に、ＤＱ［７］にさらに低い待ち時間を設定する（ＲｘＰｋｔＡｄｊ［７］＝「００」）機会があるにも関わらず、そのリンクの動作が実際には、より遅い（より待ち時間の長い）リンクとの位置合わせを達成するために、ＰＣＫ１サイクルだけ遅延することに留意する。
【００４４】
ドリフト補償非直列化回路および直列化回路内で使用し得る例示的な位相位置合わせ回路、ビット位置合わせ回路、およびパケット位置合わせ回路について説明したが、本明細書において説明される原理から逸脱せずに、多くの代替の回路実施を使用して、説明される結果を達成し得ることに留意されたい。例えば、様々な種類の遅延回路および他の種類の位相シフト回路を使用して、所望の受信クロック位相および送信クロック位相を生成し得る。さらに、ビット位置合わせに関して、図３Ａおよび図３Ｆに示される加算回路（２７７および３４５）に代えて、追加のシフトレジスタ段を設けてもよく、マルチプレクサが、シフトパイプライン内の異なる点で出力を選択する（したがって、選択可能なｎ＊ｔｂｉｔ遅延を行う。但し、「ｎ」はトラバースされる追加のシフトレジスタ段の選択可能な数であり、ｔｂｉｔはビット時間間隔である）。同様に、パケット位置合わせに関して、追加の並列レジスタを、マルチプレクサと共に設けて、異なるワード位置合わせを選択できるようにし得る。より一般には、ＦＩＦＯバッファ構成に代えて、複数のＰＣＫ１エッジ（例えば、図３Ｄに示されるように、Ｎ、Ｎ＋１、Ｎ＋２、Ｎ＋３、Ｎ＋４）から、データを単一のパケットレジスタからコア領域に転送するために、１つを選択するサイクルスキップ回路。
【００４５】
図３Ｆおよび図３Ｇは、図２Ａに示される任意のドリフト補償直列化を実施するために使用し得るドリフト補償直列化器１８５の実施形態およびタイミング図を示す。図３Ａのドリフト補償非直列化器のように、ドリフト補償直列化器は、パケット位置合わせ、ビット位置合わせ、およびビット内タイミング位相調整を、すべて非直列化とは逆の順序で実行する回路を含む。実際には、ドリフト補償直列化器は、互いに対して各シグナリングリンクのパケット（パケット位置合わせ）、各パケットのビット（ビット位置合わせ）、およびデータレート送信クロック信号のビット内位相をプレスキューして、各リンクのデータ送信を位置合わせし、それにより、相手方のメモリ側受信回路が、すべていかなる位相メモリ側タイミング補償回路も必要とせずに、所望のビット内の時点に各ビットをサンプリングし、メモリコントローラにより意図されるパケットフレーム化に従って各ビット群をパケットにフレーム化し、同じ複数パケットデータワードの部分を形成するすべてのパケットを同期してメモリコア領域に転送できるようにする。したがって、コントローラコアクロック（ＰＣＫ１）に応答して、パケット位置合わせＦＩＦＯ３７１に送信データパケットシーケンス（Ｔｄａｔａ［ｉ］［７：０］ひいてはこの例では、各８ビットパケット）がロードされ、クロック信号（ＴＣＫ［ｉ］）のバッファ遅延インスタンス（ＦＣＫ１［ｉ］）に応答して並列レジスタ３６７にアンロードされ（すなわち、パケットがＦＩＦＯまたはキューの先頭部から取り出され）、それにより、コントローラコアからの同じ複数パケットワードからのパケットを、必要に応じて異なる時間にコントローラＩ／Ｏ領域にロードして、異なるリンクにわたるコントローラコア−メモリコア伝播時間差を補償できるようにする。並列レジスタ３６７の内容は、図３Ａの非直列化器内でフレームクロック信号ＲＣＫ１[ｉ]と同じように生成されるデフレームクロック信号ＴＣＫ１[ｉ]に応答して直列出力シフトレジスタ３６５にロードされる。すなわち、デフレームクロック信号は、ビットレート送信クロック信号ＴＣＫ８[ｉ]をモジュロ８カウンタ（レジスタ３４１およびインクリメント論理３４３により形成される）内で８で分周し、加算器３４５において、３ビットのビット調整値をカウンタ出力に加算し、それにより、モジュロ８カウンタの出力を０〜７の範囲の値だけオフセットできるようにし、ひいては、８つの可能なビット境界のうちの任意の境界でデフレーム化を行えるようにすることにより生成される。８サイクルのＴＣＫ８[ｉ]毎に１回循環する加算器出力のＭＳＢは、送信クロックの立ち下がりエッジと同期した後、フロップ段３５１内のＴＣＫ８[ｉ]はデフレームクロックＴＣＫ１[ｉ]を形成する。デフレームクロックは、立ち下がりＴＣＫ８［ｉ］エッジでトリガする一続きの３つのフリップフロップ（３５３、３５５、３５７）を通してシフトされ、最後の２つのフロップ段（３５７、３５５）の出力が、ＡＮＤゲート３５９の反転入力および非反転入力に供給されて、デフレームクロックサイクル毎に１回、単一ＴＣＫ８［ｉ］サイクルロードパルスＬＤ［ｉ］を生成する。ロードパルスは、ロードパルスがハイになった場合、並列レジスタ３６７の内容が直列シフトレジスタ３６５にロードされ、半ＴＣＫ８［ｉ］サイクル後に（立ち下がりエッジでトリガするフロップ段３６１により）、ビット単位で出力フロップ３６３内にシフトされ、ＤＱ［ｉ］リンク上に駆動されるように、直列出力シフトレジスタ３６５内のフロップ段のロード可能な入力に供給される。図３Ａの非直列化器と同様に、補間回路３６４（または他のクロック位相シフタ）が設けられて、送信クロック信号ＴＣＫ８［８］とコントローラＩ／ＯクロックＰＣＫ８との間に較正ビット内（またはサイクル内）タイミングオフセットを可能にする。このドリフト追跡位相オフセットを確立し調整するために適用される較正動作について後述する。図３Ａのドリフト補償非直列化器を参照して考察したように、いくつかの実施形態では、補間クロックＴＣＫ８[ｉ]のグリッチなしの開始および停止が、ＰＣＫ８［０°］波形およびＰＣＫ８［１８０°］波形の追加の２サイクル遅延した一対のコピーを補間回路３６４に分配することにより可能であるが、グリッチのない演算を保証するために、代替の技法を使用してもよい。
【００４６】
図３Ｇは、上述した様々なクロック信号、制御信号、およびデータ信号のタイミング関係を示す。より詳細には、ＰＣＫ８領域とＴＣＫ８［ｉ］領域との任意の位相関係が、所与のデータパケットをデフレーム化して、直列出力ストリーム内の増加的にビットシフトされる位置を送信するためのロードパルスＬＤ[ｉ]のタイミングおよびビット調整信号ＴｘＢｉｔＡｄｊ[ｉ][２：０]への依存性とともに、３３４において示される（多位相ＰＣＫ８クロック信号の０°クロック位相のみが示されることに留意する）。より詳細には、並列レジスタ内のデータパケットは、ビット調整値ＴｘＢｉｔＡｄｊ［ｉ］［２：０］に従って異なるデフレーム間隔で直列出力レジスタに転送され、したがって、出力直列ビットストリーム内でパケット境界をビット幅でシフトさせることができる。すなわち、ビット調整値がゼロ（ＴｘＢｉｔＡｄｊ［ｉ］＝０または０００ｂ）である場合、並列レジスタ３６７内のデータパケットは、ビット１９（任意に割り当てられた番号）の送信終了時に直列出力シフトレジスタ３６５内にロードされて、次に、ビット２１〜２８として送信される。ＴｘＢｉｔＡｄｊ［ｉ］＝１である場合、パケットは、ビット２０の送信終了時に、１ビット時間後に直列出力シフトレジスタ内にロードされ、次に、ビット２２〜２９として送信される。引き続き、ＴｘＢｉｔＡｄｊ［ｉ］＝２，３，４，・・・，７である場合、並列レジスタからのパケットは、ＴｘＢｉｔＡｄｊ［ｉ］＝０の場合よりも対応するビット時間数後（すなわち、２、３、４、・・・、または７ビット時間後）に、直列出力シフトレジスタ内にロードされ、次に、直列ビットストリーム内のビット２３〜３０、２４〜３１、２５〜３２、・・・、または２８〜３５として、対応するビット時間数後に送信される。
【００４７】
図３Ｈは、図３Ｆのパケット位置合わせ回路３７１を実施するために使用し得るＦＩＦＯに基づくパケット位置合わせ回路３８０の実施形態を示す。パケット位置合わせ回路は一般に、図３Ｃ〜図３Ｅを参照して説明したように、逆方向で動作し、実際には、必要に応じて伴うパケット（すなわち、同じ出力データワードまたはコマンドワードに属するパケット）間に位置合わせずれを確立して、メモリ側コアへの位置合わせされた転送を保証する。したがって、パケット位置合わせ回路３８０は、パケットレジスタｆｌｏｐ０〜ｆｌｏｐ３（図３Ｈではそれぞれの出力ＳＥＬ０〜ＳＥＬ３で示される）を有する４深度ＦＩＦＯバッファ３５１ならびにＦＩＦＯバッファのロードおよびアンロードを行うためのロード回路３８１（またはロードポインタ）およびアンロード回路３８３（またはアンロードポインタ）を含む。図示の実施形態では、ロード回路３８１は、一般に図３Ｃのロードポインタ２９１の対応する要素と同じに機能するが、ＦＣＫ１［ｉ］に代えてＰＣＫ１によりクロック制御されるモジュロ４カウンタ３８４（インクリメント論理３８５およびレジスタ３８６により形成される）ならびに２：４復号器（３８７）を含む。アンロード回路３８３は、一般に図３Ｃのアンロードポインタ３０１の対応する構成要素を参照して説明したように機能するが、ＰＣＫ１に代えてＦＣＫ１［ｉ］によりクロック制御されるモジュロ４カウンタ３９０（インクリメント論理３９１およびレジスタ３９２により形成される）ならびに４：１マルチプレクサ３９５を含むと共に、０、１、２、または３（０〜３）ＦＣＫ１サンプリングエッジだけロードシーケンスを進められるようにする２ビット加算器３９３を含む。この構成により、ＦＩＦＯバッファ３８２のパケットレジスタは、ＰＣＫ１の後続エッジに応答して循環する順番でロードし、ＦＣＫ１［ｉ］の後続エッジに応答して循環する順番でアンロードされ、ロード−アンロード待ち時間は、モジュロ４アンロードカウンタ３９０の出力に加算されるＴｘＰｋｔＡｄｊ［ｉ］［１：０］を介して調整可能である。したがって、前に較正されたドリフト補償非直列化器を介して送信データを検索することにより（例えば、ループバックまたはライト・リードバックを介して）、送信パケット調整値の各設定に対応する待ち時間値を、各シグナリングリンクに決定し得、最小リンク待ち時間を確認し、コントローラ−メモリシグナリングのシステムリンク待ち時間を確立するために使用し得る。その後、システムリンク待ち時間値を使用して、直列化器およびメモリ側コアクロック領域への転送時に均一な位置合わせを保証するように、各シグナリングリンクの送信パケット調整値をプログラムするか、または他の様式で確立し得る。
【００４８】
図４Ａおよび図４Ｂは、図２Ａのメモリ装置内の任意の非直列化回路および直列化回路を実施するために使用し得る非直列化回路４００および直列化回路４１５のそれぞれの実施形態を示す。示されるように、コアメモリクロックＭＣＫ１は、調整なしでパケットフレームクロックおよびデフレームクロックとして使用することができ、他の位相調整回路またはビット調整回路を設ける必要はない。ＭＣＫ４信号はデータレートの半分で発振するため、ＭＣＫ４の立ち上がりエッジおよび立ち下がりエッジ（またはＭＣＫ４の立ち上がりエッジおよび相補的なクロック／ＭＣＫ４の立ち下がりエッジ（またはこの逆））を両方とも使用して、メモリ側直列化回路および非直列化回路内のデータ送受信のタイミングをとることができ、それにより、データレートタイミングを行うことができる。
【００４９】
図４Ａの例示的な非直列化器４００実施形態では、入力データ信号（書き込みデータ、コマンド／アドレス情報、較正情報等を運び得る）は、メモリ側Ｉ／ＯクロックＭＣＫ４の立ち上がりエッジおよび立ち下がりエッジのそれぞれに応答して、偶数データフロップ４０１および奇数データフロップ４０３に交互にクロック制御される。その後、偶数データフロップおよび奇数データフロップ内で捕捉されたデータは一緒に、偶数データシフトレジスタ４０２および奇数データシフトレジスタ４０４内にシフトされ、各シフトレジスタは、この８ビットパケット例では、４つのフロップ段を有する。４サイクルのＭＣＫ４信号毎に１回、偶数および奇数のシフトレジスタに完全なデータパケットがロードされた後、ＭＣＫ１の立ち上がりエッジを使用して、並列出力パケットレジスタ４０５内でデータパケット（シフトレジスタ４０２、４０４の出力において並列で利用可能）をラッチし、したがって、受信データＲｄａｔａ［ｉ］［７：０］（例えば、書き込みデータ、較正データ、構成データ、コマンド／アドレス情報、データマスク情報等）として、メモリコア領域インタフェースへのパケットの転送を行う。
【００５０】
図４Ｂの例示的な直列化器４１５では、８ビット送信データパケットＴｄａｔａ［ｉ］［７：０］が、ＭＣＫ１サイクル毎に１回生成されるロードパルス４３０に応答して、４段２ビット幅シフトレジスタ４１６（パケットの偶数ビットおよび奇数ビットのそれぞれの一対の単一ビットシフトレジスタとして見ることができる）内に並列ロードされる。その後、シフトレジスタの先頭部（すなわち、フロップ段Ｒ０１）にある２ビットが、所与のＭＣＫ４サイクルの低位相および高位相のそれぞれで出力ドライバに適用され（ひいては、リンクＤＱ［ｉ］に駆動され）、それから、次のビット対が、後続するＭＣＫ４サイクルでの送信のために転送される。示されるように、ＭＣＫ４サイクルの高位相中に出力のためにビット保持時間が提供されることを保証するために、フリップフロップ４２１が設けられ、フリップフロップ４２１がなくとも十分な保持時間が提供される場合、フリップフロップ４２１を省き得る。
【００５１】
ロードパルス４３０は、任意の数の方法で生成し得るが、示される実施形態では、フロップ４２３およびＡＮＤゲート４２５により生成される。より詳細には、ＡＮＤゲート４２５は、反転入力においてフロップ４２３の出力を受信し、非反転入力においてＭＣＫ１を受信し、したがって、コアクロックＭＣＫ１の各立ち上がりエッジに従ってＭＣＫ４の第１のサイクルに及ぶパルスを生成する。ＡＮＤゲート４２５からのパルスは、フロップ４２７にバッファリングされ、立ち下がりＭＣＫ４エッジによりトリガされるフロップ４２９にＭＣＫ４半サイクル分遅れてタイミング再取得して、ロードパルス４３０をもたらす前に、十分な保持時間を保証する。ロードパルス自体は、マルチプレクサ段Ｍ０１、Ｍ２３、およびＭ４５に供給され、それにより、シフトレジスタの構成要素レジスタＲ０１、Ｒ２３、およびＲ４５に、直列化すべきパケットの構成ビットを（すなわち、ビット０、１をＲ０１に、ビット２、３をＲ２３に、ビット４、５をＲ４５に）並列ロードすることができ、その一方で、パケットのビット６、７は入力段レジスタＲ６７に同時にロードされる。
【００５２】
代替の実施形態では、図４Ａおよび図４Ｂの直列化回路および非直列化回路内で、様々な実施詳細を変更し得る。例えば、データレートクロック（示される例では、半ビットレートクロック）を使用してシフトレジスタをクロック制御して、８：１直列化を達成することに代えて、一続きの２：１マルチプレクサおよびフリップフロップ段を設け、連続した段において、ＭＣＫ１のハイおよびロー位相に応答して８ビットパケットのうちの４ビット部分を交互に選択し（段１）、ＭＣＫ４を２分周したもののハイおよびロー位相に応答して各４ビット部分のうちの２ビット部分を交互に選択し（段２）、出力段においてＭＣＫ４のハイおよびロー位相に応答して各２ビット部分のうちの１ビットを交互に選択し得る。同様の構成を利用して、入力段において個々のビットを結合してパケットの２ビット部分にし、第２の段においてビット対を結合してパケットの４ビット部分にし、次に、第３の段においてパケットの４ビット部分を結合して、１：８非直列化を実行し得る。メモリコントローラ内のドリフト補償直列化器および非直列化器も同様に、データレートクロックによりクロック制御されるシフトレジスタではなく、連続した２：１多重化（または逆多重化）段を使用して実施し得る。その場合、ビット調整は、オフセット値を周波数分周されたローカルクロックに加算することにより行い得る。
【００５３】
較正
図２Ａのメモリシステムでは、ドリフト補償非直列化器および直列化器のそれぞれ内のクロック位相回路、ビット位置合わせ回路、およびパケット位置合わせ回路の較正は、較正中のシグナリングリンクを介して送信されるデータに基づいて実行される。一実施形態では、初期較正動作が実行されて、ドリフト補償非直列化器内での確実な動作、次にドリフト補償直列化器内での確実な動作を確立し、その後、周期的（または時折の）タイミング較正動作が、メモリ側タイミングドリフト（より一般には、システム全体のタイミングドリフト）を追跡するのに十分な頻度で実行されて、較正設定を付加的に調整する。一実施形態では、例えば、図３Ａに示されるドリフト補償非直列化回路（および、例えば図４Ｂに示される相手方のメモリ側直列化回路）が、その他の点では単方向的なリンク（例えば、制御／アドレスおよびデータマスク）のそれぞれに設けられ、それにより、同一の較正手順を各シグナリングリンクに対して実行することができる。代替の実施形態では、メモリ装置からメモリコントローラへの別の返送パス（例えば、側波帯リンク）を使用して、単方向コントローラ−メモリリンクを較正し得る。その場合、単方向リンクを介してコントローラから送信されるデータは、メモリコントローラに送信するための代替の返送パスに切り替え可能にルーティングし得、それにより、メモリコントローラが、元々送信されたデータがメモリ装置により適宜受信されたか否かを判断することができる。
【００５４】
各ドリフト補償非直列化および直列化の初期較正に関する一般的な手法では、まず受信／送信クロック位相を較正し（ＲｘＰｈＡｄｊ［ｉ］およびＴｘＰｈＡｄｊ［ｉ］を調整し）、その後ビット位置合わせ（ＲｘＢｉｔＡｄｊ［ｉ］およびＴｘＢｉｔＡｄｊ［ｉ］）、そして次にパケット位置合わせ（ＲｘＰｋｔＡｄｊ、ＴｘＰｋｔＡｄｊ［ｉ］）が続けられる。図５Ａは、例えば、データリンクＤＱ０およびＤＱ１のドリフト補償非直列化器内の受信クロックを較正する（それにより、確実なメモリ−コントローラシグナリングを保証する）様式を示すが、同じ手順をすべてのシグナリングリンクに対して同時に実行されることを理解されたい。較正サポート回路として、メモリコントローラは、各シグナリングリンクにデータ選択（多重化）回路および照合回路を含むと共に、ビット内位相調整、ビット位置合わせ、およびワード位置合わせのための較正データパターンソースを含む。メモリ装置も、データ選択回路および較正データソースを含むと共に、対になったリンク間にループバック相互接続を含み、１つのシグナリングリンクを介して受信されたデータを、対になった相手方のリンクを介してメモリコントローラに返送できるようにする。
【００５５】
図５Ａを続けると、メモリコントローラは、側波帯リンク（例えば、図２Ａに示される側波帯リンクＳＬ）を介して較正コマンドをメモリ装置に発行し、データセレクタ（マルチプレクサ）４７７ｅおよび４７７ｏを介して、ＤＱ［０］およびＤＱ［１］シグナリングリンクのそれぞれを介してメモリコントローラに送信すべき較正データソースとして、較正データソース４７１からパターンセットＡを選択する。偶数番号リンクＤＱ［０］の較正データパス全体は、内部データ較正データパス４７２からマルチプレクサ４７７ｅおよび４７３ｅを通りメモリ側直列化器２３５ｅへの陰影の付いたデータフローで示される。結果として生成される直列ビットストリームは、１．６ＧＨｚのメモリＩ／Ｏクロックのレートの２倍で発生し、したがって、３．２Ｇｂ／ｓ送信を各差動リンク上にもたらす差動メモリＩ／Ｏクロック（ＭＣＫ４）の立ち上がりエッジおよび立ち下がりエッジに応答して送信される。メモリコントローラに到着すると、ビットシーケンスは位相選択非直列化器１９２ｅおよびビット／パケット位置合わせ回路１９４ｅに提供され、これら回路において、受信クロックＲＣＫ８［ｉ］およびフレームクロック信号ＲＣＫ１［ｉ］の初期位相（例えば、ＲｘＰｈＡｄｊ［ｉ］＝００００００ｂ、ＲｘＢｉｔＡｄｊ［ｉ］＝０００ｂ）に応答してサンプリングされ非直列化（パケットにフレーム化）され、初期パケット調整値（ＲｘＰｋｔＡｄｊ［ｉ］＝００ｂ）に従ってパケット位置合わせされる。一実施形態では、パターンセットＡを形成するデータシーケンスは、受信データを照合回路４５３ｅに提供して、受信データが期待されるシーケンスに一致するか否かを判断し得るように、所定のものであるか、または少なくとも予測可能なものである（例えば、決定論的に生成される）。一実施態様では、この評価は、ビットシーケンスのみに対して実行され、したがって、一致／不一致の判断は、個々のビットが誤差なくサンプリングされるかのみに依存し、いかなるビットまたはパケットの位置合わせずれも考慮しない。較正データは、並列較正パスを通して奇数番号および偶数番号のシグナリングリンク内で同時に流れる。したがって、示される奇数番号のリンク（ＤＱ［１］）の較正データは、奇数番号リンクのＩ／Ｏ回路および較正サポート回路（４７７ｏ、４７３ｏ、２３５ｏ、１９２ｏ、１９４ｏ）を通って伝播して、照合回路４５３ｏに到着する。
【００５６】
図５Ｂは、様々なデータ選択パスに関する詳細のない、図５Ａのビット内クロック位相構成の特定の実施形態を示す。示されるように、疑似乱数ビットシーケンス（ＰＲＢＳ）回路５０１は、パターンセットＡとして、決定論的なビットパターンを生成し、このビットパターンは直列化されて（２３５）、シグナリングリンク（ＤＱ［ｉ］）を介して送信され、ドリフト補償非直列化器１８６内で受信される。照合回路４５３内の状態機械５０５（またはビットシーケンサまたは他の制御論理）はまず、メモリ側ＰＲＢＳ回路５０１と同じ（すなわち、同じＰＲＢＳ多項式を計算する）ように実装されるコントローラ側ＰＲＢＳ回路５０３に対するシードイネーブル信号（「Ｓｅｅｄ」）をアサートし、それにより、メモリ側およびコントローラ側のＰＲＢＳ回路を同期させることができる。入力データシーケンスが、初期受信クロック位相により適宜サンプリングされる場合、コントローラ側ＰＲＢＳ回路の出力は、シーディング（すなわち、ＰＲＢＳレジスタチェイン内にシフトした）後、コントローラ側ＰＲＢＳ入力に見られるメモリ側ＰＲＢＳの出力を照合する。したがって、データ受信に誤差がない場合、状態機械はシード信号をデアサートし、新しくシーディングされたコントローラ側ＰＲＢＳ出力が引き続き、パターンセットＡに対応する受信データシーケンスとビット毎に照合される。この構成により、状態機械５０５は、コントローラ側ＰＲＢＳ出力が送信されたデータシーケンスに一致するか否かに従って、初期受信クロック位相（例えば、ＲｘＰｈＡｄｊ［ｉ］＝００００００ｂにより選択される）のパス／フェイル状態を評価し得る。その後、受信クロック位相を進め（例えば、増加的に、または二分もしくは他の探索パターンに従って）、新しいクロック位相での適切なデータ受信を再テストし得る。データアイの両端またはあるデータアイが閉じ、続くデータアイが開く箇所にパス−フェイル境界（すなわち、パステスト結果およびフェイルテスト結果をもたらす隣接するクロック位相）を決定することにより、最終的なクロック位相は、様々なパスクロック位相の中から、例えば、２つのパス−フェイル境界のメジアンまたは境界のうちの１つから、アイ幅に従って潜在的に選択される特定のオフセットにあるクロック位相として選択し得る。図５Ｃはこの手法を実証し、例示的な位相選択回路（すなわち、６つのクロック位相のうちの２つを選択するために３ビット、選択されたクロック位相対を補間するために３ビット）により選択された４８個のクロック位相の例示的な関係と、データアイシュムー（すなわち、互いに重ねられた連続したデータアイプロット）に相対するパス−フェイル境界とを示す。図示の例では、位相調整設定０〜１０および３８〜４７のクロック位相はフェイルであり、位相調整設定１１〜３７はパスである。したがって、最終的な受信クロック位相は、パス／フェイル境界の平均またはメジアンとして、この場合、位相調整値２４（（１０＋３８）／２、または（１１＋３７）／２）として選択し得る。あるいは、パス−フェイル境界の差を、単位間隔の尺度として使用し（（３７−１１）×７．５°＝２０２．５°）、したがって、本明細書では半ＵＩオフセットと呼ばれることがある（しかし、必ずしも厳密には単位間隔の半分である必要はない）限られた数のエッジ−中心オフセットを選択するために使用してもよい。この手法では、パス／フェイル境界に位置合わせされたクロック位相と較正されたサンプリング点（公称データアイ中間点）に位置合わせされたクロック位相とを高速で切り替えることができる。そのような「位相跳躍」は、周期的タイミング較正動作を加速化するために特に有用である。例えば、後述する一実施形態では、周期的タイミング較正は、受信クロック位相からパス−フェイル境界クロック位相（「境界位相」）に位相跳躍させて、パス−フェイル境界が最後のタイミング較正動作からドリフトしたか否かを判断することにより実行される。ドリフトした場合、境界位相はドリフトの方向にインクリメントまたはデクリメントされる。境界位相を更新した後、更新された境界位相に対して一定の位相跳躍が実行されて、それに対応して受信クロック位相が更新（インクリメントまたはデクリメントされた）され、受信クロック位相に対する周期的タイミング較正を完了する。
【００５７】
一実施形態では、周期的タイミング較正は、メモリ側保守動作（例えば、ＤＲＡＭリフレッシュ）の背後に隠されるか、または潜在的に短いアイドル間隔中に実行され、したがって、パス−フェイル境界のドリフトを検出できるようにする比較的短いテストパターンの送信を含む。短いテストパターンが含むのは、よりランダムなデータシーケンスに存在する（より長い疑似乱数ビットシーケンスで表されるような）限られた数のスペクトル成分のみであり得るため、初期較正中よりも周期的タイミング較正（ＰＴＣ）中はより開かれたデータアイ（異なるパス／フェイル境界を有する）を認め得る。一実施形態では、ＰＴＣパス−フェイル境界は、受信クロックの初期較正後に特定されて、ドリフトの検出に使用し得る（例えば、境界位相を再テストすることにより）。ＰＴＣ境界クロック位相は、ドリフトに応答してインクリメントおよびデクリメントされるため、それに対応して、受信クロック位相もインクリメントおよびデクリメントされ、それにより、ＰＴＣフェイル境界に対して受信クロック位相を一定のオフセットに維持し、システムドリフトを補償する。この動作は、図５Ｄにおいて概念的に示され、図５Ｄは、スペクトルがより完全な初期較正テストパターンから生じるより小さなデータアイに重ねられた、スペクトル制限されたＰＣＴテストパターンから生じるより大きなデータアイと、ＰＴＣ境界位相と受信クロック位相とのオフセットとを示す。送信クロック較正に続き、同様の動作を実行して（後述）、送信クロック位相をより細かく調整すると共に、周期的送信タイミング較正中にロックステップでクロック位相をインクリメントおよびデクリメントして、ＰＴＣ境界位相を決定し得る。
【００５８】
図６Ａおよび図６Ｂは、ドリフト補償非直列化較正の例示的なビット位置合わせ（またはパケットフレーム化）段階を示す。受信クロック較正と同様に、ビット位置合わせ動作は、所定の較正データパターン、この場合では、所定のビット位置に単一の「１」ビットを有する８ビットパケットにより形成されるフレーム化パターンであるパターンセットＢの出力を開始する、メモリコントローラからメモリ装置への側波帯コマンドで開始される。データ送信パスは本質的に、図５Ａと同じである（メモリ側マルチプレクサ段、直列化器、データリンク、コントローラ側非直列化器、およびビット／パケット位置合わせ回路を通り、照合回路４５３に辿り付くグレーの輪郭で示される）が、各リンクの照合回路の出力は、図５Ａの受信クロック構成動作での補間クロック位相に代えて、ビット／パケット位置合わせ回路に送信されるビット位置合わせ値（ＲｘＢｉｔＡｄｊ［ｉ］）を調整する。図６Ｂは、例えば、照合回路４５３内の状態機械５０５により実行される全体的なビット位置合わせ動作を示す。示されるように、状態機械は、初期フレーム値（例えば、ＢｉｔＡｄｊ＝０００）において入力パケットを評価して、論理「１」ビットがパケット内の意図されるビット位置に現れるか否かを判断する。現れない場合、状態機械は、実際の論理「１」ビット位置と所望の「１」ビット位置とのビットオフセットを特定し、それに従ってビット調整値を調整する。図６Ｂに示されるビット位置合わせずれ（またはパケットフレーム化誤差）の２つの例のうちの最初の例では、論理「１」ビットは、元々送信されたビット位置ゼロ（１０００  ００００ｂ）ではなくビット位置７（００００  ０００１ｂ）にフレーム化される。その場合、有限状態機械は、１ビットのビット変位を特定し、それに従ってビット調整値をＲｘＢｉｔＡｄｊ［ｉ］＝００１ｂに設定し、それにより、入力ビットシーケンス内での論理「１」の１ビット右シフト（またはフレーム化境界の１ビット左シフト）を実行して、論理「１」ビットを正しいビット位置（ビット位置ゼロ）に位置決めし、それにより意図されるパケット−パケットフレーム化を確立する。２つの位置合わせずれの例のうちの第２の例では、論理「１」はビット位置２に現れるため、６というビット調整（ＲｘＢｉｔＡｄｊ［ｉ］＝１１０）が適用されて、意図されるパケットフレーム化境界にする。
【００５９】
引き続き図６Ｂおよび図３Ａを参照すると、ビット位置合わせが、必要なビットシフトに応じて（受信クロックの所望の位相を確立するために使用される位相遅延と併せて）、所与のパケットを、異なる時間に（すなわち、コアクロック信号の異なるエッジに応答して）異なるコアクロック領域に転送可能な状態にするように、コアクロック領域に対してフレームクロックを遅延させることにより実行されることが分かる。したがって、メモリコアから検索された同じマルチパケット値の部分をなすパケットが、位置合されずに、異なるコアクロックサイクルに応答してコア領域に転送される恐れがある。この結果を回避するために、図６Ｃに示されるパケット位置合わせ動作が実行されて、様々なリンクのパケット位置合わせ回路に適用された場合、メモリコアから検索された元のマルチパケット値の部分をなすパケットを、コントローラコアクロック領域に同時に転送するために位置合わせするパケット待ち時間値が決定される。位相位置合わせおよびビット位置合わせと同様に、パケット位置合わせ較正は、４パケットの各シーケンスの区別を可能にする較正データソース（パターンセットＣ）を選択する、メモリコントローラからメモリ装置へのコマンドで開始される。例えば、一実施形態では、パターンセットＣは、１つまたは複数の「１」ビットを有するパケット（「Ｐ１」）の後に３つのゼロ値パケット（「Ｐ０」）が続く４パケットシーケンスである。したがって、状態機械５０５は、例えば、その他のリンクの同様の信号を受信し、最も待ち時間が長いリンクの待ち時間に相対するローカルパケット待ち時間を示す「相対待ち時間」値を返す論理回路に論理パケット待ち時間を出力することにより、他のリンクの待ち時間に相対するＰ１パケット受信の待ち時間を特定し得る。状態機械５０５は、これに応答して、相対待ち時間指示に従ってＩ／Ｏ−コアパケット転送時間を遅延させ、それにより、Ｐ１パケットがすべてのリンクでコア領域に同時に（すなわち、同じＰＣＫ１エッジに応答して）転送されるように、最も待ち時間が長いリンクのＰ１転送時間を合わせる。
【００６０】
ドリフト補償非直列化器内の受信クロック位相、ビット位置合わせ、およびパケット位置合わせを較正した後、同様の動作を実行して、ドリフト補償直列化器内の送信クロック位相、ビット位置合わせ、およびパケット位置合わせが較正される。一般に、これら動作は、較正データをメモリコントローラから較正中のドリフト補償直列化器を介してメモリ装置に送信し、次に、先に較正されたドリフト補償非直列化器を介してメモリ装置から送信された較正データを受信することにより実行される。より詳細には、一実施形態では、データループバックパスが、メモリ装置内に設けられて、メモリコアに負荷を掛けずに、メモリコントローラにより送信された較正データをメモリコントローラに戻せるようにする。この構成は、較正データの返送を加速化し、タイミング較正動作を部分的または完全にメモリコア内のメモリリフレッシュまたは他のオーバーヘッド動作の背後に隠せる（すなわち、並行に実行できる）ようにする。代替の実施形態では、書き込みおよびリードバック動作を使用して、データリンクの完全ループテストを確立し得る（したがって、ループバックパスの必要性がなくなる）が、そのような構成は、一般に、書き込みおよび読み取り動作の開始が可能になるには、その前にコマンドパスを動作可能する必要があるという点で全体較正手順を複雑にする。データパス較正前に信頼性の高いコマンドパスシグナリングを確立することが可能であるが（例えば、側波帯リンクを介して調整される較正動作：コマンドパスを介してコマンドを送信し、コマンドが適宜受信されたか否かを評価することを通して）、この複雑性は、ループバック手法を通して回避される。
【００６１】
図７Ａ、図７Ｂ、および図８Ａ〜図８Ｃは、メモリ装置内の各シグナリングリンク対間にクロス結合されたループバックパスに頼る例示的な直列化較正手順を示す。一般に、直列化較正手順は非直列化較正と同じ順番を辿り、クロック位相調整で開始され、ビット位置合わせ（パケットフレーム化）が続き、そして最後にリンク間パケット位置合わせが続く。
【００６２】
図７Ａは、ドリフト補償非直列化器内の送信クロック位相の較正中の較正データフローを示す。まず、較正データソースが、マルチプレクサ４５１ｅを介して選択され、初期パケット位置合わせ値、ビット位置合わせ値、および送信位相値（例えば、すべての値はゼロ）を使用してドリフト補償直列化器（１９１ｅ、１９３ｅ）内で直列化される。データは、偶数番号のシグナリングリンク（この例ではＤＱ［０］）を介して搬送され、相手方のメモリ側非直列化器２３６ｅ内で受信されパケット化され、次に、ループバックパス２４０およびマルチプレクサ４７３ｏを介して、偶数／奇数リンク対のうちの相手方リンク（すなわち、ＤＱ［１］）のデータ送信回路および直列化器にルーティングされる。続けて、データは、奇数番号のリンクの先に較正されたドリフト補償非直列化器（１９２ｏ、１９４ｏ）内で受信され、照合回路４５３ｏに提供され、次に照合回路４５３ｏは、テスト中の送信クロック位相のパス−フェイル判定を行う。図７Ｂは、ソースから宛先までの較正データの全体の流れを示す。より詳細には、図示の例では、較正データシーケンスは、コントローラ側ＰＲＢＳ生成器５７１により発信され、テスト中の送信位相調整設定（ＴｘＲｈＡｄｊ［ｉ］）を使用してメモリ装置に送信される。メモリ装置で受信されると、較正データシーケンスは、切り替え可能に形成されたループバックパス（５７２）を通してメモリコントローラにループバックされ、メモリコントローラ内で受信され、次に、コントローラ側ＰＲＢＳチェッカ回路５０３に送信される。図示の特定の実施形態では、送信較正および受信較正中に、同じＰＲＢＳチェッカ回路５０３が利用されるが、代替の実施形態では、別個の（または少なくとも異なるように構成された）チェッカ回路を使用してもよい。メモリ−コントローラ転送は先に較正されているため、テスト中の送信クロック位相のパスまたはフェイルの結果は、コントローラ側送信クロックと未補償メモリ側受信回路クロック信号との位相位置合わせが不適切であることが原因であると想定し得る。したがって、線形（または二分探索または他の探索）シーケンスを通して送信クロック位相をインクリメントすることにより、送信クロック位相のパス−フェイル境界を識別し、対応する送信クロック位相を、それら境界の中間点として、または境界のうちの一方からの所定のオフセットとして選択し得る（例えば、パス−フェイル境界間のクロック位相の範囲に基づいて）。偶数番号シグナリングリンクのそれぞれの送信クロック位相が完了した後、メモリコントローラは、側波帯リンクを介して、多重化構成を切り替えるコマンドを発行して、奇数番号のシグナリングリンクにより送信されたデータを、偶数番号のシグナリングリンク（すなわち、ループバックパス２４２およびマルチプレクサ４７３ｅを含む）を介してループバックできるようにし、偶数番号のシグナリングリンク内の照合回路が奇数リンク送信クロックの位相を調整できるようにする。
【００６３】
偶数および奇数の送信クロック位相が較正された後、メモリコントローラは、ドリフト補償非直列化器に実行される動作に対応するビット位置合わせ動作およびパケット位置合わせ動作への準備として、偶数リンク非直列化器２３６ｅと奇数リンク直列化器２３５ｏとの間にメモリ側ループバックパスを再確立する別の側波帯リンクコマンドを発行する。この構成は図８Ａ、図８Ｂ、および図８Ｃに示され、全体のデータフローパス（図８Ａ）ならびに偶数ループシグナリングパス内のビット／パケット位置合わせ回路に提供されるビット位置合わせ信号（図８Ｂ）およびパケット位置合わせ信号（図８Ｃ）を示す。偶数番号のシグナリングリンク内のビット／パケット位置合わせが完了した後、メモリ装置データマルチプレクサは再び切り替えられて（例えば、メモリコントローラからの側波帯リンクコマンドに応答して）、奇数番号のシグナリングリンク内のビット／パケット位置合わせを較正できるようにする。
【００６４】
周期的タイミング較正
初期タイミング較正作業において、ドリフト補償直列化／非直列化回路に対して位相、ビットおよびパケットの位置合わせ動作が完了した後、メモリ装置とメモリコントローラとの間での完全なデータレートデータ転送を使用して、アクティブメモリ動作を開始し得る。上述したように、メモリ装置内にドリフト補償回路がないことは、初期位相較正が、温度および電圧（または他の環境要因）の変化に応答して所望の位置合わせから比較的高速にドリフトするため、比較的頻繁な補正を必要とすることを意味する。この補正を提供するために、周期的または時折のタイミング較正動作が実行される。
【００６５】
図９Ａおよび図９Ｂは、ドリフト補償直列化器およびドリフト補償非直列化器のそれぞれを周期的に較正するために使用される例示的な動作シーケンスを示す。まず図９Ａを参照すると、較正データを送信する前に、メモリコントローラは、ここでは較正されているコマンドパスを介してループバックイネーブルコマンドを発行して、偶数から奇数の番号のシグナリングリンクへのループバックフローを確立すると共に、クロック選択信号（ＥｄｇｅＣｌｋＳｅｌ）に応答して送信クロックの位相をシフトさせて、パス／フェイル境界に関して記録されたパスクロック位相に一致させる。この時点で、メモリコントローラは、境界位相送信クロック信号に応答して、パターンソースＦから選択されたデータ、すなわち、限られた回数だけ送信し得る予測可能または所定の値のシーケンスを送信する。パターンソースは、メモリ装置の相手方の非直列化器内で受信され、テスト中のリンク対のうちの偶数リンクの直列化器にループバックされ（すべてのリンク対で同時に行われる）、次に、メモリコントローラに返送され、ドリフト補償非直列化器内で受信され（前に較正された受信クロック位相を使用して）、照合回路４７３ｏに供給されて、期待値と比較される。パターンの不一致がこの時点で検出される場合、メモリコントローラは、パス／フェイル境界がパス／フェイル境界のパス位相の方向にドリフトしたと推測し、したがって、パス／フェイル境界値に記録されたクロック位相を、位相ドリフトを辿る方向にインクリメントする。その後、この時点でシフトされているパス／フェイル境界に対して所定のオフセットだけ位相跳躍することにより、送信クロック位相のインクリメント（調整）が行われ、ドリフトを補償する。パス／フェイル境界の前に確認されたパス位相について、パターン一致が検出される場合、前に確認されたフェイル位相をテストして（デクリメントされた境界位相を使用してデータパターンＦの送信を繰り返す）、コントローラ−メモリ位相が逆方向にドリフトしたか否かが判断される。フェイル位相がここではパスした場合、フェイル境界方向へのドリフトが推測され、パス／フェイル境界に記録されたクロック位相は、位相ドリフトを辿るようにデクリメントされる。その後、この時点でデクリメントされているパス／フェイル境界に対して所定のオフセットだけ位相跳躍することにより、送信クロック位相のデクリメント（調整）が行われ、ドリフトが補償される。パス境界位相においてパターン一致が検出され、フェイル境界位相でパターン不一致が検出される場合、パス／フェイル境界は、最後の較正動作からドリフトしなかったものとみなされ、したがって、パス／フェイル境界または送信クロック位相の位相調整値の変更は記録されない。
【００６６】
上述した較正手法では、各較正更新での位相のインクリメント、デクリメント、または現状維持が可能であるが、代替の実施形態では、各較正動作は、較正中のクロック位相をデクリメントまたはインクリメントし得（現状維持状態なし）、したがって、制御回路（例えば、状態機械）の実装がより単純であるという恩恵の代償として、いくらかのクロックディザリングを潜在的に受ける。そのような実施形態では、いくつかの較正動作の結果を蓄積してから適用して、優勢投票に従って位相更新を決定し得る。いずれの場合でも、境界とサンプリングクロック位相との間で行う必要がある位相跳躍は１回のみである。
【００６７】
コントローラ側送信クロック位相の周期的タイミング較正が、偶数番号のシグナリングリンクに対して完了した後、メモリコントローラは、ＣＡリンクを介して較正コマンドを発行して、データ多重化方向を逆にし、同じ較正動作が偶数番号のリンクに対して実行される。
【００６８】
偶数リンクおよび奇数リンクの送信クロック位相に対して周期的タイミング較正動作を完了した後、対応する周期的タイミング較正動作が、図９Ｂに示されるように実行されて、偶数リンクおよび奇数リンクの受信クロック位相が調整される。一実施形態では、受信クロック構成は、送信クロック位相調整の直後に続けられるため、奇数リンク非直列化器から偶数リンク直列化器へのメモリ側ループバックパスはすでに確立されている。メモリ側ループバックパスがまだ確立されていない場合、メモリコントローラは、コマンドパスを介してコマンドを発行して、ループバックパスを確立する。いずれの場合でも、奇数から偶数へのループバックパスが確立された後、メモリコントローラは、奇数番号のシグナリングリンクを介して（すなわち、マルチプレクサ４５１ｏ、パケット／ビット位置合わせ回路１９３ｏ、および位相シフト直列化器１９１ｏを介して）パターンＦデータ（または他の周期的タイミング較正データ）の送信を開始し、偶数リンク非直列化器を介してループバックされたデータを受信する。送信クロックと同様に、受信クロック位相は、周期的タイミング較正中に、前に記録されたパス／フェイル境界に対してオフセットされて、パス／フェイル境界が移動したか否か、移動した場合はどの方向に移動したかが判断される。すなわち、パス境界位相がやはりパス結果をもたらすが、フェイル境界位相がこの場合にはフェイル結果に代えてパス結果をもたらす場合、パス−フェイル境界のビット調整値は、フェイル境界位相の方向にシフトされて位相ドリフトを打ち消し、この時点でシフトされているパス/フェイル境界と受信クロックとの位相オフセットが一定に維持されるため、受信クロック位相に対応するシフトをもたらす。パス−フェイル位相がフェイル結果をもたらす場合、パス−フェイル境界のビット調整値は、パス境界位相の方向にシフトされ、受信クロック位相に同様のシフトをもたらし、位相ドリフトを打ち消す。パス／フェイル境界に移動がない場合、受信クロック位相は変更されないまま残される。送信クロック位相に関して考察したように、代替の実施形態では、受信クロック位相を各更新でインクリメントまたはデクリメントし得る（すなわち、現状維持状態なし）。周期的タイミング較正が、偶数番号リンクの受信クロックに対して完了した後、メモリコントローラは、メモリ装置にコマンドを発行して、データループバック接続を逆にし（それにより、偶数番号シグナリングリンクにより送信されるデータを、奇数番号シグナリンクを介してループバックできるようにし）、それにより、同じ周期的タイミング較正シーケンスを奇数番号リンクの受信クロックに対して実行できるようにする。
【００６９】
引き続き図９Ａおよび図９Ｂを参照すると、代替の実施形態では、送信タイミング較正にループバック構成を使用する代わりに、メモリ書き込みおよびリードバック動作（コア記憶装置アレイではなく所定のレジスタを対象とした動作を含む）を実行して、送信クロック位相の周期的較正（調整）を行ってもよい。同様に、メモリ読み取り動作および／またはメモリ−コントローラパターン送信（すなわち、図６Ａを参照して上述したような）を使用して、受信クロック位相を周期的に較正（調整）し得る。そのような実施形態では、ループバック回路を部分的または全体的に省き、様々なリンク対の偶数および奇数番号リンクを逐次較正するのではなく、すべてのリンクを潜在的に同時に較正し得る。いずれの場合でも、リンク単位のドリフト補償が可能な同じ位相、ビット、およびパケット位置合わせ値を、上述したようにコントローラ側較正回路内に保持し得る。
【００７０】
一実施形態では、コントローラ側較正回路により保持されるビット調整値は、アップ／ダウン位置合わせカウンタ内に保持されて、位相調整値のオーバーフロー（またはアンダーフロー）をビット調整値に持ち越せる（またはビット調整値から借用できる）ようにし、同様に、ビット調整値のオーバーフロー／アンダーフローをパケット調整値に持ち越せる（またはパケット調整値から借用できる）ようにする。この構成は、図３Ａおよび図３Ｃを参照して説明された６ビット位相調整回路に対応する位置合わせカウンタ実施形態（５５１）において図１０Ａに示される。すなわち、６４個の可能な位相調整値のうちの４８個のみが使用されるため（すなわち、位相調整ビットの上位３ビットが、６個の可能なクロック位相対のうちの１つを選択するために使用されるため、２つの位相選択値が使用されないままになり、したがって、合計で１６個の位相調整値が使用されないままになる）、位相調整フィールド５５３に対してモジュロ４８カウント（すなわち、４７から０へのインクリメントおよび０から４７へのデクリメント）を行う回路が、位相カウンタ内に設けられる。したがって、４７という位相調整値がインクリメントされる場合、結果として生じるロールオーバーにより、ビット調整フィールド５５５に持ち越され、実際に、クロックの位相を所与のビット時間内の最も待ち時間の長いエッジからより待ち時間の長いビット時間内の最も待ち時間の短い（最も進められた）エッジに進める。同様に、位相を、位相調整フィールドが最大カウント（４７）に達し、ビット調整フィールドも最大カウント（７）に達した点に進めた場合、クロックエッジ内の続くインクリメントはパケット境界を越え、位相調整値およびビット調整値は効率的にゼロにリセットされ、パケット調整フィールド５５７はインクリメントされ、それにより、より待ち時間の長いパケット間隔内の最初のビット時間内の最も進められたクロック位相が選択される。アンダーフローする位相調整値に応答してビット調整値から借用（デクリメント）し（０から４７へのデクリメント）、アンダーフローするビット調整値に応答してパケット調整値から借用して、同様のアンダーフローが行われる。
【００７１】
引き続き図１０Ａを参照すると、位置合わせカウンタ５５１は、インクリメント／デクリメント信号（「ｉｎｃ／ｄｅｃ」）、ロード信号（「ｌｏａｄ」）、および更新信号（「ｕｐｄａｔｅ」）を受信する入力ならびに位置合わせカウント値（すなわち、図示の実施形態では１２ビットカウント値）をカウンタにロードできるようにする並列ポートを含む。一実施形態では、インクリメント／デクリメント信号は、周期的タイミング較正中に適用され、更新信号のトリガエッジに応答して、位置合わせカウント（カウンタの内容）をインクリメントまたはデクリメントする。ロード信号は、初期較正中にアサートされて、初期較正中に決定された位置合わせ値（例えば、メモリコントローラコア内のプロセッサまたは他の回路により決定されるアイエッジ間のメジアンまたは他の統計的中心点）を位置合わせカウンタにロードできるようにする。
【００７２】
図１０Ｂは、周期的タイミング較正中に、奇数／偶数シグナリングリンク対、この例ではＤＱ［０］およびＤＱ［１］の送信クロック位相および受信クロック位相のそれぞれの位置合わせカウンタを更新するために利用し得る回路構成を示す。示されるように、２つの位置合わせカウンタが、４つのクロック位相のそれぞれに、すなわち、リンク毎に４つの位置合わせカウンタが提供され、したがって、リンク対毎に８つの位置合わせカウンタ（５５１Ｔｘ０、５５１Ｔｂ０、５５１Ｒｘ０、５５１５Ｒｂ０、５５１Ｔｘ１、５５１Ｔｂ１、５５１Ｒｘ１、５５１Ｒｂ１）が提供される。例えば、リンクＤＱ［０］を参照すると（リンクＤＱ［１］は同一に実施される）、送信クロック位置合わせカウンタ５５１Ｔｘ０は、送信クロック位相を制御するため（ビット位置合わせおよびパケット位置合わせを含む）に設けられ、その一方で、送信境界位置合わせカウンタ５５１Ｔｂ０は、対応するＰＴＣ境界位相（すなわち、スペクトル制限されたＰＴＣテストパターンが適用される場合にパス／フェイル境界にあると決定された送信クロック位相）を制御（かつ記録）するために設けられる。同様に、受信クロック位置合わせカウンタ５５１Ｒｘ０は、受信クロック位相を制御するために設けられ、受信境界位置合わせカウンタ５５１Ｒｂ０は、対応するＰＴＣ境界位相（すなわち、ＰＴＣテストパターンが適用される場合にパス／フェイル境界にあると決定された受信クロック位相）を制御（かつ記録）するために設けられる。
【００７３】
図示の実施形態では、各位置合わせカウンタ（まとめて５５１）は、上記初期較正シーケンス中に初期化される。一実施形態では、例えば、クロック位相の位置合わせカウンタは、各リンクの最後の較正クロック位相が決定されるまで、コントローラコア回路により繰り返し並列ロードされる。その後、ＰＴＣ境界位相の位置合わせカウンタに同様に、各リンクのパス／フェイル境界に対応する最後の境界位相（スペクトル制限されたＰＴＣテストパターンに応答して決定される）が決定されるまで、コントローラコア回路により繰り返し並列ロードし得る。
【００７４】
図１０Ｂを続けると、マルチプレクサが、位置合わせカウンタ（５７５で示される）の各クロック位相／境界位相対に関連して設けられて、対応するドリフト補償直列化器１８５０／１８５１またはドリフト補償非直列化器１８６０／１８６１に提供する位置合わせカウントを、クロック位相位置合わせカウンタからの位置合わせカウントまたは境界位相位置合わせカウンタからの位置合わせカウントのいずれかから選択する。上述した較正クロック選択信号（ＣａｌＣｌｋＳｅｌ）は、位置合わせカウント選択を制御するために提供される。図示の特定の例では、較正クロック選択信号は４ビット信号であり、各ビットが、４対の位置合わせカウンタのそれぞれ１つのマルチプレクサ５７５に供給され、それにより、両データリンクの非直列化器および直列化器に境界位相（ＰＴＣの場合）またはクロック位相（ライブデータ送信／受信の場合）のいずれかを選択できるようにする。示されるように、状態機械５７１（周期的および／または初期タイミング較正に関連して上述した有限状態機械と同じまたは少なくともその部分であり得る）は、較正クロック選択信号ならびに比較回路５７３（例えば、上述した照合回路の部分）の出力も受信する。図１０Ｃ（状態機械５７１の例示的な状態図）および図１０Ｂを参照すると、すべての較正クロック選択ビットがデアサートされた状態のままである限り、状態機械は動作モード５８１のままであり、一対のデータ選択信号をマルチプレクサ５７６（例えば、初期および周期的タイミング較正動作を参照して上述したデータ選択マルチプレクサに一般に対応する）に出力して、ＤＱ［０］およびＤＱ［１］直列化器（１８５０、１８５１）のそれぞれに送信される送信データＴｘＤ［０］およびＴｘＤ［１］を供給するコアデータ線Ｔｄａｔａ［０］［７：０］およびＴｄａｔａ［１］［７：０］を選択する。較正クロック選択ビットのうちの任意の１つがアサートされる（すなわち、ＣａｌＣｌｋＳｅｌ＞００００ｂ）場合、状態機械は周期的タイミング較正（ＰＴＣ）モード５８３に遷移し、ＰＴＣテストパターンが、リンク直列化器１８５０／１８５１に送信される送信データのソースとして選択される（マルチプレクサ５７６を介して）と共に、較正中のリンクに従って、評価のために非直列化器１８６０または非直列化器１８６１の出力を選択する制御信号がマルチプレクサ５７４に発行される。すなわち、リンクＤＱ［１］に対応する２つのＣａｌＣｌｋＳｅｌビットのうちのいずれかがアサートされる場合、状態機械は、比較回路５７３に供給すべきものとしてＤＱ［１］非直列化器からのデータ（すなわち、ＲｘＤ［１］）を選択する。その他の場合、ＤＱ［０］非直列化器からのデータ（ＲｘＤ［０］）が比較回路に供給される。ＰＴＣテストパターンがリンク直列化器により送信され、リンク非直列化器により受信され、比較回路内で期待値と比較された後、状態機械は、比較結果がパス状況を示すか、それともフェイル状況を示すかに従って、クロック位相インクリメント状態５８５またはクロック位相デクリメント状態５８７のいずれかに遷移する（しかし、状況に応じて、インクリメント／デクリメントとパス／フェイルとの対応性を逆にし得る）。インクリメント状態では、状態機械はインクリメント／デクリメント出力「ｉｎｃ／ｄｅｃ」をハイにして、インクリメント動作を示し、更新信号（図１０Ａに示されるが、示される回路要素を曖昧にしないように、図１０Ｂからは省かれている）をアサートして、対応する境界位相クロックカウンタおよびクロック位相クロックカウンタをインクリメントできるようにする。同様に、デクリメント状態では、状態機械はインクリメント／デクリメントの出力をローにして、デクリメント動作を指定し、更新信号をアサートして、ＣａｌＣｌｋＳｅｌ選択される位置合わせカウンタ対をデクリメントできるようにする。この動作により、初期較正時に位置合わせカウンタにロードされるクロック位相および対応するＰＴＣ境界位相は一緒に、ＰＴＣ境界位相の移動により示されるタイミングドリフト情報を使用してインクリメントおよびデクリメントされて、各シグナリングリンクのサンプリングクロックおよび送信クロックを調整する。
【００７５】
クロック停止低電力モード
図１１Ａは、図２Ａの実施形態内で使用される例示的なクロック構成を示し、コントローラＩ／Ｏクロック（ＰＣＫ８）のクロック停止論理６０１およびクロックバッファ６０３ならびにメモリ装置に転送されたデータレートシステムクロック（ＰＣＫ４）のクロック停止論理６０５およびクロックバッファ６０７を明示的に示す。ＰＣＫ４クロック停止論理６０５の詳細図６１０を参照すると、クロックイネーブル信号（ＥＮＰＣＫ４）は、コントローラコア内の電力モード論理によりアサートおよびデアサート（この例では、論理ハイおよびローのそれぞれ）、ＰＣＫ４クロックをイネーブルおよびディセーブル（すなわち、開始および停止）する。一実施形態では、電力モード論理は、アサートまたはデアサートされた場合、クロックイネーブル信号が、整数のＰＣＫ１サイクルにわたってアサートまたはデアサートされた状態を保つように、コントローラコアクロックＰＣＫ１によりクロック制御される。この構成により、クロックイネーブル信号がローになり、クロック停止低電力モードを確立し、後に立ち上がってクロックを再開する際に、コントローラコアクロック（ＰＣＫ１）とメモリコアクロック（ＭＣＫ１）との位相関係が維持され、それにより、クロックが停止され再開された場合であっても、初期較正中に確立されたビット位置合わせおよびパケット位置合わせを保持することが保証される。この特定の例では、コントローラコアおよびメモリコアが同じレートでクロック制御されることに留意する。代替の実施形態では、コントローラコアおよびメモリコアを異なるレートでクロック制御してもよい（したがって、異なる深度の直列化および非直列化パイプラインを駆動してもよい）。その場合、クロック停止間隔は、最長期間を有する整数のコアクロック信号に制限し得る。例えば、コントローラコアクロックレートが８００ＭＨｚに増大されるが、メモリコアクロックレートが４００ＭＨｚのままである場合、クロック停止間隔を、整数のメモリコアクロックサイクル（この例では、２．５ｎＳ）に制限し、それにより、コントローラコアクロックとメモリコアクロックとの位相が維持されることを保証し得る。
【００７６】
図１１Ｂは、図１１Ａのクロック制御アーキテクチャのクロック停止（またはクロック一時停止）動作の例示的なタイミング図である。図示の波形は、メモリコントローラクロックおよびメモリ装置コアクロックＰＣＫ１およびＭＣＫ１ならびにシステムクロックＰＣＫ４およびクロック生成回路ＰＣＫ４ｉ内に本質的に存在するシステムクロックを含む。クロックイネーブル信号ＥＮＰＣＫ４およびクロックイネーブル信号のタイミング再取得版であるＥＮＰＣＫ４ｒも示される。
【００７７】
本質的には、クロックイネーブル信号は、内部ＰＣＫ４ｉクロックをゲーティングし、それにより、ＰＣＫ４システムクロックの切り替えをイネーブルまたはディセーブルするために使用される。コントローラコアクロック領域およびシステムクロック領域は、互いに対して任意の位相オフセットを有することが可能である（かつクロックイネーブル信号はＰＣＫ１のエッジに対して任意の位相オフセットを有し得る）ため、クロックイネーブル信号は、ＰＣＫ４ｉクロックが任意の状態である間に立ち上がりまたは立ち下がりになり得、したがって、システムクロックをゲーティングするために直接適用された場合、ＰＣＫ４ｉクロックの論理ハイ状態中にクロックをオフまたはオンにゲーティングし、それにより、望ましくないラント（すなわち、短縮）パルスをシステムクロック線上にもたらす恐れがある。この結果（ラントパルス生成）は、タイミング再取得されたクロックイネーブル信号（ＥＮＰＣＫ４ｒ）とのコントローラコアクロックの立ち上がりエッジおよび立ち下がりエッジの一定の位相オフセットを維持しながら、コア領域クロックイネーブル信号（ＥＮＰＣＫ４）のタイミングを再取得してＰＣＫ４ｉクロック領域にするタイミング再取得論理６１１（詳細図６１０に示される）を含めることにより、図１１Ａのクロック停止論理内で回避される。より詳細には、図示の実施形態では、システムクロックは、ＰＣＫ４ｉの論理ロー位相中にのみオンまたはオフにゲーティングされ、それにより、ラントパルスは生成されず、それでもやはり、タイミング再取得クロックイネーブル信号のデアサートとアサートとの時間間隔は、整数のコアクロックサイクルとして維持され、それにより、メモリコアクロックとコントローラコアクロックとの較正補償された位相関係が保持される。
【００７８】
図１１Ａおよび図１１Ｂを続けると、タイミング再取得クロックイネーブル信号は、ゲート６１３においてＰＣＫ４ｉとＡＮＤ演算され、したがって、デアサートされた場合、整数のコントローラコアクロック（ＰＣＫ１）に対応するいくつかのパルスが、ＰＣＫ４波形に現れないようにする。この動作により、ＰＣＫ４はゲートオフされ（抑制される：切り替えが阻止される）、したがって、正確に停止し、整数のＰＣＫ１サイクル（この例では、１サイクル）に対応する間隔にわたって停止した状態を保つ。ＰＣＫ４はメモリ装置内で受信され、開ループクロック分配回路（例えば、バッファ２２３および２２９により形成される）を通って伝播して、データレートクロック信号ＭＣＫ４をもたらし（周波数変更なしで）、最終的にメモリ側送信クロックおよび受信クロックをもたらすため、ＰＣＫ４を正確に停止（または一時停止）することにより、それに対応して、これらクロックも同様に正確に停止され、それにより、メモリ側直列化器および非直列化器の動作が正確に中断される。相手方のコントローラ側非直列化器および直列化器の動作も、クロック停止論理６０１内のコントローラ側Ｉ／Ｏクロックの停止により正確に中断される。
【００７９】
一実施形態では、メモリ分周回路２２５は、２サイクルのＭＣＫ４クロック毎に最上位ビットが切り替わり、したがって、メモリ側コアクロックＭＣＫ１として出力される、４状態モジュロ４カウンタ（例えば、６１４として示されるインクリメント論理６１６および状態レジスタ６２１を含む）により実施される。モジュロ４カウンタは一般に、カウンタ出力において示される４つの状態（ＭＳＢが略述される）のうちの任意の状態で電源投入され得ることに留意すると、ＭＣＫ１とコントローラコアクロックＰＣＫ１との位相関係は、１サイクルのＭＣＫ４信号、したがって２ビット時間だけ位相離間された４つの初期位相オフセットのうちの任意の１つをとり得る。図２Ａ（および図１１Ａ）の実施形態では、ＰＣＫ１とＭＣＫ４との初期位相関係は、それが何であれ、ドリフト補償直列化器および非直列化器内のビット調整値およびパケット調整値の初期較正により説明される。ＰＣＫ１はＰＣＫ４／ＭＣＫ４信号の停止中、切り替わり続けるため、ＰＣＫ４とＰＣＫ１とのクロック比（この例では、４）に等しい数のＰＣＫ４パルスを抑制しないＰＣＫ４／ＭＣＫ４の任意の停止は、クロック再開時にＰＣＫ１とＭＣＫ１との位相関係を変更し、ひいてはコントローラコアクロック領域に対するビットおよびパケットの同期が失われることになる。一方、整数のＰＣＫ１サイクル中にＰＣＫ４を正確に停止させることにより、抑制されるＰＣＫ４（ひいてはＭＣＫ４）パルスの数は、ＰＣＫ４とＰＣＫ１クロック比に等しいことが保証され、したがって、初期較正設定が位置合わせされたＰＣＫ１とＭＣＫ１との位相関係が維持されるため、クロック再開時に、誤差のない適宜フレーム化されパケット位置合わせされたデータをコントローラコア領域に転送することが可能である。この結果は、ＭＣＫ４のエッジと併せてモジュロ２カウンタの状態（００、０１、１０、１１、００、・・・）により図１１Ｂに示され、クロック停止間隔中にＰＣＫ４クロックパルスのＮ＊（ＰＣＫ４とＰＣＫ１との比）個の抑制により、クロック再開時にＰＣＫ１とＭＣＫ１との位相関係が保持されることを示す（「＊」は乗算を示す）。
【００８０】
図１１Ｃおよび図１１Ｄは、システムクロックのクロック停止論理６０５のより詳細な実施形態および対応するタイミング図を示す。クロック停止論理は、図１１Ａのゲート６１３に対応する論理ＡＮＤゲート６１３ならびにフリップフロップ６３１、６３３、６３５、６３７、６３９、６４１、６４５、６４７、論理要素６３２、６３４、６３６、およびマルチプレクサ６３８、６４３により形成されるタイミング再取得論理を含む。考察したように、タイミング再取得回路は、コントローラコアからのクロックイネーブル信号ＥＮＰＣＫ４のタイミングを再取得して、システムクロックＰＣＫ４の領域にするように機能する。この動作での初期ステップは、コアクロック信号を使用してクロックイネーブル信号をサンプリングし、それにより、ＥＮＰＣＫ４内の任意の遷移をコアクロック信号の遷移と位置合わせして、クロックイネーブル信号イネーブル信号を表す信号（すなわち、クロックイネーブルサンプル）が、少なくとも１つのコアクロックサイクルにわたって安定に保持されることを保証することである。さらに、ワンタイムロードスキップ演算がシステム初期化時に実行されて（ロードスキップ信号（ＬＤ−ＳＫＩＰ）に応答して）、ＰＣＫ４領域内で生成され、ＰＣＫ４ｃと呼ばれる同じ周波数のクロック信号に対するＰＣＫ１信号の位相を特定される。より詳細には、ロードスキップが立ち上がる時、マルチプレクサ６３８はＰＣＫ４ｃをフロップ段６３９の入力に渡し、それにより、ＰＣＫ１の保証立ち上がりエッジによりＰＣＫ４ｃをサンプリングできるようにする。本明細書ではスキップ信号と呼ばれるフロップ段６３９の出力は、ロードスキップのデアサートによりラッチされ、ＰＣＫ４ｃがＰＣＫ１立ち上がりエッジにおいてハイであったか、それともローであったかに応じてそれぞれ論理「１」または「０」である。ＰＣＫ４ｃとＰＣＫ１との位相関係は、システム動作中変更されないままであるため、ロードスキップをアサートするのは、スキップ信号の状態を復元するために、電源投入時（またはシステムリセット時）に１回のみである。
【００８１】
続けると、クロックイネーブル信号ＥＮＰＣＫ４は、ＰＣＫ１の立ち上がりエッジに応答してフロップ段６３７によりサンプリングされ、整数のＰＣＫ１サイクルにわたって同じ状態をも保つことが保証される、立ち上がりＰＣＫ１エッジに位置合わせされたクロックイネーブル信号ＥＮＰＣＫ４ａが生成される。ＥＮＰＣＫ４ａ自体は、続く立ち下がりＰＣＫ１エッジに応答してフロップ６４１内でサンプリングされて、これもまた整数のＰＣＫ１サイクルにわたった同じ状態を保つことが保証された立ち下がりＰＣＫ１エッジに位置合わせされたクロックイネーブル信号ＥＮＰＣＫ４ｂが生成される。図１１Ｄに示されるように、２つのＰＣＫ１位置合わせクロックイネーブル信号ＥＮＰＣＫ４ａおよびＥＮＰＣＫ４ｂは、同じ時間間隔にわたって有効であるが、交互の状況で、すなわち、スキップ信号がハイである場合（ＥＮＰＣＫ４ａ）およびスキップ信号がローである場合（ＥＮＰＣＫ４ｂ）での、ＰＣＫ１位置合わせクロックイネーブル信号のインスタンスを表す。したがって、２つのＰＣＫ１位置合わせクロックイネーブル信号を、スキップ信号の状態に従ってマルチプレクサ６４３内で選択することにより、同じ開始時間および停止時間を有するＰＣＫ１位置合わせクロックイネーブル信号が選択され、いずれの場合でも、タイミング再取得フロップ段６４５に出力される。さらに、選択されたＰＣＫ１位置合わせクロックイネーブル信号は、タイミング再取得フロップ段６４５のトリガ入力に供給される直交クロック信号ＰＣＫ４ｄ（すなわち、ＰＣＫ１およびＰＣＫ４ｃと同じ周波数を有するが、ＰＣＫ４ｃに対して直交位相関係を有するクロック信号）の立ち上がりエッジに及ぶことが保証される。最後に、ＰＣＫ４ｄの各エッジは、データレートクロックＰＣＫ４ｉの立ち下がりエッジに応答して生成されるため（フロップ６３１により）、タイミング再取得フロップ段６４５をトリガし、それにより、ＰＣＫ１位置合わせクロックイネーブル信号をサンプリングするために使用されるＰＣＫ４ｄの立ち上がりエッジは、ＰＣＫ４ｉがローになった直後に発生する。この設計により、タイミング再取得クロックイネーブル信号ＥＮＰＣＫ４ｃが、ＰＣＫ４ｉの次の立ち下がりエッジにより別のタイミング再取得フロップ段６４７でサンプリングされて、ＰＣＫ４をオンオフにゲーティングするために使用される最終的なタイミング再取得クロックイネーブル信号を生成する前に、セットアップ時間および保持時間の完全な（または略完全な）ＰＣＫ４ｉクロックサイクルが提供される。図１１Ｄに示されるように、正味の結果として、最終的なタイミング再取得クロックイネーブル信号ＥＮＰＣＫ４ｒが、ＰＣＫ４ｉの立ち下がりエッジに応答してのみ、かつ最後の状態変更から整数のＰＣＫ１クロックサイクルが経過した後でのみ変化する。この動作により、ＰＣＫ４出力上の問題のあるラントパルスが回避され、ＰＣＫ１とＰＣＫ４とのクロック位相関係は、クロック停止および再開を通して維持され、それにより、メモリコントローラ内のドリフト補償直列化および非直列化回路の較正状態が保持される。
【００８２】
図１１Ｃおよび図１１Ｄに示される技法および回路は、コントローラ側Ｉ／ＯクロックＰＣＫ８のクロック停止論理内に適用することも可能であり、それにより、ＰＣＫ８クロック線上のラントパルスを回避し、２：１クロック比を考慮して、クロック停止中にディセーブル（または抑制）されるＰＣＫ８パルスの数がディセーブルされるＰＣＫ４パルスの数に一致することを保証する。
【００８３】
図１１Ｅ〜図１１Ｇは、代替のクロック停止アーキテクチャ６５０、対応する回路、およびタイミング図を示す。図１１Ａのアーキテクチャ内の別個のＰＣＫ４クロック停止回路およびＰＣＫ８クロック停止回路とは対照的に、クロック停止アーキテクチャ６５０は、最後のＰＣＫ８クロック位相をもたらし、周波数分周後にシステムクロック信号ＰＣＫ４をもたらす内部ＰＣＫ８クロック位相（ＰＣＫ８ｉ）の切り替えをディセーブルする単一のクロック停止論理回路６５１を含む。クロック停止回路６０１および６０５がなく、複数のクロックイネーブル信号に代えて単一のクロックイネーブル信号（ＥＮＰＣＫ８／４）が設けられることを除き、アーキテクチャ６５０の機能要素は一般に、図１１Ａにおいて同様に付番される相手方を参照して説明されたように動作する。図１１Ａの実施形態と同様に、コントローラコアクロックＰＣＫ１はＰＣＫ８ｉクロック位相（ひいてはＰＣＫ８クロックおよびＰＣＫ４クロック）が停止した後でも切り替わり続け得る。
【００８４】
図１１Ｆは、図１１Ｅのクロック停止回路６５１を実施するために使用し得るクロック停止回路６７０の実施形態を示す。示されるように、コントローラコア領域からのクロックイネーブル信号（ＥＮＰＣＫ８／４）は、フリップフロップ６７１内でベースラインＰＬＬ出力位相ＰＬＬ［０°］（コアクロックに対して８×周波数を有するクロック位相）に応答してサンプリングされ、それにより、タイミング再取得イネーブル信号６７２として、クロックイネーブル信号をＰＬＬ出力クロック領域にタイミング再取得する。代替の実施形態では、最終的にＰＬＬ出力クロック領域とのタイミングを再取得する前に、一連のタイミング領域を通してクロックイネーブル信号を転送する段になったタイミング再取得回路を含め、他のタイミング再取得回路を使用して、クロックイネーブル信号のタイミングを再取得し得る。タイミング再取得イネーブル信号６７２は、ＰＬＬ［０°］の立ち下がりエッジに応答してサンプリングされて、ＰＬＬ［０°］クロック信号の論理ロー半サイクルの開始時にクロック０イネーブル信号（ｃｌｋ０−ｅｎ）をローにする。マルチプレクサ６７４（または他の選択回路）は、クロック０イネーブル信号がローになったことに応答して、ＰＬＬ［０°］から対応するＰＣＫ８ｉ出力（ＰＣＫ８ｉ［０°］）を切り離し、ＰＣＫ８ｉ出力を接地に結合して、出力ローを保持し、クロック停止を行う。タイミング再取得クロックイネーブル信号６７２は同様に、ＰＬＬ［６０°］の立ち下がりエッジによりサンプリングされて、ＰＬＬ［６０°］クロック信号の論理ロー半サイクルの開始時にクロック１イネーブル信号（ｃｌｋ１−ｅｎ）をローにする。マルチプレクサ６７６は、クロック１イネーブル信号がローになったことに応答して、ＰＣＫ８ｉ［６０°］出力をＰＬＬ［６０°］から切り離し、出力を接地に結合する。最後に、タイミング再取得クロックイネーブル信号６８０のより大きく遅延したもの（例えば、クロック０イネーブル信号のバッファ遅延インスタンスにより生成される）は、ＰＬＬ［１２０°］の立ち下がりエッジに応答してサンプリングされて、ＰＬＬ［１２０°］クロック信号の論理ロー半サイクルの開始時にクロック２イネーブル信号（ｃｌｋ２−ｅｎ）をローにする。マルチプレクサ６７８は、クロック２イネーブル信号がローになったことに応答して、ＰＣＫ８ｉ［１２０°］出力をＰＬＬ［１２０°］から切り離し、出力を接地に結合する。図１１Ｇの陰影の付いたクロック停止領域に示されるように（破線の輪郭で抑制されたクロックパルスを示す）、クロックイネーブル信号がローになることに応答してＰＣＫ８ｉクロック位相を正確に停止することにより、それに対応して、ＰＣＫ８［０°，６０°，１２０°］クロック位相、ＰＣＫ４クロック位相、ひいてはメモリ側クロックＭＣＫ４（およびＭＣＫ１、図示せず）の正確な停止がもたらされる。停止（または一時停止またはディセーブル）されるすべてのクロックの正確な再開も同様に、クロックイネーブル信号（ＥＮＰＣＫ８／４）の立ち上がりにより達成される。すなわち、クロックイネーブル信号の立ち上がりエッジ（各ＰＬＬ出力位相のセットアップ時間および保持時間の要件を満たすために必要に応じ��さらにタイミング再取得される）は、ＰＬＬクロック位相の立ち下がりエッジに応答してサンプリングされて再びイネーブルされ、各ＰＬＬクロック位相の論理ロー間隔の開始時にマルチプレクサの選択を切り替えて、ＰＬＬクロック位相を対応するＰＣＫ８ｉクロックノードにグリッチなしで再結合することができる。図１１Ｆおよび図１１Ｇに特に示されないが、０°、６０°、および１２０°のＰＬＬクロックの相補的なインスタンス（１８０°、２４０°、および３００°）も同様に、クロック０イネーブル信号、クロック１イネーブル信号、およびクロック２イネーブル信号のそれぞれの状態に従ってディセーブルおよびイネーブルし得る。上述した様々な実施形態でのように、代替の実施形態では、より多数または少数のＰＬＬ出力位相を生成してもよい。
【００８５】
クロック停止モードの開始および終了−システム動作
一実施形態では、メモリコントローラが要求されたすべてのメモリトランザクションを完了し、そのため、仕事がなくなった場合は常に、クロック停止低電力モードが開始される。一実施形態では、このアイドル状態は、保留中トランザクションのキュー（「トランザクションキュー」）を監視し、したがって、トランザクションキューが空であるときが通知されるメモリコントローラコア内の電力モード論理により決定される。キューが空の場合にコントローラＩ／Ｏクロックおよびシステムクロックを即座に停止するのではなく、電力モード論理は少なくとも、キューから引き出された最後のトランザクション（すなわち、最終トランザクション）が、少なくともメモリ装置およびコントローラＩ／Ｏ回路の観点から完了するのに十分に長い時間を待ってから、クロックイネーブル信号ＥＮＰＣＫ４およびＥＮＰＣＫ８をデアサートして、コントローラＩ／Ｏクロック信号およびシステムクロック信号（ＰＣＫ８およびＰＣＫ４のそれぞれ）を正確に停止させる。
【００８６】
図１２Ａは、クロック停止低電力モードの開始および終了を含む間隔中のメモリコントローラでのクロック信号、クロックイネーブル信号、およびコマンド／アドレス信号の例示的なタイミング図である。クロック信号は、コントローラコアクロックＰＣＫ１、システムクロック信号ＳＣＫ（メモリコントローラ内のＰＣＫ４）、およびコントローラＩ／ＯクロックＰＣＫ８を含む。上述した例示的な実施形態を続けると、データおよびコマンドは３．２Ｇｂ／ｓ、すなわち、０．６２５ｎＳシステムクロックサイクル当たり２ビットかつ２．５ｎＳ（ナノ秒）コアクロックサイクル当たり８ビットで送信される。この構成により、８：１直列化パイプラインが確立され、出力情報は、所与のコアクロック信号サイクル中に８ビットパケット（すなわち、１バイト）として各ドリフト補償直列化器に提示され、その間、前に提示されたパケットのビットは、同じコアクロックサイクル中に、各ビット時間（ビット時間またはｔＢＩＴ＝ｔＰＣＫ８（ＰＣＫ８期間））で直列送信される。したがって、図１２Ａに示されるように、ｔＰＣＫ１＝ｔＰＫＴ＝４＊ｔＳＣＫ＝８＊ｔＢＩＴであり、「＊」は乗算を示す。代替の実施形態では、異なる送信周波数、クロック比、直列比、およびパケットサイズを選択してもよい。
【００８７】
メモリコントローラ内で、データパケットおよびコマンド／アドレス（ＣＡ）ビットのそれぞれは、８ビット幅データ線およびＣＡ線を介してＩ／Ｏ回路に供給される。一実施形態では、各メモリアクセスコマンドおよび対応するアドレスは、２つの８ビットパケットにパッキングされ、したがって、単一のパケット時間で２つのＣＡ線（ＣＡ［０］およびＣＡ［１］）を介して送信し得る。送信すべきパケットが残っていない場合、「ＮＯＰ」コマンドパケットとして示される「無演算」コマンド（例えば、ゼロ充填パケット）が、コマンドパス（ＣＡ［０］、ＣＡ［１］）を介してメモリ装置に送信され、コントローラコアは、コマンドパス上で送信される最後のメモリアクセスコマンド（「最終コマンド」）の完了までのカウントダウンを開始する。カウントダウン中、クロック停止モードは保留中であると言え、コントローラコア内の電力モード論理は、最終書き込み動作の場合、すべてのクロックが引き続き切り替わり、書き込みデータをメモリコア内に記憶するため、または最終メモリ読み取りコマンドの場合、読み取りデータをメモリコアから返して、非直列化し、コントローラＩ／Ｏ−コアインタフェースに提示するために必要なタイミングエッジを提供するクロック停止前状態にある。最終コマンドに関連付けられたすべての動作がメモリ装置およびコントローラＩ／Ｏ回路内で完了するときまでに、新しいトランザクションがトランザクションキュー内に配置されない場合、電力モード論理は、システムクロックおよびコントローラＩ／ＯクロックＰＣＫ４（ＳＣＫ）およびＰＣＫ８のそれぞれのクロックイネーブル信号ＥＮＰＣＫ４およびＥＮＰＣＫ８をデアサートする。
【００８８】
図１２Ａ内では、クロック停止モードの開始は、最後に残っていたメモリアクセス要求を１６ビット幅トランザクションキュー（Ｔ−「Ｑｕｅｕｅ［１５：０］）から８ビット幅コマンド線Ｃａｄａｔａ［０］［７：０］およびＣａｄａｔａ［１］［７：０］を介してコントローラＩ／Ｏ回路に転送される（取り出されるまたはキューから出される）ことにより開始する。コマンドデータ線自体は、パケット位置合わせ回路（すなわち、パケット位置合わせＦＩＦＯまたはスキップ回路）内に実装し得、所与のシグナリングリンクのコアクロック領域からフレームクロック領域に横断できるようにする。したがって、連続した各コマンドは、ＮＯＰであれメモリアクセスコマンド（ＯＰ）であれ、コアクロック（ＰＣＫ１）の立ち下がりエッジに応答してパケット位置合わせ回路内で転送し、較正された（かつリンクに固有の）数のビット時間後にフレームクロック領域に転送し、次に、直列化して、ＣＡ［０］リンクおよびＣＡ［１］リンクを介して送信し得る。したがって、「ＯＰ０］で示される最終動作は、時間７０２において、トランザクションキューからコマンド線に転送され、時間７０４から開始して（立ち下がりＰＣＫ１エッジに応答して）、パケット位置合わせ回路を横断して転送され、次に、ＰＣＫ１サイクルに、デフレームクロック信号（図３ＤのＴＣＫ１［ｉ］）とＰＣＫ１とのビット単位のオフセットを加えたものに対応する直列化遅延ｔＳＥＲＩＡＬ後、パケット位置合わせ回路からコントローラ側非直列化回路内の直列シフトレジスタ（例えば、図３Ｄに示されるフロップ段３１５により形成される）に転送される。その後、データは、ビット単位で直列シフトレジスタからシフトアウトされて、ＣＡ［０］／ＣＡ［１］シグナリングリンクを介しての直列データ送信を行う。
【００８９】
異なるシグナリングリンク間のビット変動性は、図１２Ａにおいて、ＣＡ［０］およびＣＡ［１］シグナリングリンクの直列化遅延の４ビット時間差により強調される。すなわち、リンクＣＡ［０］（すなわち、ＰＣＫ１とＴＣＫ１［ｉ］との間）のコアクロックとデフレームクロックとのビット単位のオフセットはゼロであり、ＯＰ０の下位パケットは、ＣＡ［０］リンクの場合、トランザクションキューからＣＡ［０］パケット位置合わせ回路に転送された後、１つのＰＣＫ１サイクル中に直列シフトレジスタに転送され、したがって、時間７０６に開始して、ＣＡ［０］シグナリングリンクを介してビット直列送信される。したがって、直列化遅延ｔＳＥＲＩＡＬは、ＰＣＫ１サイクル１個分、すなわち８ビット時間である。対照的に、リンクＣＡ［１］（すなわち、ＰＣＫ１とＴＣＫ１［ｉ＋１］との間）の場合、コアクロックとデフレームクロックとの間に４ビットオフセットが存在し、ＯＰ０の上位パケットをトランザクションキューからＣＡ［１］パケット位置合わせ回路に転送した後、パケットがＣＡ［１］シグナリングリンクを介して送信される前に（時間７０８において開始される）、１２ビット時間直列化遅延が経過（または発生）する。全体的に、８ビット時間直列化遅延と１２ビット時間直列化遅延との差は、ＣＡ［０］およびＣＡ［１］リンクの送信クロック間に存在し得るいかなるサブビット時間位相オフセット（すなわち、ＴＣＫ８［ｉ］とＴＣＫ８［ｉ＋１］との位相オフセット）も考慮せずに、ＯＰ０の下位パケットと上位パケットとのコントローラ側送信の間４ビット時間オフセット（またはビット変動）をもたらす。全体的に、ビット変動およびサブビット位相オフセットは、関連付けられたコマンド／アドレスパケットおよびデータパケットを時間的に互い違いに送信させて、メモリ側データサンプリング、非直列化、およびＩ／Ｏ−コア転送をすべて、メモリ側クロック調整回路なしで行えるようにする。図１２Ａに示されないが、同様のビット変動およびサブビット位相オフセットがコントローラ側データ非直列化器内で許容されて、メモリ側クロック調整回路なしでのメモリ側コア−Ｉ／Ｏ転送、直列化、およびデータ送信を可能にする。
【００９０】
図１２Ａのクロック停止例を続けると、最終メモリアクセス動作（すなわち、ＯＰ０）をトランザクションキューからリンクＣＡ［０］およびＣＡ［１］のコマンド線に転送した後すぐに、電力モード論理は、トランザクションキューが空であると判断し、したがって、システムクロックおよびコントローラＩ／Ｏクロックのクロックイネーブル信号をデアサートするまでのカウントダウンを開始する。一実施形態では、カウントダウン時間は、動作固有であるため、ｔＣＡ（ＯＰ）−ＥＮとして指定され、「ＯＰ」は、メモリアクセス要求の性質（例えば、アクティブ化もしくはプレチャージ等の行動作またはメモリの読み書き等の列動作であるが、プログラム時間および消去時間等の、メモリ記憶装置の他の非ＤＲＡＭ型に特定の動作時間が適用されてもよい）を示す。あるいは、実行中の動作のタイプに関係なく、一定のカウントダウン時間を適用してもよい。いずれの場合でも、目標は、最後のメモリアクセス動作を完了するために十分なクロックエッジが、メモリ装置およびコントローラＩ／Ｏ回路に提供されることを保証することである。一般に、トランザクションキューが空になってからの間の最悪の場合の待ち時間は、メモリ読み取り動作で発生し、メモリ読み取り動作は、コマンド直列化時間（最悪の場合のビット変動を含む）、コマンドパスを介しての伝播、メモリ装置のデータ検索・直列化待ち時間（本明細書では、まとめてＣＡＳ待ち時間と呼ばれる）、デーパス上の読み取りデータ伝播時間、および最後にコントローラ側データ非直列化時間を含む。動作固有の実施形態では、電力モード論理は、最終動作に基づいてレジスタバンク（またはルックアップテーブル）をインデックス付け、それにより、カウントダウン値（例えば、クロックイネーブル信号をデアサートする前に発生すべきコアクロックサイクル数）を検索する。一定カウント実施形態の場合、カウントダウン値を、実行時、製造時、または設計時のメモリ読み取り動作の最悪の場合の時間の測定に基づいてシステム開始時にプログラムしてもよく、システム製造時にワンタイムレジスタをプログラムすることによりプログラムしてもよく、または最悪の場合のカウント値をハードワイヤードで実装してもよい。
【００９１】
どのように実施されようとも、新しいメモリアクセス要求が、クロック停止までのカウントダウン中（すなわち、電力モード論理クロック停止保留モードにある間）にトランザクションキュー内に挿入（または他の様式で受信）される場合、保留中のクロック停止はアボートされ、電力モード論理はアクティブモードに戻り、空の状態についてトランザクションキューを引き続き監視する。しかし、カウントダウンの完了前に新しいメモリアクセス要求がトランザクションキュー内に配置されない場合、電力モード論理はクロックイネーブル信号ＥＮＰＣＫ４およびＥＮＰＣＫ８をデアサートし、それにより、クロック停止動作をトリガする。
【００９２】
上述したように、ＥＮＰＣＫ４およびＥＮＰＣＫ８は、コアクロック領域内で生成されるため、ＰＣＫ４クロックおよびＰＣＫ８クロックが正確に停止する（または一時停止もしくはディセーブル）することを保証するために、ＰＣＫ４領域およびＰＣＫ８領域内でタイミング再取得される。さらに、ＰＣＫ４領域およびＰＣＫ８領域（すなわち、システムクロック領域およびコントローラＩ／Ｏクロック領域）が互いに位相オフセットすることが許される実施形態（例えば、図２Ａの実施形態でのように）では、タイミング再取得されたクロックイネーブル信号ＥＮＰＣＫ４ｒおよびＥＮＰＣＫ８ｒのデアサート時間は異なり得るため、結果として、ＰＣＫ４クロックおよびＰＣＫ８クロックのクロック停止時間が異なることになる。図１２Ａの例示的なタイミング図では、このクロック停止時間の変動は、ＰＣＫ４クロック停止時間とＰＣＫ８クロック停止時間との２ビット時間（２つのＰＣＫ８サイクル、１つのＰＣＫ４サイクル）オフセットとして示される。すなわち、ＰＣＫ８クロック停止論理でのタイミング再取得された遅延ｔＣ８ＤＬ（またはディセーブル待ち時間）は、ＰＣＫ４クロック停止論理内のタイミング再取得された遅延ｔＣ４ＤＬよりも２ビット時間長い。両クロックは、整数のＰＣＫ１サイクル中に停止するため、同じ２ビット時間オフセットがクロック再開にも当てはまるため、ＰＣＫ８およびＰＣＫ４の各クロック領域での任意のクロック比（この例では、２：１）を考慮した後、同数のクロックパルスが生成される。
【００９３】
コントローラＩ／Ｏクロックを停止する際の１つの大きな問題が、様々なコントローラ側直列化／非直列化回路内で許されるビット変動により示される。すなわち、ビット変動が、異なるシグナリングリンクのコントローラ側タイミング領域間で許されるため（実際には、必要に応じてこれら領域を互い違いにさせて、相手方の非補償メモリ側タイミング領域との位置合わせを達成する）、異なるリンクのパケット境界自体がオフセットする。クロック停止の観点から、コントローラＩ／Ｏクロックがどこで停止するかに関係なく、１つまたは複数のＣＡパケットは部分的にしか直列化され得ず、実際には、クロック停止間隔のいずれかの側（例えば、７１１および７１２）に見られる部分にパケットを断片化し得る。しかし、ＰＣＫ８は整数のＰＣＫ１サイクルで正確に停止するため、パケットの残りの部分（７１２）はクロック再開時に適宜直列化され、新しいパケットが、コントローラ側デフレームクロッククロックとコアクロックＰＣＫ１との予め確立された関係を反映するパケット境界においてデフレーム化されて送信される。すなわち、コントローラコアクロック（ＰＣＫ１）とデフレームクロック（例えば、ＴＣＫ８［ｉ］）とのビット単位（およびビット内位相）オフセットは維持され、それにより、任意のクロック停止断片化パケットの残りのビットは、まるでクロック停止がなかったかのように送信され、新しいパケットがデフレーム化される。視覚的に、これは、開始クロック境界に沿って図１２Ａの図をスライスし、クロック再開後に見られる図の部分を左にシフトさせて、クロック停止境界に並べることでイメージすることができる。分かるように、パケットフレーム境界は維持され、すべてのクロック停止断片化パケットは、クロック再開時に全体になる。
【００９４】
これまで説明したクロック転送アーキテクチャを考えると、任意の数のシステムクロックパルスがメモリ装置に飛行中（すなわち、クロックリンク上で伝播中）であり得るため、所与のシグナリングリンク上でビットを受信または送信できるようにするために使用される特定のシステムクロックは一般に、コントローラＩ／Ｏクロックの公称的に位置合わせされたエッジから時間的にオフセットする。すなわち、コントローラＩ／Ｏクロックエッジおよびシステムクロックエッジが、コントローラ側クロック生成器から同時に出力されると想定すると、Ｉ／Ｏクロックエッジは一般に、コントローラ側Ｉ／Ｏ回路内のデータ受信イベントのタイミングをとるために適用され、その間、システムクロックエッジはまだメモリ装置またはメモリ装置Ｉ／Ｏ回路への伝播途中である。クロック停止の観点から、これは、システムクロックおよびコントローラＩ／Ｏクロックがメモリコントローラにおいて同時に停止した場合であっても、それにも拘わらず、システムクロックパイプが長ければ長いほど、排出により長い時間がかかるため、メモリ装置がコントローラＩ／Ｏ回路よりも多数のクロックエッジを経験する（クロック比を考慮して）ことを意味する。そして同様に、クロック開始の観点からも、システムクロックおよびコントローラＩ／Ｏクロックが同時に開始された場合、コントローラＩ／Ｏ回路は、メモリ側クロックパイプラインがより長いことにより、メモリ側Ｉ／Ｏ回路よりも先にクロックパルスの受信を開始することになる。これは、コントローラＩ／Ｏ回路により送信され得るパケットの任意の残りの部分が、システムクロックエッジが、入力データをサンプリングするために到着する前（または後）にメモリ装置に到着し得るため、断片化パケットの管理に対して大きな課題を呈する。より一般的には、クロック再開時に送信される任意のコマンドまたはデータパケットのビットが、受信のタイミングをとるため、クロックエッジが利用可能になる前にメモリ装置に到着する場合、抜け落ちる恐れがある。一実施形態では、この複雑性は、（ｉ）クロック停止まで先行する間隔中およびクロック再開に続く間隔中に無演算（ＮＯＰまたはｎｏ−ｏｐ）コマンドを送信すること、および（ｉｉ）コントローラ側コアクロック（ＰＣＫ１）とメモリ側コアクロック（ＭＣＫ１）との位相関係がクロック停止間隔を通して維持されることを保証することにより管理される。第１に、クロック停止間隔の直前および直後にｎｏ−ｏｐ送信を送信することにより、転送クロックパイプラインが充填されるため、意味あるコマンドまたはデータが抜け落ちないことが保証される。すなわち、ｎｏ−ｏｐコマンドと併せてデータが送信されず、メモリアクセスコマンドが指定されないため、クロック再開時に最初に送信されるビットが損失したとしても、その損失は重要ではない。第２に、ＰＣＫ１とＭＣＫ１との位相関係を維持することにより、初期較正時に確立されるコントローラ側フレーム／デフレームクロック信号とメモリ側フレーム／デフレームクロック信号との関係が、クロック再開時に維持される。すなわち、意味のある（すなわち、ｎｏ−ｏｐではない）コマンド（ＣＡ）およびデータが最終的に、コマンドパスおよびデータパスを介して送信される場合、そのコマンドおよびデータは受信側装置により適宜フレーム化されることになり、相手方のフレーム／デフレームクロックを再位置合わせする必要なく、システムの継続動作が可能である。さらに、メモリ装置内の開ループクロック分配アーキテクチャにより、メモリ側送信クロックおよび受信クロックの位相は、クロック停止を通して実質的に変更されないままであり、したがって、クロック停止前のコントローラ側直列化／非直列化回路内で行われた位相調整が、クロック再開後も有効であり、それにより、クロック再開時にデータおよびコマンドを即時に、かつ確実に送信することができる。
【００９５】
図１２Ａを続けると、クロック停止後、コアクロックは実行（すなわち、発振、切り替え）し続け、したがって、コントローラコアは、ホスト要求のメモリトランザクションを受信しキューに配置し続け、電力モード論理は、トランザクションキューを監視し続けて、新しいトランザクション要求が保留中であるか否か、および新しいトランザクション要求が保留中であるときを判断し得る。新しいトランザクション要求がキューに配置されたことを検出した場合、電力モード論理はクロック開始保留状態に遷移し、続く立ち上がりＰＣＫ１エッジにおいてクロックイネーブル信号ＥＮＰＣＫ４およびＥＮＰＣＫ８をハイに（アサート）する。ＰＣＫ４およびＰＣＫ８のクロック停止論理は、コア領域クロックイネーブル信号のアサートに応答して、それぞれのタイミング再取得遅延（またはイネーブル待ち時間）ｔＣ４ＥＬおよびｔＣ８ＥＬ後にタイミング再取得クロックイネーブル信号ＥＮＰＣＫ４ｒおよびＥＮＰＣＫ８ｒを立ち上げる。示される特定の例では、デアサートおよびリアサートタイミング再取得遅延は一致する（すなわち、ｔＣ４ＤＬ＝ｔＣ４ＥＬ、ｔＣ８ＤＬ＝ｔＣ８ＥＬ）。これは、この例でのように、ＥＮＰＣＫ４信号およびＥＮＰＣＫ８信号が整数のＰＣＫ１クロックサイクルである限り当てはまる。ＥＮＰＣＫ４またはＥＮＰＣＫ８のデアサート時間が整数のＰＣＫ１サイクルではない場合、クロック停止論理は、対応するクロックイネーブル信号のタイミングを再取得して、整数のＰＣＫ１クロック停止間隔を実施するが、クロック停止タイミング再取得遅延およびクロック開始タイミング遅延は一致しない。
【００９６】
タイミング再取得した遅延が経過した後、ＰＣＫ４およびＰＣＫ８の各クロック停止回路は、タイミング再取得クロックイネーブル信号ＥＮＰＣＫ４ｒおよびＥＮＰＣＫ８ｒのそれぞれを立ち上げ、それにより、システムクロック（ＳＣＫ、ＰＣＫ４）およびコントローラコアクロックを切り替え開始できるようにする。考察したように、コントローラコアは、再開間隔にある数のｎｏ−ｏｐコマンドをパディングして、新しくキューに配置されたメモリトランザクション要求に対応するメモリコマンドが送信される前に、システムクロックパルスがコントローラＩ／Ｏ回路に達することを保証する。したがって、新しいトランザクション要求（「ＯＰ１」として示される）は、キューに配置された後、ある数のコアクロックサイクル（この例では、２サイクル遅延後）まで、コマンド線に転送されず、したがって、ｎｏ−ｏｐコマンドが再開時に送信される。電力モード論理は、新しくキューに配置されたトランザクション要求ＯＰ１を検出した場合、再開カウントダウンを開始し、カウントダウンが終了する前にＰＣＫ１サイクル１個分、ＯＰ１をキューから取り出せるようにし（したがって、ｎｏ−ｏｐをパディングする時間を提供し）、それにより、再開カウントダウンの終了時の直列化器への転送に間に合うように、ＯＰ１をコマンド線にロードする。その後（間隔ｔＥＮ−ＣＡ（ＯＰ））、ＯＰ１コマンドは直列化され、ＣＡ［０］およびＣＡ［１］リンクを介して送信され、クロック再開後にデフレームクロックエッジとコアクロックエッジとの較正位置合わせ（ひいてはリンク間ビット変動）を維持する。
【００９７】
図１２Ｂおよび図１２Ｃは、メモリ装置の観点からのクロック停止モードの開始および終了を示す。まず、クロック再開後のメモリ書き込み動作を示す図１２Ｂを参照すると、時間７２０において、最終動作が受信され、トランザクションされ、その後、時間７２２において、クロック停止までカウントダウンされる。示されるカウントダウン間隔が、上述したようにコントローラ内の電力モード論理により実行され、クロック停止イベントが最終コマンドＯＰ０の到着後に保留されていることを単に示すために、図１２Ｂのメモリ側タイミング図上に重ねられていることに留意する。示されるように、ｎｏ−ｏｐコマンドシーケンスがＯＰ０に続き、それにより、メモリ側データ直列化／非直列化回路およびコア論理が、クロック停止発生前にＯＰ０により指定された動作を完了できるようにする。カウントダウン間隔が経過した後、クロックは示されるように停止し、メモリ装置のクロック停止低電力動作を行う。クロック停止はＣＡリンク上のフレーム境界に一致するものとして示されるが、これはシステム動作下で所要ではないことに留意する。その代わり、任意の数のシステムクロックパルスが、メモリ装置への送信途中であり得（クロックリ
ンク上の波形パイプラインの深度および開ループクロック分配アーキテクチャのオンメモリクロック待ち時間に応じて）、したがって、実装固有（複数のメモリ装置が存在し、メモリコントローラから異なる場所に配置される場合、実装固有かつ／または装置の場所に固有）のフレーム境界間の時間でクロック停止をもたらす。上述したように、この結果は、一実施形態では、ｎｏ−ｏｐを送信して、クロック停止の際に、データパケットまたは意味のあるコマンドパケットがメモリ側非直列化／直列化回路を通って伝播しない（すなわち、断片化しない）ことを保証することを通して説明される。クロック再開時（この例では、システムクロックサイクル５２における）に、１つまたは複数のｎｏ−ｏｐコマンドが受信され、開始シーケンスをパディングし、それにより、メモリアクセスコマンドおよび／またはデータが到着する前に、クロックエッジがメモリ側Ｉ／Ｏ回路内に到着する。図示の例では、書き込みコマンド（ＷＲ）および付随するバンクアドレス（Ｂａ：メモリコア内の複数のメモリバンクのうちの１つを選択する）および列アドレス（Ｃａ：選択されたバンクのセンス増幅器内に存在するデータページ内の複数の列のうちの１つを選択する）を受信する前に、少なくとも１つの完全なｎｏ−ｏｐコマンドが受信される。書き込みコマンドの登録後、時間ｔＷＲＤ（データへの書き込みコマンド）において、書き込みデータパケットおよび対応するデータマスクパケットが、間隔ｔＢＬ（バースト長またはバースト時間）中に受信される。全体として、合計で３２バイトおよび３２ビットの対応するマスクが受信され、メモリコアに転送され、書き込みコマンドに関連して指定されたバンク内に書き込まれる（列オフセットから開始して）。
【００９８】
図１２Ｃは、本質的には図１２Ｂと同じであるが、メモリ読み取り動作の状況でのクロック停止モード開始／終了を示す。この場合、時間ｔＣＬ（列アドレスストローブ（ＣＡＳ）待ち時間）が、メモリ読み取り（すなわち、メモリコアのバンクアドレスＢａおよび列アドレスＣａからのデータ読み取りコマンド）が登録されてから、３２バイトの読み取りデータが出力される（間隔ｔＢＬ中に各データリンク上で送信される４つの直列化パケット）までに経過する。
【００９９】
図１３は、クロック停止間隔を分数または非整数のコアクロックサイクルに延長可能な代替の実施形態によるクロック停止の開始および終了を示す。考察したように、クロック停止間隔を整数のコアクロックサイクルに制限することにより、クロック停止後にメモリ側コアクロックが再開する際、メモリ側コアクロック（ＭＣＫ）とコントローラコアクロック（ＰＣＫ１）との位相関係が維持されることが保証される。ＭＣＫ１が、少なくとも図２Ａの実施形態では、ＭＣＫ４からＭＣＫ１を生成するために使用される４分周回路の４つの可能な状態に従って、ＰＣＫ１に対して４つの可能な関係のうちの１つを有することを想起すると、整数コアクロック制約が解除される場合、メモリコアクロックが、クロック再開時にコントローラコアクロックに対して４つの可能な位相関係のうちの１つを有し得ることが分かる。メモリ側直列化／非直列化回路の観点から、これは、クロック停止間隔を知らない場合、ＭＣＫ１に対して４つの異なるｎ＊２ビット時間オフセット（すなわち、ＭＣＫ１に対して０、２、４、または６ビット時間のオフセット）のうちの１つを有してそれぞれ位置合わせされる４つのパケットフレーム／デフレームクロックのうちの任意の１つが当てはまり得ることを意味する。したがって、一実施形態では、メモリ装置は、クロック再開時に４つのパケットフレーム／デフレームクロックのうちの１つを選択することができる４：１マルチプレクサを含む。さらに、クロック再開時にゼロ値である無演算コマンドを送信することに代えて、メモリコントローラは、図１３において「ＮＣＫ」コマンドとして示される、ｎｏ−ｏｐコマンドとクロック位置合わせコマンドとを組み合わせたコマンドを送信する。一例として、各ＮＣＫコマンドは、ＮＣＫパケット内の所定のビット位置に一対の「１」を含み得る（例えば、「１１  ００  ００  ００」）。クロック開始時に４つの可能なフレーム／デフレームクロックのそれぞれを使用して入力コマンドストリームをフレーム化し、４つの異なる方法でフレーム化されたパケットを、期待されるＮＣＫパケット値と比較することにより、期待されたＮＣＫをもたらしたフレームクロックを、先に進めるメモリ側フレーム／デフレームクロックとして選択し得る。
【０１００】
チップ間コアクロック位相オフセットの調整
図１１Ａを参照して考察したように、所定の電源オン／リセット状態を強制する回路がない場合、メモリ側コアクロックＭＣＫ１を生成する（すなわち、メモリ側Ｉ／Ｏクロック（ＭＣＫ４）を４で分周することにより）ために設けられる例示的なモジュロ４カウンタ（２２５、６１６）は、４つの可能な状態（００、０１、１０、１１）のうちの任意の１つに電源投入し得、したがって、ＭＣＫ１とコントローラ側コアクロック（ＰＣＫ１）との間に可能な４つの位相関係のうちの１つを任意に確立し得る。各ＭＣＫ４サイクルは２ビット時間に及ぶため、４つの可能な位相ＭＣＫ１〜ＰＣＫ１位相関係は、互いに均等に２ビット時間位相オフセットで離間される（システムクロックリンクを介する伝播またはクロックバッファ遅延によるいかなる位相オフセットも考慮しない）。一実施形態では、ＭＣＫ１〜ＰＣＫ１位相関係は電源投入（またはリセット）時に設定され、その後、メモリコントローラのドリフト補償直列化／非直列化回路内のビット位置合わせ回路およびパケット位置合わせ回路の較正を通しての変更なしで説明される。これは、状況によっては待ち時間の増大に繋がり得るため、ＭＣＫ４分周器２２５が、初期較正中に、最も待ち時間の長いデータリンクの位相がコントローラ側コアクロック領域に相対して進められ（図３ＤのＦＣＫ１［０］のタイミングを２ビット時間進めることをイメージする）、したがって、最悪の場合のリンクタイミングを低減すると共に、最短読み取り待ち時間を延ばす状態に調整される代替の実施形態では、待ち時間の利点を達成し得る。
【０１０１】
図１４Ａは、図１１Ａを参照して説明されるモジュロ４カウンタ６１４（すなわち、インクリメント論理６１６および２ビットレジスタ６２１により形成される）と共に、２ビットコアクロック調整値（ＣｏｒｅＣｋＡｄｊ［１：０］）をカウント出力に加算して、クロック分周器出力を生成するモジュロ４加算器７５１を示すクロック分周器の実施形態を示す。この構成により、クロック分周器出力を任意の初期値（モジュロ４カウンタ６１４の電源投入／リセット時に決定される）から４つの可能な出力状態（００、０１、１０、１１）のうちの任意の１つにシフトさせ、それにより、ＭＣＫ１（すなわち、分周器出力のＭＳＢ）の位相をＰＣＫ１に相対して２ビット時間インクリメント（またはＰＣＫ１の直交ステップ）で調整することができる。図１４Ｂはこの結果を示し、コアクロック調整値の４つの設定（ＭＣＫ１の下付き文字として示される）のそれぞれの場合のＰＣＫ１に相対するＭＣＫ１の例示的な４つの位相を示す。理解し易くするために、モジュロ４カウンタ６１４が最初に、状態「００ｂ」で電源投入され、そのため、ＭＣＫ４の最初の立ち上がりエッジ（６５５に示されるように、ＰＣＫ４の最初の立ち上がりエッジからいくらかの遅延期間後に発生する）において、分周器出力が、コアクロック調整値の状態に応じて「００」から「０１」に、「０１」から「１０」に、「１０」から「１１」に、または「１１」から「００」に遷移して、位相調整可能なＭＣＫ１を生成すると想定される。示されるように、コアクロック調整値の各インクリメントの正味の効果は、ＭＣＫ１をＰＣＫ１に相対して２ビット時間進めることである。
【０１０２】
図１４Ｃは、コアクロック調整値ＣｏｒｅＣｋＡｄｊ［１：０］の４つの設定のそれぞれの場合でのＰＣＫ１エッジに相対するコントローラ側パケットフレーム境界の例示的な位置合わせを示す。図示の例では、読み取りデータが、リンクＤＱ［７］上で最小の待ち時間で返され、リンクＤＱ［０］上で最大の待ち時間で返されると想定すると共に、ＤＱ［０］を介して到着するパケットがＰＣＫ１サンプリングエッジの直後にフレーム化される一方で、ＤＱ［７］を介して到着するパケットがＰＣＫ１サンプリングエッジの直前にフレーム化されるとさらに想定する。図３Ｃ〜図３Ｅを参照して上述したパケット位置合わせ技法を利用する実施形態では、システム読み取り待ち時間は、最小でも最悪の場合、したがって、ＭＣＫ１００（すなわち、ＣｏｒｅＣｋＡｄｊ［１：０］＝「００」）の場合に示されるリンクＤＱ［０］のＮ＋１待ち時間（Ｎ＋１個のＰＣＫサイクル）に設定される。しかし、メモリ側コアクロックの位相を２ビット時間前進させることにより（すなわち、ＭＣＫ０１に示されるように）、すべての入力パケットは、ＰＣＫ１サンプリングエッジよりも２ビット時間先に到着し、したがって、エッジＮ＋１に代えてＰＣＫ１のＮ番目のサンプリングエッジに応答してサンプリングすることができ、それにより、システム読み取り待ち時間を１つのＰＣＫ１クロックサイクルだけ低減する（すなわち、待ち時間がＰＣＫ１サイクル１個分のシステム読み取り待ち時間にする）。ＭＣＫ１がさらに２ビット時間間隔進められ（ＭＣＫ１０）、さらに多くのコントローラ側マージン（ひいては潜在的により多くのドリフト許容差）を提供する場合、同様の結果が達成される。しかし、ＭＣＫ１がさらに２ビット時間間隔進められた場合（ＭＣＫ１１に示される）、ＰＣＫ１直列化境界がなくなり（すなわち、コアからのデータが、そのように進められた時間において直列化の準備ができておらず）、１サイクル遅延したＭＣＫ１エッジに関してデータが直列化されることになり、したがって、ＭＣＫ１００の場合よりもメモリコントローラに到着する待ち時間がさらに長くなる。
【０１０３】
図１４Ｃに実証されるように、すべてではないが、いくつかのコアクロック調整設定を使用して、システム待ち時間の短縮を達成し得る。したがって、一実施形態では、各コアクロック調整設定が、例えば、上述したビット位置合わせ動作およびパケット位置合わせ動作を実行して、各設定で達成可能な最小システム待ち時間を特定することにより順にテストされる。２つ以上の設定が同じ最小システム待ち時間をもたらす場合、同じ最小待ち時間をもたらすこれら設定のメジアン設定または他の統計的に中心の設定を選択して、いずれの方向でも最大のドリフト許容差を提供し得る。図１４Ｃの例では、同じ最小をもたらす２つのコアクロック位置合わせ設定があるため、追加の情報を収集して、２つの設定のうちのいずれが最大のドリフト許容差を提供するのかを判断し（その設定を較正結果として選択し）てもよく、または所定の選択を行ってもよい（例えば、常に最高値のコアクロック調整または最小の待ち時間をもたらす最後にテストされた調整を選択する）。
【０１０４】
再び図１４Ａを参照すると、一実施形態では、コアクロック調整設定（ＣｏｒｅＣｋＡｄｊ［１：０］）は、側波帯リンクを介してメモリ装置に通信され、それにより、設定をコントローラ側非直列化器較正の終了時かつコントローラ側直列化器較正の前に修正することが可能である。あるいは、完全な較正を実行し（非直列化器および直列化器）、その後、コアクロック調整を実行し、必要に応じて繰り返してもよい。
【０１０５】
メモリ側コアクロック調整が、互いに相対してメモリ側コアクロックおよびコントローラ側コアクロックの位相をシフトさせることを考えると、メモリ側コアクロックではなくむしろコントローラ側コアクロックの位相をシフトすることにより、同じ相対位相シフトを代替として達成し得ることが分かる。一実施形態では、例えば、図２Ａの８分周回路１６３は、ＰＣＫ１の位相を８つの分周器状態のうちの任意の状態に進めることができ、したがって、ＰＣＫ１をＭＣＫ１に相対してシフトできるように変更される。別の実施形態では、図２Ａの２分周回路１６５は、ＰＣＫ４の位相を半サイクル（実際には、反転された）進めることができるように変更される。さらに、クロック位相シフトに代えて、コントローラ側ＰＣＫ４クロック停止論理内である数（１、２、または３）のＰＣＫ４パルスを抑制して、ＭＣＫ１とＰＣＫ１との初期位相関係を設定して、上記待ち時間利点を達成する調整メカニズム。さらに別の実施形態では、位相シフト回路（例えば、補間器）をＰＬＬの出力に設けて、転送クロックを、所望の（かつ実現可能な）分解能で位相ステッピングさせて、完全に較正されたドリフト許容差を有する短縮システム待ち時間を確立し得る（例えば、位相設定をステッピングまたは探索して、最小待ち時間窓の境界を見つけ、境界間に中心に置かれた最終位相を確立する）。
【０１０６】
グリッチのない位相跳躍
一実施形態では、上記クロック停止論理は、周期的タイミング較正動作の開始時および終了時に利用されて、位相跳躍中に、クロック停止論理が使用されない場合にはコントローラ側の受信クロックおよび送信クロックに発生する恐れのあるグリッチを抑制（またはマスキング）する。すなわち、図１５Ａに示されるように、所与のリンクＲＣＫ８［ｉ］のデータサンプリングクロックの位相が、ライブデータ（ＲＣＫ８［ｉ］ＬＩＶＥ）の受信に使用されるアイ中心位相から、タイミングドリフト（ＲＣＫ８［ｉ］ＰＴＣ）の検出に使用される境界位相に急に遷移する（すなわち、ＣａｌＣｌｋＳｅｌアサートに応答しての位相跳躍）場合、非直列化器フレーム化論理をグリッチするのに十分に短いラントクロックパルス７７５が、正味クロック波形ＲＣＫ８［ｉ］ＮＥＴにより示されるように、クロック線上に出現し得る。より詳細には、ラントパルス７７５の持続時間は、短すぎて、パケットフレーム回路内での不定動作として現れ（すなわち、フレームクロックの生成に使用されるカウンタ回路によりカウントされる場合もあれば、カウントされない場合もある）、それにより、ライブデータ転送に戻る（すなわち、周期的タイミング較正を終了する）際にパケットフレーム誤差をもたらす恐れがある。一般に、そのようなクロックグリッチおよび結果として生じる論理グリッチは、ＰＴＣ位相跳躍動作中にコントローラ側クロックを抑制することにより回避し得る。
【０１０７】
図１５Ｂは、ＰＴＣ前のクロック停止動作を示すタイミング図および結果として生成されるグリッチのないクロック波形（ＲＣＫ８［ｉ］ＮＥＴ）である。一般に、単一コアクロックサイクルクロック停止間隔が、ライブ動作（すなわち、実行時読み書きデータ転送）とＰＴＣ動作との遷移毎に挿入される。クロック停止間隔は、受信クロックがディセーブルである間に、ライブモードとＰＴＣモードとのクロック位相選択遷移を行えるようにし、クロック停止間隔中にいかなる潜在的なラントパルスならびに他のすべての受信クロックパルスを抑制し、それにより、位相跳躍を非直列化器フレーム化論理にとってトランスペアレントにする。クロック再開時、受信クロックパルスは、新しい（ＰＴＣ）クロック位相にも拘わらず、フレーム化論理により誤差なくカウントされる。この動作は、通常通りに付番されたパルスにより図１５Ｂに示され、パルス０、１、および２はライブモード受信クロック位相（ＲＣＫ８［ｉ］ＬＩＶＥ）に応答してカウントされ、パルス３、４、５、６、７等は、ＰＴＣモード受信クロック位相（ＲＣＫ８［ｉ］ＰＴＣ）に応答してカウントされる。ライブモードクロックおよびＰＴＣモードクロックで抑制されたパルスは、グレーの陰影７７８内に示される。ＰＴＣモードクロックが、ライブモードクロックと並行して切り替わるものとして示されて、２つのクロック位相のオフセットを実証することに留意する。実際には、正味クロック結果ＲＣＫ８［ｉ］ＮＥＴのみがＲＣＫ８［ｉ］クロック線上に現れる。抑制されたラントパルス７８０を含む正味抑制パルスも、７８１においてグレーで示される。最後に、ＰＴＣモードからライブモードへの戻り位相跳躍でのラントパルスを回避するため、別の単一ＰＣＫ１サイクルクロック停止動作が、７８２に示されるように実行される。
【０１０８】
図１６Ａ〜図１６Ｆは、クロック停止なしでグリッチのない位相跳躍が可能な周期的タイミング較正を実行する代替の様式に関する。一般に、この代替の手法は、ＰＴＣモードへのまたはＰＴＣモードからの任意の遷移において、１つまたは複数の半ビット時間（または半単位間隔（ＵＩ））位相跳躍を優先して、任意の位相跳躍をなくす全く異なるクロックドリフト検出を含む。後述するように、各半ＵＩ位相跳躍を、前のクロック位相よりも半ＵＩ分先行する新しいクロック位相への遷移に制限することにより、すべてのクロックパルスの持続時間が少なくとも半ＵＩであり、したがって、ＲＣＫ８［ｉ］クロックパルスのパルス幅よりも短いものがないことが保証される。最後に、一実施形態では、ＰＴＣモードの終了は、連続したコアクロックサイクルで実行される一続きの３つの半ＵＩ位相跳躍を含み、それにより、ＰＴＣモードへのまたはＰＴＣモードからの遷移の際に、単位間隔２つ分（４＊０．５ＵＩ＝２ＵＩ）の全体的なコントローラ側位相前進をもたらす。したがって、メモリ側フレーム化論理およびデフレーム化論理に対するパケットフレーム化の同期を維持するために、メモリコントローラは、ＰＴＣモードを終了する際に、単位間隔２つ分（２ビット時間）だけフレームクロックを遅延させる。
【０１０９】
図１６Ａは、アイ開口中ではなくデータアイ間の遷移で捕捉されるシグナリング波形のサンプルに基づく周期的タイミング較正を示す。一般に、データ値の入力シーケンスは、データアイ中間点において受信クロック信号（ＲＣＫ）に応答してサンプリングして、搬送されたデータ値（ｄｉ，ｄｉ＋１、ｄｉ＋２，ｄｉ＋３，・・・）に対応するデータサンプルシーケンス（ｓｉ，ｓｉ＋１，ｓｉ＋２、ｓｉ＋３，・・・）をもたらし得る。さらに、シグナリング波形をオーバーサンプリングし、データアイの遷移（エッジ）でのサンプル、すなわち「エッジサンプル」（ｅｉ，ｅｉ＋１，ｅｉ＋２，ｅｉ＋３，・・・）をさらに捕捉することにより、エッジサンプルが先行または後続のデータサンプルのいずれかと一致しない場合に常に、位相情報を得ることができる。より詳細には、単位間隔が、定義により、シグナリング波形内の連続したエッジ間の時間であるため、波形が単位間隔毎に２回サンプリングされる、すなわち、サンプリングクロック信号に応答して１回サンプリングされて、データサンプルを生成し、サンプリングクロック（またはエッジクロック）を半ＵＩ分シフトしたものに応答して再びサンプリングされて、エッジサンプルを生成される場合、エッジサンプルと先行または後続するデータサンプルとの不一致は、実際に、シグナリング波形に遷移が発生し（「１」から「０に、またはこの逆に）、エッジサンプルが理想的なエッジサンプリング点よりも遅くまたは早く捕捉されたことを示す。この結果は、２つの早期／晩期の不均等性により図１６Ａに示され、ｅｉがｓｉと等しくない場合、サンプルは、ｓｉからｓｉ＋１に遷移した後に捕捉され、したがって、遅く、ｅｉがｓｉ＋１と等しくない場合、サンプルは、ｓｉからｓｉ＋１に遷移する前に捕捉され、したがって、早い。したがって、所与の時間間隔（または所定数のエッジサンプル）にわたって得られる早期／晩期指示の大半により、エッジクロック（ひいてはサンプリングクロック）が理想的なサンプリング点よりも早いことが示されるか、または遅いことが示されるかを判断し、それに従ってエッジクロックおよびサンプリングクロックの位相を調整することにより、位相誤差情報を生成し得る。
【０１１０】
一実施形態では、上記早期／晩期の判断は、周期的タイミング較正（ＰＴＣ）動作中に、オーバーサンプリングなしで、及び、オーバーサンプリングに代えて、既知のデータパターンを送信し、半ＵＩ分だけシフトした受信クロック（すなわち、エッジクロック）を使用して対応するエッジサンプルを生成することにより行われる。図１６Ｂは、排他的ＮＯＲ（ＸＮＯＲ）ゲート８０３においてエッジサンプルセット（ｅ０，ｅ１，・・・，ｅｎ−１）を既知のデータサンプル（ｄ０，ｄ１，・・・，ｄｎ−１，ｄｎ）と比較し、結果として生成されるサンプル早期／サンプル晩期（ｓＥ／ｓＬ）を投票論理８０４に供給する位相誤差検出器８０１の実施形態を示す。一実施形態では、投票論理は、優勢な（大半の投票を構成する）指示が早期であるか、それとも晩期であるかに従って、位相インクリメント／デクリメント信号（「Ｉｎｃ／Ｄｅｃ」）を生成し、受信クロック信号の位置合わせカウントを更新するインクリメント／デクリメント信号を出力する組み合わせ論理回路である。
【０１１１】
図１６Ｃは、コントローラ側ドリフト補償非直列化器の周期的タイミング較正中に位相更新を行うために実行される例示的な動作シーケンスを示す。８２１において開始され、受信クロックは半ＵＩ（０．５ＵＩ）だけ位相前進する。その後、所定の（または予測可能）なテストデータパターンのメモリ側送信が開始される。一実施態様では、例えば、テストパターン送信を開始するサイドリンクコマンドがメモリ装置に発行される。あるいは、メモリ装置を上記ループバックモードにし、テストパターンをメモリコントローラからメモリ装置に送信し、次に、ループバック動作でメモリ装置からメモリコントローラにテストパターンを再送信し得る。いずれの場合でも、８２３において、メモリコントローラは、半ＵＩ分シフトされた受信クロックを使用して入力テストパターンをサンプリングして、８２５において、エッジサンプルシーケンスを生成する。エッジサンプルは、判断ブロック８２７において評価されて、クロック早期指示が優勢であるか（ｅｉ＜＞ｄｉ）、それともクロック晩期指示が優勢であるか（ｅｉ＜＞ｄｉ＋１）が判断される。クロック早期指示が大半を構成する場合、受信クロックは、所望のサンプリング点よりも遅いとみなされ、８２８において、対応する位置合わせカウントがデクリメントされて、クロック位相を前進させる。逆に、クロック晩期指示が大半を構成する場合、受信クロックは所望のサンプリング点よりも早いとみなされ、８２９において、対応する位置合わせカウントがインクリメントされて、クロック位相を遅延させる。その後、受信クロックは、８３１において、１．５ＵＩだけ進められて、較正前の位相を復元する。一実施形態では、この位相前進は、一続きの３つの０．５ＵＩ位相前進動作により行われて、図１６Ｄおよび図１６Ｅを参照して後述するように、較正前位相を復元する。最後に、８３３において、２ビット時間遅延がフレームクロック生成器に導入されて、受信クロックの２ＵＩ分の位相前進に起因する追加パルスを補償する。この動作について、図１６Ｆを参照してさらに詳細に説明する。
【０１１２】
図１６Ｄは、位相前進信号（「Ａｄｖ０．５ＵＩ」）に応答して、グリッチのない０．５ＵＩ位相前進を提供するクロック位相シフト回路の実施形態を示す。示されるように、回路は、ビットレート受信クロック（ＲＣＫ８［ｉ］）の立ち上がりエッジおよび立ち下がりエッジ（ポジティブエッジおよびネガティブエッジ）のそれぞれによりクロック制御される、リング結合された差動エッジトリガフリップフロップ対８４１、８４３を含む。ポジティブエッジトリガフリップフロップ８４１の反転出力および非反転出力は、ネガティブエッジトリガフリップフロップ８４３の対応する反転入力および非反転入力に結合され、その一方で、ネガティブエッジトリガフリップフロップ８４３の反転出力および非反転出力は、ポジティブエッジトリガフリップフロップ８４１の非反転入力および反転入力にクロス結合される。この構成により、ポジティブエッジトリガフリップフロップ８４１のポジティブ（非反転）出力およびネガティブ（反転）出力は、ビットレートクロック（ＲＣＫ８［ｉ］）の各立ち上がりエッジに応答して遷移し、２ビット時間毎に１回循環し、その一方で、ネガティブエッジトリガフリップフロップ８４３のポジティブ出力またはネガティブ出力は、ビットレートクロックの各立ち下がりエッジに応答して遷移し、２ビット時間毎に１回循環するが、ポジティブエッジトリガフリップフロップ８４１の出力に対して直交関係（半ＵＩオフセット）にある。したがって、図１６Ｅに示されるように、２ＵＩ間隔（すなわち、半ビットレートクロックサイクルの１サイクル）内で半ＵＩ位相オフセットで位相分布する４つの半ビットレートクロック信号：ｉＣＫ＿ＰおよびｉＣＫ＿Ｎ（ポジティブおよびネガティブ「同相」クロック）ならびにｑＣＫ＿ＰおよびｑＣＫ＿Ｎ（ポジティブおよびネガティブ「直交」クロック）が生成される。図１６Ｄに示されるように、４つのクロック信号は、マルチプレクサ８４７の入力ポートに供給され、２ビット（モジュロ４）カウンタ８４５の出力に応答して、出力されるものが選択される。一実施形態では、カウンタ８４５は、グレーコードカウンタ（例えば、カウントシーケンス＝００，０１，１１，１０，００，・・・）として実施されて、出力グリッチを回避し、位相前進信号（「Ａｄｖ０．５ＵＩ」）に応答して前進して、順番に異なるクロック信号を選択して、ある半ビットレートクロックから次への位相跳躍を行う。この動作により、かつ各位相跳躍をある半ビットレートクロックから、半ビットレートクロックを半ＵＩだけ前進させたもの（すなわち、矢印８５０により示されるように、ｉＣＫ＿ＰからｑＣＫ＿Ｎ、ｑＣＫ＿ＮからｉＣＫ＿Ｎ、ｉＣＫ＿ＮからｑＣＫ＿Ｐ、および最後にｑＣＫ＿Ｐから再びｉＣＫ＿Ｐ）への跳躍に制限することにより、８５１および８５３に示されるように、最悪の場合（最短持続時間）のラントパルスの持続時間が、前進信号がいつインクリメントされようとも、少なくとも０．５ＵＩであることが保証される。したがって、すべての論理回路が０．５ＵＩ間隔のクロックエッジに決定論的に応答可能（すなわち、データレート周波数クロックによりクロック制御可能）であることを保証することにより、明確でグリッチのない回路動作が保証される。
【０１１３】
引き続き図１６Ｄを参照すると、所与の半ビットレートクロックから半ＵＩ遅延クロックに戻る０．５ＵＩ位相跳躍（すなわち、周期的タイミング較正が完了した後にライブ動作を復元することが一般に望まれるため）が、グリッチのない同じ結果をもたらさないことが分かる。すなわち、不定の持続時間のラントパルスが、位相跳躍がいつ開始されるかに応じて生成され得る。一実施形態では、そのようなラントパルスは、連続したコアクロックサイクルで実行される一続きの３つの追加の半ＵＩ位相跳躍−合計で１．５ＵＩにより、元（ＰＴＣ前）のクロック位相への復帰を行うことにより回避される。最後に、４つの０．５ＵＩ位相前進の正味結果（１つがＰＴＣ中のエッジクロックを提供し、３つがデータサンプリングクロック位相を復元する）が、結果として生成されるクロックの位相を２単位間隔だけ前進させることであるため、ビットフレームクロックの生成に使用されるカウンタ回路は、２単位間隔だけ遅延されて、メモリ側パケットフレーム化との同期を維持する。この効果は、一続きの４つの半ＵＩ位相跳躍が、相手方のメモリ側クロック（ＭＣＫ４）に対するコントローラ側クロック（ＲＣＫ４）内の２つの追加のビットタイミングエッジになることを示す図１６Ｆに概念的に示される。一実施形態では、フレームクロック遅延回路が、図３Ａの非直列化器内に設けられて、ＰＴＣモード終了時にフレームクロック信号ＲＣＫ１およびＦＣＫ１の生成に使用されるモジュロ８カウンタから２を減算し、それにより、適切なパケットフレーム境界を復元する。
【０１１４】
図１６Ｄに戻ると、位相跳躍回路の１つの結果が、半ビットレート受信クロックＲＣＫ４［ｉ］をもたらすことであることが分かる。一実施形態では、この結果は、半ビットレートクロックの立ち上がりエッジおよび立ち下がりエッジの両方に応答して、データをクロックイン／クロックアウトするように、コントローラ側直列化/非直列化回路を変更することにより達成される。一実施形態では、例えば、図４Ａおよび図４Ｂの半ビットレート直列化／非直列化回路はメモリコントローラ内に実装されて、ＭＣＫ１に代えて、位置合わせカウントにより制御されるパケットフレームクロックを適用する。
【０１１５】
図１６Ａ〜図１６Ｆについてコントローラ側受信クロックタイミングを参照して説明したが、相手方の０．５ＵＩ位相跳躍動作（および送信クロック生成回路）を実行して、送信クロック位相の周期的タイミング較正を行ってもよい。例えば、送信クロック位相を０．５ＵＩだけ位相前進させ、次に、結果として生成されるメモリ側で捕捉されるエッジサンプルを受信する（例えば、ループバックを介して）ことにより、同じインクリメント／デクリメント判断を行うことができ、この場合、エッジサンプルにより、早期メモリ側サンプリング時点が示される場合、送信クロック位相を前進させ（すなわち、データ位相を前進させ、メモリ側サンプリング時点を事実上、遅延させ）、エッジサンプルにより、晩期メモリ側サンプリング時点が示される場合、送信クロック位相をデクリメントする。同様に、ＰＴＣ終了時、送信クロックの位相を、一続きの０．５ＵＩ位相跳躍で１．５ＵＩだけ前進させて、較正前送信位相（ここではエッジドリフトに従って調整されている）を復元し得る。最後に、コントローラ側デフレーム回路を、カウント２つ分遅延させて、４つの０．５ＵＩ位相跳躍に起因する２つのタイミングエッジの追加（メモリ側タイミングに相対する）を補正し得る。
【０１１６】
低電力クロック停止モードを有するメモリシステムのシステム応用
低電力クロック停止モードを有するメモリシステムについて、メモリコントローラおよび単一のメモリ装置の文脈の中でこれまで説明してきた。そのような密に結合されたコントローラ／メモリシステムは、いくつかのモバイル用途で使用し得るが、単一のメモリコントローラ集積回路（コントローラＩＣ）は代替として、様々なアーキテクチャで配置された複数のメモリ装置（メモリＩＣ）を制御することもできる。さらに、１つまたは複数のメモリＩＣの別個の群をそれぞれ制御する複数のメモリコントローラチャネルを単一のＩＣに実装してもよく、それにより、複数のコントローラ側Ｉ／Ｏ回路および開ループメモリ側クロック分配回路にクロック信号を生成することが可能である。
【０１１７】
図１７Ａは、単一のコントローラＩＣ７５１および複数のメモリＩＣ７５５０〜７５５ｎ−１を有するクロック一時停止可能なメモリシステム７５０の実施形態を示す。図示の実施形態では、メモリ装置（まとめて７５５）は、メモリモジュール７５３（一般に、バックプレーンまたはマザーボードに着脱可能に接続するためのエッジコネクタを有し、それにより、追加のメモリモジュールが挿入された場合にメモリ容量の拡大が可能な回路基板）上に配置され、図２Ａに示されるようなＩ／Ｏインタフェースおよび開ループクロック分配装置を個々に含む。その場合、示される各シグナリングリンク群（７５２）は、メモリコントローラとメモリ装置のそれぞれ１つとの間に点ツー点接続を含み得、専用クロックＣＡおよびデータリンクを（必要な場合には、データマスクも）含み得る。あるいは、いくつかまたはすべてのシグナリングリンクをメモリモジュールのすべてのメモリ装置に分配し得る（例えば、マルチドロップ式ですべてのメモリ装置に結合されたクロックリンクおよび／またはマルチドロップ式ですべてのメモリ装置に結合されたコマンドリンク）。さらに、各シグナリングリンクを複数のメモリ装置に結合し（例えば、データリンク［０〜Ｎ−１］が複数のメモリモジュール７５３のそれぞれの第１のメモリＩＣに結合され、データリンク［Ｎ＋１〜２Ｎ］が、メモリモジュールのそれぞれの第２のメモリＩＣに結合される等のように、データリンクがいくつかのメモリモジュールにわたってメモリ装置の一部分に結合される）、それにより、マルチドロップデータパスおよび／またはコマンドパスを確立し得る。後者の場合、所与のメモリアクセストランザクションに選択されたメモリモジュール（または同じモジュール上の２つ以上のそのような群から選択されるメモリ装置群）に応じて、追加のタイミング補償値を適用し得る。その場合、パケット、ビット、および位相の調整値を、各群に保持される別個の位置合わせレジスタセットを使用して、所与のメモリアクセストランザクションの標的であるメモリ装置群に応じて動的に切り替え得る。
【０１１８】
図１７Ｂは、この場合には、図２Ａに示されるメモリ側Ｉ／Ｏインタフェースに対応するインタフェース７７７を実施するモジュール搭載バッファＩＣ７７５を有する別のメモリシステム実施形態を示す。この構成により、クロック停止低電力モードを有する高速シグナリングシステムをメモリコントローラ７７１とバッファＩＣ７７５との間に実施し、より従来的なインタフェース７２９を、バッファＩＣと、メモリモジュール７７３上にバッファＩＣ７７５に沿って配置されたメモリ装置７８１０〜７８１Ｎ−１、７８２０〜７８２Ｎ−１との間に実施し得る。一実施形態では、例えば、コマンド／アドレス値は、バンクアドレス、行アドレス、および列アドレスのみならず、バッファＩＣ７７５がコマンドを転送すべき個々のメモリ装置７８１、７８２（またはメモリ装置群）のアドレスも含む。バッファＩＣは、最終的にアドレス選択されたメモリ装置（またはメモリ装置群）に分配する入力書き込みデータおよびメモリコントローラに転送すべき読み取りデータを入れるためのデータ入出力バッファをさらに含み得る。一例として、一実施形態では、バッファＩＣ−メモリ装置インタフェースは、リンクの保全性を維持するためにオンメモリＰＬＬ／ＤＬＬを必要としない比較的遅いシグナリングインタフェースであり、または標準のストローブに基づくシグナリングを使用して実施してもよい。
【０１１９】
階層電力モード
一実施形態では、上述したメソクロナス低電力シグナリングシステムは、アクティブ動作モード（アクティブモード）および上述したクロック停止低電力モードに加えて、２つの他の電力モード：信号送信器および受信器内のバイアス電流源が遮断される電力者遮断モードおよびコントローラ側ＰＬＬ（図２Ａの要素１６１）を、コントローラコア内の論理回路と共にディセーブルし得る大規模電力遮断モードをサポートする。すべての電力モード間の遷移は、コントローラコアからのコマンドトラフィックに応答して、上述した電力モード論理により管理し得る。電力モード（本明細書では電力状態とも呼ばれる）を使用して、終了待ち時間の増大と引き替えに消費電力の低減を得る。以下の表（表１）に、アクティブモード（Ｐ４）ならびに３つの低電力モードを示して、一実施態様でのメモリコントローラ電力状態性能をまとめる。
【０１２０】
【表１】
0005627603.tif 000002
【０１２１】
示されるように、Ｐ４（アクティブ）モードでは、４．３ＧＢ／ｓ（ギガバイト毎秒）ＤＱ帯域幅が１１４．７ｍＷ（３．３ｍＷ／Ｇｂ／ｓ）で提供される。Ｐ３モードでは、クロック分配は、上述したように一時停止され、ＤＱ出力ドライバ、入力増幅器、およびデータサンプラをさらにディセーブルし得る。Ｐ２モードでは、すべての送受信器がディセーブルされ（クロック送信回路およびクロック受信回路を含む）、クロック乗算器のみがアクティブである。Ｐ１モードでは、漏れ電力のみが消費される。各電力状態の開始待ち時間をプログラム可能にし（最小のゼロ並列（ＰＣＫ１）クロックサイクルで）、状態遷移のフロー制御の増強を提供し得る。高速電力状態遷移時間により、ピーク帯域幅が必要ない場合、バースト転送を効率的に使用することが可能である。メモリアクセスポリシーおよびトラフィックプロファイルの詳細により、電力状態の利用および最大効率が決まる。上述したように、コントローラ−メモリシグナリングインタフェースがアイドルの場合、ルートにおけるクロック分配を同期して一時停止させ、メモリコントローラおよびメモリ装置の両方内で下流回路を正確に停止し、上記表に示される高速電力状態遷移時間を可能にすることにより、電力が節減される。
【０１２２】
異なる電力モード間の遷移は、例えば、トランザクションキュー１０９の状態（空か、もしくは入っているか）および／またはホストプロセッサもしくはホストコントローラからの明示的な電力関連制御信号に基づいて図１Ａの電力モード論理１１１により管理し得る。例えば、図１８Ａに示される一実施形態では、電力モード論理１１１は、メモリアクセス要求のない時間が増大するにつれて、漸進的に低い電力モードに−アクティブ（Ｐ４）からクロック停止（Ｐ３）、電力遮断（Ｐ２）、そして大規模電力遮断（Ｐ１）に遷移する状態機械を含む。したがって、トランザクションキューが最初に空であり、最後にキューから出されたトランザクションが完了した（すなわち、トランザクションに関連するすべてのＩ／Ｏ動作が完了した）場合、電力モード論理は、アクティブ状態からアイドル状態に遷移し、クロックイネーブル信号をデアサートして、システムクロック信号およびコントローラＩ／Ｏクロック信号を一時停止させる。その後、トランザクションキューが、所定またはプログラムされた数のメモリアクセスサイクルにわたって空のままであり続ける場合、電力モード論理は、アイドル状態から電力遮断状態に遷移し、メモリ装置およびメモリコントローラ内の送信器および受信器をディセーブルする信号を発行する。トランザクションキューが、電力遮断モードＰ２になった後、長い時間間隔（例えば、プログラム可能な別の時間間隔）にわたって空のままである場合、またはさらなる低電力モードになる明示的なホストコマンドを受信する場合、電力モード論理は、コントローラ側コア内の回路（例えば、ホスト側データパスとインタフェースする回路）と共に、コントローラ側ＰＬＬの動作をディセーブルすることにより、大規模電力遮断状態になり得る。コントローラコアクロックがＰＬＬにより生成される実施形態では、代替のクロックソースを、ホストプロセッサまたはホストコントローラからの任意のメモリアクセス要求またはウェイクアップ／パワーアップコマンドに応答するために必要な回路に切り替え可能に設け得る（例えば、マルチプレクサを介して）ことに留意する。図２Ａに示されるようにＰＣＫ８信号を分周することによりコントローラコアクロックを生成することに代えて、基準クロック信号または復元された基準クロック信号をコントローラコアクロックとして使用することができ、それにより、ＰＬＬが遮断された後であっても、コアクロックのクロック可用性を保証する。
【０１２３】
引き続き図１８Ａを参照すると、メモリアクセス要求または明示的なウェイクアップ／パワーアップコマンドがホストコントローラ／ホストプロセッサから受信された場合、電力モード論理は、これに応答して、コントローラ側ＰＬＬおよび他のディセーブルされていたコントローラコア回路をオンにする。その後、電力モード論理は、コントローラ側およびメモリ側のクロック、コマンド／アドレス送信器、および相手方のメモリ側受信器をイネーブルすることにより、システムを電力遮断状態Ｐ２からクロック停止状態Ｐ３に遷移させる。最後に、電力モード論理は、システムクロック信号およびコントローラＩ／Ｏクロック信号を切り替えられるようにすることにより、システムをクロック停止（アイドル）状態Ｐ３からアクティブ状態Ｐ４に遷移させる。
【０１２４】
図１８Ｂは、図２Ａの実施形態に対応するメモリシステムアーキテクチャ７９０を示すが、Ｐ４、Ｐ３、およびＰ２電力モードでシャットダウンされた回路に関してさらに詳細に示す。まず、メモリ側Ｉ／Ｏ回路７９３を参照すると、読み取りイネーブル信号および書き込みイネーブル信号（ＥｎＲおよびＥｎＷ）が、メモリコアから提供されて、実行中の列動作に従ってデータ線２３１およびマスク線２４１の信号受信器（２３４）ならびにデータ線２３１の信号送信器２３３のイネーブルおよびディセーブルを選択的に行う。すなわち、書き込みデータまたは書き込みマスクを受信しないアクティブモード（Ｐ４）でのメモリ読み取り動作中、メモリコア論理内の要求復号化論理は、書き込みイネーブル信号（ＥｎＷ）をローにして、書き込みデータ受信器および書き込みマスク受信器内の電力消費回路を遮断し、それにより、消費電力を低減する。同様に、読み取りデータが送信されないアクティブモードでのメモリ書き込み動作中、メモリコア論理は読み取りイネーブル信号（ＥｎＲ）をローにして、読み取りデータ送信器内の電力消費回路を遮断する。
【０１２５】
一実施形態では、Ｉ／Ｏ増幅器の遮断は、データ信号を受信／送信するために設けられる差動またはシングルエンド受信器／送信器内の１つまたは複数のバイアス電流源をディセーブルすることにより行われる。図１８Ｃは、そのような受信器または送信器の部分を形成し得る差動増幅器８１０の例示的な実施形態を示す。示されるように、増幅器８１０は、受動または能動プルアップ負荷８１１と、差動結合された入力トランジスタ８１３ａ／８１３ｂと、バイアス電流源８１５と、遮断トランジスタ８１７とを含む。書き込みイネーブルまたは読み取りイネーブル信号（全体的に「Ｅｎ」）がハイになる場合、遮断トランジスタ８１７は導通状態に切り替えられて、バイアス電流源８１５内にＤＣバイアス電流を流せるようにし、それにより、差動増幅器の出力ノード（ｏｕｔＰ、ｏｕｔＮ）を、増幅器の入力ノードｉｎＰおよびｉｎＮに適用される差動信号に従って差動的にハイおよびローにすることができる。イネーブル信号がローになった場合、遮断トランジスタ８１７は実質的に非導通状態に切り替えられ、ＤＣバイアス電流の流れをディセーブルし、したがって、増幅器を低電力状態にする。代替の実施形態では、遮断は、遮断トランジスタまたは他の切り替え要素を、限定ではなく例として、バイアス電流源８１５内が挙げられる、増幅器８１０内の他の場所に含めることにより行い得る。
【０１２６】
図１８Ｂに示される信号受信器２３４および送信器２３３が、入出力信号の増幅以上のことを行ってもよく、したがって、図１８Ｃの例示的な増幅器に加えて（または代替として）回路を含み得ることに留意されたい。例えば、受信回路および／または送信回路（「受信器／送信器」）は、レベルシフト動作（例えば、シグナリングリンク上で搬送される小振幅信号と、非直列化回路に提供されるか、または直列化回路から受信される論理レベル信号との間のでシフト）をさらに実行し得る。受信器／送信器は、タイミングのとられたサンプリング／出力動作の実行、電圧増幅／減衰ありもしくはなしの電流駆動の増大、スルーレート制御の提供、電圧調整の供給等を行い得る。これら動作のうちの任意またはすべての動作は、安定状態（「ＤＣ」）電流源またはイネーブル信号に応答して素早くディセーブルおよびイネーブル（オンオフ）を行うことができる他の電力消費回路を使用し得る。
【０１２７】
図１８Ｄは、メモリ書き込み要求およびメモリ読み取り要求のそれぞれの入力に応答して、書き込みイネーブル信号および読み取りイネーブル信号（ＥｎＷおよびＥｎＲ）のコマンドに基づくアサーションを示すタイミング図である。メモリ側Ｉ／Ｏクロック信号（ＭＣＫ４）、コマンド／アドレス信号、データマスク、およびデータ読み／書き信号はすべて、図１２Ａ〜図１２Ｃを参照して上述したような全体的なタイミング関係を有する。示される特定のコマンドシーケンスでは、バンクアドレス（Ｂａ）および列アドレス（Ｃａ）を含む列書き込みコマンド（ＷＲ）が、時間８２１において、メモリ装置内で受信され、対応する書き込みデータが、後に、所定の時間ｔＲＷＤにおいて到着する。要求復号化論理は、書き込みコマンドに応答して、書き込みイネーブル間隔（ｔＷＲ−ＥＮＷ）が経過した後、書き込みイネーブル信号（ＥｎＷ）をハイにし、それにより、書き込みデータ入力前にデータ入力受信器（すなわち、書き込みデータ受信器およびデータマスク受信器）が動作できるようにし、受信器が安定化する時間ｔＥＮＷ−Ｄを提供する。書き込みデータを受信した後、続く書き込み要求が受信されず、したがって、すぐに続く（すなわち、連続する）書き込みデータ受信がスケジュールされない場合、要求復号化論理は、時間間隔ｔＤ−ＥＮＷ後に書き込みイネーブル信号をデアサートして、データ入力受信器を低電力状態に戻し得る。特定の時間間隔が、単に例として示され、異なるｔＷＲＤ、ＴＷＲ−ＥＮＷ、ｔＥＮＷ−Ｄ、およびｔＤ−ＥＮＷ間隔を代替の実施形態において実施し得ることに留意する。
【０１２８】
引き続き図１８Ｄを参照すると、バンクアドレス（Ｂａ）および列アドレス（Ｃａ）を含む列読み取りコマンド（ＲＤ）が、時間８２３において、メモリ装置内で受信され、対応する読み取りデータは、後に、所定の時間ｔＣＬにおいて出力される。要求復号化論理は、読み取りコマンドに応答して、読み取りイネーブル間隔（ｔＲＤ−ＥＮＲ）が経過した後、読み取りイネーブル信号（ＥｎＲ）をハイにし、それにより、読み取りデータ送信前にデータ出力送信器（すなわち、読み取りデータ送信器）が動作できるようにし、送信器が安定化する時間ｔＥＮＲ−Ｑを提供する。読み取りデータを受信した後、続く読み取り動作が受信されず、したがって、すぐに続く（すなわち、連続する）読み取りデータ送信がスケジュールされない場合、要求復号化論理は、時間間隔ｔＱ−ＥＮＲ後に読み取りイネーブル信号をデアサートして、データ出力送信器を低電力状態に戻し得る。特定の時間間隔が、単に例として示され、異なるｔＣＬ、ｔＲＤ−ＥＮＲ、ｔＥＮＲ−Ｑ、およびｔＱ−ＥＮＲ間隔を代替の実施形態において実施し得ることに留意する。
【０１２９】
図１８Ｂに戻ると、トランザクションキューが、クロック停止低電力モードＰ３（すなわち、アイドルモード）に遷移した後に引き続き空のままであると判断された場合、電力遮断信号またはコマンド（ＰＤ）が、コントローラコア内の電力モード論理によりアサートされる。電力遮断信号は、電力モードドライバ７９５、リンク（ＰＭ［１］）、および受信器７９７を介してメモリ装置に転送され、受信器７９７内のイネーブル論理回路７９９内で受信され、受信に応答して、イネーブル論理回路７９９はコマンドイネーブル信号ＥｎＣＫ／ＣＡをローにする。コマンドイネーブル信号は入力受信器２２３ａ／２２３ｂ、システムクロックインタフェース２２１、およびコマンド／アドレスインタフェース２４３内に供給され、したがって、ローになった場合、対応するクロックの入力受信器およびコマンド／アドレスリンクをディセーブルして、本明細書では電力遮断モードＰ２と呼ばれるさらなる低電力状態を確立する。
【０１３０】
図１８Ｅは、電力遮断モードの開始および終了を示すタイミング図であり、終了はメモリ書き込み要求によりトリガする。示されるように、最後のコマンドメモリアクセス要求（ＯＰ）が、時間８３３から始まって受信され、クロック停止低電力モードに入る前の間隔ｔＣＡ（ＯＰ）−ＣＫ中に（すなわち、クロックサイクル３２において）処理される。上述したように、ｔＣＡ（ＯＰ）−ＣＫ間隔は異なるコマンドで異なってもよく、トランザクションキューから出された最後のメモリアクセス要求を完了するために必要な時間（すなわち、完了するための供給クロックエッジ数）を表す。メモリ読み取り動作は、例えば、行プレチャージコマンドよりも終了までにより多数のクロック数を必要とし得る。
【０１３１】
トランザクションキューが、クロック停止後、所定またはプログラムされた時間間隔（ｔＣＫ−ＰＭ）にわたって空のままであり続けた場合、コントローラ側電力モード論理は電力遮断信号（ＰＤ）をアサートし、その結果、短時間後（すなわち、遅延ｔＰＭ−ＥＮ後）に、コマンドイネーブル信号ＥｎＣｋ／ＣＡがデアサートされ、それにより、システムクロックの入力受信器およびコマンド／アドレスリンクをディセーブルし、電力遮断モードを確立する。
【０１３２】
電力遮断モード（Ｐ２）が代替または追加として、コマンド／アドレスパスを介して送信されるコマンドに応答してもよいことに留意されたい。そのような構成では、Ｐ４またはＰ３モードである間に他の動作を示す１つまたは複数のコマンドと共に、電力遮断制御を含めることができる（例えば、１つまたは複数の埋め込みビットとして）。コマンド経路上で受信するコマンドを介して電力遮断モードになった後、電力遮断信号を使用して、コマンドパスおよびクロック信号受信器の再イネーブルをトリガし、それにより、クロック停止モード（Ｐ３）への再遷移を行う。
【０１３３】
新しいメモリアクセス要求が、コントローラ側トランザクションキュー内に入った場合、電力モード論理は、電力遮断信号をローにして、電力遮断モードからクロック停止モード（すなわち、Ｐ２からＰ３）に遷移できるようにする。メモリ側イネーブル論理（図１８Ｂの７９９）は、電力遮断信号のデアサートに応答して、短時間後（すなわち、間隔ｔＰＭ−ＥＮ後）、コマンドイネーブル信号をハイにし、クロックの入力受信器およびコマンド／アドレスリンクをイネーブルし、それにより、アクティブモードに戻すためにメモリ装置を準備する。したがって、コマンドイネーブル信号がハイになってから時間間隔（ｔＥＮ−ＣＫ）後、システムクロックは、メモリ装置のクロック停止モードからアクティブモード（Ｐ３からＰ４）への遷移を再開する。その後間もなく、アクティブモードへの復帰をトリガするメモリアクセス要求が、コマンドパスを介してメモリ装置内で受信され、その後、所定の時間後、対応するデータが受信される。図示の特定の実施形態では、メモリアクセス要求は、書き込みイネーブル信号がアサートされて、書き込みデータ受信器の入力増幅器が、示された時間において書き込みデータを受信できるようにするような列書き込み要求である。メモリアクセス要求は、代替として、図１８Ｄに示されるように、列読み取り要求（この場合、読み取りイネーブル信号は、時間ｔＲＤ−ＥＮＲ後にハイになり、読み取りデータ増幅器の動作をイネーブルする）または行アクセス要求であってもよい。
【０１３４】
図１８Ａ〜図１８Ｅを参照して説明された電力モード遷移およびサポート回路を考慮して、電力モード制御のさらなる改良を提供し得ることに留意されたい。例えば、システムクロックの入力受信器およびコマンド／アドレスリンクは、単一の制御信号によりイネーブルされるものとして示されるが、代替の実施形態では、別個のイネーブル信号をリンクに対して設け、それにより、一方のリンクを他方のリンクの前または後にディセーブル／イネーブルし、または互いに独立してリンクをイネーブルすることが可能であり得る。さらに、特にクロックバッファ２２９および２２７がかなりの電流を消費する回路（例えば、電流モード論理）により実施される場合、クロックリンクの入力受信器をイネーブルするために適用される信号（または１つもしくは複数の追加のイネーブル信号）を、さらにクロックバッファ２２９および２２７に供給し得る。さらに、電力モード信号は、専用リンクを介して供給されるものとして示されるが、代替として、電力遮断信号は、共有リンクを介して送信して（例えば、図２に示される側波帯リンクに時間多重化して）、ピン数を低減し得る。コントローラ側回路内に、電力遮断信号をコントローラコアクロック信号または別のコントローラ側タイミング信号と同期させる論理回路を設けてもよい。さらに、図１８Ｂには特に示されていないが、追加のイネーブル信号を提供して、実行中の動作および電力モードに従ってコントローラ側の送信回路および受信回路を選択的にイネーブルしてもよい。例えば、読み取りイネーブル信号および書き込みイネーブル信号（ＥｎＲ、ＥｎＷ）に対応する信号を、コントローラコア論理からデータ受信器およびデータ／マスク送信回路（例えば、図１８Ｂの要素１８８、１８７）に提供して、メモリ読み取り動作中にデータ／マスク送信器をディセーブルし（かつデータ受信器をイネーブルし）、メモリ書き込み動作中にデータ受信器をディセーブル（かつデータ／マスク送信器をイネーブル）し得る。電力遮断信号は、コマンド／アドレス直列化２０７内のコマンド／アドレス送信器、任意のクロック送信器１７５、およびオンチップクロック分配回路１７３を選択的にイネーブルし、それにより、メモリコントローラ内の電力遮断モード（Ｐ２）をイネーブルし、クロック停止動作自体に加えて、節電を提供するために使用することもできる。コントローラ側読み取りイネーブル／書き込みイネーブル信号および電力遮断信号のタイミングは一般に、図１８Ｄおよび図１８Ｅにおいて相手方であるメモリ側信号について示されるタイミングに対応する。
【０１３５】
上記選択肢および代替に加えて、クロック停止モードから電力遮断モードに遷移する前に発生すべきｔＣＫ−ＰＭ時間間隔は、システム動作ポリシーまたは用途要件に従ってプログラム可能に選択し得る（例えば、コントローラ側電力モード論理内のレジスタ内にプログラムし得る）。より一般には、図１８Ｄおよび図１８Ｅに示されるすべてのタイミング間隔は、単なる例として提供され、必ずしも原寸に比例せず、動作要件を満たすために必要に応じて変更し得る。
【０１３６】
物理的な実施形態の電子表現
本明細書において開示される様々な集積回路、ダイ、およびパッケージを、コンピュータ支援設計ツールを使用して説明し得、挙動特徴、レジスタ転送特徴、論理構成要素特徴、トランジスタレイアウトジオメトリック特徴、および／または他の特徴に関して、様々なコンピュータ可読媒体に具現されるデータおよび／または命令として表現（または表）され得ることに留意されたい。
【０１３７】
１つまたは複数のコンピュータ可読媒体を介してコンピュータシステム内で受信された場合、上記回路のそのようなデータおよび／または命令に基づく表現は、そのような回路の物理的発現の表現またはイメージを生成するネットリスト生成プログラム、配置配線プログラム等が挙げられるが、これらに限定されない１つまたは複数の他のコンピュータプログラムと併せて、コンピュータシステム内の処理エンティティ（例えば、１つまたは複数のプロセッサ）により処理し得る。そのような表現またはイメージはその後、例えば、装置組立プロセスにおいて回路の様々な構成要素を形成するために使用される１つまたは複数のマスクの生成を可能にすることにより、装置の組立に使用し得る。
【０１３８】
上記説明および添付図面において、本発明の完全な理解を提供するために、特定の用語および図面記号を記した。場合によっては、用語および記号は、本発明を実施するために必要ない特定の詳細を暗示し得る。例えば、任意の特定の数のビット、信号パス幅、シグナリング周波数、動作周波数、構成要素回路、または構成要素装置等は、代替の実施形態では、上述したものと異なってもよい。また場合によっては、周知の回路および装置は、本発明を不必要に曖昧にしないために、ブロック図の形態で示される。さらに、回路要素またはブロックの相互接続は、バスまたは単一の信号線として示すことができる。各バスは、代替として単一の信号線であってもよく、単一の信号線のそれぞれが、代替としてバスであってもよい。シングルエンドとして示され説明される信号およびシグナリングパスは、差動であってもよく、またはこの逆であってもよい。信号駆動回路は、信号駆動回路が、信号駆動回路と信号受信回路との間に結合される信号線上の信号をアサート（または状況により明示的に表明または示される場合、デアサート）する場合、信号を信号受信回路に「出力」すると言われる。表現「タイミング信号」は、本明細書では、集積回路装置内の１つまたは複数の動作のタイミングを制御する信号を指すために使用され、クロック信号、ストローブ信号等を含む。「クロック信号」は、本明細書では、１つまたは複数の集積回路装置上の回路間で動作を調整するために使用される周期的タイミング信号を指すために使用され、自励発振信号およびゲート（すなわち、一時停止または停止が可能な）発振信号の両方を含む。「ストリーブ信号」は、本明細書では、遷移して、ストローブ中である装置または回路への入力にデータが存在することを示し、したがって、バーストデータ送信中に周期性を示し得るが、（パーク状態からの遷移または他の制限されたプリアンブルもしくはポストアンブル遷移を除く）、データ送信がない場合、安定状態に留まるタイミング信号を指すために使用される。用語「結合」は、本明細書では、直接接続ならびに１つまたは複数の介在回路または構造を通しての接続を表現するために使用される。集積回路素子の「プログラム」は、例えば、ホスト命令に応答して、制御値を装置内のレジスタもしくは他の記憶回路にロードし、それにより、装置の動作態様を制御すること、ワンタイムプログラミング動作（例えば、装置製造中での構成回路内のフューズを飛ばすこと）を通して装置構成を確立もしくは装置の動作態様を制御すること、および／または装置の１つもしくは複数の選択されたピンもしくは他の接触構造を基準電圧線に接続して（ストラッピングとも呼ばれる）、特定の装置構成もしくは装置の動作態様を確立することを含み得るが、これらに限定されない。用語「例示的な」および「実施形態」は、好ましさまたは要件ではなく例を表すために使用される。
【０１３９】
本発明について、本発明の特定の実施形態を参照して説明したが、広義の主旨および範囲から逸脱せずに、様々な変形および変更を行い得ることが明らかであろう。例えば、任意の実施形態の特徴または態様を、少なくとも実施可能な場合、他の任意の実施形態と組み合わせて、または相手方の特徴もしくは態様に代えて適用し得る。したがって、本明細書および図面は、限定的な意味ではなくむしろ例示的な意味で考えられるべきである。
【図１Ａ】
0005627603.tif 000003
【図１Ｂ】
0005627603.tif 000004
【図１Ｃ】
0005627603.tif 000005
【図１Ｄ】
0005627603.tif 000006
【図２Ａ】
0005627603.tif 000007
【図２Ｂ】
0005627603.tif 000008
【図３Ａ】
0005627603.tif 000009
【図３Ｂ】
0005627603.tif 000010
【図３Ｃ】
0005627603.tif 000011
【図３Ｄ】
0005627603.tif 000012
【図３Ｅ】
0005627603.tif 000013
【図３Ｆ】
0005627603.tif 000014
【図３Ｇ】
0005627603.tif 000015
【図３Ｈ】
0005627603.tif 000016
【図４Ａ】
0005627603.tif 000017
【図４Ｂ】
0005627603.tif 000018
【図５Ａ】
0005627603.tif 000019
【図５Ｂ】
0005627603.tif 000020
【図５Ｃ】
0005627603.tif 000021
【図５Ｄ】
0005627603.tif 000022
【図６Ａ】
0005627603.tif 000023
【図６Ｂ】
0005627603.tif 000024
【図６Ｃ】
0005627603.tif 000025
【図７Ａ】
0005627603.tif 000026
【図７Ｂ】
0005627603.tif 000027
【図８Ａ】
0005627603.tif 000028
【図８Ｂ】
0005627603.tif 000029
【図８Ｃ】
0005627603.tif 000030
【図９Ａ】
0005627603.tif 000031
【図９Ｂ】
0005627603.tif 000032
【図１０Ａ】
0005627603.tif 000033
【図１０Ｂ】
0005627603.tif 000034
【図１０Ｃ】
0005627603.tif 000035
【図１１Ａ】
0005627603.tif 000036
【図１１Ｂ】
0005627603.tif 000037
【図１１Ｃ】
0005627603.tif 000038
【図１１Ｄ】
0005627603.tif 000039
【図１１Ｅ】
0005627603.tif 000040
【図１１Ｆ】
0005627603.tif 000041
【図１１Ｇ】
0005627603.tif 000042
【図１２Ａ】
0005627603.tif 000043
【図１２Ｂ】
0005627603.tif 000044
【図１２Ｃ】
0005627603.tif 000045
【図１３】
0005627603.tif 000046
【図１４Ａ】
0005627603.tif 000047
【図１４Ｂ】
0005627603.tif 000048
【図１４Ｃ】
0005627603.tif 000049
【図１５Ａ】
0005627603.tif 000050
【図１５Ｂ】
0005627603.tif 000051
【図１６Ａ】
0005627603.tif 000052
【図１６Ｂ】
0005627603.tif 000053
【図１６Ｃ】
0005627603.tif 000054
【図１６Ｄ】
0005627603.tif 000055
【図１６Ｅ】
0005627603.tif 000056
【図１６Ｆ】
0005627603.tif 000057
【図１７Ａ】
0005627603.tif 000058
【図１７Ｂ】
0005627603.tif 000059
【図１８Ａ】
0005627603.tif 000060
【図１８Ｂ】
0005627603.tif 000061
【図１８Ｃ】
0005627603.tif 000062
【図１８Ｄ】
0005627603.tif 000063
【図１８Ｅ】
0005627603.tif 000064