一种基于多级流水线的Bank读写均衡调度方法、芯片及网卡与流程

摘要: 本发明涉及bank读写均衡调度,特别是涉及一种基于多级流水线的bank读写均衡调度方法、芯片及网卡。背景技术:1、在多核处理器或大容量存储系统的硬件设计中,为提...
一种基于多级流水线的Bank读写均衡调度方法、芯片及网卡与流程

本发明涉及bank读写均衡调度,特别是涉及一种基于多级流水线的bank读写均衡调度方法、芯片及网卡。

背景技术:

1、在多核处理器或大容量存储系统的硬件设计中,为提升数据并发访问能力,通常会将物理存储资源划分为多个独立的存储体(bank),以支持多路读写请求并行执行。然而,受限于物理单端口器件的固有特性,同一bank在同一时钟周期内无法同时执行读操作和写操作。当系统中有多组并发访问请求同时发起时,极大概率会出现多个读写请求同时命中同一bank,进而引发严重的bank冲突。这种物理上的硬件约束不仅会导致多路访问被迫串行化,引发流水线停顿和访问延迟,还会造成数据竞争风险。

2、现有缓解该问题的常规技术通常采用静态分区隔离或多轮独立轮询调度,前者会导致bank资源利用率的灵活性极差,极易造成局部bank空闲而其他bank拥塞;后者则由于缺乏并发的多请求间层级互斥保障机制,往往需要通过额外的对比控制逻辑来避免bank重叠,从而加剧了硬件时序收敛的难度。因此,如何基于多级流水线架构,根据各bank实时的动态空闲状态实现智能分级,并兼顾并发请求的优先级分配与物理约束规避,提升整体存储体的资源利用率和系统的高并发承载能力,是当前存储系统高性能调度方案亟待解决的技术问题。

技术实现思路

1、针对上述技术问题,本发明采用的技术方案为:

2、根据本申请的第一方面,提供了一种基于多级流水线的bank读写均衡调度方法,包括以下步骤:

3、s100,根据每一bank的实时空闲内存深度,将n个bank划分为高、中、低三个互斥的优先级等级;任意两个等级bank编号集合的交集为空且各等级bank编号集合的并集为全部n个bank;

4、s200,在流水线的第一时间节拍中,将各bank的当前空闲内存深度与系统预配置的高、中、低三级阈值进行比对,并根据比对结果预处理生成对应各优先级等级的第一级选择掩码;

5、s300,在流水线的第二时间节拍中,针对当前批次内同时到达的m个并行写请求,基于所述第一级选择掩码,采用逐级剔除已选bank标识的多级串联选择逻辑进行串行分配,使得当前批次内的m个请求所选bank号互不重叠;

6、s400,在流水线的第三时间节拍中,将高、中、低三个等级经串联选择后所得的有效bank结果进行逻辑聚合,统一输出对应各优先级等级的最终选择掩码;其中,在进行实际写操作分配时,高等级优先于中等级、中等级优先于低等级,当前周期所选择的bank号在物理上不与上一周期已选bank号相邻;

7、s500,当高等级有效bank资源不足以满足当前批次的m个写请求需求时,将剩余需求顺次递延至中等级进行仲裁选择;若中等级有效bank资源仍不足以满足剩余需求,则将剩余需求继续递延至低等级进行仲裁选择,直至当前批次的m个写请求全部完成分配或所有等级的有效bank资源全部耗尽,以维持整体bank资源分配的负载均衡性。

8、根据本申请的另一方面,还提供了一种芯片,包括片内缓存调度电路;所述片内缓存调度电路用于执行如第一方面所述的基于多级流水线的bank读写均衡调度方法,以对所述芯片内部的物理存储体进行读写访问的仲裁与分配。

9、根据本申请的另一方面,还提供了一种网卡,包括高速数据包缓存模块以及与所述高速数据包缓存模块连接的缓存读写控制电路;所述缓存读写控制电路被配置为执行如第一方面所述的基于多级流水线的bank读写均衡调度方法,以对所述高速数据包缓存模块内的多个物理bank进行并发写请求的分配调度。

10、本发明至少具有以下有益效果:

11、本发明的基于多级流水线的bank读写均衡调度方法,首先,通过根据每一bank的实时空闲内存深度动态划分为高、中、低三个互斥优先级等级,并利用流水线第一时间节拍的并行阈值比对和第一级选择掩码生成,实现了对系统空闲存储资源的精准感知与高效预分类;其次,在流水线的第二时间节拍中,针对同时到达的m个并行写请求,采用逐级剔除已选bank标识的多级串联选择逻辑进行串行分配,从物理分配的源头出发,强制确保当前处理批次内m个请求所选bank号绝对互不重叠,从根本上规避了因多个请求命中同一bank引发的端口冲突和流水线阻塞问题;此外,通过流水线第三时间节拍对各级结果的逻辑聚合、严格遵循高等级优先于中低等级的逐级分配原则,并结合当前bank号与上一周期bank号物理不相邻的约束限制,有效兼顾了负载均衡性与物理布局适配性;最后,当面临高等级有效bank资源不足以满足当前批次需求的高负载工况时,通过将剩余请求顺次递延至中等级乃至低等级进行兜底仲裁,实现了基于系统真实负载状态的弹性阶梯分配策略。该机制无需额外的资源池物理融合逻辑,在保证各等级物理隔离的前提下,显著提升了整体存储体在极端高并发压力下的资源利用率,有效防止了因高优先级资源耗尽而导致后续请求堆积的死锁现象,显著提升了整体存储体的资源利用率和系统的高并发承载能力。

1.一种基于多级流水线的bank读写均衡调度方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,步骤s100中,n的取值为16;高、中、低三个等级的bank数量随内存空间使用占比动态调整。

3.根据权利要求1所述的方法,其特征在于,所述第一时间节拍、第二时间节拍及第三时间节拍之间,通过在各级流水线节点上设置的同步时钟寄存器进行数据打拍同步,将上一个时间节拍输出的选择掩码和分配状态在下一个时钟上升沿稳定传递至下一级处理电路,形成闭环的三级硬件流水线结构。

4.根据权利要求1所述的方法,其特征在于,步骤s300中多级串联选择逻辑的硬件实现方式为:通过由m级rr轮询仲裁单元与m级掩码处理单元依次交错串联构成的硬件微流水线进行执行;多级串联选择逻辑包括:

5.根据权利要求1所述的方法,其特征在于,步骤s500通过高等级仲裁微流水线、中等级仲裁微流水线和低等级仲裁微流水线之间的硬件数据通路级联实现,包括:

6.根据权利要求1所述的方法,其特征在于,步骤s200中的第一级选择掩码、步骤s300中各级串联选择所生成的中间掩码以及s400中的最终选择掩码,均采用16位的bitmap位图结构进行数据传递;利用该bitmap位图各比特位天然互斥的硬件特性,结合步骤s300中逐级剔除的逻辑,从硬件物理分配源头强制隔离当前批次的m个写请求所选择的bank编号,确保没有任何两个bank编号重合。

7.根据权利要求6所述的方法,其特征在于,步骤s400中当前周期所选择的bank号在物理上不与上一周期已选bank号相邻的约束条件,通过位图屏蔽操作实现,包括:

8.根据权利要求1所述的方法,其特征在于,实现所述基于多级流水线的bank读写均衡调度方法的硬件电路包括:

9.一种芯片,其特征在于,包括片内缓存调度电路;所述片内缓存调度电路用于执行如权利要求1至8中任一项所述的基于多级流水线的bank读写均衡调度方法,以对所述芯片内部的物理存储体进行读写访问的仲裁与分配。

10.一种网卡,其特征在于,包括高速数据包缓存模块以及与所述高速数据包缓存模块连接的缓存读写控制电路;所述缓存读写控制电路被配置为执行如权利要求1至8中任一项所述的基于多级流水线的bank读写均衡调度方法,以对所述高速数据包缓存模块内的多个物理bank进行并发写请求的分配调度。