过度配置如何提高基于NAND的ATP SSD的耐用性和性能介绍

固态存储盘2021-10-21

过度配置(overprovisioning, OP)为固态硬盘(SSD)的垃圾收集过程提供了额外的空间,有助于提高性能,并增加其耐久性,从而有助于延长驱动器寿命。本文ATP ELECTRONICS深入介绍OP及其大小如何影响写入(TBW),以及SSD的随机写入性能。

 

过度配置

 

在过去的几十年里,基于闪存的SSD引发了一场存储设备的革命。与使用磁盘进行存储的传统机电硬盘驱动器(hdd)不同,SSD由一组固态电子存储芯片制成,由控制单元和存储单元(即NAND闪存芯片、DRAM芯片)组成,因此提供更高的数据传输速率、区域存储密度和可靠性。以及更低的延迟和访问时间。

 

在本文的范围内,有必要详细介绍HDD和SSD的功能。HDD通过对硬盘的磁化扇区进行写入和覆盖操作,不能直接覆盖SSD盘的数据。SSD不是覆盖旧数据,而是通过编程在NAND闪存中更新数据,使相同数据的新副本失效。

 

允许在NAND闪存中写入数据的关键操作和基本操作是程序(P)和擦除(E)。一个P和E过程称为一个P/E周期。用P/E周期数来描述NAND闪存持续时间。由于每个P/E周期都会导致闪存的轻微磨损,NAND闪存在被磨损之前有有限的P/E周期。采用了各种技术和算法来管理NAND,以延长SSD的寿命。OP就是其中之一,也是本文的重点。它实际上是与基于NAND的SSD存储的工作原理密切相关的特性。

 

了解NAND内存的物理结构对于理解SSD的P和E过程是非常重要的。NAND内存可以被划分为块。一个块通常由许多页面组成,而页面大小因NAND技术而异。在编程过程中,数据一次只能写入一页。然而,擦除只发生在一个块上。由于这个限制,引入了垃圾收集进程来充分利用闪存。

 

  • 垃圾收集(GC)

 

SSD控制器通过FTL (闪存转换层)实现主机空间LBA (逻辑块地址)与Flash内存PBA (物理块地址)的映射。这种映射以链接/映射表的形式存在。主机通过链接表对物理块进行寻址。

 

为了简单地说明GC过程,将闪存简化为两个物理块,每个块包含6个页面,如图1所示。在将数据写入内存时,通过磨损均衡算法,数据均匀地分布在所有物理块上,如图1(a)所示,从而避免了对特定区域的重复编程。由于无法直接覆盖flash上的数据,因此需要将更新后的数据写入空闲页面,而将原始数据标记为无效,如图1(b)所示。FTL将简单地将更新数据的逻辑地址重定向到新的物理地址。

                                                            

需要释放无效页面,以便向内存中添加更多数据。由于擦除只能在块级别执行,以释放上面块中的无效页,因此需要读写有效数据来释放另一个块中的页。同时,原始页中的数据被标记为无效,只包含无效数据的整个块可以被擦除。收集有效数据并擦除整个无效数据块的过程称为GC。如图2所示。

                                             

 

  • 写放大系数(WAF)

假设主机希望在SSD中可用的空闲块非常少的情况下写入数据,SSD控制器应该开始执行GC进程来释放包含无效数据的块。如图3所示,在GC Write数据处理过程中,SSD实际上向flash写入了4个页面,以便在一个页面上写入数据F,这是由主机请求的。

                                                                                            

这种现象被称为写放大,即写入NAND的数据量超过了主机需要写入的数据量。WAF可以计算为写入闪存的数据(包括在GC期间复制有效数据)与主机请求写入的数据量的比率。

                                                                                           

以图3为例,假设C_1、D_1、E_1和F的数据大小均为4KiB,则该写过程的WAF可计算为4。这也说明了GC的效率对WAF有很大的影响。WAF过高会加剧闪存的退化,减少驱动器的寿命。

 

WAF因应用不同的工作负载而有显著差异。一般来说,小块的随机写将比大块的顺序写产生更高的WAF。例如,当将4KiB块大小的数据写入到页面大小为16KiB的SSD时,在顺序写的情况下,可以将4个块顺序写入到一个物理页面。而在随机写方面,每4KiB数据将随机分布到不同的页面或/和块。与顺序写相比,驱动器上的数据将是高度碎片化的,这将在数据替换期间导致高度碎片化的无效数据。因此,SSD控制器需要执行密集的GC来重新定位有效数据并擦除所有无效数据。这可能会导致驱动性能的显著下降和WAF的上升。

 

  • 预测

 

可以预见,当SSD快满时,将没有足够的空闲空间进行垃圾回收。解决这个困境的方法是过度配置,这是一个将额外的空闲空间分配到SSD的过程,以确保始终有足够的空间供GC进程使用。这个额外的区域称为过度供应的空间,主机无法访问,只有SSD控制器可以访问,从而允许GC进程顺利进行。

 

OP的计算公式如下:

                                                                                  

*GiB: unit symbol of Gibibyte: 230 bytes 

*GB: unit symbol of Gigabyte: 109 bytes

 

注意,flash的容量始终为2的n次方(单位为GiB),而SSD厂家公布的容量为十进制(GB)。例如,使用256 GiB Flash构建一个256 GB的SSD, SSD固有OP为(256*(2^30)-256*(10^9))/(256*(10^9))= 7.37%。

在固有OP之上,可以根据不同的应用程序请求配置其他用户OP。例如,由256 GiB flash构建的240gb SSD的总OP为(256*(2^30)-240*(10^9))/(240*(10^9))= 14.53%。

                                                                                                     

但是,为了简化,市场描述通常只提到用户OP,所以对于一个240 GB的SSD,市场OP是(256*(10^9)-240*(10^9))/(240*(10^9))7%。而根据计算,256GB SSD的市场OP为0%。

 

综上所述,如果我们将SSD配置为不同的用户容量,OP将如下所示:

                                                                       

 

不管使用哪种定义,OP是指SSD容量中预留给FW算法(如GC、磨损均衡和坏块替换)使用的部分。用户无法访问。

 

How Over-Provisioning Impacts the TBW

 

  • Workload

 

WAF can vary significantly depending on the workload from the Host. In this article, a series of tests have been performed to figure out the impact of the OP size on TBW and drive performance. The workload used for testing is the Enterprise workload JEDEC 219A, with the specific parameter settings shown in the table below.

                                     

 

Source: www.jedec.org

 

The workload was used to measure the performance with the random read/write mix ratio of 40%/60%. The total amount of data being continuously and randomly written to the drive was 12x the user capacity of the drives.

  • OP Factor vs. WAF

​                                                

 

Figure 5 shows the overall WAF after writing data in the amount of 12x the user capacity size to the drive. As expected, the overall WAF decreases as the OP size increases.

 

Figure 6 shows how the WAF changes as data is written to drives with different OP settings. As data continues to be written, the data fragmentation within the drive becomes more and more significant, requiring more frequent GC process. With 0% OP (256 GB), the WAF increases very quickly as more and more data is written. Instead, increasing the OP can optimize the WAF as it ensures that there is enough space for GC to be carried out more efficiently.

 

  • OP Factor vs. TBW

The TBW shown in the following graph is estimated based on the relationship:

                                                           

 

The TBW varies significantly depending on application. The following random write endurance has been calculated based on the test results in above session using JEDEC 219A enterprise workload and is not guaranteed value.

                                                                    

From the curve shown in Figure 7, it can be observed that TBW and OP are positively correlated, but in a non-linear fashion. After a certain point, increasing the OP does not significantly increase the TBW, but rather reduces user capacity. The customer therefore needs to choose an appropriate OP size for the actual application.

 

过度配置对SSD性能的影响

 

当写操作接近饱和时,垃圾收集会严重影响SSD性能。为了解决这个问题,过度配置为垃圾收集过程提供了额外的空间,而不会严重影响性能。

 

下面两张图展示了通过分配不同的OP大小,256GB SATA硬盘的峰值性能和总体性能的变化。这些性能是通过使用上一节描述的JEDEC 219工作负载来衡量的,连续随机写的用户容量为2.4倍。

                                              

当写到一个全新的驱动器时,随机写性能是最好的,因为还没有垃圾收集操作,因此OP大小对峰值性能没有影响,如图8所示。当驱动器被数据填满时,驱动器内的数据变得越来越碎片化。驱动器的控制器必须不断标记无效数据并将其垃圾收集。此时,GC成为降低驱动器性能的一个主要因素。从图9的图中可以看到,随着OP大小的增加,垃圾收集对性能的影响越来越小。事实上,随着OP的增加,总体随机写性能显著提高。

 

过度配置有助于提高SSD的耐久性和写性能,但会降低用户容量。因此,根据应用程序分配最佳的OP量是很重要的。对于写密集型的工作负载,为了显著提高持久性,牺牲一定的容量是有益的。相反,对于读密集型工作负载,较低的OP可以让客户最大限度地利用用户容量。

 

作为专业存储和内存解决方案的全球领导者,ATP提供独特的、定制配置的解决方案,以满足独特的需求。ATP定制OP,以适应不同的现实应用环境,为客户提供最有利的驱动耐力、用户容量和性能产品。

 

 

回到Blog
联系我们