WO2016090848A1 - Method and device for managing table space of ternary content addressable memory - Google Patents

Method and device for managing table space of ternary content addressable memory Download PDF

Info

Publication number
WO2016090848A1
WO2016090848A1 PCT/CN2015/079107 CN2015079107W WO2016090848A1 WO 2016090848 A1 WO2016090848 A1 WO 2016090848A1 CN 2015079107 W CN2015079107 W CN 2015079107W WO 2016090848 A1 WO2016090848 A1 WO 2016090848A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
parameter
write
full
module
Prior art date
Application number
PCT/CN2015/079107
Other languages
French (fr)
Chinese (zh)
Inventor
姜海明
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016090848A1 publication Critical patent/WO2016090848A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method and apparatus for managing a TCAM table space of a tri-state content addressed memory.
  • ASICs Application Specific Integrated Circuits
  • NPs Network Processors
  • SRAM Static Random Access Memory
  • TCAM Ternary Content Addressable Memory
  • SDRAM Synchronous Dynamic Random Memory
  • the TCAM is mainly used to quickly search for an Access Control List (ACL) and routing entries.
  • ACL Access Control List
  • the main feature of TCAM is fast parallel search.
  • the application on the network processor is usually that the microcode composes a key value from the message extraction information, and sends a search command to the TCAM through the NP TCAM controller, and processes the message according to the result.
  • TCAM is characterized by high cost, high power consumption and limited capacity. The advantages are fast search, fixed delay, longest prefix matching and multi-region matching. In order to make full use of the valuable TCAM space, TCAM generally adopts multi-table distinguishing technology on hardware. A TCAM is divided into blocks of several sizes, and the key value sent by the microcode is searched in parallel in multiple blocks at the same time. Send key values at a time, returning multiple lookup results.
  • each block must be configured with a lookup table width W.
  • W the NL11K series of NETLOGIC has a typical width of 80, 160, 320, 640; IDT's TCAM has a typical width of 72, 144, 288, and 576.
  • IPv4 quintuple width is 107 bytes (bit); the IPv6 ACL matches the IPv6 quintuple width to 299 bits.
  • IPv6 ACL matches the IPv6 quintuple width to 299 bits.
  • the corresponding database of IPv4 should be configured according to the 160-bit width, and the database type should be classified and matched; the corresponding block of IPv6 ACL should be configured according to the 320-bit width. Due to the different widths, these two service entries must be placed in different hardware blocks.
  • the common practice is that the width of the lookup table of each block is determined to be dead, and the write table in each block is sequentially written from the address low to the high address.
  • IPv4 ACL and IPv6 ACL are allocated in two adjacent hardware blocks. The allocated space is 64K*80bit, and the table width is 160bit and 320bit respectively.
  • the IPv4 ACL has a capacity of 32K and the IPv6 ACL has a capacity of 16K.
  • the downside of this approach is that capacity sharing is not possible.
  • an embodiment of the present invention provides a method for managing a TCAM table space of a tri-state content addressed memory, the method comprising:
  • the first parameter includes a table space range, and the table space range corresponds to a plurality of block blocks;
  • Determining whether the first block and the second block are full if the first block is full and the second block is not full, adjusting the first parameter and the second parameter to select the portion of the second block adjacent to the first block
  • the space is assigned to the first block, and the table is written according to the adjusted first parameter and the second parameter.
  • the method also includes:
  • the step of writing a table in the adjacent first block and the second block, and the writing direction of the first block is opposite to the writing direction of the second block includes:
  • the table is written in the first block and the second block in the direction from the address low to the address high and the address high to the address low, respectively.
  • the method further includes:
  • the fragment is compressed.
  • the IPv4 access control list ACL is written in the first block, and the lookup table width of the first block is 160 bits.
  • the second block is written with an IPv6 ACL, and the second block has a table width of 320 bits.
  • Embodiments of the present invention also provide an apparatus for managing a TSTAT table space of a tri-state content addressed memory, the apparatus comprising:
  • a first configuration module configured to configure a first parameter of the first register of the TCAM, the first parameter includes a table space range, and the table space range corresponds to a plurality of block blocks;
  • a second configuration module configured to configure a second parameter of the second register of the TCAM according to the table space range, where the second parameter includes a space size and a table width of each block in the table space;
  • Writing a table module configured to write a table in the adjacent first block and the second block, and the writing direction of the first block is opposite to the writing direction of the second block;
  • the determining module is configured to determine whether the first block and the second block are full, and trigger the adjustment module when the first block is full and the second block is not full.
  • the adjusting module is configured to adjust the first parameter and the second parameter according to the triggering of the determining module, to allocate the partial space adjacent to the first block in the second block to the first block, and trigger the writing table module to be adjusted according to the adjustment
  • the first parameter and the second parameter are written in the table.
  • the device further comprises:
  • the determining module triggers the write table module to continue to write the table when the first block and the second block are not full, and triggers the return module when both the first block and the second block are full;
  • the write table module includes:
  • the first unit is configured to write the table in the first block and the second block in a direction from the address low to the address high and the address high to the address low, respectively.
  • the device further comprises:
  • a detecting module configured to detect whether there is a fragment in the second block, and trigger the compression module when there is fragmentation
  • the compression module is set to compress the fragments.
  • the IPv4 access control list ACL is written in the first block, and the lookup table width of the first block is 160 bits.
  • the second block is written with an IPv6 ACL, and the second block has a table width of 320 bits.
  • two services of different table look widths are respectively placed in the adjacent first block and the second block, and the first block and the first block are respectively The write direction of the second block is reversed, so that when the table in the first block is full and the table in the second block is full, the parameters of the first register and the second register can be configured to
  • the adjacent space of a block is allocated to the first block, so that the TCAM realizes hardware block capacity sharing.
  • FIG. 1 is a flow chart showing the steps of a method for managing a TCAM table space of a tri-state content addressable memory according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram showing the space of the first block and the second block before dynamically adjusting the spatial size of the first block and the second block in the embodiment of the present invention
  • FIG. 3 is a schematic diagram showing the space of the first block and the second block after dynamically adjusting the spatial size of the first block and the second block in the embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of an apparatus for managing a TCAM table space of a tri-state content addressable memory according to an embodiment of the present invention.
  • the embodiment of the present invention provides a method and a device for managing a TCAM table space of a tri-state content-addressable memory in the prior art that the TCAM hardware block cannot share capacity, and enables the TCAM to implement hardware block capacity sharing.
  • an embodiment of the present invention provides a method for managing a TCAM table space of a tri-state content addressed memory, the method comprising:
  • Step 11 Configure a first parameter of the first register of the TCAM, where the first parameter includes a table space range, and the table space range corresponds to multiple block blocks.
  • the first parameter of the first register is used to indicate a table lookup space range when the table is looked up by the TCAM, and the lookup table range corresponds to a plurality of hardware blocks.
  • Step 12 Configure a second parameter of the second register of the TCAM according to the table space range, where the second parameter includes a space size and a table width of each block in the table space.
  • the lookup table width and space size of the tables placed in the respective hardware blocks of the TCAM may be different.
  • the IPv6 ACL is not configured much, and the IPv4 ACL is configured more. Therefore, the space for the hardware block for the IPv6 ACL is smaller than the space for the hardware block for the IPv4 ACL.
  • the lookup width of the hardware block used for placing the IPv4 ACL is different from the width of the lookup table of the hardware block for placing the IPv6 ACL.
  • the preferred look-up table width will be configured according to the model of the TCAM.
  • the NL11K series, the corresponding database of IPv4 should be configured according to the 160-bit width, and the corresponding block of the IPv6 ACL should be configured according to the 320-bit width.
  • Step 13 writing a table in the adjacent first block and the second block, and the write direction of the first block is opposite to the write direction of the second block, preferably in a direction from a low address to an address high, respectively.
  • the address is written in the first block and the second block in the direction from the address high to the low address.
  • the first block entry is written from address low to address high
  • the second block entry is written from address high to address low, such that when the first block is full and the second block is not full
  • the space size of the first block and the second block can be re-allocated by adjusting the first parameter and the second parameter.
  • the two adjacent blocks can be configured to write the table according to the above-mentioned write table method to implement capacity sharing, and the other blocks in the TCAM can still be written in the traditional write table manner. .
  • Step 14 Determine whether the first block and the second block are full. If the first block is full and the second block is not full, adjust the first parameter and the second parameter to compare the first block with the first block. The partial space of the neighbor is assigned to the first block, and the table is written according to the adjusted first parameter and the second parameter.
  • the method further includes: determining whether the first block and the second block are full, and if the first block and the second block are not full, continuing to write the table; if the first block and the first block When both blocks are full, the information that failed to write the table is returned.
  • step 14 it is determined in step 14 whether the first block and the second block are full, and if the first block is full and the second block is not full, the first parameter and the second parameter are adjusted. And before the step of writing the table according to the adjusted first parameter and the second parameter, the method further includes: detecting whether there is fragment in the second block; if there is fragmentation, compressing the fragment, so that the software management is simple, not A large number of entries are involved, and the forwarding surface is not affected.
  • the reserved capacity of the first block and the second block may be configured, for example, one third of the first block and the second block are reserved, and the reserved space is reserved for itself. enjoy. In this way, the service in the first block does not occupy two block spaces, and the user later configures the service of the second block without any space available.
  • the ACL table is taken as an example. Since the user occasionally performs an ACL deletion operation, there may be free space in the TCAM hardware block. Of course, it is possible that each deletion operation is accompanied by a compression operation, and It may not be compressed and wait until the appropriate time for compression, depending on the TCAM table management algorithm.
  • the function of the compression is to concentrate the scattered fragments in the second block into a continuous space, and move the concentrated continuous space to a position adjacent to the first block, so that the first block occupies the fragment space.
  • the IPv4 access control list ACL is written in the first block, and the lookup table width of the first block is 160 bits; the second block is written with an IPv6 ACL, and the second block is The lookup table width is 320bit.
  • a preferred example is taken as an example.
  • the space of the first block is M, and the second The space of the block is N.
  • the space size of the first block and the second block can be dynamically adjusted.
  • the first parameter and the second parameter are adjusted, and the space P adjacent to the first block in the second block is assigned to the first block, and the lookup width of the space P is also changed to be the same as the lookup width of the space M.
  • the space of the first block is expanded to M+N, and the space of the second block is reduced to NP.
  • the first register and the second register need to be determined according to the specific model of the TCAM. For example, if the TCAM of the NETLOGIC NL series is used in this example, the second register includes a Block Select Register (BSR) in the Logical Table Register (LTR) group, and a block. Configuration Register (Block Configuration Register, BCR for short).
  • BSR Block Select Register
  • LTR Logical Table Register
  • BCR Block Configuration Register
  • an embodiment of the present invention further provides an apparatus for managing a TCAM table space of a tri-state content addressed memory, the apparatus comprising:
  • the first configuration module 41 is configured to configure a first parameter of the first register of the TCAM, where the first parameter includes a table space range, and the table space range corresponds to multiple block blocks;
  • the second configuration module 42 is configured to configure a second parameter of the second register of the TCAM according to the table space range, where the second parameter includes a space size and a table width of each block in the table space;
  • the write table module 43 is configured to write a table in the adjacent first block and the second block, and the write table direction of the first block is opposite to the write table direction of the second block;
  • the determining module 44 is configured to determine whether the first block and the second block are full.
  • the adjusting module 45 is configured to adjust the first parameter and the second parameter according to the triggering of the determining module 44, to allocate the partial space adjacent to the first block in the second block to the first block, and trigger the writing table module 43 Write the table according to the adjusted first parameter and second parameter.
  • the device further comprises:
  • the determining module 44 triggers the write table module 43 to continue writing the table when both the first block and the second block are not full, and triggers the return module when both the first block and the second block are full;
  • the write table module 43 includes:
  • the first unit is configured to write the table in the first block and the second block in a direction from the address low to the address high and the address high to the address low, respectively.
  • the device further comprises:
  • the detecting module is configured to detect whether there is a fragment in the second block, and when there is fragmentation, trigger the compression module,
  • the compression module is set to compress the fragments.
  • the IPv4 access control list ACL is written in the first block, and the lookup table width of the first block is 160 bits.
  • the second block is written with an IPv6 ACL, and the second block has a table width of 320 bits.
  • the present invention puts two different look-up-width services into adjacent first blocks and second blocks, and the writing directions of the first block and the second block are opposite, such that When the table in the first block is full and the table in the second block is full, the part of the second block adjacent to the first block can be classified by configuring the parameters of the first register and the second register. Give the first block, so that the TCAM implements hardware block capacity sharing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System (AREA)

Abstract

Provided are a method and device for managing the table space of a ternary content addressable memory (TCAM), the method comprising: configuring a first parameter of a first register of the TCAM, the first parameter comprising a lookup-table space scope, the lookup-table space scope corresponding to a plurality of blocks; configuring a second parameter of a second register of the TCAM according to the lookup-table space scope, the second parameter comprising the space size of each of the blocks within the lookup-table space scope and the width of the lookup-table; writing the table in the adjacent first block and second block, and the table writing direction of the first block is opposite to that of the second block; determining if the first block and the second block are fully written; if the first block is fully written but the second block is not, adjusting the first parameter and the second parameter, and writing the table according to the adjusted first parameter and second parameter. The method of the present invention enables a TCAM to realize hardware block capacity sharing.

Description

管理三态内容寻址存储器TCAM表空间的方法及装置Method and device for managing tri-state content addressing memory TCAM table space 技术领域Technical field
本发明涉及通信技术领域,特别涉及一种管理三态内容寻址存储器TCAM表空间的方法及装置。The present invention relates to the field of communications technologies, and in particular, to a method and apparatus for managing a TCAM table space of a tri-state content addressed memory.
背景技术Background technique
随着网络的发展,网络流量的增长及新业务的出现,需要网络设备具有线速和灵活的处理能力。目前网络芯片包括专用集成电路(Application Specific Integrated Circuits,简称为ASIC)和网络处理器(Network Processor,简称为NP)两大类。网络处理器凭借其高速处理及灵活的可编程性,已成为当今网络中数据处理的有效解决方案。With the development of the network, the growth of network traffic and the emergence of new services, network equipment needs to have wire speed and flexible processing capabilities. Currently, the network chip includes two types: Application Specific Integrated Circuits (ASICs) and Network Processors (NPs). With its high-speed processing and flexible programmability, network processors have become an effective solution for data processing in today's networks.
网络处理器中有多种不同的存储器,如静态随机存储器(Static Random Access Memory,简称为SRAM)、三态内容寻址存储器(Ternary Content Addressable Memory,简称为TCAM)、同步动态随机存储器(Synchronous Dynamic Random Access Memory,简称为SDRAM)等,这些存储器存放着各种业务表项,如端口表、硬件地址(Media Access Control,简称为MAC)表、路由表等。There are many different memories in the network processor, such as Static Random Access Memory (SRAM), Ternary Content Addressable Memory (TCAM), Synchronous Dynamic Random Memory (Synchronous Dynamic). Random Access Memory (SDRAM), etc., these memories store various service items, such as port table, hardware address (Media Access Control, MAC) table, routing table, and so on.
TCAM主要用于快速查找访问控制列表(Access Control List,简称为ACL)、路由等表项。TCAM的主要特点是快速并行查找,在网络处理器上的应用通常是,微码从报文抽取相关信息组成一个键值,通过NP的TCAM控制器向TCAM发送查找命令,根据结果处理报文。The TCAM is mainly used to quickly search for an Access Control List (ACL) and routing entries. The main feature of TCAM is fast parallel search. The application on the network processor is usually that the microcode composes a key value from the message extraction information, and sends a search command to the TCAM through the NP TCAM controller, and processes the message according to the result.
TCAM的特点是成本高、功耗大、容量有限;优点是快速查找,固定时延,支持最长前缀匹配及多区域匹配。为了充分利用宝贵的TCAM空间,TCAM一般采用硬件上的多表区分技术,一个TCAM划分成若干大小的块(block),微码发送的键值同时在多个块(block)内并行查找,可以一次发送键值,返回多个查表结果。TCAM is characterized by high cost, high power consumption and limited capacity. The advantages are fast search, fixed delay, longest prefix matching and multi-region matching. In order to make full use of the valuable TCAM space, TCAM generally adopts multi-table distinguishing technology on hardware. A TCAM is divided into blocks of several sizes, and the key value sent by the microcode is searched in parallel in multiple blocks at the same time. Send key values at a time, returning multiple lookup results.
为了支持不同宽度的查找,每个block都要配置一个查表宽度W。比如NETLOGIC的NL11K系列,典型的宽度有80、160、320、640;IDT公司的TCAM,典型宽度有72、144、288、576。 In order to support different widths of the search, each block must be configured with a lookup table width W. For example, the NL11K series of NETLOGIC has a typical width of 80, 160, 320, 640; IDT's TCAM has a typical width of 72, 144, 288, and 576.
以因特网协议版本4(IPv4)/因特网协议版本6(IPv6)ACL举例,IPv4五元组宽度为107字节(bit);IPv6ACL匹配IPv6五元组的宽度为299bit。用NL11K系列,IPv4相应的数据库要按160bit位宽配置,数据库类型配成分类匹配;IPv6ACL相应的block要按照320bit位宽配置。由于宽度不同,这两种业务表项必须放到不同的硬件block中。For example, an Internet Protocol version 4 (IPv4)/Internet Protocol version 6 (IPv6) ACL, the IPv4 quintuple width is 107 bytes (bit); the IPv6 ACL matches the IPv6 quintuple width to 299 bits. With the NL11K series, the corresponding database of IPv4 should be configured according to the 160-bit width, and the database type should be classified and matched; the corresponding block of IPv6 ACL should be configured according to the 320-bit width. Due to the different widths, these two service entries must be placed in different hardware blocks.
目前通用做法是各个block的查表宽度定死,每个block内写表从地址低向地址高的空间依次写入。典型应用,IPv4ACL和IPv6ACL分配在相邻的两个硬件block内,分配空间都为64K*80bit,查表宽度分别为160bit和320bit,这样IPv4ACL的容量为32K,IPv6ACL容量为16K。这种方法弊端是无法做到容量共享。At present, the common practice is that the width of the lookup table of each block is determined to be dead, and the write table in each block is sequentially written from the address low to the high address. For a typical application, IPv4 ACL and IPv6 ACL are allocated in two adjacent hardware blocks. The allocated space is 64K*80bit, and the table width is 160bit and 320bit respectively. The IPv4 ACL has a capacity of 32K and the IPv6 ACL has a capacity of 16K. The downside of this approach is that capacity sharing is not possible.
发明内容Summary of the invention
本发明实施例的目的在于提供一种管理三态内容寻址存储器TCAM表空间的方法及装置,能使TCAM实现硬件block容量共享。It is an object of embodiments of the present invention to provide a method and apparatus for managing a TCAM table space of a tri-state content addressed memory, which enables TCAM to implement hardware block capacity sharing.
为了达到上述目的,本发明的实施例提供了一种管理三态内容寻址存储器TCAM表空间的方法,该方法包括:In order to achieve the above object, an embodiment of the present invention provides a method for managing a TCAM table space of a tri-state content addressed memory, the method comprising:
配置TCAM的第一寄存器的第一参数,第一参数包括查表空间范围,查表空间范围对应多个块block;Configuring a first parameter of the first register of the TCAM, the first parameter includes a table space range, and the table space range corresponds to a plurality of block blocks;
根据查表空间范围,配置TCAM的第二寄存器的第二参数,第二参数包括在查表空间范围内的各个block的空间大小和查表宽度;Configuring a second parameter of the second register of the TCAM according to the table space range, where the second parameter includes a space size and a table width of each block in the table space;
在相邻的第一block和第二block中写表,且第一block的写表方向与第二block的写表方向相反;Writing a table in the adjacent first block and the second block, and the writing direction of the first block is opposite to the writing direction of the second block;
判断第一block和第二block是否写满,若第一block写满且第二block未写满,则调整第一参数和第二参数,以将第二block中与第一block相邻的部分空间划归给第一block,并按照调整后的第一参数和第二参数写表。Determining whether the first block and the second block are full, if the first block is full and the second block is not full, adjusting the first parameter and the second parameter to select the portion of the second block adjacent to the first block The space is assigned to the first block, and the table is written according to the adjusted first parameter and the second parameter.
其中,方法还包括:Among them, the method also includes:
若第一block和第二block都未写满,则继续写表;If the first block and the second block are not full, continue to write the table;
若第一block和第二block都写满,则返回写表失败的信息。 If both the first block and the second block are full, the information that failed to write the table is returned.
其中,在相邻的第一block和第二block中写表,且第一block的写表方向与第二block的写表方向相反的步骤包括:The step of writing a table in the adjacent first block and the second block, and the writing direction of the first block is opposite to the writing direction of the second block includes:
分别按照从地址低到地址高的方向和地址高到地址低的方向在第一block和第二block中写表。The table is written in the first block and the second block in the direction from the address low to the address high and the address high to the address low, respectively.
其中,判断第一block和第二block是否写满,若第一block写满且第二block未写满,则调整第一参数和第二参数,并按照调整后的第一参数和第二参数写表的步骤之前,方法还包括:Wherein, determining whether the first block and the second block are full, if the first block is full and the second block is not full, adjusting the first parameter and the second parameter, and following the adjusted first parameter and the second parameter Before the steps of writing the table, the method further includes:
检测第二block中是否存在碎片;Detecting the presence of fragments in the second block;
若存在碎片,则将碎片进行压缩。If there is fragmentation, the fragment is compressed.
其中,第一block中写的是IPv4访问控制列表ACL,且第一block的查表宽度为160bit。The IPv4 access control list ACL is written in the first block, and the lookup table width of the first block is 160 bits.
其中,第二block中写的是IPv6ACL,且第二block的查表宽度为320bit。The second block is written with an IPv6 ACL, and the second block has a table width of 320 bits.
本发明的实施例还提供了一种管理三态内容寻址存储器TCAM表空间的装置,该装置包括:Embodiments of the present invention also provide an apparatus for managing a TSTAT table space of a tri-state content addressed memory, the apparatus comprising:
第一配置模块,设置为配置TCAM的第一寄存器的第一参数,第一参数包括查表空间范围,查表空间范围对应多个块block;a first configuration module, configured to configure a first parameter of the first register of the TCAM, the first parameter includes a table space range, and the table space range corresponds to a plurality of block blocks;
第二配置模块,设置为根据查表空间范围,配置TCAM的第二寄存器的第二参数,第二参数包括在查表空间范围内的各个block的空间大小和查表宽度;a second configuration module, configured to configure a second parameter of the second register of the TCAM according to the table space range, where the second parameter includes a space size and a table width of each block in the table space;
写表模块,设置为在相邻的第一block和第二block中写表,且第一block的写表方向与第二block的写表方向相反;Writing a table module, configured to write a table in the adjacent first block and the second block, and the writing direction of the first block is opposite to the writing direction of the second block;
判断模块,设置为判断第一block和第二block是否写满,并在第一block写满且第二block未写满时,触发调整模块,The determining module is configured to determine whether the first block and the second block are full, and trigger the adjustment module when the first block is full and the second block is not full.
调整模块,设置为根据判断模块的触发,调整第一参数和第二参数,以将第二block中与第一block相邻的部分空间划归给第一block,并触发写表模块按照调整后的第一参数和第二参数写表。The adjusting module is configured to adjust the first parameter and the second parameter according to the triggering of the determining module, to allocate the partial space adjacent to the first block in the second block to the first block, and trigger the writing table module to be adjusted according to the adjustment The first parameter and the second parameter are written in the table.
其中,装置还包括: Wherein, the device further comprises:
判断模块在第一block和第二block都未写满时,触发写表模块继续写表,以及在第一block和第二block都写满时,触发返回模块;The determining module triggers the write table module to continue to write the table when the first block and the second block are not full, and triggers the return module when both the first block and the second block are full;
返回模块,设置为根据判断模块的触发,返回写表失败的信息。Return to the module, set to return the information that failed to write the table according to the trigger of the judgment module.
其中,写表模块包括:Among them, the write table module includes:
第一单元,设置为分别按照从地址低到地址高的方向和地址高到地址低的方向在第一block和第二block中写表。The first unit is configured to write the table in the first block and the second block in a direction from the address low to the address high and the address high to the address low, respectively.
其中,装置还包括:Wherein, the device further comprises:
检测模块,设置为检测第二block中是否存在碎片,并当存在碎片时,触发压缩模块;a detecting module, configured to detect whether there is a fragment in the second block, and trigger the compression module when there is fragmentation;
压缩模块,设置为将碎片进行压缩。The compression module is set to compress the fragments.
其中,第一block中写的是IPv4访问控制列表ACL,且第一block的查表宽度为160bit。The IPv4 access control list ACL is written in the first block, and the lookup table width of the first block is 160 bits.
其中,第二block中写的是IPv6ACL,且第二block的查表宽度为320bit。The second block is written with an IPv6 ACL, and the second block has a table width of 320 bits.
本发明的上述方案至少包括以下有益效果:The above aspects of the present invention include at least the following beneficial effects:
在本发明实施例的管理三态内容寻址存储器TCAM表空间的方法中,将两种不同查表宽度的业务分别放到相邻的第一block和第二block中,且第一block与第二block的写表方向相反,这样当第一block内的表写满且第二block内的表为写满时,可以通过配置第一寄存器与第二寄存器的参数,将第二block中与第一block相邻的部分空间划归给第一block,从而使TCAM实现硬件block容量共享。In the method for managing the TCAM table space of the tri-state content addressing memory in the embodiment of the present invention, two services of different table look widths are respectively placed in the adjacent first block and the second block, and the first block and the first block are respectively The write direction of the second block is reversed, so that when the table in the first block is full and the table in the second block is full, the parameters of the first register and the second register can be configured to The adjacent space of a block is allocated to the first block, so that the TCAM realizes hardware block capacity sharing.
附图说明DRAWINGS
图1为本发明实施例中管理三态内容寻址存储器TCAM表空间的方法的步骤流程图;1 is a flow chart showing the steps of a method for managing a TCAM table space of a tri-state content addressable memory according to an embodiment of the present invention;
图2为本发明实施例中动态调整第一block和第二block的空间大小之前的第一block和第二block的空间示意图;2 is a schematic diagram showing the space of the first block and the second block before dynamically adjusting the spatial size of the first block and the second block in the embodiment of the present invention;
图3为本发明实施例中动态调整第一block和第二block的空间大小之后的第一block和第二block的空间示意图; 3 is a schematic diagram showing the space of the first block and the second block after dynamically adjusting the spatial size of the first block and the second block in the embodiment of the present invention;
图4为本发明实施例中管理三态内容寻址存储器TCAM表空间的装置的结构示意图。FIG. 4 is a schematic structural diagram of an apparatus for managing a TCAM table space of a tri-state content addressable memory according to an embodiment of the present invention.
具体实施方式detailed description
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及优选实施例进行详细描述。In order to make the technical problems, technical solutions, and advantages of the present invention more apparent, the following detailed description will be made in conjunction with the accompanying drawings and preferred embodiments.
本发明实施例针对现有技术中TCAM硬件block不能容量共享的问题,提供了一种管理三态内容寻址存储器TCAM表空间的方法及装置,能使TCAM实现硬件block容量共享。The embodiment of the present invention provides a method and a device for managing a TCAM table space of a tri-state content-addressable memory in the prior art that the TCAM hardware block cannot share capacity, and enables the TCAM to implement hardware block capacity sharing.
如图1所示,本发明的实施例提供了一种管理三态内容寻址存储器TCAM表空间的方法,该方法包括:As shown in FIG. 1, an embodiment of the present invention provides a method for managing a TCAM table space of a tri-state content addressed memory, the method comprising:
步骤11,配置TCAM的第一寄存器的第一参数,第一参数包括查表空间范围,查表空间范围对应多个块block。Step 11: Configure a first parameter of the first register of the TCAM, where the first parameter includes a table space range, and the table space range corresponds to multiple block blocks.
在本发明的优选实施例中,第一寄存器的第一参数是用来表明,用TCAM查表时的查表空间范围,且该查表范围对应多个硬件block。In a preferred embodiment of the present invention, the first parameter of the first register is used to indicate a table lookup space range when the table is looked up by the TCAM, and the lookup table range corresponds to a plurality of hardware blocks.
步骤12,根据查表空间范围,配置TCAM的第二寄存器的第二参数,第二参数包括在查表空间范围内的各个block的空间大小和查表宽度。Step 12: Configure a second parameter of the second register of the TCAM according to the table space range, where the second parameter includes a space size and a table width of each block in the table space.
在本发明的优选实施例中,TCAM的各个硬件block中放的表的查表宽度和空间大小有可能都不一样。例如现网中,IPv6ACL实际不会配置很多,IPv4ACL会配置的比较多,因此用于放IPv6ACL的硬件block的空间会比用于放IPv4ACL的硬件block的空间要小。同时,由于IPv4五元组的宽度为107bit,IPv6五元组的宽度为299bit,因此,用于放IPv4ACL的硬件block的查表宽度与用于放IPv6ACL的硬件block的查表宽度会不一样,优选的查表宽度会根据TCAM的型号来配置,例如NL11K系列,IPv4相应的数据库要按160bit位宽配置,IPv6ACL相应的block要按照320bit位宽配置。In a preferred embodiment of the present invention, the lookup table width and space size of the tables placed in the respective hardware blocks of the TCAM may be different. For example, in the current network, the IPv6 ACL is not configured much, and the IPv4 ACL is configured more. Therefore, the space for the hardware block for the IPv6 ACL is smaller than the space for the hardware block for the IPv4 ACL. At the same time, since the width of the IPv4 quintuple is 107 bits and the width of the IPv6 quintuple is 299 bits, the lookup width of the hardware block used for placing the IPv4 ACL is different from the width of the lookup table of the hardware block for placing the IPv6 ACL. The preferred look-up table width will be configured according to the model of the TCAM. For example, the NL11K series, the corresponding database of IPv4 should be configured according to the 160-bit width, and the corresponding block of the IPv6 ACL should be configured according to the 320-bit width.
步骤13,在相邻的第一block和第二block中写表,且第一block的写表方向与第二block的写表方向相反,优选地,分别按照从地址低到地址高的方向和地址高到地址低的方向在第一block和第二block中写表。 Step 13, writing a table in the adjacent first block and the second block, and the write direction of the first block is opposite to the write direction of the second block, preferably in a direction from a low address to an address high, respectively. The address is written in the first block and the second block in the direction from the address high to the low address.
在本发明的优选实施例中,第一block条目从地址低向地址高写,第二block条目从地址高向地址低写,这样当第一block被写满且第二block未被写满时,可以通过调整第一参数和第二参数,重新分配第一block和第二block的空间大小。另外,在本发明的实施例中,可以根据需要配置相邻的两个block按上述写表方法写表,实现容量共享,而对于TCAM中其它的block还是可以按照传统的写表方式进行写表。In a preferred embodiment of the invention, the first block entry is written from address low to address high, and the second block entry is written from address high to address low, such that when the first block is full and the second block is not full The space size of the first block and the second block can be re-allocated by adjusting the first parameter and the second parameter. In addition, in the embodiment of the present invention, the two adjacent blocks can be configured to write the table according to the above-mentioned write table method to implement capacity sharing, and the other blocks in the TCAM can still be written in the traditional write table manner. .
步骤14,判断第一block和第二block是否写满,若第一block写满且第二block未写满,则调整第一参数和第二参数,以将第二block中与第一block相邻的部分空间划归给第一block,并按照调整后的第一参数和第二参数写表。Step 14: Determine whether the first block and the second block are full. If the first block is full and the second block is not full, adjust the first parameter and the second parameter to compare the first block with the first block. The partial space of the neighbor is assigned to the first block, and the table is written according to the adjusted first parameter and the second parameter.
在本发明的上述实施例中,上述方法还包括:判断第一block和第二block是否写满,若第一block和第二block都未写满,则继续写表;若第一block和第二block都写满,则返回写表失败的信息。In the above embodiment of the present invention, the method further includes: determining whether the first block and the second block are full, and if the first block and the second block are not full, continuing to write the table; if the first block and the first block When both blocks are full, the information that failed to write the table is returned.
在本发明的上述实施例中,在执行步骤14中的判断第一block和第二block是否写满,若第一block写满且第二block未写满,则调整第一参数和第二参数,并按照调整后的第一参数和第二参数写表的步骤之前,上述方法还包括:检测第二block中是否存在碎片;若存在碎片,则将碎片进行压缩,这样使得软件管理简单,不涉及大量表项搬移,转发面不受影响。In the above embodiment of the present invention, it is determined in step 14 whether the first block and the second block are full, and if the first block is full and the second block is not full, the first parameter and the second parameter are adjusted. And before the step of writing the table according to the adjusted first parameter and the second parameter, the method further includes: detecting whether there is fragment in the second block; if there is fragmentation, compressing the fragment, so that the software management is simple, not A large number of entries are involved, and the forwarding surface is not affected.
在本发明的优选实施例中,可以配置第一block和第二block的预留容量,例如第一block和第二block各有1/3的空间为预留,这部分预留空间为自己独享。这样可以不至于第一block内的业务占满两个block空间,而用户后来要配置第二block的业务时而没有一点空间可用。In a preferred embodiment of the present invention, the reserved capacity of the first block and the second block may be configured, for example, one third of the first block and the second block are reserved, and the reserved space is reserved for itself. enjoy. In this way, the service in the first block does not occupy two block spaces, and the user later configures the service of the second block without any space available.
在本发明的优选实施例中,以ACL表为例说明,由于用户偶尔也会进行ACL删除操作,使TCAM的硬件block中可能存在空闲空间,当然有可能每次删除操作都伴随压缩操作,也有可能不压缩,等到适当时间进行压缩,这具体依赖于TCAM表管理算法。其中,压缩的作用在于将第二block中的零散碎片集中成连续的空间,并将集中后的连续空间移至与第一block相邻的位置,便于第一block占用这些碎片空间。In the preferred embodiment of the present invention, the ACL table is taken as an example. Since the user occasionally performs an ACL deletion operation, there may be free space in the TCAM hardware block. Of course, it is possible that each deletion operation is accompanied by a compression operation, and It may not be compressed and wait until the appropriate time for compression, depending on the TCAM table management algorithm. The function of the compression is to concentrate the scattered fragments in the second block into a continuous space, and move the concentrated continuous space to a position adjacent to the first block, so that the first block occupies the fragment space.
可选地,在本发明的上述实施例中,第一block中写的是IPv4访问控制列表ACL,且第一block的查表宽度为160bit;第二block中写的是IPv6ACL,且第二block的查表宽度为320bit。Optionally, in the foregoing embodiment of the present invention, the IPv4 access control list ACL is written in the first block, and the lookup table width of the first block is 160 bits; the second block is written with an IPv6 ACL, and the second block is The lookup table width is 320bit.
在本发明的优选实施例中,以一个优选的实例为例说明,配置第一寄存器的第一参数和第二寄存器的第二参数之后,在第一block中按地址低到地址高的方向写IPv4 ACL,在第二block中按地址高到地址低的方向写IPv6ACL,如图2所示,其中,动态调整第一block和第二block的空间大小之前,第一block的空间为M,第二block的空间为N,当检测到第一block写满且第二block未写满时,可以动态调整第一block和第二block的空间大小。即,调整第一参数和第二参数,将第二block中与第一block相邻的空间P划归给第一block,并且空间P的查表宽度也改为与空间M的查表宽度一样,这样,如图3所示,第一block的空间扩大为M+N,第二block的空间缩小为N-P。其中,第一寄存器与第二寄存器需要根据TCAM的具体型号来定。例如若在该实例中采用的是NETLOGIC NL系列的TCAM的话,第二寄存器包括逻辑表寄存器(Logical Table Register,简称为LTR)组中的块选择寄存器(Block Select Register,简称为BSR),以及块配置寄存器(Block Configuration Register,简称为BCR)等。In a preferred embodiment of the present invention, a preferred example is taken as an example. After configuring the first parameter of the first register and the second parameter of the second register, writing in the first block in the direction from the address low to the address high IPv4 ACL, in the second block, writes the IPv6 ACL in the direction from the address high to the low address, as shown in Figure 2. Before dynamically adjusting the space size of the first block and the second block, the space of the first block is M, and the second The space of the block is N. When it is detected that the first block is full and the second block is not full, the space size of the first block and the second block can be dynamically adjusted. That is, the first parameter and the second parameter are adjusted, and the space P adjacent to the first block in the second block is assigned to the first block, and the lookup width of the space P is also changed to be the same as the lookup width of the space M. Thus, as shown in FIG. 3, the space of the first block is expanded to M+N, and the space of the second block is reduced to NP. The first register and the second register need to be determined according to the specific model of the TCAM. For example, if the TCAM of the NETLOGIC NL series is used in this example, the second register includes a Block Select Register (BSR) in the Logical Table Register (LTR) group, and a block. Configuration Register (Block Configuration Register, BCR for short).
为了更好地实现上述目的,如图4所示,本发明的实施例还提供了一种管理三态内容寻址存储器TCAM表空间的装置,该装置包括:In order to achieve the above objective, as shown in FIG. 4, an embodiment of the present invention further provides an apparatus for managing a TCAM table space of a tri-state content addressed memory, the apparatus comprising:
第一配置模块41,设置为配置TCAM的第一寄存器的第一参数,第一参数包括查表空间范围,查表空间范围对应多个块block;The first configuration module 41 is configured to configure a first parameter of the first register of the TCAM, where the first parameter includes a table space range, and the table space range corresponds to multiple block blocks;
第二配置模块42,设置为根据查表空间范围,配置TCAM的第二寄存器的第二参数,第二参数包括在查表空间范围内的各个block的空间大小和查表宽度;The second configuration module 42 is configured to configure a second parameter of the second register of the TCAM according to the table space range, where the second parameter includes a space size and a table width of each block in the table space;
写表模块43,设置为在相邻的第一block和第二block中写表,且第一block的写表方向与第二block的写表方向相反;The write table module 43 is configured to write a table in the adjacent first block and the second block, and the write table direction of the first block is opposite to the write table direction of the second block;
判断模块44,设置为判断第一block和第二block是否写满,The determining module 44 is configured to determine whether the first block and the second block are full.
并在第一block写满且第二block未写满时,触发调整模块45,And when the first block is full and the second block is not full, the adjustment module 45 is triggered,
调整模块45,设置为根据判断模块44的触发,调整第一参数和第二参数,以将第二block中与第一block相邻的部分空间划归给第一block,并触发写表模块43按照调整后的第一参数和第二参数写表。The adjusting module 45 is configured to adjust the first parameter and the second parameter according to the triggering of the determining module 44, to allocate the partial space adjacent to the first block in the second block to the first block, and trigger the writing table module 43 Write the table according to the adjusted first parameter and second parameter.
其中,装置还包括:Wherein, the device further comprises:
判断模块44在第一block和第二block都未写满时,触发写表模块43继续写表,以及在第一block和第二block都写满时,触发返回模块;The determining module 44 triggers the write table module 43 to continue writing the table when both the first block and the second block are not full, and triggers the return module when both the first block and the second block are full;
返回模块,设置为根据判断模块的触发,返回写表失败的信息。Return to the module, set to return the information that failed to write the table according to the trigger of the judgment module.
其中,写表模块43包括: The write table module 43 includes:
第一单元,设置为分别按照从地址低到地址高的方向和地址高到地址低的方向在第一block和第二block中写表。The first unit is configured to write the table in the first block and the second block in a direction from the address low to the address high and the address high to the address low, respectively.
其中,装置还包括:Wherein, the device further comprises:
检测模块,设置为检测第二block中是否存在碎片,并当存在碎片时,触发压缩模块,The detecting module is configured to detect whether there is a fragment in the second block, and when there is fragmentation, trigger the compression module,
压缩模块,设置为将碎片进行压缩。The compression module is set to compress the fragments.
其中,第一block中写的是IPv4访问控制列表ACL,且第一block的查表宽度为160bit。The IPv4 access control list ACL is written in the first block, and the lookup table width of the first block is 160 bits.
其中,第二block中写的是IPv6ACL,且第二block的查表宽度为320bit。The second block is written with an IPv6 ACL, and the second block has a table width of 320 bits.
工业实用性:通过上述描述可知,本发明将两种不同查表宽度的业务分别放到相邻的第一block和第二block中,且第一block与第二block的写表方向相反,这样当第一block内的表写满且第二block内的表为写满时,可以通过配置第一寄存器与第二寄存器的参数,将第二block中与第一block相邻的部分空间划归给第一block,从而使TCAM实现硬件block容量共享。Industrial Applicability: As can be seen from the above description, the present invention puts two different look-up-width services into adjacent first blocks and second blocks, and the writing directions of the first block and the second block are opposite, such that When the table in the first block is full and the table in the second block is full, the part of the second block adjacent to the first block can be classified by configuring the parameters of the first register and the second register. Give the first block, so that the TCAM implements hardware block capacity sharing.
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。 The above is a preferred embodiment of the present invention, and it should be noted that those skilled in the art can also make several improvements and retouchings without departing from the principles of the present invention. It should be considered as the scope of protection of the present invention.

Claims (12)

  1. 一种管理三态内容寻址存储器TCAM表空间的方法,包括:A method of managing a TSTAT table space of a tri-state content addressed memory, comprising:
    配置所述TCAM的第一寄存器的第一参数,所述第一参数包括查表空间范围,所述查表空间范围对应多个块block;Configuring a first parameter of the first register of the TCAM, the first parameter includes a table space range, and the table space range corresponds to a plurality of block blocks;
    根据所述查表空间范围,配置所述TCAM的第二寄存器的第二参数,所述第二参数包括在所述查表空间范围内的各个block的空间大小和查表宽度;And configuring, according to the table space range, a second parameter of the second register of the TCAM, where the second parameter includes a space size and a table look width of each block in the table lookup space;
    在相邻的第一block和第二block中写表,且所述第一block的写表方向与所述第二block的写表方向相反;Writing a table in the adjacent first block and the second block, and the write table direction of the first block is opposite to the write table direction of the second block;
    判断所述第一block和所述第二block是否写满,若所述第一block写满且所述第二block未写满,则调整所述第一参数和第二参数,以将所述第二block中与所述第一block相邻的部分空间划归给所述第一block,并按照调整后的第一参数和第二参数写表。Determining whether the first block and the second block are full, if the first block is full and the second block is not full, adjusting the first parameter and the second parameter to A partial space adjacent to the first block in the second block is allocated to the first block, and the table is written according to the adjusted first parameter and the second parameter.
  2. 如权利要求1所述的方法,其中,所述方法还包括:The method of claim 1 wherein the method further comprises:
    若所述第一block和所述第二block都未写满,则继续写表;If the first block and the second block are not full, continue to write the table;
    若所述第一block和所述第二block都写满,则返回写表失败的信息。If the first block and the second block are both full, the information that the write table failed is returned.
  3. 如权利要求1所述的方法,其中,所述在相邻的第一block和第二block中写表,且所述第一block的写表方向与所述第二block的写表方向相反的步骤包括:The method of claim 1, wherein said writing a table in adjacent first block and second block, and said write direction of said first block is opposite to a write direction of said second block The steps include:
    分别按照从地址低到地址高的方向和地址高到地址低的方向在所述第一block和所述第二block中写表。The table is written in the first block and the second block in a direction from an address low to an address high and an address high to an address low, respectively.
  4. 如权利要求1所述的方法,其中,所述判断所述第一block和所述第二block是否写满,若所述第一block写满且所述第二block未写满,则调整所述第一参数和第二参数,并按照调整后的第一参数和第二参数写表的步骤之前,所述方法还包括:The method of claim 1, wherein the determining whether the first block and the second block are full, if the first block is full and the second block is not full, then adjusting the method Before the step of writing the first parameter and the second parameter according to the adjusted first parameter and the second parameter, the method further includes:
    检测所述第二block中是否存在碎片;Detecting whether there is fragment in the second block;
    若存在碎片,则将所述碎片进行压缩。If there is fragmentation, the fragment is compressed.
  5. 如权利要求1所述的方法,其中,所述第一block中写的是因特网协议版本4IPv4访问控制列表ACL,且所述第一block的查表宽度为160字节bit。 The method of claim 1, wherein the first block is written with an Internet Protocol version 4 IPv4 access control list ACL, and the lookup table width of the first block is 160 byte bits.
  6. 如权利要求1所述的方法,其中,所述第二block中写的是因特网协议版本6IPv6访问控制列表ACL,且所述第二block的查表宽度为320bit。The method of claim 1, wherein the second block is written with an Internet Protocol version 6 IPv6 access control list ACL, and the lookup width of the second block is 320 bits.
  7. 一种管理三态内容寻址存储器TCAM表空间的装置,包括:An apparatus for managing a TSTAT table space of a tri-state content addressed memory, comprising:
    第一配置模块,设置为配置所述TCAM的第一寄存器的第一参数,所述第一参数包括查表空间范围,所述查表空间范围对应多个块block;a first configuration module, configured to configure a first parameter of the first register of the TCAM, the first parameter includes a lookup table space range, and the lookup table space range corresponds to a plurality of block blocks;
    第二配置模块,设置为根据所述查表空间范围,配置所述TCAM的第二寄存器的第二参数,所述第二参数包括在所述查表空间范围内的各个block的空间大小和查表宽度;a second configuration module, configured to configure a second parameter of the second register of the TCAM according to the table space range, where the second parameter includes a space size and a check of each block in the table lookup space Table width
    写表模块,设置为在相邻的第一block和第二block中写表,且所述第一block的写表方向与所述第二block的写表方向相反;Writing a table module, configured to write a table in the adjacent first block and the second block, and the write table direction of the first block is opposite to the write table direction of the second block;
    判断模块,设置为判断所述第一block和所述第二block是否写满,并在所述第一block写满且所述第二block未写满时,触发调整模块,a determining module, configured to determine whether the first block and the second block are full, and triggering an adjustment module when the first block is full and the second block is not full
    调整模块,设置为根据所述判断模块的触发,调整所述第一参数和第二参数,以将所述第二block中与所述第一block相邻的部分空间划归给所述第一block,并触发所述写表模块按照调整后的第一参数和第二参数写表。The adjusting module is configured to adjust the first parameter and the second parameter according to the triggering of the determining module, to assign a part of the second block adjacent to the first block to the first Block, and triggering the write table module to write the table according to the adjusted first parameter and the second parameter.
  8. 如权利要求7所述的装置,其中,所述装置还包括:The device of claim 7 wherein said device further comprises:
    所述判断模块在所述第一block和所述第二block都未写满时,触发所述写表模块继续写表,以及在所述第一block和所述第二block都写满时,触发返回模块;The determining module triggers the write table module to continue writing the table when the first block and the second block are not full, and when the first block and the second block are full, Trigger return module;
    返回模块,设置为根据所述判断模块的触发,返回写表失败的信息。The return module is configured to return information that the write table failed according to the trigger of the determining module.
  9. 如权利要求7所述的装置,其中,所述写表模块包括:The apparatus of claim 7 wherein said write table module comprises:
    第一单元,设置为分别按照从地址低到地址高的方向和地址高到地址低的方向在所述第一block和所述第二block中写表。The first unit is configured to write a table in the first block and the second block in a direction from an address low to an address high and an address high to an address low, respectively.
  10. 如权利要求7所述的装置,其中,所述装置还包括:The device of claim 7 wherein said device further comprises:
    检测模块,设置为检测所述第二block中是否存在碎片,并当存在碎片时,触发压缩模块;a detecting module, configured to detect whether there is a fragment in the second block, and trigger a compression module when there is fragmentation;
    压缩模块,设置为将所述碎片进行压缩。 A compression module configured to compress the fragments.
  11. 如权利要求7所述的装置,其中,所述第一block中写的是IPv4访问控制列表ACL,且所述第一block的查表宽度为160bit。The apparatus of claim 7, wherein the first block is written with an IPv4 access control list ACL, and the lookup width of the first block is 160 bits.
  12. 如权利要求7所述的装置,其中,所述第二block中写的是IPv6ACL,且所述第二block的查表宽度为320bit。 The apparatus of claim 7, wherein the second block is written with an IPv6 ACL, and the second block has a look-up table width of 320 bits.
PCT/CN2015/079107 2014-12-11 2015-05-15 Method and device for managing table space of ternary content addressable memory WO2016090848A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410764043.7 2014-12-11
CN201410764043.7A CN105743678A (en) 2014-12-11 2014-12-11 Method and apparatus for managing table space of ternary content addressable memory (TCAM)

Publications (1)

Publication Number Publication Date
WO2016090848A1 true WO2016090848A1 (en) 2016-06-16

Family

ID=56106569

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/079107 WO2016090848A1 (en) 2014-12-11 2015-05-15 Method and device for managing table space of ternary content addressable memory

Country Status (2)

Country Link
CN (1) CN105743678A (en)
WO (1) WO2016090848A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992579A (en) * 2021-09-23 2022-01-28 新华三信息安全技术有限公司 Routing table entry storage method, routing table entry searching method and routing table entry searching device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279853A (en) * 2018-01-19 2018-07-13 盛科网络(苏州)有限公司 IPMC date storage methods based on TCAM
CN108512776B (en) * 2018-03-07 2021-09-14 深圳市风云实业有限公司 Flexible combination method and device for TCAM table in exchange chip and chip
CN108769045B (en) * 2018-06-07 2020-09-29 深圳市风云实业有限公司 ACL rule configuration method, device and network equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003012672A2 (en) * 2001-07-20 2003-02-13 Nokia Inc. Selective routing of data flows using a tcam
CN101039252A (en) * 2006-03-15 2007-09-19 中兴通讯股份有限公司 Method for managing route table of ternary content addressable memory
CN101321162A (en) * 2008-07-03 2008-12-10 江苏华丽网络工程有限公司 TCP sequence number examination hardware implementing method based on TCAM order pair
CN104009922A (en) * 2014-05-09 2014-08-27 烽火通信科技股份有限公司 IPV4/IPV6 routing capacity sharing method based on TCAM

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8929115B2 (en) * 2011-11-30 2015-01-06 Stmicroelectronics International N.V. XY ternary content addressable memory (TCAM) cell and array

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003012672A2 (en) * 2001-07-20 2003-02-13 Nokia Inc. Selective routing of data flows using a tcam
CN101039252A (en) * 2006-03-15 2007-09-19 中兴通讯股份有限公司 Method for managing route table of ternary content addressable memory
CN101321162A (en) * 2008-07-03 2008-12-10 江苏华丽网络工程有限公司 TCP sequence number examination hardware implementing method based on TCAM order pair
CN104009922A (en) * 2014-05-09 2014-08-27 烽火通信科技股份有限公司 IPV4/IPV6 routing capacity sharing method based on TCAM

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992579A (en) * 2021-09-23 2022-01-28 新华三信息安全技术有限公司 Routing table entry storage method, routing table entry searching method and routing table entry searching device
CN113992579B (en) * 2021-09-23 2023-03-31 新华三信息安全技术有限公司 Routing table entry storage method, routing table entry searching method and routing table entry searching device

Also Published As

Publication number Publication date
CN105743678A (en) 2016-07-06

Similar Documents

Publication Publication Date Title
US11102120B2 (en) Storing keys with variable sizes in a multi-bank database
US9871728B2 (en) Exact match hash lookup databases in network switch devices
Banerjee et al. Tag-in-tag: Efficient flow table management in sdn switches
US7606236B2 (en) Forwarding information base lookup method
US10608866B2 (en) Forwarding Ethernet packets
EP2830260B1 (en) Rule matching method and device
CN107528783B (en) IP route caching with two search phases for prefix length
WO2016090848A1 (en) Method and device for managing table space of ternary content addressable memory
WO2014127605A1 (en) Mac address hardware learning method and system based on hash table and tcam table
CN113519144B (en) Exact match and Ternary Content Addressable Memory (TCAM) hybrid lookup for network devices
EP3499816B1 (en) Method for configuring address table, fpga, and network device applying fpga
CN105791455B (en) Processing method and device for TCAM space
US8848707B2 (en) Method for IP longest prefix match using prefix length sorting
WO2017032238A1 (en) Route management
US20190182160A1 (en) Packet classification using fingerprint hash table
CN102291472A (en) Network address lookup method and device
US20170078200A1 (en) Multi-table hash-based lookups for packet processing
US20150333929A1 (en) Dynamic ternary content-addressable memory carving
US8125991B1 (en) Network switch using managed addresses for fast route lookup
WO2024067746A1 (en) Method and system for mask matching implemented on basis of fpga
US20230367720A1 (en) Data search method and apparatus, and integrated circuit
US20190171582A1 (en) Managing cache memory in a network element based on costs associated with fetching missing cache entries
US11018978B1 (en) Configurable hash-based lookup in network devices
US10771537B2 (en) Technologies for scrambling in load balancers
CN107707479B (en) Five-tuple rule searching method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15868320

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15868320

Country of ref document: EP

Kind code of ref document: A1