Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

BLAS: Block-level adaptive striping for solid-state drives

Published: 28 March 2014 Publication History

Abstract

Increasing the degree of parallelism and reducing the overhead of garbage collection (GC overhead) are the two keys to enhancing the performance of solid-state drives (SSDs). SSDs employ multichannel architectures, and a data placement scheme in an SSD determines how the data are striped to the channels. Without considering the data access pattern, existing fixed and device-level data placement schemes may have either high GC overhead or poor I/O parallelism, resulting in degraded performance. In this article, an adaptive block-level data placement scheme called BLAS is proposed to maximize the I/O parallelism while simultaneously minimizing the GC overhead. In contrast to existing device-level schemes, BLAS allows different data placement policies for blocks with different access patterns. Pages in read-intensive blocks are scattered over various channels to maximize the degree of read parallelism, while pages in each of the remaining blocks are attempted to be gathered in the same physical block to minimize the GC overhead. Moreover, BLAS allows the placement policy for a logical block to be changed dynamically according to the access pattern changes of that block. Finally, a parallelism-aware write buffer management approach is adopted in BLAS to maximize the degree of write parallelism. Performance results show that BLAS yields a significant improvement in the SSD response time when compared to existing device-level schemes. In particular, BLAS outperforms device-level page striping and device-level block striping by factors of up to 8.75 and 7.41, respectively. Moreover, BLAS achieves low GC overhead and is effective in adapting to workload changes.

References

[1]
T. Austin, E. Larson, and D. Ernst. 2002. SimpleScalar: An infrastructure for computer system modeling. IEEE Computer 35, 2, 59--67.
[2]
K. Bates and B. McNutt. 2007. OLTP I/O Traces. http://traces.cs.umass.edu/index.php/storage/storage.
[3]
L. P. Chang and T. W. Kuo. 2002. An adaptive striping architecture for flash memory storage systems of embedded systems. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium. 187--196.
[4]
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, 6--41.
[5]
C. T. ChangCheng, H. H. Chen, and D. W. Chang. 2012. DuLASP: A workload-aware flash translation layer exploiting both temporal and spatial localities. In Proceedings of the IEEE Embedded and Real-Time Computing Systems and Applications. 388--391.
[6]
F. Chen, R. Lee, and X. Zhang. 2011. Essential roles of exploiting internal parallelism of flash memory based. In Proceeding of the 17th International Conference on High-Performance Computer Architecture. 266--277.
[7]
M. L. Chiang and R. C. Chang. 1999, Cleaning policies in mobile computers using flash memory. J. Syst. Architect. 48, 3, 213--231.
[8]
M. L. Chiao and D. W. Chang. 2011. ROSE: A novel flash translation layer for NAND flash memory based on hybrid address translation. IEEE Tran. Comput. 60, 6, 753--766.
[9]
T. Devesh, B. Simona, S. V. Sudharshan, K. Youngjae, M. Xiaosong, J. D. Peter, and S. Yan. 2013. Active flash: Towards energy-efficient, in-situ data analytics on extreme-scale machines. In Proceedings of the 11th USENIX Conference on File and Storage Technologies. 119--132.
[10]
A. Gupta, Y. Kim, and B. 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. 229--240.
[11]
Y. Hu, H. Jiang, D. Feng, L. Tian, H. Luo, and S. Zhang. 2011. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. In Proceedings of the 11th International Conference on Supercomputing. 96--107.
[12]
D. Jung, J. U. Kang, H. Jo, J. S. Kim, and J. Lee. 2010. Superblock FTL: A superblock-based flash translation layer with a hybrid address translation scheme. ACM Trans. Embed. Comput. Syst. 9, 4, 1--41.
[13]
J. U. Kang, J. S. 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.
[14]
S. Kang, S. Park, H. Jung, H. Shim, and J. Cha. 2009. Performance trade-offs in using NVRAM write buffer for flash memory-based storage devices. IEEE Tran. Comput. 58, 6, 744--758.
[15]
H. Kim and S. Ahn. 2008. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proceedings of the 6th USENIX Conference on File and Storage Technologies. 1--14.
[16]
S. Lee, D. Shin, Y. J. Kim, and J. Kim. 2008. LAST: Locality-aware sector translation for NAND flash memory-based storage systems. SIGOPS Oper. Syst. Rev. 42, 6, 36--42.
[17]
Microsoft. 2009. SSD Extension for DiskSim Simulation Environment. http://research.microsoft.com/en-us/downloads/b41019e2-1d2b-44d8-b512-ba35ab814cd4/.
[18]
Microsoft. 2011. SQLIOSim. http://support.microsoft.com/kb/231619.
[19]
ONFI. 2007. Open NAND flash interface. http://www.onfi.org/documentation.html.
[20]
C. Park, W. Cheon, J. Kang, K. Roh, W. Cho, and J. S. Kim. 2008. A reconfigurable FTL (flash translation layer) architecture for NAND flash-based applications. ACM Tran. Embed. Comput. Syst. 7, 4, 38--60.
[21]
C. Park, P. Talawar, D. Won, M. J. Jung, J. B. Im, S. Kim, and Y. Choi. 2006. A high performance controller for NAND flash-based solid state disk (NSSD). In Proceeding of the 21st IEEE Non-Volatile Semiconductor Memory Workshop. 17--20.
[22]
H. Park and D. Shin. 2010. Buffer flush and address mapping scheme for flash memory solid-state disk. J. Syst. Archit. 56, 4, 208--220.
[23]
S. H. Park, J. W. Park, S. D. Kim, and C. C. Weems. 2012. A pattern adaptive NAND flash memory storage structure. IEEE Trans. Comput. 16, 1, 134--138.
[24]
S. K. Park, Y. Park, G. Shim, and K. H. Park. 2011. CAVE: Channel-aware buffer management scheme for solid state disk. In Proceedings of the 26th ACM Symposium on Applied Computing. 346--353.
[25]
S. Park, E. Seo, J. Y. Shin, S. Maeng, and J. Lee. 2010. Exploiting internal parallelism of flash-based SSDs. IEEE Comput. Architect. Lett. 9, 1, 9--12.
[26]
J. Ryu, Y. Joo, S. Park, H. Shin, and K. G. Shin. 2011. Exploiting SSD parallelism to accelerate application launch on SSDs. IEEE Electron. Lett. 47, 5, 313--315.
[27]
Samsung. 2008. 2G × 8 Bit/4G × 8 Bit/8G × 8 Bit NAND Flash Memory. http://tec.icbuy.com/upload/database/2007-09/0709031723090581428001188811389.pdf.
[28]
Y. J. Seong, E. H. Nam, J. H. Yoon, H. Kim, J. Choi, S. Lee, Y. H. Bae, J. Lee, Y. Cho, and S. L. Min. 2010. Hydra: A block-mapped parallel flash memory solid-state disk architecture. IEEE Trans. Comput. 59, 7, 905--921.
[29]
J. Y. Shin, Z. L. Xia, N. Y. Xu, R. Gao, X. F. Cai, S. Maeng, and F. H. Hsu. 2009. FTL design exploration in reconfigurable high-performance SSD for server applications. In Proceedings of the 23rd International Conference on Supercomputing. 338--349.
[30]
J. H. Wang, H. H. Chen, W. J. Su, and D. W. Chang. 2011. Cross-layer optimizations in solid state drives. IEEE Embed. Syst. Lett. 3, 4, 109--112.
[31]
C. H. Wu. 2010. A self-adjusting flash translation layer for resource-limited embedded systems. ACM Trans. Embed. Comput. Syst. 9, 4, 1--26.
[32]
C. H. Wu and H. H. Lin. 2012. Timing analysis of system initialization and crash recovery for a segment-based flash translation layer. ACM Trans. Des. Autom. Electron. Syst. 17, 2, 14--34.
[33]
C. H. Wu and T. W. Kuo. 2006. An adaptive two-level management for the flash translation layer in embedded systems. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design. 601--606.
[34]
G. Wu, B. Eckart, and X. He. 2010. BPAC: An adaptive write buffer management scheme for flash-based solid state drives. In Proceedings of the IEEE 26th Symposium on Mass Storage Systems and Technologies. 1--6.

Cited By

View all
  • (2017)SUPAACM Transactions on Storage10.1145/312990113:4(1-30)Online publication date: 14-Nov-2017
  • (2017)vFlash: Virtualized Flash for Optimizing the I/O Performance in Mobile DevicesIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2016.261888136:7(1203-1214)Online publication date: 16-Jun-2017
  • (2016)Exploiting Page Correlations for Write Buffering in Page-Mapping Multichannel SSDsACM Transactions on Embedded Computing Systems10.1145/281562215:1(1-25)Online publication date: 13-Jan-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Design Automation of Electronic Systems
ACM Transactions on Design Automation of Electronic Systems  Volume 19, Issue 2
March 2014
314 pages
ISSN:1084-4309
EISSN:1557-7309
DOI:10.1145/2597648
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

Journal Family

Publication History

Published: 28 March 2014
Accepted: 01 January 2014
Revised: 01 May 2013
Received: 01 December 2012
Published in TODAES Volume 19, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. NAND flash memory
  2. SSD
  3. data placement
  4. write buffer

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2017)SUPAACM Transactions on Storage10.1145/312990113:4(1-30)Online publication date: 14-Nov-2017
  • (2017)vFlash: Virtualized Flash for Optimizing the I/O Performance in Mobile DevicesIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2016.261888136:7(1203-1214)Online publication date: 16-Jun-2017
  • (2016)Exploiting Page Correlations for Write Buffering in Page-Mapping Multichannel SSDsACM Transactions on Embedded Computing Systems10.1145/281562215:1(1-25)Online publication date: 13-Jan-2016
  • (2016)FastRead: Improving Read Performance for Multilevel-Cell Flash MemoryIEEE Transactions on Very Large Scale Integration (VLSI) Systems10.1109/TVLSI.2016.254221524:9(2998-3002)Online publication date: Sep-2016
  • (2015)VSSDACM Transactions on Design Automation of Electronic Systems10.1145/275556020:4(1-33)Online publication date: 28-Sep-2015
  • (2015)Lazy-RTGCACM Transactions on Design Automation of Electronic Systems10.1145/274623620:3(1-32)Online publication date: 24-Jun-2015

View Options

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