CN103532875A - 一种用于pcie应用层接口的重排序技术 - Google Patents

一种用于pcie应用层接口的重排序技术 Download PDF

Info

Publication number
CN103532875A
CN103532875A CN201310473342.0A CN201310473342A CN103532875A CN 103532875 A CN103532875 A CN 103532875A CN 201310473342 A CN201310473342 A CN 201310473342A CN 103532875 A CN103532875 A CN 103532875A
Authority
CN
China
Prior art keywords
pcie
bag
tag
flag
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.)
Granted
Application number
CN201310473342.0A
Other languages
English (en)
Other versions
CN103532875B (zh
Inventor
林谷
雒莎
李冰
丁贤根
Original Assignee
JIANGSU HUALI NETWORK ENGINEERING Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JIANGSU HUALI NETWORK ENGINEERING Co Ltd filed Critical JIANGSU HUALI NETWORK ENGINEERING Co Ltd
Priority to CN201310473342.0A priority Critical patent/CN103532875B/zh
Publication of CN103532875A publication Critical patent/CN103532875A/zh
Application granted granted Critical
Publication of CN103532875B publication Critical patent/CN103532875B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Bus Control (AREA)

Abstract

本发明涉及一种用于PCIE应用层接口的重排序技术,使用外部存储器来存储接收的数据以及需要存储的信息,使用查找表(lut)记录分割前后包的标志位(TAG号),加入内部TAG号来使得将接收的所有的请求包标志号(ID号)都先转换成不同的内部标志号(InternalTAG),这样就完全解决现有方案中阻塞所导致的问题,提高了工作速率,并且能够解决包的乱序问题。

Description

一种用于PCIE应用层接口的重排序技术
技术领域
本发明涉及一种用于PCIE应用层接口的重排序技术。 
背景技术
随着计算机运行速度越来越高,提出了第三代计算机I/O技术,即PCIE总线技术。相比较于传统的PCI总线技术,PCIE在带宽,时延,速率等方面都有不同程度的性能提升。 
PCIE的硬核中包括PCIE物理层,PCIE数据链路层和PCIE事务层。PCIE事务层负责对包进行发送和接收,并进行相应的错误检测。PCIE事务层属于硬核的最高层,与应用层通过总线相连接而实现通信。 
相对于高级高性能总线(AHB)总线,ARM公司新提出的高级可扩展接口(AXI)总线协议有更好的性能,AXI总线拥有单通道体系结构,简化时钟域之间的桥接,减少延时;支持多项数据交换,通过执行猝发操作,极大地提高了数据吞吐能力;拥有独立的地址和数据通道,可根据需要控制时序通道,将时钟频率提高至最高。可见AXI是一种面向高性能,高带宽,低延时的片内总线,能够满足PCIE的高速率,高带宽和低延时的高性能要求。 
基于PCIE硬核要连接至AXI总线继而与应用层通信,因此在PCIE硬核与AXI总线之间需要一个桥接器来实现两者的协议转换。AXI总线支持乱序传输,所以在桥接器内部需要将乱序接收的包进行重排序。 
图1是一个完整的AXI PCIE桥的总线结构,它包括两个部分AXI4到AXI4-stream的桥以及从AXI4-stream接口到PCI Express的转换。AXI4到AXI4-stream桥包含一个寄存器模块和主桥模块和从桥模块。AXI桥内的寄存器模块输了进行数据的存储之外还用于动态将AXI4总线地址映射到PCI Express的地址范围内。从桥模块作为一个AXI 从设备连接到AXI4 总线上,而主桥模块作为一个AXI主设备连接到AXI4 总线上。 
当一个远端的AXI 主设备发起一个到从桥模块的写传输时,从桥模块将接收到写地址和写传输的其它控制信息,而写数据将先存储在queue中,采用先进先出的读取方式。根据我们配置的Max Payload Size 的值,这些写数据将被转换成一个或多个存储器写传输包(MemWr TLPs), 然后传输到PCI Express模块。后续的写请求到来时,写地址和控制信息被捕获接受,但是它的相应写数据要被阻塞直到先前的写传输包(TLP)传输到PCI Express模块之后再进入队列中。这样虽然能够完全保证不发生发送包的乱序,但是在一段工作时间内只能处理一个请求,限制了效率的提高。 
当一个远端的AXI 主设备发起一个到从桥模块的读传输时,由于读传输不携带数据,因此只接收到读地址和其它的读控制信息,然后发出一个到PCI Express模块的存储器读传输包(MemRd TLP)请求,并且同时启动完成超时功能块。从PCI Express模块接受的完成包与当前阻塞等待处理的读请求和返回的读数据有关,这是因为如果接收的完成包超出完成超时功能块设定的时间,就说明接收的完成包超时,则它所携带的信息就是无效的,需要向PCI Express模块重发MemRd TLP请求,然后重新进行读操作,直到返回正确的完成包。在当前读请求的完成包正确接收之前,阻塞后续的读请求。同样导致模块运行速率的提高。 
AXI4-Stream Enhanced PCI Express模块包含请求接口,完成接口,寄存器模块,Stream组合与分割,PCI Express硬核模块。 
由现有技术的方案描述中可见当前的PCIE接口模块中主要采用阻塞后续读请求的方式,直到当前请求包的完成包被正确接收之后才解除阻塞来解决包的乱序问题。这一理论类似于握手协议。但产生的主要问题是工作效率不高,基于提高工作效率并且解决包的乱序问题,我们提出专利的方案。 
并且上述方案中需要将数据存放在存储器模块中,存储器是一个面积较大,读取速度比较缓慢的模块,因此在很大程度上影响了模块的面积以及工作速度。 
发明内容
本发明的目的在于克服上述不足,提供一种用于PCIE应用层接口的重排序技术,解决现有方案中阻塞所导致的问题,提高了工作速率,并且能够解决包的乱序问题。 
本发明的目的是这样实现的:一种用于PCIE应用层接口的重排序技术,中间标识位(Internal TAG)将请求包的ID号都转换成不同的Int TAG号请求包,解决现有技术将后续请求包均阻塞而导致低效的问题;ID号查找表(ID-Int lut)和PCIE查找表(Int-PCIE) lut将ID号到Int TAG的关系与Int TAG到PCIE TAG的关系存储起来,便于接收到完成包时进行相应的反变换,以保证按序接收。 
其进一步的技术方案为: 
1)将接受的请求包的ID号按照接收的先后顺序依次转换成相应的中间标识位(Int TAG),并将其与ID号的转换关系存储在ID号查找表(ID-Int lut)中;
2)当接收到相同的ID号请求包时,经过上述转换之后成为中间标识位不同的请求包,并且按照中间标识位的顺序发送;
3)根据配置的根据配置的最大负载大小(Max Payload Size)的值,将请求包分割成多个PCIE请求包,据PCIE的协议要求不同的请求包的TAG号必须不同,将分割的多个PCIE请求包的标识位依次转换成相应的PCIE标识位,并将其与中间标识位的转换关系存储在PCIE查找表(Int-PCIE lut)中;
4)接收到的完成包根据PCIE查找表将相同的中间标识位的完成包存储在相应的队列中,然后依次读取出相应的数据组成一个完成包,再经过ID号查找表的查找,将中间标识位转换成相应的ID号之后返回给应用层,按照请求包的发送顺序返回其响应的完成包,确保顺序完成。
与现有技术相比,本发明的有益效果是: 
本发明相对于现有技术的使用内部存储器存储数据占用较大的面积,本方案采用外部存储器较小面积,但相应的可能在一定程度上影响了读取速度,降低了工作效率。
附图说明
图1是现有AXI PCIE桥的总线结构。 
图2是实现本发明的结构示意图。 
图3是TAG 号的响应位置上存储对应的Int号。 
具体实施方式
如图2所示,本发明涉及一种用于PCIE应用层接口的重排序技术,将接受的请求包的ID号按照接收的先后顺序依次转换成从TAG0开始的Int TAG,并将其转换关系存储在查找表ID-Int lut中,因此当接收到相同的ID号请求包时,经过TAG转换之后成为Int TAG不同的请求包,并且按照TAG号的顺序发送。根据配置的Max Payload Size 的值,将请求包分割成多个PCIE请求包,据PCIE的协议要求不同的请求包的TAG号必须不同,因此将分割的多个PCIE请求包的TAG号依次转换成从0开始的PCIE TAG,并将转换关系存储在查找表Int-PCIE lut中。接收到的完成包根据Int-PCIE lut将相同的Int TAG号的完成包存储在相应的queue中,然后依次读取出相应的数据组成一个完成包,再经过ID-Int lut的查找,将Int TAG转换成相应的ID号之后返回给应用层,这样就按照请求包的发送顺序返回其响应的完成包,确保顺序完成。 
若接受到AXI请求包的ID号依次为ID 0,ID 0,ID 1。它们分别代表三个不同的AXI请求包,由于有两个相同的ID号的请求包存在,在返回完成包时有可能发生混乱,造成接受错误。所以加入Internal TAG号来解决相同AXI ID号带来的混乱接收问题。  在图示2中可见,经过ID-Int TAG 转换模块,将ID 0,ID 0,ID 1的请求包转换成Int TAG 为Int 0 ,Int 1,Int 2的请求包,并把响应的转换关系存储在查找表ID-Int lut中,由图示可知在Int的相应位置内存储转换前的ID 号。 
经过上述转转之后,由配置Max Payload Size 的值的限制,需将包长超过该配置值的请求包分割成多个请求包,又因为PCIE的协议要求每一个PCIE请求包的TAG号必须唯一,因此分割模块中必须随着包的分割,为每一个分割包产生不同的PCIE TAG号。如图2 中Int 0 的请求包分割成了两个PCIE包,即TAG 0, TAG 1的包。Int 1的请求包分割成TAG 2, TAG 3 的两个PCIE 请求包,Int 2 的请求包包长不需要分割,将其转换成TAG 4 的PCIE 请求包。 
如图3所示,将上述分割前后请求包的Int-TAG 转换关系存储在查找表Int-PCIE TAG lut中。对于一个PCIE请求包,由于数据量的关系,可能有多个完成包来返回数据,但多个完成包的TAG号与相应的PCIE请求包的TAG号要保持一致,并且在PCIE硬核部分能保证这多个完成包按序返回。 
由于对PCIE硬核对请求包处理所用时间的不同,导致多个请求包的响应完成包会发生乱序。如图示3中有完成包(cpl)依次为cpl 0, cpl 3, cpl 1, cpl 2, cpl 0, cpl 1。 表明TAG 0的请求包有两个完成包,TAG 1 的请求包也有两个完成包,而TAG 2, TAG 3的请求包只有一个完成包。 
在合成模块中,cpl tag暂存接收到的完成保TAG号,且根据查找表Int-PCIE TAG lut中存储的Int-TAG号的关系,将相应的完成包的TAG号转换成Int 号。并将Int号相同的完成包的数据存储在外部的数据队列(data queue)中,由读写控制模块控制data queue中数据的读出,最终形成合成之后的完成包cpl int 0, cpl int 1两个完成包。再经过查找表ID-Int lut 记录的转换关系,将Int 号转换成相应的ID 号,这样就按序得到AXI ID 0,AXI 0两个相同ID 号请求包的完成包。 
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。 

Claims (1)

1.一种用于PCIE应用层接口的重排序技术,其特征在于它包括以下步骤: 
1)将接受的请求包的ID号按照接收的先后顺序依次转换成中间标识位,并将其与ID号的转换关系存储在相应的ID号查找表中;
2)当接收到相同的ID号请求包时,经过上述转换之后成为中间标识位不同的请求包,并且按照中间标识位的顺序发送;
3)将分割的多个PCIE请求包的标识位依次转换成相应的PCIE 标识位,并将其与中间标识位的转换关系存储在PCIE查找表中;
4)响应完成包根据PCIE查找表将相同的标识位的完成包存储在相应的队列中,然后依次读取出相应的数据组成一个完成包,再经过ID号查找表的查找,将中间标识位转换成相应的ID号之后返回给应用层,按照请求包的发送顺序返回其响应的完成包,确保顺序完成。
CN201310473342.0A 2013-10-12 2013-10-12 一种用于pcie应用层接口的重排序方法 Active CN103532875B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310473342.0A CN103532875B (zh) 2013-10-12 2013-10-12 一种用于pcie应用层接口的重排序方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310473342.0A CN103532875B (zh) 2013-10-12 2013-10-12 一种用于pcie应用层接口的重排序方法

Publications (2)

Publication Number Publication Date
CN103532875A true CN103532875A (zh) 2014-01-22
CN103532875B CN103532875B (zh) 2017-11-03

