Data storage method, bus system and related equipment
By directly obtaining and returning cache identification DBID information and data to be stored in the bus system, the problem of long data transmission paths in the data storage process in the bus system is solved, and efficient data storage is achieved and data throughput is improved.
Patent Information
- Application Number
- CN202310687027.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-09
- Publication Date
- 2024-12-10
AI Technical Summary
The data transmission path of data storage processes in existing bus systems is long, resulting in large communication delays and affecting data throughput.
Through the first bus connection between the local agent and the bus controller and the second bus connection between the bus controller and the target bus agent, the cache identification DBID information is directly obtained and returned, and the data to be stored is directly received to shorten the data transmission Path, reduce communication delay and improve data throughput.
It realizes efficient data storage, shortens data transmission paths, reduces communication delays, improves data throughput, and ensures memory consistency.
Smart Images

Figure CN119105977A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data storage method, a bus system and related equipment. Background Art
[0002] In the current bus system, according to the memory (cache) consistency processing mechanism, when the bus agent stores the data to be stored in the cache of the home agent (HA), the bus agent needs to first send a write request to the bus controller. After the bus controller applies for the cache resources of the home agent, the bus agent sends the data to be stored to the bus controller, and finally the bus controller stores the data to be stored in the cache of the home agent.
[0003] Therefore, in the existing data storage process, the relevant information of the cache resources in the requested local agent and the data to be stored need to be forwarded by the bus controller, that is, the memory access process needs to pass through the bus agent, the bus controller and the local agent respectively to be realized, resulting in a long data transmission path and large communication delay in the entire data storage process, which affects the data throughput.
[0004] Therefore, how to achieve efficient data storage is an urgent problem to be solved. Summary of the invention
[0005] The embodiments of the present application provide a data storage method, a bus system and related devices to shorten the data transmission path in the data storage process and achieve efficient data storage.
[0006] In a first aspect, an embodiment of the present application provides a data storage method, which is applied to a local agent HA, wherein the local agent is connected to a bus controller via a first bus, and the bus controller is connected to one or more bus agents via a second bus, and the one or more bus agents include a target bus agent; the method includes: receiving a write request sent by the bus controller, wherein the write request is a write request for data to be stored in the target bus agent, and the write request includes a node identifier corresponding to the target bus agent; in response to the write request, obtaining data cache identifier DBID information, wherein the DBID information is used to indicate a cache resource applied for in the local agent based on the data to be stored; based on the node identifier, sending the DBID information to the corresponding target bus agent; receiving the data to be stored sent by the target bus agent, and storing the data to be stored in the cache resource corresponding to the DBID information.
[0007] In the existing data storage process, the data transmission path of the entire data storage process is long, the communication delay is large, and the data throughput rate is affected. In this regard, an embodiment of the present application provides a data storage method, which can be applied in a local agent HA connected to a bus controller through a first bus (such as a high-speed serial bus), and the local agent can receive a write request sent by the bus controller; in response to the write request, apply for a cache resource in the local agent based on the data to be stored, and obtain the data cache identifier DBID information of the cache resource; then, the local agent can directly send the obtained DBID information to the corresponding target bus agent (the target bus agent is connected to the bus controller through the second bus) based on the node identifier in the above write request, and directly receive the data to be stored directly sent by the target bus agent; finally, directly store the data to be stored in the cache resource corresponding to the DBID information. Therefore, after receiving a write request for the data to be stored sent by the controller, the local agent in the embodiment of the present application can directly return the acquired DBID information to the corresponding target bus agent, and directly receive the data to be stored returned by the above-mentioned target bus agent. This direct data storage process without forwarding by other functional modules can greatly shorten the data transmission path, reduce communication delays, improve data throughput, and achieve efficient data storage.
[0008] In one possible embodiment, before receiving the write request sent by the bus controller, it also includes: receiving an exclusive state request sent by the bus controller, the exclusive state request is used to request to obtain the exclusive state for the data to be stored; in response to the exclusive state request, sending a first completion message to the bus controller, the first completion message is used to indicate that the exclusive state of the data to be stored has been obtained.
[0009] In an embodiment of the present application, before receiving a write request sent by the bus controller, the local agent can obtain an exclusive state for the data to be stored in response to the exclusive state request after receiving the exclusive state request to ensure memory consistency.
[0010] In one possible manner, receiving the write request sent by the bus controller includes: receiving the write request sent by the bus controller according to a memory access order, wherein the memory access order is the order corresponding to when the target bus agent accesses the memory in the one or more bus agents.
[0011] In an embodiment of the present application, a local agent receives a write request sent by a bus controller in a memory access order, so that the local agent can store the data to be stored of a target bus agent in one or more bus agents in the memory access order. The memory access order is the order in which the target bus agent accesses the memory in the one or more bus agents. For example, when multiple bus agents apply for the same cache resource in the local agent, or when there is a memory access order between multiple bus agents, the local agent can directly store the data to be stored in one or more bus agents in sequence according to the memory access order after receiving the write request, so as to ensure the consistency of the memory and reduce memory access errors at the same time, so as to achieve efficient data storage.
[0012] In a possible manner, the method further includes: sending a second completion message to the bus controller, where the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
[0013] In an embodiment of the present application, after the local agent sends the DBID information directly to the corresponding target bus agent based on the node identifier, it can send a second completion message to the bus controller indicating that the DBID information has been sent to the target bus agent, so as to reduce memory access errors, improve data throughput, and achieve efficient data storage.
[0014] In a second aspect, an embodiment of the present application provides a data storage method, which is applied to a bus controller, wherein the bus controller is connected to a local agent HA via a first bus, and the bus controller is connected to one or more bus agents via a second bus, and the one or more bus agents include a target bus agent; the method includes: sending a write request to the local agent, so that the local agent responds to the write request and sends DBID information to the target bus agent based on a node identifier in the write request; wherein the write request is a write request for data to be stored in the target bus agent, the write request includes the node identifier corresponding to the target bus agent, and the DBID information is used to identify cache resources applied for in the local agent based on the data to be stored.
[0015] In the existing data storage process, the data transmission path of the entire data storage process is long, the communication delay is large, and the data throughput rate is affected. In this regard, an embodiment of the present application provides a data storage method, which can be applied to a bus controller connected to a local agent HA through a first bus. The bus controller can send a write request to the local agent. After receiving the write request for the data to be stored sent by the controller, the local agent can return the acquired DBID information to the corresponding target bus agent, which is one of the one or more bus agents connected to the bus controller through a second bus. After receiving the DBID information, the target bus agent can return the stored data to the local agent, so that the stored poem can be directly stored in the cache resource of the local agent. The data storage process can well shorten the data transmission path, reduce communication delays, improve data throughput, and achieve efficient data storage.
[0016] In one possible implementation, sending the write request to the local agent includes: receiving a memory access request sent by the target bus agent, the memory access request including the node identifier; and sending the write request to the local agent in response to the memory access request.
[0017] In the embodiments of the present application,
[0018] In one possible implementation, before sending the write request to the local agent, it also includes: sending an exclusive state request to the local agent, wherein the exclusive state request is used to request to obtain the exclusive state of the data to be stored; receiving a first completion message sent by the local agent, wherein the first completion message is used to indicate that the exclusive state of the data to be stored has been obtained.
[0019] In one possible implementation, sending the write request to the local agent includes: sending the write request to the local agent according to a memory access order, where the memory access order is the order corresponding to when the target bus agent accesses memory in the one or more bus agents.
[0020] In a possible implementation manner, the method further includes: receiving a second completion message sent by the local agent, wherein the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
[0021] It should be understood that the data storage method provided in the second aspect of the present application is consistent with the technical solution of the first aspect of the present application. Its specific content and beneficial effects can be referred to the data storage method provided in the above-mentioned first aspect, and will not be repeated here.
[0022] In a third aspect, an embodiment of the present application provides a bus system, the system comprising a local agent HA, a bus controller and one or more bus agents, the local agent HA being connected to the bus controller via a first bus, the bus controller being connected to one or more bus agents via a second bus, the one or more bus agents comprising a target bus agent; wherein the bus controller is used to: send a write request to the local agent, the write request being a write request for data to be stored in the target bus agent, the write request comprising a node identifier corresponding to the target bus agent; the local agent is used to: in response to the write request, obtain data cache identifier DBID information, the DBID information being used to indicate cache resources applied for in the local agent based on the data to be stored; based on the node identifier, send the DBID information to the corresponding target bus agent; receive the data to be stored sent by the target bus agent, and store the data to be stored in the cache resource corresponding to the DBID information; the target bus agent is used to: send the data to be stored to the local agent based on the DBID information.
[0023] In the existing data storage process, the data transmission path of the entire data storage process is long, the communication delay is large, and the data throughput rate is affected. In this regard, an embodiment of the present application provides a bus system, in which a local agent in the bus system can return the acquired DBID information to the corresponding target bus agent after receiving a write request for the data to be stored sent by the controller, and directly receive the data to be stored returned by the above target bus agent. The data storage process can well reduce the data transmission path, shorten the communication delay, improve the data throughput rate, and realize efficient data storage.
[0024] In one possible implementation, the local agent is further used to: receive an exclusive state request sent by the bus controller before receiving a write request sent by the bus controller, wherein the exclusive state request is used to request to obtain an exclusive state for the data to be stored; and send a first completion message to the bus controller in response to the exclusive state request, wherein the first completion message is used to indicate that the exclusive state of the data to be stored has been obtained.
[0025] In one possible implementation, the bus controller is specifically configured to: receive a memory access request sent by the target bus agent, wherein the memory access request includes the node identifier; and send the write request to the local agent in response to the memory access request.
[0026] In one possible implementation, the bus controller is specifically configured to: send the write request to the local agent according to a memory access order, where the memory access order is the order in which the target bus agent accesses memory in the one or more bus agents.
[0027] In a possible implementation manner, the local agent is further used to: send a second completion message to the bus controller, where the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
[0028] It should be understood that the bus system provided in the third aspect of the present application is consistent with the technical solution of the first aspect or the second aspect of the present application. Its specific content and beneficial effects can refer to the data storage method provided in the first aspect or the second aspect above, and will not be repeated here.
[0029] In a fourth aspect, an embodiment of the present application provides a data storage device, applied to a local agent HA, wherein the local agent is connected to a bus controller via a first bus, and the bus controller is connected to one or more bus agents via a second bus, wherein the one or more bus agents include a target bus agent; the device includes:
[0030] A first receiving unit, configured to receive a write request sent by the bus controller, wherein the write request is a write request for data to be stored in the target bus agent, and the write request includes a node identifier corresponding to the target bus agent;
[0031] A first response unit, configured to obtain data cache identification DBID information in response to the write request, wherein the DBID information is used to indicate a cache resource applied for in the local proxy based on the data to be stored;
[0032] A first sending unit, configured to send the DBID information to the corresponding target bus agent based on the node identifier;
[0033] A receiving storage unit is used to receive the data to be stored sent by the target bus agent, and store the data to be stored in the cache resource corresponding to the DBID information.
[0034] In one possible implementation, the device also includes: a first exclusive unit, used to receive an exclusive state request sent by the bus controller before receiving a write request sent by the bus controller, the exclusive state request being used to request to obtain an exclusive state for the data to be stored; in response to the exclusive state request, sending a first completion message to the bus controller, the first completion message being used to indicate that the exclusive state of the data to be stored has been obtained.
[0035] In one possible implementation, the first receiving unit is specifically used to receive the write request sent by the bus controller according to a memory access order, where the memory access order is the order corresponding to when the target bus agent accesses the memory in the one or more bus agents.
[0036] In a possible implementation manner, the device further includes: a third sending unit, configured to send a second completion message to the bus controller, wherein the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
[0037] It should be understood that the data storage device provided in the fourth aspect of the present application is consistent with the technical solution of the first aspect of the present application. Its specific content and beneficial effects can be referred to the data storage method provided in the above-mentioned first aspect, and will not be repeated here.
[0038] In a fifth aspect, an embodiment of the present application provides a data storage device, which is applied to a bus controller, wherein the bus controller is connected to a local agent HA via a first bus, and the bus controller is connected to one or more bus agents via a second bus, wherein the one or more bus agents include a target bus agent; the device includes:
[0039] A second sending unit, configured to send a write request to the local agent, so that the local agent responds to the write request and sends DBID information to the target bus agent based on the node identifier in the write request;
[0040] The write request is a write request for data to be stored in the target bus agent, the write request includes the node identifier corresponding to the target bus agent, and the DBID information is used to identify cache resources applied for in the local agent based on the data to be stored.
[0041] In one possible implementation, the second sending unit is specifically configured to: receive a memory access request sent by the target bus agent, wherein the memory access request includes the node identifier; and send the write request to the local agent in response to the memory access request.
[0042] In one possible implementation, the device also includes: a second exclusive unit, used to send an exclusive state request to the local agent before sending a write request to the local agent, the exclusive state request is used to request to obtain the exclusive state of the data to be stored; and receive a first completion message sent by the local agent, the first completion message is used to indicate that the exclusive state of the data to be stored has been obtained.
[0043] In one possible implementation, the second sending unit is specifically configured to send the write request to the local agent according to a memory access order, where the memory access order is an order corresponding to when the target bus agent accesses memory in the one or more bus agents.
[0044] In a possible implementation manner, the device further includes: a second receiving unit, configured to receive a second completion message sent by the local agent, wherein the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
[0045] It should be understood that the data storage device provided in the fifth aspect of the present application is consistent with the technical solution of the second aspect of the present application. Its specific content and beneficial effects can be referred to the data storage method provided in the above-mentioned second aspect, and will not be repeated here.
[0046] In a sixth aspect, an embodiment of the present application provides an electronic device, the device comprising a local agent HA and a bus controller, the local agent HA being connected to the bus controller via a first bus; wherein the local agent is used to implement the corresponding functions in the data storage method provided in the first aspect, and the bus controller is used to implement the corresponding functions in the data storage method provided in the second aspect. The electronic device may also include a communication interface for the electronic device to communicate with other devices or a communication network via a wired serial bus.
[0047] In a seventh aspect, an embodiment of the present application provides an electronic device, the device comprising a local agent HA, a bus controller and one or more bus agents, the local agent HA is connected to the bus controller via a first bus, the bus controller is connected to the one or more bus agents via a second bus, and the one or more bus agents include a target bus agent; wherein the local agent is used to implement the corresponding functions in the data storage method provided in the first aspect, and the bus controller is used to implement the corresponding functions in the data storage method provided in the second aspect, so that the data to be stored in the target bus agent is stored in the cache resource corresponding to the local agent. The electronic device may also include a communication interface for the electronic device to communicate with other devices or a communication network via a wired serial bus.
[0048] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium for storing computer software instructions used for a data storage device provided in the fourth aspect or the fifth aspect above, which includes a program designed for executing the above aspects.
[0049] In a ninth aspect, an embodiment of the present application provides a computer program, which includes instructions. When the computer program is executed by a computer, the computer can execute the process performed by the data storage device in the fourth or fifth aspect above. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the background technology, the drawings required for use in the embodiments of the present application or the background technology will be described below.
[0051] Figure 1 It is a schematic diagram of a data storage process during memory access in the prior art provided by an embodiment of the present application.
[0052] Figure 2 It is a schematic diagram of a bus system architecture provided in an embodiment of the present application.
[0053] Figure 3 It is a flow chart of a data storage method provided in an embodiment of the present application.
[0054] Figure 4 It is a flow chart of another data storage method provided in an embodiment of the present application.
[0055] Figure 5 It is a flow chart of another data storage method provided in an embodiment of the present application.
[0056] Figure 6 It is a structural schematic diagram of a data storage device provided in an embodiment of the present application.
[0057] Figure 7 It is a structural schematic diagram of another data storage device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0058] The embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0059] The terms "first" and "second" and the like in the specification and claims of the present application and the drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device comprising a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products or devices.
[0060] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0061] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0062] The terms "component", "module", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program and / or a computer. By way of illustration, both applications running on a computing device and a computing device can be components. One or more components may reside in a process and / or an execution thread, and a component may be located on a computer and / or distributed between two or more computers. In addition, these components may be executed from various computer-readable media having various data structures stored thereon. Components may, for example, communicate through local and / or remote processes according to signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system and / or a network, such as the Internet interacting with other systems through signals).
[0063] In order to facilitate understanding of the embodiments of the present application, the technical problems that need to be solved by the embodiments of the present application are analyzed in detail below.
[0064] Please refer to the attached Figure 1 , Figure 1 It is a schematic diagram of a data storage process during memory access in the prior art provided by an embodiment of the present application.
[0065] like Figure 1As shown in the figure: in the current bus system, according to the memory (cache) consistency processing mechanism, when the bus agent stores the data to be stored in the cache of the home agent (HA), that is, when the bus agent performs memory access, the bus agent needs to first send a memory access request (such as: Writer Unique, WU request) to the bus controller, and the bus controller forwards the write request (such as: Writer Back, WB request) to apply for the cache resources of the home agent (for example: the data cache identification (Data Buffer ID, DBID) information of the cache resources in the home agent), and then the bus agent sends the data to be stored to the bus controller, and then the bus controller stores the data to be stored in the cache corresponding to the home agent based on the DBID information.
[0066] By the above Figure 1 It can be seen that to store the data to be stored, the corresponding write request and the data to be stored need to be forwarded through the unified bus controller. The specific process is as follows: the corresponding write request will pass through the bus agent → unified bus controller → local agent → unified bus controller → bus agent to obtain DBID information; the data to be stored will pass through the bus agent → unified bus controller → local agent to be written into the buffer of the local agent corresponding to the above DBID information.
[0067] Therefore, in the existing data storage process, the relevant information of the cache resources in the requested local agent (such as DBID information) and the data to be stored need to be forwarded by the bus controller, that is, the memory access process needs to pass through the bus agent, bus controller and local agent respectively to realize data storage, resulting in a long data transmission path and large communication delay in the entire data storage process, which affects the data throughput.
[0068] In this regard, an embodiment of the present application provides a data flow optimization method, which can shorten the data transmission path of the entire process, reduce communication delays, and improve data throughput. Among them, for example: after receiving a write request for data to be stored sent by a controller, the method can return the acquired DBID information to the corresponding target bus agent through a local agent, and directly receive the data to be stored returned by the above-mentioned target bus agent. The data storage process can well shorten the data transmission path, reduce communication delays, improve data throughput, and achieve efficient data storage. Among them, the specific implementation of the method can also refer to the description of the following related embodiments, and the embodiments of the present application will not be repeated here.
[0069] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application.
[0070] Based on the technical issues raised above and to facilitate understanding of the embodiments of the present application, the bus system architecture on which the embodiments of the present application are based when storing data is first described.
[0071] Please refer to the attached Figure 2 , Figure 2 is a schematic diagram of a bus system architecture provided by an embodiment of the present application, such as Figure 2 As shown, the bus system architecture includes a local agent HA201, a bus controller 202 and one or more bus agents, wherein the local agent HA is connected to the bus controller via a first bus 01, the bus controller is connected to one or more bus agents via a second bus 02, and the one or more bus agents include a target bus agent 203.
[0072] It should be noted that the types of the first bus and the second bus in the embodiment of the present application can be the same or different. For example, when the first bus and the second bus are of the same type, both the first bus and the second bus can be high-speed serial buses such as a unified bus (UB); for another example, the first bus can be a high-speed serial bus such as a PCI (peripheral component interconnect) bus and a PCI-Express bus, and the second bus can be a high-speed serial bus such as a unified bus (UB). This embodiment of the present application does not make specific limitations on this.
[0073] In the bus system, the bus controller is used to manage or control the cache resources in the local agent currently accessed or applied for. In the embodiment of the present application, a write request can be sent to the local agent, and the write request is a write request for the data to be stored in the target bus agent, and the write request includes the node identifier corresponding to the target bus agent. For example, the write request is to write the modified data or the data to be stored by the bus agent in the bus system back to the memory, that is, to access the memory or apply for cache resources to the local agent connected to the bus controller to store the above data. Among them, the write request can carry field information such as the node identifier corresponding to the target bus agent, the relevant information of the data to be stored in the target bus agent (such as: the length of the data to be stored, the type, the location to be stored, etc.), so that the recipient (that is, the local agent) can apply for the corresponding cache resources in response to the write request.
[0074] In other embodiments, the bus controller can also be used to ensure the memory access order between multiple bus agents to the local agent. Exemplarily, when multiple bus agents apply for the same cache resources in the local agent, or when there are task dependencies or operation dependencies between multiple bus agents and it is necessary to access the cache resources in the local agent in a certain memory access order (i.e., there is an order preservation requirement), the bus controller can send the write request corresponding to each bus agent to the local agent according to the memory access order between the multiple bus agents. Among them, the memory access order can be issued by the upstream related processing module based on the related processing tasks or storage tasks, and can also be determined by the bus controller according to the dependency relationship between the multiple bus agents accessed. This embodiment of the present application does not make specific restrictions.
[0075] The local agent is used to store related data, and in order to maintain memory consistency, the cache resources in the local agent can be controlled by the above-mentioned bus controller. In an embodiment of the present application, it can be used to respond to the above-mentioned write request to obtain data cache identification DBID information, and the DBID information is used to indicate the cache resources applied for in the local agent based on the data to be stored; based on the node identifier, the DBID information is sent to the corresponding target bus agent; the data to be stored sent by the target bus agent is received, and the data to be stored is stored in the cache resource corresponding to the DBID information. Among them, the corresponding cache resource in the local agent can be identified based on the DBID information, which is equivalent to informing the upstream team agent that the cache resource corresponding to the DBID information is reserved, and the data can be sent to the cache resource.
[0076] The target bus agent is used to generate or process data, and can also store the generated or processed data in the cache resources applied for or obtained by the above-mentioned bus controller from the local agent. In an embodiment of the present application, a memory access request for the data to be stored can be sent to the bus controller, so that the above-mentioned bus controller sends a write request to the local agent to apply for the cache resources for the data to be stored in the local agent. The target bus agent can also be used to send the data to be stored to the above-mentioned local agent based on the above-mentioned DBID information.
[0077] The target bus agent is any one of the one or more bus agents, and the one or more bus agents are connected to the bus controller via the second bus, and each bus agent can process different services or the same service. In addition, the one or more bus agents can belong to the same hardware entity, which is not specifically limited in the embodiments of the present application.
[0078] In other embodiments, any one of the one or more bus agents may belong to the same hardware entity as the bus controller and the local agent (e.g., different functional modules integrated in the same chip, etc.), or may belong to different hardware entities (e.g., belonging to different servers among multiple servers that are interconnected; or belonging to different chips in the same server, etc.), and the embodiments of the present application do not make specific limitations on this.
[0079] Therefore, after receiving a write request for the data to be stored sent by the controller, the local agent of the bus system in the embodiment of the present application can directly return the acquired DBID information to the corresponding target bus agent, and directly receive the data to be stored returned by the above-mentioned target bus agent. This direct data storage process can effectively shorten the data transmission path, reduce communication delays, improve data throughput, and achieve efficient data storage.
[0080] It should be noted that the specific implementation methods of the functional modules in the bus system frame described in the embodiments of the present application can also be found in the relevant descriptions in the following method embodiments, which will not be repeated here.
[0081] It is understandable that the system architecture and the scenarios involved described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application.
[0082] Secondly, based on the bus system architecture provided in the above embodiments and in combination with the data storage method provided in this application, the technical problems raised in this application are specifically analyzed and solved.
[0083] Please refer to the attached Figure 3 , Figure 3 is a flow chart of a data storage method provided in an embodiment of the present application, which can be applied to the above Figure 2 In the bus system architecture described in Figure 2 The target bus agent 203 in the embodiment can be used to execute step S301 and step S305. Figure 2 The bus controller 202 in the embodiment can be used to perform step S302. Figure 2 The local agent HA201 in can be used to perform steps S303-S304 and step S306. Figure 3 As shown, the detailed description of each step of the data storage method is as follows:
[0084] Step S301: Send a memory access request to a bus controller.
[0085] Specifically, the target bus agent sends a memory access request to the bus controller, and the memory access request includes a node identifier. The memory access request is used to request access to the memory and store the data to be stored in the target bus agent. The memory access request may carry the node identifier of the target bus agent, and the node identifier may be carried in the memory access request as a special field segment. The node identifier may be used to identify the target bus agent, so that the subsequent local agent can directly return the cache resource identification information to the target bus agent based on the node identifier without forwarding through the bus controller or other functional modules. Exemplarily, when the second bus connecting the target bus agent and the bus controller is a UB bus, the memory access request may be a Write Unique request specified by the relevant communication protocol, which is not specifically limited in this application.
[0086] Step S302: Send a write request to the local proxy.
[0087] Specifically, after receiving the memory access request sent by the target bus agent, the bus controller may send the write request to the local agent in response to the memory access request. Exemplarily, the write request may be a Write Back request specified in the relevant communication protocol. It should be noted that both the memory access request and the write request may be understood as write requests for data to be stored, but the sender and the receiver are different.
[0088] Optionally, before sending the write request to the local agent, it also includes: sending an exclusive state request to the local agent, wherein the exclusive state request is used to request to obtain the exclusive state of the data to be stored; receiving a first completion message sent by the local agent, wherein the first completion message is used to indicate that the exclusive state of the data to be stored has been obtained.
[0089] Please refer to the attached Figure 4 , Figure 4 is a flow chart of another data storage method provided in an embodiment of the present application, such as Figure 4 As shown, after receiving the memory access request WU sent by the target bus agent, the bus controller can also respond to the memory access request WU and send an exclusive state request CU to the local agent before sending the write request WB to the local agent, wherein the exclusive state request CU is mainly to obtain the exclusive state (i.e., exclusive, E state) of the data to be stored to ensure the consistency of the memory. Exemplarily, the exclusive state request can be a Clean Unique request specified by the relevant communication protocol.
[0090] In addition, the bus controller can also receive a first completion message sent by the local agent, and the first completion message is used to indicate that the exclusive state of the data to be stored has been obtained. Exemplarily, the first completion message can be a completion message specified by the relevant communication protocol. The first completion message COMP can be used to reply to the above-mentioned exclusive state request, indicating that the acquisition of the exclusive state of the data to be stored has been completed. The exclusive state is mainly to ensure the consistency of the memory and prevent the existence of two or more different bus agents processing the data to be stored. Before receiving the write request sent by the bus controller, the local agent can obtain the exclusive state for the data to be stored in response to the exclusive state request after receiving the exclusive state request sent by the bus controller to ensure the consistency of the memory. In an embodiment of the present application, the exclusive state means that the data to be stored to be saved in the local agent is the only valid one. If the data to be stored is originally held elsewhere, it will immediately become an "invalid" state.
[0091] Optionally, the bus controller sending the write request to the local agent includes: the bus controller sending the write request to the local agent according to a memory access order, where the memory access order is a corresponding order when the target bus agent accesses memory in the one or more bus agents.
[0092] The local agent receives a write request sent by the bus controller in a memory access order, so that the local agent can store the data to be stored of the target bus agent in one or more bus agents in the memory access order. The memory access order is the order in which the target bus agent accesses the memory in the one or more bus agents. For example, when multiple bus agents apply for the same cache resource in the local agent, or when there is a memory access order between multiple bus agents, the local agent can store the data to be stored in one or more bus agents in sequence according to the memory access order after receiving the write request, so as to ensure the consistency of the memory and reduce memory access errors at the same time, so as to achieve efficient data storage.
[0093] For example: Please refer to the attached Figure 5 , Figure 5 is a flow chart of another data storage method provided in an embodiment of the present application, such as Figure 5As shown, the bus controller is connected to two bus agents (such as bus agent 1 and bus agent 2) through the second bus. When both bus agents need to apply for cache resources from the local agent managed by the bus controller, if it is determined that there is a memory access order between the two bus agents, for example, the memory access order of the two bus agents is that bus agent 1 performs memory access first and bus agent 2 performs memory access later. In this regard, the bus controller will not send a write request WB2 for data 2 to be stored in bus agent 2 first, even if it receives a memory access request WU2 from bus agent 2 first. As mentioned above Figure 5 As shown, when the bus controller receives the memory access request WU2, the bus controller has not received the memory access request WU of bus agent 1 to send the write request WB1 to the local agent. The bus controller needs to wait until the bus controller receives the memory access request WU of bus agent 1 and sends the write request WB1 corresponding to bus agent 1 to the local agent before sending the write request WB2 corresponding to bus agent 2 to the local agent. That is, it can be understood that the bus controller needs to send its corresponding write request according to the memory access order between bus agents.
[0094] Step S303: In response to the write request, obtain data cache identification DBID information.
[0095] Specifically, after receiving the write request sent by the bus controller, the local agent can respond to the write request and obtain the data cache identification DBID information. The DBID information is used to indicate the cache resources applied for in the local agent based on the data to be stored, that is, the DBID information can be used to uniquely identify the cache resources applied for in the local agent. In addition, after receiving the write request for applying for cache resources, the local agent can respond to the write request, determine the cache resource based on the relevant information of the data to be stored carried in the write request, and then determine the data cache identification DBID information corresponding to the cache resource.
[0096] In other embodiments, the cache resource may also be an area to be stored, and the cache resource identification information may also be a storage address corresponding to the area to be stored, etc., which is not specifically limited in the embodiments of the present application.
[0097] Step S304: Based on the node identifier, DBID information is sent to the corresponding target bus agent.
[0098] Specifically, since the write request includes the node identifier corresponding to the target bus agent, the local agent can directly send the DBID information to the corresponding target bus agent based on the node identifier after obtaining the data cache identifier DBID information. Correspondingly, after receiving the write request for the data to be stored sent by the controller, the local agent can directly return the obtained DBID information to the corresponding target bus agent based on the node identifier corresponding to the target bus agent carried in the write request, thereby saving the data transmission path forwarded by the bus control, reducing communication delay, and realizing efficient data storage.
[0099] Optionally, the bus controller sends a second completion message, where the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
[0100] In an embodiment of the present application, after the local agent sends the DBID information to the corresponding target bus agent based on the node identifier, it can send a second completion message to the bus controller indicating that the DBID information has been sent to the target bus agent, so as to reduce memory access errors, improve data throughput, and achieve efficient data storage.
[0101] Step S305: sending the data to be stored to the local proxy.
[0102] Specifically, after receiving the DBID information directly sent by the local agent, the target bus agent can directly send the data to be stored to the local agent. This method also saves the data transmission path of the bus control forwarding, further reduces the communication delay, and realizes efficient data storage. The data to be stored can be the data processed by the target bus agent to be stored in the local agent, and this application does not make specific limitations on this.
[0103] Step S306: storing the data to be stored in the cache resource corresponding to the DBID information.
[0104] Specifically, after receiving the data to be stored sent by the target bus agent, the local agent can store the data to be stored in the cache resource corresponding to the DBID information, that is, the target bus agent can store the data with storage in the cache resource pre-applied by the bus controller. This method separates the write request from the data to be stored, greatly increases the data throughput rate, and improves the data storage efficiency.
[0105] Therefore, the local agent in the embodiment of the present application can receive a write request sent by the bus controller; in response to the write request, apply for a cache resource in the local agent based on the data to be stored, and obtain the data cache identifier DBID information of the cache resource; then, the local agent can directly send the obtained DBID information to the corresponding target bus agent (the target bus agent is connected to the bus controller via the second bus) based on the node identifier in the above write request, and receive the data to be stored directly sent by the target bus agent; finally, the data to be stored is stored in the cache resource corresponding to the DBID information. Therefore, after receiving the write request for the data to be stored sent by the controller, the local agent in the embodiment of the present application can directly return the obtained DBID information to the corresponding target bus agent, and directly receive the data to be stored returned by the above target bus agent. The data storage process not only compresses the transmission path of the DBID information, but also compresses the transmission path of the data to be stored, thereby greatly reducing communication delays, improving data throughput, and achieving efficient data storage.
[0106] The above content describes the bus system and related data storage method provided by the present application. In order to facilitate the implementation of the above scheme of the embodiment of the present application, the embodiment of the present application also provides a corresponding device.
[0107] The present application divides the functional modules of the device according to the above-mentioned system and method embodiments. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. The device of the embodiment of the present application will be described below in conjunction with the accompanying drawings.
[0108] Please refer to the attached Figure 6 , Figure 6 is a schematic diagram of a structure of a data storage device provided by an embodiment of the present application, such as Figure 6 As shown, the data storage device 60 can be applied to the above Figure 2 The local agent HA201 in the embodiment is connected to the bus controller via a first bus, the bus controller is connected to one or more bus agents via a second bus, the one or more bus agents include a target bus agent; the data storage device 60 includes: a first receiving unit 601, a first responding unit 602, a first sending unit 603 and a receiving storage unit 604, and may also include: a first exclusive unit 605 and a third sending unit 606. The relevant descriptions of each unit are as follows:
[0109] A first receiving unit 601 is used to receive a write request sent by the bus controller, wherein the write request is a write request for data to be stored in the target bus agent, and the write request includes a node identifier corresponding to the target bus agent;
[0110] A first response unit 602 is used to obtain data cache identification DBID information in response to the write request, where the DBID information is used to indicate the cache resources applied for in the local proxy based on the data to be stored;
[0111] A first sending unit 603 is used to send the DBID information to the corresponding target bus agent based on the node identifier;
[0112] The receiving storage unit 604 is used to receive the data to be stored sent by the target bus agent, and store the data to be stored in the cache resource corresponding to the DBID information.
[0113] In one possible implementation, the device also includes: a first exclusive unit 605, which is used to receive an exclusive state request sent by the bus controller before receiving a write request sent by the bus controller, and the exclusive state request is used to request to obtain an exclusive state for the data to be stored; in response to the exclusive state request, a first completion message is sent to the bus controller, and the first completion message is used to indicate that the exclusive state of the data to be stored has been obtained.
[0114] In one possible implementation, the first receiving unit 601 is specifically used to: receive the write request sent by the bus controller according to a memory access order, where the memory access order is the order corresponding to when the target bus agent accesses the memory in the one or more bus agents.
[0115] In a possible implementation, the device further includes: a third sending unit 606, configured to send a second completion message to the bus controller, wherein the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
[0116] It should be noted that the functions of the various functional modules in the data storage device 60 described in the embodiment of the present application can also be referred to in the above Figure 3-Figure 5 The descriptions of steps S301 to S306 in the method embodiment are not repeated here.
[0117] Please refer to the attached Figure 7 , Figure 7 is a schematic diagram of the structure of another data storage device provided by an embodiment of the present application, such as Figure 7 As shown, the data storage device 70 can be applied to the above Figure 2In the bus controller 202 shown, the bus controller is connected to the local agent HA via a first bus, and the bus controller is connected to one or more bus agents via a second bus, and the one or more bus agents include a target bus agent; the data storage device 70 includes: a second sending unit 701, and may also include: a second exclusive unit 702 and a second receiving unit 703. The relevant descriptions of each unit are as follows:
[0118] A second sending unit 701 is used to send a write request to the local agent, so that the local agent responds to the write request and sends DBID information to the target bus agent based on the node identifier in the write request;
[0119] The write request is a write request for data to be stored in the target bus agent, the write request includes the node identifier corresponding to the target bus agent, and the DBID information is used to identify cache resources applied for in the local agent based on the data to be stored.
[0120] In one possible implementation, the second sending unit 701 is specifically configured to: receive a memory access request sent by the target bus agent, wherein the memory access request includes the node identifier; and send the write request to the local agent in response to the memory access request.
[0121] In one possible implementation, the device also includes: a second exclusive unit 702, which is used to send an exclusive state request to the local agent before sending a write request to the local agent, and the exclusive state request is used to request to obtain the exclusive state of the data to be stored; and receive a first completion message sent by the local agent, and the first completion message is used to indicate that the exclusive state of the data to be stored has been obtained.
[0122] In one possible implementation, the second sending unit 701 is specifically configured to send the write request to the local agent according to a memory access order, where the memory access order is the order in which the target bus agent accesses memory in the one or more bus agents.
[0123] In a possible implementation manner, the device further includes: a second receiving unit 703, configured to receive a second completion message sent by the local agent, wherein the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
[0124] It should be noted that the functions of the various functional modules in the data storage device 70 described in the embodiment of the present application can also be referred to in the above Figure 3-Figure 5 The descriptions of steps S301 to S306 in the method embodiment are not repeated here.
[0125] In addition, an embodiment of the present application provides an electronic device, the electronic device includes a local agent HA and a bus controller, and the local agent HA is connected to the bus controller via a first bus. In this case, the local agent and the bus controller may belong to the same hardware module, wherein the local agent can be used for the corresponding functions in the data storage method provided in the above-mentioned related embodiments, and the bus controller is used to implement the corresponding functions in the data storage method provided in the above-mentioned related embodiments. The electronic device may also include a communication interface for the electronic device to communicate with other devices or a communication network via a wired serial bus.
[0126] The embodiment of the present application also provides an electronic device, the device includes a local agent HA, a bus controller and one or more bus agents, the local agent HA is connected to the bus controller via a first bus, the bus controller is connected to the one or more bus agents via a second bus, and the one or more bus agents include a target bus agent. At this time, the local agent and the bus controller may belong to the same hardware module, wherein the local agent is used to implement the corresponding functions of the data storage method provided in the above-mentioned related embodiments, and the bus controller is used to implement the corresponding functions of the data storage method provided in the above-mentioned related embodiments, so that the data to be stored in the target bus agent is stored in the cache resource corresponding to the local agent. The electronic device may also include a communication interface for the electronic device to communicate with other devices or a communication network via a wired serial bus.
[0127] In addition, an embodiment of the present application further provides a computer-readable storage medium, in which a computer program code is stored. When the above-mentioned processor executes the computer program code, the computer executes the method in any of the aforementioned embodiments.
[0128] The embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, the computer executes the method in any of the aforementioned embodiments.
[0129] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0130] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the order of the actions described, because according to the present application, some steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0131] In the several embodiments provided in the present application, it should be understood that the disclosed device can be implemented in other ways. For example, the device embodiments described above are only schematic, such as the division of the above-mentioned units, which is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical or other forms.
[0132] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0133] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0134] If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server or a network device, etc., specifically a processor in a computer device) to perform all or part of the steps of the above-mentioned methods of each embodiment of the present application. Among them, the aforementioned storage medium may include: U disk, mobile hard disk, magnetic disk, optical disk, read-only memory (Read-Only Memory, abbreviated: ROM) or random access memory (Random Access Memory, abbreviated: RAM) and other media that can store program codes.
[0135] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A data storage method, characterized in that: Applied to a local agent HA, the local agent is connected to a bus controller via a first bus, the bus controller is connected to one or more bus agents via a second bus, the one or more bus agents include a target bus agent; The method comprises: receiving a write request sent by the bus controller, wherein the write request is a write request for data to be stored in the target bus agent, and the write request includes a node identifier corresponding to the target bus agent; In response to the write request, acquiring data cache identification DBID information, wherein the DBID information is used to indicate cache resources applied for in the local proxy based on the data to be stored; Based on the node identifier, sending the DBID information to the corresponding target bus agent; The data to be stored is received from the target bus agent, and the data to be stored is stored in the cache resource corresponding to the DBID information.
2. The method according to claim 1, characterized in that: Before receiving the write request sent by the bus controller, the method further includes: receiving an exclusive state request sent by the bus controller, wherein the exclusive state request is used to request to obtain an exclusive state for the data to be stored; In response to the exclusive state request, a first completion message is sent to the bus controller, where the first completion message is used to indicate that the exclusive state of the data to be stored has been acquired.
3. The method according to claim 1 or 2, characterized in that: The receiving a write request sent by the bus controller comprises: The write request sent by the bus controller is received according to a memory access order, where the memory access order is a corresponding order when the target bus agent accesses memory in the one or more bus agents.
4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: A second completion message is sent to the bus controller, where the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
5. A data storage method, characterized in that: Applied to a bus controller, the bus controller is connected to a local agent HA via a first bus, the bus controller is connected to one or more bus agents via a second bus, the one or more bus agents include a target bus agent; The method comprises: Sending a write request to the local agent, so that the local agent responds to the write request and sends DBID information to the target bus agent based on the node identifier in the write request; The write request is a write request for data to be stored in the target bus agent, the write request includes the node identifier corresponding to the target bus agent, and the DBID information is used to identify cache resources applied for in the local agent based on the data to be stored.
6. The method according to claim 5, characterized in that: The sending of a write request to the local agent comprises: receiving a memory access request sent by the target bus agent, wherein the memory access request includes the node identifier; In response to the memory access request, the write request is sent to the local agent.
7. The method according to claim 5 or 6, characterized in that: Before sending the write request to the local proxy, the method further includes: Sending an exclusive state request to the local proxy, wherein the exclusive state request is used to request to obtain the exclusive state of the data to be stored; A first completion message sent by the local agent is received, where the first completion message is used to indicate that an exclusive state of the data to be stored has been acquired.
8. The method according to any one of claims 5 to 7, characterized in that: The sending a write request to the local agent includes: The write request is sent to the local agent according to a memory access order, where the memory access order is the order in which the target bus agent accesses memory in the one or more bus agents.
9. The method according to any one of claims 5 to 8, characterized in that: The method further comprises: A second completion message sent by the local agent is received, where the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
10. A bus system, characterized in that: The system comprises a local agent HA, a bus controller and one or more bus agents, wherein the local agent HA is connected to the bus controller via a first bus, the bus controller is connected to one or more bus agents via a second bus, and the one or more bus agents include a target bus agent; wherein, The bus controller is used to: send a write request to the local agent, wherein the write request is a write request for data to be stored in the target bus agent, and the write request includes a node identifier corresponding to the target bus agent; The local agent is used to: in response to the write request, obtain data cache identification DBID information, the DBID information is used to indicate the cache resources applied for in the local agent based on the data to be stored; based on the node identifier, send the DBID information to the corresponding target bus agent; receive the data to be stored sent by the target bus agent, and store the data to be stored in the cache resource corresponding to the DBID information; The target bus agent is used to send the data to be stored to the local agent based on the DBID information.
11. The system according to claim 10, characterized in that: The local agent is also used to: Before receiving the write request sent by the bus controller, receiving an exclusive state request sent by the bus controller, wherein the exclusive state request is used to request to obtain an exclusive state for the data to be stored; In response to the exclusive state request, a first completion message is sent to the bus controller, where the first completion message is used to indicate that the exclusive state of the data to be stored has been acquired.
12. The system according to claim 10 or 11, characterized in that: The bus controller is specifically used for: receiving a memory access request sent by the target bus agent, wherein the memory access request includes the node identifier; In response to the memory access request, the write request is sent to the local agent.
13. The system according to any one of claims 10 to 12, characterized in that: The bus controller is specifically used for: The write request is sent to the local agent according to a memory access order, where the memory access order is the order in which the target bus agent accesses memory in the one or more bus agents.
14. The system according to any one of claims 10 to 13, characterized in that: The local agent is also used to: A second completion message is sent to the bus controller, where the second completion message is used to indicate that the DBID information has been sent to the corresponding target bus agent.
15. A data storage device, characterized in that: Applied to a local agent HA, the local agent is connected to a bus controller via a first bus, the bus controller is connected to one or more bus agents via a second bus, the one or more bus agents include a target bus agent; The device comprises: A first receiving unit, configured to receive a write request sent by the bus controller, wherein the write request is a write request for data to be stored in the target bus agent, and the write request includes a node identifier corresponding to the target bus agent; A first response unit, configured to obtain data cache identification DBID information in response to the write request, wherein the DBID information is used to indicate a cache resource applied for in the local proxy based on the data to be stored; A first sending unit, configured to send the DBID information to the corresponding target bus agent based on the node identifier; A receiving storage unit is used to receive the data to be stored sent by the target bus agent, and store the data to be stored in the cache resource corresponding to the DBID information.
16. A data storage device, characterized in that: Applied to a bus controller, the bus controller is connected to a local agent HA via a first bus, the bus controller is connected to one or more bus agents via a second bus, the one or more bus agents include a target bus agent; The device comprises: A second sending unit, configured to send a write request to the local agent, so that the local agent responds to the write request and sends DBID information to the target bus agent based on the node identifier in the write request; The write request is a write request for data to be stored in the target bus agent, the write request includes the node identifier corresponding to the target bus agent, and the DBID information is used to identify cache resources applied for in the local agent based on the data to be stored.
17. An electronic device, characterized in that: The device comprises a local agent HA and a bus controller, wherein the local agent HA is connected to the bus controller via a first bus; The local agent is used to execute the method as described in any one of claims 1 to 4, and the bus controller is used to execute the method as described in any one of claims 5 to 9.
18. An electronic device, characterized in that: The device comprises a local agent HA, a bus controller and one or more bus agents, wherein the local agent HA is connected to the bus controller via a first bus, the bus controller is connected to the one or more bus agents via a second bus, and the one or more bus agents include a target bus agent; The local agent is used to execute the method as described in any one of claims 1-4, and the bus controller is used to execute the method as described in any one of claims 5-9, so that the data to be stored in the target bus agent is stored in the cache resource corresponding to the local agent.
19. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a computer or a processor, the computer or the processor is caused to perform the method according to any one of claims 1 to 4 or 5 to 9.
20. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a computer or a processor, the method described in any one of claims 1 to 4 or 5 to 9 is implemented.
