beautypg.com

1 introduction, 1 overview, 2 features – Samsung V1.3.0 User Manual

Page 9: 3 architecture, Introduction, Overview, Features, Architecture

background image

1 Introduction

This chapter describes the overview and system architecture of RFS. It also covers the

information about low-level flash memory partitions.

1.1 Overview

Linux RFS (Linux Robust FAT File System) is a FAT compatible file system to use

OneNAND/NAND flash memory as storage on any consumer electronic devices. As its name
implies, Linux RFS runs in the Linux kernel and is fully compatible with FAT file system

standards (FAT16/32). For ‘robustness’, it provides a journaling based error recovery
mechanism, which guarantees that the file system runs at all times even if there is a sudden

power loss.

Currently, there are a few open-source projects that implement NAND based flash file systems
such as JFFS2, YAFFS and YAFFS2. However, they have a limited applicability to brand-new

OneNAND flash memory devices that feature advanced technologies to improve performance.

RFS supports all of the OneNAND flash memory devices in the market and is optimized for those
devices. RFS can deliver much better read/write performance compared to the existing

solutions.

1.2 Features

The following are RFS features.

• FAT compatible file system which supports FAT16/32

• Robust error-recovery system based on journaling
• Provide POSIX-compatible interface

• Supports Linux kernel 2.4.X and 2.6.X (tested on MontaVista Linux)
• Supports demand paging

• Packaged as a loadable kernel module

1.3 Architecture

Figure 1-1 shows typical file system architecture where RFS is used for OneNAND flash memory.
Linux RFS flash file system has been divided into different layers based on their operations. It
consists of following layers: FAT file system layer, flash block device driver layer, sector

translation layer, block management layer, and low level device driver layer.

Low level device driver layer code for OneNAND

TM

is provided with RFS package and is tested

on OMAP2420 board. For other chipsets, you need to write your own low level driver code. A

brief description about each of these components is given here.

1

Linux

RFS

v1.3.0

Porting

Guide