Some time ago Objective Analysis ran nearly 300 standard benchmarks on a PC with varying amounts of flash and DRAM and found that a dollar’s worth of flash provided a greater performance boost than a dollar’s worth of DRAM once the DRAM size grew above a certain minimum (1-2GB) depending on the benchmark.
You might wonder how this could possibly be true. Everyone knows that best way to improve any computing system’s performance is to add DRAM main memory. How could flash, which is orders of magnitude slower than DRAM, provide a bigger performance boost than DRAM?
It all makes sense if you think of the DRAM of something that is there only to make the HDD look faster. More is better, but if you can use a little less DRAM and add a large flash memory layer then disk accesses appear to speed up even more.
The benchmark data and the price/performance findings that are Continue reading
I have to admit that it’s embarrassing when The SSD Guy misses something important in the world of flash storage, but I only recently learned of a paper that Baidu, China’s leading search engine, presented at the ASPLOS conference a year ago. The paper details how Baidu changed the way they use flash to gain significant benefits over their original SSD-based systems.
After having deployed 300,000 standard SSDs over the preceding seven years, Baidu engineers looked for ways to achieve higher performance and more efficient use of the flash they were buying. Their approach was to strip the SSD of all functions that could be better performed by the host server, and to reconfigure the application software and operating system to make the best of flash’s idiosyncrasies.
You can only do this if you have control of both the system hardware and software.
The result was SDF, or “Software-Defined Flash”, a card that Continue reading
In this post we will explore how the right wear leveling algorithm can help a controller maximize the life of an SSD.
Wear leveling is a fact of life with NAND flash – blocks start to suffer bit failures after a certain number of erase/write cycles (usually specified from the thousands to the hundreds of thousands) and it is only natural that software will attempt to over-write some blocks more than others. In order to prevent this from causing failures, all of today’s SSD, USB flash drive, and flash card controllers incorporate some sort of wear leveling.
This is a simple re-mapping of the contents of the flash chips. A more graphical explanation is Continue reading
How do controllers maximize the life of an SSD? After all, MLC flash has a lifetime of only 10,000 erase/write cycles or fewer and that is a very small number compared to the write traffic an SSD is expected to see in a high-workload environment, especially in the enterprise. Still, MLC is becoming the norm in the enterprise.
How do they do that?