Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Memblaze® PBlaze5 NVMeTM SSD
MemSpeed3.0®
MemSolid3.0®
“解码”企业级固态硬盘高性能和高可靠性
v3.1
技术白皮书
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
2
目 录
目 录 2
概述 6
行业发展趋势 6
PCIe SSD – 已成为数据中心的主流选择 6
PCIe SSD 凭借极致性能助力数据中心进入提速时代 6
PCIe SSD 运营成本(OPEX)大幅降低 7
PCIe SSD 市场营收占比逐年增加 7
NVMe — PCIe SSD 的最新标准 7
企业级市场 SSD 标准的演进 7
NVMe 带来哪些好处? 8
PBlaze5 2D NAND 到 3D NAND 的跃迁 9
单卡大容量,NAND 可靠性和成本优化 9
PBlaze5 在介质、容量、性能、功能等方面的主要演进 9
MemSpeed3.0 保证一致卓越性能 11
稳态性能和峰值性能 11
稳态下的一致性能更具实际意义 11
多 Plane 写操作 12
简单认识 NAND 结构 12
多 Plane 同时编程提升写性能 12
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
3
多核计算 13
多核并发提高性能 13
Flash 通道多核技术增强对 NAND 高级功能支持的灵活性 14
硬件多队列引擎 14
主机端多核多队列 14
硬件端多队列引擎配合主机端多核多队列 15
动态平滑技术 15
服务质量 QoS 和延时抖动 15
自适应负反馈动态平滑系统 16
Flash 通道 QoS 保证 16
保证 QoS,防止信息流拥塞 16
优先级队列管理机制进一步降低读延时 17
全局 FTL 17
闪存转换层 FTL 17
全局 FTL 如何提升设备性能并使磨损更均衡? 18
TRIM 18
TRIM 保证稳态性能的一致性并提升寿命 18
MemSolid3.0 打造企业级数据可靠性和一致性 19
全路径数据保护 20
什么是全路径数据保护? 20
全路径数据保护保证 UBER<10-17 21
数据路径端到端数据保护 21
不可避免的静默错误(SDE) 21
如何通过数据路径端到端数据保护降低静默错误率 21
超强 ECC 纠错码 - LDPC 22
为什么选择 LDPC? 22
LDPC 强大的软判决解码纠错能力 22
LDPC 的工作原理 23
增强的掉电保护技术 24
为什么 SSD 需要意外掉电保护? 24
电容健康监测增强异常掉电保护 24
通过“取消擦除指令”增强异常掉电时数据刷写的完整性 25
PCIe 链路端到端保护 25
认识 PCIe 链路 25
ECRC 生成和校验 26
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
4
元数据保护 26
高耐写高速率 pSLC 存储关键元数据 26
多备份元数据保护 27
RAID 数据保护 27
坏块的管理 27
Die 间动态 RAID5 恢复坏块数据 27
重读保护 28
重读的原因是什么? 28
持续判决电压校准 28
读干扰保护 29
读干扰产生的原因 29
设定动态访问阈值,搬移经常访问的数据降低读干扰 30
写干扰保护 30
什么是写干扰? 30
随机化实现写干扰保护 31
增强数据保持力 31
P/E 次数,温度如何影响 NAND 数据保持力 31
后台监控数据可靠性 32
磨损均衡 32
NAND 寿命有限的原因 32
动态&静态磨损均衡提升 SSD 寿命 32
快速启动 33
“按需”重建 FTL 缩短系统重启业务的恢复时间 33
高温保护 34
动态温度监控和调节 34
S.M.A.R.T 35
自我监控,分析和报告技术 35
关键标准 SMART 属性 35
PBlaze5 丰富的企业级 SSD 功能 36
AES-XTS 256bit 全盘数据自加密 36
可靠性更高的 XTS 加密模式 36
AES-XTS 工作原理 36
安全擦除 37
安全性更强的密钥删除 37
固件签名 37
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
5
固件 CRC 校验 + RSA 签名,避免错误固件升级和恶意篡改 37
双端口(仅 U.2 规格支持) 38
链路冗余保证高可用性 38
双端口是 NVMe SSD 在存储系统部署的关键功能之一 39
多命名空间 39
多命名空间的灵活性 39
灵活功耗管理 40
灵活功耗限制满足不同温度控制的系统要求 40
结束语 40
参考资料 41
致谢 41
修订历史 42
关于 Memblaze 43
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
6
概述
在企业级用户的业务场景中,对性能的需求越来越高,更高 IOPS、更低且高一致性的延时来满足快速的
数据访问。例如在线事务处理(OLTP),需要对实时的原始数据进行处理,力求通过并行查询和最小化响应
时间来提高单位时间内交易的数量;在线分析处理(OLAP),需要通过复杂的数据查询分析,为商业决策起
辅助作用;还有高性能计算,云计算,VDI 等应用。我们已经进入数字时代, IDC 评估 2015 年数据量为 7.2 ZB,
预计到 2020 年数据会增长近七倍到 44 ZB。正因如此,面对巨量的数据增长和对庞大数据的高效处理,高速存
储介质 SSD 成为当今数据中心不可或缺的基础设备。除了高性能,另有一些业务场景,如电子商务,数据的一
致性和安全性成首要考虑。数据的错误或损坏,可能会导致订单错误,原本下单买的靴子却送来了一件 T 恤,
本应该邮寄到北京的物品确寄去了深圳。更严重的,银行账户减少,甚至造成机密信息泄露。所以,企业级固
态硬盘无论从软件还是硬件层面,都需要不同级别的数据保护技术在提供高速性能的同时,来确保其可靠性。
PBlaze5 是 Memblaze 公司的第五代企业级固态产品系列,支持 NVMe1.2a 标准,采用最新 3D NAND 提供
高达 11TB 超大用户容量。凭借 MemSpeed®3.0 和 MemSolid®3.0 技术,充分释放 PBlaze5 的性能,保证高速稳
定的读写 IOPS 和带宽,极低抖动延时, 并支持灵活功耗设置;全路径数据保护,AES256bit 自加密,经过验证
的数据可靠性,为各种严苛的数据中心和企业级应用提供高速解决方案。本篇技术白皮书将解读目前 SSD 行业
发展趋势,阐述 Memblaze PBlaze5 的设计初衷以及其之所以能够展现出色性能的原因,并分享应用在 PBlaze5
上提高可靠性的关键技术,如何做到有效降低数据损坏风险,增强友好的用户体验。
行业发展趋势
PCIe SSD – 已成为数据中心的主流选择
PCIe SSD 凭借极致性能助力数据中心进入提速时代
在企业级市场,毋庸置疑,SSD 的应用已经占相当大的比重,特别是能够提供更高性能的 PCIe 接口的
SSD,一经问世,就以超越机械硬盘上百倍、甚至上千倍的随机读写速度震撼并征服用户,而相比 SATA 接口
的 SSD,PCIe SSD 也以十几倍的绝对的性能优势完胜。
IOPS (读/写)
SATA SSD的 13/28 倍
15K HDD的 4760/1320 倍
顺序带宽 (读/写)
SATA SSD的 8/7 倍
15KHDD的 16/14 倍
延时
SATA SSD的 1/3
15K HDD的 1/100
* PCIe SSD具有更高IOPS,带
宽,以及更低延迟
75000
11500
Random Read
Random Write
4K随机IOPS1320x
500
450
250
250
Sequential Read
Sequential Write
顺序带宽 (MB/s)
65
2000
延时
延时 (μs)
15K RPM HDD SATA SSD Memblaze PBlaze5 PCIe SSD
1/3
1/100
13x
4760x
7x
8x
14x
16x
随机写
随机读
顺序写
顺序读
Memblaze PBlaze5 PCIe SSD 和 SATA SSD , 15K 转 HHD 性能对比
MemSolid3.0 提高数据可靠性和
一致性,增强安全性的技术集合
MemSpeed3.0 达到一致卓越
性能,保证 QoS 相关技术集合
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
7
PCIe SSD 运营成本(OPEX)大幅降低
从 Wikibon 针对 SSD 和 HDD 的成本对比报告中可以看出,对于数据中心而言,如果考虑到诸如功耗、维
护、占用空间等等运营成本(OPEX),从 2016 年开始,采用 SSD 更经济,成本更低。从右图中可以解读出 3
点重要信息:
• Wikibon 预测在 2015 年底,SSD 的每 4 年运营成本
/TB 已经和 HHD 相当,并且从 2016 年开始, SSD 的
运营成本是 151 美元,低于 HDD 的 169 美元
• 采用 SSD 的运营成本下降幅度高于 HHD
• 到 2020 年,SSD 的每 4 年运营成本/TB 下降到 9 美
元,仅仅是 HHD 运营成本的 12%
PCIe SSD 市场营收占比逐年增加
随着 SSD 成本不断降低,同时越来越多针对 SSD 设计、
优化的软件、服务器、存储系统入市,IDC 预测从 2014 开
始,相对于 SATA、SAS,PCIe SSD 在企业级 SSD 中的营收占
比逐年大幅增加,并且在 2019 年将达到 40% 。
NVMe — PCIe SSD 的最新标准
企业级市场 SSD 标准的演进
NVMe 是专为 PCIe 接口固态硬盘设计的行业接口标准。其针对 PCIe SSD 的特殊设计,去除传统 SATA、SAS
接口 SSD 的存储架构,显著提高性能、降低延迟功,并提供更低功耗。NVMe 不仅在这一代非易失性存储介质
—闪存上已经体现了巨大优势,更大的优势会体现在下一代的存储技术上,譬如相变存储 PCM, NVDIMM 等,
相比现有的技术快几十倍、上百倍,时延低几十倍、上百倍。
统一标准没有标准沿用机械硬盘标准
成熟的生态系统 停止演进 私有协议 无生态支持 强大的生态系统 且持续演进
3Gb/s, 6Gb/s 高带宽 低延时 超高带宽 极低延时
ASIC 低功耗 FPGA 高功耗 ASIC 低功耗
单队列 性能瓶颈 不同IO优化技术接口 统一IO优化接口
易于部署 支持Boot和带外管理等 难于部署 不支持Boot和带外管理等 易于部署 支持Boot和带外管理等
第一代
SATA/SAS SSD
AHCI标准
沿用机械硬盘标准 没有标准 统一标准
第二代
PCIe SSD
私有协议
第三代
NVMe SSD
NVMe标准
企业级 SSD 标准的演进
$237
$169$140
$113$91
$74
$470
$151
$62$30 $16 $9-50%
19%
139%
300%
498%
732%
-100%
0%
100%
200%
300%
400%
500%
600%
700%
800%
$0
$50
$100
$150
$200
$250
$300
$350
$400
$450
$500
2015 2016 2017 2018 2019 2020
4-Y
ear/
TB f
or
Cap
acit
y D
isk
& N
AN
D F
lash
Projection 2015-2020 of Capacity Disk & Scale-out Capacity NAND Flash
4-Year Cost/TB Capacity Disk includes Packaging, Power, Cooling, Maintenance, Space & DiskReduction
Pri
ce R
atio
HD
D D
isk:
NA
ND
Fla
sh
Source: Wikbon 2015 4-Year Cost/TB Magnetic Disk & SSD. including Packaging, Power, Maintenance, Space, Data Reduction & Data Sharing
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
8
随着 SSD 技术的发展,NVMe 标准在不断演进,而 NVMe 标准迭代的同时,包括 SSD 在内,许多可以利用
基于 NVMe 总线的设备,其技术也在不断升级, 如支持 NVMe 标准的服务器,支持 NVMe 标准的存储驱动器
槽位,支持 NVMe 的控制器和适配器,通过光纤(FC)、以太网或者 Infiniband 网络连接的 NVMe over Fabric™
(NVM-oF) 适配器,部署在 NVMe 系统中的网络适配卡和协处理器适配卡(ARM 或者 GPU)。
NVMe 带来哪些好处?
NVMe 给数据中心部署了 NVMe SSD 带来 4 个显著的好处和优势。
出色的性能和极低延时。NVMe 的第一个好处是优化协议栈带来的出色性
能。从改进的 NVMe 存储协议栈图可以直观的看出从应用层到闪存设备的过
程中,到 NVMe 驱动器的路径要比到 SAS 驱动器的路径短,简化的路径缩短
了数据传输的中间环节。NVMe 相对于 SCSI/SAS 的延迟上的降低十分明显。
多队列。第二个好处是 NVMe 实现多队列机制配合主机端多核的架构,可以
充分发挥多路服务器的计算能力。NVMe 实现的多队列机制可以保证主机端
每一个核或者几个核共享对应的队列组(一个提交队列,一个完成队列),
这样即避免了像 AHCI 单队列存在的争用问题,也避免了中断发向某一单核造
成的性能瓶颈,正如 NVMe 对队列和 AHCI 单队列的示意图所示。从二者的对
比总结表中还可以解读出,相比 AHCI(SATA 遵循的接口标准)唯一的队列支
持 32 个命令,NVMe 支持 64,000 个队列,并且每个队列支持高达 64,000 个
命令,高并发性保证对前端强求的快速响应。
Uncacheable Register Reads 4 per command 0 per command
MIS-X and Interrupt Steering No Yes
Maximum Number of I/O Queues 1 64K
Maximum Queue Depth 32 Commands per queue 64K Commands per queue
Multiple namespace support No Yes
Parallelism & Multiple ThreadsRequires synchronization lock to issue command
No locking, doorbell register per queue
AHCI
Core #0
Main Memory
NVMe SSD AHCI SSD
Core #1 Core #2 Core #3 Core #0
Main Memory
Core #1 Core #2 Core #3
IO RequestIO Completion
IO Interrupt
Submission Queue
Completion Queue Completion Status
Request Entry
NVMe VS AHCI (多队列 VS 单队列, 队列深度)
兼容性。NVMe 带来的第三个优势是良好的兼容性。首先所有的 PCIe SSD 供应商像 Memblaze 可以遵循统一的
接口访问标准,无需私有定义。对于用户而言,不用烦恼对不同厂家、不同固件版本、不同操作系统各种驱动
的维护,只需要关注 NVMe SSD 的产品特性和成本来决哪种型号更适合当前的业务环境。因为像 RHEL/CentOS
6.5 及以上版本, SLES 11 SP3 及以上版本, Ubuntu 13.04 及以上版本已经自带 NVMe 驱动;Windows 8.1 和 Server
2012 R2 也已包含自带 NVMe 驱动; FreeBSD 在 10.2 以上版本自带原生 NVMe 驱动程序。NVMe 的兼容性优势不
仅给用户和供应商带来福音,对于 OEM 厂商来说也是一大利好,在产品选型和通过 OEM 认证时,对各种操作
系统的兼容性验证复杂度将会大大降低。
User Application
VFS/File System
Block Layer
REQ Queue
SCSI XIAT
SAS DriverNVMe Driver
UserKernel
NVMe SCSI
Linux Storage Stack
改进的 NVMe 存储协议栈
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
9
灵活的热插拔和做为启动盘。第四个好处是由 NVMe 兼容性所延伸出,不同产
品形态带来的实用功能。NVMe 标准支持 PCIe 插卡和 U.2 接口 2.5 寸盘的规
格 。由于对 NVMe 原生驱动以及主板 BIOS 中 NVMe 模块的支持,2.5 寸盘规格
可以很好的实现热插拔功能,使设备可以前维护,极大提高设备的易部署和易
维护性。同时支持 NVMe SSD 做为系统启动盘使用,灵活满足数据中心部署的
各种需求。
PBlaze5 2D NAND 到 3D NAND 的跃迁
单卡大容量,NAND 可靠性和成本优化
闪存行业最早出现的类型称作单层单元闪存(SLC,Single-Level Cell)。SLC 每一个单元储存一位数据,虽
然其擦写寿命很高,但是由于容量小,并且过高的生产成本并未被大范围采用。为了增加单位存储密度,多层
单元闪存(MLC,Multi-Level Cell)问世 ,该类型每个单元可以存储 2 位数据,存储容量翻倍。三层单元闪存
(TLC,Triple-Level Cell)是另一种每单元可以存储 3 位数据的闪存类型。这三种类型的闪存都是 2D NAND,也
称为平面 NAND。随着数据量的激增以及成本的考虑,为了进一步提高容量、降低成本, NAND 制程工艺从最
初的 50nm,到 2015 年的 19/20nm,转移至目前的主流制程 15/16nm。然而 NAND 闪存制程工艺的进步是把双
刃剑,虽然容量有所提升、成本也有降低,但 NAND 可靠性也有下降。因为工艺越先进,NAND 的删极氧化层
越薄,存储的电子也就越容易泄露,寿命降低,可靠性会越差。厂商通过软件层面可以进行弥补,但是因此增
加的成本又使 SSD 本身的性价比降低。
为了满足企业级用户对于大容量,低成本的需求,3D NAND 应运而生。相对于 2D NAND,
3D NAND 最大的优势就是容量密度的提升,以及更具竞争力的成本。这种闪存技术是通过堆
叠更多的层数的方式保证了 NAND 颗粒的容量、性能。而且 3D NAND 的制程重新跃迁至 30-
40nm ,相 邻存储
单元格距离增大,
所存储的电荷相互干扰减小,从而
提高可靠性。如下 NAND 技术演进
图中看出,堆叠层数越高,单位面
积能构造更多的容量。种种优点,
可以预测基于 3D NAND 的 SSD 产品
也会被越来越多企业级所选择。
大容量,高性能,高寿命,优化成本,这就是为什么 Memblaze 推出基于 3D NAND 的全新一代企业级固态
硬盘 PBlaze5。
PBlaze5 在介质、容量、性能、功能等方面的主要演进
下述表格对比了基于 2D NAND 的 PBlaze4 和基于 3D NAND PBlaze5,从容量、性能、寿命、功能等产品技
术参数体现出 PBlaze 系列产品的再次升级。
Technology Projection
Technology Node
GB
/CM
2
32-tier MLC
32-tier TLC
48-tier TLC
64-tier TLC
96-tier TLC
3D NAND
PLANAR TLC
NAND Flash Density Trends
Source – Micron
64Gb 19nm MLC
128Gb20nmTLC
128Gb20nmTLC
128Gb24-TMLC
128Gb32-TTLC
This works768Gb TLC
128Gb 16nm MLC64Gb 16nm MLC
128Gb 15nm MLC
2011 2012 2013 2014 2015 2016 2017
Gb
/mm
2
Calendar year
2D & 3D NAND 技术发展趋势
2.5 寸盘热插拔
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
10
Memblaze 新一代 PBlaze5 系列相比上一代 PBlaze4 的主要演进
产品特性 PBlaze4 PBlaze5
每个 Cell 的 bit 数 2 (MLC/eMLC) 3 (eTLC)
NAND 类型 2D NAND 3D NAND
单设备最大容量 3.2T 11T
应用技术 MemSpeed2.0
MemSolid2.0
MemSpeed3.0
MemSolid3.0
性能 ★★★★ ★★★★★
寿命 (PE 次数) ★★★ ★★★★★
ECC 能力 ★★ ★★★★★
每瓦 IOPS(能效) ★★★ ★★★★
功能
掉电数据保护、热插拔、全路径数据
保护、S.M.A.R.T
基本功能
掉电数据保护、热插拔、全路径数据保护、
S.M.A.R.T、TRIM
高级功能:
多命名空间、AES256 自加密、快速启动、端到
端数据保护、PCIe 链路端到端保护、密钥删除、
固件签名、双端口
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
11
MemSpeed3.0 保证一致卓越性能
过去的几年,在企业级市场已经看到多款 Memblaze 推出的企业级固态硬盘身影,它们之所以能提供高一
致卓越性能,都得益于 Memlaze 自主研发用于提升性能的技术集合 — MemSpeed。应用全面升级的
MemSpeed3.0 技术集合,拥有出色性能的最新一代 PBlaze5 企业级固态硬盘系列助力数据中心业务大幅提升。
下表对 MemSpeed3.0 及优化进行总结,包含一些具有代表性和独创性的技术点,实际的技术实现不仅限于此。
MemSpeed * PBlaze4 PBlaze5
MemSpeed 2.0 MemSpeed 3.0
多 plane 写操作 ✓
写回缓存 ✓ ✓
高性能 FTL ✓ ✓
闪存通道 QoS 保证 ✓ 信息调度 + 队列优先级管理
动态平滑技术 ✓ ✓
多核计算 16 个核 16 个 CPU 核 + 16 个 Flash 通道核
硬件多队列 ✓ ✓
TRIM ✓ ✓
稳态性能和峰值性能
稳态下的一致性能更具实际意义
为什么 SSD 的性能随着使用会越来越低?其实 SSD 的性能和它的写入历史有关,一般分为三个状态:
1. 刚拆封的状态(FOB,Fresh Out of Box):出厂状
态,也称之为“空盘”状态。SSD 的所有空间还没
有进行任何数据写入, 安全擦除可以将设备恢复出
厂状态,这时 SSD 的写入可以达到其峰值性能,因
为所有 SSD 的物理空间都可以用来数据写入。
2. 转换阶段(Transition State):随着使用,有效写入
空间变小,就需要触发“垃圾回收”机制释放空闲
空间,其性能逐渐下降。性能下降的幅度取决于之
前的写入负载(预处理的情况),还有当前的写入负载。
3. 稳定阶段(Steady State):当“垃圾回收”回收粒度和前端写入趋于平衡,SSD 的性能会固定下来,并
长期维持在这个状态。也可以说这是 SSD 的“最差性能”,对于使用者而言也是最有实际意义的参考性
能。
在进行 SSD 测试之前,首先要做的是预处理(Preconditioning),保证 SSD 进入稳态后再测试性能。
PBlaze5 参考全球网络存储工业协会(Storage Networking Industry Association,SNIA)定义的 SSD 基准性
能测试指导方法《Solid State Storage Performance Test Specification》,取稳态性能作为用户的参考性能。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
12
多 Plane 写操作
简单认识 NAND 结构
NAND 结构自底向上的组成元素为存储单元(Cell)/页(Page)/块
(Block)/晶粒(Die,也称 LUN)/Target/存储颗粒(也就是图示中在电
路板上的芯片贴片)。数据存储在“页”中,不同型号的 NAND “页”
物理大小不同,只有“页”为空时,数据才可以写入。若干“页”组成
一个“块”, 一般一个“块”里包含 2N 个“页”。如果“页”中有数
据,如何像 HDD 一样覆写?首先必须对整块进行擦除,这个过程也称为
“垃圾回收“,然后才可写入新的数据。再上一层,若干的“块”组成
“Plane”。
晶粒(die)是以半导体材料制作成未经封装的一小块集成电路,通常情況下,
集成电路是以大批方式,经过光刻等多項步驟,制作在大片的半导体晶圆(wafer)
上,然后再分割成方形小片,这一小片就称为 die。如 NAND 的结构图所示,4 个
“Plane”集成为一个 Die,可以对 4 个“Plane”同时并发工作(称为多 Plane 操作)。
在物理上多个 Die 会被封装成一个 Target,共享一套控制信号线 。
不同的 NAND 厂商提供不同的“Die”封装,如单 Die 封装(SDP,Single Die per Package), 两个 die 的封
装(Double Die per Package),4 die 封装(QDP,Quad Die per Package),8 die 封装(ODP,Octal Die per
Package).
多 Plane 同时编程提升写性能
多 plane 操作是 PBlaze5 实现的一种提升写性能的技术,它允许对相同的指令(读、写、擦)同时执行,
这些指令必须满足:
访问的 Die 地址相同
同一个 Die 中访问的 Plane 地址不同
每个 Plane 中访问的 Page 地址必须一致
采用这种技术提升 PBlaze5 的写性能,同时提升每瓦 IOPS 能效利用率。
Package (Chip)
Target 0
Die 0
Plane 0 Plane 1 Plane 2 Plane 3
Block 0
Page 0
Page P
…
…Block B
Page 0
Page P
…
Block 0
Page 0
Page P
…
…Block B
Page 0
Page P
…
Block 0
Page 0
Page P
…
…Block B
Page 0
Page P
…
Block 0
Page 0
Page P
…
…Block B
Page 0
Page P
…
Page Register
Cache Register
Page Register
Cache Register
Page Register
Cache Register
Page Register
Cache Register
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
13
PackagePackage
Target 0
Die 0
Plane 0 Plane 1 Plane 2 Plane 31
Target 1
Die 0
Plane 0 Plane 1 Plane 2 Plane 32
Target 2
Die 0
Plane 0 Plane 1 Plane 2 Plane 33
Target 3
Die 0
Plane 0 Plane 1 Plane 2 Plane 34
16K 16K 16K 16K
Target 0
Die 0
Plane 0 Plane 1 Plane 2 Plane 3
Target 1
Die 0
Plane 0 Plane 1 Plane 2 Plane 3
Target 2
Die 0
Plane 0 Plane 1 Plane 2 Plane 3
Target 3
Die 0
Plane 0 Plane 1 Plane 2 Plane 3
1 2 3 4
64K User Data:
Page
Single Plane Write Multi-plane Write
Writing order: 4 3 2 1
· · ·
Die 0
Plane 0 Plane 1 Plane 2 Plane 3
Block 0
Page 0
Page P
…
…Block B
Page 0
Page P
…
Block 0
Page 0
Page P
…
…Block B
Page 0
Page P
…
Block 0
Page 0
Page P
…
…Block B
Page 0
Page P
…
Block 0
Page 0
Page P
…
…Block B
Page 0
Page P
…
Page Register
Cache Register
Page Register
Cache Register
Page Register
Cache Register
Page Register
Cache Register
Package
DieTarget
Plane
Block
从 NAND Die 看单 Plane 和多 Plane 编程过程
如上示意图中可以看出多 plane 写和单 plane 写的不同。如果 SSD 接收到 64K 的用户写请求,NAND page
大小为 16K, 单 plane 写操作分别将切分的用户数据块(16K)写入不同 Die 中的 page, 如果 64K 的写入符合
多 plane 写的条件,会同时写入同一个 Die,不同 plane 的 page 中。所以多 plane 写操作的并发写能力,提升
了数据写入速率。从写入指令序列中我们也能看出多 plane 写能够提升性能的原因。对于单 plane 写操作,每
个写操作对应的 tPROG 编程时间是 900us,两个单 plane 写的编程时间就是 1800 us。但是 对于多 plane 写操
作,只需要一个 tPROG 和 1 个 DBSY 时间,一共是 901us。多 plane 写的实现,是 PBlaze5 达到高性能的技术之
一。
Multi-Plane Program(2 writes)
Single-Plane Program(2 writes)
Multi-Plane Enhanced Parameter Symbol Time Unit
Program time per page tPROG 900 us
Dummy Busy Time for Multi-Plane setting tDBSY 1 us
单 Plane 和多 Plane 编程指令
多核计算
多核并发提高性能
主机端,为了提高并发处理能力,计算机早已进入多核时代,对于存储设备端,闪存的出现和技术的不断
演进大幅提升访问速度。PBlaze5 上同样采用多核架构来增加并发处理能力,达到每瓦更高 IOPS 性能,提高存
储系统的能耗利用率。PBlaze5 的多核处理器包含 16 个嵌入式硬核,每个核有 500MHz 的运行频率。不同的实
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
14
例由不同的硬核处理,例如有的核负责从主机端获取数据并处理成后端单元需要的数据大小,有的核负责查找
空闲的地址,有的核负责对不同指令优先级的调度,有的核负责垃圾回收。每个核都各司其职,并通过互连信
息网络相互协调,这种多核架构更好的保证了对数据处理的并发能力。
Flash 通道多核技术增强对 NAND 高级功能支持的灵活性
NAND 行业,不同的闪存厂商制定不同的闪存接口标准,主要有“Toggle”和“ONFI”两大阵营。东芝和
三星主打“Toggle”标准,而英特尔、美光、海力士支持“ONFI”标准。增强的 Flash 通道可编程多核处理器,
对两种 NAND 接口的支持更加灵活,也可以实现更高阶的功能,如为了降低读延时,可以对已经排好优先级的
指令进行二次排序,再一次提高读指令的执行顺序,提高前端业务的的读响应。
Core 1 Core 2 Core N···
I/D-RAM I/D-RAM
Interconnection Message Network
Enhanced Flash Interface (Toggle/ONFI support)
I/D-RAM I/D-RAM
· · ·N Flash Channels
NANDNAND
NANDNAND
NANDNAND
搭载增强 Flash 通道处理器的多核处理器
硬件多队列引擎
主机端多核多队列
过去 10 年,主机端单核到多核的发展使得 CPU 处理能力增长 100 倍,与此同时,专门针对 PCIe SSD 标准
化接口 NVMeTM 应运而生,NVMe 支持多队列和更高的队列深度,相比传统 AHCI 标准(SATA、SAS 控制器接
口),NVMe 标准可以带来多方面的性能提升。一是 NVMe 的多队列有效解决核间争用问题,让多核系统的性
能进一步更好释放传统,而 AHCI 只有一个队列。在发出指令时需要同步锁定队列,因此,NVMe SSD 性能能够
实现在多核环境下的可扩展性;二是对 MSI-X 的支持,跟传统通过硬件引脚产生的“硬中断“不一样,MSI-X
是”软中断“,把中断信息和正常的数据信息一样,告知主机端,而且支持每个核都产生对应的中断;三是优
化了 IO 路径,精简了调用方式,执行命令时不需要读取寄存器,极大降低延时;四是增加单队列深度,NVMe
把最大队列深度从 AHCI 的 32 提升到 64K,大幅提升 SSD 的 IOPS 能力;五是提高了指令处理的效率,NVMe 只
需要从队列中读取 64 字节的指令(Command Entry)就可以从内存读取数据,而 AHCI 需要连续读 2 次。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
15
Core #0
Main Memory
NVMe SSD AHCI SSD
Core #1 Core #2 Core #3 Core #0
Main Memory
Core #1 Core #2 Core #3
IO RequestIO Completion
Submission Queue
Completion Queue Completion
Status
Request Entry
Uncacheable Register ReadsEach consumes 2000 CPU cycles
4 per command 8000 cycles, ~ 2.5μs
0 per command
MIS-X and Interrupt SteeringEnsures one core not IOPS bottleneck
No Yes
Parallelism & Multiple ThreadsEnsures one core not IOPS bottleneck
Requires synchronization lock to issue command
No locking, doorbell register per queue
Maximum Queue DepthEnsures one core not IOPS bottleneck
1 Queue32 Commands per queue
64K Queues64K Commands per
queue
Efficiency for 4KB Commands4KB critical in Client and Enterprise
Command parameters require two serialized host DRAM
fetches
Command parameters in one 64B fetch
AHCI
硬件端多队列引擎配合主机端多核多队列
主机端的处理速度已经有了数量级的增长,相应的在 SSD 硬件端,也需要提高自身的处理能力,延续
PBlaze4, PBlaze5 所采用的硬件多队列技术就是为了匹配主机端性能的增长,提高 SSD 性能的技术之一。
硬件多队列在 SSD 内部通过队列引擎实现,同主机端的队列组一样,硬件队列引擎同样有一个提交队列引
擎和完成队列引擎。提交队列引擎可以以极高的速率从主机端提交队列中抓取指令,并分发给相应的处理单元。
处理单元将处理结果返回并提交到完成队列引擎,再分发给主机端的完成队列,极大提高了对指令的并发处理。
Host
Core 0
Device Controller
Submission Queue
CompletionQueue
Core 1Submission
QueueCompletion
Queue
Core NSubmission
QueueCompletion
Queue
···
Submission Queue Engines
Process Unit 1
Completion Queue Engines
Process Unit 2
Process Unit 3
···Process Unit N
1 Host Writes Command to Submission Queue Entry
Host Writes Doorbell
Signaling New Command
2
Fetch Command
3
4Controller Executes
Command
Controller Writes Completion Entry5
Controller Generates Interrupt
6
7 Host Process Completion Entry
8
Host Writes Doorbell To
Release Completion Entry
硬件多队列机制
动态平滑技术
服务质量 QoS 和延时抖动
简单的说,QoS 就是对性能的保证,包括带宽、IOPS 和延时,以及性能一致性的保证。
对于企业客户来讲,业务系统往往 24*7 的持续运行,所以产品短时间内的高性能意义不大,企业客户需
要的是能够提供稳定高性能设备,特别是大压力下的稳定高性能保证业务运行的连续性。业界把瞬时出现比较
大的性能抖动,譬如超长延时等会经系统内部逐级放大,最终造成极差的用户体验。这种延时抖动产生的原因
往往是由于后台“垃圾回收”动作的进行。但是“垃圾回收”是 SSD 为了回收更多可用空间而进行的必要操
作,如何平衡前端 IO,后台“垃圾回收“,IO 延时这三者的关系?Memblaze 已获专利授权的动态平滑技术可
以实现这一目的。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
16
动态平滑技术和 Flash 通道调度技术相互配合来保证 PBlaze5 SSD 的 QoS 能力。所谓 QoS,指在规定的时间
内,以稳定一致的性能完成所有请求的能力。比较常见的 SSD QoS 量化指标是以 99%或 99.99%的可信度给出最
大的响应时间。譬如 QoS(99%)的指标是 0.1ms,表示总请求 99%的 IO 延时在 0.1ms 以内。
自适应负反馈动态平滑系统
自适应动态平滑系统的核心根据 IO 延时动态调整前端 IO 的输入和后台“垃圾回收”的 粒度。和负反馈系
统类似,系统的输出会影响系统的输入,在输出变动时,所造成的影响恰和原来变动的趋势相反。也就是当
IO 延时过大时,减小前端 IO 的输入,并增大后台“垃圾回收”的粒度。
Adjust Input IO
Adjust GC
High IO latency
IO input IO latency
动态平滑技术负反馈系统示意图
就如同高速公路收费站前发生拥堵一样,此刻让更多的车辆进入高速路只会使拥堵更加严重,可行的做法
是开通更多收费窗口(“垃圾回收”),同时对进入高速路的车辆进行限流(前端业务 IO),疏堵兼治,减
少车辆的等待时间(IO 延时)。
动态平滑技术在交通拥堵时的作用效果
Flash 通道 QoS 保证
保证 QoS,防止信息流拥塞
为了保证 Flash 通道 QoS,设计并实现了调度机制,以保证对不同 IO 的及时处理,进而减小延时抖动。
如图所示,调度的作用是在接收到大量不同的 IO 请求后,对于不同类型的请求进行优先级排序,并向 Die 上
的队列按照队列要求分发请求。一般来说,用户对于读的响应最为敏感,所以读的优先级最高;而写时异步写,
用户感知不到,所以优先级次之;擦除是后台动作,也最耗时,其优先级最低。调度同时要考虑的还有掉电时
的数据完整性要求,此时的写优先级最高。Die 队列上读写擦指令的个数和组合也有相应要求,必须考虑最坏
条件下,在电容允许的放电时间内,保证缓存数据的完整写入。
• Open more charging windows
• Limit the number of cars swarms into highway
Toll Gate Toll Gate
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
17
调度机制对信息流的控制可以有效的解决拥塞问题,是 NAND 内部提高性能的关键技术之一。
信息流的调度过程
优先级队列管理机制进一步降低读延时
一旦优先级排序好后,前端新发送的读指令必须等待之前已经排序好的指令执行完成后再提高优先级执行,
而 PBlaze5 的升级技术——优先级队列管理机制,对于应用场景用户可以进一步降低读延时。Flash 通道多核前
端实现输入消息优先级队组,其中输入队列组包含一个低优先级队列和高优先级队列,在通道多核后端实现输
出队列。进入输入队列组遵循先入先出(FIFO)顺序,但是高优先级队列中的指令可以最先被抓取并向输出队
列发送,然后向 NAND 介质中的 Die 队列上分发。经过调度过程的优先级排序后,如果有新的读请求下发,会
被插入高优先级队列中获得优先处理权。
SchedulerWrite
Read
Erase
Die queue
Message flow
···
···
···
Mixed Stream
User Read
···
···
···
High Priority Queue
Low Priority Queue
Die
···
System Read User Write System Write
···
···
Die
···
Die
Die
···
Priority Queue Management
Flash Channel
Core
Flash Channel
Core
···
···
引入优先级队列管理机制的调度过程
全局 FTL
闪存转换层 FTL
操 作 系 统 读 写 数 据 是 按 照 HDD 的 扇 区
(Sector, 512Byte)进行访问,但是 SSD 闪存的读
写是以 Page(一般为 4KB)为单位,擦除以 Block
为单位,这就导致现在操作系统使用的文件系统
无法管理 SSD,为了给 SSD 提供与块设备相同的
访问接口( 512 Bytes/sector), SSD 通过 FTL
(Flash Translation Layer,闪存转换层) 将自己虚
拟成一个基于扇区的设备,使得操作系统的逻辑
地址(LBA,Logic Block Address)重新映射成闪
Scheduler
Write
Read
Erase
Die queue
Message flow
···
···
···
Die
Die
Die
Die
Die
Mixed Stream
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
18
存的物理地址(PBA,Physical Block Address)。经过 FTL 映射后,闪存设备就能够被操作系统使用。另一方面,
在 SSD 上,由于磨损平衡的关系,同一个 LBA 映射的 PBA 并不是固定不变,因此,这个 FTL 映射表是动态变化
的。显然,FTL 层的映射效率直接影响 SSD 设备的性能表现。
全局 FTL 如何提升设备性能并使磨损更均衡?
全局 FTL 是相对于部分 FTL 映射而言,两者最大的区别是映射范围的不同。部分 FTL 是指特定的 LBA 会指
向特定的 PBA 地址,譬如对应是奇数地址的 LBA 和 PBA 映射,对应是偶数地址的 LBA 和 PBA 映射,或者某一
区间的 LBA 只能映射某个 NAND 中的 PBA 地址。这种映射的优点是逻辑简单,容易实现,但是带来的问题是有
了奇偶地址的限制,映射不够随机化。而对于 NAND 必须要考虑“磨损均衡”。因此 PBlaze5 设计了全局 FTL
的映射算法,任何 LBA 可以和 PBA 一一映射。全局 FTL 大大提高 IO 映射的随机性,进一步优化了对 NAND 磨
损均衡,提高整体 SSD 寿命和可靠性。
SSD
Page
LBA0 LBA1 LBA2 LBA3 LBA4 LBA5 …… LBAn
Partition FTLGlobal FTL
NAND/Package NAND/Package
NAND/Package NAND/Package
...
PBA
Die 0
Blo
ck 0
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die 1
Blo
ck 1
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die 2
Blo
ck 2
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die m
···
Die 0
Blo
ck 0
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die 1
Blo
ck 1
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die 2B
lock 2
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die m
···
Blo
ck X
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Blo
ck X
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die 0
Blo
ck 0
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die 1
Blo
ck 1
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die 2
Blo
ck 2
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die m
···
Blo
ck X
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die 0
Blo
ck 0
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die 1
Blo
ck 1
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die 2
Blo
ck 2
Page Page Page
PagePage Page
Page Page Page
Page Page Page
Die m
···
Blo
ck X
Page Page Page
PagePage Page
Page Page Page
Page Page Page
LBA 到 PBA 的全局映射
TRIM
TRIM 保证稳态性能的一致性并提升寿命
操作系统在删除 SSD 上的数据时,并没有真正将数据从 SSD 的 NAND 介质中删除,(在删除的文件的时
候,操作系统只是将删除文件所对应的数据块在文件系统中标记为“空闲”,并没有实际去清除数据块中存放
的数据),SSD 之前的物理地址中仍然存储着“已经被删除”的用户数据。对于 SSD 而言,只知道哪些地方存
了数据,但不知道这个数据到底还有没有用,数据的有效性只有操作系统才知道。只有当给存储着“已经被删
除”用户数据的地址写入新数据时,SSD 才能知道这些数据已经无效,等着“垃圾回收”的启动。这就存在两
个问题,一是如果在跑业务的时候用户删除大量数据,就会产生很多的无效数据,为了保证足量的“空闲空
间”,相应后续“垃圾回收”的时间也会变长,对业务的稳定运行产生影响;二是如果存储着“已经被删除”
用户数据的地址还没有写入新数据,SSD 依然认为这些数据有效,如果“垃圾回收”启动,这些无效数据可能
被搬移,引入额外写放大,如图中没有 TRIM 实现的第 3’个步骤,会额外对 C1 数据进行搬移。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
19
OS Logical View
1. User writes new files A,B,C,D
2. User deletes file “C”
File A
File C
File B
Free
3. User writes new file “E” to overwrite previous location of File ”C”
SSD Logical View (LBAs)
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 D1 D2
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 D1 D2
File A
Free
File B
Free
SSD Physical View (PBAs)
File CX
A1 A2 A3 A4
B1 B2 B3 B4
E1 E2 D1 D2
SSD writes new data to free space, only SSD knows about OP
OS only removes the pointer to the data C1, C2 and only OS knows existed C1, C2 is no longer valid. SSD is aware of invalid C1, C2 once they are overwritten
OS writes new file to old location, SSD marks old location contains invalid data and ready for GC, file E gets written elsewhere
File A File B
Free
File EFile D
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 D1 D2
Over Provisioning
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 D1 D2
A1 A2 A3 A4
B1 B2 B3 B4
GC GC D1 D2
E1 E2
File D File D
A1 A2 A3 A4
B1 B2 B3 B4
C1 F1 D1 D2
F2 F3
3’. User writes new file “F” and partial written without overwrite previous location of File ”C”
File A File B
Free
File FFile D
A1 A2 A3 A4
B1 B2 B3 B4
GC GC D1 D2
F1 F2 F3
C1
OS writes new file without overwrite old location, SSD will still treat C1 as valid data and may have extra move to free space once GC is triggered, file F gets written elsewhere
Without TRIM
OS Logical View
1. User writes new files A,B,C,D
2. User deletes file “C” and OS sends TRIM
File A
File C
File B
Free
3. User writes new file “E” to overwrite previous location of File ”C”
SSD Logical View (LBAs)
File A
Free
File B
Free
SSD Physical View (PBAs)
File CX
SSD writes new data to free space, only SSD knows about OP
TRIM from OS tells SSD to ignore the data in the location previously holding file “C” during GC
OS writes new file to old location, SSD writes file E to another free area
File A File B
Free
File EFile D
Over Provisioning
File D File D
3’. User writes new file “F” and partial written without overwrite previous location of File ”C”
File A File B
Free
File FFile D
OS writes new file without overwrite old location, SSD knows C1, C2 is invalid data and will ignore C1, C2 during GC
With TRIM
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 D1 D2
A1 A2 A3 A4
B1 B2 B3 B4
D1 D2
A1 A2 A3 A4
B1 B2 B3 B4
E1 E2 D1 D2
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 D1 D2
Over Provisioning
A1 A2 A3 A4
B1 B2 B3 B4
GC GC D1 D2
A1 A2 A3 A4
B1 B2 B3 B4
GC GC D1 D2
E1 E2
A1 A2 A3 A4
B1 B2 B3 B4
F1 D1 D2
F2 F3
A1 A2 A3 A4
B1 B2 B3 B4
GC GC D1 D2
F1 F2 F3
利用 TRIM 提前标记无效数据
正是出于上述原因,PBlaze5 提供了 TRIM 命令(SCSI 里面的同等命令叫做 UNMAP,NVMe 标准中称为
Deallocate),操作系统在删除文件时可以通过向 SSD 发送 TRIM 命令告诉它哪些数据块中的数据已经不再使
用了。如果用户在设备空闲或者业务不太繁忙的时候进行 TRIM 删除数据,SSD 在收到 TRIM 命令后,也同时
知道哪些数据无效,当达到触发“垃圾回收”的条件时即刻回收这些区块。因为 TRIM 让 SSD 提前知道数据已
经无效,相应使部分“垃圾回收”的动作提前,避免在业务运行压力大的时候因为后台过长时间的 GC 而影响
前端用户体验,同时最小化无效数据的搬移,改善 SSD 的写性能和寿命。
MemSolid3.0 打造企业级数据可靠性和一致性
闪存颗粒本身有可靠性的标准,但是存储颗粒只是 SSD 系统的部件组成,对于整个系统的可靠性就需要厂
商从硬件设计到软件实现做充分考虑。纵观全球,每个行业都不可避免的遇到过关键数据损坏和丢失,据国外
IT Policy Compliance Group 报告显示,数据丢失会对企业业务造成巨大影响,公开披露了数据丢失的企业预计
将导致其客户量及相关收入降低 8%。 而导致用户数据损坏或丢失的原因很多样,譬如操作系统的 bug,存储
设备的硬件或软件 bug,还有误操作这种“人为因素”也是不容忽视的重要风险之一。另外,随着技术的高速
演进,诸如多核处理器(Intel 18 核 Haswel 至强处理器已被广泛应用),内存不断增加,网络传输速率双倍提
升(应用于集群存储的 100Gb InfiniBand 网络),更大容量存储设备(PBlaze5 用户容量最大达到 11TB),都
会使数据损坏的风险增加。风险无处不在,不曾注意的是,甚至由天体爆发产生的爆发星(如超新星、新星和
耀星等)所产生的高能宇宙射线也会带来数据丢失的可能性。
因此,为了进一步增强 PBlaze5 的数据一致性,提高可靠性相关的 MemSolid 技术集合由 2.0 全面升级到
3.0。下表对 MemSolid3.0 及其优化进行总结,包含一些具有代表性和独创性的技术点,实际的技术实现不仅限
于此。
MemSolid * PBlaze4 PBlaze5
MemSolid 2.0 MemSolid 3.0
全路径数据保护 ✓ ✓
端到端数据保护 ✓
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
20
超强纠错码 100bits/4KB BCH LDPC
全盘加密 XTS AES 256-bit 对用户数据自加密
安全擦除 ✓ 密钥删除
增强掉电保护技术 ✓ 电容健康监控
PCIe ECRC 保护 ✓ PCIe 端到端 ECRC 校验
固件保护 多 slot + pSLC+ 多备份 固件签名 + 在线升级
灵活功耗管理 25W/20W 25W/20W/15W
元数据保护 pSLC + 多备份 ✓
读干扰保护 ✓ ✓
写干扰保护 随机化 优化随机种子生成
重读技术 ✓ 持续判决电压校准
增强数据保持力 ✓ ✓
RAID 保护 动态 RAID5 ✓
磨损均衡 全局磨损均衡 ✓
高温保护 动态温度调节 ✓
S.M.A.R.T ✓ ✓
双端口 ✓
全路径数据保护
什么是全路径数据保护?
全路径数据保护是指,数据在主机端通过 PCIe 链路传输到 SSD 控制器, 然后控制器将数据传输到 SSD
Flash 接口,在通过 Flash 接口将数据写入 NAND 颗粒中,再返回给主机端的整个传输路径中,每一段传输路径
都有纠/检错算法保证数据传输的正确性,降低数据出错的风险。
1. 主机 PCIe 接口 到 SSD 控制器有 LCRC 和 ECRC 保护。
2. 数据进入控制器内部会添加保护信息 PI 实现数据路径端到端保护
3. 控制器内 DDR 有 ECC 编解码纠错保护。
4. Flash 接口有 RAID 保护,CRC ,LDPC 编解码保护和重读保护。
PBlaze5 NVMe SSD
Host SSD Controller SSD Flash Interface
PCIe interfaceLCRC/ECRC Gen
PCIe interfaceLCRC/ECRC Check
PCIe interfaceLCRC/ECRC Gen
PCIe interface LCRC/ECRC Check
DDR interfaceECC encode
DDR interfaceECC Decode
RAID CRC Gen LDPC Encode
LDPC Decode
RAID
CRC Check
Fail
Success
NAND Flash
NAND Flash
NAND Flash
NAND Flash
NAND Flash
DMA EnginePI Insert
DMA EnginePI Strip
全路径数据保护
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
21
全路径数据保护保证 UBER<10-17
全路径数据保护的能力通过不可修复错误率(UBER ,Uncorrectable Bit Error Rate)进行量化。不可修复的
错误是指随着 SSD 的使用,错误率会慢慢上升,当超过了 ECC 的纠错能力,且上层重读技术、RAID 均无法修
正错误数据而产生这种不可逆的错误。 全路径数据保护可以使 PBlaze5 的 UBER 达到读取 1017 bits 数据(也就
是处理大约 11.1PB 的数据),仅有 1 bit 的错误。固态技术协会(JEDEC, Joint Electron Device Engineering
Council)定义的 JESD218 标准要求企业级固态硬盘的 UBER 小于 10-16。
Corrected by ECC (LDPC), RAID, Read Retry
Flash Media’s Raw Bit Errors(RBER)
UBER
Left uncorrected error 1 bit error for every 1017 bits read
PBlaze5 全路径数据保护保证 UBER<10-17
数据路径端到端数据保护
不可避免的静默错误(SDE)
对于 SSD 而言,有两类与之相关的错误类型,分为未被检
查到的错误和可以被检测到的错误。未被检测到的错误也称之
为静默错误(Silent Data Error),可以通过静默错误率(SBER ,
Silent Bit Error Rate)对其进行量化。静默错误是当设备给主机
端发送数据时,并没有告诉主机端接收到的是个错误数据。为
什么说“静默错误”可怕?因为返回一个错误数据不如什么数
据都不要返回。这种错误带来的连锁反应就像蝴蝶效应一般,
很可能导致更加严重的数据错误发生。譬如我们的银行账户可能从¥10000 变为¥10,操作系统元数据出现错误
可能导致多个文件系统的的部分损坏,甚至彻底无法访问。怎样的环境影响会导致静默错误的出现? 主要的
风险来自无处不在可能的位(bit)翻转,控制器,DRAM,甚至受到超新星的高能粒子射线照射。这些超新星
爆炸产生的大量的宇宙射线和放射性元素向地球涌来,我们的土壤,控制器,DRAM 都会受到铀和钍这些放射
性元素的辐射,这意味着所有的集成电路都暴露在低程度的电离辐射中,而电离辐射可能导致位翻转。虽然它
发生的概率很低,但却不可避免,所以企业级 SSD 需要用 ECC 保护的 DRAM,算法设计也需要考虑处理这种静
默错误。可以被检测到的错误通过 ECC 进行纠错,如果超过纠错能力,再由重读,RAID 技术恢复正确数据。
用什么技术可以发现静默错误的发生,保证数据一致性?答案是数据路径端到端数据保护。
如何通过数据路径端到端数据保护降低静默错误率
数据路径端到端数据保护是指给用户数据增加额外的保护信息(PI,Protection Information)来检验数据
一致性。 PBlaze5 设备通过 DMA 引擎增加 PI,保证数据在设备内部传输的一致性。其中 8 字节的 PI 中包含
16bit 的 CRC 信息,当用户数据写入时,ingress DMA 引擎根据传入 SSD 的数据计算生成 CRC 校验值增加 PI;当
对数据进行读取时,Egress DMA 引擎根据读出的数据生成新的 CRC 校验值,并和 PI 中的原始 CRC 进行比较。
如果两者不等,意味着可能检测到静默错误出现,DMA 引擎会对数据进行标记,将数据传输给主机端。主机
端可以根据业务的配置情况要求对错误数据重读,或者通过 RAID 保护等方法进行恢复。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
22
PI 信息结构和端到端传输路径数据保护技术示意图
也正是因为有了端到端数据保护和传输路径保护技术,PBlaze5 可以保证静默错误的发生率由通常的 10-17
~ 10-20bit 降低到 10-23bit,即主机端通过对检测到的静默错误纠错后,读取约 1YB 数据(1YB = 1024ZB =
1000000EB = 1000000000PB)只发生 1 bit 静默错误, 形象点说,根据专业机构预测,到 2020 年,地球上的数
据总量将会达到 40ZB,相当于读取 24 次 2020 年全球的数据总量,才会发生 1bit 的静默错误。
超强 ECC 纠错码 - LDPC
为什么选择 LDPC?
NAND 闪存由于物理结构上的问题,总会在各种条件下产生错误,如读写干扰、高温、辐射、寿命减少等
等。NAND 闪存初始可靠性可以用原始比特错误率(RBER)来表征,表示在未采用 ECC 纠错之前 NAND 固有产
生的错误率。如何满足企业级对可靠性的要求?则可以通过不可修复错误率(UBER)来评估所需要使用的 ECC
强度。JESD218 标准对于企业级 SSD 的 UBER 要求小于 10-16。而 TLC 的 RBER 比 MLC 高,一般对于采用 MLC 介
质的 SSD,采用 BCH 就可以保证企业级可靠性标准,如 PBlaze4 系列产品采用 100bits/4KB BCH。但是对于采用
3D NAND(TLC)为存储介质的 PBlaze5,就需要更强纠错能力的 ECC 码,低密度奇偶校验编码(LDPC)成为首
选的纠错方案,能够显著降低 UBER,并达到企业级产品所需标准。
LDPC 强大的软判决解码纠错能力
闪存中的数据,以所存储的电荷的电压是否超过一个特定的阈值 Vth 来表示。如下图所示,为 MLC NAND
存储单元中的电压分布曲线。在 SSD 还处于“青年期”时(刚开始使用),电压分布隔离,是理想状态的分布
状态。但随着使用过程中,相邻存储单元之间会产生读写干扰,电荷“泄露”等 NAND 固有特征带来的影响,
电压分布会发生平移和放大而出现“交织”,相邻两个存储单元中的数据可能被“误判”,从而导致错误。如
图中的 A 点,如果只是用硬判决,也就是不断调整判决电压值,通过“重读技术”来读取正确数据,重读在一
定程度上可以读出正确的数据,但是效率不高,而且很难准确判断 A 是属于“01”的区域还是“00”的区域。
如果能根据读取的结果加入一些“软信息”,这些软信息能反应 A 处于“01”或“00”区域的概率,就能更准
确的判断出 A 点真正的数值,这种纠错方式也称作“软判决译码”。从纠错的角度来看,LDPC 码已经接近了
纠错能力的极限。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
23
11 01 00 10
Vth
Read Reference Voltage
-△B +△B
Idea voltage distribution
Threshold voltage distribution shift right
·A
11 01 00 10
Vth
Read Reference Voltage
LDPC Error Correction
理想电压分布和偏移效果对比
相比只能硬判决的 BCH 纠错码,利用软信息纠错的 LDPC 可以极大提高纠错能力。
BCH 和 LDPC 的纠错能力对比
PBlaze 产品系列 & 纠错码 PBlaze4 (BCH) PBlaze5 (LDPC)
纠错能力 100bit / 4KB 550bit / 4KB
LDPC 的工作原理
这里我们图示一个基本的 LDPC 纠错流程。 在 NAND 中,ECC 对用户数据的最小保护单元包含被保护的用
户数据,CRC 和 LDPC 校验位。LDPC 在解码时会对保护的用户数据中在传输过程中产生的任何错误进行纠错。
当读取数据出错时,SSD 先采用“硬判决”打头阵纠错,如果多次读的硬解码失败,“软判决”替补队员上场。
附加携带的“软信息”也就是读出数据正确判为“1”还是 “0”的概率(对数似然比 LLR ,Log Likelihood
ratio),来辅助提高纠错的准确性。
Input protected message
LDPC encoder
Retrieved word from noisy channel
LDPC decoder
Read retry with LDPC hard decodingMax N times
Select three read RAW data
Fail?
Fail and < N?
LDPC decoding successfully
RAID
Success
LLR mapping
CRC generator
CRC checker
Protected User Data CRC LDPC Parity
Smallest addressable unit of ECC protection data stores on NAND
Soft LDPC decode
Protected Data
<N
LDPC 工作流程
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
24
增强的掉电保护技术
为什么 SSD 需要意外掉电保护?
在设备上电时,利用高速随机存储器(RAM)缓存数据,是 SSD 提高性能的方法之一。但是由于固有结构
的限制,RAM 有易失性,必须周期性对数据进行刷新,并且没有供电时,缓存在 RAM 上的用户数据会丢失。
如果是安全关机,系统会提前通知设备电源要中断,让 SSD 有足够的时间处理还没有落盘的数据,SSD 此时会
将缓存的或者正在写入的用户数据完整的刷写进 NAND(也就是完成图示中所有 5 步操作),同时不再接收新
的 IO 请求。但是,异常掉电不会提前给设备通知和刷写时间,缓存的数据极大可能丢失。如果没有意外掉电
保护,异常电力中断(譬如大面积供电中断,人为误操作,甚至电压不稳)将会给企业用户造成巨大损失。
包含易失性元器件的 SSD
电容健康监测增强异常掉电保护
为了最小化异常电力中断造成的数据丢失,Memblaze PBlaze5 系列产品设计了包含高能量密度电容的掉电
检测电路。如图中所示,e-Fuse 模块会持续监控 SSD 的供电电压,一旦业务供电降低到设定的阈值,则预示意
外掉电事件的发生。e-Fuse 就会切断供电电路,同时 SW2 关闭,SW1 开关打开,电容所在电路形成通路并开
始放电。电容电量的选择是基于缓存数据量的大小,同时要考虑这些数据量向 NAND 刷写的最长时间,所选的
电容能够保证最坏情况下刷写数据的电量(Q)要求。所以充足的电力保护窗口,给予数据从缓存刷写到
NAND 充足的时间。当电源接通时,电容会快速充电。
在产品出厂前,通过下发指令,硬件电路板上的 MCU 模块会模拟异常掉电机制对 PBlaze5 电容的生命状况
进行监测,来验证电容的有效性,从而保证电容的可靠性。
包含电容的掉电保护电路
SSD
NAND Flash
NAND Flash
NAND Flash
DRAM1
4
I/O Write Command
ACK
5
FlushHOST
SSD Controller
2
3
ACK
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
25
通过“取消擦除指令”增强异常掉电时数据刷写的完整性
“取消擦除”是 PBlaze5 新采用的技术,用来进一步保证异常电力中断是数据的完整性。该技术的应用主要有 3
个主要原因。第一个原因是“擦除”是非常耗时的操作,如果遇到电力异常中断,在电容放电的窗口期,从
DRAM 向 NAND 介质刷写中掺杂有擦除指令,在极端情况下,整个刷写周期有可能超过电容的有效放电时间,
其结果是导致部分数据丢失。因此将“擦除”指令取消等待上电后重新执行,不需要电容电量的增加,就可以
给关键的“编程”指令充足的执行时间保证。
第二个采用“取消擦除”技术的原因是由于 NAND 结构的差异,TLC 相比 MLC 需要更长的编程周期。因为 MLC
是一个 cell 存储 2bits 信息,分别为 Lower Page Data 和 Upper Page Data。而 TLC 是一个 cell 存储 3bits 信息,除
了和 MLC 相同的两个信息位,还包含 Extra Page Data,正如 MLC&TLC 存储状态图显示,因此 TCL 编程时间要
大于 MLC 编程时间( TTLC_prog = TLP_prog + TUP + XP_prog > TMLC_prog = TLP_prog + TUP_prog)。
111
011
001
101
100
000
010
110
Vth
TLCExtra Page Data Upper Page DataLower Page Data
11
01
00
10
Vth
MLCUpper Page DataLower Page Data
TTLC_prog = TLP_prog + TUP+XP_prog
TMLC_prog = TLP_prog + TUP_prog
MLC & TLC 的不同状态位
第三个原因,是考虑到在 SSD 使用过程中,由于大量的充放电过程,电容会慢慢老化同时伴随着电容电量降
低。“取消擦除”技术还可以增强在产品生命末期,遇到异常掉电时的数据完整性。
PCIe 链路端到端保护
认识 PCIe 链路
PCI Express,又称 PCIe,是一种高性能、高带宽串行通讯互联标准,除了显著提高系统吞吐量,还有具有
可扩展性和灵活性的特点,所以被广泛应用于网络适配、网络存储、大数据传输等领域。PBlaze5 也正是 PCIe
接口的企业级存储产品。目前很多处理器都支持 PCIe 设备和处理器直连,从而在有效提高了处理器与外部设
备间通信带宽的同时,极大降低了访问延时。PCIe 链路中有几个基本概念:
端口(Port):同一个芯片上的一组发送接收端口
数据通路(Lane):由两个发送接收信号组成
链路(Link):两个 PCIe 设备间的一个全双工连接,PCIe 链路可以由多个 Lane 组成
PCIe 总线使用端到端的连接方式,在一条 PCIe 链路的两端只能各连接一个设备,这两个设备互为是数据
发送端和数据接收端。随着业务的扩展,一台服务器中需要部署更多的 PCIe 设备, 这就要求服务器使用
Switch 扩展 PCIe 链路。如图示 Intel 的 Xeon E5-2600 v2 处理器支持 16 个 lane,通过 PCIe switch 扩展为 32 个
lane,Memblaze PBlaze PCIe 3.0 x 4 接口产品通过扩展的 PCIe 链路和 CPU 直连。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
26
CPUPCI Express x 16 lane
PCIex 4 PCIe
x 4
PCIex 4 PCIe
x 4
PCIex 4 PCIe
x 4
PCIex 4 PCIe
x 4
PCIe Switch (x 32 lane)
PCIe 3.0 x 4
PCIe3.0 x 4
PCIe3.0 x 4
PCIe3.0 x 4
ECRC effective between Port
Port : A group of transmitters and receivers located on the same chip that define a link
LCRC effective between Link
Link: A dual-simplex communications path between two componentsA xN link is composed of N lanes
Lane: A set of differential signal pairs, one pair for transmission and one pair for reception
利用 PCIe Switch 扩展 PCIe 链路
用户数据在 SSD 内部有诸多技术保证数据的一致性,PCIe 链路中的数据一致性如何保证?
ECRC 生成和校验
PCIe 链路数据传输的层次结构与网络协议栈较为类
似, 有多个层次,发送端发送数据时将通过这些层次,
而接收端接收数据时也使用这些层次。分别为物理链路
层、数据链路层和事物传输层。PCI Express 定义了设备
内部总线通信的数据格式,事物传输层数据包(TLP,
Transaction Layer Packet)。当 TLP 在两个 PCIe 设备间的
链路传输时,会添加 LCRC 和序列号,每经过一段链路,
LCRC 会重新生成,保证链路间的数据可靠性和一致性。
但是服务器中会通过 PCIe switch 来扩展 PCIe 链路,
甚至可能通过级联 switch 进一步扩展,数据会经过多级
switch 的转发,为了保证在所有 PCIe 链路上的数据一致
性,就需要 End-to-end CRC(ECRC)相助。也就是每个
接收到的 TLP 都会进行通过添加的 ECRC 进行校验,和 LCRC 不同的是,ECRC 在整个链路传输中保持不变。ECRC
是硬件行为,要实现完整的 ECRC,需要端口(port)发送接收两端都支持,也就是 CPU 和 device 都实现 ECRC
功能,哪一端发送信息,就会在传输层的 TLP 包中增加 ECRC 校验位,对端再进行校验。
ECRC,配合 LCRC,使 PBlaze5 极大提高数据在整个 PCIe 链路传输的可靠性。如果 ECRC 产生错误,则是不
可修复的错误,硬件链路本身无法纠错,会给主机端报 PCIe error。
元数据保护
高耐写高速率 pSLC 存储关键元数据
元数据是固态硬盘中非常重要的系统数据,FTL 表、磨损均衡相关寿命记录信息、读取\擦除计数、空闲
block、固件等等,我们都定义为元数据,这些数据对系统的可靠性而言至关重要。从元数据的类型可以看出,
Transaction Layer
Data Link Layer
Physical Layer
Tx Rx
Device Core
Transaction Layer
Data Link Layer
Physical Layer
Tx Rx
Device Core
ECRC LCRCFraming
EndDataHeader
Sequence Number
STP Framing
Link
PCIe Device B
• End-to-End ECRC
• Error Forwarding• Credit Base Flow Control
• LCRC Packet Protection
• Packet Sequence Protection• Packet Error Dectect/Correct
PCIe Device A
Transaction Layer Packet (TLP)
PCIe 链路数据传输层次结构
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
27
这些数据是需要经常被访问和更新的数据。元数据对闪存寿命的过度消耗会导致固态硬盘整体寿命的下降。为
了增强对元数据的保护,提高固态硬盘整的的使用寿命,将元数据存放在 pSLC 模式。pSLC 具有 SLC 低错误率,
高寿命,高读写速率的特点,一般 pSLC 能够达到 2-3 万次的寿命。
划分 pSLC 和 3D NAND(TLC)模式
多备份元数据保护
为了增加元数据的冗余,PBlaze5 会对元数据进行跨 Die,跨 channel 的多备份。
Die 1(metadata 1)
Die 2
Die 3
Die 4
Die 1(metadata 1)
Die 2
Die 1
Die N+1
Die M
Die N+M
Die N
Die 2N
Controller
NAND flash NAND flash NAND flash
Die 1(metadata 1)
Die 2
Die 2
Die N+2
NAND flash
Ch
an
ne
l 1
Ch
an
ne
l 2
Ch
an
ne
l N
Ch
ann
elM
Metadata
Die 1(metadata 1)
Die 2
Die N
Die 2N
NAND flash
Ch
an
ne
l N-1
多备份
RAID 数据保护
坏块的管理
NAND 中或多或少总是存在着坏块,这些存储单元已经失去存储数据的能力。有些坏块在 NAND 出厂时就
存在,厂商会对其进行标记,有些坏块是在使用过程中产生的,所以 SSD 必须对 block 的健康状况进行严密的
监控和记录。PBlaze5 内部如何评判一个 block 是否出现坏块的迹象?类似驾照扣分制,例如读失败计 3 分,写
失败记 5 分,擦失败记 12 分,累计够 12 分直接吊销驾照,标记为坏块,积分制规则也是根据 NAND 的自身特
性和以往经验给定,防止出现漏标或误标记过多坏块的情况,从而保证 SSD 在整个生命周期中的健康状态。
Die 间动态 RAID5 恢复坏块数据
什么是 Die?做为 NAND 的基本组成元素可以参考《简单认识 NAND 结构》章节。
ECC 可以纠正在其纠错能力范围内的错误,但是对于更大范围的错误,如随机出错比特数超过 ECC 的纠错
范围,闪存物理块失效,整个物理 Die 失效,就需要 RAID(Redundant Array of Independent Disk)这样的数据
冗余保护。PBlaze5 采用跨 Die 的动态 RAID5 保护机制,初始为 N+1 的 RAID 组,PBLaze5(N 代表用户数据,
N+1 是从性能和容量的平衡角度实验得出的选择),一旦 Die 中出现坏块,就可以通过其他 RAID 组中其他有
Host
SSD Controller
Storage
Bu
ffer
NAND Flash
pSLC mode(metadata)
NAND/Package
Die 0
...
Block 0Block 1
Block n
Block a
...
Block 2
...
Block n-2
Block a-1
Block n-1
Die 1...
Block 0Block 1
Block n
Block a
Block 2
...
Block n-2
Block a-1
Block n-1
Die m
...
Block 0Block 1
Block n
Block a
Block 2
...Block n-2
Block a-1
Block n-1
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
28
效数据和校验码恢复出坏块中的数据,之前的 N+1 RAID 组自动调整为(N-1)+1,再有坏块出现,RAID 组又会
动态变为(N-2)+1,线性递减到一定的门限值。这种优化大大提升了 RAID 保护的灵活性,增强了数据保护的
可靠性。
A1 A2 Ap· · ·A3
B1 B2 Bn
C1 CnC3
D3D2 DnDp
Die 1 Die 2 Die 3 Die N-1
Bp
Cp
A1 A2 ApA3
B1 B2 Bn
C1 CnC3
D3D2 DnDp
Die 1 Die 2 Die 3 Die N-1
Bp· · ·
· · ·
· · ·
· · ·
· · ·
· · ·
· · ·
Reconstruct
X
RAID 5 Dynamic RAID 5
· · ·
· · ·
Cp
X
动态 RAID5 保护进行错误恢复
重读保护
重读的原因是什么?
P/E 的消耗,数据保持力的降低,来自相邻 cell 的编程干扰,会造成浮栅门上电子的波动,使电子的电压
分布发生偏移。 如图所示,因为数据保持力会造成电子泄露,电压分布变小并向左偏移;而编程干扰会时电
压分布增加并向右偏移,这种偏移的结果就导致最初的基准判决电压不再准确,数据可能会被误判,也许之前
是“10”被判决读为“00”,也就是 bit 翻转,读错误发生。重读可以左右调整判决电压,直到找新的正确的
判决电压,读出正确数据为止(一般为了保证延迟,重读的次数会有所限制)。
如果在限定的重读次数后还是无法读出正确数据,纠错能力更强的 LDPC 软判决流程会候补上阵,但是纠
错力上升的同时会带来性能的下降和延时的增加。为了提高重读的纠错能力,同时降低对性能的影响,
PBlaze5 设计并实现优化重读保护的持续判决电压校准算法。
持续判决电压校准
持续判决电压校准算法的目的是在后台不断自动调整判决电压并找出基准判决电压值(两个相邻电压分布
的中心位置),而不影响用户的正常使用, 使判决电压两侧判决结果的 BER(bit error rate)接近,SSD 在需要
触发重读机制时用最少的尝试就可以纠错数据。另一个好处是自动调整基准判决电压值,可以极少触发 LDPC
软判决事件,相应减少对 SSD 的性能的影响,保证性能的一致性。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
29
11 01 00 10
Vth
Idea voltage distribution
Base Read Reference Voltage
Data Retention *Threshold voltage distribution shift left 11 01 00 10
Vth
Base Read Reference Voltage
Program DisturbThreshold voltage distribution shift right
11 01 00 10Vth
Self-Calibration due to Data RetentionAuto-calibrate the Base Read Reference Voltage to left
11 01 00 10Vth
-△B +△B
11 01 00 10Vth
Self-Calibration due to Program DisturbAuto-calibrate the Base Read Reference Voltage to right
-△B +△B
* For PBlaze SSD, data retention will never be too long, because of background scans with continuous movement of old data to new blocks.
持续判决电压校准自适应判决电压调整
RBER 是 Raw Bit Error Rate 的简称,也就是未使用 ECC 纠错前原始的 NAND 错误率。经测试,PBlaze5 开启
持续判决电压校准后 RBER 相比未采用持续判决电压校准技术降低近三倍。
采用持续判决电压校准技术相比未采用持续判决电压校准使 RBER 降低 3 倍
读干扰保护
读干扰产生的原因
对 NAND block 中的一个 page 进行读操作时,会给相邻的两个 page 加一个低的旁路电压,该旁路电压会
对存储单元中的数据有微弱影响,可能导致存储单元中的数据发生变化(bit 翻转)。读的次数越多,造成相
邻 cell 发生 Bit 翻转的概率越大。另一方面,block 的 P/E 消耗也会对读干扰造成影响。图示的数据反映了不同
P/E 次数,以及不同数据访问频率产生的错误比率。当 NAND 还没有经过使用(P/E 为 0),对数据的访问频率
达到 800w 次以前,读干扰会发生, 而当 P/E 达到 2000 时(绿色曲线),很少量的读就可以造成读干扰。
0.0
1.0
2.0
3.0
4.0
5.0
6.0
RB
ER N
orm
aliz
atio
n
PE(Program/Erase)
PBlaze5应用持续判决电压校准后RBER(裸bit错误率)的下降
RBER After cRLC RBER
RBER reduced 3X
应用了持续判决电压校准后的 RBER
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
30
Selected
PageStressed
Cells0V
I/O I/O I/O I/O
Unselected
Page
Unselected
Page
···
···
···
···
···
···
Apply a high pass-through voltage (Vpass) to multiple pages on a read
Vpass
Vpass
page
读干扰 不同读取次数和 PE 次数的错误率统计
设定动态访问阈值,搬移经常访问的数据降低读干扰
为了降低读干扰,会综合考虑 P/E 的消耗,对 block 设定一个动态的数据访问门限值,如果超过阈值,会
将数据搬移。读干扰保护技术的实现,使 PBlaze5 发生读干扰的概率大大降低。如果出现“干扰顽固分子”,
也会有 Read Retry 、LDPC、RAID 将其消灭之。
写干扰保护
什么是写干扰?
NAND 对 cell 进行写擦写,是通过在控制门
上加或不加电压,将电子“吸入”或释放出浮
栅门。当进行写编程时,对控制门加高电压,
而邻近位的电压也会被拉高,使附近 cell 的电荷
脱离实际的逻辑数值,造成 bit 出错。所以如果
写入属于出现连续的全“0”,或全“1”时,
相邻 cell 就更容易受到干扰,所存储的电子数量
发生变化。结果就会导致在整个产品层面,错
误率(Bit Error Rate)显著增加。但是在实际应
用中,这种连续相同输入是非常常见的数据格
式,所以为了解决写干扰,通过随机化技术来改变这种连续相同数据格式的输入。
Selected
PageStressed
Cells
12V
VCC
I/O I/O I/O I/O
String being programmed are grounded others are at VCC
0V 0V
Unselected
Page
Unselected
Page
Programmed
Cells
···
···
···
···
···
···
VCC
Vpass
Vpass
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
31
随机化实现写干扰保护
图示是随机化的过程,PBlaze5 采用随机化机制
来减轻编程操作造成的干扰。为了保证每次得到的伪
随机数(PRN,Pseudo-Random Noise)都足够地“随
机”,PBlaze5 对随机种子的产生方式进行优化,采
用硬件生成加密的随机数种子,再通过线性反馈移位
寄存器(LFSR) 和输入的数据异或生成伪随机数。
因此得到的伪随机数随机化程度更高,保证写入的数
据格式中“0”和“1”的数值接近均等,最大程度降
低写干扰的影响。
增强数据保持力
P/E 次数,温度如何影响 NAND 数据保持力
数据保持力是指存储单元在长时间不对其进行读写操作的情况下,其浮栅门级中存放的电荷会逐步漏电,
导致原本存储的数据发生变化,如图示中数据“0”可能变为“1”。漏电的快慢与隧道氧化层的磨损程度有
关,即与 P/E 次数有关。一般,NAND 寿命未消耗,40℃的情况下,MLC 的数据保持力能达到 1 年,eMLC 的
为 3 个月,磨损程度严重的 block 相比磨损程度小的 block 数据保持时间更短。
P-sub
N-well
P-wellN+ N+
Drain0v
Control Gate12v
SourceOpen
Program to “0” state
P-sub
N-well
P-wellN+ N+
Drain
Control Gate
Source
Data Leakage
P-sub
N-well
P-wellN+ N+
Control Gate0v
Erase to “1” state
Drain0v
SourceOpen
0V
0V
0V
12V
0V
0V
随着时间的增加 NAND 电子泄露现象
除了 P/E,温度对数据保持力同样会产生影响。根据阿伦尼乌斯方程建模出的温度与数据保持力的关系曲
线,很明显可以看到,随着温度的升高,电子活性增强,漏电的速度也会加快,数据保持力线性下降。当温度
达到在 85℃的高温时,MLC 保存数据的时间只有 52 个小时。
100 1K 10K
10 yr
5 yr
1 yr
Retention (Time)
Endurance
(P/E Cycles)
Infrequently cycled blocks have longer retention
Frequently cycled blocks
have shorter retention
1y
0.28y ≈3.3m
757h
247h
52h
0.25y ≈3m
0.069y ≈ 0.9m
187h
61h
21h
10
100
1000
10000
40 50 60 70 80
Flash Data Retention over Temperature
MLC eMLC
Temperature in Celsius (℃)
Nu
mb
er o
f ho
urs
(hs)
Flash 数据保持力随 PE 和温度的变化
LFSR(x32+x22+x2+x+1)
Randomizer Seed
Input Date Output Date (PRN)
Specific data pattern may have neighboring cells disturb each other
Page 0
Page 1
Not Randomize
Randomizing data can lessen the mutual influence of neighboring pages and columns
Page 0
Page 1
Randomize
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
32
后台监控数据可靠性
如何提高数据的可靠性?一方面会通过磨损均衡平衡所有 block 的寿命,另一方面 PBlaze5 会对数据的访
问进行监测,后台定时访问存储在 NAND 中的用户数据,当发现数据出错率接近 LDPC 硬解码的能力时,对这
部分数据进行搬移,写入新的地址,释放原来的存储空间,提升原有数据的可靠性。这套机制在 SSD 后台自动
运行,对于用户而言完全透明。
磨损均衡
NAND 寿命有限的原因
NAND 闪存的存储原理是利用了量子力学的隧道效应。在控制门上加较高的编程电压,源极和漏极接地,
使电子穿越隧道氧化层到达浮栅,并聚集在浮栅上,存储信息。擦除时仍利用隧道效应,不过把电压反过来,
从而消除浮栅上的电子,达到清除信息的结果。寿命有限的原因是,电子反复来回穿越隧道氧化层而损坏隧道
氧化层,导致存储单元物理破坏而不能再有效的保持浮栅门中的电荷。
NAND 如何存储电子
动态&静态磨损均衡提升 SSD 寿命
因为固有结构,NAND 的寿命有限,也就是有限的编程/擦写(Program/Erase)次数。数据有冷热之分,
经常用来存储热数据的 NAND 会更快被磨损,当超过限制的 P/E 次数后,存储单元的可靠性就会大幅下降,最
终不可用(变成坏块),需要从预留空间中挑选有效 block 进行补充。
PBlaze5 针对冷热数据的不同访问特点,采用静态和动态两种磨损均衡算法来提高固态硬盘的整体寿命。
文章提到 SSD 用映射表 FTL 进行 LBA 到 PBA 的映射,对于经常被读写的热态数据(热数据),会根据 PE 次数
和 block 中有效数据的个数综合来选择数据要存放的 block,保证全盘 block 的 P/E 接近平均 P/E,同时做尽可
能少的数据搬移,减小写放大。当新数据写入后,LBA 指向新的 PBA 地址, 有效解决了某个 block 因被经常擦
写而导致的过早磨损。
对于长时间没有被访问的静态数据(冷数据),会根据时间和 block 的 PE 次数自动搬移,释放原始存放静
态数据的 block,重新做为新数据的写入。并且 PBlaze5 对 FTL 进行了全局映射的优化(具体可参考全局 FTL),
使磨损更均衡,可以有效提高固态硬盘的整体寿命。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
33
Dynamic Wear LevelingChoose free blocks with less-wear for new writes
Static Wear LevelingStatic block with cold data are moved when erase count differences become greater than the given threshold
Block 0 Block 1 Block 2 Block 3
Block 1 Block 2 Block 3Block 0
Copy cold data to average PE cycle block
Free Block
List
PE Cycle 8 5 3 6
PE Cycle
Cold Data Block
1 11 5 3
Free Block Block
Without wear Leveling With wear Leveling
磨损均衡
快速启动
“按需”重建 FTL 缩短系统重启业务的恢复时间
随着大数据的不断增长,SSD 技术不断演进,SSD 的容量也在不断提升。例如 Memblaze PBlaze5 可以提供
单设备最高达 11TB 的用户容量。FTL 映射表是 SSD 中极为关键的元数据,表征了 LBA 与 PBA 之间的对应关系,
所以和 SSD 的容量成正比。但是大容量同时会带来一个问题就是 FTL 表也会更大,在系统重启时,很关键的环
节就是对 FTL 表的重构。如何使得大容量下同样保证极少恢复时间?PBlaze5 研发了“按需”重构的新型算法
并已经申请专利,旨在缩短掉电后的恢复时间,并保证恢复的 FTL 状态最新有效。
SSD
pSLC
3D TLC
On-demand Recovery Process
DRAM
Co
ntr
olle
r
pSLC
NAND Flash
···
Periodically
Flush
···
HO
ST
Write
SSD
pSLC
3D TLCDRAM
Co
ntr
olle
r
pSLC
NAND Flash
···
HO
ST
···
Journaling for Recent FTL State Modifications
I/O
1
4
52
3
45
2 3
Reconstruct
FTL
7
···
1 6
Flush
···
1
6
日志更新和恢复过程
如上图对 FTL 映射表更新记录日志和恢复过程,一旦 FTL 表有更新时,会产生同步的写操作对 FTL 更新进
行日志记录,然后周期性的将更新的 FTL 表刷新到物理 NAND 介质的 pSLC 区域中。重启设备时,根据记录的
日志信息能够保证重构出最新 FTL 映射关系。而“按需”重构可以明显减少大容量 SSD 的恢复时间,其工作原
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
34
理是在系统恢复的初始阶段,只恢复部分 FTL,剩余的 FTL 会根据实际写入的需要再进行重构。这种技术的好
处通过下图可以清晰说明:
Performance
Steady State
Performance transaction from ready to steady state on PBlaze5
Performance transaction from ready to steady state on PBlaze4
Time
PBlaze5 Flexible Ready Period
PBlaze4 Fixed Ready Period
Entire FTL Recovery
灵活的 Ready Period 设置
“按需”恢复,FTL 表需要多少重构时间?相对于 PBlaze4,PBalaze5 的恢复时间可调整,具体根据 SSD 容
量大小调优恢复时间。对于严苛的企业级业务系统,即使配置了多个大容量 PBlaze5 也可以保证系统重启业务
的快速恢复,提升可用性。
高温保护
动态温度监控和调节
如果系统过热,电路可能失效,NAND 中存储的数据也有会不稳定(如数据保持力降低)。PBlaze5 设置多
个高精度温度传感器,并设计了可靠的温度保护逻辑,在温度上升到第一警戒点时(Twarning),SSD 会向主
机端发送 warning 警告并自动降低读写性能,以防止温度进一步升高,当温度下降到低于 Twarning 时,SSD 自
动恢复性能,这个过程无须用户干预,对于用户而言完全透明。
如果温度进一步升高至第二警戒点时(Tcritical),所有读写操作会立刻停止,以防止电路过热损坏 NAND
中的数据,当温度下降,温度低于 Twarning 之后可以继续处理读写,性能回升。
TcriticalTwarning/TrestoreTemperature
Critical WarningP_normal
Performance adjustment when temperature around Twarning threshold
Normal performance
自适应温度调节技术
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
35
S.M.A.R.T
自我监控,分析和报告技术
S.M.A.R.T 是 Self-Monitoring, Analysis and Reporting Technology 的缩写,提供 NVMe 标准和厂商自定义的
SMART 信息,用于监控 SSD 的健康状况,并根据设定的门限阈值提供预警。SMART 信息可以通过工具获取和
解析(如 Memblaze 提供的 NVMe SSD 管理工具)。
关键标准 SMART 属性
SMART 分为标准 SMART 和厂商自定义 SMART 两部分。标准 SMART 由 NVMeTM 标准定义,一般用户关心
的参数有严重告警、设备温度、 有效预留空间占比, 使用寿命等。厂商自定义是对标准 SMART 的补充,可以
显示更加详细的 SSD 参数如磨损均衡相关的擦写次数,功耗,温度调节状态等等。
PBlaze5 的 NVMe 标准 SMART 属性
SMART 标准属性 描述
Critical Warning
当 设 备 触 发 以 下 条件 时 ,设 备 向 主 机 端 发 送 critical
warnings严重告警信息:
有效预留空间(OP)小于阈值
温度超过阈值
设备可靠性下降
设备变为只读
电容失效
Device Temperature 设备温度,设备所有温度传感器的最大值
Percentage of Spare Space 有效预留空间(OP)占比,初始100%(既无坏块),随着
坏块的出现,OP空间会减小,从100%开始降低
Threshold of Spare Space 有效预留空间(OP)阈值,低于阈值设备报警
Percentage of Device Life Used 设备已使用寿命占比,100%代表设备寿命使用完(此时
设备也许还能继续使用,但出错概率会加速上升)
Data Read 主机端从控制器读取数据总量,也就是用户读取总量
Data Written 主机端写入控制器的数据总量,也就是用户写入总量
Read Commands Completed by Controller 由控制器完成的读指令数数目
Write Commands Completed by Controller 由控制器完成的写指令数数目
Controller Busy Time(minutes) 控制器上电后处理I/O的时间
Power Cycles 开关机次数
Power On Hours 设备开机时间
Number of Unsafe Shutdown 异常关机次数
Number of Media Errors 遇到不可修复的错误次数,如CRC、ECC纠错失败,或
DIF/DIX的8字节保护信息不一致
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
36
SMART 标准属性 描述
Number of Error Log Entries Over Life 记录error log里面有几条记录
Temperature Sensor 1
PBlaze5板载有4个温度sensor对控制器、NAND各区域进
行精确的温度监控
Temperature Sensor 2
Temperature Sensor 3
Temperature Sensor 4
PBlaze5 丰富的企业级 SSD 功能
AES-XTS 256bit 全盘数据自加密
可靠性更高的 XTS 加密模式
高级加密标准(AES,Advanced Encryption Standard)是由美国国家标准技术研究所(NIST)制定的加密标
准,旨在对机密数据和咨询进行安全保护。目前该技术为美国政府与全球其他国家所采用,无论在软件还是硬
件加密中都有广泛的应用。 PBlaze5 会对所有写入的用户数据进行 AES-XTS 256 位硬加密。
最常见的 AES 是 128 位,256 位长度的密钥加密, AES 的加密模式分为加密块链接(CBC,Cipher-Block
chaining),电子密码书(ECB,Electronic Codebook)和 XTS 加密(XEX-based tweaked-codebook mode with
ciphertext stealing)。从安全性程度看,XTS 是三者之间安全性最高的加密模式。下图中最左侧的是未加密的
原始图像,右侧分别是经过 ECB 和 XTS 加密的图像。由于用 ECB 加密,相同的图形像素会产生相同的密文,所
以会出现中间图示的“渗滤”现象。而 XTS 可以保证相同的明文产生不同的密文。显而易见,对于企业级用户
对数据安全性有更高的要求,自然需要采用可靠性更高的 XTS 模式加密。
原始图像 ECB 加密图像 XTS 加密图像
AES-XTS 工作原理
数据加密,简单的说就是数据在写入时进行加密,读出时进行解密。PBlaze5 加密由控制器中的硬件逻辑
单元完成,数据写入时自动加密,对用户透明。XTS 加密模式用两个不同的 AES 密钥(Key1 和 Key2), Key1 用
来执行 AES 区块加密,Key2 用来加密“调整值(Tweak Value)”。Key2 对“调整值”加密后进一步经过伽罗
瓦多项式函数(GF)和 XOR 的修改,然后和明文混合。这保证了相同的明文不会产出相同的密文,达到输入
各区块产出独特加密文字的目标。相反的过程即可对资料进行解密。AES 密钥会存储在可靠性更高的 pSLC 模
式区域中并冗余备份。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
37
SSD
Controller
Host Memory
SSD
Raw data
Raw data
Without Encryption:
With Encryption: Host
Memory
Ingress DMA XTS-AES Encryption
Write: Raw data
Read: Raw data
NAND
Write: Encrypted data
Encrypted data
Plaintext: 128bitAES-enc: Standard AES algorithmKey1: Data encryption keytweak: 128bit tweak valueKey2: tweak encryption key
: GF(X) polynomialCiphertext: 128bit
Write
Read
AES-enc. AES-enc.
128-bit tweak
Key2 Key1
Plaintext
αj
Ciphertext
Egress DMA Decryption
NANDNAND
通过 XTS-AES-256 进行数据加密
注:扇区格式化为 4K 支持数据 AES 加密功能
安全擦除
安全性更强的密钥删除
在 SSD 使用很久之后,安全擦除可以将 SSD 恢复到出厂状态。这样做会永久破坏闪存颗粒中的数据,借
由此功能也可以放心“退役”不用的 SSD 不必担心隐私泄露。
对于用户而言,有两种安全删除数据的方式,一种是用户数据安全擦除,一种
是密钥删除。PBlaze5 支密钥删除这种方式,也就是说用户通过删除密钥,就相当于
彻底清除了所有的用户数据。而且密钥的大小只有 256bit,相比彻底删除全盘数据花
费的时间,不到 1 秒删除密钥即可完成。更重要的是,用户不用担心删除过程中遇到
意外掉电,或者下发删除命令后,数据并没有“真正”被彻底擦除。对于企业级用户而言,简单,快捷,安全
性更强的密钥删除方式对于敏感信息的保护必不可少。
固件签名
固件 CRC 校验 + RSA 签名,避免错误固件升级和恶意篡改
固件升级是 SSD 系统很重要的功能,而对固件进行数字签名则可以保证固件在交付用户传输过程中的有效
性,避免给黑客或蓄意破坏者留下篡改固件的漏洞。当 Memblaze 向用户发布固件时,固件会经过 SHA 哈希函
数生成 32 字节的固件摘要 A,然后通过 Memblaze 的 RSA 私钥对固件摘要进行加密(这个私钥只有固件厂商
Memblaze 产生,别人无法伪造),加密后的摘要报文和固件一起组成经过数字签名的固件。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
38
用户下载经过数字签名的固件后,在升级前首先对固件进行 CRC 完整性校验,存储在 PBlaze5 SSD 中的 RSA
公钥(公钥存储在 SSD 一部分的只读区域中)对签名固件解密获得初始固件摘要 A。同时固件再通过 SHA 算法
生成新的 32 字节固件报文摘要 B。两个固件摘要 A 和 B 如果经比较完全相同,则说明固件确实是由 Memblaze
提供的有效固件,允许进入升级流程。
Firmware Download and Upgrade Process
Firmware Signature Process
Signed firmware
Firmware1 runningFirmware1 running
Download Firmware2 in DRAM
Firmware1 runningFirmware2 in NAND
Firmware2 is running from designated slot
Download signed firmware from host memory
ActivateDecryption firmware
with public key
ResetOnline upgrade
1 2 3 4 5 6 7Firmware Slot
Memblaze RSA Private Key
Firmware
RSA(Firmware message digest A )
RSA Encryption
RSA(Firmware message digest A)
Firmware
Firmware message digest A(32 bytes)
H(Firmware)SHA-256bit
Signed firmwareRSA
(Firmware message digest A)Firmware
Memblaze RSA Public Key RSA Decryption
Firmware message digest A(32 bytes)
If two firmware message digest
match?Firmware Firmware message digest B
(32 bytes)
H(Firmware)SHA-256bit
固件签名和升级过程
NVMe 定义了 slot 的概念存放固件。PBlaze5 可以多 slot 存放固件,并且每个 slot 存放的固件进行双备
份冗余保护。其中 slot 1 设置为只读用来存放特定出厂版本,slot2 和 3 可以存放不同的固件版本。固件升级
主要分下载和激活两个步骤。第一步固件从主机端成功下载后,先存放在 DRAM 中,通过 CRC 和数字签名验
证固件的有效性。第二步激活相应的 slot,固件会被写入 NAND 介质中,并且无需热重启,即可完成升级。
注:固件签名功能默认关闭,可根据定制化需求使能该功能。
双端口(仅 U.2 规格支持)
链路冗余保证高可用性
企业级服务需要不中断的访问存储,满足高可用性。双端口设计提供提了创建两个失效区域的方案。一个
域通过一个链路连接一个端口,即使一个链路访问失败,还可以通过另一个链路访问。PBlaze5 双端口可以自
适应为一个 x4 端口或者两个 x2 端口(在支持双端口的服务器上)。
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
39
Storage controller
Storage controller
Dual Port
X2 X2
. . .
PCIe Switch PCIe Switch
Storage Controller Storage Controller
High Availability Storage System
高可用双端口示意图
双端口是 NVMe SSD 在存储系统部署的关键功能之一
在仍以 SAS 为主导的企业级集中式存储系统领域,NVMe SSD 的颠覆才刚刚开始。根据 IDC 的报告,2018
年全闪存阵列厂商们纷纷推出或计划推出支持 NVMe 的全闪存阵列产品。NVMe 已趋于成熟,而要把 NVMe 推
向企业级存储系统,双端口是关键功能之一,以确保系统级别的高可用性。在双端口的情况下,两台服务器连
到一个盘上,即使单个链路出现掉电、断路等问题,也不会影响盘向应用提供服务。从性能的角度看,
PBlaze5 双端口每个端口为 PCle3.0 x 2,可以实现 Active-Active 访问,带宽性能是 SAS 系统的 3~4 倍,延时减
少一半。
多命名空间
多命名空间的灵活性
命名空间是指 NVMe 设备中一段 LBA(逻辑块地址)空间。这段空间通常由设备厂商定义并预先设定。譬
如 Memblaze PBlaze5 系列 SSD 产品。 但是随着单盘性能和容量的增加,譬如 PBlaze5 单设备最大可提供 11TB
容量,随机读性能过百万,单个业务而言性能容量往往有富裕。
PBlaze 系列 NVMe SSD 容量和 IOPS 的升级
3.2TB
11TB
740,000
1,000,000
240,000
320,000
0
200,000
400,000
600,000
800,000
1,000,000
0
3
6
9
12
2015 2017
PBlaze4到PBlaze5容量和IOPS的跃迁
NVMe SSD容量(TB) 读IOPS 写IOPS
容量(TB) IOPS
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
40
面对这种情况,PBlaze5 支持在单盘创建多个命名空间。面对多业务混合部署的用户场景,用户只需创建
2 个或多个命名空间,将不同命名空间分配给不同的业务使用,而且可以分别设置不同的逻辑扇区(Logical
Sector)大小。PBlaze5 符合 NVMe1.2a 标准,支持高达 32 个命名空间,每个命名空间可以独立的设置逻辑扇
区 512/4096 字节,并可设置是私有还是可共享命名空间。数据一致性和安全方面, 每个命名空间拥有独立的
AES-256 位密钥对用户数据进行加密。默认命名空间设置指向整个用户使用空间(如"/dev/nvme0n1"),当创
建 多 个 命 名 空 间 后 , 主 机 端 可 以 看 到 多 个 独 立 的 设 备 列 表 , 如 "/dev/nvme0n1", "/dev/nvme0n2",
"/dev/nvme0n3"。
PCI Function 0NVM Express Controller
NSID 1 NSID 2
NS A
NSID 3
···NS B
NS C
Unallocated NVM
PCIe PortNVMe Subsystem
PCI Function 0NVM Express Controller
Unallocated NVM
PCIe PortNVMe Subsystem
多命名空间分配
灵活功耗管理
灵活功耗限制满足不同温度控制的系统要求
降低运营成本 OPEX 的一种有效方法是降低设备功耗和对冷却系统的需求。一些企业用户,对性能的要求
并不需要达到极致,只要满足业务的基本性能需求,但对设备功耗和环境温度有非常严苛的要求。SSD 在满压
力业务负载时,功耗达到最大值,PBlaze5 支持设置不同功耗模式,通过 Memblaze 提供的命令行管理工具进行
设置,进而对设备运行的平均功耗进行限制,相应散热也会减少,满足用户不同侧重点的需求。
结束语
Memblaze 全新一代 PBLaze5 企业级固态硬盘系列,凭借业内领先的技术优势,卓越的性能和可靠性,为
现代数据中心和企业级应用提供高速存储解决方案。
有关 PBlaze5 系列更多的产品信息,以及 Memblaze 全系列企业级固态硬盘产品和解决方案,请移步官网
www.memblaze.com。
PBlaze5 可选功耗模式 25W/20W/15W
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
41
参考资料
白皮书中用到的行业术语和定义参考来源于如下在不同行业的权威公司或者学术研究,包括但不仅限于此:
Gartner Research www.gartner.com
Wikibon www.wikibon.com
IDC Research www.idc.com
G2M Incorporated http://g2minc.com/
PMC-SIERRA www.pmcs.com
Intel www.intel.com
JEDEC www.jedec.org
JESD219 http://www.jedec.org/sites/default/files/docs/JESD219.pdf
NVMeTM www.nvmexpress.org
NVM Express 1.2a http://www.nvmexpress.org/wp-content/uploads/NVM-Express-1_2a.pdf
SNIA http://www.snia.org/tech_activities/standards/curr_standards/pts
Wikipedia www.wikipedia.com
Oracle www.oracle.com
“Threshold Voltage Distribution in MLC NAND Flash Memory: Characterization, Analysis, and Modeling”
“LDPC-in-SSD: Making Advanced Error Correction Codes Work Effectively in Solid State Drives”
致谢
张泰乐 博士, SSD 业务部副总裁
路向峰,首席技术官
袁戎,软件开发高级总监
孙清涛,产品架构师
薛立成,逻辑架构师
上官光华, 硬件开发经理
张松松,硬件工程师
田冰,知识产权主管
朱磊,应用工程师经理
李月宽,应用工程师
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
42
修订历史
修订版本 发布日期 更新内容 修订人
v3.1 2018/3/1 更新快速启动描述 王瑜
v3.0 2017/12/27
补充双端口功能描述
增加快速启动和多命名空间功能描述(高性
能和功能升级版本中新增功能)
因增加 910 子产品线,修改 700 和 900 子
产品线名称统一由 PBlaze5 系列代指
修改 PBlaze4 和 PBlaze5 产品演进对比表
王瑜
v2.1 2017/11/1 补充数据路径端到端保护描述
补充快速启动功能描述 王瑜
v2.0 2017/9/8 补充全路径数据保护描述 王瑜
v1.5 2017/9/1 增加多 plane 写指令图示
增加 MLC&TLC 存储状态图 王瑜
v1.0 2017/7/21 首次发布 王瑜/李月宽
Memblaze® PBlaze5
技术白皮书 | MemSolid3.0 & MemSpeed3.0 北京忆恒创源科技有限公司
43
关于 Memblaze
Memblaze 是一家具有创新基因的公司, 早在 2007 年他的创始人就已认识到 NAND Flash 存储介质需
要摆脱传统存储协议和接口的束缚,并提出了以 PCIe 作为固态存储的高速接口来解决这一问题。经过两
个创始人 3 年多的潜心研究,设计出了业界第一个 Device -Based 架构的 PCIe 闪存卡。这一架构与其他
Host-Based 架构的产品相比有很大进步,显著减少了用户对主机资源的消耗,提高了产品性能及稳定
性,受到了用户的广泛欢迎。
2014 年 Memblaze 成为国内率先通过 VMware Ready 认证的 PCIe 闪存卡厂商。2015 年 Memblaze 新
一代 PBlaze4 PCIe SSD 通过 VMware ESXi6.0 官方认证,双方关系得到进一步加强。2016 年推出全新一代
PBlaze5 企业级 SSD。此外,Memblaze 与东芝、Microsemi 、OpenPOWER 等企业级 IT 公司和组织建立了
广泛而深入的合作关系。未来,Memblaze 将在固态存储领域与众多合作伙伴共同建设完整生态,推动固
态存储产业发展。
Memblaze 客户遍布虚拟化、互联网、大数据及云计算等领域,其中包括百度、奇虎 360、优酷及腾
讯在内的中国最大的 50 家互联网公司及超大数据中心中。在金融、医疗、广电、能源、政府与军工行
业,Memblaze 已有成功案例,并将在数据库、虚拟化、云计算、大数据等应用领域为客户提供应用加速
服务。
请浏览网站获取更多信息:www.memblaze.com
咨询热线: 400-650-7995;
咨询邮箱:[email protected]
版权声明
本文档中的所有内容、格式及相关产品的版权属于北京忆恒创源科技有限公司,在未经北京忆
恒创源科技有限公司许可的情况下,不得任意引用、拷贝、抄袭、仿制或翻译成其他语言。
本文档提到的其他商标或商品名称均是他们公司所属的商标或注册商标,除非特别声明,此类
商标或商品与本公司没有任何联系。
本文档中的内容可能会有更新,如有变更,恕不另行通知。
© 2011-2018 北京忆恒创源科技有限公司