Patent US7032088B2 successfully refreshed from Google Patents.
← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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 19:02
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)

US3569938A Cited
US6247042B1 Cited
US6552723B1 Cited
US20030097493A1 Cited

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag