Patentable/Patents/US-12568055-B2
US-12568055-B2

Data caching method and apparatus, medium and network equipment

PublishedMarch 3, 2026
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A data caching method comprises: receiving message data returned by a second device in response to a read command; dividing the message data into two paths of data according to a preset strategy, sending one of the two paths of data to a first random access memory for storage, and distributing the other path to a double data rate synchronous dynamic random access memory for storage through a first input first output queue, wherein a sum of a working bandwidth of the first random access memory and a working bandwidth of the double data rate synchronous dynamic random access memory is greater than or equal to a receiving bandwidth of the message data; and sending data stored in the first random access memory and data stored in the double data rate synchronous dynamic random access memory to a first device connected with network equipment.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

. A data caching method, comprising:

2

. The method according to, wherein, the dividing the message data into two paths of data according to a preset strategy, and respectively transmitting the two paths of data to a first random access memory and a double data rate synchronous dynamic random access memory which are configured in a network equipment realized based on a programmable logic device, for storage, comprises:

3

. The method according to, wherein, the first slice data and the second slice data split from a same frame of message data carry same identification information, and the sending data stored in the first random access memory and data stored in the double data rate synchronous dynamic random access memory to the first device connected with the network equipment, comprises:

4

. The method according to, wherein, the double data rate synchronous dynamic random access memory comprises reserved spaces, each of the reserved spaces corresponds to a same identification information as the second slice data stored in an adjacent storage space, and the storing the first slice data stored in the first random access memory into the double data rate synchronous dynamic random access memory, comprises:

5

. The method according to, wherein, the dividing the message data into two paths of data according to a preset strategy, and respectively transmitting the two paths of data to a first random access memory and a double data rate synchronous dynamic random access memory which are configured in a network equipment realized based on a programmable logic device, for storage, comprises:

6

. The method according to, wherein, the preset ratio is determined according to a ratio of the working bandwidth of the first random access memory to the working bandwidth of the double data rate synchronous dynamic random access memory.

7

. The method according to, wherein, the dividing the message data into two paths of data according to a preset strategy, and respectively transmitting the two paths of data to a first random access memory and a double data rate synchronous dynamic random access memory which are configured in a network equipment realized based on a programmable logic device, for storage, comprises:

8

. The method according to, wherein, the sending data stored in the first random access memory and data stored in the double data rate synchronous dynamic random access memory to the first device connected with the network equipment, comprises:

9

. A non-transitory computer readable medium having stored thereon a computer program which, when executed by a processing means, performs the following steps:

10

. The non-transitory computer readable medium according to, wherein, the dividing the message data into two paths of data according to a preset strategy, and respectively transmitting the two paths of data to a first random access memory and a double data rate synchronous dynamic random access memory which are configured in a network equipment realized based on a programmable logic device, for storage, comprises:

11

. The non-transitory computer readable medium according to, wherein, the first slice data and the second slice data split from a same frame of message data carry same identification information, and the sending data stored in the first random access memory and data stored in the double data rate synchronous dynamic random access memory to the first device connected with the network equipment, comprises:

12

. The non-transitory computer readable medium according to, wherein, the preset ratio is determined according to a ratio of the working bandwidth of the first random access memory to the working bandwidth of the double data rate synchronous dynamic random access memory.

13

. The non-transitory computer readable medium according to, wherein, the double data rate synchronous dynamic random access memory comprises reserved spaces, each of the reserved spaces corresponds to a same identification information as the second slice data stored in an adjacent storage space, and the storing the first slice data stored in the first random access memory into the double data rate synchronous dynamic random access memory, comprises:

14

. The non-transitory computer readable medium according to, wherein, the dividing the message data into two paths of data according to a preset strategy, and respectively transmitting the two paths of data to a first random access memory and a double data rate synchronous dynamic random access memory which are configured in a network equipment realized based on a programmable logic device, for storage, comprises:

15

. A network equipment, comprising a processing means and an interface; the processing means configured to read instructions to perform the following steps:

16

. The network equipment according to, wherein, the dividing the message data into two paths of data according to a preset strategy, and respectively transmitting the two paths of data to a first random access memory and a double data rate synchronous dynamic random access memory which are configured in the network equipment realized based on a programmable logic device, for storage, comprises:

17

. The network equipment according to, wherein, the first slice data and the second slice data split from a same frame of message data carry same identification information, and the sending data stored in the first random access memory and data stored in the double data rate synchronous dynamic random access memory to the first device connected with the network equipment, comprises:

18

. The network equipment according to, wherein, the preset ratio is determined according to a ratio of the working bandwidth of the first random access memory to the working bandwidth of the double data rate synchronous dynamic random access memory.

19

. The network equipment according to, wherein, the double data rate synchronous dynamic random access memory comprises reserved spaces, each of the reserved spaces corresponds to a same identification information as the second slice data stored in an adjacent storage space, and the storing the first slice data stored in the first random access memory into the double data rate synchronous dynamic random access memory, comprises:

20

. The network equipment according to, wherein, the dividing the message data into two paths of data according to a preset strategy, and respectively transmitting the two paths of data to a first random access memory and a double data rate synchronous dynamic random access memory which are configured in the network equipment realized based on a programmable logic device, for storage, comprises:

Detailed Description

Complete technical specification and implementation details from the patent document.

The present application is based on and claims the priority to the Chinese patent application No. 202310506449.4 filed on May 6, 2023, the disclosure of which is incorporated herein by reference in its entirety.

The present disclosure relates to the field of electronic information technologies, and in particular, to a data caching method and apparatus, medium, and network equipment.

In a network environment, there are scenes which are not long in duration but have large burst traffic, under which scenes loss of data packets easily occurs, so that how to avoid the loss of data packets when the traffic bursts has become a problem to be solved.

The SUMMARY is provided to introduce concepts in a simplified form that are further described below in the DETAILED DESCRIPTION. This SUMMARY is not intended to identify key features or essential features of claimed technical solutions, nor is it intended to be used to limit the scope of the claimed technical solutions.

In a first aspect, the present disclosure provides a data caching method, comprising:

In a second aspect, the present disclosure provides a data caching apparatus, comprising:

In a third aspect, the present disclosure provides a computer readable medium having stored thereon a computer program which, when executed by a processing means, performs the steps of the method in the first aspect.

In a fourth aspect, the present disclosure provides a network equipment, comprising a processing means and an interface; the processing means configured to read instructions to perform the steps of the method in the first aspect.

Additional features and advantages of the present disclosure will be set forth in the DETAILED DESCRIPTION which follows.

Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather these embodiments are provided for a more complete and thorough understanding of the present disclosure. It should be understood that the drawings and the embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.

It should be understood that the various steps recited in method embodiments of the present disclosure may be performed in a different order, and/or performed in parallel. Moreover, the method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.

The term “including” and variations thereof as used herein are intended to be open-ended, i.e., “including but not limited to”. The term “based on” is “based at least in part on”. The term “one embodiment” means “at least one embodiment”; the term “another embodiment” means “at least one additional embodiment”; the term “some embodiments” means “at least some embodiments”. Relevant definitions for other terms will be given in the following description.

It should be noted that the terms “first”, “second”, and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence of the functions performed by the devices, modules or units.

It is noted that references to “a” or “an” in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will appreciate that they should be understood as “one or more” unless the context clearly indicates otherwise.

The names of messages or information exchanged between devices in the embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the scope of the messages or information.

It is understood that, before the technical solutions disclosed in the embodiments of the present disclosure are used, the user should be informed of the type, use range, use scene, etc. of personal information involved in the present disclosure in a proper manner according to the relevant laws and regulations, to obtain the authorization of the user.

For example, in response to receiving a user's active request, prompt information is sent to the user to explicitly prompt the user that the requested operation to be performed would require acquisition and use of personal information of the user. Thus, the user can autonomously select whether to provide the personal information to software or hardware such as an electronic device, an application, a server, or a storage medium that performs the operations of the technical solution of the present disclosure, according to the prompt information.

As an alternative but non-limiting implementation, the sending prompt information to the user in response to receiving an active request from the user, may be, for example, a pop-up window, in which the prompt information may be presented in a text manner. In addition, a selection control for providing personal information to an electronic device by the user's selection of “agree” or “disagree” can be carried in the pop-up window.

It is understood that the above notification and user authorization process is only illustrative and is not intended to limit the implementation of the present disclosure, and other ways of satisfying the relevant laws and regulations may be also applied to the implementation of the present disclosure.

At the same time, it is understood that the data involved in the present disclosure (including but not limited to the data itself, the acquisition or use of the data) should comply with the requirements of the relevant laws and regulations and related provisions.

According to the technical solution of the present disclosure, a network equipment receives message data returned by a second device in response to a read command sent by a first device, divides the message data into two paths of data according to a preset strategy, respectively transmits the two paths of data to a first random access memory and a double data rate synchronous dynamic random access memory which are configured in the network equipment realized based on a programmable logic device, for storage, and sends data stored in the first random access memory and data stored in the double data rate synchronous dynamic random access memory to the first device. By sharing an entrance bandwidth pressure of the double data rate synchronous dynamic random access memory using a bandwidth of the first random access memory, the problem of insufficient receiving bandwidth of the double data rate synchronous dynamic random access memory is solved, and the packet loss possibility of the message data of the network equipment is reduced.

Reference is now made to, which is a schematic diagram illustrating scenario according to an embodiment of the present disclosure. As shown in, a Central Processing Unit (CPU) in a first device may issue a read command for reading an externally connected second device, where the read command may be sent to the externally connected second device through a connected network equipment, and after receiving the read command, the externally connected second device may return response message data to the CPU through the network equipment. There may be one or more externally connected second devices, andillustrates two second devices with serial numbers of 0 and 1 as an example.

In some implementations, the network equipment can be, for example, a network card.

In some implementations, the network equipment may be a network equipment realized based on a Field Programmable Gate Array (FPGA), that is, the network equipment may include a programmable logic device.

Alternatively, the network equipment may be connected to the CPU through a 128 Gbps PCIE (peripheral component interconnect express, which is a high speed serial computer extended bus standard) interface, and the network equipment may be connected to the external second device through two Ethernet interfaces CGMAC with a rate of 100 Gbps.

It can be understood that, there is a time delay from when the CPU issues a read command, to when the second device returns response message data corresponding to the read command, and depending on a difference between different read commands, the maximum time delay of the response message data returned by the second device may reach 1.2 ms; due to presence of the delay, a large amount of response message data may reach a receiving interface of the network equipment at a certain time point at the same time, resulting in a large amount of traffic bursts.

For example, the network equipment may receive 200 Gbps burst traffic from the devicesandin a short time, and at this time, the network equipment needs to absorb the burst traffic, cannot drop packets, and forwards the message data to the CPU after receiving the packets.

In some implementations, as shown in, a read command receiving module stores received read command information into a read command cache, and at the same time also writes the received read command information into a read synchronization information cache, so that it can be in a one-to-one correspondence with the read-returned message data in the future, and finally the synchronization information and the read message data are combined and returned to the CPU.

The second device returns a response to the CPU after receiving the read command, the message data enters the cache and is subjected to cache management; the read messages will be returned out of order due to the device, so that the messages in the cache can be read out according to the read synchronization information and sent to the CPU in an order-preserving manner. The order-preserving can be understood as that a serial number is transmitted among the CPU, the network equipment, and the second device, to ensure that the read synchronization information and the read-returned message data can be in one-to-one correspondence.

Before describing the embodiments of the present disclosure in detail, resources and system specifications configured in the network equipment realized based on a programmable logic device in some implementations, are described first.

In some implementations, the network equipment may include logic resources such as a Double Data Rate Synchronous Dynamic Random Access Memory (DDR SDRAM) interface, a first Random Access Memory (RAM), a Block RAM (BRAM), a register, and a lookup table.

Alternatively, the Double Data Rate Synchronous Dynamic Random Access Memory may be a DDR4 SDRAM (Double-Data-Rate Fourth Generation Synchronous Dynamic Random Access Memory). Alternatively, a bit width of the DDR4 SDRAM interface is 64 bit, an interface frequency thereof is 2666 MHZ, a capacity thereof is 1 GBytes, an effective bandwidth of the DDR4 SDRAM interface is about 160 Gbps, the DDR4 SDRAM bandwidth is shared by reading and writing, and the reading and the writing are mutually exclusive.

Alternatively, the first random access memory may be various. For a network equipment formed by Intel programmable logic devices, the first random access memory may be an Enhanced Static Random-Access Memory (eSRAM), and for a network equipment formed by xilinx programmable logic devices, the first random access memory may be an UltraRAM (Uram).

Alternatively, a bit width of the eSRAM interface is 256 bits, an interface frequency thereof is 260 MHZ, a capacity thereof is 2 MBytes, an effective bandwidth of the eSRAM interface is about 60 Gbps, the reading and the writing of the eSRAM interface bandwidth is separated, and the reading and the writing are not affected mutually and both can reach 60 Gbps bandwidth.

Alternatively, a size of the BRAM is 20 Kbit, which may be instantiated as 32 bit wide, and by multi-block splicing, 1024 bit wide or more may be achieved, and by splicing, a capacity of the BRAM also increases with the number of splices. Exemplarily, the bandwidth of the 1 Kbit wide BRAM interface can be about 260 Gbps, and the reading and the writing of the BRAM are not affected mutually and both can reach 260 Gbps bandwidth.

In some implementations, the read synchronization information cache inside the network equipment has a size of 32K read commands. The data read back by each read command may be a fixed 4 KB-sized message. Therefore, the maximum possible capacity of the messages that the network equipment can cache is 32K*4 KB=128 MBytes. The network equipment can work at 260 MHZ main frequency.

In combination with the foregoing, in a scenario of large burst traffic, that is, in a scenario where a received bandwidth is greater than a bandwidth of an interface of a double data rate synchronous dynamic random access memory, for example, when it is needed to receive burst traffic of 200 Gbps bandwidth, a problem of packet loss may occur because the double data rate synchronous dynamic random access memory cannot receive the 200 Gbps bandwidth; in the related art, 256 BRAMs are spliced into a 1024 bit width, so that the spliced random access memory can support an entry bandwidth of 260 Gbps, to receive the burst traffic through the spliced BRAMs, and then the burst traffic received by the BRAMs is stored in the double data rate synchronous dynamic random access memory.

However, the applicant found in long-term research that, although the BRAMs are large in quantity, a large number of functional modules inside the network equipment will use them, so that the quantity of the remaining BRAMs is limited, and the use of the large quantity of the BRAMs also brings a series of problems such as increasing the execution difficulty of engineering logics.

Therefore, in order to address the traffic burst problem and reduce the loss of message data in the case of saving the BRAMs, the embodiments of the present disclosure provide a data caching method and apparatus, a medium, and a network equipment.

Reference is now made to, which is a flowchart illustrating a data caching method according to an exemplary embodiment of the present disclosure. The data caching method is applied to network equipment formed based on a programmable logic device, and the network equipment is provided with a first random access memory and a double data rate synchronous dynamic random access memory; referring to, the data caching method comprises the following steps:

S, receiving message data sent by a second device in response to a read command sent by a first device.

In the embodiment of the present disclosure, the number of the second device may be one or more.

In the embodiment of the present disclosure, the network equipment may receive the message data sent by the second device, i.e., the devicesandin, through two Ethernet interfaces CGMAC with a rate of 100 Gbps shown in, so that the bandwidth of the message data received by the network equipment may be 200 Gbps in some cases.

In some implementations, as shown in, the read command may be generated by the central processing unit of the first device and forwarded to the second device through the network equipment.

Not exclusively, in other implementations, the read command may also be generated by the network equipment.

S, dividing the message data into two paths of data according to a preset strategy, and respectively transmitting the two paths of data to a first random access memory and a double data rate synchronous dynamic random access memory which are configured in a network equipment realized based on a programmable logic device, for storage, wherein a sum of a working bandwidth of the first random access memory and a working bandwidth of the double data rate synchronous dynamic random access memory is greater than or equal to a receiving bandwidth of the message data.

The working bandwidth may be understood as a bandwidth actually used in working, and an effective bandwidth may be understood as a theoretical bandwidth or a designed bandwidth, which refers to a bandwidth that can be used for receiving the message data but is not necessarily used completely, so that the working bandwidth is different from the effective bandwidth.

In the embodiment of the present disclosure, the sum of the working bandwidth of the first random access memory and the working bandwidth of the double data rate synchronous dynamic random access memory is greater than or equal to the receiving bandwidth of the message data, so that the bandwidth requirement for receiving the message data can be met, and the packet loss is avoided.

In the embodiment of the present disclosure, after receiving the message data, the network equipment may distribute the message data according to a preset strategy, that is, divide the message data into two paths of data according to the preset strategy, and further send one of the two paths of data to the first random access memory configured in the network equipment for storage, and send the other of the two paths of data to the double data rate synchronous dynamic random access memory configured in the network equipment for storage, so that the bandwidth of the first random access memory may be used to share the entrance bandwidth pressure of the double data rate synchronous dynamic random access memory, the problem of insufficient receiving bandwidth of the double data rate synchronous dynamic random access memory is solved, and the packet loss possibility of the message data is reduced.

In some implementations, when it is determined that the bandwidth of the received message data is greater than a preset value, the network equipment may divide the message data into two paths of data according to a preset strategy, and respectively send the two paths of data to a first random access memory and a double data rate synchronous dynamic random access memory configured in the network equipment, for storage.

Patent Metadata

Filing Date

Unknown

Publication Date

March 3, 2026

Inventors

Unknown

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Data caching method and apparatus, medium and network equipment” (US-12568055-B2). https://patentable.app/patents/US-12568055-B2

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

Data caching method and apparatus, medium and network equipment | Patentable