NAND flash in not a simple read / write media. To be used reliably, there are several algorithms that need to be implemented. These include NAND block management, Garbage collection, Error Control and Wear leveling. In the earlier generations of NAND flash, these algorithms were implemented in the host processor hardware, driver, and file system. With later flash generations, these requirements continue to evolve, increasing complexity and burden on host resources. This has led to the paradigm of managed NAND flash. Here, the management features are moved to the storage device. This relieves the host side of the complexity of managing the NAND flash and simplifies product support and sustainment efforts.

