CN114356418A - 一种智能表项控制器及控制方法 - Google Patents

一种智能表项控制器及控制方法 Download PDF

Info

Publication number
CN114356418A
CN114356418A CN202210228898.2A CN202210228898A CN114356418A CN 114356418 A CN114356418 A CN 114356418A CN 202210228898 A CN202210228898 A CN 202210228898A CN 114356418 A CN114356418 A CN 114356418A
Authority
CN
China
Prior art keywords
table entry
table item
entry
space
item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210228898.2A
Other languages
English (en)
Other versions
CN114356418B (zh
Inventor
曹建业
李合元
叶韬
牛广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202210228898.2A priority Critical patent/CN114356418B/zh
Publication of CN114356418A publication Critical patent/CN114356418A/zh
Application granted granted Critical
Publication of CN114356418B publication Critical patent/CN114356418B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种智能表项控制器及控制方法,以表项操作指令的方式,基于表项的优先级、老化时间、表项内容以及表项更新、删除和查询的操作属性,硬件实现了对表项更新、删除和查询等操作的智能控制,包括对表项存储地址的自动计算、老化表项的自动删除、表项存储空间的智能优化等处理,均实现了智能化控制,实现方法简单、高效、灵活。对表项控制实时性要求较高的应用领域,尤其涉及到大规模的表项下发、表项动态老化时,较基于CPU软件实现的传统表项控制器,在表项更新速率、表项生效时延、表项存储空间利用率等方面均有很大优势。

Description

一种智能表项控制器及控制方法
技术领域
本发明属于表项存储和控制领域,具体是一种智能表项控制器及控制方法。
背景技术
传统的表项控制器主要通过CPU上层软件对流表项进行配置、查询、删除等基础操作来实现的,然而随着对流表项容量和匹配性能需求的增加,以及匹配方式灵活多样化的需求,使得流表项的控制和管理变得越来越复杂,甚至对于一些实时性要求较高的流表应用类的控制需求,传统的基于CPU软件的控制方式很难满足要求。大规模表项更新时,软件需要基于表项的优先级进行表项存储空间的划分,表项存储空间压缩和搬移操作以及表项的查询操作等都极其耗时,实时性不高,尽管基于软件也提出了很多优化算法,但面对大批量的表项操作,实时性很差,甚至满足不了应用需求。
普通表项控制器针对多种优先级表项混合配置的应用场景,多采用固定分割表项存储空间的方式,实现了对表项存储空间的静态隔离和独立维护。该种表项控制器表项空间利用率不高。
普通表项控制器针对不同优先级的表项存储空间的容量发生变化时,大多是以更改配置参数的形式重新划分表项的存储空间。该种表项控制器实时性较差。
普通表项控制器针对大规模的混合优先级的表项配置空间局部溢出时,大多采用对表项存储空间暴力搬移的方式来实现存储空间的优化调整。该种表项控制器无法感知数据面的查表闲忙状态,只能根据控制面的管理需求主动式调整表项局部存储空间,大大影响数据的查表性能。
普通表项控制器针对大规模的表项动态老化时存储空间回收再分配的需求,大多采用主动轮询的方式去监控表项存储空间的状态,以主动的方式对表项存储空间进行释放和迁移,不仅效率低时延大,也同样会对数据面的表项匹配造成性能上的影响。这种实现方式的控制器虽然理论上做到了存储空间利用率的最大化,但是操作实时性很差,对实时性要求高的场景无能为力。
此外,传统流表项存储方式需要用户自己划分表项存储空间并计算和维护表项的存储地址,当面临大规模的表项下发、删除或查询操作时,传统方式下依靠CPU软件对表项进行逐条处理,不仅效率不高,而且实时性很差,尤其涉及到大规模的表项动态老化时,需要用户自己设计复杂的表项存储空间回收再分配机制,不仅操作复杂、使用不方便,而且受限于软件自身的处理速度瓶颈,表项的下发、删除和查询等操作实时性很差,严重者甚至无法满足应用需求。
发明内容
为了解决传统表项控制器表项更新速度缓慢、表项存储空间利用率低、表项更新实时性差、不同优先级表项同时老化造成的表项维护困难等技术问题,本发明提供了一种智能表项控制器及控制方法,具体技术方案如下:
一种智能表项控制器,包括表项指令接口功能单元、表项预处理功能单元、表项处理功能单元组和存储器访问调度单元,用于解析表项指令以及录入和导出表项数据内容,
所述表项指令接口功能单元用于表项基础操作指令的批量采集、表项操作结果的批量输出、控制器初始化参数的配置以及表项操作指令和操作结果的缓存处理;
所述表项预处理功能单元用于表项的分类处理,按照优先级的大小对表项操作指令进行分类,并将不同优先级的表项操作指令送给表项处理功能单元组的表项处理功能单元进行处理;
所述表项处理功能单元组用于单一优先级的表项处理,包括表项的存储、老化、查询操作和本级存储空间内的表项老化空间的回收以及本级存储空间与上下级存储空间之间的空间借用转移操作;
所述存储器访问调度单元用于不同优先级之间以及相同优先级不同操作指令之间对表项存储匹配单元的访问控制操作。
进一步的,所述表项指令接口功能单元由表项操作指令的DMA输入接口、表项查询结果的DMA输出接口、控制器初始化的控制接口和表项指令缓存区构成。
进一步的,所述表项处理功能单元组由多个表项处理功能单元组成,每个表项处理功能单元由表项缓存区控制单元、表项操作码处理单元、表项更新预处理单元、表项更新控制单元、表项空间压缩控制单元、表项老化控制单元、表项查询控制单元和表项删除控制单元组成。
一种智能表项控制方法,包括如下步骤:根据初始化参数对表项存储空间进行初始化分割,通过初始化参数控制不同优先级空间分割的加权系数;获取表项操作指令,获取的表项操作指令暂存于表项操作指令缓冲区内,从表项操作指令缓存区逐条取出表项操作指令进行解析,根据解析出的优先级信息将表项操作指令分发至不同的表项处理功能单元进行处理。该技术方案实现基于空间占比权重的表项存储子空间的初始化。
进一步的,具体包括如下步骤:
步骤1、通过初始化参数设定不同优先级空间分割的加权系数,对表项存储空间进行初始化分割;
步骤2、根据指令操作码判断进行表项录入操作或表项导出操作,再判断执行DMA模式或非DMA模式;
步骤3、计算存储空间初始化参数并对表项指令分类处理;
步骤4、根据优先级信息将表项操作指令分发至不同的表项处理功能单元进行相应的处理;
步骤5、对表项存储匹配单元访问调度处理。
进一步的,步骤1具体如下:
先检测控制器初始化的控制接口是否有参数输入,通过DMA输入接口接收表项存储空间的大小参数、各子空间初始化分割加权系数和控制器初始化启动指令;通过初始化分割加权系数设定每个子空间相对整个表项存储空间的占比的大小,对表项存储匹配空间进行预判分割。该技术方案实现表项存储子空间内存储地址的自动生成。
进一步的,步骤2具体如下:
所述表项录入操作对应表项的更新操作,所述表项导出操作对应表项的查询操作:若操作指令属于DMA录入模式,则直接以主动读取的方式批量获取表项指令,若操作指令属于非DMA录入模式,则以被动方式逐条接收表项指令;若操作指令属于DMA导出模式,则直接以主动的方式批量输出表项内容;若操作指令属于非DMA导出模式,则以被动方式输出表项查询结果。该技术方案实现表项数据的DMA批量下发。
进一步的,步骤3中,所述参数包括三类输入参数和一类输出参数,输入参数为存储空间参数、分割加权系数集参数、启动计算参数,输出参数是空间分割参数。
进一步的,步骤4具体如下:
步骤4-1:控制用户下发的表项指令缓冲区和用户查询的表项内容缓冲区;
步骤4-2:对表项操作指令的解析,分别送往表项更新控制单元、表项查询控制单元和表项删除控制单元;
步骤4-3:对表项地址空间的表项更新状态和多级表项存储空间之间的表项空间借用状态进行维护;
步骤4-4:计算表项存储空间地址,并向表项存储匹配单元中写入表项数据;
步骤4-5:对存储器内所有表项进行有效性查询、表项搬移以完成空间压缩,空间压缩分为主动压缩和被动压缩;
步骤4-6:对表项存储匹配单元内所有表项进行有效性查询、老化判断和老化删除;
步骤4-7:对表项进行查询操作;
步骤4-8:对表项进行删除操作。
该技术方案实现表项存储子空间边界的智能化动态调整;表项存储子空间的压缩自动化;并行搜索式表项查询;表项更新、查询和匹配操作之间的硬件仲裁;表项操作指令的硬件级执行。
进一步的,所述步骤4-3中多级表项存储空间之间的表项空间借用状态通过如下方式维护:
包括两种处理方式:向下一级处理单元借入存储空间,首先判断本级存储空间余量是否达到预警,如达到预警条件,则开始向下一级处理单元借用存储空间;
向上一级处理单元借出存储空间,当检测到来自上一级的空间借用请求后,立即判断本级存储空间余量是否达到借用条件,如达到借用条件,则计算出可以借用的存储空间余量delta,同时启动本级里的空间压缩控制单元按照空间余量进行压缩,对本级存储空间中的表项进行存储空间搬移,待搬移完成后,则立即将本级的状态寄存器A的值更新为A+delta,向上一级处理单元产生空间借用应答,表示完成了空间借用;若达不到借用条件,则执行第一类处理,即向下一级处理单元传递空间借用请求。该技术方案实现表项存储子空间的实时压缩,表项存储子空间边界的硬件级实时调整。当高优先级表项的存储空间不足而低优先级表项的存储空间仍有余量时,硬件智能表项控制器将自动进行表项存储空间的智能化搬移,自动压缩低优先级表项的存储空间,并将压缩释放出来的存储空间合并到高优先级表项的存储空间里,进而实现表项存储空间的自动优化和智能化控制。
本发明的智能表项控制器及控制方法,通过DMA接口高效接收表项操作指令,进行表项指令解析和执行,采用指令判决,利用硬件并行化处理的速度优势,实现了对表项存储空间的自动快速压缩和高效智能调整。无需花时间和精力去设计复杂的表项存储、维护的算法和机制,也不用注意表项的具体存储地址,只需关注具体的表项内容和表项的操作类型,即操作指令码即可,硬件控制器会根据单条表项的内容以及对应的操作指令码自动计算表项的存储地址和优化表项的存储空间,实现表项存储和维护的智能化控制。当用户有大批量的表项下发和删除操作需求时,控制器支持以DMA的方式获取操作指令和操作数据,用户只需告知控制器表项操作数据的DMA基地址和长度,控制器将以DMA的方式自动获取表项操作数据,不仅极大的提升了表项数据的传输效率,还提升了表项下发的实时性。
表项存储空间利用率很高,表项的配置和查询实时性极好,操作方便使用简单。实现了表项的高效智能化存储,表项高实时性的配置和查询等智能化维护。
附图说明
图1是本发明的智能表项控制器的总体架构图;
图2是表项指令接口功能单元的组成图;
图3是表项处理功能单元组操作架构图;
图4是不同表项处理功能单元存储空间借用和压缩流程图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明的智能表项控制器实现基于优先级和生存时间的表项高效、实时、智能化管理,包括表项基于优先级的智能存储、基于生存时间的实时老化以及基于内容的实时、高效查询等控制功能。
如图1所示,本发明的智能表项控制器包括表项指令接口功能单元1、表项预处理功能单元2、表项处理功能单元组3和存储器访问调度单元4。主要完成解析表项指令以及录入和导出表项数据内容的处理。表项指令由指令操作码、表项数据内容和表项操作码三部分组成。指令操作码主要用于区分表项录入、表项导出、DMA模式和非DMA模式等操作类别,表项数据内容是具体操作的表项数据,表项操作码用于指示对应操作表项的类型以及表项的操作属性是添加、删除还是查询等操作。表项录入和导出均支持两种操作模式:DMA模式和非DMA模式。DMA模式适用于大批量表项的录入和导出需求,非DMA模式适用于单条或小批量表项的录入和导出需求。
如图2所示,所述表项指令接口功能单元1由表项操作指令的DMA输入接口1-1、表项查询结果的DMA输出接口1-2、控制器初始化的控制接口1-3和表项指令缓存区1-4构成,主要完成表项基础操作指令的批量采集、表项操作结果的批量输出、控制器初始化参数的配置以及表项操作指令和操作结果的缓存处理等操作。
所述表项预处理功能单元2主要完成表项的分类处理,按照优先级的大小对表项操作指令进行分类,并将不同优先级的表项操作指令送给不同的表项处理功能单元进行处理。
如图3所示,所述表项处理功能单元组3由表项处理功能单元组成。每个表项处理功能单元由表项缓存区控制单元3-1、表项操作码处理单元3-2、表项更新预处理单元3-3、表项更新控制单元3-4、表项空间压缩控制单元3-5、表项老化控制单元3-6、表项查询控制单元3-7和表项删除控制单元3-8等控制和处理单元组成,主要完成单一优先级的表项处理,包括表项的存储、老化、查询等操作和本级存储空间内的表项老化空间的回收以及本级存储空间与上下级存储空间之间的空间借用转移等操作。
所述存储器访问调度单元4主要完成不同优先级之间以及相同优先级不同操作指令之间对表项存储匹配单元的访问控制操作。
本发明的智能表项控制器以DMA的方式获取表项操作指令,获取的表项操作指令暂存于表项操作指令缓冲区内,所述表项预处理功能单元2从表项操作指令缓存区逐条取出表项操作指令进行解析,根据解析出的优先级信息将表项操作指令分发至不同的表项处理功能单元进行处理。在表项存储方面,智能表项控制器在开始执行操作指令之前,首先根据控制器的初始化参数对控制器下控制的整个表项存储空间进行初始化分割,通过初始化参数控制不同优先级空间分割的加权系数,为不同优先级的表项分割出初始的独立存储子空间,每个独立存储子空间的大小取决于用户设置的初始化参数,即加权系数。
本发明的智能表项控制方法,具体步骤如下:
步骤1、通过初始化参数设定不同优先级空间分割的加权系数,对表项存储空间进行初始化分割。
在开始正常工作之前,控制器先检测控制器初始化的控制接口1-3是否有参数输入,控制器通过该DMA输入接口1-1接收其所控制的整个表项存储空间的大小参数、各子空间初始化分割加权系数和控制器初始化启动指令。用户通过初始化分割加权系数可以设定每个子空间相对整个表项存储空间的占比的大小,该加权系数仅代表用户对表项存储匹配空间的一个初始的预判分割,待控制器正常工作之后,将根据表项处理功能单元中的处理机制,对个子空间的大小进行智能化调整。
步骤2、根据指令操作码判断进行表项录入操作或表项导出操作,再判断执行DMA模式或非DMA模式。
表项指令接口功能单元1先根据指令操作码判断本条指令是属于表项录入操作还是表项导出操作,然后再判断是执行DMA模式还是非DMA模式。表项录入操作对应表项的更新操作,表项导出操作对应表项的查询操作。如果指令属于DMA录入模式,则根据DMA参数(DMA地址、DMA长度),通过DMA输入接口1-1,直接以主动读取的方式批量获取表项指令;如果指令属于非DMA录入模式,则还是通过DMA输入接口1-1以被动方式,逐条接收表项指令,将指令先存入指令缓冲区1-4中,在对指令逐条进行处理;如果指令属于DMA导出模式,则根据DMA参数(DMA地址、DMA长度)通过DMA输出接口1-3直接以主动的方式批量输出表项内容;如果指令属于非DMA导出模式,则还是通过DMA输出接口1-3以被动方式输出表项查询结果。
步骤3、计算存储空间初始化参数并对表项指令分类处理。
表项预处理功能单元主要完成存储空间初始化参数的计算和表项指令的分类处理。初始化参数计算涉及到四类参数:三类输入参数和一类输出参数。输入参数主要是初始化控制参数,第一类是“存储空间参数”,第二类是“分割加权系数集参数”,第三类是“启动计算参数”。输出参数主要是空间分割参数,是包含一组参数的参数集,参数的个数与表项处理功能单元组3内表项处理功能单元的个数一一对应。表项预处理功能单元根据第一类参数可以获得控制器所控制的整个表项空间的大小,根据第二类参数可以获取个每个子空间的占比系数,通过前两类参数可以计算出第四类参数,即每个表项处理功能单元所控制的表项缓存空间的基地址和边界地址等参数。表项指令的分类处理主要是根据步骤2中接收到的表项指令中的表项操作码的类型属性对表项进行分类,比如将表项指令按照优先级先进行分类,然后送给步骤4中不同的表项处理功能单元。
步骤4:根据优先级信息将表项操作指令分发至不同的表项处理功能单元进行相应的处理。
表项处理功能单元组3由具备不同优先级属性的表项处理功能单元组成。不同表项处理功能单元之间是按照优先级的顺序从高到低链式排列的。表项指令优先级的高低代表了对存储空间占用的优先顺序,高优先级的表项享有存储空间的优先使用权,尤其是当高优先级表项对应存储空间不足时,可以挤占和借用低优先级的表项存储空间。每个表项处理功能单元主要完成表项缓冲区控制、表项操作码解析、表项更新预处理、表项更新控制、表项查询控制、表项删除控制、表项存储空间压缩控制等功能。
步骤4-1:表项缓冲区控制单元3-1主要实现单一优先级的表项缓存区的控制功能,该表项缓冲区控制单元3-1控制两类缓冲区:用户下发的表项指令缓冲区(A类缓冲区)和用户查询的表项内容缓冲区(B类缓冲区)。A类缓冲区用于临时存储表项指令接口功能单元1以DMA方式获取的单一优先级类型的表项指令信息,表项指令信息包括表项内容和表项操作码两类信息。B类缓冲区用于临时存储查询出来需要上报的表项数据内容。
步骤4-2:表项操作码处理单元3-2主要完成表项操作指令的解析,解析出来的表项操作指令有3类:表项更新操作、表项查询操作和表项删除操作,分别送往表项更新控制单元3-4、表项查询控制单元3-7和表项删除控制单元3-8。
步骤4-3:表项更新预处理单元3-3主要完成表项地址空间的表项更新状态维护和多级表项存储空间之间的表项空间借用状态维护等处理操作。表项更新状态维护主要涉及3个状态寄存器的维护和更新操作:表项存储空间基地址寄存器A、表项数量寄存器B、存储空间边界寄存器C。寄存器A的值代表了本类存储空间的起始地址,寄存器B的值代表了本类存储空间内已经存在的表项数目,寄存器C的值代表了本类存储空间上限边界。控制器初始化时将根据优先级的大小和权重为每类表项存储空间设置一个初始基地址和边界地址,对于最高优先级的表项存储空间,寄存器A的值是始终固定的,寄存器B和C的值是动态变化的。对于其他优先级的表项存储空间,寄存器A、B、C的值都是动态变化的。表项更新预处理单元3-3中触发寄存器A值更新的条件有两类,第一类触发条件是控制器初始化,寄存器的值来自步骤3中计算的初始分割参数;第二类触发条件是表项处理功能单元组内不同表项处理功能单元之间发生空间借用操作;表项空间借用状态维护主要完成对本级有效存储空间状态的实时更新、检测以及对上下级有效存储空间状态的实时检测。如图4所示,状态检测的具体处理分为两类,第一类处理是向下一级处理单元借入存储空间,第二类处理是向上一级处理单元借出存储空间。借入存储空间的处理流程是,首先判断本级存储空间余量是否达到预警,如达到预警条件,则开始向下一级处理单元借用存储空间。比如通过对寄存器B和C的差值进行判断,当差值小于等于设定的阈值时,表示存储空间余量达到告警值,就开始向下一级表项更新预处理单元产生表项空间借用请求,当接收到来自下一级表项更新预处理单元给出的借用响应后,根据下一级给出的空间借用量,立即更新寄存器C的状态,意味着本级存储空间扩容完成。第二类处理是向上一级处理单元借出存储空间,具体处理流程是,当检测到来自上一级的空间借用请求后,立即判断本级存储空间余量是否达到借用条件,如达到借用条件,则计算出可以借用的存储空间余量delta,同时启动本级里的空间压缩控制单元按照空间余量进行压缩,压缩的方式就是对本级存储空间中的表项进行存储空间搬移,待搬移完成后,则立即将本级的状态寄存器A的值更新为A+delta,然后向上一级处理单元产生空间借用应答,表示完成了空间借用。如果达不到借用条件,则执行第一类处理,即向下一级处理单元传递空间借用请求。
步骤4-4:表项更新控制单元3-4主要完成表项存储空间地址的计算功能,并向表项存储匹配单元中写入表项数据。表项存储匹配单元是本控制器的控制目标,可以是TCAM、CAM或其他类似器件,这里提到它的目的是为了较直观的展示控制器的逻辑层次关系,本发明中统一称它们为表项存储匹配单元。本功能单元在拿到表项更新的指令后,将根据步骤3-3中寄存器A和B的值,自动计算当前表项的存储地址ADDR=A+B。同时向存储器访问调度单元4产生访问请求,待获取到存储器访问调度单元的访问应答响应后,就将表项立即写入到存储器中。由于本控制器中存在多个表项更新控制单元同时访问同一个表项存储匹配单元的需求,存储器访问调度单元以一种硬件调度仲裁形式,可以大大缩短调度时延。
步骤4-5:空间压缩控制单元3-5主要完成存储器内所有表项的有效性查询、表项搬移等处理。空间压缩过程分为主动压缩和被动压缩两种情况。被动压缩是指接收到了步骤4-3中产生的启动空间压缩的指示,主动压缩是指本处理单元自动进行的周期性的压缩过程。两种压缩过程的本质区别体现在具体的压缩方式上。主动压缩过程是一种周期性的自动压缩,压缩的目的是整理出本级存储空间中老化表项所占用的存储空间,具体处理的过程涉及到表项查询和表项搬移操作,压缩完成后,压缩结果影响的是步骤4-3中的状态寄存器B。被动压缩过程仅在被触发时才启动,压缩的目的是为空间借用做准备,将准备借出的存储空间里存在的表项搬移走,具体处理的过程仅涉及到表项搬移操作,压缩完成后,压缩结果影响的是步骤4-3中的状态寄存器A和B。
步骤4-6:表项老化控制单元3-6主要完成表项存储匹配单元内所有表项的有效性查询、老化判断和老化删除等处理操作。表项老化控制单元3-6将周期性的检测表项存储匹配单元内的表项是否达到老化条件,对于满足老化条件的表项将予以删除。删除掉的表项空间被步骤4-5中检测到之后,将进行回收处理。
步骤4-7:表项查询控制单元3-4主要完成表项的查询操作,当步骤4-2中解析到表项查询的指令后,本功能单元将执行表项的查询操作,并将结果返回至步骤4-1的B类缓冲区中,最终通过步骤2中的接口方式上报给用户。
步骤4-8:表项删除控制单元3-8主要完成表项的删除操作,当步骤4-2中解析到表项删除的指令后,本功能单元将执行表项的删除操作,删除后的表项空间被步骤4-5中监测到之后,将进行空间回收处理。
步骤5:对表项存储匹配单元访问调度处理。
存储器访问调度单元4主要完成多级表项处理功能单元之间对表项存储匹配单元的访问调度处理。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行改动、修改、替换和变型。

Claims (10)

1.一种智能表项控制器,包括表项指令接口功能单元(1)、表项预处理功能单元(2)、表项处理功能单元组(3)和存储器访问调度单元(4),用于解析表项指令以及录入和导出表项数据内容,其特征在于:
所述表项指令接口功能单元(1)用于表项基础操作指令的批量采集、表项操作结果的批量输出、控制器初始化参数的配置以及表项操作指令和操作结果的缓存处理;
所述表项预处理功能单元(2)用于表项的分类处理,按照优先级的大小对表项操作指令进行分类,并将不同优先级的表项操作指令送给表项处理功能单元组(3)的表项处理功能单元进行处理;
所述表项处理功能单元组(3)用于单一优先级的表项处理,包括表项的存储、老化、查询操作和本级存储空间内的表项老化空间的回收以及本级存储空间与上下级存储空间之间的空间借用转移操作;
所述存储器访问调度单元(4)用于不同优先级之间以及相同优先级不同操作指令之间对表项存储匹配单元的访问控制操作。
2.如权利要求1所述的智能表项控制器,其特征在于:所述表项指令接口功能单元(1)由表项操作指令的DMA输入接口(1-1)、表项查询结果的DMA输出接口(1-2)、控制器初始化的控制接口(1-3)和表项指令缓存区(1-4)构成。
3.如权利要求1所述的智能表项控制器,其特征在于:所述表项处理功能单元组(3)由多个表项处理功能单元组成,每个表项处理功能单元由表项缓存区控制单元(3-1)、表项操作码处理单元(3-2)、表项更新预处理单元(3-3)、表项更新控制单元(3-4)、表项空间压缩控制单元(3-5)、表项老化控制单元(3-6)、表项查询控制单元(3-7)和表项删除控制单元(3-8)组成。
4.一种智能表项控制方法,包括如下步骤:根据初始化参数对表项存储空间进行初始化分割,通过初始化参数控制不同优先级空间分割的加权系数;获取表项操作指令,获取的表项操作指令暂存于表项操作指令缓冲区内,从表项操作指令缓存区逐条取出表项操作指令进行解析,根据解析出的优先级信息将表项操作指令分发至不同的表项处理功能单元进行处理。
5.如权利要求4所述的智能表项控制方法,其特征在于具体包括如下步骤:
步骤1、通过初始化参数设定不同优先级空间分割的加权系数,对表项存储空间进行初始化分割;
步骤2、根据指令操作码判断进行表项录入操作或表项导出操作,再判断执行DMA模式或非DMA模式;
步骤3、计算存储空间初始化参数并对表项指令分类处理;
步骤4、根据优先级信息将表项操作指令分发至不同的表项处理功能单元进行相应的处理;
步骤5、对表项存储匹配单元访问调度处理。
6.如权利要求5所述的智能表项控制方法,其特征在于:步骤1具体如下:
先检测控制器初始化的控制接口(1-3)是否有参数输入,通过DMA输入接口(1-1)接收表项存储空间的大小参数、各子空间初始化分割加权系数和控制器初始化启动指令;通过初始化分割加权系数设定每个子空间相对整个表项存储空间的占比的大小,对表项存储匹配空间进行预判分割。
7.如权利要求5所述的智能表项控制方法,其特征在于:步骤2具体如下:
所述表项录入操作对应表项的更新操作,所述表项导出操作对应表项的查询操作:若操作指令属于DMA录入模式,则直接以主动读取的方式批量获取表项指令,若操作指令属于非DMA录入模式,则以被动方式逐条接收表项指令;若操作指令属于DMA导出模式,则直接以主动的方式批量输出表项内容;若操作指令属于非DMA导出模式,则以被动方式输出表项查询结果。
8.如权利要求5所述的智能表项控制方法,其特征在于:步骤3中,所述参数包括三类输入参数和一类输出参数,输入参数为存储空间参数、分割加权系数集参数、启动计算参数,输出参数是空间分割参数。
9.如权利要求5所述的智能表项控制方法,其特在于:步骤4具体如下:
步骤4-1:控制用户下发的表项指令缓冲区和用户查询的表项内容缓冲区;
步骤4-2:对表项操作指令的解析,分别送往表项更新控制单元(3-4)、表项查询控制单元(3-7)和表项删除控制单元(3-8);
步骤4-3:对表项地址空间的表项更新状态和多级表项存储空间之间的表项空间借用状态进行维护;
步骤4-4:计算表项存储空间地址,并向表项存储匹配单元中写入表项数据;
步骤4-5:对存储器内所有表项进行有效性查询、表项搬移以完成空间压缩,空间压缩分为主动压缩和被动压缩;
步骤4-6:对表项存储匹配单元内所有表项进行有效性查询、老化判断和老化删除;
步骤4-7:对表项进行查询操作;
步骤4-8:对表项进行删除操作。
10.如权利要求9所述的智能表项控制方法,其特征在于:所述步骤4-3中多级表项存储空间之间的表项空间借用状态通过如下方式维护:
包括两种处理方式:向下一级处理单元借入存储空间,首先判断本级存储空间余量是否达到预警,如达到预警条件,则开始向下一级处理单元借用存储空间;
向上一级处理单元借出存储空间,当检测到来自上一级的空间借用请求后,立即判断本级存储空间余量是否达到借用条件,如达到借用条件,则计算出可以借用的存储空间余量delta,同时启动本级里的空间压缩控制单元按照空间余量进行压缩,对本级存储空间中的表项进行存储空间搬移,待搬移完成后,则立即将本级的状态寄存器A的值更新为A+delta,向上一级处理单元产生空间借用应答,表示完成了空间借用;若达不到借用条件,则执行第一类处理,即向下一级处理单元传递空间借用请求。
CN202210228898.2A 2022-03-10 2022-03-10 一种智能表项控制器及控制方法 Active CN114356418B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210228898.2A CN114356418B (zh) 2022-03-10 2022-03-10 一种智能表项控制器及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210228898.2A CN114356418B (zh) 2022-03-10 2022-03-10 一种智能表项控制器及控制方法

Publications (2)

Publication Number Publication Date
CN114356418A true CN114356418A (zh) 2022-04-15
CN114356418B CN114356418B (zh) 2022-08-05

Family

ID=81094998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210228898.2A Active CN114356418B (zh) 2022-03-10 2022-03-10 一种智能表项控制器及控制方法

Country Status (1)

Country Link
CN (1) CN114356418B (zh)

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021814A (zh) * 2007-03-16 2007-08-22 华为技术有限公司 存储、查询方法及存储控制器和查询系统
CN101986271A (zh) * 2010-10-29 2011-03-16 中兴通讯股份有限公司 调度tcam查询和刷新消息的方法和装置
CN102035727A (zh) * 2010-11-17 2011-04-27 杭州华三通信技术有限公司 一种路由的处理方法和设备
CN102377664A (zh) * 2010-08-27 2012-03-14 武汉烽火网络有限责任公司 一种基于tcam的区域匹配装置和方法
CN103346615A (zh) * 2013-06-25 2013-10-09 中国南方电网有限责任公司 基于智能远动的厂站端集控方法及装置
CN103401777A (zh) * 2013-08-21 2013-11-20 中国人民解放军国防科学技术大学 Openflow的并行查找方法和系统
CN103825824A (zh) * 2014-03-04 2014-05-28 华为技术有限公司 一种报文处理方法及装置
CN104038423A (zh) * 2014-05-29 2014-09-10 杭州华三通信技术有限公司 一种Open flow流表刷新方法及路由设备
CN104348716A (zh) * 2013-07-23 2015-02-11 杭州华三通信技术有限公司 一种报文处理方法及设备
CN104935517A (zh) * 2015-04-29 2015-09-23 杭州华三通信技术有限公司 表项管理方法及装置
WO2016082282A1 (zh) * 2014-11-30 2016-06-02 中国科学院沈阳自动化研究所 一种支持802.1p的Openvswitch交换机实现方法与系统
CN105704037A (zh) * 2015-12-31 2016-06-22 北京华为数字技术有限公司 一种表项保存方法和控制器
CN108875064A (zh) * 2018-07-03 2018-11-23 湖南新实网络科技有限公司 基于FPGA的OpenFlow多维数据匹配查找方法
CN109067585A (zh) * 2018-08-15 2018-12-21 杭州迪普科技股份有限公司 一种查询acl表项下发方法及装置
CN109981464A (zh) * 2019-02-28 2019-07-05 中国人民解放军陆军工程大学 一种在fpga中实现的tcam电路结构及其匹配方法
WO2020237682A1 (zh) * 2019-05-31 2020-12-03 华为技术有限公司 一种内容可寻址存储装置、方法及相关设备
WO2021104284A1 (zh) * 2019-11-30 2021-06-03 华为技术有限公司 关于数据传输的表项建立方法及相关设备
CN113377689A (zh) * 2021-08-12 2021-09-10 新华三技术有限公司 一种路由表项查找、存储方法及网络芯片

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021814A (zh) * 2007-03-16 2007-08-22 华为技术有限公司 存储、查询方法及存储控制器和查询系统
CN102377664A (zh) * 2010-08-27 2012-03-14 武汉烽火网络有限责任公司 一种基于tcam的区域匹配装置和方法
CN101986271A (zh) * 2010-10-29 2011-03-16 中兴通讯股份有限公司 调度tcam查询和刷新消息的方法和装置
CN102035727A (zh) * 2010-11-17 2011-04-27 杭州华三通信技术有限公司 一种路由的处理方法和设备
CN103346615A (zh) * 2013-06-25 2013-10-09 中国南方电网有限责任公司 基于智能远动的厂站端集控方法及装置
CN104348716A (zh) * 2013-07-23 2015-02-11 杭州华三通信技术有限公司 一种报文处理方法及设备
CN103401777A (zh) * 2013-08-21 2013-11-20 中国人民解放军国防科学技术大学 Openflow的并行查找方法和系统
CN103825824A (zh) * 2014-03-04 2014-05-28 华为技术有限公司 一种报文处理方法及装置
CN104038423A (zh) * 2014-05-29 2014-09-10 杭州华三通信技术有限公司 一种Open flow流表刷新方法及路由设备
WO2016082282A1 (zh) * 2014-11-30 2016-06-02 中国科学院沈阳自动化研究所 一种支持802.1p的Openvswitch交换机实现方法与系统
CN104935517A (zh) * 2015-04-29 2015-09-23 杭州华三通信技术有限公司 表项管理方法及装置
CN105704037A (zh) * 2015-12-31 2016-06-22 北京华为数字技术有限公司 一种表项保存方法和控制器
CN108875064A (zh) * 2018-07-03 2018-11-23 湖南新实网络科技有限公司 基于FPGA的OpenFlow多维数据匹配查找方法
CN109067585A (zh) * 2018-08-15 2018-12-21 杭州迪普科技股份有限公司 一种查询acl表项下发方法及装置
CN109981464A (zh) * 2019-02-28 2019-07-05 中国人民解放军陆军工程大学 一种在fpga中实现的tcam电路结构及其匹配方法
WO2020237682A1 (zh) * 2019-05-31 2020-12-03 华为技术有限公司 一种内容可寻址存储装置、方法及相关设备
WO2021104284A1 (zh) * 2019-11-30 2021-06-03 华为技术有限公司 关于数据传输的表项建立方法及相关设备
CN113377689A (zh) * 2021-08-12 2021-09-10 新华三技术有限公司 一种路由表项查找、存储方法及网络芯片

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
H. CHOI ET AL.: "UDP Flow Entry Eviction Strategy Using Q-Learning in Software Defined Networking", 《2020 16TH INTERNATIONAL CONFERENCE ON NETWORK AND SERVICE MANAGEMENT》 *
张兵等: "基于SRAM的并行路由算法搜索芯片设计", 《半导体技术》 *
颜永红等: "TCAM路由更新的硬件优化", 《微计算机信息》 *
鲁佳琪 等: "基于FPGA+TCAM架构的网络分流系统的设计与实现", 《微型机与应用》 *

Also Published As

Publication number Publication date
CN114356418B (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN110166282B (zh) 资源分配方法、装置、计算机设备和存储介质
US5560003A (en) System and hardware module for incremental real time garbage collection and memory management
US8352517B2 (en) Infrastructure for spilling pages to a persistent store
US8381230B2 (en) Message passing with queues and channels
CN111294234B (zh) 一种基于智能合约优化模型的并行区块链分片方法
US6557088B2 (en) Information processing system and recording medium recording a program to cause a computer to execute steps
CN107957848B (zh) 重删处理方法及存储设备
KR20200135718A (ko) 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체
US20140115291A1 (en) Numa optimization for garbage collection of multi-threaded applications
CN114610472B (zh) 异构计算中多进程管理方法及计算设备
CN116795647A (zh) 一种数据库异构资源管理与调度方法、装置、设备及介质
US20110246582A1 (en) Message Passing with Queues and Channels
WO2022160628A1 (zh) 命令处理装置、方法、电子设备以及计算机可读存储介质
CN114356418B (zh) 一种智能表项控制器及控制方法
CN106201918A (zh) 一种基于大数据量和大规模缓存快速释放的方法和系统
CN113157609A (zh) 存储系统、数据处理方法、装置、电子设备及存储介质
CN111858656A (zh) 一种基于分布式架构的静态数据的查询方法和设备
CN115576924A (zh) 一种数据迁移的方法
CN114819124A (zh) 一种深度神经网络推断处理器的访存性能提升方法
CN114995882A (zh) 一种异构结构系统包处理的方法
JP2001125749A (ja) 外部記憶装置ドライバプログラムを記録した記録媒体、及び外部記憶装置アクセス機能を有する計算機
CN1875350A (zh) 包括用于测量连接其构件块的通信总线的利用率的测量单元的集成电路
CN106681939B (zh) 磁盘页面的读取方法和装置
WO2024114728A1 (zh) 一种异构处理器及相关调度方法
CN114078143B (zh) 用于射线跟踪的相干性聚集

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant