NVMeについて、SSDを選ぶ際に必要な用語「M.2」や「PCIe」や「AHCI」などもあわせてご紹介
NVMeはSSDなどのストレージの高速化に貢献している規格となります。お店でM.2 SSDを選ぶ際などにも見かけたことがある方も多いと思います。
この記事では、NVMeとはどのようなものなのか?からSSDを選ぶ際出てくる用語「M.2」「PCIe」「AHCI」などについてご紹介します。
もくじ
NVMeとは?
NVMe(エヌブイエムイー)は「Non-Volatile Memory Express」の略語です。
インテルをはじめ、サムスン、デルなどが参加する団体から策定されたSSD接続規格です。
NVMeを使用したSSDは、通常のSSDと比較して高速でかつ小型であると言う点が特長です。
大きさはいくつか種類がありますが、縦幅は22mm、横幅も80mm程度が主流で、従来の2.5インチ仕様のSSDと比べるととても小型と言えます。
高速化の点ではNVMeは最大64KのIOキューを持っています。
これは、実質65,536キューがあるということになり、キューの数を活かしたさまざまな処理を同時に行うことが可能です。
このキューの数により、多くの処理が一度に可能となるため、データ転送の高速化に役立っています。
さらに、メモリへの直接のアクセスが可能なダイレクトメモリアクセス(DMA)、効果的な割り込みが可能なリモートダイレクトメモリアクセス(リモートDMA)の技術も、高速に使用できることもポイントとなっています。
なお、NVMeの接続規格を持ったSSDを使用する際は、マザーボードのSATA ExpressまたはM.2を使用します。
マザーボードにスロットがない場合は、M.2スロット増設のためのインターフェースボードの用意が必要となります。
NVMeの開発経緯や活用事例
これまでの接続プロトコルである「SAS(Serial Attached SCSI)」や「SATA (Serial Advanced Technology Attachment)」は転送速度の限界が発生しつつありました。
そこで、フラッシュストレージによる通信を最適化するための転送プロトコルとして新しく開発されたのがNVMeです。
NVMeは、SSDやフラッシュストレージのメリットであるランダムアクセスなどのデータ処理を有効活用できるようになりました。
NVMeのこれまでのプロトコルからの改良点は以下になります。
- 4KBの転送において、必要なメッセージが2つから1つに減少
- コマンド処理に使用するキューが、1個から6万5,536個と大きく増加
これらの改善点によってデータを読み書きするディスクI/Oの要求を同時に多数処理することなどで、大幅な処理速度の向上が可能となっています。
NVMeは大容量データの格納や高速のデータ処理によるシステムパフォーマンスの向上がメリットと言えます。
今後は、AI(人工知能)やディープラーニング(機械学習)への活用など、今後の市場拡大が予想されています。
NVMeと関連する「M.2」「PCIe」「AHCI」などの用語について
NVMeについて知る上で合わせて理解しておいた方が良いのが「M.2」「PCIe」「AHCI」といった規格です。
SDD製品を選ぶ際必ず出てくる用語なので、どのようなものか知っていると、自分に適したSSD選びに役立ちます。
それぞれの規格を見ていきましょう。
M.2(エムドットツー)
M.2(エムドットツー)はSSDの「接続端子の規格」です。
ノートパソコンをはじめ小型PC向けに適したコンパクトサイズの規格となります。
mSATAの後継として開発された規格で、PCIeやSATA3.0、USB3.0といった端子が含まれており、通信機能やストレージなどの機能が追加できます。
M.2カードには複数の種類があり、スロット側と異なる規格を選んでしまうと、接続できなかったり、接続はできても動かなかったりするので注意が必要です。
また、端子の形状もさまざまですが、ストレージに使われている端子には「B Key」「M Key」「B&M Key」の3種類があります。
すでにM.2を持っている場合は、SDDの規格を確認し対応製品を選ぶようにしましょう。
SATAタイプはSATA3.0接続のSSDで、転送速度の理論値がSATA6Gbpsで約600MB/sとなっています。
AHCIタイプはPCIe接続で、PC側のAHCIホストコントローラを通して動作するSSDです。
NVMeもPCIe接続ですが、SSD側に搭載されたNVMeコントローラによる高速データ転送ができるSSDとなっており、約4500MB/sを超える高速のデバイスもあります。
M.2を採用したSSDで高速なものを使いたい場合は、NVMeタイプを選ぶと良いでしょう。
PCIe
PCIeは「Peripheral Component Interconnect Express」の略語で、拡張性の役割を持つ拡張バスや拡張スロットの接続規格です。
パソコンには周辺装置やネットワーク接続対応のための拡張性が要求されます。
広帯域を必要とする機器を使用すると、帯域の最大数のほとんどを占有することになり、ほかの機器に当てられる帯域幅が制限されるのが問題となります。
従来のPCIバスは、高速CPUや高速メモリ、高性能なグラフィックスなど、高速の帯域幅を求められるアプリケーションが普及するにつれて割り当ての帯域幅の制限が問題となり始めました。
そこで、PCIの制約を超えるために開発された規格が、データの大容量化や、シリアル転送方式による高速転送に対応したPCIeです。
もともとはIntelが「3GIO(The 3rd Generation I/O)」として開発していましたが、2002年にPCIeとして規格化されました。
PCIeの規格においてPCIの問題点が改善され、ハイパフォーマンスの転送が実現しています。
NVMeには「PCIe3.0×NVMe接続」のようにPCIe接続が用いられており、SSDに転送速度を求める場合に選ばれています。
AHCI
AHCIは「Advanced Host Controller Interface」の略語で、NVMeと同様にハードウェアとOSやソフトウェア間でおこなう通信の仕組みを標準化したものです。
AHCIとNVMeでの大きな違いは、何に対して最適化されているのかと言う部分です。
AHCIは「HDD」を前提としたSATAに最適化されている規格となり、NVMeは「PCI Express SSD」に最適化されている規格となります。
AHCIはこれまでの接続プロトコルである「SATA」に最適化されたインターフェイス規格で、HDDを前提としています。
それに対して、NVMeはPCIeベースで高速のSSDを搭載するために最適化された規格で、HDDの数百倍にもなる高速のアクセスタイムや、PCIeのデータ帯域を効果的に活用できるのがメリットです。
AHCIとNVMeはどちらも通信プロトコルですが、両者の性能には大きな違いがあります。
コマンドを処理するためのキュー数は、AHCIが1個で、NVMeのキュー数は6万5,536個です。
キューの深さについても、AHCIはキューあたり9回、NVMeはキューあたり64回と大きな差があります。
※キューの深さとは一度にキューに格納することができる、I/O要求:SCSIコマンドの数を指します。
AHCIの役割はSATAの拡張であり、NVMeのようにSSDやフラッシュストレージの高速処理には対応できません。
並列実行やマルチスレッドに関しても、AHCIはコマンド発行のために同期をロックする必要がありますが、NVMeは同期のロックをせずに実行が可能です。
データの記憶方式の用語「SLC」「MLC」「TLC」「QLC」
NVMeを採用しているSSDを選ぶときに「SLC」や「MLC」といった単語を見かけたことがありませんか?データを保存するときは、セルという小さい箱に入れられるデータは容量によって異なります。
「SLC」「MLC」「TLC」「QLC」は、データを保存するNANDフラッシュメモリの種類です。
記録方式はデータの処理速度と直接の関係はありませんが、1つのセルに入るデータや耐久性などに違いがあるので確認しておきましょう。
SLC
「SLC(Single Level Cell)」は、各セルにつき1ビットのデータを書き込めるほか、高速での転送や消費電力の低さ、耐久性の高さがメリットです。
企業向けの製品が多く高価格です。
MLC
「MLC(Multi Level Cell)」は、各セルにつき2ビット以上のデータを書き込めて耐久性にも優れています。
ハイエンドユーザー向けの製品が多く、SLCよりは低いものの単価は高めです。
TLC
「TLC(Triple Level Cell)」は、各セルにつき3ビット以上のデータを書き込めて、実用的な耐久性も十分あります。
一般ユーザー向けに発売されているので単価が低めです。
QLC
「QLC(Quad Level Cell)」は、各セルにつき4ビット以上のデータを書き込めますが、耐久性は劣ります。
一般ユーザー向けに発売されており、単価が低めです。
M.2 SSDはNVMe規格でPCIe接続のものが最速
NVMeを採用しているSSDをデータ転送速度で選ぶ場合は、通信プロトコルとしてNVMeを採用しているPCIe接続のM.2 SSDがぴったりです。。
同じM.2 SSDでも、通信規格がSATAの場合は通信プロトコルとしてAHCIが採用されているため、速度に違いが出ます。
たとえば、37GBのファイルをコピーする場合にかかる時間は、NVMe SSDは38秒ですが、AHCI SSDは126秒です。
規格の世代によって転送速度は異なるものの、PCIe接続を採用したSSDでは、製品によっては非常に速く、4000MB/s以上の速度が出せます。
SATA接続を採用したSSDの理論値は約600MB/sなので、いかに高速かがわかります。
NVMe Gen4 SSDとは
NVMe Gen4 SSD は2019年に発売されたものになります。
規格サイズはM.2で、NVMe接続で最大40Gbpsまでの通信速度が可能になっています。
そのため、大量のデータを即時に送受信することが可能です。
また転送速度は理論上で5000MB/sまで可能で、SATA SSDの理論上の転送速度は600MB/sのため、比較すると8倍以上転送速度が向上していると言えます。
NVMe接続とSATA接続との違い
前の章でも紹介しましたが、NVMeの接続方法以外にSATA接続と言うものがあります。
SATAの接続方式では実用的にどう違うのかを説明します。
NVMeの接続は高速である反面、発熱が多い傾向があります。
また、高性能ゆえに値段も高価な傾向があります。
SATAは、従来から一般的にHDDドライブの接続に使われてきた規格であり「省電力」「発熱量が少ない」「安価」などのメリットがあります。
M.2のSSDでも「SATA接続のM.2SSD」と言うものもあります。
2.5インチのHDDや2.5インチSATA SSDよりは圧倒的に小さく、本体を小型化しやすいと言うメリットがあります。
M.2 NVMe接続は比較的新しい規格となるため、古いパソコンでは使用できないものが多くあります。
デスクトップ用マザーボードでも接続コネクタが無いものも存在しますので、搭載できるマザーボードを選ぶ必要があります。
2.5インチSATA接続のSSDの場合は、古いパソコンなどでも使用が可能なことが多いです。
デスクトップパソコン用のマザーボードであれば、よほど古くなければ、接続可能と考えて良いでしょう。
新しいパソコンでも「スピードはある程度で良く、大容量が必用」などの場合、安定性とコストパフォーマンスに優れている点でSATA接続のSSDも選択肢として魅力があります。
例えば、多数のゲームをダウンロードしてインストールしたい場合など、いくら容量があっても足りないと言うユーザーにとって、大容量とコストパフォーマンスの点では良い選択となるでしょう。
PCIe3.0(Gen3)とPCIe4.0(Gen4)の違い
PCIe3.0(Gen3)とPCIe4.0(Gen4)の主な違いとしては、以下のものがあります。
- 価格帯
- 転送速度
- 発熱
価格帯は商品にもよりますがPCIe3.0が安いです。
容量を1TBに統一すると、2020年4月時点ではPCle3.0は14,000〜16,000円台で推移しており、PCle4.0は24,000〜30,000円台で推移しています。
転送速度はPCIe3.0が理論上4,000MB/sであり、PCIe4.0は理論上5,000MB/sとなっているため、読み込みの転送速度はPCIe3.0の方が劣ります。
発熱は転送速度が遅くなる分、低く抑えられる傾向にあります。
ただし、どちらも発熱対策は必要になってきます。
まとめ
NVMeについて、詳しく説明をしてきました。
その他の関連する用語や規格に関しても紹介をし、現状のM.2 SSDで高速な処理が出来る理由が少しでもお分かりいただけたかと思います。
NVMeをはじめ、これらの用語は、SSDを選ぶ際に必ずと言って良いほど出てくる用語ともなりますので、意味を少しでも理解しておくと良いでしょう。
m.2 SSDの発熱対策として「M.2 用のヒートシンク」もありますので、導入の際に是非ご検討ください。
m.2 SSDを外付けSSDドライブ化するならこちら