Method, device and equipment for improving Dramless QLC SSD enabled RAID writing performance and medium

By temporarily storing RAID parity in Dramless QLC SSD and extracting it directly from the cache area on the second write, the problem of degraded QLC SSD write performance is solved, and more efficient RAID write performance is achieved.

CN119479737APending Publication Date: 2025-02-18SUZHOU UNIONMEMORY INFORMATION SYST LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411551355.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-01
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

Existing solutions result in a degradation in write performance during the second programming of QLC SSD.

Method used

By obtaining the RAID parity of the Dramless QLC SSD and temporarily saving it to the cache area after the first programmatic write, it can be extracted and written directly from the cache area on the second write, avoiding repeated calculations.

Benefits of technology

Reduces the use of computing resources, improves efficiency, and significantly improves the write performance of Dramless QLC SSD-enabled RAID.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119479737A_ABST
    Figure CN119479737A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a method and device for improving Dramless QLC SSD enabled RAID writing performance, equipment and a medium, and relates to the technical field of solid state disks. The method comprises the following steps: acquiring an RAID (Redundant Array of Independent Disk) part of a Dramless QLC SSD (Solid State Disk); the RAID (Redundant Array of Independent Disk) part is programmed and written into the Dramless QLC SSD for the first time; temporarily storing the RAID (Redundant Array of Independent Disks) part in a preset cache region; and extracting the RAID (Redundant Array of Independent Disk) part from the cache region, and writing the RAID part into the Dramless QLC SSD after the RAID part is programmed for the second time. According to the method and the device, the RAID part is temporarily stored in the preset cache region, so that the RAID part does not need to be repeatedly calculated during the second writing, the RAID part can be directly extracted from the cache region, the occupation of calculation resources is reduced, the efficiency is greatly improved, and the writing performance of the Dramless QLC SSD enabled RAID is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of solid state disk technology, and in particular to a method, device, equipment and medium for improving RAID write performance enabled by a DRAMless QLC SSD. Background Art

[0002] SSD, solid-state drive, means solid-state drive in Chinese. QLC, Quad-Level Cell, means four-level storage unit in Chinese.

[0003] Currently, the QLC FLASH of SSD usually needs to be programmed and written twice, and the data programmed twice at the same location must be completely consistent, so RAID parity also needs to be calculated and written twice.

[0004] In the existing solution, redundant RAID parity calculation during the second programming of QLC will cause the QLC write performance to degrade. Summary of the invention

[0005] The embodiments of the present invention provide a method, apparatus, device and medium for improving the RAID write performance of a DRAMless QLC SSD, aiming to solve the problem of improving the QLC write performance of a solid state drive.

[0006] In a first aspect, an embodiment of the present invention provides a method for improving RAID write performance enabled by a DRAMless QLC SSD, comprising:

[0007] Get RAID parity of Dramless QLC SSD;

[0008] Writing the RAID parity into the Dramless QLC SSD for the first time;

[0009] Temporarily storing the RAID parity in a preset cache area;

[0010] The RAID parity is extracted from the cache area, and the RAID parity is programmed and written into the Dramless QLC SSD for a second time.

[0011] A further technical solution is that obtaining the RAID parity of the Dramless QLC SSD includes:

[0012] The RAID parity of the Dramless QLC SSD is calculated using a preset algorithm.

[0013] A further technical solution is that the first programming of the RAID parity into the Dramless QLC SSD includes:

[0014] The RAID parity is first programmed and written into a preset target storage area in the Dramless QLC SSD.

[0015] A further technical solution is that temporarily storing the RAID parity in a preset cache area includes:

[0016] The RAID parity is temporarily stored in the HMB.

[0017] A further technical solution is that extracting the RAID parity from the cache area includes:

[0018] The RAID parity is extracted from the HMB.

[0019] A further technical solution is that the second programming of the RAID parity into the Dramless QLC SSD includes:

