Special SSD for use with Raspberry
Raspberry Pi started as a small foundation, but since then it has created several boards and modules, its own “keyboard PC”, peripherals and is starting to develop its own chips. RPi traditionally used memory cards as the storage, but the latest version has NVMe SSD support, so now comes the logical thing to do: Raspberry Pi is releasing its own SSD, although this time it is not in-house product, the module is manufactured externally.
While the older generations of this board (or single board computer) could only be fitted with standard SSDs through various tricks and hardware modifications, Raspberry Pi 5 is the first to expose standard PCI Express support. And this allows NVMe SSDs to be directly connected to it, with various adapters (called “Hats”) adding an M.2 slot to the board, including an official Hat offered directly by Raspberry Pi . The company has now added its own SSD intended for use with the Raspberry Pi to its lineup.
Read more: Raspberry Pi 5 is now a mature computer. With the Cortex-A76 and an NVMe SSD
It is a short module type, M.2 2230, i.e. in a format that is also used for gaming handhelds. The official M.2 Hat+ has support for slightly longer 2245 modules, but the smaller format was chosen (which opens some secondary usage possibilities – if you get tired of the RPi, the SSD can be used in for example in an older Steam Deck bought with eMMC only storage option). The modules are offered in two capacities – the cheaper one has a capacity of just 256GB for 30 USD or 40 USD as a bundle (with M.2 Hat+ included), the more expensive model costs 45 USD (55 USD as a bundle) and has a capacity of 512GB. Larger capacities are not available, for now.
The larger variant has a claimed random read performance of 50,000 IOPS and random write performance of 90,000 IOPS, while the smaller model has only 40,000 and 70,000 IOPS. These are low values that we would expect from an average SATA SSD. However, it is possible that the SSD itself is actually faster, however the specs are listed for performance you will see with the RPi 5. When used with the little board, the performance characteristics are probably affected by the low performance of the entire PCIe subsystem of the BCM2712 processor in the Raspberry Pi 5 (which was probably designed in a bare bones manner, mainly targeting small footprint on the chip and low power operation).
RPi 5 unofficially supports PCIe 3.0, apparently
The SSD, when used in the Raspberry Pi 5, only uses the PCIe 2.0 interface with a single lane, neither the processor nor the M.2 Hat provides more. This means that the ceiling for sequential speeds is somewhere under 500 MB/s (that’s the theoretical speed of a single lane, but there is some overhead that lowers practically achievable data rates). But interestingly, using the raspi-config utility you can supposedly enable PCIe 3.0 on the Pi 5 (so that the speed of that one PCIe lane doubles to 1 GB/s), which could boost the performance of this SSD quite a bit.
We assume that virtually any controller that could be used in the drive should be able to utilize the extra bandwidth, as long as there is no bottleneck on the CPU side itself. The datasheet confirms that ta PCIe 3.0 (presumably PCIe 3.0 ×4 or ×2) is supported by the controller that is used in the drive, but it is not yet known exactly which controller (and what NAND) these modules use.
The Raspberry Pi company refers to this SSD as “Raspberry Pi-branded”, i.e. it does not claim that it is its own creation. Instead, it is an SSD that is manufactured for it by an OEM supplier – the sticker on the modules states that Biwin is the provider of this service. Biwin is a Chinese company that also makes SSDs for Acer, but also sells products under its own brand.
If you want to use an NVMe SSD with the RPi, it is probably not necessary to buy this “official” one. However, the RPi is not a standard device after all, and therefore it is at least theoretically possible that not all of the various SSDs and controllers on the market will want to work correctly on this minicomputer, for example there could be problems with modules that have high power supply requirements under load with high current spikes. The module validated by the Raspberry Pi company should hopefully be thoroughly tested for compatibility and the board should be well tuned to support it.
The advantage of using a full-blown SSD (in general) with a Raspberry Pi should be that you get a significantly better operating system performance when accessing storage compared to a memory card, which is traditionally used with single board computers. There should be an improvement in both sequential access and especially with random access. The differences should be greater the heavier the load on the drive, especially with many parallel accesses.
But with M.2 SSDs, you’re also likely to get greater endurance out of your storage, which is something that where memory cards tend to fare not so well, you’re more likely to see microSD cards fail, potentially with total data loss. On the other hand, using NVMe SSDs can probably increase power consumption (at lease during load) and overall system temperature a bit. So you probably need to be careful if you have the board enclosed in a case, and figure out some cooling.
Sources: Raspberry Pi (1, 2), TechPowerUp
English translation and edit by Jozef Dudáš
⠀