Non-Disruptively Upgrading a Cloud-Based Storage System
US-2024241674-A1 · Jul 18, 2024 · US
US2017123735A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017123735-A1 |
| Application number | US-201514925317-A |
| Country | US |
| Kind code | A1 |
| Filing date | Oct 28, 2015 |
| Priority date | Oct 28, 2015 |
| Publication date | May 4, 2017 |
| Grant date | — |
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.
Technical solutions are described for reducing page invalidation broadcasts in a computer system. An example method includes pre-allocating a pool of large memory frames by a real storage manager. The method also includes receiving, by a virtual storage manager, an instruction from an application to allocate a memory buffer, where the instruction includes a request to back the memory buffer using large pages. The virtual storage manager, in response to the instruction, allocates the memory buffer from the pre-allocated pool of large memory frames.
Opening claim text (preview).
What is claimed is: 1 . A method for reducing page invalidation broadcasts in a computer system, the method comprising: pre-allocating, by a real storage manager, a pool of large memory frames; receiving, by a virtual storage manager, an instruction from an application to allocate a memory buffer, wherein the instruction comprises a request to back the memory buffer using large pages; and in response to the instruction, allocating the memory buffer real memory frames from the pool of large memory frames without requesting new real memory frames, wherein said allocation comprises reserving a range of contiguous virtual addresses for the memory buffer, the range being a subset of contiguous virtual addresses corresponding to the pool of large memory frames. 2 . The method of claim 1 , wherein the memory buffer is associated with default virtual memory pages which are smaller in size than the large memory frames. 3 . The method of claim 1 , wherein allocating the memory buffer from the pool of large memory frames comprises updating control blocks to mark the real memory frames as being reserved without establishing new virtual to real associations for the real memory frames. 4 . The method of claim 1 , wherein the range of contiguous virtual addresses reserved for the memory buffer is associated with an identifier of the application that requested the memory buffer. 5 . The method of claim 1 , further comprising: receiving an instruction from the application to free the allocated memory buffer; in response to the instruction to free, marking a range of contiguous virtual addresses reserved for the memory buffer as being free, wherein the range of contiguous virtual addresses is from the pool of large memory frames. 6 . The method of claim 5 , wherein the virtual storage manager frees the memory buffer without broadcasting to the real storage manager a request to free real memory frames corresponding to the memory buffer. 7 . The method of claim 1 , further comprising: reserving a range of contiguous virtual addresses corresponding to the pool of large memory frames, wherein allocating the memory buffer from the pool of large memory frames comprises allocating a subset of contiguous virtual addresses from the reserved range of contiguous virtual addresses for the memory buffer. 8 . The method of claim 1 , wherein the pool of large memory frames comprises a predetermined number of contiguous large memory frames. 9 . The method of claim 8 , wherein the predetermined number is based on a system startup parameter. 10 . The method of claim 1 , further comprising monitoring usage of the pool of large memory frames by tracking a count of a number of allocations and deallocations from the pool of large memory frames. 11 . The method of claim 1 , wherein the pool of large memory frames comprises a plurality of 31-bit large memory frames. 12 . A system comprising: a memory; and a processor configured to reduce page invalidation broadcasts by being configured to: pre-allocate, at startup, a pool of large memory frames; receive an instruction from an application to allocate a memory buffer, wherein the instruction comprises a request to back the memory buffer using large pages; and in response to the instruction, allocate the memory buffer without requesting real memory frames by reservation of a range of contiguous virtual addresses for the memory buffer, the range being a subset of contiguous virtual addresses corresponding to the pool of large memory frames. 13 . The system of claim 12 , wherein the range of contiguous virtual addresses reserved for the memory buffer is associated with an identifier of the application that requested the memory buffer. 14 . The system of claim 12 , wherein the processor is further configured to: receive an instruction from the application to free the allocated memory buffer; and in response to the instruction to free, deallocate the memory buffer without a request to free real memory frames corresponding to the memory buffer being broadcast, wherein the deallocation comprises marking the range of contiguous virtual addresses reserved for the memory buffer as being free. 15 . The system of claim 12 , wherein the pool of large memory frames comprises a predetermined number of contiguous large memory frames, wherein the predetermined number is based on a system startup parameter. 16 . The system of claim 12 , wherein the pool of large memory frames comprises a plurality of 31-bit large memory frames. 17 . A computer program product for reducing page invalidation broadcasts in a computer system, the computer program product comprising a computer readable storage medium, the computer readable storage medium comprising computer executable instructions, wherein the computer readable storage medium comprises instructions to: pre-allocate, at startup, a pool of large memory frames; receive an instruction from an application to allocate a memory buffer, wherein the instruction comprises a request to back the memory buffer using large pages; and in response to the instruction, allocate the memory buffer without requesting real memory frames by reservation of a range of contiguous virtual addresses for the memory buffer, the range being a subset of contiguous virtual addresses corresponding to the pool of large memory frames. 18 . The computer program product of claim 17 , wherein the range of contiguous virtual addresses reserved for the memory buffer is associated with an identifier of the application that requested the memory buffer. 19 . The computer program product of claim 17 , wherein the computer readable storage medium further comprises instructions to: receive an instruction from the application to free the allocated memory buffer; and in response to the instruction to free, deallocate the memory buffer without a request to free real memory frames corresponding to the memory buffer being broadcast, wherein the deallocation comprises marking the range of contiguous virtual addresses reserved for the memory buffer as being free. 20 . The system of claim 17 , wherein the pool of large memory frames comprises a predetermined number of contiguous large memory frames, wherein the predetermined number is based on a system startup parameter.
at area level, e.g. provisioning of virtual or logical volumes · CPC title
Single storage device · CPC title
Data buffering arrangements · CPC title
Saving storage space on storage systems · CPC title
by allocating resources to storage systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.