A data storage reliability detection method, device, equipment and storage medium

By performing two rounds of inspection on the data pages of the storage device—first inspecting fixed data pages, and then adding inspection of dynamic data pages after the conditions are met—the problem of inspection affecting performance and failing to detect vulnerable data pages in existing technologies is solved, thereby improving the data reliability of the storage device.

CN116400858BActive Publication Date: 2026-05-15INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INSPUR SUZHOU INTELLIGENT TECH CO LTD
Filing Date
2023-03-24
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing technologies for inspecting data pages in storage devices can affect normal read and write performance and may fail to detect more vulnerable data pages, leading to error correction failures and data loss, thus impacting the data reliability of the storage device.

Method used

A two-stage inspection method is adopted. First, the fixed data pages are inspected. After the preset conditions are met, the dynamic data pages are inspected. The dynamic data pages are selected in a pseudo-random way for compensation inspection to find the most vulnerable data pages in the target data block.

Benefits of technology

It improves the data reliability of storage devices, reduces the probability of error correction failure, and enhances the overall reliability of data blocks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116400858B_ABST
    Figure CN116400858B_ABST
Patent Text Reader

Abstract

The application relates to the storage technical field and discloses a storage data reliability detection method and device, equipment and a storage medium, which comprises the following steps: performing first inspection on the vulnerability of each fixed data page; wherein the fixed data page is a plurality of data pages with a vulnerable attribute selected from a target data block contained in a to-be-detected crystal grain of a target storage device; if a first inspection result represents that the vulnerability of each fixed data page meets a preset condition, a dynamic data page is determined from the target data block, and second detection is performed on the vulnerability of the dynamic data page; and if a second inspection result represents that the vulnerability of the dynamic data page meets the preset condition, it is determined that all the data stored in the target data block is reliable data. On the basis of inspecting the fixed data page, a compensation inspection of a dynamic data page is added, so that the data reliability of the storage device is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of storage technology, and in particular to a method, apparatus, device, and storage medium for detecting the reliability of stored data. Background Technology

[0002] In existing technologies, to improve the data reliability of storage devices, a common approach is data inspection. This involves inspecting all data blocks on a per-hour basis, using the storage device's die as the unit. However, this approach has two drawbacks. First, since each data block contains many (up to 1152) data pages, inspecting every single page can impact normal read / write operations, potentially causing performance fluctuations. Second, it may fail to detect more vulnerable data pages. In such cases, if a user attempts to read data from that page, the error correction process will likely fail, leading to data loss and compromising the reliability of the storage device's data.

[0003] Therefore, the aforementioned technical problems urgently need to be solved by those skilled in the art. Summary of the Invention

[0004] In view of this, the purpose of this invention is to provide a method, apparatus, device, and storage medium for detecting the reliability of stored data, which can improve the data reliability of storage devices. The specific solution is as follows:

[0005] The first aspect of this application provides a method for detecting the reliability of stored data, including:

[0006] The vulnerability of each fixed data page is first inspected; wherein, the fixed data page is a plurality of data pages with vulnerable attributes selected from the target data blocks contained in the die to be tested of the target storage device;

[0007] If the first inspection result indicates that the vulnerability of each of the fixed data pages meets the preset conditions, then a dynamic data page is determined from the target data block, and the vulnerability of the dynamic data page is subjected to a second inspection.

[0008] If the second inspection result indicates that the vulnerability of the dynamic data page meets the preset condition, then it is determined that all data stored in the target data block is reliable data.

[0009] Optionally, the first inspection of the vulnerability of each fixed data page includes:

[0010] Obtain the bit error probability of each of the fixed data pages, and determine whether the bit error probability of each of the fixed data pages is greater than a preset threshold.

[0011] If so, it is determined that the vulnerability of each of the fixed data pages meets the preset condition.

[0012] Optionally, before performing the first inspection of the vulnerability of each fixed data page, the method further includes:

