Written by Christian Ahmer | 11/24/2023

AFFS (Advanced Fast File System)

The Advanced Fast File System (AFFS), often referred to simply as the Fast File System (FFS), is an enhanced version of the original Fast File System employed by the Amiga computer line. It was introduced with AmigaOS 2.0 to address certain limitations of the FFS and to provide an optimized file system for the increasing storage capacities of hard disks.

AFFS retains the core principles of Amiga's block-structured file systems, incorporating a series of improvements for efficiency and reliability. One of the pivotal enhancements in AFFS is its refined block management system. While FFS introduced the bitmap approach for managing free space, AFFS further streamlined the process. It improved the handling of the bitmap by ensuring that the bitmaps are cached in memory, which significantly reduced disk access times when searching for free blocks.

Another critical improvement of AFFS over FFS was its robustness in terms of data integrity. AFFS introduced a more rigorous error-checking mechanism, which included not only checksums for data blocks but also for the bitmap blocks. This ensured that the file system was less prone to corruption and could better maintain the consistency of the data.

AFFS also implemented an intelligent block allocation strategy that aimed to minimize disk head movement. When a file was extended, AFFS would attempt to allocate a block close to the previous one, thereby reducing the time taken to read or write files. This was particularly beneficial for mechanical hard drives where seek times could significantly impact overall system performance.

The directory structure within AFFS was optimized as well. Unlike the original FFS, where the directories were simply linked lists of file headers, AFFS used a hash table to speed up the lookup process. This was a significant performance enhancement, particularly for directories containing a large number of files.

To facilitate the repair of filesystem structures in the event of a crash, AFFS introduced a more comprehensive set of disk repair tools compared to FFS. These tools could work more effectively due to the additional metadata and consistency checks incorporated into AFFS.

Despite these improvements, AFFS, like its predecessor, lacked certain features that later became standard in modern file systems, such as journaling and built-in file encryption. These omissions were due in part to the fact that the Amiga operating system was largely used in single-user environments where advanced security features were not as critical.

It's important to note that although the terms AFFS and FFS are often used interchangeably, they represent distinct stages in the evolution of Amiga file systems. AFFS is specifically the version that includes the aforementioned advancements and should not be confused with the original implementation of FFS.

The development of AFFS highlighted the continuous effort to optimize file system performance on existing hardware while maintaining the ease of use and reliability that Amiga users had come to expect. While AFFS has been superseded by more advanced file systems in later versions of the AmigaOS, it remains an important step in the historical development of file systems for personal computers.