Hard Disk Drive Firmware Search Engineer

Hard Disk Drive Firmware Search Engineer As we know, firmware damage is the main reason which causes the hard disk data lose. When we encounter this problem, we should rebuild the firmware first. By this time, we need some professional tools, such as PC3000. (About the PC3000 tool). With the professional tools, we also need to find the matching firmware, so I made this searching tool as below:

You just need to input your firmware model number, for example: input ‘HitachiHTS541616J9AT00’, then you can find the firmware which you are looking for. Although this searching tool is not perfect, its accuracy rating is good.

These firmware data which are used for the searching tool are from http://files.hddguru.com and http://www.firmwarebase.com.

Firmware Search Engineer Code(Copy this code to your website):

<form action=”http://www.google.com/cse” id=”cse-search-box”>
<div>
<input type=”hidden” name=”cx” value=”016304681005895250528:a7qpcruki2s” />
<input type=”hidden” name=”ie” value=”UTF-8″ />
<input type=”text” name=”q” size=”31″ />
<input type=”submit” name=”sa” value=”Search” />
</div>
</form>
<script type=”text/javascript” src=”http://www.google.com/cse/brand?form=cse-search-box&lang=en”></script>

If you know any other hard drive firmware download websites, please do not hesitate to share them with me. With your helping, I can make this search tool better. Thanks!

Read More

How to Upgrade Hard Drive Firmware?

Upgrade Hard Drive Firmware Firmware is a type of software stored directly inside hardware components, such as hard disk drives or motherboards, that tells the hardware how to interact with your computer’s operating system. You would typically only need to upgrade your hard drive’s firmware if you installed a new motherboard or upgraded to a new operating system that the drive was not originally intended to interact with. Firmware upgrades are meant to be administered through a floppy disk, but with some extra work you can also apply them with a standard CD as well.

Note: Save a backup copy of each of your important files to an external source before attempting to update the firmware of your hard drive. If you stop the upgrade process before its finished or accidentally install the wrong version of the firmware, your hard drive may stop functioning properly and you could lose all of your data.

  1. Open your web browser and navigate to the website for the manufacturer of your hard drive (see “Resources” below). Access the support or downloads section and search for the model number of your computer or the hard drive itself.
  2. Click on the download link to download the firmware upgrade. Insert a 3.5 inch floppy disk into your computer’s floppy disk drive if it has one or instead insert a rewritable CD into the computer’s CD drive. Transfer the firmware upgrade file to the floppy disk.
  3. Return to your web browser if you are using a rewritable CD instead of a floppy disk. Navigate to a website that offers ISO software such as “MagicISO” or “PowerISO” (see “Resources” below). Access the downloads section of the website and download the program’s installation file.
  4. Double-click on the file you downloaded and follow the instructions on the screen to install the ISO program. Open the program once it’s installed and follow its ISO burning procedures to burn a copy of the firmware upgrade to the rewritable CD.
  5. Leave the CD or floppy disk in the appropriate disk drive and re-start the computer. Wait for a new menu screen to appear and scroll down through the options using the arrow keys on the keyboard. Highlight the hard disk drive you need to update and hit the “Enter” key.
  6. Wait for the operating system to finish loading and then open the “My Computer” icon on the desktop. Navigate to the floppy disk drive or CD-RW drive. Double-click the executable file saved on the disk and then follow the instructions that will appear on the screen to upgrade the hard disk drive’s firmware.

Useful Links:

  • IBM Hard Drive Firmware Downloads
  • HP Hard Drive Firmware Downloads
  • Download MagicISO
  • Western Digital Firmware Downloads
  • Download PowerISO
Read More

Data Recovery Glossary (Letter F)

FAT (File Allocation Table)
A data table stored at the beginning of each partition on the disk that is used by the operating system to determine which sectors are allocated to each file and in what order.

Fdisk
A software utility used to partition a hard drive. This utility is included with DOS and Windows 95 operating systems.

Fetch
The process of retrieving data.

Fibre Channel (FC)
The general name given to an integrated set of standards being developed by an ANSI-approved X3 group. This set of standards defines new protocols for flexible information transfer. Fibre channel supports three topologies: point-to-point, arbitrated loop, and fabric.

Fibre Channel Arbitrated Loop (FC-AL)
A subset of fibre channel network systems interconnection. A serial storage interface designed to meet the needs of high-end applications.

Firmware
Permanent instructions and data programmed directly into the circuitry of read-onlymemory for controlling the operation of the computer.

Firewire
FireWire (also referred to as IEEE1394 High Performance Serial Bus) is a very fast external bus that supports data transfer rates of up to 800 Mbps. It is similar to USB. It preceded the development of USB when it was originally created in 1995 by Apple. FireWire devices can be connected and disconnected any time, even with the power on. When a new FireWire device is connected to a computer, the operating system automatically detects it and prompts for the driver disk.

FIT (Functional Integrity Testing)
A suite of tests on hard drive products to ensure compatibility with different hosts, operating systems, adapters, application programs, and peripherals. This testing must be performed before the product can be released to manufacturing.

Flow Control
In PIO transfers, the ability of an EIDE drive to control the speed at which the host transfers data to or from the drive by using the IORDY signal. The host temporarily stops transferring data whenever the drive deasserts the IORDY signal. When the drive reasserts the IORDY signal, the host continues the data transfer.

Format
A process that prepares a hard drive to store data. Low-level formatting sets up the locations of sectors so user data can be stored in them. Most hard drives are low-level formatted at the factory and therefore do not need to be low-level formatted by the end user. You need to perform a high-level format (with EZ-Drive or the Format command) on your new hard drive before you can use it. Formatting erases all the information on a hard drive and it sets up the file system needed for storing and retrieving files.

Formatted Capacity
The actual capacity available to store data in a mass storage device. The formatted capacity is the gross capacity minus the capacity taken up by the overhead data required for formatting the media.

Form Factor
The industry standard that defines the physical and external dimensions of a particular device.

Full-Duplex
A communication protocol that permits simultaneous transmission in both directions.

Read More

Does Your Hard Drive Need A Firmware Update?

Firmware Update Many thousands of hard drives enter the market with any given version of firmware in common.

Thousands of drives have the same firmware version when they are sold.
External, SATA, and ATA drives that are used in PCs and for personal storage pass through extensive testing before they leave the factory.  Therefore, they are not designed for firmware updates in the field.

Firmware updates

Performing a firmware update can be risky by itself even in the best of situations.  For example, a power outage during a firmware update carries a very good possibility of ruining the drive.  External, Serial ATA, and ATA drives are not designed for field firmware updates by end users.

Very often, system or device driver issues cause symptoms that are incorrectly called “firmware problems.”

What is firmware?

Firmware is defined as a computer program that is hard-coded into the hard drive and contains its basic operational storage programming.  Another way to think of it is that firmware is a software middleman that allows your hardware to talk to software (i.e., Windows operating systems, etc).  For a hard drive, firmware is a program that governs the behavior and factory settings, even the identity, of that drive.  Any drive that comes out of the factory and is in use in a computer or server has firmware installed on it from the factory.

What is the relationship between firmware and drivers?

Drivers tell the operating system how to behave. Firmware tells the drive how to behave. Seagate provides no drivers for most products in any modern Windows or MacOS operating system – the drivers must come from Microsoft, Apple, or the motherboard.

Why not just put firmware updates online with public links?

There are four main reasons:

  1. Field support for firmware updates involves robust and compatible tools, backwards compatibility and data safety.  These features are designed into Enterprise class SAS, Fibre Channel and SAS interface disc drives.Desktop and Mobile SATA and PATA drives are not designed for firmware updates in the field in the vast majority of cases.  Very often what looks like a newer version of firmware, by the number, may actually be incompatible with previous versions.  If incompatible firmware is copied to an earlier version of the same model, data loss or drive ruin will result.  Performing a firmware update can be risky by itself even in the best of situations.  For example, a power outage during a firmware update carries a very good possibility of ruining the drive.  This is why Seagate uses a warranty exchange process, if necessary, to update SATA and PATA drive firmware.
  2. In most cases, when a hard drive is thought to be malfunctioning, it is an operating system (i.e. Windows) issue or a problem with a software program.  Firmware is easy to blame when a hard drive does not perform as a user expects, when its installation does not proceed exactly as expected, or a myriad of other situations, or even when a drive diagnostic reports bad sectors.  In order to protect the user, Seagate restricts access to firmware updates.
  3. Some drives that still bear the Seagate name on the label but are actually the property of an Original Equipment Manufacturer (OEM) (such as Dell or Hewlett-Packard [HP]) might have unique firmware on them.  OEMs purchase large amounts of bare drives from Seagate and put their own firmware on them, at which point the drive is sold as part of a larger piece of equipment, such as a server or a personal or notebook computer.  Often the OEMs load specialized firmware in order to be able to build in performance enhancements that are specific to their product.However, sometimes these servers or computers are disassembled and the hard drives end up being sold separately from a third-party technology reseller or even on eBay, and because these drives have “Seagate” on the label and sometimes even the same model number (the “ST” number) as standard drives sold in a retail store, it can be easy to confuse the two.  The specialized firmware on some of these drives sometimes works outside of their original equipment and sometimes does not.  In very many cases, performing a firmware update with “standard” firmware would violate Seagate’s legal agreements with the OEM, thus voiding both the OEM and Seagate warranty, and carries a good possibility of ruining the OEM drive.
  4. Very seldom does a firmware update increase the drive’s performance. Most firmware updates are made available in order to solve a problem with timing, in order to synchronize with the timing of the system’s communication lines.

In summary, it is always best to seek other avenues of troubleshooting the hard drive and the surrounding system before resorting to questions of firmware.  If you suspect a drive may be defective, test it using Seatools.

Read More

Basic Information of Hard Disk Drive (Part II)

If a drive has damaged data in the SA, for example in the firmware code module, it might become unusable. To repair these disks, the HDD can be switched to a so called ‘safe mode’, by setting specific jumpers on the drive. If the drive is operating in safe mode, it bypasses its own firmware. Instead, it wants the user to upload firmware to its ram. If the user uploads a correct ‘temporary’ firmware to RAM, it starts executing that firmware. If this uploaded RAM code (the ‘loader’) starts operating, the user can then start to issue ATA commands to the drive to modify the damaged modules.

Firmware files that you can find on a site like this contain a lot of files. First, there is the ‘loader’ file (*.LDR). This file is the ‘temporary’ firmware code, that’s being uploaded to the RAM (so, it’s not being written to disk). Then, there are a lot of ‘*.RPM’ files. These files represent the different modules, which can be written to the SA. The filenames consist of 8 numbers. The first 4 numbers specify the (hex) UBA and the second 4 numbers represent the hexadecimal module size in sectors (each sector normally contains 512 bytes, so for example, if a filename ends in 0002, then that module is 1024 bytes long). So, in short, after uploading the loader to RAM, the user can start replacing damaged modules by overwriting them with correct ones.

BTW, please note that the term ‘firmware’ for the packages on this site is not very well chosen, since these packages contain all needed modules to repair a HDD and not just the firmware (=code) module.

Anyway, if you’re looking for a specific firmware module, you can do 3 things:

1) rip the firmware modules from the SA of an identical HDD
2) get these modules from a friend (or for example, from the files section on this site: www.firmwarebase.com)
3) use a firmware update program from the vendor.

About this last option: firmware updates from vendors are pretty rare, since firmware code almost never needs to be replaced. However, Maxtor for example, had some problems with the firmware code on some Diamondmax HDD models. So, they issued a firmware update. This update consists of 2 files:

1) the executable file that issues the ATA ‘download microcode’ command to upload the firmware files to the HDD
2) The firmware code, consisting of the ‘main’ firmware code and ‘overlay’ code modules.

Read More

Basic Information of Hard Disk Drive (Part I)

Modern hard disks feature an area that contains information that the CPU on the HDD logic board uses to operate the drive. The area is called the “system area” (“SA”). This area contains for example the drive ‘microcode’ (a.k.a. firmware), HDD Configuration Tables, Defect sector tables, SMART information, Security info (drive passwords etc), Disk ID info and more. These categories of information are called ‘modules’. So the SA contains a module for the firmware code, a module for the SMART info etc.

The SA is stored on ‘negative cylinders’ of the HDD and therefore is not accessible by normal read commands. However, the area can be accessed with other ATA commands. An example of a (more or less) ‘standard’ ATA command that can access info on the SA is the ‘download microcode’ ATA command that can be used to update information in the firmware code module. However, most of the commands that can be used to access the SA are vendor specific. Since vendors (obviously) don’t want users to mess around with the SA, these commands are generally not made public. However, these commands can be deduced by, for example, reverse engineering the firmware code itself.

This reverse engineering has been done and led to development of tools that can issue these (vendor specific) ATA commands and can read/write almost all sectors in the SA. One example of such tool is PC3000 (‘PC3K’). A tool like this contains tables per HDD model, containing these vendor specific ATA commands and also tables with sector numbers on which the different modules are stored, also per HDD model. SA Sector numbers are counted in “UBA’s”. For example, one specific HDD might use UBA 4 to store the ‘DISK ID’ module, where another HDD model might use another sector for this module.

So in short, to create a tool that can read/write data in the SA, you need to:

1) know (and understand) the (vendor-) specific ATA commands that can be used to access this area and

2) know on which UBA sector the specific modules are stored.

Read More

The basic knowledge about Hard Disk Drive

Firmware files that you can find on a site like this, contain a lot of files. First, there is the ‘loader’ file (*.LDR). This file is the ‘temporary’ firmware code, that’s being uploaded to the RAM (so, it’s not being written to disk). Then, there are a lot of ‘*.RPM’ files. These files represent the different modules, which can be written to the SA. The filenames consist of 8 numbers. The first 4 numbers specify the (hex) UBA and the second 4 numbers represent the hexadecimal module size in sectors (each sector normally contains 512 bytes, so for example, if a filename ends in 0002, then that module is 1024 bytes long). So, in short, after uploading the loader to RAM, the user can start replacing damaged modules by overwriting them with correct ones.BTW, please note that the term ‘firmware’ for the packages on this site is symantically not very well chosen, since these packages contain all needed modules to repair a HDD and not just the firmware (=code) module.
Anyway, if you’re looking for a specific firmware module, you can do 3 things:
1) rip the firmware modules from the SA of an identical HDD
2) get these modules from a friend (or for example, from the files section on this site)
3) use a firmware updater program from the vendor.

About this last option: firmware updates from vendors are pretty rare, since firmware code almost never needs to be replaced. However, Maxtor for example, had some problems with the firmware code on some Diamondmax HDD models. So, they issued a firmware update. This update consists of 2 files:

1) the executable file that issues the ATA ‘download microcode’ command to upload the firmware files to the HDD
2) The firmware code, consisting of the ‘main’ firmware code and ‘overlay’ code modules.

Firmware ‘overlay’ code are specific code functions. Why not just put all firmware code into one section ? Well, since the RAM in the drive is a limited resource, they’ve put some code into ‘overlay files’, so that this specific code can be swapped into RAM when that specific function is needed. When the fuction is not needed, it can be swapped out of ram and some other function can be swapped into it again.

The firmware update files from maxtor (I think the same goes for the other vendors) are not scrambled/encrypted/packed in anyway. In fact, you can find the exact same code in these files also in the ‘*.RPM’ files that PC3K produces for example.

Maxtor distributes their firmware file in a so called “.DMC” file. This DMC file is a package of 4 files, a ‘.Bxx’ file, a ‘.cxx’ file, a ‘.bbr’ file and a ‘.cbr’ file. Like I mentioned, this DMC container is not packed or scrambled in anyway. You can just cut the files out of it. The first 0x150 bytes of this file is the header. This header contains the four filenames, the offsets at which bytes in the package these files can be found, the length of the files and a checksum (not 100% sure about the checksum though). The ‘.bxx’ file is the biggest file and contains the overlay modules. You can find all code overlay modules by looking for ‘MO’ in the file. Right after this 2 byte string, you’ll find the hexadecimal overlay module ID. The ‘.bbr’ file contains the main firmware code. The last 2 files are very small, not sure what they contain, probably some checksums for the firmware and overlay modules.

Like said, the firmware code and overlay modules can also be found in the ‘*.RPM’ files of course, since this represents the firmware code on disk. So, you can look through these RPM files and scan for the ‘MO’ string to find any specific overlay module.

So, in short, if a vendor has released a firmware uploader tool (most vendors have), BUT haven’t released a firmware file for your specific drive type, you could create your firmware, if you have the dumped modules (for example, obtained from this site). You could rip the main code and overlay modules and paste them into an existing DMC package. However, since I don’t know the checksum calculation and the meaning of these .cxx and .cbr files (probably checksums), you’d have to do more research, but in theory, it would be possible to create your own firmware files and flash them with such standard Vendor program to disk, so you wouldn’t need to buy an expensive tool like PC3000 (at least not if your sole goal was to upload a new firmware).

Modern hard disks feature an area that contains information that the CPU on the HDD logic board uses to operate the drive. That area is called the “system area” SA. This area contains for example the drive ‘microcode’ (a.k.a. firmware), HDD Configuration Tables, Defect sector tables, SMART information, Security info (drive passwords etc), Disk ID info (serial nr etc) and more. These categories of information are called ‘modules’. So the SA contains a module for the firmware code, a module for the SMART info etc.The SA is stored on ‘negative cylinders’ of the HDD and therefore is not accessible by normal read commands. However, the area can be accessed with other ATA commands. An example of a (more or less) ‘standard’ ATA command that can access info on the SA is the ‘download microcode’ ATA command, which can be used to update information in the firmware code module. However, most of the commands that can be used to access the SA are vendor specific. Since vendors (obviously) don’t want users to mess around with the SA, these commands are generally not made public. However, these commands can be deduced by, for example, reverse engineering the firmware code itself.
This reverse engineering has been done and led to development of tools that can issue these (vendor specific) ATA commands and can read/write almost all sectors in the SA. One example of such tool is PC3000. A tool like this contains tables per HDD model, containing these vendor specific ATA commands and also tables with sector numbers on which the different modules are stored, also per HDD model. SA Sector numbers are counted in “UBA’s”. For example, one specific HDD might use UBA 4 to store the ‘DISK ID’ module, where another HDD model might use another sector for this module.
So in short, to create a tool that can read/write data in the SA, you need to:

A) know (and understand) the (vendor-) specific ATA commands that can be used to access this area and
B) know on which UBA sector the specific modules are stored.

If a drive has damaged data in the SA, for example in the firmware code module, it might become unusable. To repair these disks, the HDD can be switched to a so called ‘safe mode’, by setting specific jumpers on the drive. If the drive is operating in safe mode, it bypasses its own firmware. Instead, it wants the user to upload firmware to its ram. If the user uploads a correct ‘temporary’ firmware to RAM, it starts executing that firmware. If this uploaded RAM code (the ‘loader’) starts operating, the user can then start to issue ATA commands to the drive to modify the damaged modules.

Of course, you could also create your own flasher program, instead of using the one supplied by the vendor. However, since vendors use specific versions of the ‘download microcode’ ATA command, you’d have to do research into this.

Furthermore, you could create a program that does EVERYTHING that a tool like PC3000 does. However, like pointed out, you’ll need very detailed information on the vendor specific ATA commands and the structure of the SA for that specific drive type and since this info is not made public by anyone, this means a LOT of work. “But hey, the PC3000 tool features a special hardware PCI card!” Yes, but as you’ll understand by now, you can think of that card as nothing more than a copy protection. They could have perfectly created the tool without it, but I guess they would have sold quite some copies less. So you really can’t blame them for it, in fact, I think it’s quite a smart move to stop piracy.

So, in short, if you want to mess around with the SA, you have 2 options: invest a lot of time and energy into learning or simply empty your pockets and buy a tool like PC3000.

Read More

Firmware data (service information)

Firmware data is necessary for functioning of internal HDD circuits and as a rule it remains hidden from users.

Firmware data can be subdivided into the following types:
 

Servo information or servo fields;
 Low-level format;
 Resident firmware microcode (operational programs);
 Configuration tables and settings;
 Tables of defects.

 
Servo fields are necessary for operation of a servo system used by the driving assembly of magnetic heads in a HDD; they serve for heads’ positioning and keeping them precisely over a defined track. Servo fields are recorded during the manufacturing process to an already assembled HDA through special service openings in its case. The openings are subsequently closed with sticky labels that read: Warning! DO NOT OPEN. The recording is actually performed using drive’s own heads in a special high-precision instrument – servo writer.  Relocation of heads’ positioner is achieved through a motion of a special pusher of the servo writer using steady steps much smaller than the intervals between tracks.

 Firmware (microcode) of the control microprocessor is a collection of programs required for operation of HDD components. Here belong the programs used for initial diagnostics, control of spindle motor rotation, data exchange with disk controller, buffer RAM, etc. In most HDD models firmware microcode is stored within internal microcontroller ROM; some models employ external Flash ROM. In some HDD models a part of firmware programs is recorded to magnetic disk in a special firmware zone while ROM contains the programs used for initialization, and positioning together with primary loader reading the firmware data from magnetic disk to RAM. Since actual firmware modules are first loaded to RAM before execution they have been called resident modules.

 Manufacturers of hard drives record some firmware portions on disk surface not only for purposes of ROM space saving, but also to enable its easy replacement if the manufacturing process or drive operation reveal any errors in a microcode. Internet pages of most manufacturers contain links to utilities used for such updates. Overwriting disk firmware is much easier than unsoldering of hard-programmed microcontrollers. We can remember how Western Digital had to recall a large number of its drives back to factory several years ago…

 Low-level format. Track beginning is identified by an index pulse. Each track is subdivided into data sectors and servo fields. Format of each sector consists of an ID field, data field, synchronization zones and spaces. The beginning of each sector contains a synchronization zone used for phasing and synchronization of data strobe. ID field contains an address marker, physical sector address, flag byte and CRC bytes.

 Format without identifiers has become popular recently. When manufacturers employ such method of data placement along a track ID fields are not used at all (thus increasing available drive capacity). Instead they use a system of servo fields directing to physical sectors on a track. At that reading/writing of all sectors on a track is performed simultaneously (in one disk revolution) to/from RAM containing an image of the read/written track. Thus for reading just one sector a drive copies a whole track to RAM and reading of all subsequent sectors (if necessary) is performed from drive RAM instead of disk surface. Identical operations are performed during recording. During sector recording a drive reads a track, modifies it in RAM and writes the whole track back to disk.

 Configuration tables and settings of hard drives contain information about logical and physical structure of disk space. Those tables enable PCBs, which are identical for the whole drive family, to self-adjust for a certain drive model. As a matter of fact, during design of a certain model like, for example, a 80 Gb drive based on two disks it allows to produce automatically a “half-size” model with 40 Gb capacity based on one disk and “quarter-size” model with 20 Gb capacity based on one side only. Thus a manufacturer can offer a greater number of models with varied capacity for the market without considerable R&D expenses. Besides, junior models can use disks, which for some reasons are unsuitable for full-size models. E.g. “half-size” models can successfully use magnetic disks with defects on one of their surfaces, etc.

 Tables of defects. Modern technology of magnetic disks production does not allow their defect-free manufacture. Heterogeneity of media material, polishing defects, admixtures during magnetic layer application, etc. result in appearance of areas, where data recording or reading end in errors.

 Earlier drives with ST506/412 interface displayed the table of defective tracks as a label on HDA case and any drive had some reserved space, e.g. HDD ST225 (20 Mb) had actual capacity of 21,5 Mb, i.e. 1,5 Mb extra were allocated for defective sectors and tracks. Modern HDDs also have extra capacity, but it is hidden from users and only drive microcontroller can access it. A portion of that extra space is allocated to HDD firmware, configuration tables, S.M.A.R.T. counters, factory information about a HDD, tables of defects, etc. The remaining part is held in reserve for substitution of defective sectors with the reserved ones.

 Tables of defects are filled by the manufacturer during internal factory testing. Numbers of all discovered BAD sectors are added into a table. Such procedure is called updating (relocation) of defects (UPDATE DEFECT). After that if a defective sector is addressed during work with a HDD, the drive itself will redirect the request to a reserved sector. Therefore all modern drives newly arriving from the manufacturing factories have no defective sectors.

 Most HDD models have two tables of defects: Primary or P-List and Grown or G-List. Primary table is filled at the factory during internal testing – SELFSCAN (intelligent burn-in). Grown list is not filled at the factory; it is designed for addition of defects which appear during drive operation. To enable that functionality, the list of user commands practically in all HDDs contains the “assign” command replacing a defective sector with a reserved one. The command is used by numerous test utilities including those recommended by the manufacturers for operations over drives with BAD sectors. Western Digital drives have a Data Lifeguard system, which performs automatic substitution of defective sectors while a drive is idle. In order to perform the procedure, a drive self-tests its surfaces and transfers user data to a reserved sector marking at that defective sector as BAD; the mechanism of defect relocation is identical to the “assign” command. Manufacturers of Fujitsu, Quantum, Maxtor, and IBM drives implemented a mechanism of automatic defect relocation during the recording process. Thus if data is recorded to a defective sector, a drive itself will redirect such request to the reserved zone marking at that the defective sector as BAD and adding its number to G-List. Among specialized utilities used for relocation of BAD sectors we can note FUJFMT.EXE for Fujitsu drive, WDDIAG.EXE for Western Digital drives, ShDiag.exe offered by Samsung, etc.

Read More

Hard Drive Firmware

A Hard Drive can be compared to a small computer. It employs microprocessors to control both the physical behaviour of the various electro-mechanical components, and the logical operations that store and retrieve data as an arrangement of the magnetic particles on the disk surface. This operation is completely independent of the operation of the host PC. Like any computer, the hard drive needs its own software to control the operation of the microprocessors, but unlike a PC this software is limited to the drive’s operational functionality, and is not (and under normal circumstances cannot be) changed by the user. This hard drive ‘software’ is, as a result, more usually referred to as ‘Firmware’. The firmware carries out a range of functions, from what might be termed ‘Analogue’ functions such as controlling the spinning of the disc and positioning of the read/write heads, as well as the ‘Digital’ functions used to pass data files to and from the PC, keeping track of the location and parameters of the data files stored, and many, many more. Without firmware the drive is simply a collection of electronic components.

Just as the software on a PC can have problems, so the firmware can also cause a hard drive to fail if it becomes lost or corrupted. Statistical analysis shows that up to 60% of hard drive problems are due to firmware failure. Firmware problems can arise from a range of causes:

·Instability or failure of electronic components
·Accidental or inadvertent removal of power to the drive
·Deterioration of the magnetic response of the data recording surfaces

The latter cause is virtually inevitable over time, and the deterioration will accelerate the longer or more intensively the drive is used. Additionally the disk manufacturing process is not 100% perfect and as a result disks will commonly leave the factory already having problems with certain areas of the disk. These areas where the drive has problems correctly reading data from the disk are known as ‘Bad Sectors’. Sectors that fail simply because the data stored on them has become corrupted are known as ‘Logical’ bad sectors and these can be ‘repaired’ by re-recording the data correctly or in the correct format, however areas with problems arising from the magnetic response of the disk surface failing are known as ‘Physical’ bad sectors, and these cannot be repaired. Bad sectors of either kind can occur both in the data storage area of drive, but also in a ‘reserved’ area dedicated to storage of part of the drive firmware called the ‘Service Area’. User data area bad sectors can cause the loss or corruption of data files or reduced performance of the drive, bad sectors in the firmware area can lead to the drive failing completely. As the firmware area needs to be accessed every time the computer is switched on and every time drive is accessed, the chance of bad sectors becoming a problem in this area is consequently higher.

Read More