フラッシュストレージが注目される理由と4つのソリューション

2014年2月6日(木)
三好 哲生

データセンタ内で利用されるフラッシュメモリソリューションの分類

 
 各社がどのように上記の問題を解決しようとしているかは、のちの連載に譲ることにし、今回は大きく分けてどのようなソリューションが登場しているのかを分類していきます。
 
【1】フラッシュメモリをデータ保管先として利用するソリューション
A)SSD(Solid State Drive)
記憶メディアとしてフラッシュメモリを用いるディスク。HDDと同じインターフェイス(ATAなど)を搭載しているため、従来のHDDと置き換えて利用が可能。従来型のHDDと同じように利用されるため、ディスクコントローラーおよびSSD自身に搭載するチップによって上で述べたフラッシュメモリの弱点を解消する必要があり、SSDの製造メーカによって様々な工夫が実装されています。
 
B)PCIe接続カード
PCIeバスに接続するフラッシュメモリ。SSDとは異なり、ディスクコントローラーを経由せず、CPU、メモリと直結された状態での利用が可能なため、アプリケーションに対してフラッシュメモリの高速性をダイレクトに提供できます。
PCIeバスに接続されたメモリをストレージとして利用するため、アプリケーションが動作しているOSに対して独自のドライバーをインストールすることになります。OSが利用するファイルシステムとの相性によるフラッシュメモリの弱点を補うため、こちらもドライバー・ソフトウェアで様々な工夫がなされています。
 
【2】外部ストレージ装置として記憶域をすべてフラッシュメモリで構成するソリューション
EMC社のXtreme IO、NetApp社のFlashRay、Cisco Systems社が買収したWHIPTAIL社のストレージ、Violin Memory社のMemory Arrayなどがこちらに該当しますが、従来のHDDを採用したストレージを提供していたベンダー各社が、従来のストレージラインナップに対しHDDではなく、SSDを接続して販売するということも行われています。
 
磁気ディスクに比べて、まだ容量に乏しく、値が張るSSDを有効に活用するため、ソフトウェアで圧縮や重複排除を行うような実装になっているソリューションもあり、導入時には求める性能を満たすだけでなく、適正なコストでの導入が可能かどうかのバランスを考えることが非常に重要です。
 
【3】フラッシュメモリと磁気ディスクをハイブリッドで利用するソリューション
高速だが容量を稼げないフラッシュメモリと、大容量だが性能を稼げないHDDの良いとこどりを実現しようとするハイブリッドソリューションはEMC社のFAST(Fully Automated Storage Tiering)やNetApp社のFlash Accelをはじめ、ストレージベンダー各社がこぞってソリューションを提供しています。また、Nimble Storage社やTintri社のようなスタートアップも参戦し、非常に多くのヴァリエーションを見せています。
 
アクティブなデータをホットデータとしてフラッシュメモリ領域に格納し、アクティブでないデータをHDD領域に配置する階層化ストレージのアーキテクチャを採用するもの。アプリケーションからのデータを高速なフラッシュメモリに格納し、後からHDDへ配置するキャッシュとしてのアーキテクチャを採用するもの。
 
さらに、圧縮や重複排除を加えてコストを抑えるソリューションなど、選択肢が多いゆえにニーズに最もフィットするものを見つけにくいほどの充実ぶりを見せています。各社のアーキテクチャをよく理解し、ニーズに対して最適なものを選択する必要があります。
 
【4】サーバサイドのフラッシュメモリキャッシュソリューション
サーバに搭載したフラッシュメモリをキャッシュとして用い、ストレージの性能を向上しようとするアプローチです。ストレージに搭載されたフラッシュメモリよりもアプリケーションに近いところでキャッシュを行えるため、低レイテンシーでの応答を実現することが可能です。以下に述べる2つのキャッシュ方式が一般的です。
 
ライトスルーとリードアクセラレーション
図4:ライトスルーとリードアクセラレーション
 
 
A)ライトスルー(Write Through)
その名のとおり、書き込みについてはストレージに対して素通しでデータを通過させ、ストレージに書き込みが終わった時点で仮想マシンに処理を戻す。結果として書き込みは通常と同様だが、読み込み時の処理を高速化できる。読み込み時のうち、初回の読み込み時はストレージに対しての読み込みが発生するが、2度目以降の同一データに対しての読み込みについてはストレージではなく、初回の読み込み時にキャッシュしたデータをフラッシュメモリから読み取る。
 
ライトバック
図5:ライトバック
 
 
B)ライトバック(Write Back)
その名のとおり、書き込みについてはストレージに対して後から書き込む。アプリケーションはストレージよりも近く、高速なフラッシュメモリへ書き込みが終わった時点で次の処理へ移ることが可能になる。フラッシュメモリのキャッシュに書き込まれたデータは、後からストレージへ配置(デステージ)されることになる。書き込みを高速化できる点は優れているが、キャッシュへの書き込みが終わった後、デステージされる前に障害が起きるとデータを失ってしまうというリスクも伴う。
 
いずれの方式もハイブリッドストレージと同様、性能の高いフラッシュメモリをキャッシュとして活用し、容量に優れるバックエンドのストレージとの良いとこどりを実現しようとするものです。しかしながら、書き込みのキャッッシング(Write Back)ではデータロスのリスクが伴うなど、アプリケーション側で冗長性を担保しなくてはならない部分も多く残されています。
 
 今回はフラッシュメモリについてと、データセンタ内でのフラッシュメモリについて一般的な話を紹介してきました。次回の連載では、PCIe接続型のフラッシュストレージで業界をリードするFusion-IO社の方より実例も踏まえて解説いただきます。
 
 
株式会社ネットワールド
株式会社ネットワールドで仮想環境・クラウド環境製品を4年間にわたって担当。
趣味はスキューバダイビングで、夢は世界中の海で潜ること。
最近のマイブームは子供と一緒に遊ぶこと。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています