Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Darwin disk I/O question



At 3:09 AM -0800 1/20/01, strobe anarkhos wrote:

2. IDE cannot be relied upon to do this right, if at all. SCSI has been
able to for a long time, due to widespread support in both host adapters
and drives for the key features: disconnect/reconnect and tagged command
queueing (TCQ). Unlike SCSI, up until relatively recently there was no
support at all for TCQ in IDE. There is now, but it is implemented in
few drives. Plus, from what I hear the implementation requires the low
level driver to *poll* each drive's command queue to find out when a
command completes, because there still is no real disconnect/reconnect
capability. If that doesn't make your skin crawl...

I thought bus-mastering made this a non-issue. Esp. the polling issue.

Bus-mastering usually means that the host adapter can initiate transfers on the host system's bus. The problem here is in an entirely different place: the IDE interface lacks the ability for devices to initiate transactions. AFAIK, only the IDE controller can do that.

With SCSI TCQ, the drivers tell the host adapter to connect to the drive and initiate a batch of commands, then disconnect, freeing the bus for other activity. When the drive completes one or more commands, it can initiate the reconnect to the host adapter. IDE just can't do that; IDE drives are all slaves (in the usual sense of the word, not the technical meanings of 'master' and 'slave' specific to IDE). Given this limitation, the only possible workaround is to use a polling mechanism to discover when drives have completed commands.

But I agree a sorting algorithm could improve seek/access time and
throughput, I just don't see this (#2) as being an IDE-specific issue.

Absolutely. It's just more needed with IDE, since IDE has poor implementation and adoption of the features necessary to do command sorting on the drives.

Tim Seufert


References: 
 >Re: Darwin disk I/O question (From: "Timothy A. Seufert" <email@hidden>)
 >Re: Darwin disk I/O question (From: strobe anarkhos <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.