CN117743239A - 一种读请求发送装置、芯片及电子设备 - Google Patents
一种读请求发送装置、芯片及电子设备 Download PDFInfo
- Publication number
- CN117743239A CN117743239A CN202311862288.9A CN202311862288A CN117743239A CN 117743239 A CN117743239 A CN 117743239A CN 202311862288 A CN202311862288 A CN 202311862288A CN 117743239 A CN117743239 A CN 117743239A
- Authority
- CN
- China
- Prior art keywords
- read request
- host
- channel
- signal
- read
- 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
- 230000000903 blocking effect Effects 0.000 claims abstract description 22
- 239000000872 buffer Substances 0.000 claims abstract description 17
- 230000003139 buffering effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种读请求发送装置、芯片及电子设备,读请求发送装置在读请求发送模块为每个通道配置多个第一缓存和第二缓存,可使读请求发送模块有缓冲能力,可接收属于出现阻塞的主机的读请求,直至主机解除阻塞,再将缓存的读请求发送出去,可隔离不同主机之间的相互干扰,不因部分主机的阻塞影响其他主机的正常工作。读请求发送装置先通过第一缓存按顺序存储未经读请求发送模块处理的读请求,及通过第二缓存存储请求发送模块未处理完的读请求,在主机解除阻塞时,先读取并发送第二缓存中请求发送模块未处理完的读请求,再读取并发送第一缓存中未经读请求发送模块处理的读请求,可保证来自同一条数据流向同一个主机读取数据的读请求保序发送。
Description
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种读请求发送装置、芯片及电子设备。
背景技术
网卡芯片从主机读取数据时,对于外挂多个主机的网卡,网卡芯片是根据读请求所属的主机编号向对应主机发送读取数据的请求(即读请求)。由于多个主机共享带宽,网卡芯片向各个主机发送读请求时需要先对不同数据流的读请求进行调度整合成一条路径发送至PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线),后续PCIE再根据主机编号,将读请求分发至对应主机。
从主机读取数据的请求的数据流有很多种,来自同一条数据流的读请求,可能是向不同的主机读取数据。来自同一条数据流向同一个主机读取数据的读请求往往需要保序发送,而来自同一条数据流向不同主机读取数据的读请求则无保序发送需求。
相关技术中,在向目标主机发送的当前读请求没有发送完,目标主机就出现阻塞的场景下,由于当前读请求还没发送完,即使目标主机出现阻塞,读请求仍然会继续发送。又由于多个主机共享带宽,目标主机阻塞后暂时无法接收的读请求会阻塞在PCIE中,导致PCIE也被阻塞。PCIE完全阻塞,所有数据流无论属于哪个主机的读请求都会阻塞。也就是说,单个主机出现的阻塞会影响其他主机,进而会导致性能下降。由此可见,如何不因部分主机的阻塞影响其他主机的正常工作,并且保证来自同一条数据流向同一个主机读取数据的读请求保序发送是一个亟待解决的技术问题。
发明内容
本申请提供了一种读请求发送装置、芯片和电子设备,以解决在向多个主机发送读请求时,部分主机阻塞影响其他主机的读请求发送的技术问题,并且能够实现来自同一通道的读请求保序发送。
根据本申请的一方面,提供了一种读请求发送装置,用于将读请求保序发送至多个主机,所述装置包括:多个通道和一个读请求发送模块,
每个通道,用于将通道中的读请求发送至读请求发送模块;
读请求发送模块,用于调度与发送多个通道中的读请求,并在获知有主机出现阻塞时通知各通道禁止发送属于出现阻塞的主机的读请求,以及在获知有主机解除阻塞时通知各通道允许发送属于解除阻塞的主机的读请求;
其中,读请求发送模块还包括为每个通道配置的多个第一缓存和多个第二缓存;
当获知有主机出现阻塞时,读请求发送模块还用于将属于出现阻塞的主机的第一读请求按顺序存储至第一缓存,以及将属于出现阻塞的主机的第二读请求存储至第二缓存;
当获知有主机解除阻塞时,读请求发送模块还用于先读取第二缓存中的第二读请求并发送至读请求发送模块,再按顺序读取第一缓存中的第一读请求并发送至读请求发送模块;
第一读请求是未经过读请求发送模块处理的读请求,第二读请求是读请求发送模块未处理完的读请求。
可选的,在上述方案的基础上,读请求发送装置还包括PCIE模块,
读请求发送模块,用于调度多个通道中的读请求并发送至PCIE模块;
PCIE模块,用于将读请求分发至各个主机,并在有主机出现阻塞或解除阻塞时通知读请求发送模块。
可选的,在上述方案的基础上,PCIE模块在有主机出现阻塞或解除阻塞时通知读请求发送模块,具体包括:
PCIE模块用于在主机出现阻塞时将第一信号发送至读请求发送模块,其中,第一信号是与出现阻塞的主机对应的主机阻塞信号;
PCIE模块在主机解除阻塞时将第二信号发送至读请求发送模块,其中,第二信号是与解除阻塞的主机对应的解除阻塞信号。
可选的,在上述方案的基础上,PCIE模块还用于根据主机接收读请求的接收状态和速度判断主机出现阻塞或解除阻塞。
可选的,在上述方案的基础上,读请求发送模块用于在获知有主机出现阻塞时通知各通道禁止发送属于出现阻塞的主机的读请求,以及在获知有主机解除阻塞时通知各通道允许发送属于解除阻塞的主机的读请求,具体包括:
读请求发送模块用于在接收到第一信号时将第三信号发送至各通道,以及用于在接收到第二信号时将第四信号发送至各通道,
其中,第三信号是禁止通道发送属于出现阻塞的主机的读请求的信号,第四信号是允许通道发送属于解除阻塞的主机的读请求的信号。
可选的,在上述方案的基础上,读请求发送模块还包括调度器,读请求发送模块通过调度器调度多个通道中的读请求。
可选的,在上述方案的基础上,读请求发送模块还包括切片管理单元,读请求发送模块将调度出的读请求先通过切片管理单元进行切片处理后再发送。
可选的,在上述方案的基础上,每个通道还用于在有读请求发送时将第五信号发送至读请求发送模块,其中,第五信号是通道有读请求发送的信号,
读请求发送模块还用于在调度对应通道的读请求时将第六信号发送至对应通道,其中,第六信号是读请求发送模块可以接收对应通道的读请求的信号。
可选的,在上述方案的基础上,每个通道还包括状态机,状态机用于根据第五信号、第六信号以及对应主机出现阻塞或解除阻塞的状态来控制通道在不同状态之间跳转。
可选的,在上述方案的基础上,第一缓存是FIFO存储器,第一缓存和第二缓存的数量分别至少等于主机的数量
根据本申请的另一方面,还提供了一种芯片,包括如本申请任意实施例所提供的读请求发送装置。
根据本申请的另一方面,还提供了一种电子设备,包括如本申请任意实施例所提供的芯片。
本申请实施例提供的读请求发送装置,在读请求发送模块为每个通道配置多个第一缓存和第二缓存,可使读请求发送模块有缓冲能力,可接收属于出现阻塞的主机的读请求,直至主机解除阻塞,再将缓存的读请求发送出去,可隔离不同主机之间的相互干扰,不因部分主机的阻塞影响其他主机的正常工作。读请求发送装置先通过第一缓存按顺序存储未经读请求发送模块处理的读请求,及通过第二缓存存储请求发送模块未处理完的读请求,在主机解除阻塞时,先读取并发送第二缓存中请求发送模块未处理完的读请求,再读取并发送第一缓存中未经读请求发送模块处理的读请求,可保证来自同一条数据流向同一个主机读取数据的读请求保序发送。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种读请求发送装置的结构示意图;
图2是本申请另一实施例提供的一种读请求发送装置的结构示意图;
图3是本实施例提供的一种芯片的结构示意图;
图4是本实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在网卡芯片,如DPU(Date Processing Unit)芯片,向多个主机(如Host、服务器等)读取数据的场景中,本申请提供一种读请求发送装置,可以不因部分主机的阻塞影响其他主机的正常工作,并且可以保证来自同一条数据流向同一个主机读取数据的读请求保序发送。以下结合附图详细阐述本申请提供的读请求发送装置。
需要说明的是,流用于表示数据在程序中的传输和处理方式。数据流可以看作数据的通道。通过这个通道,数据可以按照特定的顺序从源头流向目的地。
请参见图1,图1是本申请一实施例提供的一种读请求发送装置的结构示意图。本申请一实施例提供的读请求发送装置110用于将读请求保序发送至多个主机。所述读请求发送装置110包括多个通道111和一个读请求发送模块112。每个通道111分别与读请求发送模块112实现通信连接。
在本申请一实施例中,每个通道111用于将通道111中的读请求发送至读请求发送模块112。读请求发送模块112用于调度与发送多个通道111中的读请求,并在获知有主机出现阻塞时通知各通道111禁止发送属于出现阻塞的主机的读请求,以及在获知有主机解除阻塞时通知各通道111允许发送属于解除阻塞的主机的读请求。
需要说明的是,在读请求发送模块通知各通道禁止发送属于出现阻塞的主机的读请求的实际场景中,由于传递通知信号会有通路延时,导致读请求发送模块在发送通知信号时,通道无法立刻收到并作出反应,通道不能立即停止发送属于出现阻塞的主机的读请求。为此,本申请通过在读请求发送模块为每个通道配置多个第一缓存和多个第二缓存,可以使读请求发送模块具备缓冲能力,能够接收属于出现阻塞的主机的读请求。
具体地,读请求发送模块112还包括为每个通道111配置的多个第一缓存和多个第二缓存。例如,为通道0配置的多个第一缓存和多个第二缓存,为通道1配置的多个第一缓存和多个第二缓存,为通道X配置的多个第一缓存和多个第二缓存。其中,X为自然数。可选的,第一缓存是FIFO(First in First out,先进先出)存储器。第二缓存可以是常用的缓存。为每个通道111配置的多个第一缓存至少等于主机的数量。为每个通道111配置的多个第二缓存的数量至少等于主机的数量。
当获知有主机出现阻塞时,读请求发送模块112还用于将属于出现阻塞的主机的第一读请求按顺序存储至第一缓存,以及将属于出现阻塞的主机的第二读请求存储至第二缓存。其中,第一读请求是未经过读请求发送模块处理的读请求。第二读请求是请求发送模块未处理完的读请求。
当获知有主机解除阻塞时,读请求发送模块112还用于先读取并发送第二缓存中的第二读请求,再按顺序读取并发送第一缓存中的第一读请求。
本申请通过在读请求发送模块为每个通道配置多个第一缓存和多个第二缓存,可以使读请求发送模块具备缓冲能力,能够接收属于出现阻塞的主机的读请求,直至主机解除阻塞时,再将缓存的属于出现阻塞的主机的读请求按接收顺序发送出去,可以隔离不同主机之间的相互干扰,不因部分主机的阻塞影响其他主机的正常工作。而且,本申请先通过第一缓存按顺序存储未经过读请求发送模块处理的读请求,以及先通过第二缓存存储请求发送模块未处理完的读请求,再在主机解除阻塞时,先读取并发送第二缓存中请求发送模块未处理完的读请求,再读取并发送第一缓存中未经过读请求发送模块处理的读请求,可以保证来自同一条数据流向同一个主机读取数据的读请求保序发送。
可选的,在本申请另一实施例中,对于读请求发送模块112在获知有主机出现阻塞或解除阻塞时,向各通道111传递通知信号的具体实现方式,一种具体实现方式可以是,读请求发送模块112用于获知有主机出现阻塞时生成第三信号,并将第三信号发送至各通道111,以通知各通道111禁止发送属于出现阻塞的主机的读请求其中,第三信号是禁止通道111发送属于出现阻塞的主机的读请求的信号。以及,读请求发送模块112用于在获知有主机解除阻塞时生成第四信号,并将第四信号发送至各通道111,以通知各通道111允许发送属于解除阻塞的主机的读请求其中,第四信号是允许通道111发送属于解除阻塞的主机的读请求的信号。
可选的,在本申请另一实施例中,读请求发送模块112还包括调度器。读请求发送模块112通过调度器调度多个通道111中的读请求。具体地,调度器可以按需求选择,如:时间片轮转调度,即RR(Round-Robin)调度。
可选的,在本申请另一实施例中,读请求发送模块112还包括切片管理单元。读请求发送模块112将调度出的读请求先通过切片管理单元进行切片处理后再发送。需要说明的是,由于主机对每个请求的大小有各自的限制(例如单个请求数据量最大不可以超过512Byte),所以读请求发送模块在调度出通道中的读请求后需要对较大的读请求进行切片。
可选的,请参见图2,图2是本申请另一实施例提供的一种读请求发送装置的结构示意图。在本申请另一实施例中,以请求发送装置将读请求保序发送至两个主机(主机0和主机1)为例,本申请并不限制主机的数量,在其他实施例中,主机的数量可以取决于实际应用场景。
可选的,在本申请另一实施例中,读请求发送装置还包括PCIE模块113。在读请求发送装置110中,读请求发送模块112用于调度多个通道111中的读请求并发送至PCIE模块113。而PCIE模块113用于将读请求分发至各个主机,并在有主机出现阻塞或解除阻塞时通知读请求发送模块112。
可选的,在本申请另一实施例中,对于PCIE模块113在有主机出现阻塞阻塞时通知读请求发送模块112的具体实现方式,一种具体实现方式可以是,PCIE模块113用于在主机出现阻塞时将第一信号发送至读请求发送模块112。读请求发送模块112在接收到第一信号时获知有主机出现阻塞以及哪些主机出现阻塞。其中,第一信号是与出现阻塞的主机对应的主机阻塞信号。而对于PCIE模块113在有主机解除阻塞时通知读请求发送模块112,具体地,PCIE模块113在主机解除阻塞时将第二信号发送至读请求发送模块112。读请求发送模块112在接收到第二信号时获知有主机解除阻塞以及哪些主机解除阻塞。其中,第二信号是与解除阻塞的主机对应的解除阻塞信号。
可选的,在本申请另一实施例中,PCIE模块113还用于根据主机接收读请求的接收状态和速度判断主机出现阻塞或解除阻塞。
可选的,在本申请另一实施例中,对于通道111将读请求发送至读请求发送模块112的具体实现方式,一种具体实现方式是,每个通道111还用于在有读请求发送时将第五信号发送至读请求发送模块112。第五信号是通道111有读请求发送的信号。而读请求发送模块112还用于在调度对应通道111的读请求时将第六信号发送至对应通道111。第六信号是读请求发送模块112可以接收对应通道111的读请求的信号。
可选的,在本申请另一实施例中,每个通道111还对应设置有状态机,可以使各通道独立工作互不影响,性能不会有损耗。每个通道111对应的状态机用于根据第五信号、第六信号以及对应主机出现阻塞或解除阻塞的状态来控制通道111在不同状态之间跳转。具体地,状态机设置六种状态:第一状态(RREQ_STATE_IDLE)、第二状态(RREQ_STATE_RECE)、第三状态(RREQ_STATE_WAIT)、第四状态(RREQ_STATE_LEFT)、第五状态(RREQ_STATE_BLOCK)及第六状态(RREQ_STATE_HPEND)。第一状态代表空闲状态。第二状态代表读请求被接收。第三状态代表读请求正在等待处理。第四状态代表读请求需要切片。第五状态代表有阻塞的读请求待发送。第六状态代表当前发送中的读请求所属的主机阻塞。
针对当前状态处于第一状态的通道,如果通道发出第五信号,接收到第六信号,以及读请求所属主机未出现阻塞,则通道从第一状态跳转至第二状态;如果通道发出第五信号,接收到第六信号,以及读请求所属主机出现阻塞,则通道保持第一状态,并且读请求发送模块将读请求暂存于FIFO存储器;如果通道发出第五信号,未接收到第六信号,有主机解除阻塞并且与通道对应的第二缓存或FIFO中有暂存的与解除阻塞的主机对应的读请求需要发送,则通道从第一状态跳转到第五状态。
针对当前状态处于第二状态的通道,如果通道接收到第六信号,读请求需要切片,以及读请求所属主机出现阻塞,则通道从第二状态跳转到第六状态,切片后的读请求的剩余待发送部分暂存于与所属出现阻塞的主机对应的第二缓存中;如果通道接收到第六信号,读请求需要切片,以及读请求所属主机未阻塞,则通道从第二状态跳转到第四状态;如果通道接收到第六信号,当前读请求不需要切片,有新的读请求需要发送,以及读请求所属主机未阻塞,则通道从第二状态跳转到第二状态;如果通道接收到第六信号,读请求不需要切片,有主机解除阻塞并且与通道对应的第二缓存或FIFO中有暂存的与解除阻塞的主机对应的读请求需要发送,则通道从第二状态跳转到第五状态;如果通道未接收到第六信号,则通道从第二状态跳转到第三状态。
针对当前状态处于第三状态的通道,如果通道接收到第六信号,当前读请求需要切片,以及读请求所属主机出现阻塞,则通道从第三状态跳转到第六状态,切片后的读请求的剩余待发送部分暂存于与所属出现阻塞的主机对应的第二缓存中;如果通道接收到第六信号,当前读请求需要切片,以及读请求所属主机未阻塞,则通道从第三状态跳转到第四状态;如果通道接收到第六信号,当前读请求不需要切片,有新的读请求需要发送,以及新的读请求所属主机出现阻塞,则通道从第三状态跳转到第一状态,读请求发送模块将接收到的新的读请求暂存于与所属出现阻塞的主机对应的FIFO中;如果通道接收到第六信号,当前读请求不需要切片,有新的读请求需要发送,以及新的读请求所属主机未阻塞,则通道从第三状态跳转到第二状态;如果通道接收到第六信号,读请求不需要切片,有主机解除阻塞并且与通道对应的第二缓存或FIFO中有暂存的与解除阻塞的主机对应的读请求需要发送,则通道从第三状态跳转到第五状态;如果通道未接收到第六信号,则通道保持第三状态。
针对当前状态处于第四状态的通道,如果通道接收到第六信号,当前读请求需要切片,以及读请求所属主机出现阻塞,则通道从第四状态跳转到第六状态,切片后的读请求的剩余待发送部分暂存于与所属出现阻塞的主机对应的第二缓存中;如果通道接收到第六信号,当前读请求需要切片,以及读请求所属主机未阻塞,则通道保持第四状态;如果通道接收到第六信号,当前读请求不需要切片,有新的读请求需要发送,以及新的读请求所属主机出现阻塞,则通道从第四状态跳转到第一状态,读请求发送模块将接收到的新的读请求暂存于与所属出现阻塞的主机对应的FIFO中;如果通道接收到第六信号,当前读请求不需要切片,有新的读请求需要发送,以及新的读请求所属主机未阻塞,则通道从第四状态跳转到第二状态;如果通道接收到第六信号,读请求不需要切片,有主机解除阻塞并且与通道对应的第二缓存或FIFO中有暂存的与解除阻塞的主机对应的读请求需要发送,则通道从第四状态跳转到第五状态;如果通道未接收到第六信号,则通道从第四状态跳转到第三状态。
针对当前状态处于第五状态的通道,如果通道接收到第六信号,当前读请求需要切片,以及读请求所属主机出现阻塞,则通道从第五状态跳转到第六状态,切片后的读请求的剩余待发送部分暂存于与所属出现阻塞的主机对应的第二缓存中;如果通道接收到第六信号,当前读请求需要切片,以及读请求所属主机未阻塞,则通道从第五状态跳转到第四状态;如果通道接收到第六信号,当前读请求不需要切片,有新的读请求需要发送,以及新的读请求所属主机出现阻塞,则通道从第五状态跳转到第一状态,读请求发送模块将接收到的新的读请求暂存于与所属出现阻塞的主机对应的FIFO中;如果通道接收到第六信号,当前读请求不需要切片,有新的读请求需要发送,以及新的读请求所属主机未阻塞,则通道从第五状态跳转到第二状态;如果通道接收到第六信号,读请求不需要切片,有主机解除阻塞并且与通道对应的第二缓存或FIFO中有暂存的与解除阻塞的主机对应的读请求需要发送,则通道保持第五状态;如果通道未接收到第六信号,则通道从第五状态跳转到第三状态。
针对当前状态处于第六状态的通道,如果通道接收到第六信号,如果通道接收到第六信号,有新的读请求需要发送,以及新的读请求所属主机出现阻塞,则通道从第六状态跳转到第一状态,读请求发送模块将接收到的新的读请求暂存于与所属出现阻塞的主机对应的FIFO中;如果通道接收到第六信号,有新的读请求需要发送,以及新的读请求所属主机未阻塞,则通道从第六状态跳转到第二状态;如果通道接收到第六信号,有主机解除阻塞并且与通道对应的第二缓存或FIFO中有暂存的与解除阻塞的主机对应的读请求需要发送,则通道从第六状态跳转到第五状态;如果通道不满足其他状态跳转条件,则通道从第六状态跳转到第一状态。
相应地,本申请还提供一种芯片。请参见图3,图3是本申请实施例提供的一种芯片100的结构示意图。如图3所示,本申请实施例提供了一种芯片100,包括本申请任意实施例所提供的读请求发送装置110。具体地,芯片100可以DPU(Data Processing Unit)、GPU(Graphics Processing Unit)、CPU(Central Processing Unit)芯片等。
相应地,本申请还提供一种电子设备。请参见图4,图4是本申请实施例提供的一种电子设备10的结构示意图。如图4所示,本申请实施例提供了一种电子设备10,包括上述实施例提供的芯片100,通过芯片100中的读请求发送装置110,实现读请求的发送。具体地,电子设备10可以是服务器、者服务器集群等。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (12)
1.一种读请求发送装置,其特征在于,用于将读请求保序发送至多个主机,所述装置包括:多个通道和一个读请求发送模块,
每个通道,用于将通道中的读请求发送至读请求发送模块;
读请求发送模块,用于调度与发送多个通道中的读请求,并在获知有主机出现阻塞时通知各通道禁止发送属于出现阻塞的主机的读请求,以及在获知有主机解除阻塞时通知各通道允许发送属于解除阻塞的主机的读请求;
其中,读请求发送模块还包括为每个通道配置的多个第一缓存和多个第二缓存;
当获知有主机出现阻塞时,读请求发送模块还用于将属于出现阻塞的主机的第一读请求按顺序存储至第一缓存,以及将属于出现阻塞的主机的第二读请求存储至第二缓存;
当获知有主机解除阻塞时,读请求发送模块还用于先读取第二缓存中的第二读请求并发送至读请求发送模块,再按顺序读取第一缓存中的第一读请求并发送至读请求发送模块;
第一读请求是未经过读请求发送模块处理的读请求,第二读请求是读请求发送模块未处理完的读请求。
2.根据权利要求1所述的装置,其特征在于,还包括PCIE模块,
读请求发送模块,用于调度多个通道中的读请求并发送至PCIE模块;
PCIE模块,用于将读请求分发至各个主机,并在有主机出现阻塞或解除阻塞时通知读请求发送模块。
3.根据权利要求2所述的装置,其特征在于,PCIE模块在有主机出现阻塞或解除阻塞时通知读请求发送模块,具体包括:
PCIE模块用于在主机出现阻塞时将第一信号发送至读请求发送模块,其中,第一信号是与出现阻塞的主机对应的主机阻塞信号;
PCIE模块在主机解除阻塞时将第二信号发送至读请求发送模块,其中,第二信号是与解除阻塞的主机对应的解除阻塞信号。
4.根据权利要求2所述的装置,其特征在于,PCIE模块还用于根据主机接收读请求的接收状态和速度判断主机出现阻塞或解除阻塞。
5.根据权利要求3所述的装置,其特征在于,读请求发送模块用于在获知有主机出现阻塞时通知各通道禁止发送属于出现阻塞的主机的读请求,以及在获知有主机解除阻塞时通知各通道允许发送属于解除阻塞的主机的读请求,具体包括:
读请求发送模块用于在接收到第一信号时将第三信号发送至各通道,以及用于在接收到第二信号时将第四信号发送至各通道,
其中,第三信号是禁止通道发送属于出现阻塞的主机的读请求的信号,第四信号是允许通道发送属于解除阻塞的主机的读请求的信号。
6.根据权利要求1所述的装置,其特征在于,读请求发送模块还包括调度器,读请求发送模块通过调度器调度多个通道中的读请求。
7.根据权利要求6所述的装置,其特征在于,读请求发送模块还包括切片管理单元,读请求发送模块将调度出的读请求先通过切片管理单元进行切片处理后再发送。
8.根据权利要求1所述的装置,其特征在于,每个通道还用于在有读请求发送时将第五信号发送至读请求发送模块,其中,第五信号是通道有读请求发送的信号,
读请求发送模块还用于在调度对应通道的读请求时将第六信号发送至对应通道,其中,第六信号是读请求发送模块接收对应通道的读请求的信号。
9.根据权利要求8所述的装置,其特征在于,每个通道还对应有状态机,状态机用于根据第五信号、第六信号以及对应主机出现阻塞或解除阻塞的状态来控制通道在不同状态之间跳转。
10.根据权利要求1所述的装置,其特征在于,第一缓存是FIFO存储器,第一缓存和第二缓存的数量分别至少等于主机的数量。
11.一种芯片,其特征在于,包括如权利要求1至10任一项所述的读请求发送装置。
12.一种电子设备,其特征在于,包括如权利要求11所述的芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311862288.9A CN117743239A (zh) | 2023-12-28 | 2023-12-28 | 一种读请求发送装置、芯片及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311862288.9A CN117743239A (zh) | 2023-12-28 | 2023-12-28 | 一种读请求发送装置、芯片及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117743239A true CN117743239A (zh) | 2024-03-22 |
Family
ID=90254631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311862288.9A Pending CN117743239A (zh) | 2023-12-28 | 2023-12-28 | 一种读请求发送装置、芯片及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117743239A (zh) |
-
2023
- 2023-12-28 CN CN202311862288.9A patent/CN117743239A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11709702B2 (en) | Work conserving, load balancing, and scheduling | |
AU773257B2 (en) | System and method for regulating message flow in a digital data network | |
CA2329542C (en) | System and method for scheduling message transmission and processing in a digital data network | |
US6922408B2 (en) | Packet communication buffering with dynamic flow control | |
US7227841B2 (en) | Packet input thresholding for resource distribution in a network switch | |
US8135004B2 (en) | Multi-plane cell switch fabric system | |
CN101616083B (zh) | 一种报文转发方法和装置 | |
US7742408B2 (en) | System and method for filtering packets in a switching environment | |
US8155134B2 (en) | System-on-chip communication manager | |
CN104821887B (zh) | 通过具有不同延迟的存储器进行分组处理的设备和方法 | |
CN105337896A (zh) | 报文处理方法和装置 | |
US7406041B2 (en) | System and method for late-dropping packets in a network switch | |
US20040120332A1 (en) | System and method for sharing a resource among multiple queues | |
EP2077504B1 (en) | Data packet transmitting/receiving system, data packet transmitting/receiving method and data packet transmitting/receiving program | |
CN106330760A (zh) | 一种缓存管理的方法和装置 | |
US20220365815A1 (en) | Sub-queue insertion schemes executable by queue managers and related systems and operations | |
US11310164B1 (en) | Method and apparatus for resource allocation | |
JP2003069630A (ja) | データ転送方法、データ転送装置及びプログラム | |
CN116955247B (zh) | 一种缓存描述符管理装置及其方法、介质、芯片 | |
US8156265B2 (en) | Data processor coupled to a sequencer circuit that provides efficient scalable queuing and method | |
EP1591907B1 (en) | Resource management | |
CN117743239A (zh) | 一种读请求发送装置、芯片及电子设备 | |
US9338219B2 (en) | Direct push operations and gather operations | |
CN111966736B (zh) | 一种高吞吐低延时大容量Flume通道及其传输方法 | |
US9128785B2 (en) | System and method for efficient shared buffer management |
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 |