# US 11,907,047 B2 · Data storage device and error tolerance selecting method thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,047 B2
- Document ID: US11907047B2
- Status: Granted
- Kind: B2
- Application number: 17/715,978
- Filed: 2022-04-08
- Published: 2023-05-04
- Granted: 2024-02-20
- Earliest claimed: 2021-11-02
- Assignees: Silicon Motion, Inc.
- Applicants: Silicon Motion, Inc.
- Inventors: Sheng-Yuan Huang
- Web page: https://patentgrep.com/patent/US11907047B2

## CPC

- G06F 11/0727: {in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/064: {Management of blocks}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0673: {Single storage device}
- G06F 11/076: {by exceeding a count or rate limit, e.g. word- or bit count limit}
- G06F 11/0772: {Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers}
- G06F 11/1012: {using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data storage device, and an error tolerance selecting method thereof which includes: writing data to data blocks of the data storage device; reading written data of the data blocks as read data; comparing the read data and the written data of each data column in the data blocks, and calculating a number of error bits in each chunk including a plurality of data columns accordingly; calculating a difference value between the number of error bits in the chunk and a first threshold value to store the difference value in an error tolerance list; and selecting a largest difference value in the error tolerance list as an error tolerance.

## Claims

### Claim 1

An error tolerance selecting method, applied to a data storage device, wherein the data storage device comprises a control unit and a data storage medium, and the data storage medium comprises a plurality of data blocks, each data block comprises a plurality of data columns, and the plurality of data columns are divided into a plurality of chunks, the control unit is configured to execute the error tolerance selecting method at least once, and the selecting method comprising:
writing data to the plurality of data blocks;
reading written data of the plurality of data blocks as read data;
comparing the read data and the write data of each data column in the plurality of data blocks, and calculating a number of error bits in each chunk accordingly;
selecting a column with a largest number of error bits in a chunk with a largest number of error bits as a bad data column;
calculating a difference value between the number of error bits in the chunk and a first threshold value to store the difference value in an error tolerance list until a number of bad data columns is equal to a second threshold value; and
selecting a largest difference value in the error tolerance list as the error tolerance and acquiring a number of the bad data columns corresponding to the largest difference value;
wherein, the first threshold value is a number of correctable error bits of error correction code in the data storage device;
wherein, the second threshold value is a total number of recordable bad data columns in the data storage device.

### Claim 2 (depends on 1)

The error tolerance selecting method as claimed in claim 1, wherein each of the plurality of chunks comprises a data area and a spare area.

### Claim 3 (depends on 1)

The error tolerance selecting method as claimed in claim 1, wherein each of the plurality of data blocks comprises a plurality of data pages, each of the plurality of data pages comprises a plurality of data columns which are in a same row.

### Claim 4 (depends on 3)

The error tolerance selecting method as claimed in claim 3, wherein each of the plurality of data pages comprises a data area and a spare area, and the plurality of chunks are in the data area.

### Claim 5 (depends on 1)

The error tolerance selecting method as claimed in claim 1, wherein the first threshold value and the number of the bad data columns are negative correlation.

### Claim 6 (depends on 5)

The error tolerance selecting method as claimed in claim 5, wherein the error tolerance list further stores the number of the bad data columns, the number of error bits of the chunk and the first threshold value.

### Claim 7

A data storage device, comprising:
a data storage medium, comprising a plurality of data blocks, wherein each of the plurality of data blocks comprises a plurality of data columns, and the plurality of data columns are divided into a plurality of chunks; and
a control unit, connected to the data storage medium, and configured to execute an error tolerance selecting method, the selecting method includes:
writing data to the plurality of data blocks;
reading written data of the plurality of data block as read data;
comparing the read data and the write data of each data column in the plurality of data blocks, and calculating a number of error bits in each chunk accordingly;
selecting a column with a largest number of error bits in a chunk with a largest number of error bits as a bad data column;
calculating a difference value between the number of error bits in the chunk and a first threshold value to store the difference value in an error tolerance list until a number of bad data columns is equal to a second threshold value; and
selecting a largest difference value in the error tolerance list as the error tolerance and acquiring a number of bad data columns corresponding to the largest difference value;
wherein, the first threshold value is a number of correctable error bits of error correction code in the data storage device;
wherein, the second threshold value is a total number of recordable bad data columns in the data storage device.

### Claim 8 (depends on 7)

The data storage device as claimed in claim 7, wherein each of the plurality of chunks comprises a data area and a spare area.

### Claim 9 (depends on 7)

The data storage device as claimed in claim 7, wherein each of the plurality of data blocks comprises a plurality of data pages, each of the plurality of data pages comprises a plurality of data columns which are in a same row.

### Claim 10 (depends on 9)

The data storage device as claimed in claim 9, wherein each of the plurality of data pages comprises a data area and a spare area, and the plurality of chunks are in the data area.

### Claim 11 (depends on 7)

The data storage device as claimed in claim 7, wherein the first threshold value and the number of the bad data columns are negative correlation.

### Claim 12 (depends on 11)

The data storage device as claimed in claim 11, wherein the error tolerance list further stores the number of bad data columns, the number of error bits of the chunk and the first threshold value.
