OSX: 打开SSD的TRIM功能可能不是一个好主意

原创 2015年07月07日 09:31:04

很久以前,自从人们开始把SSD装载Mac机器中,并且OSX开始支持TRIM开始,人们就开始注意打开OSX的TRIM功能来优化SSD的性能,尤其是当SSD中的垃圾数据越来越多,而SSD需要腾挪这些垃圾来为有用数据腾地的时候,这也是SSD运行最慢的操作。

从前,一直没有认为打开TRIM对系统会有什么副作用,所以,对Apple在OSX10.10中只支持自己的OEM SSD的做法很是不理解。自从看了一篇博客文章才多少理解了Apple的谨慎态度。

事情是从得知10.10.4有了一个内置打开支持第三方SSD盘的TRIM功能开始的,

sudo trimfoce enable

刚看着Apple的警告,多少心里还有点不屑一顾,毫不犹豫地就选择了y(为什么不呢;终于可以摆脱第三方Trim Enabler软件了,不用Apple系统自带的功能才傻呢;OSX系统的东西,放心用吧)相信这样做的人不在少数。还记得不久前OWC宣称它的Mercury系列SDD,采用SandForce核心,不使用TRIM依然可以自动实现垃圾清理的功能吧,估计有人会对它动心的。

后来在MacRumuors中看到了一个网友回复提醒的“HEED THE DATA LOSS WARNING”的消息。从哪里找到了有关Trim+SSD导致Linux服务器系统错误的原始文章,在这里:When Solid State Drives are not that solid。他们的Linux服务器集群中,最严重时大致每隔1个小时就会有服务器宕机,他们尝试了所有的相关系统的更新,排错几乎从应用层、文件系统到系统内核跟踪检查每个相关应用的日志,询问服务器提供商,是不是有硬件相关问题回馈,都没有发现和解决问题。他们发现虽然同类型的服务器,只是有很少的硬件不同(其中包括SSD),但是只是一部分服务器会重复宕机,使用排除法更换硬件服务器,还是没有发现问题。后来发现有些系统小文件的内容块(512B)被“随机的”全部写了0,他们不知道到底谁会把这些文件清零,猜测的是可能会是Trim,最后他们关闭了Trim,经过了数个星期的运行,系统也不再宕机了。随后他们联系了供货商和三星,结果三星会在现场调试,如果无法解决问题将会把机器运到韩国总部进行进一步的检测。截止目前为止,还没有进一步的消息。

根据他们的发现,通过读Linux最新源码,Linux系统有个持续更新的Trim blacklist,(当然,还有其它品牌的SSD以及其它有问题硬盘)其中最新更新是,所有的三星800系列的SSD盘都列在了这个Blacklist中,其中标示它们不支持NCQ Trim(还有Misron和Crucial的几个系列)。再根据其它人揭示的有关三星客服回复的报道,三星的这些SSD不支持Queued Trim命令,而使用Sequential Trim是安全的。根据其他人的解释,之所以目前没有人反映Windows出现类似的问题,似乎是因为Windows禁止了在不支持Queued Trim的SSD操作亦或本身就不支持Queued Trim操作,或者是一种非实时TRIM,一种有计划的集中TRIM处理,具体详情还有待澄清。

Sequential Trim的执行会明显方面SSD的速度,因为它需要完全执行完一个TRIM命令后,再执行下一个,这样如果操作系统每删除一个文件都进行TRIM操作,那么根据SSD固件的速度快慢,不同程度地影响SSD的表现。而SATA 3.1标准推出的Queued Trim解决了上面的问题。但是由于固件问题,有些SSD在执行Queued Trim操作时会出现混乱。

不过还有人报道说,即便是Sequential Trim,有些固件的SSD依然会有问题。

事情并不那么简单,根据其它的报道,这些三星SSD较新版本的firmware虽然内部标识是完全支持SATA 3.2的技术标准,但是其实有些该标准的功能并没有完全实现,比如“RECEIVE/SEND FPDMA QUEUED”固件并完全不支持,而宣称是完全支持的,这造成的问题是,一旦上层系统使用这个功能,就会出现问题,严重的是数据丢失。而这个问题在以前的型号中就存在了。还有一种可能是,SATA卡有某种缺陷,与SSD配合造成出错,这给看似简单的问题,又添加了一层不确定性。不过目前看上去,似乎都集中在这些SSD的固件本身,它们可能存在某种未知的技术缺陷。

现在的情况是,禁止操作系统的即时TRIM功能,而进行定期的TRIM操作,这样会尽量避免上述问题。虽然说这样可能会造成系统的临时不可用,但是更加安全。

还有一点是,如果使用了即时TRIM,那么误删文件的回复操作可能就无法进行了,试想被删除的文件在SSD中物理地被清零了,而不是像传统磁盘那样,操作系统只是给删除文件做个标记,那么恢复文件也就无从谈起。那么带有可追溯历史的备份,就是一个比磁盘时代更加被重视的功能了。幸好,时间机器Time Machine支持版本恢复,是一个不错的选择。现在不了解的是,OSX本身的文档版本回滚功能,会不会受Trim问题的影响。

所以,在OSX上载第三方SSD硬件上开启TRIM是不是一个好主意,用户自己决定。

另外,Aerospike公司做了一个SSD开源的检测工具:ACT,也是一个可以考虑使用的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

React不是一个好主意(React Is A Terrible Idea(翻译自Dan Yoder))

最近有很多关于React框架的令人激动的事情,React好像在和Angular在最时髦的框架层面上一争高下。不幸的是,这两个框架都不利于你的应用健康,对整个软件行业来讲也没有好处。对于新的应用程序,为...
  • packer
  • packer
  • 2015年03月15日 23:18
  • 504

为什么采用using namespace std不是一个好主意

C++ 为什么采用using namespace std不是一个好主意 江南烟雨 2 票 3548 今...

开SSD Trim在OSX10.10

  • 2015年05月24日 20:03
  • 3.44MB
  • 下载

交易趣谈——如何快速致亏的几个好主意

阅读原文:http://club.jr.jd.com/quant/topic/1443131 京东金融官方资讯QQ群:456448095 有什么想咨询的都可以来询问我们 《遥远的救世主...
  • JDquant
  • JDquant
  • 2017年06月21日 17:54
  • 130

【畅言】不把C作为第一门语言是个好主意么?

v 摘要:不少人认为,第一门语言最好不要学C,而V众投发起人李智勇却不这么看。他认为如果真想做好开发,想更好地实现人生价值(包括现金价值),那么打基础很必要,而从C语言,这种厚积薄发的语言开始学...

打开Mac OSX原生的NTFS功能

打开Mac OSX原生的NTFS功能 插上磁盘 从finder或者使用以下命令查看到磁盘的Volume Name: diskutil list/dev/disk0 #: ...

SSD固态硬盘的Trim命令是什么

SSD固态硬盘的Trim命令是什么 我相信听到过买SSD要买支持Trim的玩家不在少数,不过我敢肯定大多数玩家到目前为止还搞不懂Trim到底是干啥的,只是一味跟风,今天在这里我就稍微详细的解释下...
  • dayancn
  • dayancn
  • 2016年07月28日 13:59
  • 2436

SSD TRIM原理详解

固态硬盘(SSD)越来越普及,相关的TRIM技术也炙手可热。TRIM的作用和原理是什么呢?我们慢慢来细说。 SSD的数据删除/覆写机制 首先,我必要看看机械硬盘(HDD)的工作原理,做一个...

如何打开Mac OSX原生的读写NTFS功能(支持OS X EI,秒杀NTFS+)

如何打开Mac OSX原生的读写NTFS功能(支持OS X EI,秒杀NTFS+) 最近OS X EI更新成风,本人的是2014年初的macbookair,双系统,OS+WIN(仅仅用于工作需要...
  • sesiria
  • sesiria
  • 2016年09月03日 10:33
  • 587
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OSX: 打开SSD的TRIM功能可能不是一个好主意
举报原因:
原因补充:

(最多只允许输入30个字)