skip to main content
research-article

Performance Evaluation of Dynamic Page Allocation Strategies in SSDs

Authors Info & Claims
Published:07 June 2016Publication History
Skip Abstract Section

Abstract

Solid-state drives (SSDs) with tens of NAND flash chips and highly parallel architectures are widely used in enterprise and client storage systems. As any write operation in NAND flash is preceded by a slow erase operation, an out-of-place update mechanism is used to distribute writes through SSD storage space to postpone erase operations as far as possible. SSD controllers use a mapping table along with a specific allocation strategy to map logical host addresses to physical page addresses within storage space. The allocation strategy is further responsible for accelerating I/O operations through better striping of physical addresses over SSD parallel resources. Proposals already exist for using static logical-to-physical address mapping that does not balance the I/O traffic load within the SSD, and its efficiency highly depends on access patterns. A more balanced distribution of I/O operations is to alternate resource allocation in a round-robin manner irrespective of logical addresses. The number of resources that can be dynamically allocated in this fashion is defined as the degree of freedom, and to the best of our knowledge, there has been no research thus far to show what happens if different degrees of freedom are used in allocation strategy. This article explores the possibility of using dynamic resource allocation and identifies key design opportunities that it presents to improve SSD performance. Specifically, using steady-state analysis of SSDs, we show that dynamism helps to mitigate performance and endurance overheads of garbage collection. Our steady-state experiments indicate that midrange/high-end SSDs with dynamic allocation can provide I/O operations per second (IOPS) improvement of up to 3.3x/9.6x, response time improvement of up to 56%/32%, and about 88%/96% average reduction in the standard deviation of erase counts of NAND flash blocks.

References

  1. J. S. Bucy, J. Schindler, S. W. Schlosser, G. R. Ganger, and Contributors. 2008. The DiskSim Simulation Environment Version 4.0 Reference Manual. Technical Report CMU-PDL-08-101. Parallel Data Laboratory, Carnegie Mellon University, Pittsburgh, PA.Google ScholarGoogle Scholar
  2. Evgeny Budilovsky, Sivan Toledo, and Aviad Zuck. 2011. Prototyping a high-performance low-cost solid-state disk. In Proceedings of the 4th Annual International Conference on Systems and Storage (SYSTOR’11). 13:1--13:10. DOI:http://dx.doi.org/10.1145/1987816.1987834 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Werner Bux, Xiao-Yu Hu, Ilias Iliadis, and Robert Haas. 2012. Scheduling in flash-based solid-state drives—performance modeling and optimization. In Proceedings of the IEEE 20th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS’13). 459--468. DOI:http://dx.doi.org/10.1109/MASCOTS.2012.58 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Werner Bux and Ilias Iliadis. 2010. Performance of greedy garbage collection in flash-based solid-state drives. Performance Evaluation 67, 11, 1172--1186. DOI:http://dx.doi.org/10.1016/j.peva.2010.07.003 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Li-Pin Chang, Tei-Wei Kuo, and Shi-Wu Lo. 2004. Real-time garbage collection for flash-memory storage systems of real-time embedded systems. ACM Transactions on Embedded Computing Systems 3, 4, 837--863. DOI:http://dx.doi.org/10.1145/1027794.1027801 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Feng Chen, Rubao Lee, and Xiaodong Zhang. 2011. Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing. In Proceedings of the IEEE 17th International Symposium on High Performance Computer Architecture (HPCA’11). 266--277. DOI:http://dx.doi.org/10.1109/HPCA.2011.5749735 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Marcelo Cintra and Niklas Linkewitsch. 2013. Characterizing the impact of process variation on write endurance enhancing techniques for non-volatile memory systems. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’13). 217--228. DOI:http://dx.doi.org/10.1145/2465529.2465755 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Laura M. Grupp, John D. Davis, and Steven Swanson. 2012. The bleak future of NAND flash memory. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). 17--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Laura M. Grupp, John D. Davis, and Steven Swanson. 2013. The harey tortoise: Managing heterogeneous write performance in SSDs. In Proceedings of the 2013 USENIX Conference on Annual Technical Conference (USENIX ATC’13). 79--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Aayush Gupta, Youngjae Kim, and Bhuvan Urgaonkar. 2009. DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XIV). 229--240. DOI:http://dx.doi.org/10.1145/1508244.1508271 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Jen-Wei Hsieh, Han-Yi Lin, and Dong-Lin Yang. 2014. Multi-channel architecture-based FTL for reliable and high-performance SSD. IEEE Transactions on Computers 63, 12, 3079--3091. DOI:http://dx.doi.org/ 10.1109/TC.2013.169 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Yang Hu, Hong Jiang, Dan Feng, Lei Tian, Hao Luo, and Chao Ren. 2013. Exploring and exploiting the multilevel parallelism inside SSDs for improved performance and endurance. IEEE Transactions on Computers 62, 6, 1141--1155. DOI:http://dx.doi.org/10.1109/TC.2012.60 Google ScholarGoogle ScholarCross RefCross Ref
  13. Yang Hu, Hong Jiang, Dan Feng, Lei Tian, Hao Luo, and Shuping Zhang. 2011. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. In Proceedings of the International Conference on Supercomputing (ICS’11). 96--107. DOI:http://dx.doi.org/10.1145/1995896.1995912 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Yang Hu, Hong Jiang, Dan Feng, Lei Tian, Shuping Zhang, Jingning Liu, Wei Tong, Yi Qin, and Liuzheng Wang. 2010. Achieving page-mapping FTL performance at block-mapping FTL cost by hiding address translation. In Proceedings of the IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST’10). 1--12. DOI:http://dx.doi.org/10.1109/MSST.2010.5496970 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Ilias Iliadis. 2014. Rectifying pitfalls in the performance evaluation of flash solid-state drives. Performance Evaluation 79, 235--257. DOI:http://dx.doi.org/10.1016/j.peva.2014.07.015Google ScholarGoogle ScholarCross RefCross Ref
  16. Myoungsoo Jung, Wonil Choi, Shekhar Srikantaiah, Joonhyuk Yoo, and Mahmut T. Kandemir. 2014. HIOS: A host interface I/O scheduler for solid state disks. In Proceedings of 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA’14). 289--300. DOI:http://dx.doi.org/10.1145/2665671.2665715 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Myoungsoo Jung and Mahmut T. Kandemir. 2012. An evaluation of different page allocation strategies on high-speed SSDs. In Proceedings of the 4th USENIX Conference on Hot Topics in Storage and File Systems (HotStorage’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Myoungsoo Jung and Mahmut T. Kandemir. 2013. Revisiting widely held SSD expectations and rethinking system-level implications. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’13). 203--216. DOI:http://dx.doi.org/ 10.1145/2494232.2465548 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Myoungsoo Jung and Mahmut T. Kandemir. 2014. Sprinkler: Maximizing resource utilization in many-chip solid state disks. In Proceedings of the IEEE 20th International Symposium on High Performance Computer Architecture (HPCA’14). 524--535. DOI:http://dx.doi.org/10.1109/HPCA.2014.6835961Google ScholarGoogle Scholar
  20. Myoungsoo Jung, Ellis H. Wilson, III, and Mahmut Kandemir. 2012. Physically addressed queueing (PAQ): Improving parallelism in solid state disks. In Proceedings of the 39th Annual International Symposium on Computer Architecture (ISCA’12). 404--415. DOI:http://dx.doi.org/10.1145/2337159.2337206 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Jeffrey Katcher. 1997. PostMark: A New File System Benchmark. Technical Report. Network Appliance.Google ScholarGoogle Scholar
  22. Sungjin Lee, Dongkun Shin, and Jihong Kim. 2013. BAGC: Buffer-aware garbage collection for flash-based storage systems. IEEE Transactions on Computers 62, 11, 2141--2154. DOI:http://dx.doi.org/10.1109/ TC.2012.227 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Yongkun Li, Patrick P. C. Lee, and John C. S. Lui. 2013. Stochastic modeling of large-scale solid-state storage systems: Analysis, design tradeoffs and optimization. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’13). 179--190. DOI:http://dx.doi.org/ 10.1145/2465529.2465546 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. Timothy Marler and Jasbir S. Arora. 2004. Survey of multi-objective optimization methods for engineering. Structural and Multidisciplinary Optimization 26, 6, 369--395. DOI:http://dx.doi.org/10.1007/ s00158-003-0368-6Google ScholarGoogle ScholarCross RefCross Ref
  25. Micron Technology, Inc. 2008. Technical Note: Wear-Leveling Techniques in NAND Flash Devices. TN-29-42. Micron.Google ScholarGoogle Scholar
  26. Micron Technology, Inc. 2010a. Application Note: Wear Leveling in NAND Flash Memory. AN1822. Micron.Google ScholarGoogle Scholar
  27. Micron Technology, Inc. 2010b. MT29E256G08CMCAB NAND Flash Memory Datasheet. Micron.Google ScholarGoogle Scholar
  28. Micron Technology, Inc. 2010c. MT29F128G08AMCAB NAND Flash Memory Datasheet. Micron.Google ScholarGoogle Scholar
  29. Microsoft Corporation. 2008a. Microsoft Enterprise Traces. Retrieved March 27, 2016, from http://iotta.snia.org/traces/130.Google ScholarGoogle Scholar
  30. Microsoft Corporation. 2008b. Microsoft Production Server Traces. Retrieved March 27, 2016, from http://iotta.snia.org/traces/158.Google ScholarGoogle Scholar
  31. Microsoft Corporation. 2008c. MSR Cambridge Traces. Retrieved March 27, 2016, from http://iotta.snia.org/traces/388.Google ScholarGoogle Scholar
  32. Muthukumar Murugan and David H. C. Du. 2011. Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead. In Proceedings of the IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST’11). 1--12. DOI:http://dx.doi.org/ 10.1109/MSST.2011.5937225 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Eyee Hyun Nam, Bryan Suk Joon Kim, Hyeonsang Eom, and Sang Lyul Min. 2011. Ozone (o3): An out-of-order flash memory controller architecture. IEEE Transactions on Computers 60, 5, 653--666. DOI:http://dx.doi.org/10.1109/ TC.2010.209 Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Dushyanth Narayanan, Austin Donnelly, and Antony Rowstron. 2008. Write off-loading: Practical power management for enterprise storage. ACM Transactions on Storage 4, 3, 10:1--10:23. DOI:http://dx.doi.org/10.1145/1416944.1416949 Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Dushyanth Narayanan, Eno Thereska, Austin Donnelly, Sameh Elnikety, and Antony Rowstron. 2009. Migrating server storage to SSDs: Analysis of tradeoffs. In Proceedings of the 4th ACM European Conference on Computer Systems (EuroSys’09). 145--158. DOI:http://dx.doi.org/10.1145/1519065.1519081 Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. William D. Norcott. 2014. IOzone File System Benchmark. Retrieved March 9, 2014, from http://www.iozone.org.Google ScholarGoogle Scholar
  37. C. Park, Euiseong Seo, Ji-Yong Shin, Seungryoul Maeng, and Joonwon Lee. 2010b. Exploiting internal parallelism of flash-based SSDs. Computer Architecture Letters 9, 1, 9--12. DOI:http://dx.doi.org/ 10.1109/L-CA.2010.3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Dongchul Park, Biplob Debnath, and David Du. 2010a. CFTL: A convertible flash translation layer adaptive to data access patterns. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’10). 365--366. DOI:http://dx.doi.org/10.1145/ 1811039.1811089 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Krzysztof Pawlikowski. 1990. Steady-state simulation of queueing processes: Survey of problems and solutions. ACM Computing Surveys 22, 2, 123--170. DOI:http://dx.doi.org/10.1145/78919.78921 Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Ji-Yong Shin, Zeng-Lin Xia, Ning-Yi Xu, Rui Gao, Xiong-Fei Cai, Seungryoul Maeng, and Feng-Hsiung Hsu. 2009. FTL design exploration in reconfigurable high-performance SSD for server applications. In Proceedings of the 23rd International Conference on Supercomputing (ICS’09). 338--349. DOI:http://dx.doi.org/ 10.1145/ 1542275.1542324 Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. John E. Shore. 1975. On the external storage fragmentation produced by first-fit and best-fit allocation strategies. Communications of the ACM 18, 8, 433--440. DOI:http://dx.doi.org/10.1145/360933.360949 Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Arash Tavakkol, Mohammad Arjomand, and Hamid Sarbazi-Azad. 2014. Design for scalability in enterprise SSDs. In Proceedings of the 23rd International Conference on Parallel Architectures and Compilation (PACT’14). 417--430. DOI:http://dx.doi.org/10.1145/2628071.2628098 Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. UMass Trace Repository. 2014. UMass Trace Repository Home Page. Retrieved March 27, 2016, from http://traces.cs.umass.edu.Google ScholarGoogle Scholar
  44. Benny Van Houdt. 2013a. A mean field model for a class of garbage collection algorithms in flash-based solid state drives. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’13). 191--202. DOI:http://dx.doi.org/10.1145/2465529.2465543 Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Benny Van Houdt. 2013b. Performance of garbage collection algorithms for flash-based solid state drives with hot/cold data. Performance Evaluation 70, 10, 692--703. DOI:http://dx.doi.org/10.1016/j.peva.2013.08.010 Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Benny Van Houdt. 2014. On the necessity of hot and cold data identification to reduce the write amplification in flash-based SSDs. Performance Evaluation 82, 1--14. DOI:http://dx.doi.org/10.1016/j.peva.2014.08.003 Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Chin-Hsien Wu, Tei-Wei Kuo, and Chia-Lin Yang. 2006. A space-efficient caching mechanism for flash-memory address translation. In Proceedings of the 9th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC’06). Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Guanying Wu and Xubin He. 2012. Reducing SSD read latency via NAND flash program and erase suspension. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). 117--124. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Performance Evaluation of Dynamic Page Allocation Strategies in SSDs

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 Modeling and Performance Evaluation of Computing Systems
    ACM Transactions on Modeling and Performance Evaluation of Computing Systems  Volume 1, Issue 2
    June 2016
    112 pages
    ISSN:2376-3639
    EISSN:2376-3647
    DOI:10.1145/2928293
    Issue’s Table of Contents

    Copyright © 2016 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: 7 June 2016
    • Revised: 1 September 2015
    • Accepted: 1 September 2015
    • Received: 1 December 2014
    Published in tompecs Volume 1, Issue 2

    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