用于处理外围组件互连快速协议的设备的制作方法

文档序号:7751697阅读:168来源:国知局
专利名称:用于处理外围组件互连快速协议的设备的制作方法
技术领域
本发明涉及一种用于处理外围组件互连(PCI)快速(Express)协议的设备;且更 具体地,涉及一种用于处理PCI快速协议的设备,该设备使得能够在不使用存储器的情况 下实现检查所接收的分组的完整性、排列(align)要传送的分组的数据、或重传所传送的 分组。
背景技术
将用于处理PCI快速协议的典型技术配置为使用用于存储在所接收的分组中包 括的数据的缓冲器来保证事务层和数据链路层中的数据的完整性、使用用于临时性地存储 要传送的分组的数据的缓冲器(这是因为保证数据的完全的时间点不清楚),并且提供了 用于准备以下情况的重传缓冲器,其中,不可能得知所传送的分组的到达,直到在分组的完 全到达的目的地处和通知时、检查分组有误差为止。这些缓冲器使用存储器来构建。图1是示出了传统的用于处理PCI快速协议的设备的构造的框图。参考图1,下面 将描述用于处理PCI快速协议的传统处理。首先,PCI快速事务层接收单元50的接收流控制器52周期性地检测虚拟通道存储 器51的存储空间的尺寸,并且向PCI快速数据链路层传送单元80的分组发射器82传送关 于该尺寸的信息。分组发射器82创建流控制分组,并且通过分组传送接口 81来向PCI快 速物理层30传送该分组。PCI快速物理层30将帧信息附着到该流控制分组,并且通过PCI 快速链路20来向上游装置10传送帧信息被附着到其上的流控制分组。上游装置10检查在PCI快速事务层接收单元50的虚拟通道存储器51中是否存 在可用的分组存储空间,并且如果在虚拟通道存储器51中存在可用的分组存储空间,则创 建请求分组。由上游装置10创建的请求分组通过PCI快速链路20而到达PCI快速物理层 30。PCI快速物理层30从分组中去除帧信息,并且向PCI快速数据链路层接收单元40传送 没有帧信息的分组。PCI快速数据链路层接收单元40通过其中的分组接收接口 41来接收 事务层分组TLP (即,请求分组),并且临时性地在接收分组缓冲存储器42中存储该事务层 分组TLP。当已经存储了整个分组时,接收分组完整性检查器43检查该分组的完整性。如 果将该分组确定为是完全的,则接收分组完整性检查器43向PCI快速数据链路层传送单元 80内的分组发射器82传送用于指示可以传送确认分组Ack DLLP的确认信号。分组发射器82创建确认分组Ack DLLP,并且通过分组传送接口 81来向PCI快速 物理层30传送该分组。PCI快速物理层30通过PCI快速链路20来向上游装置10传送该 确认分组。当由接收分组完整性检查器43来验证该分组的完整性时,在如上所述地创建确认分组并将其向上游装置10传送的同时,向虚拟通道存储器51传送接收分组缓冲存储器 42内的分组。接收分组检查器53检查该分组是否是可以在应用装置层60中处置的分组。 如果该分组是可以在应用装置层60中处置的分组,则接收分组检查器53创建确认分组的 报头,并且向PCI快速事务层传送单元70内的传送分组发生器72传送该报头信息。此外, 接收分组检查器53指导应用装置层60访问数据。应用装置层60在传送数据排列存储器 73中存储在某一时间点生成的数据访问结果。在识别出用于请求分组的应答信息的报头和数据部分之后,接收分组检查器53 从虚拟通道存储器51中删除该分组。由于在删除该分组之后在虚拟通道存储器51中再次 生成可用的分组存储空间,所以接收流控制器52向分组发射器82传送流控制信息,分组发 射器82创建流控制分组,并通过分组传送接口 81来向PCI快速物理层30传送该流控制分 组,并且PCI快速物理层30将帧信息附着到该流控制分组,并通过PCI快速链路20来向上 游装置10传送在其上附着帧信息的流控制分组。上游装置10接收确认分组,创建用于指示是否可以在其自己的虚拟通道存储器 上执行存储的流控制分组的信息,并且通过PCI快速链路20来向PCI快速物理层30传送 该流控制分组。这通过PCI快速数据链路层接收单元40内的分组接收接口 41来向分组接 收器44传送。向PCI快速事务层传送单元70内的传送流控制器71传送由分组接收器44 接收的流控制分组的信息,并且将其用作用于确定稍后是否可以传送确认分组的信息。当在传送数据排列存储器73中全部存储由应用装置层60传送的数据、并且向传 送分组发生器72传送被确定为由传送流控制器71传送的信号时,传送分组发生器72组合 在传送数据排列存储器73中存储的数据与先前从接收分组检查器53接收的报头信息,并 且向PCI快速数据链路层传送单元80的分组序列发生器85传送所得到的数据。此外,分 组序列发生器85将用以确定事务层分组的完整性的用于上游装置10的序列和链路上的循 环冗余码(LCRC)分别附着到应答分组的前端和后端。通过分组传送接口 81来向PCI快速 物理层30传送由分组序列发生器85使得包括完整性信息的分组,并且同时,在重传缓冲存 储器84中临时性地存储该分组。如果在该分组的传送中发生误差、并因此需要再次传送该 分组,则再次传送在重传缓冲存储器84中临时性地存储的数据。通过PCI快速链路20来向上游装置10传送向PCI快速物理层30传送的确认分 组。上游装置10检查所接收的确认分组的完整性,在完整性确认分组Ack/Nak DLLP上加 载关于检查结果的信息,并且通过PCI快速链路20来向PCI快速物理层30传送该信息被 加载到其上的完整性确认分组。PCI快速物理层30从所接收的确认分组中去除帧信息,并 且通过分组接收接口 41来向分组接收器44传送没有帧信息的确认分组。如果由分组接收 器44接收的分组是Ack (确认)分组,则信号指导去除在重传处理器83的重传缓冲存储器 84中临时性地存储的应答分组。相反地,如果所接收的分组是Nak (否定确认)分组,则指 导重传处理器83重传在重传缓冲存储器84中临时性存储的确认分组。此外,如果在预定的时间段中在分组接收器44中尚未存在Ack或Nak应答,则指 导重传处理器83再次传送在重传缓冲存储器84中临时性地存储的分组。反复该分组重传 处理,直到接收到Ack分组为止。每隔四次重置一次PCI快速链路20。为了准备其中在上面处理中、由上游装置10创建的请求分组是用于读取应用装 置层60中的数据的分组并且该数据的长度不统一的情况,接收分组缓冲存储器42需要具有含有等于或大于4千字节(S卩,在PCI快速规范中定义了的最大长度)的容量的数据存储 存储器,并且虚拟通道存储器51也需要具有含有等于或大于4千字节的容量的数据存储存 储器。为了准备其中在上面处理中、由上游装置10创建的请求分组是用于读取应用装置层 60中的数据的分组并且该数据的长度不统一的情况,传送数据排列存储器需要具有含有等 于或大于4千字节的容量的存储器,从而存储数据,并且重传缓冲存储器84也需要具有含 有等于或大于4千字节的容量的存储器。在用于处理PCI快速协议的技术中,将用于存储器事务传送和接收的分组假定为 在存储器事务传送和接收中被按照突发(bust)传送或块单位传送的方式进行处理,使得 不能预测分组的长度,结果是需要如上所述地使用缓冲器。然而,在PCI快速装置仅仅处理输入/输出(I/O)事务的情况下,实际使用的分组 包括一个数据有效载荷,使得不能预测分组的长度。关于接收分组的频率,创建了输入/输 出事务的对方(counterpart)装置(主装置)在等待应答之后创建随后的分组,使得该装 置不创建对于其而言同时尚未接收到应答的分组。作为示例,当仅仅接收到输入/输出事务的PCI快速装置用于PCI快速中500Mbps 串行端口的扩展时,使用由PCI快速提供的等于或小于带宽1/5的带宽(在Ix的情况下, 2. 5Gbps),使得即使当充分地考虑了直到在传送之后接收到在实际PCI快速链路处生成的 分组为止所花费的时间时,分组的频率也不高。在此情况下,当使用传统的用于处理PCI快速协议的设备时,不必要地使用了大 量存储器。在其中将用于处理PCI快速协议的设备(引擎)和应用装置(引擎)集成到单 一芯片中的情况下,用于处理PCI快速协议的设备在实际操作中占用不必要的存储器,使 得出现以下问题,即相对性地减少需要由应用装置占用的存储器的量。相应地,为了克服该 问题,可以为了这种集成选择一些其他装置。如上所述,在传统的用于处理PCI快速协议的设备中,即使用于处理可预测的事 务的装置也需要按照统一的方式使用存储器,使得出现以下问题,即可以导致应用装置缺 少存储器资源。此外,由于源自于各种集成处理的相应制造工艺的不同存储器接口,所以用于操 作存储器的方法(即,存储器访问协议)和操作速度彼此不同,使得可出现以下问题,即需 要改变用于处理PCI快速协议的设备的设计以适合存储器接口。在用在低速PCI快速中的输入/输出事务中,将要在请求分组或读取分组中处理 的数据量固定为4字节,实际上不需要在图1所示的用于处理PCI快速协议的传统设备中 使用的、在接收分组缓冲存储器42和虚拟通道存储器51中维持的4千字节或更多千字节 (Kbyte)存储器,并且实际上也不需要在传送数据排列存储器73中维持的4千字节或更多 千字节存储器。此外,在输入/输出事务的情况下,尽管已经创建了请求分组的上游装置10 接收到确认分组、检查该确认分组有没有完整性、处理在该确认分组中包括的信息并且创 建随后的请求分组,但是也没有给带宽带来麻烦。而且,为了创建随后的请求分组,在已经 检查虚拟通道存储器51有没有数据存储空间之后创建该请求分组。相应地,为了确定是否 重传由分组序列发生器85创建的确认分组,如果接收流控制器52得知关于接收由分组接 收器44向重传处理器83传送的确认分组Ack DLLP的信息,则仅仅当由分组序列发生器85 生成的确认分组已经完全到达时,接收流控制器52才指导分组发射器82传送流控制分组,该流控制分组包括用于指示可以接收随后的请求分组的信息,使得不必使用重传缓冲存储 器84。

