IP Library Granted Patent US 9,891,996
Granted Patent B2
US 9,891,996 · App. 14/331,946 · Granted Feb 13, 2018

Apparatus and method for recovering an information handling system from a non-operational state

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 9,891,996
App. No.
14/331,946
Granted
Feb 13, 2018
Kind
B2
Abstract

A method recovers an information handling system (IHS) from a non-operational state. The method includes determining if the non-operational state of the IHS has occurred. In response to determining that the non-operational state of the IHS has occurred, a basic input-output (BIOS) recovery device is identified as being coupled to an embedded controller. In response to identifying that the BIOS recovery device is coupled to the embedded controller, an IHS type is transmitted to the BIOS recovery device. The BIOS recovery device is signaled to determine if the BIOS recovery device contains a BIOS payload corresponding to the IHS type. In response to determining that the BIOS recovery device contains the BIOS payload corresponding to the IHS type, the BIOS recovery device is triggered to transmit the BIOS payload to the embedded controller. The IHS is triggered to restart using the new BIOS payload.

Claims (93)

1. A computer implemented method for recovering an information handling system (IHS) from a non-operational state, the method comprising:

determining, via an embedded controller of the IHS, if the non-operational state of the IHS has occurred, wherein the non-operational state of the IHS occurs when an update to BIOS malfunctions;

in response to determining that the non-operational state of the IHS has occurred, identifying if a BIOS recovery device is communicatively coupled to the embedded controller;

in response to identifying that the BIOS recovery device is communicatively coupled to the embedded controller, authenticating whether the BIOS recovery device is authorized to communicate with the IHS;

in response to the BIOS recovery device being authorized to communicate with the IHS, triggering the BIOS recovery device to transmit a first BIOS payload from the BIOS recovery device to the embedded controller by:

transmitting a first IHS type to the BIOS recovery device;

determining if the BIOS recovery device contains a first BIOS payload corresponding to the first IHS type; and

in response to the BIOS recovery device containing the first BIOS payload, triggering the BIOS recovery device to transmit the first BIOS payload from the BIOS recovery device to the embedded controller; and

triggering the IHS to restart using the first BIOS payload.

2. The method of claim 1 , further comprising:

signaling the BIOS recovery device to determine if the BIOS recovery device contains a first BIOS payload corresponding to the first IHS type.

3. The method of claim 1 , wherein in response to determining that the BIOS recovery device does not contain the first BIOS payload corresponding to the first IHS type, disconnecting the BIOS recovery device.

4. The method of claim 1 , further comprising:

in response to the BIOS recovery device not being authorized to communicate with the IHS, preventing the embedded controller from communicating with the BIOS recovery device.

5. The method of claim 1 , further comprising:

identifying whether the IHS supports a serial peripheral interface to at least one processor support component; and

in response to the IHS supporting the serial peripheral interface to the least one processor support component:

resetting the processor support components;

emulating, via the embedded controller, the serial peripheral interface; and

triggering the BIOS recovery device to transmit the first BIOS payload from the BIOS recovery device to the at least one processor support component.

6. The method of claim 1 , wherein:

the BIOS recovery device is communicatively coupled to the embedded controller via at least one of a universal serial bus connector, a battery connector, an audio connector and a power connector.

7. The method of claim 5 , further comprising:

in response to the IHS not supporting the serial peripheral interface to the at least one processor support component, determining if a previous recovery attempt was successful;

in response to the previous recovery attempt not being successful, preventing a write operation to a protected region of the memory device;

decoding a write address associated with the first BIOS payload;

determining if the write address is within the protected region of the memory device; and

in response to the write address not being within the protected region of the memory device, transmitting the first BIOS payload to a memory interface device.

8. The method of claim 7 , further comprising:

determining if the first BIOS payload has been stored to the memory device;

in response to the first BIOS payload being stored to the memory device, incrementing a recovery attempt counter; and

triggering the IHS to restart using the first BIOS payload.

9. The method of claim 7 further comprising:

determining if the first BIOS payload has been stored to the memory device;

in response to the first BIOS payload not being stored to the memory device, setting a hardware failure flag; and

disconnecting the BIOS recovery device.

10. An information handling system (IHS) comprising:

a processor;

a memory coupled to the processor via a system interconnect;

an embedded controller communicatively coupled to the system interconnect, the embedded controller having firmware executing thereon to enable the IHS to recover from a non-operational state of the IHS, wherein the firmware configures the embedded controller to:

determine when the non-operational state of the IHS has occurred, wherein the non-operational state of the IHS occurs when an update to BIOS malfunctions;

in response to determining that the non-operational state of the IHS has occurred, identify if a BIOS recovery device is communicatively coupled to the embedded controller;

in response to identifying that the BIOS recovery device is communicatively coupled to the embedded controller, authenticate whether the BIOS recovery device is authorized to communicate with the IHS;

in response to the BIOS recovery device being authorized to communicate with the IHS, trigger the BIOS recovery device to transmit the first BIOS payload from the BIOS recovery device to the embedded controller, wherein the embedded controller:

transmits a first IHS type to the BIOS recovery device;

determines if the BIOS recovery device contains a first BIOS payload corresponding to the first IHS type; and

in response to the BIOS recovery device containing the first BIOS payload:

trigger the BIOS recovery device to transmit the first BIOS payload from the BIOS recovery device to the embedded controller; and

trigger the IHS to restart using the first BIOS payload.

11. The information handling system of claim 10 , wherein the firmware further configures the embedded controller to:

signal the BIOS recovery device to determine if the BIOS recovery device contains a first BIOS payload corresponding to the first IHS type.

12. The information handling system of claim 10 , wherein in response to determining that the BIOS recovery device does not contain the first BIOS payload corresponding to the first IHS type, the firmware further configures the embedded controller to disconnect the BIOS recovery device.

13. The information handling system of claim 10 , wherein the firmware further configures the embedded controller to:

in response to the BIOS recovery device not being authorized to communicate with the IHS, prevent the embedded controller from communicating with the BIOS recovery device.

14. The information handling system of claim 10 , wherein the firmware further configures the embedded controller to:

identify whether the IHS supports a serial peripheral interface to at least one processor support component; and

in response to the IHS supporting the serial peripheral interface to the least one processor support component:

reset the processor support components;

emulate, via the embedded controller, the serial peripheral interface; and

trigger the BIOS recovery device to transmit the first BIOS payload from the BIOS recovery device to the at least one processor support component.

15. The information handling system of claim 10 , wherein:

the BIOS recovery device is communicatively coupled to the embedded controller by at least one connector of a universal serial bus connector, a battery connector, an audio connector and a power connector.

16. The information handling system of claim 14 , wherein the firmware further configures the embedded controller to:

in response to the IHS not supporting the serial peripheral interface to the at least one processor support component, determine if a previous recovery attempt was successful;

in response to the previous recovery attempt not being successful, prevent a write operation to a protected region of the memory device;

decode a write address associated with the first BIOS payload;

determine if the write address is within the protected region of the memory device; and

in response to the write address not being within the protected region of the memory device, transmit the first BIOS payload to a memory interface device.

17. The information handling system of claim 16 , wherein the firmware further configures the embedded controller to:

determine if the first BIOS payload has been stored to the memory device;

in response to the first BIOS payload being stored to the memory device, increment a recovery attempt counter; and

trigger the IHS to restart using the first BIOS payload.

18. The information handling system of claim 16 , wherein the firmware further configures the embedded controller to:

determine if the first BIOS payload has been stored to the memory device;

in response to the first BIOS payload not being stored to the memory device, set a hardware failure flag; and

disconnect the BIOS recovery device.

19. A basic input-output system (BIOS) recovery device for recovering an information handling system (IHS) from a non-operational state of the IHS, the BIOS recovery device configured to be selectively connected to the IHS, the BIOS recovery device comprising:

a micro-controller;

a storage device communicatively coupled to the micro-controller;

at least one BIOS payload stored on the storage device;

the micro-controller having firmware executing thereon to enable the IHS to recover from the non-operational state of the IHS, wherein the non-operational state of the IHS occurs when an update to BIOS malfunctions, and wherein the firmware configures the micro-controller to:

receive a request from an embedded controller of the IHS to determine if the storage device contains a first BIOS payload corresponding to a first IHS type associated with the connected IHS;

in response to receiving the request and determining that the storage device contains the first BIOS payload corresponding to the first IHS type, authenticate whether the BIOS recovery device is authorized to communicate with the IHS;

in response to the BIOS recovery device being authorized to communicate with the IHS, receive a trigger from the embedded controller to the BIOS recovery device to transmit the first BIOS payload from the BIOS recovery device to the embedded controller; and

in response to receiving the trigger, transmit the first BIOS payload from the BIOS recovery device to the embedded controller.

20. The BIOS recovery device of claim 19 , wherein IHS includes at least one external device connector that allows the IHS to be coupled to the BIOS recovery device.

21. The BIOS recovery device of claim 19 , wherein:

the at least one connector is one or more of a universal serial bus connector, a battery connector, an audio connector and a power connector.

22. The BIOS recovery device of claim 19 , wherein the firmware further configures the micro-controller to:

receive a payload store request;

receive the first BIOS payload;

verify a payload signature; and

in response to verifying the payload signature, store the first BIOS to the storage device.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 033625 FRAME 0748 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0050 →
RELEASE OF REEL 033625 FRAME 0688 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0757 →
RELEASE OF REEL 033625 FRAME 0711 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040016/0903 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 033625/0688 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033625/0748 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033625/0711 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2014
From: GOPAL, PRADEEP; VYSSOTSKI, NIKOLAI V.; TONRY, RICHARD M.
To: DELL PRODUCTS, L.P.
Reel/Frame 033316/0426 →