A hierarchical storage system comprises a host computer and a storage
system. The storage system comprises at lease two kinds of storage
devices, a first tier storage and a second tier storage. The first tier
storage is a high performance (or high cost) storage device, and the
second tier storage is a lower performance (or lower cost) storage
device. The storage system creates a virtual volume based on the first
and second tier storages, and enables the host computer to access the
virtual volume. A file system in the host computer knows which region of
the virtual volume corresponds to the first tier storage and which region
of the virtual volume corresponds to the second tier storage. When the
file system receives a command to migrate a file from the first tier to
the second tier storage, e.g., from a user, the file system examines the
address information of the virtual volume where the file resides, and
instructs the storage system to migrate the blocks of the designated
addresses.