网云科技

标题: 为什么SSD不能通过查询文件分配表来获知脏数据的情况,而要用不靠谱的trim [打印本页]

作者: pe8wcmf    时间: 2016-3-29 00:51
标题: 为什么SSD不能通过查询文件分配表来获知脏数据的情况,而要用不靠谱的trim


XP不能用trim
raid不能用trim
外接USB硬盘盒不能用trim
覆盖文件不会发trim指令

鉴于没有trim的情况,SSD在脏数据写满时,性能急剧下降到零头,而且还不能恢复。

为什么SSD不能通过主动查询文件分配表来获知哪些是脏数据呢?



作者: 23z0mcko    时间: 2016-3-29 00:51


1. TRIM是08年正式写入ATA标准的,XP 01年就上市了
2. 可以,不过RAID粒度—闪存粒度—文件系统粒度三者间可能不好对齐,处理起来麻烦些
3. 可以,但是某些桥接芯片可能不支持
4. 取决于文件系统

如果让SSD去感知所存储的内容也不是不行,但是不能适用于RAID成员盘(单盘上只有文件系统元数据的一部分,在现有架构里又不能主动发起和其它盘的通信获取全部数据),不能适用于非文件系统存储,就算用在一般的桌面环境里,兼容性(需要支持多种分区表、多种常见文件系统元数据)、可靠性(能及时感知元数据变更,不能trim错地方)、经济性(固件需要更多的程序员,更长的开发周期,性能更好的主控)都需要仔细考虑。
感觉学生发个论文可以,做产品不太实际。



作者: thl0jfk    时间: 2016-3-29 00:51



USB 3.0能支持trim,这个是否是定论?
看此贴 http://bbs.pceva.com.cn/thread-122035-1-1.html用的几个盒子,实测不支持trim

常用的几个较新的桥接芯片:
ASMedia ASM1153E
JMicron JMS567/JMS568
Norelsys NS1068X/ NS1066X
瑞萨 μPD720231A

这些中有确认支持trim的吗?




作者: qsvpsv15    时间: 2016-3-29 00:51


新rst驱动支持trim   usb不支持trim 雷电接口支持


作者: mz37v9j    时间: 2016-3-29 00:51


raid在z77之后就获得官方驱动支持了,amd那边到真不知道,估计是不支持


作者: hx2zb8    时间: 2016-3-29 00:51


HDD的文件分配表和真实的物理地址是对应的。ssd不同,由于块大小不同,在现有的操作系统下主控只能使用映射法,将ssd的块映射成N个512字节的磁道,就是FTL表。一些主控将FTL表固定放在NAND上,一些主控将FTL表从NAND中加载到RAM中,加快4k速度,还有些主控的FTL表是动态的,涉及到动态与静态平衡算法。由于这中间存在多次地址转换的问题,以前的操作系统毕竟落后一些,不可能做到彻底支持。所以查询文件分配表(512字节)来获知NAND(8k字节)哪些块是脏数据目前操作系统做不到(ssd主控能做到)。
简单明了的说,由于HDD的特性对操作系统的影响根生蒂固,操作系统最小擦除单位是512字节,但是nand最小擦除单位是块(一般8K字节),难免有冲突。。。(打个比方,操作系统要擦除nand里的512字节,主控要先把8K字节里的7.5k字节拷贝到其他块,再擦除原本这个块)
trim就是操作系统发指令通知主控:现在空闲你可以去做垃圾回收了





作者: doewdcl    时间: 2016-3-29 00:51


1. SSD是新產品,XP不會知道這是新產品
2. SSD是走SATA介面,跟USB是不同的訊號
3. 走Raid是已經變型了,已經不是原來的狀態,當然不支持
4. SSD是被動的,也就是你有下指示做什麼SSD才會做事,所以當然不會主動查詢數據


作者: t47wq8    时间: 2016-3-29 00:51


ASM1153E的盒子不支持TRIM,我试过。







欢迎光临 网云科技 (http://www.8x6x.com/) Powered by Discuz! X3.2