>>>>> "edm" == Eric D Mudama <edmud...@bounceswoosh.org> writes:

   edm> What you're suggesting is exactly what SSD vendors already do.

no, it's not.  You have to do it for them.

   edm> They present a 512B standard host interface sector size, and
   edm> perform their own translations and management inside the
   edm> device.

It is not nearly so magical!

The pages are 2 - 4kB.  They are this size for nothing to do with the
erase block size or the secret blackbox filesystem running on the SSD.
It's because of the ECC, because the reed-solomon for the entire block
must be recalculated if any of the block is changed.  Therefore,
changing 0.5kB means:

for a 4kB page device:

  * read 4kB
  * write 4kB

for a 2kB page device:

  * read 2kB
  * write 2kB


and changing 4kB at offset <integer> * 4kB means:

for a 4kB device:

  * write 4kB

for a 2kB device:

  * write 4kB

It does not matter if all devices have the same page size or not.
Just write at the biggest size, or write at the appropriate size if
you can.  The important thing is that you write a whole page, even if
you just pad with zeroes, so the controller does not have to do any
reading.  simple.

the problem with big-sector spinning hard drives and
alignment/blocksize is exactly the same problem.  non-ZFS people
discuss it a lot becuase ZFS filesystems start at <integer> * <rather
large block> offset, thanks to all the disk label hokus pocus, but
NTFS filesystems often start at 16065 * 0.5kB

Attachment: pgpEdIwHb5RuZ.pgp
Description: PGP signature

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to