如何处理 nand flash 坏块?

xupanpang 2016-07-25 03:05:14
操作流程
1.向flash中写入完整镜像,并启动成功。
2.擦除内核所在的分区,向该区写入新的数据(包括oob区),重新上电出现校验错误
3.重新擦除flash。向flash中写入完整镜像,出现坏块。
擦除:
NAND erase.chip: device 0 whole chip

Erasing at 0x0 -- 0% complete.
Erasing at 0x280000 -- 1% complete.
Skipping bad block at 0x00300000

Skipping bad block at 0x00320000

Skipping bad block at 0x00340000

Skipping bad block at 0x00360000

Skipping bad block at 0x00380000

Skipping bad block at 0x003a0000

Skipping bad block at 0x003c0000

Skipping bad block at 0x003e0000

Skipping bad block at 0x00400000

Skipping bad block at 0x00420000

Skipping bad block at 0x00440000

Skipping bad block at 0x00460000

Skipping bad block at 0x00480000

Skipping bad block at 0x004a0000

Skipping bad block at 0x004c0000

Erasing at 0x500000 -- 2% complete.
Skipping bad block at 0x00580000

Skipping bad block at 0x005a0000

Skipping bad block at 0x005c0000

Skipping bad block at 0x005e0000

Skipping bad block at 0x00600000

Skipping bad block at 0x00620000

Skipping bad block at 0x00640000

Skipping bad block at 0x00660000

Skipping bad block at 0x00680000

Skipping bad block at 0x006a0000

Skipping bad block at 0x006c0000

Skipping bad block at 0x006e0000

Skipping bad block at 0x00700000

Skipping bad block at 0x00720000

Skipping bad block at 0x00740000

Erasing at 0x7a0000 -- 3% complete



写入:
NAND write: device 0 offset 0x280000, size 0x25e498
Skip bad block 0x00300000
Skip bad block 0x00320000
Skip bad block 0x00340000
Skip bad block 0x00360000
Skip bad block 0x00380000
Skip bad block 0x003a0000
Skip bad block 0x003c0000
Skip bad block 0x003e0000
Skip bad block 0x00400000
Skip bad block 0x00420000
Skip bad block 0x00440000
Skip bad block 0x00460000
Skip bad block 0x00480000
Skip bad block 0x004a0000
Skip bad block 0x004c0000
Skip bad block 0x00580000
Skip bad block 0x005a0000
Skip bad block 0x005c0000
Skip bad block 0x005e0000
Skip bad block 0x00600000
Skip bad block 0x00620000
Skip bad block 0x00640000
Skip bad block 0x00660000
Skip bad block 0x00680000
Skip bad block 0x006a0000
Skip bad block 0x006c0000
Skip bad block 0x006e0000
Skip bad block 0x00700000
Skip bad block 0x00720000
Skip bad block 0x00740000
2483352 bytes written: OK
是什么原因?擦除失败,如何强制擦除坏块的oob区数据?
...全文
5360 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xupanpang 2016-07-26
  • 打赏
  • 举报
回复
坏块擦除成功: 进入uboot,指令:nand scrub.chip -y 擦除整块即可。
xupanpang 2016-07-25
  • 打赏
  • 举报
回复
试过了nand scrub指令无效 CT3000U# nand bad Device 0 bad blocks: 00300000 00320000 00340000 00360000 00380000 003a0000 003c0000 003e0000 00400000 00420000 00440000 00460000 00480000 004a0000 004c0000 00580000 005a0000 005c0000 005e0000 00600000 00620000 00640000 00660000 00680000 006a0000 006c0000 006e0000 00700000 00720000 00740000 CT3000U# nand scrub nand - NAND sub-system CT3000U#
falloutmx 2016-07-25
  • 打赏
  • 举报
回复
你这一个好块都没有?nand bad看看,nand scrub去除坏块标记

1,025

社区成员

发帖
与我相关
我的任务
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
  • CPU和硬件区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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