Support and Q&A for Solid-State Drives


There’s a lot of excitement around the potential for the widespread adoption of solid-state drives (SSD) for primary storage, particularly on laptops and also among many folks in the server world.  As with any new technology, as it is introduced we often need to revisit the assumptions baked into the overall system (OS, device support, applications) as a result of the performance characteristics of the technologies in use.  This post looks at the way we have tuned Windows 7 to the current generation of SSDs.  This is a rapidly moving area and we expect that there will continue to be ways we will tune Windows and we also expect the technology to continue to evolve, perhaps introducing new tradeoffs or challenging other underlying assumptions.  Michael Fortin authored this post with help from many folks across the storage and fundamentals teams.  –Steven


Many of today’s Solid State Drives (SSDs) offer the promise of improved performance, more consistent responsiveness, increased battery life, superior ruggedness, quicker startup times, and noise and vibration reductions. With prices dropping precipitously, most analysts expect more and more PCs to be sold with SSDs in place of traditional rotating hard disk drives (HDDs).


In Windows 7, we’ve focused a number of our engineering efforts with SSD operating characteristics in mind. As a result, Windows 7’s default behavior is to operate efficiently on SSDs without requiring any customer intervention. Before delving into how Windows 7’s behavior is automatically tuned to work efficiently on SSDs, a brief overview of SSD operating characteristics is warranted.


Random Reads: A very good story for SSDs


SSDs tend to be very fast for random reads. Most SSDs thoroughly trounce traditionally HDDs because the mechanical work required to position a rotating disk head isn’t required. As a result, the better SSDs can perform 4 KB random reads almost 100 times faster than the typical HDD (about 1/10th of a millisecond per read vs. roughly 10 milliseconds).


Sequential Reads and Writes: Also Good


Sequential read and write operations range between quite good to superb. Because flash chips can be configured in parallel and data spread across the chips, today’s better SSDs can read sequentially at rates greater than 200 MB/s, which is close to double the rate many 7200 RPM drives can deliver. For sequential writes, we see some devices greatly exceeding the rates of typical HDDs, and most SSDs doing fairly well in comparison. In today’s market, there are still considerable differences in sequential write rates between SSDs. Some greatly outperform the typical HDD, others lag by a bit, and a few are poor in comparison.


Random Writes & Flushes: Your mileage will vary greatly


The differences in sequential write rates are interesting to note, but for most users they won’t make for as notable a difference in overall performance as random writes.


What’s a long time for a random write? Well, an average HDD can typically move 4 KB random writes to its spinning media in 7 to 15 milliseconds, which has proven to be largely unacceptable. As a result, most HDDs come with 4, 8 or more megabytes of internal memory and attempt to cache small random writes rather than wait the full 7 to 15 milliseconds. When they do cache a write, they return success to the OS even though the bytes haven’t been moved to the spinning media. We typically see these cached writes completing in a few hundred microseconds (so 10X, 20X or faster than actually writing to spinning media). In looking at millions of disk writes from thousands of telemetry traces, we observe 92% of 4 KB or smaller IOs taking less than 1 millisecond, 80% taking less than 600 microseconds, and an impressive 48% taking less than 200 microseconds. Caching works!


On occasion, we’ll see HDDs struggle with bursts of random writes and flushes. Drives that cache too much for too long and then get caught with too much of a backlog of work to complete when a flush comes along, have proven to be problematic. These flushes and surrounding IOs can have considerably lengthened response times. We’ve seen some devices take a half second to a full second to complete individual IOs and take 10’s of seconds to return to a more consistently responsive state. For the user, this can be awful to endure as responsiveness drops to painful levels. Think of it, the response time for a single I/O can range from 200 microseconds up to a whopping 1,000,000 microseconds (1 second).


When presented with realistic workloads, we see the worst of the SSDs producing very long IO times as well, as much as one half to one full second to complete individual random write and flush requests. This is abysmal for many workloads and can make the entire system feel choppy, unresponsive and sluggish.


Random Writes & Flushes: Why is this so hard?


For many, the notion that a purely electronic SSD can have more trouble with random writes than a traditional HDD seems hard to comprehend at first. After all, SSDs don’t need to seek and position a disk head above a track on a rotating disk, so why would random writes present such a daunting a challenge?


The answer to this takes quite a bit of explaining, Anand’s article admirably covers many of the details. We highly encourage motivated folks to take the time to read it as well as this fine USENIX paper. In an attempt to avoid covering too much of the same material, we’ll just make a handful of points.



  • Most SSDs are comprised of flash cells (either SLC or MLC). It is possible to build SSDs out of DRAM. These can be extremely fast, but also very costly and power hungry. Since these are relatively rare, we’ll focus our discussion on the much more popular NAND flash based SSDs. Future SSDs may take advantage of other nonvolatile memory technologies than flash.

  • A flash cell is really a trap, a trap for electrons and electrons don’t like to be trapped. Consider this, if placing 100 electrons in a flash cell constitutes a bit value of 0, and fewer means the value is 1, then the controller logic may have to consider 80 to 120 as the acceptable range for a bit value of 0. A range is necessary because some electrons may escape the trap, others may fall into the trap when attempting to fill nearby cells, etc… As a result, some very sophisticated error correction logic is needed to insure data integrity.

  • Flash chips tend to be organized in complex arrangements, such as blocks, dies, planes and packages. The size, arrangement, parallelism, wear, interconnects and transfer speed characteristics of which can and do vary greatly.

  • Flash cells need to be erased before they can be written. You simply can’t trust that a flash cell has no residual electrons in it before use, so cells need to be erased before filling with electrons. Erasing is done on a large scale. You don’t erase a cell; rather you erase a large block of cells (like 128 KB worth). Erase times are typically long — a millisecond or more.

  • Flash wears out. At some point, a flash cell simply stops working as a trap for electrons. If frequently updated data (e.g., a file system log file) was always stored in the same cells, those cells would wear out more quickly than cells containing read-mostly data. Wear leveling logic is employed by flash controller firmware to spread out writes across a device’s full set of cells. If done properly, most devices will last years under normal desktop/laptop workloads.

  • It takes some pretty clever device physicists and some solid engineering to trap electrons at high speed, to do so without errors, and to keep the devices from wearing out unevenly. Not all SSD manufacturers are as far along as others in figuring out how to do this well.

Performance Degradation Over Time, Wear, and Trim


As mentioned above, flash blocks and cells need to be erased before new bytes can be written to them. As a result, newly purchased devices (with all flash blocks pre-erased) can perform notably better at purchase time than after considerable use. While we’ve observed this performance degradation ourselves, we do not consider this to be a show stopper. In fact, except via benchmarking measurements, we don’t expect users to notice the drop during normal use.


Of course, device manufactures and Microsoft want to maintain superior performance characteristics as best we can. One can easily imagine the better SSD manufacturers attempting to overcome the aging issues by pre-erasing blocks so the performance penalty is largely unrealized during normal use, or by maintaining a large enough spare area to store short bursts of writes. SSD drives designed for the enterprise may have as high as 50% of their space reserved in order to provide lengthy periods of high sustained write performance.


In addition to the above, Microsoft and SSD manufacturers are adopting the Trim operation. In Windows 7, if an SSD reports it supports the Trim attribute of the ATA protocol’s Data Set Management command, the NTFS file system will request the ATA driver to issue the new operation to the device when files are deleted and it is safe to erase the SSD pages backing the files. With this information, an SSD can plan to erase the relevant blocks opportunistically (and lazily) in the hope that subsequent writes will not require a blocking erase operation since erased pages are available for reuse.


As an added benefit, the Trim operation can help SSDs reduce wear by eliminating the need for many merge operations to occur. As an example, consider a single 128 KB SSD block that contained a 128 KB file. If the file is deleted and a Trim operation is requested, then the SSD can avoid having to mix bytes from the SSD block with any other bytes that are subsequently written to that block. This reduces wear.


Windows 7 requests the Trim operation for more than just file delete operations. The Trim operation is fully integrated with partition- and volume-level commands like Format and Delete, with file system commands relating to truncate and compression, and with the System Restore (aka Volume Snapshot) feature.


Windows 7 Optimizations and Default Behavior Summary


As noted above, all of today’s SSDs have considerable work to do when presented with disk writes and disk flushes. Windows 7 tends to perform well on today’s SSDs, in part, because we made many engineering changes to reduce the frequency of writes and flushes. This benefits traditional HDDs as well, but is particularly helpful on today’s SSDs.


