3. 星务数据存储介质与文件系统

星务计算机的存储子系统与地面设备最大的不同,在于它必须在高能粒子、单粒子翻转(SEU)、总剂量效应(TID)和宽温循环的持续作用下,仍然保证关键数据的可读、可写、可恢复。因此,选型时不能只看容量和价格,而要先回答三个问题:这段数据是否允许丢失?写入频率有多高?掉电时是否必须立即保存?本节围绕抗辐射存储器类型、NAND/NOR Flash、MRAM、FRAM 的特性差异,以及星载文件系统的需求与常见方案展开。

一、抗辐射存储器的三条技术路线

星务存储介质大致分为三类。第一类是抗辐射加固存储器,如抗辐射 SRAM、抗辐射 PROM/EEPROM,通过工艺加固、冗余单元和纠错编码,把 SEU 截面降到很低,代价是容量小、单价高,通常用于存放引导程序、关键参数和星务计算机的“最后一道防线”。第二类是商用现货(COTS)加系统级防护,例如普通 NAND Flash 配合 ECC、坏块管理、三模冗余和定期刷新,用软件和架构手段弥补器件本身的不足,适合大容量数据存储。第三类是新型非易失存储器,包括 MRAM、FRAM、RRAM 等,它们兼具非易失、低功耗和较高抗辐射潜力,正在逐步进入星务设计。

需要强调的是,抗辐射能力不是单一指标。总剂量(TID)决定器件能“活多久”,通常以 krad(Si) 计量;单粒子锁定(SEL)决定会不会出现灾难性大电流;单粒子翻转(SEU)决定数据会不会被静默改写。星务设计必须同时评估这三项,而不是只看容量。

二、NAND Flash、NOR Flash、MRAM、FRAM 特性对比

NOR Flash 支持字节级随机访问,读取速度快,可直接执行代码(XIP),适合存放引导程序和少量关键代码。但它的擦除粒度大、写入慢、单位容量成本高,容量通常只有几 MB 到几十 MB。在星务中,NOR Flash 常作为 Boot 区,配合 CRC 校验和双备份镜像使用。

NAND Flash 以页为单位读写、以块为单位擦除,容量可达 GB 级,单位成本低,适合大容量日志和载荷数据存储。它的短板是存在坏块、需要 ECC、写入前必须先擦除,且擦除次数有限(SLC 约 10 万次,MLC/TLC 更低)。在辐射环境下,NAND 还可能出现位翻转和块失效,因此必须配合坏块管理、磨损均衡和强 ECC。

MRAM 利用磁隧道结存储数据,读写速度快、几乎无限次擦写、非易失,且对 SEU 相对不敏感,适合存放频繁更新的关键参数和日志索引。它的容量目前仍偏小,成本较高,但作为“参数区”和“元数据区”非常合适。

FRAM 利用铁电材料极化存储数据,写入功耗极低、速度快、擦写次数可达 10^12 次以上,抗辐射表现良好,特别适合高频采集的遥测数据缓冲和掉电瞬间必须保存的状态量。它的容量通常较小,适合做“高频小数据”的存储层。

星务存储介质特性与适用位置 NOR Flash 字节随机访问 / XIP 容量:几 MB ~ 几十 MB 擦写寿命:约 10^5 次 读取速度:快 写入速度:慢 抗 SEU:中等 成本:高 典型用途 Boot 引导 / 关键代码 双镜像 + CRC 启动时校验切换 防止单点失效 NAND Flash 页读写 / 块擦除 容量:GB 级 擦写寿命:约 10^5 次(SLC) 读取速度:较快 写入速度:中等 抗 SEU:弱,需 ECC 成本:低 典型用途 大容量日志 / 载荷数据 坏块管理 + 磨损均衡 强 ECC(BCH/LDPC) 掉电保护与重建 MRAM 磁隧道结 / 非易失 容量:几 MB ~ 几十 MB 擦写寿命:近乎无限 读取速度:快 写入速度:快 抗 SEU:较强 成本:较高 典型用途 关键参数 / 日志索引 频繁更新元数据 掉电立即保存 无需擦除等待 FRAM 铁电极化 / 非易失 容量:KB ~ 几 MB 擦写寿命:10^12 次以上 读取速度:快 写入速度:快、功耗低 抗 SEU:良好 成本:较高 典型用途 高频遥测缓冲 / 状态量 掉电瞬间写入 高频采集不磨损 低功耗待机保持

三、星载文件系统的特殊需求

地面文件系统默认“介质可靠、掉电可容忍、可以随时修复”,而星载环境恰恰相反。星载文件系统至少要满足以下需求:

  • 掉电一致性:卫星可能因复位、过流保护或电源切换而瞬间断电,文件系统必须保证元数据不损坏,重启后能恢复到一致状态。
  • 抗辐射容错:文件内容、目录项、索引结构都可能被 SEU 改写,需要校验和、冗余副本和自动修复机制。
  • 磨损均衡与坏块管理:NAND 擦写次数有限,必须把写入分散到不同块,并屏蔽坏块。
  • 空间与内存受限:星务计算机 RAM 通常只有几百 KB 到几 MB,文件系统不能占用过多缓存。
  • 可恢复与可审计:日志文件需要按时间顺序可追溯,异常时能定位到具体记录。

四、常见星载文件系统方案

SPIFFS 是面向 SPI NOR Flash 的轻量文件系统,支持磨损均衡和掉电恢复,代码量小,适合资源紧张的 MCU。它的缺点是目录结构扁平、不支持真正的目录层级,且在大文件和高并发写入下性能有限。对于只存配置文件和少量日志的星务模块,SPIFFS 是可行选择。

LittleFS 由 ARM 提出,专为嵌入式 Flash 设计,支持掉电恢复、磨损均衡和目录结构,RAM 占用小,且对 NOR 和 NAND 都有较好支持。它采用元数据对(metadata pair)和 CTZ 跳表结构,掉电时能回滚到上一个一致状态。在星务中,LittleFS 常用于 NOR Flash 上的参数区和中小容量日志区。

YAFFS 是较早面向 NAND Flash 的文件系统,按页管理、支持坏块和磨损均衡,适合大容量 NAND。它的缺点是内存占用相对较高,且对掉电一致性的保证不如 LittleFS 严格,通常需要配合日志和定期检查。

exFAT 裁剪 则是另一种思路:exFAT 本身是地面通用文件系统,结构简单、支持大容量和大文件,便于与地面站对接。但标准 exFAT 没有磨损均衡和掉电保护,直接用于 NAND 会加速损坏。因此星务中常做“裁剪版 exFAT”:保留其目录和簇链结构,增加写入日志、ECC 和坏块映射,并限制元数据更新频率。这样既方便地面读取,又能满足在轨可靠性要求。

选择文件系统时,建议按“介质类型 + 数据特征”匹配:NOR Flash 上的小参数区优先 LittleFS 或 SPIFFS;NAND Flash 上的大容量日志优先 YAFFS 或裁剪 exFAT;MRAM/FRAM 上的高频小数据可直接用带校验的环形缓冲,不必强上文件系统。

五、一个可参考的存储分区示例

假设某星务计算机采用“NOR + NAND + FRAM”组合,可参考如下分区:

区域介质文件系统用途关键措施
Boot 区NOR Flash无(裸镜像)引导程序、双备份CRC + 镜像切换
参数区NOR FlashLittleFS配置参数、校准系数双副本 + 校验
日志区NAND FlashYAFFS / 裁剪 exFAT遥测日志、事件记录ECC + 坏块管理 + 磨损均衡
高速缓冲FRAM环形缓冲高频遥测、掉电状态写校验 + 指针双备份

这个示例说明:星务存储不是“选一个文件系统”那么简单,而是按数据的重要程度、更新频率和容量需求分层设计。引导和参数追求可靠,日志追求容量和可恢复,高频状态追求写入寿命和掉电即时性。只有把介质特性、文件系统能力和数据特征三者对齐,才能在辐射和掉电的双重压力下守住星务数据。