These life-extending algorithms vary by manufacturer and application, but the overall principle of wear-leveling is to ensure uniform use of NAND device by always directing writes to those NAND blocks with the least wear.
Micron Technology Inc. (Nasdaq: MU) provides the example of a NAND device with 4,065 total blocks and 2.5 percent allowable bad blocks, updating three 50-block files at a rate of one file each 10 minutes, with the NAND host using the same 200 physical blocks for updates.
Without wear leveling, 10,000 cycles x 200 reused blocks/50 blocks per file x 6 files per hour x 24 hours per day equals around 278 days or less than a one-year lifespan for the NAND device.
With wear leveling, 10,000 cycles x 4,096 evenly used blocks/50 blocks per file x 6 files per hour x 24 hours per day equals around 5,689 days or a lifespan of more than 10 years for the NAND device.
"It's really a characteristic of NAND flash technology that we need to use wear-leveling for best performance and extended lifetime," says Phil Mills, chair of SNIA's Solid State Storage Initiative and a senior member of IBM Corp. (NYSE: IBM)'s technical staff. "Wear-leveling algorithms were designed as engineering workarounds for NAND's limitations with write/erase cycles, with the goal of putting NAND on a par with hard drive technology in terms of longevity."