SSD 電源喪失保護の詳細

SSD の電源喪失保護機能 (PLP) は新しい概念ではなく、停電時および停電後に SSD を保護するためのアプリケーションおよび技法として、最近の SSD のデザインにおいて大きく改善されたものです。電源喪失保護の目的は、次の 2 つの主要な目標を達成することです。

  • 持続性または不揮発性フラッシュメモリのデータ (またはドライブの DRAM または SRAM キャッシュバッファ内に常駐するデータ) を安全に消去する
  • システムの再ブート後に SSD が再び認識され、使用可能になるように、SSD のマッピングテーブルの完全性を維持する

備考:SSD マッピングテーブル、aka Flash Transition Layer (FTL) は、SSD 内のデータを物理的なマッピングから論理的なマッピングに変換するものです。

通常のシャットダウン時、SSD はホスト ATA ドライバからコマンド (Standby Immediate コマンド) を受け取り、SSD を変更してシステムがシャットダウンし、SSD が電源遮断の準備を行うようにします。通常のシステムシャットダウンでは、SSD はそのキャッシュバッファの内容を消去し、そのマッピングテーブルを更新するための十分な時間を持っています。

うまく設計された SSD は、ボード上の電源コンデンサを保持するハードウェアベースのデザインを採用しています。また SSD および/またはファームウェア PLP の実装により、重要なメタデータの情報はフラッシュメモリに書き込まれ、次の電源投入時に SSD を正常に復元できるようにしています。Kingston は現在、タンタルポリマーコンデンサを PLP 用に使用しています。

初期世代の SSD は、今日のモデルのような、突然の電源喪失に対する回復力はありませんでした。突然の電源喪失が起こった場合、SSD は以降の電源サイクルで応答できなくなるのが一般的でした。これら多くの初期の事例で、SSD は回復不能になり、データ喪失が起こりました。

2 つの電源喪失保護アプローチの詳細

ハードウェア PLP (電源喪失) – ハードウェア PLP は、ボード上の電源コンデンサ (Power Caps) による SSD 電源が喪失した場合のデータ喪失の低減を主な目的としてデザインされており、SSD のキャッシュバッファ内に常駐するデータをフラッシュメモリに書き込み可能にし、マッピングテーブルの更新を可能にするものです。SSD における一般的なハードウェアベースの PLP イベントの基本概念は、以下のようになります。

突然の電源喪失は、SSD コントローラによって検出されます

  1. ボード上の電源コンデンサは、SSD への電力を保持します
  2. コントローラはキャッシュバッファを消去するための内部コマンドを発行します
  3. コントローラは、電源喪失の準備として、マッピングテーブルを更新します
  4. ドライブの電源が「ゆっくりと」遮断されます

ファームウェア PLP – ファームウェア PLP 保護も、(電源喪失のイベントの後の) 次の電源投入時に、ファームウェアでマッピングテーブルを再構築して、データ喪失の影響を低減するようにデザインされています。ファームウェアベースの PLP 保護の基本概念は、以下のようになります。

  1. SSD のマッピングテーブルはフラッシュメモリに格納されており、DRAM 内で更新されます
  2. 新しいデータが SSD に書き込まれると、ファームウェアはマッピングテーブルを更新します
  3. 書き込まれた新しいデータには常にタグ (スペアバイト) が付けられますが、これには LBA、EEC その他の構造データの情報が含まれています
  4. 突然の電源喪失が発生した場合
  5. オリジナルのマッピングテーブルが組み合わされたデータ構造の情報を持つスペアバイトにより、SSD ファームウェアは次の電源投入時に SSD のマッピングテーブルを再構築が可能です

ファームウェア PLP 保護は、エンタープライズストレージアプリケーションにおけるデータ喪失を防止する非常に有効な方法の一つです。たとえば、RAID アレイで構成された SSD が、電源喪失イベントの後に健全性を回復し、その情報を返却可能にする場合に、RAID アレイの完全性を維持するために不可欠です。単数または複数の障害配列メンバーを、データ喪失の高い潜在性を持つオフライン配列にすることができます。

その他のエンタープライズシナリオには、物理的な SSD を複数の LUN にセグメント化し、複数のホスト間で共有するように、一つの巨大なストレージの「共有プール」を作る SSD も含まれます。可用性が高いのは、この事例での重要な設計上の考慮事項であり、またファームウェアベースの PLP 保護により、これらの LUN やホストのサービスを行う SSD の正常な復元を確実にすることです。

Kingston は突然の電源喪失の耐性を最優先にしています

Kingston® は、標準認定プロセスの一部として、その SSD (クライアントおよびエンタープライズ) を、非常に激しいエンジニアリング電源サイクル試験にかけています。互換性、性能および耐久性試験に加えて、Kingston 製 SSD は多数の危険な電源喪失イベント、ブートアップ、および認定プロセスに合格するための機能の完全性に関する試験に合格しなければなりません。電源喪失試験の時に SSD に「異常」が起こった場合、エンジニアリング認定試験は停止され、問題の原因が解決した後、再び認定プロセスが開始されます。

結論

各アプリケーションや環境はそれぞれが固有のものであり、どのタイプの PLP がユーザー環境に適しているかを判断する時には十分な考慮をする必要があります。

今日の大部分の企業アプリケーションは、予期しない電源喪失時にもデータセンターが継続して運転できるように、冗長電源、バッテリバックアップシステム、および発電機によって保護されています。ソフトウェアおよび高速のネットワークが、ハードウェアを一つの障害ポイントとして取り外す、データ複製アーキテクチャの数を増加する道を切り開いてきました。

HA (高可用性) のプラクティスと併せて、データセンターの電源の安定性を確保することは、 ストレージアプリケーションに最適な SSD の PLP 保護のタイプを決める場合に非常に重要な要因になります。

関連記事