存储 频道

端到端一致性保障,让数据在全闪存存储上更安全

?

在当今移动互联的时代,每时每刻都在产生数据,比如一张照片、一条朋友圈、一个位置定位……数据已经成为生活的重要一部分,并涉及日常的方方面面。

在企业中,数据的重要性则显得更具关键意义,因为数据是企业信息化的重要核心,存储的本质即是数据。

在读、写、存储、传输和处理过程中,数据出现了错误,但是错误没有立即检测出来,这种现象叫做静默数据破坏(Silent Data Corruption)。产生静默数据破坏的原因有很多,主要有以下几类:

1.硬件错误:内存、CPU、硬盘、FC或SAS链路等

2.Firmware错误:HBA、RAID控制器、硬盘等

3.软件bug:软件库、操作系统、应用程序、设备驱动等

硬件错误通常能通过ECC或CRC等校验发现,而Firmware错误和软件bug更易产生静默数据破坏。

现实中发生静默数据破坏的实例很多。某知名存储厂商写的《An Analysis of Latent Sector Errors in Disk Drives》一书中,对153万块硬盘进行了长达41个月的统计,一共出现了40万次以上的数据被破坏情况,分布在3855块磁盘上。说明静默损坏并不是一个小概率事件,而是一个常见的事件。作为存储系统,防止静默数据破坏是一个必须的数据保护要求。

硬盘静默故障在全闪存时代仍然存在

全闪存时代,阵列系统在大力度提速的情况下,低时延的背后,系统可靠性依然重点关注数据的一致性和正确性。

相比HDD,SSD会有较多元数据和Cache数据缓存处理,而且存储介质为电子元件(存在Data Retention、颗粒磨损等场景),由于数据经过的通道依然有各个软硬件模块的传递,硬件器件故障、链路故障或软件bug导致的静默错误依然会存在,所以需要有一种技术能处理静默数据故障。华为OceanStor Dorado V3继承了华为高端存储在这方面的一系列技术成果,能有效保证端到端的数据一致性。

如何解决数据静默故障

静默数据破坏成为一个全球共识的问题,因此2003年信息技术标准国际委员会的“T10小组”提出一个解决方案,即Data Integrity Field (DIF),数据完整性区域,对外也叫Protection Information (PI),数据保护信息。

T10 PI(Protection Information)标准是在ANSI T10 SCSI协议中定义的一种数据完整性校验方法,这种校验通过在数据块后增加8字节的保护信息来实现。

端到端数据在全闪存存储上更安全

DIF字段

DIF主要用来防止和检测静态数据破坏,包括数据通道上的硬件故障和软件bug导致的数据破坏,以及磁盘不可检测和纠正的数据错误等。核心原理就是数据摘要的思想,在数据刚生成的时候根据数据内容计算出摘要信息,插入DIF字段。在后续数据流过的关键通道上设置校验点,如果数据有变动,新计算出的摘要信息一定不会和初始插入的摘要信息吻合,从而知道数据发生了错误。

主机和应用层数据校验推出DIX

传统的DIF数据保护只定义了从IO控制器到存储之间的链路保护,没有涉及主机操作系统以及应用层。因此Oracle基于业务对数据静默损坏防护的需求,将DIF作为Oracle Linux OS和Oracle中的数据保护,称之为DIX(Data Integrity Extensions)。

DIX(Data Integrity Extensions)延伸了PI的保护范围,实现了从应用到主机HBA的数据保护。

DIX+T10 PI(DIF)可以实现从应用到硬盘的端到端数据保护。DIX保证应用、HBA卡的数据完整性,T10 PI (DIF)保证HBA 、阵列和硬盘的数据完整性。

DIX与DIF

华为的全路径数据保护方案

E2E(端到端)的数据保护是由DIX+T10 PI(DIF)组成,DIX主要包含应用为Oracle、OS为Linux等服务器层面。

华为全闪存存储OceanStor Dorado V3支持端到端的PI功能,包含:

1.主机侧对PI的支持(DIX)

2.阵列内部各业务模块对PI的支持(阵列级DIF)

3.后端SAS芯片到盘对PI的支持(硬盘级DIF)

4.SSD盘到NAND Flash对PI的支持(芯片级DIF)

端到端数据在全闪存存储上更安全

华为后台一致性校验,让数据一致性更加可靠

PI可以有效预防和检测以下错误:

1.写操作时数据写错地址

2.写到磁盘上的数据不完整

3.数据传输通道的链路故障、部件故障或者软件bug导致的数据错误

4.以上情况以外的磁盘不能检测的数据错误

PI虽然可以检测预防阵列内大部分的数据不一致的情况,但也不是包治百病。比如,对于第一次写对但是第二次写错位置的情况就不一定能检测出来,例如write NEW A Wrong(write to C)、read A OK,BUT DATA IS OLD。

端到端数据在全闪存存储上更安全

比如在第二次写操作完成后,后续的操作首先读到的是C block,就可以发现错误,并可以利用RAID纠正C block的错误,如果是首先读到的A block,那错误就不可避免了。

但是华为OceanStor Dorado V3存储提供了父子校验,数据的DIF部的CRC校验信息会在其元数据节点中保存一份,数据读取时不仅要对数据做DIF校验,还要和其元数据节点中的CRC做校验,以及分条一致性检查功能,可以有效避免上述场景的数据错误,及时识别并修复。

如何打造快速的数据端到端校验

数据校验在每个业务层级都需要进行对应的校验运算,对性能有一定影响,在全闪存这种高性能诉求的场景影响更为明显。

在存储网络层,华为SmartIO接口芯片提供DIF校验算法的硬件卸载,在开启DIF校验后性能几乎不下降,在存储层,华为采用Intel芯片提供的T10 PI CRC算法的硬件加速指令,相对于传统的数据校验算法有10倍以上的效率提升,很好的满足了全闪存存储对于性能和可靠性的诉求。

端到端数据在全闪存存储上更安全

在SSD内部,华为自研SSD控制芯片集成了DIF校验功能,同时该功能采用硬件卸载的方式,保证了SSD持续处于稳定的低时延。

结合前端网络硬件卸载,CPU硬件加速以及SSD芯片硬件卸载,保障了华为新一代全闪存存储OceanStor Dorado V3在使用DIF提供端到端数据一致性校验后,依然可以提供业界领先的性能以及0.5ms的稳定低时延。

可靠,不能只看单点,华为OceanStor Dorado V3存储提供端到端的数据保护解决方案,带来极致稳定高性能的同时,也为企业数据安全保驾护航。

华为将于2017年9月5-7日在上海举行全联接大会2017,届时将会对华为全闪存做进一步的解读,敬请期待!

特别提醒:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
0
相关文章