Patent US5577243A successfully refreshed from Google Patents.
US5577243A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Reallocation of returned memory blocks sorted in predetermined sizes and addressed by pointer addresses in a free memory list
Assignee: Lexmark International Inc
•
Filing: 1994-03-31
•
Granted: 1996-11-19
•
Expires: 2014-03-31
Abstract
Abstract In an electronic data processing apparatus blocks of returned memory 3 are linked by address pointers starting with a pointer in a table 1. Each pointer in the table 1 points to memory of within a predetermined size range varying by integral powers of 2. The memory blocks pointed to by each table pointer are sorted in order of size (alternately by frequency of use). Searching for memory of size needed is very efficient as it is limited to memory blocks within a size range. Additionally, returned memory blocks (7) of the same size as a block 3 are not in the sort list, but are pointed to by the block 3 of the same size and are used when that size block is selected.
Inventors
- 👤 Gregory J. Sherwood
- 👤 David W. Murphy
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 04:04
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/06; G06F12/0223; G06F12/023; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99937
Claims Analysis
Total Claims: 27
Claim 1
Independent Claim
264 words
Apparatus comprising electronic data processing apparatus having reusable electronic memory blocks addressable by address codes, said data processing apparatus comprising: a list of different pointer addresses, a routine to determine the size of returned memory blocks as within predetermined size ranges, said memory blocks having sizes varying within the size of said predetermined size ranges, a routine to change the pointer address of or reached from said list, to reach each said returned memory block from an address in said list which reaches memory blocks within said predetermined size range determined for each said returned memory block, said predetermined size ranges reached from each pointer address of said list being a substantial continuum of sizes from small to large, a routine to address free memory by addressing one of said pointer addresses of said list which reaches memory of the size required and less than the size reached by other pointer addresses in said list, and a routine to compare the size of each said returned memory block to previous returned memory blocks and to eliminate more than one returned memory block of a predetermined close similarity of size from being reached by said pointer addresses when each said returned memory block is a predetermined close similarity of size to the size of an existing returned memory block and to apply a pointer address to said existing memory block reaching said returned memory block of said predetermined close similarity of size or to apply a pointer address to said returned memory block of said predetermined close similarity of size reaching said existing memory block.
Claim 2
Dependent Claim
264 words
Apparatus comprising electronic data processing apparatus having reusable electronic memory blocks addressable by address codes, said data processing apparatus comprising: a list of different pointer addresses, a routine to determine the size of returned memory blocks as within predetermined size ranges, said memory blocks having sizes varying within the size of said predetermined size ranges, a routine to change the pointer address of or reached from said list, to reach each said returned memory block from an address in said list which reaches memory blocks within said predetermined size range determined for each said returned memory block, said predetermined size ranges reached from each pointer address of said list being a substantial continuum of sizes from small to large, a routine to address free memory by addressing one of said pointer addresses of said list which reaches memory of the size required and less than the size reached by other pointer addresses in said list, and a routine to compare the size of each said returned memory block to previous returned memory blocks and to eliminate more than one returned memory block of a predetermined close similarity of size from being reached by said pointer addresses when each said returned memory block is a predetermined close similarity of size to the size of an existing returned memory block and to apply a pointer address to said existing memory block reaching said returned memory block of said predetermined close similarity of size or to apply a pointer address to said returned memory block of said predetermined close similarity of size reaching said existing memory block.
Claim 3
Dependent Claim
19 words
The apparatus as in claim 1 in which said predetermined size ranges vary by single, integral powers of 2.
Claim 4
Dependent Claim
56 words
The apparatus as in claim 1 in which said data processing apparatus also comprises a routine to sort said returned memory block after said routine determines the size of one said returned memory block, said sort being with respect to other returned memory blocks reached by the pointer address which reaches said one returned memory block.
Claim 5
Dependent Claim
22 words
The apparatus as in claim 3 in which said routine to sort sorts and distributes said returned memory blocks by recent use.
Claim 6
Dependent Claim
23 words
The apparatus as in claim 3 in which said routine to sort sorts and distributes said returned memory blocks in order of size.
Claim 7
Dependent Claim
20 words
The apparatus as in claim 4 in which said apparatus comprises an imaging device controlled by said data processing apparatus.
Claim 8
Dependent Claim
20 words
The apparatus as in claim 5 in which said apparatus comprises an imaging device controlled by said data processing apparatus.
Claim 9
Dependent Claim
20 words
The apparatus as in claim 1 in which said apparatus comprises an imaging device controlled by said data processing apparatus.
Claim 10
Dependent Claim
20 words
The apparatus as in claim 2 in which said apparatus comprises an imaging device controlled by said data processing apparatus.
Claim 11
Dependent Claim
20 words
The apparatus as in claim 3 in which said apparatus comprises an imaging device controlled by said data processing apparatus.
Claim 12
Dependent Claim
267 words
Apparatus comprising electronic data processing apparatus having reusable electronic memory addressable by address codes, said data processing apparatus comprising a routine to compare the size of returned memory blocks to previously returned memory blocks to determine difference in size of said returned and said previously returned memory blocks within a predetermined close similarity of size, a routine to apply first address pointers to said returned memory blocks of size within said predetermined close similarity of size to reach each said returned memory blocks within said predetermined close similarity of size from said first address pointers, a routine to apply second address pointers to selected ones of said returned memory blocks to reach returned memory blocks of size differing from said predetermined close similarity of size, a routine to find returned memory blocks to be reused by addressing said second pointers, and a routine to reach a returned memory block within said predetermined close similarity of size by addressing a said first address pointer applied to said memory block reached by said routine addressing said second address printers, and a routine to apply a said second address pointer to selected ones of returned memory blocks within said predetermined close similarity of size to the size of the memory block found for reuse when said memory block found for reuse has a second address pointer or to apply a said first address pointer to selected ones of returned memory blocks within said predetermined close similarity of size to the size of the memory block found for reuse when said memory block found for reuse has a first address pointer.
Claim 13
Dependent Claim
267 words
Apparatus comprising electronic data processing apparatus having reusable electronic memory addressable by address codes, said data processing apparatus comprising a routine to compare the size of returned memory blocks to previously returned memory blocks to determine difference in size of said returned and said previously returned memory blocks within a predetermined close similarity of size, a routine to apply first address pointers to said returned memory blocks of size within said predetermined close similarity of size to reach each said returned memory blocks within said predetermined close similarity of size from said first address pointers, a routine to apply second address pointers to selected ones of said returned memory blocks to reach returned memory blocks of size differing from said predetermined close similarity of size, a routine to find returned memory blocks to be reused by addressing said second pointers, and a routine to reach a returned memory block within said predetermined close similarity of size by addressing a said first address pointer applied to said memory block reached by said routine addressing said second address printers, and a routine to apply a said second address pointer to selected ones of returned memory blocks within said predetermined close similarity of size to the size of the memory block found for reuse when said memory block found for reuse has a second address pointer or to apply a said first address pointer to selected ones of returned memory blocks within said predetermined close similarity of size to the size of the memory block found for reuse when said memory block found for reuse has a first address pointer.
Claim 14
Dependent Claim
23 words
The apparatus as in claim 11 in which said first pointers are applied to reach returned memory blocks which are a single size.
Claim 15
Dependent Claim
160 words
Apparatus comprising electronic data processing apparatus having reusable electronic memory blocks addressable by address codes, said data processing apparatus comprising: a list of different pointer addresses, a routine to determine the size of returned memory blocks as within predetermined size ranges, said memory blocks having sizes varying within the size of said predetermined size ranges, a routine to change the pointer address of or reached from said list, to reach each said returned memory block from an address in said list which reaches memory blocks within said predetermined size range determined for each said returned memory block, said predetermined size ranges reached from each pointer of said list varying in size by single, integral powers of 2 from 2 4 to 2 14 , and a routine to address free memory by addressing one of said pointer addresses of said list which reaches memory of size required and less than the size reached by other pointer addresses in said list.
Claim 16
Dependent Claim
160 words
Apparatus comprising electronic data processing apparatus having reusable electronic memory blocks addressable by address codes, said data processing apparatus comprising: a list of different pointer addresses, a routine to determine the size of returned memory blocks as within predetermined size ranges, said memory blocks having sizes varying within the size of said predetermined size ranges, a routine to change the pointer address of or reached from said list, to reach each said returned memory block from an address in said list which reaches memory blocks within said predetermined size range determined for each said returned memory block, said predetermined size ranges reached from each pointer of said list varying in size by single, integral powers of 2 from 2 4 to 2 14 , and a routine to address free memory by addressing one of said pointer addresses of said list which reaches memory of size required and less than the size reached by other pointer addresses in said list.
Claim 17
Dependent Claim
56 words
The apparatus as in claim 13 in which said data processing apparatus also comprises a routine to sort said returned memory block after said routine determines the size of one said returned memory block, said sort being with respect to other returned memory blocks reached by the pointer address which reaches said one returned memory block.
Claim 18
Dependent Claim
21 words
The apparatus as in claim 14 in which said routine to sort sorts and distributes said returned memory by recent use.
Claim 19
Dependent Claim
22 words
The apparatus as in claim 14 in which said routine to sort sorts and distributes said returned memory in order of size.
Claim 20
Dependent Claim
119 words
The apparatus as in claim 13 in which said data processing apparatus also comprises a routine to compare the size of each said returned memory block to previous returned memory blocks and to eliminate each said returned memory block from being sorted and distributed by said routine to sort when each said returned memory block is a predetermined close similarity of size to the size of an existing returned memory block and to apply a pointer address to said existing memory block to reach said returned memory block of said predetermined close similarity in size or to apply a pointer address to said returned memory block of said predetermined close similarity in size to reach said existing memory block.
Claim 21
Dependent Claim
19 words
The apparatus as in claim 7 which said apparatus comprises an imaging device controlled by said data processing apparatus.
Claim 22
Dependent Claim
20 words
The apparatus as in claim 13 in which said apparatus comprises an imaging device controlled by said data processing apparatus.
Claim 23
Dependent Claim
20 words
The apparatus as in claim 14 in which said apparatus comprises an imaging device controlled by said data processing apparatus.
Claim 24
Dependent Claim
20 words
The apparatus as in claim 15 in which said apparatus comprises an imaging device controlled by said data processing apparatus.
Claim 25
Dependent Claim
225 words
Apparatus comprising electronic data processing apparatus having reusable electronic memory blocks addressable by address codes, said data processing apparatus comprising: a list of different pointer addresses, a routine to determine the size of returned memory blocks as within predetermined size ranges, said memory blocks having sizes varying within the size of said predetermined size ranges, a routine to change the pointer address of or reached from said list, to reach each said returned memory block from an address in said list which reaches memory blocks within said predetermined size range determined for each said returned memory block, said predetermined size ranges reached from each pointer address of said list being a substantial continuum of sizes from small to large, and a routine to sort and distribute said memory blocks in order of size of said returned memory blocks, said sort and distribution being with respect to other returned memory blocks reached by the pointer address which reaches said returned memory block being sorted and distributed, and a routine to address free memory by addressing one of said pointer addresses of said list which reaches memory of the size required and less than the size reached by other pointer addresses in said list, said pointer addresses of said list first reaching memory blocks reached by each address in said list in order of largest to smallest.
Claim 26
Dependent Claim
225 words
Apparatus comprising electronic data processing apparatus having reusable electronic memory blocks addressable by address codes, said data processing apparatus comprising: a list of different pointer addresses, a routine to determine the size of returned memory blocks as within predetermined size ranges, said memory blocks having sizes varying within the size of said predetermined size ranges, a routine to change the pointer address of or reached from said list, to reach each said returned memory block from an address in said list which reaches memory blocks within said predetermined size range determined for each said returned memory block, said predetermined size ranges reached from each pointer address of said list being a substantial continuum of sizes from small to large, and a routine to sort and distribute said memory blocks in order of size of said returned memory blocks, said sort and distribution being with respect to other returned memory blocks reached by the pointer address which reaches said returned memory block being sorted and distributed, and a routine to address free memory by addressing one of said pointer addresses of said list which reaches memory of the size required and less than the size reached by other pointer addresses in said list, said pointer addresses of said list first reaching memory blocks reached by each address in said list in order of largest to smallest.
Claim 27
Dependent Claim
19 words
The apparatus as in claim 22 in which said predetermined size ranges vary by single integral powers of 2.
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) | 1999-11-19 | 2000-05-20 | 2000-11-19 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-11-19 | 2004-05-20 | 2004-11-19 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-11-19 | 2008-05-20 | 2008-11-19 | $7700.00 | Window Closed / Lapsed |