How to Optimize Windows for SSD: Settings You Should Check
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 + R → msinfo32 → Components → Storage → Disks — look for "AHCI" in the description.
If in IDE mode: change in BIOS → SATA Mode → AHCI (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 + S → Defragment 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 disk → Turn off hard disk after → 0 (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 → Properties → Policies 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 → Properties → Power 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.