背景
かつてフラッシュストレージは高価であり、高速性が求められる特定用途に活用するケースが一般的でしたが、半導体技術の向上などで低価格化が進展し、昨今では汎用的な共有ストレージにもオールフラッシュが検討されるようになりました。
フラッシュデバイスの特徴と種類
フラッシュメモリーは古くからメモリーカードやUSBメモリーとして広く普及しています。そのフラッシュメモリーを使ったSSDはHDDと比べ、並列処理による高速化が可能で、シークタイムがないためランダムアクセスに強く、物理的に動く部品が無いため低消費電力で耐衝撃性に優れると言われています。その反面、フラッシュメモリーの原理上、書き込み回数の耐用上限と無通電での記録保持期間が短いことが課題でした。この特徴はメモリーセルの電圧差を0/1で管理するSLC(セル当たり1bit)から、複数の電圧差で管理するMLC(セル当たり2bit)、TLC(セル当たり3bit)になるほど顕著になります。そこで、無通電での記録保持期間を短くしても書き込み耐用上限を向上させるeMLCが規格化参考1され、データセンターでも広く利用されるようになりました。また、フラッシュメモリー積層化技術のブレイクスルーにより、更なる大容量化と書き込み耐用上限の維持が可能になると予想されています。
なお、フラッシュデバイスのI/O性能(レイテンシーやスループットなど)はバス規格によって制限されるため、HDD互換タイプのSSD、拡張インターフェースPCIeを利用するNVMe、メモリースロットに装着するNVDIMM、専用カスタムモジュールなどが開発されています。
フラッシュストレージの低価格化を支える技術
フラッシュストレージは各製品によって様々な実装形態がありますが、以下の技術を複数用いることが一般的になっています。
インライン圧縮、重複排除
書き込み前に圧縮や重複排除を実施することにより、ストレージ全体で書き込み総量を削減します。これにより耐久性向上と故障率低減を図るとともに、有効容量の増加と同様の効果をもたらします。
ウェアレベリング
フラッシュデバイス内やフラッシュデバイス間でフラッシュブロックへの書き込み回数を平準化し、ストレージ全体で最適化します。これにより耐久性向上と故障率低減を図るとともにホットスポットを回避しI/O性能を維持します。
非同期ガベージコレクション
フラッシュブロックより細かい単位でデータの変更などを管理し、有効データ領域と無効データ領域を分けてそれぞれフラッシュブロックを再生成します。これによりフラッシュブロックの書き換え回数を抑え、耐久性向上と故障率低減を図ります。
高容量効率RAID
ホットスペアとしてフラッシュデバイス群の空きスペースや、後述のオーバープロビジョニング領域の活用、有効容量の高いRAID構成でのリソースプール化などにより、有効容量の向上を図ります。
シンプロビジョニング
DB領域などを除き、割り当てた容量を全て利用し続けることは少ないため、割り当てた容量を全て予約確保せず、実際の使用量を全体として管理します。これにより有効容量に対する利用効率を高めることができます。
オーバープロビジョニング
パリティチェックによって不良と判断されたフラッシュブロックを切り離す割合が一定数出ることを前提として、仕様以上のメモリーを搭載しておきます。これにより耐久性が低くても低価格なメモリーチップの採用が可能になります参考2。
広く利用されている安価なフラッシュデバイスを使った汎用的な共有ストレージ製品が続々と発表されている背景には、企業ニーズと上記技術の進展が関係していると思われます。
フラッシュストレージの適用領域とTCO
かつて金融機関の高頻度取引など特定用途向けの製品と考えられていたフラッシュストレージですが、高いI/O性能が要求されるVDI(Virtual Desktop Infrastructure:クライアントPCを仮想化しサーバ上で集約管理する方式)やDBなどで広く利用されるようになりました。しかし、SSDとHDDを組み合わせたハイブリッドアレイなどでは思ったほどの効果が出せないケースもあります。たとえばVDIでは突発的なI/O発生により他の大勢の仕事に影響が出たり、DBではアクセス頻度と業務優先度がマッチせず重要業務に影響が出たりするトラブルも見受けられます。そこで性能単価や容量単価での使い分けだけでなく、以下などを考慮して、オールフラッシュストレージをTCO(Total Cost of Ownership:システムの導入や維持管理に掛かる総コスト)でも検討対象にするケースが増えてきています参考3。
- 1.レスポンスタイムやバッチ性能向上により業務効率を向上できる可能性がある
- 2.低消費電力・省スペースのためデータセンターにかかる費用を抑えられる可能性がある
- 3.I/O性能に余裕があれば、チューニング等にかかる費用を抑えられる可能性がある
- 4.I/Oボトルネックの限界が近づき、改修やインメモリー技術導入が必要なシステムを延命できる可能性がある
- 5.I/Oボトルネックのサーバーを集約し、ソフトウエアライセンス費用などを削減できる可能性がある
- 6.アーキテクチャーをシンプルに保つことでトラブル発生を抑えられる可能性がある
更に今後フラッシュデバイスの低価格化が進展すれば、急速にオールフラッシュストレージが浸透することも予想されています。ただし、オールフラッシュストレージを採用しても期待した性能向上や圧縮・重複排除の効果が得られないリスクや、I/O速度に依存したバグが顕在化するリスクも完全には否定できません。
NTTデータではITインフラ最適化支援だけでなく、アセスメントやPoCを通じて投資効果を明確化し、お客様の意思決定を支援する活動を実施しています参考4、5。