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

Flexible dram access in a frame buffer memory and system

Assignee: Sun Microsystems Inc
•
Filing: 1994-05-03
•
Granted: 1996-08-06
•
Expires: 2014-05-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A frame buffer dynamic random access memory (FBRAM) is disclosed that enables accelerated rendering of Z-buffered graphics primitives. The FBRAM converts read-modify-write transactions such as Z-buffer compare and RBG alpha blending into a write only operation. The FBRAM also implements two levels of internal pixel caches, and a four-way interleaved frame buffer.

Inventors

  • 👤 Michael F. Deering
  • 👤 Stephen A. Schlapp
  • 👤 Michael G. Lavelle

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 10:57
CPC Classifications
G; G09; G09G; G09G5/00; G09G5/36; G09G5/39; G06; G06T; G06T15/00; G06T15/10; G06T15/40; G06T15/405; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0875; G09G2340/00; G09G2340/10; G09G2360/00; G09G2360/12; G09G2360/121; G09G2360/123; G09G2360/126

Claims Analysis

Total Claims: 66
Claim 1
Independent Claim 206 words
A frame buffer memory, comprising: memory array for buffering a set of pixel data that defines an image for display on a display device, the memory array arranged as a set of memory banks, each memory bank comprising a set of memory cells and a set of sense amplifiers coupled to access the memory cells; pixel cache coupled to access the sense amplifiers of each memory bank, the pixel cache comprising a plurality of pixel cache blocks and a set of dirty tag bits corresponding to each pixel cache block; pixel ALU coupled to the pixel cache and coupled to a rendering bus; memory access circuit coupled to the memory array and to the pixel cache, the memory access circuit coupled to receive a memory access request that specifies a memory access function and one of the memory banks, the memory access circuit having circuitry for initiating the memory access function according to the memory access request; pixel access circuit coupled to the pixel cache and coupled to receive a pixel access request that specifies one of the pixel cache blocks, the pixel access circuit having circuitry for initiating a pixel access over the rendering bus to the pixel cache according to the pixel access request.
Claim 2
Dependent Claim 206 words
A frame buffer memory, comprising: memory array for buffering a set of pixel data that defines an image for display on a display device, the memory array arranged as a set of memory banks, each memory bank comprising a set of memory cells and a set of sense amplifiers coupled to access the memory cells; pixel cache coupled to access the sense amplifiers of each memory bank, the pixel cache comprising a plurality of pixel cache blocks and a set of dirty tag bits corresponding to each pixel cache block; pixel ALU coupled to the pixel cache and coupled to a rendering bus; memory access circuit coupled to the memory array and to the pixel cache, the memory access circuit coupled to receive a memory access request that specifies a memory access function and one of the memory banks, the memory access circuit having circuitry for initiating the memory access function according to the memory access request; pixel access circuit coupled to the pixel cache and coupled to receive a pixel access request that specifies one of the pixel cache blocks, the pixel access circuit having circuitry for initiating a pixel access over the rendering bus to the pixel cache according to the pixel access request.
Claim 3
Dependent Claim 26 words
The frame buffer memory of claim 1, wherein the memory access circuit initiates the memory access function while the pixel access circuit initiates the pixel access.
Claim 4
Dependent Claim 32 words
The frame buffer memory of claim 2, wherein the memory access function is a precharge bank operation that precharges the sense amplifiers of the memory bank specified by the memory access request.
Claim 5
Dependent Claim 41 words
The frame buffer memory of claim 2, wherein the memory access function is a duplicate page operation that transfers data from the sense amplifiers to the memory cells of a page of the memory bank specified by the memory access request.
Claim 6
Dependent Claim 51 words
The frame buffer memory of claim 2, wherein the memory access function is an access page operation that transfers data from the memory cells of a page of the memory bank specified by the memory access request to the sense amplifiers for the memory bank specified by the memory access request.
Claim 7
Dependent Claim 46 words
The frame buffer memory of claim 2, wherein the memory access function is an unmasked write block operation that transfers data from a pixel cache block specified by the memory access request to the sense amplifiers for the memory bank specified by the memory access request.
Claim 8
Dependent Claim 45 words
The frame buffer memory of claim 2, wherein the memory access function is a read block operation that transfers data from the sense amplifiers for the memory bank specified by the memory access request to a pixel cache block specified by the memory access request.
Claim 9
Dependent Claim 24 words
The frame buffer memory of claim 2, further comprising a plane mask register coupled to receive and store a set of plane mask bits.
Claim 10
Dependent Claim 61 words
The frame buffer memory of claim 8, wherein the memory access function is a masked write block operation that transfers data from a pixel cache block specified by the memory access request to the sense amplifiers for the memory bank specified by the memory access request such that the plane mask bits determine a bitwise write mask into the sense amplifiers.
Claim 11
Dependent Claim 61 words
The frame buffer memory of claim 9, wherein the memory access function is a video transfer operation that transfers a portion of a raster display scan line from the sense amplifiers for the memory bank specified by the memory access request to a serial video buffer that shifts the portion of the raster display scan line to a raster display device.
Claim 12
Dependent Claim 35 words
The frame buffer memory of claim 9, wherein the serial video buffer comprises a pair of serial video buffers each coupled to receive the portion of the raster display scan line from different memory banks.
Claim 13
Dependent Claim 27 words
The frame buffer memory of claim 8, further comprising a dirty tags memory for storing a set of dirty tag bits corresponding to each pixel cache block.
Claim 14
Dependent Claim 32 words
The frame buffer memory of claim 10, wherein the pixel access function merges a set of new dirty tag bits with a set of old dirty tag bits in the pixel cache.
Claim 15
Dependent Claim 61 words
The frame buffer memory of claim 10, wherein the memory access function is an unmasked write block operation that transfers data from a pixel cache block specified by the memory access request to the sense amplifiers for the memory bank specified by the memory access request such that the dirty tag bits determine a bitwise write mask into the sense amplifiers.
Claim 16
Dependent Claim 66 words
The frame buffer memory of claim 10, wherein the memory access function is a masked write block operation that transfers data from a pixel cache block specified by the memory access request to the sense amplifiers for the memory bank specified by the memory access request such that the plane mask bits and the dirty tag bits determine a bitwise write mask into the sense amplifiers.
Claim 17
Dependent Claim 40 words
The frame buffer memory of claim 10, wherein the pixel access is a read operation that reads a data value from the pixel cache block specified by the pixel access request and transfers the data value over the rendering bus.
Claim 18
Dependent Claim 89 words
The frame buffer memory of claim 10, wherein the pixel access is a stateless initial data write operation that writes a data value received over the rendering bus into the pixel cache block specified by the pixel access request and that sets the dirty tag bits specified by an address of the pixel access request and by a set of write enable signals received with the data value and that clears a set of remaining dirty tag bits in the pixel cache block specified by the pixel access request.
Claim 19
Dependent Claim 71 words
The frame buffer memory of claim 10, wherein the pixel access is a stateless normal data write operation that writes a data value received over the rendering bus into the pixel cache block specified by the pixel access request and that sets the dirty tag bits corresponding to the pixel cache block specified by the pixel access request according to a set of write enable signals received with the data value.
Claim 20
Dependent Claim 120 words
The frame buffer memory of claim 10, wherein the pixel access is a statefull initial data write operation that generates a new pixel data value by combining a data value received over the rendering bus with an old pixel data value from the pixel cache block specified by the pixel access request and that writes the new pixel value into the pixel cache block specified by the pixel access request and that sets the dirty tag bits specified by an address of the pixel access request and by a set of write enable signals received with the data value and that clears a set of remaining dirty tag bits in the pixel cache block specified by the pixel access request.
Claim 21
Dependent Claim 101 words
The frame buffer memory of claim 10, wherein the pixel access is a statefull normal data write operation that generates a new pixel data value by combining a data value received over the rendering bus with an old pixel data value from the pixel cache block specified by the pixel access request and that writes the new pixel value into the pixel cache block specified by the pixel access request and that sets the dirty tag bits corresponding to the pixel cache block specified by the pixel access request according to set of write enable signals received with the data value.
Claim 22
Independent Claim 113 words
A method for accessing pixel data in a frame buffer random access memory device including, comprising the steps of: receiving a memory access request that specifies a memory access function and one of a set of memory banks of a memory array, each memory bank comprising a set of memory cells for buffering a set of pixel data that defines an image for display on a display device; receiving a pixel access request that specifies one of a plurality of pixel cache blocks in a pixel cache; performing the memory access function according to the memory access request while performing a pixel access to the pixel cache according to the pixel access request.
Claim 23
Independent Claim 113 words
A method for accessing pixel data in a frame buffer random access memory device including, comprising the steps of: receiving a memory access request that specifies a memory access function and one of a set of memory banks of a memory array, each memory bank comprising a set of memory cells for buffering a set of pixel data that defines an image for display on a display device; receiving a pixel access request that specifies one of a plurality of pixel cache blocks in a pixel cache; performing the memory access function according to the memory access request while performing a pixel access to the pixel cache according to the pixel access request.
Claim 24
Dependent Claim 32 words
The method of claim 21, wherein the memory access function is a precharge bank operation that precharges a set of sense amplifiers for the memory bank specified by the memory access request.
Claim 25
Dependent Claim 55 words
The method of claim 21, wherein the step of performing the memory access function according to the memory access request comprises the step of performing a duplicate page operation by transferring data from a set of sense amplifiers to the memory cells of a page of the memory bank specified by the memory access request.
Claim 26
Dependent Claim 65 words
The method of claim 21, wherein the step of performing the memory access function according to the memory access request comprises the step of performing an access page operation by transferring data from the memory cells of a page of the memory bank specified by the memory access request to a set of sense amplifiers for the memory bank specified by the memory access request.
Claim 27
Dependent Claim 60 words
The method of claim 21, wherein the step of performing the memory access function according to the memory access request comprises the step of performing an unmasked write block operation by transferring data from a pixel cache block specified by the memory access request to a set of sense amplifiers for the memory bank specified by the memory access request.
Claim 28
Dependent Claim 59 words
The method of claim 21, wherein the step of performing the memory access function according to the memory access request comprises the step of performing a read block operation by transferring data from a set of sense amplifiers for the memory bank specified by the memory access request to a pixel cache block specified by the memory access request.
Claim 29
Dependent Claim 77 words
The method of claim 21, wherein the step of performing the memory access function according to the memory access request comprises the step of performing a masked write block operation by transferring data from a pixel cache block specified by the memory access request to a set of sense amplifiers for the memory bank specified by the memory access request such that a set of plane mask bits determine a bitwise write mask into the sense amplifiers.
Claim 30
Dependent Claim 77 words
The method of claim 21, wherein the step of performing the memory access function according to the memory access request comprises the step of performing an unmasked write block operation by transferring data from a pixel cache block specified by the memory access request to a set of sense amplifiers for the memory bank specified by the memory access request such that a set of dirty tag bits determine a bitwise write mask into the sense amplifiers.
Claim 31
Dependent Claim 84 words
The method of claim 21, wherein the step of performing the memory access function according to the memory access request comprises the step of performing a masked write block operation by transferring data from a pixel cache block specified by the memory access request to a set of sense amplifiers for the memory bank specified by the memory access request such that a set of plane mask bits and a set of dirty tag bits determine a bitwise write mask into the sense amplifiers.
Claim 32
Dependent Claim 47 words
The method of claim 21, wherein the step of performing a pixel access to the pixel cache according to the pixel access request comprises the step of performing a read operation by reading a data value from the pixel cache block specified by the pixel access request.
Claim 33
Dependent Claim 98 words
The method of claim 21, wherein the step of performing a pixel access to the pixel cache according to the pixel access request comprises the step of performing a stateless initial data write operation by writing a data value into the pixel cache block specified by the pixel access request and setting the dirty tag bits specified by an address of the pixel access request and by a set of write enable signals received with the data value and clearing a set of remaining dirty tag bits in the pixel cache block specified by the pixel access request.
Claim 34
Dependent Claim 93 words
The method of claim 21, wherein the step of performing a pixel access to the pixel cache according to the pixel access request comprises the step of performing a stateless normal data write operation by receiving a data value and a set of write enables signals for the data value, and by Writing the data value into the pixel cache block specified by the pixel access request and setting a set of dirty tag bits corresponding to the pixel cache block specified by the pixel access request according to the write enable signals.
Claim 35
Dependent Claim 133 words
The method of claim 21, wherein the step of performing a pixel access to the pixel cache according to the pixel access request comprises the step of performing a statefull initial data write operation by receiving a data value and generating a new pixel value by combining the data value with an old pixel data value from the pixel cache block specified by the pixel access request, and then writing the new pixel value into the pixel cache block specified by the pixel access request and setting the dirty tag bits specified by an address of the pixel access request and by a set of write enable signals received with the data value and clearing a set of remaining dirty tag bits in the pixel cache block specified by the pixel access request.
Claim 36
Dependent Claim 116 words
The method of claim 21, wherein the step of performing a pixel access to the pixel cache according to the pixel access request comprises the step of performing a statefull normal data write operation by receiving a data value and generating a new pixel value by combining the data value with an old pixel data value from the pixel cache block specified by the pixel access request and then writing the new pixel value into the pixel cache block specified by the pixel access request and setting the dirty tag bits corresponding to the pixel cache block specified by the pixel access request according to a set of write enable signals received with the data value.
Claim 37
Dependent Claim 165 words
A computer system, comprising: processor coupled to transfer a set of graphics data over a system bus, the graphics data corresponding to an image for display on a display device; rendering controller coupled to receive the graphics data over the system bus, the rendering controller coupled to transfer a memory access request, a pixel access request, and a pixel value over a rendering bus; frame buffer memory device comprising a memory array arranged as a set of memory banks, and a pixel cache comprising a plurality of pixel cache blocks, the frame buffer memory device coupled to receive the memory access request that specifies one of the memory banks, and coupled to receive the pixel access request that specifies one of the pixel cache blocks, the frame buffer memory device having circuitry for performing a memory access function according to the memory access request, and circuitry for performing a pixel access over the rendering bus to the pixel cache according to the pixel access request.
Claim 38
Dependent Claim 165 words
A computer system, comprising: processor coupled to transfer a set of graphics data over a system bus, the graphics data corresponding to an image for display on a display device; rendering controller coupled to receive the graphics data over the system bus, the rendering controller coupled to transfer a memory access request, a pixel access request, and a pixel value over a rendering bus; frame buffer memory device comprising a memory array arranged as a set of memory banks, and a pixel cache comprising a plurality of pixel cache blocks, the frame buffer memory device coupled to receive the memory access request that specifies one of the memory banks, and coupled to receive the pixel access request that specifies one of the pixel cache blocks, the frame buffer memory device having circuitry for performing a memory access function according to the memory access request, and circuitry for performing a pixel access over the rendering bus to the pixel cache according to the pixel access request.
Claim 39
Dependent Claim 47 words
The computer system of claim 35, wherein each memory bank comprises a set of memory cells and a set of sense amplifiers coupled to access the memory cells, and wherein the pixel cache further comprises a set of dirty tag bits corresponding to each pixel cache block.
Claim 40
Dependent Claim 22 words
The computer system of claim 36, wherein the frame buffer memory device performs the memory access function while performing the pixel access.
Claim 41
Dependent Claim 38 words
The computer system of claim 36, wherein the memory access function is a precharge bank operation that causes the frame buffer memory device to precharge the sense amplifiers of the memory bank specified by the memory access request.
Claim 42
Dependent Claim 47 words
The computer system of claim 36, wherein the memory access function is a duplicate page operation that causes the frame buffer memory device to transfer data from the sense amplifiers to the memory cells of a page of the memory bank specified by the memory access request.
Claim 43
Dependent Claim 57 words
The computer system of claim 36, wherein the memory access function is an access page operation that causes the frame buffer memory device to transfer data from the memory cells of a page of the memory bank specified by the memory access request to the sense amplifiers for the memory bank specified by the memory access request.
Claim 44
Dependent Claim 52 words
The computer system of claim 36, wherein the memory access function is an unmasked write block operation that causes the frame buffer memory device to transfer data from a pixel cache block specified by the memory access request to the sense amplifiers for the memory bank specified by the memory access request.
Claim 45
Dependent Claim 51 words
The computer system of claim 36 wherein the memory access function is a read block operation that causes the frame buffer memory device to transfer data from the sense amplifiers for the memory bank specified by the memory access request to a pixel cache block specified by the memory access request.
Claim 46
Dependent Claim 37 words
The computer system of claim 36, wherein the frame buffer memory device further comprises a plane mask register coupled to receive and store a set of plane mask bits from the rendering controller over the rendering bus.
Claim 47
Dependent Claim 67 words
The computer system of claim 43, wherein the memory access function is a masked write block operation that causes the frame buffer memory device to transfer data from a pixel cache block specified by the memory access request to the sense amplifiers for the memory bank specified by the memory access request such that the plane mask bits determine a bitwise write mask into the sense amplifiers.
Claim 48
Dependent Claim 32 words
The computer system of claim 43, wherein the frame buffer memory device further comprises a dirty tags memory for storing a set of dirty tag bits corresponding to each pixel cache block.
Claim 49
Dependent Claim 67 words
The computer system of claim 45, wherein the memory access function is an unmasked write block operation that causes the frame buffer memory device to transfer data from a pixel cache block specified by the memory access request to the sense amplifiers for the memory bank specified by the memory access request such that the dirty tag bits determine a bitwise write mask into the sense amplifiers.
Claim 50
Dependent Claim 72 words
The computer system of claim 45, wherein the memory access function is a masked write block operation that causes the frame buffer memory device to transfer data from a pixel cache block specified by the memory access request to the sense amplifiers for the memory bank specified by the memory access request such that the plane mask bits and the dirty tag bits determine a bitwise write mask into the sense amplifiers.
Claim 51
Dependent Claim 46 words
The computer system of claim 45, wherein the pixel access is a read operation that causes the frame buffer memory device to read a data value from the pixel cache block specified by the pixel access request and transfer the data value over the rendering bus.
Claim 52
Dependent Claim 63 words
The computer system of claim 45, wherein the pixel access is a stateless initial data write operation that causes the frame buffer memory device to write a data value received over the rendering bus into the pixel cache block specified by the pixel access request and clear the dirty tag bits corresponding to the pixel cache block specified by the pixel access request.
Claim 53
Dependent Claim 80 words
The computer system of claim 45, wherein the pixel access is a stateless normal data write operation that causes the frame buffer memory device to write a data value received over the rendering bus into the pixel cache block specified by the pixel access request and set the dirty tag bits corresponding to the pixel cache block specified by the pixel access request according to a set of write enable signals received with the data value over the rendering bus.
Claim 54
Dependent Claim 95 words
The computer system of claim 45, wherein the pixel access is a statefull initial data write operation that causes the frame buffer memory device to generate a new pixel data value by combining a data value received over the rendering bus with an old pixel data value from the pixel cache block specified by the pixel access request and by writing the new pixel value into the pixel cache block specified by the pixel access request and by clearing the dirty tag bits corresponding to the pixel cache block specified by the pixel access request.
Claim 55
Dependent Claim 111 words
The computer system of claim 45, wherein the pixel access is a statefull normal data write operation that causes the frame buffer memory device to generate a new pixel data value by combining a data value received over the rendering bus with an old pixel data value from the pixel cache block specified by the pixel access request and by writing the new pixel value into the pixel cache block specified by the pixel access request and by setting the dirty tag bits corresponding to the pixel cache block specified by the pixel access request according to set of write enable signals received with the data value over the rendering bus.
Claim 56
Dependent Claim 104 words
A frame buffer memory device, comprising: dynamic random access memory (DRAM) array comprising a plurality of DRAM cells for buffering a set of pixel data that defines an image for display on a display device; sense amplifiers coupled to the DRAM cells of the DRAM array circuitry for transferring the pixel data from a first page of the DRAM array to the sense amplifiers according to an access page command received over a rendering bus; circuitry for transferring the pixel data from the sense amplifiers to a second page of the DRAM array according to a duplicate page command received over the rendering bus.
Claim 57
Dependent Claim 104 words
A frame buffer memory device, comprising: dynamic random access memory (DRAM) array comprising a plurality of DRAM cells for buffering a set of pixel data that defines an image for display on a display device; sense amplifiers coupled to the DRAM cells of the DRAM array circuitry for transferring the pixel data from a first page of the DRAM array to the sense amplifiers according to an access page command received over a rendering bus; circuitry for transferring the pixel data from the sense amplifiers to a second page of the DRAM array according to a duplicate page command received over the rendering bus.
Claim 58
Dependent Claim 34 words
The frame buffer memory device of claim 53, wherein the first and second pages are specified by a set of pixel address signals received by the frame buffer memory device over the rendering bus.
Claim 59
Dependent Claim 20 words
The frame buffer memory device of claim 53, wherein the DRAM array is arranged as a set of DRAM banks.
Claim 60
Dependent Claim 28 words
The frame buffer memory device of claim 55, wherein the first and second pages are located in the DRAM banks that are specified by the pixel address signals.
Claim 61
Independent Claim 96 words
A method for performing block fill operations in a frame buffer, comprising the steps of: receiving an access page command over a rendering bus, the access page command specifying a first page of a dynamic random access memory (DRAM) array; transferring a set of pixel data from the first page of the DRAM array to a set of sense amplifiers; receiving duplicate page command over the rendering bus, the duplicate page command specifying a second page of the DRAM array; transferring the pixel data from the sense amplifiers to the second page of the DRAM array.
Claim 62
Independent Claim 96 words
A method for performing block fill operations in a frame buffer, comprising the steps of: receiving an access page command over a rendering bus, the access page command specifying a first page of a dynamic random access memory (DRAM) array; transferring a set of pixel data from the first page of the DRAM array to a set of sense amplifiers; receiving duplicate page command over the rendering bus, the duplicate page command specifying a second page of the DRAM array; transferring the pixel data from the sense amplifiers to the second page of the DRAM array.
Claim 63
Dependent Claim 27 words
The method of claim 57, wherein the DRAM array comprises a plurality of DRAM banks and wherein the access page command specifies one of the DRAM banks.
Claim 64
Dependent Claim 55 words
The method of claim 58, wherein the step of transferring a set of pixel data from the first page of the DRAM array to a set of sense amplifiers comprises the step of transferring the pixel data from the first page in the DRAM bank specified by the access page command to the sense amplifiers.
Claim 65
Dependent Claim 27 words
The method of claim 57, wherein the DRAM array comprises a plurality of DRAM banks and wherein the duplicate page command specifies one of the DRAM banks.
Claim 66
Dependent Claim 51 words
The method of claim 57, wherein the step of transferring the pixel data from the sense amplifiers to the second page of the DRAM array comprises the step of transferring the pixel data from the sense amplifiers to the second page in the DRAM bank specified by the duplicate page command.

References Cited (Backward Citations)

US4941107A Cited
US5131080A Cited
EP0427114A2 Cited
EP0447225A2 Cited
US5388073A Cited
EP0548586A2 Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag