如何实现SSD系统级的可靠性?

本文涉及的产品
数据安全中心,免费版
简介: 前传中讲到的Read disturb与Program disturb 属于架构级的可靠性,Data Retention与P/E Endurance属于物理级的可靠性,这些基本可以归纳为NAND闪存相关的可靠性。看完前传,咱们进入正传,介绍一下SSD系统级可靠性的实现手段。



也许你有个疑问:SSD中存放数据的部分不就是NAND闪存吗?直接优化NAND闪存就可以提高SSD的可靠性了啊,那为什么还要优化SSD系统级的可靠性?

如果只是针对我们个人电脑的应用,只有一个块SSD,而且对数据安全的要求也不是太苛刻,也就没有了系统级优化的概念了。

但是在企业级数据中心,不单单是一块SSD,而是一个庞大的SSD阵列,并且对数据安全性要求很严格,这个时候系统级可靠性的优化显得灰常重要。

目前SSD系统级可靠性的优化主要有两个手段:RAID系统 和 高速缓存(Caching)。

其中,RAID=Redundant Arrays of independent Disks,中文含义为“独立磁盘冗余数组”,简称“磁盘数组”。

1. RAID系统
RAID技术在基于HDD机械硬盘发展起来的,RAID技术主要实现把数据分散存储在不同的硬盘,增加磁盘数组对失效信息的容忍度。把RAID技术移植到SSD阵列中同样适用。

虽然SSD内部的Wear-leveling和ECC技术已经可以解决大部分的失效信息,但是只能局限于属于NAND相关的失效信息。如果是系统造成的失效信息呢?这就需要RAID这个大神出场了。

根据对数据安全性能不同要求,RAID也可以分为不同的级别:

(1) RAID0级别
RAID 0 是速度最快的一种 RAID 模式。它需要至少两个驱动器,并且会将数据分条到每个磁盘。所有磁盘的可用容量合在一起,成为计算机上的一个逻辑卷。


一旦阵列中有一个物理磁盘发生故障,所有磁盘的数据都将不可访问,因为有部分数据已被写入所有磁盘。

RAID 0 是要求最高速度和最大容量的用户的理想选择。要处理超大型文件的视频编缉人员可以使用 RAID 0 来编辑视频的多个流,以达到最佳播放效果。RAID 0 阵列更适于在频繁的文件处理(例如视频编辑)中使用,不宜用作唯一的存储备份解决方案,也不宜在关键任务系统中使用。

(2) RAID1级别
RAID 1 是一种安全的 RAID 模式,它至少需要两个驱动器,并且驱动器成对工作。计算机上将安装一个逻辑卷,两个驱动器合并后的可用容量限制为不超过最小磁盘的容量。如果其中一个物理磁盘出现故障,可以立即从第二个磁盘上获取数据。即使一个磁盘出现故障,也不会丢失任何数据。

在一个磁盘出现故障时,RAID 1 可提供最高的数据安全性,但由于数据需写入两次,因此在写入时性能会略有下降。在更注重安全性而非速度的情况下,RAID 1 是理想选择。


(3) RAID2级别
与RAID3相似,都是将数据条块化分布于不同硬盘上,条块单位为位或字节。使用一定的编码技术提供错误检索及恢复。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。数据传送速率相当高。


天下没有免费的午餐,要利用海明码,必须要付出数据冗余的代价。输出数据的速率与驱动器组中速度最慢的相等。


RAID2还有个致命的缺点就是需要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂。因此在商业环境中很少使用。


(4) RAID3级别
RAID 3 使用字节级别的条带化技术,并采用专用的奇偶校验磁盘(下图中的磁盘 4),因此计算机上会安装一个卷。RAID 3 阵列能在一个磁盘出现故障的情况下确保数据不丢失。如果一个物理磁盘出现故障,该磁盘上的数据可以重建到更换磁盘上。如果数据尚未重建到更换驱动器上,而此时又有一个磁盘出现故障,那么阵列中的所有数据都将丢失。

RAID 3 在要读取连续的长文件(如视频文件)的环境中可提供良好的数据安全性。由于数据是从奇偶校验块中读取,因此磁盘故障不会导致服务中断。


RAID 3 适用于那些追求性能并要求持续访问数据的用户(如视频编辑人员)。对于密集使用不连续文件的用户来说,RAID 3 并非理想之选,因为专用的奇偶校验磁盘会影响随机读取性能。


(5) RAID4级别
RAID4与RAID3类似,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。


缺点就是在失败恢复时,它的难度比RAID3大得多,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。


(6) RAID5级别
RAID 5 综合了 RAID 0 的条带化技术以及阵列数据冗余技术(阵列最少包括三个磁盘)。

