可靠性测试SSD:3dnews,JEDEC和常识。 真相在哪里,兄弟?



每个人都知道3dnews的传奇性SSD可靠性测试 (2018.01发布),因此一些预算驱动器超出了制造商声明的资源十倍。

经过这项研究,阴谋神学理论似乎表明制造商低估了廉价固态硬盘的资源,并且人们普遍认为,几乎所有固态硬盘都可以做到并定性地进行磨损均衡。

来自3dnews.ru的一项研究是基于Techreport.com测试 (于2013.08.20发布)进行的。

测量耐磨性的方法也同样使用。

技术报告技术:
通过合成基准测试,我们可以更快地推动SSD的耐久性极限。 有很多选择,但是最好的选择是Anvil想象中的Storage Utilities。

这个方便的小应用程序由XtremeSystems论坛的常客开发,包括专用的耐久性测试,该测试可以在驱动器中加载大小不同的文件,然后再删除它们并重新开始该过程。 我们可以调整每个循环的有效负载,以将相同数量的数据写入每个驱动器。 有一个集成的MD5哈希检查可验证数据完整性,并且写入速度比DriveBench 2.0的有效写入速率快一个数量级。

Anvil的耐久测试按顺序写入文件,因此这不是理想的现实世界模拟。 但是,它是我们拥有的最好的工具,它使我们可以向驱动器加载部分静态数据,以挑战磨损平衡例程。 我们正在使用10GB的静态数据,包括Windows 7安装文件夹的副本,少数应用程序文件和几部电影。

3dnews.ru技术:
因此,在耐久性测试中,我们使用以NTFS文件系统格式化的驱动器,在该驱动器上连续且交替创建两种类型的文件:小-随机大小为1至128 KB,大-随机大小为128 KB至10 MB。 在测试过程中,将随机填充这些文件,而驱动器具有12 GB以上的可用空间,达到此阈值时,将删除所有已创建的文件,短暂暂停并再次重复该过程。 此外,测试驱动器上还存在第三种文件-永久文件。 此类文件的总容量为16 GB,不参与擦除覆盖过程,而是用于验证驱动器的正确操作性和所存储信息的稳定可读性:每个SSD填充周期,我们都会检查这些文件的校验和并将其与预先计算的参考值进行比较。

在这两种情况下,都使用了Anvil的存储实用程序。

1.该技术有什么问题?


问题是磁盘顺序填充。 这既不符合实际用例,也不符合JEDEC (半导体工程标准化委员会,否则称为固态技术协会,其中包括所有最大的闪存制造商)推荐的耐磨程序。

操作系统和控制器(如果它具有较小的DRAM高速缓存)都对连续的块进行分组,以记录和记录特定设备特有的大型本机块。 同时,实际上不存在记录放大,并且实际上不需要损耗均衡算法。

在实际条件下,损耗均衡算法的乘数和高质量实现都对存储资源有很大影响。

问题1.当顺序写入WAF文件时≈1


以记录乘数因子(WAF)趋于统一的方式构造的测试可以预测地对资源给出高估的结果。 3dnews分析的大多数磁盘(可从其中提取WAF)具有约1-1.11的记录增益。 3dnews专家通过高效的控制器算法对此进行了解释。 实际上,只有WAF的一个实例才能由无效的控制器来解释3个实例。

但是,我认为,重点在于测试方法,该方法生成了一个顺序记录(在WAF→1时),这导致对SSD驱动器资源的高估。
接下来,我将评估多少次。

问题2。磨损均衡算法的质量未经过测试


随着磁盘的连续填充和随后的擦除,对磨损平衡机制的测试很差。 如果制造商猜测要使磁盘的前几GB(磁盘,FAT和其他元数据所在的位图)以SLC模式工作(或将其缓存在RAM缓冲区中),则损耗均衡算法可能在固件中完全不存在,并且仍可以通过顺序记录来实现优秀的资源指标。

问题3。资源耗尽后的数据保留未经过测试


如果您要旅行几个月,则不清楚是否可以信任已开发其护照资源的磁盘。

问题4:顺序填充磁盘,然后几乎完全擦除,这不是真正的用户定义的行为模式


由于SSD仍然是相当昂贵的资源,因此人们通常会尝试尽可能充分地使用它,并留下最少的可用空间。

我认为,理想的测试是在测试过程中,SSD仍然阻塞80-90%,同时应删除旧文件,并添加新文件。

2.记录动画因素


2.1。 文件系统碎片


由于对Windows SSD禁用了碎片整理,默认的NTFS群集大小为4K,因此在现实生活中磁盘非常分散。 在这种情况下,即使连续记录也几乎变成随机速度。

要记下1个更改后的群集,控制器必须首先读取整个NAND硬件页面(大小可能达到数百千字节),更改4K,然后全部写入。 如果NAND页面的可用容量大小为64K,则记录增益为16倍。

NAND中的实际页面大小
从评论

NAND芯片中的实际页面大小通常不是数百KB,而是528、2112、4224、4320、8756、8640、8832、8896、9216、17664、18048、18336等。 小尺寸适用于旧的SLC芯片,而TLC和QLC尺寸较大。 这种奇怪的大小是因为,除了用户数据外,还必须存储辅助数据(ECC,标志,块号,记录计数器等)。

2.2。 磨损对准算法


可以将这种算法实现为控制器内部的单独过程。 它将像这样工作:

要将静态数据移动到磨损程度更高的区域,需要记录与正在移动的数据大小相等的数据,前提是存在释放的TRIM块。 并且只有少量的可用块,您必须输入2个条目才能交换数据。

RAM = a a = b b = RAM 

如果DRAM缓冲区很小或丢失,则需要三个条目。

 temp = a a = b b = temp 

理想的损耗平衡算法中的这些操作将极为罕见,因为仅移动静态数据以使用低损耗页面是有意义的,因此我们将忽略损耗平衡算法对记录动画的影响。 尽管当然不能保证实际算法使用理想算法。

2.3。 典型的SSD写入是随机的4-8KB块


SSD记录的通常性质基本上是随机的8KB记录 。 即使没有碎片,典型记录块的大小也将小于NAND页面的大小,并导致记录倍增。

2.4。 垃圾收集算法


最大的陷阱就在这里。 NAND存储器中的块大小达到几兆字节。 一个块由几页组成。

可以分别读写页面,并且只能完全擦除一个块。

随着时间的流逝,该块中的许多页面被标记为无效,因为其中的数据已更改并写入到另一个位置或由于TRIM调用。 或早或晚,垃圾收集器必须采用一些部分填充的块,并将完全编写且空闲的块放在一起。

只要有自由空间,它很可能甚至不会开始,因此随着时间的流逝,在块中会形成许多孔。

磁盘空间越小,WAF(写入放大因子)的增加速度就越快。

为了说明WAF的增加,我将给出以下图片:



该图显示了以87.5%的填充率填充的NAND存储块。 为了释放记录空间,会发生重新排列,其中7个块被重写并擦除1。WAF总数= 8

当然,您还必须考虑到大多数SSD都有一个备份区域,在该备份区域中还会发生记录重新分配。 但是,通常,它很小。

消费者驱动器的隐藏区域的典型大小为7.37% ,因为 制造商以十亿字节为单位表示大小,微电路的容量以千兆字节为单位。 1 GB = 1,073,741,824字节)。

如果磁盘已满90%,并且隐藏区域为7.37%,则WAF为6.18

WAF可以使用以下公式进行评级:

WAF\文= frac11 fracK textK text



K 磁盘满度 -从0到1,其中1-100%磁盘满度。
K 保留区 -从1开始,其中1-0%保留区,1.1-10%的保留区,依此类推。

WA与可用磁盘空间百分比的近似图。



该图显示,随着磁盘已满,WA急剧增加,当磁盘已满时具有7.37%的备用空间(接近15)(消费磁盘的典型数字,因为制造商指示的大小为数十亿字节,微电路的容量为千兆字节),WA急剧增加。 1 GB = 1,073,741,824字节)。

您可能已经注意到,如果那里的可用空间只有百分之几,那么电话会开始变慢多少。 毕竟,它也使用闪存。 将内存阻塞100%不仅非常慢,而且会浪费大量存储资源。

关于该主题的另一篇文章

2.5。 所有因素的总WAF


由松散耦合因子引入的WAF会成倍增加。

3.测量来自JEDEC的自定义SSD的资源的方法



在2010年9月的JEDEC标准“固态硬盘(SSD)耐用性工作负载”中,JESD219A修订版描述了测试SSD的方法。

简而言之:JEDEC工程师记录了笔记本电脑用户的记录,TRIM和刷新(将缓冲区刷新到磁盘的命令)的日志,历时7个月,主要用于处理Office程序。 据推测,Windows 7安装在群集大小为4K的NTFS文件系统上的便携式计算机上(自2009年以来支持TRIM)。

用户参考计算机详细信息和一般统计
平台和工作量
收集在标准笔记本电脑上,2 GB RAM,128 GB SATA SSD,支持修剪的操作系统
主要用途:办公室生产力
二次使用:存储照片,音乐和应用

痕迹特征

以CSV格式在文件中捕获的写入/修剪/刷新:$命令偏移量
49 GB占用空间(总数据量)
跨度128 GB(访问LBA的范围)

整理空间的平均数量= 13 GB(跟踪持续时间的平均值)

其他迹线特征
命令数
命令总数(不读)
计)
39923531
修剪数量2498963
写数35391419
冲洗数量2033149
操作类型
修剪百分比6.26%
写入百分比88.65%
冲水百分比5.09%
顺序写入与随机写入
顺序写入的百分比24.36%
随机写入百分比75.64%
数据总量
修剪(GB)764.92
写(GB)727.64


我解析了此日志以了解在那里记录了哪些活动。
5121K +2K +4K +8K +16K +32K +64K以上128K +
运营,%1.880.791.1536.767.4946.292.741.401.49
记录量,%0.040.040.156.853.2134.764.684.8645.42

在测试过程中,建议使用此日志(主跟踪)重复输入,直到键入所需的记录的兆字节(TBW)数量,此后有必要检查电池存储电荷的时间(保留时间)。 对于定制的SSD,如果工作温度为40℃,则在25℃的存储温度下此时间应该为2年左右。 由于没有人会等待2年,因此它们会提高存储温度,从而导致电子泄漏增多,并根据特殊表(根据Arrhenius方程构造),计算出常温下的数据存储时间。



有趣的事实:

如您所知,NAND内存分为多个页面,这些页面组合成多个块。 写入和读取逐页进行,并且仅在块中擦除。

当您需要重写某些内容时,理想的固件的工作原理如下:将具有修改数据的页面写到仍存在未写页面的块中,并在FTL(闪存转换层)中建立新的对应LBA→页面,并将旧页面标记为无效。 如果没有这样的块,则垃圾回收器将启动,垃圾回收器将数据从半填充的块编译为填充的块,并释放这些块。

这是一个理想的选择。 并非所有定制SSD都具有良好的损耗均衡算法。 从3dnews截然不同的测试结果可以看出。

典型的页面大小为8KB及以上,块大小为2MB及以上。 在JEDEC测试中,驱动器的容量从未超过38%,因此,我怀疑那里总是有空闲块,因此没有活动的垃圾收集器,这也浪费了SSD资源。 但是存在WAF(写乘法因子),原因是有时写入的数据页面不完整,有时一条记录沿NAND页面的边界传递。

我在测试JEDEC时编写了一个脚本来根据页面大小计算WAF。 这是WAF,具体取决于NAND页面大小:
1K2K4K8K16K32K64K128K
WAF1.01.01.011.111.312.063.546.5

在测试3dnews时,WAF大约为1,因为文件是按顺序写入的,并且Windows具有写入缓存,在此期间按顺序写入扇区。

在典型情况下,当页面为8K(Samsung 840 EVO)时,WAF仅为1.11(3dnews数据错误的11%),这似乎是可以原谅的。 但是,如果考虑引入垃圾收集算法的WAF,那么我们将无法原谅。

4. JEDEC方法用于测试企业驱动器的耐磨性


