Designing and Analyzing a Flash File System With Alloy

Free registration required

Executive Summary

Alloy is a lightweight modeling language based on first-order relational logic. The language is expressive enough to describe structurally complex systems, but simple enough to be amenable to fully automated analysis. The Alloy Analyzer, with its SAT- based analysis engine, allows one to simulate traces of a system, visualize them, or search for counterexamples to a property. This paper illustrates key concepts of Alloy using, as an example, the construction and analysis of a design for a flash file system. In addition to basic file operations, the design includes features that are crucial to NAND ash memory but contribute to increased complexity of the file system, such as wear leveling and erase-unit reclamation.

  • Format: PDF
  • Size: 334 KB