 Reed-Solomon codes and Bose-Chaudhuri-Hocquenghem codes are commonly used ECC for MLC NAND flash.Some MLC NAND flash chips internally generate the appropriate BCH error correction codes.Most NAND devices are shipped from the factory with some bad blocks.