On Tue, 13 Apr 2010, Joerg Schilling wrote:
I believe you make a mistake with this assumption.
I see that you make some mistakes with your own assumptions. :-)
- The SSD cannot know which blocks are currently not in use.
It does know that blocks in its spare pool are not in use.
- In special with a COW filesystem, after some time all net space may have been written to but the SSD does not know whether it is still used or not. So you see s mainly empty filesystem while the SSD does not know this fact.
You are assuming that a COW filesystem will tend to overwrite all disk blocks. That is not a good assumption since filesystems are often optimized to prefer disk "outer tracks". FLASH does not have any tracks, but it is likely that existing optimizations remain.
Filesystems are not of great value unless they store data so optimizing for the empty case is not useful in the real world. The natives grow restless (and look for scalps) if they find that write performance goes away once the device contains data.
- If wou write not too much to a SSD, it may be that the spare space for defect management is sufficient in order to have suficient prepared erased space. - Once you write more, I see no reason why a COW filesystem should be any better than a non-COW filesystem.
The main reason why a COW filesystem like zfs may perform better is that zfs sends a fully defined block to the device. This reduces the probability that the FLASH device will need to update an existing FLASH block. COW increases the total amount of data written, but it also reduces the FLASH read/update/re-write cycle.
Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss