Multi-Boot Device Hardware Sequence Number Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional multi-booting systems require significant software changes and recompilation of boot images whenever a different boot device is selected, lacking a fail-safe method for updating boot images without resetting the system.
Innovation Solution
The system employs a method where boot images are assigned sequence numbers to determine their relative order, allowing the CPU to boot from a selected image via a default boot vector, with the ability to swap between boot images without resetting, and update secondary images without affecting primary operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional multi-booting systems change the boot vector or recompile boot images to select a different boot device, then the system can boot from different devices, but significant software changes and recompilation are required
Solution Approach 1:
The patent changes the parameter being used for boot device selection from software-based boot vector addresses to hardware-based sequence numbers stored in boot images. Each boot image contains a sequence number that the hardware comparator uses to determine boot order, eliminating the need for software recompilation when changing boot devices.
Solution Approach 2:
The patent replaces the software-based boot vector mechanism with a hardware-based sequence number comparison mechanism. The comparator circuitry in hardware directly compares sequence numbers from available boot images against the desired sequence number, substituting the traditional software boot vector lookup with a hardware comparison approach.
2Adaptability or versatility
If conventional systems update boot images, then new functionality can be added, but the system requires resetting and lacks fail-safe update methods
Solution Approach 1:
The patent performs preliminary validation by comparing sequence numbers before executing boot images. The hardware comparator checks the sequence number of the selected boot image against the desired sequence number before allowing execution, preventing execution of corrupted or unauthorized boot images and enabling fail-safe updates.
Solution Approach 2:
The patent implements feedback through the sequence number comparison mechanism that continuously validates boot image selection. The comparator provides feedback by confirming whether the selected boot image's sequence number matches the desired sequence number, allowing the system to verify boot image integrity and detect update status.
3Ease of operation
If the system uses a default boot vector to identify the boot device, then the boot process is simple, but the system cannot select between multiple boot devices without changing the boot vector
Solution Approach 1:
The patent makes the boot image sequence number field serve multiple functions: it acts as both an identifier for the boot image and as the selection criterion for multi-boot device choice. This single sequence number parameter enables both simple boot operation and multi-device selection capability without requiring separate mechanisms.
Solution Approach 2:
The patent introduces the sequence number as an intermediary between the hardware boot mechanism and the boot device selection requirement. Instead of directly changing boot vectors or addresses, the system uses sequence numbers as an intermediate parameter that the hardware comparator uses to indirectly select the appropriate boot image, maintaining simplicity while enabling multi-device support.
Data Source
Figure 1
Figure 2~4
Figure 3
AI summary
A multi-boot device capable of booting from a plurality of boot devices, each storing a boot image. The multi-boot device determines which boot device to load based on sequence numbers assigned to each of the boot devices. Some embodiments will make this determination using only hardware operations. The multi-boot device compares the sequence numbers of the available boot devices in order to determine the boot image to be loaded. The address of the selected boot image is then mapped to the device's default boot vector. The remaining images are likewise mapped to a secondary boot memory. The device then boots from the default boot vector. The user can change the boot device to be loaded by modifying one or more of the boot sequence numbers. The boot images can be updated without resetting the device by switching execution to and from boot images in the secondary boot memory.