IP Library Granted Patent US 11,347,441
Granted Patent B2
US 11,347,441 · App. 17/247,167 · Granted May 31, 2022

Memory component having internal read-modify-write operation

Inventors: Frederick A. Ware (Los Altos Hills, CA); Thomas Vogelsang (Mountain View, CA)
Assignee: Rambus Inc.
G06F3/0659G06F3/0604G06F3/0619G06F3/0638G06F3/0673G06F11/1076G11C7/1006G11C7/1009G11C7/109G11C7/1087G11C7/1093G11C29/023G11C29/028G11C2029/0411G11C2207/107
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,347,441
App. No.
17/247,167
Granted
May 31, 2022
Kind
B2
Abstract

An memory component includes a memory bank and a command interface to receive a read-modify-write command, having an associated read address indicating a location in the memory bank and to either access read data from the location in the memory bank indicated by the read address after an adjustable delay period transpires from a time at which the read-modify-write command was received or to overlap multiple read-modify-write commands. The memory component further includes a data interface to receive write data associated with the read-modify-write command and an error correction circuit to merge the received write data with the read data to form a merged data and write the merged data to the location in the memory bank indicated by the read address.

Claims (59)

1. A method of operation in a memory component, the method comprising:

receiving a first memory command having an associated first read address indicating a first location in a memory bank of the memory component;

receiving, after receiving the first memory command, a second memory command having an associated second read address indicating a second location in the memory bank of the memory component;

performing first memory operations associated with the first and second memory commands on data at the first and second locations in the memory bank;

modifying the data from the first and second locations in the memory bank to produce first and second modified data; and

performing, after the first memory operations, second memory operations associated with the first and second memory commands using the first and second modified data.

2. The method of claim 1 , wherein performing the first memory operations associated with the first and second memory commands comprises:

accessing first read data from the first location in the memory bank and second read data from the second location in the memory bank; and

receiving first write data associated with the first memory command and second write data associated with the second memory command.

3. The method of claim 2 , wherein modifying the data from the first and second locations in the memory bank comprises:

merging the first received write data with the first read data to form the first modified data;

merging the second received write data with the second read data to form the second modified data.

4. The method of claim 3 , wherein performing the second memory operations associated with the first and second memory commands comprises:

writing the first modified data to the first location in the memory bank; and

writing, after accessing the second read data from the second location in the memory bank, the second modified data to the second location in the memory bank.

5. The method of claim 1 , further comprising:

decoding the data at the first and second locations in the memory bank prior to modifying the data to produce the first and second modified data, wherein decoding the data comprises correcting single bit errors in the data using an error syndrome in the data.

6. The method of claim 1 , wherein modifying the data from the first and second locations in the memory bank comprises combining the data using a data mask.

7. The method of claim 1 , further comprising:

encoding the first and second modified data prior to performing the second memory operations, wherein encoding the first and second modified data comprises generating an error syndrome for the first and second modified data.

8. A memory component comprising:

a memory bank;

processing logic coupled to the memory bank, wherein the processing logic is configured to:

receive a first memory command having an associated first read address indicating a first location in a memory bank of the memory component;

receive, after receiving the first memory command, a second memory command having an associated second read address indicating a second location in the memory bank of the memory component;

perform first memory operations associated with the first and second memory commands on data at the first and second locations in the memory bank;

modify the data from the first and second locations in the memory bank to produce first and second modified data; and

perform, after the first memory operations, second memory operations associated with the first and second memory commands using the first and second modified data.

9. The memory component of claim 8 , wherein to perform the first memory operations associated with the first and second memory commands, the processing logic is configured to:

access first read data from the first location in the memory bank and second read data from the second location in the memory bank; and

receive first write data associated with the first memory command and second write data associated with the second memory command.

10. The memory component of claim 9 , wherein to modify the data from the first and second locations in the memory bank, the processing logic is configured to:

merge the first received write data with the first read data to form the first modified data;

merge the second received write data with the second read data to form the second modified data.

11. The memory component of claim 10 , wherein to perform the second memory operations associated with the first and second memory commands, the processing logic is configured to:

write the first modified data to the first location in the memory bank; and

write, after accessing the second read data from the second location in the memory bank, the second modified data to the second location in the memory bank.

12. The memory component of claim 8 , wherein the processing logic is further configured to:

decode the data at the first and second locations in the memory bank prior to modifying the data to produce the first and second modified data, wherein decoding the data comprises correcting single bit errors in the data using an error syndrome in the data.

13. The memory component of claim 8 , wherein to modify the data from the first and second locations in the memory bank, the processing logic is configured to combine the data using a data mask.

14. The memory component of claim 8 , wherein the processing logic is further configured to:

encode the first and second modified data prior to performing the second memory operations, wherein encoding the first and second modified data comprises generating an error syndrome for the first and second modified data.

15. A memory component comprising:

a memory bank;

a command interface coupled to the memory bank, the command interface to receive a first memory command having an associated first read address indicating a first location in the memory bank, and to receive, after receiving the first memory command, a second memory command having an associated second read address indicating a second location in the memory bank;

a data interface coupled to the memory bank, the data interface to perform first memory operations associated with the first and second memory commands on data at the first and second locations in the memory bank; and

an error correction circuit coupled to the data interface and to the memory bank, the error correction circuit to modify the data from the first and second locations in the memory bank to produce first and second modified data, and to perform, after the first memory operations, second memory operations associated with the first and second memory commands using the first and second modified data.

16. The memory component of claim 15 , wherein to perform the first memory operations associated with the first and second memory commands, the data interface is to:

access first read data from the first location in the memory bank and second read data from the second location in the memory bank; and

receive first write data associated with the first memory command and second write data associated with the second memory command.

17. The memory component of claim 16 , wherein to modify the data from the first and second locations in the memory bank, the error correction circuit is to:

merge the first received write data with the first read data to form the first modified data; and

merge the second received write data with the second read data to form the second modified data.

18. The memory component of claim 17 , wherein to perform the second memory operations associated with the first and second memory commands, the error correction circuit is to:

write the first modified data to the first location in the memory bank; and

write, after accessing the second read data from the second location in the memory bank, the second modified data to the second location in the memory bank.

19. The memory component of claim 15 , wherein the data interface is further to:

decode the data at the first and second locations in the memory bank prior to modifying the data to produce the first and second modified data, wherein to decode the data, the data interface is to correct single bit errors in the data using an error syndrome in the data.

20. The memory component of claim 15 , wherein to modify the data from the first and second locations in the memory bank, the error correction circuit is to combine the data using a data mask.

Continuity (5)
Continuation 16371345 · Apr 1, 2019
Continuation 15990211 · May 25, 2018
Continuation 15022176
Provisional Application 61881869 · Sep 24, 2013
Related Publication 20210089237A1 · Mar 25, 2021