快讯
HOME
快讯
正文内容
nand需要擦除吗 技术解析:固态硬盘越用越慢怎么办?
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

技术解析:固态硬盘越用越慢怎么办?

固态硬盘越用越慢的原因

固态硬盘会越用越慢,这和固态硬盘的工作原理有很大的关系。固态硬盘使用闪存作为储存介质,而闪存有个特性:必须先擦除之后才能再次写入数据,这一点和机械硬盘不同,机械硬盘可以直接在数据上面覆盖写入。

我们新买固态硬盘的时候,其中的NAND闪存已经预先擦除干净,因此数据可以直接写入,无需完成数据清除这一步,这时数据的写入速度非常快;随着时 间的推移,SSD中从未使用的存储空间越来越少,很多时候必须先擦除闪存中的数据然后再写入,因此其性能就会明显下降。为了解决这种问题,微软和SSD厂 商都做了很大努力,例如Trim、垃圾回收机制等等

下面我们就来谈谈使用SSD时的注意事项。

1.使用环境:Windows 7和AHCI是必须的,当然还有SATA3

必须使用Windows7以上的系统才能更好发挥SSD威力

● 固态硬盘最重要的技术:Trim

为了解决硬盘降速的问题,微软联合各大SSD厂商开发了一个新技术——Trim。Trim没有中文名称,简单的说,就是告诉SSD主控哪些数据占据的地址是“无效”的。

Trim指令的支持需要同时满足以下三个条件:

1.SSD主控制器和搭配的固件必须支持Trim指令接收:这一点完全不用我们去担心,只要是SSD,Trim指令必须得支持,不然就和普通U盘没什么两样。不开TRIM真的会变慢!

2.当前操作系统必须支持Trim指令发送:只有windows7/Server 2008 R2以上的系统才支持。

3.当前使用的磁盘驱动程序必须支持Trim指令传输。有一点需要说明,Trim指令现在还不支持发送给RAID阵列。所以如果看到有“高富帅”在用SSD组RAID炫速度,大胆地鄙视吧。

● SATA3.0接口才能满足高速SSD的胃口

接口方面,现在主流的SSD都采用SATA3接口,因为SATA2接口的最大理论速度只有300MB/S,如果你把一款读取速度500MB/s的SSD接到SATA2接口上...我真的表示很无奈。

然后我们说说BIOS设定,强烈建议开启AHCI模式。因为AHCI中的原生命令队列特性(NCQ)可以优化用户发送指令的顺序,从而降低设备负荷,提升设备性能。有些较老的主板可能不支持AHCI,这种产品一般也不会有SATA3.0接口,SSD性能会大打折扣。

2.分区方法:小分区、少分区

SSD有一种技术叫做“垃圾回收机制”,前面已经讲过Trim是系统用来告诉SSD主控哪些数据所占据的地址是“无效”的,而“垃圾回收机制”就是SSD内部对这些“无效”数据进行清理的过程。

垃圾回收机制非常考验主控的数据处理能力

SSD中的擦除只能是“将无效数据所在的整个区域摧毁”,不能像机械硬盘那样实现“点对点精确定位打击”,因此“垃圾回收机制”过程也显得很繁琐——先把区域内的有效数据集中起来,转移到空闲的位置,然后把“问题区域”整个清除,清除出来的地方可以作为下次垃圾回收时的转移地点。

大部分SSD都已经由厂商“内定”了预留空间

所以“小分区”的概念就出来了。所谓“小分区”就是不要把SSD的容量都分满,保留一部分容量作为“空闲位置”,用于SSD内部的优化操作,如磨损平衡、垃圾回收和坏块映射。一般情况下这一步骤厂商已经帮我们设定好了,例如NAND容量128G的SSD,厂家会标称120G,剩下的部分就被设置成了预留空间。当然如果你十分注重SSD性能,也可以在此基础上继续增加预留空间,在分区的时候只分100G或者更少

如果固态硬盘也能像机械硬盘这样随便分区就好了

“少分区”则是另外一种概念,关系到4k对齐对SSD的影响。一方面现在主流SSD容量都不是很大,分区越多意味着浪费的空间越多(每个分区总有那么些空间是用不到的),另一方面分区太多容易导致分区错位,在分区边界的磁盘区域SSD性能可能受到影响。

Win7自带的分区工具支持4K对齐

关于4K对齐操作,在机械硬盘时代可能大家都不太注重,但到了SSD时代4K分区对齐与否对性能有着很大的影响。怎样才能实现4K对齐?最简单的方法就是用Win7自带的分区工具进行分区,这样能保证分出来的区域都是4K对齐的。

3.平时保养:不要使用碎片整理,保持分区“苗条”

● 不要使用碎片整理

把机械硬盘时代的“好习惯”带到了SSD上不一定“好用”。在以前,我们总会听到各种“砖家”的提醒——系统变慢记得碎片整理,往往整理过后能感觉到系统运行明显快了很多,殊不知碎片整理对于SSD来说完全就是一种“折磨”。

“磁盘整理”对SSD来说是一种折磨

消费级固态硬盘使用的MLC NAND FLASH作为储存介质,这种芯片一般只有5000~10000次的擦写寿命(P/E),碎片整理需要对硬盘频繁擦写,会大大减少SSD的使用寿命,其实,SSD自带的垃圾回收机制就已经是一种很好的“磁盘整理”,再多的整理完全没必要。Windows的“磁盘整理”功能是机械硬盘时代的产物,并不适用于SSD。

SSD内部没有机械结构,主要部件是主控和闪存芯片

除此之外,可以考虑禁用win7的预读(Superfetch)和快速搜索(Windows Search)功能,在SSD平台这两个功能的实用意义不大,通过禁用这两项功能降低硬盘读写频率。

● 让分区保留足够的剩余空间

如果SSD也这样折腾估计早就崩溃了

前面有说过SSD的“垃圾回收机制”,可以算是SSD内部最考验主控能力的步骤:当硬盘占用接近“满容量”的时候,垃圾回收的量非常多,主控芯片需要处理大量数据,几乎是满负荷运作,这就是为什么SSD越用越慢的原因之一。

相对廉价的机械硬盘适合当“仓库”使用

所以让分区保持“苗条”很重要,及时清理无用的文件,设置合适的虚拟内存大小,将电影音乐等大文件放到机械硬盘“仓库”等等,让SSD分区保留足够的剩余空间。

4.刷新固件:最有效的提速方法

“固件”好比主板上的BIOS,固态硬盘的一切内部操作都要依靠固件来控制,可以说固件质量的好坏直接关系到SSD的性能表现,论重要性毫无疑问是排在了第一位。固件不单直接影响SSD的性能、稳定性,也会影响到SSD的寿命。优秀的固件包含先进的算法能减少固态硬盘不必要的写入,从而减少闪存芯片的磨损,维持性能的同时也延长了固态硬盘的寿命。因此及时更新官方发布的最新固件显得十分重要。

5.恢复指令:对付SSD降速的终极手段

如果你以前没有注意过前面这些操作,现在的SSD已经被“折腾”得奄奄一息,还有一个终极手段——Trim重置。这个指令会让SSD回到出厂性能,原地满血复活,但不建议过多使用,因为对SSD来说,每做一次Trim重置就相当于完成了一次完整的擦写操作,对磁盘寿命会有影响。

现在有许多软件都能提供ATA安全擦除指令来重置磁盘,最著名的是HDDErase。操作过程大致也是将主板BIOS的启动顺序改为光驱优先或者U盘优先,然后插入存好软件的启动设备,进入引导界面,根据提示来操作。

这里建议使用英特尔固态硬盘工具箱(IntelSSD Toolbox)来完成此任务,不用打繁杂的代码,直接在windows下按照提示鼠标操作即可,最大程度的避免了SSD性能衰减。相较其他固态硬盘只能用格式化磁盘的方式来恢复性能,更为方便。

为什么闪存品质很关键?它影响的不仅是SSD写入寿命

今天我们来谈谈闪存品质如何影响固态硬盘,今天的讨论将不再局限于写入寿命或可以擦写多少次这样简单的层面。

闪存的品质

过去我们经常谈原片和白片。这种非此即彼的二分法比较容易被大家理解,原片的高品质被所有人认同,而对于白片的争论就比较多。其实白片和原片一样,都有等级之分。

并不是所有白片都是原厂筛剩下的次品,有些情况下原厂可能会直接出售晶圆。这些晶圆在出厂时就包含了一张map,将晶圆上每个晶粒的情况做出了标记。

第三方的封测厂根据Map摘取芯片进行封装,闪存芯片的分级筛选还需要结合主控一起进行,最终制造出符合特定使用条件的合格闪存颗粒。

跟晶圆制造阶段是相比,芯片封装相对简单的工艺流程,相关技术已经被很多第三方企业掌握,还能根据需要实现MCP多芯片封装。下图是江波龙将Marvell 88NV1160主控与美光3D TLC闪存融合封装的单颗粒NVMe固态硬盘——FORESEE P900。

闪存原厂数量毕竟有限,采购晶圆后摘取合格晶粒(Good Die)自行封装,可以发挥封装阶段的成本优势,起到了丰富市场选择的作用,同时也促使固态硬盘价格能够覆盖到各种人群的偏好范围。

针尖上跳舞:一步都不允许出错

虽然公版方案使得制造固态硬盘的入门门槛降低了需多,但固态硬盘对闪存品质的要求并没有降低。由于闪存自身的工作特点,固态硬盘主控对闪存的使用受到种种制约。从最简单的来说,闪存必须先擦除才能进行写入,所以固态硬盘中没有真正的覆盖写入,所有针对原有数据的修改都将被重定向到新的闪存位置上。由FTL管理逻辑地址与闪存物理地址的对应关系。

这就像酒店房间管理,下午2点之前就到达酒店办理入住,这时给你预留的房间还没有打扫,所以前台给你安排新的房间,并在系统中做了记录。

原有数据因为发生变化而成为无效的"垃圾"内容,但主控却不能命令闪存直接将这个存储单元擦除掉——闪存的最小擦除单位Block块要比最小写入单位Page页大数千倍。随着已使用和已变成垃圾的位置越来越多,主控所能辗转腾挪的空间变得越来越小,所以必须要有垃圾回收来整理出足够数量的、可用于直接写入的空白块。

在读取原来block中有效块、写入新位置、擦除原来Block的垃圾回收过程中,不能有一丝一毫的错误发生。

机械盘异常断电丢失的可能仅仅是未保存的文件,而固态硬盘遇到异常断电或运行异常,丢失的还可能包括到恰好跟正写入的数据处于同个page或block的老数据——即便那些老数据早就正常写入进去,依然有可能在这次异常中被破坏。

通过筛选的闪存颗粒在制成SSD之后,对于成品还需要进行高温老化测试。下图是浦科特介绍的老化测试。使用Flexstar专用设备能够对SSD进行温度、电源循环、数据读写、极限电压等方面的测试,验证SSD在磨损均衡、数据错误率、组件失效率、写入耐久与数据保持时间等方面的表现。

并非万能的LDPC纠错

固态硬盘对可靠性的要求极高,闪存写入和读出数据的过程,都有纠错引擎的参与来确保数据无误。LDPC纠错近几年才应用都固态硬盘当中,被称为拯救TLC闪存的功臣。借此机会简单聊聊大家眼中神秘的LDPC。

LDPC是一种迭代算法。如果你不明白迭代的含义,推荐看一部名为"明日边缘"的电影,它讲述的是男主有机会一次次回到前一天,通过反复尝试各种可能,试图救下必将死在明天的女主。小编觉得这部2014年的电影很有意思,即便不是为了理解迭代的含义,如果有没看过的朋友也可以回去看一看。

好了扯远了,言归正传,LDPC是通过迭代的方式反复尝试解码,在这个过程中通过软数据(Soft Data,SD)的帮助一步步接近正确的读取结果。

