Content deleted Content added
Artoria2e5 (talk | contribs) |
Live4momentz (talk | contribs) Minor grammar fixes |
||
(10 intermediate revisions by 8 users not shown) | |||
Line 1:
{{Short description|Structure of file system that writes all information to a circular buffer}}
{{about|the general concept of log-structured file systems|the NetBSD file system|Log-structured File System (BSD)|the Linux log-structured Flash file system|LogFS}}
A '''log-structured filesystem''' is a [[file system]] in which data and metadata are written sequentially to a [[circular buffer]], called a [[log
== Rationale ==
{{More citations needed|date=April 2025}}
Conventional file systems
The design of log-structured file systems is based on the hypothesis that this will no longer be effective because ever-increasing memory sizes on modern computers would lead to I/O becoming write-heavy
This has several important side effects:
* Write throughput on optical and magnetic disks is improved because they can be batched into large sequential runs and costly seeks are kept to a minimum.
** The structure is naturally suited to media with [[append-only]] zones or pages such as [[flash storage]]s and [[shingled magnetic recording]] HDDs<ref name=dbsmr>{{Cite web|url=https://dropbox.tech/infrastructure/extending-magic-pocket-innovation-with-the-first-petabyte-scale-smr-drive-deployment|title=Extending Magic Pocket Innovation with the first petabyte scale SMR drive deployment|author=Magic Pocket Hardware Engineering Teams|website=dropbox.tech}}</ref><ref name=flash>{{cite journal |last1=Reid |first1=Colin |last2=Bernstein |first2=Phil |title=Implementing an Append-Only Interface for Semiconductor Storage |journal=IEEE Data Eng. Bull. |date=1 January 2010 |volume=33 |page=14-20 |url=http://sites.computer.org/debull/A10dec/hyder.pdf}}</ref>
* Writes create multiple, chronologically-advancing versions of both file data and meta-data.
* Recovery from crashes is simpler.
Log-structured file systems
To reduce the overhead incurred by this [[garbage collection (computer science)|garbage collection]], most implementations avoid purely circular logs and divide up their storage into segments.
== Disadvantages ==
The [[design rationale]] for log-structured file systems assumes that most reads will be optimized away by ever-enlarging memory caches.
▲The [[design rationale]] for log-structured file systems assumes that most reads will be optimized away by ever-enlarging memory caches. This assumption does not always hold:
* On magnetic media—where seeks are relatively expensive—the log structure may actually make reads much slower, since it [[fragmentation (computer)#External fragmentation|fragments]] files that conventional file systems normally keep contiguous with in-place writes.
* On flash memory—where seek times are usually negligible—the log structure may not confer a worthwhile performance gain because write fragmentation has much less of an impact on write throughput. Another issue is stacking one log on top of another log,
== See also ==
* [[Comparison of file systems]]▼
* [[List of log-structured file systems]]
▲* [[Comparison of file systems]]
== References ==
Line 32 ⟶ 33:
== Further reading ==
* [http://pages.cs.wisc.edu/~remzi/OSTEP/file-lfs.pdf
{{File systems}}
|