DDR/DDR2 システムの間欠的なメモリ障害のデバッグ

DDR/DDR2 システムの間欠的なメモリ障害のデバッグ
アプリケーション・ノート
はじめに
間欠的なメモリ障害が生じたときに、デバッグを比較的容易に実行できるエンジニアリング・チー
ムもあれば、大変な苦労を強いられるチームもあります。間欠的なメモリ障害の根本原因を追
及する際に、貴重な時間を無駄にしないためには、どのようなことに気を付ければよいでしょう
か。
メモリ障害の代表的な原因としては、タイミング関係、プロトコル違反、クロック品質の問題、
信号品質の問題、他のバスからのエラー、オン・ダイ・ターミネーション(ODT)に関する不適切
なBIOS設定、不正なCASレイテンシなどが挙げられます。実際のデザインでこのうちのどれが
原因となっているかはどうすればわかるでしょうか。
このアプリケーション・ノートでは、DDR/DDR2システム(FB-DIMM(フル・バッファドDIMM)の
SDRAM側を含む)のメモリ障害のデバッグデバッグ方法を説明し、ツールと手法を紹介します。
デバッグ方法
間欠的なメモリ障害の根本原因を突き止めるには、4つのフェーズからなる方法が有効です。
この方法では、簡単なチェックと自動化ツールによって可能性の低い原因をすばやく除外し、
可能性の高い原因をより詳細なテストによって検討できます。4つのフェーズとは次のとおりです。
1. 障害に再現性があるかどうかを判定します。障害の条件の再現を試みます。障害を
再現できれば、問題の本質に関する重要な情報が得られることが多くあります。
2. ロジック・アナライザをメモリ・バスに接続し、DDR2バス全体のタイミング関係、ppmエラ
ー、クロック品質、バス・プロトコルをモニタします。
3. ロジック・アナライザでソフトウェア・テストを実行し、最小データ有効ウィンドウ、プロトコ
ル・エラー、リフレッシュ・レート、プリチャージ間隔をモニタします。
4. 高性能オシロスコープと広帯域プローブを使って、パラメトリック測定を行います。
第1フェーズ:障害条件の再現
条件の再現は難しい場合があります。メモリに直接関連しないサブシステムやアプリケーション
に問題の根本原因がある可能性も考慮する必要があります。メモリ障害の評価の際には、
LANアクセス、サブシステムの電源投入シーケンス、スリープ・モードへの出入り、電源投入サイ
クルなどの要因にも注意することが重要です。さまざまなソースからのクロストークやリソースの
衝突によっても問題が発生する可能性があります。
特定のテストや条件において問題を分離できれば、問題の評価は容易になります。例えば、
特定のテストの際の障害は、ソフトウェア・ルーチンや信号品質の問題(クロストークやシンボル
間干渉など)などの可能性があります。再現性のある障害に対しては、障害の条件で複数の
測定が行えます。
障害発生時にどのソフトウェアが動作していたかをエラー・ログから特定することも有効な場合
があります。環境の変動もシステム障害に影響する可能性があります。システム障害の発生
時の室温を調べます。システムの通気はどうでしょうか。
ハードウェアの問題も詳細に調べるようにします。
• システムへの電源は仕様範囲内ですか?
• 同じ設計のシステムが検証テストに通ったことはありますか?
• 他のシステムも障害を起こすか、特定ユニットだけの障害ですか?
• 障害を起こしたシステムのボード、DIMM、プロセッサ、その他のコンポーネントのリビジョン
は?
• 障害を起こしたシステムは動作するシステムとどのように異なりますか?
• 製造において最近変更されたコンポーネントがありますか?
条件に再現性がある場合、それらの条件でテストを実行します。再現性がない場合は、ロバ
スト・メモリ・テストを選択して、温度や電源リミットなどのテスト条件を論理的に変化させます。
第2フェーズ:プローブやインタポーザを使ってロジック・アナライザをメモリ・バスに接続
ロジック・アナライザを使って問題領域を絞り込むことにより、時間を節約できます。
ロジック・アナライザを接続することにより、DDR バス全体をすばやくモニタできます。
FuturePlus Systems の新しい FS2334 プローブを使えば、Agilent ロジック・アナライザを
DDR2 800 DIMM SDRAM バス・アナライザとして使用でき、デザインの問題をすばやく発見で
きます。FS2334 は、FuturePlus 社の従来のプローブ同様、インタポーザ・デザインを採用して
います。
大部分のロジック・アナライザでは、ステート・トレースでプロトコルも表示でき、コマンドを解釈し
て機能を検証できます。またステートと同時に、DDR バス全体に対して高分解能タイミング解
析(64k のロング・トレース)も可能です。さらに Agilent ロジック・アナライザには高分解能アイ
測定機能があり、ppm エラーを測定できます。
DDR2 バスのより高レベルのプロトコル表示をするため、FuturePlus Systems では新しいトラ
ンザクション・ビュワー(図 1)を提供しています。これは Agilent ロジック解析システム専用であり、
バス・トランザクションをスキャンして、詳細に調査することができます。
図 1. FuturePlus トランザクション・ビュワーは、バス・トランザクションの高レベルのパケット化表示が可能です。この
データを観察することにより、イベントのシーケンス違反やその他のプロトコル異常を発見できます。
ロジック・アナライザのその他の機能としては、検索機能で自動的に設定できるグローバル・マー
カ(最大 1024 個)があります。グローバル・マーカにより、波形ウィンドウとリスト・ウィンドウがトラ
ッキングされ、疑わしい領域を複数の方法でモニタできます。
ロジック・アナライザのカラー・フィルタ機能を使用すると、問題を視覚的に分析できます。カラ
ー・フィルタでは、波形の表示中にパターン認識を使って、詳細な解析が必要な領域を識別
できます。
図2. ロジック・アナライザを使えば、バス
全体のタイミング関係をすばやく把握で
きます。ロジック・アナライザは、最大
64Mのロング・メモリとプロトコル・デコー
ド機能を備えており、コマンドを解釈し
て機能検証が行えます。またグローバ
ル・マーカを使えば、以下の測定がす
ばやく行えます。
•
•
•
クロック周波数
データ有効ウィンドウ
CASレイテンシ
ロジック・アナライザのアイ・ファインダやアイ・スキャンなどの機能を使えば、ppm エラーを簡単に
測定できます。これらの機能からは、アドレス/コントロール・ラインのセットアップ/ホールド時
間や、アドレス/コントロール信号の相対スキューなどの情報が得られ、クロック・ノイズなどの
問題を一目で発見できます。図 3 を参照してください。
図 3: この例ではアイ・スキャンでクロック・ラインの不良が見つかりました。図から#CK1 のアイが小さいことがわかり
ます。調査の結果、ボードの再加工中にクロック・トレースが切断され、差動クロックの負側が欠落していることが
わかりました。アイ・スキャンでは CK1 から#CK1 へのクロストークが表示されていました。
第 3 フェーズ:ロジック・アナライザを使ったソフトウェア・テスト
間欠的なメモリ障害をデバッグする場合、既存のソフトウェア・ツールを使うことも、測定自動化
のための独自のコードを作成することもできます。独自のコードを作成するには、Agilent 16900
シリーズ・ロジック・アナライザ・システム用 B4606A をはじめとする高度なカスタマイズ環境が使
用できます。B4606A を使えば、ロジック・アナライザのデータ解析/表示を容易にカスタマイズ
して、大量のデータの中から興味ある情報だけをすばやく選び出すことができます。
FuturePlus Systems が提供しているプロトコル・チェッカ・ツールには、収集済みの DDR2 トレ
ースを解析してプロトコル・エラーを発見したり、トレースのさまざまな統計値(リフレッシュ・レート
など)を計算したりする機能があります。図 4、5、6、7 の例は、FuturePlus プロトコル・チェッカ
を使って捕捉されています。ここでは、繰り返し捕捉を実行しながら、このツールでファンクショ
ン・エラーをチェックしています。エラーが発生するたびに、トレースは保存されます。
図 4. エラー・レポートにはサマリと詳細が表示されます。
図 4 のエラー・レポートは、トレース内の 12,811 個のコマンドが解析されたことを示しています。
記録されたエラーは 25 個です。すべてのエラーは、アクティブでないバンクへの書き込みでした。
各エラーにマーカが配置されています。エラーをクリックすると、グローバル・マーカによってリスト・
ウィンドウと波形ウィンドウがトラッキングされるので、調査が容易になります。エラーをスクロール
すると、エラーが特定のバンクに限定されないことがわかります。
図 5. リストから、バンク 3 への書き込み前にバンク 3 のプリチャージでバンク 3 がアクティブ化されていないことがわ
かります。
図 5 のリストを見ると、バンク 3 が書き込み前にアクティブ化されずにプリチャージされていること
がわかります。リストおよび波形ウィンドウを使ってさらにエラーを調査することにより、すべての書
き込みがエラーではないことがわかります。エラーはすべてのバンクで間欠的に発生しています。
図 6. 波形でエラーを観察すると、エラーのパターンが視覚的に明らかになります。
図 6 の波形のマーカ測定から、5 個の等間隔のエラーの後に次のエラーまで長い間隔が空くこ
とがわかります。黒の波形ウィンドウの下のグレーのバーは、トレースの表示されている部分(黒
色)とトレース上のエラーの発生個所を示します。すべてのエラーに赤いマーカが配置されていま
す。
図 7. FuturePlus Systems のプロトコル・チェック・ツールでは、収集したデータをエクスポートして、グラフィック・アプ
リケーションやスプレッドシートなどの COM 機能を持つ PC アプリケーションでの解析に利用できます。これらの手
法を使ってソフトウェア・ルーチンのボトルネックを調べるのはよく用いられる手法です。
図 8. FuturePlus Systems のタイミング解析ツールは、収集済みのトレースからタイミング統計やベンチマークなど
を計算できます。
FuturePlus のプロトコル・チェッカ・ツールにはタイミング解析の機能もあり、図 8 のようなタイミン
グ・ズーム・トレースを使ってデータ有効ウィンドウの関係を調べることができます。
例えば、あるシステムのデータ・バーストの平均データ有効ウィンドウが、自動測定によって
2.1 ns であることがわかったとします。しかし、平均データ有効ウィンドウが 500 ps のデータ信号
が 2 つあったとすると、データ有効ウィンドウのこれほど大きなバラツキは懸念材料です。すべて
のデータ信号をオシロスコープで観察する代わりに、データ有効ウィンドウが小さいデータ信号を
集中的に観察することができます。
第4フェーズ:高性能オシロスコープと広帯域幅プローブを使ったパラメトリック測定
高速信号のパラメトリック測定には、フラットな応答、広い帯域幅、高いサンプリング・レートの
オシロスコープが必要です。正確なパラメトリック測定にはすべてのコンポーネントが影響し、測
定システム内の最も性能の低いコンポーネントによって測定の帯域幅が制限されてしまいます。
正確なパラメトリック測定には、データ・レートの 5 次高調波をカバーする帯域幅を持つように、
オシロスコープとプロービングの組合わせを選択する必要があります。サンプリング・レートも測定
確度に影響します。DDR および DDR2 に対しては、サンプリング・レートが 20 G サンプル/s で
あれば十分です。
Infiniium 80000 シリーズ広帯域幅リアルタイム・オシロスコープは、この種のテストに必要な性
能を備えています。
必要とされる可能性がある特性評価測定には、Ts/Th、立ち上がり時間、クロック・オーバシュ
ート、周波数、ジッタがあります。
さまざまなジッタ解析パッケージ、アイ測定、アイ・マスク、アイ・アンフォールディング・ソフトウェア
を使って、信号動作を観察できます。
図 9:アイ・マスクは、クロック、データ、ストローブ・アイの違反を明らかにします。アイ・アンフォールディングでは、違
反の前後のトレースの詳細がわかります。
図 9 の左側はアイ・マスクで、アイの上部に違反があります。アイの広がった部分(図 9 の右
側)には、障害位置のトレースが表示されています。トレースから、障害の前のデータ・パターン
を検討し、立ち上がり時間、リンギング、オーバシュートなどの信号特性を観察できます。
信号評価のためのパラメトリック測定には、プローブの配置が重要です。読み取りデータ/スト
ローブはメモリ・コントローラ位置でプロービングします。
書き込みデータ/ストローブは SDRAM の位置でプロービングします。
図 10:読み取りおよび書き込みストローブの表示はプローブの位置に依存します。
図 10 は、T=0 での DQS5 の立ち上がり/立ち下りエッジを基準にした DQS0 のアイ測定で
す。この測定は DIMM スロットのインタポーザで行われたもので、パラメトリック測定のためのプロ
ーブ配置の重要性を示しています。書き込みストローブのアイは大きく、形が整っています。イ
ンタポーザ上のプローブ位置は SDRAM に近いので、信号が反射の影響を受けません。
読み取りストローブは、インタポーザでの反射により劣化します。アイは、ロジック・アナライザによ
るパルス幅の相対測定には十分です。ただし、バス上の位置は読み取りトラフィックの実際の
評価には不十分です。
メモリ・コントローラが受け取る読み取りデータを正確に表示するには、ミニチュア・オシロスコー
プ・プローブ・チップをメモリ・コントローラの位置に配置する必要があります。
まとめ
この記事で説明したツールや手法は、メモリ・テクノロジーの最先端の現場で高速メモリ・システ
ムの検証とデバッグのために使われています。時間節約のためのツールを使いこなせるエンジニ
アは、デバッグ時間を短縮し、システム性能をよりよく理解できます。
Agilent の関連カタログ
カタログ名
Agilent 16900 Series
Logic Analysis System
Mainframes
種類
Agilent カタログ番号
データシート
5989-0421EN
Infiniium DSO80000Bシリーズ・
オシロスコープ
InfiniiMax IIシリーズ・プローブ
データシート
5989-4604JAJP