[0020] The RAID parity is programmed and written a second time into a preset target storage area in the Dramless QLC SSD.

[0021] A further technical solution is that after programming the RAID parity into the Dramless QLC SSD for the second time, the method further includes:

[0022] The RAID parity is cleared from the cache area.

[0023] In a second aspect, an embodiment of the present invention further provides a device for improving the RAID write performance of a DRAMless QLC SSD, which includes a unit for executing the above method.

[0024] In a third aspect, an embodiment of the present invention further provides a computer device, which includes a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the above method when executing the computer program.

[0025] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, wherein the storage medium stores a computer program, and the computer program can implement the above method when executed by a processor.

[0026] The embodiments of the present invention provide a method, device, equipment and medium for improving the RAID write performance of a Dramless QLC SSD. The method includes: obtaining the RAID parity of the Dramless QLC SSD; programming and writing the RAID parity into the Dramless QLC SSD for the first time; temporarily storing the RAID parity in a preset cache area; extracting the RAID parity from the cache area, and programming and writing the RAID parity into the Dramless QLC SSD for the second time. By temporarily storing the RAID parity in the preset cache area, there is no need to repeatedly calculate the RAID parity when writing for the second time, and the RAID parity can be directly extracted from the cache area, which reduces the occupation of computing resources and greatly improves efficiency, thereby improving the RAID write performance of the Dramless QLC SSD. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying any creative work.

[0028] Figure 1 A flowchart of a method for improving RAID write performance enabled by a Dramless QLC SSD provided by an embodiment of the present invention;

[0029] Figure 2 A schematic diagram of the first programming of RAID parity provided by an embodiment of the present invention;

[0030] Figure 3 A schematic diagram of a second programming write of RAID parity provided by an embodiment of the present invention;

[0031] Figure 4 A schematic block diagram of a computer device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0032] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0033] It should be understood that when used in this specification and the appended claims, the terms "include" and "comprises" indicate the presence of described features, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or combinations thereof.

[0034] It should also be understood that the terms used in this specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. As used in the specification of the present invention and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.

[0035] It should be further understood that the term "and / or" used in the present description and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0036] As used in this specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.

[0037] See also Figure 1 , and combined with Figure 2-Figure 3 , Figure 1 FIG. 1 is a flow chart of a method for improving the write performance of RAID enabled by Dramless QLCSSD provided by an embodiment of the present invention. Figure 1 As shown, the method includes the following steps S110-150.

[0038] S1, obtain the RAID parity of the Dramless QLC SSD.

[0039] In the specific implementation, first, the RAID parity of the Dramless QLC SSD is obtained. The RAID parity of the Dramless QLC SSD is usually calculated, and the calculation process requires computing resources and takes a long time.

[0040] In one embodiment, in order to improve efficiency, in the present invention, an algorithm for calculating RAID parity is preconfigured, and the RAID parity of the DRAMless QLC SSD is calculated by the above preset algorithm, thereby improving efficiency.

[0041] S2, programming and writing the RAID parity into the Dramless QLC SSD for the first time.

[0042] In a specific implementation, after the RAID parity is calculated, the RAID parity is first programmed and written into the Dramless QLC SSD.

[0043] Furthermore, in order to ensure the accuracy of writing, the location where the RAID parity needs to be written is determined in advance in the Dramless QLC SSD as the target storage area. After that, the RAID parity is first programmed and written into the preset target storage area in the Dramless QLC SSD.

[0044] S3, temporarily storing the RAID parity in a preset cache area.

[0045] In a specific implementation, in order to avoid the need to repeatedly calculate the RAIDparit when writing the RAID parity for the second time, in an embodiment of the present invention, the RAID parity is temporarily stored in a preset cache area.

[0046] In one embodiment, the RAID parity is temporarily stored in the HMB. It should be noted that HMB is called HotMemoryBuffer in English and means host memory buffer in Chinese.

[0047] By temporarily storing the RAID parity in the HMB, the secondary calculation of the RAID parity can be avoided, thereby improving the writing efficiency of the RAID parity.

[0048] S4, extracting the RAID parity from the cache area, and programming the RAID parity into the Dramless QLC SSD for a second time.

[0049] In a specific implementation, when the RAID parity is written for the second time, the RAID parity is directly extracted from the cache area, and the RAID parity is programmed and written into the Driven QLC SSD for the second time.

[0050] Specifically, when the RAID parity is stored in the HMB, the RAID parity is extracted from the HMB.

[0051] Furthermore, the RAID parity is programmed and written a second time into a preset target storage area in the Dramless QLC SSD, thereby reliably ensuring that the locations where the RAID parity is written twice are consistent.

[0052] Furthermore, after completing step S4, the method further includes: clearing the RAID parity from the cache area.

[0053] By clearing the RAID parity from the cache area, it is possible to effectively avoid the RAID parity from occupying cache resources, thereby improving the utilization rate of cache resources.

[0054] Specifically, when the RAID parity is stored in the HMB, the RAID parity is cleared from the HMB.

[0055] By applying a method for improving the RAID write performance of a Dramless QLC SSD proposed in an embodiment of the present invention, the RAID parity of the Dramless QLC SSD is obtained; the RAID parity is programmed and written into the Dramless QLC SSD for the first time; the RAID parity is temporarily stored in a preset cache area; the RAID parity is extracted from the cache area, and the RAID parity is programmed and written into the Dramless QLC SSD for a second time. By temporarily storing the RAID parity in the preset cache area, there is no need to repeatedly calculate the RAID parity when writing for the second time, and the RAID parity can be directly extracted from the cache area, which reduces the occupation of computing resources and greatly improves efficiency, thereby improving the write performance of the Dramless QLC SSD to enable RAID.

[0056] Corresponding to the above method for improving the RAID write performance of Dramless QLC SSD, the present invention also provides a device for improving the RAID write performance of Dramless QLC SSD. The device for improving the RAID write performance of Dramless QLC SSD includes a unit for executing the above method for improving the RAID write performance of Dramless QLC SSD, and the device for improving the RAID write performance of Dramless QLC SSD can be configured in a desktop computer, a tablet computer, a laptop computer, and other terminals. Specifically, the device for improving the RAID write performance of Dramless QLC SSD includes:

[0057] An acquisition unit, used to obtain the RAID parity of the Dramless QLC SSD;

[0058] A write-once unit, used for programming and writing the RAID parity into the Dramless QLCSSD for the first time;

[0059] A temporary storage unit, used for temporarily storing the RAID parity in a preset cache area;

[0060] The secondary writing unit is used to extract the RAID parity from the cache area and write the RAID parity into the Dramless QLC SSD for the second time.

[0061] In one embodiment, obtaining the RAID parity of the DRAMless QLC SSD includes:

[0062] The RAID parity of the Dramless QLC SSD is calculated using a preset algorithm.

[0063] In one embodiment, the first programming of the RAID parity into the Dramless QLCSSD includes:

[0064] The RAID parity is first programmed and written into a preset target storage area in the Dramless QLC SSD.

[0065] In one embodiment, temporarily storing the RAID parity in a preset cache area includes:

[0066] The RAID parity is temporarily stored in the HMB.

[0067] In one embodiment, extracting the RAID parity from the cache area includes:

[0068] The RAID parity is extracted from the HMB.

[0069] In one embodiment, the second programming of the RAID parity into the Dramless QLCSSD includes:

[0070] The RAID parity is programmed and written a second time into a preset target storage area in the Dramless QLC SSD.

[0071] In one embodiment, the device for improving the RAID write performance of a DRAMless QLC SSD further includes:

[0072] The RAID parity is cleared from the cache area.

[0073] It should be noted that technicians in the relevant field can clearly understand that the specific implementation process of the above-mentioned device and each unit for improving the Dramless QLCSSD-enabled RAID write performance can refer to the corresponding description in the aforementioned method embodiment, and for the convenience and conciseness of the description, it will not be repeated here.

[0074] The above-mentioned device for improving the RAID write performance of Dramless QLC SSD can be implemented in the form of a computer program, which can be used in the following manner: Figure 4 Runs on the computer device shown.

[0075] See also Figure 4 , Figure 4 5 is a schematic block diagram of a computer device provided in an embodiment of the present application. The computer device 500 may be a terminal or a server, wherein the terminal may be an electronic device with communication functions such as a smart phone, a tablet computer, a laptop computer, a desktop computer, a personal digital assistant, and a wearable device. The server may be an independent server or a server cluster composed of multiple servers.

[0076] The computer device 500 includes a processor 502 , a memory, and a network interface 505 connected via a system bus 501 , wherein the memory may include a non-volatile storage medium 503 and an internal memory 504 .

[0077] The non-volatile storage medium 503 may store an operating system 5031 and a computer program 5032. When the computer program 5032 is executed, the processor 502 may execute a method for improving the RAID write performance of a DRAMless QLC SSD.

[0078] The processor 502 is used to provide computing and control capabilities to support the operation of the entire computer device 500 .

[0079] The internal memory 504 provides an environment for the operation of the computer program 5032 in the non-volatile storage medium 503. When the computer program 5032 is executed by the processor 502, the processor 502 can execute a method for improving the RAID write performance enabled by the Dramless QLC SSD.

[0080] The network interface 505 is used to communicate with other devices over the network. Those skilled in the art will appreciate that the above structure is only a block diagram of a portion of the structure related to the present application solution, and does not constitute a limitation on the computer device 500 to which the present application solution is applied. The specific computer device 500 may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0081] The processor 502 is used to run a computer program 5032 stored in the memory to implement the following steps of a method for improving the RAID write performance of a DRAMless QLC SSD:

[0082] Get RAID parity of Dramless QLC SSD;

[0083] Writing the RAID parity into the Dramless QLC SSD for the first time;

[0084] Temporarily storing the RAID parity in a preset cache area;

[0085] The RAID parity is extracted from the cache area, and the RAID parity is programmed and written into the Dramless QLC SSD for a second time.

[0086] In one embodiment, obtaining the RAID parity of the DRAMless QLC SSD includes:

[0087] The RAID parity of the Dramless QLC SSD is calculated using a preset algorithm.

[0088] In one embodiment, the first programming of the RAID parity into the Dramless QLCSSD includes:

[0089] The RAID parity is first programmed and written into a preset target storage area in the Dramless QLC SSD.

[0090] In one embodiment, temporarily storing the RAID parity in a preset cache area includes:

[0091] The RAID parity is temporarily stored in the HMB.

[0092] In one embodiment, extracting the RAID parity from the cache area includes:

[0093] The RAID parity is extracted from the HMB.

[0094] In one embodiment, the second programming of the RAID parity into the Dramless QLCSSD includes:

[0095] The RAID parity is programmed and written a second time into a preset target storage area in the Dramless QLC SSD.

[0096] In one embodiment, after programming the RAID parity into the Dramless QLCSSD for the second time, the following steps of the method are further implemented:

[0097] The RAID parity is cleared from the cache area.

[0098] It should be understood that in the embodiment of the present application, the processor 502 may be a central processing unit (CPU), and the processor 502 may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0099] It is understood by those skilled in the art that all or part of the processes in the method for implementing the above embodiment can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a storage medium, which is a computer-readable storage medium. The computer program is executed by at least one processor in the computer system to implement the process steps of the embodiment of the above method.

[0100] Therefore, the present invention also provides a storage medium. The storage medium may be a computer-readable storage medium. The storage medium stores a computer program. When the computer program is executed by a processor, the processor performs the following steps of a method for improving the RAID write performance of a DRAMless QLC SSD:

[0101] Get RAID parity of Dramless QLC SSD;

[0102] Writing the RAID parity into the Dramless QLC SSD for the first time;

[0103] Temporarily storing the RAID parity in a preset cache area;

[0104] The RAID parity is extracted from the cache area, and the RAID parity is programmed and written into the Dramless QLC SSD for a second time.

[0105] In one embodiment, obtaining the RAID parity of the DRAMless QLC SSD includes:

[0106] The RAID parity of the Dramless QLC SSD is calculated using a preset algorithm.

[0107] In one embodiment, the first programming of the RAID parity into the Dramless QLCSSD includes:

[0108] The RAID parity is first programmed and written into a preset target storage area in the Dramless QLC SSD.

[0109] In one embodiment, temporarily storing the RAID parity in a preset cache area includes:

[0110] The RAID parity is temporarily stored in the HMB.

[0111] In one embodiment, extracting the RAID parity from the cache area includes:

[0112] The RAID parity is extracted from the HMB.

[0113] In one embodiment, the second programming of the RAID parity into the Dramless QLCSSD includes:

[0114] The RAID parity is programmed and written a second time into a preset target storage area in the Dramless QLC SSD.

[0115] In one embodiment, after programming the RAID parity into the Dramless QLCSSD for the second time, the following steps of the method are further implemented:

[0116] The RAID parity is cleared from the cache area.

[0117] The storage medium is a physical, non-transient storage medium, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a magnetic disk, or an optical disk, etc., which can store program codes. The computer-readable storage medium can be non-volatile or volatile.

[0118] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0119] In the several embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of each unit is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.

[0120] The steps in the method of the embodiment of the present invention can be adjusted in order, combined and deleted according to actual needs. The units in the device of the embodiment of the present invention can be combined, divided and deleted according to actual needs. In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0121] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, terminal, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention.

[0122] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0123] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.

[0124] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed by the present invention, and these modifications or replacements should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be based on the protection scope of the claims.

Claims

1. A method for improving RAID write performance of a Dramless QLC SSD, characterized in that: include: Get RAID parity of Dramless QLC SSD; Writing the RAID parity into the Dramless QLC SSD for the first time; Temporarily storing the RAID parity in a preset cache area; The RAID parity is extracted from the cache area, and the RAID parity is programmed and written into the Dramless QLC SSD for a second time.

2. The method for improving RAID write performance of Dramless QLC SSD according to claim 1, characterized in that: The step of obtaining the RAID parity of the Dramless QLC SSD includes: The RAID parity of the Dramless QLC SSD is calculated using a preset algorithm.

3. The method for improving RAID write performance of Dramless QLC SSD according to claim 1, characterized in that: The first programming of the RAID parity into the Dramless QLC SSD includes: The RAID parity is first programmed and written into a preset target storage area in the Dramless QLC SSD.

4. The method for improving RAID write performance of Dramless QLC SSD according to claim 1, characterized in that: The temporarily storing the RAID parity in a preset cache area includes: The RAID parity is temporarily stored in the HMB.

5. The method for improving RAID write performance of Dramless QLC SSD according to claim 4, characterized in that: The extracting the RAID parity from the cache area includes: The RAID parity is extracted from the HMB.

6. The method for improving RAID write performance of Dramless QLC SSD according to claim 3, characterized in that: The second programming of the RAID parity into the Dramless QLC SSD includes: The RAID parity is programmed and written a second time into a preset target storage area in the Dramless QLC SSD.

7. The method for improving RAID write performance of Dramless QLC SSD according to claim 1, characterized in that: After programming the RAID parity into the Dramless QLC SSD for the second time, the method further includes: The RAID parity is cleared from the cache area.

8. A device for improving RAID write performance of Dramless QLC SSD, characterized in that: The method comprises a unit for executing the method according to any one of claims 1 to 7.

9. A computer device, characterized in that: The computer device includes a memory and a processor, the memory stores a computer program, and the processor implements the method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 can be implemented.