Data storage device and screening method for error tolerance thereof
By implementing an error tolerance screening method in the data storage device, the difference between corrupted data columns is calculated and recorded to balance their quantity with the correction capability of error correction codes. This solves the balance problem between corrupted data columns and error correction codes, and improves the reliability and storage efficiency of the data storage device.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-17
- Publication Date
- 2026-03-24
AI Technical Summary
In substandard data storage devices, there is a lack of balance between the number of damaged data columns and the error correction capabilities of the error correction codes, resulting in reduced storage capacity and read/write failures.
By implementing an error tolerance filtering method in the data storage device, the number of error bits for each data column is calculated, the data column with the largest number of error bits is selected as the corrupted data column, and the difference is recorded in the error tolerance list until a predetermined number is reached. The largest positive integer difference is then selected as the error tolerance to balance the number of corrupted data columns with the correction capability of the error correction code.
By finding the maximum error correction capability of the error correction code, the number of corrupted data columns can be determined, thus avoiding a significant decrease in the error correction capability of the error correction code and improving the reliability and storage efficiency of the data storage device.
Smart Images

Figure CN116069237B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to an access technology for a data storage device, and more particularly to a method for screening the error tolerance of a data storage device. Background Technology
[0002] Downgraded flash memory devices contain a large number of bad columns. When these bad columns are not detected and removed, they consume a significant portion of the error correction code's corrective capability (e.g., the number of correctable bits), potentially exceeding it. This results in lower initial storage capacity and increased read / write failures. The number of bad columns is inversely proportional to the error correction code's corrective capability; more bad columns mean lower corrective capability. Therefore, a method is needed to find a balance between the number of bad columns and the corrective capability of the error correction code to achieve a suitable error tolerance. Summary of the Invention
[0003] The present invention provides a data storage device and a method for screening the error tolerance of the same, which can find a balance between the number of corrupted data columns and the error correction code’s ability to correct errors, so as to find the number of corrupted data columns under the maximum error correction ability of the error correction code.
[0004] The error tolerance screening method provided by this invention is applicable to data storage devices. The data storage device includes a control unit and a data storage medium, and the data storage medium includes multiple data blocks, each data block including multiple data columns, and the data columns being divided into multiple large blocks. The control unit performs at least one error tolerance screening method, including: writing data to multiple data blocks; reading the written data from the multiple data blocks as read data; comparing the read data and written data for each data column in the multiple data blocks to calculate the number of error bits for each data column, and calculating the number of error bits for each block accordingly; selecting the block with the largest number of error bits and recording the data column with the largest number of error bits in this block as a corrupted data column; calculating the difference between the number of error bits in this block and a first threshold value and storing this difference in an error tolerance list until the number of corrupted data columns equals a second threshold value; and selecting the difference with the largest positive integer in the error tolerance list as the error tolerance and obtaining the corresponding number of corrupted data columns; wherein, the first threshold value is the number of error bits that the error correction code of the data storage device can correct; wherein, the second threshold value is the total number of corrupted data columns that the data storage device can record.
[0005] The data storage device provided by this invention includes a data storage medium and a control unit connected to the data storage medium. The data storage medium includes multiple data blocks, each data block including multiple data columns, and these data columns are divided into multiple large blocks. The control unit is used to perform an error tolerance filtering method. This filtering method includes: writing data to multiple data blocks; reading the written data from the multiple data blocks as read data; comparing the read data and written data for each data column in the multiple data blocks to calculate the number of error bits for each data column, and calculating the number of error bits for each block accordingly; selecting the block with the largest number of error bits and recording the data column with the largest number of error bits in this block as a corrupted data column; calculating the difference between the number of error bits in this block and a first threshold value and storing this difference in an error tolerance list until the number of corrupted data columns equals a second threshold value; and selecting the difference with the largest positive integer in the error tolerance list as the error tolerance and obtaining the corresponding number of corrupted data columns; wherein, the first threshold value is the number of error bits that the error correction code of the data storage device can correct; wherein, the second threshold value is the total number of corrupted data columns that the data storage device can record.
[0006] In one embodiment of the present invention, each of the above-mentioned blocks includes a data area and a spare area.
[0007] In one embodiment of the present invention, each data block includes multiple data pages, and each data page includes multiple data columns located in the same row.
[0008] In one embodiment of the present invention, each of the above data pages includes a data area and a spare area, and these large blocks are located in the data area.
[0009] In one embodiment of the present invention, the first threshold value is negatively correlated with the number of damaged data columns.
[0010] In one embodiment of the present invention, the above-mentioned error tolerance list further stores the number of corrupted data columns, the number of large error bits, and a first threshold value.
[0011] The data storage device and its error tolerance screening method provided by the present invention can find a balance between the number of damaged data columns and the error correction code's error correction capability. Therefore, it can find the number of damaged data columns under the maximum error correction capability of the error correction code, while also avoiding a significant decrease in the error correction capability of the error correction code.
[0012] To make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments are described below in conjunction with the accompanying drawings. Attached Figure Description
[0013] Figure 1 This is a schematic diagram of a data storage device provided in an embodiment of the present invention;
[0014] Figure 2 A schematic diagram of a data storage medium provided in an embodiment of the present invention; and
[0015] Figure 3 This is a schematic flowchart illustrating a method for screening the error tolerance of a data storage device according to an embodiment of the present invention. Detailed Implementation
[0016] Please refer to Figure 1 This is a schematic diagram of a data storage device provided in an embodiment of the present invention. The data storage device 1 includes a data storage medium 10 and a control unit 20, wherein the control unit 20 is connected to the data storage medium 10 to access data on the data storage medium 10.
[0017] Please refer to Figure 2 This is a schematic diagram of a data storage medium provided in an embodiment of the present invention. This data storage medium 10 includes multiple data blocks (as labeled B0 to BZ-1). Each data block includes multiple data columns 11, and data columns placed in the same row are called data pages (as labeled P0 to PN-1). Furthermore, according to user needs, the data columns 11 can be divided into M chunks (as labeled C0 to CM-1), each chunk C0 to CM-1 containing multiple data columns 11. Z, N, and M in the above are all positive integers. In this embodiment, the data storage medium 10 is implemented using non-volatile memory, such as flash memory, magnetoresistive random access memory, ferroelectric random access memory, or other memory devices with long-term data retention capabilities. Furthermore, in one embodiment, each data page can be divided into a data area and a spare area, and the M chunks are located in the data area. In another embodiment, each block C0 to CM-1 can be divided into a data area and a spare area. The data area is used to store data (or user data), and the spare area is used to store parity check codes, which can be used to correct error bits in the data area.
[0018] Since the corrupted data columns exist within the data storage medium 10, the error tolerance screening method of this invention can effectively identify and record the corrupted data columns before dividing the data storage medium 10 into a data area and a spare area. Once the location of the corrupted data columns is determined, the data area and spare area are then divided. Alternatively, the division of the data area and spare area is based on logical data management; therefore, the user can first divide the data area and spare area, then use the error tolerance screening method of this invention to identify and record the location of the corrupted data columns, and finally adjust the division of the data area and spare area. The two data division methods described above are similar in spirit, but the order of execution steps differs slightly. To simplify the description of this invention, only the second embodiment is described, but it is not intended to be limiting.
[0019] Next, it will be explained that the error tolerance screening method of the present invention (hereinafter referred to as the screening method) can be used to screen corrupted data columns of the data storage medium 10. Furthermore, in this embodiment, one data block B0 to BZ-1 of the data storage medium 10 is randomly selected as a sample block to perform this screening method, instead of using all data blocks B0 to BZ-1. It should be noted that those skilled in the art can select different numbers of sample blocks to perform the screening method according to the capacity of the data storage medium 10, such as selecting 16 sample blocks to perform the screening method; therefore, the present invention does not limit the number of sample blocks. In another embodiment, the present invention can also perform this screening method on all data blocks B0 to BZ-1.
[0020] Please refer to Figure 3This is a flowchart illustrating a method for filtering the error tolerance of a data storage device according to an embodiment of the present invention. The control unit 20 executes the error tolerance filtering method of the present invention, including the following operations: In step S1, the control unit 20 writes data to multiple data blocks. In step S3, the control unit 20 reads the written data from the multiple data blocks as read data. In step S5, the control unit 20 compares the read data with the written data for each data column in the multiple data blocks to calculate the number of error bits for each data column, and calculates the number of error bits for each large block accordingly. In step S7, the control unit 20 selects the large block with the largest number of error bits and records the data column with the largest number of error bits in this large block as a corrupted data column. In step S9, the control unit 20 calculates the difference between the number of error bits in the large block with the largest number of error bits and a first threshold value, storing the difference in an error tolerance list until the number of corrupted data columns equals a second threshold value, wherein the first threshold value is the number of error bits that an error correction code of the data storage device can correct, and the second threshold value is the total number of corrupted data columns that the data storage device can record. In step S11, the control unit 20 selects the difference with the largest positive integer in the error tolerance list as the error tolerance and obtains the number of corresponding corrupted data columns.
[0021] In one example, the data storage medium 10 includes 17472 data columns 11, each with 2560 bits. These data columns are divided into 16 blocks, each containing 1024 data columns 11. Therefore, the spare area has 17472 - (16 * 1024) = 1088 data columns 11, meaning each block can be allocated 68 data columns 11. Thus, the error correction code provides a 36-bit error correction capability corresponding to these spare area data columns 11. Note that these values in this example will change with the capacity of the data storage medium 10, and the invention is not limited to these values.
[0022] First, the control unit 20 selects a data block (e.g., data block B0) as a sample block and writes data into it. It then reads the written data from the sample block as read data and compares the read data with the written data for each data column 11 in the sample block to calculate the number of error bits for each data column 11. Simultaneously, it calculates the number of error bits for each large block within the sample block. For example, if the data storage medium 10 includes 10 data blocks, then each data column 11 in each data block can be allocated 2560 / 10 = 256 bits. The control unit 20 compares the written data with the read data for these 256 bits of each data column 11 to calculate the number of error bits for these 256 bits, as well as the total number of error bits for the 1024 data columns 11 in each large block.
[0023] Next, the control unit 20 selects a large block with the largest number of error bits (e.g., a large block C0 in data block B0 with a maximum of 47 error bits), and identifies a first data column 11 within this large block C0 with the largest number of error bits (e.g., a data column with a maximum of 8 error bits). This first data column is recorded as a corrupted data column in a corrupted data column summary table of the data storage device 1. It is important to note that the total number of corrupted data columns recorded in the corrupted data column summary table of the data storage device 1 is an upper limit, i.e., a second threshold value, which in this example is 1088 data columns in the spare area. Simultaneously, the number of error bits that the error correction code of the data storage device 1 can correct, i.e., the first threshold value, is negatively correlated with the number of corrupted data columns. That is, as the corrupted data column summary table records more corrupted data columns, the first threshold value gradually decreases, as shown in the error tolerance list in Table 1.
[0024] Table 1
[0025]
[0026] Next, after recording the first data column in block C0 as a corrupted data column in the corrupted data column list, the control unit 20 again identifies the block with the largest number of error bits and a second data column 11 within that block with the largest number of error bits (e.g., block C0 has 37 error bits, and a certain data column has 10 error bits) and records this second data column as a corrupted data column in the corrupted data column list. Then, after recording the second data column in block C0 as a corrupted data column in the corrupted data column list, the control unit 20 again identifies the block with the largest number of error bits and a third data column 11 within that block with the largest number of error bits (e.g., block C1 has 33 error bits, and a certain data column has 4 error bits) and records this third data column as a corrupted data column in the corrupted data column list. This process continues until the 1088 recordable corrupted data columns of the data storage device 1 are exhausted.
[0027] Finally, the control unit 20 calculates the difference between the block with the largest number of error bits and the first threshold value, storing these differences in an error tolerance list until the number of corrupted data columns equals the second threshold value, i.e., 1088 data columns. The difference with the largest positive integer value is selected as the optimal error tolerance, such as the value 16 in the difference column of the error tolerance list. In other words, the filtering method of this invention can obtain an additional 16 bits of correction capability. Simultaneously, it can also identify a corresponding number of corrupted data columns as 6, meaning the available spare area has 1088-6 = 1082 data columns.
[0028] In summary, the data storage device and its error tolerance screening method provided by the present invention find a balance between the number of corrupted data columns and the error correction code's ability to correct errors. Therefore, it can find the maximum error correction capability of the error correction code and the number of corrupted data columns, so as to avoid a significant decrease in the error correction capability of the error correction code.
[0029] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention in any way. Although the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art can make some modifications or alterations to the methods and techniques disclosed above without departing from the scope of the present invention to create equivalent embodiments. Any simple modifications, equivalent changes and alterations made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the scope of the present invention.
Claims
1. A method for screening error tolerance, characterized in that, Applicable to a data storage device, the data storage device including a control unit and a data storage medium, the data storage medium including multiple data blocks, each of the data blocks including multiple data columns, and the data columns being divided into multiple large blocks, the control unit performing the error tolerance screening method at least once including: Write data to those data blocks; Reading the written data of these data blocks is called reading data; Compare the read data with the write data for each of the data columns to calculate the number of error bits for each of the data columns, and calculate the number of error bits for each of the large blocks accordingly; Select a large block with the largest number of such error bits and record the data column with the largest number of such error bits in that large block as a corrupted data column; Calculate the difference between the number of erroneous bits in the large block and a first threshold value, and store the difference in an error tolerance list until the number of corrupted data columns equals a second threshold value; and Select the difference with the largest positive integer in the error tolerance list as the error tolerance and obtain the corresponding number of corrupted data columns; The first threshold value is the number of error bits that an error correction code of the data storage device can correct; The second threshold value is the total number of the damaged data columns that the data storage device can record.
2. The error tolerance screening method as described in claim 1, characterized in that, Each of these large blocks includes a data area and a spare area.
3. The error tolerance screening method as described in claim 1, characterized in that, Each of these data blocks comprises multiple data pages, and each of these data pages comprises data columns located in the same row.
4. The error tolerance screening method as described in claim 3, characterized in that, Each of these data pages includes a data area and a spare area, and the large blocks are located in the data area.
5. The error tolerance screening method as described in claim 1, characterized in that, The first threshold value is negatively correlated with the number of corrupted data columns.
6. The error tolerance screening method as described in claim 5, characterized in that, The error tolerance list further stores the number of corrupted data columns, the number of faulty bits in the large block, and the first threshold value.
7. A data storage device, characterized in that, include: A data storage medium comprising multiple data blocks, wherein each of the data blocks comprises multiple data columns, and the data columns are divided into multiple large blocks; as well as A control unit, connected to the data storage medium, is used to perform an error tolerance screening method, the screening method including: Write data to those data blocks; Reading the written data of these data blocks is called reading data; Compare the read data with the write data for each of the data columns to calculate the number of error bits for each of the data columns, and calculate the number of error bits for each of the large blocks accordingly; Select a large block with the largest number of such error bits and record the data column with the largest number of such error bits in that large block as a corrupted data column; Calculate the difference between the number of erroneous bits in the large block and a first threshold value, and store the difference in an error tolerance list until the number of corrupted data columns equals a second threshold value; and Select the difference with the largest positive integer in the error tolerance list as the error tolerance and obtain the corresponding number of corrupted data columns; The first threshold value is the number of error bits that an error correction code of the data storage device can correct; The second threshold value is the total number of the damaged data columns that the data storage device can record.
8. The data storage device as claimed in claim 7, characterized in that, Each of these large blocks includes a data area and a spare area.
9. The data storage device as claimed in claim 7, characterized in that, Each of these data blocks comprises multiple data pages, and each of these data pages comprises data columns located in the same row.
10. The data storage device as claimed in claim 9, characterized in that, Each of these data pages includes a data area and a spare area, and the large blocks are located in the data area.
11. The data storage device as claimed in claim 7, characterized in that, The first threshold value is negatively correlated with the number of corrupted data columns.
12. The data storage device as claimed in claim 11, characterized in that, The error tolerance list further stores the number of corrupted data columns, the number of faulty bits in the large block, and the first threshold value.
Citation Information
Patent Citations
Method for screening bad column and data storage device with bad column summary table
CN107346212A
Unusable column mapping in flash memory devices
US20180046372A1