Samsung V1.3.0 Tablet User Manual


 
2 Linux RFS v1.3.0 Porting Guide
Figure 1-1 Linux RFS Architecture
File
Systems
Linux file system for flash devices is managed by two file systems: CRAMFS and RFS. Both of
these file systems run under Linux VFS (Virtual File System).
CRAMFS: This is a read-only file system included in a standard Linux kernel distribution.
CRAMFS is used to manage the read-only part of Linux file system directories, i.e. execution
code, libraries, and ROM data files. Because CRAMFS supports run-time code decompression,
you can store code in a compressed form, which results in high space efficiency. CRAMFS
runs on top of the BML Block Device Driver.
RFS: This is a read-write Samsung’s file system and is used to manage the modifiable data
part of the Linux file system directories, i.e. configuration files and applications data files.
It does not support compression feature. RFS runs on top of the STL Block Device Driver.
XSR Block Device Drivers
Block device drivers are used to provide common block device APIs to file systems. For each of
the block device drivers, separate block device files provide device interface methods like
mount and format to applications. RFS needs two kinds of block device driver interface.
BML Block Device Driver: This block device driver is used to provide driver functions for
the device files /dev/bml0/*. This block device driver acts right upon the BML. There is no
logical to physical address translation because there is no FTL-like software layer between
BML and this driver layer. For example, logical sector number n directly maps to physical
sector number n. Data write to a sector involves following sequence of low-level flash
operations:
1. Block copy for back-up
2. Block erase
3. Copy back for non-modified pages