ความผิดพลาดในความทรงจําเพียงบิตเดียว ไม่ได้เป็นเรื่องหายาก แต่เป็นเรื่องปกติการศึกษาที่นํามาอ้างอิงอย่างแพร่หลายโดย Google (Schroeder et al., 2009) การวิเคราะห์ความผิดพลาดในความทรงจําในตู้เซอร์เวอร์ทั้งหมดของพวกเขาพบอัตราความผิดพลาด DRAM ของ 25,000 ถึง 70,000 FIT (Failures In Time) ต่อ Mbit,ซึ่งหมายความว่าระบบที่มีความจํา 16GB จะประสบกับความผิดพลาดที่สามารถแก้ไขได้ประมาณ 1 ครั้งในทุก 2-8 ชั่วโมงของการทํางาน. ในดัสท็อปที่ไม่ใช่ ECC แบบมาตรฐาน ความผิดพลาดแต่ละอันนี้จะทําให้ข้อมูลที่อยู่ในที่อยู่ที่ถูกกระทบเสียโดยเงียบ โดยไม่มีการชี้แจงให้กับผู้ใช้งานหรือระบบปฏิบัติการว่ามีอะไรผิดพลาด
XRISS DDR4 16GB 3200MHz ECC UDIMM เพิ่ม DRAM IC ครั้งที่ 9 ต่อเรียง เพื่อเก็บ ECC checksum 8 บิต สําหรับคําข้อมูล 64-bit ทุกคําเมื่อบิตเดียวพลิกเนื่องจากรังสีโคสมิก (สาเหตุหลักที่ระดับน้ําทะเล), แผ่นรังสีพื้นหลังจากวัสดุการบรรจุ (อนุภาคอัลฟ่าจากผสมผสมที่ไม่มีหมู) หรือเสียงเสียงไฟฟ้า, เครื่อง ECC จะตรวจพบความผิดพลาดและแก้ไขมันอย่างโปร่งใสและเพิ่มตัวนับความผิดพลาดที่สามารถแก้ไขได้เข้าถึงผ่าน OS. ความผิดพลาดหลายบิตที่หายากมาก แต่เป็นภัยพิบัติถ้าไม่พบ จะกระตุ้นการตรวจสอบเครื่องยนต์ที่หยุดกระบวนการที่ได้รับผลกระทบ แทนที่จะกระจายข้อมูลที่เสียหายอย่างเงียบ
| ภาระงาน | สาเหตุของ Bit-Flip ที่ไม่พบ | การป้องกัน ECC |
|---|---|---|
| การวิเคราะห์ความเครียด FEA (ANSYS) | ค่าความเครียดที่ไม่ถูกต้องในการจําลองส่วนประกอบที่สําคัญต่อความปลอดภัย | บิตฟลิปถูกแก้ไขอย่างโปร่งใส; ไม่มีผลกระทบการจําลอง |
| การประกอบ CAD (SolidWorks) | สังขัดจุดสุดที่บกพร่อง สับสนกณิตศาสตร์รุ่น 3 มิติ | แก้ไขความผิดพลาด ก่อนที่ข้อมูลเรขาคณิต จะถึง GPU |
| แบบการเงิน (Excel/Python) | ค่าเซลล์ที่ผิด การกระจายผ่านการคํานวณที่ขึ้นอยู่กับ | ค่าระหว่างทั้งหมดที่คุ้มครองในความจํา |
| ชุดข้อมูลทางวิทยาศาสตร์ (MATLAB/NumPy) | จุดข้อมูลที่ผิดปกติในผลการวิจัยที่ตีพิมพ์ | ความสมบูรณ์แบบของตารางข้อมูลถูกรักษาตลอดการวิเคราะห์ |
สําหรับผู้ใช้ AMD Ryzen โมดูลนี้ต้องการ motherboard ที่มีการสนับสนุน ECC อย่างชัดเจนเปิดใน BIOS (ASUS Pro, ASRock Rack, และเลือก Gigabyte/ASRock consumer board) สําหรับ Intelชิปเซ็ต W680 จําเป็นสําหรับ ECC ที่ใช้โปรเซสเซอร์ Core รุ่นที่ 12-14โมดูลมีความสอดคล้องอย่างสมบูรณ์แบบกับทั้งสองแพลตฟอร์มและรายงานสถานะ ECC ผ่านอินเตอร์เฟซ EDAC (Linux) และ WMI (Windows) มาตรฐาน
Q1. ถ้าผมใช้สถานีทํางานของผมสําหรับ CAD และการทําแบบ 3 มิติเท่านั้น ผมต้องการความจํา ECC จริงไหม?
A: สําหรับการทําแบบ CAD และ 3D โดยเฉพาะแล้ว การวิเคราะห์ความเสี่ยงและประโยชน์ขึ้นอยู่กับประเภทงานของคุณ: (1) ถ้าคุณออกแบบสินค้าผู้บริโภค เฟอร์นิเจอร์หรือการจินตนาการสถาปัตยกรรม ที่บิตเดียวที่พลิก จะทําให้เกิดสิ่งประดิษฐ์เรขาคณิตเล็ก ๆ น้อย ๆ ที่คุณจะมองเห็นและแก้ไข(2) หากคุณออกแบบองค์ประกอบโครงสร้าง (สะพาน, ส่วนของเครื่องบิน, การปรับปรุงทางการแพทย์) ที่การคํานวณความเครียด FEA กําหนดขอบความปลอดภัยหรือถ้าคุณออกแบบเครื่องมือความแม่นยําที่ 0ความผิดพลาด 0.001 มม. จากพิกัดที่บกพร่อง จะทําให้พิมพ์ราคา 50,000 ดอลลาร์ECC ให้ความสมบูรณ์แบบของข้อมูลที่มีเอกสารที่สนับสนุนระบบการจัดการคุณภาพของคุณค่าใช้จ่ายเพิ่มเติมของ ECC ($30-50 ต่อโมดูลและ motherboard ที่เข้ากันได้) เป็นเรื่องเล็กน้อยเมื่อเทียบกับความรับผิดชอบของความผิดพลาดการออกแบบที่เกิดจากความเสียหายของข้อมูลที่ไม่พบ
Q2. บอร์ดแม่และ CPU ที่ผู้บริโภคสามารถเข้าถึงได้ไหนที่จริงจะรองรับ ECC UDIMM?
A: สําหรับ AMD: ทุกโปรเซสเซอร์ Ryzen ที่ไม่ใช่ APU (โมเดลที่ไม่มีย้ายคํา "G" เช่น Ryzen 5 7600, Ryzen 9 7950X, Ryzen 9 9950X) รองรับ ECC UDIMMแต่ motherboard ต้องเปิดให้เห็นฟังก์ชัน ECC ใน BIOS, ซึ่งไม่ได้รับการรับประกัน. บอร์ดผู้บริโภคที่ทราบว่ามีความสอดคล้องได้แก่: ASUS Pro B550-Creator, ASRock B550 Taichi, ASRock X570 Taichi, ASRock B650E Taichi, ASRock X670E Taichi, ASRock Rack X570D4U,และ Gigabyte B550 Vision D (มี ECC เปิดใน BIOS)สําหรับ Intel: การสนับสนุน ECC UDIMM จําเป็นต้องมีเมอร์บอร์ดชิปเซ็ต W680 (เช่น ASUS Pro WS W680-ACE IPMI, Supermicro X13SAE-F) จับคู่กับโปรเซสเซอร์โคร์รุ่นที่ 12/13/14ชิปเซ็ตมาตรฐาน Z790/B760/H770 ไม่รองรับ ECCตลอดเวลาตรวจสอบว่า ECC กําลังแก้ไขความผิดพลาดอย่างมีประสิทธิภาพหลังการติดตั้ง โดยใช้เครื่องมือระดับระบบปฏิบัติการ
Q3. ผมสามารถตรวจสอบอย่างแน่นอนได้อย่างไรว่า ECC กําลังทํางานจริง และไม่ใช่แค่ "สนับสนุน แต่ไม่ทํางาน"?
A: บน Linux, อุปกรณ์ติดตั้ง edac-utils และ rasdaemon, แล้วทํางาน: 'dmesg∙ grep -i edac' (ควรแสดงตัวขับ EDAC ที่ติดตั้งด้วย ECC เอนกประสงค์) และ 'ras-mc-ctl --status' (ควรแสดงการติดตามความผิดพลาดที่แก้ไข)บน Windows, ใช้ HWiNFO64: ขยายส่วนความจําและมองหา 'ประเภทการแก้ไขความผิดพลาด'แท็บ SPD อาจแสดงการสนับสนุน ECC แต่นี่ chỉแสดงความสามารถของโมดูลนอกจากนี้คุณสามารถทดสอบ ECC โดยใช้เครื่องมือการฉีดความผิดพลาดในความจํา: Linux มีโมดูล 'einj' (Error Injection)และบาง motherboard ให้การฉีดความผิดพลาด ECC ใน BIOS ภายใต้การตั้งค่าความทรงจําที่ก้าวหน้า. หากระบบบันทึกความผิดพลาดที่ถูกฉีดในรูปที่ถูกแก้ไข, ECC เป็นการทํางานอย่างเต็มที่
Q4. ผมสามารถใช้ ECC UDIMM ใน desktop แบบมาตรฐานที่ไม่สนับสนุน ECC ได้หรือไม่ เหมือนกับความจําที่ไม่ใช่ ECC?
ตอบ: ใช่, มีข้อเสนอข้อเสนอ. ECC UDIMM จะเข้ากับสล็อต DDR4 มาตรฐานและจะทํางานเป็นความจําที่ไม่ใช่ ECC ในแพลตฟอร์มที่ไม่สนับสนุน ECC. อย่างไรก็ตาม:(1) โมดูลจะทํางานในความช้าระยะที่สูงกว่าเล็กน้อยที่เทียบเท่าโมดูลที่ไม่ใช่ ECC เนื่องจากเส้นทางข้อมูล ECC นํามาความช้าระยะหนึ่ง. (2) ฟังก์ชันของ ECC จะหยุดทํางาน 칩 DRAM เพิ่มเติมจะไม่ใช้ (3) คุณจ่ายค่าธรรมเนียมสําหรับความสามารถของ ECC ที่คุณไม่สามารถใช้ได้เราไม่แนะนําการซื้อ ECC UDIMM สําหรับระบบที่ไม่ใช่ ECC เว้นแต่คุณมีแผนที่จะย้ายโมดูลไปยังแพลตฟอร์มที่สามารถใช้ ECC ได้ในภายหลังใช้ผลิตภัณฑ์ UDIMM ที่ไม่ใช่ ECC มาตรฐานของเราแทน
Q5. ความน่าเชื่อถือของสถานีทํางาน ECC UDIMM เปรียบเทียบกับเซอร์เวอร์ RDIMM สําหรับการจําลองที่ยาวนานอย่างไร?
A: สําหรับสถานีทํางานที่มีซ็อตเดียว, ECC UDIMM ให้ความสามารถในการแก้ไขความผิดพลาดที่เหมือนกันกับ RDIMM ทั้งการตรวจสอบและแก้ไขความผิดพลาดแบบเดียวและตรวจสอบความผิดพลาดหลายบิตความแตกต่างคือความหนาแน่นและความสามารถในการปรับขนาด, ไม่ใช่คุณภาพการแก้ไขความผิดพลาด RDIMM ใช้พัฟเฟอร์เวลาที่ลงทะเบียนเพื่อลดภาระไฟฟ้าทําให้มีความจุสูงขึ้นต่อช่องทางและ DIMM มากขึ้นต่อช่องทาง ดังนั้นการใช้ในเซอร์เวอร์ที่มี 8-16 สล็อต DIMM ต่อ CPUสําหรับสถานีทํางานที่มีสล็อต 4 DIMM และมีทั้งหมดน้อยกว่า 128GB, ECC UDIMM เป็นเทคโนโลยีที่เหมาะสม สําหรับสถานีทํางานที่ต้องการมากกว่า 128GBแพลตฟอร์ม W680 ที่มีการสนับสนุน 2DPC หรือ แพลตฟอร์ม Threadripper Pro ที่มีการสนับสนุน RDIMM จะเหมาะสมกว่าความสามารถในการแก้ไขความผิดพลาดที่แท้จริงต่อการพลิกบิตที่เกิดจากรังสีจักรวาลคือเหมือนกันระหว่าง ECC UDIMM และ RDIMM ที่มีความจุและความเร็วเท่ากัน