SYSTEM AND METHOD FOR CONTENT REPLICATION DETECTION AND ELIMINATION IN MAIN MEMORY
First Claim
Patent Images
1. A memory controller apparatus for controlling computer memory input [and output] operations in a computing system, said apparatus comprising:
- a translation table for implementing translation of processor issued real memory block addresses to one or more physical memory block address corresponding to physical memory locations that receive input memory content for storage or output stored memory content;
means for calculating the hash value of a memory block content when a block of memory is accessed for content storage at a physical memory location, said translation table mapping all references for real memory blocks whose hashing values are identical to a single shared reference corresponding to a shared block of physical memory;
wherein, only one copy of content is stored at said shared block in physical memory for identical content thereby eliminating duplicate memory blocks in a computer memory system.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for effectively increasing the amount of data that can be stored in the main memory of a computer, particularly, by a hardware enhancement of a memory controller apparatus that detects duplicate memory contents and eliminates duplicate memory contents wherein the duplication and elimination are performed by hardware without imposing any penalty on the overall performance of the system.
-
Citations
18 Claims
-
1. A memory controller apparatus for controlling computer memory input [and output] operations in a computing system, said apparatus comprising:
-
a translation table for implementing translation of processor issued real memory block addresses to one or more physical memory block address corresponding to physical memory locations that receive input memory content for storage or output stored memory content; means for calculating the hash value of a memory block content when a block of memory is accessed for content storage at a physical memory location, said translation table mapping all references for real memory blocks whose hashing values are identical to a single shared reference corresponding to a shared block of physical memory; wherein, only one copy of content is stored at said shared block in physical memory for identical content thereby eliminating duplicate memory blocks in a computer memory system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for controlling computer memory input and output operations in a computing system, said method comprising:
-
implementing, via a translation table, translation of processor issued real memory block addresses to one or more physical memory block addresses corresponding to physical memory locations to receive input memory content for storage or output stored memory content; and
,calculating a hash value of a memory block content when a block of memory is being input for storage at a physical memory location, said translation table mapping all references for real memory blocks whose hashing values have been previously identified as identical, to a single shared reference corresponding to a shared block of physical memory; wherein, only one copy of content is stored at said shared block in physical memory for identical content thereby eliminating duplicate memory blocks in a computer memory system. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer memory system for a computing device comprising a memory controller and one or more types of memory, wherein the content of main memory is cached in a caching unit, said system comprising:
-
means for writing to a real memory block, a hash calculator for calculating a hash value of each real memory block content to be stored in said physical memory for a memory write operation; a memory storage cache indexible by said memory controller for storing a first table including stored hash values of some or all of the blocks stored in said physical memory; a means for comparing said calculated hash value against said stored hash values when performing said write operation, to determine if a block of identical content already exists in said physical memory; and
,means for directing the memory controller such that references to real memory blocks whose contents are identical are substituted by single reference to a single set of physical blocks stored in physical memory, said directing means performing at real memory block level granularity, means for directing the memory controller such that a single physical memory block can be mapped on to one or more real blocks in real memory. - View Dependent Claims (17, 18)
-
Specification