Fast write operations
First Claim
1. In a data processing system having a host system, a controller attached to said host system, and a plurality of data storage devices connected to said controller, said controller including a cache, a nonvolatile storage, and a memory containing a status table, said controller comprising attaching means for said plurality of data storage devices, each of said data storage devices having a device status track having a device identification number and controller identification number recorded thereon, said status table in said memory comprising status information on said nonvolatile storage, said cache, a fast write condition indicating a delayed writing of data stored in said nonvolatile storage to one of said data storage devices when active, and a device identification number and a controller identification number of each of said data storage devices, a method of performing a fast write operation comprising the steps of:
- accepting a write request from said host for writing data to one of said data storage devices;
checking said status table to determine if said nonvolatile storage is available, if said cache is active, and if said fast write condition is active;
if said nonvolatile storage is available, said cache is active and said fast write condition is active, then storing duplicate copies of said data in said nonvolatile storage and said cache;
signalling said host that a write operation completed successfully as soon as said duplicate copies of said data are successfully written to said nonvolatile storage and said cache; and
writing said data stored in said nonvolatile storage to one of said data storage devices at a later time;
but if either said nonvolatile storage is unavailable or said fast write condition is inactive, then immediately destaging data stored in said cache to one of said data storage devices; and
in the case where said cache is inactive, then immediately destaging data stored in said nonvolatile storage to one of said data storage devices.
2 Assignments
0 Petitions
Accused Products
Abstract
A technique is described for performing a fast write operation. A host write request, which would normally be serviced by an immediate physical write to a data storage device, is instead written to cache and nonvolatile storage in the data storage device controller. Then, the controller signals the host that the write operation is complete and does not update the physical data storage device until later. A journal log is also used to provide recovery capability in the event of system failure. This technique provides high performance for the units'"'"' operation while assuring integrity by keeping two copies of the write operation until the physical update transpires.
-
Citations
15 Claims
-
1. In a data processing system having a host system, a controller attached to said host system, and a plurality of data storage devices connected to said controller, said controller including a cache, a nonvolatile storage, and a memory containing a status table, said controller comprising attaching means for said plurality of data storage devices, each of said data storage devices having a device status track having a device identification number and controller identification number recorded thereon, said status table in said memory comprising status information on said nonvolatile storage, said cache, a fast write condition indicating a delayed writing of data stored in said nonvolatile storage to one of said data storage devices when active, and a device identification number and a controller identification number of each of said data storage devices, a method of performing a fast write operation comprising the steps of:
-
accepting a write request from said host for writing data to one of said data storage devices; checking said status table to determine if said nonvolatile storage is available, if said cache is active, and if said fast write condition is active; if said nonvolatile storage is available, said cache is active and said fast write condition is active, then storing duplicate copies of said data in said nonvolatile storage and said cache; signalling said host that a write operation completed successfully as soon as said duplicate copies of said data are successfully written to said nonvolatile storage and said cache; and writing said data stored in said nonvolatile storage to one of said data storage devices at a later time; but if either said nonvolatile storage is unavailable or said fast write condition is inactive, then immediately destaging data stored in said cache to one of said data storage devices; and in the case where said cache is inactive, then immediately destaging data stored in said nonvolatile storage to one of said data storage devices. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data processing system for performing a fast write operation comprising:
-
a host system containing a plurality of channels; a controller attached to at least one of said channels and comprising a cache, a nonvolatile storage, and a memory containing a status table; a plurality of data storage devices attached to said controller, each of said data storage devices comprising a plurality of tracks having a plurality of records recorded thereon and a device status track having a device identification number and a controller identification number recorded thereon; said status table storing status information on said nonvolatile storage, said cache, a fast write condition indicating a delayed writing of data stored in said nonvolatile storage to one of said data storage devices when active, and a device identification number and a controller identification number for each of said storage devices; means for accepting a write request from said host to write data to one of said data storage devices; means for checking said status table to determine if said nonvolatile storage is available, if said cache is active, and if said fast write condition is active; means responsive to said checking means for storing duplicate copies of said data in said nonvolatile storage and said cache when said nonvolatile storage is available, said cache is active and said fast write condition is active; means for signalling said host that a write operation completed successfully as soon as said duplicate copies of said data are written to said nonvolatile storage and said cache; means for writing said data stored in said nonvolatile storage on one of said data store devices at a later time; means responsive to said checking means when either said nonvolatile storage is unavailable or said fast write condition is inactive for immediately destaging data stored in said cache to one of said data storage devices; and means responsive to said checking means when said cache is inactive for immediately destaging data stored in said nonvolatile storage to one of said data storage devices. - View Dependent Claims (8, 9)
-
-
10. In a staged storage system wherein at least one processor accesses a volatile primary store in which data are destaged to a secondary store under a Least Recently Used (LRU) replacement algorithm, and data changes are made in records that are written initially to the primary store and thereafter posted to the secondary store only upon destaging, and data is formatted into records and pages, a method for protecting the primary store contents comprising the steps of:
-
(a) responsive to each processor access of the primary store for altering a record, writing a copy of each changed record including a status field and time stamp into a nonvolatile buffer concurrent with updating of an accessed record in the primary store, each changed record and its copy having its status field set to a same value; (b) periodically copying changed records with status fields and time stamps from the buffer onto a circular journal stored on a nonvolatile medium, the journal having finite storage space and being partitioned into k consecutively addressable equal-sized extents, the status field being indicative as to which of the k journal partitions the record belongs, and the time stamp showing an order in which entries were written; and (c) during an interval within which changed records are being written into the buffer for eventual copying onto a journal partition i, selecting records in the primary store that have not been destaged and whose status fields indicate their association with the next journal partition in sequence following i, and writing said selected records into journal partition i. - View Dependent Claims (11, 12, 13, 14, 15)
-
15. A method according to claim 10, wherein each page includes a status field indicative of whether there may exist stale changed records within the page and further wherein the page status field is used to control scanning and selection of prospectively stale records in the volatile primary store for determining which corresponding records in the journal are not stale and should be rewritten.
-
Specification