← Back to Patent Explorer
US6587112B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Window copy-swap using multi-buffer hardware support

Assignee: Hewlett Packard Development Co LP
•
Filing: 2000-07-10
•
Granted: 2003-07-01
•
Expires: 2020-07-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A 3D graphics controller configurable to simultaneously copy portions of a pixel region between a back buffer and a front buffer. The 3D graphics controller includes four memory controllers, each controlling a bank of frame buffer memory. A sequence of addresses defining a pixel region is generated. The addresses are distributed to the four memory controllers according to the memory banks (addresses) coupled thereto. Each memory controller is configured to read pixels according to the addresses and a first offset; and write the pixels according to the addresses and a second offset. The offsets are chosen so as not to shift pixels within the banks. Therefore, each memory controller simultaneously and independently copies a portion of the pixel region without accessing any other memory banks resulting in a copy of the entire pixel region.

Inventors

  • 👤 Courtney Goeltzenleuchter
  • 👤 Darel N Emmot
  • 👤 Jon L Ashburn

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 21:22
CPC Classifications
G; G06; G06T; G06T1/00; G06T1/60; G09; G09G; G09G5/00; G09G5/36; G09G5/39; G09G5/399; G09G2360/00; G09G2360/12; G09G2360/123; G09G2360/127

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 166 words
A display controller for copying a pixel region, comprising: a frame buffer configured into n interleaved banks where n is greater than one, each bank having a width of m contiguous memory locations where m is greater than zero; n memory controllers, each memory controller coupled to a bank for reading and writing pixels, each memory controller having a pair of buffer pointers for holding first and second address offsets; and a pixel addressing means coupled to the n memory controllers for generating pixel addresses defining the pixel region with respect to a first address offset, the pixel region contained within the frame buffer, and for distributing the addresses to memory controllers according to the pixel locations each memory controller is coupled thereto, wherein the addresses distributed to the memory controllers cause each memory controller to read pixels within its bank according to the addresses and the first address offset, and write the pixels within its bank according to the addresses and the second address offset.
Claim 2
Dependent Claim 166 words
A display controller for copying a pixel region, comprising: a frame buffer configured into n interleaved banks where n is greater than one, each bank having a width of m contiguous memory locations where m is greater than zero; n memory controllers, each memory controller coupled to a bank for reading and writing pixels, each memory controller having a pair of buffer pointers for holding first and second address offsets; and a pixel addressing means coupled to the n memory controllers for generating pixel addresses defining the pixel region with respect to a first address offset, the pixel region contained within the frame buffer, and for distributing the addresses to memory controllers according to the pixel locations each memory controller is coupled thereto, wherein the addresses distributed to the memory controllers cause each memory controller to read pixels within its bank according to the addresses and the first address offset, and write the pixels within its bank according to the addresses and the second address offset.
Claim 3
Dependent Claim 69 words
The display controller of claim 1 , wherein each memory controller includes an additional pair of buffer pointers for holding third and fourth address offsets, and wherein the addresses distributed to the memory controllers cause each memory controller to read pixels within its bank according to the addresses and a third address offset, and write the pixels within its bank according to the addresses and a fourth address offset.
Claim 4
Dependent Claim 36 words
The display controller of claim 1 , wherein each memory location has a position within the bank, and wherein the buffer pointers do not cause pixels to be shifted within the bank as they are written.
Claim 5
Dependent Claim 38 words
The display controller of claim 1 , wherein the frame buffer is further configured into a first buffer and a second buffer, and wherein the pixels are read from the first buffer and written to the second buffer.
Claim 6
Dependent Claim 13 words
The display controller of claim 1 , wherein m and n are four.
Claim 7
Dependent Claim 15 words
The display controller of claim 1 , wherein the buffer pointers are OpenGL multi-buffer pointers.
Claim 8
Dependent Claim 16 words
The display controller of claim 1 , wherein the pixel region is contained within multiple banks.
Claim 9
Dependent Claim 16 words
The display controller of claim 1 , wherein the pixel addresses result from a fill operation.
Claim 10
Independent Claim 143 words
A method of copying a pixel region, comprising: (a) providing a frame buffer configured into n interleaved banks where n is greater than one, each bank having a width of m contiguous memory locations where m is greater than zero; (b) providing n memory controllers, each memory controller coupled to a bank, and each memory controller having a pair of buffer pointers for holding address offsets; (c) generating pixel addresses defining a pixel region with respect to a first offset, the pixel region contained within the frame buffer; (d) distributing the pixel addresses to the memory controllers according to the memory locations each memory controller is coupled thereto; and (e) each memory controller, reading pixels within its bank according to the pixel addresses and a first offset and writing the pixels within its bank according to the pixel addresses and a second offset.
Claim 11
Independent Claim 143 words
A method of copying a pixel region, comprising: (a) providing a frame buffer configured into n interleaved banks where n is greater than one, each bank having a width of m contiguous memory locations where m is greater than zero; (b) providing n memory controllers, each memory controller coupled to a bank, and each memory controller having a pair of buffer pointers for holding address offsets; (c) generating pixel addresses defining a pixel region with respect to a first offset, the pixel region contained within the frame buffer; (d) distributing the pixel addresses to the memory controllers according to the memory locations each memory controller is coupled thereto; and (e) each memory controller, reading pixels within its bank according to the pixel addresses and a first offset and writing the pixels within its bank according to the pixel addresses and a second offset.
Claim 12
Dependent Claim 58 words
The method of claim 9 , wherein each memory controller includes two pair of buffer pointers for holding address offsets, the method further comprising: (f) each memory controller, reading pixels within its bank according to the pixel addresses and a third offset and writing the pixels within its bank according to the pixel addresses and a fourth offset.
Claim 13
Dependent Claim 38 words
The method of claim 9 , wherein the frame buffer provided is further configured into a first buffer and a second buffer, and wherein the pixels are read from the first buffer and written to the second buffer.
Claim 14
Dependent Claim 35 words
The method of claim 9 , wherein each memory location has a position within the bank, and wherein the buffer pointers do not cause pixels to be shifted within the bank as they are written.
Claim 15
Dependent Claim 12 words
The method of claim 9 , wherein m and n are four.
Claim 16
Dependent Claim 14 words
The method of claim 9 , wherein the buffer pointers are OpenGL multi-buffer pointers.
Claim 17
Dependent Claim 15 words
The method of claim 9 , wherein the pixel region is contained within multiple banks.
Claim 18
Dependent Claim 15 words
The method of claim 9 , wherein the pixel addresses result from a fill operation.
Claim 19
Independent Claim 148 words
A method of copying a pixel region in a frame buffer, the frame buffer configured into n interleaved banks where n is greater than one, each bank having a width of m contiguous memory locations where m is greater than zero, each memory location having a position within the bank, each bank exclusively coupled to one memory controller, the method comprising: (a) generating pixel addresses for the pixel region; (b) distributing a portion of the pixel addresses to each memory controller according to the memory locations each memory controller is coupled thereto; (c) each memory controller reading pixels within its bank according to the pixel addresses; and (d) each memory controller writing the pixels within its bank according to the pixel addresses and an address offset, whereby the address offset maintains the position of each pixel and each memory controller independently copies a portion of the pixel region.
Claim 20
Independent Claim 148 words
A method of copying a pixel region in a frame buffer, the frame buffer configured into n interleaved banks where n is greater than one, each bank having a width of m contiguous memory locations where m is greater than zero, each memory location having a position within the bank, each bank exclusively coupled to one memory controller, the method comprising: (a) generating pixel addresses for the pixel region; (b) distributing a portion of the pixel addresses to each memory controller according to the memory locations each memory controller is coupled thereto; (c) each memory controller reading pixels within its bank according to the pixel addresses; and (d) each memory controller writing the pixels within its bank according to the pixel addresses and an address offset, whereby the address offset maintains the position of each pixel and each memory controller independently copies a portion of the pixel region.
Claim 21
Dependent Claim 23 words
The method of claim 17 , wherein the address offset is the difference between a first address offset and a second address offset.
Claim 22
Dependent Claim 38 words
The method of claim 17 , wherein the frame buffer provided is further configured into a first buffer and a second buffer, and wherein the pixels are read from the first buffer and written to the second buffer.
Claim 23
Dependent Claim 12 words
The method of claim 17 , wherein m and n are four.
Claim 24
Dependent Claim 14 words
The method of claim 17 , wherein the buffer pointers are OpenGL multi-buffer pointers.

References Cited (Backward Citations)

US4967375A Cited
US5313567A Cited
US5959638A Cited
US5805868A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-06-30 2006-12-30 2007-07-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-06-30 2010-12-30 2011-07-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-06-30 2014-12-30 2015-07-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag