The Rock Pi 4B+ ships with an M.2 2280 NVMe slot wired to the RK3399’s PCIe 2.1 x4 controller. On paper that’s ~2 GB/s of theoretical bandwidth — but how close does it get in practice with an off-the-shelf consumer SSD? We benchmarked five drives across sequential and random workloads to find out.
Test setup
- Board: Radxa Rock Pi 4B+, 4 GB LPDDR4
- OS: Debian 12 (kernel 6.1.79-rockchip)
- Power: 5V 3A USB-C PD brick
- Cooling: Heatsink + 30 mm fan (CPU pinned at 1.8 GHz)
- Filesystem: ext4, default mount options, TRIM enabled
- Tools:
fio3.33,hdparm,ddwith conv=fdatasync
Each drive was wiped, partitioned with a single ext4 partition spanning the full disk, and run through identical fio jobs. Results below are the median of three runs.
Sequential read / write
| Drive | Seq read (MB/s) | Seq write (MB/s) |
|---|---|---|
| Samsung 970 EVO Plus 500 GB | 1,488 | 1,402 |
| WD Black SN770 500 GB | 1,471 | 1,389 |
| Crucial P3 Plus 500 GB | 1,422 | 1,196 |
| Kingston NV2 500 GB | 1,398 | 1,103 |
| Sabrent Rocket Q 500 GB (QLC) | 1,367 | 724 |
The RK3399’s PCIe 2.1 x4 link tops out around 1.6 GB/s after protocol overhead — every drive we tested saturates that ceiling on reads. Writes diverge sharply: TLC drives sustain ~1.4 GB/s, while the QLC Rocket Q falls off a cliff once its SLC cache is exhausted.
Random 4K IOPS
| Drive | Rand read IOPS (QD32) | Rand write IOPS (QD32) |
|---|---|---|
| Samsung 970 EVO Plus | 187,400 | 164,200 |
| WD Black SN770 | 181,900 | 159,700 |
| Crucial P3 Plus | 142,300 | 121,100 |
| Kingston NV2 | 138,600 | 118,400 |
| Sabrent Rocket Q | 119,100 | 89,300 |
4K random performance is where the CPU starts becoming the bottleneck. The RK3399’s dual A72 cores can’t keep up with the IRQ load above ~190k IOPS, so even faster NVMe drives plateau here. If you’re running a database or a heavy-IO workload, drive choice matters less than getting cooling right — thermal throttling will cost you more than 20% on these numbers.
Sustained write (cache-busting)
To see what happens past the SLC cache, we ran a 64 GB sequential write with fio --rw=write --bs=1M --size=64G --direct=1. The Samsung 970 EVO Plus held ~1.3 GB/s the whole way through. The Rocket Q dropped to 165 MB/s after about 9 GB and stayed there. For Rock Pi 4B+ NAS or video-recording duty, avoid QLC.
Power draw
Measured at the 5V rail under sustained write: the SN770 was the most efficient at 3.4 W idle / 5.1 W active. The 970 EVO Plus drew 4.0 W / 5.8 W. The Rocket Q peaked at 6.2 W — uncomfortably close to the board’s per-rail budget if you’re also driving USB peripherals. Plan your PSU accordingly.
Takeaways
- Any modern TLC NVMe will saturate the Rock Pi 4B+’s PCIe link for reads — you’re not buying speed past the 970 EVO tier.
- Skip QLC drives unless your workload is read-mostly.
- Random-IO ceiling is CPU-bound around 190k IOPS. Active cooling buys you more than a faster drive.
- Budget the SSD’s wattage into your 5V rail; a 3A supply is the floor, not the ceiling.
For most users running the Rock Pi 4B+ as a small server, NAS head, or desktop replacement, a 500 GB Samsung 970 EVO Plus or WD Black SN770 is the sweet spot — fast, efficient, and cool enough not to throttle in a fanless case.

