File folding technique
First Claim
1. A method for reducing duplicate data of a file stored on a storage device of a server having an active file system, the method comprising the steps of:
- generating a persistent image of old data for the file in the active file system;
overwriting the old data of the file in the active file system with new data;
comparing contents of the data blocks for the active file system and persistent image on a block-by-block basis;
determining whether the new data is identical to the old data of the persistent image; and
if so, folding the new data of the file in the active file system into the old data of the persistent image.
1 Assignment
0 Petitions
Accused Products
Abstract
A file folding technique reduces the number of duplicate data blocks of a file consumed on a storage device of a file server configured to generate a persistent image of its active file system at a point in time. According to the file folding technique, if “old” data blocks of the file are over-written with “new” data and that new data is identical to the data of the persistent file image, the old data blocks are “freed” and the file is directed to refer to the persistent image for its data. The invention reduces disk space consumption in a file server configured to generate persistent images of its active file system and, in particular, reduces overall persistent image disk usage.
-
Citations
32 Claims
-
1. A method for reducing duplicate data of a file stored on a storage device of a server having an active file system, the method comprising the steps of:
-
generating a persistent image of old data for the file in the active file system;
overwriting the old data of the file in the active file system with new data;
comparing contents of the data blocks for the active file system and persistent image on a block-by-block basis;
determining whether the new data is identical to the old data of the persistent image; and
if so, folding the new data of the file in the active file system into the old data of the persistent image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for reducing duplicate data of a file stored on a storage device of a server having an active file system, the method comprising the steps of:
-
generating a persistent image of old data for the file in the active file system;
overwriting the old data of the file in the active file system with new data;
comparing a virtual block number (VBN) of each indirect block from the active file system with a VBN of a corresponding indirect block from the persistent image;
determining whether the VBNS are equal;
if the VBNS are equal, aborting further processing of the indirect blocks;
if the VBNS are not equal, comparing contents of the data blocks associated with the indirect blocks for the active file system and the indirect blocks for the persistent image, determining whether the new data is identical to the old data of the persistent image, and if the data is identical, folding the new data of the file in the active file system into the old data of the persistent image. - View Dependent Claims (12)
-
-
13. A system configured to reduce duplicate data of a file stored on a storage device of a storage system having an active file system, the system comprising:
-
a processor coupled to the storage device;
a memory coupled to the processor and having locations addressable by the processor; and
a storage operating system resident in the memory locations and executed by the processor to invoke storage operations in support of the file system, the storage operating system adapted to (i) generate a persistent image of old data for the file in the active file system, (ii) overwrite the old data of the file in the active file system with new data, and (iii) comparing contents of the data blocks for the active file system and persistent image on a block-by-block basis, (iv) determine whether the new data is identical to the old data of the persistent image, the operating system further folding the new data of the file in the active file system into the old data of the persistent image if the new and old data are identical. - View Dependent Claims (14, 15, 16, 17)
-
-
18. Apparatus for reducing duplicate data of a file stored on a storage device of a server having an active file system, the apparatus comprising:
-
means for generating a persistent image of old data for the file in the active file system;
means for overwriting the old data of the file in the active file system with new, data;
means for comparing contents of the data blocks for the active file system and persistent image on a block-by-block basis means for determining whether the new data is identical to the old data of the persistent image; and
if so, means for folding the new data of the file in the active file system into the old data of the persistent image.
-
-
19. A computer readable medium containing executable program instructions for reducing duplicate data of a file stored on a storage device of a server having an active file system, the executable program instructions comprising program instructions for:
-
generating a persistent image of old data for the file in the active file system;
overwriting the old data of the file in the active file system with new data;
comparing contents of the data blocks for the active file system and persistent image on a block-by-block basis determining whether the new data is identical to the old data of the persistent image; and
if so, folding the new data of the file in the active file system into the old data of the persistent image.
-
-
20. A method for reducing duplicate data of a file stored on a storage device of a storage system having an active file system, the method comprising the steps of:
-
generating a persistent image of a file in the active file system;
comparing new data of the file written to the active file system to the data in the persistent image;
if the new data is identical to the data in the persistent image, directing the active file system to refer to the persistent image for data of the file, thereby reducing reference to duplicate data in the active file system;
otherwise, directing the active file system to refer to new data blocks in the active to file system. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system configured to reduce duplicate data of a file stored on a storage device of a storage system having an active file system, the system comprising:
-
a processor coupled to the storage device;
a memory coupled to the processor and having locations addressable by the processor; and
a storage operating system resident in the memory locations and executed by the processor to invoke storage operations in support of the file system, the storage operating system adapted to (i) generate a persistent image of a file in the active file system, (ii) compare new data of the file written to the active file system to data in the persistent image, (iii) if the new data is identical to the data in the persistent image, direct the active file system to refer to the persistent image for the data of the file, thereby reducing reference to duplicate data in the active file system;
(iv) otherwise, direct the active file system to refer to new data blocks in the active file system.
-
-
31. Apparatus for reducing duplicate data of a file stored on a storage device of a storage system having an active file system, the apparatus comprising:
-
means for generating a persistent image of a file in the active file system;
means for comparing new data of the file written to the active file system to data in the persistent image;
means for directing the active file system to refer to the persistent image for the data of the file if the new data is identical to the data in the persistent image, thereby reducing reference to duplicate data in the active file system;
means for directing the active file system to refer to new data blocks in the active file system if the new data is not identical to the data in the persistent image.
-
-
32. A computer readable medium containing executable program instructions comprising:
executable program instructions for execution on a processor, the instructions adapted to (i) generate a persistent image of a file in the active file system, (ii) compare new data of the file written to the active file system to data in the persistent image, (iii) if the new data is identical to the data in the persistent image, direct the active file system to refer to the persistent image for the data of the file, thereby reducing reference to duplicate data in the active file system;
(iv) otherwise, direct the active file system to refer to new data blocks in the active file system.
Specification