# US 10,771,094 B2 · Memory system configured to estimate a read voltage using a histogram

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

- Number: US 10,771,094 B2
- Document ID: US10771094B2
- Status: Granted
- Kind: B2
- Application number: 16/286,521
- Filed: 2019-02-26
- Published: 2020-03-19
- Granted: 2020-09-08
- Earliest claimed: 2018-09-13
- Assignees: Toshiba Memory Corporation
- Applicants: Toshiba Memory Corporation
- Inventors: Koji Horisaki
- Web page: https://patentgrep.com/patent/US10771094B2

## CPC

- H03M 13/47: Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
- G06F 11/073: {in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00)}
- G06F 11/0754: {by exceeding limits}
- G06F 11/1048: {using arrangements adapted for a specific error detection or correction feature}
- G06F 11/3037: {where the computing system component is a memory, e.g. virtual memory, cache (accessing, addressing or allocating within memory systems or architectures G06F12/00; checking stores for correct operation G11C29/00)}
- G06F 11/3058: {Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations (thermal management in cooling arrangements of a computing system G06F1/206)}
- G11C 11/5642: {Sensing or reading circuits; Data output circuits}
- G11C 16/26: Sensing or reading circuits; Data output circuits
- G11C 16/34: Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C 29/028: {with adaption or trimming of parameters}
- G06F 2201/81: Threshold
- G11C 29/026: {in sense amplifiers}
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A memory system includes a nonvolatile memory and a memory controller. The memory controller determines a read voltage for first data encoded by a first encoding scheme, by generating a first histogram indicating the number of memory cells for each threshold voltage, and estimating the read voltage using: (a) the first histogram that is corrected based on a first parameter of the first encoding scheme, and a second parameter of a second encoding scheme, and an estimation function for estimating a read voltage for second data encoded by the second encoding scheme, or (b) the uncorrected first histogram, and the estimation function that is corrected based on the first and second parameters, or (c) the first histogram after partial correction based on the first and second parameters, and the estimation function after partial correction based on the first and second parameters.

## Claims

### Claim 1

A memory system comprising:
a nonvolatile memory that includes a plurality of memory cells; and
a memory controller configured to determine a read voltage to be applied to the nonvolatile memory to read first data encoded by a first encoding scheme of a plurality of error mitigation encoding schemes from the nonvolatile memory, by generating a first histogram indicating the number of memory cells for each of a plurality of threshold voltage ranges, and then estimating the read voltage used for reading the first data by using:
(a) the first histogram after correction which is obtained by correcting the first histogram based on a parameter of the first encoding scheme and a parameter of a second encoding scheme of the plurality of error mitigation encoding schemes, and an estimation function for estimating a read voltage used for reading second data encoded by the second encoding scheme,
(b) the first histogram before correction, and the estimation function after correction which is obtained by correcting the estimation function based on the parameter of the first encoding scheme and the parameter of the second encoding scheme, or
(c) the first histogram after correction which is obtained by correcting a part of the first histogram based on the parameter of the first encoding scheme and the parameter of the second encoding scheme, and the estimation function after correction which is obtained by correcting a part of the estimation function based on the parameter of the first encoding scheme and the parameter of the second encoding scheme.

### Claim 2 (depends on 1)

The memory system according to claim 1, wherein the estimation function is calculated by using a second histogram generated from reading the second data.

### Claim 3 (depends on 2)

The memory system according to claim 2, wherein
the first histogram is generated based on the first data read using a reference read voltage, and
the second histogram is generated based on the second data read using a reference read voltage.

### Claim 4 (depends on 2)

The memory system according to claim 2, wherein the memory controller is configured to estimate a read voltage used for reading the second data by using the second histogram which is uncorrected and the estimation function before correction.

### Claim 5 (depends on 1)

The memory system according to claim 1, wherein the second encoding scheme is a scheme of writing data to the nonvolatile memory without performing error mitigation encoding.

### Claim 6 (depends on 1)

The memory system according to claim 1, wherein the memory controller is configured to correct at least one of the first histogram and the estimation function based on a first occurrence probability of a plurality of write levels calculated based on the parameter of the first encoding scheme and a second occurrence probability of the plurality of write levels calculated based on the parameter of the second encoding scheme.

### Claim 7 (depends on 6)

The memory system according to claim 6, wherein
the estimation function is a function that multiplies a matrix for estimating the read voltage by a vector having a frequency of each bin corresponding to each write level of the first histogram, as an element thereof, and
the memory controller corrects the estimation function by dividing a value of each element of the matrix corresponding to each write level of the first histogram by a ratio of the first occurrence probability to the second occurrence probability of each write level.

### Claim 8 (depends on 6)

The memory system according to claim 6, wherein the memory controller corrects the first histogram by dividing the frequency of each bin corresponding to each write level of the first histogram by the ratio of the first occurrence probability to the second occurrence probability of each write level.

### Claim 9

A method of determining a read voltage to be applied to read first data encoded by a first encoding scheme of a plurality of error mitigation encoding schemes from a nonvolatile memory of a memory system, said method comprising:
generating a first histogram indicating the number of memory cells for each of a plurality of threshold voltage ranges; and
estimating the read voltage used for reading the first data by using:
(a) the first histogram after correction which is obtained by correcting the first histogram based on a parameter of the first encoding scheme and a parameter of a second encoding scheme of the plurality of error mitigation encoding schemes, and an estimation function for estimating a read voltage used for reading second data encoded by the second encoding scheme,
(b) the first histogram before correction, and the estimation function after correction which is obtained by correcting the estimation function based on the parameter of the first encoding scheme and the parameter of the second encoding scheme, or
(c) the first histogram after correction which is obtained by correcting a part of the first histogram based on the parameter of the first encoding scheme and the parameter of the second encoding scheme, and the estimation function after correction which is obtained by correcting a part of the estimation function based on the parameter of the first encoding scheme and the parameter of the second encoding scheme.

### Claim 10 (depends on 9)

The method according to claim 9, wherein the estimation function is calculated by using a second histogram generated from reading the second data.

### Claim 11 (depends on 10)

The method according to claim 10, wherein
the first histogram is generated based on the first data read using a reference read voltage, and
the second histogram is generated based on the second data read using a reference read voltage.

### Claim 12 (depends on 11)

The method according to claim 11, further comprising:
estimating a read voltage used for reading the second data by using the second histogram which is uncorrected and the estimation function before correction.

### Claim 13 (depends on 9)

The method according to claim 9, wherein the second encoding scheme is a scheme of writing data to the nonvolatile memory without performing error mitigation encoding.

### Claim 14 (depends on 9)

The method according to claim 9, wherein at least one of the first histogram and the estimation function is corrected based on a first occurrence probability of a plurality of write levels calculated based on the parameter of the first encoding scheme and a second occurrence probability of the plurality of write levels calculated based on the parameter of the second encoding scheme.

### Claim 15 (depends on 14)

The method according to claim 14, wherein
the estimation function is a function that multiplies a matrix for estimating the read voltage by a vector having a frequency of each bin corresponding to each write level of the first histogram, as an element thereof, and
the estimation function is corrected by dividing a value of each element of the matrix corresponding to each write level of the first histogram by a ratio of the first occurrence probability to the second occurrence probability of each write level.

### Claim 16 (depends on 14)

The method according to claim 14, wherein the first histogram is corrected by dividing the frequency of each bin corresponding to each write level of the first histogram by the ratio of the first occurrence probability to the second occurrence probability of each write level.
