# US 11,907,571 B2 · Read threshold optimization systems and methods using domain transformation

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

- Number: US 11,907,571 B2
- Document ID: US11907571B2
- Status: Granted
- Kind: B2
- Application number: 16/927,567
- Filed: 2020-07-13
- Published: 2022-01-13
- Granted: 2024-02-20
- Earliest claimed: 2020-07-13
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: Fan Zhang; Aman Bhatia; Haobo Wang
- Web page: https://patentgrep.com/patent/US11907571B2

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0673: {Single storage device}
- G06F 11/1012: {using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence)}
- G11C 16/26: Sensing or reading circuits; Data output circuits
- G11C 29/021: {in voltage or current generators}
- G11C 29/028: {with adaption or trimming of parameters}
- G11C 11/56: using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C 11/5642: {Sensing or reading circuits; Data output circuits}
- G11C 16/0483: {comprising cells having several storage transistors connected in series}
- G11C 2029/0411: {Online error correction}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A controller optimizes read threshold values for a memory device using domain transformation. The controller determines, for decoded data of each read operation, an asymmetric ratio (AR) and a number of unsatisfied checks (USCs), the AR indicating a ratio of a number of a first binary value to a number of a second binary value in the decoded data. The controller determines a Z-axis such that AR values of threshold sets are arranged in a set order along the Z-axis. The controller determines an optimum read threshold set using coordinate values on the Z-axis, which correspond to a set AR value and a set USC value.

## Claims

### Claim 1

A memory system comprising:
a memory device including a plurality of cells; and
a controller, coupled to the memory device, configured to:
receive, by a read processor in the controller, a read request from a host device;
perform, by the read processor, in response to the read request, multiple read operations on the plurality of cells using multiple read threshold voltages of a read threshold set and at least one read retry threshold set, each of the threshold sets including first and second read thresholds, the multiple read operations acquiring voltages from the plurality of cells of the memory device in order to read data from the plurality of cells of the memory device;
decode the data associated with each of the read operations utilizing a decoder in the controller that determines if the multiple read operations using the multiple read threshold voltages of the read threshold set have failed;
determine, by an optimum read threshold determiner in the controller, for the decoded data determined in the controller of each of the read operations, an asymmetric ratio (AR) and a number of unsatisfied checks (USCs), the AR indicating a ratio of a number of a first binary value to a number of a second binary value in the decoded data;
determine, by the optimum read threshold determiner, from the decoded data determined in the controller, a Z-axis extending diagonally along two ranges of read threshold values such that AR values of the threshold sets are arranged in a set order along the Z-axis;
determine, by the optimum read threshold determiner, from the decoded data determined in the controller, an optimum read threshold set using coordinate values on the Z-axis, which correspond to a set AR value and a set USC value;
read, by the read processor, the data from the plurality of cells using the optimum read threshold set; and
transmit, by the read processor, the read data to the host device,
wherein
the controller, in response to determining the optimum read threshold set, determines the coordinate values on the Z-axis using only the previously decoded data determined in the controller associated with previous read attempts without needing extra reads to search for an optimum read threshold for soft decoding, and
the controller without needing the extra reads to search for the optimum read threshold thereby reduces a read latency and improves a quality of service of the memory device.

### Claim 2 (depends on 1)

The memory system of claim 1, wherein the controller:
characterizes a first function go in accordance with a relation of AR=g(Z) and a second function h( ) in accordance with a relation of USC=h(z);
projects each of the threshold sets onto the Z-axis to get the coordinate values on the Z-axis; and
estimates a first coordinate value on the Z-axis which corresponds to the set AR value using the first function go and the coordinate values and a second coordinate value on the Z-axis which corresponds to a lowest USC value, and
wherein the optimum read threshold set is determined using the first and second coordinate values.

### Claim 3 (depends on 2)

The memory system of claim 2, wherein the plurality of cells are coupled to a word line and include multiple pages.

### Claim 4 (depends on 3)

The memory system of claim 3, wherein the multiple pages include a most significant bit (MSB) page, a center significant bit (CSB) page and a least significant bit (LSB) page.

### Claim 5 (depends on 4)

The memory system of claim 4, wherein the plurality of cells are programmed using Gray coding.

### Claim 6 (depends on 2)

The memory system of claim 2, wherein the multiple read operations include a read operation and one or more read retry operations, and
wherein the controller performs the read operation using the read threshold set corresponding to a history read threshold set, and performs the read retry operations using two or more read retry threshold sets in response to the read operation having failed.

### Claim 7 (depends on 2)

The memory system of claim 2, wherein the Z-axis is determined such that the AR values, obtained by projection onto the Z-axis, of the threshold sets are arranged in an ascending order along the diagonally extending Z-axis.

### Claim 8 (depends on 2)

The memory system of claim 2, wherein the Z-axis corresponds to a line passing through an average of the first and second read thresholds with a slope of −1.

### Claim 9 (depends on 2)

The memory system of claim 2, wherein the set AR value includes an AR value of 1.

### Claim 10 (depends on 2)

The memory system of claim 2, wherein the controller estimates the optimum read threshold set using an average of the first coordinate value and the second coordinate value.

### Claim 11

A method for operating a memory system, which includes a memory device including a plurality of cells and a controller coupled to the memory device, the method comprising:
receiving under direction of a read processor of the controller a read request from a host device;
performing, in response to the read request, under direction of the read processor of the controller multiple read operations on the plurality of cells using multiple read threshold voltages of a read threshold set and at least one read retry threshold set, each of the threshold sets including first and second read thresholds, the multiple read operations acquiring voltages from the plurality of cells of the memory device in order to read data from the plurality of cells of the memory device;
decoding under direction of the controller the data associated with each of the read operations utilizing a decoder in the controller that determines if the multiple read operations using the multiple read threshold voltages of the read threshold set have failed;
determining under direction of an optimum read threshold determiner of the controller, for the decoded data determined in the controller of each of the read operations, an asymmetric ratio (AR) and a number of unsatisfied checks (USCs), the AR indicating a ratio of a number of a first binary value to a number of a second binary value in the decoded data;
determining under direction of the optimum read threshold determiner of the controller, from the decoded data determined in the controller, a Z-axis extending diagonally along two ranges of read threshold values such that AR values of the threshold sets are arranged in a set order along the Z-axis;
determining under direction of the optimum read threshold determiner of the controller, from the decoded data determined in the controller, an optimum read threshold set using coordinate values on the Z-axis, which correspond to a set AR value and a set USC value;
reading under direction of the read processor the data from the plurality of cells using the optimum read threshold set; and
transmitting under direction of the read processor the read data to the host device, wherein
the controller, in response to determining the optimum read threshold set, determines the coordinate values on the Z-axis using only the previously decoded data determined in the controller associated with previous read attempts without needing extra reads to search for an optimum read threshold for soft decoding, and
the controller without needing the extra reads to search for the optimum read threshold thereby reduces a read latency and improves a quality of service of the memory device.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
characterizing a first function go in accordance with a relation of AR=g(Z) and a second function h( ) in accordance with a relation of USC=h(z);
projecting each of the threshold sets onto the Z-axis to get the coordinate values on the Z-axis;
estimating a first coordinate value on the Z-axis which corresponds to the set AR value using the first function go and the coordinate values and a second coordinate value on the Z-axis which corresponds to a lowest USC value,
wherein the optimum read threshold set is determined using the first and second coordinate values.

### Claim 13 (depends on 12)

The method of claim 12, wherein the plurality of cells are coupled to a word line and include multiple pages.

### Claim 14 (depends on 13)

The method of claim 13, wherein the multiple pages include a most significant bit (MSB) page, a center significant bit (CSB) page and a least significant bit (LSB) page.

### Claim 15 (depends on 14)

The method of claim 14, wherein the plurality of cells are programmed using Gray coding.

### Claim 16 (depends on 12)

The method of claim 12, wherein the multiple read operations include a read operation and one or more read retry operations, and
wherein the performing of the multiple read operations comprises:
performing the read operation using the read threshold set corresponding to a history read threshold set; and
performing the read retry operations using two or more read retry threshold sets in response to the read operation having failed.

### Claim 17 (depends on 12)

The method of claim 12, wherein the Z-axis is determined such that the AR values, obtained by projection onto the Z-axis, of the threshold sets are arranged in an ascending order along the diagonally extending Z-axis.

### Claim 18 (depends on 12)

The method of claim 12, wherein the Z-axis corresponds to a line passing through an average of the first and second read thresholds with a slope of −1.

### Claim 19 (depends on 12)

The method of claim 12, wherein the set AR value includes an AR value of 1.

### Claim 20 (depends on 12)

The method of claim 12, wherein the determining of the optimum read threshold set comprises:
estimating the optimum read threshold set using an average of the first coordinate value and the second coordinate value.
