SRB's from Port driver to Miniport driver

Hi,
I am working on an scsi miniport driver to communicate with a remote disk
over the net (iscsi) and have noted that it takes around 15 - 18 SRB’s for
the port driver to send the test unit ready after which a drive gets
mapped. This takes around a minute.
However to see the same on explorer it takes around 4-5 minutes. The Port
driver sends out a lot of reads of different block sizes (512,1024,4096
etc).
Do others working on scsi miniport drivers see the same kind of
behaviour? Is there something we can cache here and not go onto to the
network to get information about?
Thanks,
Giri

Probably the first 15-18 srbs are the Inquiry sequence across the entire
SCSI Target/Lun address space used to probe the scsi bus. If you know that
your implementation only supports a small defined subset of target/lun
addresses you can short circuit the inquiries at the miniport.

Scsiport caches INQ data once it gets a valid response. You could cache read
capacity data, but that is about it. You don’t really want to cache sector
data. Well maybe you do, but it sure could complicate things.

4-5 minutes is very excessive. An iScsi device ought to be up and
operational within a few seconds of its first access.

-----Original Message-----
From: xxxxx@mindtree.com [mailto:xxxxx@mindtree.com]
Sent: Thursday, August 22, 2002 10:59 AM
To: NT Developers Interest List
Subject: [ntdev] SRB’s from Port driver to Miniport driver

Hi,
I am working on an scsi miniport driver to communicate with
a remote disk over the net (iscsi) and have noted that it
takes around 15 - 18 SRB’s for the port driver to send the
test unit ready after which a drive gets mapped. This takes
around a minute. However to see the same on explorer it
takes around 4-5 minutes. The Port driver sends out a lot of
reads of different block sizes (512,1024,4096 etc). Do
others working on scsi miniport drivers see the same kind of
behaviour? Is there something we can cache here and not go
onto to the network to get information about? Thanks, Giri


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

I wouldn’t cache the read capacity data unless you have a mechanism for
being alerted when it changes. LUN extension is a pretty common feature
of high-end RAID arrays which could be on the other side of the
iSCSI->SCSI bridge.

-p

-----Original Message-----
From: Roddy, Mark [mailto:xxxxx@stratus.com]
Sent: Thursday, August 22, 2002 9:41 AM
To: NT Developers Interest List
Subject: [ntdev] RE: SRB’s from Port driver to Miniport driver

Probably the first 15-18 srbs are the Inquiry sequence across the entire
SCSI Target/Lun address space used to probe the scsi bus. If you know
that your implementation only supports a small defined subset of
target/lun addresses you can short circuit the inquiries at the
miniport.

Scsiport caches INQ data once it gets a valid response. You could cache
read capacity data, but that is about it. You don’t really want to cache
sector data. Well maybe you do, but it sure could complicate things.

4-5 minutes is very excessive. An iScsi device ought to be up and
operational within a few seconds of its first access.

-----Original Message-----
From: xxxxx@mindtree.com [mailto:xxxxx@mindtree.com]
Sent: Thursday, August 22, 2002 10:59 AM
To: NT Developers Interest List
Subject: [ntdev] SRB’s from Port driver to Miniport driver

Hi,
I am working on an scsi miniport driver to communicate with
a remote disk over the net (iscsi) and have noted that it
takes around 15 - 18 SRB’s for the port driver to send the
test unit ready after which a drive gets mapped. This takes
around a minute. However to see the same on explorer it
takes around 4-5 minutes. The Port driver sends out a lot of
reads of different block sizes (512,1024,4096 etc). Do
others working on scsi miniport drivers see the same kind of
behaviour? Is there something we can cache here and not go
onto to the network to get information about? Thanks, Giri


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


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

Hi,

Reading some data is the result of FS recognizer. That’s normal.

What kind of SRBs do you get (that 15-18)? Are they queued to 1 target?

I’d not do ANY caching. You’re taking some functionality of SCSI
device you’re mapping to. Are you absolutely sure you’ll always emulate
it’s behaviour in correct way?

Regards,
Anton

Hi,
I am working on an scsi miniport driver to communicate with a remote disk
over the net (iscsi) and have noted that it takes around 15 - 18 SRB’s for
the port driver to send the test unit ready after which a drive gets
mapped. This takes around a minute.
However to see the same on explorer it takes around 4-5 minutes. The Port
driver sends out a lot of reads of different block sizes (512,1024,4096
etc).
Do others working on scsi miniport drivers see the same kind of
behaviour? Is there something we can cache here and not go onto to the
network to get information about?
Thanks,
Giri

Hi,
The target drive is not hosting any file system currently. I am
currently not caching anything. Maybe its because there is no filesystem
that its taking such a long time to see the drive on the explorer. Does
anybody have any metrics about the number of SRB’s or the time it took to
see a target drive with a valid file system on the explorer view?
Thanks,
Giri