如何优雅的解决SSD的写入放大计算问题

后使用快捷导航没有帐号?
查看: 6524|回复: 11
想装SSD吗?不了解它吗?关于SSD,这里有你想知道的。5.无法避免的写入放大以及相关~
该用户从未签到
本帖最后由 jutgh 于
13:25 编辑
现在是全民SSD的时代,很多本友对是否加SSD还在犹豫,但加了SSD对性能提升很大这一点想必已经成了大家的共识,现在很多人在犹豫加不加,或多或少原因是不太了解SSD,这个帖子意在与大家分享一下我所了解的SSD,不免有错误的地方,在此与大家相互交流互相学习。
本系列内容会引用一些技术论坛中大神们的理论与测评结果,在此向他们致敬,感谢他们分享知识与技术!
关于SSD,这里有你想知道的。
& && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && && && && && && && && &
& && && && && && && && && && && && && && && && && && && && &
& && &&&~~~~~~~~~~~~~~~~~~~~~~~~~~~~我是分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这篇帖子来说说写入放大以及相关的一些事儿吧。
上一篇帖子我们简单的提了一嘴写入放大,在这里我们详细来说说。
我们现在都知道了,除了全新的盘可以直接写入之外,SSD想写入就必须先擦除,均衡磨损、GC、TRIM都是为此服务的,在进行擦除\写入的时候,移动\重写的本次数据和原数据会大于等于一次,这类多次的操作会增加写入量、消耗SSD寿命、占用缓存的带宽(这时候会影响随机性能),这就叫做写入放大,由此可见,写入放大与SSD的性能、寿命息息相关,是非常重要的指标,所以各家主控、各厂固件都对此及其重视,甚至一定程度上成为了衡量一款主控好坏的标尺。
早期英特尔提出了写入放大这个概念(记得还有后被西数收购的一家公司,记不起了原谅我吧),当时按照他们的说法,写入放大率不可能小于1,后来这个当时的铁律被SandForce公司打破,SandForce主控宣称能将写入放大控制在0.5,经过实测SandForce在一些情况下的确能够达到0.55,某些特定情况甚至能达到0.45(较为罕见),这个咱们后面细说。
现在我们都知道了闪存的运作特性,明白了数据不能像HDD那样直接覆盖写入,当一块新盘第一次写入数据时,因为所有区块都处于擦除的空白状态,数据能够以页为最小单位直接写进去,目前绝大多数闪存颗粒都是4k大小一个页(明白为什么4k对齐很重要了吧),而有新的数据写入需要替换旧的数据的时候(比如你执行文本、文件的修改、系统属性的调整、自动保存等等一切改动操作),这时候主控会把新保存的数据写入到空白的地方,然后记录下这个地方让新数据生效,旧数据所在的地方标记为无效,那么问题来了,这块旧数据的地方想再写入就需要先擦除,于是就扯出了上一篇我们说的GC与均衡损耗。
光这么说我都有点儿发懵,我们还是来上图看看写入放大产生的过程吧,图是我用win画图程序画的,手艺太差将就看吧
无标题.jpg (22.49 KB, 下载次数: 21)
20:19 上传
我们假设上面有A1到D4共16个页,每个页4k(这为了简单说明,页、区块、面的封装真实情况请参照专业文献与厂商颗粒说明)
现在假设有一个A文件,大小12k,A1到A3三个区块中,现在修改了A文件,写进去了点儿东西,增加到了20k,此时主控的工作是,将全新的A文件写入到A4至B4这5个页20k的空间中,然后将A1到A3标记为无效。好了,你现在会问,20k的数据写5个页,这不是很正常吗?请注意,这个过程中我们将12k的A文件增加到了20k,我们只操作写进了8k的数据而SSD则写进了20k的数据,多写了12k的数据。(真实情况比这复杂的多)
我们来看看简化写入放大的公式(真实情况比这复杂的多)
& && && && && && && &闪存中写入的数据量
& &&&——————————————————&&=& &写入放大率
& && && & 我们在电脑系统上操作写入的数据量
刚才的例子中,写入放大率就是20k/8k=2.5,最理想的状态就是SSD处于全盘空白状态,那样写入放大率为1,而SF主控之所以突破了1,就是因为它的技术专利“数据压缩”,一些可压缩文件,特别是一些高压缩率文件可以在写入闪存时压缩成很小的文件占用更小的空间,这样公式中分子小了,压缩率自然就小了。
至于写入放大的影响,最坏的情况是什么呢?比如最简单的单次操作,假设我要写入一个4k文件,而一个块儿已经没有空白空间了,但是块儿中有一个4k页是无用数据可擦除,所以主控会把整个块儿的数据读出来放到缓存(SSD的内存)中,剔除掉那个4k页的无用数据,再擦除整个块儿,然后将剩下的有用数据和新的4k数据一起,重新写入到这个块儿中,假设这个块儿共512k(目前主流20nm级闪存封装多为每个块儿512或1024k),那么写入这4k时的过程为:读取512k-擦除512k-再次写入512k,写入放大率为512/4=128,同时占用缓存带宽、主控运算资源、多步过程造成处理时间增加,于是速度变慢,寿命消耗。这就是为什么很多人都一直强调SSD尽可能别塞到80%以上,而且越空速度越快寿命越长越稳定的原因。
各厂商都对写入放大非常重视,我们也来了解一下影响写入放大各种因素。
首先,上一篇说GC时候就说了它造成写入放大的过程,所以GC是会造成写入放大的主因之一,但我们离不开它,否则盘会挂的更快速度更慢。
第二,TRIM指令,这是个好东西,会减少写入放大,因为开了它会增加SSD的空白空间,而且会提高GC效率,这也是变相提高空白空间。
第三,可用的空白空间,自然是越大越会减少写入放大。必须有TRIM支持,不然很快就会用没的。
第四,主控对数据变动性的分析,就是说主控认定哪些数据只读取不变动,而哪些数据常变动,结合上一篇和本篇的内容,可以知道这对降低写入放大是有作用的。
第五,预留空间,实际上就是空白空间,之不过是厂商特意留出来不让你动的空白空间,不同厂商有大有小而且你看不到,比如接触SSD之前你是不是罕见120G、250G之类奇葩的容量??
第六,均衡损耗,上一篇讲过了,结合这一篇就会明白,这会直接造成写入放大,但和GC一样,没它SSD会挂的更快。
持续写入因为都是连续数据,理论上不会造成写入放大,比率通常都是1,但有些特定情况也会放大的。而随机写入因为写入数据都是零碎的不连续的,所以通常会大大提高写入放大率。
最后说说预留空间,上面那条说的太简单,容易造成比如认为128G的盘没有预留空间的误会,其实不是这样的,预留空间一般可以认为有三种。
第一种是闪存方面的,我们知道厂商计算容量是1G=字节,所以128G到我们电脑里只有约119G多一点儿,而在闪存里面,1G=2的30次方字节,比厂商计算的多出了73,741,824字节,也就是实际上你拿到的SSD有73,741,824/=7.3742%的空间直接作为预留空间了。
第二种是在第一种基础上,一些厂商再次额外留出的空间,你所见到的120G、250G等等,少了那些空间是做预留空间去了。
第三种就是我们可以自己留的空间了,可以直接不用,也可以用软件(买SSD带的或者上网下)割出来,这样我们就可以用牺牲一部分使用空间来换取减少写入放大、提高速度、增加寿命的效果,这也是有些人在win7分区时特意分出一些空间做个区不标号不使用的原因。
真心不错!
恭喜,获得本币奖励
该用户从未签到
占沙发!扫盲了,顶起
该用户从未签到
真心是扫盲贴啊!!
该用户从未签到
必须支持!
该用户从未签到
本帖最后由 jutgh 于
20:55 编辑
上官一笑 发表于
必须支持!
该用户从未签到
上官一笑 发表于
必须支持!
对了,我最近发帖子都需要审核,N久后才通过了发出来,甚至有个帖子我在下面回复了下别人都要审核,是我哪地方没弄对吗?应该注意哪些??
该用户从未签到
jutgh 发表于
对了,我最近发帖子都需要审核,N久后才通过了发出来,甚至有个帖子我在下面回复了下别人都要审核,是我哪 ...
外链接或铭感词,要不是是重复性!
该用户从未签到
楼主的SSD技术系列终于看完了,受益良多,另外我有个问题:在WIN7 分区时故意分出一部分空间不使用,这样的做法是必须的吗?如果是,那么预留多少?
该用户从未签到
klflp 发表于
楼主的SSD技术系列终于看完了,受益良多,另外我有个问题:在WIN7 分区时故意分出一部分空间不使用,这样的做法 ...
这做法不是必须的,如果你对SSD的使用量很大,每天都要有大量的写入而且开机时间也长的话,那自己再额外预留还是有些必要的,能提高稳定、速度、寿命,至于留多少可以根据你自己的情况而定,理论上说是越大越好,但这也是在抢存储空间,如果你把SSD用在个人用的初级服务器上面,建议自己额外留30%以上,个人工作站的话留15%以上,只是个人家用机的话写入量大那可以留7%左右(厂商一般预留的比例)或者不留也行,我就没留,反正尽量别塞太多东西呗,别塞到80%以上我们正常使用一点儿问题没有的。
TA的每日心情萌哒 16:02
真心不错,前几天正在百度研究呢。学习了!!!
该用户从未签到
本来一直习惯用XP的,但是WIN7才有trim,看来要与时俱进了。。
17年8月精华宗师
17年8月精华大师
关注本友会
本友会微信公众号
VR微信公众号
benyouhui2012
Powered by如何测试SSD的写入放大因子_百度知道
如何测试SSD的写入放大因子
SSD的写入放大因子都是由厂商提供的,那么我如何去测算这些数据是否真实呢?有没有工具或者方法,自己估算写入放大的因子
我有更好的答案
测出来的也不怎么准确。最后那些高写入放大一般发生在稳定态,而稳定态一般的测试软件跑死也是跑不进的。 个人倾向于正常使用一段时间。测试写入可以控制自己拷贝文件到SSD,只要SSD不做系统盘,可以粗略估算颗粒写入。如果厂商没有提供相关的SMART信息。而且因为主动GC不知道他什么时候会发生,什么时候就消耗掉了颗粒磨损,误差不大。不过这类测试没多大意义,因为只能测得理想状态下的SSD写入放大,一般都是1.1左右(非压缩),那就没戏了颗粒写入量看SMART信息,有的厂商提供写入量,有的厂商提供磨损次数。比如我一块MLC SSD用了半年,磨损掉40次,观察磨损增长程度就好了
采纳率:66%
为您推荐:
其他类似问题
ssd的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。60被浏览8,981分享邀请回答118 条评论分享收藏感谢收起您所在的位置: >
> 有效解决intel 535 530 SSD写入放大工具
小提示:系统已为您找出最快的下载线路点击按钮进入真实下载地址列表!
&& 如果你的固态硬盘是英特尔535或者530的,肯定都遇到了由于英特尔节能模式造成SSD写入放大问题,甚至有些放大的确实是有点惊人了,虽然英特尔售后很好,这个固态是MLC写入寿命也算比较长,但是和我一样的完美主义者总归受不了这个,而这个批处理工具就可以解决这个问题,它让SSD每秒随机读取1KB,防止其进入节能模式。
&& 使用也很简单,只需要执行install.bat即可。
(您的评论需要经过审核才能显示)
匿名? 不会下载请看!
权益:本站资源部分来自互联网, 如有侵犯您的权益,请,我们将立即处理。
声明:U盘量产网为非赢利类网站 蜀ICP备号 川公网安备 94号让你的固态短命的“写入放大”你了解吗?让你的固态短命的“写入放大”你了解吗?第一人称百家号固态硬盘特殊的写入方式,令闪存写入的量和系统要求写入的量出现不一致,这时引申出一个写入放大(WA)的概念,可能很多“童鞋”都没听过或者不清楚,下面由老司机“又双叒叕”带大家分析一波(真的不是开车) 。有人说,MLC有3000次擦写寿命(P/E),以128G为例,GB=384TB,而系统操作大多数为读取而非写入操作,因此SSD的寿命还是很“持久”的。“P/E”说这个锅我不背这种解释有其合理性,但是如果上一期有阅读我们文章的读者应该记得,正常情况下闪存写入量是要大于系统要求的写入量的。固态硬盘越用越慢?原来都是“它”的惹的祸!还是用之前的“栗子”作分析,test.txt文件从5B增加到8B,在系统层面仅多写入3B,但是在闪存层面却进行了以下操作:写入8B数据的请求—&清空整个Block(由于闪存写入前需要先擦除)—&写入8B数据,因此实际上写入了8B。由此看出,由于写入机制的原因,系统写入量和闪存写入量会出现不一致的情况,而且往往都是变大的。这就是SSD的写入放大(Write Amplification)。当写入放大为1时,即为最初那位同学所说的理想状态,但是现实跟理想是有差距的,而且“栗子”里把Page和Block都进行了简化,如果以8KB Page、1024KB Block(128个Page)来计算,并且其中127个Page已经写入了数据,那么结果会是这样的:就是酱紫啦~该Block里127个Page都写入了数据,有8kb空白,如果此时恰好有一个8kb的数据要写入,按理说填满就整好,然而并不能(强迫症表示很难受)。此时的操作是,把原本127个Page里的数据读取到内存中,然后擦除整个Block的数据,再将该8kb数据与之前127个Page里的数据混合起来,重新写入Block中。在这个过程中,本机写入的数据是8KB,但是SSD实际写入的则是1024KB,是前者的128倍,WA为128。WA不仅浪费了闪存的P/E,还会在提取原来的数据时占用了大量的内部带宽,因此SSD的性能自然会下降。那是否把那8KB的数据写在空白的块就可以了?是的,在空白块写入不会出现写入放大。但是,随着SSD的使用时间越长,可用空间肯定是越少的,因此实际上没有那么多空白的块,因此单靠简单的空白块是不可行的。还要依靠厂商对GC垃圾回收、Trim、OP空间和磨损均衡等技术进行一个合理的运用,这些后续再给大家娓娓道来。铭瑄固态硬盘采用Intel闪存和慧荣最新主控最后,降低WA可以延长SSD的使用寿命,提升产品可靠性。至于如何降低WAF就要靠厂商的主控的处理能力了。不止于快,更胜于稳!欢迎大家保持关注铭瑄科技头条号,我们将持续为您提供优质资讯。本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。第一人称百家号最近更新:简介:用第一人称记录眼前所有的发生作者最新文章相关文章

我要回帖

更多关于 2258xt 写入放大 的文章

 

随机推荐