2 ms·
That's not entirely true. If we're at the block level, it's more difficult for us to optimize recovery. If we're at a higher level where we have access to some
by jasonwatkinspdx 17y ago
That's not entirely true. If we're at the block level, it's more difficult for us to optimize recovery. If we're at a higher level where we have access to some sort of summary information, like the checksummed tree of blocks in zfs, then we can quickly isolate mismatched data and copy only that from the available to the recovering drive.
If we want the same capability at a layer below the file system, say the raid controller, than we end up needing a much more complicated implementation that is in effect a layering of two filesystems. Given general trends towards clustered commodity hardware I'd expect the software to keep getting smarter and the block level devices to keep getting dumber.
It seems like there's a role that's missing in the storage hierarchy. Something like an extent manager that doesn't maintain all the actual metadata, leaving that to the file system above, but that does have a concept of a tree of indirectly referencing extents.
Something similar to how allocation and garbage collection can be provided by libraries in c++.