企业级SSD存储技术白皮书_第1页
企业级SSD存储技术白皮书_第2页
企业级SSD存储技术白皮书_第3页
企业级SSD存储技术白皮书_第4页
企业级SSD存储技术白皮书_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、华为企业级 SSD 存储技术白皮书目录 HYPERLINK l _bookmark0 概述5 HYPERLINK l _bookmark1 SSD 基本原理6 HYPERLINK l _bookmark2 SSD 架构6 HYPERLINK l _bookmark3 NAND FLASH 介绍7 HYPERLINK l _bookmark4 NAND FLASH 存储原理7 HYPERLINK l _bookmark5 NAND FLASH 关键参数9 HYPERLINK l _bookmark6 SSD 核心技术12 HYPERLINK l _bookmark7 SSD 控制器12 HYPE

2、RLINK l _bookmark8 控制器关键特性12 HYPERLINK l _bookmark9 基础算法13 HYPERLINK l _bookmark10 FTL 管理13 HYPERLINK l _bookmark11 磨损均衡13 HYPERLINK l _bookmark12 垃圾回收15 HYPERLINK l _bookmark13 坏块管理16 HYPERLINK l _bookmark14 数据保护17 HYPERLINK l _bookmark15 数据冗余保护17 HYPERLINK l _bookmark16 后台巡检21 HYPERLINK l _bookmar

3、k17 温度控制22 HYPERLINK l _bookmark18 掉电保护22 HYPERLINK l _bookmark19 数据加密23 HYPERLINK l _bookmark20 华为企业级 SSD 对客户的价值24 HYPERLINK l _bookmark21 高可用24 HYPERLINK l _bookmark22 高性能25 HYPERLINK l _bookmark23 性能参考25 HYPERLINK l _bookmark24 高可靠30 HYPERLINK l _bookmark25 严格筛选30 HYPERLINK l _bookmark26 盘级容错31 H

4、YPERLINK l _bookmark27 Trim Mode 技术31 HYPERLINK l _bookmark28 高寿命32 HYPERLINK l _bookmark29 SSD 寿命评估32 HYPERLINK l _bookmark30 华为企业级 SSD 寿命规格34 HYPERLINK l _bookmark31 低 TCO35 HYPERLINK l _bookmark32 高级特性36 HYPERLINK l _bookmark33 流识别技术36 HYPERLINK l _bookmark34 流识别写36 HYPERLINK l _bookmark35 全局垃圾回收

5、38 HYPERLINK l _bookmark36 寿命预测和监控38 HYPERLINK l _bookmark37 NVMe 暴力拔插39 HYPERLINK l _bookmark38 附录:SSD 相关专业术语40 HYPERLINK l _bookmark39 WAF40 HYPERLINK l _bookmark40 OP40 HYPERLINK l _bookmark41 FTL40 HYPERLINK l _bookmark42 GC41 HYPERLINK l _bookmark43 Wear Leveling41 HYPERLINK l _bookmark44 Bad B

6、lock41 HYPERLINK l _bookmark45 Power Loss protection42 HYPERLINK l _bookmark46 DPP/DIF42 HYPERLINK l _bookmark47 TRIM42 HYPERLINK l _bookmark48 SSD42 HYPERLINK l _bookmark49 华为企业级 SSD43 HYPERLINK l _bookmark50 DWPD43 HYPERLINK l _bookmark51 UBER43 1 概 述存储技术在过去的二十年取得了飞速发展:首先,代表计算能力的 CPU 在短短二十年性能提升了近

7、580 倍;其次,I/O 通道性能提升了近 1000 倍;最后,存储系统介质在二十年中仅仅提升了 20 倍。硬盘已成为计算机系统的性能瓶颈,严重阻碍了整个 IT 系统性能的提升,难以满足业务快速发展的要求。SSD 的出现,摆脱了 HDD 的磁头、盘片转轴及控制电机等机械部件,没有电机加速旋转的过程,内部不存在任何机械活动部件,不会发生机械故障,也不怕碰撞、冲击和振动。相对于 HDD 而言,SSD 在性能、可靠性、能耗、轻便性方面有着绝对的优势,目前已经在各领域得到广泛应用。华为从 2005 年开始进入该领域并聚焦企业存储应用,凭借多年的技术积累已拥有 150 多篇专利,是存储行业内拥有 SSD

8、 盘片级专利最多厂家之一,经历了多代产品的开发使自研的 SSD 产品更适合企业存储;本文介绍了 SSD 的基本原理、算法设计和客户价值,期望能为读者了解、销售华为企业级 SSD 带来帮助。本白皮书适用于华为客户,华为一线销售、服务、研发和 MKT 人员。 2 SSD 基本原理SSD 采用电子器件存储数据,相对于 HDD,不存在磁头和磁碟等机械部件,取而代之的是 SSD 控制器和非易失性存储芯片等电子部件。SSD 在接口规范、物理尺寸、使用方式上和普通硬盘完全相同。本文所提到的 SSD,存储介质均指 NAND FLASH。SSD 架构SSD 主要由控制单元和存储单元(当前主要是 FLASH 闪存

9、颗粒)组成,控制单元包括SSD 控制器、主机接口、DRAM 等,存储单元主要是 NAND FLASH 颗粒。主机接口:主机访问SSD的协议和物理接口,常用的有SATA、SAS和PCIe。SSD控制器:负责主机到后端介质的读写访问和协议转换,表项管理、数据缓存及 校验等,是SSD的核心部件。华为企业级SSD采用第五代华为自研SSD控制器Hi1812。DRAM:FTL表项和数据的缓存,以提供数据访问性能。NAND FLASH:数据存储的物理器件,详见下文。图1 SSD 架构图NAND FLASH 介绍NAND FLASH 是一种非易失性随机访问存储介质,基于浮栅(Floating Gate)晶体管

10、设计, 通过浮栅来锁存电荷,电荷被储存在浮栅中,在无电源供应的情况下数据仍然可以保持。相对于 HDD,具有读写速度快、访问时延低等特点。NAND FLASH 存储原理数据存储原理NAND FLASH 采用浮栅晶体管存储数据,其工作原理是利用浮栅上是否储存有电荷或储存电荷的多少来改变晶体管的阈值电压,通过读取到的晶体管阈值电压来实现数据信息的表征。NAND FLASH 内部结构NAND FLASH 内部存储单元组成包括: LUN、Plane、Block、Page、CellLUN:又称为DIE,能够独立封装的最小物理单元,通常包含多个plane;Plane:拥有独立的Page寄存器,通常LUN包含

11、1K或2K个奇数Block或偶数Block;Block:能够执行擦除操作的最小单元,通常由多个Page组成;Page:能够执行编程和读操作的最小单元,通常大小为4KB/8KB/16KB等;Cell:Page中的最小操作擦写读单元,对应一个浮栅晶体管,可以存储1bit或多bit。图2 单片 Device 结构示意图图3 LUN 结构示意图对 NAND FLASH 的读写数据的操作主要涉及擦除(Erase)、编程(Program)和读(Read), 其中编程和读的基本操作单位是 Page,擦除的基本操作单位是 Block。考虑到要对存入NAND FLASH 中的数据做 ECC,NAND FLASH

12、 中的 Page 大小并非 4KB/8KB/16KB 整数,而是多出一部分 Bytes;如 16K Page 实际大小为 16384+1872Bytes,16384Bytes 是用于存储数据,而 1872Bytes 则用于存放 ECC 数据校验码,称为 OOB(Out of Bank)区。图4 NAND 存储矩阵结构示意图(micron 16nm MLC)NAND FLASH 关键参数EnduranceNAND FLASH 的 Endurance 又称为耐久性,它是一项重要的可靠性指标,用于衡量NAND FLASH 的擦写寿命。Endurance 指的是在一定的测试条件下 NAND FLASH

13、 能够反复擦写数据的能力,即对应 NAND FLASH 的 P/E(Program/Erase) Cycle。由于 NANDFLASH 是非易失性介质,在写入新数据之前必须保证 Block 被擦除过,否则可能会出现数据误码,所以对 Block 擦除一次后再写入一次称为一次 P/E Cycle。擦写过程会对浮栅晶体管的绝缘层一定程度的损坏,在擦除失败或编程失败之后会置操作的 Block 为坏块,当坏块数量达到一定程度的时候,则认为 NAND FLASH 达到使用寿命上限。颗粒的 Endurance 是构成盘片寿命的关键参数但盘片的寿命还和使用的纠错算法、冗余空间、内部管理算法相关,使用同样颗粒型

14、号通过不同的冗余空间,不同的纠错算法和管理算法也可以形成不同寿命的盘片。BER由于 NAND FLASH 颗粒本身的特性,存储数据会有一定概率发生 bit 位翻转,业界通常用BER(Bit Error Rate)来衡量bit 位翻转发生的概率,根据描述对象的不同有两个术语:RBER 和 UBER。RBER = Raw Bit Error Rate,指在ECC纠错前读出的数据中出错bit数占的比率,bit发生跳变是NAND的固有特性,RBER也是衡量NAND品质的一项指标。UBER = Uncorrectable Bit Error Rate,指SSD Endurance验证周期内发生不可纠正错

15、误的Sector个数占所有读数据的比率。根据 JEDEC 标准 JESD218B.01,UBER 计算公式如下: 其中分子 number of data error 指的是未成功返回给 Host 的出错 Sector 个数,分母 number of bits read 指的是在 SSD Endurance 验证周期内的读数据量,以 bit 为单位。这里,JEDEC标准 JESD218B.01 假设读数据量和写数据量相同,若不同,取读数据量和写数据量两者的较小值。RBER 是 NAND FLASH 自身品质的一个特性,随着 NAND FLASH 擦写次数增加 RBER 的数值会变大,其主要原因是

16、擦写造成了浮栅氧化层的磨损。RBER 随着 NAND FLASH 制程的降低也变得更差,如 50nm 制程 MLC 发生的 RBER 大概在 10-710-9 之间,只要使用较小的 ECC 算法即可满足存储数据可靠性要求;到了 16nm 制程的 RBER 已经增加到 10-310-5 之间,对 ECC 的要求也越来越高。颗粒的 RBER 通常只有 10e-4 左右,并且随着擦写次数的增加逐步变差。需要 SSD 控制器芯片的纠错算法覆盖整个生命期的能力;华为采用业界领先的 LDPC,该纠错算法在相同条件下比 BCH 更高效,可有效规避颗粒可靠性降低带来的风险,满足用户数据可靠性的要求。图5 20

17、nm 制程某 MLC 的 P/E 与 BER 的关系示意图Data RetentionNAND FLASH 的 Data Retention 又称为数据保存力,它是另外一项重要的可靠性指标, 用于衡量写入 NAND FLASH 的数据能够不失真保存的时间。Data Retention 一般定义为在一定的温度条件下,数据在使用ECC 纠错之后不失真保存在NAND FLASH 中的时间。Data Retention 影响最大的两个因素是 NAND FLASH 的擦写次数和存储温度,擦写次数越高 Data Retention 时间越短,存储温度越高 Data Retention 时间越短。企业级 S

18、SD 盘的 Data Retention 都是遵循 JEDEC 的 JESD218 标准:40室温下,100% 的 P/E Cycle 之后,下电的情况,Data Retention 时间要求达到 3 个月。ECCECC 的全称是 Error Correction Code,其主要功能是发现并纠正错误。ECC 纠错码有多种,如 RS 码、汉明码、BCH 码、LDPC 码等,每种 ECC 纠错码的应用场景是不同的。LDPC 码是一种纠错能力强的 ECC 纠错码,其可配置性好,纠错能力强,是目前 SSD领域热门使用 ECC 算法。通常使用的数据校验算法如奇偶校验或者 CRC 校验都需要在原始信息数

19、据的基础上增加一些额外的数据,能够纠正错误的 ECC 也需要额外的数据空间保存纠错码生成的校验数据。NAND FLASH 的每个 Page 中多出的 OOB 数据就是用于存放 ECC 数据的校验码,Page 中 OOB 空间越大意味着可以使用纠错能力越强的 ECC。对于 LDPC 算法,目前华为自研控制器采用业界领先的 4K Bytes 为单位处理,该处理单位又称 Codeword,这里的 4K Bytes 是原始数据,LDPC 码需要生成一定的 bit 的校验数据。如 4K Bytes 码率为 90.00%的 LDPC 码需要 455Bytes 用于存放校验码。ECC 单元的工作方式如下:控

20、制器将数据写入 NAND FLASH 前先通过 LDPC 编码器, 然后将原始数据和带校验数据的总数据一起写入 NAND FLASH。当控制器从 NAND FLASH 中读取数据的时候需要将原始数据和校验数据一起读出经过 LDPC 译码器,LDPC 译码器使用定点的 NMSA 译码算法进行纠正,若译码成功,之间反馈正确数据, 若 译码失败,进入其他尝试手段。ECC DecoderECC EncoderNAND FLASHData + ECCData + ECCData 512B/1KB/.Data 512B/1KB/.HOST图6 ECC 纠错示意图 3 SSD 核心技术SSD 控制器SSD

21、控制器作为盘片的核心部件,直接决定了盘片的性能、可靠性等关键参数。当前华为企业级 SSD 使用华为自研的新一代控制器,该控制器是一款面向企业级应用,提供目前业界标准 SAS 3.0X2 和 PCIe 3.0X4 接口,该控制器具备高性能、低功耗特点,同时具备高附加值存储业务特性。针对介质磨损寿命下降的趋势,通过增强 ECC/数字信号处理、内置 RAID 等技术延长 SSD 寿命,满足企业级可靠性应用要求;该控制器使用28nm 工艺并支持最新的 DDR4、SAS 12Gb/s、PCIe 8GT/s 接口速率以及硬件加速 FTL等技术,为企业级应用提供稳定、低时延的性能。控制器关键特性支持SAS

22、12Gb/s和PCIe 8GT/s Dual ports支持2D SLC/MLC/TLC,3D MLC Flash集成DDR4接口支持18 Channels,288 Dies支持LDPC (Hard/Soft Decoding)、支持颗粒间动态RAID支持数据加扰支持全路径数据保护基础算法FTL 管理FTL 全称 Flash Translation Layer,即 Flash 转换层。在 HDD 上数据可以在物理位置覆盖写,所以 LBA(逻辑地址)和 PBA(物理地址)是一一对应且不会发生变更,但 SSD 使用的存储介质 NAND FLASH 有需要先擦除才能再写入的特性,并且读写以 PAGE

23、 为单位,擦除以 BLOCK(多个 PAGE 组成)为单位的特性,导致 LBA 和 PBA 的关系不再是固定不变的,因此需要 FTL 来管理 LBA 和 LPA 的映射关系。FTL 主要作用包括组织管理主机数据,使其有序排布在 SSD 的各 NAND Flash 颗粒上,维护逻辑块地址 LBA 到 Flash 物理地址 PBA 之间的映射关系,并对这些 BLOCK 的状态进行管理等。FTL 表一般临时保存在 DDR 中,并定期将变化的部分下刷到 NAND FLASH 中。当接收到一个读命令,华为企业级 SSD 从 FTL 表中查询其保存的 NAND FLASH 位置并读出数据返回给主机;当接收

24、到一个写命令,会申请一个空白 PAGE 并将数据写入然后修改 FTL,将该 LBA 指向该 PAGE。磨损均衡NAND FLASH 每个 Block 的擦写次数是有限制的,对某个 Block 进行无限制的擦写将导致这个 Block 很快先于其他 Block 失效,不能再使用,如果这种失效的 Block 过多, 那么整个 NAND FLASH 都将失效,这种后果很严重。为了防止这种情况的发生,华为企业级 SSD 采用了磨损均衡算法(Wear Leveling,简称 WL)。磨损均衡可以平衡 NANDFLASH 每个 Block 的擦写次数,大大延长 NAND FLASH 整体的使用寿命。华为企业

25、级 SSD 磨损均衡分为动态磨损均衡和静态磨损均衡。动态磨损均衡是指在主机数据写入的时候,优先挑选磨损较小的 Block 使用,这样保证 P/E 消耗平均分布;静态磨损均衡是指盘片定期在整个盘片的范围内寻找 P/E 消耗较少的 Block 并回收其上的数据,这样可以让保存冷数据的 Block 也参与到磨损循环中。华为企业级 SSD 通过这 2 种方案的结合达到全盘均衡的目的。 图7 动态均衡示意图 垃圾回收图8 静态均衡示意图传统的 HDD 使用磁介质作为存储介质,磁介质可以直接进行覆盖写。SSD 使用 NAND FLASH 作为存储介质,NAND FLASH 的一个重要特点是写入之前必须进行

26、擦除。Page 是 NAND FLASH 写入的基本单位,Block 是 NAND FLASH 擦除的基本单位,Block 由一定数量的 Page 组成,所以在写入一个 Page 之前,必须要擦除这个 Page 所在 Block。SSD 中的数据是不断在更新的,而 NAND FLASH 的存储空间却是固定的,要想源源不断的获得数据的写入空间,就需要释放旧的 Block 用于新数据的写入,SSD 使用垃圾回收(Garbage Collection,简称 GC)技术来达到此目的。在 SSD 的使用过程中,当更新后的数据被写入新的 Block 中的 Page,旧的 Block 中的Page 将不再有

27、效,当旧的 Block 中的无效 Page 数足够多的时候,我们就可以回收进而释放这个块了。GC 的原理就是通过搬移多个旧的 Block 中的有效 Page 数据到一个新的Block 中,然后擦除旧的 Block,以一个 Block 的写入换取多个 Block 的释放。图9 垃圾回收示意图简而言之,GC 就是把无效块转化为空白块的过程。华为企业级 SSD 采用了智能的垃圾回收算法,能够根据用户的写入数据量,当前业务模型和压力,盘片的坏块数量等因素自动的调整垃圾回收参数以减少无效的搬移,使用户获得更好的性能和寿命。坏块管理NAND FLASH 芯片在制造过程和使用过程中会逐渐出现一些不符合要求的

28、存储单元。盘片在生产阶段会通过长时间严格的检测以筛选出有缺陷的坏块,Block 被标记为坏块后将不再使用;盘片在长期使用过程中也会出现坏块,华为企业级 SSD 根据大量的实验数据和应用场景确定了坏块的判断标准,该标准会根据 NAND FLASH 的擦写次数, 错误类型,发生的频率等因素判断 Block 是否变成坏块,当确定变成坏块之后会对其上保存的数据进行迁移,防止数据在坏块上保存导致数据丢失。在生命周期内,盘片大概会出现 1.5%左右的坏块,华为企业级 SSD 在盘片内部预留了空间用作坏块替换,确保在生命周期内用户的可用容量和数据安全得到保障。数据保护数据冗余保护全路径保护:华为企业级 SS

29、D 对用户数据在全路径上进行了保护,数据在 DDR 中使用了 ECC 和 CRC 保护以防止 DDR 异常导致的跳变和篡改;数据在 NAND FLASH 中使用了 LDPC 和 CRC 保护以防止 NAND FLASH 异常导致数据丢失,而在不同的 DIE 之间则采用了 XOR 冗余进行保护以防止颗粒 DIE 失效或者随机失效导致的数据丢失。C R CC R CC R CC R CC R CC R CCLDPC CodeDATADATADATADATADATADATADATADATADATAECCDATAECCDATAECCDATAECCDATAECCDATADATA DATADATA DAT

30、ADATA DATADATA DATA主机数据C R CC R CECCDATAECCDATAECC采用了CRC和ECC 保护DDR数据 DIEDIEDIERCDIEXOR DATA采用了CRC和LDPC 保护NAND数据图10数据保护示意图数据纠错保护:华为企业级 SSD 以 LDPC 算法为基础并结合 Read Retry 和 Read Offset 技术来保障数据的可靠性。在数据保存到 NAND FLASH 的时候,计算出主机数据的LDPC 校验信息一起写入到 NAND FLASH 中,在从 NAND FLASH 读取的时候通过冗余信息进行校验和纠错。当 NAND FLASH 上数据出现

31、错误之后,华为企业级 SSD 会启动 LDPC Hard Decoding 进行纠正错误,如果不能纠正错误则会启动 READ RETRY 来挽救数据,在 READ RETRY 失败后会尝试使用 READ OFFSET 来挽救数据,如果 READ OFFSET 失败则使用 LDPC SOFT Decoding 来恢复数据,如果数据还是未能恢复,最终会使用其他 DIE 上的数据进行异或运算来尝试恢复用户数据,数据恢复的流程如下图所示。XOR RECOVERYREAD OFFSETLDPC HARD DECODINGDATA ERRORDATA RECOVERY SUCCESSLDPC SOFT D

32、ECODINGREAD RETRYDATA LOST图11数据保护示意图LDPC 即低密度奇偶校验码(Low Density Parity Check Code),是通过校验矩阵定义的一类线性码。LDPC 由 Encode、Decode、Soft-bit Logic 和 DSP Logic 四个模块组成,棕色的 H、G、LLR Table 和 Calibration Table 为存在内存中的表项。H 为 LDPC 码校验矩阵,G 为 LDPC 码的生成矩阵,其中设置了多份 H 和 G 作为可配置选项,可以支持多种厂商多种制式的 FLASH 颗粒。 其解码过程主要分成 2 个部分:LDPC H

33、ard Decoding 和LDPC Soft Decoding。 理论上 LDPC 的纠错能力相对于 BCH 更接近香农极限,具有更强的纠错能力,华为企业级 SSD 的 LDPC Hard Decoding 纠错能力超过相同条件下 BCH 算法的纠错能力,例如对于 Micron 16nm L95B cMLC,LDPC Harding Decoding 比 BCH 的纠错能力提升了 4 倍。图12LDPC 流程示意图LDPC Hard Decoding 主要是用校验矩阵对 FLASH 中的数据进行迭代校验,用 LDPC 迭代译码的方法,每迭代一次,对更新的 0/1 序列乘以校验矩阵,若全为零,

34、则得到正确码字,退出迭代,否则修正数据之后继续迭代,直到迭代出正确码字或者得到最大迭代次数为止。采用 QC-LDPC 及特别设计的两步法编码方式,以较低的资源存储编码矩阵, 同时实现了非常高的编码速度。通过改进 layer NMSA 算法的流水并行度,保证 3.2GB/s 的高吞吐率以及低于 3.1us 的译码时延,读写性能达到业界领先水平。Read Retry 是一种通过调整颗粒读电压来恢复数据的技术。Read Retry 使用的读电压档位由颗粒厂商提供,SSD 盘片通过遍历这些电压值来尝试恢复数据。Read Retry 技术的读电压模式很多,若依次尝试每个模式,读延时很大,华为企业级 SS

35、D 对 Read Retry 技术的应用进行了改善,根据 Block 的擦写次数、Retention 时间和 Read 次数的组合, 划分了多种场景,针对每种场景设置最优的 Read Retry 初始尝试模式,有效降低重读的次数,提升重读的准确度。Read Offset 技术的原理和 Read Retry 相同,但 Read Retry 只有颗粒自带的几种读档位, 在实际的应用中效果不是很好。因此华为企业级SSD 增加了Read Offset 技术以弥补ReadRetry 技术不足。华为企业级 SSD 通过厂家私有的颗粒接口并通过大量的样本和实验获取了不同擦写次数、数据保存时间和读次数下的 C

36、alibration Table,该表会保存在华为企业级 SSD 盘片,当出现错误之后的时候,华为企业级 SSD 通过当前 Block 的状态(擦写次数, 数据保存时间, 读次数)查询该表可以获得最合适的读电压值,提升恢复数据的几率。LDPC Soft Decoding 通过 Flash 中的数据和 LLR table 中的预置数据生产一个实数的 LLR 序列,每一个实数代表该比特是 0/1 的概率值。正数代表该比特是 0 的可能大,绝对值越大,0 的可能越大。负数代表该比特数是 1 的可能大,绝对值越大,1 的可能越大。LDPC 译码器利用这一串 LLR 序列,将 LLR 序列中大于等于 0

37、 的位置记为 0,LLR 序列中小于 0 的位置记为 1,得到一串 0/1 的序列,然后乘以校验矩阵,若全为零,则得到正确码字,退出迭代,否则继续迭代,直到迭代出正确码字或者得到最大迭代次数为止。华为企业级 SSD 通过优化 LLR Table 可以在 Hard Decoding 的基础上获得 150%纠错能力的提升。LLR TableFlash Data.111000.多重读的数据和.001100.011110.1的高可信位置100-9101-5111-2011+2001+5000+91的中可信位置1的低可信位置0的低可信位置0的中可信位置0的高可信位置根据多重读的数据和LLR Table生

38、成LLR序列.-9-5-2+2+5+9.输入LDPC译码器校验矩阵H取符号位进行校验.111000.符号位乘以校验矩阵H,结果不全为零,继续对LLR序列迭代计算对LLR序列进行迭代计算,生成一组新的LLR序列.-12+3-8-518+16.校验矩阵H取符号位进行校验.101100.符号位乘以校验矩阵H,结果全为零, 译码成功输出符号位为正确码字.101100.图13Soft Decoding 示意图华为企业级 SSD 盘片内置异或引擎对用户数据进行冗余保护,当 Flash 颗粒出现物理故障(页失效、块失效、die 失效甚至颗粒失效)时,采用校验数据块对故障块上的用户数据进行恢复,确保用户数据不

39、丢失。盘片采用 N+1 个页组成一个条带,以条带为单位写 Flash,在写 Flash 的过程中遭遇坏页,直接跳过该坏块页,将条带降级(N-1)+1 个页的条带进行写操作。图14写 IO 数据下 Flash 示意图当 Flash 颗粒发生读 UNC 错误时,启动数据恢复操作,采用发生故障的条带剩余数据进行 XOR 运算进行恢复,并写入新的空闲条带,此故障的条带进行回收,变成(N-1)+1 的空闲条带供后续 IO 使用。后台巡检图15读 IO 坏块数据恢复示意图NAND FLASH 上的数据会由于存放时间过长,读干扰、写干扰、随机失效等原因导致数据发生错误。通过巡检可以提前识别出现的风险并进行处

40、理,能有效防止这些错误导致的数据丢失,降低数据丢失的风险;华为企业级 SSD 采用了读巡检和写巡检结合的方式来防止数据出现错误。读巡检的周期一般为 2 到 3 天,通过短时间内迅速遍历 NANDFLASH 上的数据,观察数据跳变情况,对于出现高 BIT 跳变的数据及时搬移,通过读巡检防止由于随机失效、读干扰这些原因导致的数据错误;写巡检在常温下的周期大概是两周,巡检的周期会随着温度进行调整,写巡检会对数据的保存时间进行检查并搬移超过规定时间的数据,写巡检可以防止由于放置时间过长导致的错误。通过后台巡检可以提前识别风险,规避掉大部分的 NAND FLASH 错误,保证数据的可靠性。温度控制图16

41、后台巡检示意图随着环境温度的升高盘片内部的温度也会上升,当温度超过一定门限之后会降低盘片内部器件的可靠性和寿命,华为企业级 SSD 盘片内部设计两个温度传感器用于检测盘片内部的温度;当盘片的壳温超过 70时上报告警,温度进一步上升会限制盘片的性能以降低盘片的温度,当温度下降之后会逐步放开性能的限制以提供更好的性能。DrivePerformanceTj78100%(高温告警)78 Tj 85,小于 6 分钟50%(严重告警)Tj85,大于 6 分钟25%Tj78100%(解除性能限制)掉电保护图17温度性能关系图SSD 盘片为了提高性能会缓存部分数据在 DDR 中,当掉电发生的时候需要盘片内部的

42、备电能量将这部分数据下刷到 NAND FLASH,因此备电设计是影响 SSD 盘片可靠性的主要因素之一。通过电压监控模块,对输入电压进行实时监控,当电压跌落到设定值时, 发出中断信号给 SSD 控制器处理,进入掉电刷写数据流程。华为企业级 SSD 盘片备电的材料采用了稳定性和可靠性都非常好的固态铝固体电容, 铝电容不受温度的影响,能够工作在-50 度到 105 度的恶劣环境中。华为企业级 SSD 盘片对备电单元进行了分组设计,该设计可以在其中一组电容失效之后还可以保障盘片的备电;华为企业级 SSD 盘片在备电能量进行了 20%的冗余,当发生个体电容失效之后不会影响整个备电能力的降低。同时,华为

43、企业级 SSD 会周期性检查电容的健康状态, 当发现备电能量不足以支撑盘片下刷掉电时会及时上报告警。数据加密为了应对以下可能存在的数据泄漏场景:1)硬盘废弃;2)硬盘失窃;3)硬盘重用; 进一步降低信息泄漏风险,部分 SSD 盘片会支持数据加密功能。华为企业级 SSD 遵从可信计算组织定义的计算机相关领域信息安全标准和协议:Trusted Computing Group 简写为 TCG。提供静态数据(Data at Rest)加密功能,防止在硬盘转移、维修、回收等场景下非授权用户对企业机密数据或用户敏感信息的访问。采用的加密算法为 AES256(密钥长度是 256bit),支持业界通用的加密模

44、式 XTS 对用户数据进行加密保护。让用户数据更加安全。 4 华为企业级 SSD 对客户的价值高可用华为是业界唯一一家同时具备存储阵列、SSD 硬盘以及 SSD 控制器研发能力的存储厂商,掌握了 SSD 控制器芯片的核心技术,拥有 SSD 的自主知识产权。正因为华为在固态存储领域的垂直整合能力,可以提供上下拉通的业务可靠性保障方案、便利的维保方案和个性化的整体解决方案,华为企业级 SSD 的可用性得到极大的提升。智能坏块修复,FLASH 颗粒随着使用时间推移,必然会出现坏块(类似 HDD 的坏道),而华为企业级 SSD 具备后台自动智能坏块检测技术,当和华为自研存储阵列的智能坏块修复技术配合,

45、华为企业级 SSD 盘片会将后台扫描到的 UNC 主动上报给主机,可以提前修复数据,减少双盘失效的概率。全局反磨损均衡,华为企业级 SSD 提供了内部磨损查询接口,阵列可以通过该接口获取硬盘的磨损信息,并制定阵列系统级的磨损策略来达到延长 SSD 使用寿命和减少阵列故障率的目的。比如:阵列通过全局磨损均衡来延长系统内所有 SSD 的使用寿命; 通过全局反磨损均衡来避免同一个 RAID 组内多块 SSD 同时失效导致的客户数据丢失, 提高了系统可用性。不断业务在线升级,华为企业级 SSD 和阵列配合实现了在线不断业务升级,通过阵列和盘片的密切配合,在整个升级和激活过程中阵列帮助盘片缓存住 IO,

