Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

CoDiscard: : A revenue model based cross-layer cooperative discarding mechanism for flash memory devices

Published: 01 July 2022 Publication History

Abstract

Write amplification inside the flash memory device is a severe problem, which shortens the flash’s lifespan and degrades its performance. The TRIM command is proposed to reduce write amplification by avoiding unnecessary relocation in flash memory devices. However, the significant overhead causes the TRIM command to be completely prohibited by common file systems when I/O is busy. This completely prohibited TRIM strategy not only affects the lifespan of the flash memory device but also degrades the performance due to the huge write amplification. In this paper, we propose CoDiscard, a revenue model based cross-layer cooperative discarding mechanism, to optimize the I/O performance and reduce write amplification under intensive workloads. The core idea of CoDiscard is to sieve the high performance–price-ratio TRIM commands to the flash memory device because they can reduce write amplification significantly, thus improving performance. To identify such TRIM commands, we propose a revenue model to predict the write amplification reduction and the corresponding overhead. Based on the revenue model, CoDiscard employs a cross-layer cooperative scheme to schedule the TRIM command. The CoDiscard scheduler in the file system is responsible for making decisions. The CoDiscard monitor in the flash memory device is used to monitor the changing of revenue model related information. We conduct the experiment under real workloads. The results show that the performance improves for 113% and 118.4%, and the write amplification reduces up to 12.12× and 8.18×.

References

[1]
Kim J., Kim H., Lee S., Won Y., FTL design for TRIM command, in: The Fifth International Workshop on Software Support for Portable Storage, 2010, pp. 7–12.
[2]
Zhou Y., Wu Q., Wu F., Jiang H., Zhou J., Xie C., Remap-SSD: Safely and efficiently exploiting SSD address remapping to eliminate duplicate writes, in: 19th USENIX Conference on File and Storage Technologies (USENIX FAST), 2021, pp. 187–202.
[3]
Zhang J., Shu J., Lu Y., ParaFS: A log-structured file system to exploit the internal parallelism of flash devices, in: 2016 USENIX Annual Technical Conference (USENIX ATC), 2016, pp. 87–100.
[4]
Yoo J., Oh J., Lee S., Won Y., Ha J.-Y., Lee J., Shim J., OrcFS: Orchestrated file system for flash storage, ACM Trans. Storage (TOS) 14 (2) (2018) 1–26.
[5]
Bhimani J., Yang J., Yang Z., Mi N., Giri N.K., Pandurangan R., Choi C., Balakrishnan V., Enhancing ssds with multi-stream: What? why? how?, in: 2017 IEEE 36th International Performance Computing and Communications Conference (IPCCC), IEEE, 2017, pp. 1–2.
[6]
Bjørling M., Aghayev A., Holmberg H., Ramesh A., Le Moal D., Ganger G.R., Amvrosiadis G., ZNS: Avoiding the block interface tax for flash-based SSDs, in: 2021 USENIX Annual Technical Conference (USENIX ATC 21), 2021, pp. 689–703.
[7]
Bjørling M., Gonzalez J., Bonnet P., Lightnvm: The linux open-channel SSD subsystem, in: 15th USENIX Conference on File and Storage Technologies (FAST), 2017, pp. 359–374.
[8]
Rodeh O., Bacik J., Mason C., BTRFS: The linux B-tree filesystem, ACM Trans. Storage (TOS) 9 (3) (2013) 1–32.
[9]
Whitehouse S., The GFS2 filesystem, in: Proceedings of the Linux Symposium, Citeseer, 2007, pp. 253–259.
[10]
Liang Y., Ji C., Fu C., Ausavarungnirun R., Li Q., Pan R., Chen S., Shi L., Kuo T.-W., Xue C.J., iTRIM: I/O-aware TRIM for improving user experience on mobile devices, IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 40 (9) (2020) 1782–1795.
[11]
Kim B., Kang D.H., Min C., Eom Y.I., Understanding implications of trim, discard, and background command for emmc storage device, in: 2014 IEEE 3rd Global Conference on Consumer Electronics (GCCE), IEEE, 2014, pp. 709–710.
[12]
Cobb D., Huffman A., Nvm express and the pci express ssd revolution, in: Intel Developer Forum, Vol. 2012, Intel, 2012.
[13]
Xie X., Duan Q., Liu J., Wang J., Lai J., Design and implementation of serial ATA pbysical layer on FPGA, in: 2019 IEEE 13th International Conference on ASIC (ASICON), IEEE, 2019, pp. 1–4.
[14]
Worden D.J., SCSI: The specification, architecture, and command set, in: Storage Networks, Springer, 2004, pp. 85–101.
[15]
Kwon K., Kang D.H., Park J., Eom Y.I., An advanced TRIM command for extending lifetime of TLC NAND flash-based storage, in: 2017 IEEE International Conference on Consumer Electronics (ICCE), IEEE, 2017, pp. 424–425.
[16]
Kang D.H., Eom Y.I., idiscard: Enhanced discard () scheme for flash storage devices, in: 2018 IEEE International Conference on Big Data and Smart Computing (BigComp), IEEE, 2018, pp. 360–366.
[17]
Lee K., Kang D.H., Jeong D., Eom Y.I., Lazy TRIM: Optimizing the journaling overhead caused by TRIM commands on Ext4 file system, in: 2018 IEEE International Conference on Consumer Electronics (ICCE), IEEE, 2018, pp. 1–3.
[18]
Zhou Y., Wang K., Wu F., Xie C., Lv H., Seer-SSD: Bridging semantic gap between log-structured file systems and SSDs to reduce SSD write amplification, in: 2021 IEEE 39th International Conference on Computer Design (ICCD), IEEE, 2021, pp. 49–56.
[19]
Hyun C., Choi J., Lee D., Noh S.H., To TRIM or not to TRIM: Judicious triming for solid state drives, in: Poster Presentation in the 23rd ACM Symposium on Operating Systems Principles, 2011.
[20]
Li H., Hao M., Tong M.H., Sundararaman S., Bjø rling M., Gunawi H.S., The CASE of FEMU: Cheap, accurate, scalable and extensible flash emulator, in: 16th USENIX Conference on File and Storage Technologies (FAST), 2018, pp. 83–90.
[21]
Han K., Shin D., Command queue-aware host I/O stack for mobile flash storage, J. Syst. Archit. 109 (2020).
[22]
Zhou D., Pan W., Wang W., Xie T., I/O characteristics of smartphone applications and their implications for eMMC design, in: 2015 IEEE International Symposium on Workload Characterization, IEEE, 2015, pp. 12–21.
[23]
X.-Y. Hu, E. Eleftheriou, R. Haas, I. Iliadis, R. Pletka, Write amplification analysis in flash-based solid state drives, in: Proceedings of SYSTOR 2009: The Israeli Experimental Systems Conference, 2009, pp. 1–9.
[24]
Bhimani J., Yang J., Yang Z., Mi N., Giri N.K., Pandurangan R., Choi C., Balakrishnan V., Enhancing ssds with multi-stream: What? why? how?, in: 2017 IEEE 36th International Performance Computing and Communications Conference (IPCCC), IEEE, 2017, pp. 1–2.
[25]
Du Y., Gu J., Xiao Z., Huang M., SSW: A strictly sequential writing method for open-channel SSD, J. Syst. Archit. 109 (2020).
[26]
Qin H., Feng D., Tong W., Liu J., Zhao Y., Qblk: Towards fully exploiting the parallelism of open-channel ssds, in: 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE), IEEE, 2019, pp. 1064–1069.
[27]
Qin H., Feng D., Tong W., Zhao Y., Peng M., Liu J., QBLKe: Host-side flash translation layer management for open-channel SSDs, J. Syst. Archit. 119 (2021).
[28]
Kim G., Shin D., Performance analysis of SSD write using TRIM in NTFS and EXT4, in: 2011 6th International Conference on Computer Sciences and Convergence Information Technology (ICCIT), IEEE, 2011, pp. 422–423.
[29]
Saxena M., Swift M.M., FlashVM: Virtual memory management on flash, in: 2010 USENIX Annual Technical Conference (USENIX ATC), USENIX Association, 2010.
[30]
Red Hat Software, Performance evaluation of linux discard support, 2022, URL: https://people.redhat.com/lczerner/discard/files/Performance_evaluation_of_Linux_DIscard_support_Dev_Con2011_Brno.pdf [accessed 16-March-2022].
[31]
Tripathy S., Satpathy M., SSD internal cache management policies: A survey, J. Syst. Archit. 122 (2022).
[32]
Lee W., Lee K., Son H., Kim W.-H., Nam B., Won Y., WALDIO: Eliminating the filesystem journaling in resolving the journaling of journal anomaly, in: 2015 USENIX Annual Technical Conference (USENIX ATC), 2015, pp. 235–247.
[33]
Jung M., Kandemir M., Revisiting widely held SSD expectations and rethinking system-level implications, ACM SIGMETRICS Perform. Eval. Rev. 41 (1) (2013) 203–216.
[34]
Tarasov V., Zadok E., Shepler S., Filebench: A flexible framework for file system benchmarking, USENIX, 2016, pp. 6–12. Login 41.
[35]
Gao C., Di Y., Deng A., Liu D., Ji C., Xue C.J., Shi L., F2FS aware mapping cache design on solid state drives, in: 2018 IEEE 7th Non-Volatile Memory Systems and Applications Symposium (NVMSA), IEEE, 2018, pp. 31–36.
[36]
P. Desnoyers, Analytic modeling of SSD write performance, in: Proceedings of the 5th Annual International Systems and Storage Conference, 2012, pp. 1–10.
[37]
Agarwal R., Marrow M., A closed-form expression for write amplification in nand flash, in: 2010 IEEE Globecom Workshops, IEEE, 2010, pp. 1846–1850.
[38]
T. Frankie, G. Hughes, K. Kreutz-Delgado, A mathematical model of the trim command in NAND-flash SSDs, in: Proceedings of the 50th Annual Southeast Regional Conference, 2012, pp. 59–64.
[39]
Pan Y., Li Y., Zhang H., Chen H., Lin M., GFTL: Group-level mapping in flash translation layer to provide efficient address translation for NAND flash-based SSDs, IEEE Trans. Consum. Electron. 66 (3) (2020) 242–250.
[40]
M.-W. Lee, S.-w. Hwang, Robust distributed indexing for locality-skewed workloads, in: Proceedings of the 21st ACM International Conference on Information and Knowledge Management, 2012, pp. 1342–1351.
[41]
Van Houdt B., A mean field model for a class of garbage collection algorithms in flash-based solid state drives, ACM SIGMETRICS Perform. Eval. Rev. 41 (1) (2013) 191–202.
[42]
Zhou D., Pan W., Wang W., Xie T., I/O characteristics of smartphone applications and their implications for eMMC design, in: 2015 IEEE International Symposium on Workload Characterization, IEEE, 2015, pp. 12–21.
[43]
Katcher J., Postmark: A new file system benchmark, 1997, TR3022.
[44]
Chen Y., Research and implementation of remote sensing image database technology based on oracle9i, in: Journal of Physics: Conference Series, Vol. 1533, IOP Publishing, 2020.
[45]
Boboila S., Desnoyers P., Performance models of flash-based solid-state drives for real workloads, in: 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST), IEEE, 2011, pp. 1–6.
[46]
Lee G., Shin S., Jeong J., Efficient hybrid polling for ultra-low latency storage devices, J. Syst. Archit. 122 (2022).
[47]
Lim S.-H., Jeong Y.-S., Journaling deduplication with invalidation scheme for flash storage-based smart systems, J. Syst. Archit. 60 (8) (2014) 684–692.
[48]
Wang W., Meyers C., Roy R., Diesburg S., Wang A.-I.A., ADAPT: An auxiliary storage data path toolkit, J. Syst. Archit. 113 (2021).

Index Terms

  1. CoDiscard: A revenue model based cross-layer cooperative discarding mechanism for flash memory devices
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Please enable JavaScript to view thecomments powered by Disqus.

        Information & Contributors

        Information

        Published In

        cover image Journal of Systems Architecture: the EUROMICRO Journal
        Journal of Systems Architecture: the EUROMICRO Journal  Volume 128, Issue C
        Jul 2022
        246 pages

        Publisher

        Elsevier North-Holland, Inc.

        United States

        Publication History

        Published: 01 July 2022

        Author Tags

        1. NAND flash
        2. Flash memory device
        3. TRIM command
        4. Write amplification

        Qualifiers

        • Research-article

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • 0
          Total Citations
        • 0
          Total Downloads
        • Downloads (Last 12 months)0
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 12 Nov 2024

        Other Metrics

        Citations

        View Options

        View options

        Get Access

        Login options

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media