Existe alguma maneira / ferramenta / utilitário para corrigir o badblock no dispositivo NAND?
Nós temos uma placa customizada baseada em beaglebone mas em vez de mmc temos flash NAND.
As partições MTD no NAND são as seguintes,
mtd0: MLO
mtd1: MLO
mtd2: MLO
mtd3: MLO
mtd4: u-boot
mtd5: backup de inicialização do u
mtd6: kernel
mtd7: Backup de kernel
mtd8: RFS
O RFS tem dois volumes UBI rootfs & rootfs2 e de cada vez um é usado para inicializar o fórum.
Agora que o flash NAND é usado, pode haver um badblock no chip NAND ou pode desenvolver um badblock ao longo do tempo. O UBIFS manipula o bloco defeituoso reservando o espaço para o badblock. O UBI mapeia badblock para o bloco reservado. Então, há manipulação de badblock lá.
Mas e as outras partições? E se houver bloqueios ruins nessas partições?
existe alguma maneira de detectar e corrigir badblocks nessas partições,
1. Principalmente sem perder dados OU
2. Com a perda de dados
Eu procurei na net e descobri que, para os sistemas de arquivos ext existe um utilitário chamado " badblocks ", mas existe uma versão para a memória flash?
Existe alguma outra maneira de corrigir badblock no dispositivo.
Eu entendo que os drivers mtd também tem algum gerenciamento de badblock, eles pulam os badblocks enquanto escrevem e lêem, mas isso é suficiente?
Eu também sei que o fabricante do chip NAND também garante que o chip não terá mais que um número X de badblocks.
Vendo tudo isso, é necessário se preocupar com badblocks ao projetar o sistema? É necessário para lidar com isso do userspace? Se não estiver na partição ativa, é necessário que seja feito em partições de backup?
Quaisquer sugestões / sugestões apreciadas,
Obrigado antecipadamente.