MPIO question
CASTalk.com Forum Index CASTalk.com
Discussion of DSP, FPGA, storage and embedded system.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web castalk.com
MPIO question

 
Post new topic   Reply to topic    CASTalk.com Forum Index -> Storage System
Author Message
Marco Sin
Guest





Posted: Tue Nov 15, 2005 9:15 am    Post subject: MPIO question Reply with quote

As I know MPIO is using for multi-pathing, if the server is using the HBA
card with single port only, is it also require to install MPIO for access HP
SAN storage? Thanks!
Back to top
Jeff Goldner [MS]
Guest





Posted: Tue Nov 15, 2005 9:15 am    Post subject: Re: MPIO question Reply with quote

Not typically but there could be situations where you connect asingle HBA to
a switch, then multiple switch ports to multiple ports on the same array.
That would require a multipathing solution.

"Marco Sin" <marco_sin@hotmail.com> wrote in message
news:eb3eo7Z6FHA.2020@TK2MSFTNGP10.phx.gbl...
Quote:
As I know MPIO is using for multi-pathing, if the server is using the HBA
card with single port only, is it also require to install MPIO for access
HP SAN storage? Thanks!
Back to top
Marco Sin
Guest





Posted: Wed Nov 16, 2005 8:07 am    Post subject: Re: MPIO question Reply with quote

Our Design:

Server (1 HBA Card single FC port) -> (1 FC port) SAN Switch

No Multi-pathing and redundancy between Server and SAN switch


"Jeff Goldner [MS]" <jeffgo@iworkatmicrosoft> 级糶秎ン穝籇:upSYmtb6FHA.2616@TK2MSFTNGP15.phx.gbl...
Quote:
Not typically but there could be situations where you connect asingle HBA
to a switch, then multiple switch ports to multiple ports on the same
array. That would require a multipathing solution.

"Marco Sin" <marco_sin@hotmail.com> wrote in message
news:eb3eo7Z6FHA.2020@TK2MSFTNGP10.phx.gbl...
As I know MPIO is using for multi-pathing, if the server is using the HBA
card with single port only, is it also require to install MPIO for access
HP SAN storage? Thanks!


Back to top
Eric Bursley [MVP]
Guest





Posted: Thu Nov 17, 2005 9:09 am    Post subject: Re: MPIO question Reply with quote

If you don't have multiple paths to your disk, the MPIO would not be needed.

Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature:
Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA C392 6DCB



"Marco Sin" <marco_sin@hotmail.com> wrote in message
news:e0H4H5o6FHA.1420@TK2MSFTNGP09.phx.gbl...
Quote:
Our Design:

Server (1 HBA Card single FC port) -> (1 FC port) SAN Switch

No Multi-pathing and redundancy between Server and SAN switch


"Jeff Goldner [MS]" <jeffgo@iworkatmicrosoft
级糶秎ン穝籇:upSYmtb6FHA.2616@TK2MSFTNGP15.phx.gbl...
Not typically but there could be situations where you connect asingle HBA
to a switch, then multiple switch ports to multiple ports on the same
array. That would require a multipathing solution.

"Marco Sin" <marco_sin@hotmail.com> wrote in message
news:eb3eo7Z6FHA.2020@TK2MSFTNGP10.phx.gbl...
As I know MPIO is using for multi-pathing, if the server is using the
HBA card with single port only, is it also require to install MPIO for
access HP SAN storage? Thanks!




Back to top
Frank Liu
Guest





Posted: Sat Nov 19, 2005 9:15 am    Post subject: Re: MPIO question Reply with quote

I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?

You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?
Back to top
Eric Bursley [MVP]
Guest





Posted: Sat Nov 19, 2005 5:15 pm    Post subject: Re: MPIO question Reply with quote

Its handled pretty much the same as load balancing a NIC. A sequence number
is in each packet that is sent.



Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB


"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
Quote:
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?

You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?



Back to top
Frank Liu
Guest





Posted: Mon Nov 21, 2005 9:15 am    Post subject: Re: MPIO question Reply with quote

But,
there is no such reserved field in SCSI commands for the serial number.


"Eric Bursley [MVP]" <ebursley at swbell dot net> 级糶秎ン穝籇:ejJpoeR7FHA.1864@TK2MSFTNGP12.phx.gbl...
Quote:
Its handled pretty much the same as load balancing a NIC. A sequence
number is in each packet that is sent.



Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB


"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?

You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?





Back to top
Eric Bursley [MVP]
Guest





Posted: Mon Nov 21, 2005 5:16 pm    Post subject: Re: MPIO question Reply with quote

