Hardware Secrets


Home | Camera | Case | CE | Cooling | CPU | Input | Memory | Mobile | Motherboard | Networking | Power | Storage | Video | Other
Content
Articles
Editorial
First Look
Gabriel’s Blog
News
Reviews
Tutorials
Main Menu
About Us
Awarded Products
Compare Prices
Datasheets
Dictionary
Download
Drivers
Facebook
Forums
Links
Manufacturer Finder
Newsletter
On The Web
RSS Feed
Test Your Skills
Twitter
Newsletter
Subscribe today!
Search




Recommended
Upgrading and Repairing PCs (19th Edition)
Upgrading and Repairing PCs (19th Edition), by Scott Mueller (Que), starting at $17.67
Home » Storage
Hard Disk Drives Capacity Limits
Author: Gabriel Torres
Type: Tutorials Last Updated: September 30, 2007
Page: 3 of 6
Real-time pricing for WDC WD2500BEKT.
WDC Western Digital 250 GB Scorpio Black SATA 3 Gb/s 7200 RPM 16 MB Cache Bulk/OEM Notebook Hard Drive WD2500BEKT ELA636088 Computers & Accessories WD2500BE
Amazon: $89.99 Newegg: $89.99

FAT Limits
We said that the smallest unit that the hard disk drive controller can access is the sector. When Microsoft created DOS, however, they decided that the smallest unit the operating system would access wouldn’t be the sector, but a group of sectors, which they called cluster.

The operating system needs a table listing which file is using which sector and the problem in accessing each sector directly is that you need a table long enough to accommodate all sectors available in the hard disk drive, and also make provision for bigger drives that may be launched in the future. For example, for our 250 GB hard disk drive we would need a list with 488,397,168 entries. Back in 1983 when the first hard disk drive was launched with only 5 MB, listing all sectors would take up a lot of space of the hard disk drive.

DOS below version 3.0 used a system called FAT-12, meaning a File Access Table (the table we were talking about above) using 12-bit entries and using 4 KB clusters – i.e., instead of accessing each sector directly the operating system accessed a group of eight sectors per time (4 KB / 512 bytes = 8). With 12 bits you have 2^12 entries on the abovementioned table, i.e., 4,096 entries. Since each entry maps to a 4 KB cluster, with the FAT-12 system you could have hard disk drives up to 16 MB (4,096 x 4 KB). So DOS below 3.0 wouldn’t recognize drives above 16 MB. Since at this time hard disk drives had 5 MB and 10 MB in capacity, this system would work just fine. By the way, FAT-12 system is still used on floppies.

With DOS 3.x Microsoft released FAT-16 system, which at this time used 14-bit addressing (and not 16-bit as the name suggests). With 14 bits the number of entries on the table was of 16,384, and the size of the cluster was of 2 KB (i.e., each cluster was a group of four sectors). Making the math you will find out that with DOS 3.x the operating system could recognize only up to 32 MB (16,384 x 2 KB) hard disk drives.

Then with DOS 4.0 Microsoft expanded FAT-16 to real 16-bit addressing, meaning 65,536 entries on the table. Still using 2 KB clusters this allowed the operating system to recognize hard disk drives up to 128 MB.

With DOS 5.0 instead of increasing the size of the FAT Microsoft decided to play around with cluster size. At the time you’d format your hard disk drive, the operating system would choose the cluster size according to the capacity of your hard disk drive (see table below). This DOS version, however, allowed clusters only up to 8 KB, allowing the operating system to recognize hard disk drives partitions up to 512 MB (65,536 x 8 KB).

Partition Size

Cluster Size (FAT-16)

Operating System

Up to 128 MB

2 KB

DOS 5.0 and up

From 128 MB to 256 MB

4 KB

DOS 5.0 and up

From 256 MB to 512 MB

8 KB

DOS 5.0 and up

From 512 MB to 1 GB

16 KB

DOS 6.0 and up

From 1 GB to 2 GB

32 KB

DOS 6.0 and up

From 2 GB to 4 GB

64 KB

Windows NT only

Finally with DOS 6.0 Microsoft expanded the above table to allow 16 KB and 32 KB clusters, making the operating system to recognize hard disk drives up to 2 GB (65,536 x 32 KB). This is the final version of FAT-16 as we know it today and was the same file system used by the first version of Windows 95. So FAT-16 file system still has a 2 GB limit per partition. This means that under FAT-16 you can only install a 4 GB hard disk drive by creating 2 GB partitions, i.e., your hard disk drive would be divided into a C: drive with 2 GB and a D: drive with 2 GB.

As a side note, Windows NT allowed the use of FAT-16 partitions with 64 KB clusters (see table above), however this configuration isn’t supported by other operating systems; partitions formatted with this configuration can’t be recognized by other operating systems.

Microsoft could have gone forever increasing the cluster size instead of increasing the number of positions inside the allocation table, but this leads to a problem called slack space. Since the smallest unit on the hard disk drive the operating system can access is the cluster (and not the sector) each file when stored on the hard disk drive must have a size that is an exact multiple of the cluster size. For example, on a 2 GB hard disk drive using FAT-16 a 100 KB file would take up four clusters, or 128 KB, because the hard drive is using 32 KB clusters (100 KB / 32 KB = 3.125, a broken value, so it has necessarily to use four clusters). This extra 28 KB has nothing inside, it is wasted. So when using big clusters, a lot of space on the hard disk drive is wasted just because inside the hard disk drive each file must have a size that is an exact multiple of the cluster size being used.

With Windows 95 OSR2 (launched in 1996 it was Windows 95’s second maintenance version; also known as Windows 95 B) Microsoft launched FAT-32, which became more known when Windows 98 was released, two years later. Using 32-bit addressing it could, at least in theory, access disks up to 2 TB accessing sectors directly instead of using clusters, what would eliminate the slack space problem. FAT-32, however, continues to use clusters:

Partition Size

Cluster Size (FAT-32)

Up to 256 MB

Not Available

From 256 MB to 8 GB

4 KB

From 8 GB to 16 GB

8 KB

From 16 GB to 32 GB

16 KB

From 32 GB to 2 TB *

32 KB

* In theory FAT-32 supports partitions bigger than 2 TB – for example, up to 128 TB if 32 KB clusters are used (2^32 x 32 KB = 128 TB). However, due to a limitation on the hard disk drive boot sector, which uses a 32 bit variable to number the physical sectors present on the hard disk drive, the practical limit of FAT-32 is of 2 TB (2^32 x 512 bytes per sector = 2 TB).

So the slack problem is still around with FAT-32.

This is not the only problem. Even with FAT-32 Windows 95 OSR2 can’t access partitions over 32 GB and Windows 98 can’t access partitions over 128 GB. Windows ME does not face this problem.

Windows NT, 2000 and XP (and probably Vista) can’t format FAT-32 partitions over 32 GB, even though they can recognize hard disk drives formatted with FAT-32 under Windows ME up to the 2 TB limit.

Another problem with FAT-32 is that files can’t be bigger than 4 GB. With people nowadays editing hi-def videos and even the most newbie user authoring and burning his/her own DVDs, this is a real limitation.

FAT-32 also allows only each partition to hold up to 4,194,304 files. Probably you will reach this and the above limit way before the 2 TB maximum partition size limit.

The solution to all these problems is to use a different file system, and if you are a Windows user the most indicated is to use NTFS, which is a file system introduced by Windows NT back in 1993 and is natively available on Windows NT, 2000, XP, 2003 and Vista. In fact this is the recommended file system if you use one of these operating systems. We will discuss more about this file system in the next page.

In fact, the solution for each one of the limits explained on this page is to upgrade your operating system to a newer version.

« Previous |  Page 3 of 6  | Next »
Print Version | Send to Friend | Bookmark Article | Comments (9)

Related Content
  • Everything you Need to Know About ATA-66, ATA-100 and ATA-133 Hard Disks
  • Anatomy of a Hard Disk Drive
  • 250 GB Hard Disk Drive Round-Up
  • 320 GB Hard Disk Drive Round-Up
  • 500 GB Hard Disk Drive Round-Up

  • Recommended Deal.
    Oo ST31500341ASOo ST31500341AS

    OO O&O PartitionManager 2 Professional Edition Software Usually ships in 24 hours

    Amazon: $49.95

    RSSLatest News
    Antec Announces the One PC Case
    February 9, 2012 - 8:06 AM PST
    Cooler Master Releases Elite 361 PC Case
    February 8, 2012 - 7:50 AM PST
    Microsoft Launches Kinect for Windows
    February 2, 2012 - 8:42 AM PST
    Transcend Announces SSD720 SSD Series
    February 1, 2012 - 7:55 AM PST
    .:: More News ::.


    © 2004-12, Hardware Secrets, LLC. All rights reserved.
    Advertising | Legal Information | Privacy Policy
    All times are Pacific Standard Time (PST, GMT -08:00)