IP Library Granted Patent US 9,600,295
Granted Patent B2
US 9,600,295 · App. 14/589,601 · Granted Mar 21, 2017

Systems and methods of providing multiple video outputs during a pre-boot environment

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,600,295
App. No.
14/589,601
Granted
Mar 21, 2017
Kind
B2
Abstract

Systems and methods for providing pre-boot displays at the same time on both a discrete video controller and an embedded video controller of an information handling system in a pre-boot environment, e.g., such that a discrete video controller provides video data for generating a video display during pre-boot operations, while at the same time the embedded video controller also remains active and synchronized with the discrete video controller so that the embedded video controller simultaneously provides video data for generating a video display during pre-boot operations.

Claims (73)

1. A method of operating an information handling system that includes a host processing device coupled to at least one embedded or integral video controller and at least one discrete video controller, the method comprising using the host processing device to perform the following steps prior to booting an operating system (OS) on the host processing device:

initializing and enabling the embedded or integral video controller to produce pre-boot video data; and

initializing and enabling the discrete video controller to produce pre-boot video data, the pre-boot video data produced by the discrete video controller being simultaneously produced with the pre-boot video data produced by the embedded or integral video controller.

2. The method of claim 1 , where the information handling system further includes an out-of-band processing device that is coupled to at least the embedded or integral video controller; and where the method further comprises performing the following steps prior to booting the OS on the host processing device:

initializing and enabling the discrete video controller to produce pre-boot video data to generate a local video display on a local user display device coupled to the discrete video controller, the pre-boot video data produced by the discrete video controller being simultaneously produced with the pre-boot video data produced by the embedded or integral video controller; and

using the out-of-band processing device to monitor the pre-boot video data produced by the embedded or integral video controller, and to produce the monitored embedded or integral controller-produced pre-boot video data to generate a remote video display on a remote user display device that is remotely coupled to the information handling system, the remote video display being generated simultaneously with the local video display.

3. The method of claim 2 , where the local video display generated on the local user display device includes the same video display information as the remote video display simultaneously generated on the remote user display device.

4. The method of claim 2 , further comprising using the host processing device to execute at least a portion of a power-on-self-test (POST) prior to booting an OS on the host processing device, and after the steps of initializing and enabling the embedded or integral video controller to produce pre-boot video data and initializing and enabling the discrete video controller to produce pre-boot video data; and where the local video display generated on the local user display device and simultaneously generated on the remote user display device each includes POST display information generated during the POST.

5. The method of claim 1 , further comprising performing the following steps after producing the pre-boot video data from the discrete video controller simultaneously with the pre-boot video data produced by the embedded or integral video controller:

disabling the embedded or integral video controller; and

only then booting an OS on the host processing device.

6. The method of claim 1 , further comprising using the host processing device to execute a system BIOS to perform the steps of initializing and enabling the embedded or integral video controller to produce pre-boot video data, and initializing and enabling the discrete video controller to produce pre-boot video data.

7. The method of claim 1 , further comprising:

using the host processing device to execute a BIOS setup utility or a provisioning or deployment script to allow a user to enter an embedded or integral video controller disable command;

then determining whether an embedded or integral video controller disable command has been previously entered by a user and is currently effective; and then:

performing the steps of initializing and enabling the embedded or integral video controller and initializing and enabling the discrete video controller when it is determined that an embedded or integral video controller disable command is currently effective; and

only initializing and enabling the embedded or integral video controller when it is determined that no embedded or integral video controller disable command is currently effective.

8. The method of claim 1 , further comprising:

using the host processing device to execute a system BIOS to determine whether a current boot mode is a legacy BIOS mode or a Unified Extensible Firmware Interface (UEFI) boot mode prior to the initializing the embedded or integral video controller; and

then performing the following steps to initialize each of the embedded or integral video controller and the discrete video controller to produce pre-boot video data if the current boot mode is determined to be a legacy boot mode:

initializing the embedded or integral video controller to produce pre-boot video data by loading legacy video option ROM firmware for the embedded or integral video controller to initialize video from the embedded or integral video controller,

then unloading the legacy video option ROM for the embedded or integral video controller, and

initializing the discrete video controller to produce pre-boot video data by loading the legacy video option ROM for the discrete video controller and synchronizing the video display on the embedded or integral video controller with the video display on the discrete video controller; or

then performing the following steps if the current boot mode is determined to be a UEFI boot mode:

adding both a UEFI device path for the discrete video controller and a UEFI device path for the embedded or integral video controller during a console initialization step to the UEFI Console In/Console Out (ConIn/ConOut), and

connecting to a driver of the discrete video controller to initialize the discrete video controller to produce pre-boot video data and connecting to a driver of the embedded or integral video controller to initialize the embedded or integral video controller to produce pre-boot video data.

9. The method of claim 8 , further comprising using the host processing device to execute at least a portion of a power-on-self-test (POST) after initializing each of the embedded or integral video controller and the discrete video controller to produce pre-boot video data and prior to booting an OS.

10. The method of claim 9 , further comprising performing the following steps after using the host processing device to execute the POST:

disabling the embedded or integral video controller; and

only then booting the OS on the host processing device.

11. An information handling system, comprising:

at least one embedded or integral video controller;

at least one discrete video controller; and

a host processing device coupled to the embedded or integral video controller and the discrete video controller;

where the host processing device is configured to perform the following steps prior to booting an operating system (OS) on the host processing device:

initializing and enabling the embedded or integral video controller to produce pre-boot video data; and

initializing and enabling the discrete video controller to produce pre-boot video data simultaneously with the pre-boot video data produced by the embedded or integral video controller.

12. The system of claim 11 , further comprising:

an out-of-band processing device that is coupled to the embedded or integral video controller;

where the at least one discrete video controller is configured to be coupled to at least one local display device;

where the host processing device is further configured to perform the following step prior to booting the OS on the host processing device:

initializing and enabling the discrete video controller to produce pre-boot video data to generate a local video display on a local user display device coupled to the discrete video controller such that the pre-boot video data produced by the discrete video controller is simultaneously produced with the pre-boot video data produced by the embedded or integral video controller; and

where the at least one discrete video controller is configured to be coupled to at least one local display device; and

where the out-of-band processing device is further configured to monitor the pre-boot video data produced by the embedded or integral video controller, and to produce the monitored embedded or integral controller pre-boot video data to generate a remote video display on a remote user display device that is remotely coupled to the information handling system, the remote video display being generated simultaneously with the local video display prior to booting the OS on the host processing device.

13. The system of claim 12 , where the host processing device is configured to execute at least a portion of a power-on-self-test (POST) prior to booting the OS on the host processing device, and after the steps of initializing and enabling the embedded or integral video controller to produce pre-boot video data and initializing and enabling the discrete video controller to produce pre-boot video data; and where the local video display generated on the local user display device and simultaneously generated on the remote user display device each includes POST display information generated during the POST.

14. The system of claim 11 , where the host processing device is further configured to perform the following steps after the pre-boot video data is produced from the discrete video controller simultaneously with the pre-boot video data produced by the embedded or integral video controller:

disabling the embedded or integral video controller; and

only then booting the OS on the host processing device.

15. The system of claim 11 , where the host processing device is further configured to execute a system BIOS to initialize and enable the embedded or integral video controller to produce pre-boot video data, and to initialize and enable the discrete video controller to produce pre-boot video data.

16. The system of claim 11 , where the host processing device is further configured to:

execute a BIOS setup utility or a provisioning or deployment script to allow a user to enter an embedded or integral video controller disable command; and then

perform the steps of initializing and enabling the embedded or integral video controller and initializing and enabling the discrete video controller when it is determined that an embedded or integral video controller disable command is currently effective, and

only initialize and enable the embedded or integral video controller when it is determined that no embedded or integral video controller disable command is currently effective.

17. The system of claim 11 , where the host processing device is configured to execute a system BIOS to determine whether a current boot mode is a legacy BIOS mode or a Unified Extensible Firmware Interface (UEFI) boot mode prior to the initializing the embedded or integral video controller; and then either one of:

perform the following steps to initialize each of the embedded or integral video controller and the discrete video controller to produce pre-boot video data if the current boot mode is determined to be a legacy boot mode:

initializing the embedded or integral video controller to produce pre-boot video data by loading legacy video option ROM firmware for the embedded or integral video controller to initialize video from the embedded or integral video controller,

then unloading the legacy video option ROM for the embedded or integral video controller, and

initializing the discrete video controller to produce pre-boot video data by loading the legacy video option ROM for the discrete video controller and synchronizing the video display on the embedded or integral video controller with the video display on the discrete video controller; or

perform the following steps if the current boot mode is determined to be a UEFI boot mode:

adding both a UEFI device path for the discrete video controller and a UEFI device path for the embedded or integral video controller during a console initialization step to the UEFI Console In/Console Out (ConIn/ConOut), and

connecting to a driver of the discrete video controller to initialize the discrete video controller to produce pre-boot video data and connect to a driver of the embedded or integral video controller to initialize the embedded or integral video controller to produce pre-boot video data.

18. The system of claim 17 , where the host processing device is further configured to execute at least a portion of a power-on-self-test (POST) after initializing each of the embedded or integral video controller and the discrete video controller to produce pre-boot video data and prior to booting an OS.

19. The system of claim 18 , where the host processing device is further configured to perform the following steps after using the host processing device to execute the POST:

disabling the embedded or integral video controller; and

only then booting the OS on the host processing device.

20. A method of operating an information handling system that includes a host processing device coupled to at least one embedded or integral video controller and at least one discrete video controller and an out-of-band processing device that is coupled to at least the embedded or integral video controller, the method comprising performing the following steps prior to booting an OS on the host processing device:

using the host processing device to execute a BIOS setup utility or a provisioning or deployment script to allow a user to enter an embedded or integral video controller disable command; and

then performing the following steps if a currently effective embedded or integral video controller disable command exists:

initializing and enabling the embedded or integral video controller to produce pre-boot video data,

initializing and enabling the discrete video controller to produce pre-boot video data to generate a local video display on a local user display device coupled to the discrete video controller, the pre-boot video data produced by the discrete video controller being simultaneously produced with the pre-boot video data produced by the embedded or integral video controller, and

using the out-of-band processing device to monitor the pre-boot video data produced by the embedded or integral video controller, and to produce the monitored embedded or integral controller pre-boot video data to generate a remote video display on a remote user display device that is remotely coupled to the information handling system, the remote video display being generated simultaneously with the local video display; or

then performing the following steps if a currently effective embedded or integral video controller disable command does not exist:

initializing and enabling only the embedded or integral video controller to produce pre-boot video data.

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 035103 FRAME 0809 (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.
Reel/Frame 040027/0934 →
RELEASE OF REEL 035104 FRAME 0043 (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.
Reel/Frame 040027/0123 →
RELEASE OF REEL 035103 FRAME 0536 (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.
Reel/Frame 040016/0864 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035104/0043 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035103/0809 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035103/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2015
From: LIU, WEI
To: DELL PRODUCTS L.P.
Reel/Frame 034724/0818 →