Firmware

On this page 7

Firmware is low-level software stored in non-volatile memory on a hardware device, such as flash or ROM, that controls the device’s hardware directly and usually runs before, beneath or instead of an operating system. Beneath operating systems, firmware sits at the boundary between hardware and software: it is code, so it can be updated, but it is tightly bound to one specific piece of hardware and is rarely changed by the user.

Almost every electronic device contains firmware. A computer has firmware on the motherboard, in the SSD controller, the network card, the keyboard and the graphics card; a washing machine, router, car or smartwatch may run on firmware alone. The name reflects this middle position: firmer than ordinary software, softer than fixed circuitry.

How firmware relates to other software layers

Firmware is one layer in the stack that turns hardware into a usable system. It belongs to system software in the broad sense, but it differs from an operating system in where it is stored, how it is updated and what it controls.

LayerStored inMain roleTypical update frequency
FirmwareFlash or ROM on the deviceInitialize and control specific hardwareRarely, months to years
Operating systemSystem driveManage resources, run programsRegularly, weeks to months
Device driverSystem drive, loaded by the OSLet the OS talk to a deviceWith OS or device updates
RuntimeSystem driveExecute programs in a managed environmentWith application needs
Application softwareSystem drive or cloudPerform user tasksFrequently
Firmware in the software stack

A useful rule of thumb: drivers run inside the operating system and translate its requests, while firmware runs inside the device and executes them. A storage driver asks an SSD to write data, and the SSD’s firmware decides which flash cells to use.

Kinds of firmware

Firmware ranges from a few kilobytes of code on a microcontroller to complete embedded operating systems. The table below groups the main kinds by complexity and role.

KindTypical sizeExamples
Platform firmwareSeveral to tens of megabytesUEFI or BIOS on a motherboard
Device controller firmwareHundreds of kilobytes to megabytesSSD controllers, network cards, GPUs
Embedded bare-metal firmwareKilobytes to hundreds of kilobytesMicrocontrollers in appliances, sensors, keyboards
Embedded OS firmwareMegabytes to hundreds of megabytesRouters, smart TVs, printers running Linux or an RTOS
MicrocodeKilobytesPatches for internal processor instructions
Main categories of firmware

Microcode is a special case: it is loaded into the processor at each boot, either by the platform firmware or by the operating system, and corrects processor behavior without replacing hardware. Many security fixes for CPU vulnerabilities have been delivered this way.

How firmware is stored and updated

Historically firmware lived in mask ROM, written during chip manufacturing and impossible to change. Modern devices store it in rewritable flash memory, which makes field updates possible and turns firmware into a maintained software product.

A firmware update replaces the stored image with a new version. Robust devices use A/B partitions, keeping the old image intact until the new one is written and verified, so a failed update can fall back automatically. Devices with a single image are vulnerable to interruptions, which can leave them unusable, often called bricking.

  • Vendor tools: an installer from the device maker writes the image, common for SSDs and peripherals.
  • Operating system channels: many systems distribute firmware through their update services, for example through the LVFS on Linux or Windows Update.
  • Over-the-air (OTA) updates: routers, phones, cars and IoT devices download and install images over the network.
  • Recovery modes: a protected bootloader can accept a fresh image from USB or the network when the main firmware is corrupted.

Firmware security

Firmware runs with the highest privileges on a device and starts before any security software, so a compromise at this level is unusually serious. Malicious firmware can survive operating system reinstallation and even disk replacement, which is why firmware integrity is a core concern in modern platforms.

MechanismWhat it doesThreat it addresses
Signed firmware imagesDevice accepts only images signed by the vendorTampered or counterfeit updates
Secure boot chainEach stage verifies the next before running itBootkits and modified loaders
Hardware root of trustImmutable code verifies the first firmware stagePersistent low-level malware
Anti-rollback countersBlock installation of older vulnerable versionsDowngrade attacks
Measured boot with TPMRecords hashes of each boot stageUndetected changes to firmware
Firmware protection mechanisms

A practical weakness is neglect: devices such as routers, cameras and printers often run firmware that is years out of date. Inventorying devices and applying updates is therefore part of normal security maintenance.

Common misconceptions about firmware

Firmware is often confused with neighboring concepts. The most frequent misunderstandings are listed here, because they lead to wrong troubleshooting and missed updates.

  • Firmware is not hardware: it is software, and it can contain bugs that updates fix.
  • Firmware is not only the BIOS: dozens of components in one computer run their own firmware.
  • Reinstalling the operating system does not reset firmware: firmware lives on the device, not on the system drive.
  • Newer is not always required: updates should follow a documented fix or security need, because each update carries a small risk.
  • Driver and firmware versions must match: some devices work correctly only with compatible pairs of driver and firmware.

Explained without jargon

Firmware is the built-in software that tells a device how to work. It lives inside the device itself, not on the computer’s main drive. A remote control, a printer and the chips inside a laptop all have it.

Think of it as the instincts of a machine. An app is like a skill learned later, but firmware is what the device knows from the moment it switches on. Manufacturers sometimes release firmware updates to fix problems or close security holes. These updates are worth installing, carefully and without interruption.

A typical use case

An IT administrator at a mid-size company receives reports that several laptops occasionally freeze for a few seconds while saving files. Event logs show storage timeouts, and all affected machines use the same SSD model. The operating system and drivers are already current.

The SSD maker has published a firmware update whose notes describe a fix for exactly this stall under certain power-saving transitions. The administrator tests it on two laptops, confirms the freezes disappear, and then deploys it to the remaining 140 machines through the operating system’s firmware update channel during a planned maintenance window. Each laptop stays on AC power during installation. The freezes stop, and no hardware has to be replaced.