Font Size: a A A

Research And Implementation Of Flash Management Algorithm

Posted on:2020-11-09Degree:MasterType:Thesis
Country:ChinaCandidate:K C LiFull Text:PDF
GTID:2428330572968414Subject:Electronic Science and Technology
Abstract/Summary:PDF Full Text Request
Solid State Drivers(SSDs)use semiconductors as storage media.It does not need to relay any mechanical devices and seeks,which reduces the delay of I/O request access,and it gradually replaces the mechanical hard disk with the advantages of low power consumption,shock resistance,and small size.Most of SSDs use NAND Flash as the storage medium.The storage method of NAND Flash depends on its physical characteristics.The existing file system cannot directly access or operate the SSD.A software layer needs to be added between the NAND Flash and the file system in order to access the SSD like a mechanical hard disk.Meanwhile,the software layer is also called the Flash Translation Layer(FTL).The FTL algorithm is critical to the overall SSD,and the quality of the FTL will directly affect the performance of the entire product.Firstly,the physical structure and working principle of NAND Flash are introduced.Then,several important modules and their functions in FTL algorithm are introduced.Finally,through the research and analysis of several existing address mapping algorithm,the FTL algorithm of this dissertation is designed by using S666 controller hardware resources and NAND Flash storage characteristics.This dissertation optimizes the FTL algorithm from the six functional modules of address mapping,garbage collection,wear leveling,factory bad block management,error handling and power-on recovery,and the algorithm is mass-produced into NAND Flash in the form of firmware.Then the SSD controller is used to test the feasibility of the algorithm.In the address mapping,CMT,GMT,GTD and CMTnum are designed to optimize addressing.By adding the LEN attribute column to the CMT,multiple consecutive mapping records can be combined into one to effectively reduce the occupation of the cache slot;CMTnum records the number of mapping units in the CMT,and batches out the mapping units in the CMT according to the maximum value of CMTnum to achieve the purpose of reducing the frequency of update of the global mapping page;L2 cache can be used to service spatial local requests of file systems,improving FTL's ability to process continuous data.By performing destructive testing on NAND Flash and establishing the residual erasure number model,RECT is designed.RECT preferentially selects the physical block with the highest remaining life to ensure wear leveling and enable all physical blocks to reach the life limit at the same time.Active garbage collection completes hot and cold data exchange,and passive garbage collection reduces the cost of garbage collection by recycling physical blocks of the most invalid pages.Bad Block management(BBM)provides three ways to scan for factory bad blocks,BBM and error handling mechanisms ensure data reliability in NAND Flash.The power-on recovery system allows the SSD to recover to the situation prior to the last power-down,allowing the SSD to quickly enter the ready state when it is started again.The test results show that the algorithm is applied to the SSD,which makes the data read and write rate faster and the performance is stable.
Keywords/Search Tags:NAND Flash, Solid State Drive, Flash Translation Layer, Address Mapping
PDF Full Text Request
Related items