Solid state disk steady state performance adjusting method and solid state disk

By using machine learning models in solid-state drives to calculate the updated front-end control factor, the performance fluctuations caused by traditional methods when the storage block capacity increases are solved, and more stable steady-state performance is achieved.

CN119759287AActive Publication Date: 2025-04-04HEFEI DATANG STORAGE TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411920330.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2025-04-04
Estimated Expiration
2044-12-24

AI Technical Summary

Technical Problem

The traditional solid-state performance adjustment method of solid-state hard disk (SSD) increases in memory block capacity, resulting in long-term fluctuations in performance, which cannot effectively ensure the consistency of steady-state performance.

Method used

Using the machine learning model, the efficiency value of the last N garbage collection (GC) and the current front-end control factor are periodically obtained, and the updated front-end control factor is calculated, thereby adjusting the write speed of the SSD.

Benefits of technology

More accurate front-end control factors calculated through machine learning models can effectively stabilize the steady-state performance of SSD, reduce performance fluctuations, and enhance the market competitiveness of the product.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119759287A_ABST
    Figure CN119759287A_ABST
Patent Text Reader

Abstract

The invention discloses a steady-state performance adjusting method of a solid-state disk and the solid-state disk. The method for adjusting the steady-state performance of the solid-state disk is characterized by comprising the following steps: periodically obtaining efficiency values of latest N garbage collection of the solid-state disk; the efficiency value of garbage collection is a space released by the solid state disk for executing garbage collection in unit time; n is an integer greater than 1; inputting the efficiency values of the latest N times of garbage collection and the current front-end control factor of the solid state disk into a pre-trained performance adjustment model to obtain an updated front-end control factor; and controlling the writing speed of the front end of the solid state disk according to the updated front end control factor. Through the scheme provided by the embodiment, the stability of the steady-state performance of the SSD can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to computer storage technology, and in particular to a method for adjusting the steady-state performance of a solid-state hard disk and a solid-state hard disk. Background Art

[0002] The steady-state performance consistency of a solid-state drive (SSD) is one of the important indicators for measuring the quality of a product. Good consistency means that the SSD is more stable and predictable, and is often more popular with enterprise customers.

[0003] At present, the most commonly used storage medium for SSD is NAND FLASH. The characteristic of this storage medium is that it can only be erased before writing, and does not support direct overwriting. Therefore, when working, SSD needs to first select the used storage blocks, move the valid data in them to other places, and then erase the storage blocks before normal reading and writing. This process is garbage collection (GC).

[0004] In order to ensure good steady-state performance consistency, a front-end control factor must be calculated based on the efficiency of the most recent rounds of GC, and then the speed of the SSD front-end is adjusted to ensure that the host can always write data at a certain speed and that there are always free storage blocks available. In this way, the performance consistency of the SSD will be better.

[0005] The traditional steady-state performance adjustment strategy is to calculate the front-end control factor based on the average efficiency of the most recent rounds of garbage collection (GC). However, as the size of storage blocks increases, the traditional front-end control factor calculation method will cause long-term fluctuations in SSD performance. Summary of the invention

[0006] The embodiments of the present application provide a method for adjusting the steady-state performance of a solid-state hard disk and a solid-state hard disk, which can improve the stability of the steady-state performance of the SSD.

[0007] An embodiment of the present application provides a method for adjusting steady-state performance of a solid-state hard disk, characterized by comprising: Periodically obtaining the efficiency values ​​of the most recent N garbage collections of the solid state drive; the efficiency value of the garbage collection is the space released by the solid state drive performing garbage collection in a unit time; N is an integer greater than 1; Inputting the efficiency values ​​of the most recent N garbage collections and the current front-end control factor of the solid-state drive into a pre-trained performance adjustment model to obtain an updated front-end control factor; The writing speed of the front end of the solid state drive is controlled according to the updated front end control factor.

[0008] In an exemplary embodiment, the performance adjustment model is trained according to the following method: The performance adjustment model is subjected to multiple rounds of parameter optimization until a preset training stop condition is met; wherein each round of parameter optimization process includes the following steps: Obtaining efficiency values ​​of the most recent N garbage collections of the solid state drive as a first garbage collection efficiency value; Inputting the first garbage collection efficiency value and the current first front-end control factor of the solid-state hard disk into the performance adjustment model to obtain an updated first front-end control factor; Controlling the writing speed of the solid state drive front end according to the updated first front end control factor, detecting the user data free space of the solid state drive after a first period of time, and adjusting the updated first front end control factor according to the change of the user data free space to obtain an adjusted first front end control factor; The performance adjustment model is optimized for parameters of this round according to the updated first front-end control factor and the adjusted first front-end control factor.

[0009] In an exemplary embodiment, adjusting the updated first front-end control factor according to the change of the user data free space to obtain the adjusted first front-end control factor includes: When the user data free space becomes larger, the updated first front-end control factor is increased by a first step value to obtain the adjusted first front-end control factor; or, When the user data free space becomes smaller, the updated first front-end control factor is reduced by a first step value to obtain the adjusted first front-end control factor.

[0010] In an exemplary embodiment, adjusting the updated first front-end control factor according to the change of the user data free space to obtain the adjusted first front-end control factor further includes: When the user data free space does not change, the updated first front end control factor is determined as the adjusted first front end control factor.

[0011] In an exemplary embodiment, the performance adjustment model is an SVM machine learning model; the performance adjustment model is integrated in the main control chip of the solid state drive.

[0012] In an exemplary embodiment, before inputting the efficiency values ​​of the most recent N garbage collections and the current front-end control factor of the solid-state drive into the performance adjustment model, the method further includes: After the solid state drive is powered on, the efficiency values ​​of the first N garbage collections are obtained, and the average value of the efficiency values ​​of the first N garbage collections is used as an initial front-end control factor.

[0013] In an exemplary embodiment, controlling the writing speed of the front end of the solid state drive according to the updated front end control factor includes: The front-end write delay factor of the solid state drive is calculated according to the updated front-end control factor, and the write speed of the front end of the solid state drive is controlled according to the front-end write delay factor.

[0014] In an exemplary embodiment, controlling the writing speed of the front end of the solid state drive according to the front end writing delay factor includes: The front end of the solid state drive performs data writing at a time interval of the front end write delay factor, so as to write one data page each time to the flash memory of the solid state drive.

[0015] In another embodiment of the present application, a solid state drive is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method described above when executing the computer program.

[0016] The technical solution provided in the embodiments of the present application can improve the stability of the steady-state performance of the SSD, thereby enhancing the market competitiveness of the product.

[0017] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by implementing the present application. Other advantages of the present application can be realized and obtained by the schemes described in the description and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The accompanying drawings are used to provide an understanding of the technical solution of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation on the technical solution of the present application.

[0019] Figure 1 A schematic flow chart of a method for adjusting the steady-state performance of a solid-state hard disk provided in an embodiment of the present application; Figure 2 A schematic diagram of the overall structure of a steady-state performance adjustment solution for a solid-state hard disk provided in an embodiment of the present application; Figure 3 A schematic diagram of the structure of a solid state drive provided in an embodiment of the present application. DETAILED DESCRIPTION

[0020] The present application describes multiple embodiments, but the description is exemplary rather than restrictive, and it is obvious to those skilled in the art that there may be more embodiments and implementations within the scope of the embodiments described in the present application. Although many possible feature combinations are shown in the drawings and discussed in the specific embodiments, many other combinations of the disclosed features are also possible. Unless specifically limited, any feature or element of any embodiment may be used in combination with any other feature or element in any other embodiment, or may replace any other feature or element in any other embodiment.

[0021] The present application includes and contemplates combinations of features and elements known to those of ordinary skill in the art. The embodiments, features and elements disclosed in the present application may also be combined with any conventional features or elements to form a unique invention scheme. Any features or elements of any embodiment may also be combined with features or elements from other invention schemes to form another unique invention scheme. Therefore, it should be understood that any feature shown and / or discussed in the present application may be implemented individually or in any appropriate combination. Therefore, except for the limitations made according to the attached claims and their equivalents, the embodiments are not subject to other restrictions. In addition, various modifications and changes may be made within the scope of protection of the attached claims.

[0022] In addition, when describing representative embodiments, the specification may have presented the method and / or process as a specific sequence of steps. However, to the extent that the method or process does not rely on the specific order of the steps described herein, the method or process should not be limited to the steps of the specific order described. As will be understood by those of ordinary skill in the art, other sequences of steps are also possible. Therefore, the specific sequence of the steps set forth in the specification should not be interpreted as a limitation to the claims. In addition, the claims for the method and / or process should not be limited to the steps of performing them in the order written, and those skilled in the art can easily understand that these sequences can be changed and still remain within the spirit and scope of the embodiments of the present application.

[0023] The traditional steady-state performance adjustment strategy is to calculate the front-end control factor based on the average efficiency of the most recent garbage collection (GC) rounds. The traditional front-end control factor calculation method simply takes the average of the efficiency of each GC round, and fails to fully consider the relative importance or weight of each GC round. This calculation method is acceptable when the storage block capacity is small. However, with the development of semiconductor technology, the storage density of NAND FLASH continues to increase, and the capacity of storage blocks is also increasing. As the storage block capacity increases, the longer the time required for a single GC round, the lower the reference value of the GC round farthest from the current time for calculating the front-end control factor, and its weight should be reduced accordingly. If the traditional steady-state performance adjustment method continues to be used, since it assigns the same weight to each GC round, the adjustment mechanism will be biased, which will cause unstable fluctuations in steady-state performance.

[0024] In view of the shortcomings of traditional steady-state performance adjustment methods, the present application proposes a steady-state performance adjustment method for a solid-state hard disk that uses a machine learning model to calculate the value of a front-end control factor.

[0025] Figure 1 A schematic diagram of a flow chart of a method for adjusting the steady-state performance of a solid-state hard disk provided by an embodiment of the present application is shown. Figure 1 As shown, the method includes: Step 100: Periodically obtain efficiency values ​​of the most recent N garbage collections of the solid state drive; Step 101: inputting the efficiency values ​​of the most recent N garbage collections and the current front-end control factor of the solid-state drive into a pre-trained performance adjustment model to obtain an updated front-end control factor; Step 102: Control the writing speed of the front end of the solid state drive according to the updated front end control factor.

[0026] In this embodiment, N is an integer greater than 1; the efficiency value of the garbage collection is the space released by the solid state drive performing garbage collection per unit time; the cycle can be set according to actual needs, for example, Figure 2As shown, the timer triggers the calculation of an updated front-end control factor every 0.5 seconds, and is applied to the front end of the solid-state drive to control the write speed of the SSD, that is, the write speed of the SSD is adjusted every 0.5 seconds, and the adjustment results may include faster, slower, or unchanged. The pre-trained performance adjustment model belongs to a machine learning model. The input of the model is the efficiency value of the most recent N GCs and the current front-end control factor, and the output is the updated front-end control factor. When the SSD performs steady-state random writes, GC operations are performed internally at the same time. Free space in the user data area can be generated through GC operations. Writing operations to the SSD will consume free space in the user data area. After each round of GC is completed, the SSD firmware will record the efficiency-related information of that round of GC, and will retain the GC efficiency values ​​of the most recent rounds.

[0027] The steady-state performance adjustment method of the solid-state hard disk proposed in this embodiment uses a machine learning model, which can assign nonlinear weights to different GC efficiency values ​​and current control factors to calculate the front-end control factor updated by the SSD. Compared with the traditional front-end control factor calculation method, the steady-state performance adjustment method of the solid-state hard disk provided in this embodiment can calculate a more accurate front-end control factor, thereby making the steady-state performance of the solid-state hard disk (SSD) more stable.

[0028] In an exemplary embodiment, the performance adjustment model is trained according to the following method: The performance adjustment model is subjected to multiple rounds of parameter optimization until a preset training stop condition is met; wherein each round of parameter optimization process includes the following steps: Obtaining efficiency values ​​of the most recent N garbage collections of the solid state drive as a first garbage collection efficiency value; Inputting the first garbage collection efficiency value and the current first front-end control factor of the solid-state hard disk into the performance adjustment model to obtain an updated first front-end control factor; Controlling the writing speed of the solid state drive front end according to the updated first front end control factor, detecting the user data free space of the solid state drive after a first period of time, and adjusting the updated first front end control factor according to the change of the user data free space to obtain an adjusted first front end control factor; The performance adjustment model is optimized for parameters of this round according to the updated first front-end control factor and the adjusted first front-end control factor.

[0029] In this embodiment, the training stop condition may be reaching a predetermined number of rounds; or may be: in one round or multiple consecutive rounds, the difference between the updated first front-end control factor and the adjusted first front-end control factor is within a predetermined range; or may be other preset training stop conditions.

[0030] In this embodiment, a trainable neural network module can be integrated inside the SSD main control chip, and firmware code related to the training mode can be developed.

[0031] When the training mode is turned on, the neural network module takes the efficiency of the most recent rounds of GC and the current front-end control factor as input, outputs an updated first front-end control factor, and applies it to the front-end module. Then, the updated first front-end control factor is judged to be too large, too small, or appropriate according to whether the free space of the user data area increases or decreases within a period of time after the action, and the updated front-end control factor is adjusted accordingly to obtain the adjusted first front-end control factor. The performance adjustment model is optimized for this round of parameters according to the updated first front-end control factor and the adjusted first front-end control factor. Specifically, the efficiency of the most recent rounds of GC and the current front-end control factor input are used as sample data, the adjusted first front-end control factor is used as the label of the sample data (i.e., the training target value), and the updated first front-end control factor is used as the actual output result of the performance adjustment model for parameter optimization. The training is repeated many times until the preset training stop condition is met and the appropriate model parameters are obtained. After the training is completed, the performance adjustment model can be used to calculate the front-end control factor of the SSD.

[0032] During the training process of the above performance adjustment model, the number of training rounds is usually between 12 and 36. Generally, the larger the capacity of the SSD, the more training rounds are required.

[0033] In an exemplary embodiment, adjusting the updated first front-end control factor according to the change of the user data free space to obtain the adjusted first front-end control factor includes: When the user data free space becomes larger, the updated first front-end control factor is increased by a first step value to obtain the adjusted first front-end control factor; or, When the user data free space becomes smaller, the updated first front-end control factor is reduced by a first step value to obtain the adjusted first front-end control factor.

[0034] In this embodiment, if the free space in the user data area becomes significantly larger, it means that the speed at which the GC produces free space is greater than the speed at which the front end consumes it. Therefore, the writing speed of the front end can be appropriately increased, that is, the front end control factor should be adjusted to a value larger than the current output. At this time, an appropriate step value is added to the updated first front end control factor to obtain the adjusted first front end control factor, which is used as the training target value of the neural network model parameters for this round of training.

[0035] Conversely, if the free space in the user data area becomes significantly smaller, it means that the speed at which GC produces free space is lower than the speed at which the front end consumes it. An appropriate step value is subtracted from the updated first front end control factor to obtain the adjusted first front end control factor, which serves as the training target value for the parameters of the neural network model in this round of training.

[0036] The step value can be determined by trial and error. If the step value is set too small, the model training convergence cycle will be too long; on the contrary, if the step value is too large, it will easily cause oscillation.

[0037] In an exemplary embodiment, adjusting the updated first front-end control factor according to the change of the user data free space to obtain the adjusted first front-end control factor further includes: When the user data free space does not change, the updated first front end control factor is determined as the adjusted first front end control factor.

[0038] In an exemplary embodiment, the performance adjustment model is an SVM machine learning model; the performance adjustment model is integrated in the main control chip of the solid state drive.

[0039] In an exemplary embodiment, before inputting the efficiency values ​​of the most recent N garbage collections and the current front-end control factor of the solid-state drive into the performance adjustment model, the method further includes: After the solid state drive is powered on, the efficiency values ​​of the first N garbage collections are obtained, and the average value of the efficiency values ​​of the first N garbage collections is used as an initial front-end control factor.

[0040] In this embodiment, taking N=5 as an example, the calculation of the initial front-end control factor at power-on includes: After the SSD is powered on, the efficiency values ​​of the first five GCs after power-on are obtained and the average value is taken as the initial front-end control factor C1; When calculating the second front-end control factor, obtain the efficiency values ​​of the 6th to 10th GC after power-on, input them into the performance adjustment model together with C1, and calculate the updated front-end control factor C2; at this time, C2 replaces C1 as the "current front-end control factor"; When calculating the third front-end control factor, the efficiency values ​​of the 11th to 15th GCs after power-on are obtained and input into the performance adjustment model together with C2 to calculate the updated front-end control factor C3; at this time, C3 replaces C2 as the "current front-end control factor"; and so on, the subsequent "current front-end control factors" are calculated.

[0041] In an exemplary embodiment, controlling the writing speed of the front end of the solid state drive according to the updated front end control factor includes: The front-end write delay factor of the solid state drive is calculated according to the updated front-end control factor, and the write speed of the front end of the solid state drive is controlled according to the front-end write delay factor.

[0042] In this embodiment, the SSD master control chip calculates the front-end write delay factor according to the updated front-end control factor, and configures the front-end write delay factor into the register to control the write speed of the hard disk front end, thereby achieving the purpose of adjusting the steady-state performance. The front-end write delay factor is calculated according to the following formula:

[0043] Front-end write delay factor = 1000000 / updated front-end control factor, where 1000000 means 1s = 1000000us.

[0044] It can be seen from the above formula that the larger the front-end control factor, the smaller the front-end write delay factor, the faster the frequency of transmitting write commands, and the faster the SSD speed; vice versa, the larger the front-end control factor delay factor, the slower the frequency of transmitting write commands, and the slower the SSD speed.

[0045] In an exemplary embodiment, controlling the writing speed of the front end of the solid state drive according to the front end writing delay factor includes: The front end of the solid state drive performs data writing at a time interval of the front end write delay factor, so as to write one data page each time to the flash memory of the solid state drive.

[0046] In this embodiment, Figure 2 As shown in the figure, the user data write command transmitted from the host will not be directly written into the flash memory of the SSD, but will be intercepted by the front end of the SSD. After configuring the effective front-end write delay factor to the front-end register, the front end will pass a 16KB data page write instruction to the SSD back end every time the delay factor is used, and then the firmware executes the write instruction.

[0047] Figure 3 FIG. 4 shows a structural diagram of a solid state hard disk provided by another embodiment of the present application. Figure 3 As shown, the solid state drive includes a memory 300, a processor 301, and a computer program stored in the memory and executable on the processor. When the processor 301 executes the computer program, the steps of the method described above are implemented.

[0048] It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or transient medium). As is known to those skilled in the art, the term "computer storage medium" includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those skilled in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.

Claims

1. A method for adjusting steady-state performance of a solid-state hard disk, characterized in that: include: Periodically obtaining the efficiency values ​​of the most recent N garbage collections of the solid state drive; the efficiency value of the garbage collection is the space released by the solid state drive performing garbage collection in a unit time; N is an integer greater than 1; Inputting the efficiency values ​​of the most recent N garbage collections and the current front-end control factor of the solid-state drive into a pre-trained performance adjustment model to obtain an updated front-end control factor; The writing speed of the front end of the solid state drive is controlled according to the updated front end control factor.

2. The method for adjusting the steady-state performance of a solid-state hard disk according to claim 1, characterized in that: The performance adjustment model is trained according to the following method: The performance adjustment model is subjected to multiple rounds of parameter optimization until a preset training stop condition is met; wherein each round of parameter optimization process includes the following steps: Obtaining efficiency values ​​of the most recent N garbage collections of the solid state drive as a first garbage collection efficiency value; Inputting the first garbage collection efficiency value and the current first front-end control factor of the solid-state hard disk into the performance adjustment model to obtain an updated first front-end control factor; Controlling the writing speed of the solid state drive front end according to the updated first front end control factor, detecting the user data free space of the solid state drive after a first period of time, and adjusting the updated first front end control factor according to the change of the user data free space to obtain an adjusted first front end control factor; The performance adjustment model is optimized for parameters of this round according to the updated first front-end control factor and the adjusted first front-end control factor.

3. The method for adjusting the steady-state performance of a solid-state hard disk according to claim 2, characterized in that: The step of adjusting the updated first front-end control factor according to the change of the user data free space to obtain the adjusted first front-end control factor includes: When the user data free space becomes larger, the updated first front-end control factor is increased by a first step value to obtain the adjusted first front-end control factor; or, When the user data free space becomes smaller, the updated first front-end control factor is reduced by a first step value to obtain the adjusted first front-end control factor.

4. The method for adjusting the steady-state performance of a solid-state hard disk according to claim 2, characterized in that: The step of adjusting the updated first front-end control factor according to the change of the user data free space to obtain the adjusted first front-end control factor further includes: When the user data free space does not change, the updated first front end control factor is determined as the adjusted first front end control factor.

5. The method for adjusting the steady-state performance of a solid-state hard disk according to any one of claims 1 to 4, characterized in that: The performance adjustment model is an SVM machine learning model; the performance adjustment model is integrated in the main control chip of the solid state drive.

6. The method for adjusting the steady-state performance of a solid-state hard disk according to claim 1, characterized in that: Before inputting the efficiency values ​​of the most recent N garbage collections and the current front-end control factor of the solid state drive into the performance adjustment model, the method further includes: After the solid state drive is powered on, the efficiency values ​​of the first N garbage collections are obtained, and the average value of the efficiency values ​​of the first N garbage collections is used as an initial front-end control factor.

7. The method for adjusting the steady-state performance of a solid-state hard disk according to claim 6, characterized in that: The controlling the writing speed of the front end of the solid state drive according to the updated front end control factor includes: The front-end write delay factor of the solid state drive is calculated according to the updated front-end control factor, and the write speed of the front end of the solid state drive is controlled according to the front-end write delay factor.

8. The method for adjusting the steady-state performance of a solid-state hard disk according to claim 6 or 7, characterized in that: The controlling the writing speed of the front end of the solid state drive according to the front end writing delay factor comprises: The front end of the solid state drive performs data writing at a time interval of the front end write delay factor, so as to write one data page each time to the flash memory of the solid state drive.

9. A solid state hard disk, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method according to any one of claims 1 to 8 when executing the computer program.

Citation Information

Patent Citations

  • Writing speed control method, system and device and readable storage medium

    CN109857337A

  • User write-in speed control method and device, equipment and medium

    CN112416255A

  • Garbage recycling method and device, readable storage medium and electronic equipment

    CN114238162A

  • Adaptive adjustment method and system of data stream, hard disk and storage medium

    CN114564147A

  • Memory system and control method

    JP2019016386A