サーバーサイド半導体ストレージとは?
その全貌を大公開


Storage Magazine6月号より
Dennis Martin

 

半導体ストレージの技術革新によって、従来のストレージアーキテクチャーを一新し、 いかにストレージを配置すべきかを考える時がやってきた。

 

今日(こんにち)、半導体ストレージをサーバーにインストールする方法は多種多様にあり、ここ数年で半導体ストレージ技術の使用事例数は急速に増えた。OSのプログラムから基幹系データまで、何でもサーバーに置くことによって、半導体ストレージの高いパフォーマンスと低いレイテンシを享受することができる。特に、半導体ストレージがホストCPUの近くに置かれているとき、このメリットは顕著だ。
とはいえ、購入する前に決めなければならないことはたくさんある。そのためにまず、サーバーサイド・半導体ストレージに関する様々なフォームファクター、インターフェース、プロトコル、容量、さらには、長所、制限事項、潜在的短所を知っておく必要がある。

 

サーバーサイド・半導体ストレージの長所

遡って2010年、我々は半導体ドライブ(SSD)をサーバーのブートドライブとして使い始めた。その効果は覿面(てきめん)で、我々はブート時間の短縮、アプリケーション立ち上がりの高速化、SSDに保存されたすべてのOSコンポーネントやアプリケーションの安定したパフォーマンス、などを得ることができた。我々はまた、OSのページングファイルをSSDに置くことによって、システム全体のパフォーマンスが向上するのを目の当たりにした。

我々のラボで行った比較テストでは、VMのブートは回転式ハードディスクよりも半導体ストレージの方が速く、特に各物理サーバーに7個から数十個のVMを配置した環境では、後者が目に見えて速いという結果が出た。また、トランザクション系データベース業務のような、レイテンシを極度に嫌うアプリケーションでも、データベースファイル、ログファイル、テンポラリーファイルを半導体ストレージに置いた場合には、レイテンシの改善が見られた。

全半導体ストレージ技術に向けての動きは活発になっているが、その利点を享受するためには、必ずしも全てのデータを恒久的に半導体ストレージに保存する必要はない。我々が行った公開テストでは、比較的少容量の半導体ストレージでも、従来のハードディスク・ドライブ(HDD)に組み合わせて、半導体ストレージをリード・キャッシュまたはリード/ライトのティアとして使うことによって、結果的にアプリケーションのパフォーマンスが高速化することが示された。
この高速化は、半導体ストレージが外部ストレージアレイに置かれたとき、それなりの効果が出る。しかし、半導体ストレージがサーバー内部、それもCPUの近くに置かれたときは更に高速化の効果が表れる。

 

フォームファクター

サーバーサイド・半導体ストレージには、様々なフォームファクターが存在している。その中にはよく知られたものもあり、いくつかはかなり目新しいものである。

 

半導体ドライブ(SSD):このフォームファクターは従来のHDDと同じ形だ。最も一般的なSSDは、3.5インチ、2.5インチ、1.8インチで販売されている。このフォームファクターのSSDには、HDDと同じものから0.2インチすなわち5mmの薄さのものまで様々な厚さのものがある。

アドインカード(AIC):このフォームファクターは、PCI Express (PCIe)スロットに入る典型的なアドインカードだ。様々なサイズのものが販売されており、通常ハーフハイト、フルハイト、ハーフレングス、フルレングス、ロープロファイルという用語を組み合わせて呼んでいる。

M.2:このフォームファクターは、幅22mm長さ30mm~110mmのフラッシュストレージを積んだサーバー内搭載用基板だ。M.2は特殊なPCIeまたはSATAスロットに搭載可能だ(後述のインターフェースの段落を参照)。M.2デバイスは片面、または両面に半導体チップを搭載できる。そして、一般的に消費電力はSSDやAICより低いものが多い。

mSATA:M.2フォームファクターとよく似ているが、mSATAはサーバー用ではなくポータブルデバイス用に設計されたものだ。

Disk on Module (DOM):非常に小さいモジュールで、直接マザーボードに搭載される。一般的に、ブートドライブまたは組み込みアプリケーションに必要な容量の半導体ストレージが積まれている。

NVDIMM (不揮発性DIMM):このフォームファクターは、メモリーバス上のDIMMコネクターに挿入するもので、NVDIMMの種類によって、ある程度の容量のDRAM(揮発性)と不揮発性のメモリー両方を積んでいるものと、どちらか片方しか積んでいないものとがある。
このフォームファクターはメモリーバスの速度で稼働する。一般的にPCIeバスの速度よりも高速であり、マザーボード側およびBIOS/UEFIは、DIMM上に搭載されている通常とは異なるメモリーの種類を認識する機能を備えている必要がある。

 

NVDIMMとは何か

NVDIMMテクノロジーとは、Dual Inline Memory Module (DIMM)スロット経由で不揮発性メモリー(NVM)をメモリーチャネルに配置する手法である。メモリーチャネルはPCIeバスより高速に動作するため、ここに置かれたストレージは前述したフォームファクターよりさらに高速なティアを提供することになる。NVDIMMにはDRAMかNVM(現時点ではNANDフラッシュ)あるいはその両方が搭載されており、三つのタイプに分けることができる。

三つのタイプとは、NVDIMM-N、NVDIMM-F、NVDIMM-Pである。これらのほとんどは使用に際しBIOSの変更が必要であり、機能をフルに使う場合は、OSの変更を必要とするケースもある。NVDIMMテクノロジーは、「ストレージクラスのメモリー」とも言えるだろう。

NVDIMM-NはDRAMとNVMの両方を搭載したDIMMである。しかし、システムから見えるのはDRAMだけで、一般的なDRAMの容量とレイテンシを持った標準的なRDIMMとして見えている。ホストサーバーからは、NVM側をアドレス指定することができない。NVMはあくまでDRAMのバックアップとして動く。DIMMには最低でもDRAMと同容量のNVMが積まれており、DRAM内の全データが保護されるようになっている。NVDIMM-Nは標準のDRAMと同じ振る舞いをするが、唯一違うのは、電源が失われたときDRAMの内容をNVMに保存する点である。この時、DRAMからNVMにコピーするのに必要な電力はスーパーキャパシターから供給される。このデータ保護機能を実行するには、BIOSがNVDIMM-Nに対応している必要がある。NVDIMM-NはNVRAMとしても知られている。

NVDIMM-FにはDRAMはなくNVMだけを搭載している。時々「メモリーチャネル・フラッシュ」の名で呼ばれることもある。ブロックベースでストレージにアクセスし、NVMをメモリーアドレス空間にマッピングすることができる。NVMの容量は一般的なSSDと同等だが、レイテンシは通常のストレージに比べてはるかに低く、大体一桁か二桁のマイクロ秒である。

NVDIMM-PはDRAMとNVMの両方を搭載しており、一つのモジュールにNVDIMM-NとNVDIMM-Fの機能を兼ね備えている。NVMは二つの役割を負っており、一つはDRAMに永続性を与えること、もう一つはブロックストレージとしてアクセスを提供することである。

 

 

インターフェース

インターフェースとは、特定のデバイスの種類で使われる物理コネクター(場合によってはケーブルが含まれることもある)のことである。半導体ストレージを含むサーバー内部で使われる、各種の標準的インターフェースを以下に挙げる。

 

SATA (Serial ATA):SATAは一般的に低価格のストレージ機器で使われており、SSD、M.2、DOM、mSATAなどのフォームファクターで用いられている。SATAはまた、CD-ROMやDVD-ROMなどの光学ドライブでもよく使われている。
SATAは、ポイント・ツー・ポイントのインターフェースである。つまり、一つの接続でサポートされるデバイスは一台、ということだ。SATAは最大6Gbpsの伝送速度を提供する。

SAS (Serial Attached SCSI): SASは主にエンタープライズクラスのSSDおよびHDDのフォームファクターで使われている。一つの接続で最大65,535台のデバイスをサポートし、エンタープライズ・ストレージアレイ、JBOD(Just a Bunch Of Disks:ただのディスクのまとまり)の筐体、サーバーのドライブバックプレーンで広く用いられている。SASはデュアルポートおよびワイドポートのドライブをサポートしている。これは、一台のホストが従来よりも広い帯域幅を持ったり、フェールオーバー目的のために「A」と「B」に接続したり、2台の異なるホストが1台のドライブに同時にアクセスできる、ということを意味する。SASは現時点で最大12Gbpsの転送速度を提供しているが、ロードマップ上ではPCIe 4.0が使えるようになる直後の2018年か2019年には24Gbpsがリリースされる予定だ。SASのバックプレーンは、SATAドライブのホットプラグに対応している。(SSDフォームファクター・ドライブについては、前掲の図参照。)

U.2 (旧名SFF-8639):このインターフェースは、PCIe/NVMeのSSDに対応している。U.2はバックプレーンのインターフェースで、SASの機器に対して下位互換性を有している。つまり、NVM Express (NVMe)機器、SAS機器、SATA機器すべてと接続できる、ということだ。一般的に、現在のU.2スロットに挿入されるNVMe SSDは、PCI Express 3.0の4レーンを使い、転送速度は最大4 Gbpsになる。

PCI Express:このインターフェースは、ストレージ用のAICおよびM.2フォームファクターに対応している。PCIeバスは16レーンまで拡張できるが、現在のAICフォームファクターのストレージ機器が使用できるのは、一般的に4レーンから8レーンまでで、最大8Gbps の転送速度を提供する。PCIeをインターフェースとして利用するM.2フォームファクターは、一般的に2レーンまたは4レーンを使用する。

