The present disclosure generally relates to the field of Network Interface Controllers (NICs), and more particularly to a computer program product, method, and device for providing power management functions for NICs.
In computer systems, it is often desirable for a system or device to enter a standby mode of operation with limited functionality and lower power consumption. Such a standby mode of operation may be controlled within the system or device. However, there are limited technologies available for a system or device to exit a standby mode and enter a standard mode of operation automatically without input from a second system or device.
A method for power management may include, but is not limited to, operating a first NIC in a low power mode, and transitioning the first NIC from the low power mode to a power-up sequence if a sleep packet is not received from a second NIC at the first NIC within a predetermined time threshold.
A Network Interface Controller may include, but is not limited to a memory for storing firmware configured to operate the NIC, a bus communicatively coupled to the memory for data transfers within the NIC, a processor communicatively coupled to the bus for executing the firmware, a transceiver communicatively coupled to the bus for sending data from the NIC and receiving data to the NIC, and an Ethernet port communicatively coupled to the bus for providing a physical data interface between the NIC and an Ethernet network. The firmware is configured to perform a method for power management of the NIC, the method comprising operating the NIC in a low power mode, and transitioning the NIC from the low power mode to a power-up sequence if a sleep packet is not received from a second NIC at the NIC within a predetermined time threshold.
A non-transitory computer-readable medium having computer-executable instructions for performing a method for power management, the method may include, but is not limited to operating a first NIC in a low power mode, and transitioning the first NIC from the low power mode to a power-up sequence if a sleep packet is not received from a second NIC at the first NIC within a predetermined time threshold.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not necessarily restrictive of the present disclosure. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate subject matter of the disclosure. Together, the descriptions and the drawings serve to explain the principles of the disclosure.
The numerous advantages of the disclosure may be better understood by those skilled in the art by reference to the accompanying figures in which:
Reference will now be made in detail to the subject matter disclosed, which is illustrated in the accompanying drawings.
Referring generally to
As shown in
Other methods of determining a whether a predetermined time threshold has been reached are contemplated by the current disclosure. Timer 170 may be external (not shown) to second controller 120. As stated herein, starting of timer 170 may refer to any method of recording a time reference for determination of a whether a predetermined time threshold has been reached. Resetting of timer 170 may refer to any method of discarding or ignoring the previous time reference and recording a new time reference for determination of whether a predetermined time threshold has been reached.
As shown in
Referring generally to
Flowchart 200 may further include decision block 250 representing determining whether the timer has reached a predetermined threshold. Flowchart 200 may proceed to decision block 250 from decision block 240 upon determining the NIC 150 has not received a sleep packet. Flowchart 200 may proceed to block 230 from decision block 240 upon determining the NIC has received a sleep packet. Flowchart 200 may further include block 260 representing the NIC initiating a power-up sequence. Flowchart 200 may proceed to block 260 from decision block 250 upon determining the timer has reached a predetermined time threshold. Flowchart 200 may proceed to decision block 240 from decision block 250 upon determining the timer has not reached a predetermined time threshold.
Referring generally to
The method 300 may further include a block 320 representing operating the first NIC in low power mode. Operating the first NIC 150 in the low power mode may include operating the first storage controller in a low power mode. In other embodiments, operating the first NIC 150 in the low power mode may include operating any device containing the first NIC (ex—computer, computing system, information handling device) in a low power mode. The method 300 may further include a block 330 representing transitioning the first NIC from low power mode to a power-up sequence if a sleep packet is not received from a second NIC 140 at the first NIC 150 within a predetermined time threshold. In an embodiment, the sleep packet may be received via an Ethernet connection. Transitioning the first NIC 150 from low power mode to a power-up sequence may include initiating a power-up sequence for the device containing the first NIC (ex—storage controller, computer, information handling device). The method 300 may further include a block 340 representing starting a timer 170 within the first NIC corresponding with operating the first NIC in the low power mode.
The method 300 may further include a block 350 representing resetting the timer if the sleep packet is received from the second NIC 140 at the first NIC 150 within the predetermined time threshold.
Referring generally to
In the present disclosure, the methods disclosed may be implemented as sets of instructions or software or firmware readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are examples of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.
It is to be understood that the present invention may be conveniently implemented in forms of a software package. Such a software package may be a computer program product or firmware which employs a computer-readable storage medium including stored computer code which is used to program a computer or processor to perform the disclosed function and process of the present invention. The computer-readable medium/computer-readable storage medium may include, but is not limited to, any type of conventional floppy disk, optical disk, CD-ROM, magnetic disk, hard disk drive, magneto-optical disk, ROM, RAM, EPROM, EEPROM, magnetic or optical card, or any other suitable media for storing electronic instructions.
It is believed that the present disclosure and many of its attendant advantages will be understood by the foregoing description, and it will be apparent that various changes may be made in the form, construction and arrangement of the components without departing from the disclosed subject matter or without sacrificing all of its material advantages. The form described is merely explanatory, and it is the intention of the following claims to encompass and include such changes.
Number | Name | Date | Kind |
---|---|---|---|
6189108 | Cromer et al. | Feb 2001 | B1 |
7317732 | Mills et al. | Jan 2008 | B2 |
7716498 | Connor et al. | May 2010 | B1 |
20030210658 | Hernandez et al. | Nov 2003 | A1 |
20040207440 | Robertson et al. | Oct 2004 | A1 |
20060075269 | Liong et al. | Apr 2006 | A1 |
20060242328 | Guo et al. | Oct 2006 | A1 |
20070130332 | Malkin et al. | Jun 2007 | A1 |
20080104424 | Jennings | May 2008 | A1 |
20100246591 | Gobriel et al. | Sep 2010 | A1 |
Number | Date | Country | |
---|---|---|---|
20120084590 A1 | Apr 2012 | US |