3. 坏块分类与判定标准

在星载存储系统中,“坏块”并不是一个单一概念。同样是某个块无法正常写入或擦除,其成因、可恢复性、对系统可靠性的威胁程度以及应采取的处置策略可能完全不同。如果把所有坏块一视同仁地标记并永久剔除,会浪费大量本可继续使用的存储资源;反之,如果对某些坏块处理过于宽松,又可能在关键任务阶段引发数据丢失。因此,工程上必须先把坏块分类,再针对每一类设定判定阈值和记录方式。

四类坏块的本质区别

出厂坏块是NAND闪存芯片在封装测试阶段就被厂商确认不可用的块。这类坏块在芯片出厂时已被写入坏块标记,通常位于块首页或块末页的特定备用区(spare area)中。星载存储系统在首次上电初始化时,必须完整扫描所有块并读取这些出厂标记,将其纳入坏块表。出厂坏块的特点是位置固定、数量在芯片寿命期内基本不变,且厂商通常会给出最大允许比例(例如不超过2%)。

使用中坏块是芯片在正常擦写过程中逐渐产生的坏块。随着编程/擦除循环次数增加,氧化层退化、电荷泄漏加剧,某些块会先出现擦除时间变长、编程失败次数增多,最终彻底失效。这类坏块是磨损累积的结果,具有渐进性和可预测性。星载场景下,使用中坏块的增长速率与擦写频率、工作温度强相关,是寿命预估的核心依据。

突发坏块通常由外部应力事件引发,例如单粒子效应、电源瞬变、强辐射脉冲或剧烈温度冲击。它的出现没有明显的磨损前兆,可能在一次任务阶段内突然产生多个坏块。突发坏块的危险在于其不可预测性,且往往伴随数据损坏风险,因此判定阈值应比使用中坏块更严格,一旦发现应立即触发保护性记录和冗余切换。

间歇性坏块是最容易被误判的一类。它表现为某个块在多数情况下读写正常,但在特定条件下(如高温、低压、特定数据模式)出现偶发错误,条件恢复后又恢复正常。间歇性坏块如果被简单标记为永久坏块,会造成资源浪费;如果被忽略,则可能在关键时刻导致不可纠正错误。因此,对间歇性坏块需要采用“多次观察、条件记录、降级使用”的策略。

星载NAND坏块分类判定与记录流程 出厂坏块 来源:封装测试标记 特征:位置固定、数量稳定 阈值:≤2% 总块数 处置:初始化时永久剔除 使用中坏块 来源:擦写磨损累积 特征:渐进、可预测 阈值:连续3次擦除失败 处置:标记并替换冗余块 突发坏块 来源:单粒子/电源/辐射 特征:无前兆、成簇出现 阈值:单次事件≥1块即报 处置:立即隔离+事件记录 间歇性坏块 来源:条件敏感型退化 特征:偶发、可恢复 阈值:7天内≥3次同块错误 处置:降级使用+持续观察 统一坏块判定入口:读取状态寄存器 + 校验ECC错误计数 + 擦除/编程重试结果 判定依据:状态位失败、ECC不可纠正、擦除时间超限、编程电压异常 硬判定:永久坏块 条件:连续3次擦除失败 或 ECC不可纠正错误≥2次 动作:写入坏块表,永久剔除,启用冗余块替换 记录:块地址、时间戳、失败类型、累计擦写次数 软判定:可疑/间歇块 条件:偶发ECC可纠正错误,或擦除时间接近阈值 动作:降级使用,增加校验频率,限制写入频次 记录:错误计数、触发条件(温度/电压)、观察窗口 星载坏块记录表(非易失存储区 + 遥测下传) 字段:块编号 | 分类标签 | 首次发现时间 | 累计错误次数 | 最近错误类型 | 当前状态 | 替换块编号 星载特殊约束:坏块表需双备份存储;突发坏块事件需即时遥测报警;间歇块观察窗口建议≥7天 注:以上阈值为工程示例参考值,实际任务需根据器件手册与在轨辐射环境调整

星载场景下的判定阈值设计

地面商用存储通常采用较宽松的坏块判定策略,因为更换芯片成本低。但星载存储不可更换,且处于辐射、真空、大温差环境中,判定阈值必须更精细。以下给出一组工程示例参考值,实际任务应根据具体器件手册和在轨环境调整。

对于使用中坏块,建议采用“连续失败计数”而非“单次失败即判死”。具体做法是:对同一块连续执行擦除操作,若连续3次擦除失败,或编程后回读校验出现不可纠正ECC错误累计达到2次,则判定为永久坏块。这个阈值平衡了误判率和响应速度——单次失败可能由电源波动或临时干扰引起,连续3次则基本可确认块已失效。

对于突发坏块,判定应更敏感。由于突发坏块往往成簇出现,一旦在单次任务阶段内发现1个块出现不可纠正错误且伴随状态寄存器异常,就应立即记录并检查相邻块。如果相邻块也出现类似症状,则判定为突发坏块事件,触发冗余切换和遥测报警。星载场景下,突发坏块事件必须即时下传,因为地面需要结合轨道位置和太阳活动情况分析辐射影响。

对于间歇性坏块,核心思路是“不急于判死,但持续跟踪”。建议设定一个观察窗口,例如7天或3个完整轨道周期。在窗口内,如果同一块出现3次及以上可纠正ECC错误,或出现1次擦除时间超过典型值150%的情况,则将其标记为间歇性坏块,降级使用:降低该块的写入频率,增加读取校验次数,并在每次使用后记录错误计数。如果观察窗口内错误次数持续增加,则升级为永久坏块;如果错误次数不再增长,可维持降级状态继续使用。

记录方式与在轨管理

星载坏块记录不能只存在内存中,因为单粒子翻转可能破坏记录本身。工程上通常采用“双备份非易失存储 + 遥测下传”的方式。坏块表需要同时写入两个独立的非易失存储区,每次更新时先写主份再写备份,读取时两份比对,不一致则以更保守的一份为准。

记录字段应至少包含:块编号、分类标签(出厂/使用中/突发/间歇)、首次发现时间、累计错误次数、最近错误类型、当前状态(正常/降级/剔除)、替换块编号。对于间歇性坏块,还应记录触发条件,例如温度区间、供电电压、数据模式,这些信息对地面分析退化机理非常有价值。

在轨管理策略上,建议将坏块表分为“静态表”和“动态表”。静态表存放出厂坏块和已确认的永久坏块,初始化时加载,运行中只读;动态表存放使用中坏块、突发坏块和间歇性坏块的实时状态,运行中可更新。动态表每次更新后,通过遥测通道在下一个可见弧段下传。地面收到后,结合轨道参数和器件退化模型,可以评估剩余寿命并调整后续任务的数据写入策略。

工程提示:星载存储的坏块判定阈值不是固定值。建议在首次在轨运行的前30天内,以较宽松的阈值收集坏块产生速率和错误分布,建立基线;之后根据基线调整阈值,使判定既不过于敏感导致误剔除,也不过于迟钝导致漏判。

最后需要强调,四类坏块的边界并非绝对。一个间歇性坏块可能最终演变为使用中坏块,一个突发坏块也可能在复位后恢复正常。因此,坏块分类应视为动态标签,而非一次性判决。每次上电初始化、每次大规模擦写操作后,都应重新评估可疑块的状态,确保坏块表始终反映存储阵列的真实健康度。