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

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag