CN109062517A - 一种固件冗余方法、装置、设备及介质 - Google Patents
一种固件冗余方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN109062517A CN109062517A CN201811093845.4A CN201811093845A CN109062517A CN 109062517 A CN109062517 A CN 109062517A CN 201811093845 A CN201811093845 A CN 201811093845A CN 109062517 A CN109062517 A CN 109062517A
- Authority
- CN
- China
- Prior art keywords
- firmware
- address
- hardware device
- logical partition
- storage chip
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种固件冗余方法、装置、设备及介质,该方法的步骤包括:在单独的存储芯片中划分N个相互独立的逻辑分区;其中,N为大于1的整数;将冗余的固件独立存储于各逻辑分区;根据预设的冗余控制规则,选择性控制各逻辑分区中的固件加载并运行于对应的硬件设备。本方法是在一片存储芯片中划分出多个逻辑相互独立的存储空间,相对减少了对存储芯片的使用数量,进而减少了存储芯片对PCB板的占用空间。另外,本方法通过存储空间相对较大的存储芯片存储多个冗余的固件,能够相对降低实现固件冗余时的硬件使用成本。此外,本发明还提供一种固件冗余装置、设备及介质,有益效果同上所述。
Description
技术领域
本发明涉及计算机领域,特别是涉及一种固件冗余方法、装置、设备及介质。
背景技术
企业级的磁盘阵列需要具有较高的可靠性,因此需要确保磁盘阵列中各个硬件设备的正常工作。由于固件是担任着一个系统最基础、最底层工作的软件,是硬件设备工作的控制核心,因此固件也就决定着硬件设备的功能及性能,确保硬件设备正常工作的重点在于确保固件被硬件设备顺利加载并执行。
为了保证硬件设备无单点故障,各设备中的固件往往被设置为“1+1冗余”的形式。图1为BIOS固件的冗余示意图,以BIOS固件“1+1冗余”为例,支持CPU工作的BIOS固件被预先设置为相互冗余的主BIOS固件以及备用BIOS固件,并由CPLD控制器进行冗余控制,当主BIOS固件出现数据丢失或损坏时,通过备用BIOS固件支持CPU的正常工作,以此保持系统正常工作,从而使磁盘阵列因意外而导致的停机损失降到最低。原有情况下相互冗余的主固件与备用固件受到存储芯片的存储容量限制,需要分别存储在独立的存储芯片中,但是多个独立的存储芯片分布在PCB板上,会较大的占用PCB板的空间,造成PCB板中其余硬件设备的走线困难。
随着存储介质的技术发展,包括NOR FLASH以及EEPROM在内的存储芯片的集成程度以及存储容量均在逐渐增大,进而当前的存储芯片能够在保持原有存储芯片的尺寸规格的基础上,具有两倍甚至更高倍于原有存储芯片的存储容量,由于存储容量较大的存储芯片逐渐成为当前的主流产品,因此相比于小容量的存储芯片而言,其每MB的性价比较高,整体成本较低。而固件自身对存储容量的需求并没有明显的增加,在此情况下,如果仍沿用独立的小容量存储芯片分别存储相互冗余的主固件以及备用固件,无疑会在占用PCB板较大的空间同时,产生相对较高的硬件使用成本。
由此可见,提供一种固件冗余方法,以减少存储芯片对PCB板的空间占用,并降低硬件使用成本,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种固件冗余方法、装置、设备及介质,以减少存储芯片对PCB板的空间占用,并降低硬件使用成本。
为解决上述技术问题,本发明提供一种固件冗余方法,包括:
在单独的存储芯片中划分N个相互独立的逻辑分区;其中,N为大于1的整数;
将冗余的固件独立存储于各逻辑分区;
根据预设的冗余控制规则,选择性控制各逻辑分区中的固件加载并运行于对应的硬件设备。
优选的,根据预设的冗余控制规则,选择性控制各逻辑分区中的固件加载并运行于对应的硬件设备具体包括:
在地址映射表中获取预设的主固件地址,并建立硬件设备对主固件地址的逻辑访问通路,以通过硬件设备读取并运行主固件地址下的固件;
当硬件设备读取或运行主固件地址下的固件发生故障时,断开硬件设备对主固件地址的逻辑访问通路;
在地址映射表中获取预设的备用固件地址,并建立硬件设备对备用固件地址的逻辑访问通路,以通过硬件设备读取并运行备用固件地址下的固件;
其中,地址映射表中记录有各逻辑分区的物理地址。
优选的,选择性控制各逻辑分区中的固件加载并运行于对应的硬件设备具体为:
通过可编程逻辑器件选择性控制各固件加载并运行于对应的硬件设备。
优选的,可编程逻辑器件具体包括FPGA器件及PCLD器件。
优选的,逻辑分区的空间容量与固件的需求容量相同。
优选的,N的值为2。
此外,本发明还提供一种固件冗余装置,包括:
分区模块,用于在单独的存储芯片中划分N个相互独立的逻辑分区;其中,N为大于1的整数;
存储模块,用于将冗余的固件独立存储于各逻辑分区;
加载模块,用于根据预设的冗余控制规则,选择性控制各逻辑分区中的固件加载并运行于对应的硬件设备。
优选的,加载模块具体包括:
主固件加载模块,用于在地址映射表中获取预设的主固件地址,并建立硬件设备对主固件地址的逻辑访问通路,以通过硬件设备读取并运行主固件地址下的固件;
故障断开模块,用于当硬件设备读取或运行主固件地址下的固件发生故障时,断开硬件设备对主固件地址的逻辑访问通路;
备用固件加载模块,用于在地址映射表中获取预设的备用固件地址,并建立硬件设备对备用固件地址的逻辑访问通路,以通过硬件设备读取并运行备用固件地址下的固件;
其中,地址映射表中记录有各逻辑分区的物理地址。
此外,本发明还提供一种固件冗余设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的固件冗余方法的步骤。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的固件冗余方法的步骤。
本发明所提供的固件冗余方法,首先在单独的存储芯片中划分一个以上的逻辑分区,且各逻辑分区之间相互独立,在此基础上将冗余的固件分别独立存储至各逻辑分区中,进而根据预设的冗余控制规则,选择性的控制各逻辑分区的中的固件加载并运行于与该固件对应的硬件设备中。由于当前存储芯片的集成程度以及存储容量均在逐渐增大,存储芯片能够在保持原有存储芯片的尺寸规格的基础上,具有两倍甚至更高倍于原有存储芯片的存储容量,因此本方法利用存储芯片的存储容量增大,并且存储芯片的尺寸规格不变的特点,将冗余的固件存储至同一存储芯片的不同逻辑分区中,因此相比于现有技术将冗余的固件分别存储在独立的存储芯片而言,本方法是在一片存储芯片中划分出多个逻辑相互独立的存储空间,相对减少了对存储芯片的使用数量,进而减少了存储芯片对PCB板的占用空间。另外,由于存储空间较大的存储芯片在单位存储空间上的成本低于存储空间较小的存储芯片,因此本方法通过存储空间相对较大的存储芯片存储多个冗余的固件,能够相对降低实现固件冗余时的硬件使用成本。此外,本发明还提供一种固件冗余装置、设备及介质,有益效果同上所述。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为BIOS固件的冗余示意图;
图2为本发明实施例提供的一种固件冗余方法的流程图;
图3为一种类型的硬件设备的固件冗余示意图;
图4为多种类型的硬件设备的固件冗余示意图;
图5为本发明实施例提供的另一种固件冗余方法的流程图;
图6为本发明实施例提供的一种固件冗余装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种固件冗余方法,以减少存储芯片对PCB板的空间占用,并降低硬件使用成本。本发明的另一核心是提供一种固件冗余装置、设备及介质。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
实施利一
图2为本发明实施例提供的一种固件冗余方法的流程图。请参考图2,固件冗余方法的具体步骤包括:
步骤S10:在单独的存储芯片中划分N个相互独立的逻辑分区;其中,N为大于1的整数。
需要说明的是,本步骤是在一个存储芯片中划分多个相互独立的逻辑分区,各个逻辑分区分别对应一定数量的物理地址,由于每个物理地址均对应着存储芯片中最小的存储空间,因此在微观上的多个物理地址所对应的存储空间共同组成了本步骤中宏观的逻辑分区。各个逻辑分区中存储的数据内容不具有关联性,并且无法相互访问。另外,在本步骤中,N的取值可以根据实际情况而设定,例如在固件故障率较高的使用环境下,可以将N设定为较大的值,即在单独的存储芯片中分配相对较多的逻辑分区用于存储相互冗余的固件(1个主固件与多个备用固件);而在通常的情况下,可以采用“1+1冗余”的模式,仅划分两个相互独立的逻辑空间,以用于单独存储相互冗余的两个固件(1个主固件与1个备用固件)。另外,需要说明的是,此处所指的“冗余的固件”是指两个或多个相同且能够互相替代使用的固件。
步骤S11:将冗余的固件独立存储于各逻辑分区。
可以理解的是,将冗余的固件独立存储于各逻辑分区,是在多个逻辑分区中分别存储相同内容的固件,以此达到固件备份的目的。另外,需要强调的是,由于固件本身需要占用一定的存储空间,因此在划分逻辑分区时需要保证逻辑分区的存储空间至少满足固件所需的存储空间,另外,用户应根据逻辑分区的划分数量以及各固件需要占用的存储空间,选取能够满足整体存储空间需求的存储芯片。例如,需要在存储芯片中划分两个逻辑分区用于存储冗余的固件,并且每个固件需要各占用4MB的存储空间,因此每个逻辑分区的空间大小应至少为4MB,进而存储芯片的整体存储空间应至少为8MB。上述举例仅为说明划分逻辑分区时需要进行综合考虑的因素,但并不对存储芯片的存储空间、逻辑分区的空间大小以及固件所需的存储空间做限定。
步骤S12:根据预设的冗余控制规则,选择性控制各逻辑分区中的固件加载并运行于对应的硬件设备。
需要说明的是,在本步骤的冗余控制规则用于规定固件加载的优先级顺序,进而在硬件设备工作时加载并运行优先级最高的主固件,当加载并运行优先级最高的主固件出现故障时,根据优先级的顺序加载优先级仅次于主固件的第一备用固件,当备用固件的数量大于一且第一备用固件出现故障时,可以根据优先级顺序继续加载并运行优先级仅次于第一备用固件的第二备用固件,冗余控制规则的控制逻辑以此类推。此处的硬件设备可以是需要固件支持工作的任意设备,如CPU、BMC等,在此不做具体限定。另外,本步骤中的硬件设备的数量不仅限于一个,并且种类也并不仅限于一种,例如通过单独的存储芯片可以同时实现对CPU以及BMC两种硬件设备提供固件冗余,也就是说,需要在存储芯片中划分两组逻辑分区,每组的逻辑分区数量分别为N,进而分别在两组逻辑分区中独立存储CPU的冗余固件以及BMC的冗余固件。
本发明所提供的固件冗余方法,首先在单独的存储芯片中划分一个以上的逻辑分区,且各逻辑分区之间相互独立,在此基础上将冗余的固件分别独立存储至各逻辑分区中,进而根据预设的冗余控制规则,选择性的控制各逻辑分区的中的固件加载并运行于与该固件对应的硬件设备中。由于当前存储芯片的集成程度以及存储容量均在逐渐增大,存储芯片能够在保持原有存储芯片的尺寸规格的基础上,具有两倍甚至更高倍于原有存储芯片的存储容量,因此本方法利用存储芯片的存储容量增大,并且存储芯片的尺寸规格不变的特点,将冗余的固件存储至同一存储芯片的不同逻辑分区中,因此相比于现有技术将冗余的固件分别存储在独立的存储芯片而言,本方法是在一片存储芯片中划分出多个逻辑相互独立的存储空间,相对减少了对存储芯片的使用数量,进而减少了存储芯片对PCB板的占用空间。另外,由于存储空间较大的存储芯片在单位存储空间上的成本低于存储空间较小的存储芯片,因此本方法通过存储空间相对较大的存储芯片存储多个冗余的固件,能够相对降低实现固件冗余时的硬件使用成本。
实施例二
本发明提供两种具体的场景实施例,请参考图3及图4。图3为一种类型的硬件设备的固件冗余示意图;图4为多种类型的硬件设备的固件冗余示意图。
如图3所示的,通过的单独的存储芯片仅连接有一种类型的硬件设备,即CPU,因此在存储芯片中仅划分了用于存储支持CPU固件的逻辑分区,由于CPU固件为BIOS,因此支持CPU固件的逻辑分区即为图中的主BIOS分区及备BIOS分区。在图3所示的场景实施例中,由CPLD作为控制器,根据冗余控制规则,选择性的将主BIOS分区中的BIOS或备BIOS分区中的BIOS加载并运行于CPU,以此支持CPU的正常工作。
如图4所示的,通过单独的存储芯片分别连接了两种类型的硬件设备,即CPU以及BMC,进而在存储芯片中分别划分了用于存储支持COU固件的逻辑分区以及BMC固件的逻辑分区,即图中的(主、备)BIOS分区以及(主、备)BMC分区,进而通过(主、备)BIOS分区冗余存储CPU的固件,并通过(主、备)BMC分区冗余存储BMC的固件。在图4所示的场景实施例中,由CPLD作为控制器,根据预设的冗余控制规则,分别选择性的将BMC分区中的BMC固件加载并运行于BMC,以及将BIOS分区的BIOS固件加载并运行于CPU,进而分别确保BMC以及BIOS的正常工作。
另外,需要说明的是,图3与图4中的“FLASH”即为存储芯片;“cs1”、“cs2”、“cs3”、“cs4”分别为片选信号,CPLD通过片选信号选择需要使用的固件分区;“PCH”是负责I/O接口等一些外设接口控制的南桥芯片。
实施例三
在上述实施例的基础上,本发明还提供以下一系列优选的实施方式。
图5为本发明实施例提供的另一种固件冗余方法的流程图。图5中步骤S10-S11与图2相同,在此不再赘述。
如图5所示,作为一种优选的实施方式,根据预设的冗余控制规则,选择性控制各逻辑分区中的固件加载并运行于对应的硬件设备具体包括:
步骤S20:在地址映射表中获取预设的主固件地址,并建立硬件设备对主固件地址的逻辑访问通路,以通过硬件设备读取并运行主固件地址下的固件。
需要说明的是,由于在存储芯片中划分逻辑分区的本质是对存储芯片中的物理地址进行划分,每个逻辑分区对应的均为某一起始物理地址到某一截止物理地址之间的存储空间。因此为了明确每个逻辑分区的所对应的物理地址区间,本步骤预先设置有地址映射表,用于记录有各逻辑分区的物理地址,进而在对逻辑分区进行操作时,能够根据物理地址快速定位,相对提高了查找逻辑分区的整体效率。另外,本步骤中的主固件地址被预先设置于地址映射表,硬件设备在工作时默认加载并运行主固件地址中的固件。加载并运行主固件地址中固件的具体实现方式,是建立硬件设备访问主固件地址的逻辑通路,也就是向硬件设备提供访问主固件地址的权限,以此实现硬件设备对特定逻辑分区中固件的获取。
步骤S21:当硬件设备读取或运行主固件地址下的固件发生故障时,断开硬件设备对主固件地址的逻辑访问通路。
可以理解的是,硬件设备读取或运行主固件地址下的固件发生故障时,即主固件地址下的固件丢失或损坏时,断开硬件设备对主固件地址的逻辑访问通路能够避免因硬件设备持续获取并加载存在故障的固件,而损坏硬件设备的情况,以此确保硬件设备自身的可用性以及工作的稳定性。
步骤S22:在地址映射表中获取预设的备用固件地址,并建立硬件设备对备用固件地址的逻辑访问通路,以通过硬件设备读取并运行备用固件地址下的固件。
其中,地址映射表中记录有各逻辑分区的物理地址。
在断开硬件设备对主固件地址的逻辑访问通路后,需要以新的固件代替原有故障的固件,因此本步骤在地址映射表中获取预设的备用固件地址,以此建立硬件设备对备用固件地址的逻辑访问通路,目的是以备用固件地址中的固件取代主固件地址中的固件,硬件设备能够根据上述逻辑访问通路获取并加载备用固件地址中备用的固件,以此保证硬件设备能够正常工作。
此外,作为一种优选的实施方式,选择性控制各逻辑分区中的固件加载并运行于对应的硬件设备具体为:
通过可编程逻辑器件选择性控制各固件加载并运行于对应的硬件设备。
需要说明的是,由于考虑到选择性控制逻辑分区中的固件加载以及运行于硬件设备的具体控制逻辑相对复杂多样,往往需要技术人员根据实际情况而设计,由于可编程逻辑器件具体能够实现的逻辑功能由技术人员编程决定,并且可编程逻辑器件对技术人员的编程限制较少,技术人员能够相对自由的对编程逻辑器件进行编程,本实施方式通过可编程逻辑器件选择性控制各固件加载并运行于对应的硬件设备,即在可编程逻辑器件中编写选择性控制逻辑并执行,保证了通过可编程逻辑器件实现选择性控制的逻辑丰富性及灵活性。
在上述实施方式的基础上,作为一种优选的实施方式,可编程逻辑器件具体包括FPGA器件及PCLD器件。
需要说明的是,由于在当前的可编程逻辑器件中,FPGA器件及PCLD器件都包含有大量的可编程逻辑单元,因此采用FPGA器件或PCLD器件能均够进一步提高编写选择性控制逻辑的丰富性以及灵活性。
此外,作为一种优选的实施方式,逻辑分区的空间容量与固件的需求容量相同。
可以理解的是,逻辑分区的空间容量与固件的需求容量相同,即逻辑分区的存储容量恰好满足固件对于存储容量的需求,因此本实施方式能够避免在逻辑分区存储固件后,逻辑分区中存在未使用的空余存储容量而造成存储芯片中存储资源浪费的情况,本实施方式提高了存储芯片的各逻辑分区中存储容量的使用效率,进而确保存储芯片的整体存储使用成本相对较低。
此外,作为一种优选的实施方式,N的值为2。
由于考虑到在通常情况下固件的故障程度相对较低,并且当主固件故障并切换至备用固件使用时,备用固件同样出现故障的概率相对较低,因此本实施方式中N的值为2,即对于每一个硬件设备仅在存储芯片中开辟两个逻辑分区,独立存储对应的两个冗余的固件,因此能够在应对固件故障的前提下相对减少对存储芯片中存储资源的使用,进而相对降低对存储芯片的整体使用成本。
实施例四
在上文中对于固件冗余方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的固件冗余装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图6为本发明实施例提供的一种固件冗余装置的结构图。本发明实施例提供的固件冗余装置,包括:
分区模块10,用于在单独的存储芯片中划分N个相互独立的逻辑分区;其中,N为大于1的整数。
存储模块11,用于将冗余的固件独立存储于各逻辑分区。
加载模块12,用于根据预设的冗余控制规则,选择性控制各逻辑分区中的固件加载并运行于对应的硬件设备。
本发明所提供的固件冗余装置,首先在单独的存储芯片中划分一个以上的逻辑分区,且各逻辑分区之间相互独立,在此基础上将冗余的固件分别独立存储至各逻辑分区中,进而根据预设的冗余控制规则,选择性的控制各逻辑分区的中的固件加载并运行于与该固件对应的硬件设备中。由于当前存储芯片的集成程度以及存储容量均在逐渐增大,存储芯片能够在保持原有存储芯片的尺寸规格的基础上,具有两倍甚至更高倍于原有存储芯片的存储容量,因此本装置利用存储芯片的存储容量增大,并且存储芯片的尺寸规格不变的特点,将冗余的固件存储至同一存储芯片的不同逻辑分区中,因此相比于现有技术将冗余的固件分别存储在独立的存储芯片而言,本装置是在一片存储芯片中划分出多个逻辑相互独立的存储空间,相对减少了对存储芯片的使用数量,进而减少了存储芯片对PCB板的占用空间。另外,由于存储空间较大的存储芯片在单位存储空间上的成本低于存储空间较小的存储芯片,因此本装置通过存储空间相对较大的存储芯片存储多个冗余的固件,能够相对降低实现固件冗余时的硬件使用成本。
在实施例四的基础上,加载模块12具体包括:
主固件加载模块,用于在地址映射表中获取预设的主固件地址,并建立硬件设备对主固件地址的逻辑访问通路,以通过硬件设备读取并运行主固件地址下的固件。
故障断开模块,用于当硬件设备读取或运行主固件地址下的固件发生故障时,断开硬件设备对主固件地址的逻辑访问通路。
备用固件加载模块,用于在地址映射表中获取预设的备用固件地址,并建立硬件设备对备用固件地址的逻辑访问通路,以通过硬件设备读取并运行备用固件地址下的固件。
其中,地址映射表中记录有各逻辑分区的物理地址。
实施例五
此外,本发明还提供一种固件冗余设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的固件冗余方法的步骤。
本发明所提供的固件冗余设备,首先在单独的存储芯片中划分一个以上的逻辑分区,且各逻辑分区之间相互独立,在此基础上将冗余的固件分别独立存储至各逻辑分区中,进而根据预设的冗余控制规则,选择性的控制各逻辑分区的中的固件加载并运行于与该固件对应的硬件设备中。由于当前存储芯片的集成程度以及存储容量均在逐渐增大,存储芯片能够在保持原有存储芯片的尺寸规格的基础上,具有两倍甚至更高倍于原有存储芯片的存储容量,因此本设备利用存储芯片的存储容量增大,并且存储芯片的尺寸规格不变的特点,将冗余的固件存储至同一存储芯片的不同逻辑分区中,因此相比于现有技术将冗余的固件分别存储在独立的存储芯片而言,本设备是在一片存储芯片中划分出多个逻辑相互独立的存储空间,相对减少了对存储芯片的使用数量,进而减少了存储芯片对PCB板的占用空间。另外,由于存储空间较大的存储芯片在单位存储空间上的成本低于存储空间较小的存储芯片,因此本设备通过存储空间相对较大的存储芯片存储多个冗余的固件,能够相对降低实现固件冗余时的硬件使用成本。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的固件冗余方法的步骤。
本发明所提供的计算机可读存储介质,首先在单独的存储芯片中划分一个以上的逻辑分区,且各逻辑分区之间相互独立,在此基础上将冗余的固件分别独立存储至各逻辑分区中,进而根据预设的冗余控制规则,选择性的控制各逻辑分区的中的固件加载并运行于与该固件对应的硬件设备中。由于当前存储芯片的集成程度以及存储容量均在逐渐增大,存储芯片能够在保持原有存储芯片的尺寸规格的基础上,具有两倍甚至更高倍于原有存储芯片的存储容量,因此本计算机可读存储介质利用存储芯片的存储容量增大,并且存储芯片的尺寸规格不变的特点,将冗余的固件存储至同一存储芯片的不同逻辑分区中,因此相比于现有技术将冗余的固件分别存储在独立的存储芯片而言,本计算机可读存储介质是在一片存储芯片中划分出多个逻辑相互独立的存储空间,相对减少了对存储芯片的使用数量,进而减少了存储芯片对PCB板的占用空间。另外,由于存储空间较大的存储芯片在单位存储空间上的成本低于存储空间较小的存储芯片,因此本计算机可读存储介质通过存储空间相对较大的存储芯片存储多个冗余的固件,能够相对降低实现固件冗余时的硬件使用成本。
以上对本发明所提供的一种固件冗余方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种固件冗余方法,其特征在于,包括:
在单独的存储芯片中划分N个相互独立的逻辑分区;其中,N为大于1的整数;
将冗余的固件独立存储于各所述逻辑分区;
根据预设的冗余控制规则,选择性控制各所述逻辑分区中的固件加载并运行于对应的硬件设备。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的冗余控制规则,选择性控制各所述逻辑分区中的固件加载并运行于对应的硬件设备具体包括:
在地址映射表中获取预设的主固件地址,并建立所述硬件设备对所述主固件地址的逻辑访问通路,以通过所述硬件设备读取并运行所述主固件地址下的固件;
当所述硬件设备读取或运行所述主固件地址下的固件发生故障时,断开所述硬件设备对所述主固件地址的逻辑访问通路;
在地址映射表中获取预设的备用固件地址,并建立所述硬件设备对所述备用固件地址的逻辑访问通路,以通过所述硬件设备读取并运行所述备用固件地址下的固件;
其中,所述地址映射表中记录有各所述逻辑分区的物理地址。
3.根据权利要求1所述的方法,其特征在于,所述选择性控制各所述逻辑分区中的固件加载并运行于对应的硬件设备具体为:
通过可编程逻辑器件选择性控制各所述固件加载并运行于对应的所述硬件设备。
4.根据权利要求3所述的方法,其特征在于,所述可编程逻辑器件具体包括FPGA器件及PCLD器件。
5.根据权利要求1所述的方法,其特征在于,所述逻辑分区的空间容量与所述固件的需求容量相同。
6.根据权利要求1至5任意一项所述的方法,其特征在于,N的值为2。
7.一种固件冗余装置,其特征在于,包括:
分区模块,用于在单独的存储芯片中划分N个相互独立的逻辑分区;其中,N为大于1的整数;
存储模块,用于将冗余的固件独立存储于各所述逻辑分区;
加载模块,用于根据预设的冗余控制规则,选择性控制各所述逻辑分区中的固件加载并运行于对应的硬件设备。
8.根据权利要求7所述的装置,其特征在于,所述加载模块具体包括:
主固件加载模块,用于在地址映射表中获取预设的主固件地址,并建立所述硬件设备对所述主固件地址的逻辑访问通路,以通过所述硬件设备读取并运行所述主固件地址下的固件;
故障断开模块,用于当所述硬件设备读取或运行所述主固件地址下的固件发生故障时,断开所述硬件设备对所述主固件地址的逻辑访问通路;
备用固件加载模块,用于在地址映射表中获取预设的备用固件地址,并建立所述硬件设备对所述备用固件地址的逻辑访问通路,以通过所述硬件设备读取并运行所述备用固件地址下的固件;
其中,所述地址映射表中记录有各所述逻辑分区的物理地址。
9.一种固件冗余设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的固件冗余方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的固件冗余方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811093845.4A CN109062517A (zh) | 2018-09-19 | 2018-09-19 | 一种固件冗余方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811093845.4A CN109062517A (zh) | 2018-09-19 | 2018-09-19 | 一种固件冗余方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109062517A true CN109062517A (zh) | 2018-12-21 |
Family
ID=64763035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811093845.4A Pending CN109062517A (zh) | 2018-09-19 | 2018-09-19 | 一种固件冗余方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062517A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111316235A (zh) * | 2019-03-29 | 2020-06-19 | 深圳市大疆创新科技有限公司 | 启动系统的方法、电子设备、机器可读存储介质 |
CN112417802A (zh) * | 2020-11-12 | 2021-02-26 | 深圳市创智成科技股份有限公司 | 一种模拟存储芯片的方法、系统、设备及存储介质 |
CN112732486A (zh) * | 2021-01-07 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种冗余固件切换方法、装置、设备及存储介质 |
CN113032026A (zh) * | 2021-03-19 | 2021-06-25 | 山东英信计算机技术有限公司 | 一种服务器主板的固件管理方法、装置、设备及介质 |
CN115576705A (zh) * | 2022-12-13 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种冗余固件的数据同步方法、装置及介质 |
CN116909496A (zh) * | 2023-09-14 | 2023-10-20 | 山东索奇电子科技有限公司 | 基于嵌入式高速数据通讯技术的车辆故障数据溯源方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017441A (zh) * | 2007-02-27 | 2007-08-15 | 华为技术有限公司 | 一种电子设备、电子设备的启动方法及bios升级方法 |
CN103677875A (zh) * | 2012-09-11 | 2014-03-26 | 联想(北京)有限公司 | 一种电子设备启动的方法、权限控制方法和电子设备 |
CN105589713A (zh) * | 2015-09-22 | 2016-05-18 | 杭州华三通信技术有限公司 | 电子设备和用于电子设备的启动方法 |
US20160306581A1 (en) * | 2015-04-15 | 2016-10-20 | Intermodal Data, Inc. | Automated configuration of storage pools methods and apparatus |
CN106227683A (zh) * | 2016-07-26 | 2016-12-14 | 联想(北京)有限公司 | 电子设备及信息处理方法 |
-
2018
- 2018-09-19 CN CN201811093845.4A patent/CN109062517A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017441A (zh) * | 2007-02-27 | 2007-08-15 | 华为技术有限公司 | 一种电子设备、电子设备的启动方法及bios升级方法 |
CN103677875A (zh) * | 2012-09-11 | 2014-03-26 | 联想(北京)有限公司 | 一种电子设备启动的方法、权限控制方法和电子设备 |
US20160306581A1 (en) * | 2015-04-15 | 2016-10-20 | Intermodal Data, Inc. | Automated configuration of storage pools methods and apparatus |
CN105589713A (zh) * | 2015-09-22 | 2016-05-18 | 杭州华三通信技术有限公司 | 电子设备和用于电子设备的启动方法 |
CN106227683A (zh) * | 2016-07-26 | 2016-12-14 | 联想(北京)有限公司 | 电子设备及信息处理方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111316235A (zh) * | 2019-03-29 | 2020-06-19 | 深圳市大疆创新科技有限公司 | 启动系统的方法、电子设备、机器可读存储介质 |
WO2020199027A1 (zh) * | 2019-03-29 | 2020-10-08 | 深圳市大疆创新科技有限公司 | 启动系统的方法、电子设备、机器可读存储介质 |
CN112417802A (zh) * | 2020-11-12 | 2021-02-26 | 深圳市创智成科技股份有限公司 | 一种模拟存储芯片的方法、系统、设备及存储介质 |
CN112417802B (zh) * | 2020-11-12 | 2022-04-19 | 深圳市创智成科技股份有限公司 | 一种模拟存储芯片的方法、系统、设备及存储介质 |
CN112732486A (zh) * | 2021-01-07 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种冗余固件切换方法、装置、设备及存储介质 |
CN113032026A (zh) * | 2021-03-19 | 2021-06-25 | 山东英信计算机技术有限公司 | 一种服务器主板的固件管理方法、装置、设备及介质 |
CN115576705A (zh) * | 2022-12-13 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种冗余固件的数据同步方法、装置及介质 |
CN115576705B (zh) * | 2022-12-13 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 一种冗余固件的数据同步方法、装置及介质 |
CN116909496A (zh) * | 2023-09-14 | 2023-10-20 | 山东索奇电子科技有限公司 | 基于嵌入式高速数据通讯技术的车辆故障数据溯源方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062517A (zh) | 一种固件冗余方法、装置、设备及介质 | |
US6647460B2 (en) | Storage device with I/O counter for partial data reallocation | |
CN104903864B (zh) | 选择性错误校正码和存储器访问粒度切换 | |
CN101625627B (zh) | 写入数据的方法、磁盘冗余阵列的控制器及磁盘冗余阵列 | |
US8156277B2 (en) | Flash memory module and storage system | |
CN101777026B (zh) | 一种存储管理方法、硬盘及存储系统 | |
CN108052655A (zh) | 数据写入及读取方法 | |
EP1376329A2 (en) | Method of utilizing storage disks of differing capacity in a single storage volume in a hierarchic disk array | |
CN103534688B (zh) | 数据恢复方法、存储设备和存储系统 | |
CN103246478B (zh) | 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统 | |
CN101281493A (zh) | 与非闪存器及其管理方法 | |
CN102209957B (zh) | 包括raid组的存储系统 | |
JP2006120120A (ja) | 複数のデータ・フォーマットを割り振るための一般記憶コンテナ | |
US8244975B2 (en) | Command queue ordering by flipping active write zones | |
EP3223160B1 (en) | Managing backup of logical-to-physical translation information to control boot-time and write amplification | |
CN101901275A (zh) | 一种分布式存储系统及其方法 | |
CN108037894B (zh) | 一种磁盘空间管理方法及装置 | |
CN104536698A (zh) | 一种基于raid的磁盘重构方法及相关设备 | |
CN103605657A (zh) | 一种在线重建索引的方法和装置 | |
CN109918234A (zh) | 一种基于ssd的元数据恢复方法、装置、设备及介质 | |
CN104054076B (zh) | 数据存储方法、数据库存储节点故障处理方法及装置 | |
US20100131733A1 (en) | Identification and containment of performance hot-spots in virtual volumes | |
CN103761059A (zh) | 一种用于海量数据管理的多盘位存储方法及系统 | |
JP2002049511A (ja) | アドレスの割付変更方法及びこれを用いた外部記憶サブシステム | |
CN103530206B (zh) | 一种数据恢复的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181221 |
|
RJ01 | Rejection of invention patent application after publication |