DirectFlash モジュールとソフトウェアの新機能ご紹介

2017 年 12 月に Pure Storage FlashArray//X が一般リリースされました。現行の FlashArray//M シリーズの上位モデルとして //X70 のみのリリースとなりますが、2018 年にはエントリーモデルから上位モデルまでのラインナップ拡充を予定しております。そこで今回は、//X シリーズの重要な新機能である DirectFlash モジュールと DirectFlash ソフトウェアについてご紹介します。


2017 年 12 月に Pure Storage FlashArray//X(以降、//Xシリーズ)が一般リリースされました。現行の FlashArray//Mシリーズ(以降、//Mシリーズ)の上位モデルとして //X70 のみのリリースとなりますが、2018 年にはエントリーモデルから上位モデルまでのラインナップ拡充を予定しております。そこで今回は、//Xシリーズの重要な新機能である DirectFlash モジュールと DirectFlash ソフトウェアについてご紹介します。

昨今、SSD の高密度化は急速に進んでおり、2016 年には 15 TB の SSD が販売開始され、2017 年には 60 TBという SSD も販売されています。一方で、高密度化が進んでも、性能は 512 GB、1 TB、15 TB、60 TBと同程度となっており、性能/TB ベースでは遅くなるという懸念があります。

性能が向上しないのは、大容量の SSD を単一のキューしか処理できない小型の SAS パイプに接続していることに起因しています。これは「巨大なビルにエレベータが 1 つしかなければ通勤時間帯でなくとも大行列になる」状況と同様で、高密度化が進むほどボトルネックポイントになることが想定されます。

また、各 SSD 内には SSD のコントローラチップ内で実行される内部処理用のソフトウェアが搭載されており、フラッシュデバイスの管理(ウェアレベリング、割り当て、ガベージコレクション、エラー検出・修正等)を行います。SSD の高密度化が進むとフラッシュデバイスの管理対象領域が増加することになり、内部処理がより複雑化し、性能を劣化させる要因となります。

フラッシュデバイスの管理により性能が可変的となるのを防止するため、ピュア・ストレージでは FlashCare テクノロジーを開発しました。FlashCare により、各 SSD へのアクセスを最適化して、一貫性のある最高のパフォーマンスを得られるようにしています。さらに、現行の //Mシリーズでは SAS SSD を利用していることに対し、//Xシリーズでは各フラッシュモジュールに 2 つの MLC SSD を搭載し、大容量モジュール構成においても 2 倍の並列アクセスを可能とし、高速化を図っています。

しかし、搭載フラッシュデバイスの高密度化を進めていく上では、やはり SAS 接続のボトルネック、および SSD 内でのフラッシュデバイス管理による可変的な性能について、根本的な対策が必要となり、これらを解決するために DirectFlash が開発されました。

上の図の左側のモジュールが FlashArray 用の DirectFlash モジュール、右側は FlashBlade の ブレード上に搭載されている DirectFlash モジュールです。

上の図のようなオールフラッシュストレージは、筐体内に 100 個の SSD を持ち、各 SSD には、すべてのフラッシュデバイス管理ソフトウェアを実装している独自のフラッシュコントローラチップが搭載されています。しかし、残念ながら各 SSD は、筐体内の他の 99 個の SSD を完全に認識していないため、フラッシュプール全体での最適化ができません。

DirectFlash は、SSD を使用せず、未加工の NAND フラッシュを搭載しており、高速ネットワーキング(NVMe 通信)でストレージコントローラに直接接続することができます。NVMe 通信では 64K 並列の処理が可能なため、接続上のボトルネックが排除されます。DirectFlash ソフトウェアは、フラッシュプール全体で最適化されたフラッシュデバイス管理を提供します。

現行の //Mシリーズにおける FlashCare ソフトウェアでは、フラッシュデバイス管理をシステムレベルで最適化し、SSD へデータ送信を行うことで、より高速な一貫性のある性能を実現しています。SAS SSD を搭載した現行モデルにおいても、Purity バージョンの進化により、FlashCare ソフトウェアの処理性能は格段に向上しています(※)。

※ Purity 4.6x ⇛ 4.8.x で FlashCare 性能は約 2.5 倍に、さらに Purity 4.8.x ⇛ 4.10.x でさらに 1.5倍 に向上しています。

DirectFlash ソフトウェアは、この FlashCare ソフトウェアをベースに開発されており、FlashArray 内に搭載されたすべての SSD を、かつて SSD レベルで最適化されていたものを NAND フラッシュレベルで最適化することを可能にしています。フラッシュデバイス管理をより繊細なレベルで効果的に実施することで、さらなる高速化を実現し、cMLC フラッシュを搭載していながら eMLC と同等以上の性能でのフラッシュデバイス管理が可能となります。

また、FlashCare と同様に、PurityOE と DirectFlash ソフトウェアも進化しており、今後の性能向上も十分に期待されます。

フラッシュデバイス管理を含む DirectFlash ソフトウェアは、ピュア・ストレージ独自の技術です。競合他社の多くは、フラッシュデバイス管理の開発を行っておらず、高価な eMLC 等の SSD を採用しています。また、仮に競合他社が NVMe 対応を行ったとしても、フラッシュデバイス管理は各 SSD で処理されるため、I/O 処理の最適化は SSD レベルに留まることになります。

DirectFlashソフトウェアで新たに提供される機能

  • Adaptive I/O Control: 各フラッシュの記憶領域単位で I/O アクセス状況を把握し、自動 QoS を実装することで各 I/O 処理の高速性を担保します。
  • Smart Endurance: フラッシュデバイス管理(割り当て、ウェアレベリング、およびガベージコレクション)を、すべてのフラッシュに対してグローバルプールで直接行うため、処理が非常に効率的になります。これにより、フラッシュのさらなる長寿命化を実現し、オーバープロビジョニングの必要性もなくします。
  • Predictive Resiliency: フラッシュブロックレベルで寿命と障害を把握し、その情報を Pure1(リモートサポートクラウド環境)へ継続的に送信します。さらに、Pure1 の機械学習および予測分析技術を利用することで、潜在的な障害をより正確に予測し、通知することが可能となります。

FlashArray FA400シリーズ、あるいは //Mシリーズをご利用いただいている場合でも、FlashArray//X への無停止でのアップグレード、および DirectFlash 構成としていただくことが可能となります。もちろん Evergreen による新モデルへの定期的なアップグレードも可能です。DirectFlash を搭載した FlashArray//X 構成のメリットをお客様にいち早くご享受いただければ幸いです。ご検討の際にはぜひご連絡ください。