DIMM:DIMMは今や、半導体ストレージや次世代のメモリーなどのストレージ技術用途に使われている。現在DDR4メモリーモジュールは、最大19.2Gbpsでレイテンシは2桁のナノ秒台が測定されている。

 

プロトコル

プロトコルとは、特定のインターフェース上に流れる一連のコマンドセットである。SATAインターフェースはSATAプロトコルに対応しており、SASインターフェースはSAS(またはSCSI)プロトコルに対応している。NVMeとして知られるこの比較的新しいプロトコルは、現在および次世代の不揮発メモリー技術を使って、ストレージ専用に設計されている。この技術はI/O要求を実行するために使われるプロセッサー命令の数を減らし、ストレージ操作の能率を向上させている。

NVMeの目標の一つは、ホストのソフトウェアスタックにおけるレイテンシを大幅に削減し、半導体ストレージ・ハードウェアの進化についていくことである。NVMeは現在、前述のフォームファクターの中でPCIeインターフェースを使うものには全て対応している。
同じプロセッサーコアにI/O要求と応答を割り当てることで、NVMeは現在のマルチコア・プロセッサーの利点を活用し、高度の並行処理ができるように設計されている。さらにNVMeは、ひとつのキューあたり6万4千個のコマンドおよび6万4千個のキューに対応しており、この数は他のストレージプロトコルを大幅に上回っている。
これは、このプロトコルが膨大な数のI/O操作を未処理のまま保持できるということであり、結果として他のプロトコルよりも遥かに優れたパフォーマンスの実現につながっている。

NVMeのロードマップには、NVMe Over Fabricsが含まれている。これは、RDMA ファブリックまたはファイバチャネル・ファブリックを使ってNVMeの利点を遠距離間でも享受するための技術である。

 

サーバーサイド・半導体ストレージの制限事項:容量

サーバー内での使用を目的とした半導体デバイスの容量は急速に増加している。2、3年前、エンタープライズクラスのSSDは、物理的に同じサイズのエンタープライズクラスのHDD(回転数1万rpmおよび1万5千rpm)を容量で追い越した。現在では、SSDストレージの容量増加率もHDDのそれを上回っているように見える。例えば今年前半、Samsung は2.5インチの15TB SSDを発表した。これは現在市場に出ているどの2.5インチHDDよりも大きい容量だ。
サーバーサイド・半導体ストレージ技術にはいくつかの制限事項がある。もっとも明白な制限事項は他のストレージ技術と比較した場合の価格である。サーバーサイド・半導体ストレージのギガバイト単価は、まだ同容量のHDDよりも高い。その中でも特に、NVMeデバイスは非常に高価である。

とはいえ、NANDフラッシュの密度は劇的に増えており、ギガバイト単価とともに半導体ストレージの物理サイズを考慮することも重要になってきている。例えばM.2フォームファクターは、2.5インチHDDよりも遥かに小さい物理スペースで非常に高速なブートドライブとして稼働する。

もうひとつの制限事項は、サーバーサイド・半導体ストレージがサーバー内部に「閉じこめられて」おり、他のサーバーと共有できないことだ。この問題は、ある種のOSで稼働するように設計された、特定のサーバーハードウェア構成やクラスター内のストレージを共有できるハイパーバイザ技術によって、一部は解決されてきている。例えば、VMware VSAN 6.2は、これまでよりずっと簡単に共有ストレージが作れる環境を提供している。
Microsoft Windowsユーザーに対しては、(今年後半にリリースが予定されている)Windows Server 2016がStorage Spaces Directという機能を提供する予定だ。この機能はローカルのストレージ(内蔵SSD、HDD、JBOD内部のドライブ)を高可用性環境として使用できるようにするもので、SATA、SAS、NVMeデバイスに対応している。
これらの技術はどちらも重複排除、圧縮、QoS、などの先進的機能をローカルおよびサーバーサイドストレージに提供してくれる。

もうひとつの比較的新しい技術、ハイパーコンバージド・システムによるストレージ基盤は、サーバー間のストレージ共有の問題を解決してくれる。ハイパーコンバージド・システムは、計算機、ネットワーク、ストレージを、スケールアウトを考慮して設計された一台の筐体にまとめる技術なので、ストレージがサーバーに閉じこめられる制限は幾分緩和される。この技術は、分散されたサーバーノード間をつないでスケールアウトできるように設計されたアプリケーションで用いられる。

 

結論

半導体の技術革新によって、我々はストレージの配置を再考し、既存のアーキテクチャを一新するきっかけを得ることができた。新しいフォームファクター、物理密度、ストレージプロトコル、運用環境、サーバーサイド半導体ストレージ技術は、今日サーバーサイドのストレージが抱えている問題を解決する興味深い方法を提供している。

 

Dennis Martinは1980年からIT業界に勤めてきた。コンピューター業界アナリスト会社兼テストラボであるDemartekの創業者兼社長である。