Navigate:

Advice
Beginners
BIOS Guide
CPUs
Links
Mainboards
Memory
Network
Storage
Video/Sound Cards

Contact
Forum
SiteMap
Sponsors
WebNews
Home
. .

Prices:

Mainboards

ABIT
ASUS
Chaintech
Shuttle
Soyo
Tyan



CPU
Intel
P4 2.4C-800
P4 2.6C-800
P4 2.8C-800
P4 3.0-800
P4 3.2-800

AMD
AthlonXP
XP 1700+
XP 2000+
XP 2400+
XP 2500+
XP 2700+
XP 3000+
XP 3200+

Athlon64
Athlon64 3200+
Athlon64 FX-51

Opteron
Opteron 240
Opteron 242
Opteron 244
Opteron 246

Memory

Corsair
Crucial
Kingston
Mushkin
OCZ

Search Prices:










































































LOSTCIRCUITS

SHORTCUTS:
Parallel Signal Skew
Shared Buses
Bidrirectional vs. Full Duplex

Parallel Handshaking
and Third Party DMA

SATA, FPDMA and
Out of Order Data Delivery

Barracuda 7200.7 - 160 GB
On Dealtime

Please give us some feedback to help us improve our reviews

 As the Hard Disc Spins
V: Protocol Differences For Reduced Latencies
(Review by MS, January 12, 2004)
WD Raptor
WD360GD
Parallel vs. Serial Command Overhead

Parallel ATA supports two devices per channel, however, the bus is shared between the two drives. The arbitration between the two devices occurs through selective connecting / disconnecting of the devices from the HBA. It is necessary to understand that the drives themselves cannot connect to the HBA, rather, they can set certain flags like the Attention flag and bits like, for example, the BSY (busy) or the SERVICE bit. The status signals are using dedicated lines and the controller, which is polling all devices in regular intervals to query for status changes will see those signals as soon as they are switched to a logical true.


In Parallel ATA, a typical read sequence encompasses the following, rather complex sequence: The HBA first transmits a FIS containing the information about the data that are being requested and a reference number in form of a tag value and then disconnects from the drive to continue polling the other devices. As soon as the drive has gathered the data from the platter into the cache and is ready to transfer them to the HBA, it sets the SERVICE bit. When the HBA sees the SERVICE bit switched from "false" to "true", it can issue a SERVICE command, upon which the drive will start transmitting data. After the entire data have been transmitted, the drive sets a completion status and clears the BSY bit.

Handshake sequence between the HDD and the controller (HBA)

Often enough, a typical situation will involve several data requests that are identified by their tag value. One problem in this case arises from the fact that the SERVICE bit is just a nondescript data line that switches from high to low without discriminating between any of the data requests. In other words, the controller never knows what data it is going to receive after issuing the SERVICE command, the relevant information in form of the tag value is only transmitted with the data. This means that the DMA channel can only be set up by the controller AFTER the latter has received the data, and therefore, the HBA itself needs to be able to hold the data until the correct DMA channel is initiated.

The situation is probably best described by saying that the left hand does not know what the right hand is doing. The drive is the only party that knows what is the best way to service the data request but it can't see the controller and the controller can see the drive but does not know what data it will be receiving. Because of this rather complicated handshake protocol the Parallel ATA drive DMA mode is called Third Party DMA.

next page:    => Hard Disc Drive Architecture V: Serial ATA - First Party DMA =>

All advice and educational articles on LostCircuits are free, but if you feel you can, please make a small donation to us!
Thank you!

General disclaimer: This page only reflects the author's personal opinion and assumes no responsibility whatsoever regarding any of the contents or any damages that may occur explicitly or implicitly from reading the contents of this site. All names and trademarks mentioned in this review are the exclusive property of the respective parent companies.
All contents of this site are protected by international copyright laws. Reproduction of the contents even in parts is not allowed except after written permission by the author and referral to this site.
Copyright 2002 - 2007 LostCircuits