メモリコントローラを用いたロバストメモリリンク試験
試験、ツール開発及びデバックを高速化する、メモリリンクのためのロバスト電気統合試験(REUT)が導入される。また、過去の実施で不可能であったパラメータ及びコンディションをトレーニングするために、BIOSに使用される十分なパフォーマンスを有するトレーニングフックを提供する。アドレスパターン生成回路がまた開示される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の形態は、メモリリンク試験、特にロバスト電気統合試験(REUT)に関する。
【背景技術】
【0002】
メモリコントローラからのメモリリンクの電気的試験は、デザインベースで変更でき、しばしばソフトウエア集約的であり、実行に多大な時間を有する、アドホック特性を備えている。電気的検証ツールは、共通のコンフィグレーション仕様が無いため、デザイン毎に書き換えられる必要があった。また、過去のメモリ試験フックは、メモリコントローラの標準機能パスに組み込めなかったので、タイミング、ページポリシー、リフレッシュレート及び省力化等の多様なノブに対してコンフィグレーション設定をエミュレートするように試験を構築しなければならなかった。
【図面の簡単な説明】
【0003】
上記の点及び本発明のより良い理解は、添付の図面と関連して読みことで、構成についての以下の詳細の記載、実施例及び請求項から明らかになるであろう。構成についての以下の詳細の記載、実施例及び請求項の全ては、本発明の開示の一部を形成している。上記及び下記に記載され説明された開示は、本発明の構成及び実施例を開示することに焦点を当てているが、これらは説明及び例示のためだけであり、本発明がこれらに限定されないことは明確に理解できるであろう。
【0004】
【図1】DDR・REUTデータブロックを示す回路図である。
【図2】パターン生成の大容量バッファコンセプトを示す回路図である。
【図3】線形フィードバックシフトレジスタ(LFSR)の任意ブール組合せのルックアップテーブルを示す。
【図4】異なるレーンにおいて複数のタイプのパターンが同時に如何に用いられるかを示すチャートである。
【図5】GDDRピンの固有パターンを制御するブール関数をプログラムするための拡張バッファを示すブロック図である。
【図6】patternoutの真理値表を示す。
【図7】M/N生成器によって生成される波形の一例である。
【図8】アドバンストアドレスパターン生成を示すブロック図である。
【図9】交互セグメントとシーケンシャルセグメントを含む内部アドレスを示す図である。
【図10】バンク、ページ及びカラムビットを含むアドレス幅を示す図である。
【図11】アドバンストパターン生成を示すブロック図である。
【発明を実施するための形態】
【0005】
本明細書を通しての「1つの実施例」又は「ある実施例」との引用は、当実施例に関連して記載された特定の特徴、構成又は特性が、本願発明の少なくとも1つの実施例に含まれることを意味する。よって、本明細書を通してのさまざまな場所における「1つの実施例」又は「ある実施例」との表現の使用は、必ずしも全てが同一の実施例を示すことを意図していない。また、特定の特徴、構成又は特性は、1つ以上の実施例において適する方法で組み合わされてもよい。
【0006】
本発明の1つの実施例によると、メモリリンクのためのREUT(Robust Electrical Unified Testing)は、先に述べた問題の全てを対処し、試験、ツール開発及びデバックを桁違いに高速化することにつながる。さらに、REUTは、過去の実施でできなかったパラメータ及びコンディションをトレーニングするべく、BIOSに使用される十分なパフォーマンスを備えるトレーニングフックを提供する。
【0007】
「REUT」アーキテクチャは、相互接続ビルトインセルフテスト(IBIST)技術の更なる標準化のために開発された。REUTは、長年にわたるPCIプログラミングモデルを用いて、レジスタセットと、それらのレジスタに関連したアクセスメカニズムとを標準化する。PCIファンクションを規定することにより、コンポーネント実装とツール開発との間の関係を絶つことができる。付随の標準のレジスタセットとともにPCI標準プログラミングモデルを導入することにより、ソフトウエア再利用を長期に可能にするために必要なインフラストラクチャを提供することができる。
【0008】
図1をここで参照すると、REUTは、DRAMに対してリクエストを発行するために、標準のメモリコントローラスケジューラパスを利用する専用アドレス及びデータ生成ハードウエアを備える。ソフトウエアインターフェースはまた、ハードウエアを制御するために規定される。このプログラミングインターフェースは、プロダクトファミリー間のツールリコード尽力を最小限にするために、プロダクト間の一貫性を保つために十分なほど意図的に包括的である。
【0009】
REUTの主要試験メカニズムは、リンク又はDRAMエラーに対する試験をするために、ループバックを使用することである。DDRリンクループバックは、既知のデータパターンを用いて、メモリに対して書き込みを発行することによって達成される。このロケーションは後に読み戻され、メモリコントローラの送信側から受信側までのデータパスのどこかでエラーが生じたかどうかを判定するために、当パターンはビット毎ベースでチェックされる。ビット毎のエラー情報は、試験の間にレジスタに格納され、それらの結果がチェックされたときの試験時間を減らすために使用することができるグローバルエラー表示を生成するために、それらの結果は論理和(OR)合算される。
【0010】
ハードウエアのアドレス生成部分は、DDRインターフェースによって許される最大レートで、メモリ読出及び書込リクエストを生成することができる。この最大レートは、試験の高速化を達成すること、及び、最悪コンディションをターゲットにすることに対して有用である。全てのリクエストは、DRAMアドレスマッピングスキームで特定されたアドレスを用いてなされる。チャンネルにおけるランク及びページは、試験のターゲットとして特定される。リクエスト生成器は、複数のDRAMターンアラウンドケースを行使すべく、ランク及びページ間でリクエストをピンポンするために構成され得る。例えば、2ランクの間の全てのターンアラウンドをヒットするために、以下のシーケンスを発行してもよい。
WriteRank0 WriteRank1 ReadRank0 ReadRank1 repeat
【0011】
メモリアドレス信号を与えるために、線形方法で又は線形フィードバックシフトレジスタ(LFSR)を用いて、アドレスが生成されてもよい。1つのランクに対して1行で発行される、DRAMの読出及び書込数は、試験がどれくらいの期間実行されるかどうかを特定するループカウント(loopcount)とともに特定されてもよい。ループカウントは、ランタイムが2^(loopcount)に比例するようにべき乗である。
【0012】
データは、仕様のIO部分における専用パスにおいて生成されるが、これは本発明の要件でなくてもよい。このデータは、シンボル間干渉(ISI)、クロストーク及び共振効果の異なる組み合わせを生成するためにレジスタを通して制御されるパターンバッファとLFSRとの組み合わせを用いて生成される。データパターンがビット毎に如何に生成されるかを特定するために、バッファ選択レジスタは利用できる。レーン反転がまた、反転されるビットを特定する目的で、マスクベクトルを用いてビット毎ベースで利用される。
【0013】
メモリコントローラ内の、プラットフォーム上の、又は、DIMM内の電気的パラメータをセットアップすることによって及びREUT試験を行なうことによって、電気的パラメータマージニングが行なわれる。これらの電気的パラメータは概して、IO信号が抽出されるときのタイミング又は電圧を制御する。アイダイアグラムの全体像をユーザに与えるために、数値範囲にわたってスイープされてもよい。
【0014】
ターンアラウンドタイミング又はターミネーション設定、もっと言えば読出CASレイテンシー設定等のプルトコルパラメータに対して、同じREUT試験スイープを行なうことができる。これは、ターンアラウンド又はレイテンシーを最小限にすることによってパフォーマンスを最適化する目的で、BIOSによって用いられることができる。それは、非常に有益なデバックツールであることがまた証明されている。エラーの性質に対して素早いフィードバックを得るために、BIOSによってプログラムされた実際の設定を用いて、REUT試験は行なうことができる。
【0015】
本発明の実施例によって解決される確かな幾つかの問題がある。
1. バイオストレーニング
2. DIMMマージニング
3. 電気的検証試験時間
4. メモリコントローラ試験及びデバック
5. HVM試験及びスクリーン機能
【0016】
他の実装では、上記に列挙した問題の1つ又は2つだけしか解決できない。他の実装は概して、DDRリンク上で駆動されるショートシーケンスをプログラムすることをユーザに可能にさせる、ソフトウエアCPUベースの試験又は原始的ハードウエアを用いることによって、これらの問題を取り扱ってきた。
【0017】
ソフトウエアベースのアプローチは、プラットフォーム及びCPUデザインの観点から信頼性があることが証明されていない。また、トランザクションが注入される場所(CPUコア)とREUT(メモリコントローラ内部)との間の距離に起因して、トランザクションのタイミング及び順序付けにおいて制御が制限される。この制御の不足及び試験挙動における変動性により、ソフトウエアアプローチの試験時間の増加にともなって、ソフトウエアベースのアプローチは、REUTと比べてより望ましくなく、且つより効率的でないものとなる。
【0018】
指定されるショートシーケンスを可能にするアドホックハードウエアは、多くの場合、メモリプルトコルに従わず、DRAMコンロトーラのプロトコル設定をエミュレートすることをプログラマーに強いさせる。実際のプルトコル設定がREUTに使用されるので、これは制約とはならず、付加的なプログラミング複雑性ともならない。これはまた、プルトコルロジック及び設定をデバックするためにREUTが使用されることを可能にする。過去のアプローチは、試験のためのショートシーケンスの複数のプログラミングを必要とするので、ソフトウエアオーバヘッドが試験時間の大部分を占めていた。非常に長い固有の複数の試験が、最小限のアップフロントプログラミングを用いてセットアップできるので、これは、REUTの場合には当てはまらない。
【0019】
ここに記したREUTは、メモリコントローラのプルトコル層にダイレクトに注入されるトラフィックを特定することをユーザに可能にする。これにより、現実的なタイミング及び設定を用いて試験を行なうことができる。REUTはまた、プログラミングオーバヘッド無しで、長いデータシーケンスを特定するためにハードウエアに貢献する。コマンドとデータ生成ハードウエアとの組み合わせ、及び、トランザクションが注入されてチェックされる方法は、特有のREUTメカニズムである。
【0020】
プログラミングインターフェース及び専用ハードウエアの大部分は、現行のソリューションにおいて共通には存在しない。本発明の利点は、試験に要求される読出及び書込トランザクションをスケジュールするための、標準プルトコル層を介したインターフェースである。ハードウエアによってシーケンス化された長い固有の試験を特定できることによって試験時間を短縮することもまた、現行のソリューションでは実現できない。
【0021】
REUTは、バイオストレーニング、DIMMマージニング、HVM試験及び電気的リンク検証を含む、幅広い範囲に利用できる。これにより、顧客に、製造環境において彼らのDIMMを検査することを可能にさせるというBIOSにおける新しい特性を実現できる。従って、顧客は費用を節減でき、プロセッサの価値を高めることができる。DDRリンク試験時間は、リンク電気的問題の方々にわたってトレーニングする等の特性をバイオスにもたらすのに十分なほど短い。
【0022】
本発明の別の例によれば、DDR相互接続安定性は、プラットフォーム機能性及びOS起動に対して有利である。DDR周波数は、1600MTS及びそれを超えるまで増加しているので、タイミングを最適化するためには、より進歩したトレーニング回路が要求される。ここに記した「アドバンストデータパターン生成」と称する新しい方法は、より進歩したトレーニング能力を提供し、このため、プラットフォームDDR周波数をより速くすることができる(1600MTS及びそれを超える値)。
【0023】
現行の生成トレーニング回路の問題の1つは、これらの回路があまりにも単純すぎること(例えば、「1010」トグルしか生成しない)、又は、実装するためにあまりにも大きいシリコン領域を必要とすること(例えば、レーン毎の背後にパターン生成器を設ける)である。
【0024】
本発明の実施例は、3つの比較的小容量23ビットLFSRだけを用いて複雑な擬似乱数を生成することによって上記問題の両方を解決する、「アドバンストデータパターン生成」と称する新しい方法を導入する。
【0025】
この新しい方法の利点は、レーン毎(図では72個ある)が、全てのレーンにわたって同一のパターンが複製されなければならない現行の生成器と比べて、固有パターンを有することができることである。通常これは、機能パスへのデータをバッファし、72ビット幅である書込データバッファ(WDB)の再利用によって達成できる。
【0026】
ここで図2を参照すると、「大容量バッファ(WDB)コンセプト」が示されている。図2に示されたとおり、長方形が大容量バッファである。この場合、大容量バッファは、32のキャッシュライン深さを有し、各キャッシュラインは、8ビット深さインタイム(in time)である。通常は、1つのキャッシュラインは、任意の時間においてアクセス可能であり、512ビット幅である。8:1マルチプレクサは、DDRインターフェースのためにデータを72ビット幅にシリアライズ化する。8:1マルチプレクサの背後の通常の制御は、0、1、2、3、4、5、6、7、0、1、2、3...とカウントするリニアカウンタである。動作の新しいモードでは、リニアカウンタは、複数のLFSR及びM/Nによって置き換えられるので、3ビットシーケンスは、もはや線形ではなくなるであろう。
【0027】
図3に示したとおり、WDBは、LFSR1、LFSR2及びLFSR3の任意ブール組合せのルックアップテーブルを含むことができる大容量バッファである。単一のレーンにおいてこれがどのように動作するかを理解するために、特定のDDRレーンのWDBの8ビットインタイムが、以下の表の真理値表「Patternout」になるようにプログラムされた場合を考えると、LFSR1、LFSR2及びLFSR3の排他的論理和は、DDRレーン出力において実現されるであろう。
【0028】
図4は、異なるレーンにおいて複数のタイプのパターンが同時に如何に用いられるかを示す例である。以下の表の各セルは、1つのレーンに対して8ビットインタイムを含む。先に指摘したとおり、レーン毎ベースに、複雑なパターンを生成することができる。大容量バッファ(WDB)は、レーン毎に対して固有のビットを保持するのに十分な容量を含むので、ここでは、DDR相互接続の全ての72レーンは、WDBのプログラミングを変更することだけで、固有パターンによって駆動されることができる。8:1マルチプレクサを制御するための3つのLFSRと大容量バッファ(WDB)との組み合わせは、シリコン領域を著しく増加させること無しに、強力なデータパターン生成能力を提供する。
【0029】
本発明のさらなる実施例においては、統合された又は個別のグラフィックスの観点から、プラットフォーム機能にとって、グラフィックスダブルデータレート(GDDR)相互接続安定性が重要である。GDDR周波数は、マルチギガヘルツ及びそれを超えるところまで増加するので、タイミングを最適化するために、より進歩したトレーニング及び相互接続診断回路が必要とされる。
【0030】
「アドバンストデータパターン生成」と称する新しい方法は、進化したトレーニング及び相互接続診断能力を提供するので、GDDR周波数(マルチギガヘルツ)及び統合された又は個別のグラフィックスを含む次世代のプラットフォームを可能にする。
【0031】
現行の生成トレーニング回路が有する問題の1つは、これらの回路があまりにも単純すぎること(例えば、「1010」トグルしか生成しない)、又は、実装するためにあまりにも大きいシリコン領域を必要とすること(例えば、レーン毎の背後にパターン生成器を設ける)である。
【0032】
本発明の実施例は、1つのM/N生成器及び1つの32ビットシフトレジスタを追加するだけによって、シリコン領域を最小限にしながら、複雑な擬似乱数を生成することによって、上記問題の両方を解決する、「アドバンストデータパターン生成」と称する新しい方法を導入する。この新しい方法の利点は、全てのレーンにわたって、より広く、より深く、且つより豊富なパターンを生成するこができることである。
【0033】
ここで図5及び図6を参照し、特定のGDDRレーンの8ビットインタイムが、8ビットバッファに保持され、以下の表の真理値表「Patternout」になるようにプログラムされた場合を考えると、SG1、SG2及びSG3の排他的論理和は、GDDRレーン出力において実現されるであろう。SG1、SG2及びSG3が、M/N生成器によって混合された異なる擬似ランダムパターン(例えは、LFSR出力)である場合、GDDRレーン上の最終出力パターンは、LFSR1 XOR LFSR2 XOR M/Nによって得られるであろう。
【0034】
拡張バッファ:ここでは、上記のLUTコンセプトを、5ビットマルチプレクサ選択及び32ビットバッファによって制御される32:1マルチプレクサまで拡張する。ここでは、各GDDRレーンは、全ての5つの機能(2つの64ビットパターンバッファ、2つのLFSR及び1つのM/N生成器)のうちのある真理値表機能を実施するために用いられることができる、上記の図に示された「拡張バッファ」によって制御することができる。
【0035】
図5及び6には、GDDRの8つのレーン、従って8つの32ビット拡張バッファが示されている。これらの8つの拡張バッファは、シフトレジスタを形成するために接続されるので、8つのレーンにわたってパターンをシフトする能力を提供する。
【0036】
LFSR:固有の繰り返されないパターンの最大実行長を生成するための、特定のロケーションにおいてフィードバックを有する23ビットシフトレジスタ。
【0037】
M/N生成器:M/N生成器は、3つの相を生成する。プレカーソルは、「ロウ」であり、プレカーソルの長さは、レジスタを介して制御することができる。「M」は、カーソルを表し、ここでも、その長さはレジスタを介して制御することができる。最後に、「N」は、「N」ビットインタイムの実行長を有するポストカーソルを表す。
【0038】
図7は、M/N生成器が生成することができる波形の例を示す。
【0039】
レーン反転:上記に加え、レーン反転制御は、「ノーマル」パターンから特定のレーンを反転することができる。
【0040】
駆動DC:駆動DCは、レーンが、上記の「ノーマル」パターンの代わりに、DC「1」又は「0」であるかを制御する。
【0041】
本実施例によると、GDDRは、シリコン領域の増加を最小限にしながら、32レーンのそれぞれにおいて固有である複雑なパターン(LFSR)を用いてトレーニングされる。オンダイのより進化した相互接続診断パターンが提供される。32:1マルチプレクサを制御するための5つの機能(2つのLFSR、2つの64ビットパターンバッファ及び1つのM/N)と「拡張バッファ」との組み合わせは、トレーニング及び相互接続診断のための強力なデータパターン生成能力を提供する。
【0042】
本発明のさらなる実施例によれば、DDR相互接続安定性は、プラットフォーム機能性及びOS起動に対して重要である。DDR周波数は、1600MTS及びそれを超えるまで増加するので、タイミングを最適化するためには、より進歩したトレーニング回路が要求される。
【0043】
DDR3スペックは、CMD/アドレスピンをトレーニング又はマージニングするための明確なフックを提供しないので、現行の技術では、フルバンド幅最悪状況パターンを用いて、アドレスピンにストレスを与えることができない。その結果、現行の技術では、機能パターンを用いることを強いられ、CMD/アドレスは、DDRスペックに100パーセント適合したプルトコルでなければならない。しかしながら、要求されるプルトコル適合性は、単純なパターン生成器を用いて最悪状況パターンを生成することをはるかに困難にしている。
【0044】
この問題に対する過去のアプローチでは、バスに対して、最悪状況電源供給、ISI、共振及びクロストークノイズを同時に生成することができなかった。例えば、数サイクル以上の間CMD/アドレスバスのバンド幅を完全に飽和状態にさせることさえあり得る単純なハードウエア信号生成器に対して非常に困難である。最悪状況パターンを与えることに対するこの能力の不足は、システム全体の周波数、パフォーマンス及びデバック能力に影響を与える。
【0045】
本実施例によれば、「アドバンストアドレスパターン生成」と称する新しい方法は、進化したトレーニング能力を提供するので、より速いプラットフォームDDR周波数(1600MTS及びそれを超える値)を可能にする。現行の生成トレーニング回路が有する問題の1つは、これらの回路があまりにも単純すぎること(例えば、「1010」トグルしか生成しない)、又は、実装するためにあまりにも大きいシリコン領域を必要とすること(例えば、レーン毎の背後にパターン生成器を設ける)である。
【0046】
本実施例は、「アドバンストアドレスパターン生成」と称する新しい方法を導入する。この新しい方法の利点は、DDRアドレスピンに対して、最悪状況パターンを用いてフルバンド幅のストレスを与えることができることである。また、DIMM電源供給システムに対して、複数のページをランダムにオープン及びクローズすることによるトレーニングとして、同時にストレスを与えることができる。
【0047】
ここで図8を参照すると、以下に開示する幾つかのブロックを備えた、1つの実施例に準じたブロック図が確認できる。
【0048】
スケジューラの背景:スケジューラの目的は、DDRトランザクションのタイミングを制御することである。プルトコルレベルリフレッシュ、読出、書込サイクルは全て、プルトコルに適合していることが既に立証されているスケジューラを介して「スケジュール」される。
【0049】
決定論的生成器の背景:決定論的生成器は、N個のアドレスが格納される循環FIFOにすぎない。任意の時間において、N個のアドレスの1つが、スケジューラに送られるであろう。決定論的生成器は、最悪状況ターンアラウンドタイムを与える、連続ページサイクル及び連続ランクサイクルを生成することができる。
【0050】
ランダムページ生成器の背景:決定論的生成器が、DIMMに対してより大きい電源線ストレスを与えるために、N個の正確に制御されたアドレスをシーケンスに並べることができる一方で、「ランダムページ生成器」は、その他の未使用のバンクに対する、ランダムオープン及びクローズページリクエストを生成することができる。メモリコントローラとは異なり、IOトラフィック負荷が大きい状態で、最悪状況のDRAM電源供給は起こらないので、このことは重要である。むしろ、ページオープン及びクローズリクエストによって、最も大きいdI/dT及び供給ノイズがDRAMに生成される。この方法はまた、オープン/クローズリクエストの頻度に対する制御を可能にし、DIMM電源供給ネットワーク内の異なる共振周波数をターゲットにすることができる。
【0051】
DDR CMD/ADDRラインにおけるフルバンド幅の達成方法:スケジューラが、DDRバス発行コマンドに対してビジーでない場合、プルトコルは、ノープ(NoOp)又は非選択コマンドがバスにあることを許す。この場合、ノープに関連した実際のアドレスビットは何でもよく、DRAMによって無視されるであろう。フルバンド幅を満たす1つの方法は、ノープ/非選択アドレス生成の背後に2つのLFSRを設けることである。これは、本質的に、実際のアドレスコマンドに対して、「ノイズの多い」プレカーソル及びポストカーソルを生成する。
【0052】
これらの全ての要素を図8の略図に組み合わせることによって、本発明は、DDRアドレスコマンドピンに対して、フルバンド幅トラフィックを生成することができ、ストレスに対するページ及びランクを正確に生成することができ、DIMMの電源供給システムにストレスを与えることができる。これにより、ノープ/非選択トラフィックを用いて相互接続ノイズを保つことができ、2つのLFSRを用いて、バスに対して多様なISI/クロストークシナリオを与えることができる。これらの全ての組み合わせは、最善なトレーニング結果を得ることために、相互接続部に素早くストレスを与えることができ、これにより、より高いDDR周波数を可能にする強力な進化したトレーニング回路を実現する。
【0053】
さらなる別の実施例によると、「アドバンストアドレスパターン生成」と称する新しい方法は、アドレス範囲にわたってシーケンシャルにすること、及び、アドレス範囲の間をランダムにジャンプすることができるので、GDDRタイミングを最適化するために必要とされるパターンを提供することができる。この新しい方法の利点は、ハードウエアを変更することなしに、GDDRメモリコンフィグレーションの変化に適用できることである。
【0054】
図9を参照すると、内部アドレス生成の背景を示す図が確認できる。アドレス生成器は、図9に示された内部アドレスを常に生成してもよい。トータル内部アドレスは、「交互」セグメント及び「シーケンシャル」セグメントを含む。アドレス生成の交互セグメントは、レジスタによってプログラムされたN個のアドレス値の間を行ったり来たりしたりできるので、交互セグメントと称する。「シーケンシャル」セグメントは、ここでもレジスタによってプログラムされた出発アドレスから終了アドレスまでシーケンシャルにカウントすることができるので、「シーケンシャル」セグメントと称する。シーケンシャルセグメントはまた、ランダムアドレスを提供するために、LFSRによって生成することができる。
【0055】
ここで図10を参照すると、物理アドレス幅は、Nビット幅のバンク、Mビット幅のページ及びOビット幅のカラムを含む。特定のプラットフォームのそれぞれは、毎回異なるN、M、O値を用いて、パワーオンすることができる。したがって、物理アドレス幅は、如何にして自身のGGDRメモリが設けられるかによって決定される。
【0056】
当然、ある種のマッピングは、内部アドレスと物理アドレス間を変換するために存在するはずである。物理アドレス幅は、パワーサイクル毎に変えることができるので、マッピングは、パワーオンメモリ存在検知に結びついている必要があるか、又は、レジスタ制御され、アドレス生成器を用いる前に正しい値で書き込まれる必要がある。マッピングロジックを図11の概略図で示す。
【0057】
これらの要素を全て組み合わせることで、進化したパターン生成器は、Jビットの交互アドレス、Kビットのリニアアドレス又はランダムアドレスを生成することができ、それをN、M、O何れかのビットの物理アドレスに対してマップすることができる。これらの全ては、メモリ存在検知又はレジスタオーバライドを介して制御することができる。この結果、十分に順応性があり、再利用可能アドレスパターン生成器が実現できる。
【0058】
抄録で記載された部分も含む、本発明の実施例の上記記載は、開示された厳格な形式に本発明を限定又は特化することを意図していない。本発明の特定の実施形態及び実施例を説明の目的で開示してきたが、当業者であれば認識できるであろうとおり、本発明の範囲を逸脱しない範囲で、多様な同等改良が可能である。
【0059】
これらの改良は、上記詳細の記載を考慮して、本発明に適用することができる。以下の請求項で用いた用語は、本発明を明細書及び請求項で開示された特定の実施例に限定することを意図していない。むしろ、本発明の範囲は、以下の請求項によって全面的に決定されるべきであり、請求項の解釈において確立された均等論に従って解釈されるべきである。
【技術分野】
【0001】
本発明の形態は、メモリリンク試験、特にロバスト電気統合試験(REUT)に関する。
【背景技術】
【0002】
メモリコントローラからのメモリリンクの電気的試験は、デザインベースで変更でき、しばしばソフトウエア集約的であり、実行に多大な時間を有する、アドホック特性を備えている。電気的検証ツールは、共通のコンフィグレーション仕様が無いため、デザイン毎に書き換えられる必要があった。また、過去のメモリ試験フックは、メモリコントローラの標準機能パスに組み込めなかったので、タイミング、ページポリシー、リフレッシュレート及び省力化等の多様なノブに対してコンフィグレーション設定をエミュレートするように試験を構築しなければならなかった。
【図面の簡単な説明】
【0003】
上記の点及び本発明のより良い理解は、添付の図面と関連して読みことで、構成についての以下の詳細の記載、実施例及び請求項から明らかになるであろう。構成についての以下の詳細の記載、実施例及び請求項の全ては、本発明の開示の一部を形成している。上記及び下記に記載され説明された開示は、本発明の構成及び実施例を開示することに焦点を当てているが、これらは説明及び例示のためだけであり、本発明がこれらに限定されないことは明確に理解できるであろう。
【0004】
【図1】DDR・REUTデータブロックを示す回路図である。
【図2】パターン生成の大容量バッファコンセプトを示す回路図である。
【図3】線形フィードバックシフトレジスタ(LFSR)の任意ブール組合せのルックアップテーブルを示す。
【図4】異なるレーンにおいて複数のタイプのパターンが同時に如何に用いられるかを示すチャートである。
【図5】GDDRピンの固有パターンを制御するブール関数をプログラムするための拡張バッファを示すブロック図である。
【図6】patternoutの真理値表を示す。
【図7】M/N生成器によって生成される波形の一例である。
【図8】アドバンストアドレスパターン生成を示すブロック図である。
【図9】交互セグメントとシーケンシャルセグメントを含む内部アドレスを示す図である。
【図10】バンク、ページ及びカラムビットを含むアドレス幅を示す図である。
【図11】アドバンストパターン生成を示すブロック図である。
【発明を実施するための形態】
【0005】
本明細書を通しての「1つの実施例」又は「ある実施例」との引用は、当実施例に関連して記載された特定の特徴、構成又は特性が、本願発明の少なくとも1つの実施例に含まれることを意味する。よって、本明細書を通してのさまざまな場所における「1つの実施例」又は「ある実施例」との表現の使用は、必ずしも全てが同一の実施例を示すことを意図していない。また、特定の特徴、構成又は特性は、1つ以上の実施例において適する方法で組み合わされてもよい。
【0006】
本発明の1つの実施例によると、メモリリンクのためのREUT(Robust Electrical Unified Testing)は、先に述べた問題の全てを対処し、試験、ツール開発及びデバックを桁違いに高速化することにつながる。さらに、REUTは、過去の実施でできなかったパラメータ及びコンディションをトレーニングするべく、BIOSに使用される十分なパフォーマンスを備えるトレーニングフックを提供する。
【0007】
「REUT」アーキテクチャは、相互接続ビルトインセルフテスト(IBIST)技術の更なる標準化のために開発された。REUTは、長年にわたるPCIプログラミングモデルを用いて、レジスタセットと、それらのレジスタに関連したアクセスメカニズムとを標準化する。PCIファンクションを規定することにより、コンポーネント実装とツール開発との間の関係を絶つことができる。付随の標準のレジスタセットとともにPCI標準プログラミングモデルを導入することにより、ソフトウエア再利用を長期に可能にするために必要なインフラストラクチャを提供することができる。
【0008】
図1をここで参照すると、REUTは、DRAMに対してリクエストを発行するために、標準のメモリコントローラスケジューラパスを利用する専用アドレス及びデータ生成ハードウエアを備える。ソフトウエアインターフェースはまた、ハードウエアを制御するために規定される。このプログラミングインターフェースは、プロダクトファミリー間のツールリコード尽力を最小限にするために、プロダクト間の一貫性を保つために十分なほど意図的に包括的である。
【0009】
REUTの主要試験メカニズムは、リンク又はDRAMエラーに対する試験をするために、ループバックを使用することである。DDRリンクループバックは、既知のデータパターンを用いて、メモリに対して書き込みを発行することによって達成される。このロケーションは後に読み戻され、メモリコントローラの送信側から受信側までのデータパスのどこかでエラーが生じたかどうかを判定するために、当パターンはビット毎ベースでチェックされる。ビット毎のエラー情報は、試験の間にレジスタに格納され、それらの結果がチェックされたときの試験時間を減らすために使用することができるグローバルエラー表示を生成するために、それらの結果は論理和(OR)合算される。
【0010】
ハードウエアのアドレス生成部分は、DDRインターフェースによって許される最大レートで、メモリ読出及び書込リクエストを生成することができる。この最大レートは、試験の高速化を達成すること、及び、最悪コンディションをターゲットにすることに対して有用である。全てのリクエストは、DRAMアドレスマッピングスキームで特定されたアドレスを用いてなされる。チャンネルにおけるランク及びページは、試験のターゲットとして特定される。リクエスト生成器は、複数のDRAMターンアラウンドケースを行使すべく、ランク及びページ間でリクエストをピンポンするために構成され得る。例えば、2ランクの間の全てのターンアラウンドをヒットするために、以下のシーケンスを発行してもよい。
WriteRank0 WriteRank1 ReadRank0 ReadRank1 repeat
【0011】
メモリアドレス信号を与えるために、線形方法で又は線形フィードバックシフトレジスタ(LFSR)を用いて、アドレスが生成されてもよい。1つのランクに対して1行で発行される、DRAMの読出及び書込数は、試験がどれくらいの期間実行されるかどうかを特定するループカウント(loopcount)とともに特定されてもよい。ループカウントは、ランタイムが2^(loopcount)に比例するようにべき乗である。
【0012】
データは、仕様のIO部分における専用パスにおいて生成されるが、これは本発明の要件でなくてもよい。このデータは、シンボル間干渉(ISI)、クロストーク及び共振効果の異なる組み合わせを生成するためにレジスタを通して制御されるパターンバッファとLFSRとの組み合わせを用いて生成される。データパターンがビット毎に如何に生成されるかを特定するために、バッファ選択レジスタは利用できる。レーン反転がまた、反転されるビットを特定する目的で、マスクベクトルを用いてビット毎ベースで利用される。
【0013】
メモリコントローラ内の、プラットフォーム上の、又は、DIMM内の電気的パラメータをセットアップすることによって及びREUT試験を行なうことによって、電気的パラメータマージニングが行なわれる。これらの電気的パラメータは概して、IO信号が抽出されるときのタイミング又は電圧を制御する。アイダイアグラムの全体像をユーザに与えるために、数値範囲にわたってスイープされてもよい。
【0014】
ターンアラウンドタイミング又はターミネーション設定、もっと言えば読出CASレイテンシー設定等のプルトコルパラメータに対して、同じREUT試験スイープを行なうことができる。これは、ターンアラウンド又はレイテンシーを最小限にすることによってパフォーマンスを最適化する目的で、BIOSによって用いられることができる。それは、非常に有益なデバックツールであることがまた証明されている。エラーの性質に対して素早いフィードバックを得るために、BIOSによってプログラムされた実際の設定を用いて、REUT試験は行なうことができる。
【0015】
本発明の実施例によって解決される確かな幾つかの問題がある。
1. バイオストレーニング
2. DIMMマージニング
3. 電気的検証試験時間
4. メモリコントローラ試験及びデバック
5. HVM試験及びスクリーン機能
【0016】
他の実装では、上記に列挙した問題の1つ又は2つだけしか解決できない。他の実装は概して、DDRリンク上で駆動されるショートシーケンスをプログラムすることをユーザに可能にさせる、ソフトウエアCPUベースの試験又は原始的ハードウエアを用いることによって、これらの問題を取り扱ってきた。
【0017】
ソフトウエアベースのアプローチは、プラットフォーム及びCPUデザインの観点から信頼性があることが証明されていない。また、トランザクションが注入される場所(CPUコア)とREUT(メモリコントローラ内部)との間の距離に起因して、トランザクションのタイミング及び順序付けにおいて制御が制限される。この制御の不足及び試験挙動における変動性により、ソフトウエアアプローチの試験時間の増加にともなって、ソフトウエアベースのアプローチは、REUTと比べてより望ましくなく、且つより効率的でないものとなる。
【0018】
指定されるショートシーケンスを可能にするアドホックハードウエアは、多くの場合、メモリプルトコルに従わず、DRAMコンロトーラのプロトコル設定をエミュレートすることをプログラマーに強いさせる。実際のプルトコル設定がREUTに使用されるので、これは制約とはならず、付加的なプログラミング複雑性ともならない。これはまた、プルトコルロジック及び設定をデバックするためにREUTが使用されることを可能にする。過去のアプローチは、試験のためのショートシーケンスの複数のプログラミングを必要とするので、ソフトウエアオーバヘッドが試験時間の大部分を占めていた。非常に長い固有の複数の試験が、最小限のアップフロントプログラミングを用いてセットアップできるので、これは、REUTの場合には当てはまらない。
【0019】
ここに記したREUTは、メモリコントローラのプルトコル層にダイレクトに注入されるトラフィックを特定することをユーザに可能にする。これにより、現実的なタイミング及び設定を用いて試験を行なうことができる。REUTはまた、プログラミングオーバヘッド無しで、長いデータシーケンスを特定するためにハードウエアに貢献する。コマンドとデータ生成ハードウエアとの組み合わせ、及び、トランザクションが注入されてチェックされる方法は、特有のREUTメカニズムである。
【0020】
プログラミングインターフェース及び専用ハードウエアの大部分は、現行のソリューションにおいて共通には存在しない。本発明の利点は、試験に要求される読出及び書込トランザクションをスケジュールするための、標準プルトコル層を介したインターフェースである。ハードウエアによってシーケンス化された長い固有の試験を特定できることによって試験時間を短縮することもまた、現行のソリューションでは実現できない。
【0021】
REUTは、バイオストレーニング、DIMMマージニング、HVM試験及び電気的リンク検証を含む、幅広い範囲に利用できる。これにより、顧客に、製造環境において彼らのDIMMを検査することを可能にさせるというBIOSにおける新しい特性を実現できる。従って、顧客は費用を節減でき、プロセッサの価値を高めることができる。DDRリンク試験時間は、リンク電気的問題の方々にわたってトレーニングする等の特性をバイオスにもたらすのに十分なほど短い。
【0022】
本発明の別の例によれば、DDR相互接続安定性は、プラットフォーム機能性及びOS起動に対して有利である。DDR周波数は、1600MTS及びそれを超えるまで増加しているので、タイミングを最適化するためには、より進歩したトレーニング回路が要求される。ここに記した「アドバンストデータパターン生成」と称する新しい方法は、より進歩したトレーニング能力を提供し、このため、プラットフォームDDR周波数をより速くすることができる(1600MTS及びそれを超える値)。
【0023】
現行の生成トレーニング回路の問題の1つは、これらの回路があまりにも単純すぎること(例えば、「1010」トグルしか生成しない)、又は、実装するためにあまりにも大きいシリコン領域を必要とすること(例えば、レーン毎の背後にパターン生成器を設ける)である。
【0024】
本発明の実施例は、3つの比較的小容量23ビットLFSRだけを用いて複雑な擬似乱数を生成することによって上記問題の両方を解決する、「アドバンストデータパターン生成」と称する新しい方法を導入する。
【0025】
この新しい方法の利点は、レーン毎(図では72個ある)が、全てのレーンにわたって同一のパターンが複製されなければならない現行の生成器と比べて、固有パターンを有することができることである。通常これは、機能パスへのデータをバッファし、72ビット幅である書込データバッファ(WDB)の再利用によって達成できる。
【0026】
ここで図2を参照すると、「大容量バッファ(WDB)コンセプト」が示されている。図2に示されたとおり、長方形が大容量バッファである。この場合、大容量バッファは、32のキャッシュライン深さを有し、各キャッシュラインは、8ビット深さインタイム(in time)である。通常は、1つのキャッシュラインは、任意の時間においてアクセス可能であり、512ビット幅である。8:1マルチプレクサは、DDRインターフェースのためにデータを72ビット幅にシリアライズ化する。8:1マルチプレクサの背後の通常の制御は、0、1、2、3、4、5、6、7、0、1、2、3...とカウントするリニアカウンタである。動作の新しいモードでは、リニアカウンタは、複数のLFSR及びM/Nによって置き換えられるので、3ビットシーケンスは、もはや線形ではなくなるであろう。
【0027】
図3に示したとおり、WDBは、LFSR1、LFSR2及びLFSR3の任意ブール組合せのルックアップテーブルを含むことができる大容量バッファである。単一のレーンにおいてこれがどのように動作するかを理解するために、特定のDDRレーンのWDBの8ビットインタイムが、以下の表の真理値表「Patternout」になるようにプログラムされた場合を考えると、LFSR1、LFSR2及びLFSR3の排他的論理和は、DDRレーン出力において実現されるであろう。
【0028】
図4は、異なるレーンにおいて複数のタイプのパターンが同時に如何に用いられるかを示す例である。以下の表の各セルは、1つのレーンに対して8ビットインタイムを含む。先に指摘したとおり、レーン毎ベースに、複雑なパターンを生成することができる。大容量バッファ(WDB)は、レーン毎に対して固有のビットを保持するのに十分な容量を含むので、ここでは、DDR相互接続の全ての72レーンは、WDBのプログラミングを変更することだけで、固有パターンによって駆動されることができる。8:1マルチプレクサを制御するための3つのLFSRと大容量バッファ(WDB)との組み合わせは、シリコン領域を著しく増加させること無しに、強力なデータパターン生成能力を提供する。
【0029】
本発明のさらなる実施例においては、統合された又は個別のグラフィックスの観点から、プラットフォーム機能にとって、グラフィックスダブルデータレート(GDDR)相互接続安定性が重要である。GDDR周波数は、マルチギガヘルツ及びそれを超えるところまで増加するので、タイミングを最適化するために、より進歩したトレーニング及び相互接続診断回路が必要とされる。
【0030】
「アドバンストデータパターン生成」と称する新しい方法は、進化したトレーニング及び相互接続診断能力を提供するので、GDDR周波数(マルチギガヘルツ)及び統合された又は個別のグラフィックスを含む次世代のプラットフォームを可能にする。
【0031】
現行の生成トレーニング回路が有する問題の1つは、これらの回路があまりにも単純すぎること(例えば、「1010」トグルしか生成しない)、又は、実装するためにあまりにも大きいシリコン領域を必要とすること(例えば、レーン毎の背後にパターン生成器を設ける)である。
【0032】
本発明の実施例は、1つのM/N生成器及び1つの32ビットシフトレジスタを追加するだけによって、シリコン領域を最小限にしながら、複雑な擬似乱数を生成することによって、上記問題の両方を解決する、「アドバンストデータパターン生成」と称する新しい方法を導入する。この新しい方法の利点は、全てのレーンにわたって、より広く、より深く、且つより豊富なパターンを生成するこができることである。
【0033】
ここで図5及び図6を参照し、特定のGDDRレーンの8ビットインタイムが、8ビットバッファに保持され、以下の表の真理値表「Patternout」になるようにプログラムされた場合を考えると、SG1、SG2及びSG3の排他的論理和は、GDDRレーン出力において実現されるであろう。SG1、SG2及びSG3が、M/N生成器によって混合された異なる擬似ランダムパターン(例えは、LFSR出力)である場合、GDDRレーン上の最終出力パターンは、LFSR1 XOR LFSR2 XOR M/Nによって得られるであろう。
【0034】
拡張バッファ:ここでは、上記のLUTコンセプトを、5ビットマルチプレクサ選択及び32ビットバッファによって制御される32:1マルチプレクサまで拡張する。ここでは、各GDDRレーンは、全ての5つの機能(2つの64ビットパターンバッファ、2つのLFSR及び1つのM/N生成器)のうちのある真理値表機能を実施するために用いられることができる、上記の図に示された「拡張バッファ」によって制御することができる。
【0035】
図5及び6には、GDDRの8つのレーン、従って8つの32ビット拡張バッファが示されている。これらの8つの拡張バッファは、シフトレジスタを形成するために接続されるので、8つのレーンにわたってパターンをシフトする能力を提供する。
【0036】
LFSR:固有の繰り返されないパターンの最大実行長を生成するための、特定のロケーションにおいてフィードバックを有する23ビットシフトレジスタ。
【0037】
M/N生成器:M/N生成器は、3つの相を生成する。プレカーソルは、「ロウ」であり、プレカーソルの長さは、レジスタを介して制御することができる。「M」は、カーソルを表し、ここでも、その長さはレジスタを介して制御することができる。最後に、「N」は、「N」ビットインタイムの実行長を有するポストカーソルを表す。
【0038】
図7は、M/N生成器が生成することができる波形の例を示す。
【0039】
レーン反転:上記に加え、レーン反転制御は、「ノーマル」パターンから特定のレーンを反転することができる。
【0040】
駆動DC:駆動DCは、レーンが、上記の「ノーマル」パターンの代わりに、DC「1」又は「0」であるかを制御する。
【0041】
本実施例によると、GDDRは、シリコン領域の増加を最小限にしながら、32レーンのそれぞれにおいて固有である複雑なパターン(LFSR)を用いてトレーニングされる。オンダイのより進化した相互接続診断パターンが提供される。32:1マルチプレクサを制御するための5つの機能(2つのLFSR、2つの64ビットパターンバッファ及び1つのM/N)と「拡張バッファ」との組み合わせは、トレーニング及び相互接続診断のための強力なデータパターン生成能力を提供する。
【0042】
本発明のさらなる実施例によれば、DDR相互接続安定性は、プラットフォーム機能性及びOS起動に対して重要である。DDR周波数は、1600MTS及びそれを超えるまで増加するので、タイミングを最適化するためには、より進歩したトレーニング回路が要求される。
【0043】
DDR3スペックは、CMD/アドレスピンをトレーニング又はマージニングするための明確なフックを提供しないので、現行の技術では、フルバンド幅最悪状況パターンを用いて、アドレスピンにストレスを与えることができない。その結果、現行の技術では、機能パターンを用いることを強いられ、CMD/アドレスは、DDRスペックに100パーセント適合したプルトコルでなければならない。しかしながら、要求されるプルトコル適合性は、単純なパターン生成器を用いて最悪状況パターンを生成することをはるかに困難にしている。
【0044】
この問題に対する過去のアプローチでは、バスに対して、最悪状況電源供給、ISI、共振及びクロストークノイズを同時に生成することができなかった。例えば、数サイクル以上の間CMD/アドレスバスのバンド幅を完全に飽和状態にさせることさえあり得る単純なハードウエア信号生成器に対して非常に困難である。最悪状況パターンを与えることに対するこの能力の不足は、システム全体の周波数、パフォーマンス及びデバック能力に影響を与える。
【0045】
本実施例によれば、「アドバンストアドレスパターン生成」と称する新しい方法は、進化したトレーニング能力を提供するので、より速いプラットフォームDDR周波数(1600MTS及びそれを超える値)を可能にする。現行の生成トレーニング回路が有する問題の1つは、これらの回路があまりにも単純すぎること(例えば、「1010」トグルしか生成しない)、又は、実装するためにあまりにも大きいシリコン領域を必要とすること(例えば、レーン毎の背後にパターン生成器を設ける)である。
【0046】
本実施例は、「アドバンストアドレスパターン生成」と称する新しい方法を導入する。この新しい方法の利点は、DDRアドレスピンに対して、最悪状況パターンを用いてフルバンド幅のストレスを与えることができることである。また、DIMM電源供給システムに対して、複数のページをランダムにオープン及びクローズすることによるトレーニングとして、同時にストレスを与えることができる。
【0047】
ここで図8を参照すると、以下に開示する幾つかのブロックを備えた、1つの実施例に準じたブロック図が確認できる。
【0048】
スケジューラの背景:スケジューラの目的は、DDRトランザクションのタイミングを制御することである。プルトコルレベルリフレッシュ、読出、書込サイクルは全て、プルトコルに適合していることが既に立証されているスケジューラを介して「スケジュール」される。
【0049】
決定論的生成器の背景:決定論的生成器は、N個のアドレスが格納される循環FIFOにすぎない。任意の時間において、N個のアドレスの1つが、スケジューラに送られるであろう。決定論的生成器は、最悪状況ターンアラウンドタイムを与える、連続ページサイクル及び連続ランクサイクルを生成することができる。
【0050】
ランダムページ生成器の背景:決定論的生成器が、DIMMに対してより大きい電源線ストレスを与えるために、N個の正確に制御されたアドレスをシーケンスに並べることができる一方で、「ランダムページ生成器」は、その他の未使用のバンクに対する、ランダムオープン及びクローズページリクエストを生成することができる。メモリコントローラとは異なり、IOトラフィック負荷が大きい状態で、最悪状況のDRAM電源供給は起こらないので、このことは重要である。むしろ、ページオープン及びクローズリクエストによって、最も大きいdI/dT及び供給ノイズがDRAMに生成される。この方法はまた、オープン/クローズリクエストの頻度に対する制御を可能にし、DIMM電源供給ネットワーク内の異なる共振周波数をターゲットにすることができる。
【0051】
DDR CMD/ADDRラインにおけるフルバンド幅の達成方法:スケジューラが、DDRバス発行コマンドに対してビジーでない場合、プルトコルは、ノープ(NoOp)又は非選択コマンドがバスにあることを許す。この場合、ノープに関連した実際のアドレスビットは何でもよく、DRAMによって無視されるであろう。フルバンド幅を満たす1つの方法は、ノープ/非選択アドレス生成の背後に2つのLFSRを設けることである。これは、本質的に、実際のアドレスコマンドに対して、「ノイズの多い」プレカーソル及びポストカーソルを生成する。
【0052】
これらの全ての要素を図8の略図に組み合わせることによって、本発明は、DDRアドレスコマンドピンに対して、フルバンド幅トラフィックを生成することができ、ストレスに対するページ及びランクを正確に生成することができ、DIMMの電源供給システムにストレスを与えることができる。これにより、ノープ/非選択トラフィックを用いて相互接続ノイズを保つことができ、2つのLFSRを用いて、バスに対して多様なISI/クロストークシナリオを与えることができる。これらの全ての組み合わせは、最善なトレーニング結果を得ることために、相互接続部に素早くストレスを与えることができ、これにより、より高いDDR周波数を可能にする強力な進化したトレーニング回路を実現する。
【0053】
さらなる別の実施例によると、「アドバンストアドレスパターン生成」と称する新しい方法は、アドレス範囲にわたってシーケンシャルにすること、及び、アドレス範囲の間をランダムにジャンプすることができるので、GDDRタイミングを最適化するために必要とされるパターンを提供することができる。この新しい方法の利点は、ハードウエアを変更することなしに、GDDRメモリコンフィグレーションの変化に適用できることである。
【0054】
図9を参照すると、内部アドレス生成の背景を示す図が確認できる。アドレス生成器は、図9に示された内部アドレスを常に生成してもよい。トータル内部アドレスは、「交互」セグメント及び「シーケンシャル」セグメントを含む。アドレス生成の交互セグメントは、レジスタによってプログラムされたN個のアドレス値の間を行ったり来たりしたりできるので、交互セグメントと称する。「シーケンシャル」セグメントは、ここでもレジスタによってプログラムされた出発アドレスから終了アドレスまでシーケンシャルにカウントすることができるので、「シーケンシャル」セグメントと称する。シーケンシャルセグメントはまた、ランダムアドレスを提供するために、LFSRによって生成することができる。
【0055】
ここで図10を参照すると、物理アドレス幅は、Nビット幅のバンク、Mビット幅のページ及びOビット幅のカラムを含む。特定のプラットフォームのそれぞれは、毎回異なるN、M、O値を用いて、パワーオンすることができる。したがって、物理アドレス幅は、如何にして自身のGGDRメモリが設けられるかによって決定される。
【0056】
当然、ある種のマッピングは、内部アドレスと物理アドレス間を変換するために存在するはずである。物理アドレス幅は、パワーサイクル毎に変えることができるので、マッピングは、パワーオンメモリ存在検知に結びついている必要があるか、又は、レジスタ制御され、アドレス生成器を用いる前に正しい値で書き込まれる必要がある。マッピングロジックを図11の概略図で示す。
【0057】
これらの要素を全て組み合わせることで、進化したパターン生成器は、Jビットの交互アドレス、Kビットのリニアアドレス又はランダムアドレスを生成することができ、それをN、M、O何れかのビットの物理アドレスに対してマップすることができる。これらの全ては、メモリ存在検知又はレジスタオーバライドを介して制御することができる。この結果、十分に順応性があり、再利用可能アドレスパターン生成器が実現できる。
【0058】
抄録で記載された部分も含む、本発明の実施例の上記記載は、開示された厳格な形式に本発明を限定又は特化することを意図していない。本発明の特定の実施形態及び実施例を説明の目的で開示してきたが、当業者であれば認識できるであろうとおり、本発明の範囲を逸脱しない範囲で、多様な同等改良が可能である。
【0059】
これらの改良は、上記詳細の記載を考慮して、本発明に適用することができる。以下の請求項で用いた用語は、本発明を明細書及び請求項で開示された特定の実施例に限定することを意図していない。むしろ、本発明の範囲は、以下の請求項によって全面的に決定されるべきであり、請求項の解釈において確立された均等論に従って解釈されるべきである。
【特許請求の範囲】
【請求項1】
既知のデータパターンを用いて、メモリロケーションに対する書込コマンドを発行する工程と、
前記メモリロケーションから前記データをリードバックする工程と、
エラーが生じたかどうかを決定するために、前記既知のデータパターンを用いて、前記リードバックされたデータを、ビット毎にチェックする工程と、
ビット毎のエラー情報をレジスタに格納する工程と、
グローバルエラー表示を生成するために、前記ビット毎のエラー情報の論理和演算をする工程と
を備える方法。
【請求項2】
第1の複数のキャッシュライン深さを有し、前記第1の複数のキャッシュラインのそれぞれが第2の複数のビット深さインタイムを有するバッファと、
前記バッファに接続され、前記バッファからのデータをシリアライズ化するマルチプレクサと
前記マルチプレクサに複数の選択ビットを提供する複数の線形シフトレジスタと、
を備える装置。
【請求項3】
複数のダブルデータレート(DDR)アドレスコマンドピンに対してフルバンド幅トラフィックを生成する方法であって、
前記複数のダブルデータレートアドレスコマンドピンに対して、実際のアドレス情報をスケジュールするスケジューラと、
前記スケジューラが待機しているときに、前記複数のダブルデータレートアドレスコマンドピンに対して複数のランダムアドレスを生成するノープ生成回路と、
前記ノープ生成回路に接続された複数の線形フィードバックシフトレジスタ(LFSR)と
を備える方法。
【請求項4】
メモリアドレスパターン生成方法であって、
トータルのアドレス幅を第1のセグメントと第2のセグメントとに分ける工程と、
前記トータルのアドレスの前記第1のセグメントに対する複数の交互アドレスパターンを格納する複数のレジスタを設ける工程と、
前記トータルのアドレスの前記第2のセグメントに対する出発アドレスから終了アドレスまでをシーケンシャルにカウントするカウンタを設ける工程と
を備える方法。
【請求項1】
既知のデータパターンを用いて、メモリロケーションに対する書込コマンドを発行する工程と、
前記メモリロケーションから前記データをリードバックする工程と、
エラーが生じたかどうかを決定するために、前記既知のデータパターンを用いて、前記リードバックされたデータを、ビット毎にチェックする工程と、
ビット毎のエラー情報をレジスタに格納する工程と、
グローバルエラー表示を生成するために、前記ビット毎のエラー情報の論理和演算をする工程と
を備える方法。
【請求項2】
第1の複数のキャッシュライン深さを有し、前記第1の複数のキャッシュラインのそれぞれが第2の複数のビット深さインタイムを有するバッファと、
前記バッファに接続され、前記バッファからのデータをシリアライズ化するマルチプレクサと
前記マルチプレクサに複数の選択ビットを提供する複数の線形シフトレジスタと、
を備える装置。
【請求項3】
複数のダブルデータレート(DDR)アドレスコマンドピンに対してフルバンド幅トラフィックを生成する方法であって、
前記複数のダブルデータレートアドレスコマンドピンに対して、実際のアドレス情報をスケジュールするスケジューラと、
前記スケジューラが待機しているときに、前記複数のダブルデータレートアドレスコマンドピンに対して複数のランダムアドレスを生成するノープ生成回路と、
前記ノープ生成回路に接続された複数の線形フィードバックシフトレジスタ(LFSR)と
を備える方法。
【請求項4】
メモリアドレスパターン生成方法であって、
トータルのアドレス幅を第1のセグメントと第2のセグメントとに分ける工程と、
前記トータルのアドレスの前記第1のセグメントに対する複数の交互アドレスパターンを格納する複数のレジスタを設ける工程と、
前記トータルのアドレスの前記第2のセグメントに対する出発アドレスから終了アドレスまでをシーケンシャルにカウントするカウンタを設ける工程と
を備える方法。
【図1】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2012−529721(P2012−529721A)
【公表日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2012−515233(P2012−515233)
【出願日】平成22年12月10日(2010.12.10)
【国際出願番号】PCT/US2010/059823
【国際公開番号】WO2011/081843
【国際公開日】平成23年7月7日(2011.7.7)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】
【公表日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願日】平成22年12月10日(2010.12.10)
【国際出願番号】PCT/US2010/059823
【国際公開番号】WO2011/081843
【国際公開日】平成23年7月7日(2011.7.7)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】
[ Back to top ]