# US 12,117,944 B2 · Systems, methods, and devices for queue management with a coherent interface

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

- Number: US 12,117,944 B2
- Document ID: US12117944B2
- Status: Granted
- Kind: B2
- Application number: 17/712,066
- Filed: 2022-04-01
- Published: 2023-07-27
- Granted: 2024-10-15
- Earliest claimed: 2022-01-27
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Daniel Lee Helmick
- Web page: https://patentgrep.com/patent/US12117944B2

## CPC

- G06F 3/061: {Improving I/O performance}
- G06F 13/1642: {with request queuing}
- 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 12/0835: {for main memory peripheral accesses (e.g. I/O or DMA)}
- G06F 13/1663: {Access to shared memory}
- G06F 13/1668: {Details of memory controller}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method may include accessing, by a first apparatus, a queue, wherein the queue may be accessible by a second apparatus, and the first apparatus may be connected to the second apparatus by a coherent interface, and indicating, by the coherent interface, to the second apparatus, the accessing. The indicating may include indicating by a monitoring mechanism. The indicating may include generating a monitoring request. The indicating may include generating, based on the monitoring request, an alert. The queue may include a submission queue. The queue may include a completion queue. The accessing may include reading an entry from the queue. The accessing may include writing an entry to the queue. The entry may include a command. The entry may include a completion. The first apparatus may include a host, and the second apparatus may include a device. The queue may be located at the host.

## Claims

### Claim 1

A method comprising:
accessing, by a first apparatus, using a first protocol, a queue, wherein the queue is accessible by a second apparatus, and the first apparatus is connected to the second apparatus by a coherent interface; and
providing, by the coherent interface, using a second protocol, to the second apparatus, an indication of the accessing, by the first apparatus, using the first protocol, the queue;
wherein:
the first apparatus is configured to access the queue using the first protocol;
the second apparatus is configured to access the queue using the first protocol;
the queue is located in a memory location managed by the coherent interface; and
the coherent interface is configured to manage the memory location using the second protocol; and
wherein the coherent interface comprises monitoring logic configured to operate by:
detecting, by monitoring the queue, the accessing; and
generating, based on the detecting, the indication.

### Claim 2 (depends on 1)

The method of claim 1, wherein the providing the indication comprises generating a monitoring request.

### Claim 3 (depends on 2)

The method of claim 2, wherein the providing the indication comprises generating, based on the monitoring request, an alert.

### Claim 4 (depends on 1)

The method of claim 1, wherein the queue comprises a submission queue.

### Claim 5 (depends on 1)

The method of claim 1, wherein the accessing comprises reading an entry from the queue.

### Claim 6 (depends on 1)

The method of claim 1, wherein the accessing comprises writing an entry to the queue.

### Claim 7 (depends on 6)

The method of claim 6, wherein the entry comprises a command.

### Claim 8 (depends on 6)

The method of claim 6, wherein the entry comprises a completion.

### Claim 9 (depends on 1)

The method of claim 1, wherein:
the first apparatus comprises a host;
the second apparatus comprises a device; and
the queue is located at the device.

### Claim 10 (depends on 1)

The method of claim 1, wherein the queue comprises a submission queue.

### Claim 11 (depends on 10)

The method of claim 10, wherein the first protocol comprises a storage protocol.

### Claim 12

A device comprising:
a coherent interface; and
at least one control circuit configured to:
communicate using a queue using a first protocol; and
receive an indication, by the coherent interface, using a second protocol, of an access of the queue, wherein the access of the queue is performed using the first protocol;
wherein:
the queue is located in a memory location managed by the coherent interface; and
the coherent interface is configured to manage the memory location using the second protocol; and
wherein the coherent interface comprises monitoring logic configured to operate by:
detecting, by monitoring the queue, the access; and
generating, based on the detecting, the indication.

### Claim 13 (depends on 12)

The device of claim 12, wherein:
the device comprises a shared local memory; and
the coherent interface is configured to maintain a coherency of at least a portion of the shared local memory.

### Claim 14 (depends on 13)

The device of claim 13, wherein the queue is located at least partially in the at least a portion of the shared local memory.

### Claim 15 (depends on 12)

The device of claim 12, wherein the coherent interface is configured to receive a monitoring request based on the access.

### Claim 16 (depends on 15)

The device of claim 15, wherein the coherent interface is configured to generate an alert based on the monitoring request.

### Claim 17 (depends on 16)

The device of claim 16, wherein the controller is configured to receive, from the coherent interface, the alert as the indication.

### Claim 18

A system comprising:
a host; and
a device coupled to the host using a coherent interface, the device comprising at least one control circuit configured to:
communicate, using a queue, with the host, using a first protocol; and
receive an indication, by the coherent interface, using a second protocol, of an access, by the host, using the first protocol, of the queue;
wherein:
the queue is located in a memory location managed by the coherent interface; and
the coherent interface is configured to manage the memory location using a second protocol; and
wherein the coherent interface comprises monitoring logic configured to operate by:
detecting, by monitoring the queue, the access; and
generating, based on the detecting, the indication.

### Claim 19 (depends on 18)

The system of claim 18, wherein:
the device comprises a shared local memory;
the coherent interface is configured to maintain a coherency at least a portion of the shared local memory; and
the queue is located, at least partially, in the at least a portion of the shared local memory.
