Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 May 2015 08:38:13 -0700
From:      Chris Stankevitz <chrisstankevitz@gmail.com>
To:        freebsd-questions <freebsd-questions@freebsd.org>
Subject:   SLOG and SSDs: are "super" capacitors really needed?
Message-ID:  <CAPi0psuykA-uKWQ7XTszRk3oNzPXPd+XXVgxwJN1tFEAwD0buQ@mail.gmail.com>

Next in thread | Raw E-Mail | Index | Archive | Help
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



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?CAPi0psuykA-uKWQ7XTszRk3oNzPXPd+XXVgxwJN1tFEAwD0buQ>