Data-assemblage: a translation-page-aware data block allocation strategy for flash-based solid state drives

Abstract

Flash-based solid state drives (SSDs) are becoming popular as the storage media in recent years. In SSDs, translation pages normally store the address mapping information for data blocks. With the increasing capacity of SSDs, the management of translation pages is becoming a critical issue. In this paper, we present Data-Assemblage, a translation-page-aware data block allocation strategy for demand-based page-level address mappings in flash-based SSDs. Data-Assemblage is motivated by two observations: First, the translation page copy operations during garbage collection may significantly degrade the system performance. Second, the allocation of data blocks will directly impact the update operations in translation pages. By assembling write requests that share the same translation page into one data block, Data-Assemblage significantly reduces the page copies of translation pages and improves the average response time while retaining its space utilization and RAM cost. We evaluate Data-Assemblage using a set of benchmarks from both real-world and synthetic traces. Experimental results show that our scheme can achieve a 90.92 % reduction in the extra translation overhead and improve system performance by 22.14 % compared with the previous work.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

References

  1. 1.

    A Simulator for various FTL schemes. http://csl.cse.psu.edu/?q=node/322

  2. 2.

    Ban A (1995) Flash file system. US patent 5,404,485

  3. 3.

    Ban A (1998) Flash-memory translation layer for NAND flash (NFTL). M-systems

  4. 4.

    Bux W (2011) System performance issues in flash-based solid-state drives. IBM Research Report

  5. 5.

    Cho H, Shin D, Eom YI (2009) KAST: K-associative sector translation for NAND flash memory in real-time systems. In: Design, Automation & Test in Europe (DATE’09), pp 507–512

  6. 6.

    Choudhuri S, Givargis T (2007) Performance improvement of block based nand flash translation layer. In: International conference on hardware/software codesign and system synthesis (CODES+ISSS’07), pp 257–262

  7. 7.

    Choudhuri S, Givargis T (2008) Deterministic service guarantees for NAND flash using partial block cleaning. In: International conference on hardware/software codesign and system synthesis (CODES+ISSS’08), pp 19–24.doi:10.1145/1450135.1450141

  8. 8.

    Chung TS, Park DJ, Park S, Lee DH, Lee SW, Song HJ (2009) A survey of flash translation layer. J Syst Archit 55(5–6), 332–343.doi:10.1016/j.sysarc.2009.03.005

  9. 9.

    Feng C, Tian L, Xiaodong Z (2011) CAFTL: a content-aware flash translation layer enhancing the lifespan of flash memory based solid state drives. In: USENIX Conference on file and storage technologies (FAST’11)

  10. 10.

    G.R. Ganger, B.W., Patt, Y.: The disksim simulation environment Version 3.0 Reference Manual

  11. 11.

    Gupta A, Kim Y, Urgaonkar B (2009) DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings. In: ASPLOS’09, pp 229–240 . doi:10.1145/1508244.1508271

  12. 12.

    Intel Corporation. Understanding the flash translation layer (FTL) specification. http://developer.intel.com

  13. 13.

    Kang JU, Jo H, Kim JS, Lee J (2006) A superblock based flash translation layer for NAND flash memory. In: International conference on embedded software (EMSOFT’06), pp 161–170. doi:10.1145/1176887.1176911

  14. 14.

    Kim J, Kim JM, Noh S, Min SL, Cho Y (2002) A space-efficient flash translation layer for CompactFlash systems. IEEE Trans Consum Electron 48(2):366–375

    Article  Google Scholar 

  15. 15.

    Lee SW, Park DJ, Chung TS, Lee DH, Park S, Song HJ (2007) A log buffer-based flash translation layer using fully-associative sector translation. ACM Trans Embed Comput Syst 6(3):18.doi:10.1145/1275986.1275990

  16. 16.

    Ma D, Feng J, Li G (2011) LazyFTL: a page-level flash translation layer optimized for NAND flash memory. In: SIGMOD’11, pp 1–12

  17. 17.

    OLTP trace from umass trace repository. http://traces.cs.umass.edu/index.php/Storage/Storage

  18. 18.

    Qin Z, Wang Y, Liu D, Shao Z (2011) A two-level caching mechanism for demand-based page-level address mapping in NAND flash memory storage systems. In: Real-time and embedded technology and applications symposium (RTAS’11), pp 157–166

  19. 19.

    Seongwook J, Jaehong K, Jaegeuk K, Jaehyuk H, Seungryoul M (2011) Sector Log: fine-grained storage management for solid state drives. In: Symposium on applied computing (SAC’11)

  20. 20.

    Shi L, Li J, Xue CJ, Yang C, Zhou X (2011) Exlru: a unified write buffer cache management for flash memory. In: EMSOFT’11, pp 339–348

  21. 21.

    Shim G, Park Y, Park KH (2011) A hybrid flash translation layer with adaptive merge for SSDs. ACM Trans Storage 6(15), 15:1–15:27

  22. 22.

    Shi L, Xue CJ, Zhou X (2011) Cooperating write buffer cache and virtual memory management for flash memory based systems. In: RTAS’11, pp 147–156

  23. 23.

    Websearch trace from umass trace repository.http://traces.cs.umass.edu/index.php/Storage/Storage

  24. 24.

    Zhang Q, Li X, Wang L, Zhang T, Wang Y, Shao Z (2013) Optimizing translation information management in nand flash memory storage systems. In: Proceedings of 18th Asia and South Pacific design automation conference, ASP-DAC ’13, pp 326–331.doi:10.1109/ASPDAC.2013.6509616

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Qi Zhang.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Zhang, Q., Li, X., Wang, L. et al. Data-assemblage: a translation-page-aware data block allocation strategy for flash-based solid state drives. Des Autom Embed Syst 17, 565–586 (2013). https://doi.org/10.1007/s10617-014-9154-5

Download citation

Keywords

  • Flash-based solid state drives
  • Flash translation layer
  • Page allocation