Tin tức và phân tích của tất cả các thiết bị di động

Bộ nhớ ECC là gì?

Một số RAM, hoặc bộ nhớ truy cập ngẫu nhiên, được quảng cáo là bộ nhớ ECC. ECC là viết tắt của Error Correcting Code và là một quá trình xác định và sửa lỗi trong bộ nhớ. Lỗi RAM có thể gây hỏng hoặc hỏng dữ liệu, dẫn đến treo thiết bị và thậm chí là lỗ hổng bảo mật. RAM ECC thường không tương thích với phần cứng máy tính cá nhân tiêu dùng.

Lỗi bộ nhớ là gì?

Lỗi bộ nhớ là một vấn đề trong đó giá trị được lưu trữ trong bộ nhớ bị thay đổi. Dữ liệu trong RAM được lưu trữ dưới dạng nhị phân, với các giá trị là 1 một trong hai 0. Nếu giá trị của 1 được đổi thành 0 hoặc ngược lại, trong một quá trình được gọi là “lật bit”, dữ liệu được lưu trữ trong RAM sẽ thay đổi.

Ví dụ: bit đã sửa đổi có thể được sử dụng để lưu trữ một giá trị trong bảng tính. Trong trường hợp này, giá trị trong bảng tính có thể được thay đổi thành một con số hoàn toàn khác, điều này sẽ ảnh hưởng đến kết quả của bất kỳ phép tính nào, chẳng hạn như thay đổi dự báo kinh tế của công ty. Trong các trường hợp khác, bit được thay đổi có thể vô hiệu hóa một tính năng bảo mật hoặc tạo lỗi đánh máy làm thay đổi cách chương trình chạy. Cả hai ví dụ này đều cực kỳ khó phát hiện và giải quyết nếu không sử dụng bộ nhớ ECC. Trong một trường hợp cực đoan, việc ném một bit đơn lẻ có thể gây ra một lỗi nghiêm trọng gây ra sự cố sistema.

Sự đảo ngược có nhiều nguyên nhân tiềm ẩn, nguyên nhân phổ biến nhất là kết quả của bức xạ nền, gây ra chủ yếu bởi neutron do các sự kiện tia vũ trụ tạo ra. Tia vũ trụ là một hạt năng lượng cao, điển hình là một proton, di chuyển với tốc độ gần bằng tốc độ ánh sáng. Chúng được phát ra bởi các thiên thể sao, bao gồm Mặt trời và các vật thể thiên văn năng lượng cao khác. Khi một tia vũ trụ chạm vào một nguyên tử, nó tạo ra một trận mưa neutron và các hạt hạ nguyên tử khác, những neutron này tiếp tục có các tương tác thứ cấp.

Những tương tác nơtron thứ cấp này được cho là nguồn chính của lỗi bẻ cong bit. Các tia vũ trụ phổ biến hơn ở độ cao lớn hơn với sự gia tăng 3.5x đến 1.5 km trên mực nước biển và độ cao bay của máy bay tăng 300 lần. Nguy cơ tăng độ cao này đòi hỏi các biện pháp độ tin cậy bổ sung.

Các lỗi bộ nhớ phổ biến như thế nào?

Nhiều người không thấy máy tính của họ gặp sự cố hàng ngày, vì vậy sẽ dễ dàng nghĩ rằng đây chủ yếu là rủi ro trên lý thuyết. Nghiên cứu trung tâm dữ liệu Hyperscale đã được sử dụng để phân tích tỷ lệ sự cố do bit. Nghiên cứu của Google về các trung tâm dữ liệu của họ cho thấy tỷ lệ lỗi khoảng 1 lỗi bit đơn trên mỗi gigabyte RAM 1.8 giờ.

Sứ mệnh Cassini-Huygens của NASA, được khởi động vào năm 1997 để du hành đến Sao Thổ, đã được cấu hình với hai máy tính bay giống hệt nhau, mỗi máy tính có 2.5 GB RAM. Trong hai năm rưỡi đầu tiên của cuộc hành trình, tàu vũ trụ đã quan sát thấy 280 lỗi đơn bit ổn định mỗi ngày. Trong suốt một ngày khi Cassini-Huygens đang trên đường đến một vụ nổ mặt trời, người ta đã quan sát thấy sự gia tăng gấp bốn lần sai số bit, cung cấp thêm bằng chứng cho thấy Mặt trời là nguyên nhân gây ra hầu hết các vấn đề về ném bit.

Người ta sợ rằng việc tiếp tục tăng mật độ mô-đun RAM sẽ dẫn đến các phiên bản RAM sau này dễ bị dịch chuyển bit hơn. Nhiều nghiên cứu gần đây đã chỉ ra điều ngược lại là đúng, vì sai số đã giảm trong khi hình học quá trình giảm.

Bộ nhớ ECC bảo vệ khỏi lỗi như thế nào?

Bộ nhớ ECC sử dụng mã sửa lỗi, chẳng hạn như mã Hamming, để sửa lỗi bit đơn trong RAM. Lỗi bit kép có thể được phát hiện nhưng không được sửa chữa. Mã sửa lỗi Hamming hoạt động bằng cách sử dụng một mảng các bit chẵn lẻ. Cùng nhau, các bit chẵn lẻ này có thể được sử dụng để phát hiện bất kỳ bit dữ liệu nào đã thay đổi. Nếu một bit được xác định là bị kết xuất, nó sẽ tự động được đặt lại.

Một bit chẵn lẻ khác so với yêu cầu được bao gồm trong mã sửa lỗi Hamming. Bit chẵn lẻ bổ sung này cung cấp cho mã khả năng phát hiện sự xuất hiện của các lỗi bit kép, tuy nhiên những lỗi này không thể được sửa chữa.

Quá trình thực hiện phát hiện và sửa lỗi được thực hiện trong bộ điều khiển bộ nhớ trên bo mạch RAM.

Sự sẵn có và hỗ trợ người tiêu dùng

Hầu hết phần cứng PC tiêu dùng không hỗ trợ bộ nhớ ECC. Đây là một phần như một phương pháp để phân biệt giả tạo phần cứng máy chủ với phần cứng của người tiêu dùng. RAM ECC, tuy nhiên, chi phí cao hơn và chạy chậm hơn một chút. Ngoài ra, sự ổn định bổ sung mà nó sẽ cung cấp cho người tiêu dùng gia đình là tối thiểu, vì lỗi lật bit không phải là nguyên nhân chính gây ra sự cố hệ thống. sistema.

Không có CPU nào của Intel dành cho mục đích sử dụng cá nhân và dành cho người đam mê hỗ trợ bộ nhớ ECC, chỉ có CPU cấp máy chủ, chẳng hạn như CPU ​​trong phạm vi Xeon. Các CPU cấp dành cho người tiêu dùng của AMD không hỗ trợ ECC, tuy nhiên CPU máy trạm và máy chủ của chúng, Threadripper và EPYC, tương ứng, hỗ trợ bộ nhớ ECC.