{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,31]],"date-time":"2026-03-31T03:12:50Z","timestamp":1774926770656,"version":"3.50.1"},"reference-count":64,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2023,3,6]],"date-time":"2023-03-06T00:00:00Z","timestamp":1678060800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100003977","name":"Israel Science Foundation","doi-asserted-by":"crossref","award":["980\/21 and 1027\/18"],"award-info":[{"award-number":["980\/21 and 1027\/18"]}],"id":[{"id":"10.13039\/501100003977","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100004696","name":"Western Digital","doi-asserted-by":"crossref","id":[{"id":"10.13039\/100004696","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2023,5,31]]},"abstract":"<jats:p>\n            We introduce\n            <jats:italic>ZNSwap<\/jats:italic>\n            , a novel swap subsystem optimized for the recent Zoned Namespace (ZNS) SSDs. ZNSwap leverages ZNS\u2019s explicit control over data management on the drive and introduces a space-efficient host-side Garbage Collector (GC) for swap storage co-designed with the OS swap logic. ZNSwap enables cross-layer optimizations, such as direct access to the in-kernel swap usage statistics by the GC to enable fine-grain swap storage management, and correct accounting of the GC bandwidth usage in the OS resource isolation mechanisms to improve performance isolation in multi-tenant environments. We evaluate ZNSwap using standard Linux swap benchmarks and two production key-value stores. ZNSwap shows significant performance benefits over the Linux swap on traditional SSDs, such as stable throughput for different memory access patterns, and 10\u00d7 lower 99th percentile latency and 5\u00d7 higher throughput for\n            <jats:monospace>memcached<\/jats:monospace>\n            key-value store under realistic usage scenarios.\n          <\/jats:p>","DOI":"10.1145\/3582434","type":"journal-article","created":{"date-parts":[[2023,2,1]],"date-time":"2023-02-01T12:41:55Z","timestamp":1675255315000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":25,"title":["ZNSwap: un-Block your Swap"],"prefix":"10.1145","volume":"19","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3484-1452","authenticated-orcid":false,"given":"Shai","family":"Bergman","sequence":"first","affiliation":[{"name":"Technion, Haifa, Israel"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8744-0399","authenticated-orcid":false,"given":"Niklas","family":"Cassel","sequence":"additional","affiliation":[{"name":"Western Digital, Copenhagen V, Denmark"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1657-4052","authenticated-orcid":false,"given":"Matias","family":"Bj\u00f8rling","sequence":"additional","affiliation":[{"name":"Western Digital, Copenhagen V, Denmark"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9659-068X","authenticated-orcid":false,"given":"Mark","family":"Silberstein","sequence":"additional","affiliation":[{"name":"Technion, Haifa, Israel"}]}],"member":"320","published-online":{"date-parts":[[2023,3,6]]},"reference":[{"key":"e_1_3_2_2_2","unstructured":"2009. Swapfile: swap allocation use discard.Retrieved from https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7992fde72ce06c73280a1939b7a1e903bc95ef85."},{"key":"e_1_3_2_3_2","unstructured":"2016. Making swapping scalable.Retrieved from https:\/\/lwn.net\/Articles\/704478\/."},{"key":"e_1_3_2_4_2","unstructured":"2016. Reconsidering swapping.Retrieved from https:\/\/lwn.net\/Articles\/690079\/."},{"key":"e_1_3_2_5_2","unstructured":"2018. NVM Express 2.0 Zoned Namespace Command Set Specification. Retrieved from https:\/\/nvmexpress.org\/specifications."},{"key":"e_1_3_2_6_2","unstructured":"2019. SAMSUNG. Ultra-low latency with Samsung Z-NAND SSD. Retrieved from http:\/\/www.samsung.com\/us\/labs\/pdfs\/collateral\/Samsung_ZNAND_Technology_Brief_v5.pdf."},{"key":"e_1_3_2_7_2","unstructured":"2020. Swap: try to scan more free slots even when fragmented.Retrieved from https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=ed43af10975eef7e21abbb81297d9735448ba4fa."},{"key":"e_1_3_2_8_2","unstructured":"2021. Archlinux SSD Optimizations. Retrieved from https:\/\/wiki.archlinux.org\/title\/Solid_state_drive##Continuous_TRIM."},{"key":"e_1_3_2_9_2","unstructured":"2021. cloc: Count lines of code.Retrieved from https:\/\/github.com\/AlDanial\/cloc."},{"key":"e_1_3_2_10_2","unstructured":"2021. Debian SSD Optimizations. Retrieved from https:\/\/wiki.debian.org\/SSDOptimization##Mounting_SSD_filesystems."},{"key":"e_1_3_2_11_2","unstructured":"2021. Facebook cgroupv2 memory controller. Retrieved from https:\/\/facebookmicrosites.github.io\/cgroup2\/docs\/memory-controller.html."},{"key":"e_1_3_2_12_2","unstructured":"2021. Kioxia\u2019s PCIe 5.0 SSD Just Hit 14 000 MBps. Retrieved from https:\/\/www.tomshardware.com\/news\/kioxia-pcie-5-ssd-just-hit-140000-mbps."},{"key":"e_1_3_2_13_2","unstructured":"2021. LKP. https:\/\/01.org\/lkp\/."},{"key":"e_1_3_2_14_2","unstructured":"2021. Memcg backend asynchronous reclaim. Retrieved from https:\/\/partners-intl.aliyun.com\/help\/doc-detail\/169535.htm."},{"key":"e_1_3_2_15_2","unstructured":"2021. Multi-generational LRU: the next generation.Retrieved from https:\/\/lwn.net\/Articles\/856931\/."},{"key":"e_1_3_2_16_2","unstructured":"2021. OpenStack: Overcommitting CPU and RAM. Retrieved from https:\/\/docs.openstack.org\/arch-design\/design-compute."},{"key":"e_1_3_2_17_2","unstructured":"2021. Red Hat: Discarding Unused Blocks. Retrieved from https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/8\/html\/managing_file_systems\/discarding-unused-blocks_managing-file-systems."},{"key":"e_1_3_2_18_2","unstructured":"2021. Redis. Retrieved from https:\/\/redis.io."},{"key":"e_1_3_2_19_2","unstructured":"2021. Redis on Flash. Retrieved from https:\/\/redis.com\/redis-enterprise\/technology\/redis-on-flash\/."},{"key":"e_1_3_2_20_2","unstructured":"2021. Solid State Storage Performance Test Specification. Retrieved from https:\/\/www.snia.org\/sites\/default\/files\/technical_work\/PTS\/SSS_PTS_2.0.2.pdf."},{"key":"e_1_3_2_21_2","unstructured":"2021. Swap file on Amazon EC2. Retrieved from https:\/\/aws.amazon.com\/premiumsupport\/knowledge-center\/ec2-memory-swap-file\/."},{"key":"e_1_3_2_22_2","unstructured":"2021. Swap space on Amazon EC2. Retrieved from https:\/\/aws.amazon.com\/premiumsupport\/knowledge-center\/ec2-memory-partition-hard-drive\/."},{"key":"e_1_3_2_23_2","unstructured":"2021. swapon(8) Linux man pages. Retrieved from https:\/\/man7.org\/linux\/man-pages\/man8\/swapon.8.html."},{"key":"e_1_3_2_24_2","unstructured":"2021. Ubuntu: TRIM the swap partition. Retrieved from https:\/\/wiki.ubuntuusers.de\/SSD\/TRIM\/##TRIM-der-Swap-Partition."},{"key":"e_1_3_2_25_2","unstructured":"2021. vm-scalability. Retrieved from https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/wfg\/vm-scalability.git."},{"key":"e_1_3_2_26_2","first-page":"53","volume-title":"Proceedings of the ACM SIGMETRICS Performance Evaluation Review","author":"Atikoglu Berk","year":"2012","unstructured":"Berk Atikoglu, Yuehai Xu, Eitan Frachtenberg, Song Jiang, and Mike Paleczny. 2012. Workload analysis of a large-scale key-value store. In Proceedings of the ACM SIGMETRICS Performance Evaluation Review. ACM, 53\u201364."},{"key":"e_1_3_2_27_2","volume-title":"Proceedings of the Vault Linux Storage and Filesystems Conference","author":"Bj\u00f8rling Matias","year":"2020","unstructured":"Matias Bj\u00f8rling. 2020. Zone append: A new way of writing to zoned storage. In Proceedings of the Vault Linux Storage and Filesystems Conference. USENIX Association, Santa Clara, CA."},{"key":"e_1_3_2_28_2","volume-title":"Proceedings of the 2021 usenix Annual Technical Conference","author":"Bj\u00f8rling Matias","year":"2021","unstructured":"Matias Bj\u00f8rling, Abutalib Aghayev, Hans Holmberg, Aravind Ramesh, D.L. Moal, G. Ganger, and George Amvrosiadis. 2021. ZNS: Avoiding the block interface tax for flash-based SSDs. In Proceedings of the 2021 usenix Annual Technical Conference."},{"key":"e_1_3_2_29_2","first-page":"359","volume-title":"Proceedings of the 15th USENIX Conference on File and Storage Technologies FAST 17","author":"Bj\u00f8rling Matias","year":"2017","unstructured":"Matias Bj\u00f8rling, Javier Gonzalez, and Philippe Bonnet. 2017. LightNVM: The linux open-channel SSD subsystem. In Proceedings of the 15th USENIX Conference on File and Storage Technologies FAST 17. 359\u2013374."},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/2577384"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.5555\/1012889.1012894"},{"key":"e_1_3_2_33_2","first-page":"1","volume-title":"Proceedings of the 7th non Volatile Memory Workshop","author":"Gonz\u00e1lez Javier","year":"2016","unstructured":"Javier Gonz\u00e1lez, Matias Bj\u00f8rling, Seongno Lee, Charlie Dong, and Yiren Ronnie Huang. 2016. Application-driven flash translation layers on open-channel SSDs. In Proceedings of the 7th non Volatile Memory Workshop. 1\u20132."},{"key":"e_1_3_2_34_2","first-page":"10","volume-title":"Proceedings of the FAST","author":"Grupp Laura M.","year":"2012","unstructured":"Laura M. Grupp, John D. Davis, and Steven Swanson. 2012. The bleak future of NAND flash memory. In Proceedings of the FAST. 10\u20132."},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/1508284.1508271"},{"key":"e_1_3_2_36_2","article-title":"dm-zap: Host-based FTL for ZNS SSDs","author":"Holmberg Hans","year":"2021","unstructured":"Hans Holmberg. 2021. dm-zap: Host-based FTL for ZNS SSDs. Retrieved from https:\/\/github.com\/westerndigitalcorporation\/dm-zap.","journal-title":"Retrieved from https:\/\/github.com\/westerndigitalcorporation\/dm-zap"},{"key":"e_1_3_2_37_2","first-page":"1","volume-title":"Proceedings of the SYSTOR 2009: The Israeli Experimental Systems Conference","author":"Hu Xiao-Yu","year":"2009","unstructured":"Xiao-Yu Hu, Evangelos Eleftheriou, Robert Haas, Ilias Iliadis, and Roman Pletka. 2009. Write amplification analysis in flash-based solid state drives. In Proceedings of the SYSTOR 2009: The Israeli Experimental Systems Conference. 1\u20139."},{"key":"e_1_3_2_38_2","volume-title":"Proceedings of the Poster Presentation in the 23rd ACM Symposium on Operating Systems Principles","author":"Hyun Choulseung","year":"2011","unstructured":"Choulseung Hyun, Jongmoo Choi, Donghee Lee, and Sam H. Noh. 2011. To TRIM or not to TRIM: Judicious triming for solid state drives. In Proceedings of the Poster Presentation in the 23rd ACM Symposium on Operating Systems Principles."},{"key":"e_1_3_2_39_2","unstructured":"Junsu Im Jinwook Bae Chanwoo Chung Arvind and Sungjin Lee. 2020. PinK: High-speed In-storage key-value store with bounded tails. In Proceeding of the USENIX Annual Technical Conference (USENIX ATC\u201920) ."},{"key":"e_1_3_2_40_2","first-page":"1","volume-title":"Proceedings of the 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies","author":"Jiang Song","year":"2011","unstructured":"Song Jiang, Lei Zhang, XinHao Yuan, Hao Hu, and Yu Chen. 2011. S-FTL: An efficient address translation for flash memory by exploiting spatial locality. In Proceedings of the 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies. IEEE, 1\u201312."},{"key":"e_1_3_2_41_2","volume-title":"Proceedings of the International Workshop on Software Support for Portable Storage","author":"Jung Dawoon","year":"2005","unstructured":"Dawoon Jung, Jin-soo Kim, Seon-yeong Park, Jeong-uk Kang, and Joonwon Lee. 2005. Fass: A flash-aware swap system. In Proceedings of the International Workshop on Software Support for Portable Storage. Citeseer."},{"key":"e_1_3_2_42_2","first-page":"1","volume-title":"Proceedings of the 8th Asia-Pacific Workshop on Systems","author":"Kang Dong Hyun","year":"2017","unstructured":"Dong Hyun Kang and Young Ik Eom. 2017. TO FLUSH or NOT: Zero padding in the file system with SSD devices. In Proceedings of the 8th Asia-Pacific Workshop on Systems. 1\u20139."},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.5555\/2696578.2696591"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.5555\/1446299.1446841"},{"key":"e_1_3_2_45_2","first-page":"1103","volume-title":"Proceedings of the 2020 ACM\/IEEE 47th Annual International Symposium on Computer Architecture","author":"Lee Gyusun","year":"2020","unstructured":"Gyusun Lee, Wenjing Jin, Wonsuk Song, Jeonghun Gong, Jonghyun Bae, Tae Jun Ham, Jae W. Lee, and Jinkyu Jeong. 2020. A case for hardware-based demand paging. In Proceedings of the 2020 ACM\/IEEE 47th Annual International Symposium on Computer Architecture. IEEE, 1103\u20131116."},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/2485732.2485745"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.1109\/TrustCom.2014.87"},{"key":"e_1_3_2_48_2","unstructured":"Jacob Leverich. 2014. Mutilate: high-performance memcached load generator. https:\/\/github.com\/leverich\/mutilate."},{"key":"e_1_3_2_49_2","doi-asserted-by":"publisher","DOI":"10.1145\/3480963"},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCE.2012.6227442"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCE.2012.6227444"},{"key":"e_1_3_2_52_2","article-title":"dm-zoned: Zoned Block Device device mapper","author":"Moal Damien Le","year":"2017","unstructured":"Damien Le Moal. 2017. dm-zoned: Zoned Block Device device mapper. Retrieved from https:\/\/lwn.net\/Articles\/714387\/.","journal-title":"https:\/\/lwn.net\/Articles\/714387\/"},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.1145\/3007818.3007844"},{"key":"e_1_3_2_54_2","article-title":"Scaling flash technology to meet application demands","author":"S. Ohshima,","year":"2018","unstructured":"Ohshima, S.2018. Scaling flash technology to meet application demands. Keynote 3 at Flash Memory Summit 2018.","journal-title":"Keynote 3 at Flash Memory Summit 2018"},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.5555\/3357062.3357086"},{"key":"e_1_3_2_56_2","doi-asserted-by":"crossref","first-page":"234","DOI":"10.1145\/1176760.1176789","volume-title":"Proceedings of the 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems","author":"Park Seon-yeong","year":"2006","unstructured":"Seon-yeong Park, Dawoon Jung, Jeong-uk Kang, Jin-soo Kim, and Joonwon Lee. 2006. CFLRU: A replacement algorithm for flash memory. In Proceedings of the 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems. 234\u2013241."},{"key":"e_1_3_2_57_2","volume-title":"Proceedings of the USENIX Annual Technical Conference","author":"Saxena Mohit","year":"2010","unstructured":"Mohit Saxena and Michael M. Swift. 2010. FlashVM: Virtual memory management on Flash. In Proceedings of the USENIX Annual Technical Conference."},{"key":"e_1_3_2_58_2","first-page":"1","volume-title":"Proceedings of the 2019 IEEE International Conference on Consumer Electronics.","author":"Song Taejoon","year":"2019","unstructured":"Taejoon Song, Gunho Lee, and Youngjin Kim. 2019. Enhanced flash swap: Using NAND flash as a swap device with lifetime control. In Proceedings of the 2019 IEEE International Conference on Consumer Electronics. IEEE, 1\u20135."},{"key":"e_1_3_2_59_2","doi-asserted-by":"publisher","DOI":"10.14778\/2536360.2536372"},{"key":"e_1_3_2_60_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.peva.2013.08.010"},{"key":"e_1_3_2_61_2","volume-title":"Bluecache: A Scalable Distributed Flash-based Key-value Store","author":"Xu Shuotao","year":"2016","unstructured":"Shuotao Xu. 2016. Bluecache: A Scalable Distributed Flash-based Key-value Store. Ph.D. Dissertation. Massachusetts Institute of Technology."},{"key":"e_1_3_2_62_2","volume-title":"Proceedings of the 7th { \\(USENIX\\) } Workshop on Hot Topics in Storage and File Systems","author":"Yadgar Gala","year":"2015","unstructured":"Gala Yadgar, Roman Shor, Eitan Yaakobi, and Assaf Schuster. 2015. It\u2019s not where your data is, it\u2019s how it got there. In Proceedings of the 7th { \\(USENIX\\) } Workshop on Hot Topics in Storage and File Systems."},{"key":"e_1_3_2_63_2","doi-asserted-by":"publisher","DOI":"10.1145\/3078468.3078469"},{"key":"e_1_3_2_64_2","doi-asserted-by":"crossref","first-page":"627","DOI":"10.1007\/978-3-319-54978-1_79","volume-title":"Proceedings of the Information Technology-New Generations","author":"Yang Jisoo","year":"2018","unstructured":"Jisoo Yang and Julian Seymour. 2018. Pmbench: A micro-benchmark for profiling paging performance on a system with low-latency SSDs. In Proceedings of the Information Technology-New Generations. Springer, 627\u2013633."},{"key":"e_1_3_2_65_2","doi-asserted-by":"publisher","DOI":"10.1145\/3126545"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3582434","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3582434","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T18:08:48Z","timestamp":1750183728000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3582434"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,3,6]]},"references-count":64,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2023,5,31]]}},"alternative-id":["10.1145\/3582434"],"URL":"https:\/\/doi.org\/10.1145\/3582434","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"value":"1553-3077","type":"print"},{"value":"1553-3093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,3,6]]},"assertion":[{"value":"2022-12-14","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-01-19","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-03-06","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}