Accelerating boot time zeroing of memory based on non-volatile memory (nvm) technology
US-2015378615-A1 · Dec 31, 2015 · US
US9904337B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9904337-B2 |
| Application number | US-201514883361-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 14, 2015 |
| Priority date | Jun 25, 2015 |
| Publication date | Feb 27, 2018 |
| Grant date | Feb 27, 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 system includes a processor and a memory storing a program, and a computer readable medium includes a program for performing an operation for zeroing memory in computing systems where access to memory is non-uniform. The operation includes receiving, via a system call, a request to delete a memory region. The operation also includes sorting, after receiving the request, one or more pages of the memory region according to each associated affinity domain of each page. The operation further includes sending requests to zero the sorted one or more pages to one or more zeroing threads that are attached to the respective affinity domain. The operation further yet includes waiting, after sending the requests, to return to the system caller until a message is received, from the zeroing threads in each affinity domain, indicating that all the page zeroing requests have been processed.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a processor; and a memory containing a program which, when executed on the processor, performs an operation for zeroing pages of memory in a computing system where access to memory is non-uniform, the operation comprising: receiving, via a system call, a request to delete a memory region; sorting, after receiving the request, one or more pages of the memory region according to each associated affinity domain of each page, wherein each affinity domain comprises a cluster of processors and memory local to the cluster of processors; sending requests to zero the sorted one or more pages to one or more software threads that are attached to the respective affinity domain; and waiting, after sending the requests, to return to a system caller until a message is received, from the software threads in each affinity domain, indicating that all requests to zero have been processed. 2. The system of claim 1 , wherein the local memory in each affinity domain has the same access characteristics for each of the processors in the cluster. 3. The system of claim 1 , wherein, before receiving the request to delete the memory region, the operation further comprises: analyzing a distribution of one or more processors and memory in the computing system; and identifying each affinity domain, based on the analysis. 4. The system of claim 1 , wherein the one or more software threads zero the sorted one or more pages in parallel. 5. The system of claim 1 , wherein sending the requests to zero the sorted one or more pages to the one or more software threads comprises sending the requests to zero to request queues in each affinity domain. 6. The system of claim 3 , wherein analyzing the distribution of the one or more processors and the memory in the computing system occurs upon at least one of the following: an addition of physical memory, removal of physical memory, addition of a processor, or removal of a processor. 7. A non-transitory computer-readable storage medium storing instructions, which, when executed on a processor, perform an operation for zeroing pages of memory in a computing system where access to memory is non-uniform, the operation comprising: receiving, via a system call, a request to delete a memory region; sorting, after receiving the request, one or more pages of the memory region according to each associated affinity domain of each page, wherein each affinity domain comprises a cluster of processors and memory local to the cluster of processors; sending requests to zero the sorted one or more pages to one or more software threads that are attached to the respective affinity domain; and waiting, after sending the requests, to return to a system caller until a message is received, from the software threads in each affinity domain, indicating that all requests to zero have been processed. 8. The non-transitory computer-readable storage medium of claim 7 , wherein the local memory in each affinity domain has the same access characteristics for each of the processors in the cluster. 9. The non-transitory computer-readable storage medium of claim 7 , wherein, before receiving the request to delete the memory region, the operation further comprises: analyzing a distribution of one or more processors and memory in the computing system; and identifying each affinity domain, based on the analysis. 10. The non-transitory computer-readable storage medium of claim 7 , wherein the one or more software threads zero the sorted one or more pages in parallel. 11. The non-transitory computer-readable storage medium of claim 7 , wherein sending the requests to zero the sorted one or more pages to the one or more software threads comprises sending the requests to zero to request queues in each affinity domain. 12. The non-transitory computer-readable storage medium of claim 9 , wherein analyzing the distribution of the one or more processors and the memory in the computing system occurs upon at least one of the following: an addition of physical memory, removal of physical memory, addition of a processor, or removal of a processor.
Single storage device · CPC title
Non-uniform memory access [NUMA] architecture · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
User address space allocation, e.g. contiguous or non contiguous base addressing · CPC title
Management of space entities, e.g. partitions, extents, pools · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.