Host Memory Buffer (HMB) คืออะไร
Host Memory Buffer (HMB) คือฟีเจอร์ในมาตรฐาน NVMe ที่ช่วยให้ SSD ที่ไม่มีหน่วยความจำ DRAM ในตัว สามารถยืมหน่วยความจำ (RAM) ของระบบมาใช้ชั่วคราว เพื่อจัดเก็บข้อมูลตารางแมปปิ้ง (Mapping Table) ของ SSD ซึ่งจะช่วยเพิ่มประสิทธิภาพในการอ่านและเขียนข้อมูลแบบสุ่ม (Random Read/Write) ให้ใกล้เคียงกับ SSD ที่มี DRAM ได้
หน้าที่สำคัญ
หน้าที่หลักของ HMB คือการทำหน้าที่เป็นแคชสำหรับตารางแมปปิ้ง (Flash Translation Layer – FTL) ซึ่งเป็นข้อมูลที่ใช้ระบุตำแหน่งของข้อมูลจริงที่เก็บอยู่ใน NAND Flash ทำให้ SSD สามารถเข้าถึงข้อมูลได้อย่างรวดเร็วและมีประสิทธิภาพมากขึ้น โดยเฉพาะในการทำงานที่ต้องเข้าถึงข้อมูลขนาดเล็กแบบสุ่มบ่อยๆ
เกร็ดน่ารู้
- HMB เริ่มถูกนำมาใช้ในมาตรฐาน NVMe 1.2
- การทำงานของ HMB จะใช้เทคโนโลยี Direct Memory Access (DMA) ผ่านอินเทอร์เฟซ PCIe เพื่อเข้าถึง RAM ของระบบโดยตรง โดยไม่ต้องผ่าน CPU ทำให้ลดภาระการทำงานของ CPU
- ขนาดของ RAM ที่ถูกดึงมาใช้มักจะอยู่ที่ประมาณ 64 MB ซึ่งเพียงพอสำหรับการใช้งานทั่วไป และจะไม่ส่งผลกระทบต่อประสิทธิภาพโดยรวมของระบบ
- การที่ SSD ไม่ต้องมี DRAM ในตัว ทำให้สามารถลดต้นทุนการผลิตลงได้ ส่งผลให้ราคาของ SSD เหล่านั้นถูกลง และยังช่วยลดขนาดของตัว SSD ให้เล็กลงได้อีกด้วย
คำศัพท์ที่เกี่ยวข้อง
- NVMe (Non-Volatile Memory Express): มาตรฐานอินเทอร์เฟซสำหรับ SSD ที่เชื่อมต่อผ่าน PCIe
- DRAM (Dynamic Random-Access Memory): หน่วยความจำความเร็วสูงที่ใช้เป็นแคชใน SSD รุ่นปกติ
- Flash Translation Layer (FTL): ชั้นการทำงานที่ทำหน้าที่แปลงที่อยู่ข้อมูลเชิงตรรกะ (Logical Address) ให้เป็นที่อยู่เชิงกายภาพ (Physical Address) บน NAND Flash
- PCIe (Peripheral Component Interconnect Express): มาตรฐานการเชื่อมต่อความเร็วสูงที่ใช้ในคอมพิวเตอร์
อุปกรณ์ที่เกี่ยวข้อง
- SSD (Solid State Drive): โดยเฉพาะอย่างยิ่ง SSD แบบ DRAM-less NVMe
- เมนบอร์ด (Motherboard)
- RAM (Random-Access Memory)
