# US 12,182,442 B2 · Request control for memory sub-systems

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

- Number: US 12,182,442 B2
- Document ID: US12182442B2
- Status: Granted
- Kind: B2
- Application number: 18/114,543
- Filed: 2023-02-27
- Published: 2023-07-06
- Granted: 2024-12-31
- Earliest claimed: 2021-08-30
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: Laurent Isenegger
- Web page: https://patentgrep.com/patent/US12182442B2

## CPC

- G06F 3/0656: {Data buffering arrangements}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0611: {in relation to response time}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- 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 request can be provided, from a front-end of a memory sub-system, to a processing device of the memory sub-system and deleting the request from a buffer of the front-end of the memory sub-system. Responsive to deleting the request from the buffer, determining a first quantity of requests in the buffer and responsive to deleting the requests from the buffer, determining a second quantity of outstanding requests in the back-end of the memory sub-system. Responsive to deleting the request from the buffer and providing the request to the processing device, determining whether to provide a response to a host, wherein the response includes an indication of the quantity of requests in the buffer and of outstanding requests in a back-end of the memory sub-system, based on a comparison of the second quantity of outstanding requests to a threshold.

## Claims

### Claim 1

A method, comprising:
providing a request, from a front-end of a memory sub-system, to a back-end of the memory sub-system;
deleting the request from a buffer of the front-end of the memory sub-system;
responsive to deleting the request from the buffer and providing the request to the back-end, determining a quantity of outstanding requests in the back-end of the memory sub-system; and
determining whether to provide a response to a host, based on a comparison of the quantity of outstanding requests to a threshold.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, responsive to determining that the quantity of outstanding requests in the back-end is greater than the threshold, refraining from providing the response.

### Claim 3 (depends on 1)

The method of claim 1, further comprising, responsive to determining that the quantity of outstanding requests in the back-end is less than the threshold but greater than a different threshold after the quantity of outstanding requests had previously been greater than the threshold, refraining from providing the response.

### Claim 4 (depends on 1)

The method of claim 1, further comprising, responsive to determining that the quantity of outstanding requests in the back-end is less than the threshold and less than a different threshold after the quantity of requests had previously been greater than the threshold, providing the response to the host.

### Claim 5 (depends on 1)

The method of claim 1, further comprising, responsive to determining to provide the response, providing the response to the host, wherein the response indicates whether the host can provide additional requests to the memory sub-system based on a different quantity of requests of the buffer of the front end and the quantity of requests.

### Claim 6 (depends on 1)

The method of claim 1, further comprising receiving the request at the front-end of the memory sub-system.

### Claim 7 (depends on 6)

The method of claim 6, wherein the request is received from the host coupled to the memory sub-system via a CXL link.

### Claim 8 (depends on 6)

The method of claim 6, further comprising storing, responsive to receipt of the request, the request in the buffer of the front-end of the memory sub-system.

### Claim 9 (depends on 8)

The method of claim 8, further comprising, responsive to storing the request in the buffer, incrementing a different count representative of a different quantity of requests in the buffer.

### Claim 10 (depends on 9)

The method of claim 9, wherein the response includes a count from the different count as the indication of the different quantity of requests in the buffer.

### Claim 11

An apparatus, comprising:
a processing device of a front-end of a memory sub-system, configured to:
provide a request, from the front-end of the memory sub-system, to a back-end of the memory sub-system;
delete the request from a buffer of the processing device of the front-end of the memory sub-system;
responsive to deleting the request from the buffer and providing the request to the back-end, determine a quantity of read requests in the back-end and a quantity of write requests in the back-end;
responsive to deleting the request from the buffer and providing the request to the back-end, determine whether the quantity of read requests is greater than a first threshold or whether the quantity of write requests is greater than a second threshold; and
responsive to determining that the quantity of read requests is less than the first threshold and that the quantity of write requests is less than the second threshold, provide, to a host, an indication of the quantity of requests stored in the buffer.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the processing device is further configured to:
responsive to determining that the quantity of read requests is less than the first threshold and greater than a third threshold or the quantity of write requests is less than the second threshold and greater than a fourth threshold, refrain from providing the indication of the quantity of requests stored in the buffer to the host if the quantity of read requests was previously greater than the first threshold or the quantity of write requests was previously greater than the second threshold.

### Claim 13 (depends on 11)

The apparatus of claim 11, wherein the processing device is further configured to:
responsive to determining that the quantity of read requests is less than the first threshold and less than a third threshold and the quantity of write requests is less than the second threshold and less than a fourth threshold, provide a number of credits corresponding to the quantity of requests stored in the buffer of the front-end.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the processing device is further configured to provide a response comprising the number of credits as metadata.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the processing device is further configured to provide the response responsive to receipt of the request.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the processing device is further configured to provide the response responsive to receipt of a different request.

### Claim 17

A non-transitory computer readable medium having computer readable instructions stored thereon that are executable by a processor to:
receive a request, at the front-end of the memory sub-system, from a host coupled to the memory sub-system;
store the request in a buffer of the front-end of the memory sub-system;
responsive to storing the request in the buffer, update a number of credits corresponding to a quantity of requests stored the buffer; and
responsive to determining that a quantity of outstanding requests is less than a threshold, provide a response comprising the number of credits to the host, wherein the credits indicates whether the host provides additional requests to the memory sub-system.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the threshold is greater than a different threshold.

### Claim 19 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the response is one of a data response (DRS) and a non-data response (NDR).

### Claim 20 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the instructions are executable by the processor to provide the response via a compute express link (CXL) coupling the host to the memory sub-system.
