Patent US1466773A successfully refreshed from Google Patents.
Patent US5606681A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5606681A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and device implementing software virtual disk in computer RAM that uses a cache of IRPs to increase system performance

Assignee: Superspeed LLC
•
Filing: 1994-03-02
•
Granted: 1997-02-25
•
Expires: 2014-03-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Virtual disks are created in RAM having the characteristics of either a write through unit, a write deferred unit, or a repeat save interval unit, which identifies the mode of operation the virtual disk uses in the backup of its RAM data to a backing disk drive. A unit identified as a write through unit proceeds by writing the write I/O data to the virtual disk in RAM and immediately to the backing disk drive. A write through unit does not signal completion of a write I/O data until the data has been written to both the virtual disk in RAM and the backing disk drive. A unit identified as a write deferred unit proceeds by writing the write I/O data to the virtual disk in RAM and immediately from the RAM to the backing disk drive. A write deferred unit will signal completion of a write I/O data to the virtual disk in RAM only and does not wait for the backing disk write to complete. Write deferred units use an IRP held in a cache to clone the I/O data packet with the data source directed from the virtual disk data in RAM, sending this cloned I/O data packet IRP to the backing disk drive. A repeat save interval unit proceeds without backing up the write I/O data immediately to the backing disk and will only write the I/O data to the virtual disk in RAM. A repeat save interval unit employs a timer and when this timer expires on an adjustable interval, a complete save of the contents of the virtual disk in RAM is made to the backing disk drive.

Inventors

  • 👤 Peter Smith
  • 👤 Eric S. Dickman
  • 👤 Ian Percival

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 20:41
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 155 words
A method for implementing a software virtual disk on a computer system comprising the steps of: (a) creating a structure in RAM for acting as a virtual disk; (b) designating the structure in RAM as a write through unit; (c) allocating a plurality of IRP's to a cache; (d) initiating an I/O write of data to the structure in RAM; (e) identifying the structure in RAM as a write through unit; (f) cloning the data into one of the IRP's to form a cloned I/O data packet; (g) writing the cloned I/O data packet to a backing disk in response to identification of the structure as a write through unit; (h) after writing the cloned I/O data packet to a backing disk, returning said one of the IRP's to the cache; (i) writing the data into the structure in RAM; and (j) signalling completion of the I/O write upon completion of steps (g) and (i).
Claim 2
Independent Claim 155 words
A method for implementing a software virtual disk on a computer system comprising the steps of: (a) creating a structure in RAM for acting as a virtual disk; (b) designating the structure in RAM as a write through unit; (c) allocating a plurality of IRP's to a cache; (d) initiating an I/O write of data to the structure in RAM; (e) identifying the structure in RAM as a write through unit; (f) cloning the data into one of the IRP's to form a cloned I/O data packet; (g) writing the cloned I/O data packet to a backing disk in response to identification of the structure as a write through unit; (h) after writing the cloned I/O data packet to a backing disk, returning said one of the IRP's to the cache; (i) writing the data into the structure in RAM; and (j) signalling completion of the I/O write upon completion of steps (g) and (i).
Claim 3
Independent Claim 124 words
A method for implementing a software virtual disk on a computer system comprising the steps of: creating a structure in RAM for acting as a virtual disk; designating the structure in RAM as a write deferred unit; allocating a plurality of IRP's to a cache; initiating an I/O write of data to the structure in RAM; identifying the structure in RAM as a write deferred unit; cloning the data into one of the IRP's to form a cloned I/O data packet; writing the data into the structure in RAM; signalling completion of the I/O write upon writing the data into the structure in RAM; writing the cloned I/O data packet to a backing disk; and returning said one of the IRP's to the cache.
Claim 4
Independent Claim 124 words
A method for implementing a software virtual disk on a computer system comprising the steps of: creating a structure in RAM for acting as a virtual disk; designating the structure in RAM as a write deferred unit; allocating a plurality of IRP's to a cache; initiating an I/O write of data to the structure in RAM; identifying the structure in RAM as a write deferred unit; cloning the data into one of the IRP's to form a cloned I/O data packet; writing the data into the structure in RAM; signalling completion of the I/O write upon writing the data into the structure in RAM; writing the cloned I/O data packet to a backing disk; and returning said one of the IRP's to the cache.
Claim 5
Dependent Claim 37 words
The method of claim 2 further comprising the steps of detecting an error characterized by an inability to correctly write the cloned I/O packet to the backing disk and disabling write deferral in response to said error.
Claim 6
Dependent Claim 159 words
A programmed computer providing a virtual disk capability, said computer being connected to a network of computers and comprising: a plurality of memory disks; an operating system for communicating with said plurality of memory disks and for providing the computers on the network with access to said memory disks; RAM in communication with said operating system; means for creating a structure in said RAM that acts as a virtual disk available to said operating system over said network and wherein said operating system communicates with the virtual disk as if it were one of said memory disks; a network availability indicator for allowing the virtual disk to be found and served over the network through said operating system: means for creating a backing file in one of said memory disks for the virtual disk; and means, responsive to an I/O write of data to the virtual disk, for writing the data into the virtual disk and the backing file.
Claim 7
Dependent Claim 159 words
A programmed computer providing a virtual disk capability, said computer being connected to a network of computers and comprising: a plurality of memory disks; an operating system for communicating with said plurality of memory disks and for providing the computers on the network with access to said memory disks; RAM in communication with said operating system; means for creating a structure in said RAM that acts as a virtual disk available to said operating system over said network and wherein said operating system communicates with the virtual disk as if it were one of said memory disks; a network availability indicator for allowing the virtual disk to be found and served over the network through said operating system: means for creating a backing file in one of said memory disks for the virtual disk; and means, responsive to an I/O write of data to the virtual disk, for writing the data into the virtual disk and the backing file.
Claim 8
Dependent Claim 95 words
The programmed computer of claim 4 wherein said means for writing comprises an algorithm initiated by an I/O write of data to the virtual disk to identify the structure in RAM as a write through unit, to clone the data to create a cloned I/O data packet, to write the cloned I/O data packet to the backing file, to write the data into the structure in RAM and to signal to said operating system completion of the I/O write upon completing the write to the backing file and the write to the structure in RAM.
Claim 9
Dependent Claim 88 words
The programmed computer of claim 4 wherein said means for writing comprises an algorithm initiated by an I/O write of data to the virtual disk to identify the structure in RAM as a write deferred unit, to clone the data to create a cloned I/O data packet, to write the data into the structure in RAM, to signal to said operating system completion of the I/O write upon writing the data into the structure in RAM and to write the cloned I/O data packet to the backing file.
Claim 10
Dependent Claim 142 words
A storage medium encoded with a program which when loaded into a digital computer having an operating system provides said computer with a virtual disk capability wherein said program comprises the steps of: creating a structure in RAM for acting as a virtual disk; designating the structure in RAM as a write deferred unit; allocating a plurality of IRP's to a cache; initiating an I/O write of data to the structure in RAM; identifying the structure in RAM as a write deferred unit; cloning the data into one of the IRP's to form a cloned I/O data packet; writing the data into the structure in RAM; signaling completion of the I/O write upon writing the data into the structure in RAM; writing the cloned I/O data packet to a backing disk; and thereafter returning said one of the IRP's to the cache.
Claim 11
Dependent Claim 142 words
A storage medium encoded with a program which when loaded into a digital computer having an operating system provides said computer with a virtual disk capability wherein said program comprises the steps of: creating a structure in RAM for acting as a virtual disk; designating the structure in RAM as a write deferred unit; allocating a plurality of IRP's to a cache; initiating an I/O write of data to the structure in RAM; identifying the structure in RAM as a write deferred unit; cloning the data into one of the IRP's to form a cloned I/O data packet; writing the data into the structure in RAM; signaling completion of the I/O write upon writing the data into the structure in RAM; writing the cloned I/O data packet to a backing disk; and thereafter returning said one of the IRP's to the cache.
Claim 12
Dependent Claim 32 words
The method of claim 2 further comprising the step of periodically calculating an amount of IRP usage and returning IRP's from the cache to the operating system that exceed the calculated amount.
Claim 13
Dependent Claim 17 words
The method of claim 2 further comprising checking for IRP pool expansion failures in the operating system.
Claim 14
Dependent Claim 33 words
The method of claim 2 wherein the computer system is connected to a network of computers and further comprising the step of designating the structure in RAM as being available over the network.
Claim 15
Dependent Claim 31 words
The programmed computer of claim 4 further comprising support code for opening a channel to the backing file when the virtual disk is mounted for data access from said operating system.
Claim 16
Dependent Claim 28 words
The programmed computer of claim 11 wherein said support code further includes means for closing the channel when the virtual disk is dismounted from access or is dissolved.
Claim 17
Dependent Claim 35 words
The programmed computer of claim 6 further comprising a cache of IRP's and wherein said means for writing creates a cloned I/O packet by cloning the data into one of the IRP's in said cache.
Claim 18
Dependent Claim 32 words
The programmed computer of claim 13 further comprising means for periodically calculating an amount of IRP usage and returning IRP's from the cache to the operating system that exceed the calculated amount.
Claim 19
Dependent Claim 20 words
The programmed computer of claim 13 further comprising means for checking for IRP pool expansion failures in the operating system.
Claim 20
Dependent Claim 36 words
The storage medium of claim 7 wherein said program further comprises the step of periodically calculating an amount of IRP usage and returning IRP's from the cache to the operating system that exceed the calculated amount.
Claim 21
Dependent Claim 21 words
The storage medium of claim 7 wherein said program further comprises checking for IRP pool expansion failures in the operating system.
Claim 22
Dependent Claim 25 words
The storage medium of claim 7 wherein said program further comprises a step of designating the structure in RAM as being available over a network.
Claim 23
Dependent Claim 42 words
The method of claim 1 wherein the computer system is connected to a network and further comprising designating the structure in RAM as being available over the network and wherein said step of initiating an I/O write takes place over the network.

References Cited (Backward Citations)

US3820078A Cited
US4701848A Cited
US4763333A Cited
US4763333B1 Cited
US4849879A Cited
US5091846A Cited
JPS6436351A Cited
US5063499A Cited
US5359713A Cited
US5347648A Cited
US5353430A Cited
US5241508A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-02-25 2000-08-26 2001-02-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-02-25 2004-08-26 2005-02-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-02-25 2008-08-26 2009-02-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag