Dynamic vs. Static Wear Levelling
In our previous EHDR blog, we discussed about wear levelling. While wear levelling certainly sounds fantastic, nothing is perfect.
Dynamic Wear Levelling
Data is only fed to blocks with the lowest erase count. There will always be some data that is rarely used or only accessed for read, and there will be other data that is frequently updated. In that sense data that is undergoing constant programming/erasing will be effectively wear levelled. However, blocks with static data are not being wear levelled, which limits the number of blocks undergoing wear levelling in an SSD. Essentially, the major downside of Dynamic Wear Levelling is its inability to work for blocks that are rarely being written into.
Static Wear Levelling
Blocks of static data are also taken into consideration. For instance, imagine that a bunch of your childhood videos was written into a few blocks and never accessed; the other blocks contain your work items (e.g. documents, editing, etc) which are almost accessed daily. The controller defines an amount to be the difference in erase counts between the active blocks and static blocks, hence when this threshold difference in erase counts is met, it will virtually “swap” the blocks, copying the old videos to active blocks while erasing data on the originally static blocks to bring up its erase count. This way, equilibrium is met on all the blocks and wear levelling is effectively carried out.
On a side note, the extra step of moving data in Static Wear Levelling can slow down write performance but is considerably much more efficient in the wear levelling perspective as opposed to Dynamic Wear Levelling.
One can think of the entire explanation hypothetically:
You hired 10 men to build a house in 20 days. Out of these 10 men, 2 of them are told that they must oversee the furniture, which takes minimal to no effort to accomplish. As a humanitarian, you
do not want to put too much stress on any specific man, hence you strive to evenly distribute the workload to each of the men. Whenever a brick must be laid, the job will be given to the man who has laid the least number of bricks amongst the 8 men (essentially dynamic wear levelling). However, the workload is still strenuous, hence you decide to employ the other 2 men for help. Their easy task is constantly rotated between the other 8 men, and the 2 of them can contribute to building the house as well (essentially static wear levelling). While this works out quite well, you now must take 22 days to finish and 2 extra days are needed in total when the men change tasks (performance deficiency of static over dynamic).
In summary, there is a rationale manufactures must make in the constructions of your SSDs.While you are now armed with this new information regarding SSDs, please do not strive to do any form of overhaul without prior experience or comprehensive knowledge regarding the subject matter should your SSD malfunction. Approach us to GUARANTEE a reliable solution before your data is COMPLETELY and UTTERLY lost!
EHDR, We Left No Data Behind.