SandForce 控制器是否具有垃圾收集功能并且它能与 HFS+ 文件系统兼容吗?
垃圾收集对不支持 TRIM 的操作系统(OS X)上的新 SSD 控制器有显著影响吗?
答案1
如果没有文件系统的支持,它如何知道哪些块是垃圾以及哪些块属于文件?
我认为这是一个重要的问题,但没有人真正回答过。如果不了解正在使用的文件系统或获取其他信息(例如来自 TRIM),驱动器就无法知道哪些块有效,哪些块无效。
我们对垃圾收集的传统理解是,将部分包含无效数据的块合并以释放可以快速写入的整个块*(无需读取现有的有效数据并写回新数据)。如果不知道哪些块有效,哪些块无效,则无法进行此过程。
安南德科技对此进行了一些推测:
它要么通过查看驱动器上的数据并将其组织成碎片较少的状态,要么通过查看驱动器上的文件系统并尝试根据找到的内容进行 TRIM。Indilinx 和三星都尝试过实现这种空闲垃圾收集,看起来他们采用的方式不同。虽然最终结果相同,但他们实现的方式决定了此功能的实用性。
在第一种情况下,这不仅仅是对驱动器的内容进行 TRIM,驱动器不知道要 TRIM 什么;它仍然必须跟踪所有数据。相反,驱动器正在重新组织其数据以最大限度地提高性能。
第二种情况需要兼容的文件系统(据称三星驱动器为 NTFS),然后数据实际上会像使用 TRIM 指令一样进行 TRIM 处理。
我们已经讨论了第二种情况,这可能不适用于 HFS+。第一种情况对我来说更令人困惑,我找不到任何关于它如何工作或它对 HFS+ 有多有效的有用信息。
答案2
是的,SandForce 控制器具有垃圾收集功能。有人会说它的垃圾收集功能比其他任何控制器都好。SSD 上的文件系统无关紧要……垃圾收集在文件级别之下的级别(称为块级别)工作。垃圾收集是 SSD 内置的一种机制,有助于保持性能。在大多数情况下,SSD 会先写入空块,然后跟踪包含“旧数据”的块以供以后使用。每个块写入一次后,SSD 将需要清理那些使用过的块。这就是垃圾收集。
垃圾收集确实有助于在没有 TRIM 支持的操作系统上保持驱动器性能。否则,SSD 性能会随着时间的推移而下降,直到被某些 SSD 实用程序清零并重新格式化/重新安装。
答案3
chrund 给出的答案是我使用 Sandforce 硬盘的原因……它们支持 TRIM(适用于 Win7+),但对于 OSX 和 XP(仍然需要技巧:4k 对齐),这些硬盘是最好的(更不用说它们在大多数性能图表)。
Win7 用户可以依赖大量可用的 TRIM 驱动器,这些驱动器可能具有更好的成本/性能比,但对于 OSX,Sandforce 驱动器是即插即用的,并且具有很高的价值。