# US 12,118,243 B2 · Memory system in which a host and a controller store a command and a response to the command by using a circular queue

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

- Number: US 12,118,243 B2
- Document ID: US12118243B2
- Status: Granted
- Kind: B2
- Application number: 17/689,776
- Filed: 2022-03-08
- Published: 2023-03-09
- Granted: 2024-10-15
- Earliest claimed: 2021-09-03
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: In Jong Jang
- Web page: https://patentgrep.com/patent/US12118243B2

## CPC

- G06F 3/061: {Improving I/O performance}
- 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/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 memory system may include: a memory device including a plurality of memory cells, and a controller including: an internal reception queue suitable for queueing a command queued in an external transmission queue, the command being externally provided to the controller, and an internal transmission queue suitable for queueing a response to the command, the response being transmitted from the controller and to be queued in an external reception queue, wherein the controller is suitable for controlling the memory device on the basis of the command to generate the response.

## Claims

### Claim 1

A memory system comprising:
a memory device; and
a controller including:
an internal reception queue configured to queue a command queued in an external transmission queue of a host, the command being provided to the controller from the host; and
an internal transmission queue suitable for queueing a response to the command, the response being transmitted from the controller to the host and to be queued in an external reception queue of the host,
wherein the controller is configured to control the memory device based on the command to generate the response,
wherein the controller is further configured to:
compare, addresses of a head area each included in the external transmission queue and the internal reception queue,
compare, when the addresses of the head areas coincide with each other in the external transmission queue and the internal reception queue, commands queued in a command area each included in the external transmission queue and the internal reception queue, and
reset each of the internal transmission queue and the external reception queue, when the commands queued in the command areas do not coincide with each other in the external transmission queue and the internal reception queue or the addresses of a head areas do not coincide with each other in the external transmission queue and the internal reception queue.

### Claim 2 (depends on 1)

The memory system of claim 1,
wherein each of the external transmission queue and the internal reception queue includes the head area and one or more command areas, and
wherein each of the external reception queue and the internal transmission queue includes the head area and one or more command response areas.

### Claim 3 (depends on 2)

The memory system of claim 2, wherein the controller is further configured to queue, in the internal reception queue, the command in a command area having the same address as a command area queueing the command in the external transmission queue.

### Claim 4 (depends on 2)

The memory system of claim 2,
wherein numbers of the command areas are the same in the external transmission queue and the internal reception queue and numbers of the command response areas are the same in the internal transmission queue and the external reception queue, and
wherein an address increases in the same direction in the external transmission queue and the internal reception queue and an address increases in the same direction in the internal transmission queue and the external reception queue.

### Claim 5 (depends on 2)

The memory system of claim 2, wherein the controller is further configured to compare, when the external transmission queue is full of commands, addresses of the head areas in the external transmission queue and the internal reception queue.

### Claim 6 (depends on 2)

The memory system of claim 2, wherein the controller is further configured to:
determine an empty area as the head area within the internal reception queue when the internal reception queue is full of commands, and
determine an empty area as the head area within the internal transmission queue when the internal transmission queue is full of responses.

### Claim 7 (depends on 6)

The memory system of claim 6, wherein the controller is further configured to:
delete a command from a command area next to the head area within the internal reception queue to determine, as the head area, the command area next to the head area within the internal reception queue when the internal reception queue is full of commands, and
delete a command response from a command response area next to the head area within the internal transmission queue to determine, as the head area, the command response area next to the head area within the internal transmission queue when the internal transmission queue is full of responses.

### Claim 8 (depends on 2)

The memory system of claim 2, wherein an address of a second command area separated from a first command area by an amount of N number of command areas is determined based on an address of the first command area and by multiplying a size of the command area by N.

### Claim 9 (depends on 5)

The memory system of claim 5, wherein the controller is further configured to:
compare, when the commands queued in the command areas coincide with each other in the external transmission queue and the internal reception queue, addresses of the head areas in the internal transmission queue and the external reception queue.

### Claim 10 (depends on 9)

The memory system of claim 9, wherein the controller is further configured to compare, when the addresses of the head areas coincide with each other in the internal transmission queue and the external reception queue, the command responses queued in the command response areas between the internal transmission queue and the external reception queue.

### Claim 11

An operating method of a memory system, the operating method comprising:
receiving a command queued in an external transmission queue of a host, the command being provided to the memory system from the host;
queueing the command in an internal reception queue;
transmitting a response to the command to the host, the response to be queued in an external reception queue of the host;
queueing the response to the command in an internal transmission queue;
comparing, addresses of a head area each included in the external transmission queue and the internal reception queue;
comparing, in response to the addresses of the head areas coinciding with each other in the external transmission queue and the internal reception queue, commands queued in a command area each included in the external transmission queue and the internal reception queue, and
resetting each of the internal transmission queue and the external reception queue, in response to the commands queued in the command areas not coinciding with each other in the external transmission queue and the internal reception queue or addresses of a head area not coinciding with each other in the external transmission queue and the internal reception queue.

### Claim 12 (depends on 11)

The operating method of claim 11,
wherein each of the external transmission queue and the internal reception queue includes the head area and one or more command areas, and
wherein each of the external reception queue and the internal transmission queue includes the head area and one or more command response areas.

### Claim 13 (depends on 12)

The operating method of claim 12, further comprising queueing, in the internal reception queue, the command in a command area having a same address as a command area queueing the command in the external transmission queue.

### Claim 14 (depends on 12)

The operating method of claim 12,
wherein numbers of the command areas are the same in the external transmission queue and the internal reception queue and numbers of the command response areas are the same in the internal transmission queue and the external reception queue, and
wherein an address increases in the same direction in the external transmission queue and the internal reception queue and an address increases in the same direction in the internal transmission queue and the external reception queue.

### Claim 15 (depends on 12)

The operating method of claim 12, further comprising comparing, when the external transmission queue is full of commands, addresses of the head areas in the external transmission queue and the internal reception queue.

### Claim 16 (depends on 12)

The operating method of claim 12, further comprising:
determining an empty area as the head area within the internal reception queue when the internal reception queue is full of commands, and
determining an empty area as the head area within the internal transmission queue when the internal transmission queue is full of responses.

### Claim 17 (depends on 16)

The operating method of claim 16, further comprising:
deleting a command from a command area next to the head area within the internal reception queue to determine, as the head area, the command area next to the head area within the internal reception queue when the internal reception queue is full of commands, and
deleting a command response from a command response area next to the head area within the internal transmission queue to determine, as the head area, the command response area next to the head area within the internal transmission queue when the internal transmission queue is full of responses.

### Claim 18 (depends on 12)

The operating method of claim 12, wherein an address of a second command area separated from a first command area by an amount of N number of command areas is determined based on an address of the first command area and by multiplying a size of the command area by N.

### Claim 19 (depends on 15)

The operating method of claim 15, further comprising:
comparing, when the commands queued in the command areas coincide with each other in the external transmission queue and the internal reception queue, addresses of the head areas in the internal transmission queue and the external reception queue.

### Claim 20 (depends on 19)

The operating method of claim 19, further comprising comparing, when the addresses of the head areas coincide with each other in the internal transmission queue and the external reception queue, the command responses queued in the command response areas in the internal transmission queue and the external reception queue.
