Font Size: a A A

Performance Optimization And Linux Driver Design For High Performance SSD

Posted on:2013-05-12Degree:MasterType:Thesis
Country:ChinaCandidate:H ChenFull Text:PDF
GTID:2268330422474339Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the vigorous development of information technology, it is difficult for the tra-ditional storage system to meet the challenge of explosive growth of data. Traditionalmagnetic disks have bottlenecks of the storage system because of low capacity and hugeaccess latency. Flash memory has low latency and hight bandwidth and it is becomingmore and more popular. SSD based on flash memory is replacing traditional disk due toits excellent performance and it has received widespread attention.This thesis focuses on the research of driver design, multi-channel scheduling andreliability of SSD. The main researches of this thesis are as follows:(1) This thesis design and implement the Linux driver for our PCIe SSD.Nowadays mainstream SSD uses the same interface with the traditional hard disk,such as SATA and SAS. While maintaining compatibility with the traditional storage sys-tem, it limits the full play of SSD performance. PCIe SSD can take full advantage ofthe flash concurrency features and improve SSD’s read and write performance greatly.How-ever, PCIe SSD is relatively new, there is no uniform standard in the industry andcurrent storage system drivers do not apply to PCIe SSD. In order to study PCIe SSDtechnology, we have produced a PCIe SSD. In this paper we introduce the design andimplementa-tion of a driver for our PCIe SSD under Linux operating system. Our driverignores the SCSI/ATA layer and re-design request format, in this way we can streamlinethe driver level and reduce the overhead of protocol conversions. In order to explore thepotential for parallel operations, we re-design the request queue.(2) This thesis addresses a scheduling policy for write operations among channels ofSSD.The policy records the quantity of data that has been written to each channel, eachtime the controller write data from write buffer to the channel with the minimum amountof data. DRAM is divided into two parts, read buffer and writer buffer. While processingwrite requests, data is simply written to the write buffer. If the data size in write bufferexceeds a threshold limit, a data-refresh operation is triggered which wipes the data out tosomechanneluntilthedatasizedropsdowntoalowerlimit. Meanwhile,areadpreferencepolicy is adopted. When a read and a write wants to gain access to a channel at thesame time, the controller issues the read first. Tests show that, compared with dynamic scheduling policy, this policy can ensure the balance the quantity of data that has beenwritten to each channel and reduce read latency.(3) This thesis propose a hybrid array consisting of SSDs and HDDs.SSD has been widely deployed due to its high performance. But, the cost and relia-bility have not met the demand of large-scale storage systems. RAID is the conventionalscheme used to enhance reliability. However, existing RAID schemes are not effectivefor SSDs anymore. Instead, we propose a hybrid array consisting of SSDs and HDDs:SSDs are used for responding to I/O requests, HDDs supply backup for SSDs. The hybridarray guarantees both performance and reliability at a reasonable cost. However, HDDslose to SSDs in term of both latency and bandwidth. Therefore, we employ a nonvolatilememorytobridgethelatencygap, andtakeothertwomeasurestoimproveHDD’sband-width. First, workloads within an HDD are reconfigured to be more sequential. Second,multiple HDDs collaborate with each other to supply much higher aggregate bandwidth.By these ways, HDDs can replicate SSDs’data in time. We implement a prototype toevaluate the proposed array. First of all, we demonstrate that, the hybrid array is feasible.Then, we compare the hybrid array with other solutions. Experimental results show that,the hybrid array covers both performance and reliability, and is also cost-effective.
Keywords/Search Tags:Flash Memory, PCIe SSD, Linux Driver, Multi-Channel, Relia-bility
PDF Full Text Request
Related items