「NVMe over Fabrics」でストレージ環境が一変する――注目の技術革新を解説:NVMe対応ストレージアレイも次々登場(1/2 ページ)
Non-Volatile Memory Express(NVMe)はSSDストレージの接続規格としてSCSIやSASプロトコルに取って代わり、NVMe over Fabricsはハイエンドネットワーク環境のデータ転送用に採用されていく可能性がある。
1990年代末から2000年代初め、ストレージネットワークが人気を集め始め、ファイバーチャネル技術が広く採用されるようになった。その数年後にイーサネットで使えるiSCSIプロトコルが登場し、ファイバーチャネルのハードウェア導入コストをかけたくない企業がこれを採用した。これらはどちらも、接続元(イニシエータ)とストレージ機器(ターゲット)の通信にSCSIストレージプロトコルを使う。ところが、永続ストレージ媒体としてフラッシュが台頭すると、SCSIのパフォーマンス不足が問題になってきた。
その問題を解決し、SCSIに代わる新しいプロトコルとして開発したのが「Non-Volatile Memory Express」(以下、NVMe)だ。NVMeは他のプロトコルとどこが違うのか。「NVMe over Fabrics」の登場でストレージネットワーク状況はどう変わるのか。
併せて読みたいお薦め記事
「NVMe over Fabrics」について詳しく
- いまさら聞けないSSD向け次世代接続規格「NVMe」 仕組みと歴史を解説する
- 2017年は「NVMe over Fabrics」が本格始動、専門家が語るフラッシュの未来とは
- SSD用リモートアクセス仕様「NVMe over Fabrics」に掛かる期待と現実
ストレージテクノロジーの2017年トレンドとは
- コンテナ“一強”時代に変化の兆し、 SSDは高密度競争へ
- NVMe対応で復活するファイバーチャネル、SDSはハードの「価格下落」が追い風に
- SSDは「NVMe対応M.2 SSD」が次の標準 サーバ搭載で起きる大変革とは?
いきさつ
ストレージネットワーク技術は、ストレージハードウェアの進化と統合的な一元管理ストレージのニーズとともに進歩してきた。ファイバーチャネルの起源はメインフレームで採用していた「ESCON」というファイバーベースの接続プロトコルにまでさかのぼることができる。一方、SCSIはサーバ内のHDDの物理接続に端を発している。
SCSIは当初、パラレル通信プロトコルだったが(サーバにHDDを取り付けたことがあれば、SCSIのフラットケーブルに覚えがあるだろう)、Serial Attached SCSI(SAS)の開発によってシリアルインタフェースに移行した。PC分野ではSerial ATA(SATA)に対応する「Advanced Host Controller Interface」(AHCI)が相当する。これらのプロトコルは今でもHDDやソリッドステートドライブ(SSD)に使われている。
サーバとストレージを物理的に接続するファイバーチャネルやイーサネットでは、SCSIが依然としてハイレベルストレージ通信プロトコルの役割を果たしている。しかし、SCSIはそもそも、システムメモリやプロセッサより桁違いにレスポンスの遅いHDDを想定して開発されているため、高速のSSDに対して使うにはパフォーマンス不足が問題になる。ほとんどのSATAドライブはまだ、インタフェース上限6Gbps、実効データ転送速度600MbpsのSATA 3.0仕様に基づいている。SASドライブは12GbpsのSAS 3.0に移行しつつあるが、多くはまだ6Gbpsだ。
しかし、SASとSATAの深刻な問題は、単一デバイスの同時I/Oに対する処理能力不足にある。HDDの構造を考えた場合、複数の同時I/O要求を処理するのは非常に難しく、不可能な場合もある。読み取りヘッドと書き込みヘッドが複数の要求で同じにならない可能性もある。バッファリングを利用するとしても、拡張性がない。SASとSATAのどちらの設計も、複数I/Oキュー処理に対応していない。AHCIには32個しかコマンドを保持しないキューが1つあるだけだ。SCSIのキューは実装に応じて128〜256個のコマンドに対応するが、キューはやはり1つしかない。
単一キューだけではレイテンシに悪影響がある。キューのサイズが大きくなれば、他の多くの要求が完了するのを待たねばならず、新しい要求のレイテンシが長くなる。HDDではそれほど問題にならないが、可動部品がなく、個別I/Oレイテンの低いSSDでは大きなボトルネックになる。
NVMeの登場
デバイスレベルとネットワークレベルでこうしたインタフェースの問題を解決するために、SCSIを置き換えるプロトコルとしてNVMeが誕生した。NVMeは専用ストレージバスではなくPCIeバスを使い、内部接続ディスクデバイスに高い帯域幅と低レイテンシを提供する。例えば、PCIe 3.0×4レーンのデバイスでは、1デバイス当たり約4Gbpsの帯域幅を実現できる。
NVMeで大きく変わったのはストレージプロトコルの最適化だ。I/Oアクセスのシリアル化に必要な内部ロッキングの量を少なくし、割り込み処理の効率を高めた。また、NVMeは最大65535個のキューに対応しており、各キューに65535個のエントリを保持できる。単一キューではないため、大量の同時I/O要求を処理できる。プロセッサのコア数が増え、大量の処理を同時に行う現在のIT環境では、複数のI/Oキューに対応するストレージデバイスの意義は大きく、外部I/Oスループットの向上にもつながる。
NVMe規格は2011年、メンバー企業約90社で構成するNVM Expressワーキンググループが策定した。2013年、Samsung Electronicsが初のNVMe対応ドライブを発表した。同ワーキンググループは2017年5月、NVMe規格1.3をリリースし、セキュリティやリソース共有、SSD耐久性管理の課題に対応する機能を追加した。
Copyright © ITmedia, Inc. All Rights Reserved.