IP Library Granted Patent US 10,248,358
Granted Patent B2
US 10,248,358 · App. 15/990,211 · Granted Apr 2, 2019

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 10,248,358
App. No.
15/990,211
Granted
Apr 2, 2019
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 (48)

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

receiving, from a memory controller, a first read-modify-write command on a command interface at a first command time, the first read-modify-write command having an associated first read address indicating a first location in a memory bank of the memory component, and a second read-modify-write command on the command interface at a second command time, the second read-modify-write command having an associated second read address indicating a second location in the memory bank of the memory component, wherein the second command time is subsequent to the first command time;

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

receiving first write data associated with the first read-modify-write command and second write data associated with the second read-modify-write command on a data interface;

merging the first received write data with the first read data to form a first merged data and the second received write data with the second read data to form a second merged data; and

writing the first merged data to the first location in the memory bank and the second merged data to the second location in the memory bank, wherein writing the first merged data to the first location in the memory bank occurs after accessing the second read data from the second location in the memory bank.

2. The method of claim 1 , further comprising:

receiving, from the memory controller, a third read-modify-write command on the command interface at a third command time, the third read-modify-write command comprising a third read address indicating a third location in the memory bank of the memory component, wherein the third command time is subsequent to the second command time; and

accessing third read data from the third location in the memory bank, wherein writing the first merged data to the first location in the memory bank occurs after accessing the third read data from the third location in the memory bank.

3. The method of claim 2 , further comprising:

receiving third write data associated with the third read-modify-write command on the data interface;

merging the third received write data with the third read data to form a third merged data; and

writing the third merged data to the third location in the memory bank.

4. The method of claim 2 , further comprising:

decoding the first read data prior to merging the first read data with the received first write data, the second read data prior to merging the second read data with the received second write data, and the third read data prior to merging the third read data with the received third write data, wherein decoding read data comprises correcting single bit errors in the read data using an error syndrome in the read data.

5. The method of claim 2 , wherein merging received write data with read data to form a merged data comprises combining the write data and the received data using a data mask received with the write data.

6. The method of claim 2 , further comprising:

encoding the first merged data prior to writing the first merged data to the first location in the memory bank, encoding the second merged data prior to writing the second merged data to the second location in the memory bank, and encoding the third merged data prior to writing the third merged data to the third location in the memory bank.

7. The method of claim 6 , wherein encoding merged data comprises generating an error syndrome for the merged data.

8. A memory component comprising:

a memory bank;

a command interface coupled to the memory bank, the command interface to receive, from a memory controller, a first read-modify-write command at a first command time, the first read-modify-write command comprising a first read address indicating a first location in the memory bank, and a second read-modify-write command at a second command time, the second read-modify-write command comprising a second read address indicating a second location in the memory bank, wherein the second command time is subsequent to the first command time, and 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;

a data interface coupled to the memory bank, the data interface to receive first write data associated with the first read-modify-write command and second write data associated with the second read-modify-write command; and

an error correction circuit coupled to the data interface and to the memory bank, the error correction circuit to merge the first received write data with the first read data to form a first merged data and the second received write data with the second read data to form a second merged data and to write the first merged data to the first location in the memory bank and the second merged data to the second location in the memory bank, wherein the error correction circuit writes the first merged data to the first location in the memory bank after the command interface accesses the second read data from the second location in the memory bank.

9. The memory component of claim 8 , wherein the command interface further to receive, from the memory controller, a third read-modify-write command at a third command time, the third read-modify-write command comprising a third read address indicating a third location in the memory bank of the memory component, wherein the third command time is subsequent to the second command time, and to access third read data from the third location in the memory bank, wherein the error correction circuit writes the first merged data to the first location in the memory bank after the command interface accesses the third read data from the third location in the memory bank.

10. The memory component of claim 9 , wherein the data interface further to receive third write data associated with the third read-modify-write command, and the error correction circuit further to merge the third received write data with the third read data to form a third merged data and write the third merged data to the third location in the memory bank.

11. The memory component of claim 9 , wherein the error correction circuit further to decode the first read data prior to merging the first read data with the received first write data, the second read data prior to merging the second read data with the received second write data, and the third read data prior to merging the third read data with the received third write data, wherein to decode read data, the error correction circuit to correct single bit errors in the read data using an error syndrome in the read data.

12. The memory component of claim 9 , wherein to merge received write data with read data to form a merged data, the error correction circuit to combine the write data and the received data using a data mask received with the write data.

13. The memory component of claim 9 , wherein the error correction circuit further to encode the first merged data prior to writing the first merged data to the first location in the memory bank, the second merged data prior to writing the second merged data to the second location in the memory bank, and the third merged data prior to writing the third merged data to the third location in the memory bank.

14. The memory component of claim 13 , wherein to encode merged data, the error correction circuit to generate an error syndrome for the merged data.

15. A memory component comprising:

means for receiving, from a memory controller, a first read-modify-write command on a command interface at a first command time, the first read-modify-write command having an associated first read address indicating a first location in a memory bank of the memory component, and a second read-modify-write command on the command interface at a second command time, the second read-modify-write command having an associated second read address indicating a second location in the memory bank of the memory component, wherein the second command time is subsequent to the first command time;

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

means for receiving first write data associated with the first read-modify-write command and second write data associated with the second read-modify-write command on a data interface;

means for merging the first received write data with the first read data to form a first merged data and the second received write data with the second read data to form a second merged data; and

means for writing the first merged data to the first location in the memory bank and the second merged data to the second location in the memory bank, wherein writing the first merged data to the first location in the memory bank occurs after accessing the second read data from the second location in the memory bank.

16. The memory component of claim 15 , further comprising:

means for receiving, from the memory controller, a third read-modify-write command on the command interface at a third command time, the third read-modify-write command comprising a third read address indicating a third location in the memory bank of the memory component, wherein the third command time is subsequent to the second command time; and

means for accessing third read data from the third location in the memory bank, wherein writing the first merged data to the first location in the memory bank occurs after accessing the third read data from the third location in the memory bank.

17. The memory component of claim 16 , further comprising:

means for receiving third write data associated with the third read-modify-write command on the data interface;

means for merging the third received write data with the third read data to form a third merged data; and

means for writing the third merged data to the third location in the memory bank.

18. The memory component of claim 16 , further comprising:

means for decoding the first read data prior to merging the first read data with the received first write data, the second read data prior to merging the second read data with the received second write data, and the third read data prior to merging the third read data with the received third write data, wherein decoding read data comprises correcting single bit errors in the read data using an error syndrome in the read data.

19. The memory component of claim 16 , wherein merging received write data with read data to form a merged data comprises combining the write data and the received data using a data mask received with the write data.

20. The memory component of claim 16 , further comprising:

means for encoding the first merged data prior to writing the first merged data to the first location in the memory bank, encoding the second merged data prior to writing the second merged data to the second location in the memory bank, and encoding the third merged data prior to writing the third merged data to the third location in the memory bank, wherein encoding merged data comprises generating an error syndrome for the merged data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2018
From: WARE, FREDERICK; VOGELSANG, THOMAS
To: RAMBUS INC
Reel/Frame 047612/0545 →
Continuity (3)
Continuation 15022176
Provisional Application 61881869 · Sep 24, 2013
Related Publication 20180341432A1 · Nov 29, 2018
Cited By (1)
US 12,223,207