What is the difference between running M.2 in SATA or PCIE mode?

Astralv

Distinguished
Hey there

I have 3 parts:

SAMSUNG 960 EVO M.2 2280 1TB PCI-Express 3.0 x4

Marvel SATA controller (PCIeX4) for extra SATA ports

Thunderbolt card PCIeX4.

This is my motherboard: https://www.asus.com/us/Motherboards/ROG-MAXIMUS-IX-HERO/specifications/

I am fixing the latency issue on my Kaby Lake/ Asus ROG Hero Z270 system and also need to install Thunderbolt card. I have Samsung 960EVO M.2 drive. It is in the SLOT 1. I watched a video on youtube that claimed that when drive is in PCIE slot, it can cause system latency by sending interrupt requests. The video is from 2013 so I am not sure what he was talking about.

I assume I set my M.2 to PCIE mode, because it reads in specs:

When the M.2_1 Socket 3 is operating in SATA mode, SATA port 1 will be disabled.
When the M.2_2 Socket 3 is operating in PCIEX4 mode, SATA port 5. 6 will be disabled.

I have drive in M.2 Slot 1. My SATA port 1 is not disabled, taken by SSD, which likely means that I am in PCIE mode for Slot 1 M.2.

To complicate it even more... This is what it says on my drive:

SAMSUNG 960 EVO M.2 2280 1TB PCI-Express 3.0 x4

Ok, so if it is PCIeX4 drive and I have it running in PCIE mode, then how come I still able to have Marvel controller for extra SATA ports in my PCIEX4 slot? Also I need to install Thunderbolt card. It goes in to PCIEX4 card as well. I don't want to give up my SATA controller. What to do?
 
Solution


Not exactly. SATA port 1 will be disabled ONLY if using SATA SSD in M.2_1 port. Since OP has PCIe drive, SATA port 1 will NOT be disabled.

OP, as for Thunderbolt card and Marvel controller, they should not affect drives in M.2 slots in any way. However, it may affect your graphic card (reducing it to x8 - but that should not affect its performance). Also note that lowest PCIex16 slot operates at x2 speed by default, if you need it to work at x4 speed, you have to change it in BIOS.

Colif

Win 11 Master
Moderator
The difference is one is 4x slower. SATA M.2 is slower than NVME M.2 as it doesn't need 2 lanes for 1 drive.

SAMSUNG 960 EVO M.2 2280 1TB is NVME M.2 Form factor

Interface: PCIe 3.0 x4, NVMe 1.2

Both slots support PCIE 3.0 x4, the difference appears to be what type of M.2 it is.
Socket 1 accepts PCIE 3.0 x4 and sata M Key design and type 2242/2260/2280 PCIE devices
Socket 2 accepts PCIE 3.0 x4 M Key design and type 2242/2260/2280/22110 PCIE devices

Socket 2 is the better one.

Motherboard manual - http://dlcdnet.asus.com/pub/ASUS/mb/LGA1151/MAXIMUS_IX_HERO/E12186_MAXIMUS_IX_HERO_UM_V2_WEB.pdf

Page 1-29 shows which M.2 go in which slot
 

Astralv

Distinguished
I had this M.2t in lower port, I thought it was Port 2 but then I got recommendation to move it to Port 1 (I think)- upper port. I can not have any SATA disabled, does it means- I will not be able to use 2nd M.2 port because for it to run, SATA 5 and 6 should be disabled?

Ok, so for Marvel PCIeX4 SATA card, I want to move it in to middle PCIeX8 port under Graphic card to free X4 port and insert Thunderbolt in to PCIeX4. Will both of them work? And will it in any way affect the M.2? Thank you.
 

Colif

Win 11 Master
Moderator


Either slot will disable a Sata port 1st disables port 1, 2nd will disable 5 & 6 to run at full speed. You just have to choose which. I think the m.2 will work in either, just not at full speed in both.



I think this should work as M.2 uses different connections. The lanes it uses are already assigned to sata. I could be wrong as I haven't got any m.2 cards on this PC, its something I will do next time.
 


Not exactly. SATA port 1 will be disabled ONLY if using SATA SSD in M.2_1 port. Since OP has PCIe drive, SATA port 1 will NOT be disabled.

OP, as for Thunderbolt card and Marvel controller, they should not affect drives in M.2 slots in any way. However, it may affect your graphic card (reducing it to x8 - but that should not affect its performance). Also note that lowest PCIex16 slot operates at x2 speed by default, if you need it to work at x4 speed, you have to change it in BIOS.
 
Solution

Astralv

Distinguished
Thank you for your reply. I am sorry for combining more than one question in one thread, glad you following me.

1. So when my 960Evo M.2 is in Socket 1, it should be in PCIe mode and this will not disable any SATA ports. Will it work in full speed as PCIe or does it needs to be in SATA mode to work at full speed?

OP, as for Thunderbolt card and Marvel controller, they should not affect drives in M.2 slots in any way. However, it may affect your graphic card (reducing it to x8 - but that should not affect its performance). Also note that lowest PCIex16 slot operates at x2 speed by default, if you need it to work at x4 speed, you have to change it in BIOS.

I am not always understand what I am reading. But this is what I have:

2 x PCIe 3.0/2.0 x16
1 x PCIe 3.0/2.0 x16 *1
3 x PCIe 3.0/2.0 x1
*1 The PCIe x4_3 slot shares bandwidth with PCIex1_3. The PCIe x4_3 is default set at x2 mode.

So the slots count starts from the top, right?

I have FireWire card in top PCIE x1
Graphics card in PCIeX16

Let's say I put Thunderbolt card to lowest PCIe x4_3, which supposed to be PCIe X4 that runs at X2 and I need to change it to X4 in BIOS, so the bottom slot will become X4, right?

I should still have one more PCIe 3.0/2.0 x16- no? You said- it would make graphics card change to X8. I don't see it saying that top 2 x PCIe 3.0/2.0 x16 share any bandwidth. I thought- first is x16, 2nd is x8, 3rd is x4. So if I put Marvel controller in to middle port, it should run at least at X8 without affecting the top X16 slot with graphics- am I wrong?

Thank you very much.

 


It works full speed in PCIe mode.



Yes.



I wrote it *may* affect graphics card. Yes, you won't find any info in specs or manual about those slots sharing any lanes, and in most cases they will not. In theory, you should have GPU running at x16, Marvel controller at x8 (or whatever it uses) and Thunderbolt at x4 in last slot, because lane sharing only happens when you put multiple GPUs in x16 slots. But, in practice, I've seen posts where people were having problem with just one GPU and one other card, causing GPU to run only at x8. So I mentioned a possibility the same thing could happen in your setup.
 

Astralv

Distinguished
Ok, thank you so much. How would I know if I had it changed to 8X?

I should probably make another thread- this is not related but I'd ask while I have your attention:

I am troubleshooting latency. Highest reported DCP routine Execution time 2053.390238 storport.sys- Microsoft Corporation.

Here is an article on Storport.sys. https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/storport-driver
It has something to do with SCSI and RAID. I don't have SCSI drives, adopters or RAID adopters. I do have 7 drives in this build, but I am not sure this has anything to do with Storport. Can this driver be some how safely disabled? Thank you.

 
You could use CPU-z for that. Or go to Device Manager, open your GPU properties, go to Details tabs, from drop down menu select 'PCI-current link width', and you should see value 00000010 (=16 in hex). If you see 00000008 (=8 in hex) that means your GPU runs at only x8.
* not running english version of Win, so I'm not sure I translated all correctly

Can't help you with other problem, I'm afraid. But maybe Colif can ...