Shared virtual memory management apparatus for providing cache-coherence
First Claim
Patent Images
1. A shared virtual memory management apparatus for ensuring cache coherence, comprising:
- a plurality of cores which do not have individually designated physical memories but have one shared physical memory;
a shared virtual memory manager configured to allocate a shared virtual memory page shared by a plurality of cores and to manage cores'"'"' access to the allocated shared virtual memory page;
a physical memory manager configured to allocate a physical memory page when the plurality of cores simultaneously access the allocated shared virtual memory page, and to update contents of the shared virtual memory page written by any of the cores in the allocated physical memory page of the shared physical memory; and
a memory mapper configured to, when the contents of the shared virtual memory page written by any of the plurality of cores are updated in the physical memory page allocated by the physical memory manager, map the updated physical memory page to the shared virtual memory page of another core that does not perform a write operation to the shared virtual memory page, whereinthe physical memory manager reflects accurately updated data to the physical memory page by setting the physical memory page to uncacheable in order to avoid data inconsistency which may be caused by update on a cache-line basis, andwherein in response to the shared virtual memory page being changed by two cores at the same time, the physical memory manager allocates a new physical memory page for one core, and updates shared virtual memory page of another core in the new allocated physical memory page, and further allocates an additional physical memory page to be simultaneously updated with the contents of shared virtual memory page changed by each of the two cores and the two cores sequentially write the contents of shared virtual memory page updated in the physical memory pages, which have been previously allocated to the respective two cores, to the additionally allocated physical memory page at release point, thereby simultaneously updating the contents of shared virtual memory paged changed by each of the two cores.
1 Assignment
0 Petitions
Accused Products
Abstract
A shared virtual memory management apparatus for ensuring cache coherence. When two or more cores request write permission to the same virtual memory page, the shared virtual memory management apparatus allocates a physical memory page for the cores to change data in the allocated physical memory page. Thereafter, changed data is updated in an original physical memory page, and accordingly it is feasible to achieve data coherence in a multi-core hardware environment that does not provide cache coherence.
-
Citations
16 Claims
-
1. A shared virtual memory management apparatus for ensuring cache coherence, comprising:
-
a plurality of cores which do not have individually designated physical memories but have one shared physical memory; a shared virtual memory manager configured to allocate a shared virtual memory page shared by a plurality of cores and to manage cores'"'"' access to the allocated shared virtual memory page; a physical memory manager configured to allocate a physical memory page when the plurality of cores simultaneously access the allocated shared virtual memory page, and to update contents of the shared virtual memory page written by any of the cores in the allocated physical memory page of the shared physical memory; and a memory mapper configured to, when the contents of the shared virtual memory page written by any of the plurality of cores are updated in the physical memory page allocated by the physical memory manager, map the updated physical memory page to the shared virtual memory page of another core that does not perform a write operation to the shared virtual memory page, wherein the physical memory manager reflects accurately updated data to the physical memory page by setting the physical memory page to uncacheable in order to avoid data inconsistency which may be caused by update on a cache-line basis, and wherein in response to the shared virtual memory page being changed by two cores at the same time, the physical memory manager allocates a new physical memory page for one core, and updates shared virtual memory page of another core in the new allocated physical memory page, and further allocates an additional physical memory page to be simultaneously updated with the contents of shared virtual memory page changed by each of the two cores and the two cores sequentially write the contents of shared virtual memory page updated in the physical memory pages, which have been previously allocated to the respective two cores, to the additionally allocated physical memory page at release point, thereby simultaneously updating the contents of shared virtual memory paged changed by each of the two cores. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A shared virtual memory management apparatus for ensuring cache coherence, comprising:
-
a shared physical memory; a plurality of cores each configured to access the shared physical memory as its respective main memory; a shared virtual memory manager configured to allocate a shared virtual memory page shared by a plurality of cores and to manage cores'"'"' access to the allocated shared virtual memory page; a physical memory manager configured to allocate a physical memory page when the plurality of cores simultaneously access the allocated shared virtual memory page, and to update contents of the shared virtual memory page written by any of the cores in the allocated physical memory page of the shared physical memory; and a memory mapper configured to, when the contents of the shared virtual memory page written by any of the plurality of cores are updated in the physical memory page allocated by the physical memory manager, map the updated physical memory page to the shared virtual memory page of another core that does not perform a write operation to the shared virtual memory page, wherein the physical memory manager reflects accurately updated data to the physical memory page by setting the physical memory page to uncacheable in order to avoid data inconsistency which may be caused by update on a cache-line basis, and wherein in response to the shared virtual memory page being changed by two cores at the same time, the physical memory manager allocates a new physical memory page for one core, and updates shared virtual memory page of another core in the new allocated physical memory page, and further allocates an additional physical memory page to be simultaneously updated with the contents of shared virtual memory page changed by each of the two cores and the two cores sequentially write the contents of shared virtual memory page updated in the physical memory pages, which have been previously allocated to the respective two cores, to the additionally allocated physical memory page at release point, thereby simultaneously updating the contents of shared virtual memory paged changed by each of the two cores. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification