SSD(Solid State Drive)是一种由固态电子存储芯片阵列构成的存储设备,由控制单元和存储单元组合而成。其接口规范、功能和使用方法与传统硬盘完全一致,外形和尺寸也相同。与传统硬盘相比,SSD提供了更快的读写速度和更高的可靠性。
存储技术严谨
摩尔定律支配下,CPU处理速度越来越快,基于磁介质进行数据存储的磁盘和处理器CPU之间一直存在着棘手的剪刀差性能鸿沟。
进入21世纪,信息爆炸号致数据量成倍增长,硬盘容量也在飙升,单盘容量已可达到TB级别,半导体存储登上了历史的舞台。和传统磁盘存储介质相比,半导体存储介质具有天然的优势,无论在可靠性、性能、功耗等方面都远远超越传统机械磁盘。
存储器存在多种分类方式
存储器的的分类存在多种方式:
- 按照用途/工作方式:可以分为主存储器(内部存储) 和 辅助存储器(外部存储)
- 按照存储介质:将存储器分为光学存储、半导体存储 和 磁性存储三大类,其中半导体存储器目前应用最广、市场规模最大
- 按照存储器的技术原理:存储芯片按照断电后数据是否丢失,可分为RAM(随机访问存储器)和ROM(只读存储器),RAM和ROM相比,RAM在断电以后保存在上面的数据会自动消失,而ROM不会自动消失,可以长时间断电保存。RAM为易失性,常见的有DRAM和SRAM;ROM为非易失性常见的是NAND Flash和NOR Flash.
Flash:闪存主要有NAND和NOR两种类
- 目前性价比最高的存储器闪存(Flash)主要有NOR和NAND两种类型。Flash存储技术是在它之前的EEPROM基础上发展起来的存储器,它跟EEPROM一样,也是使用电学方法来存储电荷的器件,只是EEPROM是使用两个晶体管来构成,而Flash存储都阵列中的存储单元是由一个晶体管组成的。所以Flash存储器在器件集成度、数据容量和功耗低等性能上都比之前的器件有明显的提高。
- NAND和NOR各有所长,应用场景有所分化。NOR Flash由英特尔公司于1988年最初推出,为了提高容量/价格比,东芝公司于1989年推出NAND Flash。两种Flash技术各有优、缺点以及各自适用的场合。NOR结构的特点是芯片内执行(XIP,Execute In Place),应用程序可以直接在Flash内运行,不必再把代码读到系统RAM中,节省时间。而NAND结构的特点能提供极高的单元密度,可以达到高存储密度,并且增加写入和擦除的速度。
Flash:NAND、NOR、EEPROM各自应用场景相对明确
- 从功能来看,NAND Flash、NOR Flash和EEPROM虽同属于非易失性存储器,但三者各有特点,功能和容量差异明显,各自的应用场景相对明确,相互之间不存在明显的替代关系。NAND Flash具有写入和擦除速度快、存储密度高等特点,适宜大容量数据存储。NOR Flash具有读取速度快和芯片内执行(XIP)等特点,多用于中等容量代码存储。NOR Flash芯片内执行这一特点,使得CPU可以直接对NOR Flash进行读取和存储,但NAND Flash则需要RAM配合才能完成程序代码的运行。NOR Flash读取速度快这一特点使得它在运行程序时的优势更加明显,尤其对于开机响应时间、可靠性等具有较高要求的电子设备,NOR Flash已经成为首选。EEPROM具有擦写次数多、数据保存可靠等特点,常应用在低容量存储领域
- 在芯片成本方面,随着容量的增加,单颗芯片的成本变化在三种非易失性存储器芯片之间呈现不同的变化趋势。通常情况下,当单颗容量达到1Gb以上,NAND Flash单颗芯片的成本显著低于NOR Flash;当单颗容量低于1Mb以下,EEPROM单颗芯片的成本显著低于NOR Flash;而当单颗容量介于1Mb~1Gb之间时,NOR Flash单颗芯片的成本则展现出明显的竞争力
Flash:NAND结构介绍
数据存储原理
- NAND采用浮栅晶体管存储数据,其工作原理是利用浮栅上是否储存有电荷或储存电荷的多少来改变晶体管的阈值电压,通过读取到的晶体管阈值电压来实现数据信息的表征
- 每个Cell存储比特数:SLC / MLC / TLC / QLC
内部结构和操作
- 内部组成单元:LUN、Plane、Block、Page、Cell
- 基本操作:编程(Program),读(Read和擦除(Erase)、其中编程和读的基本操作单位是 Page(只能顺序编程),擦除的基本操作单位是 Block
- 写操作本质是向浮栅注入电荷,擦除操作是从浮栅挪走电荷
NAND发展:产业成熟后,并购成为扩张主要手段
- 1984年,东芝跨时代地提出了"闪存”概念,并在三年后根据闪存的概念发明出了全球第一块NAND闪存芯片
- 整个90年代末,受益于手机、数码相机、便携式摄像机、MP3播放器等消费数码产品的爆发,Flash市场规模迅猛提升,英特尔、三星、东芝等厂商互不相让地追逐NAND闪存的制高点
- 进入21世纪,NAND Flash崛起的势头更加迅猛。东芝联手闪迪,英特尔联手美光,抵御三星与东芝的冲击
- 2007年,闪存进入3D时代,英特尔与美光、东芝(铠侠)、SK海力士、三星走在追逐更高密度,更高层数的道路上
- 2010年之后,闪存行业收购事件不断,通过市场博弈和整合并购来巩固优势并弥补短板,NAND Flash领域的玩家数量越来越少。最终,形成了由三星、SK海力士、铠侠、西部数据、美光等巨头为主导的集中型市场
DRAM和Flash分属不同的存储器层次
- DRAM和Flash分属不同的存储器层次,经常在下游应用中搭配使用
- 处理器从内存中读取数据,而内存从闪存中加载数据。DRAM属于易失性存储器,使用电容存储,必须隔一段时间刷新,一旦停正刷新存储的信息就会丢失
- 而Flash属于非易失性的存储,在断电后不会丢失数据,是在ROM的基础上演进而来
- DRAM读写速度比Flash快、成本高、功耗较大、寿命长、结构简单集成度高,Flash的优势在于容量大、成本低
SSD基本架构概述
控制单元
- 主机接口:主机访问SSD的协议和物理接口,常用的SATA、SAS和PCle
- SSD控制器:负责主机到后端介质的读写访问和协议转换,表项管理、数据缓存及校验等
- DRAM:FTL表项和数据的缓存,以提供数据访问性能
SSD架构及原理详细介绍
从计算机系统结构上看,主机经文件系统和底层驱动将数据命令通过接口传达给固态硬盘,数据在固态硬盘内部经FTL(闪存转换层)地址转换后实现在闪存块(NAND)中的写入和读取。其中,固态硬盘所使用的存储介质NAND Flash虽然具有速度快、单位容量大等优势,也存在逻辑和物理地址分离、不能覆写、寿命有限、存在读干扰和坏块等特点,需要通过FTL和固件的其他算法功能包括坏块管理、地址
转换、垃圾回收、磨损均衡等算法和功能对其进行管理优化,以提升固态硬盘整体的性能、更好地满足客户对固态硬盘产品的高质量和性能需求。
固态硬盘基本工作原理
- 主机通过文件系统和驱动系统向固态硬盘发出命令,经固态硬盘处理后由前端接口向主机传输结果和数据。写入时,固态硬盘接受要写入的数据后,FTL利用地址转换功能为待写入的数据分配一个闪存地址,将数据写入到对应位置;读取时流程基本与此相反,由FTL按照地址确认数据在闪存中的位置,获取后返回给主机。
闪存的主要特性及FTL(固件)的相应功能
- 逻辑/物理地址分离:SSD中数据存储的物理位置和逻辑位置不同,需要通过FTL对两个地址进行转换,实现数据的正常读写
- 不能覆写:闪存不能直接覆盖式写入,对于无效数据,需要FTL进行"垃圾回收”,为新写入的数据提供空间
- 寿命上限:闪存块基本元件“浮栅晶体管”的隧道氧化层在使用过程中会逐渐磨损,需要FTL尽可能均衡分配闪存块的使用次数以延长使用寿命
- 读干扰和数据保持:由于半导体在使用中的磨损以及电子的自然流失,存储在SSD中的数据会发生读取出错的现象,需要FTL识别并修正出错的数据
SSD常见分类(场景、接口、介质)
SSD按用途大致划分为消费级、企业级及其他行业级
- SSD按用途大致划分为消费级、企业级及其他行业级(如工业级、数据中心级等)产品,其中消费级和企业级是SSD的主要应用领域分支。与消费级SSD不同,企业级SSD主要应用于互联网、云服务、金融和电信等客户的数据中心
- 在数字经济时代,企业越来越将数据视为一项自身核心资产,对数据安全的重视程度越来越高。固态硬盘作为数据的载体,除了高性能和大容量的需求之外,企业客户还对产品包含使用寿命、稳定可靠、功耗控制、系统兼容、数据纠错、数据保存能力在内的多方面性能提出了严格的要求
- JEDC(固态技术协会)在2010年发布的行业标准文件对固态硬盘耐力测试方法和耐力工作负载做出了规范化的要求,企业级固态硬盘需要支持较重的写入工作量、更恶劣的环境条件和更低的不可修复错误比特率(UBER),可看出企业级SSD与消费级的主要差别在于对企业工作环境的适应和对数据完整性的保护。
SSD固态硬盘概述
- SSD(Solid State Disk),即固态硬盘,相对HDD没有机械部分,由控制芯片和存储芯片组成。SSD的主要硬件组件包括NAND Flash、主控芯片和DRAM,核心软件为企业级SSD的固件
- 固件为软件功能,主控芯片(SSD Controller)通过固件技术实现组件之间的共同运作及数据运维等功能,闪存芯片(Flash)则用于存取数据内容
SSD固态硬盘:闪存颗粒(1)
- 目前主流的固态硬盘存储介质仍为闪存(Nand Flash),是一种传统的非易失性存储介质,其浮栅(Floating Gate)晶体管的设计十让电荷能存储在浮栅里,因此掉电之后,数据不会丢失
- 闪存单元根据浮栅内存储的电子数量所表现的电压值表现不同的数据值,从而起到存储数据的作用。对闪存单元的操作可简化为写入、读取和擦除。写入、读取的操作最小结构为页(Pge),擦除的操作最小结构为块(Block)
- 存储介质的发展趋势将持续向更高的读写速度,更大存储容量,低功耗,更高存储密度等演进
SSD固态硬盘:闪存颗粒(2)
NAND Flash从bit形态来看,可以分为单级闪存单元(SLC)、二级闪存单元(MLC)、三级闪存单元(TLC)、四级闪存单元(QLC),对应性能寿命及可靠性依次下降,但存储密度和单位成本也依次下降。
SSD固态硬盘:主控芯片(1)
- SSD控制器芯片是SSD存储器中执行固件代码的嵌入式处理器,控制闪存颗粒的存储单元及与主机的连接,起着指挥、运算和协作的作用
- 主控芯片在SSD中的作用相当于电脑的CPU,其通过固件对固态硬盘进行管理,所以主控性能的优劣直接影响了固态硬盘整体的性能表现,其主要功能胞括:
- SSD主控调配数据在各个闪存芯片上的负荷,让所有的闪存颗粒都能够在一定负荷下正常工作,协调和维护不同区块颗粒的协作
- 连接闪存芯片和外部(SATA、PCIe等)接口,负责数据中转
- 负责固态硬盘内部各项指令,诸如ECC纠错、耗损平衡、坏块映射、读写缓存、垃圾回收以及加密等等
- SSD主控研发过程中还要针对不同的闪存颗粒进行针对性优化,SSD主控芯片研发需要其对不同颗粒要具备极好的适应能力
SSD固态硬盘:主控芯片(2)
- SSD主控需要承担众多任务,必须要有可靠的CPU内核。一些定位高端的主控通常还需要多个CPU内核,分别用来执行不同的任务,并且在多个核心之间还需要有一套协同的机制
- 现在很多SSD主控都使用Am处理器架构,通常选择Cortex-R系列.除了Arm的R系列内核,也有选择其他处理器内核的,比如美国Synopsys公司的ARC处理器。还有部分SSD厂家采用RISC-V架构,MIPS架构等
- 对于SSD来说,主控芯片的好坏直接决定了固态硬盘的实际体验和使用寿命,不同的架构、核心/晶体管数量的多少、频率的高低都关乎主控的性能
SSD固态硬盘:固件(1)
- 固件(Firmware)是出厂预设在存储器中,运行在闪存控制器内部的程序代码,担任着存储器中协议处理,数据管理和硬件驱动等核心工作,相当于SSD存储器的操作系统
- SSD固件包括传输协议处理、逻辑管理算法、数据加密和保护、闪存驱动、介质保护、异常处理和设备健康管理等功能,对存储器设备的功能、性能、可靠性、寿命等关键指标具有重要影响
- 随着闪存技术的不断发展,存储密度不断提高,导致单元电荷数的减少及绝缘层变薄,从而使得闪存的原始误码率不断提高,可擦写次数越来越少。用这样一种高误码率、短寿命的芯片来构建长使用寿命、高性能和高可靠的固态硬盘,对固态硬盘厂商的固件水平及设计能力提出了越来越高的要
- 求。固件开发能动是闪存存储产品企业的核心竞争力之一
SSD固态硬盘:固件(2)
Nand Flash随着堆叠层数和 bit 形态不断发展,闪存限制也更突出,这意味着必须有更强力的固件技术以克服擦写过程中磨损、坏块等问题的缺陷:
- 地址映射。主机通过逻辑块(LBA,Logic Block Address)访问固态硬盘,因此需要将地址映射表把主机的LBA地址转换为Nand Flash的物理地址,才能有效访问。地址映射的三种映射方式包括:页映射、块映射和混合映射等。有DRAM模块的SSD一般会在保存映射表时,在闪存和缓存中同步保存,以提高读取速度
- 磨损均衡。闪存P/E 擦写次数的限制决定了使用寿命的限制。如果不根据NAND Flash不同块的使用情况作出动态调整,部分块就会过早地因频繁擦写而达到上限。固件的磨损均衡功能则是针对这类问题所设置的,均衡不同块之间的磨损程度,以最大限度延长固态硬盘的使用寿命
SSD固态硬盘:固件(3)
垃圾回收:闪存颗粒无法以覆盖的方式将数据直接写入,因此需先将颗粒中原有数据做抹除后,再写入新数据。垃圾回收功能针对此问题,会提前在非写入或读取的状态下,先行对闪存内部的零散空间进行整理与优化,保留额外的空白块作为缓冲区,供主机新数据的写入,提高影响SSD使用效率。
具体可以分为三个步骤:
- 寻找源块,基本原则是,寻找有效数据比较少的块,这样搬移的数据量较小
- 数据搬移,也就是将源块中的有效页搬移到一个空闲块上
- 擦除源块,加入空闲列表
SSD固态硬盘:固件(4)
- 掉电保护(PLP):当固态硬盘断电时,存放在RAM中的映射信息会丢失,再次上电时,需要将映射信息恢复到最新状态,确保和上次掉电前是一致的,这样才能接受新的读写命令。SSD的电压检测器用于持续监控来自主机的电压电平。在突然断电的情况下,电压检测器会在电压下降时立即触发掉电保护。掉电保护确保存储在NAND中的数据保持不变,内置电容器继续供电,以便数据可以从DRAM冲洗到NAND中。如果电压进一步下降,则NAND闪存进入写入保护模式,不再写入数据
- 坏块管理(BBM):首次使用NAND闪存设备时,会创建一个坏块表,控制器中的内置管理程序会检查每个块。当发现原生出厂坏块时,程序将其标记并记录在坏块表中,以防止数据再次写入,对于使用过程中出现的后续坏块,每当控制器发现坏块时,它就会将该块添加到坏块表中,并将最初写入其上的数据传输到一个有效块,防止数据丢失。控制器会对其无法写入的块执行ECC(纠错码)算法。如果无法纠错,则将有效数据删除预先保留的块中。数据除后,将坏块标记并记录在坏块表中,以防止数据再次写入该块
主流外部存储技术:HDD vs SSD
- 机械硬盘(HDD)主要由:磁头臂,磁头、主轴,磁盘,接口,磁盘控制器组成。工作时,磁盘上有磁性涂层。数据存储在这些盘片上,并通过安装在控制器上的磁头进行读取。磁头沿着磁盘片的半径方向进行运动,与盘片的高速转动进行配合,然后磁头就可以在盘片上的特定位置运行,最后达到信息读取的功能
- 固态硬盘(Solid State Drive,SSD),固态硬盘是用固态电子存储芯片阵列制成的硬盘。,基于闪存的固态硬盘是固态硬盘的主要类别,构造上看,固态硬盘即在PCB板上集成主控芯片,缓存芯片(DRAM,部分硬盘无DRAM)和用于存储数据的闪存颗粒(NAND Flash),工作方法为:主控芯片通过固件算法对闪存颗粒进行数据读写。SSD已经成为消费级和企业级市场存储硬盘的主流选择
主流外部存储参数对比:HDD vs SSD
SSD关键概念介绍
NAND介质技术趋势
企业级SSD介质以3D 64L TLC NAND为主,2019年起逐步切换到3D 96L TLC和3D QLC
SCM存储新介质比较
SCM(Storage class memory)介于DRAM与Flash.之间,将在新的计算存储架构中扮演重要的缓存角色
存储介质演进,SSD性能提升
- 单位存储容量不断提升:SSD分为SLC、MLC、TLC等类型,SLC代表每个Cell存储1比特数据,MLC每个Cell存储2比特,TLC每个Cell存储3比特。存储的数据越多,单盘容量越大、单TB的成本越低,但同时对数据读写的精度要求也越高,性能和寿命也越低
- 目前主流SSD盘采用的是TLC技术,未来QLC、PLC技术将进一步普及,其每个Cell可以存储4比特、5比特数据,SSD盘的单TB成本将进一步得到降低
- 堆叠技术提升存储容量:除了每个Cell存储的数据量越来越多,NAND Flash SSD也采用了堆叠技术来提高容量密度,从24层到32层、48层再到百层以上,层数越多,单位面积SSD盘可容纳的数据量就越多
- 目前主流SSD厂商的堆叠层数可以达到96层或128层,176层、192层已获技术突破
存储价质:SSD vs SCM
- 自数据产生以来,存储介质也历经了5代变化:磁带、软盘、光盘、HDD及SSD。在HDD向SSD演进之前,存储介质的改进均是为了容量的提升
- 而在HDD向SSD演进过程中,受NAND技术及闪存颗粒所限,读写速度、抗震性及无噪音成为目的,容量并非此次介质改进的关键。时至今日,SSD在容量上相比HDD仍具有劣势
- NAND Flash是一种常见的非易失性存储介质,也就是我们常说的SSD盘。它的基本存储单元被称为Cell,由一种类NMOS的双层浮空栅(Floating Gate)MOS管组成,浮动栅内存放电子,通过对浮空栅内充放电改变其电子多少,来表示二进制数据
存储接口协议
- HDD和早期SSD绝大多数都是使用SATA接口,SATA接口是由Intell联合多家公司研发的系统接口标准,由于整个计算机系统性能瓶颈在硬盘端,而不是在协议和接口端,AHC协议和SATA接口足够满足早前存储系统性能需求
- 随着SSD技术的飞速发展,SSD盘的性能飙升,底层闪存带宽越来越宽,介质访问延时越来越低,系统性能瓶颈转移到接口和协议
- 2009年,Intel.、美光、戴尔、三星、Marvell等巨头制定了专门为SSD服务的NVMe协议,NVMe协议理论读写速度远超SATA等协议
PCIe 4.0 替代 PCIe 3.0
- PCle 4.0接口SSD已逐步成为企业级存储硬盘主流选择,PCle 5.0已有部分产品实现量产;
- PCIe 4.0是目前大规模商用较为主流的版本,SSD性能大幅提升,但相较于PCIe 3.0 SSD,价格仍高出很多,将率先在高端市场应用。当前PCle SSD主要还是以PCIe 3.0 x4为主,最大理论速度可以达到4GB/s,一般SSD最大实际测试速度基本可以达到3.5GB/s。PCle 4.0相较于PCIe 3.0,最大带宽翻倍,PCle 4.0 x4通道可带来8GB/s的超高理论带宽,SSD实测顺序读取性能也能达到7GB/s。PCIe 5.0在企业级和消费级都已有产品产出,头部主控厂商Marvell企业级SSD及原厂Intel第12代处理器均有搭载
PCIe 5.0、PCIe 6.0蓄势待发
- PCIe 5.0将成注力产品,6.0标准已出,量产在途。PCI-SIG此前给出PCIe的带宽增长趋势。2020-2021期间,PCle 4.0-5.0作为PCle 3.0的更新版本陆续出现并量产,但其仍采用基于NRZ(Non-Return-to-Zero)的128b/130b编码。PCle 6.0预期2022年能陆续公用,完成验证测试;
- PCIe 6.0不再采用NRZ编码,PAM4脉冲调幅信令,1b/1b编码,单个信号就有能四种编码(00/01/10/11)状态,比之前翻番,允许承载最高30GHz频率,将PCle链路的速度提高一倍,PCIe 6.0实现了带宽速率的全面加倍,对于已经缝合给定宽度的链路的设备,额外的带宽意味着总线限制的显著增加;同时,对于尚未使链路饱和的设备,PCIe 6.0提供了减少链路宽度、保持相同带宽同时降低硬件成本的机会;
- 从今年大规模商用的角度看,PCle 5.0 和 NVMe 2.0是下一代企业级SSD的发力方向,2022-2023年有望成为主流.
NVMe与PCIe:企业级SSD最佳组合
- NVMe(non-volatile memory express)是非易失性存储接口协议,为应用层服务,通过利用PCIe总线实现数据交互的功能,实现对物理层的抽象功能
- PCle接口和闪存接口的高速发展要求相应的高速命令传输协议,NVMe应运而生,NVMe与PCle搭配显著提升了固态硬盘性能
- 通过PCIe接口将I/O命令和响应映射到主机的共享内存,支持多核处理器并行I/O,以促进高吞吐量,缓解CPU的压力。利用并行数据路径,在加速方面提供更好的性能。与PCIe接口的结合,使得数据通过NVMe协议直接与CPU相连,从而达到低延时性;最大队列深度由SATA的32上升到64000,固态硬盘IOPS显著提升;功耗管理功能降低了能耗,并使得SSD拥有更好的兼容性
协议:AHCl、NVMe、SCSI
- 协议是物理设备之间进行通信时的“规则”,其内容主要包括设备间如何相互识别、如何建立链接、使用的讯号类型、数据的编码解码方式、数据传输的类型、数据传输的方式以及物理层面上的电压、电流、保持时间和截止时间等。只有当两个设备之间的协议相同或者相容时,才可以正常进行通讯。不同协议能够支持的最大传输速率也不同;
- 固态硬盘涉及到的协议主要有三种:AHCI协议、NVMe协议、SCSI协议,其中SCSI协议常用在服务器上。AHCI主要用于通过SATA总线连接电脑的硬盘设备。NVM是专门为闪存类存储设计的协议,性能有数倍的提升。在数据传输速率表现层面,NVMe协议传输速度比AHCI协议更快;
- 接口是硬盘与主板之间的桥梁,其实际速率还与用料、工艺相关;
- 接口、总线、协议在固态硬盘产品中是相辅相成的,可以通过总线的承载能力来判断固态硬盘接口的理论速率上限.
NVMe标准技术趋势
NVMe协议从1.0演进到1.4
若干热点特性:Multi-stream(1.3协议),IO Determinism / PMR(1.4协议),Zoned Namespace(1.5协议)
NVMe-MI协议从1.0演进到1.1
规范统一NVMe SSD管理接口,更多产商开始支持基于NVMe-Ml的带内/带外管理
SSD系统框图
IO路径介绍--读流程
- 读延时接近100us,涵盖了命令下发到数据从NAND中读回的时间
- 读错误处理是firmware的难点,读错误处理进入频率要低,处理要高效,以此保证QOS
- 读处理过程中读取映射表操作需要有锁,防止时序问题,读取到旧数据
IO路径介绍--写流程
- 写延时接近10us,数据写入缓存就返回
- 写buffer的大小很重要,过大对异常掉电造成挑战,过小没法掩盖后端program时间,发挥不出最大性能
- 要考虑写失败场景,写失败时缓存不能释放,需要重新写入
FTL(Flash Translation Layer)介绍
闪存转换层(FTL)是封装在闪存芯片和文件系统之间的一个软件层,主要包括3个基本功能。
地址映射(Mapping Table)
- 负责为IO请求分配可用的空闲空间,解决闪存异位更新造成的地址变换
磨损平衡(Wear Leveling)
- 采用数据迁移等方法平衡存储单元的擦除次数,实现闪存整体的损耗均衡,解决因数据访问不均衡性导致的闪存局部存储区更新频繁而变成磨损块
垃圾回收(Garbage Collection)
- 用于回收无效的旧数据页,把待回收块中有效的数据写入新的块,然后擦除无效块,实现空间的循环再利用
垃圾回收(Garbage Collection)
什么是垃圾回收
一旦SSD的可用块空间低于阈值,SSD主控制器将会利用那些包含无效数据的块。此时,会将块中的有效数据搬移到其他块,而将本块擦除供后续使用。这种清除无效数据提高空间使用率的方法称为垃圾回收。
为什么要做垃圾回收
SSD不支持原位写数据,NAND写入之前要先擦除,因此在可用容量低于阈值时需要通过垃圾回收将有效数据紧密编排,空闲出的bock擦除后重新使用。
坏块管理(Bad Block Management)
坏块分类
- 出厂坏块(Factory bad block):NAND受限于制造工艺和生产良率而天然存在的坏块,NAND产商会控制出厂坏块率在一定范围内(比如2%)
- 增长坏块(Grown bad block):NAND随着正常使用,PE损耗而产生的坏块
坏块管理策略(RAID条带)
- 略过(Skip)策略:当检测到坏块时,固件会将其标记为不可用,并在后续的数据管理中避开这些区域,不再进行数据写入
优点:简单易实施,不需要额外的存储空间或复杂的数据迁移操作。
缺点:随着坏块数量的增加,SSD的有效存储空间会减少,可能影响存储容量和性能。
- 替换(Replace)策路:使用预留的备用块(Spare Blocks)来替换检测到的坏块。坏块上的数据会被移到备用块,而坏块则被标记为不可用
优点:保持声SSD的有效存储容量,因为坏块被好的备用块替换,不影响用户的存储空间。同时,减少了数据迁移的需求,因为数据被迁移到新的好块上。
缺点:需要预留一部分存储空间作为备用块,这可能会减少SSD的总可用存储空间。此外,数据迁移过程可能会增写入放大和功耗。
磨损均衡(Wear Leveling)
为什么要做磨损均衡
闪存块的擦除次数有限,如果某块的擦除次数达到上限,固态盘的整体性能将会大打折扣,所以需要均衡算法来使所有数据块的擦除次数尽可能地均匀。
磨损均衡的分类
- 动态磨损均衡
动态磨损均衡主要是在数据动态写入时起作用,作用的对象是空白的物理块。其作用体现在对目标物理快的选择上,要优洗选择擦除次数少的物理块进行写入操作。
- 静态磨损均衡
静态磨损均衡主要在数据存储于NAND上之后起作用,主要是将静态数据迁移到擦除次数较多的物理块上,实现擦除次数的均衡
掉电保护PLP
为什么要做掉电保护
- SSD除了Non-volatile的Flash,还需要Volatile的RAM、SRAM、DRAM。Flash的作用是存储数据,而RAM主要是SSD工作时用以缓存用户数据和存放映射表(逻辑地址映射闪存物理地址)。所以一旦掉电,RAM的数据就会丢失
怎么做掉电保护
- 依赖外部电容提供电量
- 当FW收到异常断电的信号时,停止后台GC任务(如果有开启),将缓存中的用户数据或者元数据刷到NAND中,避免用户数据和管理数据丢失
- 需要根据最复杂的业务场景评估最多的时间消耗,以此评估电容电量是否满足要求
NAND管理
为什么需要NAND特性管理
- NAND受物理特性限制,在外在不稳定因素的影响下,绝缘层的绝缘特性会减弱,由此造成Cell表示的0或1发生翻转;
- 需要设计NAND特性管理算法,根据不同的不稳定因素,适当调整读偏转电压,降低读错误椰率,保证数据读取的正确性.
NAND不稳定的因素
- Retention
- Read disturb
- PE
NAND读偏转电压调整方法
- 用NAND商提供的read retry偏转电压序列做read retry
- 进行NAND特性测试分析,记录并计算合适的读偏转电压
主控芯片:由原厂+台系主导,国产化逐渐切入(1)
目前市场上流通的固态产品,使用的主控芯片可以分为两大类型:
- 一类是各存储原厂诸如三星、intel、美光等巨头基于IDM生产模式生产,其中三星的主控自产自销,基本不单独出售主控,美光既用于自有产品也外卖给其他下游商;
- 另一类是Fabless厂商,核心玩家主要是Marvell、慧荣及群联电子.
Marvell性能较好,一直是主控市场上性能的佼佼者,其SSD控制器基于NAND Edge LDPC引I擎,支持在企业和超大规模数据中心环境中使用高性能和大容量的SSD,并兼容TLC、QLC和SLC存储器,数据安全及数据纠错能力领先。
慧荣和群联是台系主控代表,慧荣主控以不错的性能和低廉的价格为主要特点,整体较为平衡。群联主控性价比好,中低端市场有优势。
主控芯片:由原厂+台系主导,国产化逐渐切入(2)
- 具体根据technavio预测,2020-2025年企业级SSD主控芯片市场规模将增长12.6亿美元,预计CAGR达到17.88%,2021年亚太地区提供主要增量,估算增长79%,主控芯片市场将继续保持高度集中的竞争格局;
- 纵观全球控制芯片市场,三星为主的原厂占据约45%的市场份额;慧荣科技、群联电子、Marvell等厂商,合计占据约40%+的市场份额.
企业级SSD产业链
国内外企业级SSD厂商对比(1)
国内外企业级SSD厂商对比(2)
成熟存储介质、新型存储介质快速发展
存算一体有Flash、SRAM、DRAM等成熟存储介质,同时ReRAM、MRAM等新型存储介质也在快速发展。根据存储介质的不同,存内计算芯片可分为基于传统存储器和基于新型非易失性存储器两种。传统存储器包括SRAM,DRAM和Flash等;新型非易失性存储器包括ReRAM,PCM,FeFET,MRAM等,其中,距离产业化较近的是基于NOR Flash和基于SRAM的存内计算芯片。
技术趋势总结-新形态/新架构/新介质
最后
如果您喜欢我的文章,转载请注明出处 潇湘君,谢谢!
Tips
文章来源于 晗狄 架构师技术联盟,详情:click here.
文章评论