Skip to content
Make in India OEM · INR-transparent · Pan-India onsite SLATalk to sales: +91 720 794 8743Sign in

NVMe over Fabrics for AI Storage: RoCE vs TCP vs Fibre Channel

Explainer Updated 19 Aug 2026 · 6 min read

Overview

NVMe over Fabrics (NVMe-oF) lets a GPU node access remote NVMe drives over a network with latency close enough to local flash that the difference stops mattering for most AI workloads. The transport decision is the real design choice: RDMA over Converged Ethernet (RoCEv2) adds only single-digit microseconds per I/O but demands a lossless-tuned network; NVMe/TCP runs on any Ethernet and any kernel but adds tens of microseconds and CPU load; NVMe over Fibre Channel is mature and deterministic but confines you to an FC estate few AI shops build today. Disaggregation pays when it lifts flash utilisation from the 50-60 percent typical of stranded local drives to the 85-95 percent a shared pool can reach.

NVMe over Fabrics for AI Storage: RoCE vs TCP vs Fibre Channel
What you’ll learn: what NVMe-oF changes versus local NVMe and iSCSI, how RoCEv2, TCP, and FC transports compare on latency and operational load, how to build an end-to-end latency budget, and when disaggregated flash beats drives in the server.

Key takeaways

  • A local PCIe Gen5 NVMe read completes in roughly 70-100 microseconds; well-built NVMe/RDMA adds about 5-10 microseconds on top, NVMe/TCP commonly adds 30-80 microseconds under load.
  • RoCEv2 needs a lossless Ethernet fabric – PFC and ECN tuned correctly – which is an operational skill, not a checkbox.
  • NVMe/TCP is the pragmatic default for mixed environments: no special NICs, standard kernels since Linux 5.x, at a modest latency and CPU cost that DPUs can offload.
  • NVMe/FC mainly makes sense where a Fibre Channel SAN and its operational practice already exist.
  • Disaggregate when flash utilisation, blast-radius control, or independent scaling of compute and capacity matter; keep local NVMe for scratch and cache tiers regardless.

What NVMe-oF actually changes

iSCSI carried SCSI – a protocol designed for disk – over TCP, with one queue and heavy per-I/O overhead. NVMe-oF extends the native NVMe command set, with its thousands of parallel queues, across a network fabric. The result is that a JBOF (just a bunch of flash) or storage server can present namespaces to many GPU nodes at near-local performance, and vendor-published measurements such as Western Digital’s RoCE-vs-TCP white paper show remote flash tracking local flash closely when the fabric is built properly. This is the plumbing underneath most modern all-flash AI storage platforms, whether or not the marketing mentions it.

Transport option 1: RDMA (RoCEv2 and InfiniBand)

RDMA transports move data directly between NIC and memory without kernel copies. Published figures put InfiniBand’s added latency around 2-5 microseconds per I/O and RoCEv2 around 5-10 microseconds – effectively invisible next to the drive’s own access time. The cost is fabric discipline: RoCEv2 wants a lossless network with Priority Flow Control and ECN correctly configured on every switch, and misconfiguration produces pathological behaviour (pause storms, congestion spreading) that is hard to debug. If your team already runs a lossless fabric for GPU east-west traffic, extending that competence to storage is natural; if not, budget real engineering time.

Transport option 2: NVMe/TCP

NVMe/TCP runs over ordinary Ethernet with ordinary switches and has been in mainline Linux for years. Typical added latency is in the tens of microseconds – commonly quoted ranges run 30-80 microseconds over RDMA depending on congestion and CPU load – and it consumes host CPU cycles for the TCP stack. For dataset reads, checkpoint writes, and most AI I/O patterns, that is acceptable; the workloads that genuinely feel the difference are small-block, latency-critical patterns like database pages or very hot cache tiers. DPUs such as NVIDIA BlueField-3 can terminate NVMe/TCP or NVMe/RDMA in hardware, reclaiming host cores – a pattern covered in GPUDirect Storage and DPU offload.

Transport option 3: NVMe over Fibre Channel

NVMe/FC maps NVMe onto an existing FC SAN (32G/64G FC today). It inherits FC’s strengths – lossless by design, mature zoning and multipathing, deterministic behaviour – and its weaknesses: a separate fabric, separate skills, and per-port costs that rarely make sense for a greenfield AI build. The honest guidance: choose NVMe/FC when a bank or enterprise already operates FC at scale and wants AI storage inside that governance model; choose Ethernet transports otherwise.

Building the latency budget

Work end to end: drive media time plus controller, plus fabric hops, plus transport overhead, plus host stack. A useful planning skeleton for a 4KB random read: NVMe TLC media and controller about 60-90 microseconds; two switch hops about 1-4 microseconds; RDMA transport 5-10 microseconds or TCP 30-80 microseconds; host completion path 5-15 microseconds. The lesson most architects take from writing this down is that the drive dominates until you pick TCP under congestion – at which point the network becomes the story. Measure with fio at target queue depths rather than trusting any of these numbers; our benchmarking guide covers method.

Transport comparison

Transport Added latency (typical published) Network requirement Host CPU cost Operational complexity Best fit
NVMe/RDMA (InfiniBand) ~2-5 us InfiniBand fabric Very low High (IB estate) Clusters already running IB
NVMe/RDMA (RoCEv2) ~5-10 us Lossless Ethernet (PFC/ECN) Very low High (fabric tuning) Performance-critical Ethernet AI fabrics
NVMe/TCP ~30-80 us under load Any Ethernet Moderate (offloadable to DPU) Low Default for mixed estates
NVMe/FC ~10-30 us FC SAN (32/64G) Low Moderate (existing FC skills) Enterprises with FC estates

When disaggregation beats local drives

Keep flash local when the data is disposable scratch, when the cluster is small, or when you cannot fund fabric engineering – the trade-offs are laid out in local NVMe scratch vs shared storage. Disaggregate when drives sit half-empty across many nodes, when a node failure must not strand data, when checkpoint targets need more write bandwidth than one server’s slots can hold, or when you want to grow capacity without buying servers. Under the current NAND allocation environment – see the 2026 memory and NAND squeeze – pooling scarce drives efficiently is itself a procurement argument, and one that resonates for Indian buyers watching import lead times.

Frequently asked questions

Is NVMe/TCP fast enough for AI training?

Usually yes. Training I/O is dominated by large sequential reads and checkpoint writes, which are bandwidth problems, not microsecond-latency problems. TCP’s added tens of microseconds rarely move GPU utilisation; an undersized total bandwidth figure does.

Do I need special NICs for RoCEv2?

You need RDMA-capable NICs (for example NVIDIA ConnectX or Broadcom Thor class) and switches configured for lossless behaviour. Standard NICs cannot run RoCE; they can run NVMe/TCP.

Can NVMe-oF and GPUDirect Storage work together?

Yes. GPUDirect Storage moves data from NIC or drive directly into GPU memory, and it supports NVMe-oF targets over RDMA – combining them removes both the network copy and the bounce buffer.

What does NVMe-oF mean for drive count planning?

Aggregate IOPS and bandwidth still come from physical drives. Disaggregation changes where drives live, not how many you need – size from workload bandwidth first, then decide placement.

Is iSCSI dead for AI storage?

For new AI builds, effectively yes. NVMe/TCP runs on the same networks with the same operational simplicity while removing the SCSI translation layer, so there is little reason to start an iSCSI deployment today.

Download the full blueprint (PDF)

Ready to deploy?

Talk to an RDP architect about power, cooling and lead time.

Request a Quote