Confirming that Windows 7 is using SSD optimizations
Solution 1:
If you open a command prompt window (as an admin) and type the following command, Windows 7 will tell you if it's detected that your drive supports the TRIM command and thus has set Windows to use the full range of SSD optimizations automatically:
fsutil behavior query disabledeletenotify
You should get something back like "DisableDeleteNotify = 0" if your drive is being treated as an SSD.
The full Q&A that the Windows 7 Engineering Team posted about SSDs is here.
Solution 2:
"The cool new SSD optimizations" are largely eyewash, hardly 'cool' and certainly not new. Microsoft certainly did not reinvent the wheel here.
When a solid state drive is present, Windows 7 will disable disk defragmentation, Superfetch, ReadyBoost, as well as boot and application launch prefetching.
As you can see, these are just some basic tweaks known to owners of solid state disks for a long time.
The only notable advancement in Windows 7 is support for the Trim command, which deals with the way that data is written to NAND memory.
The real 'killers' (to sound a bit scary :) are virtual memory and temp folder usage which Microsoft has not addressed at all. You will have to take care of your SSD yourself if you really want to have 'cool optimizations'.
Here are some links for you:
SSD Windows Registry Tweaks
NTFS Performance Hacks
Also make sure to align the partition of your SSD and make proper use of a RAM disk.
Solution 3:
To my knowledge, currently there's no simple method, that would cover to all possible cases.
Still, in most practical cases, it should be enough to check the following:
As mentioned here
fsutil behavior query disabledeletenotify
should be 0, otherwise TRIM is disabled in your OS.
Still, this does not mean that OS recognizes your SSD.If OS recognises your SSD drive, Windows7 should remove it from the defragmentation schedule, (Win8 and Win10 explicitly show "Media type=SSD" in their "Defragment and Optimize Drives" tool). If this part is OK, this means that your OS do recognize your SSD. And do send TRIM commands.
Still, this does not mean that SSD receives them.Next, check word 169, bit0 in your drive information. This could be done, for example, using Intel SSD toolbox or hdsentinel tool (trial version is enough). Probably, there are more tools to do that. This bit should be "1" if your SSD supports TRIM. (Most modern SSDs do support it.)
Still, this does not mean that the TRIM commands, sent by your OS are properly passed to your SSD, e.g. your RAID controller might not pass them properly.-
(Actually, it’s OK to start from this point.) There are few experimental methods to see the evidence, that TRIM is actually working. The most simple & automated way is to use the TrimCheck tool. Sidenote: disk compression, disk encryption, and write-cache buffer flushing should be off.
However, there’s still one more caveat here – the DRAT / DZAT features. Too check, if your SSD support DZAT, take a look at word 69, bit14 & bit5 (once again, the “Intel SSD toolbox” should be able to show them, in most cases).- If both DRAT / DZAT bits are "1" – you’re lucky - the tool should give you "TRIM is working" almost immediately (if it’s actually working). Still, you might need to reboot your PC, and/or launch the "disk optimization" (if you're using Windows 8/10).
- Otherwise, things got more difficult. The tool may give you
CONCLUSION: TRIM appears to be NOT WORKING (or has not kicked in yet)
for a few weeks. And thenData is neither unchanged nor empty <...> CONCLUSION: INDETERMINATE
, but this does not actually mean that your TRIM is not functioning.
On the other hand, there's still a chance, that you would getCONCLUSION: TRIM appears to be WORKING!
one day. Try leaving your PC idle overnight (as well as rebooting and launching the "disk optimization"), to let SSD's built-in garbage collector do his work. If TrimCheck showsTRIM appears to be WORKING!
, this almost certainly means just that (unless some ridiculous 3rd party tool was intentionally writing zeros here and there, and, placed zeros above the test data as well). For those who interested, some technical details (as far as I understand them) are here.
The developer of the hdsentinel tool, claims that his tool uses a different approach, based on
DEVICE_TRIM_DESCRIPTOR
. And that this method alone should do the job. And that it won't even give a "false positive" if RAID controller is not passing TRIM commands correctly.