Apr 13, 2010

SSD-01

The era of mechanical hard disks lasted for decades. Now it’s over. Extremely fast and energy-saving solid state disks are entering the stage. But the ‘90s rules of storage maintenance, like a casual round of Defrag, don’t apply anymore. In fact, treating an SSD as a regular hard disk might be potentially harmful. Learn how Windows 7 treats these new storage devices and what common SSD myths you need to avoid.

They’re silent, contain no moving parts, consume less energy, and everyone who has installed one of the recently released Solid State Drives (SSDs) notices dramatic speed improvements.

SSDs are a major advance in technology; how they work and if they’re useful in your infrastructure is greatly explained in the article, Switch from a Hard Disk to an SSD with Little Fuss and Bother. A look at today’s segmentation in the SSD market is found over at Anandtech. Study these guides carefully to see if solid state technology is a feasible solution for your enterprise environment.

Whether you upgraded all PCs (or servers) to SSD or just deployed computers with SSDs preinstalled, there are a couple of new house rules to consider. And there’s tons of bad advice floating around that you need to avoid, as well. In this guide, I show you how to set Windows 7 for SSD and what settings you should stay far away from.

SSD Rule #1: Don’t Defrag Your Hard Disk

Ever since the golden age of DOS, defragmenting the disk was essential for peak performance. Nowadays, Windows 7 automatically turns off Disk Defragmenter on an SSD drive. And it does so for a good reason: Read operations are performed extremely fast on all modern solid state drives. Accessing data that is spread across the drive happens so fast that defragmentation wouldn’t improve anything. In fact, Disk Defragmenter would add unnecessary write operations which in turn could potentially reduce the lifespan of your SSD disk.

The test: To be sure, this theory needs to be proven with a couple of real-world scenario benchmarks.  I measured the performance of a heavily used workstation in our infrastructure; the built-in 256 GB SSD has been running for months, 24/7. It’s safe to say that a couple of terabytes have shuffled around over its lifespan. I benchmarked the performance before and after using Windows Disk Defragmenter, to see if it brought any speed gain:

Before defragmentation After defragmentation
Boot-up time 42 seconds 44 seconds
Shutdown time 11 seconds 11 seconds
Launching Adobe InDesign CS4 3.5 seconds 3.5 seconds
Creating copies of 25 files (size total: 4.5 GB) 3 minutes, 37 seconds 3 minutes 45 seconds

No! As you can see, performance did not improve at all; in some cases it just got a bit worse, in fact. I performed each benchmark three times to get exact results.

Make sure Defragmentation is turned off. Windows 7 uses two techniques to determine if the disk is an SSD drive. First, it checks a couple of device IDs and finds out if the device categorized itself as a solid state disk. If the drive keeps this information hidden, Windows 7 performs a simple benchmark and determines if the read performance is on a typical SSD level. If it confirms that, it should turn off Disk Defragmenter. However, as mentioned in many technical forums, for example on TechNet Social, Windows 7 doesn’t do that.

To be on the safe side, you need to make sure that Windows Disk Defragmenter doesn’t automatically run on a schedule. Here’s how:

1. Launch Disk Defragmenter: Click on the Start orb, type in “Defragmenter” and hit Enter.

SSD-01

2. Make sure that your system drive is not included in the regular defragmentation schedule. Click on “Configure schedule” and then “Select disks.” Confirm that the Windows 7 partition (marked with a little Windows icon) is unchecked:

SSD-02

SSD Rule #2: Understand Superfetch, ReadyBoost, and Prefetch

By default, Windows 7 is supposed to disable its three performance boosters, SuperFetch, ReadyBoost, and Prefetch. These features are designed to cache as much data as possible into RAM and to help Windows 7 pre-load files. This results in programs launching faster; Windows boots quicker.

However, on SSDs, performance while reading files is generally excellent. Which is why on all recently sold solid state drives, these Windows 7 performance features are all disabled by default. Digging deeper into this, I figured out that SuperFetch, Prefetch, and ReadyBoost apparently weren’t disabled on our system with a pretty fast SSD. See for yourself:

SSD-03

The Superfetch service was running…

SSD-04

Prefetch and Superfetch settings in Windows 7’s registry were set to “3” — in other words, “Enabled”…
SSD-05
…and both Prefetch and ReadyBoost folders were filled with files and updates regularly. These folders contain all pre-load data that Windows 7 uses to launch applications faster.

I wasn’t the only one surprised by this behavior. In fact, there is a huge discussion going on at Microsofts TechNet forums about this. So what is going on here? Can’t Windows 7 recognize the SSD successfully? Why aren’t these features disabled?

My theory and tests: I believe that Windows 7 successfully disabled all these features and doesn’t use them, despite the fact that they are “enabled” in the registry and as services. Here’s why: Even when I disabled Superfetch, ReadyBoost, and Prefetch manually and deleted the content of the “Prefetch” folder, performance did not change much. Here are the test results:

With Superfetch Without Superfetch & ReadyBoost Without Superfetch, ReadyBoost and Prefetch
Boot-up time 44 seconds 43 seconds 45 seconds
Launching Outlook 2010 4 seconds 4 seconds 4 seconds
Launching Google Chrome 5 (Dev) 1 second 1 second 1 second
Launching Adobe InDesign CS4 3.5 seconds 3.5 seconds 3.5 seconds
Launching PhotoImpact X3 5.5 seconds 5.5 seconds 5.5 seconds
Boot-up time of a Windows 7 (32-Bit) Virtual Machine 40 seconds 41 seconds 39 seconds

I performed each of the tests above exactly three times, in total 54 individual tests, and noticed next to no differences in performance – no matter if Superfetch and Prefetch were both disabled or not. Disabling those on a Windows 7 PC with an old-school hard drive would have resulted in a terrible slow-down, with longer boot-up and start times taking twice as long.

I can only draw one conclusion: Superfetch, ReadyBoost, and Prefetch might be running in the background, but they are not actively enhancing performance on your PC. As Microsoft stated in its own Engineering Windows 7 blog:

“If the system disk is an SSD, and the SSD performs adequately on random reads and doesn’t have glaring performance issues with random writes or flushes, then Superfetch, boot prefetching, application launch prefetching, ReadyBoost and ReadDrive will all be disabled.”

My advice: If you don’t use a first generation SSD in your infrastructure, you can safely assume that Windows 7 disables these features automatically. Disabling these features doesn’t make a difference. In fact, on a very old SSD, it might cause problems, as Microsoft stated:

Initially, we had configured all of these features to be off on all SSDs, but we encountered sizable performance regressions on some systems. In root causing those regressions, we found that some first generation SSDs had severe enough random write and flush problems that ultimately lead to disk reads being blocked for long periods of time. With Superfetch and other prefetching re-enabled, performance on key scenarios was markedly improved.”

SSD Rule #3: Leave Pagefile.sys on Your SSD

I hate when websites, magazines, and technical books spread Windows myths. This one’s pretty popular: Some sources claim that moving the page file (pagefile.sys) off of your SSD and onto a mechanical hard disk improves performance. Wrong! Never follow this advice! Windows 7 performs mostly smaller read operations on Pagefile.sys, which is where an SSD shines. Smaller random reads are, in fact, an SSD specialty. Leaving pagefile.sys on the main system drive actually guarantees maximum speed.

SSD Rule #4: Don’t Disable the Windows Search Index

Another rumor I hear and frown upon very often goes like this: “Disable Windows Search index on a Solid State drive. This will prolong the life of your hard disk as indexing causes a lot of hard disk activity.” I couldn’t disagree more.

In fact, Windows Search is a very beneficial feature for SSDs. Yes, on its initial run, Windows Search Index causes a lot of read activity as it indexes tens of thousands of files and e-mail messages. But as soon as that’s done with, the index stays in the main memory of your machine. As soon as you perform a search query, Windows 7 only browses through the index instead of looking for files on your hard disk. Only if you actually open a file is the SSD accessed.

I hope I helped you figure out the right settings for your SSD and don’t fall into common myths and mis-information thrown around on the Internet.

Want more like this? Sign up for the weekly IT Expert Voice newsletter so you don’t miss a thing!

Want more like this? Sign up for the weekly IT Expert Voice Newsletter so you don't miss a thing!

COMMENTS

DELL
FM IT Expert Voice is a partnership between Dell and Federated Media. Privacy Statement