<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI Infrastructure on lo0 — Tech Blog</title><link>https://blog.lo0.es/en/categories/ai-infrastructure/</link><description>Recent content in AI Infrastructure on lo0 — Tech Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Mon, 22 Jun 2026 12:00:00 +0200</lastBuildDate><atom:link href="https://blog.lo0.es/en/categories/ai-infrastructure/index.xml" rel="self" type="application/rss+xml"/><item><title>Storage in the AI era (1/4): the state of the art</title><link>https://blog.lo0.es/en/posts/ai-era-storage-state-of-the-art/</link><pubDate>Mon, 22 Jun 2026 12:00:00 +0200</pubDate><guid>https://blog.lo0.es/en/posts/ai-era-storage-state-of-the-art/</guid><description>&lt;p>Public conversation about AI infrastructure almost always revolves around the GPU: how many FLOPs, how much HBM, how many watts. But anyone who designs or runs an &lt;em>AI factory&lt;/em> knows the bottleneck has moved. A Blackwell GPU sitting idle waiting for data costs exactly the same as a Blackwell GPU doing work; what makes the difference is the subsystem feeding it. This first article in the series maps the state of the art in AI storage as of mid-2026: the memory and storage hierarchy, the media technologies (NAND, NVMe, CXL), the parallel file systems that dominate GPU clusters and the new inference stack that has turned the SSD into a component of the memory hierarchy.&lt;/p>
&lt;p>The three articles that follow go deeper into the three properties that matter to an architect once that storage reaches production: &lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-performance/">performance&lt;/a>, &lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-security/">security&lt;/a> and &lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-availability/">availability&lt;/a>.&lt;/p>
&lt;h2 id="the-underlying-problem-the-memory-wall">The underlying problem: the memory wall&lt;/h2>
&lt;p>A modern GPU is, above all, a machine for moving data. Compute itself is almost never the limit; the limit is the bandwidth feeding the functional units. The hierarchy that runs from GPU registers down to NVMe spans six orders of magnitude in latency and several in bandwidth. Registers are on the order of a million times faster than an NVMe access, and in between sit on-chip SRAM, HBM, host DRAM and, finally, persistent storage.&lt;/p>
&lt;p>The practical consequence is well known: in many training workloads GPUs run at 30-50 % of their theoretical FLOPs utilisation because they spend a significant fraction of their time waiting for data. This is the &lt;em>memory wall&lt;/em>. Its most useful quantitative formulation is arithmetic intensity, the ratio of operations to bytes moved:&lt;/p>
$$I = \frac{\text{FLOPs}}{\text{bytes}}$$
&lt;p>When a workload&amp;rsquo;s intensity falls below the hardware&amp;rsquo;s break-even point (the &lt;em>ridge point&lt;/em> of the &lt;em>roofline&lt;/em> model), performance is limited by bandwidth rather than compute. The industry&amp;rsquo;s race towards HBM, towards NVLink and, at the layer that concerns us, towards 28 GB/s NVMe and 800 Gb/s networks, is at bottom a war against that wall.&lt;/p>
&lt;p>The problem gets worse because compute has grown much faster than memory bandwidth. Each GPU generation multiplies FLOPs more generously than the TB/s of memory that feed them, so the &lt;em>ridge point&lt;/em> shifts towards ever higher arithmetic intensities: more workloads fall on the bandwidth-limited side. This is the structural reason storage and memory have moved to the foreground. It is not that storage has improved less (it has improved enormously), but that the GPU demands more of it every year. An architect who designs with FLOPs alone in mind will build systems that spend half their time waiting.&lt;/p>
&lt;p>It pays to keep the whole pyramid in view when we talk about &amp;ldquo;storage&amp;rdquo; in AI, because design decisions at one level constrain the others:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Level&lt;/th>
&lt;th>Technology&lt;/th>
&lt;th>Typical bandwidth&lt;/th>
&lt;th>Latency&lt;/th>
&lt;th>Capacity per device&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>On-package&lt;/td>
&lt;td>HBM3e / HBM4&lt;/td>
&lt;td>1.2-3.3 TB/s per stack&lt;/td>
&lt;td>ns&lt;/td>
&lt;td>36-64 GB&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Host memory&lt;/td>
&lt;td>DDR5 / CXL&lt;/td>
&lt;td>0.3-0.5 TB/s&lt;/td>
&lt;td>~100 ns&lt;/td>
&lt;td>TB&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Hot flash&lt;/td>
&lt;td>NVMe Gen5/Gen6&lt;/td>
&lt;td>14-28 GB/s&lt;/td>
&lt;td>10-100 µs&lt;/td>
&lt;td>4-256 TB&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Capacity&lt;/td>
&lt;td>Nearline QLC / HDD&lt;/td>
&lt;td>1-7 GB/s&lt;/td>
&lt;td>ms&lt;/td>
&lt;td>30-245 TB&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Archive&lt;/td>
&lt;td>Object / tape&lt;/td>
&lt;td>variable&lt;/td>
&lt;td>s&lt;/td>
&lt;td>EB (aggregate)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The state of the art in 2026 consists, to a large extent, in how the boundaries between these levels blur: HBM spills over into DRAM, DRAM into CXL, and the inference KV-cache into NVMe. Storage has stopped being the basement of the hierarchy and has become part of it.&lt;/p>
&lt;h2 id="hbm4-the-ceiling-rises-but-it-stays-expensive">HBM4: the ceiling rises, but it stays expensive&lt;/h2>
&lt;p>At the top sits high-bandwidth memory stacked next to the GPU. In April 2025 JEDEC published the HBM4 standard (JESD270-4), which doubles the interface to 2048 bits per &lt;em>stack&lt;/em> against HBM3e&amp;rsquo;s 1024 bits, reaches up to 8 Gb/s per pin and lands around 2 TB/s typical with peaks up to 3.3 TB/s per &lt;em>stack&lt;/em>. It supports configurations of 4 to 16 layers with 24 or 32 Gb dies, up to 64 GB per cube. HBM3e, the generation that dominates accelerators in production in mid-2026, sits near 1.2 TB/s and a 36 GB maximum.&lt;/p>
&lt;p>The figure that matters to an architect is not peak bandwidth but scarcity. Micron has essentially sold out its entire HBM production through 2026, and capacity expansion is not expected before late 2027-2028. That constraint is what pushes the load downwards through the hierarchy: if you cannot add HBM, you have to learn to spill gracefully into DRAM, CXL and flash. Much of the recent innovation comes from there.&lt;/p>
&lt;h2 id="nand-and-ssd-capacity-explodes-the-interface-widens">NAND and SSD: capacity explodes, the interface widens&lt;/h2>
&lt;p>The flash layer is where AI&amp;rsquo;s pressure on the market shows most. Two vectors at once: capacity and interface.&lt;/p>
&lt;p>On &lt;strong>capacity&lt;/strong>, 2025-2026 has been the year of the race to 245 TB. The Solidigm D5-P5336 reached 122 TB (PCIe 4.0) and became the highest-capacity SSD available, on sale for around 12,400 USD; Solidigm has confirmed models of 245 TB or more for late 2026. Micron introduced the 6600 ION with 245 TB in E3.L form factor. By mid-2026 there are at least eight 245 TB SSDs announced by SanDisk, Samsung, Kioxia, Micron, SK hynix and others, all built on high-density QLC NAND (SK hynix is already producing 321-layer QLC) to satisfy hyperscaler demand. Enterprise QLC is consolidating as a replacement for nearline HDD, whose supply lags well behind demand and whose &lt;em>lead times&lt;/em> have stretched.&lt;/p>
&lt;p>QLC deserves a qualification that sometimes gets lost in the excitement over capacity: write endurance. QLC NAND stores four bits per cell, which multiplies density but reduces the number of erase cycles it tolerates compared with TLC. For AI datasets written once and read many times, the typical case of a &lt;em>training set&lt;/em>, this is irrelevant and QLC is the right choice. For workloads with intensive, constant writes, certain &lt;em>checkpoints&lt;/em> or a fast-rotating KV-cache, wear has to be watched and TLC often reserved. Knowing the write pattern of each workload is what allows the right medium to be assigned without overpaying or under-wearing.&lt;/p>
&lt;p>On &lt;strong>interface&lt;/strong>, PCIe Gen6 has entered datacenter production. The Micron 9650 was the first mass-produced PCIe Gen6 datacenter SSD (February 2026), with 28 GB/s of &lt;em>throughput&lt;/em>, roughly double Gen5. Controllers are keeping pace: the Silicon Motion SM8466 advertises 28 GB/s sequential and 7 million random IOPS; FADU&amp;rsquo;s Gen6 part (&amp;ldquo;Lhotse&amp;rdquo;) targets 28.5 GB/s read, 6.9 million IOPS, NVMe 2.2 and native SR-IOV with 128 virtual functions. The adoption path is clear: Gen6 arrives first in AI, HPC and the datacenter, and only afterwards, if at all, in the consumer PC.&lt;/p>
&lt;p>Over the network, &lt;strong>NVMe-oF&lt;/strong> splits into two worlds. NVMe/TCP leads &lt;em>greenfield&lt;/em> array-to-host deployments for its operational simplicity, with latencies of 100-200 µs. NVMe over RDMA (RoCEv2, iWARP) remains the gold standard for low latency (10-20 µs) where a lossless &lt;em>fabric&lt;/em> already exists, such as the ones AI clusters deploy. Ethernet at 25-100 Gb/s is steadily eroding Fibre Channel&amp;rsquo;s share of storage traffic.&lt;/p>
&lt;p>The choice between TCP and RDMA is not an aesthetic preference. NVMe/TCP runs over any existing Ethernet network and greatly simplifies operations, at the cost of higher latency and of host CPU consumption that, under heavy load, competes with compute. NVMe/RoCE demands a lossless &lt;em>fabric&lt;/em>, with priority flow control and &lt;em>congestion control&lt;/em> properly tuned, plus capable NICs, but it delivers the latency that latency-sensitive AI workloads need and offloads processing to the NIC. In an AI cluster that already deploys InfiniBand or RoCE for GPU-to-GPU traffic, reusing that &lt;em>fabric&lt;/em> for storage is the natural decision; in a mixed enterprise infrastructure, NVMe/TCP usually wins on operability.&lt;/p>
&lt;h2 id="cxl-from-powerpoint-to-production">CXL: from PowerPoint to production&lt;/h2>
&lt;p>Compute Express Link spent years as the eternal promise. By early 2026 it has finally reached &lt;em>mainstream&lt;/em> adoption in production platforms with CXL 3.0/3.1, aligned with PCIe 6.1. The hardware support is there: Intel Xeon 6 (Granite Rapids and later) includes native CXL 3.0 in the CPU, and AMD EPYC Turin is a target platform. CXL 3.0 multi-host pooling &lt;em>switches&lt;/em> are already running at some colocation providers.&lt;/p>
&lt;p>The use case that has moved from theory to numbers is memory &lt;em>tiering&lt;/em>: keeping hot data in GPU HBM and pushing cold data to a shared CXL DRAM &lt;em>pool&lt;/em>. Supply chain vendors (Astera Labs, MemVerge, XConn) report notable gains from offloading the inference KV-cache to CXL memory compared with SSD or RDMA-based solutions. The specific figures deserve caution, since they come largely from the manufacturers themselves, but the direction is real: CXL has become a usable disaggregated memory layer, not a laboratory experiment. &lt;em>Tiering&lt;/em> support in the Linux kernel (6.1 onwards) is maturing, although getting value from it still requires NUMA-aware applications.&lt;/p>
&lt;h2 id="parallel-file-systems-the-gpu-battlefield">Parallel file systems: the GPU battlefield&lt;/h2>
&lt;p>If the media layer is where silicon vendors compete, the parallel file system layer is where platform vendors compete, and it is the one an AI architect touches daily. The market has reshuffled in a few years.&lt;/p>
&lt;p>&lt;strong>WEKA&lt;/strong> has probably been the most talked-about case. Its system (WekaFS, now repackaged as NeuralMesh) bypasses the Linux kernel by running as an RTOS in user space, uses RDMA instead of TCP/IP and distributes metadata through consistent &lt;em>hashing&lt;/em>. Published figures cite latencies of 100-200 µs against more than 1000 µs for traditional stacks, and metadata performance that doubles Lustre&amp;rsquo;s. In 2026 it launched its NeuralMesh AI Data Platform on the NVIDIA reference design, with an &amp;ldquo;Augmented Memory Grid&amp;rdquo; aimed at context memory for agentic AI.&lt;/p>
&lt;p>&lt;strong>VAST Data&lt;/strong> has bet on a different architecture, DASE (&lt;em>Disaggregated Shared-Everything&lt;/em>), a single all-flash &lt;em>tier&lt;/em> on which it has built what it calls an &amp;ldquo;AI OS&amp;rdquo;: a stack with a database, a data engine, &lt;em>InsightEngine&lt;/em> for real-time AI &lt;em>pipelines&lt;/em>, vector search and RAG, and integrated governance. Azure has adopted its system, a sign of the traction it has gained.&lt;/p>
&lt;p>&lt;strong>Lustre&lt;/strong> (DDN) remains the most widespread file system in classic supercomputing, but it is being eroded in the GPU arena by VAST and WEKA. &lt;strong>DAOS&lt;/strong> shines at the &lt;em>top end&lt;/em> of traditional HPC but barely appears in commercial AI clusters. &lt;strong>IBM Storage Scale&lt;/strong> (the former Spectrum Scale/GPFS) has repositioned itself with &lt;em>Content Awareness&lt;/em> for RAG and support for NVIDIA&amp;rsquo;s data platform, alongside a refresh of the FlashSystem range.&lt;/p>
&lt;p>The common denominator of this whole generation is alignment with NVIDIA. Platforms are certified against DGX SuperPOD and integrate with &lt;strong>GPUDirect Storage&lt;/strong>, which allows direct DMA between storage and GPU memory, skipping the CPU and the &lt;em>bounce buffer&lt;/em>. In GB200 NVL72 architectures, a liquid-cooled rack that presents 72 GPUs as a single giant GPU through NVLink, with 13.4 TB of unified GPU memory, GPUDirect Storage certification stops being an ornament and becomes a requirement.&lt;/p>
&lt;p>To place the main players side by side, it helps to summarise their architectural bets, which are genuinely different and not mere variations on a single design:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Platform&lt;/th>
&lt;th>Architecture&lt;/th>
&lt;th>Differentiator&lt;/th>
&lt;th>Fit in AI&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>WEKA NeuralMesh&lt;/td>
&lt;td>User-space RTOS, RDMA&lt;/td>
&lt;td>Very low latency, metadata distributed by hashing&lt;/td>
&lt;td>Training and agentic inference, context memory&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>VAST DataStore&lt;/td>
&lt;td>Disaggregated all-flash DASE&lt;/td>
&lt;td>Single exabyte-scale multiprotocol namespace, AI OS&lt;/td>
&lt;td>Lakehouse + RAG + inference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>IBM Storage Scale&lt;/td>
&lt;td>Parallel (ex-GPFS)&lt;/td>
&lt;td>Content Awareness for RAG, HPC maturity&lt;/td>
&lt;td>Enterprise and HPC with unstructured data&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>DDN EXAScaler/Lustre&lt;/td>
&lt;td>Hardened Lustre&lt;/td>
&lt;td>Raw throughput per rack, massive deployments&lt;/td>
&lt;td>Supercomputing and &lt;em>AI factories&lt;/em>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pure Storage&lt;/td>
&lt;td>All-flash with Purity&lt;/td>
&lt;td>&lt;em>Evergreen&lt;/em> operations, simplicity&lt;/td>
&lt;td>Enterprises that value operations over peak&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The choice between them is rarely decided by peak GB/s, but by workload pattern (sequential training against random inference), by the operating model and by the degree of integration required with the NVIDIA stack. A sensible architect first assesses their workload mix and only then compares numbers.&lt;/p>
&lt;h2 id="the-rack-as-the-unit-of-compute-gb200-rubin-and-bluefield-4">The rack as the unit of compute: GB200, Rubin and BlueField-4&lt;/h2>
&lt;p>The change in granularity is worth pausing on. For decades the design unit was the server; today, in AI, it is the rack. The GB200 NVL72 integrates 72 Blackwell GPUs and 36 Grace CPUs into a single 130 TB/s NVLink domain, presented to software as one logical GPU with 13.4 TB of unified memory and capable of up to 30 times the real-time inference of a trillion-parameter LLM against the previous generation. At that scale storage does not compete with internal bandwidth (it could not), but it must feed model loading and the inference KV-cache (and, where applicable, training &lt;em>checkpointing&lt;/em>) without strangling the 72 GPUs that behave as one.&lt;/p>
&lt;p>The roadmap sharpens the trend. The Rubin generation and, in particular, the Rubin CPX, a GPU specialised in long-context inference with more than a million tokens, push still more data towards the memory and storage layers. And the piece that stitches it all together is the DPU: NVIDIA&amp;rsquo;s BlueField-4 enables an &amp;ldquo;Inference Context Memory Storage&amp;rdquo; platform that turns the KV-cache into a &lt;em>pod&lt;/em>-level shared flash resource, connected over Spectrum-X Ethernet. The DPU offloads storage and security data movement from the CPU, and is becoming the true storage controller of the AI node. For the architect, this means storage design no longer ends at the array: it includes the NIC, the DPU and the &lt;em>fabric&lt;/em>.&lt;/p>
&lt;h2 id="the-inference-stack-when-the-ssd-joins-the-memory-hierarchy">The inference stack: when the SSD joins the memory hierarchy&lt;/h2>
&lt;p>The most important conceptual change of the past two years, and the one that best summarises the state of the art, is this: &lt;strong>flash storage has become part of the inference memory hierarchy&lt;/strong>. The cause is context windows. As models handle hundreds of thousands, or millions, of tokens, the KV-cache generated by the &lt;em>prefill&lt;/em> phase overflows HBM. That overflowing KV-cache drops first into host DRAM and then to the NVMe SSD.&lt;/p>
&lt;p>NVIDIA has standardised this pattern. Its Dynamo orchestration layer operates across the whole hierarchy, HBM → CPU DRAM → NVMe → network storage, with a KV-cache &lt;em>offload&lt;/em> engine and a transfer library (NIXL) for sharing cache between nodes. In January 2026 it standardised KV-cache &lt;em>offload&lt;/em> to NVMe SSD, and it has introduced an &amp;ldquo;Inference Context Memory Storage&amp;rdquo; platform based on BlueField-4 DPUs that turns the KV-cache into a high-bandwidth shared resource at &lt;em>pod&lt;/em> level. Solidigm and other SSD makers have aligned their message around the same idea: long-context inference is, in part, a flash storage problem.&lt;/p>
&lt;p>The design consequences are concrete. A 2026 inference server carries between 8 and 32 SSDs, with the figure expected to reach 32 within a couple of years, and a random access pattern, against the sequential pattern and the dozen or so drives of a training server. The ratio of inference to training servers can reach 50 to 1. The centre of gravity of storage investment is shifting towards inference.&lt;/p>
&lt;h2 id="anatomy-of-storage-in-an-inference-factory">Anatomy of storage in an inference factory&lt;/h2>
&lt;p>It is worth pausing here, because an &lt;em>inference AI factory&lt;/em>, a system designed to serve models in production rather than train them, has a storage profile of its own, different from the training cluster that dominates the literature. While training is a batch job that tolerates stoppages and is measured in weeks, inference is a continuous service, latency-sensitive and bound by an SLA: every millisecond and every failure shows up at the client. Its storage is organised into four planes that are best designed separately.&lt;/p>
&lt;p>The first plane is the &lt;strong>model registry&lt;/strong>. The weights of the models being served, which may number in the dozens, with versions, quantised variants and LoRA &lt;em>adapters&lt;/em>, live in object storage or a shared file system, and are loaded into GPU HBM when a model is activated. The critical requirement here is not sustained &lt;em>throughput&lt;/em> but &lt;strong>load time&lt;/strong>: when a new replica has to start or a GPU has to switch models, reading tens or hundreds of GB of weights determines the &lt;em>cold start&lt;/em>. A slow registry translates into sluggish autoscaling and GPUs that take their time entering service, exactly when demand rises.&lt;/p>
&lt;p>The second plane is the &lt;strong>KV-cache hierarchy&lt;/strong>, the heart of modern inference performance. As we saw, the KV-cache overflows HBM and drops to DRAM, CXL and NVMe. In an inference factory this is not a marginal detail: it is a first-class storage layer, with its own sizing, its random access pattern and critical latency, and a lifetime measured in seconds. NVIDIA&amp;rsquo;s standardisation of KV-cache &lt;em>offload&lt;/em> to NVMe SSD and the ICMS platform on BlueField-4 exist precisely for this: to allow long contexts and cache reuse across requests (and across nodes) without paying the price of recomputation or of adding HBM, which is scarce and expensive.&lt;/p>
&lt;p>The third plane is the &lt;strong>knowledge store for RAG&lt;/strong>: the vector databases (Milvus, Weaviate, Pinecone, or S3 Vectors) and the source documents the system retrieves to enrich its answers. The pattern here is read-intensive, with similarity searches over indexes that can run to TB and are best kept on low-latency flash. The availability and freshness of this store determine answer quality as much as the model itself, and updating it, reindexing and taking in new documents, is a constant write flow the design has to account for.&lt;/p>
&lt;p>The fourth plane is &lt;strong>observability and logging&lt;/strong>: traces, request and response &lt;em>logs&lt;/em>, metrics and, where regulation demands it, the auditable archive of interactions. It is a high-volume append-only write flow that usually ends up in object storage, and one that a GPU-centric design tends to forget about until it saturates something.&lt;/p>
&lt;p>The conclusion for anyone building an inference factory is that its storage looks nothing like a rescaled training cluster. It is sized by model load time, by KV-cache capacity and latency, by vector search performance and by telemetry volume, with a cross-cutting imperative of continuous service under SLA. Training, where it exists, is the occasional guest; inference is the permanent resident.&lt;/p>
&lt;h2 id="the-other-end-object-lakehouse-and-vectors">The other end: object, lakehouse and vectors&lt;/h2>
&lt;p>Not everything is hot flash. The training database and the system of record live in object storage. The novelty of 2025-2026 is convergence with open table formats: Apache Iceberg, Delta Lake and Hudi bring ACID transactions, &lt;em>time travel&lt;/em> and schema evolution on top of cheap object storage. AWS has launched S3 Tables (managed Iceberg, with faster queries) and S3 Vectors (native vector storage with savings of up to 90 % for AI workloads). Vector databases, Pinecone, Milvus, Weaviate, integrate with data lakes to feed RAG, and columnar formats such as Parquet, together with Lance for multimodal data, are consolidating as the substrate of the &lt;em>lakehouse&lt;/em>.&lt;/p>
&lt;p>&lt;strong>Computation near the data&lt;/strong> (&lt;em>computational storage&lt;/em>) remains active R&amp;amp;D rather than mass deployment. The corresponding NVMe specifications have been published since late 2023, with eBPF as the execution environment for downloadable functions, but real adoption is still marginal. The idea, running filtering, decompression or search directly on the device so the data never travels to the CPU, is seductive for AI workloads that read enormous datasets at low arithmetic intensity, but the programming model and the lack of tooling standardisation hold deployment back. It is a technology to watch, not yet one to put into production.&lt;/p>
&lt;h2 id="the-data-lifecycle-tiering-as-an-architectural-decision">The data lifecycle: tiering as an architectural decision&lt;/h2>
&lt;p>Taking in the whole picture, it is clear that no data lives in a single place for its entire lifecycle. A dataset arrives raw in the object &lt;em>data lake&lt;/em>, is transformed and catalogued in an open table format (Iceberg, Delta), is promoted to the hot flash layer of the parallel file system to feed training, generates &lt;em>checkpoints&lt;/em> that live for days on NVMe, and finally, together with the resulting models, is archived to cold object storage or tape. Automatic &lt;em>tiering&lt;/em> between these layers has gone from a cost optimisation to a first-order architectural decision, especially amid NAND and HBM scarcity.&lt;/p>
&lt;p>The practical rule that emerges is to place every byte in the cheapest &lt;em>tier&lt;/em> that satisfies its latency and bandwidth requirement at that moment, and to automate the transitions. Hot flash (NVMe Gen5/Gen6) absorbs the training &lt;em>working set&lt;/em> and the inference KV-cache; capacity QLC replaces nearline HDD for datasets that are read sequentially; object storage is the durable, versioned system of record; and tape is resurging as an active archive at exabyte scale to fight the cost of flash. Designing those boundaries, and measuring how much data crosses each one, is now part of the AI storage architect&amp;rsquo;s job, not the administrator&amp;rsquo;s.&lt;/p>
&lt;h2 id="the-market-context-a-supply-supercrisis">The market context: a supply supercrisis&lt;/h2>
&lt;p>None of this happens in an economic vacuum. Storage demand from AI servers is 8 to 10 times that of a traditional server, and it is growing above 20 % a year, while global NAND supply grows only 15-17 %. The result, in the words of several analysts, is a memory &amp;ldquo;supercrisis&amp;rdquo;: high double-digit contract price rises for DRAM and NAND in 2026, stretched &lt;em>lead times&lt;/em> and collateral effects on smartphones and PCs. For an architect, this turns capacity efficiency (QLC, compression, &lt;em>erasure coding&lt;/em>, &lt;em>tiering&lt;/em>) into a first-order cost lever rather than an implementation detail.&lt;/p>
&lt;h2 id="what-this-changes-for-the-architect">What this changes for the architect&lt;/h2>
&lt;p>If the state of the art had to be distilled into a handful of practical implications, these would be them. First, storage is designed by workload pattern, not by capacity: a training server and an inference server have opposite requirements, sequential against random, few drives against many, and mixing them in a single template is a common mistake. Second, the limit almost never sits in the medium any more but in the full chain of medium, NVMe, DPU, NIC, fabric and file system; optimising one link while leaving the rest untouched does not move the needle. Third, supply scarcity turns capacity efficiency (QLC, compression, &lt;em>erasure coding&lt;/em>, &lt;em>tiering&lt;/em>) into a cost lever comparable to buying the drives themselves. And fourth, the boundary between memory and storage has dissolved: thinking in terms of &amp;ldquo;RAM on one side, disk on the other&amp;rdquo; no longer describes a modern AI system, where HBM, DRAM, CXL and NVMe form a software-managed continuum.&lt;/p>
&lt;h2 id="takeaways">Takeaways&lt;/h2>
&lt;p>The state of the art in AI storage in 2026 comes down to one idea: the hierarchy has become continuous. HBM spills into DRAM, DRAM is disaggregated over CXL, the inference KV-cache drops all the way to NVMe, and the parallel file system orchestrates the whole so the GPU never waits. Media technologies (HBM4, 245 TB QLC, NVMe Gen6) raise the ceilings, but supply scarcity turns efficiency into a design constraint. And the software battlefield, WEKA, VAST, IBM, DDN, is fought over a single metric: keeping the GPUs fed.&lt;/p>
&lt;p>With this map on the table, the three articles that follow go into the detail of the properties that decide whether a storage architecture works in production.&lt;/p>
&lt;h2 id="see-also">See also&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-performance/">Storage in the AI era (2/4): performance&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-security/">Storage in the AI era (3/4): security&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-availability/">Storage in the AI era (4/4): availability&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="sources">Sources&lt;/h2>
&lt;ul>
&lt;li>FADU, &lt;em>From Training to Inference: FADU at CFMS 2026&lt;/em> — &lt;a href="https://blogs.fadu.io/ai-inference-ssd-data-centers/">https://blogs.fadu.io/ai-inference-ssd-data-centers/&lt;/a>&lt;/li>
&lt;li>Avnet, &lt;em>Riding the AI Supercycle: 2026 Memory &amp;amp; Storage Market&lt;/em> — &lt;a href="https://www.avnet.com/integrated/resources/article/2026-memory-shortage-ai-supercycle/">https://www.avnet.com/integrated/resources/article/2026-memory-shortage-ai-supercycle/&lt;/a>&lt;/li>
&lt;li>JEDEC, &lt;em>JESD270-4 HBM4 Standard&lt;/em> — &lt;a href="https://www.jedec.org/news/pressreleases/jedec%C2%AE-and-industry-leaders-collaborate-release-jesd270-4-hbm4-standard-advancing">https://www.jedec.org/news/pressreleases/jedec%C2%AE-and-industry-leaders-collaborate-release-jesd270-4-hbm4-standard-advancing&lt;/a>&lt;/li>
&lt;li>Tom&amp;rsquo;s Hardware, &lt;em>JEDEC finalizes HBM4 memory standard&lt;/em> — &lt;a href="https://www.tomshardware.com/pc-components/ram/jedec-finalizes-hbm4-memory-standard-with-major-bandwidth-and-efficiency-upgrades">https://www.tomshardware.com/pc-components/ram/jedec-finalizes-hbm4-memory-standard-with-major-bandwidth-and-efficiency-upgrades&lt;/a>&lt;/li>
&lt;li>StorageNewsletter, &lt;em>Micron 9650 PCIe Gen6 data center SSDs in mass production&lt;/em> — &lt;a href="https://www.storagenewsletter.com/2026/02/19/micron-9650-pcie-gen6-data-center-ssds-in-mass-production/">https://www.storagenewsletter.com/2026/02/19/micron-9650-pcie-gen6-data-center-ssds-in-mass-production/&lt;/a>&lt;/li>
&lt;li>Tom&amp;rsquo;s Hardware, &lt;em>Solidigm reveals 122TB SSD&lt;/em> — &lt;a href="https://www.tomshardware.com/pc-components/ssds/solidigm-reveals-122tb-ssd-the-worlds-highest-capacity-drive-for-ai-workloads-d5-p5336-offers-unlimited-write-durability">https://www.tomshardware.com/pc-components/ssds/solidigm-reveals-122tb-ssd-the-worlds-highest-capacity-drive-for-ai-workloads-d5-p5336-offers-unlimited-write-durability&lt;/a>&lt;/li>
&lt;li>TechRadar, &lt;em>Solidigm confirms 245TB SSDs before end of 2026&lt;/em> — &lt;a href="https://www.techradar.com/pro/solidigm-confirms-245-tb-ssds-set-to-launch-before-end-of-2026">https://www.techradar.com/pro/solidigm-confirms-245-tb-ssds-set-to-launch-before-end-of-2026&lt;/a>&lt;/li>
&lt;li>KAD, &lt;em>CXL in 2026: How Memory Pooling is Reshaping Data Centers&lt;/em> — &lt;a href="https://www.kad8.com/hardware/cxl-in-2026-how-memory-pooling-is-reshaping-data-centers/">https://www.kad8.com/hardware/cxl-in-2026-how-memory-pooling-is-reshaping-data-centers/&lt;/a>&lt;/li>
&lt;li>Blocks &amp;amp; Files, &lt;em>Parallel filesystem definitions&lt;/em> — &lt;a href="https://blocksandfiles.com/2025/11/26/parallel-filesystem-definitions-and-powerscale/">https://blocksandfiles.com/2025/11/26/parallel-filesystem-definitions-and-powerscale/&lt;/a>&lt;/li>
&lt;li>NAND Research, &lt;em>WEKA NeuralMesh AIDP &amp;amp; STX integration&lt;/em> — &lt;a href="https://nand-research.com/weka-neuralmesh-aidp-stx-integration-gtc-2026/">https://nand-research.com/weka-neuralmesh-aidp-stx-integration-gtc-2026/&lt;/a>&lt;/li>
&lt;li>VAST Data, &lt;em>InsightEngine&lt;/em> — &lt;a href="https://www.vastdata.com/platform/insightengine">https://www.vastdata.com/platform/insightengine&lt;/a>&lt;/li>
&lt;li>NVIDIA, &lt;em>GB200 NVL72&lt;/em> — &lt;a href="https://www.nvidia.com/en-us/data-center/gb200-nvl72/">https://www.nvidia.com/en-us/data-center/gb200-nvl72/&lt;/a>&lt;/li>
&lt;li>Blocks &amp;amp; Files, &lt;em>Nvidia standardizes GPU cluster KV cache offload to NVMe SSDs&lt;/em> — &lt;a href="https://blocksandfiles.com/2026/01/06/nvidia-standardizes-gpu-cluster-kv-cache-offload-to-nvme-ssds/">https://blocksandfiles.com/2026/01/06/nvidia-standardizes-gpu-cluster-kv-cache-offload-to-nvme-ssds/&lt;/a>&lt;/li>
&lt;li>AWS, &lt;em>Building AI-Ready Data Lakes: S3 Tables, Iceberg, S3 Vectors&lt;/em> — &lt;a href="https://builder.aws.com/content/34vssNUviyG5WPv3IRiGZFKZYkn/building-ai-ready-data-lakes-amazon-s3-tables-apache-iceberg-and-s3-vectors">https://builder.aws.com/content/34vssNUviyG5WPv3IRiGZFKZYkn/building-ai-ready-data-lakes-amazon-s3-tables-apache-iceberg-and-s3-vectors&lt;/a>&lt;/li>
&lt;li>TrendForce, &lt;em>AI Server Demand to Drive Memory Contract Price Increases 2Q26&lt;/em> — &lt;a href="https://www.trendforce.com/presscenter/news/20260331-12995.html">https://www.trendforce.com/presscenter/news/20260331-12995.html&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Storage in the AI era (2/4): performance</title><link>https://blog.lo0.es/en/posts/ai-era-storage-performance/</link><pubDate>Mon, 22 Jun 2026 11:00:00 +0200</pubDate><guid>https://blog.lo0.es/en/posts/ai-era-storage-performance/</guid><description>&lt;p>In the &lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-state-of-the-art/">first article&lt;/a> we drew the map: the memory-storage hierarchy, the media technologies and the software stack that dominates GPU clusters. This second article goes into the property that justifies all that complexity: performance. The question an architect has to answer is not &amp;ldquo;how many GB/s does my array deliver?&amp;rdquo;, but &amp;ldquo;can I get my GPUs working at 95 % instead of 40 %?&amp;rdquo;. That difference is, literally, half the compute bill.&lt;/p>
&lt;h2 id="the-metric-that-really-matters-accelerator-utilisation">The metric that really matters: accelerator utilisation&lt;/h2>
&lt;p>It is tempting to measure AI storage with the classic metrics, sequential &lt;em>throughput&lt;/em>, random IOPS, latency, and we do need them. But none of them captures what the business pays for. The integrating metric is &lt;strong>accelerator utilisation&lt;/strong>: what fraction of the time the GPU spends computing rather than waiting for data.&lt;/p>
&lt;p>Most real ML &lt;em>pipelines&lt;/em> run at between 30 % and 60 % GPU utilisation. Industry surveys are damning: only around 7 % of AI/ML teams manage to exceed 85 % at peak, and poor forecasting or weak autoscaling can leave GPUs idle 70-85 % of the time. A &lt;em>job&lt;/em> running at 30 % utilisation is paying for 70 % of its compute capacity and getting nothing for it.&lt;/p>
&lt;p>We can formalise this. If \( t_{\text{cmp}} \) is the compute time per &lt;em>batch&lt;/em> and \( t_{\text{io}} \) the time the GPU spends blocked waiting for I/O that fails to overlap with compute, effective utilisation is:&lt;/p>
$$U = \frac{t_{\text{cmp}}}{t_{\text{cmp}} + t_{\text{io}}}$$
&lt;p>The goal of all AI storage engineering is to drive \( t_{\text{io}} \) towards zero, whether by increasing bandwidth, reducing latency or overlapping I/O with compute through &lt;em>prefetching&lt;/em> and &lt;em>pipelining&lt;/em>. And there is an aggravating factor: the faster the GPU, the harder it is to feed. Moving from V100 to H100 cut the per-&lt;em>batch&lt;/em> compute time of the 3D U-Net model by 76 %, turning a bandwidth-sensitive workload into a latency-sensitive one. Every accelerator generation raises the bar for storage.&lt;/p>
&lt;p>This change of regime, from bandwidth-limited to latency-limited, has a design consequence worth internalising. When a workload is bandwidth-limited, the fix is to add transfer capacity: more NVMe, more &lt;em>lanes&lt;/em>, more nodes. When it becomes latency-limited, that recipe stops working; what matters then is response time per operation, which is attacked with cache, with intelligent &lt;em>prefetching&lt;/em> and with data paths that remove hops (GPUDirect, for instance). Diagnosing correctly which of the two regimes each workload sits in is the first task of any optimisation: throwing bandwidth at a latency-limited workload is spending money without moving utilisation.&lt;/p>
&lt;h2 id="mlperf-storage-the-benchmark-that-does-measure-the-right-thing">MLPerf Storage: the benchmark that does measure the right thing&lt;/h2>
&lt;p>For years there was no neutral way to compare AI storage platforms. MLPerf Storage, from MLCommons, has provided one. Its design insight is not to measure GB/s in the abstract but to simulate the accelerators&amp;rsquo; &lt;em>think time&lt;/em> so as to generate a realistic I/O pattern, and to require those simulated accelerators to sustain a minimum utilisation level. In other words, it measures exactly what matters: how many accelerators a platform can keep fed without their utilisation dropping below the threshold.&lt;/p>
&lt;p>&lt;strong>v1.0&lt;/strong> (September 2024) used the 3D U-Net, ResNet-50 and CosmoFlow models, simulating A100 and H100, with utilisation thresholds of 90 % for the first two and 70 % for CosmoFlow. &lt;strong>v2.0&lt;/strong> (August 2025) marked a leap: more than 200 results from 26 organisations, including Alluxio, DDN, Hammerspace, HPE, IBM, KIOXIA, Micron, Oracle, Samsung and WDC, systems able to sustain roughly twice as many accelerators as in v1.0, and, above all, a new &lt;em>checkpointing&lt;/em> workload (which we will come back to).&lt;/p>
&lt;p>Some v2.0 results help calibrate the state of the art:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>System&lt;/th>
&lt;th>Throughput&lt;/th>
&lt;th>Accelerators&lt;/th>
&lt;th>GPU utilisation&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Volumez&lt;/td>
&lt;td>1.079 TB/s&lt;/td>
&lt;td>—&lt;/td>
&lt;td>92.21 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Hammerspace (5 nodes)&lt;/td>
&lt;td>420.8 GB/s&lt;/td>
&lt;td>140&lt;/td>
&lt;td>&amp;gt;94.7 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Hammerspace (3 nodes)&lt;/td>
&lt;td>253.1 GB/s&lt;/td>
&lt;td>84&lt;/td>
&lt;td>&amp;gt;94.7 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Hammerspace (1 node)&lt;/td>
&lt;td>85.6 GB/s&lt;/td>
&lt;td>28&lt;/td>
&lt;td>&amp;gt;94.7 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Alluxio&lt;/td>
&lt;td>24.14 GiB/s&lt;/td>
&lt;td>128&lt;/td>
&lt;td>99.57 %&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The Hammerspace figure illustrates a property an architect should demand: &lt;strong>linear scaling&lt;/strong>. From 1 to 5 nodes &lt;em>throughput&lt;/em> grows from 85.6 to 420.8 GB/s while keeping utilisation above 94.7 % with a minute coefficient of variation (0.08-0.14 %). Linear scaling is what separates an AI platform from a fast NAS.&lt;/p>
&lt;h2 id="the-numbers-from-commercial-platforms">The numbers from commercial platforms&lt;/h2>
&lt;p>Outside the benchmark, platforms certified for DGX SuperPOD publish aggregate figures worth keeping as an order-of-magnitude reference:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>WEKA WEKApod Nitro&lt;/strong>: 720 GB/s read and 186 GB/s write per configuration, 18 million IOPS, with ConnectX-8 NICs at 800 Gb/s. Per node, 70 GB/s read and 40 GB/s write; the minimum 8-node configuration delivers 560 GB/s read. A single entry-level system covers the I/O demand of a 1,152-GPU GB200 &lt;em>scalable unit&lt;/em>.&lt;/li>
&lt;li>&lt;strong>DDN AI400X2&lt;/strong>: more than 90 GB/s and 3 million IOPS per &lt;em>appliance&lt;/em>; the Turbo variant saturates close to 100 GB/s (800 Gbps) per DGX B200. DDN&amp;rsquo;s new platform claims more than 1 TB/s read per &lt;em>appliance&lt;/em> with per-rack scaling, and has fed NVIDIA&amp;rsquo;s Eos supercomputer at 4 TB/s.&lt;/li>
&lt;li>&lt;strong>VAST Data&lt;/strong>: multiple TB/s from a single &lt;em>mount point&lt;/em> via NFS &lt;em>multipathing&lt;/em>, RDMA over NFS and GPUDirect, managing exabytes in a single multiprotocol namespace.&lt;/li>
&lt;li>&lt;strong>Pure Storage&lt;/strong>: certified for DGX SuperPOD with GB200 and GB300.&lt;/li>
&lt;/ul>
&lt;p>These figures only mean something in relation to the cluster they feed. A GB200 NVL72 moves 130 TB/s of internal GPU-to-GPU communication; storage does not compete with that, but it does have to sustain &lt;em>data loading&lt;/em> and &lt;em>checkpointing&lt;/em> without strangling 72 GPUs that behave as one.&lt;/p>
&lt;h2 id="the-io-pattern-of-training-and-gpudirect-storage">The I/O pattern of training and GPUDirect Storage&lt;/h2>
&lt;p>Understanding the I/O pattern is the key to neither over- nor under-sizing. Training combines several patterns: large sequential reads of the dataset, small random reads during &lt;em>shuffling&lt;/em> between epochs, and massive periodic writes during &lt;em>checkpointing&lt;/em>. Each stresses storage differently.&lt;/p>
&lt;p>The traditional data path goes through the CPU: from storage to a &lt;em>bounce buffer&lt;/em> in host memory and from there to GPU memory. Every byte of every &lt;em>checkpoint&lt;/em> and every weight load pays the latency and CPU &lt;em>overhead&lt;/em> of that double hop. &lt;strong>GPUDirect Storage (GDS)&lt;/strong> cuts it out: it enables direct DMA between GPU memory and NVMe through the cuFile user-space library and the nvidia-fs kernel module, which intercepts POSIX calls and redirects them through the DMA engine. The result is &lt;em>zero-copy&lt;/em>, with direct transfers exceeding 40 GB/s and, above all, without stealing cycles from the CPU.&lt;/p>
&lt;p>There is a nuance that naive deployments miss: &lt;strong>GDS is optimised for large, aligned, sequential transfers&lt;/strong>. For workloads dominated by small files or heavily random access, the traditional path with CPU caching can be more efficient. GDS is not a magic &amp;ldquo;more performance&amp;rdquo; switch; it is a tool for a specific pattern. Designing the &lt;em>data pipeline&lt;/em>, meaning dataset format, &lt;em>shard&lt;/em> size and number of &lt;em>DataLoader&lt;/em> &lt;em>workers&lt;/em>, matters as much as picking the array.&lt;/p>
&lt;p>The &lt;em>data pipeline&lt;/em> deserves a pause, because it is where performance leaks most quietly. Training does not read the dataset just any way: it walks it in &lt;em>batches&lt;/em>, shuffles it between epochs to avoid ordering bias, and often applies transformations (image decoding, tokenisation, &lt;em>augmentation&lt;/em>) on the CPU before handing the tensor to the GPU. Each of those steps can become the bottleneck. Too few &lt;em>DataLoader&lt;/em> &lt;em>workers&lt;/em> leaves the GPU waiting; a dataset format that forces millions of small files open sinks metadata performance; a badly designed &lt;em>shuffle&lt;/em> turns efficient sequential reads into costly random accesses. Common practice in serious workloads is to pack the dataset into large &lt;em>shards&lt;/em> (formats such as WebDataset, TFRecord or Parquet) precisely so that the read pattern is large and sequential, the terrain where GDS and parallel file systems perform best. The mental rule: the fastest storage in the world will not save a badly designed data &lt;em>pipeline&lt;/em>.&lt;/p>
&lt;h2 id="the-real-cost-of-checkpointing-when-there-is-training">The real cost of checkpointing (when there is training)&lt;/h2>
&lt;p>&lt;em>Checkpointing&lt;/em> is the most demanding write workload in the AI world, but it needs to be placed properly: it is a &lt;strong>training&lt;/strong> problem. A pure inference factory barely suffers from it, since its heavy writes are different ones, KV-cache, vector indexes, telemetry. We cover it here because many installations combine some &lt;em>fine-tuning&lt;/em> or occasional training with serving, and because it illustrates better than any other case how asynchrony beats brute force. If your platform is for inference, you can read this section as context and jump to the next one, which is the one that really concerns you.&lt;/p>
&lt;p>That said, most people&amp;rsquo;s intuition about &lt;em>checkpointing&lt;/em> is wrong on two counts: size and frequency.&lt;/p>
&lt;p>&lt;strong>Size.&lt;/strong> A &lt;em>checkpoint&lt;/em> is not just the weights. The rule of thumb is around 16 bytes per parameter, because the bulk is optimiser state. The figures from the MLPerf Storage v2.0 &lt;em>checkpointing&lt;/em> workload, based on Meta&amp;rsquo;s &lt;em>Llama 3 Herd&lt;/em>, make it plain:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Model&lt;/th>
&lt;th>Processes&lt;/th>
&lt;th>Checkpoint size&lt;/th>
&lt;th>Of which, optimiser state&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>8B&lt;/td>
&lt;td>8&lt;/td>
&lt;td>105 GB&lt;/td>
&lt;td>90 GB&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>70B&lt;/td>
&lt;td>64&lt;/td>
&lt;td>912 GB&lt;/td>
&lt;td>—&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>405B&lt;/td>
&lt;td>512&lt;/td>
&lt;td>5.29 TB&lt;/td>
&lt;td>—&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>1T&lt;/td>
&lt;td>1024&lt;/td>
&lt;td>15 TB&lt;/td>
&lt;td>13.2 TB&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>Frequency.&lt;/strong> At scale, hardware failures are constant (we develop this in the &lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-availability/">article on availability&lt;/a>). Meta&amp;rsquo;s model for a 16,000-accelerator cluster predicts a failure every few hours. To lose less than 5 % of progress between failures, you need on the order of 20 &lt;em>checkpoints&lt;/em> in that interval. That translates into aggressive cadences:&lt;/p>
&lt;ul>
&lt;li>16,000 accelerators: around 155 &lt;em>checkpoints&lt;/em> a day, one every 9.3 minutes.&lt;/li>
&lt;li>100,000 accelerators: around 967 &lt;em>checkpoints&lt;/em> a day, one every 1.5 minutes.&lt;/li>
&lt;/ul>
&lt;p>And here is where the bandwidth problem appears. A synchronous &lt;em>checkpoint&lt;/em> halts training while it writes. If \( S_{\text{ckpt}} \) is the &lt;em>checkpoint&lt;/em> size and \( t_{\text{win}} \) the acceptable time window for writing it while keeping &lt;em>overhead&lt;/em> below 5 %, the required bandwidth is:&lt;/p>
$$B_{\text{req}} = \frac{S_{\text{ckpt}}}{t_{\text{win}}}$$
&lt;p>For a 1T model on 100,000 accelerators, the window falls to around 4.4 seconds. Writing 15 TB in that time demands on the order of 3.6 TB/s across the cluster, or some 200 GB/s sustained over the whole &lt;em>job&lt;/em>. On &lt;em>checkpoints&lt;/em> alone, that scenario generates more than 14 PB of writes a day. This is not a marginal workload: it is one of the most demanding write workloads in existence.&lt;/p>
&lt;p>It is worth seeing the calculation laid out, because it reveals where the lever is. Take the 405B model, whose &lt;em>checkpoint&lt;/em> weighs 5.29 TB. If policy requires writing it while keeping &lt;em>overhead&lt;/em> below 5 % at a cadence where the acceptable window is, say, 30 seconds, the synchronous bandwidth needed is around 176 GB/s sustained, within reach of a high-end array, but only one dedicated to that task. If instead of 30 seconds the window contracts to 5 (a larger cluster, more frequent failures), the requirement jumps above 1 TB/s. Sensitivity to the window is brutal: the difference between a viable design and an impossible one lies in how time is managed, not in how many drives are bought. That is where asynchrony changes the rules.&lt;/p>
&lt;p>&lt;strong>The solution is not just more bandwidth; it is asynchrony.&lt;/strong> &lt;em>Asynchronous checkpointing&lt;/em> decouples the &lt;em>snapshot&lt;/em> (a fast GPU→CPU copy) from persistence (a background write, overlapped with compute). PyTorch&amp;rsquo;s &lt;em>Distributed Async Checkpointing&lt;/em> cuts effective &lt;em>checkpoint&lt;/em> time by 10 to 20 times; in one IBM example a 7B model brought its &lt;em>down time&lt;/em> down from 148.8 to 6.3 seconds, a 23.6-fold improvement. Techniques such as CheckFreq pipeline the &lt;em>snapshot&lt;/em> and persistence with training, allowing a &lt;em>checkpoint&lt;/em> every 14-19 iterations. This is why vendors like VAST argue the relevant metric is not GB/s but &lt;em>checkpoint overlap&lt;/em>: what fraction of the &lt;em>checkpoint&lt;/em> overlaps with compute. Around 10 % overlap is usually enough.&lt;/p>
&lt;p>The design lesson is clear: sizing training storage for the peak write rate of synchronous &lt;em>checkpointing&lt;/em> is expensive and often unnecessary if the software stack gets asynchrony right. But trusting asynchrony without measuring &lt;em>overlap&lt;/em> is playing roulette with weeks of compute.&lt;/p>
&lt;h2 id="performance-in-an-inference-factory">Performance in an inference factory&lt;/h2>
&lt;p>Here is the heart of the matter for anyone running an inference factory. In an inference factory storage is not measured in epochs or GPU-hours but in the experience the client perceives, and that experience condenses into two metrics: &lt;strong>TTFT&lt;/strong> (&lt;em>time to first token&lt;/em>, the time until the first token of the answer) and &lt;strong>inter-token latency&lt;/strong> (the rate at which the following tokens arrive). At fleet scale, the metric that pays the bills is &lt;strong>throughput in tokens per second&lt;/strong> per GPU, because it determines how many requests each accelerator serves. Storage touches all three, in ways a training-centric design does not anticipate.&lt;/p>
&lt;h3 id="prefill-decode-and-their-disaggregation">Prefill, decode and their disaggregation&lt;/h3>
&lt;p>Inference has two phases with opposite profiles. &lt;strong>Prefill&lt;/strong> processes the entire input &lt;em>prompt&lt;/em> at once, generates the key-value pairs of the KV-cache and is a compute-intensive phase; it dominates TTFT. &lt;strong>Decode&lt;/strong> generates tokens one by one, reusing that cache, is memory-bandwidth-intensive and dominates inter-token latency. Because their bottlenecks differ, the 2025-2026 trend is to &lt;strong>disaggregate them&lt;/strong>: run &lt;em>prefill&lt;/em> and &lt;em>decode&lt;/em> on separate GPU &lt;em>pools&lt;/em> and transfer the KV-cache between them. That transfer, which may travel over NVLink, over the network or through a shared storage layer, makes KV-cache movement a performance-critical operation. A factory that disaggregates prefill and decode needs a very high bandwidth, low latency KV-cache path between both &lt;em>pools&lt;/em>; storage (or the DPU that governs it) stops being a passive actor and enters the critical path of every request.&lt;/p>
&lt;h3 id="the-kv-cache-as-a-performance-layer">The KV-cache as a performance layer&lt;/h3>
&lt;p>The central problem is the size of the KV-cache with long contexts: it overflows HBM, which is scarce and expensive. The options are to recompute it on every request, ruinously expensive in compute and lethal for TTFT, or to offload it to a slower layer and reuse it. Two approaches compete here. &lt;em>Offload&lt;/em> to &lt;strong>CXL&lt;/strong> memory offers gains of more than 5 times against SSD or RDMA-based &lt;em>caching&lt;/em>, according to CXL supply chain vendors, and allows &lt;em>batches&lt;/em> up to 30 % larger while holding latency targets, which raises &lt;em>throughput&lt;/em> and GPU utilisation. &lt;em>Offload&lt;/em> to &lt;strong>NVMe&lt;/strong>, standardised by NVIDIA in 2026 with its ICMS platform on BlueField-4, is slower but much cheaper and more capacious, ideal for &lt;em>pod&lt;/em>-scale KV-cache.&lt;/p>
&lt;p>The big performance lever here is &lt;strong>KV-cache reuse&lt;/strong> (&lt;em>prefix caching&lt;/em>). Many requests share prefixes: the same &lt;em>system prompt&lt;/em>, the same context document, the same prior conversation. If the KV-cache of those prefixes is kept in a fast storage layer and reused instead of recomputed, &lt;em>prefill&lt;/em> shortens drastically and TTFT collapses. This turns a low-latency storage layer into a direct multiplier of the factory&amp;rsquo;s throughput: the more useful cache fits and the faster it is served, the less compute is wasted recalculating what has already been calculated. Sizing this layer well, in capacity, bandwidth, latency and eviction policy, is one of the most profitable performance decisions in the whole factory.&lt;/p>
&lt;h3 id="model-load-time-and-cold-start">Model load time and cold start&lt;/h3>
&lt;p>There is a storage cost specific to inference that training ignores: &lt;strong>starting a replica&lt;/strong>. When autoscaling decides to bring up a new instance of a model, because demand is rising, because a replica has failed or because a version is being rotated, the weights have to be read from the registry and loaded into HBM. For a model of tens or hundreds of GB, that &lt;em>cold start&lt;/em> can run from seconds to minutes depending on registry bandwidth and the load path. And during that time the new GPU serves no requests while the system is, perhaps, saturated. A slow model registry translates directly into missed SLAs at peak. The mitigations, keeping weights on hot local flash, using fast-loading formats, &lt;em>streaming&lt;/em> weights as they are needed, or GPUDirect Storage to load straight into HBM, are storage decisions that determine the factory&amp;rsquo;s real elasticity.&lt;/p>
&lt;h3 id="rag-performance-and-vector-search">RAG performance and vector search&lt;/h3>
&lt;p>If the factory serves RAG, there is one more link in the critical path of every request: retrieval. Before the model generates anything, the system searches a vector database for the relevant fragments, and that similarity search, over indexes that can run to TB, adds to TTFT. Vector search performance depends on keeping the indexes on low-latency flash and on an efficient random read pattern; an index that does not fit in memory and is served from slow storage adds latency to every request. Beyond that, precomputed KV-caches of the retrieved documents speed up &lt;em>prefill&lt;/em>, because the model reuses keys and values already calculated and only encodes the user&amp;rsquo;s query. An inference factory with RAG therefore has two latency-sensitive read workloads coexisting, the vector index and the KV-cache, competing for the same fast flash and needing to be sized together.&lt;/p>
&lt;p>For an inference architect, all this introduces a storage plane with a profile of its own: latency-sensitive random reads (indexes, reusable KV-cache prefixes), high-turnover ephemeral writes (new KV-cache), large, sporadic but urgent reads (model loading) and an append-only telemetry flow. It is not sized in the least like the storage of a training cluster.&lt;/p>
&lt;h2 id="how-to-measure-your-own-beyond-the-spec-sheet">How to measure your own: beyond the spec sheet&lt;/h2>
&lt;p>Vendor and MLPerf figures are useful as a reference, but real performance depends on the specific workload, and an architect must measure rather than assume. The methodology that works starts from three principles.&lt;/p>
&lt;p>The first is to &lt;strong>measure accelerator utilisation, not storage in the abstract&lt;/strong>. An array can deliver 500 GB/s in a synthetic test and still leave the GPUs at 50 % because the real pattern is small random files that the sequential test does not reproduce. The right question is always: what fraction of the time is my GPU computing, with this workload, this dataset format and this &lt;em>pipeline&lt;/em>?&lt;/p>
&lt;p>The second is to &lt;strong>reproduce the real I/O pattern&lt;/strong>, not a convenient one. That means testing with the same dataset format, the same &lt;em>shard&lt;/em> size, the same number of &lt;em>workers&lt;/em> and the same &lt;em>checkpointing&lt;/em> cadence that will be used in production. MLPerf Storage&amp;rsquo;s insight was precisely to simulate accelerator &lt;em>think time&lt;/em> in order to generate a realistic pattern; replicating that rigour at your own scale is what separates a useful measurement from a &lt;em>marketing&lt;/em> number.&lt;/p>
&lt;p>The third is to &lt;strong>look for scaling, not peak&lt;/strong>. A platform that delivers a very high peak in a small configuration but flattens out as nodes are added is no use for growth. Tests should be run at several scales to verify that &lt;em>throughput&lt;/em> grows roughly linearly and that accelerator utilisation holds, as the Hammerspace example in MLPerf v2.0 showed. A low coefficient of variation across configurations matters as much as the peak.&lt;/p>
&lt;h2 id="the-cost-of-getting-it-wrong">The cost of getting it wrong&lt;/h2>
&lt;p>It is worth putting a number on the problem. The price of an H100 in the cloud in mid-2026 moves across a wide range by provider, with a market median around 2.3-3.1 USD per GPU-hour. Multiply that by thousands of GPUs and by the weeks a training run lasts, and 40 % utilisation instead of 90 % translates into millions of euros of wasted compute. That is why more than 50 % of organisations report data or storage bottlenecks limiting their AI in 2026, and why storage bandwidth has emerged as a hard ceiling on scaling, comparable to power and cooling: when there is &lt;em>data starvation&lt;/em>, adding compute gives diminishing returns.&lt;/p>
&lt;p>The operational recommendation that keeps coming up is to size the I/O &lt;em>pipeline&lt;/em> for 300 Gbps or more in serious workloads, and to measure, not assume, accelerator utilisation as a health indicator. Optimised storage can deliver up to 5 times the &lt;em>throughput&lt;/em> of standard S3 access over HTTP: more than 100 GB/s aggregate against some 20 GB/s.&lt;/p>
&lt;h2 id="the-physical-layer-networks-and-pcie-gen6">The physical layer: networks and PCIe Gen6&lt;/h2>
&lt;p>All of the above rests on a physical layer that has also advanced. NVIDIA&amp;rsquo;s ConnectX-8 NIC combines PCIe Gen6 with 800 GbE or 800 Gb InfiniBand XDR, designed for Blackwell systems. InfiniBand XDR offers 800 Gbps per direction (double NDR, which remains the usual &lt;em>storage fabric&lt;/em>), and the Quantum-X800 &lt;em>switch&lt;/em> adds in-network compute that accelerates collective operations. The transition to XDR is accelerating with the Blackwell deployments of 2025-2026. The mental rule is simple: storage must match the network, and the network must match the GPU. One slow link defines the performance of the whole chain.&lt;/p>
&lt;p>It is worth translating this into concrete numbers. An 800 Gb/s NIC delivers, at best, around 100 GB/s to a node. If the array can serve more than the NIC absorbs, the network is the bottleneck; if the array serves less, storage is. Balance is found by sizing each layer so none strangles the next, and by verifying it with end-to-end measurements rather than the isolated specifications of each component. It is common to find installations with an excellent array and an undersized &lt;em>fabric&lt;/em>, or the reverse, performing far below the sum of their parts. The physical layer also imposes its geography: network topology (how many hops there are between the compute node and the array, whether they share a switch or cross the cluster spine) affects latency as much as the array itself, and an AI storage design that ignores network topology is incomplete.&lt;/p>
&lt;h2 id="three-questions-before-sizing">Three questions before sizing&lt;/h2>
&lt;p>All this complexity can be organised into three questions an architect should answer before buying anything. What is the dominant I/O pattern of my workload, large sequential, small random, bursty writes, and therefore which metric limits me? Is my workload bandwidth-limited or latency-limited, and consequently where do I invest? And what is my &lt;em>checkpointing&lt;/em> budget, in size, cadence and, above all, what fraction can I overlap with compute? Whoever answers these three with measured data, rather than intuitions, sizes well; whoever skips them ends up with idle GPUs or with an oversized, very expensive array that is never put to use. AI storage performance is, at bottom, an exercise in fit: putting the right capacity where the workload needs it, no more and no less.&lt;/p>
&lt;h2 id="takeaways">Takeaways&lt;/h2>
&lt;p>AI storage performance is not measured in GB/s but in accelerator utilisation, and that utilisation depends on three things: enough bandwidth, low latency and, above all, overlapping I/O with compute. MLPerf Storage v2.0 has finally given a common language for comparing platforms through that lens. &lt;em>Checkpointing&lt;/em> is the most demanding write workload and is mastered with asynchrony, not hardware alone. Long-context inference adds a new storage layer around the KV-cache. And the cost of getting it wrong is measured in idle GPUs, which is the most expensive line in the budget.&lt;/p>
&lt;p>Performance, however, is worth nothing if the data is neither protected nor available. The &lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-security/">third article&lt;/a> takes on the security of this new storage layer.&lt;/p>
&lt;h2 id="see-also">See also&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-state-of-the-art/">Storage in the AI era (1/4): the state of the art&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-security/">Storage in the AI era (3/4): security&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-availability/">Storage in the AI era (4/4): availability&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="sources">Sources&lt;/h2>
&lt;ul>
&lt;li>MLCommons, &lt;em>MLPerf Storage v2.0 Results&lt;/em> — &lt;a href="https://mlcommons.org/2025/08/mlperf-storage-v2-0-results/">https://mlcommons.org/2025/08/mlperf-storage-v2-0-results/&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>Announcing the MLPerf Storage v2.0 Checkpointing Workload&lt;/em> — &lt;a href="https://mlcommons.org/2025/08/storage-2-checkpointing/">https://mlcommons.org/2025/08/storage-2-checkpointing/&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>MLPerf Storage v1.0 Benchmark Results&lt;/em> — &lt;a href="https://mlcommons.org/2024/09/mlperf-storage-v1-0-benchmark-results/">https://mlcommons.org/2024/09/mlperf-storage-v1-0-benchmark-results/&lt;/a>&lt;/li>
&lt;li>Hammerspace, &lt;em>MLPerf Storage v2.0 Benchmark Results&lt;/em> — &lt;a href="https://hammerspace.com/hammerspace-mlperf-storage-v2-0-benchmark-results/">https://hammerspace.com/hammerspace-mlperf-storage-v2-0-benchmark-results/&lt;/a>&lt;/li>
&lt;li>Alluxio, &lt;em>Strong Performance in MLPerf Storage v2.0&lt;/em> — &lt;a href="https://www.alluxio.io/blog/alluxio-demonstrates-strong-performance-in-mlperf-storage-v2-0-benchmarks">https://www.alluxio.io/blog/alluxio-demonstrates-strong-performance-in-mlperf-storage-v2-0-benchmarks&lt;/a>&lt;/li>
&lt;li>NVIDIA, &lt;em>GPUDirect Storage Overview Guide&lt;/em> — &lt;a href="https://docs.nvidia.com/gpudirect-storage/overview-guide/index.html">https://docs.nvidia.com/gpudirect-storage/overview-guide/index.html&lt;/a>&lt;/li>
&lt;li>Spheron, &lt;em>GPU Direct Storage Guide 2026&lt;/em> — &lt;a href="https://www.spheron.network/blog/gpu-direct-storage-nvme-ai-training-inference-guide/">https://www.spheron.network/blog/gpu-direct-storage-nvme-ai-training-inference-guide/&lt;/a>&lt;/li>
&lt;li>PyTorch, &lt;em>Reducing Checkpointing Times with Async Checkpointing&lt;/em> — &lt;a href="https://pytorch.org/blog/reducing-checkpointing-times/">https://pytorch.org/blog/reducing-checkpointing-times/&lt;/a>&lt;/li>
&lt;li>VAST Data, &lt;em>Optimizing Checkpoint Bandwidth for LLM Training&lt;/em> — &lt;a href="https://www.vastdata.com/blog/optimizing-checkpoint-bandwidth-for-llm-training">https://www.vastdata.com/blog/optimizing-checkpoint-bandwidth-for-llm-training&lt;/a>&lt;/li>
&lt;li>Astera Labs, &lt;em>How CXL Transforms RAG and KV Cache Performance&lt;/em> — &lt;a href="https://www.asteralabs.com/breaking-through-the-memory-wall-how-cxl-transforms-rag-and-kv-cache-performance/">https://www.asteralabs.com/breaking-through-the-memory-wall-how-cxl-transforms-rag-and-kv-cache-performance/&lt;/a>&lt;/li>
&lt;li>MinIO, &lt;em>AI Storage Architecture: Overcoming the Bottleneck in 2026&lt;/em> — &lt;a href="https://www.min.io/blog/ai-storage-architecture-bottleneck-2026">https://www.min.io/blog/ai-storage-architecture-bottleneck-2026&lt;/a>&lt;/li>
&lt;li>WEKA, &lt;em>WEKApod Nitro reference architecture&lt;/em> — &lt;a href="https://www.weka.io/resources/reference-architecture/nvidia-gb200-nvl72-systems-reference-architecture-for-cloud-partners/">https://www.weka.io/resources/reference-architecture/nvidia-gb200-nvl72-systems-reference-architecture-for-cloud-partners/&lt;/a>&lt;/li>
&lt;li>Blocks &amp;amp; Files, &lt;em>Storage vendors rally behind Nvidia at GTC 2025&lt;/em> — &lt;a href="https://blocksandfiles.com/2025/03/18/nvidia-storage-announcements/">https://blocksandfiles.com/2025/03/18/nvidia-storage-announcements/&lt;/a>&lt;/li>
&lt;li>ServeTheHome, &lt;em>NVIDIA ConnectX-8 SuperNIC PCIe Gen6 800G&lt;/em> — &lt;a href="https://www.servethehome.com/nvidia-connectx-8-supernic-pcie-gen6-800g-nic-detailed/">https://www.servethehome.com/nvidia-connectx-8-supernic-pcie-gen6-800g-nic-detailed/&lt;/a>&lt;/li>
&lt;li>SpendArk, &lt;em>GPU Cloud Pricing 2026&lt;/em> — &lt;a href="https://spendark.com/blog/machine-learning-cloud-cost/">https://spendark.com/blog/machine-learning-cloud-cost/&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Storage in the AI era (3/4): security</title><link>https://blog.lo0.es/en/posts/storage-ai-era-security/</link><pubDate>Mon, 22 Jun 2026 10:00:00 +0200</pubDate><guid>https://blog.lo0.es/en/posts/storage-ai-era-security/</guid><description>&lt;p>Data is the most valuable and most durable asset of an AI system. Models get retrained; weights get replaced; but training datasets, the customer data feeding RAG and the weights of a frontier model represent years of investment and, often, regulated information. In the &lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-performance/">two previous articles&lt;/a> we discussed how to move that data fast. This third one is about how to protect it: encryption, integrity, access control, sovereignty and the threat that forces us to act today even though it looks distant, quantum computing.&lt;/p>
&lt;h2 id="encryption-at-rest-sed-aes-xts-and-the-transition-to-fips-140-3">Encryption at rest: SED, AES-XTS and the transition to FIPS 140-3&lt;/h2>
&lt;p>The first line of defence for any persistent data is encryption at rest. In enterprise storage the dominant pattern is the &lt;strong>SED&lt;/strong> (&lt;em>Self-Encrypting Drive&lt;/em>), a drive that implements the Trusted Computing Group&amp;rsquo;s Opal, Ruby and Enterprise standards and integrates a &lt;strong>256-bit AES-XTS&lt;/strong> encryption engine in the controller. The operational advantage is twofold: they encrypt at interface speed, with no perceptible performance penalty and without stealing CPU cycles, and they enable instant cryptographic erase.&lt;/p>
&lt;p>The mechanism behind that erase is the two-tier key model of TCG Opal 2.0. Data is actually encrypted against a data encryption key (DEK) that never leaves the drive; that DEK, in turn, is protected by an authentication key derived from the user&amp;rsquo;s passphrase. Destroying or regenerating the DEK instantly renders terabytes of data unreadable without having to overwrite them: the &lt;em>cryptographic erase&lt;/em>. For an organisation decommissioning 245 TB drives, this property is not a luxury, it is the only practical way to guarantee erasure.&lt;/p>
&lt;p>SED hardware encryption and software encryption with AES-NI are not mutually exclusive, but they do have different profiles. Hardware acceleration keeps a measurable edge, on the order of 2 times on 4K random reads and writes compared with pure software, although the gap narrows on modern CPUs with AES-NI and ARMv8. The rule of thumb: SED for the baseline at no performance cost, and software encryption on top when you need key domain separation or end-to-end encryption.&lt;/p>
&lt;p>The Achilles heel of encryption is never the algorithm, it is key management. Impeccable AES-256 protects nothing if the key is badly held. That is why serious storage encryption relies on an external key manager that speaks &lt;strong>KMIP&lt;/strong> (&lt;em>Key Management Interoperability Protocol&lt;/em>) to the arrays, separating custody of the key from the medium that encrypts. Keys are rotated periodically, backed up with their own availability guarantees (losing the key means losing the data as definitively as a fire would) and their access is audited. In regulated environments those keys live in certified hardware security modules (HSM). For an architect, the design decision is not &amp;ldquo;do we encrypt?&amp;rdquo;, the answer is always yes, but &amp;ldquo;who holds the keys and how are they governed?&amp;rdquo;, a question that, as we will see, sits at the heart of data sovereignty.&lt;/p>
&lt;p>The point no architect should ignore in 2026 is the &lt;strong>transition to FIPS 140-3&lt;/strong>. The CMVP stopped accepting new FIPS 140-2 validations in April 2022, and on &lt;strong>21 September 2026&lt;/strong> it will move all remaining 140-2 certificates to the &amp;ldquo;historical&amp;rdquo; list. From that date, US federal agencies must not include historical modules in new procurements; existing systems can keep operating, but the compliance clock is running. And there is a logistical side effect: validation times have grown from 367 to 542 days, 42 % more, which strains vendor roadmaps. Anyone planning storage purchases on a multi-year horizon should verify 140-3 certification, not 140-2, for every cryptographic module. The reference framework for the overall design remains NIST SP 800-209, which covers encryption, isolation, authentication and authorisation for block, file and object storage.&lt;/p>
&lt;h2 id="encryption-in-transit-the-weak-point-of-ai-fabrics">Encryption in transit: the weak point of AI fabrics&lt;/h2>
&lt;p>Data is also exposed in motion, and here the high-performance fabrics of AI introduce specific tensions. For NVMe-oF over TCP there is in-band authentication, and for stronger protection the NVMe working group proposes IPsec over RoCEv2. Modern NICs (ConnectX-6 Dx, BlueField-2) secure NVMe-oF connections with hardware-accelerated IPsec and TLS, so encryption in transit does not throttle bandwidth.&lt;/p>
&lt;p>The problem is InfiniBand. IPsec is not implemented over InfiniBand, since it is not an IP protocol, which leaves that fabric, ubiquitous in AI clusters, without one of the usual confidentiality tools. Nor does IPsec isolate well the RDMA connections of different users sharing the same interface. Academic research has documented attacks that exploit RDMA flaws in NVMe-oF storage applications. The conclusion for an architect is uncomfortable but important: in-transit security on an AI fabric is not inherited from the good habits of IP networks, and it demands explicit design of segmentation and isolation.&lt;/p>
&lt;h2 id="the-threat-arriving-from-the-future-post-quantum-cryptography">The threat arriving from the future: post-quantum cryptography&lt;/h2>
&lt;p>No storage security topic has changed its urgency as much as post-quantum cryptography (PQC), and the reason is an attack pattern that does not need a quantum computer to begin: &lt;strong>&amp;quot;&lt;em>harvest now, decrypt later&lt;/em>&amp;quot;&lt;/strong> (HNDL). Well-funded state actors are collecting encrypted data today with the intention of decrypting it once they have quantum capability. For any data whose confidentiality must last a decade, such as medical records, industrial secrets or proprietary training datasets, the threat is present, not future.&lt;/p>
&lt;p>In August 2024 NIST finalised the first three PQC standards, and by mid-2026 they are the foundation on which the entire migration is built:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Standard&lt;/th>
&lt;th>Algorithm&lt;/th>
&lt;th>Function&lt;/th>
&lt;th>Origin&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>FIPS 203&lt;/td>
&lt;td>ML-KEM&lt;/td>
&lt;td>Key encapsulation&lt;/td>
&lt;td>CRYSTALS-Kyber&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FIPS 204&lt;/td>
&lt;td>ML-DSA&lt;/td>
&lt;td>Digital signature (default)&lt;/td>
&lt;td>CRYSTALS-Dilithium&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FIPS 205&lt;/td>
&lt;td>SLH-DSA&lt;/td>
&lt;td>Backup signature (hash-based)&lt;/td>
&lt;td>SPHINCS+&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>In March 2025 NIST additionally selected HQC, a code-based encapsulation mechanism, as a backup for ML-KEM with different mathematical assumptions. The NSA, for its part, set a demanding timetable in CNSA 2.0: by 2030 all software and firmware deployed in national security systems must use CNSA 2.0 signatures, with full enforcement expected around 2031-2033 and complete quantum resistance in 2035.&lt;/p>
&lt;p>The pressure has intensified from the quantum hardware side. Between May 2025 and early 2026, several papers cut the estimates of qubits needed to break RSA-2048 from around 20 million to under a million, and even to figures on the order of 100,000 with new architectures. &amp;ldquo;Q-Day&amp;rdquo; around 2030 is increasingly cited by analysts, NIST and the NSA. It is not a certainty, but the safety margin has narrowed enough to make inaction imprudent.&lt;/p>
&lt;p>The storage industry is already moving. NetApp announced PQC for data at rest in 2025, compliant with the NIST algorithms and integrated both at rest and in flight. Western Digital began integrating NIST-approved PQC into its Ultrastar drives in 2026, one of the first deployments in production infrastructure. Cohesity, Commvault and Quantum also have products along these lines. The dominant pattern in 2026 is not wholesale replacement but &lt;strong>hybrid approaches&lt;/strong> that combine classical and post-quantum cryptography: they protect against a failure of the new algorithms and allow a gradual migration. For an architect, today&amp;rsquo;s concrete action is the cryptographic inventory, or &lt;em>crypto-agility&lt;/em>: knowing which algorithms protect which data and planning their rotation.&lt;/p>
&lt;h2 id="security-specific-to-ai-data-integrity-and-poisoning">Security specific to AI data: integrity and poisoning&lt;/h2>
&lt;p>Beyond classical encryption, AI brings a threat class of its own that falls directly on the data layer: &lt;strong>data poisoning&lt;/strong>. An adversary manipulates training or fine-tuning data to corrupt what the model learns. Its distinctive trait is stealth: a poisoned model behaves normally for long periods before exhibiting the malicious behaviour, which makes it very hard to detect after the fact. The OWASP Top 10 for LLM applications of 2025 formally recognises &amp;ldquo;data and model poisoning&amp;rdquo; as an integrity attack category, with especially high risk when external sources are ingested.&lt;/p>
&lt;p>The defence has moved towards provenance and lineage. Organisations are adopting rigorous documentation of every data source, a &amp;ldquo;digital chain of custody&amp;rdquo;, and the concept of the &lt;strong>ML-BOM&lt;/strong> (&lt;em>Machine Learning Bill of Materials&lt;/em>), analogous to the software SBOM. Frameworks such as the FINOS AI governance framework explicitly catalogue data poisoning among their risks. For storage, this means the system must be able to guarantee the integrity and immutability of training data and to record its lineage verifiably. Integrity stops being a desirable property and becomes a security control.&lt;/p>
&lt;h2 id="model-theft-when-the-asset-to-protect-is-the-weights">Model theft: when the asset to protect is the weights&lt;/h2>
&lt;p>There is one asset the traditional storage security conversation did not contemplate: model weights. Training a frontier model costs tens or hundreds of millions, and the result, a file of a few TB, concentrates all that value. Weight theft (&lt;em>model exfiltration&lt;/em>) is consequently a first-order threat, and its attack surface is precisely the storage layer where checkpoints and final models live.&lt;/p>
&lt;p>Protection combines several of the layers already described, applied with a specific focus. Encryption at rest with strict key control stops an attacker who reaches the drives from walking away with a usable model. Least-privilege access control limits who can read the weight directories, and auditing logs every access so anomalous exfiltration can be spotted; a process that suddenly reads 4 TB from a model directory is a signal. And confidential computing, which we will see further down, protects the weights even while they are being loaded into the GPU for inference. The lesson for the architect is that the trained model deserves, at minimum, the same defences as customer data, because its loss can be irreversible and its value greater.&lt;/p>
&lt;h2 id="immutability-and-ransomware-the-second-phase-of-the-attack">Immutability and ransomware: the second phase of the attack&lt;/h2>
&lt;p>Ransomware remains the highest economic impact threat against storage, and its recent evolution points straight at backups. The reference defence is &lt;strong>WORM immutability&lt;/strong> (&lt;em>Write-Once-Read-Many&lt;/em>). In the object world, S3 Object Lock prevents modifying or deleting data even for an attacker with administrative credentials, neutralising the second phase of the attack, the encryption of the victim&amp;rsquo;s data. It has two modes: &lt;em>Governance&lt;/em>, which can be overridden with specific permissions, and &lt;em>Compliance&lt;/em>, which nobody can override, not even the root account. Object Lock creates a logical air gap that, for many use cases, makes tapes and physical air gaps redundant.&lt;/p>
&lt;p>The numbers justify the investment. Ransom payments reached a record USD 1.1 billion in 2023; the average total cost of a ransomware attack was around USD 5.13 million in 2024, with an average recovery cost, excluding the ransom, of 1.53 million in 2025. Two out of three organisations suffered ransomware in the past year according to Sophos.&lt;/p>
&lt;p>For an inference factory, ransomware has an angle of its own: the most valuable target is not only customer data but the &lt;strong>model repository&lt;/strong>. Encrypting or deleting the weights the factory serves leaves it inoperative immediately, with a direct business impact, the service goes down, on top of the recovery cost. The defence is the same as for any critical asset, applied as a priority: immutable WORM copies of the model repository and of the vector indexes, so that a clean version of each model can always be restored even if the hot copy is compromised. A model that took months and millions to produce, or whose weights cannot be regenerated, deserves the strictest immutability protection available.&lt;/p>
&lt;p>The storage-side response has been to integrate detection into the array itself. Dell PowerProtect Cyber Recovery offers an isolated, immutable vault with an automated air gap, and its CyberSense component uses AI and full content analysis, not just metadata, to detect ransomware corruption, with very high accuracy figures announced by the vendor. NetApp integrates Autonomous Ransomware Protection into the storage, creating immutable snapshots in real time by analysing data patterns at the storage layer. It is wise to treat the accuracy figures (99 % and above) as vendor claims rather than independent benchmarks, but the underlying trend is real: &lt;strong>the storage array has stopped being a passive component and become an actor in the defence&lt;/strong>.&lt;/p>
&lt;p>A useful framework for prioritising these investments is the annualised loss expectancy, which relates the impact of an incident to its frequency:&lt;/p>
$$\text{ALE} = \text{SLE} \times \text{ARO}$$
&lt;p>where \( \text{SLE} \) is the expected loss per incident and \( \text{ARO} \) the expected annual frequency. Immutability and fast recovery act by reducing \( \text{SLE} \): even if the attack happens, the loss and the recovery time are bounded.&lt;/p>
&lt;h2 id="access-control-and-the-cost-of-a-breach">Access control and the cost of a breach&lt;/h2>
&lt;p>Encryption protects the data; access control decides who touches it. IBM&amp;rsquo;s &lt;em>Cost of a Data Breach 2025&lt;/em> report supplies the reference figure: the global average cost of a breach fell to USD 4.44 million, 9 % less and the first drop in five years, driven by faster containment thanks to AI-powered defences, with the average time to identify and contain falling to 241 days, the lowest in nine years. The United States, by contrast, set a record of 10.22 million. The largest cost component is still detection and escalation.&lt;/p>
&lt;p>Mature architectures combine &lt;strong>Zero Trust&lt;/strong> with RBAC as the base, ABAC attributes for fine grain and microsegmentation to prevent lateral movement inside the network. In an AI environment, where training data moves between data lake, pipeline and GPU cluster, microsegmentation and continuous contextual authorisation stop being optional.&lt;/p>
&lt;h2 id="data-sovereignty-the-regulatory-dimension">Data sovereignty: the regulatory dimension&lt;/h2>
&lt;p>For a European company, AI storage security is inseparable from data sovereignty. The &lt;strong>EU Data Act&lt;/strong>, applicable since 12 September 2025, mandates data portability and interoperability to eliminate vendor lock-in, and in its Chapter VII requires cloud providers operating in the EU to put in place technical, legal and organisational measures to prevent non-EU government access to non-personal data stored in the EU where such access would be unlawful under European law. This creates a documented tension with the US CLOUD Act, which empowers US authorities to claim data from providers under their jurisdiction regardless of where it is stored.&lt;/p>
&lt;p>The technical answer gaining traction in 2026 is &lt;strong>client-side encryption with full key ownership&lt;/strong>: whoever controls the keys controls the data, regardless of where it physically resides. &amp;ldquo;Whoever allows plaintext in the cloud cedes control&amp;rdquo; has become the motto of real sovereignty. For a European AI architect, data residency and key ownership are design decisions as important as performance.&lt;/p>
&lt;p>The &lt;strong>EU AI Act&lt;/strong>, furthermore, applies in phases that touch data governance: prohibited practices are enforceable since February 2025, obligations for general-purpose models since August 2025, and sanctioning powers since August 2026, although the provisional &lt;em>Digital Omnibus&lt;/em> agreement of May 2026 postponed the deadline for Annex III high-risk systems to December 2027, a point worth re-checking given how recent it is.&lt;/p>
&lt;h2 id="confidential-computing-protecting-data-in-use">Confidential computing: protecting data in use&lt;/h2>
&lt;p>Encryption at rest and in transit leaves a gap: data in use, decrypted in memory while it is processed. &lt;strong>Confidential computing&lt;/strong> closes it with trusted execution environments (TEE). On the CPU, Intel TDX and AMD SEV-SNP launch confidential virtual machines with encrypted memory. The novelty for AI is on the GPU.&lt;/p>
&lt;p>NVIDIA introduced confidential computing on the H100 (Hopper) with a CC mode and a root of trust in silicon: the CPU&amp;rsquo;s confidential VM exchanges encrypted data with an enclave in the GPU, extending the chain of trust from CPU to GPU. The &lt;strong>Blackwell&lt;/strong> architecture (B200, GB200) has made the qualitative leap: it is the industry&amp;rsquo;s first GPU with TEE-I/O capability, with inline protection over NVLink and NVSwitch that removes the PCIe I/O bottlenecks of earlier generations. And what matters most for performance: thanks to AI-specific encryption engines and hardware-accelerated encrypted HBM access, the HGX B200 keeps its roughly 2 times advantage in training and 2.5 times in inference over the HGX H200 &lt;strong>even with confidential computing fully enabled&lt;/strong>. This enables confidential training, inference and federated learning without the prohibitive penalty that previously made encrypting data in use unworkable, protecting both sensitive data and the model weights themselves from theft.&lt;/p>
&lt;h3 id="security-in-a-multi-tenant-inference-factory">Security in a multi-tenant inference factory&lt;/h3>
&lt;p>Confidential computing takes on special meaning in an inference factory, above all if it serves several customers or teams on the same infrastructure. Here the attack surface is not only the disk at rest but the data in use of each request: the prompts, the context documents, the responses and, crucially, the &lt;strong>KV cache&lt;/strong>. And the KV cache introduces a risk specific to inference that is worth naming: if a cache layer is shared between tenants to save compute, reusing prefixes as we saw in the performance article, badly isolated reuse can leak one customer&amp;rsquo;s content to another. The design rule is that prefix caching should only be shared within a single trust domain; between different tenants, KV cache isolation, whether in memory, in CXL or on NVMe, is a security control, not an optional optimisation.&lt;/p>
&lt;p>The same principle extends to the factory&amp;rsquo;s other planes. The model repository must apply per-tenant access control so that nobody loads or extracts someone else&amp;rsquo;s model. The RAG vector database must segment indexes per customer, because an embedding retrieved from the wrong corpus is both a quality failure and a data leak. And telemetry, which records prompts and responses, is one of the most sensitive repositories in the whole installation, subject to the same encryption, retention and residency requirements as customer data. A well-designed inference factory treats each of these planes as an isolation domain, not as a resource shared for convenience.&lt;/p>
&lt;p>An important technical nuance of confidential computing is &lt;strong>attestation&lt;/strong>. A secure enclave is worthless if you cannot prove the data is really executing inside it and not in a compromised environment pretending to be one. Attestation is the cryptographic mechanism by which the hardware, the root of trust in the silicon of the GPU or the CPU, issues a verifiable proof of its state and identity before keys or data are entrusted to it. In a confidential AI architecture, the chain of trust extends from the CPU&amp;rsquo;s confidential VM to the GPU enclave, and every link is attested. For the architect, the operational question is who verifies those attestations and where the keys that are only released after a valid attestation are held: that is where confidential computing connects back to the key management from the start of the article.&lt;/p>
&lt;h2 id="a-checklist-for-the-architect">A checklist for the architect&lt;/h2>
&lt;p>Gathering all of the above into actionable practice helps avoid leaving layers uncovered. At rest: SED with AES-XTS-256 as the baseline, external key management via KMIP with HSM, and verification of FIPS 140-3 certification on every module, anticipating September 2026. In transit: TLS 1.3 and IPsec wherever possible, with particular attention to isolation on InfiniBand fabrics, where the IP tools do not apply. Against the quantum threat: cryptographic inventory, crypto-agility and adoption of hybrid classical-PQC schemes for long-lived data, without waiting for Q-Day. Against ransomware: WORM immutability with S3 Object Lock in Compliance mode for critical copies, detection built into the array and tested recovery. On integrity: verifiable lineage and ML-BOM for training data, with reinforced protection of model weights. In the inference factory, additionally: isolation of the KV cache and of prefix caching between tenants, per-customer segmentation of the model repository and of the RAG vector indexes, and treatment of prompt and response telemetry as sensitive data. On governance: Zero Trust access control, microsegmentation and auditing. And on sovereignty: key ownership and data residency aligned with the EU Data Act and the EU AI Act. None of these layers substitutes for another; real security emerges from their combination.&lt;/p>
&lt;h2 id="takeaways">Takeaways&lt;/h2>
&lt;p>AI storage security is a layered system that has to be designed all at once: encryption at rest with SED and migration to FIPS 140-3; encryption in transit with particular care on InfiniBand fabrics; crypto-agility and hybrid approaches to get ahead of quantum risk and harvest now, decrypt later; data integrity and lineage against poisoning; WORM immutability against ransomware; Zero Trust access control; data sovereignty through key ownership; and confidential computing to protect data and models in use. The good news is that the array is no longer passive: it defends. The bad news is that the most serious threat, the quantum one, demands action before it becomes visible.&lt;/p>
&lt;p>The &lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-availability/">last article in the series&lt;/a> closes with the property without which none of the previous ones matter: availability.&lt;/p>
&lt;h2 id="see-also">See also&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-state-of-the-art/">Storage in the AI era (1/4): the state of the art&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-performance/">Storage in the AI era (2/4): performance&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-availability/">Storage in the AI era (4/4): availability&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="sources">Sources&lt;/h2>
&lt;ul>
&lt;li>NIST, &lt;em>FIPS 140-3 Transition Effort&lt;/em> — &lt;a href="https://csrc.nist.gov/projects/fips-140-3-transition-effort">https://csrc.nist.gov/projects/fips-140-3-transition-effort&lt;/a>&lt;/li>
&lt;li>SafeLogic, &lt;em>What Happens on September 21, 2026&lt;/em> — &lt;a href="https://www.safelogic.com/blog/what-happens-on-september-21-2026">https://www.safelogic.com/blog/what-happens-on-september-21-2026&lt;/a>&lt;/li>
&lt;li>NIST, &lt;em>Security Guidelines for Storage Infrastructure (SP 800-209)&lt;/em> — &lt;a href="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-209.pdf">https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-209.pdf&lt;/a>&lt;/li>
&lt;li>NIST, &lt;em>NIST Releases First 3 Finalized Post-Quantum Encryption Standards&lt;/em> — &lt;a href="https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards">https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards&lt;/a>&lt;/li>
&lt;li>PostQuantum.com, &lt;em>NSA Unveils CNSA 2.0&lt;/em> — &lt;a href="https://postquantum.com/quantum-policy/nsa-cnsa-2-0-pqc/">https://postquantum.com/quantum-policy/nsa-cnsa-2-0-pqc/&lt;/a>&lt;/li>
&lt;li>Blocks &amp;amp; Files, &lt;em>NetApp boosts storage security with post-quantum encryption&lt;/em> — &lt;a href="https://www.blocksandfiles.com/security/2025/04/29/netapp-boosts-storage-security-with-post-quantum-encryption/1610355">https://www.blocksandfiles.com/security/2025/04/29/netapp-boosts-storage-security-with-post-quantum-encryption/1610355&lt;/a>&lt;/li>
&lt;li>The Quantum Insider, &lt;em>Western Digital Adds Post-Quantum Cryptography to Hard Drives&lt;/em> — &lt;a href="https://thequantuminsider.com/2026/05/19/western-digital-adds-post-quantum-cryptography-to-hard-drives/">https://thequantuminsider.com/2026/05/19/western-digital-adds-post-quantum-cryptography-to-hard-drives/&lt;/a>&lt;/li>
&lt;li>FINOS AI Governance Framework, &lt;em>Data Poisoning (RI-9)&lt;/em> — &lt;a href="https://air-governance-framework.finos.org/risks/ri-9_data-poisoning.html">https://air-governance-framework.finos.org/risks/ri-9_data-poisoning.html&lt;/a>&lt;/li>
&lt;li>Object First, &lt;em>S3 Object Lock for Ransomware Protection&lt;/em> — &lt;a href="https://objectfirst.com/guides/immutability/s3-object-lock-for-ransomware-protection/">https://objectfirst.com/guides/immutability/s3-object-lock-for-ransomware-protection/&lt;/a>&lt;/li>
&lt;li>StorageReview, &lt;em>Dell enhances PowerProtect portfolio for cyber resilience&lt;/em> — &lt;a href="https://www.storagereview.com/news/dell-technologies-enhances-powerprotect-portfolio-for-improved-cyber-resilience">https://www.storagereview.com/news/dell-technologies-enhances-powerprotect-portfolio-for-improved-cyber-resilience&lt;/a>&lt;/li>
&lt;li>NetApp, &lt;em>Autonomous Ransomware Protection&lt;/em> — &lt;a href="https://www.netapp.com/cyber-resilience/autonomous-ransomware-protection/">https://www.netapp.com/cyber-resilience/autonomous-ransomware-protection/&lt;/a>&lt;/li>
&lt;li>IBM, &lt;em>Cost of a Data Breach Report 2025&lt;/em> — &lt;a href="https://www.ibm.com/reports/data-breach">https://www.ibm.com/reports/data-breach&lt;/a>&lt;/li>
&lt;li>European Commission, &lt;em>Data Act&lt;/em> — &lt;a href="https://digital-strategy.ec.europa.eu/en/policies/data-act">https://digital-strategy.ec.europa.eu/en/policies/data-act&lt;/a>&lt;/li>
&lt;li>artificialintelligenceact.eu, &lt;em>Implementation Timeline&lt;/em> — &lt;a href="https://artificialintelligenceact.eu/implementation-timeline/">https://artificialintelligenceact.eu/implementation-timeline/&lt;/a>&lt;/li>
&lt;li>NVIDIA, &lt;em>Confidential Computing on H100 GPUs&lt;/em> — &lt;a href="https://developer.nvidia.com/blog/confidential-computing-on-h100-gpus-for-secure-and-trustworthy-ai/">https://developer.nvidia.com/blog/confidential-computing-on-h100-gpus-for-secure-and-trustworthy-ai/&lt;/a>&lt;/li>
&lt;li>Corvex, &lt;em>Confidential Computing Meets NVIDIA HGX B200&lt;/em> — &lt;a href="https://www.corvex.ai/blog/confidential-computing-meets-nvidia-hgxtm-b200-secure-ai-without-the-performance-trade-off">https://www.corvex.ai/blog/confidential-computing-meets-nvidia-hgxtm-b200-secure-ai-without-the-performance-trade-off&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Storage in the AI era (4/4): availability</title><link>https://blog.lo0.es/en/posts/storage-ai-era-availability/</link><pubDate>Mon, 22 Jun 2026 09:00:00 +0200</pubDate><guid>https://blog.lo0.es/en/posts/storage-ai-era-availability/</guid><description>&lt;p>We have covered &lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-state-of-the-art/">the state of the art&lt;/a>, &lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-performance/">performance&lt;/a> and &lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-security/">security&lt;/a>. The series closes with the property all the others depend on: availability. Storage that is blazingly fast and perfectly encrypted is worth nothing if a failure brings down an inference factory under SLA, halts a training run across thousands of GPUs or lets a petabyte-scale dataset corrupt itself in silence. And at AI scale, failures are not an exceptional event: they are the permanent operating regime. The difference lies in how you live with them: training resumes from a checkpoint; an inference factory, by contrast, cannot afford to stop, and must keep answering while a component fails underneath it. We will look at both cases, with the focus on continuous service.&lt;/p>
&lt;h2 id="availability-and-durability-are-not-the-same-thing">Availability and durability are not the same thing&lt;/h2>
&lt;p>It is worth starting by separating two concepts that often get confused. &lt;strong>Availability&lt;/strong> measures what fraction of the time the data is reachable; &lt;strong>durability&lt;/strong> measures the probability of not losing it. A system can be very durable but poorly available (the data is safe but cannot be read right now) and vice versa.&lt;/p>
&lt;p>Availability is modelled with the familiar relation between mean time between failures and mean time to repair:&lt;/p>
$$A = \frac{\text{MTBF}}{\text{MTBF} + \text{MTTR}}$$
&lt;p>From that come the &amp;ldquo;nines&amp;rdquo; everyone quotes, whose translation into annual downtime is worth internalising:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Availability&lt;/th>
&lt;th>&amp;ldquo;Nines&amp;rdquo;&lt;/th>
&lt;th>Annual downtime&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>99.9 %&lt;/td>
&lt;td>three nines&lt;/td>
&lt;td>~8.8 hours&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>99.99 %&lt;/td>
&lt;td>four nines&lt;/td>
&lt;td>~52.6 minutes&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>99.999 %&lt;/td>
&lt;td>five nines&lt;/td>
&lt;td>~5.3 minutes&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>99.9999 %&lt;/td>
&lt;td>six nines&lt;/td>
&lt;td>~32 seconds&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>One detail that surprises anyone coming from the on-premise world: public cloud storage services &lt;strong>do not usually offer an SLA above four nines&lt;/strong> (99.99 %). AWS S3, for instance, guarantees 99.99 % availability per region. Six nines are the territory of enterprise arrays in a stretch cluster configuration: Pure Storage offers them in that topology, against &amp;ldquo;five nines and a bit&amp;rdquo; on a single node. The formula makes it clear why reducing MTTR, recovering fast, is usually more cost-effective than chasing an impossible MTBF.&lt;/p>
&lt;h2 id="durability-the-eleven-nines-and-what-they-hide">Durability: the &amp;ldquo;eleven nines&amp;rdquo; and what they hide&lt;/h2>
&lt;p>Durability is expressed in figures that look like marketing but have a precise meaning. The &amp;ldquo;eleven nines&amp;rdquo; of S3 (99.999999999 %) mean that, if you store ten million objects, you would expect to lose one every ten thousand years. How do you get there? AWS starts from the unrecoverable failure rates of the hardware, replicates across three independent availability zones per region and applies erasure coding with overlapping fragmentation. The honest caveat is that &lt;strong>there is no agreed standard for how the nines are calculated&lt;/strong>: every vendor uses its own methodology, and comparing durability figures across providers is, strictly speaking, comparing assumptions.&lt;/p>
&lt;p>The mechanism that produces those stratospheric numbers is the combination of redundancy and failure independence. If a system stores each object so that it tolerates the loss of several fragments, and distributes those fragments across independent failure domains (different drives, nodes, racks, availability zones), the probability of simultaneously losing all the fragments you need becomes astronomically small. The key word is &lt;em>independent&lt;/em>: if the fragments share a single point of failure, the same power supply, the same switch, the same zone, the independence is fictitious and the calculated durability an illusion. A good share of real data losses in theoretically durable systems come from failure correlations the model did not contemplate: a batch of faulty drives from the same manufacturer, a software bug that corrupts every replica at once, an accidental deletion that propagates. Real durability demands diversity, not just quantity.&lt;/p>
&lt;p>To anchor those assumptions in reality there is one invaluable source: Backblaze&amp;rsquo;s drive statistics. In its 2025 data (published in February 2026) the annualised failure rate (AFR) of its fleet of 344,196 drives fell to 1.36 %, down from 1.55 % in 2024, the lowest since 2022; the lifetime AFR remains stable at 1.30 %. Drives of 14-16 TB now make up 52 % of the fleet and those of 20 TB or more around 23 %. These numbers are the raw material from which any credible durability figure is calculated.&lt;/p>
&lt;p>But total drive failure is not the most insidious threat. That would be &lt;strong>silent corruption&lt;/strong> (&lt;em>bit rot&lt;/em>). Enterprise drives have an unrecoverable read error rate on the order of one bit per \( 10^{14} \) bits read, roughly 11 TB, and that rate has barely improved while capacity has soared. A classic NetApp study of 1.53 million drives over 41 months found more than 400,000 checksum mismatches, of which 30,000 were not detected by the RAID controller and only appeared during scrubbing; nearline drives corrupt at ten times the rate of enterprise ones. The lesson: at petabyte scale, periodic scrubbing and end-to-end checksums (such as those of ZFS) are not optional, because the corruption RAID does not see is the one that destroys a training dataset without warning.&lt;/p>
&lt;h2 id="redundancy-why-classic-raid-is-no-longer-enough">Redundancy: why classic RAID is no longer enough&lt;/h2>
&lt;p>The traditional way of tolerating drive failures, RAID with parity, has become problematic precisely because of capacity growth. The reason is rebuild time. Sequential write speed on drives has not grown at the pace of their capacity, so rebuilding a large drive takes longer and longer: a 16 TB nearline HDD in RAID 5 can take between 24 and 72 hours to rebuild. During that window the array is degraded and exposed to a second failure.&lt;/p>
&lt;p>And there is a subtler risk. Rebuilding a drive forces you to read all the others in full, which multiplies the exposure to an unrecoverable read error. Rebuilding a RAID 5 of eight 8 TB drives means reading 56 TB; with enterprise drives that implies around a 30 % probability of hitting a URE that aborts the rebuild, and with consumer drives the probability approaches 96 %. That is why RAID 5 is, quite simply, deprecated for new arrays with drives larger than 4 TB. On top of that comes the write hole: if a power cut interrupts a write, data and parity can end up out of sync and corrupt the array. ZFS eliminates it with copy-on-write.&lt;/p>
&lt;p>The modern answer has two pieces. The first is &lt;strong>erasure coding&lt;/strong> (Reed-Solomon codes, \( k+m \) schemes): the object is split into \( k \) data fragments and \( m \) parity fragments, and any \( k \) of the \( k+m \) are enough to reconstruct it. Its efficiency against replication is notable. Storage overhead is:&lt;/p>
$$O = \frac{k+m}{k}$$
&lt;p>A \( k=4 \), \( m=2 \) scheme gives an overhead of 1.5, so 1 TB logical occupies 1.5 TB physical and tolerates two simultaneous failures, against the factor of 3 of triple replication. At exabyte scale, that difference between 1.5 and 3 is decisive in cost. The price of erasure coding is more CPU on writes and rebuilds and more complex operations, which is why replication is still preferred for latency-sensitive data read locally.&lt;/p>
&lt;p>The second piece is &lt;strong>declustered RAID&lt;/strong> (dRAID): instead of concentrating the rebuild on a dedicated spare drive, it distributes rebuild I/O across all the drives in the pool. The effect on recovery time is drastic: a 20 TB drive that in traditional RAID would take more than 60 hours can resilver in under 15 because every surviving drive contributes at once. OpenZFS dRAID and IBM Storage Scale implement it. The underlying idea connects back to the availability formula: if you cannot avoid the failure, minimise MTTR by spreading the recovery work.&lt;/p>
&lt;p>There is one variable that amplifies all of this and that flash has changed at the root: the speed of the medium during the rebuild. Rebuilding 10 TB on HDD, whose transfer rate is around 300 MB/s, can take more than 55 hours; on SSD, with transfers above 6,000 MB/s, it drops to under 3, twenty times faster. When flash is combined with dRAID, the vulnerability window after a failure shrinks from days to hours or minutes, and with it the probability of a second concurrent failure causing data loss. This is one of the underlying reasons why all-flash platforms have taken over in AI: they do not just perform better, they recover sooner, and at this scale recovery speed is data safety.&lt;/p>
&lt;h2 id="replication-and-rporto-how-much-you-can-lose-and-how-long-you-can-wait">Replication and RPO/RTO: how much you can lose and how long you can wait&lt;/h2>
&lt;p>To tolerate the failure of an entire site, replication comes into play along with two metrics every continuity plan must set: the &lt;strong>RPO&lt;/strong> (&lt;em>Recovery Point Objective&lt;/em>, the maximum acceptable data loss, measured in time) and the &lt;strong>RTO&lt;/strong> (&lt;em>Recovery Time Objective&lt;/em>, the maximum acceptable downtime).&lt;/p>
&lt;p>&lt;strong>Synchronous&lt;/strong> replication mirrors each write to a second site before acknowledging it, guaranteeing an RPO of zero, zero data loss, but its reach is limited by latency: in practice it requires metropolitan links below about 10 ms, and it does not work for intercontinental distances. &lt;strong>Asynchronous&lt;/strong> replication acknowledges the write locally and propagates afterwards, which allows any geographic distance in exchange for an RPO of minutes or hours. Active-active stretch cluster topologies (such as Pure ActiveCluster) achieve zero RPO and RTO within the metropolitan range, and some add a third asynchronous site to combine local consistency with geographic protection. The decision is always the same triangle: distance, cost and tolerable loss. You cannot optimise all three at once.&lt;/p>
&lt;p>It is worth dismantling a myth about array high availability. People tend to assume that &amp;ldquo;active-active&amp;rdquo; is always superior to &amp;ldquo;active-passive&amp;rdquo;, but there is a performance nuance that matters. In an active-passive configuration, the secondary controller takes over the load after a failure without having been serving I/O, so post-failover performance is predictable. In active-active, both controllers serve load in normal operation; when one fails, the survivor has to absorb its own load plus the transferred one, and may miss the performance SLA exactly when it is needed most. There is no universal answer: the choice depends on whether you prioritise aggregate performance in normal operation or a performance guarantee in degraded mode. What is non-negotiable is &lt;strong>non-disruptive upgrades&lt;/strong> (NDU): a serious AI array is upgraded with the system powered on and serving I/O, using the same dynamic failover routine it employs on a failure. If an upgrade requires stopping, that array is not up to a critical workload.&lt;/p>
&lt;h2 id="the-permanent-failure-regime-why-it-matters-to-inference">The permanent failure regime: why it matters to inference&lt;/h2>
&lt;p>This is where AI storage availability separates from everything above: at AI scale, hardware failures are not rare, they are continuous. The most quoted figure comes from Meta&amp;rsquo;s Llama 3 training on a cluster of 16,384 H100 GPUs: over 54 days it suffered 419 unexpected component failures, one failure every three hours on average, with a cluster MTBF of approximately 1.8 hours. More than 66 % of the interruptions were due to hardware faults: defective GPUs, HBM3 memory, SRAM, network switches and cables.&lt;/p>
&lt;p>Although the figure comes from a training run, the underlying statistic applies equally to an inference factory: the same hardware fails at the same rate, and an inference fleet of hundreds or thousands of GPUs will see components drop daily. The difference lies in the response. Training absorbs the failure by resuming from a checkpoint; inference absorbs it with redundancy and hot switching, because it cannot stop. In both cases storage is the piece that makes recovery possible: in training, as the medium where the checkpoint lives; in inference, as the replicated repository from which a replica is stood up instantly to substitute the fallen one. That is why it pays to understand the checkpointing mechanism well even if the factory is an inference one: it is the same principle of &amp;ldquo;assume the failure and recover fast&amp;rdquo; taken to its most extreme form.&lt;/p>
&lt;p>The reason is purely statistical. If an individual component has a given MTBF, the MTBF of a cluster of \( N \) identical components shrinks in inverse proportion:&lt;/p>
$$\text{MTBF}_{\text{cl}} = \frac{\text{MTBF}_{\text{dev}}}{N}$$
&lt;p>Even if each GPU failed only once every six years (some 50,000 hours), a cluster of 100,000 GPUs would see a failure every half hour, and one of a million, every three minutes. This is the operational reality no AI storage design can ignore.&lt;/p>
&lt;p>How do you live with this? With &lt;strong>checkpointing&lt;/strong>, which is both a performance tool (we saw it in &lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-performance/">article 2&lt;/a>) and the central resilience mechanism: after a failure, training resumes from the last checkpoint instead of starting from scratch, potentially saving weeks of compute. This inverts the usual relationship: storage is not only what has to be protected, it is the instrument that protects the GPU. There is even an underlying debate, with Epoch AI arguing that with checkpointing based on memory distributed across GPUs, rather than storage-based, hardware failures would stop limiting training size even beyond a million GPUs. Whatever the approach, the conclusion for the architect is that &lt;strong>the availability of the checkpointing subsystem is the availability of the training run&lt;/strong>.&lt;/p>
&lt;p>A revealing detail in Meta&amp;rsquo;s data is that more than two thirds of the interruptions were hardware (GPU, HBM3, SRAM, switches and cables), and that storage, when well designed, does not appear among the main causes of failure but among the recovery mechanisms. This inverts the usual psychology of the storage architect: at this scale the job is not so much about preventing your subsystem from failing, though it must, as about guaranteeing that, when anything else fails, training can resume quickly. The storage of an AI cluster is, to a large extent, resilience infrastructure for the rest of the cluster. Sizing the write bandwidth for checkpointing and the re-read speed after a restart is therefore an availability decision for the whole system, not an isolated array metric.&lt;/p>
&lt;h2 id="availability-in-an-inference-factory-the-service-does-not-stop">Availability in an inference factory: the service does not stop&lt;/h2>
&lt;p>Everything above (failures at scale, checkpointing, cluster MTBF) is described from the point of view of training, which is a batch job: if it goes down, it resumes and time is lost, but nobody is waiting on the other side. An &lt;strong>inference factory&lt;/strong> is the opposite: an online service under an SLA, where every second of unavailability is a failed request and, often, a contractual penalty. Its availability is designed with a different mindset.&lt;/p>
&lt;p>The first principle is that &lt;strong>the service plane must survive the failure of any component without interrupting requests&lt;/strong>. That means redundant replicas of every served model, load balancing that automatically withdraws a fallen replica, and, in the storage plane, that none of the factory&amp;rsquo;s four planes is a single point of failure. The model repository must be replicated and available, because if it goes down you cannot start new replicas exactly when you need them to substitute the failing ones. The RAG vector database needs its own high availability, because without it the service degrades its quality or stops answering. And the KV cache layer, ephemeral as it is, conditions latency: losing a shared cache forces recomputation and spikes TTFT at once for every affected client.&lt;/p>
&lt;p>The second principle is &lt;strong>model updates with no downtime&lt;/strong>. In an inference factory models are rotated frequently, with new versions, adjustments and rollbacks, and doing so without cutting service demands progressive deployment patterns: blue-green (stand up the new version in parallel and switch traffic when it is warm) or canary (send a fraction of traffic to the new version and widen it if it behaves). Both patterns have a direct storage implication: during the transition two sets of weights coexist in the repository and, at times, in HBM, which demands capacity and load bandwidth so the new version is ready before it receives traffic. A slow model repository does not just delay autoscaling: it slows every deployment and lengthens the risk window.&lt;/p>
&lt;p>The third principle is &lt;strong>elastic autoscaling&lt;/strong>, which turns cold start time, the time to load weights from storage that we saw in the performance article, into an availability metric. If starting a new replica takes minutes because the repository is slow, the factory does not absorb the peaks and degrades or rejects requests precisely when demand is highest. The real elasticity of an inference factory is limited by the speed at which its storage delivers models. That is why many installations keep a reserve of weights in hot local flash and use accelerated load paths: availability under variable load is won, in large part, in the storage layer.&lt;/p>
&lt;p>The fourth principle is &lt;strong>redundancy of the service plane itself&lt;/strong>, which can be sized with numbers. If a service replica has an individual availability \( a \) (limited by its GPU, its node and its access to storage), a service with \( n \) independent replicas in which one is enough to answer reaches an availability of:&lt;/p>
$$A = 1 - (1 - a)^{n}$$
&lt;p>The formula explains why redundancy is so effective: with reasonably available replicas, each additional replica adds nines to the service. But its hypothesis is the same one we saw in durability: &lt;strong>independence&lt;/strong>. If every replica depends on the same model repository, the same vector database or the same KV cache layer, that shared component is the real limit on availability no matter how many GPU replicas you add. Hence, in an inference factory, replicating and giving high availability to the storage planes (repository, vector DB, cache) is as important as replicating the serving GPUs themselves: those, and not the compute, are the single points of failure that usually get overlooked.&lt;/p>
&lt;p>The conclusion is that in an inference factory the availability of storage is measured in terms of continuous service: not &amp;ldquo;how long do I take to recover the data?&amp;rdquo; but &amp;ldquo;does the service keep answering while a component goes down, a model is updated or demand doubles?&amp;rdquo;. It is a target of five or six nines over a living system, not durability over an archive at rest.&lt;/p>
&lt;h2 id="disaster-recovery-the-3-2-1-rule-and-the-petabyte-problem">Disaster recovery: the 3-2-1 rule and the petabyte problem&lt;/h2>
&lt;p>For the major disaster, loss of a site or a destructive attack, the reference is still the &lt;strong>3-2-1&lt;/strong> rule: three copies of the data, on two different media types, with at least one off site. Its 2025 evolution adds two requirements: immutability (the off-site copy must be unalterable, connecting with the anti-ransomware defence of the &lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-security/">security article&lt;/a>) and verified recoverability (a backup you have not tested restoring is not a backup).&lt;/p>
&lt;p>At AI scale a physical obstacle appears that is hard to dodge: the recovery time of massive datasets. Restoring petabytes from an off-site copy can take days or weeks over standard connections, an unacceptable RTO for many operations. Organisations with petabytes cannot even do the initial backup to cloud over conventional internet; they need physical transfer or dedicated links. Sizing the recovery, not just the copy, is where most AI DR plans fail.&lt;/p>
&lt;h2 id="when-the-cloud-goes-down-too">When the cloud goes down too&lt;/h2>
&lt;p>It is worth remembering that delegating to a hyperscaler does not eliminate the problem, it only moves it. 2025 left a forceful reminder: the big AWS outage of 19-20 October 2025, caused by a race condition in an internal DynamoDB microservice that generated an empty DNS record, cascaded to EC2 and lasted some fifteen hours, with more than seventeen million reports and global services down. There were precedents in July 2024 (us-east-1, via Kinesis) and February 2025 (Stockholm). The moral for a critical AI architecture is the usual one: multi-region or multi-cloud resilience is a conscious design decision, not a property you inherit by signing up for cloud.&lt;/p>
&lt;h2 id="the-trend-storage-that-heals-itself">The trend: storage that heals itself&lt;/h2>
&lt;p>The evolution vector for 2026 is the incorporation of AI into the storage layer itself for self-healing defence: predicting failures before they happen, automatic tiering and migration, pre-emptive remediation and instant recovery from ransomware. Storage hardware &amp;ldquo;is no longer passive&amp;rdquo;, as we saw in security. At exabyte scale, object storage is consolidating as the core because it combines massive durability with flexible metadata and versioning, while tape re-emerges as an active archive tier for AI datasets, fighting the cost of flash and HDD. With data growth of 30-40 % a year, automating resilience stops being a convenience and becomes a necessity: at that scale no human team manages failures by hand.&lt;/p>
&lt;p>Commercial guarantees have moved in the same direction. Some vendors already offer contractual SLAs that were previously unthinkable: Pure, with its Evergreen//One model, announces up to ten distinct guaranteed SLAs, including six nines of uptime, zero data loss, a capacity buffer and zero planned downtime for upgrades, plus a specific post-cyberattack recovery SLA that guarantees clean arrays. Whatever the vendor, the trend signals a change of model: from selling hardware to guaranteeing availability outcomes. For the architect, this shifts part of the risk onto the provider, but it does not exempt you from designing: a contractual SLA compensates financially for an outage, it does not prevent it, and the continuity of a training run worth millions of euros is not restored with a credit note.&lt;/p>
&lt;h2 id="availability-is-governed-with-observability">Availability is governed with observability&lt;/h2>
&lt;p>None of these techniques works blind. Sustaining availability at AI scale demands observability: monitoring the state of every drive (with SMART-style telemetry and failure prediction), the progress and integrity of scrubs, replication latency against its RPO target, and the health of checkpoints, which are written, yes, but which also have to be re-readable. The most deceptive metric is the backup that has never been restored: an unverified copy is a hypothesis, not a guarantee. The operational discipline that distinguishes resilient infrastructure is the periodic recovery test, at realistic scale, measuring real RTO against the target. At the scale of petabytes and thousands of GPUs, what is not measured cannot be guaranteed, and what is not rehearsed tends to fail precisely on the day it is needed.&lt;/p>
&lt;h2 id="takeaways-and-closing-the-series">Takeaways, and closing the series&lt;/h2>
&lt;p>The availability of AI storage is designed on four pillars: efficient redundancy (erasure coding and dRAID instead of classic RAID, which no longer copes with large drives), verified durability (with scrubbing and checksums against silent corruption), replication with explicit RPO/RTO according to criticality, and a pipeline resilience that assumes failure as the normal state and leans on checkpointing. The availability formula is a reminder of the practical priority: when you cannot avoid the failure, and at AI scale you cannot, what makes the difference is recovering fast.&lt;/p>
&lt;p>With this we close the series. &lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-state-of-the-art/">The state of the art&lt;/a> gave us the map; &lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-performance/">performance&lt;/a>, the reason for being; &lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-security/">security&lt;/a>, the protection; and availability, the guarantee that everything above will still be there tomorrow. In the AI era, storage has stopped being the silent basement of the datacenter and become what decides whether the GPUs, the most expensive and scarcest resource, work or wait.&lt;/p>
&lt;h2 id="see-also">See also&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-state-of-the-art/">Storage in the AI era (1/4): the state of the art&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/ai-era-storage-performance/">Storage in the AI era (2/4): performance&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/storage-ai-era-security/">Storage in the AI era (3/4): security&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="sources">Sources&lt;/h2>
&lt;ul>
&lt;li>ActualTech Media, &lt;em>RAID5 and Large Disks: Dealing with Rebuild Times&lt;/em> — &lt;a href="https://www.actualtechmedia.com/io/raid-disk-rebuild-times/">https://www.actualtechmedia.com/io/raid-disk-rebuild-times/&lt;/a>&lt;/li>
&lt;li>DiskInternals, &lt;em>RAID Rebuild Time and URE risk&lt;/em> — &lt;a href="https://www.diskinternals.com/raid-recovery/raid-rebuild-time/">https://www.diskinternals.com/raid-recovery/raid-rebuild-time/&lt;/a>&lt;/li>
&lt;li>Tech Buzz Online, &lt;em>Erasure Coding vs Replication&lt;/em> — &lt;a href="https://techbuzzonline.com/erasure-coding-vs-replication-storage-systems/">https://techbuzzonline.com/erasure-coding-vs-replication-storage-systems/&lt;/a>&lt;/li>
&lt;li>simplyblock, &lt;em>Declustered RAID (dRAID)&lt;/em> — &lt;a href="https://simplyblock.io/glossary/draid/">https://simplyblock.io/glossary/draid/&lt;/a>&lt;/li>
&lt;li>The Register, &lt;em>Data durability statements (11 nines)&lt;/em> — &lt;a href="https://www.theregister.com/2018/07/19/data_durability_statements/">https://www.theregister.com/2018/07/19/data_durability_statements/&lt;/a>&lt;/li>
&lt;li>Backblaze, &lt;em>Drive Stats for 2025&lt;/em> — &lt;a href="https://www.backblaze.com/blog/backblaze-drive-stats-for-2025/">https://www.backblaze.com/blog/backblaze-drive-stats-for-2025/&lt;/a>&lt;/li>
&lt;li>StorageReview, &lt;em>Backblaze 2025 Year-End Drive Stats&lt;/em> — &lt;a href="https://www.storagereview.com/news/backblaze-2025-year-end-drive-stats-annual-afr-falls-to-1-36-as-high-capacity-drives-dominate-fleet">https://www.storagereview.com/news/backblaze-2025-year-end-drive-stats-annual-afr-falls-to-1-36-as-high-capacity-drives-dominate-fleet&lt;/a>&lt;/li>
&lt;li>Backup Central, &lt;em>Does Undetectable Bit Error Rate Matter?&lt;/em> — &lt;a href="https://backupcentral.com/does-undetectable-bit-error-rate-matter/">https://backupcentral.com/does-undetectable-bit-error-rate-matter/&lt;/a>&lt;/li>
&lt;li>Pure Storage / Everpure, &lt;em>The Storage Reliability Imperative&lt;/em> — &lt;a href="https://blog.everpuredata.com/perspectives/data-storage-reliability/">https://blog.everpuredata.com/perspectives/data-storage-reliability/&lt;/a>&lt;/li>
&lt;li>Pure Storage, &lt;em>ActiveCluster&lt;/em> — &lt;a href="https://www.purestorage.com/products/purity/activecluster.html/">https://www.purestorage.com/products/purity/activecluster.html/&lt;/a>&lt;/li>
&lt;li>Tom&amp;rsquo;s Hardware, &lt;em>Faulty H100 GPUs and HBM3 — one failure every three hours (Llama 3)&lt;/em> — &lt;a href="https://www.tomshardware.com/tech-industry/artificial-intelligence/faulty-nvidia-h100-gpus-and-hbm3-memory-caused-half-of-the-failures-during-llama-3-training-one-failure-every-three-hours-for-metas-16384-gpu-training-cluster">https://www.tomshardware.com/tech-industry/artificial-intelligence/faulty-nvidia-h100-gpus-and-hbm3-memory-caused-half-of-the-failures-during-llama-3-training-one-failure-every-three-hours-for-metas-16384-gpu-training-cluster&lt;/a>&lt;/li>
&lt;li>Epoch AI, &lt;em>Hardware failures won&amp;rsquo;t limit AI scaling&lt;/em> — &lt;a href="https://epoch.ai/blog/hardware-failures-wont-limit-ai-scaling">https://epoch.ai/blog/hardware-failures-wont-limit-ai-scaling&lt;/a>&lt;/li>
&lt;li>Acronis, &lt;em>What is the 3-2-1 Backup Strategy (2025)&lt;/em> — &lt;a href="https://www.acronis.com/en/blog/posts/backup-rule/">https://www.acronis.com/en/blog/posts/backup-rule/&lt;/a>&lt;/li>
&lt;li>InfoQ, &lt;em>Race Condition in DynamoDB DNS System (AWS Oct 2025 outage)&lt;/em> — &lt;a href="https://www.infoq.com/news/2025/11/aws-dynamodb-outage-postmortem/">https://www.infoq.com/news/2025/11/aws-dynamodb-outage-postmortem/&lt;/a>&lt;/li>
&lt;li>TechTarget, &lt;em>Top data storage trends 2026&lt;/em> — &lt;a href="https://www.techtarget.com/searchstorage/tip/Top-data-storage-trends">https://www.techtarget.com/searchstorage/tip/Top-data-storage-trends&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>