FTL and NANDFlash Driver

8 May

The embedded system is mainly composed of a few large part of the microprocessor, storage devices, bus standard, I / O peripheral. With the continuous optimization of manufacturing processes mature and architecture, both for low-end applications or high-end applications, from 8-64, there are a range of choices, very good to complete the complex data processing. What is needed now more is how to effectively store and manage more and more data, with the increasingly urgent demand for high-capacity storage, nandflash become embedded devices because of its own characteristics, especially consumer handheld embedded the most important storage solutions. Against NANDFlash mainly concentrated in two major pieces of hardware and software, the hardware aspects of the study hope to make every step to increase storage capacity and improve the read and write speed and data reliability, reduce manufacturing costs, unified standard of the manufacturers; software The research focuses on how to to a better NANDFlash driver. The driver NANDFlash involves a lot of problems, such as how to better garbage collection, load balancing, bad block management. In this paper, to introduce our NANDFlash storage system driver design, is mainly based on the Linux operating system.

NANDFlash the overall design of the storage system

NANDFlash storage hierarchy of the system by the user layer, the core layer and the hardware layer: the user layer is the direct contact with the user, the actual

Application of the memory read and write requests, commands such as cp, rm, etc. For example, the memory read and write requests application; core layer including file systems, such as ext3, ext2, FAT32 file system, because we in the next the block device layer to achieve a flash translation layer (FTL), the file system can be any common file system, without the need for special NANDFlash file system, such as JFFS2 block device driver layer, to achieve a unified Linux block device drivers, mainly to complete the block device registration, as defined block device operation, the request processing work NandFlash device driver layer, in here to NANDFlash the device driver is divided into the the layer of FTL (flashtranslationlayer) with LLD (lowleveldriver) layer, due to NANDFlash a special storage equipment, has its own characteristics, different from the general block device FTL layer so it is necessary to perform a conversion and translation function, so that the upper layer can operate as the general block device to NANDFlash operate, making NANDFlash characteristic of the FTL layer is transparent and invisible, LLD layer is mainly used to directly drive the controller to complete the bottom of the specific operation, for example, the most basic page read, page write, block erase operation; hardware layer by NANDFlash control and the specific NANDFlash chip composition.



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: