A DDR controller and sorting method
By introducing a parsing unit and sorting storage unit into the DDR controller, the processing commands based on priority and storage status is solved, and the stability of the system is improved.
Patent Information
- Application Number
- CN202110046149.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-14
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2041-01-14
AI Technical Summary
Among the existing DDR controllers, some masters' CMDs have the highest priority for a long time, resulting in the CMDs of other masters' CMDs that cannot be output for a long time, resulting in system exceptions and errors.
Using the parsing unit and at least two sorting storage units, the received commands are stored in the high-priority sorting storage unit according to the storage status and command attribute information of the high-priority sorting storage unit, and the high-priority commands are processed prioritized at output.
It reduces the problem that commands cannot be output for a long time and improves the stability of the system.
Smart Images

Figure CN114764398B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of digital circuits, and in particular to a DDR controller and a sorting method. Background Art
[0002] For a system, a commonly used command prompt (CMD) reordering strategy for a DDR (Double Data Rate) controller is to input CMDs output by multiple masters into the DDR controller. A CMD FIFO (First Input First Output) queue is then used to reorder the priorities of the CMDs based on their characteristics and the different banks, rows, and columns of the DDR. This allows the most efficient CMDs to be executed as quickly as possible.
[0003] However, for a long time, the CMDs of some masters will always have the highest priority, such as the cache operations and memory copy operations of the CPU (Central Processing Unit) or GPU (Graphics Processing Unit), which will cause the CMDs output by other masters to be blocked for a long time and unable to obtain DDR data. This is especially true for display devices, communication devices and other devices with small data volumes but high real-time requirements, resulting in system anomalies and errors. Summary of the Invention
[0004] The present invention provides a DDR controller and a sorting method, which are designed to solve the problem in the prior art that commands in the DDR controller cannot be output for a long time, resulting in system abnormality.
[0005] In a first aspect, an embodiment of the present invention provides a DDR controller, comprising a parsing unit and at least two sorting storage units, wherein:
[0006] The parsing unit is used to parse the received command to obtain attribute information of the received command;
[0007] The at least two sorting storage units are used to store the received commands in the high-priority sorting storage unit according to the storage status of the high-priority sorting storage unit and the attribute information of the received commands during the process of outputting commands according to the priorities of the at least two sorting storage units, wherein the high-priority sorting storage unit is a sorting storage unit with a higher priority than the sorting storage unit currently outputting commands among the at least two sorting storage units.
[0008] In a possible implementation, the high-priority sorting storage unit is specifically configured to:
[0009] Determine that the current storage state of the high-priority sorting storage unit is empty; determine the priority of the received command based on the attribute information of the received command; and sort each command according to the priority of the received command and store it in the high-priority sorting storage unit.
[0010] In a possible implementation, the high-priority sorting storage unit is specifically configured to:
[0011] Determine that the current storage state of the high-priority sorting storage unit is non-empty; determine the priority of the received command in the high-priority sorting storage unit based on the attribute information of the received command and the attribute information of the command stored in the high-priority sorting storage unit; sort the received command and the command stored in the high-priority sorting storage unit according to the determined priority, and store them in the high-priority sorting storage unit.
[0012] In a possible implementation, if the at least two sorting storage units include at least two high-priority storage units, the at least two high-priority sorting storage units are further configured to:
[0013] Determine the target sorting storage unit based on the attribute information of the received command and the attribute information of the commands stored in the multiple high-priority sorting storage units; determine the priority of the received command in the target sorting storage unit based on the attribute information of the received command and the attribute information of the commands stored in the target sorting storage unit.
[0014] In a possible implementation, after the command output in the sorting storage unit currently outputting the command is completed, the sorting storage unit with a lower priority among the at least two sorting storage units is specifically configured to:
[0015] Output the command in the low-priority sorting storage unit, wherein the low-priority sorting storage unit is a sorting storage unit with a lower priority than the sorting storage unit currently outputting the command.
[0016] In a second aspect, an embodiment of the present invention provides an information sorting method, applied to a DDR controller, comprising:
[0017] Parse the received command to obtain attribute information of the received command;
[0018] In the process of outputting commands according to the priorities of at least two sorting storage units, the received command is stored in the high-priority sorting storage unit according to the storage status of the high-priority sorting storage unit and the attribute information of the received command, wherein the high-priority sorting storage unit has a higher priority than the sorting storage unit currently outputting the command among the at least two sorting storage units.
[0019] In a possible implementation, storing the received command in a high-priority sorting storage unit includes:
[0020] Determining that the current storage state of the high-priority sorting storage unit is empty;
[0021] determining a priority of the received command according to the attribute information of the received command;
[0022] According to the priority of the received commands, the commands are sorted and stored in the high-priority sorting storage unit.
[0023] In a possible implementation, storing the received command in a high-priority sorting storage unit includes:
[0024] Determining that the current storage state of the high-priority sorting storage unit is non-empty;
[0025] determining the priority of the received command in the high-priority sorting storage unit according to the attribute information of the received command and the attribute information of the command stored in the high-priority sorting storage unit;
[0026] After sorting the received commands and the commands stored in the high-priority sorting storage unit according to the determined priorities, the received commands are stored in the high-priority sorting storage unit.
[0027] In a possible implementation, if the at least two sorting storage units include at least two high-priority storage units, determining that the received command has a higher priority than the high-priority sorting storage units further includes:
[0028] determining a target sorting storage unit according to the attribute information of the received command and the attribute information of the commands stored in the at least two high-priority sorting storage units;
[0029] The determining, based on the attribute information of the received command and the attribute information of the command stored in the high-priority sorting storage unit, the priority of the received command in the high-priority sorting storage unit includes:
[0030] The priority of the received command in the target ranking storage unit is determined according to the attribute information of the received command and the attribute information of the commands stored in the target ranking storage unit.
[0031] In a possible implementation, outputting a command according to the priorities of at least two sorting storage units includes:
[0032] After the command output of the sorting storage unit currently outputting the command is completed, the command in the sorting storage unit with a low priority among the at least two sorting storage units is output, wherein the sorting storage unit with a low priority is a sorting storage unit with a lower priority than the sorting storage unit currently outputting the command.
[0033] The beneficial effects of the present invention are as follows:
[0034] An embodiment of the present invention provides a DDR controller and a sorting method. The DDR controller includes a parsing unit and at least two sorting storage units, wherein the parsing unit is configured to parse a received command to obtain attribute information of the received command; and the at least two sorting storage units are configured to store the received command in a high-priority sorting storage unit based on the storage state of the high-priority sorting storage unit and the attribute information of the received command during the process of outputting the command according to the priority of the at least two sorting storage units. The high-priority sorting storage unit is a sorting storage unit with a higher priority than the sorting storage unit currently outputting the command among the at least two storage units. Because the DDR controller in the embodiment of the present invention includes at least two sorting storage units, and outputs commands according to the priorities of the at least two sorting storage units, that is, outputs commands in the high-priority sorting storage unit first, and then outputs commands in the low-priority sorting storage unit, and during the process of outputting the command, the received command is stored in the high-priority sorting storage unit, thereby reducing the problem of commands not being output for a long time and improving system stability. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0036] Figure 1 A schematic structural diagram of a DDR controller provided by an embodiment of the present invention;
[0037] Figure 2aA schematic diagram of a sorting storage unit storing received commands provided by an embodiment of the present invention;
[0038] Figure 2b A schematic diagram of another sorting storage unit storing received commands provided by an embodiment of the present invention;
[0039] Figure 3a A schematic diagram of another sorting storage unit storing received commands provided by an embodiment of the present invention;
[0040] Figure 3b A schematic diagram of another sorting storage unit storing received commands provided by an embodiment of the present invention;
[0041] Figure 3c A schematic diagram of another sorting storage unit storing received commands provided by an embodiment of the present invention;
[0042] Figure 4 A flowchart of a sorting method provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0043] To make the objectives, technical solutions, and advantages of the present invention more apparent, the present invention will be further described in detail below with reference to the accompanying drawings. It is apparent that the embodiments described are only some, not all, of the present invention. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of the present invention without creative effort are intended to fall within the scope of protection of the present invention.
[0044] Currently, when a DDR controller outputs commands, if some newly input commands always have the highest priority for a long period of time, other commands stored in the sorting storage unit may not be output, resulting in system anomalies and errors.
[0045] Based on the above problems, an embodiment of the present invention provides a DDR controller, such as Figure 1 As shown, it includes a parsing unit 201 and at least two sorting storage units 202, wherein the parsing unit 201 is used to parse the received command to obtain attribute information of the command;
[0046] At least two sorting storage units 202 are used to store received commands in a high-priority sorting storage unit according to the storage status of the high-priority sorting storage unit and the attribute information of the received commands during the process of outputting commands according to the priorities of the at least two sorting storage units, wherein the high-priority sorting storage unit is a sorting storage unit with a higher priority than the sorting storage unit currently outputting commands among the at least two sorting storage units.
[0047] The sorting storage units in the embodiment of the present application have priorities, for example, Figure 1 , the priority of sorting storage unit A is higher than the priority of sorting storage unit B, which is higher than the priority of sorting storage unit N.
[0048] The sorting storage unit first sorts the commands and then stores them. When sorting the commands, the commands may be sorted based on the current storage state of the sorting storage unit and attribute information of the commands.
[0049] The following describes the current storage status of the sorting storage unit as empty and non-empty.
[0050] 1. The current storage state of the sorting storage unit is empty.
[0051] First, the priority of the received command is determined according to the attribute information of the received command, and then the commands are sorted according to the priority of the received command and stored in the sorting storage unit.
[0052] For example, Figure 2a As shown, the storage state of sorting storage unit A is empty and can store up to 4 commands. Assume that there are 3 command inputs, namely command a, command b and command c. Command a, command b and command c are parsed to obtain the attribute information of each command. Then, according to the attribute information of each command, the priority of the 3 commands is determined from high to low as command a, command b and command c. Then, command a, command b and command c are stored in sequence from the front of the sorting storage unit, as shown in FIG. Figure 2a As shown, command a is output first, then command b, and finally command c.
[0053] For example, Figure 2b As shown, the storage states of sorting storage unit A, sorting storage unit B and sorting storage unit C are all empty. The priority of sorting storage unit A is higher than that of sorting storage unit B, which is higher than that of sorting storage unit C. Each sorting storage unit can store 4 commands. Assume that there are 10 command inputs, namely command a, command b, command c, command d, command e, command f, command g, command h, command i, and command j. First, the attribute information of the 10 commands is parsed to obtain the attribute information of each command. Then, according to the attribute information of each command, the priority of the 10 commands is determined and sorted from high to low as command a, command b, command c, command d, command e, command f, command g, command h, command i, and command j. Figure 2bAs shown, from the front end of sorting storage unit A, command a, command b, command c, and command d are stored in sorting storage unit A in sequence; starting from the front end of sorting storage unit B, command e, command f, command g, and command h are stored in sorting storage unit B in sequence; starting from the front end of sorting storage unit C, command i and command j are stored in sorting storage unit C in sequence.
[0054] 2. The current storage state of the sorting storage unit is non-empty.
[0055] First, the priority of the received command in the sorting storage unit is determined based on the attribute information of the received command and the attribute information of the command stored in the sorting storage unit, and then the received command and the command stored in the sorting storage unit are sorted according to the determined priority and stored in the sorting storage unit.
[0056] For example, Figure 3a As shown, the sorting storage unit A currently stores two commands, command a and command b. The sorting storage unit A can store up to 4 commands. Assume that there is 1 command input, command c, and parse the attribute information of command c. Then, based on the attribute information of command c, the attribute information of command a, and the attribute information of command b, it is determined that command c has the highest priority in the sorting storage unit A, and command c is placed at the front of the sorting storage unit A.
[0057] For example, Figure 3b As shown, the priority of sorting storage unit A is higher than that of sorting storage unit B. Sorting storage unit A currently stores two commands, command a and command b. Sorting storage unit B currently stores two commands, command e and command d. Assume that there is one command input, command e. The attribute information of command e is parsed, and then according to the attribute information of command e, the attribute information of command a, the attribute information of command b, the attribute information of command c, and the attribute information of command d, it is determined that command e has the highest priority, and command e is placed at the front of sorting storage unit A.
[0058] For example, Figure 3c As shown, the priority of sorting storage unit A is higher than that of sorting storage unit B. Sorting storage unit A currently stores two commands, command a and command b. Sorting storage unit B currently stores two commands, command e and command d. Assume that there is one command input, command e. Analyze the attribute information of command e, and then determine that command e has the highest priority based on the attribute information of command e, the attribute information of command a, the attribute information of command b, the attribute information of command c, and the attribute information of command d. And determine that the continuity of command e and the continuity of command c are the best based on the attribute information, then place command e at the front of sorting storage unit B.
[0059] After sorting, the sorting storage unit stores the sorted commands, and then outputs the commands in the sorting storage unit in sequence according to the priorities of the storage units.
[0060] For example, if the priority of sorting storage unit A is higher than that of sorting storage unit B, which is higher than that of sorting storage unit C, the command in sorting storage unit A is output first, then the command in sorting storage unit B, and finally the command in sorting storage unit C.
[0061] During the process of outputting commands in the sorting storage unit, if a new command is input, the new command can be stored in a high-priority storage unit, where the high-priority sorting storage unit is a sorting storage unit with a higher priority than the sorting storage unit currently outputting the command.
[0062] For example, there are three sorting storage units, namely sorting storage unit A, sorting storage unit B and sorting storage unit C. Among them, the priority of sorting storage unit A is higher than the priority of sorting storage unit B, and higher than the priority of sorting storage unit C. When outputting the command in sorting storage unit B, if there is a new command input, the new command can be stored in sorting storage unit A.
[0063] Specifically, the newly input command is stored in a sorting storage unit with a high priority. The commands need to be sorted first. If there is only one sorting storage unit with a high priority, the command is determined to be stored in the sorting storage unit. The sorting storage unit sorts the newly received commands based on the current storage status of the sorting storage unit and the attribute information of the command.
[0064] In implementation, if the storage status of the sorting storage unit is empty, the sorting storage unit parses the newly received command, sorts the priority according to the attribute information of the command obtained by parsing, and stores the sorted command in the sorting storage unit; if the storage status of the sorting storage unit is not empty, the sorting storage unit sorts the priority of the commands stored in the sorting storage unit and the newly received command according to the attribute information of the command stored in the sorting storage unit and the attribute information of the newly received command, and then stores the sorted command.
[0065] If there are at least two sorting storage units with high priority, the sorting storage unit first selects a target sorting storage unit from the at least two sorting storage units with high priority, and then sorts the received commands and the commands in the target sorting storage unit based on the current storage status of the target sorting storage unit and the attribute information of the command.
[0066] In implementation, the target sorting storage unit may be selected in the following manner.
[0067] If there are at least two sorting storage units with high priorities and both are empty, the sorting storage unit with the highest priority among the high priorities may be used as the target storage unit.
[0068] If some of the high-priority sorting storage units are empty, the target sorting storage unit may be determined based on the attribute information of all commands in all the high-priority sorting storage units and the attribute information of the newly received command.
[0069] For example, based on the attribute information of all commands in all high-priority sorting storage units and the attribute information of the newly received command, the continuity between the newly received command and all commands in all high-priority storage units is determined, the command with the best continuity with the newly received command is selected, and the sorting storage unit storing the command with the best continuity is used as the target sorting storage unit.
[0070] After the target sorting storage unit is determined, the newly received command and the commands stored in the target sorting storage unit are sorted according to the attribute information of the newly received command and the attribute information of the commands stored in the target sorting storage unit.
[0071] It should be noted that, in the embodiment of the present application, at least two sorting storage units may be connected end to end.
[0072] The DDR controller provided by the embodiment of the present invention includes at least two sorting storage units. Commands are output according to the priorities of the at least two sorting storage units. After all commands in the high-priority sorting storage unit are output, commands in the low-priority sorting storage unit are output. In addition, during the command output process, the received commands are stored in the high-priority sorting storage unit according to the storage status of the high-priority sorting storage unit and attribute information of the received commands. This can reduce the problem of commands not being able to be output for a long time and improve the stability of the system.
[0073] Based on the same inventive concept, an embodiment of the present invention further provides a sorting method. The implementation of the method can refer to the implementation of the DDR controller, and the repeated parts will not be repeated.
[0074] like Figure 4 As shown, a sorting method provided by an embodiment of the present invention includes:
[0075] S401: Parse the received command to obtain attribute information of the received command;
[0076] S402. In the process of outputting commands according to the priorities of at least two sorting storage units, the received command is stored in the sorting storage unit with a high priority according to the storage status of the sorting storage unit with a high priority and the attribute information of the received command, wherein the sorting storage unit with a high priority is a sorting storage unit with a higher priority than the sorting storage unit currently outputting the command among the at least two sorting storage units.
[0077] In an optional implementation, storing the received command in a high-priority sorting storage unit includes:
[0078] Determining that the current storage state of the high-priority sorting storage unit is empty;
[0079] determining a priority of the received command according to the attribute information of the received command;
[0080] According to the priority of the received commands, the commands are sorted and stored in the high-priority sorting storage unit.
[0081] In an optional implementation, storing the received command in a high-priority sorting storage unit includes:
[0082] Determining that the current storage state of the high-priority sorting storage unit is non-empty;
[0083] determining the priority of the received command in the high-priority sorting storage unit according to the attribute information of the received command and the attribute information of the command stored in the high-priority sorting storage unit;
[0084] After sorting the received commands and the commands stored in the high-priority sorting storage unit according to the determined priorities, the received commands are stored in the high-priority sorting storage unit.
[0085] In an optional embodiment, if the at least two sorting storage units include at least two high-priority storage units, determining that the received command has a higher priority than the command in the high-priority sorting storage units further includes:
[0086] determining a target sorting storage unit according to the attribute information of the received command and the attribute information of the commands stored in the at least two high-priority sorting storage units;
[0087] The determining, based on the attribute information of the received command and the attribute information of the command stored in the high-priority sorting storage unit, the priority of the received command in the high-priority sorting storage unit includes:
[0088] The priority of the received command in the target ranking storage unit is determined according to the attribute information of the received command and the attribute information of the commands stored in the target ranking storage unit.
[0089] In an optional implementation, outputting commands according to the priorities of at least two sorting storage units includes:
[0090] After the command output in the sorting storage unit currently outputting the command is completed, the command in the sorting storage unit with a low priority among the at least two sorting storage units is output, wherein the sorting storage unit with a low priority is a sorting storage unit with a lower priority than the sorting storage unit currently outputting the command.
[0091] An embodiment of the present invention provides a sorting method that first parses a received command to obtain attribute information of the received command. Then, in the process of outputting commands according to the priorities of at least two sorting storage units, the received command is stored in the high-priority sorting storage unit based on the storage state of the high-priority sorting storage unit and the attribute information of the received command. The high-priority sorting storage unit is a sorting storage unit with a higher priority than the sorting storage unit currently outputting commands among the at least two sorting storage units. Since commands are output according to the priorities of the at least two sorting storage units, all commands in the high-priority sorting storage unit can be output before outputting commands in the low-priority sorting storage unit. In addition, during the command output process, newly received commands are stored in the sorting storage unit with a higher priority than the sorting storage unit currently outputting commands. This can reduce the problem of commands not being output for a long time and improve system stability.
[0092] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0093] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0094] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0095] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0096] Obviously, those skilled in the art may make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.
Claims
1. A DDR controller, characterized in that: It includes a parsing unit and at least two sorting storage units, wherein: The parsing unit is used to parse the received command to obtain attribute information of the received command; The at least two sorting storage units are configured to, during a process of outputting commands according to the priorities of the at least two sorting storage units, store the received command in the sorting storage unit with a higher priority based on a storage state of the sorting storage unit with a higher priority and attribute information of the received command, wherein the sorting storage unit with a higher priority is a sorting storage unit with a higher priority than the sorting storage unit currently outputting the command among the at least two sorting storage units; The high-priority sorting storage unit is specifically used for: Determining that the current storage state of the high-priority sorting storage unit is empty; determining the priority of the received command according to the attribute information of the received command; and sorting each command according to the priority of the received command and storing the result in the high-priority sorting storage unit; The high-priority sorting storage unit is specifically used for: Determine that the current storage state of the high-priority sorting storage unit is non-empty; determine the priority of the received command in the high-priority sorting storage unit based on the attribute information of the received command and the attribute information of the command stored in the high-priority sorting storage unit; sort the received command and the command stored in the high-priority sorting storage unit according to the determined priority, and store them in the high-priority sorting storage unit.
2. The controller according to claim 1, wherein If the at least two sorting storage units include at least two high-priority storage units, the at least two high-priority sorting storage units are further configured to: Determine the target sorting storage unit based on the attribute information of the received command and the attribute information of the commands stored in multiple high-priority sorting storage units; determine the priority of the received command in the target sorting storage unit based on the attribute information of the received command and the attribute information of the commands stored in the target sorting storage unit.
3. The controller according to claim 1, wherein: After the command output of the sorting storage unit currently outputting the command is completed, the sorting storage unit with the lower priority among the at least two sorting storage units is specifically used to: Output the command in the low-priority sorting storage unit, wherein the low-priority sorting storage unit is a sorting storage unit with a lower priority than the sorting storage unit currently outputting the command.
4. An information sorting method, applied to a DDR controller, characterized in that: include: Parse the received command to obtain attribute information of the received command; In a process of outputting commands according to the priorities of at least two sorting storage units, storing the received command in the sorting storage unit with the higher priority according to a storage state of the sorting storage unit with the higher priority and attribute information of the received command, wherein the sorting storage unit with the higher priority is a sorting storage unit with a higher priority than the sorting storage unit currently outputting the command among the at least two sorting storage units; The received commands are stored in a high-priority sorting storage unit, including: Determining that the current storage state of the high-priority sorting storage unit is empty; determining a priority of the received command according to the attribute information of the received command; sorting the commands according to the priority of the received commands and storing them in the high-priority sorting storage unit; The step of storing the received commands in a high-priority sorting storage unit includes: Determining that the current storage state of the high-priority sorting storage unit is non-empty; determining the priority of the received command in the high-priority sorting storage unit according to the attribute information of the received command and the attribute information of the command stored in the high-priority sorting storage unit; After sorting the received commands and the commands stored in the high-priority sorting storage unit according to the determined priorities, the received commands are stored in the high-priority sorting storage unit.
5. The method according to claim 4, wherein If the at least two sorting storage units include at least two high-priority storage units, determining that the received command has a higher priority than the command in the high-priority sorting storage units further includes: determining a target sorting storage unit according to the attribute information of the received command and the attribute information of the commands stored in at least two high-priority sorting storage units; The determining, based on the attribute information of the received command and the attribute information of the command stored in the high-priority sorting storage unit, the priority of the received command in the high-priority sorting storage unit includes: The priority of the received command in the target ranking storage unit is determined according to the attribute information of the received command and the attribute information of the commands stored in the target ranking storage unit.
6. The method according to claim 4, wherein Outputting commands according to the priorities of at least two sorting storage units includes: After the command output in the sorting storage unit currently outputting the command is completed, the command in the sorting storage unit with a low priority among the at least two sorting storage units is output, wherein the sorting storage unit with a low priority is a sorting storage unit with a lower priority than the sorting storage unit currently outputting the command.
Citation Information
Patent Citations
Technologies for prioritizing execution of storage commands
US20180173461A1
System and method for processing and arbitrating submission and completion queues
US20180321844A1