FTL Layer and LLD Layer

3 Jun

 Embedded system consists of a microprocessor, storage devices, bus standard, I / O peripherals constitute the majority. As the manufacturing process matures and the continuous optimization of the architecture, and now both for low-end applications or high-end applications, ranging from 8-64, has a great range of choices, very good to perform complex data processing. What is needed now is more of how to effectively store and manage more and more data, with the large capacity storage needs increasingly urgent, NANDFlash because of its own characteristics become embedded devices, especially consumer handheld embedded The main equipment storage solution. For the current study NANDFlash focused on two major pieces of hardware and software and hardware aspects of the study hopes to make a step to increase storage capacity and improve data access speed and reliability, lower manufacturing costs, the manufacturers of unified standards; software The research focuses on how to achieve a better NANDFlash drivers. NANDFlash drivers were involved in a lot of issues, such as how to better garbage collection, load balancing, bad block management. This paper describes our NANDFlash storage system driver design is mainly based on the Linux operating system.

The overall design of the storage system NANDFlash

NANDFlash hierarchical storage system which the user layer, the core layer and the hardware layer components: user layer is a direct contact with the user, the actual read and write requests made to memory applications, such as cp, rm other orders, such as the memory is read Write requesting application; kernel layer including file systems, such as EXT3, EXT2, FAT32 file system, etc., because we in the next block device layer to achieve a flash translation layer (FTL), so the file system can use any generic file system, without the need for the use of special NANDFlash file systems, such as JFFS2, etc., block device driver layer, mainly to achieve a unified Linux block device driver, mainly to complete the block device registration, define a block device operation, the request processing and so on, NANDFlash device driver layer, where NANDFlash device driver is divided into FTL (flash translation layer) layer and the LLD (lowleveldriver) layer, because NANDFlash is a special storage device has its own characteristics, different from the general block device, so you need FTL layer for a conversion and translation function, so the upper block can be as general as to the operation of the device to operate the NANDFlash such a characteristic NANDFlash or more layers is transparent for FTL invisible, LLD layer is mainly used to directly drive controller to complete the bottom of the specific operation, such as basic page read, page write, block erase and other operations; hardware layer consists NANDFlash controller and specific NANDFlash chip.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: