RAID เทคโนโลยีสูงสุดของการป้องกันความเสียหายของข้อมูลและความเร็วในฮาร์ดดิสก์
Share | Tweet |
RAID 3 : Pararell Transfer with Parity
..สำหรับ RAID 3 นั้นตามโครงสร้างจะมีลักษณะการต่อฮาร์ดดิสก์เป็นแบบ Stripe เช่นเดียวกับ RAID 0 โดยข้อมูลที่
เข้ามาแต่ละครั้งจะถูกแยกเก็บไว้ที่ฮาร์ดดิสก์แต่ละตัว ส่วนแต่ละตัวจะเก็บข้อมูลกี่บิตหรือกี่ไบต์ก็ขึ้นอยู่ที่การกำหนด(ขอเรียกข้อ
มูลที่เก็บอยู่ใน A0, A1, A2,
ตามรูปที่ 6 ว่าเป็น 1 word) จากรูปที่ 6 ข้อมูลที่เข้ามาก็จะถูกแบ่งย่อยเพื่อเก็บไว้ที่ A0, A1,
A2, A3, B0,
จนกว่าจะเก็บข้อมูลได้หมด ลักษณะการต่อฮาร์ดดิสก์ตามรูปที่ 6 เป็นการต่อที่เรียกว่า 4+1 คือมีฮาร์ดดิสก์ที่ไว้
เก็บข้อมูล 4 ตัว และเก็บ Parity ที่ได้จากการคำนวณทางคณิตศาสตร์ของข้อมูลในแถวๆนั้น (ดูตามรูปที่ 6 A Parity จะเป็น
Parity ของข้อมูล A0-A3) อีก 1 ตัว
การคำนวณหา Parity นั้นจะอาศัยวิธีการทางคณิตศาสตร์ง่ายๆ คือการนำเอาลอจิก XOR เข้ามาช่วย โดยเงื่อนไขของการ
ทำ XOR เป็นดังที่แสดงในตารางที่ 2
XOR Example | ||||
A XOR B | Result | |||
0 | 0 | 0 | ||
1 | 0 | 1 | ||
0 | 1 | 1 | ||
1 | 1 | 0 | ||
ตารางที่ 2 |
จากเหตุผลข้างต้นจึงมีการนำลอจิก XOR มาสร้าง Parity ขึ้นมาโดย A Parity = A0 XOR A1 XOR A2 XOR A3
(ในส่วนของแถว B, C และ D ก็เป็นในทำนองเดียวกัน)
และถ้าข้อมูลจากฮาร์ดดิสก์ตัวใดเกิดสูญหาย เราก็สามารถสร้าง word ข้อมูลนั้นขึ้นมาใหม่ได้ด้วยการนำ A Parity มา XOR
กับ word ข้อมูลที่ยังเหลืออยู่ สมมติ word ข้อมูลเป็นดังนี้ A0= 1010, A1= 0011, A2 = 0001 และ A3 = 1000 ดังนั้น A
Parity จะมีค่าเท่ากับ 0000 และสมมติให้ข้อมูล A2 เกิดสูญหายอันเนื่องมาจากฮาร์ดดิสก์ตัวที่ 3 เกิดปัญหาเราจะสร้างข้อมูล A2
กลับคืนมาได้โดยนำ A Parity 0000 XOR กับ word ข้อมูลที่ยังเหลืออยู่ซึ่งก็คือ A0, A1 และ A3 จะได้ผลลัพธ์คือ 0001 ซึ่ง
ก็คือ word A2 นั่นเอง
รูปที่ 6 |
แม้ว่า RAID 3 จะมีข้อดีในการอ่านและเขียนข้อมูลได้อย่างรวดเร็ว เพราะมีลักษณะการต่อฮาร์ดดิสก์เป็นแบบ Stripe และ
ใช้ฮาร์ดดิสก์ในการเก็บ Parity เพียงแค่ตัวเดียวเท่านั้น แต่ถ้านำ RAID 3 ไปใช้กับงานที่ข้อมูลที่มีการผ่านเข้าออกเป็นจำนวนเล็ก
น้อยในแต่ละครั้ง แต่ลักษณะการเขียนข้อมูลมีการกระจายไปทั่วทั้งฮาร์ดดิสก์ จะส่งผลให้เกิดเวลาคอขวดขึ้นที่ฮาร์ดดิสก์ที่เก็บ
Parity เพราะไม่ว่าข้อมูลจะไปปรากฏอยู่ในกลุ่มของ word ข้อมูลแถวไหน RAID 3 ก็จะมีการสร้าง Parity ขึ้นมาตลอด ซึ่งแม้
ว่าข้อมูลเราจะมีขนาดเล็ก แต่ RAID 3 ก็จำเป็นต้องเสียเวลาไปสร้าง Parity ขึ้นมาตลอด ซึ่งแม้ว่าข้อมูลเราจะมีขนาดเล็ก แต่
RAID 3 ก็จำเป็นต้องเสียเวลาไปสร้าง Parity ขึ้นในทุกๆแถวที่ข้อมูลนั้นไปอยู่ ยิ่งข้อมูลกระจายไปอยู่แถวต่างๆมากขึ้น จำนวน
Parity ก็จะมากขึ้นตามและในแต่ละครั้งของการที่จะเขียนข้อมูลใหม่ลงไป RAID 3 จำเป็นจะต้องรอให้ Parity ถูกเขียนให้เสร็จ
ก่อนที่ข้อมูล word ต่อไปจะถูกเขียน (เป็นลักษณะของการทำงานแบบ Synchronous) ยกตัวอย่าง ตามรูปที่ 6 ถ้าเราต้องการ
เขียนข้อมูลลงที่ word A0 ฮาร์ดดิสก์ที่ต้องใช้ในการเขียนจะมีอยู่ 2 ตัวคือฮาร์ดดิสก์ตัวที่ 1 และฮาร์ดดิสก์ตัวที่ 5 จะเห็นได้ว่า
ก่อนที่ word B2 จะถูกเขียนมันจะต้องรอจนกว่าฮาร์ดดิสก์ตัวที่ 5 จัดการ Parity ของ word A1 ให้เสร็จก่อน เวลาที่เกิดนี้แหละ
ที่เป็นเวลาคอขวด ยิ่งมีการกระจายการเขียนข้อมูลไปหลายๆแถวเมื่อใด ก็ยิ่งต้องเสียเวลารอมากขึ้นเท่านั้น ฉะนั้นงานที่เหมาะจะเอา
RAID 3 ไปใช้งานก็ควรจะเป็นงานที่ต้องการการอ่านข้อมูลจำนวนมากในเวลารวดเร็ว เพราะการอ่านจะไม่ไปยุ่งกับส่วนของ
Parity ถ้าข้อมูลไม่สูญหาย เช่นงานด้านการผลิตหรือตัดต่อ Video
RAID 4 : Independent Data Disks with Shared Parity Disk
หลักการทำงานของ RAID 4 จะเหมือนกับ RAID 3 แทบทุกประการจะต่างกันก็ตรงที่ แต่ละ Word ข้อมูลใน RAID 3 นั้น
จะมีขนาดกี่บิตหรือกี่ไบต์ก็อยู่กับการกำหนด แต่ใน RAID 4 Word ข้อมูล จะเก็บในรูป Block ข้อมูล (1 Sector) แทน เพราะ
ฮาร์ดดิสก์ส่วนใหญ่จะอ่านข้อมูลแต่ละครั้งจะอยู่ในรูปของ Block โดยขนาดของ Block จะมีตั้งแต่ 512 Byte ถึง 8 KB ขึ้นกับ
ระบบปฏิบัติการที่ใช้ รูปที่ 7 แสดงการทำงานของ RAID 4 ในการเปลี่ยนมาใช้การเก็บข้อมูลเป็น Block นี้ จะช่วยให้จำนวนครั้ง
ในการเก็บข้อมูลและกระบวนการเปรียบเทียบ XOR น้อยลง ซึ่งจะส่งผลให้เวลาในการกู้หรือเก็บข้อมูลสั้นลงตามไปด้วย อย่างไร
ก็ตามเวลาคอขวดอย่างที่เกิดใน RAID 3 ก็ยังคงมีอยู่เช่นเดิม
รูปที่ 7 |