メインコンテンツにスキップ
ブログストレージNVMeとは何か、なぜそれが重要なのか?

NVMeとは何か、なぜそれが重要なのか?

NVMe について、および NVMe が重要な理由

従来のストレージメディアに代わる強力な手段として、NVMe(Non-Volatile Memory Express)仕様が注目を集めています。高速なNVMeストレージは、非常に高速で応答性に優れており、時には従来のハードドライブよりもRAMのように感じられることもある。Linode NVMe Block Storage が最近発売されたことをきっかけに、NVMeとその理由について詳しく調べてみました。

2000年に登場したSATA(Serial AT Attachment)仕様は、旧世代の回転式ハードディスクメディア向けに開発されたものである。SATAは、当時の他の技術に比べて格段に優れており、コンピューターとストレージデバイスを接続するための標準規格として広く受け入れられた。

SATAで使用されるシリアル通信フォーマットは、信頼性が高く安定しており、回転するハードディスクの速度に対応するには十分な速度でした。しかし、最初のフラッシュベースのソリッドステートドライブ(SSD)が登場したとき、ハードウェア設計者は、より高速なSSDにとってシリアルSATAインターフェースがボトルネックになることに気づきました。第一世代のフラッシュ・ドライブは、馴染みがあり、ほとんどのハードウェアでサポートされていたSATAバスを使用し続けましたが、技術が進化するにつれ、ハイエンド・ストレージ・ベンダーは、SSDからより優れた性能を引き出すために独自のソリューションを開発し始めました。

これらの独自ソリューションの多くは、おなじみのPCIe(Peripheral Component Interconnect Express)バスを使用していました。並列処理に対応したPCIeバスは、データへのアクセスを効率化し、ストレージデバイスとの通信による速度低下を抑えることができます。よくある話ですが、これらの独自ソリューションの問題点は、統一性がないことでした。それぞれにデバイスドライバーやインストール手順が必要となり、ベンダーは新しいデバイスごとに問題解決や改善のために車輪の再発明をすることになってしまいました。

フラッシュメディアの高速性と並列性を活かした統一的なソリューションとして登場したのがNVMeです。インテルを中心とした90社の企業が集まってNVM Expressワーキンググループを結成し、2011年にNVMeのバージョン1をリリースしました。NVMe仕様は、SSDで使用されている他のストレージ規格と比較して、いくつかの改善点があります。重要な変更点の一つは、NVMeドライブにはデバイスにマイクロコントローラーが内蔵されており、PCIeバスを介してCPUと直接通信することです。その結果、よりパラレルなI/Oが可能になり、レイテンシーの低減とスループットの向上が実現します。

NVMeと従来のストレージとの比較

ほぼすべての指標において、NVMeストレージは従来のストレージよりもはるかに高速です。結果はハードウェアや構成によって異なりますが、説明のために、従来型のストレージドライブのスループットが250MB/秒であるのに対し、NVMeドライブは通常、ギガバイト単位のスループットを実現します。

1秒あたりのブロックI/O(IOPS)も速度を表す重要な指標です。こちらもデバイスによって数値は異なりますが、NVMeは従来のハードドライブに比べて10倍から100倍のIOPSを実現できると言っていいでしょう。速度向上の最大の理由のひとつは、NVMeによって実現される並列処理にあります。SATAは1つのシリアルコマンドキューをサポートしており、そのサイズは最大32でした。一方、NVMeは最大で64Kのサイズのコマンドキューに対応しています。NVMeのもう一つの利点は、性能の高速化によってレイテンシーを低減する効果が得られることです。NVMeドライブのレイテンシーは、通常、回転ディスクのレイテンシーの半分以下です。

NVMeを使用して得られる急激なスピードアップは、特定のタイプのアプリケーションにとって画期的なものです。特に、データベースやeコマースサイトのようなトランザクションサービスは、より高速なNVMeストレージを使用することで、より効率的に運用することができます。また、NVMeで可能な大規模な並列処理は、多数の同時接続を受ける可能性のあるサービスにも最適です。NVMeストレージは、従来のストレージよりもはるかに高い性能密度(ギガバイトあたりのIOPS)を備えています。

もちろん、どのような選択にもトレードオフはつきもので、その一つがコストです。NVMeストレージはオブジェクトストレージよりもメガバイトあたりのコストが高い。現実的な選択肢としては、頻繁にアクセスするデータや低レイテンシーの恩恵を受けるワークロードにはNVMeを使用し、アーカイブやその他のアクセス頻度の低いアクティビティにはオブジェクトストレージや従来のブロックストレージを使用するという方法があります。当社のチームは、NVMeのパワーを利用するための可能性を整理し、お客様の環境に最適なストレージ構成を導き出すお手伝いをいたします。


コメント 

コメントを残す

あなたのメールアドレスは公開されません。必須項目には*印がついています。