I had an m.2 AHCI based SSD (SM951) initially but moved to an NVMe based Samsung 960 Pro via a system image restore. That appeared to work great that day with no real issues. However on the next day on a cold boot, the SYSTEM_CHECK BSOD hit me as though my new SSD was somehow failing a machine check in UEFI when loading the OS, which is Windows 10 Pro x64 in this case.
My system setup:
SATA 1 Controller (RAID mode): 2x HDD in RAID1 for data and bulk file storage like music, ISOs, etc... there aren't any OS files here just data drives.
SATA 2 Controller (AHCI mode) : 1x Samsung EVO 840 500GB, 1x Samsung EVO 850 1TB (both are program drives, 1x for games, the other for my video editing software). There is also a Blu-Ray burner on this controller... as I mentioned, I edit video so I usually burn copies.
CPU : Intel 5930k (Haswell-E Core i7)
Memory : 32 GB g.skill 3200
Gfx : ASUS STRIX GTX1070 oc
My machine would eventually let me into Windows after several resets and it would run fine for that session. One quirky item that I noticed was the the 960Pro was showing up in Samsung Magician as connected via PCI-E 2.0 x4 instead of the expected PCI-E 3.0 x4. No combination of BIOS settings to the NB-PCIe config, Fast Boot, Secure Boot or CSM helped with the issue. I then went to Intel's site to see if there was any chipset updates is IRST version that conflicted with NVMe and found this article.
The article is old but it listed out various mobo brands and models and the required settings to get the Intel NVMe SSDs to work well in them. it is complete with BIOS screenshots and it even included my board. I also read the recommendation that one should ALWAYS clear the CMOS before trying to boot with a new NVMe SSD installed. I cleared CMOS, set the BIOS per the linked document and my issues have gone away. I boot without fail now.
An added bonus attributed to clearing the CMOS is my 960 Pro now shows up in the software as connected via PCI-E 3.0 x4.
https://www.intel.com/content/dam/support/us/en/documents/memory-and-storage/enthusiast-ssds/NVMe_Bo...Hopefully this helps others struggling with this. The document covers an OS support list as well...
Cheers,
KJ
UPDATE : well applying my CPU OC even with a retained BCLK of 100 results in Samsung's Magician to show my m.2 slot connected at PCIe 2.0 x4 and not PCIe 3.0 x4. I will be benching the speed of the 960 Pro to see if it is just Magician being stupid or if there is actually a problem. Any tips on that issue would be great. However my BSOD issue is still a-ok.