SSD 里操作系统占用的空间写入次数永远不涨?

2016-09-27 11:56:39 +08:00
 marcushbs

比如 macOS 占了 10G 空间,安装 xcode 等等开发必备软件又 20G ,这 30G 文件占据的 TLC / MLC 因为很少更新删除操作,在相当长的时间里就是 1 次写入的状态吧? 那么一个 128G 的 ssd ,各种必须软件整完了只剩 30G 空间,开发期间频繁的 node/rails/clang 编译操作造成的擦写仅在这 30G 上发生,岂不是坏得特别快? 有什么算法会挪动一下常年不动的文件吗?

4390 次点击
所在节点    SSD
14 条回复
imn1
2016-09-27 12:25:57 +08:00
累计写入 128G 才算一次
zwl2012
2016-09-27 12:40:07 +08:00
SSD 固件内部就实现了这种均匀磨损算法,不然以 tlc 的尿性, SSD 能用几个月?
shimanooo
2016-09-27 13:47:10 +08:00
9hills
2016-09-27 13:50:50 +08:00
你想到的, SSD 厂商已经想到了。。。自己就会做,不必你担心
vibbow
2016-09-27 15:10:06 +08:00
@zwl2012 @shimanooo @9hills
难道 lz 说错了么?已被占用的空间 SSD 的确是不会被平衡磨损的啊。
难道你的数据物理的存在区域 A ,也没有修改删除, SSD 为了平衡磨损,就把你数据主动移动到区域 B 么?
9hills
2016-09-27 15:11:13 +08:00
@vibbow
> 难道你的数据物理的存在区域 A ,也没有修改删除, SSD 为了平衡磨损,就把你数据主动移动到区域 B 么?
是的
vibbow
2016-09-27 15:12:53 +08:00
@9hills 除了 samsung 840 evo 出了一个工具干这事,还有哪个 SSD 是这样的?
nodin
2016-09-27 15:22:11 +08:00
这个不是主控和算法的活?
processzzp
2016-09-27 15:32:04 +08:00
@vibbow 每个 SSD 都是这样,如果不做磨损均衡那和一个大号 U 盘有什么区别?

按照楼主的想法,别说 TLC 、 MLC 了, SLC 来也扛不住
mm163
2016-09-27 15:41:40 +08:00
所以要永远保留 1/3 以上的空间。
另外,升级系统,升级 xcode ,升级程序,这些空间就会交换出来,放心吧。
otakustay
2016-09-27 16:35:52 +08:00
你可以这么理解, SSD 主控芯片闲着没事干的时候就在那挪数据,挪过来又挪过去……
honeycomb
2016-09-27 17:30:22 +08:00
不会这样的, SSD 内置的磨损均匀算法会(以提高写入放大倍数 /总写入量为代价)避免这种问题。

@vibbow

可以认为所有正常的 SSD 都会进行磨损均匀,而且磨损均匀的执行是对操作系统透明的

@mm163

SSD 保留一部分空间不使用是为了让其有足够的空间进行损耗均匀 /垃圾回收等保护 SSD 性能 /寿命的动作,这个空间的减小会提高写入放大倍数。
vibbow
2016-09-27 18:17:04 +08:00
@otakustay 如果真是这样干的话,那 840 evo 就不应该掉速了啊
vibbow
2016-09-27 18:18:03 +08:00
@processzzp u 盘没缓存

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/309250

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX