Differences between NVMe, AHCI, SATA, PCIe, and M2

RazorEdge

New Member
Joined
Mar 10, 2022
Messages
29
Reaction score
4
Credits
275
I would like to clarify my understanding regarding SSDs and motherboards for the CompTIA A+ exam.

My simplistic understanding is that there are two types of SSD data transfer protocols - AHCI / SATA and PCIe / NVMe. Is it overly simplistic to say M2 AHCI / SATA always uses a B key and PCIe / NVMe always uses an M key? And what about B and M keyed SSDs? Is this SATA / AHCI only, even when inserted into a PCIe / NVMe compatible motherboard? What are the differences in protocols and speeds for these key layouts?

I also don't understand how M2 and PCIe relate. I'm aware of the different components on the motherboard - but can a M2 SSD be plugged directly into a PCIe slot (x1, x2, x4?)? Or does an adapter card need to be inserted into the PCIe slot, which an M2 SSD can connect to? Or does the M2 slot just use the same bus as PCIe and that's the only relation?

I would love to know how all of the above relate in as much detail as anyone cares to explain. Thanks :)
 


M2 is a socket connection type it comes in 3 layouts NOTE not all M2 sockets are NVMe compatible
this article explains M2 sockets
A good beginning to explaining the differences of storage types is from Kingstone
 
What are the differences in protocols and speeds for B and M keyed SSDs?

Google that, ....that will give you a start, also
 
Better for your own learning would be to if you researched it yourself, now you are only teaching yourself to have others give you answers.
 
Better for your own learning would be to if you researched it yourself, now you are only teaching yourself to have others give you answers.
Absolutely. I could NOT agree more.

Researching seems like a PITA to many - why bother doing it when you can just ask somebody else? - but it's a valuable skill in itself. Search engines will find you anything you could possibly need to know, and there's a few simple "tricks" to getting the best out of one. An enquiring mind, and a thirst for knowledge are distinctly advantageous too!

It's how we all access info these days, so it makes sense to get the hang of 'em sooner rather than later. And any responsible examining authority will expect you to demonstrate how you arrived at your conclusions/answers anyway.

Simply stating "I asked somebody on-line" won't cut the mustard, I'm sorry to say!


Mike. ;)
 
I've got to say this is one of the most disappointing responses I've had on this forum. I've read one of the articles Brickwizard linked and I've done plenty of my own research (on Google and otherwise), but I am still confused and seem to find contradicting information with some of the finer points listed above.

I was looking for someone who actually knows about the subject to cut through the fluff - if no-one wants to do that, no problem. I think I've provided fairly specific questions - I didn't say just explain it all to me because I can't be bothered researching.

I'll ask for help elsewhere.
 
I was alerted to this Thread by a friend here, and I have to say I find a couple of the responses to be overly off-hand.

I have taken the trouble to click on the Member's avatar, and look through the several Threads and 20+ messages he has posted over the last 1 year and 9.5 months he has been here, and it is clear to me that he has asked relevant questions and been thankful for responses. he has not just been bludging off someone else's naivete and kindness.

That being said - Tim, with the CompTIA people, did you sign up for (and maybe pay for) training resources or such like? If so, you should avail yourself of those before seeking help here, obviously.

In either event, I wish you luck with the exam (hope you do not need it) and I hope you find the answers you are seeking, from someone or somewhere.

Best wishes

Chris Turner
wizardfromoz
 
I'm aware of the different components on the motherboard - but can a M2 SSD be plugged directly into a PCIe slot (x1, x2, x4?)? Or does an adapter card need to be inserted into the PCIe slot, which an M2 SSD can
As far as I am aware, on boards without a dedicated M2 slot you will need a PCIe to NVMe adaptor board,,

