← Back to Patent Explorer
US5072368A Expired / Lapsed US ⏱️ 0.0 years remaining

Immediate duplication of I/O requests on a record by record basis by a computer operating system

Assignee: International Business Machines Corp
•
Filing: 1990-08-24
•
Granted: 1991-12-10
•
Expires: 2010-08-24
📄 Original PDF 🌐 Google Patents

Abstract

Abstract A method for ensuring data integrity in a computer system having a primary logical device and one or more alternate logical devices. These logical devices have substantially identical data stored in them and have the capability of responding to requests. The system duplicates device access to the alternate logical devices. The logical devices are identified to the computer system as the devices on which duplicating or mirroring operations are to be performed. A read operation or a write operation is performed on the primary logical device. In the case of a write operation, it is also performed simultaneously on the alternate logical devices. The system waits for a response from the primary logical device. If the response indicates that the primary logical device has failed, the alternate logical devices are relied on to complete the operation.

Inventors

  • 👤 Dennis J. Foreman
  • 👤 Lawrence E. Larson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 19:38
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 438 words
A method performed by a computer operating system for controlling a computer system, said computer system comprising a central processing unit in which said operating system is installed, one or more direct access peripheral devices, at least one device controller connected to and controlling said direct access peripheral devices, said device controller being connected to a channel of said central processing unit and responsive to said operating system, said operating system including a virtual input/output request processor connected to a virtual-to-real channel word mapping module, said mapping module mapping virtual addresses to real addresses of said direct access peripheral devices in response to a request from said virtual input/output request processor, said operating system incorporating an optional user invoked mirror command, said mirror command specifying a virtual address of a primary logical device and a virtual address of a mirror logical device to write data to said virtual addresses, said mirror command optionally being invoked or turned off during a computer session by a user, the method performed by said operating system comprising the steps of: building duplicate request input/output data blocks for said primary logical device and said mirror logical device when said mirror command is invoked; transferring control to said virtual input/output request processor of said operating system, said virtual input/output request processor accessing said virtual-to-real channel word mapping module of said operating system to map the virtual addresses of said primary logical device and said mirror logical device to respective real addresses on one or more of said direct access peripheral devices; said device controller executing a write request from said virtual input/output request processor of said operating system to write said data blocks for said primary logical device and said mirror logical device to said respective real addresses on one or more of said direct access peripheral devices, said data blocks being composed of a plurality of records, said operating system controlling said device controller to write a record from the data block for said primary logical device, then to write a record from the data block for said mirror logical device, until all records from both said data blocks have been written thereby performing a substantially simultaneous write operation for both said data blocks; verifying by said virtual input/output request processor of said operating system that said data blocks have been correctly written to said respective real addresses of said primary logical device and said mirror logical device; and said operating system returning control to said user upon verification that said data blocks have been correctly written to said respective real addresses on said one or more of said direct access peripheral devices.
Claim 2
Independent Claim 438 words
A method performed by a computer operating system for controlling a computer system, said computer system comprising a central processing unit in which said operating system is installed, one or more direct access peripheral devices, at least one device controller connected to and controlling said direct access peripheral devices, said device controller being connected to a channel of said central processing unit and responsive to said operating system, said operating system including a virtual input/output request processor connected to a virtual-to-real channel word mapping module, said mapping module mapping virtual addresses to real addresses of said direct access peripheral devices in response to a request from said virtual input/output request processor, said operating system incorporating an optional user invoked mirror command, said mirror command specifying a virtual address of a primary logical device and a virtual address of a mirror logical device to write data to said virtual addresses, said mirror command optionally being invoked or turned off during a computer session by a user, the method performed by said operating system comprising the steps of: building duplicate request input/output data blocks for said primary logical device and said mirror logical device when said mirror command is invoked; transferring control to said virtual input/output request processor of said operating system, said virtual input/output request processor accessing said virtual-to-real channel word mapping module of said operating system to map the virtual addresses of said primary logical device and said mirror logical device to respective real addresses on one or more of said direct access peripheral devices; said device controller executing a write request from said virtual input/output request processor of said operating system to write said data blocks for said primary logical device and said mirror logical device to said respective real addresses on one or more of said direct access peripheral devices, said data blocks being composed of a plurality of records, said operating system controlling said device controller to write a record from the data block for said primary logical device, then to write a record from the data block for said mirror logical device, until all records from both said data blocks have been written thereby performing a substantially simultaneous write operation for both said data blocks; verifying by said virtual input/output request processor of said operating system that said data blocks have been correctly written to said respective real addresses of said primary logical device and said mirror logical device; and said operating system returning control to said user upon verification that said data blocks have been correctly written to said respective real addresses on said one or more of said direct access peripheral devices.
Claim 3
Dependent Claim 29 words
The method performed by said computer operating system as recited in claim 1 wherein at least one of said direct access peripheral devices is a direct access storage device.
Claim 4
Dependent Claim 24 words
The method performed by said computer operating system as recited in claim 2 wherein said direct access storage device is a magnetic disk drive.
Claim 5
Dependent Claim 24 words
The method performed by said computer operating system as recited in claim 2 wherein said direct access storage device is a magnetic tape drive.
Claim 6
Dependent Claim 22 words
The method performed by said computer operating system as recited in claim 2 wherein said direct access storage device is a printer.
Claim 7
Dependent Claim 23 words
The method performed by said computer operating system as recited in claim 2 wherein said direct access storage device is a computer terminal.
Claim 8
Dependent Claim 23 words
The method performed by said computer operating system as recited in claim 2 wherein said direct access storage device is a magnetic memory.
Claim 9
Dependent Claim 23 words
The method performed by said computer operating system as recited in claim 2 wherein said direct access storage device is an optical memory.
Claim 10
Dependent Claim 32 words
The method performed by said computer operating system as recited in claim 1 wherein said real addresses of said primary logical device and said mirror logical device are on separate physical devices.
Claim 11
Dependent Claim 32 words
The method performed by said computer operating system as recited in claim 1 wherein said real addresses of said primary logical device and said mirror-logical device are on a common physical device.
Claim 12
Dependent Claim 34 words
The method performed by said computer operating system as recited in claim 1 wherein said user invoked mirror command optionally allows the user to specify virtual addresses of a plurality of mirror logical devices.
Claim 13
Dependent Claim 262 words
The method performed by said computer operating system as recited in claim 1 further comprising the steps of: building a queued request to read data from said primary logical device and, when said mirror command is activated, to read data from said mirror logical device; transferring control to said virtual input/output request processor of said operating system, said virtual input/output request processor accessing said virtual-to-real channel word mapping module of said operating system to map the virtual addresses of said primary logical device to said real address; said device controller executing a read request under control of said operating system to read a data block from said primary logical device at said real address of one of said direct access peripheral devices, said device controller verifying to said operating system that said read request has been executed correctly; and said operating system returning control to said user upon verification that said read request has been executed correctly; but if said read request has not been executed correctly, then said operating system building a queued request to read data from said mirror logical device and transferring control to said virtual input/output request processor of said operating system, said virtual input/output request processor accessing said virtual-to-real channel word mapping module of said operating system to map the virtual address of said mirror logical device to said real address; and said device controller executing a read request under control of said operating system to read a data block from said mirror logical device at said real address of one of said direct access peripheral devices.
Claim 14
Dependent Claim 407 words
A computer system comprising a central processing unit in which an operating system is installed, one or more direct access peripheral devices, at least one device controller connected to and controlling said direct access peripheral devices, said device controller being connected to a channel of said central processing unit and responsive to said operating system, said operating system including a virtual input/output request processor connected to a virtual-to-real channel word mapping module, said mapping module mapping virtual addresses to real addresses of said direct access peripheral devices in response to a request from said virtual input/output request processor, said computer system further comprising: means responsive to a user invoked mirror command for registering a virtual address of a primary logical device and a virtual address of a mirror logical device to write data to said virtual addresses, said mirror command optionally being invoked or turned off during a computer session by a user; means for building duplicate request input/output data blocks for said primary logical device and said mirror logical device when said mirror command is invoked; means responsive to said building means for transferring control to said virtual input/output request processor, said virtual input/output request processor accessing said virtual-to-real channel word mapping module to map the virtual addresses of said primary logical device and said mirror logical device to respective real addresses on one or more of said direct access peripheral devices, said device controller executing a write request from said virtual input/output request processor to write said data blocks for said primary logical device and said mirror logical device to said respective real addresses on one or more of said direct access peripheral devices, wherein said data blocks are composed of a plurality of records and said device controller writes a record from the data block for said primary logical device, then writes a record from the data block for said mirror logical device, until all records from both said data blocks have been written thereby performing a substantially simultaneous write operation for both said data blocks, said virtual input/output processor verifying that said data blocks have been correctly written to said respective real addresses of said primary logical device and said mirror logical device; and means responsive to said virtual input/output processor for returning control to said user upon verification that said data blocks have been correctly written to said respective real addresses on said one or more of said direct access peripheral devices.
Claim 15
Dependent Claim 407 words
A computer system comprising a central processing unit in which an operating system is installed, one or more direct access peripheral devices, at least one device controller connected to and controlling said direct access peripheral devices, said device controller being connected to a channel of said central processing unit and responsive to said operating system, said operating system including a virtual input/output request processor connected to a virtual-to-real channel word mapping module, said mapping module mapping virtual addresses to real addresses of said direct access peripheral devices in response to a request from said virtual input/output request processor, said computer system further comprising: means responsive to a user invoked mirror command for registering a virtual address of a primary logical device and a virtual address of a mirror logical device to write data to said virtual addresses, said mirror command optionally being invoked or turned off during a computer session by a user; means for building duplicate request input/output data blocks for said primary logical device and said mirror logical device when said mirror command is invoked; means responsive to said building means for transferring control to said virtual input/output request processor, said virtual input/output request processor accessing said virtual-to-real channel word mapping module to map the virtual addresses of said primary logical device and said mirror logical device to respective real addresses on one or more of said direct access peripheral devices, said device controller executing a write request from said virtual input/output request processor to write said data blocks for said primary logical device and said mirror logical device to said respective real addresses on one or more of said direct access peripheral devices, wherein said data blocks are composed of a plurality of records and said device controller writes a record from the data block for said primary logical device, then writes a record from the data block for said mirror logical device, until all records from both said data blocks have been written thereby performing a substantially simultaneous write operation for both said data blocks, said virtual input/output processor verifying that said data blocks have been correctly written to said respective real addresses of said primary logical device and said mirror logical device; and means responsive to said virtual input/output processor for returning control to said user upon verification that said data blocks have been correctly written to said respective real addresses on said one or more of said direct access peripheral devices.
Claim 16
Dependent Claim 222 words
The computer system as recited in claim 13 further comprising means for building a queued request to read data from said primary logical device and, when said mirror command is activated, to read data from said mirror logical device, said transferring means transferring control to said virtual input/output request processor, said virtual input/output processor accessing said virtual-to-real channel word mapping module to map the virtual address of said primary logical device to said real address, said device controller executing a read request to read a data block from said primary logical device at said real address of one of said direct access peripheral devices, said device controller verifying that said read request has been executed correctly and returning control to said user upon verification that said read request has been executed correctly, but if said read request has not been executed correctly, then said building means building a queued request to read data from said mirror logical device and transferring control to said virtual input/output request processor, said virtual input/output processor accessing said virtual-to-read channel word mapping module to map the virtual address of said mirror logical device to said real address, and said device controller executing a read request to read a data block from said mirror logical device at said real address of one of said direct access peripheral devices.

References Cited (Backward Citations)

US3866182A Cited
US3623014A Cited
US3668644A Cited
US3882455A Cited
US3889237A Cited
US3984814A Cited
US4404647A Cited
US4250106A Cited
US4394728A Cited
US4525839A Cited
US4611314A Cited
US4543626A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-12-09 1995-06-10 1995-12-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-12-09 1999-06-10 1999-12-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-12-09 2003-06-10 2003-12-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag