修改PCIExpress封包摘要的设备、系统和方法

文档序号:6477175阅读:141来源:国知局
专利名称:修改PCI Express封包摘要的设备、系统和方法
技术领域
本发明的一些实施例涉及使用外围部件互连(PCI) Express (PCIe)进行通信的领域。
背景技术
计算机系统可以包括PCI Express (PCIe)主桥,其能够在设备 之间,例如,在处理器和诸如图形卡、存储器单元等其他单元之间, 进行连接。PCIe是输入/输出(1/0)协议,其允许在具有基于信用的 流控制的高速串行互连上传送封包数据。PCIe通信使用分层协议, 并且包括物理层(用以提供设备之间的链路)、数据链路层(用以 提供封包排序、数据保护以及应答信号),以及事务层。在事务层, PCIe事务层封包(TLP)可以包括封包报头、数据净荷和可选的封 包摘要,其中封包摘要可以包括端到端的循环冗余校验(ECRC)信 息,并且其被包括在用于流控制的报头信用之下。
遗憾的是,具有小数据净荷的PCIe封包可能导致相当大的链路 开销。例如,具有小数据净荷的PCIe封包在没有充分利用数据信用 的情况下将消耗报头信用和数据信用二者,由此造成链路开销。

发明内容
本发明的一些实施例包括例如修改PCI Express (PCIe)封包摘 要的设备、系统和方法。
在一些实施例中, 一种装置,包括基于信用的流控制互连设 备,用以生成基于信用的流控制互连事务层封包,其中摘要部分中 的一个或多个位携带非ECRC数据。
在一些实施例中,非ECRC数据包括应用特定的数据。在一些实施例中,事务层封包的报头包括摘要携带非ECRC数 据的指示。
在 一 些实施例中,事务层封包的报头包括摘要携带应用特定的 数据的指示。
在一些实施例中,事务层封包的报头包括接收设备将对在摘要 中携带的非ECRC数据进行解码的指示。
在 一 些实施例中,事务层封包的报头包括中间设备将忽略对事 务层封包的ECRC校验的结果的指示。
在一些实施例中,基于信用的流控制互连设备包括PCI Express 设备,并且基于信用的流控制互连事务层封包包括PCI Express事务 层封包。
在一些实施例中, 一种方法,包括生成基于信用的流控制互 连事务层封包,其中摘要部分中的一个或多个位携带非ECRC数据。
在一些实施例中,生成包括将非ECRC数据放置在对应于 ECRC数据的摘要空间中。
在一些实施例中,生成包括在事务层封包的报头中放置所述 摘要携带非ECRC数据的指示。
在一些实施例中,生成包括在事务层封包的报头中放置所述 摘要携带应用特定的数据的指示。
在一些实施例中,生成包括在事务层封包的报头中放置接收 设备将对所述摘要中所携带的非ECRC数据进行解码的指示。
在一些实施例中,生成包括在事务层封包的报头中放置中间 设备将忽略所述事务层封包中的ECRC校验结果并且传送所述事务 层封包的指示。
在 一 些实施例中,生成基于信用的流控制互连事务层封包包括 生成PCI Express事务层封包。
在一些实施例中,生成包括使用报头信用来发送应用特定的数据。
在一些实施例中, 一种系统,包括基于信用的流控制互连设备,用以生成基于信用的流控制互连事务层封包,其中摘要部分中
的一个或多个位携带非ECRC数据;以及基于信用的流控制互连链 路,用以传送所述事务层封包。
在一些实施例中,基于事务层封包的报头中的指示,所述基于 信用的流控制互连链路将忽略对所述事务层封包的ECRC校验的结 果。
在一些实施例中,该系统还包括附加的基于信用的流控制互 连设备,用以接收事务层封包以及从摘要中抽取所述非ECRC数据。
在一些实施例中,基于事务层封包的报头中的指示,所述附加 的基于信用的流控制互连链路将避免对所述事务层封包执行ECRC 校验。
在一些实施例中,基于信用的流控制互连设备包括PCI Express 设备,基于信用的流控制互连事务层封包包括PCI Express事务层封 包,以及基于信用的流控制互连链路包括PCI Express链路。
一些实施例包括例如计算机程序产品,其包括包含计算机可读 程序的计算机可用介质,当由计算机执行时,所述计算机可读程序 使得计算机执行的本发明的 一 些实施例的方法。
本发明的一些实施例提供其他的和/或另外的益处和/或优势。


