RAID中SSD的当前状态(2016年)是什么?


51

在线上有大量资源讨论如何在RAID配置中使用SSD驱动器-但是这些资源大多数可以追溯到几年前,并且SSD生态系统发展非常迅速-正当我们期望英特尔在今年晚些时候发布“ Optane”产品时它将再次改变一切。

首先,我将确认消费者级别的SSD(例如Intel 535)和数据中心级别的SSD(例如Intel DC S3700)之间在质量上存在差异。

我主要关心的是TRIMRAID方案中的支持。据我了解,尽管自从将SSD引入消费级计算机已经有6年了,距离NVMe投入商业已经有4年了-现代RAID控制器仍然不支持向TRIM连接的SSD 发出命令-除了Intel的RAID控制器在RAID-0模式下。

TRIM对于驱动器彼此镜像的方式,RAID-1模式不提供支持令我感到惊讶。但是我离题了。

我注意到,如果要对磁盘(HDD和SSD)进行容错,则可以在RAID配置中使用它们-但是由于SSD没有TRIM,这意味着它们会遭受Write-Amplification的影响,这会导致额外的磨损,反过来会导致SSD提前失效-不幸的是,这具有讽刺意味:旨在防止驱动器故障的系统可能最终直接导致它。

所以:

  1. TRIM现代(2015-2016年)SSD 是否需要支持?

    1.1。TRIMSATA,SATA-Express和基于NVMe的SSD之间对支持的需求有什么不同?

  2. 通常,驱动器被宣传为具有改进的内置垃圾收集功能。这是否消除了对的需要TRIM?他们的GC流程在RAID环境中如何工作?

    1.1。例如,请参阅此2010年的QA,其中描述了由于not-TRIMming而导致的性能严重下降(https://superuser.com/questions/188985/how-badly-do-ssds-degrade-without-trim)-以及2015年的一篇文章提出了强烈建议使用TRIM的情况(http://arstechnica.com/gadgets/2015/04/ask-ars-my-ssd-does-garbage-collection-so-i-dont-need-trim -right /)。您对这些关于必要性的强有力论点有何反应TRIM

  3. 较早几年的许多文章和讨论都涉及SLC与MLC闪存,并且SLC更可取,因为它的使用寿命更长-但是,当今所有的SSD(无论它们在消费者到企业范围内的位置如何)似乎都属于MLC如今-这种相关性区分了吗?

    1.1那么TLC闪存呢?

  4. 如果企业SSD的写周期限制非常高(例如,在一个驱动器的预期5年使用期限内,则通常具有更高的耐久性/写限制(通常以一天中可以完全覆盖该驱动器的次数来衡量))。每天100次完整写入)是否表示它们根本不需要TRIM,因为这些限制太高了?或者相反,这些限制只能通过使用来达到TRIM吗?


6
虽然我无法回答您的问题,但我认为应该考虑到我们行业正在努力消除专有RAID的最佳事实,但是公共云提供商现在都在计算和存储服务上都使用了SSD,肯定可以解决此问题。云计算创新暴露了诸如硬件RAID,Cisco IOS和专有存储区域网络之类的东西,因为它们毫无意义地在食品链的顶部发酵,实际上阻碍了创新。硬件RAID不能大规模销售(向AWS,Azure,CERN),所以...
Sum1sAdmin

@ Sum1sAdmin 公共云提供商现在都在计算和存储服务上都使用SSD。您是说AWS还是BlackBlaze仅将数据存储在SSD上?
AL

@AL好,不,我只是指出提供块,文件,对象和临时存储的SSD
Sum1sAdmin

我完全不同意商业与消费者之间的“质性差异”。我可以向您保证,NAND的制造没有区别。当然会有不同的制造商(三星与英特尔),但都没有特殊的消费者制造流程。当然有功能差异,但没有质量差异。
Jim B

说到Optane,我们到2016年已经快了一半,而且遥遥无期……有人知道这笔交易是什么吗?
杰夫·梅登

Answers:


24

让我们尝试一次回答一个问题:

  • 现代(2015-2016年)SSD是否需要TRIM支持?

简短的答案:在大多数情况下,不会。长答案:如果您保留足够的备用空间(约20%),即使是消费级驱动器通常也具有相当好的性能一致性值(但您需要避免使用那些会造成持续写入阻塞的驱动器)。企业级驱动器甚至更好,这是因为默认情况下它们具有更高的备用空间,并且其控制器/固件组合针对连续使用该驱动器进行了优化。例如,看看您引用的S3700驱动器:即使不进行修整,它也具有非常好的写入一致性。

  • 通常,标榜驱动器具有改进的内置垃圾收集功能,这是否消除了对TRIM的需要?他们的GC流程在RAID环境中如何工作

驱动器垃圾收集器在驱动器沙箱中发挥其魔力-它对外部环境一无所知。这意味着它(大部分)不受阵列的RAID级别的影响。也就是说,某些RAID级别(基本上是基于奇偶校验的RAID级别)有时(在某些特定实现中)可能会增加写入放大系数,因此,这又意味着GC例程需要进行更多工作。

  • 较早几年的许多文章和讨论都涉及SLC与MLC闪存,并且由于SLC使用寿命更长,因此SLC是可取的,但是如今看来,所有SSD(无论它们在消费者到企业范围内的位置如何)都属于MLC -相关性区分了吗

