How to Optimize Windows for SSD: Settings You Should Check

5 min read

Maximize SSD lifespan and performance in Windows: verify TRIM is active, disable defragmentation, check AHCI mode, and adjust power settings for solid-state drives.

Windows 10 and 11 detect SSDs and apply most optimizations automatically — but a few settings are worth verifying, especially after a clean install or drive replacement.


Verify TRIM is Enabled

TRIM tells Windows to erase data blocks when files are deleted — preventing performance degradation over time.

# Check TRIM status — should return 0
fsutil behavior query DisableDeleteNotify

# 0 = TRIM enabled (correct)
# 1 = TRIM disabled

If TRIM is disabled:

fsutil behavior set DisableDeleteNotify 0

Verify AHCI Mode (Not IDE)

AHCI enables native command queuing and other SSD features. IDE mode significantly limits SSD performance.

# Check current controller mode
Get-WmiObject Win32_IDEController | Select-Object Name

Or: Win + Rmsinfo32ComponentsStorageDisks — look for "AHCI" in the description.

If in IDE mode: change in BIOS → SATA ModeAHCI (requires reinstall or registry tweak to avoid BSOD).


Disable Defragmentation for SSD

Windows disables traditional defragmentation for SSDs automatically — but runs "optimization" instead. Verify it's configured correctly:

Win + SDefragment and Optimize Drives → select your SSD → check it says Solid state drive and the scheduled optimization is Weekly (not more frequent).

# Check optimization schedule
Get-ScheduledTask -TaskPath "\Microsoft\Windows\Defrag\" |
  Select-Object TaskName, State

Weekly retrim is fine. If it's set to daily, reduce it.


Disable Superfetch (SysMain) on Low-RAM Systems

Superfetch preloads frequently used data into RAM. On systems with 8+ GB RAM and NVMe SSD, it's unnecessary. On 4 GB RAM it may help.

# Check current state
Get-Service SysMain | Select-Object Status, StartType

# Disable (optional — monitor if system feels slower)
Stop-Service SysMain
Set-Service SysMain -StartupType Disabled

Disable Prefetch for SSDs

# Check current prefetch setting
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" -Name EnablePrefetcher

# For SSD: set to 0 (disabled) or 1 (application prefetch only)
# 0 = disabled, 1 = app only, 2 = boot only, 3 = all (HDD default)
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" `
  -Name EnablePrefetcher -Value 1 -Type DWord

Power Settings for SSD

Aggressive power saving can cause SSD latency spikes:

# Prevent Windows from powering down the SSD
powercfg /setacvalueindex SCHEME_CURRENT 0012ee47-9041-4b5d-9b77-535fba8b1442 0b2d69d7-a2a1-449c-9680-f91c70521c60 0
powercfg /setactive SCHEME_CURRENT

Or: Power Options → Advanced settings → Hard diskTurn off hard disk after0 (Never) when plugged in.


Enable Write Caching

Write caching buffers writes in RAM before committing to disk — improves performance but risks data loss on power failure.

Device Manager → Disk drives → right-click SSD → PropertiesPolicies tab:

  • Enable write caching on the device — check this
  • Turn off Windows write-cache buffer flushing — only check if you have UPS (uninterruptible power supply)

Check SSD Health and Remaining Lifespan

# Basic SMART status
Get-PhysicalDisk | Select-Object FriendlyName, MediaType, HealthStatus, OperationalStatus

For detailed wear indicators: use CrystalDiskInfo (free) — shows:

  • Wear Leveling Count — remaining lifespan percentage
  • Total Bytes Written — compare to manufacturer's TBW rating
  • Power On Hours — total usage time

NVMe-Specific: Check Power State Settings

NVMe drives can enter low-power states that cause latency spikes:

Device Manager → Disk drives → right-click NVMe drive → PropertiesPower Management → uncheck Allow the computer to turn off this device to save power


What NOT to Do with SSDs

  • Don't disable the pagefile — Windows needs it even with lots of RAM; SSDs handle pagefile writes fine
  • Don't manually run Trim — Windows handles it automatically
  • Don't fill the drive above 90% — SSDs need free space for wear leveling; keep 10-20% free
  • Don't defragment — it's pointless and adds unnecessary writes

Summary

Check TRIM is enabled (fsutil behavior query DisableDeleteNotify returns 0). Verify AHCI mode in BIOS. Confirm defrag is set to weekly optimization, not daily. Disable SysMain if you have 8+ GB RAM and NVMe. Keep 10-20% free space. Check SSD health quarterly with CrystalDiskInfo.

Related articles

← All articles