

Memory1: An All-Flash DDR4 Memory Module - pwnna
http://www.diablo-technologies.com/memory1/

======
amluto
I would not buy this product yet for storage.

There's a shiny spec for how storage devices in DIMM slots are supposed to
work. It's spelled out in painful detail in ACPI 6, and it requires a Skylake
CPU to work safely. The Skylake CPU is a big deal: it adds a PCOMMIT
instruction that tells the CPU and memory controller to flush data out to
memory-like storage to make it durable. It also adds a CLWB instruction that's
important to get good performance.

Linux drivers for these devices are starting to appear. The devices can appear
as block devices or (much faster) byte-addressable memory-mapped devices.
Somewhat surprisingly, not all existing filesystems work on the latter --
filesystems expect atomic sector access, not atomic byte access.

This thing does not appear to be one of those devices. According to the FAQ,
they appear as block devices (so no super-fast mmap access). There are no
obvious performance numbers on their website.

Most worryingly to me, they don't explain how it's reliably durable on pre-
Skylake systems. To the best of my knowledge, getting this kind of thing to
work reliably pre-Skylake involves nasty (and slow!) tricks with the memory
controller, a hackish thing called ADR (asynchronous DRAM refresh), or maybe
even a really awful hack in which power failure sends the OS an NMI and the OS
responds by flushing the whole system cache (with WBINVD) and hoping that the
PSU can keep the CPU and memory controller alive long enough for the flush to
work.

------
supertruth
Can anyone explain what the value-add of this product is?

If it's increasing memory sizes, we already have virtual memory.

If it's about increasing IO speeds to NVM, we already have NVMe.

Those configurations are more widely-supported and cheaper, so why would
anyone rely on this product?

------
skykooler
How does this deal with the fact that NAND flash isn't randomly rewritable?

