CN111538539A - 存储系统启动方法、装置及计算机可读存储介质 - Google Patents

存储系统启动方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN111538539A
CN111538539A CN202010327116.1A CN202010327116A CN111538539A CN 111538539 A CN111538539 A CN 111538539A CN 202010327116 A CN202010327116 A CN 202010327116A CN 111538539 A CN111538539 A CN 111538539A
Authority
CN
China
Prior art keywords
preset
sending
bios
storage system
hardware
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.)
Granted
Application number
CN202010327116.1A
Other languages
English (en)
Other versions
CN111538539B (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 CN202010327116.1A priority Critical patent/CN111538539B/zh
Publication of CN111538539A publication Critical patent/CN111538539A/zh
Priority to US17/920,844 priority patent/US11768736B2/en
Priority to PCT/CN2021/073869 priority patent/WO2021212948A1/zh
Application granted granted Critical
Publication of CN111538539B publication Critical patent/CN111538539B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

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

Abstract

本申请公开了一种存储系统启动方法、装置及计算机可读存储介质。其中,方法包括根据连接PCIe设备和CPU的桥设备的总线号、设备号和功能号确定配置空间;在BIOS启动过程中,当检测到PCIe设备初始化完成后,根据从配置空间读取预设硬件设备的连接信息判断其是否连接成功;若是,则继续启动直至BIOS启动结束;若否,则CPU发送重新连接指令以通过调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态;当检测到重新连接指令的次数大于第一预设值且连接不成功,由BIOS发送系统重启指令;当重新连接指令的次数不大于第一预设值,等待预设时长后继续判断预设硬件设备连接是否成功;从而保证存储系统在启动后便可正常稳定工作,提高系统的稳定性和可维护性。

Description

存储系统启动方法、装置及计算机可读存储介质
技术领域
本申请涉及硬件设备故障检测技术领域,特别是涉及一种存储系统启动方法、装置及计算机可读存储介质。
背景技术
随着大数据、云技术、物联网技术的快速发展,计算机网络技术应用在各行各业,数据呈现爆炸式增长,用户对存储设备的稳定性和可维护性的要求也越来也高。
相关技术均是在BIOS(Basic Input Output System,基本输入输出系统)完成启动后,便直接启动存储系统。可以理解的是,存储系统的正常运行对硬件环境有非常强的依赖性和关联性,举例来说,存储实现的两个控制器的数据同步备份,依赖于硬件NTB(nontransparent bridge,非透明桥)运行的正常与否。而存储环境对硬件链路的稳定性有较高的要求,当应用在在各种复杂的环境中,难免出现pcie链接出现故障的情况,而已启动的存储系统必然会由于硬件链路故障运行异常。
鉴于此,如何保证存储系统能够在经启动后便可万无一失的正常工作,确保存储系统依赖性的硬件设备在BIOS质检过程中连接正常,降低存储系统启动后设备异常造成的系统报错的概率,提高整个系统的稳定性以及可维护性,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种存储系统启动方法、装置及计算机可读存储介质,保证存储系统能够在经启动后便可万无一失的正常工作,确保存储系统依赖性的硬件设备在BIOS质检过程中连接正常,降低存储系统启动后设备异常造成的系统报错的概率,提高整个系统的稳定性以及可维护性。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种存储系统启动方法,包括:
基于主板上的硬件连接方法确定连接PCIe设备和CPU的桥设备的总线号、设备号和功能号,以定位所述桥设备的配置空间;
在BIOS启动过程中,当检测到所述PCIe设备初始化完成后,根据从所述配置空间读取预设硬件设备的连接信息判断是否连接成功;所述预设硬件设备为所述主板上与所述存储系统相关联的硬件设备;
若是,则继续启动直至所述BIOS启动结束;若否,则CPU发送重新连接指令以通过调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态;
当检测到所述CPU发送重新连接指令的次数大于第一预设值且所述预设硬件设备连接不成功,则由所述BIOS发送系统重启指令;当检测到所述CPU发送重新连接指令的次数不大于所述第一预设值,则等待预设时长后继续判断所述预设硬件设备连接是否成功。
可选的,所述通过调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态包括:
将默认preset值修改为预设参数值,以Gen1或Gen2速率向所述PCIe设备发送所述预设参数值;
当所述PCIe硬件链路达到Gen3速率且各接收端的检测误码率小于1e-4,调整发送端参数和接收端参数直到各自接收端的检测误码率小于1e-12,以使两端参数链路稳定在Gen3状态;
其中,所述调整发送端参数和接收端参数包括:
所述PCIe设备按照第一预设参数调整范围调整接收参数以优化所述CPU的发送参数;所述CPU按照第二预设参数调整范围调整接收参数以优化所述PCIe设备的发送参数。
可选的,所述根据从所述配置空间读取预设硬件设备的连接信息判断是否连接成功包括:
判断从所述配置空间读取预设硬件设备的连接状态是否为非正确连接状态或连接带宽是否为x0;
若是,则所述预设硬件设备连接不成功;若否,则所述预设硬件设备连接成功。
可选的,所述由所述BIOS发送系统重启指令包括:
由所述BIOS发送global reset命令以对整个系统进行重启;
若所述BIOS发送global reset命令的次数大于所述第二预设值,且所述预设硬件设备连接不成功,则生成告警日志并将所述告警日志发送给基板控制器,同时继续启动直至所述BIOS启动结束;所述告警日志包括告警提示信息和从所述BIOS开启启动时刻到当前时刻这段时间的日志记录。
可选的,所述BIOS发送global reset命令的次数值从cmos寄存器内部读取。
本发明实施例另一方面提供了一种存储系统启动装置,包括:
配置空间确定模块,用于基于主板上的硬件连接方法确定连接PCIe设备和CPU的桥设备的总线号、设备号和功能号,以定位所述桥设备的配置空间;
硬件连接判断模块,用于在BIOS启动过程中,当检测到所述PCIe设备初始化完成后,根据从所述配置空间读取预设硬件设备的连接信息判断是否连接成功;还用于当检测到所述CPU发送重新连接指令的次数不大于所述第一预设值,则等待预设时长后继续判断所述预设硬件设备连接是否成功;所述预设硬件设备为所述主板上与所述存储系统相关联的硬件设备;
启动模块,用于若所述预设硬件设备连接成功,则继续启动直至所述BIOS启动结束;
重新连接模块,用于若所述预设硬件设备连接不成功,则CPU发送重新连接指令以通过调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态;
重启模块,用于当检测到所述CPU发送重新连接指令的次数大于第一预设值且所述预设硬件设备连接不成功,则由所述BIOS发送系统重启指令。
可选的,所述重新连接模块包括:
参数修改子模块,用于将默认preset值修改为预设参数值,以Gen1或Gen2速率向所述PCIe设备发送所述预设参数值;
参数调整子模块,用于当所述PCIe硬件链路达到Gen3速率且各接收端的检测误码率小于1e-4,调整发送端参数和接收端参数直到各自接收端的检测误码率小于1e-12,以使两端参数链路稳定在Gen3状态;所述调整发送端参数和接收端参数包括:
所述PCIe设备按照第一预设参数调整范围调整接收参数以优化所述CPU的发送参数;所述CPU按照第二预设参数调整范围调整接收参数以优化所述PCIe设备的发送参数。
可选的,所述重启模块包括:
指令下发子模块,用于由所述BIOS发送global reset命令以对整个系统进行重启;
告警日志生成子模块,用于若所述BIOS发送global reset命令的次数大于所述第二预设值,且所述预设硬件设备连接不成功,则生成告警日志并将所述告警日志发送给基板控制器,同时继续启动直至所述BIOS启动结束;所述告警日志包括告警提示信息和从所述BIOS开启启动时刻到当前时刻这段时间的日志记录。
本发明实施例还提供了一种存储系统启动装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述存储系统启动方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有存储系统启动程序,所述存储系统启动程序被处理器执行时实现如前任一项所述存储系统启动方法的步骤。
本申请提供的技术方案的优点在于,在BIOS启动过程中对与存储系统相关联的硬件在位设备进行检测,如发现异常,通过多种方式进行复位重新连接,保证与之相关联的硬件设备的BIOS启动过程中的稳定性,为存储环境提供更加稳定的硬件链路,降低硬件链路故障发生概率,从而保证存储系统能够在经启动后便可万无一失的正常工作,确保存储系统依赖性的硬件设备在BIOS质检过程中连接正常,降低存储系统启动后设备异常造成的系统报错的概率,可及时对出现故障硬件链路进行修护及故障定位,提高整个系统的稳定性以及可维护性。
此外,本发明实施例还针对存储系统启动方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种存储系统启动方法的流程示意图;
图2为本发明实施例提供的存储系统启动装置的一种具体实施方式结构图;
图3为本发明实施例提供的存储系统启动装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种存储系统启动方法的流程示意图,本发明实施例可包括以下内容:
S101:基于主板上的硬件连接方法确定连接PCIe设备和CPU的桥设备的总线号、设备号和功能号,以定位桥设备的配置空间。
其中,主板上的硬件连接方法可基于主板设计图来获取,可根据主板上的硬件的连接方法确定相关pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)设备连接的CPU(central processing unit,中央处理器)root port(根端口)的总线号、设备号和功能号,总线号、设备号和功能号可唯一确定或是识别一个硬件设备,在确定桥设备的配置空后,可从配置间里面获取pcie设备与cpu root连接的连接状态,连接带宽等连接信息。
S102:在BIOS启动过程中,当检测到PCIe设备初始化完成后,从配置空间读取预设硬件设备的连接信息。
本申请的预设硬件设备为主板上与存储系统相关联的硬件设备,也即存储系统依赖的硬件设备,这些硬件设备的正常与否影响存储系统的正常运行状态。
S103:判断预设硬件设备是否连接成功,若否,则执行S104;若是,则执行S108。
在S102的BIOS启动后,当程序跑完pcie初始化相关模块之后,然后检测相关硬件设备的连接状态,连接状态可根据桥设备的配置空间存储的信息来判定。举例来说,可以预先设置硬件设备连接成功时对应的连接状态标准值或是是连接带宽标准值,当配置空间中连接状态值或连接带宽值不为预先设置的标准值,则证明连接不成功。可选的,判断从配置空间读取预设硬件设备的连接状态是否为非正确连接状态或连接带宽是否为x0;若是,则预设硬件设备连接不成功;若否,则预设硬件设备连接成功。例如正确连接状态对应的速度为gen3,若配置空间读取的不为gen3,则硬件设备连接不成功。
S104:CPU发送重新连接指令以通过调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态。
其中,PCIe硬件链路的速度稳定在相匹配状态是指经过发送端参数和接收端参数的微调使得使PCIe硬件链路的速度与PCIe设备属相匹配,对于PCIe3.0设备,相匹配的状态即链路的速度稳定在gen3状态。
S105:判断CPU发送重新连接指令的次数是否不大于第一预设值,若是,则执行S106;若否,则执行S107。
在本申请中,可预先设置N值,该值为尝试重连接的次数,可基于实际应用场景和硬件设备参数在兼顾系统启动效率和故障诊断效率之间进行选取,本申请对此不作任何限定。
S106:由BIOS发送系统重启指令。
S107:等待预设时长后跳转执行S103。
预设时长例如可为10s,该值可根据实际情况进行选取,这均不影响本申请的实现。
S108:继续启动直至BIOS启动结束。
在本发明实施例提供的技术方案中,在BIOS启动过程中对与存储系统相关联的硬件在位设备进行检测,如发现异常,通过多种方式进行复位重新连接,保证与之相关联的硬件设备的BIOS启动过程中的稳定性,为存储环境提供更加稳定的硬件链路,降低硬件链路故障发生概率,从而保证存储系统能够在经启动后便可万无一失的正常工作,确保存储系统依赖性的硬件设备在BIOS质检过程中连接正常,降低存储系统启动后设备异常造成的系统报错的概率,可及时对出现故障硬件链路进行修护及故障定位,提高整个系统的稳定性以及可维护性。
在上述实施例中,对于如何执行步骤通过调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态并不做限定,本实施例中给出一种实施方式,可包括如下步骤:
将默认preset值修改为预设参数值,以Gen1或Gen2速率向PCIe设备发送预设参数值;当PCIe硬件链路达到Gen3速率且各接收端的检测误码率小于1e-4,调整发送端参数和接收端参数直到各自接收端的检测误码率小于1e-12,以使两端参数链路稳定在Gen3状态。
可以理解的是,由于PCIe的速率越来越高,而普通的PCB板材和接插件对信号的传输损耗较严重,因此PCIe G1和G2在发送端都采用了去加重技术,即发送端在发送信号时对跳变位之后的信号(代表信号中的低频成分)减小幅度发送,这样可以部分补偿一下传输线路对高频成分的衰减,从而得到比较好的眼图(信号摆幅小,眼图高度低,功耗小,EMC辐射小)。PCIe G1中采用的是-3.5dB的去加重(De-emphasis),G2中采用的是-3.5dB和-6dB的去加重。对于G3由于信号速率更高,需要采用更加复杂的二阶去加重技术,即除了跳变位减小幅度发送外,在跳变位的前一位也要增大幅度发送,这个增大的幅度通常叫做Preshoot。为了应对复杂的链路环境,PCIe G3中规定了共11种不同的Preshoot和De-emphasis的组合即preset,该值一般自动设置为默认值。而在连接不成功情况下,需要重置默认的preset。
本发明实施例中,调整发送端参数和接收端参数包括:
PCIe设备按照第一预设参数调整范围调整接收参数以优化CPU的发送参数;CPU按照第二预设参数调整范围调整接收参数以优化PCIe设备的发送参数。
因为PCIe 3.0信号的速率可以达到8Gb/s,而且链路通道走线也可能会很长,这可能会导致高速信号衰减过大,在接收端无法得到张开的眼图。因此在PCIe 3.0的接收端和发送端均使用了均衡设置,以补偿长链路时高速信号的衰减。PCIe 3.0中使用了动态均衡的方法来自动实现和配置得到最优的均衡组合以满足不同时候的需要。即系统会自动根据链路的情况分析高速信号在接收端的性能如眼图等,通过分析结果来指导发送端和接收端如何设置均衡参数。在PCIe 3.0的发送端和接收端器件工作初始化过程中,系统可根据对链路的分析情况,要求接收端发送TxEQ Preset设置请求给发送端要求其进行相应的Preset均衡设置,发送端可发送RxEQ均衡设置请求给接收端要求其进行相应的RxEQ设置,通过这样一个初始化过程获得一个最优的均衡设置,从而在接收端得到最优化的高速信号(眼图)。
还需要说明的是,若通过上述实施例的步骤调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态失败,则CPU可尝试以gen2的速率进行重连接,不再尝试gen3的速度进行重连接操作。也就是,将默认preset值修改为预设参数值,以Gen1或Gen2速率向PCIe设备发送预设参数值;当PCIe硬件链路达到Gen2速率且各接收端的检测误码率小于1e-4,调整发送端参数和接收端参数直到各自接收端的检测误码率小于1e-12,以使两端参数链路稳定在Gen2状态。调整发送端参数和接收端参数包括:PCIe设备按照第一预设参数调整范围调整接收参数以优化CPU的发送参数;CPU按照第二预设参数调整范围调整接收参数以优化PCIe设备的发送参数。
上述实施例在启动过程中,如果发现相关联的硬件设备异常,对硬件设备进行多次重新连接,如果依然异常状态,对系统进行多次重置恢复,对有不能恢复正常的重要硬件设备的系统通过带外的控制系统来传输告警信息,以便于人工定位与修复,也即还可包括:
若CPU发送重新连接指令的次数大于第一预设值,由BIOS发送global reset命令以对整个系统进行重启;global reset命令直接由BIOS下达至南桥芯片控制电的寄存器。若BIOS发送global reset命令的次数大于第二预设值,且预设硬件设备连接不成功,则生成告警日志并将告警日志发送给基板控制器,同时继续启动直至BIOS启动结束;告警日志包括告警提示信息和从BIOS开启启动时刻到当前时刻这段时间的日志记录。其中,BIOS发送global reset命令的次数值可从cmos寄存器内部读取。
如果检测相关硬件设备连接不成功,由BIOS发送global reset命令对整个系统进行重启重复m次,如成功则继续启动,不成功则log打印报警日志,并把告警日志发送给BMC或者其他控制系统,便于工程师远程查看,系统继续启动。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
本发明实施例还针对存储系统启动方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的存储系统启动装置进行介绍,下文描述的存储系统启动装置与上文描述的存储系统启动方法可相互对应参照。
基于功能模块的角度,参见图2,图2为本发明实施例提供的存储系统启动装置在一种具体实施方式下的结构图,该装置可包括:
配置空间确定模块201,用于基于主板上的硬件连接方法确定连接PCIe设备和CPU的桥设备的总线号、设备号和功能号,以定位桥设备的配置空间。
硬件连接判断模块202,用于在BIOS启动过程中,当检测到PCIe设备初始化完成后,根据从配置空间读取预设硬件设备的连接信息判断是否连接成功;还用于当检测到CPU发送重新连接指令的次数不大于第一预设值,则等待预设时长后继续判断预设硬件设备连接是否成功;预设硬件设备为主板上与存储系统相关联的硬件设备。
启动模块203,用于若预设硬件设备连接成功,则继续启动直至BIOS启动结束。
重新连接模块204,用于若预设硬件设备连接不成功,则CPU发送重新连接指令以通过调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态。
重启模块205,用于当检测到CPU发送重新连接指令的次数大于第一预设值且预设硬件设备连接不成功,则由BIOS发送系统重启指令。
可选的,在本实施例的一些实施方式中,所述重新连接模块204还可以包括:
参数修改子模块,用于将默认preset值修改为预设参数值,以Gen1或Gen2速率向PCIe设备发送预设参数值;
参数调整子模块,用于当PCIe硬件链路达到Gen3速率且各接收端的检测误码率小于1e-4,调整发送端参数和接收端参数直到各自接收端的检测误码率小于1e-12,以使两端参数链路稳定在Gen3状态;调整发送端参数和接收端参数包括:
PCIe设备按照第一预设参数调整范围调整接收参数以优化CPU的发送参数;CPU按照第二预设参数调整范围调整接收参数以优化PCIe设备的发送参数。
作为一种可选的实施方式中,所述重启模块205例如还可包括:
指令下发子模块,用于由BIOS发送global reset命令以对整个系统进行重启;
告警日志生成子模块,用于若BIOS发送global reset命令的次数大于第二预设值,且预设硬件设备连接不成功,则生成告警日志并将告警日志发送给基板控制器,同时继续启动直至BIOS启动结束;告警日志包括告警提示信息和从BIOS开启启动时刻到当前时刻这段时间的日志记录。
可选的,在本实施例的另一些实施方式中,所述装置例如还可以包括:
连接成功判定子模块,用于若从配置空间读取预设硬件设备的连接状态为非正确连接状态或连接带宽为x0,则预设硬件设备连接不成功;
连接不成功判定子模块,用于若从配置空间读取预设硬件设备的连接状态不为非正确连接状态或连接带宽不为x0,则预设硬件设备连接成功。
本发明实施例所述存储系统启动装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例保证存储系统能够在经启动后便可万无一失的正常工作,确保存储系统依赖性的硬件设备在BIOS质检过程中连接正常,降低存储系统启动后设备异常造成的系统报错的概率,提高整个系统的稳定性以及可维护性。
上文中提到的存储系统启动装置是从功能模块的角度描述,进一步的,本申请还提供一种存储系统启动装置,是从硬件角度描述。图3为本申请实施例提供的另一种存储系统启动装置的结构图。如图3所示,该装置包括存储器30,用于存储计算机程序;
处理器31,用于执行计算机程序时实现如上述实施例提到的存储系统启动方法的步骤。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器30至少用于存储以下计算机程序301,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的存储系统启动方法的相关步骤。另外,存储器30所存储的资源还可以包括操作系统302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作系统302可以包括Windows、Unix、Linux等。数据303可以包括但不限于存储系统启动结果对应的数据等。
在一些实施例中,存储系统启动装置还可包括有显示屏32、输入输出接口33、通信接口34、电源35以及通信总线36。
本领域技术人员可以理解,图3中示出的结构并不构成对存储系统启动装置的限定,可以包括比图示更多或更少的组件,例如传感器37。
本发明实施例所述存储系统启动装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例保证存储系统能够在经启动后便可万无一失的正常工作,确保存储系统依赖性的硬件设备在BIOS质检过程中连接正常,降低存储系统启动后设备异常造成的系统报错的概率,提高整个系统的稳定性以及可维护性。
可以理解的是,如果上述实施例中的存储系统启动方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有存储系统启动程序,所述存储系统启动程序被处理器执行时如上任意一实施例所述存储系统启动方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例保证存储系统能够在经启动后便可万无一失的正常工作,确保存储系统依赖性的硬件设备在BIOS质检过程中连接正常,降低存储系统启动后设备异常造成的系统报错的概率,提高整个系统的稳定性以及可维护性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种存储系统启动方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种存储系统启动方法,其特征在于,包括:
基于主板上的硬件连接方法确定连接PCIe设备和CPU的桥设备的总线号、设备号和功能号,以定位所述桥设备的配置空间;
在BIOS启动过程中,当检测到所述PCIe设备初始化完成后,根据从所述配置空间读取预设硬件设备的连接信息判断是否连接成功;所述预设硬件设备为所述主板上与所述存储系统相关联的硬件设备;
若是,则继续启动直至所述BIOS启动结束;若否,则CPU发送重新连接指令以通过调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态;
当检测到所述CPU发送重新连接指令的次数大于第一预设值且所述预设硬件设备连接不成功,则由所述BIOS发送系统重启指令;当检测到所述CPU发送重新连接指令的次数不大于所述第一预设值,则等待预设时长后继续判断所述预设硬件设备连接是否成功。
2.根据权利要求1所述的存储系统启动方法,其特征在于,所述通过调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态包括:
将默认preset值修改为预设参数值,以Gen1或Gen2速率向所述PCIe设备发送所述预设参数值;
当所述PCIe硬件链路达到Gen3速率且各接收端的检测误码率小于1e-4,调整发送端参数和接收端参数直到各自接收端的检测误码率小于1e-12,以使两端参数链路稳定在Gen3状态;
其中,所述调整发送端参数和接收端参数包括:
所述PCIe设备按照第一预设参数调整范围调整接收参数以优化所述CPU的发送参数;所述CPU按照第二预设参数调整范围调整接收参数以优化所述PCIe设备的发送参数。
3.根据权利要求2所述的存储系统启动方法,其特征在于,所述根据从所述配置空间读取预设硬件设备的连接信息判断是否连接成功包括:
判断从所述配置空间读取预设硬件设备的连接状态是否为非正确连接状态或连接带宽是否为x0;
若是,则所述预设硬件设备连接不成功;若否,则所述预设硬件设备连接成功。
4.根据权利要求1至3任意一项所述的存储系统启动方法,其特征在于,所述由所述BIOS发送系统重启指令包括:
由所述BIOS发送globalreset命令以对整个系统进行重启;
若所述BIOS发送globalreset命令的次数大于所述第二预设值,且所述预设硬件设备连接不成功,则生成告警日志并将所述告警日志发送给基板控制器,同时继续启动直至所述BIOS启动结束;所述告警日志包括告警提示信息和从所述BIOS开启启动时刻到当前时刻这段时间的日志记录。
5.根据权利要求4所述的存储系统启动方法,其特征在于,所述BIOS发送globalreset命令的次数值从cmos寄存器内部读取。
6.一种存储系统启动装置,其特征在于,包括:
配置空间确定模块,用于基于主板上的硬件连接方法确定连接PCIe设备和CPU的桥设备的总线号、设备号和功能号,以定位所述桥设备的配置空间;
硬件连接判断模块,用于在BIOS启动过程中,当检测到所述PCIe设备初始化完成后,根据从所述配置空间读取预设硬件设备的连接信息判断是否连接成功;还用于当检测到所述CPU发送重新连接指令的次数不大于所述第一预设值,则等待预设时长后继续判断所述预设硬件设备连接是否成功;所述预设硬件设备为所述主板上与所述存储系统相关联的硬件设备;
启动模块,用于若所述预设硬件设备连接成功,则继续启动直至所述BIOS启动结束;
重新连接模块,用于若所述预设硬件设备连接不成功,则CPU发送重新连接指令以通过调整发送端参数和接收端参数使PCIe硬件链路的速度稳定在相匹配状态;
重启模块,用于当检测到所述CPU发送重新连接指令的次数大于第一预设值且所述预设硬件设备连接不成功,则由所述BIOS发送系统重启指令。
7.根据权利要求6所述的存储系统启动装置,其特征在于,所述重新连接模块包括:
参数修改子模块,用于将默认preset值修改为预设参数值,以Gen1或Gen2速率向所述PCIe设备发送所述预设参数值;
参数调整子模块,用于当所述PCIe硬件链路达到Gen3速率且各接收端的检测误码率小于1e-4,调整发送端参数和接收端参数直到各自接收端的检测误码率小于1e-12,以使两端参数链路稳定在Gen3状态;所述调整发送端参数和接收端参数包括:
所述PCIe设备按照第一预设参数调整范围调整接收参数以优化所述CPU的发送参数;所述CPU按照第二预设参数调整范围调整接收参数以优化所述PCIe设备的发送参数。
8.根据权利要求7所述的存储系统启动装置,其特征在于,所述重启模块包括:
指令下发子模块,用于由所述BIOS发送globalreset命令以对整个系统进行重启;
告警日志生成子模块,用于若所述BIOS发送globalreset命令的次数大于所述第二预设值,且所述预设硬件设备连接不成功,则生成告警日志并将所述告警日志发送给基板控制器,同时继续启动直至所述BIOS启动结束;所述告警日志包括告警提示信息和从所述BIOS开启启动时刻到当前时刻这段时间的日志记录。
9.一种存储系统启动装置,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5任一项所述存储系统启动方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有存储系统启动程序,所述存储系统启动程序被处理器执行时实现如权利要求1至5任一项所述存储系统启动方法的步骤。
CN202010327116.1A 2020-04-23 2020-04-23 存储系统启动方法、装置及计算机可读存储介质 Active CN111538539B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010327116.1A CN111538539B (zh) 2020-04-23 2020-04-23 存储系统启动方法、装置及计算机可读存储介质
US17/920,844 US11768736B2 (en) 2020-04-23 2021-01-27 Storage system boot method and apparatus, and computer-readable storage medium
PCT/CN2021/073869 WO2021212948A1 (zh) 2020-04-23 2021-01-27 存储系统启动方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010327116.1A CN111538539B (zh) 2020-04-23 2020-04-23 存储系统启动方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111538539A true CN111538539A (zh) 2020-08-14
CN111538539B CN111538539B (zh) 2022-07-22

Family

ID=71967586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010327116.1A Active CN111538539B (zh) 2020-04-23 2020-04-23 存储系统启动方法、装置及计算机可读存储介质

Country Status (3)

Country Link
US (1) US11768736B2 (zh)
CN (1) CN111538539B (zh)
WO (1) WO2021212948A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391689A (zh) * 2021-05-20 2021-09-14 浙江大华技术股份有限公司 硬盘上电方法、装置、电子装置和存储介质
WO2021212948A1 (zh) * 2020-04-23 2021-10-28 苏州浪潮智能科技有限公司 存储系统启动方法、装置及计算机可读存储介质
CN113726425A (zh) * 2021-07-31 2021-11-30 苏州浪潮智能科技有限公司 一种有线通信方法、装置、设备及可读存储介质
CN114143194A (zh) * 2022-02-07 2022-03-04 苏州浪潮智能科技有限公司 一种服务器初始化智能网卡的方法、装置、设备及介质
CN114443537A (zh) * 2022-01-28 2022-05-06 浪潮(山东)计算机科技有限公司 一种pcie信号发送端参数配置方法、装置、设备及介质
CN114978895A (zh) * 2022-07-25 2022-08-30 深圳市亿联无限科技有限公司 一种启动方法、系统、设备及计算机可读存储介质
CN115766549A (zh) * 2022-10-28 2023-03-07 苏州浪潮智能科技有限公司 对联测试方法、装置、电子设备和存储介质
CN115878540A (zh) * 2023-01-19 2023-03-31 苏州浪潮智能科技有限公司 一种PCIe器件链路训练管理方法、管理装置及服务器
US11907729B2 (en) 2021-11-15 2024-02-20 Asustek Computer Inc Computer system and booting method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893858B (zh) * 2023-09-11 2023-12-12 西安智多晶微电子有限公司 一种FPGA快速启动PCIe的配置方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111030778A (zh) * 2019-11-30 2020-04-17 苏州浪潮智能科技有限公司 高速信号的参数自适应方法、装置、设备及可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4911372B2 (ja) * 2009-10-06 2012-04-04 日本電気株式会社 Cpu再リセットを伴うcpu再初期化時におけるタイムアウト防止方法、その装置及びそのプログラム
CN103809988B (zh) * 2012-11-07 2017-09-29 联想(北京)有限公司 一种信息处理方法及电子设备
US9785604B2 (en) * 2013-02-15 2017-10-10 Intel Corporation Preset evaluation to improve input/output performance in high-speed serial interconnects
US9575922B2 (en) * 2013-09-27 2017-02-21 Intel Corporation Apparatus, system, and method for improving equalization with a software equalization algorithm
CN107145198B (zh) * 2017-04-19 2020-04-17 深圳市同泰怡信息技术有限公司 一种提升服务器对硬盘兼容能力的方法及其主板
CN106951383A (zh) * 2017-04-19 2017-07-14 深圳市同泰怡信息技术有限公司 一种提高pcie数据通道使用率的主板及方法
US10929260B2 (en) * 2018-05-16 2021-02-23 Advantest Corporation Traffic capture and debugging tools for identifying root causes of device failure during automated testing
CN110377469B (zh) * 2019-07-12 2022-11-18 苏州浪潮智能科技有限公司 一种pcie设备的检测系统以及方法
CN111538539B (zh) * 2020-04-23 2022-07-22 苏州浪潮智能科技有限公司 存储系统启动方法、装置及计算机可读存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111030778A (zh) * 2019-11-30 2020-04-17 苏州浪潮智能科技有限公司 高速信号的参数自适应方法、装置、设备及可读存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11768736B2 (en) 2020-04-23 2023-09-26 Inspur Suzhou Intelligent Technology Co., Ltd. Storage system boot method and apparatus, and computer-readable storage medium
WO2021212948A1 (zh) * 2020-04-23 2021-10-28 苏州浪潮智能科技有限公司 存储系统启动方法、装置及计算机可读存储介质
CN113391689A (zh) * 2021-05-20 2021-09-14 浙江大华技术股份有限公司 硬盘上电方法、装置、电子装置和存储介质
CN113726425A (zh) * 2021-07-31 2021-11-30 苏州浪潮智能科技有限公司 一种有线通信方法、装置、设备及可读存储介质
CN113726425B (zh) * 2021-07-31 2023-02-24 苏州浪潮智能科技有限公司 一种有线通信方法、装置、设备及可读存储介质
US11907729B2 (en) 2021-11-15 2024-02-20 Asustek Computer Inc Computer system and booting method thereof
CN114443537A (zh) * 2022-01-28 2022-05-06 浪潮(山东)计算机科技有限公司 一种pcie信号发送端参数配置方法、装置、设备及介质
CN114443537B (zh) * 2022-01-28 2023-12-19 浪潮(山东)计算机科技有限公司 一种pcie信号发送端参数配置方法、装置、设备及介质
CN114143194A (zh) * 2022-02-07 2022-03-04 苏州浪潮智能科技有限公司 一种服务器初始化智能网卡的方法、装置、设备及介质
CN114978895B (zh) * 2022-07-25 2022-12-13 深圳市亿联无限科技有限公司 一种启动方法、系统、设备及计算机可读存储介质
CN114978895A (zh) * 2022-07-25 2022-08-30 深圳市亿联无限科技有限公司 一种启动方法、系统、设备及计算机可读存储介质
CN115766549A (zh) * 2022-10-28 2023-03-07 苏州浪潮智能科技有限公司 对联测试方法、装置、电子设备和存储介质
CN115766549B (zh) * 2022-10-28 2024-05-14 苏州浪潮智能科技有限公司 对联测试方法、装置、电子设备和存储介质
CN115878540A (zh) * 2023-01-19 2023-03-31 苏州浪潮智能科技有限公司 一种PCIe器件链路训练管理方法、管理装置及服务器

Also Published As

Publication number Publication date
WO2021212948A1 (zh) 2021-10-28
CN111538539B (zh) 2022-07-22
US11768736B2 (en) 2023-09-26
US20230117996A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
CN111538539B (zh) 存储系统启动方法、装置及计算机可读存储介质
CN110058920B (zh) 虚拟机性能检测方法及装置、电子设备、存储介质
CN111694710A (zh) 基板管理控制器故障监控方法、装置、设备及存储介质
CN112527582A (zh) 服务器线缆的检测方法、检测装置、检测设备及存储介质
CN114138644A (zh) Bmc调试方法及监控方法、系统、装置、设备、介质
CN109901664B (zh) 提供时钟信号的方法、装置、系统、设备及可读存储介质
CN107818032A (zh) 一种主板、信息打印方法、系统、装置及存储介质
CN115061871A (zh) 一种计算机性能测试方法、装置及介质
CN112947964A (zh) 一种芯片的固件更新方法、装置、设备及存储介质
CN117251333A (zh) 一种硬盘信息获取方法、装置、设备及存储介质
CN111310160A (zh) Windows自动登陆布署方法、装置、计算机设备及存储介质
CN114500327B (zh) 一种服务器集群的检测方法、检测装置及计算设备
CN110381035A (zh) 网络安全测试方法、装置、计算机设备及可读存储介质
CN110362430A (zh) 一种服务器的自动重启的方法、系统及存储介质
CN114996069A (zh) 一种主板测试方法、装置以及介质
CN115794530A (zh) 一种硬件连接测试方法、装置、设备和可读存储介质
CN108829417B (zh) 一种cpld的升级装置、方法、设备及存储介质
CN113190491A (zh) 一种串口信息显示方法、系统及介质
CN113869108B (zh) 一种识别硬盘背板连接的设备的方法及相关装置
CN106909489B (zh) 一种测试EventLog状态的方法及装置
CN111400094A (zh) 一种服务器系统恢复出厂设置的方法、装置、设备及介质
CN111367719B (zh) 一种存储系统启动方法、装置、设备和介质
CN116841374A (zh) 一种电源在位状态修正方法、装置、设备及可读存储介质
CN116382968B (zh) 外部设备的故障检测方法以及装置
CN115437868A (zh) 一种bios edpc功能的测试方法、系统、装置及存储介质

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