Hi Folks,
Vishal Verma just posted an interesting
blog post on
pmem.io describing the BTT (Block Translation Table), which is a layout he and I worked on together to provide atomic updates to pools of equally-sized blocks. There's a full implementation of it in the NVM Library and I'm working on a specification for it that I'll publish here fairly soon. The idea is that this layout provides a nice way to create a block-device-style interface on top of pmem, so that blocks ("sectors") are atomic. This could be used in drivers to provide things that look like block devices or applications can skip the kernel and use it directly with the same semantics via the
NVM Library.
Comments & questions welcome...
-andy