ng
US
2003/0131182
A1
The
storage
appliance
globally
manages
the
mapping
and
allocation
of physical
storage
to
virtual
volumes.
Typically,
the
storage
appliance
manages
a
central
table
that
provides
the
current
mapping
of
physical
to
virtual.
Thus,
the
storage
appliance-based
approach
enables
the
virtual
volumes
to
be
implemented
independently
from
both
the
hosts
and
the
storage
subsystems
on
the
storage
area
netWork,
thereby
providing
a
higher
level
of
security.
Moreover,
this
approach
supports
virtualiZation
across
multiple
storage
subsystems.
The
key
draWback
of
many
implementations
of
this
archi
tecture
is
that
every
input/output
(1/0)
of
every
host
must
be
sent
through
the
storage
area
netWork
appliance,
causing
signi?cant
performance
degradation
and
a
storage area net
Work
bottleneck.
This
is
particularly
disadvantageous
in
systems
supporting
a
redundancy
scheme
such
as
RAID,
since
data
must
be
mirrored
across
multiple
disks.
In
another
storage
appliance-based
approach,
the
appliance
makes
sure
that
all
hosts
receive
the
current
version
of
the
table.
Thus,
in
order
to
enable
the
hosts
to
receive
the
table
from
the
appliance,
a
softWare
shim
from
the
appliance
to
the
hosts
is
required,
adding
to
the
complexity
of
the
system.
Moreover,
since
the
softWare
layer
is
implemented
on
the
host,
many
of
the
disadvantages of
the
host-based
approach
are
also
present.
[0011]
In
vieW
of
the
above,
it
Would
be
desirable
if
various
storage
devices
or
portions
thereof
could
be
logi
cally
and
dynamically
assigned
to
various
devices
and/or
entities
Within
a
netWork.
Moreover,
it
Would
be
bene?cial
if
such
a
mechanism
could
be
implemented
to
support
the
virtualiZation
of
storage
Within
a
SAN
Without
the
disad
vantages
of
traditional
virtualiZation
approaches.
SUMMARY
OF
THE
INVENTION
[0012]
Methods
and
apparatus
for
implementing
virtual
iZation
of
storage
in
a
storage
area
netWork
are
disclosed.
This
is
accomplished
through
the
use of
one
or
more
netWork
devices capable
of
being
placed
in
a
data
path
betWeen
the
hosts
and
the
storage
devices.
As
a
result,
neither
the
storage
devices
nor
the
hosts
require
additional
softWare
or
hardWare
to
support
storage
virtualiZation.
Thus,
the
present
invention
is
superior
to
the
host
based
approach,
Which
requires
that
each
host
be
burdened
by
additional
softWare
to
implement
virtualiZation
functionality.
More
over,
the
present
invention
enables
multiple
netWork
devices
to
simultaneously
manage
the
virtualiZation
of
various
stor
age
devices.
Importantly,
sWitch-based
virtualiZation
may
be
implemented
on
a
per
port
basis.
Any
number
of
ports
on
a
sWitch
can
manage
virtualiZation
of
its
oWn
traffic.
This
alloWs
a
netWork’s
virtualiZation
capacity
to
scale
With
the
number
of
ports.
Since
there
are
large
numbers
of
ports
in
any
netWork
system,
there
Will
nearly
alWays
be
suf?cient
bandWidth
for
virtualiZation.
Accordingly,
virtualiZation
of
storage
may
be
achieved
Without
many
of
the
draWbacks
present
in
conventional
virtualiZation
schemes.
[0013]
In
accordance
With
one
aspect
of
the
invention,
a
virtual
enclosure
is
created
that
has
one
or
more
virtual
enclosure
ports
and
is
adapted
for
representing
one
or
more
virtual
storage
units.
In
other
Words,
the
virtual
enclosure
serves
to
“enclose”
selected
virtual
storage
units,
Which
may
be
accessed
via
the
virtual
enclosure
ports.
Each
of
the
virtual
storage
units
represents
one
or
more
physical
storage
locations
on
one
or
more
physical
storage
units
of
the
storage
area
netWork.
In
addition,
each
of
the
virtual
enclo
Jul.
10,
2003
sure ports
of
the
virtual
enclosure
is
associated
With
a
port
of
a
netWork
device Within
the
storage area
netWork.
An
address
or
identi?er
is
then
assigned
to
each
of
the
virtual
enclosure
ports.
For
instance,
the
address
or
identi?er
may
be
a
Fibre
Channel
identi?er
(FCID).
Thus,
a
message
(e.g.,
packet
or
frame)
directed
to
a
virtual
enclosure
port
(or
its
assigned
address/identi?er)
may
be
handled
by
the
port
associated
With
the
virtual
enclosure
port.
[0014]
In
accordance With
various
embodiments
of
the
invention,
a
virtual
enclosure
is
implemented
Within
a
Fibre
channel
netWork.
Thus,
a
Node
World
Wide
Name
(NWWN)
is
associated
With
the
virtual
enclosure.
In
addi
tion,
a
Port
World
Wide
Name
(PWWN)
is
associated
With
each
virtual
enclosure
port.
[0015]
In
accordance With
another
aspect
of
the
invention,
a
port
of
a
netWork
device Within
the
storage
area
netWork
is
instructed
to
handle
messages
on
behalf of
a virtual
enclosure
port.
This
may
be
accomplished
in
tWo
Ways.
First,
the
port
may
be
instructed
to
“bind”
itself
to
the
virtual
enclosure
port.
In
other
Words,
the
port
acts
as
the
virtual
enclosure
port,
and
all
messages
directed
to
the
virtual
enclosure
port
and
received
by
the
port
are
handled
by
that
port.
Second,
the
port
may
be
instructed
to
serve
as
a
“trapping
port.”
More
particularly,
in
addition
to
the
port
that
is
bound
to
the
virtual
enclosure
port,
one
or
more
additional
ports
may
also
handle
messages
they
receive
that
are
directed
to
the
virtual
enclosure
port.
A
trapping
port
is
preferably
a
port
that
is
directly
connected
to
a
host,
and
therefore
can
track
those
requests
received
by
it
as
Well
as
the
responses
associated
With
those
requests.
Binding and
trapping
among
multiple
ports
on
behalf
of
a
single
virtual
enclosure
port
is
preferably
coordinated
at
a
central
location
such
as
a
virtual
enclosure
server.
[0016]
Various
netWork
devices
may
be
con?gured
or
adapted
for
performing
the
disclosed
virtualiZation
pro
cesses.
These
netWork
devices
include,
but
are
not
limited
to,
servers
(e.g.,
hosts),
routers,
and
sWitches.
Moreover,
the
functionality
for the
above-mentioned
virtualiZation
pro
cesses
may
be
implemented
in
softWare
as
Well
as
hardWare.
[0017]
Yet
another
aspect
of
the
invention
pertains
to
computer
program
products
including
machine-readable
media on
Which
are
provided
program
instructions
for
implementing
the
methods
and
techniques
described
above,
in
Whole
or
in
part.
Any
of
the
methods
of
this
invention
may
be
represented,
in
Whole
or
in
part,
as
program
instructions
that
can
be
provided
on
such
machine-readable
media.
In
addition, the
invention
pertains
to
various
combinations
and
arrangements
of
data
generated
and/or
used
as
described
herein.
For
eXample,
packets
and
frames having
the
format
described
herein
and
provided
on
appropriate
media
are
part
of
this
invention.
[0018]
These
and
other
features
of
the
present
invention
Will
be
described
in
more
detail
beloW
in
the
detailed
description
of
the
invention
and
in
conjunction
With
the
folloWing
?gures.
BRIEF
DESCRIPTION
OF
THE
DRAWINGS
[0019]
FIG.
1A
is
a
block
diagram
illustrating
an
eXem
plary
conventional
storage
area
netWork
capable
of
imple
menting
various
embodiments
of
prior
art
virtualiZation
functions.