M.2 SSD and TRIM on windows


Recommended Posts

Does anyone know if windows supports TRIM on M.2 SSD's?

 

I know this sounds like a common sense question BUT I've been reading that windows does not support TRIM natively on PCI express bus SSD's and the M.2 is a PCI express bus SSD technically and it only supports it on SATA interfaces natively.

Link to comment
Share on other sites

It's working for me. You can use this nifty little tool to verify: https://github.com/CyberShadow/trimcheck

 

http://blog.thecybershadow.net/2012/12/09/ssd-trim-check-tool/

Link to comment
Share on other sites

M.2 SSDs appear use a SATA controller to function so it should work just fine... Unless using Windows 7.

not all them do though, the ones that use a SATA controller are slower then native pci express SSD's you can get some insane speeds on native PCI express SSD's

Link to comment
Share on other sites

It's working for me. You can use this nifty little tool to verify: https://github.com/CyberShadow/trimcheck

 

http://blog.thecybershadow.net/2012/12/09/ssd-trim-check-tool/

See I just ran it on a native M.2 pcie card and got this....

 

TRIM check v0.7 - Written by Vladimir Panteleev

https://github.com/CyberShadow/trimcheck

Loading continuation data from C:\Users\Default.Z99\Desktop\trimcheck-cont.json.

..

  Drive path   :  \\.\C:

  Offset       :  15902396416

  Random data  :  B0 AF A4 5C D7 59 52 95 31 D9 9E 43 3F 85 FA 43...

Reading raw volume data...

  Opening \\.\C:...

  Seeking to position 15902396416...

  Reading 16384 bytes...

  First 16 bytes: B0 AF A4 5C D7 59 52 95 31 D9 9E 43 3F 85 FA 43...

Data unchanged.

CONCLUSION: TRIM appears to be NOT WORKING (or has not kicked in yet).

You can re-run this program to test again with the same data block,

or delete trimcheck-cont.json to create a new test file.

Press Enter to exit...

 

I tried it multiple times waiting different lengths of time and even a reboot and get the same result "not working" yet windows claims trim is enabled

Link to comment
Share on other sites

See I just ran it on a native M.2 pcie card and got this....

 

I tried it multiple times waiting different lengths of time and even a reboot and get the same result "not working" yet windows claims trim is enabled

 

That sucks. I need to do a little research. I'm on a SATA m.2. Perhaps PCI Express does not support it ... I'm going to follow this thread as my next system will def be m.2 PCI Express x4.

Link to comment
Share on other sites

That sucks. I need to do a little research. I'm on a SATA m.2. Perhaps PCI Express does not support it ... I'm going to follow this thread as my next system will def be m.2 PCI Express x4.

 

I only went looking when reading about it in some forensics newsletter we get at work... and low and behold it seems to be missing support for PCIe M.2 cards in windows.. it claims Linux supports it but now windows, windows only supports SATA interface TRIM commands

Link to comment
Share on other sites

not all them do though, the ones that use a SATA controller are slower then native pci express SSD's you can get some insane speeds on native PCI express SSD's

I'm not sure I follow you... M.2 is a subset of the SATA specification and the logical interface for all drives is SATA... The spec requires it to pass through a SATA controller...

 

Source: Wikipedia M.2 Specification Overview

 

Windows 7 lacks TRIM support for M.2 SSDs due to lacking awareness of the interface in its built in AHCI driver. Windows 8+ doesn't suffer from this limitation.

 

See I just ran it on a native M.2 pcie card and got this....

 

TRIM check v0.7 - Written by Vladimir Panteleev

https://github.com/CyberShadow/trimcheck

Loading continuation data from C:\Users\Default.Z99\Desktop\trimcheck-cont.json.

..

  Drive path   :  \\.\C:

  Offset       :  15902396416

  Random data  :  B0 AF A4 5C D7 59 52 95 31 D9 9E 43 3F 85 FA 43...

Reading raw volume data...

  Opening \\.\C:...

  Seeking to position 15902396416...

  Reading 16384 bytes...

  First 16 bytes: B0 AF A4 5C D7 59 52 95 31 D9 9E 43 3F 85 FA 43...

Data unchanged.

CONCLUSION: TRIM appears to be NOT WORKING (or has not kicked in yet).

You can re-run this program to test again with the same data block,

or delete trimcheck-cont.json to create a new test file.

Press Enter to exit...

 

I tried it multiple times waiting different lengths of time and even a reboot and get the same result "not working" yet windows claims trim is enabled

Why is this program more trustworthy than Windows directly?

Link to comment
Share on other sites

Why is this program more trustworthy than Windows directly?

 

Good question. Windows enables trim, doesn't verify it. Nothing in Windows says, trim is working. Prior to the Series 7 Intel chipset, trim on Raid 0 did not work. Post Series 7, it should. The only app to actually perform a physical test and validate trim is physically working that I've found is this. TRIM has to be supported by the drive/firmware, chipset/controller, and OS.

Link to comment
Share on other sites

Don't know if this is relivent, but if you click "Optimise" in windows disk defrag for a SSD in Windows 8.1, the second it takes to run it will show "74% trimmed". I hadn't noticed that until only recently though (who checks disk defrag these days). 128GB M.2 SATA 42mm SSD in a Thinkpad Yoga.

Link to comment
Share on other sites

I'm not sure I follow you... M.2 is a subset of the SATA specification and the logical interface for all drives is SATA... The spec requires it to pass through a SATA controller...

 

Source: Wikipedia M.2 Specification Overview

 

Windows 7 lacks TRIM support for M.2 SSDs due to lacking awareness of the interface in its built in AHCI driver. Windows 8+ doesn't suffer from this limitation.

 

Why is this program more trustworthy than Windows directly?

 

The forensic docs I'm reading claim there are two ways M.2 works, SATA and native, it also claims windows in version 7 does not support native mode (NVMHCI not AHCI) but few M.2 SSD's run in this mode apparently and just use plain SATA with AHCI, and up to windows 10 it does not support direct PCIe bus (one example card is the Plextor M6e that doesn't use SATA for M.2) these direct to PCIe cards can reach 2GB/s and actually make use of the PCI express bus bandwidth.

Link to comment
Share on other sites

  • 1 year later...

Download and install KB2990941 and KB3087873 patches for Windows 7 SP1. Then TRIM should be enabled on NVM Express/PCIe SSDs with M.2 connector.

Link to comment
Share on other sites

You do realize the drive may not NEED to be trimmed yet, especially if it's a new drive and a new install 

 

 

Best thing to do is let windows do it's thing and optimize it for you 

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.