This morning as I was reading USENIX conference summaries which
suggested that maybe SATA/SAS is not an optimimum interface for SSDs
it came to mind that some out-of-the-box thinking is needed for hard
drives as well. Hard drive storage densities have been increasing
dramatically so that latest SATA drives are measured in terrabytes,
just they were measured in gigabytes some years ago.
A problem with huge hard drives is that the resilver times increase
with drive size. Failure of hard drives with sizes in the terrabyte
range lead to a long wait.
Hard drives are comprised of multiple platters, with typically an
independently navigated head on each side. Due to a mix of hardware
and firmware, these disparate platters and heads are exposed as a
simple logical linear device comprised of blocks. If one side of a
platter, or a drive head fails, then the whole drive fails.
My understanding is that most drives stripe logical blocks across the
various platters such that the lower block addresses are on the outer
edge of the disks to achieve fastest I/O transfer rate. This approach
is great for large linear writes, but is not so great for random I/O,
is not so great for when data becomes spread across the disk, or when
the disk becomes almost full.
The thought I had this morning is that perhaps the firmware on the
disk drive can be updated to create a logical disk drive appareance
for each drive head. Any bad block management (if enabled) would be
done using the same platter side. With this approach a single
physical drive could appear like two, four, or eight logical drives.
ZFS is really good about scheduling I/O across many drives. Provided
that care is taken to ensure that redundant data is appropriately
distributed, it seems like subdividing the drives like this would
allow ZFS to offer considerably improved performance, and resilver
time of a logical drive would be reduced since it is smaller. If a
drive head fails, then that logical drive could be marked permanently
out of service, but the whole drive would not need to be immediately
resigned to the dumpster.
Does anyone have thoughts on the viability of this approach? Can
existing drives be effectively subdivided like this by simply updating
drive firmware?
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