CN114201320B - ***块升级方法、装置、可读存储介质及电子设备 - Google Patents
***块升级方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN114201320B CN114201320B CN202210148569.7A CN202210148569A CN114201320B CN 114201320 B CN114201320 B CN 114201320B CN 202210148569 A CN202210148569 A CN 202210148569A CN 114201320 B CN114201320 B CN 114201320B
- Authority
- CN
- China
- Prior art keywords
- system block
- upgraded
- data
- block
- space
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种***块升级方法、装置、可读取储存介质及电子设备,通过获取待升级的***数据量大小后,从***空间内获取对应储存空间大小的第一***块并用于暂时储存待升级的***数据,从而避免了采用内存储存待升级的***数据,有效避免内存不足或者因采用了已存储数据的内存而导致的数据不一致的问题;同时,当第二***块从第一***块接收完***数据后,对数据进行校验,只有通过校验后才将旧***块和第一***块内的数据释放,能够有效应对在***块数据升级过程中出现的各种异常,保证***块数据的正确性,减少储存设备升级过程中出现异常的情况。
Description
技术领域
本发明涉及存储器领域,特别是涉及一种***块升级方法、装置、可读存储介质及电子设备。
背景技术
目前,主流的闪存类存储产品都有专门的物理块(block)用来存放***数据,用于储存如固件代码和***配置信息等数据。这些物理块通常被统称为***块。在产品工作过程中,会不定时地从***块中读取固件代码,并将其放置在静态随机存取存储器(StaticRandom-Access Memory,SRAM)中运行。每当需要对产品功能升级或者添加补丁时,通过对***块的数据进行升级实现产品功能升级和补丁。
然而,现有的升级方法通为:设备先接收升级包的数据,再将其暂存在内存中,当设备将完整的升级包接收后,再一次性将数据下刷到新的***块上。但这种升级方式存在较多缺陷隐患,比如由于内存空间不足导致设备无法暂存所有数据、又如在接收数据过程中,暂存的升级数据被其他业务篡改、以及在下刷过程中遇到掉电等情况,这些异常都有可能导致设备无法正常启动。
发明内容
本发明所要解决的技术问题是:提供一种***块升级方法、装置、可读存储介质及电子设备,减少储存设备升级过程中出现异常的情况。
为了解决上述技术问题,本发明采用的技术方案为:
一种***块升级方法,包括步骤:
获取待升级的***数据量大小;
根据所述待升级的***数据量从***空间内获取对应储存空间大小的第一***块;
以预设的数据接收量将所述待升级的***数据分批次的储存至所述第一***块内,直至完成所述待升级的***数据的接收;
判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块;
将所述第一***块内的所述待升级的***数据传输至所述第二***块内,得到升级***数据;
判断所述第二***块内的所述升级***数据是否异常,若否,则将所述第二***块标记为有效***块,并将所述第一***块以及旧***块的存储空间释放。
为了解决上述技术问题,本发明采用的另一技术方案为:
一种***块升级装置,包括:
第一获取模块,用于获取待升级的***数据量大小;
第二获取模块,用于根据所述待升级的***数据量从***空间内获取对应储存空间大小的第一***块;
第一存储模块,用于以预设的数据接收量将所述待升级的***数据分批次的储存至所述第一***块内,直至完成所述待升级的***数据的接收;
第一判断模块,用于判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块;
第二储存模块,用于将所述第一***块内的所述待升级的***数据传输至所述第二***块内,得到升级***数据;
第二判断模块,用于判断所述第二***块内的所述升级***数据是否异常,若否,则将所述第二***块标记为有效***块,并将所述第一***块以及旧***块的存储空间释放。
为了解决上述技术问题,本发明采用的另一技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的一种***块升级方法的各个步骤。
为了解决上述技术问题,本发明采用的另一技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述的一种***块升级方法中的各个步骤。
本发明的有益效果在于:通过获取待升级的***数据量大小后,从***空间内获取对应储存空间大小的第一***块并用于暂时储存待升级的***数据,从而避免了采用内存储存待升级的***数据,有效避免内存不足或者因采用了已存储数据的内存而导致的数据不一致的问题;同时,当第二***块从第一***块接收完***数据后,对数据进行校验,只有通过校验后才将旧***块和第一***块内的数据释放,能够有效应对在***块数据升级过程中出现的各种异常,保证***块数据的正确性,减少储存设备升级过程中出现异常的情况。
附图说明
图1为本发明实施例的一种***块升级方法的步骤流程图;
图2为本发明实施例的一种***块升级装置的结构示意图;
图3为本发明实施例的一种电子设备的结构示意图;
图4为本实施例中的一种***块升级方法的另一步骤流程示意图;
图5为本实施例中的一种***块升级方法的***版本管理结构示意图;
图6为本实施例中的一种***块升级方法的***版本管理结构升级示意图;
图7为本实施例中的一种***块升级方法的对***块有效性判断的骤流程示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种***块升级方法,包括步骤:
获取待升级的***数据量大小;
根据所述待升级的***数据量从***空间内获取对应储存空间大小的第一***块;
以预设的数据接收量将所述待升级的***数据分批次的储存至所述第一***块内,直至完成所述待升级的***数据的接收;
判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块;
将所述第一***块内的所述待升级的***数据传输至所述第二***块内,得到升级***数据;
判断所述第二***块内的所述升级***数据是否异常,若否,则将所述第二***块标记为有效***块,并将所述第一***块以及旧***块的存储空间释放。
由上述描述可知,本发明的有益效果在于:通过获取待升级的***数据量大小后,从***空间内获取对应储存空间大小的第一***块并用于暂时储存待升级的***数据,从而避免了采用内存储存待升级的***数据,有效避免内存不足或者因采用了已存储数据的内存而导致的数据不一致的问题;同时,当第二***块从第一***块接收完***数据后,对数据进行校验,只有通过校验后才将旧***块和第一***块内的数据释放,能够有效应对在***块数据升级过程中出现的各种异常,保证***块数据的正确性,减少储存设备升级过程中出现异常的情况。
进一步地,判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块包括:
判断所述第一***块内的所述待升级的***数据是否异常,若否,则判断所述待升级的***数据的存放格式是否与***块要求的存放格式一致,若不一致,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第三***块;并将所述第一***块内的所述待升级的***数据传输至所述第三***块进行格式转化后再传输至所述第二***块内;
若一致,则执行所述根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块的步骤。
由上述描述可知,通过判断待升级的***数据的存放格式与***块要求的存放格式是否一致,当不一致时则再获取第三***块专门用于对数据进行临时存放和整理,从而当第三***块将待升级的***数据完成整理后,使待升级的***数据的存放格就与***块上数据的存放格式一致,再将待升级的***数据写入第二***块,避免由于格式不同而导致升级失败等问题,也避免在原有的旧***块上直接进行格式转换,由于转换失败导致数据丢失的问题。
进一步地,所述获取待升级的***数据量大小之前还包括:
更新***块的组号;
从所述***空间内获取***块时还包括:
对从所述***空间内获取的***块进行递增编号,得到序列号,并在所述序列号中加入所述组号。
由上述描述可知,每当需要更新***块且获取获取待升级的***数据量大小之前,将从***空间内获取的***块的组号更新,从而在获取待升级数据时,将升级***数据与旧***块内存储的***数据设置成不同的组号,能够用于将新旧数据区分,同时每写入一批待升级的***数据后就更新***块的编号,从而能够记录每一被使用的***块的编号,并保证数据传输过程的安全性。
进一步地,还包括:
接收上电信号后,判断是否存在异常掉电信号,若是,则获取所述***空间内所有的所述***块的组号和编号;
根据所述组号将所述***块分组,并统计每组内所述***块的数量;
将所述***块数量较大的组标记为有效***块;
若每一组内的所述***块数量相同,则将所述***块对应的编号大的组标记为有效***块。
由上述描述可知,当接收上电信号后判断是否存在异常掉电的情况,若存在,则通过获取***空间内所有***块的组号和编号,并通过获取到的组号将***块分为不同的两组数据,即新***数据和旧***数据,再通过判断两组数据的数量以及对应的编号大小来确定取用哪一组号的***块作有效数据,因而不需要对哪一组为新***数据或旧***数据进行判断,简化判断规则的同时提高判断精度,并且无论是否更新成功都能够成功启动***,保证***的正常使用。
进一步地,所述第二***块与所述旧***块都包括一备份***块;
所述将所述第一***块内的所述待升级的***数据传输至所述第二***块内,得到升级***数据之后包括:
将所述待升级的***数据传输至所述第二***块的备份***块内。
由上述描述可知,通过为第二***块和旧***块均设置与之对应的备份***块,从而在***运行的过程中主***块和备用***块能够互为备份,提高***稳定性。
进一步地,所述判断所述第二***块内的所述升级***数据是否异常之后包括:
判断所述第二***块的备份***块内的所述***数据是否异常,若否,则将所述第二***块和所述第二***块的备份***块均标记为有效***块。
由上述描述可知,只有当第二***块和第二***块的备份***块内的***数据均没有异常时,才将第二***块标记为有效***块,避免***空间内只存在一份新的***数据无法起到备份作用,从而进一步提高***的稳定性。
请参照图2,本发明另一实施例提供了一种数据写入装置,包括:
一种***块升级装置,包括:
第一获取模块,用于获取待升级的***数据量大小;
第二获取模块,用于根据所述待升级的***数据量从***空间内获取对应储存空间大小的第一***块;
第一存储模块,用于以预设的数据接收量将所述待升级的***数据分批次的储存至所述第一***块内,直至完成所述待升级的***数据的接收;
第一判断模块,用于判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块;
第二储存模块,用于将所述第一***块内的所述待升级的***数据传输至所述第二***块内,得到升级***数据;
第二判断模块,用于判断所述第二***块内的所述升级***数据是否异常,若否,则将所述第二***块标记为有效***块,并将所述第一***块以及旧***块的存储空间释放。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的一种***块升级方法的各个步骤。
请参照图3,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的一种***块升级方法中的各个步骤。
本发明上述***块升级方法、装置、可读存储介质及电子设备能够适用于各种类型的闪存类存储产品,如eMMC、UFS、SSD等,以下通过具体实施方式进行说明:
实施例一
请参照图1,一种***块升级方法,包括步骤:
S1、获取待升级的***数据量大小;
S2、根据所述待升级的***数据量从***空间内获取对应储存空间大小的第一***块;所述第一***为暂存***块,用于暂时存储当前所述待升级的***数据,当完成升级后暂存***块释放内存;
在一种可选的实施方式中,***空间包括所有空闲的***块;
S3、以预设的数据接收量将所述待升级的***数据分批次的储存至所述第一***块内,直至完成所述待升级的***数据的接收;
S4、判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块,具体的:
判断所述第一***块内的所述待升级的***数据是否异常,若否,则判断所述待升级的***数据的存放格式是否与***块要求的存放格式一致,若不一致,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第三***块;并将所述第一***块内的所述待升级的***数据传输至所述第三***块进行格式转化后再传输至所述第二***块内;
若一致,则执行所述根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块的步骤;
S5、将所述第一***块内的所述待升级的***数据传输至所述第二***块内,得到升级***数据;
S6、判断所述第二***块内的所述升级***数据是否异常,若否,则将所述第二***块标记为有效***块,并将所述第一***块以及旧***块的存储空间释放;
其中,在一个可选的实施方式中,所述第二***块与所述旧***块都包括一备份***块;
步骤S5之后还包括:
S5a、将所述待升级的***数据传输至所述第二***块的备份***块内。
步骤S6、之后还包括:
S7、判断所述第二***块的备份***块内的所述***数据是否异常,若否,则将所述第二***块和所述第二***块的备份***块均标记为有效***块;
本实施例提供一具体的***块升级场景,以待升级的***数据(FW.bin)大小为512K字节进行说明:
请参照图4,S1、获取待升级的***数据量大小为512K字节;
S2、根据512K字节的数量大小从***空间(system spare)内获取大小为512K字节的第一***块,设置为tmpblk0;
S3、以预设的数据接收量如512B字节的粒度接收从主机下发的所述待升级数据,同时进行计数,当接收满一个页(page size,如16K)时,将接收到的16K数据下刷到tmpblk0内,重复上述步骤,直至将所述待升级的***数据的512K字节数据量全部被接收;
S4、判断tmpblk0内的所述待升级的***数据是否异常,若否,则判断所述待升级的***数据的存放格式是否与***块要求的数据存放格式一致,若一致,则从***空间内分别获取大小为512K字节大小的所述第二***块以及备用***块,设置为newblk0/1;
若不一致,则从***空间内获取大小为512K字节的第三***块,设置为tmpblk1;并将tmpblk0内的所述待升级的***数据传输至tmpblk1内进行格式转化;
S5、若格式一致,则将tmpblk0内的所述待升级的***数据传输至newblk0和newblk1内,得到升级***数据;
若格式不一致,则将tmpblk1内的完成格式转化后的所述待升级的***数据传输至newblk0和newblk1内,得到升级***数据;
S6、判断newblk0/1内的所述升级***数据是否异常,若否,则将newblk0和newblk1标记为有效***块,并将tmpblk0、tmpblk1以及旧***块的存储空间释放。
实施例二
本实施例与实施例一的不同在于,对上电后***内的有效***块进行判断;
对***内的有效***块判断包括如下步骤:
A1、接收上电信号后,判断是否存在异常掉电信号,若是,则获取所述***空间内所有的所述***块的组号和编号;
A2、根据所述组号将所述***块分组,并统计每组内所述***块的数量;
A3、将所述***块数量较大的组标记为有效***块,若每一组内的所述***块数量相同,则将所述***块对应的编号大的组标记为有效***块;
其中,步骤S1之前还包括:更新***块的组号;
从所述***空间内获取***块时还包括:对从所述***空间内获取的***块进行递增编号,得到序列号,并在所述序列号中加入所述组号,具体的:
请参照图5,本实施例提供一种***版本管理数据结构;
设计一个数据结构SN,大小为16bit;其中,bit[15]SN1代表同一批次的***块(sysblk)的组号,每次升级都会将其进行更新(由0更新为1,或由1更新为0);bit[14:0]SN0为每个***块的版本编号,每当从***空间内下刷一个sysblk其版本编号便会递增;同时,整个SN是保存在sysblk的nand page的raw data中的,在读取sysblk的时候可以根据SN号来进行有效性的判断;请参照图6,为SN的更新示意图;初始状态下***内的***块为old-sysblk0和old-sysblk1,对应的组号和编分别为:SN:0×0001以及SN:0×0002;当更新后得到new-sysblk0、SN:0×8003和new-sysblk1、SN:0×8004,再次更新后得到new-sysblk0、SN:0×0005和new-sysblk1、SN:0×0006,以此类推;
请参照图7,本实施例提供一具体场景对***内的有效***块进行判断:
A1、接收上电信号后若存在异常掉电则通过判断有效性入口进行有效性判断步骤,并读取所有***块的SN并记录;同时,判断***块内是否存在tmpblk0/1,若存在则将其释放;
A2、根据***块的SN内的组号将所述***块分组得到group0/1,并统计group0和group1内***块的数量;
A3、将所述***块数量较大的group标记为有效***块,若group0和group1内的所述***块数量相同(如为2:2),则将所述***块对应的编号大的group标记为有效***块(即比较SN的bit[14:0]),并退出有效性判断,进入***;
请参照图4,采用上述的***升级方法后在各种问题场景下都能够进行正常开机:
场景1:主机在下发FW.bin的过程中(即在执行步骤S3的过程中),若出现数据跳变,则设备会在校验tmpblk0的时候将其识别(即在S4中对数据是否异常进行判断),因此不会造成设备异常;
场景2:设备在下刷某个16K的情况下出现掉电(即在执行步骤S3的过程中),这种情况下会退出升级流程,但是由于原来的***块依然有效,因此在上电后经过对有效数据块进行判断后,能够将原来的***块标记为有效数据块,所以不会造成设备异常;
场景3:设备在整理tmpblk1数据的时候出现掉电,这种情况下会退出升级流程,但通过有效性判断后,仍将原来的***块设置当前***的有效***块,所以不会造成设备异常;
场景4:当设备在下刷newblk0之前或者过程中出现掉电,会造成新FW.bin未升级成功,但只有在两个newblk都下刷成功并校验成功,才会将旧的***块进行擦除释放,因而在通过有效性判断后,仍将原来的***块设置当前***的有效***块,所以不会造成设备异常;
场景5:当设备在下刷newblk1之前或者过程中出现掉电,会导致重新上电后有3个***块,包括2个旧***块和1个新***块,在进行有效性判断后,会将1个新的***块进行擦除,原来的2个***块依然有效,所以不会造成设备异常;
场景6:当设备在下刷完newblk1之后,在释放旧的***块之前掉电,会导致设备重新上电后有4个***块,包括2个旧***块和2个新***块,在进行有效性判断后,会将2个旧的***块进行擦除,新的2个***块有效,不会造成设备异常。
实施例三
请参照图2,一种***块升级装置,其特征在于,包括:
第一获取模块,用于获取待升级的***数据量大小;
第二获取模块,用于根据所述待升级的***数据量从***空间内获取对应储存空间大小的第一***块;
第一存储模块,用于以预设的数据接收量将所述待升级的***数据分批次的储存至所述第一***块内,直至完成所述待升级的***数据的接收;
第一判断模块,用于判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块;
第二储存模块,用于将所述第一***块内的所述待升级的***数据传输至所述第二***块内,得到升级***数据;
第二判断模块,用于判断所述第二***块内的所述升级***数据是否异常,若否,则将所述第二***块标记为有效***块,并将所述第一***块以及旧***块的存储空间释放。
实施例四
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如实施例一或二所述的一种***块升级方法的各个步骤。
实施例五
请参照图3,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如如实施例一或二所述的一种***块升级方法中的各个步骤。
综上所述,本发明提供的一种***块升级方法、装置、可读取储存介质及电子设备,通过构建***版本管理数据结构,当***更新时从***空间内获取***块并写入数据后,将***块对应组号和版本编号进行更新,从而在后续更新过程中出现***掉电的情况时,能够根据***版本管理数据结构对***内当前有效的***块进行判断并标记,保证***的稳定性;与此同时,在升级的过程中通过获取待升级的***数据量大小后,从***空间内获取对应储存空间大小的第一***块并用于暂时储存待升级的***数据,从而避免了采用内存储存待升级的***数据,有效避免内存不足或者因采用了已存储数据的内存而导致的数据不一致的问题;同时,当第二***块从第一***块接收完***数据后,对数据进行校验,只有通过校验后才将旧***块和第一***块内的数据释放,能够有效应对在***块数据升级过程中出现的各种异常,保证***块数据的正确性,减少储存设备升级过程中出现异常的情况。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种***块升级方法,其特征在于,包括步骤:
获取待升级的***数据量大小;
根据所述待升级的***数据量从***空间内获取对应储存空间大小的第一***块;
以预设的数据接收量将所述待升级的***数据分批次的储存至所述第一***块内,直至完成所述待升级的***数据的接收;
判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块;
将所述第一***块内的所述待升级的***数据传输至所述第二***块内,得到升级***数据;
判断所述第二***块内的所述升级***数据是否异常,若否,则将所述第二***块标记为有效***块,并将所述第一***块以及旧***块的存储空间释放;
所述获取待升级的***数据量大小之前还包括:
更新***块的组号;
从所述***空间内获取***块时还包括:
对从所述***空间内获取的***块进行递增编号,得到序列号,并在所述序列号中加入所述组号;
接收上电信号后,判断是否存在异常掉电信号,若是,则获取所述***空间内所有的所述***块的组号和编号;
根据所述组号将所述***块分组,并统计每组内所述***块的数量;
将所述***块数量较大的组标记为有效***块;
若每一组内的所述***块数量相同,则将所述***块对应的编号大的组标记为有效***块;
判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块包括:
判断所述第一***块内的所述待升级的***数据是否异常,若否,则判断所述待升级的***数据的存放格式是否与***块要求的存放格式一致,若不一致,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第三***块;并将所述第一***块内的所述待升级的***数据传输至所述第三***块进行格式转化后再传输至所述第二***块内;
若一致,则执行所述根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块的步骤。
2.根据权利要求1所述的一种***块升级方法,其特征在于,所述第二***块与所述旧***块都包括一备份***块;
所述将所述第一***块内的所述待升级的***数据传输至所述第二***块内,得到升级***数据之后包括:
将所述待升级的***数据传输至所述第二***块的备份***块内。
3.根据权利要求1所述的一种***块升级方法,其特征在于,所述判断所述第二***块内的所述升级***数据是否异常之后包括:
判断所述第二***块的备份***块内的所述***数据是否异常,若否,则将所述第二***块和所述第二***块的备份***块均标记为有效***块。
4.一种***块升级装置,其特征在于,包括:
第一获取模块,用于获取待升级的***数据量大小;
第二获取模块,用于根据所述待升级的***数据量从***空间内获取对应储存空间大小的第一***块;
第一存储模块,用于以预设的数据接收量将所述待升级的***数据分批次的储存至所述第一***块内,直至完成所述待升级的***数据的接收;
第一判断模块,用于判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块;
第二储存模块,用于将所述第一***块内的所述待升级的***数据传输至所述第二***块内,得到升级***数据;
第二判断模块,用于判断所述第二***块内的所述升级***数据是否异常,若否,则将所述第二***块标记为有效***块,并将所述第一***块以及旧***块的存储空间释放;
所述获取待升级的***数据量大小之前还包括:
更新***块的组号;
从所述***空间内获取***块时还包括:
对从所述***空间内获取的***块进行递增编号,得到序列号,并在所述序列号中加入所述组号;
接收上电信号后,判断是否存在异常掉电信号,若是,则获取所述***空间内所有的所述***块的组号和编号;
根据所述组号将所述***块分组,并统计每组内所述***块的数量;
将所述***块数量较大的组标记为有效***块;
若每一组内的所述***块数量相同,则将所述***块对应的编号大的组标记为有效***块;
判断所述第一***块内的所述待升级的***数据是否异常,若否,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块包括:
判断所述第一***块内的所述待升级的***数据是否异常,若否,则判断所述待升级的***数据的存放格式是否与***块要求的存放格式一致,若不一致,则根据所述待升级的***数据量从***空间内获取对应储存空间大小的第三***块;并将所述第一***块内的所述待升级的***数据传输至所述第三***块进行格式转化后再传输至所述第二***块内;
若一致,则执行所述根据所述待升级的***数据量从***空间内获取对应储存空间大小的第二***块的步骤。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-3任意一项所述的一种***块升级方法的各个步骤。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-3任意一项所述的一种***块升级方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148569.7A CN114201320B (zh) | 2022-02-18 | 2022-02-18 | ***块升级方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148569.7A CN114201320B (zh) | 2022-02-18 | 2022-02-18 | ***块升级方法、装置、可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114201320A CN114201320A (zh) | 2022-03-18 |
CN114201320B true CN114201320B (zh) | 2022-05-27 |
Family
ID=80645701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210148569.7A Active CN114201320B (zh) | 2022-02-18 | 2022-02-18 | ***块升级方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114201320B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163155A (zh) * | 2011-03-09 | 2011-08-24 | 深圳创维数字技术股份有限公司 | 存储设备的升级方法及升级控制装置 |
CN105487903A (zh) * | 2015-12-04 | 2016-04-13 | 小米科技有限责任公司 | ***升级方法及装置 |
CN108595113A (zh) * | 2018-03-22 | 2018-09-28 | 维沃移动通信有限公司 | 一种分区调整的方法及终端 |
CN111290773A (zh) * | 2020-03-12 | 2020-06-16 | 深圳Tcl新技术有限公司 | ***升级方法、设备及可读存储介质 |
CN112199238A (zh) * | 2020-10-16 | 2021-01-08 | 深圳佰维存储科技股份有限公司 | 存储器固件更新方法、装置、存储介质及电子设备 |
CN113900699A (zh) * | 2021-05-26 | 2022-01-07 | 荣耀终端有限公司 | 一种***升级方法和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677375A (zh) * | 2014-11-18 | 2016-06-15 | 中兴通讯股份有限公司 | 升级控制设备、终端、终端升级方法及*** |
-
2022
- 2022-02-18 CN CN202210148569.7A patent/CN114201320B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163155A (zh) * | 2011-03-09 | 2011-08-24 | 深圳创维数字技术股份有限公司 | 存储设备的升级方法及升级控制装置 |
CN105487903A (zh) * | 2015-12-04 | 2016-04-13 | 小米科技有限责任公司 | ***升级方法及装置 |
CN108595113A (zh) * | 2018-03-22 | 2018-09-28 | 维沃移动通信有限公司 | 一种分区调整的方法及终端 |
CN111290773A (zh) * | 2020-03-12 | 2020-06-16 | 深圳Tcl新技术有限公司 | ***升级方法、设备及可读存储介质 |
CN112199238A (zh) * | 2020-10-16 | 2021-01-08 | 深圳佰维存储科技股份有限公司 | 存储器固件更新方法、装置、存储介质及电子设备 |
CN113900699A (zh) * | 2021-05-26 | 2022-01-07 | 荣耀终端有限公司 | 一种***升级方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114201320A (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4596715B2 (ja) | 別個のメモリ領域におけるデータの組の種々のバージョンを記憶する配列及びメモリ内のデータの組を更新する方法 | |
CN108646982B (zh) | 一种基于ubifs的数据自动修复方法及装置 | |
CN111176885A (zh) | 一种分布式存储***的数据校验方法及相关装置 | |
CN109685190B (zh) | 一种ic卡掉电保护方法及装置 | |
CN102654839A (zh) | 一种实现现场可编程门阵列可靠升级的方法及装置 | |
CN102163155A (zh) | 存储设备的升级方法及升级控制装置 | |
CN107329966B (zh) | 机器数据存储方法及*** | |
CN112000513A (zh) | 一种计算机及其vpd数据操作方法、装置、存储介质 | |
US20230376226A1 (en) | Storage block management information synchronous recording method and system, and terminal and storage medium | |
CN110209349B (zh) | 数据处理的方法及终端设备 | |
CN114201320B (zh) | ***块升级方法、装置、可读存储介质及电子设备 | |
CN110990207B (zh) | 基于Whitley平台的BPS内存测试方法、***、终端及存储介质 | |
CN115509466B (zh) | 一种数据管理方法、装置及电子设备和存储介质 | |
CN115630100A (zh) | 单元和多元时序数据的混合处理方法、装置及计算机设备 | |
CN114300026A (zh) | 一种单调计数器、计数方法、电子设备及存储介质 | |
CN114203252A (zh) | 非易失存储器的坏块检测方法、装置、设备及存储介质 | |
CN109960611B (zh) | 数据恢复的方法、装置、电子设备及机器可读存储介质 | |
CN103824101B (zh) | 逻辑卡读写方法和*** | |
CN112506786A (zh) | 一种回归测试方法和回归测试装置 | |
CN111857586A (zh) | 一种SSD Trim优化方法、***、终端及存储介质 | |
US20060117213A1 (en) | Efficient maintenance of memory list | |
CN110321073B (zh) | 一种闪存的数据存储方法和装置以及设备 | |
CN111292796B (zh) | 一种raid损坏详细信息获取方法、***、终端及存储介质 | |
CN114637626B (zh) | 减少eeprom数据读写出错的方法、装置、设备及可读存储介质 | |
CN110471818B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |