Effect of partitioning on wear-leveling
Erich Dollansky
erich at alogt.com
Tue Mar 22 06:14:46 UTC 2016
Hi,
On Mon, 21 Mar 2016 15:11:53 -0700
bob prohaska <fbsd at www.zefox.net> wrote:
> On Mon, Mar 21, 2016 at 01:01:24PM -0600, Ian Lepore wrote:
> >
> > Freebsd does no wear-leveling, it's up to the microcontrollers
> > within the storage devices to do that.
> >
> > Those controllers have no notion of partitioning or filesystem
> > layout and do whatever they want to do internally about wear
> > leveling. That leads to the mildly disturbing situation of having
> > blocks from a readonly filesystem and blocks from a writable
> > filesystem sharing the same flash erase-block inside the device.
> > One likes to think of the data in a readonly filesystem as safely
> > protected from the read-modify -write activity that happens at the
> > flash erase-block level, but no such g'tee is made on any mmc, sd,
> > or usb flash-based devices I know of.
> >
> > - Ian
> >
> Ok, thanks. It sounds like /var and /tmp could be confined to
> limited-size partitions while still permitting wear leveling to use
> other, less-used parts of the device. So, if a block nominally
> in /var reaches end of life can the wear leveling controller start
> stashing data anywhere on the device?
>
> As a practical matter, should I even be worrying about this? Folks
> once made a big deal of partitioning storage so a runaway process
> couldn't choke the whole machine. Is the precaution still worth
> taking on ARM?
>
we use memory disk for /var and /tmp. If you really need the content of
these directories, you could write them back to flash by a script every
hour or so and save all the writes between.
Do not forget the flash devices used in Raspberries & Co. cannot be
compared with the flash devices used in flash disk.
Erich
More information about the freebsd-arm
mailing list