My understanding is different. A Quick Format creates the Root Directory and fills it with zeroes (except for an entry for itself), and creates at least one table in which it records exactly which disk sectors are used by which files. This allocation table also is filled with zeroes (except for the root entry). If a Quick Format is re-run on a disk that has data on it already, those two data structures are filled with zeroes so there is NO trace of any previous files in them. However, it does NOT do anything to the rest of the disk so the old data are still there until re-written in a subsequent operation. But it's pretty hard to recover useful files from it because all the info about how the sectors belong to which files is list.
A Full Format does all this and then carries out a very different additional operation. It goes through EVERY sector of the disk and reads it to determine whether the read is successful. If it is not, the process writes a special character to the file allocation record for that specific sector. The character signifies this is a Bad Sector and Windows will never use it again.
There's one thing I'm not clear on here. Once some Bad Sector info is in the allocation record, when a NEW Format operation is done, does that attempt to preserve those Bad Sector records? Or, are they just wiped out like eveything else in the allocation records?
Here is where the version of Windows becomes important. I believe that, up and including Win XP, a Full Format operation did not WRITE anything to any sectors (other than the root directory and sector allocation areas). But beginning with Vista I think, a Full Format DOES write zeroes to every sector before doing its read validity test, so that effectively wipes out ALL previous data.
Paperdoc, I think what you said has a lot more detail, but I'm not sure it's 100% different than what I'm saying.
http://www.extremetech.com/article2/0,2845,2329378,00.a... seems to point to a combo of what you're saying & what I stated. I didn't really think of it doing a scan for bad sectors, but that makes sense. A full format does have to write the entire disk, if it's never been formatted before then the tracks/sectors have to be written. It probably doesn't need to 0 every single bit though.
In fact, that article is wrong where it says, "This is why when you buy a brand-new unformatted hard drive, you cannot give it a Quick format. The drive needs a Full Format because it needs the entire file structures set-up, so the FAT actually has blocks and sectors to track, rather than a chaotic mess." That statement WAS true for FLOPPY diskettes that you bought unformatted, and at one time it was true for HDD's that you actually DID have to do a "Low-Level Format" on. But that was 'WAY far back in the earliest days of IBM PC's, and has not been true for over two decades.
The process of defining tracks and sectors, with sector boundary markers and all that, is done at the factory as a true "Low-Level Format". The sectors even are written with zeroes and checksums, etc. What that process does NOT do is establish how the sectors will be allocated for use by an OS. When you or I get a brand new empty HDD, all that stuff is already on there. We need to do two operations. On is to establish at least one Partition on the HDD. This is a defined contiguous area of the HDD that will be used as one "drive". The data that defines this is written to a specific location at beginning of the HDD, along with the MBR (a small machine-language program that will load into RAM and let it read the first part of the designated Boot Drive to find the Active Partition and read in its real boot loader files from it). The Partition Table contains the starting location and length of the Partition plus a few other details of its structure and content, and it also has empty space for similar details of further Partitions that might be created later on this same HDD unit.
The second preparation stage is to Format the Partition. This stage is definitely specific to the OS used. It establishes the File System used to organize the use of sectors on the "disk" (i.e., this Partition). At minimum this means placing at specified locations (offsets from the start of the Partition) a file that contains the Root Directory, and one or more files that contain tables to track the allocation of sectors to files. These specific file structures are filled with default data (basically, zeroes for the most part). All of this work can be done by the Quick Format process, and it does not involve writing anything to any sectors beyond the File System tables it creates - that's why it is Quick. And yet, if only that is done, you CAN "read" a sector. That is, an application like CHKDSK can go in and read each sector and determine from the data and its checksum contained in it whether or not the read operation was successful. So there has to be valid data there, even if it has no "meaning" as we people understand it. That operation by CHKDSK is completely non-destructive for data because it does NOT write anything. (Well, if you set CHKDSK to fix any problems it finds AND it does detect a "Bad Sector", it will substitute a good one for a bad one and write info to the allocation table. CHKDSK also does some other jobs which may result in some corrected data's being written when a problem is being fixed, but it does not write anything unless it is correcting a problem.)
A Full Format automatically does the inspection of ALL sectors after it has established the File System in the way a Quick Format does. It does that, in earlier Windows version, solely by READING all the sectors, and writes stuff only if it finds a problem and does a substitution. Until recent Windows versions, a Full Format did NOT write zeroes to every sector before doing its read - it simply read the existing valid data in each sector and checked to make sure the "read" was good.