# US 2022/0091774 A1 · Storage device having a configurable command response trigger

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

- Number: US 2022/0091774 A1
- Document ID: US20220091774A1
- Status: Published application
- Kind: A1
- Application number: 17/544,589
- Filed: 2021-12-07
- Published: 2022-03-24
- Earliest claimed: 2020-03-11
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Chase Pasquale; Richard N. Deglin; Vishal Jain; Jagannath Vishnuteja Desai
- Web page: https://patentgrep.com/patent/US20220091774A1

## CPC

- G06F 3/0653: {Monitoring storage devices or systems}
- G06F 13/42: Bus transfer protocol, e.g. handshake; Synchronisation
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/0673: {Single storage device}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A storage device includes: a storage controller to receive one or more notifications corresponding to host data transferred from a host device to the storage device over a storage interface; and a response circuit connected to the storage controller, the response circuit to trigger a response to the host device, and including: a first counter to track the one or more notifications, the one or more notifications corresponding to an entirety of the host data such that each of the notifications corresponds to a portion of the host data; a second counter to track one or more acknowledgements received from the storage controller, the one or more acknowledgments corresponding to the one or more notifications such that each of the acknowledgments corresponds to a notification; and a response trigger to select one of the first counter and the second counter to trigger the response to the host device.

## Claims

### Claim 1

A storage device comprising:
a storage controller configured to receive one or more notifications corresponding to host data transferred from a host device to the storage device over a storage interface;
storage memory; and
a response circuit connected to the storage controller, the response circuit configured to trigger a response to the host device, and comprising:
a first counter configured to track the one or more notifications, the one or more notifications corresponding to an entirety of the host data such that each of the notifications corresponds to a portion of the host data from among the entirety of the host data;
a second counter configured to track one or more acknowledgements received from the storage controller, the one or more acknowledgments corresponding to the one or more notifications such that each of the acknowledgments corresponds to a notification from among the one or more notifications; and
a response trigger configured to select one from among the first counter and the second counter to trigger the response to the host device,
wherein the response circuit is configured to transmit the response to the host device according to a state of the selected one from among the first counter and the second counter.

### Claim 2 (depends on 1)

The storage device of claim 1, wherein the state corresponds to a count value of the selected one from among the first counter and the second counter.

### Claim 3 (depends on 2)

The storage device of claim 2, wherein the count value is initialized based on a command transfer length associated with the host data.

### Claim 4 (depends on 3)

The storage device of claim 3, wherein the first counter is the selected one from among the first counter and the second counter, and the count value of the first counter is decremented for each notification from among the one or more notifications that is transmitted to the storage controller.

### Claim 5 (depends on 4)

The storage device of claim 4, wherein the response trigger comprises a comparator, and the comparator is configured to compare the count value with a threshold value.

### Claim 6 (depends on 5)

The storage device of claim 5, wherein the response circuit is configured to determine that the host data has been received and notified in response to the count value being equal to the threshold value.

### Claim 7 (depends on 3)

The storage device of claim 3, wherein the second counter is the selected one from among the first counter and the second counter, and the count value of the second counter is decremented for each acknowledgement from among the one or more acknowledgements that is received from the storage controller.

### Claim 8 (depends on 7)

The storage device of claim 7, wherein the storage controller is configured to transmit an acknowledgment from among the one or more acknowledgments in response to processing a corresponding notification.

### Claim 9 (depends on 8)

The storage device of claim 8, wherein:
the response trigger comprises a comparator, and the comparator is configured to compare the count value with a threshold value; and
the response circuit is configured to determine that the host data has been processed by the storage device in response to the count value being equal to the threshold value.

### Claim 10 (depends on 8)

The storage device of claim 8, wherein the storage controller is configured to persistently store the host data in the storage memory based at least in part on the notifications.

### Claim 11

A method of triggering a response to a command issued by a host device to a storage device, the method comprising:
receiving, by a storage controller, one or more notifications corresponding to host data transferred over the storage interface from the host device to the storage device, the host data corresponding to the command;
triggering, by a response circuit connected to the storage controller, a response to the host device, wherein the triggering comprises:
tracking, by a first counter of the response circuit, the one or more notifications, the one or more notifications corresponding to an entirety of the host data such that each of the notifications corresponds to a portion of the host data from among the entirety of the host data;
receiving, by the response circuit, one or more acknowledgments from the storage controller, the one or more acknowledgments corresponding to the one or more notifications such that each of the acknowledgments corresponds to a notification from among the one or more notifications;
tracking, by a second counter of the response circuit, the plurality of acknowledgments; and
selecting, by a response trigger of the response circuit, one from among the first counter and the second counter to trigger the response; and
transmitting, by the response circuit, the response to the host device according to a state of the selected one from among the first counter and the second counter.

### Claim 12 (depends on 11)

The method of claim 11, wherein the state corresponds to a count value of the selected one from among the first counter and the second counter.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
initiating, by the response circuit, the count value based on a command transfer length associated with the host data.

### Claim 14 (depends on 13)

The method of claim 13, wherein the first counter is the selected one from among the first counter and the second counter, and the method further comprises:
decrementing, by the response circuit, the count value of the first counter for each notification from among the one or more notifications that is transmitted to the storage controller.

### Claim 15 (depends on 14)

The method of claim 14, wherein the response trigger comprises a comparator, and the method further comprises:
comparing, by the comparator, the count value with a threshold value.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
determining, by the response circuit, that the host data has been received and notified in response to the count value being equal to the threshold value.

### Claim 17 (depends on 13)

The method of claim 13, wherein the second counter is the selected one from among the first counter and the second counter, and the method further comprises:
decrementing, by the response circuit, the count value of the second counter for each acknowledgement from among the one or more acknowledgements that is received from the storage controller.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
processing, by the storage controller, a corresponding notification from among the one or more notifications; and
transmitting, by the storage controller, an acknowledgment from among the one or more acknowledgements in response to the processing of the corresponding notification.

### Claim 19 (depends on 18)

The method of claim 18, wherein the response trigger comprises a comparator, and the method further comprises:
comparing, by the comparator, the count value with a threshold value; and
determining, by the response circuit, that the host data has been processed by the storage device in response to the count value being equal to the threshold value.

### Claim 20 (depends on 18)

The method of claim 18, further comprising:
persistently storing, by the storage controller, the host data in storage memory based at least in part on the notifications.
