A method for generating a snapshot that records data transmitted to a
storage system prior to a selected moment in time, while allowing a
client server to continue sending data to the storage system, is
disclosed. A snapshot marker is inserted into a cache, data continues to
be flushed to disk until the snapshot marker is flushed from the cache,
and a snapshot is performed. Additionally, a method for recording data
stored in a storage system is disclosed that includes initiating a
transaction with the storage system according to standard protocols,
transmitting to the storage system a command representing a snapshot
request, and performing a snapshot of the data. In accordance with one
implementation, the command is transmitted as a SCSI command descriptor
block.