●NVMe M.2 SSD
SSD の中に NVMe(Non Volatile Memory Express) SSD と
呼ばれるものがありますが、通常の SSD とは何が違うのでしょうか。
この進化とは、ストレージの内部接続インターフェースが SATA から
PCI エクスプレスに移行し、帯域が広くなり高速なアクセスができるよう
になったことです。NVMe とは SATA ではなく PCI エクスプレスに
合わせて開発されたストレージを制御する規格と考えられます。
従来のストレージ制御規格は AHCI と呼ばれており、AHCI では
キュー(命令)数が最大32個、NVMe では最大64Kキューだそうです。
何となくキュー数が大幅に増えているので NVMe だとアクセスが大幅に
高速化しそうですが、同記事によるとコンシューマー向けパソコンでは
それほどキュー数が多くなることはないので、アクセスの高速化にあまり
期待できないそうです。
SATA、AHCI、PCI エクスプレス、NVMe いろいろ出てきました。
正しくないところがありますが、とりあえず SATA と PCI エクスプレスは
ハードウェアに関するインターフェース規格、AHCI と NVMe は制御等
のソフトウェアに関するインターフェース規格とイメージしておけば整理し
やすくなると思います。
SSD に限らず HDD でも SATA と AHCI が使われてきましたが、
PCI エクスプレスで接続する SSD 用に開発されたのが NVMe です。
PCI エクスプレスは、ビデオカード等の拡張カードで使われてきましたが、
SSD でも使われるようになりました。そして、NVMe SSD は NVMe
に対応している SSD のことです。
SSDやフラッシュストレージなどの高速化に貢献している技術の一つに、NVMeがあります。
NVMeは「Non-Volatile Memory Express」の略称で、フラッシュメモリを採用したストレージに
用いられることが多い技術です。しかし、なぜフラッシュメモリにNVMeが採用されることが多いのか。
NVMeの概要や、比較されることが多いAHCIとの違い、NVMeを採用したSSDが持つ特長などに
ついて考えます。
■NVMeの概要
SSDをはじめとしたフラッシュストレージは、HDDに変わるストレージとして注目を浴び、2000年代
後半ごろから一般ユーザーにも普及し始めました。
従来の通信プロトコルである「AHCI」は事実上HDDに最適化されたものなので、高速な読み書き
が行えるというSSDならではの利点が活かされないという問題がありました。そこで、SSDやフラッシュ
ストレージでの通信最適化のために新しく策定された接続規格がNVMeです。
■NVMeの特長
・コマンド処理用のキューが増加
NVMeは、コマンド処理の際のI/Oキューを最大64Kも保有しています。これは実質で65,536もの
キューがあることを意味し、多数の処理を同時に行うことが可能になるということになります。また、
1つのキューが対応するコマンド数も、従来の32コマンドから64Kコマンドへと大幅に増加しています。
・データ転送を指示する際に必要なメッセージの送受信量の削減
従来の通信プロトコルでは、4KBのデータ転送に2つのメッセージを送受信する必要がありました。
NVMeではデータ転送の際に必要なメッセージを1つで済むように改良し、メッセージの送受信量を
減らすことで、通信の高速化につながっています。
・リモートDMA(ダイレクトメモリアクセス)による高速化
リモートDMAは別のネットワークのSSDからCPUを経由することなく、直接データの読み書きを可能
にする技術です。従来、他システムのSSDからデータを読み込む際には、システムメモリにSSD内の
データを読み込ませてからデータ転送を行っていましたが、リモートDMA(ダイレクトメモリアクセス)
による高速化で、長くかかっていた作業時間を短縮可能になっています。
■NVMeとAHCIの違い
AHCIは、HDDを前提に規格された接続規格であるSATAに最適化されたインターフェース規格
です。そのため、SSDのようなフラッシュストレージのデータ処理を高速化するわけではありません。
また、どちらも高速なインターフェースといわれますが、NVMeに64Kあるコマンド処理のキューが
AHCIには1しかない点や、AHCIでは割り込み調整ができない点など多くの機能でNVMeが
優れています。
■データ転送速度が高速
NVMe SSDは、コネクタとしてPCIe(PCI Express)が採用されたものに搭載される場合が
多いです。PCIeにも複数の規格が存在し、最大データ転送速度の理論値はPCIe3.0×2の
場合が16Gbps(約2GB/s)、3.0×4の場合は32Gbps(約4GB/s)です。
従来規格であるSATA3を採用したSSDの最大データ転送速度が6Gbpsなので、PCIeを採用
したSSDは実質倍以上の速度を誇ることになります。
■発熱量が大きい
高性能で高速なデータ処理が可能なNVMe SSD ですが、その分だけ発熱量の大きい点が
デメリットです。そのため、使用する際はヒートシンクや冷却ファンによる適切な熱対策を行わないと
熱暴走による故障やパフォーマンスの低下といった不具合を引き起こす可能性があります。
■おわりに NVMeは今後更に発展していく可能性が高い規格
NVMeは、SSDをはじめとしたフラッシュストレージに採用されている規格です。従来規格より処理
が高速なので、近年はNVMe接続のDRAMデバイスが書き込みキャッシュとして採用される機会
も増えています。
特にHDDやSATA3接続のSSDを使用していた方なら、SSDをNVMe規格のものに替えるだけ
でも処理速度の高さを実感できるはずです。パソコンで大容量のデータ処理を実行する機会が
多い方は、一度NVMe SSDへの換装を検討してみてはいかがでしょうか。
●三共での取り組み
TEST機
・Clone環境確立
AcronisTrueImage2021
Bootable
■M.2NVMe負荷テスト
●M.2NVME/M.2SATA
性能試験
・LIAN LI PIT STOP T60使用
・マザ-ボ-ド Asrock製 H470 Steel Legend
・M.2 NVMe WD Blue™ SN550 NVMe™ SSD 500GB
・Crucial P2 250GB PCIe M.2 2280SS SSD