`
rubynroll
  • 浏览: 205116 次
  • 性别: Icon_minigender_1
  • 来自: Wgt
社区版块
存档分类
最新评论

UFFS2 features

    博客分类:
  • UFFS
阅读更多

UFFS2 is under design. Compares to UFFS1, UFFS2 will have new features/improvements:

1) Reduce memory footprint by using smaller tree node data structure, save 20%~50% memory comparing with UFFS1.

typedef struct uffs_HeadNodeSt {
  u16 block;
  u16 info;     //point to info node
  u16 next;
  u16 prev;
} uffs_LoadNode;

typedef struct uffs_InfoNodeSt {
  u16 father;
  u16 serial;
  u16 sum;
  u8 attr:2;      //00 dir, 01 normal file, 10 symbol link, 11 reserved
  u8 status:2;    //data status:
  u8 pageid;
} uffs_InfoNode;

typedef struct uffs_FreeNodeSt {
  u16 block;
  u16 next;
  u16 prev;
} uffs_FreeNode;

typedef struct uffs_DataNodeSt {
  u16 block;
  u16 father;
  u16 serial;
  u8  status; //0 - no free page, 1 - has free page
  u8  page;   //first free page
} uffs_DataNode;

typedef struct uffs_TreeNodeSt {
  union {
     struct uffs_HeadNodeSt head;
     struct uffs_DataNodeSt data;
     struct uffs_FreeNodeSt free;
  } u;
} TreeNode;


Tree nodes memory cost:
total_blocks * 8 + max_files_and_dirs * 8

e.g.:
for 1Gb NAND flash:
page sze: 512,
pages_per_block: 32,
total_blocks: 8192,
max_files_and_dirs: 1000

tree nodes memory cost: 8192 * 8 + 1000 * 8 = 72KB
(compares to UFFS1: 8192 * 16 = 131KB, save 45%)

2) Allow multiple files/dirs on one block. This will significantly improve flash space efficiency in many circumstances.

Directories and symbol link will only cost one page, small file cost 2~pages_per_block pages, configurable. Large files will use full block.

3) Move ECC to page spare.
ECC data are compatible with YAFFS2.

4) Support Linux VFS interface. This will allow using UFFS2 as file system in embedded linux.
UFFS2 can be used as root file system.


分享到:
评论

相关推荐

    uffs文件系统源码

    4. UFFS与YAFFS2对比: - **性能**:两者在性能上各有优势,具体表现可能因应用场景而异。 - **内存占用**:UFFS声称内存占用更少,可能更适合内存有限的设备。 - **设计哲学**:UFFS可能更注重速度,而YAFFS2...

    uffs移植.rar

    UFFS支持FAT16/32和ext2文件系统的部分特性,同时优化了对NAND Flash的操作,提高了读写速度和存储效率。 2. STM32 微控制器: STM32是意法半导体(STMicroelectronics)推出的一款基于ARM Cortex-M内核的微控制器...

    uffs 1.3.5

    嵌入式文件系统,很不错的 ● Ultra low cost – Low memory cost – Fast booting ● Superb Stability – Guaranteed integrity across unexpected power losses – Bad block tolerant, ECC and ware leveling ...

    uffs 1.3.3 嵌入式文件系统

    嵌入式文件系统,很不错的 ● Ultra low cost – Low memory cost – Fast booting ● Superb Stability – Guaranteed integrity across unexpected power losses – Bad block tolerant, ECC and ware leveling ...

    UFFS

    2. **日志结构**:UFFS采用日志结构的文件系统,所有修改都先写入日志区,然后在后台进行数据更新。这样可以保证在突然断电或系统崩溃时,可以通过日志恢复文件系统状态,提高了数据的可靠性。 3. **快照支持**:...

    UFFS-开源

    UFFS:超低成本闪存文件系统,设计用于嵌入式系统中的NAND闪存。 对于1Gb(第512页)/ 4Gb(第2K页)NAND闪存,UFFS通常消耗的内存少于200K。 它支持直接闪存接口,可以在有或没有OS的情况下使用。

    uffs_prog1

    2. **编译产物(.class)**:Java源代码通过JDK中的javac编译器编译成字节码文件,这些字节码文件是平台无关的,可以在任何安装了Java虚拟机(JVM)的系统上运行。 3. **项目结构**:现代Java项目往往遵循Maven或...

    文件系统c++源码

    2. **目录项**:目录由多个条目组成,每个条目指向一个文件或子目录的inode。实现时,目录可能是一个关联数组或链表,键为文件名,值为inode指针。 3. **多用户多目录支持**:为了实现多用户和多目录,源码需要包含...

    YAFFS 嵌入式文件系统

    2. **可靠性**:NAND 闪存存在坏块和有限的擦写寿命,YAFFS 通过自动检测和隔离坏块,以及均衡地分配数据到不同的区块,确保了文件系统的稳定性。 3. **简单性**:YAFFS 设计简洁,易于集成到嵌入式系统中,对硬件...

    1.6 深入理解嵌入式C(未学汇编,自学).ppt

    在实际的工作中,C、C++密不可分,做我们嵌入式方面的,当然更多的是C,但,有时候却少不了C++,而且是C、C++混搭(混合编程)在一起的,比如,RTP视频传输,live555多媒体播放等都是C++下的,他需要调用JRTPLIB库,...

    Ryze:UFFS项目的跨学科交叉计划

    2. Pomodoro技术:这是一种时间管理方法,由Francesco Cirillo在1980年代提出。Pomodoro技术的核心思想是将工作时间分割成25分钟的工作块,称为“番茄时间”,每个工作块之间休息5分钟。每完成四个“番茄时间”后,...

    Materias-UFFS:课程的所有内容,您可以在这里找到

    材料UFFS 欢迎使用Materias UFFS存储库,这只是一个学期的开始... :smiling_face_with_sunglasses: 成为这个平台的贡献者!... wpp: ://chat.whatsapp.com/CPQrLeFht2XBiFfT9IBoci 不和谐: :

    cc.uffs.edu.br:ChapecóSC联邦大学分校的官方网站

    Site do curso deCiênciadaComputação(UFFS) 爱喜repositóriocontémØ网站做CURSO德哒,disponívelEM 。 在阿鲁诺斯州的阿努诺斯州立大学网站,教授和TAE。 Sinta-se convidado(a)是melhoramento desse...

    编译yaffs文件系统yaffs工具包

    有时yaffs工具没选对,做出来的系统镜像没法使用

    app-cc:供UFFS计算机科学课程的学生,教师和技术人员使用的移动应用程序

    CCUFFS申请项目该存储库包含移动应用程序的代码,供Chapecó/ SC UFFS计算机科学课程的学生,教师和技术人员使用。 有关应用程序的预期功能和开发计划草案,请参阅ROADMAP文件。 重要提示:在开始开发新功能之前,请...

    uffstex:联邦大学联邦大学对外贸易分会Class abnTeX2

    【标题】"uffstex:联邦大学联邦大学对外贸易分会Class abnTeX2" 指的是一款基于LaTeX的文档类(document class),专为巴西联邦大学(UFFS)对外贸易分会的学术写作设计。它利用了abnTeX2框架,这是一款遵循巴西...

    uffs-sga-scraping:系统以自动方式从协调员门户收集数据

    标题 在此处放入项目描述。 此说明的长度通常为两到三行。 它应该概述项目是什么,例如:使用的技术,存在的哲学,您要解决...2.其他步骤 通常,接下来的步骤将教您如何安装和配置项目以供使用/开发。 旋转: git clo

    dados-uffs:来自Fronteira Sul联邦大学的开放数据的存储库,网址为https

    标题 在此处放入项目描述。 此说明的长度通常为两到三行。 它应该概述项目是什么,例如:使用的技术,存在的哲学,一个人要...2.其他步骤 通常,接下来的步骤将教您如何安装和配置项目以供使用/开发。 旋转: git clo

    论文研究 - 杂草干扰Erva-Mate的形态生理和营养特性(

    该实验以随机块设计安装在巴西弗龙特拉南联邦大学(UFFS)温室的温室中,采用随机块设计,以4×6析因方案布置,重复四次。 在A因子中,分配了杂草物种(Urochloa plantaginea-Alexandergrass,Bidens pilosa-Hairy ...

    CCGIRLS.github.io:CC GIRLS UFFS研究小组的官方网站:woman_technologist::rocket:

    Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: yarn start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何...

Global site tag (gtag.js) - Google Analytics