[0013] Based on the device characteristics of the target storage device, the bit error probabilities of all data pages in the target data block are arranged in descending order, and the top-ranked data pages are selected to obtain multiple fixed data pages.

[0014] Optionally, determining a dynamic data page from the target data block and performing a second vulnerability detection on the dynamic data page includes:

[0015] If the second inspection is the first round of inspection, then a data page is randomly selected from the target data block as the initial dynamic data page in a pseudo-random manner;

[0016] Obtain the bit error probability of the initial dynamic data page, and determine whether the bit error probability of the initial dynamic data page is greater than the preset threshold.

[0017] If so, the vulnerability of the initial dynamic data page is determined to meet the preset condition.

[0018] Optionally, the step of randomly selecting a data page from the target data block as the initial dynamic data page using a pseudo-random method includes:

[0019] Determine a first number of data blocks contained in the die to be tested, and determine a second number of data pages in the target data block;

[0020] Perform a modulo operation on the first quantity and the second quantity, and determine the data page at the address number represented by the operation result as the initial dynamic data page.

[0021] Optionally, after determining that the vulnerability of the initial dynamic data page meets the preset condition, the method further includes:

[0022] The bit error probability of the initial dynamic data page is compared with the bit error probability of each of the fixed data pages;

[0023] If the bit error probability of the initial dynamic data page is greater than the bit error probability of each of the fixed data pages and is greater than the value of the first field, then the initial dynamic data page is updated, and the bit error probability of the initial dynamic data page is assigned to the first field, and the address number of the data page corresponding to the current assignment of the first field is assigned to the second field; wherein, the first field is used to record the maximum bit error probability other than the bit error probability of the fixed data pages, and the second field is used to record the address number of the data page corresponding to the maximum bit error probability;

[0024] The steps of inspecting the fixed data page and the new dynamic data page are repeated in the new round of inspections.

[0025] Optionally, the method for detecting the reliability of stored data further includes:

[0026] If a jump instruction carrying jump data page information is received during the current round of inspection, the vulnerability of the jump data page will be inspected in the next round of inspection; wherein, the jump data page is a dynamic data page in the die to be inspected where the bit error probability of other data blocks is greater than the bit error probability of each fixed data page.

[0027] Optionally, updating the initial dynamic data page includes:

[0028] The address number of the initial dynamic page is incremented by 1 to obtain a new dynamic data page in the next round of inspection.

[0029] Optionally, the method for detecting the reliability of stored data further includes:

[0030] Add the first field and the second field to the attributes of the target data block;

[0031] Set the initial value of the first field to zero, and set the initial value of the second field to the address number of the initial dynamic data page.

[0032] A second aspect of this application provides a storage data reliability detection device, comprising:

[0033] The first inspection module is used to perform a first inspection on the vulnerability of each fixed data page; wherein, the fixed data page is a plurality of data pages with vulnerable attributes selected from the target data blocks contained in the die to be tested of the target storage device;

[0034] The second inspection module is used to determine a dynamic data page from the target data block and perform a second detection on the vulnerability of the dynamic data page if the vulnerability of each fixed data page is characterized by the first inspection result to meet the preset conditions.

[0035] The determination module is used to determine that all data stored in the target data block is reliable data if the second inspection result indicates that the vulnerability of the dynamic data page meets the preset conditions.

[0036] A third aspect of this application provides an electronic device comprising a processor and a memory; wherein the memory is used to store a computer program, the computer program being loaded and executed by the processor to implement the aforementioned method for detecting the reliability of stored data.

[0037] A fourth aspect of this application provides a computer-readable storage medium storing computer-executable instructions, which, when loaded and executed by a processor, implement the aforementioned method for detecting the reliability of stored data.

[0038] In this application, a first inspection is performed on the vulnerability of each fixed data page. The fixed data pages are multiple data pages with vulnerable attributes selected from the target data blocks contained in the die under test of the target storage device. If the first inspection result indicates that the vulnerability of each fixed data page meets a preset condition, a dynamic data page is determined from the target data block, and its vulnerability is then subjected to a second inspection. If the second inspection result indicates that the vulnerability of the dynamic data page meets the preset condition, then the data stored in the target data block is determined to be reliable data. Therefore, this application mainly detects the reliability of the data stored on the target data blocks in the die under test of the target storage device. Specifically, it performs two inspections on the data pages. The first inspection is of the fixed data pages. Based on the premise that the vulnerability of the fixed data pages meets the preset condition, an additional inspection of a dynamic data page is added to identify the most vulnerable data page in the target data block, thereby improving the data reliability of the storage device. Attached Figure Description

[0039] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0040] Figure 1 A flowchart of a data storage reliability detection method provided in this application;

[0041] Figure 2 A schematic diagram illustrating a specific method for detecting the reliability of stored data provided in this application;

[0042] Figure 3 A schematic diagram of a data storage reliability testing device provided in this application;

[0043] Figure 4 This application provides a structural diagram of an electronic device for detecting the reliability of stored data. Detailed Implementation

[0044] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0045] In existing technologies, to improve the data reliability of storage devices, a data inspection method is generally used, where all data blocks are inspected on a per-die basis within a unit of time (e.g., 1 hour). On the one hand, since each data block contains many (up to 1152) data pages, inspecting every single data page would impact normal read / write operations, causing performance fluctuations, for example. On the other hand, there might be cases where more vulnerable data pages are not detected. In such cases, if a user performs a read operation on the corresponding user data page, the error correction process will likely fail, leading to data loss and affecting the reliability of the storage device's data. To address these technical shortcomings, this application provides a storage data reliability detection scheme that performs two inspections on data pages. The first inspection is of fixed data pages. After confirming that the vulnerability of the fixed data pages meets preset conditions, a second inspection of dynamic data pages is added to identify the most vulnerable data page in the target data block, thereby improving the data reliability of the storage device.

[0046] Figure 1 A flowchart illustrating a method for detecting the reliability of stored data, provided in an embodiment of this application. See also... Figure 1 As shown, the data storage reliability detection method includes:

[0047] S11: Perform a first inspection of the vulnerability of each fixed data page; wherein, the fixed data page is a plurality of data pages with vulnerability attributes selected from the target data blocks contained in the die to be tested of the target storage device.

[0048] In this embodiment, the detection target is a data page within a target data block contained in the die to be tested of the target storage device. The target storage device includes, but is not limited to, NAND flash memory devices such as solid-state drives (SSDs). It can be understood that a data block (represented as a block) is the smallest erase unit, and a data page (represented as a page) is the smallest read / write unit. The first inspection target in this embodiment is a fixed data page, that is, the vulnerability of each fixed data page is inspected. The fixed data page is a plurality of data pages with vulnerable attributes selected from the target data blocks contained in the die to be tested of the target storage device.

[0049] It should be noted that the factor affecting the vulnerability attribute of the data page in this embodiment is the Bit Error Ratio (BER). The Bit Error Ratio (BER) is a percentage, which is the number of erroneous bits divided by the total number of bits transmitted during a study time interval.

[0050] Before proceeding, it is necessary to determine which data pages belong to the fixed data pages. Specifically, based on the device characteristics of the target storage device, the bit error probability (BER) of all data pages in the target data block is arranged in descending order, and the top-ranked data pages are selected to obtain the fixed data pages. The reason for this is that the more fragile a data page is, the higher its corresponding BER. Of course, this can also be determined by analyzing the characteristics of the storage device or by following the recommendations of the storage device manufacturer. For example, to reduce the impact on performance, the three weakest pages (page5, page509, and page516) are selected as the fixed data pages.

[0051] S12: If the first inspection result indicates that the vulnerability of each of the fixed data pages meets the preset conditions, then a dynamic data page is determined from the target data block, and the vulnerability of the dynamic data page is subjected to a second detection.

