CN116243994B - 一种存储设备的驱动加载方法、操作系统启动方法及系统 - Google Patents
一种存储设备的驱动加载方法、操作系统启动方法及系统 Download PDFInfo
- Publication number
- CN116243994B CN116243994B CN202310520767.6A CN202310520767A CN116243994B CN 116243994 B CN116243994 B CN 116243994B CN 202310520767 A CN202310520767 A CN 202310520767A CN 116243994 B CN116243994 B CN 116243994B
- Authority
- CN
- China
- Prior art keywords
- host
- storage device
- driver
- loading
- drive
- 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
- 238000011068 loading method Methods 0.000 title claims abstract description 202
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000004891 communication Methods 0.000 claims abstract description 84
- 238000004590 computer program Methods 0.000 claims description 10
- 230000003068 static effect Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 13
- 238000011161 development Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种存储设备的驱动加载方法、操作系统启动方法、装置、系统、设备及可读存储介质,驱动加载方法应用于主机,包括:加载连接的存储设备的可选只读存储器中存储的第一级驱动到主机中;第一级驱动为基础驱动;若未开启快速启动模式,则运行第一级驱动,以与存储设备建立通信通路;通过通信通路加载第二级驱动到主机中,并运行第二级驱动;第二级驱动存储在存储设备中可选只读存储器之外的存储空间中。本发明公开的技术方案,将设备驱动分成两级驱动,第一级驱动存储在可选只读存储器中,第二级驱动存储在可选只读存储器之外的存储空间中,通过分级加载方式加载设备驱动,以降低可选只读存储器大小,节约硬件空间。
Description
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种存储设备的驱动加载方法、操作系统启动方法、装置、系统、设备及可读存储介质。
背景技术
UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)主要目的是为了提供一组在操作系统启动前在所有平台上一致的、正确指定的启动服务。
目前,在UEFI环境下,存储设备驱动的加载方法是将设备驱动存放在存储设备的Option ROM(可选只读存储器)中。在主机启动后将Option ROM中存储的设备驱动读取到主机内存中,并对Option ROM进行解析,将设备驱动运行起来。如果存储设备需要支持多个主机架构,则还需要提供多个主机架构的驱动,并将这些驱动一同编译到Option ROM中。在上述加载方式中,设备驱动的增加会使得对Option ROM空间的需求也越来越大,而扩大Option ROM空间会增加大量的硬件成本。
综上所述,如何减小存储设备的Option ROM的大小,是目前本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的是提供一种存储设备的驱动加载方法、操作系统启动方法、装置、系统、设备及可读存储介质,用于减小存储设备的Option ROM的大小。
为了实现上述目的,本发明提供如下技术方案:
一种存储设备的驱动加载方法,应用于主机,包括:
确定所述主机连接的存储设备,加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机中;所述第一级驱动为基础驱动,用于所述主机与所述存储设备间建立通信通路;
若未开启快速启动模式,则运行所述第一级驱动,以与所述存储设备建立所述通信通路;
通过所述通信通路加载第二级驱动到所述主机中,并运行所述第二级驱动;所述第二级驱动存储在所述存储设备中所述可选只读存储器之外的存储空间中。
优选的,通过所述通信通路加载第二级驱动到所述主机中,包括:
通过所述通信通路向所述存储设备发送第二级驱动获取请求,由所述存储设备将对应的第二级驱动发送至所述主机;
接收所述存储设备发送的第二级驱动。
优选的,所述存储设备的可选只读存储器中存储有所述存储设备支持的所有主机架构的第一级驱动,所述存储设备中存储有所述存储设备支持的所有主机架构的第二级驱动。
优选的,加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机中,包括:
加载所述可选只读存储器中存储的所有的第一级驱动到所述主机中。
优选的,通过所述通信通路加载第二级驱动到所述主机中,包括:
通过所述通信通路加载所述主机的架构对应的第二级驱动到所述主机中。
优选的,在运行所述第一级驱动之后,还包括:
利用所述第一级驱动获取所述主机的架构;
通过所述通信通路加载所述主机的架构对应的第二级驱动到所述主机中,包括:
利用所述第一级驱动通过所述通信通路加载所述主机的架构对应的第二级驱动到所述主机中。
优选的,所述存储设备的可选只读存储器中存储有所述主机的架构对应的第一级驱动,所述存储设备中存储有所述主机的架构对应的第二级驱动。
优选的,所述第二级驱动存储在所述存储设备中的静态随机存取存储器的预设空间内,所述预设空间为所述可选只读存储器的专用空间之外的空间。
优选的,所述第一级驱动以镜像的方式存储在所述存储设备的可选只读存储器中,所述第二级驱动以镜像的方式存储在所述存储设备中所述可选只读存储器之外的存储空间中。
优选的,所述第二级驱动的镜像为统一的可扩展固件接口定义的包含可执行代码的文件格式。
优选的,确定所述主机连接的存储设备,包括:
在存储设备枚举阶段确定所述主机连接的存储设备。
优选的,确定所述主机连接的存储设备,加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机,包括:
利用存储设备总线驱动确定所述主机连接的存储设备,并利用所述存储设备总线驱动加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机。
优选的,所述第二级驱动包含多个子驱动;
通过所述通信通路加载第二级驱动到所述主机中,包括:
利用所述第一级驱动通过所述通信通路加载各所述子驱动到所述主机中。
优选的,所述第二级驱动包含多个子驱动;
通过所述通信通路加载第二级驱动到所述主机中,包括:
将第一个子驱动作为当前子驱动;
利用所述第一级驱动通过所述通信通路加载所述当前子驱动到所述主机中,并运行所述当前子驱动;
将所述当前子驱动的下一个子驱动作为待加载子驱动,利用所述当前子驱动加载所述待加载子驱动到所述主机中,并运行所述待加载子驱动;
将所述待加载子驱动作为当前子驱动,返回将所述当前子驱动的下一个子驱动作为待加载子驱动的步骤,直至将最后一个所述子驱动加载到所述主机中。
优选的,所述存储设备通过高速串行计算机扩展总线标准与所述主机相连。
一种操作系统启动方法,应用于主机,包括:
若所述主机在执行如上述任一项所述的存储设备的驱动加载方法时开启所述快速启动模式,则在加载存储设备的可选只读存储器中存储的第一级驱动到所述主机中后,启动所述主机中的操作系统;
若所述主机在执行如上述任一项所述的存储设备的驱动加载方法时未开启快速启动模式,则在运行第二级驱动后,启动所述主机中的操作系统。
优选的,还包括:
判断所述操作系统是否启动成功;
若否,则重启所述操作系统。
优选的,在重启所述操作系统时,还包括:
对所述操作系统的重启次数进行计数,并判断所述操作系统是否重启成功;
若未重启成功,则判断所述操作系统的重启次数是否超过阈值;
若未超过所述阈值,则返回重启所述操作系统的步骤;
若超过所述阈值,则发出所述操作系统的重启次数超过阈值的提示。一种存储设备的驱动加载装置,应用于主机,包括:
第一加载模块,用于确定所述主机连接的存储设备,加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机中;所述第一级驱动为基础驱动,用于所述主机与所述存储设备间建立通信通路;
运行模块,用于若未开启快速启动模式,则运行所述第一级驱动,以与所述存储设备建立所述通信通路;
第二加载模块,用于通过所述通信通路加载第二级驱动到所述主机中,并运行所述第二级驱动;所述第二级驱动存储在所述存储设备中所述可选只读存储器之外的存储空间中。
一种操作系统启动装置,应用于主机,包括:
第一启动模块,用于若所述主机在执行如上述任一项所述的存储设备的驱动加载方法时开启所述快速启动模式,则在加载存储设备的可选只读存储器中存储的第一级驱动到所述主机中后,启动所述主机中的操作系统;
第二启动模块,用于若所述主机在执行如上述任一项所述的存储设备的驱动加载方法时未开启快速启动模式,则在运行第二级驱动后,启动所述主机中的操作系统。
一种电子系统,包括主机、与所述主机相连的存储设备,其中:
所述存储设备,用于将第一级驱动存储在所述存储设备的可选只读存储器中,将第二级驱动存储在所述存储设备中所述可选只读存储器之外的存储空间中;所述第一级驱动为基础驱动,用于所述主机与所述存储设备间建立通信通路;
所述主机,用于执行如上述任一项所述的存储设备的驱动加载方法的步骤,和执行如上述任一项所述的操作系统启动方法的步骤。
一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述的存储设备的驱动加载方法的步骤,和如上述任一项所述的操作系统启动方法的步骤。
一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的存储设备的驱动加载方法的步骤,和如上述任一项所述的操作系统启动方法的步骤。
本发明提供了一种存储设备的驱动加载方法、操作系统启动方法、装置、系统、设备及可读存储介质,其中,该方法应用于主机,包括:确定主机连接的存储设备,加载存储设备的可选只读存储器中存储的第一级驱动到主机中;第一级驱动为基础驱动,用于主机与存储设备间建立通信通路;若未开启快速启动模式,则运行第一级驱动,以与存储设备建立通信通路;通过通信通路加载第二级驱动到主机中,并运行第二级驱动;第二级驱动存储在存储设备中可选只读存储器之外的存储空间中。
本发明公开的上述技术方案,相比于传统将所有设备驱动均存储在可选只读存储器中并从可选只读存储器中加载设备驱动,本发明将设备驱动分成两级驱动,其中,基础驱动作为第一级驱动存储在可选只读存储器中,基础驱动之外的驱动作为第二级驱动存储在存储设备中可选只读存储器之外的存储空间中,并采用先从可选只读存储器中加载第一级驱动,在未开启快速启动模式时运行第一级驱动而建立与存储设备的通信通路,然后,通过通信链路从存储设备中加载第二级驱动的方式实现分级加载设备驱动,以降低存储设备可选只读存储器的大小,节约硬件空间,降低硬件成本,且上述分级加载方式可实现将基础驱动和高级驱动进行解耦,从而可以增加设备驱动程序开发灵活性和扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种存储设备的驱动加载方法的流程图;
图2为本发明实施例提供的使用UEFI BIOS启动的计算机系统的架构图;
图3为本发明实施例提供的另一种存储设备的驱动加载方法的流程图;
图4为本发明实施例提供的第一级驱动镜像格式的示意图;
图5为本发明实施例提供的第二级驱动镜像格式的示意图;
图6为本发明实施例提供的又一种存储设备的驱动加载方法的流程图;
图7为本发明实施例提供的一种操作系统启动方法的流程图;
图8为本发明实施例提供的一种存储设备的驱动加载装置的结构示意图;
图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
UEFI是一种详细描述类型接口的标准,这种接口用于操作系统自动从预启动的操作环境加载到一种操作系统上。其主要目的是为了提供一组在操作系统加载之前(启动前)在所有平台上一致的、正确指定的启动服务。
目前,在UEFI环境下,一般是通过PCI(Peripheral Component Interconnect,外设组件互联标准)Option ROM的方式,将设备驱动编译成UEFI Option ROM,写入到存储设备的存储ROM中,UEFI BIOS将自动加载设备驱动。具体地,是将设备驱动存放在存储设备的Option ROM中,其中,Option ROM在存储设备的SRAM(静态随机存取存储器)中对应有专用空间。在主机启动后将Option ROM中的存储设备读取到SRAM中,然后再加载到主机内存中,之后,对Option ROM进行解析,将设备驱动运行起来。Option ROM是在平台初始化期间由电脑BIOS运行的固件,它们通常存储在存储设备上,不过也可以驻留在系统主板上。通常需要Option ROM的设备包括视频卡、网络适配器和RAID(Redundant Arrays of IndependentDisks,磁盘阵列)模块。这些Option ROM通常还为电脑提供固件驱动程序。
若存储设备需要支持多个主机架构,则还需要提供多个主机架构的驱动,并将这些驱动一同编译到Option ROM中。且随着计算机领域的不断发展,人们对存储设备的需求也日益剧增。另外,随着UEFI BIOS(Basic Input Output System,基本输入输出系统)的普及,有些存储设备的驱动需要适配 UEFI HII(Human Interface Infrastructure,人机界面基础设备)交互需求等功能。这些均会导致存储设备的驱动程序越来越大,而存储设备的驱动程序的增加会使得对Option ROM空间的需求越来越大,从而导致硬件成本的增加。
为此,本发明提供一种存储设备的驱动加载方法、操作系统启动方法、装置、系统、设备及可读存储介质,可减小存储设备的Option ROM的大小,以降低硬件成本。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1和图2,其中,图1示出了本发明实施例提供的一种存储设备的驱动加载方法的流程图,图2示出了本发明实施例提供的使用UEFI BIOS启动的计算机系统的架构图。本发明实施例提供的一种存储设备的驱动加载方法,应用于主机,可以包括:
S11:确定主机连接的存储设备,加载存储设备的可选只读存储器中存储的第一级驱动到主机中;第一级驱动为基础驱动,用于主机与存储设备间建立通信通路。
如图2所示,为使用UEFI BIOS启动的计算机系统的系统架构图,包括UEFI服务、平台硬件、操作系统间的关系。Option ROM在主机的主板上或者存储设备的固件中存在,属于平台硬件的一部分,用于存放存储设备的设备驱动。在主机进行存储设备的驱动加载时,被识别并加载到主机中去。
在本发明中,存储设备可以将其设备驱动分为第一级驱动和第二级驱动。其中,这里提及的存储设备可以为PCI设备、PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)设备、硬盘等。设备驱动一般用来对存储设备进行初始化,提供pre-boot(预启动)和run-time(程序运行时间)阶段的服务,用于实现一些特定的功能,保证存储设备和系统的正常运行。第一级驱动为设备驱动中的基础驱动,其中包含最基本的初始化功能,提供主机与存储设备的通信通路,用于加载后续一些驱动程序(即第二级驱动)。第二级驱动相比于第一级驱动而言,用于提供更高级的驱动服务,例如UEFI BIOS中的HII配置工具,也即第二级驱动为设备驱动中的高级驱动(即除基础驱动之外的驱动)。
存储设备在将设备驱动分为第一级驱动和第二级驱动后,将第一级驱动存储在存储设备的可选只读存储器中,并将第二级驱动存储在存储设备中可选只读存储器之外的存储空间中。其中,可选只读存储器位于静态随机存取存储器的专用空间,该专用空间即为可选只读存储器专用。相比于现有将存储设备对应的设备驱动均存储在可选只读存储器中,本发明将设备驱动分为第一级驱动和第二级驱动,并仅将第一级驱动存储在可选只读存储器中可以降低对存储设备可选只读存储器空间的占用,从而可以减少存储设备需要提供的可知只读存储器的硬件空间,降低成本。
在进行存储设备的驱动加载时,主机启动,确定与该主机连接的存储设备。然后,加载存储设备的可选只读存储器中存储的第一级驱动到主机中,具体是加载到主机的内存中。需要说明的是,本发明所提供的存储设备的驱动加载方法具体可以应用于主机中的UEFI平台,且本发明所提供的存储设备的驱动加载方法具体是UEFI环境下的存储设备的驱动加载方法。
具体地,使用可选只读存储器提供第一级驱动是利用存储设备配置空间来实现的,在其偏移0x30处为Expansion ROM Base Address(扩展只读存储器基址),这四个字节地址就是可选只读存储器在主机内存空间的基地址。主机在上电启动确定该主机连接的存储设备时会为存储设备分配Expansion ROM Base Address。在存储设备侧,该地址一般会直接映射为静态随机存取存储器的空间。主机会从静态随机存取存储器的空间中读取存储设备的可选只读存储器中存储的第一级驱动到主机内存中。也即,在进行第一级驱动加载时,第一级驱动会先从存储设备的只读可选存储器中读取到存储设备的静态随机存取存储器中对应的专用空间(该专用空间即为只读可选存储器专用的空间)中,然后,再从存储设备的静态随机存取存储器的专用空间中加载到主机中。
S12:若未开启快速启动模式,则运行第一级驱动,以与存储设备建立通信通路。
主机在加载存储设备的可选只读存储器中存储的第一级驱动到主机中后,可以判断是否开启Fast Boot(快速启动)模式。其中,快速启动模式是BIOS里的快速开机功能,可以使BIOS启动跳过一些步骤,从而快速启动到操作系统。
若主机确定未开启快速启动模式,则可以对可选只读存储器进行解析,并运行第一级驱动,以利用第一级驱动完成存储设备的基本初始化,打通私有的通信通路,即使得主机可以与存储设备建立通信通路,以便于主机通过通信通路加载后续一些驱动程序。
S13:通过通信通路加载第二级驱动到主机中,并运行第二级驱动;第二级驱动存储在存储设备中可选只读存储器之外的存储空间中。
主机在利用第一级驱动与存储设备建立通信通路后,可以通过该通信通路从存储设备中加载第二级驱动到主机中(具体到主机的内存中),并运行所加载的第二级驱动,以完成对设备驱动的加载。以第二级驱动程序为HII配置工具为例,则主机可以通过通信通路加载HII配置工具到主机中,然后,可解析HII配置工具并运行该HII配置工具,以便实现HII配置。
通过上述可知,本发明在满足PCIE规范和UEFI规范中描述的可选只读存储器加载流程的基础上,将设备驱动拆分成两级程序,采用分级加载的方式进行设备驱动的加载,且在分级加载中只将基础驱动以可选只读存储器的方式进行加载,从而大大减小存储设备可选只读存储器的大小,节约静态随机存取存储器的空间,减少驱动程序对硬件空间的依赖,以节省硬件成本,提高设备驱动程序的可扩展性。而且,将基础驱动和高级驱动进行解耦还可提高设备驱动程序开发的灵活性。
本发明公开的上述技术方案,相比于传统将所有设备驱动均存储在可选只读存储器中并从可选只读存储器中加载设备驱动,本发明将设备驱动分成两级驱动,其中,基础驱动作为第一级驱动存储在可选只读存储器中,基础驱动之外的驱动作为第二级驱动存储在存储设备中可选只读存储器之外的存储空间中,并采用先从可选只读存储器中加载第一级驱动,在未开启快速启动模式时运行第一级驱动而建立与存储设备的通信通路,然后,通过通信链路从存储设备中加载第二级驱动的方式实现分级加载设备驱动,以降低存储设备可选只读存储器的大小,节约硬件空间,降低硬件成本,且上述分级加载方式可实现将基础驱动和高级驱动进行解耦,从而可以增加设备驱动程序开发灵活性和扩展性。
参见图3,其示出了本发明实施例提供的另一种存储设备的驱动加载方法的流程图。本发明实施例提供的一种存储设备的驱动加载方法,通过通信通路加载第二级驱动到主机中,可以包括:
通过通信通路向存储设备发送第二级驱动获取请求,由存储设备将对应的第二级驱动发送至主机;
接收存储设备发送的第二级驱动。
主机在通过通信通路加载第二级驱动到主机中时,可以生成第二级驱动获取请求,并通过通路向存储设备发送其所生成的第二级驱动获取请求。其中,该第二级驱动获取请求中可以包含主机要获取的第二级驱动的信息(例如主机的架构和/或第二级驱动的标识等)。
存储设备在接收到主机下发的第二级驱动获取请求后,则可以准备与第二级驱动获取请求对应的第二级驱动,并将第二级驱动发送至主机,具体可以以一个应答包的方式发送给主机。相应地,主机则可以接收存储设备发送的第二级驱动,并解析第二级驱动,然后,运行该第二级驱动。
通过上述方式可以提高第二级驱动发送的合理性和准确性。
本发明实施例提供的一种存储设备的驱动加载方法,存储设备的可选只读存储器中存储有存储设备支持的所有主机架构的第一级驱动,存储设备中存储有存储设备支持的所有主机架构的第二级驱动。
考虑到存储设备可能应用在多种架构的主机上,因此,存储设备的可选只读存储器中可以存储有存储设备所支持的所有主机架构的第一级驱动,且存储设备中可以存储有所支持的所有主机架构的第二级驱动,也即存储设备中可以存储有所支持的所有主机架构的设备驱动,以使得存储设备可以应用在所支持的所有架构的主机中,从而提高存储设备的适用范围。
本发明实施例提供的一种存储设备的驱动加载方法,加载存储设备的可选只读存储器中存储的第一级驱动到主机中,可以包括:
加载可选只读存储器中存储的所有的第一级驱动到主机中。
在存储设备的可选只读存储器中存储有存储设备支持的所有主机架构的第一级驱动的基础上,主机在加载存储设备的可选只读存储器中存储的第一级驱动到主机中时,可以加载可选只读存储器中存储的所有的第一级驱动到主机中,即主机可以加载存储设备所支持的所有主机架构的第一级驱动到主机中,以便通过加载所有主机架构的第一驱动及运行第一级驱动而确定主机具体支持运行何种第一级驱动(具体地,只有主机的架构对应的第一级驱动才能在该主机上成功运行),从而获知该主机的架构。
当然,在存储设备的可选只读存储器中存储有存储设备支持的所有主机架构的第一级驱动的基础上,主机也可以通过其他方式获取自身的架构并向存储设备告知自身的架构而从存储设备的可选只读存储器中加载主机的架构对应的第一级驱动。
本发明实施例提供的一种存储设备的驱动加载方法,通过通信通路加载第二级驱动到主机中,可以包括:
通过通信通路加载主机的架构对应的第二级驱动到主机中。
在存储设备中存储有存储设备支持的所有主机架构的第二级驱动的基础上以及主机加载可选只读存储器中存储的所有第一级驱动到主机中而确定主机的架构的基础上,可以通过通信通路仅加载主机的架构对应的第二级驱动到主机中,也即只需根据主机的系统和架构加载对应架构的第二级驱动即可,以减少加载的第二级驱动的大小,从而缩减驱动加载时间,提高设备驱动加载效率。
本发明实施例提供的一种存储设备的驱动加载方法,在运行第一级驱动之后,还可以包括:
利用第一级驱动获取主机的架构;
通过通信通路加载主机的架构对应的第二级驱动到主机中,可以包括:
利用第一级驱动通过通信通路加载主机的架构对应的第二级驱动到主机中。
在本发明中,在存储设备的可选只读存储器中存储有存储设备支持的所有主机架构的第一级驱动的基础上,通过运行第一级驱动可以使得第一级驱动获取主机的架构。在进行第二级驱动加载时,则可以利用第一级驱动进行第二级驱动的加载。具体地,在第一级驱动获取主机的架构后,可以利用第一级驱动通过通信通路向存储设备获取要加载的对应架构的第二级驱动,具体可以向主机发送包含主机的架构的获取请求。存储设备在接收到获取请求后可以从中获取主机的架构,并返回主机的架构对应的第二级驱动至主机。
通过上述方式实现由第一级驱动加载第二级驱动,即实现利用基本驱动加载高级驱动。
本发明实施例提供的一种存储设备的驱动加载方法,存储设备的可选只读存储器中存储有主机的架构对应的第一级驱动,存储设备中存储有主机的架构对应的第二级驱动。
在本发明中,也可以预先获取存储设备所要连接的主机的架构。然后,存储设备的可选只读存储器可以只存储有该主机的架构对应的第一级驱动,且存储设备中可以仅存储有该主机的架构对应的第二级驱动,也即存储设备中可以仅存储有该存储设备所要连接的主机的架构对应的设备驱动,以减少设备驱动对存储设备空间的占用。
本发明实施例提供的一种存储设备的驱动加载方法,第二级驱动存储在存储设备中的静态随机存取存储器的预设空间内,预设空间为可选只读存储器的专用空间之外的空间。
在本发明中,第二级驱动可以存储在存储设备中的静态随机存取存储器的预设空间内,且该预设空间具体为可选只读存储器的专用空间之外的空间。也即存储设备中的静态随机存取存储器的空间可以分为两部分,一部分为可选只读存储器专用的空间,这部分空间的大小是固定的,另一部分为非可选只读存储器专用的空间,可以为其他数据或时段(如进入操作系统后被使用等)所使用。
由于主机能够直接访问存储设备的静态随机存取存储器,因此,将第二级驱动存储在静态随机存取存储器中非可选只读存储器专用的空间可以降低第二级驱动加载的复杂性,缩短第二级驱动加载时间,提高第二级驱动加载效率。
当然,也可以将第二级驱动存储在存储设备中除静态随机存取存储器之外的存储空间中,在此情况下,主机在加载第二级驱动时,第二级驱动会先从除静态随机存取存储器之外的存储空间中转移到静态随机存取存储器中,然后,加载到主机中。
参见图4和图5,其中,图4示出了本发明实施例提供的第一级驱动镜像格式的示意图,图5示出了本发明实施例提供的第二级驱动镜像格式的示意图。本发明实施例提供的一种存储设备的驱动加载方法,第一级驱动以镜像的方式存储在存储设备的可选只读存储器中,第二级驱动以镜像的方式存储在存储设备中可选只读存储器之外的存储空间中。
在本发明中,第一级驱动可以以镜像的方式存储在存储设备的可选只读存储器中,且第二级驱动也可以以镜像的方式存储在存储设备中可选只读存储器之外的存储空间中。
其中,若存储设备中存储有多个主机架构对应的第一级驱动,则这多个主机的架构对应的第一级驱动可以以一个镜像文件进行存储,也可以是每个主机架构对应的第一级驱动分别以一个镜像文件进行存储,第二级驱动类似,不再赘述。其中,图4中示出了主机架构1到主机架构N这N个主机架构分别对应的第一级驱动以一个镜像文件进行存储的示意图,图5是以第二级驱动为HII配置文件为例进行说明。
通过将第一级驱动和第二级驱动分别以镜像的方式进行存储可以分别实现对第一级驱动和第二级驱动的打包,以便于主机对第一级驱动和第二级驱动的加载。
本发明实施例提供的一种存储设备的驱动加载方法,第二级驱动的镜像为统一的可扩展固件接口定义的包含可执行代码的文件格式。
在本发明中,第二级驱动的镜像可以为UEFI Image(统一的可扩展固件接口定义的包含可执行代码的文件)格式,具体可以为标准UEFI Image格式,如图5所示,即为标准UEFI Image格式第二级驱动镜像。
其中,UEFI Image是UEFI定义的、包含可执行代码的一类文件,最显著的特征是包含一个用来定义这段可执行代码格式的PE(Portable Executable,可执行文件)/ COFFheader(公用对象文件格式标头),这个标头定义了Processor Type(处理器类型)和ImageType(镜像类型)。
通过设置第二级驱动的镜像为UEFI Image格式可使得第二级驱动加载到主机上后可直接在主机上运行。
本发明实施例提供的一种存储设备的驱动加载方法,确定主机连接的存储设备,可以包括:
在存储设备枚举阶段确定主机连接的存储设备。
在本发明中,主机可以在启动后的存储设备枚举阶段确定该主机所连接的存储设备,以提高存储设备确定的准确性。
参见图6,其示出了本发明实施例提供的又一种存储设备的驱动加载方法的流程图。本发明实施例提供的一种存储设备的驱动加载方法,确定主机连接的存储设备,加载存储设备的可选只读存储器中存储的第一级驱动到主机,可以包括:
利用存储设备总线驱动确定主机连接的存储设备,并利用存储设备总线驱动加载存储设备的可选只读存储器中存储的第一级驱动到主机。
在本发明中,具体可以利用存储设备总线驱动确定主机连接的存储设备,并利用存储设备总线驱动加载存储设备的可选只读存储器中存储的第一级驱动到主机。其中,存储设备总线驱动具体可为PCIE总线驱动。存储设备总线驱动用于枚举、发现主机下的存储设备,并将存储设备可选只读存储器中存储的第一级驱动加载到主机中。
如图6所示,其中,①②表示的是主机在存储设备枚举阶段由存储设备总线驱动发现并加载存储设备的可选只读存储器到主机内存中。③④表示的是运行第一级驱动,利用第一级驱动提供私有通信方式(即建立主机与存储设备的通信通路),并利用第一级驱动从存储设备中加载第二级驱动到主机内存中。
本发明实施例提供的一种存储设备的驱动加载方法,第二级驱动包含多个子驱动;
通过通信通路加载第二级驱动到主机中,可以包括:
利用第一级驱动通过通信通路加载各子驱动到主机中。
在本发明中,第二级驱动可以包含多个子驱动,即每个主机架构对应的第二级驱动均可以包含多个子驱动。在此基础上,在通过通信通路加载第二级驱动到主机中时,具体可以利用第一级驱动通过通信通路分别加载各子驱动到主机中,以实现对各子驱动的并行加载,从而提高第二级驱动加载效率。
本发明实施例提供的一种存储设备的驱动加载方法,第二级驱动包含多个子驱动;
通过通信通路加载第二级驱动到主机中,可以包括:
将第一个子驱动作为当前子驱动;
利用第一级驱动通过通信通路加载当前子驱动到主机中,并运行当前子驱动;
将当前子驱动的下一个子驱动作为待加载子驱动,利用当前子驱动加载待加载子驱动到主机中,并运行待加载子驱动;
将待加载子驱动作为当前子驱动,返回将当前子驱动的下一个子驱动作为待加载子驱动的步骤,直至将最后一个子驱动加载到主机中。
在本发明中,第二级驱动可以包含多个子驱动,即每个主机架构对应的第二级驱动均可以包含多个子驱动。
在上述基础上,在通过通信通路加载第二级驱动到主机中时,可以利用第一级驱动实现对各子驱动的串行加载。具体地,可以先将第一个子驱动作为当前子驱动,利用第一级驱动通过通信通路加载当前子驱动到主机中,并运行当前子驱动。然后,将当前子驱动的下一个子驱动作为待加载子驱动,利用当前子驱动加载待加载子驱动到主机中,并运行待加载子驱动,之后,将待加载子驱动作为当前子驱动,返回将将当前子驱动的下一个子驱动作为待加载子驱动的步骤,直至将最后一个子驱动加载到主机中。即先利用第一级驱动通过通信通路加载第一个子驱动到主机中,并运行第一个子驱动。然后,利用第一个子驱动加载第二个子驱动到主机中,并运行第二个子驱动……也即利用前一个驱动加载后一个驱动到主机中。
通过上述方式可以实现对设备驱动的有序加载。
本发明实施例提供的一种存储设备的驱动加载方法,存储设备通过高速串行计算机扩展总线标准与主机相连。
在本发明中,存储设备具体可通过高速串行计算机扩展总线标准与主机相连,且存储设备可以为板卡设备、硬盘等。
本发明实施例还提供了一种操作系统启动方法,应用于主机,参见图7,其示出了本发明实施例提供的一种操作系统启动方法的流程图,可以包括:
若主机在执行上述任一种存储设备的驱动加载方法时开启快速启动模式,则在加载存储设备的可选只读存储器中存储的第一级驱动到主机中后,启动主机中的操作系统;
若主机在执行上述任一种存储设备的驱动加载方法时未开启快速启动模式,则在运行第二级驱动后,启动主机中的操作系统。
在本发明中,若主机在执行上述任一种存储设备的驱动加载方法时开启快速启动模式,则在将存储设备中的可选只读存储器中存储的第一级驱动加载到主机中后即可启动主机中的操作系统。若主机在执行上述任一种存储设备的驱动加载方法时未开启快速启动模式,则在通过通信通路加载第二级驱动到主机中,并运行第二级驱动之后,再启动主机中的操作系统。也即,若主机开启快速启动模式,则可以省略运行第一级驱动和加载第二级驱动并运行第二级驱动的步骤,而是可以直接启动操作系统,以极大地减少主机与存储设备间的数据交互,提高系统启动速度。若主机未开启快速启动模式,则是在运行第二级驱动后才进行操作系统的启动,以保证存储设备正常运行。
本发明实施例提供的一种操作系统启动方法,在启动主机中的操作系统之后,还可以包括:
判断操作系统是否启动成功;
若否,则重启操作系统。
在启动主机中的操作系统之后,可以判断操作系统是否启动成功,若启动成功,则可以进行后续的操作应用。若操作系统未启动成功,则可以重启操作系统,以尽量通过重启操作系统而使得操作系统能够成功启动。
本发明实施例提供的一种操作系统启动方法,在重启操作系统时,还可以包括:
对操作系统的重启次数进行计数,并判断操作系统是否重启成功;
若未重启成功,则判断操作系统的重启次数是否超过阈值;
若未超过阈值,则返回重启操作系统的步骤;
若超过阈值,则发出操作系统的重启次数超过阈值的提示。
在重启操作系统时,还可以对操作系统的重启次数进行计数,并可以判断操作系统是否重启成功。若重启成功,则可以进行后续的操作应用。若未重启成功,则可以判断操作系统的重启次数是否超过阈值。其中,该阈值为允许操作系统重启的最大次数,该阈值可以主机等性能进行设置。
若操作系统的重启次数未超过阈值,则表明操作系统的重启次数尚未达到允许重启的最大次数,因此,则可以返回重启操作系统的步骤,以继续对操作系统进行重启、计数和是否重启成功的判断等步骤。若操作系统的重启次数超过阈值,则表明操作系统重启次数达到允许重启的最大次数后还未重启成功,为了避免对主机等造成损伤,则不再进行重启,而是发出操作系统的重启次数超过阈值的提示,以使得相关人员可以根据提示进行检修等操作。
本发明实施例还提供了一种存储设备的驱动加载装置,应用于主机,参见图8,其示出了本发明实施例提供的一种存储设备的驱动加载装置的结构示意图,可以包括:
第一加载模块81,用于确定主机连接的存储设备,加载存储设备的可选只读存储器中存储的第一级驱动到主机中;第一级驱动为基础驱动,用于主机与存储设备间建立通信通路;
运行模块82,用于若未开启快速启动模式,则运行第一级驱动,以与存储设备建立通信通路;
第二加载模块82,用于通过通信通路加载第二级驱动到主机中,并运行第二级驱动;第二级驱动存储在存储设备中可选只读存储器之外的存储空间中。
本发明实施例提供的一种存储设备的驱动加载装置,第二加载模块82可以包括:
发送单元,用于通过通信通路向存储设备发送第二级驱动获取请求,由存储设备将对应的第二级驱动发送至主机;
接收单元,用于接收存储设备发送的第二级驱动。
本发明实施例提供的一种存储设备的驱动加载装置,存储设备的可选只读存储器中存储有存储设备支持的所有主机架构的第一级驱动,存储设备中存储有存储设备支持的所有主机架构的第二级驱动。
本发明实施例提供的一种存储设备的驱动加载装置,第一加载模块81可以包括:
第一加载单元,用于加载可选只读存储器中存储的所有的第一级驱动到主机中。
本发明实施例提供的一种存储设备的驱动加载装置,第二加载模块82可以包括:
第二加载单元,用于通过通信通路加载主机的架构对应的第二级驱动到主机中。
本发明实施例提供的一种存储设备的驱动加载装置,还可以包括:
获取模块,用于利用第一级驱动获取主机的架构;
第二加载单元可以包括:
加载子单元,用于利用第一级驱动通过通信通路加载主机的架构对应的第二级驱动到主机中。
本发明实施例提供的一种存储设备的驱动加载装置,存储设备的可选只读存储器中存储有主机的架构对应的第一级驱动,存储设备中存储有主机的架构对应的第二级驱动。
本发明实施例提供的一种存储设备的驱动加载装置,第二级驱动存储在存储设备中的静态随机存取存储器的预设空间内,预设空间为可选只读存储器的专用空间之外的空间。
本发明实施例提供的一种存储设备的驱动加载装置,第一级驱动以镜像的方式存储在存储设备的可选只读存储器中,第二级驱动以镜像的方式存储在存储设备中可选只读存储器之外的存储空间中。
本发明实施例提供的一种存储设备的驱动加载装置,第二级驱动的镜像为统一的可扩展固件接口定义的包含可执行代码的文件格式。
本发明实施例提供的一种存储设备的驱动加载装置,第一加载模块81可以包括:
确定单元,用于在存储设备枚举阶段确定主机连接的存储设备。
本发明实施例提供的一种存储设备的驱动加载装置,第一加载模块81可以包括:
第二确定单元,用于利用存储设备总线驱动确定主机连接的存储设备,并利用存储设备总线驱动加载存储设备的可选只读存储器中存储的第一级驱动到主机。
本发明实施例提供的一种存储设备的驱动加载装置,第二级驱动包含多个子驱动;
第二加载模块82可以包括:
第三加载单元,用于利用第一级驱动通过通信通路加载各子驱动到主机中。
本发明实施例提供的一种存储设备的驱动加载装置,第二级驱动包含多个子驱动;
第一作为单元,用于将第一个子驱动作为当前子驱动;
第四加载单元,用于利用第一级驱动通过通信通路加载当前子驱动到主机中,并运行当前子驱动;
第二作为单元,用于将当前子驱动的下一个子驱动作为待加载子驱动,利用当前子驱动加载待加载子驱动到主机中,并运行待加载子驱动;
第三作为单元,用于将待加载子驱动作为当前子驱动,返回将当前子驱动的下一个子驱动作为待加载子驱动的步骤,直至将最后一个子驱动加载到主机中。
本发明实施例提供的一种存储设备的驱动加载方法,存储设备通过高速串行计算机扩展总线标准与主机相连。
本发明实施例还提供了一种操作系统启动装置,应用于主机,可以包括:
第一启动模块,用于若主机在执行上述任一种存储设备的驱动加载方法时开启快速启动模式,则在加载存储设备的可选只读存储器中存储的第一级驱动到主机中后,启动主机中的操作系统;
第二启动模块,用于若主机在执行上述任一种存储设备的驱动加载方法时未开启快速启动模式,则在运行第二级驱动后,启动主机中的操作系统。
本发明实施例提供的一种操作系统启动装置,还可以包括:
第一判断模块,用于判断操作系统是否启动成功;
重启模块,用于若操作系统未启动成功,则重启操作系统。
本发明实施例提供的一种操作系统启动装置,还可以包括:
第二判断模块,用于在重启操作系统时,对操作系统的重启次数进行计数,并判断操作系统是否重启成功;
第三判断模块,用于若未重启成功,则判断操作系统的重启次数是否超过阈值;
返回模块,用于若未超过阈值,则返回重启操作系统的步骤;
发出提示模块,用于若超过阈值,则发出操作系统的重启次数超过阈值的提示。本发明实施例还提供了一种电子系统,可以包括主机、与主机相连的存储设备,其中:
存储设备,用于将第一级驱动存储在存储设备的可选只读存储器中,将第二级驱动存储在存储设备中可选只读存储器之外的存储空间中;第一级驱动为基础驱动,用于主机与存储设备间建立通信通路;
主机,用于执行上述任一种存储设备的驱动加载方法的步骤,和执行上述任一种操作系统启动方法的步骤。
本发明实施例还提供了一种电子设备,参见图9,其示出了本发明实施例提供的一种电子设备的结构示意图,可以包括:
存储器91,用于存储计算机程序;
处理器92,用于执行存储器91存储的计算机程序时可实现上述任一种存储设备的驱动加载方法的步骤,和实现上述任一种操作系统启动方法的步骤。
本发明实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现上述任一种存储设备的驱动加载方法的步骤,和实现上述任一种操作系统启动方法的步骤。
该可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明提供的一种操作系统启动方法、存储设备的驱动加载装置、操作系统启动装置、电子系统、电子设备及可读存储介质中相关部分的说明可以参见本发明实施例提供的一种存储设备的驱动加载方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、 “包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (23)
1.一种存储设备的驱动加载方法,其特征在于,应用于主机,包括:
确定所述主机连接的存储设备,加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机中;所述第一级驱动为基础驱动,用于所述主机与所述存储设备间建立通信通路;
若未开启快速启动模式,则运行所述第一级驱动,以与所述存储设备建立所述通信通路;
通过所述通信通路加载第二级驱动到所述主机中,并运行所述第二级驱动;所述第二级驱动存储在所述存储设备中所述可选只读存储器之外的存储空间中;
其中,所述加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机中之后,还包括:判断是否开启快速启动模式;若开启快速启动模式,则运行所述第一级驱动,以启动所述主机中的操作系统;若未开启快速启动模式,则执行所述运行所述第一级驱动,以与所述存储设备建立所述通信通路的步骤。
2.根据权利要求1所述的存储设备的驱动加载方法,其特征在于,通过所述通信通路加载第二级驱动到所述主机中,包括:
通过所述通信通路向所述存储设备发送第二级驱动获取请求,由所述存储设备将对应的第二级驱动发送至所述主机;
接收所述存储设备发送的第二级驱动。
3.根据权利要求1所述的存储设备的驱动加载方法,其特征在于,所述存储设备的可选只读存储器中存储有所述存储设备支持的所有主机架构的第一级驱动,所述存储设备中存储有所述存储设备支持的所有主机架构的第二级驱动。
4.根据权利要求3所述的存储设备的驱动加载方法,其特征在于,加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机中,包括:
加载所述可选只读存储器中存储的所有的第一级驱动到所述主机中。
5.根据权利要求4所述的存储设备的驱动加载方法,其特征在于,通过所述通信通路加载第二级驱动到所述主机中,包括:
通过所述通信通路加载所述主机的架构对应的第二级驱动到所述主机中。
6.根据权利要求5所述的存储设备的驱动加载方法,其特征在于,在运行所述第一级驱动之后,还包括:
利用所述第一级驱动获取所述主机的架构;
通过所述通信通路加载所述主机的架构对应的第二级驱动到所述主机中,包括:
利用所述第一级驱动通过所述通信通路加载所述主机的架构对应的第二级驱动到所述主机中。
7.根据权利要求1所述的存储设备的驱动加载方法,其特征在于,所述存储设备的可选只读存储器中存储有所述主机的架构对应的第一级驱动,所述存储设备中存储有所述主机的架构对应的第二级驱动。
8.根据权利要求1所述的存储设备的驱动加载方法,其特征在于,所述第二级驱动存储在所述存储设备中的静态随机存取存储器的预设空间内,所述预设空间为所述可选只读存储器的专用空间之外的空间。
9.根据权利要求1所述的存储设备的驱动加载方法,其特征在于,所述第一级驱动以镜像的方式存储在所述存储设备的可选只读存储器中,所述第二级驱动以镜像的方式存储在所述存储设备中所述可选只读存储器之外的存储空间中。
10.根据权利要求9所述的存储设备的驱动加载方法,其特征在于,所述第二级驱动的镜像为统一的可扩展固件接口定义的包含可执行代码的文件格式。
11.根据权利要求1所述的存储设备的驱动加载方法,其特征在于,确定所述主机连接的存储设备,包括:
在存储设备枚举阶段确定所述主机连接的存储设备。
12.根据权利要求11所述的存储设备的驱动加载方法,其特征在于,确定所述主机连接的存储设备,加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机,包括:
利用存储设备总线驱动确定所述主机连接的存储设备,并利用所述存储设备总线驱动加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机。
13.根据权利要求1所述的存储设备的驱动加载方法,其特征在于,所述第二级驱动包含多个子驱动;
通过所述通信通路加载第二级驱动到所述主机中,包括:
利用所述第一级驱动通过所述通信通路加载各所述子驱动到所述主机中。
14.根据权利要求1所述的存储设备的驱动加载方法,其特征在于,所述第二级驱动包含多个子驱动;
通过所述通信通路加载第二级驱动到所述主机中,包括:
将第一个子驱动作为当前子驱动;
利用所述第一级驱动通过所述通信通路加载所述当前子驱动到所述主机中,并运行所述当前子驱动;
将所述当前子驱动的下一个子驱动作为待加载子驱动,利用所述当前子驱动加载所述待加载子驱动到所述主机中,并运行所述待加载子驱动;
将所述待加载子驱动作为当前子驱动,返回将所述当前子驱动的下一个子驱动作为待加载子驱动的步骤,直至将最后一个所述子驱动加载到所述主机中。
15.根据权利要求1所述的存储设备的驱动加载方法,其特征在于,所述存储设备通过高速串行计算机扩展总线标准与所述主机相连。
16.一种操作系统启动方法,其特征在于,应用于主机,包括:
若所述主机在执行如权利要求1至15任一项所述的存储设备的驱动加载方法时开启所述快速启动模式,则在加载存储设备的可选只读存储器中存储的第一级驱动到所述主机中后,启动所述主机中的操作系统;
若所述主机在执行如权利要求1至15任一项所述的存储设备的驱动加载方法时未开启快速启动模式,则在运行第二级驱动后,启动所述主机中的操作系统。
17.根据权利要求16所述的操作系统启动方法,其特征在于,还包括:
判断所述操作系统是否启动成功;
若否,则重启所述操作系统。
18.根据权利要求17所述的操作系统启动方法,其特征在于,在重启所述操作系统时,还包括:
对所述操作系统的重启次数进行计数,并判断所述操作系统是否重启成功;
若未重启成功,则判断所述操作系统的重启次数是否超过阈值;
若未超过所述阈值,则返回重启所述操作系统的步骤;
若超过所述阈值,则发出所述操作系统的重启次数超过阈值的提示。
19.一种存储设备的驱动加载装置,其特征在于,应用于主机,包括:
第一加载模块,用于确定所述主机连接的存储设备,加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机中;所述第一级驱动为基础驱动,用于所述主机与所述存储设备间建立通信通路;
运行模块,用于若未开启快速启动模式,则运行所述第一级驱动,以与所述存储设备建立所述通信通路;
第二加载模块,用于通过所述通信通路加载第二级驱动到所述主机中,并运行所述第二级驱动;所述第二级驱动存储在所述存储设备中所述可选只读存储器之外的存储空间中;
所述装置,还用于加载所述存储设备的可选只读存储器中存储的第一级驱动到所述主机中之后,判断是否开启快速启动模式;若开启快速启动模式,则运行所述第一级驱动,以启动所述主机中的操作系统;若未开启快速启动模式,则执行所述运行模块的步骤。
20.一种操作系统启动装置,其特征在于,应用于主机,包括:
第一启动模块,用于若所述主机在执行如权利要求1至15任一项所述的存储设备的驱动加载方法时开启所述快速启动模式,则在加载存储设备的可选只读存储器中存储的第一级驱动到所述主机中后,启动所述主机中的操作系统;
第二启动模块,用于若所述主机在执行如权利要求1至15任一项所述的存储设备的驱动加载方法时未开启快速启动模式,则在运行第二级驱动后,启动所述主机中的操作系统。
21.一种电子系统,其特征在于,包括主机、与所述主机相连的存储设备,其中:
所述存储设备,用于将第一级驱动存储在所述存储设备的可选只读存储器中,将第二级驱动存储在所述存储设备中所述可选只读存储器之外的存储空间中;所述第一级驱动为基础驱动,用于所述主机与所述存储设备间建立通信通路;
所述主机,用于执行如权利要求1至15任一项所述的存储设备的驱动加载方法的步骤,和执行如权利要求16至18任一项所述的操作系统启动方法的步骤。
22.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至15任一项所述的存储设备的驱动加载方法的步骤,和如权利要求16至18任一项所述的操作系统启动方法的步骤。
23.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至15任一项所述的存储设备的驱动加载方法的步骤,和如权利要求16至18任一项所述的操作系统启动方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310520767.6A CN116243994B (zh) | 2023-05-10 | 2023-05-10 | 一种存储设备的驱动加载方法、操作系统启动方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310520767.6A CN116243994B (zh) | 2023-05-10 | 2023-05-10 | 一种存储设备的驱动加载方法、操作系统启动方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116243994A CN116243994A (zh) | 2023-06-09 |
CN116243994B true CN116243994B (zh) | 2023-08-04 |
Family
ID=86626249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310520767.6A Active CN116243994B (zh) | 2023-05-10 | 2023-05-10 | 一种存储设备的驱动加载方法、操作系统启动方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116243994B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8028155B1 (en) * | 2007-06-06 | 2011-09-27 | American Megatrends, Inc. | Initiating an operating system boot from firmware |
CN110096462A (zh) * | 2019-05-08 | 2019-08-06 | 济南浪潮高新科技投资发展有限公司 | 一种PCI Option ROM保护方法 |
CN111125678A (zh) * | 2019-10-31 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种管理Option ROM加载的方法、设备及介质 |
CN111352663A (zh) * | 2020-02-21 | 2020-06-30 | 苏州浪潮智能科技有限公司 | 一种控制PCIE设备Option Rom执行的方法及系统 |
CN113051584A (zh) * | 2021-05-31 | 2021-06-29 | 武汉深之度科技有限公司 | 一种系统安全启动方法、装置、计算设备及可读存储介质 |
CN114860325A (zh) * | 2022-05-30 | 2022-08-05 | 苏州浪潮智能科技有限公司 | 一种网卡适配方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411605B2 (en) * | 2013-08-29 | 2016-08-09 | Samsung Electronics Co., Ltd. | Device-less and system agnostic unified extensible firmware interface (UEFI) driver |
-
2023
- 2023-05-10 CN CN202310520767.6A patent/CN116243994B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8028155B1 (en) * | 2007-06-06 | 2011-09-27 | American Megatrends, Inc. | Initiating an operating system boot from firmware |
CN110096462A (zh) * | 2019-05-08 | 2019-08-06 | 济南浪潮高新科技投资发展有限公司 | 一种PCI Option ROM保护方法 |
CN111125678A (zh) * | 2019-10-31 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种管理Option ROM加载的方法、设备及介质 |
CN111352663A (zh) * | 2020-02-21 | 2020-06-30 | 苏州浪潮智能科技有限公司 | 一种控制PCIE设备Option Rom执行的方法及系统 |
CN113051584A (zh) * | 2021-05-31 | 2021-06-29 | 武汉深之度科技有限公司 | 一种系统安全启动方法、装置、计算设备及可读存储介质 |
CN114860325A (zh) * | 2022-05-30 | 2022-08-05 | 苏州浪潮智能科技有限公司 | 一种网卡适配方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116243994A (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134446B (zh) | 启动pcie设备扫描的方法 | |
US6401140B1 (en) | Apparatus and method for booting a computer operation system from an intelligent input/output device having no option ROM with a virtual option ROM stored in computer | |
US10990415B2 (en) | Disk management method and apparatus in ARM device and ARM device | |
CN103412769A (zh) | 外接卡参数配置方法、设备以及系统 | |
US20220214945A1 (en) | System Booting Method and Apparatus, Node Device, and Computer-Readable Storage Medium | |
CN101014936B (zh) | 用于在主机上自动安装功能单元驱动器的方法和系统 | |
US7127603B2 (en) | System and method for manufacture of information handling systems with selective option ROM executions | |
US20170337064A1 (en) | System and method for booting an information handling system | |
CN115357310A (zh) | 系统启动方法、装置、电子设备和存储介质 | |
US7428609B2 (en) | Method and system to partition hardware resources between operating systems | |
CN116028455A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN113687837A (zh) | 启动方式的转换方法及系统、虚拟机运行方法 | |
CN116243994B (zh) | 一种存储设备的驱动加载方法、操作系统启动方法及系统 | |
EP2835737A1 (en) | Data terminal running mode switching method, device, and data terminal | |
CN116009899B (zh) | 操作系统的镜像制作方法、装置、电子设备及存储介质 | |
CN112035393A (zh) | 一种节约双片上系统存储资源的方法、双片上系统 | |
CN116627472A (zh) | 高速外围组件设备的固件程序升级方法及服务器 | |
CN114817107B (zh) | Pcie设备切换系统、方法、装置、计算机设备和存储介质 | |
CN115291951A (zh) | Uefi启动方法、装置、电子设备以及存储介质 | |
CN109408124A (zh) | 存储设备及其制作方法、操作系统双模式引导方法及装置 | |
US7103767B2 (en) | Method and apparatus to support legacy master boot record (MBR) partitions | |
JP3693240B2 (ja) | 異なる操作モードを利用してアダプタ構成ルーチンを実行する方法およびシステム | |
US7240187B2 (en) | Method and apparatus to support legacy master boot record (MBR) partitions | |
CN109491947A (zh) | 一种pcie外接卡热移除信息的发送方法及相关装置 | |
CN110928582B (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 |