In Part Vermillion of our SNIA Ethernet Storage Forum (ESF) “Everything You Wanted To Know About Storage But Were Too Proud To Ask” webcast series – we examined the terms and concepts are at the heart of where compute, networking and storage intersect. That’s why we called it “What if Programming and Networking Had a Storage Baby” If you missed the live webcast, you can watch it on-demand.
The discussion from our panel of experts generated a lot of good questions. As promised, here are answers to them all.
Q. With regard to persistent memory, how does one decide if it’s better to use load/store or access via I/O?
A. Legacy applications will not change and hence will access the persistent memory the way they were written. If your legacy application needs a lot of memory and you want to use the new persistent memory as just a big and cheap (volatile) memory, then the access will be byte addressable (load/store). If your legacy application uses block storage then it will use the persistent memory using block addressing. New applications can take advantage of using byte addressing and persistency. They can keep all their data structures in memory, and these data structures will also be persistent! This saves applications the need to serialize before storing and to de-serialize when retrieving from storage and enables many other ways to optimize the software.
Q. Can you go over again a bit more slowly how byte accessible and LBA change with persistent memory?
A. Persistent memory can be accessed in three different ways.
- Using byte addressing, in which case it behaves like a big (volatile) memory
- Using logical block addressing, in which case it behaves like a block storage device
- Using SNIA NVM Programming Model that enable byte addressing along with persistency. In this case byte being written into the device can be made persistent with special APIs
Leave a Reply