249 0

Exploiting Non-Volatile Memory in Storage Hierarchy

Title
Exploiting Non-Volatile Memory in Storage Hierarchy
Other Titles
스토리지 계층을 위한 비휘발성 메모리 응용
Author
정재민
Alternative Author(s)
정재민
Advisor(s)
원유집
Issue Date
2016-08
Publisher
한양대학교
Degree
Doctor
Abstract
Byte-addressable non-volatile memory (NVRAM) is a memory device which can preserve data without electricity. There exist several semiconductor technologies for NVRAM devices. These include PCM (Phase Change RAM), MRAM (Magnetic RAM), STT-MRAM, FRAM (Ferroelectric RAM), RRAM (Resistive RAM), etc. Once realized to proper scale and cost, NVRAM can effectively remove various complicated software techniques, e.g., virtual memory, swap, filesystem journaling, etc., which have been used to bridge the deep chasm between memory and storage. In this work, we focus our efforts on exploiting NVRAM in current storage stacks including the file system, the block layer, and the application. We develop hybrid file system, FRASH, for NVRAM and NAND Flash. Despite promising physical characteristics of NVRAM, its scale is an order of magnitude smaller than the current storage device scale. This fact makes it less than desirable for use as an independent storage device. We carefully analyze in-memory and on-disk file system objects in the log-structured file system and exploit memory and storage aspects of the NVRAM to overcome the drawbacks of the current log-structured file system. FRASH provides a hybrid view on the NVRAM. It harbors in-memory data structure as well as on-disk structure. It provides non-volatility to the key data structures which have been maintained in-memory in the legacy log-structured file system. This approach greatly improves the mount latency and effectively resolves the robustness issue. By maintaining on disk structure in NVRAM, FRASH provides byte-addressability to the file system object and metadata for page and subsequently greatly improves the I/O performance compared to the legacy log-structured approach. While NVRAM offers byte granularity, it is still far slower than its DRAM counter part. We develop a Copy-On-Mount technique to overcome the access latency difference between the main memory and the NVRAM. We develop nvramdisk, a transactional block device driver for byte-addressable NVRAM. nvramdisk effectively addresses the key technical challenges in using a portion of NVRAM as a transactional persistent block device. nvramdisk adopts (i) shadow block, (ii) mapping table journaling, and (iii) type-dependent ordering guarantee to provide atomicity, consistency, and durability in write operations on nvramdisk imposed block device. Web applications are launched by Webkit engine. Dominant fraction of launch latency is spent on deserializing the resource file. Webkit engine loads the HTML format based resources from the storage device, and converts them to memory representation creating DOM (Document Object Model) tree and render tree. The overhead of this deserialization is excessive and the modern web applications suffer from tens of a second in application launch latency. We develop a new software layer FastIO. FastIO maps a file system region to memory and uses this memory region to persistently store the tree representation, e.g., DOM tree and render tree, of the resources directly to the storage device. The FastIO layer eliminates the overhead of serializing and deserializing the HTML based resources; parsing the documents, and creating DOM tree and render tree. We implement FastIO layer in commodity PC and adopted FastIO on the Webkit engine.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/125562http://hanyang.dcollection.net/common/orgView/200000429288
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > ELECTRONICS AND COMPUTER ENGINEERING(전자컴퓨터통신공학과) > Theses (Ph.D.)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE