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.
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Jeffrey Katcher. 1997. PostMark: A New File System Benchmark. Technical Report. Network Appliance.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Micron Technology, Inc. 2008. Technical Note: Wear-Leveling Techniques in NAND Flash Devices. TN-29-42. Micron.Google Scholar
- Micron Technology, Inc. 2010a. Application Note: Wear Leveling in NAND Flash Memory. AN1822. Micron.Google Scholar
- Micron Technology, Inc. 2010b. MT29E256G08CMCAB NAND Flash Memory Datasheet. Micron.Google Scholar
- Micron Technology, Inc. 2010c. MT29F128G08AMCAB NAND Flash Memory Datasheet. Micron.Google Scholar
- Microsoft Corporation. 2008a. Microsoft Enterprise Traces. Retrieved March 27, 2016, from http://iotta.snia.org/traces/130.Google Scholar
- Microsoft Corporation. 2008b. Microsoft Production Server Traces. Retrieved March 27, 2016, from http://iotta.snia.org/traces/158.Google Scholar
- Microsoft Corporation. 2008c. MSR Cambridge Traces. Retrieved March 27, 2016, from http://iotta.snia.org/traces/388.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- William D. Norcott. 2014. IOzone File System Benchmark. Retrieved March 9, 2014, from http://www.iozone.org.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- UMass Trace Repository. 2014. UMass Trace Repository Home Page. Retrieved March 27, 2016, from http://traces.cs.umass.edu.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Performance Evaluation of Dynamic Page Allocation Strategies in SSDs
Recommendations
CosaFS: A Cooperative Shingle-Aware File System
Special Issue on MSST 2017 and Regular PapersIn this article, we design and implement a cooperative shingle-aware file system, called CosaFS, on heterogeneous storage devices that mix solid-state drives (SSDs) and shingled magnetic recording (SMR) technology to improve the overall performance of ...
Exploiting Sequential and Temporal Localities to Improve Performance of NAND Flash-Based SSDs
NAND flash-based Solid-State Drives (SSDs) are becoming a viable alternative as a secondary storage solution for many computing systems. Since the physical characteristics of NAND flash memory are different from conventional Hard-Disk Drives (HDDs), ...
DA-GC: A Dynamic Adjustment Garbage Collection Method Considering Wear-leveling for SSD
GLSVLSI '20: Proceedings of the 2020 on Great Lakes Symposium on VLSINAND Flash-based solid-state drive (SSD) typically require a garbage collection operation to reclaim invalid data to reuse invalid pages and also need to introduce wear-leveling mechanisms to avoid excessive wear on some flash blocks. Through these ...
Comments