RAID 3 和 RAID 5 之间的区别在于,RAID 3 配置提供的性能更高,但总容量略低。数据会在所有磁盘之间分条,并且每个数据块的奇偶校验块 (P) 写入到同一条带上。如果一个物理磁盘出现故障,该磁盘上的数据可以重建到更换磁盘上。单个磁盘出现故障时,数据不会丢失,但如果数据尚未重建到更换驱动器上,而此时又有一个磁盘出现故障,那么阵列中的所有数据都将丢失。


RAID 5 综合考虑了数据安全和磁盘空间充分利用这两方面的因素。由于数据是从奇偶校验块中读取,因此磁盘故障不会导致服务中断。RAID 5 适用于归档,且适合那些追求性能并要求持续访问数据的用户(如视频编辑人员)使用。


(7) RAID6级别
在 RAID 6 中,数据会在所有磁盘(最少四个)间进行分条,并且每个数据块的两个奇偶校验块(如下图中的 p 和 q)写入到同一条带上。如果一个物理磁盘出现故障,该磁盘上的数据可以重建到更换磁盘上。这种 RAID 模式最多允许两个磁盘出故障而不丢失数据,而且它能更快地重建故障磁盘上的数据。

在驱动器出现故障时,RAID 6 能进行有效的重建,确保了数据的可靠性。为此,安全性要求较高,而性能要求不高的用户可以选择 RAID 6。

2. 高速缓存(Caching)
这个部分的高速缓存与SSD中的DRAM作用是一样的,在Host发送一小笔数据时,不会马上写到NAND闪存,尽量减少对NAND的操作,增加NAND的寿命。

相关文章
|
4月前
|
存储 缓存 监控
如何设计一个高可靠性的分布式缓存系统?
如何设计一个高可靠性的分布式缓存系统?
|
4月前
|
固态存储 测试技术 数据库
最新测试揭秘:TDengine 线性扩展能力能否满足你的性能需求?
**摘要:** TDengine 的线性扩展能力通过CPU和磁盘测试得以验证。在CPU测试中,使用TDengine V3.3.0.0和taosBenchmark,随着CPU核数从4增至12,写入性能线性提升,每个CPU增加对应约50W条/秒的提升,保持CPU在瓶颈状态。磁盘IO测试中,使用低速机械盘,增加磁盘数量导致写入性能成比例增长,充分利用新增磁盘IO。测试结果表明,无论CPU还是磁盘扩展,TDengine都能有效利用资源,展示出出色的线性扩展能力。
63 0
|
监控 负载均衡 测试技术
扩展性:构建无限可能的高性能系统
扩展性:构建无限可能的高性能系统
|
块存储
阿里云最新产品手册——阿里云核心产品——块存储——性能指标——吞吐量、访问时延
阿里云最新产品手册——阿里云核心产品——块存储——性能指标——吞吐量、访问时延自制脑图
155 0
|
Linux vr&ar Windows
实战篇|浅析MPS对PCIe系统稳定性的影响
MPS影响系统性能,还有一个更加重要的事情,MPS对PCIe系统稳定性也起着决定性的作用。
|
存储 固态存储 算法
多维度深入剖析QLC SSD硬件延迟的来源
不同的FW架构设计、FTL算法设计、NAND die plane/速率等的差异,都会直接影响SSD的性能与延迟,设计一块性能优越且稳定的SSD,是一项繁琐但具有很强艺术性的工程。
|
并行计算 算法 调度
核心特性—混合负载HTAP
PolarDB-X是一款支持HTAP(Hybrid Transaction/Analytical Processing)的数据库,在支持高并发、事务性请求的同时,也对分析型的复杂查询提供了良好的支持。
171 0
核心特性—混合负载HTAP
|
存储 固态存储 大数据
【阿里云总监课】存储系统设计——NVMe SSD性能影响因素一探究竟
NVMe SSD的性能时常捉摸不定,为此我们需要打开SSD的神秘盒子,从各个视角分析SSD性能影响因素,并思考从存储软件的角度如何最优化使用NVMe SSD,推进数据中心闪存化进程。本文从NVMe SSD的性能影响因素进行分析,并给出存储系统设计方面的一些思考。
4787 0
|
机器学习/深度学习 存储 安全
【盘点篇】从安全、稳定、高可用、高性能、智能等维度看阿里云存储 2018
2008年,为了探索阿里巴巴集团大规模存储解决之道,阿里云存储自研飞天大规模的分布式存储引擎(盘古 1.0 ),从写下第一行代码开始,阿里云存储的进化之路正式开启。
8944 0