ECC ram คืออะไรและทำไมจึงดีกว่า


31

ฉันเห็นข้อสงสัยเกี่ยวกับการใช้ RAM ของ ECC บนเซิร์ฟเวอร์ ทำไมจะดีกว่า


2
คำถามที่ตอบในคำถามอื่น: serverfault.com/questions/5817/…
sh-beta

มีหลักฐานว่าหน่วยความจำ ECC มีความจำเป็นหรือเป็นประโยชน์ต่อการใช้งานหรือไม่? ประโยชน์และกลไกของการกระทำนั้นเข้าใจง่าย แต่ฉันไม่เคยได้ยินหลักฐานที่แสดงให้เห็นถึงการใช้งาน
Drew Stephens

และอะไรคือผลที่ตามมาหลายประการจากการประสบกับข้อผิดพลาดของหน่วยความจำ (บิต) ตัวอย่างเช่นฉันเพิ่งปิด - เซิร์ฟเวอร์ที่ออนไลน์ 5 ปีไม่หยุด (ด้วย ECC ram) และโดยรวมแล้วไม่เป็นไรฉันไม่เคยมีข้อร้องเรียนใด ๆ จากลูกค้าที่โฮสต์อยู่ที่นั่น ข้อผิดพลาดกับมัน ... เช่นเดียวกับประสบการณ์คอมพิวเตอร์เดสก์ทอปของฉัน - BSOD ที่นี่และมีค่อนข้างน้อย แต่ทั้งหมดนี้คืออะไร? :)
Denis Volovik

@ Denis ฉันคิดว่าถ้าคุณต้องการให้คนอื่นตอบคำถามของคุณคุณอาจต้องถามคำถามนี้เป็นคำถามแยกต่างหากแทนที่จะแสดงความคิดเห็น
Toby Allen

คำตอบ:


28

ECC RAM สามารถกู้คืนจากข้อผิดพลาดเล็ก ๆ ในบิตโดยใช้บิตพาริตี้ เนื่องจากเซิร์ฟเวอร์เป็นทรัพยากรที่ใช้ร่วมกันซึ่งมีความสำคัญต่อเวลาและความเชื่อถือได้จึงมักใช้ ECC RAM โดยมีราคาแตกต่างกันเล็กน้อย ECC RAM ยังใช้ใน CAD / CAM เวิร์กสเตชันข้อผิดพลาดเล็ก ๆ น้อย ๆ อาจทำให้เกิดข้อผิดพลาดในการคำนวณซึ่งกลายเป็นปัญหาที่สำคัญมากขึ้นเมื่อการออกแบบไปสู่การผลิต


5
ข้อผิดพลาดเล็กน้อยในจำนวนใดก็ได้รวมถึงแพคเกจการเงินธุรกิจขนาดเล็กของใครบางคนอาจมีขนาดเล็กมากหรือใหญ่มาก ทุกอย่างขึ้นอยู่กับว่าบิตใด
Zan Lynx

เพิ่มไปที่ข้อเท็จจริงที่ว่าข้อผิดพลาดที่ผิดในสถานที่ที่ไม่ถูกต้องอาจทำให้เครื่องมากกว่าหนึ่งเครื่องถูกลงเมื่อคุณจำลองระบบเสมือนเพื่อรวมเข้าด้วยกัน
MikeyB

1
ฉันแค่รอให้ บริษัท ไร้ยางอายเรียกร้องการฉ้อโกงทางบัญชีของพวกเขาจริง ๆ แล้วเป็นข้อผิดพลาดเล็กน้อย
Eloff

29

การศึกษาในโลกแห่งความเป็นเลิศที่ยอดเยี่ยม:

ข้อผิดพลาด DRAM ในป่า: การศึกษาภาคสนามขนาดใหญ่ (pdf)

กระดาษนี้ให้การศึกษาขนาดใหญ่ครั้งแรกของข้อผิดพลาดหน่วยความจำ DRAM ในเขตข้อมูล มันขึ้นอยู่กับข้อมูลที่เก็บรวบรวมจากเซิร์ฟเวอร์ของ Google ในช่วงระยะเวลานานกว่าสองปีซึ่งใช้เวลา DIMM หลายล้านวัน DRAM ในการศึกษาของเราครอบคลุมผู้ค้าหลายรายความหนาแน่นและเทคโนโลยี DRAM (DDR1, DDR2 และ FBDIMM)

กระดาษตอบคำถามต่อไปนี้: คอมมอนเป็นข้อผิดพลาดของหน่วยความจำในทางปฏิบัติอย่างไร คุณสมบัติทางสถิติของพวกเขาคืออะไร? ปัจจัยภายนอกเช่นอุณหภูมิและการใช้งานระบบได้รับผลกระทบอย่างไร และจะแตกต่างกันอย่างไรกับปัจจัยเฉพาะของชิปเช่นความหนาแน่นของชิปเทคโนโลยีหน่วยความจำและอายุ DIMM

เราพบว่าข้อผิดพลาด DRAM ในหลาย ๆ ด้านในลักษณะการทำงานแตกต่างจากที่คิดไว้มาก ตัวอย่างเช่นเราสังเกตอัตราความผิดพลาด DRAM ที่เป็นคำสั่งที่มีขนาดสูงกว่าที่รายงานก่อนหน้านี้ด้วยอัตรา FIT (ความล้มเหลวในเวลาต่อพันล้านชั่วโมงอุปกรณ์) 25,000 ถึง 70,000 ต่อ Mbit และมากกว่า 8% ของ DIMM ที่ได้รับผลกระทบต่อปี เราให้หลักฐานที่ชัดเจนว่าข้อผิดพลาดของหน่วยความจำถูกครอบงำโดยข้อผิดพลาดอย่างหนักแทนที่จะเป็นข้อผิดพลาดที่นุ่มนวลซึ่งงานก่อนหน้านี้ส่วนใหญ่มุ่งเน้นไปที่ เราพบว่าจากปัจจัยทั้งหมดที่ส่งผลต่อพฤติกรรมความผิดพลาดของ DIMM ในสนามอุณหภูมิมีผลกระทบเล็กน้อยอย่างน่าประหลาดใจ ในที่สุดซึ่งแตกต่างจากความกลัวทั่วไปเราไม่สังเกตเห็นสิ่งบ่งชี้ว่าอัตราความผิดพลาดต่อ DIMM เพิ่มขึ้นเมื่อใช้ DIMM รุ่นใหม่

ที่น่าสนใจว่าข้อผิดพลาดของหน่วยความจำส่วนใหญ่เป็นข้อผิดพลาดของฮาร์ด - ฮาร์ดหน่วยความจำที่ไม่สามารถกู้คืนได้หมายความว่าหน่วยความจำจะต้องถูกแทนที่ทางกายภาพว่าล้มเหลวในขณะที่ข้อผิดพลาด soft memory สามารถแก้ไขได้โดยการเขียนทับหน่วยความจำ สิ่งนี้บ่งบอกว่ามูลค่าของ ECC นั้นค่อนข้าง จำกัด

มีข้อผิดพลาดสองชนิดที่มักเกิดขึ้นในระบบหน่วยความจำ ครั้งแรกที่เรียกว่าข้อผิดพลาดซ้ำหรือยาก ในสถานการณ์เช่นนี้ชิ้นส่วนของฮาร์ดแวร์จะเสียและจะส่งคืนผลลัพธ์ที่ไม่ถูกต้องอย่างสม่ำเสมอ บิตอาจค้างอยู่เพื่อให้ส่งกลับค่าเป็น "0" เสมอไม่ว่าจะเขียนอะไรก็ตาม ข้อผิดพลาดที่ยากมักจะบ่งชี้ว่าโมดูลหน่วยความจำหลวม, ชิปเป่า, ข้อบกพร่องเมนบอร์ดหรือปัญหาทางกายภาพอื่น ๆ พวกเขาค่อนข้างง่ายต่อการวินิจฉัยและแก้ไขเนื่องจากมีความสอดคล้องและทำซ้ำได้

เสียงเหมือนเซิร์ฟเวอร์ทั้งหมดที่ใช้ในการศึกษาใช้ ECC ดังนั้นเราจึงไม่สามารถทราบอัตราความผิดพลาดของ ECC เทียบกับที่ไม่ใช่ของ ECC ..

กระดาษนี้ศึกษาอุบัติการณ์และลักษณะของข้อผิดพลาด DRAM ในฝูงสินค้าเซิร์ฟเวอร์ขนาดใหญ่ การศึกษาของเราขึ้นอยู่กับข้อมูลที่เก็บรวบรวมมานานกว่า 2 ปีและครอบคลุม DIMM ของผู้ค้าหลายรายหลายชั่วอายุคนเทคโนโลยีและความสามารถ DIMM ทั้งหมดติดตั้งตรรกะการแก้ไขข้อผิดพลาด (ECC) เพื่อแก้ไขข้อผิดพลาดบิตเดียวอย่างน้อยที่สุด


