今回はNVMe(Non-Volatile Memory Express)を紹介する。NVMeはストレージ向けのホスト・コントローラ・インタフェースの1つで、PCIe(PCI Express)インタフェースを備えた高速のSSDを対象にした規格仕様である。
前回から、かなりの時間が過ぎてしまったことをまずはおわびしたい。
2015年の「フラッシュメモリサミット(FMS:Flash Memory Summit)」から、SSD(Solid State Drive)インタフェースの最新動向に関する講演の概要をご報告する。講演者は、IntelでDirector of Technology InitiativeをつとめるJim Pappas氏。講演のタイトルは「Annual Update on Interfaces」である。
今回のテーマはNVMe(Non-Volatile Memory Express)だ。NVMeはストレージ向けのホスト・コントローラ・インタフェースの1つで、PCIe(PCI Express)インタフェースを備えた高速のSSDを対象にした規格仕様である。
本コラムの第19回で、SSDのインタフェースは当初、HDDのインタフェースを流用していたことを説明した。再掲すると、クライアントSSDは「SATAインタフェース」、エンタープライズSSDは「SASインタフェース」、という使い分けが多かった。しかしSSDの高速化により、SATAとSASがともにSSDの速度を制約するボトルネックとなる場合が増えてきた。そこで採用され始めたのが、より高速なインタフェースのPCIeである。
ただし、SSDのインタフェースがPCIeになっただけでは、SSDの性能を最大化できるとは限らない。ホスト・コントローラとのレジスタ・レベルのインタフェースが最適化されている必要がある。
従来、HDD向けのホスト・コントローラ・インタフェースには、AHCI(Advanced Host Controller Interface)を使用することが多かった。AHCIはシリアルATAインタフェースのストレージに向けて策定された規格仕様で、ハードディスク装置(HDD)でそれまで使われてきたIDE(Integrated Drive Electronics)インタフェースを置き換えるものである。
本コラムで既に説明したように、SSDはHDDの基盤技術を流用することが多かった。ホスト・コントローラとのインタフェースも同様で、SSDでもAHCIを使うことが多かった。しかしAHCIはHDDを前提としているために、SSDの高速性を損なうことがある。特に、電気的仕様として高速なPCIeインタフェースを採用したSSDでは、ボトルネックとなる恐れが少なくない。
そこで、PCIeインタフェースのSSDの性能を最大限に発揮するために策定されたのが、NVMeである。NVMeにSSDとホストが対応することで、PCIe SSDの特長が最大に生きる。
Copyright © ITmedia, Inc. All Rights Reserved.