Method of managing data snapshot images in a storage system

Abstract
This specification discloses a method of managing data snapshot images in a storage system. The method includes the steps of: establishing a section allocation system that includes at least a media extent; establishing a section allocation table and a block association set in the media extent, wherein the section allocation table has a field containing information pointing to the block association set and the block association set corresponds to a Source Volume as the basis for performing a snapshot backup thereof; establishing a block association table in the block association set, wherein the block association table is used to store cross-reference information in order to correspond to backup data with the original storage addresses; and copying the data before updating the data into the section association set, when the data in the Source-Volume need to be updated.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects and advantages of the invention will become apparent by reference to the following description and accompanying drawings which are given by way of illustration only, and thus are not limitative of the invention, and wherein:



FIG. 1A to FIG. 1C are the figures that show the prior art.



FIG. 2 is a block diagram showing the main structure according to an embodiment of the present invention.



FIG. 3 is a figure which shows that the SAS is a file-system-like structure according to an embodiment of the present invention.



FIGS. 4A to 4B are figures which show that an embodiment structure of the SAS according to the present invention.



FIGS. 5A to 5D are figures which show that an example of performing the PIT backup according to an embodiment of the present invention.



FIG. 6 is a flowchart, showing the steps of establishing the SAS according to an embodiment of the present invention.



FIG. 7 is a flowchart of an embodiment, showing the steps of extending the SAS according to an embodiment of the present invention.



FIG. 8 is a flowchart of an embodiment, showing the steps of establishing the BAS according an embodiment of the present invention.



FIGS. 9A to 9D are the flowcharts that show the steps of establishing a BAT according to different embodiments of the present invention.



FIG. 10 is a flowchart that shows the steps of setting a threshold for the used space according to an embodiment of the present invention.



FIG. 11A is a flowchart that shows the steps of performing a read instruction according to an embodiment of the present invention.



FIG. 11B is a flowchart that shows the steps of performing a read instruction according to an embodiment of the present invention.



FIG. 12 is a flowchart that shows the steps of performing a purge procedure according to an embodiment of the present invention.



FIG. 13 is a flowchart that shows the steps of performing a prune mechanism according to an embodiment of the present invention.



FIG. 14 is a flowchart that shows the steps of performing a rollback process according to an embodiment of the present invention.



FIG. 15A is a flowchart that shows the steps of performing a restore process according to an embodiment of the present invention.



FIG. 15B is a flowchart that shows the steps of performing a write instruction according to an embodiment of the present invention.



FIG. 16 is a block diagram of a first embodiment of an SVC 200 according to the present invention and the connection therefore to the host and the DASD array.



FIG. 17 is a block diagram of a first embodiment of an SVC 200 according to the present invention and the connection thereof to the host, a second SVC 800, and the DASD array.


Claims
  • 1. A storage virtualization computer system, comprising: a host unit for sending an I/O request;an external storage visualization controller (SVC) coupled to the host unit for executing an I/O operation in response to the I/O request; andat least one physical storage device (PSD) coupled to the SVC via a serial attached SCSI interconnect for providing data storage space to the storage virtualization computer system via the SVC;wherein the external SVC executes a snapshot function for storing the data state of at least one Source-Volume consisted of the PSD at a particular moment.
  • 2. The computer system according to claim 1, wherein the at least one PSD comprises a plurality of PSDs, and said PSDs comprise at least one first communication protocol PSD and at least one second communication protocol PSD, both of which are coupled to the SVC via the serial attached SCSI interconnect.
  • 3. The computer system according to claim 2, wherein said first communication protocol is a serial attached SCSI communication protocol, and said second communication protocol is a serial advanced technology attachment (SATA) communication protocol.
  • 4. The computer system according to claim 2, where said snapshot function is performed via a section allocation system (SAS).
  • 5. The computer system according to claim 4, wherein said Source-Volume is stored in said at least one first communication protocol PSD, and said SAS is stored in said at least one second communication protocol PSD.
  • 6. The computer system according to claim 5, wherein said first communication protocol is serial attached SCSI communication protocol, and said second communication protocol is SATA communication protocol.
  • 7. The computer system according to claim 5, wherein said PSDs are hard disks.
  • 8. The computer system according to claim 4, wherein said SAS comprises a section allocation table (SAT) and at least one block association set (BAS), and said BAS is a basis for performing a point-in-time backup (PIT backup).
  • 9. The computer system according to claim 8, wherein said SAT comprises: a first attribute block which records a SAS identification (SAS ID) and a media extent identification (media extent ID);a first folder table which records the information which points to each said BAS and information on the Source-Volume which is associated with each said BAS; anda metadata field which stores and manages metadata of the SAT.
  • 10. The computer system according to claim 9, wherein the SAT further comprises a first journal field which stores an operation journal for data recovery when the system is breakdown or is power failure.
  • 11. The computer system according to claim 8, where each said BAS comprises: a second attribute block which stores information on a BAS identification (BAS ID), BAS size, and BAS-related settings;a directory field which stores a block association table (BAT) level and an amount of established BAT;a second folder table which stores said BAT; anda data area which stores at least one Snapshot-Image.
  • 12. The computer system according to claim 11, wherein said BAS further comprises a second journal field which stores an operation journal for data recovery when said system is breakdown or is power failure.
  • 13. The computer system according to claim 1, wherein when receiving a first write request that writes first data into a first location in said Source-Volume, a copy-on-write procedure is performed to copy data originally stored in data blocks and its LBA, to a Snapshot-Image, and said first data are written into said Source-Volume.
  • 14. The computer system according to claim 13, wherein when receiving a second write request that is later than said first write request, and that writes second data into said first location in said Source-Volume, said second data are directly written into said first location in said Source-Volume without performing said copy-on-write procedure.
  • 15. The computer system according to claim 1, wherein the snapshot function is performed via a section allocation system (SAS), and said SAS comprises a section allocation table (SAT) and at least one block association set (BAS), and said BAS is a basis for performing a point-in-time backup (PIT backup), in which said SAT comprises a first attribute block which records a SAS identification (SAS ID) and a media extent identification (media extent ID);a first folder table which records the information which points to each said BAS and information on the Source-Volume which is associated with each said BAS; anda metadata field which stores and manages metadata of the SAT, and in which each said BAS comprises:a second attribute block which stores information on a BAS identification (BAS ID), BAS size, and BAS-related settings;a directory field which stores a block association table (BAT) level and an amount of established BAT;a second folder table which stores said BAT; anda data area which stores at least one Snapshot-Image.
  • 16. A method of managing data Snapshot-Images in a storage system, comprising the steps of: establishing a section allocation system (SAS) that comprises at least one media extent;establishing a section allocation table (SAT) and at least one block association set (BAS) in said media extent, wherein said SAT has a field containing information pointing to said BAS, and said BAS corresponds to a Source-Volume as the basis for performing a Snapshot backup thereof;establishing a BAT in said BAS, wherein said BAT is used to store cross-reference information in order to correspond to backup data with an original storage address; andwhen receiving a first write request that write data into a first location in said Source-Volume, a copy-on-write procedure is performed to copy data originally stored in data blocks and its LBA, to a Snapshot-Image, and said data are written into said Source-Volume.
  • 17. The method according to claim 16, wherein said storage system comprises at least one PSD, said at lease one PSD comprises a plurality of PSDs, and said PSDs comprise at least one first communication protocol PSD and at least one second communication protocol, both of which are coupled to the SVC via the serial attached SCSI interconnect.
  • 18. The method according to claim 17, wherein said first communication protocol is a serial attached SCSI communication protocol, and said second communication protocol is a serial advanced technology attachment (SATA) communication protocol.
  • 19. The method according to claim 17, wherein said Source-Volume is stored in said at least one first communication protocol PSD, and said SAS is stored in said at least one second communication protocol PSD.
  • 20. The method according to claim 19, wherein said first communication protocol is serial attached SCSI communication protocol, and said second communication protocol is SATA communication protocol.
  • 21. The method according to claim 19, wherein said PSDs are hard disks.
  • 22. The method according to claim 16, wherein said SAT comprises: a first attribute block which records a SAS identification (SAS ID) and a media extent identification (media extent ID);a first folder table which records the information which points to each said BAS and information on the Source-Volume which is associated with each said BAS; anda metadata field which stores and manages metadata of the SAT.
  • 23. The method according to claim 22, wherein the SAT further comprises a first journal field which stores an operation journal for data recovery when the system is breakdown or is power failure.
  • 24. The method according to 16, wherein each said BAS comprises: a second attribute block which stores information on a BAS identification (BAS ID), BAS size, and BAS-related settings;a directory field which stores a block association table (BAT) level and an amount of established BAT;a second folder table which stores said BAT; anda data area which stores at least one Snapshot-Image.
  • 25. The method according to claim 24, wherein said BAS further comprises a second journal field which stores an operation journal for data recovery when said system is breakdown or is power failure.
  • 26. The method according to claim 16, wherein when receiving a second write request that is later than said first write request, and that writes second data into said first location in said Source-Volume, said second data are directly written into said first location in said Source-Volume without performing said copy-on-write procedure.
  • 27. The method according to claim 16, further comprising a purge procedure for deleting said Snapshot-Images.
  • 28. The method according to claim 27, wherein the purge procedure comprises the steps of: checking setting of each said BAT;selecting a target to be deleted;merging relating Snapshot Images, if there exists a purge target; anddeleting said selected BATs and said relating Snapshot-Images.
  • 29. The method according to claim 28, further comprising the steps of: checking an available space is sufficient, and if not, then repeat aforesaid steps until said space is sufficient.
  • 30. The method according to claim 28, wherein if there is no appropriate target, then the corresponding event-handling policy is started.
  • 31. The method according to claim 30, wherein said event-handling policy comprises the step of: aborting creation of said BATs.
  • 32. The method according to claim 30, wherein said event-handling policy comprises the step of: failing an I/O.
  • 33. The method according to claim 28, wherein the setting comprises a priority or a storage life.
  • 34. The method according to claim 16, further comprising a prune mechanism for deleting said Snapshot-Images.
  • 35. The method according to claim 34, wherein the prune mechanism comprises the steps of: selecting an earliest BAT;checking a valid storage life of said selected BAT; anddeleting said selected BAT and its Snapshot-Images, if expired.
  • 36. The method according to claim 35, further comprising the steps of: selecting said BAT at next moment; repeating aforesaid step of checking a valid storage life of said selected BAT; and repeating aforesaid step of deleting said selected BAT and its Snapshot-Images, if expired until said selected BAT has said valid storage life.
Provisional Applications (1)
Number Date Country
60743174 Jan 2006 US