ดิสก์แคชคืออะไร?

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

โครงสร้างของแคช

โดยทั่วไป แคชจะถูกเก็บไว้ในระดับหน่วยความจำต่ำกว่าข้อมูลจริงหนึ่งระดับ อย่างไรก็ตาม ข้อมูลจากแคชหนึ่งอาจถูกแคชเพิ่มเติมในหน่วยความจำระดับถัดไป หน่วยความจำมีสี่ระดับ โดยแคช/รีจิสเตอร์ของ CPU เป็นระดับที่ต่ำที่สุดและเร็วที่สุด และที่เก็บข้อมูลถาวรเป็นระดับสูงสุดและช้าที่สุด ระดับต่ำสุดถึงสูงสุด ได้แก่ แคช/รีจิสเตอร์ของ CPU, RAM ระบบ, ไดรฟ์จัดเก็บข้อมูล และที่จัดเก็บข้อมูลถาวร

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

บันทึก: ในระดับหนึ่ง พื้นที่เก็บข้อมูลบนคลาวด์อาจถูกพิจารณาว่าแตกต่างจากที่เก็บข้อมูลถาวร มันออนไลน์มาก แต่ไม่จำเป็นต้องเข้าถึงได้ทันทีและโดยทั่วไปจะเข้าถึงได้ช้า สื่อที่ถอดเข้าออกได้ เช่น หน่วยความจำ USB ยังค่อนข้างคร่อมขอบเขตระหว่างไดรฟ์จัดเก็บและที่จัดเก็บข้อมูลถาวร

ประเภทของดิสก์แคช

ดิสก์แคชหมายถึงแคชใดๆ ใน “ดิสก์” ซึ่งก็คือไดรฟ์จัดเก็บ เช่น SSD และ HDD ดิสก์แคชมีสามประเภท แคชการอ่านจะเกี่ยวข้องกับการคัดลอกข้อมูลบางส่วนจากที่เก็บข้อมูลถาวรชั่วคราวเพื่อให้เข้าถึงได้เร็วขึ้นในขณะที่จำเป็น แคชการเขียนอาจอยู่ในรูปของแคช SLC บน SSD แคช I/O โดยทั่วไปจะเป็นหน่วยความจำแฟลชหรือ DRAM บางส่วนที่ใช้แคชทั้งการดำเนินการอ่านและเขียน คุณสมบัติที่กำหนดของสิ่งเหล่านี้คือแคชอยู่บนดิสก์เอง

อ่านดิสก์แคช

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

เขียนดิสก์แคช

SSD สมัยใหม่นั้นเร็วอย่างเหลือเชื่อ ให้ความเร็วในการอ่านและเขียนที่เร็วอย่างเหลือเชื่อ สิ่งที่คุณอาจไม่ทราบก็คือสิ่งนี้ไม่เป็นความจริงในทางเทคนิค SSD ส่วนใหญ่ในตลาดคือ TLC หรือที่เรียกว่า Triple Layer Cells ซึ่งหมายความว่าแต่ละเซลล์หน่วยความจำสามารถเก็บข้อมูลได้สามบิต แม้ว่าสิ่งนี้จะมอบความหนาแน่นในการจัดเก็บข้อมูลเป็นสามเท่าของ raw SLC (เซลล์ชั้นเดียว) ด้วยหนึ่งบิตต่อเซลล์ แต่ก็ช้ากว่ามากเช่นกัน

เคล็ดลับ: แฟลช TLC ยังเร็วอยู่ เร็วกว่าแบนด์วิธสูงสุดของบัส SATA 3 ที่ใช้โดย HDD และ SSD รุ่นแรกหลายเท่า แฟลช QLC หรือ Quad Level Cells นั้นช้ากว่า ในการทดสอบบางอย่างทำงานช้ากว่า HDD จริงๆ

แคช SLC ถูกประดิษฐ์ขึ้นเพื่อซ่อนความเร็วในการเขียนที่ช้าจากผู้ใช้ แคช SLC จะถือว่าแฟลช TLC เป็นแฟลช SLC ทำให้สามารถทำงานได้ด้วยความเร็วที่เพิ่มขึ้น ข้อมูลที่เขียนลงในแคช SLC จะถูกคัดลอกภายในไปยังรูปแบบ TLC เร็วที่สุดเท่าที่ความเร็วในการเขียนจะอนุญาต เทคนิคนี้ใช้งานได้อย่างยอดเยี่ยม โดยเสนอความเร็วที่เพิ่มขึ้นซึ่งจำเป็นต่อการพัฒนามาตรฐานใหม่ที่เร็วขึ้น

