【技术实现步骤摘要】
基于Zynq-7000的片上存储器抗单粒子翻转防护方法
本专利技术涉及软件方法领域,具体应用于星载系统中,具体是一种基于Zynq-7000的片上存储器抗单粒子翻转防护方法。
技术介绍
近年来,商用器件(Commercial-off-the-shelf,COTS)因成本低、性能高、不受国外进口限制等特点被越来越多地应用于航天领域中。其中,Xilinx公司的Zynq-7000系列器件将双核ARM处理器与可编程逻辑、硬IP外设紧密集成,其灵活性和可配置性的完美结合受到小卫星领域的广泛关注,逐步应用于航天领域的工程实践中。Zynq-7000SoCPS部分内的双核ARMCortex-A9处理器可采用非对称多处理(AsymmetricMulti-coreProcessor,AMP)机制以并行或冗余的方式执行不同的任务,使系统性能实现最大化。Zynq-7000SoCPS部分内的片上存储器(On-ChipMemory,OCM)包含256KB的RAM存储空间,具有较高的访问吞吐量,是Zynq-7000SoC片内双核处理器之间进行数据交互和资源共享的重要资源媒介。但Zynq-7000作为COTS器件其抗辐射能力较低,其片上存储器很容易受到对RAM敏感的单粒子翻转的影响,造成存储器数据状态的改变,导致双核处理器通信的失效,甚至导致星载系统指令或数据的失效,引发系统崩溃。在星载系统的设计中,不仅要满足星载系统基本的功能需求,更要考虑星载系统的高可靠性要求。目前,针对单粒子翻转进行存储器加固的常用方法是硬件EDAC电路,主要包括处理器自带EDAC电路和用FPGA实现EDAC电路两类 ...
【技术保护点】
一种基于Zynq‑7000的片上存储器抗单粒子翻转防护方法,CPU0或CPU1中的原始数据通过软件EDAC模块进行编码操作,写入到OCM中;OCM中的Hsiao码数据通过软件EDAC模块进行解码操作,被CPU0或CPU1读取;当数据读取检测到单位错或双位错时,SGI产生软件中断进行双核同步数据回写或通知CPU0和CPU1进行处理,其特征在于:A、关键变量定义及初始化:将需存储在OCM且待加固的变量作为关键变量,定义关键变量的位宽,指定关键变量在OCM中的存储地址,初始化关键变量,并对SGI进行使能;B、数据编解码操作:采用具有纠一检二功能的Hsiao码作为OCM加固的纠错码,根据Hsiao码算法原理,对CPU写入OCM的数据进行编码操作,对CPU从OCM读取的数据进行解码操作;C、错误中断生成:采用Zynq‑7000内部软件生成中断SGI处理检测到的错误,当从OCM读取数据检测到单位错时,SGI产生软件中断SEC,通知CPU0和CPU1进行同步回写;当从OCM读取数据检测到双位错时,SGI产生软件中断DED,通知CPU0和CPU1进行处理;D、双核同步回写:当数据读取检测到单位错时,通 ...
【技术特征摘要】
1.一种基于Zynq-7000的片上存储器抗单粒子翻转防护方法,CPU0或CPU1中的原始数据通过软件EDAC模块进行编码操作,写入到OCM中;OCM中的Hsiao码数据通过软件EDAC模块进行解码操作,被CPU0或CPU1读取;当数据读取检测到单位错或双位错时,SGI产生软件中断进行双核同步数据回写或通知CPU0和CPU1进行处理,其特征在于:A、关键变量定义及初始化:将需存储在OCM且待加固的变量作为关键变量,定义关键变量的位宽,指定关键变量在OCM中的存储地址,初始化关键变量,并对SGI进行使能;B、数据编解码操作:采用具有纠一检二功能的Hsiao码作为OCM加固的纠错码,根据Hsiao码算法原理,对CPU写入OCM的数据进行编码操作,对CPU从OCM读取的数据进行解码操作;C、错误中断生成:采用Zynq-7000内部软件生成中断SGI处理检测到的错误,当从OCM读取数据检测到单位错时,SGI产生软件中断SEC,通知CPU0和CPU1进行同步回写;当从OCM读取数据检测到双位错时,SGI产生软件中断DED,通知CPU0和CPU1进行处理;D、双核同步回写:当数据读取检测到单位错时,通过Hsiao码解码操作可以得到CPU所需的正确数据,但为便于后续数据的使用需将正确数据回写到OCM中,同时为避免一个CPU在数据回写过程中被另一个CPU访问,采取双核同步回写操作,直到数据回写完成才可以被访问。2.根据权利要求1所述的基于Zynq-7000的片上存储器抗单粒子翻转防护方法,其特征在于:所述的关键变量定义及初始化过程中,将所有存储到OCM的关键变量定义成位宽为32位的无符号长整型数,其中仅低16位有效,高16位全部清0,用作(13,8)Hsiao码校验位的存储;为所有的关键变量分配OCM存储地址,Zynq-7000内OCM默认的映射地址空间为(0x0000_0000~0x0003_FFFF)和(0xFFFF_0000~0xFFFF_FFFF);对存储到OCM的关键变量进行初始化赋值。3.根据权利要求1所述的基于Zynq-7000的片上存储器抗单粒子翻转防护方法,其特征在于:所述的解码操作过程中,当CPU向OCM写入数据时,从CPU0或CPU1中读取原始数据,将原始数据的低16位有效数据拆分成两组8位数据,对8位数据进行移位操作存入一个长度为8的数据位数组中,使数组中各元素最低位的值为8位数据相应位的值;根据上述得到的数据数组与(13,8)Hsiao码算法获取的生成矩阵G,...
【专利技术属性】
技术研发人员:彭喜元,沈露,崔秀海,彭宇,王少军,
申请(专利权)人:哈尔滨工业大学,
类型:发明
国别省市:黑龙江,23
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。