For a Raspberry Pi 4 8GB homelab NAS in 2026, use a Crucial BX500 1TB SATA SSD in a UASP-capable USB 3.0 enclosure. The Pi 4's USB 3.0 bus caps real throughput near 350 MB/s, so a good SATA drive saturates the bus and gets you the reliability and endurance a NAS needs at the lowest cost per gigabyte. Reserve NVMe for the boot volume or workloads that genuinely need low latency.
Why SD cards fail as homelab storage
If you have ever run a Raspberry Pi with a database, a Docker daemon, or a media server writing constantly, you have probably had an SD card die on you. Modern high-endurance A2 microSD cards buy you time, but the failure mode is the same: cheap NAND with limited write endurance, no meaningful wear leveling by embedded-storage standards, and no over-provisioning. A Raspberry Pi 4 Model B 8GB doing NAS duty issues small metadata writes constantly, and SD cards silently accumulate bit-rot until the filesystem falls over one morning.
An SSD fixes this at the storage layer. Consumer SATA drives like the Crucial BX500 are rated for hundreds of terabytes written across their warranty period — enough for many years of homelab duty. NVMe drives are rated even higher. Both come with real DRAM or HMB-backed metadata caches, controller-level wear leveling, and firmware that survives power loss without corruption.
Attach the SSD over USB 3.0 (a good UASP-capable enclosure is critical), or add an M.2 HAT to the Pi 4 for a native-ish NVMe path, and you turn the Pi into a small NAS you can trust for years.
Key takeaways
- Pi 4 USB 3.0 caps effective throughput near 350 MB/s under UASP; SATA saturates it, NVMe wastes bandwidth.
- Crucial BX500 1TB is the best bulk NAS pick — high capacity per dollar, low power, cool.
- Use a Samsung 970 EVO Plus 250GB as boot volume when random-I/O latency matters.
- Always use UASP-capable USB 3.0 enclosures — non-UASP enclosures cut throughput by 50–70%.
- Boot-from-SSD is the single most impactful reliability upgrade you can make.
Step 0: identify your bottleneck
The Pi 4's storage story looks like this:
| Interface | Theoretical | Real-world | Notes |
|---|---|---|---|
| microSD (UHS-I) | 104 MB/s | ~90 MB/s | Small random I/O is much slower |
| USB 3.0 (BOT) | 625 MB/s | ~40 MB/s | Legacy protocol, avoid |
| USB 3.0 (UASP) | 625 MB/s | ~350 MB/s | Correct protocol for SSDs |
| NVMe via M.2 HAT | ~500 MB/s | ~500 MB/s | HAT-dependent |
You will not exceed 350 MB/s on USB 3.0 with any drive. So paying for an NVMe drive to attach over USB gets you no real speed above what a good SATA SSD delivers. NVMe still wins on random I/O and power efficiency, but if your workload is bulk file storage, the SATA path is smarter.
What you'll need — checklist
Building a Pi 4 homelab NAS requires more than just the Pi and drive:
- Raspberry Pi 4 Model B 8GB (RAM headroom for filesystem caching)
- USB 3.0 SATA or NVMe enclosure — UASP capable
- Your SSD of choice (see picks below)
- 5V/3A USB-C power supply (official Pi PSU strongly recommended)
- Passive or active cooling on the Pi CPU (thermal throttling kills throughput)
- Reliable network cable — Gigabit Ethernet
- Optional: Samsung 970 EVO Plus 250GB NVMe as boot volume + Crucial BX500 1TB as bulk storage
Two drives, one small and fast for boot and one large and cheap for data, is the setup that ages best.
Spec table: the three candidates
| Drive | Interface | Capacity | Endurance (TBW) | Approx. price | Best for |
|---|---|---|---|---|---|
| Crucial BX500 1TB | SATA III | 1 TB | 360 TBW | ~$45 | Bulk NAS storage |
| Samsung 970 EVO Plus 250GB | NVMe (PCIe 3.0 x4) | 250 GB | 150 TBW | ~$45 | Fast boot volume |
| SanDisk SSD Plus 480GB | SATA III | 480 GB | 160 TBW | ~$35 | Budget mid-capacity |
The BX500 wins on price-per-gigabyte for bulk data. The 970 EVO Plus wins on random I/O for boot. The SanDisk SSD Plus fills the mid-tier: cheaper than BX500 per drive, less capacity, still fine.
Benchmark table: real throughput on the Pi 4
Community-measured throughput over the Pi 4's USB 3.0 bus with UASP enclosures. Numbers vary by enclosure quality — a bad JMS578 chipset cuts speeds by half; a good ASM235CM or JMS583 hits these ranges.
| Drive | Sequential read | Sequential write | 4K random read | 4K random write |
|---|---|---|---|---|
| Crucial BX500 1TB | 340 MB/s | 300 MB/s | 8K IOPS | 12K IOPS |
| Samsung 970 EVO Plus 250GB | 350 MB/s | 340 MB/s | 25K IOPS | 30K IOPS |
| SanDisk SSD Plus 480GB | 330 MB/s | 280 MB/s | 6K IOPS | 10K IOPS |
| microSD (Samsung Pro Endurance 128GB) | 85 MB/s | 30 MB/s | 3K IOPS | 800 IOPS |
Even the cheapest SSD is roughly 4x faster sequentially and 10–30x faster on random I/O than a high-endurance microSD card. That difference is what a Pi NAS actually feels day-to-day.
Boot-from-SSD walkthrough — why it beats SD-card boot
Since Raspberry Pi OS bookworm (and forward), USB boot support is baked into the bootloader on the Pi 4. Steps:
- Flash Pi OS to your target SSD using the Imager tool.
- Attach the SSD via UASP-capable USB 3.0 enclosure.
- Update the bootloader (
sudo rpi-eeprom-update -a) to make sure USB boot is the current priority. - Remove the SD card. Boot.
The first-boot experience feels different: package installs run faster, image pulls in Docker don't stall, and databases like SQLite become usable for real workloads. Once you have booted a Pi 4 from an SSD, you will not go back to an SD card except for embedded projects.
Which SSD for which job?
Boot drive. Use the Samsung 970 EVO Plus 250GB. Boot volumes see constant random-I/O — package manager metadata, log rotation, container filesystem writes. NVMe wins there. The 250GB capacity is more than enough for a Pi OS install plus system-level docker volumes.
Bulk NAS storage. Use the Crucial BX500 1TB. It costs about the same as the smaller NVMe but gives you 4x the storage. Sequential throughput is nearly identical over the Pi's USB bus, and the TBW rating handles years of casual NAS writes.
Database with heavy writes. Reach for NVMe. A Postgres or MariaDB instance on a Pi that does thousands of small transactions per hour benefits meaningfully from the 970 EVO Plus's random-I/O IOPS. The BX500's SATA random performance is fine for most homelab uses but noticeably slower under sustained transactional load.
Budget mid-range. The SanDisk SSD Plus 480GB is fine — nothing spectacular, nothing to avoid. Pick it when the BX500 1TB is out of stock and you don't need a full terabyte.
Power and thermals
Some SSDs, especially 2.5-inch SATA drives, can draw more than the Pi 4's USB port supplies safely. Symptoms include random reboots under sustained write load, USB device drops, and undervoltage warnings in dmesg. If you see any of these, the fix is either:
- An externally powered USB 3.0 hub between the Pi and the drive.
- A dual-USB adapter cable that pulls power from a second port.
- A powered SSD enclosure with its own barrel-jack input.
The Samsung 970 EVO Plus 250GB is particularly power-efficient and rarely trips undervoltage warnings even in cheap enclosures. Large 2.5-inch SATA drives are more variable — read reviews for your specific enclosure model before buying.
The Pi 4's CPU also throttles at 80°C. A NAS that saturates the network for hours will heat the CPU, and thermal throttling drops your effective throughput. Add at least a passive heatsink; a small active fan (or the Argon One case with its integrated cooling) is better.
Common pitfalls
Non-UASP USB enclosures. These use the older BOT protocol and cap SSD throughput near 40 MB/s regardless of drive speed. Verify UASP support before buying.
JMicron JMS578 chipset. Even in UASP mode this chipset stutters on some Pi kernels. Prefer JMS583 or ASM235CM.
Skipping the bootloader update. Older bootloader versions can't boot from USB SSDs reliably. Run rpi-eeprom-update first.
Underspec'd PSU. A 5V/2.5A adapter is enough for the Pi alone; a NAS needs the full 5V/3A official supply, especially if the SSD isn't externally powered.
Ignoring thermals. A Pi 4 running at 80°C is throttled 30–40% below its normal clock. Every NAS build needs cooling.
Filesystem choice matters more than you'd think
Once your SSD is attached, the filesystem you format it with drives long-term reliability and performance. Three practical options:
ext4. The default on Raspberry Pi OS. Works fine, tolerates power loss well with journaling, and needs no special tuning for a NAS role. Best pick when you want no surprises.
btrfs. Adds snapshots, checksums, and per-file compression. Excellent for a homelab NAS where you want easy rollback and integrity checks on your media library. The write-amplification cost is small; ARM SBC-class boards handle it fine.
ZFS. Overkill for a Pi 4 8GB. ZFS wants at least 1 GB of RAM per TB of storage for its ARC cache, and its checksum validation is CPU-heavy on ARM. Fine on a Pi 5 with 16GB of RAM, avoid on a Pi 4 unless you accept meaningful throughput loss.
For most homelabs, ext4 on the boot volume and btrfs on the bulk drive is the practical sweet spot.
Real-world sample workload numbers
Community measurements on a Pi 4 8GB with the BX500 1TB attached over a UASP-capable ASM235CM enclosure, running Samba over Gigabit Ethernet:
| Workload | Throughput | Notes |
|---|---|---|
| Large file copy from Windows client | ~110 MB/s | Gigabit line rate |
| Small file directory sync (~100K files) | ~15K files/min | I/O bound, not network |
| Sustained Time Machine backup | ~90 MB/s | Steady, no throttle |
| Plex 1080p transcode from library | Real-time | Bottleneck is the Pi CPU |
| Docker image pull + extract | ~350 MB/s local | USB bus saturated |
The Gigabit ethernet ceiling of ~113 MB/s becomes the outer bound for network-facing workloads. That's fine — even a $30 SATA SSD saturates a Gigabit link with room to spare.
Bottom line: the pick
Buy two drives. Use the Samsung 970 EVO Plus 250GB NVMe as your boot volume for reliability and random-I/O speed. Use the Crucial BX500 1TB SATA SSD as your bulk data drive for capacity per dollar. Both attach through a decent UASP-capable USB 3.0 enclosure. Total spend under $100.
If you can only pick one, go SATA — the Crucial BX500 1TB is the best single-drive answer for a Pi 4 NAS: enough capacity to be useful, enough endurance for years, low enough power to run off the Pi's USB bus reliably.
Verdict matrix
| Situation | Recommendation |
|---|---|
| Bulk file storage / media NAS | SATA (BX500 1TB) |
| Boot volume + system disk | NVMe (970 EVO Plus) |
| Small transactional database | NVMe |
| Budget mid-capacity general use | SanDisk SSD Plus 480GB |
| Docker-heavy homelab | NVMe boot + SATA bulk |
| Power-constrained (5V/2.5A supply) | Prefer NVMe (lower draw) |
| Cold storage / infrequent access | SATA + external power |
Related guides
- Local LLM on the Ryzen 5 5600G iGPU — same SSD picks apply to inference boxes
- Best budget PC gaming accessories under $100
- /benchmarks/samsung-970-evo-plus — 970 EVO Plus full spec + benchmark page
Citations and sources
- Raspberry Pi Foundation — Pi 4 Model B product page
- Crucial — BX500 SSD product page
- Samsung Semiconductor — 970 EVO Plus product page
This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.
