今さら聞けない!初めてのオールフラッシュストレージ

 フラッシュデバイスで構成される「オールフラッシュストレージ」がエンタープライズシステムにおいて急速に存在感を高めており、今後さらなる市場拡大が見込まれる。そもそもフラッシュデバイスはどのような仕組みで稼働し、従来のハードディスクドライブ(HDD)と何が異なるのか。そのメリットから動作原理、実装方式の違いまでを解説する。

▼ 目次
1. オールフラッシュストレージを構成するフラッシュデバイスとは
2. フラッシュデバイスとHDDの違い
3. フラッシュデバイスの機能の動作原理
4. フラッシュデバイスの実装方式
5. フラッシュデバイス検討時の注意点

1. オールフラッシュストレージを構成するフラッシュデバイスとは

 ここ数年でストレージ市場に大きな変化が起きている。数年前までストレージを構成するデバイスはHDDが中心であったが、フラッシュデバイスが一気にHDDに取って代わろうとする勢いを見せているのである。なぜストレージの変革が進んでいるのか・・・。それはITシステム全体の性能向上と深い関係がある。

フラッシュストレージとは

 

 変革の背景には、製品や技術の革新によりエンタープライズシステムの性能が底上げされ、HDD で構成されたストレージが性能面においてのボトルネックとなってしまった点が挙げられる。2000年におけるCPU、ネットワーク、HDDの性能をそれぞれ“1”とした場合、2015年の時点でネットワークは50倍以上、CPUは200倍以上の性能向上を遂げている。これに対してHDDの性能向上は数倍程度にとどまっており、HDD の性能とネットワークやCPUとの格差が拡大する一方なのだ。

フラッシュストレージとは

 

 CPUやネットワークの速度にHDDが追従するためには、デバイスの搭載本数を増やして並列処理することで性能差を埋めるしかなく、コスト効率は非常に悪くなってしまう。そこで HDD で構成されたストレージに代わって、フラッシュデバイスで構成されたがオールフラッシュストレージが脚光を浴びている。

フラッシュストレージとは

 

 オールフラッシュストレージとは、フラッシュデバイスと呼ばれる不揮発性のメモリによって構成されたストレージである。HDDとは異なり稼動部分が存在しないフラッシュデバイスは、電気的なプログラムによって高速な読み書きを実現する点が特長だ。そのため、従来とは比較にならないほど高速な性能を実現することができるようになった。

 従って、HDDで構成されたストレージに代わり、デバイス単体でより高い性能を発揮するフラッシュデバイスで構成されたフラッシュストレージに注目が集まる潮流は必然の流れといえる。

2. フラッシュデバイスとHDDの違い

 フラッシュデバイスの最大の特長はI/O性能にある。1秒間にフラッシュデバイスが処理できるI/O数を示すIOPS値を比べると、フラッシュデバイスはHDDの数十~数百倍に相当する3000~5000程度の性能を発揮する(図1)。すなわちHDDをフラッシュデバイスに置き換えるだけでボトルネックを解消できる。

フラッシュストレージとは
図 1. ドライブ1本当たりのI/O性能比 (出典:伊藤忠テクノソリューションズ (以下、CTC))

 フラッシュデバイスは性能面のみならず、さまざまな部分でHDDより優位を示している(表 1)。

表 1. HDD とフラッシュデバイスの比較 (出典:CTC)
フラッシュストレージとは

 たとえばドライブの信頼性を読み解く指標となる故障率でも、フラッシュデバイスはHDDと比べて優位にある。磁気ディスクを回転させながらデータを読み書きする物理的な駆動部分を含むHDDは、衝撃や経年劣化による障害が避けられなかった。これに対してフラッシュデバイスは物理的な稼働部分を持たず、メモリセルの電荷でデータを読み書きするため衝撃に強く、経年劣化による故障リスクも小さい。

 では、コスト面はどうだろうか。たしかに単純な容量単価を比べると、いまなおHDDの方がフラッシュデバイスよりも安価だ。しかし性能単価で見るとフラッシュデバイスがHDDを圧倒している。搭載本数を増やすことで性能を補っていたHDDよりも、結果的にトータルコストはフラッシュデバイスのほうが安くなる傾向がある。

 また、物理的な駆動部分を持たないフラッシュデバイスならでは発熱量が低く、消費電力も少なくて済み、ランニングコストを抑制できるメリットを持つ。

 

3. フラッシュデバイスの動作原理

 フラッシュデバイスをより深く理解するため、特徴的な 3 つ機能の動作についても知っておいていただきたい。

3-1. ガベージコレクション

 実はフラッシュデバイスは、HDDのようにデータを書き込んだ領域に別のデータを直接上書きすることができない。そのため定常的にデータを書き込むためには、データの格納されていない新しい領域にデータを書き込むか、いったんデータを削除して書き込みできる領域を確保する必要がある。これがガベージコレクションだ。

