Satellite-borne switching resource configuration and fast searching method

By switching the CPU and FPGA to work together, and using CRC mapping and probability value management, the configuration and lookup of onboard switching resources are optimized, solving the storage and speed problems under the hardware limitations of the onboard processor, and achieving efficient data lookup and saving cache resources.

CN116707607BActive Publication Date: 2026-06-23THE 54TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY GROUP CORPORATION

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
THE 54TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY GROUP CORPORATION
Filing Date
2023-05-08
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Existing technologies cannot balance storage resources and lookup speed under the limited processing power of onboard processors, thus failing to meet the requirements for high-performance onboard processing.

Method used

By switching the CPU and FPGA to work together, and using CRC mapping and probability value management, resource configuration and data lookup processes are optimized, including the mapping of station address numbers and cache management, to achieve fast lookup and reduce cache resource consumption.

Benefits of technology

Without slowing down table lookup speed, it significantly reduces cache resource usage, improves table lookup efficiency, and supports efficient data retrieval and processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116707607B_ABST
    Figure CN116707607B_ABST
Patent Text Reader

Abstract

The application discloses a kind of on-board switching resource configuration and fast search method, it is related to satellite communication field.Based on the satellite communication network on-board switching look-up table means of on-board processing payload on satellite has many kinds, but traditional method cannot be considered in two levels of storage resource and look-up table speed, for the system of small on-board storage resource and requiring look-up table speed faster obviously cannot satisfy demand, a kind of on-board switching resource configuration and fast search method is designed on this basis.The application is mapped according to satellite station address number management, and according to station address number experience value, probability value is calculated to queue cache, greatly reduces the occupation of FPGA hardware cache resource under the condition of guaranteeing look-up table speed.The application has the characteristics such as simple algorithm implementation, high integration degree, strong scalability, can support any station address queue cache and data search with storage number, especially suitable for the development of on-board switching equipment.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application relates to a satellite-borne switching resource configuration and fast searching method and belongs to the field of satellite communication. BACKGROUND

[0002] With the development of satellite communication technology, on-satellite processing load has become the mainstream of current communication satellite development, but the hardware processing capacity of the satellite-borne processor cannot meet the increasingly high on-satellite processing requirements. The on-satellite switching technology is one of the basic technologies of the on-satellite processing load, mainly completes the configuration, searching and data forwarding of the routing table, there are many on-satellite switching table searching methods, the traditional method cannot be compatible in the two aspects of storage resource occupation and searching speed, and obviously cannot meet the requirements of the system with small on-satellite storage resource and fast searching speed, and in the case that the hardware processing capacity and storage capacity cannot be increased, it is particularly important to design a high-performance software implementation algorithm. SUMMARY

[0003] The application discloses a satellite-borne switching resource configuration and fast searching method.

[0004] The technical scheme adopted by the application is as follows:

[0005] The application discloses a satellite-borne switching resource configuration and fast searching method, which comprises the following steps:

[0006] (1) resource configuration process:

[0007] (1a) the switching CPU receives external input resource configuration data distribution results indexed by station address numbers, and buffers the resource configuration data by taking the station address numbers as cache address numbers;

[0008] (1b) the switching CPU obtains station address mapping numbers by performing CRC mapping on the station address numbers, then takes the station address mapping numbers as cache address numbers, and adjusts the resource configuration data buffering rule according to the station address number probability value;

[0009] (1c) after the polling of all the station address numbers in step (1b) is completed, the switching CPU composes control data frames by taking the resource configuration data indexed by the station address mapping numbers, and sends the control data frames out in sequence;

[0010] (1d) after the switching FPGA receives the control data frames, the resource configuration data and the station address numbers are buffered in the storage of the switching FPGA by taking the station address mapping numbers as cache address numbers;

[0011] (2) switching table searching process:

[0012] (2a) the switching FPGA receives external input data frames, and obtains the station address number field from the frame header of the data frames;

[0013] (2b) The rationality of the FPGA station address number is judged. If the judgment is successful, the next step is continued. If the judgment fails, the process returns to step (2a).

[0014] (2c) The FPGA performs CRC mapping on the station address number to obtain the station address mapping number, and performs data lookup based on the station address mapping number;

[0015] (2d) Exchange the resource configuration data found in the table lookup in step (2c) of the FPGA for subsequent processing. If there is no result after the table lookup in step (2c), the corresponding data frame is discarded and an error message is reported.

[0016] Furthermore, step (1b) includes the following steps:

[0017] (1b1) The switching CPU sequentially polls the station address number according to the set strategy. If the resource configuration data identifier in the current station address number shows that it is pending update, the station address number where the corresponding resource configuration data is located is CRC mapped to obtain the station address mapping number; if the resource configuration data identifier in the current station address number shows that it has not been updated, the current station address number is skipped and the next station address number is polled.

[0018] (1b2) The switching CPU uses the station address mapping number in step (1b1) as the cache address number and caches the resource configuration data and the station address number respectively;

[0019] (1b3) The switching CPU calculates the probability value of each station address number based on the empirical value of the station address number statistics in the service data;

[0020] (1b4) If the same station address mapping number in step (1b2) corresponds to multiple different station address numbers, then the cache queue is managed according to the probability value of the station address number. The higher the probability value, the earlier the storage position.

[0021] Furthermore, step (2c) includes the following steps:

[0022] (2c1) The FPGA switches to perform CRC mapping on the station address number to obtain the station address mapping number;

[0023] (2c2) The switching FPGA searches for the cache address number in the switching FPGA cache queue that is the same as the station address mapping number. If the resource configuration data and station address number information in the corresponding cache address number are both 0, the search fails. If the resource configuration data or station address number in the corresponding cache address number is not 0, the next search is performed.

[0024] (2c3) When switching FPGA, firstly determine whether the station address number corresponding to the first resource configuration data under the cache address number is the same as the station address number taken from the data frame. If they are the same, the search is successful. If they are not the same, then check whether the station address number corresponding to the next resource configuration data under the cache address number is the same as the station address number taken from the data frame.

[0025] (2c4) If the station address number determination in step (2c3) is successful, the corresponding resource configuration data is the final search data.

[0026] Compared with the prior art, the present invention has the following advantages:

[0027] 1. This invention significantly reduces cache resource consumption while maintaining table lookup speed;

[0028] 2. The algorithm of this invention is simple to implement, highly integrated, and highly scalable, and can support any queue caching and data lookup with station address as the storage number. Attached Figure Description

[0029] Figure 1 This is a process diagram of a method for configuring and quickly searching onboard exchange resources according to the present invention.

[0030] Figure 2 This is a diagram illustrating the control data caching and configuration process of the present invention.

[0031] Figure 3 This is a diagram illustrating the business data exchange and table lookup process of the present invention. Detailed Implementation

[0032] The present invention will now be described in further detail with reference to the accompanying drawings and specific embodiments.

[0033] The satellite-borne switching resource configuration and fast lookup method of this invention has broad application prospects in the field of satellite communication. This invention can perform mapping management based on satellite station address numbers and perform queuing and cache management by calculating probability values ​​based on empirical values ​​of station address numbers. It significantly reduces the cache resources occupied by FPGA hardware without reducing the table lookup speed, making it particularly suitable for the development of satellite-borne switching equipment. Figure 1 As shown, the specific steps include:

[0034] (1) Resource allocation process:

[0035] (1a) The exchange CPU receives the resource configuration data allocation result from external input, indexed by the station address number, and caches the resource configuration data using the station address number as the cache address number;

[0036] To save cache resources, it is common practice to use a certain index as the cache address number.

[0037] (1b) After the CPU performs CRC mapping on the station address number, it obtains the station address mapping number. Then, the station address mapping number is used as the cache address number, and the resource configuration data caching rules are readjusted according to the probability value of the station address number.

[0038] Combination Figure 2 From ① and ②, we can see that Figure 2 The data caching method in section ① is a traditional approach. This caching method is very simple to implement, but it consumes a large amount of cache resources. Figure 2 The data caching method in section ② is a data caching method after CRC mapping. This method uses the station address mapping number after CRC mapping of the station address number as the cache address number. At the same time, since there may be multiple station address mapping numbers after CRC mapping for multiple station address numbers, it is necessary to perform probability analysis on the corresponding multiple station address numbers under a station address mapping number, and arrange the resource configuration information in the station address number with the higher probability first. The purpose of doing this is to enable the business to quickly complete the table lookup process for switching FPGA.

[0039] (1b1) The switching CPU polls the station address number in turn according to a certain strategy. If the resource configuration data identifier in the current station address number shows that it is pending update, the station address number where the resource configuration data is located is CRC mapped to obtain the station address mapping number; if the resource configuration data identifier in the current station address number shows that it has not been updated, the current station address number is skipped and the next station address number is polled.

[0040] To enable quick configuration, no configuration is required if the site address information does not need to be updated in this instance.

[0041] (1b2) The switching CPU uses the station address mapping number in step (1b1) as the cache address number and caches the resource configuration data and the station address number respectively;

[0042] (1b3) The switching CPU calculates the probability value of each station address number based on the empirical value of the station address number statistics in the service data;

[0043] (1b4) Since different station address numbers can be mapped to the same station address mapping number, if the same station address mapping number in step (1b2) corresponds to multiple different station address numbers, then it is necessary to manage the cache queue according to the probability value of the station address number. The higher the probability value, the earlier the storage position.

[0044] (1c) After all the station address numbers in step (1b) have been polled, the switching CPU will assemble the resource configuration data indexed by the station address mapping number into a control data frame and send it out in sequence;

[0045] (1d) After receiving the control data frame, the switching FPGA caches the resource configuration data and the station address number in the storage of the switching FPGA, respectively, using the station address mapping number as the cache address number.

[0046] (2) Fast data search process:

[0047] (2a) Exchange the data frames received by the FPGA from external input and extract the station address number field from the data frame header;

[0048] (2b) The rationality of the FPGA station address number is judged. If the judgment is successful, the next step is continued. If the judgment fails, the process returns to step (2a).

[0049] (2c) The FPGA performs CRC mapping on the station address number to obtain the station address mapping number, and performs data lookup based on the station address mapping number;

[0050] according to Figure 2 ② in the text corresponds to the caching method and Figure 3 The table lookup process in the system first performs CRC mapping on the station address number to obtain the station address mapping number. Then, it performs a table lookup based on the station address mapping number. Finally, it performs a second lookup based on the station address information in the cache address number corresponding to the station address mapping number, and retrieves the resource configuration data after the lookup.

[0051] (2c1) The FPGA switches to perform CRC mapping on the station address number to obtain the station address mapping number;

[0052] (2c2) The switching FPGA searches for the cache address number in the switching FPGA cache queue that is the same as the station address mapping number according to the station address mapping number. If the resource configuration data and station address number information in the corresponding cache address number are both 0, the search fails. If the resource configuration data or station address number in the corresponding cache address number is not 0, the next search needs to be performed.

[0053] (2c3) The first step of the FPGA switching is to determine whether the station address number corresponding to the first resource configuration data under the cache address number is the same as the station address number taken from the service frame. If they are the same, the search is successful. If they are not the same, the second step is to determine whether the station address number corresponding to the second resource configuration data under the cache address number is the same as the station address number taken from the service frame. If they are the same, the search is successful. If they are not the same, the third step is to be determined, and so on.

[0054] (2c4) If the station address number determination in step (2c3) is successful, the corresponding resource configuration data is the final search data;

[0055] (2d) Exchange the resource configuration data found in the table lookup in step (2c) of the FPGA for subsequent processing. If there is no result after the table lookup in step (2c), the corresponding data frame is discarded and an error message is reported.

[0056] The process of configuring and searching onboard switching resources has been completed.

[0057] The above method was implemented using programming, with the switching CPU software implemented in C and the switching FPGA software implemented in VHDL. In the implementation, the station address length is 2 bytes, using CRC16 mapping and taking the lower 12 bits as the station address mapping number. A cache address number indexed by the station address mapping number can support the storage of up to 4 station address numbers, occupying 25% of the cache resources of traditional methods. After multiple tests and verifications, this method has been applied in actual projects, especially in table lookups within the switching FPGA, where no problems have been found and satisfactory results have been obtained.

Claims

1. A method for configuring and quickly searching onboard exchange resources, characterized in that, Includes the following steps: (1) Resource allocation process: (1a) The exchange CPU receives the resource configuration data allocation result from external input, indexed by the station address number, and caches the resource configuration data using the station address number as the cache address number; (1b) After the CPU performs CRC mapping on the station address number, it obtains the station address mapping number. Then, the station address mapping number is used as the cache address number, and the resource configuration data caching rules are readjusted according to the probability value of the station address number. (1c) After all the station address numbers in step (1b) have been polled, the switching CPU will assemble the resource configuration data indexed by the station address mapping number into a control data frame and send it out in sequence; (1d) After receiving the control data frame, the switching FPGA caches the resource configuration data and the station address number in the storage of the switching FPGA, respectively, using the station address mapping number as the cache address number; (2) Exchange table lookup process: (2a) Exchange the data frames received by the FPGA from external input and extract the station address number field from the data frame header; (2b) The rationality of the FPGA station address number is judged. If the judgment is successful, the next step is continued. If the judgment fails, the process returns to step (2a). (2c) The FPGA performs CRC mapping on the station address number to obtain the station address mapping number, and performs data lookup based on the station address mapping number; (2d) Exchange the resource configuration data found in the table lookup in step (2c) of the FPGA for subsequent processing. If there is no result after the table lookup in step (2c), the corresponding data frame is discarded and an error message is reported.

2. The method for configuring and quickly searching onboard exchange resources according to claim 1, characterized in that, Step (1b) includes the following steps: (1b1) The switching CPU sequentially polls the station address number according to the set strategy. If the resource configuration data identifier in the current station address number shows that it is pending update, the station address number where the corresponding resource configuration data is located is CRC mapped to obtain the station address mapping number; if the resource configuration data identifier in the current station address number shows that it has not been updated, the current station address number is skipped and the next station address number is polled. (1b2) The switching CPU uses the station address mapping number in step (1b1) as the cache address number and caches the resource configuration data and the station address number respectively; (1b3) The switching CPU calculates the probability value of each station address number based on the empirical value of the station address number statistics in the service data; (1b4) If the same station address mapping number in step (1b2) corresponds to multiple different station address numbers, then the cache queue is managed according to the probability value of the station address number. The higher the probability value, the earlier the storage position.

3. The method for configuring and quickly searching onboard exchange resources according to claim 1, characterized in that, Step (2c) includes the following steps: (2c1) The FPGA switches to perform CRC mapping on the station address number to obtain the station address mapping number; (2c2) The switching FPGA searches for the cache address number in the switching FPGA cache queue that is the same as the station address mapping number. If the resource configuration data and station address number information in the corresponding cache address number are both 0, the search fails. If the resource configuration data or station address number in the corresponding cache address number is not 0, the next search is performed. (2c3) When switching FPGA, firstly determine whether the station address number corresponding to the first resource configuration data under the cache address number is the same as the station address number taken from the data frame. If they are the same, the search is successful. If they are not the same, then check whether the station address number corresponding to the next resource configuration data under the cache address number is the same as the station address number taken from the data frame. (2c4) If the station address number is successfully determined in step (2c3), the corresponding resource configuration data is the final search data.