[0052] In this embodiment, if the vulnerability of each fixed data page, as indicated by the first inspection result, meets the preset conditions, a compensation inspection is still required. This is because the bit error rate (BER) of each data page within the same data block is not fixed but changes dynamically due to factors such as temperature. That is, pages 5, 509, and 516 cannot represent the monitoring status of the entire data block; they only represent the most vulnerable data pages. Furthermore, considering the NAND manufacturing process, there are differences in characteristics between data blocks and between dies. This leads to a possibility that more vulnerable data pages may not be detected during the inspection.

[0053] In this embodiment, during the compensation inspection, a dynamic data page is first identified from the target data block, and its vulnerability is then subjected to a second detection. Specifically, the bit error probability of each fixed data page is obtained, and it is determined whether the bit error probability of each fixed data page is greater than a preset threshold. If so, the vulnerability of each fixed data page is determined to meet the preset condition. That is, based on the data inspection scheme of fixed data pages, a compensation method for inspecting a dynamic data page is added to monitor other weak data pages. For example, during data inspection, in addition to the existing inspection of three fixed data pages for a data block, an additional inspection of a dynamically adjustable fourth weakest data page is added to ensure the reliability of the entire data block.

[0054] It's important to note that inspecting four data pages will not significantly impact performance compared to inspecting three. For example, assuming a disk with 128 dies and an inspection cycle of 1 hour per die (excluding NAND page read time), with concurrent die operations, and each die has 1980 blocks, each block contains 1152 pages. This means that on average, one block is inspected every 3600 seconds / 1980 blocks = 1818 ms per die, or an average page read occurs every 1818 ms / 3 pages = 606 ms per die. The overall impact on the disk is an average inspection read operation every 4.73 ms. Similarly, inspecting all 1152 pages has an interval of 0.01 ms; inspecting four pages has an interval of 3.55 ms. Generally, the average random read latency for the entire disk is within 80µs. Clearly, a 0.01ms interval read operation has a significant impact on random read latency and QoS quality. Because of the interleaved inspection reads, the user's read time is prolonged at this point; and because inspection reads are more frequent, the average read latency is increased. The impact of 3 pages and 4 pages is on the order of milliseconds, with little difference. Therefore, it is advisable to inspect 4 pages per block. The table below compares the parameters:

[0055]

[0056] S13: If the second inspection result indicates that the vulnerability of the dynamic data page meets the preset condition, then it is determined that all the data stored in the target data block is reliable data.

[0057] In this embodiment, if the second inspection result indicates that the vulnerability of the dynamic data page meets the preset condition, then it is determined that the data stored in the target data block is reliable data. However, regardless of whether it is the first or second inspection, as long as a bit error probability (BER) exceeding the specified threshold is detected, a data refresh operation (moving to another data block) is initiated for that data block.

[0058] As can be seen, this embodiment first performs a first inspection on the vulnerability of each fixed data page; wherein, the fixed data page is a plurality of data pages with vulnerable attributes selected from the target data block contained in the die to be tested of the target storage device; if the first inspection result indicates that the vulnerability of each fixed data page meets a preset condition, then a dynamic data page is determined from the target data block, and the vulnerability of the dynamic data page is second-checked; if the second inspection result indicates that the vulnerability of the dynamic data page meets the preset condition, then it is determined that the data stored in the target data block is reliable data. This embodiment mainly detects the reliability of the data stored on the target data block in the die to be tested of the target storage device, specifically by performing two inspections on the data pages. The first inspection is for the fixed data pages. On the basis that the vulnerability of the fixed data pages meets the preset condition, an inspection of a dynamic data page is added, thereby finding the most vulnerable data page in the target data block and improving the data reliability of the storage device.

[0059] Figure 2 This is a flowchart illustrating a specific method for detecting the reliability of stored data, as provided in an embodiment of this application.

[0060] See Figure 2 As shown, the data storage reliability detection method includes:

