On 1 jan 2010, at 17.28, David Magda wrote: > On Jan 1, 2010, at 11:04, Ragnar Sundblad wrote: > >> But that would only move the hardware specific and dependent flash >> chip handling code into the file system code, wouldn't it? What >> is won with that? As long as the flash chips have larger pages than >> the file system blocks, someone will have to shuffle around blocks >> to reclaim space, why not let the one thing that knows the hardware >> and also is very close to the hardware do it? >> >> And if this is good for SSDs, why isn't it as good for rotating rust? > > Don't really see how things are either hardware specific or dependent.
The inner workings of a SSD flash drive is pretty hardware (or rather vendor) specific, and it may not be a good idea to move any knowledge about that to the file system layer. > COW is COW. Am I missing something? It's done by code somewhere in the stack, > if the FS knows about it, it can lay things out in sequential writes. If > we're talking about 512 KB blocks, ZFS in particular would create four 128 KB > txgs--and 128 KB is simply the currently #define'd size, which can be changed > in the future. As I said in another mail, zfs is not append only, especially not if it has been in random read write use for a while. There will be holes in the data and space to be reclaimed, something has to handle that, and I am not sure it is a good idea to move that into the host, since it it dependent of the design of the SSD drive. > One thing you gain is perhaps not requiring to have as much of a reserve. At > most you have some hidden bad block re-mapping, similar to rotating rust > nowadays. If you're shuffling blocks around, you're doing a > read-modify-write, which if done in the file system, you could use as a > mechanism to defrag on-the-fly or to group many small files together. Yes, defrag on the fly may be interesting. Otherwise I am not sure I think the file system should do any of that, since it may be that it can be done much faster and smarter in the SSD controller. > Not quite sure what you mean by your last question. I meant that if hardware dependent handling of the storage medium is good to move into the host, why isn't the same true for spinning disks? But we can leave that for now. /ragge _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss