| While data-intensive applications of Internet,cloud computing,high performance computing and other areas bring in higher requirements on storage systems’ I/O performance,conventional mechanical hard disks have failed to meet increasingly severe storage demands.The maturity of flash memory,as well as emergence and development of flash-based SSDs(solid state drive),bring hope to alleviate the performance bottleneck caused by storage system.However,in many practical applications,flash-based SSDs are unable to make full use of the potential performance of flash memory.It is necessary to optimize the software and hardware I/O stack of flash SSDs.Meanwhile,various applications turn out with diverse workload characteristics.It is also a popular research issue to design applicationaware flash SSDs for performance optimization through utilizing workload characteristic and physical nature of flash memory.Considering the above problems,this paper proposes a method to refine the device driver and internal data layout,succeeding to improve overall performance of the PCIe flash-based SSDs.The paper’s main contributions are as follows:1)In order to exploit the parallelism of flash memory and multi-core processor advantages,we design a multiple-queue-interrupt mechanism for PCIe SSD driver.Based on the prototype system of PCIe SSD designed all by ourselves,we implement it in Linux kernel with an optimized DMA transfer method.Through this implementation,PCIe SSD’s bandwidth and IOPS can gain significant increase.2)In the context of multiple virtual machines,this paper analyzes the effect of SSD internal data layout on performance of virtual machines.In order to solve the performance interference caused by the SSD internal garbage collection and write amplification,we design the SSD internal data layout and management policy based on the semantic of virtual machines,guaranteeing the VMs reaching estimated performance.By isolating the over-provisioning space for GC(garbage collection),we reduce the cost of GC and write amplification so as to extend the lifetime of SSD. |