您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[开放数据中心标准推进委员会]:FDP SSD 测试白皮书 - 发现报告

FDP SSD 测试白皮书

AI智能总结
查看更多
FDP SSD 测试白皮书

版权声明 ODCC(开放数据中心委员会)发布的各项成果,受《著作权法》保护,编制单位共同享有著作权。 转载、摘编或利用其它方式使用ODCC成果中的文字或者观点的,应注明来源:“开放数据中心委员会ODCC”。 对于未经著作权人书面同意而实施的剽窃、复制、修改、销售、改编、汇编和翻译出版等侵权行为,ODCC及有关单位将追究其法律责任,感谢各单位的配合与支持。 编写团队 项目经理: 齐辉三星(中国)半导体有限公司工作组长: 三星电子三星电子 三星(中国)半导体有限公司三星(中国)半导体有限公司三星(中国)半导体有限公司三星(中国)半导体有限公司三星(中国)半导体有限公司三星(中国)半导体有限公司三星(中国)半导体有限公司三星(中国)半导体有限公司 王丽翠上海三星半导体有限公司北京分公司董丽娟上海三星半导体有限公司北京分公司寇心宇上海三星半导体有限公司北京分公司梁志强上海三星半导体有限公司北京分公司王鼎上海三星半导体有限公司北京分公司金正镐上海三星半导体有限公司深圳分公司李思豪上海三星半导体有限公司深圳分公司赵凯畅快算信息产业(北京)有限公司杜锦龙畅快算信息产业(北京)有限公司韩港霄深圳大普微电子股份有限公司曹仲深圳大普微电子股份有限公司李根深圳大普微电子股份有限公司 前言 FlexibleDataPlacement(FDP)作为一种新的数据放置技术,通过主机端与存储设备协同工作,有效突破了普通SSD在写放大系数及存储寿命等指标上逐渐显露的技术瓶颈。然而,FDPSSD的设计目标,使用方法和应用场景与普通SSD存在差异,现有SSD测试框架无法全面覆盖其特性验证需求。因此,我们针对FDPSSD的核心技术特性,编写了专门的测试白皮书。本白皮书作为普通SSD测试框架的扩展,旨在通过系统性的测试,全面评估FDPSSD的功能、性能和可靠性,为存储系统设计者、企业用户及研究人员提供FDPSSD的技术验证依据。 通过本白皮书,我们期望推动存储技术向更高能效、更长寿命和更智能化的方向发展,为下一代存储架构的创新奠定基础。 目录 一、数据放置技术背景...............................................................................................1(一)传统NVMeSSD的技术落差...................................................................1(二)数据放置技术的发展................................................................................1二、FDP规范概述.......................................................................................................4(一)FDP的新概念............................................................................................4(二)信息查询机制............................................................................................5(三)FDP的Linux软件生态.............................................................................8三、FDPSSD测试.....................................................................................................11(一)测试环境...................................................................................................11(二)测试项目...................................................................................................11四、发展与展望.........................................................................................................30 图目录 图1数据放置技术发展史....................................................................................................1图2 FDP内部资源结构........................................................................................................4图3 FDPSSD的Linux软件生态图..................................................................................10 表目录 表1数据放置方案的对比.....................................................................................................2表2静态配置信息说明.........................................................................................................6表3 FDP统计信息说明.........................................................................................................7表4 FDP事件信息说明.........................................................................................................7 缩写与术语 参考文献 一、数据放置技术背景 (一)传统NVMeSSD的技术落差 随着企业级应用场景(如云计算、AI训练、实时数据库)对存储性能和可靠性要求的不断提升,普通SSD逐渐显现局限性。 普通SSD采用控制器主导的数据放置机制,其对主机端的数据类型缺乏感知能力,导致不同类型的数据混合存储在同一个物理闪存块中。这种数据布局策略不仅降低垃圾回收(GarbageCollection,GC)效率,迫使控制器频繁执行数据迁移操作,还会导致严重的写入放大(WriteAmplification,WA)问题。写放大一方面会显著加速NAND存储单元的磨损老化并缩短SSD寿命,另一方面会导致性能抖动从而影响存储系统的稳定性与服务质量(QoS)。上述问题已构成制约SSD性能和耐久性提升的技术障碍,更是难以满足企业级应用对存储系统高性能和高稳定性的要求。 (二)数据放置技术的发展 针对普通SSD在写放大和性能方面的技术瓶颈,业界提出了主机端数据放置技术:将数据管理的决策权从固件转移到主机端。 该技术通过增强主机与存储设备之间的协同机制,让主机端直接参与数据在SSD中的放置,实现更高效、更灵活的数据管理,从而优化NAND利用率和系统性能。 1.数据放置方案的探索 2.FDP的创新突破 为弥补Open-ChannelSSD和ZNSSSD的不足,NVMExpress®于2022年批准了技术提案TP4146aFlexibleDataPlacement(FDP),定义了一种新型数据放置方案(2024年合入NVMe规范2.1中)。 FDP的核心创新点包括: (1)简化生态集成 FDP命令集是基于NVMe标准协议命令集进行扩展,应用程序仅需在现有软件栈基础上进行最小化适配,即可使用FDP特性,不仅显著降低了系统适配的复杂性,更有效规避了生态迁移的高昂成本。在软件架构层面,FDP通过提供标准化API接口,使主机端可以直接使用FDP功能,降低了开发复杂度,加速了新技术的落地与普及。 (2)向后兼容特性 在传统软件栈中(未适配FDP特性),FDPSSD可被当做普通SSD使用,通过标准NVMe协议与主机端交互,当前软件栈无需任何修改即可无缝适配。在已经支持FDP特性的软件栈中,同样能兼容普通SSD,确保了系统的互操作性。 二、FDP规范概述 (一)FDP的新概念 为实现主机端和存储设备的深度协同工作,FDP命令集引入了以下新概念: 回收单元(ReclaimUnit):主机端可写入的一组逻辑块,通常与NAND上的block或者superblock相对应。ReclaimUnit不直接暴露给主机端,而是通过向主机端公开的指向ReclaimUnit的回收单元句柄(ReclaimUnitHandle)实现对ReclaimUnit的间接访问与管理。 回收单元句柄(ReclaimUnitHandle):负责数据分类管理和缓冲写入ReclaimUnit中的数据的功能。每个ReclaimUnitHandle指向一 个ReclaimUnit,不同类型的数据通过不同的ReclaimUnitHandle,被放置在相应的ReclaimUnit中从而实现数据分流。 回收组(ReclaimGroup):由多个ReclaimUnit组成的逻辑集合体。支持在多应用、多租户环境中,通过为不同业务场景配置独立的ReclaimGroup,可实现在SSD内部构建数据隔离机制。 放置句柄(PlacementHandle):创建命名空间时,主机端配置允许该命名空间访问的ReclaimGroup和ReclaimUnitHandle列表。PlacementHandle是命名空间中用于标识可访问的该列表元素的索引号,明确数据访问的资源范围。 数据放置指令(DataPlacementDirective):主机端发送写命令时,通过DirectiveSpecific(DSPEC)字段来指定ReclaimUnitHandle和ReclaimGroup,二者组合唯一确定一个ReclaimUnit。 持久性隔离(PersistentlyIsolated)和初始隔离(InitiallyIsolated):是ReclaimUnitHandle定义的两种不同隔离策略。使用PersistentlyIsolatedRUH写入的数据会始终与其他ReclaimUnitHandle写入的数据保持隔离,在垃圾回收过程中,其所属的ReclaimUnit不会与其它ReclaimUnitHandle写入的数据混合。而使用InitiallyIsolatedRUH写入的数据仅在初始阶段与其它ReclaimUnitHandle写入的数据保持隔离,在垃圾回收过程中,不同ReclaimUnitHandle写入的数据可能被混合到同一个ReclaimUnit中。 (二)信息查询机制 FDP规范规定了可供主机端使用的Admin命令集。主机端可以 基于EnduranceGroup查询FDP的盘内信息,包括FDP配置信息(Configurations)、ReclaimUnitHandle使用信息、FDP统计信息(Statistics)和FDP