CN115827532A - 一种PCIe HBA IOC内部总线网络互联方法 - Google Patents

一种PCIe HBA IOC内部总线网络互联方法 Download PDF

Info

Publication number
CN115827532A
CN115827532A CN202211676792.5A CN202211676792A CN115827532A CN 115827532 A CN115827532 A CN 115827532A CN 202211676792 A CN202211676792 A CN 202211676792A CN 115827532 A CN115827532 A CN 115827532A
Authority
CN
China
Prior art keywords
pcie
network
data
data transmission
tlp
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
CN202211676792.5A
Other languages
English (en)
Other versions
CN115827532B (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.)
Wuxi Zhongxing Microsystem Technology Co ltd
Original Assignee
Wuxi Zhongxing Microsystem 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 Wuxi Zhongxing Microsystem Technology Co ltd filed Critical Wuxi Zhongxing Microsystem Technology Co ltd
Priority to CN202211676792.5A priority Critical patent/CN115827532B/zh
Publication of CN115827532A publication Critical patent/CN115827532A/zh
Application granted granted Critical
Publication of CN115827532B publication Critical patent/CN115827532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

本发明提供了一种PCIe HBA IOC内部总线网络互联方法和装置,该方法包括:通过第一PCIe子系统将TLP接口数据直接传输到片上总线网络的第一网络接口单元;第一网络接口单元将TLP接口数据转换为网络数据传输帧,并转发到路由交换逻辑;路由交换逻辑基于网络数据传输帧所包含的路由信息,将网络数据传输帧发送到第二网络接口单元;第二网络接口单元解析网络数据传输帧得到TLP接口数据,并直接转发到第二PCIe子系统。本发明的方法通过TLP与自定义总线网络直接对接,不再需要标准总线接口的转接桥,减少芯片的设计面积,降低了芯片的运行功耗和读写延时,提升了数据读写的响应速度,并有效支持TLP特有信息的传输。

Description

