{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,7]],"date-time":"2026-01-07T07:54:48Z","timestamp":1767772488954,"version":"3.41.0"},"reference-count":89,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2020,5,31]],"date-time":"2020-05-31T00:00:00Z","timestamp":1590883200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Research Grants Council of Hong Kong","award":["GRF 15273616, GRF 15206617, GRF 15224918"],"award-info":[{"award-number":["GRF 15273616, GRF 15206617, GRF 15224918"]}]},{"DOI":"10.13039\/501100004853","name":"Chinese University of Hong Kong","doi-asserted-by":"publisher","award":["Direct Grant for Research (Project No. 4055096)"],"award-info":[{"award-number":["Direct Grant for Research (Project No. 4055096)"]}],"id":[{"id":"10.13039\/501100004853","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100007515","name":"National Science Foundation","doi-asserted-by":"publisher","award":["1453705, 1629291, 1910958"],"award-info":[{"award-number":["1453705, 1629291, 1910958"]}],"id":[{"id":"10.13039\/100007515","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100006952","name":"Louisiana Board of Regents","doi-asserted-by":"publisher","award":["LEQSF(2014-17)-RD-A-01"],"award-info":[{"award-number":["LEQSF(2014-17)-RD-A-01"]}],"id":[{"id":"10.13039\/100006952","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2020,5,31]]},"abstract":"<jats:p>\n            Flash-based key-value caching is becoming popular in data centers for providing high-speed key-value services. These systems adopt slab-based space management on flash and provide a low-cost solution for key-value caching. However, optimizing cache efficiency for flash-based key-value cache systems is highly challenging, due to the huge number of key-value items and the unique technical constraints of flash devices. In this article, we present a dynamic on-line compression scheme, called\n            <jats:italic>SlimCache<\/jats:italic>\n            , to improve the cache hit ratio by virtually expanding the usable cache space through data compression. We have investigated the effect of compression granularity to achieve a balance between compression ratio and speed, and we leveraged the unique workload characteristics in key-value systems to efficiently identify and separate hot and cold data. To dynamically adapt to workload changes during runtime, we have designed an adaptive hot\/cold area partitioning method based on a cost model. To avoid unnecessary compression, SlimCache also estimates data compressibility to determine whether the data are suitable for compression or not. We have implemented a prototype based on Twitter\u2019s Fatcache. Our experimental results show that SlimCache can accommodate more key-value items in flash by up to 223.4%, effectively increasing throughput and reducing average latency by up to 380.1% and 80.7%, respectively.\n          <\/jats:p>","DOI":"10.1145\/3383124","type":"journal-article","created":{"date-parts":[[2020,6,10]],"date-time":"2020-06-10T16:43:25Z","timestamp":1591807405000},"page":"1-34","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":16,"title":["SlimCache"],"prefix":"10.1145","volume":"16","author":[{"given":"Yichen","family":"Jia","sequence":"first","affiliation":[{"name":"Louisiana State University, Baton Rouge, Louisiana, USA"}]},{"given":"Zili","family":"Shao","sequence":"additional","affiliation":[{"name":"The Chinese University of Hong Kong, Shatin, NT, Hong Kong"}]},{"given":"Feng","family":"Chen","sequence":"additional","affiliation":[{"name":"Louisiana State University, Baton Rouge, Louisiana, USA"}]}],"member":"320","published-online":{"date-parts":[[2020,6,10]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142473.1142548"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.966496"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIXATC\u201908)","author":"Agrawal N.","key":"e_1_2_1_3_1"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/CLUSTER.2017.69"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254756.2254766"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPADS.2008.15"},{"volume-title":"Proceedings of the 5th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud\u201913)","year":"2013","author":"Blott Michaela","key":"e_1_2_1_7_1"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/INFCOM.1999.749260"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICC.2014.6883477"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIXATC\u201918)","year":"2018","author":"Chan Helen H. W.","key":"e_1_2_1_10_1"},{"key":"e_1_2_1_11_1","first-page":"3","article-title":"Internal parallelism of flash memory-based solid-state drives","volume":"12","author":"Chen Feng","year":"2016","journal-title":"ACM Trans. Stor."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555349.1555371"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2011.5749735"},{"volume-title":"Proceedings of the International Conference on Electronics, Information, and Communication (ICEIC\u201917)","year":"2017","author":"Choi Seonghyeog","key":"e_1_2_1_14_1"},{"volume-title":"Proceedings of 2017 USENIX Annual Technical Conference (USENIXATC\u201917)","year":"2017","author":"Cidon Asaf","key":"e_1_2_1_15_1"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/214956.214963"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/CAHPC.2003.1250316"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1989323.1989327"},{"volume-title":"Proceedings of the 23rd IEEE Convention of Electrical and Electronics Engineers in Israel.","year":"2004","author":"Shlomo Weiss DoromNakar","key":"e_1_2_1_19_1"},{"volume-title":"Flashield: A key-value cache that minimizes writes to flash.","year":"2017","author":"Eisenman Assaf","key":"e_1_2_1_20_1"},{"volume-title":"Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201919)","year":"2019","author":"Eisenman Assaf","key":"e_1_2_1_21_1"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3190508.3190524"},{"key":"e_1_2_1_23_1","unstructured":"Facebook. 2013. McDipper: A Key-value Cache for Flash Storage. Retrieved from https:\/\/www.facebook.com\/notes\/facebook-engineering\/mcdipper-a-key-value-cache-for-flash-storage\/10151347090423920\/.  Facebook. 2013. McDipper: A Key-value Cache for Flash Storage. Retrieved from https:\/\/www.facebook.com\/notes\/facebook-engineering\/mcdipper-a-key-value-cache-for-flash-storage\/10151347090423920\/."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/IMW.2016.7495289"},{"key":"e_1_2_1_26_1","unstructured":"Python Software Foundation. 2019. Text Generator based on Markov Chain. Retrieved from https:\/\/pypi.python.org\/pypi\/markovgen\/0.5.  Python Software Foundation. 2019. Text Generator based on Markov Chain. Retrieved from https:\/\/pypi.python.org\/pypi\/markovgen\/0.5."},{"key":"e_1_2_1_27_1","unstructured":"Kingwa Fu. 2017. Weiboscope Open Data. Retrieved from https:\/\/hub.hku.hk\/cris\/dataset\/dataset107483.  Kingwa Fu. 2017. Weiboscope Open Data. Retrieved from https:\/\/hub.hku.hk\/cris\/dataset\/dataset107483."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/MIC.2013.28"},{"key":"e_1_2_1_29_1","unstructured":"GNU. 2018. Gzip. Retrieved from https:\/\/www.gnu.org\/software\/gzip\/.  GNU. 2018. Gzip. Retrieved from https:\/\/www.gnu.org\/software\/gzip\/."},{"key":"e_1_2_1_30_1","unstructured":"Google. 2019. Snappy. Retrieved from https:\/\/github.com\/google\/snappy.  Google. 2019. Snappy. Retrieved from https:\/\/github.com\/google\/snappy."},{"volume-title":"Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST\u201913)","year":"2013","author":"Harnik Danny","key":"e_1_2_1_31_1"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIXATC\u201918)","year":"2018","author":"Huang Yihe","key":"e_1_2_1_32_1"},{"volume-title":"Proceedings of the ACM International Conference on Multimedia Information Retrieval (MIR\u201908)","author":"Mark","key":"e_1_2_1_33_1"},{"volume-title":"IBM Real-time Compression in IBM SAN","author":"IBM.","key":"e_1_2_1_34_1"},{"key":"e_1_2_1_35_1","unstructured":"Intel. 2012. Optane SSD. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/products\/memory-storage\/solid-state-drives\/consumer-ssds\/optane-ssd-9-series\/optane-ssd-900p-series\/900p-280gb-aic-20nm.html.  Intel. 2012. Optane SSD. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/products\/memory-storage\/solid-state-drives\/consumer-ssds\/optane-ssd-9-series\/optane-ssd-900p-series\/900p-280gb-aic-20nm.html."},{"key":"e_1_2_1_36_1","unstructured":"Intel. 2018. Intel SSD. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/support\/articles\/000006354\/memory-and-storage.html.  Intel. 2018. Intel SSD. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/support\/articles\/000006354\/memory-and-storage.html."},{"key":"e_1_2_1_37_1","unstructured":"Intel. 2020. Intel Optane Memory. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/optane-memory.html.  Intel. 2020. Intel Optane Memory. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/optane-memory.html."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS.2018.00029"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIXATC\u201905)","year":"2005","author":"Jiang Song","key":"e_1_2_1_39_1"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132764"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIXATC\u201918)","year":"2018","author":"Kannan Sudarsun","key":"e_1_2_1_41_1"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.5555\/3323298.3323300"},{"key":"e_1_2_1_43_1","series-title":"Lecture Notes for ELE201 Introduction to Electrical Signals and Systems","volume-title":"Information, Entropy, and Coding","author":"Kulkarni Sanjeev R.","year":"2002"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882925"},{"key":"e_1_2_1_45_1","unstructured":"Larry Leemis. 2019. Zipf. Retrieved from http:\/\/www.math.wm.edu\/ leemis\/chart\/UDR\/PDFs\/Zipf.pdf.  Larry Leemis. 2019. Zipf. Retrieved from http:\/\/www.math.wm.edu\/ leemis\/chart\/UDR\/PDFs\/Zipf.pdf."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132756"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2749469.2750416"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043558"},{"volume-title":"Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation (NSDI\u201914)","year":"2014","author":"Lim Hyeontaek","key":"e_1_2_1_49_1"},{"volume-title":"Proceeding of the 40th Annual International Symposium on Computer Architecture (ISCA\u201913)","author":"Lim Kevin","key":"e_1_2_1_50_1"},{"volume-title":"Proceedings of 14th USENIX Conference on File and Storage Technologies (FAST\u201916)","author":"Lu Lanyue","key":"e_1_2_1_51_1"},{"key":"e_1_2_1_52_1","unstructured":"lz4. 2019. Extremely Fast Compression. Retrieved from http:\/\/lz4.github.io\/lz4\/.  lz4. 2019. Extremely Fast Compression. Retrieved from http:\/\/lz4.github.io\/lz4\/."},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/1755913.1755915"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168855"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIXATC\u201915)","year":"2015","author":"Marmol Leonardo","key":"e_1_2_1_55_1"},{"key":"e_1_2_1_56_1","first-page":"271","article-title":"Image compression based on multilevel thresholding image using shannon entropy for enhanced image","volume":"4","author":"Marripudi Venkata Lakshmi","year":"2015","journal-title":"Global J. Adv. Eng. Technol."},{"volume-title":"Proceedings of the 2nd USENIX Conference on File and Storage (FAST\u201903)","author":"Megiddo N.","key":"e_1_2_1_57_1"},{"key":"e_1_2_1_58_1","unstructured":"Memcached. 2018. A Distributed Memory Object Caching System. Retrieved from https:\/\/memcached.org\/.  Memcached. 2018. A Distributed Memory Object Caching System. Retrieved from https:\/\/memcached.org\/."},{"key":"e_1_2_1_59_1","unstructured":"MongoDB. 2019. WiredTiger Storage Engine. Retrieved from https:\/\/docs.mongodb.com\/manual\/core\/wiredtiger\/.  MongoDB. 2019. WiredTiger Storage Engine. Retrieved from https:\/\/docs.mongodb.com\/manual\/core\/wiredtiger\/."},{"volume-title":"Proceedings of the 17th International Conference on Extending Database Technology (EDBT\u201914)","year":"2014","author":"Muller Ingo","key":"e_1_2_1_60_1"},{"volume-title":"Proceeding of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201913)","year":"2013","author":"Nishtala Rajesh","key":"e_1_2_1_61_1"},{"volume-title":"Proceeding of the 41st International Conference on Parallel Processing (ICPP\u201912)","author":"Ouyang Xiangyong","key":"e_1_2_1_62_1"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIXATC\u201916)","year":"2016","author":"Papagiannis Anastasios","key":"e_1_2_1_63_1"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.5555\/1315451.1315531"},{"key":"e_1_2_1_65_1","unstructured":"Reddit. 2015. Reddit Comments. Retrieved from https:\/\/www.reddit.com\/r\/datasets\/comments\/3bxlg7\/i_have_every_publicly_available_reddit_comment\/.  Reddit. 2015. Reddit Comments. Retrieved from https:\/\/www.reddit.com\/r\/datasets\/comments\/3bxlg7\/i_have_every_publicly_available_reddit_comment\/."},{"key":"e_1_2_1_66_1","unstructured":"Greg Roelofs Jean-loup Gailly and Mark Adler. 2017. Zlib. Retrieved from https:\/\/zlib.net\/.  Greg Roelofs Jean-loup Gailly and Mark Adler. 2017. Zlib. Retrieved from https:\/\/zlib.net\/."},{"key":"e_1_2_1_67_1","unstructured":"Samsung. 2017. Ultra-Low Latency with Samsung Z-NAND SSD\u2014Breakthrough Storage for a New Generation of Enterprise and Data Center Infrastructure. Retrieved from https:\/\/www.samsung.com\/semiconductor\/global.semi.static\/Brochure_Samsung_S-ZZD_SZ985_1804.pdf.  Samsung. 2017. Ultra-Low Latency with Samsung Z-NAND SSD\u2014Breakthrough Storage for a New Generation of Enterprise and Data Center Infrastructure. Retrieved from https:\/\/www.samsung.com\/semiconductor\/global.semi.static\/Brochure_Samsung_S-ZZD_SZ985_1804.pdf."},{"key":"e_1_2_1_68_1","unstructured":"Samsung. 2018. Samsung Z-SSD SZ985 - Ultra-low Latency SSD for Enterprise and Data Centers\u2014Brochure. Retrieved from https:\/\/www.samsung.com\/semiconductor\/global.semi.static\/Brochure_Samsung_S-ZZD_SZ985_1804.pdf.  Samsung. 2018. Samsung Z-SSD SZ985 - Ultra-low Latency SSD for Enterprise and Data Centers\u2014Brochure. Retrieved from https:\/\/www.samsung.com\/semiconductor\/global.semi.static\/Brochure_Samsung_S-ZZD_SZ985_1804.pdf."},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1109\/LCA.2014.2350984"},{"volume-title":"Proc. SPIE 3527 (Oct.","year":"1998","author":"Dimitrios","key":"e_1_2_1_70_1"},{"volume-title":"Proceedings of the IEEE International Conference on Big Data (BigData\u201915)","year":"2015","author":"Shankar Dipti","key":"e_1_2_1_71_1"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1948.tb01338.x"},{"volume-title":"Proceedings of the 15th USENIX Conference on File and Storage Technologies (FAST\u201917)","year":"2017","author":"Shen Zhaoyan","key":"e_1_2_1_73_1"},{"volume-title":"Proceedings of 13th USENIX Conference on File and Storage Technologies (FAST\u201915)","year":"2015","author":"Tang Linpeng","key":"e_1_2_1_74_1"},{"key":"e_1_2_1_75_1","unstructured":"Luca Trevisan. 2012. Kolmogorov Complexity. Retrieved from http:\/\/cs.stanford.edu\/~trevisan\/cs154-12\/kolcomplexity-rev.pdf.  Luca Trevisan. 2012. Kolmogorov Complexity. Retrieved from http:\/\/cs.stanford.edu\/~trevisan\/cs154-12\/kolcomplexity-rev.pdf."},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.5555\/1247360.1247389"},{"key":"e_1_2_1_77_1","unstructured":"Twitter. 2011. Tweets2011. Retrieved from http:\/\/trec.nist.gov\/data\/tweets\/.  Twitter. 2011. Tweets2011. Retrieved from http:\/\/trec.nist.gov\/data\/tweets\/."},{"key":"e_1_2_1_78_1","unstructured":"Twitter. 2013. Fatcache. Retrieved from https:\/\/github.com\/twitter\/fatcache.  Twitter. 2013. Fatcache. Retrieved from https:\/\/github.com\/twitter\/fatcache."},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1145\/3267809.3267847"},{"key":"e_1_2_1_80_1","unstructured":"Wikipedia. 2019. Entropy (Information Theory). Retrieved from https:\/\/en.wikipedia.org\/wiki\/Entropy_(information_theory).  Wikipedia. 2019. Entropy (Information Theory). Retrieved from https:\/\/en.wikipedia.org\/wiki\/Entropy_(information_theory)."},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIX ATC\u201999)","year":"1999","author":"Wilson Paul R.","key":"e_1_2_1_81_1"},{"volume-title":"Proceedings of IEEE 34th International Conference on Data Engineering (ICDE\u201918)","year":"2018","author":"Wu Chenggang","key":"e_1_2_1_82_1"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIXATC\u201915)","year":"2015","author":"Wu Xingbo","key":"e_1_2_1_83_1"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/2901318.2901332"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.14778\/3025111.3025113"},{"key":"e_1_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.5555\/2930583.2930596"},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1145\/1024393.1024415"},{"volume-title":"Relative frequency as a determinant of phonetic change. Reprinted from the Harvard Studies in Classical Philology XL","year":"1929","author":"Zipf George Kingsley","key":"e_1_2_1_88_1"},{"volume-title":"Proceedings of the 2nd Workshop on Interactions of NVM\/Flash with Operating Systems and Workloads (INFLOW\u201914)","author":"Zuck Aviad","key":"e_1_2_1_89_1"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3383124","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3383124","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:02:00Z","timestamp":1750197720000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3383124"}},"subtitle":["An Efficient Data Compression Scheme for Flash-based Key-value Caching"],"short-title":[],"issued":{"date-parts":[[2020,5,31]]},"references-count":89,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2020,5,31]]}},"alternative-id":["10.1145\/3383124"],"URL":"https:\/\/doi.org\/10.1145\/3383124","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"type":"print","value":"1553-3077"},{"type":"electronic","value":"1553-3093"}],"subject":[],"published":{"date-parts":[[2020,5,31]]},"assertion":[{"value":"2019-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-06-10","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}