SLOG and SSDs: are "super" capacitors really needed?

Chris Stankevitz chrisstankevitz at gmail.com
Thu May 21 15:38:16 UTC 2015


When sync data is written to the ZIL (or in my case to a SLOG), ZFS
waits for the write to be "completed" before continuing.  Once the
write has "completed", the sync data is considered written, even if it
has not yet made it to the real storage devices.  Written data has
"completed" when the ZIL device (SLOG) reports that the data has been
written.

Question: do SSD drives report the write has "completed" only after
the data has been burned into non-volatile storage?  If so, then why
do people say a good SLOG SSD has "super capacitors" that allow the
drive to continue functioning for a short time after a power failure?
It seems to me that there are two scenarios, none of which need super
capacitors:

1. A transaction is completely written to the SLOG, but not the
storage devices, and the power goes out.  No problem, data will write
to storage when the pool is imported.

2. A transaction is partially written to the SLOG, but not the storage
devices, and the power goes out.  No problem, the transaction will be
lost and the pool will be imported with the previously committed
data/transaction.

I don't see a scenario where a power-outage causes a "corrupted
transaction" to be posted.

Now if an SSD reports data "written" before it makes it to
non-volatile storage, then that is another story... but I cannot
imagine a HDD manufacturer advertising data written that is not
actually written (or guaranteed to be written even in the face of a
power outage).

Thank you,

Chris


More information about the freebsd-questions mailing list