# US 11,908,522 B2 · Memory device and program operation thereof

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

- Number: US 11,908,522 B2
- Document ID: US11908522B2
- Status: Granted
- Kind: B2
- Application number: 17/488,701
- Filed: 2021-09-29
- Published: 2023-03-02
- Granted: 2024-02-20
- Earliest claimed: 2021-08-27
- Assignees: Yangtze Memory Technologies Co., Ltd.
- Applicants: Yangtze Memory Technologies Co., Ltd.
- Inventors: Huangpeng Zhang; Zhichao Du; Ke Jiang; Cong Luo; Daesik Song
- Web page: https://patentgrep.com/patent/US11908522B2

## CPC

- G11C 16/10: Programming or data input circuits
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0655: {Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G11C 11/5628: {Programming or writing circuits; Data input circuits}
- G11C 16/0483: {comprising cells having several storage transistors connected in series}
- G11C 16/08: Address circuits; Decoders; Word-line control circuits
- G11C 16/3459: {Circuits or methods to verify correct programming of nonvolatile memory cells}
- G11C 11/5671: {using charge trapping in an insulator}
- G11C 16/32: Timing circuits
- H10B 43/27: the channels comprising vertical portions, e.g. U-shaped channels
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H10B: ELECTRONIC MEMORY DEVICES

## Abstract

In certain aspects, a memory device includes memory cells, and a peripheral circuit coupled to the memory cells. The peripheral circuit is configured to initiate a program operation on a selected memory cell of the memory cells, obtain a number of occurrences of one or more suspensions during the program operation, and determine a program pulse limit for the program operation based on the number of occurrences of the suspensions.

## Claims

### Claim 1

A memory device, comprising:
memory cells; and
a peripheral circuit coupled to the memory cells and configured to:
initiate a program operation on a selected memory cell of the memory cells;
obtain a number of occurrences of one or more suspensions during the program operation; and
determine a limit on a number of program pulses for the program operation based on the number of occurrences of the one or more suspensions during the program operation.

### Claim 2 (depends on 1)

The memory device of claim 1, wherein the peripheral circuit is further configured to, in response to the number of program pluses in the program operation reaching the limit, terminate the program operation.

### Claim 3 (depends on 1)

The memory device of claim 1, wherein to determine the limit on the number of program pulses, the peripheral circuit comprises control logic configured to calculate the limit based on a default program pulse limit, a weight, and the number of occurrences of the one or more suspensions.

### Claim 4 (depends on 3)

The memory device of claim 3, wherein to calculate the limit, the control logic is configured to:
calculate a weighted number of suspensions based on the weight and the number of occurrences of the one or more suspensions; and
adjust the default program pulse limit based on the weighted number of occurrences of the suspensions.

### Claim 5 (depends on 3)

The memory device of claim 3, further comprising word lines coupling the peripheral circuit to the memory cells, wherein
the peripheral circuit comprises a word line driver coupled to a select word line of the word lines that is coupled to the select memory cell;
the word line driver is configured to apply the program pulses with incremental voltages to the select word line; and
a resumed incremental voltage of a program pulse immediately after a resumption of the program operation is smaller than a default incremental voltage of the program pulses.

### Claim 6 (depends on 5)

The memory device of claim 5, wherein the weight is set based on a difference between the resumed incremental voltage and the default incremental voltage.

### Claim 7 (depends on 5)

The memory device of claim 5, wherein the weight is set based on a location of the select word line among the word lines.

### Claim 8 (depends on 3)

The memory device of claim 3, wherein the weight is set based on the default program pulse limit.

### Claim 9 (depends on 1)

The memory device of claim 1, wherein to obtain the number of occurrences of the one or more suspensions, the peripheral circuit comprises:
control logic configured to track the number of occurrences of the one or more suspensions during the program operation; and
a register coupled to the control logic and configured to store the tracked number of occurrences of the one or more suspensions.

### Claim 10 (depends on 1)

The memory device of claim 1, wherein to obtain the number of occurrences of the one or more suspensions, the peripheral circuit comprises control logic configured to receive the number of occurrences of the one or more suspensions during the program operation from a memory controller.

### Claim 11

A system, comprising:
a memory device configured to store data and comprising:
memory cells; and
a peripheral circuit coupled to the memory cells and configured to:
initiate a program operation on a selected memory cell of the memory cells;
obtain a number of occurrences of one or more suspensions during the program operation; and
determine a limit on a number of program pulses for the program operation based on the number of occurrences of the one or more suspensions during the program operation; and
a memory controller coupled to the memory device and configured:
transmit a program command to the peripheral circuit to initiate the program operation; and
transmit one or more suspend commands after the program command to the peripheral circuit to cause the one or more suspensions during the program operation.

### Claim 12

A method for operating a memory device comprising memory cells, the method comprising:
initiating a program operation on a selected memory cell of the memory cells;
obtaining a number of occurrences of one or more suspensions during the program operation; and
determining a limit on a number of program pulses for the program operation based on the number of occurrences of the one or more suspensions during the program operation.

### Claim 13 (depends on 12)

The method of claim 12, further comprising, in response to the number of program pluses in the program operation reaching the limit, terminating the program operation.

### Claim 14 (depends on 12)

The method of claim 12, wherein determining the limit comprises calculating the limit based on a default program pulse limit, a weight, and the number of occurrences of the one or more suspensions.

### Claim 15 (depends on 14)

The method of claim 14, wherein calculating the limit comprises:
calculating a weighted number of occurrences of the one or more suspensions based on the weight and the number of occurrences of the one or more suspensions; and
adjusting the default program pulse limit based on the weighted number of occurrences of the one or more suspensions.

### Claim 16 (depends on 14)

The method of claim 14, wherein
the memory device further comprises a select word line coupled to the select memory cell; and
the method further comprises applying the program pulses with incremental voltages to the select word line, a resumed incremental voltage of a program pulse immediately after a resumption of the program operation being smaller than a default incremental voltage of the program pulses.

### Claim 17 (depends on 16)

The method of claim 16, wherein the weight is set based on a difference between the resumed incremental voltage and the default incremental voltage.

### Claim 18 (depends on 16)

The method of claim 16, wherein the weight is set based on a location of the select word line among word lines or the default program pulse limit.

### Claim 19 (depends on 12)

The method of claim 12, wherein obtaining the number of occurrences of the one or more suspensions comprises:
tracking the number of occurrences of the one or more suspensions during the program operation; and
storing the tracked number of occurrences of the one or more suspensions.

### Claim 20 (depends on 12)

The method of claim 12, wherein obtaining the number of occurrences of the one or more suspensions comprises receiving the number of occurrences of the one or more suspensions during the program operation.