5
+1 รายงานที่ดี แม้ว่าฉันจะไม่ทราบอัตราข้อผิดพลาดที่ไม่ใช่ของ ECC แต่ฉันคาดว่าอัตราข้อผิดพลาดที่ไม่ใช่ของ ECC นั้นจะใกล้เคียงกับอัตราข้อผิดพลาด ECC ต่อ GB ชิปแรมที่ใช้กันนั้นถูกใช้ทั้งใน ECC และไม่ใช่ ECC DIMM (ECC DIMM นั้นใช้เพียง 9/8 ชิปจำนวนมาก - บิตหน่วยความจำดิบ 72 บิตเพื่อเก็บคำข้อมูล 64- บิตและ 8/9 อัตราข้อผิดพลาดคือ อัตราความผิดพลาดประมาณเดียวกัน) และฉันไม่เห็นเหตุผลว่าชิป RAM จะมีอัตราความผิดพลาดแตกต่างกันอย่างมีนัยสำคัญเมื่อวางบน ECC DIMM เทียบกับเมื่อวางบน non-ECC DIMM
David Cary

9

ECC มีข้อดีหลายประการมากกว่าความเท่าเทียมกัน สำหรับหนึ่งมันสามารถตรวจจับและซ่อมแซมข้อผิดพลาดบิตเดียวและทำเช่นนั้นโดยไม่ต้องหยุดทั้งระบบ ข้อผิดพลาดแบบหลายบิตจะยังคงส่งคืนข้อผิดพลาดแบบพาริตี แต่อัตราต่อรองของสิ่งนี้เกิดขึ้นน้อยทางดาราศาสตร์ในช่วงอายุของพีซีเว้นแต่ว่าหน่วยความจำของตัวเองจะเสีย ECC เป็นเหมือนประกันรถยนต์: ครอบคลุมคุณในเรื่องส่วนใหญ่ที่อาจผิดพลาด แต่ก็ไม่สามารถป้องกันไม่ให้มีรถหลายกอง

รายละเอียดเพิ่มเติมได้ที่นี่: หน่วยความจำ ECC: ต้องมีสำหรับเซิร์ฟเวอร์ไม่ใช่สำหรับพีซีตั้งโต๊ะ


1
ฉันไม่เห็นด้วยกับบทความ ฉันคิดว่าทุกคนควรใช้ ECC ฉันจะไม่ยอมแพ้ แต่ฉันต้องการ Core I7 ใหม่ที่เพียงพอในที่สุด อย่างไรก็ตามฉันมั่นใจว่า RAM ขนาด 6GB ของฉันกำลังรับข้อผิดพลาดอยู่ทุกที่
Zan Lynx

4
@zan และข้อผิดพลาดเหล่านี้ที่คุณ "แน่ใจ" เกี่ยวกับสิ่งที่พวกเขามีผลอะไรบ้าง
Jeff Atwood

อย่าคาดเดา; ข้อผิดพลาดที่แก้ไขได้ควรสร้าง MCEs ที่สามารถบันทึกในระบบปฏิบัติการ (System Log in Windows, / var / log / mcelog ใน Linux)
MikeyB

@JeffAtwood: ไม่มีอะไรปกติ แต่ฉันมีหน้าจอสีน้ำเงินเป็นครั้งคราวโดยไม่มีเหตุผลที่ชัดเจน บนระบบที่ฉันมีที่ทำมี ECC ผมจะเห็นคู่ของข้อผิดพลาดบิตเดียวในแต่ละเดือน
Zan Lynx

@JeffAtwood: และเช่นเดียวกับทุกคนที่ฉันมั่นใจฉันต้องติดตั้งแอปพลิเคชั่นเป็นครั้งคราว (Office. Visual Studio) เพราะเห็นได้ชัดว่ามันเสียสติไปแล้ว ข้อผิดพลาดของแอพหรือข้อผิดพลาด ECC ทำให้ไฟล์ดิสก์เสียหายหรือไม่ ใครจะรู้ถ้าคุณไม่มี ECC
Zan Lynx

5

ในการทำให้สิ่งต่าง ๆ ง่ายขึ้นการอ้างอิงจากWikipedia :

การรบกวนทางไฟฟ้าหรือสนามแม่เหล็กในระบบคอมพิวเตอร์สามารถทำให้ DRAM หนึ่งบิตพลิกกลับไปยังสถานะตรงกันข้ามได้เอง ในตอนแรกคิดว่านี่เป็นสาเหตุหลักมาจากอนุภาคแอลฟาที่ปล่อยออกมาจากสิ่งปนเปื้อนในวัสดุบรรจุภัณฑ์ของชิป แต่การวิจัย [5] แสดงให้เห็นว่าข้อผิดพลาดครั้งเดียว ("อ่อน") ส่วนใหญ่ในชิป DRAM เกิดขึ้นเนื่องจากรังสีพื้นหลัง
...
ปัญหานี้สามารถบรรเทาได้โดยใช้โมดูล DRAM ที่มีบิตหน่วยความจำเพิ่มเติมและตัวควบคุมหน่วยความจำที่ใช้ประโยชน์จากบิตเหล่านี้ บิตพิเศษเหล่านี้ใช้สำหรับบันทึกพาริตี้หรือใช้รหัสแก้ไขข้อผิดพลาด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.