フラッシュデバイスにおけるデータ更新時の処理イメージを(図2)に示す。

フラッシュストレージとは
図 2. フラッシュデバイスのデータ更新時の処理イメージ (出典:CTC)

 フラッシュデバイスのガベージコレクションは、データの書き込む単位である「ページ」を複数まとめた「ブロック」単位で行うことが可能だ。図1のように、赤、オレンジ、黄、緑のデータが格納されている状態で、赤の部分を青に更新する場合、以下のフローで書き込みが行われる。

  1. オレンジ、黄、緑のデータを別のブロック内のページにコピー
  2. 赤が格納されているブロックのデータを削除
  3. 青を書き込み

 なお、もともとのオレンジ、黄、緑のポジションに格納されていたデータは別のブロックに移ることになるが、参照するストレージシステム内のポインタ(メモリアドレスを格納する変数)を修正して対応するのが一般的だ。

 重要なポイントは、データがまったく格納されていない新品状態のフラッシュデバイスと、すでに運用に入ってデータが書き込まれているフラッシュデバイスでは、書き込み性能に大きな差が生まれることだ。

 これはシステム導入前に実機検証を行う際の非常に重要なポイントとなる。使い始めの性能のみを基準にサイジングをすると、使い続けるうちに性能が劣化するため要注意である。必ず十分にデータを書き込んでから検証を行ってほしい。

 

3-2. ウェアレベリング

 フラッシュデバイスにはHDDと異なり、物性的に書き込みできる回数に上限が存在する。この課題に対処する手段がウェアレベリングなのだ。

 下図3に「フラッシュデバイスの模式図」を示す。フラッシュデバイスは電極部分の電圧を変えることで「浮遊ゲート」に電荷を帯びさせ、データを格納する。その際、絶縁層である図のピンク色部分を通って電子が移動する。これを重ねているうちに次第に絶縁層が劣化していき、浮遊ゲートに蓄えられた電荷が漏れるようになり、適切なデータが保持できなくなる。これがフラッシュデバイスの書き込み回数に上限が生じる理由だ。

フラッシュストレージとは
図 3. フラッシュデバイスの模式図(出典:CTC)

 ウェアレベリングはこれを抑制することで、フラッシュデバイスの寿命を適正化する。特定部分への書き込みが集中すると、その箇所が周囲と比べて早く劣化してしまうため、書き込み回数をフラッシュデバイス全体で平準化するのである。(図4)

フラッシュストレージとは
図 4. ウェアレベリングの有無によるデバイスの利用イメージ(出典:CTC)

3-3. 重複排除機能と圧縮機能

 近年、ガベージコレクションやウェアレベリングをより効率的に運用すべく、次の2つの機能が“合わせ技”として活用されるようになった。

 まずは「重複排除機能」である。バックアップ分野ではすでに広く知られた機能なので、ご存知の方も多いだろう。簡単に言えば書き込むデータを固定長もしくは可変長に分割し、そのビット列が重複している場合には1つのデータのみを書き込み、残りはすべてポインタのみで参照するという形をとる。

 この機能をフラッシュデバイスに採用することで、書き込み量そのものを抑制し、デバイスの寿命向上と性能向上を同時に実現できる。仮に10回のデータ書き込みのうち5回のデータが重複していた場合、フラッシュデバイスへの実際の書き込み回数を半分に減らすことができる。

 次に「圧縮機能」だ。こちらも保存するデータ量を減らすことで、フラッシュデバイスへの書き込み量を減少させる。

 なお、重複排除機能や圧縮機能を活用する際には、その処理タイミングも必ず考慮していただきたい。書き込み前に処理するものをインライン処理、書き込み後に処理するものをポスト処理と呼ぶ。特に書き込み量の削減が重要なフラッシュデバイスは、インライン処理がより望ましいとされている。

4. フラッシュデバイスの実装方式

 フラッシュデバイスの概要が理解できたら、いよいよ自社のシステム環境に最適な実装方式の検討に入る。ITシステムにフラッシュデバイスを実装する方式には、大きく分けて次の3つのモデルがある。

  • ホストベース
  • 外部アレイ/ハイブリッド型
  • 外部アレイ/オールフラッシュ型

 各モデルの特徴を(表2)にまとめておく。

表 2. 現在主流のフラッシュデバイス実装方式(出典:CTC)
フラッシュストレージとは

 3つのモデルにはそれぞれ適した利用分野があるため、導入を検討する際には次の点を考慮することが必要だ。

4-1. ホストベースのフラッシュデバイス

 ホスト内部に積載するホストベースのフラッシュデバイスは、3つのタイプの中でも最高レベルのI/O性能を発揮するという特長がある。ただしデータの読み書きはホスト内に限定されるため、ホスト障害が発生した際には最も大きな影響を受けることになる。また他のタイプと比べてデータ容量も小さくなるため、小規模ながら圧倒的なI/O性能が求められる用途に適している。

4-2. 外部アレイ/ハイブリッド型

 外部アレイ/ハイブリッド型は、ホストの外に設置するストレージアレイであるため、フラッシュデバイスとHDDを混載することが可能だ。性能単価の優れたフラッシュデバイスと容量単価の優れたHDDの双方の長所を活かすことができるのである。具体的にはフラッシュデバイスをキャッシュとして利用する方式と、階層化容量の一部として利用する方式の2つがある。

 キャッシュとして利用する方式は、突発的なI/Oの増加(スパイク)に対して効果を発揮する。一方の階層化容量の一部として利用する方式は、利用頻度の高いデータをフラッシュデバイスに格納し、アクセスの少ないデータをHDDに格納することでコスト効率を最適化することができる。

 最近ではキャッシュとしての利用と階層化容量として利用を両立できる製品も登場している。ただし一般的に両機能を併用する場合は、それぞれ用途別のフラッシュデバイスを用意することになるため、そこでのコスト増加も考慮しておく必要がある。

4-3. 外部アレイ/オールフラッシュ型

 外部アレイ/オールフラッシュ型は、フラッシュデバイスのみを搭載した専用モデルのストレージアレイだ。システム全体をフラッシュデバイスで構成するため性能が安定し、信頼性も向上する。重複排除機能や圧縮機能を標準搭載している製品も多く、たとえばデータ削減効果を効かせやすい仮想デスクトップインフラ(VDI)環境などで高密度実装を実現し、ひいては容量単価を低く抑えることができる。

5. フラッシュデバイス検討時の注意点

 先述したようにフラッシュデバイスの性能を判断する指標の1つとして、IOPS(1秒間に処理できるI/O数)がよく使われている。ただし、このスペックのみに固執しすぎるのは失敗の原因となる。

フラッシュストレージとは

 IOPS値は測定時のI/Oサイズや読み込み/書き込み処理の比率、重複排除率、圧縮率などによって大きく変化するからだ。各ベンダーがカタログなどで示している数値は、ほとんどのケースで測定条件が異なっており単純に比較することはできない。

そこでIOPSだけでなく、もう1つの重要な指標である処理時間(レイテンシー)にもぜひ目を向けてほしい。例えば100回のI/Oを実施し、その結果を表示したい場合、そのうちの1回でも処理が遅くなれば全体の性 能向上は実現できない。このようにレイテンシーは、フラッシュデバイスの性能を大きく左右するのだ。

6. 総括

まとめとして簡単に全体を振り返っておこう。

  • フラッシュデバイスはHDDと比較して数十~数百倍もの圧倒的なI/O性能を発揮する。すなわちHDDをフラッシュデバイスに置き換えるだけでシステムのボトルネックを解消できる。
  • フラッシュデバイスは性能のみならず信頼性でもHDDを圧倒する。価格性能比の観点から評価すれば、コスト面でも優位となる。
  • フラッシュデバイスはHDDと異なる「ガベージコレクション」独自のプロセスを経てデータ消去、書き込みが行われる。使い続けるうちに性能が劣化するため、必ず十分にデータを書き込んでから性能検証を実施する必要がある。
  • フラッシュデバイスにはHDDと異なり物性的に書き込みできる回数に上限が存在する。この課題に対処するため、フラッシュデバイスの内部では「ウェアレベリング」という操作が行われている。
  • フラッシュデバイスは「ホストベース」「外部アレイ/ハイブリッド型」「外部アレイ/オールフラッシュ型」の大きく3つのモデルに分けることができ、それぞれのモデルに適した利用分野がある。
  • フラッシュデバイスの性能を判断する際はIOPSだけでなく、レイテンシーにも注視すべきである。


本記事ではフラッシュストレージを構成するフラッシュデバイスや動作の特徴、注意点等について解説した。フラッシュデバイスの魅力と可能性についてご理解いただけただろうか。製品選定の基礎知識として役立てば幸いである。

お問合せボタン
お客様事例を読む
フラッシュストレージ。

# funnel

著者プロフィール

著者アイコン
國分学
伊藤忠テクノソリュージョンズ株式会社在籍中。15年以上ストレージに携わるテクノロジーエンジニア。| 1. 現在の担当業務 : ストレージ全般 | 2. これまでの担当業務 : ITインフラ全般(サーバ、ストレージ、ソフトウェア)

関連記事はこちら