原创 关于文件系统

2009-7-17 15:53 3272 4 4 分类: MCU/ 嵌入式

这个星期终于开拔到无锡正式开始国家重大专项SOC芯片的研发,虽然前期有很多讨论论证,计划也一变再变,但现在还是确定了在wince6.0平台上,提供对SEP0718处理器的BSP。由于现在Nand Flash的低成本大容量的趋势不可避免,在0718处理器上支持什么样的flash成为一个需要考虑的重要问题,以前是不知道,这一调研才发现Flash存储器市场真是太混乱了,各个厂家互相竞争,竞相忽悠,提出各种各样的名词,什么MLC,iNAND,MoviNand,eSD Nand, eMMC Nand,one NAND, LBANAND, eLBA Nand,GB MCP......。所有这些都是极力鼓吹在嵌入式应用中的优势。我们自己调查了各种类型Nand Flash的性能,价格差距,特别是现在的高端手机,PND,PMP等设备到底采用的是什么类型的Nand Flash,调研工作进行的很辛苦,而且由于缺乏第一手资料,很多都是根据网上的信息做猜测,也必然存在很多的不准确。


但最后我们的方案还是初步确定下来,0718一定会支持SLC/MLC,由于同时支持了SD接口,iNAND这些会得到支持。问题是系统软件该怎么做,一个方案是用微软现有的FAT+FTL直接应用到MLC Nand Flash上,但是我不能确定这样做的效果会如何?这个需要先在s3c6410上跑起wince6.0+FAT文件系统,来测试。由于华恒开发板用的是三星的驱动,所以并不能直接用,需要自己实现驱动,换上微软的FTL才能给出准确的测试结果。


另一种方案则是开发全新的文件系统,专门针对MLC nand flash。我们的方案就是把linux下的ubifs移植到 wince6.0上来。这个工作量也是巨大。但是由于ubifs并不能支持iNAND或SD/MMC卡这类设备,确实存在遗憾,但这是市场导致的无法改变。如果裸的MLC Nand Flash会流行起来,将来终究会有一天,我们需要ubifs这样的文件系统来取代FAT。


MLC的一个严重问题是发展太快,0718上做的权衡有很大风险,也许将来MLC 的架构变化太大,导致处理器根本没办法连接MLC。现在大容量Nand Flash存储真的是前景不明,各种花样都很难说谁有优势,很可能未来3-5年会淘汰一批,但是如果裸MLC的方案被淘汰,则现在的ubifs,logfs甚至yaffs都将失去意义。


一个疑问:不知道现在在wince下跑的FAT文件系统,和linux下的jffs2,yaffs2相比,在SLC上到底有多少性能上的差别,因为按照yaffs和jffs开发者的说法,像FAT这种基于FTL的文件系统,其性能是先天不足的,无论你如何也不能与yaffs这类RAW flash文件系统相比;可是如果真的这样,那些用wince做的产品为什么没有听说因为性能差而导致的用户抱怨呢?我不知道有没有高人真正做过评测,FAT和jffs2,yaffs2相比,在同样的平台上,性能能差多少?

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条