本帖最后由 rgwan 于 2016-3-21 22:07 编辑
其实我个人是不喜欢FTL这种东西的,在操作系统的文件系统层面直接使用类似UBIFS/NANDFS之类的NAND专用文件系统,SSD主控做好纠错和坏块屏蔽就可以了。这样可以杜绝不少隔靴搔痒的机制,比如TRIM和SE。文件系统的优化也会更显而易见,比如说零散写入完全可以由文件系统合并请求,直接适配到NAND的块或者页大小,可以显著降低写放大。掉电也不会导致掉盘问题——起码系统还能启动,在fsck这段时间里起码用户可控的部分更多,而不是插个电等30分钟后看人品。当然,也变相的降低了SSD厂商的门槛~何乐而不为。当然,用户可控的参数也能更多,比如说可以直观的调查文件系统的效率,更有效率以ECC错误率估测寿命,甚至寿命快到了的时候,在卷未满时自动减小容量使用SLC模式续命等等。这么做后Flash的存储弹性更高,稳健性应当更好。现在看很多消费级SSD寿命一到就直接挂机认不到盘,简直……如果我做FTL的话只要ECC错误到达阈值,全盘只读。做FlashFS到ECC阈值,报警+SLC续命,再到阈值,只读报警~
|