{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,7]],"date-time":"2026-05-07T05:51:34Z","timestamp":1778133094942,"version":"3.51.4"},"reference-count":49,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2019,11,30]],"date-time":"2019-11-30T00:00:00Z","timestamp":1575072000000},"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":[[2019,11,30]]},"abstract":"<jats:p>\n            As a file system ages, it can experience multiple forms of fragmentation. Fragmentation of the free space in the file system can lower write performance and subsequent read performance. Client operations as well as internal operations, such as deduplication, can fragment the layout of an individual file, which also impacts file read performance. File systems that allow sub-block granular addressing can gather intra-block fragmentation, which leads to wasted free space. Similarly, wasted space can also occur when a file system writes a collection of blocks out to object storage as a single large object, because the constituent blocks can become free at different times. The impact of fragmentation also depends on the underlying storage media. This article studies each form of fragmentation in the NetApp\n            <jats:sup>\u00ae<\/jats:sup>\n            WAFL\n            <jats:sup>\u00ae<\/jats:sup>\n            file system, and explains how the file system leverages a storage virtualization layer for defragmentation techniques that physically relocate blocks efficiently, including those in read-only snapshots. The article analyzes the effectiveness of these techniques at reducing fragmentation and improving overall performance across various storage media.\n          <\/jats:p>","DOI":"10.1145\/3366173","type":"journal-article","created":{"date-parts":[[2020,4,4]],"date-time":"2020-04-04T10:48:51Z","timestamp":1585997331000},"page":"1-35","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Countering Fragmentation in an Enterprise Storage System"],"prefix":"10.1145","volume":"15","author":[{"given":"Ram","family":"Kesavan","sequence":"first","affiliation":[{"name":"Google (work done while employed at NetApp, Inc.), CA, USA"}]},{"given":"Matthew","family":"Curtis-Maury","sequence":"additional","affiliation":[{"name":"NetApp, Inc, Durham, NC, USA"}]},{"given":"Vinay","family":"Devadas","sequence":"additional","affiliation":[{"name":"NetApp, Inc, Durham, NC, USA"}]},{"given":"Kesari","family":"Mishra","sequence":"additional","affiliation":[{"name":"NetApp, Inc, Durham, NC, USA"}]}],"member":"320","published-online":{"date-parts":[[2020,1,16]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the 10th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunications Systems (MASCOTS\u201902)","author":"Ahn Woo Hyun","year":"2002"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2004.4"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the Conference on File and Storage Technologies (FAST\u201917)","author":"Bj\u00f8rling Matias","year":"2017"},{"key":"e_1_2_1_4_1","volume-title":"Porter et al","author":"Conway Alexander","year":"2017"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the Conference on File and Storage Technologies (FAST\u201904)","author":"Corbett Peter","year":"2004"},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the Symposium on Operating Systems Design and Implementation (OSDI\u201916)","author":"Curtis-Maury Matthew","year":"2016"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPP.2017.35"},{"key":"e_1_2_1_9_1","volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC\u201908)","author":"Edwards John K."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2421648.2421655"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC\u201917)","author":"Hahn Sangwook Shane","year":"2017"},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the European Conference on Computer Systems (EuroSys\u201917)","author":"He Jun"},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the Conference on File and Storage Technologies (FAST\u201917)","author":"He Weiping"},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the USENIX Winter Technical Conference.","author":"Hitz Dave","year":"1994"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage\u201916)","author":"Ji Cheng","year":"2016"},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC\u201918)","author":"Kadekodi Saurabh"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3225058.3225072"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the Conference on File and Storage Technologies (FAST\u201919)","author":"Kesavan Ram","year":"2019"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the Conference on File and Storage Technologies (FAST\u201917)","author":"Kesavan Ram","year":"2017"},{"key":"e_1_2_1_20_1","first-page":"3","article-title":"Efficient free space reclamation in WAFL","volume":"13","author":"Kesavan Ram","year":"2017","journal-title":"ACM Trans. Stor."},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the Conference on File and Storage Technologies (FAST\u201917)","author":"Kim Hyukjoong","year":"2017"},{"key":"e_1_2_1_22_1","unstructured":"John Lantz. 2018. Enable Cloud-Connected All-Flash Arrays with ONTAP 9.4 and FabricPool. Retrieved from https:\/\/blog.netapp.com\/cloud-connected-flash-new-fabricpool-capabilities-ontap-9-4\/.  John Lantz. 2018. Enable Cloud-Connected All-Flash Arrays with ONTAP 9.4 and FabricPool. Retrieved from https:\/\/blog.netapp.com\/cloud-connected-flash-new-fabricpool-capabilities-ontap-9-4\/."},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the Conference on File and Storage Technologies (FAST\u201915)","author":"Lee Changman","year":"2015"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1774088.1774138"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the Conference on File and Storage Technologies (FAST\u201914)","author":"Lu Youyou"},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the Linux Symposium.","author":"Mathur Avantika","year":"2007"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/989.990"},{"key":"e_1_2_1_28_1","volume-title":"Proceedings of the 9th USENIX Conference on File and Storage.","author":"Dutch"},{"key":"e_1_2_1_29_1","unstructured":"SUN Microsystems. 2008. ZFS at OpenSolaris Community. Retrieved from http:\/\/opensolaris.org\/os\/community\/zfs\/.  SUN Microsystems. 2008. ZFS at OpenSolaris Community. Retrieved from http:\/\/opensolaris.org\/os\/community\/zfs\/."},{"key":"e_1_2_1_30_1","article-title":"A survey of software techniques for using non-volatile memories for storage and main memory systems","volume":"30","author":"Mittal Sparsh","year":"2015","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"key":"e_1_2_1_31_1","unstructured":"NetApp Inc.2019. Volume Move Express Guide. Retrieved from https:\/\/library.netapp.com\/ecm\/ecm_download_file\/ECMLP2496251.  NetApp Inc.2019. Volume Move Express Guide. Retrieved from https:\/\/library.netapp.com\/ecm\/ecm_download_file\/ECMLP2496251."},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the International Conference on Management of Data (SIGMOD\u201988)","author":"Patterson David A."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.5555\/1083323.1083335"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2501620.2501623"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146943"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the Linux Symposium","volume":"2","author":"Sato Takashi","year":"2007"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC\u201995)","author":"Seltzer Margo","year":"1995"},{"key":"e_1_2_1_38_1","volume-title":"Seltzer","author":"Smith Keith A.","year":"1997"},{"key":"e_1_2_1_39_1","unstructured":"Storage Performance Council. 2018. Storage Performance Council-1 Benchmark. Retrieved from www.storageperformance.org.  Storage Performance Council. 2018. Storage Performance Council-1 Benchmark. Retrieved from www.storageperformance.org."},{"key":"e_1_2_1_40_1","unstructured":"Rajesh Sundaram. 2006. The Private Lives of Disk Drives. Retrieved from: https:\/\/atg.netapp.com\/?p&equals;13640.  Rajesh Sundaram. 2006. The Private Lives of Disk Drives. Retrieved from: https:\/\/atg.netapp.com\/?p&equals;13640."},{"key":"e_1_2_1_41_1","unstructured":"Technical Committee T10. 2016. SCSI Storage Interfaces. Retrieved from: www.t10.org\/lists\/2op.htm.  Technical Committee T10. 2016. SCSI Storage Interfaces. Retrieved from: www.t10.org\/lists\/2op.htm."},{"key":"e_1_2_1_42_1","unstructured":"Technical Committee T13. 2007. TRIM Specification. ATA\/ATAPI Command Set-2 (ACS2). www.t13.org.  Technical Committee T13. 2007. TRIM Specification. ATA\/ATAPI Command Set-2 (ACS2). www.t13.org."},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the Symposium on Operating Systems Design and Implementation (OSDI\u201906)","author":"Weil Sage A.","year":"2006"},{"key":"e_1_2_1_44_1","volume-title":"The Free Encyclopedia. Retrieved from: https:\/\/en.wikipedia.org\/wiki\/ReiserFS","author":"Wikipedia FS."},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of the Conference on File and Storage Technologies (FAST\u201916)","author":"Xu Jian","year":"2016"},{"key":"e_1_2_1_46_1","volume-title":"ACM SIGMETRICS Performance Evaluation Review","volume":"43","author":"Xu Qiumin","year":"2015"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2757667.2757684"},{"key":"e_1_2_1_48_1","volume-title":"Proceedings of the Workshop on Interactions of NVM\/Flash with Operating Systems and Workloads (INFLOW\u201914)","author":"Yang Jingpei","year":"2014"},{"key":"e_1_2_1_49_1","volume-title":"Proceedings of the Conference on File and Storage Technologies (FAST\u201903)","author":"Zhang Zhihui","year":"2003"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/NGMAST.2014.9"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3366173","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3366173","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:23:51Z","timestamp":1750202631000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3366173"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,11,30]]},"references-count":49,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2019,11,30]]}},"alternative-id":["10.1145\/3366173"],"URL":"https:\/\/doi.org\/10.1145\/3366173","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"value":"1553-3077","type":"print"},{"value":"1553-3093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,11,30]]},"assertion":[{"value":"2019-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-01-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}