From: Mark Lord <liml@rtr.ca>
To: Greg Freemyer <greg.freemyer@gmail.com>
Cc: Redeeman <redeeman@metanurb.dk>,
piergiorgio.sartor@nexgo.de, neilb@suse.de,
linux-raid@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: RFC: detection of silent corruption via ATA long sector reads
Date: Sun, 28 Dec 2008 17:26:07 -0500 [thread overview]
Message-ID: <4957FCFF.20606@rtr.ca> (raw)
In-Reply-To: <87f94c370812261344s3f70de25r4d132101d2247e00@mail.gmail.com>
Greg Freemyer wrote:
> All,
>
> On the mdraid list, there was a recent thread about using raid
> functionality to detect / repair silent corruption.
>
> The issues brought up were that a lot of silent data corruption occurs
> when cables, controllers, power supplies, ram, cache, etc. goes bad.
>
> It made me think about another option for detecting silent corruption
> I have not seen discussed, but maybe I missed it.
>
> Aiui, the ATA spec allows for the reading of a long sector as well as
> the normal 512 byte sector. When you get a long sector you also get
> the CRC (or whatever checksum data there is on the disk that allows
> the drive itself to detect media errors).
>
> I don't have any idea how easy or hard it would be to do, but I would
> like to see the entire block subsystem enhanced to optionally allow
> long sector reads to be used in a "paranoid" fashion.
>
> Effectively it would be:
>
> 1) Read long sector from drive: verify CRC in kernel. This tests
> most everything on the i/o path.
>
> 2) maintain CRC type information in block subsystem. Verify no
> corruption just before handing off to userspace. This would
> potentially identify CPU/cache/RAM failures.
>
> Mark Lord has implemented long sector reads via hdparm. Mark can you
> comment on the feasibility of this idea?
..
The ATA READ/WRITE LONG commands have been obsoleted in the past few ATA specs,
even though most drives continue to implement them.
But not a good avenue.
There's a separate effort, involving drive vendors and kernel hackers,
to provide end-to-end CRC protection of data. I forget what it was called,
but that's the future of this stuff for high-reliability requirements.
Cheers
next prev parent reply other threads:[~2008-12-28 22:26 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-26 21:44 RFC: detection of silent corruption via ATA long sector reads Greg Freemyer
2008-12-26 22:15 ` Robert Hancock
2008-12-27 0:32 ` David Lethe
2008-12-28 22:26 ` Mark Lord [this message]
[not found] <fa.8mwKV7y4hm+Q6mvIKtp9QGoJYUU@ifi.uio.no>
[not found] ` <fa.4QcsYZC0gJJwJ0eUOht3hDYaVWs@ifi.uio.no>
2008-12-28 22:40 ` Sitsofe Wheeler
2008-12-30 13:48 ` Mark Lord
2009-01-02 20:26 ` Greg Freemyer
2009-01-02 20:43 ` Sitsofe Wheeler
2009-01-02 21:05 ` Greg Freemyer
2009-01-02 22:04 ` Martin K. Petersen
2009-01-02 22:41 ` Greg Freemyer
2009-01-03 3:01 ` Martin K. Petersen
2009-01-03 13:20 ` John Robinson
2009-01-04 7:37 ` Martin K. Petersen
2009-01-04 12:31 ` John Robinson
2009-01-04 13:49 ` John Robinson
2009-01-05 2:43 ` Martin K. Petersen
2009-01-05 2:45 ` Martin K. Petersen
2009-01-05 3:24 ` NeilBrown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4957FCFF.20606@rtr.ca \
--to=liml@rtr.ca \
--cc=greg.freemyer@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.de \
--cc=piergiorgio.sartor@nexgo.de \
--cc=redeeman@metanurb.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).