Accessing stored data includes providing a virtual storage area having a
table of pointers that point to one of: a disk storage area and a
volatile memory area, wherein the virtual storage area contains no
sections of data, in response to a request for accessing data of the
virtual storage area, determining whether a corresponding one of the
pointers points to the disk storage area or points to the volatile
storage area and accessing the data from the disk storage area or from
the volatile storage area. Accessing stored data may also include
associating a first one of the other storage areas with the virtual
storage area, wherein the virtual storage area represents a copy of data
of the disk storage area. Accessing stored data may also include causing
all of the pointers of the table to initially point to sections of the
disk storage area when the virtual storage area is initially associated
with the disk storage area. Accessing stored data may also include, in
response to a write to a first section on the disk storage area, copying
data of the first section to a second section that is part of the
volatile storage area and causing a corresponding one of the pointers of
the table to point to the second section.