Disk Storage Efficiency. The File Allocation Table (FAT) disk storage system used by MSDOS maps a large amount of disk storage to a (relatively) small index table by breaking up the disk into fixed size "clusters". Small disks are divided into up to 4096 clusters using 12 bit FATs. Larger disks have up to 65536 clusters in 16 Bit FATs. A cluster must contain an integral number of 512 byte sectors. Different disks sizes have different numbers of sectors per cluster. Potential storage is lost when a file is not an even multiple of 512 bytes in length. More storage is lost when a file is not an even multiple of cluster size. Much of the "compression" achieved by disk compression programs (STACKER, DBLSPACE, etc.) comes from eliminating lost space from sectoring/clustering rather than from conventional compression.

Cluster Size Usage
512Byte720K,1.44M Floppies
1024Byte360K, 1.2M, 2.88M Floppies
4096Byte2-15MB, 128-255MB

Two programs are widely available that analyze slack space:DISKSTAT (DISKST) and CHKDRV. Both programs contain minor errors in calculation involving files whose length is 0 or an even multiple of cluster size. Early Versions of CHKDRV have additional errors. It is also possible to determine lost space under DOS by comparing CHKDSK storage figures with Space Remaining reported by DIR.

Under Windows95 DIR /V /S will list the data needed to compute slack.

One formula for estimating slack is:

Slack = (Cluster_Size - Avg_File_Size) * Number_of_Files

It is claimed that slack in percentage is roughly equal to the cluster size divided by 1000. For example a disk with 16384K clusters would have about 16% slack.

Alternate file systems have far less slack. Compressed disks effectively have a 512 byte cluster size. FAT32 disks have smaller cluster sizes than FAT16.
Cluster Size Usage
512Byteup to 260mb
4096Byte260mb, 8Gb
8192Byte8Gb to 16Gb
16384Byte16Gb to 32Gb
32768Byte32Gb and larger

Return To Index Copyright 1994-2002 by Donald Kenney.