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)--- 虽然增加了写入放大,但是速度有提升。 这个比较特殊的算法用来移动,合并,擦除闪存块来提升效率。(详见GC章节)
       2. 预留空间(OP)--- 减少写入放大,好。(预留空间越大,写入放大越低) 在SSD上划出部分空间留给主控做优化,是用户不能操作的空间。(详见OP章节)
       3. Trim 开启后可以减少写入放大,好。 一个ATA指令,由操作系统发送给SSD主控,告诉主控哪些数据是无效的并且可以不用做垃圾回收操作。(详见Trim章节)
       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)直接提高写入放大,不好 确保闪存的每个块被写入的次数相等的一种机制。(详见WL章节)

WA(Write Amplification)写入放大的更多相关文章

  1. SSD写入放大问题[转]

    原文地址:http://blog.csdn.net/cywosp/article/details/29812433 之前在SSD(Solid State Drive)上设计并实现缓存系统用于存储数据块 ...

  2. 每天进步一点点——关于SSD写入放大问题

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/29812433 1. 关于SSD的写入放大     之前在SSD(Solid State Dr ...

  3. [转帖]SSD的工作原理、GC和TRIM、写入放大以及性能评测

    SSD的工作原理.GC和TRIM.写入放大以及性能评测 https://blog.csdn.net/scaleqiao/article/details/50511279   SSD的物理结构和工作原理 ...

  4. 大数据小视角5:探究SSD写放大的成因与解决思路

    笔者目前开发运维的存储系统的服务器都跑在SSD之上,目前单机服务器最大的SSD容量有4T之多.(公司好有钱,以前在实验室都只有机械硬盘用的~~)但SSD本身的特性与机械硬盘差距较大,虽然说在性能上有诸 ...

  5. 网易七鱼 Android 高性能日志写入方案

    本文来自网易云社区 作者:网易七鱼 Android 开发团队 前言 网易七鱼作为一款企业级智能客服系统,对于系统稳定性要求很高,不过难保用户在使用中不会出现问题,而 Android SDK 安装在用户 ...

  6. 【转】花开正当时,十四款120/128GB SSD横向评测

    原文地址:http://www.expreview.com/19604-all.html SSD横评是最具消费指导意义的评测文章,也是各类热门SSD固态硬盘的决斗疆场.SSD评测在行业内已经有不少网站 ...

  7. MySQL Disk--SSD 特性

    ======================================================================= SSD 特性 .随机读能力非常好,连续读性能一般,但比普 ...

  8. 【腾讯Bugly干货分享】TRIM:提升磁盘性能,缓解Android卡顿

    Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处.在业内,Android 手机一直有着 ...

  9. GC(Garbagecollection)垃圾回收

    在前面向大家讲解FTL时,我们提到了GC的操作,所谓GC就是把一个闪存块里的‘有效’页数据复制到一个‘空白’块里,然后把这个块完全擦除.GC是SSD里的一个非常关键的操作,其效率对性能有决定性影响.闪 ...

随机推荐

  1. SVN多次重复验证

    在MyEclipse中使用svn checkout时,总是弹出密码验证信息,原因是在首次保存密码时与服务器的密码不一致,而每次都是读取的本地密码导致重复验证,这里我们可以删除本地 的密码信息,问题解除 ...

  2. google base库中的WaitableEvent

    这个类说白了就是对windows event的封装,没有什么特别的,常规做法,等侍另一线程无非就是等侍事件置信waitsingleobject,通知事件无非就是setevent,一看就明白,不就详解, ...

  3. curl多线程类。

    <?php /* * Curl 多线程类 * 使用方法: * ======================== $urls = array("http://baidu.com" ...

  4. Android SwipeRefreshLayout

    首先介绍一下 SwipeRefreshLayout ,由于下拉刷新使用的人比较多,于是谷歌自己就做了一个下拉刷新的控件. android.support.v4.widget.SwipeRefreshL ...

  5. cocos2d-x -------之笔记篇 3D动作说明

    CCShaky3D::create(时间,晃动网格大小,晃动范围,Z轴是否晃动);    //创建一个3D晃动的效果 CCShakyTiles3D::create(时间,晃动网格大小,晃动范围,Z轴是 ...

  6. JS中String的反转函数

    利用prototype封住reverse方法: (求更简便的方法: String.prototype.reverse=function () { var str=""; for(v ...

  7. TF卡速度测试对比 Class数越高速度越快

    存储卡(TF卡)是手机扩展存储的大杀器,让你多装n部学习资料,多装n个外语听力练习.除了装东西外,存储卡性能不佳也会影响手机的整体性能以及体验的.本文主要针对Android手机,我是懒人,但我讨厌懒人 ...

  8. SLC和MLC闪存芯片的区别

    许多人对闪存的SLC和MLC区分不清.就拿目前热销的MP3随身听来说,是买SLC还是MLC闪存芯片的呢?在这里先告诉大家,如果你对容量要求不高,但是对机器质量.数据的安全性.机器寿命等方面要求较高,那 ...

  9. Adobe Acrobat XI Pro 官方下载及安装破解

    Adobe公司推出的PDF 格式是一种全新的电子文档格式.借助 Acrobat ,您几乎可以用便携式文档格式 (Portable Document Format ,简称 PDF) 出版所有的文档. P ...

  10. Android下pm 命令详解

    Sam在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下.这个命令与Package有关,且非常实用.所以研究之.0. Usag ...