ECC ram là gì và tại sao nó tốt hơn?


31

Tôi đã thấy một sự nghi ngờ về việc sử dụng ram ECC trên các máy chủ. Tại sao nó tốt hơn?


2
Câu hỏi được trả lời trong một câu hỏi khác: serverfault.com/questions/5817/ Mạnh
sh-beta

Có bằng chứng nào cho thấy bộ nhớ ECC là cần thiết hoặc có lợi để sử dụng không? Lợi ích và cơ chế hoạt động rất dễ hiểu, nhưng tôi chưa bao giờ nghe thấy bằng chứng để biện minh cho việc sử dụng nó.
Drew Stephens

Và những hậu quả khác nhau có thể xảy ra khi gặp lỗi bộ nhớ (bit) như vậy là gì? Ví dụ: tôi vừa tắt máy chủ trực tuyến trong 5 năm không ngừng nghỉ (với ram ECC) và nói chung tất cả đều ổn, tôi chưa bao giờ có bất kỳ khiếu nại nào từ các khách hàng được lưu trữ ở đó hoặc đã từng gặp phải vấn đề lớn lỗi với nó ... Tương tự với trải nghiệm máy tính để bàn của tôi - một BSOD ở đây và khá hiếm khi, nhưng đây có phải là tất cả không? :)
Denis Volovik

@Denis, tôi nghĩ rằng nếu bạn muốn mọi người trả lời câu hỏi của bạn, bạn có thể cần phải hỏi nó như một câu hỏi riêng biệt hơn là một nhận xét.
Toby Allen

Câu trả lời:


28

RAM ECC có thể phục hồi từ các lỗi nhỏ trong bit, bằng cách sử dụng các bit chẵn lẻ. Vì các máy chủ là một tài nguyên được chia sẻ trong đó thời gian hoạt động và độ tin cậy là quan trọng, RAM ECC thường được sử dụng chỉ với một sự khác biệt nhỏ về giá. RAM ECC cũng được sử dụng trong các máy trạm CAD / CAM là các lỗi bit nhỏ có thể gây ra các lỗi tính toán trở thành vấn đề quan trọng hơn khi thiết kế đi vào sản xuất.


5
Một lỗi nhỏ ở một số bất cứ nơi nào, bao gồm gói tài chính doanh nghiệp nhỏ của ai đó có thể rất nhỏ hoặc rất lớn. Tất cả phụ thuộc vào bit nào.
Zan Lynx

Thêm vào đó, thực tế là lỗi sai ở vị trí sai có thể làm giảm nhiều hơn một máy khi bạn ảo hóa để hợp nhất.
MikeyB

1
Tôi chỉ chờ đợi một công ty vô đạo đức tuyên bố gian lận kế toán của họ thực sự chỉ là một lỗi nhỏ.
Eloff

29

Nghiên cứu thực tế tuyệt vời:

Lỗi DRAM trong tự nhiên: Một nghiên cứu thực địa quy mô lớn (pdf)

Bài viết này cung cấp nghiên cứu quy mô lớn đầu tiên về lỗi bộ nhớ DRAM trong trường. Nó dựa trên dữ liệu được thu thập từ đội máy chủ của Google trong khoảng thời gian hơn hai năm, tạo ra hàng triệu ngày DIMM. DRAM trong nghiên cứu của chúng tôi bao gồm nhiều nhà cung cấp, mật độ và công nghệ DRAM (DDR1, DDR2 và FBDIMM).

Bài viết giải quyết các câu hỏi sau: Làm thế nào com mon bị lỗi bộ nhớ trong thực tế? Tính chất thống kê của họ là gì? Làm thế nào chúng bị ảnh hưởng bởi các yếu tố bên ngoài, chẳng hạn như nhiệt độ và sử dụng hệ thống? Và làm thế nào để chúng thay đổi theo các yếu tố cụ thể của chip, chẳng hạn như mật độ chip, công nghệ bộ nhớ và tuổi DIMM?

Chúng tôi thấy rằng trong nhiều khía cạnh, lỗi DRAM trong trường hoạt động rất khác so với thông thường. Ví dụ: chúng tôi quan sát tỷ lệ lỗi DRAM là các đơn đặt hàng có cường độ cao hơn so với báo cáo trước đây, với tỷ lệ FIT (thất bại về thời gian trên một tỷ giờ thiết bị) từ 25.000 đến 70.000 mỗi Mbit và hơn 8% DIMM bị ảnh hưởng mỗi năm. Chúng tôi cung cấp bằng chứng mạnh mẽ rằng lỗi bộ nhớ bị chi phối bởi lỗi cứng, thay vì lỗi mềm, mà hầu hết các công việc trước đây tập trung vào. Chúng tôi thấy rằng, trong số tất cả các yếu tố ảnh hưởng đến hành vi lỗi của DIMM trong lĩnh vực này, nhiệt độ có tác động nhỏ đáng ngạc nhiên. Cuối cùng, không giống như thường sợ, chúng tôi không quan sát thấy bất kỳ dấu hiệu nào cho thấy tỷ lệ lỗi trên mỗi DIMM tăng với các thế hệ DIMM mới hơn.

Điều thú vị là hầu hết các lỗi bộ nhớ là cứng - lỗi bộ nhớ cứng là không thể phục hồi, có nghĩa là bộ nhớ phải được thay thế về mặt vật lý là thất bại , trong khi lỗi bộ nhớ mềm có thể được khắc phục bằng cách ghi đè bộ nhớ với giá trị chính xác. Điều này cho tôi thấy giá trị của ECC khá hạn chế.

Có hai loại lỗi thường xảy ra trong hệ thống bộ nhớ. Đầu tiên được gọi là lỗi lặp lại hoặc lỗi cứng. Trong tình huống này, một phần cứng bị hỏng và sẽ liên tục trả về kết quả không chính xác. Một bit có thể bị kẹt để nó luôn trả về "0" chẳng hạn, bất kể điều gì được ghi vào nó. Lỗi cứng thường chỉ ra các mô-đun bộ nhớ lỏng lẻo, chip bị thổi, lỗi bo mạch chủ hoặc các sự cố vật lý khác. Chúng tương đối dễ chẩn đoán và chính xác vì chúng phù hợp và lặp lại.

Âm thanh giống như tất cả các máy chủ trong nghiên cứu đã sử dụng ECC, vì vậy chúng tôi không thể biết tỷ lệ lỗi ECC so với phi ECC ..

Bài viết này đã nghiên cứu tỷ lệ và đặc điểm của lỗi DRAM trong một đội máy chủ hàng hóa lớn. Nghiên cứu của chúng tôi dựa trên dữ liệu được thu thập trong hơn 2 năm và bao gồm các DIMM của nhiều nhà cung cấp, thế hệ, công nghệ và năng lực. Tất cả các DIMM đều được trang bị logic sửa lỗi (ECC) để sửa ít nhất các lỗi bit đơn.


5
+1 báo cáo tốt đẹp. Mặc dù tôi không biết tỷ lệ lỗi không phải ECC, tôi ước tính tỷ lệ lỗi không phải ECC gần bằng với tỷ lệ lỗi ECC trên mỗi GB. Các chip RAM giống nhau được sử dụng được sử dụng trong cả DIMM ECC và không ECC (DIMM ECC chỉ đơn giản sử dụng 9/8 như nhiều chip - 72 bit bộ nhớ thô để lưu trữ từ dữ liệu 64 bit và tỷ lệ lỗi là 8/9 có cùng tỷ lệ lỗi) và tôi thấy không có lý do gì mà chip RAM có tỷ lệ lỗi khác biệt đáng kể khi được đặt trên DIMM ECC so với khi được đặt trên DIMM không ECC.
David Cary

9

ECC có một số lợi thế so với ngang giá. Đối với một, nó có thể phát hiện và sửa chữa các lỗi đơn bit và làm như vậy mà không phải dừng toàn bộ hệ thống. Lỗi nhiều bit vẫn sẽ trả về lỗi chẵn lẻ, nhưng tỷ lệ xảy ra điều này là thấp về mặt thiên văn trong suốt vòng đời của PC trừ khi chính bộ nhớ bị lỗi. ECC giống như bảo hiểm ô tô: Nó bảo vệ bạn cho phần lớn những điều có thể sai, nhưng nó không thể ngăn chặn một đống xe hơi.

chi tiết hơn ở đây: Bộ nhớ ECC: Phải cho máy chủ, không phải cho máy tính để bàn


1
Tôi không đồng ý với bài báo. Tôi nghĩ mọi người nên sử dụng ECC. Tôi sẽ không nhượng bộ nhưng tôi muốn một Core I7 mới đủ để cuối cùng tôi đã làm được. Tuy nhiên, tôi chắc chắn rằng 6GB RAM của tôi đang gặp lỗi ở mọi nơi.
Zan Lynx

4
@zan và những lỗi này bạn "chắc chắn" về, hậu quả của chúng là gì?
Jeff Atwood

Đừng đoán mò; các lỗi có thể sửa được phải tạo ra các MCE có thể được ghi vào HĐH (Nhật ký hệ thống trong Windows, / var / log / mcelog trong Linux)
MikeyB

@JeffAtwood: Không có gì thường xuyên, nhưng tôi đã có màn hình xanh thỉnh thoảng không có lý do rõ ràng. Trên các hệ thống tôi có mà làm có ECC tôi sẽ thấy một vài lỗi bit đơn mỗi tháng.
Zan Lynx

@JeffAtwood: Và, như mọi người tôi chắc chắn, thỉnh thoảng tôi phải cài đặt lại một ứng dụng (Office. Visual Studio.) Vì nó dường như đã phát điên. Lỗi ứng dụng hoặc lỗi ECC gây ra tệp đĩa bị hỏng? Ai biết nếu bạn không có ECC?
Zan Lynx

5

Để làm cho mọi thứ đơn giản, trích dẫn từ Wikipedia :

Nhiễu điện hoặc từ bên trong hệ thống máy tính có thể khiến một bit DRAM tự động lật sang trạng thái ngược lại. Ban đầu người ta nghĩ rằng điều này chủ yếu là do các hạt alpha phát ra từ các chất gây ô nhiễm trong vật liệu đóng gói chip, nhưng nghiên cứu [5] đã chỉ ra rằng phần lớn các lỗi một lần ("mềm") trong các chip DRAM xảy ra do bức xạ nền
...
Vấn đề này có thể được giảm thiểu bằng cách sử dụng các mô-đun DRAM bao gồm các bit bộ nhớ bổ sung và bộ điều khiển bộ nhớ khai thác các bit này. Các bit bổ sung này được sử dụng để ghi chẵn lẻ hoặc sử dụng mã sửa lỗi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.