它的描述更加形式化,条件更加严峻。 指定了各种长度的明确记录百分比。 记录大小最大为4096个字节可以随机移动,长度超过4K的记录应以4K的偏移量对齐。
记录大小占%
512字节(0.5KB)4%
1024字节(1KB)1%
1536字节(1.5KB)1%
2048字节(2KB)1%
2560字节(2.5KB)1%
3072字节(3KB)1%
3584字节(3.5KB)1%
4096字节(4KB)67%
8192字节(8KB)10%
16384字节(16KB)7%
32,768字节(32KB)10%
65,536字节(64KB)10%

WAF的计算取决于页面大小。
1K2K4K8K16K32K64K128K
WAF1.131.261.522.053.105.199.3817.76

5.对3dnews测试结果的修正的计算


我们需要校正因子,以便将根据3dnews的耐磨性转换为根据Jedec方法的耐磨性。

首先,由于测试没有检查存储的持久性,因此我们将获得的结果减少2倍。 没有人希望在休假后发现计算机中的驱动器停止工作或被坏物覆盖。 2号是从天花板上取下来的。

根据JEDEC方法,磁盘只有38%的空间已满,由于垃圾收集量的1.55倍(根据上述公式),因此WAF有所增加。 该比率将在分母中。

接下来,我们将根据NAND页的大小(从使用JEDEC方法测试定制SSD的分析中得出)乘以WAF(这是垃圾收集器提供的)来考虑记录的乘数。

K text= frac2WAF textWAF textWAF textJedec


面积超过7.37%的光盘的校正系数。
磁盘充满度,%
50556065岁707580859095100
2K2.42.62.93.33.74.35.16.28.011.218.8
4K2.42.73.03.33.74.35.16.38.111.319.0
8K2.72.93.23.64.14.85.66.98.912.420.9
16K3.23.53.84.34.95.66.68.110.414.724.6
32K5.05.46.06.77.68.810.412.816.423.138.7
64K8.59.410.411.613.115.117.921.928.239.666.5
128K15.717.219.021.324.127.832.940.251.872.8122.1

面积超过10%的光盘的校正系数。
磁盘充满度,%
50556065岁707580859095100
2K2.42.62.83.23.54.14.75.77.19.514.2
4K2.42.62.93.23.64.14.85.77.29.614.3
8K2.62.93.23.53.94.55.36.37.910.515.8
16K3.13.43.74.14.65.36.27.49.312.418.6
32K4.95.35.86.57.38.49.711.714.619.529.2
64K8.49.110.011.212.614.416.720.125.133.550.2
128K15.416.818.520.523.126.430.836.946.161.592.3


光盘面积超过20%的校正系数。
磁盘充满度,%
50556065岁707580859095100
2K2.22.42.62.83.13.43.94.45.26.27.7
4K2.22.42.62.83.13.53.94.55.26.37.8
8K2.52.62.93.13.43.84.34.95.76.98.6
16K2.93.13.43.74.14.55.15.86.88.110.1
32K4.64.95.35.86.47.18.09.110.612.815.9
64K7.88.49.110.011.012.213.715.718.321.927.4
128K14.415.516.818.320.122.425.228.833.540.350.3


光盘面积超过30%的校正系数。
磁盘充满度,%
50556065岁707580859095100
2K2.12.22.42.62.83.03.43.74.24.85.6
4K2.12.32.42.62.83.13.43.84.24.85.6
8K2.32.52.72.93.13.43.74.14.75.36.2
16K2.72.93.13.43.74.04.44.95.56.37.3
32K4.34.64.95.35.86.36.97.78.69.911.5
64K7.47.98.59.19.910.811.913.214.817.019.8
128K13.614.515.616.818.219.821.824.227.331.236.3


6.对3dnews测试结果的修订,以在服务器中使用自定义SSD


我必须说这是一个坏主意。 但是很多人都这样做。 因此,我们将尝试计算校正因子以确定用户磁盘作为服务器的资源。 我们从3dnews测试中获得了耐磨性,然后将其除以所需的系数,以获得企业所需的预期资源(JEDEC方法论)。
服务器不需要像用户SSD中那样处于断开状态的长期存储。 这是对应的表:



在典型的50℃负载温度下,驱动器应在25℃的关闭状态下提供58周≈1年的数据存储。

对于自定义应用程序(在关闭状态下需要2年的数据安全性),我们将资源减少了2倍。 对于公司用途,不需要这么长的保存期限,因此我们使用较小的数字,例如1.3。

此后,我们乘以典型的企业负载WAF,然后考虑垃圾收集器的工作并获得以下系数表。 3dnews获得的结果需要除以该数字。

该标准没有描述备份区的大小或公司驱动器的可用空间,因此存在一个问题。 因此,我们无法准确评估JEDEC公司测试的WAF,因此我们将从JEDEC定制SSD测试中获取此数字(1.55)。

面积超过7.37%的光盘的校正系数。
磁盘充满度,%
50556065岁707580859095100
1K1.81.92.12.42.73.13.74.55.98.213.8
2K2.02.22.42.73.03.54.15.16.59.215.4
4K2.42.62.93.23.74.25.06.17.911.118.6
8K3.23.53.94.44.95.76.78.310.614.925.0
16K4.95.35.96.67.58.610.212.516.122.637.9
32K8.18.99.911.012.514.417.120.926.937.863.4
64K14.716.117.819.922.626.130.937.848.668.3114.6
128K27.930.533.837.742.849.458.471.592.1129.3216.9

面积超过10%的光盘的校正系数。
磁盘充满度,%
50556065岁707580859095100
1K1.71.92.12.32.63.03.54.25.27.010.4
2K1.92.12.32.62.93.33.94.65.87.711.6
4K2.32.52.83.13.54.04.75.67.09.314.0
8K3.23.43.84.24.75.46.37.69.512.618.9
16K4.85.25.76.47.18.29.511.414.319.128.6
32K8.08.79.610.612.013.716.019.223.931.947.9
64K14.415.717.319.221.624.728.834.643.357.786.5
128K27.329.832.836.441.046.854.665.581.9109.2163.9


光盘面积超过20%的校正系数。
磁盘充满度,%
50556065岁707580859095100
1K1.61.71.92.12.32.52.83.23.84.55.7
2K1.82.02.12.32.52.83.23.64.25.16.3
4K2.22.42.52.83.13.43.84.45.16.17.6
8K2.93.23.43.84.14.65.25.96.98.310.3
16K4.54.85.25.76.26.97.88.910.412.515.6
32K7.58.08.79.510.411.613.114.917.420.926.1
64K13.514.515.717.218.921.023.627.031.537.847.2
128K25.527.529.832.535.739.744.751.159.671.589.4


光盘面积超过30%的校正系数。
磁盘充满度,%
50556065岁707580859095100
1K1.51.61.81.92.12.22.52.73.13.54.1
2K1.71.82.02.12.32.52.73.13.43.94.6
4K2.12.22.42.52.83.03.33.74.14.75.5
8K2.83.03.23.43.74.14.55.05.66.47.5
16K4.24.54.85.25.66.16.87.58.59.711.3
32K7.17.58.18.79.410.311.312.614.116.218.9
64K12.813.614.615.717.018.620.522.725.629.234.1
128K24.225.827.729.832.335.238.743.048.455.364.5


8.结论


如果您几个月都没有关闭计算机,NAND页面大小不超过16KB,并且磁盘大约已满,那么3dnews获得的资源指标需要除以3。

对于典型的情况(磁盘占用率90%,页面大小8KB),要获得根据JEDEC标准的资源,请将3dnews获得的资源除以9。

如果您有时旅行很长,并且此时不使用驱动器,我建议您留在护照资源之内,然后再更换驱动器。

在极少数情况下,当NAND页面大小超过16KB,并且磁盘被密集地填充时,为了计算驱动器的实际资源,需要将其减少数十倍,有时需要减少数百倍。

而且,如果您在服务器中放置了预算驱动器,则应同时应对突袭和备份。 您将没有稳定的响应时间和速度,电源保护和公司驱动器的其他优点,但是可以使用文章相应表中的校正分频器来计算资源。 在典型情况下,除以11。

参考文献


使用廉价的闪存驱动器优化Linux
如何确定页面大小和闪存块

您在PM中注意到的PS Direct错误。 我为此增加业力。

感谢您的图像TripletConcept


您可以从RUVDS订购具有SSD的虚拟机,以获取下面的优惠券。

Source: https://habr.com/ru/post/zh-CN478748/


All Articles