[0061] S21: Perform a first inspection of the vulnerability of each fixed data page; wherein, the fixed data page is a plurality of data pages with vulnerability attributes selected from the target data blocks contained in the die to be tested of the target storage device.

[0062] In this embodiment, the specific process of step S21 can be referred to the corresponding content disclosed in the previous embodiments, and will not be repeated here.

[0063] S22: If the first inspection result indicates that the vulnerability of each of the fixed data pages meets the preset conditions, and the second inspection is the first round of detection, then a data page is randomly selected from the target data block as the initial dynamic data page in a pseudo-random manner.

[0064] In this embodiment, the inspection is conducted in rounds and continuously. The dynamic data pages are different in each round of inspection, while the fixed data pages are the same. Determining the fixed data pages is of paramount importance in each round of inspection.

[0065] In this embodiment, if the vulnerability of each fixed data page as indicated by the first inspection result meets the preset conditions, and the second inspection is the first round of detection, then a data page is randomly selected from the target data block as the initial dynamic data page using a pseudo-random method. For the first round of detection, the dynamic data page is randomly selected. Specifically, firstly, the first number of data blocks contained in the die to be detected is determined, and secondly, the second number of data pages in the target data block is determined; then, a modulo operation is performed on the first number and the second number, and the data page at the address number indicated by the operation result is determined as the initial dynamic data page. In this embodiment, a field can be added to the attribute (info) of the data block to record the data page with the highest current bit error probability (BER) other than the fixed data page, abbreviated as MaxBerPage. The default page number is a pseudo-random number, which is different for each data block. For example, for a data block containing 1152 data pages, the calculation result of 1980block % 1152page is determined as the initial dynamic data page.

[0066] S23: Obtain the bit error probability of the initial dynamic data page, and determine whether the bit error probability of the initial dynamic data page is greater than the preset threshold. If so, determine that the vulnerability of the initial dynamic data page meets the preset condition.

[0067] S24: Compare the bit error probability of the initial dynamic data page with the bit error probability of each of the fixed data pages. If the bit error probability of the initial dynamic data page is greater than the bit error probability of each of the fixed data pages and greater than the value of the first field, then update the initial dynamic data page, assign the bit error probability of the initial dynamic data page to the first field, and assign the address number of the data page corresponding to the current assignment of the first field to the second field; wherein, the first field is used to record the maximum bit error probability other than the bit error probability of the fixed data pages, and the second field is used to record the address number of the data page corresponding to the maximum bit error probability.

[0068] S25: Repeat the steps of inspecting the fixed data page and the new dynamic data page in a new round of inspection.

[0069] In this embodiment, the bit error probability of the initial dynamic data page is obtained, and it is determined whether the bit error probability of the initial dynamic data page is greater than the preset threshold. If so, it is determined that the vulnerability of the initial dynamic data page meets the preset condition. This proves that the data is reliable, and the next round of inspection is initiated. At this time, it is necessary to determine the dynamic data page to be inspected in the next round. In this embodiment, the bit error probability of the initial dynamic data page is first compared with the bit error probability of each of the fixed data pages. If the bit error probability of the initial dynamic data page is greater than the bit error probability of each of the fixed data pages and greater than the value of the first field, the initial dynamic data page is updated, and the bit error probability of the initial dynamic data page is assigned to the first field, and the address number of the data page corresponding to the current assignment of the first field is assigned to the second field.

[0070] In this embodiment, the first field is used to record the maximum bit error probability other than the bit error probability of the fixed data page, denoted as MaxBER; the second field is used to record the address number of the data page corresponding to the maximum bit error probability, denoted as MaxBerPage. Therefore, the first and second fields need to be added to the attributes of the target data block. The initial value of the first field is set to zero, and the initial value of the second field is set to the address number of the initial dynamic data page. That is, when inspecting a dynamic page, if a BER higher than both the fixed page's BER and MaxBerPage's BER is found, its page number is assigned to MaxBerPage, and its BER is assigned to the MaxBER record. Simultaneously, the initial dynamic data page is updated. In this embodiment, the address number of the initial dynamic page is incremented by 1 to obtain a new dynamic data page in the next round of inspection. The dynamic page is automatically incremented by 1 after each round of inspection; for example, the first hour is page0, the second hour is page1, and page looping is implemented within the block. After the current block completes one cycle of page looping, the next loop starts from MaxBerPage. By analogy, the goal is to find the most vulnerable (highest BER) page besides the fixed page and have it participate in subsequent inspections, i.e., be monitored.

