NVMe Cache in a NAS: What It Actually Speeds Up
NVMe cache speeds up random, repeated, small-file access — photo-library browsing, Plex/Photos metadata scanning, active project folders, and Docker/VM disk I/O — by sitting in front of your HDD storage pool and absorbing the random-access penalty spinning drives are worst at. It does not raise your NAS's sustained sequential transfer ceiling: a big one-time file copy still eventually rides the HDD array and your network link, and cache is not a substitute for a faster network link or more drives. Cache is also a different mode than an all-flash NVMe storage pool — same M.2 slots, very different job.
What is NVMe cache, mechanically?
Most current NAS boxes (Synology DS923+, QNAP TS-264/TS-464, Asustor AS5404T, UGREEN DXP2800/DXP4800 among our picks) include one or more M.2 NVMe slots that can be assigned, in the NAS operating system, to one of two distinct jobs: a cache layered in front of the HDD storage pool, or primary storage in an all-flash pool of their own. Choosing cache mode means the NVMe drives never hold your only copy of a file — they hold a fast, temporary layer that the NAS uses to serve or absorb the I/O patterns HDDs handle worst.
Read-only cache vs read/write cache
- Read-only (read) cache stores copies of frequently and recently accessed data so future reads of that same data come from NVMe speed instead of waiting on a spinning platter's seek time. It's low-risk: if the cache drive fails, the NAS simply reads from the HDD pool again — no data is lost, because the cache never held the only copy. A single NVMe drive is fine for this mode.
- Read/write cache also absorbs incoming writes at SSD speed before flushing them to the HDD pool in the background, which smooths bursty random writes (many small files landing at once, database-heavy apps, VM disks). This carries real risk: for a window of time, the only copy of that written data can be sitting on the cache drive, unflushed. That's why most vendors strongly recommend — and some require — a mirrored pair of NVMe drives for read/write cache, so one NVMe failure doesn't lose recent writes.
What NVMe cache genuinely helps
The common thread across every real win is random, repeated access to a working set smaller than the cache, not throughput on a single big transfer:
- Photo and media libraries. Apps like Synology Photos or Plex constantly re-scan thumbnails, metadata, and database indexes — small, random, repeated reads that HDDs handle far worse than sequential streaming.
- Docker containers and VMs. Container and VM disk images generate constant small random reads and writes as the OS and apps inside them run — exactly the pattern HDDs are worst at and NVMe is built for. See our Docker/VM guide for the CPU/RAM side of that same decision.
- Active project or working folders accessed by multiple users or apps throughout the day, where the same files get opened repeatedly.
- Database-backed apps (self-hosted note apps, small business tools) that do frequent small reads/writes rather than big sequential ones.
What NVMe cache does NOT meaningfully help
- Sustained large sequential transfers. A write cache can absorb the first burst of a large copy at SSD speed, but once the cache is full (or for a genuinely large one-time transfer, like an initial backup seed or a video export), the NAS falls back to whatever the HDD pool can sustain — commonly ~180–280MB/s per drive on modern NAS-rated HDDs. Cache doesn't rewrite that ceiling.
- Network-bound workloads. If a 1GbE link is capping you around ~110MB/s (see 2.5GbE vs 1GbE), NVMe cache on the NAS side changes nothing — the bottleneck is the wire, not the drive. Cache and network speed are separate upgrades that address different bottlenecks.
- Pure media streaming. Sequential playback of movies and shows is exactly the access pattern HDDs already handle well; a 4K remux stream needs only roughly 5–12MB/s, far under what a plain HDD delivers. Cache buys you nothing here.
- One-time, cold, or rarely-repeated reads — cache only helps data it has already seen and retained; the very first access to anything is always served from the HDD pool.
Cache mode vs all-flash NVMe storage pool — don't confuse them
The same M.2 slots can instead be configured as a standalone all-flash NVMe storage pool, where your actual files live directly on the NVMe drives with no HDD behind them at all — full NVMe speed for everything, at NVMe capacity and cost per terabyte. That's a completely different mode from cache: cache accelerates an HDD pool you still rely on for capacity; an all-flash pool replaces the HDD pool for whatever you put on it. Some NAS operating systems (and the Synology DS923+ specifically, per Synology's own drive guidance) also draw a distinction between Synology-branded and third-party NVMe drives for full storage-pool support versus cache-only support — check the exact model's current documentation, since this policy has been tightening. See the Synology drive-lock situation.
How much cache do you actually need?
Cache is only useful up to the size of your actual "hot" working set — the subset of data you touch repeatedly. A cache far smaller than your library still helps (it holds the most recently/frequently touched slice), but doubling cache size past your working set stops producing gains. For a typical home NAS running Plex/Photos plus a handful of Docker containers, a modest cache (well under a terabyte) is usually enough to hold the active metadata and hot files; heavier multi-user or VM-heavy setups benefit from more. There's no universal number — the honest approach is to add a modest cache first and watch whether cache-hit metrics in the NAS's storage manager (most vendors expose this) justify more.
Which of our picks actually have NVMe slots?
Per current manufacturer specifications:
- Synology DiskStation DS923+ — 2× M.2 NVMe (2280), usable as cache or an all-flash pool (subject to Synology's drive-compatibility policy — verify before buying). Check price on Amazon →
- QNAP TS-464 — 2× M.2 PCIe Gen3 NVMe slots, plus a PCIe expansion slot for further upgrades. Check price on Amazon →
- Asustor AS5404T (Nimbustor 4 Gen2) — four M.2 NVMe slots, the most among our picks, enough for a genuine all-flash pool or a generous mirrored cache alongside the HDD bays. Check price on Amazon →
The Synology DS224+ has no NVMe slots at all — if cache or an NVMe pool matters to you, it's a reason to look at the 4-bay or non-Synology picks. Full spec comparison on our Best NAS 2026 hub.
Bottom line
Add NVMe cache when your actual workload is random and repetitive — photo/media libraries, Docker/VMs, active project files — not to chase a bigger number on a spec sheet. It won't fix a slow network link, and it won't make a one-time large transfer faster once the cache fills. Pick read-only cache for a low-risk speed boost, or a mirrored read/write cache if you understand and accept the extra-drive cost for smoothing write bursts. And as always: RAID (and cache) are not a backup.
Related reading
Frequently Asked Questions
Random, small, repeated I/O against the same hot data: browsing large photo/video libraries, indexing (Plex/Photos database lookups), many small files in active projects, and virtual machine or container disk access. An SSD read/write cache absorbs the random-access penalty that spinning HDDs are worst at, so repeated reads and metadata-heavy operations feel far snappier.
Only briefly, and it depends on the setup. A write cache can absorb a burst of writes at SSD speed before flushing to the slower HDD array behind it, which helps the start of a big copy — but once the cache fills or the transfer is genuinely large, throughput settles back to whatever the HDD array and your network link (see 2.5GbE vs 1GbE) can sustain. Cache does not raise your NAS's sustained sequential ceiling.
No, and mixing these up is the most common NVMe confusion. A cache is a read or read/write accelerator sitting in front of the real HDD storage pool — the NVMe drives don't hold your primary files. An all-flash NVMe pool uses the same M.2 slots as actual storage: your files live on the NVMe drives themselves, no HDD behind it. Both use the same physical slots; the software mode you choose decides which one you get.
For a read-only cache, a single NVMe drive is fine — if it fails, the NAS just falls back to reading from the slower HDD array with no data loss, because the cache never held the only copy. For a read/write cache, most vendors strongly recommend or require two NVMe drives in a mirror, because a write cache can briefly hold data that hasn't been flushed to the HDD array yet — losing that unmirrored cache drive can mean losing recent writes.
Per current manufacturer specs: the Synology DS923+ has 2× M.2 NVMe slots, QNAP's TS-264 and TS-464 each have 2× M.2 PCIe Gen3, the Asustor AS5404T stands out with four M.2 slots, and the UGREEN DXP2800/DXP4800 each carry 2× M.2. The Synology DS224+ has none. Always confirm the current spec sheet before buying, since NVMe slot counts and Gen (3 vs 4) vary by revision.
It depends on your workload, not a blanket yes. It's a clear win for Plex/Photos libraries with heavy metadata scanning, active Docker/VM workloads, and NAS-hosted project files with lots of small random access. It does little for pure media streaming (sequential reads a HDD already handles fine) or for one-off large backups. Weigh the extra NVMe drive cost against whether your actual daily use is random-access-heavy.
How we work
We're a research-based site: we analyze storage engineering and manufacturer documentation rather than lab-testing every configuration. We report mechanisms and specs, never guarantees about performance — read our full methodology →