This paper presents dynamic sector allocation, clustered sector allocation, and background garbage collection--mechanisms that are key algorithms in solid-state files (SSFs) using flash EEPROMs. Dynamic sector allocation resembles a log-structured file system, which sequentially writes all data modifications to the SSF. Clustered sector allocation is a technique for using the dynamic sector allocation mechanism in an SSF that incorporates a NAND flash EEPROM architecture. Dynamic sector allocation inevitably accumulates obsolete data on the SSF. This “garbage” must be erased in order to secure free space on the SSF. The garbage collection mechanism is a free-space-management method performed as a background process in the SSF. These three mechanisms are closely related and work collaboratively to enable flash EEPROMs to perform well in spite of the serious inherent limitations of the devices. We simulated the behavior of several SSFs and observed that 30% of the storage area of the SSFs must be used as a work area in order to ensure an acceptably low rate of memory-erase operations. We also demonstrated that the lifetime of the SSF is long enough for use in most personal computers. Finally, we have developed SSFs using the NAND type of flash EEPROMs that incorporate the above mechanisms.