--write-mostly
, --write-behind
จะถูกจัดการโดยmd
คนขับภายใน md
เก็บข้อมูลเมตาเช่นบิตแมปการเขียนตั้งใจ (ซึ่งเป็นสิ่งจำเป็นสำหรับคุณลักษณะการเขียนไม่เขียน) ซึ่งโดยทั่วไปจะบันทึกว่าข้อมูลใดที่ถูกเขียนเปรียบเทียบกับข้อมูลใดที่ยังขาดหายไป นี่เป็นสิ่งจำเป็นในกรณีที่มีเหตุการณ์การสูญเสียพลังงานเมื่อข้อมูลยังไม่ถึงอุปกรณ์ที่เขียนส่วนใหญ่ ในกรณีนั้นพื้นที่ข้อมูลที่ได้รับผลกระทบจะถูกซิงค์อีกครั้ง (ในกรณีของคุณอ่านจาก SSD เขียนไปยัง HDD)
แต่ที่แคชในระดับ kernel อย่างไร
สำหรับกรณี write-behind ไดรเวอร์ md โดยทั่วไปจะทำซ้ำคำร้องขอการเขียนภายใน คำขอเขียนหลักไปที่ไดรฟ์หลักและบอกเลเยอร์ด้านบน "ตกลงฉันทำสิ่งนี้ไปแล้ว"; การร้องขอการเขียนที่คัดลอกนั้นจะอยู่ด้านข้างของการเขียนส่วนใหญ่ด้านหลังของ RAID และอาจใช้เวลานานกว่าจะเสร็จสมบูรณ์โดยหวังว่าจะไม่มีใครสังเกตเห็น
จากนั้นชั้นการจู่โจมใช้ขั้นตอนหลายขั้นตอนเพื่อให้แน่ใจว่าไม่มีข้อมูลใดถูกอ่านจากอุปกรณ์การเขียนส่วนใหญ่ในขณะที่ยังคงรอการร้องขอการเขียนที่รอดำเนินการในคิว เหตุใดจึงต้องอ่านข้อมูลจากอุปกรณ์ที่ใช้เขียนส่วนใหญ่ SSD อาจล้มเหลวดังนั้นมันจึงเหลือทั้งหมด มันซับซ้อนและการเขียนทับแนะนำกรณีมุมบางส่วน
ซึ่งอาจเป็นสาเหตุที่รองรับเฉพาะระดับ RAID-1 เท่านั้น แม้ว่าในทางทฤษฎีแล้วมันอาจมีเหตุผลที่จะมี SSD เป็น RAID-0 และ HDD สองพาริตี้ในโหมด write-behind แต่ก็ไม่ได้รับการสนับสนุนสำหรับ RAID-6 แบบเขียนหลัง มันเป็น RAID-1 เท่านั้นและไม่ค่อยได้ใช้แม้กระทั่งที่นั่น
การตั้งค่าแคชอื่นยังคงไม่ได้รับผลกระทบจากสิ่งนี้โดยทั่วไปกลไกการแคชโดยรวมไม่สนใจสิ่งที่md
คนขับใช้ในการดำเนินการภายใน แคชทำในสิ่งที่มันและ md ทำในสิ่งที่มันเป็น ดังนั้นแคชของระบบไฟล์จึงทำงานเหมือนกันสำหรับระบบไฟล์ที่อยู่ด้านบนของ md กับระบบไฟล์ที่อยู่ด้านบนของไดรฟ์เปล่า (ความจริงนั้นซับซ้อนกว่านั้นนิดหน่อย แต่คุณสามารถคิดแบบนี้ได้)