可扩展的SSD开卡固件加载方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:26170133 阅读:23 留言:0更新日期:2020-10-31 13:36
本发明专利技术涉及一种可扩展的SSD开卡固件加载方法、装置、计算机设备及存储介质,方法包括以下步骤:上电运行bootrom代码;加载临时固件代码并运行;在临时固件代码运行的基础上,加载开卡固件代码;读取开卡固件的头文件,解析头文件得到开卡固件的所有加载域的地址;将开卡固件代码的所有加载域依次复制到CPU的内存中;判断开卡固件的加载域是否全部复制完成;若全部复制完成,则开始运行开卡固件代码。本发明专利技术基于mp_boot临时固件代码随时可以更新的特点,完成携带有多个加载域的开卡固件的加载和运行,使得开卡固件没有加载域数量的限制,提升了开卡固件的容量,进而提升了开卡固件的功能多样性。

【技术实现步骤摘要】
可扩展的SSD开卡固件加载方法、装置、计算机设备及存储介质
本专利技术涉及SSD领域,更具体地说是指一种可扩展的SSD开卡固件加载方法、装置、计算机设备及存储介质。
技术介绍
SSD(SolidStateDisk或SolidStateDrive),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘。SSD开卡固件是SSD开卡时所需要用到的固件,它包含下载SSD的基本信息,DDR、NAND自检测,下载bootloader,FW等功能,是SSD量产过程中不可或缺的一环。由于正常加载开卡固件(也称为mp_fw)的方式和bootloader类似,由SSD内嵌的BOOTROM直接加载。受BOOTROM的格式限制,一般能够加载的固件只有一个加载域,大小有限,不能随心所欲的添加功能(比如PCIE开卡)。公开于该
技术介绍
部分的信息仅仅旨在加深对本专利技术的总体
技术介绍
的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种可扩展的SSD开卡固件加载方法、装置、计算机设备及存储介质。为实现上述目的,本专利技术采用以下技术方案:第一方面,本专利技术提出一种可扩展的SSD开卡固件加载方法,包括以下步骤:上电运行bootrom代码;加载临时固件代码并运行;在临时固件代码运行的基础上,加载开卡固件代码;读取开卡固件的头文件,解析所述头文件得到开卡固件的所有加载域的地址;将开卡固件代码的所有加载域依次复制到CPU的内存中;判断开卡固件的加载域是否全部复制完成;若全部复制完成,则开始运行开卡固件代码;若未全部复制完成,则重新执行所述将开卡固件代码的所有加载域依次复制到CPU的内存中的步骤。第二方面,本专利技术提出一种可扩展的SSD开卡固件加载装置,包括:上电运行单元,用于上电运行bootrom代码;临时运行单元,用于加载临时固件代码并运行;开卡加载单元,用于在临时固件代码运行的基础上,加载开卡固件代码;读取解析单元,用于读取开卡固件的头文件,解析所述头文件得到开卡固件的所有加载域的地址;域复制单元,用于将开卡固件代码的所有加载域依次复制到CPU的内存中;复制判断单元,用于判断开卡固件的加载域是否全部复制完成,在加载域未全部复制完成时,重新执行所述域复制单元;开卡运行单元,用于在加载域全部复制完成时,开始运行开卡固件代码。第三方面,本专利技术提出一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的可扩展的SSD开卡固件加载方法。第四方面,本专利技术提出一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如上所述的可扩展的SSD开卡固件加载方法。本专利技术与现有技术相比的有益效果是:本专利技术通过先加载并运行mp_boo临时固件代码,在mp_boot临时固件代码中,开始加载真正的开卡固件,从开卡固件的头文件解析出携带有的加载域,并基于mp_boot临时固件代码随时可以更新的特点,完成携带有多个加载域的开卡固件的加载和运行,使得开卡固件没有加载域数量的限制,提升了开卡固件的容量,进而提升了开卡固件的功能多样性。下面结合附图和具体实施例对本专利技术作进一步描述。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种可扩展的SSD开卡固件加载方法的流程示意图;图2为本专利技术实施例提供的一种可扩展的SSD开卡固件加载方法的子流程示意图;图3为本专利技术实施例提供的一种可扩展的SSD开卡固件加载方法的子流程示意图;图4为本专利技术另一实施例提供的一种可扩展的SSD开卡固件加载方法的流程示意图;图5为本专利技术实施例提供的一种可扩展的SSD开卡固件加载装置的示意性框图;图6为本专利技术实施例提供的一种可扩展的SSD开卡固件加载装置的临时运行单元的示意性框图;图7为本专利技术实施例提供的一种可扩展的SSD开卡固件加载装置的域复制单元的示意性框图;图8为本专利技术实施例提供的计算机设备的示意性框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。请参阅图1,图1为本专利技术实施例提供的一种可扩展的SSD开卡固件加载的示意性流程图。该一种可扩展的SSD开卡固件加载方法应用于终端中,该终端与SSD进行数据交互,由终端控制SSD上电运行bootrom代码、mp_boot临时固件代码和开卡固件代码,在mp_boot临时固件代码运行的基础上,基于mp_boot临时固件代码随时可以更新的特点,完成携带有多个加载域的开卡固件的加载和运行,使得开卡固件没有加载域数量的限制。图1是本专利技术实施例提供的可扩展的SSD开卡固件加载方法的流程示意图。如图1所示,该方法包括以下步骤S110至S150。S110、上电运行bootrom代码。在本实施例中,bootrom(或BootROM)是嵌入处理器芯片内的一小块掩模ROM或写保护闪存。它包含处理器在上电或复位时执行的第一个代码。通用的SSD加载开卡固件的方法是通过固化的bootrom直接将开卡固件加载出来。现有的加载方式比较简单直接,但是,由于bootrom的固化特性,所以基于bootrom直接加载的固件一般只能有一个加载域,因此,对应加载的开卡固件大小也不能超过一个加载域的大小,极大的限制了开卡固件的功能性。而本专利技术方案启动SSD之后,同样先运行bootrom代码,但是不直接通过bootrom加载开卡固件,以使的用于加载的开卡固件不受bootrom固化特性影响。S本文档来自技高网...

