[发明专利]PCI-E设备及其接收数据重排序方法有效
申请号: | 201110309764.5 | 申请日: | 2011-10-13 |
公开(公告)号: | CN103049240A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 王海洋;蔡娅 | 申请(专利权)人: | 北京同步科技有限公司 |
主分类号: | G06F5/06 | 分类号: | G06F5/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100070 北京市丰*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | pci 设备 及其 接收 数据 排序 方法 | ||
1.一种快速外围组件互连PCI-E设备的接收数据重排序方法,其特征在于,包括:
接收读完成包;
将接收到的针对同一个读请求的读完成包的数据,依次暂存到排序缓存器中与该读请求对应的存储块中,其中,所述排序缓存器被预先划分成至少一个存储块,每一个存储块用于存储一个读请求的读完成包的数据;
按照读请求发送的先后次序,从所述排序缓存器的各个存储块中,将已完成的读请求的读完成包的数据读出,并写入到先入先出FIFO存储器。
2.根据权利要求1所述的方法,其特征在于,在接收读完成包之前,还包括:
初始化活动请求表;其中,所述活动请求表中的每一行包括:标签ID和标签ID状态,其中,标签ID状态表示对应的标签ID当前是否正在被使用,标签ID状态的初始化值为空闲;所述活动请求表的行数等于所述PCI-E设备能同时处理的读请求的最大数量;
当需要发送读请求时,从所述活动请求表中获取标签ID状态为空闲、且最小的标签ID,并更新所获取的标签ID的标签ID状态为使用中;
发送读请求,其中,该读请求中携带有所获取的标签ID、请求的数据的长度、以及请求的数据的首地址。
3.根据权利要求2所述的方法,其特征在于,
在从所述活动请求表中获取标签ID状态为空闲、且最小的标签ID之前,还包括:
初始化请求序列表;其中,所述请求序列表具有读指针和写指针,所述读指针和所述写指针的初始化值为1,所述读指针和所述写指针的值分别表示其所指向的所述请求序列表的行的行号;所述请求序列表中的每一行用于保存一个读请求的处理信息;所述活动请求表中的每一行还包括:请求序列表指针,其中,请求序列表指针表示对应的标签ID所标识的读请求的处理信息在所述请求序列表中的存放位置;
当需要发送读请求时,确定所述请求序列表的写指针当前所指向的行可用;
在从所述活动请求表中获取标签ID状态为空闲、且最小的标签ID之后,还包括:
将所述活动请求表中与所述所获取的标签ID相对应的请求序列表指针的值更新为所述请求序列表的写指针当前所指向的行的行号;
将需要发送的读请求的处理信息写入到所述请求序列表的写指针当前所指向的行中;
若所述请求序列表的写指针的当前值小于最大值,则将写指针的值加1,否则,将写指针的当前值重新置为1,其中,所述最大值为所述请求序列表的行数,所述请求序列表的行数等于所述排序缓存器中的存储块的总数。
4.根据权利要求3所述的方法,其特征在于,所述处理信息包括:
标签ID、排序缓存器块内偏移量、请求长度、以及请求状态;则所述请求序列表中的每一行包括:标签ID、排序缓存器块内偏移量、请求长度、以及请求状态,其中,标签ID为该行对应的读请求所使用的标签ID,且该行的行号等于针对该读请求的读完成包的数据所要存储的存储块的序号;排序缓存器块内偏移量表示该读请求对应的存储块的写指针的块内偏移量;请求长度表示该读请求所请求的数据的长度;请求状态表示该读请求的当前处理状态,请求状态的初始化值为空闲;
将需要发送的读请求的处理信息写入到所述请求序列表的写指针当前所指向的行中包括:在所述请求序列表的写指针当前所指向的行中,将标签ID的值置为所述所获取的标签ID,将排序缓存器块内偏移量的值置为零,将请求长度置为所述需要发送的读请求所请求的数据的长度,并将请求状态更新为传输中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京同步科技有限公司,未经北京同步科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110309764.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:开塞露瓶
- 下一篇:光敏式输入装置及光敏式输入面板