Latest and greatest Windows 7 SSD optimization guides?

Magma

Weaksauce
Joined
Feb 1, 2003
Messages
78
I just got a new Crucual M4 SSD for my laptop and am installing Win7 today. Looking around, I've found a ton of ssd optimization guides for Windows 7 but most of them are from 2009 or early 2010. Anyone have a newer one that is up-to-date for Win7 SP1 and the latest generation of SSD drives? Thanks!
 
Turn AHCI on

Install Windows 7

Use Windows 7

/thread

*note* If you want to reclaim some disk space, from an elevated cmd prompt type

powercfg -h off

This disables hibernation.

If you have 8GB or more of Ram, you can safely reduce your pagefile to 1024MB min/max.
 
Personally I don't think one is really needed. I would say make sure defrag is off and to get rid of the hibernation file to save space. To me that is good enough, some say turn off superfetch(I think that's it) but to me it's not that big of a deal.
 
some say turn off superfetch(I think that's it) but to me it's not that big of a deal.
Those 'some' people don't know what they are talking about. SSD's are fast but they're still a turtle on crutches compared to reading files from memory.
 
bigdogchris covered it nicely. And Windows 7 disables the automagic defrag when it detects an SSD is in use anyway; you can still do a manual defrag if you're so inclined. But the general concept of leave it alone still applies: Microsoft knew SSDs were coming and they gave Windows 7 enough "intuitiveness" to know when one is in use and how to make the best use of it. There's not really much else you can do to make it work any better, but there are one or two things that can help:

- if you have a physical hard drive (one or more), put a page file on each one, static in size, maybe 1GB per drive regardless of the amount of system RAM you have, and then remove the one in use on the system drive (assuming that's your SSD)
- if you have a lot of RAM, consider setting up a RAMdisk with 1GB of RAM assigned to it then reassign your system TEMP and TMP environment variables to the RAMdisk as well as your browser cache(s) so you never touch the SSD for temp files, and RAM is still hundreds if not thousands of times faster than even the fastest SSDs on the market today

Other than that, leave it alone is still the best advice.
 
- if you have a physical hard drive (one or more), put a page file on each one, static in size, maybe 1GB per drive regardless of the amount of system RAM you have, and then remove the one in use on the system drive (assuming that's your SSD)
.

Kind of defeats the purpose of a ssd. The page file is usually small random reads/writes, why put that on a mechanical drive with crappy random reads/writes. If your trying to save write cycles on the ssd anandtech had a nice write up basically saying that for the average user the nand will lose its charge before it goes through all its write cycles.
 
I just got a new Crucual M4 SSD for my laptop and am installing Win7 today. Looking around, I've found a ton of ssd optimization guides for Windows 7 but most of them are from 2009 or early 2010. Anyone have a newer one that is up-to-date for Win7 SP1 and the latest generation of SSD drives? Thanks!

As some have already said:

- update SSD to latest firmware
- turn AHCI on
- partition using Win7 installer and install Win7
- install Intel RST (if using Intel SATA) and Intel SSD toolkit (if Intel SSD, which yours isn't)
- enjoy

If you're critical on space, disable hibernate.

The one I recommend that a lot of people miss is to disable "hybrid sleep". Hybrid sleep writes the hiberfil even when merely going into S3 sleep "just in case". If you use S3 sleep, this is a lot of unnecessary writes. Disabling hybrid sleep does not disable sleep or hibernate, it just makes it so that the hiberfile is only written when actually hibernating.

Other than that, throw the rest of the "SSD tweak guides" away. It is true that defrag should be disabled but Win7 will do this, among many other "tweaks" automatically. You are merely verifying that Win7 didn't screw up and that the SSD is not in the defrag schedule. You do not want to disable defrag completely since any HDDs in the system should still be defragged on schedule.
 
Thanks for the replies so far. Here's some info that may help with further replies.

- This is an HP 8510W laptop, with only one bay for 2.5" HD, which had the M4 SSD in it
- There isn't an option in the BIOS for IDE/AHCI/RAID selection or most of the other stuff I expect with my systems
- There is no newer BIOS available for this laptop
- I do see "Intel ICH8M-E/M SATA AHCI Controller" in Device Manager using version 10.1.0.1008 drivers
- I don't see a firmware upgrade for the Crucial M4 drives
- I installed to the fresh drive and partitioned using the Win7 Enterprise setup
- I've disabled hibernate and System Restore (that I disable anyway)
- After install, I saw that the partitions on the SSD were both included in the defrag schedule, which I fixed
- Registry check showed HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci set to 3 instead of 0, which I changed to 0, but rebooting afterwards didn't pop up driver install dialog
- Windows Performance Index shows 7.7 for the primary hard disk where the 64GB C300 on my desktop got 7.9

How do I tell if the drive is actually using AHCI so trim will work? Do I need to uninstall the drive in Device Manager and let it redetect to see if it will use AHCI that I enabled with regedit or am I just SOL here?

This is my first time trying to deal with perf issues on a laptop and I'm entirely unaccustomed to having such a lack of control in the BIOS. Thanks again for the help.
 
Hey I'm interested in this topic as well.

The one I recommend that a lot of people miss is to disable "hybrid sleep". Hybrid sleep writes the hiberfil even when merely going into S3 sleep "just in case". If you use S3 sleep, this is a lot of unnecessary writes. Disabling hybrid sleep does not disable sleep or hibernate, it just makes it so that the hiberfile is only written when actually hibernating.

Your comments on disabling hybrid sleep were new to me. How do I know if I use S3 sleep or not? My "power options" in Control Panel just talks about sleep.
 
Kind of defeats the purpose of a ssd. The page file is usually small random reads/writes, why put that on a mechanical drive with crappy random reads/writes. If your trying to save write cycles on the ssd anandtech had a nice write up basically saying that for the average user the nand will lose its charge before it goes through all its write cycles.

'cause in the long run having multiple drives and page files is more efficient than just one drive with one page file, even on an SSD with high speeds for reads and writes. Regardless of how fast any machine gets, it can still only do one thing at a time, just like the hardware more often than not. So a clarification then: multiple static page files on every drive (meaning 1 page file per physical drive), even the SSD which gives the OS far more efficient ability to multitask as required instead of being hamstrung (when it does happen) and stuck waiting for a read or write to a single drive might entail.

That better for you?
 
Hey I'm interested in this topic as well.



Your comments on disabling hybrid sleep were new to me. How do I know if I use S3 sleep or not? My "power options" in Control Panel just talks about sleep.

90%+ that's ACPI state S3. On previous motherboards I could choose whether "sleep" (from the OS) was ACPI S1 or S3 so I was merely being overly specific by stating S3 sleep.

More detailed info: http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#Power_States
 
Thanks for the replies so far. Here's some info that may help with further replies.

- This is an HP 8510W laptop, with only one bay for 2.5" HD, which had the M4 SSD in it
- There isn't an option in the BIOS for IDE/AHCI/RAID selection or most of the other stuff I expect with my systems
- There is no newer BIOS available for this laptop
- I do see "Intel ICH8M-E/M SATA AHCI Controller" in Device Manager using version 10.1.0.1008 drivers
- I don't see a firmware upgrade for the Crucial M4 drives
- I installed to the fresh drive and partitioned using the Win7 Enterprise setup
- I've disabled hibernate and System Restore (that I disable anyway)
- After install, I saw that the partitions on the SSD were both included in the defrag schedule, which I fixed
- Registry check showed HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci set to 3 instead of 0, which I changed to 0, but rebooting afterwards didn't pop up driver install dialog
- Windows Performance Index shows 7.7 for the primary hard disk where the 64GB C300 on my desktop got 7.9

How do I tell if the drive is actually using AHCI so trim will work? Do I need to uninstall the drive in Device Manager and let it redetect to see if it will use AHCI that I enabled with regedit or am I just SOL here?

This is my first time trying to deal with perf issues on a laptop and I'm entirely unaccustomed to having such a lack of control in the BIOS. Thanks again for the help.

Good question on confirming AHCI when the BIOS doesn't show you the different modes. Do you have any port or controller parameters that sound like "compatibility" or "IDE" or "enhanced"? Sometimes AHCI or not is encoded in these words.

The fact that Device Manager says it's an AHCI controller says that it's probably in AHCI mode.

Another indirect way to tell might be to open the Intel RST console, select MANAGE, and select the internal disk. Drill open the "Advanced" toggle. Do you see "Native Command Queueing: Yes"? If so, that's another hint it's almost certainly AHCI. AHCI or RAID modes are required for Intel ICH/ICHR controllers to do NCQ. If they are in "IDE" or "compatibility" mode they won't do NCQ.
 
Another indirect way to tell might be to open the Intel RST console, select MANAGE, and select the internal disk. Drill open the "Advanced" toggle. Do you see "Native Command Queueing: Yes"? If so, that's another hint it's almost certainly AHCI. AHCI or RAID modes are required for Intel ICH/ICHR controllers to do NCQ. If they are in "IDE" or "compatibility" mode they won't do NCQ.

Hmmm. That's weird. I definitely do have AHCI mode enabled according to my BIOS (it's an ASUS P8H67-M Evo board), yet when I follow your steps, it says "No" for Native Command Queueing. Look:



So what does that mean? You said if it says yes, then it's "almost certainly AHCI." What about the reverse? If it says no, does that indicate that AHCI mode is NOT enabled? Or can it be either way?

Interestingly, when I click on my second drive, my storage drive, which is an ordinary mechanical drive, it actually says "Yes" for the NCQ line.... Again, what does that mean? lol
 
Kind of defeats the purpose of a ssd. The page file is usually small random reads/writes,
You're absolutely correct. I've also read before that the majority of page-file read/writes are very small so it's best to have it on the drive with the fastest access time, which are either SSD's or the fastest rotational drive you have.
 
- There isn't an option in the BIOS for IDE/AHCI/RAID selection or most of the other stuff I expect with my systems

I believe it is possible that some BIOS settings have been hidden. I have been struck before by how barren the BIOS on my laptop(s) looks compared to any BIOS in any desktop that I've assembled myself.

There are ways to mod a BIOS, and this includes being able to reveal some options that are hidden, and then changing those settings after "un-hiding" them. At least, that's the case for older BIOSes; I don't know if this still holds true for a new EFI BIOS. I've modded both an AMI and an AWARD BIOS before, but not for this purpose, so I don't have personal experience with doing that. But there are resources you can look into that might help, such as some of these:

http://www.rebelshavenforum.com/sis-bin/ultimatebb.cgi?ubb=forum;f=52
http://forums.pcper.com/showthread.php?t=335021
(a couple further links in that second link)
 
Thanks, but I have to earn a living with this laptop. I'm not messing with the BIOS in the ways suggested there. :)
 
Hmmm. That's weird. I definitely do have AHCI mode enabled according to my BIOS (it's an ASUS P8H67-M Evo board), yet when I follow your steps, it says "No" for Native Command Queueing. Look:


Interestingly, when I click on my second drive, my storage drive, which is an ordinary mechanical drive, it actually says "Yes" for the NCQ line.... Again, what does that mean? lol

Well, it could mean that the Kingston SSD doesn't support NCQ. If you find a "yes" there, you're almost certainly running AHCI. Finding a "no" doesn't mean that you aren't.

Since your other drive is a "yes", that just tells me that Kingston doesn't do NCQ.
 
Thanks, but I have to earn a living with this laptop. I'm not messing with the BIOS in the ways suggested there. :)

I remember on some older Gigabyte boards you had to hit CTRL+F1 or something to reveal all options...
 
Well, it could mean that the Kingston SSD doesn't support NCQ. If you find a "yes" there, you're almost certainly running AHCI. Finding a "no" doesn't mean that you aren't.

Since your other drive is a "yes", that just tells me that Kingston doesn't do NCQ.

Wow, I had no idea that some SSDs don't support NCQ, but apparently that is the case. The Kingston is mentioned as one that might not, so maybe that is it.

Have you tried Crystal DiskInfo to see what it says about the drive?
 
Have you tried Crystal DiskInfo to see what it says about the drive?

I have not. Let me download and see. This is my first SSD, so I'm not yet all that familiar with all the tools people use. Any other software recommendations?
 
I have not. Let me download and see. This is my first SSD, so I'm not yet all that familiar with all the tools people use. Any other software recommendations?

Sorry, can't see your picture (blocked at work) so I can't tell what kind of drive you have, but I found this on another site:

Spoke w/ a Kingston rep. The V+ series DOES NOT support NCQ. It's a typo on it's site & they are going to fix it. Only the "E" & "M" models support NCQ.
 
but I found this on another site:

Wow... Well, that explains it then. My drive is a V+100. That's technically different from the V+ series, but I guess it's just an update, no dramatic differences.

And as a confirmation, I loaded CrystalDiskInfo, and it shows NCQ grayed out in the Features list:



Uploaded with ImageShack.us
 
Turn AHCI on

Install Windows 7

Use Windows 7

/thread

*note* If you want to reclaim some disk space, from an elevated cmd prompt type

powercfg -h off

This disables hibernation.

If you have 8GB or more of Ram, you can safely reduce your pagefile to 1024MB min/max.

When I try that command the prompt says "You dont have persmission..."

I am thr admin on my machine.
 
I really don't know why an SSD would need NCQ. From my understanding NCQ is to get the data off the disk in fewer rotations of the platter, depending on where that data is located on the drive. An SSD does not rotate.
 
I really don't know why an SSD would need NCQ. From my understanding NCQ is to get the data off the disk in fewer rotations of the platter, depending on where that data is located on the drive. An SSD does not rotate.

Agreed. I don't "get it" either. I brought it into the discussion solely as an indicator of whether AHCI was active or not, since NCQ is usually only available under AHCI. Maybe the NCQ framework can still be used by the SSD controller influence the priority of certain requests so that reads can go before writes, or deletes. I don't know enough about how it's used and can only speculate but there's nothing wrong with leveraging an existing technology like NCQ to further enhance performance. It would be another reason to run AHCI if true. There's still an alarming number of people who resist AHCI for no good reason that I can see.
 
Last edited:
I really don't know why an SSD would need NCQ. From my understanding NCQ is to get the data off the disk in fewer rotations of the platter, depending on where that data is located on the drive. An SSD does not rotate.

Here's a general explanation of NCQ's benefits on SSDs from Wikipeida.

Wikipedia said:
NCQ in Solid-State Drives

NCQ is also used in newer solid-state drives where the drive encounters latency on the host, rather than the other way around. For example, Intel's X25-E Extreme solid-state drive uses NCQ to ensure that the drive has commands to process while the host system is busy processing CPU tasks. [3]

NCQ also enables the SSD controller to complete commands concurrently (or partly concurrently, for example using pipelines) where the internal organisation of the device enables such processing.

For example, the SandForce 1200[4] based OCZ Vertex II 50GB drive running on a Dell Perc 5i (which doesn't support SATA NCQ) delivers about 7,000 4k IOPS (50% write) at a controller queue depth of 32 IOs. Moving the drive to the similar Dell Perc 6i (which does support SATA NCQ) increases this to over 14,000 IOPS on the same basis.
http://en.wikipedia.org/wiki/Native_Command_Queuing#NCQ_in_Solid-State_Drives
 
Here's another possible reason:

The answer is multi-channel flash. Intel uses its own SATA/300 controller and addresses ten different MLC flash channels at once, using a 16 MB cache memory. It also employs native command queuing (NCQ) to be able to distribute read and write operations across the available channels efficiently.
 
Here's another possible reason:

Absolutely, but I thought Intel's parallelism was like RAID0 (or 4/5 with some of the newer drives including parity) - the data is striped across the different MLC channels. This would mean that they all participate in all transfers and NCQ isn't going to divide the channels up into different tasks.

I guess I'm wrong...(?)

At any rate, using the existing NCQ framework to manage a queue of requests can only make things faster, assuming there are smart people coding the algorithms at each end.
 
Back
Top