World Journal of Computer Application and Technology 2(2): 52-60, 2014 http://www.hrpub.org
DOI: 10.13189/wjcat.2014.020205
Development Write Performance by Enhancing Internal
Parallelism of Solid State Drives
Mohammed I. Alghamdi
Department of Computer Science Al-Baha University, Al-Baha City, Kingdom of Saudi Arabia
*Corresponding Author: mialmushilah@bu.edu.sa
Copyright © 2014 Horizon Research Publishing All rights reserved.
Abstract Most research of Solid State Drives
architectures rely on Flash Translation Layer (FTL)
algorithms and wear leveling; however, internal parallelism
in Solid State Drives has not been well explored. In this
research, I proposed a new strategy to improve SSD write
performance by enhancing internal parallelism inside SSDs.
A SDRAM buffer is added in the design for buffering and
scheduling write requests. Because the same logical block
numbers may be translated to different physical numbers at
different times in FTL, the on-board DRAM buffer is used to
buffer requests at the lower level of FTL. When the buffer is
full, same amount of data will be assigned to each storage
package in the SSDs to enhance internal parallelism. To
accurately evaluate performance, I use both synthetic
workloads and real-world applications in experiments. I
compare the enhanced internal parallelism scheme with the
traditional LRU strategy, because it is unfair to compare an
SSD having buffer with an SSD without a buffer. The
simulation results demonstrate that the writing performance
of our design is significantly improved compared with the
LRU-cache strategy with the same amount of buffer sizes.
Keywords Networking, FTL, SSD
1. Introduction
Hard drives have been the most widely deployed storage
media for many years. Compared with hard drives, solid
state drives average cost per MB is currently much higher
[22]. Although SSDs are still not as popular as hard drives
now, they will certainly be the next preferred storage media
because of the high performance and low power cost
compared with those of HDDs. Two major challenges of
SSDs have been addressed in previous research: random
write [5] and reliability. Each block on flash-based storage
media such as SSDs and flash drives has limited erasure
times. Furthermore, each block has to be erased before it can
be rewritten. Erasure operations reduce both performance
and SSDs’ life times of SSDs [4].
People used to believe that access patterns were not
correlated to SSDs performance, but Chen, Koufaty, and
Zhang indicated that different access patterns may have
negative and positive impacts on internal parallelism [9]. A
good FTL algorithm is able to reduce the impact of access
patterns by balancing workloads at the block level.
Inter-disk parallelism on hard drives has been well studied
for decades. Data Striping, for example, is a typical solution
to enhance inter-disk parallelism. Such parallelism is
storage- media independent, meaning it is effective for hard
drive disks, SSDs, and tapes. Unlike inter-disk parallelism,
intra-disk parallelism is closely related to storage media,
therefore, intra-SSD parallelism needs to be studied despite
the fact that intra-HDD parallelism has already been well
explored [28]. Interestingly, because flash-based storage has
a unique mechanism, parallelism can be applied in multiple
levels, namely, package-level, die-level, and plane-level
[10].
Unlike Hard Drives, SSDs have Flash Translation Layers
(FTL) performing virtual-to-physical address translations.
FTL evenly spreads the erasure workload in flash-based
storage. Reliability and performance are the two major
research areas of solid state drives. Most current research
attempts to design new Flash Translation Layer algorithms to
improve reliability and enhance performance. Kim and Ahn
proposed a buffer management scheme BPLRU for
improving random write performance in flash-based storage.
BPLRU buffers improve the performance of random writes
[20]. Soundararajan and Prabhakaran presented Griffin, a
hybrid storage device, to buffer large sequential writes on
Hard Drives [29]. Park and Jung also presented write
buffer-aware address mapping for flash memory devices
[24].
Previous approaches are similar in that they use another
type of storage media as a buffer or cache. In this case, the
performance enhancement comes from faster buffers. In
aforementioned research, incoming writes are also buffered.
But the performance improvement is mainly from intra-disk
parallelism caused by interleaving. Hence, it would be unfair
to compare the enhanced-internal-parallelism write buffer
SSDs with the SSDs that have no buffer. In this paper, all
SSD configurations are exactly the same to avoid the
performance difference from faster buffers or caches.