This is from the SCSI 2 standard RFC. The sequence number I was refering to
is the simple queue tag. If you use a SCSI sniffer you can see these queue
tags in each packet. In iSCSI, SCSI packets are handled the same way, but
there is also TCP to ensure packet sequencing over the IP network.The
network card and IP stack can then reorder packets if they happen to fall
out of sequence. If you are getting a highnumber of packet sequence out of
order on your network, you have a network problem and you should investigate
your WAN links.7.8.3.1 Typical sequences for tagged queuing

An I/O process using tagged queuing uses the following sequences for
normal execution. The initiator first arbitrates for the SCSI bus, and
after successfully obtaining the SCSI bus, selects the appropriate SCSI
device. The ATN signal is asserted during the SELECTION phase to indicate
that a MESSAGE OUT phase is requested by the initiator. The first message
byte transferred is an IDENTIFY message. The ATN signal continues to be
asserted during the MESSAGE OUT phase to indicate that the initiator has
another message. The second message byte transferred is the first byte
of the appropriate queue tag message, in this case a SIMPLE QUEUE TAG
message. The third and last message byte is transmitted containing the
second byte of the queue tag message, the queue tag. As it is
transferred, the ATN signal is negated to indicate that no more message
bytes are available. The target then transfers the command descriptor
block. Assuming the command requires disconnection, the target transmits
a DISCONNECT message to the initiator and then enters the BUS FREE phase.
The target places the command, identified by the I_T_L_Q nexus, at the
appropriate place in the command queue.7.8.3.2 Example of tagged queuing

An example of the execution of five queued I/O processes is described to
demonstrate how tagged queuing operates. All tagged I/O processes are
from one initiator to a single logical unit of a single target. The five
I/O processes are defined in table 28. The target is a direct-access
device. At the time the I/O processes are first being executed, it is
assumed that the actuator is in position to access logical block 10 000.

Table 28 - Commands in order received by target
+===========-=============-=============-============-=============-==========+
| Command | Queue tag | Queue tag | Logical | Transfer | Status
|
| | message | value | block | length |
|
| | | | address | |
|
|-----------+-------------+-------------+------------+-------------+----------|
| READ | SIMPLE | 01h | 10 000 | 1 000 | Queued
|
| READ | SIMPLE | 02h | 100 | 1 | Queued
|
| READ | ORDERED | 03h | 1 000 | 1 000 | Queued
|
| READ | SIMPLE | 04h | 10 000 | 1 | Queued
|
| READ | SIMPLE | 05h | 2 000 | 1 000 | Queued
|
+=============================================================================+

The optimum order would require that those blocks close to the actuator
position be the first blocks accessed, followed by those increasingly far
from the actuator position. However, the command with queue tag 03h is
an ordered I/O process, so that all simple I/O processes transferred
previously must be executed before, while all simple I/O processes
transferred after the ordered I/O process must be executed after the
ordered I/O process.Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB



"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:OMzZXon7FHA.3592@TK2MSFTNGP12.phx.gbl...
Quote:
But,
there is no such reserved field in SCSI commands for the serial number.


"Eric Bursley [MVP]" <ebursley at swbell dot net
级糶秎ン穝籇:ejJpoeR7FHA.1864@TK2MSFTNGP12.phx.gbl...
Its handled pretty much the same as load balancing a NIC. A sequence
number is in each packet that is sent.



Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB


"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?

You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?







Back to top
Frank Liu
Guest





Posted: Tue Nov 22, 2005 9:16 am    Post subject: Re: MPIO question Reply with quote

But,
MPIO does'nt utilize the tag, nor a common host driver.
The tag is just to tell different tasks, not the command order.

"Eric Bursley [MVP]" <ebursley at swbell dot net> 级糶秎ン穝籇:O7igw5q7FHA.4012@TK2MSFTNGP14.phx.gbl...
Quote:
This is from the SCSI 2 standard RFC. The sequence number I was refering
to is the simple queue tag. If you use a SCSI sniffer you can see these
queue tags in each packet. In iSCSI, SCSI packets are handled the same
way, but there is also TCP to ensure packet sequencing over the IP
network.The network card and IP stack can then reorder packets if they
happen to fall out of sequence. If you are getting a highnumber of packet
sequence out of order on your network, you have a network problem and you
should investigate your WAN links.7.8.3.1 Typical sequences for tagged
queuing

