メモリ基本講座「NVMe とは何ぞや」

メモリ基本講座「NAND応用製品 (eMMC & SSD)」 で、SSDをほんの少し紹介しました。このSSDですが、実はいろいろと種類があります。今回はその中でもNVMeについてお伝えしたいと思いますので、最後までお付き合いください。
昨今、店頭販売されているPCのうち90%以上の割合で搭載されているストレージは『NVMe M.2 SSD』です。
数年前まではHDDやSATA SSDだったのですが、ここ2~3年でガラリと変わりました。実際に、大手ストレージベンダーでは、クライアント向けSATA SSDがEOL(End Of Life)を迎えています。
今後需要が多く見込まれるNVMeですが「NVMeという言葉は聞いたことあるけど一体何なの?」と思われる方がほとんどだと思います。そこで、今回はNVMeについて説明します。
目次
NVMe (エヌブイエムイー) って?
SSDには大きく2つ種類があります。SATAとNVMeです。
SATAはSerial ATAの略語で、コンピュータにHDDや光学ドライブを接続するためのインターフェース規格で、SCSIやパラレルATAの代わりとして普及してきました。SATAの登場は結構インパクトがあり、HDDが多く普及されるようになった立役者です。代表的な例としては、PCや家庭用の録画レコーダーです。皆さんの家にもそれぞれ1台はあるのではないでしょうか。
HDDはSATAのパフォーマンスで十分でしたが、SSDとなると、通信プロトコルの様々なボトルネックが生じ、パフォーマンスを最大限に生かすことができなくなってきました。そこで登場したのが、NVMeです。
ちなみにNVMeとSATAは全く別の規格になるため、SATA SSDやHDDが搭載されているPCにNVMeのSSDは搭載できません。なぜならば、データの通り道が違うからです。通り道がどう違うのか、についても後ほど説明します。
NVMeの規格はあるの?
NVMeの規格はあります。通り道の前に、まずは規格の説明をします。
NVMeはNon-Volatile Memory Expressの略語になり、不揮発性メモリを使用したストレージ (=SSD) のための規格になります。
NVMeはNVM Express (nvmexpress.org) で規格の策定、アップデート、管理などを行っています。
2022年2月時点での最新版はNVMe 2.0b です。ちなみに、Micronの最新NVMe SSDはNVMe 1.4対応なので、規格が制定・アップデートされてから、市場製品に反映されるまでは約1~2年かかります。
NVMeとSATAはどう違うの?
NVMeとSATAは言葉の意味として同列ではありません。
NVMeは通信プロトコル、SATAはハードウェア インターフェースを意味しています。
NVMeはハードウェア インターフェースのことと勘違いされている方もいますが、それは間違っているので、ご注意ください。
NVMe | SATA | |
---|---|---|
ハードウェア インターフェース | PCI Express | SATA |
通信プロトコル | NVMe | AHCI |
MAX Queue Depth※1 | コマンドキュー:65536個 65,536コマンド/キュー |
コマンドキュー:1個 32コマンド/キュー |
4KBデータ転送時の効率 | 1フェッチ | 2フェッチ |
速度 (理論値) | PCIe Gen4 x4レーン : 8GB/s | 600MB/s |
※1 Queue Depth:ストレージが一度に処理できるI/Oの量
・ハードウェア インターフェース
先ほど、通り道が違うとお話しましたが、表1を参照していただくと、NVMeとSATAはハードウェア インターフェースが違うことが分かると思います。
NVMeはPCI Express (以下、PCIe)、SATAはSATAになり、最大転送速度が大きく違います。
この点が一番大きなポイントです。SATAは6Gbps (600MB/s) に対して、NVMeはPCIeに依存します。
最新のNVMe SSDで多く採用されているPCIe Gen4 x4レーンで64Gbps (8GB/s) になり、SATAと比較すると10倍以上違ってきます。改めて比較すると大きな差だということが分かりますね。
今後はPCIe Gen5のSSDもリリースされてきますので、PCIe Gen5 x4レーンになると128Gbps (16GB/s) になり、さらに高速化されます。
・通信プロトコル
通信プロトコルでは、AHCIからNVMeになったことにより、コマンド処理のためのQueueが1個から65,536個に大幅に増えています。これは、データのRead/Writeを同時に多数処理するようなシステムやアプリケーション (AIなど)で、高速処理が可能ということになります。
・その他
また、4KBデータ転送時に従来は2フェッチ必要だったのが、1フェッチになったことで、ランダムアクセスの向上にもつながりました。
PCのOS boot用DriveがHDDからSATA SSDに変わった時の速さの違いに驚いた感動は今でも忘れません。しかし、今後更に高速化されても、正直、人間の体感では分からないと思います。
ただ、NVMeは自動運転システム、AIロボット、5G通信システム、8K医療機器などのハイエンドシステムにとっては、データ処理する上での重要なファクターになることは確実です。
NVMeのフォームファクター
NVMe SSDの形状はSATA SSDと同じなのか?
実際は、同じものと異なるものがあります。
# ちなみに形状のことをフォームファクターと言います。
では、NVMeでサポートされている代表的なフォームファクターを紹介します。
(1)M.2 (エムドットツー)
M.2はNVMe、SATAともにサポートされているフォームファクターで、最近のノートPCではデファクトスタンダードになっています。
M.2は実はmSATAの後継とされていますが、フォームファクターや端子の互換性はありません。端子自体の挿抜回数も最大25 or 60回に耐えるものとなっており、幅と長さも数種類、規定されています。
表2に記載している、赤字の長さと幅のサイズを組み合わせたものが、主にリリースされているサイズになります。
幅 | 12, 16, 22, 30 mm |
---|---|
長さ | 16, 26, 30, 38, 42, 60, 80, 110 mm |
図1. M.2 (M key) の形状
出典:Micron Technology
特にノートPCで一番採用されているサイズはType2280になります。サーバのOS boot用になると、Type22110もサポートされていて、マザーボード側も長いM.2が挿せるようにスペースが確保されています。
Type2242, 2230は組み込み向けのCPUモジュールなど、基板面積が小さい場合に採用されることがあります。
また、端子形状もM-key、B-key、B&M-keyと3種類あり、マザーボード側の規格と、接続するSSDの規格を一致させないと動作しないため、注意が必要です。
(2)U.2/U.3 (ユードットツー/ユードットスリー)
U.2/U.3はサーバ向けNVMe (PCIe) 用のフォームファクターで、SATA SSDの2.5inchに該当する形状になります。U.3はU.2と下位互換性があるため、U.2のドライブゲージにU.3を挿すことが可能です。
また、ホットスワップにも対応しています。
図2. U.2/U.3 の形状
出典:Micron Technology
(3)E1.S (イーワンドットエス)/E1.L (イーワンドットエル)
E1.S/E1.Lは、EDSFFと呼ばれているエンタープライズおよびデータセンター向けのストレージに最適化されたフォームファクターで、数年前にIntelが「Ruler」という名称で製品リリース発表したのを覚えている方も多いと思います。
このフォームファクターに対応しているサーバはまだ少ないですが、昨年あたりから、各ストレージベンダーより製品リリースされ始めました。
図3を参照していただければわかる通り、基板むき出しとケースに入っているタイプがあります。ちなみに、E1.Sはショート、E1.Lはロングとなり、長さが異なります。
エンタープライズおよびデータセンター向けの製品となるため、アプリケーションは限られますが、今後のビックデータ時代で処理されるデータ量にも対応できる大容量SSDを実現することが可能になります。
図3. E1.S の形状
出典:Micron Technology
最後に
少し長々とつづってしまいましたが、正直書き足りません!(これでも短くしたつもりです、ハイ。。)
次回は実際にSupermicroのサーバに、NVMeを搭載してパフォーマンス測定した結果をつづりたいと思います。ちなみに「CPUが違うとSSDのパフォーマンスも違ってくるのか」という観点でも測定してみたのでお楽しみに!
Micron NVMe SSDについて知りたい方は下記URLをクリック!
Micron SSD 製品情報
SSDについてもう少し知りたい等ありましたら、下記URLよりお気軽にお問い合わせください!