关于WinCE NAND flash坏块处理的问题
在对NAND Flash进行Erase和Write操作时,如果失败,那么就将此块标记为坏块,通常是将spare区的第一字节设为非0xFF。那么在将坏块标记出来后,怎么使用它的?在向某块写入东西的时候都要先判断它是不是坏块么?在NAND Flash的手册中,提到如果出现Erase Failure 或者Program Failure时,除了将本块标记为坏块之外,还要进行block replace。 如果我要把NK写到Block7 ~ Block n, 而Block 9 是坏块,我用一个reseved block(假设为Block i)来保存本应该写到block 9 中的内容,那么系统运行时,怎么实现自动忽略坏块block 9 而去执行block i中的内容呢?
对着现有的BSP包研究了一段时间了,可关于这个部分的实现还是不太懂,希望有知道的高手能稍微介绍一下,谢谢!