CN113625947B - Data error correction method, device, equipment and computer readable storage medium - Google Patents

Data error correction method, device, equipment and computer readable storage medium Download PDF

Info

Publication number
CN113625947B
CN113625947B CN202110720420.7A CN202110720420A CN113625947B CN 113625947 B CN113625947 B CN 113625947B CN 202110720420 A CN202110720420 A CN 202110720420A CN 113625947 B CN113625947 B CN 113625947B
Authority
CN
China
Prior art keywords
data
parameter set
error correction
offset voltage
data block
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.)
Active
Application number
CN202110720420.7A
Other languages
Chinese (zh)
Other versions
CN113625947A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110720420.7A priority Critical patent/CN113625947B/en
Publication of CN113625947A publication Critical patent/CN113625947A/en
Application granted granted Critical
Publication of CN113625947B publication Critical patent/CN113625947B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application discloses a data error correction method, which comprises the following steps: when the solid state disk is detected to be electrified and started, the offset voltage parameter set obtained by pre-training is called; traversing the offset voltage parameter set to read the unwritten data block before last power-down; judging whether the reading is successful or not; if yes, stopping traversing, and determining the read data set as a target data block for correcting the incompletely written data block. By applying the data error correction method provided by the application, the consumption of capacitance time is reduced, the success rate of data error correction is improved, and the influence on the service life of the hard disk is greatly reduced. The application also discloses a data error correction device, equipment and a storage medium, which have corresponding technical effects.

Description

Data error correction method, device, equipment and computer readable storage medium
Technical Field
The present application relates to the field of storage technologies, and in particular, to a data error correction method, apparatus, device, and computer readable storage medium.
Background
According to the electrical characteristics of a computer flash memory device (NAND) in a solid state disk (Solid State Drives, SSD), a data block (block) enters an open state after one page (page) is written, and enters a close state after all pages are written. For the data block in the closed state, the probability of Error (BER) of Bit in the data is not obviously increased when the data block is placed offline for a long time, and the data block can be corrected by Error recovery flow (Error Recovery Flow, ERF) when the data block is read. For the data block in the open state, if the data block is placed offline for a long time, the probability of error of Bit in the last written 4 page data is higher due to charge leakage and other reasons, and the Bit error is more obvious especially in the later life of the solid state disk.
In normal operation, a data block is closed before writing of the next data block is performed. However, when power-down is encountered, the data block is in a high probability of being not full, namely in an open state, and the power-down is placed offline for a long time or stored and then powered up. When the user data written last before power-down is read, the situation that the probability of error occurrence of Bit is high is encountered, and error correction is needed at the moment.
The existing data error correction method is mainly to write a first page of a data block in an open state, and fill four pages with empty data (dummy) if the data block is not closed within a specified time (such as 60 minutes), i.e. the user data is not full of the data block. When the user data is powered down, the time delay time is not equal after the user data is completely written, and the four pages are directly filled with the null data. Namely, the page with higher probability of error occurrence of the Bit falls on the empty data page, namely, the user data page before the empty data page is protected. However, this solution has two drawbacks: firstly, when abnormal power-down occurs, filling four empty data pages consumes capacitor time, which causes the risk of incomplete abnormal power-down, or may not fill four empty data pages, which causes the data to be still unrecoverable, and the success rate of data error correction is low. Secondly, the empty data is non-user data, which can improve the write amplification of the solid state disk and affect the life of the disk (program and erase count, PE).
In summary, how to effectively solve the problems of capacitor time consumption, low success rate of data error correction, and influence on the service life of the hard disk in the existing data error correction method is a urgent need for those skilled in the art.
Disclosure of Invention
The application aims to provide a data error correction method, which reduces the consumption of capacitance time, improves the success rate of data error correction and greatly reduces the influence on the service life of a hard disk; another object of the present application is to provide a data error correction apparatus, device, and computer-readable storage medium.
In order to solve the technical problems, the application provides the following technical scheme:
a method of data error correction, comprising:
when the solid state disk is detected to be electrified and started, the offset voltage parameter set obtained by pre-training is called;
traversing the offset voltage parameter set to read the unwritten data block before last power-down;
judging whether the reading is successful or not;
if yes, stopping traversing, and determining the read data set as a target data block for correcting the unfilled data block.
In a specific embodiment of the present application, after detecting that the solid state disk is powered on, before the step of calling the offset voltage parameter set obtained by pre-training, the method further includes:
correcting the error of the unwritten data block by using a preset error recovery flow;
judging whether error correction is successful or not;
if yes, determining the data set obtained by error correction as the target data block;
and if not, executing the step of calling the offset voltage parameter set obtained by the pre-training.
In one embodiment of the present application, the method further comprises:
and when the traversing of the offset voltage parameter set is completed and the reading fails, performing data error reporting operation.
In one embodiment of the present application, the invoking of the pre-trained set of offset voltage parameters includes:
acquiring current life information of the solid state disk;
determining a target preset life range corresponding to the current life information;
the offset voltage parameter set corresponding to the target preset life range is called from the offset voltage parameter set obtained through pre-training; and the offset voltage parameter set sets store the corresponding relation between each preset life range and each offset voltage parameter set.
A data error correction apparatus comprising:
the parameter set calling module is used for calling the offset voltage parameter set obtained by pre-training when the solid state disk is detected to be electrified and started;
the data block reading module is used for traversing the offset voltage parameter set to read the data block which is not fully written before the last power-down;
the first judging module is used for judging whether the reading is successful or not;
and the first data block determining module is used for stopping traversing when the read is determined to be successful, and determining the read data set as a target data block for correcting the unfilled data block.
In one embodiment of the present application, the method further comprises:
the data block error correction module is used for correcting errors of the unwritten data blocks by using a preset error recovery flow before the offset voltage parameter set obtained by pre-training is called after the solid state disk is detected to be electrified and started;
the second judging module is used for judging whether error correction is successful or not;
the second data block determining module is used for determining a data set obtained by error correction as the target data block when the error correction is successful;
the parameter set calling module is specifically a module for calling the offset voltage parameter set obtained by pre-training when error correction fails.
In one embodiment of the present application, the method further comprises:
and the error reporting module is used for carrying out data error reporting operation when the traversing of the offset voltage parameter set is completed and the reading is failed.
In one embodiment of the present application, the parameter set retrieving module includes:
the service life information acquisition sub-module is used for acquiring the current service life information of the solid state disk;
a life range determining sub-module, configured to determine a target preset life range corresponding to the current life information;
the parameter set calling sub-module is used for calling the offset voltage parameter set corresponding to the target preset life range from the offset voltage parameter set obtained through pre-training; and the offset voltage parameter set sets store the corresponding relation between each preset life range and each offset voltage parameter set.
A data error correction apparatus comprising:
a memory for storing a computer program;
a processor for implementing the steps of the data error correction method as described above when executing the computer program.
A computer readable storage medium having stored thereon a computer program which when executed by a processor implements the steps of a data error correction method as described above.
According to the data error correction method provided by the application, when the power-on start of the solid state disk is detected, the offset voltage parameter set obtained by pre-training is called; traversing the offset voltage parameter set to read the unwritten data block before last power-down; judging whether the reading is successful or not; if yes, stopping traversing, and determining the read data set as a target data block for correcting the incompletely written data block.
According to the technical scheme, the characteristics of the data blocks in the open state of the solid state disk are analyzed through pre-training, for example, each data block under different written pages can be pre-selected for training, namely, after the data blocks are opened for a long time, the data voltage deviation condition in the data blocks is obtained, and therefore the deviation voltage parameter set formed by each optimal voltage is obtained. When the solid state disk is powered on and started and the unfilled data block stored offline for a long time is required to be corrected, the unfilled data block is directly read by traversing the offset voltage parameter set, so that the correction of the unfilled data block is realized. The method does not need to fill in empty data, reduces the consumption of capacitance time, improves the success rate of data error correction, and greatly reduces the influence on the service life of the hard disk.
Correspondingly, the application further provides a data error correction device, equipment and a computer readable storage medium corresponding to the data error correction method, which have the technical effects and are not repeated herein.
Drawings
In order to more clearly illustrate the embodiments of the application or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of an implementation of a data error correction method in an embodiment of the present application;
FIG. 2 is a flow chart of another implementation of the data error correction method according to the embodiment of the present application;
FIG. 3 is a block diagram illustrating a data error correction apparatus according to an embodiment of the present application;
FIG. 4 is a block diagram illustrating a data error correction apparatus according to an embodiment of the present application;
fig. 5 is a schematic diagram of a specific structure of a data error correction apparatus according to this embodiment.
Detailed Description
In order to better understand the aspects of the present application, the present application will be described in further detail with reference to the accompanying drawings and detailed description. It will be apparent that the described embodiments are only some, but not all, embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
Referring to fig. 1, fig. 1 is a flowchart showing an implementation of a data error correction method according to an embodiment of the present application, the method includes the following steps:
s101: and when the power-on starting of the solid state disk is detected, the offset voltage parameter set obtained by the pre-training is called.
The optimal offset voltage parameter set for correcting the error of the unwritten data block before the last power-down is trained in advance, so that the offset voltage parameter set can successfully correct the unwritten data block regardless of the written page number of the unwritten data block before the last power-down. When the condition that the data block is not fully written before last power-down and is placed offline for a long time exists, and when the power-on starting of the solid state disk is detected, the offset voltage parameter set obtained through pre-training is called.
S102: and traversing the offset voltage parameter set to perform reading operation on the unwritten data block before last power-down.
The offset voltage parameter set comprises a plurality of offset voltage parameters, and after the offset voltage parameter set obtained by pre-training is called, the offset voltage parameter set is traversed to read the unwritten data block before last power-down.
S103: whether the reading is successful is judged, if yes, step S104 is executed, and if not, step S105 is executed.
After the offset voltage parameter set is traversed to read the unwritten data block before the last power-down, judging whether the reading is successful, if so, pre-recording the size of the unwritten data block before the last power-down, determining whether the reading is successful by comparing the size of the currently read data block with the original recording size, if so, executing step S104, if not, executing step S105, wherein the offset voltage parameter set which can correct the unwritten data block successfully is traversed.
S104: stopping traversing, and determining the read data set as a target data block for which error correction of the unwritten data block is completed.
When the read is determined to be successful, the method indicates that the read is already traversed to the offset voltage parameter set capable of correcting the error of the unfilled data block successfully, the continuous traversing of the offset voltage parameters in the offset voltage parameter set is not needed, the traversing is stopped, the read data set is determined to be the target data block for correcting the error of the unfilled data block, and therefore the error correction of the unfilled data block before the last power-down is completed. And reading the unfilled data block by traversing the offset voltage parameter set, so as to realize error correction of the unfilled data block. The method has the advantages that no empty data is needed to be filled, the consumption of capacitance time is reduced, the success rate of data error correction is improved, the reliability of data is improved, and the influence on the service life of the hard disk is greatly reduced.
S105: and when the traversing of the offset voltage parameter set is completed and the reading fails, performing data error reporting operation.
When the non-read is determined to be successful, the non-traversal is indicated to the offset voltage parameter set which can correct the error of the non-written data block successfully, the data error reporting operation is carried out on the completion of the traversal and the failure of the read of the offset voltage parameter set, so that an operation and maintenance person is instructed to know the data condition of the stored non-written data block of the solid state disk in time after the solid state disk is electrified.
According to the technical scheme, the characteristics of the data blocks in the open state of the solid state disk are analyzed through pre-training, for example, each data block under different written pages can be pre-selected for training, namely, after the data blocks are opened for a long time, the data voltage deviation condition in the data blocks is obtained, and therefore the deviation voltage parameter set formed by each optimal voltage is obtained. When the solid state disk is powered on and started and the unfilled data block stored offline for a long time is required to be corrected, the unfilled data block is directly read by traversing the offset voltage parameter set, so that the correction of the unfilled data block is realized. The method does not need to fill in empty data, reduces the consumption of capacitance time, improves the success rate of data error correction, and greatly reduces the influence on the service life of the hard disk.
It should be noted that, based on the above embodiments, the embodiments of the present application further provide corresponding improvements. The following embodiments relate to the same steps as those in the above embodiments or the steps corresponding to the steps may be referred to each other, and the corresponding beneficial effects may also be referred to each other, which will not be described in detail in the following modified embodiments.
Referring to fig. 2, fig. 2 is a flowchart illustrating another implementation of a data error correction method according to an embodiment of the present application, the method may include the following steps:
s201: when the power-on start of the solid state disk is detected, error correction is carried out on the unwritten data blocks by using a preset error recovery flow.
And presetting an error recovery flow for the data blocks which are not fully written before the last power-on and power-off of the solid state disk. When the power-on start of the solid state disk is detected, error correction is carried out on the unwritten data blocks by using a preset error recovery flow.
S202: whether error correction is successful is determined, if yes, step S203 is executed, and if no, step S204 is executed.
And judging whether the error correction is successful by correcting the unwritten data block by using the preset error recovery flow, if so, the unwritten data block is successfully corrected by the preset error recovery flow before the last power-down, the step S203 is executed without further shifting the voltage parameter set traversal process, if not, the step S204 is executed by further shifting the voltage parameter set traversal process, the failure of correcting the unwritten data block by the preset error recovery flow before the last power-down is indicated.
The error recovery flow is preset to correct the data block which is not fully written before the last power-down, if the data block which is not fully written before the last power-down can be successfully corrected through the preset error recovery flow, the error correction efficiency is improved.
S203: and determining the data set obtained by error correction as a target data block for which error correction of the unfilled data block is completed.
When the fact that the data block which is not fully written before the last power-down is successfully corrected through the preset error recovery flow is determined, a further traversing process of the offset voltage parameter set is not needed, the data set obtained through error correction is directly determined to be the target data block which is completely corrected through the data block which is not fully written, and therefore the data error correction flow is completed.
S204: and acquiring current service life information of the solid state disk.
When it is determined that the correction of the data block which is not fully written before the last power-down fails through the preset error recovery flow, a further offset voltage parameter group traversal process is required. And acquiring the current life information of the solid state disk, for example, calculating the current life information of the solid state disk according to the erased times and the erasable times.
S205: and determining a target preset life range corresponding to the current life information.
When the offset voltage parameter set is trained, the offset voltage parameter set is distinguished and trained according to the service life of the solid state disk, and a corresponding relation exists between each offset voltage parameter set obtained through training and each service life information. After the current life information of the solid state disk is obtained, determining a target preset life range corresponding to the current life information.
S206: and calling the offset voltage parameter set corresponding to the target preset life range from the offset voltage parameter set obtained through pre-training.
The offset voltage parameter set sets store the corresponding relation between each preset life range and each offset voltage parameter set.
Because the corresponding relation between each preset life range and each offset voltage parameter set is stored in the offset voltage parameter set (such as the firmware code data set), after the target preset life range corresponding to the current life information is determined, the offset voltage parameter set corresponding to the target preset life range is called from the offset voltage parameter set obtained through pre-training. By carrying out corresponding training division on the offset voltage parameter sets according to the service life range of the solid state disk, the success rate of data error correction is further improved. And the probability of successful data error correction is improved by retrying the retry mode to correct the errors.
The training process of the offset voltage parameter set may include: and performing characteristic analysis on the computer flash memory device, performing characteristic analysis on the open state data blocks in different preset life ranges, and sampling a plurality of data blocks. And respectively writing a plurality of data blocks into one page, writing one third of the total page number of the data blocks, writing two thirds of the total page number of the data blocks, and then storing offline for a long time. After offline storage, different offset voltages are tried to read data after power-on until the data is successfully read, if the probability threshold value of the error of the Bit judged as the successful reading can be preset, when the error of the Bit of the read data is lower than the threshold value, the data is determined to be the successful reading, and the offset voltage is recorded. And by analogy, finding out a group of optimal offset voltages, namely, various open state data blocks can be successfully read.
S207: and traversing the offset voltage parameter set to perform reading operation on the unwritten data block before last power-down.
S208: whether the reading is successful is determined, if yes, step S209 is executed, and if not, step S210 is executed.
S209: stopping traversing, and determining the read data set as a target data block for which error correction of the unwritten data block is completed.
S210: and when the traversing of the offset voltage parameter set is completed and the reading fails, performing data error reporting operation.
According to different actual situations and requirements, the technical schemes can be flexibly combined on the basis of not affecting the integrity of the schemes so as to better meet the requirements of different use scenes, and the embodiment only provides one scheme with the most schemes and the optimal effect, because the situation is complex and all possible schemes cannot be listed one by one, and a person skilled in the art should realize that many examples can exist according to the basic method principle provided by the application in combination with the actual situations, and the method is within the protection scope of the application without enough creative labor.
Corresponding to the above method embodiments, the present application further provides a data error correction device, and the data error correction device described below and the data error correction device method described above may be referred to correspondingly.
Referring to fig. 3, fig. 3 is a block diagram illustrating a data error correction apparatus according to an embodiment of the present application, the apparatus may include:
the parameter set retrieving module 31 is configured to retrieve an offset voltage parameter set obtained by pre-training when it is detected that the solid state disk is powered on;
the data block reading module 32 is configured to traverse the offset voltage parameter set to perform a reading operation on the unwritten data block before the last power-down;
a first judging module 33, configured to judge whether the reading is successful;
the first data block determining module 34 is configured to stop traversing when it is determined that the reading is successful, and determine the read data set as a target data block for which error correction is completed for the unwritten data block.
According to the technical scheme, the characteristics of the data blocks in the open state of the solid state disk are analyzed through pre-training, for example, each data block under different written pages can be pre-selected for training, namely, after the data blocks are opened for a long time, the data voltage deviation condition in the data blocks is obtained, and therefore the deviation voltage parameter set formed by each optimal voltage is obtained. When the solid state disk is powered on and started and the unfilled data block stored offline for a long time is required to be corrected, the unfilled data block is directly read by traversing the offset voltage parameter set, so that the correction of the unfilled data block is realized. The method does not need to fill in empty data, reduces the consumption of capacitance time, improves the success rate of data error correction, and greatly reduces the influence on the service life of the hard disk.
In one embodiment of the present application, the apparatus may further include:
the data block error correction module is used for correcting errors of the underwritten data blocks by using a preset error recovery flow before the pre-trained offset voltage parameter set is called after the solid state disk is detected to be electrified and started;
the second judging module is used for judging whether error correction is successful or not;
the second data block determining module is used for determining a data set obtained by error correction as a target data block when the error correction is successful;
the parameter set retrieving module 31 is specifically a module for retrieving the offset voltage parameter set obtained by pre-training when error correction fails.
In one embodiment of the present application, the apparatus may further include:
and the error reporting module is used for carrying out data error reporting operation when the traversing of the offset voltage parameter set is completed and the reading fails.
In one embodiment of the present application, the parameter set retrieving module 31 includes:
the service life information acquisition sub-module is used for acquiring the current service life information of the solid state disk;
the life range determining submodule is used for determining a target preset life range corresponding to the current life information;
the parameter set calling sub-module is used for calling the offset voltage parameter set corresponding to the target preset life range from the offset voltage parameter set obtained through pre-training; the offset voltage parameter set sets store the corresponding relation between each preset life range and each offset voltage parameter set.
Corresponding to the above method embodiment, referring to fig. 4, fig. 4 is a schematic diagram of a data error correction device provided by the present application, where the device may include:
a memory 332 for storing a computer program;
a processor 322 for implementing the steps of the data error correction method of the above-described method embodiment when executing a computer program.
Specifically, referring to fig. 5, fig. 5 is a schematic diagram of a specific structure of a data error correction device according to the present embodiment, where the data error correction device may have a relatively large difference due to different configurations or performances, and may include a processor (central processing units, CPU) 322 (e.g., one or more processors) and a memory 332, where the memory 332 stores one or more computer applications 342 or data 344. Wherein the memory 332 may be transient storage or persistent storage. The program stored in memory 332 may include one or more modules (not shown), each of which may include a series of instruction operations in the data processing apparatus. Still further, the processor 322 may be configured to communicate with the memory 332 and execute a series of instruction operations in the memory 332 on the data error correction device 301.
The data error correction device 301 may also include one or more power supplies 326, one or more wired or wireless network interfaces 350, one or more input/output interfaces 358, and/or one or more operating systems 341.
The steps in the data error correction method described above may be implemented by the structure of the data error correction apparatus.
Corresponding to the above method embodiments, the present application also provides a computer readable storage medium having a computer program stored thereon, which when executed by a processor, performs the steps of:
when the solid state disk is detected to be electrified and started, the offset voltage parameter set obtained by pre-training is called; traversing the offset voltage parameter set to read the unwritten data block before last power-down; judging whether the reading is successful or not; if yes, stopping traversing, and determining the read data set as a target data block for correcting the incompletely written data block.
The computer readable storage medium may include: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
For the description of the computer-readable storage medium provided by the present application, refer to the above method embodiments, and the disclosure is not repeated here.
In this specification, each embodiment is described in a progressive manner, and each embodiment is mainly described in a different point from other embodiments, so that the same or similar parts between the embodiments are referred to each other. The apparatus, device and computer readable storage medium of the embodiments are described more simply because they correspond to the methods of the embodiments, and the description thereof will be given with reference to the method section.
The principles and embodiments of the present application have been described herein with reference to specific examples, but the description of the examples above is only for aiding in understanding the technical solution of the present application and its core ideas. It should be noted that it will be apparent to those skilled in the art that various modifications and adaptations of the application can be made without departing from the principles of the application and these modifications and adaptations are intended to be within the scope of the application as defined in the following claims.

