1.0 Introduction

The Microsoft Flash File System (FFS) is a file system that makes flash memory media appear as a readable and writeable disk drive.

1.0 FLASH File System

FFS treats the media as a collection of relatively large blocks (erase blocks) that are all identical in size. A portion of the space in each block is dedicated to storing the block's statistics. The remainder of the space within a block is used for directory and file control structures and file data. Space is allocated on a byte-by-byte basis. Directory and file control structures and file data are distributed throughout the media. As files are deleted, space is deallocated.

The file system determines when deallocated space within a block should be reclaimed for reuse. When deallocated space reclamation is performed, fragmentation that would have resulted from the reclamation process is also eliminated. After reclamation, the free space within a block appears after any allocated space remaining in the block.