What exactly is HDDGURU "HDD LLF" utility doing?

So there’s another thread that was asking about bad sectors on an HDD that I don’t want to derail, but I just learned that something interesting exists which I’m very suspicious of.

Now, I’ve worked with hardware the whole way back to the Motorola 6809 and 68000 at the lowest level, and have actually low-level formatted the half dozen MFM and RLL drives I own. Since all the intelligence in an MFM/RLL drive is in the controller card itself and not the disk assembly itself, it was up to the manufacturer to provide a BIOS utility (usually at C800:5, hence the DEBUG > g=C800:5 command) that would physically realign the tracks/sectors/cylinders on each platter and you’d get a clickclickclickclickBEEPBEEP-THWACKclickclicklcick for about two hours as it scanned across every single cylinder and indexed bad sectors that failed.

But now I see a piece of modern software claiming to do a ‘low-level format’ on modern drives over an interface and firmware that I would almost guarantee is several levels of abstraction higher than actually exposing a low-level format of the physical media.

Then I saw this and realized -

low-level formatting of FLASH cards

You don’t LLF a piece of flash storage, at least by the definition I’m familiar with… that’s just fundamentally not how it works. Is this a program that just does a zero-fill of a storage device and calls it low-level formatting?

You’re most certainly right especially when looking at a freeware software. There are hardware and software solution that can do cool things using the firmware but that’s a completely different thing still compared to “low-level format”.

Catalogue || Professional Hardware-Software Solutions for Data Recovery & Digital Forensics. ACE Lab, the Czech Republic - These are pretty well regarded as far as I can tell and can do cool things with firmware and stuff

1 Like

Yup, and IIRC some of the proprietary bootable diagnostics tools (SeaTools, Maxtor PowerMax are the ones that come to mind) could run routines in the drive firmware back in the old days, but that was before even SATA existed.

Just thought it was interesting. Every time I see something like this recommended somewhere on the forum I have to do a sanity check that I’m not the one that’s missed something lol

1 Like

I presumed just a write+check for every sector to update the g-list is what most people do a bad blocks test, so the on board controller would add any new bass to the list.

Though there are tools from the manufacturers that can clear even the p-list, and start scanning all sectors from scratch.

There is no reason one could not interrogate a flash drive to check it’s list of worn out cells, if one spoke the right hardware language?
Or would flash vendors with hold the lists and block the over provisioned areas?

Or am I looking at it wrong?

So it would just require a bunch of proprietary tools, that HDD vendors don’t advertise, all bundled into a suite.

The PC3000 system goes Much deeper into data about sectors, voltages, and all sorts of readings, iirc

This util does actual low level formats similar to other utils that also low level format drives. It can be used for instance to fix/reformat 520 byte drives to 512.

Sure, but this isn’t what a low level format is, and there are no other utilities that can do a low level format on a modern drive except for the manufacturer’s factory test/diagnostic software. Maybe some of them load this firmware on the drive, but I haven’t seen any proprietary tools leaked/released that can access it. Yeah, the firmware on some enterprise drives can map between 512B and 520B sectors, that’s a layer of abstraction above any low level formatting.

Low level formatting physically locates the cylinders/sectors on a drive’s platters… on old MFM/RLL drives you had to do this to your new drive because the temperature/etc changes between the factory and your house would cause the platters to expand and cylinders to go out of alignment until you ran the manufacturer’s LLF firmware (usually at C800:5 or CC00:5 in the controller). The last drive I know of that a user was able to low-level format was an old Quantum IDE drive, I think it was 10GB, and it also regenerated a whole pile of head calibration tables for each platter that were written to some kind of nonvolatile memory on the drive somewhere.

The same went for floppy disks - if the heads on your floppy drive were out of alignment, your drive wouldn’t be able to read disks written on other drives until you did a format on them which physically moves the cylinders, and then those disks would work on your drive but not someone else’s.

I guess it’s just a vocabulary thing and “Low level format” has lost its original meaning to obsolescence. :person_shrugging: I just don’t like that a tool advertises a basic zero-write like this, which is something that a lot of other software like HxD will do but also a lot more (DoD santize by writing 0x55, 0xAA, then random bytes and then zero to all blocks), etc.

It does do low level formatting in the truest sense of the word. LLF is done differently on SATA/SAS drives compared to MFM/RLL drives but SCSI was different as well. What’s more important to understand is the difference between a High and Low level format (regardless of technology type) and what the outcome is.

Low-level formatting is the process of outlining the positions of the tracks and sectors on the hard disk, and writing the control structures that define where the tracks and sectors are. This is often called a “true” formatting operation, because it really creates the physical format that defines where the data is stored on the disk. The first time that a low-level format (“LLF”) is performed on a hard disk, the disk’s platters start out empty. That’s the last time the platters will be empty for the life of the drive. If an LLF is done on a disk with data on it already.

That’s correct.

I see no evidence that this program is doing anything other than I/O accesses to a storage controller, and it absolutely doesn’t have access to the storage controller’s onboard (proprietary) firmware that would be necessary to write calibration tables/head gains/thermal coefficients/etc to do anything even remotely resembling a true low-level format if that’s even possible at all on a modern spinning disk. There’s no way this is accessible over the ATA bus. The closest you can get are ATA SECURE ERASE and ENHANCED SECURE ERASE:

Secure erase overwrites all user data areas with binary zeroes. Enhanced secure erase writes predetermined data patterns (set by the manufacturer) to all user data areas, including sectors that are no longer in use due to reallocation.

…not a low-level format.

If you can describe the ATA bus commands being issued over SATA that are initiating a low-level format then I would love to be proven wrong. The linux hdparm llformat is just a poorly named secure erase implementation.

And once again, the fact that this piece of software advertises that it can LLF any type of storage device indicates to me that it’s just using OS storage drivers to do a zero write or something similar.

The downside of reusing expressions, and being oooooold :wink: (I had to look up what the kids mean with LLF today.)

From Seagate’s support pages:

What does “low level format” a SATA or ATA (IDE) drive mean?

Actually the term “low level” is a bit of a misnomer. The low-level process first used years ago in MFM hard drives bears little resemblance to what we now call a “low-level format” for today’s SATA and ATA (IDE) drives. The only safe method of initializing all the data on a Seagate device is the zero fill erase option in SeaTools for DOS. This is a simple process of writing all zeros (0’s) to the entire hard disk drive.

I had to google when someone talked about low level formating a SD card :thinking:

1 Like

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.