หน่วยความจำ ECC คืออะไร?

RAM หรือหน่วยความจำเข้าถึงโดยสุ่มบางตัวได้รับการโฆษณาเป็นหน่วยความจำ ECC ECC ย่อมาจาก Error Correcting Code และเป็นกระบวนการในการระบุและแก้ไขข้อผิดพลาดในหน่วยความจำ ข้อผิดพลาดใน RAM อาจทำให้เกิดความเสียหายหรือเปลี่ยนแปลงข้อมูล ซึ่งอาจส่งผลให้อุปกรณ์ขัดข้องและแม้แต่ช่องโหว่ด้านความปลอดภัย โดยทั่วไปแล้ว ECC RAM จะเข้ากันไม่ได้กับฮาร์ดแวร์พีซีระดับผู้บริโภค

หน่วยความจำผิดพลาดคืออะไร?

ข้อผิดพลาดของหน่วยความจำเป็นปัญหาที่ค่าที่เก็บไว้ในหน่วยความจำมีการเปลี่ยนแปลง ข้อมูลใน RAM ถูกจัดเก็บในรูปแบบไบนารี โดยมีค่า 1 หรือ 0 หากค่าของ 1 เปลี่ยนเป็น 0 หรือในทางกลับกัน ในกระบวนการที่เรียกว่า "การพลิกบิต" ข้อมูลที่เก็บไว้ใน RAM จะเปลี่ยนไป

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

การพลิกกลับของบิตมีสาเหตุหลายประการ สาเหตุที่พบบ่อยที่สุดคือผลของการแผ่รังสีพื้นหลัง ซึ่งส่วนใหญ่เกิดจากนิวตรอนที่เกิดจากเหตุการณ์รังสีคอสมิก รังสีคอสมิกเป็นอนุภาคพลังงานสูง ซึ่งปกติแล้วจะเป็นโปรตอน ซึ่งเคลื่อนที่ด้วยความเร็วเกือบเท่าแสง พวกมันถูกปล่อยออกมาจากวัตถุของดาวฤกษ์ รวมถึงดวงอาทิตย์และวัตถุทางดาราศาสตร์ที่มีพลังงานสูงอื่นๆ เมื่อรังสีคอสมิกพุ่งชนอะตอม นิวตรอนและอนุภาคย่อยอื่นๆ จะถูกสร้างขึ้น นิวตรอนเหล่านี้จะมีปฏิสัมพันธ์รอง

ปฏิกิริยานิวตรอนทุติยภูมิเหล่านี้เชื่อว่าเป็นสาเหตุหลักของข้อผิดพลาดในการพลิกบิต รังสีคอสมิกพบได้ทั่วไปในระดับความสูงที่สูงขึ้น โดยจะเพิ่มขึ้น 3.5x ที่ 1.5 กม. เหนือระดับน้ำทะเล และเพิ่มขึ้น 300x ที่ระดับความสูงของสายการบิน ความเสี่ยงที่เพิ่มขึ้นนี้ที่ระดับความสูงจำเป็นต้องมีมาตรการความน่าเชื่อถือเป็นพิเศษ

หน่วยความจำผิดพลาดบ่อยแค่ไหน?

คนส่วนใหญ่ไม่ได้เห็นคอมพิวเตอร์ของตนหยุดทำงานทุกวัน ดังนั้นจึงง่ายที่จะคิดว่านี่เป็นความเสี่ยงตามหลักทฤษฎี การวิจัยจากศูนย์ข้อมูลระดับไฮเปอร์สเกลได้ถูกนำมาใช้เพื่อวิเคราะห์อัตราการเกิดเหตุการณ์พลิกบิต การวิจัยที่ดำเนินการโดย Google ในศูนย์ข้อมูลต่างๆ ได้แสดงอัตราข้อผิดพลาดประมาณ 1 ข้อผิดพลาดบิตเดียวต่อ RAM กิกะไบต์ทุกๆ 1.8 ชั่วโมง

ภารกิจ Cassini-Huygens ของ Nasa ซึ่งเปิดตัวในปี 1997 เพื่อเดินทางไปยังดาวเสาร์นั้นได้รับการกำหนดค่าด้วยคอมพิวเตอร์บินที่เหมือนกันสองเครื่องโดยแต่ละเครื่องมี RAM 2.5 Gb ในช่วงสองปีครึ่งแรกของการเดินทาง ยานอวกาศพบข้อผิดพลาดบิตเดียว 280 รายการต่อวัน ในช่วงหนึ่งวัน เมื่อ Cassini-Huygens อยู่ในเส้นทางของเปลวไฟจากแสงอาทิตย์ พบข้อผิดพลาดบิตเพิ่มขึ้นสี่เท่า ซึ่งเป็นหลักฐานเพิ่มเติมว่าดวงอาทิตย์เป็นสาเหตุของปัญหาการพลิกบิตส่วนใหญ่

มีความกังวลว่าการเพิ่มความหนาแน่นของโมดูล RAM อย่างต่อเนื่องจะทำให้ RAM รุ่นที่ใหม่กว่ามีความเสี่ยงที่จะพลิกบิตมากขึ้นเรื่อยๆ จากการศึกษาเมื่อเร็วๆ นี้พบว่าสิ่งที่ตรงกันข้ามคือความจริง เนื่องจากข้อผิดพลาดลดลงเมื่อเรขาคณิตของกระบวนการลดลง

หน่วยความจำ ECC ป้องกันข้อผิดพลาดได้อย่างไร

หน่วยความจำ ECC ใช้รหัสแก้ไขข้อผิดพลาด เช่น รหัส Hamming เพื่อแก้ไขข้อผิดพลาดแบบบิตเดียวใน RAM ตรวจพบข้อผิดพลาดสองบิต แต่ไม่สามารถแก้ไขได้ รหัสแก้ไขข้อผิดพลาด Hamming ทำงานโดยใช้อาร์เรย์ของพาริตีบิต สามารถใช้พาริตีบิตเหล่านี้ร่วมกันเพื่อตรวจจับได้ว่าบิตข้อมูลใด ๆ มีการเปลี่ยนแปลง หากมีการระบุว่ามีการพลิกบิต บิตนั้นจะถูกเปลี่ยนกลับโดยอัตโนมัติ

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

พาริตีบิตมากกว่าที่จำเป็นหนึ่งบิตรวมอยู่ในโค้ดการแก้ไขข้อผิดพลาดของ Hamming พาริตีบิตพิเศษนี้ทำให้โค้ดสามารถตรวจจับการเกิดข้อผิดพลาดแบบสองบิตได้ อย่างไรก็ตาม ข้อผิดพลาดเหล่านี้ไม่สามารถแก้ไขได้

กระบวนการตรวจจับและแก้ไขข้อผิดพลาดดำเนินการบนตัวควบคุมหน่วยความจำบนแท่ง RAM

ความพร้อมของผู้บริโภคและการสนับสนุน

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

ไม่มีซีพียูสำหรับผู้บริโภคและผู้สนใจของ Intel รุ่นใดรองรับหน่วยความจำ ECC เฉพาะซีพียูระดับเซิร์ฟเวอร์เท่านั้น เช่น ซีพียูรุ่น Xeon ที่รองรับ CPU ระดับผู้บริโภคของ AMD ไม่รองรับ ECC อย่างไรก็ตาม เวิร์คสเตชันและ CPU ระดับเซิร์ฟเวอร์, Threadripper และ EPYC ตามลำดับ รองรับหน่วยความจำ ECC



Leave a Comment

วิธีการโคลนฮาร์ดไดรฟ์

วิธีการโคลนฮาร์ดไดรฟ์

ในยุคดิจิทัลสมัยใหม่ ที่ข้อมูลเป็นทรัพย์สินที่มีค่า การโคลนฮาร์ดไดรฟ์บน Windows อาจเป็นกระบวนการที่สำคัญสำหรับหลายๆ คน คู่มือที่ครอบคลุมนี้

วิธีแก้ไขไดรเวอร์ WUDFRd ไม่สามารถโหลดบน Windows 10 ได้

วิธีแก้ไขไดรเวอร์ WUDFRd ไม่สามารถโหลดบน Windows 10 ได้

คุณกำลังเผชิญกับข้อความแสดงข้อผิดพลาดขณะบูตเครื่องคอมพิวเตอร์ซึ่งระบุว่าไดรเวอร์ WUDFRd ไม่สามารถโหลดบนคอมพิวเตอร์ของคุณได้ใช่หรือไม่?

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

คุณพบประสบการณ์รหัสข้อผิดพลาด NVIDIA GeForce 0x0003 บนเดสก์ท็อปของคุณหรือไม่? หากใช่ โปรดอ่านบล็อกเพื่อดูวิธีแก้ไขข้อผิดพลาดนี้อย่างรวดเร็วและง่ายดาย

Roomba Stops, Sticks and Turns Around – Fix

Roomba Stops, Sticks and Turns Around – Fix

Fix a problem where your Roomba robot vacuum stops, sticks, and keeps turning around.

วิธีลบ GPU ออกจากพีซีที่ใช้ Windows ในปี 2023

วิธีลบ GPU ออกจากพีซีที่ใช้ Windows ในปี 2023

คุณจำเป็นต้องลบ GPU ออกจากพีซีของคุณหรือไม่? เข้าร่วมกับฉันในขณะที่ฉันอธิบายวิธีลบ GPU ออกจากพีซีของคุณในคำแนะนำทีละขั้นตอนนี้

วิธีการติดตั้ง NVMe SSD ในเดสก์ท็อปและแล็ปท็อป

วิธีการติดตั้ง NVMe SSD ในเดสก์ท็อปและแล็ปท็อป

ซื้อ NVMe M.2 SSD ใหม่ แต่ไม่รู้ว่าจะติดตั้งอย่างไร? อ่านเพื่อเรียนรู้วิธีติดตั้ง NVMe SSD บนแล็ปท็อปหรือเดสก์ท็อป

Logic Bomb คืออะไร?

Logic Bomb คืออะไร?

ลอจิกบอมบ์คือเหตุการณ์ด้านความปลอดภัยที่ผู้โจมตีดำเนินการล่าช้า อ่านต่อเพื่อหาข้อมูลเพิ่มเติม

SoC คืออะไร?

SoC คืออะไร?

หากคุณเคยดูภายในพีซีทาวเวอร์ คุณจะเห็นว่ามีส่วนประกอบต่างๆ มากมาย แล็ปท็อปทั่วไปของคุณมีส่วนประกอบที่เหมือนกันเป็นส่วนใหญ่

การเข้ารหัสแบบอสมมาตรคืออะไร?

การเข้ารหัสแบบอสมมาตรคืออะไร?

อัลกอริธึมการเข้ารหัสแบบอสมมาตรใช้สองคีย์ที่แตกต่างกัน คีย์หนึ่งใช้สำหรับเข้ารหัสและอีกคีย์หนึ่งสำหรับถอดรหัส

Steam Deck: วิธีฟอร์แมตการ์ด SD

Steam Deck: วิธีฟอร์แมตการ์ด SD

Steam Deck มีตัวเลือกพื้นที่เก็บข้อมูลสามแบบ: 64GB eMMC, 256GB NVMe SSD และ 512GB NVMe SSD ขึ้นอยู่กับคลังเกมของคุณและขนาดของเกม