首页 / 软件实现重要产品数据功能的方法、计算机设备及介质

软件实现重要产品数据功能的方法、计算机设备及介质有效专利 发明

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种软件实现重要产品数据功能的方法、计算机设备及介质。

相关背景技术

[0002] 重要产品数据(Vital Product Data,VPD)是与一组特定硬件或软件相关的配置和信息数据的集合,记录了例如设备的部件号(part number,PN)、序列号(serial number,SN)、唯一标志软硬件等重要信息,用于存储设备性能或者故障等信息。符合快捷外围部件互连标准(peripheral component interconnect express,PCIE)的设备通过PCIE总线连接宿主机,PCIE设备可以带有VPD功能,这样可以将PCIE设备的性能参数或者故障信息回填到对应的VPD中,便于对设备进行调试和使用。另外,带有VPD功能的PCIE设备可以提供系统软硬件信息等用于系统管理员在系统层面的决策。现有技术中,为了满足用户对输入输出定制化的需求以及网络虚拟化技术的应用,通过专用硬件来实现网络传输功能的卸载以及利用虚拟化技术来提供各种PCIE设备。但是,现有技术中的基于硬件实现的PCIE设备,在VPD信息的读取和写入方面涉及到对硬件逻辑的整体更新,从而难以满足动态修改和降低成本的要求。现有技术中的基于软件实现的VPD信息的读写机制,访问延迟高,不利于快速响应和提升性能。
[0003] 为此,本申请提供了一种软件实现重要产品数据功能的方法、计算机设备及介质,避免了对硬件逻辑的整体更新,可以充分利用专用硬件的卸载和虚拟化技术,同时满足动态修改、降低成本、快速响应、降低访问延迟和提升性能的要求。

具体实施方式

[0025] 下面将结合附图对本申请实施例作进一步地详细描述。
[0026] 应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
[0027] 图1为本申请实施例提供的一种软件实现重要产品数据功能的方法的流程示意图。如图1所示,所述方法包括以下步骤。
[0028] 步骤S101:通过数据处理器的系统模拟器软件,模拟生成快捷外围部件互连拓扑,其中,所述快捷外围部件互连拓扑包括上行端口、至少一个下行端口和第一设备类型的至少一个快捷外围部件互连设备,所述系统模拟器软件运行在所述数据处理器的内存中,所述上行端口连接宿主机的根端口,所述第一设备类型的至少一个快捷外围部件互连设备均具有重要产品数据功能。
[0029] 步骤S103:通过所述系统模拟器软件,在初始化所述上行端口时,在所述内存中分配所述上行端口独占的上行端口只读重要产品数据信息内存空间和上行端口可读写重要产品数据信息内存空间,并且,在初始化所述至少一个下行端口时,在所述内存中分配在所述至少一个下行端口之间共享的下行端口只读重要产品数据信息内存空间和所述至少一个下行端口分别独占的至少一个下行端口可读写重要产品数据信息内存空间,并且,在初始化所述第一设备类型的至少一个快捷外围部件互连设备时,在所述内存中分配在所述第一设备类型的至少一个快捷外围部件互连设备之间共享的第一设备类型快捷外围部件互连设备只读重要产品数据信息内存空间和所述第一设备类型的至少一个快捷外围部件互连设备分别独占的至少一个第一设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间。
[0030] 步骤S105:通过所述系统模拟器软件,解析所述宿主机下发的包括了读重要产品数据信息的第一事务层数据包报文从而执行读重要产品数据信息操作,或者,解析所述宿主机下发的包括了写重要产品数据信息的第二事务层数据包报文从而执行写重要产品数据信息操作。
[0031] 图1所示的软件实现重要产品数据功能的方法,可以应用于数据中心、人工智能、云计算等应用场景中,这些应用场景需要针对各种客户的需求对输入输出资源进行定制,需要动态修改各种类型的快捷外围部件互连设备的重要产品数据(Vital Product Data,VPD)信息,从而可以进行设备调试和设备使用,并且,在实际应用中,可能存在设备增加、设备移除、设备更新等各种情况,因此对于低访问延迟、高数据传输性能和快速响应等也提出了要求。这里,重要产品数据是与一组特定硬件或软件相关的配置和信息数据的集合,记录了例如设备的部件号(part number,PN)、序列号(serial number,SN)、唯一标志软硬件等重要信息,用于存储设备性能或者故障等信息。重要产品数据的数据格式包括多个分段,其中包括一个或者多个可读写关键信息事项。重要产品数据的数据格式是固定的,每个分段和每个事项的长度也是预先设定的,彼此之前的先后顺序也是固定的,因此通过位移计算,从重要产品数据的起始标识开始,直到结束标识,可以确定各个分段以及各个事项。示例性的重要产品数据可以包括例如大型资源类型标识、数据长度、日期、关键词等事项。在一种示例中,重要产品数据的数据格式由四段组成,按照先后顺序分别是:重要产品数据的起始标识,重要产品数据的大型资源类型标识(用于提供设备的产品名称等),然后是只读类型的关键信息事项,再然后是另一个大型资源类型标识和可读写关键信息事项,最后是结束标识。其中,只读类型的关键信息事项一般不可以通过软件进行改写,即便对这些地址的数据进行写覆盖,也不会对该区域数据有任何影响。可读写关键信息事项可以通过软件进行修改,可以用于存放实时的设备性能参数或者错误码等信息。
[0032] 参阅图1,在步骤S101,通过数据处理器的系统模拟器软件,模拟生成快捷外围部件互连拓扑,其中,所述快捷外围部件互连拓扑包括上行端口、至少一个下行端口和第一设备类型的至少一个快捷外围部件互连设备,所述系统模拟器软件运行在所述数据处理器的内存中,所述上行端口连接宿主机的根端口,所述第一设备类型的至少一个快捷外围部件互连设备均具有重要产品数据功能。这里,系统模拟器软件用于提供各种系统、平台的软件实现,可以运行在数据处理器的嵌入式中央处理器(Embedded CPU,ECPU)上。利用系统模拟器软件,以软件实现的方式模拟生成快捷外围部件互连拓扑,包括其中的具体结构。所述快捷外围部件互连拓扑包括上行端口、至少一个下行端口和第一设备类型的至少一个快捷外围部件互连设备。这里,上行端口用于与宿主机的根端口连接,下行端口与上行端口连接以便进一步增加层次,并且,快捷外围部件互连设备可以与上行端口或者下行端口连接。这里,第一设备类型的至少一个快捷外围部件互连设备,意味着都是同一个设备类型,例如某种标准化快捷外围部件互连设备,例如网络设备类型、存储设备类型等。
[0033] 继续参阅图1,在步骤S103,通过所述系统模拟器软件,在初始化所述上行端口时,在所述内存中分配所述上行端口独占的上行端口只读重要产品数据信息内存空间和上行端口可读写重要产品数据信息内存空间,并且,在初始化所述至少一个下行端口时,在所述内存中分配在所述至少一个下行端口之间共享的下行端口只读重要产品数据信息内存空间和所述至少一个下行端口分别独占的至少一个下行端口可读写重要产品数据信息内存空间,并且,在初始化所述第一设备类型的至少一个快捷外围部件互连设备时,在所述内存中分配在所述第一设备类型的至少一个快捷外围部件互连设备之间共享的第一设备类型快捷外围部件互连设备只读重要产品数据信息内存空间和所述第一设备类型的至少一个快捷外围部件互连设备分别独占的至少一个第一设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间。这里,通过优化设计系统模拟器软件初始化快捷外围部件互连拓扑的过程,为后续的执行重要产品数据信息的读写打下了良好的基础。具体地,系统模拟器软件在初始化时,为上行端口,分配并初始化上行端口只读重要产品数据信息内存空间用于存储上行端口只读重要产品数据信息,以及,为上行端口分配并初始化上行端口可读写重要产品数据信息内存空间用于存储上行端口可读写重要产品数据信息。如此,通过区分上行端口相关联的只读重要产品数据信息和可读写重要产品数据信息,并且在初始化时分配不同的内存空间,使得按照有关协议的规范,例如PCIE协议所定义的格式,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。
[0034] 继续参阅图1,系统模拟器软件在初始化时,为所述至少一个下行端口,分配并初始化在所述至少一个下行端口之间共享的下行端口只读重要产品数据信息内存空间用于存储下行端口只读重要产品数据信息,以及,为所述至少一个下行端口分别地分配并初始化所述至少一个下行端口分别独占的至少一个下行端口可读写重要产品数据信息内存空间用于存储所述至少一个下行端口各自的下行端口可读写重要产品数据信息。如此,通过区分在下行端口之间共享的下行端口只读重要产品数据信息以及各个下行端口各自的下行端口可读写重要产品数据信息,并且在初始化时分配不同的内存空间,使得按照有关协议的规范,例如PCIE协议所定义的格式,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。进一步地,当存在多个下行端口时,多个下行端口之间共享下行端口只读重要产品数据信息内存空间,因此可以将只读类型的关键字信息存储在下行端口只读重要产品数据信息内存空间,利用共享信息和共享存储空间,可以更有效地利用资源以及进行全局同步。另外,当存在多个下行端口时,多个下行端口各自独占对应的下行端口可读写重要产品数据信息内存空间,因此可以将可读写类型的关键字信息存储在对应的下行端口可读写重要产品数据信息内存空间,利用独占信息和独占存储空间,可以更好地利用差异化特点,例如设定差异化的性能参数或者错误纠错机制等,有助于动态修改各种类型的快捷外围部件互连设备的重要产品数据信息以及满足客户对输入输出资源进行定制的需求。
[0035] 继续参阅图1,系统模拟器软件在初始化时,为所述第一设备类型的至少一个快捷外围部件互连设备,分配并初始化在所述内存中分配在所述第一设备类型的至少一个快捷外围部件互连设备之间共享的第一设备类型快捷外围部件互连设备只读重要产品数据信息内存空间,用于存储第一设备类型快捷外围部件互连设备只读重要产品数据信息,以及,为所述第一设备类型的至少一个快捷外围部件互连设备分别地分配并初始化所述第一设备类型的至少一个快捷外围部件互连设备分别独占的至少一个第一设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间,用于存储所述第一设备类型的至少一个快捷外围部件互连设备各自的第一设备类型快捷外围部件互连设备可读写重要产品数据信息。如此,通过区分在第一设备类型的至少一个快捷外围部件互连设备之间共享的第一设备类型快捷外围部件互连设备只读重要产品数据信息,以及,各个第一设备类型的至少一个快捷外围部件互连设备各自的第一设备类型快捷外围部件互连设备可读写重要产品数据信息,并且在初始化时分配不同的内存空间,使得按照有关协议的规范,例如PCIE协议所定义的格式,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。进一步地,当存在多个第一设备类型的快捷外围部件互连设备时,多个第一设备类型的快捷外围部件互连设备之间共享第一设备类型快捷外围部件互连设备只读重要产品数据信息内存空间,因此可以将只读类型的关键字信息存储在第一设备类型快捷外围部件互连设备只读重要产品数据信息内存空间,利用共享信息和共享存储空间,可以更有效地利用资源以及进行全局同步。另外,当存在多个第一设备类型的快捷外围部件互连设备时,多个第一设备类型的快捷外围部件互连设备各自独占对应的第一设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间,因此可以将可读写类型的关键字信息存储在对应的第一设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间,利用独占信息和独占存储空间,可以更好地利用差异化特点,例如设定差异化的性能参数或者错误纠错机制等,有助于动态修改各种类型的快捷外围部件互连设备的重要产品数据信息以及满足客户对输入输出资源进行定制的需求。
[0036] 继续参阅图1,在步骤S105,通过所述系统模拟器软件,解析所述宿主机下发的包括了读重要产品数据信息的第一事务层数据包报文从而执行读重要产品数据信息操作,或者,解析所述宿主机下发的包括了写重要产品数据信息的第二事务层数据包报文从而执行写重要产品数据信息操作。如此,在系统模拟器软件的初始化过程的优化基础上,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理,并且将同一个设备类型的快捷外围部件互连设备的只读重要产品数据信息集中在一起。通过解析事务层数据包(Transaction Layer Packet,TLP)报文,对于读重要产品数据信息,系统模拟器软件返回该快捷外围部件互连设备的设备类型所对应内存空间的信息,并通知宿主机来读取信息;对于写重要产品数据信息,系统模拟器软件将信息写入该快捷外围部件互连设备所对应的内存空间中,执行相应的操作,并通知宿主机信息写入完成。如此,在初始化时分配不同的内存空间,使得按照有关协议的规范,例如PCIE协议所定义的格式,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。并且,因为是依赖数据处理器的系统模拟器软件来进行初始化过程的优化、解析事务层数据包报文、执行读重要产品数据信息操作以及执行写重要产品数据信息操作,因此,不需要在每次动态修改快捷外围部件互连设备的重要产品数据信息时更新硬件逻辑,而是可以通过写重要产品数据信息操作精确地写入到目标PCIE设备的独占内存空间里。并且,通过区分不同设备类型的快捷外围部件互连设备,为同一种设备类型的快捷外围部件互连设备提供共享的内存空间并分配设备独占的内存空间,提高了资源利用率,也有利于结合同一种设备类型的设备之间共有的功能特性来进行管理和同步。
[0037] 总之,图1所示的软件实现重要产品数据功能的方法,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理;在初始化时分配不同的内存空间,使得可以按照有关协议的规范,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性;因为是依赖数据处理器的系统模拟器软件来进行初始化过程的优化、解析事务层数据包报文、执行读重要产品数据信息操作以及执行写重要产品数据信息操作,因此,不需要在每次动态修改快捷外围部件互连设备的重要产品数据信息时更新硬件逻辑,避免了对硬件逻辑的整体更新,可以充分利用专用硬件的卸载和虚拟化技术;通过区分不同设备类型的快捷外围部件互连设备,为同一种设备类型的快捷外围部件互连设备提供共享的内存空间并分配设备独占的内存空间,提高了资源利用率,也有利于结合同一种设备类型的设备之间共有的功能特性来进行管理和同步;满足了动态修改、降低成本、快速响应、降低访问延迟和提升性能的要求。
[0038] 图2为本申请实施例提供的一种参考图1所示的软件实现重要产品数据功能的方法来模拟生成快捷外围部件互连拓扑的示意图。如图2所示,通过数据处理器的系统模拟器软件205,模拟生成快捷外围部件互连拓扑。其中,所述快捷外围部件互连拓扑包括上行端口211、至少一个下行端口221和第一设备类型的至少一个快捷外围部件互连设备(设备类型A快捷外围部件互连设备A231和设备类型A快捷外围部件互连设备B241),还有第二设备类型的至少一个快捷外围部件互连设备(设备类型B快捷外围部件互连设备251)。所述系统模拟器软件205运行在所述数据处理器的内存中,所述上行端口211连接宿主机201的根端口203,所述第一设备类型的至少一个快捷外围部件互连设备均具有重要产品数据功能。通过所述系统模拟器软件205,在初始化所述上行端口211时,在所述内存中分配所述上行端口211独占的上行端口只读重要产品数据信息内存空间291和上行端口可读写重要产品数据信息内存空间213。并且,在初始化所述至少一个下行端口221时,在所述内存中分配在所述至少一个下行端口221之间共享的下行端口只读重要产品数据信息内存空间293和所述至少一个下行端口221分别独占的至少一个下行端口可读写重要产品数据信息内存空间223。并且,在初始化所述第一设备类型的至少一个快捷外围部件互连设备(设备类型A快捷外围部件互连设备A231和设备类型A快捷外围部件互连设备B241)时,在所述内存中分配在所述第一设备类型的至少一个快捷外围部件互连设备(设备类型A快捷外围部件互连设备A231和设备类型A快捷外围部件互连设备B241)之间共享的第一设备类型快捷外围部件互连设备只读重要产品数据信息内存空间(设备类型A快捷外围部件互连设备只读重要产品数据信息内存空间295),和所述第一设备类型的至少一个快捷外围部件互连设备分别独占的至少一个第一设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间。图2中示例性示出了,设备类型A快捷外围部件互连设备A231连接上行端口211并且独占设备类型A快捷外围部件互连设备可读写重要产品数据信息内存空间A233,设备类型A快捷外围部件互连设备B241连接下行端口221并且独占设备类型A快捷外围部件互连设备可读写重要产品数据信息内存空间B243。并且,设备类型B快捷外围部件互连设备251连接下行端口221以及独占设备类型B快捷外围部件互连设备可读写重要产品数据信息内存空间253。系统模拟器软件205在初始化第二设备类型的至少一个快捷外围部件互连设备(设备类型B快捷外围部件互连设备251)时,在所述内存中分配在所述第二设备类型的至少一个快捷外围部件互连设备(设备类型B快捷外围部件互连设备251)之间共享的第二设备类型快捷外围部件互连设备只读重要产品数据信息内存空间(设备类型B快捷外围部件互连设备只读重要产品数据信息内存空间297)。如此,参考图1所示的软件实现重要产品数据功能的方法来模拟生成快捷外围部件互连拓扑,满足了动态修改、降低成本、快速响应、降低访问延迟和提升性能的要求。
[0039] 参阅图1和图2,在一种可能的实施方式中,当所述第一事务层数据包报文指示了读取所述上行端口相关联的重要产品数据信息时,所述读重要产品数据信息操作包括,从所述上行端口只读重要产品数据信息内存空间的起始位置再偏移由所述第一事务层数据包报文所指示的位置读取数据后,存入所述快捷外围部件互连拓扑相关联的重要产品数据能力集配置空间中由所述第一事务层数据包报文所指示的位置。如此,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理;在初始化时分配不同的内存空间,使得可以按照有关协议的规范,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。
[0040] 在一些实施例中,当所述第二事务层数据包报文指示了写入所述上行端口相关联的重要产品数据信息时,所述写重要产品数据信息操作包括,从所述重要产品数据能力集配置空间中由所述第二事务层数据包报文所指示的位置获取数据后,写入所述上行端口可读写重要产品数据信息内存空间的起始位置再偏移由所述第二事务层数据包报文所指示的位置。如此,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理;在初始化时分配不同的内存空间,使得可以按照有关协议的规范,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。
[0041] 在一些实施例中,所述上行端口相关联的重要产品数据信息包括最大载荷大小和最大读请求大小。如此,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理;在初始化时分配不同的内存空间,使得可以按照有关协议的规范,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。
[0042] 在一种可能的实施方式中,当所述第一事务层数据包报文指示了读取所述至少一个下行端口中的第一下行端口相关联的重要产品数据信息时,所述读重要产品数据信息操作包括,从所述下行端口只读重要产品数据信息内存空间的起始位置再偏移由所述第一事务层数据包报文所指示的位置读取数据后,存入所述快捷外围部件互连拓扑相关联的重要产品数据能力集配置空间中由所述第一事务层数据包报文所指示的位置。如此,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理;在初始化时分配不同的内存空间,使得可以按照有关协议的规范,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。并且,通过事务层数据包报文来指示相应位置,有助于精细化定位和管理相关联的重要产品数据信息。
[0043] 在一些实施例中,当所述第二事务层数据包报文指示了写入所述至少一个下行端口中的第二下行端口相关联的重要产品数据信息时,所述写重要产品数据信息操作包括,从所述重要产品数据能力集配置空间中由所述第二事务层数据包报文所指示的位置获取数据后,写入所述至少一个下行端口可读写重要产品数据信息内存空间中的被所述第二下行端口独占的下行端口可读写重要产品数据信息内存空间的起始位置再偏移由所述第二事务层数据包报文所指示的位置。如此,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理;在初始化时分配不同的内存空间,使得可以按照有关协议的规范,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。并且,通过事务层数据包报文来指示相应位置,有助于精细化定位和管理相关联的重要产品数据信息。
[0044] 在一些实施例中,所述第一下行端口相关联的重要产品数据信息和所述第二下行端口相关联的重要产品数据信息均包括最大载荷大小和最大读请求大小。如此,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理;在初始化时分配不同的内存空间,使得可以按照有关协议的规范,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。
[0045] 在一种可能的实施方式中,当所述第一事务层数据包报文指示了读取所述第一设备类型的至少一个快捷外围部件互连设备中的第一快捷外围部件互连设备相关联的重要产品数据信息时,所述读重要产品数据信息操作包括,从所述第一设备类型快捷外围部件互连设备只读重要产品数据信息内存空间的起始位置再偏移由所述第一事务层数据包报文所指示的位置读取数据后,存入所述快捷外围部件互连拓扑相关联的重要产品数据能力集配置空间中由所述第一事务层数据包报文所指示的位置。如此,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理;在初始化时分配不同的内存空间,使得可以按照有关协议的规范,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。并且,通过事务层数据包报文来指示相应位置,有助于精细化定位和管理相关联的重要产品数据信息。
[0046] 在一些实施例中,当所述第二事务层数据包报文指示了写入所述第一设备类型的至少一个快捷外围部件互连设备中的第二快捷外围部件互连设备相关联的重要产品数据信息时,所述写重要产品数据信息操作包括,从所述重要产品数据能力集配置空间中由所述第二事务层数据包报文所指示的位置获取数据后,写入所述至少一个第一设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间中的被所述第二快捷外围部件互连设备独占的第一设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间的起始位置再偏移由所述第二事务层数据包报文所指示的位置。如此,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理;在初始化时分配不同的内存空间,使得可以按照有关协议的规范,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。并且,通过事务层数据包报文来指示相应位置,有助于精细化定位和管理相关联的重要产品数据信息。
[0047] 在一些实施例中,所述第一快捷外围部件互连设备相关联的重要产品数据信息和所述第二快捷外围部件互连设备相关联的重要产品数据信息均包括部件号和序列号,其中,所述部件号在所述第一设备类型的至少一个快捷外围部件互连设备之间共享,所述第一设备类型的至少一个快捷外围部件互连设备分别具有不同的序列号。如此,实现了区分管理只读重要产品数据信息和可读写重要产品数据信息,以及针对上行端口、下行端口和各种类型的快捷外围部件互连设备分别地进行管理;在初始化时分配不同的内存空间,使得可以按照有关协议的规范,来设定重要产品数据信息的布局,这样改进了重要产品数据信息的读写操作,有助于提高操作灵活性。
[0048] 在一种可能的实施方式中,所述快捷外围部件互连拓扑还包括第二设备类型的至少一个快捷外围部件互连设备,所述第二设备类型的至少一个快捷外围部件互连设备均具有重要产品数据功能,所述方法还包括:通过所述系统模拟器软件,在初始化所述第二设备类型的至少一个快捷外围部件互连设备时,在所述内存中分配在所述第二设备类型的至少一个快捷外围部件互连设备之间共享的第二设备类型快捷外围部件互连设备只读重要产品数据信息内存空间和所述第二设备类型的至少一个快捷外围部件互连设备分别独占的至少一个第二设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间。如此,通过区分不同设备类型的快捷外围部件互连设备,为同一种设备类型的快捷外围部件互连设备提供共享的内存空间并分配设备独占的内存空间,提高了资源利用率,也有利于结合同一种设备类型的设备之间共有的功能特性来进行管理和同步。
[0049] 在一些实施例中,所述第一设备类型与所述第二设备类型之间满足第一关联关系,针对所述至少一个第一设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间的写重要产品数据信息操作与针对至少一个第二设备类型快捷外围部件互连设备可读写重要产品数据信息内存空间的写重要产品数据信息操作之间也满足所述第一关联关系。如此,通过区分不同设备类型的快捷外围部件互连设备,为同一种设备类型的快捷外围部件互连设备提供共享的内存空间并分配设备独占的内存空间,提高了资源利用率,也有利于结合同一种设备类型的设备之间共有的功能特性来进行管理和同步。并且,利用第一关联关系,可以更好进行设备管理和全局配置。
[0050] 在一些实施例中,所述第一设备类型是网络设备类型,所述第二设备类型是存储设备类型,所述第一关联关系定义了改动所述网络设备类型的远程直接内存访问功能相关联的重要产品数据与改动所述存储设备类型的远程直接内存访问相关联的重要产品数据之间的联动。如此,通过区分不同设备类型的快捷外围部件互连设备,为同一种设备类型的快捷外围部件互连设备提供共享的内存空间并分配设备独占的内存空间,提高了资源利用率,也有利于结合同一种设备类型的设备之间共有的功能特性来进行管理和同步。并且,利用第一关联关系,可以更好进行设备管理和全局配置。这里,远程直接内存访问涉及到网络设备与存储设备之间的联动,因此,对其中一种设备类型的重要产品数据改动可能影响到另一种设备类型的重要产品数据。
[0051] 在一种可能的实施方式中,通过所述系统模拟器软件模拟生成的所述快捷外围部件互连拓扑中包括不具有重要产品数据功能的快捷外围部件互连设备,所述系统模拟器软件不为所述不具有重要产品数据功能的快捷外围部件互连设备分配内存空间用于执行读重要产品数据信息操作或者执行写重要产品数据信息操作。如此,有助于提高资源利用率。
[0052] 在一种可能的实施方式中,所述方法还包括:通过所述系统模拟器软件,确定所述宿主机下发的包括了写重要产品数据信息的第二事务层数据包报文是操作类型写入或者保存类型写入,从而选择性地执行所述数据处理器的复位操作。如此,利用解析写重要产品数据信息的第二事务层数据包报文,可以确定是哪一种类型的写入,进而可以触发数据处理器的复位操作,例如可以设定成当确认是操作类型写入时执行复位操作。如此,提高了操作的灵活性。
[0053] 图3是本申请实施例提供的一种计算设备的结构示意图,该计算设备300包括:一个或者多个处理器310、通信接口320以及存储器330。所述处理器310、通信接口320以及存储器330通过总线340相互连接。可选地,该计算设备300还可以包括输入/输出接口350,输入/输出接口350连接有输入/输出设备,用于接收用户设置的参数等。该计算设备300能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;处理器310还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备300执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器310用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备300可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口320具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器310具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
[0054] 应当理解的是,图3的计算设备300可以包括一个或者多个处理器310,并且多个处理器310可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器310可以构成处理器序列或者处理器阵列,或者多个处理器310之间可以分成主处理器和辅助处理器,或者多个处理器310之间可以具有不同的架构如采用异构计算架构。另外,图3所示的计算设备300,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备300可以包括比图3所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
[0055] 处理器310可以有多种具体实现形式,例如处理器310可以包括中央处理器(central processing unit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural‑network processing unit,NPU)、张量处理器(tensor processing unit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器310还可以是单核处理器或多核处理器。处理器310可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application‑specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field‑programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器310也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口320可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
[0056] 存储器330可以是非易失性存储器,例如,只读存储器(read‑only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器330也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器330也可用于存储程序代码和数据,以便于处理器310调用存储器330中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备300可能包含相比于图3展示的更多或者更少的组件,或者有不同的组件配置方式。
[0057] 总线340可以是快捷外围部件互连标准(peripheral component interconnect express,PCIE)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线340可以分为地址总线、数据总线、控制总线等。总线340除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0058] 本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。本申请实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述所描述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。
[0059] 本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。
[0060] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
[0061] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0062] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页 第1页 第2页 第3页