CN117424865A - 报文地址管理装置、网络处理芯片、报文读取及存储方法 - Google Patents
报文地址管理装置、网络处理芯片、报文读取及存储方法 Download PDFInfo
- Publication number
- CN117424865A CN117424865A CN202311736699.3A CN202311736699A CN117424865A CN 117424865 A CN117424865 A CN 117424865A CN 202311736699 A CN202311736699 A CN 202311736699A CN 117424865 A CN117424865 A CN 117424865A
- Authority
- CN
- China
- Prior art keywords
- address
- sram
- linked list
- message
- queue
- 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 68
- 238000012545 processing Methods 0.000 title claims abstract description 33
- 238000005516 engineering process Methods 0.000 claims abstract description 18
- 238000013461 design Methods 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9015—Buffering arrangements for supporting a linked list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/58—Caching of addresses or names
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种报文地址管理装置、网络处理芯片、报文读取及存储方法。所述装置用于ASIC技术实现的网络处理芯片中,所述装置包括地址链表SRAM、头指针SRAM和尾指针SRAM,其中:地址链表SRAM,用于存储各报文在共享存储空间中的地址信息;头指针SRAM,用于存储各队列中第一个报文在共享存储空间中的地址信息;尾指针SRAM,用于存储各队列中最后一个报文在共享存储空间中的地址信息。采用该装置能够大大缓解芯片设计布线拥塞的情况。
Description
技术领域
本申请涉及网络报文处理技术领域,特别是涉及一种报文地址管理装置、网络处理芯片、报文读取及存储方法。
背景技术
在网络处理芯片中,通常会根据报文的不同类型建立FIFO(First In First Out,先进先出)队列,再使用虚拟队列(Virtual Output Queue,Voq)技术实现报文的存储和调度,即各队列的报文共享一块RAM(Random Access Memory,随机存取存储器),通过维护地址链表、各报文队列对应的头指针和尾指针去实现各队列的入队和出队。
相关技术中,实现各队列入队和出队的报文地址管理装置中的地址链表、各队列对应的头指针和尾指针,一般通过寄存器组来实现;在报文读取和存储过程中,需要根据目标报文对应的队列号,通过多路选择器(Multiplexer,MUX)器从对应的寄存器组中读取对应的头地址或者尾地址或者数据地址。
然而,上述报文地址管理装置会导致芯片设计布线拥塞的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够缓解芯片设计布线拥塞的报文地址管理装置、网络处理芯片、报文读取及存储方法。
第一方面,本申请提供了一种报文地址管理装置,用于采用专用集成电路ASIC(Application Specific Integrated Circuit,专用集成电路)技术实现的网络处理芯片中,该装置包括:
地址链表SRAM(Static Random-Access Memory,静态随机存取存储器),用于存储各报文在共享存储空间中的地址信息;
头指针SRAM,用于存储各队列中第一个报文在共享存储空间中的地址信息;
尾指针SRAM,用于存储各队列中最后一个报文在共享存储空间中的地址信息。
在其中一个实施例中,地址链表SRAM包括第一地址链表SRAM和第二地址链表SRAM;其中,
第一地址链表SRAM用于存储各队列奇数次数入队的报文在共享存储空间中的地址信息;
第二地址链表SRAM用于存储各队列偶数次数入队的报文在共享存储空间中的地址信息。
在其中一个实施例中,头指针SRAM,还用于存储各队列中第二个报文在共享存储空间中的地址信息;
尾指针SRAM,还用于存储各队列中倒数第二个报文在共享存储空间中的地址信息。
第二方面,本申请还提供了一种网络处理芯片,该芯片基于专用集成电路ASIC技术实现,芯片包括:上述第一方面提供的报文地址管理装置。
第三方面,本申请还提供了一种报文读取方法,用于采用专用集成电路ASIC技术实现的网络处理芯片中,方法包括:
获取待读取的队列对应的出队队列标识;
根据出队队列标识,从头指针SRAM中获取出队队列的目标头地址;
从共享存储空间中读取目标头地址对应的数据,得到出队报文,并更新头指针SRAM。
在其中一个实施例中,地址链表SRAM包括第一地址链表SRAM和第二地址链表;更新头指针SRAM,包括:
获取出队队列标识对应的出队次序标识;
根据出队次序标识,从第一地址链表SRAM和第二地址链表SRAM中确定出队地址链表SRAM;
根据目标头地址,从出队地址链表SRAM中得到下一跳地址;
将头指针SRAM地址中的目标头地址更新成下一跳地址。
在其中一个实施例中,根据出队队列标识,从头指针SRAM中获取目标头地址,包括:
读取头指针SRAM中出队队列标识对应的地址信息,得到第一头地址和第二头地址;
根据出队次序标识,从第一头地址和第二头地址中确定目标头地址。
在其中一个实施例中,出队次序标识为比特0或者比特1;方法还包括:
对出队次序标识进行比特取反处理,以更新出队次序标识。
第四方面,本申请还提供了一种报文存储方法,用于采用专用集成电路ASIC技术实现的网络处理芯片中,方法包括:
获取待存储的入队报文对应的入队队列标识;
获取空闲地址,并根据空闲地址将入队报文写入至共享存储空间;
根据入队队列标识和空闲地址,更新地址链表SRAM和尾指针SRAM。
在其中一个实施例中,地址链表SRAM包括第一地址链表SRAM和第二地址链表SRAM,根据入队队列标识和空闲地址,更新地址链表SRAM和尾指针SRAM,包括:
获取入队队列标识对应的入队次序标识;
根据入队次序标识,从第一地址链表SRAM和第二地址链表SRAM中确定入队地址链表SRAM;
根据入队队列标识和入队次序标识,从尾指针SRAM中确定目标尾地址;
将入队地址链表SRAM中目标尾地址对应的下一跳地址更新为空闲地址;
将尾指针SRAM中目标尾地址对应的地址信息更新为空闲地址。
在其中一个实施例中,根据入队队列标识和入队次序标识,从尾指针SRAM中确定目标尾地址,包括:
从尾指针SRAM中读取入队队列标识对应的地址信息,得到第一尾地址和第二尾地址;
根据入队次序标识,从第一尾地址和第二尾地址中确定目标尾地址。
在其中一个实施例中,入队次序标识为比特0或者比特1;方法还包括:
对入队次序标识进行比特取反处理,以更新入队次序标识。
上述报文地址管理装置、网络处理芯片、报文读取及存储方法,该装置用于ASIC技术实现的网络处理芯片中,该装置包括地址链表SRAM、头指针SRAM和尾指针SRAM,其中:地址链表SRAM,用于存储各报文在共享存储空间中的地址信息;头指针SRAM,用于存储各队列中第一个报文在共享存储空间中的地址信息;尾指针SRAM,用于存储各队列中最后一个报文在共享存储空间中的地址信息;这样,管理各队列的地址链表、头指针和尾指针均用SRAM实现,在报文入队和/或出队时用于选择对应具体存储地址的MUX在硬件上已经集成在SRAM中,且SRAM在数据读取时存在1个时钟周期的延迟,避免了相关技术中采用寄存器组实现地址链表、头指针和尾指针时,需要额外布置大量级联的MUX才能实现地址选择而导致的布线拥塞问题;本实施例提供的报文地址管理装置采用SRAM实现地址链表、头指针和尾指针,能够大大缓解芯片设计布线拥塞的情况。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中报文地址管理装置的示意框图;
图2为一个实施例中采用一个地址链表SRAM实现报文地址管理装置时的时序图;
图3为一个实施例中采用两个地址链表SRAM来实现报文地址管理装置对应的时序图;
图4为一个实施例中地址链表SRAM、头指针SRAM、尾指针SRAM和共享存储空间对应的数据存储结构示例性示意图;
图5为一个实施例中提供的报文读取方法的流程示意图;
图6为一个实施例中更新头指针SRAM的流程示意图;
图7为图6所示的实施例对应的报文读取过程的时序图;
图8为另一个实施例中提供的报文读取方法的流程示意图;
图9为一个实施例中提供的报文存储方法的流程示意图;
图10为一个实施例中更新地址链表SRAM和尾指针SRAM的流程示意图;
图11为图10所示的实施例对应的报文存储过程的时序图;
图12为另一个实施例中提供的报文存储方法的流程示意图;
图13为一个实施例中提供的报文读取装置的结构框图;
图14为一个实施例中提供的报文存储装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种数据结构,但这些数据结构不受这些术语限制。这些术语仅用于将第一个数据结构与另一个数据结构。举例来说,在不脱离本申请的范围的情况下,可以将第一地址链表称为第二地址链表,且类似地,可将第二地址链表SRAM称为第一地址链表SRAM。第一地址链表SRAM和第二地址链表SRAM两者都是地址链表SRAM,但其不是同一地址链表SRAM。
在一个实施例中,如图1所示,提供了一种报文地址管理装置,用于ASIC技术实现的网络处理芯片中,其中,可以在芯片设计阶段,对ASIC芯片的物理布局进行优化和调整,以满足不同的需求和目标。该报文地址管理装置包括地址链表SRAM、头指针SRAM和尾指针SRAM,其中:地址链表SRAM,用于存储各报文在共享存储空间中的地址信息;头指针SRAM,用于存储各队列中第一个报文在共享存储空间中的地址信息;尾指针SRAM,用于存储各队列中最后一个报文在共享存储空间中的地址信息。
其中,地址链表是一种用于存储和组织数据的数据结构,由一系列节点组成,每个节点包含数据元素和指向下一个节点的指针。本实施例中,地址链表SRAM中,每个节点对应的数据内容中包括该节点对应的报文P在共享存储空间中的地址信息和下一个节点对应的链表节点地址信息(即指向下一个节点的指针,也是报文P所在的队列中下一个报文Q对应的节点)。
头指针用于指向对应队列的第一个报文,即下一个即将出队的报文。尾指针用于指向对应队列的最后一个报文,即最新进入队列的报文。
示例性的,虚拟队列技术中,报文的出队流程一般包括:获取出队队列的队列号M;根据将M作为头指针地址从头指针SRAM中获取地址C;根据地址C从地址链表SRAM中获取地址D;根据地址C从共享存储空间中获取出队报文,同时向头指针SRAM中地址M对应的位置写入地址D,以及将地址C写回空闲地址FIFO对应的存储空间中。
上述实施例中,管理各队列的地址链表、头指针和尾指针均用SRAM实现,在报文入队和/或出队时用于选择对应具体存储地址的MUX在硬件上已经集成在SRAM中,且SRAM在数据读取时存在1个时钟周期的延迟,避免了相关技术中采用寄存器组实现地址链表、头指针和尾指针时,需要额外布置大量级联的MUX才能实现地址选择而导致的布线拥塞问题;本实施例提供的报文地址管理装置采用SRAM实现地址链表、头指针和尾指针,能够大大缓解芯片设计布线拥塞的情况。
进一步的,SRAM属于集成度较高的存储器件,相较于相关技术中采用的寄存器组,本实施例提供的报文地址管理装置能够实现较优的芯片面积。
在一个示例性的实施例中,地址链表SRAM包括第一地址链表SRAM和第二地址链表SRAM;其中,第一地址链表SRAM用于存储各队列奇数次数入队的报文在共享存储空间中的地址信息;第二地址链表SRAM用于存储各队列偶数次数入队的报文在共享存储空间中的地址信息。
通常SRAM的读延迟为1个时钟周期;为了时序收敛,SRAM的读数据需要打一拍才能使用,也就是说,可以认为SRAM的读延迟为2个时钟周期。本实施例中,采用两个地址链表SRAM用于存储报文在共享存储空间中的地址信息,相较于采用一个地址链表SRAM,能够提高报文出队的效率。
请参考图2,为采用一个地址链表SRAM实现报文地址管理装置时的时序图。如图2所示,采用一个地址链表SRAM来存储各报文在共享存储空间的地址信息时,由报文的一般出队流程可知,第二次出队的读链表地址报文实际上是第一次出队读地址链表得到的数据,对于rd_addr的(ram的读地址)rd2需要rd_data(ram的读数据)的rd1得到数据作为链表地址,但是当拍(即当前时钟周期)并不能得到,也就是说并不能每个时钟周期都有数据出队。
其中,图2中的clk指的是时钟,rd_en表示SRAM的读使能,rd_addr表示SRAM的读地址;rd_data表示SRAM的读出数据。
其中,本实施例中的头指针SRAM中存储各队列的第一个报文和第二个报文在共享存储空间中的地址信息,尾指针SRAM中存储各队列的最后一个报文和倒数第二个报文在共享存储空间中的地址信息。请参考图3,为采用两个地址链表SRAM来实现报文地址管理装置对应的时序图。如图3所示,第一次和第二次的读链表地址可以从头指针SRAM中得到,第三次的rd_addr来自第一次的rd_data,第四次的rd_addr来自第二次的rd_data,以此类推,后续的读地址都可以从当拍得到,保证了每个时钟周期能够出队。
在一种可能的实施方式下,头指针SRAM,还用于存储各队列中第二个报文在共享存储空间中的地址信息;尾指针SRAM,还用于存储各队列中倒数第二个报文在共享存储空间中的地址信息。在本实施方式中,任意一个队列M在头指针SRAM中对应的地址空间中存储两个字段,一个字段对应队列M的第一个报文在共享存储空间中的地址信息,另一个字段对应队列M的第二个报文在共享存储空间中的地址信息;队列M在尾指针SRAM中对应的地址空间中也存储两个字段,一个字段对应队列M的最后一个报文在共享存储空间中的地址信息,另一个字段对应队列M中倒数第二个报文在共享存储空间中的地址信息。
示例性的,第一地址链表SRAM中第一个节点对应的存储空间中存储第一个报文在共享存储空间中的地址信息和第三个报文对应的链表节点地址信息;第二地址链表SRAM中第一个节点对应的存储空间中存储第二报文在共享存储空间中的地址信息和第四个报文对应的链表节点地址信息,以此类推,直至共享存储空间中的最后一个报文,头指针SRAM中对应队列号的地址空间存储了该队列第一个报文和第二个报文在存储空间中的地址信息,尾指针SRAM中对应队列号的地址空间存储该队列对应的最后一个报文和倒数第二个报文在存储空间中的地址信息。
本实施方式中,在头指针SRAM中的每个地址空间中存储两个字段,以分别对应各队列的第一个报文和第二个报文在共享存储空间中的地址信息,以及在尾指针SRAM中的每个地址空间中存储两个字段,以分别对应各队列的最后一个报文和倒数第二个报文在共享存储空间中的地址信息,尽可能减少报文地址管理装置中的SRAM的数量,减少报文地址管理装置在芯片实现时所占用的面积。
请参考图4,示例性给出本申请实施例中给出的地址链表SRAM、头指针SRAM、尾指针SRAM和共享存储空间对应的数据存储结构。
其中,数据包缓冲深度Packet_Buffer_Depth用X表示,数据包缓冲地址宽度Packet_Buffer_Addr_Width用Y表示,数据包缓冲数据宽度Packet_Buffer_Data_Width用Z表示,队列数量Quenue_Number用N表示。示例性的,X=4096,Y=12,Z=2048,N=51。
结合图4,共享存储空间(对应图中的PacketBuffer Ram)的深度为4096,宽度为2048,可以采用1R1W接口,数据结构为网络报文的一个切片,即[2047:0];其中,PacketBuffer Ram也可以采用aRaW接口来实现,其中a是正整数。
地址链表SRAM(对应图中LinkList Ram),采用1R1W的SRAM实现,数据结构为PacketBuffer的地址,深度为4096,宽度为12。
头指针SRAM(对应图中LinkHeadPtr Ram),采用1R2W的SRAM实现,深度为512,宽度为24,采用1R2W的SRAM实现。
其中,本实施方式中,头指针SRAM采用1R2W的读写接口,可以避免在当前需要入队的队列P中仅存储小于2个的报文时,同时另外一个队列Q需要报文出队,此时需要同时维护队列P的头指针也要维护队列Q的头指针导致的写入冲突,提高报文地址管理装置的可靠性。
可以理解的是,在另一种可能的实施方式中,头指针SRAM可以采用两个1R1W的SRAM拼成前述1R2W的SRAM,对于可能发生冲突时候的头指针写入,入队场景下维护头指针,将对应的地址信息写入1R1W的SRAM一号,出队场景下维护头指针,将对应的地址信息写入1R1W的SRAM二号;对应的,设置状态寄存器,用于在写入头指针对应的地址信息时,记录该地址信息是存在SRAM一号中还是存在SRAM二号中,以便于在报文出队中,确定从哪个1R1W的SRAM中读取头指针地址。示例性的,地址信息存在SRAM一号中,则状态寄存器中的值设为1,否则为0。本实施方式中,采用两个1R1W的SRAM实现1R2W的SRAM,提高报文地址管理装置的适应性,扩展应用场景,易于采用各种硬件厂家的SRAM来实现本申请提供的报文地址管理装置。
尾指针SRAM(对应图中的LinkTailPtr Ram,采用1R1W的SRAM实现,深度为512,宽度为24。
在一种可能的实施方式中,如图4所示,空闲地址的存储也可以使用SRAM实现。空闲地址SRAM(对应图4中的FreePtr Fwft_Fifo),存储的内容为PacketBuffer的空闲空间地址,存储的个数为PacketBuffer的空闲空间总大小。采用1R1W的SRAM实现,数据结构为PacketBuffer的地址,深度为4096,宽度为12。
在一种可能的实施方式中,头指针SRAM包括第一头指针SRAM和第二头指针SRAM,第一头指针SRAM与第一地址链表SRAM对应,用于存储各队列中前两个报文(示例性的报文P1和报文P2)中奇数次数入队的报文P1在共享存储空间中的地址信息,第二头指针SRAM与第二地址链表SRAM对应,用于存储各队列中前两个报文(示例性的报文P7和报文P8,其中7和8代表队列P的入队次数)中偶数次数入队的报文P2在共享存储空间中的地址信息;相应的,尾指针SRAM包括第一尾指针SRAM和第二尾指针SRAM,第一尾指针SRAM用于存储各队列的最后两个报文(示例性的报文P1和报文P2)中奇数次数入队的报文P1在共享存储空间中的地址信息,第二尾指针SRAM与第二地址链表SRAM对应,用于各队列的最后两个报文中偶数次数入队的报文P2在共享存储空间中的地址信息。其中1、2、7和8分别代表队列P的入队次数。
在本实施方式中,采用两个头指针SRAM存储各队列的第一个报文和第二个报文在共享存储空间中的地址信息,以及采用两个尾指针SRAM中存储各队列的最后一个报文和倒数第二个报文在共享存储空间中的地址信息的方式。
上述实施例中,通过设置两个地址链表SRAM,提高报文地址管理装置的出队效率。
基于同样的发明构思,本申请实施例还提供了一种网络处理芯片,该芯片基于专用集成电路ASIC技术实现,该芯片包括上述各实施例提供的报文地址管理装置。
基于同样的发明构思,本申请实施例还提供一种报文读取方法。其中因该报文读取方法所解决问题的实现方案与上述报文地址管理装置中所记载的方案基于同样的发明构思,故下面所提供的一个或多个报文读取方法实施例中的具体限定可以参见上文中对于报文地址管理装置的限定,在此不再赘述。
在一个实施例中,如图5所示,提供的报文读取方法,用于采用专用集成电路ASIC技术实现的网络处理芯片中,包括步骤502至步骤506,其中:
步骤502,获取待读取的队列对应的出队队列标识。
其中,一般报文转发设备中,会有一个指示(bitmap)指示各个队列中是否有数据,假设同时有多个队列有数据,则通过调度去选择一个队列出队。示例性的,有4个队列,目前bitmap为{1,0,0,1},即最高位和最低位的队列中存有数据,调度选择最低位出队的话,则出队队列标识为0,调度选择最高位出队的话,出队队列标识为3。
需要说明的是,本申请中的出队队列标识中的“出队”仅是用于区分该步骤是在报文读取的场景下执行的,并不对队列标识本身构成限制,与后续实施例中的入队队列标识可能是同一个队列对应的队列标识。
步骤504,根据出队队列标识,从头指针SRAM中获取出队队列的目标头地址。
为了便于描述,本实施例中,待读取的队列记为队列M,目标头地址为队列M中的第一个报文在共享存储空间中的地址信息C。相较于相关技术中使用寄存器组实现的头指针,需要根据出队队列标识,先使用MUX做多选一得到头指针寄存器组中对应队列号M的地址信息,容易导致芯片设计布线拥塞问题,本实施根据出队队列标识,从头指针SRAM中获取出队队列的目标头地址,不用设置MUX进行地址选择,能够缓解芯片布线拥塞问题。
步骤506,从共享存储空间中读取目标头地址对应的数据,得到出队报文,并更新头指针SRAM。
示例性的,从共享缓存空间中读取地址信息C对应的数据data,得到出队报文。在得到出队报文之后,将地址信息C写回空闲地址FIFO中。
其中,更新头指针SRAM,指的是根据目标头地址,从地址链表SRAM中获取目标头地址对应的下一跳地址,再将下一跳地址D写入至头指针SRAM中出队队列号对应的地址空间,即将地址信息C替换成下一跳地址。
上述提供的报文读取方法中,可以直接根据队列号从头指针SRAM获取出队报文,无需使用MUX,缓解芯片布线拥塞问题。
在一种示例性的实施例中,地址链表SRAM包括第一地址链表SRAM和第二地址链表。其中,第一地址链表SRAM用于存储各队列奇数次数入队的报文在共享存储空间中的地址信息;第二地址链表SRAM用于存储各队列偶数次数入队的报文在共享存储空间中的地址信息。本实施例中更新头指针SRAM的过程,包括步骤602至步骤610。其中:
步骤602,获取出队队列标识对应的出队次序标识。
步骤604,根据出队次序标识,从第一地址链表SRAM和第二地址链表SRAM中确定出队地址链表SRAM。
步骤606,根据目标头地址,从出队地址链表SRAM中得到下一跳地址。其中,下一跳地址记为地址信息D。
其中,在本实施例一种可能的实施方式中,头指针SRAM中的各个地址空间用于存储各队列中第一个报文和第二个报文在共享存储空间中的地址信息,示例性的,头指针SRAM中队列M对应的地址空间中包括两个字段,一个字段用于表示队列M的第一个报文在共享存储空间中的地址信息,另一个字段用于表示队列M的第二个报文在共享存储空间中的地址信息。
如此,根据出队队列标识,从头指针SRAM中获取目标头地址的过程可以包括:读取头指针SRAM中出队队列标识对应的地址信息,得到第一头地址和第二头地址;根据出队次序标识,从第一头地址和第二头地址中确定目标头地址,即地址信息C。
在本实施例另一种可能的实施方式中,头指针SRAM包括第一头指针SRAM和第二头指针SRAM,根据出队队列标识,从头指针SRAM中获取目标头地址的过程可以包括:根据出队次序标识,从第一头指针SRAM和第二头指针SRAM中确定出队头指针SRAM;根据出队队列标识,从出队头指针SRAM中确定目标头地址。
步骤608,将头指针SRAM地址中的目标头地址更新成下一跳地址。即将头指针SRAM中的地址信息C更新成地址信息D。
请参考图7,示例性给出图6所示的实施例对应的报文读取的时序图。其中,head_rd_en表示头指针SRAM的读使能,head_rd_addr表示头指针SRAM的读地址,head_rd_data表示头指针SRAM的读出数据,buffer_rd_en表示共享存储空间的读使能,buffer_rd_addr表示共享存储空间的读地址,buffer_rd_data表示共享存储空间的读出数据,link_rd_en表示出队地址链表SRAM的读使能,link_rd_addr表示出队地址链表SRAM的读地址,link_rd_data表示出队地址链表SRAM的读出数据;head_ wr_en表示头指针SRAM的写使能,head_wr_addr表示头指针SRAM的写地址,head_wr_data表示头指针SRAM的写入数据;freeptr_push表示空闲地址写入使能,freeptr_pushdata表示空闲地址写入数据,pop_flag表示出队次序标识,在每次出队之前查看该标识,出队后更新该标识。
在一种可能的实施方式中,出队次序标识为比特0或者比特1;方法还包括:对出队次序标识进行比特取反处理,以更新出队次序标识。
在另一种可能的实施方式中,出队次序标识为该队列对应的出队累计次数,在根据出队次序标识,从第一地址链表SRAM和第二地址链表SRAM中确定出队地址链表SRAM时,先判断出队次序标识的奇偶特性,根据判断结果确定出队地址链表SRAM。
在一个示例性的实施例中,请参考图8,提供一种报文读取方法,用于采用ASIC技术实现的网络处理芯片中,包括:
步骤801,获取待读取的队列对应的出队队列标识和出队队列标识对应的出队次序标识。
步骤802,根据出队队列标识,读取头指针SRAM中出队队列标识对应的地址信息,得到第一头地址和第二头地址。
步骤803,根据出队次序标识,从第一头地址和第二头地址中确定目标头地址。
步骤804,从共享存储空间中读取目标头地址对应的数据,得到出队报文。
步骤805,根据出队次序标识,从第一地址链表SRAM和第二地址链表SRAM中确定出队地址链表SRAM。
步骤806,根据目标头地址,从出队地址SRAM中得到下一跳地址。
步骤807,将头指针SRAM中的目标头地址更新成下一跳地址。
步骤808,将目标头地址写入至空闲地址SRAM。
基于同样的发明构思,本申请实施例还提供一种报文存储方法。其中因该报文存储方法所解决问题的实现方案与上述报文地址管理装置中所记载的方案基于同样的发明构思,故下面所提供的一个或多个报文存储方法实施例中的具体限定可以参见上文中对于报文地址管理装置的限定,在此不再赘述。
在一个示例性的实施例中,如图9所示,提供一种报文存储方法,用于采用ASIC技术实现的网络处理芯片中,该方法包括步骤902至步骤906,其中:
步骤902,获取待存储的入队报文对应的入队队列标识。
示例性的,入队队列标识可以是与入队报文同时获取的,也可以是根据入队报文中的某个字段确定,也可以是通过入队报文进行数据计算确定的。
步骤904,获取空闲地址,并根据空闲地址将入队报文写入至共享存储空间。
步骤906,根据入队队列标识和空闲地址,更新地址链表SRAM和尾指针SRAM。
其中,本实施例中,将入队队列标识对应的队列记为队列A,入队队列标识记为B,空闲地址记为A。示例性的,根据B从尾指针SRAM中得到目标尾地址B,向地址链表SRAM中目标尾地址B替换为A,并将尾指针SRAM中的目标尾地址B替换为A。
在一种示例性的实施例中,地址链表SRAM包括第一地址链表SRAM和第二地址链表SRAM;其中,第一地址链表SRAM用于存储各队列奇数次数入队的报文在共享存储空间中的地址信息;第二地址链表SRAM用于存储各队列偶数次数入队的报文在共享存储空间中的地址信息。
请参考图10,在该实施方式中,根据入队队列标识和空闲地址,更新地址链表SRAM和尾指针SRAM,包括步骤1002-步骤1004,其中:
步骤1002,获取第一队列对应的入队次序标识。
步骤1004,根据入队次序标识,从第一地址链表SRAM和第二地址链表SRAM中确定入队地址链表SRAM。
步骤1006,根据入队队列标识和入队次序标识,从尾指针SRAM中确定目标尾地址。
步骤1008,将入队地址链表SRAM中目标尾地址对应的下一跳地址更新为空闲地址。
步骤1010,将尾指针SRAM中的目标尾地址更新为空闲地址。
在本实施例一种可能的实施方式中,尾指针SRAM中的各个地址空间用于存储各队列中的最后一个报文和倒数第二个报文在共享存储空间中的地址信息,示例性的,队列M在尾指针SRAM中对应的地址信息中包括两个字段,一个字段用于标识队列M的最后一个报文在共享存储空间中的地址信息,另一个字段用于标识队列M的倒数第二个报文在共享存储空间中的地址信息。
如此,本实施方式中,根据入队队列标识和入队次序标识,从尾指针SRAM中确认目标尾地址,包括:从尾指针SRAM中读取入队队列标识对应的地址信息,得到第一尾地址和第二尾地址;根据入队次序标识,从第一尾地址和第二尾地址中确定目标尾地址。
在本实施例另一种可能的实施方式中,尾指针SRAM包括第一尾指针SRAM和第二尾指针SRAM;根据入队队列标识和入队次序标识,从尾指针SRAM中确认目标尾地址,包括:根据入队次序标识,从第一尾指针SRAM和第二尾指针SRAM中确定入队尾指针SRAM;根据入队队列标识,从入队尾指针SRAM中获取目标尾地址。
请参考图11,示例性给出图10所示实施例对应的报文存储时序图。其中,freeptr_pop表示空闲空间的读出使能,freeptr_popdata表示空闲空间的读出数据,wr_buffer_en表示共享存储空间的写入使能,wr_buffer_data为共享存储空间的写入数据,wr_buffer_addr表示共享存储空间的写入地址,tail_rd_en表示尾指针SRAM的读使能,tail_rd_addr表示尾指针SRAM的读地址,tail_rd_data表示尾指针SRAM的读出数据,link_wr_en表示地址链表SRAM的写使能,link_wr_addr表示地址链表SRAM的写地址,link_wr_data表示地址链表SRAM的写入数据;tail_wr_en表示尾指针SRAM的写使能,tail_wr_addr表示尾指针SRAM的写地址,tail_wr_data表示尾指针SRAM的写入数据;push_flag表示入队次序标识,每次入队前查看该标识,入队之后切换该标识。
在一种可能的实施方式中,入队次序标识为比特0或者比特1;方法还包括:对入队次序标识进行比特取反处理,以更新入队次序标识。
在另一种可能的实施方式中,入队次序标识为该队列对应的入队累计次数,在根据入队次序标识,从第一地址链表SRAM和第二地址链表SRAM中确定入队地址链表SRAM时,先判断入队次序标识的奇偶特性,根据判断结果确定入队地址链表SRAM。
在一个示例性的实施例中,请参考图12,提供一种报文存储方法,用于采用ASIC技术实现的网络处理芯片中,该方法包括步1201至步骤120X,其中:
步骤1201,获取待存储的入队报文对应的入队队列标识和入队次序标识。
步骤1202,获取空闲地址,并根据空闲地址将入队报文写入至共享存储空间。
步骤1203,根据入队次序标识,从第一地址链表SRAM和第二地址链表SRAM中确定入队地址链表SRAM。
步骤1204,从尾指针SRAM中读取入队队列标识对应的地址信息,得到第一尾地址和第二尾地址。
步骤1205,根据入队次序标识,从第一尾地址和第二尾地址中确定目标尾地址。
步骤1206,将入队地址链表SRAM中目标尾地址对应的下一跳地址更新为空闲地址。
步骤1207,将尾指针SRAM中的目标尾地址更新为空闲地址。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的报文读取方法的报文读取装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个报文读取装置实施例中的具体限定可以参见上文中对于报文读取方法的限定,在此不再赘述。
在一个示例性的实施例中,如图13所示,提供了一种报文读取装置,包括:标识获取模块1302、地址获取模块1304、报文获取模块1306和地址更新模块1308,其中:
标识获取模块1302,用于获取待读取的队列对应的出队队列标识。
地址获取模块1304,用于根据出队队列标识,从头指针SRAM中获取出队队列的目标头地址。
报文获取模块1306,用于从共享存储空间中读取目标头地址对应的数据,得到出队报文。
地址更新模块1308,用于更新头指针SRAM。
在一个示例性的实施例中,地址链表SRAM包括第一地址链表SRAM和第二地址链表;标识获取模块1302还用于获取出队队列标识对应的出队次序标识;地址获取模块1304,根据出队次序标识,从第一地址链表SRAM和第二地址链表SRAM中确定出队地址链表SRAM,根据目标头地址,从出队地址链表SRAM中得到下一跳地址;地址更新模块1308用于将头指针SRAM地址中的目标头地址更新成下一跳地址。
在一个示例性的实施例中,地址获取模块1304,用于读取头指针SRAM中出队队列标识对应的地址信息,得到第一头地址和第二头地址;根据出队次序标识,从第一头地址和第二头地址中确定目标头地址。
在一个示例性的实施例中,出队次序标识为比特0或者比特1;标识获取模块1302,还用于对出队次序标识进行比特取反处理,以更新出队次序标识。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的报文存储方法的报文存储装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个报文存储装置实施例中的具体限定可以参见上文中对于报文存储方法的限定,在此不再赘述。
在一个示例性的实施例中,如图14所示,提供了一种报文读取装置,包括:标识获取模块1402、地址获取模块1404、报文存储模块1406和地址更新模块1408,其中:
标识获取模块1402,用于获取待存储的入队报文对应的入队队列标识;
地址获取模块1404,用于获取空闲地址。
报文存储模块1406,用于根据空闲地址将入队报文写入至共享存储空间。
地址更新模块1408,用于根据入队队列标识和空闲地址,更新地址链表SRAM和尾指针SRAM。
在一个示例性的实施例中,地址链表SRAM包括第一地址链表SRAM和第二地址链表SRAM,标识获取模块1402用于获取入队队列标识对应的入队次序标识;地址获取模块1404用于根据入队次序标识,从第一地址链表SRAM和第二地址链表SRAM中确定入队地址链表SRAM,根据入队队列标识和入队次序标识,从尾指针SRAM中确定目标尾地址;地址更新模块1408用于将入队地址链表SRAM中目标尾地址对应的下一跳地址更新为空闲地址,将尾指针SRAM中目标尾地址对应的地址信息更新为空闲地址。
在一个示例性的实施例中,地址获取模块1404用于从尾指针SRAM中读取入队队列标识对应的地址信息,得到第一尾地址和第二尾地址,根据入队次序标识,从第一尾地址和第二尾地址中确定目标尾地址。
在一个示例性的实施例中,入队次序标识为比特0或者比特1;标识获取模块1402还用于对入队次序标识进行比特取反处理,以更新入队次序标识。
上述报文读取装置和报文存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是路由器或者交换机,其内部结构图可以如图15所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储报文读取方法和/或报文存储方法执行时需要调用的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种报文存储方法和/或报文读取方法。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (12)
1.一种报文地址管理装置,其特征在于,用于采用专用集成电路ASIC技术实现的网络处理芯片中,所述装置包括:
地址链表SRAM,用于存储各报文在共享存储空间中的地址信息;
头指针SRAM,用于存储各队列中第一个报文在所述共享存储空间中的地址信息;
尾指针SRAM,用于存储各队列中最后一个报文在所述共享存储空间中的地址信息。
2.根据权利要求1所述的装置,其特征在于,所述地址链表SRAM包括第一地址链表SRAM和第二地址链表SRAM;其中,
所述第一地址链表SRAM用于存储各队列奇数次数入队的报文在所述共享存储空间中的地址信息;
所述第二地址链表SRAM用于存储各队列偶数次数入队的报文在所述共享存储空间中的地址信息。
3.根据权利要求2所述的装置,其特征在于,所述头指针SRAM,还用于存储各队列中第二个报文在所述共享存储空间中的地址信息;
所述尾指针SRAM,还用于存储所述各队列中倒数第二个报文在所述共享存储空间中的地址信息。
4.一种网络处理芯片,其特征在于,所述芯片基于专用集成电路ASIC技术实现,所述芯片包括:
如权利要求1-3任一项所述的报文地址管理装置。
5.一种报文读取方法,其特征在于,用于采用专用集成电路ASIC技术实现的网络处理芯片中,所述方法包括:
获取待读取的队列对应的出队队列标识;
根据所述出队队列标识,从头指针SRAM中获取所述出队队列的目标头地址;
从共享存储空间中读取所述目标头地址对应的数据,得到出队报文,并更新所述头指针SRAM。
6.根据权利要求5所述的方法,其特征在于,地址链表SRAM包括第一地址链表SRAM和第二地址链表;所述更新所述头指针SRAM,包括:
获取所述出队队列标识对应的出队次序标识;
根据所述出队次序标识,从所述第一地址链表SRAM和第二地址链表SRAM中确定出队地址链表SRAM;
根据所述目标头地址,从所述出队地址链表SRAM中得到下一跳地址;
将所述头指针SRAM地址中的所述目标头地址更新成所述下一跳地址。
7.根据权利要求6所述的方法,其特征在于,所述根据所述出队队列标识,从所述头指针SRAM中获取所述目标头地址,包括:
读取所述头指针SRAM中所述出队队列标识对应的地址信息,得到第一头地址和第二头地址;
根据所述出队次序标识,从所述第一头地址和所述第二头地址中确定所述目标头地址。
8.根据权利要求6所述的方法,其特征在于,所述出队次序标识为比特0或者比特1;所述方法还包括:
对所述出队次序标识进行比特取反处理,以更新所述出队次序标识。
9.一种报文存储方法,其特征在于,用于采用专用集成电路ASIC技术实现的网络处理芯片中,所述方法包括:
获取待存储的入队报文对应的入队队列标识;
获取空闲地址,并根据所述空闲地址将所述入队报文写入至共享存储空间;
根据所述入队队列标识和所述空闲地址,更新地址链表SRAM和尾指针SRAM。
10.根据权利要求9所述的方法,其特征在于,所述地址链表SRAM包括第一地址链表SRAM和第二地址链表SRAM,所述根据所述入队队列标识和所述空闲地址,更新地址链表SRAM和尾指针SRAM,包括:
获取所述入队队列标识对应的入队次序标识;
根据所述入队次序标识,从所述第一地址链表SRAM和第二地址链表SRAM中确定入队地址链表SRAM;
根据所述入队队列标识和所述入队次序标识,从所述尾指针SRAM中确定目标尾地址;
将所述入队地址链表SRAM中所述目标尾地址对应的下一跳地址更新为所述空闲地址;
将所述尾指针SRAM中所述目标尾地址对应的地址信息更新为所述空闲地址。
11.根据权利要求9所述的方法,其特征在于,所述根据入队队列标识和所述入队次序标识,从所述尾指针SRAM中确定目标尾地址,包括:
从所述尾指针SRAM中读取所述入队队列标识对应的地址信息,得到第一尾地址和第二尾地址;
根据所述入队次序标识,从所述第一尾地址和第二尾地址中确定所述目标尾地址。
12.根据权利要求10所述的方法,其特征在于,所述入队次序标识为比特0或者比特1;所述方法还包括:
对所述入队次序标识进行比特取反处理,以更新所述入队次序标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311736699.3A CN117424865A (zh) | 2023-12-18 | 2023-12-18 | 报文地址管理装置、网络处理芯片、报文读取及存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311736699.3A CN117424865A (zh) | 2023-12-18 | 2023-12-18 | 报文地址管理装置、网络处理芯片、报文读取及存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117424865A true CN117424865A (zh) | 2024-01-19 |
Family
ID=89532819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311736699.3A Pending CN117424865A (zh) | 2023-12-18 | 2023-12-18 | 报文地址管理装置、网络处理芯片、报文读取及存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117424865A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1984042A (zh) * | 2006-05-23 | 2007-06-20 | 华为技术有限公司 | 一种缓存地址的管理方法及装置 |
CN102437929A (zh) * | 2011-12-16 | 2012-05-02 | 华为技术有限公司 | 队列管理中的数据出队方法及装置 |
CN106254270A (zh) * | 2015-06-15 | 2016-12-21 | 深圳市中兴微电子技术有限公司 | 一种队列管理方法及装置 |
-
2023
- 2023-12-18 CN CN202311736699.3A patent/CN117424865A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1984042A (zh) * | 2006-05-23 | 2007-06-20 | 华为技术有限公司 | 一种缓存地址的管理方法及装置 |
CN102437929A (zh) * | 2011-12-16 | 2012-05-02 | 华为技术有限公司 | 队列管理中的数据出队方法及装置 |
CN106254270A (zh) * | 2015-06-15 | 2016-12-21 | 深圳市中兴微电子技术有限公司 | 一种队列管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8930593B2 (en) | Method for setting parameters and determining latency in a chained device system | |
US9841913B2 (en) | System and method for enabling high read rates to data element lists | |
US8135004B2 (en) | Multi-plane cell switch fabric system | |
CN105117351B (zh) | 向缓存写入数据的方法及装置 | |
US9753660B2 (en) | System and method for implementing hierarchical distributed-linked lists for network devices | |
US11425057B2 (en) | Packet processing | |
CN104641608A (zh) | 超低延时网络缓冲存储 | |
US6640267B1 (en) | Architecture for multi-queue storage element | |
US20190361631A1 (en) | Storage device, chip and method for controlling storage device | |
US6295534B1 (en) | Apparatus for maintaining an ordered list | |
US9785367B2 (en) | System and method for enabling high read rates to data element lists | |
US20060020741A1 (en) | Synchronization of active flag and status bus flags in a multi-queue first-in first-out memory system | |
CN109298888B (zh) | 队列的数据存取方法及装置 | |
CN112433839B (zh) | 实现网络芯片高速调度的方法、设备及存储介质 | |
CN117424865A (zh) | 报文地址管理装置、网络处理芯片、报文读取及存储方法 | |
US8255623B2 (en) | Ordered storage structure providing enhanced access to stored items | |
US9767014B2 (en) | System and method for implementing distributed-linked lists for network devices | |
EP3299965B1 (en) | Method and physical device for managing linked lists | |
JP5499131B2 (ja) | デュアルポートメモリおよびその方法 | |
CN112950456A (zh) | 图像处理方法及装置、电子设备、计算机可读介质 | |
CN117632258A (zh) | 一种同步读写方法、存储装置和可读存储介质 | |
WO2019227447A1 (zh) | 数据处理方法和处理电路 | |
US20030110305A1 (en) | Systematic memory location selection in ethernet switches | |
US9544229B2 (en) | Packet processing apparatus and packet processing method | |
CN113849867B (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 |