《深入浅出SSD》:固态存储核心技术、原理与实战

目录

前言 

内容简介 

作者简介 

名人推荐

本书目录

了解更多 

结语 


作者简介: 懒大王敲代码,计算机专业应届生

今天给大家聊聊《深入浅出SSD》这本书,希望大家能觉得实用!
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 


前言 

近年来国家大力支持半导体行业,鼓励自主创新,中国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算法,再到后端的闪存和纠错,以及测试,本书都有涉及。本书既可以作为一本入门书籍帮读者快速上手工作,也可以作为工具书供读者在需要的时候进行查阅。

  • 产品市场篇:介绍了SSD与HDD的比较、SSD的发展历史及产品形态,固态存储市场、NAND原厂动态及闪存发展趋势,以及可计算存储和航天存储产品等。

  • 核心技术篇:重点介绍了主控内部模块构成和工作原理,闪存的实现原理、实践应用、特性及数据完整性等,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

了解更多 

结语 

关于《深入浅出SSD》,懒大王就先分享到这里了,如果你认为这篇文章对你有帮助,请给懒大王点个赞点个关注吧,如果发现什么问题,欢迎评论区留言!!💕💕 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/237680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

助力智能车辆检测计数,基于官方YOLOv8全系列[n/s/m/l/x]开发构建道路交通场景下不同参数量级车流检测计数系统

在很多道路交通卡口都有对车流量的统计计算需要,有时候一些特殊时段、特殊节日等时间下对于车流的监测预警更为重要,恶劣特殊天气下的提早监测、预警、限流对于保证乘客、驾驶员的安全是非常重要的措施,本文的主要目的就是想要开发构建道路交…

2 Pandas之Series

Pandas数据结构简介 Pandas可以处理以下三种数据: SeriesDataFramePanel 这些数据建立在NumPy上,故可以快速运行。 纬度描述 更好的理解这些数据结构的方式是将高维数据看作是低维数据的容器。例如,DataFrame是Series的容器,P…

最新ChatGPT网站系统源码+AI绘画系统+支持GPT语音对话+详细图文搭建教程/支持GPT4.0/H5端系统/文档知识库

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

python编程(1)之通用引脚GPIO使用

在之前的章节中,小编带领大家学习了:如何构建esp32的python开发环境-CSDN博客 今天小编带领大家开始学习python编程的第一节,通用引脚。esp32c3核心板是一个高度集成,功能丰富的模块,来看下他的功能分布: 我…

GraphPad Prism 10 for Mac v10.0.0.3 安装教程

GraphPad Prism GraphPad Prism是一款非常专业强大的科研医学生物数据处理绘图软件,它可以将科学图形、综合曲线拟合(非线性回归)、可理解的统计数据、数据组织结合在一起,除了最基本的数据统计分析外,还能自动生成统…

统信UOS|DNS server|04-添加主域名解析

原文链接:统信UOS|DNS server|04-添加主域名解析 hello,大家好啊!继我们在之前的文章中成功部署了测试用的HTTP服务器、搭建了DNS解析服务器,并添加了子域名解析之后,今天我们将继续我们的DNS域…

VSCode安装PYQT5

安装PYQT5 pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple 获得Python环境位置 查看函数库安装位置 pip show 函数库名 通过查询函数库,了解到python安装位置为 C:\User…

力扣题:子序列-12.29

力扣题-12.29 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:522. 最长特殊序列 II 解题思想:首先将字符串列表按长度进行降序,然后对每个字符串进行判断是否是独有的子序列,因为短的字串可能是长的字串的子序…

解决vue2项目 el-dialog弹窗不显示

初始写法 使用了v-model 弹窗不显示 <el-dialog v-model"dialogVisible" title"Popup Content" :width"dialogWidth" close"handleCloseDialog"><p>{{ selectedItemContent }}</p></el-dialog> 将v-model改…

2023.12.19 关于 Redis 通用全局命令

目录 引言 Redis 全局命令 SET & GET KEYS EXISTS DEL EXPIRE TTL TYPE redis 引入定时器高效处理过期 key 基于优先级队列方式 基于时间轮方式 引言 Redis 是根据键值对的方式存储数据的必须要进入 redis-cli 客户端程序 才能输入 redis 命令 Redis 全局命令 R…

【藏经阁一起读】(80)__《2023龙蜥社区白皮书》

【藏经阁一起读】&#xff08;80&#xff09;__《2023龙蜥社区白皮书》 2023龙蜥社区白皮书 作者&#xff1a; 小龙 发布时间&#xff1a;2023-11-15 章节数&#xff1a;79 内容简介&#xff1a; 从解决CentOS停服的问题出发为广大用户的业务连续性提供了坚定的保障&#xf…

C# 使用MSTest进行单元测试

目录 写在前面 代码实现 执行结果 写在前面 MSTest是微软官方提供的.NET平台下的单元测试框架&#xff1b;可使用DataRow属性来指定数据&#xff0c;驱动测试用例所用到的值&#xff0c;连续对每个数据化进行运行测试&#xff0c;也可以使用DynamicData 属性来指定数据&…

用友U8+CRM help2 任意文件读取漏洞复现

0x01 产品简介 用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件&#xff0c;旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。 0x02 漏洞概述 用友 U8 CRM客户关系管理系统 help2接口处存在任意文件读取漏洞&#xff0c;攻击者通过漏洞可以获取到服…

RK3568平台 并发与竞争控制机制总结

一.并发与竞争机制总结 二.原子操作 “原子”是化学世界中不可再分的最小微粒&#xff0c;一切物质都由原子组成。在Linux 内核中的原子操作可以理解为“不可被拆分的操作”&#xff0c;就是不能被更高等级中断抢夺优先的操作。在C语言中可以使用以下代码对一个整形变量赋值。…

C#文件操作(二)

一、前言 文章的续作前文是&#xff1a; C#文件操作&#xff08;一&#xff09;-CSDN博客https://blog.csdn.net/qq_71897293/article/details/135117922?spm1001.2014.3001.5501 二、流 流是序列化设备的抽象表示序列化设备可以线性方式储存数据并可按照同样的方式访问一次…

IgH调试注意事项

1&#xff0c;不要在虚拟机测试&#xff0c;否则IgH无法收发数据包 现象&#xff1a;虚拟机中运行IgH master并绑定网卡后&#xff0c;主站由ORPHANED状态转换成IDLE状态&#xff0c;但无法收发数据报。 这是因为虚拟机用的是虚拟网卡&#xff0c;需通过iptables将数据包到转…

【前端基础】script引入资源脚本加载失败解决方案(重新加载获取备用资源)

问题描述 现在假设有一个script资源加载失败&#xff0c;代码如下 <!DOCTYPE html> <html> <head><title>script 资源加载失败</title> </head> <body><script src"http:hdh.sdas.asdas/1.js"></script> &l…

openGuass:极简版安装

目录 一、openGauss简介 二、初始化安装环境 1.创建安装用户 2.修改文件句柄设置 ​3.修改SEM内核参数 4.关闭防火墙 6.禁用SELINUX 7.安装依赖软件 8.重启服务器 三、安装数据库 1.下载安装包 2.创建安装目录 3.解压安装包 4.执行安装 5.验证安装 四、gsql工具…

【大数据存储与处理】第一次作业

hbase 启动步骤 1、启动 hadoop&#xff0c;master 虚拟机&#xff0c;切换 root 用户&#xff0c;输入终端命令&#xff1a;start-all.sh 2、启动 zookeeper&#xff0c;分别在 master、slave1、slave2 虚拟机终端命令执行&#xff1a;zkServer.sh start 3、启动 hbase&#x…

Tomcat报404问题解决方案大全(包括tomcat可以正常运行但是报404)

文章目录 Tomcat报404问题解决方案大全(包括tomcat可以正常运行但是报404)1、正确的运行页面2、报错404问题分类解决2.1、Tomcat未配置环境变量2.2、IIs访问权限问题2.3、端口占用问题2.4、文件缺少问题解决办法&#xff1a; Tomcat报404问题解决方案大全(包括tomcat可以正常运…