
Received December 18, 2018, accepted January 8, 2019, date of publication February 14, 2019, date of current version March 8, 2019. Digital Object Identifier 10.1109/ACCESS.2019.2899463 Non-Volatile Memory File Systems: A Survey GIANLUCCA O. PUGLIA 1, AVELINO FRANCISCO ZORZO1, (Member, IEEE), CÉSAR A. F. DE ROSE1, (Member, IEEE), TACIANO D. PEREZ1, AND DEJAN MILOJICIC 2, (Fellow, IEEE) 1Pontifical Catholic University of Rio Grande do Sul, Faculty of Informatics -FACIN, Porto Alegre 90619-900, Brazil 2Hewlett-Packard Labs, Palo Alto, CA 94304-1126, USA Corresponding author: Avelino Francisco Zorzo ([email protected]) This work was supported in part by the Coordenação de Aperfeiçoamento de Pessoal de Nivel Superior–Brazil (CAPES) under Finance Code 001, and in part by the Hewlett Packard Enterprise (HPE) with resources under Law 8.248/91. ABSTRACT For decades, computer architectures have treated memory and storage as separate entities. Nowadays, we watch the emergence of new memory technologies that promise to significantly change the landscape of memory systems. Byte-addressable non-volatile memory (NVM) technologies are expected to offer access latency close to that of dynamic random access memory and capacity suited for storage, resulting in storage-class memory. However, they also present some limitations, such as limited endurance and asymmetric read and write latency. Furthermore, adjusting the current hardware and software architectures to embrace these new memories in all their potential is proving to be a challenge in itself. In this paper, recent studies are analyzed to map the state-of-the-art of NVM file systems research. To achieve this goal, over 100 studies related to NVM systems were selected, analyzed, and categorized according to their topics and contributions. From the information extracted from these papers, we derive the main concerns and challenges currently being studied and discussed in the academia and industry, as well as the trends and solutions being proposed to address them. INDEX TERMS Algorithms, design, reliability, non-volatile memory, storage-class memory, persistent memory. I. INTRODUCTION Therefore, working with data storage in NVM may take The increasing disparity between processor and memory per- the advantage of using different approaches and methods formances led to the proposal of many methods to mitigate that systems designed to work with HDDs do not sup- memory and storage bottlenecks [6], [107]. Recent research port. Moreover, since the advent of NAND flash memo- advances in Non-Volatile Memory (NVM) technologies may ries, the use of NVM as a single layer of memory, merging lead to a revision of the entire memory hierarchy, dras- today's concepts of main memory and back storage, has been tically changing computer architecture as we know today, proposed [98], [99], aiming to replace the whole memory to, for example, a radical memory-centric architecture [38]. hierarchy as we know. Such change in the computer archi- NVMs provide performance speeds comparable to those of tecture would certainly represent a huge shift on software today's DRAM (Dynamic Random Access Memory) and, development as well, since most applications and operating like DRAM, may be accessed randomly with little perfor- systems are designed to store persistent data in the form of mance penalties. Unlike DRAM, however, NVMs are persis- files in a secondary memory and to swap this data between tent, which means they do not lose data across power cycles. layers of faster but volatile memories. In summary, NVM technologies combine the advantages Even though all systems running in such an architecture of both memory (DRAM) and storage (HDDs - Hard Disk would inevitably benefit from migrating from disk to NVM, Drives, SSDs - Solid State Drives). one of the first places one might look at, when considering These NVMs, of course, present many characteris- this hardware improvement, would be the file system. The file tics that make them substantially different from HDDs. system is responsible for organizing data in the storage device (in the form of files) and retrieving this data whenever the The associate editor coordinating the review of this manuscript and system needs it. File systems are usually tailored for a specific approving it for publication was Geng-Ming Jiang. storage device or for a specific purpose. For instance, an HDD 2169-3536 2019 IEEE. Translations and content mining are permitted for academic research only. 25836 Personal use is also permitted, but republication/redistribution requires IEEE permission. VOLUME 7, 2019 See http://www.ieee.org/publications_standards/publications/rights/index.html for more information. G. O. Puglia et al.: NVM File Systems: A Survey file system, like Ext4, usually tries to maintain the data blocks and categorize: problems related to NVM storage, what solu- belonging to a file contiguously or at least physically close to tions to those problems have been proposed, which of those each other for performance reasons. A file system designed problems are still unresolved, what are the new approaches to for flash memory devices, like JFFS2, might avoid rewrit- work with NVMs and how these approaches may improve the ing data in the same blocks repeatedly, since flash memory use of NVMs. Our purpose is to gather and analyze studies blocks have limited endurance. The list could go on, but we related to the application of NVM technologies to different can conclude that whenever the storage hardware changes, types of systems (focused on storage systems) not only to the way data is stored and accessed must be reviewed. In all document them but also to provide a straight-forward guide these cases, file systems should be adapted to this condition for researchers unfamiliar with these concepts. Since most in order to reduce complexity and to achieve the best possible of the promising NVM technologies are still currently under performance. development and access to these technologies is very lim- Concerned with the adaptation of current architectures to ited, this paper expects to deal with more theoretical content NVM devices, in the 2013 Linux Foundation Collaboration rather than experimental results and technical applications Summit [26], the session ``Preparing Linux for nonvolatile (although those are important to the area). memory devices'' proposed a three-step approach to migrate Complementary to our study, a survey presented by Mit- today's systems to a fully NVM-aware model. In the first step, tal and Vetter [94] provides an overview of NVM tech- file systems will access NVM devices using NVM-aware nologies and reviews studies focused on either combin- block drivers under traditional storage APIs and file systems. ing or comparing different memory technologies. Even This step does not explore the disruptive potential of NVM though the previous survey presents a classification of but is a simple method for making it quickly deployed and NVM-related solutions, it does not discuss future directions accessible by today's systems. nor features that deserve additional investigation. Another In the second step, existing file systems will be adapted study by Wu et al. [133] explores the challenges of adopting to access NVM directly, in a more efficient way. This step Phase-Change RAM (PCM) as storage, main memory or ensures that file systems are designed with NVM charac- both, summarizing existing solutions and classifying them. teristics in mind, but keeping the traditional block-based The remaining of this paper is organized as follows. file system abstraction for compatibility purposes. Signifi- SectionII presents some basic concepts of NVM storage and cant changes in this step may include improvements such as technologies approached in this study. Section III details the directly mapping files into application's address space, fine process used in this systematic mapping study and explains tuning consistency and reliability mechanisms, such as jour- the analysis and classification of the selected studies. Sec- naling, for improved performance and eliminating processing tions IV and V present an extensive discussion about the anal- overhead related to hard disks hardware characteristics. ysis results. In order to broaden the contribution of this paper, The final step is the creation of byte-level I/O APIs to be Section VI discusses some of the work being conducted in used by new applications. This step will explore interfaces industry. Section VII discusses the state of the art and future beyond the file system abstraction that may be enabled by directions. Section VIII presents relevant published related NVM. It has the most disruptive potential, but may break work. Finally, Section IX concludes this paper by providing backward compatibility. It also presents a much higher level a quick overview of the state of the art of NVM file systems. of complexity and the requirements for such ground breaking changes are still being studied. However, at this point, appli- II. BASIC CONCEPTS cations will not only be able to take the best performance out This section presents some concepts that are essential to of NVM, but will also have access to newly improved APIs the NVM storage theme. These concepts are all intimately and persistence models. connected to each other and are also the base knowledge that With this in mind, we aim to provide, with this paper, supports the idea of NVM file systems. Further details on how a much needed detailed overview of the state of the art of these topics work together in practice will be detailed in the NVM-related studies, identifying trends and future directions coming sections. for storage solutions, such as file systems, databases and object stores. The intention is to provide a comprehensive A. NON-VOLATILE MEMORY TECHNOLOGIES view of the area as well as to identify new research and The term Non-Volatile Memory (NVM) may be used to development opportunities. The systematic mapping model address any memory device capable of retaining state in was chosen as a method to reduce research bias and allow the absence of energy.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages36 Page
-
File Size-