On Fri, Aug 4, 2017 at 12:47 PM, Paul Koning via cctalk <
cctalk@classiccmp.org> wrote:

>
> > On Aug 4, 2017, at 2:36 PM, Al Kossow via cctalk <cctalk@classiccmp.org>
> wrote:
> >
> >
> >
> > On 8/4/17 11:14 AM, Warner Losh via cctalk wrote:
> >> most SD cards can easily handle 100-200 writes
> >
> > The issue would be things like the swap partition on a unix disk
> > or whatever the equivalent is under RSX
>
> Probably not, because flash storage devices do wear leveling.  The fact
> that you're writing to the same block number doesn't mean you're actually
> writing to the same spot on the physical flash memory.
>

They must do wear leveling. The NAND erase block sizes are in the MB, while
the page size is a more modest 4-16kb. If you write 512 byte block, it's
not going to re-write the entire erase block since that's too slow, which
is the only way it would remain in the same physical location. Plus, since
erase blocks are good for between hundreds and thousands of writes each,
this would wear out a drive super-fast. So nobody does that (I had 3 years
writing NAND FTL for Fusion I/O), instead they create a write log and map
the logical pages into that. That's what spreads the wear around (that, and
garbage collection to deal with NAND data retention issues, plus to
compress the data). With TLC parts pushing the number of writes down into
the few hundred range, all these tricks become even more critical. And TLC
parts get the high-capacity parts to market, so they put of a lot of burden
on the sw to do the right thing...

Warner

Reply via email to