Computer system
First Claim
Patent Images
1. A computer system provided with a file system for managing access to files stored in a nonvolatile storage device, comprising:
- snapshot management means which intervenes between said file system and said nonvolatile storage device, and which creates accumulated blocks of write-in data supplied from said file system, to be supplied to nonvolatile storage device in log form, and stores said accumulated blocks of said write-in data and logical address tag information created based on a logical address and time stamp of said write-in data, in said nonvolatile storage device as a snapshot.
2 Assignments
0 Petitions
Accused Products
Abstract
Snapshot management means intervenes between a file system for managing access, including update, to files stored in nonvolatile storage devices and the nonvolatile storage devices. The snapshot management means creates a snapshot holding the contents of the files at a specific point in time for each of the nonvolatile storage devices and stores the created snapshot into the corresponding nonvolatile storage device. The configuration makes it possible to create snapshots effectively without any modification to application programs or a file system.
337 Citations
30 Claims
-
1. A computer system provided with a file system for managing access to files stored in a nonvolatile storage device, comprising:
-
snapshot management means which intervenes between said file system and said nonvolatile storage device, and which creates accumulated blocks of write-in data supplied from said file system, to be supplied to nonvolatile storage device in log form, and stores said accumulated blocks of said write-in data and logical address tag information created based on a logical address and time stamp of said write-in data, in said nonvolatile storage device as a snapshot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
said snapshot management means includes means for causing said nonvolatile storage devices to appear to said snapshot file system to be a separately defined virtual storage device. -
3. A computer system according to claim 2, wherein said snapshot management means includes means for making said virtual storage device a removable storage device with replaceable media.
-
4. A computer system according to claim 1, further comprising a snapshot file system for managing access to said snapshot, wherein
said snapshot management means includes means for causing said nonvolatile storage devices to appear to said file system and said snapshot file system to be a removable storage device with replaceable media. -
5. A computer system according to claim 1, wherein said snapshot management means includes means for starting up said nonvolatile storage devices so that said file may have the contents at the time of creating a snapshot selected at system start-up.
-
6. A computer system according to claim 1, wherein said snapshot management means includes means for making a modification to said snapshot stored in said nonvolatile storage devices.
-
7. A computer system according to claim 6, wherein said snapshot management means includes means for invalidating a modification made to said snapshot stored in said nonvolatile storage devices.
-
8. A computer system according to claim 1, wherein said file system includes a cache area for temporarily storing at least one of a plurality of updated data items, and
said computer system further comprises restored-state realizing means for instructing not only said file system to write all of the plurality of updated data items stored in said cache area into said nonvolatile storage device but also said snapshot management means to create a snapshot including the updated data item. -
9. A computer system according to claim 8, wherein said restored-state realizing means includes means for giving not only a first instruction to said snapshot management means but also a second instruction to said snapshot means when receiving a write complete response from said file system after having instructing said file system to write said updated data item into said novolatile storage device, and
said snapshot management means includes means for creating said snapshot only when said file system does not write said updated data item between the time it receives said first instruction and the time it receives said second instruction.
-
-
10. A data sheltering method in a computer system provided with a file system for managing access to files stored in a nonvolatile storage device and writing buffer with a storage capacity equivalent to a K number of logical blocks, comprising:
-
the step of accumulating logical blocks of data items to be updated in said writing buffer in a normal writing process;
the step of delaying the update of the data items in the logical blocks until the number of the accumulated logical blocks has reached K−
1;
the step of creating a logical address tag block composed of the logical addresses for the individual logical blocks accumulated in said writing buffer;
the step of adding a time stamp for maintaining the temporal order of writing to the logical address block;
the step of adding said logical address tag block to a K−
1 number of blocks to form one stripe containing a K number of logical blocks and writing stripes consecutively in an empty area different from the area holding the data to be updated on said nonvolatile storage device;
the step of determining the logical addresses for a K−
1−
L number of logical blocks in said writing buffer unfilled with the logical blocks of data items to be updated at the time of creating a snapshot to be null addresses in a snapshot creation process of creating a snapshot holding the contents of said file at a specific point in time;
the step of creating a logical address tag block composed of the logical addresses for an L number of logical blocks accumulated in said writing buffer at the time of creating the snapshot and said null addresses;
the step of adding a time stamp for maintaining the temporal order of writing to the logical address tag block;
the step of adding said logical address tag block to a K−
1 number of blocks including said L number of logical blocks to form one stripe containing a K number of logical blocks and writing stripes consecutively in an empty area different from the area holding the data to be updated into said nonvolatile storage device; and
the step of recording said added time stamp as snapshot information. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
the step of causing a place in which said created snapshot is stored to appear to be a virtual storage device defined separately from said nonvolatile storage device;
the step of, when a reading request has been made to said virtual storage device, searching for a stripe which has been written at or before the time indicated by the time stamp recorded as said snapshot information and which is the last written stripe including the block at the logical address requested to be read; and
the step of reading the block from the searched stripe corresponding to the logical address to be requested and returning the read data as a response to the request.
-
-
12. A data sheltering method according to claim 11, further comprising:
-
the step of informing the operating system that said virtual storage device is removable, when being asked by the operating system about said virtual storage device; and
the step of returning a media uncertain response in access after snapshot change and reading data from said virtual storage device according to the time stamp in the snapshot to be changed.
-
-
13. A data sheltering method according to claim 11, further comprising:
-
the step of inquiring about a snapshot to be referred to at system start-up; and
the step of reading data from said virtual storage data on the basis of the time stamp in the snapshot selected according to the inquiry.
-
-
14. A data sheltering method according to claim 10, further comprising:
-
the step of causing a place in which said created snapshot is stored to appear to be a virtual storage device defined separately from said nonvolatile storage device;
the step of searching for a physical block which is a stripe that has been written at or before the time indicated by the time stamp recorded as said snapshot information and which corresponds to the last written stripe including the blocks of the individual logical addresses;
the step of creating a snapshot conversion map indicating the correspondence between said logical address and the physical block sensed in said search; and
the step of returning the physical block corresponding to the requested logical address as a response on the basis of said created snapshot conversion map, when a reading request has been made to said virtual storage device.
-
-
15. A data sheltering method according to claim 14, further comprising:
-
the step of informing the operating system that said virtual storage device is removable, when being asked by the operating system about said virtual storage device; and
the step of returning a media uncertain response in access after snapshot change and reading data from said virtual storage device according to the time stamp in the snapshot to be changed.
-
-
16. A data sheltering method according to claim 14, further comprising:
-
the step of inquiring about a snapshot to be referred to at system start-up; and
the step of reading data from said virtual storage data on the basis of the time stamp in the snapshot selected according to the inquiry.
-
-
17. A data sheltering method according to claim 10, further comprising:
-
the step of composing said snapshot information from an identifier for a parent snapshot and the time stamp for the stripe written after the identifier; and
the step of determining a target stripe while tracing the parent snapshot in said snapshot information, when referring to snapshots.
-
-
18. A data sheltering method according to claim 10, further comprising:
-
the step of composing the latest image information from an identifier for a parent snapshot and the time stamp for the stripe written after the identifier; and
the step of determining a target stripe while tracing the parent snapshot in said latest information, when reading the latest image.
-
-
19. A data sheltering method according to claim 18, further comprising:
-
the step of allocating the range of time stamps corresponding to the latest image beforehand and storing it as time stamp information; and
the step of finding, as the time stamp for the latest image information, those of the time stamps for the stripes written in said nonvolatile storage device and lying in the range of said time stamp information.
-
-
20. A data sheltering method according to claim 10, further comprising the step of accepting the deletion of said snapshot information or said latest image information.
-
21. A data sheltering method according to claim 20, further comprising the step of storing, as delete stamp information, the time stamps for the stripes prevented from being accessed as a result of deletion.
-
22. A data sheltering method according to claim 10, further comprising the step of composing said snapshot information from said time stamp and the block position in the stripe;
- and
the step of writing the logical blocks in said writing buffer onto the same stripe with the same time stamp as that in the preceding writing operation without clearing said writing buffer even after said snapshot has been created.
- and
-
23. A data sheltering method according to claim 10, further comprising the step of determining blocks referred to by neither the latest image nor snapshots to be invalid blocks and repacking more than one stripe into a new single stripe.
-
24. A data sheltering method according to claim 23, further comprising the step of recording the time stamp for the new stripe after said repacking as repacking information and including the stripe with the time stamp for said repacking information into stripes to be searched for.
-
25. A data sheltering method according to claim 23, further comprising the step of recording the identifier for said repacked stripe as the original stripe information for the new stripe after said repacking and using said original stripe information in referring to the snapshot.
-
26. A data sheltering method according to claim 23, further comprising the step of storing, as snapshot information, a bit map indicating the state of each logical block in the stripe and using the bit map in judging invalid blocks.
-
27. A data sheltering method according to claim 26, further comprising the step of storing, as snapshot information, only the bit maps for stripes containing many invalid blocks.
-
28. A data sheltering method according to claim 10, further comprising the step of adding the date and time of creation to said snapshot information and latest image information;
- and
the step of using said added date and time to identify a snapshot or latest image.
- and
-
29. A data sheltering method according to claim 10, further comprising the step of setting the size of said stripe at a stripe unit×
- the number of disks, when said nonvolatile storage device has a structure of RAID0.
-
30. A data sheltering method according to claim 10, further comprising the step of setting the size of said stripe at a stripe unit×
- (the number of disks−
1), when said nonvolatile storage device has a structure of one of RAID3, RAID4, or RAID5.
- (the number of disks−
Specification