IP Library Granted Patent US 8,144,160
Granted Patent B2
US 8,144,160 · App. 12/031,112 · Granted Mar 27, 2012

Methods and apparatus for non-intrusive capturing of frame buffer memory information for remote display

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,144,160
App. No.
12/031,112
Granted
Mar 27, 2012
Kind
B2
Abstract

Modification to frame buffer memory information associated with a first display may be used to update information displayed on a second display. The first display may be mapped to a matrix of display areas. The modification to the frame buffer memory information may be detected be detecting write memory address. One or more display areas affected by the modification to the frame buffer memory information may be identified based on display parameters associated with the first display. Frame buffer memory information associated with the one or more affected display areas may be retrieved and compressed before being transmitted over a communication link to be displayed on the second display.

Claims (96)

1. An apparatus, comprising:

a first logic circuit to capture display parameters from a graphics controller including display width, display height, and width of a display line for the first display, the captured display parameters associated with a first display; and

a second logic circuit coupled to the first logic circuit, the second logic circuit configured to

monitor frame buffer memory information sent from the graphics controller to a memory controller,

detect modification of the frame buffer memory information, and

in response to the frame buffer memory information being modified, set an indicator to indicate that at least one display area of the first display has been modified,

wherein the first display is mapped into a matrix of multiple display areas in response to the captured display parameters.

2. The apparatus of claim 1 , wherein

the display width, the display height, and the width of a display line are in units of pixels, and

the second logic circuit is further configured to

determine the number of multiple display areas in the matrix in response to the display width, the display height, the width of a display line and the number of bits per pixel.

3. The apparatus of claim 2 , wherein

the second logic circuit is further configured to determine a height and a width of a display area in units of pixels.

4. The apparatus of claim 3 , wherein

the second logic circuit to maintain a bit map, each bit in the bit map corresponding to a display area in the matrix, and

the second logic circuit to set the indicator by setting a bit in the bit map corresponding to the display area that has been modified.

5. The apparatus of claim 4 , further comprising:

a third logic circuit configured to retrieve the frame buffer memory information associated with the display area that has been modified from a frame buffer memory.

6. The apparatus of claim 5 , wherein

frame buffer memory information associated with a display area that has been modified is associated with two or more display lines.

7. The apparatus of claim 6 , wherein

the third logic circuit to retrieve the frame buffer memory information associated with the display area that has been modified in response to the bit map, the height and width of the display area, and the width of the display line.

8. The apparatus of claim 7 , wherein

in response to one or more display areas being modified, the third logic circuit to store the frame buffer memory information associated with the one or more display areas linearly in a buffer.

9. The apparatus of claim 8 , further comprising:

a fourth logic circuit coupled to the third logic circuit, the fourth logic circuit configured to

compress the data stored by the third logic circuit, and

transmit information about the bit map and the compressed data over a communication link to enable modification of the frame buffer memory information to be displayed on a second display.

10. The apparatus of claim 9 , wherein

the first logic circuit is a register capture engine,

the second logic circuit is a tile snoop engine,

the third logic circuit is a tile fetch engine, and

the fourth logic circuit is an embedded processor.

11. The apparatus of claim 1 , wherein

the matrix of multiple display areas is a matrix of non-overlapping tiles with each tile being N pixels wide and M pixels high and having a tile start address into the frame buffer memory.

12. A system, comprising:

a host processor;

a frame buffer memory to store one or more frames of information;

and

an integrated circuit (IC) coupled to the host processor and the frame buffer memory, the IC including a graphics controller and a memory controller coupled to the frame buffer memory, the IC sharing access to the memory controller with the graphics controller, wherein the IC is configured to monitor frame buffer memory information associated with a first display using display parameters associated with the first display and to identify one or more display areas affected by a modification to the frame buffer memory information, wherein the display parameters include display width, display height, width of display line, and number of bits per pixel, wherein the frame buffer memory information is sent by the host processor to the frame buffer memory, and wherein the first display is mapped to a matrix of multiple display areas.

13. The system of claim 12 , wherein

the IC is to determine number of display areas in the matrix and height and width of each display area in response to the display parameters.

14. The system of claim 13 , wherein

the IC to identify the modification to the frame buffer memory information by comparing the frame buffer memory information being monitored with stored frame buffer memory information.

15. The system of claim 14 , wherein

the IC is to keep track of the matrix of multiple display areas including the one or more affected display areas.

16. The system of claim 15 , wherein

the IC keeps track of the one or more affected display areas using one or more registers, wherein each register is to include a bit for each display area in the matrix of multiple display areas, and wherein a bit is set when its corresponding display area is affected by the modification to the frame buffer memory information.

17. The system of claim 16 , wherein

the IC is further configured to use bit information in the one or more registers to retrieve frame buffer memory information associated with the one or more affected display areas.

18. The system of claim 17 , wherein

the IC is further configured to compress the retrieved frame buffer memory information associated with the one or more affected display areas.

19. The system of claim 18 , wherein

the IC is further configured to transmit the compressed information and the bit information in the one or more registers over a communication link to a remote computer system where they are to be used to update information displayed on a second display.

20. The system of claim 19 , wherein

the communication link is a limited bandwidth communication link.

21. A method, comprising:

receiving display parameters from a graphics controller associated with a first display, the display parameters including display width, display height, width of a display line, and number of bits per pixel;

mapping the first display to a matrix of display areas;

detecting modification to frame buffer memory information associated with the first display;

identifying one or more display areas affected by the modification to the frame buffer information;

retrieving frame buffer memory information associated with the one or more affected display areas; and

updating information displayed on a second display based on the retrieved frame buffer information associated with the one or more affected display areas.

22. The method of claim 21 , wherein

mapping the first display to a matrix of display areas comprises:

using the display parameters to determine the number of display areas and the height and the width of a display area.

23. The method of claim 22 , wherein

detecting the modification to the frame buffer memory information associated with the first display comprises detecting a write memory address.

24. The method of claim 23 , wherein

the write memory address is detected by monitoring a bus coupling the graphics controller to a memory controller associated with the first display.

25. The method of claim 24 , wherein

the write memory address is used to identify an affected display area.

26. The method of claim 23 , wherein

identifying the one or more display areas affected by the modification to the frame buffer memory information comprises:

using the display parameters and the write memory address to identify the location of a pixel to be modified; and

using the location of the pixel to be modified, the width of the display line and the height and width of a display area to identify a display area affected by the modification.

27. The method of claim 26 , further comprising:

setting a bit in a bitmap to indicate a display area affected by the modification, wherein the bitmap is to include a bit corresponding to each display area in the matrix of display areas.

28. The method of claim 27 , wherein

the frame buffer memory information associated with the one or more affected display areas is retrieved using information in the bitmap, the width of the display line, and the height and width of a display area.

29. The method of claim 28 , wherein

updating the information displayed on a second display based on the retrieved frame buffer memory information associated with the one or more affected display areas comprises:

storing the retrieved information linearly;

compressing the stored information; and

transmitting the compressed information and the information in the bit map over a communication link to a computer system associated with the second display.

30. A non-transitory computer readable medium having stored thereon sequences of instructions which are executable by a system, and which, when executed by the system, cause the system to perform a method, comprising:

detecting modification to frame buffer memory information associated with a first display, wherein the frame buffer memory information corresponds to information displayed in display areas associated with the first display, wherein a number of the display areas is determined based on display parameters including display width, display height, width of a display line in pixels, and width and height of a display area in pixels;

identifying one or more display areas affected by the modification to the frame buffer information;

retrieving the frame buffer memory information associated with the one or more display areas affected by the modification to the frame buffer information; and

transmitting frame buffer memory information associated with the one or more display areas affected by the modification over a communication link to be displayed on a second display.

31. The non-transitory computer readable medium of claim 30 , wherein

the one or more display areas affected by the modification to the frame buffer memory information is identified using a write memory address and the display parameters.

32. The non-transitory computer readable medium of claim 31 , wherein

a bit map is used to keep track of the one or more display areas affected by the modification to the frame buffer memory information.

33. The non-transitory computer readable medium of claim 32 , wherein

the frame buffer memory information associated with the one or more display areas affected by the modification is stored linearly and compressed before being transmitted along with information about the bit map over the communication link.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2017
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: ASPEED TECHNOLOGY INC.
Reel/Frame 042271/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: EMULEX CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036942/0213 →
MERGER Recorded May 20, 2014
From: SERVERENGINES CORPORATION
To: SERVERENGINES LLC
Reel/Frame 032932/0414 →
MERGER Recorded May 20, 2014
From: SERVERENGINES LLC
To: EMULEX CORPORATE SERVICES CORPORATION
Reel/Frame 032932/0661 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2014
From: EMULEX CORPORATE SERVICES CORPORATION
To: EMULEX CORPORATION
Reel/Frame 031976/0363 →
NOTICE OF AMENDED AND RESTATED SECURITY INTEREST IN PATENTS, COPYRIGHTS AND TRADEMARKS Recorded Dec 11, 2009
From: SERVERENGINES CORPORATION
To: EMULEX CORPORATE SERVICES CORPORATION
Reel/Frame 023644/0653 →
SECURITY AGREEMENT Recorded Mar 31, 2009
From: SERVERENGINES CORPORATION
To: EMULEX CORPORATE SERVICES CORPORATION
Reel/Frame 022476/0950 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2008
From: PARTANI, DWARKA; ARRAMREDDY, SUJITH; JAYADEV, BALAKRISHNA
To: SERVERENGINES, CORP.
Reel/Frame 021017/0217 →