SSDが文鎮化したことはありませんか?
「SSDが文鎮化した」
SSDのPBA
この点を少し掘り下げると、
| 格納場所 | 役割 | 特徴 |
|---|---|---|
| DRAM | メインテーブル | SSD動作中の高速アクセスと更新処理用 |
| メタデータ領域 | マッピング情報のスナップショット及び、 | 定期的にDRAMの内容を保存 |
| WL | 最終的な証拠 | 実データとセットで書き込まれる |
Power Loss Protection
- 整合性チェック:正常保存された
「最後のマッピング情報 (メタデータ領域の世代番号)」をスキャンし、 正しいかをチェックする。 - ログのリプレイ処理:更新が完了していない場合は、
ログ領域をリプレイし、 停止直前に書き込まれたログ (ジャーナル) を追って、 最新の状態を復元する (ロールフォワード[2])。 - 最終手段:上記のログでも追いきれない場合
(最悪のケースですが)、 WLのLPN情報を直接走査してマッピングテーブル情報を照合する。
少し混乱するかもしれませんが、
SSDで言えば、
- ①Read-onlyモードへの移行:整合性が怪しく、
追加の書き込みを行うと全データが失われる可能性があると判断し、 データの読み出しだけを許可する状態への移行。なおNVMe SSDでは厳密には、 Read-onlyモードではなく、 特定のステータスコードを返す製品が多い。 - ②パニックモード/
ビジー状態 :マッピング構造が論理的に崩壊しており、(Busy Status) への移行 ホストOS (Windows等) に対して正しい応答ができなくなる。デバイスマネージャーでは認識されても 「容量0GB」 や 「不明なデバイス」 と表示される場合がこれに該当。 - ③ロック
(ファームウェア・ :コントローラが、ロック) 状態への移行 メタデータが壊れていると認識し、 ブートローダー段階で停止したり、 セーフモードに入ったり、 NVMe Identifyだけを返す状態に移行したり、 あるいは永久Busy状態に移行し起動プロセスを停止させたりする。これがいわゆるSNSで言われている 「SSDの文鎮化」 状態。
ちなみに、
またデータは救えないものの
本書
- [1]: 同一WL上には、
データ領域とは別に、 LBA情報 (正確には 「内部論理識別情報:LPN (Logical Page Number) /Virtual Page Number」)、 エラー訂正符号 (ECC)、 ブロックのステータス情報などが格納される領域 (Out-Of-Band領域) があります。 - [2]: ロールフォワードとは、
過去の正常なバックアップから、 障害直前の最新状態へ 「前進」 させる復旧プロセスのことです。 - [3]: 例えばデータが記録あるいは更新されても、
マッピング情報のログが保存されていない場合は、 再起動後のSSDは、 データが存在しないものとして扱うか、 古いデータを利用可能にします。