进一步了解 SSD 断电保护 (PLP)
SSD 断电保护 (PLP) 并非新概念,但用于在断电事件期间和之后保护 SSD 的应用和技巧在最新 SSD 设计中得到大幅改善。断电保护的目的是完成两个主要任务:
- 安全地将处理中的数据(或驻留在 DRAM 或 SRAM 缓存缓冲区中的数据)刷新到永久性或非易失性闪存中,以及
- 保持 SSD 映射表的完整性,以便在系统重启后 SSD 能够再次被识别且可用。
注意:SSD 映射表又称闪存转换层 (FTL),负责 SSD 中从物理到逻辑的数据映射。
在正常系统关机时,SSD 从主机 ATA 驱动程序收到一条命令(Standby Immediate 命令)以提醒 SSD 系统正在关机,SSD 为断电做准备。在正常系统关机时,SSD 有大量时间刷新其缓存缓冲区并更新其映射表。
设计完善的 SSD 将采用基于硬件的设计(使用 SSD 板载保持电力电容器)和/或固件 PLP 实施,其中重要的元数据信息写入闪存以确保下次恢复电力时成功恢复 SSD。金士顿目前为 PLP 使用钽聚合物电容。
早期的 SSD 在突然断电后的恢复能力不如今天的型号。过去,遇到突然断电的 SSD 在下次恢复电力时失去反应比较常见。在许多这些早期案例中,断电事件导致 SSD 无法恢复、数据丢失。
近距离了解两种 PLP 方法
硬件 PLP – 硬件 PLP 的主要设计目标是减少数据丢失,利用板载电力电容器为 SSD 保持时间足够的电力,以便驻留在 SSD 缓存缓冲区中的数据可以写入闪存且其映射表得到更新。SSD 典型的基于硬件的 PLP 事件概念概述看起来是这样的。
突然断电被 SSD 控制器检测到
- 板载电力电容器为 SSD 保持电力
- 控制器发出一条内部命令以刷新其缓存缓冲区
- 控制器更新其映射表,为断电做准备
- 驱动器正常断电
固件 PLP – 固件 PLP 保护确保固件在断电事件后的下次加电时能够重建映射表,目的也是降低数据丢失的可能性。基于固件的 PLP 保护概念概述看起来是这样的:
- SSD 的映射表存储到闪存中并在 DRAM 中更新
- 当新数据写入 SSD 时,固件更新映射表
- 写入的新数据在写入时始终包含标记(备用字节),其中包括 LBA、EEC 和其他结构数据信息
- 突然断电发生
- 包含数据结构信息的备用字节结合原始映射表,让 SSD 能够在下次加电时重建 SSD 映射表
固件 PLP 保护是防止企业存储应用出现数据丢失的非常有效的方法。例如,有必要让组建 RAID 阵列的 SSD 能够在电力故障事件后恢复并返回正常状态,以保持 RAID 阵列的完整性。一个或多个有故障的阵列成员可能导致具有高度数据丢失可能性的离线阵列。
另一个企业情景可能涉及构成大型存储“共享池”的 SSD,其中物理 SSD 被划分到多个 LUN 中并在多个主机之间共享。高可用性是此示例中的关键设计考量因素,基于固件的 PLP 保护确保成功恢复用于服务这些 LUN 和主机的 SSD。
金士顿很重视突然断电后的恢复能力
作为标准鉴定流程的一部分,金士顿® 对其生产的 SSD(客户端级和企业级)进行十分严格的工程电源开关测试。要通过鉴定流程,除了兼容性、性能和耐久性测试,金士顿 SSD 还必须成功通过许多不安全断电事件、启动并完全运行正常。如果 SSD 在断电测试过程中“变砖”,工程鉴定测试停止,问题原因得到解决,鉴定流程重新开始。
结论
每个应用和环境都是独一无二的,在决定哪类 PLP 适合您的环境时,应进行某些考量。
如今多数企业应用得到冗余电源、备用电池系统和发电机的保护,确保数据中心在遇到意外断电时继续运行。软件和高速网络为数量增长的数据复制架构铺平了道路,从而消除硬件这个单一故障点。
在确定哪类 SSD PLP 保护最适合一个存储应用时,数据中心电力稳定性和高可用性 (HA) 实践应是重要因素。