Memory deduplication support for remote direct memory access (RDMA)
First Claim
Patent Images
1. A method of providing deduplication support for remote direct memory access (RDMA) memory, comprising:
- detecting that a first memory page and a second memory page are identical, wherein a first mapping maps a first virtual memory address (VMA) to a first physical memory address (PMA) of the first memory page, and a second mapping maps a second VMA to a second PMA of the second memory page, wherein the first VMA is part of a first application'"'"'s virtual memory space, and the second VMA is part of a second application'"'"'s virtual memory space, and wherein an RDMA memory region including the first memory page has been registered for RDMA and includes a list of memory pages associated with the first application'"'"'s virtual memory space;
updating the first mapping to map from the first VMA to the second PMA after detecting that the first memory page and the second memory page are identical; and
re-registering the RDMA memory region for RDMA after updating the first mapping.
1 Assignment
0 Petitions
Accused Products
Abstract
An example method of providing deduplication support for remote direct memory access (RDMA) memory includes detecting that a first memory page and a second memory page are identical. A first mapping maps a first virtual memory address (VMA) to a first physical memory address (PMA) of the first memory page. A second mapping maps a second VMA to a second PMA of the second memory page. An RDMA memory region includes the first memory page. The method also includes updating the first mapping to map from the first VMA to the second PMA. The method further includes re-registering the RDMA memory region for RDMA.
-
Citations
20 Claims
-
1. A method of providing deduplication support for remote direct memory access (RDMA) memory, comprising:
-
detecting that a first memory page and a second memory page are identical, wherein a first mapping maps a first virtual memory address (VMA) to a first physical memory address (PMA) of the first memory page, and a second mapping maps a second VMA to a second PMA of the second memory page, wherein the first VMA is part of a first application'"'"'s virtual memory space, and the second VMA is part of a second application'"'"'s virtual memory space, and wherein an RDMA memory region including the first memory page has been registered for RDMA and includes a list of memory pages associated with the first application'"'"'s virtual memory space; updating the first mapping to map from the first VMA to the second PMA after detecting that the first memory page and the second memory page are identical; and re-registering the RDMA memory region for RDMA after updating the first mapping. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 20)
-
-
9. A system for providing deduplication support for remote direct memory access (RDMA) memory, comprising:
-
an RDMA memory region that includes a first memory page; a same page managing module that detects that the first memory page and a second memory page are identical, wherein a first mapping maps a first virtual memory address (VMA) to a first physical memory address (PMA) of the first memory page, and a second mapping maps a second VMA to a second PMA of the second memory page, wherein the first VMA is part of a first application'"'"'s virtual memory space, and the second VMA is part of a second application'"'"'s virtual memory space, and wherein an RDMA memory region including the first memory page has been registered for RDMA and includes a list of memory pages associated with the first application'"'"'s virtual memory space; a deduplication module that updates the first mapping to map from the first VMA to the second PMA after the same page managing module detects that the first memory page and the second memory page are identical; and an RDMA core that re-registers the RDMA memory region for RDMA after the deduplication module updates the first mapping. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory machine-readable medium comprising a plurality of machine-readable instructions that when executed by one or more processors is adapted to cause the one or more processors to perform a method comprising:
-
detecting that a first memory page and a second memory page are identical, wherein a first mapping maps a first virtual memory address (VMA) to a first physical memory address (PMA) of the first memory page, and a second mapping maps a second VMA to a second PMA of the second memory page, wherein the first VMA is part of a first application'"'"'s virtual memory space, and the second VMA is part of a second application'"'"'s virtual memory space, and wherein an RDM A memory region including the first memory page has been registered for RDM A and includes a list of memory pages associated with the first application'"'"'s virtual memory space; updating the first mapping to map from the first VMA to the second PMA after detecting that the first memory page and the second memory page are identical; and re-registering the RDMA memory region for RDM A after updating the first mapping.
-
Specification