ใช่มีสิ่งที่เรียกว่าบิตเน่า
แต่ไม่มันจะไม่ส่งผลกระทบต่อคุณที่ไม่มีใครสังเกต
เมื่อไดรฟ์เขียนเซ็กเตอร์ไปยัง platters มันไม่เพียงแค่เขียนบิตในแบบเดียวกับที่พวกเขาเก็บไว้ใน RAM แต่ใช้การเข้ารหัสเพื่อให้แน่ใจว่าไม่มีลำดับของบิตเดียวกันที่ยาวเกินไป และเพิ่มรหัส ECC ที่อนุญาตให้ซ่อมแซมข้อผิดพลาดที่ส่งผลกระทบต่อบิตสองสามบิตและตรวจพบข้อผิดพลาดที่ส่งผลกระทบมากกว่าสองสามบิต
เมื่อไดรฟ์อ่านเซกเตอร์ไดรฟ์จะตรวจสอบรหัส ECC เหล่านี้และซ่อมแซมข้อมูลถ้าจำเป็นและเป็นไปได้ สิ่งที่เกิดขึ้นต่อไปขึ้นอยู่กับสถานการณ์และเฟิร์มแวร์ของไดรฟ์ซึ่งได้รับอิทธิพลจากการกำหนดของไดรฟ์
- หากภาคสามารถอ่านได้และไม่มีปัญหา ECC ก็จะส่งผ่านไปยังระบบปฏิบัติการ
- หากเซกเตอร์สามารถซ่อมแซมได้ง่ายเวอร์ชั่นที่ซ่อมแซมอาจเขียนลงดิสก์อ่านกลับและตรวจสอบเพื่อตรวจสอบว่าข้อผิดพลาดนั้นเป็นแบบสุ่ม (รังสีคอสมิค ... ) หรือหากมีข้อผิดพลาดอย่างเป็นระบบกับสื่อ
- หากไดรฟ์ระบุว่ามีข้อผิดพลาดกับสื่อบันทึกจะทำการจัดสรรเซกเตอร์ใหม่
- หากเซ็กเตอร์ไม่สามารถอ่านหรือแก้ไขได้หลังจากลองอ่านไม่กี่ครั้งบนไดรฟ์ที่กำหนดให้เป็นไดรฟ์ RAID ไดรฟ์จะเลิกจัดสรรภาคและแจ้งให้ผู้ควบคุมทราบว่ามีปัญหา มันอาศัยตัวควบคุม RAID เพื่อสร้างเซกเตอร์จากสมาชิก RAID รายอื่นและเขียนกลับไปยังไดรฟ์ที่ล้มเหลวซึ่งจะเก็บไว้ในเซกเตอร์ที่ถูกจัดสรรใหม่ซึ่งหวังว่าจะไม่มีปัญหา
- ถ้าเซ็กเตอร์ไม่สามารถอ่านหรือแก้ไขบนเดสก์ท็อปไดรฟ์ไดรฟ์จะพยายามอ่านอีกมาก ขึ้นอยู่กับคุณภาพของไดรฟ์สิ่งนี้อาจเกี่ยวข้องกับการจัดตำแหน่งหัวตรวจสอบว่ามีบิตใดที่พลิกเมื่ออ่านซ้ำ ๆ ตรวจสอบว่าบิตใดที่อ่อนแอที่สุดและอีกสองสามอย่าง หากความพยายามใด ๆ เหล่านี้สำเร็จไดรฟ์จะทำการจัดสรรเซกเตอร์และเขียนข้อมูลที่ได้รับการซ่อมแซม
(นี่คือหนึ่งในความแตกต่างที่สำคัญระหว่างไดรฟ์ที่ขายเป็นไดรฟ์ "เดสก์ท็อป", "NAS / RAID" หรือ "การเฝ้าระวังวิดีโอ" ไดรฟ์ RAID สามารถเพียงแค่ยอมแพ้อย่างรวดเร็วและทำให้ตัวควบคุมซ่อมแซมเซกเตอร์ ฝั่งผู้ใช้เดสก์ท็อปไดรฟ์จะลองอีกครั้งและอีกครั้งเพราะการที่ผู้ใช้รอสักครู่อาจจะดีกว่าบอกพวกเขาว่าข้อมูลจะหายไปและไดรฟ์วิดีโอค่าอัตราข้อมูลคงที่มากกว่าการกู้คืนข้อผิดพลาด แม้แต่จะสังเกตเห็น)
อย่างไรก็ตามไดรฟ์จะรู้ว่าถ้ามีการเน่าบิตโดยทั่วไปจะกู้คืนจากมันและถ้ามันไม่สามารถจะบอกตัวควบคุมซึ่งจะบอกไดรเวอร์ซึ่งจะบอกระบบปฏิบัติการ จากนั้นขึ้นอยู่กับระบบปฏิบัติการที่จะแสดงข้อผิดพลาดนี้ให้กับผู้ใช้และดำเนินการกับมัน นี่คือเหตุผลที่ไซเบอร์นาร์ดพูด
ฉันไม่เคยเห็นข้อผิดพลาดเพียงเล็กน้อย แต่ฉันเห็นฮาร์ดไดรฟ์จำนวนมากซึ่งภาคทั้งหมดล้มเหลว
ไดรฟ์จะรู้ว่ามีบางอย่างผิดปกติกับเซ็กเตอร์ แต่ไม่ทราบว่าบิตใดล้มเหลว (หนึ่งบิตที่ล้มเหลวจะถูกจับโดย ECC เสมอ)
โปรดทราบว่า chkdsk และซ่อมแซมระบบไฟล์โดยอัตโนมัติอย่าแก้ไขข้อมูลที่อยู่ในไฟล์ สิ่งเหล่านี้ถูกกำหนดเป้าหมายไปที่การทุจริตภายในโครงสร้างของระบบไฟล์ เช่นขนาดไฟล์ที่แตกต่างกันระหว่างรายการไดเรกทอรีและจำนวนบล็อกที่จัดสรร คุณสมบัติการรักษาตัวเองของ NTFS จะตรวจสอบความเสียหายของโครงสร้างและป้องกันไม่ให้ส่งผลกระทบต่อข้อมูลของคุณต่อไปพวกเขาจะไม่ซ่อมแซมข้อมูลใด ๆ ที่ได้รับความเสียหายแล้ว
แน่นอนว่ามีเหตุผลอื่น ๆ ที่ทำให้ข้อมูลเสียหาย ตัวอย่างเช่น. RAM ที่ไม่ดีบนตัวควบคุมอาจเปลี่ยนแปลงข้อมูลก่อนที่จะส่งไปยังไดรฟ์ ในกรณีดังกล่าวจะไม่มีกลไกใดในไดรฟ์ที่จะตรวจจับหรือซ่อมแซมข้อมูลและนี่อาจเป็นสาเหตุหนึ่งที่ทำให้โครงสร้างของระบบไฟล์เสียหาย เหตุผลอื่น ๆ รวมถึงข้อผิดพลาดของซอฟต์แวร์ธรรมดา, ดับขณะเขียนดิสก์ (แม้ว่าจะแก้ไขด้วยการทำเจอร์นัลระบบไฟล์) หรือไดรเวอร์ระบบไฟล์ไม่ดี (ไดรเวอร์ NTFS บน Linux ที่ตั้งค่าเริ่มต้นเป็นแบบอ่านอย่างเดียวเป็นเวลานานเนื่องจาก NTFS ถูกออกแบบวิศวกรรม และนักพัฒนาซอฟต์แวร์ไม่เชื่อถือรหัสของตนเอง)
ฉันมีสถานการณ์นี้หนึ่งครั้งที่แอปพลิเคชันจะบันทึกไฟล์ทั้งหมดไปยังเซิร์ฟเวอร์สองแห่งในศูนย์ข้อมูลที่แตกต่างกันเพื่อเก็บสำเนาการทำงานหากข้อมูลภายใต้สถานการณ์ทั้งหมด หลังจากสองสามเดือนเราสังเกตเห็นว่าในหนึ่งในสำเนาประมาณ 0.1% ของไฟล์ทั้งหมดไม่ตรงกับผลรวม MD5 ที่แอปพลิเคชันเก็บไว้ในฐานข้อมูล กลายเป็นสายเคเบิลไฟเบอร์ที่ผิดปกติระหว่างเซิร์ฟเวอร์และ SAN
เหตุผลอื่น ๆ เหล่านี้คือสาเหตุที่ระบบไฟล์บางระบบเช่น ZFS เก็บข้อมูลการตรวจสอบเพิ่มเติมเพื่อตรวจหาข้อผิดพลาด พวกมันถูกออกแบบมาเพื่อปกป้องคุณจากสิ่งต่าง ๆ ที่อาจผิดพลาดได้มากกว่าเพียงแค่การเน่า