PBlaze5 920系列特性——可变Sector Size管理(上)

这是一条nvmecli的format命令,需要指出的是这条命令会打开PBlaze5 系列NVMe SSD端到端数据保护功能。当下,端到端数据保护技术已经是PBlaze5 910/916及最新发布的PBlaze5 920系列中成熟的数据保护技术,并且Memblaze实现了不同大小的sector 和元数据组合方案(Variable Sector Size Management,下文简称“VSS”),可以根据客户的业务需求设计最优化配置。

之前,我们侧重于端到端数据保护技术的原理介绍,比如《企业级的数据链路保护是什么?》,这篇我们主要通过实验和命令,解读PBlaze5 920系列NVMe SSD的端到端数据保护方案的实现和验证。

 

为什么要用端到端数据保护?

Host正确无误的将一个a写到NAND上,并在需要的时候将a正确的读出来,这件事看似基础,并且十分必要(显然只有读上来的是正确数据才有价值)。但是对于SSD而言却有很多挑战,SSD的软硬件缺陷、温度乃至一些射线等不确定因素都可能会导致出错。

有些错误通过LDPC等纠错机制就可以发现和纠正,但是也有极少数错误不能通过这些常规的机制检测出来,被称为静默错误(Silent Data Error),这部分错误虽然极少但是对于金融、医疗等行业用户的众多核心业务系统来说是无法容忍的,而消除静默错误带来的风险就需要依靠端到端数据保护技术。

端到端数据保护的关键就在于PI(Protection Information)作为元数据时的传输与校验,元数据有DIF和DIX两种方式,经过T10组织的相关工作已经实现了标准化。简单来说,DIF即元数据与用户数据(LBA Data)连续存放;而 DIX格式则是元数据与用户数据单独存放;根据应用场景的需求,设计解决方案时可以适配DIX或DIF格式。(本文中提到的元数据主要指端到端数据保护的PI信息。)

                                                                                     DIF和DIX元数据原理图

DIF/DIX等几个基本概念解释到这,下如何判断一块盘是否具有端到端数据保护功能。本文的测试环境如下: 

NVMe SSD设备:PBlaze5 D926 NVMe SSD(3.2TB)

NVMe version: 1.2

操作系统:Centos 7.4

Kernel:4.19.44(为了确保端到端数据保护功能的稳定运行,建议使用高版本的长期支持版Kernel。)

NVMe 命令工具:nvmecli 1.10.1

对PBlaze5 D926执行Identify Namespace 命令,与端到端数据保护有关的结果摘选如下:

PBlaze5 920系列特性——可变Sector Size管理(上)_第1张图片

可以看到,PBlaze5 D926支持DIX和DIF,并且支持Type1/2/3三种type(与PI的格式有关,后文会对三种type做解释)。

PBlaze5 920系列端到端数据保护技术一个重要的特点就是支持多种sector size和pi的组合,也就是VSS技术。同样是刚才的Identify Namespace 命令,我们查找这块PBlaze5 D926支持的format格式。

PBlaze5 920系列特性——可变Sector Size管理(上)_第2张图片

从上面的结果可以看出,PBlaze5 D926支持512 Bytes4096 Bytes两种sector size的格式化,并且两种sector size还均支持带8 Bytes的元数据,并且还支持4096 +64 Bytes的格式化方式,这就是VSS技术的灵活之处。

有了这些知识,我们就可以执行nvme format命令。他的命令帮助如下:

PBlaze5 920系列特性——可变Sector Size管理(上)_第3张图片

在选项里,与端到端保护相关的是-l(指定format的格式)、--p(指定pi格式)、--p(指定PI在元数据中的位置)、--m(1为DIF,0为DIX)。此外,用户还可以根据需求设置—reset和—force等参数。

再回到文章开始的这条format命令。他的意思是将/dev/nvme0n1格式化,sector size为512+8B(8B为PI信息大小),并且采用DIF标准,将8字节大小PI信息放在元数据开头,元数据位于数据LBA的结尾部分

再次执行对namespace的状态进行检查,并找到flbas 的结果:

PBlaze5 920系列特性——可变Sector Size管理(上)_第4张图片

至此,这块PBlaze5 D926端到端数据保护功能已经打开。用户无需关心PI信息如何进行存放或者传输的问题。而下一篇文章我们将通过nvme write命令,来解读如何验证端到端数据保护,并走进PI,了解其type1/2/3三种形式的异同。

在现实应用中,存储阵列在端到端数据保护领域有长期的积累,其对数据可靠性要求级别非常高,因此是NVMe SSD端到端数据保护的一个重要应用方向,此外PBlaze5 系列的双端口等功能同样为打造高可靠、高可用闪存阵列提供了有力支持。在Memblaze与宏杉科技为代表的存储厂商长期合作中,双方已经在闪存阵列领域有了诸多突破。

 

 

本文作者:黄辉   |   Memblaze 产品工程师

更多原创技术内容,请关注 Memblaze 微信公众号。

你可能感兴趣的:(PCIe闪存,固态存储,NVMe)