A storage jam prediction method and device

By generating and cacheing exception records in the storage firmware and using these records to predict lags, the problems of system lags and reduced fluency caused by storage lags are solved, and accurate prediction and prevention of storage lags are achieved, and system stability is improved.

CN119741960APending Publication Date: 2025-04-01HONOR DEVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510239175.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-03
Publication Date
2025-04-01

AI Technical Summary

Technical Problem

The storage firmware of existing electronic devices is prone to memory lag during operation, resulting in system lag, reduced fluency and decreased user satisfaction. As read and write operations are frequent, the risk of lag increases, and a technical solution that can accurately predict memory lag is needed.

Method used

By generating exception records during the reading/writing process of the data node and cached in the cache space for storing firmware, after the read/write process is completed, multiple exception records are obtained from the cache space, and these records are used for lag prediction and lag prediction information is generated so as to take measures in advance to reduce the probability of lag.

Benefits of technology

Accurate prediction of memory lags is achieved, measures are taken in advance to reduce the probability of lags, avoid frequent reporting of abnormal records on the read and write performance of storage firmware, and improve the accuracy of memory lag prediction and system stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119741960A_ABST
    Figure CN119741960A_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a storage jam prediction method and device, which are applied to the storage field. The method is applied to electronic devices, and the method includes: when an exception occurs in the reading / writing process of the data corresponding to the data node, a corresponding exception record is generated and cached in the cache space of the storage firmware, and the data corresponding to the data node is stored in the storage firmware; after reading / writing the data corresponding to multiple data nodes, multiple exception records are obtained from the cache space of the storage firmware; jam prediction is performed based on the multiple exception records to obtain jam prediction information. Based on the above technical solution, when an exception occurs in the reading / writing process of the data corresponding to the data node, an exception record is generated, and jam prediction information is determined based on the multiple exception records, so that the occurrence of storage firmware jam can be predicted in advance, so that corresponding measures can be taken in advance, reducing the probability of storage jam.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of storage technology, and in particular to a storage jam prediction method and device. Background Art

[0002] As mobile applications continue to grow and their functions become more powerful, users are increasingly demanding the performance of electronic devices. As a key component for data reading, the performance of mobile phone storage firmware directly affects the user experience.

[0003] The storage firmware of existing electronic devices occasionally experience storage jams during operation. As the final carrier of the vertical flow of read and write, once storage jams occur, it is very likely to cause system jams that can be perceived by users, seriously affecting the smoothness and response speed of the mobile phone and reducing user satisfaction. At present, with the frequent read and write operations further increasing the risk of storage firmware jams, the need for abnormal prediction of storage firmware jams has become more and more urgent.

[0004] Therefore, there is an urgent need for a technical solution that can accurately predict the occurrence of storage firmware storage jams to improve the stability and fluency of the mobile phone system and meet the needs of users. Summary of the invention

[0005] The embodiment of the present application provides a storage jam prediction method and device, which generates a corresponding exception record when an exception occurs in the reading / writing process of data corresponding to a data node, and then performs jam prediction based on multiple exception records to obtain jam prediction information. This allows the electronic device to predict the occurrence of storage firmware jam in advance, so that corresponding measures can be taken in advance, reducing the probability of storage jam.

[0006] In a first aspect, an embodiment of the present application provides a storage jam prediction method, the method comprising: when an exception occurs in the reading / writing process of data corresponding to a data node, generating a corresponding exception record and caching it in a cache space of a storage firmware, wherein the data corresponding to the data node is stored in the storage firmware; after reading / writing data corresponding to multiple data nodes, obtaining multiple exception records from the cache space of the storage firmware; finally, performing jam prediction based on the multiple exception records to obtain jam prediction information.

[0007] Based on the above technical solution, when an exception occurs in the reading / writing process of the data corresponding to the data node, an exception record is generated, and jam prediction information is determined based on the multiple exception records, so that the electronic device can take corresponding measures in advance based on the jam prediction information, reducing the probability of storage jams. At the same time, after the exception record is generated, it is cached in the cache space of the storage firmware. After reading / writing the data corresponding to multiple data nodes, multiple exception records are obtained from the cache space of the storage firmware, avoiding the frequent reporting of exception records and reducing the impact of reporting exception records on the read and write performance of the storage firmware.

[0008] In one possible implementation, after reading / writing data corresponding to multiple data nodes, multiple exception records are obtained from the cache space of the storage firmware, including: after reading / writing data corresponding to all data nodes included in a read / write process, corresponding multiple exception records are obtained from the cache space of the storage firmware.

[0009] In this possible implementation, after reading / writing the data corresponding to all data nodes included in a read / write process, the exception record is obtained, thereby reducing the impact of reporting the exception record on the reading data, thereby reducing the impact of reporting the exception record on the read and write performance of the storage firmware.

[0010] In one possible implementation, the above-mentioned jamming prediction is performed based on multiple abnormal records to obtain jamming prediction information, including: determining the jamming prediction information through a first jamming prediction model based on first storage characteristic information of the storage firmware, the first storage characteristic information including multiple abnormal records, storage firmware information and storage firmware delay information.

[0011] In this possible implementation method, the electronic device determines the jamming prediction information through the jamming prediction model, and specifically provides a method for determining the jamming prediction information, thereby improving the feasibility of jamming prediction; at the same time, the embodiment of the present application avoids the frequent reporting of abnormal records, thereby reducing the impact of reporting abnormal records on the read and write performance of the storage firmware, and reducing the distortion of storage characteristic information (such as storage firmware delay information) caused by the reporting of abnormal records. The electronic device can perform jamming prediction based on the storage characteristic information with lower distortion, thereby improving the accuracy of storage jamming prediction.

[0012] In a possible implementation, before determining the jamming prediction information through the first jamming prediction model based on the first storage characteristic information of the storage firmware, the method further includes: sending the first storage characteristic information to the cloud device; and receiving the first jamming prediction model sent by the cloud device.

[0013] In one possible implementation, the exception record includes a corresponding hash verification code. After obtaining multiple exception records from the cache space of the storage firmware, and before determining the jamming prediction information through the first jamming prediction model based on the first storage feature information of the storage firmware, the above method also includes: checking the corresponding exception record according to the hash verification code; accordingly, determining the jamming prediction information through the first jamming prediction model based on the first storage feature information of the storage firmware, including: when multiple exception records pass the test, determining the jamming prediction information through the first jamming prediction model based on the first storage feature information of the storage firmware.

[0014] In this possible implementation, distorted abnormal records are eliminated through verification, which greatly improves the quality of abnormal records and the accuracy of jamming prediction information.

[0015] In a possible implementation, after determining the jam prediction information based on multiple exception records, the method further includes: adjusting the read and write management strategy for the storage firmware based on the jam prediction information.

[0016] In one possible implementation, the above-mentioned adjustment of the read-write management strategy for the storage firmware based on the jam prediction information includes: determining the jam probability based on the jam prediction information; determining the corresponding read-write management strategy based on the jam probability, the read-write management strategy including basic scheduling, partial application priority, background application restriction, forced foreground application and overall read-write restriction.

[0017] In a possible implementation, the method further includes: sending second storage feature information to a cloud device, the second storage feature information including freeze prediction information; and receiving a second freeze prediction model sent by the cloud device.

[0018] In this possible implementation, the freeze prediction model is updated by acquiring the second freeze prediction model, and the second freeze model trained based on the second stored feature information is obtained, which makes the freeze prediction of the electronic device more accurate and improves the accuracy of the freeze prediction information.

[0019] In a possible implementation, the exception record is stored in the cache space storing the firmware in the form of a data stack.

[0020] In the second aspect, an embodiment of the present application provides a storage jamming prediction method, which is applied to a cloud device, and the method includes: receiving first storage characteristic information sent by an electronic device, the first storage characteristic information including multiple abnormal records, storage firmware information and storage firmware delay information; determining a first jamming prediction model based on the first storage characteristic information; and sending the first jamming prediction model to the electronic device.

[0021] In a possible implementation, determining the jam prediction model based on the first stored feature information includes: performing model training on a general jam prediction model based on the first stored feature information to obtain a first jam prediction model.

[0022] In one possible implementation, the method further includes: receiving second storage characteristic information sent by an electronic device, the second storage characteristic information including freeze prediction information; determining a second freeze prediction model based on the second storage characteristic information and the first freeze prediction model; and sending the second freeze prediction model to the electronic device.

[0023] In one possible implementation, the above-mentioned jamming prediction model is a fusion model of a convolutional neural network model and a long short-term memory network model.

[0024] In a third aspect, an embodiment of the present application provides an electronic device, including: a processor and a memory. The processor is coupled to the memory; the memory is used to store computer instructions, and the computer instructions are loaded and executed by the processor to enable the electronic device to implement any one of the methods provided in the first aspect.

[0025] In a fourth aspect, an embodiment of the present application provides a cloud device, including: a processor and a memory. The processor is coupled to the memory; the memory is used to store computer instructions, and the computer instructions are loaded and executed by the processor to enable the cloud device to implement any one of the methods provided in the second aspect.

[0026] In a fifth aspect, an embodiment of the present application provides a chip, comprising: a processor and an interface circuit; the interface circuit is used to receive code instructions and transmit them to the processor; the processor is used to run the code instructions to execute any one of the methods provided in the first aspect.

[0027] In a sixth aspect, an embodiment of the present application provides a chip, comprising: a processor and an interface circuit; the interface circuit is used to receive code instructions and transmit them to the processor; the processor is used to run the code instructions to execute any one of the methods provided in the second aspect.

[0028] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium, in which at least one computer program instruction is stored. The computer program instruction is loaded and executed by a processor to implement any one of the methods provided in the first aspect above.

[0029] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, in which at least one computer program instruction is stored. The computer program instruction is loaded and executed by a processor to implement any one of the methods provided in the second aspect above.

[0030] In a ninth aspect, an embodiment of the present application provides a computer program product, comprising computer execution instructions, which, when executed on a computer, enable the computer to execute any one of the methods provided in the first aspect.

[0031] In the tenth aspect, an embodiment of the present application provides a computer program product, including computer execution instructions, which, when executed on a computer, enable the computer to execute any one of the methods provided in the second aspect.

[0032] The possible implementation methods of the third to tenth aspects have effects similar to those of the first aspect, the possible design of the first aspect, the second aspect, and the possible design of the second aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Figure 1 This is a schematic diagram of abnormal reporting; Figure 2 A flowchart of a storage jam prediction method provided in an embodiment of the present application; Figure 3 A system architecture diagram of a storage jam prediction method provided in an embodiment of the present application; Figure 4 A schematic diagram of the hardware system structure of an electronic device provided in an embodiment of the present application; Figure 5 A schematic diagram of the software system structure of an electronic device provided in an embodiment of the present application; Figure 6 A schematic diagram of a flow chart of another storage jam prediction method provided in an embodiment of the present application; Figure 7 A schematic diagram of a process for obtaining storage feature information provided in an embodiment of the present application; Figure 8 A schematic diagram of a scenario of a method for storing feature information processing provided in an embodiment of the present application; Fig. 9 A schematic diagram of a convolutional neural network model provided in an embodiment of the present application; Fig.10 A schematic diagram of a long short-term memory network model provided in an embodiment of the present application; Fig.11 A schematic diagram of a fusion model provided in an embodiment of the present application; Fig.12 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application; Fig.13 A schematic diagram of the structure of a cloud device provided in an embodiment of the present application; Fig.14A schematic diagram of the structure of another electronic device provided in an embodiment of the present application; Fig.15 A schematic diagram of the structure of another cloud device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0034] The technical solutions in the embodiments of the present application are described below in conjunction with the accompanying drawings.

[0035] In the description of this application, unless otherwise specified, " / " indicates that the objects associated with each other are in an "or" relationship, for example, A / B can represent A or B; "and / or" in this application is merely a description of the association relationship between associated objects, indicating that three relationships may exist, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural.

[0036] In the description of this application, unless otherwise specified, "plurality" means two or more than two. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0037] In addition, in order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish the same items or similar items with substantially the same functions and effects. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit the difference.

[0038] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.

[0039] It is understood that the "embodiment" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, the various embodiments in the entire specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It is understood that in various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.

[0040] It can be understood that some optional features in the embodiments of the present application may be implemented independently in certain scenarios without relying on other features, such as the solution on which they are currently based, to solve corresponding technical problems and achieve corresponding effects, or may be combined with other features according to needs in certain scenarios. Accordingly, the devices provided in the embodiments of the present application may also realize these features or functions accordingly, which will not be elaborated here.

[0041] In this application, unless otherwise specified, the same or similar parts between the various embodiments can refer to each other. In this application, if there is no special description or logical conflict between the various embodiments, the terms and / or descriptions between different embodiments are consistent and can be referenced to each other, and different embodiments can be combined to form new embodiments according to their inherent logical relationships. The following implementation methods of this application do not constitute a limitation on the scope of protection of this application.

[0042] As mobile applications continue to grow and their functions become more powerful, users are increasingly demanding the performance of electronic devices. As a key component for data reading, the performance of mobile phone storage firmware directly affects the user experience.

[0043] The storage firmware of existing electronic devices occasionally experience storage jams during operation. As the final carrier of the vertical flow of read and write, once storage jams occur, it is very likely to cause system jams that can be perceived by users, seriously affecting the smoothness and response speed of the mobile phone and reducing user satisfaction. At present, with the frequent read and write operations further increasing the risk of storage firmware jams, the need for abnormal prediction of storage firmware jams has become more and more urgent.

[0044] Therefore, there is an urgent need for a technical solution that can accurately predict the occurrence of storage firmware storage jams to improve the stability and fluency of the mobile phone system and meet the needs of users.

[0045] In one possible data reporting scheme, multiple process nodes are set up in the storage firmware of the device to execute the read / write process. When a read / write exception occurs, abnormal data is reported at the nearest process node. Then, the possibility of storage jam is judged based on the reported abnormal data, and corresponding measures are taken.

[0046] For example Figure 1 As shown, in the hardware of the storage firmware universal flash storage (UFS), multiple nodes are set in the read / write process, including node 1, node 2 to node n. When an exception occurs during the read / write process, the exception record is reported at the process node. Figure 2 After an excess record T1 is generated at node 1, the excess record T1 can be reported to the UFS control software by reporting abnormal interrupt 1; after an excess record T2 is generated at node 2, the excess record T2 can be reported to the UFS control software by reporting abnormal interrupt 2; and so on, after an excess record Tn is generated at node n, the excess record Tn can be reported to the UFS control software by reporting abnormal interrupt n.

[0047] During this data reporting process, abnormal records will be reported at multiple process nodes. Frequent reporting leads to reduced read and write performance of the storage firmware and reduces the accuracy of storage jam prediction.

[0048] Based on this, Figure 2 As shown, an embodiment of the present application provides a storage jamming prediction method, the method comprising: when an exception occurs in the reading / writing process of data corresponding to the data node, a corresponding exception record is generated and cached in the cache space of the storage firmware, and the data corresponding to the data node is stored in the storage firmware; after reading / writing the data corresponding to multiple data nodes, multiple exception records are obtained from the cache space of the storage firmware; jamming prediction is performed based on the multiple exception records to obtain jamming prediction information.

[0049] Based on the above technical solution, when an exception occurs in the reading / writing process of the data corresponding to the data node, an exception record is generated, and jam prediction information is determined based on the multiple exception records, so that the electronic device can take corresponding measures in advance based on the jam prediction information, reducing the probability of storage jams. At the same time, after the exception record is generated, it is cached in the cache space of the storage firmware. After reading / writing the data corresponding to multiple data nodes, multiple exception records are obtained from the cache space of the storage firmware, avoiding frequent reporting of exception records and reducing the impact of reporting exception records on the read and write performance of the storage firmware. Figure 3As shown, the storage jam prediction method in the embodiment of the present application can be used in the following storage jam prediction system 300, wherein the storage jam prediction system 300 may include an electronic device 100 and a cloud device 200.

[0050] The electronic device 100 may include a storage feature information collection module 101, a storage IO jam prediction module 102, and a storage IO scheduling module 103. Among them: The storage feature information collection module 101 can be used to obtain storage feature information, which may include basic device information (i.e., storage firmware information), internal and external IO jam records of device storage (i.e., multiple exception records), and device storage feature set (i.e., storage firmware latency information). In a possible implementation, the storage feature information collection module can also be used to obtain storage IO jam prediction history (i.e., jam prediction information).

[0051] The storage IO jam prediction module 102 can be used to predict jams based on the acquired storage feature information, wherein the storage IO jam prediction module can include a local storage IO jam prediction model, which can be used to predict jams based on the storage feature information. In a possible implementation, the storage IO jam prediction module also includes a storage IO jam prediction model parameter update unit, which is used to update the relevant parameters of the above-mentioned local storage IO jam prediction model after receiving the updated jam prediction model sent by the cloud device.

[0052] The storage IO scheduling module 103 can be used to adjust the read and write management strategy of the storage firmware according to the jam prediction information (i.e., the prediction result). Specifically, the storage IO scheduling module can include a system kernel scheduling center, a scheduling model, and an IO management unit. After the system kernel scheduling center obtains the jam prediction information from the storage IO jam prediction module, it can perform IO management through the scheduling model according to the jam prediction information and adjust the read and write management strategy of the storage firmware.

[0053] The cloud device 200 may include a storage feature information acquisition module 201, a storage IO jam prediction module generation module 202, and a storage IO jam prediction model delivery control module 203, wherein: The storage feature information acquisition module 201 is used to receive storage feature information from an electronic device, and can generate a corresponding full device feature set from the received storage feature information. In a possible implementation, the storage feature information also includes a storage IO jam prediction history (i.e., jam prediction information), and the storage feature information acquisition module can generate a single prediction history and feature set based on the storage IO jam prediction history.

[0054] The storage IO jam prediction module generation module 202 is used to determine the storage IO jam prediction model according to the acquired storage feature information. Specifically, after obtaining the storage feature information, the storage IO jam prediction module generation module obtains the storage IO jam prediction model by training the general storage IO jam prediction model. In one possible implementation, the storage feature information also includes the storage IO jam prediction history (i.e., jam prediction information), and the storage IO jam prediction model is obtained by training according to the general storage IO jam prediction model, and then corresponding training is performed according to the storage IO jam prediction history to obtain an updated storage IO jam prediction model.

[0055] The storage IO jam prediction model sending control module 203 is used to send the storage IO jam prediction model to the electronic device that needs to perform jam prediction.

[0056] It can be understood that the storage jam prediction system in the embodiment of the present application may include multiple electronic devices that need to perform jam prediction. The storage jam prediction system in the embodiment of the present application may include one cloud device or multiple cloud devices, which is not limited here.

[0057] The method provided in the embodiment of the present application can be applied to an electronic device, which can be a terminal device or a user device. The user equipment (UE) in the embodiment of the present application can also be referred to as a terminal device, a terminal, a mobile station (MS), a mobile terminal (MT), etc. The terminal can be a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a wearable device, a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, or a wireless terminal in smart home, etc. The embodiment of the present application does not limit the specific technology and specific device form adopted by the terminal.

[0058] The technical solution provided in the embodiments of the present application can be applied to various communication systems, such as: long term evolution (LTE) system, LTE frequency division duplex (FDD) system, LTE time division duplex (TDD), universal mobile telecommunication system (UMTS), worldwide interoperability for microwave access (WiMAX) communication system, fifth generation (5G) mobile communication system, new radio (NR), etc. The 5G mobile communication system in the embodiments of the present application includes a non-standalone (NSA) 5G mobile communication system or a standalone (SA) 5G mobile communication system.

[0059] The technical solution provided in the embodiments of the present application can also be applied to future communication systems, such as the sixth-generation mobile communication system, etc., and the embodiments of the present application are not limited to this.

[0060] In order to better understand the embodiments of the present application, the structure of the terminal device of the embodiments of the present application is introduced below.

[0061] Figure 4 The structure diagram of the terminal device 100 is shown. The terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a multi-spectral sensor 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195.

[0062] It is understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0063] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0064] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.

[0065] A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the processor 110 may obtain a plurality of abnormal records, and perform jam prediction based on the records to obtain jam prediction information.

[0066] The charging management module 140 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 may receive charging input from a wired charger through the USB interface 130. In some wireless charging embodiments, the charging management module 140 may receive wireless charging input through a wireless charging coil of the terminal device 100. While the charging management module 140 is charging the battery 142, it may also power the terminal device through the power management module 141.

[0067] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and supplies power to the processor 110, the internal memory 121, the display screen 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0068] The wireless communication function of the terminal device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0069] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the terminal device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc.

[0070] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the terminal device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and filters it, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0071] In some embodiments, antenna 1 of terminal device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, so that terminal device 100 can communicate with the network and other devices through wireless communication technology.

[0072] The terminal device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change display information.

[0073] The display screen 194 is used to display images, display videos, and receive sliding operations, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light emitting diode or an active-matrix organic light emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light emitting diode (QLED), etc. In some embodiments, the terminal device 100 may include one or more display screens 194.

[0074] The terminal device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.

[0075] The ISP is used to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, and the light is transmitted to the image sensor of the camera through the lens. The light signal is converted into an electrical signal, and the image sensor of the camera transmits the electrical signal to the ISP for processing and converts it into an image visible to the naked eye. The ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. The ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, the ISP can be set in the camera 193.

[0076] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the image sensor. The image sensor can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The image sensor converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the terminal device 100 may include one or more cameras 193.

[0077] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music and videos are stored in the external memory card.

[0078] The internal memory 121 can be used to store computer executable program codes, and the executable program codes include instructions. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the terminal device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the terminal device 100 by running instructions stored in the internal memory 121 and / or instructions stored in a memory provided in the processor.

[0079] In an embodiment of the present application, the internal memory 121 can be used to execute a read / write process to enable the electronic device to read and write data in the internal memory 121. When an exception occurs during the execution of the read / write process, an exception record is generated and stored in the cache space of the internal memory 121. After the read / write process is completed, the exception record corresponding to the read / write process in the cache space can be output to the processor.

