Microsoft’s new Windows 7 is the first operating system to detect the presence of a solid state drive (SSD) in a system and then optimize the OS to boost performance and endurance of the drive’s NAND flash memory blocks. Call it another sign the era of mechanical hard drive domination is ending. And another small step toward flash freedom.
“This is the first step, and as good as Windows 7 is for SSDs, it’s still a baby step with so much more potential ahead,” Dean Klein, Micron’s SSD guru and vice president of memory system development told me in an interview. I wanted to talk to Dean for the SSD perspective on Windows 7 after last week’s conversation with Micron’s Matthias Buchner on what impact Windows 7 will have on DRAM. Dean was kind enough to break away from his busy schedule developing Micron’s next generation RealSSD™ products to wax evangelical about the breakthrough that Windows 7 represents in designing operating systems that optimize SSD technology, rather than accommodate the shortcomings of the mechanical hard drive.
“We’ve been dealing with the evils of rotating media for 52 years and it’s going to take a long time to unwind that,” he said. “A lot of optimization done in operating systems is just hiding the latencies of rotating media. Now, Windows 7 is the first operating system to show you don’t need to do that anymore.” What Windows 7 does that’s different than any other current OS is actually detect the presence of an SSD in the system. That’s done through an ATA command called “identify.” Windows 7 then configures itself to work in the background to free up space on the SSD so the drive has more “empty candidates,” or more empty memory blocks in which to store incoming data. “The actual command Windows 7 is using is called ‘TRIM,’ and it frees up previously used blocks and puts them in the unused block pool,” said Klein.
“Think of TRIM as a sort of SSD clean-up utility. When you think of disk clean-up on a mechanical hard drive, you think of defragmentation, where you maximize the locations of empty blocks to have a larger contiguous storage area on the spinning disk. But SSDs are intentionally fragmented because of the movement of data around the NAND to minimize wear.” In fact, running a typical defrag disk utility on an SSD would actually increase the wear on the drive. When Windows 7 detects an SSD, it disables the traditional mechanical drive defragmentation utility in the OS, and then identifies unused or partially used NAND blocks on the SSD and maximizes the number–-but not the location–-of those blocks for faster SSD read and write speeds, as well as longer endurance. “When an OS erases a block of data from a drive, it’s typically not actually erasing the data–-it’s just setting an allocation bit in a table somewhere indicating the data is erased and making it unavailable to the user,” said Klein.
“The drive does not know that data is erased. So, over time, that lack of data erasure results in an SSD filling up and slowing down, even though the OS thinks there’s a lot of empty space left on the drive.” Unlike Windows Vista, which drew no distinction between a mechanical SATA hard drive and a SSD, Windows 7 compensates for this and begins to take advantage of the inherent advantages of solid state storage technology, giving SSDs a chance to show users what they really can do. “Already, there are a lot of discussions going on at Microsoft about what further SSD optimizations can be made in Windows 8,” said Klein. “System designers and OS developers only beginning to take advantage of the true potential that SSDs have.”