IP Library Granted Patent US 10,956,344
Granted Patent B2
US 10,956,344 · App. 16/863,847 · Granted Mar 23, 2021

Providing information for a controller memory buffer elasticity status of a memory sub-system to a host system

Inventors: John Maroney (Irvine, CA); Paul Suhler (Austin, TX); Lyle Adams (San Jose, CA); David Springberg (Fort Collins, CO)
Assignee: Micron Technology, Inc.
G06F13/1668G06F13/4282G06F2213/0026
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 10,956,344
App. No.
16/863,847
Filed
Apr 30, 2020
Granted
Mar 23, 2021
Kind
B2
Art Unit
2182
USPC
710/5
Abstract

An indication of a capacity of a CMB elasticity buffer and an indication of a throughput of one or more memory components associated with the CMB elasticity buffer can be received. An amount of time for data at the CMB elasticity buffer to be transmitted to one or more memory components can be determined based on the capacity of the CMB elasticity buffer and the throughput of the one or more memory components. Write data can be transmitted from a host system to the CMB elasticity buffer based on the determined amount of time for data at the CMB elasticity buffer to be transmitted to the one or more memory components.

Claims (46)

1. A method comprising:

providing, by a processing device to a host system over a first interface, an indication of a capacity of a controller memory buffer (CMB) elasticity buffer and a throughput of a CMB memory area corresponding to a memory component coupled to the processing device over a second interface, wherein the indication of the capacity is provided from a first programmable memory element, and the throughput is provided from a second programmable memory element;

receiving, by the processing device, data from the host system over the first interface at a rate based on the capacity of the CMB elasticity buffer and the throughput of the CMB memory area, wherein the rate comprises an amount of time to send write data stored at the CMB elasticity buffer at full capacity over the second interface and remove the write data from the CMB elasticity buffer as the write data is stored at the memory component of the CMB memory area, and the amount of time is based on the capacity of the CMB elasticity buffer divided by the throughput of the CMB memory area;

storing the data at the CMB elasticity buffer; and

sending the data from the CMB elasticity buffer over the second interface to be stored at the memory component of the CMB memory area based on the throughput of the CMB memory area.

2. The method of claim 1 , wherein the first interface is a Peripheral Component Interconnect express (PCIe) interface, and wherein the second interface is a Non-Volatile Memory express (NVMe) interface.

3. The method of claim 1 , wherein the first interface is associated with a higher throughput than the throughput of the CMB elasticity buffer over the first interface.

4. The method of claim 1 , wherein the first programmable memory element comprises a first read-only register, the second programmable memory element comprises a second read-only register, and providing the indication of the capacity of the CMB elasticity buffer and the throughput of the CMB memory area comprises:

storing the indication of the capacity of the CMB elasticity buffer in the first read-only register;

storing the throughput of the CMB memory area in the second read-only register; and

providing access to the first and second read-only registers to the host system over the first interface.

5. The method of claim 1 , further comprising updating a status of the data in response to the sending the data from the CMB elasticity buffer over the second interface, wherein the status indicates whether the data has been removed from the CMB elasticity buffer and is to be stored at the memory component.

6. The method of claim 1 , wherein the capacity of the CMB elasticity buffer corresponds to an amount of write data from the host system that can be stored at the CMB elasticity buffer.

7. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device of a memory sub-system controller, cause the processing device to perform operations comprising:

providing, to a host system over a first interface, an indication of a capacity of a controller memory buffer (CMB) elasticity buffer and a throughput of a CMB memory area corresponding to a memory component coupled to the processing device over a second interface, wherein the indication of the capacity is provided from a first programmable memory element, and the throughput is provided from a second programmable memory element;

receiving data from the host system over the first interface at a rate based on the capacity of the CMB elasticity buffer and the throughput of the CMB memory area, wherein the rate comprises an amount of time to send write data stored at the CMB elasticity buffer at full capacity over the second interface and remove the write data from the CMB elasticity buffer as the write data is stored at the memory component of the CMB memory area, and the amount of time is based on the capacity of the CMB elasticity buffer divided by the throughput of the CMB memory area;

storing the data at the CMB elasticity buffer; and

sending the data from the CMB elasticity buffer over the second interface to be stored at the memory component of the CMB memory area based on the throughput of the CMB memory area.

8. The non-transitory computer-readable storage medium of claim 7 , wherein the first interface is a Peripheral Component Interconnect express (PCIe) interface, and wherein the second interface is a Non-Volatile Memory express (NVMe) interface.

9. The non-transitory computer-readable storage medium of claim 7 , wherein the first interface is associated with a higher throughput than the throughput of the CMB elasticity buffer over the first interface.

10. The non-transitory computer-readable storage medium of claim 7 , wherein the first programmable memory element comprises a first read-only register, the second programmable memory element comprises a second read-only register, and providing the indication of the capacity of the CMB elasticity buffer and the throughput of the CMB memory area comprises:

storing the indication of the capacity of the CMB elasticity buffer in the first read-only register;

storing the throughput of the CMB memory area in the second read-only register; and

providing access to the first and second read-only registers to the host system over the first interface.

11. The non-transitory computer-readable storage medium of claim 7 , the operations further comprise updating a status of the data in response to the sending the data from the CMB elasticity buffer over the second interface, wherein the status indicates whether the data has been removed from the CMB elasticity buffer and is to be stored at the memory component.

12. The non-transitory computer-readable storage medium of claim 7 , wherein the capacity of the CMB elasticity buffer corresponds to an amount of write data from the host system that can be stored at the CMB elasticity buffer.

13. A system comprising:

a controller memory buffer (CMB) elasticity buffer; and

a processing device, operatively coupled with the CMB elasticity buffer, to:

provide, to a host system over a first interface, an indication of a capacity of the CMB elasticity buffer and a throughput of a CMB memory area corresponding to a memory component coupled to the processing device over a second interface, wherein the indication of the capacity is provided from a first programmable memory element, and the throughput is provided from a second programmable memory element;

receive data from the host system over the first interface at a rate based on the capacity of the CMB elasticity buffer and the throughput of the CMB memory area, wherein the rate comprises an amount of time to send write data stored at the CMB elasticity buffer at full capacity over the second interface and remove the write data from the CMB elasticity buffer as the write data is stored at the memory component of the CMB memory area, and the amount of time is based on the capacity of the CMB elasticity buffer divided by the throughput of the CMB memory area;

store the data at the CMB elasticity buffer; and

send the data from the CMB elasticity buffer over the second interface to be stored at the memory component of the CMB memory area based on the throughput of the CMB memory area.

14. The system of claim 13 , wherein the first interface is a Peripheral Component Interconnect express (PCIe) interface, and wherein the second interface is a Non-Volatile Memory express (NVMe) interface.

15. The system of claim 13 , wherein the first interface is associated with a higher throughput than the throughput of the CMB elasticity buffer over the first interface.

16. The system of claim 13 , wherein the first programmable memory element comprises a first read-only register, the second programmable memory element comprises a second read-only register, and providing the indication of the capacity of the CMB elasticity buffer and the throughput of the CMB memory area comprises:

storing the indication of the capacity of the CMB elasticity buffer in the first read-only register;

storing the throughput of the CMB memory area in the second read-only register; and

providing access to the first and second read-only registers to the host system over the first interface.

17. The system of claim 13 , wherein the first programmable memory element comprises a first register, the second programmable memory element comprises a second register, and providing the indication of the capacity of the CMB elasticity buffer and the throughput of the CMB memory area comprises:

storing the indication of the capacity of the CMB elasticity buffer in the first register; and

storing the throughput of the CMB memory area in the second register, wherein the first and second registers are directly accessible to the host system without utilizing the processing device to access the first and second registers.

18. The system of claim 13 , wherein the processing device is further to:

in response to transmitting the data from the CMB elasticity buffer over the second interface, update a status of the data, wherein the status indicates whether the data has been removed from the CMB elasticity buffer and is to be stored at the memory component.

19. The system of claim 18 , wherein the status further indicates whether the data has been stored at the memory component without errors.

20. The system of claim 13 , wherein the capacity of the CMB elasticity buffer corresponds to an amount of write data from the host system that can be stored at the CMB elasticity buffer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2020
From: MARONEY, JOHN; SUHLER, PAUL; ADAMS, LYLE; SPRINGBERG, DAVID
To: MICRON TECHNOLOGY, INC.
Reel/Frame 053433/0163 →
Continuity (3)
Continuation 16236922 · Dec 31, 2018
Provisional Application 62752766 · Oct 30, 2018
Related Publication 20200257638A1 · Aug 13, 2020
Cited By (1)
US 12,353,757