ng

US
2003/0131182
A1
[0020]
FIG.
1B
is
a
block
diagram
illustrating
an
exem
plary
storage
area
network
in
Which
various
embodiments
of
the
invention
may
be
implemented.
[0021]
FIG.
2
is
a
block
diagram
illustrating
a virtualiZa
tion
model
that
may
be
implemented
in
accordance With
various
embodiments
of
the
invention.
[0022]
FIG.
3A
is
a
block
diagram
illustrating
an
exem
plary
virtualiZation
sWitch
in
Which
various
embodiments
of
the
present
invention
maybe
implemented.
[0023]
FIG.
3B
is
a
block
diagram
illustrating
an
exem
plary
standard
sWitch
in
Which
various
embodiments
of
the
present
invention
may
be
implemented.
[0024]
FIG.
4
is
a
transaction
?oW
diagram
illustrating
a
conventional
method
of
implementing
a
node
World
Wide
name
(NWWN)
and
port
World
Wide
name
(PWWN)
for
each
SCSI
target
port.
[0025]
FIG.
5
is
a
block
diagram
illustrating
an
exemplary
virtual
enclosure
in
accordance With
one
embodiment
of
the
invention.
[0026]
FIG.
6
is
a
diagram
illustrating
an
exemplary
system
in
Which
a
virtual
enclosure
is
implemented
through
the
binding
of
the
virtual
enclosure
ports
to
various
virtu
aliZation
ports
in
accordance With
various
embodiments
of
the
invention.
[0027]
FIG.
7
is
a
process
How
diagram
illustrating
a
method
of
creating
a
virtual
enclosure
in
accordance With
various
embodiments
of
the
invention.
[0028]
FIG.
8
is
a
diagram
illustrating
a
conventional
?bre
channel
identi?er
(FCID)
that
may
be
associated
With
a
virtual
enclosure
port
in
accordance
With
various
embodi
ments
of
the
invention.
[0029]
FIG.
9
is
a
transaction
?oW
diagram
illustrating
one
method
of
coordinating
virtual
enclosure
binding
and
trapping
functionality
of
virtualiZation
ports
in
accordance
With
various
embodiments
of
the
invention.
[0030]
FIG.
10
is
a
diagram
illustrating
an
exemplary
table
that
may
be
maintained
by
a
virtualiZation
port
indi
cating
FCIDs
to
be
handled
by
the
virtualiZation
port
in
accordance With
various
embodiments
of
the
invention.
[0031]
FIG.
11
is
a
transaction
?oW
diagram
illustrating
one
method
of
establishing
communication
betWeen
a
host
and
one
or
more
virtualiZation
ports
(e.g.,
virtual
enclosure
ports,
trapping
ports)
such
that
the
host
can
access
one
or
more
LUNs
in
accordance
With
various
embodiments
of
the
invention.
[0032]
FIG.
12
is
a
diagram
illustrating
an
exemplary
LUN
mapping
table
that
may
be
used
at
step
1128
of
FIG.
11
to
perform
LUN
mapping.
[0033]
FIG.
13
is
a
diagram
representing
a
virtual
enclo
sure
corresponding
to
the
LUN
mapping
table
of
FIG.
12.
DETAILED
DESCRIPTION
OF
THE
PREFERRED
EMBODIMENTS
[0034]
In
the
folloWing
description,
numerous
speci?c
details
are
set
forth
in
order
to
provide
a
thorough
under
standing
of
the
present
invention.
It
Will
be
obvious,
hoW
ever,
to
one
skilled
in
the
art,
that
the
present
invention
may
Jul.
10,
2003
be
practiced
Without
some
or
all
of
these
speci?c
details.
In
other
instances,
Well
knoWn
process
steps
have
not
been
described
in
detail
in
order
not
to
unnecessarily
obscure
the
present
invention.
[0035]
In
accordance With
various
embodiments
of
the
present
invention,
virtualiZation
of
storage
Within
a
storage
area
netWork
may
be
implemented
through
the
creation
of
a
virtual
enclosure
having
one
or
more
virtual
enclosure
ports.
The
virtual
enclosure
is
implemented,
in
part,
by
one
or
more
netWork
devices,
Which
Will
be
referred
to
herein
as
virtualiZation
sWitches.
More
speci?cally,
a
virtualiZation
sWitch, or
more
speci?cally,
a
virtualiZation
port
Within
the
virtualiZation
sWitch,
may
handle
messages
such
as
packets
or
frames
on
behalf
of
one
of
the
virtual
enclosure
ports.
Thus,
embodiments
of
the
invention
may
be
applied
to
a
packet
or
frame
directed
to
a
virtual
enclosure
port,
as Will
be
described
in
further
detail
beloW.
For
convenience,
the
subsequent
discussion
Will
describe
embodiments
of
the
invention
With
respect
to
frames.
SWitches
act
on
frames
and
use
information
about
SANs
to
make
sWitching
decisions.
[0036]
Note
that
the
frames
being
received
and
transmitted
by
a
virtualiZation
sWitch
possess
the
frame
format
speci?ed
for a
standard
protocol
such
as
Ethernet
or
?bre
channel.
Hence,
softWare
and
hardWare
conventionally
used
to
gen
erate
such
frames
may
be
employed
With
this
invention.
Additional
hardWare
and/or
softWare
is
employed
to
modify
and/or generate
frames
compatible
With
the
standard
proto
col
in
accordance With
this
invention.
Those
of
skill
in
the
art
Will
understand
hoW
to
develop
the
necessary
hardWare
and
softWare
to
alloW
virtualiZation
as
described
beloW.
[0037]
Obviously,
the
appropriate
netWork
devices
should
be
con?gured
With
the
appropriate
softWare
and/or
hardWare
for
performing
virtualiZation
functionality.
Of
course,
all
netWork
devices
Within
the
storage area
netWork
need
not
be
con?gured
With
the
virtualiZation
functionality.
Rather,
selected
sWitches
and/or
ports
may
be
con?gured
With
or
adapted
for
virtualiZation
functionality.
Similarly,
in
various
embodiments,
such
virtualiZation
functionality
may
be
enabled
or
disabled
through
the
selection
of
various
modes.
Moreover,
it
may
be
desirable
to
con?gure
selected
ports
of
netWork
devices
as
virtualiZation-capable
ports
capable of
performing
virtualiZation,
either
continuously,
or
only
When
in
a
virtualiZation
enabled
state.
[0038]
The
standard
protocol
employed
in
the
storage
area
netWork
(i.e.,
the
protocol
used
to
frame
the
data)
Will
typically,
although
not
necessarily,
be
synonymous
With
the
“type
of
traf?c”
carried
by
the
netWork.
As
explained
beloW,
the
type of
traf?c
is
de?ned
in
some
encapsulation
formats.
Examples
of
the
type
of
traf?c
are
typically
layer
2
or
corresponding
layer
formats
such
as
Ethernet,
Fibre
channel,
and
In?niBand.
[0039]
As
described
above,
a
storage
area
netWork
(SAN)
is
a
high-speed
special-purpose
netWork
that
interconnects
different
data
storage
devices
With
associated
netWork
hosts
(e.g.,
data
servers
or
end
user
machines)
on
behalf
of
a
larger
netWork
of
users.
A
SAN
is
de?ned
by
the
physical
con
?guration of
the
system.
In
other
Words,
those
devices
in
a
SAN
must
be
physically
interconnected.
[0040]
Within
a
storage
area
netWork
131
such
as
that
illustrated
in
FIG.
1B,
various
storage
devices
132, 134,
136, 138, 140,
and
142
may
be
implemented,
Which
may
be