分组高速缓存系统和方法技术方案

技术编号:37358899 阅读:10 留言:0更新日期:2023-04-27 07:07
本公开涉及分组高速缓存系统和方法。一种分组高速缓存系统包括:高速缓存存储器分配器,用于接收与非高速缓存存储器相对应并被分配给分组的存储器地址,并将该存储器地址与高速缓存存储器地址相关联;哈希表,用于存储存储器地址和高速缓存存储器地址,其中存储器地址作为键,并且高速缓存存储器地址作为值;高速缓存存储器,用于将分组存储在由高速缓存存储器地址指示的位置处;以及逐出引擎,用于当高速缓存存储器的占用率高时,确定要从高速缓存存储器移除并放置在非高速缓存存储器中的一个或多个经高速缓存的分组。一个或多个经高速缓存的分组。一个或多个经高速缓存的分组。

【技术实现步骤摘要】
分组高速缓存系统和方法


[0001]本公开涉及分组高速缓存系统和方法。

技术介绍

[0002]基于分组的通信系统的两个重要属性是速度和可靠性。在许多这样的系统中,分组是可以从节点发射并在节点处接收的,速度比它们可以被处理的速度更快。例如,在与专用集成电路(ASIC)的基于分组的通信中,分组可以被ASIC接收的速度比它们可以被处理的速度更快,并且分组可以被ASIC发射的速度比接收确认可以在ASIC处从所意图的接收方被接收的速度更快。因此,为了确保在节点处正确处置分组,分组需要在它们等待处理时被暂时存储。例如,由ASIC发射的分组需要被存储在ASIC处,直到接收被确认。进一步地,为了最大化节点操作的速度,无论何时有可能,暂时存储的分组应被存储在高速缓存存储器中。

技术实现思路

[0003]已认识到,即使在丢弃和拥塞的情况下,在基于分组的通信系统的节点处实现高水平的通信性能也需要对大量未完成的分组的有效的存储支持,其中每个请求可能与最大传输单元(MTU)大小一样大。鉴于对有效的分组存储支持的期望,提供了目前公开的技术。
[0004]根据目前公开的技术,分组高速缓存配置为从高速缓存存储器到非高速缓存存储器(例如,片上SRAM到片外DRAM)的溢出提供了有效的数据管理,并且向用户提供了独立于数据存储位置(例如,片上或片外)的透明接口。
[0005]在一个方面中,该技术提供了一种分组高速缓存系统,包括:高速缓存存储器分配器,用于接收与非高速缓存存储器相对应并被分配给分组的存储器地址,并将该存储器地址与高速缓存存储器地址相关联;哈希表,用于存储存储器地址和高速缓存存储器地址,其中存储器地址作为键,并且高速缓存存储器地址作为值;高速缓存存储器,用于将分组存储在由高速缓存存储器地址指示的位置处;以及逐出引擎,用于当高速缓存存储器的占用率高时,确定要从高速缓存存储器移除并放置在非高速缓存存储器中的一个或多个经高速缓存的分组。
[0006]在另一个方面中,该技术提供了一种用于将分组存储在装置的高速缓存存储器中的方法,包括:将与非高速缓存存储器相对应的存储器地址分配给分组;将存储器地址与高速缓存存储器地址相关联;将存储器地址和高速缓存存储器地址存储在哈希表中,其中存储器地址作为键,并且高速缓存存储器地址作为值;将分组存储在高速缓存存储器中由高速缓存存储器地址指示的位置处;以及当高速缓存存储器的占用率高时,确定要从高速缓存存储器移除并放置在非高速缓存存储器中的一个或多个经高速缓存的分组。
附图说明
[0007]附图不旨在按比例绘制。并且,为了清楚起见,不是每个部件都被标记在每个附图中。在附图中:
[0008]图1是根据实施例的分组高速缓存系统和分组高速缓存系统用户的框图,其中描绘了写入信息流。
[0009]图2是图1的分组高速缓存系统和分组高速缓存系统用户的框图,其中描绘了解除分配信息流。
[0010]图3是根据实施例的分组高速缓存系统、分组高速缓存系统用户和非高速缓存存储器的框图。
[0011]图4是根据实施例的分组高速缓存系统、分组高速缓存系统用户和非高速缓存存储器的框图,其中描绘了重新排序引擎实施例的元件。
[0012]图5是描述根据实施例的重新排序引擎处置用户读取请求的流程图。
具体实施方式
[0013]本文描述了系统和方法的示例。应理解,词语“示例”、“示例性的”和“说明性的”在本文中用于意指“充当示例、实例或说明”。本文中被描述为“示例”、“示例性的”或“说明”的任何实施例或特征未必被解释为比其他实施例或特征优选或有利。在下文的描述中,参考了附图,这些附图形成了该描述的一部分。在附图中,相同的附图标记通常标识相同的部件,除非上下文另有规定。可以利用其他实施例,并且可以进行其他改变,而不脱离本文呈现的主题的精神或范围。
[0014]本文所述的示例实施例并不意味着是限制性的。将容易理解,如本文大体上描述的以及附图所图示的,本公开的方面可以以各种不同的配置来布置、替换、组合、分离和设计,所有这些在本文中都是明确考虑的。
[0015]图1是根据实施例的分组高速缓存系统100和分组高速缓存系统用户110的框图,在该框图中描绘了写入信息流。当在系统中存储的分组以一个或多个固定大小的单元被处置时,系统硬件被优化,并且因此系统100是在分组被划分成被称为信元(cell)的256字节单元的上下文中被描述的。系统100基于高速缓存存储器115的占用率和其他参数而存储和管理在高速缓存存储器115(例如,片上静态随机存取存储器SRAM)与非高速缓存存储器(未示出)(例如,片外动态随机存取存储器DRAM)两者中接收的分组的信元。系统100管理信元从高速缓存存储器115到非高速缓存存储器的逐出,并且从用户110的角度来看,来自用户110的读取/写入事务被透明地处置,而不管被读取/写入的数据是在高速缓存存储器115还是非高速缓存存储器中存储。此外,在一些实施例中,系统100以64B的微片(flit)(流控制单元/流控制数字)将数据存储在高速缓存存储器115中。
[0016]分组高速缓存系统100可以包括逐出引擎120,该逐出引擎120用于基于高速缓存存储器115的占用率和分组优先级而将数据从高速缓存存储器115移动到非高速缓存存储器。逐出引擎120还可以使用高速缓存存储器115条目的年龄作为确定是否可以逐出分组的因素。逐出引擎120试图确保高速缓存存储器115具有容纳来自用户110的写入请求的空间。在逐出速度不够快而无法容纳写入请求的极少数情况下,写入请求接口将经受反压。
[0017]图1的分组高速缓存系统100具有高速缓存子系统125。高速缓存子系统125包括:高速缓存存储器分配器130,用于接收与非高速缓存存储器相对应并被分配给分组的存储器地址;以及哈希表135,用于将存储器地址和与高速缓存存储器115中的位置相对应的高速缓存存储器地址相关联。分组或分组的一部分可以被存储在高速缓存存储器115中由高
速缓存存储器地址指示的位置处。通过对存储器地址应用哈希函数,存储器地址可以经哈希处理到哈希表135中的哈希表位置,并且高速缓存存储器地址可以被存储在哈希表135中哈希表位置处。以该方式,通过将存储器地址哈希处理到哈希表135中的位置,从哈希表135中的位置记录高速缓存存储器地址,并基于所记录的地址而访问高速缓存存储器115,可以基于分组的存储器地址(例如,响应于读取请求)而从高速缓存存储器115快速搜索出分组。高速缓存子系统125内的操作可以根据有限状态机(FSM)140来被控制。
[0018]在一些实施例中,分组或信元数据的存储器地址与高速缓存存储器地址两者可以作为“键值对”被存储在哈希表135中的位置处。在哈希表135用于将多个高速缓存存储器地址存储在哈希表135的每个位置时,这样的配置促进使用存储器地址(或键)来定位期望分组的高速缓存存储器地址。
[0019]在采用256B信元和64B微片的实施例中,高速缓存存储器115本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分组高速缓存系统,包括:高速缓存存储器分配器,用于接收与非高速缓存存储器相对应并被分配给分组的存储器地址、并将所述存储器地址与高速缓存存储器地址相关联;哈希表,用于存储所述存储器地址和所述高速缓存存储器地址,其中所述存储器地址作为键,并且所述高速缓存存储器地址作为值;高速缓存存储器,用于将所述分组存储在由所述高速缓存存储器地址指示的位置处;以及逐出引擎,用于当所述高速缓存存储器的占用率高时,确定要从所述高速缓存存储器移除并放置在所述非高速缓存存储器中的一个或多个经高速缓存的分组。2.根据权利要求1所述的分组高速缓存系统,进一步包括用于将所述存储器地址指派给所述分组的存储器分配器。3.根据权利要求2所述的分组高速缓存系统,其中,所述存储器分配器可操作以将所述分组形成为一个或多个信元,当所述分组形成为一个信元时,所述一个或多个信元包括控制信元,并且当所述分组形成为多于一个信元时,所述一个或多个信元包括控制信元和一个或多个数据信元,其中所述存储器分配器将所述存储器地址指派给所述控制信元,并且将一个或多个附加存储器地址分别指派给所述一个或多个数据信元。4.根据权利要求3所述的分组高速缓存系统,其中,当所述分组形成为多于一个信元时,所述控制信元包括指向所述一个或多个附加存储器地址中的相应存储器地址的一个或多个指针。5.根据权利要求3所述的分组高速缓存系统,其中,当所述分组形成为多于一个信元时,所述高速缓存存储器分配器可操作以接收所述一个或多个附加存储器地址,并将所述一个或多个附加存储器地址与相应的一个或多个附加高速缓存存储器地址相关联。6.根据权利要求5所述的分组高速缓存系统,其中,所述哈希表可操作以存储所述一个或多个附加存储器地址和所述一个或多个附加高速缓存存储器地址,其中所述一个或多个附加存储器地址作为键,并且所述一个或多个附加高速缓存存储器地址作为相应值。7.根据权利要求5所述的分组高速缓存系统,其中,所述高速缓存存储器可操作以将所述分组的一部分存储在由所述高速缓存存储器地址指示的所述位置处,并且将所述分组的相应其他部分存储在由所述一个或多个附加高速缓存存储器地址指示的相应位置处。8.根据权利要求1所述的分组高速缓存系统,其中,所述逐出引擎包括用于存储所述高速缓存存储器中所存储的每个分组的优先级的存储器。9.根据权利要求1所述的分组高速缓存系统,其中,所述系统是集成电路的整体部分。10.根据权利要求9所述的分组高速缓存系统,其中,所述集成电路是专用集成电路(ASIC)。11.根据权利要求9所述的分组高速缓存系统,其中,所述高速缓存存储器是所述集成电路的整体部分,并且所述非高速缓存存储器在所述集成电路外部。12.根据权利要求11所述的分组高速缓存系统,其中,所述高速缓存存储器是静态随机存取存储器(SRAM),...

【专利技术属性】
技术研发人员:郑家珍斯里尼瓦斯
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

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

1