Method, device, computer equipment, and storage medium for SSD with write backup function

By allocating node control commands for each LPA in the SSD and backing up data to the HMB space, the problem of mismatch between data transmission and backup broadband is solved, the error processing process is simplified, and the write performance is improved.

CN114995766BActive Publication Date: 2025-09-02SUZHOU UNIONMEMORY INFORMATION SYST LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210693265.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-17
Publication Date
2025-09-02
Estimated Expiration
2042-06-17

AI Technical Summary

Technical Problem

When existing SSDs perform the write backup function, the data transmission broadband does not match the backup broadband, causing NVME to fail to return CQ information in time, reducing write performance, and the error processing process is complex, affecting write performance.

Method used

Each LPA is assigned node control commands through FTL, and the write command is assigned an HMB space address when it is not a backend write failure. NFC configures hardware descriptor commands and checks the backup address. The valid data is backed up to the HMB space, simplifying the error processing process.

Benefits of technology

When the write backup function is enabled, it will not affect the normal write operation performance, simplify the error processing process, thereby improving the write performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114995766B_ABST
    Figure CN114995766B_ABST
Patent Text Reader

Abstract

The present invention relates to a method, device, computer equipment, and storage medium for an SSD with a write backup function. The method comprises: obtaining a write command sent by a host, and assigning a node control command to each LPA write by an FTL; determining whether the write command is a command returned by a back-end write failure; if not, assigning an address for each write node control command to be backed up in the HMB space; the FTL sending the write node control command to the back-end NFC for processing; the NFC configuring a hardware descriptor command for the write node control command and filling the address information of the HMB space into the hardware descriptor command; performing a write operation and checking the backup address of the hardware descriptor; determining whether the backup address of the hardware descriptor is valid; if valid, the NFC backing up the write data to the designated HMB space. The present invention can improve write performance without affecting normal write operation performance while simplifying the error handling process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of SSD with write backup function, and in particular to a method, device, computer equipment and storage medium for SSD with write backup function. Background Art

[0002] After an existing SSD receives a write command from the host, the NVME front-end obtains the write command's starting LBA (Logical Block Address) and data size information, then sends the command to the FTL (Flash Translation Layer). The FTL assigns GPPA information to each LPA (Logical Page Address) and then sends the command to the back-end NFC. During the process of NFC receiving data from the NVME, the front-end NVME completes the data backup. In this way, because NVME is performing a write backup function while transmitting data to NFC, and the data transmission bandwidth is greater than the data backup bandwidth, NVME cannot return CQ (Completion Queue) information to the host in a timely manner, thereby reducing write performance. In addition, if the back-end write fails, the error status information must first be returned to the FTL, which then returns the error information to the NVME. The front-end NVME then re-issues the write command to the back-end, increasing the error handling process and further reducing write performance. Summary of the Invention

[0003] The purpose of the present invention is to overcome the deficiencies of the prior art and provide a method, apparatus, computer equipment, and storage medium for SSD with write backup function.

[0004] In order to solve the above technical problems, the present invention adopts the following technical solutions:

[0005] In a first aspect, this embodiment provides a method for an SSD with a write backup function, comprising the following steps:

[0006] Get the write command sent by the host, and FTL assigns a node control command to each LPA write to obtain the write node control command;

[0007] Determine whether the write command is the command returned by the backend write failure;

[0008] If the write command is not the command returned by the backend write failure, the FTL allocates the address backed up to the HMB space for each write node control command to obtain the address information of the HMB space;

[0009] FTL sends the write node control command to the backend NFC for processing;

[0010] NFC configures the hardware descriptor command for the write node control command and fills the address information of the HMB space into the hardware descriptor command to obtain the backup address of the hardware descriptor;

[0011] NFC performs a write operation on the NandFlash particle according to the hardware descriptor command and checks the backup address of the hardware descriptor;

[0012] Determine whether the backup address of the hardware descriptor is valid;

[0013] If the backup address of the hardware descriptor is valid, NFC will back up the write data to the specified HMB space.

[0014] Its further technical solution is: after the step of determining whether the write command is a command returned by a back-end write failure, if the write command is a command returned by a back-end write failure, jump to execute the FTL to send the write node control command to the back-end NFC processing.

[0015] Its further technical solution is: if the backup address of the hardware descriptor is valid, then after the NFC backs up the write data to the specified HMB space, it also includes: judging whether the execution result of the hardware descriptor is a write failure; if the execution result of the hardware descriptor is a write failure, then the NFC records the position of the error status in the write node control command and returns the write node control command to the FTL; if the execution result of the hardware descriptor is not a write failure, then the SSD ends the write operation.

[0016] Its further technical solution is: after the step of determining whether the backup address of the hardware descriptor is valid, it also includes: if the backup address of the hardware descriptor is invalid, jumping to execute the step of determining whether the execution result of the hardware descriptor is a write failure; if the execution result of the hardware descriptor is a write failure, the NFC records the position of the error state in the write node control command and returns the write node control command to the FTL; if the execution result of the hardware descriptor is not a write failure, the SSD ends the write operation.

[0017] In a second aspect, this embodiment provides an SSD device with a write backup function, comprising: an acquisition allocation unit, a first judgment unit, an allocation backup unit, a sending unit, a configuration filling unit, an execution check unit, a second judgment unit, and a backup unit;

[0018] The acquisition allocation unit is used to acquire the write command sent by the host, and the FTL allocates a node control command to each LPA write to obtain a write node control command;

[0019] The first judging unit is configured to judge whether the write command is a command returned due to a backend write failure;

[0020] The allocation backup unit is configured to allocate a backup address to the HMB space for each write node control command if the write command is not a command returned by a backend write failure, so as to obtain address information of the HMB space;

[0021] The sending unit is used for the FTL to send the write node control command to the back-end NFC processing;

[0022] The configuration filling unit is used for NFC to configure a hardware descriptor command for a write node control command, and fill the address information of the HMB space into the hardware descriptor command to obtain a backup address of the hardware descriptor;

[0023] The execution checking unit is used for NFC to perform a write operation on the NandFlash particle according to the hardware descriptor command and check the backup address of the hardware descriptor;

[0024] The second determining unit is configured to determine whether the backup address of the hardware descriptor is valid;

[0025] The backup unit is configured to enable NFC to back up write data to a specified HMB space if the backup address of the hardware descriptor is valid.

[0026] Its further technical solution is: it also includes: a first jump unit, which is used to jump to execute the FTL to send the write node control command to the back-end NFC processing if the write command is a command returned by the back-end write failure.

[0027] Its further technical solution is: it also includes: a third judgment unit, used to judge whether the execution result of the hardware descriptor is a write failure; if the execution result of the hardware descriptor is a write failure, the NFC records the position of the error state in the write node control command and returns the write node control command to the FTL; if the execution result of the hardware descriptor is not a write failure, the SSD ends the write operation.

[0028] Its further technical solution is: it also includes: a second jump unit, which is used to jump to execute the judgment whether the execution result of the hardware descriptor is a write failure if the backup address of the hardware descriptor is invalid; if the execution result of the hardware descriptor is a write failure, the NFC records the position of the error state in the write node control command and returns the write node control command to the FTL; if the execution result of the hardware descriptor is not a write failure, the SSD ends the write operation.

[0029] In a third aspect, this embodiment provides a computer device, which includes a memory and a processor. The memory stores a computer program, and the processor implements the method of SSD with write backup function as described above when executing the computer program.

[0030] In a fourth aspect, this embodiment provides a storage medium storing a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the method for providing an SSD with a write backup function as described above can be implemented.

[0031] Compared with the prior art, the present invention has the following advantages: when the write backup function is enabled, the normal write operation performance is not affected; and in the write failure error process processing, the error processing process can be simplified, thereby improving the write performance.

[0032] The present invention will be further described below with reference to the accompanying drawings and specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0034] Figure 1 A flowchart of a method for implementing an SSD with a write backup function provided by an embodiment of the present invention;

[0035] Figure 2 A schematic block diagram of an SSD device with a write backup function provided by an embodiment of the present invention;

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

[0037] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0038] It will be understood that when used in this specification and the appended claims, the terms “comprises” and “comprising” indicate the presence of described features, integers, steps, operations, elements and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

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

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

