The Design and Implementation of a Log-Structured File System

The work

AuthorsMendel Rosenblum; John K. Ousterhout
Editors
Typearticle
Year1992
Citekeyrosenblum1992design

Where it appeared

Published inACM Transactions on Computer Systems
PublisherAssociation for Computing Machinery
Volume10
Issue1
Pages26--52

Identifiers

DOI10.1145/146941.146943

Abstract

This paper presents a new technique for disk storage management called a *log-structured file system* . A log-structured file system writes all modifications to disk sequentially in a log-like structure, thereby speeding up both file writing and crash recovery. The log is the only structure on disk; it contains indexing information so that files can be read back from the log efficiently. In order to maintain large free areas on disk for fast writing, we divide the log into *segments* and use a *segment cleaner* to compress the live information from heavily fragmented segments. We present a series of simulations that demonstrate the efficiency of a simple cleaning policy based on cost and benefit. We have implemented a prototype log-structured file system called Sprite LFS; it outperforms current Unix file systems by an order of magnitude for small-file writes while matching or exceeding Unix performance for reads and large writes. Even when the overhead for cleaning is included, Sprite LFS can use 70% of the disk bandwidth for writing, whereas Unix file systems typically can use only 5--10%.

A copy is held

pdf, 1.9 MB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereimport via bibtex
Added2026-08-10 00:00 UTC
Approved bya person 2026-09-03 17:30 UTC

Cite it as

@article{rosenblum1992design,
  title        = {The Design and Implementation of a Log-Structured File System},
  author       = {Mendel Rosenblum and John K. Ousterhout},
  year         = {1992},
  journal      = {ACM Transactions on Computer Systems},
  publisher    = {Association for Computing Machinery},
  volume       = {10},
  number       = {1},
  pages        = {26--52},
  doi          = {10.1145/146941.146943},
}

This record lives at https://refs.drheap.org/rosenblum1992design/ and will keep doing so.