1

Does a PCIe SSD in an internal M.2 slot need a different driver from a drive of the same type sitting in an external USB enclosure?

The enclosure uses a Realtek RTL9210 USB to PCIe / SATA bridge, if that matters. The laptop is an LG gram 17 2022.

I ask because I am unable to boot from a clone of the internal drive that is sitting in the external enclosure, and I'm told this can happen when the drive you are trying to boot from requires a different driver from the one you cloned from. I have posted a specific question about the boot issue here. I don't want to duplicate that but in response to the comment asking for further detail, I have another external drive and am able to boot Win 10 from that drive so I don't think it's a general problem with Windows not being bootable from external drives. The cloned system is Win 11.

The drives themselves are supposedly1 the same type but I am not clear if the fact that one is in a USB enclosure means that it needs a different driver.


1: I say supposedly because the packaging for the drive that's in the enclosure says PCIe 4.0 but a sticker on the back says SATA, and the enclosure supports both. I don't know how to check which is actually in use.

culp
  • 35

1 Answers1

0

Does a PCIe SSD in an internal M.2 slot need a different driver from a drive of the same type sitting in an external USB enclosure?

Usually yes, because to the computer it's no longer a PCIe/SATA device but a USB device. The enclosure's controller does not tunnel the raw PCI or SATA connection through USB all the way to the computer (only Thunderbolt or USB4 can tunnel PCI; regular USB 3.x cannot).

Instead the bridge chip such as the RTL9210 itself acts as the PCIe or AHCI host controller for your SSD, while at the same time presenting itself as a USB "Mass Storage" device to the computer. USB storage devices always use the SCSI command set (or something like it, anyway), so the enclosure also translates between SCSI commands on the computer side and ATA or NVMe commands on the storage side.

So when the drive is directly in the motherboard's M.2 slot it needs either NVMe or AHCI & ATA storage drivers (e.g. StorNvme on Windows); when it's connected via USB enclosure it needs USB xHCI + UMS/SCSI storage drivers (and I'm not sure if those are even available as boot drivers on Windows).

(Different bridge chips used by enclosures do handle the translation differently, so it's possible that certain combinations will just happen to be outside the tolerances of either the OS or the disk itself. For example, the enclosure can appear as having removable or fixed storage. The logical sector size may differ, sometimes the enclosure deliberately pretends to have 4K sectors despite it being a 512b disk. I suspect the presence or absence of UASP support might have side effects even if the boot process doesn't use UASP.)

grawity
  • 501,077