空间应用--固态硬盘的极限挑战

注:本文并非介绍目前宇航存储应用方法,目前宇航应用多是FPGA+SDRAM或者Flash阵列辅助mram来实现数据的存储、回放、擦除等功能,下文仅仅是个人对成熟商用SSD应用于宇航领域做法的一孔之见来谈谈。


与地面应用不同,空间应用面临着极其复杂的环境,尤其是辐射效应,空间任务面临辐射效应主要有三种:总剂量效应(TID)、单粒子翻转效应(SEU)、单粒子闩锁效应(SEL)。


1990年9月,我大中华“风云一号B”气象卫星姿控计算机受到空间高能粒子的影响,多次出现单粒子翻转,从而导致卫星姿态失控,卫星失效;

1993年,美国MSTI卫星因严重的单粒子效应提前Game Over;

受单粒子效应影响的案子,还有很多……


如果把SSD应用层次从高到底分,应该是这样的:宇航级、军品级、汽车级、工业级和商业级。


之所以把宇航级排名为SSD江湖老大,是因为它不仅仅需要满足地面所有高可靠性要求外,还需要进行额外的防辐射加固设计,当然,这很有难度,加固设计关系到系统加固、驱动加固、硬件加固,从实际需求来看,军用加固与宇航加固相比,二者的要求不可同日而语。


目前宇航存储介质也非商用的Nand Flash,而是使用SDRAM或者特殊防辐射处理的Nand Flash(如:3D Plus),虽然MRAM具备天然的抗辐射能力,但容量太小,价格昂贵,无法作为主流的存储介质使用。


                                                    2GB NVMe接口 MRAM实物图




随着对数据存储需求容量的快速增加,以及对存储灵活性需求的改变,商用大容量、高可靠性SSD将会迎来星载应用的曙光。


对于SATA、NVMe等这类标准协议的SSD来说,应用于RTOS这类的嵌入式系统时,必须要单独开发相应的驱动,而设备驱动往往又成为整个系统中最不可靠的部分。


驱动不可靠的根源在于:驱动程序的开发人员,要么只是熟悉操作系统,要么只是熟悉硬件,而开发驱动不仅仅需要清除知道硬件指令、时序、协议还需要深入了解操作系统的驱动架构,所以,在此背景下开发的驱动常常会潜在着不可知的Bug,而驱动的回归测试难度比较大,且需要研制特定的工具,如:代码插桩、日志分析、事件记录等。


所以,曙光之前,有很长一段黑暗之路要在煎熬中慢慢度过……


空间常用实时操作系统(RTOS)


RTOS系统非常之多,百花齐放,有偏重于强实时性的,有偏重于弱实时性的,有偏重多进程的,如VxWorks653,有偏重于多线程的,如VxWorks5.4。


比较主流的RTOS包括:VxWorks、Intefrity、RTEMS、QNX、LynxOS、ThreadX、pSOS、uC/OS等等。


与存储相关的是:随着遥感图像的影像分辨率和采样率越来越高,类似通信卫星、气象卫星、测绘卫星等传输型卫星产生越来越巨大的数据流量,这些都需要RTOS提供对大容量固态存储管理的支持。


空间应用的巨大挑战-“单粒子效应”


与地面应用不同,空间应用面临的应用环境要复杂非常很多。浩瀚的太空中布满了质子、电子、α粒子、重离子、γ射线等,高能粒子射入半导体器件后,会发生能量传递和沉积,这些能量激发轨迹周围电子从价带跳到导带上,价带产生空穴,导带产生电子,形成电子-空穴对,引入非平衡载流子经过PN结的电荷聚集后形成瞬间电流,导致节点电势变化,从而发生单粒子效应。


单粒子效应可以导致SSD短暂性软错误和硬错误的发生。


单粒子效应的主要表现有:

  • 单粒子翻转,存储器件的逻辑状态发生翻转;

  • 单粒子多位翻转,一个高能粒子的射入,导致存储单元多位逻辑状态发生改变;

  • 单粒子瞬时脉冲,单个高能粒子射入PN结后,在逻辑电路中产生瞬时脉冲,引起逻辑电路的瞬时错误;

  • 单粒子功能中断,导致控制模块功能错误;

  • 单粒子闩锁,太空粒子的射入导致可控硅导通,进入大电流再生状态,产生单粒子闩锁,闭锁又导致flash电流增大,温度升高,甚至烧毁;

  • 单粒子扰动;

  • 单粒子烧毁;

  • 单粒子栅穿;

  • 单粒子快速反向;

  • 单粒子位移损伤;

  • 单bit硬错误;


存储加固与故障检测


应对单粒子效应的手段就是加固设计和故障检测。冗余设计是加固手段之一,容错的基础是冗余,对于存储而言,需要完成的任务是:如何进行错误屏蔽,尽可能少的甚至避免错误的发生,以及,当错误发生时,如何在不中断任务的情况下进行错误实时恢复,并对冗余架构进行在线重构。


与企业级通过Raid实现冗余方式不同,空间应用还需要从SSD底层做各种冗余,以及存储设备之间也做多种冗余,具体来说,应包括:


  1. 单个SSD内部固件冗余,SSD固件需要多多份冗余,避免因重离子辐射导致的硬错误损坏固件;

  2. 单个SSD闪存芯片冗余,片内冗余需要保证至少有三块芯片出现故障时而SSD仍然保持正常工作且数据不丢;

  3. 多个SSD冗余,比较典型的做法是三模块以及多模块冗余;

  4. 信息冗余检测,如奇偶校验码;

  5. 时间冗余。


冗余技术可以通过表决算法少数服从多数的原则决定最终的输出,比较电路进行错误检测,并保证无错误存储模块不会受到错误存储模块的影响和干扰。通过输出的结果并定位错误来进行错误恢复。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值