Things to remember, Although most NVMe cards are PCIe 4, they will run on PCIe3 at 50% of design speed, they will also run on the new PCIe5 but only to their max design speed. [they will also run on PCIe2 [but this is not cost effective]
The type of PCIe adaptor board will also make a difference to the available [not design] transfer speeds
Theoretical speeds

PCIe . . . . . . . . . .. . . . . . . . . . . PCIe x1. . . . . . . . . . . . . . . . . . . .PCIEx2 . . . . . . . . . . . . . . .. . . . .PCIEx4

2.0/2.1

500 MB/s

1 GB/s

2 GB/s

3.0/3.1

1 GB/s

2 GB/s

4 GB/s

4.0/4.1

2 GB/s

4 GB/s

8 GB/s

5.0

4 GB/s

8 GB/s

16 GB/s
 
Last edited:
Let me point out, I wasn't trying to be unhelpful. So sorry if it seemed liked I had an attitude towards you, it wasn't my intent to come across like that. Lately I've been trying to get people to think and research more for themselves when I think it's a topic where it seems the person is doing it to learn or somewhat work related. Secondly I know some about hardware but it's not my thing, so I would look it up myself. I know some of the answer but I will use the resource I would normally use to look it myself to give you an answer.

The the exact answer to the questions of @RazorEdge answered by ChatGPT.
Your understanding is on the right track, but let's delve deeper into M.2 key types, SSD protocols, and their relationships with PCIe.

M.2 Key Types:​

  • B key: Typically used for SATA-based SSDs or some PCIe SSDs that use the older AHCI protocol.
  • M key: Primarily used for PCIe-based SSDs, especially those utilizing the faster NVMe protocol.
  • B+M key: Combines both B and M key notches, allowing compatibility with both types of SSDs.

SSD Protocols and Speeds:​

  • SATA/AHCI - Limited to around 600 MB/s due to SATA III interface limitations.
  • PCIe/NVMe - Can achieve much higher speeds, often several times faster than SATA SSDs. PCIe Gen 3 x4 can offer speeds up to 3500 MB/s, while Gen 4 x4 can go even higher.

M.2 and PCIe Relation:​

  • M.2 slot: Can support both SATA and PCIe SSDs, but the keying determines which type of SSD can be inserted. It's not related to PCIe slots on the motherboard.
  • M.2 to PCIe relation: M.2 SSDs that use the PCIe protocol use the PCIe bus for data transfer. They can be directly plugged into the M.2 slot on the motherboard, which shares the PCIe lanes.

Adapter Cards and PCIe Slots:​

  • Adapter card: You can use an adapter card to install an M.2 SSD into a PCIe slot. These adapters convert the M.2 interface to a PCIe connection.
  • Direct PCIe slot connection: Some motherboards offer dedicated M.2 slots that share the same PCIe lanes as other PCIe slots. In this case, the M.2 SSD is directly plugged into the M.2 slot without an adapter and shares the PCIe lanes with other components.

Compatibility:​

  • SATA/AHCI SSDs in a PCIe slot: While M.2 SATA/AHCI SSDs physically fit into an M.2 slot, they won't work in a PCIe slot directly without an adapter because the PCIe slot doesn't understand the AHCI protocol.
In essence, M.2 is a form factor that can support both SATA and PCIe SSDs. PCIe is a high-speed data transfer protocol, and M.2 slots often leverage PCIe lanes for data transfer. An adapter can allow M.2 SSDs to be used in standard PCIe slots, but compatibility depends on the SSD's protocol (SATA/AHCI or PCIe/NVMe) and the slot's support for that protocol.

As what I would have asked ChatGPT.
Me:
Explain the differences between nvme, m.2, sata, pcie and ahci?


ChatGPT:
Sure, those terms refer to different aspects of storage and connectivity in computers:
  1. NVMe (Non-Volatile Memory Express): NVMe is a protocol designed specifically for flash-based storage like SSDs (Solid State Drives). It's incredibly fast compared to traditional hard drives and even some older SSDs. NVMe utilizes the PCIe (Peripheral Component Interconnect Express) interface for communication, enabling much higher data transfer speeds compared to the older AHCI protocol.
  2. M.2: M.2 is a form factor for SSDs. It's a small, compact form that allows for various connectivity options, including SATA and PCIe. M.2 SSDs can come in different key types (B-key, M-key, etc.) and support different interfaces like SATA or PCIe, including NVMe.
  3. SATA (Serial ATA): SATA is a traditional connection protocol used to connect storage devices like hard drives and SSDs to a computer's motherboard. SATA SSDs are generally slower than NVMe SSDs due to limitations in data transfer speeds.
  4. PCIe (Peripheral Component Interconnect Express): PCIe is a high-speed interface used for various components in a computer, including graphics cards, networking cards, and SSDs. It's significantly faster than SATA and provides more bandwidth, especially when used for NVMe SSDs.
  5. AHCI (Advanced Host Controller Interface): AHCI is an older protocol used for connecting storage devices to a computer's motherboard. It's slower than NVMe because it was designed for traditional hard drives and doesn't take full advantage of SSD speeds.
In summary:
  • NVMe is a fast protocol specifically designed for SSDs, leveraging the PCIe interface for high-speed data transfer.
  • M.2 is a form factor that can support both SATA and PCIe interfaces, including NVMe.
  • SATA is an older, slower interface used for connecting storage devices.
  • PCIe is a high-speed interface used for various components, including SSDs when using the NVMe protocol.
  • AHCI is an older protocol that isn't as fast as NVMe and was primarily designed for traditional hard drives.
In short it's not a bad thing to use a tool such as ChatGPT to explain things to you and with Google you kind still find a lot of answers still. In short I could have found the same answers using Google and then found my own wording for it, but ChatGPT did a better job at explaining it than I ever could after having looked it up myself.
 
Last edited:
In addition to my post above
You can also use a NVMe to SATA3.2 adaptor with a max theoretical transfer speed of 10gbs, again depending on design speed of the NVMe card and backwards compatible but max speed will reduce
 
Equally, my own answer was NOT intended to be "off-hand" OR dismissive. However, I, too, have always believed in being self-sufficient.......and where stuff is work-related, official organisations have always taken the view that, once somebody is hired, they shouldn't need somebody looking over their shoulder to ensure they're doing what they're hired for...

I know we all have to start somewhere. But in today's employment sphere, it's best to get into the habit of doing your own research, etc, ASAP. It can only stand you in good stead with your employer & work-colleagues.....and you could get a reputation as the "go-to" guy who helps others out!

Apologies if it came across in a negative light. NOT intentional, at all. I know some about hardware - enough to get me out of trouble, most of the time - but mobo/drive buses, connections, etc, are NOT one of my strong points. I know enough to hook stuff up, but not the underlying architecture, etc, behind them. My main concern here was about the way examining authorities expect you to do stuff during the actual exam; if you're not au fait with the procedures, you end up sitting there, twiddling your thumbs and looking like a right Charlie!

And that's no good to YOU at the end of the day.


Mike. ;)
 
