Method and apparatus to use DRAM as a cache for slow byte-addressible memory for efficient cloud applications
US-12174739-B2 · Dec 24, 2024 · US
US9891980B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9891980-B2 |
| Application number | US-201113977106-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 29, 2011 |
| Priority date | Dec 29, 2011 |
| Publication date | Feb 13, 2018 |
| Grant date | Feb 13, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A processor of an aspect includes an instruction pipeline to process a multiple memory address instruction that indicates multiple memory addresses. The processor also includes multiple page fault aggregation logic coupled with the instruction pipeline. The multiple page fault aggregation logic is to aggregate page fault information for multiple page faults that are each associated with one of the multiple memory addresses of the instruction. The multiple page fault aggregation logic is to provide the aggregated page fault information to a page fault communication interface. Other processors, apparatus, methods, and systems are also disclosed.
Opening claim text (preview).
What is claimed is: 1. A processor comprising: an instruction pipeline to process a multiple memory address instruction that is to indicate multiple memory addresses; and multiple page fault aggregation logic, of a memory management subsystem of the processor that includes a memory management unit (MMU) and that is coupled with the instruction pipeline and implemented in one of hardware of the memory management subsystem of the processor, firmware of the memory management subsystem of the processor, microcode of the memory management subsystem of the processor, and a combination thereof, the multiple page fault aggregation logic to aggregate page fault information for multiple page faults that are each associated with one of the multiple memory addresses of the instruction, wherein the page fault information is to be aggregated prior to informing an operating system of any of the multiple page faults, and wherein the multiple memory addresses are to correspond to multiple non-contiguous memory locations, the multiple page fault aggregation logic of the memory management subsystem of the processor to provide the aggregated page fault information to a page fault communication interface that is to be used by the processor to exchange information with the operating system. 2. The processor of claim 1 , wherein the processor is to raise a single multi-page page fault to the operating system for the multiple page faults. 3. The processor of claim 2 , wherein the processor is to receive a single return from the multi-page page fault from the operating system for the multiple page faults. 4. The processor of claim 1 , wherein the multiple page fault aggregation logic is to provide multiple faulting addresses, which each corresponding to one of the multiple page faults, to the page fault communication interface. 5. The processor of claim 1 , wherein the multiple page fault aggregation logic is to provide aggregated error code information for the multiple page faults to the page fault communication interface. 6. The processor of claim 5 , wherein the aggregate error code information comprises first error code information specific to a first page fault of the multiple page faults and second error code information specific to a second page fault of the multiple page faults. 7. The processor of claim 1 , wherein the multiple page fault aggregation logic is to provide a number of the multiple page faults to the page fault communication interface. 8. The processor of claim 1 , wherein the multiple page fault aggregation logic is part of a memory management subsystem of the processor and comprises circuitry. 9. A method in a processor comprising: detecting multiple page faults corresponding to multiple non-contiguous memory locations; aggregating page fault information for the multiple page faults, prior to informing an operating system of any of the multiple page faults, with on-die logic of a memory management subsystem of the processor that includes a memory management unit (MMU) and a translation lookaside buffer (TLB) and that comprises one of hardware of the memory management subsystem of the processor, firmware of the memory management subsystem of the processor, microcode of the memory management subsystem of the processor, and a combination thereof; providing aggregated page fault information for the multiple page faults from the processor to a page fault communication interface, which includes at least one of (1) a stack and (2) at least one register, that is used to provide information from the processor to the operating system; and signaling a single multi-page page fault for the multiple page faults from the processor to the operating system after the aggregation of the page fault information. 10. The method of claim 9 , further comprising receiving a multiple memory address instruction indicating multiple memory addresses, and wherein detecting the multiple page faults comprises detecting multiple page faults that each correspond to one of the multiple memory addresses indicated by the instruction. 11. The method of claim 9 , further comprising receiving a single return from the multi-page page fault. 12. The method of claim 9 , wherein providing the aggregated page fault information comprises storing the aggregated page fault information in at least one of a register and a stack. 13. The method of claim 9 , wherein providing the aggregated page fault information comprises providing multiple faulting addresses, which each correspond to one of the multiple page faults, to the page fault communication interface. 14. The method of claim 9 , wherein providing the aggregated page fault information comprises providing aggregated error code information for the multiple page faults to the page fault communication interface. 15. The method of claim 14 , wherein providing the aggregated error code information comprises providing a first error code information that is specific to a first page fault of the multiple page faults and a second error code information that is specific to a second page fault of the multiple page faults. 16. The method of claim 15 , wherein providing the aggregated error code information comprises providing information that is common to all of the multiple page faults only once. 17. The method of claim 9 , wherein providing the aggregated page fault information comprises providing a number of the multiple page faults to the page fault communication interface. 18. An article of manufacture comprising: a non-transitory machine-readable storage medium, the machine-readable storage medium storing a sequence of instructions that if executed by a machine are operable to cause the machine to perform operations comprising, receiving, at an operating system, a single multi-page page fault that has been signaled by a processor; accessing aggregated page fault information for multiple page faults associated with the multi-page page fault from a page fault communication interface that is to be used to exchange the aggregated page fault information between a memory management subsystem of a processor and the operating system, wherein the multiple page faults associated with the multi-page page fault are to correspond to multiple non-contiguous memory locations; and provide a single return from the single multi-page page fault after the multiple page faults have been resolved. 19. The article of manufacture of claim 18 , wherein the machine-readable storage medium further stores instructions that if executed are operable to cause the machine to perform operations comprising resolving the multiple page faults between receiving the single multi-page page fault and providing the single return. 20. The article of manufacture of claim 18 , wherein the machine-readable storage medium further stores instructions that if executed are operable to cause the machine to perform operations comprising accessing multiple faulting addresses, which each correspond to one of the multiple page faults, from the page fault communication interface. 21. The article of manufacture of claim 18 , wherein the machine-readable storage medium further stores instructions that if executed are operable to cause the machine to perform operations comprising accessing aggregated error code information for the multiple page faults from the page fault communication interface. 22. The article of manufacture of claim 21 , wherein the machine-readable storage medium further stores instructions that if executed are operable
LOAD or STORE instructions; Clear instruction · CPC title
in hierarchically structured memory systems, e.g. virtual memory systems · CPC title
Routing of error reports, e.g. with a specific transmission path or data flow · CPC title
Instructions to perform operations on packed data, e.g. vector, tile or matrix operations · CPC title
using a mask · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.