摘要
The challenges of power consumption and memory capacity of computers have driven rapid development on non-volatile memories(NVM).NVMs are generally faster than traditional secondary storage devices,write persistently and many offer byte addressing capability.Despite these appealing features,NVMs are difficult to manage and program,which makes it hard to use them as a drop-in replacement for dynamic random-access memory(DRAM).Instead,a majority of modern systems use NVMs through the IO and the file system abstractions.Hiding NVMs under these interfaces poses challenges on how to exploit the new hardware’s performance potential in the existing system software framework.In this article,we survey the key technical issues arisen in this area and introduce several recently developed systems each of which offers novel solutions around these issues.
The challenges of power consumption and memory capacity of computers have driven rapid development on non-volatile memories(NVM).NVMs are generally faster than traditional secondary storage devices,write persistently and many offer byte addressing capability.Despite these appealing features,NVMs are difficult to manage and program,which makes it hard to use them as a drop-in replacement for dynamic random-access memory(DRAM).Instead,a majority of modern systems use NVMs through the IO and the file system abstractions.Hiding NVMs under these interfaces poses challenges on how to exploit the new hardware’s performance potential in the existing system software framework.In this article,we survey the key technical issues arisen in this area and introduce several recently developed systems each of which offers novel solutions around these issues.