overlapped IOCTL_SCSI_PASS_THROUGH_DIRECT to multiple LUN's

I was looking into a question for someone and we were trying to figure out
if NT4/W2K/WXP can do multiple overlapped IOCTL_SCSI_PASS_THROUGH_DIRECT
requests to multiple LUN’s on a single target. They have a device that uses
one LUN for status reporting and another LUN for data transfers.

Basically, they want to poll the status LUN multiple times while the data
LUN takes it’s time to complete.

Initial tests seem to say multiple PASS_THROUGH requests to the same target
id are serialized. They report the ASPI and NT PASS_THROUGH interfaces both
have this issue.

I know many disk drives can accept multiple commands on the same LUN (i.e.
tagged queuing) so don’t see an intrinsic reason why multiple commands on
different LUN’s can’t be made to work.

They say it would be very difficult (i.e. hardware changes) to make the
data and status on different target’s. It’s a very special industrial device.

Any ideas?

  • Jan

scsiport really couldn’t care less about targets - to it the target is
just one byte of the address of the LUN. Any serialization is either
done at the LUN level or at the controller level.

now pass-through requests are sent untagged so you can only have one
outstanding on any particular LUN at one time. However it should not
affect other LUNs (and I don’t think we set the flag to disable
disconnects and thus serialize at the controller level).

the controller or its miniport might be doing the serialization (it’s
hard for a miniport to serialize at the target level, but not impossible
for the determined). Does the problem persist if they switch to a
different controller?

-p

-----Original Message-----
From: Jan Bottorff [mailto:xxxxx@pmatrix.com]
Sent: Tuesday, September 03, 2002 10:04 PM
To: NT Developers Interest List
Subject: [ntdev] overlapped IOCTL_SCSI_PASS_THROUGH_DIRECT to multiple
LUN’s

I was looking into a question for someone and we were trying to figure
out
if NT4/W2K/WXP can do multiple overlapped IOCTL_SCSI_PASS_THROUGH_DIRECT

requests to multiple LUN’s on a single target. They have a device that
uses
one LUN for status reporting and another LUN for data transfers.

Basically, they want to poll the status LUN multiple times while the
data
LUN takes it’s time to complete.

Initial tests seem to say multiple PASS_THROUGH requests to the same
target
id are serialized. They report the ASPI and NT PASS_THROUGH interfaces
both
have this issue.

I know many disk drives can accept multiple commands on the same LUN
(i.e.
tagged queuing) so don’t see an intrinsic reason why multiple commands
on
different LUN’s can’t be made to work.

They say it would be very difficult (i.e. hardware changes) to make the
data and status on different target’s. It’s a very special industrial
device.

Any ideas?

  • Jan

You are currently subscribed to ntdev as: xxxxx@microsoft.com To
unsubscribe send a blank email to %%email.unsub%%