CN112114752A - Method and device for improving reliability of solid-state storage device, computer device and storage medium - Google Patents

Method and device for improving reliability of solid-state storage device, computer device and storage medium Download PDF

Info

Publication number
CN112114752A
CN112114752A CN202010975536.0A CN202010975536A CN112114752A CN 112114752 A CN112114752 A CN 112114752A CN 202010975536 A CN202010975536 A CN 202010975536A CN 112114752 A CN112114752 A CN 112114752A
Authority
CN
China
Prior art keywords
scanning
data
solid
state storage
storage device
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.)
Pending
Application number
CN202010975536.0A
Other languages
Chinese (zh)
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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System 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 Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN202010975536.0A priority Critical patent/CN112114752A/en
Publication of CN112114752A publication Critical patent/CN112114752A/en
Pending legal-status Critical Current

Links

Images

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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Abstract

The invention relates to a method and a device for improving reliability of solid-state storage equipment, computer equipment and a storage medium, wherein the method comprises the following steps: scanning the full disk valid data of the solid-state storage device regularly according to the actual Retention Time interval; scanning data pages in the data block in sequence to obtain the error Bit number of the data pages; judging whether the error Bit number is greater than a Retention error threshold value; and if the number of the valid data blocks is larger than the Retention error threshold value, moving the valid data in the corresponding data block to other valid data blocks. The scheme regularly scans the full-disk valid data of the solid-state storage device according to the actual Retention Time interval, finds out the data block which is about to have the Retention problem or has the Retention problem, and moves the valid data on the data block, thereby avoiding the error of the valid data and improving the reliability of the solid-state storage device; by controlling the data amount of scanning in unit time, the influence of the scanning process on the performance of the solid-state storage device is avoided.

Description

Method and device for improving reliability of solid-state storage device, computer device and storage medium
Technical Field
The present invention relates to the field of solid-state storage devices, and more particularly, to a method and an apparatus for improving reliability of a solid-state storage device, a computer device, and a storage medium.
Background
Solid State storage devices, also known as SSDs (Solid State Disk or Solid State Drive).
The storage medium in the SSD is NAND Flash, which is composed of a storage cell array, and the physical characteristics of the storage cells change with time, and such a change in the physical characteristics may cause an error in data previously stored in the storage cells, and if the number of erroneous storage cells exceeds the error correction capability of the ECC, the data written in the NAND cannot be read, which is called the SSD Retention problem.
The conventional SSD background scanning is usually executed under the situation of Host Idle, but the SSD can be in a working state for a long time, and the background scanning cannot be triggered all the time under the situation, so that the data in the SSD is lost due to the retentivity problem.
The information disclosed in this background section is only for enhancement of understanding of the general background of the invention and should not be taken as an acknowledgement or any form of suggestion that this information forms the prior art already known to a person skilled in the art.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a method and a device for improving the reliability of a solid-state storage device, a computer device and a storage medium.
In order to achieve the purpose, the invention adopts the following technical scheme:
in a first aspect, the present invention provides a method for improving reliability of a solid-state storage device, including the following steps:
scanning the full disk valid data of the solid-state storage device regularly according to the actual Retention Time interval;
scanning data pages in the data block in sequence to obtain the error Bit number of the data pages;
judging whether the error Bit number is greater than a Retention error threshold value;
if the number of the valid data blocks is larger than the Retention error threshold value, moving the valid data in the corresponding data block to other valid data blocks;
if the number of the error bits is not larger than the Retention error threshold, the data pages in the data block are scanned again after one scanning time slice, and the error Bit number of the data pages is obtained.
In a second aspect, the present invention provides an apparatus for improving reliability of a solid-state storage device, including:
the regular scanning unit is used for regularly scanning the full-disk valid data of the solid-state storage device according to the actual Retention Time interval;
the error acquisition unit is used for scanning data pages in the data block in sequence and acquiring the error Bit number of the data pages;
an error judgment unit, configured to judge whether the error Bit number is greater than a coverage error threshold, and if not, re-execute the steps of sequentially scanning the data pages in the data block after a scanning time slice to obtain the error Bit number of the data page;
and the data moving unit is used for moving the effective data in the corresponding data block to other effective data blocks when the data moving unit is larger than the Retention error threshold.
In a third aspect, the present invention provides a computer device, which includes a memory and a processor, where the memory stores a computer program thereon, and the processor implements the method for improving reliability of a solid-state storage device as described above when executing the computer program.
In a fourth aspect, the present invention provides a storage medium storing a computer program, which when executed by a processor, can implement the method for improving reliability of a solid-state storage device as described above.
Compared with the prior art, the invention has the beneficial effects that: the invention provides a method for improving the reliability of a solid-state storage device, which is characterized in that full-disk effective data of the solid-state storage device are regularly scanned according to an actual Retention Time interval, a data block in which a Retention problem is about to occur or the Retention problem occurs is found out, the effective data on the data block is moved, the error of the effective data is avoided, and the reliability of the solid-state storage device is improved; by controlling the data amount of scanning in unit time, the influence of the scanning process on the performance of the solid-state storage device is avoided.
The invention is further described below with reference to the accompanying drawings and specific embodiments.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic flowchart illustrating a method for improving reliability of a solid-state storage device according to an embodiment of the present invention;
fig. 2 is a schematic sub-flow chart of a method for improving reliability of a solid-state storage device according to an embodiment of the present invention;
fig. 3 is a partial flowchart illustrating a method for improving reliability of a solid-state storage device according to an embodiment of the present invention;
fig. 4 is a flowchart illustrating a method for improving reliability of a solid-state storage device according to another embodiment of the present invention;
FIG. 5 is a schematic block diagram of an apparatus for improving reliability of a solid-state storage device according to an embodiment of the present invention;
FIG. 6 is a schematic block diagram of a periodic scanning unit of an apparatus for improving reliability of a solid-state storage device according to an embodiment of the present invention;
FIG. 7 is a schematic block diagram illustrating a portion of an apparatus for improving reliability of a solid-state storage device according to another embodiment of the present invention;
FIG. 8 is a block diagram illustrating an apparatus for improving reliability of a solid-state storage device according to another embodiment of the present invention;
FIG. 9 is a schematic block diagram of a computer device provided by an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It is also to be understood that the terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the specification of the present invention and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be further understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
Fig. 1 is a schematic flowchart of a method for improving reliability of a solid-state storage device according to an embodiment of the present invention. As shown in fig. 1, the method includes the following steps S110 to S150.
And S110, regularly scanning the full disk valid data of the solid-state storage device according to the actual Retention Time interval.
In this embodiment, the full-disk valid data of the solid-state storage device is scanned at regular intervals, a data block in the solid-state storage device in which a latency problem will occur or a latency problem has occurred can be found, and valid data in the data block is directly moved to other valid data blocks, specifically, the valid data includes user data and Meta data.
The Time interval of the periodic scanning is the actual delay Time, also called crt (current delay Time), and the actual delay Time is used as the scanning period to scan the full disk data at intervals, so that the scanning frequency can be reduced as much as possible while the scanning effect is ensured. Since the specific use environments of the solid-state storage device are different, the actual retentime of the solid-state storage device is also different, and the solid-state storage device needs to be calculated according to actual use conditions. Normally, a NAND manufacturer usually gives a Retention Time (SRT) of the NAND under standard conditions, for example, a temperature of 40 degrees, PE 1000, and a Retention Time of 1 year; PE 2000, Retention Time 0.5 years, etc. In the actual operation process of the SSD, the scheme calculates the actual Retention threshold according to the current Max PE and the highest temperature of the last Retention period.
Wherein, the step of calculating the actual retentime includes steps a1 and a 2:
a1, calculating an acceleration factor AF based on the highest temperature of the Retention cycle, wherein AF is exp { Ea/Kb [1/Tn-1/Ta }.
A2, calculating the actual retentime of the solid-state storage device according to the acceleration factor AF and the SRT of the solid-state storage device, CRT ═ SRT/AF.
Wherein exp represents an exponential function with a natural constant e as a base, and Ea is activation energy; kb is boltzmann constant, Tn is standard temperature, Ta is acceleration temperature, CRT is Retention Time of NAND under actual conditions, SRT is Retention Time of NAND under standard conditions.
Referring to FIG. 2, in one embodiment, step S110 includes steps S111-S113.
And S111, acquiring the accumulated Retention time of the current scanning process.
In this embodiment, the accumulated Time represents the current accumulated Time after the last scanning process is completed, and one of the conditions for triggering the solid-state storage device to perform scanning is that the accumulated Time is greater than the actual Time, and when the accumulated Time is greater than the actual Time, a new scanning cycle is started.
S112, calculating the difference value between the current accumulative Retention time and the accumulative Retention time stored last time, and judging whether the difference value exceeds the update time threshold value.
And S113, if the current accumulated time exceeds the updating time threshold, saving the current accumulated time as the new accumulated time of the solid-state storage device.
In the scheme, the accuracy of the accumulated time of the solid-state storage device can be ensured by storing the accumulated time acquired each time, and unnecessary advanced scanning is avoided. However, the problem of too frequent storage exists, by setting an update time threshold, when the difference value between the current accumulated time and the last stored accumulated time is greater than the update time threshold, the current accumulated time is replaced by the last stored accumulated time for storage, so that the influence on the system performance can be reduced on the premise of ensuring the accuracy of the accumulated time as much as possible, the accumulated time stored by the solid-state storage device is avoided, the solid-state storage device is completely lost due to abnormal power failure, and unnecessary advanced scanning is further avoided. Specifically, the update time threshold may be 1h, 0.5h, or 0.3h, and the actual value may be selected according to the actual situation of the solid-state storage device.
And S120, scanning the data pages in the data block in sequence to obtain the error Bit number of the data pages.
In this embodiment, the solid-state storage device includes a plurality of data blocks, each data block includes a plurality of data pages, and in the scanning process, the data blocks are sequentially scanned, the error Bit number of each data page is sequentially obtained, and whether the data page has a Retention problem is further determined according to the error Bit number of the data page. In the scanning process of the scheme, only a certain number of data blocks or data pages are scanned in the time interval of each scanning time slice, the occupation of the scanning process on the system bandwidth is controlled, and the influence of the full-disk scanning on the performance is reduced to a controllable range.
Referring to FIG. 3, in the present embodiment, the step S120 may further include steps S120a-S120d before, and the same scanning process as the step S110 can be triggered by executing the steps S120a-S120 d.
S120a, power up the solid state storage device, and read the existing scan information from the NAND.
S120b, if the existing scanning information is successfully read, checking whether the current scanning process is completed.
S120c, if the current scanning is not finished, continuing to execute the current scanning process according to the existing scanning information, and recovering the accumulated Retention time.
And S120d, if the reading of the existing scanning information fails, triggering a new scanning process, and scanning the full-disk valid data of the solid-state storage device.
In the embodiment, the scanning process may be suspended or terminated due to various burst reasons, in the scheme, the existing scanning information is read from the NAND, whether the current scanning process is completed or not is checked according to the existing scanning information, if the current scanning is not completed, the current scanning process is continuously executed according to the existing scanning information, the accumulated Retention time is recovered, the current scanning process is ensured to be completely completed, the data block in which the Retention problem occurs or will occur is comprehensively found, and the corresponding valid data is rapidly moved. Meanwhile, if the existing scanning information cannot be read in the NAND, a new scanning process is triggered to restart the scanning of the full disk valid data of the solid-state storage device.
S130, judging whether the error Bit number is larger than a Retention error threshold value.
And S140, if the number of the valid data blocks is larger than the Retention error threshold, moving the valid data in the corresponding data block to other valid data blocks.
S150, if the value is not larger than the Retention error threshold, after a scanning time slice, the step S120 is repeated.
In this embodiment, the Retention error threshold is a preset value, and may be used to distinguish a data page where a Retention problem will occur or a data page where a Retention problem has occurred, specifically, in actual use, if the number of erroneous bits of the data page is greater than 100, the data page is represented that a Retention problem occurs, and the preset Retention error threshold in this scheme may be 80 (less than 100), so that the data page with the number of erroneous bits between 80 and 100 may also be scanned out as data where a Retention problem is about to occur, and valid data in the data may also be moved in time, thereby avoiding a valid data error, and improving reliability of the solid-state storage device.
Specifically, when the number of erroneous bits is greater than the latency error threshold, the valid data in the corresponding data block is moved to other valid data blocks, thereby avoiding the error of the valid data in the data page/data block and improving the reliability of the solid-state storage device. When the error Bit number is not greater than the Retention error threshold, the data page of the next data block is scanned after a scanning time slice, that is, step S120 is executed again until all data blocks are completely scanned. The scanning time slice refers to the time length of each time of scanning execution, the scanning time slice is assumed to be 1s, and the scanning error Bit number is not greater than the requirement error threshold value in 0.1s, at this time, the scheme cannot continue to scan the next data page, but scans the next data page after the scanning time slice, namely 1s, is finished, so as to control the occupation of the scanning task on the system bandwidth, and reduce the influence of the full-disk scanning on the performance to a controllable range.
The invention provides a method for improving the reliability of a solid-state storage device, which is characterized in that full-disk effective data of the solid-state storage device are regularly scanned according to an actual Retention Time interval, a data block in which a Retention problem is about to occur or the Retention problem occurs is found out, the effective data on the data block is moved, the error of the effective data is avoided, and the reliability of the solid-state storage device is improved; by controlling the data amount of scanning in unit time, the influence of the scanning process on the performance of the solid-state storage device is avoided.
Fig. 4 is a flowchart illustrating a method for improving reliability of a solid-state storage device according to another embodiment of the present invention. As shown in fig. 4, a method for improving reliability of a solid-state storage device of the present embodiment includes steps S210 to S280. Steps S210 to S250 are similar to steps S110 to S150 in the above embodiments, and are not described herein again. The added steps S260-S280 in this embodiment are described in detail below.
And S260, acquiring the number of the scanned data blocks in unit time.
S270, judging whether the number of the scanned data blocks is larger than the scanning number threshold value.
And S280, if the number of the data blocks is larger than the scanning number threshold, storing the scanning information and acquiring the next data block to be scanned.
In this embodiment, the unit time and the scan number threshold are both preset values. By acquiring the number of scanned data blocks in unit time and when the number of scanned data blocks is greater than the scanning number threshold, the scanning information is saved and the next data block to be scanned is acquired. By controlling the number of data blocks scanned per unit time, the reliability of the scanning process can also be ensured. The scanning information is stored, so that the scanning from the beginning after power-on caused by abnormal power failure can be avoided, and the scanning efficiency is improved.
Fig. 5 is a schematic block diagram of an apparatus for improving reliability of a solid-state storage device according to an embodiment of the present invention. As shown in fig. 5, the present invention also provides an apparatus for improving reliability of a solid-state storage device, corresponding to the above method for improving reliability of a solid-state storage device. The apparatus for improving reliability of a solid-state storage device comprises a unit for executing the method for improving reliability of a solid-state storage device, and the apparatus can be configured in a desktop computer, a tablet computer, a portable computer, and the like. Specifically, referring to fig. 5, the apparatus for improving reliability of a solid-state storage device includes a periodic scanning unit 10, an error obtaining unit 20, an error determining unit 30, and a data moving unit 40.
The periodic scanning unit 10 periodically scans the full disk valid data of the solid-state storage device according to the actual retentime interval.
In this embodiment, the full-disk valid data of the solid-state storage device is scanned at regular intervals, a data block in the solid-state storage device in which a latency problem will occur or a latency problem has occurred can be found, and valid data in the data block is directly moved to other valid data blocks, specifically, the valid data includes user data and Meta data.
The Time interval of the periodic scanning is the actual delay Time, also called crt (current delay Time), and the actual delay Time is used as the scanning period to scan the full disk data at intervals, so that the scanning frequency can be reduced as much as possible while the scanning effect is ensured. Since the specific use environments of the solid-state storage device are different, the actual retentime of the solid-state storage device is also different, and the solid-state storage device needs to be calculated according to actual use conditions. Normally, a NAND manufacturer usually gives a Retention Time (SRT) of the NAND under standard conditions, for example, a temperature of 40 degrees, PE 1000, and a Retention Time of 1 year; PE 2000, Retention Time 0.5 years, etc. In the actual operation process of the SSD, the scheme calculates the actual Retention threshold according to the current Max PE and the highest temperature of the last Retention period.
Wherein, the step of calculating the actual retentime includes steps a1 and a 2:
a1, calculating an acceleration factor AF based on the highest temperature of the Retention cycle, wherein AF is exp { Ea/Kb [1/Tn-1/Ta }.
A2, calculating the actual retentime of the solid-state storage device according to the acceleration factor AF and the SRT of the solid-state storage device, CRT ═ SRT/AF.
Wherein exp represents an exponential function with a natural constant e as a base, and Ea is activation energy; kb is boltzmann constant, Tn is standard temperature, Ta is acceleration temperature, CRT is Retention Time of NAND under actual conditions, SRT is Retention Time of NAND under standard conditions.
Referring to fig. 6, the periodic scanning unit 10 includes an accumulation obtaining module 11, a calculation judging module 12, and an update saving module 13.
And an accumulation obtaining module 11, configured to obtain an accumulated time of the current scanning process.
In this embodiment, the accumulated Time represents the current accumulated Time after the last scanning process is completed, and one of the conditions for triggering the solid-state storage device to perform scanning is that the accumulated Time is greater than the actual Time, and when the accumulated Time is greater than the actual Time, a new scanning cycle is started.
The calculation and judgment module 12 calculates a difference between the current accumulative Retention time and the last stored accumulative Retention time, and judges whether the difference exceeds an update time threshold.
And an update saving module 13, configured to save the current accumulated time as a new accumulated time of the solid-state storage device when the update time threshold is exceeded.
In the scheme, the accuracy of the accumulated time of the solid-state storage device can be ensured by storing the accumulated time acquired each time, and unnecessary advanced scanning is avoided. However, the problem of too frequent storage exists, by setting an update time threshold, when the difference value between the current accumulated time and the last stored accumulated time is greater than the update time threshold, the current accumulated time is replaced by the last stored accumulated time for storage, so that the influence on the system performance can be reduced on the premise of ensuring the accuracy of the accumulated time as much as possible, the accumulated time stored by the solid-state storage device is avoided, the solid-state storage device is completely lost due to abnormal power failure, and unnecessary advanced scanning is further avoided. Specifically, the update time threshold may be 1h, 0.5h, or 0.3h, and the actual value may be selected according to the actual situation of the solid-state storage device.
And an error obtaining unit 20, configured to sequentially scan the data pages in the data block, and obtain the number of error bits of the data pages.
In this embodiment, the solid-state storage device includes a plurality of data blocks, each data block includes a plurality of data pages, and in the scanning process, the data blocks are sequentially scanned, the error Bit number of each data page is sequentially obtained, and whether the data page has a Retention problem is further determined according to the error Bit number of the data page. In the scanning process of the scheme, only a certain number of data blocks or data pages are scanned in the time interval of each scanning time slice, the occupation of the scanning process on the system bandwidth is controlled, and the influence of the full-disk scanning on the performance is reduced to a controllable range.
In another embodiment, referring to fig. 7, the system further includes a power-on acquiring unit 20a, a scan checking unit 20b, a continuous scanning unit 20c and a process triggering unit 20 d.
And a power-on acquisition unit 20a for powering on the solid-state storage device and reading the existing scan information from the NAND.
A scan checking unit 20b, for checking whether the current scanning process is completed when the existing scanning information is successfully read.
The continuous scanning unit 20c is configured to continue to execute the current scanning process according to the existing scanning information and recover the accumulated Retention time when the current scanning is not completed.
And the process triggering unit 20d is configured to trigger a new scanning process to scan the full-disk valid data of the solid-state storage device when reading of the existing scanning information fails.
In the embodiment, the scanning process may be suspended or terminated due to various burst reasons, in the scheme, the existing scanning information is read from the NAND, whether the current scanning process is completed or not is checked according to the existing scanning information, if the current scanning is not completed, the current scanning process is continuously executed according to the existing scanning information, the accumulated Retention time is recovered, the current scanning process is ensured to be completely completed, the data block in which the Retention problem occurs or will occur is comprehensively found, and the corresponding valid data is rapidly moved. Meanwhile, if the existing scanning information cannot be read in the NAND, a new scanning process is triggered to restart the scanning of the full disk valid data of the solid-state storage device.
The error determining unit 30 is configured to determine whether the error Bit number is greater than a coverage error threshold, and if not, rescan the data page in the data block after a scanning time slice to obtain the error Bit number of the data page.
And the data moving unit 40 is used for moving the valid data in the corresponding data block to other valid data blocks when the data moving unit is larger than the Retention error threshold value.
In this embodiment, the Retention error threshold is a preset value, and may be used to distinguish a data page where a Retention problem will occur or a data page where a Retention problem has occurred, specifically, in actual use, if the number of erroneous bits of the data page is greater than 100, the data page is represented that a Retention problem occurs, and the preset Retention error threshold in this scheme may be 80 (less than 100), so that the data page with the number of erroneous bits between 80 and 100 may also be scanned out as data where a Retention problem is about to occur, and valid data in the data may also be moved in time, thereby avoiding a valid data error, and improving reliability of the solid-state storage device.
Specifically, when the number of erroneous bits is greater than the latency error threshold, the valid data in the corresponding data block is moved to other valid data blocks, thereby avoiding the error of the valid data in the data page/data block and improving the reliability of the solid-state storage device. And when the error Bit number is not greater than the Retention error threshold, scanning the data page of the next data block after one scanning time slice until all the data blocks are scanned completely. The scanning time slice refers to the time length of each time of scanning execution, the scanning time slice is assumed to be 1s, and the scanning error Bit number is not greater than the requirement error threshold value in 0.1s, at this time, the scheme cannot continue to scan the next data page, but scans the next data page after the scanning time slice, namely 1s, is finished, so as to control the occupation of the scanning task on the system bandwidth, and reduce the influence of the full-disk scanning on the performance to a controllable range.
The invention provides a device for improving the reliability of solid-state storage equipment, which regularly scans the full-disk effective data of the solid-state storage equipment according to the actual Retention Time interval, finds out the data block which will have the Retention problem or has already occurred in the Retention problem, and moves the effective data on the data block, thereby avoiding the error of the effective data and improving the reliability of the solid-state storage equipment; by controlling the data amount of scanning in unit time, the influence of the scanning process on the performance of the solid-state storage device is avoided.
Fig. 8 is a schematic block diagram of an apparatus for improving reliability of a solid-state storage device according to another embodiment of the present invention. As shown in fig. 8, one of the embodiments of the present invention for improving reliability of a solid-state storage device is to add a number obtaining unit 50, a number judging unit 60, and an information holding unit 70 to the above-described embodiments.
A number acquisition unit 50 for acquiring the number of scanned data blocks per unit time;
a number judging unit 60 for judging whether the number of scanned data blocks is greater than a scanning number threshold;
and an information storage unit 70, configured to store the scanning information and end the current scanning when the scanning number is greater than the scanning number threshold.
In this embodiment, the unit time and the scan number threshold are both preset values. By acquiring the number of scanned data blocks in unit time and when the number of scanned data blocks is greater than the scanning number threshold, the scanning information is saved and the next data block to be scanned is acquired. By controlling the number of data blocks scanned per unit time, the reliability of the scanning process can also be ensured. The scanning information is stored, so that the scanning from the beginning after power-on caused by abnormal power failure can be avoided, and the scanning efficiency is improved.
It should be noted that, as can be clearly understood by those skilled in the art, the above-mentioned apparatus for improving reliability of a solid-state storage device and the specific implementation process of each unit may refer to the corresponding description in the foregoing method embodiment, and for convenience and brevity of description, no further description is provided herein.
Referring to fig. 9, fig. 9 is a schematic block diagram of a computer device according to an embodiment of the present application. The computer device 500 may be a terminal or a server, where the terminal may be an electronic device with a communication function, such as a smart phone, a tablet computer, a notebook computer, a desktop computer, a personal digital assistant, and a wearable device. The server may be an independent server or a server cluster composed of a plurality of servers.
Referring to fig. 9, the computer device 500 includes a processor 502, memory, and a network interface 505 connected by a system bus 501, where the memory may include a non-volatile storage medium 503 and an internal memory 504.
The non-volatile storage medium 503 may store an operating system 5031 and a computer program 5032. The computer programs 5032 include program instructions that, when executed, cause the processor 502 to perform a method of improving reliability of a solid-state storage device.
The processor 502 is used to provide computing and control capabilities to support the operation of the overall computer device 500.
The internal memory 504 provides an environment for the operation of the computer program 5032 in the non-volatile storage medium 503, and when the computer program 5032 is executed by the processor 502, the processor 502 can be enabled to perform a method for improving the reliability of the solid-state storage device.
The network interface 505 is used for network communication with other devices. Those skilled in the art will appreciate that the configuration shown in fig. 9 is a block diagram of only a portion of the configuration associated with the present application and does not constitute a limitation of the computer device 500 to which the present application may be applied, and that a particular computer device 500 may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
Wherein the processor 502 is adapted to run a computer program 5032 stored in the memory.
It should be understood that in the embodiment of the present Application, the Processor 502 may be a Central Processing Unit (CPU), and the Processor 502 may also be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components, and the like. Wherein a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
It will be understood by those skilled in the art that all or part of the flow of the method implementing the above embodiments may be implemented by a computer program instructing associated hardware. The computer program includes program instructions, and the computer program may be stored in a storage medium, which is a computer-readable storage medium. The program instructions are executed by at least one processor in the computer system to implement the flow steps of the embodiments of the method described above.
Accordingly, the present invention also provides a storage medium. The storage medium may be a computer-readable storage medium.
The storage medium may be a usb disk, a removable hard disk, a Read-Only Memory (ROM), a magnetic disk, or an optical disk, which can store various computer readable storage media.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating clearly the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative. For example, the division of each unit is only one logic function division, and there may be another division manner in actual implementation. For example, various elements or components may be combined or may be integrated into another system, or some features may be omitted, or not implemented.
The steps in the method of the embodiment of the invention can be sequentially adjusted, combined and deleted according to actual needs. The units in the device of the embodiment of the invention can be merged, divided and deleted according to actual needs. In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a storage medium. Based on such understanding, the technical solution of the present invention essentially or partially contributes to the prior art, or all or part of the technical solution can 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 terminal, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention.
While the invention has been described with reference to specific embodiments, the invention is not limited thereto, and various equivalent modifications and substitutions can be easily made by those skilled in the art within the technical scope of the invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (10)

1. A method for improving reliability of a solid-state storage device is characterized by comprising the following steps:
scanning the full disk valid data of the solid-state storage device regularly according to the actual Retention Time interval;
scanning data pages in the data block in sequence to obtain the error Bit number of the data pages;
judging whether the error Bit number is greater than a Retention error threshold value;
if the number of the valid data blocks is larger than the Retention error threshold value, moving the valid data in the corresponding data block to other valid data blocks;
if the number of the error bits is not larger than the Retention error threshold, the data pages in the data block are scanned again after one scanning time slice, and the error Bit number of the data pages is obtained.
2. The method of claim 1, wherein the step of determining whether the number of erroneous bits is greater than a Retention error threshold is followed by;
acquiring the number of scanned data blocks in unit time;
judging whether the number of the scanned data blocks is greater than a scanning number threshold value;
if the number of the data blocks is larger than the scanning number threshold, the scanning information is stored, and the next data block to be scanned is obtained.
3. The method of claim 1, wherein the valid data comprises user data and Meta data.
4. The method of claim 1, wherein the step of calculating the actual Retention Time comprises:
calculating an acceleration factor AF based on the highest temperature of a Retention period, wherein AF is exp { Ea/Kb [1/Tn-1/Ta ] };
calculating to obtain an actual Retention Time of the solid-state storage device according to the acceleration factor AF and the SRT of the solid-state storage device, wherein CRT is SRT/AF;
wherein exp represents an exponential function with a natural constant e as a base, and Ea is activation energy; kb is Boltzmann constant, Tn is standard temperature, Ta is acceleration temperature, CRT is Retention Time of NAND under actual conditions, SRT is Retention Time of NAND under standard conditions.
5. The method of claim 4, wherein the step of periodically scanning the solid-state storage device for full disk active data at an actual Retention Time interval comprises;
acquiring the accumulated Retention time of the current scanning process;
calculating the difference value between the current accumulative Retention time and the accumulative Retention time stored last time, and judging whether the difference value exceeds an update time threshold value;
and if the current accumulated time exceeds the updating time threshold, saving the current accumulated time as the new accumulated time of the solid-state storage device.
6. The method for improving reliability of a solid-state storage device according to claim 1, wherein the step of sequentially scanning the data pages in the data block to obtain the number of faulty bits of the data pages is preceded by the steps of;
powering on the solid-state storage device, and reading the existing scanning information from the NAND;
if the existing scanning information is successfully read, checking whether the current scanning process is finished;
if the current scanning is not finished, continuing to execute the current scanning process according to the existing scanning information, and recovering the accumulated Retention time;
and if the existing scanning information is failed to be read, triggering a new scanning process, and scanning the full-disk valid data of the solid-state storage device.
7. An apparatus for improving reliability of a solid state storage device, comprising:
the regular scanning unit is used for regularly scanning the full-disk valid data of the solid-state storage device according to the actual Retention Time interval;
the error acquisition unit is used for scanning data pages in the data block in sequence and acquiring the error Bit number of the data pages;
the error judgment unit is used for judging whether the error Bit number is greater than a Retention error threshold value or not, and if the error Bit number is not greater than the Retention error threshold value, re-scanning the data page in the data block after a scanning time slice to acquire the error Bit number of the data page;
and the data moving unit is used for moving the effective data in the corresponding data block to other effective data blocks when the data moving unit is larger than the Retention error threshold.
8. The apparatus for improving reliability of a solid-state storage device according to claim 7, further comprising a number obtaining unit, a number judging unit and an information saving unit;
the number acquiring unit is used for acquiring the number of the scanned data blocks in unit time;
the number judging unit is used for judging whether the number of the scanned data blocks is greater than a scanning number threshold value;
and the information storage unit is used for storing the scanning information and acquiring the next data block to be scanned when the scanning number is greater than the scanning number threshold.
9. A computer device comprising a memory having a computer program stored thereon and a processor that, when executing the computer program, implements the method of improving reliability of a solid state storage device according to any of claims 1 to 6.
10. A storage medium storing a computer program which, when executed by a processor, implements a method for improving reliability of a solid-state storage device according to any one of claims 1 to 6.
CN202010975536.0A 2020-09-16 2020-09-16 Method and device for improving reliability of solid-state storage device, computer device and storage medium Pending CN112114752A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010975536.0A CN112114752A (en) 2020-09-16 2020-09-16 Method and device for improving reliability of solid-state storage device, computer device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010975536.0A CN112114752A (en) 2020-09-16 2020-09-16 Method and device for improving reliability of solid-state storage device, computer device and storage medium

Publications (1)

Publication Number Publication Date
CN112114752A true CN112114752A (en) 2020-12-22

Family

ID=73803115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010975536.0A Pending CN112114752A (en) 2020-09-16 2020-09-16 Method and device for improving reliability of solid-state storage device, computer device and storage medium

Country Status (1)

Country Link
CN (1) CN112114752A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641309A (en) * 2021-08-19 2021-11-12 深圳忆联信息系统有限公司 Weak block identification method and device of SSD, computer equipment and storage medium
CN114047879A (en) * 2021-11-11 2022-02-15 深圳华电通讯有限公司 Data storage method of solid state disk, solid state disk and terminal equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106910528A (en) * 2017-02-27 2017-06-30 郑州云海信息技术有限公司 A kind of optimization method and device of solid state hard disc data routing inspection
CN109582488A (en) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 A kind of wrong prevention method and relevant apparatus of solid state hard disk

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106910528A (en) * 2017-02-27 2017-06-30 郑州云海信息技术有限公司 A kind of optimization method and device of solid state hard disc data routing inspection
CN109582488A (en) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 A kind of wrong prevention method and relevant apparatus of solid state hard disk

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641309A (en) * 2021-08-19 2021-11-12 深圳忆联信息系统有限公司 Weak block identification method and device of SSD, computer equipment and storage medium
CN114047879A (en) * 2021-11-11 2022-02-15 深圳华电通讯有限公司 Data storage method of solid state disk, solid state disk and terminal equipment

Similar Documents

Publication Publication Date Title
CN104572489B (en) Wear leveling method and device
TWI649759B (en) Data storage device and method for writing data into memory device
CN112114752A (en) Method and device for improving reliability of solid-state storage device, computer device and storage medium
US20150074461A1 (en) Method and relevant apparatus for starting boot program
US9513838B2 (en) Method and apparatus for processing system command during memory backup
CN111143104A (en) Memory exception processing method and system, electronic device and storage medium
CN111324303A (en) SSD garbage recycling method and device, computer equipment and storage medium
CN111459557B (en) Method and system for shortening starting time of server
CN110825327A (en) SSD temperature control method and device, computer equipment and storage medium
EP2806362A1 (en) Information processing device, control circuit, computer-readable recording medium for control program, and control method
CN110535476B (en) Method, device, computer equipment and storage medium for optimizing soft information storage of LDPC soft decoder
KR20170086840A (en) Data storage device and operating method thereof
CN111459413B (en) Method, device, computer equipment and storage medium for improving SSD performance
CN110109714B (en) Method and device for improving firmware loading efficiency, computer equipment and storage medium
CN112732181A (en) Data migration method of SSD and related device
CN110865772A (en) Method and device for protecting system data physical block erasure count value, computer equipment and storage medium
CN108920107B (en) Method and device for screening cold data, computer equipment and storage medium
CN116027968A (en) Flash memory block reading frequency compression method and device, computer equipment and storage medium
CN109062503B (en) Method and device for improving read retry efficiency after SSD is powered off and computer equipment
CN111857596A (en) SSD low-power-consumption realization method and device, computer equipment and storage medium
JP6076524B1 (en) Memory control device, control method, and control program
CN117519592A (en) SSD-based full disk reconstruction optimization method, SSD-based full disk reconstruction optimization device, SSD-based full disk reconstruction optimization equipment and SSD-based storage medium
CN117369730B (en) Memory and control method thereof
CN115035942A (en) Method and device for improving data inspection efficiency of solid state disk, computer equipment and storage medium
CN113010338B (en) Error leakage threshold value adjusting method, device, equipment and medium of memory CE

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201222

RJ01 Rejection of invention patent application after publication