A system for generating a virtual point-in-time copy of a selected subset
(e.g., a selected volume or logical unit) of a storage system. The present
system operates by using a bitmap in storage system controller cache
memory to indicate blocks of memory in the selected volume that have been
overwritten since the snapshot was initiated. When a write to the selected
volume is requested, the cache bitmap is checked to determine whether the
original data (in the area to be overwritten) has already been copied from
the selected volume to a temporary volume. If the original data was
previously copied, then the write proceeds to the selected volume. If,
however, the original data would be overwritten by the presently requested
write operation, then an area containing the original data is copied from
the selected volume to a temporary volume. Reads from the temporary volume
first check the bitmap to determine if the requested data has already been
copied from the selected volume to the temporary volume. If so, the data
is read from the temporary volume, otherwise, the data is read from the
selected volume.
Um sistema para gerar uma cópia virtual do ponto-em-tempo de um subconjunto selecionado (por exemplo, um volume selecionado ou uma unidade lógica) de um sistema do armazenamento. O sistema atual opera-se usando um bitmap na memória de esconderijo do controlador do sistema do armazenamento indicar os blocos da memória no volume selecionado que overwritten desde que o instantâneo foi iniciado. Quando uma escrita ao volume selecionado é pedida, o bitmap do esconderijo está verificado para determinar se os dados originais (na área a overwritten) têm sido copí já do volume selecionado a um volume provisório. Se os dados originais forem copí previamente, então a escrita prosegue ao volume selecionado. Se, entretanto, os dados originais overwritten pelo pedido presentemente escreva a operação, a seguir uma área que contem os dados originais é copí do volume selecionado a um volume provisório. Lê do volume da verificação provisória primeiramente o bitmap para determinar se os dados pedidos forem copí já do volume selecionado ao volume provisório. Se assim, os dados são lidos do volume provisório, se não, os dados são lidos do volume selecionado.