FDP(Flexible Data Placement)— 灵活数据放置
FDPFlexible Data Placement— 灵活数据放置 什么是 FDPFDPFlexible Data Placement是 NVMe 2.0 引入的最新特性允许主机精确控制数据写入 NAND 的物理位置从而从根本上降低写放大WAF提升 SSD 寿命与性能。 简单说FDP 让主机告诉 SSD “这批数据放一起那批数据放另一边”——SSD 不再需要盲目猜测数据的生命周期。 FDP 解决什么问题回顾 WAF 产生的根源传统 SSD 的困境 主机混合写入热数据 冷数据 → 同一个 Block ↓ 热数据频繁更新 → 该 Block 变脏 ↓ GC 触发搬移冷数据其实根本没必要动它 ↓ WAF 升高 寿命白白消耗 延迟抖动 根本原因SSD 不知道哪些数据生命周期相似 FDP vs 传统方案对比方案主机控制粒度WAF 改善实现复杂度传统 NVMe❌ 无控制基准简单ZNSZone 级粗粒度显著高需重写应用FDPPlacement Handle 级细粒度极显著中等兼容现有接口Multi-streamStream 级已废弃有限中等FDP 是 ZNS 和传统 NVMe 之间的黄金中间路线——改善效果接近 ZNS但对应用改动远小于 ZNS。⚙️ FDP 核心概念1️⃣ Reclaim UnitRU回收单元FDP 将 NAND 空间划分为多个 RU 每个 RU ≈ 一个或多个 NAND Block RU 是 GC 的最小回收单位2️⃣ Placement HandlePH放置句柄主机写入时携带 PH 标签 相同 PH 的数据 → 写入同一批 RU 不同 PH 的数据 → 写入不同 RU物理隔离3️⃣ Reclaim GroupRG回收组多个 RU 组成一个 RG 每个 PH 对应一个 RG 主机通过分配不同 PH 实现数据隔离 FDP 数据隔离示意没有 FDP混合存放 Block A: [热数据1][冷数据1][热数据2][冷数据2] Block B: [热数据3][冷数据3][热数据4][冷数据4] GC时必须搬移冷数据 → WAF 高 ───────────────────────────────────────────── 有 FDP按生命周期隔离 PH0热数据区: [热数据1][热数据2][热数据3][热数据4] PH1冷数据区: [冷数据1][冷数据2][冷数据3][冷数据4] GC时热数据区整块回收冷数据纹丝不动 → WAF≈1 ️ FDP 在数据库中的应用以RocksDB为例最典型的受益者RocksDB LSM-Tree 数据分层 Level 0最热频繁 Compaction → PH 0 Level 1 → PH 1 Level 2 → PH 2 Level 3最冷极少变动 → PH 3 WAL顺序写日志 → PH 4 效果 ├── 不同 Level 数据物理隔离 ├── Compaction 只影响对应 Level 的 RU ├── WAF 从 ~3.0 降至 ~1.2 └── P99 延迟降低 40% FDP 实测效果业界数据指标传统 NVMeFDP 优化后改善幅度WAF2.5 ~ 4.01.1 ~ 1.5↓ 60%SSD 寿命基准↑ 2~3x大幅延长P99 写延迟基准↓ 30~50%显著改善吞吐量稳定性波动较大极稳定明显改善️ FDP 使用示例# 检查设备是否支持 FDPnvme fdp status /dev/nvme0n1# 查看可用的 Placement Handlenvme fdp usage /dev/nvme0n1# 使用 io_uring 携带 FDP 标签写入伪代码struct io_uring_sqe sqe{.opcodeIORING_OP_WRITE, .fdfd, .addrbuf, .lenlen, .offoffset, .ioprioIORING_RECFSUPD_IPI(placement_handle)// 指定 PH};# RocksDB 开启 FDP 支持OPTIONS: use_fdptruefdp_placement_handles[0,1,2,3,4] FDP vs ZNS如何选择选 ZNS 的场景 ├── 应用天然顺序写日志、对象存储 ├── 愿意重写存储层以获得极致 WAF └── 追求最低硬件成本DRAM 用量最少 选 FDP 的场景 ├── 现有应用改动成本高数据库、文件系统 ├── 需要随机写支持 ├── 想快速获得 WAF 改善而不重构系统 └── 生产环境平滑迁移 两者共存 FDP 和 ZNS 并不互斥 未来 SSD 可能同时支持两种模式 按工作负载特性灵活选择 一句话总结FDP 是 SSD 与软件握手的新方式——主机不再把数据随手一扔而是告诉 SSD 每笔数据的归属让 GC 变得精准高效。这是继 ZNS 之后存储软硬件协同优化的又一次重要突破。

相关新闻

免费开源RPA工具OpenRPA:企业级流程自动化完整指南

免费开源RPA工具OpenRPA:企业级流程自动化完整指南

免费开源RPA工具OpenRPA:企业级流程自动化完整指南 【免费下载链接】openrpa Free Open Source Enterprise Grade RPA 项目地址: https://gitcode.com/gh_mirrors/op/openrpa 你是否每天被重复的点击、复制粘贴和数据录入工作所困扰?是否渴望将宝…

2026/11/9 9:49:46 阅读更多 →
09-02-YooAsset生态-Unity小游戏平台适配

09-02-YooAsset生态-Unity小游戏平台适配

生态-小游戏平台适配 篇章:09-生态篇-集成与协同 状态:已完成 阅读时间:约 25 分钟 一、引言 1.1 本章在系列中的定位 小游戏(Mini Game)平台是 Unity 资源的最严峻考验:微信小游戏首包 4MB,抖…

2026/10/31 16:37:01 阅读更多 →
AlienFX Tools终极指南:告别臃肿AWCC,打造轻量级Alienware控制中心

AlienFX Tools终极指南:告别臃肿AWCC,打造轻量级Alienware控制中心

AlienFX Tools终极指南:告别臃肿AWCC,打造轻量级Alienware控制中心 【免费下载链接】alienfx-tools Alienware systems lights, fans, and power control tools and apps 项目地址: https://gitcode.com/gh_mirrors/al/alienfx-tools 还在为Alien…

2026/11/7 19:43:27 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/12 5:00:00 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/12 5:13:20 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/12 5:13:20 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/12 5:13:20 阅读更多 →

日新闻

周新闻

月新闻