COHERENT DATA MOVER
First Claim
1. A computing system comprising:
- a memory including a first portion and a second portion, wherein the first portion comprises a plurality of memory locations; and
a data mover configured to;
copy data elements from the first portion to the second portion;
monitor transactions which may modify, or gain authority to potentially modify, data elements in the first portion while copying the data elements from the first portion to the second portion; and
re-copy particular data elements from the first portion to the second portion, in response to determining the particular data elements correspond to memory locations of the first portion which may have been modified subsequent to copying data elements from the memory locations to the second portion.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for dynamically relocating regions of memory in computing systems. During the execution of software application(s) on a computing system, a relocation of data in a region of memory may be performed. A coherent data mover is coupled to system memory, memory controller(s), and processor(s) of a computing system. The mover executes commands such as copying a specific region of memory from its current source location in system memory to a new target location in system memory without suspending access of the data. During a copy of data from the first portion to the second portion, the mover monitors transactions which modify data in the first portion which has already been copied. Subsequent to copying all of the data, the mover re-copies those data elements which were detected to be modified during the copy operation.
82 Citations
17 Claims
-
1. A computing system comprising:
-
a memory including a first portion and a second portion, wherein the first portion comprises a plurality of memory locations; and a data mover configured to; copy data elements from the first portion to the second portion; monitor transactions which may modify, or gain authority to potentially modify, data elements in the first portion while copying the data elements from the first portion to the second portion; and re-copy particular data elements from the first portion to the second portion, in response to determining the particular data elements correspond to memory locations of the first portion which may have been modified subsequent to copying data elements from the memory locations to the second portion. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for use in a computing system, the method comprising:
-
copying data elements from a first portion of a memory comprising a plurality of memory locations to a second portion of the memory; monitoring transactions which may modify data elements in the first portion while copying the data elements from the first portion to the second portion; and re-copying particular data elements from the first portion to the second portion, in response to determining the particular data elements correspond to memory locations of the first portion which have been modified subsequent to copying data elements from the memory locations to the second portion. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A data mover comprising:
-
a first buffer configured to store a first address and a second address; and a second buffer configured to store addresses of modified memory locations; an interface configured to communicate with a network interface; and wherein the data mover is configured to; copy data elements from the first portion to the second portion; monitor transactions which may modify data elements in the first portion while copying the data elements from the first portion to the second portion; and re-copy particular data elements from the first portion to the second portion, in response to determining the particular data elements correspond to memory locations of the first portion which have been modified subsequent to copying data elements from the memory locations to the second portion. - View Dependent Claims (16, 17)
-
Specification