[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN108733517A - Ssd固件升级保护方法及装置 - Google Patents

Ssd固件升级保护方法及装置 Download PDF

Info

Publication number
CN108733517A
CN108733517A CN201810569588.0A CN201810569588A CN108733517A CN 108733517 A CN108733517 A CN 108733517A CN 201810569588 A CN201810569588 A CN 201810569588A CN 108733517 A CN108733517 A CN 108733517A
Authority
CN
China
Prior art keywords
firmware
copy
copies
ssd
written
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
Application number
CN201810569588.0A
Other languages
English (en)
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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System 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 Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201810569588.0A priority Critical patent/CN108733517A/zh
Publication of CN108733517A publication Critical patent/CN108733517A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种SSD固件升级保护方法及装置,包括以下步骤:检查固件列表,筛选出读写属性为可读写且固件版本最旧的Firmware拷贝,确定该Firmware拷贝所在Firmware Block;擦除该Firmware Block;写入镜像文件到该Firmware Block;检查是否写入成功;若写入成功,则将新写入的Firmware拷贝设置为启动拷贝;若写入失败,则返回擦除该Firmware Block步骤。通过设置多个不同的Firmware拷贝,在升级时择一进行升级,若成功则采用升级后的固件进行启动,否则采用原有的进行启动,不会出现固件升级失败SSD无法正常启动,甚至丢盘的问题。

Description

SSD固件升级保护方法及装置
技术领域
本发明涉及到SSD固件升级领域,特别是涉及到一种SSD固件升级保护方法及装置。
背景技术
SSD(固态硬盘)已经被广泛应用于各种场合,由于其在性能、功耗、环境适应性等方面的优秀指标,正逐步替换传统的硬盘。由于SSD对于数据可靠性要求很高,且用户场景复杂,所以常常会有一些内部测试未能覆盖的场景发生;同时,某些情形下,SSD供应商发布了新的算法优化,可以提升用户体验,在这些情形下都需要通过固件升级来修复、优化SSD。
现有的SSD固件升级过程如下:主机下发固件升级命令;SSD接收主机新的Firmware镜像文件;校验Firmware镜像文件;擦除所有Firmware Block;写入新的Firmware镜像文件;读取Firmware镜像,检查正确性;如果没有正确写入,则重复上述步骤;如果正确写入,回复主机升级完成。而SSD固件升级的过程中,如果操作不当会导致硬盘失效例如突然断电或发送其他不可抗的意外,会导致SSD数据无法访问。
发明内容
为了解决上述现有技术的缺陷,本发明的目的是提供一种SSD固件升级保护方法及装置。
为达到上述目的,本发明的技术方案是:
提出一种SSD固件升级保护方法,包括以下步骤:
检查固件列表,筛选出读写属性为可读写且固件版本最旧的Firmware拷贝,确定该Firmware拷贝所在Firmware Block;
擦除该Firmware Block;
写入镜像文件到该Firmware Block;
检查是否写入成功;
若写入成功,则将新写入的Firmware拷贝设置为启动拷贝;
若写入失败,则返回擦除该Firmware Block步骤。
进一步地,所述将新写入的Firmware拷贝设置为启动拷贝步骤,包括,
修改NOR启动参数区域的Current Boot Copy为新写入的Firmware拷贝。
进一步地,所述将新写入的Firmware拷贝设置为启动拷贝步骤之后,包括,
运行ROM,加载Bootloader到程序Memory并执行
根据NOR启动参数区域的Current Boot Copy选择对应的Firmware拷贝;
校验Firmware拷贝是否正确;
若正确,则加载Firmware拷贝并执行;
若不正确,则扫描固件列表,筛选出读写属性为只读且固件版本最新的Firmware拷贝,记为Firmware Copy N;
修改启动参数区域的Current Boot Copy为Firmware Copy N;
加载Firmware Copy N并执行。
进一步地,所述修改NOR启动参数区域的Current Boot Copy为新写入的Firmware拷贝步骤,包括,
在NOR新增启动参数区域,并在启动参数区域存放有包含所有Firmware拷贝物理存放地址和数量信息,以及用于确定启动拷贝的Current Boot Copy。
进一步地,所述检查固件列表,筛选出所有读写属性为可读写的Firmware拷贝,选择固件版本最旧的Firmware拷贝步骤之前,包括,
设置多个Firmware拷贝,并为每个Firmware拷贝设置对应的读写权限,且不同的Firmware拷贝的固件版本不同。
本发明还提出了一种SSD固件升级保护装置,包括:
第一筛选单元,用于检查固件列表,筛选出读写属性为可读写且固件版本最旧的Firmware拷贝,确定该Firmware拷贝所在Firmware Block;
擦除单元,用于擦除该Firmware Block;
写入单元,用于写入镜像文件到该Firmware Block;
检查单元,用于检查是否写入成功;
启动设置单元,用于若写入成功,则将新写入的Firmware拷贝设置为启动拷贝;
返回单元,用于若写入失败,则返回擦除该Firmware Block步骤。
进一步地,所述启动设置单元包括启动设置模块,用于修改NOR启动参数区域的Current Boot Copy为新写入的Firmware拷贝。
进一步地,还包括:
运行单元,用于运行ROM,加载Bootloader到程序Memory并执行
启动单元,用于根据NOR启动参数区域的Current Boot Copy选择对应的Firmware拷贝;
校验单元,用于校验Firmware拷贝是否正确;
第一执行单元,用于若正确,则加载Firmware拷贝并执行;
第二筛选单元,用于若不正确,则扫描固件列表,筛选出读写属性为只读且固件版本最新的Firmware拷贝,记为Firmware Copy N;
修改单元,用于修改启动参数区域的Current Boot Copy为Firmware Copy N;
第二执行单元,用于加载Firmware Copy N并执行。
进一步地,所述启动设置单元还包括新增模块,用于在NOR新增启动参数区域,并在启动参数区域存放有包含所有Firmware拷贝物理存放地址和数量信息,以及用于确定启动拷贝的Current Boot Copy。
进一步地,还包括预设置单元,用于设置多个Firmware拷贝,并为每个Firmware拷贝设置对应的读写权限,且不同的Firmware拷贝的固件版本不同。
本发明的有益效果是:通过设置多个不同固件版本的Firmware拷贝,在升级固件时对其中之一进行升级,若升级成功则采用升级成功后的固件进行启动,若升级不成功则采用其他原有的Firmware拷贝进行启动,保证了在固件升级过程中,至少存在有一个可以正常用于启动的Firmware拷贝,保证了SSD的正常使用,不会出现因为固件升级失败而导致SSD无法正常启动,甚至丢盘的问题。
附图说明
图1为本发明一种SSD固件升级保护方法的方法流程图;
图2为本发明一种启动参数设置的方法流程图;
图3为本发明一种SSD固件升级保护方法的方法流程图;
图4为本发明一实施例SSD启动的原理框图;
图5为本发明一种SSD固件升级保护装置的结构框图;
图6为本发明一种SSD固件升级保护装置的启动设置单元的结构框图。
具体实施方式
为阐述本发明的思想及目的,下面将结合附图和具体实施例对本发明做进一步的说明。
Firmware拷贝也写作Firmware Copy。
Firmware Block用于存放Firmware Copy。
参照图1-4,提出本发明一具体实施例,一种SSD固件升级保护方法,包括以下步骤:
S11、检查固件列表,筛选出读写属性为可读写且固件版本最旧的Firmware拷贝,确定该Firmware拷贝所在Firmware Block。
S12、擦除该Firmware Block。
S13、写入镜像文件到该Firmware Block。
S14、检查是否写入成功。
S15、若写入成功,则将新写入的Firmware拷贝设置为启动拷贝。
S16、若写入失败,则返回擦除该Firmware Block步骤。
对于步骤S11,主机在下发固件升级命令之后,SSD接收到用于升级的镜像文件,准备升级,通过检查NOR启动参数区域中的固件列表Firmware Copy List(Firmware拷贝列表),先筛选出读写属性为可读写的所有Firmware拷贝,并获取上述所有Firmware拷贝的版本信息,根据版本信息确定最旧版本的Firmware拷贝,并确定与之对应的Firmware Block,后续使用该Firmware Block进行固件升级。
具体的,读写属性,可分为只读(R)和可读写(RW)两种,可读属性的Firmware拷贝只能被读取,无法写入新的镜像文件进行固件升级,具体的,保存一份只读属性的Firmware拷贝,其从出厂后就不可更改,用于当所有的Firmware拷贝失效之后进行系统启动。而可读写(RW)属性的Firmware拷贝可以被读取,也可以写入新的镜像文件进行固件升级,用于后续进行固件升级,保证SSD固件升级到性能最好的版本。
步骤S11之前,还包括步骤S10:设置多个Firmware拷贝,并为每个Firmware拷贝设置对应的读写权限,且不同的Firmware拷贝的固件版本不同。
对于步骤S10,在出厂时,预先设置好多个Firmware拷贝,并为Firmware拷贝设置对应的读写权限,且不同的Firmware拷贝的固件版本不同。在为所有的Firmware拷贝写入对应的镜像文件之后,设置一个Firmware拷贝的读写属性为只读(R),之后无法更改,其余读写属性皆为可读写(RW),之后可以进行固件升级。设置一个读写属性为只读的Firmware拷贝,其从出厂后就不可更改,用于当所有的Firmware拷贝失效之后进行系统启动,避免SSD升级故障,发生丢盘。
对于步骤S12,在写入镜像文件之前需要擦除目标Firmware Block上的数据,在擦除完毕之后再写入新的镜像文件。
对于步骤S13,在擦除了目标Firmware Block上的数据之后,即可将接收到的镜像文件写入到目标Firmware Block上,进行固件升级。
对于步骤S14,在将镜像文件写入到Firmware Block之后,可能出现写入成功或写入失败两种结果,需要检查写入结构并根据写入结果进行下一步操作。
对于步骤S15,若镜像文件写入成功,则按照正常流程将该Firmware Block上的Firmware拷贝作为SSD新的启动拷贝,将在下一次启动时就可以使用升级过的Firmware拷贝进行启动,完成整个升级过程。
参考图2,,步骤S15包括以下步骤:
步骤S151:在NOR新增启动参数区域,并在启动参数区域存放有包含所有Firmware拷贝物理存放地址和数量信息,以及用于确定启动拷贝的Current Boot Copy。
步骤S152:修改NOR启动参数区域的Current Boot Copy为新写入的Firmware拷贝。
对于步骤S151,在NOR区域新增一个区域:启动参数区域,其内存放如下信息:用于表示所有Firmware Copy数量的Firmware Copy Number参数,用于确定启动拷贝的CurrentBoot Copy参数,以及每份Firmware拷贝的物理存放地址。可以通过读取Firmware CopyNumber参数了解所有Firmware Copy的具体数量,通过Current Boot Copy参数和物理存放地址确定采用那个Firmware拷贝进行启动SSD。
对于步骤S152,在检查确定新镜像文件写入没问题之后,将新写入镜像文件的Firmware拷贝确定为SSD新的启动拷贝,具体的,通过修改NOR启动参数区域的CurrentBoot Copy为新写入的Firmware拷贝就可以了。
对于步骤S16,在另外一种情况下,如果写入不成功,则重复上述步骤S12-S14,重新选择适合的Firmware Block写入镜像文件。
参考图3,步骤S16之后,包括:
S17、运行ROM,加载Bootloader到程序Memory并执行。
S18、根据NOR启动参数区域的Current Boot Copy选择对应的Firmware拷贝。
S19、校验Firmware拷贝是否正确。
S20、若正确,则加载Firmware拷贝并执行。
S21、若不正确,则扫描固件列表,筛选出读写属性为只读且固件版本最新的Firmware拷贝,记为Firmware Copy N。
S22、修改启动参数区域的Current Boot Copy为Firmware Copy N。
S23、加载Firmware Copy N并执行。
对于步骤S17,参考图4,SSD典型的启动流程如下:通电后,ROM执行;ROM从NOR加载Bootloader到程序Memory,跳转到Bootloader运行;Bootloader从存放Firmware Block(多个)扫描并加载完整的一份Firmware拷贝(Firmware Copy)到程序Memory,并开始执行,完成启动。具体的,SSD控制器内部具备ROM,为通电后代码开始执行的位置;SSD控制器内部具备程序Memory,为加载外部程序执行的地方;NOR上存放精简的Bootloader(一般为16KB),用以完成系统初始化。
对于步骤S18,NOR启动参数区域的Current Boot Copy上携带有用于启动拷贝的信息,根据Current Boot Copy选择对应的Firmware Block上的Firmware拷贝进行启动。
对于步骤S19,在启动前,需要对Firmware Block的镜像文件进行校验,确保镜像文件是完整可靠的,可以用于启动SSD。
对于步骤S20,在检验后,确定镜像文件没问题,则加载Firmware Block内的Firmware拷贝并执行启动,完成SSD启动。
对于步骤S21,当选定的Firmware Block上的镜像文件存在问题时,需要找到用于应急的Firmware拷贝,也就是读写属性为只读的初始Firmware拷贝,使用初始Firmware拷贝启动SSD,保证固件升级出现问题,但是SSD数据正常。在找到初始的Firmware拷贝之后,将其记为Firmware Copy N。
对于步骤S22,在NOR启动参数区域,修改Current Boot Copy为Firmware Copy N,后续SSD启动时,就会默认加载初始Firmware拷贝进行启动,保证SSD至少有一个能个正常启动的Firmware拷贝,提高SSD固件升级的安全性。
对于步骤S23,加载对应的初始Firmware拷贝,并执行启动。
通过设置多个不同固件版本的Firmware拷贝,在升级固件时对其中之一进行升级,若升级成功则采用升级成功后的固件进行启动,若升级不成功则采用其他原有的Firmware拷贝进行启动,保证了在固件升级过程中,至少存在有一个可以正常用于启动的Firmware拷贝,保证了SSD的正常使用,不会出现因为固件升级失败而导致SSD无法正常启动,甚至丢盘的问题。
本发明还提出了一种SSD固件升级保护装置,包括:
预设置单元10,用于设置多个Firmware拷贝,并为每个Firmware拷贝设置对应的读写权限,且不同的Firmware拷贝的固件版本不同。
第一筛选单元11,检查固件列表,筛选出读写属性为可读写且固件版本最旧的Firmware拷贝,确定该Firmware拷贝所在Firmware Block。
擦除单元12,用于擦除该Firmware Block。
写入单元13,用于写入镜像文件到该Firmware Block。
检查单元14,用于检查是否写入成功。
启动设置单元15,用于若写入成功,则将新写入的Firmware拷贝设置为启动拷贝。
返回单元16,用于若写入失败,则返回擦除单元12擦除该Firmware Block。
运行单元17,用于运行ROM,加载Bootloader到程序Memory并执行。
启动单元18,用于根据NOR启动参数区域的Current Boot Copy选择对应的Firmware拷贝。
校验单元19,用于校验Firmware拷贝是否正确。
第一执行单元20,用于若正确,则加载Firmware拷贝并执行。
第二筛选单元21,用于若不正确,则扫描固件列表,筛选出读写属性为只读且固件版本最新的Firmware拷贝,记为Firmware Copy N。
修改单元22,用于修改启动参数区域的Current Boot Copy为Firmware Copy N。
第二执行单元23,用于加载Firmware Copy N并执行。
对于预设置单元10,在出厂时,预先设置好多个Firmware拷贝,并为Firmware拷贝设置对应的读写权限,且不同的Firmware拷贝的固件版本不同。在为所有的Firmware拷贝写入对应的镜像文件之后,设置一个Firmware拷贝的读写属性为只读(R),之后无法更改,其余读写属性皆为可读写(RW),之后可以进行固件升级。设置一个读写属性为只读的Firmware拷贝,其从出厂后就不可更改,用于当所有的Firmware拷贝失效之后进行系统启动,避免SSD升级故障,发生丢盘。
对于第一筛选单元11,主机在下发固件升级命令之后,SSD接收到用于升级的镜像文件,准备升级,通过检查NOR启动参数区域中的固件列表Firmware Copy List(Firmware拷贝列表),先筛选出读写属性为可读写的所有Firmware拷贝,并获取上述所有Firmware拷贝的版本信息,根据版本信息确定最旧版本的Firmware拷贝,并确定与之对应的FirmwareBlock,后续使用该Firmware Block进行固件升级。
具体的,读写属性,可分为只读(R)和可读写(RW)两种,可读属性的Firmware拷贝只能被读取,无法写入新的镜像文件进行固件升级,具体的,保存一份只读属性的Firmware拷贝,其从出厂后就不可更改,用于当所有的Firmware拷贝失效之后进行系统启动。而可读写(RW)属性的Firmware拷贝可以被读取,也可以写入新的镜像文件进行固件升级,用于后续进行固件升级,保证SSD固件升级到性能最好的版本。
对于擦除单元12,在写入镜像文件之前需要擦除目标Firmware Block上的数据,在擦除完毕之后再写入新的镜像文件。
对于写入单元13,在擦除了目标Firmware Block上的数据之后,即可将接收到的镜像文件写入到目标Firmware Block上,进行固件升级。
对于检查单元14,在将镜像文件写入到Firmware Block之后,可能出现写入成功或写入失败两种结果,需要检查写入结构并根据写入结果进行下一步操作。
对于启动设置单元15,若镜像文件写入成功,则按照正常流程将该FirmwareBlock上的Firmware拷贝作为SSD新的启动拷贝,将在下一次启动时就可以使用升级过的Firmware拷贝进行启动,完成整个升级过程。
启动设置单元15包括新增模块51和启动设置模块52。
新增模块51,用于在NOR新增启动参数区域,并在启动参数区域存放有包含所有Firmware拷贝物理存放地址和数量信息,以及用于确定启动拷贝的Current Boot Copy。
启动设置模块52,修改NOR启动参数区域的Current Boot Copy为新写入的Firmware拷贝。
对于新增模块51,在NOR区域新增一个区域:启动参数区域,其内存放如下信息:用于表示所有Firmware Copy数量的Firmware Copy Number参数,用于确定启动拷贝的Current Boot Copy参数,以及每份Firmware拷贝的物理存放地址。可以通过读取FirmwareCopy Number参数了解所有Firmware Copy的具体数量,通过Current Boot Copy参数和物理存放地址确定采用那个Firmware拷贝进行启动SSD。
对于启动设置模块52,在检查确定新镜像文件写入没问题之后,将新写入镜像文件的Firmware拷贝确定为SSD新的启动拷贝,具体的,通过修改NOR启动参数区域的CurrentBoot Copy为新写入的Firmware拷贝就可以了。
对于返回单元16,在另外一种情况下,如果写入不成功,则返回擦除单元12重新选择对应的Firmware Block写入镜像文件。
对于运行单元17,SSD典型的启动流程如下:通电后,ROM执行;ROM从NOR加载Bootloader到程序Memory,跳转到Bootloader运行;Bootloader从存放Firmware Block扫描并加载完整的一份Firmware拷贝到程序Memory,并开始执行,完成启动。具体的,SSD控制器内部具备ROM,为通电后代码开始执行的位置;SSD控制器内部具备程序Memory,为加载外部程序执行的地方;NOR上存放精简的Bootloader(一般为16KB),用以完成系统初始化。
对于启动单元18,NOR启动参数区域的Current Boot Copy上携带有用于启动拷贝的信息,根据Current Boot Copy选择对应的Firmware Block上的Firmware拷贝进行启动。
对于校验单元19,在启动前,需要对Firmware Block的镜像文件进行校验,确保镜像文件是完整可靠的,可以用于启动SSD。
对于第一执行单元20,在检验后,确定镜像文件没问题,则加载Firmware Block内的Firmware拷贝并执行启动,完成SSD启动。
对于第二筛选单元21,当选定的Firmware Block上的镜像文件存在问题时,需要找到用于应急的Firmware拷贝,也就是读写属性为只读的初始Firmware拷贝,使用初始Firmware拷贝启动SSD,保证固件升级出现问题,但是SSD数据正常。在找到初始的Firmware拷贝之后,将其记为Firmware Copy N。
对于修改单元22,在NOR启动参数区域,修改Current Boot Copy为Firmware CopyN,后续SSD启动时,就会默认加载初始Firmware拷贝进行启动,保证SSD至少有一个能个正常启动的Firmware拷贝,提高SSD固件升级的安全性。
对于第二执行单元23,加载对应的初始Firmware拷贝,并执行启动。
本发明的有益效果是:通过设置多个不同固件版本的Firmware拷贝,在升级固件时对其中之一进行升级,若升级成功则采用升级成功后的固件进行启动,若升级不成功则采用其他原有的Firmware拷贝进行启动,保证了在固件升级过程中,至少存在有一个可以正常用于启动的Firmware Solt,保证了SSD的正常使用,不会出现因为固件升级失败而导致SSD无法正常启动,甚至丢盘的问题。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种SSD固件升级保护方法,其特征在于,包括以下步骤:
检查固件列表,筛选出读写属性为可读写且固件版本最旧的Firmware拷贝,确定该Firmware拷贝所在Firmware Block;
擦除该Firmware Block;
写入镜像文件到该Firmware Block;
检查是否写入成功;
若写入成功,则将新写入的Firmware拷贝设置为启动拷贝;
若写入失败,则返回擦除该Firmware Block步骤。
2.如权利要求1所述的SSD固件升级保护方法,其特征在于,所述将新写入的Firmware拷贝设置为启动拷贝步骤,包括,
修改NOR启动参数区域的Current Boot Copy为新写入的Firmware拷贝。
3.如权利要求2所述的SSD固件升级保护方法,其特征在于,所述将新写入的Firmware拷贝设置为启动拷贝步骤之后,包括,
运行ROM,加载Bootloader到程序Memory并执行
根据NOR启动参数区域的Current Boot Copy选择对应的Firmware拷贝;
校验Firmware拷贝是否正确;
若正确,则加载Firmware拷贝并执行;
若不正确,则扫描固件列表,筛选出读写属性为只读且固件版本最新的Firmware拷贝,记为Firmware Copy N;
修改启动参数区域的Current Boot Copy为Firmware Copy N;
加载Firmware Copy N并执行。
4.如权利要求2所述的SSD固件升级保护方法,其特征在于,所述修改NOR启动参数区域的Current Boot Copy为新写入的Firmware拷贝步骤,包括,
在NOR新增启动参数区域,并在启动参数区域存放有包含所有Firmware拷贝物理存放地址和数量信息,以及用于确定启动拷贝的Current Boot Copy。
5.如权利要求1所述的SSD固件升级保护方法,其特征在于,所述检查固件列表,筛选出所有读写属性为可读写的Firmware拷贝,选择固件版本最旧的Firmware拷贝步骤之前,包括,
设置多个Firmware拷贝,并为每个Firmware拷贝设置对应的读写权限,且不同的Firmware拷贝的固件版本不同。
6.一种SSD固件升级保护装置,其特征在于,包括:
第一筛选单元,用于检查固件列表,筛选出读写属性为可读写且固件版本最旧的Firmware拷贝,确定该Firmware拷贝所在Firmware Block;
擦除单元,用于擦除该Firmware Block;
写入单元,用于写入镜像文件到该Firmware Block;
检查单元,用于检查是否写入成功;
启动设置单元,用于若写入成功,则将新写入的Firmware拷贝设置为启动拷贝;
返回单元,用于若写入失败,则返回擦除该Firmware Block步骤。
7.如权利要求6所述的SSD固件升级保护装置,其特征在于,所述启动设置单元包括启动设置模块,用于修改NOR启动参数区域的Current Boot Copy为新写入的Firmware拷贝。
8.如权利要求6所述的SSD固件升级保护装置,其特征在于,还包括:
运行单元,用于运行ROM,加载Bootloader到程序Memory并执行启动单元,用于根据NOR启动参数区域的Current Boot Copy选择对应的Firmware拷贝;
校验单元,用于校验Firmware拷贝是否正确;
第一执行单元,用于若正确,则加载Firmware拷贝并执行;
第二筛选单元,用于若不正确,则扫描固件列表,筛选出读写属性为只读且固件版本最新的Firmware拷贝,记为Firmware Copy N;
修改单元,用于修改启动参数区域的Current Boot Copy为Firmware Copy N;
第二执行单元,用于加载Firmware Copy N并执行。
9.如权利要求7所述的SSD固件升级保护装置,其特征在于,所述启动设置单元还包括新增模块,用于在NOR新增启动参数区域,并在启动参数区域存放有包含所有Firmware拷贝物理存放地址和数量信息,以及用于确定启动拷贝的Current Boot Copy。
10.如权利要求6所述的SSD固件升级保护装置,其特征在于,还包括预设置单元,用于设置多个Firmware拷贝,并为每个Firmware拷贝设置对应的读写权限,且不同的Firmware拷贝的固件版本不同。
CN201810569588.0A 2018-06-05 2018-06-05 Ssd固件升级保护方法及装置 Pending CN108733517A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810569588.0A CN108733517A (zh) 2018-06-05 2018-06-05 Ssd固件升级保护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810569588.0A CN108733517A (zh) 2018-06-05 2018-06-05 Ssd固件升级保护方法及装置

Publications (1)

Publication Number Publication Date
CN108733517A true CN108733517A (zh) 2018-11-02

Family

ID=63931922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810569588.0A Pending CN108733517A (zh) 2018-06-05 2018-06-05 Ssd固件升级保护方法及装置

Country Status (1)

Country Link
CN (1) CN108733517A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582225A (zh) * 2018-11-13 2019-04-05 深圳忆联信息系统有限公司 一种ssd多颗粒兼容启动、升级方法及装置
CN109976958A (zh) * 2019-03-26 2019-07-05 深圳忆联信息系统有限公司 提升固件测试效率的方法、装置及存储介质
CN111813597A (zh) * 2020-06-08 2020-10-23 海信(山东)空调有限公司 一种空调器
CN112199238A (zh) * 2020-10-16 2021-01-08 深圳佰维存储科技股份有限公司 存储器固件更新方法、装置、存储介质及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040008007A (ko) * 2002-07-15 2004-01-28 에임텍 주식회사 무선단말기 펌웨어 업그레이드 방법
CN1786910A (zh) * 2004-12-09 2006-06-14 华为技术有限公司 一种bios在线升级方法
CN102033790A (zh) * 2010-12-15 2011-04-27 中兴通讯股份有限公司 一种嵌入式系统bootrom的升级方法和装置
WO2013106276A1 (en) * 2012-01-15 2013-07-18 Microsoft Corporation Installation engine and package format for parallelizable, reliable installations
JP2014191646A (ja) * 2013-03-27 2014-10-06 Hitachi Kokusai Electric Inc ファームウェア更新方法及びテレビジョンカメラ装置並びに監視システム
CN105653299A (zh) * 2014-11-12 2016-06-08 杭州华三通信技术有限公司 一种固件升级方法及设备
US20160299753A1 (en) * 2015-04-09 2016-10-13 Rex Poway Tseng Firmware upgrading method for bluetooth electronic scales
US20170322798A1 (en) * 2014-11-26 2017-11-09 Silicon Motion, Inc. Electronic Device and Method for Firmware Updating Thereof

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040008007A (ko) * 2002-07-15 2004-01-28 에임텍 주식회사 무선단말기 펌웨어 업그레이드 방법
CN1786910A (zh) * 2004-12-09 2006-06-14 华为技术有限公司 一种bios在线升级方法
CN102033790A (zh) * 2010-12-15 2011-04-27 中兴通讯股份有限公司 一种嵌入式系统bootrom的升级方法和装置
WO2013106276A1 (en) * 2012-01-15 2013-07-18 Microsoft Corporation Installation engine and package format for parallelizable, reliable installations
JP2014191646A (ja) * 2013-03-27 2014-10-06 Hitachi Kokusai Electric Inc ファームウェア更新方法及びテレビジョンカメラ装置並びに監視システム
CN105653299A (zh) * 2014-11-12 2016-06-08 杭州华三通信技术有限公司 一种固件升级方法及设备
US20170322798A1 (en) * 2014-11-26 2017-11-09 Silicon Motion, Inc. Electronic Device and Method for Firmware Updating Thereof
US20160299753A1 (en) * 2015-04-09 2016-10-13 Rex Poway Tseng Firmware upgrading method for bluetooth electronic scales

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582225A (zh) * 2018-11-13 2019-04-05 深圳忆联信息系统有限公司 一种ssd多颗粒兼容启动、升级方法及装置
CN109582225B (zh) * 2018-11-13 2022-02-01 深圳忆联信息系统有限公司 一种ssd多颗粒兼容启动、升级方法及装置
CN109976958A (zh) * 2019-03-26 2019-07-05 深圳忆联信息系统有限公司 提升固件测试效率的方法、装置及存储介质
CN109976958B (zh) * 2019-03-26 2022-06-07 深圳忆联信息系统有限公司 提升固件测试效率的方法、装置及存储介质
CN111813597A (zh) * 2020-06-08 2020-10-23 海信(山东)空调有限公司 一种空调器
CN112199238A (zh) * 2020-10-16 2021-01-08 深圳佰维存储科技股份有限公司 存储器固件更新方法、装置、存储介质及电子设备
CN112199238B (zh) * 2020-10-16 2024-05-28 深圳佰维存储科技股份有限公司 存储器固件更新方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN105094927B (zh) 一种设备固件升级方法和装置
CN101650662B (zh) 一种嵌入式系统的存储器件的固件启动及升级方法
US8423991B2 (en) Embedded network device and firmware upgrading method
CN102023908B (zh) 一种引导程序备份方法及装置
CN108733517A (zh) Ssd固件升级保护方法及装置
CN102135927B (zh) 一种基于nand flash的系统引导方法和装置
US20100058314A1 (en) Computer System and Related Method of Logging BIOS Update Operation
CN101373451B (zh) 保护双基本输出入系统程序的计算机系统及其控制方法
CN110096300B (zh) 一种fpga程序文件备份管理系统、运行方法及升级方法
CN111562934B (zh) 一种基于热补丁的软件系统升级方法、终端及存储介质
CN109582332B (zh) 互联网摄像机的系统升级方法及装置
CN112015447B (zh) 电子设备的系统更新方法及装置、电子设备及存储介质
CN102479124B (zh) 一种测试方法
CN115357262A (zh) 一种驱动器固件批量升级的方法
CN114895845A (zh) 一种emmc数据存储的控制方法及嵌入式主板
US7428635B2 (en) Method of writing non-volatile memory that avoids corrupting the vital initialization code
CN111124294B (zh) 一种扇区映射信息的管理方法及装置、存储介质和设备
CN113377586A (zh) 一种服务器自动化检测方法、装置及存储介质
CN117687663A (zh) 基于ota的分区动态调整方法、装置、设备及存储介质
CN116301973A (zh) 固件升级方法、装置、设备及可读存储介质
CN105278993A (zh) 一种基于Linux系统的驱动模块升级方法及装置
CN112650513B (zh) 程序升级方法、装置、计算机设备和存储介质
CN118426815B (zh) 一种存储设备及其控制方法
CN112764778A (zh) 远程升级底层根文件系统的处理方法及相关设备
US8230209B1 (en) Method and apparatus for automatically providing a user the opportunity to boot from an alternate storage device where a valid operating system resides

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20181102