A Garbage Collection Aware Stripping Method for Solid-State Drives
Min Huang
†
, Yi Wang
§, ‡
, Zhaoqing Liu
†
, Liyan Qiao
†
, Zili Shao
‡ ∗
†
School of Electrical Engineering and Automation, Harbin Institute of Technology
§
College of Computer Science and Software Engineering, Shenzhen University
‡
Embedded Systems and CPS Laboratory, Department of Computing, The Hong Kong Polytechnic University
Abstract— The stripping method has been widely used to serve
the requests simultaneously in Solid-State Drive (SSD). Although
most of the stripping methods can improve the I/O performance
of SSD, they will also result in the asymmetric distribution of the
requests between the logical space and physical space, This will
induce extra garbage collection operations, and will affect both
of the endurance and the I/O performance of SSDs. This paper
presents Garbage Collection Aware Stripping (GCAS), a novel
stripping method that considers the efficiency of garbage collec-
tion for NAND flash memory based SSDs. To the best of our
knowledge, this is the first work that jointly optimizes garbage
collection operation and the I/O performance of stripping meth-
ods in NAND flash memory based SSDs. We implemented GCAS
on a real hardware platform. Experiments show that GCAS can
achieve a 15.87% reduction in terms of the number of the block
erase count and can reduce 47.6% worst-case response time com-
pared with a representative stripping method.
I. INTRODUCTION
NAND flash memory based SSD (Solid State Drive) has
been widely used in both consumer electronics and enterprise
storage systems. A SSD normally consists of parallel channel-
s of NAND flash chips. This nature enables the possibility to
adopt the stripping method, a typical space allocation strate-
gy to increase the parallelism. However, NAND flash memo-
ry is one type of “out-of-place” update memory, in which the
garbage collection operation has to be triggered to reclaim free
storage space. The garbage collection operation will incur long
and unpredictable access latency. This will prevent the adop-
tion of stripping method in current NAND flash memory based
SSDs. Therefore, it is interesting to study a garbage collection
aware stripping method to reduce the extra garbage collection
operations and improve the response time of NAND flash mem-
ory based SSDs.
In the previous work, many approaches have been proposed
to increase the parallelism of SSDs. The parallelism is main-
ly achieved through the modification of different components
in current NAND flash memory architecture, e.g., the request
queue [11], SSD controller [4], and NAND flash interior [16].
Stripping method is one of the most effective ways to improve
the parallelism. Various stripping methods have been proposed,
including the widely used Round-Robin stripping method [3].
However, these previous studies do not consider the unique
∗
Zili Shao is the corresponding author.
characteristic of NAND flash memory, especially the impact
of garbage collection to the SSDs.
In this paper, we present GCAS, an efficient Garbage
Collection Aware Stripping (GCAS) method for NAND flash
memory based SSDs. Our basic idea is to take advantage of
the feature of the main stream SSD interface which could serve
the requests in the out-of-order manner, and reschedule the re-
quests to achieve the optimal address allocation. The objective
is to reduce the number of garbage collection operations with-
out incurring extra I/O performance overhead.
We have conducted a set of experiments on a real hardware
embedded platform. We have designed the MLC NAND flash
memory array and implemented the proposed garbage collec-
tion aware stripping method GCAS inside the processing sys-
tem of Xilinx Zynq on-chip programmable SoC architecture.
GCAS is compared with a representative stripping method.
The experimental results show that, GCAS can reduce up to
15.87% of the number of block erase count and avoid 47.6%
worst cases in response time compared with a representative
stripping method, while incurring negligible I/O performance
overhead.
The rest of this paper is organized as follows. Section II
discusses the background and presents the motivation of the pa-
per. Section III presents our proposed garbage collection aware
stripping method in detail. Section IV presents the experimen-
tal results. Finally, in Section V, we conclude the paper and
discuss future work.
II. MOTIVATION AND ANALYSIS
In this section, we briefly revisit the traditional garbage col-
lection process with different stripping methods and present the
motivation of this paper.
Figure 1 illustrates an example of write request severing and
garbage collection process with Round-Robin stripping method
and non-stripping method. For the illustration purpose, we as-
sume that the SSD has 2 channels and each channel contains
only 2 blocks. Each channel has to leave one free block for the
garbage collection process. In this example, write-LPN(a − b)
represents a set of sequential write requests that contain Logi-
cal Page Numbers (LPNs) from a to b.
The garbage collection process for Round-Robin stripping
method is shown in Figure 1(a). When the request of Write-
LPN(0-7) arrives, the sequential LPNs are written into physical
blocks B0 and B2. When the file system updates LPN(0-3),
garbage collection operation must be conducted to reclaim free
978-1-4799-7792-5/15/$31.00 ©2015 IEEE