How about backing the non-volatile w/ volatile? Not 1:1 necessarily, but 1:2 or 1:3, plus a capacitor and electronics to get the cache onto the non-vol when the power drops. This would effectively negate the max writes problem...and they've probably already implemented like that. Or just shoving data forward in a loop per cell to ensure cells share writes equally, which is probably closer to what they are doing. Great, now I'll have to go read up on them.
How about backing the non-volatile w/ volatile? Not 1:1 necessarily, but 1:2 or 1:3, plus a capacitor and electronics to get the cache onto the non-vol when the power drops. This would effectively negate the max writes problem...and they've probably already implemented like that. Or just shoving data forward in a loop per cell to ensure cells share writes equally, which is probably closer to what they are doing. Great, now I'll have to go read up on them.