CN109558091A - 查找表存储方法、装置及计算机可读存储介质 - Google Patents

查找表存储方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN109558091A
CN109558091A CN201811515641.5A CN201811515641A CN109558091A CN 109558091 A CN109558091 A CN 109558091A CN 201811515641 A CN201811515641 A CN 201811515641A CN 109558091 A CN109558091 A CN 109558091A
Authority
CN
China
Prior art keywords
look
memory capacity
unit
storage
stored
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
CN201811515641.5A
Other languages
English (en)
Other versions
CN109558091B (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.)
Guangzhou New Generation Chip Technology Co ltd
Original Assignee
Guangdong Communications and Networks Institute
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 Guangdong Communications and Networks Institute filed Critical Guangdong Communications and Networks Institute
Priority to CN201811515641.5A priority Critical patent/CN109558091B/zh
Publication of CN109558091A publication Critical patent/CN109558091A/zh
Priority to PCT/CN2019/114427 priority patent/WO2020119310A1/zh
Application granted granted Critical
Publication of CN109558091B publication Critical patent/CN109558091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools

Landscapes

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

Abstract

本发明公开了一种查找表存储方法、装置以及计算机可读存储介质,包括以下步骤:获取业务需求对应的查找表,并获取所述查找表的第一存储容量;判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量;在所述第一存储容量小于或等于所述第二存储容量时,将所述查找表存储至所述报文处理单元;在所述查找表的存储容量大于预设存储容量时,将所述查找表存储至大容量存储单元,其中,所述大容量存储单元为报文处理单元外部的存储单元。因本发明能够对业务的所有查找表根据表的存储容量进行分级存储,从而解决了在使用固定的RAM存储查找表时,存储小存储容量查找表的RAM剩余大量存储空间又不能使用而造成的资源浪费问题。

Description

