SSD 之WA写入放大

WA是闪存及SSD相关的一个极为重要的属性。由于闪存必须先擦除才能再写入的特性,在执行这些操作时,数据都会被移动超过1次。这些重复的操作不单会增加写入的数据量,还会减少闪存的寿命,更吃光闪存的可用带宽而间接影响随机写入性能。WA这个术语在2008年被Intel公司和SiliconSystems公司(于2009 年被西部数据收购)第一次提出并在公开稿件里使用。
       举个最简单的例子:当要写入一个4KB的数据时,最坏的情况是一个块里已经没有干净空间了,但有无效的数据可以擦除,所以主控就把所有的数据读到缓存,擦除块,缓存里更新整个块的数据,再把新数据写回去,这个操作带来的写入放大就是:实际写4K的数据,造成了整个块(共1024KB)的写入操作,那就是放大了256倍。同时还带来了原本只需要简单一步写入4KB的操作变成:闪存读取 (1024KB)→缓存改(4KB)→闪存擦除(1024KB)→闪存写入(1024KB),共四步操作,造成延迟大大增加,速度变慢。所以说WA是影响SSD随机写入性能和寿命的关键因素。
       以100%随机4KB来写入,目前的大多数SSD主控,在最坏的情况下WA可以达到100以上。如果是100%持续的从低LBA写入到高LBA的话,WA可以做到1,实际使用中写入放大会介于这两者之间。
       用户还可以设置一定的OP来减少WA,假设你有个128G的SSD,你只分了64G 的容量使用,那最坏情况下的写入放大就能减少约3倍。
      许多因素影响SSD的WA。下面列出主要的因素,以及它们如何影响WA。
       1、垃圾回收(GC)--- 虽然增加了写入放大,但是速度有提升。 这个比较特殊的算法用来移动,合并,擦除闪存块来提升效率。
       2 预留空间(OP)--- 减少写入放大,好。(预留空间越大,写入放大越低) 在SSD上划出部分空间留给主控做优化,是用户不能操作的空间。
       3 Trim 开启后可以减少写入放大,好。 一个ATA指令,由操作系统发送给SSD主控,告诉主控哪些数据是无效的并且可以不用做垃圾回收操作。
       4 可用容量减少写入放大,好。(可用空间越大,写入放大越低) 用户使用中没有用到的空间。(需要有Trim支持,不然不会影响写入放大。)
       5 安全擦除 Secure Erase 减少写入放大,好 ATA安全擦除命令用来清除在磁盘上的所有用户数据,这个指令会让SSD回到出厂时的性能(最优性能,最少写入放大),但是随着使用时间变长,GC操作恢复后,写入放大又会慢慢增加回来。许多软件使用ATA安全擦除指令来重置磁盘,最著名的为HDDErase。对SSD来说,重置就是(除了OP区域内的部分私有区域外的)全盘擦除操作(逻辑1),瞬间即可完成清除所有数据让SSD回到初始状态。但要注意,每操作一次,全盘寿命P/E次数减1。
       6 持续写入(Sequential writes)减少写入放大,好 理论上来说,持续写入的写入放大为1,但是某些因素还是会影响这个数值。
       7 静态/动态数据分离(Separating Static and Dynamic Data)减少写入放大,好 高端SSD主控制器支持静态和动态数据的分离处理,此操作要求SSD主控制器对LBA里经常写入(动态数据,热数据)和不经常写入(静态数据,冷数据)的数据块进行归类,因为如果块里同时包含了静态和动态数据,在做GC操作的时候会为了改写其实没必要的静态数据而增加写入放大,所以把包含静态数据的块归类后,因为不常改写,写入放大就减少了。但是迟早SSD主控会把这些静态的数据转移到别的地方来进行磨损平衡。(因为静态数据占着的数据块一直不改写,编程次数低于平均值的话,会造成颗粒磨损不平衡,违背了磨损平衡,确实非常矛盾的。)
       8 随机写入(Random writes)提高写入放大,不好 随机写入会写入很多非连续的LBA,将会大大提升写入放大。

       9、磨损平衡(WL)直接提高写入放大,不好 确保闪存的每个块被写入的次数相等的一种机制。

       转载地址:http://www.liangchanba.com/article-844-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值