问题与挑战
TLC和QLC 3D NAND技术需要LDPC纠错来应对数千次编程/擦除周期。LDPC通过软解码实现最佳纠错性能,但该方法需要多次读取同一内存位置(读冗余),这不仅降低读取带宽,还影响服务质量(QoS),在需要高数据价值环境中的SSD非响应时间不可接受。
QoS依赖性
QoS依赖于SSD控制器、硬件、闪存和错误恢复流程。硬解码(HD)和软解码(SD)流程中,软解码通过读冗余影响QoS。
系统特性与测试
- SSD-NAND集成特性测试:通过NVMe SSD控制器进行真实闪存特性测试,包括耐久性、保持性(在线/离线)、RBER测量和机架级测试。
- LDPC特性测试:使用FPGA实现Microchip ASIC的硬/软LDPC,结合真实闪存通道进行FER与BER计算、解码性能计算和机架级仿真。
全系统级协同模拟
- SSD模拟器架构:包括用户应用、Web应用和文件系统,通过Qemu模拟真实主机工作负载。
- 实验设置:SSDExplorer接收来自特性的数据(tRead、tProg、tErase、RBER和LDPC硬/软解码性能),模拟配置为16通道、每通道8个芯片、PCIe Gen3x4(NVMe),使用真实主机工作负载和NAND闪存寿命结束状态,错误恢复流程为硬解码失败时切换到软解码(1位)。
软读激活方式
软读可通过两种方式管理:
- SSD主处理器(FW管理)。
- 闪存通道处理器(本地管理),需SSD控制器设计优化。
实验结果
- 随机读写测试:50%-50% 4kBytes随机读写和100% 4kBytes随机读取。
结论
- TLC和QLC 3D NAND技术需要LDPC纠错。
- 软解码虽提升纠错性能,但通过读冗余影响QoS。
- 通过SSD控制器特定设计可缓解软读和软解码的影响。
- 若软读由SSD控制器内的闪存通道处理器发起,QoS可显著提升。