[0080] The terminal device 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0081] In some embodiments, the multi-spectral sensor 180 may be used to collect first reflection spectrum data and first light source spectrum data corresponding to multiple light sources.

[0082] The key 190 includes a power key, a volume key, etc. The key 190 may be a mechanical key or a touch key. The terminal device 100 may receive key input and generate key signal input related to user settings and function control of the terminal device 100.

[0083] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. Indicator 192 can be an indicator light, which can be used to indicate charging status, power changes, messages, missed calls, notifications, etc.

[0084] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to or disconnected from the terminal device 100 by inserting the SIM card interface 195 or removing the SIM card from the SIM card interface 195 .

[0085] The software system of the terminal device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture, etc. The embodiment of the present application takes the Android system of the layered architecture as an example to exemplify the software structure of the terminal device 100.

[0086] Figure 5 1 is a software structure diagram of the terminal device 100 of the embodiment of the present application. The layered architecture divides the software into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into five layers, from top to bottom, namely, the application layer, the application framework layer, the Android runtime (Androidruntime) and the system library, the hardware abstraction layer, and the kernel layer.

[0087] The application layer can include a series of application packages. Figure 5 As shown, the application package may include applications such as camera, settings, and calendar.

[0088] The camera application is an application with the functions of photographing and recording, and the terminal device can respond to the user's operation of opening the camera application to take photos or record videos. It is understandable that the camera application's photo taking and video recording functions can also be called by other applications.

[0089] The application framework layer provides an application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions.

[0090] Among them, Figure 5 As shown, the application framework layer may also include a camera service, which may be called by a camera application to implement functions such as taking photos or recording videos.

[0091] In addition, if Figure 5 As shown, the application framework layer may also include a window manager, a content provider, a resource manager, a view system, and the like.

[0092] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.

[0093] Content providers are used to store and retrieve data and make it accessible to applications. This data can include video, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.

[0094] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0095] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.

[0096] Android runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.

[0097] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.

[0098] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.

[0099] The system library can include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.

[0100] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.

[0101] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG2, H.262, MP3, AAC, AMR, JPG, PNG, etc.

[0102] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis and layer processing, etc. The 2D graphics engine is a drawing engine for 2D drawing.

[0103] The hardware abstraction layer is an abstract structure between the kernel layer and the Android runtime. The hardware abstraction layer can be a package of the hardware driver of the kernel layer, providing a calling interface for the application framework layer.

[0104] In the embodiment of the present application, the hardware abstraction layer may include a camera hardware abstraction module (camera hardware abstraction layer, camera HAL).

[0105] The kernel layer is a layer between hardware and software. The kernel layer includes at least a camera driver, a sensor driver, and a display driver. In some embodiments, the camera driver is used to control the operation of the camera, the sensor driver is used to control the operation of the multispectral sensor, and the display driver is used to control the display screen to display images.

[0106] The hardware can be cameras, multispectral sensors, and display screens, etc.

[0107] It should be noted that although the embodiment of the present application is described using the Android system, the principle of the storage jam prediction method is also applicable to terminal devices with operating systems such as iOS or Windows.

[0108] It is understandable that in the embodiments of the present application, the execution subject may execute some or all of the steps in the embodiments of the present application, and these steps or operations are only examples. The embodiments of the present application may also execute other operations or variations of various operations. In addition, the various steps may be executed in different orders presented in the embodiments of the present application, and it is possible that not all operations in the embodiments of the present application need to be executed.

[0109] It should be noted that the message names between the devices or the names of the parameters in the messages in the following embodiments of the present application are only examples, and other names may be used in the specific implementation, and the embodiments of the present application do not specifically limit this.

[0110] Combine the following Figures 6 to 11 The technical solution of the present application is described in detail with specific method embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0111] For example, Figure 6 A flowchart of a storage jam prediction method provided in an embodiment of the present application. Figure 6 As shown, the storage jam prediction method may specifically include the following steps: 601. An electronic device generates an abnormal record.

[0112] When working, the electronic device needs to read / write the data stored in the storage firmware, and the data in the storage firmware can be read / written by establishing a read / write process. The established read / write process includes multiple data nodes, each data node has corresponding data, and when an abnormality occurs in the read / write process of the data corresponding to the read / write node, a corresponding abnormal record can be generated.

[0113] Specifically, in the embodiment of the present application, a read / write process is composed of a series of operation steps, and the data node (also referred to as a process node, a data operation node or a storage node) is the key execution point in these steps. There can be multiple data nodes in a read / write process, and each data node has corresponding data. When the electronic device reads / writes the data corresponding to a data node, if a read / write exception occurs, an exception record can be generated. For example, in a database operation process, when reading data, the specific operation point of obtaining data from the database is a read node; the operation point of inserting or updating data into the database is a write node. These data nodes are combined in a certain order and logic to form a complete read / write process.

[0114] Therefore, when an exception occurs in the read / write process, the storage firmware of the electronic device can generate a corresponding exception record at the data node to describe the abnormal event that occurred.

[0115] In an embodiment of the present application, when an exception occurs in the read / write process of the storage firmware of the electronic device, a corresponding exception record can be generated and stored in the cache space of the storage firmware.

[0116] In one possible implementation, the electronic device can modify the data logic storing the internal firmware (FW), modify the preservation logic to a single-process data preservation logic, and store the exception records at multiple data nodes in a read / write process together, that is, store the corresponding exception records according to the read / write process.

[0117] In the embodiment of the present application, the electronic device can use the stack data structure to stack the exception records (such as delay and queue information) between different nodes in sequence. When the I / O is completed, that is, when the read / write process is completed, the completion flag CompleteFlag will be output. When CompleteFlag=1, the data will be uniformly popped out of the stack, and the processor of the electronic device can obtain the exception records in the data stack from the cache space where the firmware is stored.

[0118] In the embodiment of the present application, compared with the array storage method, stack storage can reduce the frequency of data transmission and reading and writing, and then through single-process data storage, the number of data storage times of a single I / O in the UFS is reduced from multiple times to once. The storage rate is improved, the space occupied is reduced, and the probability of data anomalies is reduced.

[0119] In a possible implementation, when generating an exception record, the electronic device will also generate a corresponding hash verification code according to the exception record, and the exception record may include the corresponding hash verification code.

[0120] For example, after obtaining the abnormal records of each process node, the electronic device can perform MD5 hash verification based on the byte string of the characteristic data value of each node, generate a 16-byte hash code, and append it to the original byte string.

[0121] 602. The electronic device obtains multiple abnormal records.

[0122] After reading / writing data corresponding to a plurality of data nodes, a plurality of exception records are obtained from a cache space of the storage firmware.

[0123] In a possible implementation, after the read / write process of the storage firmware is completed, the electronic device obtains multiple exception records of the read / write process from the cache space of the storage firmware. It can be understood that in the embodiment of the present application, in the read / write process, multiple exception records may be generated at multiple data nodes, but only after the complete read / write process is completed, the processor of the electronic device will obtain the multiple exception records from the cache space of the storage firmware, thereby realizing the data preservation logic of a single process.

[0124] In a possible implementation, the abnormal record may include a corresponding hash verification code. After the electronic device obtains the at least one abnormal record, the electronic device may verify the abnormal record according to the hash verification code corresponding to each abnormal record. The verified abnormal record may be used for storage jam prediction.

[0125] Specifically, after obtaining the abnormal records of each process node, the electronic device can perform MD5 hash verification based on the byte string of the characteristic data value of each node, generate a 16-byte hash code, and append it to the original byte string. In this case, the electronic device can read the offset data corresponding to the result field, and verify the hash code of each node in the process as a whole; discard the single process data with abnormal hash code number and overall length; for the single process data that passes the verification, use the hash codes of 16 nodes to splice into an overall hash code of 256 bytes and perform MD5 conversion again, and the conversion result is used as the unique label value.

[0126] In the embodiment of the present application, through these two steps of verification, abnormal fields with missing data are preliminarily screened out, and abnormal data with data distortion such as truncation and missing in the cache area can be eliminated through subsequent verification of the hash code, thereby greatly improving the data quality.

[0127] In the embodiment of the present application, for the verification of abnormal records, the user can choose to turn on or off the verification check for abnormal records according to the specific application scenario.

[0128] In the present application embodiment, Figure 7 As shown, when the electronic device obtains the storage characteristic information (such as the above-mentioned at least one abnormal record or internal delay information) in the storage firmware, it can be implemented specifically through the following steps: 1. Front-end vendor cmd process: S1.1 Host sends command UPIU to HC.

[0129] The host first sends the unified protocol interface unit (UPIU) containing the command to the host controller (HC). This is the starting step of the entire process, when the host initiates an operation request to the device.

[0130] S1.2. VendorCmd Get Request.

[0131] The vendor command module VendorCmd receives the request from the host controller. This module is responsible for processing commands related to vendor-specific functions.

[0132] S1.3. Upon request to BufferHandler, initiate a request to BufferHandler.

[0133] VendorCmd forwards the request to BufferHandler based on the obtained request content and initiates the corresponding request to BufferHandler. BufferHandler is mainly responsible for the management and operation of the data buffer, such as temporary storage, reading and writing of data.

[0134] S1.4. BufferHandler returns the request result to VendorCmd.

[0135] After processing the request of VendorCmd, BufferHandler will return the processing result to VendorCmd. This result may include information such as the data read from the buffer and the status of writing to the buffer.

[0136] S1.5. VendorCmd returns a response to HC.

[0137] After receiving the return result from BufferHandler, VendorCmd generates a corresponding response based on the result and returns it to the host controller HC. This response is a feedback to the command originally sent by the host.

[0138] S1.6. HC returns resp UPIU to Host.

[0139] Finally, the host controller HC sends the response resp UPIU (response unified protocol interface unit) back to the host Host, completing the entire front-end vendor cmd process. By receiving this response, the host can know whether the previously sent command is executed successfully and related result information.

[0140] 2. Mid-end management and caching process: S2.1. Host R / W checks the feature flag switch to determine whether to enable CP.

[0141] When the host performs a read / write (R / W) operation, it will first check a specific feature flag switch. This flag switch is used to control whether the CP is enabled (it may be a cache or processing mechanism). If the flag switch is turned on, it means that the CP is allowed to be enabled; if it is turned off, it is not enabled. This step is the starting judgment condition of the entire process, and the subsequent operations are determined according to the status of the flag switch.

[0142] S2.2. Host R / W When the CP information is recorded, it is saved in the CP Buffer.

[0143] When the host's read and write operations are completed and the CP-related information is recorded, the information will be saved in the CP Buffer. The CP Buffer here may be used to temporarily store CP-related data for subsequent processing or use. For example, in some storage systems or data processing systems, cache can improve the read and write efficiency and processing speed of data. By temporarily storing frequently accessed data in the buffer, the number of direct accesses to the underlying storage or other resources is reduced, thereby improving overall performance.

[0144] 3. Back-end disk placement and disk reading process: S3.1. Buffer initiates a Flush or Read request.

[0145] The process starts with the Buffer, which initiates two types of requests: one is the Flush request, which writes the data in the buffer to a persistent storage medium such as a disk; the other is the Read request, which reads data from a storage medium such as a disk to the buffer. This step is the trigger point for the entire backend data operation, and the Buffer initiates corresponding operation requests as needed.

[0146] S3.2. Log R / W module calls FCL to complete the request.

[0147] When Buffer initiates a request, the Log R / W (log read / write) module intervenes and calls FCL (which may be a functional component or library responsible for specific data operations) to complete the request initiated by Buffer. The Log R / W module here may play the role of recording operation logs and coordinating data reading and writing, and actually performs the specific operations of writing to or reading from the disk by calling FCL.

[0148] S3.3. FCL returns the result to Log R / W.

[0149] After completing the Buffer request, FCL will return the operation result to the Log R / W module. This result may include information such as whether the operation is successful, the amount of data read or written, whether there is an error, etc., so that the Log R / W module can understand the status of this data operation.

[0150] S3.4. Log R / W returns the result to Buffer.

[0151] After receiving the result returned by FCL, the Log R / W module will return the final result to Buffer. Based on this result, Buffer can know the execution status of the previously initiated disk write or disk read request, such as whether it is necessary to re-initiate the request, whether other operations can be continued, etc.

[0152] In the embodiment of the present application, when the electronic device obtains at least one abnormal record, it can also obtain other storage characteristic information, such as storage firmware information and storage firmware delay information. For example, the electronic device can obtain the following internal delay information of the storage firmware, as shown in Table 1 below:

[0153] Table 1 In the embodiment of the present application, the storage firmware is disassembled into a white box to obtain storage feature data that is invisible to the outside world. More storage feature data can be obtained, thereby improving the feasibility and accuracy of storage jam prediction.

[0154] In an embodiment of the present application, after reading / writing data corresponding to multiple data nodes, multiple exception records are obtained from the cache space of the storage firmware, thereby avoiding frequent reporting of exception records, thereby reducing the impact of reporting exception records on the read and write performance of the storage firmware, and reducing the distortion of storage characteristic information (such as storage firmware delay information) caused by the reporting of exception records. The electronic device can predict jams based on storage characteristic information with lower distortion, thereby improving the accuracy of storage jam prediction.

[0155] In a possible implementation, the electronic device does not have a jam prediction model for jam prediction, and needs to obtain a jam prediction model from a cloud device. In this case, the embodiment of the present application further includes the following steps: 603. The electronic device sends the first storage characteristic information to the cloud device.

[0156] The electronic device sends first storage characteristic information to the cloud device. The first storage characteristic information may include multiple abnormal records of the electronic device, storage firmware information and storage firmware delay information. The multiple abnormal records correspond to the read / write process of the storage firmware of the electronic device.

[0157] Correspondingly, the cloud device receives the first storage characteristic information sent by the electronic device.

[0158] 604. The cloud device determines a first jamming prediction model based on the first storage characteristic information.

[0159] After receiving the first storage feature information, the cloud device can train a first freeze prediction model based on the first storage feature information.

[0160] Specifically, the cloud device is pre-set with a universal jam prediction model. After receiving the first storage feature information, the cloud device can perform model training on the universal jam prediction model according to the first storage feature information, thereby obtaining a first jam prediction model.

[0161] The jam prediction model in the embodiments of the present application may be a convolutional neural network model, a long short-term memory network model, or a fusion model of a convolutional neural network model and a long short-term memory network model.

[0162] In an embodiment of the present application, when performing model training, the acquired storage feature data can be divided into two categories. One category is the storage feature data that can be used by the general prediction model, including multiple abnormal records of the electronic device, storage firmware information, and storage firmware delay information; the other category is feature data unique to a single electronic device, such as freeze prediction information, basic device information, device storage I / O management driver parameters and other information.

[0163] The cloud device can build a model for each device parameter type, analyze each parameter type, and build a corresponding training data set. Figure 8 As shown, the cloud device can process the feature data by One-Hot encoding, normalization, etc., so as to realize the preprocessing of the feature data. Among them, for enumerated variables (such as storage type, product code, storage device model, etc.), the cloud device can perform One-Hot encoding processing; for numerical feature variables (such as total IO latency, table lookup to submission time, etc.), the cloud device can perform normalization processing.

[0164] In the embodiment of the present application, the jam prediction model needs to have the characteristics of high accuracy, high computing speed and low occupancy, and make full use of the time series information of the feature data to improve the accuracy of the prediction. In the embodiment of the present application, any model that can predict the setting parameter values ​​under different features and can realize regression prediction can be used as a jam prediction model, and the specific details are not limited here.

[0165] The convolutional neural network (CNN) model is a deep learning model that can be widely used in image processing, video analysis, natural language processing and other fields. By simulating the working mode of the human visual system, CNN can effectively extract the correlation between features, thereby achieving efficient classification and recognition tasks. Fig. 9 As shown in the figure, the feature value input is represented as X1, X2, …, Xn, where n is the total number of features. These feature values ​​are key indicators extracted from the feature data set, covering various information related to the prediction task. The number of hidden layers can be one or more.

[0166] In an embodiment of the present application, the convolutional neural network model can adopt a three-hidden layer structure, which can capture deep representation patterns and internal relationships as much as possible based on the actual data volume dimension, thereby improving the accuracy and reliability of the prediction.

[0167] Long short-term memory (LSTM) is a special type of recurrent neural network (RNN) that can solve the gradient vanishing and gradient exploding problems faced by traditional RNN when processing long sequence data. LSTM introduces a gating mechanism that enables the network to effectively memorize and forget information, thus performing well in modeling time series data. Fig.10 As shown, multiple layers of memory neurons can form a long short-term memory network. The number of layers of the long short-term memory network cannot be too deep, otherwise it will greatly increase the difficulty of training. The number of network layers in the embodiment of the present application is 3.

[0168] In one possible implementation, the jam prediction model in the embodiment of the present application can be a fusion model of a convolutional neural network model and a long short-term memory network model. It can be understood that the convolutional neural network model is good at extracting correlation features between features, and the convolutional neural network model is good at extracting correlation information between time series. By combining CNN and LSTM in multiple layers, feature correlation extraction and time series correlation extraction can be achieved simultaneously. In the embodiment of the present application, a strategy of first extracting correlations between features and then performing time series correlation processing can be adopted.

[0169] Specifically, Fig.11 As shown, the jam prediction model in the embodiment of the present application adopts a connection between a 3-layer CNN structure and a 3-layer LSTM structure. The multi-layer CNN is first responsible for extracting the correlation between features and performing dimensionality reduction processing, and then the processed features are input into the multi-layer LSTM for processing of time series information.

[0170] In the embodiment of the present application, when training the model, commercial storage firmware can be used to perform I / O read and write tests, and the I / O feature information of the steps corresponding to the internal I / O timeout is recorded as part of the negative sample set. Then, the error back propagation method using the neural network is used for training to generate the connection weights W in the network: W = (w ij ) The cloud device then inputs the feature data X = (x1, x2, …, xn), calculates it layer by layer along the neural network with the weight Wij, and finally calculates the predicted value y.

[0171] In an embodiment of the present application, when performing model training, the model training can be determined to be completed after the preset conditions are met. For example, after multiple gradient backpropagation and parameter optimization, the training can be stopped when the loss function changes by less than 1% in 50 training epochs.

[0172] It can be understood that in the embodiment of the present application, the jamming prediction model uses a 3-layer CNN structure connected with a 3-layer LSTM structure. In addition, the CNN structure can be other numbers of layers, and the LSTM structure can be other numbers of layers, which are not specifically limited here.

[0173] In an embodiment of the present application, a fusion model of a convolutional neural network model and a long short-term memory network model is used as a jamming prediction model, which can not only effectively capture the complex relationship between features, but also improve the training and reasoning speed of the network by reducing dimensions, thereby improving the efficiency and performance of the overall model.

[0174] 605. The cloud device sends the first jam prediction model to the electronic device.

[0175] After receiving the first stored characteristic information, the cloud device can train a jam prediction model according to the first stored characteristic information to obtain a first jam prediction model, and then the cloud device sends the first jam prediction model to the electronic device.

[0176] Correspondingly, the electronic device receives the first freeze prediction model sent by the cloud device.

[0177] 606. The electronic device determines jamming prediction information.

[0178] After acquiring the first storage characteristic information of the storage firmware, the electronic device can determine the jam prediction information according to the first storage characteristic information, where the first storage characteristic information includes multiple abnormal records, storage firmware information, and storage firmware delay information. The jam prediction information indicates the prediction information of the storage firmware reading and writing jams within a specified time period, and the jam prediction information may include information such as the specified time period, jam type, and jam probability value.

[0179] Specifically, after acquiring the first storage characteristic information of the storage firmware, the electronic device can determine the jam prediction information according to the first storage characteristic information through the first jam prediction model.

[0180] 607. The electronic device adjusts the read-write management strategy according to the jam prediction information.

[0181] After determining the stuck segment prediction information, the electronic device can determine the read and write management strategy for the storage firmware of the electronic device according to the stuck segment prediction information.

[0182] Specifically, the electronic device can determine the predicted probability of storage jamming according to the jamming prediction information, and then determine the corresponding read-write management strategy according to the probability of storage jamming. In a possible implementation, the read / write management strategy may include basic scheduling, some application priority, background application restriction, forced foreground application and overall read / write restriction, and each read / write management strategy includes a corresponding jamming probability. The details are as follows: When the jam probability X is less than 60%, the corresponding read / write management strategy is: basic scheduling. Basic scheduling uses the default I / O scheduling algorithm of the operating system.

[0183] When the jam probability X is greater than or equal to 60% and less than 80%, the corresponding read / write management strategy is: some applications are prioritized, and some applications are prioritized to schedule I / O requests according to the priority of the application, ensuring that foreground applications and important applications (such as video playback, games, etc.) have priority in obtaining I / O resources.

[0184] When the jam probability X is greater than or equal to 80% and less than 95%, the corresponding read / write management strategy is: background application restriction, which is to limit the overall I / O request frequency of background applications to ensure that foreground applications obtain sufficient I / O resources. Limit the fragmentation space defragmentation process within the storage.

[0185] When the jam probability X is greater than or equal to 95% and less than or equal to 99%, the corresponding read / write management strategy is: force foreground applications, force foreground applications to prioritize I / O requests for foreground applications, and suspend I / O requests for background applications in extreme cases. Suspend the defragmentation process of the storage internal fragment space.

[0186] When the jam probability is 100%, the corresponding read / write management strategy is: overall I / O restriction, which limits the I / O requests of foreground applications, thereby giving priority to ensuring that the system as a whole is not jammed. The storage internal space optimization and feature data collection process are suspended.

[0187] After determining the read-write management strategy for the storage firmware, the electronic device can execute the read-write management strategy for the storage firmware, thereby reducing the possibility of storage jams.

[0188] In a possible implementation, the jam prediction model of the electronic device may also be updated, and the method further includes: 608. The cloud device receives the second storage characteristic information sent by the electronic device.

[0189] The electronic device sends second storage feature information to the cloud device, where the second storage feature information includes freeze prediction information, and the freeze prediction information is a prediction result obtained by the electronic device based on the first freeze prediction model.

[0190] Correspondingly, the cloud device receives the second storage characteristic information sent by the electronic device.

[0191] Specifically, the remote device can obtain the newly added jamming prediction information by periodically polling or monitoring the changes of "user manually adjusting data record cache data".

[0192] 609. The cloud device determines a second jam prediction model.

[0193] The cloud device determines a second jam prediction model based on the second storage feature information and the first jam prediction model.

[0194] In a possible implementation, the cloud device may perform model training on the first stuck segment prediction model according to the stuck prediction information in the second stored feature information, thereby obtaining a second stuck prediction model.

[0195] In another possible implementation, the cloud device may train the general jam prediction model based on multiple abnormal records of the electronic device in the second storage feature information, storage firmware information, and storage firmware delay information to obtain a third jam prediction model. The cloud device may then train the third jam prediction model again based on the jam prediction information in the second storage feature information to obtain a second jam prediction model.

[0196] Specifically, after obtaining the newly added jamming prediction information, the cloud device can process the jamming prediction information by normalization processing, One-Hot encoding, etc. in the above steps, so as to obtain the corresponding feature variables and target variables.

[0197] The cloud device can then assign corresponding weights to the data corresponding to the second storage feature information, for example, assign a weight k to the data corresponding to the jamming prediction information in the second storage feature information, and then train the jamming prediction model based on the data corresponding to the second storage feature information and the corresponding data weight.

[0198] In an embodiment of the present application, the data weight corresponding to the second stored feature information may be greater than the weight of the first stuck segment prediction model training data. For example, the weight corresponding to the stuck prediction information of the second stored feature information is greater than the weight of the training data of the cloud device.

[0199] In the embodiment of the present application, the model training method adopted by the cloud device when determining the second freeze prediction model is the same as the model training method in the above steps, which will not be repeated here.

[0200] 610. The cloud device sends a second freeze prediction model to the electronic device.

[0201] After generating the second jam prediction model, the cloud device sends the second jam prediction model to the electronic device.

[0202] Correspondingly, the electronic device receives a second freeze prediction model from the cloud device.

[0203] Combined with the above Figures 6 to 11 , the storage jam prediction method provided in the embodiment of the present application is explained, and the electronic device and cloud device that execute the above-mentioned storage jam prediction method provided in the embodiment of the present application are described below.

[0204] like Fig.12 As shown, Fig.12 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Fig.12 As shown, the electronic device 1200 may include: The generating module 1201 is used to generate a corresponding abnormal record when an abnormality occurs in the data process reading / writing process corresponding to the data node, and cache it in the cache space of the storage firmware; The acquisition module 1202 is used to acquire a plurality of the abnormal records from the cache space of the storage firmware after the reading / writing process of the data corresponding to the plurality of data nodes; Specifically, the acquisition module 1202 is used to acquire the corresponding multiple exception records from the cache space of the storage firmware after the read / write process of the data corresponding to all data nodes included in a read / write process.

[0205] The verification module 1203 is used to verify the corresponding abnormal record according to the hash verification code.

[0206] The sending module 1204 is used to send the first storage characteristic information to the cloud device; In a possible implementation, the sending module 1204 is further configured to send the second storage characteristic information to the cloud device.

[0207] The receiving module 1205 is used to receive the first freeze prediction model sent by the cloud device.

[0208] In a possible implementation, the receiving module 1205 is also used to receive a second freeze prediction model sent by a cloud device.

[0209] The prediction module 1206 is used to perform freeze prediction based on the multiple abnormal records to obtain freeze prediction information.

[0210] In one possible implementation, the prediction module 1206 is specifically used to determine the jamming prediction information through a first jamming prediction model based on first storage characteristic information of the storage firmware, where the first storage characteristic information includes multiple exception records, storage firmware information, and storage firmware delay information.

[0211] The adjustment module 1207 is used to adjust the read and write management strategy of the storage firmware according to the jam prediction information.

[0212] In one possible implementation, the adjustment module 1207 is specifically used to: determine the jamming probability based on the jamming prediction information; determine the corresponding read-write management strategy based on the jamming probability, the read-write management strategy including basic scheduling, partial application priority, background application restriction, forced foreground application and overall read-write restriction.

[0213] like Fig.13 As shown, Fig.13 A schematic diagram of the structure of a cloud device provided in an embodiment of the present application. Fig.13 As shown, the cloud device 1300 may include: The receiving module 1301 is used to receive first storage characteristic information sent by the electronic device, where the first storage characteristic information includes multiple abnormal records, storage firmware information, and storage firmware delay information; In a possible implementation, the receiving module 1301 is further configured to receive second storage characteristic information sent by the electronic device, where the second storage characteristic information includes freeze prediction information; A determination module 1302, configured to determine a first freeze prediction model according to the first stored characteristic information; In a possible implementation, the determination module 1302 is further used to perform model training on a general jam prediction model according to the first stored feature information to obtain a first jam prediction model.

[0214] In a possible implementation, the determination module 1302 is further configured to determine a second jam prediction model according to the second stored feature information and the first jam prediction model; The sending module 1303 is used to send the first freeze prediction model to the electronic device.

[0215] In a possible implementation, the sending module 1303 is further used to send a second freeze prediction model to the electronic device.

[0216] Fig.14 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Fig.14 As shown, the electronic device 1400 includes one or more (including two) processors 1401 , a communication line 1402 and a communication interface 1403 . Optionally, the electronic device 1400 also includes a memory 1404 .

[0217] In some implementations, the memory 1404 stores the following elements: executable modules or data structures, or a subset thereof, or an extended set thereof.

[0218] The method described in the above embodiment of the present application can be applied to the processor 1401, or implemented by the processor 1401. The processor 1401 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 1401 or an instruction in the form of software. The above processor 1401 can be a general processor (for example, a microprocessor or a conventional processor), a digital signal processor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates, transistor logic devices or discrete hardware components. The processor 1401 can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present application.

[0219] The steps of the method disclosed in the embodiment of the present application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. Among them, the software module can be located in a mature storage medium in the field such as a random access memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable read only memory (EEPROM). The storage medium is located in the memory 1404, and the processor 1401 reads the information in the memory 1404 and completes the steps of the above method in combination with its hardware.

[0220] The processor 1401 , the memory 1404 , and the communication interface 1403 may communicate with each other via the communication line 1402 .

[0221] Fig.15 A schematic diagram of the structure of a cloud device provided in an embodiment of the present application. Fig.15 As shown, the cloud device 1500 includes one or more (including two) processors 1501 , a communication line 1502 and a communication interface 1503 . Optionally, the cloud device 1500 also includes a memory 1504 .

[0222] In some implementations, the memory 1504 stores the following elements: executable modules or data structures, or a subset thereof, or an extended set thereof.

[0223] The method described in the above embodiment of the present application can be applied to the processor 1501, or implemented by the processor 1501. The processor 1501 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 1501 or an instruction in the form of software. The above processor 1501 can be a general processor (for example, a microprocessor or a conventional processor), a digital signal processor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates, transistor logic devices or discrete hardware components. The processor 1501 can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present application.

[0224] The steps of the method disclosed in the embodiment of the present application can be directly embodied as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. Among them, the software module can be located in a mature storage medium in the field such as a random access memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable read only memory (EEPROM). The storage medium is located in the memory 1504, and the processor 1501 reads the information in the memory 1504 and completes the steps of the above method in combination with its hardware.

[0225] The processor 1501 , the memory 1504 , and the communication interface 1503 may communicate with each other via the communication line 1502 .

[0226] In the above embodiments, the instructions stored in the memory for execution by the processor may be implemented in the form of a computer program product, wherein the computer program product may be pre-written in the memory, or may be downloaded and installed in the memory in the form of software.

[0227] The present application embodiment also provides a computer program product, which includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the process or function executed by the cloud device or electronic device in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be stored by the computer or a data storage device such as a server, data center, etc. that includes one or more available media integrated. For example, the available medium can include magnetic media (e.g., floppy disk, hard disk or tape), optical media (e.g., digital versatile disc (digital versatile disc, DVD)), or semiconductor media (e.g., solid state disk (solid state disk, SSD)), etc.

[0228] An embodiment of the present application provides an electronic device, which terminal device includes a processor and a memory, the memory is used to store a computer program, and the processor is used to execute the computer program to execute the above-mentioned storage jam prediction method.

[0229] An embodiment of the present application provides a cloud device, which terminal device includes a processor and a memory, the memory is used to store a computer program, and the processor is used to execute the computer program to execute the above-mentioned storage jam prediction method.

[0230] The embodiments of the present application also provide a computer-readable storage medium. The computer-readable storage medium stores a computer program or instruction. When the computer program or instruction is executed by the processor, the method executed by the above-mentioned cloud device or electronic device is implemented. The method described in the above embodiment can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. If implemented in software, the function can be stored as one or more instructions or codes on a computer-readable medium or transmitted on a computer-readable medium. Computer-readable media may include computer storage media and communication media, and may also include any medium that can transfer a computer program from one place to another. The storage medium can be any target medium that can be accessed by a computer.

[0231] As a possible design, the computer-readable medium may include a compact disc read-only memory (CD-ROM), RAM, ROM, EEPROM or other optical disk storage; the computer-readable medium may include a magnetic disk storage or other magnetic disk storage device. Moreover, any connection line may also be appropriately referred to as a computer-readable medium. For example, if the software is transmitted from a website, server or other remote source using a coaxial cable, fiber optic cable, twisted pair, DSL or wireless technology such as infrared, radio and microwave, the coaxial cable, fiber optic cable, twisted pair, DSL or wireless technology such as infrared, radio and microwave are included in the definition of the medium. Disks and optical disks as used herein include compact disks (CDs), laser disks, optical disks, DVDs, floppy disks and Blu-ray disks, where disks usually reproduce data magnetically, while optical disks reproduce data optically using lasers. Combinations of the above should also be included in the scope of computer-readable media.

[0232] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processing unit of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0233] The above specific implementation methods further illustrate the purpose, technical solutions and beneficial effects of the present application in detail. It should be understood that the above are only specific implementation methods of the present application and are not used to limit the protection scope of the present application. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solutions of the present application should be included in the protection scope of the present application.

Claims

1. A storage jam prediction method, characterized in that: Applied to an electronic device, the electronic device includes storage firmware, and the method includes: When an exception occurs in the reading / writing process of the data corresponding to the data node, a corresponding exception record is generated and cached in the cache space of the storage firmware, and the data corresponding to the data node is stored in the storage firmware; After reading / writing data corresponding to the plurality of data nodes, obtaining the plurality of abnormal records from the cache space of the storage firmware; A jam prediction is performed based on the multiple abnormal records to obtain jam prediction information.

2. The method according to claim 1, characterized in that: After reading / writing the data corresponding to the plurality of data nodes, obtaining the plurality of abnormal records from the cache space of the storage firmware includes: After reading / writing data corresponding to all data nodes included in a read / write process, the corresponding multiple exception records are obtained from the cache space of the storage firmware.

3. The method according to claim 2, characterized in that The performing jam prediction according to the multiple abnormal records to obtain jam prediction information includes: The jam prediction information is determined by a first jam prediction model according to the first storage characteristic information of the storage firmware, wherein the first storage characteristic information includes the multiple abnormal records, storage firmware information and storage firmware delay information.

4. The method according to claim 3, characterized in that Before determining the jam prediction information by using a first jam prediction model according to the first storage feature information of the storage firmware, the method further includes: Sending the first storage characteristic information to a cloud device; Receive a first jam prediction model sent by the cloud device.

5. The method according to claim 4, characterized in that The exception record includes a corresponding hash verification code. After acquiring a plurality of the exception records from the cache space of the storage firmware and before determining the jam prediction information by using a first jam prediction model according to the first storage feature information of the storage firmware, the method further includes: Check the corresponding abnormal record according to the hash verification code; Accordingly, determining the jam prediction information by using a first jam prediction model according to the first storage feature information of the storage firmware includes: When the plurality of abnormal records pass the inspection, the jam prediction information is determined by a first jam prediction model according to the first storage characteristic information of the storage firmware.

6. The method according to claim 5, characterized in that After determining the jam prediction information according to the multiple abnormal records, the method further includes: Adjust the read and write management strategy of the storage firmware according to the jam prediction information.

7. The method according to claim 6, characterized in that The adjusting the read and write management strategy of the storage firmware according to the jam prediction information includes: Determine a jam probability according to the jam prediction information; A corresponding read-write management strategy is determined according to the jam probability, and the read-write management strategy includes basic scheduling, partial application priority, background application restriction, forced foreground application and overall read-write restriction.

8. The method according to claim 7, characterized in that The method further comprises: Sending second storage characteristic information to the cloud device, where the second storage characteristic information includes the jamming prediction information; Receive a second jam prediction model sent by the cloud device.

9. The method according to claim 8, characterized in that The exception record is stored in the cache space of the storage firmware in the form of a data stack.

10. A storage jam prediction method, characterized in that: Applied to a cloud device, the method includes: Receiving first storage characteristic information sent by an electronic device, wherein the first storage characteristic information includes a plurality of abnormal records, storage firmware information, and storage firmware delay information; Determine a first jam prediction model according to the first storage feature information; The first jam prediction model is sent to the electronic device.

11. The method according to claim 10, characterized in that The determining a jam prediction model according to the first storage feature information includes: Model training is performed on a general jam prediction model according to the first stored feature information to obtain the first jam prediction model.

12. The method according to claim 11, characterized in that The method further comprises: receiving second storage characteristic information sent by the electronic device, where the second storage characteristic information includes freeze prediction information; Determine a second jam prediction model according to the second storage feature information and the first jam prediction model; The second jam prediction model is sent to the electronic device.

13. The method according to claim 12, characterized in that The jam prediction model is a fusion model of a convolutional neural network model and a long short-term memory network model.

14. An electronic device, characterized in that: It comprises a memory and a processor, the memory is used to store a computer program, and the processor is used to call the computer program to execute the storage jam prediction method as described in any one of claims 1 to 9.

15. A cloud device, characterized in that: It comprises a memory and a processor, the memory is used to store a computer program, and the processor is used to call the computer program to execute the storage jam prediction method as described in any one of claims 10 to 13.

16. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program or instruction, and when the computer program or instruction is executed, the storage jam prediction method as described in any one of claims 1 to 9 is implemented.

17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program or instruction, and when the computer program or instruction is executed, the storage jam prediction method as described in any one of claims 10 to 13 is implemented.

18. A computer program product, characterized in that It includes a computer program, which, when executed, enables a computer to execute a storage jam prediction method as described in any one of claims 1 to 9.

19. A computer program product, characterized in that It comprises a computer program which, when executed, enables a computer to execute a storage jam prediction method as described in any one of claims 10 to 13.