In Flash memory data integrity problems are an issue when it comes to storage and retrieval of data. There is not just one standard solution that can be used when it comes to double-checking the reliability of data. Depending on the type of Flash memory you are using, single level cells or multilevel cells, different error correction codes have a better chance of working. In NAND Flash memory that uses single level cell, data is stored as charges trapped on floating gates that can store one bit of data. Since Flash memory can corrupt data three different ways, one type of error correction code will not suffice in fixing all errors.