|
最近做了不少flash和文件系统相关的工作,论文也看了一些,试答一下。这方面的研究其实很多。flash aware fs很多,但是大多数没得到广泛的使用。对于flash,log structured file system(日志式文件系统?)十分有利于flash上随机写的效率低下的问题。但这种fs通常受到garbage collection的制约。目前没有很好的解决。在flash以前,二级存储大多是针对机械磁盘这样的设备优化的。机械磁盘的连续大块读写性能容易提升,而随机读写受制于磁头寻道速度,十分缓慢。磁盘的读写单位是块,512字节到4k不等。早期的文件系统为了性能,把相关的文件和目录信息尽量聚集到一起,来提升读写速度。flash出现时,这种块式设备遍地都是,为了能推广flash的使用,flash就模拟了块式设备的接口,提供块式读写,但内部组织是完全不同的。在逻辑块与物理存储间,加入ftl,进行翻译。因此基于块地址的优化其实都没有用了。flash最大的问题是大量小块随机写,如果有兴趣可以去查看FAST和BAST这两种ftl。前面说到的log structured fs就很大程度上解决了随机写问题,但是仍然受制于垃圾回收。另外,还有更彻底的玩法,就是无视ftl,直接暴露flash的内部物理形态给fs,由fs完全管理,这种fs完全不同于传统fs,完全不兼容。另外,物理接口也是不同的。希望有帮助。
|
|