Mac Studio SSD does not work on NVMe, top-level ARM64 SSD controller in M1 Ultra makes it nearly impossible to swap-out or add raw storage modules
There has been a lot of consternation lately regarding Apple's SSD implementation in the new Mac Studio. Although Apple clearly mentions that the Mac Studio's SSD has to be configured at factory and is not user-replaceable, Max Tech's initial teardown video seemed to suggest that the SSD is probably swappable.
Later, Luke Miani's video indicated that Apple is blocking SSD replacement via software, though iFixit could swap SSDs between two Mac Studios with a DFU restore. So, why is Apple making such a simple thing as an SSD swap so complicated, and why can't users just insert their own drives in the second SSD slot? The answer may lie in Apple's unique implementation of the storage subsystem.
Hector Martin (@marcan42 on Twitter) is a developer who is working on porting Linux to Apple silicon Macs. His team is currently developing Asahi Linux, now in Alpha Release, which is the first Linux distro that can dual-boot with macOS on Apple silicon Macs.
Martin says that common x86 concepts cannot always be applied to Apple silicon systems. In traditional PCs, an SSD is a self-contained device that includes both the controller and the NAND flash. The NAND is where all the bits are stored while the controller decides on the aspects of reading and writing to the NAND.
However, in the case of the Mac Studio (and Apple silicon Macs in general), the replaceable "SSDs" that you actually see are just raw storage modules and aren't SSDs in the truest sense. The actual SSD controller, similar to the T2 chip, is built into the M1 Pro/M1 Max/M1 Ultra SoC. Therefore, you cannot simply swap out the storage modules hoping they'll just work — spoiler alert, they won't.
Even if you wish to populate the second SSD slot in your Mac Studio, you would have to use storage NAND modules of the same size and possibly from the same vendor, so that it tallies with the tables in the SSD controller on the M1 chip — and even this is possible only after a full DFU erase to ensure that the controller sees the new storage configuration de novo. Otherwise, your best bet is to configure the required storage at checkout.
Interestingly, Martin also notes that the top-level SSD controller in the M1 is the ANS2, which is actually an ARM64 co-processor running AppleStorageFirmware based on RTKit. The raw storage modules, which seem to be made by the likes of Toshiba, Samsung, and SK Hynix, also have several NAND controller/bridges. These include the S3E and S4E (ARM32 running AppleMSPS firmware) and the S5E (custom ARM64 running AppleMSF firmware based on RTKit). RTKit is Apple's proprietary real-time OS.
In essence, Apple's storage subsystem uses PCIe but not the conventional NVMe protocol seen in PCs. The security part of it is not only an Apple thing, though. Drives encrypted with TPM-based encryption such as BitLocker on one system cannot be read in another. However, what's unique here is how Apple has decoupled the controller and the NAND to allow for a more fail-safe approach.
Apple's implementation may be disappointing for some given that the Mac Studio is a powerful desktop PC and would surely benefit from custom storage replacements. However, from Apple's perspective, they get to work on bare metal storage without having to worry about sourcing third-party controllers. This potentially offers far greater control in setting exact performance targets and security features for a given configuration.
IRC says there's YouTube drama about swapping the Mac Studio's "SSDs"?— Hector Martin (@marcan42) March 21, 2022
Those aren't SSDs. Those are raw storage modules. You wouldn't expect swapping chips between SSDs to keep your data, right? Same here. You need a full wipe. The SSD controller is part of the M1 Max/Ultra.