(57)【要約】データ処理システムは、メモリチャネルと、メモリチャネルに接続されたデータプロセッサと、を含む。データプロセッサは、メモリチャネルに接続されたメモリコントローラを含み、ダブルデータレートメモリの少なくとも１つのランクにアクセスするように構成されている。メモリコントローラは、受信したメモリアクセス要求を記憶するコマンドキューと、コマンドキューからメモリアクセス要求を抽出して、メモリアクセス要求をメモリチャネルに提供するアービタと、を含む。メモリアクセス要求は、所定の基準に基づいて、及び、保留中の動作を静止させるモードレジスタアクセス要求に応じて選択される。また、メモリコントローラは、モードレジスタアクセス要求に応じて、メモリバスに対する少なくとも１つの対応するモードレジスタセットコマンドを生成するモードレジスタアクセスコントローラを含む。そして、メモリコントローラは、メモリバスの制御をアービタに解放する。【選択図】図５
2019536136.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システム（１００）であって、
モードレジスタを含むダブルデータレートメモリの少なくとも１つのランク（１３４／１３６／１３８）を有するメモリチャネル（１３０）と、
前記メモリチャネル（１３０）に接続されたメモリコントローラ（５００）であって、前記ダブルデータレートメモリの少なくとも１つのランクにアクセスするように構成されたメモリコントローラ（５００）を有するデータプロセッサ（１１０）と、を備え、
前記メモリコントローラは、
受信したメモリアクセス要求を記憶するコマンドキュー（５２０）と、
所定の基準に基づいて前記コマンドキュー（５２０）からメモリアクセス要求を抽出し、前記メモリアクセス要求を前記メモリチャネルに提供し、モードレジスタアクセス要求に応じて、保留中の動作を静止させる（６０６）アービタ（５３８）と、
前記モードレジスタアクセス要求に応じて、少なくとも１つの対応するモードレジスタセットコマンドをメモリバスに対して生成した後に、前記メモリバスの制御を前記アービタ（５３８）に解放するモードレジスタアクセスコントローラ（５６２）と、を備える、
データ処理システム（１００）。
【請求項２】
前記モードレジスタセットコマンドを生成すること（６０８）を備え、
前記モードレジスタセットコマンドは、ＤＲＡＭモードレジスタ書き込みコマンド（６０８）シーケンス、レジスタ制御ワードコマンドシーケンス及びデータバッファ制御ワード書き込みコマンド（７１４）シーケンスのうち１つである、
請求項１のデータ処理システム（１００）。
【請求項３】
前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンスを、ＤＤＲメモリの少なくとも１つのランク内の複数のＤＲＡＭに分配すること（６１０）を備える、
請求項２のデータ処理システム（１００）。
【請求項４】
前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンスを、ダブルデータレートメモリの前記少なくとも１つのランク（１３４／１３６／１３８）に生成すること（６０８）を備え、
前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンスは、前記ＤＤＲメモリの少なくとも１つのランク（１３４／１３６／１３８）に関連する電圧基準パラメータ、タイミングパラメータ及び所定の代替デバイスパラメータのうち少なくとも１つが更新されるのを可能にする、
請求項３のデータ処理システム（１００）。
【請求項５】
前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンスの少なくとも一部を、前記ダブルデータレートメモリの少なくとも１つのランク（１３４／１３６／１３８）のＤＲＡＭモードレジスタ６で受信することと、
後続のＤＲＡＭモードレジスタ書き込みコマンドシーケンスを実行する前に所定数の電圧基準メモリクロックサイクルを待機することと（６１２）、を備える、
請求項４のデータ処理システム（１００）。
【請求項６】
後続のＤＲＡＭモードレジスタ書き込みコマンドシーケンスを前記ダブルデータレートメモリの少なくとも１つのランク（１３４／１３６／１３８）で受信することと（６１２）、前記後続のＤＲＡＭモードレジスタ書き込みコマンドシーケンスを受信したこと（６１２）に応じて、前記電圧基準パラメータの更新を無効にすることと（８１２）、を備える、
請求項４のデータ処理システム（１００）。
【請求項７】
前記データバッファ制御ワード書き込みコマンド（７１４）シーケンスを生成したことに応じて、前記データバッファ制御ワード書き込みコマンド（７１４）シーケンスを、前記ダブルデータレートメモリの少なくとも１つのランクの少なくとも１つのデータバッファに分配する（９０８）、
請求項２のデータ処理システム（１００）。
【請求項８】
前記データバッファ制御ワード書き込みコマンド（７１４）シーケンスは、前記ダブルデータレートメモリの少なくとも１つのランク（９０８）の少なくとも１つのデータバッファの初期化（７０４／７０６／７０８）後に、少なくとも１つのデータバッファパラメータ（９０８）を変更する、
請求項７のデータ処理システム（１００）。
【請求項９】
前記少なくとも１つのデータバッファパラメータは、電圧基準パラメータ、タイミング制御パラメータ（７１４／９０８／９１２）、所定の代替のバッファパラメータ及び代替のデータバッファパラメータの中から選択される、
請求項８のデータ処理システム（１００）。
【請求項１０】
前記タイミング制御パラメータは、前記ダブルデータレートメモリ（７１４）の少なくとも１つのランク（９０８）の少なくとも１つのデータバッファのタイミング制御レジスタで受信される、
請求項９のデータ処理システム（１００）。
【請求項１１】
即時モードレジスタアクセス要求に応じて、前記アービタをバイパスし、前記メモリバスに対するダイレクトモードレジスタセットコマンドを生成して、前記メモリバスの即時制御を取得する（６０２／６１０）、
請求項１のデータ処理システム（１００）。
【請求項１２】
前記メモリチャネル（１３０）は、ダブルレート（ＤＤＲ）バージョン４（ＤＤＲ４）メモリの複数のランク（１３４／１３６／１３８）を備える、
請求項１のデータ処理システム（１００）。
【請求項１３】
メモリアクセスエージェント（２１０／２２０）と、
前記メモリアクセスエージェント（２１０／２１２）に接続され、メモリシステム（１２０）に接続するように構成されたメモリコントローラ（２９２／５００）であって、前記メモリコントローラ（２９２／５００）は、受信したメモリアクセス要求を記憶するコマンドキュー（５２０）を備える、メモリコントローラ（２９２／５００）と、
前記コマンドキュー（５２０）からメモリアクセス要求を選択的に抽出し、前記メモリアクセス要求をメモリチャネルに提供し、モードレジスタアクセス要求に応じて、保留中の動作を静止させるアービタ（５３８）と、
前記モードレジスタアクセス要求に応じて、メモリバスに対する少なくとも１つの対応するモードレジスタセットコマンドを生成した後に、前記メモリバスの制御を前記アービタ（５３８）に解放するモードレジスタアクセスコントローラ（５６２）と、を備える、
データプロセッサ（１１０／２００）。
【請求項１４】
前記モードレジスタアクセスコントローラ（５６２）は、モードレジスタセットコマンド（６０８）を生成し、
前記モードレジスタセットコマンドは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）モードレジスタ書き込みコマンドシーケンス（６０８）及びバッファ制御ワード書き込みコマンドシーケンス（７１４）のうち１つである、
請求項１３のデータプロセッサ（１１０／２００）。
【請求項１５】
前記モードレジスタアクセスコントローラは、前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンス（６０８）を、ダブルデータレートメモリ（６１０）の少なくとも１つのランクの複数のＤＲＡＭに分配する、
請求項１４のデータプロセッサ（１００／２００）。
【請求項１６】
前記モードレジスタアクセスコントローラ（５６２）は、前記ダブルデータレートメモリの少なくとも１つのランク（１３４／１３６／１３８）に対する前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンスを生成し（６０８）、
前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンスは、電圧パラメータを更新し、
前記電圧パラメータは、前記ダブルデータレートメモリの少なくとも１つのランク（１３４／１３６／１３８）に関連付けられている、
請求項１５のデータプロセッサ（１１０／２００）。
【請求項１７】
前記モードレジスタアクセスコントローラ（５６２）は、
前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンス（６１４）の少なくとも一部を、前記ダブルデータレートメモリの少なくとも１つのランク（１３４／１３６／１３８）のＤＲＡＭモードレジスタ６で生成し、
後続のＤＲＡＭモードレジスタ書き込みコマンドシーケンスを実行する前に所定数の基準電圧メモリクロックサイクルを待機する（６１２）、
請求項１６のデータプロセッサ（１１０／２００）。
【請求項１８】
前記メモリバスは、前記後続のＤＲＡＭモードレジスタ書き込みコマンドシーケンス（６１４）を前記ダブルデータレートメモリの少なくとも１つのランク（１３４／１３６／１３８）で受信し、前記後続のＤＲＡＭモードレジスタ書き込みコマンドを受信したことに応じて、前記電圧パラメータの更新を無効にする（８１２）、
請求項１７のデータプロセッサ（１１０／２００）。
【請求項１９】
前記バッファ制御ワード書き込みコマンド（７１４）シーケンスを生成したことに応じて、前記メモリバスは、前記バッファ制御ワード書き込みコマンド（７１４）シーケンスを、前記ダブルデータレートメモリの少なくとも１つのランクの少なくとも１つのデータバッファに分配する（９０８）、
請求項１５のデータプロセッサ（１１０／２００）。
【請求項２０】
前記モードレジスタアクセスコントローラは、少なくとも１つのパラメータを更新し、
前記少なくとも１つのパラメータは、ＤＱ基準電圧値（８１２）である、
請求項１６のデータプロセッサ（１１０／２００）。
【請求項２１】
前記モードレジスタアクセスコントローラは、即時モードレジスタアクセス要求（６０２／６１０）に応じて、前記アービタのバイパスを可能にし、前記メモリバスに対するダイレクトモードレジスタセットコマンドを生成して、前記メモリバスの即時制御を取得する、
請求項１３のデータプロセッサ（１１０／２００）。
【請求項２２】
モードレジスタアクセスコントローラ（２９２／５００）を介してメモリシステム内のダブルデータレートインタフェースをマージニング及びテストする方法（８００／９００）であって、
システム初期化後にダブルデータレート動作を生成する要求を受信することと、
ランク（８０２）の現在及び保留中のダブルデータレート動作を静止する要求を生成することと、
モードレジスタコマンドシーケンスをメモリバスで受信することと（８０６）、
前記モードレジスタコマンドシーケンスの受信に応じて、第１モードレジスタコマンドシーケンスを前記ランク（８０２）の複数のバンクに送信して、前記ランクに関連する第１パラメータの制御を取得することと、
後続のモードレジスタ（８０６）コマンドシーケンスを前記複数のバンクに送信して、前記ランクに関連する前記第１パラメータを更新することと（８１２）、を含む、
方法（８００／９００）。
【請求項２３】
待機サイクルを開始すること（８１０）を含み、
前記待機サイクルは、前記後続のモードレジスタコマンドシーケンス（８１０）の実行後に開始される所定数の基準電圧メモリクロックサイクル（６１２）である、
請求項２２の方法（８００）。
【請求項２４】
前記ランクの現在及び保留中のダブルデータレート動作の静止を解除することと、
前記ランクへの動作可能なアクセスを可能にすることと（８２２）、を含む、
請求項２２の方法（８００）。
【請求項２５】
前記後続のモードレジスタコマンドシーケンスを送信することは、
後続のモードレジスタ６書き込みコマンドを送信して、所定数の基準電圧メモリクロックサイクルの完了後に基準電圧の制御を無効にすることと、
前記後続のモードレジスタコマンドシーケンス（８２０）の受信に応じて、基準電圧メモリクロックサイクルを開始することと（６１２）、を含む、
請求項２３の方法（８００）。
【請求項２６】
前記モードレジスタアクセスコントローラが前記複数のバンクに対する前記後続のモードレジスタコマンドシーケンスを生成したことに応じて、前記モードレジスタアクセスコントローラは、前記ダブルデータレート動作に関連する多目的レジスタのコンテンツを取得し、
前記コンテンツは、関連するダブルデータレートＤＲＡＭ（１０００）の少なくとも１つの動作能力に対応する、
請求項２２の方法（８００）。
【請求項２７】
モードレジスタアクセスコントローラを介してメモリシステム内のダブルデータレートデータバッファインタフェースをマージニング及びテストする方法（９００）であって、
ダブルデータレートデータバッファの初期化後に、バッファ制御ワード書き込みコマンドシーケンスを生成する要求を受信することと（９０２）、
現在及び保留中のダブルデータレートデータバッファ動作の静止を有効にすることと（９０４）、
前記バッファ制御ワード書き込みコマンドシーケンスをダブルデータレートデータバッファに分配して、電圧パラメータ及びデータバッファタイミングパラメータのうち少なくとも１つのパラメータを変更することと（９０８）、を含む、
方法（９００）。
【請求項２８】
各バッファ制御ワード書き込みコマンドシーケンスに続く待機サイクルを開始することであって（９１０）、前記待機サイクルは、第１の所定数の待機サイクル（９１０）である、ことと、
前記データバッファタイミングパラメータの変更に応じて、第２の所定数の待機サイクルを開始することと（９１８）、を含む、
請求項２７の方法（９００）。
【請求項２９】
後続のバッファ制御ワード書き込みコマンドシーケンスを送信して、前記ダブルデータレートデータバッファの現在及び保留中のダブルデータレート動作の静止を無効にすることであって（９２０）、前記ダブルデータレートデータバッファへのアービタアクセスが有効にされる、ことを含む、
請求項２７の方法（９００）。
【請求項３０】
前記電圧パラメータは、ＤＱ基準電圧レベル（９０８／９１２）である、
請求項２７の方法（９００）。
【発明の詳細な説明】
【背景技術】
【０００１】
ダイナミックランダムアクセスメモリ（ＤＲＡＭ）チップは、サブミクロンフィーチャを有するキャパシタの大規模アレイから形成され、コンピュータシステムのメインメモリに利用されている。ＤＲＡＭは、比較的安価で高密度であることにより、大量のＤＲＡＭをデバイス毎に集積化するのを可能にする。今日販売されている殆どのＤＲＡＭチップは、半導体技術協会（ＪＥＤＥＣ：Joint Electron Devices Engineering Council）によって公表された様々なダブルデータレート（ＤＤＲ）ＤＲＡＭ規格と互換性がある。
【０００２】
一部のＤＤＲメモリチップは、温度や電圧等の動作条件の変化に合わせて特定の動作パラメータを較正するように、定期的に再較正することができる。例えば、ＤＤＲ３やＤＤＲ４では、「ＺＱキャリブレーション」として知られる出力バッファインピーダンスの定期的な再較正が可能であり、ＤＤＲ４では、「ＶＲＥＦＤＱトレーニング」として知られる内部基準電圧の定期的な再較正が可能である。さらに、ＤＲＡＭチップがデュアルインラインメモリモジュール（ＤＩＭＭ）に含まれる場合、ＤＲＡＭチップは、再較正される必要があるタイミングパラメータを有するデータバッファをオプションで含むことができる。
【０００３】
例えば、ＤＤＲ４  ＤＲＡＭチップでは、初期化中にホストＤＤＲコントローラによってＶＲＥＦＤＱ値を構成し、動作中にＶＲＥＦＤＱ値を再較正することができる。ＶＲＥＦＤＱ値は、特定のモードレジスタセットコマンドを介して構成される。ＶＲＥＦＤＱは、例えば基板の過熱や電源のドリフト等のように条件が変化した場合に、動作中に再トレーニングされることが好ましい。再トレーニングは、既存のソフトウェアメカニズムを介して行われた場合に、中断され、パフォーマンスを低下させる可能性がある。また、ＪＥＤＥＣ仕様は、ＤＤＲ４  ＤＲＡＭチップ上のＶＲＥＦＤＱ値を更新するために、マルチモードレジスタセットコマンドの特定のシーケンスを必要とし、当該シーケンス中に他のＤＲＡＭコマンドが介在するのを許可しない。現在のＪＥＤＥＣ規格では、例えばハードウェアデバッグツール等のスクリプトツールを介してシングルテストモードレジスタコマンドを利用することが困難である。
【図面の簡単な説明】
【０００４】
【図１】いくつかの実施形態による、データ処理システムのブロック図である。
【図２】図１のデータ処理システムでの使用に適したアクセラレーテッドプロセッシングユニット（ＡＰＵ：accelerated processing unit）のブロック図である。
【図３】いくつかの実施形態による、図２のＡＰＵでの使用に適したメモリコントローラ及び関連する物理インタフェース（ＰＨＹ）のブロック図である。
【図４】いくつかの実施形態による、図２のＡＰＵでの使用に適した他のメモリコントローラ及び関連するＰＨＹのブロック図である。
【図５】いくつかの実施形態による、メモリコントローラのブロック図である。
【図６】いくつかの実施形態による、モードレジスタセット書き込みコマンドを有効にするための状態遷移図である。
【図７】いくつかの実施形態による、ダブルデータレートデータバッファ動作についての状態遷移図である。
【図８】いくつかの実施形態による、図５のメモリコントローラによって使用され得るダブルデータレート動作についてのフロー図である。
【図９】いくつかの実施形態による、図５のメモリコントローラによって使用され得るデータバッファ制御動作についてのフロー図である。
【図１０】いくつかの実施形態による、図５のメモリコントローラによって使用され得る多目的レジスタのコンテンツ検索についてのフロー図である。
【図１１】いくつかの実施形態による、ある範囲の入力値に応じてＤＲＡＭの出力値をグラフィカルに表示する２次元データアイを示す図である。
【発明を実施するための形態】
【０００５】
以下の説明では、異なる図面において同じ参照番号を使用して、類似又は同一のアイテムを示している。特に断りのない限り、「接続された」という単語及びこれに関連する動詞形は、当技術分野において既知の手段による直接接続及び間接的な電気接続の両方を含む。特に断りのない限り、直接接続の説明は、適切な形態の間接的な電気接続を使用する代替の実施形態をも意味している。
【０００６】
一形態において以下に説明するように、データ処理システムは、メモリチャネルと、メモリチャネルに接続されたデータプロセッサと、を備える。データプロセッサは、メモリチャネルに接続されたメモリコントローラを含み、ダブルデータレートメモリの少なくとも１つのランクにアクセスするように構成されている。メモリコントローラは、受信したメモリアクセス要求を記憶するコマンドキューと、コマンドキューからメモリアクセス要求を抽出し、メモリアクセス要求をメモリチャネルに提供するアービタと、を含む。メモリアクセス要求は、所定の基準に基づいて、及び、保留中の動作を静止させるモードレジスタアクセス要求に応じて選択される。また、メモリコントローラは、モードレジスタアクセス要求に応じて、メモリバスに対する少なくとも１つの対応するモードレジスタセットコマンドを生成するモードレジスタアクセスコントローラを含む。そして、メモリコントローラは、メモリバスの制御をアービタに解放する。
【０００７】
別の形態では、データプロセッサは、メモリアクセスエージェントと、メモリアクセスエージェントに接続されたメモリコントローラと、を備える。メモリコントローラは、メモリシステムに接続するように構成されており、受信したメモリアクセス要求を記憶するコマンドキューと、アービタと、モードレジスタと、を含む。アービタは、モードレジスタアクセス要求に応じて、コマンドキューからメモリアクセス要求を選択的に抽出し、メモリアクセス要求をメモリチャネルに提供する。この要求は、保留中の動作を静止させるためにメモリチャネルに提供される。モードレジスタアクセスコントローラは、モードレジスタアクセス要求に応じて、メモリバスに対する少なくとも１つの対応するモードレジスタセットコマンドを生成し、次いで、メモリバスの制御をアービタに解放する。
【０００８】
さらに別の形態では、モードレジスタアクセスコントローラを介してメモリシステムのダブルデータレートインタフェースをマージニング及びテストする方法が記載されている。システム初期化の後に、ダブルデータレート動作を生成するための要求を受信する。ランクの現在及び保留中のダブルデータレート動作を静止させる要求を生成する。モードレジスタセットコマンドシーケンスをメモリバスで受信する。モードレジスタコマンドシーケンスの受信に応じて、第１モードレジスタコマンドシーケンスをランク内の複数のバンクに送信し、当該ランクに関連する第１パラメータの制御を取得する。後続のモードレジスタコマンドシーケンスを複数のバンクに送信して、当該ランクに関連する第１パラメータを更新する。
【０００９】
さらにまた別の形態では、モードレジスタアクセスコントローラを介してメモリシステムのダブルデータレートデータバッファインタフェースをマージニング及びテストする方法が記載されている。ダブルデータレートデータバッファの初期化後にバッファ制御ワード書き込みコマンドシーケンスを生成する要求を、初期化後に受信する。アービタは、現在及び保留中のダブルデータレートバッファ動作の静止を有効にする。バッファ制御ワード書き込みコマンドシーケンスを分配して、電圧パラメータ及びデータバッファタイミングパラメータのうち少なくとも１つのパラメータを変更する。
【００１０】
図１は、いくつかの実施形態による、データ処理システム１００のブロック図である。データ処理システム１００は、概して、アクセラレーテッドプロセッシングユニット（ＡＰＵ）の形態のデータプロセッサ１１０と、メモリシステム１２０と、周辺機器相互接続エクスプレス（ＰＣＩｅ）システム１５０と、ユニバーサルシリアルバス（ＵＳＢ）システム１６０と、ディスクドライブ１７０と、を含む。データプロセッサ１１０は、データ処理システム１００の中央処理装置（ＣＰＵ）として動作し、現代のコンピュータシステムにおいて有用な様々なバス及びインタフェースを提供する。これらのインタフェースには、２つのダブルデータレート（ＤＤＲｘ）メモリチャネルと、ＰＣＩｅリンクへの接続用のＰＣＩｅルートコンプレックスと、ＵＳＢネットワークへの接続用のＵＳＢコントローラと、ＳＡＴＡ（Serial Advanced Technology Attachment）大容量記憶デバイスへのインタフェースと、が含まれる。
【００１１】
メモリシステム１２０は、メモリチャネル１３０と、メモリチャネル１４０と、を含む。メモリチャネル１３０は、本例において別々のランクに対応する代表的なＤＩＭＭ１３４，１３６，１３８を含む、ＤＤＲｘバス１３２に接続されたデュアルインラインメモリモジュール（ＤＩＭＭ）のセットを含む。同様に、メモリチャネル１４０は、代表的なＤＩＭＭ１４４，１４６，１４８を含む、ＤＤＲｘバス１４２に接続されたＤＩＭＭのセットを含む。
【００１２】
ＰＣＩｅシステム１５０は、データプロセッサ１１０内のＰＣＩｅルートコンプレックスに接続されたＰＣＩｅスイッチ１５２と、ＰＣＩｅデバイス１５４と、ＰＣＩｅデバイス１５６と、ＰＣＩｅデバイス１５８と、を含む。ＰＣＩｅデバイス１５６は、システム基本入出力システム（ＢＩＯＳ）メモリ１５７に接続されている。システムＢＩＯＳメモリ１５７は、例えば読出し専用メモリ（ＲＯＭ）、フラッシュＥＥＰＲＯＭ（electrically erasable programmable ROM）等の様々な不揮発性メモリタイプの何れかであってもよい。
【００１３】
ＵＳＢシステム１６０は、データプロセッサ１１０内のＵＳＢマスタに接続されたＵＳＢハブ１６２と、ＵＳＢハブ１６２にそれぞれ接続された代表的なＵＳＢデバイス１６４，１６６，１６８と、を含む。ＵＳＢデバイス１６４，１６６，１６８は、例えばキーボード、マウス、フラッシュＥＥＰＲＯＭポート等のデバイスであってもよい。
【００１４】
ディスクドライブ１７０は、ＳＡＴＡバスを介してデータプロセッサ１１０に接続されており、オペレーティングシステム、アプリケーションプログラム、アプリケーションファイル等のための大容量ストレージを提供する。
【００１５】
データ処理システム１００は、メモリチャネル１３０及びメモリチャネル１４０を設けることによって、最新のコンピューティングアプリケーションでの使用に適している。各メモリチャネル１３０，１４０は、例えばＤＤＲバージョン４（ＤＤＲ４）、低電力ＤＤＲ４（ＬＰＤＤＲ４）、グラフィックスＤＤＲバージョン５（ＧＤＤＲ５）及び高帯域幅メモリ（ＨＢＭ）等の最新のＤＤＲメモリに接続されてもよいし、将来のメモリ技術に適応されてもよい。これらのメモリは、高いバス帯域幅及び高速動作を提供する。同時に、これらは、ラップトップコンピュータ等のバッテリ駆動アプリケーションの電力を節約する低電力モードも設けており、組み込み型サーマルモニタリングも提供する。
【００１６】
図２は、図１のデータ処理システム１００での使用に適したＡＰＵ２００のブロック図である。ＡＰＵ２００は、概して、中央処理装置（ＣＰＵ）コアコンプレックス２１０と、グラフィックスコア２２０と、ディスプレイエンジン２３０のセットと、メモリ管理ハブ２４０と、データファブリック２５０と、周辺コントローラ２６０のセットと、周辺バスコントローラ２７０のセットと、システム管理ユニット（ＳＭＵ）２８０と、メモリコントローラ２９０のセットと、を含む。
【００１７】
ＣＰＵコアコンプレックス２１０は、ＣＰＵコア２１２と、ＣＰＵコア２１４と、を含む。本例において、ＣＰＵコアコンプレックス２１０は２つのＣＰＵコアを含むが、他の実施形態では、ＣＰＵコアコンプレックス２１０は任意の数のＣＰＵコアを含んでもよい。各ＣＰＵコア２１２，２１４は、制御ファブリックを形成するシステム管理ネットワーク（ＳＭＮ）及びデータファブリック２５０に対して双方向に接続されており、メモリアクセス要求をデータファブリック２５０に提供することができる。各ＣＰＵコア２１２，２１４は、単一コアであってもよいし、例えばキャッシュ等の特定のリソースを共有する２つ以上の単一コアを有するコアコンプレックスであってもよい。
【００１８】
グラフィックスコア２２０は、例えば、頂点処理、フラグメント処理、シェーディング、テクスチャブレンド等のグラフィックス操作を、高度に統合された並列形式で実行することの可能な高性能グラフィックス処理ユニット（ＧＰＵ）である。グラフィックスコア２２０は、ＳＭＮ及びデータファブリック２５０に対して双方向に接続されており、メモリアクセス要求をデータファブリック２５０に提供することができる。
【００１９】
これに関して、ＡＰＵ２００は、ＣＰＵコアコンプレックス２１０及びグラフィックスコア２２０が同じメモリ空間を共有するユニファイドメモリアーキテクチャ、又は、ＣＰＵコアコンプレックス２１０及びグラフィックスコア２２０がメモリ空間の一部を共有するメモリアーキテクチャをサポートしてもよいが、グラフィックスコア２２０は、ＣＰＵコアコンプレックス２１０がアクセスできない専用のグラフィックスメモリを使用してもよい。
【００２０】
ディスプレイエンジン２３０は、グラフィックスコア２２０によって生成されたオブジェクトをレンダリング及びラスタライズして、モニタに表示する。グラフィックスコア２２０及びディスプレイエンジン２３０は、メモリシステム１２０の適切なアドレスに一様に変換されるために共通のメモリ管理ハブ２４０に対して双方向に接続されており、メモリ管理ハブ２４０は、かかるメモリアクセスを生成し、メモリシステムから返された読み出しデータを受信するために、データファブリック２５０に対して双方向に接続されている。
【００２１】
データファブリック２５０は、任意のメモリアクセスエージェントとメモリコントローラ２９０との間でメモリアクセス要求及びメモリ応答をルーティングするためのクロスバースイッチを含む。また、データファブリック２５０は、システム構成に基づくメモリアクセスの宛先と、仮想接続毎のバッファとを判断するためのシステムメモリマップであって、ＢＩＯＳによって定義されたシステムメモリマップを含む。
【００２２】
周辺コントローラ２６０は、ＵＳＢコントローラ２６２と、ＳＡＴＡインタフェースコントローラ２６４と、を含み、これらの各々が、システムハブ２６６及びＳＭＮバスに対して双方向に接続されている。これらの２つのコントローラは、ＡＰＵ２００で使用可能な周辺コントローラの単なる例示である。
【００２３】
周辺バスコントローラ２７０は、システムコントローラ（即ち「サウスブリッジ」（ＳＢ））２７２と、ＰＣＩｅコントローラ２７４と、を含み、これらの各々が、入出力（Ｉ／Ｏ）ハブ２７６及びＳＭＮバスに対して双方向に接続されている。また、Ｉ／Ｏハブ２７６は、システムハブ２６６及びデータファブリック２５０に対して双方向に接続されている。したがって、例えば、ＣＰＵコアは、データファブリック２５０がＩ／Ｏハブ２７６を介してルーティングするアクセスを通じて、ＵＳＢコントローラ２６２、ＳＡＴＡインタフェースコントローラ２６４、ＳＢ２７２、又は、ＰＣＩｅコントローラ２７４内のレジスタをプログラムすることができる。
【００２４】
ＳＭＵ２８０は、ＡＰＵ２００上のリソースの動作を制御し、それらの間の通信を同期させるローカルコントローラである。ＳＭＵ２８０は、ＡＰＵ２００上の様々なプロセッサのパワーアップシーケンシングを管理し、リセット、イネーブル及び他の信号を介して複数のオフチップデバイスを制御する。ＳＭＵ２８０は、ＡＰＵ２００の各コンポーネントにクロック信号を提供するために、図２に示されていない１つ以上のクロック源（例えば位相同期ループ（ＰＬＬ）等）を含む。また、ＳＭＵ２８０は、様々なプロセッサ及び他の機能ブロックの電力を管理し、ＣＰＵコア２１２，２１４及びグラフィックスコア２２０から測定された電力消費値を受信して、適切な電力状態を判断してもよい。
【００２５】
また、ＡＰＵ２００は、様々なシステムモニタリング及び省電力機能を実装する。特に、１つのシステムモニタリング機能は、サーマルモニタリングである。例えば、ＳＭＵ２８０は、ＡＰＵ２００が高温になると、ＣＰＵコア２１２，２１４及び／又はグラフィックスコア２２０の周波数及び電圧を低減させてもよい。ＡＰＵ２００が非常に高温になった場合には、ＡＰＵ２００が完全にシャットダウンされてもよい。サーマルイベントは、ＳＭＵ２８０によって、外部センサからＳＭＮバスを介して受信されてもよく、ＳＭＵ２８０は、これに応じてクロック周波数及び／又は電源電圧を低下させてもよい。
【００２６】
図３は、いくつかの実施形態による、図２のＡＰＵ２００での使用に適したメモリコントローラ３００及び関連する物理インタフェース（ＰＨＹ）３３０のブロック図である。メモリコントローラ３００は、メモリチャネル３１０と、パワーエンジン３２０と、を含む。メモリチャネル３１０は、ホストインタフェース３１２と、メモリチャネルコントローラ３１４と、物理インタフェース３１６と、を含む。ホストインタフェース３１２は、メモリチャネルコントローラ３１４を、スケーラブルデータポート（ＳＤＰ）を介してデータファブリック２５０に双方向に接続する。物理インタフェース３１６は、メモリチャネルコントローラ３１４を、ＤＤＲ−ＰＨＹインタフェース仕様（ＤＦＩ）に準拠するバスを介してＰＨＹ３３０に双方向に接続する。パワーエンジン３２０は、ＳＭＮバスを介してＳＭＵ２８０に双方向に接続されており、ＡＰＢ（Advanced Peripheral Bus）を介してＰＨＹ３３０に双方向に接続されており、メモリチャネルコントローラ３１４にも双方向に接続されている。ＰＨＹ３３０は、例えば図１のメモリチャネル１３０又はメモリチャネル１４０等のメモリチャネルに対する双方向接続を有する。メモリコントローラ３００は、単一のメモリチャネルコントローラ３１４を使用した単一のメモリチャネル用のメモリコントローラの例示であり、以下にさらに説明するメモリチャネルコントローラ３１４の動作を制御するためのパワーエンジン３２０を有する。
【００２７】
図４は、いくつかの実施形態による、図２のＡＰＵ２００での使用に適した別のメモリコントローラ４００及び関連するＰＨＹ４４０，４５０のブロック図である。メモリコントローラ４００は、メモリチャネル４１０，４２０と、パワーエンジン４３０と、を含む。メモリチャネル４１０は、ホストインタフェース４１２と、メモリチャネルコントローラ４１４と、物理インタフェース４１６と、を含む。ホストインタフェース４１２は、メモリチャネルコントローラ４１４を、ＳＤＰを介してデータファブリック２５０に双方向に接続する。物理インタフェース４１６は、ＤＦＩ仕様に準拠しており、メモリチャネルコントローラ４１４をＰＨＹ４４０に双方向に接続する。メモリチャネル４２０は、ホストインタフェース４２２と、メモリチャネルコントローラ４２４と、物理インタフェース４２６と、を含む。ホストインタフェース４２２は、メモリチャネルコントローラ４２４を、別のＳＤＰを介してデータファブリック２５０に双方向に接続する。物理インタフェース４２６は、ＤＦＩ仕様に準拠しており、メモリチャネルコントローラ４２４をＰＨＹ４５０に双方向に接続する。パワーエンジン４３０は、ＳＭＮバスを介してＳＭＵ２８０に双方向に接続されており、ＡＰＢを介してＰＨＹ４４０，４５０に双方向に接続されており、メモリチャネルコントローラ４１４，４２４にも双方向に接続されている。ＰＨＹ４４０は、例えば図１のメモリチャネル１３０等のメモリチャネルに対する双方向接続を有する。ＰＨＹ４５０は、例えば図１のメモリチャネル１４０等のメモリチャネルに対する双方向接続を有する。メモリコントローラ４００は、２つのメモリチャネルコントローラを有するメモリコントローラの例示であり、共有のパワーエンジン４３０を使用して、以下にさらに説明するように、メモリチャネルコントローラ４１４及びメモリチャネルコントローラ４２４の各々の動作を制御する。
【００２８】
図５は、いくつかの実施形態による、メモリコントローラ５００のブロック図である。メモリコントローラ５００は、メモリチャネルコントローラ５１０と、電力コントローラ５５０と、を含む。メモリチャネルコントローラ５１０は、インタフェース５１２と、キュー５１４と、コマンドキュー５２０と、アドレス生成器５２２と、コンテンツアドレス可能メモリ（ＣＡＭ）５２４と、リプレイキュー５３０と、リフレッシュロジックブロック５３２と、タイミングブロック５３４と、ページテーブル５３６と、アービタ５３８と、エラー訂正コード（ＥＣＣ）チェックブロック５４２と、ＥＣＣ生成ブロック５４４と、データバッファ（ＤＢ）５４６と、を含む。
【００２９】
インタフェース５１２は、外部バスを介したデータファブリック２５０との第１双方向接続と、出力と、を有する。メモリコントローラ５００において、この外部バスは、「ＡＸＩ４」として知られている、英国ケンブリッジのＡＲＭ  Ｈｏｌｄｉｎｇｓ，ＰＬＣによって仕様化されたアドバンストエクステンシブルインタフェースバージョン４と互換性があるが、他の実施形態では、他のタイプのインタフェースであってもよい。インタフェース５１２は、ＦＣＬＫ（又はＭＥＭＣＬＫ）ドメインとして知られる第１クロックドメインから、ＵＣＬＫドメインとして知られるメモリコントローラ５００の内部の第２クロックドメインへのメモリアクセス要求を変換する。同様に、キュー５１４は、ＵＣＬＫドメインから、ＤＦＩインタフェースに関連するＤＦＩＣＬＫドメインへのメモリアクセスを提供する。
【００３０】
アドレス生成器５２２は、データファブリック２５０からＡＸＩ４バスを介して受信したメモリアクセス要求のアドレスを復号化する。メモリアクセス要求は、正規化されたアドレスとして表わされる物理アドレス空間内のアクセスアドレスを含む。アドレス生成器５２２は、正規化されたアドレスを、メモリシステム１２０内の実際のメモリデバイスをアドレス指定し、関連するアクセスを効率的にスケジュールするのに使用可能なフォーマットに変換する。このフォーマットは、メモリアクセス要求を特定のランク、行アドレス、列アドレス、バンクアドレス及びバンクグループに関連付ける領域識別子を含む。システムＢＩＯＳは、起動時に、メモリシステム１２０内のメモリデバイスにクエリしてそのサイズ及び構成を判断し、アドレス生成器５２２に関連する構成レジスタのセットをプログラムする。アドレス生成器５２２は、構成レジスタに記憶された構成を使用して、正規化されたアドレスを適切なフォーマットに変換する。コマンドキュー５２０は、データ処理システム１００内のメモリアクセスエージェント（例えば、ＣＰＵコア２１２，２１４及びグラフィックスコア２２０等）から受信したメモリアクセス要求のキューである。コマンドキュー５２０は、アドレス生成器５２２によって復号化されたアドレスフィールドと、アクセスタイプ及びサービス品質（ＱｏＳ）識別子を含むメモリアクセスをアービタ５３８が効率的に選択するのを可能にする他のアドレス情報と、を記憶する。ＣＡＭ５２４は、例えばライトアフターライト（ＷＡＷ）及びリードアフターライト（ＲＡＷ）順序付けルール等の順序付けルールを実施するための情報を含む。
【００３１】
リプレイキュー５３０は、例えば、アドレス及びコマンドパリティ応答、ＤＤＲ４  ＤＲＡＭの書込み巡回冗長検査（ＣＲＣ）応答、又は、ＧＤＤＲ５  ＤＲＡＭの書込み及び読出しＣＲＣ応答等の応答を待つアービタ５３８によって取り出されたメモリアクセスを記憶するための一時的なキューである。リプレイキュー５３０は、ＥＣＣチェックブロック５４２にアクセスして、返されたＥＣＣが正しいか否か又はエラーを示しているか否かを判別する。リプレイキュー５３０は、何れかのサイクルでパリティ又はＣＲＣエラーの場合にアクセスがリプレイされるのを可能にする。
【００３２】
リフレッシュロジック５３２は、メモリアクセスエージェントから受信した通常の読出し及び書込みメモリアクセス要求とは別に生成される様々なパワーダウン、リフレッシュ、及び、終端抵抗（ＺＱ）キャリブレーションサイクルのためのステートマシンを含む。例えば、メモリランクがプリチャージパワーダウンにある場合には、リフレッシュサイクルを実行するために定期的に起動されなければならない。リフレッシュロジック５３２は、オートリフレッシュコマンドを定期的に生成して、ＤＲＡＭチップ内のメモリセルのチャージオフストレージキャパシタのリークによって生じるデータエラーを防止する。さらに、リフレッシュロジック５３２は、ＺＱを定期的に較正して、システム内の熱変化によるオンダイ終端抵抗のミスマッチを防止する。
【００３３】
アービタ５３８は、コマンドキュー５２０及び構成レジスタ５６２に双方向に接続されている。アービタ５３８は、メモリチャネルコントローラ５１０の中心部分である。アービタ５３８は、メモリバスの利用を改善するために、インテリジェントなアクセススケジューリングによって効率を改善する。アービタ５３８は、タイミングブロック５３４を使用して、コマンドキュー５２０内の特定のアクセスの発行に適しているか否かをＤＲＡＭタイミングパラメータに基づいて判断することによって、適切なタイミング関係を実施する。例えば、各ＤＲＡＭは、起動コマンド間の最小指定時間（「ｔＲＣ」として知られる）を有する。タイミングブロック５３４は、リプレイキュー５３０に双方向に接続されており、このタイミングパラメータ及びＪＥＤＥＣ仕様で指定された他のタイミングパラメータに基づいて適格性を判断するカウンタのセットを維持する。ページテーブル５３６は、リプレイキュー５３０に双方向に接続されており、アービタ５３８のメモリチャネルの各バンク及びランクのアクティブページに関する状態情報を維持する。
【００３４】
ＥＣＣ生成ブロック５４４は、インタフェース５１２から受信した書き込みメモリアクセス要求に応じて、書き込みデータに従ってＥＣＣを計算する。ＤＢ５４６は、受信したメモリアクセス要求の書き込みデータ及びＥＣＣを記憶する。アービタ５３８が、メモリチャネルにディスパッチするための対応する書き込みアクセスを選ぶと、ＤＢ５４６は、結合した書き込みデータ／ＥＣＣをキュー５１４に出力する。
【００３５】
電力コントローラ５５０は、アドバンストエクテンシブルインタフェースバージョン１（ＡＸＩ）へのインタフェース５５２と、ＡＰＢインタフェース５５４と、パワーエンジン５６０と、を含む。インタフェース５５２は、ＳＭＮへの第１双方向接続であって、図５に別に示された「イベント＿ｎ」と付されたイベント信号を受信するための入力を含む第１双方向接続と、出力と、を含む。ＡＰＢインタフェース５５４は、インタフェース５５２の出力に接続された入力と、ＡＰＢを介してＰＨＹに接続するための出力と、を有する。パワーエンジン５６０は、インタフェース５５２の出力に接続された入力と、キュー５１４の入力に接続された出力と、を有する。パワーエンジン５６０は、構成レジスタ５６２のセットと、マイクロコントローラ（μＣ）５６４と、セルフリフレッシュコントローラ（ＳＬＦＲＥＦ／ＰＥ）５６６と、信頼性のある読み出し／書き込みモードレジスタアクセス（ＲＲＷ／ＭＲＡ）コントローラ５６８と、を含む。構成レジスタ５６２は、キュー５１４に双方向に接続されている。構成レジスタ５６２は、ＡＸＩバスを介してプログラムされており、メモリコントローラ５００内の様々なブロックの動作を制御するための構成情報を記憶する。したがって、構成レジスタ５６２は、図５に詳細に示されていないこれらのブロックに接続された追加の出力を有する。セルフリフレッシュコントローラ５６６は、リフレッシュロジック５３２によるリフレッシュの自動生成に加えて、リフレッシュの手動生成を可能にするエンジンである。ＲＲＷ／ＭＲＡコントローラ５６８は、ＤＤＲインタフェース読み出しレイテンシ（ＭＲＬ）トレーニング及びループバックテスト等の目的のために、連続的なメモリアクセスストリームをメモリ又はＩ／Ｏデバイスに提供する。また、ＲＲＷ／ＭＲＡコントローラ５６８は、インタフェース５５２の選択動作を制御するロジックを設けている。
【００３６】
メモリチャネルコントローラ５１０は、関連するメモリチャネルへのディスパッチのためにメモリアクセスを抽出することを可能にする回路を含む。アドレス生成器５２２は、所望のアービトレーションの決定を行うために、アドレス情報を、メモリシステム内のランク、行アドレス、列アドレス、バンクアドレス及びバンクグループを含むプリデコードされた情報に復号化し、コマンドキュー５２０は、プリデコードされた情報を記憶する。構成レジスタ５６２は、受信したアドレス情報をアドレス生成器５２２がどのように復号するのかを決定するために、構成情報を記憶する。アービタ５３８は、復号化されたアドレス情報と、タイミングブロック５３４によって示されたタイミング適格性情報と、ページテーブル５３６によって示されたアクティブページ情報と、を使用して、例えばＱｏＳ要件等の他の基準を遵守しながらメモリアクセスを効率的にスケジューリングする。例えば、アービタ５３８は、メモリページを変更するのに必要なプリチャージ及びアクティブ化コマンドのオーバーヘッドを避けるために、オープンページへのアクセスを優先し、或るバンクへのオーバーヘッドアクセスを、他のバンクへの読み出し及び書き込みアクセスをインタリーブすることによって隠す。特に、アービタ５３８は、通常動作中に、異なるページを選択する前にプリチャージされる必要があるまで、異なるバンク内のページオープンを維持することを決定してもよい。
【００３７】
動作中、図５のメモリコントローラ５００等のメモリコントローラは、図２のＣＰＵコアコンプレックス２１０のＣＰＵコア又はグラフィックスコア２２０等のメモリアクセスエージェントに接続されており、このメモリアクセスエージェントからメモリアクセス要求を受信する。また、メモリコントローラ５００は、図１のメモリシステム１２０に接続するように構成されている。上述したように、メモリシステム１２０は、図１のＤＩＭＭ１３４，１３６，１３８として実装された複数のランクのメモリを含むことができる。メモリコントローラ５００内のアービタ５３８は、所定の基準に基づいて、コマンドキュー５２０からメモリアクセス要求を抽出する。アービタ５３８は、リフレッシュと同様に読み出し及び書き込みアクセスを実行し、ＲＲＷ／ＭＲＡコントローラ５６８からの要求に応答する。ＲＲＷ／ＭＲＡコントローラ５６８は、少なくとも１つのＤＤＲメモリバスアクセス要求に応じて、ＤＤＲメモリバスの制御を解放するためのアービタ５３８への要求を生成する。アービタ５３８は、メモリバスの制御をＲＲＷ／ＭＲＡコントローラ５６８に解放し、一連の指定された動作（例えば、特定のモードレジスタセット（ＭＲＳ）コマンド等）を生成し、ＶＲＥＦＤＱトレーニングを実施する。
【００３８】
概して、構成レジスタ５６２は、インタフェース５５２を介して再較正書き込みコマンド要求を受信する。ミッションモードの高帯域幅データ転送中に、再較正書き込みコマンド要求がインタフェース５１２を介して提供される。ＲＲＷ／ＭＲＡコントローラ５６８は、書き込みコマンド要求に応じて、メモリバスの制御を取得する要求をアービタ５３８に送信する。アービタ５３８は、ＲＲＷ／ＭＲＡコントローラ５６８からの要求に応じて、保留中の動作を静止させる。保留中の動作を静止させることは、ターゲットバスに関連する現在及び保留中の動作を完了させ、停止させることを含むことができるが、これに限定されない。また、バスを静止させることは、緊急のリフレッシュコマンドが保留中ではないことを判別することを含むことができる。アービタ５３８がターゲットランクに関連する現在及び保留中の動作を静止させた後に、ＲＲＷ／ＭＲＡコントローラ５６８は、一連のＭＲＳコマンドを実行する。一連のＭＲＳコマンドの完了後に、ＲＲＷ／ＭＲＡコントローラ５６８は、メモリバスの制御をアービタ５３８に戻し、通常の読み出し及び書き込みメモリバス動作を再開する。メモリアクセス要求のフローを僅かに中断してメモリへのリフレッシュを行うだけでメモリバスを制御するサイドチャネルを提供することによって、メモリコントローラ５００は、パフォーマンスを著しく損なったり、アクセスレイテンシを増大させたりすることなく、パラメータの定期的な再較正を可能にする。
【００３９】
図６は、いくつかの実施形態による、図５のメモリコントローラ５００によって使用され得る状態図６００である。状態図６００は、ダブルデータレートメモリのパラメータを読み書きするためにメモリコントローラ５００によって利用されるマージニング及びテストコマンドに対応する状態図である。状態図６００は、要求状態６０２と、検出状態６０４と、静止状態６０６と、生成状態６１０と、ＭＲＡ制御状態６０８と、待機状態６１２と、分配状態６１４と、無効状態６１６と、アービタ制御状態６１８と、を含む。状態図６００は、矢印によって状態遷移を表し、メモリコントローラ５００は、対応する要求に応じて状態遷移を実行する。
【００４０】
状態図６００は、上述したメモリコントローラ動作に対応するステートマシンの状態を表す。要求状態６０２において、ＲＲＷ／ＭＲＡコントローラ５６８は、オペレーティングシステムから要求を受信する。要求状態６０２は、少なくとも１つのＭＲＳコマンドを実行するために、構成レジスタ５６２にアクセスする要求に対応する。この要求は、ステートマシンがＭＲＳコマンドを送信する先のＤＲＡＭのランクを選択する。１つの実施形態において、ＤＲＡＭデバイスは、ＤＲＡＭ毎のアクセシビリティ（ＰＤＡ）ＭＲＳコマンドを利用して、ランクの特定のＤＲＡＭデバイスへのＭＲＳコマンドを生成するためのサポートを提供する。ＰＤＡ機能を利用して、例えば、所定のランクのＤＲＡＭデバイスのオンダイ終端抵抗（ＯＤＴ）値及び内部基準電圧値等の所定のパラメータをプログラミングする。
【００４１】
検出状態６０４において、アービタ５３８は、何等かのアクティブシステム動作を検出する。モードレジスタにアクセスする要求に応じて、アクティブシステム動作中に、アービタ５３８は、アクティブシステム動作が完了するのを待機することによって、メモリチャネルへの保留中の動作（保留中のリフレッシュ及び通常の読み書き動作を含む）を静止させる。現在及び保留中のメモリランク動作の静止は、静止状態６０６に対応する。メモリバスを静止させると、ＤＲＡＭはアイドル状態になる。ＤＲＡＭがアイドル状態にある場合、又は、タイミングパラメータが満たされているプリチャージ状態にＤＩＭＭがある場合に、モードレジスタコンテンツをオペレーティングシステムの通常動作中に変更することができる。現在及び保留中の動作の静止後に、アービタ５３８は、メモリバスの制御を構成レジスタ５６２に解放する。
【００４２】
ＭＲＡ制御状態６０８において、モードレジスタアクセスコントローラは、ターゲットランクの制御を引き受け、モードレジスタは、変更されたパラメータ値を実行するようにプログラミングされる。これに応じて、生成状態６１０において、ＲＲＷ／ＭＲＡコントローラ５６８は、ＤＩＭＭ１３４，１３６，１３８に関連するメモリバス（例えば、ＤＤＲｘバス１３２等）への少なくとも１つの対応するモードレジスタセットコマンドを生成する。生成状態６１０において、ＭＲＳコマンドは、ＤＲＡＭモードレジスタ書き込みコマンドシーケンス、レジスタ制御ワードコマンドシーケンス及びデータバッファ制御ワード書き込みコマンドシーケンスのうち１つである。ＭＲＳコマンドサイクルタイムは、モードレジスタへの書き込み動作を完了するために必要であり、ＭＲＳコマンド間で必要な最小時間である。
【００４３】
したがって、待機状態６１２において、モードレジスタセットコマンドサイクルタイムは、ＭＲＳコマンド毎に満たされる。モードレジスタをプログラミングする場合に、アクセスされたモードレジスタ内のアドレスフィールドは、ＲＲＷ／ＭＲＡコントローラ５６８がＭＲＳコマンドを発行する場合に再定義される。分配状態６１４において、ＭＲＳコマンドは、メモリバスに分配され、再分配される。ＲＲＷ／ＭＲＡコントローラ５６８は、各ＭＲＳコマンドの実行後に分配状態６１４と待機状態６１２との間を循環し、ＭＲＳコマンドの実行間に必要とされる最小時間を満たす。いくつかのモードレジスタにはデフォルト値が定義されているが、全てのモードレジスタにデフォルト値が定義されているとは限らないので、モードレジスタのコンテンツは、必要に応じて、分配状態６１４において初期化及び／又は再初期化される（すなわち、書き込まれる）。モードレジスタセットコマンドがさらに実行される前に、所定数のクロックサイクルが実行される。
【００４４】
最後に受信したモードレジスタセットコマンドの実行に応じて、待機状態６１２は、所定数のクロックサイクルを実行し、無効状態６１６に遷移する。無効状態６１６において、ターゲットパラメータの変更が停止される。アービタ制御状態６１８において、ＲＲＷ／ＭＲＡコントローラ５６８は、メモリバスの制御をアービタに戻す。要求状態６０２に戻ると、メモリコントローラは、少なくとも１つのＤＲＡＭパラメータを変更及び／又は読み出すための次の要求を待つ。
【００４５】
１つの実施形態において、ＭＲＳコマンドがモードレジスタ書き込みコマンドシーケンスである場合に、書き込みコマンドシーケンスは、ダブルデータレートメモリのランク内の全てのＤＲＡＭに分配される。モードレジスタ書き込みコマンドシーケンスは、更新されるダブルデータレートメモリのランク内のＤＲＡＭに関連する電圧パラメータ、タイミングパラメータ及び所定の代替のデバイスパラメータのうち少なくとも１つを有効にする。１つの例において、内部基準電圧を更新することが要求されると、生成されたＭＲＳコマンドの受信時に、ＭＲＳコマンドの少なくとも一部が、少なくとも１つのランクのダブルデータレートメモリに関連するモードレジスタ６（ＭＲ６）において受信される。ＭＲＳコマンドの受信に応じて、プロセスは、後続のＭＲＳコマンドを実行する前に、待機状態６１２において、所定数の電圧基準メモリクロックサイクルを待つ。
【００４６】
別の実施形態において、ＤＤＲデバイスに関連するパラメータの即時制御を行う要求を受信する。メモリバスへの即時アクセス要求に応じて、アービタ５３８がバイパスされる。メモリバスの即時制御を取得することを可能にするダイレクトＭＲＳコマンドがメモリバス（ＤＤＲｘバス１３２）に対して生成される。
【００４７】
図７は、いくつかの実施形態による、図５のメモリコントローラ５００によって使用され得る状態図７００である。状態図７００は、ダブルデータレートメモリに関連するデータバッファのパラメータを読み出して更新するためにメモリコントローラ５００によって利用されるマージニング及びテストコマンドに対応する状態図である。状態図７００は、要求状態７０２と、初期化状態７０４と、アクティブ状態７０６と、アイドル状態７０８と、アービタ制御状態７１０と、待機状態７１２と、書き込み状態７１４と、静止状態７１６と、有効状態７１８と、待機時間状態７２０と、待機状態７２２と、を含む。
【００４８】
動作中に、バッファ制御ワード（ＢＣＷ）書き込みは、データバッファに関連するバス（例えば、バッファ制御バス又はＤＤＲｘバス１３２等）を介したコマンドシーケンスとして、レジスタクロックドライバ（ＲＣＤ）からＤＩＭＭ１３４，１３６，１３８に関連するデータバッファに送信される。構成レジスタ５６２は、コマンドシーケンスを受信する。アービタ５３８は、所定の基準に基づいて、コマンドキュー５２０からデータバッファにコマンドを読み書きするためのメモリアクセス要求を抽出する。所定の基準は、リフレッシュ要求、緊急リフレッシュ要求、時系列要求（chronological ordered requests）、及び、予めスケジューリングされた分配要求を含むことができる。データバッファへのアクセス要求を受信したことに応じて、ＲＲＷ／ＭＲＡコントローラ５６８は、メモリバスの現在及び保留中のアクティビティを静止させるように、アービタ５３８に指示する。ＲＲＷ／ＭＲＡコントローラ５６８は、メモリバスを制御して、ＢＣＷ書き込みコマンドシーケンスを介して、所定のパラメータ（例えば、内部基準電圧パラメータ及びデータバッファタイミング値等）を変更する。所定のデータバッファパラメータを変更するＢＣＷ書き込みコマンドシーケンスは、バッファ制御バスを介したコマンドシーケンスとして、レジスタクロックドライバ（ＲＣＤ）からＤＩＭＭ１３４，１３６，１３８に関連するデータバッファに送信される。ＢＣＷ書き込みコマンドシーケンス内の制御ワードを用いてデータバッファパラメータを変更すると、デバイスが安定するまでに時間がかかる。ＢＣＷ書き込みコマンドシーケンスを実行する場合に、メモリコントローラ５００は、最後の制御ワードがアクセスした後であってＤＲＡＭへのさらなるアクセスが行われ得る前に、所定数のクロックサイクル（ｔＭＲＣ）を待つ。クロックタイミングの変更又は書き込みの場合、安定するまでに最大ｔＤＬＬＫ時間かかる。
【００４９】
さらに、状態図７００は、メモリコントローラ５００を介した実行のために上述したＤＩＭＭデータバッファのトレーニング及びマージニング動作に対応するステートマシンの状態を表す。状態図７００によってさらに示すように、ＲＣＤは、オペレーティングシステムの初期化状態７０４、アクティブ状態７０６又はアイドル状態７０８において、ＤＩＭＭ１３４，１３６，１３８に関連するパラメータにアクセスして更新する要求を受信する。初期化状態７０４は、オペレーティングシステムのスタートアップ状態に対応する。複数の機能がアクティブ状態７０６に関連付けられてもよい。１つの実施形態において、データ処理システム１００に関連するアクティビティは、フルミッションモードのトラフィック動作から最小ミッションモードのトラフィック動作まで及ぶことができる。アイドル状態７０８は、非アクティブで機能的なデータ処理システム１００に対応する。初期化状態７０４、アクティブ状態７０６又はアイドル状態７０８の間にデータバッファにアクセスする要求の受信に応じて、メモリコントローラ５００は、待機状態７１２に遷移する。待機状態７１２は、ＢＣＷ書き込みコマンドシーケンスの実行用にデータバッファを準備するのに利用される所定の待機時間である。状態７１８において、アービタ５３８は、ＲＲＷ／ＭＲＡコントローラ５６８がメモリバスを制御できるようにする。待機状態７１２に関連する所定の待機サイクルの完了後に、アービタ５３８は、データバッファに関連する現在及び保留中の動作を静止させる。遷移は、待機状態７１２に戻る。
【００５０】
状態７１６において、構成レジスタ５６２は、メモリバスの制御をアービタ５３８に要求する。アービタ５３８がメモリバスに関連するアクティビティを一時的に停止させた場合、アービタ５３８は、メモリバスの制御を構成レジスタ５６２に解放する。データバッファ書き込み動作は、書き込み状態７１４で生成されたＢＣＷ書き込みコマンドシーケンスを利用して、ＲＲＷ／ＭＲＡコントローラ５６８を介して実行される。１つの実施形態において、ＢＣＷコマンドシーケンスは、ＢＣＷ読み出しコマンドシーケンスに対応する。１つの実施形態において、各ＢＣＷ書き込み及び読み出しコマンドシーケンス後に、５つのデータ転送サイクルと、パリティデータ転送サイクルとが実行される。書き込み状態７１４において、生成されたＢＣＷ書き込みコマンドシーケンスは、バッファ制御バスを介したコマンドシーケンスとして、ＤＤＲ４レジスタクロックドライバからランクのＤＤＲデータバッファに送信される。バッファ制御ワード及びパラメータ設定を変更すると、デバイスが安定するまでに時間がかかる。ＢＣＷ時間（ｔＢＣＷ）パラメータは、アクティブＢＣＷ書き込みコマンドから後続の有効なＢＣＷ書き込みコマンドへの遷移に利用される時間を示す。書き込み状態７１４において、所定数のサイクル遷移は、ＢＣＷ書き込みコマンド間の待機サイクル７１２への遷移数に対応する。
【００５１】
ＤＤＲ  ＢＣＷ書き込みコマンドシーケンスは、バッファ制御設定の変更後にＤＤＲメモリの少なくとも１つのランクに分配され、書き込み状態７１４において、メモリコントローラ５００は、所定数のクロックサイクルｔＭＲＣの実行のために待機状態７２０に遷移する。待機状態７２０への遷移は、最後の制御ワードアクセス後に、ＤＲＡＭへのさらなるアクセスが発生する前に発生する。クロックタイミングへの変更のために、書き込み状態７１４において、メモリコントローラ５００は、待機状態７２２に遷移する。待機状態７１２への最後の遷移に応じて、待機状態７２０及び待機状態７２２のうち少なくとも１つにおいて、追加のサイクルタイムへの遷移が行われる。待機状態７２２は、タイミングパラメータの変更後に実行される所定数のクロックサイクルｔＤＬＬＫに対応し、次いで状態７１０において、メモリコントローラ５００は、アービタ５３８がメモリバスの制御を取り戻すことを可能にする。
【００５２】
１つの実施形態において、電圧基準パラメータ、タイミング制御パラメータ、所定の代替のバッファパラメータ及び代替のデータバッファパラメータの中から少なくとも１つのデータバッファパラメータが選択される。例えば、ＤＩＭＭデータバッファパラメータは、基準電圧動作範囲、基準電圧ステップサイズ、基準電圧設定公差、基準電圧ステップタイム、基準電圧有効公差及びクロックタイミングを含むことができるが、これらに限定されない。タイミング制御パラメータは、ダブルデータレートメモリの関連するランクのデータバッファのタイミング制御レジスタで受信される。さらに、ＤＩＭＭデータバッファは、バッファアドレサビリティ（ＰＢＡ）について呼ばれる、バッファ制御ワードアクセストランザクションにおける機能をサポートする。各データバッファは、互いに独立して構成することができる。ＰＢＡは、バッファ毎に独立したパラメータ変更及びトレーニングを行うことができ、又は、所定のＤＩＭＭデータバッファのＯＤＴインピーダンス設定に対して独立することができる。ＰＢＡ機能は、ＰＢＡモードでプログラミングされる必要があるレジスタを含まないワードに記憶されたＢＣＷビットによって有効になる。これにより、バッファ毎に特別にプログラミングされたＢＣＷビットを変更する必要なしに、バッファがＰＢＡモードに出入りするのを可能にする。
【００５３】
図６及び図７の状態間で切り替えるためにいくつかの条件は、単独又は様々な組み合わせで使用することができる。図示した実施形態において、これらの条件には、読み出し又は書き込みコマンドシーケンス、タイミング待機サイクル、メモリバスアクセス、アービタ制御及び保留中の動作の静止の生成が含まれる。さらに、図６及び図７は、メモリの所定のランク（すなわち、ＰＤＡ及びＰＢＡ）内の単一のデバイスについてのマージニング及びトレーニングを示すことができる一方で、図６及び図７のステートマシンは、シングルランク及びマルチランク等の様々な方法でメモリシステムのより大きなサブセットに拡張することができる。
【００５４】
図８は、図５のメモリコントローラ５００によって使用され得る方法８００のフロー図である。ブロック８０２において、システム初期化後に少なくとも１つのＤＤＲトレーニング及びマージニング動作を生成する要求をオペレーティングシステムから受信する。ブロック８０４において、ＲＲＷ／ＭＲＡコントローラ５６８は、ランクの現在及び保留中のダブルデータレート動作を静止させるためのアービタ５３８への要求を生成する。ブロック８０６において、ＭＲＳコマンドをメモリバス（例えば、ＤＤＲｘバス１３２等）で受信する。メモリバスでのＭＲＳコマンドの受信に応じて、ブロック８０８において、ＲＲＷ／ＭＲＡコントローラ５６８を介して第１ＭＲＳコマンドをランクに送信して、ランクの所定のＤＤＲメモリデバイスパラメータ（例えば、ＶＲＥＦＤＱパラメータ等）の制御を取得する。ブロック８１０において、所定数のクロックサイクル（ｔＶＲＥＦ）を実行する。ブロック８１２において、ランクに関連する少なくとも１つのＤＤＲ４メモリデバイスパラメータを更新するための第２モードレジスタコマンドシーケンスを、当該ランクに送信する。ＤＤＲ４メモリデバイスパラメータ変更の実行後に、ブロック８１４において、所定数のクロックサイクルを実行する。ＲＲＷ／ＭＲＡコントローラ５６８は、後続のＭＲＳコマンドをランクに送信して、パラメータ制御を無効にする。ブロック８１８において、追加の所定数のクロックサイクルを実行する。ブロック８２０において、アービタがメモリバスへのアクセスを取り戻すのを可能にする。プロセスは、最後のブロックで終了する。
【００５５】
図９は、図５のメモリコントローラ５００によって使用され得る方法９００のフロー図である。ブロック９０２において、システム初期化後に、所定のデータバッファパラメータを変更するためのＢＣＷ書き込みコマンドシーケンスを生成する要求を受信する。ＲＲＷ／ＭＲＡコントローラ５６８は、メモリバスの制御をアービタ５３８に要求する。ブロック９０４において、メモリコントローラ５００は、アービタ５３８が現在及び保留中のバッファ動作を静止させるのを可能にする。ブロック９０６において、所定数のクロックサイクルを実行する。ブロック９０８において、ＢＣＷ書き込みコマンドシーケンスを生成する。ＢＣＷ書き込みコマンドシーケンスの生成に応じて、ブロック９１０において、ＢＣＷ書き込みコマンドシーケンスを、第１パラメータを変更するために少なくとも１つのデータバッファに分配する。ブロック９１２において、所定数のクロックサイクルを実行する。ブロック９１４において、ランクに関連する第２パラメータを更新するために、後続のＢＣＷ書き込みコマンドシーケンスをデータバッファに送信する。パラメータ更新の実行後に、ブロック９１６において、別の所定数のクロックサイクル（最大ｔＤＬＬＫ）を実行する。ブロック９１８において、後続のＢＣＷ書き込みコマンドシーケンスを送信して、データバッファの制御を無効にする。ブロック９２０において、追加の数の所定のクロックサイクルを実行する。ブロック９２２において、アービタが現在及び保留中のデータバス動作へのアクセスを取り戻すのを可能にする。プロセスは、最後のブロックで終了する。
【００５６】
図１０は、図５のメモリコントローラ５００によって使用され得る方法１０００のフロー図である。ブロック１００２において、多目的レジスタのコンテンツを取得／読み出す要求をＲＲＷ／ＭＲＡコントローラ５６８で受信する。ブロック１００４において、ＤＤＲメモリデバイスの現在及び保留中のＤＤＲメモリバス動作を静止させる要求を、ＲＲＷ／ＭＲＡコントローラ５６８によって生成し、アービタ５３８で受信する。ブロック１００６において、メモリコントローラ５００は、アービタ５３８が現在及び保留中のＤＤＲ４メモリバス動作を静止させることを可能にする。ブロック１００８において、ＭＲＳコマンドをメモリバスで受信する。ブロック１０１０において、ランク内の少なくとも１つのＤＲＡＭデバイスに関連する所定のパラメータ値を読み出すために、少なくとも１つのＭＲＳコマンドを当該ランクに分配する。ブロック１０１２において、所定数のクロックサイクルを実行する。ブロック１０１４において、関連するランクのコンテンツを取得する／読み出す。コンテンツの読み出し後に、ブロック１０１６において、所定数のクロックサイクルを実行する。ブロック１０１８において、メモリコントローラは、アービタが現在及び保留中のメモリデータバス動作へのアクセスを取り戻すのを可能にする。プロセスは、最後のブロックで終了する。
【００５７】
図１１は、ある範囲の入力値に応じてＤＲＡＭの出力値をグラフィカルに表示する２次元データアイを示す図である。データアイ１１００は、データアイ１１０６と、軸１１０２と、軸１１０４と、を含む。軸１１０２は、最小及び最大のｙ軸値を表示し、軸１１０４は、最小及び最大のｘ軸値を表示する。
【００５８】
１つの実施形態において、データアイ１１００は、ＤＲＡＭデバイスの所定のパラメータを最適化するために利用される２次元データアイである。アービタ５３８がメモリバスを静止させた後に、ＲＲＷ／ＭＲＡコントローラ５６８は、ＭＲＳコマンドをＤＲＡＭデバイスに分配して、所定のパラメータ値をデータアイの中央に動的に移動させるのを可能にする。所定のパラメータ値をデータアイの中央に移動させることは、テスト及びマージニング中に、ＤＲＡＭデバイスに関連するパラメータ値を動的に最適化する。
【００５９】
図８、図９及び図１０に示すいくつか又は全ての方法を、コンピュータ可読記憶媒体に記憶され、少なくとも１つのプロセッサにより実行される命令によって管理することができる。図８、図９及び図１０に示す各動作は、非一時的なコンピュータメモリ又はコンピュータ可読記憶媒体に記憶された命令に対応してもよい。様々な実施形態において、非一時的なコンピュータ可読記憶媒体は、磁気若しくは光ディスクストレージデバイス、フラッシュメモリ等のソリッドステートストレージデバイス、又は、他の不揮発性メモリデバイスを含む。非一時的なコンピュータ可読記憶媒体に記憶されたコンピュータ可読命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、１つ以上のプロセッサによって解釈及び／又は実行可能な他の命令フォーマットであってもよい。
【００６０】
特定の実施形態について説明したが、これらの実施形態に対する様々な変更が当業者には明らかであろう。メモリコントローラ５００は、高帯域幅メモリ（ＨＢＭ）、複数のタイプの同期ＤＲＡＭ等のＤＤＲｘメモリに加えて、他のタイプのメモリにもインタフェースすることができる。図示した実施形態は、別々のＤＩＭＭに対応するメモリの各ランクを示したが、他の実施形態において、各ＤＩＭＭは、複数のランクをサポートすることが可能である。さらに、メモリチャネルは、複数のランクのＤＤＲ４メモリ又はシングルランクのＤＤＲ４メモリを含むことができる。また、例えばＶＲＥＦＤＱトレーニングのＺＱキャリブレーション等の特定のタイプの較正を参照してＭＲＡコントローラの動作を説明したが、動作中に実行される他のタイプの較正及びトレーニングにも使用できることが明らかであろう。
【００６１】
したがって、添付の特許請求の範囲によって、開示された実施形態の範囲に含まれる、開示された実施形態の全ての変更を包含することが意図される。
【図１】
2019536136.tif 000003
【図２】
2019536136.tif 000004
【図３】
2019536136.tif 000005
【図４】
2019536136.tif 000006
【図５】
2019536136.tif 000007
【図６】
2019536136.tif 000008
【図７】
2019536136.tif 000009
【図８】
2019536136.tif 000010
【図９】
2019536136.tif 000011
【図１０】
2019536136.tif 000012
【図１１】
2019536136.tif 000013
【手続補正書】
【提出日】令和1年7月29日(2019.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理システム（１００）であって、
モードレジスタを含むダブルデータレートメモリの少なくとも１つのランク（１３４／１３６／１３８）を有するメモリチャネル（１３０）と、
前記メモリチャネル（１３０）に接続されたメモリコントローラ（５００）であって、前記ダブルデータレートメモリの少なくとも１つのランクにアクセスするように構成されたメモリコントローラ（５００）を有するデータプロセッサ（１１０）と、を備え、
前記メモリコントローラは、
受信したメモリアクセス要求を記憶するコマンドキュー（５２０）と、
所定の基準に基づいて前記コマンドキュー（５２０）からメモリアクセス要求を抽出し、前記メモリアクセス要求を前記メモリチャネルに提供し、モードレジスタアクセス要求に応じて、保留中の動作を静止させる（６０６）アービタ（５３８）と、
前記モードレジスタアクセス要求に応じて、少なくとも１つの対応するモードレジスタセットコマンドをメモリバスに対して生成した後に、前記メモリバスの制御を前記アービタ（５３８）に解放するモードレジスタアクセスコントローラ（５６２）と、を備える、
データ処理システム（１００）。
【請求項２】
前記モードレジスタセットコマンドを生成すること（６０８）を備え、
前記モードレジスタセットコマンドは、ＤＲＡＭモードレジスタ書き込みコマンド（６０８）シーケンス、レジスタ制御ワードコマンドシーケンス及びデータバッファ制御ワード書き込みコマンド（７１４）シーケンスのうち１つである、
請求項１のデータ処理システム（１００）。
【請求項３】
前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンスを、ＤＤＲメモリの少なくとも１つのランク内の複数のＤＲＡＭに分配すること（６１０）を備える、
請求項２のデータ処理システム（１００）。
【請求項４】
前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンスを、ダブルデータレートメモリの前記少なくとも１つのランク（１３４／１３６／１３８）に生成すること（６０８）を備え、
前記ＤＲＡＭモードレジスタ書き込みコマンドシーケンスは、前記ＤＤＲメモリの少なくとも１つのランク（１３４／１３６／１３８）に関連する電圧基準パラメータ、タイミングパラメータ及び所定の代替デバイスパラメータのうち少なくとも１つが更新されるのを可能にする、
請求項３のデータ処理システム（１００）。
【請求項５】
前記データバッファ制御ワード書き込みコマンド（７１４）シーケンスを生成したことに応じて、前記データバッファ制御ワード書き込みコマンド（７１４）シーケンスを、前記ダブルデータレートメモリの少なくとも１つのランクの少なくとも１つのデータバッファに分配する（９０８）、
請求項２のデータ処理システム（１００）。
【請求項６】
前記データバッファ制御ワード書き込みコマンド（７１４）シーケンスは、前記ダブルデータレートメモリの少なくとも１つのランク（９０８）の少なくとも１つのデータバッファの初期化（７０４／７０６／７０８）後に、少なくとも１つのデータバッファパラメータ（９０８）を変更する、
請求項５のデータ処理システム（１００）。
【請求項７】
前記少なくとも１つのデータバッファパラメータは、電圧基準パラメータ、タイミング制御パラメータ（７１４／９０８／９１２）、所定の代替のバッファパラメータ及び代替のデータバッファパラメータの中から選択される、
請求項６のデータ処理システム（１００）。
【請求項８】
メモリアクセスエージェント（２１０／２２０）と、
前記メモリアクセスエージェント（２１０／２１２）に接続され、メモリシステム（１２０）に接続するように構成されたメモリコントローラ（２９２／５００）であって、前記メモリコントローラ（２９２／５００）は、受信したメモリアクセス要求を記憶するコマンドキュー（５２０）を備える、メモリコントローラ（２９２／５００）と、
前記コマンドキュー（５２０）からメモリアクセス要求を選択的に抽出し、前記メモリアクセス要求をメモリチャネルに提供し、モードレジスタアクセス要求に応じて、保留中の動作を静止させるアービタ（５３８）と、
前記モードレジスタアクセス要求に応じて、メモリバスに対する少なくとも１つの対応するモードレジスタセットコマンドを生成した後に、前記メモリバスの制御を前記アービタ（５３８）に解放するモードレジスタアクセスコントローラ（５６２）と、を備える、
データプロセッサ（１１０／２００）。
【請求項９】
前記モードレジスタアクセスコントローラ（５６２）は、モードレジスタセットコマンド（６０８）を生成し、
前記モードレジスタセットコマンドは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）モードレジスタ書き込みコマンドシーケンス（６０８）及びバッファ制御ワード書き込みコマンドシーケンス（７１４）のうち１つである、
請求項８のデータプロセッサ（１１０／２００）。
【請求項１０】
前記モードレジスタアクセスコントローラは、即時モードレジスタアクセス要求（６０２／６１０）に応じて、前記アービタのバイパスを可能にし、前記メモリバスに対するダイレクトモードレジスタセットコマンドを生成して、前記メモリバスの即時制御を取得する、
請求項８のデータプロセッサ（１１０／２００）。
【請求項１１】
モードレジスタアクセスコントローラ（２９２／５００）を介してメモリシステム内のダブルデータレートインタフェースをマージニング及びテストする方法（８００／９００）であって、
システム初期化後にダブルデータレート動作を生成する要求を受信することと、
ランク（８０２）の現在及び保留中のダブルデータレート動作を静止する要求を生成することと、
モードレジスタコマンドシーケンスをメモリバスで受信することと（８０６）、
前記モードレジスタコマンドシーケンスの受信に応じて、第１モードレジスタコマンドシーケンスを前記ランク（８０２）の複数のバンクに送信して、前記ランクに関連する第１パラメータの制御を取得することと、
後続のモードレジスタ（８０６）コマンドシーケンスを前記複数のバンクに送信して、前記ランクに関連する前記第１パラメータを更新することと（８１２）、を含む、
方法（８００／９００）。
【請求項１２】
待機サイクルを開始すること（８１０）を含み、
前記待機サイクルは、前記後続のモードレジスタコマンドシーケンス（８１０）の実行後に開始される所定数の基準電圧メモリクロックサイクル（６１２）である、
請求項１１の方法（８００）。
【請求項１３】
モードレジスタアクセスコントローラを介してメモリシステム内のダブルデータレートデータバッファインタフェースをマージニング及びテストする方法（９００）であって、
ダブルデータレートデータバッファの初期化後に、バッファ制御ワード書き込みコマンドシーケンスを生成する要求を受信することと（９０２）、
現在及び保留中のダブルデータレートデータバッファ動作の静止を有効にすることと（９０４）、
前記バッファ制御ワード書き込みコマンドシーケンスをダブルデータレートデータバッファに分配して、電圧パラメータ及びデータバッファタイミングパラメータのうち少なくとも１つのパラメータを変更することと（９０８）、を含む、
方法（９００）。
【請求項１４】
各バッファ制御ワード書き込みコマンドシーケンスに続く待機サイクルを開始することであって（９１０）、前記待機サイクルは、第１の所定数の待機サイクル（９１０）である、ことと、
前記データバッファタイミングパラメータの変更に応じて、第２の所定数の待機サイクルを開始することと（９１８）、を含む、
請求項１３の方法（９００）。
【請求項１５】
前記電圧パラメータは、ＤＱ基準電圧レベル（９０８／９１２）である、
請求項１３の方法（９００）。
【国際調査報告】
2019536136.tif 000014
2019536136.tif 000015