发明内容
鉴于以上,本发明提供了一种用于处理PCI快速协议的设备,该设备使得能够在 不需要存储器的情况下实现检查所接收的分组的完整性、排列要传送的分组的数据或重传 所传送的分组。根据本发明的第一方面,提供了一种用于处理外围组件互连(PCI)快速协议的设 备,包括PCI快速事务层接收单元,用于向PCI快速数据链路层传送单元传送用于指示接 收写入请求分组的状态信息,并且通过在不存储该写入请求分组的情况下执行实时处理、 来在应用装置层上执行数据写入操作;PCI快速数据链路层传送单元,用于根据该状态信 息来创建流控制分组,向PCI快速物理层传送该流控制分组,并且向PCI快速物理层传送用 于写入请求分组的完整性确认分组;PCI快速物理层,用于通过PCI快速链路来向上游装置 传送该流控制分组和完整性确认分组,并且向PCI快速数据链路层接收单元传送通过PCI 快速链路而从上游装置接收的写入请求分组;以及PCI快速数据链路层接收单元,用于通 过在不存储所接收的写入请求分组的情况下、执行实时处理来向PCI快速事务层接收单元 传送从PCI快速物理层接收的写入请求分组,并且基于实时完整性检查的结果来向PCI快 速数据链路层传送单元和PCI快速事务层接收单元传送完整性确认分组。根据本发明的第二方面,提供了一种用于处理PCI快速协议的设备,包括PCI快 速事务层接收单元,用于向PCI快速数据链路层传送单元传送用于指示能够接收读取请求 分组的状态信息;PCI快速数据链路层传送单元,用于根据该状态信息来创建流控制分组, 向PCI快速物理层传送该流控制分组,并且向PCI快速物理层传送用于读取请求分组的完 整性确认分组;PCI快速物理层,用于向上游装置传送该流控制分组和完整性确认分组,并 且向PCI快速数据链路层接收单元传送从上游装置接收的读取请求分组;PCI快速数据链 路层接收单元,用于通过在不存储所接收的读取请求分组的情况下、执行实时处理来向PCI 快速事务层接收单元传送从PCI快速物理层接收的读取请求分组,并且基于实时完整性检 查的结果来向PCI快速数据链路层传送单元和PCI快速事务层接收单元传送该完整性确认 分组;以及PCI快速事务层传送单元,用于基于在没有排列情况下从应用装置层接收的访 问数据来创建用于读取请求分组的读取应答分组,并且向PCI快速数据链路层传送单元传 送该应答分组,从而允许最终地向上游装置传送该应答分组。


