科技网

当前位置: 首页 >VR

SandForce主控TRIM出问题:读取速度大减

VR
来源: 作者: 2018-11-30 10:13:02

内容导航:

第[01]页:[5.0.2固件测试:读取麻烦大了]

第[02]页:[5.0.3固件测试:读取好了 写入坏了]

SandForce固态硬盘主控制器非常流行,但是在TRIM方面远比其它方案复杂。一般主控都是直接向NAND闪存写入数据,接到TIRM指令就简单地清除无效数据、恢复性能,但是SandForce使用了一个实时数据压缩、去重引擎(动辄550MB/s的读写速度就是这么来的),TRIM的时候必须检查数据是否被占用,否则可能会把系统关键文件给清理掉。

一系列测试证明,SandForce主控在TRIM的时候碰到不可压缩数据(比如一部高清电影)就会栽跟头,从来都不能恢复初始性能。Intel SSD 520系列使用独有的固件进行了优化,依然未能根除这一问题,因此根源可能出现在SandForce主控的硬件设计层面上,不可能通过固件解决。

更要命的是,SandForce TRIM在可压缩数据(比如大量文本文件)上也出问题了。SandForce 3.x系列固件没什么问题,但是新的5.0.0/1/2版本中(固态硬盘厂商自己的版本号会不一样),TRIM之后读取性能也恢复不上来。幸运的是,SandForce已经发现问题并在测试新版5.0.3,一定程度上算是解决了,不过也付出了代价。

【5.0.2固件测试】

其它主控的固态硬盘在繁重使用后会出现写入性能下滑的现象,SandForce的则是写入不变,读取下滑。这里使用一块SandForce SF-2218主控(最典型型号)的海盗船Force GS 240GB为例进行测试,首先用可压缩的4KB数据随机写满,队列深度32。HD Tach的结果如下:

再对比一下安全擦除后的速度:

写入速度维持在400MB/s以上,但是读取速度从402.5MB/s猛跌至182.4MB/s,损失了一半以上。

要知道,NAND闪存的读取本来应该无比简单,不像写入那样会因为读取-修改-写入机制(read-modify-write)而受影响,但是在SandForce身上却如此奇怪。具体原因谁也不知道,猜测可能是和写入时压缩、读取时需要解压有关。

但这还不是真正的问题,因为消费级固态硬盘还没有不随着繁重使用而性能下滑的。考虑到消费级固态硬盘一般只有7-15%的冗余闪存空间,用户早晚都会触发读取-修改-写入,导致写入性能大幅下滑。SandForce主控上写入倒是不变(至少变得不多),但读取就下来了。

再来TRIM一下:

真正的问题出现了。一般来说,TRIM会将性能恢复到初始状态,但这里没有。读取速度是有所改善,但并“满血复活”,只恢复了84%。重复TRIM也无济于事。

而且,这种现象和可压缩数据、伪随机数据、不可压缩数据是没有关系的,HD Tach测试始终都是如此。

好吧,也许你会说和HD Tach有关,那么我们换成ATTO,它更多地使用可压缩护具测试,正好对SandForce的胃口。

写入性能还是岿然不动,除了32KB的时候有点异常,但不排除只是误差的可能。

读取性能也没有完全恢复,尤其是16-256KB,只是对比HD Tach的结果前后差异小多了,但是注意ATTO的读写测试数据要少得多,HD Tach可是遍布全盘的。

相关推荐