Access the full text.
Sign up today, get DeepDyve free for 14 days.
Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber (2008)
Bigtable: A distributed storage system for structured dataACM Transactions on Computer Systems (TOCS), 26
f (2012)
Formatting Tools for Flash-Friendly File Systemhttp://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git. (2012).
David Chow, Charles Lee, Abraham Ma, Frank Yu, Edward Lee, Ming-Shiang Shen, others (2007)
Managing bad blocks in various flash memory cells for electronic data flash card(2007). US Patent No
Changman Lee, Dongho Sim, Jooyoung Hwang, Sangyeun Cho (2015)
F2FS: A new file system for flash storageProceedings of the the USENIX Conference on File and Storage Technologies (FAST’15)
Sang-Won Lee, Dong-Joo Park, Tae-Sun Chung, Dong-Ho Lee, Sangwon Park, Ha-Joo Song (2007)
A log buffer-based flash translation layer using fully-associative sector translationACM Trans. Embed. Comput. Syst., 6
Charles Manning (2010)
How YAFFS worksRetrieved April 6, 2010 from https://yaffs.net/documents/how-yaffs-works., 6
Leonardo Marmol, Swaminathan Sundararaman, Nisha Talagala, Raju Rangaswami (2015)
NVMKV: A scalable, lightweight, FTL-aware key-value storeProceedings of the USENIX Annual Technical Conference (ATC’15)
Mohit Saxena, Michael M. Swift (2010)
FlashVM: Virtual memory management on flashProceedings of the USENIX Annual Technical Conference (ATC’10)
Joohyun Kim, Haesung Kim, Seongjin Lee, Youjip Won (2010)
FTL design for TRIM commandProceedings of the the 15th International Workshop on Software Support for Portable Storage
Lucas Mearian (2016)
SSD prices plummet again, close in on HDDs: Prices dropped by 12 percent in just the last quarter aloneRetrieved from http://www.pcworld.com/article/3040591/storage/ssd-prices-plummet-again-close-in-on-hdds.html.
Yuan-Hao Chang, Jen-Wei Hsieh, Tei-Wei Kuo (2007)
Endurance enhancement of flash-memory storage systems: An efficient static wear leveling designProceedings of the ACM Annual Design Automation Conference
Da Zheng, Randal C. Burns, Alexander S. Szalay (2015)
Optimize unsynchronized garbage collection in an SSD arrayComputing Research Repository
Jörn Engel, Robert Mertens (2005)
LogFS-finally a scalable flash file systemProceedings of the 12th International Linux System Technology Conference.
Jinsoo Yoo, Youjip Won, Joongwoo Hwang, Sooyong Kang, Jongmoo Choil, Sungroh Yoon, Jaehyuk Cha (2013)
Vssim: Virtual machine based ssd simulatorProceedings of the the IEEE Mass Storage Systems and Technologies (MSST’13)
Yiying Zhang, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau (2015)
Removing the costs and retaining the benefits of flash-based SSD virtualization with FSDVProceedings of the Conference on Mass Storage Systems and Technologies (MSST’15)
Adrian Hunter (2008)
A brief introduction to the design of UBIFSProceedings of the the Rapport Technique.
William K. Josephson, Lars A. Bongo, Kai Li, David Flynn (2010)
DFS: A file system for virtualized flash storageACM Trans. Stor., 6
Jian Ouyang, Shiding Lin, Song Jiang, Zhenyu Hou, Yong Wang, Yuanzheng Wang (2014)
SDF: Software-defined flash for web-scale internet storage systemProceedings of the 19th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’14)
Christian Czezatke, M. Anton Ertl (2000)
LinLogFS-a log-structured file system for linuxProceedings of the USENIX Annual Technical Conference (ATC)
Kent Smith (2011)
Garbage collectionProceedings of the Flash Memory Summit
StarWind (2014)
Log-Structured File SystemRetrieved from https://www.starwindsoftware.com/vm-centric-storage-lsfs.
Jingpei Yang, Ned Plasson, Greg Gillis, Nisha Talagala, Swaminathan Sundararaman (2014)
Dont́ stack your log on my logProceedings of the Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW’14).
ChosunBiz (2016)
http://biz(2016).
Hunki Kwon, Eunsam Kim, Jongmoo Choi, Donghee Lee, Sam H. Noh (2010)
Janus-FTL: Finding the optimal point on the spectrum between page and block mapping schemesProceedings of the the ACM International Conference on Embedded Software (EMSOFT’10)
Avinash Lakshman, Prashant Malik (2009)
Cassandra: Structured storage system on a P2P networkProceedings of the the 28th ACM Symposium on Principles of Distributed Computing (PODC’09)
Vasily Tarasov, Erez Zadok, Spencer Shepler (2016)
Filebench: A flexible framework for file system benchmarkingUSENIX Login Mag, 41
Jeong-Uk Kang, Heeseung Jo, Jin-Soo Kim, Joonwon Lee (2006)
A superblock-based flash translation layer for NAND flash memoryProceedings of the the 6th ACM 8 IEEE International Conference on Embedded Software, 8
Samsung (2015)
Next generation Samsung 3bit V-NAND TechonologyRetrieved from http://www.samsung.com/semiconductor/global/file/insight/2015/08/3bit_V-NAND_technology_White_Paper-1.pdf.
Yong Zhang, Xue-hong Qiu (2006)
Implementation of JFFS2 file system in embedded linux systemProceedings of the Computer Technology and Development
Guanying Wu, Xubin He (2012)
Reducing SSD read latency via NAND flash program and erase suspensionProceedings of the USENIX Conference on File and Storage Technologies (FAST’12)
Mendel Rosenblum, John K. Ousterhout (1992)
The design and implementation of a log-structured file systemACM Trans. Comput. Syst, 10
Samsung Electronics Co (2014)
Over-provisioning: Maximize the lifetime and performance of your SSD with small effect to earn moreApplication note. (2014).
Kingston Technology (2013)
Understanding over-provisioning(2013).
smartmontools (2010)
smartmontools packageRetrieved from http://sourceforge.net/apps/trac/smartmontools/wiki.
Jiacheng Zhang, Jiwu Shu, Youyou Lu (2016)
ParaFS: A log-structured file system to exploit the internal parallelism of flash devicesProceedings of the USENIX Annual Technical Conference (ATC’16)
Yudong Yang, Vishal Misra, Dan Rubenstein (2015)
On the optimality of greedy garbage collection for SSDsACM SIGMETRICS Perform. Eval. Rev., 43
Hyeontaek Lim, Bin Fan, David G. Andersen, Michael Kaminsky (2011)
SILT: A memory-efficient, high-performance key-value storeProceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP’11)
Ayush Gupta, Youngjae Kim, Bhuvan Urgaonkar (2009)
DFTL a flash translation layer employing demand-based selective caching of page-level address mappingsProceedings of the 14th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’09)
Sungjin Lee, Ming Liu, Sangwoo Jun, Shuotao Xu, Jihong Kim, others (2016)
Application-managed flashProceedings of the 14th USENIX Conference on File and Storage Technologies (FAST’16)
Ohhoon Kwon, Jaewoo Lee, Kern Koh (2007)
EF-greedy: A novel garbage collection policy for flash memory based embedded systemsComputational Science (ICCS’07). Springer
Atsuo Kawaguchi, Shingo Nishioka, Hiroshi Motoda (1995)
A flash-memory based file systemProceedings of the the USENIX Anual Technical Conference (ATC’95)
Sungjin Lee, Dongkun Shin, Young-Jin Kim, Jihong Kim (2008)
LAST: Locality-aware sector translation for NAND flash memory-based storage systemsProceedings of the ACM SIGOPS Operating Systems Review
Margo Seltzer, Keith A. Smith, Hari Balakrishnan, Jacqueline Chang, Sara McMains, Venkata Padmanabhan (1995)
File system logging versus clustering: A performance comparisonProceedings of the the USENIX Technical Conference Proceedings
Jens Axboe (2005)
Fio-flexible i/o tester synthetic benchmarkURL https://github. com/axboe/fio (Accessed: 2015-06-13) (2005).
Shiqin Yan, Huaicheng Li, Mingzhe Hao, Michael Hao Tong, Swaminathan Sundararaman, Andrew A. Chien, Haryadi S. Gunawi (2017)
Tiny-tail flash: Near-perfect elimination of garbage collection tail latencies in NAND SSDsProceedings of the USENIX Conference on File and Storage Technologies (FAST’17), 22
Jeong-Uk Kang, Jeeseok Hyun, Hyunjoo Maeng, Sangyeun Cho (2014)
The multi-streamed solid-state driveProceedings of the 6th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage)
RocksDB. (2014)
A persistent key-value store for fast storage environmentsRetrieved from http://rocksdb.org/.
Junghee Lee, Youngjae Kim, Galen M. Shipman, Sarp Oral, Feiyi Wang, Jongman Kim (2011)
A semi-preemptive garbage collector for solid state drivesProceedings of the IEEE Performance Analysis of Systems and Software (ISPASS’11)
S. Ghemawat, J. Dean (2014)
LevelDB, A fast and lightweight key/value database library by Google(2014).
Jesung Kim, Jong Min Kim, Sam H. Noh, Sang Lyul Min, Yookun Cho (2002)
A space-efficient flash translation layer for CompactFlash systemsIEEE Consum. Electron., 48
Micron (2016)
Technology Innovation RedefinedRetrieved from https://www.micron.com/∼/media/documents/products/product-flyer/3d_nand_flyer.pdf.
John D. Davis, Laura Caulfield, Steve Swanson (2013)
Flash trends: Challenges and futureProceedings of the IEEE Hot Chips 25 Symposium (HCS). IEEE, 25
Ryusuke Konishi, Yoshiji Amagai, Koji Sato, Hisashi Hifumi, Seiji Kihara, Satoshi Moriai (2006)
The Linux implementation of a log-structured file systemACM SIGOPS Operat. Syst. Rev., 40
Zev Weiss, Sriram Subramanian, Swaminathan Sundararaman, Nisha Talagala, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau (2015)
ANViL: Advanced virtualization for modern non-volatile memory devicesProceedings of the 13th USENIX Conference on File and Storage Technologies (FAST’15)
Kyle Banker (2011)
MongoDB in ActionManning Publications Co.
Frank Shu, Nathan Obr (2007)
Data set management commands proposal for ATA8-ACS2Management 2 (2007), 2
Frank Berry (2015)
Enterprise flash storage: Who’s adopting them and whyProceedings of the Flash Memory Summit
Daniel Campello, Hector Lopez, Ricardo Koller, Raju Rangaswami, Luis Useche (2015)
Non-blocking writes to filesProceedings of the USENIX Conference on File and Storage Technologies (FAST)
Patrick O’ Neil, Edward Cheng, Dieter Gawlick, Elizabeth O’ Neil (1996)
The log-structured merge-tree (LSM-tree)Acta Inform., 33
Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark S. Manasse, Rina Panigrahy (2008)
Design tradeoffs for SSD performanceProceedings of the USENIX Annual Technical Conference (ATC)
JungWook Park, Gi-Ho Park, Charles Weems, ShinDug Kim (2009)
Sub-grouped superblock management for high-performance flash storagesIEICE Electron. Express, 6
SSD8 (2014)
Samsung, SSD 843tn SpecificationRetrieved from http://enterprise.m2m-direct.co.uk/downloads/resources/SAMSUNG%20Channel%20Info%20Memory%2010-14.pdf.
In this work, we develop the Orchestrated File System (OrcFS) for Flash storage. OrcFS vertically integrates the log-structured file system and the Flash-based storage device to eliminate the redundancies across the layers. A few modern file systems adopt sophisticated append-only data structures in an effort to optimize the behavior of the file system with respect to the append-only nature of the Flash memory. While the benefit of adopting an append-only data structure seems fairly promising, it makes the stack of software layers full of unnecessary redundancies, leaving substantial room for improvement. The redundancies include (i) redundant levels of indirection (address translation), (ii) duplicate efforts to reclaim the invalid blocks (i.e., segment cleaning in the file system and garbage collection in the storage device), and (iii) excessive over-provisioning (i.e., separate over-provisioning areas in each layer). OrcFS eliminates these redundancies via distributing the address translation, segment cleaning (or garbage collection), bad block management, and wear-leveling across the layers. Existing solutions suffer from high segment cleaning overhead and cause significant write amplification due to mismatch between the file system block size and the Flash page size. To optimize the I/O stack while avoiding these problems, OrcFS adopts three key technical elements. First, OrcFS uses disaggregate mapping, whereby it partitions the Flash storage into two areas, managed by a file system and Flash storage, respectively, with different granularity. In OrcFS, the metadata area and data area are maintained by 4Kbyte page granularity and 256Mbyte superblock granularity. The superblock-based storage management aligns the file system section size, which is a unit of segment cleaning, with the superblock size of the underlying Flash storage. It can fully exploit the internal parallelism of the underlying Flash storage, exploiting the sequential workload characteristics of the log-structured file system. Second, OrcFS adopts quasi-preemptive segment cleaning to prohibit the foreground I/O operation from being interfered with by segment cleaning. The latency to reclaim the free space can be prohibitive in OrcFS due to its large file system section size, 256Mbyte. OrcFS effectively addresses this issue via adopting a polling-based segment cleaning scheme. Third, the OrcFS introduces block patching to avoid unnecessary write amplification in the partial page program. OrcFS is the enhancement of the F2FS file system. We develop a prototype OrcFS based on F2FS and server class SSD with modified firmware (Samsung 843TN). OrcFS reduces the device mapping table requirement to 1/465 and 1/4 compared with the page mapping and the smallest mapping scheme known to the public, respectively. Via eliminating the redundancy in the segment cleaning and garbage collection, the OrcFS reduces 1/3 of the write volume under heavy random write workload. OrcFS achieves 56% performance gain against EXT4 in varmail workload.
ACM Transactions on Storage (TOS) – Association for Computing Machinery
Published: Apr 12, 2018
Keywords: Flash memories
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.