SLC驱动器基本上已从企业中消失,主要降级为军事和某些工业任务。标记的企业现在分为三个等级:

  • HMLC / MLCe闪存是具有更好分类的MLC芯片的闪存,并经过认证可承受至少25000/30000重写周期。
  • 3D MLC芯片的额定重写周期约为5000-10000次。
  • 普通的平面MLC和3D TLC芯片的额定重写周期约为3000个。

实际上,以上任何一种闪存类型都应为您提供足够的总写入容量,实际上,您可以找到具有上述所有闪存类型的企业级驱动器。

企业驱动器和消费者驱动器之间的真正区别是:

  • 控制器/固件组合,由于意外的控制器错误,企业级驱动器更难死亡;
  • 受电源保护的写缓存,对于防止损坏存储在闪存本身中的闪存转换层(FTL)极为重要。

企业级驱动程序之所以更好,主要是因为它们的控制器和功率电容器,而不是由于闪光灯更好。

  • 企业级SSD往往具有更高的耐用性/写限制(通常以一天中可以完全覆盖驱动器的次数(在驱动器的预期5年使用期限内)来衡量),这是否消除了由以下原因引起的对写放大的担忧:没有运行TRIM?

如上所述,企业级驱动器具有更高的默认备用空间(约20%),从而大大降低了对常规TRIM的需求

无论如何,作为一个旁注,请考虑一些支持TRIM的软件RAID(有人说Linux MDRAID?


仅35000个写周期?听起来并不很多。我认为增加更换的驱动器比购买相同容量的SLC更便宜是有道理的。
user253751 '16

大约30000个最低保证的重写周期也不错:随着切换到每单元2位NAND带来的容量增加,MLC驱动器比SLC便宜得多,同时保持了相似的耐用性等级。而且,将50纳米级SLC单元的额定重写周期定为> 100000的时代可能已经过去:甚至企业级驱动器也具有34 / 25nm(或更小的)类闪存,而其固有的耐用性较低(这也会影响SLC驱动器)。
shodanshok '16

@shodanshok您的结论是“使用连接到普通RAID控制器的企业级(SAS)SSD,不要担心它” –我认为在保证使用该驱动器的5年内性能不会受到影响吗?并且其他用户记录的性能问题仅影响消费级驱动器吗?

@Dai用于“企业级”驱动器我不仅指的是SAS SSD,还可以将选定的SATA SSD视为“企业级”。是的,企业驱动器即使在稳定状态(即:完全充满)下也具有非常好的性能一致性。有关此类驱动器的示例,请参见此处。甚至某些消费者驱动器,加上慷慨的超额配置,也可以保持一致。请参阅此处的示例。
shodanshok '16

1
装箱是通过对硅芯片的质量进行检查和分组的过程。因此,企业级MLC NAND芯片基本上是“更好的”,经过更好测试的芯片。
shodanshok '16

9

在现代RAID控制器上使用SSD时,我从不需要担心TRIM。固态硬盘已得到改进,硬件RAID控制器功能已针对这些工作负载进行了优化,并且通常会提供耐久性报告。

TRIM适用于低端SATA驱动器。对于SAS SSD,我们有SCSI取消映射,也许这就是我没有遇到TRIM需求的原因...

但是另一位评论者是正确的。软件定义存储(SDS)正在改变我们使用SSD的方式。在SDS解决方案中,RAID控制器是无关的。而且诸如TRIM之类的东西并不那么重要,因为SSD担当着特定的角色。我想到的是Nimble存储读取缓存或ZFS L2ARC和ZIL ...它们都满足特定需求,并且软件正在更智能地利用资源。


3
UNMAP和TRIM的作用完全相同。
迈克尔·汉普顿

2
总是需要Trim / unmap-没有它,您将不得不完全依靠内部垃圾回收
Jim B

内部垃圾回收不能替代TRIM。没有固件功能可以替代TRIM的功能。令人震惊的是,这里有很多答案不了解TRIM的实际功能以及为什么需要它。请参阅此类文章arstechnica.com/gadgets/2015/04/…–
Shiv

1

具有SSD的RAID级别上面的答案表明具有奇偶校验的RAID级别(如RAID 5)会增加写入放大。确实有多种解释方式:对一个驱动器的影响或对一组驱动器的影响。

与无冗余相比,RAID 5确实增加了对校验和奇偶校验的写入量。与(n-1)个驱动器的RAID 0阵列相比,具有n个驱动器的RAID 5阵列对每个驱动器的影响不大。n个驱动器中的每一个都接收相同数量的写入。RAID 5将1 /(n-1)个额外的写操作添加到集合中。但是,RAID 1和RAID 10向集合中添加了100%的额外写入,因为写入一个SSD的所有内容均写入其镜像。

因此,就对具有相同数量驱动器的RAID 5集与RAID 10集的写入而言,RAID 5集中的SSD将收到较少的写入。即使您增加RAID 10中设置为均衡可用容量的SSD的数量,这也仍然成立。


0

shodanshok在这里谈到了真正的答案。如果您保留额外的空间(“过度配置”),则SSD的耐用性和写入性能一致性将随着时间的推移而同时得到改善,并且缺少TRIM支持几乎变得无关紧要。保留额外的空间可以很简单地完成,就像从新的SSD开始,分区少于全部容量一样。大多数驱动器内控制器将从未使用的空间与保留的空间视为相同,从而大大减少了写入放大。对于引导和操作系统,保留10%的空间可能就足够了。对于经常重写的驱动器,请增加该空间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.