CN117376051A - 多报文共享总线的方法、装置和网络芯片 - Google Patents

多报文共享总线的方法、装置和网络芯片 Download PDF

Info

Publication number
CN117376051A
CN117376051A CN202311302314.2A CN202311302314A CN117376051A CN 117376051 A CN117376051 A CN 117376051A CN 202311302314 A CN202311302314 A CN 202311302314A CN 117376051 A CN117376051 A CN 117376051A
Authority
CN
China
Prior art keywords
bus
sub
linked list
address
message
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
Application number
CN202311302314.2A
Other languages
English (en)
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.)
Suzhou Centec Communications Co Ltd
Original Assignee
Suzhou Centec Communications 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 Suzhou Centec Communications Co Ltd filed Critical Suzhou Centec Communications Co Ltd
Priority to CN202311302314.2A priority Critical patent/CN117376051A/zh
Publication of CN117376051A publication Critical patent/CN117376051A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/4013Management of data rate on the bus
    • H04L12/40136Nodes adapting their rate to the physical link properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种多报文共享总线的方法、装置和网络芯片,通过将总线拆分为多组宽度相等的子总线,将获取到的来自同一数据通道的报文按照子总线的宽度切分为报文分片,利用多组子总线进行报文分片的传输,可以实现多报文共享总线的目的,并且,相应地进行了数据存储器的设置,结合报文分片的传输和缓存,可以大幅提高总线的传输带宽的同时,还具备物理开销小、扩展性强的优点。

Description

多报文共享总线的方法、装置和网络芯片
技术领域
本发明涉及网络芯片技术领域,具体而言,涉及一种多报文共享总线的方法、装置和网络芯片。
背景技术
在高密度网络芯片中,存在大量的数据包存储-调度需求。在网络芯片中,存储器的位宽与输入信号的总线位宽都是一个固定的长度,假设一个报文的真实长度为L(单位byte),而传输报文的总线位宽为W(单位byte),则该报文将被切分为N个分片:N=int(L/W),其中,int为向上取整函数。网络芯片中的报文由媒体存取控制位址(Media accesscontrol,MAC)汇聚而来,可以理解为一个长报文,将按照L0、L1、…LN-1的顺序写进存储器。可以约定L0的报文携带sop(start of packet,报文起点)标志位,LN-1的报文携带eop(endof packet,报文终点)标志位。当sop和eop标志位都无效的部分,称之为body(报文中间)。可以看出,当报文长度小于或等于W时,只有一个分片,该分片同时携带sop/eop标志位。当L等于3个W时,会产生sop\body\eop三个分片。
根据总线上报文最大传输速率的计算公式可知,当L为W的整数倍时,总线利用率最高,总线传输的总带宽也越高。当L为W的整数倍+1时,总线利用率最低,总带宽相比W的整数倍发生大幅下降。造成这种现象的原因在于多报文无法共享总线,总线在一个周期内仅能被单一报文所占用,因而会出现若报文长度L略大于总线位宽W的情况下,总线利用率极低的现象。
发明内容
本发明的目的包括,例如,提供了一种多报文共享总线的方法、装置和网络芯片,其能够提高总线的传输带宽的同时,具备物理开销小、扩展性强等优点。
本发明的实施例可以这样实现:
第一方面,本发明提供一种多报文共享总线的方法,应用于网络芯片,所述网络芯片中的总线拆分为多组宽度相等的子总线,所述网络芯片包括多块数据存储器,各所述数据存储器的宽度与各所述子总线的宽度相等,所述方法包括:
响应总线请求,将获取到的来自同一数据通道的报文按照各所述子总线的宽度切分为报文分片,并利用多组子总线进行报文分片的传输,其中,各所述子总线具有有效标志位,所述有效标志位用于表征所述子总线上当前是否有报文分片进行传输;
根据当前的数据通道的写偏移以及各所述子总线的有效标志位将各个报文分片写入数据存储器中,并记录各所述报文分片写入数据存储器的地址以及编号;
根据当前的数据通道的链表偏移以及各所述子总线的有效标志位确定链表链接操作方式,并根据各所述报文分片写入数据存储器的地址以及编号得到链表地址;
根据所述链表地址和链表链接操作方式执行链表操作,以更新链表控制模块。
在可选的实施方式中,所述链表控制模块包括通道读状态表项,所述通道读状态表项存储数据通道的读地址和读偏移;
所述方法还包括:
根据待读取的数据通道的通道编号索引所述通道读状态表项,基于所述数据通道的读偏移确定待读取的数据存储器,从确定出的待读取的数据存储器中进行报文分片的读取。
在可选的实施方式中,所述链表控制模块还包括头指针存储器、尾指针存储器和链表存储器;
所述方法还包括:
基于待读取的数据通道的通道编号索引所述头指针存储器和尾指针存储器,获得头指针和尾指针;
在所述头指针与所述尾指针相等的情况下,将所述数据通道的通道读状态置为0;
在所述头指针与所述尾指针不相等的情况下,根据所述头指针访问所述链表存储器得到下一跳指针,将所述下一跳指针作为值、所述通道编号作为地址写入所述头指针存储器。
在可选的实施方式中,所述子总线包括第一子总线和第二子总线,所述第一子总线的传输优先级高于所述第二子总线,所述数据存储器包括第一数据存储器和第二数据存储器,所述网络芯片中具有通道写状态表项,所述通道写状态表项包括写地址、写偏移和链接偏移;
所述根据当前的数据通道的写偏移以及各所述子总线的有效标志位将各个报文分片写入数据存储器中,并记录各所述报文分片写入数据存储器的地址以及编号的步骤,包括:
在当前的数据通道的写偏移为0的情况下,获取一新的空闲地址,若所述第一子总线的有效标志位表征有效、所述第二子总线的有效标志位表征无效,使用所述新的空闲地址作为写地址以将所述第一子总线上的报文分片写入所述第一数据存储器,并将所述写偏移更新为1;
若所述第一子总线和第二子总线的有效标志位均表征有效,使用所述新的空闲地址作为写地址将所述第一子总线上的报文分片写入所述第一数据存储器、将所述第二子总线上的报文分片写入所述第二数据存储器;
在当前的数据通道的写偏移为1的情况下,若所述第一子总线的有效标志位表征有效、所述第二子总线的有效标志位表征无效,使用所述通道写状态表项中的写地址将所述报文分片写入所述第一数据存储器,并将所述写偏移更新为0;
若所述第一子总线和第二子总线的有效标志位均表征有效,获取一新的空闲地址,使用所述通道写状态表项中的写地址将所述报文分片写入所述第一数据存储器、使用所述新的空闲地址作为写地址将所述第二子总线上的报文分片写入所述第二数据存储器,并将所述通道写状态表项中的写地址更新为所述新的空闲地址。
在可选的实施方式中,所述根据当前的数据通道的链表偏移以及各所述子总线的有效标志位确定链表链接操作方式的步骤,包括:
在当前的数据通道的链表偏移为0的情况下,若所述第一子总线的有效标志位表征有效、第二子总线的有效标志位表征无效,在报文结尾标志位为0时,确定不执行链表链接操作,在报文结尾标志位为1时,确定对所述第一子总线上的报文分片执行链表链接操作;
若所述第一子总线和第二子总线的有效标志位均表征有效,在各自的报文结尾标志位均为0时,确定对所述第二子总线上的报文分片执行链表链接操作,在所述第一子总线的报文结尾标志位为1、第二子总线上的报文结尾标志位为0,确定对所述第一子总线上的报文分片执行链表链接操作,在所述第一子总线的报文结尾标志位为0、第二子总线上的报文结尾标志位为1,确定对所述第二子总线上的报文分片执行链表链接操作,在各自的报文结尾标志位均为1时,确定对所述第一子总线和第二子总线上的报文分片执行链表链接操作。
在可选的实施方式中,所述根据当前的数据通道的链表偏移以及各所述子总线的有效标志位确定链表链接操作方式的步骤,包括:
在当前的数据通道的链表偏移为1的情况下,若所述第一子总线的有效标志位表征有效、第二子总线的有效标志位表征无效,在报文结尾标志位为0或1时,确定对所述第一子总线上的报文分片执行链表链接操作;
若所述第一子总线和第二子总线的有效标志位均表征有效,在各自的报文结尾标志位均为0或所述第一子总线的报文结尾标志位为1且第二子总线上的报文结尾标志位为0时,确定对所述第一子总线上的报文分片执行链表链接操作,在所述第一子总线的报文结尾标志位为0且第二子总线上的报文结尾标志位为1或各自的报文结尾标志位均为1时,确定对所述第一子总线和第二子总线上的报文分片执行链表链接操作。
在可选的实施方式中,所述链表控制模块包括存有通道读状态的通道读状态表项、头指针存储器、尾指针存储器和链表存储器;
所述根据所述链表地址和链表链接操作方式执行链表操作,以更新链表控制模块的步骤,包括:
在对所述第一子总线或第二子总线上的报文分片执行链表链接操作的情况下,若当前的数据通道的通道编号对应的通道读状态为0,则使用所述通道编号作为地址、所述链表地址作为值,分别写入所述头指针存储器和尾指针存储器,并将所述通道读状态更新为1;
若当前的数据通道的通道编号对应的通道读状态不为0,则使用所述链接地址作为值、所述尾指针作为地址,写入链表存储器中,并使用所述通道编号作为地址、链表地址作为值,写入所述尾指针存储器中。
在可选的实施方式中,所述根据所述链表地址和链表链接操作方式执行链表操作,以更新链表控制模块的步骤,包括:
在对所述第一子总线和第二子总线上的报文分片执行链表链接操作的情况下,若当前的数据通道的通道编号对应的通道读状态为0,则使用所述通道编号作为地址、所述第一子总线的链表地址作为值,写入所述头指针存储器中,使用所述通道编号作为地址、所述第二子总线的链表地址作为值,写入所述尾指针存储器中,并且使用所述第二子总线的链表地址作为值、所述第一子总线的链表地址作为地址,写入所述链表存储器中;
若当前的数据通道的通道编号对应的通道读状态不为0,使用所述第一子总线的链表地址作为值、所述尾指针作为地址,写入所述链表存储器后,再使用所述第二子总线的链表地址作为值、第一子总线上的链表地址作为地址,写入所述链表存储器中,并且使用所述通道编号作为地址、所述第二子总线的链表地址作为值,写入所述尾指针存储器中。
第二方面,本发明提供一种多报文共享总线的装置,应用于网络芯片,所述网络芯片中的总线拆分为多组宽度相等的子总线,所述网络芯片包括多块数据存储器,各所述数据存储器的宽度与各所述子总线的宽度相等,所述装置包括:
响应模块,用于响应总线请求,将获取到的来自同一数据通道的报文按照各所述子总线的宽度切分为报文分片,并利用多组子总线进行报文分片的传输,其中,各所述子总线具有有效标志位,所述有效标志位用于表征所述子总线上当前是否有报文分片进行传输;
处理模块,用于根据当前的数据通道的写偏移以及各所述子总线的有效标志位将各个报文分片写入数据存储器中,并记录各所述报文分片写入数据存储器的地址以及编号;
所述处理模块,还用于根据当前的数据通道的链表偏移以及各所述子总线的有效标志位确定链表链接操作方式,并根据各所述报文分片写入数据存储器的地址以及编号得到链表地址;
所述处理模块,还用于根据所述链表地址和链表链接操作方式执行链表操作,以更新链表控制模块。
第三方面,本发明提供一种网络芯片,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当网络芯片运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述的方法。
本发明实施例的有益效果包括,例如:
本申请提供一种多报文共享总线的方法、装置和网络芯片,通过将总线拆分为多组宽度相等的子总线,将获取到的来自同一数据通道的报文按照子总线的宽度切分为报文分片,利用多组子总线进行报文分片的传输,可以实现多报文共享总线的目的,并且,相应地进行了数据存储器的设置,结合报文分片的传输和缓存,可以大幅提高总线的传输带宽的同时,还具备物理开销小、扩展性强的优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为不同包长通过总线传输最大带宽示意图;
图2为现有传统方式中数据传输缓存实现示意图;
图3为存储调度模型的架构示意图;
图4为本申请实施例提供的多报文共享总线的方法的流程图;
图5为本申请实施例提供的多报文共享总线的方法的另一流程图;
图6为本申请实施例提供的共享总线存储架构示意图;
图7为本申请实施例提供的多报文共享总线的装置的功能模块框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
网络芯片中,存储器的位宽和输入信号的总线位宽是一个固定长度,假设一个报文的真实长度为L(单位byte),而传输报文的总线位宽为W(单位byte)。那么该报文将被切分为N个分片:
N=int(L/W)
Int为向上取整函数。
总线上长度为L的报文的最大传输速率计算公式如下:
BW=f*(L+ipg)*8/N=f*(L+ipg)*8/int(L/W)
BW为带宽,f为芯片的时钟主频。ipg表示以太网物理层协议约定的固定开销(并非表示以太网物理层中严格的ipg协议),默认值为20B。假设f为1GHz,W为128B,则包长L为64-500B通过该总线传输的最大速率如图1中所所示。
从上述计算公式以及图1中所示可知,当L为W的整数倍时,总线利用率最高,总线传输的总带宽也越高。当L为W的整数倍+1时,总线利用率最低,总带宽相比W的整数倍发生大幅下降。
以上述情况中包长为128B和129B为例:
当L为128B时,总线传输带宽为:(128+20)*8*1/1=1184Gbps
当L为129B时,总线传输带宽为:(129+20)*8*1/2=596Gbps
129B时总线传输带宽仅为128B时的一半。出现上述现象的原因可以简单表达为,由于129B刚好超过W(128B),则需要两个时钟周期传输该包长。第一个时钟周期传输128B,总线利用率为100%;第二个时钟周期传输1B,总线利用率只有1/128。
如果网络芯片的输入带宽为600G,且包长为129B,此时输入带宽超过了总线的最大传输能力,上述总线将无法线速处理129B的报文,发生了超带宽的现象。
请参阅图2中所示的现有方案的示意图。在现有技术中,以W为128B为例,在模块A通过总线向模块B发送数据时,总线上至少包括以下信号:
valid:1表示data信号有效,0表示data信号无效
sop:1表示当前data是报文的起始,0表示当前data不是报文的起始
eop:1表示当前data是报文的结尾,0表示当前data不是报文的结尾
validByte:表示data有数数据位。特别的,0表示128B全部有效
error:1表示data有错误,0表示data无错误
port:data所属数据通道编号
data:128B数据
当模块A向模块B发送报文L时,首先根据W将报文分为N个分片L0、L1、…LN-1,可以看出:假设L为64B,报文所属数据通道编号为1,则总线上产生一次valid(有效标志位),对应sop为1,eop为1,validByte为64,error为0,port为1,data为报文64B数据。
假设L为129B,报文所属数据通道编号为1,则总线上产生两次valid,第一次valid对应sop为1,eop为0,validByte为0,error为0,port为1,data为报文前128B数据,第二次valid对应sop为0,eop为1,validByte为1,error为0,port为1,data为报文最后1B数据。
模块B收到valid信号后,根据写控制模块获取地址,将总线上数据写进存储器(Random Access Memory,RAM)中,并通过链表机制实现数据的存储-调度。
基于上述研究发现,现有方案中由于多报文无法共享总线,总线在一个周期内仅能被单一报文所占用,因而若报文长度L略大于总线位宽W,则总线利用率极低。
基于此,本申请提供一种多报文共享总线的方案,通过将总线拆分为多组宽度相等的子总线,将获取到的来自同一数据通道的报文按照子总线的宽度切分为报文分片,利用多组子总线进行报文分片的传输,可以实现多报文共享总线的目的,并且,相应地进行了数据存储器的设置,结合报文分片的传输和缓存,可以大幅提高总线的传输带宽的同时,还具备物理开销小、扩展性强的优点。
本申请实施例提供一种多报文共享总线的方法,该方法可以由多报文共享总线的装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于终端中,该终端可以是网络芯片。
请结合参阅图3,本实施例提供的网络芯片总体上包括数据存储器、链表控制模块、调度器和读信息模块。其中,网络芯片中的总线拆分为多组宽度相等的子总线,网络芯片中的数据存储器为多块,各数据存储器的宽度与各子总线的宽度相等。
如图4所示,为本申请实施例提供的多报文共享总线的方法的流程图,该方法包括:
S11,响应总线请求,将获取到的来自同一数据通道的报文按照各所述子总线的宽度切分为报文分片,并利用多组子总线进行报文分片的传输。
其中,各所述子总线具有有效标志位,所述有效标志位用于表征所述子总线上当前是否有报文分片进行传输。
S12,根据当前的数据通道的写偏移以及各所述子总线的有效标志位将各个报文分片写入数据存储器中,并记录各所述报文分片写入数据存储器的地址以及编号。
S13,根据当前的数据通道的链表偏移以及各所述子总线的有效标志位确定链表链接操作方式,并根据各所述报文分片写入数据存储器的地址以及编号得到链表地址。
S14,根据所述链表地址和链表链接操作方式执行链表操作,以更新链表控制模块。
本实施例中,网络芯片中来自同一数据通道的报文将按照子总线的宽度切分为报文切片,例如,若将128B的总线拆分为2组宽度分别为64B的子总线,则按照64B的宽度进行报文切片的切分。
网络芯片中的数据存储器的宽度与子总线的宽度相等。在模块A通过总线向模块B传输报文的场景下,数据存储器的个数还与模块B输出的总线有关。例如,若模块B的输出总线为256B,则在数据存储器的宽度为64B的情况下,则数据存储器的块数设置为4块。
需要说明的是,实施时也可以根据实际的需求来决定数据存储器的块数。
数据存储器用于将从子总线上所传输的报文切片进行缓存。链表控制模块用于控制链表的入队、出队操作。链表控制模块包括四个子模块,头指针存储器、尾指针存储器、链表存储器和通道读状态表项。调度器用于基于队列的读状态确定是否进行调度,并且,调度器用于将调度出的队列发送给链表控制模块获取该队列的读链表地址,并且触发链表控制模块更新队列读状态信息。读信息模块用于根据调度器获取的读链表地址访问数据存储器,得到数据并输出。
本实施例中,在上述将总线拆分为多组子总线的场景下,假设拆分为2组子总线,包括第一子总线和第二子总线。需要说明的是,本实施例并不限定于包括2组子总线,可以理解为第一子总线、第二子总线中也包括多组子总线。本实施例中,以下以包括2组子总线为例进行说明。
本实施例中,对于第一子总线和第二子总线进行如下定义:
1、在第一子总线无效时,第二子总线一定无效,即优先使用第一子总线。其中,有效可以理解为以子总线上的有效标志位valid来表征,当valid为1时表征有效,valid为0时表征无效。
2、在第一子总线有效时,第二子总线可以有效,也可以无效。例如,当报文不满64B时,只使用第一子总线。
3、第一子总线和第二子总线都有效时,如果第一子总线没有报文结尾标志,则第一子总线表示数据的高位、第二子总线表示数据的低位,即data[128*8-1:0]={data0,data1}。
4、第一子总线和第二子总线上的报文来自相同的数据通道。
需要说明的是,约定1/2/3条限定以定义了两组子总线之间的关系,熟悉本领域的研发人员可以不完全按照上述1/2/3条定义的关系进行设计,但无法背离两组子总线并行传输数据的核心思想。
需要说明的是,约定4引入了一个子总线传输上的限制,熟悉本领域的研发人员可以不引入上述约定4这个限制,但可以预见的是,如果不引入约定4,会对后续从子总线上获取数据并缓存进存储器中产生诸多负面影响。
相应地,在子总线为两组的情况下,相应地,数据存储器设置为2块,分别为第一数据存储器和第二数据存储器。网络芯片中还具有通道写状态表项,通道写状态表项包括写地址、写偏移和链接偏移。通道写状态表项的索引为数据通道编号,写地址、写偏移和链接偏移的初始值为0。
此外,设置链表相关表项,包括头指针存储器、尾指针存储器、链表存储器和通道读状态表项,所有表项的初始值为0。
链表链接操作需要根据模块B的输出总线位宽而定,假设模块B的输出总线为N*64B(N>=2),则需要设置至少N块数据存储器,相对应的,对于一个报文来说,需要在存储满N*64B或者收到报文结尾标志eop时进行链表的链接。如果数据存储器的深度为P,则链表存储器的深度需要P*N。本实施例后续描述中,以N等于2为例进行描述。
在上述利用多组子总线进行报文分片的传输后,在根据当前的数据通道的写偏移以及各子总线的有效标志位将各个报文分片写入数据存储器中的步骤,可以通过以下方式实现:
在当前的数据通道的写偏移为0的情况下,获取一新的空闲地址。在写偏移为0的情况下,表明将从第一数据存储器开始写数据,新的空闲地址可记为ptr。
若第一子总线的有效标志位表征有效、第二子总线的有效标志位表征无效,使用新的空闲地址作为写地址以将第一子总线上的报文分片写入第一数据存储器,并将写偏移更新为1;
若第一子总线和第二子总线的有效标志位均表征有效,使用新的空闲地址作为写地址将第一子总线上的报文分片写入第一数据存储器、将第二子总线上的报文分片写入第二数据存储器。
在当前的数据通道的写偏移为1的情况下,表明将从第二数据存储器开始写数据。
若第一子总线的有效标志位表征有效、第二子总线的有效标志位表征无效,使用通道写状态表项中的写地址将报文分片写入第一数据存储器,并将写偏移更新为0;
若第一子总线和第二子总线的有效标志位均表征有效,获取一新的空闲地址,使用通道写状态表项中的写地址将报文分片写入第一数据存储器、使用新的空闲地址作为写地址将第二子总线上的报文分片写入第二数据存储器,并将通道写状态表项中的写地址更新为新的空闲地址。
完成上述的写数据存储器的操作后,第一子总线上的数据data0写数据存储器RAM的地址记为addr0,第二子总线上的数据data1写RAM的地址记为addr1。data0写RAM的编号记为offset0,data1写RAM的编号记为offset1。
在此基础上,根据数据通道的链表偏移以及各子总线的有效标志位确定链表连接操作方式。该步骤可以通过以下方式实现:
在当前的数据通道的链表偏移为0的情况下,进行如下判断:
若第一子总线的有效标志位表征有效、第二子总线的有效标志位表征无效,在报文结尾标志位为0时(此时没有凑满输出数据位宽128B),确定不执行链表链接操作;在报文结尾标志位为1时(此时凑齐了128B),确定对第一子总线上的报文分片执行链表链接操作。
若第一子总线和第二子总线的有效标志位均表征有效,在各自的报文结尾标志位均为0时(此时凑齐了128B),确定对第二子总线上的报文分片执行链表链接操作;在第一子总线的报文结尾标志位为1、第二子总线上的报文结尾标志位为0(此时收到了第一子总线上报文分片的结尾,同时第二子总线开始传输新的报文分片),确定对第一子总线上的报文分片执行链表链接操作;在第一子总线的报文结尾标志位为0、第二子总线上的报文结尾标志位为1(此时收到了第二子总线上报文分片的结尾),确定对第二子总线上的报文分片执行链表链接操作;在各自的报文结尾标志位均为1时,确定对第一子总线和第二子总线上的报文分片执行链表链接操作。
在当前的数据通道的链表偏移为1的情况下,进行如下判断:
若第一子总线的有效标志位表征有效、第二子总线的有效标志位表征无效,在报文结尾标志位为0或1时(此时凑满了输出数据带宽128,或者收到了第一子总线上报文分片的结尾),确定对第一子总线上的报文分片执行链表链接操作。
若第一子总线和第二子总线的有效标志位均表征有效,在各自的报文结尾标志位均为0或第一子总线的报文结尾标志位为1且第二子总线上的报文结尾标志位为0时(此时凑满了输出数据带宽128,或者收到了第一子总线上报文分片的结尾,同时第二子总线开始传输新的报文分片),确定对所述第一子总线上的报文分片执行链表链接操作;在第一子总线的报文结尾标志位为0且第二子总线上的报文结尾标志位为1或各自的报文结尾标志位均为1时(此时收到了第二子总线上报文切片的结尾,或者收到了第一、第二子总线上报文切片的结尾),确定对第一子总线和第二子总线上的报文分片执行链表链接操作。
在确定对第一子总线上的报文分片执行链表链接操作的情况下,链表地址为{addr0,offset0}。
在确定对第二子总线上的报文分片执行链表链接操作的情况下,链表地址为{addr1,offset1}。
在确定对第一子总线和第二子总线上的报文分片执行链表链接操作的情况下,第一子总线的链表地址为{addr0,offset0},第二子总线的链表地址为{addr1,offset1}。
在通过以上方式确定链表链接操作方式之后,上述根据链表地址和链表链接操作方式执行链表操作,以更新链表控制模块的步骤,可以通过以下方式实现:
在对所述第一子总线或第二子总线上的报文分片执行链表链接操作的情况下,执行以下步骤:
若当前的数据通道的通道编号对应的通道读状态为0(说明此时队列中没有其他数据等待调度),则使用通道编号作为地址、链表地址作为值,分别写入头指针存储器和尾指针存储器,并将通道读状态更新为1;
若当前的数据通道的通道编号对应的通道读状态不为0(说明此时队列中有其他数据等待调度),则使用链接地址作为值、尾指针作为地址,写入链表存储器中,并使用通道编号作为地址、链表地址作为值,写入尾指针存储器中。
在对第一子总线和第二子总线上的报文分片执行链表链接操作的情况下,说明同一数据通道需要同时挂接两次链表,可执行以下步骤:
若当前的数据通道的通道编号对应的通道读状态为0(说明此时队列中没有其他数据等待调度),则使用通道编号作为地址、第一子总线的链表地址作为值,写入头指针存储器中,使用通道编号作为地址、第二子总线的链表地址作为值,写入尾指针存储器中,并且使用第二子总线的链表地址作为值、第一子总线的链表地址作为地址,写入链表存储器中。
若当前的数据通道的通道编号对应的通道读状态不为0(说明此时队列中有其他数据等待调度),使用第一子总线的链表地址作为值、尾指针作为地址,写入链表存储器后,再使用第二子总线的链表地址作为值、第一子总线上的链表地址作为地址,写入链表存储器中,并且使用通道编号作为地址、第二子总线的链表地址作为值,写入尾指针存储器中。
本实施例中,通过以上步骤完成总线请求响应、数据缓存以及链表创建之后,后续还需执行数据读取以及调度输出。
请结合参阅图5,本实施例所提供的方法还可包括以下步骤:
S15,根据待读取的数据通道的通道编号索引所述通道读状态表项,基于所述数据通道的读偏移确定待读取的数据存储器,从确定出的待读取的数据存储器中进行报文分片的读取。
本实施例中,通道读状态表项中包括读地址和读偏移,其初始值均为0。根据数据通道的通道编号索引头指针存储器,得到头指针,进而得到{头地址,头编号},基于以上步骤,可以推导出{头地址,头编号}=头指针。
在该步骤中,假设待读取的数据通道的读偏移为0,说明从第一数据存储器开始读取数据:
如果头编号为0,表示当前只需要第一数据存储器,则根据头指针读取第一数据存储器。之后将读偏移更新为1,读地址更新为头地址,表征下次从第二数据存储器的读地址开始读取数据。
如果头编号为1,表示当前需要同时读第一数据存储器和第二数据存储器,则根据头地址读取第一数据存储器和第二数据存储器。之后将读偏移保持0。表征下次从第一数据存储器开始读取数据,但读地址未知。
假设待读取的数据通道的读偏移为1,说明从第二数据存储器开始读取数据:
如果头编号为1,表示当前只需要读第二数据存储器,则根据头地址读取第二数据存储器。之后将读偏移更新为0。
如果头编号为0,表示当前需要同时读第一数据存储器和第二数据存储器,则根据读地址读取第二数据存储器,根据头地址读取第一数据存储器。之后将读偏移保持1,读地址更新为头地址。
请再次参阅图5,在完成上述数据存储器的读取调度的情况下,还需执行链表维护操作。本实施例所提供的方法还可包括以下步骤:
S16,基于待读取的数据通道的通道编号索引所述头指针存储器和尾指针存储器,获得头指针和尾指针;
S17,在所述头指针与所述尾指针相等的情况下,将所述数据通道的通道读状态置为0;
S18,在所述头指针与所述尾指针不相等的情况下,根据所述头指针访问所述链表存储器得到下一跳指针,将所述下一跳指针作为值、所述通道编号作为地址写入所述头指针存储器。
以下将结合示例对本实施例上述的执行流程中写操作的过程进行说明。
场景一
时刻1,总线0(第一子总线)和总线1(第二子总线)同时发送了“data1.sop&eop”和“data2.sop”,则确定使用新的空闲地址作为地址将总线0上的数据写入RAM0(第一数据存储器),使用新的空闲地址作为地址将总线1上的数据写入RAM1(第二数据存储器)。并确定需要对总线0上的数据进行链表链接操作,且执行上述的对总线0上的数据的链表链接操作。
时刻2,总线0和总线1同时发送了“data2.body”和“data2.body”,则确定使用新的空闲地址作为地址将总线0上的数据写入RAM0,使用新的空闲地址作为地址将总线1上的数据写入RAM1。并确定需要对总线0上的数据进行链表链接操作,且执行上述的对总线0上的数据的链表链接操作。
时刻3,总线0和总线1同时发送了“data2.eop”和“data3.sop&eop”,则确定使用新的空闲地址作为地址将总线0上的数据写入RAM0(第一数据存储器),使用新的空闲地址作为地址将总线1上的数据写入RAM1(第二数据存储器)。并确定需要对总线0和总线1上的数据同时进行链表链接操作,且执行上述的对总线0和总线1上的数据的链表链接操作。
场景二
时刻1,总线0发送了“data1.sop&eop”,总线1无效。则确定将写偏移更新为1,将写地址更新为新的空闲地址,并使用新的空闲地址作为地址将总线0上的数据写进RAM0。并确定需要对总线0上的数据进行链表链接操作,且执行上述的对总线0上的数据的链表链接操作。
时刻2,总线0和总线1同时发送了“data2.sop”和“data2.body”。则确定使用通道写状态表项中的写地址将总线0上的数据写入RAM1,使用新的空闲地址作为写地址将总线1上的数据写入RAM0,并将通道写状态表项中的写地址更新为新的空闲地址。并确定需要对总线1上的数据进行链表链接操作,且执行上述的对总线1上的数据的链表链接操作。
时刻3,总线0发送了“data2.body”,总线1无效。则确定使用写地址作为地址将总线0上的数据写入RAM0。并确定无需执行链表链接操作。
时刻4,总线0和总线1同时发送了“data2.eop”和“data3.sop&eop”。则确定写偏移维持为0,使用新的空闲地址作为地址将总线0上的数据写入RAM0,使用新的空闲地址作为地址将总线1上的数据写入RAM1。并确定需要对总线0和总线1上的数据同时进行链表链接操作,且执行上述的对总线0和总线1上的数据的链表链接操作。
无论上述哪一种场景,通道port1的最终链接状态如图6中链表存储器、头指针、尾指针所示。
在完成图6中数据存储之后开始读操作,以下将结合示例对本实施例上述的执行流程中读操作的过程进行说明。
时刻1,读之前,读地址不关心,读偏移为0,头地址为a,头偏移为0。读取方式为:根据头指针读取RAM0,之后将读偏移更新为1,读地址更新为头地址。
时刻2,读之前,读地址为a,读偏移为1,头地址为b,头偏移为0。读取方式为:根据读地址读取RAM1,根据头地址读取RAM0。之后将读偏移保持1,读地址更新为头地址。
时刻3,读之前,读地址为b,读偏移为1,头地址为d,头偏移为0。读取方式为:根据读地址读取RAM1,根据头地址读取RAM0。之后将读偏移保持1,读地址更新为头地址。
时刻4,读之前,读地址为d,读偏移为1,头地址为d,头偏移为1。读取方式为:根据头地址读取RAM1,之后将读偏移更新为0。
本实施例所提供的多报文共享总线的方案,提升了总线的利用率,特别是报文长度为W整数倍+1的情况下,大幅提高总线的传输带宽。同时提出了完整的存储-调度方案,具有物理开销小、扩展性强的特点。
基于同一发明构思,请参阅图7,示出了本申请实施例提供的多报文共享总线的装置的功能模块示意图,本实施例可以根据上述方法实施例对该多报文共享总线的装置进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,在采用对应各个功能划分各个功能模块的情况下,图7示出的多报文共享总线的装置只是一种装置示意图。其中,多报文共享总线的装置可以包括响应模块和处理模块,下面分别对该多报文共享总线的装置的各个功能模块的功能进行详细阐述。
响应模块,用于响应总线请求,将获取到的来自同一数据通道的报文按照各所述子总线的宽度切分为报文分片,并利用多组子总线进行报文分片的传输,其中,各所述子总线具有有效标志位,所述有效标志位用于表征所述子总线上当前是否有报文分片进行传输;
可以理解,该响应模块可以用于执行上述步骤S11,关于该响应模块的详细实现方式可以参照上述步骤S11有关的内容。
处理模块,用于根据当前的数据通道的写偏移以及各所述子总线的有效标志位将各个报文分片写入数据存储器中,并记录各所述报文分片写入数据存储器的地址以及编号;
所述处理模块,还用于根据当前的数据通道的链表偏移以及各所述子总线的有效标志位确定链表链接操作方式,并根据各所述报文分片写入数据存储器的地址以及编号得到链表地址;
所述处理模块,还用于根据所述链表地址和链表链接操作方式执行链表操作,以更新链表控制模块。
可以理解,该处理模块可以用于执行上述步骤S11至S14,关于该处理模块的详细实现方式可以参照上述步骤S11至S14有关的内容。
关于装置中的各模块的处理流程以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本申请实施例还提供一种网络芯片,该网络芯片包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当网络芯片运行时,处理器执行机器可执行指令,以执行上述任意实施方式下的多报文共享总线的方法。
综上所述,本申请实施例提供的多报文共享总线的方法、装置和网络芯片,通过将总线拆分为多组宽度相等的子总线,将获取到的来自同一数据通道的报文按照子总线的宽度切分为报文分片,利用多组子总线进行报文分片的传输,可以实现多报文共享总线的目的,并且,相应地进行了数据存储器的设置,结合报文分片的传输和缓存,可以大幅提高总线的传输带宽的同时,还具备物理开销小、扩展性强的优点。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种多报文共享总线的方法,其特征在于,应用于网络芯片,所述网络芯片中的总线拆分为多组宽度相等的子总线,所述网络芯片包括多块数据存储器,各所述数据存储器的宽度与各所述子总线的宽度相等,所述方法包括:
响应总线请求,将获取到的来自同一数据通道的报文按照各所述子总线的宽度切分为报文分片,并利用多组子总线进行报文分片的传输,其中,各所述子总线具有有效标志位,所述有效标志位用于表征所述子总线上当前是否有报文分片进行传输;
根据当前的数据通道的写偏移以及各所述子总线的有效标志位将各个报文分片写入数据存储器中,并记录各所述报文分片写入数据存储器的地址以及编号;
根据当前的数据通道的链表偏移以及各所述子总线的有效标志位确定链表链接操作方式,并根据各所述报文分片写入数据存储器的地址以及编号得到链表地址;
根据所述链表地址和链表链接操作方式执行链表操作,以更新链表控制模块。
2.根据权利要求1所述的多报文共享总线的方法,其特征在于,所述链表控制模块包括通道读状态表项,所述通道读状态表项存储数据通道的读地址和读偏移;
所述方法还包括:
根据待读取的数据通道的通道编号索引所述通道读状态表项,基于所述数据通道的读偏移确定待读取的数据存储器,从确定出的待读取的数据存储器中进行报文分片的读取。
3.根据权利要求2所述的多报文共享总线的方法,其特征在于,所述链表控制模块还包括头指针存储器、尾指针存储器和链表存储器;
所述方法还包括:
基于待读取的数据通道的通道编号索引所述头指针存储器和尾指针存储器,获得头指针和尾指针;
在所述头指针与所述尾指针相等的情况下,将所述数据通道的通道读状态置为0;
在所述头指针与所述尾指针不相等的情况下,根据所述头指针访问所述链表存储器得到下一跳指针,将所述下一跳指针作为值、所述通道编号作为地址写入所述头指针存储器。
4.根据权利要求1所述的多报文共享总线的方法,其特征在于,所述子总线包括第一子总线和第二子总线,所述第一子总线的传输优先级高于所述第二子总线,所述数据存储器包括第一数据存储器和第二数据存储器,所述网络芯片中具有通道写状态表项,所述通道写状态表项包括写地址、写偏移和链接偏移;
所述根据当前的数据通道的写偏移以及各所述子总线的有效标志位将各个报文分片写入数据存储器中,并记录各所述报文分片写入数据存储器的地址以及编号的步骤,包括:
在当前的数据通道的写偏移为0的情况下,获取一新的空闲地址,若所述第一子总线的有效标志位表征有效、所述第二子总线的有效标志位表征无效,使用所述新的空闲地址作为写地址以将所述第一子总线上的报文分片写入所述第一数据存储器,并将所述写偏移更新为1;
若所述第一子总线和第二子总线的有效标志位均表征有效,使用所述新的空闲地址作为写地址将所述第一子总线上的报文分片写入所述第一数据存储器、将所述第二子总线上的报文分片写入所述第二数据存储器;
在当前的数据通道的写偏移为1的情况下,若所述第一子总线的有效标志位表征有效、所述第二子总线的有效标志位表征无效,使用所述通道写状态表项中的写地址将所述报文分片写入所述第一数据存储器,并将所述写偏移更新为0;
若所述第一子总线和第二子总线的有效标志位均表征有效,获取一新的空闲地址,使用所述通道写状态表项中的写地址将所述报文分片写入所述第一数据存储器、使用所述新的空闲地址作为写地址将所述第二子总线上的报文分片写入所述第二数据存储器,并将所述通道写状态表项中的写地址更新为所述新的空闲地址。
5.根据权利要求4所述的多报文共享总线的方法,其特征在于,所述根据当前的数据通道的链表偏移以及各所述子总线的有效标志位确定链表链接操作方式的步骤,包括:
在当前的数据通道的链表偏移为0的情况下,若所述第一子总线的有效标志位表征有效、第二子总线的有效标志位表征无效,在报文结尾标志位为0时,确定不执行链表链接操作,在报文结尾标志位为1时,确定对所述第一子总线上的报文分片执行链表链接操作;
若所述第一子总线和第二子总线的有效标志位均表征有效,在各自的报文结尾标志位均为0时,确定对所述第二子总线上的报文分片执行链表链接操作,在所述第一子总线的报文结尾标志位为1、第二子总线上的报文结尾标志位为0,确定对所述第一子总线上的报文分片执行链表链接操作,在所述第一子总线的报文结尾标志位为0、第二子总线上的报文结尾标志位为1,确定对所述第二子总线上的报文分片执行链表链接操作,在各自的报文结尾标志位均为1时,确定对所述第一子总线和第二子总线上的报文分片执行链表链接操作。
6.根据权利要求5所述的多报文共享总线的方法,其特征在于,所述根据当前的数据通道的链表偏移以及各所述子总线的有效标志位确定链表链接操作方式的步骤,包括:
在当前的数据通道的链表偏移为1的情况下,若所述第一子总线的有效标志位表征有效、第二子总线的有效标志位表征无效,在报文结尾标志位为0或1时,确定对所述第一子总线上的报文分片执行链表链接操作;
若所述第一子总线和第二子总线的有效标志位均表征有效,在各自的报文结尾标志位均为0或所述第一子总线的报文结尾标志位为1且第二子总线上的报文结尾标志位为0时,确定对所述第一子总线上的报文分片执行链表链接操作,在所述第一子总线的报文结尾标志位为0且第二子总线上的报文结尾标志位为1或各自的报文结尾标志位均为1时,确定对所述第一子总线和第二子总线上的报文分片执行链表链接操作。
7.根据权利要求6所述的多报文共享总线的方法,其特征在于,所述链表控制模块包括存有通道读状态的通道读状态表项、头指针存储器、尾指针存储器和链表存储器;
所述根据所述链表地址和链表链接操作方式执行链表操作,以更新链表控制模块的步骤,包括:
在对所述第一子总线或第二子总线上的报文分片执行链表链接操作的情况下,若当前的数据通道的通道编号对应的通道读状态为0,则使用所述通道编号作为地址、所述链表地址作为值,分别写入所述头指针存储器和尾指针存储器,并将所述通道读状态更新为1;
若当前的数据通道的通道编号对应的通道读状态不为0,则使用所述链接地址作为值、所述尾指针作为地址,写入链表存储器中,并使用所述通道编号作为地址、链表地址作为值,写入所述尾指针存储器中。
8.根据权利要求7所述的多报文共享总线的方法,其特征在于,所述根据所述链表地址和链表链接操作方式执行链表操作,以更新链表控制模块的步骤,包括:
在对所述第一子总线和第二子总线上的报文分片执行链表链接操作的情况下,若当前的数据通道的通道编号对应的通道读状态为0,则使用所述通道编号作为地址、所述第一子总线的链表地址作为值,写入所述头指针存储器中,使用所述通道编号作为地址、所述第二子总线的链表地址作为值,写入所述尾指针存储器中,并且使用所述第二子总线的链表地址作为值、所述第一子总线的链表地址作为地址,写入所述链表存储器中;
若当前的数据通道的通道编号对应的通道读状态不为0,使用所述第一子总线的链表地址作为值、所述尾指针作为地址,写入所述链表存储器后,再使用所述第二子总线的链表地址作为值、第一子总线上的链表地址作为地址,写入所述链表存储器中,并且使用所述通道编号作为地址、所述第二子总线的链表地址作为值,写入所述尾指针存储器中。
9.一种多报文共享总线的装置,其特征在于,应用于网络芯片,所述网络芯片中的总线拆分为多组宽度相等的子总线,所述网络芯片包括多块数据存储器,各所述数据存储器的宽度与各所述子总线的宽度相等,所述装置包括:
响应模块,用于响应总线请求,将获取到的来自同一数据通道的报文按照各所述子总线的宽度切分为报文分片,并利用多组子总线进行报文分片的传输,其中,各所述子总线具有有效标志位,所述有效标志位用于表征所述子总线上当前是否有报文分片进行传输;
处理模块,用于根据当前的数据通道的写偏移以及各所述子总线的有效标志位将各个报文分片写入数据存储器中,并记录各所述报文分片写入数据存储器的地址以及编号;
所述处理模块,还用于根据当前的数据通道的链表偏移以及各所述子总线的有效标志位确定链表链接操作方式,并根据各所述报文分片写入数据存储器的地址以及编号得到链表地址;
所述处理模块,还用于根据所述链表地址和链表链接操作方式执行链表操作,以更新链表控制模块。
10.一种网络芯片,其特征在于,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当网络芯片运行时,处理器执行所述机器可执行指令,以执行权利要求1-8中任意一项所述的方法。
CN202311302314.2A 2023-10-09 2023-10-09 多报文共享总线的方法、装置和网络芯片 Pending CN117376051A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311302314.2A CN117376051A (zh) 2023-10-09 2023-10-09 多报文共享总线的方法、装置和网络芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311302314.2A CN117376051A (zh) 2023-10-09 2023-10-09 多报文共享总线的方法、装置和网络芯片

