• 検索結果がありません。

オプションのECCは、エンコーダとデコーダ・コレクタで構成されており、シング ル・ビット・エラーの検出と訂正、ダブル・ビット・エラーの検出を行います。ECC は各64ビット・メッセージに8ビットECCを使用します。ECCは以下の特長を備え ています。

HammingコードECC:64ビットの各データを、8ビットのHammingコード・パリ

ティ・ビットを持つ72ビットのコードワードにエンコードします。

レイテンシ:

書き込み時、最大1または2クロック遅延

読み出し時、最大1または3クロック遅延

すべてのシングル・ビット・エラーを検出し、訂正します。また、ECCはシング ル・ビット・エラーのユーザ定義スレッショルドに達すると割り込みを送信しま す。

すべてのダブル・ビット・エラーを検出します。また、ECCはダブル・ビット・

エラーのユーザ定義スレッショルドに達すると、ダブル・ビット・エラー数をカ ウントして、割り込みを送信します。

部分的書き込みを受け入れます。

強制エラーを作成して、ECCの動作をチェックします。

レディ・ステートにパワーアップします。

図 6–3に、ECCのブロック図を示します。

第 6 章 : 機能の説明 ̶ 高性能コントローラ 6–7 ブロック説明

ECCは以下のブロックで構成されます。

エンコーダ—64ビット・メッセージを72ビット・コードワードにエンコードしま す。

デコーダ・コレクタ—可能な場合、72ビット・コードワードをデコードおよび訂 正します。

図 6‒3. ECC のブロック図

デコーダ-コレクタ

ECC コントローラ

エンコーダ ライト・メッセージ

N x 64ビット ECC

ライト符号語 N x 72ビット

リード・メッセージ N x 64ビット

32ビット

リード符号語 N x 72ビット

N x 72ビット DDRまたはDDR2 SDRAM メモリ・

コントローラ ローカル・

インタフェースへ ローカル・

インタフェースから

ローカル・インタフェースへ、

ローカル・インタフェースから

6–8 第 6 章 : 機能の説明 ̶ 高性能コントローラ ブロック説明

ECCロジック—複数のエンコーダとデコーダ・コレクタを制御するため、ECCはさ まざまなバス幅を扱うことができます。 また、エンコーダおよびデコーダ・コレ クタの以下の機能も制御します。

割り込み:

検出および訂正されたシングル・ビット・エラー

検出されたダブル・ビット・エラー

シングル・ビット・エラー・カウンタ・スレッショルドの超過

ダブル・ビット・エラー・カウンタ・スレッショルドの超過

コンフィギュレーション・レジスタ:

シングル・ビット・エラー検出カウンタ・スレッショルド

ダブル・ビット・エラー検出カウンタ・スレッショルド

最初に検出されたエラーまたは最新エラーのステータスのキャプチャ

テストを目的とするECCの意図的な破損

ステータス・レジスタ:

エラー・アドレス

エラー・タイプ:シングル・ビット・エラーまたはダブル・ビット・エ ラー

対応するバイト・エラーECCシンドローム

エラー信号—データ・ワードに対応するエラー信号がデータと共に供給され、

訂正不能なダブル・ビット・エラーがリターン・データ・ワードで発生した 場合にHighになります。

カウンタ:

検出および/または訂正されたシングル・ビット・エラー

検出されたダブル・ビット・エラー

ECCは、それぞれパラレルに動作する複数のエンコーダをインスタンス化し、デー タ・ワードの幅が64の整数倍であると仮定して任意のデータ・ワード幅をエンコー ドすることができます。

ECCは、ローカル(ネイティブまたはAvalon-MMインタフェース)およびメモリ・

コントローラ間で動作します。

ECCは、ローカル・インタフェースとECC間にN × 64ビット(Nは整数)幅のイン タフェースを持ち、ローカル・インタフェースからデータを受信および返信するた めに使用されます。このインタフェースは、ネイティブ・インタフェースまたは

Avalon-MMスレーブ・インタフェースのどちらも可能であり、インタフェースのタイ

プはMegaWizardインタフェースで選択します。

ECCは、ローカル・インタフェースとECC間に第2インタフェースとして、ECCロ ジックの動作ステータスを制御およびレポートする32ビット幅のAvalon-MMスレー ブ・インタフェースを持っています。

ECCからのエンコードされたデータは、ECCとメモリ・コントローラ間にあるN× 72 ビット幅のAvalon-MMマスタ・インタフェースを使用して、メモリ・コントローラ

第 6 章 : 機能の説明 ̶ 高性能コントローラ 6–9 ブロック説明

DDR SDRAM高性能コントローラをテストするときには、ECCをオフにできます。

割り込み

ECCは以下のいずれかのシナリオが発生すると、割り込みを発行します。

シングル・ビット・エラー・カウンタが、設定された最大シングル・ビット・エ ラー・スレッショルド値に達します。

ダブル・ビット・エラー・カウンタが、設定された最大ダブル・ビット・エ ラー・スレッショルド値に達します。

リターン・データ・ワードのN個のすべての部分に対して、対応するイベントが発 生するたびに、エラー・カウンタがインクリメントされます。 このインクリメント値 は、最大スレッショルドと比較され、最大スレッショルドと同じときは割り込み信 号が送信されます。対応するステータス・レジスタに1を書き込むと、ECCは割り 込みをクリアします。コントロール・ワードを使用して、いずれかのカウンタから の割り込みをマスクできます。