一种PCIe HBA IOC内部总线网络互联方法
技术领域
本发明属于芯片设计领域,特别涉及一种PCIe HBA IOC内部总线网络互联方法。
背景技术
在服务器存储系统架构中,HBA(Host Bus Adapter,总线适配器)通常作为主机和外围存储设备之间连接的桥梁,不仅可以扩展服务器外围存储设备连接的数量,而且能够支持不同接口协议之间的转换,极大地丰富了服务器系统的功能,同时满足了多样化系统应用场景。而PCIe HBA IOC(I/O Controller,输入输出控制器,简称控制器)广泛地存在应用于计算机网络存储系统中。通过PCIe HBA IOC既能够简化主机服务器系统的外围接口设计,又可以提供处理器的相关功能,如处理数据传输、数据管理相关的各种功能。典型的PCIe HBA IOC如图1所示,主要实现存储系统的两个方面的功能。一是作为输入输出(I/O)通路,上连PCIe端口的一端负责与存储网络或者直连的服务器通信,下连PCIe端口的一端负责与基于PCIe接口的硬件存储设备或存储扩展设备通信。在图1中,存储控制器C1通过上连PCIe接口i0连接到主机服务器C0,通过下连PCIe接口i1连接到存储阵列C2;二是作为处理器功能,负责处理数据传输、数据管理相关的各种功能,例如RAID、块管理等。因此,PCIeHBA IOC的性能直接影响到存储系统的表现,从而影响整个计算机网络系统的各种应用场景和服务的用户体验。
目前,PCIe HBA IOC内部数据传输主通路的互连主要是通过标准总线网络而相互连接的,例如目前业界使用最广泛的互连接口总线协议是ARM公司的AMBA(AdvancedMicrocontroller Bus Architecture)总线协议。一种典型的PCIe HBA IOC的内部结构如图2所示,主机服务器C0和外围设备PCIe NVMe SSD C2/C3之间通过PCIe HBA IOC C1进行业务数据传输的通路,即上连PCIe子系统C1.1和下连PCIe子系统C1.3/C1.4之间的数据通路是数据主通路,片上总线网络NoC C1.2提供了上连PCIe子系统C1.1和下连PCIe子系统C1.3/C1.4之间通信链路的网络连接,上连PCIe子系统C1.1和下连PCIe子系统C1.3/C1.4和片上网络NoC C1.2之间的接口为标准总线接口AMBA。AMBA Bridge总线桥C1.1.2/C1.3.2/C1.4.2提供了PCIe CTRL即PCIe控制器C1.1.1/C1.3.1/C1.4.1TLP(Transaction LayerPacket,PCIe传输层包)接口和NoC C1.2 AMBA接口之间的转换和处理。
可见,如果使用AMBA等标准总线连接上连PCIe和下连PCIe之间的数据通路,则将会额外地引入上连PCIe CTRL和AMBA接口之间的
Figure BDA0004018562050000021
Bridge转接桥以及多个下连PCIe CTRL和AMBA接口之间的
Figure BDA0004018562050000022
Bridge,而
Figure BDA0004018562050000026
Bridge转接桥的引入又会对PCIe HBA IOC造成一系列的负面影响。首先,由于这些
Figure BDA0004018562050000023
Bridge转接桥占用的资源比较大,并且随着下连PCIe子系统的数量增加而增加,这会增加Die尺寸,从而增加芯片的成本。其次,在PCIe HBA IOC的数据传输过程中,
Figure BDA0004018562050000024
Bridge必然会增加额外的电源功耗,从而增加PCIe HBA存储业务的运营成本和潜在的额外散热设施成本,还会引入较大的读写延时,从而影响服务器系统所提供业务的用户体验。此外,在不引入边带信号(Sideband Signal)的情况下,标准总线无法有效传输PCIe TLP特有的控制和状态信息,而引入边带信号又会增加
Figure BDA0004018562050000025
标准总线的桥及总线网络的复杂性。
发明内容
本发明的目的在于提供一种PCIe HBA IOC内部总线网络互联方法和装置,旨在解决在PCIe HBA IOC中使用AMBA等标准总线连接上连PCIe和下连PCIe之间的数据通路进行数据传输所面临的一系列问题。
根据本发明的第一方面,提供了一种PCIe HBA IOC内部总线网络互联方法,包括:
当第一PCIe子系统接收到TLP接口数据时,通过所述第一PCIe子系统将所述TLP接口数据直接传输到片上总线网络的第一网络接口单元;
在所述第一网络接口单元将所述TLP接口数据转换为预定义格式的网络数据传输帧,并将所述网络数据传输帧转发到所述片上总线网络的路由交换逻辑;
基于所述网络数据传输帧所包含的路由信息,由所述路由交换逻辑将所述网络数据传输帧发送到所述片上总线网络的第二网络接口单元;
在所述第二网络接口单元解析所述网络数据传输帧,得到所述TLP接口数据,并将所述TLP接口数据直接转发到所述PCIe HBA IOC的第二PCIe子系统。
优选地,所述第一PCIe子系统是与主机服务器相连接的上连PCIe子系统,所述第二PCIe子系统是与PCIe存储设备相连接的下连PCIe子系统,并且所述TLP接口数据是所述主机服务器对所述PCIe存储设备的读请求数据或写请求数据或者是所述主机服务器对所述PCIe存储设备的读响应数据或写响应数据。
优选地,所述第一PCIe子系统是与PCIe存储设备相连接的下连PCIe子系统,所述第二PCIe子系统是与主机服务器相连接的上连PCIe子系统,并且所述TLP接口数据是所述PCIe存储设备对所述主机服务器的读响应数据或写响应数据或者是所述PCIe存储设备对所述主机服务器的读请求数据或写请求数据。
优选地,所述预定义格式的网络数据传输帧包括路由信息、读写操作码及读写操作状态,所述路由信息包含数据传输源信息和数据传输目的地信息,所述读写操作码用于标识当前网络数据传输帧是读操作还是写操作,所述读写操作状态用于标识当前网络数据传输帧是读或写请求状态还是读或写响应状态。
优选地,所述基于所述网络数据传输帧所包含的路由信息,由所述路由交换逻辑将所述网络数据传输帧发送到所述片上总线网络的第二网络接口单元,进一步包括:
所述路由交换逻辑根据所述路由信息中的所述数据传输目的地信息,确定所述第二PCIe子系统,并将所述网络数据传输帧发送到对应于所述第二PCIe子系统的第二网络接口单元。
根据本发明的第二方面,提供了一种PCIe HBA IOC内部总线网络互联装置,包括:
接收单元,用于当第一PCIe子系统接收到TLP接口数据时,通过所述第一PCIe子系统将所述TLP接口数据直接传输到片上总线网络的第一网络接口单元;
组帧单元,用于在所述第一网络接口单元将所述TLP接口数据转换为预定义格式的网络数据传输帧,并将所述网络数据传输帧转发到所述片上总线网络的路由交换逻辑;
路由单元,用于基于所述网络数据传输帧所包含的路由信息,由所述路由交换逻辑将所述网络数据传输帧发送到所述片上总线网络的第二网络接口单元;
解帧单元,用于在所述第二网络接口单元解析所述网络数据传输帧,得到所述TLP接口数据,并将所述TLP接口数据直接转发到所述PCIe HBA IOC的第二PCIe子系统。
优选地,所述第一PCIe子系统是与主机服务器相连接的上连PCIe子系统,所述第二PCIe子系统是与PCIe存储设备相连接的下连PCIe子系统,并且所述TLP接口数据是所述主机服务器对所述PCIe存储设备的读请求数据或写请求数据或者是所述主机服务器对所述PCIe存储设备的读响应数据或写响应数据。
优选地,所述第一PCIe子系统是与PCIe存储设备相连接的下连PCIe子系统,所述第二PCIe子系统是与主机服务器相连接的上连PCIe子系统,并且所述TLP接口数据是所述PCIe存储设备对所述主机服务器的读响应数据或写响应数据或者是所述PCIe存储设备对所述主机服务器的读请求数据或写请求数据。
优选地,所述预定义格式的网络数据传输帧包括路由信息、读写操作码以及读写操作状态,所述路由信息包含数据传输源信息和数据传输目的地信息,所述读写操作码用于标识当前网络数据传输帧是读操作还是写操作。
优选地,所述路由单元进一步被配置为:
根据所述路由信息中的所述数据传输目的地信息,由所述路由交换逻辑确定所述第二PCIe子系统,并将所述网络数据传输帧发送到对应于所述第二PCIe子系统的第二网络接口单元。
相比于现有技术,本发明的方案通过TLP可以直接和自定义总线网络对接,不再需要
Figure BDA0004018562050000051
标准总线接口的转接桥,减少芯片的设计面积,降低PCIe HBA IOC的制造成本,并且降低了芯片的运行功耗和读写延时,提升了数据读写的响应速度。通过PCIe TLP直接对接自定义总线网络,使得能够传输PCIe TLP中的特有的控制和状态信息,而不需要引入边带信号来实现,从而减少了芯片实现的复杂度。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构和流程来实现和获取。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的是,下面描述中的附图是本发明的某些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1是根据现有技术的PCIe HBA IOC的连接结构示意图。
图2是根据本发明的PCIe HBA IOC内部使用标准总线接口互联的内部结构示意图。
图3是根据本发明的PCIe HBA IOC内部使用自定义总线接口互联的内部结构示意图。
图4是根据本发明的用于IOC内部互联的网络数据传输帧格式的示意图。
图5是根据本发明的PCIe HBA IOC内部总线网络互联方法的概要流程图。
图6是根据本发明的PCIe HBA IOC内部总线网络互联方法的详细流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
通过对传统技术的总结,本发明提出了一种使用自定义总线网络与PCIe TLP直接进行传输而不采用TLP与标准总线之间的转接桥的方法。上连或下连PCIe的TLP将与自定义总线网络直接相连接并交互。PCIe TLP数据作为一个Field(域段),直接完整封装在预先定义的总线网络数据传输帧(NDTF:Network Data Transfer Frame)中,从而在片上总线网络中进行传输,在相应的主从网络接口单元(Master/Slave-NIU)中完成从TLP到NDTF的封装以及从NDTF到TLP的解封装转换。使用本发明提出的自定义总线网络与PCIe TLP直接进行传输的方法,一方面通过移除TLP与标准总线之间的转接桥而减少芯片的面积及功耗,降低数据传输的延迟,从而提高系统的性能,另一方面通过将TLP直接完整封装在NDTF中以在总线网络中传输,减少在项目的实施过程中或将来后续的项目中由于PCIe TLP演进而导致的迭代改动。
图3是根据本发明的PCIe HBA IOC内部使用自定义总线接口互联的内部结构示意图。如图3所示,主机服务器C0使用PCIe接口和PCIe HBA IOC C1相通信。主机和PCIe HBAIOC之间的PCIe总线接口为i0。PCIe HBA IOC C1用于提供主机和基于PCIe接口的存储设备或扩展设备之间的通信。存储设备可以包括任意类型的磁盘,例如PCIe NVMe SSD_0C2和PCIe NVMe SSD_M C3,M表示存储设备的数量,一般在7到31之间。PCIe HBA IOC C1包括上连PCIe子系统C1.1、片上总线网络C1.2、下连PCIe_0子系统C1.3、下连PCIe_M子系统C1.4以及系统的其它部分C1.5。
上连PCIe子系统C1.1包括PCIe CTRL(PCIe控制器)C1.1.1。与上连PCIe子系统类似,下连PCIe_0子系统C1.3、下连PCIe_M子系统C1.4分别包括PCIe CTRL C1.3.1和PCIeCTRL C1.4.1。M表示下连PCIe子系统的数量,一般在7到31之间。PCIe CTRL C1.3.1和PCIeCTRL C1.4.1分别通过接口i13、i18连接到PCIe NVMe SSD_0C2和PCIe NVMe SSD_M C3。
片上总线网络NoC C1.2用于将PCIe HBA IOC内的各个子系统互联,并提供数据传输通路。NoC主要包括两部分逻辑:网络接口单元NIU和路由交换逻辑Switch C1.2.1。网络接口单元NIU包括主网络接口单元M-NIU C1.2.2、C1.2.4、C1.2.6、C1.2.8和从属网络接口单元S-NIU C1.2.3、C1.2.5、C1.2.7、C1.2.9。网络接口单元用于将与各子系统的总线接口协议转换为用于内部路由的上述网络数据传输帧NDTF,具体如图4所示。其中,对于本实施例中的上下连PCIe子系统C1.1、C1.3、C1.4,网络接口单元M-NIU和S-NIU可以实现PCIe
Figure BDA0004018562050000081
之间的直接互转,包括组帧和解帧。对于系统的其它部分C1.5,网络接口单元M-NIU C1.2.8和S-NIU C1.2.9可以实现对应接口总线(一般是标准总线)和NDTF之间的互转,在转换过程中,具体的接口总线上的读写操作会被组帧成对应的PCIe TLP的形式。NDTF和TLP之间的转换逻辑是直接、简单的,一般在一个时钟周期内就可以完成。
其中,片上总线网络(NoC)的路由交换逻辑Switch C1.2.1用于实现网络接口单元M-NIU、S-NIU之间的数据传输路由交换。图3中各个M-NIU与Switch C1.2.1的内部总线连接接口为i3、i5、i9、i14,而各个S-NIU与Switch C1.2.1的内部总线连接接口为i4、i6、i10、i15。路由交互都是基于如图4所示的网络数据传输帧NDTF格式来进行的。
具体地,主网络接口单元M-NIU(Master Network Interface Unit)C1.2.2、C1.2.4、C1.2.6、C1.2.8提供片内子系统Master接口和片上总线网络NoC的连接接口。在本实施例中,网络接口单元M-NIU C1.2.2、C1.2.4、C1.2.6分别通过TLP接口i1、i7、i11实现对应PCIe Master接口
Figure BDA0004018562050000082
之间直接互转,包括组帧和解帧;而M-NIU C1.2.8通过接口i16实现系统其它部分C1.5的Master接口总线(一般是标准总线)和NDTF之间的互转,在转换过程中,具体的接口总线上的读写操作会被组帧成对应的PCIe TLP的形式。
从属网络接口单元S-NIU(Slave Network Interface Unit)C1.2.3、C1.2.5、C1.2.7、C1.2.9提供了片内子系统Slave接口和总线网络的连接接口。在本示例中,从属网络接口单元S-NIU C1.2.3、C1.2.5、C1.2.7分别通过TLP接口i2、i8、i12实现对应PCIeSlave接口
Figure BDA0004018562050000091
之间的直接互转(包括组帧和解帧);而S-NIU C1.2.9通过接口i17实现其他部分C1.5的Slave接口总线(一般是标准总线)和NDTF之间的互转。类似地,在转换过程中,具体的接口总线上的读写操作也会被组帧成对应的PCIe TLP的形式。
在M-NIU/S-NIU的传输接口选择上,从应用的角度,主机服务器和存储设备存在两种类型的通路:
对于控制/配置通路,主机服务器对存储设备进行控制和配置,此时控制数据的请求和响应是从主机服务器经过上连PCIe子系统的Master端口传输到主网络接口单元M-NIU,进而转发到Switch,之后Switch将数据传输到从属网络接口单元S-NIU,再转发到下连PCIe子系统,最终到达存储设备。
对于数据通路,当发送数据的一侧选择主网络接口单元M-NIU时,接收数据的另一侧需要选择从属网络接口单元S-NIU。作为响应,当返回数据时,同样采用上述已建立的从属网络接口单元S-NIU和主网络接口单元M-NIU的通路。例如,由于数据传输的操作可以是存储设备主动触发的,此时存储设备可以充当Master的角色主动请求从主机读取数据,这种情况下,存储设备的读请求是通过下连PCIe子系统的Master端口传输到相应的主网络接口单元M-NIU,进而转发到Switch,之后Switch将数据传输到从属网络接口单元S-NIU,再转发到上连PCIe子系统的Slave端口。对于读响应的返回通路,经过的是同样的组件,区别仅在于数据方向相反。
在本发明的上述具体示例中,由于PCIe HBA IOC的片上总线网络NoC的内部数据传输和交换是基于网络数据传输帧NDTF的,因此在下文中,对图4所示的NDTF的各域段详细说明如下:
1.域段F0为路由信息域段Route_Info。Route_Info中包含有Source(数据传输源)和Destination(数据传输目的地)的Master/Slave ID路由信息。
2.域段F1为读或写的操作码RW_Code。当RW_Code被设置为Read Code时,表示当前网络数据传输帧是读操作;当RW_Code被设置为Write Code时,表示当前网络数据传输帧是写操作。
3.域段F2是读或写的操作状态域段RW_Status。根据具体的读写操作阶段,RW_Status可以设置为:读请求数据Read_REQ、读响应数据Read_RSP、写数据请求Write_REQ和写响应Write_RSP。
4.域段F3是TLP长度域段TLP_Length,用于标识TLP的长度。
5.域段F4是相关信息域段Misc_Info,用于标识其它的信息,例如可以是安全、调试、状态等自定义信息。
6.域段F5是TLP域段即PCIe协议中定义的TLP,各个子系统之间的读写请求、数据及地址等信息会被封装在TLP中,具体的PCIe TLP的格式可参考PCIe标准规范。
在图3的连接结构的基础上,参见图5的流程图,本发明提供的所述PCIe HBA IOC内部总线网络互联方法包括:
步骤101:当PCIe HBA IOC的第一PCIe子系统接收到TLP接口数据时,所述第一PCIe子系统将所述TLP接口数据直接传输到所述片上总线网络NoC的第一网络接口单元。
第一PCIe子系统和第二PCIe子系统作为片内总线的互联通信双方,可以分别是与PCIe HBA IOC相连接的任意两个不同的PCIe子系统。例如当第一PCIe子系统是上连PCIe子系统时,第二PCIe子系统可以是下连PCIe子系统,反之亦然。每个PCIe子系统具有各自的PCIe控制器,因此PCIe子系统所发出的访问数据均为TLP格式,例如来自主机的TLP访问请求或者响应数据,或来自存储设备的TLP访问请求或者响应数据。
步骤102:在所述第一网络接口单元将所述TLP接口数据转换为预定义格式的网络数据传输帧,并将所述网络数据传输帧转发到所述片上总线网络NoC的路由交换逻辑。
通过移除TLP接口与标准总线接口的转接桥,网络接口单元M-NIU或S-NIU可以直接连接到每个PCIe子系统各自的PCIe控制器。并且第一网络接口单元可以直接接收第一PCIe子系统转发的TLP接口数据。根据上文所描述的
Figure BDA0004018562050000111
直接互转操作,相应的网络接口单元完成组帧操作,将TLP格式的接口数据转换为NDTF帧格式。
步骤103:基于所述网络数据传输帧所包含的路由信息,由所述路由交换逻辑将所述网络数据传输帧发送到所述片上总线网络NoC的第二网络接口单元。
片上总线网络NoC的内部数据传输和交换都是基于网络数据传输帧NDTF的,并且参见图4所示,NDTF帧信息至少包含路由信息域段Route_Info,其包含有数据传输源和目的路由信息。因此所述路由交换逻辑可以得到当前NDTF帧的目的PCIe子系统,并将NDTF帧发送到与目的PCIe子系统相对应的第二网络接口单元。
步骤104:在所述第二网络接口单元解析所述网络数据传输帧,得到所述TLP接口数据,并将所述TLP接口数据直接转发到所述PCIe HBA IOC的第二PCIe子系统。
与第一网络接口单元类似,第二网络接口单元也可以直接与第二PCIe子系统的PCIe控制器相连接,并向第二PCIe子系统直接发送TLP接口数据。然而在发送之前,还需要相应的网络接口单元完成解帧操作,即对应于组帧操作,从NDTF到TLP格式的转换操作。
由此,第二PCIe子系统就可以接收到来自第一PCIe子系统的原始TLP数据,实现互联操作。
本发明提出的使用自定义总线网络与PCIe TLP直接进行传输的方法示意流程示例如图6所示。步骤S0-S14描述了PCIe NVMe SSD C2从主机内存读数据的完成流程,具体说明如下:
1.步骤S0:开始。
2.步骤S1:NVMe SSD C2发出从主机C0读数据的请求TLP。
3.步骤S2:与NVMe SSD C2连接的下连PCIe子系统C1.3将读请求数据TLP转发到所连接的主网络接口单元M_NIU C1.2.4。
4.步骤S3:M_NIU C1.2.4将读请求数据TLP转换成片内读请求网络数据传输帧RR-NDTF(Read Request Network Data Transfer Frame)并转发到Switch C1.2.1。
5.步骤S4:Switch C1.2.1将读请求网络数据传输帧RR-NDTF转发到与上连PCIe系统C.1.1相连接的从属网络接口单元S_NIU C1.2.3。
6.步骤S5:S_NIU C1.2.3解析处理读请求网络数据传输帧RR-NDTF,抽取出读请求数据TLP并转发到上连PCIe系统C.1.1。
7.步骤S6:上连PCIe系统C.1.1将读请求数据TLP转发到主机C0。
8.步骤S7:主机C0接收到读请求数据TLP,从主机内存读取数据,将数据打包成读响应数据TLP并转发回上连PCIe系统C.1.1。
9.步骤S8:上连PCIe子系统C1.1将读响应数据TLP转发到S_NIU C1.2.3。
10.步骤S9:S_NIU C1.2.3将读响应数据TLP转换成片内读响应数据网络数据传输帧RD-NDTF(Read Response Data Network Data Transfer Frame)并转发到SwitchC1.2.1。
11.步骤S10:Switch C1.2.1将读响应数据网络数据传输帧RD-NDTF转发到M_NIUC1.2.4。
12.步骤S11:M_NIU C1.2.4解析处理读响应数据网络数据传输帧RD-NDTF,抽取出读响应数据TLP并发到下连PCIe系统C.1.3。
13.步骤S12:下连PCIe系统C.1.3将读响应数据TLP转发回NVMe SSD C2。
14.步骤S13:NVMe SDD C2接收读响应数据TLP并解析获取读数据并存储到指定位置的存储介质。
15.步骤S14:结束。
尽管图6的示例给出的是读数据操作过程,但本领域技术人员可以理解,写数据操作过程和读操作过程从总线传输的角度是类似的,只需要将NDTF相关域段设置成写操作的对应格式即可,在此不再赘述。
本发明提出的PCIe HBA IOC内部总线网络互联方法,使用自定义总线网络与PCIeTLP直接进行传输。与现有技术相比较,本发明的技术方案具备以下方面的优点:
1)减少芯片的Die尺寸,降低芯片制造成本
Figure BDA0004018562050000131
标准总线接口的转接桥一般会占到PCIe系统总面积的10%~25%,因此使用本发明的技术方案,在下连PCIe子系统较多的情况下,所节省的转接桥的面积是相当可观的。TLP可以直接和自定义总线网络对接,不再需要
Figure BDA0004018562050000132
标准总线接口的转接桥,可以显著地减少芯片的Die尺寸,从而显著降低PCIe HBA IOC的制造成本。
2)减少功耗,降低运营成本
使用本发明的技术方案,由于TLP可以直接和自定义总线网络对接,不再需要
Figure BDA0004018562050000141
标准总线接口的转接桥,故而可以节省原本消耗在
Figure BDA0004018562050000142
标准总线接口的转接桥的功耗,从而减少PCIe HBA存储业务的运营成本,以及减少潜在的额外散热设施成本。
3)减少主机和存储设备之间的数据传输延时,提升性能和用户体验
以AMBA标准总线为例,
Figure BDA0004018562050000143
Bridge会引入约20ns左右的延时。如果PCIeHBA IOC一次读或写数据的操作需要跨2~4次
Figure BDA0004018562050000144
Bridge,则会引入大约40~80ns左右的延时。使用本发明的技术方案,至少节省了大约40~80ns的读写延时,这对于数据读写的响应速度有较大提升,从而提升服务器系统所提供业务的用户体验。
4)便于高效传输PCIe TLP的特有信息,减少由于PCIe协议演进而引入的迭代改动
使用本发明的技术方案,PCIe TLP可以直接和自定义总线网络对接,使得能够传输PCIe TLP中的特有的控制和状态信息,而不需要引入边带信号(Sideband Signal)来实现,从而减少了芯片实现的复杂度,并且随着PCIe总线的不断的迭代演进,PCIe和片内总线网络之间的交互逻辑可以较好地实现重用,从而减少项目潜在的迭代改动。
相应地,本发明在第二方面提供了一种PCIe HBA IOC内部总线网络互联装置,包括:
接收单元,用于当第一PCIe子系统接收到TLP接口数据时,通过所述第一PCIe子系统将所述TLP接口数据直接传输到片上总线网络的第一网络接口单元;
组帧单元,用于在所述第一网络接口单元将所述TLP接口数据转换为预定义格式的网络数据传输帧,并将所述网络数据传输帧转发到所述片上总线网络的路由交换逻辑;
路由单元,用于基于所述网络数据传输帧所包含的路由信息,由所述路由交换逻辑将所述网络数据传输帧发送到所述片上总线网络的第二网络接口单元;
解帧单元,用于在所述第二网络接口单元解析所述网络数据传输帧,得到所述TLP接口数据,并将所述TLP接口数据直接转发到所述PCIe HBA IOC的第二PCIe子系统。
可以理解,上述实施例中描述的数据帧格式、元件拓扑结构和功能模块的数量仅为举例。本领域技术人员还可以根据使用需要,对以上多个实施例的结构特征进行容易想到的组合和调整,或调整上述方法流程的个别步骤的参数或顺序,例如对NDTF的具体帧格式作出适应性调整,而不应将本发明的构思限制于上述示例的具体结构和步骤。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种PCIe HBAIOC内部总线网络互联方法,其特征在于,包括:
当第一PCIe子系统接收到TLP接口数据时,通过所述第一PCIe子系统将所述TLP接口数据直接传输到片上总线网络的第一网络接口单元;
在所述第一网络接口单元将所述TLP接口数据转换为预定义格式的网络数据传输帧,并将所述网络数据传输帧转发到所述片上总线网络的路由交换逻辑;
基于所述网络数据传输帧所包含的路由信息,由所述路由交换逻辑将所述网络数据传输帧发送到所述片上总线网络的第二网络接口单元;
在所述第二网络接口单元解析所述网络数据传输帧,得到所述TLP接口数据,并将所述TLP接口数据直接转发到所述PCIe HBA IOC的第二PCIe子系统。
2.根据权利要求1所述的PCIe HBA IOC内部总线网络互联方法,其特征在于,所述第一PCIe子系统是与主机服务器相连接的上连PCIe子系统,所述第二PCIe子系统是与PCIe存储设备相连接的下连PCIe子系统,并且所述TLP接口数据是所述主机服务器对所述PCIe存储设备的读请求数据或写请求数据或者是所述主机服务器对所述PCIe存储设备的读响应数据或写响应数据。
3.根据权利要求1所述的PCIe HBA IOC内部总线网络互联方法,其特征在于,所述第一PCIe子系统是与PCIe存储设备相连接的下连PCIe子系统,所述第二PCIe子系统是与主机服务器相连接的上连PCIe子系统,并且所述TLP接口数据是所述PCIe存储设备对所述主机服务器的读响应数据或写响应数据或者是所述PCIe存储设备对所述主机服务器的读请求数据或写请求数据。
4.根据权利要求1所述的PCIe HBA IOC内部总线网络互联方法,其特征在于,所述预定义格式的网络数据传输帧包括路由信息、读写操作码以及读写操作状态,所述路由信息包含数据传输源信息和数据传输目的地信息,所述读写操作码用于标识当前网络数据传输帧是读操作还是写操作,所述读写操作状态用于标识当前网络数据传输帧是读或写请求状态还是读或写响应状态。
5.根据权利要求4所述的PCIe HBAIOC内部总线网络互联方法,其特征在于,所述基于所述网络数据传输帧所包含的路由信息将所述网络数据传输帧发送到所述片上总线网络的第二网络接口单元,进一步包括:
所述路由交换逻辑根据所述路由信息中的所述数据传输目的地信息,确定所述第二PCIe子系统,并将所述网络数据传输帧发送到对应于所述第二PCIe子系统的第二网络接口单元。
6.一种PCIe HBAIOC内部总线网络互联装置,其特征在于,包括:
接收单元,用于当第一PCIe子系统接收到TLP接口数据时,通过所述第一PCIe子系统将所述TLP接口数据直接传输到片上总线网络的第一网络接口单元;
组帧单元,用于在所述第一网络接口单元将所述TLP接口数据转换为预定义格式的网络数据传输帧,并将所述网络数据传输帧转发到所述片上总线网络的路由交换逻辑;
路由单元,用于基于所述网络数据传输帧所包含的路由信息,由所述路由交换逻辑将所述网络数据传输帧发送到所述片上总线网络的第二网络接口单元;
解帧单元,用于在所述第二网络接口单元解析所述网络数据传输帧,得到所述TLP接口数据,并将所述TLP接口数据直接转发到所述PCIe HBA IOC的第二PCIe子系统。
7.根据权利要求6所述的PCIe HBAIOC内部总线网络互联装置,其特征在于,所述第一PCIe子系统是与主机服务器相连接的上连PCIe子系统,所述第二PCIe子系统是与PCIe存储设备相连接的下连PCIe子系统,并且所述TLP接口数据是所述主机服务器对所述PCIe存储设备的读请求数据或写请求数据或者是所述主机服务器对所述PCIe存储设备的读响应数据或写响应数据。
8.根据权利要求6所述的PCIe HBA IOC内部总线网络互联装置,其特征在于,所述第一PCIe子系统是与PCIe存储设备相连接的下连PCIe子系统,所述第二PCIe子系统是与主机服务器相连接的上连PCIe子系统,并且所述TLP接口数据是所述PCIe存储设备对所述主机服务器的读响应数据或写响应数据或者是所述PCIe存储设备对所述主机服务器的读请求数据或写请求数据。
9.根据权利要求6所述的PCIe HBA IOC内部总线网络互联装置,其特征在于,所述预定义格式的网络数据传输帧包括路由信息、读写操作码以及读写操作状态,所述路由信息包含数据传输源信息和数据传输目的地信息,所述读写操作码用于标识当前网络数据传输帧是读操作还是写操作,所述读写操作状态用于标识当前网络数据传输帧是读或写请求状态还是读或写响应状态。
10.根据权利要求9所述的PCIe HBAIOC内部总线网络互联装置,其特征在于,所述路由单元进一步被配置为:
根据所述路由信息中的所述数据传输目的地信息,由所述路由交换逻辑确定所述第二PCIe子系统,并将所述网络数据传输帧发送到对应于所述第二PCIe子系统的第二网络接口单元。
CN202211676792.5A 2022-12-26 2022-12-26 一种PCIe HBA IOC内部总线网络互联方法 Active CN115827532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211676792.5A CN115827532B (zh) 2022-12-26 2022-12-26 一种PCIe HBA IOC内部总线网络互联方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211676792.5A CN115827532B (zh) 2022-12-26 2022-12-26 一种PCIe HBA IOC内部总线网络互联方法

Publications (2)

Publication Number Publication Date
CN115827532A true CN115827532A (zh) 2023-03-21
CN115827532B CN115827532B (zh) 2023-10-13

Family

ID=85518379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211676792.5A Active CN115827532B (zh) 2022-12-26 2022-12-26 一种PCIe HBA IOC内部总线网络互联方法

Country Status (1)

Country Link
CN (1) CN115827532B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753388A (zh) * 2008-11-28 2010-06-23 中国科学院微电子研究所 适用于多核处理器片上和片间扩展的路由及接口装置
CN106407522A (zh) * 2016-08-31 2017-02-15 德为显示科技股份有限公司 基于fpga的逻辑ip总线互联实现装置
CN111555901A (zh) * 2020-03-16 2020-08-18 中国人民解放军战略支援部队信息工程大学 灵活支持混合总线协议的芯片配置网络系统
CN115379018A (zh) * 2021-05-20 2022-11-22 思想系统公司 使用数据路径状态复制和中间设备映射进行服务分配的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753388A (zh) * 2008-11-28 2010-06-23 中国科学院微电子研究所 适用于多核处理器片上和片间扩展的路由及接口装置
CN106407522A (zh) * 2016-08-31 2017-02-15 德为显示科技股份有限公司 基于fpga的逻辑ip总线互联实现装置
CN111555901A (zh) * 2020-03-16 2020-08-18 中国人民解放军战略支援部队信息工程大学 灵活支持混合总线协议的芯片配置网络系统
CN115379018A (zh) * 2021-05-20 2022-11-22 思想系统公司 使用数据路径状态复制和中间设备映射进行服务分配的方法和系统

Also Published As

Publication number Publication date
CN115827532B (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
US11256644B2 (en) Dynamically changing configuration of data processing unit when connected to storage device or computing device
TWI534629B (zh) 資料傳輸方法及資料傳輸系統
EP3032787B1 (en) Method, device, system and storage medium for implementing packet transmission in pcie switching network
KR100687659B1 (ko) Axi 프로토콜에 따른 락 오퍼레이션을 제어하는네트워크 인터페이스, 상기 네트워크 인터페이스가 포함된패킷 데이터 통신 온칩 인터커넥트 시스템, 및 상기네트워크 인터페이스의 동작 방법
CA2657827C (en) Method and apparatus for distributing usb hub functions across a network
CN114546913B (zh) 一种基于pcie接口的多主机之间数据高速交互的方法和装置
CN110297797B (zh) 异构协议转换装置和方法
CN106953853B (zh) 一种片上网络千兆以太网资源节点及其工作方法
WO2012143953A2 (en) Optimized multi-root input output virtualization aware switch
CN108345555B (zh) 基于高速串行通信的接口桥接电路及其方法
US20130268694A1 (en) Pass-through converged network adaptor (cna) using existing ethernet switching device
CN105450588A (zh) 一种基于rdma的数据传输方法及rdma网卡
US9116881B2 (en) Routing switch apparatus, network switch system, and routing switching method
CN204392269U (zh) 一种全可编程sdn高速网卡
JP2009282917A (ja) サーバ間通信機構及びコンピュータシステム
CN110855581B (zh) 适用于vpx架构的40g和srio复用的国产交换刀片装置
CN113347017A (zh) 一种网络通信的方法、装置、网络节点设备及混合网络
JP2003050788A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
CN115827532B (zh) 一种PCIe HBA IOC内部总线网络互联方法
EP2300925B1 (en) System to connect a serial scsi array controller to a storage area network
KR100755978B1 (ko) 단일 cpu에 의한 적층된 스위치 그룹의 대역내 관리
CN104980371A (zh) 微服务器
CN103744817A (zh) 用于Avalon总线向Crossbar总线的通讯转换桥设备及其通讯转换方法
CN113709066B (zh) 一种PCIe通信装置及BMC
US8054857B2 (en) Task queuing methods and systems for transmitting frame information over an I/O interface

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