ECC 和备用块帮助持续保护 Kingston SSD 数据免受错误影响

端到端数据保护

所有的金士顿固态硬盘都融入了端到端数据保护机制,一旦数据由主机系统传输到固态硬盘并随后由固态硬盘传输回主机计算机,该机制即为客户的数据提供保护。

固态硬盘中的数据传输

所有固态硬盘都包含控制器,控制器让固态硬盘可以与相连的主机系统进行通信。无论使用什么形状(2.5 英寸、插卡、M.2 等)或协议(例如 SATA 或 NVMe)的固态硬盘,向固态硬盘写入数据或从中读取数据的操作都通过固态硬盘控制器完成。

目前存在许多固态硬盘控制器设计。作为控制器设计的一部分,一些固态硬盘控制器采用内置缓存(通常是 SRAM),其他可能利用一个独立的 DRAM 芯片(或多个芯片),用于存储内部闪存映射表和要处理的用户数据。部分控制器设计不使用独立的 DRAM,而是将 NAND 闪存的一部分用于存储它们的映射表。

固态硬盘依靠 NAND 闪存芯片进行数据存储。NAND 芯片是非易失性存储设备,在断电后仍能存储数据。当固态硬盘控制器需要存储或检索数据时,它必须向 NAND 闪存芯片写入或从其读取。

错误检测与修复

当数据通过固态硬盘控制器从主机 PC 移动到 NAND 存储时,固态硬盘必须保持数据的完整性。在数据实际写入 NAND 闪存存储之前,从主机到固态硬盘的数据传输常常被称作“动态数据”或“传输中的数据”。固态硬盘控制器采用错误修复技术(称作纠错代码 (ECC)),可以检测和修复会影响此路径中数据的绝大多数错误。对于每个写入的数据块,闪存芯片都融入了额外的错误修复信息;此信息支持固态硬盘控制器在读取数据块时同时修复许多错误。类似于传统硬盘驱动器,NAND 闪存在正常操作过程中也会出现位错误,这可以利用它的 ECC 数据进行实时修复。

在极少数情况下,正在被读取的块中的数据错误无法被修复;固态硬盘将这种情况识别为不可修复的 ECC 错误 (UECC),并将错误报告给主机计算机。固态硬盘被设计为具有极高可靠性。对于客户端固态硬盘,UECC 典型额定值是 10

-15 位读取出现一次,而企业固态硬盘额定值为 10-16 位读取出现一次。根据针对企业固态硬盘和客户端固态硬盘的 JEDEC JEDS218A 和 JESD219 UBER 要求,企业级固态硬盘要求每处理 1 万万亿位 (~1.11 PB) 仅存在 1 位经历 1 次无法修复的位错误,而客户端固态硬盘则是每处理 1 千万亿位 (~0.11 PB) 读取存在 1 位错误。

金士顿闪存盘还在 NAND 闪存设备中采用备用块。这些存储区通常位于驱动器的预留空间 (OP) 内,用户无法访问。如果 NAND 设备在数据块中存在过多错误,此块将被标记为坏块并被弃用,其中一个备用块将投入使用。在这个过程中,必要时会使用 ECC 对此数据进行修复。备用块的使用可以延长固态硬盘的使用寿命和耐久性。