Sending an ATA Command to the Device Asynchronously

Hi,

My requirement is to send an ATA Command from Upper Class Filter Driver to the device.
For this ,I created a new IRP and set the Control Code as IOCTL_ATA_PASS_THROUGH_DIRECT and issued the command to the device. This was working fine.

But, this call is synchronous. Is there any other way to send a ATA Command to the device in Asynchrounous way?

Thanks,

Narendra.

Not using pass through. That’s one of the gotcha’s of passthrough, ATA or SCSI; it is a synchronous operation.

Gary G. Little

----- Original Message -----
From: “narendra chirumamilla”
To: “Windows System Software Devs Interest List”
Sent: Wednesday, June 8, 2011 5:53:30 AM
Subject: [ntdev] Sending an ATA Command to the Device Asynchronously

Hi,

My requirement is to send an ATA Command from Upper Class Filter Driver to the device.
For this ,I created a new IRP and set the Control Code as IOCTL_ATA_PASS_THROUGH_DIRECT and issued the command to the device. This was working fine.

But, this call is synchronous. Is there any other way to send a ATA Command to the device in Asynchrounous way?

Thanks,

Narendra.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Is there any mechanism in windows Kernel where we can send a non-read,write commands in a Asynchronous method and none of the drivers in the stack wait for its completion along the path ?

Thanks,
Narendra.

What is it that you are trying to do? What ATA/SATA commands are you talking about?

Gary G. Little

----- Original Message -----
From: “narendra chirumamilla”
To: “Windows System Software Devs Interest List”
Sent: Wednesday, June 8, 2011 6:55:15 AM
Subject: RE:[ntdev] Sending an ATA Command to the Device Asynchronously

Is there any mechanism in windows Kernel where we can send a non-read,write commands in a Asynchronous method and none of the drivers in the stack wait for its completion along the path ?

Thanks,
Narendra.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

It’s a vendor command, similar to ATA Trim Command.

Thanks
Narendra

Similar, or do you really want to send an ATA TRIM, and you really really want to do this in a filter driver? I take it that you don’t own the STORPORT/SCSIPORT drivers? TRIM is supposed to be supported in Windows 7, though when and which service pack, and whether it will be a system or an IOCTL implementation is the question. As to vendor unique commands that step out of ordinary bounds for the storage stack, whether ATA or SCSI, you are limited to the use of pass through and stuck with it’s asynchronous implementation.

Gary G. Little

----- Original Message -----
From: “narendra chirumamilla”
To: “Windows System Software Devs Interest List”
Sent: Wednesday, June 8, 2011 7:13:31 AM
Subject: RE:[ntdev] Sending an ATA Command to the Device Asynchronously

It’s a vendor command, similar to ATA Trim Command.

Thanks
Narendra


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Correction … it appears that Win 7 already has SSD enhancements, including TRIM.

Gary G. Little

----- Original Message -----
From: “Gary G. Little”
To: “Windows System Software Devs Interest List”
Sent: Wednesday, June 8, 2011 10:02:30 AM
Subject: Re: [ntdev] Sending an ATA Command to the Device Asynchronously

Similar, or do you really want to send an ATA TRIM, and you really really want to do this in a filter driver? I take it that you don’t own the STORPORT/SCSIPORT drivers? TRIM is supposed to be supported in Windows 7, though when and which service pack, and whether it will be a system or an IOCTL implementation is the question. As to vendor unique commands that step out of ordinary bounds for the storage stack, whether ATA or SCSI, you are limited to the use of pass through and stuck with it’s asynchronous implementation.

Gary G. Little

----- Original Message -----
From: “narendra chirumamilla”
To: “Windows System Software Devs Interest List”
Sent: Wednesday, June 8, 2011 7:13:31 AM
Subject: RE:[ntdev] Sending an ATA Command to the Device Asynchronously

It’s a vendor command, similar to ATA Trim Command.

Thanks
Narendra


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Further information: For Win 7 you can use IOCTL_STORAGE_DATA_SET_ATTRIBUTES to trigger a TRIM on media that supports the ATA TRIM command, typically an SSD. However, that’s for TRIM. If your really AREN’T talking about TRIM then your back to pass through .

G’ness … but I’ve learned a lot about SSDs in the past 4 hours.

Gary G. Little

----- Original Message -----
From: “Gary G. Little”
To: “Windows System Software Devs Interest List”
Sent: Wednesday, June 8, 2011 10:39:35 AM
Subject: Re: [ntdev] Sending an ATA Command to the Device Asynchronously

Correction … it appears that Win 7 already has SSD enhancements, including TRIM.

Gary G. Little

----- Original Message -----
From: “Gary G. Little”
To: “Windows System Software Devs Interest List”
Sent: Wednesday, June 8, 2011 10:02:30 AM
Subject: Re: [ntdev] Sending an ATA Command to the Device Asynchronously

Similar, or do you really want to send an ATA TRIM, and you really really want to do this in a filter driver? I take it that you don’t own the STORPORT/SCSIPORT drivers? TRIM is supposed to be supported in Windows 7, though when and which service pack, and whether it will be a system or an IOCTL implementation is the question. As to vendor unique commands that step out of ordinary bounds for the storage stack, whether ATA or SCSI, you are limited to the use of pass through and stuck with it’s asynchronous implementation.

Gary G. Little

----- Original Message -----
From: “narendra chirumamilla”
To: “Windows System Software Devs Interest List”
Sent: Wednesday, June 8, 2011 7:13:31 AM
Subject: RE:[ntdev] Sending an ATA Command to the Device Asynchronously

It’s a vendor command, similar to ATA Trim Command.

Thanks
Narendra


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer