Friday, September 08, 2006

FlashDisk Wear Leveling Algorithm

Introduction

As we know that in SLC (Single Level Cell) NAND Flash memories each physical block can be programmed or erased reliably over 100,000 to 1,000,000 times on current technology. To increase the lifetime of the NAND Flash, a Wear Leveling Algorithm is implemented in FlashDisk to monitor and spread the number of write cycles per block.

First-Level Wear Leveling

In the first level Wear Leveling new data is programmed to the free blocks that have had the fewest write cycles. In FlashDisk, all the free physical blocks are gathered to a free blocks chain. Each time a virtual block needs to be allocated, a physical block is selected (by the Wear Leveling algorithm) from the chain.

Second-Level Wear Leveling

In the 2nd level wear leveling, long-lived data is copied to another block so that the original block can be used for more frequently-changed data.
The 2nd level wear leveling is triggered when the difference between the maximum and the minmum number of write cycles per block reaches a specific threshold. With this particular technique, the mean age of physical NAND blocks is maintained constant.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home