シングルビットエラー検出及び訂正のためのError Correcting Codeについて –  KBA90941- Community Translated (JA)

Version 1

    Community Translated by YoTa_1693656           Version: **

     

    Translation - English: Error Correcting Code to Detect and Correct Single-Bit Errors – KBA90941

     

    質問:

    Error Correcting Code(ECC)とは何ですか? それはどのようにしてシングルビットエラー検出や訂正に寄与するのでしょうか?

     

    回答:

    Error correcting codesは、読み込まれているデータのエラーをチェックし、必要に応じてオンザフライで修正できるアルゴリズムです。

    SRAMの書き込み動作の場合、当該のエラー訂正アルゴリズムは、データワードからのビットを、内部メモリ配列に格納される最終ワードの中のパリティチェックビットに組み込むために使います。

    これらのアルゴリズムは、エラー検出のみで修正はされない従来のパリティチェック方法より優れています。

    ECCの場合、データが読み込まれる度に、格納されたデータのパリティビットは読み込まれたデータのパリティビットと比較されます。

    もしシングルビットエラーが生じた際、上記の比較によりこのエラーが明らかになります。

    従って、ECCは回路の複雑さとメモリ幅の観点から、最小限のコストでソフトエラーの検出を可能にします。図1にて、ECCの実装を説明します。

     

                  図1 ECCの実装

    ECC.png

     

    ハミングコードは、シングルビットエラー検出及び訂正のための最も認知のあるアルゴリズムの一つです。

    他のECC回路(例、ビダビ復号やリードソロモンコード)と比較して、ハミングコードの回路は単純です。また、最も短い復号時間であり消費電力が小さいです。

    ハミングコードは(n、k)で表され、kビットのデータワードがnビットのコードワードにマッピングされることを意味します。

    シングルエラー訂正のハミングコードアルゴリズムでは、2 ^ Nビットのデータに対してN + 1パリティビットが必要です。

    詳細情報は、下記をご参照ください。

    Soft Errors and Their Effect on Semiconductor Devices – KBA90938

    Different Ways to Mitigate Soft Errors in Asynchronous SRAMs – KBA90939

    ECC Implementation in Cypress’s 65-nm Asynchronous SRAMs – KBA90940

    サイプレスの65-nm Asynchronous SRAMのECC機能の詳細情報は、こちらになります。Mitigating Single-Event Upsets Using Cypress’s 65-nm Asynchronous SRAM.