CN102508731A - 基于rs编译码的操作系统的容错启动方法 - Google Patents
基于rs编译码的操作系统的容错启动方法 Download PDFInfo
- Publication number
- CN102508731A CN102508731A CN2011102995877A CN201110299587A CN102508731A CN 102508731 A CN102508731 A CN 102508731A CN 2011102995877 A CN2011102995877 A CN 2011102995877A CN 201110299587 A CN201110299587 A CN 201110299587A CN 102508731 A CN102508731 A CN 102508731A
- Authority
- CN
- China
- Prior art keywords
- prom
- operating system
- decoding
- software
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种基于RS编译码的操作系统容错启动方法。基于小容量的抗辐射PROM加大容量商用存储器如FLASH,使用PROM实现容错启动引导,FLASH存储经过RS容错编码的操作系统和应用程序;航天计算机上电后从PROM启动PROM搬移软件,PROM搬移软件从PROM读取PROM译码软件存储到内存的指定地址并运行;PROM译码软件利用RS译码算法从FLASH读取操作系统并进行译码纠错,搬移到系统内存后启动运行;操作系统利用RS译码算法从FLASH读取应用软件并译码纠错,搬移到内存池后加载运行。本发明同时解决了抗辐射PROM容量小和大容量操作系统安全引导和应用程序容错启动的问题。
Description
技术领域
本发明涉及航天计算机程序存储器的可靠性设计技术领域,具体涉及一种基于RS编译码的操作系统容错启动方法。
背景技术
当前,航天计算机所采用抗辐射的程序存储器PROM严重依赖进口,而且抗辐射的程序存储器容量通常比较小。但是,目前航天计算机通常采用操作系统开发模式,操作系统和应用程序占用的程序存储器过大,单纯依靠进口的抗辐射程序存储器PROM,其容量无法满足应用要求。
如果采用商用大容量的FLASH或E2PROM存储操作系统和应用程序代码,在抗辐射程序存储器中存储引导程序引导操作系统和应用程序的启动,则可能由于FLASH或E2PROM不具备抗辐射性能,从而导致航天计算机启动失败。
因此,在航天软件普遍采用实时操作系统的今天,亟需解决大容量操作系统和应用程序的容错可靠的存储和引导问题,从而实现容错启动。
发明内容
有鉴于此,本发明提供了一种基于RS编译码的操作系统容错启动方法,能够解决大容量操作系统和应用程序的容错可靠的存储和引导问题,实现容错启动。
该方案是这样实现的:
一种基于RS编译码的操作系统容错启动方法,该方法包括:预先在航天计算机中设置两种类型的程序存储器和一种数据存储器作为系统内存,包括抗辐射的小容量PROM,商用大容量存储器——FLASH或E2PROM,以及作为系统内存的SRAM或SDRAM;
预先在PROM中存储PROM系统参数、PROM搬移软件和PROM译码软件,其中,PROM搬移软件存储在PROM中的CPU上电启动地址上,PROM译码软件内设RS编译码算法和搬移纠错功能,PROM系统参数记载PROM译码软件在PROM中的存储地址即搬移地址以及PROM译码软件被搬移到航天计算机内存中的目标地址1;
预先在商用大容量存储器中存储操作系统和应用软件相关的系统参数、操作系统软件和应用程序;操作系统和应用程序均采用RS编码存储,而且均分别独立存储至少3份;操作系统软件开发了RS编译码算法和应用程序加载模块;系统参数记载操作系统软件和应用程序在商用大容量存储器中的存储地址即搬移地址,还记载操作系统搬移到内存中的目标地址2;相对于目标地址1来说,目标地址2为低端地址,目标地址1为高端地址;
操作系统容错启动过程包括如下步骤:
步骤1:由于PROM搬移软件入口地址为CPU的上电启动地址,航天计算机上电后,CPU首先执行CPU启动地址上的PROM搬移软件;
步骤2:PROM搬移软件读取记录在PROM的PROM系统参数,根据PROM系统参数,从PROM读取PROM译码软件并搬移到内存的目标地址1,然后启动PROM译码软件的执行;
步骤3:PROM译码软件读取记录在商用大容量存储器的系统参数,根据该系统参数将经过RS编码存储在商用大容量存储器中的操作系统软件进行RS译码并搬移到内存的目标地址2;
步骤4:译码搬移完成后,跳转到操作系统的入口地址,启动操作系统的引导过程;操作系统启动后,高端地址同时被回收,作为操作系统内存池的一部分;
步骤5:操作系统读取记录在商用大容量存储器的系统参数,根据该系统参数将经过RS编码存储在商用大容量存储器中的应用程序进行RS译码并以文件的形式存储到在内存区创建的虚拟磁盘″/ram0″中;虚拟磁盘″/ram0″为由操作系统在内存池内动态开辟的一段地址空间,其位置为高端地址和低端地址之间;
操作系统软件和应用程序的译码并搬移均为:先读取3个备份中的备份1,同时进行RS译码并搬移到目标地址,译码搬移过程中同时纠正编码组的错误,如果备份1出现RS编码无法译码纠正的错误,对备份2进行译码和搬移,并将搬移地址切换为指向备份2,以此类推;如果3个备份均不能正确译码,则确定启动故障,跳出本流程;
步骤6:通过运行操作系统中的应用程序加载模块,将存储在虚拟磁盘″/ram0″中的应用程序加载到操作系统中,并启动应用程序任务的执行。
较佳地,所述操作系统为VxWorks操作系统;所述操作系统软件使用VxWorks操作系统中的两个组件——内建符号表组件和目标模块加载组件——将存储在虚拟磁盘″/ram0″内的应用程序加载到操作系统中。
较佳地,RS编译码算法采用RS(239,255)编译码算法,在该编码算法中,编码块长度为255字节,码元长度为239字节,编码算法的码距为16。
较佳地,所述如果备份1出现RS编码无法译码纠正的错误,对备份2进行译码和搬移,并将搬移地址切换为指向备份2,具体为:
如果备份1中的出现RS编码无法译码纠错的RS编码块,则启用备份2相应的RS编码块及其后续的编码块,同时将译码搬移地址也切换到备份2。
有益效果:
(1)本发明基于小容量的抗辐射PROM加大容量的商用FLASH或E2PROM,使用抗辐射的PROM实现容错启动引导,使用FLASH或E2PROM用于存储经过RS容错编码的操作系统映像和应用程序,并进行备份。上电后引导启动程序依次加载操作系统和应用程序,在加载过程中RS译码可以实现每个码组255字节中的最多8个字节错误的纠正,如果出现了RS无法纠正的错误,还可以利用备份实现容错。从而解决了抗辐射PROM容量小和大容量操作系统映像和应用程序的存储问题,通过容错启动方案,进一步保证操作系统引导和应用程序启动过程中的容错可靠性。
(2)RS编译码算法采用RS(239,255)编译码算法,每个255字节容错存储的程序映像包能够容忍8个字节的数据错,相比其他EDAC、ECC等纠一检二(位)的容错方案大大提高了操作系统启动的可靠性。
附图说明
图1为航天计算机的基本体系结构。
图2为PROM引导软件的组成及作用关系。
图3为PROM译码搬移操作系统的过程。
图4为操作系统动态译码搬移应用程序模块的过程。
具体实施方式
本发明提供了一种基于RS编译码的操作系统容错启动方案,其基本思想为:采用抗辐射PROM存储引导启动程序,采用大容量商用存储介质例如FLASH或E2PROM存储操作系统代码和应用程序代码,并进行多组备份,且存储时采用RS编码存储;RS(Reed-Solomon)编码是差错控制领域中一类重要的线性分组码,因其具备其出众的纠错能力而被广泛地应用于各种差错控制系统中,以满足对数据传输通道可靠性的要求。
航天计算机上电后,CPU从PROM中读取引导启动程序,该引导启动程序对大容量存储器存储的操作系统代码进行RS译码和纠错,然后搬移到内存运行,完成引导操作系统过程;操作系统运行后,对大容量存储器存储的应用程序代码进行RS译码和纠错,并搬移到内存运行。如果译码过程中出现RS无法纠正的错误,可以对备份进行译码,从而实现容错。
可见,采用抗辐射PROM存储引导启动程序,采用FLASH或E2PROM存储操作系统代码和应用程序代码并进行备份,上电后引导启动程序依次加载操作系统和应用程序,在加载过程中RS译码可以实现由于空间辐射引起存储器错误的纠正,如果出现了RS无法纠正的错误,还可以利用备份实现容错。从而解决大容量操作系统和应用程序的容错可靠的存储和引导问题,实现了容错启动。
下面结合附图对本发明的具体实施方式进行详细描述。
图1为航天计算机的基本体系结构,如图1所示,需要配备多种类型的存储器:抗辐射的小容量PROM、商用的FLASH或E2PROM,以及作为操作系统运行内存的SRAM/SDRAM,本实施例选用SDRAM进行介绍。PROM、FLASH/E2PROM是程序存储器,SRAM/SDRAM是数据存储器,整个作为系统内存,操作系统软件最终运行在系统内存中。其中,
PROM采用的抗辐射PROM,其具有抗粒子翻转的能力。
FLASH作为本实施例的大容量存储器,采用商用级器件,不具备抗辐射能力,但是容量较大,足够存储大容量的操作系统和应用程序代码。操作系统和应用程序代码均采用RS编码形式存储。
SDRAM作为操作系统运行的内存,在使用PowerPC、SPARC体系结构处理器的航天计算机中,CPU内部并没有集成SRAM,因此采用外挂的SDRAM作为内存,并确保SDRAM的空间足够用于RS编译码和操作系统驻留运行。本实施例中,CPU处理器选用国产的SPARC V8处理器BM3803处理器。该CPU处理器具有EDAC功能,能够实现程序存储器和数据存储器的纠正一位数据错和检测两位数据错。
下面首先介绍一下PROM和FLASH中存储的内容,然后再详细描述本发明容错启动的过程。
(1)PROM:
该方案中需要在抗辐射PROM有限容量内(通常为32kByte)实现操作系统的RS编码的译码、以及从FLASH到SDRAM的搬移工作,从而引导操作系统内核。
图2为PROM中存储数据的示意图。在使用PowerPC、SPARC体系结构处理器的航天计算机中,CPU内部并没有集成SRAM,因为RS编译码软件使用大量SRAM/SDRAM内存空间进行迭代和循环操作,因此设计引导启动软件分成两部分,PROM搬移软件和PROM译码软件,PROM搬移软件完成将PROM译码软件搬移到目标地址1的功能,这样PROM译码软件就在目标地址1以上的内存空间运行,因此具备其进行RS译码所使用的内存和堆栈空间,如图2所示,PROM中存储了PROM系统参数、PROM搬移软件和PROM译码软件。其中:
PROM搬移软件,用于实现将PROM译码软件搬移到SDRAM的指定地址。PROM搬移软件存储在PROM中的CPU启动地址上,在航天使用的SPARC V8体系结构的BM3803处理器上,该地址为0x00,那么当CPU启动后就可以从PROM读取PROM搬移软件。
PROM译码软件,内设RS编译码算法和搬移纠错功能,实现对操作系统代码的RS译码和搬移到SDRAM的低端地址0x60004000,该低端地址为操作系统的入口地址。
PROM系统参数,用于记载PROM译码软件在PROM中的存储地址本文称为搬移地址,以及PROM译码软件被搬移到SDRAM中的目标地址。该目标地址为SDRAM中的高端地址0x63F80000(顶端的512KB空间)。
一般的软件执行都是从低端地址往高端地址执行,用高端地址存储PROM译码程序,主要是因为操作系统要从内存的低端地址往高端地址执行,但是在译码搬移过程中操作系统的所存放的地址空间不能和译码程序冲突,因此,高端存放PROM译码软件,PROM译码软件将操作系统存放到内存低端地址,操作系统启动后,高端地址同时被回收,作为操作系统内存池的一部分。下面涉及的虚拟磁盘地址,在操作系统内存池中,创建时由操作系统指定地址。
本实施例中,RS编译码算法采用RS(239,255)编译码算法,在该编码算法中,编码块长度为255字节,码元长度为239字节,编码算法的码距为16,该编码块结构能够纠正最多8个字节的错误。RS编译码通过完全通过软件实现,在引导启动软件和操作系统中使用相同的编译码算法,保证操作系统引导和应用程序启动时编译码的一致性。
(2)FLASH:
图3为FLASH中存储数据的示意图。如图3所示,FLASH中存储了操作系统和应用软件相关的系统参数、操作系统软件和应用程序。其中,
操作系统软件和应用程序的代码均采用RS编码分开存储,而且进行了三冗余备份存储,即操作系统代码独立存储3份,应用程序代码独立存储3份。本实施例中操作系统以VxWorks为例。
操作系统软件,设置了RS编译码算法和应用程序加载模块,能够实现对PROM中应用程序的RS译码纠错,并搬移到SDRAM中的指定地址。
系统参数,用于操作系统软件和应用程序在FLASH中的存储地址即搬移地址,初始时搬移地址指向各自的第一个备份,该搬移地址可以在搬移过程中被更新;还记载操作系统软件搬移到SDRAM中的低端地址,该低端地址设置为操作系统的入口地址;还记载操作系统和应用软件编码前和编码后的长度以及应用软件的入口名称。
基于上述存储内容,下面分步骤描述本发明容错启动的过程,具体包括:
步骤1:航天计算机上电后,CPU从PROM的CPU启动地址上执行PROM搬移软件。
步骤2:如图2所示,PROM搬移软件读取记录在PROM的系统参数,根据PROM系统参数中的搬移地址确定PROM译码软件在PROM中的位置,根据搬移的目标地址0x63F80000,将PROM译码软件搬移到SDRAM内存的高端地址0x63F80000,然后跳转到PROM译码软件的入口地址,启动PROM译码软件的执行。
步骤3:如图3所示,PROM译码软件读取记录在FLASH的系统参数,根据系统参数中的操作系统软件的搬移地址确定当前待搬移的操作系统软件位置,根据搬移的目标地址0x60004000,将经过RS编码存储的操作系统软件,进行RS译码并搬移到0x60004000。
其中,操作系统软件的初始搬移地址为3个备份中备份1的地址。此时,从FLASH中读取操作系统软件的备份1,同时进行RS译码并搬移到目标地址2,译码搬移过程中同时纠正编码的错误。如果备份1出现RS编码无法译码纠正的错误,RS译码软件使用备份2的对应位置的编码块及其后续编码块进行译码和搬移,并将搬移地址切换为指向备份2,使得下一次可以直接从备份2读取,以此类推,备份2的相应编码块出现无法译码纠正的错误时,使用备份3的对应位置的编码块进行译码和搬移。通过三冗余备份,进一步提高了操作系统引导的可靠性。
在实际中,当一个备份无法译码纠错时,也可以从下一个备份中重新读取数据,只是这样会造成处理速度的降低,不是最佳的实施方式。
步骤4:译码搬移完成后,跳转到操作系统的入口地址,启动VxWorks的引导过程。操作系统启动后,高端地址同时被回收,作为操作系统内存池的一部分。
SDRAM作为操作系统的运行内存,因处理器的内存控制器具备ECC/EDAC功能,能够保证系统运行过程中,能够及时纠正空间辐射对SDRAM/SRAM的单粒子翻转影响,保证操作系统可靠运行。
步骤5:如图4所示,操作系统启动完成后,读取记录在FLASH的系统参数,根据FLASH系统参数,将经过RS编码存储的应用程序进行RS译码并搬移到在RAM内存区创建的虚拟磁盘″/ram0″中。虚拟磁盘″/ram0″为由操作系统在内存池内动态开辟的一段地址空间,其位置为高端地址和低端地址之间。
其中,与操作系统软件类似,FLASH为应用程序划分了3个分区,每个分区独立存储一份应用程序。本步骤中,操作系统从FLASH中读取应用程序的备份1,进行RS译码并搬移到虚拟磁盘,译码搬移过程中同时纠正编码的错误。如果备份1出现RS编码无法译码纠正的错误,RS译码软件使用备份2的对应位置的编码块进行译码和搬移,以此类推。通过三冗余备份,进一步提高了应用程序加载的可靠性。
步骤6:通过操作系统中的应用程序加载模块,将存储在虚拟磁盘″/ram0″内的应用程序加载到操作系统中,并启动应用程序任务的执行。
为支持应用程序加载模块的动态加载功能,本实施例中,操作系统软件使用了VxWorks操作系统中的两个组件:内建符号表组件(built-in symbol table)和目标模块加载组件(target loader):
●内建符号表组件:维护操作系统和应用程序加载模块的函数、标号和全局变量的信息,用于基于目标机的函数入口的查找功能,便于使用函数入口名称的函数符号表地址(函数指针),使用此符号表地址,启动应用程序任务。
●目标模块加载组件:将应用程序加载模块以文件的形式动态加载到操作系统内存,同时将该应用程序加载模块的符号表加入到系统符号表中,便于目标加载模块查找应用程序任务入口地址,并根据应用程序入口函数指针启动应用程序任务。
那么,本步骤中就可以通过操作系统中的内建符号表组件和目标加载模块,将存储在虚拟磁盘″/ram0″内的应用程序加载到操作系统中。具体来说,首先译码并搬移分区1内的应用程序模块,并以文件″app.out″的形式存储于虚拟磁盘″/ram0″中,如果分区1内的某个RS编码块出现RS译码无法纠正的错误时,启用分区2相应的RS编码块及其后续的编码块,同时将译码搬移地址也切换到分区2,依此类推,分区2发生相似故障,启用分区3,继续译码搬移。如果三个分区的同一位置的编码块均发生无法译码纠正的错误,则操作系统启动故障,操作系统进行自主复位重启。
当应用程序模块通过虚拟磁盘″/ram0″加载应用程序模块″app.out″时,首先通过函数″loadModule″将应用程序模块加载到操作系统内存池,同时更新系统符号表。然后通过系统符号表查找函数″symFindByName″找到应用程序入口,并通过操作系统启动应用程序任务。
至此,完成了航天计算机的容错启动过程。
经过软件模拟和烧录到FLASH存储器实验,当应用程序模块的每组RS编码数据中出现不多于8个字节的错误时,通过操作系统实现的RS译码及目标加载模块能够正确译码并搬移应用程序模块,然后加载应用程序后正确启动应用程序任务。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于RS编译码的操作系统容错启动方法,其特征在于,该方法包括:预先在航天计算机中设置两种类型的程序存储器和一种数据存储器作为系统内存,包括抗辐射的小容量PROM,商用大容量存储器——FLASH或E2PROM,以及作为系统内存的SRAM或SDRAM;
预先在PROM中存储PROM系统参数、PROM搬移软件和PROM译码软件,其中,PROM搬移软件存储在PROM中的CPU上电启动地址上,PROM译码软件内设RS编译码算法和搬移纠错功能,PROM系统参数记载PROM译码软件在PROM中的存储地址即搬移地址以及PROM译码软件被搬移到航天计算机内存中的目标地址1;
预先在商用大容量存储器中存储操作系统和应用软件相关的系统参数、操作系统软件和应用程序;操作系统和应用程序均采用RS编码存储,而且均分别独立存储至少3份;操作系统软件开发了RS编译码算法和应用程序加载模块;系统参数记载操作系统软件和应用程序在商用大容量存储器中的存储地址即搬移地址,还记载操作系统搬移到内存中的目标地址2;相对于目标地址1来说,目标地址2为低端地址,目标地址1为高端地址;
操作系统容错启动过程包括如下步骤:
步骤1:由于PROM搬移软件入口地址为CPU的上电启动地址,航天计算机上电后,CPU首先执行CPU启动地址上的PROM搬移软件;
步骤2:PROM搬移软件读取记录在PROM的PROM系统参数,根据PROM系统参数,从PROM读取PROM译码软件并搬移到内存的目标地址1,然后启动PROM译码软件的执行;
步骤3:PROM译码软件读取记录在商用大容量存储器的系统参数,根据该系统参数将经过RS编码存储在商用大容量存储器中的操作系统软件进行RS译码并搬移到内存的目标地址2;
步骤4:译码搬移完成后,跳转到操作系统的入口地址,启动操作系统的引导过程;操作系统启动后,高端地址同时被回收,作为操作系统内存池的一部分;
步骤5:操作系统读取记录在商用大容量存储器的系统参数,根据该系统参数将经过RS编码存储在商用大容量存储器中的应用程序进行RS译码并以文件的形式存储到在内存区创建的虚拟磁盘″/ram0″中;虚拟磁盘″/ram0″为由操作系统在内存池内动态开辟的一段地址空间,其位置为高端地址和低端地址之间;
操作系统软件和应用程序的译码并搬移均为:先读取3个备份中的备份1,同时进行RS译码并搬移到目标地址,译码搬移过程中同时纠正编码组的错误,如果备份1出现RS编码无法译码纠正的错误,对备份2进行译码和搬移,并将搬移地址切换为指向备份2,以此类推;如果3个备份均不能正确译码,则确定启动故障,跳出本流程;
步骤6:通过运行操作系统中的应用程序加载模块,将存储在虚拟磁盘″/ram0″中的应用程序加载到操作系统中,并启动应用程序任务的执行。
2.如权利要求1所述的方法,其特征在于,所述操作系统为VxWorks操作系统;所述操作系统软件使用VxWorks操作系统中的两个组件——内建符号表组件和目标模块加载组件——将存储在虚拟磁盘″/ram0″内的应用程序加载到操作系统中。
3.如权利要求1所述的方法,其特征在于,RS编译码算法采用RS(239,255)编译码算法,在该编码算法中,编码块长度为255字节,码元长度为239字节,编码算法的码距为16。
4.如权利要求1所述的方法,其特征在于,步骤5中,所述如果备份1出现RS编码无法译码纠正的错误,对备份2进行译码和搬移,并将搬移地址切换为指向备份2,具体为:
如果备份1中的出现RS编码无法译码纠错的RS编码块,则启用备份2相应的RS编码块及其后续的编码块,同时将译码搬移地址也切换到备份2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110299587 CN102508731B (zh) | 2011-09-29 | 2011-09-29 | 基于rs编译码的操作系统的容错启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110299587 CN102508731B (zh) | 2011-09-29 | 2011-09-29 | 基于rs编译码的操作系统的容错启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102508731A true CN102508731A (zh) | 2012-06-20 |
CN102508731B CN102508731B (zh) | 2013-06-12 |
Family
ID=46220823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110299587 Active CN102508731B (zh) | 2011-09-29 | 2011-09-29 | 基于rs编译码的操作系统的容错启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102508731B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201765A (zh) * | 2016-07-21 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 基于μC/OS‑II操作系统的任务堆栈区数据校验恢复方法 |
CN108375971A (zh) * | 2018-03-18 | 2018-08-07 | 哈尔滨工程大学 | 用于小卫星的综合电子系统健康管理模块及健康管理方法 |
CN108446189A (zh) * | 2018-06-12 | 2018-08-24 | 中国科学院上海技术物理研究所 | 一种星载嵌入式软件容错启动系统及方法 |
CN108829465A (zh) * | 2018-06-27 | 2018-11-16 | 北京计算机技术及应用研究所 | 一种基于直接读写flash的本地动态加载系统及方法 |
CN113010179A (zh) * | 2021-02-23 | 2021-06-22 | 深圳市广和通无线股份有限公司 | 存储架构下的软件存储方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369767A (en) * | 1989-05-17 | 1994-11-29 | International Business Machines Corp. | Servicing interrupt requests in a data processing system without using the services of an operating system |
CN1632757A (zh) * | 2005-01-10 | 2005-06-29 | 中国航天时代电子公司第七七一研究所 | 空间计算机抗单粒子翻转的存储器纠检错与自动回写方法 |
EP1625484B1 (en) * | 2003-02-28 | 2009-09-23 | Maxwell Technologies, Inc. | Self-correcting computer |
US20090307691A1 (en) * | 2008-06-04 | 2009-12-10 | Microsoft Corporation | Coordination among multiple memory controllers |
CN101930384A (zh) * | 2010-09-10 | 2010-12-29 | 北京中科院软件中心有限公司 | 文件系统的容错方法及其装置 |
-
2011
- 2011-09-29 CN CN 201110299587 patent/CN102508731B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369767A (en) * | 1989-05-17 | 1994-11-29 | International Business Machines Corp. | Servicing interrupt requests in a data processing system without using the services of an operating system |
EP1625484B1 (en) * | 2003-02-28 | 2009-09-23 | Maxwell Technologies, Inc. | Self-correcting computer |
CN1632757A (zh) * | 2005-01-10 | 2005-06-29 | 中国航天时代电子公司第七七一研究所 | 空间计算机抗单粒子翻转的存储器纠检错与自动回写方法 |
US20090307691A1 (en) * | 2008-06-04 | 2009-12-10 | Microsoft Corporation | Coordination among multiple memory controllers |
CN101930384A (zh) * | 2010-09-10 | 2010-12-29 | 北京中科院软件中心有限公司 | 文件系统的容错方法及其装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201765A (zh) * | 2016-07-21 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 基于μC/OS‑II操作系统的任务堆栈区数据校验恢复方法 |
CN106201765B (zh) * | 2016-07-21 | 2019-03-15 | 中国人民解放军国防科学技术大学 | 基于μC/OS-II操作系统的任务堆栈区数据校验恢复方法 |
CN108375971A (zh) * | 2018-03-18 | 2018-08-07 | 哈尔滨工程大学 | 用于小卫星的综合电子系统健康管理模块及健康管理方法 |
CN108446189A (zh) * | 2018-06-12 | 2018-08-24 | 中国科学院上海技术物理研究所 | 一种星载嵌入式软件容错启动系统及方法 |
CN108446189B (zh) * | 2018-06-12 | 2023-09-12 | 中国科学院上海技术物理研究所 | 一种星载嵌入式软件容错启动系统及方法 |
CN108829465A (zh) * | 2018-06-27 | 2018-11-16 | 北京计算机技术及应用研究所 | 一种基于直接读写flash的本地动态加载系统及方法 |
CN108829465B (zh) * | 2018-06-27 | 2021-01-08 | 北京计算机技术及应用研究所 | 一种基于直接读写flash的本地动态加载系统及方法 |
CN113010179A (zh) * | 2021-02-23 | 2021-06-22 | 深圳市广和通无线股份有限公司 | 存储架构下的软件存储方法 |
CN113010179B (zh) * | 2021-02-23 | 2024-03-15 | 深圳市广和通无线股份有限公司 | 基于实时操作系统的独立应用的运行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102508731B (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3724764B1 (en) | Write-ahead style logging in a persistent memory device | |
US9286164B2 (en) | Electronic device to restore MBR, method thereof, and computer-readable medium | |
CN102508731A (zh) | 基于rs编译码的操作系统的容错启动方法 | |
US8812910B2 (en) | Pilot process method for system boot and associated apparatus | |
US7480829B2 (en) | Method, system and computer program product for recovery of formatting in repair of bad sectors in flash memory | |
CN107315616B (zh) | 一种固件的加载方法、装置及电子设备 | |
KR20120024906A (ko) | 불휘발성 메모리로부터의 디바이스 부트업 동안 에러들의 핸들링 | |
US8074113B2 (en) | System and method for data protection against power failure during sector remapping | |
CN102830990A (zh) | 一种计算机系统启动方法及计算机终端 | |
CN101944386B (zh) | 识别闪速存储器中错误数据的控制电路及存储系统与方法 | |
US9547566B2 (en) | Storage control apparatus, storage apparatus, information processing system, and storage control method therefor | |
EP2770507B1 (en) | Memory circuits, method for accessing a memory and method for repairing a memory | |
CN104750565A (zh) | Nand坏块处理方法及nand闪存设备 | |
CN103530138A (zh) | 基于嵌入式linux的文件系统数据保护方法及装置 | |
US9218249B2 (en) | Electronic apparatus, method of restoring guid partition table (GPT) and computer-readable recording medium | |
US11544144B2 (en) | Read recovery control circuitry | |
CN103530069A (zh) | 一种raid5磁盘阵列坏扇区处理方法 | |
CN102279757A (zh) | 一种系统程序启动的方法及装置 | |
CN103530242B (zh) | NandFlash存储器写操作过程掉电防护方法 | |
CN102495812A (zh) | Linux平台硬盘数据保护与恢复方法 | |
CN102609282A (zh) | Nand闪存的固化代码的执行方法 | |
CN105549985A (zh) | 一种增强Linux应用系统可靠性的方法与系统 | |
US20100138603A1 (en) | System and method for preventing data corruption after power failure | |
CN110674046B (zh) | 提高星载嵌入式文件系统可靠性的方法 | |
CN102623066A (zh) | 固化代码参数表的保存及获取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |