「作者主页」:雪碧有白泡泡
「个人网站」:雪碧的个人网站
「推荐专栏」:
★java一站式服务 ★
★ React从入门到精通★
★前端炫酷代码分享 ★
★ 从0到英雄,vue成神之路★
★ uniapp-从构建到提升★
★ 从0到英雄,vue成神之路★
★ 解决算法,一个专栏就够了★
★ 架构咱们从0说★
★ 数据流通的精妙之道★
★后端进阶之路★
近年来国家大力支持半导体行业,鼓励自主创新,中国SSD技术和产业良性发展,产业链在不断完善,与国际厂商的差距逐渐缩小。但从行业发展趋势来看,SSD相关技术仍有大幅进步的空间,SSD相关技术也确实在不断前进。随着闪存芯片制程工艺的进步、堆叠层数的增加等,SSD面临闪存大页问题、写放大导致的性能问题、3D堆叠导致的可靠性问题等,因此,我们仍需不断攻克核心技术,通过软硬件协同等多种方法提升SSD的性能和寿命,从而满足日益增长的应用需求。
中国在SSD技术方面只有面向国际前沿,加强企业研发和自主创新,才能逐步建立起核心竞争力,并在市场中占据更高份额。
**《深入浅出SSD》第1版在2018年上市,随即成为SSD从业者,包括研究者、设计者、生产者和应用者,了解SSD工作原理和技术的畅销书。**快5年过去了,SSD技术在不断发展,标准也在不断更新,出现了系列新技术或新标准,如可计算存储、ZNS、NVMe协议标准、NVMe over Fabrics、NAND新协议标准等,于是,本书诞生了。**本书在第1版的基础上增加了大量新内容,覆盖面更广。**本书的作者团队依然来自固态存储行业的技术精英,他们有多年经验,秉持专业、通俗和易懂风格著书,相信本书将继续给读者以良好的体验,助力SSD技术和产业发展。
作为经典畅销书的升级版,本书在第1版的基础上新增了大量新知识(如闪存、UFS、测试、文件系统等),并改写或删减了许多过时或不适用的内容,总修改量超过60%。本书由SSD技术社区SSDFans的核心团队成员联合业界、高校SSD方面的专家共同完成,相对于第1版,内容更全面、更新,也更有深度。
本书从产品、技术和应用3个维度展开,全面、详细讲解了SSD的发展历史、产品形态、工作原理、整体架构,以及各个功能模块的原理和使用,从SSD的前端接口协议到FTL算法,再到后端的闪存和纠错,以及测试,本书都有涉及。本书既可以作为一本入门书籍帮读者快速上手工作,也可以作为工具书供读者在需要的时候进行查阅。
核心技术篇:重点介绍了主控内部模块构成和工作原理,闪存的实现原理、实践应用、特性及数据完整性等,FTL的映射管理、磨损均衡、垃圾回收、坏块管理等功能,以及LDPC解编码原理等。
协议篇:从实现原理、实践应用、发展趋势等多个维度对NVMe、PCIe、UFS等进行深度解读,让读者既知其然又知其所以然。
测试篇:详述了与SSD相关的常用测试软件、测试流程、仪器设备、业界认证及专业的测试标准等。
扩展篇:从传统的EXT4文件系统到对闪存更友好的F2FS文件系统都进行了全面解读。
SSDFans 由蛋蛋(段星辉,江波龙首席软件工程师)、阿呆(赵占祥,云岫资本合伙人兼CTO)、Marx(王圣,CNEXLABS 固件开发高级经理)、SSD攻城狮于2014 年创立,他们因共同的梦想和追求走到一起。SSDFans 创立的初衷是普及固态存储相关知识,为祖国的固态存储事业添砖加瓦。SSDFans 是目前国内乃至在世界范围内的华人圈中都颇具影响力的 SSD固态硬盘技术社区。
胡波 毕业于华中科技大学控制系,在固态存储行业从业15年,现就职于Solidigm从事企业级SSD相关工作,曾就职于美光、戴尔、联芸等,负责研发、PM、市场、销售、质量、AE/FAE等工作,涉及的产品有NAND、DRAM、SSD、UFS、控制器等。业余时间热衷写作和分享交流,希望为推动国内固态存储生态和技术发展贡献自己的力量。
石亮 华东师范大学教授/博导,上海市“科技启明星”。研究方向包括存储介质可靠性、存储控制算法、存储文件系统以及全系统软硬件协同技术。在FAST、ATC、MICRO、HPCA等国际顶级会议上发表多篇论文。在存储领域有较高的学术和企业贡献。
岑彪 上海鸾起科技创始人,复旦BI MBA 。曾就职于AMD、Seagate(LSI)、CNEXLABS等公司,当前所在的上海鸾起科技是一家专注于存储产品测试设备开发的科技公司。10余年SSD主控及模组测试经验,是国内较早一批从事SSD研发的工程师,参与过的产品包括SandForce的SATA主控,CNEXLABS PCIe系列主控、DPU等产品。SSD产品测试经验丰富。
我国企业近几年在存储领域发展迅速,在存储技术创新和制造方面的实力越来越强,在这个过程中《深入浅出SSD》在技术普及方面的贡献也是一股推动力。
——蔡华波 江波龙董事长
《深入浅出SSD》第2版对闪存技术原理和发展趋势进行了专业、系统、全面、完整的讲解,必将推动SSD的进一步发展和普及。
——陈 轶 长江存储执行副总裁
《深入浅出SSD》第2版在内容方面进行大幅升级,补充更新了ZNS等新技术和对市场新格局的介绍,强烈推荐大家阅读。
——杨亚飞 博士/大普微电子董事长
我代表得瑞领新祝贺《深入浅出SSD》第2版成功上市,希望这本书能给行业带来更多新关注、新血液、新资源。
——张建涛 得瑞领新董事长
本书最大的价值是帮助你系统而深入地学习SSD技术及知识,是所有固态存储领域的从业者必读书籍。
——康 毅 芯盛智能总裁
本书分析了SSD技术发展的脉络,并全面覆盖了SSD技术栈,真正做到了“深入浅出”,是有志从事SSD行业的工程师的良师益友。
——王 灿 佰维存储CTO
通过阅读本书,相信无论是刚刚进入这一行业的新人,还是久战沙场的老兵都会收获满满。
——张泰乐 忆恒创源CEO
《深入浅出SSD》第2版必将成为数据存储领域不可或缺的参考书。
——张 彤 ScaleFlux首席科学家
SSD形态、协议、访问接口及存内计算等技术的不断演进,驱动了《深入浅出SSD》第2版的上市。希望第2版能够给广大存储从业者、爱好者带来帮助和提高。
——黄 亮 “企业存储技术”微信公众号作者
Contents目 录
赞誉
序1
序2
前言
产品与市场篇
第1章 SSD综述 2
1.1 引子 2
1.2 SSD与HDD 4
1.3 固态存储及SSD技术发展史 7
1.4 SSD基本工作原理 15
1.5 SSD产品核心指标 17
1.5.1 基本信息剖析 18
1.5.2 性能剖析 21
1.5.3 寿命剖析 24
1.5.4 数据可靠性剖析 26
1.5.5 功耗和其他剖析 29
1.5.6 SSD系统兼容性 32
1.6 接口形态 33
1.6.1 2.5in 35
1.6.2 M.2 35
1.6.3 BGA SSD 37
1.6.4 U.2 38
1.6.5 EDSFF 38
第2章 SSD及闪存市场 43
2.1 SSD市场 43
2.1.1 消费级SSD取代HDD 43
2.1.2 SSD和HDD应用场合 45
2.1.3 SSD市场情况 45
2.1.4 国产SSD厂商和产品 46
2.2 闪存市场 57
2.2.1 最新原厂动态 57
2.2.2 闪存发展趋势 72
第3章 专用SSD存储 76
3.1 可计算存储 76
3.1.1 可计算存储的诞生背景 76
3.1.2 可计算存储的应用探索 78
3.1.3 可计算存储的成功案例 84
3.1.4 可计算存储的前景展望 86
3.2 航天存储 87
3.2.1 背景 87
3.2.2 航天存储系统技术现状与
发展趋势 88
核心技术篇
第4章 SSD主控 94
4.1 解读控制器架构 94
4.2 SSD主控厂商 99
4.2.1 SSD主控国际大厂 100
4.2.2 SSD主控国内厂商 103
第5章 NAND闪存 122
5.1 闪存基本原理 122
5.1.1 存储单元及相关操作 122
5.1.2 闪存类型 125
5.1.3 闪存组织结构 128
5.1.4 擦、写、读操作 130
5.1.5 阈值电压分布图 133
5.2 闪存可靠性问题 136
5.2.1 磨损 136
5.2.2 读干扰 137
5.2.3 写干扰和抑制编程干扰 138
5.2.4 数据保持 140
5.2.5 存储单元之间的干扰 141
5.3 数据可靠性问题的解决方案 142
5.4 3个与性能相关的闪存特性 144
5.4.1 多Plane操作 144
5.4.2 缓存读写操作 146
5.4.3 异步Plane操作 147
5.5 3D闪存 148
5.5.1 使用3D技术提高闪存密度 148
5.5.2 3D闪存存储单元 150
5.5.3 3D闪存组织结构 152
5.5.4 3D闪存外围电路架构 154
第6章 FTL详解 156
6.1 FTL综述 156
6.2 映射管理 158
6.2.1 映射的种类 158
6.2.2 映射的基本原理 160
6.2.3 HMB 163
6.2.4 映射表写入 164
6.3 垃圾回收 165
6.3.1 垃圾回收原理 165
6.3.2 写放大 174
6.3.3 垃圾回收实现 176
6.3.4 垃圾回收时机 187
6.4 解除映射关系 187
6.5 磨损均衡 189
6.6 掉电恢复 191
6.7 坏块管理 193
6.7.1 坏块鉴别 194
6.7.2 坏块管理策略 195
6.8 SLC缓存 196
6.8.1 SLC缓存写入策略和分类 196
6.8.2 读写过程 197
6.8.3 数据迁移 198
6.9 读干扰和数据保持 199
第7章 ECC原理 202
7.1 信号和噪声 202
7.2 通信系统模型 203
7.3 纠错编码的基本思想 204
7.3.1 编码距离 205
7.3.2 线性纠错码的基石—奇偶
校验 205
7.3.3 校验矩阵H和生成矩阵G 206
7.4 LDPC原理简介 207
7.4.1 LDPC是什么 207
7.4.2 Tanner图 208
7.5 LDPC解码 209
7.5.1 Bit-f?lipping算法 209
7.5.2 和积信息传播算法 211
7.6 LDPC编码 216
7.7 LDPC纠错码编解码器在SSD
中的应用 217
协 议 篇
第8章 PCIe介绍 222
8.1 从PCIe的速度说起 222
8.2 PCIe拓扑结构 225
8.3 PCIe分层结构 228
8.4 PCIe TLP类型 231
8.5 PCIe TLP结构 234
8.6 PCIe配置和地址空间 239
8.7 TLP的路由 244
8.8 数据链路层 251
8.9 物理层 256
8.10 PCIe重置 259
8.11 PCIe最大有效载荷和最大读
请求 264
8.12 PCIe SSD热插拔 265
8.13 SSD PCIe链路性能损耗分析 266
8.14 PCIe省电模式ASPM 269
8.15 PCIe其他省电模式 272
8.16 PCIe 4.0和5.0介绍 273
8.17 SR-IOV 274
第9章 NVMe介绍 277
9.1 AHCI到NVMe 277
9.2 NVMe综述 279
9.3 吉祥三宝:SQ、CQ和DB 283
9.4 寻址双雄:PRP和SGL 289
9.5 Trace分析 295
9.6 端到端数据保护 299
9.7 Namespace 303
9.8 NVMe动态电源管理 308
9.9 NVMe over Fabrics 312
9.9.1 概述 314
9.9.2 NVMe over RDMA概述 318
9.9.3 NVMe over TCP概述 322
9.9.4 案例解读 325
9.9.5 全闪存阵列 334
9.10 ZNS简介 347
9.10.1 从Open-Channel说起 347
9.10.2 ZNS的核心概念 350
9.10.3 ZNS中的核心命令 354
9.10.4 ZNS的优势 356
9.10.5 ZNS SSD应用场景和软件
生态 356
9.11 CMB和HMB简介 358
9.11.1 CMB简介 358
9.11.2 HMB简介 358
9.12 Key Value命令集简介 359
9.12.1 Key Value存储架构 359
9.12.2 NVMe Key Value命令集 361
第10章 UFS介绍 363
10.1 UFS简介 363
10.2 UFS协议栈 368
10.2.1 应用层 369
10.2.2 传输层 371
10.2.3 互联层 371
10.3 UPIU 373
10.3.1 UPIU事务 374
10.3.2 UPIU格式 377
10.4 逻辑单元 379
10.5 RPMB 381
10.6 UFS低功耗简介 386
10.7 WriteBooster 388
10.8 HPB 390
测 试 篇
第11章 SSD测试 394
11.1 初始SSD测试 394
11.1.1 协议验证测试 394
11.1.2 系统应用测试 395
11.1.3 SSD的主要测试内容 395
11.2 SSD常规性能测试 398
11.2.1 消费级SSD性能测试 399
11.2.2 企业级SSD性能测试 400
11.2.3 SNIA测试 406
11.3 FTL功能模块测试 412
11.3.1 写放大测试 412
11.3.2 垃圾回收测试 413
11.3.3 磨损均衡测试 415
11.4 掉电恢复测试 416
11.4.1 SSD掉电恢复测试 416
11.4.2 整机掉电测试 417
11.5 数据完整性测试 418
11.6 回归测试 419
11.7 DevSlp测试 420
11.8 PCISIG测试 422
11.9 耐久度测试 424
11.10 验证与确认 429
11.11 测试设备与仪器 430
11.11.1 仿真器 430
11.11.2 PCIe协议分析仪 431
11.11.3 Jammer 438
11.11.4 测试平台eBird介绍 439
11.11.5 Gen 4&5 NVMe SSD研发
测试工具 442
11.11.6 NVMe SSD热插拔、掉电、
电压拉偏、功耗测试、
边带信号测试 443
11.11.7 NAND闪存测试工具 447
11.11.8 SSD存储开放实验室
介绍 447
扩 展 篇
第12章 闪存文件系统 452
12.1 EXT4文件系统 452
12.1.1 EXT4的发展历史 452
12.1.2 EXT4的物理结构 455
12.1.3 EXT4的内存结构 457
12.1.4 EXT4的容量扩展:范围
映射 462
12.1.5 EXT4的分配策略 464
12.1.6 EXT4的可靠性 465
12.1.7 EXT4的局限性 465
12.2 F2FS文件系统 466
12.2.1 F2FS磁盘布局 466
12.2.2 F2FS中的重要算法 470
12.2.3 F2FS特点总结 473
12.2.4 F2FS最新进展 474