Patent ID: 7676606

Claim:
A method for programming a plurality of programmable devices within a network interface card, comprising: monitoring, at a monitoring module, a voltage level of a status pin for each one of the plurality of programmable devices, wherein the plurality of programmable devices are coupled as a series of programmable devices to allow a first programmable device of the plurality of programmable devices to use programming information and communicate the programming information to a second programmable device of the plurality of programmable devices and each status pin is coupled to the monitoring module and each status pin is separately monitored by the monitoring module and each programmable device has a programmable state indicating an ability to receive programming instructions and an operating state indicating operation according to the programming instructions, the programmable state and the operating state of each of the plurality of programmable devices being determined by the voltage level of its respective status pin; detecting whether each of the plurality of programmable devices is driving the status pin to a predetermined voltage indicating corresponding status; maintaining state information for each of the plurality of programmable devices, the state information indicating whether each of the plurality of programmable devices is programmed; determining each single point of failure in the series of programmable devices, wherein the single point of failure represents a failed programmable device that is not programmed or is not programmed within a timeout period; and transitioning the programmed programmable devices to the operating state by adjusting the voltage level of each status pin, wherein the programmed programmable devices are separately transitioned to the operating state.