为了说明的简化和清楚,图中示出的元素不是按比例绘制的。 例如,为了介绍清楚, 一些单元的尺寸相对于另一些单元被放大。 此外,参考标号在各个图中可以重复,以指示对应的或者类似的单 元。而且,图中描述的一些框可以组合进单个功能。附图列出如下
图1是说明根据本发明的一个说明性实施例的、可以使用经过 修改的PCI Express封包摘要的系统的示意框图。
图2是说明根据本发明的一个说明性实施例的、经过修改的PCI Express封包的结构的示意框图。
图3是说明根据本发明的一个说明性实施例的、使用经过修改的PCI Express封包摘要的方法的示意流程图。
具体实施例方式
在下面的详细描述中,为了提供对本发明的 一 些实施例的充分 理解,阐述了众多特定的细节。然而,本领域技术人员应该理解, 本发明的实施例可以在没有这些特定细节的情况下实现。在其他情 况下,没有描述7>知的方法、过程、部件、单元和/或电路,从而佳_ 得讨论不会变得模糊。其旨在说明此处公开的实施例和附图应该解 释为说明性的而不是限制性的。
此处利用诸如"处理"、"估计"、"计算,,、"确定,,等等 术语的讨论部分指的是计算机或者计算系统或者类似的计算设备的 动作和/或处理,其中所述计算机设备操作数据和/或将数据转换为其 他数据,其中所述数据表示为计算机系统的寄存器和/或存储器内的 物理量(诸如电学量),所述其他数据类似地表示为计算机系统的 寄存器和/或存储器内的物理量。另外,术语"多个"可以在此处用 于描述两个或者更多的项;例如,多个项包括两个或者更多的项。
尽管此处的讨论部分可能出于说明目的涉及有线链路和/或有线 通信,但是本发明的实施例不限于此,并且可以包括一个或多个有 线或无线链路,可以利用一个或多个无线通信方法或协议,等等。 本发明的 一 些实施例可以利用有线通信和/或无线通信。
此处使用的术语"发送设备"或者"发送端点"或者"发送端 口,,包括例如PCIe设备、PCIe端点、PCIe端口、或者其他PCIe单 元或者能够发送和向外传送PCIe数据、封包和/或其他通信的PCIe 兼容的单元。此处使用的术语"接收设备"或者"接收端点"或者 "接收端口"包括例如PCIe设备、PCIe端点、PCIe端口、或者其 他PCIe单元或者能够接收和向内传送PCIe数据、封包和/或其他通 信的PCIe兼容的单元。
此处使用的术语"数据净荷"例如包括PCIe事务层封包(TLP ) 中包括实质性数据或者应用特定数据等的部分或内容;不包括元数
8或者被分派用于存储或携带应 用特定数据或实质性数据的其他部分、段、字段或空间。
此处使用的术语"摘要"或"封包摘要"或者"PCIe封包摘要" 或者"PCIeTLP摘要"或者"摘要部分"或者"摘要字段"或者"摘 要段,,例如可以包括PCIeTLP中可选地附加到TLP的部分或者内 容;全部或者部分用于ECRC、 CRC或者其他数据保护机制或者数 据校验机制或者数据完整性机制或者数据验证机制的TLP部分或者 TLP内容;位于TLP末端或者附加到TLP或者附加到TLP数据净荷 的、32位部分或内容或者其他尺寸的部分或内容;对应于TLP的最 后32位的空间;或者TLP的例如使用报头流控制信用的任何非报头 和非数据净荷部分或内容。
此处使用的术语"双字"或"DWord"或者"DW"例如包括具 有4个字节或者32位大小的数据单元。
此处使用的术语"非ECRC数据"或者"非ECRC信息,,或者 "非CRC数据"或者"非CRC信息"例如包括不是用于ECRC 或者CRC目的的数据或信息;不同于ECRC或CRC数据的数据或 信息;实质性数据;应用特定数据;等等。
尽管此处的讨论部分出于说明目的涉及PCIe通信或设备,但是 本发明可以与其他类型的通信或设备一起使用,例如利用在高速串 行互连上传送封包数据的通信或设备,利用基于流控制的链路管理 的通信或设备,利用基于信用的流控制的通信或设备,利用全串行 接口的通信或设备,利用以属性化封包实现分片事务协议的通信或 设备,将封包优先级化以便改进或优化封包传送的通信或设备,具 有一个或多个线路(例如,点到点连接)的可扩展链路的通信或设 备,利用高速串行互连的通信或设备,利用区别或不同业务类型的 通信或设备,利用高可靠性的数据传送机制(例如,使用序列号和/ 或端到端循环冗余校验(ECRC))的通信或设备,利用链路层来实现传送数据的完整性的通信或设备,利用两个低压差分驱动信号对 (例如,发射对和接收对)的物理层的通信或设备,包括线路宽度 和操作频率协商的通信或设备,仅在知道在接收侧存在可用接收緩 冲器接收封包才允许传输数据封包的通信或设备,利用请求封包和/
或响应封包的通信或设备,利用消息空间和/或消息信号中断(MSI) 和/或带内消息的通信或设备,利用软件层配置空间的通信或设备, 利用最大净荷尺寸(MPS)参数的通信或设备,等等。
总的来说,本发明的一些实施例提供经过修改的PCIe协议以允 许对TLP摘要的修改使用,例如用于携带数据净荷而不消耗数据信 用。不同于ECRC的TLP摘要的传统使用或者除此之外,经过修改 的PCIe协议允许对经过修改的TLP摘要(或者对TLP摘要的相应 空间或者通信部分)的不同使用模型。 一些实施例利用TLP摘要的 相应封包空间来携带或传送或存储一个DWord或最多一个DWord 的普通内容,例如实质性信息数据、控制信息或数据、和/或数据净 荷,这可以不消耗数据信用或其他数据资源。可以使用经过修改的 TLP摘要来携带的、适当小的数据净荷传输的 一些说明性示例包括 状态指示、寄存器数据、保护密钥等等。在一些实施例中,在基本 上不消耗数据资源的情况下发送、传输和接收具有小数据净荷的 PCIe TLP,例如通过在封包摘要的相应空间中发送数据实现并且仅 消耗报头流控制信用。
尽管此处的部分讨-沦可能出于说明性目的而涉及利用PCIe协议 的通信,但是本发明的实施例还可以结合其他合适的通信系统、设 备、方法和/或协议来使用;例如,在ECRC是可选或者不关键的通 信系统或协议中;在利用可靠链路的通信系统或协议中;等等。作 为举例,PCI Express链路支持链路层CRC ( LCRC ),以便在数据 链路层提供针对PCIe封包的错误检测,并且在事务层,诸如TLP摘 要中的附加ECRC保护是可选的。此外,在用于直接耦合到PCIe主 机的设备的PCI Express系统中,和/或在中间部件能够可靠地基本上 保存和/或传送TLP内容的情形中,ECRC可能并不重要。在一些实施例中,事务发起者或发送设备根据经过修改的PCIe 协议来构建、创建或生成TLP,并且例如使用TLP报头中的指示位 或者标志或参数来指示应用特定的封包摘要的存在。接收端点或者 接收设备基于TLP报头指示来解码该封包摘要。中间PCIe设备(例 如,PCIe交换机)根据PCIe协议和/或经过f奮改的PCIe协议来中继、 路由和/或传送包括应用特定摘要的TLP。
图1示意性地说明的本发明 一 些说明性实施例的、能够利用PCIe 封包摘要的系统100的框图。系统100可以是或者可以包括例如计 算设备、计算机、个人计算机(PC)、服务器计算机、客户端/服务 器系统、移动计算机、便携式计算机、膝上型计算机、笔记本计算 机、平板计算机、多个互连设备的网络,等等。
系统100可以包括例如处理器111、输入单元112、输出单元113、 存储器单元114、存储单元115、通信单元116,以及图形卡117。
处理器111可以包括例如中央处理单元(CPU)、数据信号处 理器(DPS)、微处理器、主处理器、控制器、多个处理器或控制器、 芯片、微芯片、 一个或多个电路、线路、逻辑单元、集成电路(IC)、 专用集成电路(ASIC),或者任何其他合适的多用途或专用处理器 或控制器。处理器111可以执行指令,例如系统100的操作系统(OS) 171的指令,或者一个或多个软件应用172的指令。
输入单元112可以包括例如键盘、小键盘、鼠标、触摸板、触 笔、麦克风或者其他合适的指示设备或输入设备。输出单元113可 以包括例如阴极射线管(CRT )显示器或显示单元、液晶显示器(LCD ) 或者显示单元、屏幕、显示器、扬声器或者其他合适的显示单元或 输出设备。图形卡117可以包括例如图形或适配处理器、适配器、 控制器或者加速器。
存储器单元114可以包括例如随机访问存储器(RAM)、只读 存储器(ROM )、动态RAM ( DRAM )、同步DRAM ( SD-RAM )、 闪存、易失性存储器、非易失性存储器、緩存存储器、緩沖器、短期存储器单元、长期存储器单元或者其他合适的存储器单元或存储
单元。存储单元115可以包括例如硬盘驱动、软盘驱动、压缩盘(CD ) 驱动、CD-ROM驱动、数字多功能盘(DVD)驱动、或者其他合适 的可移除的或不可移除的存储单元。存储器单元114和/或存储单元 115可以例如存储供系统100处理的数据。
通信单元116可以包括例如有线的或者无线的网络接口卡
(NIC)、有线的或者无线的调制解调器、有线的或者无线的接收器 和/或发射器、有线的或者无线的发射器-接收器和/或收发器、射频
(RF)通信单元或收发器,或者能够发射和/或接收信号、块、帧、 传输流、封包、消息和/或数据的其他单元。通信单元116可以可选 地包括或者可以可选地关联例如一个或多个天线,诸如双才及天线、 单极天线、全向天线、以及端部馈电天线、圆极化天线、微带天线、 异构天线,等等。
在一些实施例中,系统100的部件可以被包4舌在例如7>共外壳、 封装等等中,并且可以使用一个或多个有线的或者无线的链路互连 或者可才喿作地关联。在其他实施例中,例如,系统100的部件可以 分布在多个或不同的设备上,可以使用客户端/服务器配置或系统来 实现,可以使用远程接入方法等来通信。
系统100可以进一步包括PCIe主桥120,其能够在系统100的 多个部件之间进行连接,例如,在多个PCIe端点或者PCIe设备之 间进行连接。PCIe主桥120可以包括存储器桥121或者其他存储器 控制器,其可与存储器单元114和/或图形卡117连接。PCIe主桥120 可以进一步包括输入/输出(I/O)桥122,其可与输入单元112、输 出单元113、存储单元115、通信单元116以及一个或多个通用串行 总线(USB)设备118连接。
系统100可以进一步包括PCIe交换机125,其能够在多个PCIe 端点或者PCIe "i更备之间进行连接。在一些实施例中,PCIe交换机 125可以实现为分离的或者孤立的单元或部件;在其他实施例中, PCIe交换机125可以集成、嵌入在PCIe主桥120或者其他合适的部件中,或者以其他方式使用PCIe主桥120或者其他合适的部件来实现。
示出图1的拓朴或者架构是出于说明性的目的,并且本发明的实施例可以结合其他合适的拓朴或结构来实现。例如,在一些实施例中,存储器桥121可以实现为存储器控制器,并且被包括或者嵌入在PCIe主桥120中。在一些实施例中,使用"北桥"或"南桥",并且可选地包括PCIe主桥120和/或类似的PCIe主才几部件。在一些实施例中,存储器桥121和PCIe主桥120 (以及可选的处理器111 )使用单个或者说公共的集成电路(IC)来实现,或者使用多个IC来实现。也可以使用其他合适的拓朴或架构。
PCIe主桥120和/或PCIe交换机125可以在多个PCIe端点或者PCIe设备(例如,端点141-145)之间进行互连。 一些PCIe设备或者端点(例如,PCIe端点141和142)通过PCIe主桥120直接连接;而其他PCIe端点(PCIe端点143 - 145 )使用PCIe交换机125间接连接。出于说明目的,端点141可以向存储器桥121发送数据;因此,端点141在此称为"发送端点,,或者"发送设备",而存储器桥121在此称为"接收端点"或者"接收设备"。
其他部件可以作为发送设备和/或作为接收设备来进行操作。例如,处理器111可以是发送设备而存储器单元114可以是接收设备;USB设备118可以是发送设备而存储设备115可以是接收设备;存储器桥121可以作为接收设备来操作(例如,相对于第一端点或部件而言),和/或可以作为发送设备来操作(例如,相对于第二端点或部件);等等。在一些实施例中,接收设备可以向发送设备发送返回数据或者控制数据,反之亦然;例如,发送设备和接收设备之间的通信可以是单向的或双向的。
可选地,发送设备可以利用设备驱动器来进行操作,并且接收设备可以利用设备驱动器来进行操作。在一些实施例中,设备驱动器,以及PCIe主桥120和PCIe交换机125,可以支持根据本发明一些实施例的经过修改的PCIe协议175。发送设备连接到(或者包括)
13PCIe端口 151 ("上游端口",或者"面向下游的端口")。接收设备连接到(或者包括)PCIe端口 152 ("下游端口",或者"面向上游的端口")。
在一些实施例中,封包191可以传输通过发送设备和接收设备之间的中间PCIe设备或者由中间PCIe设备来进行中继。例如,在端点145是发送设备且存储器桥121是接收设备的情况中,PCIe交换机125是发送端点145和接收存储器桥121之间的中间设备。
在一些实施例中,发送设备使用经过修改的PCIe协议175 (即,利用通用的或应用特定的封包摘要来传送数据净荷,而不消耗数据流控制信用或额外的数据流控制信用)向接收设备传送数据。例如,非ECRC数据可以根据经过修改的PCIe协议被包括在TLP摘要中,并且仅使用报头流控制信用来发送。发送设备构建经过修改的TLP191,其在封包报头中具有一个或多个指示,用以指示摘要被附加到封包、指示摘要不包括ECRC数据和/或指示应该忽略CRC校验。
在一些实施例中,可以使用对应于TLP摘要的空间来存储或携带各种类型的信息,诸如状态向量(例如,携带有对非寄送请求的响应)、保护密钥、端到端流控制或者任何其他应用特定的单DW净荷。在不破坏数据完整性的情况下,实施例可以允许对摘要资源的更多优化利用,例如,在封包摘要中而不是常规数据净荷中发送不需要扩展ECRC保护的数据。
一些实施例允许将摘要空间(例如,每个TLP四个字节)用于应用特定的数据或者任务,而不要求应用为这种数据任务而使用数据净荷。由此, 一些实施例降低了应用特定的数据净荷使用,而数据净荷使用需要分配额外的数据緩冲区和/或相关联的信用,以及最高将近理论链路带宽20%的封包开销(例如,对于短封包业务)。本发明的实施例可以提供其他益处和优势。
在一些实施例中,经过纟l"改的PCIe协议175将基于流控制的链路管理用于附接至链路的设备之间的有效数据传送。例如,基本上每个PCIe设备向其他PCIe设备通告其接收緩冲区的容量,这例如是通过使用术语"信用"或者其他接收器緩沖单元。每个传输的封
包消耗一定数目的信用。有时,接收PCIe设备就变得可用于新封包(例如,由于从接收緩存中移除了旧数据)的额外缓冲区空间容量(例如,释放的信用)向发送PCIe设备进行更新。发送PCIe设备累积由远程接收器通告的可用信用,并且将其与发送设备至今为止因发送封包而消耗的信用进行比较。仅当接收侧存在足够的可用信用时,发送设备才允许发送新的封包。信用的缺乏会导致传输停滞,这将导致性能恶化。根据某些实施例,经过修改的PCIe协议175允许发送PCIe i殳备在对应于TLP摘要的空间或者其一部分(例如,ECRC部分)中存储应用特定的数据,由此允许在TLP中发送增大数量的实质性数据,并且更有效地利用可用的信用。
经过修改的PCIe协议175将独立信用的规范用于PCIe TLP报头(例如,在报头单元中)和PCIe TLP数据(例如,在16字节单元中)。PCIeTLP可以仅包括报头,并且因此仅消耗一个报头信用;或者,具有数据净荷的PCIeTLP可以消耗一个报头信用和等于数据净荷大小的数据信用数目。PCIeTLP摘要(例如,用于ECRC的一个DW)由所述报头信用计数,并且不需要消耗数据信用。由此,在一些实施例中,利用TLP摘要来携带和传送应用特定的数据节省了数据信用。因此, 一些实施例使用在报头信用和数据信用之间进行划分或区分的PCIe机制,以便节省数据緩存消耗和/或信用消耗,例如,这是通过在报头信用所覆盖的PCIeTLP的部分中(例如,在摘要中或者在其一部分中)存储和携带应用特定的数据(例如,非ECRC数据)。
图2示意性地说明了根据本发明一些说明性实施例的、包括经过修改的TLP摘要的PCIe封包210的结构。尽管此处的部分讨论出于说明性目的而涉及利用64位寻址的PCIe TLP结构,但是本发明的实施例不限于此,并且可以结合其他PCIeTLP结构一起使用,例如利用32位寻址的或者其他合适的结构大小的结构。
封包210是四个双字结构,并且包括报头部分220、数据部分230和摘要部分240。第一行211指示字节偏移(例如,+0、 +1、 +2和+3 );并且第二行212指示位计数(例如,从0到7编号的8个位)。如行213和214所示,才艮头220包括占用8个字节的控制信息字段(包括,例如格式字段、类型字段、长度字段、ID字段、标签字段等等)。行215和216包括64位地址,例如,具有两个预留较低位请求地址。行213-216对应于封包210的才艮头部分220。
在适用的情况下,TLP210的数据部分230用于携带净荷数据。一些TLP可以包括数据净荷部分230,而其他TLP可以不包括数据净荷部分230。根据基于信用的流控制协议,利用TLP的数据部分230来传送数据需要数据流控制信用,并且可能对于非常小的数据净荷而言不够有效。
摘要部分240包括可以附加至TLP的可选TLP摘要。在一些实施例中,封包210包括存储和/或携带在对应于TLP摘要的空间中的附加实质性数据或者非ECRC数据。摘要240中的其他空间不存储ECRC信息,而是存储其他的或者备选的信息,例如应用特定的数据或者非ECRC数据。
在一些实施例中,经过》务改的TLP 210的才艮头包括一个或多个指示位或标记或字段,用以指示具有应用特定的数据或者非ECRC数据的TLP摘要的存在。例如,TLP摘要(TD)指示位219可以指示摘要存在。报头220的一个或多个已分派位或标记或字段(例如,预留位297和/或预留字段298 )可以用于指示摘要包括应用特定的数据或非ECRC数据、指示摘要不包括ECRC信息、指示需要忽略ECRC校-验和/或指示应该从对应于TLP摘要的空间或者从该空间的预定义部分读取或收集(例如,由接收设备进行)实质性数据或非ECRC数据。
图3是根据本发明的一些说明性实施例的利用修改的PCIExpress封包摘要的方法300的示意流程图。该方法的操作可以例如由图1的系统和/或由其他合适的单元、设备和/或系统来使用。
在一些实施例中,该方法包括构建和生成具有应用特定的摘要的PCIe TLP (框310)。例如,该应用特定的摘要可以包括将要在 对应于封包的摘要部分的空间中携带的非ECRC数据或通用数据或 应用特定的数据。例如,非ECRC数据可以放置或者存储在对应于 ECRC数据的(或者预先分配的)摘要空间中。
如框312所示,该方法包括在TLP报头中指示应用特定的摘要。 例如,使用TD指示位或字段和/或预留的或者应用特定的指示位或 字段,在封包报头中指示在摘要中存在应用特定的数据。在一些实 施例中,TD指示位中的值"1"可以指示摘要的存在,并且应用特 定的指示位或标记或字段可以指示摘要类型或者摘要长度;在其他 实施例中,TD指示位中的值"0"可以指示非ECRC摘要。可以使 用其他合适的值或者指示。
如框314所示,该方法包括使用报头流控制信用来发送包括在 应用特定的摘要中的数据。当应用特定的数据被包括在对应于TLP 摘要的空间中时,这样的数据被报头信用覆盖,并且不消耗数据信 用。相反,如果应用特定的数据按照常规作为数据净荷来发送,则 将会消耗一个或多个数据信用(例如,除了无论是否存在摘要都将 由TLP报头消耗的报头信用之外)。
如框316所示,TLP摘要的处理可以是不同的,这例如取决于 PCIe设备是接收设备(框318)还是中间设备(框320)。
如框318所示,接收设备从经过修改的TLP摘要中读取和提取 应用特定的数据。接收设备可以接收和解码经过修改的TLP的报头 中的指示,其指示该TLP在消息摘要中包括数据净荷,和/或TLP 在消息摘要中不包括ECRC,例如,如通过TD指示位和/或通过其 他已分派的指示位或字段所指示。在对未修改的TLP执行ECRC校 验的情况下(例如,如TD位所指示),接收设备忽略经过对修改的 TLP的ECRC校验(例如,通过跳过或者避免或者禁用ECRC机制, 或者通过忽略ECRC处理的结果),并且从经过修改的TLP摘要中 提取或解码应用特定的数据。
如框320所示,中间设备(例如,PCIe交换机或其他PCIe设备,其不是目的接收设备)中继或者传送TLP,基本上不必访问或者改 变消息摘要。如果中间设备支持ECRC校验,则可以指示中间设备 不执行ECRC校验(或者忽略ECRC校验结果),这例如是通过经 过修改的TLP摘要中的已分派位或标记或字段或者通过禁用ECRC 的系统配置来实现。
根据本发明的实施例,可以使用其他合适的操作或操作集。 本发明的一些实施例可以采用以下形式完全硬件实施例,完 全软件实施例、或者包括硬件和软件单元二者的实施例。 一些实施 例可以在软件中实现,其包括但不限于固件、驻留软件、微代码等 等。
此外,本发明的 一 些实施例采用可从计算机可用或计算才几可读 介质访问的计算机产品的形式,该计算机产品提供由计算机或者任 何指令执行系统使用或结合其使用的代码。例如,计算机可读介质 可以是任何能够包含、存储、通信、传播、或者传送供指令执行系 统、装置或设备使用或者结合其使用的程序的任何装置。
在一些实施例中,该介质可以是电的、,兹的、光的、电》兹的、 红外的、或者半导体系统(或装置或设备)或这传播介质。计算机 可读介质的一些说明性例子包括半导体或固态存储器、磁带、可拆 卸计算机盘、随机访问存储器(RAM)、只读存储器(ROM)、硬 磁盘、以及光盘。光盘的一些说明性例子包括压缩盘-只读存储器 (CD-ROM )、压缩盘-读/写(CD-R/W ),以及DVD。
在 一 些实施例中,适合于存储和/或执行程序代码的数据处理系 统包括至少一个处理器,其直接或间接耦合到存储器单元,例如通 过系统总线来耦合。存储器单元可以包括例如在实际执行程序代码 期间使用的本地存储器、大容量存储设备、以及高速緩存存储器, 高速緩存存储器可以提供对至少 一些程序代码的临时存储,以减少 在执行期间必须从大容量存储器获取代码的次数。
在一些实施例中,输入/输出或I/O设备(包括但不限于键盘、
显示器、指示设备、等等)可以直接或者通过中介i/o控制器耦合到
18系统。在一些实施例中,网络适配器可以耦合到系统,以支持数据 处理系统能够耦合到其他数据处理系统或者远程打印机或这存储设 备,例如通过中介专用网络或公共网络来耦合。调制解调器、线缆 调制解调器和以太网卡是本发明的 一 些实施例中的网络适配器的类 型的"i兌明性例子。可以^使用其他合适的部件。
尽管此处已经说明和描述了本发明的特定特征,但是本领域技 术人员可以想到许多修改、替换、改变和等价。
权利要求
1.一种用于修改外围部件互连(PCI)express封包摘要的装置,所述装置包括基于信用的流控制互连设备,用以生成基于信用的流控制互连事务层封包,其中摘要部分中的一个或多个位携带非端到端的循环冗余校验(ECRC)数据。
2. 根据权利要求1所述的装置,其中所述非ECRC数据包括应 用特定的数据。
3. 根据权利要求1所述的装置,其中所述事务层封包的报头包 括所述摘要部分携带非ECRC数据的指示。
4. 根据权利要求1所述的装置,其中所述事务层封包的报头包 括所述摘要部分携带应用特定的数据的指示。
5. 根据权利要求1所述的装置,其中所述事务层封包的报头包 括接收设备将对所述摘要部分中携带的所述非ECRC数据进行解码 的指示。
6. 根据权利要求1所述的装置,其中所述事务层封包的报头包 括中间设备将忽略对所述事务层封包的ECRC校验的结果的指示。
7. 根据权利要求1所述的装置,其中所述基于信用的流控制互 连设备包括PCI Express设备,并且所述基于信用的流控制互连事务 层封包包括PCI Express事务层封包。
8. —种用于修改外围部件互连(PCI) express封包摘要的方法, 所述方法包4舌生成基于信用的流控制互连事务层封包,其中摘要部分中的一个 或多个位携带非ECRC数据。
9. 根据权利要求8所述的方法,其中生成包括 将所述非ECRC数据放置在对应于ECRC数据的摘要空间中。
10. 根据权利要求8所述的方法,其中生成包括 在所述事务层封包的报头中放置所述摘要部分携带非ECRC数据的指示。
11. 根据权利要求8所述的方法,其中生成包括 在所述事务层封包的报头中放置所述摘要部分携带应用特定的数据的指示。
12. 根据权利要求8所述的方法,其中生成包括 在所述事务层封包的报头中放置接收设备将对所述摘要部分中携带的非ECRC数据进行解码的指示。
13. 根据权利要求8所述的方法,其中生成包括在所述事务层封包的报头中放置中间设备将忽略所述事务层封 包中的ECRC校验结果并且将传送所述事务层封包的指示。
14. 根据权利要求8所述的方法,其中生成所述基于信用的流控 制互连事务层封包包括生成PCI Express事务层封包。
15. 根据权利要求8所述的方法,包括 使用报头信用来发送应用特定的数据。
16. —种用于修改外围部件互连(PCI) express封包摘要的系统, 所述系统包括基于信用的流控制互连设备,用以生成基于信用的流控制互连事 务层封包,其中摘要部分中的一个或多个位携带非ECRC数据;以 及基于信用的流控制互连链路,用以传送所述事务层封包。
17. 根据权利要求16所述的系统,其中基于所述事务层封包的 报头中的指示,所述基于信用的流控制互连链路将忽略对所述事务 层封包的ECRC校验的结果。
18. 根据权利要求16所述的系统,还包括附加的基于信用的流控制互连设备,用以接收所述事务层封包, 以及从所述摘要部分中抽取所述非ECRC数据。
19. 根据权利要求18所述的系统,其中基于所述事务层封包的 报头中的指示,所述附加的基于信用的流控制互连链路将避免执行 对所述事务层封包的ECRC校验。
20.根据权利要求16所述的系统,其中所述基于信用的流控制 互连设备包括PCI Express设备,其中所述基于信用的流控制互连事 务层封包包括PCI Express事务层封包,以及所述基于信用的流控制 互连链路包括PCI Express链路。
全文摘要
修改PCI Express封包摘要的设备、系统和方法。例如,一种装置,包括基于信用的流控制互连设备,用以生成基于信用的流控制互连事务层封包,其中摘要部分中的一个或多个位携带非ECRC数据。
文档编号G06F13/42GK101681325SQ200880016038
公开日2010年3月24日 申请日期2008年6月5日 优先权日2007年6月29日
发明者E·珀林, G·比朗, I·格拉诺维斯基 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1