Queue aggregation information management method and device, electronic equipment, medium and product
By aggregating queue additional information with the same attributes, the queue aggregation information is determined, and the processed queue aggregation information is managed and released based on the number of received information and responses, the complex management methods and transmission efficiency in the prior art are solved. The problem of low is to achieve efficient utilization of resources.
Patent Information
- Application Number
- CN202411037723.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-31
- Publication Date
- 2024-12-24
AI Technical Summary
In the prior art, CQE information is directly written to the corresponding address of the host, resulting in complex management methods, low transmission efficiency, and wasted address resources.
By aggregating queue additional information with the same attributes, the queue aggregation information is determined, and the processed queue aggregation information is managed and released based on the number of information received and the number of responses, reducing the occupation of the corresponding address.
It reduces the complexity of information transmission, improves transmission efficiency, and avoids the waste of address resources.
Smart Images

Figure CN119182745A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of information management, and in particular to a method, device, electronic device, medium and product for managing queue aggregation information. Background Art
[0002] Command Queue Element (CQE) information is a core concept in the non-volatile memory standard NVMe (Non-Volatile Memory Express) protocol. It is used to describe the command and data transmission status of communication between the host and the storage device.
[0003] At present, in the prior art, the management of CQE information is usually to directly write the CQE information to the corresponding address of the host, without considering the management aggregation problem of CQE information. This method of directly writing the CQE information to the corresponding address of the host has the problems of complex management and low transmission efficiency, and also wastes address resources. Summary of the invention
[0004] The present invention provides a queue aggregation information management method, device, electronic device, medium and product, which are used to solve the defects of the prior art that the management method of CQE information is complex, the transmission efficiency is low, and the address resources are wasted by directly writing the CQE information to the corresponding address of the host. The queue aggregation information is determined by aggregating the additional information of queues with the same attributes, the complexity of information sending is reduced, the transmission efficiency is improved, and the queue aggregation information that has been processed is managed and released based on the number of received information and the corresponding number, thereby reducing the occupation of the corresponding address and avoiding the waste of address resources.
[0005] The present invention provides a queue aggregation information management method, which is applied to a storage device, wherein the storage device interacts with a host, and comprises the following steps.
[0006] The number of queue aggregation information is obtained; wherein the queue aggregation information is determined by aggregating queue additional information with the same attributes, and the queue additional information represents the communication command and data transmission status between the host and the storage device.
[0007] The queue aggregation information corresponding to the information quantity is sent to the host, and the response quantity of the response information determined by the host is received; the response information is used to represent the processing result of the host on the queue aggregation information, and the response quantity is used to represent the quantity of queue aggregation information that has been processed.
[0008] The release information is determined according to the number of messages and the number of responses; wherein the release information is used to represent the management of queue aggregation information.
[0009] The queue aggregation information is managed and released based on the release information.
[0010] According to a queue aggregation information management method provided by the present invention, the release information is determined according to the number of messages and the number of responses, including: determining whether the number of responses is zero; when it is determined that the number of responses is zero, continuing to return to execute the step of receiving the number of responses of the response information determined by the host; when it is determined that the number of responses is not zero, obtaining the number of response transfers; determining the target number of responses according to the sum of the number of response transfers and the number of responses; determining whether the number of messages is zero; when it is determined that the number of messages is zero, continuing to return to execute the step of obtaining the number of messages of the queue aggregation information; when it is determined that the number of messages is not zero, obtaining the number of information aggregations; determining the target number of messages according to the sum of the number of information aggregations and the number of messages; and determining the release information according to the target number of messages and the target number of responses.
[0011] According to a queue aggregation information management method provided by the present invention, release information is determined based on a target information quantity and a target response quantity, including: determining whether the target information quantity is greater than the target response quantity; when it is determined that the target information quantity is greater than the target response quantity, determining that the queue aggregation information processing is completed, and determining the queue aggregation information corresponding to the target information quantity as release information.
[0012] A queue aggregation information management method provided by the present invention further includes: when it is determined that the target information quantity is less than or equal to the target response quantity, continuing to return to execute the step of obtaining the response transfer quantity.
[0013] According to a queue aggregation information management method provided by the present invention, after the queue aggregation information is managed and released based on the release information, it also includes: clearing the target information quantity to make the target information quantity zero, and continuing to return to execute the information quantity step of obtaining the queue aggregation information.
[0014] According to a queue aggregation information management method provided by the present invention, obtaining the amount of queue aggregation information includes: Obtain queue message information; wherein the queue message information includes a queue address and message information; unpack the queue message information to determine the queue information; aggregate queue information with the same attribute characteristics according to the queue address and the message information to determine the amount of information in the queue aggregate information; wherein the number of aggregated queue addresses in the queue aggregate information is less than the number of queue addresses.
[0015] The present invention also provides a queue aggregation information management device, which is applied to a storage device, and the storage device interacts with a host, and includes the following modules.
[0016] The information quantity acquisition module is used to obtain the information quantity of the queue aggregation information; wherein the queue aggregation information is determined by aggregating the queue additional information with the same attributes, and the queue additional information represents the communication command and data transmission status between the host and the storage device.
[0017] The response quantity acquisition module is used to send the queue aggregation information corresponding to the information quantity to the host, and receive the response quantity of the response information determined by the host; the response information is used to represent the host's processing result on the queue aggregation information, and the response quantity is used to represent the quantity of queue aggregation information that has been processed.
[0018] The release information determination module is used to determine the release information according to the number of information and the number of responses; wherein the release information is used to characterize the management of queue aggregation information.
[0019] The aggregation information management module is used to manage and release the queue aggregation information based on the release information.
[0020] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, any of the queue aggregation information management methods described above is implemented.
[0021] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method for managing queue aggregation information as described above is implemented.
[0022] The present invention also provides a computer program product, including a computer program, and when the computer program is executed by a processor, the computer program implements any of the above queue aggregation information management methods.
[0023] The present invention provides a queue aggregation information management method, device, electronic device, medium and product, which are applied to a storage device, the storage device interacts with a host, and obtains the number of information of the queue aggregation information; wherein the queue aggregation information is determined by the aggregation of queue additional information with the same attribute, and the queue additional information represents the communication command and data transmission status between the host and the storage device; the queue aggregation information corresponding to the number of information is sent to the host, and the number of responses of the response information determined by the host is received; the response information is used to represent the processing result of the host on the queue aggregation information, and the number of responses is used to represent the number of queue aggregation information that has been processed; release information is determined according to the number of information and the number of responses; wherein the release information is used to represent the management of the queue aggregation information; and the queue aggregation information is managed and released based on the release information. The technical solution of the present invention is used to solve the defects of the prior art that the CQE information is directly written to the corresponding address of the host, which has complex management mode, low transmission efficiency and waste of address resources, and realizes the determination of queue aggregation information by aggregating the queue additional information with the same attribute, reducing the complexity of information sending, improving transmission efficiency, and managing and releasing the queue aggregation information that has been processed based on the number of received information and the corresponding number, thereby reducing the occupation of the corresponding address and avoiding the waste of address resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0025] Figure 1 This is one of the flow charts of the queue aggregation information management method provided by the present invention.
[0026] Figure 2 This is the second flow chart of the queue aggregation information management method provided by the present invention.
[0027] Figure 3 It is a schematic diagram of the software structure of the storage device provided by the present invention.
[0028] Figure 4 It is a schematic diagram of information writing provided by the present invention.
[0029] Figure 5 It is a schematic diagram of information reading provided by the present invention.
[0030] Figure 6 This is the information writing flow chart provided by the present invention.
[0031] Figure 7 It is an information reading flow chart provided by the present invention.
[0032] Figure 8 It is a structural schematic diagram of the queue aggregation information management device provided by the present invention.
[0033] Fig. 9 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION
[0034] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0035] Combine the following Figure 1-Figure 2 The queue aggregation information management method provided by the present invention is described. The queue aggregation information management method provided by the present invention can be applicable to the management of CQE information. The execution subject of the method can be an electronic device or a queue aggregation information management device set in the electronic device. The queue aggregation information management device can be implemented by software, hardware or a combination of the two. The electronic device can be, for example, a storage device, which interacts with a host. Figure 1 It is one of the flow charts of the queue aggregation information management method provided by the present invention, such as Figure 1 As shown, the method includes the following steps.
[0036] Step 101: Obtain the number of queue aggregation information.
[0037] In this step, the queue aggregation information is determined by the aggregation of queue additional information with the same attributes, and the queue additional information represents the communication command and data transmission status between the host and the storage device. The queue aggregation information can be, for example, CQE information. CQE is a core concept in the NVMe protocol, which is used to describe the command and data transmission status of the communication between the host and the storage device. CQE contains elements in the completion queue (Command Completion Queue), which play a key role in transmitting data between the host and the device. Exemplarily, CQE can be composed of multiple Dwords (double words), each Dword containing different information. The role of CQE is to serve as a carrier of the command execution result, notifying the host whether the command is successfully completed, the error type, and the status of the data transmission. The host obtains the completion status of the command by polling CQE, and performs corresponding processing based on this information.
[0038] Specifically, the control unit obtains from the information management unit the amount of information of the queue aggregation information determined by aggregating the queue additional information with the same attribute, and the queue additional information represents the communication command and data transmission status between the host and the storage device.
[0039] In a specific embodiment, the specific implementation steps of obtaining the amount of information in queue aggregation information include: obtaining queue message information; wherein the queue message information includes a queue address and message information; unpacking the queue message information to determine the queue information; aggregating queue information with the same attribute characteristics according to the queue address and message information to determine the amount of information in the queue aggregation information; wherein the number of aggregated queue addresses in the queue aggregation information is less than the number of queue addresses.
[0040] In this step, the queue message information includes the queue address and message information, and the number of aggregated queue addresses in the queue aggregation information is less than the number of queue addresses.
[0041] Specifically, after receiving the queue message information, the queue address and message information are determined, and then the queue message information is unpacked, that is, the message information in the queue message information is task-decomposed to determine the queue information, and then the queue information with the same attribute characteristics is aggregated according to the queue information and the message information to determine the amount of information in the queue aggregate information.
[0042] Step 102: Send the queue aggregation information corresponding to the number of information to the host, and receive the response number of the response information determined by the host.
[0043] In this step, the response information is used to represent the processing result of the host on the queue aggregation information, and the response quantity is used to represent the quantity of queue aggregation information that has been processed.
[0044] Specifically, after receiving the number of queue aggregation information, the queue aggregation information corresponding to the number of information is sent to the host, so that the host responds to the queue aggregation information, and sends the response information after the response and the response number of the response information to the response receiving unit, and then feeds back to the storage device through the response receiving unit.
[0045] Step 103: Determine the release information according to the number of information and the number of responses.
[0046] In this step, the release information is used to represent the management of queue aggregation information.
[0047] Specifically, after determining the number of messages and the number of responses, the release information is determined according to the relationship between the number of messages and the number of responses, that is, when the number of responses is greater than the number of messages, the queue aggregation information corresponding to the number of messages is determined as the release information.
[0048] Step 104: Manage and release the queue aggregation information based on the release information.
[0049] Specifically, after the release information is determined, the queue aggregation information corresponding to the information quantity is managed and released.
[0050] The present invention provides a queue aggregation information management method, which is applied to a storage device, the storage device interacts with a host, and obtains the number of information of the queue aggregation information; wherein the queue aggregation information is determined by the aggregation of queue additional information with the same attribute, and the queue additional information represents the communication command and data transmission status between the host and the storage device; the queue aggregation information corresponding to the number of information is sent to the host, and the number of responses of the response information determined by the host is received; the response information is used to represent the processing result of the host on the queue aggregation information, and the number of responses is used to represent the number of queue aggregation information that has been processed; release information is determined according to the number of information and the number of responses; wherein the release information is used to represent the management of the queue aggregation information; and the queue aggregation information is managed and released based on the release information. Based on the above embodiments, the technical scheme of the present invention is used to solve the defects of the prior art that the CQE information is directly written to the corresponding address of the host, which has complex management methods, low transmission efficiency, and waste of address resources, and realizes the determination of queue aggregation information by aggregating the queue additional information with the same attribute, reducing the complexity of information sending, improving transmission efficiency, and managing and releasing the queue aggregation information that has been processed based on the number of received information and the corresponding number, thereby reducing the occupation of the corresponding address and avoiding the waste of address resources.
[0051] Figure 2 This is the second flow chart of the queue aggregation information management method provided by the present invention. The queue aggregation information management method provided by the present invention can be applicable to the management of CQE information. The execution subject of this method can be an electronic device or a queue aggregation information management device set in the electronic device. The queue aggregation information management device can be implemented by software, hardware or a combination of both. The electronic device can be, for example, a storage device that interacts with the host. Figure 1 As shown, the method of further optimizing the determination of releasing information according to the number of information and the number of responses includes the following steps.
[0052] Step 201: Obtain the number of queue aggregation information.
[0053] In this step, the queue aggregation information is determined by aggregating the queue additional information with the same attribute, and the queue additional information represents the communication command and data transmission status between the host and the storage device.
[0054] Specifically, the control unit obtains from the information management unit the amount of information of the queue aggregation information determined by aggregating the queue additional information with the same attribute, and the queue additional information represents the communication command and data transmission status between the host and the storage device.
[0055] Step 202: Send the queue aggregation information corresponding to the number of information to the host, and receive the response number of the response information determined by the host.
[0056] In this step, the response information is used to represent the processing result of the host on the queue aggregation information, and the response quantity is used to represent the quantity of queue aggregation information that has been processed. The response information may be, for example, a Direct Memory Access (DMA) response. The DMA response is a computer technology that allows hardware devices (such as hard disks, network cards, graphics cards, etc.) to directly access system memory without the intervention of the Central Processing Unit (CPU). The main function of this technology is to improve the data transmission speed of the system and the efficiency of the CPU.
[0057] Specifically, after receiving the number of queue aggregation information, the queue aggregation information corresponding to the number of information is sent to the host, so that the host responds to the queue aggregation information, and sends the response information after the response and the response number of the response information to the response receiving unit, and then feeds back to the storage device through the response receiving unit.
[0058] Step 203: Determine whether the number of responses is zero.
[0059] In this step, the number of responses is the number of response information fed back by the response unit.
[0060] Specifically, when it is determined that the number of responses is zero, continue to return to step 202, send the queue aggregation information corresponding to the number of messages to the host, and receive the response number of the response information determined by the host; when it is determined that the number of responses is not zero, continue to step 204.
[0061] Step 204: Obtain the response transfer quantity.
[0062] In this step, the response transfer quantity is the transfer quantity of the response information sent by the response receiving unit obtained by the control module each time.
[0063] Specifically, when it is determined that the response quantity is not zero, the response transfer quantity is obtained.
[0064] Step 205: Determine the target response quantity according to the sum of the response transfer quantity and the response quantity.
[0065] Specifically, after the response transfer quantity and the response quantity are determined, the target response quantity is determined according to the sum of the response transfer quantity and the response quantity.
[0066] Step 206: Determine whether the number of messages is zero.
[0067] Specifically, when it is determined that the number of information is zero, the process returns to step 201 to obtain the number of information of the queue aggregation information; when it is determined that the number of information is not zero, the process continues to execute step 207.
[0068] Step 207: Obtain information aggregation quantity.
[0069] In this step, the information aggregation quantity is the aggregation quantity of queue aggregation information sent by the information management unit and obtained by the control module each time.
[0070] Specifically, when it is determined that the information quantity is not zero, the information aggregation quantity is obtained.
[0071] Step 208: Determine the target information quantity according to the sum of the information aggregation quantity and the information quantity.
[0072] Specifically, after determining the information aggregation quantity and the information quantity, based on the comparator accumulation, the sum of the information aggregation quantity and the information quantity is determined as the target information quantity.
[0073] The advantage of this setting is that the target information quantity can be flexibly determined and it can support reading multiple queue aggregate information at one time.
[0074] Step 209: Determine the release information according to the target information quantity and the target response quantity.
[0075] In this step, the release information is used to represent the management of queue aggregation information.
[0076] In a specific implementation, the specific implementation steps for determining the release information based on the target information quantity and the target response quantity include the following: determining whether the target information quantity is greater than the target response quantity; when it is determined that the target information quantity is greater than the target response quantity, determining that the queue aggregation information processing is completed, and determining the queue aggregation information corresponding to the target information quantity as the release information.
[0077] Specifically, it is determined whether the target information quantity is greater than the target response quantity. When it is determined that the target information quantity is greater than the target response quantity, it is determined that the queue aggregation information processing is completed, and the queue aggregation information corresponding to the target information quantity is determined as release information.
[0078] The advantage of this setting is that it can flexibly determine the difference between the target information quantity and the target response quantity, and maximize the target information quantity that has been released and processed based on the target response quantity.
[0079] In a specific implementation, the method further includes: when it is determined that the target information quantity is less than or equal to the target response quantity, continuing to return to execute the step of obtaining the response transfer quantity.
[0080] Specifically, when it is determined that the target information quantity is less than or equal to the target response quantity, the process returns to the step of obtaining the response transfer quantity.
[0081] Step 210: Manage and release the queue aggregation information based on the release information.
[0082] Specifically, after the release information is determined, the queue aggregation information corresponding to the information quantity is managed and released.
[0083] In a specific implementation, after the queue aggregation information is managed and released based on the release information, the method further includes: clearing the target information quantity so that the target information quantity is zero.
[0084] Specifically, after the queue aggregation information is managed and released based on the release information, the target information quantity is cleared to make the target information quantity zero, and the process continues to return to execute the step of obtaining the information quantity of the queue aggregation information.
[0085] In a specific implementation, during operation of the storage device, Figure 3 is a schematic diagram of the software structure of the storage device provided by the present invention, such as Figure 3 As shown, the storage device includes a response receiving unit, an information management unit and a control unit, and a memory is provided in the control unit. Figure 3 In the embodiment, D2 represents the target response quantity, D4 represents the target information quantity, and also includes an accumulator Cnt, which is used to determine the target response quantity according to the sum of the response transfer quantity and the response quantity, and to determine the release information according to the target information quantity and the target response quantity. The control unit is used to read the CQE address from the information management unit, cache the queue aggregation information after the CQE is sent based on the CQE address, and send the queue aggregation information and the information quantity of the queue aggregation information to the control unit through the accumulator for storage, and then the control unit sends the queue aggregation information to the host, and then the host processes the queue aggregation information, and then feeds back the response quantity of the response information fed back by the processed queue aggregation information to the response receiving unit. Then the control unit reads the response address of the response receiving unit, reads the response quantity of the response information based on the response address, and sends the response information and the response quantity of the response information to the control unit through the accumulator for storage, and finally compares the information quantity of the queue aggregation information and the response quantity of the response information through the comparator of the control unit, and finally determines the release information, and manages and releases the queue aggregation information based on the release information.
[0086] In a specific embodiment, when the information management unit writes CQE information, Figure 4 It is a schematic diagram of information writing provided by the present invention, such as Figure 4 As shown, it includes address 0, address 1, address 2, address 3 to address M, where M represents the number of addresses, and each address includes the CQE aggregation number and CQE additional information. For example, address 0 may include CQE aggregation number 0 and CQE additional information 1-N, where N represents the number of CQE additional information. Similarly, address 1 includes CQE aggregation number 1 and CQE additional information 1-N, address 2 includes CQE aggregation number 2 and CQE additional information 1-N, address 3 includes CQE aggregation number 3 and CQE additional information 1-N, and address M includes CQE aggregation number M and CQE additional information 1-N. When writing queue aggregation information, write in address 1 through the write pointer, start reading the pointer from address 0, and include the CQE aggregation number of the queue aggregation information in the address; Figure 5 It is a schematic diagram of information reading provided by the present invention, such as Figure 5 As shown, when starting to read the queue aggregation information, reading is performed from address 1 through the write pointer. Increasing the number of CQE aggregations is a way to make the queue aggregation information of each aggregation use a shared cache, thereby only using one address of the information management unit. The content stored at this address includes the information quantity of the queue aggregation information, the queue aggregation information, and the public information shared by the CQE.
[0087] Specifically, the writing and reading process is as follows: Figure 6 It is the information writing flow chart provided by the present invention, such as Figure 6 As shown, the specific implementation is as follows: the information management unit first determines whether there is queue aggregation information generated. When there is no queue aggregation information, it continues to return to determine whether there is queue aggregation information generated; when there is queue aggregation information, it is determined whether the queue aggregation information is the first queue aggregation information of the aggregated queue. When it is determined that the queue aggregation information is not the first queue aggregation information of the aggregated queue, it continues to return to determine whether the queue aggregation information is the first queue aggregation information of the aggregated queue; when it is determined that the queue aggregation information is the first queue aggregation information of the aggregated queue, the queue aggregation information is written into the information management unit and the number of information corresponding to the queue aggregation information is written, and finally the write pointer is increased by 1 to end the writing process. Figure 7 is the information reading flow chart provided by the present invention, such as Figure 7 As shown, the specific implementation is as follows: determine whether to initiate a read operation. When the read operation is not initiated, continue to return to determine whether to initiate a read operation; when it is determined that the read operation is initiated, the read pointer is increased by 1, and the reading process ends.
[0088] To write queue aggregation information, first determine whether there is queue aggregation information generated.
[0089] A queue aggregation information management method provided by the present invention is applied to a storage device, the storage device interacts with a host, obtains the information quantity of the queue aggregation information; sends the queue aggregation information corresponding to the information quantity to the host, and receives the response quantity of the response information determined by the host; determines whether the response quantity is zero; when it is determined that the response quantity is not zero, obtains the response transfer quantity; after determining the response transfer quantity and the response quantity, determines the target response quantity according to the sum of the response transfer quantity and the response quantity; determines whether the information quantity is zero; when it is determined that the information quantity is not zero, obtains the information aggregation quantity; after determining the information aggregation quantity and the information quantity, determines the target information quantity according to the sum of the information aggregation quantity and the information quantity; determines the release information according to the target information quantity and the target response quantity; after determining the release information, manages and releases the queue aggregation information corresponding to the information quantity; after managing and releasing the queue aggregation information based on the release information, clears the target information quantity so that the target information quantity is zero, and continues to return to execute the step of obtaining the information quantity of the queue aggregation information. On the basis of the above embodiments, the technical solution of the present invention is used to solve the defects of the prior art in which the CQE information is directly written to the corresponding address of the host, such as complex management, low transmission efficiency, and waste of address resources. It realizes determining queue aggregation information by aggregating additional information of queues with the same attributes, reducing the complexity of information sending, improving transmission efficiency, and managing and releasing the processed queue aggregation information based on the number of received information and the corresponding number, thereby reducing the occupancy of the corresponding address and avoiding waste of address resources.
[0090] The queue aggregation information management device provided by the present invention is described below. The queue aggregation information management device described below and the queue aggregation information management method described above can be referred to each other.
[0091] Figure 8 is a schematic diagram of the structure of the queue aggregation information management device provided by the present invention, referring to Figure 8 As shown, the queue aggregation information management device 800 is applied to a storage device, the storage device interacts with a host, and the queue aggregation information management device 800 includes: an information quantity acquisition module 801, a corresponding quantity acquisition module 802, a release information determination module 803 and an aggregation information management module 804.
[0092] The information quantity acquisition module 801 is used to acquire the information quantity of the queue aggregation information; wherein the queue aggregation information is determined by aggregating the queue additional information with the same attribute, and the queue additional information represents the communication command and data transmission status between the host and the storage device.
[0093] The response quantity acquisition module 802 is used to send the queue aggregation information corresponding to the information quantity to the host, and receive the response quantity of the response information determined by the host; the response information is used to represent the processing result of the host on the queue aggregation information, and the response quantity is used to represent the quantity of queue aggregation information that has been processed.
[0094] The release information determination module 803 is used to determine the release information according to the number of messages and the number of responses; wherein the release information is used to represent the management of the queue aggregation information.
[0095] The aggregation information management module 804 is used to manage and release the queue aggregation information based on the release information.
[0096] In an exemplary embodiment, the release information determination module 803 is specifically used to: determine whether the response number is zero; when it is determined that the response number is zero, continue to return to execute the step of receiving the response number of the response information determined by the host; when it is determined that the response number is not zero, obtain the response transfer number; determine the target response number based on the sum of the response transfer number and the response number; determine whether the information number is zero; when it is determined that the information number is zero, continue to return to execute the step of obtaining the information number of the queue aggregation information; when it is determined that the information number is not zero, obtain the information aggregation number; determine the target information number based on the sum of the information aggregation number and the information number; determine the release information based on the target information number and the target response number.
[0097] In an example embodiment, the release information determination module 803 determines the release information based on the target information quantity and the target response quantity, and is specifically used to: determine whether the target information quantity is greater than the target response quantity; when it is determined that the target information quantity is greater than the target response quantity, determine that the queue aggregation information processing is completed, and determine the queue aggregation information corresponding to the target information quantity as the release information.
[0098] In an exemplary embodiment, the release information determination module 803 is further used to: when it is determined that the target information quantity is less than or equal to the target response quantity, continue to return to execute the step of obtaining the response transfer quantity.
[0099] In an exemplary embodiment, the device further includes: an information clearing module. The information clearing module is used to: after managing and releasing the queue aggregation information based on the release information, clear the target information quantity so that the target information quantity is zero, and continue to return to execute the step of obtaining the information quantity of the queue aggregation information.
[0100] In an example embodiment, the information quantity acquisition module 801 is specifically used to: obtain queue message information; wherein the queue message information includes a queue address and message information; unpack the queue message information to determine the queue information; aggregate queue information with the same attribute characteristics according to the queue address and the message information to determine the information quantity of the queue aggregation information; wherein the number of aggregated queue addresses in the queue aggregation information is less than the number of queue addresses.
[0101] The device of this embodiment can be used to execute the method of any embodiment in the embodiment of the management method side of queue aggregation information. Its specific implementation process and technical effects are similar to those in the embodiment of the management method side of queue aggregation information. For details, please refer to the detailed description in the embodiment of the management method side of queue aggregation information, which will not be repeated here.
[0102] Fig. 9 is a schematic diagram of the structure of the electronic device provided by the present invention, such as Fig. 9 As shown, the electronic device may include: a processor 910, a communication interface 920, a memory 930 and a communication bus 940, wherein the processor 910, the communication interface 920 and the memory 930 complete mutual communication through the communication bus 940. The processor 910 may call the logic instructions in the memory 930 to execute the queue aggregation information management method, the method comprising: obtaining the number of queue aggregation information; wherein the queue aggregation information is determined by the aggregation of queue additional information with the same attribute, and the queue additional information represents the communication command and data transmission status between the host and the storage device; sending the queue aggregation information corresponding to the number of information to the host, and receiving the number of response information determined by the host; the response information is used to represent the processing result of the host on the queue aggregation information, and the response number is used to represent the number of queue aggregation information that has been processed; determining the release information according to the number of information and the number of responses; wherein the release information is used to represent the management of the queue aggregation information; and managing and releasing the queue aggregation information based on the release information.
[0103] In addition, the logic instructions in the above-mentioned memory 930 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the 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 several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods of various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.
[0104] On the other hand, the present invention also provides a computer program product, which includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the queue aggregation information management method provided by the above methods, the method including: obtaining the number of queue aggregation information; wherein the queue aggregation information is determined by the aggregation of queue additional information with the same attributes, and the queue additional information represents the communication command and data transmission status between the host and the storage device; sending the queue aggregation information corresponding to the number of information to the host, and receiving the number of response information determined by the host; the response information is used to represent the host's processing result of the queue aggregation information, and the number of responses is used to represent the number of queue aggregation information that has been processed; determining the release information based on the number of information and the number of responses; wherein the release information is used to represent the management of the queue aggregation information; and managing and releasing the queue aggregation information based on the release information.
[0105] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the queue aggregation information management method provided by the above-mentioned methods, the method comprising: obtaining the number of information of the queue aggregation information; wherein the queue aggregation information is determined by the aggregation of queue additional information with the same attributes, and the queue additional information represents the communication command and data transmission status between the host and the storage device; sending the queue aggregation information corresponding to the number of information to the host, and receiving the number of response information determined by the host; the response information is used to represent the processing result of the host on the queue aggregation information, and the number of responses is used to represent the number of queue aggregation information that has been processed; determining the release information based on the number of information and the number of responses; wherein the release information is used to represent the management of the queue aggregation information; and managing and releasing the queue aggregation information based on the release information.
[0106] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.
[0107] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0108] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention 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 invention.
Claims
1. A method for managing queue aggregation information, characterized in that: Applied to a storage device, the storage device interacting with a host, including: Acquire the amount of information of queue aggregation information; wherein the queue aggregation information is determined by aggregating queue additional information with the same attribute, and the queue additional information represents the communication command and data transmission status between the host and the storage device; Sending the queue aggregation information corresponding to the information quantity to the host, and receiving the response quantity of the response information determined by the host; the response information is used to represent the processing result of the host on the queue aggregation information, and the response quantity is used to represent the quantity of the queue aggregation information that has been processed; Determine release information according to the number of information and the number of responses; wherein the release information is used to characterize the management of the queue aggregation information; The queue aggregation information is managed and released based on the release information.
2. The method for managing queue aggregation information according to claim 1, characterized in that: The step of determining the release information according to the number of information and the number of responses includes: determining whether the number of responses is zero; When it is determined that the number of responses is zero, continuing to return to the step of receiving the number of responses of the response information determined by the host; When it is determined that the response quantity is not zero, obtaining the response transfer quantity; Determine a target response quantity according to the sum of the response transfer quantity and the response quantity; determining whether the information quantity is zero; When it is determined that the information quantity is zero, continue to return to the step of obtaining the information quantity of the queue aggregation information; When it is determined that the information quantity is not zero, obtaining the information aggregation quantity; Determine the target information quantity according to the sum of the information aggregation quantity and the information quantity; The release information is determined according to the target information quantity and the target response quantity.
3. The method for managing queue aggregation information according to claim 2, characterized in that: The determining the release information according to the target information quantity and the target response quantity includes: determining whether the target information quantity is greater than the target response quantity; When it is determined that the target information quantity is greater than the target response quantity, it is determined that the queue aggregation information is processed completely, and the queue aggregation information corresponding to the target information quantity is determined as the release information.
4. The method for managing queue aggregation information according to claim 3, characterized in that: Also includes: When it is determined that the target information quantity is less than or equal to the target response quantity, the step of returning to execute the step of obtaining the response transfer quantity is continued.
5. The method for managing queue aggregation information according to claim 3, characterized in that: After the queue aggregation information is managed and released based on the release information, the method further includes: Clear the target information quantity to make the target information quantity zero, and continue to return to execute the step of obtaining the information quantity of the queue aggregation information.
6. The method for managing queue aggregation information according to claim 1, characterized in that: The amount of information for obtaining queue aggregation information includes: Obtaining queue message information; wherein the queue message information includes a queue address and message information; Unpacking the queue message information to determine the queue information; The queue information with the same attribute characteristics is aggregated according to the queue address and the message information to determine the information quantity of the queue aggregation information; wherein the number of aggregated queue addresses in the queue aggregation information is less than the number of the queue addresses.
7. A queue aggregation information management device, characterized in that: Applied to a storage device, the storage device interacting with a host, including: An information quantity acquisition module, used to acquire the information quantity of queue aggregation information; wherein the queue aggregation information is determined by aggregating queue additional information with the same attribute, and the queue additional information represents the communication command and data transmission status between the host and the storage device; a response quantity acquisition module, used for sending the queue aggregation information corresponding to the information quantity to the host, and receiving the response quantity of the response information determined by the host; the response information is used to represent the processing result of the host on the queue aggregation information, and the response quantity is used to represent the quantity of the queue aggregation information that has been processed; A release information determination module, used to determine the release information according to the number of information and the number of responses; wherein the release information is used to characterize the management of the queue aggregation information; The aggregation information management module is used to manage and release the queue aggregation information based on the release information.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the queue aggregation information management method according to any one of claims 1 to 6 is implemented.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the queue aggregation information management method according to any one of claims 1 to 6 is implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the queue aggregation information management method according to any one of claims 1 to 6 is implemented.
