一种智能加速卡的控制方法、服务器及智能加速卡与流程

文档序号:29250623发布日期:2022-03-16 02:09阅读:171来源:国知局
一种智能加速卡的控制方法、服务器及智能加速卡与流程

1.本技术涉及信息技术领域,尤其涉及一种智能加速卡的控制方法、服务器及智能加速卡。


背景技术:

2.随着搜索引擎、云计算、互联网零售、web 2.0、移动设备、网络游戏等的快速发展,使网络通信量达到前所未有的高度。而智能加速卡作为可直接插入所有商用服务器或网络设备(如:vpn、utm、ids、流量控制、负载均衡、防火墙、安全审计、舆情监测、信令监测等)的产品,将提供10倍的i/o性能且具有更低的成本,得到了广泛的应用。
3.而在智能加速卡与服务器比如商用x86服务器上使用时,一般要求可以支持多板卡插入和使用。但是在对独立板卡进行管理和控制时,有的需要服务器额外的硬件管脚即通用输入/输出(general-purpose input/output,gpio)接口的支持,有的必须要支持系统管理总线,有的需要额外扩展增加外置芯片进行控制,导致管理控制复杂高,管理成本较高。


技术实现要素:

4.本技术实施例提供了一种智能加速卡的控制方法、装置、服务器及智能加速卡,能够方便有效地对多个智能加速卡进行管理,且摆脱了服务器的硬件管脚限制,并保证了智能加速卡可靠性和稳定性。
5.第一方面,本技术提供一种智能加速卡的控制方法,应用于服务器,包括:获取卡控制信息,卡控制信息包括卡控制指令和卡版本文件;向智能加速卡发送第一启动模式切换指令,第一启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到pcie启动模式;当检测到pcie总线通信正常时,执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件,智能加速卡与服务器通过pcie总线通信连接;向智能加速卡的预定寄存器发送第二启动模式切换指令,第二启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到存储启动模式。
6.在本技术实施例中,服务器在获取到卡控制信息后,控制智能加速卡的预定寄存器实现启动模式的切换,将智能加速卡的启动模式切换为pcie启动模式,并在该模式下执行卡控制指令,同时通过pcie总线将数据较大的卡版本文件传输到智能加速卡中,可以使得智能加速卡能够应用在不同的服务器上,不受限于服务器的硬件接口,可以在不依赖服务器的gpio接口或系统管理总线的情形下,通过服务器的协助也能够有效地实现对智能加速卡的控制和控制,并保证了对智能加速卡控制的可靠性和稳定性。
7.具体的,预定寄存器在pcie总线域的地址由服务器分配给智能加速卡的pcie基地址和pcie总线域至智能加速卡的总线协议预定域的入站映射共同决定。
8.优选的,在向智能加速卡发送第一启动模式切换指令之后,还包括:
9.向智能加速卡的第一复位寄存器发送复位指令。
10.在本技术实施例中,服务器在向智能加速卡发送第一启动模式切换指令之后,通过第一复位寄存器实现对智能加速卡的复位操作,以确保智能加速卡真正地切换到pcie启动模式,可以在智能加速卡刷机或升级过程中,减少异常中断、死机等问题的出现,保证刷机或升级操作的顺利完成,提高了对智能加速卡控制的可靠性和稳定性。
11.优选的,在向智能加速卡的预定寄存器发送第二启动模式切换指令之后,包括:
12.向智能加速卡的第一复位寄存器发送复位指令。
13.在本技术实施例中,在服务器向智能加速卡的预定寄存器发送第二启动模式切换指令之后,向智能加速卡的第一复位寄存器发送复位指令,是为了确保在对智能加速卡进行刷机操作之后能够正常工作,将智能加速卡的启动模式切换为存储启动模式,避免智能加速卡实际上仅是改变了切换模式的值而并未真正切换到存储启动模式的情况,保证智能加速卡能够进行正常业务,提高了对智能加速卡控制的可靠性和稳定性。
14.优选的,当所述智能加速卡与所述服务器还通过系统管理总线通信连接时,在所述向所述智能加速卡发送第一启动模式切换指令之后,还包括:
15.当检测到pcie总线通信异常时,通过系统管理总线向所述智能加速卡发送预设命令,所述预设命令用于指示所述智能加速卡将启动模式切换到pcie启动模式,并通过第二复位寄存器恢复pcie通信;
16.当查询到所述智能加速卡的启动模式已切换到pcie启动模式,且pcie通信恢复正常时,执行所述卡控制指令,并通过pcie总线向所述智能加速卡发送卡版本文件。
17.本技术实施例通过系统管理总线向智能加速卡发送预设命令以实现对pcie通信的恢复和将智能加速卡的启动模式切换到pcie启动模式,实现了在pcie通信异常的情况能够实现对智能加速卡的管理和控制,提高了对智能加速卡控制的稳定性和可靠性。
18.第二方面,本技术提供另一种智能加速卡的控制方法,应用于智能加速卡,包括:接收服务器发送的第一启动模式切换指令,并根据第一启动模式切换指令指示预定寄存器将启动模式切换到pcie启动模式,智能加速卡和服务器通过pcie总线通信连接;接收服务器发送卡版本文件,并存储卡版本文件;接收服务器发送的第二启动模式切换指令,并根据第一启动模式切换指令指示预定寄存器将启动模式切换到存储启动模式。
19.第三方面,本技术提供一种智能加速卡的控制装置,应用于服务器,包括:
20.信息获取单元,用于获取卡控制信息,卡控制信息包括卡控制指令和卡版本文件;
21.第一启动模式切换指令发送单元,用于向智能加速卡发送第一启动模式切换指令,第一启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到pcie启动模式;
22.第一卡控制单元,用于当检测到pcie总线通信正常时,执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件,智能加速卡与服务器通过pcie总线通信连接;
23.第二启动模式切换指令发送单元,用于向智能加速卡的预定寄存器发送第二启动模式切换指令,第二启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到存储启动模式。
24.第四方面,本技术提供另一种智能加速卡的控制装置,应用于智能加速卡,包括:
25.第一启动模式切换指令接收及处理单元,用于接收服务器发送的第一启动模式切换指令,并根据第一启动模式切换指令指示预定寄存器将启动模式切换到pcie启动模式;
26.第一卡版本文件接收单元,用于接收服务器发送的卡版本文件,并存储卡版本文件;
27.第二启动模式切换指令接收及处理单元,用于接收服务器发送的第二启动模式切换指令,并根据第一启动模式切换指令指示预定寄存器将启动模式切换到存储启动模式。
28.第五方面,本技术提供一种服务器,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任意可选方式所述的方法。
29.第六方面,本技术提供一种智能加速卡,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第二方面或第二方面的任意可选方式所述的方法。
30.第七方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面、第一方面的任意可选方式所述的方法、第二方面或第二方面的任意可选方式所述的方法。
31.第八方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在智能加速卡的控制设备上运行时,使得服务器执行上述第一方面所述的智能加速卡的控制方法的步骤,或使得智能加速卡执行上述第二方面所述的智能加速卡的控制方法的步骤。
32.可以理解的是,上述第二方面至第八方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
33.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
34.图1是本技术实施例提供的一种智能加速卡的控制方法的流程示意图;
35.图2是本技术实施例提供的一种智能加速卡的控制的交互示意图;
36.图3是本技术实施例提供的另一种智能加速卡的控制方法的流程示意图;
37.图4是本技术实施例提供的另一种智能加速卡的控制方法的流程示意图;
38.图5是本技术实施例提供的另一种智能加速卡的控制的交互示意图;
39.图6是本技术实施例提供的另一种智能加速卡的控制方法的流程示意图;
40.图7是本技术实施例提供的一种智能加速卡的控制装置的结构示意图;
41.图8是本技术实施例提供的一种智能加速卡的控制装置的结构示意图;
42.图9是本技术实施例提供的一种服务器的结构示意图;
43.图10是本技术实施例提供的一种智能加速卡的结构示意图。
具体实施方式
44.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电
路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
45.应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
46.还应当理解,在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
47.实施例一
48.实施例一中提及的服务器为没有嵌入式管理微控制器,也没有多余的gpio接口和智能加速卡进行连接和控制,仅有高速串行计算机扩展总线标准(peripheral component interconnect express,pcie,)接口。在这种情况下,如果该服务器需要支持多个智能加速卡的适配,方便用户后续对多个智能加速卡进行独立的管理控制比如刷机、升级、异常管理等,是比较困难的。
49.通过本技术实施例提供的智能加速卡的控制方法,可以不依赖服务器gpio接口数量的限制,并在服务器侧完成对多个智能加速卡中的任意一个或多个智能加速卡进行控制,比如刷机、升级。
50.在本技术实施例中,为了实现服务器对智能加速卡的访问,在智能加速卡内设有预定寄存器pcie_host_bootmode,该预定寄存器在pcie总线域的地址由服务器分配给智能加速卡的pcie基地址,以及pcie总线域至智能加速卡的总线协议比如(advanced extensible interface,axi)域的入站inbound映射共同决定,比如预定寄存器被配置映射到预定空间比如pcie bar0空间,从而可以被服务器host访问。
51.在本技术的一些实施例中,智能加速卡内设有地址映射模块,该地址映射模块用于设置pcie总线域地址到智能加速卡的预定域比如axi域的地址映射。在该预定域的地址域上配置有第一复位寄存器pcie_hot_reset,通过该第一复位寄存器pcie_hot_reset,可以将智能加速卡的启动模式切换为pcie启动模式或存储启动模式,以实现对智能加速卡的控制。
52.在本技术实施例中,服务器可以通过访问接口以对第一复位寄存器进行操作,发起复位动作,通过所发起的复位动作实现智能加速卡的复位操作。
53.当inbound映射被配置时,可以依据被配置好的inbound映射确定预定寄存器的pcie总线域地址。
54.具体的,在智能加速卡的设备驱动将预定寄存器的pcie总线域地址映射到cpu虚拟地址空间后,智能加速卡通过其提供的访问接口,可以被服务器访问。
55.请参见图1和图2,图1是本技术实施例提供的一种智能加速卡的控制方法的流程示意图,该方法应用于服务器;图2是本技术实施例提供的一种智能加速卡的控制的交互示意图,结合图2对图1提供的智能加速卡的控制方法进行详细描述,具体如下:
56.步骤s101,获取卡控制信息,卡控制信息包括卡控制指令和卡版本文件。
57.在本技术实施例中,卡控制信息用于指示服务器对多个智能加速卡中的任意一个或多个进行管理和控制,包括但不限于智能加速卡刷机、智能加速卡升级、智能加速卡异常管理等。
58.卡控制信息中包括卡控制指令和卡版本文件,卡控制指令包括刷机指令、升级指令、异常恢复指令等。卡版本文件包括刷机版本文件、升级版本文件等等。
59.需要说明的是,为了能够确认是对哪个智能加速卡进行管理和控制,卡控制信息中还包括智能加速卡的卡标识,卡标识可以是智能加速卡的设备地址等。
60.在本技术的一些具体实施例中,卡控制信息为指示服务器对多个智能加速卡中的一个智能加速卡进行刷机操作的信息。
61.在本技术的另一些具体实施例中,卡控制信息为指示服务器对多个智能加速卡中的一个智能加速卡进行升级操作的信息。
62.当用户在服务器这一侧对智能加速卡进行刷机操作或升级操作时,服务器获取到对应的卡控制信息,并检测到存储在服务器这一侧的用于对智能加速卡进行控制操作的相关信息,比如智能加速卡的刷机版本文件或升级版本文件。
63.在本技术的另一些具体实施例中,卡控制信息为指示服务器对多个智能加速卡中的一个智能加速卡进行复位操作的信息。智能加速卡在获取到复位操作操作指令,比如某一智能加速卡出现异常需要复位时,向智能加速卡的第一复位寄存器发送复位操作指令,指示智能加速卡完成复位操作。
64.卡控制信息可以由用户输入的相关指令比如刷机、升级后生成,也可以是服务器在检测到智能加速卡发生异常后自动生成,这里不做具体限定。
65.步骤s102,向智能加速卡发送第一启动模式切换指令,第一启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到pcie启动模式。
66.在本技术实施例中,第一启动模式切换指令可以是用户在服务器向预定寄存器pcie_host_bootmode写入指定值比如1后生成。当智能加速卡的预定寄存器接收到第一启动模式切换指令后,通知管脚控制器将启动模式切换到pcie启动模式。
67.在实际应用中,一般通过存储启动模式启动智能加速卡。然而,当智能加速卡内部存储的软件版本出现异常或者智能加速卡出现故障时,需要通过存储启动模式启动智能加速卡以完成刷机操作或升级操作时,如果还是以存储启动方式启动智能加速卡,在智能加速卡刷机或升级过程中,可能会出现异常中断、死机等问题,无法保证刷机或升级操作的顺利完成,为了避免出现这一问题,本技术实施例通过第一启动模式切换指令,将智能加速卡的启动模式切换为pcie启动模式,使得服务器在智能加速卡处于pcie启动模式下,通过pcie总线将刷机或升级所用到的软件版本从服务器传输到智能加速卡,从而保证智能加速卡刷机或升级的可靠性和稳定性。
68.在本技术实施例中,服务器在获取卡控制信息后,通过pcie总线向智能加速卡的预定寄存器发送第一启动模式切换指令,使得智能加速卡在接收到第一启动模式切换指令之后,将智能加速卡的启动模式从存储启动模式切换到pcie启动模式,以便于智能加速卡能够接收pcie总线传输的卡控制信息,从而达到在服务器上实现对智能加速卡控制的目的,在不依赖服务器的硬件引脚比如gpio接口/系统管理总线的情况下,也可以做到对各个
智能加速卡的控制,比如可以独立刷机,升级,复位异常管理等。
69.在实际应用中,智能加速卡在接收第一启动模式切换指令后,可能仅改变启动模式的指令值,实际上智能加速卡的启动模式并未真正的由存储启动模式转换为pcie启动模式,也即pcie总线连接并未正常复位,这时智能加速卡和服务器之间并不能通过pcie总线通信连接。这时,为了确保智能加速卡的启动模式已切换为pcie启动模式,需要服务器向智能加速卡的第一复位寄存器pcie_hot-reset发送复位指令,以确保智能加速卡的启动模式已切换到pcie启动模式,也即发送该复位指令的目的是为了确保在对智能加速卡进行刷机操作时,智能加速卡的启动模式为pcie启动模式,避免智能加速卡实际上仅是改变了切换模式的值而并未真正切换到pcie启动模式的情况,保证对智能加速卡控制的可靠性和稳定性。
70.第一复位寄存器在接收到复位指令后,向智能加速卡发起复位操作,对除预定寄存器之外的所有模块进行复位操作,也即预定寄存器禁止执行第一复位指令,避免因对预定寄存器进行复位操作后无法在服务器这一侧实现对智能加速卡的控制。
71.步骤s103,当检测到pcie总线通信正常时,执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件,智能加速卡与述服务器通过pcie总线通信连接。
72.在本技术实施例中,服务器在向智能加速卡的预定寄存器发送第一启动模式切换指令后,检测pcie总线通信是否正常,以确保是否可以通过pcie总线向智能加速卡发送卡版本文件,当pcie总线通信正常时,执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件,以实现对智能加速卡进行管理和控制。比如当服务器检测到pcie总线通信正常时,启动脚本执行刷机指令或升级指令,将刷机版本文件或升级版本文件通过pcie总线域地址传输到对应智能加速卡的存储器比如内嵌式存储器(embedded multi media card,emmc)中。
73.需要说明的是,执行卡控制管理指令时,智能加速卡的管脚控制器bootmode的启动模式须为pcie启动模式,使得卡版本文件能够通过pcie总线传输到智能加速卡中,并避免服务器在执行如刷机指令、升级指令等卡控制指令时智能加速卡出现死机、卡顿等异常情况,保证对智能加速卡控制的稳定性和可靠性。
74.步骤s104,向智能加速卡的预定寄存器发送第二启动模式切换指令,第二启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到存储启动模式。
75.在本技术实施例中,服务器在通过执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件之后,完成了对智能加速卡的控制和控制,比如完成了智能加速卡的刷机操作或升级操作,后续智能加速卡就可以以刷机或升级后的版本进行相关工作。然而在pcie启动模式下,是将服务器这一侧的智能加速卡版本文件通过pcie总线传输到智能加速卡,实现智能加速卡的卡版本文件更新,完成刷机操作或升级操作。
76.为了保证智能加速卡能在完成刷机操作或升级操作后正常工作,需要将智能加速卡的启动模式切换到存储启动模式,使得智能加速卡能够从智能加速卡的存储比如emmc启动以进行正常业务。
77.在本技术的一些实施例中,在向智能加速卡的预定寄存器发送第二启动模式切换指令之后,向智能加速卡的第一复位寄存器发送复位指令以确保智能加速卡的启动模式已切换到存储启动模式。
78.在实际应用中,智能加速卡在接收第二启动模式切换指令后,可能仅改变启动模式的指令值,实际上智能加速卡的启动模式并未真正的由pcie启动模式转换为存储启动模式,也即存储emmc连接并未正常复位。这时,需要服务器向智能加速卡的第一复位寄存器发送复位指令,以确认智能加速卡的启动模式已切换到存储启动模式,也即发送该复位指令的目的是为了确保在对智能加速卡进行刷机操作之后能够正常工作,通过复位指令将智能加速卡的启动模式切换为存储启动模式,避免智能加速卡实际上仅是改变了切换模式的值而并未真正切换到存储启动模式的情况,保证智能加速卡能够进行正常业务,提高了对智能加速卡控制的可靠性和稳定性。
79.第一复位寄存器在接收到复位指令后,向智能加速卡发起复位操作,对除预定寄存器之外的所有模块进行复位操作,也即预定寄存器禁止执行复位指令,避免因对预定寄存器进行复位操作后无法在服务器这一侧实现对智能加速卡的控制。
80.在本技术的一个具体实施例中,服务器在获取到刷机指令后,向智能加速卡的预定寄存器发送第一启动模式切换指令,智能加速卡根据该第一启动模式切换指令,指示预定寄存器将启动模式切换为pcie启动模式。服务器向智能加速卡的第一复位寄存器发送复位指令,对智能加速卡进行复位操作,以确保智能加速卡在pcie启动模式下工作。服务器在检测到pcie通信正常时,执行刷机指令,并将存储在服务器侧的刷机版本文件通过pcie总线传输到智能加速卡的存储中。在刷机版本文件传输到智能加速卡的存储后,服务器向智能加速卡发送第二启动模式切换指令,指示智能加速卡将启动模式切换到存储启动模式,完成智能加速卡的刷机操作,使得智能加速卡能够进行正常业务。
81.在本技术的另一个具体实施例中,服务器在获取到升级指令后,向智能加速卡的预定寄存器发送第一启动模式切换指令,智能加速卡根据该第一启动模式切换指令,指示预定寄存器将启动模式切换为pcie启动模式。服务器向智能加速卡的第一复位寄存器发送复位指令,对智能加速卡进行复位操作,以确保智能加速卡在pcie启动模式下工作。服务器在检测到pcie通信正常时,执行升级指令,并将存储在服务器侧的升级版本文件通过pcie总线传输到智能加速卡的存储中。在升级版本文件传输到智能加速卡的存储后,服务器向智能加速卡发送第二启动模式切换指令,指示智能加速卡将启动模式切换到存储启动模式,完成智能加速卡的升级操作,使得智能加速卡能够进行正常业务。
82.在本技术实施例中,通过获取卡控制信息,卡控制信息包括卡控制指令和卡版本文件;向智能加速卡发送第一启动模式切换指令,第一启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到pcie启动模式;当检测到pcie通信正常时,执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件;向智能加速卡的预定寄存器发送第二启动模式切换指令,第二启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到存储启动模式,能够方便有效地对多个智能加速卡进行管理,可以使得智能加速卡能够应用在不同的服务器上,不受限与服务器的硬件接口,可以在不依赖服务器的gpio接口或系统管理总线,通过服务器的协助也能够有效地实现对智能加速卡的控制和控制,并保证了智能加速卡可靠性和稳定性。
83.请参见图3,图3是本技术实施例提供的另一种智能加速卡的控制方法的流程示意图,该方法应用于智能加速卡;结合图2对图1提供的智能加速卡的控制方法进行详细描述,具体如下:
84.步骤s301,接收服务器发送的第一启动模式切换指令,并根据第一启动模式切换指令指示预定寄存器将启动模式切换到pcie启动模式,智能加速卡和服务器通过pcie总线通信连接。
85.在本技术实施例中,智能加速卡的预定寄存器在接收到服务器发送的第一启动模式切换指令时,指示智能加速卡内的管脚控制器bootmode将启动模式切换到pcie启动模式下。
86.预定寄存器以及pcie启动模式的相关信息请参见图1实施例中的相关说明,这里不再赘述。
87.在步骤s301之后,智能加速卡还接收服务器发送的复位指令,指示第一复位寄存器pcie_hot_reset对智能加速卡进行复位操作。
88.步骤s302,接收服务器发送的卡版本文件,并存储卡版本文件。
89.在本技术实施例中,智能加速卡在接收到服务器发送的卡版本文件后,将该卡版本文件存储至智能加速卡的emmc中,以完成智能加速卡刷机、智能加速卡升级等操作。
90.步骤s303,接收服务器发送的第二启动模式切换指令,并根据第二启动模式切换指令指示预定寄存器将启动模式切换到存储启动模式。
91.在本技术实施例中,智能加速卡接收到服务器发送的第二启动模式切换指令后,指示预定寄存器将启动模式切换到存储启动模式,使得智能加速卡能够进行正常业务。
92.在本技术实施例中,通过智能加速卡内部的预定寄存器,使得智能加速卡能够接收服务器发送的指令及文件,从而在不需要增加服务器额外的gpio接口的情况下,可以对多个智能加速卡中的任意一个实现管理和控制,同时不影响其他智能加速卡的正常业务。
93.实施例二
94.本技术实施例中提及的服务器为有嵌入式管理微控制器和系统管理总线,除了标准的pcie接口,还可以通过系统管理总线和对应的智能加速卡相连,智能加速卡内置的mcu芯片可以解析系统管理总线报文,从而和服务器实现通信,可以让服务器对智能加速卡进行管理和控制,比如异常诊断、升级等操作。就算在pcie通信异常的情况下,也可以通过系统管理总线实现智能加速卡和服务器通信和握手,保证在pcie通信异常的情况下也能实现对智能加速卡的控制。
95.在本技术实施例中,为了实现服务器对智能加速卡的访问,在智能加速卡内设有预定寄存器pcie_host_bootmode,该预定寄存器在pcie总线域的地址由服务器分配给智能加速卡的pcie基地址,以及pcie总线域至智能加速卡的总线协议比如(advanced extensible interface,axi)域的入站inbound映射共同决定,比如预定寄存器被配置映射到预定空间比如pcie bar0空间,从而可以被服务器host访问。
96.在本技术的一些实施例中,智能加速卡内设有地址映射模块,该地址映射模块用于设置pcie总线域地址到智能加速卡的预定域比如axi域的地址映射。在该预定域的地址域上配置有第一复位寄存器pcie_hot_reset,通过该第一复位寄存器pcie_hot_reset,可以将智能加速卡的启动模式切换为pcie启动模式或存储启动模式,以实现对智能加速卡的控制。
97.在本技术实施例中,服务器可以通过访问接口以对第一复位寄存器进行操作,发起复位动作,通过所发起的复位动作实现智能加速卡的复位操作。
98.当inbound映射被配置时,可以依据被配置好的inbound映射确定预定寄存器的pcie总线域地址。
99.请参见图4和图5,图4是本技术实施例提供的另一种智能加速卡的控制方法的流程示意图,该方法应用于服务器;图5是本技术实施例提供的另一种智能加速卡的控制的交互示意图,结合图5对图4提供的智能加速卡的控制方法进行详细描述,具体如下:
100.步骤s401,获取卡控制信息,卡控制信息包括卡控制指令和卡版本文件。
101.步骤s402,向智能加速卡发送第一启动模式切换指令,第一启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到pcie启动模式。
102.步骤s403,当检测到pcie总线通信异常时,通过系统管理总线向智能加速卡发送预设命令,预设命令用于指示所述智能加速卡将启动模式切换到pcie启动模式,并通过第二复位寄存器恢复pcie通信。
103.在本技术实施例中,在pcie总线通信异常的情况下,智能加速卡在接收到预设命令后,通过内置的mcu芯片解析该预设命令,并根据该预设命令进行响应操作,通知智能加速卡这一侧的板卡管理软控制dbmsc单元将启动模式切换到pcie启动模式,并通知第二复位寄存器进行复位操作,以恢复pcie总线通信。
104.需要说明的是,预设命令可以是预先设定的,也可以是在检测到pcie总线通信异常时自动生成的,这里不做具体限定。
105.还需要说明的是,本技术实施例中对pcie进行控制,是在pcie总线能够正常通信的情况下实现的,当pcie总线通信无法恢复正常时,有可能是pcie接口出现了故障,这种情况下,无法再对智能加速卡进行控制,需要更换出现故障的pcie接口或pcie线。
106.在本技术实施例中,第二复位寄存器为智能加速卡中用于对智能加速卡进行复位操作的寄存器,该第二复位寄存器可以对智能加速卡的所有模块包括pcie寄存器进行复位,从而使得智能加速卡在pcie接口和pcie线正常的情况下恢复pcie通信。
107.步骤s404,当查询到智能加速卡的启动模式已切换到pcie启动模式,且pcie通信恢复正常时,执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件。
108.在本技术实施例中,服务器通过smbus总线查询智能加速卡的启动模式是否已切换到pcie启动模式,且pcie通信是否已恢复正常。当查询到智能加速卡的启动模式已切换到pcie启动模式,且pcie通信恢复正常时,服务器执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件,以实现对智能加速卡进行管理和控制。
109.在服务器通过pcie总线向智能加速卡发送卡版本文件后,服务器可以通过系统管理总线或pcie总线向智能加速卡发送第二启动模式切换指令,指示智能加速卡通过预定寄存器将启动模式切换到存储启动模式。
110.在本技术实施例中,服务器在通过执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件之后,完成了对智能加速卡的控制和控制,比如完成了智能加速卡的刷机操作或升级操作,后续智能加速卡就可以以刷机或升级后的版本进行相关工作。然而在pcie启动模式下,是将服务器这一侧的智能加速卡版本文件通过pcie总线传输到智能加速卡,为了保证智能加速卡能在完成刷机操作或升级操作后正常工作,需要将智能加速卡的启动模式切换到存储启动模式,使得智能加速卡能够从智能加速卡的存储比如emmc启动以进行正常业务。
111.在本技术的一些实施例中,在向智能加速卡的预定寄存器发送第二启动模式切换指令之后,向智能加速卡的第一复位寄存器发送复位指令,将智能加速卡的启动模式切换到存储启动模式。
112.在实际应用中,智能加速卡在接收第二启动模式切换指令后,可能仅改变启动模式的指令值,实际上智能加速卡的启动模式并未真正的由pcie启动模式转换为存储启动模式,也即emmc连接并未正常复位。这时,需要服务器向智能加速卡的第一复位寄存器发送复位指令,以确保智能加速卡的启动模式已切换到存储启动模式,也即发送第二复位指令的目的是为了确保在对智能加速卡进行刷机操作之后能够正常工作,智能加速卡的启动模式切换为存储启动模式,避免智能加速卡实际上仅是改变了切换模式的值而并未真正切换到存储启动模式的情况。
113.第一复位寄存器在接收到第二复位指令后,向智能加速卡发起复位操作,对除预定寄存器之外的所有模块进行复位操作,也即预定寄存器禁止执行第二复位指令,避免因对预定寄存器进行复位操作后无法在服务器这一侧实现对智能加速卡的控制和控制。
114.需要说明的是,每个智能加速卡具有唯一的地址(例如:slave地址),并且只能接收包含此地址的预设命令。若智能加速卡之间的预设命令中的地址发生冲突,可以通过系统管理总线地址解析协议为智能加速卡动态分配唯一的地址。
115.在本技术的一些实施例中,服务器还可以实现对智能加速卡进行健康管理和控制,比如对智能加速卡的温度、频率、电压、风扇状态等进行管理和控制。
116.在本技术的一些具体实施例中,服务器通过系统管理总线,获取智能加速卡的健康监控信息。当健康监控信息中包含有智能加速卡出现异常健康状态的信息,比如某个智能加速卡的温度很高接近不健康状态时,通过服务器的板卡管理软控制hbmsc单元对出现异常健康状态的智能加速卡进行监控;当出现异常健康状态的智能加速卡的健康值超出预设阈值,即智能加速卡的温度高于预设的温度阈值时,将该健康监控信息封装成温度报文,通过系统管理总线通知对应的智能加速卡,以便于该智能加速卡解析温度报文后,通知智能加速卡的板卡管理软控制dbmsc单元进行异常消除管理,比如降温、控制频率,核数,或者控制外置风扇等级等,并在健康值低于预设阈值,即满足健康状态的要求后,向服务器发送异常消除通知信息,服务器根据接收到的异常消除通知信息更新健康监控信息。
117.请参见图6,图6是本技术实施例提供的另一种智能加速卡的控制方法的流程示意图,该方法应用于智能加速卡;结合图5对图6提供的智能加速卡的控制方法进行详细描述,具体如下:
118.步骤s601,接收服务器发送的第一启动模式切换指令,并根据第一启动模式切换指令指示预定寄存器将启动模式切换到pcie启动模式。
119.在本技术的一些实施例中,在步骤s601之后,智能加速卡还接收服务器发送的第一复位指令,指示第一复位寄存器对智能加速卡进行复位操作。
120.步骤s602,接收服务器发送的预设命令,并根据预设命令将启动模式切换到pcie启动模式,并通过第二复位寄存器恢复pcie通信。
121.在本技术实施例中,智能加速卡在接收到服务器发送的预设命令,对该预设命令进行解析,根据解析结果进行相应响应,通知预定寄存器将启动模式切换到pcie启动模式,并通过第二复位寄存器恢复pcie通信。
122.步骤s603,接收服务器发送的卡版本文件,并存储卡版本文件。
123.步骤s604,接收服务器发送的第二启动模式切换指令,并根据第二启动模式切换指令指示预定寄存器将启动模式切换到存储启动模式。
124.需要说明的是,实施例二中的未进行说明的相关部分与实施例一中的相关说明一致,这里不再赘述。
125.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
126.基于上述实施例所提供的智能加速卡的控制方法,本技术实施例进一步给出实现上述方法实施例的装置实施例。
127.请参见图7,图7是本技术实施例提供的一种智能加速卡的控制装置的示意图。包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图7,智能加速卡的控制装置7包括:
128.信息获取单元71,用于获取卡控制信息,卡控制信息包括卡控制指令和卡版本文件;
129.第一启动模式切换指令发送单元72,用于向智能加速卡发送第一启动模式切换指令,第一启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到pcie启动模式;
130.第一卡控制单元73,用于当检测到pcie总线通信正常时,执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件,智能加速卡与服务器通过pcie总线通信连接;
131.第二启动模式切换指令发送单元74,用于向智能加速卡的预定寄存器发送第二启动模式切换指令,第二启动模式切换指令用于指示智能加速卡通过预定寄存器将启动模式切换到存储启动模式。
132.具体的,预定寄存器在pcie总线域的地址由服务器分配给智能加速卡的pcie基地址和pcie总线域至智能加速卡的总线协议预定域的入站映射共同决定。
133.优选的,智能加速卡的控制装置7,还包括:
134.第一复位指令发送单元,用于在向智能加速卡发送第一启动模式切换指令之后,向智能加速卡的第一复位寄存器发送复位指令。
135.优选的,智能加速卡的控制装置7,还包括:
136.第二复位指令发送单元,用于在向智能加速卡发送第二启动模式切换指令之后,向智能加速卡的第一复位寄存器发送复位指令。
137.优选的,预定寄存器禁止执行第一复位指令和第二复位指令。
138.优选的,智能加速卡的控制装置7,还包括:
139.第一pcie通信异常管理单元,用于当检测到pcie总线通信异常时,通过系统管理总线向智能加速卡发送预设命令,预设命令用于指示智能加速卡将启动模式切换到pcie启动模式,并通过第二复位寄存器恢复pcie通信;
140.第二卡控制单元,用于当查询到智能加速卡的启动模式已切换到pcie启动模式,且pcie通信恢复正常时,执行卡控制指令,并通过pcie总线向智能加速卡发送卡版本文件。
141.请参见图8,图8是本技术实施例提供的另一种智能加速卡的控制装置的示意图。包括的各单元用于执行图3对应的实施例中的各步骤。具体请参阅图3对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图8,智能加速卡的控制装置8包括:
142.第一启动模式切换指令接收及处理单元81,用于接收服务器发送的第一启动模式切换指令,并根据第一启动模式切换指令指示预定寄存器将启动模式切换到pcie启动模式,智能加速卡和服务器通过pcie总线通信连接;
143.第一卡版本文件接收单元82,用于接收服务器发送的卡版本文件,并存储卡版本文件;
144.第二启动模式切换指令接收及处理单元83,用于接收服务器发送的第二启动模式切换指令,并根据第二启动模式切换指令指示预定寄存器将启动模式切换到存储启动模式。
145.优选的,智能加速卡的控制装置8,还包括:
146.第二pcie通信异常管理单元,用于接收服务器发送的预设命令,并根据预设命令将启动模式切换到pcie启动模式,并通过第二复位寄存器恢复pcie通信;
147.第二卡版本文件接收单元,用于接收服务器发送的卡版本文件,并存储卡版本文件;
148.第三启动模式切换指令接收及处理单元,用于接收服务器发送的第二启动模式切换指令,并根据第二启动模式切换指令指示预定寄存器将启动模式切换到存储启动模式。
149.需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
150.图9是本技术实施例提供的服务器的示意图。如图9所示,该实施例的服务器9包括:处理器90、存储器91以及存储在存储器91中并可在处理器90上运行的计算机程序92,例如语音识别程序。处理器90执行计算机程序92时实现上述各个智能加速卡的控制方法实施例中的步骤,例如图1所示的步骤s101-s104。或者,处理器90执行计算机程序92时实现上述各装置实施例中各模块/单元的功能,例如图7所示单元71-74的功能。
151.示例性的,计算机程序92可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器91中,并由处理器90执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序92在服务器9中的执行过程。例如,计算机程序92可以被分割成信息获取单元71、第一启动模式切换指令发送单元72、第一卡控制单元73、第二启动模式切换指令发送单元74,各单元具体功能请参阅图1对应的实施例中地相关描述,此处不赘述。
152.服务器可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是服务器9的示例,并不构成对服务器9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如服务器还可以包括输入输出设备、网络接入设备、总线等。
153.所称处理器90可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路
(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
154.存储器91可以是服务器9的内部存储单元,例如服务器9的硬盘或内存。存储器91也可以是服务器9的外部存储设备,例如服务器9上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器91还可以既包括服务器9的内部存储单元也包括外部存储设备。存储器91用于存储计算机程序以及服务器所需的其他程序和数据。存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
155.图10是本技术实施例提供的智能加速卡的示意图。如图10所示,该实施例的智能加速卡10包括:处理器100、存储器101以及存储在存储器101中并可在处理器100上运行的计算机程序102,例如语音识别程序。处理器100执行计算机程序102时实现上述各个智能加速卡的控制方法实施例中的步骤,例如图3所示的步骤s301-s303。或者,处理器100执行计算机程序102时实现上述各装置实施例中各模块/单元的功能,例如图8所示单元81-83的功能。
156.示例性的,计算机程序102可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器101中,并由处理器100执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序102在智能加速卡10中的执行过程。例如,计算机程序102可以被分割成第一启动模式切换指令接收及处理单元81、第一卡版本文件接收单元82、第二启动模式切换指令接收及处理单元83,各单元具体功能请参阅图1对应的实施例中地相关描述,此处不赘述。
157.智能加速卡10可包括,但不仅限于,处理器100、存储器101。本领域技术人员可以理解,图10仅仅是智能加速卡10的示例,并不构成对智能加速卡10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如智能加速卡还可以包括输入输出设备、网络接入设备、总线等。
158.所称处理器100可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
159.存储器101可以是智能加速卡10的内部存储单元,例如智能加速卡10的硬盘或内存。存储器101用于存储计算机程序以及智能加速卡所需的其他程序和数据。存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
160.本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述智能加速卡的控制方法。
161.本技术实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行时实现可实现上述图1中所述的智能加速卡的控制方法,或当计算机程
序产品在智能加速卡上运行时,使得服务器执行时实现可实现上述图3中所述的智能加速卡的控制方法。
162.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
163.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
164.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
165.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1