您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > SSD固态硬盘底层技术解析
SSD底层技术解析JSMatureGuChengdong©Copyright2018DellInc.2SSD长期不用会不会丢失数据?MLCFlash是真正的随机存储设备吗?关于SSD的为什么©Copyright2018DellInc.3议题SSD的主要组件Flash的逻辑结构及读写123Flash的一些特性©Copyright2018DellInc.4SSD的基本组成---主控、闪存、接口、(固件)IO接口主控芯片NANDFlashDRAM(可选)©Copyright2018DellInc.5SSD接口接口逻辑协议指令集(m)SATAAHCIATAM.2AHCI/NVMeATA/NVMeSASSCSISCSIPCIe/U.2NVMeNVMe©Copyright2018DellInc.6SSD接口(续)M.22242/2260/2280/22110U.2接口别称SFF-8639,是由固态硬盘形态工作组织(SSDFormFactorWorkGroup)推出的接口规范。U.2不但能支持SATA-Express、PCIe,还能兼容SAS、SATA等规范M.2接口最初叫做NGFF,全名是NextGenerationFormFactor©Copyright2018DellInc.7©Copyright2018DellInc.8主控芯片市场状况•前控制芯片市场大致分为三个等级,•第一等级是三星、东芝、英特尔、SK海力士等原厂阵营,他们具有生产NANDFlash,以及研发控制芯片的能力,主要用于自家SSD产品,且基本不对外供应;•第二等级是Marvell、慧荣、群联等主控厂商,占据大部分非原厂的SSD市场;•第三等级是国内主控厂,海思、国科微、联芸、浪潮、忆芯等在国家政策扶持下正在快速崛起;©Copyright2018DellInc.9NAND芯片市场状况©Copyright2018DellInc.11议题SSD的主要组件Flash的逻辑结构及读写123Flash的一些特性©Copyright2018DellInc.12NANDFlash逻辑结构Die/LUN1Die/LUN0NAND(闪存芯片)→die(核心)→plane(平面)→block(区块)→page(页面)→Cell©Copyright2018DellInc.13NANDFlash写操作示意栅极漏极©Copyright2018DellInc.14控制栅极浮栅极氧化层隧道氧化层源极漏极衬底NANDFlash晶体管物理结构©Copyright2018DellInc.15NANDFlash的写和擦除原理擦除数据源极漏极衬底浮栅控制极衬底加正电压,把电子从浮栅极中吸出来写入操作源极漏极衬底浮栅控制极控制极加正电压,使电子由衬底通过绝缘层进入浮栅极©Copyright2018DellInc.16SLC对SLC来说,一个存储单元存储两种状态,漏极电压高于某个参考值的时候,我们把它采样为0,否则,就判为1.©Copyright2018DellInc.17MLC对MLC来说,一个存储单元存储四个状态,一个存储单元可以存储2bit的数据。通俗来说就是把漏极电压进行一个划分,比如高于5.5v,判为0;4.0~5.5v,判为1;3.5~4.0v,判为2;小于3.5v,判为3.©Copyright2018DellInc.18为什么TLC的性能<MLC<SLC?©Copyright2018DellInc.19一个存储单元电子划分的越多,那么在写入的时候,控制进入浮栅极的电子的个数就要越精细,所以写耗费的时间就加长;同样的,读的时候,需要尝试用不同的参考电压去读取,一定程度上加长读取时间。所以我们会看到在性能上,TLC不如MLC,MLC不如SLC.对MLC来说,擦除一个Block的时间大概是几个毫秒。NANDFLASH的读写则是以Page为基本单元的。一个Page大小主要有4KB,8KB,16KB。对MLC或者TLC来说,写一个Block当中的Page,应该顺序写:Page0,Page1,Page2,Page3,…;禁止随机写入,比如:Page2,Page3,Page5,Page0,…,这是不允许的。但对读来说,没有这个限制。SLC也没有这个限制。©Copyright2018DellInc.20议题SSD的主要组件Flash的逻辑结构及读写123Flash的一些特性©Copyright2018DellInc.21NANDFlash的读写我们通常所说的FLASH读写时间,是不包含数据从NAND与HOST之间的数据传输时间。FLASH写入时间指是一个Page的数据从CacheRegister当中写入到FLASH阵列的时间,FLASH读取时间是指一个Page的数据从FLASH阵列读取到PageRegister的时间。对现在的MLCNANDFLASH来说,写入时间一般为几百个微秒甚至几毫秒,读取时间为几十微秒©Copyright2018DellInc.22垃圾回收©Copyright2018DellInc.23写放大写放大倍数=闪存写入数据量/用户写入数据量写放大最好的情况就是1?©Copyright2018DellInc.24OP:OverProvisioningWA越小越好,因为越小意味着对闪存损耗越小,可以给闪存延年益寿;OP越大越好,OP越大,意味着写放大越小,意味着SSD写性能越好。OP为:25%,每block最大平均有效数据:80/100=80%OP为:66.7%,每block最大平均有效数据:60/100=60%©Copyright2018DellInc.25WareLeveling•WL有两种算法:动态WL和静态WL。•动态WL,就是在使用Block进行擦写操作的时候,优先挑选PE数低的;•静态WL,就是把长期没有修改的老数据(如前面提到的只读文件数据)从PE数低的Block当中搬出来,然后找个PE数高的Block进行存放,这样,之前低PE数的Block就能拿出来使用。•本地or全局©Copyright2018DellInc.26Trim•专为SSD而生的命令(ATA)•SCSI-UNMAP•NVMe-deallocate©Copyright2018DellInc.27读干扰(ReadDisturb)影响的是非读取的闪存页。记录每个闪存块的读次数,在达到阈值(厂家提供)之前将所有的数据读出重新写一遍©Copyright2018DellInc.28写干扰(ProgramDisturb)影响所有取的闪存页。©Copyright2018DellInc.2929电荷泄漏存储在NANDFLASH存储单元的电荷,如果长期不使用,会发生电荷泄漏。不过这个时间比较长,一般十年左右。同样是非永久性损伤,擦除后Block还能使用。©Copyright2018DellInc.3030SSD数据完整性技术•ECC纠错•常用闪存ECC纠错算法有BCH(Bose,Ray-Chaudhuri与Hocquenghem三位大神名字首字母)和LDPC(LowDensityParityCheckCode)•静态ECCvs动态ECC•RAID数据恢复•重读(ReadRetry)•扫描重写技术•数据随机化•磨损平衡©Copyright2018DellInc.31公众号:SSDFANS一个了解SSD知识的公众号
本文标题:SSD固态硬盘底层技术解析
链接地址:https://www.777doc.com/doc-3765588 .html