SECDEC ECCスキームが2ビットを超えるエラーを処理する方法 - KBA222012 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by HiOm_1802421 Version: **
Translation - English: How SECDED ECC Scheme Handles More Than 2-bit Errors – KBA222012
質問:
サイプレスの65nm NORフラッシュにはSECDED ECCがありますが、2ビットを超えるエラーはどのように処理されますか?
回答:
サイプレスの65nm NORフラッシュ ファミリは、シングル エラー訂正とダブル エラー検出(SECDED)を行う、自動ECCスキームが内部に実装されています。ECCスキームは、SPI NORデバイスでは16バイト、パラレルNORデバイスでは32バイト サイズで1つのECCページで、1ビットエラー訂正および2ビットエラー検出ができる、拡張ハミング符号で実装されています。
次のセクションでは、2ビットを超えるエラーがどのように処理されるかを説明するとともに、ハミング符号ECCスキームがどのように機能するかの基礎を紹介します。
例として、2つの符号語(コード ワード)を使用して情報0と1を格納するとします。0を格納するために、000が書き込まれます。1を格納するには111が書き込まれます。この場合、000と111は有効な符号語です。他のすべての組み合わせ001、010、110、...は無効な符号語であり、いくつかのエラーが発生したことを示します。
デコードするには、符号語が001の場合、元のデータが0であることを示します。符号語が011の場合、元のデータが1であることを示します。
これは、有効な符号語を000から111に変更するには、3ビットを変更する必要があることを示しています。言い換えると、このスキームのハミング距離(HD)は3です。
図1 はハミング距離を示しています。
図1
符号語Aと符号語BのHDは3です。1ビットエラーが発生した場合、無効な符号語がA(緑の円)に近いため、Aに訂正できることを意味します。しかし、2ビットエラーが発生した場合、無効な符号語がBに近いため、デコーダーは誤って符号をB(青い円)に訂正するでしょう。
したがって、HD = 3の場合、ECCは1ビットの訂正を実行できますが、2ビットの検出または訂正は実行できません。
同じ原理で、HD = 4の場合(次の図を参照)、ECCは1ビット訂正と2ビット検出を実行できます。これは、2ビットエラーが発生すると、無効な符号語と複数の有効な符号語との距離が同じになる境界にあるためです。デコーダーはこれが無効な符号語であることを認識していますが、最も近い有効な符号語を特定できません。
HD = 4のようなスキームでは、3ビットエラーが発生すると、デコーダーが誤って1ビットエラーと見なし、最も近い有効な符号語に訂正するため、誤った訂正が行われる可能性があります。4ビットエラーが発生した場合、符号語自体がデコーダーにとって有効な符号語である可能性があるため、何も実行されません。
サイプレスの65nm NORデバイスでは、SECDED ECCスキームはHD = 4です。したがって、2ビットを超えるエラーが発生した場合、ECCスキームは訂正を実行しないか、実際のエラーによっては誤ったアクションを実行する可能性があります。
ただし重要なことに、これらのデバイスでは、1ビットのソフト エラーが発生する可能性があるレア ケースを防止するために、内部ECCが実装されています。データシートで指定された通常使用でのフラッシュの寿命の間、1つのECCページで2ビットを超えるエラーが発生しないことが保証されています。