อย่างไรก็ตาม แคช SLC มีข้อแม้บางประการ ขนาดของแคช SLC คือ 1/3 ของพื้นที่ว่างที่เหลืออยู่ของ SSD เมื่อ SSD เต็ม ขนาดแคช SLC จะลดลง นี่ไม่ใช่ปัญหามากนักสำหรับไดรฟ์ว่างขนาดใหญ่ แต่อาจเป็นปัญหาใน SSD ที่มีขนาดเล็กลงหรือมีความจุใกล้เคียง เมื่อแคช SLC เต็มแล้ว ผู้ใช้จะเห็นว่าความเร็วในการเขียนลดลงอย่างมากเมื่อได้รับความเร็วการเขียน TLC ของแท้

บันทึก: ในทางเทคนิค หากข้อมูลถูกเขียนลงในสื่อเก็บถาวรในอนาคต ดิสก์จัดเก็บข้อมูลใดๆ อาจถือเป็นแคชเขียนสำหรับสื่อเก็บถาวร โดยทั่วไปแล้วความหมายนี้จะไม่ถือว่า

แคชดิสก์ I/O

โดยทั่วไปแล้ว HDD จะทำงานค่อนข้างช้า แม้จะมีปริมาณงานที่เหมาะสมที่สุดก็ตาม เพื่อช่วยซ่อนสิ่งนี้จากผู้ใช้มากที่สุดเท่าที่จะเป็นไปได้ สามารถใช้แคช I/O ได้ แคช I/O แคชทั้งการดำเนินการอ่านและเขียนตามความจำเป็น โดยทั่วไปแคชนี้ประกอบด้วยหน่วยความจำแฟลชหรือ DRAM ในไดรฟ์เอง ความจุโดยทั่วไปจะต่ำ แม้ว่าคลาส SSHD หรือ Solid State Hybrid Drive ที่มีหน่วยความจำแฟลชจะมีความสามารถมากกว่าแม้ว่าจะเทียบไม่ได้กับความจุของ SSD สมัยใหม่ก็ตาม

การอ่านแคชหมายความว่า HDD ไม่ต้องค้นหาแล้วอ่านข้อมูล สิ่งนี้สามารถให้ประโยชน์ด้านประสิทธิภาพที่ยอดเยี่ยม แต่เฉพาะในการดำเนินการอ่านที่ตามมาเท่านั้น อ่านครั้งแรกจะช้าเสมอ การเขียนแคชหมายความว่าการดำเนินการเขียนขนาดเล็กสามารถดูดซับไปยังแคชแล้วเขียนไปยัง HDD จริงได้เร็วเท่าที่จะอนุญาต สิ่งนี้มอบความเร็วที่เร็วกว่า แต่ประสิทธิภาพการทำงานจะลดลงอย่างมากหากแคชหมดลง

แคช I/O จะต้องสร้างสมดุลระหว่างความต้องการของทั้งฟังก์ชันการอ่านและการเขียน โดยเฉพาะอย่างยิ่งเมื่อมีแคชขนาดเล็กเท่านั้น แคชที่ใหญ่กว่าค่อนข้างจะลบล้างปัญหานี้ แม้ว่าขอบเคสที่มีชุดข้อมูลขนาดใหญ่จะยังคงล้นแคชแฟลชของ SSHD ที่ใหญ่ที่สุด

บันทึก: ในทางเทคนิคแล้ว SSD ยังสามารถใช้ DRAM แบบออนบอร์ดเป็นแคช I/O ได้อีกด้วย อย่างไรก็ตาม โดยปกติจะใช้เป็นหลักหรือเฉพาะเพื่อจัดเก็บตารางการแปลที่อยู่แบบโลจิคัลเป็นฟิสิคัลที่ใช้ในการค้นหาข้อมูลใน SSD

บทสรุป

ดิสก์แคชคือแคชที่มีอยู่ในไดรฟ์จัดเก็บโดยตรง ซึ่งอาจอยู่ในรูปของแคชแบบอ่านหรือเขียนหรือแคช I/O อ่านแคช โดยทั่วไปจะแคชข้อมูลจากที่เก็บข้อมูลถาวรที่ช้ากว่า แคชการเขียนจะซ่อนความเร็วในการเขียนที่ช้าของดิสก์จัดเก็บข้อมูลจากผู้ใช้ แคช I/O จะซ่อนทั้งความเร็วในการอ่านที่ช้าและความเร็วในการเขียนที่ช้าจากผู้ใช้

แคชเป็นเครื่องมือการใช้งานที่ยอดเยี่ยม แต่อาจทำให้ผู้ใช้ปวดหัวเมื่อหมดลง โดยเฉพาะอย่างยิ่งสำหรับแคชการเขียนแบบไดนามิก เช่น แคช SLC เนื่องจากผู้ใช้ที่ไม่ใช่ด้านเทคนิคอาจไม่เข้าใจว่าทำไมความเร็วในการเขียนจึงช้า ดังนั้นจึงไม่สามารถแก้ไขได้โดยแก้ไขปัญหาความจุ