Wear Leveling

Introduction

Wear Leveling is used almost universally in Flash products today to ensure that data is written equally to all blocks on a Flash device, thereby preventing the overuse of any particular block, leading to failure of the device and data loss. Wear Leveling therefore improves the endurance and stability of a Flash product.

How Does Wear Leveling Work?

Wear Leveling works by having the controller make an erase count of each block and direct new data to be written to the block with the lowest erase count. On the left is a comparison between one device that does not feature Wear Leveling, and one that does. It can be seen that without Wear Leveling, certain blocks will be written to more often, drastically shortening product life. Wear Leveling allows for a more even write distribution, reducing overwrites and prolonging product life.

Wear Leveling Techniques

Wear Leveling can be mainly divided into two types: Dynamic and Static. The greatest difference between the two is how they average wear.

Dynamic Wear Leveling

Dynamic Wear Leveling considers only available space, and ensures that a write operation is performed to the blocks with lower erase counts within this space.

Static Wear Leveling

Static Wear Leveling takes a single Flash chip unit—both blocks that already have data written to them and empty blocks—as its area of consideration when calculating erase counts. It will move the data from blocks with lower erase counts to other blocks. In doing so, the low-erase-count blocks can be released for further use.

Summary

In general, Wear Leveling works to ensure that write actions are made to blocks that have the lowest erase counts, to average write actions across the entire device and extend the lifespan of the device. It has become an imperative technique in Flash products. Transcend’s Flash product lineup supports Wear Leveling to ensure product endurance and reliability.

Share

Sales Inquiries

Contact the sales team with any inquiries you may have.

How can we help you?