这里又出现一个叫"软数据"的名词。所谓软数据,可以理解成瞎子摸象——手感。得到的信息量很大,但并不直观,需要经过进一步综合判断才能分析出结果。

闪存单元内存储的是电子,根据电子的多寡来表达不同的数据。现在还做不到直接数闪存单元中电子的数目,只能通过位线上的电流来感知和判断,并将它们转换为0和1的二进制数据。下图是最简单的SLC闪存模型:

SLC闪存的一个单元只需要表达0或1两种状态,到了MLC之后要表达的状态数量就增加到了4个(00,01,10,11),TLC时代更是增加到8个状态。后边还要16种状态的QLC闪存。没有LDPC这种强大的纠错算法是万万不行的。

LDPC纠错在软纠错阶段可以通过不同的读取参数去获得关于闪存的更多数据,根据自己的经验去尝试判读,如果ECC验证不通过,就换个"姿势"进行更多的尝试。这里判读所依据的经验是"Log-likelihood ratio(LLR)",中文名叫对数似然比。

对数似然比是一个经验丰富的老司机,能够仅凭一个模糊的画面就能把车牌号猜个八九不离十。当然经验再丰富也有翻车的时候,不要紧,LDPC纠错可以继续迭代,接着尝试,直到得出正确答案,或者因迭代次数达到限制而纠错失败。

SSD的闪存品质不好会容易翻车:坏就坏在对数似然比这个老司机身上。对数似然比与闪存的特性有关,可以想象只开美系车的老司机,让他猜日本的车牌号是很难猜对的。

对数似然比这些经验性的信息,是在主控及固件的设计阶段就预设好的,需要根据闪存的不同进行适配。这是一个经验活儿。天下闪存制造商虽然只有寥寥数家,但即便是同一家闪存厂的产品,不同品质等级的脾气秉性也很难料。这里边的问题就复杂了,我就放张龙生九子的图片吧。

现在我们知道,闪存的品质不是简单的PE次数,它会影响到LDPC纠错的效果,反过来影响到闪存能够用多久。即便神如LDPC,如果闪存品质不佳,也可能因偏离固件的设计而失控。

闪存出错的累加效应

通常的情况下,每一笔写入和读取的数据都会经过纠错引擎的检查。

但某些时候为了更好的性能也会有无主控纠错引擎参与的数据迁移发生,譬如说使用到Copy Back(闪迪称为On Chip Copy)的磨损均衡或者SLC缓存释放过程。

因为Copy Back的数据迁移过程只局限在芯片内部,不需要主控的过多参与,所以释放了主控压力,提升了SSD的效能表现,但也因此失去了检查错误的机会,有可能导致闪存错误的逐渐累加,直到下次主控要求读取时才发现已经超出了纠错能力范围。

为了兼顾性能与数据安全,一些固态硬盘会采用适时切换的方式,在闪存较新的时候采用Copy Back模式提升性能表现,当闪存磨损达到一定程度后改回传统模式保护数据安全。PCEVA之前在饥饿鲨TR150固态硬盘的耐久度测试中就发现,该固态硬盘在主机写入量超过标定TBW之后,就会关闭Copy Back模式。

如果闪存品质不确定,没有办法找到一个合理的均衡点,就有可能无法发挥出闪存的全部寿命潜力。

总结:因为NAND块擦除的特性,必须要有很多复杂的算法与纠错辅助来保证运行时的效能与稳定性。NAND闪存虽然是非易失性存储器,但在记录数据的过程中依然充满风险,除了用户直接请求的写入之外,SSD内部的磨损均衡、垃圾回收以及基于数据保持目的的刷新都会产生背景写入。SSD作为一个精密的整体,主控的先进纠错技术只是一个辅助,关键还是要看闪存品质以及固件的成熟度。

打个比方,师太亲身经历的事情:朋友开了个烤串店,大家都去捧场,但越吃越咸,老板解释说:肉不新鲜,多放点盐遮遮味……大家以为就是个玩笑没当真,但回家全都拉了肚子……劣质的NAND就像这个不新鲜的肉串,虽然有各种算法与纠错辅助能一定程度遮盖不新鲜的味道,但你吃下去还是要拉肚子的。

