CN114968893B - 基于时间戳的PCIe报文队列调度方法、系统及设备 - Google Patents

基于时间戳的PCIe报文队列调度方法、系统及设备 Download PDF

Info

Publication number
CN114968893B
CN114968893B CN202210888192.9A CN202210888192A CN114968893B CN 114968893 B CN114968893 B CN 114968893B CN 202210888192 A CN202210888192 A CN 202210888192A CN 114968893 B CN114968893 B CN 114968893B
Authority
CN
China
Prior art keywords
message
timestamp
module
messages
mwr
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.)
Active
Application number
CN202210888192.9A
Other languages
English (en)
Other versions
CN114968893A (zh
Inventor
朱珂
吴佳骏
王盼
姜海斌
徐庆阳
钟丹
刘长江
陈德沅
李丹丹
杨晓龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingxin Microelectronics Technology Tianjin Co Ltd
Original Assignee
Jingxin Microelectronics Technology Tianjin 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 Jingxin Microelectronics Technology Tianjin Co Ltd filed Critical Jingxin Microelectronics Technology Tianjin Co Ltd
Priority to CN202210888192.9A priority Critical patent/CN114968893B/zh
Publication of CN114968893A publication Critical patent/CN114968893A/zh
Application granted granted Critical
Publication of CN114968893B publication Critical patent/CN114968893B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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报文队列调度系统、方法及设备,该系统包括:系统计时器模块、报文写控制模块、报文缓存模块、报文读控制模块;系统计时器模块分别与所述报文写控制模块、报文读控制模块进行数据交互;所述报文缓存模块分别与所述报文读控制模块、报文写控制模块进行数据交互。本方案在实现符合协议规则的报文发送排序控制的基础上,还可以同时实现报文超时管理,并具有占用资源少、结构简单、可灵活配置的优点。

Description

基于时间戳的PCIe报文队列调度方法、系统及设备
技术领域
本发明涉及数据协议及数据处理领域,尤其涉及一种利用时间戳对PCIe报文队列进行数据处理及管理调度的方法、系统及设备,以实现报文的超时管理等。
背景技术
PCIe协议作为一种高速串行总线,具有点对点双通道高速传输、可靠性和可扩展性高的优点。由于这些优势,PCIe应用非常普遍,包括存储、人工智能、汽车领域等。PCIe协议规定了事务层、传输层和物理层。事务层的数据包被称为TLP,TLP按照功能被细分为各种类型,其中最主要的三种报文被称为Memory Read(Mrd)、Memory Write(Mwr)和Completion报文。这三种报文在传输时需要满足协议规定的传输顺序,以满足应用场景的生产-消费模型。在PCIe芯片相关设计中,一般由专用的队列管理模块来缓存并处理报文的排序规则。常规的做法是在进入队列时,给每个TLP报文加上序列号,在出队列时,通过比较TLP的序列号以保证不同类型的TLP报文的传输顺序,一般由专用逻辑完成。
在工程设计中,还经常会涉及到TLP报文的超时处理,即报文超过其设定的生存时间后,需要对其进行丢弃处理,一般通过对每个报文单独计时,同样需要有专用逻辑完成,占用资源量较大。
发明内容
为了解决上述现有技术中存在的问题,本发明提出了一种基于时间戳的PCIe报文队列调度方法、系统及设备,在可满足协议规定的排序规则的前提下,还可以同时实现报文超时管理,并具有占用资源少,结构简单,可灵活配置的优点。
具体而言,本发明公开了以下技术方案:
一方面,本发明提供了基于时间戳的PCIe报文队列调度系统,该系统包括:系统计时器模块、报文写控制模块、报文缓存模块、报文读控制模块;
所述系统计时器模块分别与所述报文写控制模块、报文读控制模块进行数据交互;所述报文缓存模块分别与所述报文读控制模块、报文写控制模块进行数据交互;
所述系统计时器模块用于为系统提供时间基准信息;
所述报文写控制模块接收不同类型的报文输入,并将输入的报文与时间戳写入报文缓存模块;所述时间戳为系统计时器模块提供的报文到达报文缓存模块入口时对应的当前时间值;
所述报文缓存模块用于存储报文数据及时间戳,该报文缓存模块以FIFO形式实现;
所述报文读控制模块对报文的读取进行控制,以至少实现对报文读取的超时控制和保序控制。
优选的,所述系统计时器模块为循环递增计时器,达到最大值后归零;
所述系统计时器模块的位宽及精度可进行独立配置。
优选的,所述报文写控制模块将所述时间戳随报文头部信息一起写入到所述报文缓存模块中;
所述时间戳在报文到达报文缓存模块入口时进行添加。
优选的,所述报文写控制模块包含Mrd时间戳添加单元、Mwr时间戳添加单元、Completion时间戳添加单元,以针对不同类型报文进行写控制。
优选的,所述报文缓存模块中,不同类型报文缓存在逻辑上相互隔离存储。进一步的,逻辑上的相互隔离可以通过地址隔离方式实现。
优选的,所述报文缓存模块中,不同类型报文缓存也可以通过物理隔离的方式进行存储,例如对于三种类型的报文队列,分别使用三块RAM实现隔离。
优选的,所述报文读控制模块包括:
超时比较子模块,用于报文读取的超时控制,不同类型报文均设置有一对应的所述超时比较子模块;保序比较子模块,用于报文读取的保序控制,Mwr报文不设置对应的所述保序比较子模块;
所述超时比较子模块、保序比较子模块均独立使能。
优选的,在超时控制中,进行报文读取时,报文读控制模块接收系统计时器模块发送的当前的时间信息,超时比较子模块将当前的时间信息与所述时间戳信息进行比较,当比较结果超过超时阈值时,则将对应的报文丢弃。
优选的,在保序控制中,当发生以下情况1或情况2时:
情况1:Mwr报文对应的FIFO队列头部的时间戳pt_timestamp最高位与其他类型报文对应的FIFO队列头部的时间戳time_stamp最高位相等,且pt_timestamp剩余位的值小于等于time_stamp的值;
情况2:Mwr报文对应的FIFO队列头部的时间戳pt_timestamp最高位与其他类型报文对应的FIFO队列头部的时间戳time_stamp最高位不相等,且pt_timestamp剩余位的值大于等于time_stamp的值;
则停止除Mwr报文外的其他类型报文的发送,等待Mwr报文发送完毕;
当Mwr报文发送完毕且不再满足情况1或情况2时,继续发送除Mwr报文外的其他类型报文。
令一方面,本发明还提供了基于时间戳的PCIe报文队列调度方法,可以应用于如上所述的基于时间戳的PCIe报文队列调度系统,所述方法包括:
步骤1、报文写控制模块接收不同类型报文输入,并将系统计时器模块发送的报文到达报文缓存模块入口时对应的当前时间值作为时间戳,与报文数据合成数据流,写入报文缓存模块;
步骤2、将Mwr报文的时间戳同时输入到除Mwr报文外的其他类型报文对应的报文读控制模块中,并对不同类型报文进行超时控制及保序控制;
步骤3、在超时控制中,将超时报文进行丢弃处理;在保序控制中,保证Mwr报文优先发送。
优选的,所述步骤3中,超时控制具体包括:进行报文读取时,报文读控制模块接收系统计时器模块发送的当前的时间信息,超时比较子模块将当前的时间信息与所述时间戳信息进行比较,当比较结果超过超时阈值时,则将对应的报文丢弃。
优选的,所述步骤3中,保护控制具体包括:
当发生以下情况1或情况2时:
情况1:Mwr报文对应的FIFO队列头部的时间戳pt_timestamp最高位与其他类型报文对应的FIFO队列头部的时间戳time_stamp最高位相等,且pt_timestamp剩余位的值小于等于time_stamp的值;
情况2:Mwr报文对应的FIFO队列头部的时间戳pt_timestamp最高位与其他类型报文对应的FIFO队列头部的时间戳time_stamp最高位不相等,且pt_timestamp剩余位的值大于等于time_stamp的值;
则停止除Mwr报文外的其他类型报文的发送,等待Mwr报文发送完毕;
当Mwr报文发送完毕且不再满足情况1或情况2时,继续发送除Mwr报文外的其他类型报文。
又一方面,本发明还提供了基于时间戳的PCIe报文队列调度设备,所述设备包括处理器、存储器;所述存储器包括用于存储不同类型报文数据的缓存单元;
所述处理器可调用所述存储器中的指令以执行如上所述的基于时间戳的PCIe报文队列调度方法。
与现有技术相比,通过本发明技术方案中提供的结构,可以实现PCIe传输保序处理和超时管理的逻辑共用,具有占用资源少,结构简单的优点;本方案中系统计时器最大值、精度、FIFO深度可配置,保序处理和超时管理功能可独立使能,更加增强了报文调度管理上的灵活性和更强的适应性,使得本方案可适应多种应用场景,占用资源少,结构简单,配置灵活。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例的报文队列调度模块结构示意图;
图2为本发明实施例的报文保存判断方式示意图;
图3为本发明实施例的方法流程示意图。
图中标号含义:1、系统计时器模块;2、报文写控制模块;3、报文缓存模块;4、报文读控制模块;4a、超时比较子模块;4b、保序比较子模块;①、输入报文;②、计数值;③、合成数据流;④、时间戳;⑤、当前时间;⑥、输出报文。
具体实施方式
下面结合附图对本发明实施例进行详细描述。应当明确,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本领域技术人员应当知晓,下述具体实施例或具体实施方式,是本发明为进一步解释具体的发明内容而列举的一系列优化的设置方式,而该些设置方式之间均是可以相互结合或者相互关联使用的,除非在本发明明确提出了其中某些或某一具体实施例或实施方式无法与其他的实施例或实施方式进行关联设置或共同使用。同时,下述的具体实施例或实施方式仅作为最优化的设置方式,而不作为限定本发明的保护范围的理解。
在一个具体的实施例中,本方案提出的基于时间戳的PCIe报文的队列管理系统结构如图1所示。在本实施例中,存储读Mrd(memory read,简写为Mrd)、存储写Mwr(memorywrite,简写为Mwr)与完成(即Completion)报文缓存相互隔离,此处,Mrd、Mwr与Completion报文缓存相互隔离,是指Mrd、Mwr与Completion(即完成)报文缓存在逻辑上相互隔离而非物理隔离,若三者设置在同一块缓存内,则可以将这块缓存分割为三部分使用,也属于本处所说的逻辑隔离。此处,所述报文缓存模块中,不同类型报文缓存也可以通过物理隔离的方式进行存储,例如对于三种类型的报文队列,分别使用三块RAM以实现隔离。
在一个优选的实施方式中,缓存形式为FWFT类型FIFO,即FIFO头数据会漏出,该FIFO根据需要可以使用同步FIFO或异步FIFO。本方案的系统主要由以下功能模块组成:
(1)系统计时器模块1,即sys_timer模块。优选的,sys_timer为循环计时器,在每个时钟周期,计数值递增,达到最大值后归零。该模块的主要目的为提供当前的时间基准信息。为适应不同场景需求,该模块最大计数值和计数精度可进行配置或更改。
(2)报文写控制模块2,即write_control模块。该模块负责将TLP报文和当前时间值写入报文缓存。每个TLP报文在到达缓存入口时都对应一个时间值,该时间值可以是当前的系统计时器值,即sys timer的计时器值,该时间值做为时间戳随TLP头部信息一起写入到报文缓存buffer中,在图1中,以Timestamp add表示将时间戳随TLP头部信息进行缓存写入。此处,报文出队和入队使用的计时器必须是同一个,以保证时间值的一致。
此处,在一个更为优选的实施方式中,如图1,报文写控制模块针对三种类型的报文缓存,均设置一对应的时间戳添加单元,从而为不同类型的报文添加时间戳。
(3)报文缓存模块3,即buffer模块。报文缓存模块用来存储TLP报文数据及时间信息,时间信息至少包含时间戳,该模块使用FIFO形式实现。三种类型的报文在逻辑上分开存储(当然,也可以选择物理隔离的方式进行分开存储),如图1所示,在一个具体的实施方式中,报文缓存模块可以设置为completion FIFO(即图1中的CPL_FIFO)、Mwr FIFO、Mrd FIFO三个缓存模块,以实现逻辑隔离。
(4)报文读控制模块4,即read_control模块。该模块通过时间信息对报文读取进行控制,结合图1,该模块优选包括两个子功能模块:超时比较子模块4a和保序比较子模块4b。
其中超时比较子模块4a,即timeout compare模块,用于报文超时处理,在一个优选的结构中,三种类型报文的读控制模块均具备该子模块。超时处理使用FIFO中存储的时间戳信息实现,系统计时器sys_timer将当前的时间传入各个队列的报文读控制模块,在4a模块中比较FIFO 队列头部TLP的时间戳与系统计时器提供的当前时间,若时间差值超过超时阈值,则将该报文进行丢弃,否则,继续执行后续处理。
以下,参考图2,对保序比较子模块的功能及控制方式进行进一步阐述:
保序比较子模块4b,即qtime compare模块,用于报文保序处理,在一个优选的结构中,保序比较子模块仅设置在completion FIFO、Mrd FIFO两种类型报文的读控制模块中。在一个优选的实施方式中,Mrd报文和completion报文不允许超越之前的Mwr报文。将位于Mwr FIFO队列头部的TLP时间戳信息同时送到Mrd FIFO和completion FIFO(即CPLFIFO)的读控制模块中,并与Mrd FIFO和completion FIFO队列头部TLP的时间戳信息进行比较。这两个队列的比较方法为:
当Mwr FIFO非空时,若发生情况(1):Mwr FIFO队列头部的时间戳pt_timestamp最高位与Mrd FIFO或completion FIFO队列头部的时间戳time_stamp最高位相等,且pt_timestamp剩余位的值小于等于time_stamp的值,或发生情况(2):Mwr FIFO队列头部的时间戳pt_timestamp最高位与Mrd FIFO或completion FIFO队列头部的时间戳time_stamp最高位不相等,且pt_timestamp剩余位的值大于等于time_stamp的值,则当发生情况(1)或(2)时,发送Mrd FIFO和completion FIFO中的报文暂停或停止,不再允许继续发送,需要等到Mwr FIFO中当前报文发送完毕后,且不再满足情况(1)或(2)的条件时,Mrd FIFO和completion FIFO中的报文才允许继续发送。
此处,需要说明的是,保序比较子模块也可以选择设置在Mwr报文对应的保序比较子模块,而对于Mrd报文和completion报文则不设置对应的保序比较子模块,这样的话,可以将Mrd报文和completion报文的时间戳同时发送给Mwr报文对应的保序比较模块,以进行时间戳的比较,并且判断上述的情况(1)、情况(2)是否满足。此处的这一实施方式同样应当视为本发明的保护范围。
对于Mrd FIFO和completion FIFO中的报文,一般来讲,PCIe协议中并未明确这两种类型报文的优先级,因此在优选的实施方式中,在实际报文调度中,不需要设置该两种类型报文的控制顺序,在实际使用中,用户可以根据自身需要对以上两种类型报文的发送顺序进行设定,或各自进行常规发送即可。
在又一个实施例中,结合图1及图3,本方案中的系统的工作过程可以设置如下:
1.输入的Mwr、Mrd或Competition报文①进入报文写控制模块,报文写控制模块将报文①与系统计时器当前的计数值②合成数据流③,写入到FIFO中。在一个优选的实施方式中,合成数据流③,可以是基于报文的类型进行分类,写入到对应的不同类型的FIFO中的,例如,completion报文在与系统计时器当前计数值合成数据流③后,写入到对应的completion FIFO中,同样的,对应的Mwr报文在与系统计时器当前计数值合成数据流③后,写入到对应的Mwr FIFO中,Mrd报文的方式与前两者相似。
2.在一个优选的实施方式中,由于我们将FIFO设置为FWFT类型,此时报文读控制模块可以看到位于FIFO队列头部的时间戳内容,即图1中的④。此处需要注意的是,Mwr_FIFO的时间戳内容同时输入到Mrd和completion的写控制模块中,以通过超时比较子模块4a进行比较。
3.若使用超时功能,报文读控制模块中的超时比较子模块4a将时间戳④与系统计时器提供的当前时间⑤进行对比。若两者之间的时间差值超过超时阈值,则将该报文进行丢弃。此处,进行丢弃操作的报文包括三种类型的报文文件,即所有类型的报文文件满足超时功能的条件时,都会触发该丢弃报文的操作。
对于超时功能,在一个优选的实施方式中,当系统架构或一个具体应用需要在本模块出口进行超时丢包时,就可以使用该超时功能;超时功能的启动,可以通过寄存器配置来激活,该寄存器的配置属于本领域中惯用的方式,此处不再赘述。
4.若使用保序功能,Mrd和Competition的报文读控制模块中的保序比较子模块4b将Mwr FIFO的时间戳与自己各自FIFO队列头部的时间戳进行对比,若发生情况(1)——MwrFIFO队列头部的时间戳pt_timestamp最高位与自己队列头部的时间戳time_stamp最高位相等,且pt_timestamp剩余位的值小于等于time_stamp的值,或发生情况(2)——Mwr FIFO队列头部的时间戳pt_timestamp最高位与自己队列头部的时间戳time_stamp最高位不相等,且pt_timestamp剩余位的值大于等于time_stamp的值,则在发生上述情况(1)或情况(2)时,Mrd和Competition的报文读控制模块不产生有效读信号,对应的报文停止发送,直到情况(1)和情况(2)都不满足时,Mrd和Competition的报文读控制模块产生有效读信号,继续发送报文。
在一个优选的实施方式中,一般当系统架构或应用需要进行符合PCIe协议的排序规则进行排序时,就应该使能该保序功能,保序功能的激活或触发,可以通过寄存器配置的方式来实现,即配置中设定启动或触发的条件即可,该寄存器的配置方式属于本领域中的常规技术,此处不再赘述。
此外,在更为优选的实施方式中,本方案还可以通过电子设备的方式来实现,该设备可以包括执行上述基于时间戳的PCIe报文队列调度系统的相应模块,或者执行上述基于时间戳的PCIe报文队列调度方法的必要的功能模块。因此,可以由相应模块执行上述各个实施方式的每个步骤或几个步骤,并且该设备可以包括这些模块中的一个或多个模块。模块可以是专门被配置为执行相应步骤的一个或多个硬件模块、或者由被配置为执行相应步骤的处理器来实现、或者存储在计算机可读介质内用于由处理器来实现、或者通过某种组合来实现。
在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本方案的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本方案的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本方案中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用,该些存储介质的实现方式或产品,同样应当视为落入本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.基于时间戳的PCIe报文队列调度系统,其特征在于,所述系统包括:系统计时器模块、报文写控制模块、报文缓存模块、报文读控制模块;
所述系统计时器模块分别与所述报文写控制模块、报文读控制模块进行数据交互;所述报文缓存模块分别与所述报文读控制模块、报文写控制模块进行数据交互;
所述系统计时器模块用于为系统提供时间基准信息;
所述报文写控制模块接收不同类型的报文输入,并将输入的报文与时间戳写入报文缓存模块;所述时间戳为系统计时器模块提供的报文到达报文缓存模块入口时对应的当前时间值;
所述报文缓存模块用于存储报文数据及时间戳,该报文缓存模块以FIFO形式实现;
所述报文读控制模块对报文的读取进行控制,以至少实现对报文读取的超时控制和保序控制。
2.根据权利要求1所述的系统,其特征在于,所述系统计时器模块为循环递增计时器,达到最大值后归零;
所述系统计时器模块的位宽及精度进行独立配置。
3.根据权利要求1所述的系统,其特征在于,所述报文写控制模块将所述时间戳随报文头部信息一起写入到所述报文缓存模块中;
所述时间戳在报文到达报文缓存模块入口时进行添加。
4.根据权利要求3所述的系统,其特征在于,所述报文写控制模块包含Mrd时间戳添加单元、Mwr时间戳添加单元、Completion时间戳添加单元,以针对不同类型报文进行写控制。
5.根据权利要求1所述的系统,其特征在于,所述报文缓存模块中,不同类型报文缓存在逻辑上相互隔离存储。
6.根据权利要求1所述的系统,其特征在于,所述报文读控制模块包括:
超时比较子模块,用于报文读取的超时控制,不同类型报文均设置有一对应的所述超时比较子模块;保序比较子模块,用于报文读取的保序控制,Mwr报文不设置对应的所述保序比较子模块;
所述超时比较子模块、保序比较子模块均独立使能。
7.根据权利要求6所述的系统,其特征在于,在超时控制中,进行报文读取时,报文读控制模块接收系统计时器模块发送的当前的时间信息,超时比较子模块将当前的时间信息与所述时间戳信息进行比较,当比较结果超过超时阈值时,则将对应的报文丢弃。
8.根据权利要求6所述的系统,其特征在于,在保序控制中,当发生以下情况1或情况2时:
情况1:Mwr报文对应的FIFO队列头部的时间戳pt_timestamp最高位与其他类型报文对应的FIFO队列头部的时间戳time_stamp最高位相等,且pt_timestamp剩余位的值小于等于time_stamp的值;
情况2:Mwr报文对应的FIFO队列头部的时间戳pt_timestamp最高位与其他类型报文对应的FIFO队列头部的时间戳time_stamp最高位不相等,且pt_timestamp剩余位的值大于等于time_stamp的值;
则停止除Mwr报文外的其他类型报文的发送,等待Mwr报文发送完毕;
当Mwr报文发送完毕且不再满足情况1或情况2时,继续发送除Mwr报文外的其他类型报文。
9.基于时间戳的PCIe报文队列调度方法,应用于权利要求1-8任一所述的基于时间戳的PCIe报文队列调度系统,其特征在于,所述方法包括:
步骤1、报文写控制模块接收不同类型报文输入,并将系统计时器模块发送的报文到达报文缓存模块入口时对应的当前时间值作为时间戳,与报文数据合成数据流,写入报文缓存模块;
步骤2、将Mwr报文的时间戳同时输入到除Mwr报文外的其他类型报文对应的报文读控制模块中,并对不同类型报文进行超时控制及保序控制;
步骤3、在超时控制中,将超时报文进行丢弃处理;在保序控制中,保证Mwr报文优先发送。
10.基于时间戳的PCIe报文队列调度设备,其特征在于,所述设备包括处理器、存储器;所述存储器包括用于存储不同类型报文数据的缓存单元;
所述处理器可调用所述存储器中的指令以执行如权利要求9所述的基于时间戳的PCIe报文队列调度方法。
CN202210888192.9A 2022-07-27 2022-07-27 基于时间戳的PCIe报文队列调度方法、系统及设备 Active CN114968893B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210888192.9A CN114968893B (zh) 2022-07-27 2022-07-27 基于时间戳的PCIe报文队列调度方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210888192.9A CN114968893B (zh) 2022-07-27 2022-07-27 基于时间戳的PCIe报文队列调度方法、系统及设备

Publications (2)

Publication Number Publication Date
CN114968893A CN114968893A (zh) 2022-08-30
CN114968893B true CN114968893B (zh) 2022-09-30

Family

ID=82969004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210888192.9A Active CN114968893B (zh) 2022-07-27 2022-07-27 基于时间戳的PCIe报文队列调度方法、系统及设备

Country Status (1)

Country Link
CN (1) CN114968893B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115514682B (zh) * 2022-09-23 2024-03-22 浪潮商用机器有限公司 一种数据传输方法、装置、设备及存储介质
CN116233000B (zh) * 2023-05-04 2023-08-04 苏州浪潮智能科技有限公司 报文发送控制方法、装置、服务器、设备和存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1905513A (zh) * 2005-07-27 2007-01-31 中兴通讯股份有限公司 一种对ppp多链路协议报文进行按序重组的方法
CN103069757A (zh) * 2011-08-17 2013-04-24 华为技术有限公司 一种报文重组重排序方法、装置和系统
CN103581055A (zh) * 2012-08-08 2014-02-12 华为技术有限公司 报文的保序方法、流量调度芯片及分布式存储系统
CN106878326A (zh) * 2017-03-21 2017-06-20 中国人民解放军信息工程大学 基于反向检测的IPv6邻居缓存保护方法及其装置
CN107659515A (zh) * 2017-09-29 2018-02-02 曙光信息产业(北京)有限公司 报文处理方法、装置、报文处理芯片及服务器
CN108712459A (zh) * 2018-03-30 2018-10-26 深圳市风云实业有限公司 协议报文跨层通信方法、装置及电子设备
CN108809854A (zh) * 2017-12-27 2018-11-13 北京时代民芯科技有限公司 一种用于大流量网络处理的可重构芯片架构
CN109150355A (zh) * 2018-08-14 2019-01-04 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种fpga下实现ptp网卡的系统
CN109818702A (zh) * 2019-03-04 2019-05-28 西安电子科技大学 一种ieee802.1as时钟同步功能实现系统以及实现方法
CN111107017A (zh) * 2019-12-06 2020-05-05 苏州浪潮智能科技有限公司 一种交换机报文拥塞的处理方法、设备以及存储介质
CN112565338A (zh) * 2020-11-10 2021-03-26 中国人民解放军战略支援部队信息工程大学 一种以太网报文捕获、过滤、存储、实时解析方法及系统
CN112835818A (zh) * 2021-02-01 2021-05-25 芯河半导体科技(无锡)有限公司 一种流队列缓存空间地址回收的方法
CN113285892A (zh) * 2020-02-20 2021-08-20 华为技术有限公司 报文处理系统、方法、机器可读存储介质以及程序产品
CN113542148A (zh) * 2021-07-15 2021-10-22 恒安嘉新(北京)科技股份公司 一种报文聚合方法、装置、网络网卡及可读存储介质
CN114138054A (zh) * 2021-10-14 2022-03-04 北京国科天迅科技有限公司 一种时间戳获取方法、装置、电子设备及存储介质

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1905513A (zh) * 2005-07-27 2007-01-31 中兴通讯股份有限公司 一种对ppp多链路协议报文进行按序重组的方法
CN103069757A (zh) * 2011-08-17 2013-04-24 华为技术有限公司 一种报文重组重排序方法、装置和系统
CN103581055A (zh) * 2012-08-08 2014-02-12 华为技术有限公司 报文的保序方法、流量调度芯片及分布式存储系统
CN106878326A (zh) * 2017-03-21 2017-06-20 中国人民解放军信息工程大学 基于反向检测的IPv6邻居缓存保护方法及其装置
CN107659515A (zh) * 2017-09-29 2018-02-02 曙光信息产业(北京)有限公司 报文处理方法、装置、报文处理芯片及服务器
CN108809854A (zh) * 2017-12-27 2018-11-13 北京时代民芯科技有限公司 一种用于大流量网络处理的可重构芯片架构
CN108712459A (zh) * 2018-03-30 2018-10-26 深圳市风云实业有限公司 协议报文跨层通信方法、装置及电子设备
CN109150355A (zh) * 2018-08-14 2019-01-04 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种fpga下实现ptp网卡的系统
CN109818702A (zh) * 2019-03-04 2019-05-28 西安电子科技大学 一种ieee802.1as时钟同步功能实现系统以及实现方法
CN111107017A (zh) * 2019-12-06 2020-05-05 苏州浪潮智能科技有限公司 一种交换机报文拥塞的处理方法、设备以及存储介质
CN113285892A (zh) * 2020-02-20 2021-08-20 华为技术有限公司 报文处理系统、方法、机器可读存储介质以及程序产品
WO2021164398A1 (zh) * 2020-02-20 2021-08-26 华为技术有限公司 报文处理系统、方法、机器可读存储介质以及程序产品
CN112565338A (zh) * 2020-11-10 2021-03-26 中国人民解放军战略支援部队信息工程大学 一种以太网报文捕获、过滤、存储、实时解析方法及系统
CN112835818A (zh) * 2021-02-01 2021-05-25 芯河半导体科技(无锡)有限公司 一种流队列缓存空间地址回收的方法
CN113542148A (zh) * 2021-07-15 2021-10-22 恒安嘉新(北京)科技股份公司 一种报文聚合方法、装置、网络网卡及可读存储介质
CN114138054A (zh) * 2021-10-14 2022-03-04 北京国科天迅科技有限公司 一种时间戳获取方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114968893A (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
CN114968893B (zh) 基于时间戳的PCIe报文队列调度方法、系统及设备
CN111400205B (zh) 一种先进先出地址轮询缓存读写方法、系统及装置
EP2097828B1 (en) Dmac to handle transfers of unknown lengths
CN112084136B (zh) 队列缓存管理方法、系统、存储介质、计算机设备及应用
US5818886A (en) Pulse synchronizing module
EP2568388B1 (en) Processor to message-based network interface using speculative techniques
US5721833A (en) Push-out of low priority signals from switch buffers
US20080101374A1 (en) Packet fifo
CN116955247B (zh) 一种缓存描述符管理装置及其方法、介质、芯片
CN115002052B (zh) 一种分层的缓存控制器、控制方法及控制设备
CN108108148A (zh) 一种数据处理方法和装置
CN115955441A (zh) 一种基于tsn队列的管理调度方法、装置
CN113986792B (zh) 一种数据位宽转换方法及通信设备
CN112822126B (zh) 报文存储方法、报文出入队列方法及存储调度装置
US20100106865A1 (en) Dma transfer device and method
JP4569163B2 (ja) データ入出力装置およびデータ入出力方法
US9544229B2 (en) Packet processing apparatus and packet processing method
CN112559400B (zh) 多级调度装置、方法、网络芯片及计算机可读存储介质
US20240126595A1 (en) Method and apparatus for managing a queue and queue management device
CN111159064B (zh) 一种低复杂度数据块缓存方法
JP2002084316A (ja) 可変長パケット書き込み及び読み出し回路
CN113645148B (zh) 一种时间敏感网络的流量整形器令牌更新系统及方法
CN117376051A (zh) 多报文共享总线的方法、装置和网络芯片
US6622202B2 (en) Method and device for operating a RAM memory
JPS59178667A (ja) メモリ装置

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
GR01 Patent grant
GR01 Patent grant