A hard drive with magnetic heads and spinning platters have two main parts to their firmware.
- ROM Firmware. This is a small peace of code on the PCB of the of the hard drive, usually around 2MB in size. When the hard drive is powered on, this small part of firmware on PCB is starting the whole process of booting the drive. It sends the command to power on the motor, move the heads over the spinning surface to catch the synchronising marks to stabilise the speed.
- Service Area Firmware: This part contains the the bulk of the remaining firmware. A microcode on the service area starts loading into the drive’s memory. That piece of loaded code from disk platter must be matched to the firmware code from the circuit board. Otherwise, the integrity of the whole drive’s software system is violated and the user data is not accessible.
When we talk of firmware corruption, we are mostly talking about the service area on the disks platters. The ROM Firmware is mostly only read from where is the service area firmware is contently changing and updated. This is why the service area firmware is prone to corruption either from age, bad heads or a drop.
Talking to the service area requires an expensive hard drive lab tool like PC-3000 in order to repair the firmware and make the hard drive work again just enough for data recovery.
To get an idea of cost, visit How Expensive Is Data Recovery?