Control data processing method and processing device including data compilation command
By determining the execution order of data compilation commands and data reading commands based on the reading target identifier in the memory controller of the host, the problem that the existing system cannot identify the execution order of commands sent by the device in the same operation cycle is solved, and the correct execution order of commands is achieved, which improves the stability and reliability of the system.
Patent Information
- Application Number
- CN202410658339.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-23
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2043-10-23
AI Technical Summary
When the existing system ensures operational flexibility, it cannot identify the execution order of the data compilation commands and data reading commands sent by the device during the same operation cycle, resulting in the host being unable to determine which command should be executed first.
By determining the execution order of the data compilation command and the data reading command based on the reading destination identifier in the memory controller of the host, the specific steps include: if the reading purpose is to read the original data, the data reading command is first executed, and then the data compilation command is executed; if the reading purpose is to read the current data, the data compilation command is first executed, and then the data reading command is executed.
It solves the problem that the host cannot determine the execution order when receiving multiple commands within the same operation cycle, ensures the correct execution order of the commands, and improves the stability and reliability of the system.
Smart Images

Figure CN118568019B_ABST
Abstract
Description
[0001] This application is a divisional application with application number 202311380205.2, application date October 23, 2023, and the invention name at the time of application is “A method and device for controlling data processing”. Technical Field
[0002] The present invention relates to the technical field of data processing, and in particular to a control data processing method and a processing device containing data compilation commands. Background Art
[0003] At present, in some automated factories, a server can generate certain control data based on a computer program, and then the server can send the control data to a host located in the factory, and then the host can store the control data of some automated equipment in the factory. When necessary, engineers in the factory can read the control data from the host, and at the same time, engineers in the factory can fine-tune the control data stored on the host. In addition, the automated equipment in the factory can also spontaneously read some necessary control data from the host. However, there are still some insurmountable technical problems in the operation of the existing system. Summary of the invention
[0004] The present invention provides a control data processing method containing data compilation commands, comprising the following steps: a host receives a control data set sent by a server; the host stores the control data set in a memory of the host; the host receives a first data compilation command sent by a first device, wherein the first data compilation command is generated by a first user; the host receives a first data read command sent by the first device, wherein the first data read command is automatically generated by the first device, wherein the first data read command includes a first read destination identifier, wherein the first data compilation command and the first data read command are received by the host within one operation cycle; the host stores the first data compilation command and the first data read command in a buffer; the host's memory controller determines the first read destination based on the first read destination identifier; the host's memory controller determines the execution order of the first data compilation command and the first data read command based on the first read destination.
[0005] In a preferred embodiment, determining by the host's memory controller the execution order of the first data compilation command and the first data read command based on the first read purpose includes the following steps: if the host's memory controller determines, based on the first read purpose identifier, that the first read purpose is to read original data, then the host's memory controller determines to execute the first data read command first and then execute the first data compilation command; if the host's memory controller determines, based on the first read purpose identifier, that the first read purpose is to read current data, then the host's memory controller determines to execute the first data compilation command first and then execute the first data read command.
[0006] In a preferred embodiment, the method also includes: receiving, by the host, a second data compilation command sent by the first device, wherein the second data compilation command is automatically generated by the first device; receiving, by the host, a second data read command sent by the first device, wherein the second data read command is generated by the first user, wherein the second data read command includes a second read destination identifier, wherein the second data compilation command and the second data read command are received by the host within one operation cycle; storing, by the host, the second data compilation command and the second data read command in a buffer; determining, by the host's memory controller, the second read destination based on the second read destination identifier, wherein the second read destination identifier represents the second read destination in a manner different from the manner in which the first read destination identifier represents the first read destination; determining, by the host's memory controller, an execution order of the second data compilation command and the second data read command based on the second read destination.
[0007] In a preferred embodiment, the host's memory controller determines the execution order of the second data compilation command and the second data read command based on the second read purpose, including the following steps: if the host's memory controller determines that the second read purpose is to read the original data based on the second read purpose identifier, the host's memory controller determines to execute the second data read command first and then execute the second data compilation command; if the host's memory controller determines that the second read purpose is to read the current data based on the second read purpose identifier, the host's memory controller determines to execute the second data compilation command first and then execute the second data read command.
[0008] In a preferred embodiment, the method also includes: receiving, by the host, a third data compilation command sent by the first device, wherein the third data compilation command is generated by the first user; receiving, by the host, a third data read command sent by the second device, wherein the third data read command is generated by the second user, wherein the third data read command includes a third read destination identifier, wherein the third data compilation command and the third data read command are received by the host within one operation cycle; storing, by the host, the third data compilation command and the third data read command in a buffer; determining, by the host's memory controller, a third read destination based on the third read destination identifier, wherein the third read destination identifier represents the third read destination in a manner different from the manner in which the first read destination identifier represents the first read destination, wherein the third read destination identifier represents the third read destination in a manner different from the manner in which the second read destination identifier represents the second read destination; determining, by the host's memory controller, an execution order of the third data compilation command and the third data read command based on the third read destination.
[0009] In a preferred embodiment, the host's memory controller determines the execution order of the third data compilation command and the third data read command based on the third read purpose, including the following steps: if the host's memory controller determines that the third read purpose is to read the original data based on the third read purpose identifier, the host's memory controller determines to execute the third data read command first and then execute the third data compilation command; if the host's memory controller determines that the third read purpose is to read the current data based on the third read purpose identifier, the host's memory controller determines to execute the third data compilation command first and then execute the third data read command.
[0010] The present invention provides a control data processing device, comprising a unit for performing the following operations: a host receives a control data set sent by a server; the host stores the control data set in a memory of the host; the host receives a first data compilation command sent by a first device, wherein the first data compilation command is generated by a first user; the host receives a first data read command sent by the first device, wherein the first data read command is automatically generated by the first device, wherein the first data read command includes a first read destination identifier, wherein the first data compilation command and the first data read command are received by the host within one operation cycle; the host stores the first data compilation command and the first data read command in a buffer; the host's memory controller determines the first read destination based on the first read destination identifier; the host's memory controller determines the execution order of the first data compilation command and the first data read command based on the first read destination.
[0011] In a preferred embodiment, determining by the host's memory controller the execution order of the first data compilation command and the first data read command based on the first read purpose includes the following steps: if the host's memory controller determines, based on the first read purpose identifier, that the first read purpose is to read original data, then the host's memory controller determines to execute the first data read command first and then execute the first data compilation command; if the host's memory controller determines, based on the first read purpose identifier, that the first read purpose is to read current data, then the host's memory controller determines to execute the first data compilation command first and then execute the first data read command.
[0012] In a preferred embodiment, the device also includes a unit for performing the following operations: receiving, by the host, a second data compilation command sent by the first device, wherein the second data compilation command is automatically generated by the first device; receiving, by the host, a second data read command sent by the first device, wherein the second data read command is generated by the first user, wherein the second data read command includes a second read destination identifier, wherein the second data compilation command and the second data read command are received by the host within one operation cycle; storing, by the host, the second data compilation command and the second data read command in a buffer; determining, by the host's memory controller, the second read destination based on the second read destination identifier, wherein the second read destination identifier represents the second read destination in a manner different from the manner in which the first read destination identifier represents the first read destination; determining, by the host's memory controller, the execution order of the second data compilation command and the second data read command based on the second read destination.
[0013] In a preferred embodiment, the host's memory controller determines the execution order of the second data compilation command and the second data read command based on the second read purpose, including the following steps: if the host's memory controller determines that the second read purpose is to read the original data based on the second read purpose identifier, the host's memory controller determines to execute the second data read command first and then execute the second data compilation command; if the host's memory controller determines that the second read purpose is to read the current data based on the second read purpose identifier, the host's memory controller determines to execute the second data compilation command first and then execute the second data read command.
[0014] Compared with the prior art, the present invention has the following advantages:
[0015] In order to ensure operational flexibility, the existing system has caused new technical problems. There is a situation where the same device sends a data compilation command and a data reading command to the host at the same time. At this time, the host cannot identify whether the device wants to execute the data compilation command or the data reading command first. In addition, since the device is allowed to automatically send the data compilation command and the data reading command, even if the host receives the data compilation command and / or the data reading command generated by the user and the device actively, the host still cannot determine whether the device wants to execute the data compilation command or the data reading command first, because the user is not clear whether the device has automatically sent the data compilation command and / or the data reading command. In addition, two devices of the same model may read and / or compile the same data. If the host receives the data compilation command and / or the data reading command sent by the two devices successively or simultaneously, the host cannot determine whether the data compilation command or the data reading command needs to be executed first. The technical solution proposed by the present invention is intended to solve this problem. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 is a schematic diagram of a system structure according to an embodiment of the present invention.
[0017] Figure 2 is a flow chart of a method according to an embodiment of the present invention.
[0018] Figure 3 is a logic block diagram of a device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0019] The specific implementation modes of the present invention are described in detail below in conjunction with the accompanying drawings, but it should be understood that the protection scope of the present invention is not limited by the specific implementation modes.
[0020] Some current factory control systems allow engineers in the factory to read control data from the host or fine-tune control data, and allow automated equipment in the factory to spontaneously read some necessary control data from the host or fine-tune control data. This design improves the flexibility of the entire system. Otherwise, if engineers or equipment are not allowed to fine-tune data, each data modification needs to be performed on the server side, and then the server needs to resend the entire control data set to the host so that the host can update the control data. However, while ensuring operational flexibility, the existing system has caused other technical problems. During the research process, we found that there is a situation where the same device sends a data compilation command (this term will be further introduced below) and a data reading command to the host at the same time. At this time, the host cannot identify whether the device wants to execute the data compilation command or the data reading command first. In addition, since the device is allowed to automatically send data compilation commands and data reading commands, even if the host receives the data compilation command and / or data reading command generated by the user and the device actively, the host still cannot determine whether the device wants to execute the data compilation command or the data reading command first, because the user does not know whether the device has automatically sent the data compilation command and / or the data reading command. In addition, two devices of the same model may read and / or compile the same data. If the host receives the data compilation command and / or data reading command sent by the two devices successively or simultaneously, the host cannot determine whether the data compilation command or the data reading command needs to be executed first. One solution is to add an identifier of the execution order to each command, but this solution first requires the user and the device to know or roughly know how many commands will arrive at the host at the same time, and also know which commands will arrive at the host at the same time. Only based on this information can the device and the user determine the order of command execution. However, as mentioned above, since some commands are commands sent by other devices and some commands are commands sent spontaneously by the device, the user and the device cannot know how many commands will arrive at the host at the same time, nor can they know which commands will arrive at the host at the same time. Therefore, this solution cannot adapt to the current system design. The technical solution proposed in the present invention is intended to solve this problem.
[0021] Example 1
[0022] Figure 1 : is a schematic diagram of the system structure according to an embodiment of the present invention. As shown in the figure, the system of the present invention includes a server, a host, a first device and a second device. It can be understood by those skilled in the art that the present invention may include more devices, for example, it may include a first device, a second device, a third device and a fourth device. At the same time, there may be more than one host in a factory area, and an example of the host may be a computer. Examples of the first device and the second device may be automation equipment in the factory, such as handling machinery.
[0023] Example 2
[0024] Figure 2 1 is a flow chart of a method according to an embodiment of the present invention. As shown in the figure, the method of the present invention comprises:
[0025] Step 11: The host receives a control data set sent by the server; in one example, the control data set is control data for all devices in the entire factory;
[0026] Step 12: The host stores the control data set in a memory of the host;
[0027] Step 13: The host receives a first data compilation command sent by the first device, wherein the first data compilation command is generated by the first user; in the present invention, compiling the data may include modifying, deleting, replacing or performing a function operation on the data; the first data compilation command may refer to a command to modify, delete, replace or perform a function operation on the data;
[0028] Step 14: The host receives a first data read command sent by the first device, wherein the first data read command is automatically generated by the first device, wherein the first data read command includes a first read destination identifier, wherein the first data compilation command and the first data read command are received by the host within an operation cycle; in an example, the current system operates in units of operation cycles, that is, multiple commands received within an operation cycle are considered by the host to be commands received simultaneously. For example, in an example, assuming that the operation cycle is 0.1s, then the two commands received at time t and time t+0.05s are considered by the host to be commands received simultaneously. After an operation cycle ends, the system refreshes the status of each data once. For example, if a certain data is compiled once in an operation cycle, the system can update the status of the data to a "compiled" state. In an example, the first read destination identifier can be a predefined binary sequence, for example, the binary sequence "000" can indicate that the first device wants to read the original control data, and the binary sequence "111" can indicate that the first device wants to read the current control data. In one example, the first device may determine whether the device wants to read the original control data or the current control data based on the program built into the device. For example, in one example, the control data generated by the server side may be generated based on a "conservative" control strategy, so the control data generated by the server side may cause the first device to operate at a low speed / low power, etc., while the plant engineer may compile a more "aggressive" control data based on the current equipment status and production capacity requirements of the factory equipment, and the "aggressive" control data may cause the first device to operate at a high speed / high power, etc. The first device may determine whether the first device wants to read the original control data (i.e., uncompiled data) or the current control data (i.e., compiled data) based on the current status of the device detected internally.
[0029] Step 15: the host stores the first data compilation command and the first data reading command in the buffer; it should be noted that since the first data compilation command and the first data reading command are received by the host in the same operation cycle, from the host side, the first data compilation command and the first data reading command are received at the same time, and at this time, the host cannot determine which command is executed first;
[0030] Step 16: determining, by a memory controller of the host, a first read destination based on the first read destination identifier;
[0031] Step 17: The memory controller of the host determines the execution order of the first data compilation command and the first data read command based on the first read purpose.
[0032] Determining, by a memory controller of a host, an execution order of a first data compilation command and a first data read command based on a first read purpose comprises the following steps:
[0033] If the memory controller of the host determines based on the first read target identifier that the first read target is to read the original data, the memory controller of the host determines to first execute the first data read command and then execute the first data compilation command;
[0034] If the memory controller of the host determines that the first read purpose is to read the current data based on the first read purpose identifier, the memory controller of the host determines to execute the first data compilation command first and then execute the first data read command.
[0035] Example 3
[0036] In embodiment 3, the method further comprises:
[0037] The host receives a second data compilation command sent by the first device, wherein the second data compilation command is automatically generated by the first device; in some cases, the control data generated by the server may be "conservative", and the device determines based on its own operating state that the device can operate with more "aggressive" control data, in which case the first device is also allowed to automatically generate the data compilation command;
[0038] The host receives a second data read command sent by the first device, wherein the second data read command is generated by the first user, wherein the second data read command includes a second read destination identifier, and wherein the second data compilation command and the second data read command are received by the host within an operation cycle; in an example, for example, the user wants to know what control data the device is currently operating with, or the user knows what the original control data is at the device end, so as to compile the control data with reference to the original control data, so the user may also generate (and send through the first device) a data read command;
[0039] The host stores the second data compilation command and the second data reading command in the buffer;
[0040] The second read purpose is determined by the host's memory controller based on the second read purpose identifier, wherein the second read purpose identifier represents the second read purpose in a manner different from the manner in which the first read purpose identifier represents the first read purpose; for example, in Embodiment 2, the binary sequence "000" represents that the first device wishes to read the original control data, and the binary sequence "111" represents that the first device wishes to read the current control data, then in Embodiment 3, the second read purpose identifier may be the binary sequence "01010" and "10101", wherein "01010" represents that the user wishes to read the original control data, and "10101" represents that the user wishes to read the current control data. The purpose of this design is to prevent others from damaging multiple devices. For example, an attacker may crack the data compilation command and the data reading command by monitoring and copying, and pretend to be a user to modify the control data. The attacker can pretend to be the first device and send a data compilation command and a data reading command to the host at the same time. At the same time, the attacker sets the reading purpose of the data reading command to read the current control data, and the data compilation command changes the control data to an unsafe value. After the host executes the data compilation command and the data reading command sent by the pretender according to the rules, it will send the compiled data to the first device, which will cause the first device to run with an unsafe value, thereby causing damage or product scrapping. The key point of the attack process is that the attacker cracks the data reading command by monitoring and copying, and the present invention increases the difficulty for the attacker to crack all data reading commands by designing the second read destination identifier in different forms. It is almost impossible for the attacker to crack the data reading commands of all devices without being discovered, thereby ensuring that the attacker cannot damage the equipment on a large scale or cause a large number of products to be scrapped;
[0041] The memory controller of the host determines the execution order of the second data compilation command and the second data read command based on the second read purpose.
[0042] Determining, by the memory controller of the host, the execution order of the second data compilation command and the second data read command based on the second read purpose comprises the following steps:
[0043] If the memory controller of the host determines based on the second read destination identifier that the second read destination is to read the original data, the memory controller of the host determines to first execute the second data read command and then execute the second data compilation command;
[0044] If the memory controller of the host determines that the second read purpose is to read the current data based on the second read purpose identifier, the memory controller of the host determines to execute the second data compilation command first and then execute the second data read command.
[0045] Example 4
[0046] In embodiment 4, the method further comprises:
[0047] Receiving, by the host, a third data compilation command sent by the first device, wherein the third data compilation command is generated by the first user;
[0048] Receiving, by the host, a third data read command sent by the second device, wherein the third data read command is generated by the second user, wherein the third data read command includes a third read destination identifier, wherein the third data preparation command and the third data read command are received by the host within one operation cycle;
[0049] The host stores the third data compilation command and the third data reading command in the buffer;
[0050] determining, by a memory controller of the host, a third read destination based on a third read destination identifier, wherein the third read destination identifier represents the third read destination in a manner different from the manner in which the first read destination identifier represents the first read destination, wherein the manner in which the third read destination identifier represents the third read destination is different from the manner in which the second read destination identifier represents the second read destination;
[0051] The memory controller of the host determines the execution order of the third data preparation command and the third data read command based on the third read purpose.
[0052] In a preferred embodiment, determining, by the memory controller of the host, the execution order of the third data compilation command and the third data read command based on the third read purpose comprises the following steps:
[0053] If the memory controller of the host determines based on the third read destination identifier that the third read purpose is to read the original data, the memory controller of the host determines to first execute the third data read command and then execute the third data compilation command;
[0054] If the memory controller of the host determines that the third read purpose is to read the current data based on the third read purpose identifier, the memory controller of the host determines to execute the third data compilation command first and then execute the third data read command.
[0055] Based on the design concept of the invention, the present invention can also solve more types of command execution order judgment problems.
[0056] Example 5
[0057] The method of the present invention may further comprise the steps of:
[0058] Receiving, by the host, a first data compilation command sent by the first device, wherein the first data compilation command is generated by a first user;
[0059] The host receives a first data read command and a second data compilation command sent by the first device, wherein the first data read command and the second data compilation command are automatically generated by the first device, wherein the first data read command includes a first read destination identifier, and wherein the first data compilation command, the second data compilation command and the first data read command are received by the host within one operation cycle;
[0060] The host stores the first data compilation command, the second data compilation command and the first data reading command in a buffer;
[0061] determining, by a memory controller of the host, a first read destination based on the first read destination identifier;
[0062] The memory controller of the host determines the execution order of the first data compilation command, the second data compilation command and the first data read command based on the first read purpose.
[0063] If the memory controller of the host determines based on the first read target identifier that the first read target is to read the original data, the memory controller of the host determines to first execute the first data read command and then execute the first data compilation command and the second data compilation command;
[0064] If the memory controller of the host determines based on the first read target identifier that the first read target is to read the current data, the memory controller of the host determines to first execute the first data compilation command and the second data compilation command, and then execute the first data read command;
[0065] If the host's memory controller determines, based on the first read destination identifier, that the first read destination is to read data that has been compiled once, the host's memory controller determines to first execute the second data compilation command, then execute the first data read command, and finally execute the first data compilation command. For example, the binary sequence "011" may be used to indicate that the first read destination is to read data that has been compiled once.
[0066] Example 6
[0067] Receiving, by the host, a first data compilation command sent by the first device, wherein the first data compilation command is generated by a first user, wherein the first data compilation command includes a first compilation destination identifier;
[0068] Receiving, by the host, a second data compilation command sent by the first device, wherein the second data compilation command is automatically generated by the first device, wherein the second data compilation command includes a second compilation destination identifier, and wherein the first data compilation command and the second data compilation command are received by the host within one operation cycle;
[0069] The host stores the first data compilation command and the second data compilation command in a buffer;
[0070] Determining, by a memory controller of the host, a first programming destination based on the first programming destination identifier, and determining, by a memory controller of the host, a second programming destination based on the second programming destination identifier;
[0071] The memory controller of the host determines the execution order of the first data compilation command and the second data compilation command based on the first compilation purpose and the second compilation purpose.
[0072] If the memory controller of the host determines that the first compilation purpose is to compile original data and the second compilation purpose is to compile current data, the memory controller of the host determines to execute the first data compilation command first and then execute the second data compilation command;
[0073] If the memory controller of the host determines that the second compilation purpose is to compile original data and the first compilation purpose is to compile current data, the memory controller of the host determines to execute the second data compilation command first and then execute the first data compilation command.
[0074] Example 7
[0075] Figure 3 FIG. 1 is a logic block diagram of a device according to an embodiment of the present invention. As shown in the figure, the device includes a unit for performing the following operations:
[0076] Unit 21: receiving, by the host, a control data set sent by the server;
[0077] Unit 22: storing the control data set in the memory of the host by the host;
[0078] Unit 23: receiving, by the host, a first data compilation command sent by the first device, wherein the first data compilation command is generated by a first user;
[0079] Unit 24: receiving, by the host, a first data read command sent by the first device, wherein the first data read command is automatically generated by the first device, wherein the first data read command includes a first read destination identifier, and wherein the first data preparation command and the first data read command are received by the host within one operation cycle;
[0080] Unit 25: storing the first data compilation command and the first data reading command in a buffer by the host;
[0081] Unit 26: determining, by a memory controller of the host, a first read destination based on the first read destination identifier;
[0082] Unit 27: Determining, by the memory controller of the host, an execution order of the first data compilation command and the first data read command based on the first read purpose.
[0083] In a preferred embodiment, determining, by the memory controller of the host based on the first read purpose, the execution order of the first data compilation command and the first data read command comprises the following steps:
[0084] If the memory controller of the host determines based on the first read target identifier that the first read target is to read the original data, the memory controller of the host determines to first execute the first data read command and then execute the first data compilation command;
[0085] If the memory controller of the host determines that the first read purpose is to read the current data based on the first read purpose identifier, the memory controller of the host determines to execute the first data compilation command first and then execute the first data read command.
[0086] In a preferred embodiment, the device further comprises a unit for performing the following operations:
[0087] The host receives a second data compilation command sent by the first device, wherein the second data compilation command is automatically generated by the first device;
[0088] Receiving, by the host, a second data read command sent by the first device, wherein the second data read command is generated by the first user, wherein the second data read command includes a second read destination identifier, wherein the second data preparation command and the second data read command are received by the host within one operation cycle;
[0089] The host stores the second data compilation command and the second data reading command in the buffer;
[0090] determining, by a memory controller of the host, a second read destination based on a second read destination identifier, wherein the second read destination identifier represents the second read destination in a manner different from the manner in which the first read destination identifier represents the first read destination;
[0091] The memory controller of the host determines the execution order of the second data preparation command and the second data read command based on the second read purpose.
[0092] In a preferred embodiment, determining the execution order of the second data compilation command and the second data read command based on the second read purpose by the memory controller of the host includes the following steps:
[0093] If the memory controller of the host determines based on the second read destination identifier that the second read destination is to read the original data, the memory controller of the host determines to first execute the second data read command and then execute the second data compilation command;
[0094] If the memory controller of the host determines that the second read purpose is to read the current data based on the second read purpose identifier, the memory controller of the host determines to execute the second data compilation command first and then execute the second data read command.
[0095] It should be understood that the above specific embodiments of the present invention are only used to illustrate or explain the principles of the present invention, and do not constitute a limitation of the present invention. Therefore, any modifications, equivalent substitutions, improvements, etc. made without departing from the spirit and scope of the present invention should be included in the protection scope of the present invention. In addition, the appended claims of the present invention are intended to cover all changes and modifications that fall within the scope and boundaries of the appended claims, or the equivalent forms of such scope and boundaries.
Claims
1. A control data processing method including data compilation commands, characterized in that: The method comprises the following steps: receiving, by the host, a set of control data sent by the server; storing, by the host, the control data set in a memory of the host; Receiving, by the host, a first data compilation command sent by the first device, wherein the first data compilation command is generated by a first user; Receiving, by the host, a first data read command sent by the first device, wherein the first data read command is automatically generated by the first device, wherein the first data read command includes a first read destination identifier, and wherein the first data compilation command and the first data read command are received by the host within one operation cycle; The host stores the first data compilation command and the first data reading command in a buffer; determining, by a memory controller of the host, a first read destination based on the first read destination identifier; The memory controller of the host determines the execution order of the first data compilation command and the first data read command based on the first read purpose, The process of determining, by the memory controller of the host based on the first read purpose, the execution order of the first data compilation command and the first data read command comprises the following steps: If the memory controller of the host determines based on the first read destination identifier that the first read purpose is to read original data, the memory controller of the host determines to execute the first data read command first and then execute the first data compilation command; If the memory controller of the host determines that the first read purpose is to read current data based on the first read purpose identifier, the memory controller of the host determines to execute the first data compilation command first and then execute the first data read command, Wherein, the method further comprises: Receiving, by the host, a second data compilation command sent by the first device, wherein the second data compilation command is automatically generated by the first device; Receiving, by the host, a second data read command sent by the first device, wherein the second data read command is generated by the first user, wherein the second data read command includes a second read destination identifier, wherein the second data preparation command and the second data read command are received by the host within one operation cycle; The host stores the second data compilation command and the second data reading command in a buffer; determining, by a memory controller of the host, a second read destination based on the second read destination identifier, wherein the second read destination identifier represents the second read destination in a manner different from the manner in which the first read destination identifier represents the first read destination; The memory controller of the host determines the execution order of the second data compilation command and the second data read command based on the second read purpose, The process of determining, by the memory controller of the host, the execution order of the second data compilation command and the second data read command based on the second read purpose comprises the following steps: If the memory controller of the host determines based on the second read destination identifier that the second read purpose is to read the original data, the memory controller of the host determines to execute the second data read command first and then execute the second data compilation command; If the memory controller of the host determines, based on the second read destination identifier, that the second read destination is to read current data, the memory controller of the host determines to first execute the second data compilation command and then execute the second data read command; The binary sequence "000" indicates that the first device wants to read the original control data, and the binary sequence "111" indicates that the first device wants to read the current control data; the binary sequence "01010" indicates that the user wants to read the original control data; the binary sequence "10101" indicates that the user wants to read the current control data; the binary sequence "011" indicates that the first reading purpose is to read the data that has been compiled once.
2. The method of claim 1, wherein: The method further comprises: Receiving, by the host, a third data compilation command sent by the first device, wherein the third data compilation command is generated by the first user; Receiving, by the host, a third data read command sent by the second device, wherein the third data read command is generated by a second user, wherein the third data read command includes a third read destination identifier, and wherein the third data preparation command and the third data read command are received by the host within one operation cycle; The host stores the third data compilation command and the third data reading command in a buffer; determining, by a memory controller of the host, a third read destination based on the third read destination identifier, wherein the third read destination identifier represents the third read destination in a manner different from the manner in which the first read destination identifier represents the first read destination, wherein the manner in which the third read destination identifier represents the third read destination is different from the manner in which the second read destination identifier represents the second read destination; The memory controller of the host determines the execution order of the third data preparation command and the third data read command based on the third read purpose.
3. The method of claim 2, wherein: Determining, by the memory controller of the host, the execution order of the third data compilation command and the third data read command based on the third read purpose comprises the following steps: If the memory controller of the host determines based on the third read destination identifier that the third read purpose is to read the original data, the memory controller of the host determines to first execute the third data read command and then execute the third data compilation command; If the memory controller of the host determines that the third read purpose is to read current data based on the third read purpose identifier, the memory controller of the host determines to execute the third data compilation command first and then execute the third data read command.
4. A control data processing device including data compilation commands, characterized in that: The apparatus comprises means for performing the following operations: receiving, by the host, a set of control data sent by the server; storing, by the host, the control data set in a memory of the host; Receiving, by the host, a first data compilation command sent by the first device, wherein the first data compilation command is generated by a first user; Receiving, by the host, a first data read command sent by the first device, wherein the first data read command is automatically generated by the first device, wherein the first data read command includes a first read destination identifier, and wherein the first data compilation command and the first data read command are received by the host within one operation cycle; The host stores the first data compilation command and the first data reading command in a buffer; determining, by a memory controller of the host, a first read destination based on the first read destination identifier; The memory controller of the host determines the execution order of the first data compilation command and the first data read command based on the first read purpose, The process of determining, by the memory controller of the host based on the first read purpose, the execution order of the first data compilation command and the first data read command comprises the following steps: If the memory controller of the host determines based on the first read destination identifier that the first read purpose is to read original data, the memory controller of the host determines to execute the first data read command first and then execute the first data compilation command; If the memory controller of the host determines that the first read purpose is to read current data based on the first read purpose identifier, the memory controller of the host determines to execute the first data compilation command first and then execute the first data read command, The device further comprises a unit for performing the following operations: Receiving, by the host, a second data compilation command sent by the first device, wherein the second data compilation command is automatically generated by the first device; Receiving, by the host, a second data read command sent by the first device, wherein the second data read command is generated by the first user, wherein the second data read command includes a second read destination identifier, wherein the second data preparation command and the second data read command are received by the host within one operation cycle; The host stores the second data compilation command and the second data reading command in a buffer; determining, by a memory controller of the host, a second read destination based on the second read destination identifier, wherein the second read destination identifier represents the second read destination in a manner different from the manner in which the first read destination identifier represents the first read destination; The memory controller of the host determines the execution order of the second data compilation command and the second data read command based on the second read purpose, The process of determining, by the memory controller of the host, the execution order of the second data compilation command and the second data read command based on the second read purpose comprises the following steps: If the memory controller of the host determines based on the second read destination identifier that the second read purpose is to read the original data, the memory controller of the host determines to execute the second data read command first and then execute the second data compilation command; If the memory controller of the host determines, based on the second read destination identifier, that the second read destination is to read current data, the memory controller of the host determines to first execute the second data compilation command and then execute the second data read command; The binary sequence "000" indicates that the first device wants to read the original control data, and the binary sequence "111" indicates that the first device wants to read the current control data; the binary sequence "01010" indicates that the user wants to read the original control data; the binary sequence "10101" indicates that the user wants to read the current control data; the binary sequence "011" indicates that the first reading purpose is to read the data that has been compiled once.
Citation Information
Patent Citations
Multichannel NAND Flash controller and mobile memory device
CN108536623A
Systems and methods for processing copy commands
CN114003514A