[0071] In this embodiment, if a patrol jump command carrying jump data page information is received during the current round of inspection, the vulnerability of the jump data page will be inspected in the next round of inspection. The jump data page is a dynamic data page in the die to be inspected where the bit error probability of other data blocks is greater than the bit error probability of each fixed data page. That is, if another block in the current die finds that the BER of a dynamic page exceeds that of a fixed page, but the current block does not, the dynamic page number of the current block automatically jumps to that dynamic page.

[0072] This application embodiment adds a compensation method for inspecting a dynamic page to the data inspection fixed page scheme. The dynamic page may be any page in the block, and one is extracted in each round. The starting page of each block is different and pseudo-randomly arranged. When a page weaker than the fixed page is found in any block, its page number will be changed to the dynamic page number of other blocks. This can prevent the non-fixed page from having a BER higher than the threshold and not being inspected, thereby improving the overall data reliability.

[0073] See Figure 3 As shown in the figure, this application also discloses a data storage reliability detection device, including:

[0074] The first inspection module 11 is used to perform a first inspection on the vulnerability of each fixed data page; wherein, the fixed data page is a plurality of data pages with vulnerability attributes selected from the target data block contained in the die to be tested of the target storage device;

[0075] The second inspection module 12 is used to determine a dynamic data page from the target data block and perform a second detection on the vulnerability of the dynamic data page if the vulnerability of each fixed data page is characterized by the first inspection result to meet the preset conditions.

[0076] The determination module 13 is used to determine that all data stored in the target data block is reliable data if the second inspection result indicates that the vulnerability of the dynamic data page meets the preset conditions.

[0077] As can be seen, this embodiment first performs a first inspection on the vulnerability of each fixed data page; wherein, the fixed data page is a plurality of data pages with vulnerable attributes selected from the target data block contained in the die to be tested of the target storage device; if the first inspection result indicates that the vulnerability of each fixed data page meets a preset condition, then a dynamic data page is determined from the target data block, and the vulnerability of the dynamic data page is second-checked; if the second inspection result indicates that the vulnerability of the dynamic data page meets the preset condition, then it is determined that the data stored in the target data block is reliable data. This embodiment mainly detects the reliability of the data stored on the target data block in the die to be tested of the target storage device, specifically by performing two inspections on the data pages. The first inspection is for the fixed data pages. On the basis that the vulnerability of the fixed data pages meets the preset condition, an inspection of a dynamic data page is added, thereby finding the most vulnerable data page in the target data block and improving the data reliability of the storage device.

[0078] In some specific embodiments, the first inspection module 11 specifically includes:

[0079] The first acquisition unit is used to acquire the bit error probability of each of the fixed data pages;

[0080] The first judgment unit is used to determine whether the bit error probability of each of the fixed data pages is greater than a preset threshold.

[0081] The first determination unit is used to determine, if so, that the vulnerability of each of the fixed data pages satisfies the preset condition.

[0082] In some specific embodiments, the stored data reliability detection device further includes:

[0083] The sorting module is used to sort the bit error probabilities of all data pages in the target data block in descending order according to the device characteristics of the target storage device;

[0084] The selection module is used to select multiple data pages that are ranked first to obtain multiple fixed data pages;

[0085] The comparison module is used to compare the bit error probability of the initial dynamic data page with the bit error probability of each of the fixed data pages;

