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