IP Library Granted Patent US 7,287,107
Granted Patent B2
US 7,287,107 · App. 10/037,502 · Granted Oct 23, 2007

Method and apparatus for passive PCI throttling in a remote server management controller

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 7,287,107
App. No.
10/037,502
Granted
Oct 23, 2007
Kind
B2
Abstract

The disclosed embodiments relate generally to remote server management technology. More particularly, the embodiments relate to improving the ability of remote server management tools to snoop large amounts of data, including graphical video data, from a communication bus. When snooping the communication bus for data, there is a risk that a storage device gathering the data will be overrun when the volume of relevant data snooped is high. The embodiments relate to a method and apparatus for passively throttling the communication bus to prevent overrun of devices storing snooped data.

Claims (42)

1. A remote server management controller that snoops data from a communication bus, the remote server management controller comprising:

a FIFO that is adapted to store data snooped from the communication bus;

an embedded bus master that is operatively connected to the communication bus, the embedded bus master being adapted to take control of the communication bus responsive to a signal that the FIFO has become filled to a predetermined level to prevent the FIFO from being overflowed with snooped data while snooped data stored in the FIFO continues to be processed, wherein taking control of the communication bus comprises slowing a rate of snooped data arrival at the FIFO wityhout diverting the snooped data;

a passive throttling register that stores a value; and

wherein the embeded bus master takes control of the communication bus by reading the value and preventing communication on the communication bus for a time period that corresponds to the value.

2. The remote server management controller of claim 1 , wherein the communication bus is a PCI bus.

3. The remote server management controller of claim 1 , wherein the value is a number of PCI clock cycles.

4. The remote server management controller of claim 1 , wherein the embedded bus master is adapted to take control of the communication bus by initiating a PCI read transaction on the passive throttling register.

5. The remote server management controller of claim 1 , wherein the value is stored in the passive throttling register when the remote server management controller is initialized.

6. The remote server management controller of claim 1 , wherein the value is updated periodically.

7. The remote server management controller of claim 1 , wherein the value is proportional to a volume of traffic on the communication bus.

8. A managed server, comprising:

a video controller that is operatively connected to a communication bus; and

a remote server management controller that is connected to the communication bus and adapted to snoop data that is intended for the video controller from the communication bus, the remote server management controller comprising:

a FIFO that is adapted to store data snooped from the communication bus; and

an embedded bus master that is operatively connected to the communication bus, the embedded bus master being adapted to take control of the communication bus responsive to a signal that the FIFO has become filled to a predetermined level to prevent the FIFO from being overflowed with snooped data while snooped data stored in the FIFO continues to be processed, wherein taking control of the communication bus comprises intiating a read transaction on the communication bus.

9. The managed server of claim 8 , further comprising:

a passive throttling register that stores a value; and

wherein the embedded bus master takes control of the communication bus by reading the value and preventing communication on the communication bus for a time period that corresponds to the value.

10. The managed server of claim 9 , wherein the value is a number of PCI clock cycles.

11. The managed server of claim 9 , wherein the embedded bus master is adapted to take control of the communication bus by initiating a PCI read transaction on the passive throttling register.

12. The managed server of claim 9 , wherein the value is stored in the passive throttling register when the remote server management controller is initialized.

13. The managed server of claim 9 , wherein the value is updated periodically.

14. The managed server of claim 9 , wherein the value is proportional to a volume of traffic on the communication bus.

15. The managed server of claim 8 , wherein the communication bus is a PCI bus.

16. A method of passively throttling a communication bus, comprising the acts of:

snooping a communication bus;

storing data snooped from the communication bus in a storage device;

determining if the storage device is filled to a predetermined level; and

preventing further transfers of data on the communication bus responsive to the act of determining if the storage device is filled to a predetermined level, wherein preventing further transfers of data comprises intiating a read tranaction on the communication bus.

17. The method of claim 16 , further comprising the acts of:

storing a value in a register;

reading the value; and

wherein the act of preventing further transfers of the specific type of data is performed for a time period that corresponds to the value.

18. The method of claim 16 , wherein the recited acts are performed in the recited order.

19. A server comprising:

a bus;

a queue communicatively coupled to the bus and configured to store data snooped from the bus; and

a bus communicatively coupled to the bus, the bus master configured to throttle a flow of snooped data from the bus to the queue if a predetermined amount of data is stored in the queue, wherein throttling the flow of snooped data comprises slowing a rate of snooped data arrival to the queue without diverting the snooped data by intiating at least one read transaction on the bus.

20. The server of claim 19 , wherein the server is configured to process the snooped data stored the queue while the us mster is throttling the flow snooped data.

21. The server of claim 19 , wherein the bus mster is configured to throttle the flow of snooped data by preventing communication on the bus for a predetermined amount of time.

22. The server of claim 19 , wherein the bus comprises a PCI-compatible bus.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →