2

I am trying to upgrade the storage:

  • The existing storage is a 256GB SSD, model Samsung PM871b M.2 2280, installed on an adaptor to SATA, and I guess it is Next Gen Form Factor.
  • I purchased a 1TB SSD in NVMe M.2, model Samsung SSD 970 EVO Plus NVMe M.2 SSD, as the model says it is NVMe.

I replaced the old SSD on the adaptor and connected it back to the motherboard. However, the system was unable to recognize the new storage device.

I wonder whether the error is due to incompatibility between NVMe and SATA? If yes, is there any adapter from M.2 NVMe SSD to SATA?

Please let me know if you need more details, and I highly appreciate your hints or suggestions.

2
  • What kind of "adaptor to SATA" do you mean? Was the previous SSD literally connected to a SATA cable on your motherboard? Does the motherboard have any M.2 slots built in?
    – user1686
    Jul 3 at 19:32
  • The motherboard has a SATA interface, so I want to convert form m.2 to SATA to fit the motherboard.
    – Mike
    Jul 3 at 20:09

3 Answers 3

9

Yes, SATA and NVMe are completely different protocols. It just happens that the same M.2 (aka NGFF) form factor is used for both kinds of SSDs.

With M.2 slots built into motherboards, the same slot can be dynamically routed either to the SATA controller or to the PCI bus depending on what kind of SSD you install – but when using an external M.2-to-SATA adapter, it's obviously wired only to the SATA port.

If this SSD is just for data or programs (e.g. games), you can look for an adapter from M.2 to PCI Express slots, because every NVMe SSD is just a regular PCIe device. This would give you much better performance than SATA ever could.

However, motherboards without M.2 slots typically won't be able to boot from NVMe SSDs (their firmware will be missing the correct drivers).

So if this SSD is where your OS is installed, and if the motherboard doesn't have any M.2 slots built in, then you should get a SATA SSD for the OS instead – and use the 970 for programs/data. (It doesn't matter whether you use M.2 SATA through an adapter or 2.5" SATA directly, it's still the same SATA.)

I would guess that actual NVMe-to-SATA converters do exist, on the grounds of NVMe-to-USB converters existing, but it seems like a poor idea in general.

5
  • 2
    Or at least put your boot partition on any SATA disk, even if it's rotational. With a flexible OS such as Linux, it's fine if the rest of the OS is on a PCIe SSD that the mobo firmware doesn't know about. (In Linux terms, /boot needs to be somewhere bootable, but / doesn't. The initramfs can find it as long as it contains drivers for however your root FS is attached.) If you were using Windows, though, I assume that would be a huge pain or impossible, due to it being designed around using C: for boot as well as holding the main OS files. Jul 4 at 10:17
  • @PeterCordes You don't even need the boot partition of the OS itself on the SATA disk, just a "universal" bootloader, such as grub. As long as grub can read the NVMe partition, it should be able to chainload the Windows bootloader. A similar approach was frequently used a couple of decades ago to boot from a CD-ROM with a BIOS that had no CD-ROM drivers: boot from a floppy disk which loaded a temporary CD-ROM driver, and run the real installer / live OS from there. Or for "rescue disks" with a stub bootloader to decompress the rest of the floppy disk into RAM, and boot that.
    – IMSoP
    Jul 4 at 12:54
  • I believe GRUB uses BIOS/Firmware calls to access storage devices, so if BIOS has no drivers, GRUB wouldn't see it. Jul 4 at 12:58
  • @IMSoP: GRUB normally goes through firmware interfaces (UEFI, or legacy BIOS), and wouldn't have its own PCIe NVMe driver, would it? I'd assume that if a UEFI environment provided access to a PCIe-attached NVMe device, it would support booting from it. Of course it's technically possible, like you describe for the CD-ROM driver case. (Speaking of which, booting the machine from a USB stick that you leave permanently connected is an option if it's a desktop with plenty of USB ports, if you don't want another actual SSD or HDD.) Jul 4 at 13:00
  • 1
    @PeterCordes: GRUB does already have its own SATA AHCI drivers (as well as USB EHCI/xHCI drivers), so it wouldn't be unusual for it to get NVMe drivers as well...
    – user1686
    Jul 4 at 14:13
5

If I understand you correctly the computer has a SATA interface and a SATA to M.2 converter was used to connect the oriignal 256 GB M.2 SSD.
A M.2 NVMe SSD in the same converter won;t work.

This is totally as expected.

The M.2 slot can support a SATA M.2 SSD, a NVMe M.2 SSD or both. But your SATA interface in the computer ONLY provides SATA.
That makes a simple passive converter from SATA to M.2 SATA possible (it is just a mater of connecting the correct wires), but that won't magically turn a SATA interface into an NVMe interface so that 1 TB SSD isn't going to work.

You should have bought a M.2 SATA SSD (or a hybrid NVMe+SATA SSD) for use with that SATA converter.

1
  • The OP could use a PCIe adapter card for NVMe though.
    – Zac67
    Jul 3 at 20:33
3

Make sure the SSD is detected in the BIOS first, that will rule out a lot of issues.

That said, there are differences between NVME and SATA, and they are not the same. SATA has a different connector than NVME and there are some hybrid SSD's that fit both. But just because they fit doesn't mean they will work.

See below image for the different types (this was taken from a store): enter image description here

The PM871b M.2 2280 is a B+M key, wheras the Samsung SSD 970 EVO Plus NVMe is an M key.

You need to make sure that the motherboard slot is capable of an NVME type M key SSD. If it is, then it should work. But if it isn't (and I think that is the case), then you need another SSD, one of with a SATA interface or make it possible for your computer to work with the SSD. This can be done by using a PCI-Express adapter or USB adapter with housing.

3
  • 1
    He is using a SATA to M.2 converter. That will never support NVMe SSD's. Only real SATA m.2 or hybrids.
    – Tonny
    Jul 3 at 19:37
  • @Tonny Yeah, I was doubting that too, but I'm more posting this answer as a general type of answer to anyone who comes here seeking for information.
    – LPChip
    Jul 3 at 19:38
  • I understand. Guess that both our answers combined tell the full story.
    – Tonny
    Jul 3 at 19:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.