论文部分内容阅读
随着航天遥感技术的发展,星上采集的数据量增大,星载嵌入式系统的处理能力和存储能力必须得到提升。在存储方面,必须采用大容量存储器将采集到的数据可靠存储下来。在处理方面,必须采用多处理器并行处理架构保证处理能力。本文主要从大容量存储器的容错技术和多处理器的并行处理技术两个方面研究嵌入式系统的关键技术。 大容量存储器是星载嵌入式系统的重要器件,只有保证采集到的数据可靠存储,才能进行后续的处理工作。NAND Flash是最常用的大容量存储设备之一。由于位翻转效应的存在,NAND Flash必须添加高效的、可移植性高的容错措施才能保证可靠存储。本文的主要研究工作有: 1)本文首先对比分析现有的容错方法,提出了一种能够通过软件快速实现的BCH码译码方法。利用余式比较法求校正子、简化的PGZ方法求错误位置多项式,Zinoviev法求错误位置多项式的根。与现有方法相比能降低复杂度,使软件实现与硬件实现具有相比拟的编译码性能,获得更高的灵活性。 2)提出一种基于“Error locality”特性的读错误修正方法。Error locality特性告诉我们两次写数据中间有近60%到90%读错误的位置保持不变。本方法在读数据时预先比较修正Error Map中记录的具有Error locality特性的错误位置信息,使得需要纠错码纠正的错误位数大大降低。 3)本文还提出一种用于MLC型NAND Flash的动态ECC纠错方法。包括三个模块:ECC选择模块通过可靠性查找表预估BER,选择合适的ECC;错误修正模块借助2)中提出的读错误修正方法预先修正具有Error locality特性的错误;动态ECC纠错模块提供不同能力的ECC。本方法具有更低的存储冗余和时间开销,基于ADSP-TS201(主频600MHz)的平均读数据吞吐率达到485.4Mbps,满足大部分的实时数据处理需求。且应用灵活,可移植性高,使得纠错控制编码的使用对NAND Flash读写效率的影响大大降低。 大容量存储器中存储的数据,需要在星上进行实时快速处理。为了达到这一目的,目前星上嵌入式系统均采用多处理器并行处理架构。因此并行能力的发挥对嵌入式系统的处理能力具有至关重要的作用。这就需要高效的并行任务调度算法提升处理器利用率。本文的主要研究工作有: 1)本文给出一种通用的并行任务调度问题的系统架构,分为处理器模型、任务模型、任务调度策略和评价指标四部分。在分析本课题组嵌入式系统应用环境的特点之后,建立最为常用的并行任务模型:DAG任务模型和Fork-Join任务模型,分别进行任务调度算法研究。 2)针对任务之间依赖性较强的DAG任务模型,本文提出一种新的任务调度算法。将前驱任务节点分为三类,在保证最早开始时间的前提下,优先考虑关键前驱节点所在处理器是否满足直接插入、通信间隙插入及关键前驱复制条件。然后对自由非关键前驱进行分配,依次考虑能否跳过非关键前驱、直接插入现有处理器或增加新处理器。本方法非关键前驱任务也能得到合并,可以降低处理器消耗,减少调度时长,提高处理器利用率。 3)针对规则性较强的Fork-Join任务模型,本文提出一种通信受限条件下的TSFJ_SC调度算法。针对串行通信场合,可以严格限制处理器的数目,以规定的最少处理器完成任务调度。引入busy-window的概念模拟信道占用情况,在不推迟最早开始时间的前提下优先考虑插入主处理器、通信间隙占用、插入从处理器、插入空白新处理器等分配规则。本方法可以避免通信冲突,在处理器数目、调度长度、处理器利用率等方面均具有十分优越的效果。 通过以上研究,大容量存储器的容错技术能够保证星载嵌入式系统可靠高效的存储采集到的遥感数据。多处理器并行任务调度算法的研究保证嵌入式系统具有良好的并行性能,采集的数据能够快速实时处理。以上两项关键技术的突破对星载嵌入式系统的推广实现具有重要的研究意义。