skip to main content
research-article

VSSD: Performance Isolation in a Solid-State Drive

Published:28 September 2015Publication History
Skip Abstract Section

Abstract

Performance isolation is critical in shared storage systems, a popular storage solution. In a shared storage system, interference between requests from different users can affect the accuracy of I/O cost accounting, resulting in poor performance isolation. Recently, NAND flash-memory-based solid-state drives (SSDs) have been increasingly used in shared storage systems. However, interference in SSD-based shared storage systems has not been addressed. In this article, two types of interference, namely, queuing delay (QD) interference and garbage collection (GC) interference, are identified in a shared SSD. Additionally, a framework called VSSD is proposed to address these types of interference. VSSD is composed of two components: the FACO credit-based I/O scheduler designed to address QD interference and the ViSA flash translation layer designed to address GC interference. The VSSD framework aims to be implemented in the firmware running on an SSD controller. With VSSD, interference in an SSD can be eliminated and performance isolation can be ensured. Both synthetic and application workloads are used to evaluate the effectiveness of the proposed VSSD framework. The performance results show the following. First, QD and GC interference exists and can result in poor performance isolation between users on SSD-based shared storage systems. Second, VSSD is effective in eliminating the interference and achieving performance isolation between users. Third, the overhead of VSSD is insignificant.

References

  1. J. An and D. Shin. 2013. Offline deduplication-aware block separation for solid state disk. In Proceedings of the 11th USENIX Conference on File and Storage Technologies.Google ScholarGoogle Scholar
  2. T. Austin, E. Larson, and D. Ernst. 2002. An infrastructure for computer system modeling. IEEE Computer 32, 2, 59--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Axboe. 2004. Linux block IO—present and future. In Proceedings of the Ottawa Linux Symposium. 51--61.Google ScholarGoogle Scholar
  4. M. Balakrishnan, A. Kadav, V. Prabhakaran, and D. Malkhi. 2010. Differential RAID: Rethinking RAID for SSD reliability. In Proceedings of the 5th European Conference on Computer Systems. 15--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Boboila and P. Desnoyers. 2010. Write endurance in flash drives: Measurements and analysis. In Proceedings of the 8th USENIX Conference on File and Storage Technologies. 115--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Bruno, J. Brustoloni, E. Gabber, B. Ozden, and A. Silberschatz. 1999. Disk scheduling with quality of service guarantees. In Proceedings of the IEEE International Conference on Multimedia Computing and Systems. 400--405. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. S. Bucy, J. Schindler, S. W. Schlosser, and G. R. Ganger. 2008. The Disksim simulation environment version 4.0. Tech. Rep. CMU- PDL-08-101, Parallek Data Lab, Carnegie Mellon University.Google ScholarGoogle Scholar
  8. S. Byan, J. Lentini, A. Madan, L. Pabón, M. Condict, J. Kimmel, S. Kleiman, C. Small, and M. Storer. 2012. Mercury: Host-side flash caching for the data center. In Proceedings of the 28th IEEE Symposium on Mass Storage Systems and Technologies. 1--12.Google ScholarGoogle Scholar
  9. D. W. Chang, H. H. Chen, D. J. Yang, and H. P. Chang. 2014. BLAS: block-level adaptive striping for solid-state drives. ACM Trans. Des. Autom. Electron. Syst. 19, 2, 21--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. P. Chang. 2010. A hybrid approach to NAND-flash-based solid-state disks. IEEE Trans. Comput. 59, 10, 1337--1349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. L. P. Chang and C. D. Du. 2009. Design and implementation of an efficient wear-leveling algorithm for solid-state-disk microcontrollers. ACM Trans. Des. Autom. Electron. Syst. 15, 1, 1--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. L. P. Chang and T. W. Kuo. 2005. Efficient management for large-scale flash-memory storage systems with resource conservation. ACM Trans. Storage. 1, 4, 381--418. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. L. P. Chang, T. W. Kuo, and S. W. Lo. 2004. Real-time garbage collection for flash-memory storage systems of real-time embedded systems. ACM Trans. Embed. Comput. Syst. 3, 4, 837--863. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. L. P. Chang and C. Y. Wen. 2014. Reducing asynchrony in channel garbage-collection for improving internal parallelism of multichannel solid-state disks. ACM Trans. Embed. Comput. Syst. 13, 2s, 63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Y. H. Chang, J. W. Hsieh, and T. W. Kuo. 2010. Improving flash wear-leveling by proactively moving static data. IEEE Trans. Comput. 59, 1, 53--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. F. Chen, R. Lee, and X. Zhang. 2011. Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing. In Proceedings of the 17th IEEE International Symposium on High Performance Computer Architecture. 266--277. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. L. Chiang, P. C. H. Lee, and R. C. Chang. 1999. Cleaning policies in mobile computers using flash memory. J. Syst. Softw. 48, 3, 213--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. L. Chiao and D. W. Chang. 2011. ROSE: A novel flash translation layer for NAND flash memory based on hybrid address translation. IEEE Trans. Comput. 60, 6, 753--766. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. Gang and T. Chiueh. 2008. Availability and fairness support for storage QoS guarantee. In Proceedings of the 28th International Conference on Distributed Computing Systems. 589--596. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Gulati, I. Ahmad, and C. A. Waldspurger. 2009a. PARDA: Proportional allocation of resources for distributed storage access. In Proceedings of the 7th USENIX Conference on File and Storage Technologies. 85--98. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Gulati, C. Kumar, and I. Ahmad. 2009b. Storage workload characterization and consolidation in virtualized environments. In Proceedings of the Workshop on Virtualization Performance: Analysis, Characterization, and Tools.Google ScholarGoogle Scholar
  22. J. W. Hsieh, H. Y. Lin, and D. L. Yang. 2013a. Multi-channel architecture-based FTL for reliable and high-performance SSD. IEEE Trans. Comput. 63, 12, 3079--3091. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. W. Hsieh, Y. C. Zheng, Y. S. Peng, and P. H. Yeh. 2013b. VAST: Virtually associative sector translation for MLC storage systems. IEEE Trans. Comput.-Aid. Des. Integ. Circuits Syst. 32, 8, 1137--1150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. P. C. Huang, Y. H. Chang, K. Y. Lam, J. T. Wang, and C. C Huang. 2014. Garbage collection for multiversion index in flash-based embedded databases. ACM Trans. Des. Autom. Electron. Syst. 19, 3, 25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. C. Huang, Y. H. Chang, and T. W. Kuo. 2013. An index-based management scheme with adaptive caching for huge-scale low-cost embedded flash storages. ACM Trans. Des. Autom. Electron. Syst. 18, 4, 56--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Huang, Y. Wang, Z. Liu, L. Qiao, and Z. Shao. 2015. A garbage collection aware stripping method for solid-state drives. In Proceedings of the 20th Asia and South Pacific Design Automation Conference. 334--339.Google ScholarGoogle Scholar
  27. S. Im and D. Shin. 2010a. Flash-aware RAID techniques for dependable and high-performance flash memory SSD. IEEE Trans. Comput. 60, 1, 80--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Im and D. Shin. 2010b. Delayed partial parity scheme for reliable and high-performance flash memory SSD. In Proceedings of the 26th IEEE Symposium on Mass Storage Systems and Technologies. 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. S. Im and D. Shin. 2010c. ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer. J. Syst. Architect. 56, 12, 641--653. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. W. Jin, J. S. Chase, and J. Kaur. 2004. Interposed proportional sharing for a storage service utility. In Proceedings of the International Conference on Measurement and Modeling of Computer Systems. 37--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. Kang, J. Kim, C. Park, H. Park, and J. Lee. 2007. A multi-channel architecture for high-performance NAND flash-based storage system. J. Syst. Architect. 53, 9, 644--658. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. Karlsson, C. Karamanolis, and X. Zhu. 2005. Triage: Performance differentiation for storage systems using adaptive control. ACM Trans. Storage. 1, 4, 457--480. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. Kim, C. Lee, S. Lee, I. Son, J. Choi, S. Yoon, H. Lee, S. Kang, Y. Won, and J. Cha. 2012. Deduplication in SSDs: Model and quantitative analysis. In Proceedings of the 28th IEEE Symposium on Mass Storage Systems and Technologies. 1--12.Google ScholarGoogle Scholar
  34. J. Kim, D. Lee, and S. H. Noh. 2015. Towards SLO complying SSDs through OPS isolation. In Proceedings of the 13th USENIX Conference on File and Storage Technologies. 183--190. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Y. Klonatos, T. Makatos, M. Marazakis, M. D. Flouris, and A. Bilas. 2011. Azor: Using two-level block selection to improve SSD-based I/O caches. In Proceedings of the IEEE Networking, Architecture and Storage. 309--318. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. R. S. Liu, M. Y. Chuang, C. L. Yang, C. H. Li, K. C. Ho, and H. P. Li. 2014. EC-cache: Exploiting error locality to optimize LDPC in NAND flash-based SSDs. In Proceedings of the 51st Annual Design Automation Conference, 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. R. S. Liu, C. L. Yang, C. H. Li, and G. Y. Chen. 2013. DuraCache: A durable SSD cache using MLC NAND flash. In Proceedings of the 50th Annual Design Automation Conference. 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. J. Lee, Y. Kim, J. Kim, and G. M. Shipman. 2015. Synchronous I/O scheduling of independent write caches for an array of SSDs. IEEE Comput. Architect. Lett. 13, 1.Google ScholarGoogle Scholar
  39. J. Lee, Y. Kim, G. M. Shipman, S. Oral, F. Wang, and J. Kim. 2011. A semi-preemptive garbage collector for solid state drives. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software. 12--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. D. Li, X. Liao, H. Jin, B. Zhou, and Q. Zhang. 2012. A new disk I/O model of virtualized cloud environment. IEEE Trans. Parallel Distrib. Syst. 24, 6, 1129--1138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. X. Lin, Y. Mao, F. Li, and R. Ricci. 2012. Towards fair sharing of block storage in a multi-tenant cloud. In Proceedings of the 4th USENIX Conference on Hot Topics in Cloud Computing. 15--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. X. Ling, H. Jin, S. Ibrahim, W. Cao, and S. Wu. 2012. Efficient disk I/O scheduling with QoS guarantee for Xen-based hosting platforms. In Proceedings of the 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. 81--89. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. C. R. Lumb, A. Merchant, and G. A. Alvarez. 2003. Façade: Virtual storage devices with performance guarantees. In Proceedings of the 2nd USENIX Conference on File and Storage Technologies. 131--144. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. T. Luo, S. Ma, R. Lee, X. Zhang, D. Liu, and L. Zhou. 2013. S-CAVE: Effective SSD caching to improve virtual machine storage performance. In Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques. 103--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. D. Malkhi, M. Balakrishnan, J. D. Davis, V. Prabhakaran, and T. Wobber. 2012. From paxos to CORFU: A flash-speed shared log. ACM SIGOPS Oper. Syst. Rev. 46, 1, 47--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. M. Murugan and H. C. Du. 2011. Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead. In Proceedings of the 27th Symposium on Mass Storage Systems and Technologies. 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Objective Analysis. 2010. Solid state disk market outlook 2010 - Single-User. http://www.objective-analysis.com.Google ScholarGoogle Scholar
  48. Y. Oh, J. Choi, D. Lee, and S. H. Noh. 2012. Caching less for better performance: Balancing cache size and update cost of flash memory cache in hybrid storage systems. In Proceedings of the 10th USENIX Conference on File and Storage Technologies. 25--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. C. Park, P. Talawar, D. Won, M. Jung, J. Im, S. Kim, and Y. Choi. 2006. A high performance controller for NAND flash-based solid state disk (NSSD). In Proceedings of the IEEE 21st Non-Volatile Semiconductor Memory Workshop. 17--20.Google ScholarGoogle Scholar
  50. S. Park and K. Shen. 2012. FIOS: A fair, efficient flash I/O scheduler. In Proceedings of the 10th USENIX Conference on File and Storage Technologies. 13--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. A. Povzner, T. Kaldewey, S. Brandt, R. Golding, T. M. Wong, and C. Maltzahn. 2008. Efficient guaranteed disk request scheduling with Fahrrad. In Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer. 13--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. J. Schindler, S. Shete, and K. A. Smith. 2011. Improving throughput for small disk requests with proximal I/O. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies. 133--147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. K. Shen and S. Park. 2013. FlashFQ: A fair queueing I/O scheduler for flash-based SSDs. In Proceedings of the USENIX Annual Technical Conference. 67--78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. D. Skourtis, S. Kato, and S. Brandt. 2012. QBox: Guaranteeing I/O performance on black box storage systems. In Proceedings of the 21st International Symposium on High-Performance Parallel and Distributed Computing. 73--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. P. L. Suei, M. Y. Yeh, and T. W. Kuo. 2014. Endurance-aware flash-cache management for storage servers. IEEE Trans. Comput. 63, 10, 2416--2430. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. D. Tiwari, S. Boboila, S. S. Vazhkudai, Y. Kim, X. Ma, P. J. Desnoyers, and Y. Solihin. 2013. Active flash: Towards energy-efficient, in-situ data analytics on extreme-scale machines. In Proceedings of the 11st USENIX Conference on File and Storage Technologies. 119--132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. C. W. Tsao, Y. H. Chang, and M. C. Yang. 2013. Performance enhancement of garbage collection for flash storage devices: An efficient victim block selection design. In Proceedings of the 50th Annual Design Automation Conference. 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. M. Wachs, M. Abd-El-Malek, E. Thereska, and G. R. Ganger. 2007. Argon: Performance insulation for shared storage servers. In Proceedings of the 5th USENIX Conference on File and Storage Technologies. 61--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. M. Wachs, L. Xu, A. Kanevsky, and G. R. Ganger. 2011. Exertion-based billing for cloud storage access. In Proceedings of the 3rd USENIX Conference on Hot Topics in Cloud Computing. 1--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. C. H. Wu. 2009. An energy-efficient I/O request mechanism for multi-bank flash-memory storage systems. ACM Trans. Des. Autom. Electron. Syst. 14, 1, 6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. P. L. Wu, Y. H. Chang, and T. W. Kuo. 2009. A file-system-aware FTL design for flash-memory storage systems. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition. 393--398. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. G. Wu, X. He, N. Xie, and T. Zhang. 2013. Exploiting workload dynamics to improve SSD read latency via differentiated error correction codes. ACM Trans. Des. Autom. Electron. Syst. 18, 4, 55--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. M. C. Yang, Y. H. Chang, C. W. Tsao, and P. C. Huang. 2013. New ERA: New efficient reliability-aware wear leveling for endurance enhancement of flash storage devices. In Proceedings of the 50th Annual Design Automation Conference. 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. J. Zhang, A. Sivasubramaniam, Q. Wang, A. Riska, and E. Riedel. 2006. Storage performance virtualization via throughput and latency control. ACM Trans. Storage 2, 3, 283--308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. X. Zhang and S. Jiang. 2010. InterferenceRemoval: Removing interference of disk access for MPI programs through data replication. In Proceedings of the 24th ACM International Conference on Supercomputing. 223--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Q. Zhang, X. Li, L. Wang, T. Zhang, Y. Wang, and Z. Shao. 2015. Optimizing deterministic garbage collection in NAND flash storage systems. In Proceedings of the 21st IEEE Real-Time and Embedded Technology and Applications Symposium.Google ScholarGoogle Scholar

Index Terms

  1. VSSD: Performance Isolation in a Solid-State Drive

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Design Automation of Electronic Systems
        ACM Transactions on Design Automation of Electronic Systems  Volume 20, Issue 4
        Special Issue on Reliable, Resilient, and Robust Design of Circuits and Systems
        September 2015
        475 pages
        ISSN:1084-4309
        EISSN:1557-7309
        DOI:10.1145/2830627
        • Editor:
        • Naehyuck Chang
        Issue’s Table of Contents

        Copyright © 2015 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 28 September 2015
        • Accepted: 1 April 2015
        • Revised: 1 February 2015
        • Received: 1 May 2014
        Published in todaes Volume 20, Issue 4

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader