CN1953461B - 编码数据包头以启用PCIe链路高带宽效率的***和方法 - Google Patents
编码数据包头以启用PCIe链路高带宽效率的***和方法 Download PDFInfo
- Publication number
- CN1953461B CN1953461B CN2006101528138A CN200610152813A CN1953461B CN 1953461 B CN1953461 B CN 1953461B CN 2006101528138 A CN2006101528138 A CN 2006101528138A CN 200610152813 A CN200610152813 A CN 200610152813A CN 1953461 B CN1953461 B CN 1953461B
- Authority
- CN
- China
- Prior art keywords
- memory
- packet
- head part
- field
- request
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 37
- 230000002093 peripheral effect Effects 0.000 claims abstract description 17
- 230000015654 memory Effects 0.000 claims description 77
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种采用***部件互连高速(PCIe)链路的计算机***包括产生一PCIe数据包的装置,其中所述PCIe数据包具有小于一常规PCI数据包头部分的一头部分。所述装置可为例如一图形处理器的一端点装置和例如一根联合体的一芯片组。所述经减小尺寸的头改进所述计算机***的总线吞吐率且减少所述计算机***的功率需求。
Description
技术领域
本发明大体上涉及计算机***的通信。更明确地说,本发明涉及一种用于一采用***部件互连高速(PCIe)链路计算机***中通信的方法和***。
背景技术
***部件互连高速(PCIe)是用于一计算机内两个或两个以上装置之间的通信的通用输入/输出(I/O)互连。所述装置的实例可包括一图形处理器和一芯片组。采用PCIe的计算机***通过发送数据包来通信。数据包形成于三个离散逻辑层中,所述三个离散逻辑层包括处理层、数据链路层和物理层。每一数据包具有一对应于这些层和一数据有效载荷部分的头。头含有可包括数据包格式、类型和属性的信息,地址/路由信息,编码信息和数据保护。数据有效载荷部分含有装置所需的数据。
在常规***中,在由端点装置发出的存储器读取请求完成时,由包含根联合体的芯片组产生读取完成数据包。所述读取完成数据包包括常规读取完成头部分和数据有效载荷部分。常规读取完成头部分包括长度为两个字节的物理层头、长度为六个字节的数据链路层头和长度为十二个字节的处理层头。
此外,在常规***中,存储器写入请求数据包由端点装置在发出存储器写入请求到根联合体时产生。存储器写入请求数据包包括常规存储器写入请求头部分和数据有效载荷部分。所述常规存储器写入请求头部分包括长度为两个字节的物理层头、长度为六个字节的数据链路层头和长度为十二个字节的处理层头。
这些数据包大量消耗采用PCIe链路的计算机***的总线带宽且限制所述***的总线吞吐率。因此存在对一种可增加采用PCIe链路的计算机***的总线吞吐率的方法和***的需要。
发明内容
本发明的一方面是提供一种用于改进采用PCIe链路的计算机***的总线吞吐率的方法和***。
为了达成上述方面,提供用于采用***部件互连高速(PCIe)链路的计算机***中通信的方法和***。
本发明的一实施例中,提供一种处理存储器读取请求的方法。所述方法包括在PCIe链路上接收所述存储器读取请求且根据所述存储器读取请求从一存储器位置读取数据。所述方法进一步包括产生一读取完成数据包,其包括一头部分和一数据有效载荷部分,其中所述头部分长度小于20字节。接着在PCIe链路上传输所述读取完成数据包。
在本发明的另一实施例中,提供一种在PCIe链路上发出一存储器写入请求的方法。所述方法包括产生一存储器写入请求数据包,其包括一头部分和一数据有效载荷部分。所述头部分长度小于20字节。接着在PCIe链路上传输所述存储器写入请求。
附图说明
随附图式(其中遍布不同的图,相似参考数字指相同或功能上相似的元件)和下文的具体实施方式一起并入说明书且形成说明书的一部分,用以根据本发明进一步说明各实施例且解释各原则和优势。
图1是一显示一环境(其为例示性的,本发明的各实施例可在其中起作用)的方框图。
图2是一用于处理计算机***中的存储器读取请求的方法步骤的流程图。
图3是根据本发明的一实施例的用于发出存储器读取请求的方法步骤的流程图。
图4A显示现有技术读取完成数据包的一头部分。
图4B显示根据本发明的一例示性实施例产生的读取完成数据包的一头部分。
图5是一用于在计算机***中发出一存储器写入请求的方法步骤的流程图。
图6A显示现有技术存储器写入请求数据包的头部分。
图6B显示根据本发明的一例示性实施例产生的存储器写入请求数据包的一头部分。
图7是一显示根据本发明的一实施例的计算机***的方框图。
参考数字
100 环境
102 芯片组
104,106 端点装置
108 中央处理单元(CPU)
110 存储器
402,404,602,604 头部分
700 计算机***
702 端点装置
704 芯片组
706 跟踪表模块
具体实施方式
本发明的各实施例提供用于采用***部件互连高速(PCIe)链路的计算机***中的通信的方法和***。PCIe是一用于一计算机内的两个或两个以上装置之间的通信的通用输入/输出(I/O)互连。所述装置可包括一个或一个以上端点装置和一芯片组。
图1是显示环境100(其为例示性的,例如计算机***,本发明的各实施例可在其中起作用)的方框图。环境100包括一芯片组102、一端点装置104和一端点装置106。所属领域的技术人员将易于了解,端点装置的数量不以任何形式限制本发明。
芯片组102是根联合体,例如芯片组,其包含与端点装置104和端点装置106中的至少一个通信的普通地熟知为北桥和南桥的芯片、一中央处理单元(CPU)108和一用于存储可由不同单元所需的信息的存储器110。芯片组102经PCIe链路连接到端点装置104和端点装置106。芯片组102、端点装置104和端点装置106中的每一个具备一经特定配置的PCIe接口,经所述接口形成PCIe链路连接。芯片组102也可通过PCIe链路经连接到芯片组102、端点装置104和端点装置106中的每一个的交换器与端点装置104和端点装置106通信。
端点装置104和端点装置106可包含I/O装置。这些端点装置的实例可包括(但不限于)图形处理器、以太网卡和声卡。通过在将端点装置104、106连接到芯片组102的PCIe链路上发送复数个PCIe数据包而执行通信。
PCIe数据包大致形成于离散逻辑层中,例如处理层、数据链路层和物理层。每一PCIe数据包含有一对应于这些离散逻辑层中的一个或一个以上的头,即处理层头(TLH)、数据链路层头(DLLH)和物理层头(PLH)。包含于这些头中的数据包括(但不限于)PCIe数据包的格式、类型、属性,地址/路由信息,编码信息,数据保护和数据有效载荷的长度。除这些头以外,每一PCIe数据包包括一数据有效载荷。所述数据有效载荷含有待由接收PCIe数据包的逻辑装置使用的数据。在下文中解释根据本发明的各实施例用于PCIe***中通信的用于产PCIe数据包的方法。
图2是根据本发明的一实施例处理计算机***中存储器读取请求的方法步骤的流程图。所述计算机***包含一第一装置和一第二装置,其通过PCIe链路相互耦合。所述第一装置可为端点装置104、106中的一个且所述第二装置可为芯片组102。第一装置发出存储器读取请求。本发明的一实施例中,第一装置在由存储器-读取标签索引的跟踪表中存储至少一个必要参数。结合图3解释所述存储至少一个必要参数的方法。
在步骤202中,由第二装置接收存储器读取请求。在步骤204,根据存储器读取请求由第二装置从存储器位置读取数据。存储器位置的实例可包括(但不限于)随机存取存储器(RAM)、只读存储器(ROM)和动态随机存取存储器(DRAM)。在步骤206,在完成存储器读取请求时产生读取完成数据包。其后,在步骤208,将读取完成数据包经PCIe链路传输到第一装置。
读取完成数据包包括数据有效载荷部分和头部分。数据有效载荷部分包括在存储器读取请求中由第一装置所请求的信息。头部分长度小于20字节。在本发明的一例示性实施例中,头部分包括一长度为两个字节的PLH和一长度为六个字节的DLLH。结果,在本发明的此例示性实施例中,读取完成数据包头部分的长度为八个字节。
本发明的一实施例中,在读取完成数据包头部分上传输处理层数据包(TLP)序列号和完成标签。TLP序列号是PCIe数据包的识别号。完成标签参考跟踪表,其含有与存储器读取请求关联的至少一个必要参数。
图3是根据本发明的一实施例的用于发出存储器读取请求的方法步骤流程图。在步骤302,第一装置在跟踪表中存储与存储器读取请求关联的至少一个必要参数。至少一个必要参数的实例可包括通信量级别(TC)字段、灵活排序(RO)字段、非监控(NS)字段、字节计数字段和较低地址字段。TC字段将PCI处理序列分为不同级别。每一级别使PCI处理序列与其所需的服务类型关联。RO字段和NO字段为帮助处理PCIe链路上的通信量的属性。这些字段中的值必须随存储器读取请求被执行和读取完成被报告而保持相同。字节计数字段传送存在于数据包中的数据字节数。较低地址字段为读取位置的最低七位。在存储器读取请求数据包的头部分中指定完整的读取地址。在步骤304,跟踪表以与由第一装置发出的存储器读取请求一起传输的存储器-读取标签为索引。存储器-读取标签为8位的号码。在本文说明的本发明的实施例中,存储器-读取标签具有小于16的值。在步骤306,由第一装置将PCIe数据包传输到第二装置以发出存储器读取请求。
图4A显示现有技术读取完成数据包的头部分402。头部分402包括一长度为两个字节的PLH(未显示于图4A)、一长度为六个字节的DLLH(其包括图4A显示的两个字节和图4A中未显示的链路循环冗余检查(LCRC)码的四个字节),和长度为十二字节的TLH。头部分402的DLLH包括第零字节和第一字节。头部分402的TLH包括从第二字节到第13字节的字节。TLP序列号在与第一字节的八位连接的头部分402的第零字节的前四位上传输。第零字节的最后四位作为保留位传输。此外,第一组参数在头部分402的TLH上传输。第一组参数包括格式字段、类型字段、存储器-标签字段、TC字段、处理描述(TD)字段、端点(EP)字段、RO字段、NS字段、完成者ID、请求者ID、完成状态、较低地址字段、长度字段、BC字段和字节计数字段。
格式字段描述请求格式。类型字段描述请求类型。另外,头部分402的存储器-标签字段长度为八位。TD字段描述PCIe处理序列的特性。EP字段用于错误转送。长度字段含有对应于响应读取请求而读取的字节总数的值。完成者ID为完成者的用于唯一识别完成者的总线号、装置号和功能号的组合。请求者ID为请求者的用于唯一识别请求者的总线号、装置号和功能号的组合。完成状态指示所请求的读取是否成功。BC字段通常为零。
除第一组参数外,头部分402的TLH的复数个位作为保留位传输。举例来说,头部分402的TLH的第二字节的第七位、第三字节的第零位到第三位和第三字节的第七位、第四字节的第二位和第三位、第13字节的第七位作为保留位传输。
图4B显示根据本发明的例示性实施例产生的读取完成数据包的头部分404。头部分404包括一长度为两个字节的PLH(未显示于图4B中)和一长度为六个字节的DLLH(其包括图4B显示的两个字节和图4B中未显示的LCRC码的四个字节)。TLP序列号和完成标签在头部分404的DLLH上传输。TLP序列号在与头部分404的DLLH的第零字节的前四位连接的第一字节的八位上传输。完成标签长度为四位且在头部分404的DLLH的第零字节的最后四位上传输。完成标签包括与存储器读取请求一起传输的存储器-读取标签的四个最不重要位。在本文说明的本发明的实施例中,存储器-读取标签的四个最不重要位假设为零且不包括在头部分404中。
第一装置接收具有头部分404的读取完成数据包且以以下方式提取头信息。首先,读取完成数据包的格式和类型不包括于头部分404中而读取完成数据包仅具有一类型,即读取完成,且因此第一装置的PCIe接口假设所接收到的PCIe数据包具有读取完成类型。存在其他头信息,其被假设具有某些值且因此不包括于头部分404中。其包括:TD字段,其被假设为零;EP字段,其被假设为零;完成状态,其被假设为成功;BC字段,其被假设为零;和存储器-标签字段的四个最不重要位,其被假设为零。另外,不使用完成者ID和请求者ID,且这些字段不包括于头部分404中。长度字段不包括于头部分404中,因为数据包长度从所接收的数据包计算。使用完成标签从跟踪表恢复剩余的头信息,包括TC字段、RO字段、NS字段、字节计数字段和较低地址字段。
图5是根据本发明的一实施例计算机***中发出存储器写入请求的方法步骤的流程图。计算机***包括一第一装置和一第二装置,其通过一PCIe链路相互耦合。第一装置可具有端点装置104、106中的一个且第二装置可为芯片组102。由第一装置发出存储器写入请求。在步骤502,产生存储器写入请求数据包。存储器写入请求数据包包括一数据有效载荷部分和一小于20字节的头部分。数据有效载荷部分含有第二装置所需的用于处理存储器写入请求的信息。在本发明的一例示性实施例中,头部分包括一长度为两个字节的PLH、一长度为六个字节的DLLH和一长度为四个字节的TLH。结果,在此例示性实施例中,头部分长度为12字节。
另外,在步骤504,存储器写入请求数据包在PCIe链路上传输到第二装置。TLP序列号和一预定组的参数在存储器写入请求数据包的头部分上传输。
预定组的参数包括格式指示符、尺寸指示符、TC字段、RO字段和NS字段中的一个或一个以上。此外,预定组参数包括一存储器写入地址。
图6A显示现有技术存储器写入请求数据包的一头部分602。头部分602包括一长度为两个字节的PLH(未显示于图6A中)、一长度为六个字节的DLLH(其包括显示于图6A中的两个字节和未显示于图6A中的LCRC码的四个字节),和一长度为十二个字节的TLH。头部分602的DLLH包括第零字节和第一字节,且头部分602的TLH包括从第二字节到第13字节的字节。TLP序列号在与第零字节的前四位连接的第一字节的八位上传输。第零字节的最后四位作为保留位传输。其他参数包括格式字段、类型字段、存储器-写入标签字段、3位TC字段、TD字段、BP字段、RO字段、NS字段、长度字段、请求者ID字段、最后的双字字节使能(最后的DW BE)字段和第一DW BE字段。最后的DW BE字段含有用于服务请求的最后DW的字节使能。第一DW BE字段含有用于服务请求的第一DW的字节使能。另外,地址位在第十字节、第十一字节、第十二字节和第十三字节的最后六位上传输。第二字节的第七位、第三字节的第零位到第三位和第三字节的第七位、第四字节的第二位和第三位和第十三字节的第零位和第一位作为保留位传输。
图6B显示根据本发明的一例示性实施例产生的存储器写入请求数据包的头部分604。头部分604包括一长度为两个字节的PLH(未显示于图6B中)、一长度为六个字节的DLLH(其包括显示于图6B中的两个字节和未显示于图6B中的LCRC码的四个字节),和一长度为四个字节的TLH。DLLH包括第零字节和第一字节。TLH包括第二字节、第三字节、第四字节和第五字节。
TLP序列号和预定组参数在头部分604上传输。TLP序列号在与第零字节的四位连接的第一字节上传输。预定组参数包括格式指示符,尺寸指示符,TC字段的第一位和第二位、RO字段和NS字段。格式指示符在DLLH的第零字节的第七位上传输,且其含有对应于存储器写入请求的值之一。在DLLH的第零字节的第六位上传输的尺寸指示符含有对应于存储器写入请求数据包的64位尺寸的值之一。尺寸指示符的一零值对应于存储器写入请求数据包的32位尺寸。另外,TC字段的第一位和第二位在第零字节的第五和第四位上传输。除这些参数以外,地址位在与第五字节的五位连接的第二、第三、第四字节上传输。另外,RO字段在第一位上传输,且NS字段在第五字节的第零位上传输。
第二装置接收存储器以以下方式写入请求并提取头信息。格式和类型编码为1和1以指示一64位存储器写入请求,且编码为1和0以指示一32位存储器写入请求。存在其他头信息,其被假设为具有某些值且因此不包括于头部分604中。其包括:TC字段的第三位,其被假设为零;TD字段,其被假设为零;EP字段,其被假设为零;和最后DW BE字段和第一DW BE字段中的每一个,其被假设为具有值之一。另外,不使用请求者ID和存储器-写入标签且其不包括于头部分604中。
图7是显示根据本发明的一实施例的计算机***700的方框图。计算机***700包括一装置,其具有一PCIe接口,其经编程以产生一具有一小于20字节的头部分的PCIe数据包。所述装置可为一端点装置702和一芯片组704中的一个。
本发明的一实施例中,PCIe数据包可为一由与存储器读取请求相关的端点装置702产生的存储器写入请求数据包。一预定组参数和一TLP序列号在由芯片组704接收的存储器写入请求数据包上传输。接着由芯片组704的PCIe接口提取预定组参数。在本发明的另一实施例中,PCIe数据包可为当由端点装置702发出的存储器读取请求已完成时由芯片组704产生的读取完成数据包。完成标签和TLP序列号在由端点装置702接收的读取完成数据包上传输。头信息由的端点装置702的PCIe接口提取。
端点装置702可包括一跟踪表模块706,其在跟踪表中存储与存储器读取请求关联的至少一个必要参数。使用跟踪表由端点装置702在其响应存储器读取请求从芯片组704接收到读取完成数据包时恢复所述至少一个必要参数。
本发明的各实施例提供一种用于改进PCIe链路的总线吞吐率的方法和***。举例来说,对于具有32字节的有效载荷的完成数据包,总线吞吐率从61%改进到80%。同样,对于具有64字节的有效载荷的完成数据包,总线吞吐率从76%改进到89%。在另一实例中,对于具有32字节的有效载荷的已标出的写入数据包,总线吞吐率从61%改进到73%。同样,对于具有64字节的有效载荷的已标出的写入数据包,总线吞吐率从76%改进到84%。
另外,实施本发明各方面的计算机***较快地转换到低功率状态且停留在低功率状态较长时间。这对省电作出贡献,其在移动式应用中非常有价值。
尽管已结合本发明的特定实施例对其进行了描述,但所属领域的技术人员将易于了解额外的优势和修改。因此本发明在其广泛方面不限于所展示和描述的特定细节、代表性设备和说明性实例。按照上文描述,所属领域的技术人员将易于了解各种改变、修改和变化。因此,应理解本发明不受上文描述的限制,而包含根据所附的权利要求书的精神和范畴的所有这些改变、修改和变化。
Claims (14)
1.一种在一具有通过一***部件互连高速链路相互耦合的一第一装置和一第二装置的计算机***中通过所述第二装置处理一存储器读取请求的方法,所述方法包含以下步骤:
a.在发出所述存储器读取请求之前,将至少一个必要参数存储于一跟踪表中,所述跟踪表以一存储器-读取标签为索引;
b.接收由所述第一装置在所述***部件互连高速链路上发出的所述存储器读取请求;
c.根据所述存储器读取请求从一存储器位置读取数据;
d.产生一读取完成数据包,其包括一头部分和一数据有效载荷部分,其中所述头部分长度小于20字节,其中在所述读取完成数据包的所述头部分上传输一处理层数据包序列号和一完成标签,所述完成标签用来恢复与所述存储器读取请求关联的所述至少一个必要参数;和
e.在所述***部件互连高速链路上将所述读取完成数据包传输到所述第一装置。
2.根据权利要求1所述的方法,其中所述第一装置为一端点装置,且所述第二装置为一芯片组。
3.根据权利要求1所述的方法,其中所述头部分长度为八字节。
4.一种在一具有通过一***部件互连高速链路相互耦合的一第一装置和一第二装置的计算机***中通过所述第一装置发出一存储器写入请求的方法,所述方法包含以下步骤:
a.产生一存储器写入请求数据包,其包括一头部分和一数据有效载荷部分,其中所述头部分长度小于20字节,且其中所述头部分包含通信量级别字段的第三位,其被假设为零;处理描述字段,其被假设为零;端点字段,其被假设为零;和最后双字字节使能字段和第一双字字节使能字段中的每一个,其均被假设为具有值一;不使用请求者ID和存储器-写入标签且其不包括于头部分中;和
b.在所述***部件互连高速链路上将所述存储器写入请求数据包传输到所述第二装置。
5.根据权利要求4所述的方法,其中所述第一装置为一端点装置,且所述第二装置为一芯片组。
6.根据权利要求4所述的方法,其中所述头部分长度为12字节。
7.根据权利要求4所述的方法,其中在所述存储器写入请求数据包上传输一处理层数据包序列号和一预定组参数。
8.根据权利要求7所述的方法,其中所述预定组参数包括一存储器写入地址。
9.根据权利要求7所述的方法,其中所述预定组参数包含下列参数中的至少一者:
a.一格式指示符,所述格式指示符指示数据包的一格式和类型;
b.一尺寸指示符,所述尺寸指示符指示所述数据包的尺寸;
c.一通信量级别字段,所述通信量级别字段将***部件互连处理序列分为不同级别;和
d.一灵活排序字段和一非监控字段中的至少一者。
10.一种计算机***,其包含一装置,所述装置经编程以产生一***部件互连高速数据包,所述***部件互连高速数据包包括一头部分,所述头部分长度小于20字节;
其中所述***部件互连高速数据包为一存储器写入请求数据包,且所述存储器写入请求数据包是由所述装置结合一存储器写入请求而产生,且其中一处理层数据包序列号和一预定组参数在所述存储器写入请求数据包上传输;和
其中所述装置包含一跟踪表模块,所述跟踪表模块在一跟踪表中存储与一存储器读取请求关联的至少一个必要参数,所述装置在其响应所述存储器读取请求而接收到一读取完成数据包时恢复所述至少一个必要参数。
11.根据权利要求10所述的计算机***,其中所述装置为一端点装置。
12.根据权利要求10所述的计算机***,其中所述装置为一图形处理器。
13.一种计算机***,其包含一装置,所述装置经编程以产生一***部件互连高速数据包,所述***部件互连高速数据包包括一头部分,所述头部分长度小于20字节;
其中所述***部件互连高速数据包是一读取完成数据包,且所述读取完成数据包由所述装置结合一存储器读取请求的一完成而产生,且其中一处理层数据包序列号和一完成标签在所述读取完成数据包上传输;并且其中所述完成标签参考一跟踪表,所述跟踪表包含在一跟踪表模块中,且所述跟踪表模块在所述跟踪表中存储与所述存储器读取请求关联的所述至少一个必要参数。
14.根据权利要求13所述的计算机***,其中所述装置是一芯片组。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/253,870 US8516165B2 (en) | 2005-10-19 | 2005-10-19 | System and method for encoding packet header to enable higher bandwidth efficiency across bus links |
US11/253,870 | 2005-10-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1953461A CN1953461A (zh) | 2007-04-25 |
CN1953461B true CN1953461B (zh) | 2011-01-12 |
Family
ID=38059574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101528138A Active CN1953461B (zh) | 2005-10-19 | 2006-10-18 | 编码数据包头以启用PCIe链路高带宽效率的***和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8516165B2 (zh) |
CN (1) | CN1953461B (zh) |
TW (1) | TWI339798B (zh) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60222782D1 (de) * | 2001-08-24 | 2007-11-15 | Intel Corp | Eine allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zur unterstützung von bestehenden unterbrechungen |
US9836424B2 (en) * | 2001-08-24 | 2017-12-05 | Intel Corporation | General input/output architecture, protocol and related methods to implement flow control |
JP2005242806A (ja) * | 2004-02-27 | 2005-09-08 | Renesas Technology Corp | データ処理装置 |
WO2005091136A1 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for a self-optimizing reservation in time of compute resources |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
CA2586763C (en) | 2004-11-08 | 2013-12-17 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
US7765357B2 (en) * | 2005-03-24 | 2010-07-27 | Fujitsu Limited | PCI-express communications system |
JP4410190B2 (ja) * | 2005-03-24 | 2010-02-03 | 富士通株式会社 | PCI−Express通信システム |
WO2006108187A2 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
US7916750B2 (en) * | 2005-12-28 | 2011-03-29 | Intel Corporation | Transaction layer packet compression |
US8139574B2 (en) * | 2006-08-18 | 2012-03-20 | George Madathilparambil George | Creation and transmission of part of protocol information corresponding to network packets or datalink frames separately |
CN101087256B (zh) * | 2007-07-13 | 2011-08-17 | 杭州华三通信技术有限公司 | 报文传输方法及*** |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US20100011146A1 (en) * | 2008-07-11 | 2010-01-14 | Lsi Corporation | Conveying Information With a PCI Express Tag Field |
US8108584B2 (en) * | 2008-10-15 | 2012-01-31 | Intel Corporation | Use of completer knowledge of memory region ordering requirements to modify transaction attributes |
US20100306442A1 (en) * | 2009-06-02 | 2010-12-02 | International Business Machines Corporation | Detecting lost and out of order posted write packets in a peripheral component interconnect (pci) express network |
US8599863B2 (en) | 2009-10-30 | 2013-12-03 | Calxeda, Inc. | System and method for using a multi-protocol fabric module across a distributed server interconnect fabric |
US9077654B2 (en) | 2009-10-30 | 2015-07-07 | Iii Holdings 2, Llc | System and method for data center security enhancements leveraging managed server SOCs |
US20130107444A1 (en) | 2011-10-28 | 2013-05-02 | Calxeda, Inc. | System and method for flexible storage and networking provisioning in large scalable processor installations |
US20110103391A1 (en) | 2009-10-30 | 2011-05-05 | Smooth-Stone, Inc. C/O Barry Evans | System and method for high-performance, low-power data center interconnect fabric |
US9876735B2 (en) * | 2009-10-30 | 2018-01-23 | Iii Holdings 2, Llc | Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect |
US9465771B2 (en) | 2009-09-24 | 2016-10-11 | Iii Holdings 2, Llc | Server on a chip and node cards comprising one or more of same |
US9054990B2 (en) | 2009-10-30 | 2015-06-09 | Iii Holdings 2, Llc | System and method for data center security enhancements leveraging server SOCs or server fabrics |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9680770B2 (en) | 2009-10-30 | 2017-06-13 | Iii Holdings 2, Llc | System and method for using a multi-protocol fabric module across a distributed server interconnect fabric |
US9648102B1 (en) | 2012-12-27 | 2017-05-09 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9311269B2 (en) | 2009-10-30 | 2016-04-12 | Iii Holdings 2, Llc | Network proxy for high-performance, low-power data center interconnect fabric |
US8375156B2 (en) * | 2010-11-24 | 2013-02-12 | Dialogic Corporation | Intelligent PCI-express transaction tagging |
CN102622044B (zh) * | 2011-01-28 | 2014-04-02 | 微盟电子(昆山)有限公司 | 主机板及其pcie端口动态配置方法 |
US9432298B1 (en) | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
CN103049240B (zh) * | 2011-10-13 | 2016-03-02 | 北京同步科技有限公司 | Pci-e设备及其接收数据重排序方法 |
US9092594B2 (en) | 2011-10-31 | 2015-07-28 | Iii Holdings 2, Llc | Node card management in a modular and large scalable server system |
US20130173834A1 (en) * | 2011-12-30 | 2013-07-04 | Advanced Micro Devices, Inc. | Methods and apparatus for injecting pci express traffic into host cache memory using a bit mask in the transaction layer steering tag |
US8943255B2 (en) | 2012-05-29 | 2015-01-27 | Lsi Corporation | Methods and structure for accounting for connection resets between peripheral component interconnect express bridges and host devices |
CN105721338B (zh) * | 2016-01-29 | 2019-08-02 | 浪潮(北京)电子信息产业有限公司 | 一种接收数据的处理方法及装置 |
US20170269959A1 (en) * | 2016-03-15 | 2017-09-21 | Intel Corporation | Method, apparatus and system to send transactions without tracking |
KR102429904B1 (ko) * | 2017-09-08 | 2022-08-05 | 삼성전자주식회사 | PCIe P2P 접속의 밴드위스를 최대화할 수 있는 방법 및 시스템 |
JP2019164486A (ja) * | 2018-03-19 | 2019-09-26 | 東芝メモリ株式会社 | 情報処理システム、情報処理方法及びメモリシステム |
US10866917B2 (en) * | 2018-12-03 | 2020-12-15 | Ati Technologies Ulc | Inter device data exchange via external bus by utilizing communication port |
EP4080844A4 (en) * | 2020-01-22 | 2022-12-21 | Huawei Technologies Co., Ltd. | PCIE-BASED DATA TRANSMISSION METHOD AND DEVICE |
CN113439419B (zh) * | 2020-01-22 | 2023-02-14 | 华为技术有限公司 | 一种基于PCIe的数据传输方法、装置及*** |
EP4080845A4 (en) * | 2020-01-22 | 2023-01-11 | Huawei Technologies Co., Ltd. | METHOD AND DEVICE FOR DATA TRANSMISSION ON PCIE BASE |
CN111954265B (zh) * | 2020-08-17 | 2023-12-19 | Oppo广东移动通信有限公司 | 一种生成包头的方法及终端、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1347062A (zh) * | 2001-11-26 | 2002-05-01 | 北方交通大学 | 千兆ip网卡 |
CN1426203A (zh) * | 2001-12-11 | 2003-06-25 | 深圳市中兴通讯股份有限公司上海第二研究所 | 数据包在不同总线间转发的装置及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6032197A (en) * | 1997-09-25 | 2000-02-29 | Microsoft Corporation | Data packet header compression for unidirectional transmission |
US6574238B1 (en) * | 1998-08-26 | 2003-06-03 | Intel Corporation | Inter-switch link header modification |
US6480489B1 (en) * | 1999-03-01 | 2002-11-12 | Sun Microsystems, Inc. | Method and apparatus for data re-assembly with a high performance network interface |
US6330630B1 (en) * | 1999-03-12 | 2001-12-11 | Intel Corporation | Computer system having improved data transfer across a bus bridge |
US6970450B1 (en) * | 1999-10-29 | 2005-11-29 | Array Telecom Corporation | System, method and computer program product for point-to-point bandwidth conservation in an IP network |
US7184399B2 (en) * | 2001-12-28 | 2007-02-27 | Intel Corporation | Method for handling completion packets with a non-successful completion status |
US20050002265A1 (en) * | 2003-07-01 | 2005-01-06 | Broadcom Corporation | Header compression |
US7210000B2 (en) * | 2004-04-27 | 2007-04-24 | Intel Corporation | Transmitting peer-to-peer transactions through a coherent interface |
US7246191B2 (en) * | 2005-03-31 | 2007-07-17 | Intel Corporation | Method and apparatus for memory interface |
US7536489B2 (en) * | 2005-08-30 | 2009-05-19 | Ricoh Company Limited | Information processing system for determining payload size based on packet-to-payload size ratio |
-
2005
- 2005-10-19 US US11/253,870 patent/US8516165B2/en active Active
-
2006
- 2006-10-18 CN CN2006101528138A patent/CN1953461B/zh active Active
- 2006-10-18 TW TW095138456A patent/TWI339798B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1347062A (zh) * | 2001-11-26 | 2002-05-01 | 北方交通大学 | 千兆ip网卡 |
CN1426203A (zh) * | 2001-12-11 | 2003-06-25 | 深圳市中兴通讯股份有限公司上海第二研究所 | 数据包在不同总线间转发的装置及方法 |
Non-Patent Citations (1)
Title |
---|
Base Specification.PCI ExpressRevision 1.1.2005,Revision 1.130-33,45-61,141-146. * |
Also Published As
Publication number | Publication date |
---|---|
US20070130397A1 (en) | 2007-06-07 |
CN1953461A (zh) | 2007-04-25 |
US8516165B2 (en) | 2013-08-20 |
TW200732921A (en) | 2007-09-01 |
TWI339798B (en) | 2011-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1953461B (zh) | 编码数据包头以启用PCIe链路高带宽效率的***和方法 | |
CN102984123B (zh) | 使用多个消息组的计算机***中的代理之间的通信消息请求事务类型 | |
DE112010001824B4 (de) | Paketierte Schnittstelle zur Kopplung von Agenten | |
CN101501660B (zh) | 因特网连接交换机和因特网连接*** | |
US7916750B2 (en) | Transaction layer packet compression | |
CN103490852B (zh) | 用于处理与点到点数据链路有关的数据的方法和装置 | |
CN1608255A (zh) | 使用包括扩展类型/扩展长度字段的分组头部的计算机***中的代理之间的通信事务类型 | |
CN205263808U (zh) | Spi从设备及spi通信*** | |
DE112010002178T5 (de) | Verfahren und vorrichtung für id-basierte ströme über pci-express | |
US8799550B2 (en) | System and method for increased efficiency PCI express transaction | |
CN1324499C (zh) | 处理不期望的完成分组和具有非成功完成状态的完成分组的方法 | |
CN113168388A (zh) | 总线上的存储器请求链接 | |
CN106549845A (zh) | 一种基于ntb硬件的通信方法及*** | |
JP6053692B2 (ja) | データ転送装置、データ転送方法およびチップ間通信システム | |
US20230066736A1 (en) | On-demand packetization for a chip-to-chip interface | |
CN103150262B (zh) | 管道式串行接口闪存访问装置 | |
CN102981988B (zh) | 数据传送设备和数据传送方法 | |
CN106940684B (zh) | 一种按比特写数据的方法及装置 | |
CN100547569C (zh) | 用于经由总线传送打包字的电子数据处理电路以及处理数据的方法 | |
CN102035618B (zh) | 一种数据传输的方法、装置及*** | |
US9268725B2 (en) | Data transferring apparatus and data transferring method | |
CN117556754B (zh) | PCIe交换机芯片硅前仿真*** | |
US11886372B1 (en) | Systems and methods for packing of transaction layer (TL) packets | |
WO2024072393A1 (en) | Bandwidth maximization | |
CN116821035A (zh) | 基于zynq的axi4总线封装的uart接口数据接收模块、uart接口数据发送模块和处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |