{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:13:08Z","timestamp":1763467988690,"version":"3.41.0"},"reference-count":32,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2010,9,1]],"date-time":"2010-09-01T00:00:00Z","timestamp":1283299200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2010,9]]},"abstract":"<jats:p>We present the design, implementation, and evaluation of Direct File System (DFS) for virtualized flash storage. Instead of using traditional layers of abstraction, our layers of abstraction are designed for directly accessing flash memory devices. DFS has two main novel features. First, it lays out its files directly in a very large virtual storage address space provided by FusionIO's virtual flash storage layer. Second, it leverages the virtual flash storage layer to perform block allocations and atomic updates. As a result, DFS performs better and is much simpler than a traditional Unix file system with similar functionalities. Our microbenchmark results show that DFS can deliver 94,000 I\/O operations per second (IOPS) for direct reads and 71,000 IOPS for direct writes with the virtualized flash storage layer on FusionIO's ioDrive. For direct access performance, DFS is consistently better than ext3 on the same platform, sometimes by 20%. For buffered access performance, DFS is also consistently better than ext3, and sometimes by over 149%. Our application benchmarks show that DFS outperforms ext3 by 7% to 250% while requiring less CPU power.<\/jats:p>","DOI":"10.1145\/1837915.1837922","type":"journal-article","created":{"date-parts":[[2010,9,28]],"date-time":"2010-09-28T17:41:41Z","timestamp":1285695701000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":97,"title":["DFS"],"prefix":"10.1145","volume":"6","author":[{"given":"William K.","family":"Josephson","sequence":"first","affiliation":[{"name":"Princeton University"}]},{"given":"Lars A.","family":"Bongo","sequence":"additional","affiliation":[{"name":"Princeton University"}]},{"given":"Kai","family":"Li","sequence":"additional","affiliation":[{"name":"Princeton University"}]},{"given":"David","family":"Flynn","sequence":"additional","affiliation":[{"name":"FusionIO"}]}],"member":"320","published-online":{"date-parts":[[2010,9,28]]},"reference":[{"volume-title":"Proceedings of the USENIX Technical Conference, USENIX Association","author":"Agrawal N.","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1243418.1243429"},{"key":"e_1_2_1_3_1","unstructured":"}}Brants T. and Franz A. 2006. Web 1T 5-gram version 1.  }}Brants T. and Franz A. 2006. Web 1T 5-gram version 1."},{"volume-title":"Proceedings of the 1st Dutch International Symposium on Linux.","author":"Card R.","key":"e_1_2_1_4_1"},{"key":"e_1_2_1_5_1","doi-asserted-by":"crossref","unstructured":"}}Carlson A. Mitchell T. M. and Fette I. 2008. Data analysis project: Leveraging massive textual corpora using n-gram statistics. Tech. rep. CMU-ML-08-107 Machine Learning Department Carnegie Mellon University.  }}Carlson A. Mitchell T. M. and Fette I. 2008. Data analysis project: Leveraging massive textual corpora using n-gram statistics. Tech. rep. CMU-ML-08-107 Machine Learning Department Carnegie Mellon University.","DOI":"10.21236\/ADA485623"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/301453.301480"},{"key":"e_1_2_1_7_1","unstructured":"}}Douglis F. Caceres R. Kaashoek M. F. Li K. Marsh B. and Tauber J. A. 1994. Storage alternatives for mobile computers. In Operating Systems Design and Implementation 25--37.   }}Douglis F. Caceres R. Kaashoek M. F. Li K. Marsh B. and Tauber J. A. 1994. Storage alternatives for mobile computers. In Operating Systems Design and Implementation 25--37."},{"key":"e_1_2_1_8_1","unstructured":"}}FusionIO Corporation. 2009. FusionIO ioDrive specification sheet. http:\/\/www.fusionio.com\/PDFs\/Fusion%20Specsheet.pdf.  }}FusionIO Corporation. 2009. FusionIO ioDrive specification sheet. http:\/\/www.fusionio.com\/PDFs\/Fusion%20Specsheet.pdf."},{"key":"e_1_2_1_9_1","unstructured":"}}Hitz D. Lau J. and Malcom M. 2001. File system design for an nfs file server appliance. Tech. rep. TR-3002 NetAppCorp. Sept.  }}Hitz D. Lau J. and Malcom M. 2001. File system design for an nfs file server appliance. Tech. rep. TR-3002 NetAppCorp. Sept."},{"key":"e_1_2_1_10_1","unstructured":"}}Intel Corporation. 1998. Understanding the flash translation layer (FTL) specification.  }}Intel Corporation. 1998. Understanding the flash translation layer (FTL) specification."},{"key":"e_1_2_1_11_1","unstructured":"}}Intel Corporation. 2009. Intel X25-E SATA solid state drive. http:\/\/download.intel.com\/design\/flash\/nand\/extreme\/extreme-sata-ssd-datasheet.pdf.  }}Intel Corporation. 2009. Intel X25-E SATA solid state drive. http:\/\/download.intel.com\/design\/flash\/nand\/extreme\/extreme-sata-ssd-datasheet.pdf."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCE.2006.1649669"},{"volume-title":"Proceedings of the Winter USENIX Technical Conference. USENIX Association","author":"Kawaguchi A.","key":"e_1_2_1_13_1"},{"volume-title":"Proceedings of the 6th USENIX Conference on File and Storage Technologies. USENIX Association","author":"Kim H.","key":"e_1_2_1_14_1"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCE.2002.1010143"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1228268.1228270"},{"volume-title":"YAFFS: The NAND-specific flash file system. LinuxDevices.Org.","year":"2002","author":"Manning C.","key":"e_1_2_1_18_1"},{"volume-title":"Proceedings of the 27th Hawaii International Conference on Architecture.","author":"Marsh B.","key":"e_1_2_1_19_1"},{"volume-title":"Proceedings of the Ottowa Linux Symposium.","author":"Mathur A.","key":"e_1_2_1_20_1"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/989.990"},{"key":"e_1_2_1_22_1","unstructured":"}}Norcott W. 2009. Iozone filesystem benchmark. http:\/\/www.iozone.org.  }}Norcott W. 2009. Iozone filesystem benchmark. http:\/\/www.iozone.org."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176760.1176789"},{"volume-title":"Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation.","author":"Prabhakaran V.","key":"e_1_2_1_24_1"},{"key":"e_1_2_1_25_1","unstructured":"}}Rajimwale A. Prabhakaran V. and Davis J. D. 2009. Block management in solid state devices. Unpublished Tech. rep.  }}Rajimwale A. Prabhakaran V. and Davis J. D. 2009. Block management in solid state devices. Unpublished Tech. rep."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146943"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1113361.1113364"},{"key":"e_1_2_1_28_1","unstructured":"}}Transaction Processing Performance Council. 2008. TPC benchmark H: Decision support. http:\/\/www.tpc.org\/tpch.  }}Transaction Processing Performance Council. 2008. TPC benchmark H: Decision support. http:\/\/www.tpc.org\/tpch."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1093\/bioinformatics\/17.6.520"},{"volume-title":"Proceedings of the Ottowa Linux Symposium.","year":"2000","author":"Tweedie S.","key":"e_1_2_1_30_1"},{"key":"e_1_2_1_31_1","unstructured":"}}Ulmer C. and Gokhale M. 2008. Threading opportunities in high-performance flash-memory storage. In High Performance Embedded Computing.  }}Ulmer C. and Gokhale M. 2008. Threading opportunities in high-performance flash-memory storage. In High Performance Embedded Computing."},{"volume-title":"Proceedings of the Ottowa Linux Symposium.","year":"2001","author":"Woodhouse D.","key":"e_1_2_1_32_1"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/195473.195506"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1837915.1837922","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1837915.1837922","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:23:43Z","timestamp":1750249423000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1837915.1837922"}},"subtitle":["A file system for virtualized flash storage"],"short-title":[],"issued":{"date-parts":[[2010,9]]},"references-count":32,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2010,9]]}},"alternative-id":["10.1145\/1837915.1837922"],"URL":"https:\/\/doi.org\/10.1145\/1837915.1837922","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"type":"print","value":"1553-3077"},{"type":"electronic","value":"1553-3093"}],"subject":[],"published":{"date-parts":[[2010,9]]},"assertion":[{"value":"2010-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-06-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-09-28","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}