Microsoft FAT 32.

Eamon Hughes. (
Tue, 30 Jul 96 10:01:17 +0100

Any interest to anyone?

------- Forwarded Message

Thought this may be of interest to you..


- -------------------------------------------------

This very interesting Article is about the 32-Bit File System that is
being developed by Microsoft at the moment:

Market Bulletin
Windows Product Team, May 1996

The FAT32 File System

This market bulletin is intended to help customers understand
Microsoft's FAT32 file system for Windows 95, which is due to start
shipping with new PC's equipped with Windows 95 in the fall of 1996.

The existing File Allocation Table (FAT) file system was invented in
1977 as a way to store data on floppy disks for Microsoft Stand-alone
Disk Basic. Although originally intended for floppy disks, FAT has
since been modified to be a fast, and flexible system for managing
data on both removable and fixed media.

A new generation of very large hard disks will soon be shipping, and
the existing FAT data structures have finally reached the limit of
their ability to support ever larger media. FAT currently can support
a single disk volume up to 2 Gigabytes in size. FAT32 is an
enhancement of the FAT file system that supports larger hard drives
with improved disk space efficiency.

FAT32 provides the following enhancements over previous
implementations of the FAT file system: - Supports drives up to 2
Terabytes in size. - Uses space more efficiently. FAT 32 uses smaller
clusters (e.g. 4kb clusters for drives up to 8GB in size), resulting
in 10 to 15% more efficient use of disk space relative to large FAT
drives. - More robust. FAT32 has the ability to relocate the root
directory and use the backup copy of the FAT instead of the default
copy. In addition, the boot record on FAT32 drives has been expanded
to include a backup of critical data structures. This means that FAT32
drives are less susceptible to a single point of failure than existing
FAT volumes. - More flexible. The root directory on a FAT32 drive is
now an ordinary cluster chain, so it can be arbitrarily large and
located anywhere on the drive. In addition, FAT mirroring can be
disabled, allowing a copy of the FAT other than the first one to be
active. These features allow for dynamic resizing of FAT32 partitions.
Note, however, that while the FAT32 design allows for this capability,
it will not be implemented by Microsoft in the initial release.

In order to maintain the greatest compatibility possible with existing
applications, networks and device drivers, FAT32 was implemented with
as little change as possible to Windows 95's existing architecture,
internal data structures, Application Programming Interfaces (APIs)
and on-disk format. However, because 4 bytes are now required to store
cluster values, many internal and on-disk data structures and
published APIs have been revised and/or expanded. In some cases,
existing APIs will fail on FAT32 drives. Most applications will be
unaffected by these changes. Existing utilities and drivers should
continue to work on FAT32 drives. However, MS-DOS block device drivers
(e.g. ASPIDISK.SYS) and disk utilities for these will need to be
revised to support FAT32 drives.

All of Microsoft's bundled disk utilities (Format, FDISK, Defrag,
MS-DOS and Windows ScanDisk, and DriveSpace) have been revised to work
with FAT32. In addition, Microsoft is working with leading device
driver and disk utility vendors to support them in revising their
products to support FAT32.

For most users, FAT32 will have a negligible performance impact. Some
applications may see a slight performance gain from FAT32. In other
applications, particularly those heavily dependent on large sequential
write operations, FAT32 may result in a modest performance
degradation. The overall effect on raw disk performance is less than
5% however, and the overall impact on application performance as
measured by WinStone is typically less than 1%.

At this time, Windows 95 OEM Service Release 2 is the only operating
system capable of accessing FAT32 volumes. Windows 3.1, MS-DOS and the
original version of Windows 95 will not recognize FAT32 partitions,
and thus they are unable to boot from a FAT32 volume. Microsoft's
plans for supporting FAT32 in Windows NT are still being determined,
but at this time, Windows NT is unable to access, or dual boot from,
FAT32 volumes. At minimum, Microsoft will provide a utility to convert
a FAT32 volume to an NTFS volume.

Customers who run Windows 95 in real mode (for example, to run a game)
will be able to use FAT32 volumes, however.

In OEM Service Release 2, if you run the FDISK utility on a system
with a drive over 512MB, it will ask whether to enable large disk
support. If you answer yes, any partition you create that's greater
than 512MB will be marked as a FAT32 partition.

NTFS is an advanced file system, with support for many features not
present in FAT32, including per-file compression, security and
transactioning. It is not feasible to implement NTFS within the memory
and compatibility constraints of the Windows 95 platform. Windows 95
still supports real-mode MS-DOS for booting and running some MS-DOS
based games. Adding NTFS support to the MS-DOS kernel would have
required a significant amount of MS-DOS memory, and thus would have
precluded the use of many MS-DOS mode games and applications.
Protect-mode only support for NTFS would not have allowed Windows to
boot from an NTFS volume.

Because of the compatibility considerations described above, the
implementation of FAT32 involved very little change to Windows 95. The
major differences between FAT32 and earlier implementations of FAT are
as follows: - Two new partition types are defined: 0xB and 0xC. Both
indicate FAT32 volumes; type 0xC indicates a FAT32 partition that
requires Extended Int13h support (LBA). - The boot record on FAT32
drives requires 2 sectors (due to expansion and addition of fields
within the BPB). As a result, the number of reserved sectors on FAT32
drives is higher than on FAT16, typically 32. This expanded reserved
area allows two complete copies of the boot record to be stored there,
as well as a sector in which the free space count and other file
system information is stored. - The FAT is now larger, because each
entry now takes up 4 bytes and there are typically many more clusters
than on FAT16 drives. - The root directory is no longer stored in a
fixed location. A pointer to the starting cluster of the root
directory is stored in the extended BPB. - The on-disk format for
directory entries is unchanged, except that the two bytes previously
Reserved for Extended Attributes now contain the high order word of
the starting cluster number. - MS-DOS APIs that rely on intimate
knowledge of the file system layout generally fail on FAT32 drives.
For instance, GetDPB (Int 21h, function 32h), Int 25/26h Absolute Disk
Read/Write, and most of the Int 21h, function 440Dh IOCTLs will fail
on FAT32 drives. New forms of these APIs are provided in OEM Service
Release 2 which work on all FAT drives. - Win32 APIs are not affected
by FAT32, with the exception of one additional API called
GetFreeSpaceEx() for determining the true free space on a FAT32

(C) 1996 Microsoft Corporation
Microsoft, MS-DOS, Windows and Win32 are registered trademarks and
Windows NT is a trademark of Microsoft Corporation.

- --
Bob Brewer
Milton Keynes UK

------- End of Forwarded Message