一、数据放置技术背景
- 传统NVMe SSD的技术局限性:随着企业级应用对存储性能和可靠性的要求提升,普通SSD在写放大系数和存储寿命等方面逐渐显现技术瓶颈。写放大问题不仅加速NAND存储单元磨损老化,缩短SSD寿命,还会导致性能抖动,影响存储系统稳定性。
- 数据放置技术的发展:为解决普通SSD的技术瓶颈,业界提出了主机端数据放置技术,将数据管理决策权从固件转移到主机端,实现更高效、更灵活的数据管理,优化NAND利用率和系统性能。
- 数据放置方案的探索:
- Open-Channel SSD:由主机端实现地址映射和GC管理,将SSD划分为多个顺序写入的Zone,主机端需按顺序写入数据,避免随机写入导致的GC开销。优势是主机端可以针对特定工作负载优化数据分布,显著降低写放大;缺点是开发复杂度高,软件生态成熟度不够,灵活性受限。
- ZNS SSD:将SSD划分为多个顺序写入的Zone,主机端需按顺序写入数据,避免随机写入导致的GC开销。优势是通过顺序写入减少NAND擦除操作,NVMe规范2.0提供了ZNS标准化接口;缺点是开发复杂度高,软件生态成熟度不够,灵活性受限。
- FDP的创新突破:为弥补Open-Channel SSD和ZNSSSD的不足,NVMExpress®于2022年批准了技术提案TP4146aFlexibleDataPlacement(FDP),定义了一种新型数据放置方案。FDP的核心创新点包括简化生态集成和向后兼容特性。
二、FDP规范概述
- FDP的新概念:
- 回收单元(ReclaimUnit):主机端可写入的一组逻辑块,通常与NAND上的block或者superblock相对应。
- 回收单元句柄(ReclaimUnitHandle):负责数据分类管理和缓冲写入ReclaimUnit中的数据的功能。
- 回收组(ReclaimGroup):由多个ReclaimUnit组成的逻辑集合体,支持在多应用、多租户环境中,通过为不同业务场景配置独立的ReclaimGroup,可实现在SSD内部构建数据隔离机制。
- 放置句柄(PlacementHandle):创建命名空间时,主机端配置允许该命名空间访问的ReclaimGroup和ReclaimUnitHandle列表。
- 数据放置指令(DataPlacementDirective):主机端发送写命令时,通过DirectiveSpecific(DSPEC)字段来指定ReclaimUnitHandle和ReclaimGroup,二者组合唯一确定一个ReclaimUnit。
- 持久性隔离(PersistentlyIsolated)和初始隔离(InitiallyIsolated):是ReclaimUnitHandle定义的两种不同隔离策略。
- 信息查询机制:
- FDP配置信息:包括FDP功能属性、支持的命名空间数量、回收组数量、回收单元句柄数量、回收单元大小等。
- ReclaimUnitHandle使用信息:包括PID与RUH的映射关系,RUH指向的RU的回收单元剩余写入量(RUAMW)。
- FDP统计信息:包括主机端写入的总字节数(HBMW)、写入介质的总字节数(MBMW)、被擦除的总字节数(MBE)。
- FDP事件信息:包括主机端事件和控制器事件,如ReclaimUnitNotFullyWrittenToCapacity、ReclaimUnitTimeLimitExceeded、MediaReallocated等。
- FDP的Linux软件生态:
- I/O路径支持:包括内核透传接口、块设备接口、文件系统等。
- 应用程序支持:包括FIO、nvme-cli、QEMU等。
三、FDPSSD测试
- 测试环境:硬件要求包括支持NVMe2.0及以上协议和FDP功能的SSD,容量建议≥2TB;软件要求包括支持Linux的操作系统,Linux内核为6.2及以上版本,测试工具为nvme-cli(v2.4及以上版本),fio(v3.34及以上版本)。
- 测试项目:
- 功能测试:包括查询FDP功能支持、开启/关闭FDP功能、配置/查询RUH、配置/查询Events、写操作绑定RUH和主动切换RUH等。
- 性能测试:验证FDPSSD在不同PID数量下的读写性能一致性,包括不同PID数量的顺序读写性能一致性测试、不同PID数量的随机读写性能一致性测试、多命名空间并发性能一致性测试、多设备并发性能一致性测试等。
- 稳定性测试:验证FDPSSD在高负载下长时间运行、电源异常及热插拔等场景下的系统稳定性、数据完整性和功能可靠性,包括压力测试、重启测试、热插拔测试等。
- 兼容性测试:验证FDPSSD与服务器硬件的兼容性,以及与软件栈的互操作性,包括传统软件栈兼容性测试、FDP软件栈兼容性测试、服务器上的基本信息识别测试等。
- 写放大测试:验证FDPSSD在不同工作负载下放置不同类型的数据,对写放大系数(WAF)的优化效果,包括基于裸盘的写放大测试、基于内核文件系统的写放大测试等。
四、发展与展望
FDP技术作为SSD领域的一项重大创新,已得到行业领先厂商的广泛关注与应用。FDP或将成为下一代数据中心的企业级SSD的主流标准。随着超大规模数据中心和AI驱动的存储需求增长,推动存储行业向更高性能,更低成本的方向发展。