一种实时校验FLASH数据正确性的方法技术

技术编号:17912129 阅读:31 留言:0更新日期:2018-05-10 18:06
本发明专利技术一种实时校验FLASH数据正确性的方法属于高可靠容错计算机设计与综合验证技术领域。该方法采用自带校验功能总线以及校验FLASH等硬件电路,以及FPGA实现,在维护模式写入校验数据,在应用模式实现实时校验,不增加系统开销。为高可靠容错计算机提供了一种实时校验FLASH的解决方案。本发明专利技术的优点是在读取数据FLASH时完成校验,并且不增加系统开销。

【技术实现步骤摘要】
一种实时校验FLASH数据正确性的方法
本专利技术一种实时校验FLASH数据正确性的方法属于高可靠容错计算机设计与综合验证

技术介绍
在新一代战机的研制中,对容错计算机运行的可靠性越来越引起大家的重视,对系统测试验证的完整性也提出了更高的要求。传统校验数据FLASH的方法,主要在两个时机,第一,固化数据FLASH完毕后,对数据FLASH进行一次校验,校验正确后认为固化数据正确;第二,在测试阶段对数据FLASH进行测试,这两种方法均不能实时检测数据准确性,系统可靠性较低。另一种方法是设计一片校验FLASH,用于存储校验数据,先读取数据FLASH中的数据,由软件计算校验值,再读取校验FLASH中的数据,两者比对,这种方法能够实时校验FLASH中的数据,但是两次读取比对,系统开销大,性能会受到影响。
技术实现思路
本专利技术的目的:本专利技术提出一种实时校验FLASH数据正确性的方法。该方法采用自带校验功能总线以及校验FLASH等硬件电路,以及FPGA实现,在维护工作阶段写入校验数据,在应用工作阶段实现实时校验,不增加系统开销。为高可靠容错计算机提供了一种实时校验FLASH的解决方案。本专利技术的技术方案:一种实时校验FLASH数据正确性的方法,所述方法基于一个硬件平台,所述硬件平台包括自带校验功能的总线、CPU、存储器、FPGA、校验FLASH硬件电路,校验FLASH硬件电路包括数据FLASH和校验FLASH,数据FLASH和校验FLASH的数据线、地址线、控制信号均接入FPGA,CPU、FPGA、存储器通过总线进行通讯,所述方法采取以下步骤:(一)维护工作阶段CPU以编程命令序列的方式,通过FPGA向数据FLASH固化数据,通过FPGA向校验FLASH中固化校验值,所述编程命令序列由一系列写操作构成;该阶段时FPGA给数据FLASH和校验FLASH分配不同的片选空间;数据和校验值的固化分为以下三个步骤:1)CPU向数据FLASH所在片选空间发起编程命令序列,用于将数据固化到数据FLASH中,所述编程命令序列由一系列写操作构成;FPGA收到每次写操作后,控制数据FLASH的数据线、地址线、控制信号,实现对于数据FLASH的写操作,在编程命令序列执行完毕后,数据即被固化到数据FLASH中;2)总线计算出数据FLASH中所固化数据的校验值,FPGA记录该校验值;3)CPU从FPGA中读取该校验值,然后再向校验FLASH所在片选空间发起编程命令序列;所述编程命令序列由一系列写操作构成,用于将校验值固化到校验FLASH中;FPGA收到每次写操作后,控制校验FLASH的数据线、地址线、控制信号,实现对于校验FLASH的写操作;在编程命令序列执行完毕后,校验值即被固化到校验FLASH中;(二)应用工作阶段本方法在此阶段实现实时校验,硬件平台加电工作开始时,CPU要将数据FLASH中固化的数据读出,并写入到存储器;该阶段FPGA给数据FLASH和校验FLASH分配相同的片选空间;数据FLASH中固化数据的读取分为以下两个步骤:1)CPU向数据FLASH和校验FLASH共同的片选空间发起读操作;FPGA收到读操作后,控制数据FLASH和校验FLASH的数据线、地址线、控制信号,实现对于数据FLASH和校验FLASH的并发读操作;FPGA将数据FLASH读操作返回的数据和校验FLASH读操作返回的校验值递交给总线;2)总线依据获得的数据和校验值,进行校验判断,若校验结果正确,则说明硬件平台正常工作,若校验结果错误,则说明数据可能有误,总线向CPU发送中断信号来告知其发生错误。本专利技术的优点是:1、在读取数据FLASH和校验FLASH的同时完成校验,实现实时校验;2、采用总线完成校验,不增加系统开销。附图说明:图1是硬件平台设计原理图具体实施方式下面结合附图对本专利技术进行进一步详细的说明。数据FLASH中存储操作系统、驱动程序等关键的数据,如果数据FLASH中存储的数据出错,系统将不能正常工作,因此数据FLASH中存储的数据十分关键。一种实时校验FLASH数据正确性的方法,所述方法基于一个硬件平台,所述硬件平台包括以下几部分:自带校验功能的总线电路、CPU及存储器电路、FPGA电路、校验FLASH硬件电路,FPGA和CPU通过总线进行通讯,CPU与存储器连接,校验FLASH硬件电路包括数据FLASH和校验FLASH,数据FLASH和校验FLASH的数据线、地址线、控制信号均接入FPGA。各部件之间的通讯关系详见附图1。所述方法有两个工作阶段,维护工作阶段写入校验数据,在应用工作阶段实现实时校验。所述方法采取以下两个工作阶段:(一)维护工作阶段维护工作阶段需要完成三项工作:数据FLASH需要完成数据的固化;总线需要计算出数据FLASH中所固化数据的校验值;校验FLASH需要完成校验值的固化。下面详细说明:1、数据FLASH需要在此阶段完成数据的固化,由CPU向数据FLASH固化数据。数据FLASH固化数据采取以下三个步骤:1)固化数据是以编程命令序列的方式执行的,CPU向数据FLASH所在片选空间发起编程命令序列,编程命令序列由4次写操作构成;2)FPGA收到写操作指令后,FPGA控制数据FLASH的数据线、地址线、控制信号实现对于数据FLASH的写操作,FPGA将数据FLASH的片选信号、写使能信号置为有效,将总线上传来的数据固化到数据FLASH相应地址空间中,完成数据的固化;3)重复执行1-2步骤,直到所有数据全部固化到数据FLASH中。2、总线计算出数据FLASH中所固化数据的校验值,FPGA记录该校验值,需要采取以下两个步骤:1)自带校验功能的总线具备校验位数据线,总线上的校验位数据线接入FPGA,当CPU向数据FLASH中固化数据的时候,通过总线将数据传送给数据FLASH,总线同时生成该数据的校验值;2)FPGA记录该校验值。3、校验FLASH需要完成校验值的固化,由CPU向校验FLASH固化校验值。校验FLASH固化数据采取以下三个步骤:1)固化校验值是以编程命令序列的方式执行的,CPU从FPGA中读取校验值,CPU向校验FLASH所在片选空间发起编程命令序列,编程命令序列由4次写操作构成;2)FPGA收到写操作指令后,FPGA控制校验FLASH的数据线、地址线、控制信号实现对于校验FLASH的写操作,FPGA将校验FLASH的片选信号、写使能信号置为有效,将校验值固化到校验FLASH相应地址空间中,完成校验值的固化;3)重复执行1-2步骤,直到所有校验值全部固化到校验FLASH。在维护工作阶段,完成数据FLASH中数据的固化和校验FLASH中校验值的固化,此阶段结束后将不再对数据FLASH和校验FLASH执行固化。(二)应用工作阶段硬件平台正常工作均处于应用工作阶段,本方法在此阶段实现实时校验。此阶段完成两项工作:读取数据FLASH中的数据和校验FLASH中的校验值;总线依据获得的数据和校验值进行校验判断。下面详细说明:1、硬件平台加电工作开始时,CPU要将数据FLASH中固化的数据读出,并写入到存储器,该阶段FPGA给数据FLASH和校验FLASH分配相同的片选空间,数据FLASH中的数据和校验FLASH中校验本文档来自技高网...
一种实时校验FLASH数据正确性的方法

【技术保护点】
一种实时校验FLASH数据正确性的方法,其特征在于,所述方法基于一个硬件平台,所述硬件平台包括自带校验功能的总线、CPU、存储器、FPGA、校验FLASH硬件电路,校验FLASH硬件电路包括数据FLASH和校验FLASH,数据FLASH和校验FLASH的数据线、地址线、控制信号均接入FPGA,CPU、FPGA、存储器通过总线进行通讯,所述方法采取以下步骤:(一)维护工作阶段CPU以编程命令序列的方式,通过FPGA向数据FLASH固化数据,通过FPGA向校验FLASH中固化校验值,所述编程命令序列由一系列写操作构成;该阶段时FPGA给数据FLASH和校验FLASH分配不同的片选空间;数据和校验值的固化分为以下三个步骤:1)CPU向数据FLASH所在片选空间发起编程命令序列,用于将数据固化到数据FLASH中,所述编程命令序列由一系列写操作构成;FPGA收到每次写操作后,控制数据FLASH的数据线、地址线、控制信号,实现对于数据FLASH的写操作,在编程命令序列执行完毕后,数据即被固化到数据FLASH中;2)总线计算出数据FLASH中所固化数据的校验值,FPGA记录该校验值;3)CPU从FPGA中读取该校验值,然后再向校验FLASH所在片选空间发起编程命令序列;所述编程命令序列由一系列写操作构成,用于将校验值固化到校验FLASH中;FPGA收到每次写操作后,控制校验FLASH的数据线、地址线、控制信号,实现对于校验FLASH的写操作;在编程命令序列执行完毕后,校验值即被固化到校验FLASH中;(二)应用工作阶段本方法在此阶段实现实时校验,硬件平台加电工作开始时,CPU要将数据FLASH中固化的数据读出,并写入到存储器;该阶段FPGA给数据FLASH和校验FLASH分配相同的片选空间;数据FLASH中固化数据的读取分为以下两个步骤:1)CPU向数据FLASH和校验FLASH共同的片选空间发起读操作;FPGA收到读操作后,控制数据FLASH和校验FLASH的数据线、地址线、控制信号,实现对于数据FLASH和校验FLASH的并发读操作;FPGA将数据FLASH读操作返回的数据和校验FLASH读操作返回的校验值递交给总线;2)总线依据获得的数据和校验值,进行校验判断,若校验结果正确,则说明硬件平台正常工作,若校验结果错误,则说明数据可能有误,总线向CPU发送中断信号来告知其发生错误。...

