半導体の最新状態
半導体ストレージをさらに高速にするには、半導体メディア自体はあまり関係がない。関係するのはむしろ、半導体ストレージを取り巻く環境である。
Storage Magazine 2017年3月号より
George Crump
半導体ストレージ(以下フラッシュ)システムは、エンタープライズを変革した。オールフラッシュ・アレイへの移行は、ストレージパフォーマンスの問題をほとんど消し去ってしまった。当面は、ではあるが。ユーザーの期待やアプリケーションの進化は、すぐに今のパフォーマンスに追いついてくるだろう。そもそも、パフォーマンスを改善する必要性が無くなることなどないのだ。それはともかく、ストレージベンダー達も立ち止まっているわけではない。オールフラッシュ・システムでユーザーの期待を上回る機能を実現するためのいくつかの革新技術が、今か今かとリリースの時期を待っている。
フラッシュをより高速にするポイントは、実際のところフラッシュメディアそのものとはほとんど関係がない。深く関係しているのは、メディアをとりまく環境である。実は記録密度が上がるにつれて、フラッシュは遅くなってきているのだ。特に影響を受けているのはライトI/Oだ。そうはいっても、フラッシュのパフォーマンスは依然として、ライバルのハードディスクよりずっと優れている。また、依然としてフラッシュメディアの周りのコンポーネントより高速でかつレイテンシが低い。
フラッシュのベンダーが直面しているのは、フラッシュメディアだけがあまりに高速かつレイテンシ・フリーで、フラッシュストレージ製品のメディア以外のパーツがその足を引っ張っているという問題だ。製品がフラッシュディスクだろうが、オールフラッシュ・アレイだろうが、ベンダーはパフォーマンスを改善するために製品化の方法を改善する必要があるのだ。
鍵を握るCPU
そもそも現在のフラッシュストレージ・システムはソフトウェアだ。そしてほとんどの場合、どちらかというと標準的なIntelのサーバーハードウェア上で稼働する。ハードウェアの中心部はCPUだ。CPUが高速になればなるほど、ソフトウェアの実行は高速になり、オールフラッシュ・アレイも高速になるようにみえる。実際、ここ3,4年のオールフラッ 2 シュ・アレイのパフォーマンス改善の大部分は、フラッシュメディア自体の改善と言うよ り、CPU パワーに関連するものなのだ。
ストレージ・ソフトウェアのベンダーが直面している問題は、CPU がより強力になってい る方法が、クロックスピードの高速化というよりはコア数の増加によって実現されている、 という点だ。自社のソフトウェアが稼働するストレージ・ハードウェアの中のコアを正し く利用して、十分にマルチスレッド処理の力を引き出しているベンダーは、わずか数社に 過ぎない。マルチスレッドを活用しているベンダーは、(使えるコアを全て利用できるため) 通常より少ないCPU 数で、業界トップレベルのパフォーマンスを実現しており、強い価格 競争力を持っている。
より効率的なストレージサービス
ストレージシステム、特にオールフラッシュ・ストレージシステムは、一般的にその製品 が提供する機能によって認知される。ほとんどのスナップショットやレプリケーションの ような標準的ソフトウェア機能以外にも、オールフラッシュ・アレイは重複排除や圧縮な どのコスト削減機能を備えている。これに対して、ハイブリッド・フラッシュストレージ・ システムは、フラッシュとHDDのティア間でデータを自動的に移行する機能を持っている。 結果として、データの移動が、レベルの異なるパフォーマンスを提供する複数のフラッシ ュ間で発生することもある。
ここで留意すべき問題は、これらの機能ひとつひとつが演算処理を使う、ということだ。 また、多くの場合、I/O の負荷も増大する。ソフトウェアベンダーは、自社の製品がフラッ シュストレージ・システム全般に与えるレイテンシの量を減らすべく、アプリケーション の効率化に取り組んでいる。I/O 負荷の増大を解決する方法のひとつは明らかに、前述した ようにマルチコア・プロセッサーを活用することだ。これに加え、ベンダーは重複排除と 圧縮の効率改善に取り組む必要がある。主な改善点は、アレイが重複排除や圧縮を行う時 のメタデータのオーバーヘッドの扱い方を変更するものになるだろう。
ハードディスクは死んだのか?
フラッシュストレージの進化全体とこの技術に対する評判を踏まえて、ハードディス クの将来がどうなるかを問うことは、至極当然のことである。現在、ほとんどのフラ ッシュベンダーが、価格はハードディスク・ベースのシステムと同等になった、と主 張している。企業がハードディスク・ベースのシステムと同じ値段でフラッシュ・ア レイを買えるのなら、ハードディスクを買う理由なんてあるだろうか?
まず、この質問の前半をじっくり検討する必要がある。本当に、フラッシュシステム はハードディスク・ベースのシステムと同等な価格になったのだろうか?フラッシュ を高パフォーマンス・ハードディスクアレイと比較した場合、答えはyes だ。しかし、 大容量HDD と比べた時、一般的に答えはno だ。現在のオブジェクト・ストレージ システムは、特に問題もなく8TB 超ハードディスクを使っており、重複排除も行っ てフラッシュシステムに対して、かなりの価格優位性を保っている。
もちろん、そこには大きなパフォーマンスの差がある。しかし、アーカイブされてい るものやフラッシュ・アレイ級のパフォーマンスを要求しないデータにとって、オブ ジェクト・ストレージシステムは費用効率の高い選択肢だ。
NVMe:より高速なフラッシュ接続
次に調査すべき領域は、フラッシュ・アレイの内部だ。現在、ほとんどのオールフラッシ ュ・アレイは、つまるところストレージ・ソフトウェアが稼働しているサーバーである。 これらのサーバーでは、フラッシュディスクがCPU につながっている。通常、接続方式は SAS である。SAS は仕様上は広い帯域幅を持っているが、この技術自体ハードディスクの 時代に作られたものであり、フラッシュの時代のものではない。つまり、SAS はフラッシ ュディスクに接続するのに標準のSCSI プロトコルを使っている、ということだ。
SCSIプロトコルはレイテンシを増加させるので、ベンダー達はこれより良いものを探した。中には独自のプロトコルを作ったベンダーもいた。これらの独自プロトコルによってパフォーマンスは改善されたものの、この状態が続いていたら、各フラッシュベンダーの製品は独自のドライバーを必要としただろう。これは、企業内のサーバーは、個々のフラッシュ機器のためにそれぞれのドライバーを用意しなければならないということだ。また、ベンダーはベンダーで、様々なOSや環境用にドライバーを開発しなければならなかっただろう。
ベンダーやIT プロフェッショナル達が必要としたのは、特にフラッシュストレージ・シス テムにアクセスするための標準プロトコルだったのだ。これに対する業界の答えが、NVMe (Non Volatile Memory Express)だった。メモリーをベースにしたストレージ技術に特化し て設計された標準プロトコルである。
NVMe は、SCSI スタックが作っていた不要なオーバーヘッドを減らすことで、ソフトウェ アI/O スタックの能率を改善する。標準のSCSI よりサポートするキューの数も多い。レガ シーのAHCI(Advanced Host Controller Interface)がサポートするキューの数が1 個な のに対し、NVMe がサポートするキューの数は64,000 個だ。さらに、各NVMe キューは、 64,000 個のコマンドをサポートする(AHCI の1 個のキューがサポートするコマンド数は 32)ので、NVMe ディスクはSAS やSATA よりも2 倍から3 倍速いということになる。 また、このプロトコルは業界標準なので、ひとつのベンダーのNVMe ディスクは他社の NVMe ディスクと同時に使用することができる。
フラッシュディスクのベンダーは自社のディスクにいち早くNVMe を採用し実装している。 一方、フラッシュ・アレイのベンダーたちは自社製品のNVMe 版を作ることを発表したと ころもあれば発表する準備をしているところもある。この結果、ストレージシステム内の データ移動は、今後1 年の間に大幅に改善されるはずだ。ただし、共有ストレージシステ ムではまだトラバーシング(ネットワーク間の横断)が必要なストレージネットワークが ある。
Brocade やCisco などの大手ネットワークベンダーの大半は、NVMe over Fabrics のサポ ートを発表している。このプロトコルは、Ethernet でもファイバチャネルでも使えるよう になる予定だ。この規格がデータセンターで使われるようになるのには、しばらく時間が かかるだろうが、今後数年の間に多くのデータセンターで移行が行われるだろう。いい報 せがある。市場に出てくる製品のほとんどは、レガシーのSCSI 型アクセスとNVMe のア クセスを同時にサポートする予定だ。
接続性の向上は、増え続ける帯域幅とその帯域幅の賢い使い方によって実現されているの が現状だ。
ポスト・フラッシュ
フラッシュメモリーは、メモリー・ベースのストレージ技術の終着点ではない。 DRAM がいまだに高速(特にライトI/O)で、耐久性も高いという事を思い出し てほしい。しかし、DRAM の最大の弱点は揮発性だ。メモリー進化の次のステッ プは、DRAM に永続性を付け加えることだ。不揮発性メモリーとして知られてい るいくつかの技術が、システムメーカーやIT プロフェッショナルの注目を引くべ く競い合っている。
そのひとつが、インテル社の3D Xpoint だ。インテル社によれば、3D Xpoint は レイテンシが低く、パフォーマンスは高い、さらに耐久性は同価格のフラッシュメ モリーの約2 倍だという。だが、不揮発性メモリー製品を提供しているのはインテ ル社だけではない。Crossbar やEverspin、その他の会社も不揮発性メモリー製品 を市場に投入している。
フラッシュDIMM
ほとんどのNVMe 製品はPCIe インターフェース経由で設置される。しかし、ストレージ メモリーのメーカーにとってこれよりも高速な経路があるのだ。メモリーバス自身だ。PCIe バスは様々な接続に使われる共有バスであるのに対して、メモリーバスで使われるのはメ モリーだけだ。これまでメモリーバスは、明らかにDRAM(ダイナミックRAM)が占有する領域だった。しかし今やフラッシュ・メーカーはDRAM 同様、このCPU への高速な 経路を利用しようと狙っているのだ。フラッシュDIMM はDRAM よりは遅いものの、1 枚のDIMM あたりの容量ははるかに大きく、はるかに安価である。
ベンダーはフラッシュDIMM 技術を、二種類の形態で供給している。まずひとつは、フラ ッシュディスクのように見えるもの。これは、高速ストレージディスクとして使われる。 DIMM をストレージとして使うDIMM-as-storage の選択肢は、仮想メモリーのページング ファイルのような非常にアクティブなファイルを置くのには理想的な場所だ。
もう一つのフラッシュDIMM 技術の形態は、DIMM をストレージではなくメモリーとして 使う形である。前述した容量とコストという長所がここにも当てはまる。DRAM より遅いという欠点は、想像するほど大した問題ではない。ほとんどの設計において、フラッシュ DIMM はDRAM DIMM のキャッシュとして動くからだ。新規のライトはDRAM に書き 込まれ、再びリードが必要なときは容量の大きなフラッシュの領域に配置されてしまう。
フラッシュをシステムメモリーとして使うメリットは、半分近くのコストで1 台のサーバ ーに2 倍のメモリーを実装できることだ。この組み合わせは、Cassandra、Couchbase、 Spark、Splunk などの現在のスケールアウト型アプリケーションには理想的だ。これらの 製品を使った環境は、ノードの増殖をいかに管理するか、という課題を抱えている。そも そも増殖はCPUパフォーマンスの不足ではなくメモリーの不足によって起こっているのだ。
フラッシュDIMM のもう一つの面白い使い方は、サーバーにシステムクラッシュが起きた ときのデータ損失を防ぐ、というものだ。サーバーがラップトップのように使えることを 想像してほしい。電源が落ちてもデータを失うことなく、スリープモードに入るだけ。電 源が回復すれば、電源が落ちたところから再開する。
結論
コンピュータ史上初めて企業は、ほとんどのアプリケーションとユーザーが必要とする以 上のフラッシュパフォーマンスを提供する機会に恵まれた。しかし、これは全てのアプリ ケーションに当てはまるわけではない。さらに、IT の環境がより仮想化されアプリケーシ ョンの規模が拡大するにつれ、このパフォーマンスの余剰はあっという間に消え去るだろ う。
ベンダーは通常のシステム構成にフラッシュを追加することでパフォーマンスの改善に努 めているが、この次のステップは難しいものになるだろう。本記事でその概要を述べたよ うに、ソフトウェアの更なる効率化と、内部・外部の接続性の改善が求められるところだ。
著者略歴:George Crump は、ストレージと仮想化を専門とするIT アナリスト企業Storage Switzerland の社長である。