Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Performance Evaluation of Dynamic Page Allocation Strategies in SSDs

Published: 07 June 2016 Publication History

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.
[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.
[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.
[4]
Werner Bux and Ilias Iliadis. 2010. Performance of greedy garbage collection in flash-based solid-state drives. Performance Evaluation 67, 11, 1172--1186.
[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.
[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.
[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.
[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.
[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.
[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.
[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. 10.1109/TC.2013.169
[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.
[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.
[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.
[15]
Ilias Iliadis. 2014. Rectifying pitfalls in the performance evaluation of flash solid-state drives. Performance Evaluation 79, 235--257.
[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.
[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).
[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. 10.1145/2494232.2465548
[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.
[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.
[21]
Jeffrey Katcher. 1997. PostMark: A New File System Benchmark. Technical Report. Network Appliance.
[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. TC.2012.227
[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. 10.1145/2465529.2465546
[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. s00158-003-0368-6
[25]
Micron Technology, Inc. 2008. Technical Note: Wear-Leveling Techniques in NAND Flash Devices. TN-29-42. Micron.
[26]
Micron Technology, Inc. 2010a. Application Note: Wear Leveling in NAND Flash Memory. AN1822. Micron.
[27]
Micron Technology, Inc. 2010b. MT29E256G08CMCAB NAND Flash Memory Datasheet. Micron.
[28]
Micron Technology, Inc. 2010c. MT29F128G08AMCAB NAND Flash Memory Datasheet. Micron.
[29]
Microsoft Corporation. 2008a. Microsoft Enterprise Traces. Retrieved March 27, 2016, from http://iotta.snia.org/traces/130.
[30]
Microsoft Corporation. 2008b. Microsoft Production Server Traces. Retrieved March 27, 2016, from http://iotta.snia.org/traces/158.
[31]
Microsoft Corporation. 2008c. MSR Cambridge Traces. Retrieved March 27, 2016, from http://iotta.snia.org/traces/388.
[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. 10.1109/MSST.2011.5937225
[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. TC.2010.209
[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.
[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.
[36]
William D. Norcott. 2014. IOzone File System Benchmark. Retrieved March 9, 2014, from http://www.iozone.org.
[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. 10.1109/L-CA.2010.3
[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. 1811039.1811089
[39]
Krzysztof Pawlikowski. 1990. Steady-state simulation of queueing processes: Survey of problems and solutions. ACM Computing Surveys 22, 2, 123--170.
[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. 10.1145/ 1542275.1542324
[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.
[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.
[43]
UMass Trace Repository. 2014. UMass Trace Repository Home Page. Retrieved March 27, 2016, from http://traces.cs.umass.edu.
[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.
[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.
[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.
[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).
[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.

Cited By

View all
  • (2024)The Static Allocation is Not a Static: Optimizing SSD Address Allocation Through Boosting Static PolicyIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.340736735:8(1373-1386)Online publication date: 30-May-2024
  • (2023)Exploiting Data Similarity to Improve SSD Read PerformanceApplied Sciences10.3390/app13241301713:24(13017)Online publication date: 6-Dec-2023
  • (2023)QoS-pro: A QoS-enhanced Transaction Processing Framework for Shared SSDsACM Transactions on Architecture and Code Optimization10.1145/363295521:1(1-25)Online publication date: 14-Nov-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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: 07 June 2016
Accepted: 01 September 2015
Revised: 01 September 2015
Received: 01 December 2014
Published in TOMPECS Volume 1, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Dynamic page allocation
  2. garbage collection
  3. performance evaluation
  4. solid-state drive

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)132
  • Downloads (Last 6 weeks)5
Reflects downloads up to 26 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)The Static Allocation is Not a Static: Optimizing SSD Address Allocation Through Boosting Static PolicyIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.340736735:8(1373-1386)Online publication date: 30-May-2024
  • (2023)Exploiting Data Similarity to Improve SSD Read PerformanceApplied Sciences10.3390/app13241301713:24(13017)Online publication date: 6-Dec-2023
  • (2023)QoS-pro: A QoS-enhanced Transaction Processing Framework for Shared SSDsACM Transactions on Architecture and Code Optimization10.1145/363295521:1(1-25)Online publication date: 14-Nov-2023
  • (2023)Re-aligning Across-page Requests for Flash-based Solid-state DrivesProceedings of the 52nd International Conference on Parallel Processing10.1145/3605573.3605652(736-745)Online publication date: 7-Aug-2023
  • (2023)FSPDA: A Full Sequence Program Data Allocation Scheme for Boosting 3-D nand Flash Read PerformanceIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2023.329445242:12(4336-4349)Online publication date: 1-Dec-2023
  • (2023)DAC: A dynamic active and collaborative cache management scheme for solid state disksJournal of Systems Architecture10.1016/j.sysarc.2023.102896140(102896)Online publication date: Jul-2023
  • (2022)Parallelism-Aware Channel Partition for Read/Write Interference Mitigation in Solid-State DrivesElectronics10.3390/electronics1123404811:23(4048)Online publication date: 6-Dec-2022
  • (2022)RAIL: Predictable, Low Tail Latency for NVMe FlashACM Transactions on Storage10.1145/346540618:1(1-21)Online publication date: 29-Jan-2022
  • (2022)Architecting a Flash-Based Storage System for Low-Cost Inference of Extreme-Scale DNNsIEEE Transactions on Computers10.1109/TC.2022.3209920(1-13)Online publication date: 2022
  • (2022)MQSim-E: An Enterprise SSD SimulatorIEEE Computer Architecture Letters10.1109/LCA.2022.314477321:1(13-16)Online publication date: 1-Jan-2022
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media