排队装置制造方法及图纸

技术编号:10322081 阅读:135 留言:0更新日期:2014-08-14 09:22
一种具有排队引擎(2)的排队装置(1)包括:预定数目K个队列Q,其中每个队列Q具有与所述排队引擎(2)的N个对应数目的输入通路相关联的N个子队列SQ,其中每个子队列SQ用于存储由所述排队引擎(2)的每个相关联的输入通路应用的包描述符;以及用于存储所述排队引擎(2)的预定数目K个队列Q的子队列SQ的所有描述符的共享描述符存储器(10),其中在应用到所述排队引擎(2)的系统时钟信号(CLK)的每个系统时钟周期中,最多N个输入通路可以请求对队列Q的写入操作,以及最多一个对任意队列Q的读取操作。

【技术实现步骤摘要】
【国外来华专利技术】排队装置
本专利技术涉及一种具有排队引擎(queuing engine)的排队装置(queuingapparatus)以及涉及一种用于对包描述符(Packet Descriptor)进行排队的方法。
技术介绍
许多应用,尤其网络中的高速路由器和交换机,都需要高速排队系统(queuingsystems)。当多个输入连接到同一个输出时,尤其在入口数据速率(ingress data rate)比出口数据率(egress data rate)速高的情况下有必要提供排队引擎。传统排队引擎提供入口排队(ingress queuing)或使用较高频率的排队系统。但是,两种方法均有不足。入口队列(ingress queue)占用更多的内存并且具有较高线头阻塞(head-of-line blocking,HOL blocking)以及必须提供复杂的流量管理等不足。使用利用高频时钟的高频排队系统增加了功耗,此外还导致时序收敛方面的扩展性问题。传统排队引擎可以成为高速排队系统整个设计的瓶颈。尽管高速排队系统可以设计为支持指定的系统标准带宽,排队装置通常需要支持较高的以及甚至有时高得多的带宽以在有关缓冲中的延迟信息(delyed information)上开启差异化服务。在采用输出队列架构的高速排队系统中,需要特定的输出队列来吸收数据流量,其数据速率可以比其输出速率高得多,尤其当若干输入数据源发送数据流量到所述特定输出队列时。这就对任意排队装置提出了重要的要求,该排队装置能够以比队列的输出速率高得多的数据速率将输入流量吸收到输入队列(input queue)。与读取操作相比,该要求可以转换成许多对队列进行的写入操作。为了能够并行执行多个写入访问(write access),要求每个系统时钟周期内必须承受多个写入操作的传统排队系统实际复制输入队列的控制存储器(control memory)和描述符存储器(descriptor memory) ?但是,由于排队系统需要不断增长的队列深度,控制和描述符存储器的这种复制对系统设计造成了很大障碍,并且当将这些传统排队系统集成到芯片上时导致芯片空间和功耗的浪费。相应地,需要一种排队装置和一种对应的方法,其可以在一个系统时钟周期内承受多个写入操作和一个读取操作而无需复制队列的控制和描述符存储器。
技术实现思路
根据本专利技术的第一方面,提供了一种具有排队引擎的排队装置,包括:预定数目K个队列Q,其中每个队列具有与所述排队引擎的N个对应数目的输入通路(input lane)相关联的N个子队列(sub-queue, SQ)。其中每个子队列SQ用于存储由所述排队引擎的每个相关联的输入通路应用的包描述符以及用于存储该排队引擎的预定数目K个队列Q的子队列SQ的所有描述符的共享描述符存储器(shared d escriptor memory),其中在应用到排队引擎的系统时钟信号CLK的每个系统时钟周期中,最多N个输入通路请求对队列Q的写入操作(write operation, WR),以及最多一个对任意队列Q的读取操作(read operation, RR)。根据本专利技术的第一方面的一种具有排队引擎的排队装置的第一可能实施形式,每个子队列SQ用于最多存储M个应用到所述子队列SQ的相关联的输入通路的包描述符,其中每个子队列SQ使用整个共享描述符存储器,其中M是共享描述符存储器能够存储的描述符的数目。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第二可能实施方式中,为排队引擎的N个输入通路中的每个输入通路提供了对应的入队单元(enqueuingunit)ο在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第三可能实施方式中,每个入队单元用于在应用到排队引擎的系统时钟信号CLK的每个系统时钟周期内将应用到相应输入通路的包描述符入队到与相应输入通路对应的子队列SQ中。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第四可能实施方式中,排队引擎进一步包括一种出队单元(dequeuing unit),用于在应用到排队引擎的系统时钟信号CLK的一个系统时钟周期内将描述符(descriptor)从任意队列Q出队(dequeue)。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第一至四实施方式的又一第五可能实施方式中,排队装置进一步包括一种调度器(scheduler),用于选择由排队引擎的出队单元进行出队的队列Q。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第五实施方式的第六可能实施方式中,被选择的队列Q的一个子队列SQ由存储控制器使用排序函数(sequencing function, SF)选择。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第六实施方式的第七可能实施方式中,存储控制器使用的排序函数SF包括先进先出FIFO排序函数。其中,被选择的队列Q的N个子队列SQ中的被选择的子队列,包括被最小时间戳(minimum time stamp, TS)附着的在其队列的头中(in its head of queue)的描述符。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第六实施方式的第八可能实施方式中,存储控制器使用的排序函数SF包括循环排序函数(Round Robinsequencing function),其中每次调度器选择由排队引擎的出队单元进行出队的队列Q时,在队列Q的N个子队列中选择不同的子队列SQ。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第六实施方式的又一第九可能实施方式中,存储控制器使用的排序函数SF包括差额循环排序函数(deficitRound Robin sequencing function)。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第一至九实施方式的第十可能实施方式中,共享描述符存储器包括多写单读存储系统(mult1-write-singleread memory system)。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第十实施方式的第十一可能实施方式中,多写单读存储系统包括一种控制逻辑(control logic),用于在系统时钟信号CLK的一个时钟周期内接收η个写入请求(write request)以及接收一个读取请求(read request)。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第十一实施方式的第十二可能实施方式中,多写单读存储系统进一步包括用于存储数据的η+1个存储器块(memory bank),其中η是整数。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第十一或十二实施方式的又一第十三可能实施方式中,多写单读存储系统的控制逻辑用于控制每个存储器块的存储器块占用率(memory bank occupancy levels, MBOL),从而使得存储器块的存储器块占用率MBOL之间的差值(difference)最小化。在根据本专利技术的第一方面的一种具有排队引擎的排队装置的第二至四实施方式的第十四可能实施方式中,排队引擎进一步包括一种存储控制器(memory controller),用于从所述入队单元接收来自所述入队单元的包括描述符的队列数据(queued data)和向出队单元提供包括本文档来自技高网
...

