Windows, TRIM and other SSD Mysteries
The Lenovo ThinkPad T61p I am using to write the post has the second generation Intel 160GB SSD. I also used to have the first generation drive in the 80GB flavor but sold it for a couple of reasons. Capacity and TRIM support were the main reasons. The astute reader and knower of all laptop specs will be quick to point out that running a SSD drive in a T61p is a waste of money. That is partially right. We’ll talk about that later. Before we do, lets get some background information.
I routinely clone disks with a variety of tools. Here lately I’ve been using Acronis TruImage Home 2010. I have been doing that for years and it is usually the result of moving to a new bigger hard drive. Moving from one rotational disk to another isn’t any big deal. But I was worried about the implications of moving a Windows 7 install from a rotational disk, to a SSD drive. Why? Because all sorts of stuff behaves slightly differently depending on the storage devices present in the machine.
Common sense tells you that cloning a hard disk and doing a restore to a SSD drive isn’t the preferred route to SSD goodness. But other factors can come into play. Like time. You know, the time it takes to install the OS, your apps and your data on a new drive. So cloning is fast, but how do you know if the new drive is being properly recognized by Windows 7?
I started exploring that very question about a year ago and have seen so many questions on the subject since then, I thought I would share some information on the subject. Before you do anything, you should read the article on the E7 blog about SSD support in Windows 7. Be sure to follow some of the links in that post for additional information.
There’s good news and bad news on the user interface and tool front. I’ll save some of the bad news for later. Let’s start with the easy stuff and work our way towards, well, stuff you might not like. Let’s start with some graphical tools.
One of the first things you should do to check and see if Windows 7 recognizes your SSD drive is to check and see what disk defrag thinks about the situation. You can launch the disk defrag application a couple of different ways. Start | All Programs | Accessories | System Tools | Disk Defragmenter is one way. Or the simpler way is Start | key in DFRGUI.EXE and hit Enter.
Once Disk Defragmenter is running, click the Configure Schedule button. After that, click the Select Disks button. I see the following on my Lenovo ThinkPad T61p with the lone Intel SSD drive.
As you can see, the SSD is not scheduled to be defragmented which is good. This is a good first indicator Windows understands the drive isn’t a rotational disk so there’s no need to run the task against that drive.
Intel created a SSD toolbox that can be used to further inspect their drives, display information, perform maintenance, etc. Notice I said their drives. It’s my understanding it can’t be used on other SSD drives (officially). That’s a bummer because it does provide a nicely formatted display of some key information. You can find the toolbox several different ways at intel.com. It appears they have a vanity URL for the kit at http://www.intel.com/go/ssdtoolbox. It appears v1.3.0.000 from 3/22/2010 is still the most recent version.
When I run the toolbox app, I see the following:
I want to dump out the drive information and look a couple of specific words to see how Windows 7 is interpreting the drive. The first one I want to look at is Word 217. I want to look at Word 169 second. In order to do that, I need to click the View Drive Information button. It’ll dump a bunch of information to the drive info portion of the app. You’ll notice we can export this to .CSV format if we like.
Next, we scroll down to Word 217 – Nominal Media Rotation Rate. We should see a value of 1 for the SSD drive if it is being detected properly as far as the storage drivers are concerned. Here’s what I see for my drive:
Now it’s time to get down to business and see if the drive is supporting TRIM. Scroll up to Word 169 to see if the Data Set Management Support is set to 1. Here’s what I see:
At this point we can see that the storage drivers and Windows will detect and use the Intel SSD properly. There are other tools out on the internet that will display portions of this information in a GUI application. For now, we are going to jump into the command line and take a look at some other information.
Launch an elevated command console and run the command, “fsutil behavior query disabledeletenotify”. This command line utility, syntax and results are documented at http://technet.microsoft.com/en-us/library/cc785435(WS.10).aspx. Here’s the result I see for the Intel drive I have:
As you can see, the file system is notifying the storage device (my SSD), that clusters have been freed due to a file delete. This is a good thing and what you should expect to see from this command.
And lastly, the bad news. I have a nifty command line utility called atatool that dumps out the information in a formatted fashion. The info is very similar to what you see in the Intel Toolbox above but much more detailed. At the moment, this utility is internal only. If we manage to get this placed on the download center, I will let you know.
When I execute “atatool –identify 0”, it dumps the information to the command console. The zero is the number identifier for the drive we are working with and was obtained using the –list command line argument for the tool. After scrolling down to Word 169, I see the following:
And if we scroll down to Word 217, we see the following:
Now that wasn’t so bad, was it? Keep in mind when I did all of this a year ago, it was just before I bought the drive you see in all of the screenshots above so the values were different. My previous drive didn’t support TRIM so the drive was destined to degrade performance over time. With the new drive, it should keep it’s fresh out-of-the-box speed for quite some time.
As for the “waste of money” comment way above in the start of this post, let me clarify a couple of things. First of all, the Intel SSD drive I’m using is twice as fast as any 7200rpm drive you might stuff in the primary bay of the ThinkPad T61p. That’s actually a decent return on the investment. Just don’t go putting the SSD in the hard drive adaptor for the Ultrabay. The I/O drops off sharply there and considering a 500GB 7200rpm drive is well below $100 now, you are literally flushing money down the drain. Get a 320 or 500GB rotational hard drive instead and save your pennies for a new ThinkPad. Enjoy.