This blog is about hard disk drive file systems – FAT-16, FAT-32, NTFS, and a number of others. But, what do these letters mean and why are they needed? This series will explore and answer these questions.
From the very first random access hard drive, the IBM 350 RAMAC disc system with a capacity of almost 5 megabytes and weighing more than a ton, there had to be a way of knowing WHERE each bit of data was written and how to find it on the disk so it can be read back. While the capacities of such drives quickly (over the last quarter century or so) increased from an amazing 5 MB (yes, that’s MEGAbytes) to the current 2 TB (yes – TERAbytes – one million times as much as a megabyte), there has been the consistent need for managing the information about where each byte of data is located.
There are two processes that prepare a drive for use. First, the drive is ‘low level formatted’: a process that is done by the drive’s manufacturer which identifies each usable storage location on the hard drive after writing to the drive and attempting to read it back. It then makes a list of the good locations on the drive. The second process is called a “file system format” and creates a file system that generates a ‘map’ for linking each bit of data for files or data blocks to locations on the disk. When you read or write a file (or simply want to know how much space is left on the disk), the file system helps deliver this information.
The process is something like taking a large piece of land onto which houses can be built. A surveyor places a small flag on each usable lot, makes a list of lots, by latitude and longitude, and lists those lots that are suitable. A list is generated, showing the precise latitude and longitude of each lot. This process is roughly the same as a low level format. Although millions of lots may have been identified and labeled, this information is useless without some kind of map that connects those parcels into streets and addresses. If you want to find a particular address, you look to the map, and the map will know the specifics needed to find the location. A ‘file system’ makes this map, and it can provide the information needed to get to the precise location for each address.
The task of preparing the drives to handle this magic, and the job of tracking where the data will be, or has been, written, is a job of the controller on the drive and the file system. The acronyms for common file systems are probably familiar – FAT, FAT 16, FAT 32, NTFS, HPFS and a handful of others that may be somewhat less familiar.
The first format in broad use was the File Allocation Table (FAT), developed for use with the earliest hard drives that went into the first PCs. This system used 8-bits to define the geometry (the number of platters, the number of sectors, and other factors that specifically describe the general structure of the drive) and to manage the location of the files. Because this was the first such file system, and ‘nobody would need to manage 32 MB of data’, FAT seemed to have plenty of headroom.
In Part Two, we’ll see how the 8-bit system quickly needed to be increased – and other improvements