linux nandflash驱动以及文件系统选用,跪求大牛解答

快上车_来不及解释了 2014-11-12 09:29:09
最近负责公司nandflash驱动的开发维护。但是从上一个项目到这个项目,nandflash的速度一直是个瓶颈,上一个项目CLK=75MHZ,这个一个为了提速升到96MHZ。但是从测试来看,在MTD层消耗的速度就相当厉害。nand device的速度(read cmd-device ready)为16MB/s,此速度是用逻辑分析仪测量,一个page一个page的测量。加上软件的消耗(read cmd-next read cmd),速度为10MB/s,也就是说在MTD层消耗掉了接近6MB的速度。其中trwp trwh已经设到最小,不能在小了,否则读写就相当不稳定,并在打开DMA的情况下测得。ECC为硬件ECC,上一个项目这个部分会有速度限制(后来测速读发现的,这个项目会修掉)。这个项目一是会提升CLK到96MHZ,二会修复ECC算法,使其不在是速度的限制瓶颈。但是从MTD层消耗速度来看,我对新项目的nand速度仍然不乐观。后续在加上文件系统速度会掉的更快,之前的文件系统用ubifs测试过读写才9MB/s左右。新项目会加flash转换层,使用ext4测试。但是用转换层个人理解是又多了一层,速度还会往下掉。^^||

--------------------------------------华丽分割-----------那么问题来了-----------------------
1.各位大牛对软件上nand速度有什么优化建议
2.对文件系统上的选用有什么建议,各文件系统有什么优化方案没有
3.各位做过项目的大牛nand挂载文件系统后的速度都有多少?

雪地跪求
...全文
471 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
气氛搞起来来
  • 打赏
  • 举报
回复
回复LouisScola: 现在CPU跑了800MHZ,由于是TEST板上测试的后续可以升频到1.2G可以测一下。现在速度降这么快,有一部分原因是ECC算法限制的。昨天加上nand的cache read/write 读速度提升也有限,我关掉ECC测试的速度消耗就比较小, 读能到13MB/s左右。这个项目IP会休掉ECC算法问题。 然后仔细看了一下NAND的datasheet,由于Trwp/Trwh/TREA这几个主要的timing,会导致大部分的Async模式下的device速度最高都超不过20MB/s。是不是市面上大部分的ECC内部都是封装的sync/toggle模式的NAND?或者大部分直接用NAND做产品的都是选用的sync/toggle的NAND?要不然Android得慢成什么样子? 大家有什么好的建议吗?
LouisScola 2014-11-14
  • 打赏
  • 举报
回复
你的CPU跑多快?居然在软件上损失这么多
  • 打赏
  • 举报
回复
回复xuweiwei1860: 你说的4线是什么?nand支持的都是8bit和16bit宽度的吧。我说的dma是nand模块的dma,这个是打开的情况下,速度确实有提升,但是速度还是太慢。
  • 打赏
  • 举报
回复
气氛搞起来来来
fly 100% 2014-11-12
  • 打赏
  • 举报
回复
文件系统肯定要有消耗 一般的内核flash驱动都是非dma的 如果想提升还是用dma方式 然后如果还是慢就上四线
zhxianbin 2014-11-12
  • 打赏
  • 举报
回复
跪等大牛解答

1,324

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