Patent US6023281A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6023281A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for memory allocation

Assignee: ATI Technologies ULC
•
Filing: 1998-03-02
•
Granted: 2000-02-08
•
Expires: 2018-03-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for memory allocation in a multi-processor system is accomplished by mapping portions of a shared memory to a first and second processor. The mapping is performed such that either of the processors' portions can be enlarged or reduced based on the memory that is located between the portions allocated to the processors. When a processor requests additional memory and there is sufficient free memory between the processors' respective portions, the appropriate amount of the free memory is allocated to the requesting processor.

Inventors

  • 👤 Gordon Fraser Grigor
  • 👤 Vladimir F. Giemborek
  • 👤 John E. Haberfellner

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 02:26
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/14; G06F3/1423; G06F3/1431; G06F12/00; G06F12/02; G06F12/0223; G06F12/0284

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 163 words
A method for allocating memory to more than one processing element, the method comprising: mapping a first address set of a plurality of addresses of the memory to a first processing element based on a mapping convention, wherein the plurality of addresses is bounded by a first addressing boundary and a second addressing boundary, wherein a first address of the first address set corresponds to the first addressing boundary; mapping a second address set of the plurality of addresses to a second processing element based on a complementary mapping convention, wherein a first address of the second plurality of addresses corresponds to the second addressing boundary; and when the first processing element requests additional memory and the plurality of addresses can accommodate the additional memory, mapping at least a portion of a third address set of the plurality of addresses to the first processing element based on the mapping convention, wherein the third address set lies between the first and second address sets.
Claim 2
Independent Claim 163 words
A method for allocating memory to more than one processing element, the method comprising: mapping a first address set of a plurality of addresses of the memory to a first processing element based on a mapping convention, wherein the plurality of addresses is bounded by a first addressing boundary and a second addressing boundary, wherein a first address of the first address set corresponds to the first addressing boundary; mapping a second address set of the plurality of addresses to a second processing element based on a complementary mapping convention, wherein a first address of the second plurality of addresses corresponds to the second addressing boundary; and when the first processing element requests additional memory and the plurality of addresses can accommodate the additional memory, mapping at least a portion of a third address set of the plurality of addresses to the first processing element based on the mapping convention, wherein the third address set lies between the first and second address sets.
Claim 3
Dependent Claim 28 words
The method of claim 1 further comprises allocating additional addresses of the memory to fixed memory allocations bordering at least one of the first and second addressing boundaries.
Claim 4
Dependent Claim 76 words
The method of claim 1, wherein the steps of mapping further comprise: mapping the first address set to the first processing element, wherein the first processing element is a first video controller; and mapping the second address set to the second processing element, wherein the second processing element is a second video controller, wherein memory requirements of the first and second video controllers are for display data, wherein display data is linearly mapped to the memory.
Claim 5
Dependent Claim 79 words
The method of claim 1, wherein the steps of mapping further comprise: mapping the first address set to the first processing element, wherein the first processing element is a first video controller; and mapping the second address set to the second processing element, wherein the second processing element is a second video controller, wherein memory requirements of the first and second video controllers are for display data, wherein display data is mapped to the memory based on tile mapping.
Claim 6
Dependent Claim 38 words
The method of claim 1, wherein the mapping convention maps incrementing physical locations to incrementing addresses within the first address set and the complementary mapping convention maps incrementing physical locations to decrementing addresses within the second address set.
Claim 7
Dependent Claim 37 words
The method of claim 1, wherein the mapping convention maps incrementing physical locations to decrementing addresses within the first address set and complementary mapping convention maps incrementing physical locations to incrementing addresses within the second address set.
Claim 8
Dependent Claim 52 words
The method of claim 1, wherein the steps of mapping further comprise: mapping the first address set to the first processing element, wherein the first processing element is a first computer processor; and mapping the second address set to the second processing element, wherein the second processing element is second computer processor.
Claim 9
Dependent Claim 211 words
A dynamically allocated memory system comprising: a first processing element; a second processing element; a memory operably coupled to the first and second processing elements, wherein the memory includes memory locations addressable by a plurality of addresses, wherein the plurality of addresses is bounded by a first addressing boundary and a second addressing boundary; and a memory controller operably coupled to the first processing element, the second processing element and the memory, wherein the memory controller maps a first address set of the plurality of addresses of the memory to the first processing element based on a mapping convention, wherein a first address of the first address set corresponds to the first addressing boundary, wherein the memory controller maps a second address set of the plurality of addresses to the second processing element based on a complementary mapping convention, wherein a first address of the second address set corresponds to the second addressing boundary, wherein when the first processing element requests additional memory and the plurality of addresses can accommodate the additional memory, mapping at least a portion of a third address set of the plurality of addresses to the first processing element based on the mapping convention, wherein the third address set lies between the first and second address sets.
Claim 10
Dependent Claim 211 words
A dynamically allocated memory system comprising: a first processing element; a second processing element; a memory operably coupled to the first and second processing elements, wherein the memory includes memory locations addressable by a plurality of addresses, wherein the plurality of addresses is bounded by a first addressing boundary and a second addressing boundary; and a memory controller operably coupled to the first processing element, the second processing element and the memory, wherein the memory controller maps a first address set of the plurality of addresses of the memory to the first processing element based on a mapping convention, wherein a first address of the first address set corresponds to the first addressing boundary, wherein the memory controller maps a second address set of the plurality of addresses to the second processing element based on a complementary mapping convention, wherein a first address of the second address set corresponds to the second addressing boundary, wherein when the first processing element requests additional memory and the plurality of addresses can accommodate the additional memory, mapping at least a portion of a third address set of the plurality of addresses to the first processing element based on the mapping convention, wherein the third address set lies between the first and second address sets.
Claim 11
Dependent Claim 32 words
The dynamically allocated memory system of claim 8, wherein the memory includes additional addresses that are allocated to fixed memory allocations bordering at least one of the first and second addressing boundaries.
Claim 12
Dependent Claim 29 words
The dynamically allocated memory system of claim 8, wherein the first and second processing elements are video controllers, wherein memory requirements of the video controllers are for display data.
Claim 13
Dependent Claim 17 words
The dynamically allocated memory system of claim 10, wherein display data is linearly mapped to the memory.
Claim 14
Dependent Claim 20 words
The dynamically allocated memory system of claim 10, wherein display data is mapped to the memory based on tile mapping.
Claim 15
Dependent Claim 41 words
The dynamically allocated memory system of claim 8, wherein the mapping convention maps incrementing physical locations to incrementing addresses within the first address set and the complementary mapping convention maps incrementing physical locations to decrementing addresses within the second address set.
Claim 16
Dependent Claim 41 words
The dynamically allocated memory system of claim 8, wherein the mapping convention maps incrementing physical locations to decrementing addresses within the first address set and the complementary mapping convention maps incrementing physical locations to incrementing addresses within the second address set.
Claim 17
Dependent Claim 18 words
The dynamically allocated memory system of claim 8, wherein the first and second processing elements are computer processors.
Claim 18
Dependent Claim 277 words
A video graphics circuit comprising: a first CRT controller; a second CRT controller; a memory, wherein the memory includes memory locations addressable by a plurality of addresses, wherein the plurality of addresses is bounded by a first addressing boundary and a second addressing boundary; a memory controller operably coupled to the first CRT controller, the second CRT controller and the memory, wherein the memory controller maps a first address set of the plurality of addresses of the memory to the first CRT controller based on a mapping convention, wherein a first address of the first address set corresponds to the first addressing boundary, wherein the memory controller maps a second address set of the plurality of addresses to the second CRT controller based on a complementary mapping convention, wherein a first address of the second address set corresponds to the second addressing boundary, wherein when the first CRT controller requests additional memory and the plurality of addresses can accommodate the additional memory, mapping at least a portion of a third address set of the plurality of addresses to the first CRT controller based on the mapping convention, wherein the third address set lies between the first and second address sets; a first display driver operably coupled to the first CRT controller, the memory controller, and the memory, wherein the first display driver writes first video graphics data to the memory based on at least the first address set; and a second display driver operably coupled to the second CRT controller, the memory controller, and the memory, wherein the second display driver writes second video graphics data to the memory based on at least the second address set.
Claim 19
Dependent Claim 277 words
A video graphics circuit comprising: a first CRT controller; a second CRT controller; a memory, wherein the memory includes memory locations addressable by a plurality of addresses, wherein the plurality of addresses is bounded by a first addressing boundary and a second addressing boundary; a memory controller operably coupled to the first CRT controller, the second CRT controller and the memory, wherein the memory controller maps a first address set of the plurality of addresses of the memory to the first CRT controller based on a mapping convention, wherein a first address of the first address set corresponds to the first addressing boundary, wherein the memory controller maps a second address set of the plurality of addresses to the second CRT controller based on a complementary mapping convention, wherein a first address of the second address set corresponds to the second addressing boundary, wherein when the first CRT controller requests additional memory and the plurality of addresses can accommodate the additional memory, mapping at least a portion of a third address set of the plurality of addresses to the first CRT controller based on the mapping convention, wherein the third address set lies between the first and second address sets; a first display driver operably coupled to the first CRT controller, the memory controller, and the memory, wherein the first display driver writes first video graphics data to the memory based on at least the first address set; and a second display driver operably coupled to the second CRT controller, the memory controller, and the memory, wherein the second display driver writes second video graphics data to the memory based on at least the second address set.
Claim 20
Dependent Claim 45 words
The video graphics circuit of claim 16 further comprising a graphics engine operably coupled to the first and second display drivers and the memory, wherein the graphics engine performs graphics processing to produce at least a portion of the first and second video graphics data.

References Cited (Backward Citations)

US5815168A Cited
US5574836A Cited
US5793385A Cited
US5930827A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-02-07 2003-08-09 2004-02-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-02-07 2007-08-09 2008-02-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-02-07 2011-08-09 2012-02-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag