- SFTL
With the wide applicability of
flash memory in various application domains, reliability has become a very critical issue. The SFTL is motivated by the needs to resolve the lifetime problem of flash memory and a strong demand in turning thrown-away flash-memory chips into downgraded products. A set-based mapping strategy is proposed with an effective implementation and low resource requirements, such asSRAM . A configurable management design and the wear-leveling issue are considered. The behavior of the proposed method is also analyzed with respect to popular implementations in the industry. By applying SFTL, The endurance of flash memory can be significantly improved by a series of experiments over a realistic trace. Meanwhile, the read performance is even largely improved in the experiments.Overview
Under the to-be-proposed reliability enhancement mechanism, physical blocks of flash memory are partitioned into physical block sets. Blocks in the
Logical Block Address (LBA) space are also partitioned into logical block sets. The size ratio of a physical block set and a logical block set is determined based on the needs in the reliability requirements and the downgrading level of the final products. Given a flash memory device of multiple banks, a possible configuration is that each physical block set consists of four blocks scattered over the four banks. When each logical block set is of two blocks, data of the two blocks can be stored in any of the four blocks of the corresponding physical block set. The mapping procedure of logical blocks (and their logical block set) into the corresponding physical blocks (and their physical block set) is processed by a Set Hash Function (SHF), a Logical Set Table (LST), a Physical Set Table (PST), and an Un-Index Table (UIT).A Set-Based Mapping Mechanism
Logical/Physical Set Tables
Given an
Logical Block Address (LBA) of a read or write request, the corresponding logical set number of the LBA is first derived by a givenhash function , referred to as the Set Hash Function (SHF). The logical set number of an LBA denotes its logical block set and is an index to the Logical Set Table (LST) so as to obtain its corresponding physical set number. The physical set number of an LBA denotes its corresponding physical block set. The corresponding entry of the physical set table serves as an index to the Un-Index Table (UIT)Physical Block Status: The Un-Index Table
The UIT is introduced to save the SRAM space and to quickly find out which logical block is stored in which physical block in a physical block set. The
SRAM requirement of the mapping mechanism depends on the number of logical block set (i.e., the number of entries in the LST) and that of physical block set (i.e., the number of bits per entry). The UIT is stored in the ROM as apart of the firmware code to save the SRAM space. The lookup service can be done in a constant time.Access Strategy and Mapping Process
For the simplicity of presentation, the handling of read and write requests are presented in terms of block-level access. Note that popular
Flash Translation Layer implementations, such asNFTL , can also be integrated with SFTL in a similar way.External links
* [http://www.onfi.org/index.html Open NAND Flash Interface Working Group]
* [http://newslab.csie.ntu.edu.tw/~flash/index.php?SelectedItem=AcademicResearches&SelectedGroup=AcademicResearches Flash-Memory Research Group]
* [http://aplawrence.com/Makwana/nonvolmem.html A Nonvolatile Memory Overview]
* [http://www.pma-show.com/2006/corporate/sandisk_review/001_sandisk_flash_memory_facility.html SanDisk Flash Memory Plant]
* [http://www.micron.com/products/nand/definingnand What is NAND Flash]
* [http://www.micron.com/products/nand/usingnand NAND Flash Applications]References
* [http://news.bbc.co.uk/2/hi/technology/3939333.stm Digital Memories Survive Extremes]
* [http://www.letsgodigital.org/en/flash_memory_cards.html Flash memory database]
Wikimedia Foundation. 2010.