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

Memory bandwidth optimization

Assignee: Nvidia Corp
•
Filing: 1994-12-19
•
Granted: 1997-03-11
•
Expires: 2014-12-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A memory controller, particularly for use in a video controller, is provided which reduces the effect of page misses during memory access. A video port FIFO is provided for buffering data from a video port to a display memory. A CRT FIFO is provided for buffering data from a display memory to a display. If, during a video port FIFO cycle, a page miss is encountered, the video port FIFO cycle is terminated and processing passes to a CRT FIFO CYCLE. If a page miss is encountered during a CRT FIFO cycle, the subsequent video port FIFO cycle will shortened by a number of memory cycles to compensate for the additional memory cycles required by the page miss. Additional data accumulated in the video port FIFO may be transferred to the display memory during a retrace interval. In this manner, memory bandwidth is optimized by removing a non-aligned page miss as the worst case of memory bandwidth utilization.

Inventors

  • 👤 Vlad Bril
  • 👤 Alexander Eglit
  • 👤 Sagar W. Kenkare

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 15:58
CPC Classifications
G; G09; G09G; G09G5/00; G09G5/36; G09G5/363; G09G5/366; G09G5/39; G09G5/395; G09G5/14; G09G5/393; G09G5/40

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 276 words
A memory controller apparatus for processing data and reducing an effect of non-aligned page misses during page mode memory access, comprising: an input port for receiving data; an input FIFO coupled to said input port for receiving and storing said data; a memory coupled to said input FIFO for receiving said data from at least said input FIFO and for storing said data; an output FIFO coupled to said memory and a control means for retrieving and storing at least a portion of said data; an output port, coupled to said output FIFO for receiving and outputting said at least a portion of said data from said output FIFO; and said control means, coupled to said input FIFO and said memory, for controlling page mode access to said memory in at least input cycles, wherein said control means controls said input FIFO to transfer data in a first predetermined number of memory cycles from said input FIFO to said memory during an input cycle, said control means monitors said memory cycles during said input cycle to detect a non-aligned memory cycle and interrupts an input cycle if a non-aligned memory cycle is detected, said control means further controls said output FIFO to transfer data during a second predetermined number of memory cycles from said memory to said output FIFO during an output cycle, said control means monitors said memory cycles during said output cycle to detect a non-aligned memory cycle and shortens a subsequent input cycle if a non-aligned memory cycle is detected, and said control means shortens a subsequent input cycle by reducing said first predetermined number of memory cycles in a subsequent input cycle.
Claim 2
Dependent Claim 276 words
A memory controller apparatus for processing data and reducing an effect of non-aligned page misses during page mode memory access, comprising: an input port for receiving data; an input FIFO coupled to said input port for receiving and storing said data; a memory coupled to said input FIFO for receiving said data from at least said input FIFO and for storing said data; an output FIFO coupled to said memory and a control means for retrieving and storing at least a portion of said data; an output port, coupled to said output FIFO for receiving and outputting said at least a portion of said data from said output FIFO; and said control means, coupled to said input FIFO and said memory, for controlling page mode access to said memory in at least input cycles, wherein said control means controls said input FIFO to transfer data in a first predetermined number of memory cycles from said input FIFO to said memory during an input cycle, said control means monitors said memory cycles during said input cycle to detect a non-aligned memory cycle and interrupts an input cycle if a non-aligned memory cycle is detected, said control means further controls said output FIFO to transfer data during a second predetermined number of memory cycles from said memory to said output FIFO during an output cycle, said control means monitors said memory cycles during said output cycle to detect a non-aligned memory cycle and shortens a subsequent input cycle if a non-aligned memory cycle is detected, and said control means shortens a subsequent input cycle by reducing said first predetermined number of memory cycles in a subsequent input cycle.
Claim 3
Dependent Claim 348 words
A video controller integrated circuit for selectively generating video and graphics data for displaying a video image on at least a portion of a graphics display and reducing an effect of non-aligned page misses during page mode memory access, said video controller integrated circuit comprising: a video port for receiving video data; a video port FIFO coupled to said video port for receiving and storing said video data; a display memory bus coupled to said video port FIFO for receiving said video data from at least said video port FIFO and for storing said video data in a display memory; and a CRT FIFO coupled to said display memory bus and a control means for retrieving and storing at least a portion of said video data from a display memory; an output port, coupled to said CRT FIFO for receiving and outputting said at least a portion of said video data from said CRT FIFO; and said control means, coupled to said video port FIFO and said display memory bus, for controlling page mode access to said display memory bus in video port FIFO cycles, wherein said control means controls said video port FIFO to transfer video data during a first predetermined number of memory cycles from said video port FIFO to said display memory bus during a video port FIFO cycle, said control means monitors said memory cycles during said video port FIFO cycle to detect a non-aligned memory cycle and interrupts a video port FIFO cycle if a non-aligned memory cycle is detected, said control means further controls said CRT FIFO to transfer video data during a second predetermined number of memory cycles from said display memory bus to said CRT FIFO during a CRT FIFO cycle, said control means monitors said memory cycles during said CRT FIFO cycle to detect a non-aligned memory cycle and shortens a subsequent video port FIFO cycle if a non-aligned memory cycle is detected, and said control means shortens said subsequent video-port FIFO cycle by reducing said first predetermined number of memory cycles in a subsequent video port FIFO cycle.
Claim 4
Dependent Claim 348 words
A video controller integrated circuit for selectively generating video and graphics data for displaying a video image on at least a portion of a graphics display and reducing an effect of non-aligned page misses during page mode memory access, said video controller integrated circuit comprising: a video port for receiving video data; a video port FIFO coupled to said video port for receiving and storing said video data; a display memory bus coupled to said video port FIFO for receiving said video data from at least said video port FIFO and for storing said video data in a display memory; and a CRT FIFO coupled to said display memory bus and a control means for retrieving and storing at least a portion of said video data from a display memory; an output port, coupled to said CRT FIFO for receiving and outputting said at least a portion of said video data from said CRT FIFO; and said control means, coupled to said video port FIFO and said display memory bus, for controlling page mode access to said display memory bus in video port FIFO cycles, wherein said control means controls said video port FIFO to transfer video data during a first predetermined number of memory cycles from said video port FIFO to said display memory bus during a video port FIFO cycle, said control means monitors said memory cycles during said video port FIFO cycle to detect a non-aligned memory cycle and interrupts a video port FIFO cycle if a non-aligned memory cycle is detected, said control means further controls said CRT FIFO to transfer video data during a second predetermined number of memory cycles from said display memory bus to said CRT FIFO during a CRT FIFO cycle, said control means monitors said memory cycles during said CRT FIFO cycle to detect a non-aligned memory cycle and shortens a subsequent video port FIFO cycle if a non-aligned memory cycle is detected, and said control means shortens said subsequent video-port FIFO cycle by reducing said first predetermined number of memory cycles in a subsequent video port FIFO cycle.
Claim 5
Dependent Claim 76 words
The video controller integrated circuit of claim 2, further comprising: a CPU input port for connecting to an external CPU and for receiving text and graphics data from an external CPU; and a text and graphics controller coupled to said CPU input port and said control means for receiving text and graphics data; wherein said control means transfers text and graphics data from said text and graphics controller to said display memory during a CPU cycle.
Claim 6
Dependent Claim 46 words
The video controller integrated circuit of claim 2, wherein said control means transfers data accumulated in said video port FIFO when said control means interrupts an video port FIFO cycle to said display memory during a retrace interval of said video data from said video port.
Claim 7
Dependent Claim 338 words
A multimedia computer system for selectively generating video and graphics data for displaying a video image on at least a portion of a display and reducing an effect of non-aligned page misses during page mode memory access, said multimedia computer system comprising: a video port for receiving video data; a video port FIFO coupled to said video port for receiving and storing said video data; a display memory coupled to said video port FIFO for receiving said video data from at least said video port FIFO and for storing said video data; and a CRT FIFO coupled to said display memory and a control means for retrieving and storing at least a portion of said video data from a display memory; an output display port, coupled to said CRT FIFO for receiving and outputting said at least a portion of said video data from said CRT FIFO; and said control means, coupled to said video port FIFO and said display memory, for controlling page mode access to said display memory in video port FIFO cycles, wherein said control means controls said video port FIFO to transfer video data during a first predetermined number of memory cycles from said video port FIFO to said display memory during a video port FIFO cycle, said control means monitors said memory cycles during said video port FIFO cycle to detect a non-aligned memory cycle and interrupts a video port FIFO cycle if a non-aligned memory cycle is detected, said control means further controls said CRT FIFO to transfer video data during a second predetermined number of memory cycles from said display memory bus to said CRT FIFO during a CRT FIFO cycle, said control means monitors said memory cycles during said CRT FIFO cycle to detect a non-aligned memory cycle and shortens a subsequent video port FIFO cycle if a non-aligned memory cycle is detected, and said control means shortens said subsequent video port FIFO cycle by reducing said first predetermined number of memory cycles in a subsequent video port FIFO cycle.
Claim 8
Dependent Claim 338 words
A multimedia computer system for selectively generating video and graphics data for displaying a video image on at least a portion of a display and reducing an effect of non-aligned page misses during page mode memory access, said multimedia computer system comprising: a video port for receiving video data; a video port FIFO coupled to said video port for receiving and storing said video data; a display memory coupled to said video port FIFO for receiving said video data from at least said video port FIFO and for storing said video data; and a CRT FIFO coupled to said display memory and a control means for retrieving and storing at least a portion of said video data from a display memory; an output display port, coupled to said CRT FIFO for receiving and outputting said at least a portion of said video data from said CRT FIFO; and said control means, coupled to said video port FIFO and said display memory, for controlling page mode access to said display memory in video port FIFO cycles, wherein said control means controls said video port FIFO to transfer video data during a first predetermined number of memory cycles from said video port FIFO to said display memory during a video port FIFO cycle, said control means monitors said memory cycles during said video port FIFO cycle to detect a non-aligned memory cycle and interrupts a video port FIFO cycle if a non-aligned memory cycle is detected, said control means further controls said CRT FIFO to transfer video data during a second predetermined number of memory cycles from said display memory bus to said CRT FIFO during a CRT FIFO cycle, said control means monitors said memory cycles during said CRT FIFO cycle to detect a non-aligned memory cycle and shortens a subsequent video port FIFO cycle if a non-aligned memory cycle is detected, and said control means shortens said subsequent video port FIFO cycle by reducing said first predetermined number of memory cycles in a subsequent video port FIFO cycle.
Claim 9
Dependent Claim 32 words
The multimedia computer system of claim 5, further comprising: a display means, coupled to said output display port, for displaying an image generated from at least a portion of said video data.
Claim 10
Dependent Claim 17 words
The multimedia computer system of claim 6, wherein said display means is a cathode ray tube monitor.
Claim 11
Dependent Claim 16 words
The multimedia computer system of claim 6, wherein said display means is a flat panel display.
Claim 12
Dependent Claim 15 words
The multimedia computer system of claim 6, wherein said display means is a television monitor.
Claim 13
Dependent Claim 65 words
The multimedia computer system of claim 5, further comprising: a CPU for receiving, processing, and outputting at least text and graphics data; and a text and graphics controller coupled to said CPU and said control means for receiving text and graphics data; wherein said control means transfers text and graphics data from said text and graphics controller to said display memory during a CPU cycle.
Claim 14
Dependent Claim 45 words
The multimedia computer system of claim 5, wherein said control means transfers data accumulated in said video port FIFO when said control means interrupts an video port FIFO cycle to said display memory during a retrace interval of said video data from said video port.
Claim 15
Independent Claim 240 words
A method for selectively generating video and graphics data for a video image and reducing an effect of non-aligned page misses during page mode memory access, the method comprising the steps of: receiving video data in a video port of a video controller, receiving and storing the video data in a video port FIFO from the video port, receiving and storing the video data in a display memory from at least the video port FIFO, retrieving and storing at least a portion of the video data from a display memory in a CRT FIFO, receiving and outputting said at least a portion of said video data from said CRT FIFO from an output port, transferring video data during a first predetermined number of memory cycles from the video port FIFO to a display memory bus during a video port FIFO cycle, monitoring the memory cycles during the video port FIFO cycle to detect a non-aligned memory cycle, interrupting a video port FIFO cycle if a non-aligned memory cycle is detected, transferring video data during a second predetermined number of memory cycles from the display memory bus to the CRT FIFO during a CRT FIFO cycle, monitoring the memory cycles during the CRT FIFO cycle to detect a non-aligned memory cycle, shortening a subsequent video port FIFO cycle if a non-aligned memory cycle is detected, and reducing the first predetermined number of memory cycles in a subsequent video port FIFO cycle.
Claim 16
Independent Claim 240 words
A method for selectively generating video and graphics data for a video image and reducing an effect of non-aligned page misses during page mode memory access, the method comprising the steps of: receiving video data in a video port of a video controller, receiving and storing the video data in a video port FIFO from the video port, receiving and storing the video data in a display memory from at least the video port FIFO, retrieving and storing at least a portion of the video data from a display memory in a CRT FIFO, receiving and outputting said at least a portion of said video data from said CRT FIFO from an output port, transferring video data during a first predetermined number of memory cycles from the video port FIFO to a display memory bus during a video port FIFO cycle, monitoring the memory cycles during the video port FIFO cycle to detect a non-aligned memory cycle, interrupting a video port FIFO cycle if a non-aligned memory cycle is detected, transferring video data during a second predetermined number of memory cycles from the display memory bus to the CRT FIFO during a CRT FIFO cycle, monitoring the memory cycles during the CRT FIFO cycle to detect a non-aligned memory cycle, shortening a subsequent video port FIFO cycle if a non-aligned memory cycle is detected, and reducing the first predetermined number of memory cycles in a subsequent video port FIFO cycle.
Claim 17
Dependent Claim 45 words
The method of claim 12, further comprising the steps of: receiving text and graphics data from an external CPU in a text and graphics controller, and transferring text and graphics data from the text and graphics controller to the display memory during a CPU cycle.
Claim 18
Dependent Claim 45 words
The method of claim 12, further comprising the step of: transferring data accumulated in the video port FIFO when due to an interrupt in a video port FIFO cycle to the display memory during a retrace interval of the video data from the video port.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-03-10 2000-09-09 2001-03-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-03-10 2004-09-09 2005-03-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-03-10 2008-09-09 2009-03-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag