ฉันได้อ่านเมื่อเร็ว ๆ นี้เกี่ยวกับการเขียนแคช NCQ ข้อบกพร่องเฟิร์มแวร์อุปสรรค ฯลฯ เกี่ยวกับไดรฟ์ SATA และฉันไม่แน่ใจว่าการตั้งค่าที่ดีที่สุดที่จะทำให้ข้อมูลของฉันปลอดภัยในกรณีที่ไฟฟ้าขัดข้อง
จากสิ่งที่ฉันเข้าใจ NCQ อนุญาตให้ไดรฟ์จัดลำดับการเขียนใหม่เพื่อเพิ่มประสิทธิภาพขณะที่เคอร์เนลแจ้งให้ทราบว่าคำขอใดบ้างที่ถูกเขียนขึ้น
แคชการเขียนทำให้ไดรฟ์ตอบสนองคำขอได้เร็วขึ้นมากเนื่องจากไม่ต้องรอข้อมูลที่จะเขียนลงในดิสก์ทางกายภาพ
ฉันไม่แน่ใจว่า NCQ และการเขียนแคชผสมกันอย่างไรที่นี่ ...
ระบบไฟล์ที่ถูกทำเจอร์นัลเป็นพิเศษต้องแน่ใจว่าเมื่อคำร้องขอเฉพาะถูกเขียนลง นอกจากนี้กระบวนการพื้นที่ผู้ใช้ใช้ fsync () เพื่อบังคับให้ล้างของไฟล์โดยเฉพาะ การเรียก fsync นั้น () ไม่ควรกลับมาจนกว่าระบบไฟล์จะแน่ใจว่าข้อมูลนั้นถูกเขียนลงดิสก์
มีฟีเจอร์ (FUA, Force Unit Access) ซึ่งฉันได้เห็นเฉพาะในไดรฟ์ SAS ซึ่งบังคับให้ไดรฟ์ผ่านการแคชและเขียนลงดิสก์โดยตรง สำหรับทุกสิ่งทุกอย่างนั้นมีอุปสรรคในการเขียนซึ่งเป็นกลไกที่เคอร์เนลจัดไว้ให้ซึ่งสามารถท สิ่งนี้บังคับให้แคชทั้งหมดถูกเขียนลงไม่ใช่เฉพาะข้อมูลที่สำคัญดังนั้นทำให้ทั้งระบบช้าลงหากใช้งานในทางที่ผิดด้วย fsync ()
จากนั้นมีไดรฟ์ที่มีข้อบกพร่องของเฟิร์มแวร์หรือจงใจอยู่เมื่อข้อมูลถูกเขียนทางกายภาพ
มีหลายวิธีในการตั้งค่าไดรฟ์ / ระบบไฟล์: A) NCQ และแคชการเขียนถูกปิดใช้งาน B) เพียงแค่เปิดใช้งาน NCQ C) เพียงแค่เปิดใช้งานแคชการเขียน D) ทั้ง NCQ และแคชการเขียนที่เปิดใช้งาน
ฉันกำลังเปิดใช้งานสิ่งกีดขวางที่น่าสงสัย .. BTW จะตรวจสอบได้อย่างไรว่าพวกเขาเปิดใช้งานจริงหรือไม่
ในกรณีที่ไฟฟ้าดับในขณะที่กำลังเขียนลงดิสก์ฉันเดาว่าตัวเลือก B (NCQ ไม่มีแคช) มีความปลอดภัยทั้งสำหรับเจอร์นัลของระบบไฟล์และข้อมูล อาจมีโทษปรับประสิทธิภาพ
ตัวเลือก D (NCQ + แคช) หากใช้อุปสรรคหรือ FUA จะปลอดภัยสำหรับเจอร์นัลระบบไฟล์และแอ็พพลิเคชันที่ใช้ fsync () มันจะไม่ดีสำหรับข้อมูลที่กำลังรออยู่ในแคชและมันก็ขึ้นอยู่กับระบบไฟล์เพื่อตรวจสอบ (ตรวจสอบ) และอย่างน้อยระบบไฟล์จะไม่ (หวังว่า) ในสถานะที่ไม่มั่นคง ประสิทธิภาพฉลาดควรจะดีกว่า
อย่างไรก็ตามคำถามของฉันย่อมาจาก ... ฉันไม่ได้ทำอะไรเลยหรือ มีตัวแปรอื่นที่ต้องคำนึงถึงหรือไม่? มีเครื่องมือใดที่สามารถยืนยันสิ่งนี้และไดรฟ์ของฉันทำงานได้ตามที่ควร?