如何实现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天前
|
监控 NoSQL 中间件
中间件系统整体可用性降低
中间件系统整体可用性降低的原因可能涉及多个方面
17 1
|
5月前
|
弹性计算 负载均衡 前端开发
如何设计一个百万级TPS分布式系统架构?
如何设计一个百万级TPS分布式系统架构?
119 2
|
8月前
|
监控 负载均衡 测试技术
扩展性:构建无限可能的高性能系统
扩展性:构建无限可能的高性能系统
|
存储 固态存储 大数据
你知道企业级SSD与消费级SSD的区别吗?
【引语】 前两天,一位从事大数据工作的好朋友问我: “企业级SSD与消费级SSD的区别是什么?” “大数据中心能否采用消费级SSD?” 我想,大部分朋友应该都知道SSD分为企业级和消费级,但是这两者之间的区别,也许并不十分清楚。
|
Linux vr&ar Windows
实战篇|浅析MPS对PCIe系统稳定性的影响
MPS影响系统性能,还有一个更加重要的事情,MPS对PCIe系统稳定性也起着决定性的作用。
|
存储 固态存储 算法
多维度深入剖析QLC SSD硬件延迟的来源
不同的FW架构设计、FTL算法设计、NAND die plane/速率等的差异,都会直接影响SSD的性能与延迟,设计一块性能优越且稳定的SSD,是一项繁琐但具有很强艺术性的工程。
|
存储 固态存储 算法
剖析QLC SSD硬件延迟的来源
不同的FW架构设计、FTL算法设计、NAND die plane/速率等的差异,都会直接影响SSD的性能与延迟,设计一块性能优越且稳定的SSD,是一项繁琐但具有很强艺术性的工程。
|
存储 缓存 算法
提高存储系统性能的技术
提高存储系统性能的技术
130 0
|
XML SpringCloudAlibaba Dubbo
这次我设计了一款TPS百万级别的分布式、高性能、可扩展的RPC框架
这次我设计了一款TPS百万级别的分布式、高性能、可扩展的RPC框架
230 0
这次我设计了一款TPS百万级别的分布式、高性能、可扩展的RPC框架
|
存储 消息中间件 缓存
高并发系统通用设计方法是什么?
高并发系统通用设计方法是什么?
113 0
高并发系统通用设计方法是什么?