查找表存储方法、装置及计算机可读存储介质
技术领域
本发明涉及计算机通讯领域,尤其涉及一种查找表存储方法、装置以及计算机可读存储介质。
背景技术
随着通信网络技术向纵深发展,特别是新一代移动互联网和物联网技术逐渐成熟,带来了海量终端接入到通讯网络中。由于终端互联需要在交换设备中保存其对应的路由信息,所以海量终端互联造成了交换设备中的交换芯片的查找表越来越大。现代网络考虑到管理维护方便以及技术迭代更新,一般采用多协议,多层次的组网方式来实现终端设备的互联。例如在局域网内,终端设备采用二层网络协议来完成设备间的互联,但是到了网际则采用IP路由协议来完成设备之间的互联。
在不同的应用场景下,对交换设备的查找表的规格是不一样的,但是在现有的实现方案中,存储各类查找表的RAM(随机访问存储单元)存储容量的大小都是固定不变的。在查找表的存储容量远小于固定的RAM存储容量时,会导致在RAM中剩余大量存储容量,但是这部分剩余的存储容量却不能给别的查找表使用,造成了RAM资源的巨大浪费。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种查找表存储方法、装置以及计算机可读存储介质,旨在解决了在使用固定的RAM存储查找表时,存储小存储容量查找表的RAM剩余大量存储空间又不能使用而造成的资源浪费问题。
为了达到上述目的,本发明提供一种查找表存储方法,所述查找表存储方法包括以下步骤:
获取业务需求对应的查找表,并获取所述查找表的第一存储容量;
判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量;
在所述第一存储容量小于或等于所述第二存储容量时,将所述查找表存储至所述报文处理单元;
在所述查找表的存储容量大于预设存储容量时,将所述查找表存储至大容量存储单元,其中,所述大容量存储单元为报文处理单元外部的存储单元。
优选地,所述判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量的步骤之前,还包括:
获取所述业务需求对应的查找表配置文件;
根据所述查找表配置文件获取所述业务需求对应的报文处理单元。
优选地,所述将所述查找表存储至所述报文处理单元的步骤包括:
基于所述报文处理单元中的子存储单元获取所述查找表对应的第一宽度信息以及第一深度信息;
根据所述第一宽度信息以及所述第一深度信息将所述查找表存储至所述报文处理单元。
优选地,所述根据所述第一宽度信息以及所述第一深度信息将所述查找表存储至所述报文处理单元的步骤包括:
根据所述第一宽度信息以及所述第一深度信息获取所述查找表存储至所述报文处理单元所需要的第一子存储单元的数量,其中,所述第一子存储单元为所述报文处理单元中的随机访问存储单元;
将所述查找表存储至与所述数量对应的第一子存储单元中。
优选地,所述将所述查找表存储至大容量存储单元的步骤包括:
基于所述大容量存储单元中的子存储单元获取所述查找表的第二宽度信息以及第二深度信息;
根据所述第二宽度信息以及所述第二深度信息将所述查找表存储至所述大容量存储单元。
优选地,所述根据所述第二宽度信息以及所述第二深度信息将所述查找表存储至所述大容量存储单元的步骤包括:
根据所述第二宽度信息以及所述第二深度信息获取所述查找表存储至所述大容量存储单元所需要的第二子存储单元的数量,其中,所述第二子存储单元为所述大容量存储单元中的随机访问存储单元;
将所述查找表存储至与所述数量对应的第二子存储单元中。
此外,为实现上述目的,本发明还提供一种查找表存储装置,所述查找表存储装置包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的查找表存储程序,所述查找表存储程序被所述处理器执行时实现如上所述的查找表存储方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有查找表存储程序,所述查找表存储程序被处理器执行时实现如上所述的查找表存储方法的步骤。
本发明提供的查找表存储方法、装置以及计算机可读存储介质,首先,获取业务需求对应的查找表,并获取所述查找表的第一存储容量,然后,判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量,再,在所述第一存储容量小于或等于所述第二存储容量时,将所述查找表存储至所述报文处理单元,最后,在所述查找表的存储容量大于预设存储容量时,将所述查找表存储至大容量存储单元,其中,所述大容量存储单元为报文处理单元外部的存储单元。因本发明能够对业务的所有查找表根据表的存储容量进行分级存储,从而解决了在使用固定的RAM存储查找表时,存储小存储容量查找表的RAM剩余大量存储空间又不能使用而造成的资源浪费问题。
附图说明
附图说明用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例方案涉及的查找表存储装置的硬件结构示意图;
图2为本发明查找表存储方法第一实施例的流程示意图;
图3为本发明查找表存储方法第二实施例的流程示意图;
图4为本发明查找表存储方法第三实施例的流程示意图;
图5为本发明查找表存储方法第四实施例的流程示意图;
图6为本发明查找表存储方法第五实施例的流程示意图;
图7为本发明查找表存储方法第六实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:获取业务需求对应的查找表,并获取所述查找表的第一存储容量;判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量;在所述第一存储容量小于或等于所述第二存储容量时,将所述查找表存储至所述报文处理单元;在所述查找表的存储容量大于预设存储容量时,将所述查找表存储至大容量存储单元,其中,所述大容量存储单元为报文处理单元外部的存储单元。
在不同的应用场景下,对交换设备的查找表的规格是不一样的,但是在现有的实现方案中,存储各类查找表的RAM(随机访问存储单元)存储容量的大小都是固定不变的。在查找表的存储容量远小于固定的RAM存储容量时,会导致在RAM中剩余大量存储容量,但是这部分剩余的存储容量却不能给别的查找表使用,造成了RAM资源的巨大浪费。
本发明提供一种解决方案,首先,获取业务需求对应的查找表,并获取所述查找表的第一存储容量,然后,判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量,再,在所述第一存储容量小于或等于所述第二存储容量时,将所述查找表存储至所述报文处理单元,最后,在所述查找表的存储容量大于预设存储容量时,将所述查找表存储至大容量存储单元,其中,所述大容量存储单元为报文处理单元外部的存储单元。因本发明能够对业务的所有查找表根据表的存储容量进行分级存储,从而解决了在使用固定的RAM存储查找表时,存储小存储容量查找表的RAM剩余大量存储空间又不能使用而造成的资源浪费问题。
如图1所示,图1是本发明实施例方案涉及装置的硬件结构示意图。
参照图1,该装置可以包括:处理器1001,例如CPU,存储器1002,通信总线1003,网络接口1004。其中,通信总线1003用于实现该装置中各组成部件之间的连接通信。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1002可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1002可选的还可以是独立于前述处理器1001的存储装置。如图1所示,作为一种计算机存储介质的存储器1002中可以包括操作系统、网络通信模块以及查找表存储程序。
可选地,第一终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在智能终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别智能终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,智能终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的装置结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在图1所示的装置所涉及的硬件中,网络接口1004可以用于接收终端发送的基于业务的所有查找表;而处理器1001可以用于调用存储器1002中存储的查找表存储程序,并执行以下操作:
获取业务需求对应的查找表,并获取所述查找表的第一存储容量;
判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量;
在所述第一存储容量小于或等于所述第二存储容量时,将所述查找表存储至所述报文处理单元;
在所述查找表的存储容量大于预设存储容量时,将所述查找表存储至大容量存储单元,其中,所述大容量存储单元为报文处理单元外部的存储单元。
进一步地,处理器1001可以用于调用存储器1002中存储的查找表存储程序,还执行以下操作:
获取所述业务需求对应的查找表配置文件;
根据所述查找表配置文件获取所述业务需求对应的报文处理单元。
进一步地,处理器1001可以用于调用存储器1002中存储的查找表存储程序,还执行以下操作:
基于所述报文处理单元中的子存储单元获取所述查找表对应的第一宽度信息以及第一深度信息;
根据所述第一宽度信息以及所述第一深度信息将所述查找表存储至所述报文处理单元。
进一步地,处理器1001可以用于调用存储器1002中存储的查找表存储程序,还执行以下操作:
根据所述第一宽度信息以及所述第一深度信息获取所述查找表存储至所述报文处理单元所需要的第一子存储单元的数量,其中,所述第一子存储单元为所述报文处理单元中的随机访问存储单元;
将所述查找表存储至与所述数量对应的第一子存储单元中。
进一步地,处理器1001可以用于调用存储器1002中存储的查找表存储程序,还执行以下操作:
基于所述大容量存储单元中的子存储单元获取所述查找表的第二宽度信息以及第二深度信息;
根据所述第二宽度信息以及所述第二深度信息将所述查找表存储至所述大容量存储单元。
进一步地,处理器1001可以用于调用存储器1002中存储的查找表存储程序,还执行以下操作:
根据所述第二宽度信息以及所述第二深度信息获取所述查找表存储至所述大容量存储单元所需要的第二子存储单元的数量,其中,所述第二子存储单元为所述大容量存储单元中的随机访问存储单元;
将所述查找表存储至与所述数量对应的第二子存储单元中。
本发明根据上述方案,用户根据业务需求创建所述业务对应的所有查找表,然后将查找表上传到交换设备,以供交换芯片将查找表配置到对于的报文处理单元或外部的大容量存储单元。终端在获取到所有所述查找表时,获取所有所述查找表的第一存储容量,其中,所述第一存储容量为所述查找表的存储容量大小。然后获取所述业务需求对应的报文处理单元的第二存储容量,并判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量,其中,所述第二存储容量为所述报文处理单元的存储容量;在判定所述第一存储容量小于或等于所述第二存储容量时,获取所述业务需求对应的查找表配置文件,通过所述查找表配置文件获取所述业务需求对应的报文处理单元,将所述查找表存储至所述报文处理单元中。在判定所述查找表的存储容量大于预设存储容量时,将所述查找表存储至大容量存储单元,其中,所述大容量存储单元为报文处理单元外部的存储单元。
参照图2,图2为本发明查找表存储方法的第一实施例,所述查找表存储方法包括:
步骤S10、获取业务需求对应的查找表,并获取所述查找表的第一存储容量;
本发明提供的查找表存储方法主要用于将用户创建的基于业务的所有查找表进行分级存储。本发明提供的查找表存储方法涉及的终端包括可以是交换机等,所述终端上预先加载有相关的应用系统。
本发明提供的技术方案,用户根据业务需求创建所述业务对应的所有查找表,然后将所有所述查找表上传到终端。终端在获取到所有所述查找表时,获取所有所述查找表的第一存储容量。
需要说明的是,本申请规划了多级查找表。所述查找表根据储存容量的大小进行分级。可以划分两级或两级以上,本申请以划分为两级查找表进行阐述。所述PPU根据业务逻辑划分等级先后顺序,每级PPU内部有M张查找表(取决于RAM的数量,一个RAM对应只能存储一张查找表的内容,但是一张查找表可以有一个或多个RAM组成),这些查找表的容量比较小,可以存储一些表项条目数比较少的内容,例如端口属性表,VLAN(虚拟局域网)属性表,VFI(虚拟转发域实例virtual forward instance)属性表就可以存放在对应的PPU内。有些容量较大的查找表,例如MAC地址交换表,MPLS交换表,IP路由表等包含巨大条目数,这些查找表存储在PPU外部的大容量存储单元中。
需要说明的是,PPU内部的查找表或者大容量存储单元中的查找表,查找表的深度和宽度都是可通过配置文件或软件编程配置其深度和宽度的大小,可以理解的是,对于在某种特定场景下没有业务使用的查找表,可以配置分配0块RAM资源,将其RAM的资源可以分配给其他的查找表使用。
需要说明的是,每个查找表都包含p个配置寄存器,用于生成查表需要的关键字。每个配置寄存器配置了关键字的字段在报文描述符字段的对应的字节位置,字节内的位置,字段的比特长度。根据配置寄存器的配置值可以从报文的描述符字段取出对应的关键字,然后根据配置寄存器的顺序将各个关键字进行拼接,得到查表关键字。
步骤S20、判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量;
本实施例提供的技术方案中,在获取到当前存储表的存储容量后,获取所述查找表对应的配置文件,然后根据所述配置文件获取当前查找表基于当前业务是哪一级的PPU,再获取所述PPU的第二存储容量,所述第二存储容量为当前PPU的存储容量大小,再判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量。
需要说明的是,本申请规划了多级查找表。存储容量较小的查找表存储在PPU(报文处理单元packet process unit)内部的存储单元中,其中,PPU内部的查找表对应的RAM规格比较小;存储容量较大的查找表配置到PPU的外部实现,PPU外部的查找表对应的RAM的规格比较大,可以通过外挂的DDR(双倍速率同步动态随机存储器)进行存储。可以理解的是,为了存储更大容量的查找表,所述PPU外部的RAM的深度是内部的RAM的深度四倍或四倍以上,但PPU外部的RAM的深度是内部的RAM的深度也可以是相同的。即便同等深度的查找表,其表项的宽度差别也是比较大的,有些查找表的宽度只有二十几比特,有些查找表的宽度四五百比特。
需要说明的是,每级PPU支持与外部的大容量存储单元关联两张大容量查找表时,即可满足交换业务的需求,也可以每级PPU支持与外部的大容量存储单元关联多张大容量存储表。也可以任一级PPU不与外部的大容量存储单元中的大容量查找表关联。
需要说明的是,PPU内部和外部的RAM读写控制模块都有一个查找表寄存器,所述查找表属性寄存器的内容包括查找表的深度信息、查找表的字节宽度、查找表的比特宽度、是否携带counter指针(计数器指针),是否携带meter指针(流量测量器指针)等。同时PPU内部的RAM读写控制模块的每一块RAM也包含描述该RAM的属性寄存器。
步骤S30、在所述第一存储容量小于或等于所述第二存储容量时,将所述查找表存储至所述报文处理单元;
本实施例提供的技术方案中,在所述第一存储容量小于或等于所述第二存储容量时,获取所述报文处理单元中的RAM的宽度以及深度,然后获取当前查找表对应的宽度以及深度,再将查找表的深度与RAM的深度进行比较,将查找表的宽度与RAM的宽度进行比较,从而得到在PPU中存储所述查找表需要的RAM的数量,例如,如果表的深度是2048,宽度是256比特RAM的深度是512,宽度是128比特那么宽度需要两个RAM,深度需要四块RAM,最后将宽度的两个RAM进行拼接,将深度的四个RAM进行拼接,得到一个拼接了八块RAM的存储空间存储所述查找表。
步骤S40、在所述查找表的存储容量大于预设存储容量时,将所述查找表存储至大容量存储单元,其中,所述大容量存储单元为报文处理单元外部的存储单元。
本实施例提供的技术方案中,在所述第一存储容量大于所述第二存储容量时,获取所述大容量存储单元中的RAM的宽度以及深度,然后获取当前查找表对应的宽度以及深度,再将查找表的深度与RAM的深度进行比较,将查找表的宽度与RAM的宽度进行比较,从而得到在所述大容量存储单元中存储所述查找表需要的RAM的数量。拼接所述数量的RAM后存储所述查找表。
本发明根据上述方案,用户根据业务需求创建所述业务对应的所有查找表,然后将查找表上传到交换设备,以供交换芯片将查找表配置到对于的报文处理单元或外部的大容量存储单元。终端在获取到所有所述查找表时,获取所有所述查找表的第一存储容量,其中,所述第一存储容量为所述查找表的存储容量大小。然后获取所述业务需求对应的报文处理单元的第二存储容量,并判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量,其中,所述第二存储容量为所述报文处理单元的存储容量;在判定所述第一存储容量小于或等于所述第二存储容量时,获取所述业务需求对应的查找表配置文件,通过所述查找表配置文件获取所述业务需求对应的报文处理单元,将所述查找表存储至所述报文处理单元中。在判定所述查找表的存储容量大于预设存储容量时,将所述查找表存储至大容量存储单元,其中,所述大容量存储单元为报文处理单元外部的存储单元。
因本发明能够对业务的所有查找表根据表的存储容量进行分级存储,从而解决了在使用固定的RAM存储查找表时,存储小存储容量查找表的RAM剩余大量存储空间又不能使用而造成的资源浪费问题。
进一步的,参照图3,图3为本发明查找表存储方法的第二实施例,基于上述实施例,所述步骤S20之前,还包括:
步骤S50、获取所述业务需求对应的查找表配置文件;
步骤S60、根据所述查找表配置文件获取所述业务需求对应的报文处理单元。
本实施例提供的技术方案中,进一步地,在获取到当前存储表的第一存储容量后,获取预设存储容量,在所述第一存储容量小于或等于所述预设存储容量时,获取所述查找表对应的配置文件,然后根据所述配置文件获取当前查找表对应的PPU,最后将查找表存储至所述PPU中。
进一步地,报文首先进入报文处理单元进行解析,获取报文的结构,并将解析结果放置到报文的描述符字段,发送至后续的PPU进行处理。其中,所述报文解析结果主要是报文的类型、MAC DA、MAC SA、VLAN属性、Eth-Type、DIP、SIP、IP协议号、IP TTL以及UDP源目的端口号等。一个报文处理需要多级PPU才能处理完,所述多级PPU可以是12级或更多级,也可以少于12级PPU,业务需要的PPU级数可通过配置文件进行配置。每级PPU对应不同的查表功能,例如,第一级的PPU存储的查找表为端口属性表,在获取到端口属性后,进入下一级PPU进行查表,下一级PPU存储的查找表为VLAN属性表,获取了VLAN属性后继续进入下一级的PPU进行查表。经过多级PPU处理后将描述符和报文的内容送给报文处理单元进行报文修改,最后根据描述符字段指示的输出端口将报文从正确的目的端口转发出去。
进一步地,在报文进入PPU进行查表时,PPU根据查找表属性寄存器配置内容包括查找表的深度确定访问的查找表对应的RAM块。可以理解的是,PPU内部的RAM读写控制模块的每一块RAM都含有属性寄存器。所述属性寄存器存储了RAM属于查找表的逻辑表号,所述RAM位于对应查找表的行块和列块,该RAM选用的hash函数编号等。所述PPU内部RAM读写控制模块接收到的查表请求后,每块RAM都根据查表的请求和查表地址查看自己的RAM属性寄存器的查找表编号,确定查表请求对应的查找表编号和RAM属性寄存器配置的查找表编号一致后,再判断查表请求对应的地址是否落在自己所在的查找表的行块内,如果是则发起读RAM的请求信号,同时驱动RAM的地址为查找表的地址,读出RAM内部的数据。然后根据RAM的属性寄存器配置的逻辑表列块号将读出的数据放入到结果寄存器的对应位置上。最后将查表的结果按照查找表属性寄存器中的表字节宽度配置值将查表结果切成等长的分片。如果是hash表查找,那么需要将所有分片中取出关键字字段和请求查表的关键字段进行比较,如果相等则对应的该分片为本次查找的结果。如果是直接表查找,那么根据地址的低位从所有分片中选择一片作为本次查表的结果。
终端通过配置文件配置查找表存储的目标PPU,从而方便业务逻辑的实现。所述终端将查表结果分成多片数据,再从中取一片数据作为最终结果,节省了RAM的空间。
进一步的,参照图4,图4为本发明查找表存储方法的第三实施例,在上述图2所示的实施例基础上,所述步骤S30,包括:
步骤S31、基于所述报文处理单元中的子存储单元获取所述查找表对应的第一宽度信息以及第一深度信息;
步骤S32、根据所述第一宽度信息以及所述第一深度信息将所述查找表存储至所述报文处理单元。
本实施例提供的技术方案中,在所述第一存储容量小于或等于所述第二存储容量时,获取所述报文处理单元中的RAM的宽度以及深度,然后获取当前查找表对应的宽度以及深度,再将查找表的深度与RAM的深度进行比较,将查找表的宽度与RAM的宽度进行比较,从而基于所述报文处理单元中的子存储单元获取所述查找表对应的第一宽度信息以及第一深度信息,最后根据所述第一宽度信息以及所述第一深度信息将所述查找表存储至所述报文处理单元。
终端基于所述报文处理单元中的子存储单元获取所述查找表对应的第一宽度信息以及第一深度信息,再根据第一宽度信息以及第一深度信息存储所述查找表,所述从而避免了内存资源浪费。
进一步的,参照图5,图5为本发明查找表存储方法的第四实施例,在上述图4所示的实施例基础上,所述步骤S32,包括:
步骤S321、根据所述第一宽度信息以及所述第一深度信息获取所述查找表存储至所述报文处理单元所需要的第一子存储单元的数量,其中,所述第一子存储单元为所述报文处理单元中的随机访问存储单元;
步骤S322、将所述查找表存储至与所述数量对应的第一子存储单元中。
本实施例提供的技术方案中,在所述第一存储容量小于或等于所述第二存储容量时,获取所述报文处理单元中的RAM的宽度以及深度,然后获取当前查找表对应的宽度以及深度,再将查找表的深度与RAM的深度进行比较,将查找表的宽度与RAM的宽度进行比较,从而得到在PPU中存储所述查找表需要的RAM的数量,例如,如果表的深度是2048,宽度是256比特RAM的深度是512,宽度是128比特那么宽度需要两个RAM,深度需要四块RAM,最后将宽度的两个RAM进行拼接,将深度的四个RAM进行拼接,得到一个拼接了八块RAM的存储空间存储所述查找表。
终端基于所述报文处理单元中的子存储单元获取所述查找表对应的第一宽度信息以及第一深度信息,再根据第一宽度信息以及第一深度信息获取存储到PPU中需要的RAM的数量,所述从而避免了内存资源浪费。
进一步的,参照图6,图6为本发明查找表存储方法的第五实施例,在上述图2所示的实施例基础上,所述步骤S40,包括:
步骤S41、基于所述大容量存储单元中的子存储单元获取所述查找表的第二宽度信息以及第二深度信息;
步骤S42、根据所述第二宽度信息以及所述第二深度信息将所述查找表存储至所述大容量存储单元。
本实施例提供的技术方案中,在所述第一存储容量大于所述第二存储容量时,获取所述大容量存储单元中的RAM的宽度以及深度,然后获取当前查找表对应的宽度以及深度,再将查找表的深度与RAM的深度进行比较,将查找表的宽度与RAM的宽度进行比较,从而基于所述大容量存储单元中的子存储单元获取所述查找表的第二宽度信息以及第二深度信息,最后根据所述第二宽度信息以及所述第二深度信息将所述查找表存储至所述大容量存储单元。
终端基于所述大容量存储单元中的子存储单元获取所述查找表的第二宽度信息以及第二深度信息,再根据第二宽度信息以及第二深度信息存储所述查找表,所述从而避免了内存资源浪费。
进一步的,参照图7,图7为本发明查找表存储方法的第六实施例,在上述图6所示的实施例基础上,所述步骤S42,包括:
步骤S421、根据所述第二宽度信息以及所述第二深度信息获取所述查找表存储至所述大容量存储单元所需要的第二子存储单元的数量,其中,所述第二子存储单元为所述大容量存储单元中的随机访问存储单元;
步骤S422、将所述查找表存储至与所述数量对应的第二子存储单元中。
本实施例提供的技术方案中,在所述第一存储容量大于所述第二存储容量时,获取所述大容量存储单元中的RAM的宽度以及深度,然后获取当前查找表对应的宽度以及深度,再将查找表的深度与RAM的深度进行比较,将查找表的宽度与RAM的宽度进行比较,从而得到在大容量存储单元中存储所述查找表需要的RAM的数量。拼接所述数量的RAM后存储所述查找表。
终端基于所述大容量存储单元中的子存储单元获取所述查找表对应的第二宽度信息以及第二深度信息,再根据第二宽度信息以及第二深度信息获取存储到大容量存储单元中需要的RAM的数量,所述从而避免了大容量存储单元中内存资源浪费。
为实现上述目的,本发明还提供一种查找表存储装置,所述查找表存储装置包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的查找表存储程序,所述查找表存储程序被所述处理器执行时实现如上所述的查找表存储方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有查找表存储程序,所述查找表存储程序被处理器执行时实现如上所述的查找表存储方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是电视机,手机,计算机,装置,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种查找表存储方法,其特征在于,所述查找表存储方法包括以下步骤:
获取业务需求对应的查找表,并获取所述查找表的第一存储容量;
判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量;
在所述第一存储容量小于或等于所述第二存储容量时,将所述查找表存储至所述报文处理单元;
在所述查找表的存储容量大于预设存储容量时,将所述查找表存储至大容量存储单元,其中,所述大容量存储单元为报文处理单元外部的存储单元。
2.如权利要求1所述的查找表存储方法,其特征在于,所述判断所述查找表的第一存储容量是否大于所述业务需求对应的报文处理单元的第二存储容量的步骤之前,还包括:
获取所述业务需求对应的查找表配置文件;
根据所述查找表配置文件获取所述业务需求对应的报文处理单元。
3.如权利要求1所述的查找表存储方法,其特征在于,所述将所述查找表存储至所述报文处理单元的步骤包括:
基于所述报文处理单元中的子存储单元获取所述查找表对应的第一宽度信息以及第一深度信息;
根据所述第一宽度信息以及所述第一深度信息将所述查找表存储至所述报文处理单元。
4.如权利要求3所述的查找表存储方法,其特征在于,所述根据所述第一宽度信息以及所述第一深度信息将所述查找表存储至所述报文处理单元的步骤包括:
根据所述第一宽度信息以及所述第一深度信息获取所述查找表存储至所述报文处理单元所需要的第一子存储单元的数量,其中,所述第一子存储单元为所述报文处理单元中的随机访问存储单元;
将所述查找表存储至与所述数量对应的第一子存储单元中。
5.如权利要求1所述的查找表存储方法,其特征在于,所述将所述查找表存储至大容量存储单元的步骤包括:
基于所述大容量存储单元中的子存储单元获取所述查找表的第二宽度信息以及第二深度信息;
根据所述第二宽度信息以及所述第二深度信息将所述查找表存储至所述大容量存储单元。
6.如权利要求5所述的查找表存储方法,其特征在于,所述根据所述第二宽度信息以及所述第二深度信息将所述查找表存储至所述大容量存储单元的步骤包括:
根据所述第二宽度信息以及所述第二深度信息获取所述查找表存储至所述大容量存储单元所需要的第二子存储单元的数量,其中,所述第二子存储单元为所述大容量存储单元中的随机访问存储单元;
将所述查找表存储至与所述数量对应的第二子存储单元中。
7.一种查找表存储装置,其特征在于,所述查找表存储装置包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的查找表存储程序,所述查找表存储程序被所述处理器执行时实现如权利要求1至6中任一项所述的查找表存储方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有查找表存储程序,所述查找表存储程序被处理器执行时实现如权利要求1至6中任一项所述的查找表存储方法的步骤。
CN201811515641.5A 2018-12-11 2018-12-11 查找表存储方法、装置及计算机可读存储介质 Active CN109558091B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811515641.5A CN109558091B (zh) 2018-12-11 2018-12-11 查找表存储方法、装置及计算机可读存储介质
PCT/CN2019/114427 WO2020119310A1 (zh) 2018-12-11 2019-10-30 查找表存储方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811515641.5A CN109558091B (zh) 2018-12-11 2018-12-11 查找表存储方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109558091A true CN109558091A (zh) 2019-04-02
CN109558091B CN109558091B (zh) 2020-10-13

