Intel Responds To X25-M Fragmentation Issue
Vigile writes "In mid-February, news broke about a potential issue with Intel's X25-M mainstream solid state drives involving fragmentation and performance slow-downs. At that time, after having the news picked up by everyone from CNet to the Wall Street Journal, Intel stated that it had not seen any of these issues but was working with the source to replicate the problem and find a fix if at all possible. Today Intel has essentially admitted to the problem by releasing a new firmware for the X25-M line that not only fixes the flaws found in the drive initially, but also increases write performance across the board."
On this subject: I finally got around to reading Anandtech's very long article about the current crop of SSD drives. I feel like it was pretty educational, which is good because it took a long time to digest.
In its discussion of performance degradation as drives are used, the article explains that individual pages of NAND memory can't be rewritten. Early in a drive's life, page are remapped when they are rewritten by the OS. As the drive is used, the drive runs out of pages to remap and is forced to copy a block (typically a 512KiB collection of 4KiB pages) to cache, erase the block and then rewrite the block with the new pages. That explains pretty well why write performance degrades, since writing to a block that has data must perform a read and erase operation in addition to the write. However, that explanation also leaves open the question of how the drive prevents data loss if it loses power. Worst case, the OS issues a write and the drive copies a 512KiB block to cache and erases the block, and then loses power. Due to remapping, literally anything could be in that half a MiB. The data loss could corrupt the file that was being modified, obviously, but also any other file on the drive, or parts of the filesystem itself.
I figure there's got to be protection against data loss built-in, but I'm not able to find details regarding any individual drive or manufacturer's approach to solving that problem. Does anyone know more about this subject?