front - face recent changes local names special software-bazaar-wiki


front - face

wear leveling

Most flash file systems go to special effort to make the flash media last longer. Perhaps file systems on hard drives should attempt to make the hard drives last longer.


MAID is a technique that, given a certain collection of disks, tries to make them last as long as possible (at the cost of a small reduction in performance).

(MAID is not essential to version 0.1 or even version 2.0 of the distributed wiki. But I might as well write down these ideas now, since it might be a cool feature of version 3.0).

DAV: Making a disk array that lasts a long time, and is fault tolerant: because many of the wear-out mechanisms only occur when then disk is spinning, to make the array last longer, we need to keep most of the disks turned off most of the time. (This conflicts with “striping” in most RAID arrays, which keeps all the disks spinning, which makes reading and writing files much faster).

To be fault tolerant, when we write a file, we need to spin at least 2 disks (so if one of those disks fails, we can recover the copied information on the other disk).

Simplest version: Even though we have an array of disks, restrict data storage to 1 disk worth of data. When writing, spin up 2 disks and mirror on both. When one of the 2 active disks fails, forget the bad disk, spin up the next disk in the array, and rapidly synchronize that disk with the good disk (i.e., all user writes go to both disks, all user reads go to the good disk, and the data read is written to the new disk, and a background task scans the entire good disk and writes to the new disk).

More than 1 disk of data: I think this naturally handles LRU activity: This naturally keeps several older versions of each file: When writing a file, spin up 2 “active” disks and write the file to both (mirror). Also store the complete directory information for the entire array on the 2 active disks. When the active disks are full (or close to full), spin up the next 2 disks and copy all the directory information to them, then make them the “active” disks.

DAV: should I try to merge this with “semi-write-only” file structure?

Define external redirect: LionKimbro grammar check SamRose BrandonCsSanders