← Back to Patent Explorer
EP0175458A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Method for managing virtual memory to separate active and stable memory blocks

Assignee: Texas Instruments Inc
•
Filing: 1985-07-24
•
Granted: —
•
Expires: 2005-07-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for compacting blocks of memory in a demand paged virtual address space which includes a plurality of virtual address pages includes identifying active and stable blocks to be compacted by defining a pointer to indicate a page of the virtual memory space, and advancing the pointer to continually indicate the page of the beginning of available virtual memory space. As new blocks are allocated, they are located in the virtual address space beginning at the next available location of the advancing pointer. As blocks are referenced by the user, they are moved to the current location of the advancing pointer, so that, stable blocks may be collected together on stable pages and active blocks are collected together on active pages. A disk memory is provided, and periodically the pages containing collected stable blocks are «paged-out» to it. The method improves the overall throughput of data in the memory by reducing the time waiting for disk, the time in which the CPU is delayed during frequent garbage collections, and the allocation response time. Also, the method insures efficient use of the backing store by insuring that sparsely allocated pages are not written out to disk.

Inventors

  • 👤 David H. Bartley
  • 👤 Timothy J. Mcentee
  • 👤 Donald W. Oxley
  • 👤 Satish M. Thatte

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-10-24 10:27
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/12; G06F12/121; G06F12/122; G06F12/0223; G06F12/023; G06F12/0253

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 123 words
The method for compacting blocks of memory in a demand paged virtual address space including a plurality of virtual address pages, the method comprising: identifying active and stable blocks to be compacted by the steps of: defining at least one pointer to indicate a page of said virtual memory space; advancing said pointer to continually indicate the page at the beginning of available virtual memory space; locating newly allocated blocks in the virtual address space beginning at a next available location on the page pointed to by said advancing pointer; moving blocks to which reference is made by the user to the next available location, whereby stable blocks are collected together on stable pages and active blocks are collected together on active pages.
Claim 2
Independent Claim 123 words
The method for compacting blocks of memory in a demand paged virtual address space including a plurality of virtual address pages, the method comprising: identifying active and stable blocks to be compacted by the steps of: defining at least one pointer to indicate a page of said virtual memory space; advancing said pointer to continually indicate the page at the beginning of available virtual memory space; locating newly allocated blocks in the virtual address space beginning at a next available location on the page pointed to by said advancing pointer; moving blocks to which reference is made by the user to the next available location, whereby stable blocks are collected together on stable pages and active blocks are collected together on active pages.
Claim 3
Dependent Claim 50 words
The method of claim 1 further comprising keeping track of the extent of utilization of each page, and executing said step of moving blocks to which reference is made only if the extent of utilization of the page on which the referenced blocks are located falls below a predetermined level.
Claim 4
Dependent Claim 24 words
The method of claim 1 further comprising providing a disk memory, and paging out to said disk memory said pages containing collected stable blocks.
Claim 5
Dependent Claim 33 words
The method of claim 2 further comprising providing means for returning pages from which all blocks have been moved and the extent of utilization is zero to be available for again receiving blocks.
Claim 6
Dependent Claim 27 words
The method of claim 1 further comprising writing a forward pointer into the location from which the block is moved referencing the new location of the block.
Claim 7
Dependent Claim 36 words
The method of claim 2 further comprising providing a page for receiving blocks from sparsely utilized pages, moving blocks from the sparsely utilized pages onto said provided page, and moving said provided page into disk memory.
Claim 8
Dependent Claim 27 words
The method of claim 1 further comprising providing an associative look-up table, and writing into said table the identification and location of the blocks which are moved.
Claim 9
Dependent Claim 23 words
The method of claim 7 further providing means in said associative look-up table for maintaining a reference count of each blocks identified therein.
Claim 10
Dependent Claim 21 words
The method of claim 8 further comprising periodically sweeping the associative look-up table to update references to the blocks identified therein.
Claim 11
Dependent Claim 22 words
The method of claim 1 further comprising determining blocks with cyclic reference structures contained within a virtual address page and deallocating them.
Claim 12
Independent Claim 74 words
The method for managing blocks of memory in a demand paged virtual address space including a plurality of virtual address pages, comprising: creating at least one pointer to advancingly indicate a next available virtual address page; and moving blocks of memory to which reference is made by the user to a current location of the pointer, whereby stable blocks are collected together on stable pages and active blocks are collected together on active pages.
Claim 13
Independent Claim 74 words
The method for managing blocks of memory in a demand paged virtual address space including a plurality of virtual address pages, comprising: creating at least one pointer to advancingly indicate a next available virtual address page; and moving blocks of memory to which reference is made by the user to a current location of the pointer, whereby stable blocks are collected together on stable pages and active blocks are collected together on active pages.
Claim 14
Dependent Claim 24 words
The method for managing blocks of memory in accordance with claim 11 further comprising locating newly allocated blocks at the location of said pointer.
Claim 15
Dependent Claim 31 words
The method for managing blocks of memory in accordance with claim 12 further comprising providing a disk memory, and paging out to said disk memory said pages containing collected stable blocks.
Claim 16
Dependent Claim 36 words
The method of claim 13 further comprising providing a page for receiving blocks from sparsely utilized pages, moving blocks from the sparsely utilized pages onto said provided page, and moving said provided page into disk memory.
Claim 17
Dependent Claim 31 words
The method of claim 11 further comprising providing an associative look-up table, and writing into said table the identification and location of the blocks which are moved into said provided page.
Claim 18
Dependent Claim 23 words
The method of claim 15 further providing means in said associative look-up table for maintaining a reference count of each block identified therein.
Claim 19
Dependent Claim 21 words
The method of claim 16 further comprising periodically sweeping the associative look-up table to update references to the blocks identified therein.
Claim 20
Dependent Claim 22 words
The method of claim 11 further comprising determining blocks with cyclic reference structures contained within a virtual address page and deallocating them.
Claim 21
Independent Claim 171 words
The method for compacting blocks of memory in a demand paged virtual address space including a plurality of virtual address pages, the method comprising : identifying active and stable blocks to be compacted by the steps of: defining at least one pointer to indicate a page of said virtual memory space advancing said pointer to continually indicate the page of the beginning of available virtual memory spacer locating newly allocated blocks in the virtual address space beginning at a next available location on the page pointed to by said advancing pointer; moving blocks to which reference is made by the user to the next available location, whereby stable blocks are collected together on stable pages and active blocks are collected together on active pages; providing a disk memory, and paging out to said disk memory said pages containing collected stable blocks; and providing a page for receiving blocks from sparsely utilized pages, moving blocks from the sparsely utilized pages onto said provided page, and moving said provided page into disk memory.
Claim 22
Independent Claim 171 words
The method for compacting blocks of memory in a demand paged virtual address space including a plurality of virtual address pages, the method comprising : identifying active and stable blocks to be compacted by the steps of: defining at least one pointer to indicate a page of said virtual memory space advancing said pointer to continually indicate the page of the beginning of available virtual memory spacer locating newly allocated blocks in the virtual address space beginning at a next available location on the page pointed to by said advancing pointer; moving blocks to which reference is made by the user to the next available location, whereby stable blocks are collected together on stable pages and active blocks are collected together on active pages; providing a disk memory, and paging out to said disk memory said pages containing collected stable blocks; and providing a page for receiving blocks from sparsely utilized pages, moving blocks from the sparsely utilized pages onto said provided page, and moving said provided page into disk memory.
Claim 23
Dependent Claim 31 words
The method of claim 19 further comprising providing an associative look-up tableµ and writing into said table the identification and location of the blocks which are moved into said provided page.
Claim 24
Dependent Claim 23 words
The method of claim 20 further providing means in said associative look-up table for maintaining a reference count of each block identified therein.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag