No matter how smart the wear leveling algorithm is, an intrinsic limitation of NAND
Flash memories is represented by the presence of so-called Bad Blocks (BB), i.e.,
blocks which contain one or more locations whose reliability is not guaranteed. The
Bad Block Management (BBM) module creates and maintains a map of bad blocks:
this map is created during factory initialization of the memory card, thus containing
the list of the bad blocks already present during the factory testing of the NAND
Flash memory modules. Then it is updated during device lifetime whenever a block
becomes bad.