Sparse multi-component files
First Claim
1. A method of sparsely striping a file across multiple components, the method comprising:
- selecting a file to be sparsely striped across multiple components;
identifying a plurality of chunks in the selected file; and
for each chunk;
identifying a position of said chunk in the selected file;
allocating said chunk to one of the multiple components;
at said position in the one component, writing the content of said chunk; and
creating a hole, corresponding to said chunk, at said position in each of the other components.
2 Assignments
0 Petitions
Accused Products
Abstract
A file is striped across multiple filers, file servers or other devices, to create a sparsely striped multi-component file. Each filer stores one sparse component. In particular, each component physically stores only those stripes allocated to that component. The other stripes are represented as holes. Thus, instead of contiguously packing each component'"'"'s stripes at the block level, each component is a file having the same logical structure. A component of a sparsely striped multi-component file can be easily converted to a mirror by filling in its holes. Similarly, a mirror can be easily converted to one component of a sparsely striped multi-component file by removing or ignoring it unallocated stripes. In either case, the layout or logical of the component does not need to be reconfigured.
-
Citations
18 Claims
-
1. A method of sparsely striping a file across multiple components, the method comprising:
-
selecting a file to be sparsely striped across multiple components; identifying a plurality of chunks in the selected file; and for each chunk; identifying a position of said chunk in the selected file; allocating said chunk to one of the multiple components; at said position in the one component, writing the content of said chunk; and creating a hole, corresponding to said chunk, at said position in each of the other components. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of sparsely striping a file across multiple components, the method comprising:
-
selecting a file to be sparsely striped across multiple components; identifying a plurality of chunks in the selected file; and for each chunk; identifying a position of said chunk in the selected file; allocating said chunk to one of the multiple components; at said position in the one component, writing the content of said chunk; and creating a hole, corresponding to said chunk, at said position in each of the other components.
-
-
14. A method of converting a sparsely striped multi-component file to a mirror, comprising:
-
at each of one or more file storage devices, maintaining a component of a sparsely striped multi-component file, wherein each component is a sparse file; at a first file storage device comprising a first component, identifying holes in the first component, wherein each hole corresponds to a chunk of the sparsely striped multi-component file allocated to a component other than the first component; and for each hole; obtaining content of the sparsely striped multi-component file corresponding to said chunk; and replacing said hole with the content. - View Dependent Claims (15)
-
-
16. A computer readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of converting a sparsely striped multi-component file to a mirror, comprising:
-
at each of one or more file storage devices, maintaining a component of a sparsely striped multi-component file, wherein each component is a sparse file; at a first file storage device comprising a first component, identifying holes in the first component, wherein each hole corresponds to a chunk of the sparsely striped multi-component file allocated to a component other than the first component; and for each hole; obtaining content of the sparsely striped multi-component file corresponding to said chunk; and replacing said hole with the content.
-
-
17. A network-based file storage system for storing a sparsely striped multi-component file, comprising:
-
multiple file storage devices, each file storage device comprising a component file configured to store one or more chunks of the sparsely striped multi-component file; and in each file storage device'"'"'s component file; the contents of one or more chunks allocated to the file storage device; and one or more holes corresponding to chunks allocated to other file storage devices; wherein each file storage device'"'"'s component file has a substantially similar logical layout. - View Dependent Claims (18)
-
Specification