![](https://img-blog.csdnimg.cn/0bb1b6b90c274f818a7b2b97bace1e6a.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
深入理解SSD:固态存储原理与实践
文章平均质量分 93
走进固态硬盘,存储器控制算法,存储系统架构,分析存储系统瓶颈,把握存储发展方向。通过专栏,掌握存储知识,在生活中用好存储产品,在存储系统中利用存储特性,发挥存储性能和寿命。
优惠券已抵扣
余额抵扣
还需支付
¥79.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
元存储
存储浮沉,痴心难舍。
展开
-
[深入理解SSD] 总目录
[深入理解SSD] 总目录原创 2023-11-08 23:47:24 · 1456 阅读 · 5 评论 -
深入理解SSD-序
曾经很迷茫, 没有一本很好的固态存储的导读的书, 以至于我刚入门的时候, 啃完一本英文NAND协议, 再啃一本NVME协议等等。我还有幸有两位前辈带路,即时纠正我理解偏差的地方。原创 2023-03-20 23:59:41 · 863 阅读 · 1 评论 -
[SSD综述1.1] 导论_SSD让开机击败99%的电脑_固态硬盘让开机跑进10s
使用了 SSD 后,开机只要几秒钟:开机,刚转个身回头看,开机助手就已经提示你:本次开机6秒钟,击败全国 99% 的用户。原创 2023-02-25 16:34:32 · 2944 阅读 · 24 评论 -
[SSD综述1.2] 固态硬盘(SSD)和机械硬盘(HDD)区别对比介绍?
作为存储研发人员,从多个角度分析机械硬盘和固态硬盘与速度有关的差别, 深入浅出讲解这些差异为何带来速度的悬殊。拨开迷雾, 去伪存真,再也不担心被客服套路。原创 2022-09-03 00:41:11 · 3367 阅读 · 3 评论 -
[SSD综述1.3] SSD及固态存储技术30年简史
在我们今天看来,SSD已不再是个新鲜事物。这多亏了存储行业的前辈们却摸爬滚打了将近半个世纪,才有了SSD的繁荣, 可惜很多前辈都没有机会看到。所有重大的技术革新都是这样,需要长期的技术积累,一代一代的工程师们默默的投入,最终改变我们的生活。从当年的蒸汽机、电话到后来的集成电路、互联网,以及未来的量子计算机、人工智能,无一不是如此。原创 2023-02-25 23:22:02 · 2557 阅读 · 57 评论 -
[SSD综述 1.4] SSD固态硬盘的结构
SSD 和主控架构简介,SSD主要技术概述原创 2023-02-12 06:30:00 · 6589 阅读 · 58 评论 -
[SSD综述 1.5] SSD 主控和固件核心功能详解(万字)
1 FTL2 预留空间(Over-provisioning)3 Trim4 写入放大(Write amplification)5 垃圾回收(Garbagecollection)6 磨损平衡(Wear leveling)7 闪存多Plane操作8 闪存多Die交错操作9 ECC原创 2023-11-08 22:27:47 · 2680 阅读 · 0 评论 -
[SSD综述1.6] 固态硬盘物理接口SATA、M.2、U.2、PCIe和BGA图文详解_SSD接口形态(Form Factor)
在这场存储革命中,为了实现更快的速度、更多的使用环境、更好的体验,SSD的接口也在不断进化革新,像主流的SSD就有SATA接口、M.2接口、PCIe接口和mSATA接口等。这些常见的接口有什么不同?又适合什么样平台使用呢?原创 2023-03-04 18:14:30 · 1877 阅读 · 0 评论 -
[SSD综述1.7] 固态存储市场发展分析与预测_固态存储技术发展方向(2022to2023)
自2020年疫情爆发以来,远程办公、网上教育、流媒体等等应用引爆对消费电子及云服务的需求增长,全球数字化转型加速,带来了两年的闪存风光时刻。然而,进入2022年,在俄乌冲突、疫情重燃、通胀上升等一系列事件冲击下,全球经济下行风险加剧,对智能手机、PC等科技产品的需求正在快速下降,“低需求高库存”的困境不断发酵,导致供需关系迅速转变。闪存市场哭声一片,遍地哀嚎。很多原厂都断臂求生,裁员不断。中国闪存厂商除了经受市场的冰凉,还要承受美丽国的大棒,生存岌岌可危。存储市场风云突变,明天和意外, 到底哪一个会先来?原创 2023-03-04 22:24:18 · 1962 阅读 · 19 评论 -
[SSD综述 2.1] SSD固态硬盘系统架构设计的博弈
一旦为单个 SSD 建立了一组要求,系统架构师就能够探索各种方法来实现这些要求。 这是一个迭代过程,其中生成、模拟、测试和比较各种解决方案,最终选择一个系统设计进行实施。这个最终的系统设计确定了每个管理功能(寻址、控制、错误处理和可扩展性)的哪些部分将由硬件、固件和软件提供——包括在产品级别和主机的软件驱动程序中等级。原创 2023-01-10 20:10:15 · 4557 阅读 · 128 评论 -
[SSD综述 2.2] 固态硬盘主控核心设计 | SSD性能研究
摘要本文介绍了此类设计选择的分类,并使用跟踪驱动的模拟器和从实际系统中提取的工作负载跟踪分析各种配置的可能性能。我们发现SSD性能和生命周期对工作负载非常敏感,并且通常较高的复杂系统问题出现在存储堆栈中甚至在分布式系统中,与设备固件相关。SSD性能研究点:延长和带宽:读写可以多快随机写会慢永久行:最快多久可以代替传统硬盘Flash块受磨损影响IntroductionSSD设计中出现的许多问题似乎都模仿了以前在存储堆栈中出现的问题。在解决这些难题时,设计选择有相当大的自由度。我们表明以下系统问题与SSD性能有原创 2023-01-10 21:02:32 · 2332 阅读 · 88 评论 -
[SSD综述3.1] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?
选购固态硬盘就像买衣服?一件华丽的衣服, 靠的是什么? 好的布料和好的裁缝。布料是品质的基础,化学纤维的材质和纯棉的材质, 还是纯棉的材质舒服透气。好的裁缝制衣的收口、压线、款型的把握都是炉火纯青。当然再好的衣服, 还要看尺寸是否合身,版型是否符合你的形体, 和你的气质完美匹配。对于固态硬盘的“布料”是什么? 是闪存颗粒。 固态硬盘的“裁缝”是谁呢? 是主控。好的主控的背后还是一个品牌在给质量背书, 固态硬盘是搭载在电脑主板的, 所以要特别注意接口。原创 2023-02-28 18:36:47 · 3893 阅读 · 37 评论 -
[SSD综述 3.2] SSD闪存主控品牌
了解一颗固态硬盘首先要从主控入手,主控对于固态硬盘的影响丝毫不亚于闪存。那么主控芯片对于固态硬盘到底有多重要?下面我们一起来了解主控的地位、功能和运作模式。原创 2023-02-06 22:28:32 · 2618 阅读 · 12 评论 -
[元带你学NVMe协议] ] 插槽接口(M.2 / mSATA / SATA )、总线(PCIE / SATA )、传输协议(NVME / AHCI) 图解
原本想单独讲插槽接口的, 但在网购平台搜索SSD, 发现很多厂商将通道和协议的概念也混在接口概念中,导致大家印象中,M.2 是接口,SATA 也是接口,PCIE 也是接口, NVME 也是接口。。。傻傻分不清。所以我这里一起讲清插槽接口、总线、传输协议,一站解决大家的疑惑。原创 2022-09-16 00:17:55 · 18810 阅读 · 3 评论 -
[元带你学NVMe协议] PCIE 相对 SATA 的 4 大优势详解
在谈到固态硬盘的时候, 总会听说两种固态硬盘, SATA (AHCI 协议) 固态硬盘 和 PCIE(NVME 协议) 固态硬盘. NVME 相对 SATA 有哪些优势呢? 又是什么原因呢?原创 2022-09-08 23:00:14 · 2844 阅读 · 5 评论 -
[元带你学NVMe协议] 你懂 PCIE 和 NVME是如何相依相恋?
有了 PCIE 为啥还要有 NVME?大家 PCIE 和 NVME 的差别很好奇原创 2022-08-29 16:51:33 · 7329 阅读 · 0 评论 -
[元带你学NVMe协议] NVMe 协议基本概念和架构
1. 综述 1.1.1 Namespace 1.1.2 Fused Operations 1.1.3 指令执行顺序 1.1.4 写单元的原子性 1.1.5 元数据 1.1.6 仲裁机制 1.1.7 逻辑块(LB) 1.1.8 Queue Pair 1.1.9 NVM 子系统1.2 NVMe SSD 1.2.1基本架构 1.2.2 NVMe控制器原创 2023-04-16 21:19:11 · 961 阅读 · 0 评论 -
[元带你学NVMe协议] PCIe 和 NVME 寄存器
NVMe(Over PCIe)寄存器主要分为两类,一类是PCIe配置空间寄存器,一类是NVMe控制器相关的寄存器。NVMe离不开PCIe,NVMe SSD是PCIe的endpoint。PCIe是x86平台上一种流行的bus总线,由于其Plug and Play的特性,目前很多外设都通过PCI Bus与Host通信,甚至不少CPU的集成外设都通过PCI Bus连接,如APIC等。原创 2023-04-16 23:15:30 · 1038 阅读 · 1 评论 -
[元带你学NVMe协议] NVMe IO 指令集(NVM 指令集)| Flush 命令
NVMe2.0 定义的三类命令集:管理命令集、IO命令集、Fabrics命令集(管理命令集):用于控制器的管理,如创建/销毁IO提交队列和完成队列。管理命令提交队列只接收管理命令集和Fabrics命令集中的命令。I/O命令集:包括NVM命令集、Key Value命令集和Zoned Namespace命令集。Fabrics命令集:为NVMe-oF设计的,实现建立连接、NVMe带内授权、获取/设置属性等。所有Fabrics命令可以通过Admin SQ提交,部分命令可以通过I/O SQ提交。原创 2023-04-22 20:52:28 · 1252 阅读 · 0 评论 -
[元带你学NVMe协议] NVMe协议的命令
命令由host提交到内存中的SQ队列中,更新TDBxSQ后,NVMe控制器通过DMA的方式将SQ中的命令(怎么取,如何取,取多少,因设计而异)取到控制器缓冲区,执行命令;执行完成后,根据执行状态,组装完成命令,仍然通过DMA的方式将完成命令写入内存CQ的队列中;NVMe控制器通过MSI-X中断方式通知host已完成命令;最后,host处理CQ命令,更新控制器中HDBxCQ,标识着命令真正完成。原创 2023-04-21 22:08:50 · 1105 阅读 · 17 评论 -
[元带你学NVMe协议] NVME 命令队列 SQ/CQ 的奥秘
NVMe(over PCIE) 的速度远超 AHCI(over SATA), 其中一个重要的原因是 NVME 的队列个数远超 AHCI。作为NVME 重点中的重点,本文将浓墨重彩介绍命令队列SQ 和 CQ,这对我们理解host 和 SSD 的工作模式有很大帮助。原创 2022-09-13 11:20:45 · 2906 阅读 · 0 评论 -
[元带你学NVMe协议] NVMe 命令仲裁机制, 如何兼顾效率与公平?
现代高性能ssd能够容纳来自多个租户的并行I/O请求,ssd的带宽和容量的巨大增加使其能够在单个存储设备中为来自多个独立工作负载(或租户)的I/O请求提供服务。因此,SSD性能的公平共享对于在多个应用程序或租户之间提供性能隔离非常重要。在许多比例共享I/O调度器中,基于虚拟时间的公平队列由于其节省工作的特性而成为SSD的一个有吸引力的解决方案。它们可以最大化SSD吞吐量,而每个租户实现的带宽与租户的权重成正比。原创 2023-04-18 00:47:46 · 316 阅读 · 3 评论 -
[元带你学NVME协议] NVME 读一个 IO 是怎么完成的?
Host是如何读取NVMe SSD上数据的?一个读I/O又有多少步操作?“八步。”NVMe协议这样回答。这是个非常底层的问题,其整个流程不仅涉及NVMe协议本身,其中命令和I/O数据传输的机制还与PCIe协议等内容息息相关。理解一个NVMe SSD的I/O处理流程将为SSD使用和优化打下基础。今天我们就走进一个NVMe SSD的读I/O。转载 2023-04-22 22:08:36 · 987 阅读 · 0 评论 -
[元带你学NVMe协议] NVME Reset 详解
NVME Reset 有很多种, 从影响范围分别是 NVME subsystem Level > Controller Level > Queue Level. Controller Level 细分为 5 种, 有的是硬复位, 有的软复位.如果选择正确的 NVME Reset 方式?原创 2022-09-23 19:28:48 · 2412 阅读 · 2 评论 -
[元带你学NVMe协议] 设备自测试操作(NVMe Device Self-test Operations) 详解与实战
SSD为什么要自检? SSD系统在日益变得复杂,有增强掉电保护的备电电容,有使用频率越来越高的DRAM,有堆叠层数越来越高的NAND, NAND结构的复杂对固件的要求也相应的变高,如存储单元里的数据一段时间不读会导致之后可能读不出来或者出现很多的bit翻转等等。而备电电容有老化的风险以及在不同的温度环境下会影响电容的可靠性;DRAM使用不当易出现ECC,甚至是UNC,影响盘的可靠性;NAND的上的冷数据如果不经常性的去读取就可能存在数据丢失的风险。原创 2023-05-17 00:28:35 · 1615 阅读 · 1 评论 -
[元带你学NVMe协议] Nvme 1.4 和 1.3 有什么区别?
全文4000+字, 最新的1.4 版本在2019 年6 月面世,在支持PCIe 4.0 x4之后,顺序读写速度从3500MB/s 左右,翻倍到约7000MB/s 。原创 2023-05-10 00:05:51 · 3680 阅读 · 1 评论 -
[元带你学NVMe协议] NVMe 1.4新特性:首选写入对齐与粒度
NVMe 1.4为固态硬盘提供了一种新能力,它可以向上层操作系统与驱动程序报告首选写入对齐与写入粒度信息。虽然固态硬盘的4K对齐已经广为人知,但大家或许还不知道,当前闪存的一个物理Page大小通常是16KB、一个闪存block的容量更是高达十几兆字节。过小的写入粒度需要固态硬盘进行先读取、再修改、后写入的重复工作,固态硬盘主动报告适合自己的写入粒度和写入对齐指标,有助于软件进行针对性优化,提升性能和效率、降低闪存磨损提升使用寿命。原创 2023-05-13 18:53:11 · 1266 阅读 · 0 评论 -
[元带你学NVMe协议] 端到端NVMe?| NVMe-OF或FC-NVMe
NVMe全称是Nonvolatile Memory Express(非易失性内存标准),在它首次投放市场的时候,许多人认为它只是一个新的、速度更快的SSD。但实际上,NVMe是一种基于性能并从头开始创建新存储协议,它可以使我们能够充分利用SSD和存储类内存(SCM)的速度。原创 2023-04-29 22:19:48 · 1216 阅读 · 2 评论 -
[元带你学NVMe协议] NVMe 1.4新特性:持久存储区域
企业级NVMe固态硬盘自带有大容量的DRAM缓存,并且处于断电保护设计之下。PMR(Persistent Memory Region)空间提供了一种内存级读写速度、断电后数据不会丢失的存储区域。东芝的CM5企业级固态硬盘已经支持这一特性。原创 2023-05-13 18:54:25 · 952 阅读 · 0 评论 -
[元带你学NVMe协议] NVMe1.4 多路径(Multipathing)
前言NVMe1.4 开始支持多路径(Multipathing)➢ 多路径模式SPDK通过相同的NVMe bdev设备名称多次调用bdev_nvme_attach_controller RPC,用户可以在多个不同路径上建立连接到NVMe bdev的同一个NVMe-oF子系统的连接。此外,在连接第二条或更多其它路径时,此 RPC的多路径参数必须设置为“多路径(multipath)”。bdev_nvme_attach_controller RPC每创建一条路径,都会创建一个NVMe-oF控制器。原创 2023-05-15 23:37:40 · 760 阅读 · 0 评论 -
[元带你学NVMe协议] NVMe1.4 IO determinism | NVM Sets | Endurance Group 详解
在NVMe协议Spec 1.4中新增, 主要包含NVM sets和PLM不同的NVM Sets使用的不同的NAND物理资源,而且相互独立。NVMe 2.0也继承了 NVM sets, 本文对 NVM sets 进行解读。PCIE4.0 主流搭载 NVMe 1.4, 可以支持Endurance Group,针对不同的应用场景,划分独立的存储介质、NVM Sets,通过Group将各个单独的存储单元统一管理,以满足最优QoS的需求。让我们拭目以待。原创 2023-05-12 23:52:42 · 871 阅读 · 0 评论 -
[元带你学NVMe协议] NVMe1.4 IO determinism PLM (Predictable Latency Mode) | RRL (Read Recovery Level) 详解
随着SSD的不断发展,SSD系统的峰值性能已经不再是客户追求的主要目标。客户需要性能更加稳定,延时更低的解决方案,NVMe IO determinism的出现将会在这两方面发挥重要作用。NVMe1.4的一个重要的更新就是I/O Determinism,这是因为这项技术可以有效地保障NVMe SSD在复杂的业务环境下的QoS,而且可以提高大容量SSD的利用率。在上篇文章介绍了I/O Determinism的NVM Set,这篇文章则谈I/O Determinism及NVMe SSD的发展。原创 2023-05-13 00:17:43 · 358 阅读 · 0 评论 -
[元带你学NVMe协议] NVME 2.0 新技术解决了什么痛点? 会带来哪些变革?
“速度又快、延迟又低”的性能优势,让NVMe SSD 风光无限,在存储领域成为主角。最新的 NVME 2.0 带来了哪些新技术?这又会对存储领域带来什么样的变革。带着对 NVME 2.0 的好奇心,笔者带你们一起领略。原创 2022-09-07 01:20:39 · 2704 阅读 · 0 评论 -
[元带你学NVMe协议] NVME 2.0 新技术 ZNS 自动分区:减少延迟,提高寿命
前言NVME 2.0 引入新的核心技术 ZNS(Zoned Name Space),标志着 ZNS 技术正式成为了存储行业的标准技术。本文将分享ZNS 基础知识,思考 ZNS 技术如何管理? 探讨ZNS 会带来什么好处?ZNS 技术是什么?讲 ZNS 之前,先要了解下 Name Space 的概念。如果把闪存空间划分成若干个独立的逻辑空间,每个空间逻辑块的地址范围为0到N-1(N是逻辑空间大小),这样划分的每个逻辑空间叫做Name space(下文简称NS)。虽然分成了多个NS,但不同的NS 的使用原创 2022-09-11 00:53:31 · 1940 阅读 · 2 评论 -
[元带你学NVMe协议] ZNS 起源 : 解决传统SSD问题的高性能存储栈设计
ZNS-SSD 出现的起源肯定是因为传统的block interface ssd 也就是 Flash-ssd 有一些无法很好解决的问题原创 2023-04-16 19:28:52 · 646 阅读 · 0 评论 -
[元带你学NVMe协议] ZNS 架构: 解决传统SSD问题的高性能存储栈设计
然而 ZNS 的推出,ZNS 内部的设计本身能够极大的降低SSD 内部的写放大,提升写吞吐,同时少了很多的指令和对LBA的管理操作(erase block的粒度大,减少了 对LBA的需求),ZNS 做了一个非常大胆的挑战,开发了支持文件系统语义的端到端的访问形态的文件系统 Zenfs ,数据的存储绕开像原本 block interface 一样需要庞大的I/O栈,直接与ZNS-SSD 进行交互。同时一个完整的 ZNS设备是支持完整的存储栈,包括底层的块驱动到上层的文件系统都是已经实现好的。原创 2023-04-16 19:32:03 · 2127 阅读 · 9 评论 -
[元带你学NVMe协议] ZNS 架构实现 : 解决传统SSD问题的高性能存储栈设计
2.2 ZNS 的架构实现先看看 支持zone 存储的 SMR HDD 以及 支持 zonefs 的 nvme ssd 的整个存储栈形态其中对于ceph 这样的应用来说 bluestore或者Seastore 这样的后端引擎是直接管理裸设备的,所以不需要文件系统支持。当然如果需要,也可以通过一个内核支持的小型文件系统zonefs 来进行数据访问。原创 2023-04-16 19:34:50 · 1134 阅读 · 0 评论 -
[元带你学NVMe协议] ZNS SSD 性能测试:解决传统SSD问题的高性能存储栈设计
1 性能测试1.1 环境搭建1.2 原始设备的性能1.3 应用测试性能原创 2023-04-16 19:38:36 · 972 阅读 · 0 评论 -
[深入理解NAND Flash (概述篇) ]闪存主控芯片国产进程
目录前言1. 主控芯片技术1.1 主控组成原理1.2 主控技术前沿1.2.1 主控处理器架构1.2.2 主控制程1.2.3 闪存对主控带来的挑战2 国产主控厂商和产品2.1 华澜微(Sage)2.2 国科微(GOKE)2.3 联芸科技 (MAXIO)2.4 得一微电子(YEESTOR)2.5 英韧科技(InnoGrit)2.6 特纳飞 Tenafe前言我给祖国庆个生,来分享下存储芯片国产进展。存储芯片生态包含设计环节和制造封装环节还有品牌营销环节。设计环节是核心技术,包含闪存芯片、闪存主控芯片、缓存原创 2022-10-03 11:44:10 · 928 阅读 · 9 评论 -
[深入理解NAND Flash (颗粒篇) ] 固态硬盘闪存颗粒分类(SLC/MLC/TLC/QLC/PLC)和优缺点
固态硬盘(SSD)依靠卓越的性能,闪电般的速度,成为时下电脑用户的宠儿。很多人听说过固态硬盘,但不知道固态硬盘错综复杂的分类是啥啥啥,本文深入浅出一一分解。原创 2022-09-06 02:10:55 · 6815 阅读 · 50 评论