Rumours had been swirling regarding a range of official Raspberry Pi NVMe SSDs and yesterday was the day that these came to light, only a week or so after they launched the Raspberry Pi microSD cards. Are we seeing the beginning of the Cambridge Cartel? Where they corner the market of each of the accessories needed for your Pi?! Probably not, but let’s see what the craic is about.
Quick Note: At the time of writing (24th October ’24) this article only reflects the data from the 256GB model. As and when the 512GB is available and I have it, its results and data will be added to the post.
What Do We Have Here Then?
With yesterday’s announcement, we got news of 2 NVMe SSD capacities, 256GB and 512GB, both of which will be available either on their own or as part of a kit/bundle with the M.2 HAT.
Initially, I’d assumed that these would also be manufactured by Longsys given the microSD card arrangement but I was wrong! The drive I received is what looks to be a re-labelled Samsung PM991(a) drive with the model number MZ9LQ256HBJD-00BVL.
I’m not sure if the 512GB drives are going to be from another manufacturer, though given there are also 512GB models of these, I’d imagine they’ll be going with them for both capacities. I’ll throw some quick specifications out below, though there’s a bit more on my GitHub repo for this data too if you’re that way inclined. Jeff Geerling also has his testing data in his PCIe devices repo if you’re interested!
Raspberry Pi NVMe SSD Quick Specs
Manufacturer: Samsung (Vendor ID: 0x144d)
Model: MZ9LQ256HBJD-00BVL
Firmware Version: FXM71V1Q
Storage Capacity: 256GB (tnvmcap: 256,060,514,304 bytes)
NVMe Version: 1.4 (ver: 0x10400)
Supports SMART/Health monitoring (NVME Set Identifier Maximum: 0)
Supports firmware updates (frmw: 0x16)
Sanitise capabilities present (sanicap: 0x60000002)
Having put the drive into my PC, it shows the drive running at its Gen 3×4 rating just fine, with (no spoiler alert) speeds exceeding that seen in the Gen 3 Pi 5 testing below.
Why Now?
After publishing my initial news post on these Raspberry Pi NVMe drives I saw a fair amount of people asking what took Raspberry Pi so long to launch these. After all, M.2 HATs for NVMe drives have been around for about a year already, and Raspberry Pi’s own M.2 HAT+ has been on the market since May of this year (2024).
My first thought was that with the (seemingly) imminent Raspberry Pi 500 there’d be an onboard M.2 connector, so having the computer/keyboard combo, monitor, NVMe SSD, microSD cards, and other accessories all served within the ecosystem means that they can sell the entire package with an element of control.
That made sense to me given the need to make the graph go up in a shareholder value sense (maybe I’m being too cynical, it does make sense in a “one-stop-shop” way) but then a reply to my initial tweet about these received a reply from Gordon Hollingworth, Chief Technology Officer (Software) at Raspberry Pi stated “Raspberry Pi have to step in to make sure a reliable source exists”
I do wonder what Gordon meant by this, as I mentioned in my reply to him, I’ve not seen anyone selling NVMe SSDs for Raspberry Pi-specific usage on any of the approved reseller’s sites, other than Pimoroni who bundle drives with their own M.2 NVMe HATs and these are branded drives from respected manufacturers.
Outside of that, maybe the MakerDisk? That seems to get pre-installed with Raspberry Pi OS with some resellers, but I’ve not tested those and I don’t know enough to pass comment. There’s also the Pineboards Pinedrive but I know first-hand that those drives are high-quality, industrial-level drives manufactured in Europe and they weren’t exactly cheap so who knows. Maybe something was going on behind the scenes that I’m not privy to.
Whatever it is, we have Raspberry Pi NVMe SSDs now, so I suppose I better test them!
Raspberry Pi NVMe SSD: Benchmarking & Results
The Benchmarking Setup
To go through testing here we have a Raspberry Pi 5 (4GB) with the official Raspberry Pi M.2 HAT+ (the same you’ll get if you buy the bundle) as the NVMe carrier. Everything is updated to the latest available OS/kernel version, and we’re testing with the performance CPU governor set.
We’re using fio as our disk benchmark software, testing across multiple block sizes and for the NVMe we’ll be testing both PCIe Gen 2 and 3. The graphs below will again be focusing on 4K as this is the block size mentioned in the marketing material and the size I compare most in my reviews, so it just made sense. That, and I don’t have to make 50 graphs. I hate making graphs.
I’ll throw in a disclaimer too to say that this is purely speed/throughput benchmarking on a device that has the OS and some test files on and nothing else. Your experience may vary when the disk begins filling up with data, though this happens with nearly all drives. I will test endurance at a later date.
The Results
I’m only comparing the Raspberry Pi NVMe SSD to their 128GB microSD card offering in this article as bringing in other brands of NVMe feels a little pointless, they’re all going to max out the single PCIe Gen 3 lane, and this way we can see how the NVMe compares to the best available microSD at the time.
The first obvious takeaway is that the microSD card gets left in the dust, and sure, we expected that. You’re looking at up to 20x gains over the microSD card if you use an NVMe SSD in Gen 3 mode. Speaking of which, the gains are also around about what we’d expect making the jump from PCIe Gen 2 to Gen 3 with speeds roughly doubling as you double the available headroom.
The Raspberry Pi blog post mentioned a minimum 4KB blocksize random read/write performance of 40,000 and 70,000 for the 256 and 512GB capacities respectively, and from testing, it’s above those. I don’t know which test Raspberry Pi performed exactly (though given the single value, I assume a mixed r/w test with something like fio) so I can’t compare like for like, but on the random read side we saw 106,246 IOPS in Gen 2 mode, with Gen 3 offering 196,947 IOPS. Random writes saw 90,264 IOPS in Gen 2 mode, and 151,692 for Gen 3.
Pricing & Value For Money
With the 256GB Raspberry Pi NVMe coming in at $30 on its own ($40 when bundled with the M.2 HAT+), and the 512GB at $45 (or $55 with the HAT) it does seem like decent enough value for money.
The 128GB microSD card I purchased from BERRYBASE was around $15.70 including taxes, and the 256GB Raspberry Pi NVMe SSD was around $37 including taxes. If you factor in capacity alone, doubling the price (and a bit more) for the NVMe makes it worth it. When you throw in the performance gains, it’s a no-brainer. That does, however, assume you already have a PCIe HAT for the NVMe drive. Throwing in an extra $10 for the M.2 HAT+ does increase that a little but when you’re getting up to 20x the performance, come on..
As always, your mileage may vary from approved reseller to approved reseller, so check the Raspberry Pi NVMe product page to find your local stockist and pray to the stock Gods.
Closing Thoughts
The Raspberry Pi NVMe SSD is a decent enough drive. It does what it says on the tin, and will max out the PCIe link on your Raspberry Pi 5, even at Gen 3 speeds. Samsung is a good manufacturer and I imagine their controller will hold up well over time.
Do I strictly believe the line on them needing to do this to protect their resellers? Not exactly, I think we should be able to give their ARs a bit of credit in that area (in the sense that they’d know what they’re buying) but we can agree to disagree and I’m open to changing my view if additional information surfaces.
Wrapping things up though, is it a revolutionary product? Nope! Does it need to be? Also nope. It fills a gap Raspberry Pi felt they had in their product range and provides something that Raspberry Pi users should be able to trust. At this price point, it’s easy enough to throw one in your basket when you’re already spending a decent chunk of change and be done with it, safe in the knowledge that you have a well-performing boot device. I do still think it’s a bit naff that the M.2 HAT+ doesn’t fit in the official case but I won’t re-open that can of worms.
TL;DR: Good drive, maxes out Pi 5’s PCIe, decent pricing, not bad out of 10. Oh, and a reminder that I’ll get round to publishing the 512GB data alongside this when I get one.