Roger Wilco Jr wrote:I saw the NMVe M.2 drives were about 2-3 times more expensive than ACHI, I assume.
More recent NAND controllers are designed with a built-in PCIe 3.0 x4 bridge peripheral in the ASIC itself, so they are sporting a native NVMe firmware in the M.2 B or M (or even less used A) keyed slot, and must use PCIe. This is really what made NVMe possible, especially in commodity NAND, but these new generation controllers and, correspondingly, M.2 devices are still running at least a 50% premium, and often more like 100%.
► Show Spoiler
Most OEM implementations of new M.2 PCIe devices only offer NVMe firmware, although a few ODMs (original device manufacturer -- the actual designer/manufacturer) allow the AHCI firmware to be installed. So in addition to PCIe using AHCI, they could also use even the SATA lines of a B or M keyed slot, which requires AHCI. It really all depends on the implementation by the OEM.
The older NAND controllers usually lacked a PCIe bridge at all, so any M.2 PCIe used an external PCIe 2.0 x4 bridge IC off-ASIC. This usually means the NAND controller has no concept of NVMe, and assumes AHCI implementation. NVMe requires full, random-access. It's really something that requires the PCIe bridge to be in the NAND controller itself.
That's also where most of the heat issues came from, becuase most of those legacy controllers are fabbed at 65nm (or worse) feature sizes, and not today's typical 28nm (or smaller). There are still a great number of stock 65nm and even 90nm glue logic ICs out there, and even Intel is still producing some in some of its 65nm fabs.
Understand NVMe is a radical change in the storage of the PC, the first one since the original 1981 ST506 controller.
► Show Spoiler
I.e., every storage technology in the PC since has been ST506 command compatible, even if extensions have been added, from Enhanced System Disk Interface (ESDI) and the initial concept of Integrated Drive Electronics (IDE), through the IBM PC Advanced Technology (PC/AT) Attachment (ATA) through the Serialized ATA "physical" controller implementation. Really, when one says "ATA" or "SATA," what they are really talking about is IDE disks (endpoint controller on disk) + Advanced Host Controller Interface (AHCI).
AHCI -- which allows up to 31 devices per system -- was really the firmware approach everyone 'standardized' on enumeration and setup of any 16-bit PC/AT Attachment (ATA) storage device across many controllers, using a 32-bit logical commanding and transfer. It was actually developed for parallel ATA, but really became standard in the SATA generation. That's why AHCI is used by everything by default since the early '00s when SATA became well adopted.
NVMe also requires uEFI firmware to boot, and cannot use the PC BIOS -- sans a few vendors who offer have a proprietary disk extender/boot loader that can emulate ST506 -- as the PC BIOS Int13h Services don't understand anything that doesn't look like ST506.
E.g., even PC BIOS Network PXE Booting 'emulates' -- basically -- a ST506 hard drive that can only transfer in 'character mode' (byte-by-byte). It's slow as a dog for this reason, compared to -- say -- any uEFI Network Boot, let alone non-PC platforms, like even '90s RISC/UNIX workstations.
Roger Wilco Jr wrote:Since I didn't want to pay for NVMe, I just ordered a cheaper internal SSD.
You mean one that uses a 7-pin SATA data + 15-pin SATA power connector. Yes, all those will be AHCI. SATA cannot use NVMe at all. However, PCIe can use AHCI, in addition to the newer NVMe. Again, when using PCIe -- whether M.2, SATA-Express (typically via SFF-8639 "U.2") or via a PCIe add-on card -- you can use AHCI (fully backward compatible with ST506 commanding) or NVMe (requires firmware, uEFI and OS support -- all 3 -- to boot).
PCIe + AHCI only offers raw throughput over SATA (which is AHCI). PCIe + NVMe offers massively improved access times.
Roger Wilco Jr wrote:It also looked like I'd have to disassemble my system to get the M.2 installed, which I really didn't want to mess with.
Some mainboards are now shipping SATA-Express ports, namely the the SFF-8639 "U.2" connectors (there were many options, but that seems to be the standard), so you just need a cable and, if you want to use a M.2 device, an inexpensive adapter. It's hard to find NAND SSD "drives" in the 2.5" factor that have an "U.2" connector, and are limited to Enterprise devices.
Roger Wilco Jr wrote:When build another system from scratch in a couple of years, I'll probably go with one of these faster drives.
Again, be on the lookout for SATA-Express and the U.2 connector. Even if you use an M.2 device, the SATA-Express connector next to your SATA ports on your mainboard will save you the trouble. I think we're going to see more and more U.2 'connectors' on mainboards, instead of M.2 'slots.' U.2 to M.2 adapters are cheap, and can be mounted anywhere.
I haven't seen many 2.5" NAND SSD devices sporting the U.2 connector, and definitely not anything commodity. It's all enterprise. This is similar to Serial Attached SCSI (SAS) multi-channel, which was pretty much enterprise-only devices as well.
► Show Spoiler
SAS can use SATA busses, devices, storage systems, etc... as SAS single channel, but the throughput is in SAS multi-channel, as well as cable length. E.g., SAS uses Twisted Pair for a reason, while SATA does not -- although was supposed to for SATA-III/6GHz signaling.