Samsung V1.3.0 User Manual

Page 11

Advertising
background image

4. Writing the sector data to the modified page

These sequences of operations are not atomic, so a write request to this block device driver
is prone to data corruption. For this reason, read-only file systems such as CRAMFS are

adequate to run on top of this block device driver.

STL Block Device Driver: This block device driver is used to provide driver functions for
the device files /dev/stl0/*, /dev/stl1/* and so on. Since there is FTL between this block

device driver and BML, it is allowed to perform random write requests and write requests
are handled atomically. Thus any read-write file system (e.g. RFS) can run on this block

device driver.

…

XSR core

XSR core is composed of two layers: STL (Sector Translation Layer) and BML (Block Management

Layer). STL is a top layer of XSR. BML is below the STL. These layers have different features
and jointly provide block device interface to upper layer. The main features of each layer are

as follows.

STL (Sector Translation Layer): translates a logical address from the file system into the
virtual flash address. It internally has wear-leveling

1

during the address translation.

BML (Block Management Layer): translates the virtual address from the upper layer into

the physical address. At this time, BML does the address translation in consideration of bad
block and the number of NAND device in use. BML accesses LLD

2

, which actually performs

read, write, or erase operation, with the physical address.

Note

Each layer of XSR can be operated separately as a module. Thus, STL can be used with
other layer, which has same functionalities with BML.

…

OAM (OS Adaptation Module)

OAM is at the right of the figure. OAM connects XSR with the OS. OAM needs to be configured
according to your OS environment to use NAND flash memory. OAM module is already

configured with RFS for Linux.

…

PAM (Platform Adaptation Module)

PAM is below OAM. PAM connects XSR with the platform. PAM also needs to be configured

according to your platform to use NAND flash memory.

…

LLD (Low Level Driver)

There is a low level device driver between BML and NAND flash memory. It reads, writes, or

erases data on the physical sector address received from XSR and is controlled by BML.



„

1

Wear-leveling is an internal operation to use every block of NAND flash memory evenly through the

algorithm. It extends NAND flash memory life span.
„

2

LLD is an abbreviation of Low Level Device Driver. It performs actual read/write/erase operation to

NAND flash memory as a device driver.

3

Linux

RFS

v1.3.0

Porting

Guide

Advertising