磁盘介绍
SylixOS 支持多种非易失存储器,不同非易失存储器功能特性不同,在 SylixOS 下的用法也不同。
- NORFlash:容量较小,一般在几MB到几十 MB 之间,按块擦除,按页写入,擦写速度很慢,可按字节随机读取,一般会映射到系统内存空间,CPU可直接读取数据或执行代码。一般用于固化Boot代码和系统镜像,也可以挂载YAFFS文件系统。
- NANDFlash:容量较大,一般在几百MB到几十 GB,按块擦除,按页读写,不可以随机读写。较 Nor Flash 擦写速度快,读取速度略慢,造价也更低,一般用于存储数据。SylixOS中一般挂载YAFFS文件系统来使用 NANDFlash。
- E2PROM:容量很小,一般在几 KB 到几百 KB,造价较高。E2PROM不需要擦除操作,可直接按字节进行读写,一般都以I2C/SPI接口外接芯片实现,用来存储少量数据。SylixOS 下一般封装为字符设备,可按文件方式进行读写,用于存储少量数据或参数。
- 标准磁盘设备:标准磁盘其实是一大类标准抽象设备,存储介质为硬盘或NAND Flash,通过专用的驱动控制器(包括软硬件)实现地址转换、擦写均衡,坏块管理、数据缓存、通信接口等封装,为主机系统提供统一标准的调用接口。标准磁盘设备具体对应多种接口:eMMC,SD 卡、SATA,IDE、NVMe 以及 USB 口的移动U盘或硬盘。磁盘设备容量较大,一般在几 GB 到几 TB,主要用于存储数据,也可做启动设备。磁盘以页(512B)为单位进行读写,无需擦除操作,需要通过分区和文件系统来进行管理。SylixOS 下,磁盘设备根据不同接口需要相应驱动支持,最终都封装为块设备,通过系统提供的标准命令可以对块设备进行分区及格式化,并挂载到根文件系统中。
说明:
YAFFS文件系统只针对NOR Flash、NAND Flash 进行适配,分区格式化由程序或特定命令实现。这种方案更偏底层一些,标准化和灵活性较差。磁盘设备标准化程度高,可动态灵活的通过标准命令进行分区格式化,基于软件,可支持多种分区和文件系统。SylixOS 下当前支持 MBR 和 GPT 分区,文件系统仅支持 FAT 和TPSFS。