根据结合附图而给出的实施例的以下描述,本发明的目标和特征将变得明显,其 中图1是示出了传统的用于处理PCI快速协议的设备的构造的框图;图2是示出了根据本发明实施例的用于处理PCI快速协议的设备的构造的框图;图3是示出了图2所示的用于处理PCI快速协议的设备的接收分组实时完整性检 查器的详细构造的视图;图4是示出了图2所示的用于处理PCI快速协议的设备的接收分组标识器的详细
9构造的视图;以及图5是示出了图2所示的用于处理PCI快速协议的设备的PCI快速数据链路层传 送单元的详细构造的视图。
具体实施例方式在下文中,将参考形成了本发明一部分的附图来详细地描述本发明的实施例。图2是示出了根据本发明实施例的用于处理PCI快速协议的设备的构造的框图。 可以使用专用于写入到应用装置层的协议处理设备、专用于从应用装置层读取的协议处理 设备、或能够对应用装置层执行写入和读取的协议处理设备来实现用于处理PCI快速协议 的设备。相应地,在以下的元件描述中,将描述用于写入的协议处理设备和用于读取的协议 处理设备。首先,能够支持写入到应用装置层的、用于处理PCI快速协议的设备包括PCI快 速事务层接收单元220,用于向PCI快速数据链路层传送单元420传送指示可以接收写入请 求分组的状态信息,并且通过在不存储该写入请求分组的情况下执行实时处理、来在应用 装置层310上执行数据写入操作;PCI快速数据链路层传送单元420,用于根据该状态信息 来创建流控制分组,向PCI快速物理层130传送该流控制分组,并且向PCI快速物理层130 传送用于所述写入请求分组的完整性确认分组;PCI快速物理层130,用于通过PCI快速链 路120来向上游装置110传送该流控制分组和完整性确认分组,并且向PCI快速数据链路 层接收单元210传送通过PCI快速链路120而从上游装置110接收的写入请求分组;PCI快 速数据链路层接收单元210,用于通过在不存储所接收的写入请求分组的情况下执行实时 处理、来向PCI快速事务层接收单元220传送从PCI快速物理层接收的写入请求分组,并且 基于实时完整性检查的结果来向PCI快速数据链路层传送单元420和PCI快速事务层接收 单元410传送完整性确认分组;以及PCI快速事务层传送单元410,用于基于是否已经完成 了应用装置层310上的写入来创建用于所述写入请求分组的写入应答分组,并且向PCI快 速数据链路层传送单元420传送该应答分组,由此允许最终地向上游装置110传送该应答 分组。接下来,能够支持从应用装置层读取的、用于处理PCI快速协议的设备包括PCI 快速事务层接收单元220,用于向PCI快速数据链路层传送单元420传送指示可以接收读取 请求分组的状态信息;PCI快速数据链路层传送单元420,用于根据该状态信息来创建流控 制分组,向PCI快速物理层130传送流控制分组,并且向PCI快速物理层130传送用于所述 读取请求分组的完整性确认分组;PCI快速物理层130,用于向上游装置110传送该流控制 分组和完整性确认分组,并且向PCI快速数据链路层接收单元210传送从上游装置110接 收的读取请求分组;PCI快速数据链路层接收单元210,用于通过在不存储所接收的读取请 求分组的情况下执行实时处理、来向PCI快速事务层接收单元220传送从PCI快速物理层 接收的读取请求分组,并且基于实时完整性检查的结果来向PCI快速数据链路层传送单元 420和PCI快速事务层接收单元410传送该完整性确认分组;以及PCI快速事务层传送单 元410,用于在没有排列情况下基于从应用装置层310接收的访问数据来创建用于读取请 求分组的读取应答分组,并且向PCI快速数据链路层传送单元420传送该应答分组,由此允 许最终地向上游装置110传送该应答分组。
图3是示出了图2所示的用于处理PCI快速协议的设备的接收分组实时完整性检 查器215的详细构造的视图,图4是示出了图2所示的用于处理PCI快速协议的设备的接 收分组标识器221的详细构造的视图;而图5是示出了图2所示的用于处理PCI快速协议 的设备的PCI快速数据链路层传送单元420的详细构造的视图。参考图2到5,下面将详细地描述根据本发明实施例的用于处理PCI快速协议的设 备的元件。PCI快速数据链路层接收单元210包括分组接收接口 211,用于提供与PCI快速 物理层130的接口 ;接收分组实时完整性检查器215,用于通过对经由分组接收接口 211而 接收的写入请求分组或读取请求分组执行序列检查和循环冗余码(CRC)校验,来实时地执 行完整性检查;以及分组接收器213,用于基于通过分组接收接口 211而接收的流控制分组 的内容来向PCI快速事务层传送单元410通知上游装置110是否可以接收写入应答分组或 读取应答分组。接收分组实时完整性检查器215包括数据管道寄存器2151,用于允许排列从PCI 快速物理层130接收的事务层分组的内容,并且按照每个规则时间段一个地来实时输入; CRC发生器2153,用于生成有关事务层分组的内容的CRC;信息提取器2155,用于将有意义 的内容与事务层分组的报头分开,并且临时性地存储有意义的内容;数据提取器2157,用 于将数据与事务层分组分开,并且临时性地存储该数据;以及完整性检查器2159,用于通 过比较从CRC发生器2153输出的值与输入到数据管道寄存器2151的CRC值,来检查报头 信息提取器2155的内容的完整性和数据提取器2157的内容的完整性。PCI快速事务层接收单元220包括接收分组标识器221,用于检查写入请求分组 或读取请求分组的误差,并且向PCI快速事务层传送单元410通知需要创建写入应答分组 或读取应答分组的事实以及写入应答分组或读取应答分组的报头信息;以及接收流控制器 223,用于向PCI快速数据链路层传送单元420传送关于接收分组标识器221的状态信息。接收分组标识器221包括输入/输出事务标识器2211,用于标识从PCI快速数 据链路层接收单元210接收的请求分组的输入/输出事务;地址发生器2213,用于当输入 /输出事务标识器2211将请求分组标识为写入请求分组或读取请求分组时,创建适合于应 用装置层310的地址,并且向应用装置层310提供该地址;读取/写入信号发生器2215,用 于当输入/输出事务标识器2211将请求分组标识为写入请求分组时,生成写入信号,或者 当输入/输出事务标识器2211将请求分组标识为读取请求分组时,生成读取信号,并且向 应用装置层310提供该写入或读取信号;以及数据接口 2217,用于当输入/输出事务标识 器2211将请求分组标识为写入请求分组时,向应用装置层310提供写入请求分组的数据。输入/输出事务标识器2211向PCI快速事务层传送单元410传送从PCI快速数 据链路层接收单元220接收的应答分组的报头信息,并且PCI快速事务层传送单元410包 括数据应答器4131,用于在已经完成了应用装置层310的写入或读取操作之后,使用先前 通过输入/输出事务标识器2211而接收的报头信息来创建写入应答分组或读取应答分组。PCI快速事务层传送单元410包括传送流控制器411,用于基于到达了 PCI快速 数据链路层接收单元210处的流控制分组的内容,来确定上游装置110是否可以接收写入 应答分组或读取应答分组,并且确定是否传送写入应答分组或读取应答分组;以及传送分 组发生器413,用于当传送流控制器411确定传送写入应答分组或读取应答分组时,通过组合先前接收的报头信息与关于从应用装置层实时接收的写入操作的完成或读取操作的完 成的信息,来创建写入应答分组或读取应答分组,并且向PCI快速数据链路层传送单元420 传送该写入应答分组或读取应答分组。PCI快速数据链路层传送单元420包括分组传送接口 421,用于提供与PCI快速 物理层130的接口 ;分组发射器423,用于使用从PCI快速事务层接收单元220接收的状态 信息来创建流控制分组,并且通过分组传送接口 421来向PCI快速物理层130传送该流控 制分组;以及分组序列发生器425,用于通过分组传送接口 421来向PCI快速物理层130传 送用于写入或读取请求分组的完整性确认分组,或者创建用于写入或读取应答分组的序列 和CRC,并且通过分组传送接口 421来向PCI快速物理层130传送该序列和CRC。分组序列发生器425包括序列发生器4251,用于创建从PCI快速事务层传送单 元410接收的事务层分组的序列信息;CRC发生器4253,用于基于事务层分组的内容和序列 信息来创建CRC ;数据选择器4255,用于按照序列发生器4251的输出、分组组合器4135的 输出、和CRC发生器4253的输出的顺序而通过预定的比特单位来划分应答分组;以及管道 寄存器4257,用于临时性地存储由数据选择器4255划分的应答分组,并且向分组传送接口 421输出所划分的应答分组。当传送应答分组时,数据选择器4255操作应答定时器4259, 并且如果在预定的时间段中尚未接收到用于应答分组的完整性确认分组,则基于应答定时 器4259的超时信息来执行重传。参考图2,下面将描述根据本发明实施例的用于处理PCI快速协议的处理。在图2中,将如下地描述用于对应用装置层310执行写入的处理。由于图2不包 括图1的接收分组缓冲存储器和接收分组检查器,所以将接收分组标识器221仅限于一个 写入请求分组的处理。首先,PCI快速事务层接收单元220的接收流控制器223向PCI快速数据链路层 传送单元420内的分组发射器423传送关于可以接收一个写入请求分组的事实,并且分组 发射器423使用从接收流控制器223接收的信息来创建流控制分组流控制(Flow Control) DLLP,并且通过分组传送接口 421来向PCI快速物理层130传送该流控制分组。PCI快速物理层130将帧信息附着到该流控制分组,并且通过PCI快速链路120来 向上游装置110传送帧信息被附着到其上的流控制分组,并且上游装置110创建一个写入 请求分组。在创建该写入请求分组之后,上游装置110不能创建写入请求分组,直到接收到 包括用于指示可以再次接收一个写入请求分组的信息的流控制分组为止。由上游装置110创建的写入请求分组通过PCI快速链路120而到达PCI快速物理 层130处,并且使到达分组脱除帧,并且该到达分组通过分组接收接口 211而到达接收分 组实时完整性检查器215处。在向接收分组标识器221传送该分组的同时,接收分组实时 完整性检查器215执行序列检查和CRC校验,而不存储该分组。如果所传送的分组的序列 和CRC正确,则向分组发射器423传送该信息,从而创建确认分组Ack DLLP。如果所传送 的分组的序列和CRC不正确,则向分组发射器423传送该信息,从而创建否定确认分组Nak DLLP。同时,向接收分组标识器221通知关于该分组不完全的事实的信息,使得接收分组标 识器221将该分组当作错误的分组。由于因为图2仅考虑输入/输出事务而将数据量限于32比特,所以由接收分组实 时完整性检查器215检验尺寸大于32比特的分组,并且全部丢弃剩余的输入数据,并且同时,向接收分组标识器221通知所传送的分组具有误差的事实。如果写入请求分组没有误差,则接收分组标识器221向传送分组发生器413通知 需要创建写入应答分组的事实和该写入应答分组的报头信息,并且对应用装置层310执行 写入数据的操作。在已经完成了写入操作之后,应用装置层310向传送分组发生器413通 知该信息。传送流控制器411向传送分组发生器413通知上游装置110是否可以接收该写入 应答分组,由分组接收器213基于通过PCI快速链路120、PCI快速物理层130和分组接收 接口 211而从上游装置110到达分组接收器213的流控制分组的内容,来提供所述通知。当传送流控制器411传送用于指示可以传送写入应答分组的信息时,传送分组发 生器413通过组合先前从接收分组标识器211接收的写入应答分组的报头信息与关于从应 用装置层310接收的完成了写入操作的信息,来创建用于写入请求分组的写入应答分组, 并且向PCI快速数据链路层传送单元420内的分组序列发生器425传送该写入应答分组。 分组序列发生器425创建从传送分组发生器413接收的写入应答分组的序列和CRC,并且通 过分组传送接口 421来向PCI快速物理层130传送该序列和CRC,并且PCI快速物理层130 将帧信息附着到该分组,并且通过PCI快速链路120来向上游装置110传送该分组。上游装置110创建用于所接收的写入应答分组的完整性确认分组Ack/Nak DLLP, 并且通过PCI快速链路120来向PCI快速物理层130传送该完整性确认分组Ack/Nak DLLP0 到达了 PCI快速物理层130处的完整性确认分组Ack/Nak DLLP通过分组接收接口 211而 到达分组接收器213。向分组序列发生器425提供关于完整性确认分组Ack/Nak DLLP的到 达的信息。如果已经接收到否定确认分组Nak DLLP或者在预定的时间段中尚未接收到完 整性确认分组Ack/Nak DLLP,则分组序列发生器425基于先前传送的事务层分组TLP信息 来执行重传,这是因为该分组序列发生器425仍具有该信息。反复该操作,直到接收到用于 指示已经接收到Ack确认分组Ack DLLP的信息为止。当分组序列发生器425得知关于确认分组Ack DLLP的到达的信息时,分组序列发 生器425向接收流控制器223通知该信息。由于接收流控制器223在上面处理中得知了所 传送的写入应答分组完全到达上游装置110处的事实,所以接收流控制器223可以接收随 后的写入请求分组,并且向分组发射器423通知可以再次接收一个写入请求分组的事实。 分组发射器423创建流控制分组,该流控制分组包括用于指示可以再次接收一个写入请求 分组的信息,并且通过分组传送接口 421来向PCI快速物理层130传送该流控制分组。PCI 快速物理层130将帧信息附着到该流控制分组,并且通过PCI快速链路120来向上游装置 110传送帧信息被附着到其上的流控制分组。已经接收到包括用于指示可以再次接收一个 写入请求分组的信息的流控制分组的上游装置110可以创建随后的写入请求分组。参考图2,下面将描述用于执行从应用装置层310读取的处理。由于图2不包括 图1的接收分组缓冲存储器和接收分组检查器,所以将接收分组标识器221仅限于一个读 取请求分组的处理。相应地,接收流控制器223向PCI快速数据链路层传送单元420内的 分组发射器423传送用于指示可以接收一个读取请求分组的信息。分组发射器423使用该 信息来创建流控制分组流控制DLLP,并且通过分组传送接口 421来向PCI快速物理层130 传送该流控制分组。PCI快速物理层130将帧信息附着到该流控制分组,并且通过PCI快速 链路120来向上游装置110传送帧信息被附着到其上的流控制分组,并且上游装置110创建一个读取请求分组。在上游装置110已经创建了该读取请求分组之后,上游装置110不 能创建读取请求分组,直到上游装置110接收到包括用于指示不能再次接收一个读取请求 分组的信息的流控制分组为止。由上游装置110创建的读取请求分组通过PCI快速链路120而到达PCI快速物理 层130处。使到达分组脱除帧,并且该到达分组通过分组接收接口 211而到达接收分组实 时完整性检查器215处。在向接收分组标识器221传送该分组的同时,接收分组实时完整 性检查器215执行序列检查和CRC校验,而不存储该分组。如果所传送的分组的序列和CRC 正确,则向分组发射器423传送该信息,使得可以创建确认分组Ack DLLP。如果它们不正 确,则向分组发射器423传送该信息,使得可以创建否定确认分组Nak DLLP。同时,向接收 分组标识器221通知用于指示该分组不正确的信息,使得接收分组标识器221将该分组当 作错误的分组。在读取分组的情况下,事务仅仅由报头组成,从而不需要用于存储附加数据 的存储器。当读取请求分组没有误差时,接收分组标识器221向传送分组发生器413通知需 要创建读取应答分组的事实和该应答分组的报头信息,并且在应用装置层310中执行数据 读取操作。在完成读取操作之后,应用装置层310向传送分组发生器413移交所读取的数 据(所访问的数据)。在本发明中,仅仅处理输入/输出事务,使得从读取请求分组读取的 数据量限于32比特。相应地,由接收分组标识器221将大于32比特的读取请求分组确定 为错误的分组并将其丢弃,并且传送分组发生器413可以仅仅具有32比特数据的路径。传送流控制器411基于通过PCI快速链路120、PCI快速物理层130和分组接收接 口 211而从上游装置110到达分组接收器213的流控制分组的内容,来向传送分组发生器 413通知由分组接收器213提供的、关于上游装置110是否可以接收该读取应答分组的信 肩、ο如果传送流控制器411传送用于指示可以传送读取应答分组的信息,则传送分组 发生器413通过组合先前从接收分组标识器211接收的读取应答分组的报头信息与由应用 装置层310传送的所读取的数据(所访问的数据),来创建用于读取请求分组的读取应答 分组,并且向PCI快速数据链路层传送单元420内的分组序列发生器425传送该读取应答 分组。分组序列发生器425创建用于从传送分组发生器413接收的读取应答分组的序列和 CRC,并且通过分组传送接口 421来向PCI快速物理层130传送该序列和CRC。PCI快速物 理层130将帧信息附着到该分组,并且通过PCI快速链路120来向上游装置110传送帧信 息被附着到其上的该分组。上游装置110创建用于所接收的读取应答分组的完整性确认分组Ack/Nak DLLP, 并且通过PCI快速链路120来向PCI快速物理层130传送该完整性确认分组Ack/Nak DLLP。 到达了 PCI快速物理层130处的完整性确认分组Ack/Nak DLLP通过分组接收接口 211而 到达分组接收器213。由分组序列发生器425提供关于完整性确认分组Ack/Nak DLLP的到 达的信息。如果已经接收到否定确认分组Nak DLLP或者在预定的时间段中尚未接收到完 整性确认分组Ack/Nak DLLP,则分组序列发生器425基于事务链路分组(TLP)信息来执行 重传,这是因为该分组序列发生器425具有该信息。反复该操作,直到接收到关于确认分组 Ack DLLP的到达的信息为止。当分组序列发生器425得知确认分组Ack DLLP的到达时,分组序列发生器425向接收流控制器223通知该信息。由于接收流控制器223通过上面处理而得知了所传送的读 取应答分组已经完全到达了上游装置110处,所以接收流控制器223可以接收随后的读取 请求分组,并且向分组发射器423通知可以再次接收一个读取请求分组的事实。分组发射 器423创建包括用于指示可以再次接收一个读取请求分组的信息的流控制分组,并且通过 分组传送接口 421来向PCI快速物理层130传送该流控制分组。PCI快速物理层130将帧 信息附着到该流控制分组,并且通过PCI快速链路120来向上游装置110传送帧信息被附 着到其上的流控制分组。已经接收到包括用于指示可以再次接收一个读取请求分组的信息 的流控制分组的上游装置110可以创建随后的读取请求分组。图3示出了接收分组实时完整性检查器215的内部结构。在分组接收接口 211中以32比特单位来排列从PCI快速物理层130接收的事务 层分组TLP,并且按照每个时间段一条来实时地在统一时间段中向数据管道寄存器2151传 送以32比特单位而排列的分组的内容。分组接收接口 211向完整性检查器2159通知关 于该分组的开始和结束的信息,使得完整性检查器2159确定在32比特数据临时性存储寄 存器中存在的分组的内容是初始的序列信息、中间的事务层分组(TLP)内容、还是最终的 CRC。向CRC发生器2153输入在数据管道寄存器2151中存储的内容,并因而创建用于被划 分为32比特单位的分组的内容的CRC。为了创建32比特CRC,需要两个值。使用CRC发生 器2153的输出值和从数据管道寄存器2151接收的值来创建32比特CRC。在分组的开始的 情况下,分组接收接口 211向CRC发生器2153通知关于分组的开始的信息。当创建用于分 组的开始的CRC时,使用具有32个独立比特被设置为“1”的值、而不是在创建初始CRC时 先前存储的CRC发生器2153的输出值来创建CRC发生器2153的初始输出。关于向数据管道寄存器2151实时输入的32比特分组数据的内容,报头信息提取 器2155将有意义的内容与报头分开并临时性地存储它,并且数据提取器2157将数据分开 并仅仅临时地存储该数据。当向数据管道寄存器2151输入分组的最后CRC时,完整性检查 器2159比较CRC发生器2153的所计算的输出值与向数据管道检查器2151输入的CRC值, 并且向接收分组标识器640通知关于在报头信息提取器2155中存储的内容的完整性的信 息和关于在数据提取器2157中存储的内容的完整性的信息。仅当将分组数据确定为不具 有缺陷时,接收分组标识器640执行应用装置层310中的读取或写入操作。如果在分组中 发现缺陷,则接收分组标识器640忽略报头信息提取器2155的内容和正在输入的数据提取 器2157的内容。由于虽然接收分组实时完整性检查器215按照管道方式而以32比特单位 来连续地接收数据,但是不执行用于等待分组的完全到达的操作,所以接收分组实时完整 性检查器215不使用用于在其中存储分组的存储器。相应地,本发明不需要图1所示的接 收分组缓冲存储器420。此外,由于接收分组标识器640不存储分组,所以接收分组标识器 640不使用图1所示的虚拟通道存储器610。作为结果,PCI快速数据链路层接收单元400 和PCI快速事务层接收单元600根本不使用存储器装置。图4是示出了与应用装置层310的接口的视图。当在报头信息提取器2155和数 据提取器2157中存在的请求分组是输入/输出事务时,通过输入/输出事务标识器2211 向地址发生器2213、读取/写入信号发生器2215和数据接口 2217传送请求分组。此外,向 传送分组发生器413传送应答分组的报头信息。如果请求分组是写入请求分组,则地址发 生器2213创建适合于应用装置层310的地址,读取/写入信号发生器2215创建写入信号,并且向应用装置层310传送通过数据接口 2217而输入的数据。应用装置层310向数据应 答器4131通知写入操作的完成。当完成写入操作时,传送分组发生器413使用先前通过输 入/输出事务标识器2211而接收的报头信息来创建写入应答分组。如果请求分组是读取 请求分组,则地址发生器2213创建适合于应用装置层310的地址,读取/写入信号发生器 2215创建读取信号,并且应用地址层310向数据应答器4131传送所读取的数据(所访问的 数据)。传送分组发生器413通过组合先前从输入/输出事务标识器2211而接收的应答分 组的报头信息与在数据应答器4131中存在的数据来创建读取应答分组。要在应用装置层 310中处理的分组的数目是读取/写入请求分组的一个,并且在输入/输出事务的情况下, 将要处理的数据量限于32比特。相应地,如果与从应用装置层310向数据应答器4131提 供的应答分组相关的数据的宽度等于或小于32比特,则传送分组发生器413不需要图1的 传送数据排列存储器来存储用于请求分组的应答分组的数据,从而不存在PCI快速事务层 传送单元410的使用存储器装置的部分。图5示出了因为在创建用于请求分组的应答分组并且完全地传送该应答分组之 前维持要用于创建应答分组的内容、所以不需要用于重传的单独存储器的结构。报头发生器4133使用从输入/输出事务标识器2211接收的用于创建报头的信息 来创建报头,使用数据应答器4131的输出值来创建数据部分,向分组组合器4135传送这两 条信息,并且分组组合器4135创建完全的事务层分组TLP。序列发生器4251创建序列信 息,并且CRC发生器4253基于序列发生器4251和分组组合器4135的内容来创建CRC。数 据选择器4255按照序列发生器4251的输出、分组组合器4135的输出和CRC发生器4253 的输出的次序来将应答分组划分为32比特单位,并且向32比特管道寄存器4257输出划分 结果。管道寄存器4257的输出值通过分组传送接口 421而到达PCI快速物理层130处。 PCI快速物理层130将帧信息附着到应答分组的前面和后面,并且通过PCI快速链路120来 向上游装置110传送帧信息被附着到其上的应答分组。上游装置110创建用于所接收的应 答分组的确认分组Ack DLLP或否定确认分组Nak DLLP,并且通过PCI快速链路120来向 PCI快速物理层130传送该确认分组Ack DLLP或否定确认分组Nak DLLP0 PCI快速物理层 130通过分组接收接口 211来向分组接收器213传送所接收的确认分组Ack DLLP或否定 确认分组Nak DLLP。分组接收器213确定对该应答分组的应答是Ack还是Nak,并且向数 据选择器4255通知确定结果。如果应答是Nak,则数据选择器4255向管道寄存器4257重 传先前传送的应答分组。相应地,数据选择器4255在首次传送应答分组时开始应答定时器 4259,并且即使当在预定时间段中根本尚未接收到Ack或Nak时,也基于应答定时器4259 的超时信息来执行重传。当从分组接收器213接收的分组是Ack时,数据选择器4255向接 收流控制器223通知应答分组的完全传送,并且接收流控制器223指导分组发射器423创 建流控制分组。分组发射器423创建流控制分组,并且通过分组传送接口 421来向PCI快 速物理层130传送流控制分组,并且PCI快速物理层130将帧信息附着到流控制分组,并且 通过PCI快速链路120来向上游装置110传送帧信息被附着到其上的流控制分组,使得上 游装置110可以再次创建请求分组。由于在创建随后的请求分组之前、连续地维持用于指 示应答分组的内容的分组组合器4135的信息,所以PCI快速数据链路层传送单元420可以 执行重传,并且保证应答分组的完全到达,而无需使用图1的重传缓冲存储器。
根据本发明的实施例,在不使用存储器的情况下,实现所接收的分组的完整性的 检查、要传送的分组的数据的排列或所传送的分组的重传,由此克服了由于使用存储器而 可能出现的传统技术的问题。此外,可以确保用于主要地使用输入/输出事务的应用装置的资源的优化使用, 并且可以确保设计的使用,而无需在各个处理中改变用于处理PCI快速协议的设备的集成 的设计。尽管已经结合实施例而示出并描述了本发明,但是本领域技术人员将理解,可以 做出各种改变和修改,而不脱离由以下权利要求限定的本发明的范围。
权利要求
1.一种用于处理外围组件互连(PCI)快速协议的设备,包括PCI快速事务层接收单元,用于向PCI快速数据链路层传送单元传送用于指示接收写 入请求分组的状态信息,并且通过在不存储该写入请求分组的情况下、执行实时处理来在 应用装置层上执行数据写入操作;PCI快速数据链路层传送单元,用于根据所述状态信息来创建流控制分组,向PCI快速 物理层传送该流控制分组,并且向PCI快速物理层传送用于所述写入请求分组的完整性确 认分组;PCI快速物理层,用于通过PCI快速链路来向上游装置传送该流控制分组和完整性确 认分组,并且向PCI快速数据链路层接收单元传送通过PCI快速链路而从上游装置接收的 写入请求分组;以及PCI快速数据链路层接收单元,用于通过在不存储所接收的写入请求分组的情况下、执 行实时处理来向PCI快速事务层接收单元传送从PCI快速物理层接收的写入请求分组,并 且基于实时完整性检查的结果来向PCI快速数据链路层传送单元和PCI快速事务层接收单 元传送完整性确认分组。
2.根据权利要求1的设备,还包括PCI快速事务层传送单元,用于基于是否已经完成 应用装置层310上的写入来创建用于写入请求分组的写入应答分组,并且向PCI快速数据 链路层传送单元传送该应答分组,从而允许最终地向上游装置传送该应答分组。
3.根据权利要求2的设备,其中如果已经接收到否定确认分组或者在预定的时间段中 尚未接收到用于写入应答分组的完整性确认分组,则该PCI快速数据链路层传送单元基于 先前传送的事务层分组信息来执行重传。
4.根据权利要求2的设备,其中所述PCI快速事务层接收单元保持先前分组的内容用 于重传,并且当PCI快速数据链路层传送单元提供确认分组的到达的通知作为用于写入应 答分组的完整性确认分组时,向PCI快速数据链路层传送单元传送用于指示能够接收新的 写入请求分组的状态信息。
5.根据权利要求2的设备,其中该PCI快速数据链路层接收单元包括分组接收接口,用于提供与PCI快速物理层的接口 ;接收分组实时完整性检查器,用于通过在不存储经由分组接收接口而接收的写入请求 分组的情况下、执行实时完整性检查,来对写入请求分组执行序列检查和CRC校验;以及分组接收器,用于基于通过分组接收接口而接收的流控制分组的内容来向PCI快速事 务层传送单元通知上游装置是否能够接收写入应答分组。
6.根据权利要求5的设备,其中所述接收分组实时完整性检查器包括数据管道寄存器,用于允许排列从PCI快速物理层接收的事务层分组的内容,并且按 照每个规则时间段一个地来实时输入;CRC发生器,用于生成有关事务层分组的内容的CRC ;信息提取器,用于将有意义的内容与事务层分组的报头分开,并且临时性地存储有意 义的内容;数据提取器,用于将数据与事务层分组分开,并且临时性地存储该数据;以及完整性检查器,用于通过比较从CRC发生器输出的值与输入到数据管道寄存器的CRC 值,来检查报头信息提取器的内容的完整性和数据提取器的内容的完整性。
7.根据权利要求2的设备,其中所述PCI快速事务层接收单元包括接收分组标识器221,用于基于通过在不存储写入请求分组的情况下执行实时处理而 获得的、检查写入请求分组有没有误差的结果,来向PCI快速事务层传送单元通知应该创 建写入应答分组的事实和写入应答分组的报头信息;以及接收流控制器,用于向PCI快速数据链路层传送单元传送关于接收分组标识器的状态 fn息ο
8.根据权利要求7的设备,其中所述接收分组标识器包括输入/输出事务标识器,用于通过在不存储请求分组的情况下、执行实时处理,来标识 从PCI快速数据链路层接收单元接收的请求分组的输入/输出事务;地址发生器,用于当输入/输出事务标识器将请求分组标识为写入请求分组时,创建 适合于应用装置层的地址,并且向应用装置层提供该地址;读取/写入信号发生器,用于当输入/输出标识器将请求分组标识为写入请求分组时, 生成写入信号,并且向应用装置层提供该写入信号;以及数据接口,用于当输入/输出事务标识器将请求分组标识为写入请求分组时,向应用 装置层提供写入请求分组的数据。
9.根据权利要求8的设备,其中该输入/输出事务标识器向PCI快速事务层传送单元传送从PCI快速数据链路层接收 单元接收的应答分组的报头信息;以及该PCI快速事务层传送单元包括数据应答器,用于在已经完成应用装置层的写入或 读取操作之后,使用先前通过输入/输出事务标识器而接收的报头信息来创建写入应答分组。
10.根据权利要求7的设备,其中该PCI快速事务层传送单元包括传送流控制器,用于基于到达PCI快速数据链路层接收单元的流控制分组的内容来确 定上游装置是否能够接收写入应答分组,并且确定是否传送写入应答分组;以及传送分组发生器,用于当传送流控制器确定传送写入应答分组时,通过组合先前接收 的报头信息与从应用装置层实时接收的关于写入操作的完成的信息,来创建写入应答分 组,并且向PCI快速数据链路层传送单元传送该写入应答分组。
11.根据权利要求7的设备,其中所述PCI快速数据链路层传送单元包括 分组传送接口,用于提供与PCI快速物理层的接口 ;分组发射器,用于使用从PCI快速事务层接收单元接收的状态信息来创建流控制分 组,并且通过分组传送接口来向PCI快速物理层传送该流控制分组;以及分组序列发生器,用于通过分组传送接口来向PCI快速物理层传送用于写入请求分组 的完整性确认分组,或者创建用于写入应答分组的序列和CRC,并且通过分组传送接口来向 PCI快速物理层传送该序列和CRC。
12.一种用于处理PCI快速协议的设备,包括PCI快速事务层接收单元,用于向PCI快速数据链路层传送单元传送用于指示能够接 收读取请求分组的状态信息;PCI快速数据链路层传送单元,用于根据该状态信息来创建流控制分组,向PCI快速物 理层传送该流控制分组,并且向PCI快速物理层传送用于所述读取请求分组的完整性确认分组;PCI快速物理层,用于向上游装置传送该流控制分组和完整性确认分组,并且向PCI快 速数据链路层接收单元传送从上游装置接收的读取请求分组;PCI快速数据链路层接收单元,用于通过在不存储所接收的读取请求分组的情况下执 行实时处理、来向PCI快速事务层接收单元传送从PCI快速物理层接收的读取请求分组,并 且基于实时完整性检查的结果来向PCI快速数据链路层传送单元和PCI快速事务层接收单 元传送该完整性确认分组;以及PCI快速事务层传送单元,用于基于在没有排列情况下从应用装置层接收的访问数据 来创建用于读取请求分组的读取应答分组,并且向PCI快速数据链路层传送单元传送该应 答分组,从而允许最终地向上游装置传送该应答分组。
13.根据权利要求12的设备,其中如果已经接收到否定确认分组或者在预定的时间段 中尚未接收到用于读取应答分组的完整性确认分组,则该PCI快速数据链路层传送单元基 于先前传送的事务层分组信息来执行重传。
14.根据权利要求12的设备,其中该PCI快速事务层接收单元保持先前分组的内容用 于重传,并且当PCI快速数据链路层传送单元提供确认分组的到达的通知作为用于读取应 答分组的完整性确认分组时,向PCI快速数据链路层传送单元传送用于指示能够接收新的 读取请求分组的状态信息。
15.根据权利要求12的设备,其中该PCI快速数据链路层接收单元包括 分组接收接口,用于提供与PCI快速物理层的接口 ;接收分组实时完整性检查器,用于通过在不存储经由分组接收接口而接收的读取请求 分组的情况下、执行实时完整性检查,来对读取请求分组执行序列检查和CRC校验;以及分组接收器,用于基于通过分组接收接口而接收的流控制分组的内容来向PCI快速事 务层传送单元通知上游装置是否能够接收读取应答分组。
16.根据权利要求12的设备,其中该PCI快速事务层接收单元包括接收分组标识器,用于基于通过在不存储读取请求分组的情况下执行实时处理而获得 的、检查读取请求分组有没有误差的结果,来向PCI快速事务层传送单元通知应该创建读 取应答分组的事实和读取应答分组的报头信息;以及接收流控制器,用于向PCI快速数据链路层传送单元传送关于接收分组标识器的状态 fn息ο
17.根据权利要求16的设备,其中该PCI快速事务层传送单元包括传送流控制器,用于基于到达PCI快速数据链路层接收单元的流控制分组的内容来确 定上游装置是否能够接收读取应答分组,并然后确定是否传送读取应答分组;以及传送分组发生器,用于当传送流控制器已经确定传送读取应答分组时,通过组合先前 接收的报头信息与在没有排列情况下从应用装置层接收的访问数据,来创建读取应答分 组,并且向PCI快速数据链路层传送单元传送该读取应答分组。
18.根据权利要求12的设备,其中该PCI快速数据链路层传送单元包括 分组传送接口,用于提供与PCI快速物理层的接口 ;分组发射器,用于使用从PCI快速事务层接收单元接收的状态信息来创建流控制分 组,并且通过分组传送接口来向PCI快速物理层传送该流控制分组;以及分组序列发生器,用于通过分组传送接口来向PCI快速物理层传送用于读取请求分组 的完整性确认分组,或者创建用于读取请求分组的序列和CRC,并且通过分组传送接口来向 PCI快速物理层传送该序列和CRC。
19.根据权利要求18的设备,其中该分组序列发生器包括序列发生器,用于创建从PCI快速事务层传送单元接收的事务层分组的序列信息; CRC发生器,用于基于事务层分组的内容和序列信息来创建CRC ; 数据选择器,用于按照序列发生器的输出、分组组合器的输出、和CRC发生器的输出的 顺序而通过预定的比特单位来划分应答分组;以及管道寄存器,用于临时性地存储由数据选择器划分的应答分组,并且向分组传送接口 输出所划分的应答分组。
20.根据权利要求19的设备,其中当传送应答分组时,该数据选择器开始应答定时器, 并且如果在预定的时间段中尚未接收到用于应答分组的完整性确认分组,则基于应答定时 器的超时信息来执行重传。
全文摘要
一种用于处理PCI快速协议的设备,包括PCI快速事务层接收单元,用于传送状态信息,并且执行数据写入操作;PCI快速数据链路层传送单元,用于创建流控制分组,向PCI快速物理层传送该流控制分组,并且向PCI快速物理层传送完整性确认分组;以及PCI快速物理层,用于向上游装置传送该流控制分组和完整性确认分组,并且向PCI快速数据链路层接收单元传送写入请求分组。此外,该设备包括PCI快速数据链路层接收单元,用于向PCI快速事务层接收单元传送写入请求分组,并且向PCI快速数据链路层传送单元和PCI快速事务层接收单元传送完整性确认分组。
文档编号H04L29/06GK102098212SQ20101020274
公开日2011年6月15日 申请日期2010年6月11日 优先权日2009年12月11日
发明者崔容硕 申请人:韩国电子通信研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1