CN114625563A - Data protection method and device of SSD, readable storage medium and electronic equipment - Google Patents

Data protection method and device of SSD, readable storage medium and electronic equipment Download PDF

Info

Publication number
CN114625563A
CN114625563A CN202210508760.8A CN202210508760A CN114625563A CN 114625563 A CN114625563 A CN 114625563A CN 202210508760 A CN202210508760 A CN 202210508760A CN 114625563 A CN114625563 A CN 114625563A
Authority
CN
China
Prior art keywords
data
plane
check
cross
protection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210508760.8A
Other languages
Chinese (zh)
Other versions
CN114625563B (en
Inventor
孙成思
孙日欣
胡伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Baiwei Storage Technology Co ltd
Biwin Storage Technology Co Ltd
Original Assignee
Chengdu Baiwei Storage Technology Co ltd
Biwin Storage Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Baiwei Storage Technology Co ltd, Biwin Storage Technology Co Ltd filed Critical Chengdu Baiwei Storage Technology Co ltd
Priority to CN202210508760.8A priority Critical patent/CN114625563B/en
Publication of CN114625563A publication Critical patent/CN114625563A/en
Application granted granted Critical
Publication of CN114625563B publication Critical patent/CN114625563B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD

Abstract

The invention discloses a data protection method and device of an SSD, a readable storage medium and electronic equipment, wherein data writing completion information of a host is received, and the data writing completion information comprises written data; determining the same plane data and cross-plane data according to the written data; performing LDPC data protection on the same plane data according to a first preset size to obtain first check data, and storing the first check data; and performing LDPC data protection on the cross-plane data according to a second preset size to obtain second check data, storing the second check data, combining the same-plane LDPC algorithm with the cross-plane LDPC algorithm, and solving a fault by using the cross-plane LDPC algorithm when error bits of a plurality of planes exceed the error correction capability of the same-plane LDPC algorithm, so that the error correction capability of the whole master control is improved, and effective data protection is realized.

Description

Data protection method and device of SSD, readable storage medium and electronic equipment
Technical Field
The present invention relates to the field of data protection technologies, and in particular, to a method and an apparatus for protecting data of an SSD, a readable storage medium, and an electronic device.
Background
At present, mainstream SSD (Solid State Disk) main control supports an LDPC (Low Density Parity Check Code) error correction algorithm, and different LDPC error correction algorithms support the repair of data bit errors of different degrees; currently, in the development of SSD firmware, the LDPC error correction algorithm is mainly used for error correction of write data; for example, 4k data is written by the host, an LDPC error correction algorithm generates a certain number of LDPC error correction codes for the 4k original data, and then the host 4k + LDPC error correction codes are packed and written into NAND (computer flash memory device); since each page in NAND protects the redundancy space, e.g., supporting 16KB page size, which actually supports about 18KB data writing, this extra 2KB redundancy space can store the LDPC error correction code; if the data is lost due to hardware reasons on the NAND, and the error correction codes calculated according to the host data are found to be mismatched, data recovery can be carried out according to the error correction codes; different LDPC error correction algorithms have different error correction capabilities, and the recoverable bit number is different, so that data loss can be caused once the recoverable bit number is exceeded; whereas RAID (Redundant Array of Inexpensive Disks) has the effect of recovering data for failed blocks, e.g., RAID5 recovers failed data by XOR of parity data (parity data) and host data.
At present, most SSD manufacturers select a combination of LDPC and RAID to perform data protection, but as shown in fig. 4, if too many page data err bits (error bits) at the same position appear in two blocks at the same time, the data of the two pages cannot be recovered at the same time through the parity check data of RAID.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: provided are a data protection method and device of an SSD, a readable storage medium and an electronic device, which can realize effective data protection.
In order to solve the technical problems, the invention adopts a technical scheme that:
a data protection method of an SSD comprises the following steps:
receiving data writing completion information of a host, wherein the data writing completion information comprises written data;
determining the same plane data and cross-plane data according to the written data;
performing LDPC data protection on the same plane data according to a first preset size to obtain first check data, and storing the first check data;
and performing LDPC data protection on the cross-plane data according to a second preset size to obtain second check data, and storing the second check data.
In order to solve the technical problem, the invention adopts another technical scheme as follows:
a data protection device of an SSD, comprising:
the data receiving module is used for receiving data writing completion information of a host, wherein the data writing completion information comprises written data;
the data determining module is used for determining the same plane data and cross-plane data according to the written data;
the first data protection module is used for performing LDPC data protection on the same plane data according to a first preset size to obtain first check data and storing the first check data;
and the second data protection module is used for performing LDPC data protection on the cross-plane data according to a second preset size to obtain second check data and storing the second check data.
In order to solve the technical problem, the invention adopts another technical scheme as follows:
a computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements the steps in a data protection method of an SSD as described above.
In order to solve the technical problem, the invention adopts another technical scheme as follows:
an electronic device comprises a memory, a processor and a computer program stored on the memory and capable of running on the processor, wherein the processor executes the computer program to realize the steps of the data protection method of the SSD.
The invention has the beneficial effects that: receiving data writing completion information of a host, wherein the data writing completion information comprises written data, determining the same plane data and cross plane data according to the written data, performing LDPC data protection on the same plane data according to a first preset size to obtain first check data, storing the first check data, performing LDPC data protection on the cross plane data according to a second preset size to obtain second check data, storing the second check data, combining the same plane LDPC algorithm and the cross plane LDPC algorithm, calculating the written data by using the same plane LDPC data protection and the cross plane LDPC data protection to obtain check data when the same plane data and the cross plane LDPC data exist in the written data, and solving a fault by using the cross plane LDPC algorithm when error bits of a plurality of planes exceed the error correction capability of the same plane LDPC algorithm so as to improve the whole error correction capability of the host, thereby achieving effective data protection.
Drawings
FIG. 1 is a flowchart illustrating steps of a method for protecting data in an SSD according to an embodiment of the present invention;
FIG. 2 is a schematic structural diagram of a data protection apparatus of an SSD according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present invention;
FIG. 4 is a diagram illustrating a data protection method of LDPC + RAID combination according to the prior art;
fig. 5 is a schematic diagram of a check data layout of a same plane LDPC algorithm and a cross plane LDPC algorithm in the SSD data protection method according to the embodiment of the present invention;
fig. 6 is a schematic flow chart illustrating data protection performed by a cross-plane LDPC algorithm in the data protection method of the SSD according to the embodiment of the present invention;
fig. 7 is a schematic diagram illustrating error correction requirements across a plane LDPC algorithm in the data protection method of the SSD according to the embodiment of the present invention.
Detailed Description
In order to explain technical contents, achieved objects, and effects of the present invention in detail, the following description is made with reference to the accompanying drawings in combination with the embodiments.
Referring to fig. 1, an embodiment of the present invention provides a data protection method for an SSD, including:
receiving data writing completion information of a host, wherein the data writing completion information comprises written data;
determining the same plane data and cross-plane data according to the written data;
performing LDPC data protection on the same plane data according to a first preset size to obtain first check data, and storing the first check data;
and performing LDPC data protection on the cross-plane data according to a second preset size to obtain second check data, and storing the second check data.
From the above description, the beneficial effects of the present invention are: receiving data writing completion information of a host, wherein the data writing completion information comprises written data, determining the same plane data and cross plane data according to the written data, performing LDPC data protection on the same plane data according to a first preset size to obtain first check data, storing the first check data, performing LDPC data protection on the cross plane data according to a second preset size to obtain second check data, storing the second check data, combining the same plane LDPC algorithm and the cross plane LDPC algorithm, and when the written data contains the same plane data and the cross plane LDPC data, respectively performing calculation on the written data by using the same plane LDPC data protection and the cross plane LDPC data protection to obtain the check data, and when error bits of a plurality of planes exceed the error correction capability of the same plane LDPC algorithm, solving a fault by using the cross plane LDPC algorithm so as to improve the error correction capability of the whole host, thereby achieving effective data protection.
Further, the determining the same-plane data and cross-plane data according to the written data includes:
acquiring plane position data corresponding to the written data;
and judging whether the plane position data corresponds to a plurality of planes, if so, determining the written data as cross-plane data, determining the written data corresponding to each of the planes as same-plane data, and if not, determining the written data as same-plane data.
As can be seen from the above description, different planes may be involved in a single data write, and if the obtained plane location data corresponding to the written data corresponds to multiple planes, it indicates that the written data is cross-plane data, and determines the written data corresponding to each of the multiple planes as the same plane data, and if multiple planes do not exist, it may directly determine the written data as the same plane data, so as to perform data protection subsequently according to different data by using different LDPC algorithms.
Further, the performing LDPC data protection on the same plane data according to a first preset size to obtain first check data includes:
dividing the same plane data into target same plane data by taking a first preset size as a unit, and performing LDPC data protection on the target same plane data to obtain first check data.
As can be seen from the above description, the same-plane data is divided into the target same-plane data by using the first preset size as a unit, and the target same-plane data is subjected to LDPC data protection to obtain the first check data, and when a single-plane fault occurs, the first check data can be directly used to perform data recovery on erroneous data, thereby improving the efficiency of data protection.
Further, the saving the first check data includes:
determining a page redundant space corresponding to the same plane data;
and saving the first check data to the page redundancy space.
As can be seen from the above description, an extra redundant space exists in a page (page) of the flash memory, and the page redundant space can be directly used to store the first check data of the same plane, so that data does not need to be read from a disk, and data recovery when a single plane fails is facilitated.
Further, the performing LDPC data protection on the cross-plane data according to a second preset size to obtain second check data includes:
dividing the cross-plane data into target cross-plane data by taking a second preset size as a unit;
performing LDPC data protection on the target cross-plane data by taking a preset data volume as a unit to obtain a plurality of target second check data;
and obtaining second check data according to the plurality of target second check data.
According to the description, the cross-plane data is divided into the target cross-plane data by taking the second preset size as a unit, the target cross-plane data is subjected to LDPC data protection by taking the preset data amount as a unit to obtain a plurality of target second check data, the second check data is obtained according to the plurality of target second check data, and when a multi-plane fault occurs and the same-plane data protection cannot be recovered, the second check data can be used for performing data recovery on error data, so that the LDPC data protection can be used for various fault scenes, the applicability of the LDPC data protection is improved, and effective data protection is realized.
Further, the saving the second check-up data comprises:
determining a disk storage space corresponding to the second check data;
storing the second check data to the disk storage space, and acquiring a first physical address corresponding to the target cross-plane data of the preset data volume and a second physical address corresponding to each target second check data;
and generating a mapping table corresponding to the cross-plane data according to the first physical address and the second physical address.
According to the above description, after the second check data is obtained through calculation, the host allocates new space storage for the second check data, stores the second check data into the disk storage space, obtains the first physical address corresponding to the target cross-plane data with the preset data volume and the second physical address corresponding to each target second check data, generates the corresponding mapping table according to the first physical address and the second physical address, and can accurately obtain the position of the second check data according to the mapping table subsequently, so that data protection is realized.
Further, the saving the second check-up data comprises:
receiving a data recovery request, wherein the data recovery request comprises data to be recovered;
determining first check data corresponding to the data to be recovered according to the data recovery request;
restoring the data to be restored by using the first check data to obtain a restoration result;
judging whether the recovery result is recovery failure or not, if so, inquiring a second physical address of second check data corresponding to the data to be recovered according to the mapping table;
and reading the second check data according to the second physical address, and recovering the data to be recovered by using the second check data.
As can be seen from the above description, when data recovery is required, first check data is determined, the data to be recovered is recovered by using the first check data, if the recovery fails, cross-plane data protection is adopted for data recovery, and a mapping table is used to determine second check data of the data to be recovered, so that the error correction capability of the whole master control is improved, and effective data protection is realized.
Referring to fig. 2, another embodiment of the present invention provides a data protection device for an SSD, including:
the data receiving module is used for receiving data writing completion information of a host, wherein the data writing completion information comprises written data;
the data determining module is used for determining the same plane data and cross-plane data according to the written data;
the first data protection module is used for performing LDPC data protection on the same plane data according to a first preset size to obtain first check data and storing the first check data;
and the second data protection module is used for performing LDPC data protection on the cross-plane data according to a second preset size to obtain second check data and storing the second check data.
Another embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, the computer program, when being executed by a processor, implementing each step in the above data protection method for an SSD.
Referring to fig. 3, another embodiment of the present invention provides an electronic device, which includes 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 above-mentioned method for protecting data of an SSD when executing the computer program.
The above-mentioned SSD data protection method, apparatus, readable storage medium and electronic device can be applied to various types of Solid State Disks (SSD), such as flash Memory-based Solid State disks or DRAM (Dynamic Random Access Memory) -based Solid State disks, and are described below by specific embodiments:
example one
Referring to fig. 1, fig. 5 to fig. 7, a data protection method of an SSD of the present embodiment includes the steps of:
s1, receiving data writing completion information of the host, wherein the data writing completion information comprises written data;
s2, determining the same plane data and cross plane data according to the written data, which specifically includes:
s21, acquiring plane position data corresponding to the written data;
s22, judging whether the plane position data corresponds to a plurality of planes, if so, executing S23, and if not, executing S24;
s23, determining the written data as cross-plane data, and determining the written data corresponding to each plane in the multiple planes as same-plane data;
s24, determining the written data as the same plane data;
s3, performing LDPC data protection on the same plane data according to a first preset size to obtain first check data, and storing the first check data, as shown in fig. 5, specifically including:
s31, dividing the same plane data into target same plane data by taking a first preset size as a unit, and performing LDPC data protection on the target same plane data to obtain first check data;
the first preset size may be set according to a writable data size of each page (page) of the SSD, and in this embodiment, the first preset size is 16 k;
for example, if the same plane data has 16k, the 16k same plane data is the target same plane data, and the 16k target same plane data is subjected to LDPC data protection, so that the 16k target same plane data may obtain 2k first parity (check) data;
s32, determining a page redundant space corresponding to the same plane data;
for example, assuming 16k of the same plane data is located on plane0, then the corresponding page redundancy space is also located on plane 0;
s33, storing the first check data in the page redundant space;
for example, the obtained 2k first parity data is saved to the page redundancy space;
s4, performing LDPC data protection on the cross-plane data according to a second preset size to obtain second check data, and storing the second check data, as shown in fig. 5 and 6, specifically including:
s41, dividing the cross-plane data into target cross-plane data by taking a second preset size as a unit;
in this embodiment, the size of the parity data volume that can be accommodated by the SSD is 4k, and the second preset size is 16k × 4;
specifically, the cross-plane data is divided into target cross-plane data by taking 64k as a unit;
s42, performing LDPC data protection on the target cross-plane data by taking a preset data volume as a unit to obtain a plurality of target second check data;
wherein the preset data volume is 16 k;
specifically, performing LDPC data protection on target cross-plane data by taking 16k as a unit to obtain a plurality of target second check data;
s43, obtaining second check data according to the plurality of target second check data;
assuming that the cross-plane data has 64k, determining the 64k cross-plane data as 64k target cross-plane data, sequentially copying the 64k target cross-plane data to a buf (cache) area inside an LDCP parity computer (LDCP check calculator) according to the size of 16k, and then generating 4k target second parity data for each 16k target cross-plane data, so that the 64k target cross-plane data generates 16k second parity data in total, as shown in fig. 6;
s44, determining the disk storage space corresponding to the second check data;
specifically, the host newly allocates a storage space for the second check data to obtain a disk storage space, where the disk storage space may be located in the same plane as the last pushed data or in a different plane, depending on the current available space;
s45, saving the second check data to the disk storage space, and acquiring a first physical address corresponding to the target cross-plane data of the preset data size and a second physical address corresponding to each of the target second check data;
specifically, the second check data is saved in a disk storage space of the NAND, and a first PAA (physical address) corresponding to 16k target cross-plane data and a second PAA corresponding to each 4k target second parity data are obtained;
s46, generating a mapping table corresponding to the cross-plane data according to the first physical address and the second physical address;
each piece of mapping information in the mapping table is: < a first PAA of 16k data, a second PAA of 16k parity data + offset >, the 16k data representing 16k target cross-plane data, the offset representing an offset of the second PAA corresponding to each 4k target second parity data in the second PAA corresponding to the 16k second parity data;
s5, receiving a data recovery request, wherein the data recovery request comprises data to be recovered;
s6, determining first check data corresponding to the data to be restored according to the data restoration request;
s7, restoring the data to be restored by using the first check data to obtain a restoration result;
s8, judging whether the recovery result is recovery failure or not, if so, inquiring a second physical address of second check data corresponding to the data to be recovered according to the mapping table;
s9, reading the second check data according to the second physical address, and recovering the data to be recovered by using the second check data;
different LDPC data protection algorithms have different requirements, and cross-plane data protection can be realized only when Code length, error correction Code length and error correction capability meet the requirements, as shown in FIG. 7;
the data protection method of the SSD can be used in combination with an RAID mechanism, namely, the data protection of the same plane LDPC, the data protection of the cross plane LDPC and the data protection of the RAID check are available, if a single plane fault occurs, the recovery can be carried out based on the RAID, if a single plane fault and the scene that the data protection of the same plane LDPC cannot be recovered occur, the data protection of the cross plane LDPC can be used for recovery, so that the combined fault that block (block) fails and the error bit is too much is solved, the error correction capability of the master control is further improved, and the effective data protection is realized.
Example two
Referring to fig. 2, a data protection device of an SSD includes:
the data receiving module is used for receiving data writing completion information of a host, wherein the data writing completion information comprises written data;
the data determining module is used for determining the same plane data and cross-plane data according to the written data;
the first data protection module is used for performing LDPC data protection on the same plane data according to a first preset size to obtain first check data and storing the first check data;
and the second data protection module is used for performing LDPC data protection on the cross-plane data according to a second preset size to obtain second check data and storing the second check data.
EXAMPLE III
A computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, can implement the steps of the data protection method of the SSD in the first embodiment.
Example four
Referring to fig. 3, an electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor executes the computer program to implement the steps of the data protection method of the SSD according to the first embodiment.
In summary, the data protection method, apparatus, readable storage medium, and electronic device of the SSD provided by the present invention receive data write completion information of a host, where the data write completion information includes written data; determining the same plane data and cross-plane data according to the written data; dividing the same plane data into target same plane data by taking a first preset size as a unit, and performing LDPC data protection on the target same plane data to obtain first check data; dividing the cross-plane data into target cross-plane data by taking a second preset size as a unit; performing LDPC data protection on the target cross-plane data by taking a preset data volume as a unit to obtain a plurality of target second check data; obtaining second check data according to the plurality of target second check data, combining a same plane LDPC algorithm with a cross-plane LDPC algorithm, when there is both in-plane data and cross-plane data in the written data, then the check data is calculated by using the same plane LDPC data protection and cross plane LDPC data protection for the written data, when multiple planes have erroneous bits that exceed the error correction capability of the same plane LDPC algorithm, the failure can be resolved using a cross-plane LDPC algorithm, and, in addition, can be used in conjunction with a RAID mechanism, if a single plane failure occurs, recovery can be performed based on RAID, if a single plane failure + scenario where same plane LDPC data protection cannot be recovered occurs, the cross-planeLDPC data protection can be used for recovery, so that combined faults of block failure and excessive error bit are solved, the integral error correction capability of the master control is improved, and effective data protection is realized.
In the above embodiments provided in the present application, it should be understood that the disclosed method, apparatus, computer-readable storage medium, and electronic device may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules is only one logical division, and other divisions may be realized in practice, for example, a plurality of components or modules may be combined or integrated into another apparatus, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or components or modules, and may be in an electrical, mechanical or other form.
The components described as separate parts may or may not be physically separate, and parts displayed as components may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the components can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional modules in the embodiments of the present invention may be integrated into one processing module, or each component may exist alone physically, or two or more modules are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
The integrated module, if implemented in the form of a software functional module and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
It should be noted that, for the sake of simplicity, the above-mentioned method embodiments are described as a series of acts or combinations, but those skilled in the art should understand that the present invention is not limited by the described order of acts, as some steps may be performed in other orders or simultaneously according to the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no acts or modules are necessarily required of the invention.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
The above description is only an embodiment of the present invention, and not intended to limit the scope of the present invention, and all equivalent changes made by using the contents of the present specification and the drawings, or applied directly or indirectly to the related technical fields, are included in the scope of the present invention.

Claims (10)

1. A method of data protection of an SSD, comprising the steps of:
receiving data writing completion information of a host, wherein the data writing completion information comprises written data;
determining the same plane data and cross-plane data according to the written data;
performing LDPC data protection on the same plane data according to a first preset size to obtain first check data, and storing the first check data;
and performing LDPC data protection on the cross-plane data according to a second preset size to obtain second check data, and storing the second check data.
2. The method of claim 1, wherein the determining the same-plane data and the cross-plane data according to the written data comprises:
acquiring plane position data corresponding to the written data;
and judging whether the plane position data corresponds to a plurality of planes, if so, determining the written data as cross-plane data, determining the written data corresponding to each plane in the plurality of planes as same-plane data, and if not, determining the written data as same-plane data.
3. The method according to claim 1, wherein performing LDPC data protection on the same plane data according to a first preset size to obtain first check data comprises:
dividing the same plane data into target same plane data by taking a first preset size as a unit, and performing LDPC data protection on the target same plane data to obtain first check data.
4. The method of claim 1, wherein the saving the first parity data comprises:
determining a page redundant space corresponding to the same plane data;
and saving the first check data to the page redundancy space.
5. The method according to claim 1, wherein the performing LDPC data protection on the cross-plane data according to a second preset size to obtain second check data comprises:
dividing the cross-plane data into target cross-plane data by taking a second preset size as a unit;
performing LDPC data protection on the target cross-plane data by taking a preset data volume as a unit to obtain a plurality of target second check data;
and obtaining second check data according to the plurality of target second check data.
6. The method of claim 5, wherein the saving the second parity data comprises:
determining a disk storage space corresponding to the second check data;
storing the second check data to the disk storage space, and acquiring a first physical address corresponding to the target cross-plane data with the preset data volume and a second physical address corresponding to each target second check data;
and generating a mapping table corresponding to the cross-plane data according to the first physical address and the second physical address.
7. The method of claim 6, wherein the saving the second parity data comprises:
receiving a data recovery request, wherein the data recovery request comprises data to be recovered;
determining first check data corresponding to the data to be recovered according to the data recovery request;
restoring the data to be restored by using the first check data to obtain a restoration result;
judging whether the recovery result is recovery failure or not, if so, inquiring a second physical address of second check data corresponding to the data to be recovered according to the mapping table;
and reading the second check data according to the second physical address, and recovering the data to be recovered by using the second check data.
8. A data protection apparatus of an SSD, comprising:
the data receiving module is used for receiving data writing completion information of a host, wherein the data writing completion information comprises written data;
the data determining module is used for determining the same plane data and cross-plane data according to the written data;
the first data protection module is used for carrying out LDPC data protection on the same plane data according to a first preset size to obtain first check data and storing the first check data;
and the second data protection module is used for carrying out LDPC data protection on the cross-plane data according to a second preset size to obtain second check data and storing the second check data.
9. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of a method for data protection of an SSD, as claimed in any of claims 1 to 7.
10. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the steps of a method of data protection of an SSD as claimed in any of claims 1 to 7 when executing the computer program.
CN202210508760.8A 2022-05-11 2022-05-11 Data protection method and device of SSD, readable storage medium and electronic equipment Active CN114625563B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210508760.8A CN114625563B (en) 2022-05-11 2022-05-11 Data protection method and device of SSD, readable storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210508760.8A CN114625563B (en) 2022-05-11 2022-05-11 Data protection method and device of SSD, readable storage medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN114625563A true CN114625563A (en) 2022-06-14
CN114625563B CN114625563B (en) 2022-08-23

Family

ID=81906335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210508760.8A Active CN114625563B (en) 2022-05-11 2022-05-11 Data protection method and device of SSD, readable storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN114625563B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153961A1 (en) * 2003-01-20 2004-08-05 Samsung Electronics Co., Ltd. Parity storing method and error block recovering method in external storage subsystem
US20100199125A1 (en) * 2009-02-04 2010-08-05 Micron Technology, Inc. Systems and Methods for Storing and Recovering Controller Data in Non-Volatile Memory Devices
CN103631671A (en) * 2013-11-19 2014-03-12 无锡众志和达数据计算股份有限公司 Data protection method and controller for SSD storage
CN111143111A (en) * 2019-12-27 2020-05-12 深圳忆联信息系统有限公司 SSD mapping table protection mechanism verification method and device, computer equipment and storage medium
US20210200637A1 (en) * 2019-12-31 2021-07-01 Micron Technology, Inc. Managing storage of multiple plane parity data in a memory sub-system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153961A1 (en) * 2003-01-20 2004-08-05 Samsung Electronics Co., Ltd. Parity storing method and error block recovering method in external storage subsystem
US20100199125A1 (en) * 2009-02-04 2010-08-05 Micron Technology, Inc. Systems and Methods for Storing and Recovering Controller Data in Non-Volatile Memory Devices
CN103631671A (en) * 2013-11-19 2014-03-12 无锡众志和达数据计算股份有限公司 Data protection method and controller for SSD storage
CN111143111A (en) * 2019-12-27 2020-05-12 深圳忆联信息系统有限公司 SSD mapping table protection mechanism verification method and device, computer equipment and storage medium
US20210200637A1 (en) * 2019-12-31 2021-07-01 Micron Technology, Inc. Managing storage of multiple plane parity data in a memory sub-system

Also Published As

Publication number Publication date
CN114625563B (en) 2022-08-23

Similar Documents

Publication Publication Date Title
CN111104244B (en) Method and apparatus for reconstructing data in a storage array set
US9823967B2 (en) Storage element polymorphism to reduce performance degradation during error recovery
US9613656B2 (en) Scalable storage protection
US9292382B2 (en) Codewords that span pages of memory
US9377960B2 (en) System and method of using stripes for recovering data in a flash storage system
US20140068208A1 (en) Separately stored redundancy
US20070268905A1 (en) Non-volatile memory error correction system and method
US20100037091A1 (en) Logical drive bad block management of redundant array of independent disks
US20090113235A1 (en) Raid with redundant parity
US20140063983A1 (en) Error Detection And Correction In A Memory System
US20110029716A1 (en) System and method of recovering data in a flash storage system
MX2012010944A (en) Non-regular parity distribution detection via metadata tag.
US20120324148A1 (en) System and method of protecting metadata from nand flash failures
US11029857B2 (en) Offloading device maintenance to an external processor in low-latency, non-volatile memory
US9063869B2 (en) Method and system for storing and rebuilding data
CN106663044B (en) Memory with prolonged service life
TWI704451B (en) Method and apparatus for performing dynamic recovery management regarding redundant array of independent disks and storage system operating according to the method
CN111930552A (en) Bad block data recovery method and device, storage medium and electronic equipment
CN111816239B (en) Disk detection method and device, electronic equipment and machine-readable storage medium
US10552243B2 (en) Corrupt logical block addressing recovery scheme
US7356757B2 (en) Fault tolerance system and method for one or two failed disks in a disk array
CN105575439B (en) Method for correcting failure of storage unit and memory
CN114625563B (en) Data protection method and device of SSD, readable storage medium and electronic equipment
JP4843695B2 (en) Disk array control device and disk array device
CN111897676A (en) File backup method and device based on database index

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant