Flexible remote data mirroring
First Claim
1. A method for data mirroring, comprising the steps of mirroring data and performing a local-remote role reversal of mirroring units.
6 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and configured storage media are provided for flexible data mirroring. In particular, the invention provides local-remote role reversal, implementation of hot standby server status through a “media not ready” signal, several alternate buffer contents and buffering schemes, transactioning, many-to-one mirroring through use of “virtual” remote mirroring units, identification of frequently accessed data without application-specific knowledge but based instead on an application'"'"'s logged and analyzed behavior, and use of the secondary server in a non-authoritative manner.
-
Citations
44 Claims
-
1. A method for data mirroring, comprising the steps of mirroring data and performing a local-remote role reversal of mirroring units.
-
2. A computer storage medium configured to perform a method for data mirroring, the method comprising the steps of mirroring data and performing a local-remote role reversal of mirroring units.
-
3. A data mirroring system comprising at least two mirroring units, each mirroring unit configured by a means for performing a local-remote role reversal of the mirroring units in the system.
- 4. A method for data mirroring, comprising the steps of mirroring data and storing changed logical block numbers in a buffer rather than storing changed data in the buffer.
- 6. A computer storage medium configured to perform a method for data mirroring, the method comprising the steps of mirroring data and storing changed logical block numbers in a circular buffer rather than storing changed data in the circular buffer.
- 8. A mirroring unit comprising a buffer and a means for storing changed logical block numbers in the buffer rather than storing changed data in the buffer.
-
12. A method for placing a secondary server in a hot stand-by mode, comprising the steps of booting the secondary server and then providing to the secondary server, from a mirroring unit which is in a secondary role, a “
- media not ready”
signal whereby an emulation layer responds to requests from the secondary server as to size and availability of data, but denies the secondary server access to data content until the mirroring unit'"'"'s role is changed.
- media not ready”
-
14. A computer storage medium configured to perform a method for placing a secondary server in a hot stand-by mode, the method comprising the steps of receiving a query signal from the secondary server and then providing to the secondary server a responsive signal, whereby an emulation layer of a mirroring unit responds to requests from the secondary server by providing at least information about the size of mirroring unit data but denies the secondary server access to mirroring unit data content.
-
16. A mirroring unit comprising a data storage medium and an emulation layer, the emulation layer having a means for responding to requests from a secondary server by providing a characteristic of data stored in the storage medium and by denying the secondary server access to content of such data.
-
17. A method for data mirroring, comprising the steps of mirroring data, snooping a bus, and buffering at least one command obtained by the snooping step.
- 21. A computer storage medium configured to perform a method for data mirroring, the method comprising the steps of mirroring data, snooping a SCSI bus, and buffering at least one SCSI command obtained by the snooping step.
-
24. A data mirroring system comprising a SCSI bus, and at least one means for mirroring data, for snooping the SCSI bus, and for buffering a SCSI command obtained by snooping.
-
25. A method for data mirroring, comprising the steps of mirroring data and using a kernel wedge to provide transactional filesystem functionality.
-
26. A computer storage medium configured to perform a method for data mirroring, the method comprising the steps of mirroring data and using a kernel wedge to provide transactional filesystem functionality.
-
27. A data mirroring system comprising a source of data for mirroring, and a kernel wedge which provides transactional filesystem functionality during data mirroring.
-
29. A method for data mirroring, comprising the steps of reading a block of data from a local mirror, writing that block of data to a temporary storage as a new block, updating a logical block number entry in a queue, writing the new block to a collection of mirror data, and adding a new block logical block number entry to the queue.
-
30. A computer storage medium configured to perform a method for data mirroring, the method comprising the steps of reading a block of data from a local mirror, writing that block of data to a temporary storage as a new block, updating a logical block number entry in a data structure, writing the new block to a collection of mirror data, and adding a new block logical block number entry to the data structure.
-
31. A data mirroring system comprising at least one means for reading a block of data from a local mirror, for writing that block of data to a temporary storage as a new block, for updating a logical block number entry in a data structure, for writing the new block to a collection of mirror data, and for adding a new block logical block number entry to the data structure.
-
32. A method for data storage management, comprising the steps of reading data and providing a virtual remote mirroring unit.
- 33. A computer storage medium configured to perform a method for data storage management, the method comprising the steps of reading data and executing a plurality of virtual remote mirroring units on a single hardware platform.
-
34. A data mirroring system comprising at least two virtual remote mirroring units on a single hardware platform.
-
35. A method for data storage management, comprising the steps of reading data and identifying frequently accessed data elements without prior application-specific knowledge about the order and frequency of storage operations by an application.
-
36. A computer storage medium configured to perform a method for data storage management, the method comprising the steps of reading data and identifying frequently accessed data elements without application-specific knowledge about storage operations by an application.
-
37. An improved data storage management system, the improvement comprising a means for identifying frequently accessed data elements without application-specific knowledge.
-
39. A method for data storage management, comprising the steps of reading data and resyncing a non-authoritative secondary data volume from a primary data volume after utilizing the secondary data volume in place of the primary data volume.
-
40. A computer storage medium configured to perform a method for data storage management, the method comprising the steps of reading data and resyncing a non-authoritative secondary data volume from a primary data volume after utilizing the secondary data volume as the primary data volume.
-
41. An improved data storage management system, the improvement comprising software for resyncing a non-authoritative secondary data volume from a primary data volume after utilizing the secondary data volume as the primary data volume.
-
42. A method for data storage management, comprising the steps of reading data and maintaining an ordered queue of mirrored data elements and a current copy of mirrored data elements on the same physical storage system, whereby it is not necessary to write the same data element twice to the storage system to implement a physically partitioned system.
-
43. A computer storage medium configured to perform a method for data storage management, the method comprising the steps of reading data and maintaining an ordered queue of mirrored data elements and a current copy of mirrored data elements on the same physical storage system.
-
44. An improved data storage management system, the improvement comprising software for maintaining an ordered data structure of mirrored data elements and a current copy of mirrored data elements on the same physical storage system.
Specification