Family

ID=65869605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811515641.5A Active CN109558091B (zh) 2018-12-11 2018-12-11 查找表存储方法、装置及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN109558091B (zh)
WO (1) WO2020119310A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078627A (zh) * 2019-12-04 2020-04-28 广东省新一代通信与网络创新研究院 一种阵列处理器的无冲突访问方法、装置及存储介质
WO2020119310A1 (zh) * 2018-12-11 2020-06-18 广东省新一代通信与网络创新研究院 查找表存储方法、装置及计算机可读存储介质
CN111683036A (zh) * 2020-02-29 2020-09-18 新华三信息安全技术有限公司 数据存储方法、装置以及报文识别方法和装置
CN112668260A (zh) * 2020-12-17 2021-04-16 北京物芯科技有限责任公司 一种芯片sram拼接方法、装置、电子设备和存储介质
CN112905587A (zh) * 2019-12-04 2021-06-04 北京金山云网络技术有限公司 数据库的数据管理方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951629A (en) * 1997-09-15 1999-09-14 Motorola, Inc. Method and apparatus for log conversion with scaling
CN1422049A (zh) * 2001-11-27 2003-06-04 华为技术有限公司 一种节省查找表存储器和中间状态存储器的电路实现方法
CN1434603A (zh) * 2002-01-23 2003-08-06 华为技术有限公司 一种查找表电路的实现方法及查找表电路
CN101889238A (zh) * 2007-12-05 2010-11-17 浜松光子学株式会社 相位调制装置以及相位调制方法
CN102971765A (zh) * 2010-06-21 2013-03-13 微软公司 用于文本渲染的查找表
CN103414658A (zh) * 2013-08-05 2013-11-27 北京华为数字技术有限公司 查找表和报文缓存共享动态随机访问存储器的系统和方法
CN104539537A (zh) * 2014-12-25 2015-04-22 北京华为数字技术有限公司 一种路由查找方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558091B (zh) * 2018-12-11 2020-10-13 广东省新一代通信与网络创新研究院 查找表存储方法、装置及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951629A (en) * 1997-09-15 1999-09-14 Motorola, Inc. Method and apparatus for log conversion with scaling
CN1422049A (zh) * 2001-11-27 2003-06-04 华为技术有限公司 一种节省查找表存储器和中间状态存储器的电路实现方法
CN1434603A (zh) * 2002-01-23 2003-08-06 华为技术有限公司 一种查找表电路的实现方法及查找表电路
CN101889238A (zh) * 2007-12-05 2010-11-17 浜松光子学株式会社 相位调制装置以及相位调制方法
CN102971765A (zh) * 2010-06-21 2013-03-13 微软公司 用于文本渲染的查找表
CN103414658A (zh) * 2013-08-05 2013-11-27 北京华为数字技术有限公司 查找表和报文缓存共享动态随机访问存储器的系统和方法
CN104539537A (zh) * 2014-12-25 2015-04-22 北京华为数字技术有限公司 一种路由查找方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020119310A1 (zh) * 2018-12-11 2020-06-18 广东省新一代通信与网络创新研究院 查找表存储方法、装置及计算机可读存储介质
CN111078627A (zh) * 2019-12-04 2020-04-28 广东省新一代通信与网络创新研究院 一种阵列处理器的无冲突访问方法、装置及存储介质
CN112905587A (zh) * 2019-12-04 2021-06-04 北京金山云网络技术有限公司 数据库的数据管理方法、装置及电子设备
CN112905587B (zh) * 2019-12-04 2024-05-14 北京金山云网络技术有限公司 数据库的数据管理方法、装置及电子设备
CN111683036A (zh) * 2020-02-29 2020-09-18 新华三信息安全技术有限公司 数据存储方法、装置以及报文识别方法和装置
CN111683036B (zh) * 2020-02-29 2022-05-27 新华三信息安全技术有限公司 数据存储方法、装置以及报文识别方法和装置
CN112668260A (zh) * 2020-12-17 2021-04-16 北京物芯科技有限责任公司 一种芯片sram拼接方法、装置、电子设备和存储介质
CN112668260B (zh) * 2020-12-17 2024-04-12 北京物芯科技有限责任公司 一种芯片sram拼接方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN109558091B (zh) 2020-10-13
WO2020119310A1 (zh) 2020-06-18

Similar Documents

Publication Publication Date Title
CN109558091A (zh) 查找表存储方法、装置及计算机可读存储介质
US7990958B2 (en) Method and apparatus for a four-way hash table
CN107395659A (zh) 一种业务受理及共识的方法及装置
CN109218301B (zh) 多协议间软件定义的帧头映射的方法和装置
US7499941B2 (en) Pipeline regular expression matching
US9871727B2 (en) Routing lookup method and device and method for constructing B-tree structure
US20110188503A1 (en) Ethernet Forwarding Database Method
CN106095698B (zh) 面向对象的缓存写入、读取方法及装置
US10459729B2 (en) Map tables for hardware tables
US20090276604A1 (en) Assigning memory for address types
CN108712286A (zh) 网络拓扑结构的确定方法、装置和存储介质
US20070261110A1 (en) Packet firewalls of particular use in packet switching devices
CN110225095A (zh) 一种数据处理方法、装置及系统
CN104199728B (zh) 图片传送信息展示方法和装置
US20090282167A1 (en) Method and apparatus for bridging
US10790862B2 (en) Cache index mapping
CN109242458A (zh) 基于区块链的信息管理方法及相关设备
CN105978868A (zh) Ip地址权限的查找方法及装置
CN108810144A (zh) 一种数据传输方法、服务器及存储介质
CN109960534A (zh) 设备探测方法、装置、存储介质以及电子设备
WO2014190700A1 (zh) 一种内存访问的方法、缓冲调度器和内存模块
CN111142989B (zh) 对象管理方法、装置及存储介质
CN108470043A (zh) 一种业务结果的获取方法及装置
US9088476B2 (en) Network communication system with packet forwarding and method of operation thereof
WO2021227873A1 (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
TR01 Transfer of patent right

Effective date of registration: 20240115

Address after: Building A, Runhui Science and Technology Park, No. 18 Shenzhou Road, Huangpu District, Guangzhou City, Guangdong Province, 510663 (self numbered 301, 3rd floor)

Patentee after: Guangzhou New Generation Chip Technology Co.,Ltd.

Address before: 510000 Room 201, 88 Haiyun Road, Science City, Guangzhou hi tech Industrial Development Zone, Guangdong Province

Patentee before: GUANGDONG NEW GENERATION COMMUNICATION AND NETWORK INNOVATION INSTITUTE

TR01 Transfer of patent right