IP Library Granted Patent US 12704996
Granted Patent B2
US 12704996 · App. 18/742,973 · Granted Aug 11, 2026

Efficient buffer management for media management commands in memory devices

Inventor: Bharani Rajendiran (Pleasanton, CA)
Assignee: Micron Technology, Inc.
G06F3/0656G06F3/0604G06F3/0653G06F3/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 12704996
App. No.
18/742,973
Granted
Aug 11, 2026
Kind
B2
Abstract

A buffer management component of a memory sub-system configures buffers in a data path associated with a memory device. Available buffers are enabled to store memory associated with an address of the memory device. The buffer management component receives a first command pertaining to a first address of the memory device; responsive to receiving the first command, initiates a first memory operation at the first address using a first available buffer; receives a second command pertaining to a second address of the memory device before the first command has been completed; and responsive to receiving the second command, initiates a second memory operation at the second address of the memory device using a second available buffer.

Claims (70)

1 . A method comprising:

enabling, by one or more processing devices responsive to determining that a level of activity in a memory sub-system satisfies a high activity threshold, a first number of buffers of a plurality of buffers in a data path associated with a memory device of the memory sub-system, wherein the first number of buffers comprises at least one previously disabled buffer;

configuring the first number of buffers to receive a plurality of commands pertaining to the memory device;

receiving a first command of the plurality of commands, the first command pertaining to a first address of the memory device;

responsive to receiving the first command, initiating a first memory operation at the first address using a first enabled buffer of the plurality of buffers;

receiving a second command of the plurality of commands, the second command pertaining to a second address of the memory device, wherein the second command is received before the first command has been completed; and

responsive to receiving the second command, initiating a second memory operation at the second address of the memory device using a second enabled buffer of the plurality of buffers.

2 . The method of claim 1 , wherein the first command pertaining to the first address is a first read command to read first data stored at the first address, and the second command is a second read command to read second data stored at the second address.

3 . The method of claim 2 , further comprising:

storing the first data in the first enabled buffer based on first command information identifying the first enabled buffer;

responsive to storing the first data in the first enabled buffer, performing a direct memory access (DMA) operation to move the first data from the first enabled buffer to a local memory location; and

responsive to performing the DMA operation, updating a first buffer status for the first enabled buffer to indicate that the first enabled buffer is available to receive additional data.

4 . The method of claim 1 , wherein the first command pertaining to the first address is a first write command to write first data stored to the first address, and the second command is a second write command to write second data to the second address.

5 . The method of claim 4 , further comprising:

performing a direct memory access (DMA) operation to move the first data from a local memory location to the first enabled buffer;

responsive to performing the DMA operation, performing the first command at the first address of the memory device; and

responsive to performing the first command, updating a first buffer status for the first enabled buffer to indicate that the first enabled buffer is available to receive additional data.

6 . The method of claim 1 , the method further comprising:

configuring a second number of buffers of the plurality of buffers in the data path associated with the memory device of the memory sub-system;

determining that a first buffer of the first number of buffers is disabled;

responsive to determining that the first buffer of the first number of buffers is disabled, determining whether a second buffer of the second number of buffers is enabled; and

responsive to determining that a second buffer of the second number of buffers is enabled, provisioning the second buffer as the first enabled buffer of the plurality of buffers.

7 . The method of claim 6 , wherein the first number of buffers comprises a first number of read buffers, and wherein the second number of buffers comprises a second number of write buffers.

8 . The method of claim 6 , further comprising:

determining whether the second command has been performed;

responsive to determining that the second command has been performed, determining whether a read command has been received to read third data from the memory device; and

responsive to determining that the read command has been received, provisioning a first write buffer of the second number of buffers as a first read buffer to receive the third data for the read command.

9 . The method of claim 6 , further comprising:

determining whether the second command has been performed;

responsive to determining that the second command has been performed, determining whether a write command has been received to write third data to the memory device; and

responsive to determining that the write command has been received, provisioning a first read buffer of the first number of buffers as a first write buffer to receive the third data for the write command.

10 . The method of claim 1 , further comprising:

monitoring the level of activity associated with processing data of the memory device in the memory sub-system; and

determining whether the level of activity satisfies the high activity threshold.

11 . The method of claim 10 , further comprising:

determining whether the level of activity satisfies a low activity threshold; and

responsive to determining that the level of activity satisfies the low activity threshold, disabling one or more additional buffers from the plurality of buffers in the first number of buffers.

12 . The method of claim 10 , wherein the level of activity comprises a level of read activity.

13 . The method of claim 10 , wherein the level of activity comprises a level of write activity.

14 . A system comprising:

a plurality of memory devices; and

one or more processing devices operatively coupled with the plurality of memory devices to perform operations comprising:

enabling, responsive to determining that a level of activity in the system satisfies a high activity threshold a first number of buffers of a plurality of buffers in a data path associated with a memory device of the plurality of memory devices, wherein the first number of buffers comprises at least one previously disabled buffer;

configuring the first number of buffers to receive a plurality of commands pertaining to the memory device;

receiving a first command of the plurality of commands, the first command pertaining to a first address of the memory device;

responsive to receiving the first command, initiating a first memory operation at the first address using a first enabled buffer of the plurality of buffers;

receiving a second command of the plurality of commands, the second command pertaining to a second address of the memory device, wherein the second command is received before the first command has been completed; and

responsive to receiving the second command, initiating a second memory operation at the second address of the memory device using a second enabled buffer of the plurality of buffers.

15 . The system of claim 14 , wherein the first command pertaining to the first address is a first read command to read first data stored at the first address, and the second command is a second read command to read second data stored at the second address.

16 . The system of claim 15 , wherein the one or more processing devices are to perform further operations comprising:

storing the first data in the first enabled buffer based on first command information identifying the first enabled buffer;

responsive to storing the first data in the first enabled buffer, performing a direct memory access (DMA) operation to move the first data from the first enabled buffer to a local memory location; and

responsive to performing the DMA operation, updating a first buffer status for the first enabled buffer to indicate that the first enabled buffer is available to receive additional data.

17 . The system of claim 14 , wherein the first command pertaining to the first address is a first write command to write first data stored to the first address, and the second command is a second write command to write second data to the second address.

18 . The system of claim 17 , wherein the one or more processing devices are to perform further operations comprising:

performing a direct memory access (DMA) operation to move the first data from a local memory location to the first enabled buffer;

responsive to performing the DMA operation, performing the first command at the first address of the memory device; and

responsive to performing the first command, updating a first buffer status for the first enabled buffer to indicate that the first enabled buffer is available to receive additional data.

19 . The system of claim 14 , wherein the one or more processing devices are to perform further operations comprising:

configuring a second number of buffers of the plurality of buffers in the data path associated with the memory device;

determining that a first buffer of the first number of buffers is disabled;

responsive to determining that the first buffer of the first number of buffers is disabled, determining whether a second buffer of the second number of buffers is enabled; and

responsive to determining that a second buffer of the second number of buffers is enabled, provisioning the second buffer as the first enabled buffer of the plurality of buffers.

20 . A non-transitory computer-readable storage medium comprising instructions that, when executed by one or more processing devices, cause the one or more processing devices to perform operations comprising:

enabling, responsive to determining that a level of activity in a memory sub-system satisfies a high activity threshold, a first number of buffers of a plurality of buffers in a data path associated with a memory device of the memory sub-system, wherein the first number of buffers comprises at least one previously disabled buffer;

configuring the first number of buffers to receive a plurality of commands pertaining to the memory device;

receiving a first command of the plurality of commands, the first command pertaining to a first address of the memory device;

responsive to receiving the first command, initiating a first memory operation at the first address using a first enabled buffer of the plurality of buffers;

receiving a second command of the plurality of commands, the second command pertaining to a second address of the memory device, wherein the second command is received before the first command has been completed; and

responsive to receiving the second command, initiating a second memory operation at the second address of the memory device using a second enabled buffer of the plurality of buffers.