Windows 7 will disable disk defragmentation on SSD system drives. Because SSDs perform extremely well on random read operations, defragmenting files isn’t helpful enough to warrant the added disk writing defragmentation produces. The FAQ section below has some additional details.


Be default, Windows 7 will disable Superfetch, ReadyBoost, as well as boot and application launch prefetching on SSDs with good random read, random write and flush performance. These technologies were all designed to improve performance on traditional HDDs, where random read performance could easily be a major bottleneck. See the FAQ section for more details.


Since SSDs tend to perform at their best when the operating system’s partitions are created with the SSD’s alignment needs in mind, all of the partition-creating tools in Windows 7 place newly created partitions with the appropriate alignment.


Frequently Asked Questions


Before addressing some frequently asked questions, we’d like to remind everyone that we believe the future of SSDs in mobile and desktop PCs (as well as enterprise servers) looks very bright to us. SSDs can deliver on the promise of improved performance, more consistent responsiveness, increased battery life, superior ruggedness, quicker startup times, and noise and vibration reductions. With prices steadily dropping and quality on the rise, we expect more and more PCs to be sold with SSDs in place of traditional rotating HDDs. With that in mind, we focused an appropriate amount of our engineering efforts towards insuring Windows 7 users have great experiences on SSDs.


Will Windows 7 support Trim?


Yes. See the above section for details.


Will disk defragmentation be disabled by default on SSDs?


Yes. The automatic scheduling of defragmentation will exclude partitions on devices that declare themselves as SSDs. Additionally, if the system disk has random read performance characteristics above the threshold of 8 MB/sec, then it too will be excluded. The threshold was determined by internal analysis.


The random read threshold test was added to the final product to address the fact that few SSDs on the market today properly identify themselves as SSDs. 8 MB/sec is a relatively conservative rate. While none of our tested HDDs could approach 8 MB/sec, all of our tested SSDs exceeded that threshold. SSD performance ranged between 11 MB/sec and 130 MB/sec. Of the 182 HDDs tested, only 6 configurations managed to exceed 2 MB/sec on our random read test. The other 176 ranged between 0.8 MB/sec and 1.6 MB/sec.


Will Superfetch be disabled on SSDs?


Yes, for most systems with SSDs.


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.


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.


Is NTFS Compression of Files and Directories recommended on SSDs?


Compressing files help save space, but the effort of compressing and decompressing requires extra CPU cycles and therefore power on mobile systems. That said, for infrequently modified directories and files, compression is a fine way to conserve valuable SSD space and can be a good tradeoff if space is truly a premium.


We do not, however, recommend compressing files or directories that will be written to with great frequency. Your Documents directory and files are likely to be fine, but temporary internet directories or mail folder directories aren’t such a good idea because they get large number of file writes in bursts.


Does the Windows Search Indexer operate differently on SSDs?


No.


Is Bitlocker’s encryption process optimized to work on SSDs?


Yes, on NTFS. When Bitlocker is first configured on a partition, the entire partition is read, encrypted and written back out. As this is done, the NTFS file system will issue Trim commands to help the SSD optimize its behavior.


We do encourage users concerned about their data privacy and protection to enable Bitlocker on their drives, including SSDs.


Does Media Center do anything special when configured on SSDs?


No. While SSDs do have advantages over traditional HDDs, SSDs are more costly per GB than their HDD counterparts. For most users, a HDD optimized for media recording is a better choice, as media recording and playback workloads are largely sequential in nature.


Does Write Caching make sense on SSDs and does Windows 7 do anything special if an SSD supports write caching?


Some SSD manufacturers including RAM in their devices for more than just their control logic; they are mimicking the behavior of traditional disks by caching writes, and possibly reads. For devices that do cache writes in volatile memory, Windows 7 expects flush commands and write-ordering to be preserved to at least the same degree as traditional rotating disks. Additionally, Windows 7 expects user settings that disable write caching to be honored by write caching SSDs just as they are on traditional disks.


Do RAID configurations make sense with SSDs?


Yes. The reliability and performance benefits one can obtain via HDD RAID configurations can be had with SSD RAID configurations.


Should the pagefile be placed on SSDs?


Yes. Most pagefile operations are small random reads or larger sequential writes, both of which are types of operations that SSDs handle well.


In looking at telemetry data from thousands of traces and focusing on pagefile reads and writes, we find that



  • Pagefile.sys reads outnumber pagefile.sys writes by about 40 to 1,

  • Pagefile.sys read sizes are typically quite small, with 67% less than or equal to 4 KB, and 88% less than 16 KB.

  • Pagefile.sys writes are relatively large, with 62% greater than or equal to 128 KB and 45% being exactly 1 MB in size.

In fact, given typical pagefile reference patterns and the favorable performance characteristics SSDs have on those patterns, there are few files better than the pagefile to place on an SSD.


Are there any concerns regarding the Hibernate file and SSDs?


No, hiberfile.sys is written to and read from sequentially and in large chunks, and thus can be placed on either HDDs or SSDs.


What Windows Experience Index changes were made to address SSD performance characteristics?


In Windows 7, there are new random read, random write and flush assessments. Better SSDs can score above 6.5 all the way to 7.9. To be included in that range, an SSD has to have outstanding random read rates and be resilient to flush and random write workloads.


In the Beta timeframe of Windows 7, there was a capping of scores at 1.9, 2.9 or the like if a disk (SSD or HDD) didn’t perform adequately when confronted with our random write and flush assessments. Feedback on this was pretty consistent, with most feeling the level of capping to be excessive. As a result, we now simply restrict SSDs with performance issues from joining the newly added 6.0+ and 7.0+ ranges. SSDs that are not solid performers across all assessments effectively get scored in a manner similar to what they would have been in Windows Vista, gaining no Win7 boost for great random read performance.

Comments (145)

  1. nomad27 says:

    Glad to hear you are taking new technologies into engineering considerations in W7.

    Can you tell me if work is done to take into account working with non-volatile memory(memory that keeps the data even when power is turned off) such as MRAM?

    The possibilities for new features are endless such as turning off the pc completely and instantly resuming without any data loss.

    Windows will have to adapt to the new memory quickly and for example differentiate between restart shut-down and non-restart shut-down.

  2. FlemmingRiis says:

    Yet another reason to enbrace Windows 7

    Engineering Windows 7 blogged about SSD support in Windows 7

    Manuel trackback

    http://it-experts.dk/blogs/flemmingriis/archive/2009/05/05/windows-7-forbedringer-mht-ssd-diske.aspx

  3. macbirdie says:

    It strikes me as amazing to have that much knowledge under your fingertips thanks to telemetry of potentially millions of computers.

    Just as Google with their hard drive use paper ( http://www.engadget.com/2007/02/18/massive-google-hard-drive-survey-turns-up-very-interesting-thing/ ), you could post some performance and reliability results based on your data.

    A massive and very real-world benchmark would come out of that actually.

    Good job MS. Been an "early" 😉 RC adopter for two days now and the only problem I see is sometimes poor Aero performance of my AMD690G on-board graphics (Radeon x1200 series). Other than that it’s snappy, beautiful and extremely usable and polished.

  4. consumer4beta@hotmail.com says:

    Will Windows reduce the number of times its background apps and third party apps (anti virus updaters) write data frequently to an SSD?

    Also, will Encrypting File System use have any impact on SSDs?

  5. krish4u@hotmail.com says:

    Statement:

       "Will Windows 7 support Trim?"

       Yes.

    So, what is the status with the Windows 7 release candidate? Is Trim already supported? How do I find/check this out?

    Great job with the SSD support. I have one and Win7 RC literally flies …. 🙂

    -krish

  6. tom5 says:

    A big thank you to MS for providing good download experience of the RC – you guys learned a lot from the public beta 🙂

  7. manicmarc says:

    Where does exFAT come into this? If at all? Will Windows 7 Netbooks be formatted as exFAT by default?

  8. Nehemoth says:

    Really, really excelent articules, one of the best That I ever read here or even anywhere concerning SSD performance.

    Thank you

  9. tgrand says:

    Everything sounds really great here except for fragmentation.  Your solution is to just allow filesystem fragmentation to run unchecked and rely on the SSD to power through it?  I thought trim might help enable a better defrag approach.

    I’m curious about whether your measurements of performance degradation also took into account filesystem fragmentation.  As you know, it’s very common for some files to reach thousands and even tens of thousands of fragments, and free space can become extremely fragmented on highly utilized drives.  I question whether SSD performance is sufficient to counter this using a brute force approach.

    I wonder if you decided that it would be better to defer this task to third parties for now, and look at solving it in a future version of Windows.  Or, if you genuinely believe this approach offers the right tradeoff of performance vs. wear long-term.

  10. sroussey@network54.com says:

    @tgrand: "As you know, it’s very common for some files to reach thousands and even tens of thousands of fragments, and free space can become extremely fragmented on highly utilized drives."

    They don’t directly address it, other than some SSD drives have 50% more space than advertised to the system (most have only about 10%). But for anyone looking at a SSD drive, you should never fill them up. That will dilute wear leveling, and many performance benefits. Filled drives are the typical reason for such highly fragmented files.

    That said, if the Win7 disk defragger had a SSD type mode that only defragged the rare cases (leaving the rest well enough alone), that would be a nice option.

    I found that I was going to use about 45G for a system drive, figured on doubling that to get the wear leveling and opportunistic flash cell writing which had me looking for a 90G drive. The closest thing was a 120G vertex. It would have fit in a 60G, but I know how the engineering works, and would never have so little ‘free’ space. Unlike a HDD, that free space actually gets used.

  11. bananaman says:

    If SSDs are attached to a hardware RAID controller (which typically identify their arrays using their own manufacturer’s name) will Windows 7 know that the array is composed of SSDs and use the trim function?

    Will there be a way to manually tell Windows that this array (or single device) is/are SSD’s, this one is magnetic platters, and so on?

  12. swaroopk says:

    @Maciej Rutkowski :

    A massive and very real-world benchmark would come out of that actually.

    Benchmarks based on real world traces are immensely valuable. Some of the traces referenced in the above USENIX paper as well as some other traces from production servers referenced in this IISWC paper have been made publicly available by Microsoft via SNIA to enable research by academia and others. Of course all personally identifiable information (PII) has been removed from these traces. Note that these are server traces and not client traces. System traces can be captured by using the built in ETW functionality in Windows (client as well as server) and visualized/analyzed using the Windows Performance Tools Kit.

    @bananaman:

    If SSDs are attached to a hardware RAID controller (which typically identify their arrays using their own manufacturer’s name) will Windows 7 know that the array is composed of SSDs and use the trim function?

    Will there be a way to manually tell Windows that this array (or single device) is/are SSD’s, this one is magnetic platters, and so on?

    Typically the disks behind a RAID controller are managed by the RAID controller and presented to the operating system as one or more units (disks) of storage space. If the RAID controller reports the rotational speed as zero for the units of storage (disks) that it presents to Windows 7 then it will treat that unit of storage as an SSD.

    – SwaroopK (Windows Team – Microsoft)

  13. FrankyN says:

    Not very long ago i installed WinXP on a usb stick after some heavy tweaking, and is running fine. And faster then on the internal SSD drive.

    I know, not supported nor recommended. But the technology is advanceing, and therefore a possible option. The are getting bigger and faster.

    Would it be possible for Win7 to install it on a memory stick? If not, a future option?

    It is not the same as a SSD drive, but still Solid State.

  14. mbampo says:

    The best so far in the blog. Thanks guys!

  15. dcuccia@gmail.com says:

    Sorry if I missed it – will FAT be allowed on SSDs? Will defrag still be turned off in this case? If so, isn’t this adding extra risk in a recovery scenario? Thanks, David

  16. Chris_7 says:

    I’ve just signed in to leave a comment and ask a question 😉

    In this article you said :

    "Will Windows 7 support Trim?

    Yes. See the above section for details"

    But my question is :

    IS Windows 7 supporting Trim right now (RC1)or TRIM is going to be supported by Windows 7 at the final release or in a Service Pack ?

    Thanks a lot 😉

  17. kamil.nowicki says:

    @SwaroopK

    "If the RAID controller reports the rotational speed as zero for the units of storage (disks) that it presents to Windows 7 then it will treat that unit of storage as an SSD."

    …and if controller can actually pass TRIM to the drives. to me that is too much "if’s" to believe that TRIM on RAID will work from day 1.

  18. MSDNArchive says:

    I have to echo (and expand) Chris_7’s question.

    Does Win7 RC1 have Trim?

    If Win7 currently has Trim (or when it is added) what 3rd party work needs to be done for the end user to actually utilize Trim?  (i.e. SSD firmware flash to accessp Trim command, support for Trim in Motherboard chipset drivers and so on)

    Thanks for the blog entry, I’ve been looking for information regarding Win7 and Trim (just bought 3 OCZ Vertex SSDs for a couple new builds I’m working on)

  19. MSDNArchive says:

    Oh, and if Win 7 RC1 doesn’t currently have Trim, when is it expected to be added?

  20. craigbarkhouse says:

    @Chris_7, DarinMS:

    Yes, Trim is already in the Win7 RC.

    Trim is enabled by default but can be turned off.  You can use the "fsutil behavior query|set DisableDeleteNotify" command to query or set Trim.

  21. marcinw says:

    Very funny thing. I had time to look into RC version and it’s even worse than beta. We have issues from 7000 build and more. It shows, how Microsoft is treating own customers. You can delete my post, but facts will be facts (see below).

    First example:

    1. set UAC level to highest one

    2. go into Computer Management

    3. set Startup Type for Application Information service to Disabled

    4. restart system

    5. many system actions (requiring UAC prompts) will simply not work, you can’t easy fix it

    I understand, that it will need access to computer. But selling system to customers with such functionality "by design" won’t be too honest and professional.

    Second example: like zdnet.com notified, system by default hides files extensions. How many non-technical users will understand, that file "document.txt" in Explorer is "document.txt.exe" ?

    Third: http://www.pretentiousname.com/misc/win7_uac_whitelist2.html (I haven’t checked, but I believe, that it can be the truth)

    Please note, that I haven’t went into deeper things. For example why system doesn’t allow for formatting me partition in exFat ? Why Explorer still can’t enter directory, which is "link" ? Why icon for Network Sharing and Center doesn’t display animation ? why clear type tuner doesn’t have maximize button ? why after enabling displaying hidden files I have two files on desktop ? etc. etc.

    I have feeling, that nobody (I repeat nobody) is controlling it. There is no one clear consistence vision (what to do with this architecture) and we have mix of everything with everything. This is one big mess.

  22. Surt says:

    I have the occasional situation where it would still be valuable to defragment, can we override the default policy and defrag our SSDs if we want to?

  23. nomad27 says:

    To marcinw

    What are you saying?

    That by doing these 2 actions, that no customer will or should ever do.. you got a bug?

    So.. kudos to you. You’re MS #1 beta tester – you found a bug in the RC.

    And with that you conclude that "It shows, how Microsoft is treating own customers"?!

    Go play programmer in linux or something.

  24. Igor Leyko says:

    "Pagefile.sys read sizes are typically quite small, with 67% less than or equal to 4 KB" – how can pagefile read be less than 4 KB? This is the size of memory page and memory manager operates with pages not bytes.

    And thanks a lot for this statistic, I’ve looked for it for a long time.

    Igor P. Leyko

    MVP System & Performance

  25. krish4u@hotmail.com says:

    @craigbarkhouse :

    fsutil behavior query DisableDeleteNotify

    returns a 0, which I take to mean to that Trim() is enabled?

    The SSD I have is flashed to a firmware revision that supposedly implements Trim(), so the questions I have are:

     – Is Win7 RC1 actually using the Trim() command in my case?

     – If an SSD does not implement Trim(), would the above command return a 1?

    Thanks,

    -krish

  26. Wolf-Tech says:

    I’m running Windows 7 RC 64 bit right now and so far I find disabling the Superfetch and the Prefetcher and Readyboot increases my boot up times. Also Once I disable Prefetecher I dont have that wasted 600 megs of memory or so for that stupid readyboot feature. My Windows 7 now boots under 6 sec to desktop only using 320 megs of ram.

  27. marcinw says:

    @nomad27,

    In earlier Windows versions disabling some services was blocked, in Seven "Application Information" is not blocked. You should do steps described by me and you will see, that normal user will need reinstalling system to get it working. Is this really hard to understand ? Authors of various malware are only waiting for such occasions…

    This blog is read by many Microsoft employees (including Steven). Info about this issue in 7000 was written by me long time ago. And nothing… Many people want returning some things (animated icon with network activity is example). And nothing… Sorry, but this system is created for users. This is not art for art.

    Microsoft fans were screaming "wow" in 2007 and we know results. Maybe it’s time to stop screaming "excellent" in 2009 and start thinking, how to better address customer needs ? Please note – after first "excellent" opinions in more and more sites you can read opinion, that Seven is not so good (at least: it’s not revolution and doesn’t have killer features)

  28. craigbarkhouse says:

    @krish4u:

    Correct, if fsutil reports that "DisableDeleteNotify" is 0, then Trim is enabled.  (The feature is sometimes referred to using different names:  Trim == Delete Notification == Unused Clusters Hint.)  The setting is written in terms of disabling something because we like to use values of 0 for defaults.

    Have Trim enabled according to this setting, which you do, means that the filesystem will send Trim commands down the storage stack.  The filesystem doesn’t actually know whether this command will be supported or not at a lower level.  When the disk driver receives the command, it will either act on it or ignore it.  If you know for sure that your storage devices don’t support Trim, you could go ahead and disable Trim (enable DisableDeleteNotify) so the filesystem won’t bother to send down these notifications.  However sending down the notifications is pretty lightweight and I haven’t seen any performance improvement by disabling them, so I don’t recommend disabling this setting.  If you have an SSD which does support Trim, then you definitely don’t want to disable it, because there are some performance gains to be had for leaving the setting in its default form.

  29. JamesD0109 says:

    I’m intending to install the RC on a RAID0 made of two SSDs. Will the installer be able to detect that the drives are SSDs automatically? Is there a way to find out if it has? If not, is it possible to force it to detect a drive as SSD?

    Slightly off-topic – on systems with SSDs and a lot of RAM (12gb, in my case) is there any point in having a page file above 4gb (say) if I’m not bothered about full memory dumps? SSDs generally being smaller than normal drives, I’d rather not give up a full 12gb to it!

  30. m.oreilly says:

    indeed, is there any info as to an official response? apparently the "fsutil behavior query set DisableDeleteNotify" also gives the same values under the 7000 beta release…

  31. wtroost says:

    Good read, especially the tip about putting a pagefile on the SSD.  I would’ve expected the pagefile to be bad for the SSD because it would wear out the flash faster!

  32. craigbarkhouse says:

    @m.oreilly:

    Yes, fsutil shows the same value in the Beta and the RC, because Trim is supported and enabled by default in both the Beta and the RC. 😉

    I should add that very few (if any) SSD drives in the marketplace today actually support Trim.  Most of the ones that do are next-generation prototypes.  But when they do become available, Windows 7 will take advantage.

    – Craig (NTFS team)

  33. locolorenzo says:

    I plopped a SSD into build 7100 RC and as stated it works like a charm.

    There are a lot of really great things happening with this Operating System, I have people who come to me for their computer needs testing the RC…all of them will be purchasing the Final Release.

    Thnx

  34. anonymuos says:

    All "Certified for Windows 7" logoed drives will support trim right?

  35. krish4u@hotmail.com says:

    @Craig (NTFS team):

    <quote>

    Have Trim enabled according to this setting, which you do, means that the filesystem will send Trim commands down the storage stack.  The filesystem doesn’t actually know whether this command will be supported or not at a lower level.  When the disk driver receives the command, it will either act on it or ignore it.

    </quote>

    So do the Microsoft IDE Controller disk drivers support it? If you have a 3rd party disk driver provider (i.e. non-Microsoft), then I guess you rely on them implementing the Trim() functionality?

    Thanks for your quick responses!

    -krish

  36. m.oreilly says:

    thanks for the clarification. is this the final form of trim to be implemented in win7 (barring any future rtm update/sp)? i am using vertex drives which have, at this point, a somewhat proprietary, functioning trim fw, though we are expecting an ms compatible version in about a weeks time. can i assume you are "good to go" re win7 trim, and that drive controller manufacturers will have what they need?

  37. henriqueG says:

    I’m using the Windows 7 RC and I love it. I have only a suggestion for you. To unpin some icon from the taskbar make something like drag-n-drop, to put drag the icon to the taskbar (like Win7 RC) and to unpin drag the icon to the desktop, disappearing with the icon

    😉

    Thanks…

  38. robmuld says:

    PLEASE PLEASE PUT THE CLASSIC START MENU OPTION BACK IN WIN 7!!!!

  39. me&er says:

    <<"I should add that very few (if any) SSD drives in the marketplace today actually support Trim.  Most of the ones that do are next-generation prototypes.  But when they do become available, Windows 7 will take advantage.

    – Craig (NTFS team)">>

    Thanks for your input so far Craig.. much appreciated.

    While the bigger folk sort out SSD ‘logo’ reqs etc.. any ‘issues’ with a little fella like me trying to disable Win 7(RC) native TRIM and using a brute force propriety trimming ‘tool’ which would work really well for me on a customised ‘schedule’ basis. I intend to use SATA Native IDE mode and default Microsoft ATA/ATAPI device drivers with a combined  MLC/SLC implementation.

    By ‘issues’ I refer to legal/propriety as well as technical.. my assumption being that Procmon can keep me reasonably well informed of what’s going on ‘technically’ between the OS and my SSDs.

    Regards,

  40. tom5 says:

    Hi,

    Just installed the RC and there’s one thing strange to me: sharing is enabled by default for the USERS folder (not the public folder) and from my other computer I can access everything in this folder and perform operations (read/copy/delete). It was a clean Win7 install and of course I haven’t changed the sharing policy for myself.

    I now disabled the sharing and now it is as it should be.

  41. lukechip says:

    At what level does Win 7 disable defragmentation, Superfetch, ReadyBoost etc for SSDs ?  I have an SSD as the system drive in my Win 7 RC machine, and the defrag GUI shows scheduled defrag as turned on, and in the schedule, select disks includes the SSD.  Is defrag for SSDs disabled at some lower level that the GUI does not show ?

    I manually turned off scheduled defrag, suspecting that my SSD was not be handled correctly by the Operating System.

    When I run fsutil behavior query DisableDeleteNotify, I get a 0.  Does this mean that my SSD is being correctly recognised as an SSD ?

    I do notice that on the ReadyBoot tab for an SD card I put into my machine, it says "This device cannot be used for ReadyBoost.   ReadyBoot is not enabled because the system disk is fast enough…."

    Finally, is there a way for me to determine what rotational speed my SSD is reporting to the Operating System ?  fsutil ?  wmi call ?

  42. DDRdriveLLC says:

    It is important to note, for IOPS intensive enterprise storage, there are alternatives to a "NAND only SSD".  One alternative, the DDRdrive X1, elegantly avoids all of the above mentioned limitations of Flash by using DRAM for IO reads/writes and Flash solely for backup/restore.

    1) No LBA remapping, thus no wear leveling overhead.

    2) Deterministic performance, no pauses or stuttering when dealing with writes – ever.

    3) No OS alignment issues, i.e. no performance penalty on Windows XP.

    4) Unlimited reads/writes – no fundamental wear mechanism until drive performs a backup/restore.

    5) Defragmentation can be turned on, with resulting performance increases.

    The above benefits do come with the both capacity and price tradeoffs.  Certain applications, for example databases, can be architected to easily work within these constraints.

    The drive for speed,

    Christopher George

    Founder/CTO

    DDRdrive LLC

    http://www.ddrdrive.com

  43. craigbarkhouse says:

    @krish4u:

    I’m not an expert on our storage drivers (I deal mainly at the file system level), but it appears that our ATA port driver (ataport) does implement trim support.  This means that SSD drives which present themselves as ATA drives (which I think most if not all do), can support trim provided the drive itself also supports trim.  Non-ATA devices — including USB drives and SCSI drives — don’t yet have the ability to support trim, since our other port drivers don’t implement trim.  This may change as the market evolves.  I don’t know if any 3rd-party storage drivers implement trim as of yet, but yes, they would have to implement it for it to work.

    @m.oreilly:

    As far as Win7 RTM goes, trim is in its final form.  Of course it could evolve in service packs, etc., as the market demands.  It’s a pretty new market.  Drive manufacturers know what they need to implement on their end.  Some have provided prototypes to us for testing.

    @me&er:

    I doubt there are any legal issues with you sending down trim commands yourself, but it sounds like an awful lot of work to me.  Firstly I’m skeptical that you can even get the proper information you need.  I don’t think you can infer from ProcMon output alone what clusters are in use and what aren’t.  The file system knows this; what makes you think you can do better?  If you get this wrong, you can end up corrupting the volume.  Secondly, I’m not sure what the benefit of your approach would be even if you could get it right.  By having the file system send down trim commands when appropriate, you enable the drive to immediately benefit from this information.  There’s very little overhead to these commands.  Contrast this with defragging, where if you were constantly defragging everything the cost would outweight the benefits.  I strongly suggest you don’t try to implement this yourself.

    @lukechip:

    That fsutil query just tells you whether the file system is sending down trim commands or not.  The file system doesn’t know (or much care) what kind of storage lies at the very bottom; it might even be multiple types (think volumes that span multiple disks, RAID arrays, etc.).  If trim is enabled, NTFS sends down trim commands on all volumes and lets the underlying layers sort it out.  I’m not sure how you can get the physical characteristics you want about your SSD drive.  As a start, poke around at its properties in Device Manager (devmgmt.msc).

  44. me&er says:

    <<QUOTE>> @me&er:

    I doubt there are any legal issues with you sending down trim commands yourself, but it sounds like an awful lot of work to me.  Firstly I’m skeptical that you can even get the proper information you need.  I don’t think you can infer from ProcMon output alone what clusters are in use and what aren’t.  The file system knows this; what makes you think you can do better?  If you get this wrong, you can end up corrupting the volume.  Secondly, I’m not sure what the benefit of your approach would be even if you could get it right.  By having the file system send down trim commands when appropriate, you enable the drive to immediately benefit from this information.  There’s very little overhead to these commands.  Contrast this with defragging, where if you were constantly defragging everything the cost would outweight the benefits.  I strongly suggest you don’t try to implement this yourself.

    Tuesday, May 12, 2009 3:37 PM by craigbarkhouse<<QUOTE>>

    Many thanks Craig. Appreciate your responses.

    Just to put the record straight, I’m not looking at programming an alternative to TRIM and have no wish to compromise

    I’m using a propriety TRIM tool in beta at the ‘mo from OCZ/Indilinx for their Vertex series with the Barefoot controller. If you guys haven’t got it yet.. I would give it a go. I’m not marketing it at all.. all I am interested in is confirming that it actually consolidates the free space effectively and without excessive ‘overhead/nand longevity issues’. My limited testing ability confirms it initiates fine in cmd/conhost.exe and works along the FS stack with ‘native’ Microsoft storage drivers, writing to the MFT and paging to file effectively with no file corruption identified.. the end result being a noticeable increase in random read/write speed at little or no cost to sequential read/write. Calculations for the longevity of the specific MLC drive is somewhat complex but nevertheless quite acute on the 30GB models, so I will need to compare this propriety tool ‘initiated’ usage against the FS one.

    TRIM or trimming or defragmentation/consolidation of free space is much the same for my needs.. what is important is fitting this in to how it effects the smaller capacity MLC SSD, as part of a write optimisation strategy.

    This strategy involves looking at controller/FW Wear Leveling and how it interacts with Win 7 with both SLC and MLC SSD which is why any form of TRIM and Device/OS write cacheing is right at the top of my analysis. Neatly brings me onto this question:

    If..

    <<QUOTE>>for devices that do cache writes in volatile memory, Windows 7 expects flush commands and write-ordering to be preserved to at least the same degree as traditional rotating disks…<<QUOTE>>

    Q. What’s the reasoning behind Win 7 default ‘enable’ of OS cache/buffer ‘flushing’ as opposed to the default ‘disabled’ in Vista/XP (albeit described as Advanced Performance afaik).

    Regards,

  45. tremelai says:

    I have noted that W7 is massivly faster on my SSD’s than XP.  In my research, I found that Windows XP/2003 have three major drivers. (scsiport.sys, atapi.sys and storport.sys)

    I have found that SSD’s fly under storport RAID controllers and don’t do as well under atapi.sys.

    I understand that the old scsiport.sys and atapi.sys use a form of the C-LOOK disk scheduling algorithm while storport does no software scheduling. (leaving scheduling up to the controller.)

    Q.  Since SSD’s do not have moving parts, is the lack in C-LOOK overhead accounting for the performance increase with storport?

    If so, what scheduling changes, if any, does the new ataport in windows 7 undertake when an SSD is detected?

    Regards

  46. venomz3@yahoo.com says:

    My ocz core v2 ssd isn`t detected as ssd. scheduled defragmentation is enabled to that  drive and also superfetch is enabled. So i presume the windows hasn`t detected drive correctly. Hdd is attached to jmicron jmb363 controller and is confugured as ide because ocz page said that drive should no be configured to achi mode. and only settings in jmicron are raid,ide, and ahci.no sata mode without ahci enabled

  47. mdsharpe says:

    Fascinating blog post, thanks very much! I have a question though regarding the SSD in my Acer Aspire One A110.

    It does not appear that Windows 7 (build 7100) has detected the SSD, as defrag and superfetch are all still enabled.

    Is there any way to force Windows to see a drive as an SSD?

    Thanks. Matt Sharpe

  48. livelock1000 says:

    Fascinating indeed, though I have the same problems and questions.

    I have installed Win7 RC on a Samsung PB 22 J, which is en par with Intel X25-M in most benchmarks (except #IO) and exceeds in write performance.

    Cryistal DiskBench gives me for example

    Seq Read/Write 210-220MB/s / 80-160 MB/s (Avg 140)

    512k 170MB/s / 100MB/s

    4k 15MB/s / 6MB/s

    …the 4k category is the only where x25-m seems to have better results up to 25 / 50 MB/s.

    Now here is what Win7 did:

    – Performance Indicator stuck at 5,9 (according to your explanation there must be one deficiency according to your tests)

    – Superfetch: enabled

    – EnableReadyboost: 3 = enabled

    – EnablePrefetcher: 3 = enabled

    – Defragging: Scheduled and possible

    – Alignment: no clue

    Clearly this is one of the fastest drive so I conclude Win 7 did not notice this somehow.

    1. How can what Win 7 did recognize, how do I see the tests Win 7 did and used to decide this is not a SSD?

    2. How can I force Win 7 to detect this as a SSD?

    3. How can I tell Win 7 while installing that this is a superfast SSD to enabled SSD alignment?

    Regards

  49. livelock1000 says:

    I have bonus question:

    EWF (from XPe) & MS Steadystate seem to sequentialize random writes, I read somewhere that such a device is in Win 7 already but not yet functional? Is this true, what is it? what´s the name? can it be activated?

    This sounds like a must for SSD drives.

  50. hedges says:

    This new SSDs read , expected more than than 200 MB/s? Thats quite good enough

  51. PeterSt says:

    i have 6 SSD’s in Raid 0, working fine, but have noticed degradation in performance.  As of yet havn’t seen definitive statement from MS re Win 7 modding Trim so SSD’s can be optimised whilst in Raid 0 array. (using Asus P6T deluxe mobo, Intel i7 cpu)  Have heard lots of encouraging talk, but no firm word yet.  Anyone heard any?

  52. Homeschool Curriculum says:

    Typically the disks behind a RAID controller are managed by the RAID controller and presented to the operating system as one or more units (disks) of storage space. If the RAID controller reports the rotational speed as zero for the units of storage (disks) that it presents to Windows 7 then it will treat that unit of storage as an SSD.

  53. Homeschool says:

    So i presume the windows hasn`t detected drive correctly. Hdd is attached to jmicron jmb363 controller and is confugured as ide because ocz page said that drive should no be configured to achi mode. and only settings in jmicron are raid,ide, and ahci.no sata mode without ahci enabled

  54. Online High Schools says:

    By having the file system send down trim commands when appropriate, you enable the drive to immediately benefit from this information.  There’s very little overhead to these commands.  Contrast this with defragging, where if you were constantly defragging everything the cost would outweight the benefits.  I strongly suggest you don’t try to implement this yourself.

  55. must university scam says:

    the ability to support trim, since our other port drivers don’t implement trim.  This may change as the market evolves.  I don’t know if any 3rd-party storage drivers implement trim as of yet, but yes, they would have to implement it for it to work.

  56. PeterSt says:

    this can get a bit mumbo jumboy for me, but are you saying that that if the raid controller can address this "rotational speed as zero for the units of storage (disks)" then windows will see the raid 1 array as i disk and the Trim tool in win 7 will work on a raid array?

  57. venomz3@yahoo.com says:

    So I presume that standard pci ide controller doesn`t report rotational speed to windows because ocz core v2 wasn`t detected as ssd.

    Maybe I shoud give windows 7 jmicron drivers when installing not afterwards. Microsoft shoud be more informative with these post.Example information about hdd detection

    and information about reading and writing changes in low lever.I would very interesting and I guess many people who read this blog.

    Has it have to be manufacturer drivers or manufacturer supplyed to microsoft drivers or is it ok to install with standard drivers and expect windows to detect drive as ssd ? I usally give windows drivers afterwars if windows detects drive so I can install to it.

  58. Silver0066 says:

    Using Windows 7 RC, I cloned an SSD drive back to my Raptors and removed the SSD from the system to put on another system.

    Since this system no longer has SSD drives, is it advantageous to reset DisableDeleteNotify to 1?

    Many thanks for all of the information.

  59. robinanil says:

    Hi Steven, I was wondering what kind of compression codec does NTFS use. For example on the internet i have heard of people saying the overall transfer rate decreased while using compressed files. I am sure you would have heard of the LZO Algorithm http://en.wikipedia.org/wiki/Lempel-Ziv-Oberhumer

    Have you guys implemented this on NTFS. The speed and performance gains on a pentium 133 as given here http://www.oberhumer.com/opensource/lzo/#speed

    is mind boggling.

    I have been waiting for such a solution.  Awaiting your comments

  60. webtasarım says:

    Thank you for preparing such an article is good and my long

  61. phantomd says:

    I start to test my solid state drive on Windows 7 64bit Build 7201. With Windows XP and Windows Vista i made very bad experience, after a couple of weeks, the solid state lost a lot of speed and simple internet browsing was terrible. I checked after installation in Windows 7 that Disk Defragmention is off and also Super Fetch is disables. Disk Defragmention was on Manual after Installation, i have Disbaled now. Super Fetch was active and start at the boot. I have disabled now. I use a 32GB OCZ Solid State. Is there already a tool aviable to check which ssd drives are certified ?

  62. kymk says:

    Thank you for preparing such an article is good and my long…

    http://www.parcakontorbayiniz.com

  63. condos says:

    Little bit confused about NTFS code compere but no doubt you written best article

  64. condos says:

    yes but sure wanted to know more about if you specify about NTFS it would great help by yours.

  65. diploma-2009 says:

    Thanks for the article. Even though I’m not the greatest fan of Microsoft products, I’m pleased to know that Windows 7 supports SDD. As far as I know, the technology is quite new, quite expensive and I don’t know any real people who are using SDD. However, I think that it is really promising and I’m waiting for the moment when I can try it myself.

  66. ilyas_yuregir says:

    Ankara hosting, ucuza hosting, ilyas, ilyas yüregir, ankara web tasarımı

  67. cash gifting says:

    yeah its quote helpful with the ssd support im very supportive of that

  68. web-tasarım says:

    I congratulate the family of 7 products microsoft windows vista windows than to high-performing and visually richer … Congratulations windows7.

  69. web.tasarım says:

    Thanks for the very informative and enlightening documents. Thanks to myself every day for more of you.

  70. Fastlane says:

    Can we now expect to use trim in Raid 0 with the latest 2X256gb SSD that allow trim with Windows 7

  71. David Cuccia says:

    @Fastlane: As far as I know, there are no current hardware RAID controllers that expose TRIM to the Win7 OS. (And I’m guessing no S/W RAID, either, but that’s speculation.)

  72. BobHaas says:

    So I’ve read this entire thread, but I still don’t understand if I am building and entire new system with a SSD for my boot drive and a traditional hard drive for the rest of the system, what needs to be done at Windows 7 installation time.  

    Can I just install Windows 7 on the SSD direct from the Windows install CD?

  73. Roy Weidner says:

    I have 2 X25-M SSD’s in RAID 0 on new install of WIN 7 Home Prem.  Find Suprefetch is running so tried "fsutil behavior query DisableDeleteNotify" in RUN but DOS window flashes and disappears so quickly I cant see result. How can I get to see if the result is 1 or 0?  Also I accidently pasted "fsutil behavior query|set DisableDeleteNotify" in the RUN command. Have I now turned off the Trim command?

  74. Roy Weidner says:

    I have 2 X25-M SSD’s in RAID 0 on new install of WIN 7 Home Prem.  Find Suprefetch is running so tried "fsutil behavior query DisableDeleteNotify" in RUN but DOS window flashes and disappears so quickly I cant see result. How can I get to see if the result is 1 or 0?  Also I accidently pasted "fsutil behavior query|set DisableDeleteNotify" in the RUN command. Have I now turned off the Trim command?

  75. Alex Griffin says:

    TRIM currently does not work in RAID.

  76. Chris says:

    @I have 2 X25-M SSD’s in RAID 0 on new install of WIN 7 Home Prem.  Find Suprefetch is running so tried "fsutil behavior query DisableDeleteNotify" in RUN but DOS window flashes and disappears so quickly I cant see result. How can I get to see if the result is 1 or 0?  Also I accidently pasted "fsutil behavior query|set DisableDeleteNotify" in the RUN command. Have I now turned off the Trim command?

    Instead of doing Start->Run and then entering the text, use Start->Run and type cmd

    This will put you in a dos shell, from which you can run the desired text and see the results directly.

  77. Roy Weidner says:

    Thanks for the help with getting into the DOS shell.  Now when I try to run fsutil it says I must have administrative privileges to run this program.  I have administrative privileges in Win 7? I double checked. Do I need to somehow set them in DOS?

    By the way I found the registery key and checked it in regedit and it is zero so I assume trim is not turned off but Superfetch is still on? I turned off defrag by disabeling the service so it had not been turned off.  

    Isn’t there a better way of telling if Win 7 knows I have SSDs.  Possibly it can’t detect them since they are in RAID 0

    Roy

  78. some of the stuff is way over my head but i’m starting to get it down!

  79. Earthy Warrior says:

    There are two classes of users. First, performance junkies use SSD’s as a huge RAM drive. SSD’s have much higher speed than traditional hard drives. Second is portable usage. they use far less power, are lighter, and are vibration and impact resistant. They last much longer in mobile laptops than do traditional hard drives.

  80. Good stuff! thanks for sharing

  81. kevin says:

    Thanks for the nice detail of information here regarding Windows 7.

    One question,  How much of the information is also applicable to XP?  For instance, I’ve seen several sites with suggested ways for tuning XP for use with SSD, (in particular the article on the OCZ forums).  How much of this is good advice (like turning off the page file for example, is it the same for XP as it is 7?).

  82. Michael says:

    kevin,

    I have never had any problems running any systems without a paging file.

    (I have more RAM now (4 gig) than the capacity of some of my old hard drives!)

    Paging used to slow down the response of my old systems, so I got more RAM than I needed, and selected:

    "No paging file" under the advanced system parameters.

    (I would only need 2 gig now to use Windows 7, but I hope to do some gaming soon, so I got 4, and 2 OCZ VERTEX-LE 100GB SSD’s.)

    As long as you have enough RAM for YOUR needs, you shouldn’t have any problems. You can check your system monitor for your RAM usage. If things get tight, or you get an "Out of memory" error message, temporarily close unneeded applications, and/or re-enable a paging file as necessary (requires a system restart) until you install more RAM, if you so choose.

    There is a link somewhere in the OCZ forums to download a free utility from a very kind programmer to assist in suggesting/making the recommended adjustments to XP and newer versions of Windows automatically. It includes logic to allow undoing any changes. I tried it, and it seems to work OK.

    I am concerned that TRIM may not work in a RAID-0 array. (yet?)

    Therefore, I am wondering if long term RAID-0 performance will suffer to the point where it would be nearly the same as a single SSD (vs. a pair) where TRIM is working effectively. If so, there is little point in the expense of getting a second SSD for RAID-0, unless one intends to use that method to double capacity.

    (If I were "mirroring" SSD’s, I would also be concerned.)

    Microsoft may not be able to help, if in fact new RAID controllers are required, unless they decide to make some that plug into a pci-express slot… hint, hint.

    Happy Computing.

    Michael

  83. Alright, I can’t wait to get my own solid state drive.

  84. Rent a car says:

    Good stuff! thanks for sharing

  85. aristide says:

    When does Win 7 disable defragmentation for SSDs ?  I have an SSD as the system drive in my Win 7 ACER 8930 laptop, and the defrag GUI shows scheduled defrag as turned on, and in the schedule, select disks includes the SSD (named KINGSTON SNVP325-S2).  Is defrag for SSDs disabled at some lower level that the GUI does not show ?

    I manually turned off scheduled defrag, suspecting that my SSD was not be handled correctly by the Operating System.

  86. paulgj says:

    I guess I’m still confused at the level of Win 7 TRIM support. Is it true that if you are not running your BIOS in AHCI mode (i.e. in IDE or "Compatibility" mode) that the TRIM command is not passed to the SSD by the storage driver?

    From what I have read only the msahci driver passed the TRIM command and this driver is only loaded when your SATA controller is running in AHCI mode.

    The reason I ask is that I have a netbook that doesn’t allow the option to run in AHCI mode but would still love to use a SSD with auto TRIM.

    Thanks for any clarification!

  87. JoeBaermann says:

    @Michael

    I didn’t run with a pagefile for over a year now (got 8GB RAM), and never faced any problems caused by it.

    Maximum amount used in the highest loading app I got is 6GB, which leaves me plenty of headroom.

    On a site note, all the stuff that Windows 7 disables when it sees a SSD I had disabled for regular disks too, giving me much better overall response and speed on my system.

    So I guess a lot of these functions are for pretty low geared PC’s.. like my laptop

    @paulgj

    AHCI and Trim works fine together.

    Where did you read the opposite?

  88. paulgj says:

    @JoeBaermann I indicated that I couldn’t run AHCI (not an option in the BIOS), only compatibility mode which I don’t think has Trim in the driver.

    Thx

  89. Tasarim says:

    Really nice. Thanks! 🙂

  90. Anksiyete says:

    I love the Q&A. Thanks!! 🙂 Depresyon Panik atak

  91. I have an SSD as the system drive in my Win 7 ACER 8930 laptop, and the defrag GUI shows scheduled defrag as turned on, and in the schedule, select disks includes the SSD (named KINGSTON SNVP325-S2).  

  92. Thanks for the article. Even though I’m not the greatest fan of Microsoft products, I’m pleased to know that Windows 7 supports SDD. As far as I know, the technology is quite new, quite expensive and I don’t know any real people who are using SDD. However, I think that it is really promising and I’m waiting for the moment when I can try it myself.

  93. I have never had any problems running any systems without a paging file.

    (I have more RAM now (4 gig) than the capacity of some of my old hard drives!)

  94. kabin Memuru says:

    I have never had any problems running any systems without a paging file.

    (I have more RAM now (4 gig) than the capacity of some of my old hard drives!)

  95. Dizi İzle says:

    I have never had any problems running any systems without a paging file.

  96. Thomas Falci says:

    When I uninstall a program The SSD does not show the free space. So as I delete program, I do not gain free space. NoW my hard drive is almost full but there are fewer programs instated.

  97. Peter says:

    Got an Intel SSD, love it.

    When I went to Win 7, (to 64 bit, so full install), defrag was still turned on. Does this mean it didn’t recognise it as an SSD? How can I check?

    Thanks

    Peter

  98. So i presume the windows hasn`t detected drive correctly. Hdd is attached to jmicron jmb363 controller and is confugured as ide because ocz page said that drive should no be configured to achi mode. and only settings in jmicron are raid,ide, and ahci.no sata mode without ahci enabled

  99. Peter says:

    Sorry, I didn’t make myself clear.

    Drive in, Win7 installed, operating perfectly. It’s just that defrag was still turned on (I’ve since manually turned it off). I thought Win7 should have detected it as an SSD, and turned off defrag itself. Does this mean that Win7 doesn’t ‘know’ that it’s an SSD? (Device Manager correctly reports the type of the drive as ‘INTEL SSD… ATA Device)

  100. rent a car says:

    Have I now turned off the Trim command?

  101. Döviz says:

    Thank man

  102. Döviz says:

    Thank man

    Hdd is attached to jmicron jmb363 controller and is confugured as ide because ocz page said that drive should no be configured to achi mode. and only settings in jmicron are raid,ide, and ahci.no sata mode without ahci enabled

  103. Oyun Forum says:

    Thanks for the nice detail of information here regarding Windows 7.

    One question,  How much of the information is also applicable to XP?  For instance, I’ve seen several sites with suggested ways for tuning XP for use with SSD, (in particular the article on the OCZ forums).  How much of this is good advice (like turning off the page file for example, is it the same for XP as it is 7?).

  104. izdelava spletnih strani says:

    Your talking about Windows 7, SSD disks and stuff, but can you imagine that today, i was selling hardware in a store when a customers enters. And after a brief talk about hardware and stuff, she asks if she could run Windows 98 on the machine??

  105. Jim says:

    Your article covers RAID and SSD and states that: "The reliability and performance benefits one can obtain via HDD RAID configurations can be had with SSD RAID configurations."

    Elsewhere I’ve read that TRIM is not supported in RAID configuration!?!

    Please comment on veracity of my information!

  106. sms1976 says:

    I also have Windows 7 Professional installed from scratch on a 80GB Intel X-25M G2 SSD.  I found that Defrag was turned on after installation, but that "fsutil behavior query DisableDeleteNotify" gave the result of ‘0’ indicating that TRIM is enabled.  However, that shows the same result–‘0’–on a regular hdd.

    Since then I have installed the latest Intel Firmware (02HD) and run the Intel Toolbox utility, but still can’t tell if Windows knows this is an SSD.

    How can I tell for sure that Windows is recognizing the SSD correctly?

  107. Amir H. Elsabeh says:

    Question : in windows phone 7 , would it include Office windows which contain edit (excel , ….., pdf-view), or is it only view all applications of office tasks without edit. thanks

    E-mail : amirhsabeh@naharnet.com

  108. tinsnow says:

    wow. what an article. now i am happy and do not worry about my SSD. i was worried and wanted to disable prefetch, superfetch and page file in my machine.

    Thanks a lot.

  109. Medicina says:

    "No, hiberfile.sys is written to and read from sequentially and in large chunks, and thus can be placed on either HDDs or SSDs."

    Do you mean that hiberfil.sys can be moved from SSD with installed Windows 7 to secondary HD drive?

  110. Matt says:

    I'm confused. How exactly can you say that RAID is supported? From what I can tell no controllers support TRIM in a RAID configuration. You get the speed in a RAID 0 configuration but clearly you are bargaining with the devil as there is no mechanism for trimming the drives like a single drive (Intel SSD toolbox). Will MS provide a way to do this that I am unaware of?

    -M

  111. how do i find out SSD drive type using WMI? says:

    how do i find out if the disk drive is of type SSD using WMI. I check for mediatype, it reports fixed media for SSD and SCSI drives, i executed win32_volume defrag method, it returned SUCCESS for SSD, i am using windows 2008 R2.

  112. trekrem says:

    People, this isn't a support forum! Why are SO many people asking for support/help? PEOPLE THIS IS NOT A SUPPORT FORUM!!!

  113. WTW says:

    Thanks for the info. Do you have any advice about configuration of Environment Variables for optimizing SSD usage, or having multiple partitions on SSDs?  

    FYI,on XP and Server 2008 I split out the OS from applications (install all Apps to an E: drive), give the paging file its own partition (no fragmentation), and then store data (downloads, docs, databases, and Documents and Settings) on a fourth partition. So what would you suggest for a mixed SSD – HDD environment, with a sizeable (256GB+) SSD and one or more relatively fast (7200 or 10K RPM) HDDs?  From the above, I assume that the paging file should go onto the same partition as the OS %System Root% on the SSD, that things like docs and .pst files should go on the HDD.  But what environment variable settings do you recommend for a new Windows 7 install, to minimize "wear" and improve performance?

    E.g., what about things like temp files, Isolated Storage, Temporary Internet Files, Application Data, and Documents and Settings folders in general?

    Would you split out Program Files between the two storage types?  Can you still break an SSD into multiple partitions, and does that make any sense any more?  

    Thanks,

    — Thomas

  114. WTW says:

    One more question: does Windows 7 "play nice" in a VM instance on a box with a physical SSD?  How does the OS detect and handle SSD vs HDD from within a VM?

    Thanks again,

    — Thomas

  115. MUHA says:

    Does this information still apply to current SSD technology or are there any changes?

  116. Ted Stewart says:

    I would be very careful about your statement that RAIDing SSDs is a good idea.  There is currently no RAID controller out that that still processes TRIM requests to the drives properly, so the benefits of TRIM are lost when operating a RAID.

  117. hubax says:

    very good stuff but missing information.. like is NTFS the file system for SSD under Windows 7 or..?

  118. Will_ says:

    I wonder about this:

    http://www.win2008workstation.com/…/viewtopic.php

    And why there is so much disk write activity on idle Windows 7 systems as well? Surely there must be a way to disable or curtail it?

  119. Big Len says:

    Great topic

    I have a question regarding my Macbook Air with solid state drive purchased in August 2010. What is the difference between that Macbook Air & the new version Macbook Air with flash drive?

  120. sven says:

    Great article, well written. Thanks

  121. FlakeB says:

    Windows 7 x64 Ultimate doesn't disable defrag, superfetch etc. during install. i have to make it manually. is that an issue of my ssd? (crucial c300 128gb)

  122. Vince Heiker says:

    There does not exist any tool – I've looked far and wide and at length – which can determine whether or not TRIM is managing an SSD.

    Just because a drive is an SSD, and just because it may be identified correctly (or not) to Windows 7 as an SSD, does not mean that TRIM is actively managing that drive.

    All of us SSD users need a tool to confirm or deny which SSDs are being managed by TRIM. Do you know of any such tool?  Thank you.

  123. Vertex3 says:

    If we assume that your Windows 7 is installed to SSD drive, it is possible to check if the TRIM is enabled or not:

    In the Elevated command Prompt windows, type the following:

    fsutil behavior query disabledeletenotify

    Results explained below:

    DisableDeleteNotify = 1 (Windows TRIM commands are disabled)

    DisableDeleteNotify = 0 (Windows TRIM commands are enabled)

    Thaks to Ram Guy in The Corsair Support Forums

  124. Jaybird says:

    This utility will tell you what features are enabled/available for your SSD:

    crystalmark.info/…/index-e.html

  125. I have been using an OCZ Vertex2 SSD for some time now and the performance with bitlocker is downright horrible:

    Unencrypted: 77MB/s sequential write

    Newly encrypted: 38MB/s sequential write (not great, but still ok)

    After a few weeks: 6MB/s sequential write

    Same benchmark, same software, just a few weeks later.

    When I decrypt the drive entirely and reencrypt it afterwards, it is back to fast. Performance starts to degrade afterwards until it reaches 6MB/s.

    There must still be a bug in bitlocker 🙁

    I don't call this "optimized for usage with SSD".

  126. G. says:

    Does permanent and non tracable deletion really exist for SATA drives ?

    Does the Gutman 35 really do it's work, and does this method asure non tracebility ? such as undelete and forensic retracebility ?, who is a wizkid in this section of W7 ?

    I am not the wizkid, and need a little hel, maybe reference to software that does do the job

    Thanks for helping

  127. jose says:

     Hi, Is there any FM RADIO TUNER free software available for win 7, 64 bit HP Pavilion dv6 laptop ?

  128. Chrispy says:

    Excellent article, many thanks for taking the time to put it together

  129. Bruno says:

    Dear Mr. Sinofsky,

    Please provide better support for SSDs in coordination with Intel's Rapid Storage Technology.  I am using an SSD as a system disk and 2 HDDs in RAID 1 for data.  All three drives have to be controlled by Intel's RST which recognizes the SSD as such but Windows 7 sees it as a "standard disk drive".  Consequently Windows 7 fails to provide SSD optimization automatically.

    Thank you.

    Configuration:

    OS: Microsoft Windows 7 Professional 64 v. 6.1.7601 SP1

    System board: Intel DZ68DB, integral graphics

    CPU:  i5-2500K Mod. 42 Stepping 7 3.301GHz

    BIOS:  Intel 0032

    RAID Option ROM version:  10.6.0.1091

    Intel RST: 10.8.0.1003

    System Disk:  

    Port 0 (6 GB/s): Crucial M4-CT128M4SSD2 firmware 0309

    User Files:

    RAID 1, volume 0000, write back cache enabled

    (ports 1 &2, 2 x Seagate ST3500320AS firmware: SD15)

  130. Harry says:

    Nicely documented and faily detailed article. Thx.

  131. Matt Seitz says:

    Should the "Boot Optimization" feature be enabled for SSD?

    I recently received a new laptop with Windows 7 and an SSD drive as drive "C:".  When I check the Windows Event Log, I see messages like the following:

    Log Name:      Application

    Source:        Microsoft-Windows-Defrag

    Date:          5/27/2012 1:24:54 PM

    Event ID:      258

    Task Category: None

    Level:         Information

    Keywords:      Classic

    Description:

    The disk defragmenter successfully completed boot optimization on System (C:)

  132. dude says:

    my win 7 does not care it wants to defrag my SSD until it is dead

  133. Richard says:

    Defrag (dfrgui.exe) won't even run on my system after replacing my boot disk with a SSD drive.  It closes itself immediately after loading.

    I wish Microsoft had the HDD tools to better manage this migration.  Countless hours were lost trying to do this the free way.  After a number of failed robocopy copies with all the relevant switches along with diskpart, bootrec, and bootsec commands, I finally got success with AOMEI Partition Assistant.

    Trackback on generalnetworkerror.com/…/2017644.

  134. Arne says:

    Can see vertex 4 in bios but unable to get a drive letter for it or see it with explorer in Win 7

  135. kontorcu says:

    Teşekkürler verdiğiniz bilgi için http://www.kontorcu.com

  136. ucuztl says:

    teşekkürler         http://www.ucuztl.com

  137. 890zx says:

    A common scenario in my job, owner of a music recording studio, is to have to deal with portable USB3 & external SATA disks, used as devices for to record/playback multiple simultaneous streams of audio and video, not necessary in a sequential writing process.

    This usage creates a severe fragmentation in the disks that require dayly defragmentation, that of course take a lot of time.

    I found that the SSD perform quite better than the rotation HDs when they are new, but after several days of intensive use the write performance suffer a consistent degradation, giving a worst performance than standard HDs.

    Initially the exFat file system work better speedier than NTFS, but it has the problem that, once the directories are written fragmented, they can´t be defragged and the specific defragmentation tools (like Raxco Perfect Disk, Defragler or UltraDefrag), depending of erratic circumstances, allow or not to access the disks for defragmenting.

    ¿Why it is not a tool for to defragment directories in exFat file system disks and why applying defragmentation to this results in more and worst performance?

  138. Chris32 says:

    This was nice to read but I cannot get my new Samsung SSD 840 PRO to ADD to the W7-system. It does not come up as a new disk on the disk menu. I am running W7 64 Home Premium. The software Samsung Magican can make performance test on the HDD´s  but the Samsung SSD it describes as "Unallocated". The Samsung Data Migration program tries to make a Data Migration from Harddisk to the SSD but it writes that the Samsung SSD is missing.

    In addition I reinstalled the W7 after physically having mounted the SSD in the system with the hope that W7 should include the SSD in the menu. But NO it did not.

    I now don´t know  what to do further.

    Can someone help me?

  139. 765helper says:

    Look here http://www.externe-ssd-festplatte.de there you can find some helpfull updates.

  140. parca kontor says:

    That tutorial did not help me. I can't move the mouse over to the other monitor

    http://www.topttankontor.net

  141. toptan kontor says:

    wow. what an article. now i am happy and do not worry about my SSD. i was worried and wanted to disable prefetch, superfetch and page file in my machine.

    Thanks a lot.

    http://www.toptankontor.net

  142. Jack says:

    This article is like help files. I am more frustrated than before because it doesn't tell me how check if any of this stuff is working. How about some of those little blue words that take me to a related place that tells me how to do this stuff.

  143. jasonlee says:

    SSD performance is superb. Running it with several servers ( http://www.spectra.com/  ) will give you definitely the real deal. I have shift to SSD and it has blown me away.

  144. Anonymous says:

    All this article is just too well explained and usefull, but a question has risen for me.

    In an old article from Microsoft, their engineers had suggested that pagefile would be best to be set on any other HDD or multiple ones and avoid the system one. After reading this today, i suppose that, that article was made exclusively for HDDs, so i ask now, would it be better to cancel all HDDs pagefiles and use it on my SSD only?

  145. philippeko says:

    I assume this article is still valid for Windows 10. Thanks for insights about questions like Should I move my pagefile.sys from my SSD to another HD ?