SSD的TRIM与全盘擦写
磁盘碎片整理程序是常用Windows用户再熟悉不过的功能,它能将散落的硬盘碎片文件整合,提升磁盘效率。但是在家用主硬盘从HDD过渡到SSD的过程中,Windows的磁盘碎片整理程序却难以再帮上我们什么忙了。这时我们应该结合操作系统本身的功能以及官方提供的软件,让SSD性能再次飞跃。
请勿使用磁盘碎片整理程序
SSD的存储介质与HDD完全不同,为HDD设计的Windows磁盘碎片整理程序不再适合使用NAND闪存颗粒的SSD(图1)。而且NAND闪存颗粒是有擦写寿命的,磁盘碎片整理会增加闪存颗粒的擦写损耗,得不偿失完全没有必要。不论是什么硬盘,都会随着日积月累的使用越来越慢的。SSD不能使用Windows的磁盘管理,那我们如何维护它?
从WIN7开始的TRIM
其实微软在推出Windows 7时已经对此有所考虑,微软联合各大SSD厂商开发了一种新的技术,被称为TRIM。如果我们的操作系统是Windows 7之后的,并且SSD也支持TRIM的话一切都会变得非常简单。我们可以这么理解,SSD的自我整理和修复完全是全自动并且智能化的,无需我们去操心(图2)。
微软的NTFS文件系统和固态硬盘主控会自己去发现需要擦除的页面,并等待有再次写入操作时自动擦出原本的数据。这和Windows原本的磁盘碎片整理那种分析-合并-整理的机制完全不同,不仅能提升读写效率还减少了硬盘的损耗。如果是SSD和HDD硬盘混装的电脑,推荐用户关闭或者指定系统只自动整理HDD硬盘,同时在手动整理磁盘碎片时不要选中SSD的盘符。
如何判断系统开启了TRIM
一般来讲现在的SSD配合Windows 7以上操作系统,TRIM是一定会被激活的。但是如果主板驱动或者系统没有通过正常方式安装,用户不放心还是可以检查的。具体办法也比较简单,使用管理员身份运行Windows的CMD.exe,在里面输入“fsutil behavior query DisableDeleteNotify”,如果返回值为0则表示我们的系统已经开启了TRIM功能(图3),如为1则是未开启状态。
小提示:磁盘清理与垃圾回收
经常使用磁盘碎片整理程序的用户肯定知道有一个相邻的程序叫做磁盘清理,专门负责清理操作系统在日积月累使用下的垃圾文件(图4)。其实SSD的主控也有相应的功能,而且也是全自动的!在主控的工作下,闪存颗粒可以把那些有效无效数据并存的块合并成整体,并删除无效数据块来增加空白数量。这个操作也有一些类似碎片整理,我们无需去理解复杂的主控算法,只需知道这些功能都是SSD主控默默完成就好。
各大品牌SSD 软件
以上那些内容虽然适合所有品牌的SSD,但是略显不够直观。现在产品都讲究用户体验,许多品牌都随着硬件产品推出了官方优化软件。这些软件是否好用,很大程度上决定了用户的使用体验,也决定了产品的附加价值。
三星SSD Magician
三星SSD从2012年开始发力,市场占有率猛增,旗下这个SamsungSSD Magician也立下了汗马功劳。Samsumg SSDMagician是一款综合性的SSD管理软件,集状态监测(图5)、日常维护、固件升级、速度测试(图6)、数据安全擦除、性能优化于一身。这个软件只针对三星自家的SSD产品有效,最主要的功能就是磁盘状态监视、性能优化、固件升级和安全擦除。
磁盘状态监视
Samsumg SSD Magician的首页面主要提供SSD的基本信息,相比一些第三方软件更加全面。总写入数据这个监视参数非常有用,可以第一时间参看SSD的累积写入数据量,为评估SSD寿命提供了方便。
性能优化
性能优化这个功能对于已经支持TRIM的系统是没有意义的,但对于还在坚守XP的用户来讲价值就体现出来,Samsung官方的磁盘碎片整理十分可靠(图7)。
固件升级
固件升级可以帮助SSD改善兼容性和稳定性,几乎在所有品牌SSD的管理软件中,升级固件是必备的功能。升级固件操作非常简单,系统会自动联网检测是否有新固件需要更新,检测后确认直到系统重启就算升级完成了,过程完全傻瓜化(图8)。
安全擦除
安全擦除可以将SSD恢复到出厂状态,这是在使用很久之后让SSD“原地满血复活”的最佳方案。不过这样做会永久破坏闪存颗粒中的数据,不过借由此功能也可以放心出手自己不用的SSD不必担心隐私泄露(图9)。
特色功能PAPID Mode
RAPID被三星称为实时数据传输加速处理技术,就是一种利用系统内存做缓冲为SSD加速的技术。额外划拨系统内存,为SSD读写提供更大的缓冲,从而达到优化性能的目的。其实这个技术毫无新意许多第三方软件早已实现,但RAPID来自原厂,三星结合了自家的主控算法和NAND特性专门量身定做的优化程序,效率稳定性比第三方软件强得多(图10)。开启RAPID Mode前后,几乎所有性能都提升了一倍,速度飙升让人乍舌。
Intel SSD Toolbox
提起SSD固态硬盘优化,英特尔官方出品的固态硬盘优化工具Intel SSD Toolbox可能是最为有名的(图11)。Intel SSD Toolbox安装好之后在开始界面中会出现目前系统上所有的硬盘列表,预设是显示Intel的SSD状态,在这点上是与三星软件类似的。
注意System tuner这一项的右方是否有叹号,通常这代表了SSD或者系统状态有需要注意的地方。点击进去就会显示所有可能会存在问题的项目,根据软件进行设置即可。
Intel SSD Optimizer是根据TRIM功能优化SSD的选项,如果我们依旧在使用XP系统,或者操作系统并没有开启TRIM功能,可以使用这个功能让SSD恢复性能。值得一提的是Intel这个恢复的速度相当快,几秒钟就能完成一个完整的TRIM流程。
Intel SSD Toolbox同样提供了安全擦除和固件更新等功能,用户使用起来只要根据软件提示一步步操作,就不会有问题。
其他品牌专用软件
闪迪(SanDisk)最早主攻存储卡,但近几年他们SSD做得风生水起,从入门低端产品到顶级性能旗舰一应俱全。为了旗下SSD能有更好用户体验,闪迪也推出了专用的固态硬盘工具SSDToolkit。基本功能大概与Intel的类似,在固件更新时能详细看到固件版本以及上次更新的状态,并且支持在线升级(图12)。
OCZ在国内市场名为饥饿鲨,旗下SSD产品众多,他们也有一套完整的专用软件OCZToolbox。主要功能与其他几家差不多,集中在SSD状态监测、S.M.A.R.T信息监测、固件刷新、安全擦除等功能(图13)。
杂谈闪存二:NOR和NAND Flash
三星终于从爆炸门中走了出来,受到来自DRAM 与NAND 价格上涨带动,三星把Intel从盘踞了14年的半导体王座上赶了下来,风光可谓一时无两。虽然下半年市况预料将会修正,但今年整体DRAM 仍可较去年成长39%,NAND 则成长25%,而这两项恰恰曾经帮助过Intel走向巅峰,真是成也萧何,败也萧何啊。说起NAND Flash,他和他的哥哥NOR Flash可谓是20世纪最重要的发明之一,他的诞生和发展很是曲折,生于日本,长于美国,如今却在韩国大放异彩。今天的历史故事要从他的发明人桀冈富士雄(Fujio Masuoka)和他的狗血东家说起。
历史
Intel很早就发明了EPROM,这是一种可以用紫外线擦除的存储器。相较于ROM,它的内容可以更新而且可以保持10~20年,老式电脑的BIOS都存储于此。
(Intel 1702)
它的顶部必须被覆盖住,以防被阳光里的紫外线擦除。后来Intel在其基础上于1978年发明了电可擦除的升级版叫做EEPROM。不需要阳光的帮忙,方便多了,可是读取和擦除速度却非常缓慢。
这时我们的主人公富士雄出场了,他于1971年加入了东芝公司。受到了EEPROM的启发,他开始利用自己夜晚和周末的时间钻研一种能快速擦除的EERPOM。他在1980年取得突破,申请了一个叫做simultaneously erasable EEPROM的专利。然而,日本大公司的论资排辈却让这项划时代的发明石沉大海,直到4年之后。
“我终于被提拔了,可以不要批准就去工厂,让工人们帮忙做出样品了”,富士雄说。当他拿着他的样品参加当年的IEEE大会的时候,NOR Flash引起了轰动,以至于当他回到日本后,他的老板总是被Intel打来的要样品电话骚扰。他被奖励了几个人手帮忙,而这些人却是part-time的。而在大洋的另一边,Intel在收到样品后,立刻派出300多个工程师全力研发自己的版本。由于新发明的这种EEPROM擦除速度飞快,富士雄的同事建议他把这种技术取名Flash,暗合相机的闪光灯飞快闪烁之意。
东芝公司并没有把NOR flash技术当作宝贝,只是不想要别人插手而已。所以不停的起诉任何希望染指的公司,如TI公司。而富士雄却并没有停止他的追求,在1986年发明了NAND Flash,大大降低了制造成本。由于他的贡献,东芝奖励了他一笔几百美金的奖金和一个位置很高却悠闲的职位。做为一个工程师,他忍受不了这种待遇,不得不辞职进入大学继续科研。
东芝公司的短视很快招来了市场的惩罚。Flash市场迅速扩张,在90年代末期就达到数百亿美金的市场规模,Intel是这个市场的霸主,而东芝公司只享有很小的份额(NAND,NOR几乎没有)。在很长一段时间,东芝公司甚至不承认NOR flash是他发明的,说是Intel发明的。直到IEEE在1997年颁给富士雄特殊贡献奖后才改口。
富士雄觉得自己的贡献被东芝公司抹杀了,他愤然于2006年起诉了公司,并索要10亿日元的补偿。最后他和东芝公司达成和解,得到8700万日元(合758,000美元)。富士雄没有依旧停止自己的脚步,在获得进200个专利后,他还在向着下一个big thing进发。
无疑富士雄是个英雄,有人说应该颁给他诺贝儿奖,他也是我还可以记得名字的发明人之一,而其他的很多技术发明人却泯然众人矣。从这个故事中也可以折射出日本大公司的官僚主义和大公司病。
NOR VS NAND
那么什么是NOR Flash和NAND Flash?我们先来看看他们芯片的样子:
(左边是NAND,右边是NOR)
他们的电气原理我就不讲了,感兴趣的人也不多。我们这里主要聚焦在他们的共性和特性上。
1。共性
A. 都是非易失存储介质。即掉电都不会丢失内容。
B. 在写入前都需要擦除。实际上NOR Flash的一个bit可以从1变成0,而要从0变1就要擦除整块。NAND flash都需要擦除。
2。特性
特性是决定使用哪种Flash的根据,我这里总结出一张表:
如果以美光(Micron)自己的NAND和NOR对比的话,详细速度数据如下:
(数据来源Micron)
如果我们单独看随机读取速度:
(数据来源Micron)
如果用现在流行的关系图看是这样:
(数据来源Toshiba)
应用场景
在PC和手机上我们都可以找到NOR和NAND Flash的身影。
1。NOR Flash
NOR Flash和普通的内存比较像的一点是他们都可以支持随机访问,这使它也具有支持XIP(eXecute In Place)的特性,可以像普通ROM一样执行程序。这点让它成为BIOS等开机就要执行的代码的绝佳载体。
NOR Flash 根据与 Host 端接口的不同,可以分为 Parallel NOR Flash 和 Serial NOR Flash 两类。
Parallel NOR Flash 可以接入到 Host 的控制器 上,所存储的内容可以直接映射到 CPU 地址空间,不需要拷贝到 RAM 中即可被 CPU 访问。NOR Flash在BIOS中最早就是这种接口,叫做FWH(Firmware HUB),由于其接是并行接口,速度缓慢,现在基本已经被淘汰。Serial NOR Flash 的成本比 Parallel NOR Flash 低,主要通过 SPI 接口与 Host 也就是PCH相连。
现在几乎所有的BIOS和一些机顶盒上都是使用NOR Flash,它的大小一般在1MB到32MB之间,价格昂贵。
2。NAND Flash
NAND Flash广泛应用在各种存储卡,U盘,SSD,eMMC等等大容量设备中。它的颗粒根据每个存储单元内存储比特个数的不同,可以分为 SLC(Single-Level Cell)、MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 三类。其中,在一个存储单元中,SLC 可以存储 1 个比特,MLC 可以存储 2 个比特,TLC 则可以存储 3 个比特。
NAND Flash 的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。
现在高端SSD会选取MLC甚至SLC,低端SSD则选取TLC。SD卡一般选取TLC。
3。其他
1. 最早的手机等设备之中既有NOR Flash也有NAND Flash。NOR Flash很小,因为支持XIP,所以负责初始化系统并提供NAND Flash的驱动,类似Bootloader。而NAND Flash则存储数据和OS镜像。三星最早提出Norless的概念,在它的CPU on die ROM中固话了NAND Flash的驱动,会把NAND flash的开始一小段拷贝到内存低端作为bootloader,这样昂贵的NOR Flash就被节省下来了,降低了手机主板成本和复杂度。渐渐NOR Flash在手机中慢慢消失了。
2. NOR Flash最大的问题是擦写慢和可擦写次数少,但是很少会因为这个原因造成BIOS速度降低和损坏,你知道是为什么吗?
尾声
NAND Flash相对NOR Flash更可能发生比特翻转,就必须采用错误探测/错误更正(EDC/ECC)算法,同时NAND Flash随着使用会渐渐产生坏块;我们在使用NAND Flash的SD卡上经常使用FAT文件系统,如果大家度过前面的文章(传送门:FAT文件系统与UEFI - 知乎专栏)就会知道,文件分配表会被频繁改写,而每块的擦写次数是NAND Flash寿命的决定性因素。如何才能平衡各块的擦写和为可能的坏块寻找替换呢?通常需要有一个特殊的软件层次,实现坏块管理、擦写均衡、ECC、垃圾回收等的功能,这一个软件层次称为 FTL(Flash Translation Layer)。根据 FTL 所在的位置的不同,可以把 Flash Memory 分为 Raw Flash 和 Managed Flash 两类:
最早大家都是使用raw Flash,FTL全由驱动程序实现。后来发展到SD和eMMC等,则由设备固件实现抽象。
FTL的原理是我们下一篇的主要内容。
相关问答
ssd 开卡怎么清除 nand ?SSD开卡清除NAND的步骤如下:首先,需要使用专业的软件工具进行初始化操作,将NAND中的所有数据清空。其次,可以选择进行格式化操作,将SSD中的文件系统重新格...
什么是 NAND 闪存?内存和NOR型闪存的基本存储单元是bit,用户可以随机访问任何一个bit的信息。而NAND型闪存的基本存储单元是页(Page)(可以看到,NAND型闪存的页就类似硬盘的扇...
trim指令?TRIM指令是微软联合各大SSD厂商所开发的一项技术,属于ATA8-ACS规范的技术指令。正文TRIM是告诉NAND闪存固态存储设备要擦除哪些数据的SATA接口指令。当相关...
NANDflash和NORflash的区别?NOR闪存的密度范围从64Mb到2Gb。由于NANDFlash具有更高的密度,因此主要用于数据存储应用。3、擦除/读写不同NAND闪存中的擦除操作非常简单,而在NOR闪存中,每...
flash和norflash区别?1、存储架构不同NORFlash架构提供足够的地址线来映射整个存储器范围。这提供了随机访问和短读取时间的优势,这使其成为代码执行的理想选择。另一个优点是100...
闪存是什么?闪存是一种非易失性存储器,用于存储数据并保持其在断电情况下的稳定性。它由一系列闪存单元组成,每个单元可以存储一个或多个位的数据。闪存具有高速读写、低...
为什么固态硬盘的文件无法彻底删除?目前所谓的基于SSD固态硬盘的可靠的擦除数据的方法,都会留下严重的隐患。他们深入的研究了NAND闪存芯片的管理方式,通过固件界面进行的数据读写管理,但是这些...
山寨苹果6清除emmc是什么意思?“清除emmc”是格式化手机内存的意思,之前设置的开机密码之类的东东,通讯录,安装在手机上的软件之类的都会没有。emmc是指手机内部储存,即手机的EMMC闪存...
闪存是什么意思?闪存是一种非易失性存储器,用于存储数据并在断电后保持数据的完整性。它采用了固态电子存储技术,由闪存芯片组成。闪存具有高速读写、低功耗、抗震抗摔、体积...
nand flash可以同时读写吗?答:不可以虽然NAND不能同时执行读写操作,它可以采用称为"映射(shadowing)"的方法,在系统级实现这一点。NAND闪存阵列分为一系列128kB的区块(block),...