Linux kernel support to exploit phase change memory
نویسندگان
چکیده
Recently, phase change memory (PRAM) has been developed as a next generation memory technology. Because PRAM can be accessed as word-level using memory interface of DRAM and offer more density compared to DRAM, PRAM is expected as an alternative main memory device. Moreover, it can be used as additional storage of system because of its non-volatility. However, PRAM has several problems. First, the access latency of PRAM is still not comparable to DRAM. It is several times slower than that of DRAM. Second, PRAM can endure hundreds of millions of writes per cell. Therefore, if PRAM does not be managed properly, it has negative impact on the system performance and consistency. In order to solve these problems, we consider the Linux kernel level support to exploit PRAM in memory and storage system. We use PRAM with a small size DRAM and both PRAM and DRAM are mapped into single physical memory address space in Linux. Then, the physical memory pages, which are used by process, are selectively allocated based on the access characteristics. Frequently updated hot segment pages are stored in DRAM. PRAM is used for read only and infrequently updated pages. Consequently, we minimize the performance degradation caused by PRAM while reducing 50% energy consumption of main memory. In addition, the non-volatile characteristic of PRAM is used to support file system. We propose the virtual storage that is a block device interface to share the non-volatile memory pages of PRAM as a storage alternative. By using 256MB PRAM for virtual storage, we can decrease more than 40% of access time of disk.
منابع مشابه
N 3934 : Towards Implementation and Use of memory order consume Doc . No . : WG 21 / N 3934 Date : 2014 - 02 - 14 Reply
Although RCU is gaining significant use both within and outside of the Linux kernel, there are no know high-performance implementations of memory order consume loads in any C11 or C++11 environments. This situation suggests that some change is in order: After all, if the standard does not support this use case, the corresponding users can be expected to continue to exploit whatever implementati...
متن کاملBringing PowerPC Book E to Linux
The PowerPC Book E 1 architecture introduced the first major change to the PowerPC architecture since the original Green Book 2 PowerPC processors were introduced. Central to the Book E architectural changes is the MMU which is always in translation mode, even during exception processing. This presented some unique challenges for cleanly integrating the architecture into the Linux/PPC kernel. I...
متن کاملLinux Kernel Compaction through Cold Code Swapping
There is a growing trend to use general-purpose operating systems like Linux in embedded systems. Previous research focused on using compaction and specialization techniques to adapt a general-purpose OS to the memory-constrained environment presented by most embedded systems. However, there is still room for improvement: it has been shown that even after application of the aforementioned techn...
متن کاملLinux Kernel Infrastructure for User-Level Device Drivers
Linux 2.5.x has good support now for user-mode device drivers — XFree being the biggest and most obvious — but also there is support for user-mode input devices and for devices that hang off the parallel port. The motivations for user-mode device drivers are many: • Ease of development (all the normal user-space tools can be used to write and debug, not restricted to use of C only (could use Ja...
متن کاملStill Hammerable and Exploitable: on the Effectiveness of Software-only Physical Kernel Isolation
All the state-of-the-art rowhammer attacks can break the MMU-enforced inter-domain isolation based on the fact that the physical memory owned by each domain is adjacent to each other. To mitigate such attacks, CATT [5] as the first generic and practical technique, essentially separates each domain physically. It divides the physical memory into multiple partitions and keeps each partition occup...
متن کامل