Enjoying this issue?
Get tomorrow's AI & engineering digest in your inbox — hand-picked, summarized, and always spam-free.
TLDR
High Bandwidth Flash (HBF), the SanDisk and SK Hynix proposal to wire cheap flash directly into the GPU fabric, is a clever idea that fails in practice: its 3 TB/s throughput is slower than HBM, and using flash for KV cache or training delivers almost no gain because NAND writes are slow and training cares more about scaling nodes than memory capacity. The result is an awkward middle tier that doesn't beat existing multi-GPU setups, which is why Nvidia is betting on infrastructure-level solutions like BlueField and Spectrum-X instead.
Key points
- SanDisk and SK Hynix announced High Bandwidth Flash (HBF), a new memory tier for GPUs using the UCIe interconnect, targeting up to 3 TB/s throughput and up to 2 TB of flash memory directly in the GPU fabric.
- HBF's 3 TB/s throughput is roughly 60% slower than the 4.8 TB/s achieved by HBM in current high-end GPUs.
- For streaming a 2 TB model, a single HBF device would take about 0.67 seconds, while splitting the model across 16 GPUs with HBM takes about 0.026 seconds; even GPU interconnect at 3.6 TB/s is faster, so HBF loses in multi-GPU scaling.
- Using HBF to store KV cache during inference is problematic because NAND flash requires erasing before writing, making writes much slower than reads, and KV cache is write-heavy. A paper titled "HBF sucks" found only a 1% latency improvement from using HBF as KV cache even after scaling theoretical speed to 3.75x.
- Training large language models benefits more from scaling the number of nodes and faster bandwidth than from memory capacity, so HBF provides little benefit for training workloads.
- Instead of adopting HBF, Nvidia is pursuing CMX (Context Memory Extension) and infrastructure-level pod solutions built with BlueField and Spectrum-X, aiming to contain the KV cache pressure at the infrastructure layer rather than adding a chip-level flash tier.
- Adoption is also hindered by the fact that SanDisk and SK Hynix do not manufacture GPUs or own the AI stack the way Nvidia does, making it hard to entice GPU makers to adopt the standard.
Tools mentioned
Techniques
- memory tiering
- KV cache offloading to flash
- multi-GPU model sharding
Stop scrolling. Start reading smarter.
Receive the day's most important AI & engineering updates in one concise email. No spam.
Transcript (captions)
If solidstate drive is the cheapest memory option out there, why can't we just bring SSD directly into the fabric of GPU? Yeah, it's sort of a Frankenstein build, but at least we
finally have cheap memory available in GPU, right? SanDisk and SKH Highix recently released a more concrete standard called high bandwidth flash trying to make this happen. But neither
of these companies manufacture GPUs. So, they have to entice GPU manufacturers like Nvidia and AMD to adopt HBF as a new standard. And yet it's been rather radio silence. But why? Bringing cheap
memory near GPU seems like a perfect idea. There's actually a bit of a problem with this. Large language models today easily go up to 2 TB in size. And as you can see, we only have so much
memory to go around. Say 141 GB in GPU, 64 GB in RAM, and 3 TB in SSD. We could fit this entire model in SSD rather comfortably as you can see, but we have to bring them all the way up to the GPU
core where the actual computation is done. And the current maximum throughput is about 14.8 GB per second, which means you have to wait more than 2 minutes just to get the entire model's weights
streamed to the GPU, which is not a great solution. Now, SanDisk and SKH Highix's proposal here is to create a new tier of memory right here. And because flash memory is cheap, we can
easily support 2 TB of memory directly into the fabric of GPU. And since this is a new tier of memory, they support up to a throughput of 3 TB per second using UCIe standard. And now using HBF, a two
TB model can stream to the GPU core in less than a second. Surely, this has to be a genius idea, right? This is just one of those ideas where it sounds good on paper, but in reality, you're getting
the worst of both worlds. Typically, we use GPUs as an accelerator to train models or run models through inference. And turns out, HBF actually makes both training and inference a little bit
worse. Let's find out why. Currently, high-end GPUs can pull memory from HBM at a speed of 4.8 tabytes per second. So, right off the bat, you're looking at a 60% faster speed from existing HBM and
comparing them to the newly proposed HPF. Now the problem with HBM is that as the model sizes grew over time, GPUs didn't really catch up at the same time and this very gap here is really where
the problem is. And SanDisk and SKH High's solution was to fill this very gap with HBF as a periphery option. And until now we have been approaching this problem by stitching together many GPUs
to run at the same time. So intuitively we can just pull together many HPM all together and split the model across them. let's say 16 GPUs to make up for the size deficiency. And since the two
terabyte model is now split across 16 different ways, each GPU only needs to pull about 125 GB of weights. Which means at a speed of 4.8 tabytes per second, you're pulling the model at an
incredible speed of 0.026 seconds compared to a single HPF that takes about 0.67 seconds. And since the medium that actually connects these GPUs together still operates at a faster
speed of 3.6 6 terabytes per second. HPF still falls short in large when rubber meets the road as you can see. But what about inference? Can we just use this newly minted space to store KV cache
during inference? Using HPF to store KV cache is actually very different since KV cache often grows as the model processes more and more tokens which means you have more write operation
going into HBF than read operation reading from HBF. And nan flash is notoriously slow in write operation since they need to be erased before they actually are written. When you zoom out
a little bit, DRAM is really meant to be used for working memory, meaning read and write speed is incredibly fast since they are dynamic RAM. NAN flash is different by nature. It was always meant
for persistent storage, which means compared to dynamic RAM, read and write speed is slower in comparison and often times write is significantly slower than read. So using nanflash for KV cache
means write operation is more dominant than read since KV cache tends to balloon as the model generates more tokens. In fact, there's already a paper out there with the title called HPF
sucks finding only 1% improvement in latency using HPF as KV cache as I scale the theoretical speed to 3.75 times. So, as you can see, simply bringing cheap memory up the stack and beefing up the
bandwidth to 3 terabytes per second still falls short when it comes to inference. But what about training? Is there benefit to be gained to use HPF during training? Not really. And here's
why. Training large language models benefit a lot from scaling the number of nodes and having a faster bandwidth. And it has less room to actually benefit from when we actually make improvements
on memory bandwidth and memory capacity. This looks very different in inference work where the compute profile for prefill stage is a lot more computebound and memory capacity bound. Same thing we
can say for decode stage is also bandwidth and latency bound. So naturally improving the memory capacity by bringing up cheap memory near the GPU actually stands to benefit inference
more than it does for training. So going back to the geometry of compute where inference actually reads the weights from memory to produce new information in the form of KV cache training large
English language models need to use the model's weights to generate the next token. It also needs to generate gradients and actually apply the gradients through optimizer to update
the model's weights. In other words, training isn't exactly dominated by read operations. But in reality, there's a lot of back and forth, which makes the theoretical benefit of HPF not really
realized. So, it really remains as this awkward middle ground that doesn't really stand to gain huge benefits. But whether or not we resolve this memory problem with HPF or not, at the end of
the day, it's still important problem that needs to be resolved. For Nvidia's case, the way that they've been doubling down on is in their CMX solution or context memory extension. Because in the
application layer of the AI stack, the use cases in this highest abstraction are longer running agents, multi- aent systems, and loops. It puts a tremendous pressure downward to not only make more
KV cache happen, but also hold on to these KV cache for longer duration of time. And while HPF from SanDisk and SKH Highix targets to alleviate this downward pressure at the chip layer by
adding HPF in the chip, Nvidia has been betting on alleviating this pressure in the infrastructure side by selling a joint system in a pod structure where you use blue field and spectrum X that
contains dedicated storage and networking. So essentially we contain the inference problem that we have into the single unified structure instead of having a more customized chip at the
chip layer that solves a more specific issue by adding HPF attachment. But GPUs are really meant to be more general purpose and companies like SanDisk and SKHEX don't really own the AI stack the
way that Nvidia does. So their collaboration led to establishing this specification at the chip layer by introducing what's called high bandwidth flash or HPF which is a new technology
that's meant to expand the memory capacity at the chip