【技术保护点】
1.一种可扩展的SSD开卡固件加载方法,其特征在于,包括以下步骤:/n上电运行bootrom代码;/n加载mp_boot临时固件代码并运行;/n在mp_boot临时固件代码运行的基础上,加载开卡固件代码;/n读取开卡固件的头文件,解析所述头文件得到开卡固件的所有加载域的地址;/n将开卡固件代码的所有加载域依次复制到CPU的内存中;/n判断开卡固件的加载域是否全部复制完成;/n若全部复制完成,则开始运行开卡固件代码;/n若未全部复制完成,则重新执行所述将开卡固件代码的所有加载域依次复制到CPU的内存中的步骤。/n

【技术特征摘要】
1.一种可扩展的SSD开卡固件加载方法,其特征在于,包括以下步骤:
上电运行bootrom代码;
加载mp_boot临时固件代码并运行;
在mp_boot临时固件代码运行的基础上,加载开卡固件代码;
读取开卡固件的头文件,解析所述头文件得到开卡固件的所有加载域的地址;
将开卡固件代码的所有加载域依次复制到CPU的内存中;
判断开卡固件的加载域是否全部复制完成;
若全部复制完成,则开始运行开卡固件代码;
若未全部复制完成,则重新执行所述将开卡固件代码的所有加载域依次复制到CPU的内存中的步骤。


2.根据权利要求1所述的可扩展的SSD开卡固件加载方法,其特征在于,所述上电运行bootrom代码的步骤之前,包括;
打包开卡固件代码,将开卡固件中所有加载域的地址写入头文件中。


3.根据权利要求1所述的可扩展的SSD开卡固件加载方法,其特征在于,所述加载mp_boot临时固件代码并运行的步骤,包括;
加载mp_boot临时固件代码,并校验mp_boot临时固件代码的正确性;
在mp_boot临时固件代码校验为正确之后,复制mp_boot临时固件的加载域到CPU的内存中;
运行mp_boot临时固件代码。


4.根据权利要求1所述的可扩展的SSD开卡固件加载方法,其特征在于,所述将开卡固件代码的所有加载域依次复制到CPU的内存中的步骤,包括;
校验开卡固件代码的正确性;
在开卡固件代码校验为正确之后,将开卡固件代码的所有加载域依次复制到CPU的内存中。


5.一种可扩展的SSD开卡固件加载装置,其特征在于,包括:
上电运行单元,用于上电运行bootrom代码;
临时运行单元,用于加载mp_boot临时固件代码并运行;
开卡加载单元,用于在mp_boot临时固件代码运行的基础上,加载开卡固...

【专利技术属性】
技术研发人员:王瑞王伟良郭芳芳冯元元冷志源
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东;44

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

1