Messages in this thread | | | Date | Tue, 17 May 2005 09:30:25 -0400 | Subject | Re: Sync option destroys flash! | From | (Lennart Sorensen) |
| |
On Fri, May 13, 2005 at 09:05:34PM -0400, Michael H. Warfield wrote: > Yah know... I've been thinking about this... In a former life, we use > to do something very similar with a virtual memory system on some real > early (80's vintage) networked VM workstations (back when memory was > actually valuable and scarce). > > So... This would have to work with a list or pool of "spares" that are > not allocated to the "visible" file system. We used a "least used" > algorithm for that VM system. This would seem to be a "replace as > rewritten" algorithm. Each time you write to the file system, it grabs > a block off the head of the spares list, writes your data to it, and > then adds the old block to the tail of the list. Pretty basic stuff and > it doesn't have to track what kind of high level file system you are > using or know anything about its structure. Cool...
Really good wearleveling will even move blocks that "never" seem to change to the more used blocks ones in a while to spread out the wear to blocks that have static content in them. After all if 90% of your flash never changes, and you run a log in the last 10%, you will still wear out that 10% first if you don't occationally move some of the static content to the 10% with some wear, and start running your log on the previously unused area.
I was told by someone from SanDisk that this is how _some_ of their flash media work (at least on the new ones).
I was actually surprised since I assumed at the time this was how all of the CF cards worked.
Len Sorensen - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |