CROSS-REFERENCE TO RELATED APPLICATIONS

N/A

BACKGROUND

The motherboard of a computer typically includes a number of connectors (or slots) that allow the end user to selectively connect devices. For example, a motherboard for a laptop may have a M.2 connector for connecting a solid state drive (SSD) module, one or more small outline dual in-line memory module (SODIMM) connectors for connecting one or more SODIMMs, a M.2 connector for connecting a WLAN module, etc. To prevent corrosion, such connectors (or more particularly, the contacts of such connectors) may be plated with gold or another conductive, corrosion-resistant metal.

In some cases, end users may repeatedly connect and disconnect devices to the respective connectors on the motherboard. For example, some end users may be required to connect an SSD module at the beginning of the workday and then disconnect it at the end of the workday. These repeated connection cycles may cause the connector's plating to wear away over time thereby exposing the underlying metal. The resulting oxidation of the underlying metal can cause the connector to fail. For connectors with very thin plating, oxidation may commence after a few connection cycles.

To address this issue, some manufacturers may use thicker plating to increase the number of connection cycles that may be performed before the plating is worn away. However, considering the cost of gold, thicker plating may be cost prohibitive for many end users. Additionally, although periodic cleaning may prolong the life of a connector having worn plating, it may ultimately be necessary to replace the motherboard.

BRIEF SUMMARY

The present invention extends to methods, systems and computer program products for predicting motherboard connector failures. An embedded controller can be employed on the motherboard of a computer to monitor when devices are connected to and disconnected from the motherboard's connectors. The embedded controller can maintain an event log identifying when a device is connected to/disconnected from each monitored connector. The embedded controller can also maintain connector information in which it counts the number of times a device is connected to/disconnected from a connector including when the system is not in an active state. The system BIOS can leverage the event log and the connector information to notify an end user to take corrective or preventive action.

In some embodiments, the embedded controller may additionally or alternately maintain training records for the monitored connectors. The embedded controller can employ a training record to initially calculate a connector's baseline training time and baseline training voltage. After the computer has been used for a period of time, the embedded controller can subsequently calculate the connector's training time and training voltage to determine to what extent they deviate from the baseline training time and baseline training voltage. If the current training time or training voltage deviates from the baseline training time or baseline training voltage in excess of a defined threshold, the system BIOS can notify an end user to take corrective or preventive action.

In some embodiments, the present invention is implemented by a component of a motherboard as a method for predicting motherboard connector failures. The component, such as an embedded controller, can detect when a device is connected to or disconnected from a monitored connector. Each time the component detects that a device is connected to or disconnected from the monitored connector, it can increment a count. The component can compare the count to a maximum count for the monitored connector. When the count exceeds the maximum count, the component can notify an end user.

In some embodiments, the present invention is implemented by a component of a motherboard as a method for predicting motherboard connector failures. During each of an initial set of boots, the component can calculate and store a training time and a training voltage for a monitored connector. The component can then calculate a baseline training time from the training times stored during the initial set of boots and a baseline training voltage from the training voltages stored during the initial set of boots. During each of a subsequent set of boots; the component can calculate and store a training time and a training voltage for the monitored connector. The component can then calculate a periodic training time from the training times stored during the subsequent set of boots and a periodic training voltage from the training voltages stored during the subsequent set of boots. The component can compare the periodic training time to the baseline training time and the periodic training voltage to the baseline training voltage. When either the periodic training time exceeds the baseline training time by a defined threshold or the periodic training voltage exceeds the baseline training voltage by a defined threshold, an end user can be notified.

In some embodiments, the present invention can be implemented as a motherboard having an embedded controller and one or more monitored connectors. The embedded controller can be configured to perform a method for predicting a failure of the one or more monitored connectors. The embedded controller can maintain a count and a maximum count for each of one or more monitored connectors. The embedded controller can detect when a device is connected to or disconnected from any of the one or more monitored connectors. Each time the embedded controller detects that a device is connected to or disconnected from a particular monitored connector of the one or more monitored connectors, it can increment the count for the particular monitored connector. In response to determining that the count for a particular monitored connector of the one or more monitored connectors exceeds the maximum count for the particular monitored connector, an end user can be notified.

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter.

