# US 10,503,586 B2 · Dynamic read based on read statistics

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

- Number: US 10,503,586 B2
- Document ID: US10503586B2
- Status: Granted
- Kind: B2
- Application number: 15/497,220
- Filed: 2017-04-26
- Published: 2018-11-01
- Granted: 2019-12-10
- Earliest claimed: 2017-04-26
- Assignees: SanDisk Technologies LLC
- Applicants: SanDisk Technologies LLC
- Inventors: Edgar Barber; Alex Bazarsky; Ariel Navon; Gadi Vishne; Joshua Lehmann; Judah Gamliel Hahn
- Web page: https://patentgrep.com/patent/US10503586B2

## CPC

- G06F 11/1016: {Error in accessing a memory location, i.e. addressing error}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G11C 11/5642: {Sensing or reading circuits; Data output circuits}
- G11C 16/349: {Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles}
- G11C 29/021: {in voltage or current generators}
- G11C 29/028: {with adaption or trimming of parameters}
- G11C 29/44: Indication or identification of errors, e.g. for repair
- G11C 29/52: Protection of memory contents; Detection of errors in memory contents
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

Apparatuses, systems, and methods are disclosed for dynamic read operations. An on-die controller monitors one or more read statistics during a read operation for data of a non-volatile memory die. An on-die controller determines whether one or more read statistics satisfy a threshold for a read operation. An on-die controller dynamically modifies a read operation based on determining that one or more read statistics fail to satisfy a threshold.

## Claims

### Claim 1

An apparatus comprising:
an on-die controller for a non-volatile memory die, the on-die controller comprising:
a statistics circuit that monitors one or more read statistics during a read operation for data of the non-volatile memory die;
a threshold circuit that determines whether the one or more read statistics satisfy a threshold for the read operation; and
an adjustment circuit that dynamically modifies the read operation on-die based on determining that the one or more read statistics fail to satisfy the threshold without sending the data to a device controller external to the non-volatile memory die prior to the adjustment circuit dynamically modifying the read operation, wherein the on-die controller further comprises a status circuit that communicates a status for the read operation to the device controller, the status comprising one or more of an indication that the read operation has been stopped, an error location, and an indication that one or more read parameters have been changed.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the read statistic comprises a balance between zeros and ones for at least a portion of the data.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the adjustment circuit dynamically modifies the read operation by stopping the read operation without transferring the data from the non-volatile memory die to the device controller.

### Claim 4 (depends on 3)

The apparatus of claim 3, wherein the adjustment circuit is further configured to stop one or more additional read operations subsequent to the read operation.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the adjustment circuit dynamically modifies the read operation by changing one or more read parameters during the read operation and restarting the read operation with the one or more changed read parameters, prior to transferring the data to the device controller.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein changing one or more read parameters comprises one or more of:
changing one or more read thresholds; and
obtaining soft bits indicating a reliability of the data.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the status circuit is configured to communicate the status in response to a check status command from the device controller.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the status circuit is configured to initiate a signal for communicating the status without being polled by the device controller.

### Claim 9 (depends on 1)

The apparatus of claim 1, wherein the status circuit is configured to communicate the status in response to a data transfer command from the device controller.

### Claim 10 (depends on 1)

The apparatus of claim 1, wherein the threshold is based on one or more of a balance between ones and zeros for data written with a known balance between ones and zeros, a balance among states for storage cells programmed with a known balance of states, and a voltage statistic for the read operation.

### Claim 11 (depends on 1)

The apparatus of claim 1, wherein a data size for the read operation is smaller than a data transfer size between the non-volatile memory die and the device controller.

### Claim 12

A method comprising
initiating a read operation for data of a non-volatile memory element, the data stored subject to a data transformation that balances ones and zeros for the data;
tracking an ongoing balance between ones and zeroes for the data during the read operation;
dynamically adjusting the read operation on the non-volatile memory element based on the tracked ongoing balance without sending the data to a device controller external to the non-volatile memory element prior to the dynamically adjusting the read operation; and
communicating a status for the adjusted read operation from the non-volatile memory element to the device controller for the non-volatile memory element.

### Claim 13 (depends on 12)

The method of claim 12, wherein dynamically adjusting the read operation comprises stopping the read operation without transferring the data to the device controller.

### Claim 14 (depends on 13)

The method of claim 13, further comprising stopping one or more additional read operations subsequent to the read operation.

### Claim 15 (depends on 12)

The method of claim 12, wherein dynamically adjusting the read operation comprises changing one or more read parameters during the read operation, prior to transferring the data to the device controller.

### Claim 16 (depends on 15)

The method of claim 15, wherein changing one or more read parameters comprises one or more of:
changing one or more read thresholds; and
obtaining soft bits indicating a reliability of the data.

### Claim 17

An apparatus comprising:
means for monitoring one or more read statistics during a read operation for data of a non-volatile memory die;
means for comparing the one or more read statistics to one or more expected statistics for the data, the one or more expected statistics corresponding to one or more known characteristics of a data transformation used to store the data;
means for dynamically updating the read operation on-die based on a variance between the one or more read statistics and the expected statistics for the data by changing one or more read thresholds and one of restarting and continuing the read operation with the changed read thresholds, without sending the data to a device controller external to the non-volatile memory die prior to the dynamically updating the read operation; and
means for communicating a status for the read operation to the device controller.
