Computer memory data merging technique for computers with write-back caches
First Claim
Patent Images
1. A memory controller comprising:
- an input device, connected to a first processor and a second processor, which receives one or more incoming data bytes from the first processor and combines them to form a first data element;
a memory which stores therein a second data element having one or more data bytes, said memory being connected to an output of the input device for receiving the first data element and overwriting a portion of the second data element therewith; and
an output device, connected to the first processor and the second processor, which receives data bytes of the second data element from the memory and data bytes of the first data element from the input device and combines them to form a third data element which is subsequently transmitted to the second processor,wherein the first processor and the second processor each transfers data to the memory though said input device and receives data from the memory through the output device.
2 Assignments
0 Petitions
Accused Products
Abstract
A memory controller intercepts data bytes destined for a memory and selectively combines them with data bytes previously read from the memory. The controller also blocks data bytes destined for the memory corresponding to data bytes previously written to the memory. The memory controller includes an input device and an output device. An output line of the input device is connected to both the memory and an input line of the output device. Also, the memory is connected to the input line of the output device.
-
Citations
23 Claims
-
1. A memory controller comprising:
-
an input device, connected to a first processor and a second processor, which receives one or more incoming data bytes from the first processor and combines them to form a first data element; a memory which stores therein a second data element having one or more data bytes, said memory being connected to an output of the input device for receiving the first data element and overwriting a portion of the second data element therewith; and an output device, connected to the first processor and the second processor, which receives data bytes of the second data element from the memory and data bytes of the first data element from the input device and combines them to form a third data element which is subsequently transmitted to the second processor, wherein the first processor and the second processor each transfers data to the memory though said input device and receives data from the memory through the output device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A memory controller comprising:
-
means for storing a first set of data bytes which are read from a memory, said storing means being connected to a first processor and a second processor; means for intercepting a second set of data bytes being transferred from the first processor to the memory, said intercepting means being connected to the first processor and the second processor; and means for overwriting a portion of the first set of data bytes stored in the storing means with the second set of data bytes intercepted by the intercepting means so as to form a third set of data bytes which is subsequently transferred to the second processor. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for transferring a data element within a computer system, the computer system having a first processor, a second processor and a system memory, comprising the steps of:
-
reading a first data element from the system memory into a first register; transferring a second data element from a cache memory of the first processor to a second register; obtaining selected bytes of the second data element from the second register to overwrite corresponding bytes of the first data element in the first register so as to form a third data element in the first register; and reading the third data element from the first register into the second processor. - View Dependent Claims (16, 17, 18)
-
-
19. A method comprising:
-
reading a first data element from a computer system memory into a register; intercepting a second data element which is being transferred from a cache memory of a first processor to the computer system memory; overwriting a portion of the first data element with the second data element intercepted in the intercepting step so as to form a third data element in the register; and reading the third data element from the register into a second processor.
-
-
20. A method comprising:
-
writing bytes of a first data element from a first cache memory of a first processor to a computer system memory; and writing selected bytes of a second data element from a second cache memory of a second processor to said computer system memory so as to overwrite a portion of the first data element and form a third data element in the computer system memory.
-
-
21. A memory controller comprising:
-
means for storing a first set of data bytes which are read from a computer system memory, said storing means being connected to a first processor and a second processor; means for intercepting a second set of data bytes being transferred from the first processor to the computer system memory, said intercepting means being connected to the first processor and the second processor; means for overwriting a portion of the first set of data bytes stored in the storing means with the second set of data bytes intercepted by the intercepting means so as to form a third set of data bytes which is subsequently transferred to the second processor; means for writing data bytes of a fourth data element from a first cache memory of the first processor to the computer system memory; and means for writing selected data bytes of a fifth data element from a second cache memory of the second processor to the computer system memory so as to overwrite a portion of the fourth data element and form a sixth data element in the computer system memory.
-
-
22. A memory controller comprising:
-
means for writing data bytes of a first data element from a first cache memory of a first processor to a computer system memory; and means for writing selected data bytes of a second data element from a second cache memory of a second processor to said computer system memory so as to overwrite a portion of the first data element and form a third data element in the computer system memory. - View Dependent Claims (23)
-
Specification