nandflash一定要用yaffs吗?

Nern 2017-01-26 11:02:53
一直以来都有几个疑问:

1,nandflash里面的文件会有某一天无缘无故down掉吗?down掉了程序起不来怎么办啊?

2,即使做了坏块检测,坏块表建立了,然后还是有可能某一天就会有某个bit坏掉的啊

3,nandflash是读取的时候容易坏掉bit,还是在擦除或者写的时候容易坏掉bit呢?

4,我现在打算在上面用yaffs2,那么这样能够防止程序坏掉吗?

5,据说U盘里面用的就是nandflash,但我感觉里面存的程序的可靠性很高啊,它是怎么做到的啊?

谢谢各位啦,相互学习啦

分不多,大家懂哪个问题的就直接回答下我好啦~很感谢!
...全文
551 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2017-02-07
  • 打赏
  • 举报
回复
另外,现在一般的单片机都是用 NOR Flash 保存 COS 编码。如果需要大容量存储,才外挂 NAND Flash。 只要你的应用运行不依赖于外部存储的数据,NAND Flash 失效时程序本身不会挂掉。
of123 2017-02-06
  • 打赏
  • 举报
回复
1 当然会。否则就没有必要在 FTL 层加纠错功能了。另外,“好”块只是说其中的坏 bit 在可纠错的范围内。 2 所谓“坏块”,是指“反转”的 bit 数已经超出了纠错范围。坏 bit 单元会在使用中增加。 3 擦写后缩短 Flash 的寿命(NAND Flash 的寿命就是以擦写次数来计算的)。但 Flash 的单元也有可能在长期未擦写甚至静置中“损坏”。这是因为有缺陷的柵有缓慢的电荷泄漏,会造成错误的 bit 超出纠错范围。 4 yaffs2 只能纠错 1 bit。对于当今市面上的 MLC NAND Flash,已经不适用了。可用于小容量 SLC NAND Flash。 5 U 盘中有 FTL 层软件支持,具有地址映射、纠错、损耗均衡等多项功能。 一种方法,就是你再挂接一块 Flash 控制器芯片,由它来连接 Flash。由于控制器芯片有 FTL 层,使得 Flash 就如一个虚拟的普通存储器。 另一种方式就是自己编程实现 FTL 层。一个先决条件是你有纠错算法的硬件模块,否则软实现会使读写速度大大下降。其次,FTL 一般是不开源的,你要自己设计和开发。
fly 100% 2017-02-04
  • 打赏
  • 举报
回复
1 会的,重烧呗 2 单bit 错误软件应该是可以恢复的 3 应该是写 4 yaffs2 好像没负载均衡,负载均衡可以减少对同一区域大量 重复使用,增加整体的寿命 ubi 有负载均衡机制 5 负载均衡加上纠错处理
papaofdoudou 2017-02-04
  • 打赏
  • 举报
回复
学习一下,留个记录
philip_puma 2017-02-03
  • 打赏
  • 举报
回复
本来写了1000字告诉你方法,提供了4种必定能够解决问题的办法,4种可选方案,作为确保不会出问题的优化。 无奈没登录,被CSDN刷掉了,懒得再打字了。就这样吧,祝你好运。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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