[发明专利]PCI-E设备及其接收数据重排序方法有效
申请号: | 201110309764.5 | 申请日: | 2011-10-13 |
公开(公告)号: | CN103049240A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 王海洋;蔡娅 | 申请(专利权)人: | 北京同步科技有限公司 |
主分类号: | G06F5/06 | 分类号: | G06F5/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100070 北京市丰*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | pci 设备 及其 接收 数据 排序 方法 | ||
技术领域
本发明涉及通信技术领域,更具体地,涉及一种PCI-E设备及其接收数据重排序方法。
背景技术
PCI Express(快速外围组件互连,简称为PCI-E或者PCIe)是第三代高性能的计算机及通信平台的外设I/O总线标准。PCI Express架构抛弃了上一代PCI(Peripheral Component Interconnect,外围组件互连)以及PCI-X总线的并联共享结构,采用了串行的、点对点的通讯方式。多个PCI Express设备通过开关进行互联。
PCI Express使用基于包的协议在两个设备之间传输信息,协议的最上层为传输层,负责传输层包(Transaction Layer Packet,TLP)的封装与拆封。通讯双方的数据传输是通过交换TLP(包括请求包和完成包)来完成的,即,PCI Express设备之间通过发送TLP来传输信息。每个传输层包中包含唯一的传输ID,以保证系统可以对所有的传输层包进行正确的路由。具体的,请求者发送请求包给完成者,如果需要响应数据,则完成者通过完成包将响应的数据发送给请求者。其中,对读请求包的响应是通过分割传输(Split Transaction)的形式实现的,即,将针对于一个读请求包的响应数据分割成多个读完成包来发送。
为了提高传输层包的传输效率和系统性能,PCI Express允许单个请求者同时并发地处理多个请求,即允许请求者在一个请求还未完成的情况下,发送下一个请求。因此,传输ID中除了包括标识请求者身份的请求者ID外,还包括一个标签ID(Tag ID),以区分同一个请求者的请求包以及该请求包所对应的完成包。
另外,传输层包在传输的过程中有可能遇到阻塞,为了提高系统性能,PCI Express还定义了一系列传输层包的次序处理规则,其中包括:允许一个请求包在传输过程中超越被阻塞的来自同一个请求者的请求包,以及允许一个完成包在传输的过程中超越发往同一个请求者的被阻塞的完成包。例如,PCI Express允许一个读请求包在传输过程中超越在它之前发往同一个完成者的受到阻塞的读请求包,以及,允许完成者发出的读完成包可以超越在它之前发往同一个请求者的受到阻塞的读完成包,这将导致请求者完成读请求的顺序与发送读请求的顺序(即请求者收到读完成包的次序与发送的读请求包请求数据的次序)不一致,即,在后发送的读请求有可能先于在先发送的读请求完成。
目前,在如图1所示的使用PCI Express总线的高速数据传输系统中,作为请求者的PCI-E设备A(例如可以为扩展卡)中包括:包收发模块和FIFO存储器,采用DMA(Direct Memory Access,直接存储器访问)方式从PCI-E设备B(例如可以为主机)向PCI-E设备A传输数据。当PCI-E设备A向PCI-E设备B先后发送了两个读请求包R1、R2(其中R1对应读完成包C11、C12、C13,R2对应读完成包C21、C22)时,根据上述的传输层包的次序处理规则,PCI-E设备A接收读完成包的次序可能会与发送读请求包的次序不同,例如接收到读完成包的次序可能为:C11、C12、C21、C13、C22。则此时,如果将接收到的读完成包中的数据直接写入FIFO存储器,由于FIFO存储器的输出次序与写入次序相同,因此将导致FIFO存储器输出的数据次序出错。
发明内容
有鉴于此,本发明的主要目的在于提供一种PCI-E设备及其接收数据重排序方法,能够解决现有技术中存在的接收数据的次序可能会出错的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一方面,提供了一种PCI-E设备的接收数据重排序方法,包括:接收读完成包;将接收到的针对同一个读请求的读完成包的数据,依次暂存到排序缓存器中与该读请求对应的存储块中,其中,排序缓存器被预先划分成至少一个存储块,每一个存储块用于存储一个读请求的读完成包的数据;按照读请求发送的先后次序,从排序缓存器的各个存储块中,将已完成的读请求的读完成包的数据读出,并写入到FIFO存储器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京同步科技有限公司,未经北京同步科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110309764.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:开塞露瓶
- 下一篇:光敏式输入装置及光敏式输入面板