メモリ エラー処理

Versal アダプティブ SoC AI エンジン アーキテクチャ マニュアル (AM009)

Document ID
AM009
Release Date
2023-08-18
Revision
1.3 日本語

メモリ エラーの検出と訂正

AI エンジンには 32KB のデータ メモリと 16KB のプログラム メモリがあります。多くの AI エンジン タイルを持つデバイスでは、ソフト エラーからの保護が必要となるため、そのための対策がとられています。プログラム メモリの 128 ビット ワードは、2 つの 8 ビット ECC (64 ビットごとに 1 つ) で保護されます。8 ビット ECC は、64 ビット ワード内の 2 ビット エラーを検出し、1 ビット エラーを検出および訂正できます。2 つの 64 ビット データと 2 つの 8 ビット ECC フィールドは、それぞれのペア内でインターリーブされ (距離は 2)、ビット分離が拡大するようにしています。

各データ メモリ モジュールには、8 つのメモリ バンクがあります。最初の 2 つのメモリ バンクは、4 つの 32 ビット フィールドのそれぞれを 7 ビット ECC で保護します。7 ビット ECC は 2 ビット エラーを検出し、1 ビット エラーを検出および訂正します。最後の 6 つのメモリ バンクは、128 ビット ワードの各 32 ビットを偶数パリティ ビットで保護します。4 つの 32 ビット フィールドは、距離が 4 でインターリーブされます。

プログラム メモリとデータ メモリはいずれもエラー挿入をサポートしています。プログラム メモリには、メモリ マップド AXI4 を介してエラーを挿入できます。同様に、データ メモリ バンクには AI エンジン DMA またはメモリ マップド AXI4 を介してエラーを挿入できます。

メモリ マップド AXI4AI エンジンのデータ メモリに対して読み書きを実行する場合、2 つの要求がメモリ モジュールに送信されます。AI エンジンのパフォーマンス カウンターでは、ECC/パリティ イベントでイベントが二度カウントされる場合があります。メモリ アクセスは重複しますが、機能への影響はありません。イベントおよびパフォーマンス カウンターの詳細は、AI エンジン タイルのアーキテクチャ を参照してください。

内部メモリ エラー (訂正可能および訂正不可能) が発生すると内部イベントが生成され、通常のデバッグ、トレースおよびプロファイリング メカニズムを使用してエラー状態が報告されます。これらを用いて、PMC/PS への割り込みを生成することもできます。