CA2265592C - Producing a mirrored data copy (image) using reference labels - Google Patents

Producing a mirrored data copy (image) using reference labels Download PDF

Info

Publication number
CA2265592C
CA2265592C CA002265592A CA2265592A CA2265592C CA 2265592 C CA2265592 C CA 2265592C CA 002265592 A CA002265592 A CA 002265592A CA 2265592 A CA2265592 A CA 2265592A CA 2265592 C CA2265592 C CA 2265592C
Authority
CA
Canada
Prior art keywords
storage device
data
write requests
controller
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA002265592A
Other languages
French (fr)
Other versions
CA2265592A1 (en
Inventor
V. Martin J. Fitzgerald
Glenn A. Tremblay
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Marathon Technologies Corp
Original Assignee
Marathon Technologies Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Marathon Technologies Corp filed Critical Marathon Technologies Corp
Publication of CA2265592A1 publication Critical patent/CA2265592A1/en
Application granted granted Critical
Publication of CA2265592C publication Critical patent/CA2265592C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Abstract

A mirror set copy from a first storage device (10) and controller (70) to a second storage device (20) and a controller (85) is performed in a computer system (100) in which write requests (50) are each associated with a referen ce label. A mirror read request (60) is received at the first storage device, while write requests are received and processed at the first device and received at both. The first storage device then sends the data and label to the second, after which the second storage device writes the data. The secon d device processes write requests until it finds a request with the same reference label as that sent with the data.

Description

101520253035CA 02265592 1999-03-05W098/12642 PCT/US97/16206_ 1 -PROEKKHNGAKNHRROREDImND\COPY(UAAGE)USDfl3REFERENCELABELSBackground of the InventionThe invention is directed to techniques forproducing a mirrored copy of a disk drive or otherstorage device.a level of faulttolerance is provided by storing identical data on eachIn many computer systems,of multiple storage devices. Storage devices havingidentical data are referred to as mirrored devices andare said to belong to a mirror set. If one mirroreddevice in a mirror set fails or otherwise becomesinaccessible, the other mirrored device or devices in themirror set continue to provide access to the data.To maintain identical data on each device in amirror set, each device must receive and process everyrequest to store data on the mirror set (i.e., everywrite request). A device in a mirror set will divergefrom other devices in the mirror set if the device isunable to process such write requests. When members of amirror set become divergent, a mirror set copy must beperformed to copy data from one mirrored device toanother mirrored device. In one approach to performing amirror set copy, the computer system is shut down and alldata are copied from one mirrored device to the othermirrored device.Summary of the InventionIn one aspect, generally, the invention featuresperforming a mirror set copy from a first storage deviceto a second storage device in a computer system in whichwrite requests are each associated with a referencelabel.received at the first storage device,Write requests and a mirror read request areand the writerequests also are received at the second storage device.The write requests are processed at the first storage101520253035CA 02265592 1999-03-05W0 98/12642 PCTIUS97/16206_ 2 _device, and data is read from the first storage device inresponse to the mirror read request. The first storagedevice then sends the data to the second storage devicealong with information designating write requests thatthe second storage device is permitted to process.Thereafter, the second storage device writes the data andprocesses any write requests designated by theinformation provided by the first storage device as beingpermissible for the second storage device to process.Embodiments of the invention may include one ormore of the following features. The information sentwith the data to the second storage device may be areference label of a write request received at the firststorage device prior to sending the data to the secondstorage device. Thereafter, the second storage devicemay process write requests until the second storagedevice encounters a write request having the samereference label as that sent with the data.The reference label sent with the data to thesecond storage device may be associated with a writerequest that has been received and processed at the firststorage device prior to sending the data. In particular,the reference label may be associated with a writerequest that has been received and processed at the firststorage device prior to reading data from the firststorage device in response to the mirror read request.This approach permits the first storage device to performwrite requests or other mirror read requests immediatelyafter reading data in response to the mirror readrequest.Alternatively, the reference label sent with thedata may be associated with a write request that has beenreceived but not yet processed at the first storageWith this approach,the first storage device must be configured so that first device prior to sending the data.101520253035W0. 98/ 12642CA 02265592 1999-03-05PCT/US97l16206_3..storage device does not perform any other mirror readrequests until the first storage device processes thewrite request associated with the reference label sentwith the data.perform an additional mirror read request beforeIf the first storage device were toperforming the write request associated with thereference label sent with the data, there is some riskthat the second storage device could overwrite data fromthe write request with stale data from the additionalmirror read request.The mirror read request may be transmitted fromthe second storage device or from a central processor.The mirror read request also may be generated at thefirst storage device. A series of mirror read requestsmay together request the entire contents of the firststorage device.Each storage device must process write requests inthe same order. Write requests may be processed in anorder in which the write requests are received, and alsomay be processed in an order corresponding to theassociated reference labels. The write requests need notbe received in an order corresponding to the associatedreference labels. The reference labels may be, forexample, sequential or non—sequential numbers or text.the inventionIn another aspect, generally,features a mirrored data storage system. The systemincludes a first storage device, a second storage device,a first controller associated with the first storagedevice, and a second controller associated with thesecond storage device. The first controller isconfigured to receive write requests and a mirror readrequest, to process write requests by writing data to thefirst storage device, to read data from the first storagedevice in response to the mirror read request, and tosend the data to the second controller along with1015202530CA 02265592 1999-03-05W098/12642 PCT/US97/162064information designating write requests that the secondcontroller is permitted to process. The secondcontroller is configured to receive write requests, toreceive the data from the first controller, to write thedata to the second storage device, and to process anywrite requests designated by the information provided bythe first storage device as being permissible for thesecond controller to process.The information sent with the data to the secondstorage device may be a reference label associated with awrite request received by the first controller prior tosending the data. The second controller may beconfigured to process write requests by writing data tothe second storage device until a write requestassociated with the same reference label as that sentwith the data by the first controller is encountered.other features and advantages of the inventionwill be apparent from the following detailed description,including the drawings, and from the claims.Brief Description of the DrawingFig. 1 is a block diagram of a mirrored drivesystem.Figs. 2 and 3 are timing diagrams.Fig. 4 is a flow chart of a procedure forimplementing a mirror set copy.Description of the Preferred EmbodimentsFig. 1 shows a block diagram of a mirror set 100that includes two disk drives: a first disk 10 and asecond disk 20. One of the disks is designated as themaster disk and serves as the primary data storagedevice, while the other disk is designated as the slaveWhen both disksare active and contain the same data, master/slave statusdisk and serves as a redundant backup.1015202530CA 02265592 1999-03-05WO- 98/ 12642 PCT/U S97/ 162065In Fig. 1,the disk 10 has been designated as the master disk whilethe disk 20 has been designated as the slave disk.A first controller 30 is associated with the firstmay be assigned arbitrarily to the two disks.disk 10 and a second controller 40 is associated with the40 control thereading and writing of data on the disks.second disk 20. The controllers 30,A processor 45 sends write requests 50 to bothcontrollers simultaneously. Each write request containsdata.sequential reference number,In addition, a reference label, such as ais associated with eachwrite request. The controllers write the data from thewrite requests to their respective disks so that, undernormal conditions, both disks contain identical data.Each controller must process the write requests in thesame order. If the controllers process the writerequests in order of the reference labels, thecontrollers need not receive the write requests in thesame order.The processor 45 also sends read requests 55 tothe controllers. When both disks contain the same data,only the master disk responds to the read requests 55.When the master disk fails or becomes inaccessible, theslave disk is redesignated as the master disk andcontinues to provide data to the processor 45. Thus, ifthe disk 10 failed, then the disk 20 would become themaster disk.A disk in a mirror set 100 will contain divergentif the disk is unable toFordata from that of its peerprocess write requests for some period of time.example, if the slave disk were disabled for a period oftime, the data of the slave disk would differ from thedata of the master disk.a mirror set copy must be implementedWhen the disks in a mirror setbecome divergent,101520253035CA 02265592 1999-03-05WC5 98/12642 PCT/U S97/ 16206-5-to copy data from the disk having "good" data to the diskhaving divergent data.The following discussion assumes that the slavedisk 20 has previously failed and recovered, so that theslave disk 20 contains data that diverges from the "good"data on the master disk 10. The mirror set 100 performsa mirror set copy of the data from the master disk 10 tothe slave disk 20 while the master disk 10 continues toprocess write requests 50 and read requests 55.The slave controller 40 initiates a mirror setcopy by transmitting a mirror read request 60 to themaster controller 30. The master controller 30, in theillustrated embodiment, places the mirror read request 60in a queue 70 that also may contain write requests 50 andread requests 55. The master controller 30 thenprocesses entries in the queue 70 in the order in whichthe entries were placed in the queue.Upon reaching the mirror read request 60 in thequeue 70, the master controller 30 reads the dataidentified in the request and transmits the data to theslave controller 40 as a mirror write request 75. Themaster controller 30 includes with the mirror writerequest 75 the reference number (LW) associated with thelast write request 50 that the master controller 30processed before processing the mirror read request 60.Upon receiving the mirror write request 75, theslave controller 40 places the mirror write request 75 ina queue 80 that differs from a queue 85 that may containwrite requests 50 and read requests 55. The slavecontroller 40 then writes the data from the mirror writerequest 75 to the disk 20.Because the master controller 30 processes writerequests 50 while performing the mirror set copy, dataincluded in the mirror write request 75 may be changed bya subsequent write request 50. This could result in the1015202530CA 02265592 1999-03-05wo‘9s/12642 PCT/US97l16206_ 7 _recording of "stale" data on the slave disk 20. To avoidthis potential problem, the slave controller 40 alsoprocesses write requests 50 while performing the mirrorset copy, and does so in a way which ensures that datafrom a write request 50 will not be overwritten by"stale" data from a mirror write request 75.Fig. 2 provides a timing diagram for operation ofthe master controller 30 and the slave controller 40during a mirror set copy. The arrows at the top of thediagram indicate the times at which write requests 50 arereceived at the controllers, and the times at whichmirror read requests are received at the mastercontroller 30. The boxes indicate the periods duringwhich write requests, mirror read requests and mirrorwrite requests are processed by the controllers. Forease of illustration and discussion, the reference labelsassociated with the write requests are portrayed asconsecutive numbers that are received in order. Inactual applications, the reference labels need not beconsecutive or sequential. Nor do the reference labelsneed to be numbers.As shown in Fig. 2, the controllers receive writerequests 220 (W1) and 230 (W2) before the slavecontroller 40 generates a mirror read request 240 (MR1).Accordingly, the master controller 30, in the illustratedembodiment, processes the write requests W1 and W2 beforeprocessing the mirror read request MR1.As represented by the arrow 250, the mastercontroller 30 passes a mirror write request 260 (MW1) tothe slave controller 40 after performing the mirror readrequest MR1. The mirror write request MW1 includes themirror read data and the reference number 270 (LW) of thelast write request that the master controller 30processed before processing the mirror read request MR1.101520253035CA 02265592 1999-03-05W0 98/ 12642 PCTIU S97/ 16206-3-Since W2 was the last write request processed, the mirrorwrite request indicates that LW equals two.Upon receiving the mirror write request MW1, theslave controller 40 processes it. The slave controller40 then generates a second mirror read request 280 (MR2).Next, the slave controller 40 processes write requests W1and W2.number LW provided in the mirror write request, the slaveSince the write request W2 corresponds to thecontroller 40 stops processing and waits for the resultsof the mirror read request MR2.Continuing the mirror set copy, the master310The master controller 30 thencontroller 30 processes write requests 300 (W3),(W4), and 320 (W5).performs mirror read MR2. As represented by the arrow330, the master controller 30 then passes a mirror writerequest 340 (MW2) to the slave controller 40.write request MW2 includes the mirror read data and theThe mirrorreference number 350 of the last write request that themaster controller 30 processed before processing themirror read request MR2. Since W5 was the last writerequest processed, the mirror write request indicatesthat the reference number of the last write request 350(LW) equals five.Upon receiving the mirror write request MW2, theThe slave controllerNext,the slave controller 40 processes write requests W3, W4and W5.reference number LW provided in the mirror write request,slave controller 40 processes it.40 then generates a mirror read request 360 (MR3).Since the write request W5 corresponds to thethe slave controller 40 stops processing and waits forthe results of the mirror read request MR3. This processcontinues until the slave controller 40 has processedmirror write requests corresponding to the entirecontents of the master disk 10 (i.e., until the disks nolonger contain divergent data).101520253035CA 02265592 1999-03-05W0 98/12642 PCT/US97/ 16206_ 9 -3 shows a timing diagram for anotherThis embodiment functionsas described above, with the exception that the masterFig.embodiment of the invention.controller includes in the mirror write request thereference number of the last write request received (butnot necessarily processed) at the time that the mastercontroller is generating the mirror write request, ratherthan the last write request received and processed at thetime the master controller began processing the mirrorread request.As shown in Fig. 3, the controllers receive writerequests W1 and W2 before the slave controller 40generates a mirror read request MR1. Accordingly, themaster controller 30 processes the write requests W1 andW2 before processing the mirror read request MR1.As represented by the arrow 250, the mastercontroller 30 passes a mirror write request MW1 to theslave controller 40 after performing the mirror readrequest MR1. The mirror write request MW1 includes themirror read data and the reference number LW of the lastwrite request that the master controller 30 receivedbefore generating the mirror write request MW1. Since W3was the last write request received, the mirror writerequest indicates that LW equals three.Upon receiving the mirror write request MW1, theslave controller 40 processes it. The slave controller40 then generates a second mirror read request MR2.Next, the slave controller 40 processes write requestsW1, W2, and W3.to the number LW provided in the mirror write request,Since the write request W3 correspondsthe slave controller 40 stops processing and waits forthe results of the mirror read request MR2.Continuing the mirror set copy, the masterand W5.The master controller 30 then performs mirror read MR2.controller 30 processes write requests W3, W4,101520253035CA 02265592 1999-03-05W0 98/ 12642 PCT/U S97/ 16206_ 10 _As represented by the arrow 330, the master controller 30then passes a mirror write request MW2 to the slavecontroller 40. The mirror write request MW2 includes themirror read data and the reference number LW of the lastwrite request that the master controller 30 receivedbefore generating the mirror write request MW2. Sincewrite request 370 (W6) was the last write requestreceived, the mirror write request indicates that thereference number of the last write request LW equals six.Upon receiving the mirror write request MW2, theThe slave controllerNext, theslave controller 40 processes write requests W4, W5 andW6.reference number LW provided in the mirror write request,slave controller 40 processes it.40 then generates a mirror read request MR3.Since the write request W6 corresponds to thethe slave controller 40 stops processing and waits forthe results of the mirror read request MR3. This processcontinues until the slave controller 40 has processedmirror write requests corresponding to the entirecontents of the master disk 10 (i.e., until the disks nolonger contain divergent data).3 can be moreInThe embodiment illustrated in Fig.efficient than the embodiment illustrated in Fig. 2.particular, the embodiment of Fig. 3 is less likely toresult in periods in which the slave disk 20 is inactive.one such period is illustrated by the gap 400 in Fig. 2.However, the embodiment illustrated in Fig. 3 requiresthat the master controller refrain from processingadditionalcontrollermirror read requests until the masterhas processed the write request identified ina previousembodimentmirror write request. By contrast, theillustrated in Fig. 2 permits the mastercontroller to take any action, including processing anadditional mirror read request, immediately aftergenerating a mirror write request.101520253035CA 02265592 1999-03-05W0 98/ 12642 PCTlUS97/16206_ 11 _Referring to Fig. 4, the slave controller 40 canperform the mirror set copy according to a procedure 500.the slave controller 40 firstThecontroller can do this because any write requests in theTo begin a mirror set copy,purges its read/write request queue 85 (step 510).queue (i.e., any write requests received prior toinitiation of the mirror set copy) will have beenby the master controller 30 and will bein data included in mirror write requests.processedreflectedNext, the60 to thethe slaveslave controller 40 sends a mirror read requestmaster controller 30 (step 520). Thereafter,controller 40 waits for receipt of a mirrorwrite request 75 (step 530).Once the slave controller receives a mirror writerequest, the slave controller determines whether the datais the last block of data to be copied from the masterdisk 10 (step 540). If so,the mirror write data to the slave disk 20 (step 550) andthe slave controller writesthe mirror set copy is complete (step 560).If the data received from the master 10 is not thelast block of data to be copied from the master disk 10(step 540),read request 60 (step 570) and writes the data it hasthe slave controller 40 sends another mirrorjust received to the slave disk 20 (step 580).Next,the reference label of the next write request 50 in thethe slave controller 40 determines whetherqueue 85 corresponds to the write request (LW) identifiedby the master controller in the mirror write request(step 590). If not, then the slave controller 40processes another write request 50 from the queue 85(step 600) and checks the next write request 50 in thequeue 85 (step 590). The slave controller 40 continuesprocessing write requests 50 from the queue 85 until thereference label of a write request 50 corresponds to thereference label (LW) identified by the master controller1015CA 02265592 1999-03-05W0. 98/ 12642 PCT/US97/16206-12..in the mirror write request. At that point, the slavecontroller processes the write request 50 (step 610) andwaits for the next mirror write request (step 530).other embodiments are within the scope of thefollowing claims. Instead of receiving mirror readrequests from the slave controller, the master controllermay generate the mirror read requests. In addition,instead of sending a reference label with data inresponse to a mirror read request, the master controllermay send other information. if thereference labels correspond to times at which the writerequests are generated, the master controller may sendFor example,information corresponding to the time that the mirrorwrite request is generated or the time that processing ofthe mirror read request completes.

Claims (23)

What is claimed is:
1. A method of performing a mirror set copy from a first storage device to a second storage device in a computer system in which a reference label is associated with each write request, the method comprising:
receiving write requests at the first storage device, receiving write requests at the second storage device, processing write requests at the first storage device, reading data from the first storage device in response to a mirror read request, sending the data to the second storage device along with information designating at least one write request that the second storage device is permitted to process, writing the data to the second storage device, and processing at the second storage device any write requests designated by the information provided by the first storage device.
2. The method of claim 1, wherein the information sent with the data is associated with a reference label of a write request received at the first storage device prior to sending the data to the second storage device.
3. The method of claim 2, wherein the step of processing at the second storage device any write requests designated by the information provided by the first storage device comprises processing write requests until a write request associated with the reference label sent with the data is encountered.
4. The method of claim 3, wherein the step of processing at the second storage device any write requests designated by the information provided by the first storage device comprises processing write requests until a write request associated with the reference label sent with the data is encountered and processed.
5. The method of claim 2, wherein the reference label sent with the data is associated with a write request that has been received and processed at the first storage device prior to sending the data.
6. The method of claim 5, wherein the reference label sent with the data is associated with a write request that has been received and processed at the first storage device prior to the step of reading data from the first storage device in response to the mirror read request.
7. The method of claim 2, wherein the reference label sent with the data is associated with a write request that has been received but not yet processed at the first storage device prior to sending the data.
8. The method of claim 1, further comprising the step of generating the mirror read request at the first storage device.
9. The method of claim 1, further comprising the step of transmitting the mirror read request from the second storage device.
10. The method of claim 1, wherein the step of processing write requests at the first storage device comprises processing the write requests in an order in which the write requests are received and the step of processing write requests at the second storage device comprises processing the write requests in an order in which the write requests are received.
11. The method of claim 1, wherein the step of processing write requests at the first storage device comprises processing the write requests in an order corresponding to the associated reference labels and the step of processing write requests at the second storage device comprises processing the write requests in an order corresponding to the associated reference labels.
12. The method of claim 11, wherein the reference labels comprise numbers, the step of processing write requests at the first storage device comprises processing the write requests in order of numerical values of the associated reference labels, and the step of processing write requests at the second storage device comprises processing the write requests in order of numerical values of the associated reference labels.
13. A mirrored data storage system, comprising:
a first storage device;
a second storage device;
a first controller associated with the first storage device; and a second controller associated with the second storage device;
wherein:
the first controller is configured to:
receive write requests, process write requests by writing data to the first storage device, read data from the first storage device in response to a mirror read request, and send the data to the second controller along with information designating at least one write request that the second controller is permitted to process; and the second controller is configured to:
receive write requests, receive the data from the first controller, write the data to the second storage device, and process, after writing the data, any write requests designated by the information provided by the first storage device.
14. The system of claim 13, wherein the first controller is configured so that the information sent with the data is associated with a reference label of a write request received at the first storage device prior to sending the data to the second storage device.
15. The system of claim 14, wherein the second controller is configured to process write requests until a write request associated with the reference label sent with the data is encountered.
16. The system of claim 14, wherein the first controller is configured so that the reference label sent with the data is associated with a write request that has been received and processed by the first controller prior to sending the data.
17. The system of claim 16, wherein the first controller is configured so that the reference label sent with the data is associated with a write request that has been received and processed by the first controller before the first controller reads data from the first storage device in response to the mirror read request.
18. The system of claim 16, wherein the first controller is configured so that the reference label sent with the data is associated with a write request that the first controller has received but not yet processed prior to sending the data.
19. The system of claim 13, wherein the first controller is configured generate the mirror read request.
20. The system of claim 13, wherein the second controller is configured to transmit the mirror read request to the first controller.
21. The system of claim 13, wherein the first and second controllers are configured to process the write requests in an order in which the write requests are received.
22. The system of claim 13, wherein the first and second controllers are configured to process the write requests in an order corresponding to the associated reference labels.
23. The system of claim 22, wherein the reference labels comprise numbers and the first and second controllers are configured to process the write requests in order of numerical values of the associated reference labels.
CA002265592A 1996-09-17 1997-09-16 Producing a mirrored data copy (image) using reference labels Expired - Fee Related CA2265592C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/714,255 1996-09-17
US08/714,255 US5787485A (en) 1996-09-17 1996-09-17 Producing a mirrored copy using reference labels
PCT/US1997/016206 WO1998012642A1 (en) 1996-09-17 1997-09-16 Producing a mirrored data copy (image) using reference labels

Publications (2)

Publication Number Publication Date
CA2265592A1 CA2265592A1 (en) 1998-03-26
CA2265592C true CA2265592C (en) 2001-08-14

Family

ID=24869322

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002265592A Expired - Fee Related CA2265592C (en) 1996-09-17 1997-09-16 Producing a mirrored data copy (image) using reference labels

Country Status (7)

Country Link
US (1) US5787485A (en)
EP (1) EP1000397B1 (en)
JP (1) JP4264136B2 (en)
AU (1) AU725413B2 (en)
CA (1) CA2265592C (en)
DE (1) DE69730449T2 (en)
WO (1) WO1998012642A1 (en)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366988B1 (en) * 1997-07-18 2002-04-02 Storactive, Inc. Systems and methods for electronic data storage management
US6073220A (en) * 1997-09-03 2000-06-06 Duocor, Inc. Apparatus and method for providing a transparent disk drive back-up
US6085333A (en) * 1997-12-19 2000-07-04 Lsi Logic Corporation Method and apparatus for synchronization of code in redundant controllers in a swappable environment
US6058462A (en) * 1998-01-23 2000-05-02 International Business Machines Corporation Method and apparatus for enabling transfer of compressed data record tracks with CRC checking
US6360330B1 (en) * 1998-03-31 2002-03-19 Emc Corporation System and method for backing up data stored in multiple mirrors on a mass storage subsystem under control of a backup server
US6490596B1 (en) * 1999-11-09 2002-12-03 International Business Machines Corporation Method of transmitting streamlined data updates by selectively omitting unchanged data parts
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6691225B1 (en) 2000-04-14 2004-02-10 Stratus Technologies Bermuda Ltd. Method and apparatus for deterministically booting a computer system having redundant components
US6813686B1 (en) 2000-06-27 2004-11-02 Emc Corporation Method and apparatus for identifying logical volumes in multiple element computer storage domains
US6708265B1 (en) 2000-06-27 2004-03-16 Emc Corporation Method and apparatus for moving accesses to logical entities from one storage element to another storage element in a computer storage system
US6842784B1 (en) 2000-06-27 2005-01-11 Emc Corporation Use of global logical volume identifiers to access logical volumes stored among a plurality of storage elements in a computer storage system
US6760828B1 (en) 2000-06-27 2004-07-06 Emc Corporation Method and apparatus for using logical volume identifiers for tracking or identifying logical volume stored in the storage system
US7225191B1 (en) 2000-06-27 2007-05-29 Emc Corporation Method and apparatus for verifying storage access requests in a computer storage system with multiple storage elements
US6978324B1 (en) * 2000-06-27 2005-12-20 Emc Corporation Method and apparatus for controlling read and write accesses to a logical entity
US7065610B1 (en) 2000-06-27 2006-06-20 Emc Corporation Method and apparatus for maintaining inventory of logical volumes stored on storage elements
US6804819B1 (en) 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
US6977927B1 (en) 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US7386610B1 (en) 2000-09-18 2008-06-10 Hewlett-Packard Development Company, L.P. Internet protocol data mirroring
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US7149787B1 (en) * 2001-06-07 2006-12-12 Emc Corporation Apparatus and method for mirroring and restoring data
US7346135B1 (en) 2002-02-13 2008-03-18 Marvell International, Ltd. Compensation for residual frequency offset, phase noise and sampling phase offset in wireless networks
JP3993773B2 (en) 2002-02-20 2007-10-17 株式会社日立製作所 Storage subsystem, storage control device, and data copy method
US6728898B2 (en) * 2002-03-06 2004-04-27 Marathon Technologies Corporation Producing a mirrored copy using incremental-divergence
GB0206604D0 (en) * 2002-03-20 2002-05-01 Global Continuity Plc Improvements relating to overcoming data processing failures
JP2004013367A (en) * 2002-06-05 2004-01-15 Hitachi Ltd Data storage subsystem
US7263153B2 (en) * 2002-10-09 2007-08-28 Marvell International, Ltd. Clock offset compensator
US7319705B1 (en) 2002-10-22 2008-01-15 Marvell International Ltd. Programmable pre-emphasis circuit for serial ATA
JP4452438B2 (en) * 2002-11-11 2010-04-21 株式会社日立製作所 Storage system
US7386694B1 (en) * 2002-12-17 2008-06-10 Symantec Operating Corporation System and method for reading mirrored data
US7246192B1 (en) 2003-01-10 2007-07-17 Marvell International Ltd. Serial/parallel ATA controller and converter
US7194568B2 (en) * 2003-03-21 2007-03-20 Cisco Technology, Inc. System and method for dynamic mirror-bank addressing
US8930583B1 (en) 2003-09-18 2015-01-06 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for controlling data transfer in a serial-ATA system
US7203796B1 (en) 2003-10-24 2007-04-10 Network Appliance, Inc. Method and apparatus for synchronous data mirroring
US7200726B1 (en) * 2003-10-24 2007-04-03 Network Appliance, Inc. Method and apparatus for reducing network traffic during mass storage synchronization phase of synchronous data mirroring
US7596672B1 (en) 2003-10-24 2009-09-29 Network Appliance, Inc. Synchronous mirroring including writing image updates to a file
JP2005228170A (en) * 2004-02-16 2005-08-25 Hitachi Ltd Storage device system
JP4452557B2 (en) * 2004-05-27 2010-04-21 株式会社日立製作所 Remote copy with WORM guarantee
US7958292B2 (en) 2004-06-23 2011-06-07 Marvell World Trade Ltd. Disk drive system on chip with integrated buffer memory and support for host memory access
US7496787B2 (en) * 2004-12-27 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US20070028144A1 (en) * 2005-07-29 2007-02-01 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US20070038891A1 (en) * 2005-08-12 2007-02-15 Stratus Technologies Bermuda Ltd. Hardware checkpointing system
US20070081070A1 (en) * 2005-10-12 2007-04-12 Kuohua Wu Optical medium recording
WO2007050175A2 (en) * 2005-10-24 2007-05-03 The Toro Company Computer-operated landscape irrigation and lighting system
US20070180312A1 (en) * 2006-02-01 2007-08-02 Avaya Technology Llc Software duplication
US8453147B2 (en) * 2006-06-05 2013-05-28 Cisco Technology, Inc. Techniques for reducing thread overhead for systems with multiple multi-threaded processors
US8041929B2 (en) 2006-06-16 2011-10-18 Cisco Technology, Inc. Techniques for hardware-assisted multi-threaded processing
US8010966B2 (en) * 2006-09-27 2011-08-30 Cisco Technology, Inc. Multi-threaded processing using path locks
US8001307B1 (en) 2007-04-27 2011-08-16 Network Appliance, Inc. Apparatus and a method to eliminate deadlock in a bi-directionally mirrored data storage system
JP5838652B2 (en) * 2011-08-23 2016-01-06 富士通株式会社 Data copy processing system
US9251002B2 (en) 2013-01-15 2016-02-02 Stratus Technologies Bermuda Ltd. System and method for writing checkpointing data
WO2015102875A1 (en) 2013-12-30 2015-07-09 Stratus Technologies Bermuda Ltd. Checkpointing systems and methods of using data forwarding
EP3090345B1 (en) 2013-12-30 2017-11-08 Stratus Technologies Bermuda Ltd. Method of delaying checkpoints by inspecting network packets
JP6518672B2 (en) 2013-12-30 2019-05-22 ストラタス・テクノロジーズ・バミューダ・リミテッド Dynamic check pointing system and method
US10063567B2 (en) 2014-11-13 2018-08-28 Virtual Software Systems, Inc. System for cross-host, multi-thread session alignment
CN111858098B (en) * 2020-07-24 2023-11-17 成都成信高科信息技术有限公司 Data exchange method based on mass data

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0306244B1 (en) * 1987-09-04 1995-06-21 Digital Equipment Corporation Fault tolerant computer system with fault isolation
JPH039449A (en) * 1989-06-07 1991-01-17 Nec Corp Electronic disk subsystem
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5307481A (en) * 1990-02-28 1994-04-26 Hitachi, Ltd. Highly reliable online system
US5390313A (en) * 1990-09-24 1995-02-14 Emc Corporation Data storage system with data mirroring and reduced access time data retrieval
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5633999A (en) * 1990-11-07 1997-05-27 Nonstop Networks Limited Workstation-implemented data storage re-routing for server fault-tolerance on computer networks
US5487160A (en) * 1992-12-04 1996-01-23 At&T Global Information Solutions Company Concurrent image backup for disk storage system
US5446871A (en) * 1993-03-23 1995-08-29 International Business Machines Corporation Method and arrangement for multi-system remote data duplexing and recovery
KR0128271B1 (en) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 Remote data duplexing
JP2708386B2 (en) * 1994-03-18 1998-02-04 インターナショナル・ビジネス・マシーンズ・コーポレイション Method and apparatus for recovering duplicate database through simultaneous update and copy procedure
US5623595A (en) * 1994-09-26 1997-04-22 Oracle Corporation Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system
US5588110A (en) * 1995-05-23 1996-12-24 Symbios Logic Inc. Method for transferring data between two devices that insures data recovery in the event of a fault

Also Published As

Publication number Publication date
AU725413B2 (en) 2000-10-12
US5787485A (en) 1998-07-28
AU4345097A (en) 1998-04-14
EP1000397A4 (en) 2000-10-11
JP4264136B2 (en) 2009-05-13
EP1000397B1 (en) 2004-08-25
CA2265592A1 (en) 1998-03-26
JP2001501002A (en) 2001-01-23
EP1000397A1 (en) 2000-05-17
DE69730449T2 (en) 2005-09-15
DE69730449D1 (en) 2004-09-30
WO1998012642A1 (en) 1998-03-26

Similar Documents

Publication Publication Date Title
CA2265592C (en) Producing a mirrored data copy (image) using reference labels
US5895493A (en) Method and apparatus for storage of multiple host storage management information on a storage subsystem
US5533205A (en) Method and system for efficient bus allocation in a multimedia computer system
CN101421715B (en) Creating host-level application-consistent backups of virtual machines
CA2087162C (en) High-speed, high-capacity, fault-tolerant, error-correcting storage system for binary computers
EP1843249A3 (en) Storage controllers for asynchronous mirroring
JP3268555B2 (en) Data processor storage system with dynamic resynchronization of mirrored logical data volumes following storage system failure
CN100410944C (en) Method, system and computer program product for backing up and recovering a database
US5919266A (en) Apparatus and method for fault tolerant operation of a multiprocessor data processing system
JPH076099A (en) System and method for duplexing of remote data
KR970049731A (en) Apparatus and Method for Sharing Hot Spare Drives in Multiple Subsystems
CN100550894C (en) The N road is shared the efficient lock management of flash copy in the storage system
US6460123B1 (en) Mirroring computer data
CA2231872A1 (en) Controlling shared disk data in a duplexed computer unit
US6988174B1 (en) Method of creating a plurality of partitions on removable device
CN113434476B (en) Data synchronization method, device, equipment, system, storage medium and program product
US7941620B2 (en) Double-allocation data-replication system
EP0266586A2 (en) Decreasing response time to I/O request by duplicating data
EP0518311A2 (en) File store method, file access method, and distributed processing system using such methods
US5706512A (en) Computer program product for queuing and retrieving data objects to and from a shared storage medium
US20050216679A1 (en) Hard disk automatic hardware-based scheduled archiving
JP2793092B2 (en) Prescription issuing system
JPS61275944A (en) Data transfer processing system between auxiliary storage devices
US20070260816A1 (en) RAID management apparatus, RAID management method, and computer product
CN110515765A (en) A kind of license key acquisition methods and device, storage system

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed