Bạn đã biết về tính chẵn lẻ và ECC
Một phần của bản chất của bộ nhớ là nó chắc chắn hỏng. Các hỏng hóc này thường được phân ra làm hai loại cơ bản: hỏng phần cứng và lỗi phần mềm.
Cái được biết nhất là hỏng phần cứng mà trong đó các chip đang hoạt động và sau đó, do hư hại vật lý có lỗi hoặc vì các sự kiện khác, trở nên bị hỏng hóc và hỏng thường xuyên. Sửa loại lỗi này thông thường đòi hòi phải thay một số phần cứng bộ nhớ, chẳng hạn như chip, SIMM hoặc DIMM. Những mức độ lỗi phần cứng được viết tắt là HERs (Hard error rates).
Tính chẵn lẻ và ECC
Một loại lỗi âm thầm khác là lỗi phần mềm, đây là một lỗi không thường xuyên có thể không bao giờ lập lại hoặc chỉ có thể xảy ra ở các khoảng thời gian hiếm hoi. Những mức độ lỗi phần mềm được viết tắt là SERs (Soft error rates).
Khoảng 20 năm về trước, Intel đã khám phá ra các lỗi phần mềm và làm kinh động nền công nghiệp bộ nhớ. Họ đã khám phá ra rằng các phần tứ alpha đã gây ra một tỷ lệ lỗi phần mềm cao không chấp nhận được hoặc các xáo trộn sự cố đơn (đôi khi người ta gọi là SEUs: single event upsets) trong DRAM 16KB có tại thời điểm đó. Bởi vì các phần tử alpha là các phần tử có năng lượng thấp có thể bị chặn đứng bằng cái gì đó mỏng và nhẹ như một tờ giấy, điều này chứng minh rằng các phần tử alpha gây ra một lỗi phần mềm DRAM, chúng có thể được đến từ các vật liệu bán dẫn. Việc kiểm tra cho thấy các dấu vết thorium và uranium trong vật liệu đóng gói chip nhựa và gốm được sử dụng lúc đó. Khám phá này buộc tất cả những nhà sản xuất bộ nhớ đánh giá các quy trình sản xuất của họ để sản xuất ra vật liệu sạch.
Ngày nay, các nhà sản xuất bộ nhớ có tất cả nhưng không hoàn toàn loại bỏ hết phần tứ alpha và nhiều khám phá gần đây chứng tỏ rằng các phần tứ alpha chỉ là một phần nhỏ nguyên nhân gây ra các lỗi phần mềm.
Khi nó sản xuất ra nguvên nhân lớn nhất của lỗi phần mềm ngày nay là những tia vũ trụ. Các nhà nghiên cứu của IBM đã bắt đầu điều tra các điện thế của những tia vũ trụ mặt đất trong việc gây ra lỗi phần mềm tương tự với các phân tư alpha. Sự khác biệt là tia vũ trụ là những phân tử năng lượng rất cao và không thề bị chặn bởi một tờ giấy hay các loại vò chấn mạnh mẽ khác. Người dẫn đầu cuộc điều fra này là Tiến sĩ J.F. Ziegler của IBM Watson Research Center tại Yorktown Heights. New York, ỏng đã đưa ra nghiên cứu then chốt trong việc tìm hiểu tia vũ trụ và ảnh hưởng của chúng trong lỗi phần mềm bộ nhớ. Một loạt thí nghiệm thú vị tìm hiểu tia vũ trụ – được kết luận cho các lỗi phần mềm. chúng bị loại trừ khi các DRAM được chuyển đến một vòm ngầm được che bởi hơn 50 feet đá.
Tia vũ trụ được kết luận cho các lỗi phần mềm thậm chí còn nghiêm trọng hơn ờ SRAM so với DRAM bởi vì số lượng điện yêu cầu để lật một bit trong một tế bào SRAM ít hơn khi lật một tụ điện tế bào DRAM. Tia vũ trụ cùng là một vấn đề lớn đối với bộ nhớ mật độ cao. Khi mật độ chip gia tăng, thì một phân tứ lạc sẽ dễ dàng lật một bit. Một số người dự đoán rằng tý lệ lỗi phần mềm của một DRAM 64MB sẽ gấp đôi của một chip 16MB và một DRAM 256MB sẽ có tý lệ cao hơn gấp bốn lần. Khi kích cỡ bộ nhớ liên tục gia tăng tỷ lệ lỗi phần mềm cũng sẽ gia tăng.
Thật không may, nền công nghiệp PC đâu có thất bại to lớn khi nhận ra căn nguyên của các lỗi bộ nhớ. Sự phóng tĩnh điện, đột biến nguồn điện hoặc phân mém không ổn định có thể dễ dàng giãi thích bằng bản chất ngẫu nhiên và không liên tục của lỗi phần mềm, đặc biệt là ngay sau khi tung ra hệ thống điều hành mới hoặc ứng dụng chính.
Mặc dù tia vũ trụ và các sự kiện bức xạ khác là nguyên nhân lớn nhất gây ra các lỗi phần mềm. các lỗi phần mềm cũng có thể được gây ra bởi các lý do sau:
■ Lỗi sự cố nguồn điện hoặc nhiễu đường điện – Điều này có thể được gây ra bởi bộ nguồn trục trặc trong hệ thống hoặc gặp vấn đề ở điện nguồn đầu vào.
■ Không đúng loại hay tốc độ – Bộ nhớ phải đúng loại với chipset và phù hợp với tốc độ truy cập hệ thống.
■ Sự nhiễu RF (tần số radio) – Do máy phát radio gần với hệ thống, có thể tạo ra các tín hiệu điện trong đường dây và các mạch hệ thống. Hãy nhớ rằng việc gia tăng sử dụng các thiết bị mạng, bàn phím và chuột không dây có thể dẫn tới nguy cơ nhiều RF.
■ Sự phóng tĩnh điện – Gây ra các xung nhọn điện tạm thời, từ đó thay đổi dữ liệu.
■ Những sự cố kỹ thuật về định thời gian – Dữ liệu không đến đúng nơi đúng thời điểm, gây ra lỗi. Thường được gây ra bởi vi các thiết lập sai trong BIOS Setup, bởi vì bộ nhớ tốc độ chậm hơn so với yêu cầu hệ thống, hoặc bởi vi các bộ xử lý và các thành phần hệ thống khác bị vượt xung.
■ Sự tích nhiệt – Các module bộ nhớ tốc độ cao chạy nóng hơn các module cũ. Các module RDRAM RIMM là bộ nhớ đầu tiên có bao gồm bộ tán (spreader) nhiệt tích hợp, nhiều module bộ nhớ DDR và DDR2 tốc độ cao hiện nay có bao gồm các bộ tản nhiệt đế chống lại sự tích nhiệt.
Hầu hết những sự cố này không gây ra việc hỏng chip vĩnh viễn (mặc dù nguồn điện không ổn định hoặc tĩnh điện có thể làm hỏng chip vĩnh viễn), nhưng chúng có thể gây rắc rối tạm thời cho dữ liệu.
Làm thế nào bạn có thể đối phó với các lỗi này? Cách tốt nhất để đối phó với vấn đề này là tăng cường khả năng chịu đựng sai sót của hệ thống. Điều này có nghĩa là các cách thực thi dò tìm và có thể sửa lỗi trong hệ thống PC. Ba cấp cơ bản và kỹ thuật được sử dụng cho khả năng chịu đựng sai sót trong các máy PC hiện đại là:
■ Không chẵn lẻ
■ Chẵn lẻ
■ ECC
Hệ thống không chẵn lẻ hoàn toàn không có khã năng chịu đựng sai sót. Lý do duy nhất các hệ thống này được sử dụng là bởi vì chúng có giá thành thấp nhất. Không cần thêm bộ nhớ, giống như kỹ thuật chẵn lẻ hoặc ECC. Bởi vì một byte dữ liệu loại chẵn lẻ có 9 bit so với 8 bit của không chẵn lẻ, giá thành bộ nhớ cao hơn khoảng 12.5%. Ngoài ra, bộ điều khiển bộ nhớ không chẵn lẻ được đơn giản hóa bởi vì nó không cần các cổng logic để tính toán các bit kiểm tra chẵn lẻ hoặc ECC. Các hệ thống xách tay có lợi thế là giảm thiểu tối đa năng lượng tiêu thụ nhờ vào việc giảm nguồn bộ nhớ từ việc dùng ít chip DRAM. Cuối cùng, bus dữ liệu hệ thống bộ nhớ hẹp hơn làm giảm số lượng bộ nhớ đệm dữ liệu. Xác suất lỗi bộ nhớ được thống kê trong một máy tính văn phòng hiện đại bây giờ được ước tính vào khoảng vài tháng một lỗi. Lỗi sẽ nhiều hơn hoặc ít hơn thường phụ thuộc vào việc bạn có bao nhiều bộ nhớ.
Tỷ lệ lỗi này có thể được bỏ qua vi các hệ thống cấp thấp không được sử dụng cho các ứng dụng trọng yếu. Trong trường hợp này, tính cực kỳ nhạy cảm của thị trường về giá có lẽ không thể biện bạch việc thêm giá thành của tính chẵn lẻ hoặc bộ nhớ ECC và các lỗi như vậy phải được bỏ qua.