Please suggest a way to send ATA Cmd to device without effecting system peformance

Hi Friends,
I am implementing a Filter Driver that sends an ATA command to the device driver so frequently. Currently I am using IOCTL_ATA_PASS_THROUGH to issue the command from my filter driver to the underlying device . I achieved to send the Command. But, it is killing my performance.I came to know that IOCTL_ATA_PASS_THROUGH is a Synchrounous call.

Kindly suggest me some way to send a ATA command from Upper Class Filter driver without effecting the overall system performance. I require some non blocking way to send my command to the device.

>underlying device . I achieved to send the Command. But, it is killing my performance.

No, it does not. There are no faster ways.

effecting the overall system performance. I require some non blocking way to send my command

Non-blocking way will have the same performance.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

Thanks for your Reply

Can i use IRP_MJ_SCSI as my IO control code and build a IRP. Please tell me whether Class driver will support MJ_SCSI dispath or not. If so then how ATAPORT will map the SRB to IRB

Thanks
Narendra

>If so then how ATAPORT will map the SRB to IRB

I think ATAPORT has only pathetic abilities to map SCSI CDB to the ATA command.

Probably it only supports the commands generated by Disk.sys and ClassPnP.sys


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com