Windows 7 and SSDs, Part 1 (To clone Windows or reinstall?)
I’ve seen a couple of people stuffing their Windows 7 laptops with Solid State Disks (SSDs). I upgraded my Windows 7 demo laptop with an Intel X25-M G2 SSD (80GB) and this much improved performance, especially for virtualization purposes.
A traditional Hard Disk Drive’s internals are platters. A read/write head on a boom looms over the platter the read and.or write data. The boom will move back and forth over the platter when multiple areas of the platter need to be read or written sequentially. A Solid State Disk (SDD) differs from a Hard Disk Drive (HDD). Instead of platters and heads, it uses Persistent Memory (much like RAM) to store information. Multiple memory units are used to create the amount of storage needed.
Windows 7 SSD Optimizations
Windows 7 comes with built-in optimizations for Solid State Disks (SSDs). When Windows 7 assumes a SSD is present in the system, it will:
- Disable disk defragmentation
A regular hard disk (HDD) will become defragmented. Parts of files will be scattered throughout the platter(s) of the device. When you want to retrieve the whole file the device will need to move its read/write head across the disk. Actually, the head movements will take more time, than the reads/writes themselves. SSDs also get fragmented, but in a SSD this is not a problem, since there is no head. Therefore, defragmentation is turned off by default on a SSD.
- Disable SuperFetch
SuperFetch is a Microsoft technology, that caches much-used executables and other files in memory. Therefore, the Operating System can access these files more quickly, since it does not have to wait for the read/write head of the HDD to pick up the file. Since SSDs are multiple times faster than HDDs for these random reads SuperFetch only hogs up memory without a big reason. It is turned off.
- Disable ReadyBoost
ReadyBoost is a Microsoft service, that allows USB media to be turned in page file space. This is convenient for systems with low RAM memory, since without ReadyBoost the system would use the pagefile on the HDD. SSDs offer more speed than USB Media, so why not use space on the SSD?
- Enable TRIM
In a traditional HDD, when you delete a file, the file remains present on the disk and only the header gets removed. This makes sense, since you don’t want the head of your device to be put in all kinds of positions. TRIM is a technology that uses the idle time of an SSD to actually delete files and their corresponding pages in memory, instead of merely marking them as empty. This background process keeps SSDs in perfect state. For TRIM to be enabled, the SSD device needs to support it.
The way Windows 7 detects the possible presence of a SSD is to look at the random read speeds. When the random read speeds exceed 8 MB/s, Windows assumes it’s a SSD. This behavior is described here.
Another way to detect a SSD is to look at the rotation speed of the disk. When the rotation speed is 0, the disk is most probably a SSD. However, by testing random reads, even super fast HDD setups might be considered SSDs. In this case the system benefits from the optimizations, mentioned above.
How to benefit
When you currently run Windows 7 on a HDD, you can swap the drive for a SSD. This has become a very common practice in the past couple of months, looking at my friends on Facebook and LinkedIn. One main question keeps popping up:
“Do I clone my Windows 7 installation or perform a fresh install?”
My response has been to perform a fresh install for the following reasons:
- Disk alignment
When you clone your current HDD to SSD, you might lose alignment of the data on the disk. This alignment pertains to tracks and blocks. A block in hard drive terms is the smallest amount of data being read from the disk. Tracks are rings on the platters of traditional Hard Disk Drives. SSDs emulate tracks to adhere to the IDE standards. Ideally you don’t want blocks in multiple tracks, because this increases overhead. Unfortunately, this is exactly what might happen. More information here.
- Built-in optimizations
When you perform a fresh installation of Windows 7, the built-in SSD optimizations are applied by default and from the start. You will not need to install and use extra tools to tweak the settings (like the Intel SSD Toolbox and Optimizer). Also you will not need to worry about the settings.
On some machines you will need to adjust the IDE controller settings from standard IDE to AHCI, to make Windows 7 properly detect the SSD. When you change this setting, your system will become unbootable with only the HDD plugged in.
As an alternative you can use Sysprep.exe with the –pnp argument to make the PC go through mini setup and detect all plug and play hardware. This might make Windows 7 detect the SSD, but may not resolve issues with alignment. Since Sysprepping will use a rearm and will make you go through activation, the hassle in terms of Product Keys and Windows Activation is equal to a fresh installation.
When you replace an existing Hard Drive (HDD) with a Solid State Disk (SSD), it is best to reinstall the Operating System when you’re using Windows 7.
Before installing, adjust your BIOS settings as needed and upgrade the firmware of your SSD to the latest firmware.
Windows 7 and Optimization for Solid State Drives
Windows 7 & SSD Drives Are About To Get Much Faster
Windows 7 to improve on Solid State Drive (SSD) performance
Support and Q&A for Solid-State Drives
TechNet Forums: SSD and Windows 7