IP Library Granted Patent US 12699572
Granted Patent B2
US 12699572 · App. 18/242,269 · Granted Aug 4, 2026

Flexible hardware component driver loading

Inventors: Ofer Levy (Kiryat Ono, IL); Nir Einati (Kfar Saba, IL); Michael Shych (Modiin, IL); Vadim Pasternak (Modiin, IL); Layal Arkab (Osfya, IL); Keren Younger Hadad (Rishon le Zion, IL)
Assignee: MELLANOX TECHNOLOGIES, LTD.
G06F9/4411G06F9/441
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 12699572
App. No.
18/242,269
Granted
Aug 4, 2026
Kind
B2
Abstract

System, methods, and devices for initializing a system by loading drivers are provided. In one example, a system includes comprising one or more circuits to initiate a system initiation or a boot of the system, during the system initiation or the boot of the system, read data from a non-volatile memory, based on the data from the non-volatile memory, identify a plurality of hardware components, identify one or more drivers based on the plurality of hardware components, and load the one or more drivers during the system initiation or the boot of the system.

Claims (35)

1 . A system comprising one or more circuits to:

initiate a system initiation or a boot of the system;

during the system initiation or the boot of the system, read a string from a non-volatile memory;

identify, based on the string read from the non-volatile memory during the system initiation or the boot of the system, one or more board IDs and a plurality of device categories associated with a plurality of hardware components, wherein the string encodes at least one board ID of the one or more board IDs for a respective device category of the plurality of device categories for each hardware component of the plurality of hardware components to enable variations in components of the system to be ascertained;

identify one or more drivers based on the identified one or more board IDs and plurality of device categories associated with the plurality of hardware components; and

in response to identifying the one or more drivers, load the one or more drivers during the system initiation or the boot of the system.

2 . The system of claim 1 , wherein the string includes a plurality of characters, wherein one or more of the plurality of characters is associated with a hardware component of the plurality of hardware components, wherein the string represents one or more hardware components physically installed in the system.

3 . The system of claim 1 , wherein the string is stored in a system management basic input/output (SMBIOS) field.

4 . The system of claim 1 , wherein the string is stored in a file.

5 . The system of claim 1 , wherein the non-volatile memory is an electrically erasable programmable read-only memory (EEPROM) device.

6 . The system of claim 1 , wherein the string is written to the non-volatile memory prior to the system initiation or the boot of the system.

7 . The system of claim 1 , wherein the string is written to the non-volatile memory during production of the system.

8 . The system of claim 1 , wherein reading the string and identifying the one or more drivers is performed by a software application during the system initiation or the boot of the system.

9 . The system of claim 1 , wherein identifying the one or more drivers comprises selecting the one or more drivers from a memory storage device, wherein the one or more drivers are kernel drivers, wherein the memory storage device includes a plurality of drivers and the selected one or more drivers are a subset of the plurality of drivers.

10 . The system of claim 9 , wherein the one or more circuits are further to determine, based on the string, a printed circuit board (PCB) from among a plurality of PCBs on which each hardware component of the plurality of hardware components is mounted.

11 . The system of claim 10 , wherein the plurality of PCBs comprise at least one of an application-specific integrated circuit (ASIC) board, a central processing unit (CPU) board, a clock board, a fan board, a platform board, a power board, and a switch board.

12 . The system of claim 1 , wherein the plurality of hardware components comprise one or more of a thermal sensor, temperature sensor, voltage sensor, a voltage regulator, a memory storage device, an input/output device, a timer, and a fan.

13 . The system of claim 1 , wherein each of the hardware components of the plurality of hardware components are not hot-pluggable.

14 . The system of claim 1 , wherein the string comprises one or more characters indicating hardware components not installed in the system.

15 . The system of claim 1 , wherein identifying the plurality of hardware components comprises comparing characters in the string to entries of a lookup table.

16 . A switch system comprising one or more circuits to:

initiate a system initiation or a boot of the switch system;

during the system initiation or the boot of the switch system, read a string from a non-volatile memory;

identify, based on the string read from the non-volatile memory during the system initiation or the boot of the system, one or more board IDs and a plurality of device categories associated with a plurality of hardware components, wherein the string encodes at least one board ID of the one or more board IDs for a respective device category of the plurality of device categories for each hardware component of the plurality of hardware components to enable variations in components of the system to be ascertained;

identify one or more drivers based on the identified one or more board IDs and plurality of device categories associated with the plurality of hardware components; and

in response to identifying the one or more drivers, load the one or more drivers during the system initiation or boot of the switch system.

17 . The switch system of claim 16 , wherein the string includes a plurality of characters, wherein one or more of the plurality of characters is associated with a hardware component, wherein the string represents one or more hardware components physically installed in the system.

18 . The switch system of claim 16 , wherein the string is stored in a system management basic input/output (SMBIOS) field.

19 . The switch system of claim 16 , wherein the string is stored in a file.

20 . A method of initializing a system, the method comprising:

initiating a system initiation or a boot of the system;

reading a string from a non-volatile memory during the system initiation or the boot of the system;

identifying, based on the string read from the non-volatile memory during the system initiation or the boot of the system, one or more board IDs and plurality of device categories associated with a plurality of hardware components, wherein the string encodes at least one board ID of the one or more board IDs for a respective device category of the plurality of device categories for each hardware component of the plurality of hardware components to enable variations in components of the system to be ascertained;

identifying one or more drivers based on the identified one or more board IDs and plurality of device categories associated with the plurality of hardware components; and

in response to identifying the one or more drivers, loading the one or more drivers during the system initiation or the boot of the system.