The SSD Relapse: Understanding and Choosing the Best SSD
by Anand Lal Shimpi on August 30, 2009 12:00 AM EST- Posted in
- Storage
The Wiper Tool
The only Microsoft OS with TRIM support is Windows 7. Windows XP and Vista users are out of luck when it comes to TRIM, even if your drive supports it, the OS will never send it the command. Luckily there’s a workaround, one first popularized by Indilinx - not Intel. Kudos to the Indilinx guys.
It’s called the Indilinx Wiper Tool.
The tool asks the OS for all available LBAs (free space as far as the OS is concerned), then feeds the list to the SSD and tells the drive to TRIM those LBAs - prioritizing them for cleaning. It shouldn’t touch valid data, the key word being shouldn’t. Once cleaned, with no existing data in those blocks, performance goes back to its new state.
It’s a very simple solution actually. TRIM works because the OS knows when a file is deleted and it uses the TRIM command to inform the SSD of the deletion. Don’t have OS level TRIM support? Well, just run a tool that asks the OS what locations aren’t in use any longer. You get the same result, it just takes one extra step: running the wiper tool.
See wiper.dat? It's eating up all available LBAs then telling the controller to TRIM those blocks. Clever.
I tested the Wiper Tool to make sure it worked as promised and indeed it did, I actually showed you the results at the beginning of this story. One pass of the tool and the drive went from used to new performance:
PCMark Vantage HDD Score | New | "Used" | After TRIM/Idle GC | % of New Perf |
OCZ Vertex Turbo (Indilinx MLC) | 26157 | 25035 | 26038 | 99.5% |
You’ll need to get the tool from your drive vendor and it currently works under both 32-bit and 64-bit Windows OSes (XP through 7). I found that it works best in IDE mode; with your controller set to RAID or AHCI I’ve seen issues where the manual trim process can easily take more than several hours. When running properly it takes a couple of minutes to trim an entire drive.
You don’t need to run the tool that often (Indilinx drives don’t drop significantly in real world performance anyway) and once we get official TRIM support, Windows 7 users won’t need to do anything at all. But until then it does provide a nice way to keep your drive fresh.
295 Comments
View All Comments
Anand Lal Shimpi - Monday, August 31, 2009 - link
The tables the drive needs to operate are also stored in a small amount of flash on the drive. The start of the circular logic happens in firmware which points to the initial flash locations, which then tells the controller how to map LBAs to flash pages.Take care,
Anand
Bakkone - Monday, August 31, 2009 - link
Any gossip about the new SATA?Zaitsev - Monday, August 31, 2009 - link
Thanks for the great article, Anand! It's been quite entertaining thus far.cosmotic - Monday, August 31, 2009 - link
The page about sizes (GB, GiB, spare areas, etc) is very confusing. It sounds very much like you are confusing the 'missing' space when converting from GB to GiB with the space the drive is using for its spare area.Is it the case that the drive has 80GiB internally, uses 5.5GiB for spare, and reports it's size as 80GB to the OS leaving the OS to say 74.5GiB as usable?
Anand Lal Shimpi - Monday, August 31, 2009 - link
I tried to keep it simply by not introducing the Gibibyte but I see that I failed there :)You are correct, the drive has 80GiB internally, uses 5.5GiB for spare and reports that it has 156,301,488 sectors (or 74.5GiB) of user addressable space.
Take care,
Anand
sprockkets - Tuesday, September 1, 2009 - link
Weird. So what you are saying is, the drive has 80Gib capacity, but then reports it has 80GB to the OS, advertised as having an 80GB capacity, which the OS then says the capacity is 74.5GiB?sprockkets - Tuesday, September 1, 2009 - link
As a quick followup, this whole SI vs binary thing needs to be clarified using the proper terms, as people like Microsoft and others have been saying GB when it really is GiB (or was the GiB term invented later?)For those who want a quick way to convert:
http://converter.50webs.com">http://converter.50webs.com
ilkhan - Monday, August 31, 2009 - link
so they are artifically bringing the capacity down, because the drive has the full advertised capacity and is getting the "normal" real capacity. :argh:Vozer - Monday, August 31, 2009 - link
I tried looking for the answer, but haven't found it anywhere so here it is: There are 10 flash memory blocks on both Intel 160GB and 80GB X25-M G2, right? (and 20 blocks with the G1).So, is the 80GB version actually a 160GB with some bad blocks or do they actually produce two different kind of flash memory block to use on their drives?
Anand Lal Shimpi - Monday, August 31, 2009 - link
While I haven't cracked open the 80GB G2 I have here, I don't believe the drives are binned for capacity. The 80GB model should have 10 x 8GB NAND flash devices on it, while the 160GB model should have 10 x 16GB NAND flash devices.Take care,
Ananad