US7032088B2
Expired / Lapsed
US
⏱️ 0.0 years remaining
Advanced memory management architecture for large data volumes
Assignee: Siemens Medical Solutions USA Inc
•
Filing: 2003-08-07
•
Granted: 2006-04-18
•
Expires: 2023-08-07
Abstract
Abstract An efficient memory management method for handling large data volumes, comprising a memory management interface between a plurality of applications and a physical memory, determining a priority list of buffers accessed by the plurality of applications, providing efficient disk paging based on the priority list, ensuring sufficient physical memory is available, sharing managed data buffers among a plurality of applications, mapping and unmapping data buffers in virtual memory efficiently to overcome the limits of virtual address space.
Inventors
- 👤 Gianluca Paladini
- 👤 Thomas Moeller
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 18:48
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/12; G06F12/121; G06F12/123
Claims Analysis
Total Claims: 25
Claim 1
Independent Claim
74 words
A method of managing a memory system for large data volumes comprising providing a central memory management system comprising a memory management interface between a plurality of applications and a physical memory of a programmed computer; and maintaining a global priority list of data buffers allocated by the plurality of applications as a linked-list, wherein the list is sorted according to an order in which data buffers are accessed by the plurality of applications.
Claim 2
Independent Claim
74 words
A method of managing a memory system for large data volumes comprising providing a central memory management system comprising a memory management interface between a plurality of applications and a physical memory of a programmed computer; and maintaining a global priority list of data buffers allocated by the plurality of applications as a linked-list, wherein the list is sorted according to an order in which data buffers are accessed by the plurality of applications.
Claim 3
Dependent Claim
46 words
The method of claim 1 , wherein the global priority list maps data of a storage device to data buffers of a virtual memory, wherein the data buffers of the virtual memory are paged-in to physical memory as they are requested by the plurality of applications.
Claim 4
Dependent Claim
64 words
The method of claim 1 , further comprising: specifying a low physical memory limit; and monitoring an amount of usable physical memory, and upon determining that the usable physical memory falls below the low physical memory limit, paging-out least-recently used memory buffers from the physical memory, through the memory management interface, increasing the usable physical memory to about a specified high physical memory limit.
Claim 5
Dependent Claim
66 words
The method of claim 1 , further comprising: determining an unused data buffer in a virtual address space of the memory system coupled to the physical memory; marking the unused data buffer; and recovering a virtual address space by unmapping the unused data buffer from the virtual address space upon detecting that the programmed computer is allocating more virtual memory than a computer processor can address.
Claim 6
Dependent Claim
58 words
The method of claim 1 , further comprising: sharing data buffers stored in the physical memory, through the memory management interface, among the plurality of applications, wherein the data buffers contain shared data; and determining a priority list of buffers accessed by the plurality of applications, wherein the priority list maps the data buffers to a storage device.
Claim 7
Dependent Claim
69 words
The method of claim 1 , further comprising: identifying, uniquely, a given data buffer according to contained shared data therein, wherein a creating application that creates the given data buffer assigns an identifier; and determining whether the identifier has been previously assigned to a shared data buffer, and upon determining that the identifier already exists in the physical memory, giving the creating application access to the shared data buffer.
Claim 8
Dependent Claim
64 words
The method of claim 1 , further comprising: addressing an object pointing to a data buffer in the central memory management system directly with a memory address from within an application using the central memory management system; and validating the memory address using a key, wherein the key comprises unique information and is known to both a sender and a receiver of the object.
Claim 9
Dependent Claim
48 words
The method of claim 7 , further comprising: providing a unique handle; combining the memory address and the handle in a fast-retrieval handle; sharing the fast-retrieval handle among two or more applications; and determining whether an object identified by the fast-retrieval handle is valid upon accessing the object.
Claim 10
Dependent Claim
121 words
The method of claim 1 , wherein maintaining the global priority list further comprises: adding an object to the global priority list corresponding to a data buffer upon creation of the data buffer; removing the object from the global priority list upon determining the data buffer pointer corresponding to the object has been deleted, wherein the object's parent object and child object in the global priority list are linked prior to removing the object; and moving the object to an end of the list upon determining that the object is to be used, wherein the object at the end of the global priority list is less likely to be flushed than an object at a beginning of the global priority list.
Claim 11
Dependent Claim
25 words
The method of claim 4 , further comprising notifying the plurality of applications of a buffer address change due to memory unmapping or mapping operations.
Claim 12
Dependent Claim
92 words
A memory management system comprising: a storage device for storing paging files; a priority linked-list coupled to the storage device, wherein nodes of the priority linked-list are associated with the paging files of the storage devices; a virtual memory space comprising a plurality of data buffers, each data buffer coupled to a unique node of the priority linked-list; and maintaining a priority linked-list of data buffers allocated by a plurality of applications, wherein the linked-list is sorted according to an order in which data buffers are accessed by the plurality of applications.
Claim 13
Dependent Claim
92 words
A memory management system comprising: a storage device for storing paging files; a priority linked-list coupled to the storage device, wherein nodes of the priority linked-list are associated with the paging files of the storage devices; a virtual memory space comprising a plurality of data buffers, each data buffer coupled to a unique node of the priority linked-list; and maintaining a priority linked-list of data buffers allocated by a plurality of applications, wherein the linked-list is sorted according to an order in which data buffers are accessed by the plurality of applications.
Claim 14
Dependent Claim
12 words
The system of claim 11 , comprising two or more storage devices.
Claim 15
Dependent Claim
32 words
The system of claim 11 , wherein a memory management system is coupled to a central image processing server providing an interface between at least one application and the memory management system.
Claim 16
Dependent Claim
96 words
A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing a memory system for large data volumes, the method steps comprising: providing a central memory management system comprising a memory management interface between a plurality of applications and a physical memory of a programmed computer; and maintaining a global priority list of data buffers allocated by the plurality of applications as a linked-list, wherein the list is sorted according to an order in which data buffers are accessed by the plurality of applications.
Claim 17
Dependent Claim
96 words
A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing a memory system for large data volumes, the method steps comprising: providing a central memory management system comprising a memory management interface between a plurality of applications and a physical memory of a programmed computer; and maintaining a global priority list of data buffers allocated by the plurality of applications as a linked-list, wherein the list is sorted according to an order in which data buffers are accessed by the plurality of applications.
Claim 18
Dependent Claim
46 words
The method of claim 14 , wherein the global priority list maps data of a storage device to data buffers of a virtual memory, wherein the data buffers of the virtual memory are paged-in to physical memory as they are requested by the plurality of applications.
Claim 19
Dependent Claim
64 words
The method of claim 14 , further comprising: specifying a low physical memory limit; and monitoring an amount of usable physical memory, and upon determining that the usable physical memory falls below the low physical memory limit, paging-out least-recently used memory buffers from the physical memory, through the memory management interface, increasing the usable physical memory to about a specified high physical memory limit.
Claim 20
Dependent Claim
66 words
The method of claim 14 , further comprising: determining an unused data buffer in a virtual address space of the memory system coupled to the physical memory; marking the unused data buffer; and recovering a virtual address space by unmapping the unused data buffer from the virtual address space upon detecting that the programmed computer is allocating more virtual memory than a computer processor can address.
Claim 21
Dependent Claim
58 words
The method of claim 14 , further comprising: sharing data buffers stored in the physical memory, through the memory management interface, among the plurality of applications, wherein the data buffers contain shared data; and determining a priority list of buffers accessed by the plurality of applications, wherein the priority list maps the data buffers to a storage device.
Claim 22
Dependent Claim
69 words
The method of claim 14 , further comprising: identifying, uniquely, a given data buffer according to contained shared data therein, wherein a creating application that creates the given data buffer assigns an identifier; and determining whether the identifier has been previously assigned to a shared data buffer, and upon determining that the identifier already exists in the physical memory, giving the creating application access to the shared data buffer.
Claim 23
Dependent Claim
64 words
The method of claim 14 , further comprising: addressing an object pointing to a data buffer in the central memory management system directly with a memory address from within an application using the central memory management system; and validating the memory address using a key, wherein the key comprises unique information and is known to both a sender and a receiver of the object.
Claim 24
Dependent Claim
121 words
The method of claim 14 , wherein maintaining the global priority list further comprises: adding an object to the global priority list corresponding to a data buffer upon creation of the data buffer; removing the object from the global priority list upon determining the data buffer pointer corresponding to the object has been deleted, wherein the object's parent object and child object in the global priority list are linked prior to removing the object; and moving the object to an end of the list upon determining that the object is to be used, wherein the object at the end of the global priority list is less likely to be flushed than an object at a beginning of the global priority list.
Claim 25
Dependent Claim
25 words
The method of claim 17 , further comprising notifying the plurality of applications of a buffer address change due to memory unmapping or mapping operations.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2009-04-17 | 2009-10-17 | 2010-04-18 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2013-04-17 | 2013-10-17 | 2014-04-18 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2017-04-17 | 2017-10-17 | 2018-04-18 | $7700.00 | Window Closed / Lapsed |