一种VMD功能启动方法及其相关组件与流程

文档序号:32392420发布日期:2022-11-30 08:50阅读:1998来源:国知局
一种VMD功能启动方法及其相关组件与流程
一种vmd功能启动方法及其相关组件
技术领域
1.本发明涉及硬盘管理领域,特别是涉及一种vmd功能启动方法及其相关组件。


背景技术:

2.当服务器中部署nvme(non volatile memory host controller interface specification,非易失性内存主机控制器接口规范)硬盘时,需要启动该nvme盘对应的服务器cpu(central processing unit,中央处理器)中的vmd(volume management device,卷设备管理)功能,以实现对该nvme硬盘的热升级和热更换等功能。现有技术通常是根据市面上nvme硬盘常用的接口类型,将这些接口类型对应的vmd功能设定为默认开启状态,例如,目前的nvme硬盘通常使用pcie-x4端口,所以将pcie-x4端口对应的vmd功能设置为默认开启状态,但是当连接到该端口上的设备并非为nvme硬盘时,开启vmd功能则可能会导致该设备出现错误。


技术实现要素:

3.本发明的目的是提供一种vmd功能启动方法及其相关组件,能够保证只有在待测设备为nvme硬盘时才会开启vmd功能,避免由于默认启动vmd功能而导致的连接到该连接器的非nvme硬盘设备出现错误的问题。
4.为解决上述技术问题,本发明提供了一种vmd功能启动方法,应用于服务器中的cpld,所述服务器中还包括控制器、n个cpu和n个连接器,所述cpu和所述连接器一一对应,n为正整数,所述vmd功能启动方法包括:
5.当检测到待测设备与任一个所述连接器连接后生成的在位信号时,判断所述待测设备是否为nvme硬盘;
6.若所述待测设备是nvme硬盘,则确定与所述待测设备连接的所述连接器对应的cpu的地址信息;
7.将所述在位信号和所述地址信息发送给控制器,以便所述控制器启动与所述待测设备连接的所述连接器对应的cpu中的vmd功能。
8.优选的,在判断所述待测设备是否为nvme硬盘,包括:
9.获取所述cpld自身的ifdet信号端处的电平和prsnt信号端的电平;
10.判断所述ifdet信号端是否为低电平且所述prsnt信号端为高电平;
11.若均是,则判定所述待测设备是nvme硬盘。
12.优选的,还包括:
13.若所述ifdet信号端为高电平且所述prsnt信号端为高电平,则判定所述待测设备故障。
14.优选的,在判断所述待测设备是否为nvme硬盘之前,还包括:
15.当接收到在位检测信号时,获取各个所述连接器处的接口信号;
16.当检测到任一个所述连接器处的接口信号为所述在位信号时,进入检测到待测设
备与任一个所述连接器连接后生成的在位信号的步骤。
17.优选的,在将所述在位信号和所述地址信息发送给控制器之前,还包括:
18.确定所述待测设备的端口类型;
19.将所述在位信号和所述地址信息发送给控制器,包括:
20.将所述在位信号、所述地址信息和所述端口类型发送给控制器,以便所述控制器启动与所述待测设备连接的所述连接器对应的cpu中的所述端口类型对应的vmd功能。
21.优选的,还包括:
22.若所述待测设备不为nvme硬盘,则发送关闭指令给所述控制器,以便所述控制器不启动与所述待测设备连接的所述连接器对应的cpu中的vmd功能。
23.优选的,确定与所述待测设备连接的所述连接器对应的cpu的地址信息,包括:
24.获取各个所述cpu的外围电路生成的地址信号;
25.根据各个所述地址信号和所述在位信号确定与所述待测设备连接的所述连接器对应的cpu的地址信息。
26.本技术还提供一种vmd功能启动装置,包括:
27.存储器,用于存储计算机程序;
28.cpld,用于执行所述计算机程序时实现如上述的vmd功能启动方法的步骤。
29.本技术还提供一种服务器,包括控制器、n个cpu和n个连接器,还包括如上述的vmd功能启动装置,所述cpu与所述连接器一一对应,n为正整数;
30.n个所述cpu与自身对应的所述连接器连接;
31.所述控制器分别与n个所述cpu连接;
32.所述控制器以及n个所述连接器均与所述vmd功能启动装置连接。
33.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的vmd功能启动方法的步骤。
34.本发明提供了一种vmd功能启动方法及其相关组件,涉及硬盘管理领域,当检测到待测设备与任一个连接器连接后生成的在位信号时,判断待测设备是否为nvme硬盘,若待测设备是nvme硬盘,则确定与待测设备连接的连接器对应的cpu的地址信息,然后将在位信号和地址信息发送给控制器,以便控制器启动与待测设备连接的连接器对应的cpu中的vmd功能。通过先判断接入的设备是否为nvme硬盘,当其为nvme盘时再启动vmd功能的方法,能够保证只有在待测设备为nvme硬盘时才会开启vmd功能,避免由于默认启动vmd功能而导致的连接到该连接器的非nvme硬盘设备出现错误的问题。
附图说明
35.为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本技术提供的一种vmd功能启动方法的流程图;
37.图2为本发明提供的一种服务器的结构示意图;
38.图3为本技术提供的一种硬盘信号的电平示意图;
39.图4为本技术提供的一种vmd功能启动装置的结构示意图;
40.图5为本技术提供的另一种服务器的结构示意图。
具体实施方式
41.本发明的核心是提供一种vmd功能启动方法及其相关组件,能够保证只有在待测设备为nvme硬盘时才会开启vmd功能,避免由于默认启动vmd功能而导致的连接到该连接器的非nvme硬盘设备出现错误的问题。
42.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.请参照图1,图1为本技术提供的一种vmd功能启动方法的流程图,应用于服务器中的cpld,服务器中还包括控制器、n个cpu和n个连接器,cpu和连接器一一对应,n为正整数,vmd功能启动方法包括:
44.s1:当检测到待测设备与任一个连接器连接后生成的在位信号时,判断待测设备是否为nvme硬盘;
45.vmd功能是一种支持通过pcie总线对nvme固态硬盘进行热升级和更换的功能;此外,另一个被称为vroc(virtual raid on cpu)的功能也是一种服务器中较为重要的功能之一,是借助cpu实现raid功能的上层管理方案,而为了使用该vroc功能则必须要先打开vmd功能,因此,当nvme硬盘插入服务器时需要打开vmd功能。
46.目前有两种vmd功能的配置方法,其中一种即为根据nvme硬盘常用的带宽端口,将cpu中的对应于该带宽端口的vmd功能设置为持续打开,只要nvme硬盘插入服务器的硬盘背板并使用该带宽端口时,则实现了vmd功能打开的目的,例如,目前市面上的nvme硬盘通常使用的是pcie x4的带宽端口,将cpu中的配置在pcie x4带宽端口上的vmd功能设置为持续打开,但是,实际使用场景中可能会出现使用x4带宽端口的设备并非为nvme硬盘的情况,此时vmd功能的打开可能会导致该设备的使用出现问题;另一种vmd功能的配置方法为服务器在开机后,等待所有使用pcie带宽端口的设备均启动后,在bios页面中遍历各个使用pcie带宽端口的设备,人工从这些使用pcie带宽端口的设备中找出nvme固态硬盘,并手动修改相关的vmd功能选项,修改完毕后还需要将服务器关机重启,才能实现vmd功能的启动,其效率较低而且步骤比较繁琐。
47.在服务器中,可以简单地分为服务器主板和硬盘背板两大区域,请参照图2,图2为本发明提供的一种服务器的结构示意图,服务器主板上设置有控制器、多个cpu、i2c接口以及pcie接口等部件,而硬盘背板上设置主要有cpld(complex programmable logic device,复杂可编程逻辑器件)、i2c接口、pcie接口以及硬盘插口等部件,其中,双方的pcie接口以及i2c接口通过cable连接,这些接口构成本技术的连接器,硬盘插口采用8639conn接口以便设备能够从此接口连接到服务器中。具体的,nvme硬盘在连接到服务器上时,nvme硬盘插入硬盘背板上的硬盘插口,硬盘插口通过对应的连接器连通对应的cpu,当cpu和nvme硬盘都正常在位后,后续该cpu就能正常开启vmd功能,由于cpu支持的带宽范围较广,所以在实际应用中,可以根据实际使用的cpu来设计连接器,连接器中可以包括多个pcie的
连接接口,以便这些连接接口一一对应与nvme硬盘连接,从而实现一个cpu对应多个nvme硬盘的目的。此外,控制器具体包括bmc(baseboard management controller,基板管理控制器)和pch(platform controller hub,集成南桥),bmc与pch之间的连接关系随着服务器类型的不同而不同,例如,当服务器类型为intel whitely时,pch与bmc间通过lpc总线连接,当服务器类型为intel eagle stream时,pch与bmc间通过espi总线通信,pch负责控制各个cpu的vmd功能是否打开,bmc主要起到中间转接的作用,使用服务器中现有的i2c连接cpld,以实现cpld与pch进行通信的目的,无需修改硬件设计。
48.本技术中,为了避免使用某个pcie带宽端口的设备并非nvme硬盘时开启vmd功能的情况,配置在cpu中的vmd功能默认均为关闭状态,当检测到有新的待测设备插入某个连接器时,首先需要确定该待测设备是否为nvme硬盘,只要在确定了待测设备是nvme硬盘之后才会执行后续步骤,否则,若待测设备并未nvme硬盘而是其他设备,保持vmd功能的关闭,以避免该设备的使用出现问题。
49.s2:若待测设备是nvme硬盘,则确定与待测设备连接的连接器对应的cpu的地址信息;
50.在确定了待测设备是nvme硬盘之后,则需要开启该nvme硬盘所连接的cpu处的vmd功能,而为了开启该cpu的vmd功能,首先需要确定该nvme硬盘与服务器中的哪个cpu连接,基于此,可以预先为服务器中的各个cpu设定其唯一标识符,使得每个cpu均有其唯一能够标识其身份的某种信息,然后根据各个cpu的唯一标识符再对各个cpu对应的连接器设定其唯一标识符,在确定了待测设备是nvme硬盘之后,由于nvme硬盘在于cpu连通后会产生在位信号,所以此时cpld可以检测各个连接器处或者各个cpu处是否有该在位信号存在,在确定了某个连接器处或者某个cpu处存在该在位信号时,则获取该处的唯一标识符,此时则相当于获取到了与该nvme硬盘连接的cpu的地址信息。
51.s3:将在位信号和地址信息发送给控制器,以便控制器启动与待测设备连接的连接器对应的cpu中的vmd功能。
52.cpld在确定了nvme硬盘在位并确定了该nvme硬盘对应的cpu后,通过i2c接口将nvme硬盘的在位信息以及该cpu的地址信息发送给服务器主板上的控制器,通过nvme硬盘的在位信息,控制器能够得知服务器上有nvme硬盘插入,需要启动vmd功能;通过cpu的地址信息,控制器能够得知具体需要开启vmd功能的cpu。基于此,cpld将在位信号和地址信息发送给控制器后,控制器就能够启动对应的cpu的vmd功能;由于控制器会在知道待测设备是nvme硬盘后才打开vmd功能,能够有效避免待测设备并非nvme硬盘时打开vmd功能所带来的错误;其次,由于确定nvme硬盘的方法是通过pch、bmc以及cpld组合完成,在服务器开机时,cpld已经完成待测设备的确定,不需要再在服务器上遍历各个使用pcie带宽端口的设备,进而也不需要人工从这些使用pcie带宽端口的设备中找出nvme固态硬盘,较大地提高了效率。
53.综上,当检测到待测设备与任一个连接器连接后生成的在位信号时,判断待测设备是否为nvme硬盘,若待测设备是nvme硬盘,则确定与待测设备连接的连接器对应的cpu的地址信息,然后将在位信号和地址信息发送给控制器,以便控制器启动与待测设备连接的连接器对应的cpu中的vmd功能。通过先判断接入的设备是否为nvme硬盘,当其为nvme盘时再启动vmd功能的方法,能够保证只有在待测设备为nvme硬盘时才会开启vmd功能,避免由
于默认启动vmd功能而导致的连接到该连接器的非nvme硬盘设备出现错误的问题。
54.在上述实施例的基础上,
55.作为一种优选的实施例,在判断待测设备是否为nvme硬盘,包括:
56.获取cpld自身的ifdet信号端处的电平和prsnt信号端的电平;
57.判断ifdet信号端是否为低电平且prsnt信号端为高电平;
58.若均是,则判定待测设备是nvme硬盘。
59.为了准确地判断待测设备是否为nvme硬盘,本技术中,考虑到不同的待测设备在插入相同的接口时,待测设备两两之间产生的各个信号电平均不完全相同,所以可以根据其信号电平来判断待测设备是否为nvme硬盘。具体的,请参照图3,图3为本技术提供的一种硬盘信号的电平示意图,可见,当没有待测设备插入时,ifdet信号端和prsnt信号端处均为高电平;当非nvme硬盘插入时,如sata(serial advanced technology attachment,串行高级技术附件)硬盘或sas(serial attached scsi,串行连接scsi)硬盘插入式,ifdet信号端和prsnt信号端处均为低电平;只有当ifdet信号端处为低电平且prsnt信号端处为高电平时,才能说明待测设备是nvme硬盘。可见,通过检测ifdet信号端和prsnt信号端处的电平的方式,能够准确地判断待测设备是否为nvme硬盘。
60.作为一种优选的实施例,若ifdet信号端为高电平且prsnt信号端为高电平,则判定待测设备故障。
61.为了简单地判断待测设备是否故障,本技术中,考虑到待测设备发生故障时,待测设备通常会失去响应或者失去正常工作的能力;此外,由于当没有待测设备插入时,ifdet信号端和prsnt信号端处均为高电平,所以,在待测设备插入之后,若发现ifdet信号端和prsnt信号端处仍均为高电平,也即即使有待测设备插入的前提下,仍未检测到有待测设备插入,在确定了服务器本身正常以及接口正常的前提下,此时则能够说明待测设备故障。基于此,能够简单地判断待测设备是否故障。
62.作为一种优选的实施例,在判断待测设备是否为nvme硬盘之前,还包括:
63.当接收到在位检测信号时,获取各个连接器处的接口信号;
64.当检测到任一个连接器处的接口信号为在位信号时,进入检测到待测设备与任一个连接器连接后生成的在位信号的步骤。
65.为了确定是否有待测设备插入,本技术中,可以预先在服务器主板上的bios程序中将vmd配置界面设置为打开、关闭或自动三种模式,打开模式即为持续打开的模式,关闭模式为持续关闭的模式,而自动模式即为本技术需要的模式,当选择自动模式后,服务器在启动过程中,通过向bmc发出需要读取nvme硬盘在位信息的信号,bmc收到该信号后,通过i2c总线向硬盘背板上的cpld发出需要读取nvme硬盘在位信息的信息,cpld此时则读取各个连接器处的接口信号,根据接口信号判断是否有待测设备在位,以便在检测到有待测设备在位后,确定其是否为nvme硬盘,并根据nvme硬盘的在位信号及addr信号确定出nvme硬盘对应的cpu的地址信息并发给bmc。
66.作为一种优选的实施例,在将在位信号和地址信息发送给控制器之前,还包括:
67.确定待测设备的端口类型;
68.将在位信号和地址信息发送给控制器,包括:
69.将在位信号、地址信息和端口类型发送给控制器,以便控制器启动与待测设备连
接的连接器对应的cpu中的端口类型对应的vmd功能。
70.为了准确地开启vmd功能,本技术中,cpu中通常配置多套vmd功能,在该cpu所支持的各种带宽端口类型上均配置有vmd功能以支持更多款式和型号的硬盘,考虑到通常使用的nvme硬盘所使用的带宽端口类型是固定的,为了节省cpu的资源开销,可以仅开启该nvme硬盘所使用的带宽端口类型上的vmd功能。基于此,在确定了待测设备为nvme硬盘之后,还需要确定该nvme硬盘所使用的带宽端口的类型,并将其使用的带宽端口类型连同在位信号和地址信息一并发送给控制器,以便服务器仅控制该cpu中的该带宽端口类型上的vmd功能。例如,目前nvme硬盘通常使用的带宽端口类型为pcie x4端口,将在在位信号、地址信息和端口类型发送给控制器后,控制器控制该cpu中的配置在pcie x4端口上的vmd功能打开,而其他的如pcie x16上的vmd功能则不打开。基于此,能够准确地开启vmd功能,节省cpu的资源开销。
71.作为一种优选的实施例,若所述待测设备不为nvme硬盘,则发送关闭指令给所述控制器,以便所述控制器不启动与所述待测设备连接的所述连接器对应的cpu中的vmd功能。
72.为了避免发生错误,本技术中,考虑到实际使用场景中可能会出现与连接器连通的待测设备并非为nvme硬盘的情况,由于vmd功能是一种专门用于给nvme硬盘服务的一种功能,其他设备通常不支持或者不兼容vmd功能,此时vmd功能的打开可能会导致该设备的使用出现问题,例如vmd功能会使得该设备的逻辑出现错乱或者使该设备无法正常工作等情况。因此,在确定了待测设备并非nvme硬盘之后,需要通知控制器,以使得控制器得知此时插入到某个连接接口上的待测设备并非是nvme硬盘,然后控制器则会保持该待测设备对应的cpu中的vmd功能的关闭,以避免该设备的使用出现问题,进一步的,还可以持续监控该待测设备的在位情况,当该待测设备移出连接接口时,也即该待测设备从服务器上拔出时,cpld可以发送指令通知控制器该连接接口空闲,以便控制器得知该待测设备离开,进入随时控制vmd功能打开或保持关闭的状态。基于此,在待测设备并非nvme硬盘时保持vmd功能的关闭,能够避免避免发生错误。
73.作为一种优选的实施例,确定与待测设备连接的连接器对应的cpu的地址信息,包括:
74.获取各个cpu的外围电路生成的地址信号;
75.根据各个地址信号和在位信号确定与待测设备连接的连接器对应的cpu的地址信息。
76.为了简单地获取cpu的地址信号,本技术中,考虑到对于一个完整的电路或者对于一个完整的处理系统而言,电路中包含的并非只有cpu,而是除了cpu之外,电路中通常还设置有cpu对应的外围电路,通过这些外围电路来帮助或者辅助cpu实现某些功能,例如供电、复位、提供时钟或者整流等功能,所以,为了减小cpu的资源消耗,可以使用其外围电路来实现确定地址信息的目的。具体的,在确定了待测设备为nvme硬盘之后,为了开启该nvme硬盘对应的vmd功能,考虑到在各个cpu的外围电路中,通常都配置有上拉电阻与下拉电阻的组合,所以可以预先设定好各个cpu对应的地址信息,然后通过该上下拉电阻的组合生成包含了该cpu的地址信息的addr信号,将该addr信号经过连接器传送到cpld处,以便cpld得知该nvme硬盘对应的cpu的地址信息。基于此,通过上下拉电阻组合的方式生成地址信号,能够
使cpld简单地获取cpu的地址信号,同时还减少了该cpu的资源消耗。
77.请参照图4,图4为本技术提供的一种vmd功能启动装置的结构示意图,包括:
78.存储器21,用于存储计算机程序;
79.cpld22,用于执行计算机程序时实现如上述的vmd功能启动方法的步骤。
80.对于本技术提供的一种vmd功能启动装置的详细介绍,请参照上述vmd功能启动方法的的实施例,本技术在此不再赘述。
81.当检测到待测设备与任一个连接器连接后生成的在位信号时,判断待测设备是否为nvme硬盘,若待测设备是nvme硬盘,则确定与待测设备连接的连接器对应的cpu的地址信息,然后将在位信号和地址信息发送给控制器,以便控制器启动与待测设备连接的连接器对应的cpu中的vmd功能。通过先判断接入的设备是否为nvme硬盘,当其为nvme盘时再启动vmd功能的方法,能够保证只有在待测设备为nvme硬盘时才会开启vmd功能,避免由于默认启动vmd功能而导致的连接到该连接器的非nvme硬盘设备出现错误的问题。
82.请参照图5,图5为本技术提供的一种服务器的结构示意图,包括控制器31、n个cpu32和n个连接器33,还包括如上述的vmd功能启动装置34,cpu32与连接器33一一对应,n为正整数;
83.n个cpu32与自身对应的连接器33连接;
84.控制器分别与n个cpu32连接;
85.控制器31以及n个连接器33均与vmd功能启动装置34连接。
86.对于本技术提供的一种服务器的详细介绍,请参照上述vmd功能启动方法的实施例,本技术在此不再赘述。
87.当检测到待测设备与任一个连接器连接后生成的在位信号时,判断待测设备是否为nvme硬盘,若待测设备是nvme硬盘,则确定与待测设备连接的连接器对应的cpu的地址信息,然后将在位信号和地址信息发送给控制器,以便控制器启动与待测设备连接的连接器对应的cpu中的vmd功能。通过先判断接入的设备是否为nvme硬盘,当其为nvme盘时再启动vmd功能的方法,能够保证只有在待测设备为nvme硬盘时才会开启vmd功能,避免由于默认启动vmd功能而导致的连接到该连接器的非nvme硬盘设备出现错误的问题。
88.本技术还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的vmd功能启动方法的步骤。
89.对于本技术提供的一种计算机可读存储介质的详细介绍,请参照上述vmd功能启动方法的的实施例,本技术在此不再赘述。
90.当检测到待测设备与任一个连接器连接后生成的在位信号时,判断待测设备是否为nvme硬盘,若待测设备是nvme硬盘,则确定与待测设备连接的连接器对应的cpu的地址信息,然后将在位信号和地址信息发送给控制器,以便控制器启动与待测设备连接的连接器对应的cpu中的vmd功能。通过先判断接入的设备是否为nvme硬盘,当其为nvme盘时再启动vmd功能的方法,能够保证只有在待测设备为nvme硬盘时才会开启vmd功能,避免由于默认启动vmd功能而导致的连接到该连接器的非nvme硬盘设备出现错误的问题。
91.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说
明即可。
92.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
93.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
94.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1