Fast Boot Times with InsydeH2O


Published on

Learn how InsydeH2O can help your next Intel Atom platform achieve faster boot times.

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • The demonstration is based on the Intel Crown Bay Reference Board and Atom microprocessor. It will showcase three platforms with three levels of optimization: a typical, general purpose netbook, a tablet that will run a fixed application set with a full display, and a fully embedded platform with a very limited user interface that runs without any video display or USB human interface.
  • This reference board supports an Intel Atom E6xx processor, code named Tunnel Creek and an EG20T SCH, code named Top Cliff. The platform is capable of 3D graphics, video encode and video decode. It implements SATA mass storage interfaces, master and target USB interfaces, MMC and SD small form factor devices and simple digital I/O, UARTs and I2C buses.All three platforms will be running the fully functional, Intel Framework based, InsydeH2O UEFI BIOS.
  • This photo shows the Little Bay board mounted on the Shell Bay base board using an industry standard COM Express connector. The Little Bay is in the lower center part of the picture.
  • The Crown Bay platform supports only two video interfaces: an LVDS connector and an SDVO slot that requires an SDVO to VGA adapter should a VGA monitor interface be required.And since many embedded platforms use an SDHC card as the primary boot device for both performance and cost reasons, InsydeH2O supports booting directly from an SDHC card using the EG20T’s built in SDHC controller.This slide lists the hardware interfaces used in the comparison of the boot times.For the boot time measurements, we will use a test utility developed by Insyde for this purpose internally, the Insyde IRU Tool. Besides its other functions, it can extract the boot time stamp data stored by a special build of the BIOS during the boot process.
  • Smart Boot is an element of the InsydeH2O setup browser menus, created specifically to allow a user to skip over certain drivers not required for booting, for example, USB drivers.Even if the InsydeH2O drivers are not loaded and initialized, the devices are still available for the OS to configure and use. For example, if USB is disabled in the Smart Boot menu, InsydeH2O will not enumerate any USB devices, but Windows will find, enumerate and be able to use them.
  • This menu shows the default setting of the Smart Boot configuration.Notice that the UEFI drivers for all the hardware devices except the network controller (the PXE boot driver, that is) are enabled during POST.
  • This shows Smart Boot configuration where all drivers except the ISA interface driver, which supports the PS/2 keyboard, and the SDHC interface driver have been disabled.
  • The SETUP browser configuration page permits a certain limited amount of fine tuning to optimize boot times.ISA controls the initialization of any LPC attached devices.SATA and SDHC control initialization of the SATA and SDHC mass storage devices in the system.And MISC controls the logo display and PCI-e initialization among a few other things.
  • An examination of the performance log shows that the BIOS video driver takes about 2.5 seconds to provide graphics support.This includes the time taken by the VBIOS to initialize the video hardware interfaces.Many embedded platforms: for example, printers, routers, machinery controllers, etc., do not require video at all, and even more may not require it prior to OS initialization. Removing video support from InsydeH2O is as simple as editing the Build.dsc descriptor file to remove the video driver and VGA BIOS from the built firmware volumes.Removing the video support and enabling only the SDHC and ISA drivers, we can achieve a 2.3 second boot time – this is the time from the first instruction executed by the BIOS to the BIOS executing an INT 19h launch the OS boot loader.
  • InsydeH2O has a build time option to enable performance logging during the boot process.The performance data is stored in the BIOS flash for each boot and it can be extracted using the IRU tool after booting to DOS or Windows. The CSV file created by the IRU tool can be imported into a spreadsheet for easier analysis of the captured data.Like any profiling data, it can be examined by the BIOS engineer to isolate bottlenecks and potentially unnecessary code.
  • Here is a very simple example of part of a performance log file as presented by the IRU tool.
  • This chart shows the three different platform boot times.The original, or “Normal” boot time in the first column has non-zero execution times for all the UEFI drivers affected by our fine tuning. And the total boot time for the full function BIOS is almost 8.8 seconds.Disabling USB and SATA eliminated the execution of seven of the UEFI drivers, saving over 3.7 seconds.Finally, disabling loading and executing the video BIOS saved another 2.7 seconds giving an optimized boot time of only 2.3 seconds for the final tuned platform.
  • In summary, it is clear that InsydeH2O for the Crown Bay reference board can be quickly and easily configured to improve boot times.By profiling, an engineer can identify drivers not needed that take significant time during the boot and by skipping them, reduce the boot time even further.This demonstration was done with a standard Intel Crown Bay platform booting to MSDOS.A customized OEM platform with more extensive profiling, removal of additional unneeded drivers and code optimization can achieve a boot time of well under two seconds.
  • Fast Boot Times with InsydeH2O

    1. 1. Fast Boot Times with InsydeH2O® Insyde Software © 2013 Insyde Software 1
    2. 2. Introduction • The purpose of this presentation is to demonstrate how to configure InsydeH2O to optimize the boot time on Intel Atom platform • The demonstration platform used is the Intel Crown Bay Reference Board. • The demonstration will use three different configurations of InsydeH2O and compare the boot time recorded using Insyde IRU tool. © 2013 Insyde Software
    3. 3. Intel Crown Bay Reference Board • Intel Atom processor E6xx series • Integrated processor with 3D graphics and video encode/decode plus memory and display controller • Intel Hyper-Threading Technology • Intel VT-x • Intel Platform Controller Hub EG20T • Integrated I/O blocks include SATA, USB 2.0 Host and Client, SD/SDIO/MMC, Gbe MAC, CAN, IEEE 1588, SPI, I2C, UART and GPIO • Running InsydeH2O EFI BIOS © 2013 Insyde Software
    4. 4. Crown Bay Block Diagram © 2013 Insyde Software
    5. 5. Crown Bay Board © 2013 Insyde Software
    6. 6. Test Setup • Hardware 1. Crown Bay board 2. AT power supply 3. Chrontel SDVO to VGA adapter board 4. PS/2 keyboard 5. Bootable SDHC card with DOS • Software 1. Insyde IRU tool to dump boot performance log © 2013 Insyde Software
    7. 7. Insyde Smart Boot Technology • Smart Boot configuration is done through InsydeH2O’s SETUP browser • It allows a user to skip many drivers during boot • This reduces the boot time by the time those skipped drivers would have taken to execute © 2013 Insyde Software
    8. 8. Smart Boot Configuration – Normal © 2013 Insyde Software
    9. 9. Smart Boot Configuration – SDHC only © 2013 Insyde Software
    10. 10. Summary of Configuration Changes • ISA – controls initializing devices on the LPC bus such as the UARTs, other Super I/O devices and the PS/2 keyboard and mouse controller. • SATA – controls the SATA controller’s initialization in the EG20T • SDHC – controls the SDHC controller initialization • MISC – controls the display of an OEM logo, PCI or PCI-e port initialization and generic mouse initialization © 2013 Insyde Software
    11. 11. Disabling Video Support • Video support in BIOS takes about 2.5 seconds • Many embedded applications do not require video • Removing Video support requires modifying the descriptor file (Buid.dsc) to disable Video BIOS and Video Driver • After this, the BIOS boot time is under 3 seconds © 2013 Insyde Software
    12. 12. Monitoring Boot Performance • Build time switch to enable performance monitoring during PEI and DXE phase. • Creates a time stamp for each driver entry and exit • Insyde IRU tool is used to read the performance data and create a log file. • Log file lists time taken by each EFI driver. © 2013 Insyde Software
    13. 13. Boot Performance Log sample © 2013 Insyde Software
    14. 14. Boot Performance Comparison BIOS Module Normal (msec) SDHC Only (msec) SDHC Only No Video (msec) USBMassStorage 474 0 0 BiosVideo 2396 2347 0 Ahci 578 0 0 UsbKb 36 0 0 UsbMouse 55 0 0 UsbBus 615 0 0 Ohci 1262 0 0 Ehci 565 0 0 SEC Phase Duration 22 23 23 PEI Phase Duration 445 445 414 DXE Phase Duration 799 693 656 BDS Phase Duration 7517 3894 1232 Total Duration 8783 5055 2325 © 2013 Insyde Software
    15. 15. Summary • InsydeH2O for the Crown Bay platform can be easily configured to improve boot times. • Skipping drivers not required for boot can significantly improve the boot time. • This demonstration is done using a standard InsydeH2O implementation on Intel Atom platform. It is possible to achieve a boot time of under 2 seconds by further customizing InsydeH2O for a specific OEM hardware platform. © 2013 Insyde Software
    16. 16. Thank You! © 2013 Insyde Software 16
    17. 17. For inquiries, please contact Ed Brohm at Insyde Software Insyde, InsydeH2O and Ready for the Next are registered trademarks of Insyde Software. Intel and Intel Atom are trademarks or registered trademarks of Intel Corporation in the United States and other countries. © 2013 Insyde Software