Logical data packing for multi-chip flash-memory storage systems

The multi-chip architecture is a popular development trend to let flash storage devices support both high access parallelism and large storage capacity. Nevertheless, the adoption of multi-chip architecture might contradict the design goal of some existing designs. For example, parallel accesses/writes to multiple chips could hinder the outcome of hot/cold data separation. Different from the existing hot/cold separation designs that only separate frequently accessed data from infrequently accessed ones, this work puts forward the concept of logical data packing to improve the performance of multi-chipped flash storage devices. In particular, by capturing both temporal and spatial localities of data accesses, the proposed logical data packing design can proactively store data in proper physical space so that the data migration overheads during garbage collection can be minimized. The proposed scheme was evaluated based on representative realistic workloads. The results show that the proposed design can improve the device performance by 5%-61% and extend the device lifetime by 6.5%-15.5%.

[1]  Sang-Won Lee,et al.  A log buffer-based flash translation layer using fully-associative sector translation , 2007, TECS.

[2]  Zili Shao,et al.  A Two-Level Caching Mechanism for Demand-Based Page-Level Address Mapping in NAND Flash Memory Storage Systems , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[3]  阿米尔·班 Flash File System , 1994 .

[4]  Hyojun Kim,et al.  BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage , 2008, FAST.

[5]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.

[6]  Nikolai Joukov,et al.  A nine year study of file system and storage benchmarking , 2008, TOS.

[7]  Sang Lyul Min,et al.  A space-efficient flash translation layer for CompactFlash systems , 2002, IEEE Trans. Consumer Electron..

[8]  Mahmut T. Kandemir,et al.  Physically addressed queueing (PAQ): Improving parallelism in solid state disks , 2012, 2012 39th Annual International Symposium on Computer Architecture (ISCA).

[9]  Tei-Wei Kuo,et al.  Improving Flash Wear-Leveling by Proactively Moving Static Data , 2010, IEEE Transactions on Computers.

[10]  Jin-Soo Kim,et al.  FAB: flash-aware buffer management policy for portable media players , 2006, IEEE Transactions on Consumer Electronics.

[11]  Tei-Wei Kuo,et al.  An adaptive striping architecture for flash memory storage systems of embedded systems , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[12]  Jin-Soo Kim,et al.  An empirical study of hot/cold data separation policies in solid state drives (SSDs) , 2013, SYSTOR '13.

[13]  Ruei-Chuan Chang,et al.  Using data clustering to improve cleaning performance for flash memory , 1999 .

[14]  Li-Pin Chang,et al.  On efficient wear leveling for large-scale flash-memory storage systems , 2007, SAC '07.

[15]  David Hung-Chang Du,et al.  Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[16]  David Hung-Chang Du,et al.  Hot data identification for flash-based storage systems using multiple bloom filters , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).