CN113704177B - 一种服务器固件升级文件的存储方法、系统及相关组件 - Google Patents

一种服务器固件升级文件的存储方法、系统及相关组件 Download PDF

Info

Publication number
CN113704177B
CN113704177B CN202110875865.2A CN202110875865A CN113704177B CN 113704177 B CN113704177 B CN 113704177B CN 202110875865 A CN202110875865 A CN 202110875865A CN 113704177 B CN113704177 B CN 113704177B
Authority
CN
China
Prior art keywords
file
flash
primary
firmware
primary file
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.)
Active
Application number
CN202110875865.2A
Other languages
English (en)
Other versions
CN113704177A (zh
Inventor
韩红瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110875865.2A priority Critical patent/CN113704177B/zh
Publication of CN113704177A publication Critical patent/CN113704177A/zh
Application granted granted Critical
Publication of CN113704177B publication Critical patent/CN113704177B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种服务器固件升级文件的存储方法、系统及相关组件,该存储方法包括:获取服务器中用于存储固件升级文件的多个flash的信息;多个flash包括主flash和备flash;根据信息,判断是否存在任一flash的空间能够完整存储当前待写入的固件升级文件;若是,则将固件升级文件写入相应的flash中;若否,将固件升级文件分割为多个文件块,分别写入相应的flash中。本申请保证待写入的固件升级文件能够在不更换flash的情况下完整写入,不影响文件中代码维护和版本管控,也不会出现返厂更换的耗时耗力,实现了对旧主板中固件升级文件的快速升级。

Description

一种服务器固件升级文件的存储方法、系统及相关组件
技术领域
本发明涉及服务器领域,特别涉及一种服务器固件升级文件的存储方法、系统及相关组件。
背景技术
随着服务器带外管理功能越来越多,导致其硬件固件文件也越来越大,对存储该固件升级文件的空间要求也越来越高。对于新设计的服务器,可以设计更大的flash存储空间,然而对于已经量产服务器或者客户现场的服务器而言,因为存储用的flash都焊接在主板上面,难以直接更换。
当前解决该问题的一种方法,是更换更大空间的flash,只能将整个主板返厂后对其上的flash进行更换。返厂更换不但影响客户的业务,也耗费巨大的更换成本。
当前另一种存储固件升级文件的存储方法,是将原本要升级的硬件固件文件的代码进行大幅度优化和裁剪,从而减小硬件固件文件的大小,以便存入原本flash中。对代码的裁剪和优化导致版本碎片化,代码维护和版本管控将成为更大的挑战。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种既不需要更换flash也不需要裁剪代码的服务器固件升级文件的存储方法、系统及相关组件。其具体方案如下:
一种服务器固件升级文件的存储方法,包括:
获取服务器中用于存储固件升级文件的多个flash的信息;多个所述flash包括主flash和备flash;
根据所述信息,判断是否存在任一所述flash的空间能够完整存储当前待写入的所述固件升级文件;
若是,则将所述固件升级文件写入相应的所述flash中;
若否,将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中。
优选的,当前待写入的所述固件升级文件包括一级文件与二级文件;所述存储方法还包括:
更新所述信息;
根据所述信息,判断是否存在任一未写入所述固件升级文件的所述flash的空间能够完整存储所述固件升级文件;
若是,则将所述固件升级文件写入未存储所述固件升级文件的相应的所述flash中;
若否,则根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中。
优选的,所述将所述一级文件备份到未存储所述一级文件的所述flash中的过程,具体包括:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;
若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;
若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
优选的,当前待写入的所述固件升级文件包括一级文件与二级文件;所述存储方法还包括:
更新所述信息;
根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中。
优选的,所述将所述一级文件备份到未存储所述一级文件的所述flash中的过程,具体包括:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;
若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;
若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
优选的,所述将所述固件升级文件写入相应的所述flash中的过程,包括:
通过SPI控制器使能相应的所述flash的片选信号,以将对应的所述固件升级文件写入该flash。
优选的,所述将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中的过程,具体包括:
将所述固件升级文件分割为多个文件块;
对相应的每个所述flash执行以下操作:
确定该flash的物理地址;
通过所述SPI控制器使能该flash的片选信号,并利用所述物理地址将对应的所述文件块写入该flash。
相应的,本申请还公开了一种服务器固件升级文件的存储系统,包括获取模块、判断模块和动作模块,其中:
所述获取模块用于获取服务器中用于存储固件升级文件的多个flash的信息;
所述判断模块用于根据所述信息,判断是否存在任一所述flash的空间能够完整存储当前待写入的所述固件升级文件;若是,则触发所述动作模块将所述固件升级文件写入相应的所述flash中;若否,则触发所述动作模块将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中。
相应的,本申请还公开了一种服务器固件升级文件的存储装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述服务器固件升级文件的存储方法的步骤。
相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述服务器固件升级文件的存储方法的步骤。
本申请公开了一种服务器固件升级文件的存储方法,包括:获取服务器中用于存储固件升级文件的多个flash的信息;多个所述flash包括主flash和备flash;根据所述信息,判断是否存在任一所述flash的空间能够完整存储当前待写入的所述固件升级文件;若是,则将所述固件升级文件写入相应的所述flash中;若否,将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中。本申请将主flash和备flash均作为可写入固件升级文件的flash,在判断固态升级文件和flash的空间大小后,根据不同的情况选择将固件升级文件完整写入某一flash或分块写入多个flash中,保证待写入的固件升级文件能够在不更换flash的情况下完整写入,不影响文件中代码维护和版本管控,也不会出现返厂更换的耗时耗力,实现了对旧主板中固件升级文件的快速升级。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种服务器固件升级文件的存储方法的步骤流程图;
图2a为现有技术中主flash与备flash的结构分布图;
图2b为本发明实施例中主flash与备flash的结构分布图;
图3为本发明实施例中一种映射关系的结构分布图;
图4为本发明实施例中一种服务器固件升级文件的存储系统的结构分布图;
图5为本发明实施例中一种服务器固件升级文件的存储装置的结构分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前解决该问题的一种方法,是更换更大空间的flash,只能将整个主板返厂后对其上的flash进行更换。返厂更换不但影响客户的业务,也耗费巨大的更换成本。
当前另一种存储固件升级文件的存储方法,是将原本要升级的硬件固件文件的代码进行大幅度优化和裁剪,从而减小硬件固件文件的大小,以便存入原本flash中。对代码的裁剪和优化导致版本碎片化,代码维护和版本管控将成为更大的挑战。
本申请将主flash和备flash均作为可写入固件升级文件的flash,在判断固态升级文件和flash的空间大小后,根据不同的情况选择将固件升级文件完整写入某一flash或分块写入多个flash中,保证待写入的固件升级文件能够在不更换flash的情况下完整写入,不影响文件中代码维护和版本管控,也不会出现返厂更换的耗时耗力,实现了对旧主板中固件升级文件的快速升级。
本发明实施例公开了一种服务器固件升级文件的存储方法,参见图1所示,包括:
S1:获取服务器中用于存储固件升级文件的多个flash的信息;多个flash包括主flash和备flash;
S2:根据信息,判断是否存在任一flash的空间能够完整存储当前待写入的固件升级文件;
S3:若是,则将固件升级文件写入相应的flash中;
S4:若否,将固件升级文件分割为多个文件块,分别写入相应的flash中。
可以理解的是,将固件升级文件或文件块写入flash的动作,通常由SPI控制器完成,因此,具体的,步骤S3包括:
通过SPI控制器使能相应的flash的片选信号,以将对应的固件升级文件写入该flash。
类似的,步骤S4包括:
将所述固件升级文件分割为多个文件块;
对相应的每个flash执行以下操作:
确定该flash的物理地址;
通过SPI控制器使能该flash的片选信号,并利用物理地址将对应的文件块写入该flash。
本实施例中的存储方法在具体实施时,实际上将所有flash整合为一个虚拟的大flash空间,对系统和上层应用不产生任何影响,不需要进行适配,只是在原本的BMC中增加一个flash虚拟层来实现本方法。原本BMC通过SPI(Serial Peripheral Interface,串行外设接口)控制器直接与主flash、备flash连接,通过CS1和CS2直接传输数据,如图2a所示,主flash和备flash的容量相同,其中烧写了相同的固件升级文件,BMC默认以主flash启动,当主flash异常,切换到从flash中启动,这是如果待烧写的固件升级文件的大小超过单个flash,则无法写入。基于现有服务器的运行情况来看,主flash损坏的几率极低,因此备flash的实际利用率非常低,因此本实施例方法将主flash和备flash均作为可烧写的对象;如图2b所示,本方法在BMC中增加了一个flash虚拟层,该flash虚拟层上接BMC其他电路,下接SPI控制器,主要作用是建立大flash空间和两个物理flash之间的映射、处理访问地址和处理数据,然后通过SPI控制器对主flash或备flash进行具体的写入操作。这种方法具有改动小、开发快、部署速度快和可无影响回退的优点。
以常见的两个64M大小的flash为例,大flash空间与物理flash之间的映射如图3所示,当大flash空间的上层访问地址不大于64M,也即固件升级文件能够完整存储在主flash中,由SPI控制器使能主flash的片选信号,将固件升级文件写入该主flash;如果上层访问地址大于64M,则固件升级文件不能完整存储在任一物理flash中,此时除了将前64M的文件块写入主flash外,还要通过地址空间换算确定备用flash的物理地址,由SPI控制器使能备flash的片选信号将剩余的固件升级文件的文件块写入备flash中。
可以理解的是,上文仅为一个示例,具体使用的flash的个数、写入文件块时多个flash之间的优先级、文件块的分块原则均可根据实际需求进行设计,本实施例中对此不作限制。
本申请公开了一种服务器固件升级文件的存储方法,包括:获取服务器中用于存储固件升级文件的多个flash的信息;多个flash包括主flash和备flash;根据信息,判断是否存在任一flash的空间能够完整存储当前待写入的固件升级文件;若是,则将固件升级文件写入相应的flash中;若否,将固件升级文件分割为多个文件块,分别写入相应的flash中。本申请将主flash和备flash均作为可写入固件升级文件的flash,在判断固态升级文件和flash的空间大小后,根据不同的情况选择将固件升级文件完整写入某一flash或分块写入多个flash中,保证待写入的固件升级文件能够在不更换flash的情况下完整写入,不影响文件中代码维护和版本管控,也不会出现返厂更换的耗时耗力,实现了对旧主板中固件升级文件的快速升级。
本发明实施例公开了一种具体的服务器固件升级文件的存储方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
考虑到原本主flash和备flash对固件升级文件的主备保护作用,为了避免某一flash故障导致整个服务器无法运行的情况,在空间允许的条件下,尽量对固件升级文件进行备份,备份思路有两种,一是在完整写入固件升级文件后,先判断能否直接备份整个固件升级文件,如果能则直接备份,如果不能,则尽量备份最为核心基础的文件;二是直接在完整写完一次固件升级文件后,直接对最核心基础的文件进行备份。为了实现备份思路,当前待写入的固件升级文件包括一级文件与二级文件,其中一级文件为核心基础的文件,只要有该部分文件,BMC可实现基础的功能。
可以理解的是,在执行步骤S1-S4实现固件升级文件的写入后,第一种备份思路的实施如下:
更新信息;
根据信息,判断是否存在任一未写入固件升级文件的flash的空间能够完整存储固件升级文件;
若是,则将固件升级文件写入未存储固件升级文件的相应的flash中;
若否,则根据信息,将一级文件备份到未存储一级文件的flash中。
其中,将一级文件备份到未存储一级文件的flash中的过程,具体包括:
根据信息,判断是否存在任一未存储一级文件的flash的空间能够完整存储一级文件;
若是,将一级文件写入未存储一级文件的相应的flash中;
若否,将一级文件分割为多个一级文件块,分别写入未存储一级文件的相应的flash中。
类似的,在执行步骤S1-S4实现固件升级文件的写入后,第二种备份思路的实施如下:
更新信息;
根据信息,将一级文件备份到未存储一级文件的flash中。
其中,将一级文件备份到未存储一级文件的flash中的过程,具体包括:
根据信息,判断是否存在任一未存储一级文件的flash的空间能够完整存储一级文件;
若是,将一级文件写入未存储一级文件的相应的flash中;
若否,将一级文件分割为多个一级文件块,分别写入未存储一级文件的相应的flash中。
可以理解的是,每次备份首先要更新所有flash的信息,以便确认当前flash可存储的空间,然后将备份文件写入用于备份的flash,此处用于备份的flash中未存储对应备份文件的原文件,否则无法实现备份效果;备份文件最好是整个固件升级文件,如果固件升级文件太大,可选择一级文件进行备份;如果无法完整备份,则分块备份。
可以理解的是,本实施例中的存储方法的应用环境,并不限于只有一个主flash和一个备flash的应用环境,本方法能够应用在更多个flash的固态升级文件的存储管理中,整个方法通用于所有多flash存储的控制器,是一种快速、简便的扩容方式。
相应的,本申请还公开了一种服务器固件升级文件的存储系统,参见图4所示,包括获取模块1、判断模块2和动作模块3,其中:
所述获取模块1用于获取服务器中用于存储固件升级文件的多个flash的信息;
所述判断模块2用于根据所述信息,判断是否存在任一所述flash的空间能够完整存储当前待写入的所述固件升级文件;若是,则触发所述动作模块3将所述固件升级文件写入相应的所述flash中;若否,则触发所述动作模块3将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中。
本申请实施例将主flash和备flash均作为可写入固件升级文件的flash,在判断固态升级文件和flash的空间大小后,根据不同的情况选择将固件升级文件完整写入某一flash或分块写入多个flash中,保证待写入的固件升级文件能够在不更换flash的情况下完整写入,不影响文件中代码维护和版本管控,也不会出现返厂更换的耗时耗力,实现了对旧主板中固件升级文件的快速升级。
在一些具体的实施例中,当前待写入的所述固件升级文件包括一级文件与二级文件;所述存储系统还包括备份模块4,用于:
更新所述信息;
根据所述信息,判断是否存在任一未写入所述固件升级文件的所述flash的空间能够完整存储所述固件升级文件;
若是,则将所述固件升级文件写入未存储所述固件升级文件的相应的所述flash中;
若否,则根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中。
在一些具体的实施例中,备份模块4具体用于:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;
若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;
若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
在一些具体的实施例中,当前待写入的所述固件升级文件包括一级文件与二级文件;所述存储系统还包括备份模块4,用于:
更新所述信息;
根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中。
在一些具体的实施例中,备份模块4具体用于:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;
若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;
若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
在一些具体的实施例中,所述将所述固件升级文件写入相应的所述flash中的过程,包括:
通过SPI控制器使能相应的所述flash的片选信号,以将对应的所述固件升级文件写入该flash。
在一些具体的实施例中,所述将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中的过程,具体包括:
将所述固件升级文件分割为多个文件块;
对相应的每个所述flash执行以下操作:
确定该flash的物理地址;
通过所述SPI控制器使能该flash的片选信号,并利用所述物理地址将对应的所述文件块写入该flash。
相应的,本申请还公开了一种服务器固件升级文件的存储装置,参见图5所示,包括处理器11和存储器12;其中,所述处理器11执行所述存储器12中保存的计算机程序时实现以下步骤:
获取服务器中用于存储固件升级文件的多个flash的信息;多个所述flash包括主flash和备flash;
根据所述信息,判断是否存在任一所述flash的空间能够完整存储当前待写入的所述固件升级文件;
若是,则将所述固件升级文件写入相应的所述flash中;
若否,将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中。
本申请实施例将主flash和备flash均作为可写入固件升级文件的flash,在判断固态升级文件和flash的空间大小后,根据不同的情况选择将固件升级文件完整写入某一flash或分块写入多个flash中,保证待写入的固件升级文件能够在不更换flash的情况下完整写入,不影响文件中代码维护和版本管控,也不会出现返厂更换的耗时耗力,实现了对旧主板中固件升级文件的快速升级。
在一些具体的实施例中,当前待写入的所述固件升级文件包括一级文件与二级文件;所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
更新所述信息;
根据所述信息,判断是否存在任一未写入所述固件升级文件的所述flash的空间能够完整存储所述固件升级文件;
若是,则将所述固件升级文件写入未存储所述固件升级文件的相应的所述flash中;
若否,则根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;
若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;
若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
在一些具体的实施例中,当前待写入的所述固件升级文件包括一级文件与二级文件;所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
更新所述信息;
根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;
若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;
若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
通过SPI控制器使能相应的所述flash的片选信号,以将对应的所述固件升级文件写入该flash。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
将所述固件升级文件分割为多个文件块;
对相应的每个所述flash执行以下操作:
确定该flash的物理地址;
通过所述SPI控制器使能该flash的片选信号,并利用所述物理地址将对应的所述文件块写入该flash。
进一步的,本实施例中的服务器固件升级文件的存储装置,还可以包括:
输入接口13,用于获取外界导入的计算机程序,并将获取到的计算机程序保存至所述存储器12中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器11中,以便处理器11利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口13具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口14,用于将处理器11产生的各种数据输出至与其相连的终端设备,以便于与输出接口14相连的其他终端设备能够获取到处理器11产生的各种数据。本实施例中,所述输出接口14具体可以包括但不限于USB接口、串行接口等。
通信单元15,用于在服务器固件升级文件的存储装置和外部服务器之间建立远程通讯连接,以便于服务器固件升级文件的存储装置能够将镜像文件挂载到外部服务器中。本实施例中,通信单元15具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
键盘16,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器17,用于对固件升级文件的存储过程的相关信息进行实时显示,以便于用户及时地了解当前固件升级文件的存储情况。
鼠标18,可以用于协助用户输入数据并简化用户的操作。
进一步的,本申请实施例还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动硬盘、CD-ROM或技术领域内所公知的任意其他形式的存储介质。可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取服务器中用于存储固件升级文件的多个flash的信息;多个所述flash包括主flash和备flash;
根据所述信息,判断是否存在任一所述flash的空间能够完整存储当前待写入的所述固件升级文件;
若是,则将所述固件升级文件写入相应的所述flash中;
若否,将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中。
本申请实施例将主flash和备flash均作为可写入固件升级文件的flash,在判断固态升级文件和flash的空间大小后,根据不同的情况选择将固件升级文件完整写入某一flash或分块写入多个flash中,保证待写入的固件升级文件能够在不更换flash的情况下完整写入,不影响文件中代码维护和版本管控,也不会出现返厂更换的耗时耗力,实现了对旧主板中固件升级文件的快速升级。
在一些具体的实施例中,当前待写入的所述固件升级文件包括一级文件与二级文件;所述可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
更新所述信息;
根据所述信息,判断是否存在任一未写入所述固件升级文件的所述flash的空间能够完整存储所述固件升级文件;
若是,则将所述固件升级文件写入未存储所述固件升级文件的相应的所述flash中;
若否,则根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中。
在一些具体的实施例中,所述可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;
若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;
若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
在一些具体的实施例中,当前待写入的所述固件升级文件包括一级文件与二级文件;所述可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
更新所述信息;
根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中。
在一些具体的实施例中,所述可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;
若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;
若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
在一些具体的实施例中,所述可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
通过SPI控制器使能相应的所述flash的片选信号,以将对应的所述固件升级文件写入该flash。
在一些具体的实施例中,所述可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
将所述固件升级文件分割为多个文件块;
对相应的每个所述flash执行以下操作:
确定该flash的物理地址;
通过所述SPI控制器使能该flash的片选信号,并利用所述物理地址将对应的所述文件块写入该flash。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种服务器固件升级文件的存储方法、系统及相关组件进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种服务器固件升级文件的存储方法,其特征在于,包括:
获取服务器中用于存储固件升级文件的多个flash的信息;多个所述flash包括主flash和备flash;
根据所述信息,判断是否存在任一所述flash的空间能够完整存储当前待写入的所述固件升级文件;
若是,则将所述固件升级文件写入相应的所述flash中;
若否,将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中;
当前待写入的所述固件升级文件包括一级文件与二级文件;所述存储方法还包括:
更新所述信息;
根据所述信息,判断是否存在任一未写入所述固件升级文件的所述flash的空间能够完整存储所述固件升级文件;
若是,则将所述固件升级文件写入未存储所述固件升级文件的相应的所述flash中;
若否,则根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中;
所述将所述一级文件备份到未存储所述一级文件的所述flash中的过程,具体包括:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;
若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;
若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
2.根据权利要求1所述存储方法,其特征在于,当前待写入的所述固件升级文件包括一级文件与二级文件;所述存储方法还包括:
更新所述信息;
根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中。
3.根据权利要求2所述存储方法,其特征在于,所述将所述一级文件备份到未存储所述一级文件的所述flash中的过程,具体包括:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;
若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;
若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
4.根据权利要求1至3任一项所述存储方法,其特征在于,所述将所述固件升级文件写入相应的所述flash中的过程,包括:
通过SPI控制器使能相应的所述flash的片选信号,以将对应的所述固件升级文件写入该flash。
5.根据权利要求4所述存储方法,其特征在于,所述将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中的过程,具体包括:
将所述固件升级文件分割为多个文件块;
对相应的每个所述flash执行以下操作:
确定该flash的物理地址;
通过所述SPI控制器使能该flash的片选信号,并利用所述物理地址将对应的所述文件块写入该flash。
6.一种服务器固件升级文件的存储系统,其特征在于,包括获取模块、判断模块和动作模块,其中:
所述获取模块用于获取服务器中用于存储固件升级文件的多个flash的信息;
所述判断模块用于根据所述信息,判断是否存在任一所述flash的空间能够完整存储当前待写入的所述固件升级文件;若是,则触发所述动作模块将所述固件升级文件写入相应的所述flash中;若否,则触发所述动作模块将所述固件升级文件分割为多个文件块,分别写入相应的所述flash中;
当前待写入的所述固件升级文件包括一级文件与二级文件;还包括备份模块,用于:
更新所述信息;根据所述信息,判断是否存在任一未写入所述固件升级文件的所述flash的空间能够完整存储所述固件升级文件;若是,则将所述固件升级文件写入未存储所述固件升级文件的相应的所述flash中;若否,则根据所述信息,将所述一级文件备份到未存储所述一级文件的所述flash中;
备份模块具体用于:
根据所述信息,判断是否存在任一未存储所述一级文件的所述flash的空间能够完整存储所述一级文件;若是,将所述一级文件写入未存储所述一级文件的相应的所述flash中;若否,将所述一级文件分割为多个一级文件块,分别写入未存储所述一级文件的相应的所述flash中。
7.一种服务器固件升级文件的存储装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述服务器固件升级文件的存储方法的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述服务器固件升级文件的存储方法的步骤。
CN202110875865.2A 2021-07-30 2021-07-30 一种服务器固件升级文件的存储方法、系统及相关组件 Active CN113704177B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110875865.2A CN113704177B (zh) 2021-07-30 2021-07-30 一种服务器固件升级文件的存储方法、系统及相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110875865.2A CN113704177B (zh) 2021-07-30 2021-07-30 一种服务器固件升级文件的存储方法、系统及相关组件

Publications (2)

Publication Number Publication Date
CN113704177A CN113704177A (zh) 2021-11-26
CN113704177B true CN113704177B (zh) 2023-06-20

Family

ID=78651054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110875865.2A Active CN113704177B (zh) 2021-07-30 2021-07-30 一种服务器固件升级文件的存储方法、系统及相关组件

Country Status (1)

Country Link
CN (1) CN113704177B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265606B (zh) * 2022-03-02 2022-05-10 龙旗电子(惠州)有限公司 固件升级方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970816A (zh) * 2017-03-31 2017-07-21 广东欧珀移动通信有限公司 一种软件升级处理方法、装置及音频播放设备
CN107977222A (zh) * 2017-12-21 2018-05-01 北京京存技术有限公司 适用于eMMC的升级文件的转换、生成方法及装置
CN109284123A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种采用版本分割实现压缩版本升级的方法及系统
CN111221682A (zh) * 2020-01-07 2020-06-02 四川长虹电器股份有限公司 一种存储系统镜像的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970816A (zh) * 2017-03-31 2017-07-21 广东欧珀移动通信有限公司 一种软件升级处理方法、装置及音频播放设备
CN109284123A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种采用版本分割实现压缩版本升级的方法及系统
CN107977222A (zh) * 2017-12-21 2018-05-01 北京京存技术有限公司 适用于eMMC的升级文件的转换、生成方法及装置
CN111221682A (zh) * 2020-01-07 2020-06-02 四川长虹电器股份有限公司 一种存储系统镜像的方法

Also Published As

Publication number Publication date
CN113704177A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN110096336B (zh) 数据监控方法、装置、设备和介质
EP3252592A1 (en) Method and device for storing and reading data
CN102855146A (zh) 固件更新系统及方法
CN103164342A (zh) 数据可用性的挂载时协调
CN108509215B (zh) 一种系统软件的更换方法、装置、终端设备及存储介质
CN103186385A (zh) 能设定开机参数的电子装置及设定方法
CN109828774B (zh) 一种服务器系统及其启动方法
JP2013041390A (ja) 情報処理装置、起動方法、プログラム
CN113254286A (zh) 一种服务器的日志输出方法、系统及相关装置
CN113704177B (zh) 一种服务器固件升级文件的存储方法、系统及相关组件
CN112148337A (zh) 一种固件升级方法及装置
CN113050965A (zh) 一种嵌入式系统升级方法、装置、设备及介质
CN110399168B (zh) 多数据盘存储服务器的系统启动方法、装置及设备
CN109683983B (zh) 一种镜像文件的生成及加载方法、设备
US20100153622A1 (en) Data Access Controller and Data Accessing Method
CN114020340A (zh) 一种服务器系统及其数据处理方法
US11226755B1 (en) Core dump in a storage device
CN111124294B (zh) 一种扇区映射信息的管理方法及装置、存储介质和设备
CN112860595B (zh) Pci设备或pcie设备、数据存取方法及相关组件
CN115878327A (zh) 总线预留方法、装置、服务器、电子设备和存储介质
CN113132241B (zh) Acl模板动态配置方法及装置
CN102455979B (zh) 受损存储单元的资料保护方法
CN111651124B (zh) Ssd映射表多核分区并行重建方法、装置、设备及介质
CN114385537A (zh) 一种页槽号动态分配方法、装置、设备及介质
CN111158733A (zh) 一种bmc升级方法、装置、设备及计算机可读存储介质

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
GR01 Patent grant
GR01 Patent grant