CN113485950A - 一种合并发送PCIe存储器写请求的系统及方法 - Google Patents
一种合并发送PCIe存储器写请求的系统及方法 Download PDFInfo
- Publication number
- CN113485950A CN113485950A CN202110695330.7A CN202110695330A CN113485950A CN 113485950 A CN113485950 A CN 113485950A CN 202110695330 A CN202110695330 A CN 202110695330A CN 113485950 A CN113485950 A CN 113485950A
- Authority
- CN
- China
- Prior art keywords
- memory write
- module
- write request
- merging
- compressed
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000007906 compression Methods 0.000 claims abstract description 15
- 230000006835 compression Effects 0.000 claims abstract description 14
- 230000006837 decompression Effects 0.000 claims abstract description 14
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种合并发送PCIe存储器写请求的系统及方法,包括压缩模块、合并模块、拆分模块和解压模块;压缩模块能够将存储器写请求的包头信息进行压缩;合并模块能够将大量压缩后的存储器写请求合并为一个用户自定义消息报文;拆分模块能够将接收到的用户自定义消息报文拆分成多个压缩的存储器写请求;解压模块能够将压缩的存储器写请求解压成原始的存储器写请求。本发明可以节省包头信元和带宽,提高PCIe传输效率。
Description
技术领域
本发明公开了一种合并发送PCIe存储器写请求的系统及方法,涉及PCIe传输层收发包的技术领域。
背景技术
现有很多应用会在PCIe上发送很多带小数据的存储器写请求。这些小的存储器写请求会消耗大量的包头信元(header credit)和额外的传输层、数据链路层、物理层带宽,从而导致PCIe传输效率的下降。
发明内容
本发明针对现有技术中的不足,提供一种合并发送PCIe存储器写请求的系统及方法。
为实现上述目的,本发明采用以下技术方案:
一种合并发送PCIe存储器写请求的系统,包括压缩模块、合并模块、拆分模块和解压模块;
压缩模块能够将存储器写请求的包头信息进行压缩;
合并模块能够将大量压缩后的存储器写请求合并为一个用户自定义消息报文;
拆分模块能够将接收到的用户自定义消息报文拆分成多个压缩的存储器写请求;
解压模块能够将压缩的存储器写请求解压成原始的存储器写请求。
本发明还提供了一种合并发送PCIe存储器写请求的方法,包括以下步骤:
1)压缩模块在收到存储器写请求之后,对其包头进行压缩;
2)合并模块把大量压缩后的存储器写请求合并成为一个用户自定义消息报文;
3)拆分模块将接收到的用户自定义消息报文拆分成多个压缩的存储器写请求;
4)解压模块把压缩的存储器写请求解压成原始的存储器写请求。
为优化上述技术方案,采取的具体措施还包括:
进一步地,对包头进行压缩的方法如下:将包头从16 Bytes压缩至12 Bytes,但保持其携带的数据不变。
进一步地,步骤2)中,在收到一个压缩后的存储器写请求时,合并模块首先检查将这个存储器写请求合并之后是否会超过PCIe规定的最大数据容量;如果超过最大数据容量,合并模块就停止合并这个存储器写请求并将之前所有已经合并的存储器写请求转成一个用户自定义消息报文发送;如果未超过最大数据容量,合并模块继续合并这个存储器写请求并等待下一个存储器写请求的到来。
进一步地,等待下一个存储器写请求的到来过程中会设置一个时间限制,如果超过这个时间限制还没有新的存储器写请求到来,那么即使当前已经合并的存储器写请求未超过最大数据容量,合并模块也会将当前所有已经合并的存储器写请求转成一个用户自定义消息报文发送。
进一步地,合并过程是将各个存储器写请求的压缩后的包头和各个存储器写请求的数据依次组合放入用户自定义消息报文的数据中。
进一步地,合并过程中,每一个存储器写请求的校验码都被删除。
进一步地,步骤3)中,PCIe传输层会将收到的用户自定义消息报文拆分成包头和数据两部分。
本发明的有益效果是:本发明把大量小的存储器写请求合并成一个大的用户自定义消息报文,极大地节省了PCIe包头信元和带宽的开销,从而提高了整体传输效率。
附图说明
图1是本发明的PCIe传输图。
图2是本发明的包头压缩方法示意图。
图3是本发明的存储器写请求合并示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
如图1所示,本发明应用在PCIe传输层,主要包括压缩模块、合并模块、拆分模块和解压模块四部分。其中压缩模块和合并模块在发送端,拆分模块和解压模块在接收端。压缩模块能够将存储器写请求的包头信息进行压缩;合并模块能够将大量压缩后的存储器写请求合并为一个用户自定义消息报文;拆分模块能够将接收到的用户自定义消息报文拆分成多个压缩的存储器写请求;解压模块能够将压缩的存储器写请求解压成原始的存储器写请求。
合并发送PCIe存储器写请求的方法包括以下步骤:
1)压缩模块在收到存储器写请求之后,对其包头进行压缩;
2)合并模块把大量压缩后的存储器写请求合并成为一个用户自定义消息报文;
3)拆分模块将接收到的用户自定义消息报文拆分成多个压缩的存储器写请求;
4)解压模块把压缩的存储器写请求解压成原始的存储器写请求。
如图2所示,压缩模块将存储器写请求的包头从16 Bytes压缩到12 Bytes。压缩过程中有些字段得以保留并重排位置,包括Requester ID[7:0]、Last DW BE、1st DW BE、Attr、LN、TD、EP、Length、Address和AT;有些字段会被删除,包括Fmt、Type、Tag、TH和PH;有些字段会复用用户自定义消息报文中的包头字段,包括Requester ID[15:8]和TC。解压模块在解压过程中,从压缩的存储器写请求中提取保留的字段,从用户自定义消息报文中提取复用的字段,并将这些字段填入原始的位置中;被删除的Fmt字段填入011,被删除的Type、Tag、TH和PH字段都填入0。
如图3所示,合并模块把大量压缩后的存储器写请求合并在一个用户自定义消息报文的数据中。合并过程中,每一个存储器写请求的校验码都被删除。在收到一个压缩后的存储器写请求时,合并模块首先检查将这个存储器写请求合并之后是否会超过PCIe规定的最大数据容量。如果超过最大数据容量,该模块就停止合并这个存储器写请求并将之前所有已经合并的存储器写请求转成一个用户自定义消息报文发送;如果未超过最大数据容量,该模块继续合并这个存储器写请求并等待下一个存储器写请求的到来。等待过程中会设置一个时间限制,如果超过这个时间限制还没有新的存储器写请求到来,那么即使当前已经合并的存储器写请求未超过最大数据容量,合并模块也会将当前所有已经合并的存储器写请求转成一个用户自定义消息报文发送。PCIe传输层会从收到的用户自定义消息报文提取包头和数据,用户自定义消息报文的数据中包含了大量被压缩的存储器写请求。被压缩的存储器写请求包头固定为12 Bytes,其中Length字段指示每个存储器写请求的数据大小。基于这些信息,拆分模块能够从用户自定义消息报文的数据中拆分出各个被压缩的存储器写请求。
本发明可以极大地提高PCIe传输效率。举例来说,如果合并前的每个存储器写请求都只携带4 Bytes数据,PCIe最大数据容量为4K Bytes,那么可以将256个存储器写请求合并成一个用户自定义消息报文,这将节省49.66%的PCIe传输带宽。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (8)
1.一种合并发送PCIe存储器写请求的系统,其特征在于,包括压缩模块、合并模块、拆分模块和解压模块;
压缩模块能够将存储器写请求的包头信息进行压缩;
合并模块能够将大量压缩后的存储器写请求合并为一个用户自定义消息报文;
拆分模块能够将接收到的用户自定义消息报文拆分成多个压缩的存储器写请求;
解压模块能够将压缩的存储器写请求解压成原始的存储器写请求。
2.一种应用权利要求1所述的合并发送PCIe存储器写请求的系统的合并发送PCIe存储器写请求的方法,其特征在于,包括以下步骤:
1)压缩模块在收到存储器写请求之后,对其包头进行压缩;
2)合并模块把大量压缩后的存储器写请求合并成为一个用户自定义消息报文;
3)拆分模块将接收到的用户自定义消息报文拆分成多个压缩的存储器写请求;
4)解压模块把压缩的存储器写请求解压成原始的存储器写请求。
3.根据权利要求2所述的合并发送PCIe存储器写请求的方法,其特征在于,对包头进行压缩的方法如下:将包头从16Bytes压缩至12Bytes,但保持其携带的数据不变。
4.根据权利要求2所述的合并发送PCIe存储器写请求的方法,其特征在于,步骤2)中,在收到一个压缩后的存储器写请求时,合并模块首先检查将这个存储器写请求合并之后是否会超过PCIe规定的最大数据容量;如果超过最大数据容量,合并模块就停止合并这个存储器写请求并将之前所有已经合并的存储器写请求转成一个用户自定义消息报文发送;如果未超过最大数据容量,合并模块继续合并这个存储器写请求并等待下一个存储器写请求的到来。
5.根据权利要求4所述的合并发送PCIe存储器写请求的方法,其特征在于,等待下一个存储器写请求的到来过程中会设置一个时间限制,如果超过这个时间限制还没有新的存储器写请求到来,那么即使当前已经合并的存储器写请求未超过最大数据容量,合并模块也会将当前所有已经合并的存储器写请求转成一个用户自定义消息报文发送。
6.根据权利要求2所述的合并发送PCIe存储器写请求的方法,其特征在于,合并过程是将各个存储器写请求的压缩后的包头和各个存储器写请求的数据依次组合放入用户自定义消息报文的数据中。
7.根据权利要求6所述的合并发送PCIe存储器写请求的方法,其特征在于,合并过程中,每一个存储器写请求的校验码都被删除。
8.根据权利要求2所述的合并发送PCIe存储器写请求的方法,其特征在于,步骤3)中,PCIe传输层会将收到的用户自定义消息报文拆分成包头和数据两部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695330.7A CN113485950A (zh) | 2021-06-22 | 2021-06-22 | 一种合并发送PCIe存储器写请求的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695330.7A CN113485950A (zh) | 2021-06-22 | 2021-06-22 | 一种合并发送PCIe存储器写请求的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113485950A true CN113485950A (zh) | 2021-10-08 |
Family
ID=77935645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110695330.7A Pending CN113485950A (zh) | 2021-06-22 | 2021-06-22 | 一种合并发送PCIe存储器写请求的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113485950A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904868A (zh) * | 2005-07-11 | 2007-01-31 | 商辉达股份有限公司 | 用于包化总线的组合包 |
CN101453465A (zh) * | 2007-11-29 | 2009-06-10 | 中兴通讯股份有限公司 | 一种移动多媒体广播系统的ip包压缩、解压缩方法 |
CN101930418A (zh) * | 2009-06-26 | 2010-12-29 | 英特尔公司 | 用于分组信息的多种压缩技术 |
CN102143527A (zh) * | 2010-02-03 | 2011-08-03 | 华为技术有限公司 | 嵌套协议包头的压缩方法及装置 |
CN102420672A (zh) * | 2011-01-25 | 2012-04-18 | 苏州汉明科技有限公司 | 无线局域网无线接入点向无线控制器进行数据转发的方法 |
CN102860023A (zh) * | 2010-02-26 | 2013-01-02 | 松下电器产业株式会社 | 传输流分组报头压缩 |
CN104050144A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 改善有效链路带宽的完成组合 |
CN104424105A (zh) * | 2013-08-26 | 2015-03-18 | 华为技术有限公司 | 一种内存数据的读写处理方法和装置 |
CN104618961A (zh) * | 2015-01-21 | 2015-05-13 | 普天信息技术有限公司 | 应用于智能电网的单通道tcp/ip头压缩方法及系统 |
US20190391936A1 (en) * | 2019-06-25 | 2019-12-26 | Intel Corporation | Predictive packet header compression |
CN111107051A (zh) * | 2019-11-01 | 2020-05-05 | 京信通信系统(中国)有限公司 | 报文传输方法、装置、计算机设备和存储介质 |
DE102020201153A1 (de) * | 2019-02-27 | 2020-08-27 | Movidius Ltd. | Verfahren und einrichtungen zum komprimieren von daten |
-
2021
- 2021-06-22 CN CN202110695330.7A patent/CN113485950A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904868A (zh) * | 2005-07-11 | 2007-01-31 | 商辉达股份有限公司 | 用于包化总线的组合包 |
CN101453465A (zh) * | 2007-11-29 | 2009-06-10 | 中兴通讯股份有限公司 | 一种移动多媒体广播系统的ip包压缩、解压缩方法 |
CN101930418A (zh) * | 2009-06-26 | 2010-12-29 | 英特尔公司 | 用于分组信息的多种压缩技术 |
CN102143527A (zh) * | 2010-02-03 | 2011-08-03 | 华为技术有限公司 | 嵌套协议包头的压缩方法及装置 |
CN102860023A (zh) * | 2010-02-26 | 2013-01-02 | 松下电器产业株式会社 | 传输流分组报头压缩 |
CN102420672A (zh) * | 2011-01-25 | 2012-04-18 | 苏州汉明科技有限公司 | 无线局域网无线接入点向无线控制器进行数据转发的方法 |
CN104050144A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 改善有效链路带宽的完成组合 |
CN104424105A (zh) * | 2013-08-26 | 2015-03-18 | 华为技术有限公司 | 一种内存数据的读写处理方法和装置 |
CN104618961A (zh) * | 2015-01-21 | 2015-05-13 | 普天信息技术有限公司 | 应用于智能电网的单通道tcp/ip头压缩方法及系统 |
DE102020201153A1 (de) * | 2019-02-27 | 2020-08-27 | Movidius Ltd. | Verfahren und einrichtungen zum komprimieren von daten |
US20190391936A1 (en) * | 2019-06-25 | 2019-12-26 | Intel Corporation | Predictive packet header compression |
CN111107051A (zh) * | 2019-11-01 | 2020-05-05 | 京信通信系统(中国)有限公司 | 报文传输方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
杨义先: "《2005通信理论与技术新进展第十届全国青年通信学术会议论文集》", 31 August 2005 * |
陈佳莹: "《窄带物联网(NB-IoT)原理与技术》", 30 April 2020 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100119B (zh) | 一种基于fpga的高速以太网帧重构系统 | |
CN101197773B (zh) | 基于多链路的报文压缩发送和接收解压缩方法及系统 | |
US8775927B2 (en) | Method for compressing XML documents into valid XML documents | |
CN104618961A (zh) | 应用于智能电网的单通道tcp/ip头压缩方法及系统 | |
CN108512785B (zh) | 一种数据传输协议方法 | |
US20200250129A1 (en) | Rdma data sending and receiving methods, electronic device, and readable storage medium | |
CN103825869A (zh) | 以太网报文头的压缩及解压缩方法、压缩及解压缩设备 | |
CN102480335B (zh) | 一种业务数据的发送方法及系统 | |
CN105740196A (zh) | 高速串行发送数据预处理方法和系统 | |
CN110838893B (zh) | 一种基于北斗系统的通讯系统及其通讯方法 | |
CN100591089C (zh) | 一种jpeg图像的无损压缩与解压缩方法 | |
CN101771554B (zh) | 一种余度管理电路及其管理方法 | |
CN113676386B (zh) | 一种fc-ae-1553总线协议报文通讯系统 | |
CN113485950A (zh) | 一种合并发送PCIe存储器写请求的系统及方法 | |
CN111221792B (zh) | 一种基于ceph的rbd文件传输方法及其系统 | |
CN115913473B (zh) | 一种数据选择性重传方法及其系统、存储介质、电子设备 | |
CN111181682A (zh) | 一种基于fpga的gfp帧分片传输的实现方法 | |
CN106982165A (zh) | 数据压缩方法及其系统 | |
CN110769049B (zh) | 一种配电终端及其soe数据上送方法 | |
CN101021846A (zh) | 一种不定帧长结构数据流的存储方法 | |
CN114024952A (zh) | 一种基于dl/t 698.45-2007协议的文件压缩传输方法 | |
CN101415003B (zh) | 传送压缩报文的方法、装置及通信系统 | |
CN114785865B (zh) | 一种二次雷达数据压缩方法、解压缩方法、装置和系统 | |
US20060248102A1 (en) | Adaptive pre-fragmentation and pre-segmentation system and method | |
CN109981481B (zh) | 一种多现场保护的设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211008 |
|
RJ01 | Rejection of invention patent application after publication |