Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Feb 2002 22:54:19 +0100 (CET)
From:      Søren Schmidt <sos@freebsd.dk>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Andrew Gallatin <gallatin@cs.duke.edu>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Serverworks ATA controller & data corruption
Message-ID:  <200202202154.g1KLsJ207746@freebsd.dk>
In-Reply-To: <3C74129F.D8A12732@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
It seems Terry Lambert wrote:
> Andrew Gallatin wrote:
> > Terry Lambert writes:
> >  > > So.. Is PIO safe?  Is there any sort of CRC being done on PIO data?
> >  >
> >  > He just said: if your chipset is programmed correctly
> >  > by the BIOS, then there will not be a problem, but
> >  > apparently, there is a very narrow band of "correctly"
> >  > (perhaps even only a single state), and the vendor
> >  > apparently does not default the chip into that state.
> > 
> > I was asking a more general question about ATA -- I know that UDMA has
> > has some sort of CRC protection because (on other machines) I've seen
> > the occasional error about a bad CRC, retrying.  But what I don't know
> > is if PIO offers the same protection.
> 
> PIO is safe.  The problem with ATA DMA needing the CRC is
> to recover from the case where the DMA is aborted in the
> middle, which is not signalled (this was the problem with
> the CMD640B ATA chipset interface on Intel).

Wrong, PIO is not safe, there is no checks whatsoever on the data,
only UDMA modes have CRC performed.

> Actually, now that I think about it, using the main CPU and
> doinf PIO might be better anyway, given the speed difference
> between the main CPU and the DMA engine on the ATA chip; the
> overall performance may even be up to 2x better using the
> host CPU to do the work, particularly if you special case
> the transfer alignment, the way bcopy does.

PIO is always slower than DMA...

-Søren

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202202154.g1KLsJ207746>