部分的書き込み

ECCは部分的書き込みをサポートします。 アドレス信号、データ信号、およびバース ト信号に加え、Avalon-MMインタフェースは、バイト・イネーブルのための信号ベク タもサポートします。この信号ベクタの各ビットは、データ・バス上の1バイトを 表します。 したがって、これらの任意のビットの0は、コントローラがその特定の 場所に書き込みを行えないようにする信号です(部分的書き込み)。

部分的書き込みの場合、ECCは以下のステップを実行します。

1. ECCロジックは部分的書き込み条件を受信すると、Avalon-MMインタフェースか

らのそれ以降のリード・コマンドまたはライト・コマンドを停止します。

2. 同時に、部分的書き込みアドレスに対する自己生成リード・コマンドをメモリ・

コントローラに送信します。

3. 特定のアドレスに対して、メモリ・コントローラからリターン・データを受信す ると、デコーダはデータをデコードし、エラーをチェックし、そのデータをECC ロジックに送信します。

4. ECCロジックは、訂正されたデータワードまたは正しいデータワードと受信情報

をマージします。

5. ECCロジックは、更新されたデータワードを、エンコーディングのためにエン

コーダに送信し、次にライト・コマンドでメモリ・コントローラに送信します。

6. ECCロジックは、Avalon-MMインタフェースからのコマンドの停止を防止します。

これにより、Avalon-MMインタフェースは新しいコマンドを受信できるようにな ります。

以下のコーナー・ケースが発生する可能性があります。

リード・モディファイ・ライト・プロセスのリード・フェーズ中のシングル・

ビット・エラー。 この場合、シングル・ビット・エラーが最初に訂正され、シン グル・ビット・エラー・カウンタがインクリメントされ、この訂正済みのデコー ドされたデータ・ワードに部分的書き込みが実行されます。

6–10 第 6 章 : 機能の説明 ̶ 高性能コントローラ ブロック説明

リード・モディファイ・ライト・プロセスのリード・フェーズ中のダブル・ビッ ト・エラー。 この場合、ダブル・ビット・エラー・カウンタがインクリメントさ れ、Avalon-MMインタフェースを介して割り込みが送信されます。新しいライ ト・ワードは、その場所に書き込まれません。この条件は割り込みステータス・

レジスタの個別フィールドにハイライトされます。

図 6–4および図 6–5に、フル・レートおよびハーフ・レートにおけるHPCの部分書 き込み動作を示します。フル・レートHPCはローカル・サイズ1および2をサポー トし、またハーフ・レートHPCはローカル・サイズ1のみをサポートします。

部分的バースト

DIMMにはDMピンがないため部分的バーストをサポートしません。 最低4ワードを 同時にメモリに書き込む必要があります。

図 6–6に、HPCの部分的バーストを示します。

図 6‒4. HPC の部分書き込み ̶ フル・レート

6–4の注:

(1) Rはリード・モディファイ・ライト・プロセス中の内部リード・バック・メモリ・データを表しま

す。

図 6‒5. HPC の部分書き込み ̶ ハーフ・レート

6–5の注:

(1) Rはリード・モディファイ・ライト・プロセス中の内部リード・バック・メモリ・データを表しま

す。

local_address local_size local_be local_wdata mem_dm mem_dq

0 1

2

X1 XF

01234567 89ABCDEF

67 R R R EF CD AB 89

local_address local_size local_be local_wdata mem_dm mem_dq

0 1 X1 01234567

67 R R R

第 6 章 : 機能の説明 ̶ 高性能コントローラ 6–11 ブロック説明

ECC レイテンシ

ECCを使用すると、以下のレイテンシの変更が生じます。

ローカル・バースト・レングス1

ローカル・バースト・レングス2

ローカル・バースト・レングス 1

ローカル・バースト・レングス1の場合、ライト・レイテンシは1クロック・サイ クルだけ増加し、リード・レイテンシは1クロック・サイクルだけ増加します

(チェックおよび訂正を含む)。

部分的書き込みでは、ECCロジックで読み出しとそれに続く書き込みが発生するた め、レイテンシはコントローラが特定のアドレスからデータをフェッチするのに要 する時間によって異なります。

表 6–3に、バースト・レングスとレートの関係を示します。

ローカル・バースト・レングス 2

ローカル・バースト・レングス2の場合、ライト・レイテンシは2クロック・サイ クルだけ増加し、リード・レイテンシは1クロック・サイクルだけ増加します

(チェックおよび訂正を含む)。

部分的書き込みでは、ECCロジックで読み出しとそれに続く書き込みが発生するた め、レイテンシはコントローラが特定のアドレスからデータをフェッチするのに要 する時間によって異なります。

シングル・ビット・エラーの場合、メモリの自動訂正は、リード・サイクルを停止 せずに行われ(可能な場合)、訂正中はECCロジックへの追加コマンドは停止されま す。

ECC レジスタ

表 6–4に、ECCレジスタを示します。

図 6‒6. HPC の部分的バースト

表 6‒3. バースト・レングスおよびレート ...

ローカル・バースト・

レングス レート メモリ・バースト・レングス

1 ハーフ 4

2 フル 4

local_address local_size local_be local_wdata mem_dm mem_dq

0 1 X1 01234567

67 45 23 01