Posted on

Rock Pi 4B+ NVMe Performance Testing

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: fio 3.33, hdparm, dd with 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

DriveSeq read (MB/s)Seq write (MB/s)
Samsung 970 EVO Plus 500 GB1,4881,402
WD Black SN770 500 GB1,4711,389
Crucial P3 Plus 500 GB1,4221,196
Kingston NV2 500 GB1,3981,103
Sabrent Rocket Q 500 GB (QLC)1,367724

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

DriveRand read IOPS (QD32)Rand write IOPS (QD32)
Samsung 970 EVO Plus187,400164,200
WD Black SN770181,900159,700
Crucial P3 Plus142,300121,100
Kingston NV2138,600118,400
Sabrent Rocket Q119,10089,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.