CN113095052A - Table entry arrangement method, device, equipment and storage medium - Google Patents
Table entry arrangement method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN113095052A CN113095052A CN201911340142.1A CN201911340142A CN113095052A CN 113095052 A CN113095052 A CN 113095052A CN 201911340142 A CN201911340142 A CN 201911340142A CN 113095052 A CN113095052 A CN 113095052A
- Authority
- CN
- China
- Prior art keywords
- table entry
- service
- parts
- entry
- splitting
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The application provides a method, a device, equipment and a storage medium for table entry arrangement, wherein the method comprises the following steps: splitting the table entry of the mutual exclusion service into a plurality of parts; the plurality of portions are sequentially arranged in different storage units. According to the technical scheme, the plurality of split table entry parts are arranged in different banks, the problems that in the prior art, the number of table entry copies is large, and storage space is insufficient are solved, a small amount of table entry space is used under the condition that the bandwidth is fixed, DDR space utilization is effectively compressed, and space utilization rate is improved.
Description
Technical Field
The present application relates to the field of communications devices, and in particular, to a method, an apparatus, a device, and a storage medium for arranging entries.
Background
In a conventional table entry design method of an Integrated Circuit (ASIC) and a Network Processor (NP), each service table is designed as a continuous linear space, 1 or a plurality of banks are occupied by using an internal bank (bank) as a unit, and the number of copies of the bank is calculated in advance according to a bandwidth requirement of the service table, wherein the bank is a unit for internal storage of a Double Data Rate (DDR) memory and bandwidth resource allocation.
However, due to the huge difference between the bandwidth of the DDR memory and the performance of NP forwarding, the number of copies is very large, and the storage space of the DDR memory is obviously insufficient.
Disclosure of Invention
The application provides a method, a device, equipment and a storage medium for table entry arrangement.
In a first aspect, an embodiment of the present application provides a table entry arrangement method, including:
splitting the table entry of the mutual exclusion service into a plurality of parts;
the plurality of portions are sequentially arranged in different storage units.
In a second aspect, an embodiment of the present application provides an entry arrangement apparatus, including:
the splitting module is used for splitting the table entry of the mutual exclusion service into a plurality of parts;
an arrangement module configured to arrange the plurality of portions in different storage units in sequence.
In a third aspect, an embodiment of the present application provides an apparatus, including:
one or more processors;
a memory for storing one or more programs;
when executed by the one or more processors, cause the one or more processors to implement a method as in any one of the embodiments of the present application.
In a fourth aspect, the present application provides a storage medium storing a computer program, where the computer program is executed by a processor to implement any one of the methods in the embodiments of the present application.
With regard to the above embodiments and other aspects of the present application and implementations thereof, further description is provided in the accompanying drawings description, detailed description and claims.
Drawings
FIG. 1 is a table entry layout of NP/ASCI in the prior art;
fig. 2 is a flowchart of a table entry arrangement method according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a table entry arrangement provided in an embodiment of the present application;
FIG. 4 is a schematic diagram of another table entry arrangement manner provided in the embodiment of the present application
Fig. 5 is a schematic structural diagram of an entry arrangement apparatus according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of an apparatus provided in the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more apparent, embodiments of the present application will be described in detail below with reference to the accompanying drawings. It should be noted that the embodiments and features of the embodiments in the present application may be arbitrarily combined with each other without conflict.
The development speed of the network is remarkable nowadays, and the increase of network traffic and the emergence of new services require network equipment with wire speed and flexible processing capability. Network chips currently include two broad categories, set ASIC and NP.
The peripheral interfaces of the network chip are very rich, such as a Static Random Access Memory (Static RAM, SRAM), a Ternary Content Addressable Memory (TCAM), a Synchronous Dynamic Random Access Memory (SDRAM), and the like, where the Memory stores various service table entries, such as a port table, a Media Access Control (MAC) table, a routing table, and the like; in addition, the chip internally includes a large number of registers.
The processing performance of NP and ASIC chips is changing from 10G to 40G to 100G, and in the fifth generation mobile communication technology (5th generation mobile 4e networks, 5G), the processing performance of NP and ASIC has reached 1Tbps level, presenting a trend of exponential increase. But peripheral memory performance is far from keeping up with the development of NP and ASIC performance, from first generation DDR memory to second generation DDR memory, third generation DDR memory to fourth generation DDR memory, just by multiple orders of growth.
In order to solve the problem that the DDR memory bandwidth is far behind the NP/ASIC forwarding performance, a common solution at present is to use bank copy, wherein the bank is a unit for internal storage and bandwidth resource allocation of the DDR memory, that is, a space trade-off time mode is used to solve the problem that the DDR bandwidth is far behind the NP/ASIC forwarding performance.
However, the problem caused by the above solution is that the number of copies is very large due to the huge difference between the DDR bandwidth and the NP forwarding performance, so the storage space of the DDR is obviously insufficient, and particularly, the current 5G service is more and more abundant, and more service entries are needed, and the above contradiction is more and more obvious.
FIG. 1 shows a table entry layout of NP/ASCI in the prior art. As shown in fig. 1, in the conventional NP/ASCI entry design method, each service table is designed as a continuous linear space, 1 or a plurality of banks are occupied by taking a bank as a unit, the number of copies of the bank is calculated in advance according to the bandwidth requirement of the service table, and entry design and arrangement are performed, where a rectangular box 101 in fig. 1 represents a bank.
As shown in fig. 1, in the conventional table entry arrangement manner, the table 1 and the table 2 exclusively occupy the bank manner, and if only the service 1 corresponding to the table 1 exists, the bank bandwidth occupied by the table 2 is wasted greatly. All services which are possibly opened are considered to be fixedly reserved in the table entry design and arrangement process, and a plurality of service users are rarely configured, so that the bandwidth waste is very serious.
Fig. 2 is a flowchart of a table entry arrangement method according to an embodiment of the present application, where the method may be applied to a case where a service table entry in a bank in a memory is designed to perform arrangement design. The method may be performed by the table entry arrangement apparatus provided in the present application, and the table entry arrangement apparatus may be implemented by software and/or hardware.
As shown in fig. 2, the entry arrangement method provided in the embodiment of the present application mainly includes steps S11 and S12.
S11, splitting the list item of the mutual exclusion service into a plurality of parts;
and S12, arranging the parts in different storage units in sequence.
It should be noted that one memory cell in this embodiment is a bank.
In an exemplary embodiment, splitting the entry of the mutual exclusion service into a plurality of parts includes: and splitting the table entry of the mutual exclusion service into N-th power parts of 2, wherein N is the number of the storage units.
In an exemplary embodiment, said sequentially arranging the plurality of portions in different storage units includes: the plurality of portions are sequentially arranged in a plurality of memory cells arranged in a lateral direction.
In an exemplary embodiment, the method further comprises: and allocating the table entry parts arranged in each storage unit in a preset number of resource pools.
In an exemplary embodiment, the number of the resource pools is the same as the number of entries.
In an exemplary embodiment, the mutually exclusive services are services belonging to different service layers.
In an exemplary embodiment, a resource pool corresponds to an entry of a write table block.
In an application example, fig. 3 is a schematic diagram of an entry arrangement manner provided in an embodiment of the present application, and as shown in fig. 3, tables 1 and 2 are respectively split and arranged in different banks. Namely, table 1 is split into a first part and a second part, table 2 is split into a first part and a second part, and the first part and the second part of table 1 are placed within two bank bandwidths. Therefore, for each service, the bandwidth of two banks can be shared, so that the bandwidth utilization rate is greatly improved, and for a single service, the bandwidth can be doubled compared with that of a traditional design mode.
By adopting the design mode, for a certain service, under the condition that the required bandwidth is fixed, only half of the table entry space of the traditional mode is needed, so that the space utilization of the DDR can be effectively compressed, and the space utilization rate is improved.
In an application example, a bandwidth M required by a service entry is arranged into N banks, a bandwidth provided by a single bank is B, and the number of copies is C, and then the following relationship exists:
M=N×B×C。
and calculating and arranging according to the formula when designing the table items.
For example, the capacities of a certain service table 1/table 2/table 3/table 4 are 1 bank, each service requires 800M service access times, the single bank bandwidth of the DDR is 10 mps, and 80 copies are required in each of table 1 and table 2 in a conventional manner.
Fig. 4 is a schematic diagram of another table entry arrangement manner provided in this embodiment, if according to the technical solution provided in this application, as shown in fig. 4, each of tables 1/2/3/4 is divided into 4 parts, and hashed into 4 banks in the horizontal direction, so that only 20 copies of each table are required because the 4 parts can utilize the bandwidth of the bank. This can save bandwidth to a great extent.
In order to fully utilize the bandwidth of each bank, for a single table, the table is divided into a plurality of parts, the control plane table entry index management mode needs to be changed, the table entry of each write table block is used as a resource pool, as in the above example, 4 resource pools need to be allocated, and the resource is allocated into 4 resource pools as uniformly as possible, so as to share the bandwidth load as much as possible.
For the forwarding plane, the lookup table is shared by different banks, so that the lookup table pressure is shared by a plurality of banks, and the bandwidths of the plurality of banks are fully utilized.
In one example of application, to facilitate table writing and table lookup, the table entry may be divided into 2n (integer power of 2) parts, where n is the number of shared banks, so that the table Index, Index [ n:0] is selected as the bank, Index [ m: n +1] is selected as the table lookup Index in the bank, and forwarding table lookup is handled similarly.
In this way, the same table lookup bandwidth requirement is required, and the used space is greatly saved, in the above example, by using the technical scheme of the present application, the table lookup bandwidth requirement can be satisfied only by the space of the conventional way 1/4.
Fig. 5 is a schematic structural diagram of a table entry arrangement apparatus according to an embodiment of the present application. The device can be suitable for the condition of arranging and designing the service table items in the bank in the design memory. The table entry arranging means may be implemented by software and/or hardware.
As shown in fig. 5, the table entry arrangement apparatus provided in the embodiment of the present application mainly includes a splitting module 51 and a special arrangement module 52.
The splitting module 51 is configured to split the entry of the mutual exclusion service into a plurality of parts.
An arranging module 52 configured to arrange the plurality of portions in different storage units in sequence.
In an exemplary embodiment, the splitting module 51 is configured to split the entry of the mutual exclusion service into N-th power parts of 2, where N is the number of the storage units.
In an exemplary embodiment, the arranging module 52 is configured to arrange the plurality of portions in sequence in a plurality of storage units arranged in a transverse direction.
In an exemplary embodiment, the method further comprises: and the configuration module is set to configure the table entry parts arranged in each storage unit in a preset number of resource pools.
In an exemplary embodiment, the number of the resource pools is the same as the number of entries.
In an exemplary embodiment, the mutually exclusive services are services belonging to different service layers.
In an exemplary embodiment, a resource pool corresponds to an entry of a write table block.
An apparatus is further provided in the embodiments of the present application, fig. 6 is a schematic structural diagram of an apparatus provided in the present application, as shown in fig. 6, the apparatus provided in the present application includes one or more processors 61 and a memory 62; the processor 61 in the device may be one or more, and one processor 61 is taken as an example in fig. 6; the memory 62 is used to store one or more programs; the one or more programs are executed by the one or more processors 61, so that the one or more processors 61 implement the method as described in the embodiments of the present invention.
The apparatus further comprises: an input device 63 and an output device 64.
The processor 61, the memory 62, the input device 63 and the output device 64 of the apparatus may be connected by a bus or other means, as exemplified by the bus connection in fig. 6.
The input device 63 is operable to receive input numeric or character information and to generate key signal inputs relating to user settings and function control of the apparatus. The output device 64 may include a display device such as a display screen.
The memory 62, as a computer-readable storage medium, may be configured to store a software program, a computer-executable program, and modules, such as program instructions/modules corresponding to the table entry arrangement method described in the embodiments of the present application (for example, the splitting module 51 and the arrangement module 52 in the table entry arrangement apparatus). The memory 62 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to use of the device, and the like. Further, the memory 62 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, the memory 62 may further include memory located remotely from the processor 61, which may be connected to the device over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The embodiment of the present application further provides a storage medium, where the storage medium stores a computer program, and the computer program, when executed by a processor, implements the table entry arrangement method in the embodiment of the present application. The method comprises the following steps:
splitting the table entry of the mutual exclusion service into a plurality of parts;
the plurality of portions are sequentially arranged in different storage units.
Of course, the storage medium provided by the embodiment of the present invention includes computer-executable instructions, and the computer-executable instructions are not limited to the operations of the method described above, and may also perform related operations in the table entry arrangement method provided by any embodiment of the present invention.
From the above description of the embodiments, it is obvious for those skilled in the art that the present invention can be implemented by software and necessary general hardware, and certainly, can also be implemented by hardware, but the former is a better embodiment in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the methods according to the embodiments of the present invention.
It should be noted that, in the embodiment of the table entry arrangement apparatus, each included unit and module are only divided according to functional logic, but are not limited to the above division, as long as the corresponding function can be implemented; in addition, specific names of the functional units are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.
The above description is only exemplary embodiments of the present application, and is not intended to limit the scope of the present application.
It will be clear to a person skilled in the art that the term user terminal covers any suitable type of wireless user equipment, such as a mobile phone, a portable data processing device, a portable web browser or a car mounted mobile station.
In general, the various embodiments of the application may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the application is not limited thereto.
Embodiments of the application may be implemented by a data processor of a mobile device executing computer program instructions, for example in a processor entity, or by hardware, or by a combination of software and hardware. The computer program instructions may be assembly instructions, Instruction Set Architecture (ISA) instructions, machine related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages.
Any logic flow block diagrams in the figures of this application may represent program steps, or may represent interconnected logic circuits, modules, and functions, or may represent a combination of program steps and logic circuits, modules, and functions. The computer program may be stored on a memory. The memory may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as, but not limited to, Read Only Memory (ROM), Random Access Memory (RAM), optical storage devices and systems (digital versatile disks, DVDs, or CD discs), etc. The computer readable medium may include a non-transitory storage medium. The data processor may be of any type suitable to the local technical environment, such as but not limited to general purpose computers, special purpose computers, microprocessors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), programmable logic devices (FGPAs), and processors based on a multi-core processor architecture.
The foregoing has provided by way of exemplary and non-limiting examples a detailed description of exemplary embodiments of the present application. Various modifications and adaptations to the foregoing embodiments may become apparent to those skilled in the relevant arts in view of the following drawings and the appended claims without departing from the scope of the invention. Therefore, the proper scope of the invention is to be determined according to the claims.
Claims (10)
1. A table entry arrangement method is characterized by comprising the following steps:
splitting the table entry of the mutual exclusion service into a plurality of parts;
the plurality of portions are sequentially arranged in different storage units.
2. The method of claim 1, wherein splitting the entry of the mutually exclusive service into a plurality of parts comprises:
and splitting the table entry of the mutual exclusion service into N-th power parts of 2, wherein N is the number of the storage units.
3. The method of claim 1, wherein said arranging the plurality of portions in sequence in different storage units comprises:
the plurality of portions are sequentially arranged in a plurality of memory cells arranged in a lateral direction.
4. The method of claim 1, further comprising:
and allocating the table entry parts arranged in each storage unit in a preset number of resource pools.
5. The method of claim 4, wherein the number of resource pools is the same as the number of entries.
6. The method according to claim 1, wherein said mutually exclusive services are services belonging to different service layers.
7. The method of claim 1, wherein a resource pool corresponds to an entry of a write table block.
8. An entry arrangement apparatus, comprising:
the splitting module is used for splitting the table entry of the mutual exclusion service into a plurality of parts;
an arrangement module configured to arrange the plurality of portions in different storage units in sequence.
9. An apparatus, comprising:
one or more processors;
a memory for storing one or more programs;
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-7.
10. A storage medium, characterized in that the storage medium stores a computer program which, when executed by a processor, implements the method of any one of claims 1-7.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911340142.1A CN113095052A (en) | 2019-12-23 | 2019-12-23 | Table entry arrangement method, device, equipment and storage medium |
PCT/CN2020/133134 WO2021129328A1 (en) | 2019-12-23 | 2020-12-01 | Table entry arrangement method and apparatus, device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911340142.1A CN113095052A (en) | 2019-12-23 | 2019-12-23 | Table entry arrangement method, device, equipment and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113095052A true CN113095052A (en) | 2021-07-09 |
Family
ID=76573164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911340142.1A Pending CN113095052A (en) | 2019-12-23 | 2019-12-23 | Table entry arrangement method, device, equipment and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113095052A (en) |
WO (1) | WO2021129328A1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255798B (en) * | 2011-06-15 | 2014-03-12 | 福建星网锐捷网络有限公司 | Method and line card for synchronizing route forwarding table items |
CN103973571A (en) * | 2013-02-05 | 2014-08-06 | 中兴通讯股份有限公司 | Network processor and routing searching method |
CN107229593B (en) * | 2016-03-25 | 2020-02-14 | 华为技术有限公司 | Cache consistency operation method of multi-chip multi-core processor and multi-chip multi-core processor |
US11080155B2 (en) * | 2016-07-24 | 2021-08-03 | Pure Storage, Inc. | Identifying error types among flash memory |
-
2019
- 2019-12-23 CN CN201911340142.1A patent/CN113095052A/en active Pending
-
2020
- 2020-12-01 WO PCT/CN2020/133134 patent/WO2021129328A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021129328A1 (en) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10496597B2 (en) | On-chip data partitioning read-write method, system, and device | |
EP2352258B1 (en) | Storage method and apparatus | |
CN102707966B (en) | Method and device for acceleratively starting operating system, and method, device and terminal for generating prefetched information | |
CN104182508B (en) | A kind of data processing method and data processing equipment | |
CN101826109B (en) | Large-capacity file splitting method, device and system | |
EP3260993A1 (en) | File operation method and device | |
US9354826B2 (en) | Capacity expansion method and device | |
US20170371812A1 (en) | System and method for odd modulus memory channel interleaving | |
CN102142032B (en) | Method and system for reading and writing data of distributed file system | |
CN105630847A (en) | Data storage method as well as data query method, apparatus and system | |
CN103383660A (en) | Method and device for realizing functions of cache partition of Android system as well as terminal equipment | |
KR102646619B1 (en) | Method and system providing file system for an electronic device comprising a composite memory device | |
CN104657224A (en) | Inter-process communication method and device | |
CN103019884A (en) | Memory page de-weight method and memory page de-weight device based on virtual machine snapshot | |
CN103647850A (en) | Data processing method, device and system of distributed version control system | |
CN104102586A (en) | Address mapping processing method and address mapping processing device | |
CN103678360A (en) | Data storing method and device for distributed file system | |
CN103530253A (en) | Clustering multi-overall-situation buffer pool system, center node, computational node and management method | |
CN113095052A (en) | Table entry arrangement method, device, equipment and storage medium | |
US10073809B2 (en) | Technologies for scalable remotely accessible memory segments | |
CN105511710A (en) | Method and device for exhibiting information, and touch electronic device | |
CN103368944A (en) | Memory shared network architecture and protocol specifications for same | |
WO2023235040A1 (en) | File system improvements for zoned storage device operations | |
CN108681469B (en) | Page caching method, device, equipment and storage medium based on Android system | |
US9304972B2 (en) | Lookup table sharing for memory-based computing |
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 |