【技术特征摘要】
1.一种实时校验FLASH数据正确性的方法,其特征在于,所述方法基于一个硬件平台,所述硬件平台包括自带校验功能的总线、CPU、存储器、FPGA、校验FLASH硬件电路,校验FLASH硬件电路包括数据FLASH和校验FLASH,数据FLASH和校验FLASH的数据线、地址线、控制信号均接入FPGA,CPU、FPGA、存储器通过总线进行通讯,所述方法采取以下步骤:(一)维护工作阶段CPU以编程命令序列的方式,通过FPGA向数据FLASH固化数据,通过FPGA向校验FLASH中固化校验值,所述编程命令序列由一系列写操作构成;该阶段时FPGA给数据FLASH和校验FLASH分配不同的片选空间;数据和校验值的固化分为以下三个步骤:1)CPU向数据FLASH所在片选空间发起编程命令序列,用于将数据固化到数据FLASH中,所述编程命令序列由一系列写操作构成;FPGA收到每次写操作后,控制数据FLASH的数据线、地址线、控制信号,实现对于数据FLASH的写操作,在编程命令序列执行完毕后,数据即被固化到数据FLASH中;2)总线计算出数据FLASH中所固化数据的校验值,FPGA记录该校验值;3)CPU从FP...

【专利技术属性】
技术研发人员:吴琳韩强段小虎边庆程俊强
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1