IP Library Granted Patent US 12,468,449
Granted Patent B2
US 12,468,449 · App. 18/759,793 · Granted Nov 11, 2025

Apparatus with response completion pacing

Inventors: Ying Huang (Boise, ID); Mark Ish (San Ramon, CA)
Assignee: Micron Technology, Inc.
G06F3/0613G06F3/0611G06F3/0659G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,468,449
App. No.
18/759,793
Granted
Nov 11, 2025
Kind
B2
Abstract

Methods, apparatuses and systems related to response completion pacing for latency control are described. The apparatus may utilize response completion pacing to dynamically control timing of output communications to the host. In some embodiments, the memory device can include a ready response queue that temporarily stores the data retrieved from a backend portion or a storage portion of the memory device. The apparatus can include logic coupled to the ready response queue and configured to communicate/send the data in the ready response queue according to a cadence period. In some embodiments, the logic can further dynamically adjust a storage capacity of the ready response queue and/or the cadence period.

Claims (50)

1 . A memory device, comprising:

a ready response queue configured to store data;

a processing logic operably coupled to the ready response queue and configured to:

track a duration for sending command responses to a device;

determine a target number of responses in the ready response queue based on a predetermined time gap between each response in the ready response queue and a depth of the ready response queue; and

send a response from the ready response queue to the device based on the duration and a number of responses in the ready response queue relative to the target number of responses.

2 . The memory device of claim 1 , wherein the processing logic operably coupled to the ready response queue is configured to determine the number of responses in the ready response queue is less than the target number of responses in the ready response queue.

3 . The memory device of claim 2 , wherein the processing logic operably coupled to the ready response queue is configured to:

in response to determining the number of responses in the ready response queue is less than the target number of responses in the ready response queue, determine that a time gap between when the response was sent and a current time, does not exceed a predetermined delay time; and

reset a pacing logic timer, wherein the pacing logic timer tracks the duration for sending the command responses to the device.

4 . The memory device of claim 2 , wherein the processing logic operably coupled to the ready response queue is configured to:

in response to determining the number of responses in the ready response queue is less than the target number of responses in the ready response queue, determine that a time gap between when the response was sent and a current time exceeds a predetermined delay time; and

send a second response from the ready response queue to the device.

5 . The memory device of claim 1 , wherein the processing logic operably coupled to the ready response queue is configured to:

determine that the target number of responses in the ready response queue exceeds the number of responses in the ready response queue; and

adjust a cadence period of output response completions.

6 . The memory device of claim 1 , wherein the ready response queue is a first in first out (FIFO) queue, wherein the processing logic operably coupled to the ready response queue is configured to maintain the FIFO queue to hold and delay responses for completed commands according to one or more cadenced response timings.

7 . A memory controller, comprising:

at least one processor; and

embedded memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions comprising:

tracking a duration for sending command responses to a device;

determining a target number of responses in a ready response queue based on a predetermined time gap between each response in the ready response queue and a depth of the ready response queue; and

sending a response from the ready response queue to the device based on the duration and a number of responses in the ready response queue relative to the target number of responses.

8 . The memory controller of claim 7 , wherein the instructions include:

determining the number of responses in the ready response queue is less than the target number of responses in the ready response queue.

9 . The memory controller of claim 8 , wherein the instructions include:

in response to determining the number of responses in the ready response queue is less than the target number of responses in the ready response queue, determining that a time gap between when the response was sent and a current time, does not exceed a predetermined delay time; and

resetting a pacing logic timer, wherein the pacing logic timer tracks the duration for sending the command responses to the device.

10 . The memory controller of claim 8 , wherein the instructions include:

in response to determining the number of responses in the ready response queue is less than the target number of responses in the ready response queue, determining that a time gap between when the response was sent and a current time exceeds a predetermined delay time; and

sending a second response from the ready response queue to the device.

11 . The memory controller of claim 7 , wherein the instructions include:

determining that the target number of responses in the ready response queue exceeds the number of responses in the ready response queue; and

adjusting a cadence period of output response completions.

12 . The memory controller of claim 7 , wherein the ready response queue is a first in first out (FIFO) queue, wherein the instructions include maintaining the FIFO queue to hold and delay responses for completed commands according to one or more cadenced response timings.

13 . A method of response completion pacing for latency control, the method comprising:

tracking a duration for sending command responses to a device;

determining a target number of responses in a ready response queue based on a predetermined time gap between each response in the ready response queue and a depth of the ready response queue; and

sending a response from the ready response queue to the device based on the duration and a number of responses in the ready response queue relative to the target number of responses.

14 . The method of claim 13 , further comprising:

determining the number of responses in the ready response queue is less than the target number of responses in the ready response queue.

15 . The method of claim 14 , further comprising:

in response to determining the number of responses in the ready response queue is less than the target number of responses in the ready response queue, determining that a time gap between when the response was sent and a current time, does not exceed a predetermined delay time; and

resetting a pacing logic timer, wherein the pacing logic timer tracks the duration for sending the command responses to the device.

16 . The method of claim 14 , further comprising:

in response to determining the number of responses in the ready response queue is less than the target number of responses in the ready response queue, determining that a time gap between when the response was sent and a current time exceeds a predetermined delay time; and

sending a second response from the ready response queue to the device.

17 . The method of claim 13 , further comprising:

determining that the target number of responses in the ready response queue exceeds the number of responses in the ready response queue; and

adjusting a cadence period of output response completions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2024
From: HUANG, YING; ISH, MARK
To: MICRON TECHNOLOGY, INC.
Reel/Frame 067878/0490 →
Continuity (3)
Continuation 18049973 · Oct 26, 2022
Provisional Application 63347929 · Jun 1, 2022
Related Publication 20240354006A1 · Oct 24, 2024
References Cited (17)
US 11567700B2 · La Fratta et al. · 2023 [cited by applicant]
US 11922228B2 · Weckwerth et al. · 2024 [cited by applicant]
US 20050021641A1 · Hasegawa · 2005 [cited by examiner]
US 20070174511A1 · Yu et al. · 2007 [cited by applicant]
US 20170123972A1 · Gopinath · 2017 [cited by examiner]
US 20170351611A1 · Ash · 2017 [cited by examiner]
US 20210200467A1 · Magro et al. · 2021 [cited by applicant]
US 20220171717A1 · Ghodrat · 2022 [cited by examiner]
US 20230336368A1 · Feng · 2023 [cited by examiner]
US 20230393750A1 · Huang et al. · 2023 [cited by applicant]
US 20240192888A1 · Zhu · 2024 [cited by examiner]
WO WO2015123413A1 · 2015 [cited by examiner]
WO 2022017628A1 · 2022 [cited by applicant]
“Efficient Operation Scheduling within a Flash Controller for a NAND Flash based SCM System”, IP.com Prior Art Database Technical Disclosure, Aug. 12, 2021. [cited by examiner]
“Managing Queue Full Status for Small Computer System Interface”, Version 2, IP.com Prior Art Database Technical Disclosure, Mar. 30, 2005. [cited by examiner]
D. Nurmi, R. Wolski and J. Brevik, “Probabilistic Reservation Services for Large-Scale Batch-Scheduled Systems,” in IEEE Systems Journal, vol. 3, No. 1, pp. 6-24, Mar. 2009. [cited by examiner]
Y.S. Hanay, A. Dwaraki and T. Wolf, “High-performance Implementation of in-network traffic pacing,” 2011 IEEE 12th International Conference on High Performance Switching and Routing, Cartagena, Spain, 2011, pp. 9-15. [cited by applicant]