[0041] See also Figure 1 In the specific embodiment shown, the present invention discloses a method for SSD with write backup function, comprising the following steps:

[0042] S1, obtain the write command sent by the host, and the FTL assigns a node control command to each LPA write to obtain the write node control command;

[0043] Specifically, the node control command includes write command-related information such as the write operation type, operation address, backup address, and attributes of the write data.

[0044] S2, determine whether the write command is a command returned by the backend write failure;

[0045] After step S2, if the write command is a command returned by the back-end write failure, the process jumps to the FTL to send the write node control command to the back-end NFC for processing, i.e., step S4.

[0046] S3: If the write command is not a command returned by the backend write failure, the FTL allocates the address backed up to the HMB space for each write node control command to obtain the address information of the HMB space;

[0047] S4, FTL sends the write node control command to the backend NFC for processing;

[0048] S5, NFC configures a hardware descriptor command for the write node control command and fills the address information of the HMB space into the hardware descriptor command to obtain the backup address of the hardware descriptor;

[0049] Specifically, NFC fills in information such as the write operation type and the write address into the hardware descriptor command according to the node command information.

[0050] S6, NFC performs a write operation on the NandFlash particle according to the hardware descriptor command and checks the backup address of the hardware descriptor;

[0051] NFC backs up data while executing a write operation based on the hardware descriptor command. This allows the NandFlash chip to write data while the data is being backed up, thus preventing the data backup from occupying the write operation time. If the backup address value in the descriptor is 0xffffffff, it is invalid; a value other than all FFs is valid.

[0052] S7, determining whether the backup address of the hardware descriptor is valid;

[0053] Specifically, the backup address of the hardware descriptor is assigned and specified by the FTL. If the address is 0xffffffff, it is an invalid address, which indicates that the data to be written does not need to be backed up.

[0054] After step S7, if the backup address of the hardware descriptor is invalid, the process jumps to step S9 to determine whether the execution result of the hardware descriptor is a write failure.

[0055] Among them, the backup address in the hardware descriptor can also be invalid, such as 0xffffffff, then NFC does not perform write backup when performing a write operation, that is, for the write operation, whether to enable the write backup function can be independently controlled by configuring the address.

[0056] S8: If the backup address of the hardware descriptor is valid, NFC will back up the write data to the specified HMB space.

[0057] Specifically, the designated HMB space refers to a buffer space in the host for use by the SSD. NFC backs up data to a specific address, which is allocated and managed by the FTL. The backup address is not limited to the HMB space address, but can also be the address of DDR or SRAM.

[0058] After step S8, the method further includes: S9, determining whether the execution result of the hardware descriptor is a write failure;

[0059] S10, if the execution result of the hardware descriptor is a write failure, the NFC records the position of the error status in the write node control command and returns the write node control command to the FTL;

[0060] After step S10, the process further includes: returning to step S2;

[0061] S11: If the execution result of the hardware descriptor is not write failure, the SSD ends the write operation.

[0062] In the present invention, when the front-end NVME of the SSD receives a write command and passes it to the FTL, the FTL assigns a node control command for the write operation of each LPA and assigns an address backed up to the HMB space for the node. If the write control node processed by the FTL is a command returned by a back-end write failure, the physical information of the write point is directly assigned to the write node control command and then passed to the back-end NFC layer. After the back-end NFC receives the write command control information, it configures a hardware descriptor for it and fills the backup address in the write node control command information into the hardware descriptor. While executing the write operation according to the descriptor, NFC determines whether the backup address is valid. If valid, the Host write data is backed up to the specified HMB space through the PCIE bus. After the write operation is completed, the descriptor execution status is queried. If the write fails, the error status position of the corresponding write node control command is recorded and returned to the FTL. If the write is successful, the write control node resources are released and the write operation process ends.

[0063] The present invention can not affect the normal write operation performance when the write backup function is turned on, and can simplify the error handling process in the write failure error process processing, thereby improving the write performance. Among them, the data backup is changed from being completed by NVME to being completed by the back-end NFC when the Nand particle executes the program operation after the write data transmission is completed, without affecting the data transmission performance. After the write operation fails, the FTL layer no longer passes the error information to the front-end NVME layer and then reconfigures and sends the command to the FTL and the back-end. Instead, the FTL layer reallocates the write point information and directly sends it to the back-end. At the same time, the FTL specifies a backup address for each LPA data or does not specify a backup address. In this way, NFC only needs to decide whether to perform data backup and what space to back up the data to based on the backup address, which effectively simplifies the error handling process, thereby improving the write performance.

[0064] See also Figure 2 As shown, the present invention also discloses an SSD device with a write backup function, comprising: an acquisition allocation unit 10, a first judgment unit 20, an allocation backup unit 30, a sending unit 40, a configuration filling unit 50, an execution check unit 60, a second judgment unit 70 and a backup unit 80;

[0065] The acquisition allocation unit 10 is used to acquire the write command sent by the host, and the FTL allocates a node control command to each LPA write to obtain a write node control command;

[0066] The first judgment unit 20 is used to judge whether the write command is a command returned by a backend write failure;

[0067] The allocation backup unit 30 is configured to allocate a backup address to the HMB space for each write node control command if the write command is not a command returned by a backend write failure, so as to obtain address information of the HMB space;

[0068] The sending unit 40 is used for the FTL to send the write node control command to the back-end NFC processing;

[0069] The configuration filling unit 50 is used for NFC to configure a hardware descriptor command for a write node control command, and fill the address information of the HMB space into the hardware descriptor command to obtain a backup address of the hardware descriptor;

[0070] The execution checking unit 60 is used for NFC to perform a write operation on the NandFlash particle according to the hardware descriptor command and check the backup address of the hardware descriptor;

[0071] The second determining unit 70 is configured to determine whether the backup address of the hardware descriptor is valid;

[0072] The backup unit 80 is configured to enable NFC to back up write data to a designated HMB space if the backup address of the hardware descriptor is valid.

[0073] The device further includes: a first jump unit, which is used to jump to execute the FTL to send the write node control command to the backend NFC for processing if the write command is a command returned by the backend write failure.

[0074] The device further includes: a third judgment unit, configured to judge whether the execution result of the hardware descriptor is a write failure; if the execution result of the hardware descriptor is a write failure, the NFC records the position of the error state in the write node control command and returns the write node control command to the FTL; if the execution result of the hardware descriptor is not a write failure, the SSD ends the write operation.

[0075] The device further includes: a second jump unit, which is used to jump to the execution of the judgment whether the execution result of the hardware descriptor is a write failure if the backup address of the hardware descriptor is invalid; if the execution result of the hardware descriptor is a write failure, the NFC records the position of the error state in the write node control command and returns the write node control command to the FTL; if the execution result of the hardware descriptor is not a write failure, the SSD ends the write operation.

[0076] It should be noted that those skilled in the art can clearly understand that the specific implementation process of the above-mentioned SSD device with write backup function and each unit can refer to the corresponding description in the aforementioned method embodiment. For the convenience and brevity of the description, it will not be repeated here.

[0077] The above-mentioned SSD device with write backup function can be implemented in the form of a computer program. The computer program can be used in Figure 3 Runs on the computer equipment shown.

[0078] See also Figure 3 , Figure 3 This is a schematic block diagram of a computer device provided in an embodiment of the present application. The computer device 500 can be a terminal or a server. The terminal can be a smart phone, tablet computer, laptop computer, desktop computer, personal digital assistant, wearable device, or other electronic device with communication capabilities. The server can be a standalone server or a server cluster consisting of multiple servers.

[0079] See Figure 3 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 .

[0080] The non-volatile storage medium 503 can store an operating system 5031 and a computer program 5032. The computer program 5032 includes program instructions, which, when executed, can enable the processor 502 to execute a method for an SSD with a write backup function.

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

[0082] 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 SSD with write backup function.

[0083] The network interface 505 is used to communicate with other devices through the network. Figure 3 The structure shown in the figure is merely a block diagram of a portion of the structure related to the solution of the present application, and does not constitute a limitation on the computer device 500 to which the solution of the present application is applied. The specific computer device 500 may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0084] The processor 502 is configured to execute a computer program 5032 stored in the memory to implement the following steps:

[0085] Step S1: Obtain the write command sent by the host. The FTL assigns a node control command to each LPA write to obtain a write node control command.

[0086] Step S2, determining whether the write command is a command returned by a backend write failure;

[0087] Step S3: If the write command is not a command returned by the backend due to write failure, the FTL allocates an address backed up to the HMB space for each write node control command to obtain the address information of the HMB space;

[0088] Step S4: FTL sends the write node control command to the backend NFC for processing;

[0089] Step S5: NFC configures a hardware descriptor command for the write node control command, and fills the address information of the HMB space into the hardware descriptor command to obtain a backup address of the hardware descriptor;

[0090] Step S6: NFC performs a write operation on the NandFlash particle according to the hardware descriptor command and checks the backup address of the hardware descriptor;

[0091] Step S7, determining whether the backup address of the hardware descriptor is valid;

[0092] Step S8: If the backup address of the hardware descriptor is valid, NFC backs up the write data to the specified HMB space.

[0093] 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. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0094] Those skilled in the art will appreciate that all or part of the steps in the method of the above-described embodiment can be implemented by instructing the relevant hardware through a computer program. The computer program includes program instructions, which can be stored in a storage medium that is computer-readable. The program instructions are executed by at least one processor in the computer system to implement the steps in the method of the above-described embodiment.

[0095] Therefore, the present invention also provides a storage medium. The storage medium can be a computer-readable storage medium. The storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the above-mentioned method of SSD with write backup function can be implemented. The storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the above-mentioned method can be implemented. The program instructions include the following steps:

[0096] Step S1: Obtain the write command sent by the host. The FTL assigns a node control command to each LPA write to obtain a write node control command.

[0097] Step S2, determining whether the write command is a command returned by a backend write failure;

[0098] Step S3: If the write command is not a command returned by the backend due to write failure, the FTL allocates an address backed up to the HMB space for each write node control command to obtain the address information of the HMB space;

[0099] Step S4: FTL sends the write node control command to the backend NFC for processing;

[0100] Step S5: NFC configures a hardware descriptor command for the write node control command, and fills the address information of the HMB space into the hardware descriptor command to obtain a backup address of the hardware descriptor;

[0101] Step S6: NFC performs a write operation on the NandFlash particle according to the hardware descriptor command and checks the backup address of the hardware descriptor;

[0102] Step S7, determining whether the backup address of the hardware descriptor is valid;

[0103] Step S8: If the backup address of the hardware descriptor is valid, NFC backs up the write data to the specified HMB space.

[0104] The storage medium may be any computer-readable storage medium that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a magnetic disk, or an optical disk.

[0105] Those skilled 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 above description has generally described the composition and steps of each example according to function. 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.

[0106] In the several embodiments provided herein, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the various units is merely a logical functional division, and actual implementation may employ other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be omitted or not implemented.

[0107] The steps in the methods of the embodiments of the present invention may be adjusted in order, combined, or deleted as needed. The units in the devices of the embodiments of the present invention may be combined, divided, or deleted as needed. Furthermore, the functional units in the various embodiments of the present invention may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit.

[0108] If this integrated unit is implemented as 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, or the part that contributes to the existing technology, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, terminal, or network device, etc.) to execute all or part of the steps of the method described in various embodiments of the present invention.

[0109] The above embodiments are preferred implementation schemes of the present invention. In addition, the present invention can also be implemented in other ways. Any obvious replacement without departing from the concept of the present technical solution is within the scope of protection of the present invention.

Claims

1. A method for providing an SSD with a write backup function, characterized in that: The following steps are involved: Get the write command sent by the host, and FTL assigns a node control command to each LPA write to obtain the write node control command; Determine whether the write command is the command returned by the backend write failure; If the write command is not the command returned by the backend write failure, the FTL allocates the address backed up to the HMB space for each write node control command to obtain the address information of the HMB space; FTL sends the write node control command to the backend NFC for processing; NFC configures the hardware descriptor command for the write node control command and fills the address information of the HMB space into the hardware descriptor command to obtain the backup address of the hardware descriptor; NFC performs a write operation on the NandFlash particle according to the hardware descriptor command and checks the backup address of the hardware descriptor; Determine whether the backup address of the hardware descriptor is valid; If the backup address of the hardware descriptor is valid, NFC will back up the write data to the specified HMB space; Among them, FTL is Flash Translation Layer; LPA is Logical Page Address; HMB is Host Memory Buffer; NFC is Near Field Communication.

2. The method for providing an SSD with a write backup function according to claim 1, wherein: After the step of determining whether the write command is a command returned by a back-end write failure, if the write command is a command returned by a back-end write failure, the FTL is jumped to execute and sends the write node control command to the back-end NFC for processing.

3. The method for providing an SSD with a write backup function according to claim 1, wherein: After the step of NFC backing up the write data to the specified HMB space if the backup address of the hardware descriptor is valid, the method further includes: determining whether the execution result of the hardware descriptor is a write failure; if the execution result of the hardware descriptor is a write failure, the NFC records the position of the error state in the write node control command and returns the write node control command to the FTL; if the execution result of the hardware descriptor is not a write failure, the SSD ends the write operation.

4. The method for providing an SSD with a write backup function according to claim 3, wherein: After the step of determining whether the backup address of the hardware descriptor is valid, the method further includes: if the backup address of the hardware descriptor is invalid, jumping to the step of determining whether the execution result of the hardware descriptor is a write failure; if the execution result of the hardware descriptor is a write failure, the NFC records the position of the error state in the write node control command and returns the write node control command to the FTL; if the execution result of the hardware descriptor is not a write failure, the SSD ends the write operation.

5. An SSD device with a write-backup function, characterized in that: include: Acquisition allocation unit, first judgment unit, allocation backup unit, sending unit, configuration filling unit, execution check unit, second judgment unit and backup unit; The acquisition allocation unit is used to acquire the write command sent by the host, and the FTL allocates a node control command to each LPA write to obtain a write node control command; The first judging unit is configured to judge whether the write command is a command returned due to a backend write failure; The allocation backup unit is configured to allocate a backup address to the HMB space for each write node control command if the write command is not a command returned by a backend write failure, so as to obtain address information of the HMB space; The sending unit is used for the FTL to send the write node control command to the back-end NFC processing; The configuration filling unit is used for NFC to configure a hardware descriptor command for a write node control command, and fill the address information of the HMB space into the hardware descriptor command to obtain a backup address of the hardware descriptor; The execution checking unit is used for NFC to perform a write operation on the NandFlash particle according to the hardware descriptor command and check the backup address of the hardware descriptor; The second determining unit is configured to determine whether the backup address of the hardware descriptor is valid; The backup unit is configured to cause NFC to back up the write data to a specified HMB space if the backup address of the hardware descriptor is valid; Among them, FTL is Flash Translation Layer; LPA is Logical Page Address; HMB is Host Memory Buffer; NFC is Near Field Communication.

6. The SSD device with write backup function according to claim 5, characterized in that: Also includes: The first jump unit is configured to jump to the FTL to send the write node control command to the backend NFC for processing if the write command is a command returned by the backend write failure.

7. The SSD device with write backup function according to claim 5, characterized in that: Also includes: A third judging unit is used to judge whether the execution result of the hardware descriptor is a write failure; If the execution result of the hardware descriptor is a write failure, the NFC records the location of the error status in the write node control command and returns the write node control command to the FTL; If the execution result of the hardware descriptor is not write failure, the SSD ends the write operation.

8. The SSD device with write backup function according to claim 7, characterized in that: Also includes: A second jump unit is configured to jump to the step of determining whether the execution result of the hardware descriptor is a write failure if the backup address of the hardware descriptor is invalid; If the execution result of the hardware descriptor is a write failure, the NFC records the location of the error status in the write node control command and returns the write node control command to the FTL; If the execution result of the hardware descriptor is not write failure, the SSD ends the write operation.

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 for an SSD with a write backup function according to any one of claims 1 to 4 when executing the computer program.

10. A storage medium, characterized in that: The storage medium stores a computer program, wherein the computer program includes program instructions. When the program instructions are executed by a processor, the method for an SSD with a write backup function according to any one of claims 1 to 4 can be implemented.

Citation Information

Patent Citations

  • Method for correcting error of write operation of solid state hard disk

    CN102073561A

  • Solid-state mass storage device and method for persisting volatile data to non-volatile media

    US20160378337A1