46、在不影响客户的业务情况下完成升级激活操作。数据恢复,当由于外部原因或者内部出现严重故障导致盘片数据丢失后时,华为企业级SSD 在部分失效模型下可以帮助客户恢复大部分的数据。快速销毁数据,华为企业级 SSD 支持 T10 Sanitize,能够在 1 到 2 分钟内快速销毁盘片内的客户数据,为用户节省销毁时间和成本。高性能华为企业级 SSD 使用全面领先的硬件架构采用了计算能力更强 Cortex-A9 芯片,功耗更低性能更强的 DDR4 并且支持多达 18 个 NAND FLASH 通道,同时华为企业级 SSD 采用了业界独有的硬件 FTL 架构,在 IO 路径上通过硬件加速,多个加速器的协同工

47、作, 减小 IO 的延时,提升盘片的吞吐量。4.2.1 性能参考许多应用场景存在着需要顺序读写的 IO 模型,如视频业务,文件拷贝业务,如下图所示华为企业级 SSD 在读写吞吐量上达到了业界最优。SAS 128k seq read10021000998996994992HGSTSandiskSamsungHSSDNVMe 128k seq read40003000200010000INTEL 1TINTEL 2THSSD 1THSSD 2T图18顺序读带宽800SAS 128k seq wirteSandiskSamsung6004002000HGSTHSSDNVMe 128k seq wir

48、te2000150010005000INTEL 1TINTEL 2THSSD 1THSSD 2T图19顺序写带宽华为企业级 SSD 除了具备较高的带宽性能,同时也有很好的随机访问性能,也适合随机访问的场景,如数据库,OLTP 等业务,华为企业级 SSD 的读写 IOPS 和时延在同等成本下做到了业界最优。250200150100500HGSTSAS 4k random readSandiskSamsungHSSDNVMe 4k random read7006005004003002001000INTEL 1TINTEL 2THSSD 1THSSD 2T图20随机读 IOPS35SAS 4k r

49、andom writeSandiskSamsung302520151050HGSTHSSDNVMe 4k random write35302520151050INTEL 1TINTEL 2THSSD 1THSSD 2T图21随机写 IOPS142SAS QD1 read latencySandiskSamsung140138136134132HGSTHSSDNVMe QD1 read latency806040200INTEL 1TINTEL 2THSSD 1THSSD 2T图22QD1 读时延80SAS QD1 write latencySandiskSamsung6040200HGSTHS

50、SDNVMe QD1 write latency806040200INTEL 1TINTEL 2THSSD 1THSSD 2T图23QD1 写时延高可靠华为企业级 SSD Diamond5 系列产品对外承诺的 MTBF(平均故障间隔时间)为 300 万小时。华为主要从以下几点做到了华为企业级 SSD 的高可靠性。严格筛选INCOMING QUALITY CONTROLPCBA QUALITY CONTROLFUNCTION TEST 1BURN-IN TEST华为企业级 SSD 的生产筛选流程如下图所示,包括 6 个主要的工序以及上千个质量测试项。尤其是华为企业级 SSD 在业界率先采用了 T

51、EMPERATURE CYCLE TEST 工序使整个故障拦截效果明显提升。TEMPERA- TURE CYCLE TESTSYSTEM TESTFUNCTION TEST 2图24华为企业级 SSD 生产筛选流程图来料管控方面,华为对 NAND FLASH、DRAM、备电电容等关键器件的来料进行了 100%的筛选,并制定了严格的质量标准,对于未达到质量标准的华为企业级 SSD 不销售。PCB 检查:通过自动光学检验(AOI)、自动 X 光检验(AXI)和在线测试(ICT)、,剔除失效缺陷的元器件及加工过程中引入的缺陷,提升产品质量。FUNCTION TEST1:测试 DDR、 Nor Fla

52、sh、 Nand Flash 和电容等硬件的连通性和基本功能测试,并加载测试固件。BURN-IN TEST:在高温环境下,对 DDR 和 Nand Flash 进行 24 小时的筛选测试,通过多达 9 种的检查算法挑选存在缺陷的 DDR 器件;通过不同数据模型的多轮读写,充分识别早期易失效的 Flash 颗粒,保证出厂时候颗粒的质量。FUNCTION TEST2:在常温环境下进行6 个小时的IO 测试,保证出厂时盘片的可靠性。TEMPERA-TURE CYCLE TEST: 在-5 度到 50 度温循环境,对盘片进行 IO 读写和掉电等测试长达 8 个小时,充分暴露盘片的硬件、焊接故障。SYS

53、TEM TEST:盘片装载到配套的阵列上,和阵列一起进行兼容性和基本功能的测试。在生产加工过程,华为对华为企业级 SSD 的硬件单板、焊接工艺、功能覆盖等进行 100% 的严格筛选,并在高温环境以及温循环境下对华为企业级 SSD 进行长时间和大压力的测试,对于不满足要求的华为企业级 SSD 不销售。盘级容错提前识别风险,减少数据丢失风险多重数据保护和多种数据恢复技术用料十足,有效替换坏块减少无效搬移使SSD盘片的磨损更均衡靠可高预留足够的保留空间坏块管理智能识别场景,动态调节回收策略垃圾回收软件方面,华为企业级 SSD 拥有业界领先的后台巡检算法、坏块识别策略、DDR 数据保护和全路径数据保护

54、等。硬件方面,实现了 ECC 检错/纠错算法、高级掉电保护策略, 保证了数据完整性及一致性。磨损均衡算法动态静态磨损均衡结合根据环境,智能调整多种预防策略巡检、温控业界领先的LDPC算法,多种数据恢复技术结合高级ECC纠错、RAID图25华为企业级 SSD 寿命可靠逻辑图除了常见的可靠性措施之外,华为企业级 SSD 还根据内部关键器件的特点和故障模式进行了有针对性的可靠性提升。通过对业界以及华为自己出货的 SSD 进行大样本量的故障统计和失效分析,总结出导致 SSD 失效的主要原因为闪存颗粒失效,体现在 UNC 数量过多、DIE 失效两个方面。华为企业级 SSD 除了能容忍这些故障模式外,还进

55、一步通过坏块扫描、健康度监控等手段提前识别故障,使用阵列系统级的 RAID 和预拷贝技术来保障数据的安全性。Trim Mode 技术NAND Flash 的一个编程/擦除周期就是电子束的一次往返移动,这种往返移动会逐渐对氧化层造成损伤,导致擦写次数的限制。氧化层损伤的程度与 NAND Flash 芯片施加在控制栅上的编程/擦除电压应力有关。NAND Flash 芯片出厂前,介质厂商在芯片内部存储了一组专有参数,用来控制对 NAND Flash 进行读/写/擦操作时施加在控制栅上的应力电压,如编程/擦除电压、编程/擦除时间等。减小该应力电压可以有效提高 NAND Flash擦写次数,提升 NAN

56、D Flash 寿命。另外,介质厂商设定的默认参数主要是保证介质规格满足厂商的宣称要求,对华为的 SSD 应用场景来说不一定是最优的。因此,华为企业级 SSD 采用了 Trim Mode 技术。Trim Mode 技术从华为 SSD 的实际应用场景出发, 对颗粒内部的专有参数进行定制化调节,进而调节编程/擦除电压、编程/擦除时间等, 从而增加颗粒擦写次数,延长 NAND Flash 寿命。华为企业级 SSD 通过厂家私有的颗粒接口并通过大量的样本和实验获取了不同擦写次数下的 Optimal Parameter Table,该表会保存在华为企业级 SSD 盘片。华为企业级 SSD 把 NAND

57、寿命划分为若干个阶段,并且通过软件在颗粒的不同寿命阶段配置相应的最优参数,保证颗粒工作在最佳状态,实现 Micron 16nm MLC 颗粒最大 8 倍的寿命提升。NAND Flash 存储单元示意图,图 a):Fresh NAND Flash,图 b): Cycled NAND Flash.高寿命由于 NAND FLASH 是有擦写寿命限制的,所以 SSD 也是有写入数据量限制的,但 SSD的寿命 NAND FLASH 的寿命。NAND FLASH 的寿命主要通过 P/E cycle 来表征,而SSD 的寿命是由 FLASH 的 P/E、盘片本身的系统设计以及软件算法共同决定的。SSD 寿命

58、评估参考业界 SSD 通行的寿命评估方法,华为定义的寿命计算公式如下:Lifetime(Year ) TBWDWPDuser UserCapacity 365其中:TBW:TeraBytes Written,即生命周期内该 SSD 可以写入的数据总量。DWPDuser:Drive Write Per Day,即每日整盘写入次数。本处的 DWPD 是指客户场景下实际的每日整盘写入次数。UserCapacity:用户可见的 SSD 单盘容量。365:1 年按 365 天计算。目前业界对企业级 SSD 的寿命都宣称是 5 年,但根据盘的不同规格对 5 年的应用做了限制,通常就用每日整盘写入次数(DW

59、PD)来表示,并且在 SSD 厂商提供的 Spec 中进行说明。所以 SSD 宣称的 TBW 可以用公式表示为 :TBW DWPDspec 365 5UserCapacity其中:DWPDspec:表示 SSD 厂商规格 spec 中说明的每日整盘写入次数。UserCapacity:用户可见的 SSD 单盘容量。365:1 年按 365 天计算。5:5 年的企业级 SSD 使用寿命。综上,寿命的计算公式可以简化为:Lifetime (Year ) DWPDspec 5DWPDuser可见计算 SSD 的寿命,首先就需要知道 DWPDspec 和 DWPDuser。通常 SSD 硬盘的 Spec

60、 中会清楚的写明该 SSD 宣称的 DWPDspec 信息,而 DWPDuser 则需要根据实际场景的业务 IO 模型来计算,公式如下:DWPDuser ThrouthputSpeed Write% DutyCycle 3600 24UserCapacity其中ThroughputSpeed:客户场景下每秒的业务吞吐量,为了方便计算,单位统一为(GBps)。 Write%:客户业务中 write 业务量占总体业务量的百分比。DutyCycle:客户业务运行时间相对于总时间的占比。UserCapacity:用户可见的 SSD 单盘容量,单位(GB)。 3600:每小时 3600 秒。24:每天

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论