Claims (10)

1. A method of data error correction, comprising:
when the solid state disk is detected to be electrified and started, the offset voltage parameter set obtained by pre-training is called; the obtaining process of the offset voltage parameter set comprises the following steps: training each data block under different written pages to obtain the internal data voltage offset condition of the data block;
traversing the offset voltage parameter set to read the unwritten data block before last power-down;
comparing the size of the currently read data block with the original record size to judge whether the reading is successful or not; the original record size is the size of a pre-recorded data block which is not fully written with data before the last power-down;
if yes, stopping traversing, and determining the read data set as a target data block for correcting the unfilled data block.
2. The method for data error correction according to claim 1, further comprising, after detecting a power-on start of the solid state disk, before retrieving the pre-trained set of offset voltage parameters:
correcting the error of the unwritten data block by using a preset error recovery flow;
judging whether error correction is successful or not;
if yes, determining the data set obtained by error correction as the target data block;
and if not, executing the step of calling the offset voltage parameter set obtained by the pre-training.
3. The data error correction method according to claim 1, further comprising:
and when the traversing of the offset voltage parameter set is completed and the reading fails, performing data error reporting operation.
4. A method of data error correction as claimed in any one of claims 1 to 3, wherein the step of retrieving the pre-trained set of offset voltage parameters comprises:
acquiring current life information of the solid state disk;
determining a target preset life range corresponding to the current life information;
the offset voltage parameter set corresponding to the target preset life range is called from the offset voltage parameter set obtained through pre-training; and the offset voltage parameter set sets store the corresponding relation between each preset life range and each offset voltage parameter set.
5. A data error correction apparatus, comprising:
the parameter set calling module is used for calling the offset voltage parameter set obtained by pre-training when the solid state disk is detected to be electrified and started; the obtaining process of the offset voltage parameter set comprises the following steps: training each data block under different written pages to obtain the internal data voltage offset condition of the data block;
the data block reading module is used for traversing the offset voltage parameter set to read the data block which is not fully written before the last power-down;
the first judging module is used for judging whether the reading is successful or not by comparing the size of the currently read data block with the original record size; the original record size is the size of a pre-recorded data block which is not fully written with data before the last power-down;
and the first data block determining module is used for stopping traversing when the read is determined to be successful, and determining the read data set as a target data block for correcting the unfilled data block.
6. The data error correction device of claim 5, further comprising:
the data block error correction module is used for correcting errors of the unwritten data blocks by using a preset error recovery flow before the offset voltage parameter set obtained by pre-training is called after the solid state disk is detected to be electrified and started;
the second judging module is used for judging whether error correction is successful or not;
the second data block determining module is used for determining a data set obtained by error correction as the target data block when the error correction is successful;
the parameter set calling module is specifically a module for calling the offset voltage parameter set obtained by pre-training when error correction fails.
7. The data error correction device of claim 5, further comprising:
and the error reporting module is used for carrying out data error reporting operation when the traversing of the offset voltage parameter set is completed and the reading is failed.
8. The data error correction device according to any one of claims 5 to 7, wherein the parameter set retrieving module includes:
the service life information acquisition sub-module is used for acquiring the current service life information of the solid state disk;
a life range determining sub-module, configured to determine a target preset life range corresponding to the current life information;
the parameter set calling sub-module is used for calling the offset voltage parameter set corresponding to the target preset life range from the offset voltage parameter set obtained through pre-training; and the offset voltage parameter set sets store the corresponding relation between each preset life range and each offset voltage parameter set.
9. A data error correction apparatus, comprising:
a memory for storing a computer program;
processor for implementing the steps of the data error correction method according to any of claims 1 to 4 when executing said computer program.
10. A computer readable storage medium, characterized in that the computer readable storage medium has stored thereon a computer program which, when executed by a processor, implements the steps of the data error correction method according to any of claims 1 to 4.
CN202110720420.7A 2021-06-28 2021-06-28 Data error correction method, device, equipment and computer readable storage medium Active CN113625947B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110720420.7A CN113625947B (en) 2021-06-28 2021-06-28 Data error correction method, device, equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110720420.7A CN113625947B (en) 2021-06-28 2021-06-28 Data error correction method, device, equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN113625947A CN113625947A (en) 2021-11-09
CN113625947B true CN113625947B (en) 2023-08-25

Family

ID=78378564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110720420.7A Active CN113625947B (en) 2021-06-28 2021-06-28 Data error correction method, device, equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN113625947B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114047887B (en) * 2022-01-13 2022-04-22 苏州浪潮智能科技有限公司 Method, device and medium for improving success rate of data reading

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189337A (en) * 2018-08-21 2019-01-11 浪潮电子信息产业股份有限公司 A kind of method, apparatus, equipment and readable storage medium storing program for executing selecting data block
CN109992446A (en) * 2019-04-12 2019-07-09 苏州浪潮智能科技有限公司 A kind of solid state hard disk error correction method and relevant apparatus
CN111880736A (en) * 2020-07-28 2020-11-03 苏州浪潮智能科技有限公司 Solid state disk access method, device, equipment and medium
CN112466378A (en) * 2020-11-12 2021-03-09 苏州浪潮智能科技有限公司 Solid state disk operation error correction method and device and related components

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189337A (en) * 2018-08-21 2019-01-11 浪潮电子信息产业股份有限公司 A kind of method, apparatus, equipment and readable storage medium storing program for executing selecting data block
CN109992446A (en) * 2019-04-12 2019-07-09 苏州浪潮智能科技有限公司 A kind of solid state hard disk error correction method and relevant apparatus
CN111880736A (en) * 2020-07-28 2020-11-03 苏州浪潮智能科技有限公司 Solid state disk access method, device, equipment and medium
CN112466378A (en) * 2020-11-12 2021-03-09 苏州浪潮智能科技有限公司 Solid state disk operation error correction method and device and related components

Also Published As

Publication number Publication date
CN113625947A (en) 2021-11-09

Similar Documents

Publication Publication Date Title
US10020072B2 (en) Detect developed bad blocks in non-volatile memory devices
US10613943B2 (en) Method and system for improving open block data reliability
CN106910528B (en) Optimization method and device for data inspection of solid state disk
CN107608628A (en) Flash controller
KR100643288B1 (en) Data processing device and method for flash memory
JP2010079486A (en) Semiconductor recording device
CN113625947B (en) Data error correction method, device, equipment and computer readable storage medium
CN113223583A (en) Method for rereading data in NAND Flash bad block, electronic equipment and storage medium
CN105204958A (en) Coding method for prolonging NAND Flash data reliable storage time
CN108762670B (en) Management method, system and device for data blocks in SSD (solid State disk) firmware
CN108564981B (en) Dynamic monitoring method for data security of storage device
CN104461379A (en) Method for improving stability of NAND and NAND
CN115509799B (en) Memory reading optimization method based on combination of copy and LDPC hybrid decoding
CN114530178B (en) Method for reading write block in NAND chip, storage medium and device
US20230297263A1 (en) Method and system for testing conversion relationship between block reading and page reading in flash memory chip
CN116069238A (en) Data storage device and screening method of damaged data columns thereof
US8612824B2 (en) Semiconductor memory device and controlling method
JP5483378B1 (en) Flash memory deterioration inspection device, deterioration inspection method, and deterioration inspection program
CN116521432B (en) Method for improving reliability of flash memory, controller and computer storage medium
US20130286731A1 (en) Memory device, memory control device, and memory control method
CN111158589B (en) Dynamic management method and device for storage array
CN113140250B (en) Solid state disk erasing method and device and solid state disk
CN115509466B (en) Data management method and device, electronic equipment and storage medium
CN115454710B (en) Flash memory data reading method and device, electronic equipment and storage medium
CN108053861A (en) Firmware self-regeneration method in intelligent memory device

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