# US 10,871,923 B2 · Management of program suspend and resume operations of a memory sub-system

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

- Number: US 10,871,923 B2
- Document ID: US10871923B2
- Status: Granted
- Kind: B2
- Application number: 16/294,416
- Filed: 2019-03-06
- Published: 2020-09-10
- Granted: 2020-12-22
- Earliest claimed: 2019-03-06
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: Jiangang Wu; Sampath K. Ratnam; Yang Zhang; Guang Chang Ye; Kishore Kumar Muchherla; Hong Lu; Karl D. Schuh; Vamsi Pavan Rayaprolu
- Web page: https://patentgrep.com/patent/US10871923B2

## 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/061: {Improving I/O performance}
- G06F 3/0673: {Single storage device}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A program operation is executed on a memory sub-system. During execution of the program operation, a request to execute a read operation on the memory sub-system is received. In response to receiving the request, a program suspend operation to suspend the program operation is executed. The read operation is executed on the memory sub-system in response to a completion of the program suspend operation. In response to completion of the read operation, a program resume operation is executed. A program suspend delay period is established following execution of the program resume operation during which a subsequent read operation is stored in a queue.

## Claims

### Claim 1

A method comprising:
executing, by a processing device, a program operation on a memory sub-system;
during execution of the program operation, receiving a request to execute a read operation on the memory sub-system;
in response to receiving the request to execute the read operation, executing a program suspend operation to suspend the program operation;
executing the read operation on the memory sub-system in response to a completion of the program suspend operation;
in response to a completion of the read operation, executing a program resume operation to resume the suspended program operation; and
establishing a program suspend delay period following execution of the program resume operation during which a subsequent read operation is stored in a queue to be executed following the program suspend delay period.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
in response to an expiration of the program suspend delay period, executing the subsequent read operation.

### Claim 3 (depends on 1)

The method of claim 1, wherein the read operation is associated with a multi-level cell (MLC) of the memory sub-system.

### Claim 4 (depends on 1)

The method of claim 1, further comprising recording a time of the executing of the program resume operation.

### Claim 5 (depends on 4)

The method of claim 4, wherein the program suspend delay period starts from the time of the executing of the program resume operation.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
maintaining a count corresponding to active read operations stored in the queue, wherein the executing of the program resume operation is further in response to determining that the count satisfies a threshold count value.

### Claim 7

A system comprising:
a memory component; and
a processing device, operatively coupled with the memory component, to:
determine a program suspend delay period following execution of a program resume operation in response to receiving a first read operation associated with a memory sub-system;
during the program suspend delay period, receive a second read operation;
store the second read operation in a queue, the second read operation to be executed following the program suspend delay period; and
following an expiration of the program delay period, execute the second read operation that has been stored in the queue.

### Claim 8 (depends on 7)

The system of claim 7, wherein the processing device is further to:
maintain a count of active read operations in the queue;
determine that the count satisfies a threshold count value; and
issue a command corresponding to the program resume operation in response to determining that the count satisfies the threshold count value.

### Claim 9 (depends on 7)

The system of claim 7, wherein the processing device is further to:
execute a program operation on the memory sub-system; and
in response to receiving the first read operation, execute a program suspend operation to suspend the program operation.

### Claim 10 (depends on 9)

The system of claim 9, wherein the processing device is further to execute the first read operation following execution of the program suspend operation.

### Claim 11 (depends on 7)

The system of claim 7, wherein the processing device is further to:
maintain a first count corresponding to active read operations associated with the memory sub-system;
maintain a second count corresponding to active sequential read operations associated with the memory sub-system; and
in response to determining the first count satisfies a threshold count value and the second count satisfies the threshold count value, executing the program resume operation.

### Claim 12 (depends on 7)

The system of claim 7, wherein the processing device is further to execute a program suspend operation following expiration of the program suspend delay period.

### Claim 13 (depends on 12)

The system of claim 12, wherein the processing device is further to identify the first read operation is associated with a multi-level cell (MLC) of the memory sub-system.

### Claim 14 (depends on 7)

The system of claim 7, wherein the processing device is further to record a time of a start of the program resume operation, wherein the program suspend delay period starts from the time of the start of the program resume operation.

### Claim 15

A non-transitory computer readable medium comprising instructions, which when executed by a processing device, cause the processing device to perform operations comprising:
executing, by the processing device, a program operation on a memory sub-system;
during execution of the program operation, receiving a request to execute a read operation on the memory sub-system;
in response to receiving the request to execute the read operation, executing a program suspend operation to suspend the program operation;
executing the read operation on the memory sub-system in response to a completion of the program suspend operation;
in response to a completion of the read operation, executing a program resume operation to resume the suspended program operation; and
establishing a program suspend delay period following execution of the program resume operation during which a subsequent read operation is stored in a queue to be executed following the program suspend delay period.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, the operations further comprising:
in response to an expiration of the program suspend delay period, executing the subsequent read operation.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the read operation is associated with a multi-level cell (MLC) of the memory sub-system.

### Claim 18 (depends on 15)

The non-transitory computer readable medium of claim 15, the operations further comprising:
recording a time of the executing of the program resume operation.

### Claim 19 (depends on 18)

The non-transitory computer readable medium of claim 18, wherein the program suspend delay period starts from the time of the executing of the program resume operation.

### Claim 20 (depends on 15)

The non-transitory computer readable medium of claim 15, the operations further comprising:
maintaining a count corresponding to active read operations stored in the queue; and
in response to determining the count satisfies a threshold count value, executing the program resume operation.
