Specification
Reliability
1. Global Wear Leveling – Advanced algorithm to enhance the Wear-Leveling Efficiency
There are 3 main processes in SMI global wear leveling approaches:
A. Record the block erase count and save in the wear-leveling table.
B. Find the static-block and save it in wear-leveling pointer.
C. Check the erase count when the block popped from spare pool. If the block erase count is bigger than
WEARCNT, then it swapped the static-block and over-count-block.
After actual test, global wear leveling successfully even the erase count of every block; hence, it can extend the life
expectancy of Flash product.
2. StaticDataRefresh Technology – Keeping Data Healthy
In the MLC technology, multiple charge levels are used to store data. There are many variants that would disturb the
charge inside a Flash cell. These variants can be: time, read operations, undesired charge, heat, etc; each variant
would create a charge loss, and the contents shift in their charge levels slightly. In our everyday usage – more than 60%
are repeated read operations, the accumulated charge loss would eventually result in the data loss.
Normally, ECC engine corrections are taken place without affecting the host normal operations. As time passes by,
the number of error bits accumulated in the read transaction exceeds the correcting capability of the ECC engine,
resulting in corrupted data being sent to the host.
To prevent this, Transcend’s SPD330 monitor the error bit levels at each read operation; when it reaches the
preset threshold value, the controller automatically performs data refresh to “restore” the correct charge levels in the
cell. This implementation practically restores the data to its original, error-free state, and hence, lengthening the life of
the data.
3. EarlyRetirement – Avoiding Data Loss Due to Weak Block.
The StaticDataRefresh feature functions well when the cells in a block are still healthy. As the block ages over time,
it cannot store charge reliably anymore, EarlyRetirement enters the scene.
EarlyRetirement works by moving the static data to another block (a health block) before the previously used block
becomes completely incapable of holding charges for data. When the charge loss error level exceeds another
threshold value (higher from that for StaticDataRefresh), the controller automatically moves its data to another block. In
addition, the original block is then marked as a bad block, which prevents its further use, and thus the block enters the
state of “EarlyRetirement.” Note that, through this process, the incorrect data are detected and effectively corrected by
the ECC engine, thus the data in the new block is stored error-free.
4. Advanced Power Shield – Avoiding Data Loss during Power Failure
When a power failure takes place, the line voltage drops. When it reaches the first Logic-Freeze Threshold, the core
controller is held at a steady state. Here are some implications. First, it ceases the communication with the host. This










