This message is from the T13 list server.
Section 9.9 (Read/Write DMA Queued Command Protocol) of ATA-6, r 3. Specifically the state machine, but the following sentence at the beginning also covers it: "When data transfer is begun, all data for the request shall be transferred without a bus release" So in your example, once any data for command 1 is transferred, you cannot release the bus until all of it has been transferred. And without a release, you cannot legally receive command 3 as you indicated. So the legal sequence has to be: cmd1 w/ release cmd2 w/ release service to resume cmd1 data1 (all data, a, b, c, whatever) release or ending status of cmd1 cmd3 w/o release data3 ... Jim -----Original Message----- From: Kanting Tsai [mailto:[EMAIL PROTECTED]] Sent: Thursday, December 06, 2001 12:32 PM To: Mcgrath, Jim Cc: t13 Subject: Re: [t13] Queued commands Is it said anywhere in the spec? Thanks, Kanting "Mcgrath, Jim" wrote: > This message is from the T13 list server. > > No. > > Once data transfer for a command starts, it has to be completed before you > can switch to another command. i.e. ATA has no concept similar to the DATA > POINTER found in SCSI to preserve your location in the data stream when you > switch command context. > > Jim > > -----Original Message----- > From: Kanting Tsai [mailto:[EMAIL PROTECTED]] > Sent: Thursday, December 06, 2001 10:28 AM > To: t13 > Subject: [t13] Queued commands > > For Queue Commands, can the drive do data > transfer as follows? > > cmd1 w/ release > cmd2 w/ release > service to resume cmd1 > data1_a > cmd3 w/o release > data3 > service to resume cmd1 > data1_b > : > data1_c > : > > where cmd1's data (data1) has been split into > data1_a, data1_b, and data1_c. > > Thank you, > Kanting Tsai > > Subscribe/Unsubscribe instructions can be found at www.t13.org. Subscribe/Unsubscribe instructions can be found at www.t13.org.
