If uboot finds a bad block it is marked as such on the OOB area. It has a modified linux kernel which always scan the device(inspecting OOB) and keep the BBT in memory. >How Digi Embedded Linux and uboot shipped along handles bad blocks on Digi modules?ĭigi kernel do not use a BBT stored in flash like usual Linux kernels. If uboot tries to access these bad blocks warning messages are printed. The number of bad blocks found using ' nand bad' command should match those printed by the kernel at boot time. In most cases the block will be marked as bad. Online forums may recommend use of command called ' nand scrub', which will erase 'bad' markings from BBT and if any application tries to read/write that block application will fail and result is unpredictable.īad block status on a module can be checked using ' nand bad' command in uboot environment.Īn 'Uncorrectable ECC error' is are warnings printed while accessing a nand block that could not be corrected by hardware forward error correction. So if a module has bad blocks increase that particular partition size so that there is enough space for application use.
Once a block became bad, filesystem will mark it as bad in BBT and ignore that block forever from reading/writing cycles, so that the application will not try accessing these blocks. These are maintained in Flash using a Bad Blocks Table(BBT) and bad blocks marking functionality.īad blocks can be generated in Nand Flash at the time of flash manufacturing or during write cycles. Once a block become bad, it is useless forever, you cannot get rid of it.