An I/O process using tagged queuing uses the following sequences for
normal execution. The initiator first arbitrates for the SCSI bus, and
after successfully obtaining the SCSI bus, selects the appropriate SCSI
device. The ATN signal is asserted during the SELECTION phase to indicate
that a MESSAGE OUT phase is requested by the initiator. The first message
byte transferred is an IDENTIFY message. The ATN signal continues to be
asserted during the MESSAGE OUT phase to indicate that the initiator has
another message. The second message byte transferred is the first byte
of the appropriate queue tag message, in this case a SIMPLE QUEUE TAG
message. The third and last message byte is transmitted containing the
second byte of the queue tag message, the queue tag. As it is
transferred, the ATN signal is negated to indicate that no more message
bytes are available. The target then transfers the command descriptor
block. Assuming the command requires disconnection, the target transmits
a DISCONNECT message to the initiator and then enters the BUS FREE phase.
The target places the command, identified by the I_T_L_Q nexus, at the
appropriate place in the command queue.7.8.3.2 Example of tagged queuing

An example of the execution of five queued I/O processes is described to
demonstrate how tagged queuing operates. All tagged I/O processes are
from one initiator to a single logical unit of a single target. The five
I/O processes are defined in table 28. The target is a direct-access
device. At the time the I/O processes are first being executed, it is
assumed that the actuator is in position to access logical block 10 000.

Table 28 - Commands in order received by target
+===========-=============-=============-============-=============-==========+
| Command | Queue tag | Queue tag | Logical | Transfer |
Status |
| | message | value | block | length | |
| | | | address | | |
|-----------+-------------+-------------+------------+-------------+----------|
| READ | SIMPLE | 01h | 10 000 | 1 000 |
Queued |
| READ | SIMPLE | 02h | 100 | 1 |
Queued |
| READ | ORDERED | 03h | 1 000 | 1 000 |
Queued |
| READ | SIMPLE | 04h | 10 000 | 1 |
Queued |
| READ | SIMPLE | 05h | 2 000 | 1 000 |
Queued |
+=============================================================================+

The optimum order would require that those blocks close to the actuator
position be the first blocks accessed, followed by those increasingly far
from the actuator position. However, the command with queue tag 03h is
an ordered I/O process, so that all simple I/O processes transferred
previously must be executed before, while all simple I/O processes
transferred after the ordered I/O process must be executed after the
ordered I/O process.Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB



"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:OMzZXon7FHA.3592@TK2MSFTNGP12.phx.gbl...
But,
there is no such reserved field in SCSI commands for the serial number.


"Eric Bursley [MVP]" <ebursley at swbell dot net> 级糶秎ン穝籇:ejJpoeR7FHA.1864@TK2MSFTNGP12.phx.gbl...
Its handled pretty much the same as load balancing a NIC. A sequence
number is in each packet that is sent.



Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB


"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?

You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?









Back to top
Frank Liu
Guest





Posted: Thu Nov 24, 2005 7:58 am    Post subject: Re: MPIO question Reply with quote

I got the point.
"simple queue" doesn't care the order.
The application should send independent outstanding IO.
In other words, it can not write the same block in these outstanding IO;
otherwises, it will hit compare error.

"ordered queue" must garantee the order.
The application can send dependent outstanding IO.

MPIO will not change the tag type and tag value. It just forward
commands to the real device.

"Frank Liu" <frank.liu@qsan.com.tw> 级糶秎ン穝籇:Omkdqoy7FHA.4036@TK2MSFTNGP11.phx.gbl...
Quote:
But,
MPIO does'nt utilize the tag, nor a common host driver.
The tag is just to tell different tasks, not the command order.

"Eric Bursley [MVP]" <ebursley at swbell dot net> 级糶秎ン穝籇:O7igw5q7FHA.4012@TK2MSFTNGP14.phx.gbl...
This is from the SCSI 2 standard RFC. The sequence number I was refering
to is the simple queue tag. If you use a SCSI sniffer you can see these
queue tags in each packet. In iSCSI, SCSI packets are handled the same
way, but there is also TCP to ensure packet sequencing over the IP
network.The network card and IP stack can then reorder packets if they
happen to fall out of sequence. If you are getting a highnumber of
packet sequence out of order on your network, you have a network problem
and you should investigate your WAN links.7.8.3.1 Typical sequences for
tagged queuing

An I/O process using tagged queuing uses the following sequences for
normal execution. The initiator first arbitrates for the SCSI bus, and
after successfully obtaining the SCSI bus, selects the appropriate SCSI
device. The ATN signal is asserted during the SELECTION phase to
indicate
that a MESSAGE OUT phase is requested by the initiator. The first
message
byte transferred is an IDENTIFY message. The ATN signal continues to be
asserted during the MESSAGE OUT phase to indicate that the initiator has
another message. The second message byte transferred is the first byte
of the appropriate queue tag message, in this case a SIMPLE QUEUE TAG
message. The third and last message byte is transmitted containing the
second byte of the queue tag message, the queue tag. As it is
transferred, the ATN signal is negated to indicate that no more message
bytes are available. The target then transfers the command descriptor
block. Assuming the command requires disconnection, the target transmits
a DISCONNECT message to the initiator and then enters the BUS FREE phase.
The target places the command, identified by the I_T_L_Q nexus, at the
appropriate place in the command queue.7.8.3.2 Example of tagged queuing

An example of the execution of five queued I/O processes is described to
demonstrate how tagged queuing operates. All tagged I/O processes are
from one initiator to a single logical unit of a single target. The five
I/O processes are defined in table 28. The target is a direct-access
device. At the time the I/O processes are first being executed, it is
assumed that the actuator is in position to access logical block 10 000.

Table 28 - Commands in order received by target
+===========-=============-=============-============-=============-==========+
| Command | Queue tag | Queue tag | Logical | Transfer |
Status |
| | message | value | block | length | |
| | | | address | | |
|-----------+-------------+-------------+------------+-------------+----------|
| READ | SIMPLE | 01h | 10 000 | 1 000 |
Queued |
| READ | SIMPLE | 02h | 100 | 1 |
Queued |
| READ | ORDERED | 03h | 1 000 | 1 000 |
Queued |
| READ | SIMPLE | 04h | 10 000 | 1 |
Queued |
| READ | SIMPLE | 05h | 2 000 | 1 000 |
Queued |
+=============================================================================+

The optimum order would require that those blocks close to the actuator
position be the first blocks accessed, followed by those increasingly far
from the actuator position. However, the command with queue tag 03h is
an ordered I/O process, so that all simple I/O processes transferred
previously must be executed before, while all simple I/O processes
transferred after the ordered I/O process must be executed after the
ordered I/O process.Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB



"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:OMzZXon7FHA.3592@TK2MSFTNGP12.phx.gbl...
But,
there is no such reserved field in SCSI commands for the serial number.


"Eric Bursley [MVP]" <ebursley at swbell dot net> 级糶秎ン穝籇:ejJpoeR7FHA.1864@TK2MSFTNGP12.phx.gbl...
Its handled pretty much the same as load balancing a NIC. A sequence
number is in each packet that is sent.



Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F
DDCA C392 6DCB


"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?

You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?











Back to top
Jeff Goldner [MS]
Guest





Posted: Sat Nov 26, 2005 1:16 am    Post subject: Re: MPIO question Reply with quote

Windows in general (and most any OS that has an asynchronous I/O model)
doesn't provide any guarantee about command ordering. Even w/o multiple
paths, the storage stack can reorder for efficiency as can any component
along the way. An application that requires ordering needs to enforce it by
doing synchronous I/O with write through - the app issues I/Os in whatever
order is appropriate, waits for a response from the first (or first batch)
and then proceeds on to the next I/O. The filesystem uses this technique for
its metadata, SQL uses both async and sync, and even overlaps commands
(reads while writes are outstanding) when it can determine the most
efficient processing. An example:

write block 2 asynchronously
read blocks 1-4 (if and only if it only wants data from blocks 1 & 4) even
before block 2 write completes.

Some other details:
- Queue tags are for housekeeping purposes. Most adapters don't use the ones
provided by Windows but generate their own.
- Windows uses only the SIMPLE task modifier (not ordered or head of queue)
- Windows port drivers modify the order of commands by using a modified
verson of the C-SCAN algorithm IF the following are true:
1) port driver is NOT Storport (Storport queues in FIFO order)
2) no more commands can be issued to the adapter - this is a function of the
interface (e.g., on ATA we don't do queuing to the drives; for SCSIport the
NumberOfRequests registry option controls the outstanding commands for
devices that support queuing; the adapter itself can impose any limit by not
asking for more commands; the device returns BUSY)

- MPIO does nothing to change these behaviors but a DSM can and typically
will do further modification
- iSCSI uses a command sequence number which is assigned at the time the
command goes out on the wire. Since the MS iSCSI software initiator uses a
modified Storport driver, it doesn't reorder. But iSCSI+MPIO might do some
rearrangement depending on load balance policy.
- applications and filesystems use logging and/or journaling to insure
consistency of the data. When a log is flushed, all the data associated with
that checkpoint is committed to media when the operation completes.
- Windows provides various mechanisms for applications to acheive data
consistency including flags on the file open, kernel interfaces for
individual I/Os and flushing primitives.
- many SATA RAID drivers and non-standard IDE controller drivers will
intentionally cache data for arbitrary lengths of time and return completion
without regard for the application's requirements or flags on the I/O. They
also may ignore flushes. They do this solely for the sake of getting the
highest numbers in benchmark tests. This can and does result in data
corruption on a system crash, power failure or glitch on the interconnect.


"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:Oxb9cqJ8FHA.2816@tk2msftngp13.phx.gbl...

Quote:
I got the point.
"simple queue" doesn't care the order.
The application should send independent outstanding IO.
In other words, it can not write the same block in these outstanding
IO;
otherwises, it will hit compare error.

"ordered queue" must garantee the order.
The application can send dependent outstanding IO.

MPIO will not change the tag type and tag value. It just forward
commands to the real device.

"Frank Liu" <frank.liu@qsan.com.tw
级糶秎ン穝籇:Omkdqoy7FHA.4036@TK2MSFTNGP11.phx.gbl...
But,
MPIO does'nt utilize the tag, nor a common host driver.
The tag is just to tell different tasks, not the command order.

"Eric Bursley [MVP]" <ebursley at swbell dot net
级糶秎ン穝籇:O7igw5q7FHA.4012@TK2MSFTNGP14.phx.gbl...
This is from the SCSI 2 standard RFC. The sequence number I was
refering to is the simple queue tag. If you use a SCSI sniffer you can
see these queue tags in each packet. In iSCSI, SCSI packets are handled
the same way, but there is also TCP to ensure packet sequencing over the
IP network.The network card and IP stack can then reorder packets if
they happen to fall out of sequence. If you are getting a highnumber of
packet sequence out of order on your network, you have a network problem
and you should investigate your WAN links.7.8.3.1 Typical sequences for
tagged queuing

An I/O process using tagged queuing uses the following sequences for
normal execution. The initiator first arbitrates for the SCSI bus, and
after successfully obtaining the SCSI bus, selects the appropriate SCSI
device. The ATN signal is asserted during the SELECTION phase to
indicate
that a MESSAGE OUT phase is requested by the initiator. The first
message
byte transferred is an IDENTIFY message. The ATN signal continues to be
asserted during the MESSAGE OUT phase to indicate that the initiator has
another message. The second message byte transferred is the first byte
of the appropriate queue tag message, in this case a SIMPLE QUEUE TAG
message. The third and last message byte is transmitted containing the
second byte of the queue tag message, the queue tag. As it is
transferred, the ATN signal is negated to indicate that no more message
bytes are available. The target then transfers the command descriptor
block. Assuming the command requires disconnection, the target
transmits
a DISCONNECT message to the initiator and then enters the BUS FREE
phase.
The target places the command, identified by the I_T_L_Q nexus, at the
appropriate place in the command queue.7.8.3.2 Example of tagged queuing

An example of the execution of five queued I/O processes is described to
demonstrate how tagged queuing operates. All tagged I/O processes are
from one initiator to a single logical unit of a single target. The
five
I/O processes are defined in table 28. The target is a direct-access
device. At the time the I/O processes are first being executed, it is
assumed that the actuator is in position to access logical block 10 000.

Table 28 - Commands in order received by target
+===========-=============-=============-============-=============-==========+
| Command | Queue tag | Queue tag | Logical | Transfer |
Status |
| | message | value | block | length | |
| | | | address | | |
|-----------+-------------+-------------+------------+-------------+----------|
| READ | SIMPLE | 01h | 10 000 | 1 000 |
Queued |
| READ | SIMPLE | 02h | 100 | 1 |
Queued |
| READ | ORDERED | 03h | 1 000 | 1 000 |
Queued |
| READ | SIMPLE | 04h | 10 000 | 1 |
Queued |
| READ | SIMPLE | 05h | 2 000 | 1 000 |
Queued |
+=============================================================================+

The optimum order would require that those blocks close to the actuator
position be the first blocks accessed, followed by those increasingly
far
from the actuator position. However, the command with queue tag 03h is
an ordered I/O process, so that all simple I/O processes transferred
previously must be executed before, while all simple I/O processes
transferred after the ordered I/O process must be executed after the
ordered I/O process.Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB



"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:OMzZXon7FHA.3592@TK2MSFTNGP12.phx.gbl...
But,
there is no such reserved field in SCSI commands for the serial number.


"Eric Bursley [MVP]" <ebursley at swbell dot net
级糶秎ン穝籇:ejJpoeR7FHA.1864@TK2MSFTNGP12.phx.gbl...
Its handled pretty much the same as load balancing a NIC. A sequence
number is in each packet that is sent.



Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F
DDCA C392 6DCB


"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?

You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?













Back to top
 
Post new topic   Reply to topic    CASTalk.com Forum Index -> Storage System All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




VoIP Electronics Powered by phpBB