[ The PC Guide | Systems and Components Reference Guide | Hard Disk Drives | Hard Disk Logical Structures and File Systems | New Technology File System (NTFS) | NTFS Reliability Features and System Management ] Fragmentation and Defragmentation Under ideal conditions, file system read and write transfer performance is maximized when files are contiguous on the disk. This means that all of the data in each file would be located in consecutive clusters or blocks within the volume. Contiguous storage improves performance by reducing unnecessary seek motions that are required when data is located in many different places. When files are broken into many pieces they are said to be fragmented. Fragmentation is a common occurrence in the FAT file system; if you are unfamiliar with the concept, you may wish to review this full discussion of fragmentation and defragmentation. The NTFS file system handles the storage of files and directories in a very different way than the FAT file system does. FAT is a very simple, and relatively "unintelligent" file system, that pays little attention to how much fragmentation will result from how it operates. In contrast, NTFS is smarter about how it manages the storage of data. For example, NTFS reserves space for the expansion of the Master File Table, reducing fragmentation of its structures. Overall, fragmentation is less of a concern in NTFS than it is under FAT. The superior disk management capabilities of NTFS mean that fragmentation is reduced compared to FAT. Unfortunately, this led to a popular myth--that NTFS volumes have no fragmentation, and therefore never need defragmentation. Microsoft unwittingly exacerbated this problem by not providing any utility to defragment NTFS partitions in Windows NT, implying that defragmentation was unnecessary. But this is simply not the case: NTFS partitions definitely are subject to fragmentation. Many users of NTFS have never defragmented their partitions at all, leading to avoidable performance slowdowns over time. In fact, due to their complexity, NTFS volumes suffer from a variety of different types of fragmentation. Unlike FAT, where a simple cluster allocation system is used, NTFS uses the Master File Table and a combination of resident and non-resident attributes to store files. Due to the flexible way that data is stored, and that additional data storage areas are added as needed, the result can be pieces of data spread out over the volume, particularly when small files grow into large ones. Remember that while NTFS has a much better design than FAT, at its core it does still store data in clusters. The addition and removal of data storage extents causes much of the fragmentation of files and directories. As the MFT grows, it itself can become fragmented, reducing performance further. The solution to the problem of fragmentation under NTFS is the same as it is under FAT: use a defragmenter. :^) For Windows NT, you will need to use a third-party program, one of the most popular being the Diskeeper program by Executive Software. In its wisdom, Microsoft decided to license the Diskeeper defragmenter technology and include it in Windows 2000, so the operating system now includes a built-in defragmenter, though it is likely either less capable or slower than the full Diskeeper program sold by Executive Software. (As an interesting aside, Microsoft found themselves in the hot-seat as a result of this licensing decision. The German government took issue with the defragmenter because the CEO of Executive Software is a member of the Church of Scientology, and a big hoo-ha resulted. How bizarre. As the old expression says, "I am not going there", but you can read about this strange episode here.)
|