The snapshot capability moving into the SAN fabric and being provided as a
snapshot service. A well-known address is utilized to receive snapshot
commands. Each switch in the fabric connected to a host contains a front
end or service interface to receive the snapshot command. Each switch of
the fabric connected to a storage device used in the snapshot process
contains a write interceptor module which cooperates with hardware in the
switch to capture any write operations which would occur to the snapshot
data area. The write interceptor then holds these particular write
operations until the original blocks are transferred to a snapshot or
separate area so that the original read data is maintained. Should a read
operation occur to the snapshot device and the original data from
requested location has been relocated, a snapshot server captures these
commands and redirects the read operation to occur from the snapshot
area. If, however, the read operation is directed to the original drive,
the read is provided from the original data areas, even if the data had
been replaced. The snapshot server determines the existence of particular
snapshot devices, allocates their storage locations, provides this
information to both the service interfaces and the write interceptors and
handles read and write operations to the snapshot device.