SFTL

From Wikipedia, the free encyclopedia

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 as SRAM. 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.

Contents

[edit] 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).

[edit] A Set-Based Mapping Mechanism

[edit] 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 given hash 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)

[edit] 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 a part of the firmware code to save the SRAM space. The lookup service can be done in a constant time.

[edit] 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 as NFTL, can also be integrated with SFTL in a similar way.

[edit] External links

[edit] References