【技术实现步骤摘要】
本专利技术涉及一种分组处理系统。更特别地,本专利技术涉及优化分组处理系统中的分组缓冲器空间。
技术介绍
分组处理设备(如交换机微芯片)经常需要在该设备处理分组时将它们缓冲到具有一个或多个库(bank)的分组存储器(PM)中。用以将分组存储在设备的分组存储器中的当前解决方案是向每个分组指配分组存储器的多个区块(chunk,称为页面),而不是单个大区块。利用这种方案,分组没有连续地被存储在分组存储器的库中,而是被分散在一个或多个页面中,该一个或多个页面一起形成页面的链表,该链表贯穿分组存储器的多个库进行映射。进一步地,多个这些库(和映射到它们的页面)能够逻辑地被归组到(库和相关联的页面的)池中。因此,特定分组在分组缓冲器中使用的所有页面的链表需要被维持在交换机中(在缓冲器管理器或BM中);这一链表在分组从分组缓冲器中被读取出以用于传输时被遍历。每个页面关联了状态,该状态包含与页面有关的一些信息。分组处理器设备中的所有页面的状态被维持在交换机中。分组关联了描述符或标记(token),该描述符或标记除了其他字段之外还包含指向第一页面的指针。利用这一起始指针,通过对利用不同页面状态的下一页面指针所构建的链表进行遍历,由分组所使用的所有页面能够按照它们被用来存储传入分组的相同顺序被取回。作为结果,特定分组使用的所有页面(并且因此,库)的链表被维持在交换机中,并且然后被遍历以从分组存储器定位和读取出分组来用于传输。在这些基于页面的分组处理设备中,被浪费的分组存储器与缓冲器管理器上所施加的带宽需求之间存在折中。页面中的每个页面的大小越大,用以读取和写入分组数据所需要的访 ...
【技术保护点】
一种在分组处理设备上的分组处理系统,所述系统包括:包括多个物理存储器单元的非瞬态计算机可读分组存储器,所述多个物理存储器单元逻辑地被划分为多个页面,从而所述页面中的每个页面定义所述物理存储器单元的分离部分;以及至少部分地被存储在非瞬态计算机可读缓冲器存储器上的缓冲器逻辑,其中所述缓冲器逻辑被配置为:分配所述页面中的一个页面来存储多个分组中的第一分组的分组数据;以及如果所述页面中的所述一个页面被确定为未充分被所述第一分组的分组数据占用,则分配所述页面中的所述一个页面的未占用的剩余部分的至少一分部分来存储所述多个分组中的一个或多个另外分组的分组数据,以使得所述页面中的所述一个页面被分配给所述多个分组中的两个或更多分组。
【技术特征摘要】
2015.03.30 US 14/673,8131.一种在分组处理设备上的分组处理系统,所述系统包括:包括多个物理存储器单元的非瞬态计算机可读分组存储器,所述多个物理存储器单元逻辑地被划分为多个页面,从而所述页面中的每个页面定义所述物理存储器单元的分离部分;以及至少部分地被存储在非瞬态计算机可读缓冲器存储器上的缓冲器逻辑,其中所述缓冲器逻辑被配置为:分配所述页面中的一个页面来存储多个分组中的第一分组的分组数据;以及如果所述页面中的所述一个页面被确定为未充分被所述第一分组的分组数据占用,则分配所述页面中的所述一个页面的未占用的剩余部分的至少一分部分来存储所述多个分组中的一个或多个另外分组的分组数据,以使得所述页面中的所述一个页面被分配给所述多个分组中的两个或更多分组。2.根据权利要求1所述的系统,其中所述页面中的每个页面包括多个分段,并且如果所述未占用的剩余部分包括所述页面中的所述一个页面的分段中的至少一个分段,则缓冲器存储器逻辑确定所述页面中的所述一个页面未充分被占用。3.根据权利要求2所述的系统,其中所述缓冲器存储器包括用于所述页面中的每个页面的参考计数值,所述参考计数值指示所述多个分组中的多少分组使用所述页面,并且另外其中所述缓冲器逻辑被配置为,一旦所述页面中的所述一个页面已经被分配来存储所述第一分组的分组数据,如果所述页面中的所述一个页面在存储所述第一分组的分组数据之后被确定为未充分被占用,就将所述页面中的所述一个页面的所述参考计数值设置为大于一的整数。4.根据权利要求3所述的系统,其中大于一的所述整数是二。5.根据权利要求4所述的系统,其中针对所述多个分组中的其分组数据被分配给所述页面中的所述一个页面的每个分组,所述缓冲器逻辑被配置为,如果所述页面中的所述一个页面在存储所述分组的分组数据之后被确定为未充分被占用,则使所述页面中的所述一个页面的所述参考计数值递增一。6.根据权利要求5所述的系统,其中针对所述多个分组中的其分组数据被分配给所述页面中的所述一个页面的每个分组,所述缓冲器逻辑被配置为,如果所述页面中的所述一个页面在存储所述分组的分组数据之后被确定为不再是未充分被占用,则避免使所述页面中的所述一个页面的所述参考计数值递增一。7.根据权利要求6所述的系统,其中所述缓冲器存储器存储用于所述页面中的每个页面的状态数据,其中所述页面中的每个页面的所述状态数据包括用于所述页面的分段中的每个分段的单独状态值。8.根据权利要求7所述的系统,其中用于分段中的每个分段的所述状态值包括如下组中的一项或多项,所述组包括:所使用数据计数值,指示所述分段的多少当前正存储有数据;分组起始值,指示所述分组中的一个分组的起始是否被存储在所述分段中;以及分组末尾值,指示所述分组中的一个分组的末尾是否被存储在所述分段中。9.根据权利要求8所述的系统,其中所述缓冲器逻辑被配置为生成用于所述页面中的一个或多个页面上所存储的所述分组中的每个分组的描述符,其中所述描述符包括页面指示符和分段指示符,所述页面指示符指示所述分组的起始被存储在所述页面中的哪个页面上,所述分段指示符指示所述分组的起始被存储在所指示的页面的分段中的哪个分段上。10.根据权利要求9所述的系统,其中针对所述分组中的每个分组,在将所述分组的末尾存储在所述页面中的页面的分段中的一个分段上之后,所述缓冲器逻辑保留所述页面的邻近后续分段中的一个或多个分段作为保留分段,所述保留分段仅能够在所述分组的数据的大小增加时存储来自所述分组的数据。11.根据权利要求10所述的系统,其中在确定所述页面中的所述一个页面是否未充分被占用时,所述缓冲器逻辑将所述保留分段考虑为被占用,以使得所述保留分段不是所述未占用的剩余部分的一部分。12.一种被存储在非瞬态计算机可读缓冲器存储器上的缓冲器逻辑单元,其中所述缓冲器逻辑被配置为:分配多个页面中的一个页面来存储多个分组中的第一分组的分组数据;以及如果所述页面中的所述一个页面被确定为未充分被所述第一分组的分组数据占用,则分配所述页面中的所述一个页面的未占用的剩余部分的至少一分部分来存储所述多个分组中的一个或多个另外分组的分组数据,以使得所述页面中的所述一个页面被分配给所述多个分组中的两个或更多分组,其中所述多个页面中的每个页面包括多个分段并且定义多个物理存储器单元的分离部分。13.根据权利要求12所述的缓冲器逻辑单元,其中所述页面中的每个页面包括多个分段,并且如果所述未占用的剩余部分包括所述页面中的所述一个页面的分段中的至少一个分段,则所述缓冲器存储器逻辑确定所述页面中的所述一个页面未充分被占用。14.根据权利要求13所述的缓冲器逻辑单元,其中所述缓冲器存储器包括用于所述页面中的每个页面的参考计数值,所述参考计数值指示所述多个分组中的多少分组使用所述页面,并且另外其中所述缓冲器逻辑被配置为,一旦所述页面中的所述一个页面已经被分配来存储所述第一分组的分组数据,如果所述页面中的所述一个页面在存储所述第一分组的分组数据之后被确定为未充分被占用,就将所述页面中的所述一个页面的所述参考计数值设置为大于一的整数。15.根据权利要求14所述的缓冲器逻辑单元,其中大于一的所述整数是二。16.根据权利要求15所述的缓冲器逻辑单元,其中针对所述多个分组中的其分组数据被分配给所述页面中的所述一个页面的每个分组,所述缓冲器逻辑被配置为,如果所述页面中的所述一个页面在存储所述分组的分组数据之后被确定为未充分被占用,则使所述页面中的所述一个页面的所述参考计数值递增一。17.根据权利要求16所述的缓冲器逻辑单元,其中针对所述多个分组中的其分组数据被分配给所述页面中的所述一个页面的每个分组,所述缓冲器逻辑被配置为,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。