Re: PIO with SSDs: needs a long DRQ-after-command timeout for WRITEs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

Robert Hancock wrote:

No idea about IDE, but libata does not wait at all for DRQ assertion specifically, after issuing the PIO command it waits for BSY to be deasserted and then expects either DRQ, DF or ERR to be set, else it's a host state machine violation and triggers error handling. According to the ATA spec, the device is specifically not allowed to set DRQ to one while BSY is not asserted.

..

Okay, so how long does it wait for BSY=0 under that same circumstance?

Just the overall command completion timeout, it would appear.. usually 30 seconds I believe.

   I don't think it's as long as that with libata.

IDE is really only waiting 50msec in this case? That seems rather wrong.. I don't see anywhere in the current ATA specs that requires the drive to respond within that time period.

It's waiting the whole 50 ms where the maximum specified by the original ATA was 20 ms. What seems really wrong to me is making the host poll for BSY=0 for an indeterminate time -- though it's always been a really stupid part of the ATA command protocol. Well, at least it never stroke anybody before those insane SSDs appeared on market. :-)

WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux