Wear leveling: at what point will it be unnecessary

With the new SSDs available there is the concept of wear leveling because they have limited write cycles (are read cycles limited too?)

How many write cycles should a drive achieve before wear leveling can be declared obsolete?


Solution 1:

This question is difficult to answer because each SSD is different, especially comparing enterprise drives with home use drives. There are many factors that can affect the number of cycles.

In theory, wear is not affected by read cycles, so if a location cannot be written to, you should still be able to read it.

The following article says this:

We all have heard that there is a limit to the number of times you can write to a flash cell. This number varies dramatically depending on the flash vendor, what generation the flash technology is, and other issues. The claimed range is from more than 100,000 writes per cell to more than a million, but flash cell reliability is not the whole story for SSDs.

Solution 2:

So long as flash cells can wear out from over use, wear-leveling will be with us. As the lifespan of the cells increase it may get less and less complex, but it will still be present.

To give you an idea as to what kind of wear a typical enterprise-grade rotational magnetic drive can undergo, take the case of a 15 RPM drive being used in the heaviest storage environment: an OLT database. This thing gets written to all day long for years at a whack. Assuming random writes, this drive can undergo 500 write operations a second. This translates to 43.2 million write operations a day. Give it a 3 year operational lifetime, and it'll handle 47.34 billion writes.

We haven't talked sizes yet. Make it a 300GB drive (actually 271GB), and give it a sector size of 512B, and you get a total of 568,328,192 sectors. Assuming 100% random writes, each sector will have to withstand 83 writes over those 3 years. 83 writes.

However, writes are never 100% random. The real endurance of a single sector on a drive will be somewhere in the range between 83 and 47.34 billion writes, which covers the range from 100% random to a single sector getting written to continually for 3 years straight. Until such time as SSDs can endure billions of write operations per cell, complex wear-leveling will still be with us.

Of course, you don't go SSD for the size, you get it for the latency and the horribly huge IO-Ops you can pump to them. I've seen enterprise drives claiming to handle 30,000 I/O Ops per second, which is two orders of magnitude better than rotational media. Even then, for that hypothetical 300GB drive, for 100% random writes each cell will get written to only 4997 times over 3 years of operation vs 2.84 trillion times assuming only a single cell gets written to.

For Enterprise SSDs, we'll have wear-leveling so long as flash cells can wear out at all. For consumer grade SSDs it may go away once lifetimes hit the billions-of-writes range.