Family

ID=49934561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310473342.0A Active CN103532875B (zh) 2013-10-12 2013-10-12 一种用于pcie应用层接口的重排序方法

Country Status (1)

Country Link
CN (1) CN103532875B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536928A (zh) * 2014-12-23 2015-04-22 上海昭赫信息技术有限公司 通过多核pcie加速子卡后的数据排序方法
CN105227451A (zh) * 2014-06-25 2016-01-06 华为技术有限公司 一种报文处理方法及装置
CN105320607A (zh) * 2014-07-08 2016-02-10 Arm有限公司 第一类型的存储器事务和第二类型的存储器事务间的转译
WO2018133414A1 (zh) * 2017-01-20 2018-07-26 深圳市中兴微电子技术有限公司 切包方法、请求处理方法、装置和计算机存储介质
CN109165183A (zh) * 2018-09-14 2019-01-08 贵州华芯通半导体技术有限公司 外围组件快速互联原子操作硬件实现方法、装置及系统
CN111917656A (zh) * 2017-07-27 2020-11-10 华为技术有限公司 传输数据的方法和设备
CN113157610A (zh) * 2021-05-20 2021-07-23 浙江大华技术股份有限公司 数据保存方法及装置、存储介质、电子装置
CN114265872A (zh) * 2022-02-24 2022-04-01 苏州浪潮智能科技有限公司 一种用于总线的互联装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030041185A1 (en) * 2001-08-27 2003-02-27 Creta Kenneth C. Mechanism for preserving producer-consumer ordering across an unordered interface
CN1568464A (zh) * 2001-10-15 2005-01-19 先进微装置公司 计算机系统输入/输出节点的标识及仲裁机制
CN101861571A (zh) * 2007-11-15 2010-10-13 美光科技公司 用于修改存储器存取次序的系统、设备及方法
CN102571609A (zh) * 2012-03-01 2012-07-11 重庆中天重邮通信技术有限公司 快速串行接口pci-e协议数据完成包的重组排序方法
CN103049240A (zh) * 2011-10-13 2013-04-17 北京同步科技有限公司 Pci-e设备及其接收数据重排序方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030041185A1 (en) * 2001-08-27 2003-02-27 Creta Kenneth C. Mechanism for preserving producer-consumer ordering across an unordered interface
CN1568464A (zh) * 2001-10-15 2005-01-19 先进微装置公司 计算机系统输入/输出节点的标识及仲裁机制
CN101861571A (zh) * 2007-11-15 2010-10-13 美光科技公司 用于修改存储器存取次序的系统、设备及方法
CN103049240A (zh) * 2011-10-13 2013-04-17 北京同步科技有限公司 Pci-e设备及其接收数据重排序方法
CN102571609A (zh) * 2012-03-01 2012-07-11 重庆中天重邮通信技术有限公司 快速串行接口pci-e协议数据完成包的重组排序方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227451B (zh) * 2014-06-25 2019-06-21 华为技术有限公司 一种报文处理方法及装置
CN105227451A (zh) * 2014-06-25 2016-01-06 华为技术有限公司 一种报文处理方法及装置
CN105320607A (zh) * 2014-07-08 2016-02-10 Arm有限公司 第一类型的存储器事务和第二类型的存储器事务间的转译
CN105320607B (zh) * 2014-07-08 2020-08-18 Arm 有限公司 第一类型的存储器事务和第二类型的存储器事务间的转译
CN104536928A (zh) * 2014-12-23 2015-04-22 上海昭赫信息技术有限公司 通过多核pcie加速子卡后的数据排序方法
WO2018133414A1 (zh) * 2017-01-20 2018-07-26 深圳市中兴微电子技术有限公司 切包方法、请求处理方法、装置和计算机存储介质
CN108337286A (zh) * 2017-01-20 2018-07-27 深圳市中兴微电子技术有限公司 一种切包方法及装置
CN111917656A (zh) * 2017-07-27 2020-11-10 华为技术有限公司 传输数据的方法和设备
CN111917656B (zh) * 2017-07-27 2023-11-07 超聚变数字技术有限公司 传输数据的方法和设备
CN109165183A (zh) * 2018-09-14 2019-01-08 贵州华芯通半导体技术有限公司 外围组件快速互联原子操作硬件实现方法、装置及系统
CN113157610A (zh) * 2021-05-20 2021-07-23 浙江大华技术股份有限公司 数据保存方法及装置、存储介质、电子装置
CN113157610B (zh) * 2021-05-20 2023-03-14 浙江大华技术股份有限公司 数据保存方法及装置、存储介质、电子装置
CN114265872A (zh) * 2022-02-24 2022-04-01 苏州浪潮智能科技有限公司 一种用于总线的互联装置

Also Published As

Publication number Publication date
CN103532875B (zh) 2017-11-03

Similar Documents

Publication Publication Date Title
CN103532875A (zh) 一种用于pcie应用层接口的重排序技术
EP1775896B1 (en) Network on chip system employing an Advanced Extensible Interface (AXI) protocol
US9785598B2 (en) USB hubs with galvanic isolation
CN103346977B (zh) 一种数据资源的动态分配方法
CN104318301B (zh) 一种带有通信功能的tf卡
CN103077148B (zh) 一种基于pcie的主机通讯方法和主机
US7493423B2 (en) Data transfer control device and electronic instrument
CN104991880B (zh) 一种基于pci‑e接口的fc‑ae‑asm通讯板卡
CN102752180A (zh) Can总线网络节点的实现方法
CN105786741B (zh) 一种soc高速低功耗总线及转换方法
CN109634901A (zh) 一种基于uart的数据传输系统及其控制方法
CN114153775A (zh) 一种基于AXI总线的FlexRay控制器
CN100591067C (zh) 一种用逻辑实现sdh和以太网速率适配的方法
JP6053692B2 (ja) データ転送装置、データ転送方法およびチップ間通信システム
CN104714832A (zh) 一种用于机载数据网络异步数据交互区的缓冲管理方法
CN105573947A (zh) 一种基于apb总线的sd/mmc卡控制方法
CN103034610A (zh) 在分体模块间进行axi总线信号发送接收的方法及装置
CN1738224B (zh) Tdm数据与帧格式转换的电路及方法、传输交换系统及方法
CN110572174A (zh) 支持蓝牙ble协议的射频收发器及其控制方法
CN102510351B (zh) 一种数据通信总线的收发数据方法
CN106330413B (zh) 控制2.4g无线音频传输丢包的方法及系统
JP5313155B2 (ja) 時分割多重化モードにおけるデータ伝送方法及びシステム
TW201214132A (en) USB transaction translator and an isochronous-in transaction method
CN103425616A (zh) Spi-rs232接口转换芯片及其通信方法
CN109828944A (zh) 一种通信方法及通信系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20170905

Address after: 214400 Wuxi City, Jiangyin, Shoushan Road, No. 117 sunshine golden home, room 2, building 401, room

Applicant after: Ding Xiangen

Address before: 214433 Jiangyin, Wuxi, Chengjiang street, new road, No., No. 9

Applicant before: Jiangsu Huali Network Engineering Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant