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

ความเสียหายของข้อมูลในระบบคอมพิวเตอร์มีสองประเภท ได้แก่ ความเสียหายที่ตรวจไม่พบ และความเสียหายที่ตรวจพบความเสียหายของข้อมูลที่ตรวจไม่พบ หรือที่เรียกว่าความเสียหายของข้อมูลแบบเงียบๆนั้น ก่อให้เกิดข้อผิดพลาดที่อันตรายที่สุด เนื่องจากไม่มีสัญญาณใดๆ บ่งชี้ว่าข้อมูลไม่ถูกต้อง ส่วนความเสียหายของข้อมูลที่ตรวจพบ อาจเป็นความเสียหายถาวรที่ทำให้ข้อมูลสูญหาย หรืออาจเป็นความเสียหายชั่วคราวเมื่อบางส่วนของระบบสามารถตรวจจับและแก้ไขข้อผิดพลาดได้ ซึ่งในกรณีหลังนี้จะไม่มีความเสียหายของข้อมูลเกิดขึ้น
ความเสียหายของข้อมูลสามารถเกิดขึ้นได้ในทุกระดับของระบบ ตั้งแต่โฮสต์ไปจนถึงสื่อจัดเก็บข้อมูล ระบบสมัยใหม่พยายามตรวจจับความเสียหายในหลายระดับ จากนั้นจึงกู้คืนหรือแก้ไขความเสียหาย ซึ่งโดยส่วนใหญ่แล้วจะประสบความสำเร็จ แต่ในบางกรณีที่หายากมาก ข้อมูลที่เข้ามาในหน่วยความจำของระบบอาจเสียหายและอาจก่อให้เกิดผลลัพธ์ที่ไม่คาดคิดได้
ความเสียหายของข้อมูลระหว่างการส่งมีสาเหตุได้หลายประการ การหยุดชะงักของการส่งข้อมูลทำให้ข้อมูลสูญหายสภาพแวดล้อมอาจรบกวนการส่งข้อมูล โดยเฉพาะอย่างยิ่งเมื่อใช้การส่งข้อมูลแบบไร้สาย เมฆหนาทึบอาจปิดกั้นการส่งสัญญาณผ่านดาวเทียม เครือข่ายไร้สายมีความเสี่ยงต่อการรบกวนจากอุปกรณ์ต่างๆ เช่น เตาไมโครเวฟ
ความล้มเหลวของฮาร์ดแวร์และซอฟต์แวร์เป็นสาเหตุหลักสองประการที่ทำให้ข้อมูลสูญหายรังสี พื้นหลังการชนของหัวอ่านและความเสื่อมสภาพหรือการสึกหรอของอุปกรณ์จัดเก็บข้อมูลจัดอยู่ในประเภทแรก ในขณะที่ความล้มเหลวของซอฟต์แวร์มักเกิดขึ้นเนื่องจากข้อบกพร่องในโค้ด รังสีคอสมิกทำให้เกิดข้อผิดพลาดแบบอ่อน ส่วนใหญ่ ใน DRAM [ 1 ]
เงียบ
ข้อผิดพลาดบางอย่างจะไม่ถูกสังเกตเห็น โดยไม่ถูกตรวจพบโดยเฟิร์มแวร์ดิสก์หรือระบบปฏิบัติการโฮสต์ ข้อผิดพลาดเหล่านี้เรียกว่าความเสียหายของข้อมูลแบบเงียบ[ 2 ]
มีแหล่งที่มาของข้อผิดพลาดมากมายนอกเหนือจากระบบจัดเก็บข้อมูลดิสก์เอง ตัวอย่างเช่น สายเคเบิลอาจหลวมเล็กน้อย แหล่งจ่ายไฟอาจไม่น่าเชื่อถือ[ 3 ]การสั่นสะเทือนภายนอก เช่น เสียงดัง[ 4 ]เครือข่ายอาจทำให้เกิดความเสียหายที่ตรวจไม่พบ[ 5 ]รังสีคอสมิกและสาเหตุอื่นๆ อีกมากมายของข้อผิดพลาดหน่วยความจำแบบอ่อนเป็นต้น ในระบบจัดเก็บข้อมูล 39,000 ระบบที่ได้รับการวิเคราะห์ พบว่าข้อบกพร่องของเฟิร์มแวร์คิดเป็น 5–10% ของความล้มเหลว ในการจัดเก็บข้อมูล [ 6 ]อัตราข้อผิดพลาดที่สังเกตได้จาก การศึกษา ของ CERNเกี่ยวกับความเสียหายแบบเงียบๆ นั้นสูงกว่าหนึ่งในทุกๆ 10 16บิต มาก [ 7 ] Amazon Web Servicesยอมรับว่าความเสียหายของข้อมูลเป็นสาเหตุของการหยุดชะงักอย่างกว้างขวางของเครือข่ายจัดเก็บข้อมูลAmazon S3 ในปี 2008 [ 8 ]ในปี 2021 พบว่าแกนประมวลผลที่ผิดพลาดเป็นสาเหตุเพิ่มเติมในสิ่งพิมพ์ของ Google และ Facebook โดยพบว่าแกนประมวลผลมีข้อบกพร่องในอัตราหลายพันแกน[ 9 ] [ 10 ]
ปัญหาหนึ่งคือความจุของฮาร์ดดิสก์ไดรฟ์เพิ่มขึ้นอย่างมาก แต่อัตราข้อผิดพลาดยังคงไม่เปลี่ยนแปลง อัตราการเสียหายของข้อมูลนั้นค่อนข้างคงที่ตลอดเวลา ซึ่งหมายความว่าดิสก์สมัยใหม่ไม่ได้ปลอดภัยกว่าดิสก์เก่ามากนัก ในดิสก์เก่า ความน่าจะเป็นของการเสียหายของข้อมูลนั้นน้อยมากเพราะเก็บข้อมูลได้เพียงเล็กน้อย ในดิสก์สมัยใหม่ ความน่าจะเป็นนั้นสูงกว่ามากเพราะเก็บข้อมูลได้มากกว่ามาก ในขณะที่ไม่ได้ปลอดภัยกว่า ด้วยเหตุนี้ การเสียหายของข้อมูลแบบเงียบๆ จึงไม่ใช่ปัญหาที่ร้ายแรงในขณะที่อุปกรณ์จัดเก็บข้อมูลยังมีขนาดเล็กและช้า ในยุคปัจจุบันและด้วยการมาถึงของไดรฟ์ขนาดใหญ่และการตั้งค่า RAID ที่เร็วมาก ผู้ใช้สามารถถ่ายโอนข้อมูล 10 16บิตได้ในเวลาอันสั้นพอสมควร จึงสามารถเข้าถึงเกณฑ์การเสียหายของข้อมูลได้ง่าย[ 11 ]
ตัวอย่างเช่น Jeff Bonwick ผู้สร้าง ZFSระบุว่าฐานข้อมูลความเร็วสูงของGreenplumซึ่งเป็นบริษัทซอฟต์แวร์ฐานข้อมูลที่เชี่ยวชาญด้านคลังข้อมูลขนาดใหญ่และการวิเคราะห์ ประสบปัญหาข้อมูลเสียหายโดยไม่รู้ตัวทุกๆ 15 นาที[ 12 ] อีกตัวอย่างหนึ่งคือ การศึกษาในชีวิตจริงที่ดำเนินการโดยNetAppกับ HDD มากกว่า 1.5 ล้านตัวเป็นเวลากว่า 41 เดือน พบข้อมูลเสียหายโดยไม่รู้ตัวมากกว่า 400,000 รายการ ซึ่งมากกว่า 30,000 รายการไม่ถูกตรวจพบโดยตัวควบคุม RAID ฮาร์ดแวร์ (ตรวจพบเฉพาะระหว่างการตรวจสอบความถูกต้อง เท่านั้น ) [ 13 ] การศึกษาอีกชิ้นหนึ่งที่ดำเนินการโดยCERN เป็นเวลากว่าหกเดือนและเกี่ยวข้องกับ ข้อมูล ประมาณ 97 เพตาไบต์ พบว่าข้อมูลประมาณ 128 เมกะไบต์เสียหายอย่างถาวรโดยไม่รู้ตัวในเส้นทางจากเครือข่ายไปยังดิสก์[ 14 ]
ความเสียหายของข้อมูลแบบเงียบๆ อาจส่งผลให้เกิดความล้มเหลวแบบต่อเนื่องซึ่งระบบอาจทำงานได้เป็นระยะเวลาหนึ่งโดยไม่มีการตรวจพบข้อผิดพลาดเริ่มต้น ทำให้เกิดปัญหามากขึ้นเรื่อยๆ จนกระทั่งตรวจพบในที่สุด[ 15 ] ตัวอย่างเช่น ความล้มเหลวที่ส่งผลกระทบต่อเมตาเดต้า ของระบบไฟล์ อาจทำให้ไฟล์หลายไฟล์เสียหายบางส่วนหรือไม่สามารถเข้าถึงได้เลย เนื่องจากระบบไฟล์ถูกใช้งานในสถานะที่เสียหาย
มาตรการรับมือ
เมื่อความเสียหายของข้อมูลมีพฤติกรรมเหมือนกระบวนการปัวซงซึ่งแต่ละบิตของข้อมูลมีโอกาสเปลี่ยนแปลงต่ำอย่างอิสระ โดยทั่วไปแล้วความเสียหายของข้อมูลสามารถตรวจจับได้โดยใช้ ค่าตรวจสอบความถูกต้อง ( checksum ) และมักแก้ไขได้โดยใช้รหัสแก้ไขข้อผิดพลาด (ECC)
หากตรวจพบความเสียหายของข้อมูลที่ไม่สามารถแก้ไขได้ สามารถใช้ขั้นตอนต่างๆ เช่น การส่งซ้ำอัตโนมัติหรือการกู้คืนจาก ข้อมูล สำรองได้ อาร์เรย์ดิสก์ RAID บางระดับ มีความสามารถในการจัดเก็บและประเมินบิตพาริตีสำหรับข้อมูลในชุดฮาร์ดดิสก์ และสามารถสร้างข้อมูลที่เสียหายขึ้นใหม่ได้เมื่อดิสก์ตัวใดตัวหนึ่งหรือหลายตัวล้มเหลว ขึ้นอยู่กับระดับของ RAID ที่ใช้งาน สถาปัตยกรรม CPU บางแบบ ใช้การตรวจสอบแบบโปร่งใสต่างๆ เพื่อตรวจจับและลดความเสียหายของข้อมูลในแคช CPUบัฟเฟอร์CPUและไปป์ไลน์คำสั่งตัวอย่างเช่น เทคโนโลยี Intel Instruction Replayซึ่งมีอยู่ในโปรเซสเซอร์Intel Itanium [ 16 ]
ฮาร์ดดิสก์ไดรฟ์ตรวจจับและแก้ไขข้อผิดพลาดหลายอย่างโดยใช้รหัส ECC [ 17 ]ซึ่งจัดเก็บไว้บนดิสก์สำหรับแต่ละเซกเตอร์ หากดิสก์ไดรฟ์ตรวจพบข้อผิดพลาดในการอ่านหลายครั้งในเซกเตอร์หนึ่ง อาจทำการคัดลอกเซกเตอร์ที่ล้มเหลวไปยังส่วนอื่นของดิสก์ โดยการแมปเซกเตอร์ที่ล้มเหลวของดิสก์ไปยังเซกเตอร์สำรองโดยไม่ต้องอาศัยระบบปฏิบัติการ (แม้ว่าอาจล่าช้าไปจนกว่าจะมีการเขียนไปยังเซกเตอร์นั้นในครั้งถัดไป) การแก้ไขแบบเงียบๆ นี้สามารถตรวจสอบได้โดยใช้SMARTและเครื่องมือที่มีอยู่ในระบบปฏิบัติการส่วนใหญ่ เพื่อตรวจสอบดิสก์ไดรฟ์โดยอัตโนมัติสำหรับความล้มเหลวที่กำลังจะเกิดขึ้น โดยการสังเกตพารามิเตอร์ SMART ที่เสื่อมลง
ระบบไฟล์บาง ระบบ เช่นBtrfs , HAMMER , ReFSและZFSใช้การตรวจสอบความถูกต้องของข้อมูลและ เมตา เดตา ภายใน เพื่อตรวจจับความเสียหายของข้อมูลแบบเงียบๆ นอกจากนี้ หากตรวจพบความเสียหายและระบบไฟล์ใช้กลไก RAID แบบบูรณาการที่ให้ความซ้ำซ้อนของข้อมูลระบบไฟล์ดังกล่าวยังสามารถสร้างข้อมูลที่เสียหายขึ้นใหม่ได้อย่างโปร่งใส[ 18 ] แนวทางนี้ช่วยให้การป้องกันความสมบูรณ์ของข้อมูลดีขึ้น ครอบคลุมเส้นทางข้อมูลทั้งหมด ซึ่งโดยทั่วไปเรียกว่าการป้องกันข้อมูลแบบครบวงจรเมื่อเทียบกับแนวทางความสมบูรณ์ของข้อมูลอื่นๆ ที่ไม่ได้ครอบคลุมเลเยอร์ต่างๆ ในสแต็กการจัดเก็บข้อมูล และอนุญาตให้เกิดความเสียหายของข้อมูลในขณะที่ข้อมูลผ่านขอบเขตระหว่างเลเยอร์ต่างๆ[ 19 ]
การล้างข้อมูล (Data scrubbing)เป็นอีกวิธีหนึ่งในการลดโอกาสการเสียหายของข้อมูล เนื่องจากจะตรวจจับและกู้คืนข้อผิดพลาดของดิสก์ก่อนที่ข้อผิดพลาดจำนวนมากจะสะสมและเกินขีดจำกัดของบิตพาริตี แทนที่จะตรวจสอบพาริตีทุกครั้งที่อ่านข้อมูล พาริตีจะถูกตรวจสอบระหว่างการสแกนดิสก์เป็นประจำ ซึ่งมักทำเป็นกระบวนการพื้นหลังที่มีลำดับความสำคัญต่ำ การดำเนินการ "ล้างข้อมูล" จะเปิดใช้งานการตรวจสอบพาริตี หากผู้ใช้เรียกใช้โปรแกรมปกติที่อ่านข้อมูลจากดิสก์ พาริตีจะไม่ถูกตรวจสอบ เว้นแต่ว่าระบบย่อยของดิสก์จะรองรับและเปิดใช้งานการตรวจสอบพาริตีขณะอ่าน (parity-check-on-read)
หากมีการใช้กลไกที่เหมาะสมในการตรวจจับและแก้ไขความเสียหายของข้อมูล ความสมบูรณ์ของข้อมูลก็จะได้รับการรักษาไว้ ซึ่งมีความสำคัญอย่างยิ่งในแอปพลิเคชันเชิงพาณิชย์ (เช่นการธนาคาร ) เนื่องจากข้อผิดพลาดที่ตรวจไม่พบอาจทำให้ดัชนีฐานข้อมูลเสียหายหรือเปลี่ยนแปลงข้อมูลจนส่งผลกระทบอย่างมากต่อยอดคงเหลือในบัญชี และในการใช้ ข้อมูล ที่เข้ารหัสหรือบีบอัดซึ่งข้อผิดพลาดเล็กน้อยอาจทำให้ชุดข้อมูลขนาดใหญ่ใช้งานไม่ได้[ 7 ]
ดูเพิ่มเติม
- แหล่งข้อมูลต่างๆ:
- การเสื่อมสภาพของข้อมูลหรือเรียกอีกอย่างว่า ข้อมูลเน่าเสีย
- วิทยาการคอมพิวเตอร์
- ความถูกต้องของข้อมูล
- ความสมบูรณ์ของฐานข้อมูล
- การเสริมความทนทานต่อรังสี
- ซอฟต์แวร์ที่เสื่อมสภาพ
- มาตรการรับมือ:
ลิงก์ภายนอก
- SoftECC: ระบบตรวจสอบความสมบูรณ์ของหน่วยความจำซอฟต์แวร์
- ไลบรารีตรวจจับและแก้ไขข้อผิดพลาด DRAM แบบปรับแต่งได้ด้วยซอฟต์แวร์สำหรับ HPC
- การตรวจจับและแก้ไขความเสียหายของข้อมูลที่เกิดขึ้นโดยไม่แสดงอาการ สำหรับการประมวลผลประสิทธิภาพสูงขนาดใหญ่
- การตรวจสอบความถูกต้องของข้อมูลแบบครบวงจรสำหรับระบบไฟล์: กรณีศึกษา ZFS
- ข้อผิดพลาดของ DRAM ในสภาพแวดล้อมจริง: การศึกษาภาคสนามขนาดใหญ่
- งานวิจัยเกี่ยวกับการทุจริตแบบเงียบๆและเอกสารที่เกี่ยวข้องเกี่ยวกับความสมบูรณ์ของข้อมูล (CERN, 2007)
- การปกป้องข้อมูลแบบครบวงจรในฮาร์ดดิสก์ไดรฟ์ SAS และ Fibre Channel (HGST)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ความเสียหายของข้อมูล
การเสียหายของข้อมูล คือการเปลี่ยนแปลงที่ไม่พึงประสงค์ใน ข้อมูลคอมพิวเตอร์ ที่เกิดขึ้นระหว่างการเขียน การอ่าน การจัดเก็บ การส่ง หรือการประมวลผล...
ภาพรวม
ความเสียหายของข้อมูลในระบบคอมพิวเตอร์มีสองประเภท ได้แก่ ความเสียหายที่ตรวจไม่พบ และความเสียหายที่ตรวจพบ ความเสียหายของข้อมูลที่ตรวจไม่พบ หรือที่เรียกว่าความเสียหายของข้อมูลแบบเงียบๆ นั้น ก่อให้เกิดข้อผิดพลาดที่อันตรายที่สุด เนื่องจากไม่มีสัญญาณใดๆ...
เงียบ
ข้อผิดพลาดบางอย่างจะไม่ถูกสังเกตเห็น โดยไม่ถูกตรวจพบโดยเฟิร์มแวร์ดิสก์หรือระบบปฏิบัติการโฮสต์ ข้อผิดพลาดเหล่านี้เรียกว่าความ เสียหายของข้อมูลแบบ เงียบ [ 2 ]
มาตรการรับมือ
เมื่อความเสียหายของข้อมูลมีพฤติกรรมเหมือน กระบวนการปัวซง ซึ่งแต่ละ บิต ของข้อมูลมีโอกาสเปลี่ยนแปลงต่ำอย่างอิสระ โดยทั่วไปแล้วความเสียหายของข้อมูลสามารถตรวจจับได้โดยใช้ ค่าตรวจสอบความถูกต้อง ( checksum ) และมัก แก้ไขได้ โดยใช้ รหัสแก้ไขข้อผิดพลาด (ECC)