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




Recommended
Upgrading and Repairing PCs (18th Edition)
Upgrading and Repairing PCs (18th Edition), by Scott Mueller (Que), starting at $29.94
Home » Storage
Hard Disk Drives Capacity Limits
Author: Gabriel Torres
Type: Tutorials Last Updated: September 30, 2007
Page: 3 of 6
$ Check REAL-TIME pricing for Seagate Barracuda 7200.12 SATA 3Gb/s 3.5-inch 1TB Internal Hard Drive ST31000528AS 7200RPM 32MB Cache RoHS Compliant Inter $.
Directron: $83.99 CDW: $91.99
Newegg: $89.99 CircuitCity: $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 on 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.

Pages (6): « 1 2 [3] 4 5 6 »
Print Version | Send to Friend | | Bookmark Article | Comments (2)

Related Content
  • Everything you Need to Know About ATA-66, ATA-100 and ATA-133 Hard Disks
  • Samsung SP1604N Hard Disk Drive Review
  • Anatomy of a Hard Disk Drive
  • Data Recovery Myths
  • 250 GB Hard Disk Drive Round-Up

  • Recommended Deal.
    Barracuda 7200.11 1.5TB 3.5 Hard DriveSeagate Technology ST31500341AS


    CTIStore: $134.00 CircuitCity: $119.99
    Directron: $117.99 CDW: $116.99

    RSSLatest News
    Spire Announces CoolNess Laptop Cooler
    November 6, 2009 - 3:07 PM PST
    Mushkin Launches Memories with Copper-made Heatsink
    November 5, 2009 - 3:49 PM PST
    Super Talent Launches USB 3.0 Flash Memories
    November 5, 2009 - 3:47 PM PST
    VIA Announces Nano 3000 Processor Series
    November 5, 2009 - 3:42 PM PST
    Sapphire Announces Vapor-X HD 5870 and HD 5750 Video Cards
    November 5, 2009 - 3:38 PM PST
    Gelid Unveils Tranquillo CPU Cooler
    November 5, 2009 - 3:36 PM PST
    Noctua Intros NH-D14 Premium CPU Cooler
    November 3, 2009 - 8:14 PM PST
    Transcend Unveils DDR3-1333 Memory Kits
    November 3, 2009 - 7:57 PM PST
    EVGA Launches GeForce GTX 275 CO-OP PhysX Edition
    November 3, 2009 - 7:51 PM PST
    Akasa Launches Freedom Xone Mid-tower Case
    November 2, 2009 - 6:05 PM PST
    .:: More News ::.

    RSSLatest Content
    SilverStone Grandia GD04 Case Review
    Can We Trust the 80 Plus Certification?
    NZXT Gamma Case Review
    Patriot Box Office Media Player Review
    ASUS U-75HA 750 W Power Supply Review
    MSI P55-GD80 Motherboard
    Thermaltake Element V Case Review
    Nokia 7705 Twist Cell Phone Review
    Cooler Master Hyper TX3 CPU Cooler Review
    Some Pictures from Our Office
    Antec Two Hundred Case Review
    Corsair TX950W Power Supply Review
    XFX Radeon HD 5770 Video Card Review
    XFX Radeon HD 5750 Video Card Review
    Scythe Big Shuriken CPU Cooler Review

    Our Most Popular Articles
    Maximum CPU Temperature
    1,070,698 views
    How to Find Out Your Motherboard Manufacturer and Model
    695,063 views
    nVidia Chips Comparison Table
    671,359 views
    Connecting Two PCs Using a USB-USB Cable
    585,741 views
    How To Correctly Apply Thermal Grease
    555,886 views
    AMD ATI Chips Comparison Table
    554,074 views
    ATI Radeon X1300 Pro Review
    485,787 views
    ATI Radeon X1600 XT Review
    474,838 views
    How To Perform a BIOS Upgrade
    389,321 views
    Sempron vs. Athlon XP
    336,536 views

    Latest Threads in Our Forums
    Is it a vga problem or motherboard has shocked?
    by ftomsuk
    Patriot Box Office Media Player Review
    by cchjde
    Is it possible LCD Monitor leaked by itself ?
    by delta32
    Suddenly death syndrome and pendrives
    by Desert Fox
    better cpu cooler?
    by sam_wade07
    Video Transfer camcorder to PC
    by fjs559
    Spire Announces CoolNess Laptop Cooler
    by Hardware Secrets Team
    Can We Trust the 80 Plus Certification?
    by Merman
    SilverStone Grandia GD04 Case Review
    by Olle P
    Understanding Over Current Protection
    by Olle P
    .:: Visit Our Forums ::.


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