Abstract
Due to the fast access performance, byte-addressability, and non-volatility, non-volatile random access memory (NVRAM) has emerged as a popular candidate for the design of memory/storage systems of mobile computing systems. When NVRAM is considered as both main memory and storage in an embedded system, existing page cache mechanisms, which were designed to hide the performance gap between main memory and secondary storage, introduce too many unnecessary data movements between main memory and storage. To resolve this issue, we propose the concept of ``union page cache,'' which jointly manages data of the page cache in both main memory and storage. On the other hand, due to the fact that both main memory and storage are in the same NVRAM device and can both be accessed by the processor directly, we further boost the file system access performance via proposing a union storage file system (UnistorFS), which aims to jointly manage the NVRAM resource for main memory and storage. The proposed UnistorFS realizes the concept of using the NVRAM resource as memory and storage interchangeably, so as to achieve resource sharing while main memory and storage coexist on the same NVRAM device with no partition or logical boundary.