The FAT file system
is invented by Microsoft. It performs good even in light-weight
implementations, but worse than some modern file systems in the
aspect of performance, reliability and scalability. exFAT is a new file system
which is similar to FAT. Transaction support can be added to FAT (TFAT) and
exFAT (TexFAT) implementation to ensure transaction-safe operation. We would
now introduce FAT, TFAT, exFAT and TexFAT respectively.
File
Allocation Table (FAT)
FAT named File Allocation Table is one of a
computer file system architecture.A family of industry standard file systems is
utilizing it.
FAT has been used almost since the invention of
personal computers, and today is supported by virtually all operating systems
for personal computers. Although FAT imposes limitations on file size (4 GB),
volume formatting capacity, and so on, FAT remains the file system of choice
for manufacturers of portable media. FAT is robust, relatively simple, and easy
to implement in firmware.
FAT was first used on floppy disks in the late
1970s. Also, it was soon adapted and used on hard disks throughout the DOS and
Windows 9x eras for two decades. However, due to the introduction of better
performance of computers, OS and the invention of more complex file systems,
FAT is no longer the default file system in computers using Microsoft Windows.
Nowadays, FAT file systems can still be found on
floppy disks, USB sticks, different types of memory cards and some portable
devices. It is also used in the boot stage of EFI-compliant computers.
Over time FAT has been improved and can be able
to support larger media. Now, FAT has been enhanced to three file system types.
They are FAT12, FAT16 and FAT32. The fundamental difference of these FAT sub
types, is the entry size in the actual FAT structure on the disk. There are 12
bits in a FAT12 FAT entry, 16 bits in a FAT16 FAT entry and 32 bits in a FAT32
FAT entry.The entry size of FAT12 is 12 bits. The one of FAT16 is 16bits and
32bits for FAT32.
Extended
File Allocation Table (exFAT)
There is a new file
system called exFAT. It has a better adaptation of the needs of mobile personal
storage. The exFAT file system can handle large files, such as those used for
media storage. Also, it provides a linkage between desktop PCs and other
devices such as portable media devices so that transmission of files between
desktop and device can be easily done.
Extended File
Allocation Table (exFAT) was first implemented by Microsoft Windows Embedded CE
6.0. Later, it was used in the OS which is Window Vista with
Service pack 1.
As
exFAT can be implemented in different platform, later OS after Window Vista SP1
also include the exFAT file
system.
Transaction-safe File Allocation Table (TFAT)
However, there is a problem
that data loss and file corruption may take place if interruption occurs during
transaction, notes that the word transaction briefly means a serial of
integrity operation in computer.
Therefore,
transaction-safe file allocation table came into being. As implied in the name,
TFAT is a system that prevents the problem just mentioned during transaction
based on FAT. The difference is TFAT works with two FATs: FAT0 and FAT1. FAT0,
the primary table on TFAT, is used to maintain the last known good FAT. FAT1 is
the active table on TFAT. All write operations occur on this table.
When a transaction in
a file is running, any changes are copied to FAT1. Until the transaction
finishes, the FAT1 will be copied to FAT0. That means the transaction will not
do any changes to the actual file before it is complete. As a result, if
interruption occurs for some reasons during the transaction, the actual file
(FAT0) will not be affected, just thinks about that FAT1 likes a buffer.
Physically, in hard
disk, the TFAT allocates new clusters for FAT1 where operation runs. After
transaction finishes, FAT1 is copied to the original clusters. Else, if
interruption occurs, the initial clusters where the file in remain unchanged.
Transaction-safe
extended File Allocation Table (TexFAT)
Different from TFAT,
TexFAT is a system bases on exFAT. The concept of TexFAT is combination of TFAT
and exFAT mentioned in early paragraph. TexFAT provides similar funtionality to
TFAT but TexFAT is usually used for larger files and larger partitions.
TFAT
v.s. TexFAT
To compare with the
FAT, the exFAT file system offers some better performance. Firstly, it enables
the file system to handle growing capacities in media. Secondly, it increases
capacity to 32 GB and larger. Thirdly, it can handle more than 1000 files in a
single directory. Fourthly, it removes the previous file size limit of 4 GB.
Fifthly, it supports interoperability with future desktop OSs. Finally, it
provides an extensible format, including OEM-definable parameters to customize
the file system for specific device characteristics.
However, exFAT
doesn’t support old version of OSs.
In conclusion, because
of the lack of support in desktop operating systems, neither TFAT nor TexFAT
file system are essential to the mobile storage. Due to the spread of USB
drives, the risk of data loss in case of power loss or unexpected removal of
the drive has become more common. Transaction-safely is very useful for this
problem, which can be provided by TFAT and TexFAT file system.
Question
1. What is FAT?
2. What is exFAT?
3. What is TFAT?
4. What is TexFAT?
5. What are the advantages of TexFAT over
TFAT?
Suggested Solution
1. FAT is the name of a computer file system architecture and a family of industry standard file systems utilizing it.
2. exFAT is a new file system that is better adapted to the growing needs of mobile personal storage.
3. FAT file system with transaction-safe operation
4. exFAT file system with transaction-safe operation
5.
(i) TexFAT enables the file system to handle growing capacities in media.
(ii) TexFAT increases capacity to 32 GB and larger.
(iii) TexFAT can handle more than 1000 files in a single directory.
(iv) TexFAT removes the previous file size limit of 4 GB.
(v) TexFAT supports interoperability with future desktop OSs.
(vi) TexFAT provides an extensible format, including OEM-definable parameters to customize the file system for specific device characteristics.
References