IP Library Granted Patent US 11,030,098
Granted Patent B2
US 11,030,098 · App. 16/141,034 · Granted Jun 8, 2021

Configurable burst optimization for a parameterizable buffer

Inventor: Michael Ou (Newark, CA)
Assignee: Micron Technology, Inc.
G06F12/0804
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 11,030,098
App. No.
16/141,034
Granted
Jun 8, 2021
Kind
B2
Abstract

An incoming write request received from a client is accessed. The incoming write request comprises a write command to transfer write data to a buffer memory. An initial portion of the write data is written to the buffer memory. An alignment of a final portion of the write data with respect to a memory bank width of the buffer memory is determined. The client is determined to be designated as a burst-overwrite client. In response to determining that the final portion of the write data is unaligned with the memory bank width of the buffer memory, the final portion of the write data is written to the buffer memory without preserving previously stored data based on the client being designated as a burst-overwrite client.

Claims (75)

1. A method comprising:

designating each client of a buffer memory as either a burst over-write client or a data preserving client based on a function performed by each client;

accessing an incoming write request received from a client of the buffer memory, the incoming write request comprising a write command to transfer write data to the buffer memory;

writing an initial portion of the write data to the buffer memory;

determining that a final portion of the write data is unaligned with a memory bank width of the buffer memory;

determining a designation of the client by accessing a configuration register that stores client designations for a plurality of clients of the buffer memory, the designation of the client indicating whether data previously stored in the buffer memory is to be preserved when writing the final portion of the write data to the buffer memory, the client being designated as either a burst-overwrite client or a data preserving client; and

in response to determining that the final portion of the write data is unaligned with the memory bank width of the buffer memory, determining whether to preserve previously stored data in the buffer memory based on the designation of the client.

2. The method of claim 1 , further comprising:

writing the final portion of the write data to the buffer memory without preserving the previously stored data based on the client being designated as a burst-overwrite client.

3. The method of claim 2 , wherein the writing of the final portion of the write data to the buffer memory comprises overwriting the previously stored data.

4. The method of claim 3 , wherein the overwriting of the previously stored data comprises padding the final portion of the write data with one or more padding bytes to align a length of the final portion of the write data with the memory bank width.

5. The method of claim 1 , further comprising:

performing a read-modify-write operation to write the final portion of the write data to the buffer memory and preserve the previously stored data in the buffer memory based on the client being designated as a data-preserving client.

6. The method of claim 5 , wherein the performing the read-modify-write operation comprises:

reading the previously stored data from the buffer memory;

merging the previously stored data with the write data to generate merged data; and

writing the merged data to the buffer memory.

7. The method of claim 1 , wherein:

the incoming write request is a first write request;

the write command is a first write command to transfer first write data to the buffer memory; and

the method further comprises:

accessing a second incoming write request received from the client, the second incoming write request comprising a second write command to transfer second write data to the buffer memory;

writing an initial portion of the second write data to the buffer memory;

determining that a final portion of the second write data is aligned with the memory bank width of the buffer memory; and

in response to determining that the final portion of the second write data is aligned with the memory bank width of the buffer memory, writing the final portion of the second write data to the buffer memory.

8. The method of claim 1 , wherein the client being designated as a burst-overwrite client indicates that the data previously stored in the buffer memory is to be overwritten with the final portion of the write data.

9. The method of claim 8 , each client of the buffer memory is a component or process of a memory sub-system that includes the buffer memory.

10. A system comprising:

a memory device configured as a buffer memory that is accessible by a plurality of clients; and

a processing device, operatively coupled with the memory device, to perform operations comprising:

designating each client of the buffer memory as either a burst over-write client or a data preserving client based on a function performed by each client;

accessing an incoming write request received from a client, the incoming write request comprising a write command to transfer write data to the buffer memory;

writing an initial portion of the write data to the buffer memory;

determining an alignment of a final portion of the write data with respect to a memory bank width of the buffer memory;

determining a designation of the client by accessing a configuration register that stores client designations for each of the plurality of clients, the designation of the client indicating whether data previously stored in the buffer memory is to be preserved when writing the final portion of the write data to the buffer memory;

determining, based on accessing the configuration register, that the client is designated as a burst-overwrite client; and

in response to determining that the final portion of the write data is unaligned with the memory bank width of the buffer memory, writing the final portion of the write data to the buffer memory without preserving the data previously stored in the buffer memory based on the client being designated as a burst-overwrite client.

11. The system of claim 10 , wherein determining that the final portion of the write data is unaligned with the memory bank width of the buffer memory comprises determining that a length of the final portion of the write data is less than the memory bank width of the buffer memory.

12. The system of claim 10 , wherein the writing of the final portion of the write data to the buffer memory comprises overwriting the data previously stored in the buffer memory.

13. The system of claim 12 , wherein the overwriting of the previously stored data comprises padding the final portion of the write data with one or more padding bytes to align a length of the final portion of the write data with the memory bank width.

14. The system of claim 10 , wherein the client being designated as a burst-overwrite client indicates that the data previously stored in the buffer memory is to be overwritten with the final portion of the write data.

15. The system of claim 14 , wherein:

each client of the buffer memory is a component or process of the system.

16. The system of claim 10 , wherein:

the incoming write request is a first write request;

the write command is a first write command to transfer first write data to the buffer memory;

the client is a first client;

a second client is designated as a data-preserving client; and

the processing device is to perform further operations comprising:

accessing a second incoming write request received from the second client, the second incoming write request comprising a second write command to transfer second write data to the buffer memory;

writing an initial portion of the second write data to the buffer memory;

determining an alignment of a final portion of the second write data with respect to the memory bank width of the buffer memory; and

based on a designation of the second client and based on determining that the final portion of the second write data is unaligned with the memory bank width of the buffer memory, performing a read-modify-write operation to write the final portion of the second write data to the buffer memory and preserve previously stored data in the buffer memory.

17. The system of claim 16 , wherein the performing the read-modify-write operation comprises:

reading the previously stored data from the buffer memory;

merging the previously stored data with the second write data to generate merged data; and

writing the merged data to the buffer memory.

18. The system of claim 10 , wherein:

the incoming write request is a first write request;

the write command is a first write command to transfer first write data to the buffer memory; and

the processing device is to perform further operations comprising:

accessing a second incoming write request received from the client, the second incoming write request comprising a second write command to transfer second write data to the buffer memory;

writing an initial portion of the second write data to the buffer memory;

determining that a final portion of the second write data is aligned with the memory bank width of the buffer memory; and

in response to determining that the final portion of the second write data is aligned with the memory bank width of the buffer memory, writing the final portion of the second write data to the buffer memory.

19. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

designating each client of a buffer memory as either a burst over-write client or a data preserving client based on a function performed by each client;

accessing an incoming write request received from a client of the buffer memory, the incoming write request comprising a write command to transfer write data to the buffer memory;

writing an initial portion of the write data to the buffer memory;

determining that a final portion of the write data is unaligned with a memory bank width of the buffer memory;

determining a designation of the client by accessing a configuration register that stores client designations for a plurality of clients, the designation of the client indicating whether data previously stored in the buffer memory is to be preserved when writing the final portion of the write data to the buffer memory, the client being designated as either a burst-overwrite client or a data preserving client; and

in response to determining that the final portion of the write data is unaligned with the memory bank width of the buffer memory, determining whether to preserve previously stored data in the buffer memory based on the designation of the client.

20. The non-transitory computer-readable storage medium of claim 19 , the operations further comprise:

performing a read-modify-write operation to write the final portion of the write data to the buffer memory and preserve the previously stored data in the buffer memory based on the client being designated as a data-preserving client; and

writing the final portion of the write data to the buffer memory without preserving the previously stored data based on the client being designated as a burst-overwrite client.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051041/0317 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050724/0392 →
SUPPLEMENT NO. 12 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048948/0677 →
SUPPLEMENT NO. 3 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048951/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2018
From: OU, MICHAEL
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047342/0970 →
Continuity (1)
Related Publication 20200097406A1 · Mar 26, 2020