ハードウェア

非ECCメモリを使った結果データが破損したという体験談


PCに搭載するメモリの中には、エラー訂正機能を備えた「ECCメモリ」と呼ばれるものが存在します。このECCメモリは主にサーバーなどで用いられているのですが、ソフトウェアコンサルタントのロバート・エルダー氏は自身のPCが壊れた経験を踏まえて「個人用PCでもECCメモリを採用するべき」と主張しています。

Non-ECC Memory Corrupted My Hard Drive Image - This Is Why ECC Memory Is So Important - YouTube


エルダー氏が非ECCメモリの問題点を発見した流れはこんな感じ。最初に、エルダー氏は壊れたPCを修理するために、HDDに保存したデータを別のHDDに移行しようとしました。


データの移行にはコマンドラインツールの「ddrescue」を使用しました。ddrescueはデータコピーツール「dd」とは異なり、不良セクタの存在しているストレージでもデータのコピーを行えるような仕組みが採用されています。しかし、エルダー氏がコピー元のHDDとコピー先のHDDのハッシュ値を確認した結果、異なるハッシュ値が算出されてしまいました。つまり、ddrescueを用いてデータを100%コピーしたはずなのに、異なるデータが保存されてしまったというわけです。


HDD内のデータを分析した結果、一部のビットで「0」が「1」に変わってしまうエラーが発生していることが判明しました。


エラーは、メモリやマザーボード、電源など多様な部品によって引き起こされます。そこで、エルダー氏は最初に電源を交換して再度データの移行を試みましたが、同様のエラーが発生して失敗してしまいました。


次に、エルダー氏はメモリの正常性チェックを実施。その結果、メモリが正常に動作していないことが判明しました。


そこで、エルダー氏はPCに合う規格のメモリを入手して交換しました。しかし、メモリが古すぎたためか、PCは起動すらしなかったとのこと。


エルダー氏は他のメモリを再度購入し、もう一度メモリを交換しました。


その結果、PCは正常に起動し、メモリの正常性チェックも無事に通過。エルダー氏は無事にHDDのデータ移行を完了させることができました。


エルダー氏は最終的にデータの移行を成功させられたものの、エラーの原因特定や適合するメモリの探索に多大な時間をかけてしまったとのこと。エルダー氏は「もしPCにECCメモリを搭載していれば、エラー訂正によって今回のような現象を防ぐことができた」と指摘しています。

ただし、ECCメモリをシステムに導入するには、マザーボードやCPUなどがECCメモリに対応している必要があります。エルダー氏はメモリメーカーとCPUメーカーに対して「非ECCメモリやECCメモリ非対応CPUの生産を永久に中止すると宣言してください」と述べ、ECCメモリの必要性を強調しています。

この記事のタイトルとURLをコピーする

・関連記事
DDR5メモリーの価格が順調に下がりGB単価は700円台に、一部は1カ月で20%下落 - GIGAZINE

Metaの巨大なデータセンターでメモリを大幅に節約するための「透過メモリオフロード」とは? - GIGAZINE

プログラムのファイル読み書きで「mmap」を使うと速度が向上する理由とは? - GIGAZINE

放置しておくだけでメモリの使用を激減させてくれるフリーソフト「Reduce Memory」 - GIGAZINE

in ハードウェア,   動画, Posted by log1o_hf

You can read the machine translated English article here.