Lưu ý: câu trả lời này không phải về vật lý, mà là về lỗi bộ nhớ im lặng với các mô-đun bộ nhớ không phải ECC. Một số lỗi có thể đến từ không gian bên ngoài và một số - từ không gian bên trong của máy tính để bàn.
Có một số nghiên cứu về lỗi bộ nhớ ECC trên các trang trại máy chủ lớn như cụm CERN và trung tâm dữ liệu của Google. Phần cứng lớp máy chủ với ECC có thể phát hiện và sửa tất cả các lỗi một bit và phát hiện nhiều lỗi nhiều bit.
Chúng ta có thể giả định rằng có rất nhiều máy tính để bàn không phải ECC (và điện thoại thông minh không phải ECC). Nếu chúng tôi kiểm tra các giấy tờ về tỷ lệ lỗi có thể sửa được ECC (bitflips đơn), chúng tôi có thể biết tỷ lệ hỏng bộ nhớ im lặng trên bộ nhớ không phải ECC.
Nghiên cứu quy mô lớn Cern 2007 "Tính toàn vẹn dữ liệu" : các nhà cung cấp tuyên bố " Tỷ lệ lỗi bit 10 -12 cho các mô-đun bộ nhớ của họ ", " tỷ lệ lỗi được quan sát là thấp hơn 4 bậc so với dự kiến ". Đối với các tác vụ cần nhiều dữ liệu (8 GB / giây đọc bộ nhớ), điều này có nghĩa là việc lật bit đơn có thể xảy ra mỗi phút (10 -12 nhà cung cấp BER) hoặc một lần trong hai ngày (10 -16 BER).
Bài báo của Google năm 2009 "Lỗi DRAM trong tự nhiên: Nghiên cứu thực địa quy mô lớn" nói rằng có thể có tới 25000-75000 FIT một bit trên mỗi Mbit ( thất bại về thời gian trên một tỷ giờ ), tương đương với 1 - 5 bit lỗi mỗi giờ cho 8GB RAM sau khi tính toán của tôi. Bài báo cũng nói như vậy: " có nghĩa là tỷ lệ lỗi có thể sửa được là 2000 2000.000 mỗi GB mỗi năm ".
Báo cáo của Sandia năm 2012 "Phát hiện và sửa lỗi dữ liệu im lặng cho tính toán hiệu năng cao quy mô lớn" : "các lần lật đôi bit được coi là không thể xảy ra" nhưng tại Cray XT5 dày đặc của ORNL, chúng "với tốc độ một lần mỗi ngày cho 75.000 DIMM" với ECC. Và lỗi đơn bit nên cao hơn.
Vì vậy, nếu chương trình có tập dữ liệu lớn (vài GB) hoặc có tốc độ đọc hoặc ghi bộ nhớ cao (GB / s trở lên) và nó chạy trong vài giờ, thì chúng ta có thể mong đợi một vài lần lật bit im lặng trên phần cứng máy tính để bàn. Tốc độ này không thể được phát hiện bởi memtest và các mô-đun DRAM là tốt.
Cụm dài chạy trên hàng ngàn máy tính không phải ECC, như điện toán lưới toàn mạng BOINC sẽ luôn có lỗi từ các bit lật bộ nhớ và cả các lỗi im lặng của đĩa và mạng.
Và đối với các máy lớn hơn (10 nghìn máy chủ) ngay cả với bảo vệ ECC khỏi các lỗi một bit, như chúng ta thấy trong báo cáo năm 2012 của Sandia, có thể có các lần lật hai bit mỗi ngày, do đó bạn sẽ không có cơ hội chạy song song kích thước đầy đủ chương trình trong vài ngày (không có điểm kiểm tra thường xuyên và khởi động lại từ điểm kiểm tra tốt cuối cùng trong trường hợp có lỗi kép). Các cỗ máy khổng lồ cũng sẽ nhận được các bit-bit trong bộ nhớ cache và các thanh ghi cpu (cả bộ kích hoạt của chip kiến trúc và bên trong, ví dụ như trong datapath ALU), bởi vì không phải tất cả chúng đều được ECC bảo vệ.
PS: Mọi thứ sẽ tồi tệ hơn nhiều nếu mô-đun DRAM xấu. Ví dụ, tôi đã cài đặt DRAM mới vào máy tính xách tay, đã chết vài tuần sau đó. Nó bắt đầu cho rất nhiều lỗi bộ nhớ. Những gì tôi nhận được: treo máy tính xách tay, khởi động lại linux, chạy fsck, tìm lỗi trên hệ thống tập tin gốc và nói rằng nó muốn thực hiện khởi động lại sau khi sửa lỗi. Nhưng ở mỗi lần khởi động lại tiếp theo (tôi đã thực hiện khoảng 5-6 trong số đó) vẫn có lỗi được tìm thấy trên hệ thống tập tin gốc.