PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

存储迷思之删除通知(Delete Notify)和trim

[复制链接]
nighttob 发表于 2019-2-19 14:09 | 显示全部楼层 |阅读模式
点击数:5068|回复数:8
在不特别较真的情况下,删除通知就是trim的另外一种文字表达方式。
其实删除通知这个名字,更能形象地表达,trim到底是做什么用的——只是通知一个LBA范围内的数据无效(删除)了,该怎么办你(SSD)自己看着办。
因此,删除通知是一个主机指令——不论你(SSD)是否能听得懂,我(主机)都会说。


到了听众(SSD)这边
如果根本听不懂,就是不支持trim,或者说是不接收trim command。
而听懂了以后要怎么做,就多种多样了,比如是立即执行(non-queued)、排队执行(queued),还是反馈全零(RZAT)、反馈特定数(DRAT, no-RZAT)、随便反馈你个啥(no-DRAT)。


主机在面对不同设备时,删除通知有不同的表达方式(指令集)
ATA——TRIM
SCSI——UNMAP
NVMe——Deallocate


结论就是

在Windows系统里面fsutil behavior query disabledeletenotify,返回给你的是主机(操作系统)是否会发删除通知,而不是SSD会不会接收。
只要不手动改,这个值就应该是0(已禁用)。
看不懂为什么是0的都是语死早。

早年我讲IDENTIFY_DEVICE的时候就说过,一个功能是区分“支持”和“启用”的。
http://bbs.pceva.com.cn/thread-97913-1-1.html
对trim来说,支持不支持在于SSD本身,启用不启用在于主机,但不支持也就没有后面的启用不启用。
都2019年了,还有人在纠结支不支持trim这件事,但似乎没人纠结收了trim以后怎么办这回事,明明后面这更重要。
支持但做不好会怎么样,严重卡顿(鞭尸OCZ V180和SF全家),丢数据(我黑三丧和美光又不是一天两天了)。
这四件事都知道的,应该已经脱离trim这种低级纠结了。
一劳永逸的方法就是直接禁用删除通知,对,改成1。

严格来说trim只是给ATA设备的删除通知,只是被叫习惯了。
所以要抬杠的话,当然可以说NVMe SSD不支持trim。


要不要支持trim无非就是能不能和值不值的问题。
当然,要理解能不能和值不值,首先得理解trim的目的是什么,这个我不罗嗦了(如果trim目的都不知道,就开始纠结,我觉得也没啥可谈的)。
能不能就是能否做得到,迄今所有的真·U盘和上古时代的SSD(X25-E和更老的)不支持trim就是做不到,毕竟支持trim command和后续动作是比被动GC更复杂的逻辑。
值不值就是有没有必要,3DXP介质的SSD不支持trim就是没必要,因为介质不需要做擦除操作当然就不需要GC,也就不需要trim去解决GC的问题。
但记住,删除通知并不等于trim,删除通知的本意是释放一定LBA范围内的空间并使之可用,我们所熟悉的trim过程只是更加关注如何使之可用。


完。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1绝对值 +1 收起 理由
jackyi + 1 赞一个!

查看全部评分

暴力SSD 发表于 2019-2-19 15:36 | 显示全部楼层
3DXP不用擦除就可以写入,主控,FW算法啥的应该比NAND的简单吧?
nighttob  楼主| 发表于 2019-2-19 15:46 | 显示全部楼层
暴力SSD 发表于 2019-2-19 15:36
3DXP不用擦除就可以写入,主控,FW算法啥的应该比NAND的简单吧?

我觉得不能这样讲
但FW包确实较小



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
yhhuada66 发表于 2019-2-19 15:59 | 显示全部楼层
这才是真.科普,版主的存储迷思可以再做成一个系列了,哈哈
杰迪武士 发表于 2019-2-19 20:37 | 显示全部楼层
看不懂的不应该是英死早么
eterfinity 发表于 2019-2-19 20:50 | 显示全部楼层
我就是迷思湖的水怪,反对一切trim,支持一切upmap,deallocate,fold。
渴望穿越
NuclearBomb 发表于 2019-2-19 22:32 | 显示全部楼层
感觉trim为了性能做的牺牲有些大,性能提升又感觉不到
来自苹果客户端来自苹果客户端
jackyi 发表于 2019-2-20 10:11 | 显示全部楼层
感谢科普,是否可以这样说:以数据安全性考量,移动SSD固件不支持trim(删除通知)更好 ?
nighttob  楼主| 发表于 2019-2-20 17:03 | 显示全部楼层
jackyi 发表于 2019-2-20 10:11
感谢科普,是否可以这样说:以数据安全性考量,移动SSD固件不支持trim(删除通知)更好 ? ...

是的。
移动设备需要尽可能简化不必要的东西,所以不支持是最好的。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部