ECC アルゴリズムのコードに問題があり、バイト 0 のビット 0 のシングル ビット エラーおよび一部のダブル ビット エラーが検出されません。
パリティ算出の奇数半分のみが、正しいかどうかがテストされます。ECC がオンになっている NAND からデータを読み出すと、特定の場合にレジスタが不正であることが示されます。
影響: | 深刻な問題です。3 つの影響があります。「ソリューション」セクションを参照してください。回避策によりエラーが検出されない可能性が大きく低減されます。 |
回避策: | 「回避策の詳細」を参照してください。 |
対象となる構成: | NAND で ECC を使用するシステム |
対象となるデバイス リビジョン: | (Xilinx Answer 47916) - 「Zynq-7000 SoC デバイス - シリコン リビジョン間の相違点」を参照してください。 |
影響の詳細
3 つの影響があります。
回避策の詳細
影響 (1) に対してソフトウェアの回避策があります。バイト 0 のビット 0 でエラーが発生した場合、ECC レジスタ値が返されます。
より複雑なソフトウェアでの回避策は、スペア領域の ECC パリティ データを手動で読み出し、ソフトウェアでハードウェア メカニズムとは個別に ECC 結果を算出します。
ecc_fail = 0 および ecc_correct = 1 です。これは、バイト 0 のビット 0 でシングル ビット エラーが発生したことを示しています。このレジスタの値を読み出すことでこのエラーを検出でき、ソフトウェアで修正できます。
Answer Number | アンサータイトル | 問題の発生したバージョン | 修正バージョン |
---|---|---|---|
47916 | Zynq-7000 AP SoC デバイス - シリコン リビジョン間の相違点 | N/A | N/A |
AR# 47519 | |
---|---|
日付 | 06/13/2018 |
ステータス | アクティブ |
種類 | デザイン アドバイザリ |
デバイス |