[0086] The update and assignment module is used to update the initial dynamic data page if the bit error probability of the initial dynamic data page is greater than the bit error probability of each fixed data page and is greater than the value of the first field, and to assign the bit error probability of the initial dynamic data page to the first field, and to assign the address number of the data page corresponding to the current assignment value of the first field to the second field; wherein, the first field is used to record the maximum bit error probability other than the bit error probability of the fixed data pages, and the second field is used to record the address number of the data page corresponding to the maximum bit error probability;

[0087] The repeat module is used to repeatedly execute the steps of inspecting the fixed data page and the new dynamic data page in a new round of inspection;

[0088] The jump module is used to inspect the vulnerability of the jump data page in the next round of inspection if an inspection jump instruction carrying jump data page information is received during the current round of inspection; wherein, the jump data page is a dynamic data page in the die to be inspected where the bit error probability of other data blocks is greater than the bit error probability of each fixed data page.

[0089] A field setting module is used to add the first field and the second field to the attributes of the target data block;

[0090] The field value setting module is used to set the initial value of the first field to zero and the initial value of the second field to the address number of the initial dynamic data page.

[0091] In some specific embodiments, the second inspection module 12 specifically includes:

[0092] The selection unit is used to randomly select a data page from the target data block as the initial dynamic data page in a pseudo-random manner if the second inspection is the first round of inspection;

[0093] The second acquisition unit is used to acquire the bit error probability of the initial dynamic data page;

[0094] The second judgment unit is used to determine whether the bit error probability of the initial dynamic data page is greater than the preset threshold.

[0095] The second determination unit is used to determine, if yes, that the vulnerability of the initial dynamic data page satisfies the preset condition.

[0096] In some specific embodiments, the selection unit specifically includes:

[0097] The quantity determination subunit is used to determine a first number of data blocks contained in the die to be detected, and to determine a second number of data pages in the target data block;

[0098] The operation subunit is used to perform a modulo operation on the first quantity and the second quantity, and to determine the data page at the address number represented by the operation result as the initial dynamic data page.

[0099] Furthermore, embodiments of this application also provide an electronic device. Figure 4 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content of the diagram should not be construed as limiting the scope of this application.

[0100] Figure 4 This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of this application. The electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the data storage reliability detection method disclosed in any of the foregoing embodiments.

[0101] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.

[0102] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The resources stored thereon can include operating system 221, computer program 222 and data 223, etc., and the storage method can be temporary storage or permanent storage.

[0103] The operating system 221 manages and controls the various hardware devices on the electronic device 20 and the computer program 222 to enable the processor 21 to perform calculations and processing on the massive data 223 in the memory 22. It can be Windows Server, Netware, Unix, Linux, etc. The computer program 222, in addition to including a computer program capable of performing the data storage reliability detection method executed by the electronic device 20 as disclosed in any of the foregoing embodiments, may further include computer programs capable of performing other specific tasks. The data 223 may include data pages collected by the electronic device 20.

[0104] Furthermore, this application also discloses a storage medium storing a computer program. When the computer program is loaded and executed by a processor, it implements the storage data reliability detection method steps disclosed in any of the foregoing embodiments.

[0105] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.

[0106] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0107] The above provides a detailed description of the data reliability detection method, apparatus, device, and storage medium provided by the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A method for detecting the reliability of stored data, characterized in that, include: The vulnerability of each fixed data page is first inspected; wherein, the fixed data page is a plurality of data pages with vulnerable attributes selected from the target data blocks contained in the die to be tested of the target storage device; If the first inspection result indicates that the vulnerability of each of the fixed data pages meets the preset conditions, then a dynamic data page is determined from the target data block, and the vulnerability of the dynamic data page is inspected a second time. If the second inspection result indicates that the vulnerability of the dynamic data page meets the preset condition, then it is determined that all data stored in the target data block is reliable data.

2. The data storage reliability detection method according to claim 1, characterized in that, The first inspection of the vulnerability of each fixed data page includes: Obtain the bit error probability of each of the fixed data pages, and determine whether the bit error probability of each of the fixed data pages is greater than a preset threshold. If so, it is determined that the vulnerability of each of the fixed data pages meets the preset condition.

3. The data storage reliability detection method according to claim 2, characterized in that, Before performing the first vulnerability check on each fixed data page, the process also includes: Based on the device characteristics of the target storage device, the bit error probabilities of all data pages in the target data block are arranged in descending order, and the top-ranked data pages are selected to obtain multiple fixed data pages.

4. The method for detecting the reliability of stored data according to claim 2 or 3, characterized in that, The step of identifying a dynamic data page from the target data block and performing a second inspection on the vulnerability of the dynamic data page includes: If the second inspection is the first round of inspection, then a data page is randomly selected from the target data block as the initial dynamic data page in a pseudo-random manner; Obtain the bit error probability of the initial dynamic data page, and determine whether the bit error probability of the initial dynamic data page is greater than the preset threshold. If so, the vulnerability of the initial dynamic data page is determined to meet the preset condition.

5. The data storage reliability detection method according to claim 4, characterized in that, The step of randomly selecting a data page from the target data block as the initial dynamic data page using a pseudo-random method includes: Determine a first number of data blocks contained in the die to be tested, and determine a second number of data pages in the target data block; Perform a modulo operation on the first quantity and the second quantity, and determine the data page at the address number represented by the operation result as the initial dynamic data page.

6. The data storage reliability detection method according to claim 4, characterized in that, After determining that the vulnerability of the initial dynamic data page meets the preset condition, the method further includes: The bit error probability of the initial dynamic data page is compared with the bit error probability of each of the fixed data pages; If the bit error probability of the initial dynamic data page is greater than the bit error probability of each of the fixed data pages and is greater than the value of the first field, then the initial dynamic data page is updated, and the bit error probability of the initial dynamic data page is assigned to the first field, and the address number of the data page corresponding to the current assignment of the first field is assigned to the second field; wherein, the first field is used to record the maximum bit error probability other than the bit error probability of the fixed data pages, and the second field is used to record the address number of the data page corresponding to the maximum bit error probability; The steps of inspecting the fixed data page and the new dynamic data page are repeated in the new round of inspections.

7. The method for detecting the reliability of stored data according to claim 6, characterized in that, Also includes: If a jump instruction carrying jump data page information is received during the current round of inspection, the vulnerability of the jump data page will be inspected in the next round of inspection; wherein, the jump data page is a dynamic data page in the die to be inspected where the bit error probability of other data blocks is greater than the bit error probability of each fixed data page.

8. The method for detecting the reliability of stored data according to claim 6, characterized in that, The update of the initial dynamic data page includes: The address number of the initial dynamic data page is incremented by 1 to obtain a new dynamic data page in the next round of inspection.

9. The method for detecting the reliability of stored data according to claim 6, characterized in that, Also includes: Add the first field and the second field to the attributes of the target data block; Set the initial value of the first field to zero, and set the initial value of the second field to the address number of the initial dynamic data page.

10. A data storage reliability detection device, characterized in that, include: The first inspection module is used to perform a first inspection on the vulnerability of each fixed data page; wherein, the fixed data page is a plurality of data pages with vulnerable attributes selected from the target data blocks contained in the die to be tested of the target storage device; The second inspection module is used to determine a dynamic data page from the target data block and perform a second inspection on the vulnerability of the dynamic data page if the vulnerability of each fixed data page is characterized by the first inspection result to meet the preset conditions. The determination module is used to determine that all data stored in the target data block is reliable data if the second inspection result indicates that the vulnerability of the dynamic data page meets the preset conditions.

11. An electronic device, characterized in that, The electronic device includes a processor and a memory; wherein the memory is used to store a computer program, which is loaded and executed by the processor to implement the data storage reliability detection method as described in any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that, Used to store computer-executable instructions, which, when loaded and executed by a processor, implement the data storage reliability detection method as described in any one of claims 1 to 9.