如何实现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的寿命。

相关文章
|
2月前
|
存储 缓存 监控
如何设计一个高可靠性的分布式缓存系统?
如何设计一个高可靠性的分布式缓存系统?
|
2月前
|
固态存储 测试技术 数据库
最新测试揭秘:TDengine 线性扩展能力能否满足你的性能需求?
**摘要:** TDengine 的线性扩展能力通过CPU和磁盘测试得以验证。在CPU测试中,使用TDengine V3.3.0.0和taosBenchmark,随着CPU核数从4增至12,写入性能线性提升,每个CPU增加对应约50W条/秒的提升,保持CPU在瓶颈状态。磁盘IO测试中,使用低速机械盘,增加磁盘数量导致写入性能成比例增长,充分利用新增磁盘IO。测试结果表明,无论CPU还是磁盘扩展,TDengine都能有效利用资源,展示出出色的线性扩展能力。
36 0
|
4月前
|
监控 NoSQL 中间件
中间件系统整体可用性降低
中间件系统整体可用性降低的原因可能涉及多个方面
33 1
|
Linux vr&ar Windows
实战篇|浅析MPS对PCIe系统稳定性的影响
MPS影响系统性能,还有一个更加重要的事情,MPS对PCIe系统稳定性也起着决定性的作用。
|
存储 固态存储 算法
多维度深入剖析QLC SSD硬件延迟的来源
不同的FW架构设计、FTL算法设计、NAND die plane/速率等的差异,都会直接影响SSD的性能与延迟,设计一块性能优越且稳定的SSD,是一项繁琐但具有很强艺术性的工程。
|
存储 固态存储 算法
SSD写放大的优化策略要有统一标准了吗?
写放大WAF是NAND-based SSD寿命消耗的关键参数,WAF越大,寿命消耗越快,越接近1,则寿命消耗越慢,也是最理想的情况。 所以,为了让SSD的WAF写放大系数接近1,这些年,各种方案也被提出来。
|
并行计算 算法 调度
核心特性—混合负载HTAP
PolarDB-X是一款支持HTAP(Hybrid Transaction/Analytical Processing)的数据库,在支持高并发、事务性请求的同时,也对分析型的复杂查询提供了良好的支持。
165 0
核心特性—混合负载HTAP
|
OceanBase 数据库 关系型数据库
在「不可靠」硬件上,分布式数据库如何保证数据可靠性和服务可用性?
“数据不能丢,服务不能停”,OceanBase作为一款成熟的企业级分布式数据库,基于普通PC服务器,就能够做到传统高端硬件环境下的数据可靠性和服务可用性,而且还能做得更好。
1558 0
在「不可靠」硬件上,分布式数据库如何保证数据可靠性和服务可用性?
|
存储 缓存 分布式计算
9种高性能可用高并发的技术架构
对于大型网站,分层和分隔的一个主要目的是为了切分后的模块便于分布式部署,即将不同模块部署在不同的服务器上,通过远程调用协同工作。分布式意味着可以使用更多的计算机完同样的工作,计算机越多,CPU、内存、存储资源就越多,能过处理的并发访问和数据量就越大,进而能够为更多的用户提供服务。
2430 0
|
存储 关系型数据库 测试技术