+* Defective blocks are remapped in a reserved area of configurable size
+* at the bottom of the NAND.
+* At the moment there is no wear-leveling block translation: kblock's blocks
+* are mapped directly on NAND erase blocks: when a (k)block is written the
+* corresponding erase block is erased and all pages within are rewritten.
+* Partial write is not possible: it's recommended to use buffered mode.
+*
+* The driver needs to format the NAND before use. If the initialization code
+* detects a fresh memory it does a bad block scan and a formatting.
+* Format info isn't stored in NAND in a global structure: each block has its
+* info written in the spare area of its first page. These info contais a tag
+* to detect formatted blocks and an index for bad block remapping (struct
+* RemapInfo).
+*
+* The ECC for each page is written in the spare area too.
+*
+* Works only in 8 bit data mode and NAND parameters are not
+* detected at run-time, but hand-configured in cfg_nand.h.
+*
+* Heap is needed to allocate the tipically large buffer necessary
+* to erase and write a block.