Learn about the technologies behind the Internet with The TCP/IP Guide!|
NOTE: Using robot software to mass-download the site degrades the server and is prohibited. See here for more.
Find The PC Guide helpful? Please consider a donation to The PC Guide Tip Jar. Visa/MC/Paypal accepted.
|View over 750 of my fine art photos any time for free at DesktopScenes.com!|
NTFS Clusters and Cluster Sizes
One of the ways that NTFS is similar to the FAT file system is that it does not manage individual 512-byte sectors on the hard disk volume independently. Instead, it groups them into blocks that are called clusters, or sometimes, allocation units. The main reason for doing this is performance: if individual sectors were used for data storage on a very large disk, many resources would be required to keep track of what was in each one, and fragmentation of the disk would be much more of a problem. For a more thorough discussion of clusters and how they work, see this discussion of clusters in the FAT file system section.
While both FAT and NTFS use clusters, they use them in a very different way, of course. This is due to the differences in the internal structures of the two file systems. Some of the performance issues associated with very large FAT file system partitions are due to the fact that the file allocation tables grow to a very large size, and FAT was never created with extremely large volumes in mind. In contrast, NTFS is designed to be able to better handle the large internal structures (such as the MFT) that occur with large partitions.
Like FAT, NTFS chooses a default cluster size based on the size of the partition. However, it uses a different method for selecting the cluster size for a partition than the default cluster assignment system for FAT16 and the one for FAT32. The table below shows the default cluster sizes that NTFS chooses for various partition sizes:
Now, I am sure you noticed rather quickly that there are some colors in this chart that you normally don't see on the pages of this site. :^) This was done to distinguish the two halves of the chart, because NTFS uses two different assignment systems, depending on the version of the operating system:
The reason for the difference between operating systems is perhaps a bit surprising: it has to do with NTFS's built-in file-based compression. Compression is not supported on file systems with cluster sizes over 4 kiB. Since most people like this feature, the setup and formatting programs in newer Windows operating systems will not choose a cluster size over 4 kiB in size. Windows NT 3.5 and earlier do not support file-based compression, so they don't have to worry about this, and they use the full table. (In practice, it's atypical to find a hard disk much bigger than 4 GB running such an old version of Windows NT anyway...)
The size of the clusters in a partition has an important impact on the performance of the system. While the table above shows the default cluster size for NTFS partitions, the default can be overridden by using the "/A" parameter of the FORMAT command. For example, "FORMAT D: /A:8192" will format the D: drive with 8,192-byte clusters. However, you should be careful before overriding the defaults and choosing a larger cluster size for a partition. You will lose the ability to use NTFS file compression, and the amount of slack will increase as well. Slack refers to wasted space due to files of variable size being placed into clusters of fixed size. The bigger the clusters, the more space that is wasted; while typically considered a FAT file system issue, this becomes relevant to NTFS as well if you use larger clusters. See this FAT file system page for a full explanation of slack. I also have written a more comprehensive discussion of NTFS partition size and cluster size selection issues. The default of 4 kiB for modern hard disk volumes is generally considered a decent overall compromise.
Note: One final issue has
an impact on the cluster size of NTFS partitions, if you are using Windows NT (any
version, including 4.0.) Windows NT only uses the cluster table above if you are creating
a new NTFS partition. If you are converting a partition from FAT to
NTFS, Windows NT will always make the NTFS volume use the smallest clusters: 512 bytes. In
fact, this even applies if you initially install Windows NT to an NTFS partition, because
during installation NT always first creates a FAT partition and then converts it to NTFS! See here for more on NTFS conversion. Windows 2000 does not have