Integrated write buffer management for solid state drives

Sungmin Park, Jaehyuk Cha, Sooyong Kang*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

5 Citations (Scopus)


NAND flash memory-based Solid State Drives (SSD) have many merits, in comparison to the traditional hard disk drives (HDD). However, random write within SSD is still far slower than sequential read/write and random read. There are two independent approaches for resolving this problem as follows: (1) using overprovisioning so that reserved portion of the physical memory space can be used as, for example, log blocks, for performance enhancement, and (2) using internal write buffer (DRAM or Non-Volatile RAM) within SSD. While log blocks are managed by the Flash Translation Layer (FTL), write buffer management has been treated separately from the FTL. Write buffer management schemes did not use the exact status of log blocks, and log block management schemes in FTL did not consider the behavior of the write buffer management scheme. This paper first demonstrates that log blocks and write buffers maintain a tight relationship, which necessitates integrated management to both of them. Since log blocks can also be viewed as another type of write buffer, we can manage both of them as an integrated write buffer. Then we propose an Integrated Write buffer Management scheme (IWM), which collectively manages both the write buffer and log blocks. The proposed scheme greatly outperforms previous schemes in terms of write amplification, block erase count, and execution time.

Original languageEnglish
Pages (from-to)329-344
Number of pages16
JournalJournal of Systems Architecture
Issue number4
Publication statusPublished - Apr 2014
Externally publishedYes


  • Flash memory
  • Flash translation layer
  • Log block
  • Solid-state disk
  • Storage device
  • Write buffer


Dive into the research topics of 'Integrated write buffer management for solid state drives'. Together they form a unique fingerprint.

Cite this