微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > nand flash 控制器

nand flash 控制器

时间:10-02 整理:3721RD 点击:
nand flash的读写控制非常麻烦,有没有什么转接芯片,使得读写nand flash象读写sram一样简单?

nand flash 控制器
好像没有,你可以采用cpld/fpga来设计一个,应该不难,主要就是设计几个状态机。

nand flash 控制器
我现在就是这么做的,前一段时间用FPGA做了个控制器,读写flash都没有问题。但由于没有文件系统的支持,对坏块没有处理,就是假设flash所有的bit位都是好的。目前看起来好像没问题,但不知道以后会不会出现什么情况。用FPGA来做读写控制器,各位老大对坏块是如何去检测、分析和处理的?

nand flash 控制器

只用fpga,不能够判断坏块,应该配合cpu来完成

增加ECC处理

to: Glenguo
   我现在也在做nand flash的读写控制器,刚开始看,还没有 头绪。可否把你的程序给小弟参考一下,感激不尽。  xcy20007@163.com   或者  xcy20007@sina.com

能不能参考Doc Flash的做法
Disk On Chip,不也是把NAND FLASH做了一个转换接口么,只不过DOC的转换做在FLASH器件上,而不是ASIC上。
我觉得,如果做一个bootable的NANDC会更复杂。

随着制造工艺的进步,nandflash一直在发展,容量也越来越大,单就控制时序来说,基本上变化还不大,从早期小容量产品的3个周期的地址到现在的5个周期的地址,page大小从512k到2kbyte,4kbyte的产品即将出现。数据位宽有8位的和16位的。SLC类型的器件ECC比较简单,因为是1bit/528byte纠错,就是用分组的行列奇偶校验,对于MLC器件,需要实现4bit/528byte纠错,即将出现的更大容量的需要8bit/528byte纠错,这就需要用的reed solomn之类的比较强的ECC算法。所以要实现支持各种类型的nandflash的控制器还是比较复杂的。
      关于坏块管理,掉电保护,逻辑地址管理等,都是在ftl中实现的,通常是把这些信息写入扩展区,因为扩展区需要中途修改,所以不能和数据一起做ECC,因此需要考虑用软件去增加数据的可靠性。
      不过东芝正在推LBA的类型的nandflash,当然目前还没有出样片,估计要今年年底去了。LBA的类型和目前的接口时序相同,但是器件内部将SLC和MLC做到了一起,SLC主要存储程序等需要高可靠性的数据,MLC存储音频视频等可靠性稍微要求低点的数据。而且flash器件内部做了ECC处理,甚至连坏块和逻辑地址管理都做好了,对于用户来说这部分不可见了,用户只需要关心接口时序就可以,个人觉得这应该是未来nandflash发展的趋势,当然免不了这种类型的器件会贵一些。

对于做boot的nandflash控制器,其实也不复杂,不外乎在上电的时候自动进入读操作,当然首先应该有一些信息来表针目前所使用的flash类型,可以用外边pad跳线来选择,也可以通过id,目前id信息可能还不是很规范,所以通过跳线是比较可行的,但是要牺牲一些pin。
对于jackzhang所说的fpga不能做坏块管理,我想说两句,其实从技术角度来说,硬件也完全可以做到同样性能坏块管理,只是目前多数都是用软件来管理。

对于做boot的nandflash控制器,其实也不复杂,不外乎在上电的时候自动进入读操作,当然首先应该有一些信息来表针目前所使用的flash类型,可以用外边pad跳线来选择,也可以通过id,目前id信息可能还不是很规范,所以通过跳线是比较可行的,但是要牺牲一些pin。
对于jackzhang所说的fpga不能做坏块管理,我想说两句,其实从技术角度来说,硬件也完全可以做到同样性能坏块管理,只是目前多数都是用软件来管理。

现在小弟也想用FPGA编写一个NAND FLASH控制器,一头雾水,LZ能否给个原代码学习一下啊!将不胜感激啊!
cqm239@163.com

谢谢分享

学习中.........

学习一下

希望多多交流
现在我也想用CPLD编写一个NAND FLASH控制器,具体就是控制PC通过USB向NAND flash里面写入资料,有一点思路,但不知道从何做起,小编能否给个大致开发过程介绍或源码学习一下啊!将不胜感激啊!  hubyh@126.com

看來...nand flash 真是學海無涯壓!

增加ECC处理

这个问题有待研究

NF Controller设计核心应该是ECC吧,算法比较复杂,youq

不懂。路过。学习

ECC加软件
ECC加软件

nand flash控制器
各位兄弟谁有flash控制器fpga实现的相关资料啊,发给小弟学习一下。
我要做一个flash控制器  要求和mcu是AHB总线接口    ,谁有什么想法或资料和我联系,谢谢!
邮箱:chenrun1984@163.com

我也在弄这个东西
我也在弄这个东西,现在是一头雾水。在网上搜不到什么可以参考的源码,只是见XILINX 好像做了一个这样的IP核。但找不见源码。小编能否也发一份给我
在此先多谢了  tl590@126.com

读写功能是实现了,但是坏块管理一直没有很好的办法~

不妨通过静态的位判别或者动态擦除成功与否进行判别,把这个标志最后写入到第一块中去,那个一般没有坏块

我也正在做这块,不知道有没有高手可以指点下

飘过了111!

正在做这个,小编可否发份源代码参考下啊。非常感谢。
ms19871231@163.com

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top