Patent ID: 8713551

Claim:
An apparatus for non-interruptively updating firmware on redundant hardware controllers, the apparatus comprising: a routing module configured to route hardware management commands and firmware update commands from a service processor to a primary redundant hardware controller via a shared serial connection, the primary redundant hardware controller being in an active state to execute all hardware management commands received from the service processor via the shared serial connection; a receiving module coupled to the routing module, the receiving module configured to receive the hardware management and firmware update commands from the service processor to the primary redundant hardware controller via the shared serial connection; a forwarding module coupled to the receiving module, the forwarding module configured to forward the firmware update commands via a dedicated point to point connection from the primary redundant hardware controller to a secondary redundant hardware controller without executing the firmware update commands on the primary redundant hardware controller while the primary redundant hardware controller is in the active state, the secondary redundant hardware controller being configured to receive the firmware update commands over the point to point connection when the secondary redundant hardware controller is in an idle state and the primary redundant hardware controller is in the active state; an implementation module configured to execute the firmware update commands on the secondary redundant hardware controller to update a firmware image on the secondary redundant hardware controller, wherein the primary redundant hardware controller executes the hardware management commands concurrently with the execution of the firmware update commands on the secondary redundant hardware controller; and a termination module configured to place the secondary redundant hardware controller in the active state and place the primary redundant hardware controller in the idle state after execution of the firmware update commands on the secondary redundant hardware controller; wherein the routing module, receiving module, forwarding module, implementation module, and termination module comprise one or more of logic hardware or at least one non-transitory machine-readable storage medium having executable code stored thereon.