Skip to main content
Log in

Pinpointing and scheduling access conflicts to improve internal resource utilization in solid-state drives

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

Abstract

Modern solid-state drives (SSDs) are integrating more internal resources to achieve higher capacity. Parallelizing accesses across internal resources can potentially enhance the performance of SSDs. However, exploiting parallelism inside SSDs is challenging owing to real-time access conflicts. In this paper, we propose a highly parallelizable I/O scheduler (PIOS) to improve internal resource utilization in SSDs from the perspective of I/O scheduling. Specifically, we first pinpoint the conflicting flash requests with precision during the address translation in the Flash Translation Layer (FTL). Then, we introduce conflict eliminated requests (CERs) to reorganize the I/O requests in the device-level queue by dispatching conflicting flash requests to different CERs. Owing to the significant performance discrepancy between flash read and write operations, PIOS employs differentiated scheduling schemes for read and write CER queues to always allocate internal resources to the conflicting CERs that are more valuable. The small dominant size prioritized scheduling policy for the write queue significantly decreases the average write latency. The high parallelism density prioritized scheduling policy for the read queue better utilizes resources by exploiting internal parallelism aggressively. Our evaluation results show that the parallelizable I/O scheduler (PIOS) can accomplish better SSD performance than existing I/O schedulers implemented in both SSD devices and operating systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Agrawal N, Prabhakaran V, Wobber T, Davis J D, Manasse M S, Panigrahy R. Design tradeoffs for SSD performance. In: Proceedings of USENIX Annual Technical Conference. 2008, 57–70

    Google Scholar 

  2. Chen F, Koufaty D A, Zhang X. Hystor: making the best use of solid state drives in high performance storage systems. In: Proceedings of the International Conference on Supercomputing. 2011, 22–32

    Google Scholar 

  3. Saxena M, Swift M M, Zhang Y. FlashTier: a lightweight, consistent and durable storage cache. In: Proceedings of the 7th ACM European Conference on Computer Systems. 2012, 267–280

    Google Scholar 

  4. Caulfield A M, Grupp L M, Swanson S. Gordon: using flash memory to build fast, power-efficient clusters for data-intensive applications. ACM SIGPLAN Notices, 2009, 44(3): 217–228

    Article  Google Scholar 

  5. Kim H J, Lee Y S, Kim J S. NVMeDirect: a user-space I/O framework for application-specific optimization on NVMe SSDs. In: Proceedings of the 8th USENIX Workshop on Hot Topics in Storage and File Systems. 2016

    Google Scholar 

  6. Xu W, Lu Y, Li Q, Zhou E, Song Z, Dong Y, Zhang W, Wei D, Zhang X, Chen H, Xing J, Yuan Y. Hybrid hierarchy storage system in milkyway-2 supercomputer. Frontiers of Computer Science, 2014, 8(3): 367–377

    Article  MathSciNet  Google Scholar 

  7. Liao X, Xiao L, Yang C, Lu Y. Milkyway-2 supercomputer: system and application. Frontiers of Computer Science, 2014, 8(3): 345–356

    Article  MathSciNet  Google Scholar 

  8. Wires J, Ingram S, Drudi Z, Harvey N J, Warfield A. Characterizing storage workloads with counter stacks. In: Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation. 2014, 335–349

    Google Scholar 

  9. Gupta A, Kim Y, Urgaonkar B. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings. In: Proceedings of the 14th International Conference on Architecture Support for Programming Languages and Operating Systems. 2009, 229–240

    Google Scholar 

  10. Xie X, Li Q, Wei D, Song Z, Xiao L. ECAM: an efficient cache management strategy for address mappings in flash translation layer. In: Proceedings of the International Workshop on Advanced Parallel Processing Technologies. 2013, 146–159

    Chapter  Google Scholar 

  11. Park D, Debnath B, Du D. CFTL: an adaptive hybrid flash translation layer with efficient caching strategies. IEEE Transactions on Computers, 2011, 1–15

    Google Scholar 

  12. Yang M C, Chang Y M, Tsao C W, Huang P C, Chang Y H, Kuo T W. Garbage collection and wear leveling for flash memory: past and future. In: Proceedings of the International Conference on Smart Computing (SMARTCOMP). 2014, 66–73

    Google Scholar 

  13. Yang M C, Chang Y H, Tsao C W, Huang P C. New era: new efficient reliability-aware wear leveling for endurance enhancement of flash storage devices. In: Proceedings of the 50th Annual Design Automation Conference. 2013

    Google Scholar 

  14. Hu Y, Jiang H, Feng D, Tian L, Luo H, Ren C. Exploring and exploiting the multilevel parallelism inside SSDs for improved performance and endurance. IEEE Transactions on Computers, 2013, 62(6): 1141–1155

    Article  MathSciNet  MATH  Google Scholar 

  15. Jung M, Kandemir M T. Sprinkler: maximizing resource utilization in many-chip solid state disks. In: Proceedings of the 20th IEEE International Symposium on High Performance Computer Architecture. 2014, 524–535

    Google Scholar 

  16. Chen F, Koufaty D A, Zhang X. Understanding intrinsic characteristics and system implications of flash memory based solid state drives. ACM SIGMETRICS Performance Evaluation Review, 2009, 37(1): 181–192

    Google Scholar 

  17. Jung M. Exploring parallel data access methods in emerging nonvolatile memory systems. IEEE Transactions on Parallel and Distributed Systems, 2017, 28(3): 746–759

    Article  Google Scholar 

  18. Chen F, Lee R, Zhang X. 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. 2011, 266–277

    Google Scholar 

  19. Jung M, Wilson III E H, Kandemir M. Physically addressed queueing (PAQ): improving parallelism in solid state disks. ACM SIGARCH Computer Architecture News, 2012, 40(3): 404–415

    Article  Google Scholar 

  20. Hu Y, Jiang H, Feng D, Tian L, Luo H, Zhang S. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. In: Proceedings of the International Conference on Supercomputing. 2011, 96–107

    Google Scholar 

  21. Xie X, Wei D, Li Q, Song Z, Xiao L. CER-IOS: internal resource utilization optimized I/O scheduling for solid state drives. In: Proceedings of the 21st IEEE International Conference on Parallel and Distributed Systems. 2015, 336–343

    Google Scholar 

  22. Gao C, Shi L, Zhao M, Xue C J, Wu K, Sha E H. Exploiting parallelism in I/O scheduling for access conflict minimization in flash-based solid state drives. In: Proceedings of the 30th Symposium on Mass Storage Systems and Technologies. 2014, 1–11

    Google Scholar 

  23. Nam E H, Kim B S J, Eom H, Min S L. Ozone (O3): an out-of-order flash memory controller architecture. IEEE Transactions on Computers, 2011, 60(5): 653–666

    Article  MathSciNet  Google Scholar 

  24. Tanenbaum A S. Modern Operating Systems. New Jersey: Prentice Hall, 2009

    MATH  Google Scholar 

  25. Yu Y J, Shin D I, Eom H, Yeom H Y. NCQ vs. I/O scheduler: preventing unexpected misbehaviors. ACM Transactions on Storage, 2010, 6(1): 2

    Google Scholar 

  26. Park S, Shen K. FIOS: a fair, efficient flash I/O scheduler. In: Proceedings of the 10th USENIX Conference on File and Storage Technologies. 2012

    Google Scholar 

  27. Shen K, Park S. Flashfq: a fair queueing I/O scheduler for flashbased SSDs. In: Proceedings of USENIX Annual Technical Conference. 2013, 67–78

    Google Scholar 

  28. Guo J, Hu Y, Mao B, Wu S. Parallelism and garbage collection aware I/O scheduler with improved SSD performance. In: Proceedings of IEEE International Conference on Parallel and Distributed Processing Symposium. 2017, 1184–1193

    Google Scholar 

  29. Narayanan D, Donnelly A, Rowstron A. Write off-loading: practical power management for enterprise storage. ACM Transactions on Storage, 2008, 4(3): 10

    Article  Google Scholar 

  30. Kim J, Oh Y, Kim E, Choi J, Lee D, Noh S H. Disk schedulers for solid state drivers. In: Proceedings of the 7th ACM International Conference on Embedded Software. 2009, 295–304

    Chapter  Google Scholar 

  31. Mao B, Wu S. Exploiting request characteristics and internal parallelism to improve SSD performance. In: Proceedings of the 33rd IEEE International Conference on Computer Design. 2015, 447–450

    Google Scholar 

Download references

Acknowledgements

This work was supported in part by the Advanced Research Project of China (31511010202) and the National Key Research and Development Program of China (2016YFB0200203).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Liquan Xiao.

Additional information

Xuchao Xie is currently a PhD candidate in the College of Computer at the National University of Defense Technology, China. His current research interests include high-performance computing, file and storage systems with solid-state drives, and shingled magnetic recording drives.

Liquan Xiao received his MS and PhD degrees in computer science from the National University of Defense Technology (NUDT), China. Currently he is a professor at NUDT. His research interests include architectures of high-performance computing, high-speed interconnected networks, system integration, and power management.

Dengping Wei received her MS and PhD degrees in computer science from the National University of Defense Technology (NUDT), China in 2005 and 2011, respectively. Currently she is an assistant professor in the College of Computer, NUDT. Her research interests mainly involve high-performance computing, storage technology, and big data.

Qiong Li is currently a professor in College of Computer, National University of Defense Technology (NUDT), China. She received her MS and PhD in computer science from NUDT. Her current research interests include high performance computing and storage technology.

Zhenlong Song is an associate professor in the College of Computer at the National University of Defense Technology (NUDT), China. He received his PhD degree from the NUDT. His current research interests include high-performance computing and storage technology.

Xiongzi Ge received his PhD degree in computer science from the University of Minnesota, USA in 2017, and a PhD in computer architecture from Huazhong University of Science and Technology, China in 2012. Since 2016, he has been a fulltime researcher in the Advanced Technology Group at NetApp, Inc. His major research interests include big data processing, cloud computing, and data storage systems.

Electronic supplementary material

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Xie, X., Xiao, L., Wei, D. et al. Pinpointing and scheduling access conflicts to improve internal resource utilization in solid-state drives. Front. Comput. Sci. 13, 35–50 (2019). https://doi.org/10.1007/s11704-018-7113-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-018-7113-1

Keywords

Navigation