以上是小编多年测试SSD后的心得。水平有限,文中若有错误欢迎大牛指正。那么结尾部分再说些大白话吧,目的是让没有专业知识的人也都能看懂:

我们还能得到几个延伸的结论:

1、SSD跑分其实很扯淡,跑的不过是缓存在极短时间内的爆发力,无法真实体现SSD在实际工作中的状态。这也是AS SSD的测试结果不靠谱的原因之一。

2、家用固态硬盘没事别瞎折腾,一边删除一边写入的事尽量少干,如果写入时候有卡顿,千万不要着急的按重启,多等会,因为块擦除延迟是比较高的。想骗保的同学看到这里会有所领悟吧,不过这仅针对使用劣质NAND的SSD,优质NAND+健壮度高的固件,这么做也很难搞坏。

3、如果非要买低端的SSD,也尽量选有芯片sorting能力的工厂出的产品。已知大陆工厂有这个能力的包括江波龙,台湾的华泰电子等也给很多品牌提供封测服务。我们把这个能力当做一个最基本的及格线,凡是及格线之下的都是不推荐的,比如那些使用拆板、降级颗粒不做sorting却成天自称一线原厂颗粒的品牌……

相关问答

ssd 开卡怎么清除 nand ?

SSD开卡清除NAND的步骤如下:首先,需要使用专业的软件工具进行初始化操作,将NAND中的所有数据清空。其次,可以选择进行格式化操作,将SSD中的文件系统重新格...

vivo清除emmc如何恢复?

即ROM存储。eMMC是个什么东西?很多厂商都说用的是4GB的ROM,其实是eMMC内存。它的成本首先:安卓系统有500多M,需要一个大容量的芯片,二,原来的手机都有NAND...

flash和norflash区别?

3、擦除/读写不同NAND闪存中的擦除操作非常简单,而在NOR闪存中,每个字节在擦除之前都需要写入“0”。这使得NOR闪存的擦除操作比NAND闪存慢得多。例如,NAND...

nand flash可以同时读写吗?

答:不可以虽然NAND不能同时执行读写操作,它可以采用称为"映射(shadowing)"的方法,在系统级实现这一点。NAND闪存阵列分为一系列128kB的区块(block),...

固态硬盘能用多久?-牌子网

要了解固态硬盘的寿命计算的原理,就有必要提一下固态硬盘中的存储介质NAND闪存,因为固态硬盘的寿命很大程度上取决于NAND闪存的寿命。NAND闪存的结...

固态硬盘为什么会掉速?

为了让使用很久的固态硬盘焕发青春,还可以进行安全擦除(SecureErase)。针对这个问题,你有何想法呢?在下抛砖引玉,欢迎各位看官拍砖讨论,感谢!不过,由温控降频...

为什么固态硬盘的文件无法彻底删除?

目前所谓的基于SSD固态硬盘的可靠的擦除数据的方法,都会留下严重的隐患。他们深入的研究了NAND闪存芯片的管理方式,通过固件界面进行的数据读写管理,但是这些...

SSD固态硬盘寿命怎么计算?SSD的寿命对用户影响大吗?-ZOL问答

要了解SSD固态硬盘的寿命,需要先了解一下SSD固态硬盘中的存储介质NAND闪存。NAND闪存原理上是一个CMOS管,有两个栅极,一个是控制栅极(ControlGate),一个是浮...

山寨苹果6清除emmc是什么意思?

“清除emmc”是格式化手机内存的意思,之前设置的开机密码之类的东东,通讯录,安装在手机上的软件之类的都会没有。emmc是指手机内部储存,即手机的EMMC闪存...

闪存里的信息是以什么形式储存的?

说起闪存,客户最关注的一个问题就是闪存如何读写,存储数据。闪存目前最流行的是NANDFlash,其类似外置存储,通过专门的IO接口实现数据访问,支持大容量,适合...说...

 御批历代通鉴辑览  牛头怪乐园 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部