Here is a simplified example of how logical addresses are mapped to a physical locations in NAND flash. With an eMMC sector size of 512 Bytes, and a physical NAND page size of 16 kiloBytes (KB), the mapping table groups 32 sequential sector addresses into the 16 KB page size unit. If one or more sectors in a page group is modified, the controller reads the entire group of sectors for that NAND page, updates the modified sectors, and then programs the new data back to a new page that has been previously erased. After the updated page is programmed, the table is then updated by overwriting the prior entry with the block and page address of the updated NAND page. All 32 pages are now mapped to a new page with the updated data. This happens even if only one sector was modified since NAND flash must program a full page. Programming an entire 16 KB NAND page, even though not all the sectors may have changed, results in an inefficiency known as Write Amplification. The ratio of NAND flash writes to eMMC device level writes is known as Write Amplification Factor or WAF. To minimize WAF, writes should be aligned on a page boundary and in multiples of page size units. This optimum unit size can be found in the Optimal Write Size field of the Extended CSD register. There are other factors that can increase WAF. However, small random writes that are not page aligned are usually the greatest source of write amplification.