【技术保护点】
一种具有排队引擎(2)的排队装置(1),其特征在于,包括:预定数目K个队列Q,其中每个队列Q具有与所述排队引擎(2)的N个对应数目的输入通路相关联的N个子队列SQ,其中每个子队列SQ用于存储由所述排队引擎(2)的每个相关联的输入通路应用的包描述符;以及用于存储所述排队引擎(2)的预定数目K个队列Q的子队列SQ的所有描述符的共享描述符存储器(10),其中在应用到排队引擎(2)的系统时钟信号(CLK)的每个系统时钟周期中,最多N个输入通路请求对队列Q的写入操作,以及最多一个对任意队列Q的读取操作。

【技术特征摘要】
【国外来华专利技术】1.一种具有排队引擎(2)的排队装置(1),其特征在于,包括: 预定数目K个队列Q,其中每个队列Q具有与所述排队引擎(2)的N个对应数目的输入通路相关联的N个子队列SQ, 其中每个子队列SQ用于存储由所述排队引擎(2)的每个相关联的输入通路应用的包描述符;以及 用于存储所述排队引擎(2)的预定数目K个队列Q的子队列SQ的所有描述符的共享描述符存储器(10), 其中在应用到排队引擎⑵的系统时钟信号(CLK)的每个系统时钟周期中,最多N个输入通路请求对队列Q的写入操作,以及最多一个对任意队列Q的读取操作。2.根据权利要求1所述的排队装置(I),其特征在于, 每个子队列SQ用于存储最多M个应用到所述子队列SQ的相关联的输入通路的包描述符,其中每个子队列SQ使用整个共享描述符存储器(10),M是共享描述符存储器(10)存储的描述符的数目。3.根据权利要求1或2所述的排队装置,其特征在于, 对于所述排队引擎(2)的所述N个输入通路的每个输入通路,提供了对应的入队单元(7), 所述入队单元(7)用于在系统时钟信号(CLK)的每个系统时钟周期内将应用到相应输入通路的包描述符入队到与相应输入通路对应的子队列SQ中。4.根据权利要求3所述的排队装置,其特征在于, 所述排队引擎(2)进一步包括出队单元(8),用于在应用到所述排队引擎(2)的系统时钟信号(CLK)的系统时钟周期内将描述符从任意队列Q出队。5.根据前述权利要求1至4中任一权利要求所述的排队装置,其特征在于,进一步包括调度器(3),用于选择由所述排队引擎(2)的出队单元(8)进行出队的队列Q ; 其中所述排队引擎(2)进一步包括存储控制器(9),用于使用排序函数SF选择被选择的队列Q的一个子队列SQ。6.根据权利要求5所述的排队装置,其特征在于, 由所述存储控制器(9)使用的所述排序函数SF包括: 先入先出FIFO排序函数, 其中,被选择的队列Q的N个子队列SQ中的被选择的子队列SQ,包括被最小时间戳TS附着的在其队列的头中的描述符;或者 由所述存储控制器(9)使用的所述排序函数SF包括: 循环排序函数, 其中,每次所述调度器(3)选择由所述排队引擎(2)的出队单元(8)进行出队的队列时,在队列Q的N个子队列中选择不同的子队列SQ,或者 由所述存储控制器(9)使用的所述排序函数SF包括差额循环排序函数。7.根据前述权利要求1至6中任一权利要求所述的排队装置,其特征在于,所述共享描述符存储器(10)包括多...

【专利技术属性】
技术研发人员:亚戎·夏哈拉米·茨卡里埃
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1