Whoops sorry. Just embarrassed myself again. Its dependent on the drive itself.

Maybe we could have a list of known SSD drives that ‘do the correct thing’
 
Regards
Michael Knill




On 20 Oct 2014, at 8:13 am, Michael Knill <[email protected]> 
wrote:

Hi thanks Lonnie

Yes I would like to see something done and 1) & 2) are definitely out as being 
cost prohibitive.

So what is the default flush time for the cache? 
If there are concerns about disabling it, couldn’t it just be changed to be 
very low?

Regards
Michael Knill




On 19 Oct 2014, at 2:05 am, Lonnie Abelbeck <[email protected]> wrote:

Hi,

I'd like to start a discussion on the SATA Drive "write cache" and whether it 
should be disabled in AstLinux.

In the past Compact Flash (CF) was the most commonly used AstLinux flash 
storage, but today some of the newer x86 hardware no longer support CF and are 
moving to mSATA and 2.5" SATA.

I did a survey of my various boxes with SATA drives (2.5", mSATA and DOM)
===========================
- Emphase D1VHSD001G0 (DOM) 2 GB SLC
Write Cache: enabled

- Emphase FD2510SI8G (2.5") 8 GB SLC
Write Cache: disabled (not setable)

- WDC SSD-M0004S-7100 (mSATA) 4 GB SLC
Write Cache: enabled

- ADATA SP600 (2.5") 32 GB MLC
Write Cache: enabled
===========================

And sure enough if I do a
$ echo "Testing..." > /mnt/kd/test

and pull the power plug, the /mnt/kd/test file does not exist on reboot.  And 
before anyone asks :-) a journeled ext3 filesystem does not help here since the 
new "data" is only in the drive's volatile RAM.

The "write cache" does increase write performance, and for a general computer, 
database, etc. this is desired.  But, for the case of AstLinux I'm not sure if 
this extra performance gain is needed.

There are a few solutions:

1) Use an Uninterruptible Power Supply (UPS). Personally I do this by using an 
inexpensive UPS supplying battery backup to the AstLinux box, cable modem and 
main ethernet switch.  AstLinux monitors the UPS status.

2) Use SSD's that default to "Write Cache: disabled" (rarely found) or have a 
"Host Power Loss Protection" as with: 
http://www.logicsupply.com/components/storage/solid-state-drives-ssd/q6mp6g030-2/

3) Set "Write Cache: disabled" at startup for such afflicted drives.

Solutions 1 and 2 are self explanatory, so let's discuss 3...

As far as I know, the "hdparm" command is the only way to disable the drive's 
write cache.  I can't find a kernel driver option or kernel command line option 
to do that.

AstLinux uses the Busybox version of hdparm, and as such the following code 
seems like a fairly safe way to disable the write cache:
--
DRIVE="$(findfs LABEL=RUNNIX)"
DRIVE="${DRIVE%[0-9]}"
if [ -n "$DRIVE" ]; then
if hdparm -I "$DRIVE" 2>/dev/null | grep -q -i 
'^[[:space:]]*[*][[:space:]]*write cache[[:space:]]*$'; then
  if hdparm -W0 "$DRIVE" >/dev/null; then
    echo "Disabled write cache for drive: $DRIVE"
  fi
fi
fi
--
Now, using the hdparm command should not be taken lightly, and you might ask 
what happens to any active cache when the "hdparm -W0 ..." is issued, good 
question.  Some possibilities are:

1) Do it early enough on boot before data writes occur.

2) Some SSD firmware will do the correct thing.

3) Try to flush any active cache.

The Busybox version of hdparm has code to automatically flush the cache when a 
"hdparm -W0 ..." is issued, but is disabled in all versions of Busybox...
--
#undef DO_FLUSHCACHE            /* under construction: force cache flush on -W0 
*/
--
No doubt there is a general problem with doing this.

So, what should we do in AstLinux ?  If anything.
All comments welcomed.

Lonnie



------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
Astlinux-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/astlinux-users

Donations to support AstLinux are graciously accepted via PayPal to 
[email protected].


------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
Astlinux-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/astlinux-users

Donations to support AstLinux are graciously accepted via PayPal to 
[email protected].


------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
Astlinux-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/astlinux-users

Donations to support AstLinux are graciously accepted via PayPal to 
[email protected].

Reply via email to