注:この回答は物理学に関するものではなく、ECC以外のメモリモジュールでのサイレントメモリエラーに関するものです。エラーの一部は外部空間から発生する場合があり、一部はデスクトップの内部空間から発生する場合があります。
CERNクラスターやGoogleデータセンターなどの大規模サーバーファームでのECCメモリ障害に関するいくつかの調査があります。ECCを備えたサーバークラスのハードウェアは、すべてのシングルビットエラーを検出して修正し、多くのマルチビットエラーを検出できます。
非ECCデスクトップ(および非ECCモバイル・スマートフォン)が多数あると想定できます。ECC修正可能なエラー率(単一のビットフリップ)についてペーパーをチェックすると、非ECCメモリでのサイレントメモリ破損率を知ることができます。
そのため、プログラムに大きなデータセット(数GB)があるか、メモリの読み取りまたは書き込み速度(GB / s以上)が高く、数時間実行される場合、デスクトップハードウェアで最大数回のサイレントビットフリップが予想されます。この速度はmemtestでは検出できず、DRAMモジュールは良好です。
BOINCのインターネット全体のグリッドコンピューティングのように、ECC以外の何千ものPCで長いクラスターを実行すると、常にメモリのビットフリップからのエラーと、ディスクおよびネットワークのサイレントエラーからのエラーが発生します。
そして、より大きなマシン(1万台のサーバー)の場合、シングルビットエラーからのECC保護があっても、Sandiaの2012年のレポートに見られるように、ダブルビットフリップが毎日発生する可能性があるため、フルサイズのパラレルを実行する機会はありません数日間のプログラム(定期的なチェックポイントと、二重エラーの場合は最後の適切なチェックポイントからの再起動なし)。巨大なマシンは、それらのすべてがECCで保護されているわけではないため、キャッシュとCPUレジスタ(アーキテクチャチップと内部チップの両方のトリガーなど)でビットフリップを取得します。
PS:DRAMモジュールが悪いと、事態はさらに悪化します。たとえば、ラップトップに新しいDRAMを取り付けたところ、数週間後に死亡しました。多くのメモリエラーが発生し始めました。私が得るもの:ラップトップがハングし、Linuxが再起動し、fsckを実行し、ルートファイルシステムでエラーを検出し、エラーを修正した後に再起動することを要求します。しかし、次の再起動のたびに(私はそれらの約5〜6を実行しました)、ルートファイルシステムでまだエラーが見つかりました。