In this thesis, we have presented NAND flash memory architectural properties, together with the properties of NAND flash memory chips. We discuss different software methods for the NAND flash memory management that can be used in a microcontroller application using FAT file system.
Among architectural properties we discuss memory structure and its consequences, like read disturb, program disturb and wear of the memory blocks. Discussed are methods for memory management like block translation algorithms, wear leveling algorithms, garbage collection algorithms and error correction codes.
For the realisation purposes we present target microcontroller system with the emphasis on the NAND flash memory hardware support and file system usage. Realisation of the NAND flash memory management methods aims for simplicity but still providing decent performance measures when using minimal microcontroller resources.