Write-twice method of fail-safe write caching
First Claim
Patent Images
1. In a system having at least one direct access storage device with at least one surface formatted in a plurality of concentric tracks, there being a respective transducer for each formatted surface, and wherein the direct access storage device has an associated electronic write cache memory, a method comprising:
- providing cache blocks on the at least one surface;
storing data from an initiator to be written to the direct access storage device in the associated electronic write cache memory;
whenever a direct access storage device seek operation is in progress, completing the seek operation and, during any latency time, writing at least some of the data stored in the electronic write cache memory to the cache blocks until all the data stored in the electronic write cache memory is written to the cache blocks; and
after all the data stored in the electronic write cache memory is written to the cache blocks, notifying the initiator that the data has been written to the direct access storage device.
2 Assignments
0 Petitions
Accused Products
Abstract
Fail-safe write caching uses specially arranged portions of a disk surface to store write cache data during drive idle time. In case of a system or drive failure before the data is written to its ultimate disk destination, the data can be read from the specially arranged portions to effect recovery without data loss.
67 Citations
18 Claims
-
1. In a system having at least one direct access storage device with at least one surface formatted in a plurality of concentric tracks, there being a respective transducer for each formatted surface, and wherein the direct access storage device has an associated electronic write cache memory, a method comprising:
-
providing cache blocks on the at least one surface;
storing data from an initiator to be written to the direct access storage device in the associated electronic write cache memory;
whenever a direct access storage device seek operation is in progress, completing the seek operation and, during any latency time, writing at least some of the data stored in the electronic write cache memory to the cache blocks until all the data stored in the electronic write cache memory is written to the cache blocks; and
after all the data stored in the electronic write cache memory is written to the cache blocks, notifying the initiator that the data has been written to the direct access storage device. - View Dependent Claims (2, 3, 4, 5, 8, 11, 13, 14)
storing a list of data written to the cache blocks which has not been written to a respective ultimate direct access storage device destination;
reading data written to the cache blocks and writing the data read from the cache blocks to the respective ultimate destination on the direct access storage device; and
updating the list to reflect that the data was written to the ultimate destination.
-
-
3. The method according to claim 2, further comprising:
-
accessing data from the direct access storage device by initially scanning the cache blocks by reading the list of data written to the cache blocks which has not yet been written to a respective ultimate direct access storage device destination to detect a hit;
if a hit is detected during the scan, then returning the write data associated with the hit from the cache blocks;
otherwise, reading the data from the ultimate destination.
-
-
4. The method according to claim 1, wherein the providing cache blocks on the at least one surface comprises:
providing cache blocks spaced evenly apart in the concentric tracks on the at least one surface.
-
5. The method according to claim 1, wherein there are a plurality of surfaces with concentric tracks, corresponding tracks on the respective surfaces being a respective cylinder, and wherein the providing cache blocks on the at least one surface comprises:
providing cache blocks spaced evenly apart in the concentric tracks of each respective cylinder.
-
8. The method according to claim 3, wherein the at least one disk comprises a plurality of disks having concentric tracks, a respective set of corresponding tracks on the disks being a cylinder, and wherein the specially arranged portions are located on each respective cylinder such that they are spaced evenly apart.
-
11. The method according to claim 3, further comprising:
-
after a block from the write cache memory has been written to a specially arranged portion of the at least one disk, removing that data from the write cache memory, and thereafter, the specially arranged portion of the at least one disk acts as the write cache for that data;
whereby the net effect of the specially arranged portion of the at least one disk acting as a write cache is that more write commands can be cached than could otherwise be stored in the write cache memory, thus creating a virtual cache.
-
-
13. The method according to claim 5, wherein, when data for a write command is written to the respective intended disk location, the associated specially arranged portion is removed from the list of which specially arranged portions contain write cache information which has not yet been written to the respective intended disk location.
-
14. The method according to claim 5, further comprising:
performing error checking of the time stamp.
-
6. A method of fail-safe write caching for a disk drive having at least one disk, comprising:
-
storing in write cache memory, write data intended for a disk location;
writing at least a part of the data stored in the cache memory to specially arranged portions of the at least one disk during drive idle time; and
subsequently, reading the data from the specially arranged portions of the at least one disk and writing the read data to the intended disk location. - View Dependent Claims (7, 9, 10)
-
-
12. A method of fail-safe write caching for a disk drive having at least one disk, comprising:
-
storing in write cache memory, write data intended for a disk location;
writing at least a part of the data stored in the cache memory to specially arranged portions of the at least one disk during drive idle time; and
subsequently, reading the data from the specially arranged portions of the at least one disk and writing the read data to the intended disk location;
wherein the specially arranged portions each comprise;
one block of data from the write cache, a data disk destination address, a time stamp which uniquely identifies the block of data as the latest entry, and a list of which specially arranged portions contain write cache information which has not yet been written to the respective intended disk location.
-
-
15. In a system having at least one direct access storage device with at least one surface formatted in a plurality of concentric tracks, there being a respective transducer for each formatted-surface, and wherein the direct access storage device has an associated electronic write cache memory, a method comprising:
-
providing cache blocks on the at least one surface;
storing data from an initiator to be written to the direct access storage device in the associated electronic write cache memory;
whenever a direct access storage device seek operation is in progress, completing the seek operation and, during any latency time, writing at least some of the data stored in the electronic write cache memory to the cache blocks until all the data stored in the electronic write cache memory is written to the cache blocks; and
after all the data stored in the electronic write cache memory is written to the cache blocks, notifying the initiator that the data has been written to the direct access storage device;
wherein there are a plurality of surfaces with concentric tracks, corresponding tracks on the respective surfaces being a respective cylinder, and wherein the providing cache blocks on the at least one surface comprises;
providing cache blocks spaced evenly apart in the concentric tracks of each respective cylinder; and
wherein the cache blocks are spaced apart so that, on a cylinder basis, a minimum time between the end of a first cache block on a first respective surface relative to the transducer associated with the first respective surface, and the start of a next cache block on a next respective surface relative to the transducer associated with the next respective surface, is greater than a time to do a control switch between the respective transducers. - View Dependent Claims (16)
-
-
17. In a system having at least one direct access storage device with at least one surface formatted in a plurality of concentric tracks, there being a respective transducer for each formatted surface, and wherein the direct access storage device has an associated electronic write cache memory, a method comprising:
-
providing cache blocks on the at least one surface;
storing data from an initiator to be written to the direct access storage device in the associated electronic write cache memory;
whenever a direct access storage device seek operation is in progress, completing the seek operation and, during any latency time, writing at least some of the data stored in the electronic write cache memory to the cache blocks until all the data stored in the electronic write cache memory is written to the cache blocks; and
after all the data stored in the electronic write cache memory is written to the cache blocks, notifying the initiator that the data has been written to the direct access storage device;
wherein the at least one direct access storage device has a plurality of surfaces and transducers, and has a split actuator configuration which disposes the respective transducers into at least two independent actuators so that, while a transducer on one actuator is reading or writing, a transducer on the other actuator is performing a seek; and
wherein, on each surface, one out of every N tracks is a track dedicated to cache blocks;
whereby, if a number of read or write accesses are occurring on one of the two actuators, the other actuator can be writing cache blocks on one of the dedicated, so that multiple cache blocks can be written whenever an actuator is seeking.
-
-
18. In a system having at least one direct access storage device with at least one surface formatted in a plurality of concentric tracks, there being a respective transducer for each formatted surface, and wherein the direct access storage device has an associated electronic write cache memory for receiving write data from an initiator, an apparatus for fail-safe write caching comprising:
-
means for providing cache blocks on the at least one surface of the direct access storage device;
means for storing data received from an initiator, in the associated electronic write cache memory;
means for writing portions of the data stored in the electronic write cache memory to the cache blocks on the at least one surface of the direct access storage device, until all the data stored in the electronic write cache memory is written to the cache blocks, the writing being done during any latency time after completing a seek operation in progress; and
,means for notifying the initiator that the data has been written to the direct access storage device after all the data stored in the electronic write cache memory has been written to the cache blocks on the at least one surface of the direct access storage device.
-
Specification