Publications (1)

Publication Number Publication Date
CN117376051A true CN117376051A (zh) 2024-01-09

Family

ID=89406972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311302314.2A Pending CN117376051A (zh) 2023-10-09 2023-10-09 多报文共享总线的方法、装置和网络芯片

Country Status (1)

Country Link
CN (1) CN117376051A (zh)

Similar Documents

Publication Publication Date Title
US7546399B2 (en) Store and forward device utilizing cache to store status information for active queues
US20240143169A1 (en) Method for Improving Message Storage Efficiency of Network Chip, Device, and Storage medium
US8930593B2 (en) Method for setting parameters and determining latency in a chained device system
US7801173B2 (en) Communication message conversion apparatus and communication message conversion method
WO2021207919A1 (zh) 控制器、存储器件访问系统、电子设备和数据传输方法
CN113411270B (zh) 一种面向时间敏感网络的报文缓冲区管理方法
EP0884924A1 (en) ATM Communication apparatus
CN103748845B (zh) 报文发送方法、接收方法、装置及系统
EP3657744B1 (en) Message processing
CN113452591B (zh) 基于can总线连续数据帧的回路控制方法及装置
CN112084136A (zh) 队列缓存管理方法、系统、存储介质、计算机设备及应用
JP2003037572A (ja) スケジューリング方式
CN104009942A (zh) 一种千兆afdx交换机及其交换方法
CN114968893A (zh) 基于时间戳的PCIe报文队列调度方法、系统及设备
US7130916B2 (en) Linking frame data by inserting qualifiers in control blocks
CN108614792B (zh) 1394事务层数据包存储管理方法及电路
CN111181874A (zh) 一种报文处理方法、装置及存储介质
CN117376051A (zh) 多报文共享总线的方法、装置和网络芯片
US20030225991A1 (en) Increasing memory access efficiency for packet applications
CN113157465B (zh) 基于指针链表的消息发送方法及装置
CN114024844B (zh) 数据调度方法、数据调度装置及电子设备
CN115955441A (zh) 一种基于tsn队列的管理调度方法、装置
CN117499351A (zh) 报文转发装置及方法、通信芯片及网络设备
CN102170401A (zh) 一种数据的处理方法和设备
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