US5414826A
Expired / Lapsed
US
⏱️ 0.0 years remaining
System and method for memory management in microcomputer
Assignee: HP Inc
•
Filing: 1990-01-31
•
Granted: 1995-05-09
•
Expires: 2010-01-31
Abstract
Abstract A system and method for managing memory in a microcomputer dynamically allocates a pointer table of varying length at one end of a data memory area, and similarly allocates a data field, which includes data blocks, at the other end of the data memory area. Data pointers within the pointer table point to the memory locations of the data blocks. As data blocks are added, the data field and the pointer table grow towards each other.
Inventors
- 👤 Philip Garcia
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-03 12:40
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223; G06F2212/00; G06F2212/20; G06F2212/202; G06F2212/2022; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99956
Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
230 words
A computing system comprising: a data memory area, having a first end and a second end, the data memory area containing a pointer table, the pointer table containing at least one data pointer and the pointer table being at the first end of said data memory area; first means for obtaining from said pointer table a next available data memory location for placement of a data block within a data field, where said data field begins from said second end of said data memory area; second means for, upon placement of the data block within the data field, placing in the pointer table a new data pointer which indicates a new next available data memory location for placement of a next data block within the data field; and an overlap means responsive to said first means and said second means for determining whether a placing of said data block in said data field and a placing of the new data pointer in said pointer table would cause said data field and said pointer table to overlap and not placing said data pointer and said data block within said data memory if by doing so they were to overlap as determined by said overlap means; where said pointer table and said data field grow towards each other from said first end and said second end, respectively, of said data memory area.
Claim 2
Dependent Claim
230 words
A computing system comprising: a data memory area, having a first end and a second end, the data memory area containing a pointer table, the pointer table containing at least one data pointer and the pointer table being at the first end of said data memory area; first means for obtaining from said pointer table a next available data memory location for placement of a data block within a data field, where said data field begins from said second end of said data memory area; second means for, upon placement of the data block within the data field, placing in the pointer table a new data pointer which indicates a new next available data memory location for placement of a next data block within the data field; and an overlap means responsive to said first means and said second means for determining whether a placing of said data block in said data field and a placing of the new data pointer in said pointer table would cause said data field and said pointer table to overlap and not placing said data pointer and said data block within said data memory if by doing so they were to overlap as determined by said overlap means; where said pointer table and said data field grow towards each other from said first end and said second end, respectively, of said data memory area.
Claim 3
Dependent Claim
14 words
The computing system of claim 1, wherein said data memory area comprises CMOS memory.
Claim 4
Dependent Claim
33 words
The computing system of claim 1, wherein the first means comprises a free pointer index containing an address of a data pointer in said pointer table having said next available data memory location.
Claim 5
Dependent Claim
45 words
The computing system of claim 1, wherein said data block of said second means can vary in length from a minimum length equal to zero bytes to a maximum length equal to said data memory area length less a memory length required by two pointers.
Claim 6
Independent Claim
196 words
A method for placing data blocks within a data memory area of a computing system, the method comprising the steps of: (a) placing within the data memory area an expandable pointer table containing data pointers, beginning from a first end of a data memory area; (b) performing the following substeps to add a new data block to the data memory area: (1) obtaining from said pointer table an address of an available data memory location which is closest to a second end of said data memory area; (2) determining whether said new data block and said pointer table will overlap if said new data block and a new data pointer are written to the data memory area and performing steps (3) and (4) only if no overlap will occur; (3) writing said new data block at the available data memory location; and (4) writing said new data pointer in said pointer table containing an address of a new available data memory location which is closest to the second end of the data memory area wherein the new available data memory location is contiguous with the location of the new data block within the data memory area.
Claim 7
Independent Claim
196 words
A method for placing data blocks within a data memory area of a computing system, the method comprising the steps of: (a) placing within the data memory area an expandable pointer table containing data pointers, beginning from a first end of a data memory area; (b) performing the following substeps to add a new data block to the data memory area: (1) obtaining from said pointer table an address of an available data memory location which is closest to a second end of said data memory area; (2) determining whether said new data block and said pointer table will overlap if said new data block and a new data pointer are written to the data memory area and performing steps (3) and (4) only if no overlap will occur; (3) writing said new data block at the available data memory location; and (4) writing said new data pointer in said pointer table containing an address of a new available data memory location which is closest to the second end of the data memory area wherein the new available data memory location is contiguous with the location of the new data block within the data memory area.
Claim 8
Dependent Claim
19 words
The method of claim 5, wherein substep (3) includes writing the new data block to a non-volatile CMOS memory.
Claim 9
Dependent Claim
31 words
The method of claim 5, wherein substep (1) includes accessing a free pointer index containing an address of a data pointer in said pointer table having the available data memory location.
Claim 10
Dependent Claim
23 words
The method of claim 5, wherein substep (3) includes writing the new data block such that the new data block has zero length.
References Cited (Backward Citations)
US3924245A
Cited
US4511964A
Cited
US4757438A
Cited
US4989137A
Cited
US4914577A
Cited
FR2635886A1
Cited
US5226155A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1998-05-08 | 1998-11-07 | 1999-05-09 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2002-05-08 | 2002-11-07 | 2003-05-09 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2006-05-08 | 2006-11-07 | 2007-05-09 | $7700.00 | Window Closed / Lapsed |