Welcome to Dirteam.com/ActiveDir.org Blogs Sign in | Join | Help

The things that are better left unspoken

a blog by Sander Berkouwer

Related

AD Manager Plus
 

Blog roll

News



Archives

Windows 7 and SSDs, Part 2 (Tweaking the box)

ssd-tweaking-tip As described in Part 1 of this series, Windows 7 has built-in optimizations for Solid State Disks (SSDs). To this purpose, Windows 7 will check random reads speeds of your disks, to determine whether the system is equipped with such a disk.

These optimizations include disabling defragmentation on the SSD, and, when the disk is the system disk, disabling SuperFetch and ReadyBoost. On SSDs that support the functionality TRIM is enabled. The optimizations serve to improve the performance of your system without negatively impacting the lifetime of the disk. More information can be found here.

Sometimes, after you inserted a disk that Windows characterizes as a fast disk, (some of) these optimizations are not applied.

Before you begin

Please make sure you have applied the latest firmware for the Solid State Disk (SSD) device and the latest version of the driver for the IDE controller. Also, make sure you have a valid backup of important data on your system, before applying these tweaks.

  

Tweaking Windows 7 for SSDs

To manually tweak your system change the following settings:

Disabling defragmentation on the SSD device

defrag-bigBy default, Windows 7 will disable the default defragmentation schedule for a SSD. This, however, does not mean the ‘Disk Defragmenter’ service (defragsvc) gets disabled. When the system is also equipped with non-SSD disks, the defragmentation schedule still applies to these disks.

When you open the Defragmentation program from the Start menu, located in the accessories, system folder) the Operating System will have disabled the schedule for the partitions located on Solid State Disks. When it is not excluded in the list, exclude it manually by editing the schedule, select disks, and then deselect the partitions on SSDs.

Disabling Superfetch and ReadyBoost

10readyboost01 When the Solid State Disk is in use as the system disk, SuperFetch may be disabled. Since SSDs are multiple times faster than HDDs for these random reads SuperFetch only hogs up memory without a big reason.

To disable SuperFetch stop the SuperFetch (sysmain) service from the Services MMC Snap-in (services.msc). When it is is stopped, disable the service in the properties of the service.

In systems with traditional HDDs, USB media may offer faster random read access, but in a system with the pagefile on a SSD, the maximum USB throughput limit (480Mb/s) is reached earlier than the throughput of the IDE controller (133MB/s), rendering the ReadyBoost functionality useless in contrast with the pagefile on the SSD.

You do not need to perform any additional actions to disable ReadyBoost. Since it uses the same service as SuperFetch.

Disabling Prefetching

ramdisk-icon Prefetch places often-used pieces of executables into RAM and is one of the new tricks in Windows 7 to make it (seem to go) faster. Disabling this feature frees up system RAM and allows the SSD to run like it was meant to.

To disable Prefetch open the Registry Editor (Regedit.exe). Once you are in the register follow this path:

HKEY_LOCAL_MACHINE\
     SYSTEM\
          CurrentControlSet\
               Control\
                    Session Manager\
                         Memory Management\
                             
PrefetchParameters

The registry value to chance here is named EnablePrefetcher. Change its value to 0. You must restart your system for the changes to take effect.

Enabling TRIM

hard-drive-windows When your SSD device supports TRIM, you can enable the TRIM support in Windows 7.
First off, we need to find whether TRIM is already turned on, meaning Windows 7 is already sending TRIM commands to the disk. To find out, type the following command:

fsutil behavior query DisableDeleteNotify

When the result is 0, Windows is actively sending TRIM commands to the disk. When it’s return value is 1, it isn’t and it’s best to enable it.

To enable TRIM support in Windows 7, type the following command:

fsutil behavior set DisableDeleteNotify 0

    

Further reading

Support and Q&A for Solid-State Drives 
Super User: How do I know if my SSD Drive supports TRIM? 
Microsoft Windows 7 SSD Performance Comparison   
TRIM performance In Windows 7, Enabling, Tips & Tricks, Supported SSDs 
Windows 7 optimized for SSD – solid state drives 
Intel releases SSD firmware and SSD Toolbox (Trim) for Windows 7 
Windows 7 Disk Defragmenter User Interface Overview 
Windows, TRIM and other SSD Mysteries

Posted: Thursday, September 30, 2010 11:55 PM by Sander Berkouwer

Comments

The things that are better left unspoken said:

Solid State Disks (SSDs) offer great performance enhancements, especially when you follow the guidelines

# April 17, 2011 10:17 AM

DevAdmin » Blog Archive » Configurazione del sistema su un disco SSD said:

Nel post Considerazioni sull’utilizzo degli SSD avevo indicato come a partire da Windows 7/Windows Server 2008 R2 sono state introdotte una serie funzionalità pensate specificatamente per ottimizzare il sistema quando è installato su un SSD.

Come avevo riportato nel post Support and Q&A for Solid-State Drives viene indicato che sono state state apportate le seguenti ottimizzazioni:

  • Supporto al TRIM
  • Disabilitazione della deframmentazione sui drive sistema SSD
  • Disabilitazione di Superfetch, ReadyBoost, ReadyDrive, boot prefetching e application launch prefetching sui drive sistema SSD
  • Creazione delle partizioni in modo da essere allineate con l’SSD per avere le performance migliori (a riguardo si veda Disk Alignment on Windows 7 for normal disks and SSDs)

In generale come spiegato nel post se durante l’installazione il sistema rileva un disco SSD configura quanto riportato in ogni è possibile verificare che le varie ottimizzazioni siano state eseguite.

Verifica attivazione TRIM

E’ possibile verificare che la funzionalità TRIM sia attivata tramite il comando:

fsutil behavior query DisableDeleteNotify

che deve deve restituire 0 per indicare che il TRIM è attivato i caso contrario può essere attivato con  il comando:

fsutil behavior set DisableDeleteNotify 0

Di seguito quanto W7 esegue per default come riportato in Support and Q&A for Solid-State Drives:

“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.”

“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.”

Disabilitazione deframmentazione

Per disabilitare la deframmentazione schedulata è possibile procedere come segue:

  1. Eseguire il comando dfrgui
  2. Selezionare Configura pianificazione
  3. Deselezionare Esegui in base a una pianificazione (scelta consigliata)

Di seguito quanto W7 esegue per default come riportato in Support and Q&A for Solid-State Drives:

“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.”

Disabilitazione Superfetch

Per disabilitare la funzionalità di Superfetch è possibile impostare a 0 il valore EnableSuperfetch nella chiave HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters quindi riavviare il computer, di seguito i valori possibili:

  • 0 = Disabled
  • 1 = Application launch prefetching enabled
  • 2 = Boot prefetching enabled
  • 3 = Application launch and boot enabled (valore default)

Per informazioni si veda EnableSuperfetch (Windows Embedded Standard 7 Service Pack 1).

In alternativa è possibile disabilitare il servizio Ottimizzazione Avvio (SysMain):

  1. Arrestare il servizio Ottimizzazione avvio (SysMain)
  2. Disabilitare il servizio (per default è impostato Automatico)

Di seguito quanto W7 esegue per default come riportato in Support and Q&A for Solid-State Drives:

“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.”

Disabilitazione ReadyBoost

Il ReadBoost è una funzionalità con cui il sistema utilizza media USB per il pagefile, utile se si ha poca Ram inoltre l’SSD ora è più veloce dei media USB.

Il ReadyBoost in Windows 7 è gestito tramite il servizio Ottimizzazione avvio (SysMain), disabilitando tale servizio si disabilita la funzionalità.

Disabilitazione Prefetching

Il Prefetching è una funzionalità con cui il sistema mette in RAM parti di eseguibili per velocizzarne l’avvio, con gli SSD non è più necessario e si libera RAM)

Per disabilitare la funzionalità di  è possibile impostare a 0 il valore EnablePrefetcher nella chiave HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\
Memory Management\PrefetchParameters quindi riavviare il computer, di seguito i valori possibili:

  • 0 = Disabled
  • 1 = Application start prefetching enabled
  • 2 = Boot prefetching enabled
  • 3 = Application start and boot enabled (valore di default)

Per informazioni si veda Disable Prefetch (Windows Embedded Standard 7 Service Pack 1).

Conclusioni

In generale Windows 7/Windows Server 2008 R2 e successivi dovrebbero già essere configurati correttamente per essere eseguiti su disco SSD, ma tranquillità è possibile eseguire le seguenti operazioni:

  • Verificare che la funzionalità TRIM sia utilizzata
  • Disabilitare il servizio Ottimizzazione avvio (SysMain)

Dal momento che utilizzare un disco SSD implica configurazioni diverse è sconsigliabile eseguire la clonazione di un sistema installato su HD non SSD.

Per ulteriori informazioni si vedano anche:

[Update 01]

Si vedano anche la KB 2727880 Windows 7 & SSD: defragmentation, SuperFetch, prefetch e le seguenti KB (purtroppo al momento disponibili solo in tedesco):

  • 2727881 Windows 7 & SSD: disable hibernation
  • 2727882 Windows 7 & SSD: Disable System Restore
  • 2727883 Windows 7 & SSD: moving the paging file
# January 17, 2014 12:12 AM
Anonymous comments are disabled