US5829019A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Computer network server backup with posted write cache disk controllers
Assignee: Hewlett Packard Development Co LP
•
Filing: 1997-04-22
•
Granted: 1998-10-27
•
Expires: 2017-04-22
Abstract
Abstract A computer system according to the invention includes a posted write cache for writing to a mass storage subsystem. Upon restart, the computer system determines whether the mass storage subsystem has been interveningly written to by another computer system since the computer system last wrote to that mass storage subsystem. If so, the computer system flushes its posted write cache, thus prevent invalid data from being written to the mass storage subsystem.
Inventors
- 👤 Mark J. Thompson
- 👤 Randy D. Schneider
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 21:43
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/202; G06F11/2023; G06F11/2033; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1435; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0866; G06F11/2038; G06F11/2046
Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
103 words
A storage system controller for use with a computer and a mass storage subsystem, the storage system controller comprising: a microcontroller for executing code; microcontroller executable code that when executed by said microcontroller determines whether the mass storage subsystem has been written to since a most recent writing of data to the mass storage subsystem; and a posted write cache for holding data from the computer for intended storage in the mass storage subsystem, the posted write cache including cache flush logic that flushes the cache in response to said microcontroller executable code determining that the mass storage subsystem has been written to.
Claim 2
Dependent Claim
103 words
A storage system controller for use with a computer and a mass storage subsystem, the storage system controller comprising: a microcontroller for executing code; microcontroller executable code that when executed by said microcontroller determines whether the mass storage subsystem has been written to since a most recent writing of data to the mass storage subsystem; and a posted write cache for holding data from the computer for intended storage in the mass storage subsystem, the posted write cache including cache flush logic that flushes the cache in response to said microcontroller executable code determining that the mass storage subsystem has been written to.
Claim 3
Dependent Claim
125 words
The controller of claim 1, wherein said posted write cache further includes a battery backed-up variable indicating the number of mass storage subsystem updates since reset, wherein the mass storage subsystem includes a value indicating the number of updates since reset, and wherein said microcontroller executable code further comprises: reading code that when executed reads from the mass storage subsystem said storage subsystem number of updates since reset; and comparison code that when executed compares the battery backed-up variable with the number of updates since reset with the storage subsystem number of updates since reset, and if the battery backed-up variable is less, determines that the mass storage subsystem has been written to since the most recent writing of data to the mass storage subsystem.
Claim 4
Dependent Claim
20 words
The controller of claim 2, wherein said reading code reads from redundant information sectors (RIS) of the mass storage subsystem.
Claim 5
Dependent Claim
22 words
The controller of claim 2, wherein said reading code reads from redundant array of inexpensive disks (RAID) of the mass storage subsystem.
Claim 6
Independent Claim
105 words
A system for providing server back-up of a server with a posted write cache, the system comprising: a first server with a posted write cache; a second server for providing back-up for said first server; a mass storage subsystem selectively coupled to the first server and the second server; a microcontroller for executing code in said first server; microcontroller executable code that when executed by said microcontroller determines whether the second server has written to the mass storage subsystem since the first server has written to the mass storage subsystem; and cache flush logic in said posted write cache responsive to said microcontroller executable code.
Claim 7
Independent Claim
105 words
A system for providing server back-up of a server with a posted write cache, the system comprising: a first server with a posted write cache; a second server for providing back-up for said first server; a mass storage subsystem selectively coupled to the first server and the second server; a microcontroller for executing code in said first server; microcontroller executable code that when executed by said microcontroller determines whether the second server has written to the mass storage subsystem since the first server has written to the mass storage subsystem; and cache flush logic in said posted write cache responsive to said microcontroller executable code.
Claim 8
Dependent Claim
124 words
The system of claim 5, wherein said first server further includes a battery backed-up variable indicating the number of mass storage subsystem updates since reset, wherein the mass storage subsystem includes a value indicating the number of updates since reset, and wherein said microcontroller executable code further comprises. reading code that when executed reads from the mass storage subsystem said storage subsystem number of updates since reset; and comparison code that when executed compares the battery backed-up variable with the number of updates since reset with the storage subsystem number of updates since reset, and if the battery backed-up variable is less, determines that the mass storage subsystem has been written to since the most recent writing of data to the mass storage subsystem.
Claim 9
Dependent Claim
20 words
The system of claim 6, wherein said reading code reads from redundant information sectors (RIS) of the mass storage subsystem.
Claim 10
Dependent Claim
22 words
The system of claim 6, wherein said reading code reads from redundant array of inexpensive disks (RAID) of the mass storage subsystem.
Claim 11
Dependent Claim
54 words
The system of claim 5, wherein said mass storage subsystem includes an internal bus, a first port, and a second port, said mass storage subsystem including relays for coupling the internal bus to the second port in response to a predetermined in-band signal being received by said mass storage subsystem over the second port.
Claim 12
Dependent Claim
72 words
The system of claim 9, wherein said first server is coupled to the first port of said mass storage subsystem and provides an indication that is has failed; wherein said second server is coupled to the second port of said mass storage subsystem and to said first server; and wherein said second server provides the predetermined in-band signal to the second port upon receiving the indication that said first server has failed.
Claim 13
Dependent Claim
22 words
The system of claim 5, wherein said first server is a primary server and wherein said second server is a backup server.
Claim 14
Dependent Claim
22 words
The system of claim 5, wherein said first server is a primary server and wherein said second server is a primary server.
Claim 15
Dependent Claim
137 words
A server for use with a mass storage subsystem, the server comprising: a processor for running an operating system; a video subsystem coupled to said processor; memory coupled to said processor for storing data and code; and a storage system controller coupled to said processor and said memory, the storage system controller comprising: a microcontroller for executing code; microcontroller executable code that when executed by said microcontroller determines whether the mass storage subsystem has been written to since a most recent writing of data to the mass storage subsystem; and a posted write cache for holding data from the computer for intended storage in the mass storage subsystem, the posted write cache including cache flush logic that flushes the cache in response to said microcontroller executable code determining that the mass storage subsystem has been written to.
Claim 16
Dependent Claim
137 words
A server for use with a mass storage subsystem, the server comprising: a processor for running an operating system; a video subsystem coupled to said processor; memory coupled to said processor for storing data and code; and a storage system controller coupled to said processor and said memory, the storage system controller comprising: a microcontroller for executing code; microcontroller executable code that when executed by said microcontroller determines whether the mass storage subsystem has been written to since a most recent writing of data to the mass storage subsystem; and a posted write cache for holding data from the computer for intended storage in the mass storage subsystem, the posted write cache including cache flush logic that flushes the cache in response to said microcontroller executable code determining that the mass storage subsystem has been written to.
Claim 17
Dependent Claim
125 words
The server of claim 13, wherein said posted write cache further includes a battery backed-up variable indicating the number of mass storage subsystem updates since reset, wherein the mass storage subsystem includes a value indicating the number of updates since reset, and wherein said microcontroller executable code further comprises: reading code that when executed reads from the mass storage subsystem said storage subsystem number of updates since reset; and comparison code that when executed compares the battery backed-up variable with the number of updates since reset with the storage subsystem number of updates since reset, and if the battery backed-up variable is less, determines that the mass storage subsystem has been written to since the most recent writing of data to the mass storage subsystem.
Claim 18
Dependent Claim
20 words
The server of claim 14, wherein said reading code reads from redundant information sectors (RIS) of the mass storage subsystem.
Claim 19
Dependent Claim
22 words
The server of claim 14, wherein said reading code reads from redundant array of inexpensive disks (RAID) of the mass storage subsystem.
Claim 20
Dependent Claim
54 words
The server of claim 14, wherein said mass storage subsystem includes an internal bus, a first port, and a second port, said mass storage subsystem including relays for coupling the internal bus to the second port in response to a predetermined in-band signal being received by said mass storage subsystem over the second port.
Claim 21
Dependent Claim
141 words
A server for use with a mass storage subsystem, the server comprising: a processor for running an operating system; a Basic Input/Output System (BIOS) for handling communications involving said processor; memory coupled to said processor for storing data and code; and a storage system controller coupled to said processor and said memory, the storage system controller comprising: a microcontroller for executing code; microcontroller executable code that when executed by said microcontroller determines whether the mass storage subsystem has been written to since a most recent writing of data to the mass storage subsystem; and a posted write cache for holding data from the computer for intended storage in the mass storage subsystem the posted write cache including cache flush logic that flushes the cache in response to said microcontroller executable code determining that the mass storage subsystem has been written to.
Claim 22
Dependent Claim
141 words
A server for use with a mass storage subsystem, the server comprising: a processor for running an operating system; a Basic Input/Output System (BIOS) for handling communications involving said processor; memory coupled to said processor for storing data and code; and a storage system controller coupled to said processor and said memory, the storage system controller comprising: a microcontroller for executing code; microcontroller executable code that when executed by said microcontroller determines whether the mass storage subsystem has been written to since a most recent writing of data to the mass storage subsystem; and a posted write cache for holding data from the computer for intended storage in the mass storage subsystem the posted write cache including cache flush logic that flushes the cache in response to said microcontroller executable code determining that the mass storage subsystem has been written to.
Claim 23
Dependent Claim
125 words
The server of claim 18, wherein said posted write cache further includes a battery backed-up variable indicating the number of mass storage subsystem updates since reset, wherein the mass storage subsystem includes a value indicating the number of updates since reset, and wherein said microcontroller executable code further comprises: reading code that when executed reads from the mass storage subsystem said storage subsystem number of updates since reset; and comparison code that when executed compares the battery backed-up variable with the number of updates since reset with the storage subsystem number of updates since reset, and if the battery backed-up variable is less, determines that the mass storage subsystem has been written to since the most recent writing of data to the mass storage subsystem.
Claim 24
Dependent Claim
20 words
The server of claim 19, wherein said reading code reads from redundant information sectors (RIS) of the mass storage subsystem.
Claim 25
Dependent Claim
22 words
The server of claim 19, wherein said reading code reads from redundant array of inexpensive disks (RAID) of the mass storage subsystem.
Claim 26
Dependent Claim
54 words
The server of claim 19, wherein said mass storage subsystem includes an internal bus, a first port, and a second port, said mass storage subsystem including relays for coupling the internal bus to the second port in response to a predetermined in-band signal being received by said mass storage subsystem over the second port.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-10-26 | 2002-04-27 | 2002-10-27 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-10-26 | 2006-04-27 | 2006-10-27 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-10-26 | 2010-04-27 | 2010-10-27 | $7700.00 | Window Closed / Lapsed |