YAFFS开发者 | Charles Manning |
---|
全称 | Yet Another Flash File System |
---|
功能 |
---|
操作系统支持 | Android、Firefox OS、Linux、Windows CE、pSOS、eCos、ThreadX |
---|
YAFFS(全称:Yet Another Flash File System)是由Aleph One公司所發展出來的NAND Flash 嵌入式檔案系统。
在YAFFS中,最小儲存單位為一個Page,檔案內的數據是儲存在固定512 bytes的Page中,每一個Page亦會有一個對應的16 bytes的Spare(OOB,Out-Of-Band)。YAFFS採用Tree Node Structure,由多個Tree Node(Tnode)所組成,Tnode又分成Internal Tnode與Lowest-Level Tnode,其中Internal Tnode由8個Pointers所組成,Lowest-Level Tnode由16個Entries所組成,其時間複雜度(Time Complexity)相當於O(log N),故位址轉換時間較迅速。一旦Flash Memory掛載(mount)之時,YAFFS會為每個檔案在RAM中建立一個Tree, 並隨時提供Chunk(即Page, 由yaffs_Object所配置),可是 YAFFS並未完全實作耗損平均技術(wear-leveling)演算法,因此還是會造成部份的Block過度存取。
目前YAFFS在將Data寫入Flash Memory時會執行Garbage Collection,YAFFS Garbage Collection分成兩種Mode:Aggressive Mode及Passive Mode, 而且找尋Dirtiest Block(最多Invalid Chunk)及尋找Empty Block都是透過Linear Search的方式(JFFS2是Link List的方式)。YAFFS2不再使用Partial Page Programming(YAFFS仍使用)。
YAFFS2
YAFFS2 是Aleph1的工程師Charles Manning 开发的NAND Flash 文件系统。YAFFS1和YAFFS2 主要差異還是在於page 讀寫 size的大小,YAFFS2可支援到2K per page, 遠高於YAFFS的512 bytes, 因此對大容量NAND Flash更具优势。其他與YAFFS1不同的是, YAFFS2不再寫spare area, sequenceNumber 用29 bits 表示。Yaffs2還擁有YAFFS1所缺乏的SuperBlock, 因此YAFFS1嚴重依賴檔案系統的read_super。
目前YAFFS 和YAFFS2 皆遵守GNU GPL開放原始码。Android 採用yaffs2作為MTD NAND flash檔案系統,位於fs/yaffs2/目錄下。
相關條目
參考資料
外部連結
- 官方網站
- Introducing YAFFS, the first NAND-specific flash file system
- Unyaffs (页面存档备份,存于互联网档案馆): A simple program to unpack YAFFS2 images.
|
---|
| | | 磁盘 | - ADFS(英语:Advanced Disc Filing System)
- AdvFS
- Amiga FFS(英语:Amiga Fast File System)
- Amiga OFS(英语:Amiga Old File System)
- APFS
- AthFS(英语:AtheOS File System)
- Bcachefs
- BFS
- Be文件系统(英语:Be File System)
- 启动文件系统(英语:Boot File System)
- Btrfs
- DFS(英语:Disc Filing System)
- EFS
- 加密文件系统
- 区段文件系统(英语:Extent File System)
- Episode(英语:Episode filesystem)
- ext
- FAT
- Files-11(英语:Files-11)
- Fossil
- HAMMER(英语:HAMMER)
- HFS
- HFS+
- HPFS
- HTFS(英语:High Throughput File System)
- IBM通用并行文件系统(英语:IBM General Parallel File System)
- JFS
- LFS(英语:Log-structured File System (BSD))
- MFS
- Macintosh文件系统(英语:Macintosh File System)
- Tivo媒体文件系统(英语:Tivo Media File System)
- MINIX
- NetWare文件系统(英语:NetWare File System)
- Next3(英语:Next3)
- NILFS(英语:NILFS)
- NSS(英语:Novell Storage Services)
- NTFS
- OneFS(英语:OneFS distributed file system)
- PFS(英语:Professional File System)
- QFS(英语:QFS)
- QNX4FS(英语:QNX4FS)
- ReFS
- ReiserFS
- Reliance(英语:Reliance (file system))
- Reliance Nitro(英语:Reliance Nitro)
- RFS
- SFS(英语:Smart File System)
- Soup(英语:Soup (Apple))
- Tux3(英语:Tux3)
- UBIFS
- UFS
- VxFS(英语:Veritas File System)
- WAFL(英语:Write Anywhere File Layout)
- Xiafs(英语:Xiafs)
- XFS
- Xsan(英语:Xsan)
- zFS(英语:zFS (z/OS file system))
- ZFS
| | | - HSF(英语:High Sierra Format)
- ISO 9660
- ISO 13490(英语:ISO 13490)
- UDF
|
---|
| | |
---|
| | - CXFS(英语:CXFS)
- GFS2(英语:GFS2)
- Google檔案系統
- OCFS2(英语:OCFS2)
- OrangeFS(英语:OrangeFS)
- PVFS(英语:Parallel Virtual File System)
- QFS(英语:Quantcast File System)
- Xsan(英语:Xsan)
- 更多...
|
---|
|
---|
| NAS | |
---|
| 特殊 | - Aufs
- AXFS(英语:AXFS)
- 启动文件系统(英语:Boot File System)
- CDfs(英语:CDfs)
- 光盘文件系统(英语:Compact Disc File System)
- Cramfs
- Davfs2(英语:Davfs2)
- EROFS
- FTPFS
- FUSE
- GmailFS
- Lnfs
- LTFS(英语:Linear Tape File System)
- MVFS(英语:Rational MultiVersion File System)
- SquashFS
- UMSDOS(英语:FAT filesystem and Linux)
- OverlayFS
- UnionFS(英语:UnionFS)
- WBFS(英语:WBFS)
| | 伪 | |
---|
| 加密(英语:Filesystem-level encryption) | |
---|
|
---|
| 类型 | - 集群
- 全局(英语:Global file system)
- 网格(英语:Grid File System)
- 自我认证(英语:Self-certifying File System)
- 闪存
- 日志
- 日志结构(英语:Log-structured file system)
- 对象
- 面向记录(英语:Record-oriented filesystem)
- 语义(英语:Semantic file system)
- 隐写(英语:Steganographic file system)
- 合成(英语:Synthetic file system)
- 版本(英语:Versioning file system)
|
---|
| 特性 | | | 访问控制(英语:Computer access control) | - 存取控制串列
- 文件系统级加密(英语:Filesystem-level encryption)
- 权限
- Modes(英语:Modes (Unix))
- 粘滞位
|
---|
|
---|
| 接口 | |
---|
|