| As mobile devices, social network, network of things and other applications developing rapidly, the data produced by them also showed exponential growth. With data-intensive applications emerging, it not only increased the demand for large-scale storage, but also has higher requirements on bandwidth, latency, power, reliability, and other aspects of the storage system. Due to the internal limitations of mechanical devices of the traditional disk storage devices, the performance of the disk-based storage systems are unable to meet the need of large-scale data processing on latency, bandwidth, power and so on. With its low price, high performance, non-volatile, low-power, anti-vibration characteristics, flash memory has many advantages when compared with disk. In addition, the file system contains more semantic information. If the designer can make full use of the information of the file system when designing the solid-state storage system controller, it will make a contribution to improve the performance of storage system. This paper optimizes the size of the mapping table, the channel parallelism and hot data management of flash-based storage system by co-designing the file system and the solid-state storage system controller. The tasks and innovations of this paper are as follows:1. Studied the functional architecture of the solid-state storage system controller, designed and implemented the flash controller module of synchronous operation of the flash memory chip, Flash Translation Layer(FTL) module and hot data management module.2. To make full use of DRAM space, we propose a co-design based mapping table optimization method. The solid-state storage system controller implements block mapping, while the file system implements page granularity management. The storage system maintains high performance when reducing the mapping table.3. To solve the problem that the allocation scheme of traditional solid-state storage system is very simple, we propose a co-design based channel parallelism optimization method. The solid-state storage system controller achieves specified channel write operation function, while the file system implements channel assignment. Based on these functions, this paper proposed three channel allocation schemes in the layer of file system to improve the channel parallelism.4. To improve the hot data hit ratio in the solid-state storage system controller, we propose a co-design based hot data management optimization method. This paper implement hot data identifier in file system layer by making full use of the information in the file system, while the solid-state storage system controller utilize the semantics gain from file system to guide hot data management. As a result, this paper can achieve higher cache hit rate. |