posted on 2014-11-06, 11:00authored byIrfan Faisal Mir
Solid State Devices (SSDs) are becoming ubiquitous in many embedded devices due
to their features such as no moving parts, shock/temperature resistance and low power
consumption. The reliability, performance, lifespan, and verification of these devices
is an increasing issue in many application domains. Redundant Array of Independent
Disk (RAID) architectures have previously been used to increase reliability of magnetic
disk devices. Recent works have proposed re-use of RAID architectures to address
these issues in SSDs, however these have an inherent problem as all flash memory
chips wear out at the same rate due to even distribution of write operations. Existing
solutions partly solve this problem using uneven parity distribution across the array, but
suffer age-variation problems under random and sequential writes thereby decreasing
the reliability of the array as well as increasing the cost. The aim of this thesis is
to enhance the use of RAID mechanisms in SSD storage systems, and to do so in a
reliable, and efficient manner.
In this thesis the two novel mechanisms are explored that enhance data reliability in
a SSD array regardless of I/O workload characteristics. The first mechanism solves the
age convergence problem in RAID systems and quickly achieves steady-state age convergence.
The second mechanism reduces page writes, thereby increasing the lifespan
of each element in the array.
The SSD controller ( ANFS ) architecture and the associated RAID architecture
(flash-RAID) are presented. The embedded Flash Translation Layer (FTL), RAID
controller, SSD low level controller, and specialized host interface are developed on
an FPGA in synthesizable Verilog. In these architectures the concept of a forced
random write is introduced which is used to solving the age distribution problem of
pure sequential writes. It further employs a log-structured approach to control on-chip
wear-levelling, and a power-fail reliability mechanism. In addition to this a new flash
management framework is presented that increases the performance of SSD storage
systems in the exploitation of both multi-chip parallelism and out-of-order execution.
The contribution of this thesis can be summarised as follows: the presentation of
new algorithms that successfully enable the efficient and reliable RAID techniques in
SSD devices, the development of a number of techniques that enhance the performance
and reliability of flash-based file systems, the implementation of a controller in synthesizable
Verilog that employs these techniques, and the provision of a complete test bed
supporting the experiments.