1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. メモリ基本講座「NVMe とは何ぞや」

TECHブログ

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

メモリ基本講座「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はハードウェア インターフェースのことと勘違いされている方もいますが、それは間違っているので、ご注意ください。

表1:NVMeとSATAの違い
  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に記載している、赤字の長さと幅のサイズを組み合わせたものが、主にリリースされているサイズになります。

表2. M.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のパフォーマンスも違ってくるのか」という観点でも測定してみたのでお楽しみに!

SSDについてもう少し知りたい等ありましたら、下記URLよりお気軽にお問い合わせください!

お問い合わせはこちら

関連ブログ