Home
Patent Search
IMT Blog
REGISTER
|
SIGN IN
United States Patent
5155845
Beal , ; et al.
October 13, 1992
Title
Data storage system for providing redundant copies of data on different disk drives
Abstract
A disk storage system that writes multiple copies of records directed to user-specified volumes. A plurality of spaced apart control units interconnected by direct data links and a corresponding plurality of sets of recording means communicate over the direct data links when a write request is received by one control unit to cause one volume in each set of recording means to write a copy of the received record.
Inventors:
Beal; David G.
(Longmont,
CO
)
, Eifert; Fred C.
(Louisville,
CO
)
, Ludlam; Henry S.
(Longmont,
CO
)
, Milligan; Charles A.
(Golden,
CO
)
, Rudeseal; George A.
(Boulder,
CO
)
, Swiatek; Paul R.
(Lafayette,
CO
)
Assignee:
Storage Technology Corporation
(Louisville,
CO
)
Appl. No.:
538911
Filed:
June 15, 1990
Current U.S. Class:
714/6
Field of Search:
371/10.1,9.1,11.1 364/245.3,268.5 395/575
U.S. Patent Documents
3581286
May 1971
Beausoleil
3725864
April 1973
Clark et al.
3964056
June 1976
Charpentier et al.
4342079
July 1982
Stewart et al.
4779189
October 1988
Legvold et al.
4837680
June 1989
Crockett et al.
4862411
August 1989
Dishon et al.
4897781
January 1990
Chang et al.
4897782
January 1990
Bennett et al.
4958273
September 1990
Anderson et al.
5051887
September 1991
Berger et al.
Foreign Patent Documents
0109981
Jun., 1984
EP
0239323
Sep., 1987
EP
0299511
Jan., 1989
EP
0303856
Feb., 1989
EP
0352028
Jan., 1990
EP
WO82/02784
Aug., 1982
WO
WO85/02926
Jul., 1985
WO
Other References
Dishon, Disk Dual Copy Methods and Their Performance, FTCS-18 Digest of Papers, Jun. 1988, Tokyo, Japan, pp. 314-319. .
Control System of Main Storage Device, Patent Abstracts of Japan, vol. 006, No. 206 (P-149) Oct. 19, 1982, JP 57 111,900. .
Frush, Graceful Degradation in a Multiple Data Path Environment, IBM Tech. Discl. Bulletin, vol. 16, No. 3, Aug. 1973, pp. 912-914..~
Primary Examiner:
Atkinson; Charles E.
Attorney, Agent or Firm:
Dorr, Cason, Sloan & Peterson
Claims
We claim:
1. In a data storage system adapted to be connected to a host computer, said system comprising:
a first independently operable data storage control,
a second independently operable data storage control,
a first recording means comprising a plurality of different recording elements connected to said first data storage control and a second recording means comprising a plurality of different recording elements connected to said second data storage control,
each of said data storage controls being operable independently of each other to effect the writing of a data record by a specified one of the plurality of recording elements to which each said data storage control is connected,
a data link transmission path interconnecting said first and second data storage controls,
means in said first data storage control for receiving a command from said host computer requesting that an accompanying data record for each subsequent data record write request directed to a first recording element of said first recording means be written by said first recording element of said first recording means as well as by a first recording element of said second recording means,
means in said first data storage control for receiving from said host computer a write request and an accompanying data record requesting that said accompanying data record be written by a specified recording element of said first recording means,
means unique to said first data storage control and operable independently of said second data storage control and responsive to the reception of said write request and accompanying data record for effecting the writing of said data record by said specified recording element of said first recording means,
means in said first data storage control further responsive to the receipt of said write request and said accompanying data record when said specified recording element of said first recording means comprises said first recording element of said first recording means for transmitting said write request and said accompanying data record over said data link transmission path to said second data storage control, and
means unique to said second data storage control and operable independently of said first data storage control and responsive to the receipt of said write request and said accompanying data record over said data link transmission path for effecting the writing of said data record by said first recording element of said second recording means.
2. The system of claim 1 wherein said data link transmission path comprises a direct connection between said first an second data storage controls that is devoid of switching means.
3. The system of claim 1 in combination with:
a third data storage control connected to a third recording means comprising a plurality of different recording elements,
a second data link transmission path connecting said second data storage control with said third data storage control,
means in said second data storage control responsive to the receipt of said write request and said accompanying data record for transmitting said write request and said accompanying data record over said second data link transmission path to said third data storage control, and
means unique to said third data storage control and operable independently of said first data storage control and said second data storage control and responsive to the reception of said write request and accompanying data record over said second data link transmission path for effecting the writing of said data record by a first recording element of said third recording means.
4. The system of claim 1 wherein each of said data storage controls contains a cache memory,
means in each data storage control responsive to the receipt of said data record by said each data storage control for entering said received data record into the cache memory of said each data storage control,
means for returning a command complete signal to said host computer from said first data storage control when said data record is entered into said cache memory of each data storage control, and
wherein said means for effecting the writing of said data record comprises means for applying said data record in each cache memory to the recording means connected to the data storage control containing said each cache memory to control the writing of said data record by said first recording element of said recording means of each data storage control.
5. The system of claim 1 wherein a command complete signal is returned by said first data storage control to said host computer after said data record is written by said first recording element of said recording means of each data storage control.
6. The system of claim 1 wherein said means in said first data storage control for receiving said write request and accompanying data record comprises a first path extending from said host computer to said first data storage control for the reception of information including write requests and accompanying data records from said host computer; said system further comprising:
a second path extending from said host computer to said second data storage control for the transmission of information including write requests and accompanying data records from said host computer to said second data storage control,
said second data storage control being responsive to the receipt of said write requests and accompanying data records over said second path to effect the writing by said first recording element of said second recording means of said data records received over said second path.
7. The system of claim 6 wherein said data link transmission path comprises a direct connection between said first and second data storage controls that is devoid of switching means.
8. The system of claim 6 in combination with:
means in second data storage control further responsive to said receipt of said write requests and accompanying data records received over said second path for transmitting said write requests and accompanying data records over said data link transmission path to said first data storage control, and
means in said first data storage control responsive to said receipt of said write requests and accompanying data records over said data link transmission path to effect the writing by said first recording element of said first recording means of said records received by said first data storage control over said data link transmission path.
9. The system of claim 8 wherein said data link transmission path comprises a direct connection between said first and second data storage controls that is devoid of switching means.
10. The system of claim 8 wherein each of said data storage controls contains a cache memory,
means in each data storage control responsive to the receipt of a write request and accompanying data record over said path connected to said data storage control for entering said received data record into the cache memory of said data storage control that received said write request and data record over said path,
means for returning a command complete to said host computer from the data storage control that received said write request and data record from said host computer when said data record is entered into said cache memory of each data storage control, and
wherein said means for effecting the writing of said data record comprises means for applying said data record in each cache memory to the recording means connected to the data storage control containing said each cache memory to control the writing of said data record by said first recording element of said recording means.
11. The system of claim 9 wherein a command complete signal is returned to said host computer by a data storage control that receives a data record from said host computer after said data record is written by each of said first recording elements of said recording means.
12. In a data storage system adapted to be connected to a host computer, said system comprising:
a first independently operable data storage control,
a second independently operable data storage control,
a first group of disk drives connected to said first data storage control and a second group of disk drives connected to said second data storage control,
each of said data storage controls being operable independently of each other to effect the writing of a data record by a specified one of the disk drives to which said each data storage control is connected,
a data link transmission path interconnecting said data storage controls,
means in said first data storage control for receiving data record write requests from said host computer,
means unique to said first data storage control and operable independently of said second data storage control and responsive to the reception of a data record write request and an accompanying data record for effecting the writing of said received data record by said first group of disk drives,
means in said first data storage control for receiving a command sequence from said host computer requesting that multiple record copies be written for subsequently received record write request directed to a specified one of said disk drives of said first group of disk drives,
means in said first data storage control responsive to the subsequent receipt of a record write request and an accompanying data record directed to said specified one disk drive for transmitting said received record accompanying said write request over said data link transmission path to said second data storage control,
means unique to said first data storage control and operable independently of said second data storage control and further responsive to said subsequent receipt of said record write request for effecting the writing of said accompanying record by said specified one disk drive of said first group, and
means unique to said second data storage control and operable independently of said first data storage control and responsive to the reception of said record over said data link transmission path for effecting the writing of said record by a disk drive of said second group.
13. The system of claim 12 wherein said data link transmission path comprises a direct connection between said data storage controls that is devoid of switching means.
14. The system of claim 12 in combination with:
a third data storage control connected to a third group of disk drives,
a second data link transmission path connecting said second data storage control with said third data storage control,
means in said second data storage control responsive to the receipt of said record for transmitting said record over said second data link transmission path to said third data storage control, and
means unique to said third data storage control and operable independently of said first data storage control and said second data storage control and responsive to the receipt of said record over said second data link transmission path for effecting the writing of said record by a disk drive of said third group of disk drives.
15. The system of claim 12 wherein each of said data storage controls contains a cache memory,
means in each data storage control responsive to the receipt of a record by said each data storage control for entering said each received record into the cache memory of said each data storage control,
means for returning a command complete signal to said host computer from said first data storage control when a record received by each data storage control is entered into said cache memory of said each data storage control, and
wherein said means for effecting the writing of said record comprises means for applying said record in each cache memory to a disk drive connected to the data storage control containing said each cache memory to control the writing of said record by said disk drive.
16. The system of claim 12 wherein a command complete signal is returned to said host computer by said first data storage control after said record is written by a disk drive of each of said groups.
17. The system of claim 12 wherein said means in said first data storage control for receiving said record comprises a first path extending from said host computer to said first data storage control for the reception of information including data records from said host computer; said system further comprising:
a second path extending from said host computer to said second data storage control for the transmission of information including data records to said second data storage control,
means in said second data storage control for receiving a data record write request over said second path from said host computer,
means in said second data storage control responsive to the receipt of each received data record write request and an accompanying data record for effecting the writing of said accompanying data record by said second group of disk drives,
means in said second data storage control for receiving a command sequence from said host computer requesting that multiple record copies be written for subsequently received data record write request directed to a specified one of said disk drives of said second group of disk drives,
means in said second data storage control responsive to the subsequent receipt of a data record write request and accompanying data record directed to said specified one disk drive of said second group for transmitting said received record over said data link transmission path to said first data storage control,
means unique to said second data storage control and operable independently of said first data storage control and further responsive to said subsequent receipt of said record write request and accompanying data record for effecting the writing of said received record by said specified one disk drive of said second group, and
means unique to said first data storage control and operable independently of said second data storage control and responsive to the receipt of said record over said data link transmission path for effecting the writing of said record by a disk drive of said first group of disk drives.
18. The system of claim 17 wherein each of said data storage controls contains a cache memory,
means in each data storage control responsive to the receipt of a record by said each data storage control for entering said received record into the cache memory of said each data storage control,
means for returning a command complete signal to said host computer from said data storage control that receives a record from said host computer when said record is entered into said cache memory of each data storage control, and
wherein said means for effecting a writing of each record comprises means for applying a record in each cache memory to a disk drive connected to the data storage control containing said each cache memory to control the writing of said record by said disk drive.
19. In a data storage system adapted to be connected over channel interface paths to a first and a second host computer for the writing of multiple copies of records received by said system over any of said paths from either of said host computers, said system comprising:
a first and a second data storage control connected via separate ones of said channel interface paths to each of said host computers,
a first group of disk drives connected to said first data storage control and a second group of disk drives connected to said second data storage control,
a direct data link transmission path devoid of switching means interconnecting said data storage controls,
means in each of said data storage controls for receiving a data record from either of said host computers over said paths,
means unique to each data storage control and operable independently of the other data storage control and responsive to the reception of a data record over one of said paths for effecting the writing of said record by a disk drive of the group to which said each data storage control receiving said record is connected,
means in said each data storage control responsive to the receipt of said record over one of said paths for transmitting said record over said data link transmission path to the other one of said data storage controls, and
means unique to said other data storage control and operable independently of the other data storage control and responsive to the reception of said record over said data link transmission path for effecting the writing of said record by a disk drive of the group to which said other data storage control is connected.
20. The system of claim 19 wherein each of said data storage controls contains a cache memory,
means in each data storage control responsive to the receipt of said record over an interface path for entering said received record into the cache memory of each of said data storage controls,
means for returning a command complete signal to said host computer from the data storage control that receives a record over an interface path when said received record is entered into said cache memory of each of said data storage controls, and
wherein said means for effecting the writing of said received record comprises means for applying said record in each cache memory to a disk drive connected to the data storage control containing said each cache memory to control the writing of said record by said disk drive of each data storage control.
21. The system of claim 19 wherein a command complete signal is returned by said first data storage control to said host computer after said record is written by a drive in each of said groups of disk drives.
22. In a data storage system adapted to be connected over channel interface paths to a first and a second host computer for the writing of multiple copies of records received by said system over any of said paths from either of said host computers, said system comprising:
m independently operable data storage controls connected via separate ones of said channel interface paths to each of said host computers,
m groups of disk drives each group of which is individual to and connected to a different one of said data storage controls,
a plurality of direct data link transmission paths devoid of switching means interconnecting said data storage controls wherein each data link transmission path interconnects a unique pair of said data storage controls and wherein each of said data storage controls is connected by one of said data link transmission paths to another one of said data storage controls,
means in each of said data storage controls for receiving a data record over one of said paths from either of said host computers,
means in each data storage control responsive to the receipt of a data record over one of said paths for effecting the writing of said record by a disk drive of the group to which said each data storage control receiving said record is connected,
means in said each data storage control responsive to the receipt of said record over one of said paths for transmitting said record over the one of said data link transmission paths connected to said each data storage control to the other one of said data storage controls that is connected to said last named data link transmission path,
means in said other data storage control responsive to the receipt of said record over said data link transmission path for effecting the writing of said record received over said data link transmission path by a disk drive of the group to which said other one data storage control is connected, and
means in said other data storage control for extending said received record over another one of said data link transmission paths to which said other data storage control is connected to another one of said data storage controls for the writing of said record by a disk drive of the group to which said last named data storage control is connected.
23. In a data storage system adapted to be connected over channel interface paths to a first and a second host computer for the writing of multiple copies of records received by said system over any of said paths from either of said host computers, said system comprising:
m data storage controls connected via separate ones of said channel interface paths to each of said host computers,
m groups of disk drives each group of which is individual to and connected to a different one of said data storage controls,
a plurality of direct data link transmission paths devoid of switching means interconnecting said data storage controls wherein each data link transmission path interconnects a unique pair of said data storage controls and wherein each of said data storage controls is connected over one of said links to another one of said data storage controls,
means in each data storage control for receiving channel program command sequences from one of said host computers over one of said interface paths with each sequence requesting the control of functions by said each data storage control,
means in said each data storage control responsive to the receipt of each program command sequence comprising a record write request and an accompanying record for effecting the writing of a said accompanying record by a disk drive of the group connected to said each data storage control,
means in said each data storage control for receiving a command sequence over an interface path from said host computer requesting multiple copy service for a subsequently received write request and accompanying record directed to a specified one of said disk drives of said group connected to said each data storage control, wherein said last named command sequence also specifies a disk drive in each of said n groups that is to be used to write multiple copies of a received record for a subsequently received write request directed to said specified one drive of said group connected to said each data storage control,
means in said each data storage control responsive to the subsequent receipt of a command sequence comprising a record write request and an accompanying record directed to said specified one drive of said group connected to said each data storage control for transmitting said accompanying record over a data link transmission path to a data storage control connected by said link to said each data storage control,
means in said each data storage control further responsive to the receipt of said subsequently received record write request and said accompanying record directed to said specified one disk drive of said group connected to said each data storage control for effecting the writing of said received record by said specified one disk drive of said group connected to said each data storage control,
means in said data storage control connected by said link to said each data storage control responsive to the receipt of said record over said data link transmission path for effecting the writing of said record by said specified disk drive to which said last named data storage control is connected, and
means in said data storage control connected by said link to said each data storage control responsive to the receipt of said record over said data link transmission path for extending said received record over another one of said data link transmission paths to another one of said data storage controls for both controlling the writing of said record on a specified disk drive connected to said other data storage control and for further extending said record over a data link transmission path to another data storage control so that each other of said data storage controls receives said record over a data link transmission path and controls the writing of said record on a disk drive connected to said each other data storage control.
24. In a data storage system adapted to be connected to a host computer, said system comprising:
m data storage controls,
m disk drives each of which is connected to a different one of said data storage controls,
a plurality of data link transmission paths each of which interconnects a different pair of said data storage controls,
means in a first one of said data storage controls for receiving a data record from said host computer,
means unique to said first data storage control and operable independently of each other data storage control and responsive to the reception of said record for effecting the writing of said record by a first disk drive connected to said first data storage control,
means in said first data storage control further responsive to the receipt of said record for transmitting said record over a data link transmission path interconnecting said first data storage control and a second data storage control,
means unique to said second data storage control and operable independently of each other data storage control and responsive to the reception of said record over said data link transmission path for effecting the writing of said record by a second disk drive connected to said second data storage control, and
means in said second data storage control further responsive to said receipt of said record for extending said record over a data link transmission path to another one of said data storage controls so that each other one of said data storage controls receives said record and controls the writing of said record by a disk drive connected to each other one of said data storage controls.
25. In a data storage system adapted to be connected to a host computer, said system comprising:
a first and a second data storage control,
a first group of disk drives connected to said first data storage control and a second group of disk drives connected to said second data storage control,
a data link transmission path interconnecting said first data storage control and said second data storage control, said data link transmission path comprising a direct path devoid of a switching node,
a channel interface path interconnecting said host computer and said first data storage control,
means in said first data storage control for receiving channel program command sequences over said interface path requesting the control of functions by said first data storage control including the writing of data records by said first group of disk drives,
means unique to said first data storage control and operable independently of said second data storage control and responsive to the receipt of each program command sequence comprising a record write request and an accompanying record for effecting the writing of a said accompanying record by a disk drive of said first group as specified by said received write request,
means in said first data storage control for receiving a command sequence from said host computer requesting multiple copy service for a subsequently received write request directed to a specified one of said disk drives of said first group, wherein said last named command sequence specifies a disk drive of each of said first and second groups that is to be used to write said multiple copies of an accompanying record for each subsequently received write request directed to said specified one drive of said first group,
means in said first data storage control responsive to the subsequent receipt of a command sequence comprising a record write request and an accompanying record directed to said specified one drive of said first group for transmitting said accompanying record over said data link transmission path to said second data storage control,
means unique to said first data storage control operable independently of said second data storage control and further responsive to the receipt of said subsequently received record write request and an accompanying record directed to said specified one disk drive of said first group for effecting the writing of said received record by said specified one disk drive of said first group, and
means unique to said second data storage control and operable independently of said first data storage control and responsive to the receipt of said record over said data link transmission path for effecting the writing of said record by said specified disk drive of said second group.
26. The system of claim 25 wherein said channel program command sequence comprises:
commands arranged according to a predetermined channel program command format with at least some of said commands having a parameter list associated therewith and at least one of said commands having an information block associated therewith,
said parameter lists and said information block being adapted to contain data arranged into either a first or a second data format,
said parameter list and said information block being in a first format when a received channel program command sequence comprises a request for the subsequent provision of multiple copy service for records subsequently written to said specified one disk drive of said first group of disk drives,
said parameter list being in a second format when a received command sequence comprises a record write request.
27. The system of claim 26 wherein said system further comprises;
a third data storage control connected to a third group of disk drives and wherein said command sequence requesting multiple copy service further specifies a drive of said third group of disk drives, said system further comprising;
a second data link transmission path connecting said second data storage control with said third data storage control,
means in said second data storage control responsive to the receipt of said record over said data link transmission path from said first data storage control for transmitting said record over said second data link transmission path to said third data storage control, and
means in said third data storage control and operable independently of said first and second data storage control and responsive to the receipt of said record for effecting the writing of said record by said specified disk drive of said third group.
28. The system of claim 26 wherein said system further comprises:
a cache memory in each of said data storage controls,
means in each data storage control responsive to the receipt of a record by said each data storage control for entering said received record into the cache memory of said each data storage control,
means for returning a command complete signal said to said host computer from said first data storage control when each record received by each data storage control is entered into said cache memory of said each data storage control, and
wherein said means for effecting the writing of each of said records comprises means for applying each record in a cache memory to a disk drive connected to the data storage control containing said cache memory.
29. The system of claim 26 wherein a command complete signal is returned by said first data storage control to said host computer after said record is written by each of said disk drives.
30. The system of claim 26 wherein said system further comprises:
a second channel interface path extending from said host computer to said second data storage control for the transmission of channel program command sequences to said second data storage control,
means in said second data storage control for receiving channel program command sequences over said interface path requesting the control of functions by said second data storage control including the writing of data records by said second group of disk drives,
means in said second data storage control responsive to the receipt of each program command sequence comprising a record write request for effecting the writing of a record accompanying said request by a disk drive of said second group as specified by said received write request,
means in said second data storage control for receiving a command sequence from said host computer requesting multiple copy service for subsequently received record write requests directed to a specified one of said disk drives of said second group, wherein said last named command sequence specifies a disk drive of each of said first and second groups that is to be used to write said multiple copies of records for subsequently received write requests to said specified one disk drive of said second group,
means in said second data storage control responsive to the subsequent receipt of a command sequence comprising a record write request directed to said specified one disk drive of aid second group for transmitting said record over said data link transmission path to said first data storage control,
means in said second data storage control further responsive to the receipt of said subsequently received record write request to said specified one disk drive of said second group for effecting the writing of said record by said specified one disk drive of said second group, and
means in said first data storage control responsive to the receipt of said record over said data link transmission path from said second data storage control for effecting the writing of said record by said specified disk drive of said first group.
31. In a data storage system adapted to be connected over channel interface paths to a first and a second host computer for the writing of duplicate copies of record received by said system over any of said paths from either of said host computers, said system comprising:
a first and a second data storage control connected via separate ones of said channel interface paths to each of said host computers,
a first group of disk drives connected to said first data storage control and a second group of disk drives connected to said second data storage control,
a direct data link transmission path interconnecting said data storage controls,
means in each of said data storage controls for receiving data record write requests from either of said host computers over said paths,
means in each data storage control and operable independently of the other storage control and responsive to the receipt of each data record write request over one of said paths for effecting the writing of a data record accompanying said request by a disk drive to which said each data storage control is connected,
means in each of said data storage controls for receiving a request from said host computer for the provision of multiple copy service upon the subsequent receipt of a record write request directed to a specified one disk drive of said group connected to said each data storage control,
means in each of said data storage controls operable independently of the other data storage control and responsive to the subsequent receipt of a write request directed to said specified one disk drive for controlling the writing of a data record accompanying said request by the specified one disk drive connected to said each data storage control and for transmitting said record over said data link transmission path to the other one of said data storage controls, and
means in said other data storage control responsive to the receipt of said record over said data link transmission path for effecting the writing of said record by a specified one of said disk drive to which said other one data storage control is connected.
32. A method of operating a data storage system adapted to be connected to a host computer, said system comprising:
a first independently operable data storage control,
a second independently operable data storage control,
a first recording means comprising a plurality of different recording elements connected to said first data storage control and a second recording means comprising a plurality of different recording elements connected to said second data storage control, and
each of said data storage controls being operable independently of each other to effect the writing of a data record by a specified one of the plurality of recording elements to which each said data storage control is connected,
a data link transmission path interconnecting said first and second data storage controls,
said method comprising the steps of:
operating said first data storage control for receiving a command from said host computer requesting that an accompanying data record for each subsequent data record write request directed to a first recording element of said first recording means be written by said first recording element of said first recording means and by a first recording element of said second recording means,
operating said first data storage control for receiving from said host computer a write request and an accompanying data record requesting that said accompanying data record be written by a specified recording element of said first recording means,
operating said first data storage control independently of said second data storage control and in response to the receipt of said write request and accompanying data record for effecting the writing of said data record by said specified recording element of said first recording means,
operating said first data storage control in further response to the receipt of said write request and said accompanying data record when said specified recording element of said first recording means comprises said first recording element of said first recording means for transmitting said write request and said accompanying data record over said data link transmission path to said second data storage control, and
operating said second data storage control independently of said first data storage control and in response to the receipt of said write request and accompanying data record over said data link transmission path for effecting the writing of said data record by said first recording element of said second recording means.
33. The method of claim 32 wherein said data link transmission path comprises a direct connection between said first and second data storage controls that is devoid of switching means.
34. The method of claim 32 in combination with the additional steps of:
operating said second data storage control in response to the receipt of said write request and accompanying data record over said data link transmission path for transmitting said write request and accompanying data record over a second data link transmission path to a third data storage control, and
operating said third data storage control independently of said first and second data storage control and in response to the receipt of said write request and accompanying data record over said second data link transmission path for effecting the writing of said data record by a first recording element of a third recording means connected to said third data storage control.
35. The method of claim 32 wherein said method further includes the steps of:
operating each data storage control in response to the receipt of said write request and accompanying data record by said each data storage control for entering said received data record into a cache memory of said each data storage control,
returning a command complete signal to said host computer from said first data storage control when said data record is entered into said cache memory of said each data storage control, and
wherein said step of effecting the writing of said data record comprises the step of applying said data record in each cache memory to the recording means connected to the data storage control containing said each cache memory to control the writing of said record by said first recording element of said recording means of said each data storage control.
36. The method of claim 32 wherein a command complete signal is returned by said first data storage control to said host computer after said record is written by said first recording element of each of said recording means.
37. The method of claim 32 wherein said first data storage control receives said write request and accompanying data record over a first path extending from said host computer to said first data storage control; said method further comprises the steps of:
transmitting information including write requests and accompanying data records from said host computer to said second data storage control over a second path extending from said host computer to said second data storage control, and
operating said second data storage control independently of said first data storage control in response to the receipt of write requests and accompanying data records over said second path to effect the writing by said first recording element of said second recording means of said data records received over said second path.
38. The method of claim 37 wherein said data link transmission path comprises a direct connection between said first and second data storage controls that is devoid of switching means.
39. The method of claim 37 in combination with the steps of:
further operating second data storage control in response to said receipt of said write requests and accompanying data records received over said second path for transmitting said write requests and accompanying data records over said data link transmission path to said first data storage control, and
operating said first data storage control independently of said second data storage control and in response to said receipt of said data records over said data link transmission path to effect the writing by said first recording element of said first recording means of said records received by said first data storage control over said data link transmission path.
40. The method of claim 39 wherein said data link transmission path comprises a direct connection between said first and second data storage controls that is devoid of switching means.
41. The method of claim 39 wherein said method further comprises the steps of:
operating each data storage control in response to the receipt over said path connected to said data storage control of a write request and accompanying data record for entering said data record into a cache memory of said data storage control that received said data record over said path,
returning a command complete to said host computer from the data storage control that received said data record from said host computer when said record is entered into said cache memory of each data storage control, and
wherein said step of effecting the writing of said data record comprises the step of applying said data record in each cache memory to the recording means connected to the data storage control containing said each cache memory to control the writing of said record by said recording means.
42. The method of claim 39 wherein said method further includes the step of:
returning a command complete signal to said host computer from a data storage control that receives a data record from said host computer after said record is written by each of said recording elements of each of said recording means.
43. A method of operating a data storage system adapted to be connected to a host computer, said system including a first independently operable data storage control and a second independently operable data storage control, said method comprising the steps of:
operating said first data storage control independently of said second data storage control and in response to the receipt from said host computer of a received data record write request and an accompanying data record for effecting the writing of said accompanying data record by a first group of disk drives connected to said first data storage control,
operating said first data storage control for receiving a command sequence from said host computer requesting that multiple record copies be written for subsequently received record write request directed to a specified one of said disk drives of said first group,
operating said first data storage control in response to the subsequent receipt of a record write request and an accompanying data record directed to said specified one disk drive for transmitting said received record associated with said request over a data link transmission path to said second data storage control,
further operating said first data storage control independently of said second data storage control and in response to said subsequent receipt of a record write request directed to said specified one disk drive of said first group for effecting the writing of said received record by said specified one disk drive of said first group of disk drives, and
operating said second data storage control independently of said first data storage control and in response to the receipt of said record over said data link transmission path for effecting the writing of said record by a disk drive of a second group of disk drives connected to said second data storage control.
44. The method of claim 43 wherein said data link transmission path comprises a direct connection between said data storage controls that is devoid of switching means.
45. The method of claim 43 in combination with the steps of:
operating said second data storage control in response to the receipt of said record for transmitting said record over a second data link transmission path to a third data storage control, and
operating said third data storage control independently of said first data storage control and said second data storage control and in response to the receipt of said record for effecting the writing of said record by a disk drive of a third group of drives connected to said third data storage control.
46. The method of claim 43 wherein said method further comprises the steps of:
operating each data storage control in response to the receipt of a record by said each data storage control for entering said each received record into a cache memory of said each data storage control,
returning a command complete signal to said host computer from aid first data storage control when a record received by each data storage control is entered into said cache memory of said each data storage control, and
wherein said step of effecting the writing of each of said records comprises the step of applying a record in each cache memory to the disk drive connected to the data storage control containing said each cache memory to control the writing of said record by said disk drive.
47. The method of claim 43 in combination with the step of:
returning a command complete signal to said host computer from a data storage control that receives a record from said host computer after said record is written by each of said disk drives.
48. The method of claim 43 wherein said first data storage control receives said record over a first path extending from said host computer to said first data storage control for the reception of information including a data record from said host computer; said method further comprising the steps of:
transmitting information including a data record to said second data storage control over a second path extending from said host computer to said second data storage control,
operating said second data storage control for receiving a data record write request from said host computer over said second path,
operating said second data storage control independently of said first data storage control and in response to the receipt of each received data record write request and an accompanying data record for effecting the writing of said data record by said second group of disk drives,
operating said second data storage control for receiving a command sequence from said host computer requesting that multiple record copies be written for subsequently received data record write requests directed to a specified one of said disk drives of said second group of disk drives,
operating said second data storage control in response to the subsequent receipt of a data record write request and accompanying data record directed to said specified one disk drive of said second group for transmitting said received record over said data link transmission path to said first data storage control,
further operating said second data storage control independently of said first data storage control and in response to said subsequent receipt of said record write request and accompanying data record for effecting the writing of said received record by said specified one disk drive of said second group of disk drives, and
operating said first data storage control independently of said second data storage control and in response to the receipt of said record over said data link transmission path for effecting the writing of said record by a disk drive of said first group of disk drives.
49. The method of claim 48 wherein said method further comprises the steps of:
operating each data storage control in response to the receipt of a record by said each data storage control for entering said received record into a cache memory of said each data storage control,
returning a command complete signal to said host computer from said data storage control that receives a record from said host computer when said record is entered into said cache memory of said each data storage control, and
wherein said step of effecting a writing of each record comprises the step of applying a record in each cache memory to the disk drive connected to the data storage control containing said each cache memory to control the writing of said record by said disk drive.
50. A method of operating a data storage system adapted to be connected over channel interface paths to a first and a second host computer for the writing of multiple copies of records received by said system over any of said paths from either of said host computers, said method comprising the steps of:
operating a first and a second data storage control for receiving a data record from either of said host computers over one of said interface paths,
operating each data storage control independently of the other data storage control in response to the receipt of a data record over one of said paths for effecting the writing of said record by a disk drive of a group of drives to which only said each data storage control receiving said record is connected,
operating said each data storage control in response to the receipt of said record over one of said paths for transmitting said record over a data link transmission path to the other one of said data storage controls, and
operating said other data storage control independently of the other data storage control and in response to the receipt of said record over said data link transmission path for effecting the writing of said record by a disk drive of a group to which only said other one data storage control is connected.
51. The method of claim 50 wherein said method further comprises the steps of:
operating each data storage control in response to the receipt of said record over an interface path for entering said received record into a cache memory of each of said each data storage control,
returning a command complete signal to said host computer from the data storage control that receives a record over a path when said received record is entered into said cache memory of each of said data storage controls, and
wherein said step of effecting the writing of said received record comprises the step of applying said record in each cache memory to a disk drive of a group connected to the data storage control containing said each cache memory to control the writing of said record by said disk drive of a group connected to said each data storage control.
52. The method of claim 50 wherein said method further comprises the step of:
returning a command complete signal to said host computer from said first data storage control after said record is written by a drive in each of said groups of disk drives.
53. A method of operating a data storage system containing a plurality of data storage controls and adapted to be connected over channel interface paths to a first and a second host computer for the writing of multiple copies of records received by said system over any of said paths from either of said host computers, said method comprising the steps of:
operating each data storage control independently of each other data storage control in response to the receipt of a data record over one of said paths from either of said host computers for effecting the writing of said record by a disk drive of a group of drives to which only said each data storage control receiving said record is connected,
operating said each data storage control in response to the receipt of said record over one of said paths for transmitting said record over a data link transmission path to another one of said data storage controls,
operating said other data storage control independently of each other data storage control in response to the receipt of said record over said data link transmission path for effecting the writing of said record by a disk drive of a group of drives to which only said other one data storage control is connected, and
operating said other data storage control for extending said received record over another data link transmission path to a third one of said data storage controls for the writing of said record by a disk drive of a group of drives to which only said third data storage control is connected.
54. A method of operating a data storage system adapted to be connected over channel interface paths to a first and a second host computer for the writing of multiple copies of records received by said system over any of said paths from either of said host computers, said method comprising the steps of:
operating each of m data storage controls for receiving from one of said host computers channel program command sequences over one of said interface paths requesting the control of functions by said each data storage control including the writing of data records by a group of disk drives individual to and connected to said each data storage control,
operating said each data storage control independently of each other data storage control and in response to the receipt of each program command sequence comprising a record write request and an accompanying record for effecting the writing of said accompanying record by a specified disk drive of the group of disk drives connected to said each data storage control with said disk drive being specified by said received write request,
operating said each data storage control for receiving over an interface path a command sequence from said host computer requesting multiple copy service for a subsequently received write request and accompanying record directed to a specified one of said disk drives of said group of disk drives connected to said each data storage control, wherein said last named command sequence also specifies a disk drive in each of a group of n drives that is to be used to write multiple copies of a received record for a subsequently received write request directed to said specified one drive of said group connected to said each data storage control,
operating said each data storage control in response to the subsequent receipt of a command sequence comprising a record write request and an accompanying record directed to said specified one drive of said group connected to said each data storage control for transmitting said accompanying record over a data link transmission path to another data storage control connected by said data link to said each data storage control,
further operating said each data storage control independently of each other data storage control and in response to the receipt of said subsequently received record write request and said accompanying record directed to said specified one disk drive of said group connected to said each data storage control for effecting the writing of said received record on said specified one disk drive of said group connected to said each data storage control,
operating the one of said data storage controls connected by said data link to said each data storage control independently of each other data storage control and in response to the receipt of said record over said data link transmission path for effecting the writing of said record by a specified disk drive of said group connected to said one data storage control, and
operating said one data storage control connected by said link to said each data storage control independently of each other data storage control and in response to the receipt of said record over said data link transmission path for extending said received record over another data link transmission path to a third one of said data storage controls for both controlling the writing of said record on a specified disk drive connected to said third data storage control and for further extending said record over a data link transmission path to another data storage control so that each remaining one of said data storage controls receiving said record over a data link transmission path controls the writing of said record by a disk drive connected to said each remaining data storage control.
55. A method of operating a data storage system adapted to be connected to a host computer, said method comprising the steps of:
operating a first one of m data storage controls independently of each other data storage control and in response to the receipt of a record from said host computer for effecting the writing of said record by a first disk drive connected to said first data storage control,
operating said first data storage control in response to the receipt of said record for transmitting said record over a data link transmission path to a second data storage control,
operating said second data storage control independently of each other data storage control and in response to the receipt of said record for effecting the writing of said record by a second disk drive connected to said second data storage control, and
further operating said second data storage control in response to said receipt of said record for extending said record over a data link transmission path to other data storage controls so that said other data storage controls each receive said record and control the writing of said record by a disk drive connected to said other data storage controls.
56. A method of operating a data storage system having a first and a second data storage control and adapted to be connected to a host computer, said method comprising the steps of:
operating said first data storage control independently of said second data storage control for receiving channel program command sequences over an interface path from said host computer requesting the control of functions by said first data storage control including the writing of data records by a first group of disk drives connected to said first data storage control,
operating said first data storage control independently of said second data storage control and in response to the receipt of each program command sequence comprising a record write request and an accompanying record for effecting the writing of said accompanying record by a disk drive of said first group,
operating said first data storage control for receiving a command sequence from said host computer requesting multiple copy service for a subsequently received write request directed to a specified one of said disk drives of said first group, wherein said last names command sequence specifies a disk drive of each of said first and a second group of drives connected to said second data storage control that is to be used to write said multiple copies of a record accompanying a subsequently received write request and directed to said specified one drive of said first group,
operating said first data storage control in response to the subsequent receipt of a command sequence comprising a record write request and an accompanying record directed to said specified one drive of said first group for transmitting said accompanying record over a data link transmission path to said second data storage control,
further operating said first data storage control independently of said second data storage control and in response to the receipt of said subsequently received record write request and an accompanying record directed to said specified one disk drive of said first group for effecting the writing of said received record by said specified one disk drive of said first group, and
operating said second data storage control independently of said first data storage control and in response to the receipt of said record over said data link transmission path for effecting the writing of said record by said specified disk drive of said second group.
57. The method of claim 56 wherein said channel program command sequence comprises:
commands arranged according to a predetermined channel program command format with at least some of said commands having a parameter list associated therewith and at least one of said commands having an information block associated therewith,
said parameter lists and said information block being adapted to contain data arranged into either a first or a second data format,
said parameter list and said information block data being in a first format when a received channel program command sequence comprises a request for the subsequent provision of multiple copy service for records subsequently written to said specified one disk drive of said first group of disk drives,
said parameter list being in a second format when a received command sequence comprises a record write request.
58. The method of claim 57 wherein said method further comprises the steps of:
operating said second data storage control in response to the receipt of said record for transmitting said record over a second data link transmission path to a third data storage control, and
operating said third data storage control independently of said first data storage control and said second data storage control and in response to the receipt of said record for effecting the writing of said record by a disk drive of a third group of disk drives connected to said third data storage control.
59. The method of claim 57 wherein said method further comprises the steps of:
operating each data storage control in response to the receipt of a record by said each data storage control for entering said received record into a cache memory of said each data storage control,
returning a command complete signal said to said host computer from said first data storage control when each record received by a data storage control is entered into said cache memory of each data storage control, and
wherein said step of effecting the writing of each of said records comprises the step of applying each record in a cache memory to the disk drive connected to the data storage control containing each cache memory.
60. The method of claim 57 wherein said method further comprises the steps of:
returning a command complete signal from said first data storage control to said host computer after said record is written by each of said disk drives.
61. The method of claim 57 wherein said method further comprises the steps of:
transmitting channel program command sequences to said second data storage control over a second channel interface path extending from said host computer to said second data storage control,
operating said second data storage control for receiving channel program command sequences over said interface path from said host computer requesting the control of functions by said second data storage control including the writing of data records by said second group of disk drives,
operating said second data storage control independently of said first data storage control and in response to the receipt of each program command sequence comprising a record write request for effecting the writing of a record accompanying said request by a disk drive of said second group as specified by said received write request,
operating said second data storage control for receiving a command sequence from said host computer requesting multiple copy service for subsequently received record write requests directed to a specified one of said disk drives of said second group, wherein said last named command sequence specifies a disk drive of each of said first and second groups that is to be used to write said multiple copies of records for subsequently received write requests to said specified one drive of said second group,
operating said second data storage control in response to the subsequent receipt of a command sequence comprising a record write request and an accompanying data record directed to said specified one disk drive of said second group of disk drives for transmitting said accompanying record over said data link transmission path to said first data storage control,
further operating said second data storage control independently of said first data storage control and in response to the receipt of said subsequently received record write request and an accompanying data record directed to said specified one disk drive of said second group of disk drives for effecting the writing of said accompanying record by said specified one disk drive of said second group of disk drives, and
operating said first data storage control independently of said second data storage control and in response to the receipt of said record over said data link transmission path for effecting the writing of said record by said specified disk drive of said first group of disk drives.
62. A method of operating a data storage system adapted to be connected over channel interface paths to a first and a second host computer for the writing of duplicate copies of record received by said system over any of said paths from either of said host computers, said system comprising:
operating each of a first and a second data storage control for receiving a data record from either of said host computers over said paths,
operating said each data storage control independently of the other data storage control and in response to the receipt of each write request and an accompanying data record over a path from said host computer for effecting the writing of said accompanying record by a disk drive of a group to which said each data storage control is connected,
operating each of said data storage controls for receiving a request from said host computer for the provision of multiple copy service upon the subsequent receipt of a record write request directed to a specified one disk drive of a group connected to said each data storage control,
operating each of said data storage controls independently of the other data storage control and in response to the subsequent receipt of a write request and an accompanying data record directed to said specified one disk drive for controlling the writing of said accompanying record by the specified drive connected to said each data storage control and for transmitting said record over said data link transmission path to the other one of said data storage controls, and
operating said other data storage control independently of the other data storage control and in response to the receipt of said record for effecting the writing of said record by the one of said disk drives to which said other one data storage control is connected.
63. A method of operating a data storage system adapted to be connected over first and second channel interface paths, respectively, to a first and a second host computer, respectively, for the writing of a single copy of records received by said system over any of said paths from either of said host computers, said method comprising the steps of:
operating a first data storage control for receiving a data record write request and an accompanying data record over said first path from said first host computer,
operating a second data storage control for receiving a data record write request and an accompanying data record over said second path from said second host computer, and
operating each data storage control in response to the receipt of each write request by said each data storage control for effecting the writing of the data record accompanying each request by only a disk drive to which said second data storage control is connected.
64. The method of claim 63 wherein said data storage controls are interconnected by a direct data link transmission path and wherein said method further comprises the steps of:
operating said first data storage control in response to said write request from said host computer for transmitting said record accompanying said request over said data link transmission path to said second data storage control, and
operating said second data storage control in response to the receipt of said record over said data link transmission path for writing said record on said disk drive to which said second data storage control is connected.
65. The method of claim 64 in combination with the additional steps of:
operating said second data storage control in response to a receipt of a record read request from said second host computer for reading said record by said disk drive to which said second data storage control is connected,
transmitting said read record over said second channel interface path to said second host computer,
operating said first data storage control in response to a receipt of a record read request from said first host computer for receiving said record from said second data storage control over said data link transmission path, and
transmitting said record received over said data link transmission path to said first host computer from said first data storage control over said first channel interface path.
66. A method of operating a data storage system adapted to be connected over first and second channel interface paths, respectively, to a first and a second host computer, respectively, for the writing of a single copy of records received by said system over any of said paths from either of said host computers, said method comprising the steps of:
operating a first data storage control for receiving a data record write request and an accompanying data record over said first path from said first host computer,
operating a second data storage control for receiving a data record write request and an accompanying data record over said second path from said second host computer,
operating said second data storage control in response to the receipt of each write request from said second host computer and directed to a specified disk drive connected to said second data storage control for effecting the writing of said record accompanying each request by said specified disk drive to which said second data storage control is connected,
operating said first data storage control for receiving a request from said first host computer for the provision of shared service upon the subsequent receipt of a record write request and an accompanying data record directed to a specified phantom drive of a group of disk drives connected to said first data storage control,
operating said first data storage control in response to the subsequent receipt of each write request and an accompanying data record not directed to said phantom drive of said first data storage control for effecting the writing of the record accompanying each request by a disk drive of a group to which said first data storage control is connected,
operating said first data storage control in response to the subsequent receipt of a write request and an accompanying data record directed to said specified phantom disk drive for transmitting said record over a data link transmission path to said second data storage control, and
operating said second data storage control in response to the receipt of said record over said data link transmission path for effecting the writing of said record by a disk drive to which said second data storage control is connected.
67. A method of operating a data storage system adapted to be connected to a first and a second host computer for the sharing of records by users of both of said computers, said method comprising the steps of:
operating a first data storage control for receiving channel program command sequences over a first interface path from said first host computer requesting the control of system functions by said first data storage control including the writing and reading of data records by a first group of disk drives connected to said first data storage control,
operating said first data storage control in response to the receipt from said first host computer of each program command sequence comprising a record write request and an accompanying data record for effecting the writing of a said accompanying data record by a disk drive of said first group as specified by said received write request,
operating a second data storage control for receiving channel program command sequences over a second interface path from said second host computer requesting the control of functions by said second data storage control including the writing and reading of data records by a second group of disk drives connected to said second data storage control,
operating said second data storage control in response to the receipt from said second host computer of each program command sequence comprising a data record write request and an accompanying data record for effecting the writing of said accompanying data record by a disk drive of said second group as specified by said write request received by said second data storage control,
operating said first data storage control for receiving a command sequence from said first host computer requesting the establishment of extended connectivity service for subsequently received write requests directed to a specified phantom disk drive of said first group, wherein said last named command sequence also specifies a disk drive of said second group of drives that is to be used to write a copy of a received record accompanying each subsequently received write request directed to said specified phantom drive of said first group,
operating said first data storage control in response to a subsequent receipt of a command sequence comprising a record write request and an accompanying data record directed to said specified phantom drive of said first group of drives for transmitting said accompanying data record over a direct data link transmission path to said second data storage control, and
operating said second data storage control in response to the receipt of said record over said data link transmission path for effecting the writing of said data record by said specified disk drive of said second group.
68. The method of claim 67 in combination with the additional steps of:
operating said first data storage control in response to a subsequent receipt of a command sequence comprising a record read request directed to said specified phantom drive of said first group for transmitting a message containing said read request over said direct data link transmission path to said second data storage control,
operating said second data storage control in response to the receipt of said record read request over said data link transmission path for effecting the reading of said requested data record by said specified disk drive of said second group containing said requested record,
transmitting said read data record over said data link transmission path from said second data storage control to said first data storage control,
operating said first data storage control in response to the receipt of said data record over said data link transmission path from
said second data storage control for transmitting said data record over said first interface path to said first host computer,
operating said second data storage control in response to a subsequent receipt from said second host computer of a command sequence comprising a data record read request directed to a specified drive of said second group for reading said data record from said specified drive of said second group, and
transmitting said read data record over said second interface path to said second host computer.
69. The method of claim 67 wherein said channel program command sequence requesting the establishment of extended connectivity service comprises:
commands arranged according to a predetermined channel program command format with at least some of said commands having a parameter list associated therewith and at least one of said commands having an information block associated therewith,
said parameter lists and said information block data being in a first format when a received channel program command sequence comprises a request for the subsequent provision of said extended connectivity service for subsequently received write requests directed to said specified phantom drive of said first group of disk drives,
said parameter list being in a second format when a received command sequence comprises a data record write request.
70. A method of operating a data storage system adapted to be connected to a first and a second host computer, said method comprising the steps of:
operating a first data storage control for receiving channel program command sequences over a first interface path from said first host computer requesting the control of system functions by said first data storage control including the writing and reading of data records by a first group of disk drives connected to said first data storage control,
operating said first data storage control in response to the receipt from said first host computer of each program command sequence comprising a record write request and an accompanying data record for effecting the writing of a said accompanying data record by a disk drive of said first group as identified by said received write request,
operating a second data storage control for receiving channel program command sequences over a second interface path from said second host computer requesting the control of functions by said second data storage control including the writing and reading of data records by a second group of disk drives connected to said second data storage control,
operating said second data storage control in response to the receipt from said second host computer of each program command sequence comprising a record write request and an accompanying data record for effecting the writing of said accompanying data record by a disk drive of said second group as identified by said write request received by said second data storage control,
operating said first data storage control for receiving a command sequence from said first host computer requesting the establishment of extended service for subsequently received write requests directed to a specified disk drive of said first group, wherein said last named command sequence also specifies a disk drive of said second group of drives that is to be used to write a copy of a received record accompanying each subsequently received write request directed to said specified disk drive of said first group,
operating said first data storage control in response to a subsequent receipt of a command sequence comprising a record write request and an accompanying data record directed to said specified drive of said first group of drives for transmitting said accompanying record over a direct data link transmission path to said second data storage control,
operating said second data storage control in response to the receipt of said data record over said data link transmission path for effecting the writing of said record by said specified disk drive of said second group,
operating said first data storage control in response to a subsequent receipt of a command sequence comprising a record write request and an accompanying data record directed to said specified drive of said first group of drives for effecting the writing of said record by said specified disk drive of said first group if said specified disk drive of said first group is not a phantom disk drive, and
inhibiting the writing of said accompanying record by a disk drive of said first group if said specified disk drive of said first group is a phantom disk drive.
71. A method of operating a data storage system adapted to be connected to a host computer, said method comprising the steps of:
operating a first one of m independently operable data storage controls in response to the receipt of a record from said host computer for effecting the writing of said record by a first disk drive connected to said first data storage control,
operating said first data storage control in response to the receipt of said record for transmitting said record over a data link transmission path to a second data storage control,
operating said second data storage control independently of said first data storage control in response to the receipt of said record for effecting the writing of said record by a second disk drive connected to said second data storage control,
further operating said second data storage control in response to said receipt of said record for extending said record over a data link transmission path to other data storage controls,
operating said other data storage controls to receive said record over said data link transmission path, and
further operating said other data storage controls independently of each other data storage control so that said record is written by disk drives of less than all of said other data storage controls whereby said system writes less than m copies of said record received from said host computer by said first data storage control.
Description
FIELD OF THE INVENTION
This invention relates to a data storage system and, in particular, to an improved facility for providing redundant copies of data records. This invention further relates to a data storage system of the DASD (direct access storage device) type which responds to a host processor write request to provide multiple copies of a data record on separate disk drives of separate DASD subsystems. The invention still further relates to a DASD type system wherein each subsystem controller includes a cache memory for the provision of cached read and write operations on multiple copy service.
BACKGROUND OF THE INVENTION
Peripheral data storage subsystems of the DASD type utilizing magnetic disk units and the like are known for writing and reading data records under control of one or more connected host processors. With the high reliability of present-day DASD subsystems it is an acceptable business risk for many users to employ DASD facilities that maintain only a single copy of each stored record. However, some users require increased protection for some of their data against the loss of data availability that would result from a failure of a DASD subsystem element such as, for example, a disk device. Although the facilities needed to provide a higher degree of data availability are clearly more expensive, it is, in some circumstances, an acceptable cost to businesses. Examples of such business are banks where the stored data may comprise financial records and airlines where the data may represent reservation information. In such businesses, the necessity for the greatest possible protection from data loss is such that the concomitant increased cost is acceptable.
It is known to provide equipment which writes a separate copy of data records on a plurality of disk devices. Such an arrangement is shown in U.S. Pat. No. 4,837,680 of Jun. 6, 1989, to Robert N. Crockett et al. In this patent, a DASD subsystem having a plurality of disk drives and a single storage control provides dual copies of each record written by a connected host on a specified volume. The host generates a system command which causes all records subsequently written to a volume specified by the host to be written by the storage control onto two different disk drives. While the Crockett et al. system provides for continued data availability if one disk drive becomes unreadable, the system is vulnerable in that the failure of the storage control itself would cause the data on all disks served by the storage control to be unavailable to the host. Thus, while the Crockett system provides improved data availability, it is still subject to failure in the event that an element common to all disk units becomes unavailable. U.S. Pat. No. 4,862,411 of Aug. 29, 1989, to Dishon et al. shows an alternative arrangement for providing dual copies in a manner that avoids some of the disadvantages of Crockett. Although Dishon solves the single failure problem of Crockett, it has a number of disadvantages which render it less than ideal for many purposes. First of all, it is a requirement in known CKD (Count Key Data) DASD systems that the distance between the host processor and the disk control units cannot exceed approximately 240 meters and that the distance from the disk control unit to the disk drive controller cannot exceed approximately 60 meters. This presents a problem for Dishon for installation where the distance between the CPU 10 and the disk drive controller 42 already approximates the under 300 meter limit. In this case, the increased distance of communication path 34 extending to the disk drive controller 44 of the other control unit 18 may cause the total distance between CPU 10 and disk drives 48 to exceed the 300 meter limit. In this case, the Dishon et al. system would be unsuitable unless the second DASD control unit 18 is placed immediately adjacent to the first control unit 16. In any event, Dishon cannot be used for installations in which the disk drive controller 44 of the second control unit 18 must be positioned more than 60 meters from the first control unit 16. This distance is small when considering protection of one copy of data from the same hazard as could affect the first--e.g., fire, flood, terrorism.
Another disadvantage of the Dishon et al. system is that it does not contain cache memories and therefore does not provide the performance advantages of DASD control units that do contain cache memories. There would be an inherent difficulty in operating the Dishon system with cache memories since he provides no means of storing duplicate copies of a modified record in both cache memories (as is required for data integrity in cached write operations.) Thus, even if the two DASD control units 16
and 18 of Dishon were immediately adjacent to each other so as to present no distance problem, there would still be no effective way to provide cached read and cached write service in the Dishon system.
It is also known to provide dual copy service by connecting a host to separate DASD subsystems and by having the host apply separate write commands to each subsystem which writes the data record to a volume specified by the host. While this arrangement provides dual copy service and the enhanced data availability resulting therefrom, it is operationally undesirable in that it requires separate host write commands, and an increased utilization of host CPU time, to provide the dual copy service. An example of equipment that uses two host write operations to provide dual copy service is the Tandem Computer Non-Stop Fault-Tolerant Transaction Processing System. A second system operating in a similar manner is the IBM Transaction Processing Facility.
It can therefore be seen that it is currently a problem in CKD DASD subsystems to provide increased data availability while maintaining the higher performance levels of cached read and write operations in DASD systems not having such severe distance limitations and wherein the failure of a DASD system component will not make the stored data unavailable to the host.
SUMMARY OF THE INVENTION
The above problems are solved and an advance in the art is achieved by the present invention which comprises a DASD subsystem in which improved data availability is provided by a system in which the failure of a single system component will not prevent a connected host from obtaining access to stored data records and wherein the distance limitations of conventional DASD systems are significantly expanded. The DASD subsystem of the invention comprises a plurality of disk or data storage control units (hereinafter DSC) and one or more recording means, such as disk drives, connected via a disk controller to each DSC. The system operates in a conventional manner for a write request in which only a single record copy is desired. In this case, the DSC receives the write request from the host and causes one of the disk drives to which the DSC is connected via a disk controller to write the data record. In accordance with the invention, the system creates multiple copies of a record for a write request received for a volume (disk drive) for which the host has priorly specified that multiple copy service is to be provided for all subsequent write requests to the specified volume. For this multiple copy service, which is hereinafter referred to as extended dual copy service (when only two copies are to be provided), the host processor transmits write requests over a channel to a first DSC which is connected to a group of disk drives and which is further connected via a direct data link with a second DSC which is also connected to its own group of disk drives. The details of the manner in which the request is processed by the first DSC depends upon the type of service to be provided. The type of service that can be provided by the system of the invention includes single copy, regular dual copy as shown by Crockett, regular fast dual copy, extended dual copy, and extended fast dual copy. For the extended dual copy service, the first DSC enters the received information from the host into its cache and then transmits the information over the direct data link to the cache of the other DSC. The information in the cache of each DSC is then written to the disk drive of each DSC. The host is notified as to the completion of the execution of the write command only when the record has actually been written into a disk drive of each DSC. For the extended fast dual copy service of the present invention, the received information is entered into the cache memory of the first DSC and transmitted over the data link to the cache memory of the other DSC. The host is then advised that the execution of this write command has been completed. The two DSCs then subsequently operate on their own to cause the record data in each cache to be written to the disk drive to which each DSC is connected.
The arrangement of the invention is an improvement over the dual copy feature of Crockett et al. in that the failure of a single system element such as a disk controller common to all disk drives of the applicants first DSC will not prevent the host from accessing the duplicate copy of the record on a disk drive of the second DSC. In this case, the host can transmit a read request to the first DSC which passes the request via the direct data link to the second DSC whose disk drive executes the request, reads the duplicate copy of the record, and transmits the record contents over the data link to the first DSC and, in turn, to the requesting host.
A second possible exemplary embodiment of the invention provides a still higher degree of data availability. It is similar to that above-described except that the host is connected over separate data channels to both the first and the second DSC. Normally the host operates as above-described by transmitting read and write requests to the first DSC which executes the requests on its own connected disk drives. The first DSC is also connected in this alternative arrangement over the direct data link to the second DSC and, on each write operation that requests extended dual copy service to a specified volume, it communicates with the second DSC over the direct data link to cause the second DSC and its connected disk drives to make a duplicate copy of the data record. This second embodiment provides still greater data availability in that the duplicate data record remains available to the host even if the first DSC becomes unavailable. In this case, the host detects the inoperable condition of the first DSC and communicates with the second DSC via a data channel extending from the host to the second DSC. The host can then read and write the duplicate copies of the data records stored on the disk drives connected to the second DSC.
A still higher degree of data availability is provided by yet another alternative exemplary embodiment of the invention. In accordance with this embodiment, a pair of host processors are connected over separate data channels to both a first and a second DSC which are directly connected with each other via a direct data link. Each DSC is connected to its own individual group of disk drives. The host processors can operate independently and each normally communicates with a different one of the DSCs. In other words, each DSC is a primary DSC to a different one of the hosts. On each write command from a host specifying extended dual copy service, the primary DSC causes the data record to be written onto one of its disk drives. The primary DSC also causes a duplicate copy of the data record to be written onto the disk units of the other DSC via the direct data link between the two DSCs. In accordance with this arrangement, the failure of a single DSC and/or its associated disk units permits a copy of each record to be available to the host via the other DSC and its disk units. Further in accordance with this alternative arrangement, the system remains operable even if one of the host processors and one of the DSCs and its associated disk units fail concurrently. In this case, the remaining host processor can take over the duties of the failed host. The data records that were written under control of the failed host remain available to the second host as long as one of the DSCs and its connected disk units remains available and operable.
In accordance with a further possible alternative exemplary embodiment of the invention, each DSC is connected by two separate direct data links and associated circuitry with the other DSC. This duplication provides increased data availability since if the one of the direct data links becomes unavailable, the direct communication between the two DSCs may still take place via the other direct data link and its connected circuitry.
In accordance with another possible exemplary alternative embodiment of the invention, a number of additional DSCs interconnected by additional direct data links may be employed to provide a number of multiple copies greater than two. Thus, a system having, for example, four DSCs, four sets of disk drives and four direct data links interconnecting the four DSCs could be used to provide "extended multiple copy service" to generate up to four copies of each record written to a specified volume of each DSC.
In view of the above, it can be seen that the above embodiments of the invention provide the high degree of data availability that many businesses require for circumstances in which all possible steps must be taken to ensure the availability of recorded data under the most extreme and unlikely occurring events that may transpire.
DESCRIPTION OF THE DRAWINGS
These and other advantages and features of the invention may be better understood from a reading of the following description thereof taken in conjunction with the drawing in which:
FIG. 1 comprises a block diagram illustrating one possible exemplary embodiment of the invention;
FIG. 2 illustrates an alternative exemplary embodiment of the invention that provides increased data availability over the embodiment of FIG. 1;
FIG. 3 illustrates yet another possible exemplary embodiment of the invention and which provides still greater, data availability;
FIG. 4 illustrates another alternative exemplary embodiment that is independent of host channel distance limitations;
FIG. 5 illustrates further details of a disk storage control (DSC);
FIGS. 6, 7 and 8, when arranged as shown in FIG. 9, illustrate further details of the system of FIG. 5;
FIG. 10 discloses further details of the IBC element of FIGS. 6-8;
FIG. 11 discloses further details of the IDI elements 614 of FIG. 8;
FIG. 12 discloses a system equipped to provide extended multiple copy services;
FIG. 13 discloses further details of a system equipped to provide extended multiple copy service;
FIG. 14 discloses a channel program command sequence used to provide extended multiple copy service;
FIGS. 15-17 disclose further details of the command sequence of FIG. 14;
FIGS. 18-22 disclose the messages transmitted over data links 106 for the provision of extended multiple copy and connectivity service; and
FIGS. 23-25 disclose the messages and commands exchanged between system elements for the provision of extended dual copy service.
DETAILED DESCRIPTION
Description of FIG. 1
FIG. 1 discloses one possible exemplary embodiment of a system embodying the invention. FIG. 1 discloses a host processor 101 connected via a channel 102 and a channel interface 104 to DSC 105 which is connected over interface 108 to disk controller 112 and its disk drives 109-0 through 109-n via paths 116-0 through 116-9. The system of FIG. 1 further comprises a data link 106 which interconnects DSC 105 with a second DSC 107 which may be identical to DSC 105. Data link 106 ideally may be optical fiber but, if desired, may be any type of transmission path such as metallic conductors. DSC 107 is connected via interface 110 to its own disk controller 113 and via paths 117-0 through 117-9 to disk drives 111-0 through 111-n.
Host 101 communicates in a conventional manner with DSC 105 via interface 104 to transmit record write and read requests to DSC 105. DSC 105 receives these requests and communicates over interface 108 with disk controller 112 and disk drives 109
to execute the write and read requests. The system of FIG. 1 processes write requests that do not involve extended dual copy service in a conventional manner similar to that of known DASD systems. Namely, DSC 105 receives the request from host 101, processes the request and causes the record to be written on one of disk drives 109. The system of FIG. 1 can provide regular dual copy service similar to Crockett by causing a record to be written to two of its disk drives 109.
On each write request for volumes for which the extended duplicate copy of the invention is desired by host 101, DSC 105 transmits the received write request over data link 106 to DSC 107 which causes an extended duplicate copy of the record to be written by the appropriate one of its disk drives 111. In this manner and for volumes specified by host 101, a copy of each record written on one of disk drives 109 is also written on one of disk drives 111. The system of FIG. 1 provides increased data availability over that which would be available if disk drives 111, DSC 107 and data link 106 were not provided. Increased data availability is provided in that upon an operational failure of disk controller 112, which would make all records on disk drives 109 unavailable, host 101, DSC 105 and DSC 107, can exchange the commands required to read the extended duplicate copy of the record that exists on disk drives 111. The readout information is transmitted from disk drives 111, over interface
110, DSC 107, data link 106, DSC 105 and interface 104 back to host 101.
Description of FIG. 2
FIG. 2 discloses a system similar to FIG. 1 but which has improved data availability. Host 101 is additionally connected via channel 103 and interface 104-1 to DSC 107. Host 101 normally communicates with DSC 105 and causes data records to be written onto disk drives 109. On each write operation to volumes specified by the host for extended dual copy service, DSC 105 transmits each write command over data link 106 to DSC 107 to cause an extended duplicate copy of the record to be recorded onto a disk drive 111. The system of FIG. 2 provides increased availability since upon a failure of DSC 105, host 101 can communicate with DSC 107 via channel 103 and interface 104-1 to read the copies of the data records that exist on disk drives 111. Host 101 may continue to operate in a normal manner and communicate with DSC 107 and its drives 111 until DSC 105 is repaired and brought back on line.
Description of FIG. 3
FIG. 3 discloses yet another alternative exemplary embodiment of the invention which provides greater data availability over that shown on FIGS. 1 and 2. In the system of FIG. 3, an additional host processor 121 is provided which is connected via channel 122 and interface 124-0 with DSC 105 and is further connected by channel 123 and interface 124-1 with DSC 107. Both hosts 101 and 121 may operate concurrently and independently with each normally communicating only with its primary DSC and connected disk drives. Thus, host 101 may normally communicate primarily with DSC 105 and its disk drives 109 and host 121 may normally communicate primarily with DSC 107 and its disk drives 111. However, on each write operation by either host for volumes specified for extended dual copy service, the data record is written not only on the disk drives of the DSC with which the host normally communicates, but by means of data links 106, the other DSC causes an extended duplicate copy of each such record to be recorded on its disk drives. Let it be assumed that host 101 normally communicates primarily with DSC 105. On each write operation for a specified volume for which an extended duplicate copy of the record is desired, DSC 105 transmits a command over data link 106 to DSC 107 to cause a duplicate copy of the record to be recorded on disk drives 111. In a similar manner, assume host 121 normally communicates only with DSC 107 and its disk drives 111. However, on each write operation for volumes for which extended dual copy service is desired, data links 106 and DSC 105 cause an extended duplicate copy of the data records to be recorded on disk drives 109.
Upon a failure of disk drives 109 and/or disk controller 112, and/or DSC 105, host 101 may continue normal operation by communicating with DSC 107 over interface 104-1 to operate with the extended duplicate records on disk drives 111. Host 121
may continue normal operation in a similar manner upon the failure of disk drives 111 and/or disk controller 113 and/or DSC 107 and operate with the extended duplicate copies of the data records that exist on disk drives 109. The system of FIG. 3
provides still further system availability in that upon a failure of a host, such as host 101, host 121 may perform duties of the failed host by operating upon either the original or the extended duplicate copy of the records that exist on disk drives
109 and 111.
Description of FIG. 4
FIG. 4 discloses an embodiment of the invention that is a degenerate version of the system shown in FIG. 3. The system of FIG. 4 is similar to that of FIG. 3 except that each host is connected to only a single DSC. The system of FIG. 4 is advantageous in systems in which the hosts are separated from one another by a distance greater than 480 meters, which is twice the priorly discussed 240 meter limit applicable to conventional CKD DASD systems. In the system of FIG. 4 the hosts may be separated from each other by a considerably greater distance, for example 5 km. The two DSCs may be separated from one another by this same distance. However, the distance between a host, such as host 101, and its disk drives 109 must still meet the aforementioned 300 meter limit.
The system of FIG. 4 is not limited to the provision of extended dual copy service. It can also be used in installations in which DSCs 105 and 107 are separated by a considerable distance, such as 5 km, and where it is desired to have host processors 101 and 121 share a common set of disk drives, such as for example, disk drive 109, for the storage of some of the data records generated by both host processors. For example, let it be assumed that host processor 101, DSC 105, disk controller 112 and disk drives 109 are in a first work location which is separated from a second work location containing host processor 121, DSC 107, disk controller 113 and disk drives 111. Let it be further assumed that for some of their work assignments, the users at host processor 101 work independently and create data records that are recorded on disk drives 109. Let it further be assumed that the users of host processor 121 also have certain independent work assignments and record the data records pertaining to these assignments on disk drives 111. However, let it also be assumed that the users of host processors 101 and 121 have certain common work assignments for which it is desired to have users of both host processors write the data records pertaining to these joint assignments on disk drives 109.
For these joint assignments, the users of host processor 101 work in the conventional manner so that their data records are recorded on disk drives 109. For these joint work assignments, users of host processor 121 generate records which are transmitted over path 124-1 to DSC 107 which causes these records and associated control commands to be transmitted over direct data links 106 to DSC 105. DSC 105 responds to the reception of these commands and records and causes the records to be transmitted over path 108 and via disk controller 112 for writing on a selected one of disk drives 109. In this manner, certain data records written by the users of both host processors 101 and 121 are written on disk drives 109. This permits the users of both host processors to share the data records stored on disk drives 109 that pertain to the work activities common to both groups of users.
This writing on disk drives 109 of data records generated by host processor 121 may be accomplished either with or without the use of extended dual copy service. If there is no need to have these records also recorded on a disk drive 111, the system may operate as just described so that the data records generated by host processor 121 are transmitted via DSC 107 to DSC 105 for writing on a disk drive 109. On the other hand, the writing of the records generated by host 121 and pertaining to joint work responsibilities may be accomplished using extended dual copy service wherein a first copy of the data record is written on disk drive 111 operating as a local volume and by having the second copy of the data record written on a disk drive 109
operating on a remote volume basis.
The above-described joint sharing of data records by users at two different host processors is advantageous in situations in which the DSC and disk controller and disk drives associated with a first host processor are situated at a distance sufficiently remote from these corresponding elements and a second host processor so that the aforementioned DASD operational distance limitations are exceeded. In this case, the system of the present invention permits useful system operation with a distance of up to approximately five kilometers for data links 106.
It may be seen in view of the above that the systems shown on FIGS. 1, 2, 3 and 4 provide greatly improved data availability for users who must take all practicable steps to ensure a high degree of data integrity and data availability under all possible adverse operating conditions.
Description of FIG. 5
FIG. 5 shows further details of the system of FIG. 3. Specifically, FIG. 5 shows a plurality of host processors 101 through 121, connected to DSC 105. DSC 105 is connected via disk controller 112 to disk drives 109-0 through 109-n. DSC 105 is connected to data links 106-0 and 106-1 which extend to DSC 107. DSC 105 comprises storage clusters 501 and 507 each of which comprises a pair of storage paths and a multi-path storage director. Storage cluster 501 comprises storage paths 504 and 506
and multi-path storage director 503. Storage cluster 507 comprises comparable elements 508, 509 and 511. Host 121 is connected over path 134-1 to multi-path storage director 503 of cluster 501 and over path 134-0 to multi-path storage director 508 of cluster 507. Host 101 is connected over path 104-1 to storage director 503 and is connected over path 104-0 to storage director 508.
In a manner well-known in DASD subsystems, DSC 105 contains cache memory 512 having a volatile store portion (VS) 521 and a non-volatile store portion (NVS) 520. Conductors 108-0 and 108-1 interconnect storage paths 504 and 506 of storage cluster 501 with disk controller 112. Conductors 108-2 and 108-3 connect disk controller 112 with storage paths 509 and 511 of cluster 507.
The function of DASD sub-systems containing DSCs and disk drives is well-known in the art and is shown in the IBM publication GA32-0098-0, "Storage Subsystem Library IBM 3990 Storage Control Introduction", first edition, published in 1987 by the International Business Machines Corporation and available at any IBM local branch office. The DSC and disk drives of the present invention perform many functions in a manner similar to that of the IBM 3990 Storage Control and its disk drives. Therefore, the functions of the DSC 105 of the present invention that are similar to those of the IBM 3990 system are only briefly mentioned herein. The functions of DSC 105 of the present invention that are not comparable to those of the IBM 3990
system are described in detail.
The system of FIG. 5 operates in a manner similar to the IBM 3990 system for host read and write requests that are received by DSC 105 for execution by disk drives 109 to which DSC 105 is connected via paths 108. The two storage paths within each cluster provide separate facilities that may be used concurrently to provide separate communication paths between the host processors and the disk drives 109. Each storage path within a cluster may independently process a host read and write request. As in the IBM 3990 system, volatile store (VS) 521 and non-volatile store (NVS) 520 are used on write requests requiring the services of cache memory 512. Read requests normally require the service of only VS 521.
By way of distinction from the IBM 3990 subsystem, the system of FIG. 5 additionally contains data links 106-0 and 106-1 which extend to DSC 107 which may be separated a considerable distance, such as five thousand meters, from DSC 105. As is subsequently described in detail, this permits the system of FIG. 5 to operate with DSC 107 and its disk drives 111 to write extended duplicate copies of records recorded on specified disk drives 109.
The IBM 3990 system provides user controllable duplicate copy service of the type shown by Crockett that is limited to a single DSC and its disk drives. In other words, when requested by a host processor, the IBM 3990 system can cause duplicate record copies to be written by two different disk drives connected to a single DSC. In the IBM 3990 system, a user generates a host system command which instructs its DSC that all write requests to certain user specified volumes are to be executed by causing duplicate copies of each record to be written to the specified volumes. The duplicate copies are written by two different disk drives connected via one or more disk controllers to a single DSC. While the conventional IBM 3990 dual copy arrangement provides improved data availability over a single copy mode of operation, it is subject to failure if the single DSC or disk controller 112 serving the disk drives 109 containing the two copies should fail.
In the system of FIG. 5 and in accordance with the invention, the user generates a host command sequence that is transmitted to DSC 105 instructing it that on all subsequent write requests to a user specified volume, extended duplicate copies of the records are to be written with one copy being written by a disk drive 109 and with the other copy being written by a disk drive 111 of DSC 107 on FIG. 3.
Let it be assumed that DSC 105 receives a write request for a volume that a user has priorly specified is to be operated with extended dual copy service. This received write request is initially processed by the storage cluster 501 or 507 that receives the write request and, in a manner similar to the IBM 3990 system, the request is transmitted via conductors 108 to disk controller 112 which ultimately causes the write request to be written by the disk drive 109 comprising the user specified volume. The storage cluster receiving this request also communicates with cache 512 and causes the write request to be stored in cache 512. Cache 512 and the storage cluster operate cooperatively to extend the request over one of data links 106-0 or
106-1 to DSC 107. The request is received and stored in the cache memory of DSC 107. The cache memory of DSC 107 and one of its storage clusters process the received request and cause a copy of the record to be written on one of the disk drives 111.
DSC 105 can also operate to write an extended dual copy of a record on one of its disk drives 109 when the first copy of the record is written on a dis