Przez lata istniało kilka wariantów „FAT16” z różnymi limitami, ale rozważmy wersję, która przetrwała od „compaq DOS 3.31” do Windows 95.
Woluminy FAT są podzielone na klastry. Każdy klaster składa się z potęgi dwóch liczb sektorów. Liczba sektorów na klaster w systemie FAT16 jest przechowywana jako 8-bitowa liczba ze znakiem. Zatem maksymalna możliwa liczba sektorów na klaster wynosi 64.
Numery klastrów były przechowywane jako 16-bitowa wartość bez znaku. Ograniczając całkowitą liczbę klastrów do 65536. Pomnóż ją przez maksymalną liczbę sektorów przypadającą na klastry, a otrzymasz limit 4194304 sektorów.
Rozmiar (logiczny) sektora dysków twardych wynosi 512 bajtów. Pomnóż to przez limit liczby sektorów wspomniany powyżej, a otrzymasz limit 2GiB. Zakładając, że średnie z większymi sektorami mogą obsługiwać większy wolumen FAT16, ale nie sądzę, aby miało to miejsce w praktyce.
Windows NT zmienił interpretację pola „sektorów na klaster” na 8-bitowy bez znaku. Pozwoliło to na partycję FAT16 4GiB z 512-bajtowymi sektorami (i teoretycznie większą na dyskach z większymi sektorami). AIUI Windows 98 dodał obsługę odczytu i zapisu takich partycji, ale nie mógł ich utworzyć, a narzędzia dyskowe nie mogły ich naprawić.
Z pewnością można by wprowadzić stosunkowo niewielkie poprawki w formacie systemu plików, aby obsługiwały większe klastry, a tym samym większe woluminy. Jednak MS zdecydowało się na bardziej radykalną opcję przejścia do 32-bitowego indeksu klastrów z systemem Windows 95 OSR2 produkującym FAT32.
Wierzę, że powodem wyboru bardziej radykalnej opcji była efektywność przestrzeni. Biorąc pod uwagę typowe rozmiary plików w tym czasie, klastry 32kiB były już dość marnotrawione, a większe byłyby nawet takie ruchy.