Thanks for the additional information everyone - this is helpful. I'll add these to my notes (I do have some paid CompTIA resources). I appreciate the help!
 
The only things I can add to your thoughts (feel free to correct me if I'm wrong):

-that NVMe is a fairly new/advanced method for motherboards to read hard drives, they're faster than SATA which has been around for over ten years and is the other current standard input/output for long term storage. NVMe are pretty tiny slots for directly plugging in storage, and SATA was what came after IDE cables (IDE now being obsolete).

-PCIe tends to be used for cards (graphics cards, network cards, anything that typically goes into the back of desktop computers).

Edit: I'm pretty sure NVMe and M.2 are related in some way.
 
Last edited:
NVMe and M.2 are related in some way.
M2 is the slot/keyway which comes in 3 layouts, NVMe is a non volatile type of RAM
 
M2 is the slot/keyway which comes in 3 layouts, NVMe is a non volatile type of RAM
Oh okay, so SATA relates to hard drives in the same way that M.2 does (it has to do with the physical slot on the receiving end, don't have dirty thoughts...), whereas NVMe describes the type of RAM used via M.2 slots.

And what's an example of a "volatile" type of RAM memory, just because that will make it easier for OP to remember?
 
Last edited:
And what's an example of a "volatile" type of RAM
SD /DDR ram [the ones most people recognise], are volatile, this means when the power is switched off they lose their memory, NVMe /SATA/ PATA/ZIF/SD FLASH and other forms of hard drive are non-volatile [they retain information even after being disconnected]

this is the best i can do using plain english
 
Last edited:
FWIW, interesting tidbit about PCIE:

the x2, x4 or x8 indicator, as in "PCIEx4", indicates how many high speed serial channels the particular slot or card has for the card to communicate with the PCIE bus. Per the table in reply #8 above, the throughput is the sum of the throughput of those channels.

When you plug a card into a slot (and power up the system!) the card and the mobo negotiate the best transfer rate they can both support. So, for instance, if you plug a PCIEx2 card into a PCIEx4 slot, it "just works", but at the speed of the PCIex2 card as that's the limiting factor. So far so good but...

What if, unusual as it may seem, you plug a PCIEx4 card into a PCIEex2 slot? It still "just works"! Of course, it works at the speed of the PCIEx2 slot as that's the limiting factor in this case. A complicating factor is that PCIE slots are different lengths depending on the number of channels so a PCIEx4 card's edge connector is longer than a PCIEx2 slot. However, if you carefully use a hot knife to cut out the plastic at the end of the slot, it works. ( Note that this may void your warranty. :) ) I've tried this on two identical systems and wrecked the slot on one of them, though both remained functional in all other respects.

Dell used to provision their low-end servers with limited graphical capability on board and no PCIE slots long enough to take a decent video card. I think they did so to prevent folks like myself from using them as workstations.
 

Members online


Top