Latency monitoring method and apparatus, latency monitoring device, system, medium and product

By acquiring and differentiating concurrent command data from the hard drive, determining target latency data and optimizing it, the problem of the inability to comprehensively evaluate SSD performance in existing technologies is solved, and accurate evaluation and optimization of concurrent I/O operations are achieved.

CN119517136BActive Publication Date: 2025-11-21SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411362399.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-11-21
Estimated Expiration
2044-09-27

AI Technical Summary

Technical Problem

Current technologies evaluate SSD performance by measuring the latency of a single I/O operation, which fails to reflect the actual latency under concurrent I/O operations and cannot comprehensively assess SSD performance.

Method used

By acquiring command data from the hard drive, the types of concurrent commands are distinguished, the target latency data is determined comprehensively, latency optimization is performed based on latency optimization rules, latency thresholds are configured to identify latency anomalies, and alarm information is generated.

Benefits of technology

It enables comprehensive and accurate evaluation of multiple concurrent commands, better reflects latency under concurrent I/O operations, optimizes hard drive performance, and improves system stability and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119517136B_ABST
    Figure CN119517136B_ABST
Patent Text Reader

Abstract

The application provides a time delay monitoring method, device, equipment, system, medium and product. Command data of a hard disk is obtained. The command data contains at least two concurrent commands. After time delay triggering according to the command data of the hard disk, first time delay data is obtained. According to the command data, the command types corresponding to the command data are distinguished and processed to obtain a partition processing result. After time delay triggering according to the partition processing result, second time delay data is obtained. Target time delay data is determined according to the first time delay data and the second time delay data. Time delay monitoring optimization results are determined according to the target time delay data and time delay optimization rules. The technical scheme of the application comprehensively determines target time delay data of command data containing multiple concurrent commands, evaluates the time delay condition of the hard disk based on the target time delay data, performs time delay optimization based on the time delay optimization rules, determines time delay monitoring optimization results, and comprehensively evaluates the hard disk.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of latency monitoring, and in particular to a latency monitoring method, device, equipment, system, medium and product. BACKGROUND

[0002] With the development of information technology and the increasing demand for data processing, solid state disks (SSD) as a kind of high-performance storage medium have been widely used in modern computer systems. SSD has the advantages of fast read / write speed, low power consumption, impact resistance, etc., and is particularly suitable for high-performance computing and big data processing applications. Gradually, the Input / Output (I / O) latency problem has become an important factor affecting the overall performance of the system and user experience.

[0003] Currently, in the prior art, the experimental measurement of I / O latency usually adopts single command experimental measurement, that is, by measuring the latency of a single I / O to evaluate the performance of the solid state disk. This method is simple and intuitive, but it cannot reflect the real latency situation under concurrent I / O operation and cannot comprehensively evaluate the performance of the SSD. SUMMARY

[0004] The present application provides a latency monitoring method, device, equipment, system, medium and product to solve the defects in the prior art that the performance of the solid state disk cannot be evaluated by measuring the latency of a single I / O, which cannot reflect the real latency situation under concurrent I / O operation and cannot comprehensively evaluate the performance of the SSD. The target latency data of the command data containing multiple concurrent commands is determined comprehensively, the latency of the hard disk is evaluated based on the target latency data, and the latency is optimized based on the latency optimization rules to determine the latency monitoring optimization result, which realizes more comprehensive and accurate processing of the command data and comprehensive evaluation of the performance of the hard disk.

[0005] The present application provides a latency monitoring method, comprising the following steps.

[0006] Obtain the command data of the hard disk; wherein the command data is data containing at least two concurrent commands.

[0007] After latency triggering according to the command data of the hard disk, the first latency data is obtained, and the command type corresponding to the command data is distinguished and processed according to the command data to obtain a partition processing result.

[0008] After latency triggering according to the partition processing result, the second latency data is obtained.

[0009] Determine the target latency data according to the first latency data and the second latency data.

[0010] The target time delay data and the time delay optimization rule are used to determine a time delay monitoring optimization result.

[0011] According to the time delay monitoring provided by the application, the command data of the hard disk is obtained, including: obtaining the initial cache command of the hard disk; when the command quantity of the initial cache command is equal to the preset quantity, all the initial cache commands are determined as the command data; wherein the preset quantity is the preset cache command quantity; when the command quantity of the initial cache command is less than the preset quantity, the initial cache quantity is continuously obtained until the command quantity is equal to the preset quantity.

[0012] According to the time delay monitoring provided by the application, the command type corresponding to the command data is distinguished according to the command data, and the partition processing result is obtained, including: the command type corresponding to the command data is distinguished according to the command data, and it is determined whether the command type is a computer interface command; in the case of determining that the command type is a computer interface command, the partition processing result is obtained according to the command data and the partition processing algorithm.

[0013] According to the time delay monitoring provided by the application, before the time delay monitoring optimization result is determined according to the target time delay data and the time delay optimization rule, the time delay threshold is configured; wherein the time delay threshold is a threshold value for judging the time delay condition of the hard disk; in the case that the target time delay data is less than or equal to the time delay threshold, it is determined that the command data is normal; in the case that the target time delay data is greater than the time delay threshold, it is determined that the command data is abnormal, the alarm information is obtained, and the step of determining the time delay monitoring optimization result according to the target time delay data and the time delay optimization rule is continued; wherein the alarm information is used to inform that the hard disk has time delay abnormality.

[0014] The application also provides a time delay monitoring device, including the following modules.

[0015] The data acquisition module is used for obtaining the command data of the hard disk; wherein the command data is data containing at least two concurrent commands.

[0016] The data triggering module is used for obtaining the first time delay data after the time delay triggering according to the command data of the hard disk, and obtaining the partition processing result by distinguishing the command type corresponding to the command data according to the command data.

[0017] The result triggering module is used for obtaining the second time delay data after the time delay triggering according to the partition processing result.

[0018] The data determination module is used for determining the target time delay data according to the first time delay data and the second time delay data.

[0019] A result determining module is configured to determine a time delay monitoring optimization result according to the target time delay data and a time delay optimization rule.

[0020] The application further provides a time delay monitoring device, which comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements any of the above time delay monitoring methods when executing the computer program.

[0021] The application further provides a non-transitory computer readable storage medium, which stores a computer program, and the computer program implements any of the above time delay monitoring methods when executed by a processor.

[0022] The application further provides a computer program product, which comprises a computer program, and the computer program implements any of the above time delay monitoring methods when executed by a processor.

[0023] The application provides a time delay monitoring method, device, equipment, system, medium and product, which obtains command data of a hard disk; the command data is data containing at least two concurrent commands; after time delay triggering is performed according to the command data of the hard disk, first time delay data is obtained, and the command types corresponding to the command data are distinguished according to the command data to obtain a partition processing result; after time delay triggering is performed according to the partition processing result, second time delay data is obtained; target time delay data is determined according to the first time delay data and the second time delay data; a time delay monitoring optimization result is determined according to the target time delay data and a time delay optimization rule; the time delay optimization rule is a rule for optimizing the target time delay data. The technical scheme of the application is used to solve the defects in the prior art that the performance of a solid state disk cannot be reflected under real time delay conditions of concurrent I / O operations, and the performance of the SSD cannot be comprehensively evaluated, the target time delay data of command data containing multiple concurrent commands is determined, the time delay conditions of the hard disk are evaluated based on the target time delay data, time delay optimization is performed based on the time delay optimization rule, the time delay monitoring optimization result is determined, the command data is processed more comprehensively and accurately, and the performance of the hard disk is comprehensively evaluated. BRIEF DESCRIPTION OF DRAWINGS

[0024] In order to more clearly illustrate the technical solutions of the present application or the prior art, the following will briefly introduce the drawings needed in the embodiments or prior art description. Obviously, the drawings in the following description are some embodiments of the present application, and those skilled in the art can also obtain other drawings according to these drawings without creative labor.

[0025] Figure 1 is a flowchart of the time delay monitoring method provided by the application.

[0026] Figure 2 This is a schematic diagram of the delay monitoring device provided by the present invention.

[0027] Figure 3 This is a schematic diagram of the delay monitoring device provided by the present invention.

[0028] Figure 4 This is one of the structural schematic diagrams of the latency monitoring system provided by the present invention.

[0029] Figure 5 This is the second structural schematic diagram of the latency monitoring system provided by the present invention.

[0030] Figure 6 This is the third schematic diagram of the delay monitoring system provided by the present invention.

[0031] Figure label:

[0032] 40: Latency monitoring system; 41: Host; 42: Latency monitoring device; 421: Command acquisition module; 422: Command completion module; 423: Data processing module; 4231: Direct memory access unit; 4232: Near field communication unit; 4233: Firmware data processing unit; 424: Latency monitoring module; 4241: Latency recording unit; 4242: Data storage unit; 4243: Threshold alarm unit; 4244: Firmware interaction unit. Detailed Implementation

[0033] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0034] The following is combined with Figure 1 - This invention describes the latency monitoring method provided by the present invention. The latency monitoring method provided by the present invention is applicable to hard disk-based latency monitoring. The execution subject of this method can be a latency monitoring device or a latency monitoring apparatus installed in the latency monitoring device. The latency monitoring can be implemented by software, hardware or a combination of both. Figure 1 This is a flowchart illustrating the latency monitoring method provided by the present invention, as follows: Figure 1 As shown, the method includes the following steps 101, 102, 103, 104 and 105.

[0035] Step 101: Obtain command data from the hard drive.

[0036] In this step, the command data refers to data containing at least two concurrent commands.

[0037] Specifically, it receives command data from at least two concurrent commands sent by the host to the latency monitoring device from the hard drive.

[0038] In one specific implementation, the method for obtaining command data from the hard disk includes: obtaining the initial cache commands of the hard disk; when the number of initial cache commands is equal to a preset number, determining all initial cache commands as command data; wherein, the preset number is a pre-set number of cache commands; when the number of initial cache commands is less than the preset number, continuing to obtain the initial cache number until the number of commands is equal to the preset number.

[0039] In this step, the preset quantity is the number of cached commands set in advance, such as 8 or 10 commands. This embodiment does not limit this quantity.

[0040] Specifically, the initial cache commands from the hard drive are retrieved and stored in a command queue. The number of commands that can be stored in the command queue can be a preset number. When the number of initial cache commands equals the preset number (i.e., the cache queue is full), all initial cache commands in the cache queue are identified as command data. If the number of initial cache commands is less than the preset number, the process continues to retrieve initial cache commands until the number of commands equals the preset number.

[0041] Step 102: After triggering the delay based on the command data from the hard drive, the first delay data is obtained. The command type corresponding to the command data is then distinguished and processed according to the command data to obtain the partition processing result.

[0042] In this step, the first delay trigger data is the data when the command data triggers the delay.

[0043] In one specific implementation, the method of distinguishing and processing the command type corresponding to the command data based on the command data to obtain the partitioning result includes: distinguishing and processing the command type corresponding to the command data based on the command data to determine whether the command type is a computer interface command; if the command type is determined to be a computer interface command, obtaining the partitioning result based on the command data and the partitioning algorithm.

[0044] Specifically, after acquiring the command data, a delay is triggered based on the command data to obtain the first delay data. After the delay is triggered, the command type corresponding to the command data is distinguished and processed according to the command data. In the case that the command type is a computer interface command, the partition processing result is obtained based on the command data and the partition processing algorithm.

[0045] Step 103, obtaining second latency data after latency triggering according to the partition processing result.

[0046] In this step, the second latency data is the latency data after triggering the partition processing result.

[0047] Specifically, after obtaining the partition processing result, latency triggering is performed again according to the partition processing result, and the second latency data is obtained.

[0048] Step 104, determining target latency data according to the first latency data and the second latency data.

[0049] In this step, the target latency data is the latency condition of the command data determined based on the first latency data and the second latency data.

[0050] Specifically, after obtaining the first latency data and the second latency data, the target latency data is determined based on the first latency data and the second latency data. For example, the target latency data can be the sum of the first latency data and the second latency data, or the average of the first latency data and the second latency data, or a weighted ratio based on the first latency data and the second latency data, and the present embodiment is not limited thereto.

[0051] Step 105, determining latency monitoring optimization result according to the target latency data and latency optimization rule.

[0052] In this step, the latency optimization rule refers to the rule for optimizing the target latency data.

[0053] In a specific embodiment, before determining the latency monitoring optimization result according to the target latency data and the latency optimization rule, it further includes configuring a latency threshold. The latency threshold is a threshold for judging the latency condition of the hard disk. In the case that the target latency data is less than or equal to the latency threshold, it is determined that the command data is normal. In the case that the target latency data is greater than the latency threshold, it is determined that the command data is abnormal, obtaining alarm information, and continuing to perform the step of determining the latency monitoring optimization result according to the target latency data and the latency optimization rule. The alarm information is used to inform that there is latency abnormality in the hard disk.

[0054] In this step, the latency threshold is a threshold for judging the latency condition of the hard disk, and the present embodiment is not limited thereto.

[0055] Specifically, a time delay threshold is configured, it is determined whether the target time delay data is less than or equal to the time delay threshold, in the case that the target time delay data is less than or equal to the time delay threshold, it is determined that the command data is normal, in the case that the target time delay data is greater than the time delay threshold, it is determined that the command data is abnormal, alarm information is obtained, and the step of determining the time delay monitoring optimization result according to the target time delay data and the time delay optimization rule is continued to execute; wherein the alarm information is used to inform that the host hard disk has time delay abnormality.

[0056] The application provides a time delay monitoring method, which comprises the following steps: obtaining command data of a hard disk; wherein the command data is data containing at least two concurrent commands; obtaining first time delay data after time delay triggering according to the command data of the hard disk, and obtaining a partition processing result by distinguishing and processing the command types corresponding to the command data according to the command data; obtaining second time delay data after time delay triggering according to the partition processing result; determining target time delay data according to the first time delay data and the second time delay data; determining a time delay monitoring optimization result according to the target time delay data and a time delay optimization rule; wherein the time delay optimization rule refers to a rule for optimizing the target time delay data. On the basis of the above embodiment, the technical scheme of the application is used to solve the defects in the prior art that the performance of a solid state disk cannot be reflected under concurrent I / O operation and the performance of the SSD cannot be comprehensively evaluated by measuring the time delay of a single I / O, the target time delay data of the command data containing multiple concurrent commands is determined comprehensively, the time delay of the hard disk is evaluated based on the target time delay data, the time delay is optimized based on the time delay optimization rule, the time delay monitoring optimization result is determined, and the command data is processed more comprehensively and accurately, and the performance of the hard disk is evaluated comprehensively.

[0057] The time delay monitoring device provided by the application is described below, and the time delay monitoring device described below can be correspondingly referred to the time delay monitoring method described above.

[0058] Figure 2 It is a structural schematic diagram of the time delay monitoring device provided by the application, as shown in Figure 2 The time delay monitoring device 200 comprises a data acquisition module 201, a data triggering module 202, a result triggering module 203, a data determination module 204 and a result determination module 205.

[0059] The data acquisition module 201 is used for acquiring the command data of the hard disk; wherein the command data is data containing at least two concurrent commands.

[0060] The data triggering module 202 is used for obtaining first time delay data after time delay triggering according to the command data of the hard disk, and obtaining a partition processing result by distinguishing and processing the command types corresponding to the command data according to the command data.

[0061] The result triggering module 203 is configured to obtain second time delay data after triggering time delay according to the partition processing result.

[0062] The data determining module 204 is configured to determine target time delay data according to the first time delay data and the second time delay data.

[0063] The result determining module 205 is configured to determine time delay monitoring optimization result according to the target time delay data and time delay optimization rule, wherein the time delay optimization rule refers to a rule for optimizing the target time delay data.

[0064] In an example embodiment, the data obtaining module 201 is specifically configured to: obtain initial cache commands of a hard disk; determine all the initial cache commands as command data when the number of the initial cache commands is equal to a preset number; wherein the preset number is a preset cache command number; and continue to obtain the initial cache number until the number of the initial cache commands is equal to the preset number when the number of the initial cache commands is less than the preset number.

[0065] In an example embodiment, the data triggering module 202 is specifically configured to: distinguish and process the command types corresponding to the command data according to the command data, and determine whether the command types are computer interface commands; and obtain partition processing result according to the command data and a partition processing algorithm when the command types are determined as computer interface commands.

[0066] In an example embodiment, the device further comprises an alarm module. The alarm module is configured to: configure a time delay threshold before determining the time delay monitoring optimization result according to the target time delay data and the time delay optimization rule; wherein the time delay threshold is a threshold for judging the time delay condition of the hard disk; determine that the command data is normal when the target time delay data is less than or equal to the time delay threshold; determine that the command data is abnormal, obtain alarm information, and continue to execute the step of determining the time delay monitoring optimization result according to the target time delay data and the time delay optimization rule when the target time delay data is greater than the time delay threshold; wherein the alarm information is used to inform that there is time delay abnormality in the hard disk.

[0067] The device of the embodiment can be used to execute the method of any one of the time delay monitoring method side embodiments, and the specific implementation process and technical effects are similar to those of the time delay monitoring method side embodiments. For details, refer to the detailed description in the time delay monitoring method side embodiments, which will not be described here.

[0068] Figure 3 is a structural schematic diagram of the time delay monitoring device provided by the present application, as Figure 3As shown, the time delay monitoring device can include a processor 310, a communications interface 320, a memory 330 and a communications bus 340, wherein the processor 310, the communications interface 320 and the memory 330 complete mutual communication through the communications bus 340. The processor 310 can invoke the logic instructions in the memory 330 to execute the time delay monitoring method, which includes: obtaining command data of the hard disk; wherein the command data is data containing at least two concurrent commands; obtaining first time delay data after time delay triggering according to the command data of the hard disk, and distinguishing and processing the command types corresponding to the command data according to the command data to obtain a partition processing result; obtaining second time delay data after time delay triggering according to the partition processing result; determining target time delay data according to the first time delay data and the second time delay data; determining a time delay monitoring optimization result according to the target time delay data and a time delay optimization rule; wherein the time delay optimization rule refers to a rule for optimizing the target time delay data.

[0069] In addition, the logic instructions in the memory 330 described above can be implemented in the form of a software functional unit and sold or used as an independent product, which can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or part of the technical solutions can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.

[0070] Figure 4 is one of the structural schematic diagrams of the time delay monitoring system provided by the present application, as shown in the figure, Figure 4 As shown, the time delay monitoring system 40 includes a host 41 and a time delay monitoring device 42.

[0071] In this step, the time delay monitoring device 42 includes a plurality of software devices, Figure 5 is the second structural schematic diagram of the time delay monitoring system provided by the present application, as shown in the figure, Figure 5 As shown, the software devices of the time delay monitoring device mainly include a command acquisition module 421, a command completion module 422, a data processing module 423 and a time delay monitoring module 424.

[0072] The host is configured to acquire command data of the hard disk, and the number of commands is at least two concurrent commands. The command acquisition module is configured to receive the command data of the hard disk acquired by the host, and send the command data of the hard disk to the time delay monitoring module and the data processing module respectively. The time delay monitoring module is configured to store the command data of the hard disk, and perform time delay triggering based on the command data of the hard disk to obtain first time delay data. The data processing module is configured to distinguish and process the command type corresponding to the command data according to the command data after the time delay triggering, and obtain a partition processing result. The time delay monitoring module is further configured to obtain second time delay data after the time delay triggering according to the partition processing result. The target time delay data is determined according to the first time delay data and the second time delay data. The time delay monitoring optimization result is determined according to the target time delay data and the time delay optimization rule. The time delay optimization rule refers to the rule for optimizing the target time delay data. The time delay monitoring optimization result is sent to the command completion module. The command completion module is configured to store the time delay monitoring optimization result, and feed back the time delay monitoring optimization result to the host. The host is further configured to determine the time delay monitoring condition of the hard disk based on the time delay monitoring optimization result.

[0073] In this step, the command data is data actively generated by the host for issuing to the hard disk side. The command data is sent to the command acquisition module by the host through a peripheral component interconnect express (PCI-Express) channel. The command acquisition module contains a command queue, which is used to cache command data. When the command queue is full of command data, all the command data cached in the command queue is sent to the data processing module. At the same time, the command acquisition module triggers the time delay monitoring module once for every command data acquired in the command queue.

[0074] Specifically, the command data of the hard disk is acquired by the host, and the command data is sent to the command acquisition module of the time delay monitoring device. After the command acquisition module obtains the command data, the command data is sent to the time delay monitoring module and the data processing module respectively. Then, the command data is stored based on the time delay monitoring module, and the time delay trigger is performed based on the command data to obtain first time delay data. After the time delay trigger, the data processing module distinguishes and processes the command type corresponding to the command data according to the command data to obtain a partition processing result. Further, after the time delay trigger according to the partition processing result, the time delay monitoring module obtains second time delay data, and determines target time delay data based on the first time delay data and the second time delay data. The time delay monitoring optimization result is determined according to the target time delay data and the time delay optimization rule. Finally, the time delay monitoring optimization result is sent to the command completion module, so that the command completion module stores the time delay monitoring optimization result, and feeds back the time delay monitoring optimization result to the host. The host can determine the time delay monitoring condition of the hard disk based on the time delay monitoring optimization result.

[0075] In an embodiment, the time delay monitoring system further comprises a dynamic random access memory.

[0076] The dynamic random access memory is configured to send a trigger signal to the time delay monitoring module, acquire the command data of the hard disk in the time delay monitoring module based on the trigger signal, and store the command data of the hard disk.

[0077] In an embodiment, the data processing module 423 comprises a direct memory access unit 4231, a near field communication unit 4232, and a firmware data processing unit 4233.

[0078] The firmware data processing unit is configured to distinguish and process the command data of the hard disk and the command type corresponding to the command data of the hard disk to obtain a partition processing result, and send the partition processing result to the near field communication unit. The near field communication unit is configured to receive the partition processing result, trigger the time delay monitoring module based on the partition processing result to obtain a command processing result, and send the command processing result to the firmware data processing unit. The firmware data processing unit is further configured to start and configure the direct memory access unit based on the command processing result. The direct memory access unit is configured to send the command processing result to the command completion module.

[0079] In this step, the data processing module is a software module, which can usually run on a cortex R8 core. The data processing module further processes the received command data. According to the command type of the command data, if the command type is an I / O command, the data processing module needs to operate a nand flash (a kind of memory for storing a large amount of data). The data processing module transmits the command processing result after processing the command data to the algorithm module and to the command completion module.

[0080] Specifically, after the data processing module obtains the command data sent by the command obtaining module, the firmware data processing unit distinguishes and processes the command data of the hard disk and the command type corresponding to the command data of the hard disk, obtains a partition processing result, and sends the partition processing result to the near field communication unit. The near field communication unit receives the partition processing result, triggers the time delay monitoring module based on the partition processing result, obtains a command processing result, and sends the command processing result to the firmware data processing unit. The firmware data processing unit starts and configures the direct memory access unit based on the command processing result, and the direct memory access unit sends the command processing result to the command completion module.

[0081] Further, when the near field communication unit receives the partition processing result, a timer of the time delay monitoring module is triggered. When the timer is triggered, the time delay data generated by the timer is saved in the data storage unit in the time delay monitoring module. When the near field communication unit obtains the command processing result, the command data result is sent to the firmware data processing unit again. When the near field communication unit obtains the command processing result, the time delay monitoring module is triggered, the time delay data is generated by the timer of the time delay recording unit in the time delay monitoring module, and the time delay data is recorded in the data storage unit. When the firmware data processing unit receives the command data result processed by the near field communication unit, the direct memory access unit is started and configured, and the command data result is sent to the command completion module and then to the host through the command completion module.

[0082] In this step, the configuration of the direct memory access unit needs to generate descriptor data first, and then write the descriptor into the configuration register of the direct memory access unit. When the configuration register of the direct memory access unit is written, the direct memory access unit is started and data transmission is performed, and the time delay control module is triggered at the same time. At this time, the time delay data generated by the timer of the time delay control module is saved in the data storage unit of the time delay monitoring module.

[0083] Specifically, after the direct memory access unit is completed, the command data result is sent to the command completion module and then to the host through the command completion module. When the command data result is sent to the host by the command completion module, the time delay control module is triggered at the same time. At this time, the time delay data generated by the timer of the time delay control module is saved in the data storage unit of the time delay monitoring module, so as to obtain the target time delay data comprehensively.

[0084] In a specific embodiment, Figure 6 is a third structure diagram of the time delay monitoring system provided by the application, as Figure 6As shown, the time delay monitoring module 424 includes a time delay recording unit 4241, a data storage unit 4242, a threshold alarm unit 4243, and a firmware interaction unit 4244, the time delay recording unit is connected with the data storage unit and the threshold alarm unit respectively, and the firmware interaction unit is connected with the data storage unit and the data processing module respectively.

[0085] The time delay recording unit is configured to determine time delay data corresponding to the command type of the command data of the hard disk, and send the time delay data to the data storage unit and the threshold alarm unit; the data storage unit is configured to store target time delay data, and send the target time delay data to the firmware interaction unit; the threshold alarm unit is configured to configure a time delay threshold, generate alarm information according to the time delay threshold and the target time delay data, and send the alarm information to the firmware interaction unit; the firmware interaction unit is configured to send the target time delay data and the alarm information to the data processing module; and the data processing module is further configured to determine a time delay optimization rule based on the target time delay data and the alarm information, and feed back the time delay optimization rule to the command completion module; wherein the time delay optimization rule refers to a rule for optimizing the target time delay data.

[0086] In this step, the time delay recording unit is configured to detect and record target time delay data of the concurrent command data; the data storage unit is configured to store the target time delay data to the programmable controller; the threshold alarm unit is configured to configure a time delay threshold, and generate alarm information when the target time delay data exceeds the time delay threshold; and the firmware interaction unit is configured to read the target time delay data and optimize the target time delay data.

[0087] The advantages of such a setting are that, by combining the target time delay data with the time delay threshold, time delay analysis is performed, and alarm information is generated when the target time delay data exceeds the time delay threshold, so that the alarm information is issued in advance for preventive maintenance. At the same time, the processing of the target time delay data by the time delay monitoring module is through a multi-channel parallel processing mechanism, which ensures the load balancing of each channel and avoids the time delay problem caused by the overload of some channels.

[0088] In a specific embodiment, the time delay recording unit includes a timer, a data processing subunit, and a data queue, the timer and the data processing subunit are connected with the data storage unit and the command acquisition module respectively, the timer and the data processing subunit are connected, and the data queue is connected with the command acquisition module; wherein the timer is configured to determine time delay data according to the data identifier of the command data of the hard disk, and determine whether the recording of the command data of the hard disk is terminated according to the time delay data; the data processing subunit is configured to obtain the time delay data, bind the time delay data and the data identifier to obtain a binding data result, and send the binding data result to the data storage unit; and the data queue is configured to queue store the command data of the hard disk.

[0089] In a specific embodiment, the data storage unit includes a programmable controller connected with a dynamic random access memory and a data buffer connected with the time delay recording unit; wherein the programmable controller is used to control the dynamic random access memory; and the data buffer is used to store the binding data results.

[0090] In this step, the time delay data of the timer is recorded according to the data identifier corresponding to the command data. The data records of the same command data are summarized together. When a command data is completed, the data recorded in the command data also needs to be terminated. The command data is stored in the data buffer. The data buffer is in the data storage unit and is used to temporarily store the target time delay data, relieving the storage pressure in high concurrency situations. The threshold alarm unit allows the configuration of a time delay threshold and generates an alarm information when the time delay exceeds the time delay threshold. The firmware interaction unit is responsible for communication with the firmware data processing unit of the data processing module, providing time delay data and warning information.

[0091] For example, in the application scenario of the alarm information of the time delay monitoring module, the time delay threshold can be configured to the time delay monitoring module in the power-on state during the operation of the hard disk. Then the I / O also configures the time delay threshold to the time delay monitoring module in the power-on state. When the target time delay data of the I / O exceeds the time delay threshold, an alarm information is generated. In this way, the firmware data processing unit can perceive that the command data of the current I / O has an abnormality through the alarm information, and can obtain the statistical alarm information through the firmware interaction unit of the time delay monitoring module. The time delay monitoring module uses multi-segment recording for a command, which can greatly reduce the range of the problem. After the firmware interaction unit obtains the alarm information, it can summarize the rules through a certain degree of data analysis and quickly determine the key point of the problem. For example, if the I / O of direct memory access has a large time delay, an optimization algorithm can be used to optimize the use of direct memory access resources. In addition, when the hard disk has been applied to a production scene, the host can perform time delay statistics on the hard disk. If it is found that the time delay is too large, the hard disk team needs to quickly locate the root cause of the problem.

[0092] The advantage of such a setting is that the time delay monitoring module can configure a time delay threshold. When the time delay of a certain command data exceeds the time delay threshold, an alarm information is generated and sent to the firmware data processing unit through the firmware interface. This real-time warning mechanism can help the system to discover and handle abnormal situations in time, prevent the accumulation of large time delay problems, and ensure the stable operation of the system.

[0093] In a specific embodiment, the firmware data processing unit can also set a characteristic command to further measure and analyze the time delay of the hard disk in cooperation with the time delay monitoring module. If the time delay continues to exceed the standard, the firmware data processing unit can feed back relevant information to the host through the log page according to the data collected by the time delay monitoring module, so as to debug and improve the time delay problem of the hard disk in the production environment. This diagnostic function helps to quickly locate and solve problems and improve the reliability of the system. The time delay monitoring module allows users to configure the time delay threshold according to actual needs, and the system can flexibly adapt to different application scenarios. For example, in an application scenario requiring high performance, the time delay threshold can be set lower to ensure that the system always maintains high performance; in an application scenario with low time delay requirements, the time delay threshold can be set higher to reduce unnecessary warning information.

[0094] The application provides a time delay monitoring system, which comprises a host and a time delay monitoring device. The time delay monitoring device comprises a command acquisition module, a command completion module, a data processing module and a time delay monitoring module. The host is configured to acquire command data of a hard disk. The number of commands is at least two concurrent commands. The command acquisition module is configured to receive the command data of the hard disk acquired by the host and send the command data of the hard disk to the time delay monitoring module and the data processing module respectively. The time delay monitoring module is configured to store the command data of the hard disk and perform time delay triggering based on the command data of the hard disk to obtain first time delay data. The data processing module is configured to distinguish and process the command types corresponding to the command data according to the command data after the time delay triggering to obtain a partition processing result. The time delay monitoring module is further configured to obtain second time delay data after the time delay triggering according to the partition processing result. The target time delay data is determined according to the first time delay data and the second time delay data. The time delay monitoring optimization result is determined according to the target time delay data and a time delay optimization rule. The time delay optimization rule refers to a rule for optimizing the target time delay data. The time delay monitoring optimization result is sent to the command completion module. The command completion module is configured to store the time delay monitoring optimization result and feed back the time delay monitoring optimization result to the host. The host is further configured to determine the time delay monitoring situation of the hard disk based on the time delay monitoring optimization result. Based on the above embodiment, the technical scheme of the application is used to solve the defects in the prior art that the performance of a solid state disk cannot be evaluated by measuring the time delay of a single I / O, the real time delay situation under concurrent I / O operation cannot be reflected, and the performance of the SSD cannot be evaluated comprehensively. The application realizes the storage and analysis processing of at least two concurrent command data by the time delay monitoring module and the data processing module, obtains a time delay monitoring evaluation result, realizes more comprehensive and accurate processing of the command data, and comprehensively evaluates the performance of the hard disk.

[0095] In another aspect, the present application also provides a computer program product, which comprises a computer program, the computer program being stored in a non-transitory computer readable storage medium, and the computer program being executable by a processor to cause a computer to perform the time delay monitoring method provided by any of the above methods, the method comprising: obtaining command data of the hard disk; wherein the command data is data comprising at least two concurrent commands; obtaining first time delay data after time delay triggering according to the command data of the hard disk, and distinguishing the command types corresponding to the command data according to the command data to obtain a partition processing result; obtaining second time delay data after time delay triggering according to the partition processing result; determining target time delay data according to the first time delay data and the second time delay data; determining a time delay monitoring optimization result according to the target time delay data and a time delay optimization rule; wherein the time delay optimization rule refers to a rule for optimizing the target time delay data.

[0096] In another aspect, the present application also provides a non-transitory computer readable storage medium, which stores a computer program, the computer program being executable by a processor to implement the time delay monitoring method provided by any of the above methods, the method comprising: obtaining command data of the hard disk; wherein the command data is data comprising at least two concurrent commands; obtaining first time delay data after time delay triggering according to the command data of the hard disk, and distinguishing the command types corresponding to the command data according to the command data to obtain a partition processing result; obtaining second time delay data after time delay triggering according to the partition processing result; determining target time delay data according to the first time delay data and the second time delay data; determining a time delay monitoring optimization result according to the target time delay data and a time delay optimization rule; wherein the time delay optimization rule refers to a rule for optimizing the target time delay data.

[0097] The device embodiments described above are merely illustrative, wherein the units described as separate components can or can not be physically separate, and the components displayed as units can or can not be physical units, i.e., can be located in one place, or can be distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the present embodiment scheme according to actual needs. Those skilled in the art can understand and implement without creative labor.

[0098] Those skilled in the art can clearly understand the technical solutions of the various embodiments from the above description of the embodiments, and the various embodiments can be implemented by means of software with the necessary general hardware platforms, and of course, can also be implemented by hardware. Based on such understanding, the above technical solutions, essentially or in other words, the part of the prior art that makes a contribution, can be embodied in the form of a software product, which can be stored in a computer readable storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, and the like, and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0099] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, rather than limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for some technical features therein; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A latency monitoring method, characterized in that, include: Obtain command data from the hard drive; wherein the command data contains at least two concurrent commands; After triggering a delay based on the command data from the hard drive, first delay data is obtained. Then, the command type corresponding to the command data is differentiated based on the command data to obtain a partitioning result. The differentiation of the command type based on the command data to obtain the partitioning result includes: differentiating the command type based on the command data to determine whether the command type is a computer interface command; if the command type is determined to be a computer interface command, the partitioning result is obtained based on the command data and the partitioning algorithm. After triggering the delay based on the partitioning process result, the second delay data is obtained; The target delay data is determined based on the first delay data and the second delay data; The latency monitoring optimization result is determined based on the target latency data and the latency optimization rules; wherein, the latency optimization rules refer to the rules for optimizing the target latency data.

2. The latency monitoring method according to claim 1, characterized in that, The command data for obtaining the hard drive includes: Obtain the initial cache command for the hard disk; When the number of initial cache commands equals a preset number, all initial cache commands are determined as the command data; wherein, the preset number is a pre-defined number of cache commands. If the number of initial cache commands is less than the preset number, the initial cache number continues to be obtained until the number of commands equals the preset number.

3. The latency monitoring method according to claim 1, characterized in that, Before determining the latency monitoring and optimization result based on the target latency data and latency optimization rules, the method further includes: Configure a latency threshold; wherein the latency threshold is a pre-set threshold used to determine the latency status of the hard drive; If the target latency data is less than or equal to the latency threshold, the command data is determined to be normal. If the target latency data is greater than the latency threshold, the command data is determined to be abnormal, an alarm message is obtained, and the step of determining the latency monitoring and optimization result based on the target latency data and latency optimization rules continues to be executed; wherein, the alarm message is used to inform the hard drive that there is a latency abnormality.

4. A time delay monitoring device, characterized in that, include: A data acquisition module is used to acquire command data from the hard drive; wherein the command data contains at least two concurrent commands. The data triggering module is used to obtain first latency data after a latency trigger is performed based on the command data from the hard disk, and to perform partitioning processing on the command type corresponding to the command data based on the command data to obtain a partitioning processing result; the step of performing partitioning processing on the command type corresponding to the command data to obtain a partitioning processing result includes: performing partitioning processing on the command type corresponding to the command data based on the command data to determine whether the command type is a computer interface command; if the command type is determined to be a computer interface command, the partitioning processing result is obtained based on the command data and the partitioning processing algorithm; The result triggering module is used to obtain the second delay data after delay triggering based on the partitioning processing result; The data determination module is used to determine the target delay data based on the first delay data and the second delay data; The result determination module is used to determine the latency monitoring optimization result based on the target latency data and latency optimization rules; wherein, the latency optimization rules refer to the rules for optimizing the target latency data.

5. A latency monitoring device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the latency monitoring method as described in any one of claims 1 to 3.

6. A time delay monitoring system, characterized in that, It includes the host and the latency monitoring device as described in claim 5.

7. The delay monitoring system according to claim 6, characterized in that, Also includes: Dynamic random access memory; wherein, The dynamic random access memory is used to send a trigger signal to the latency monitoring device, obtain the command data in the latency monitoring device based on the trigger signal, and store the command data on the hard disk.

8. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the latency monitoring method as described in any one of claims 1 to 3.

9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the latency monitoring method as described in any one of claims 1 to 3.

Citation Information

Patent Citations

  • Host techniques for stacked memory systems

    CN115427925A

  • Storage apparatus and related instruction delay statistical analysis method

    WO2023173983A1