多通道先进先出缓存队列控制器及访问方法技术

技术编号:9462765 阅读:176 留言:0更新日期:2013-12-18 23:57
本发明专利技术实施例提供了一种多通道FIFO?queue控制器及多通道FIFO?queue访问方法,该多通道FIFO?queue控制器包括:地址确定电路和控制电路;其中,地址确定电路用于:根据业务的标识确定在数据缓存中的待访问的块的物理地址,所述数据缓存包含多个块,每个块包含m个存储单元,m为正整数;根据所述待访问的块的物理地址和待访问的数据在所述待访问的块内的地址,确定所述待访问的数据在所述数据缓存中的物理地址;所述控制电路用于:根据所述地址确定电路确定的所述待访问的数据在所述数据缓存中的物理地址访问所述待访问的数据。上述方案有助于多个业务对数据缓存的共享,有助于减少对FIFO?queue的资源的占用,且可靠性较高。

【技术实现步骤摘要】
【专利摘要】本专利技术实施例提供了一种多通道FIFO?queue控制器及多通道FIFO?queue访问方法,该多通道FIFO?queue控制器包括:地址确定电路和控制电路;其中,地址确定电路用于:根据业务的标识确定在数据缓存中的待访问的块的物理地址,所述数据缓存包含多个块,每个块包含m个存储单元,m为正整数;根据所述待访问的块的物理地址和待访问的数据在所述待访问的块内的地址,确定所述待访问的数据在所述数据缓存中的物理地址;所述控制电路用于:根据所述地址确定电路确定的所述待访问的数据在所述数据缓存中的物理地址访问所述待访问的数据。上述方案有助于多个业务对数据缓存的共享,有助于减少对FIFO?queue的资源的占用,且可靠性较高。【专利说明】
本专利技术涉及数据传送
,尤其涉及多通道先进先出缓存队列(first infirst out queue, FIFO queue)控制器及访问方法。
技术介绍
在传送领域,随着传输带宽越来越大(例如100G、200G或者400G),通讯设备中的现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)在处理多业务时、往往把多路的低带宽业务变换成统一位宽的时分信号(如640bit)。多业务对应的带宽可能随着时间变化。在不同业务处理之间进行适配的时候,需要一个FIFO queue对业务的数据进行缓存。在大位宽的场景下,可能非常消耗FIFO queue的资源。具体来说,可能非常消耗FIFOqueue对应的随机存储器(Random Access Memory, RAM)资源,查找表(Look Up Table, LUT)资源以及布线资源。一个现有的解决方案(简称方案I)如图1所示。方案I将多个大位宽的FIFO实体,包封在一起作为一个多业务通道FIFO实体来使用。在数据输入侧,进来的数据流按照业务的通道号分发到对应的FIFO实体;在数据输出侧,根据业务的通道号,从不同的FIFO实体中读取数据。上述方案I中,多业务通道FIFO queue中不同业务通道对应的RAM缓存和控制电路都不能共享,多业务通道FIFO queue所使用的RAM的大小必须按照最大业务带宽颗粒的大小来设计,当业务通道数量很多(例如>=64)时,RAM的资源耗费相当巨大,例如一个640bit位宽,80个业务通道,每业务通道最深128个单元的多业务通道FIF0,在FPGA上设计需要近400块RAM,而一片较大的FPGA上总的RAM资源也就2000多块。并且,在实际应用场景中,只有非常少数的几个业务通道会有大带宽的业务,其他业务通道都是空闲的(总的带宽不变,某些业务通道带宽大,其他的业务通道必然带宽小或者没有),这样就造成了RAM资源的浪费。另外一种解决方案(下面简述方案2)如图2所示,该方案2中,所有业务通道共享一块大的缓存,每个业务通道按照业务颗粒大小分配空间,每个业务通道的空间通过一个循环链表组织起来。每个业务通道都有自己的链表指针,每个业务通道都通过当前的读写指针进行缓存的读写操作。该方案2中所有业务通道的空间通过循环链表形式组织起来,当链表的指针发生异常错误时,会导致无法恢复的错误,可靠性较差。
技术实现思路
本专利技术实施例提供了一种多通道先进先出缓存队列控制器及多通道先进先出缓存队列访问方法,有助于减少对多个业务进行处理时,对FIFO queue的资源占用较多的问题。第一方面,提供了一种多通道FIFO queue控制器,包括:地址确定电路和控制电路;所述地址确定电路用于:根据业务的标识确定在数据缓存中的待访问的块的物理地址,所述数据缓存包含多个块,每个块包含m个存储单元,m为正整数;根据所述待访问的块的物理地址和待访问的数据在所述待访问的块内的地址,确定所述待访问的数据在所述数据缓存中的物理地址;所述控制电路用于:根据所述地址确定电路确定的所述待访问的数据在所述数据缓存中的物理地址访问所述待访问的数据。第一方面的第一种可能的实现方式中,所述地址确定电路具体用于:根据所述业务的标识,确定所述待访问的块的逻辑地址和所述待访问的数据在所述待访问的块内的地址;根据所述待访问的块的逻辑地址,以及所述待访问的块的逻辑地址与所述待访问的块的物理地址之间的映射关系,确定所述待访问的块的物理地址;根据所述待访问的块的物理地址和所述待访问的数据在所述待访问的块内的地址,确定所述待访问的数据在所述数据缓存中的物理地址。根据第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述地址确定电路具体用于:根据所述业务的标识查询逻辑地址表,获取所述待访问的数据的逻辑地址;根据所述待访问的数据的逻辑地址得到所述待访问的块的第一逻辑地址logic_blk_addr 和块内偏移地址 logic_shift_addr ;根据所述业务的标识查询首块地址表,得到所述业务占用的多个块中首个块的逻辑地址 f irst_blk_addr ;根据待访问的块的第二逻辑地址查询块地址表,得到所述待访问的块的物理地址,所述待访问的块的第二逻辑地址等于logic_blk_addr与f irst_blk_addr的和;根据所述待访问的块的物理地址和所述块内偏移地址,确定所述待访问的数据在所述数据缓存中的物理地址;其中,所述块地址表中记载所述业务的标识,以及所述业务占用的多个块的第二逻辑地址和所述业务占用的多个块的物理地址的映射关系,所述业务占用的多个块的第二逻辑地址和所述业务占用的多个块的物理地址一一对应,所述待访问的块的第二逻辑地址取值为中任一整数,所述η为所述业务占用数据缓存中的块的数量;所述首块地址表中记载所述业务的标识,以及所述业务占用的多个块中首个块的逻辑地址;所述逻辑地址表中记载所述业务的标识,以及所述待访问的数据的逻辑地址,所述待访问的数据的逻辑地址的取值为中任一整数。根据第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述地址确定电路具体用于:根据所述业务的标识查询逻辑地址表,获取所述待访问的数据的逻辑地址;根据所述待访问的数据的逻辑地址,得到所述待访问的块的逻辑地址logic_blk_addr和块内偏移地址logic_shift_addr ;根据所述业务的标识和所述待访问的块的逻辑地址logiC_blk_addr查询块重映射表,得到所述待访问的块的物理地址; 根据所述待访问的块的物理地址和所述块内偏移地址,确定所述待访问的数据在所述数据缓存中的物理地址;其中,所述逻辑地址表中记载所述业务的标识,以及所述待访问的数据的逻辑地址,所述待访问的数据的逻辑地址的取值为中任一整数;所述块重映射表中记载所述业务的标识、以及所述业务占用的多个块的逻辑地址和所述业务占用的多个块的物理地址的映射关系,所述业务占用的多个块的逻辑地址和所述业务占用的多个块的物理地址一一对应,所述待访问的块的逻辑地址取值为中的任一整数,所述η为所述业务占用数据缓存中的块的数量。根据第一方面的第二种可能的实现方式或者第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述地址确定电路还用于:在所述控制电路访问所述待访问的数据之后,使用所述业务下次访问的数据的逻辑地址替换所述逻辑地址表本文档来自技高网
...

【技术保护点】
一种多通道先进先出缓存队列FIFO?queue控制器,其特征在于,包括:地址确定电路和控制电路;所述地址确定电路用于:根据业务的标识确定在数据缓存中的待访问的块的物理地址,所述数据缓存包含多个块,每个块包含m个存储单元,m为正整数;根据所述待访问的块的物理地址和待访问的数据在所述待访问的块内的地址,确定所述待访问的数据在所述数据缓存中的物理地址;所述控制电路用于:根据所述地址确定电路确定的所述待访问的数据在所述数据缓存中的物理地址访问所述待访问的数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:郑述乾李天林区树雄
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1