多系统设备启动系统及其方法技术方案

技术编号:9825971 阅读:116 留言:0更新日期:2014-04-01 13:57
本发明专利技术涉及计算机领域,公开了一种多系统设备启动系统及其方法。本发明专利技术中,该多系统设备启动系统包括采用SPI闪存的第一存储器,用于存储引导加载程序,以及采用NAND闪存的第二存储器,其中包含至少两个分区,分别存放相同的系统文件。通过采用SPI闪存存储引导加载程序和NAND闪存存储系统文件的方式进行多系统设备的启动,既降低了生产成本,又保证了系统的稳定性。本发明专利技术从第一个分区启动,正常则加载,不对第二个分区进行检测,只有在第一个分区有错误时再跳至第二个分区启动,检测过程则留给内核来做,节省了系统启动时间。

【技术实现步骤摘要】
【专利摘要】本专利技术涉及计算机领域,公开了一种。本专利技术中,该多系统设备启动系统包括采用SPI闪存的第一存储器,用于存储引导加载程序,以及采用NAND闪存的第二存储器,其中包含至少两个分区,分别存放相同的系统文件。通过采用SPI闪存存储引导加载程序和NAND闪存存储系统文件的方式进行多系统设备的启动,既降低了生产成本,又保证了系统的稳定性。本专利技术从第一个分区启动,正常则加载,不对第二个分区进行检测,只有在第一个分区有错误时再跳至第二个分区启动,检测过程则留给内核来做,节省了系统启动时间。【专利说明】
本专利技术涉及计算机领域,特别涉及多系统设备启动技术。
技术介绍
闪存是一种非易失性存储器,即使断电,数据也不会丢失,因此嵌入式设备的系统文件通常存放于闪存中。目前的绝大部分嵌入式设备,其系统文件都存于NOR闪存上。该类闪存的特点是芯片内执行,这样应用程序可以直接在闪存中运行,不必再把代码读到系统随机存取存储器(Random Access Memory,简称“RAM”)中,而且其传输效率很高,在4M bytes以下的小容量时具有很高的成本效益,但是其写入和擦除速度很低,大大影响到它的性能,在大容量下不具备成本优势。而串行外设接口(Serial Peripheral Interface,简称“SPI”)闪存是NOR闪存的一种。NAND闪存是使用较复杂的I/O接口进行数据读写的闪存芯片,其擦写速度非常快,成本相对NOR闪存较低且容量大,是高数据密度的理想解决方案。但是NAND闪存本身由于易发生位翻转现象,即存储器中的数据包含的二进制数据中出现I变为0、0变为I的情况,需要使用错误检查和纠正(Error Correcting Code,简称“ECC”)算法来确保其可靠性。本专利技术的专利技术人发现,如果将系统文件直接存于NAND闪存上面,虽可降低生产成本,但是鉴于该类存储器易发生位翻转现象,一旦超出ECC的纠错能力,则会出现系统不能正常启动的现象。本专利技术的专利技术人还发现,当前嵌入式设备的系统文件放在闪存中,基本上只有一个系统,若系统文件损坏,则只能由技术支持人员重新升级,这种方式无疑会降低用户的信任度并且也会增大维护成本。在申请号为201110269908.9的中国专利中,公开了一种机顶盒的嵌入式系统自动恢复方法及装置,针对升级过程中如果掉电将会导致系统不能正常启动的情况,采用了双系统。但是本明的专利技术人发现,该专利技术存在下列几个问题:1.该专利技术将引导加载程序与系统文件存放于同一闪存上,因NAND闪存易发生位翻转现象,引导加载程序存放于上面很不安全。2.该专利技术在启动过程中对于两个存储分区的系统都加以检测,如果有错误则启动备份,这无疑会加大开机时间。3.该专利技术中没有说明备份时完全拷贝是如何拷贝的,如果仅仅是物理层的数据拷贝,则会导致如下问题:如图1所示,如果系统分区O中有一个坏块,该坏块上的数据将导致检测出该分区系统错误,则如果将分区I的数据直接拷贝过来并覆盖分区0,则复制到该坏块上的数据依然会导致检测出错误,则始终不能备份成功。
技术实现思路
本专利技术的目的在于提供一种,既降低了生产成本,又保证了系统的稳定性。为解决上述技术问题,本专利技术的实施方式公开了一种多系统设备启动系统,包括:第一存储器,用于存储引导加载程序;第二存储器,其中包括至少两个分区,分别存放相同的系统文件;第一存储器采用串行SPI闪存,第二存储器采用NAND闪存;处理器,用于在板卡上电后从第一存储器中加载引导加载程序进行初始化,读取第二存储器中第一分区中的系统文件并进行校验,若通过校验则从第一分区启动系统,否则读取第二存储器中第二分区中的系统文件并进行校验,若通过校验则从第二分区启动系统。本专利技术的实施方式还公开了一种多系统设备启动方法,该多系统设备启动系统包括用于存储引导加载程序的第一存储器、以及包含至少两个分别存放相同的系统文件的分区的第二存储器,第一存储器采用SPI闪存,第二存储器采用NAN D闪存,方法包括以下步骤:板卡上电后,加载第一存储器中的引导加载程序并进行初始化;读取第二存储器中第一分区中的系统文件并进行校验,若通过校验则启动系统,否则读取第二存储器中第二分区中的系统文件并进行校验,若通过校验则从第二分区启动系统;启动第二存储器中第一分区中的系统文件。本专利技术实施方式与现有技术相比,主要区别及其效果在于:将引导加载程序放于稳定性更高的SPI闪存,保证了引导加载程序的安全;对NAND闪存进行分区并分别存放相同的系统文件,这样即使一个分区中存放某个文件的数据由于发生位翻转超出纠错能力而不能正确读出,则跳转到另一个分区进行启动,既发挥了NAND闪存大容量存储系统的优点,同时又通过多系统启动来弥补了 NAND闪存易发生位翻转的缺点。本专利技术通过采用SPI闪存存储引导加载程序和NAND闪存存储系统文件的方式进行多系统设备的启动,既降低了生产成本,又保证了系统的稳定性。本专利技术从第一个分区启动,正常则加载,不对第二个分区进行检测,只有在第一分区有错误时再跳至第二分区启动,检测过程则留给内核来做,节省了系统启动时间。进一步地,在各分区中添加标志文件、通用内核镜像(Universal Image,简称“ulmage”)文件,在系统启动前对分区进行校验,进一步提高稳定性。进一步地,通常内存技术设备(memory technology device,简称“MTD”)驱动自带的ECC算法,只能在连续256字节中纠正I位错误,其校验能力有限,在易发生位翻转现象的NAND闪存中效果不是很好。而校验能力较强的ECC算法比较复杂,占据了较大的内存容量。因此经本专利技术人的反复试验后发现,能对连续512字节纠正4位错误的ECC算法,既保证了 NAND闪存中数据的稳定性,其算法要求也相对较低。进一步地,本专利技术是在内核启动后,在文件系统下进行的系统备份,文件系统会自动检测出坏块并直接跳过坏块部分,保证文件拷贝过程中不会有物理坏块的存在导致文件损坏,确保了文件备份的可靠性。进一步地,同时对多个系统进行升级,而不是只写一个系统,其他系统清空,以免关机过快来不及自动备份其他系统,确保了多个系统得到及时更新。【专利附图】【附图说明】图1是现有技术中物理层数据拷贝示意图;图2是本专利技术第一实施方式中一种多系统设备启动系统的结构示意图;图3是本专利技术第二实施方式中一种多系统设备启动系统中第二存储器的结构示意图;图4是现有技术中ECC算法纠错能力不意图;图5是本专利技术第二实施方式中ECC算法纠错能力示意图图6是本专利技术第三实施方式中一种多系统设备启动方法的流程示意图;图7是本专利技术第四实施方式中一种多系统设备启动方法的流程示意图;图8是本专利技术第四实施方式中一种多系统设备启动方法中系统备份的流程示意图;图9是本专利技术第四实施方式中一种双系统设备启动的流程示意图。【具体实施方式】在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的实施方式作进一步地详细描述。本专利技术第一实施方式涉及一种多系统设备本文档来自技高网
...

【技术保护点】
一种多系统设备启动系统,其特征在于,包括:第一存储器,用于存储引导加载程序;第二存储器,其中包括至少两个分区,分别存放相同的系统文件;所述第一存储器采用串行外设接口SPI闪存,所述第二存储器采用NAND闪存;处理器,用于在板卡上电后从所述第一存储器中加载引导加载程序进行初始化,读取所述第二存储器中第一分区中的系统文件并进行校验,若通过校验则从第一分区启动系统,否则读取所述第二存储器中第二分区中的系统文件并进行校验,若通过校验则从第二分区启动系统。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵伟博申川
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

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

1