Patent US6023281A successfully refreshed from Google Patents.
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
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)
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 |