Linux Foundation Wiki

project collaboration site

User Tools

Site Tools


mobile-linux:mobile_platform_file_system_guidelines

Contents

Introduction

The Mobile Linux Platform File System guidelines section contains guidelines essential to the proper operation and management of mass storage used with various types on mobile devices. The most common form of mass storage used for mobile devices is likely to be some form of solid-state “flash” storage. However, some guidelines may also apply to other media.

The Linux Virtual File System can support multiple file system schemes on a single system. Given that different types of mass storage have their own idiosyncrasies, capabilities and operational characteristics, it is not anticipated that a single file system will satisfy all guidelines or be equally well-suited for use on all media types. Devices supporting a range of media types are likely to need to support several types of file systems.

File System Guidelines

FIL.1.0 Operational Guidelines

Linux Foundation MLI specifies that system software MUST provide a robust set of operational file system capabilities. <p>Note: Keywords indicate whether operational Guidelines are applicable to NAND-based or NOR-based flash storage, or both.

FIL.1.1 NAND/NOR: RAM Guidelines

Description: Linux Foundation MLI specifies that RAM requirements MUST be kept to a minimum (e.g. storing each journaling node in RAM should be avoided.)

FIL.1.2 NAND/NOR: Boot-time Speed Enhancements

Description: Linux Foundation MLI specifies that boot-time improvements using the MBR and/or checkpoints SHOULD be implemented in the context of the file system.

FIL.1.3 NAND/NOR: File System Mount Time

Description: Linux Foundation MLI specifies that the file system mount time MUST be better than linear with overall file system size.

FIL.1.4 NAND/NOR: Support for OMA-compatible ROM Updating

Description: In line with requirements of OMA, Linux Foundation MLI specifies that the system MUST have the capability to update the Linux kernel and file system and/or download new applications over the air. The usage needs to reserve a special pre-defined space in the flash memory to save the delta image, the difference between an old version and a new version generated by a special tool.

FIL.1.5 NAND: Minimal Pre-Erase Writes

Description: Linux Foundation MLI specifies that, for NAND storage, the number of writes to the data area and spare area before an erase SHOULD be reduced, in order to support the most restrictive NAND implementations.

FIL.1.6 NAND: Multiblock Writes

Description: Linux Foundation MLI specifies that, for NAND storage, the file system SHOULD allow for multi-block writes.

FIL.1.7 NOR: Support for NOR Flash “Configuration Area”

Description: Linux Foundation MLI specifies that an enhanced NOR flash file system should be capable of supporting a “configuration area” in NOR flash in devices where one is available.

FIL.1.8 NOR: Execute-in-Place for NOR Flash

Description: Linux Foundation MLI specifies that file systems for NOR flash SHOULD allow for an XIP (“execute-in-place”) capability.

FIL.2.0 Functional Guidelines

Linux Foundation MLI specifies that system software MUST provide a robust set of functional file system capabilities. <p>Note: Keywords indicate whether operational Guidelines are applicable to NAND-based or NOR-based flash storage, or both.

FIL.2.1 NAND/NOR: Multiple Page Sizes

Description: Linux Foundation MLI specifies that multiple page sizes (e.g. 512K, 2048K, etc.) SHOULD be supported.

FIL.2.2 NAND/NOR: Transaction APIs

Description: Linux Foundation MLI specifies that the file system MUST provide transaction-oriented APIs (e,g. “commit”, “rollback”, etc.)

FIL.2.3 NAND/NOR: Compression

Description: Linux Foundation MLI specifies that the file system MUST provide built-in support for data compression.

FIL.2.4 NAND/NOR: Fast Indexing

Description: Linux Foundation MLI specifies that fast file indexing/fast search capability MAY be incorporated into the file system. = “Worthy Non-Goals” The following has been moved to this “non-goal” section, since it seems to amount to a “nice-to-have-but-no-plans-to-address” sort of thing.

FIL.1.9 NAND: Unified and Consistent Bad Block Management

Description: Different NAND file systems have different bad block management methods. When you renew the whole flash content, some of the bad block information may be lost. It would be useful if the system had a unified and consistent bad block management method. It would be good if the boot loader could align with this new method.

Contributors

  • Rob Rhoads - Intel, Inc.
  • David “Lefty” Schlesinger - Access Company Ltd. (editor)

Appendix A: File System References

To be supplied

mobile-linux/mobile_platform_file_system_guidelines.txt · Last modified: 2016/07/19 01:22 (external edit)