Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition
Reexamination Certificate
1999-06-29
2002-04-23
Thai, Tuan V. (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Specific memory composition
C071S064120, C071S064120
Reexamination Certificate
active
06378037
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of The Invention
The invention relates to the field of non-volatile storage device operation, and in particular, to the temporary storage of the contents of a direct access storage device (DASD) write command prior to the contents being written to their intended destination location on a disk surface, commonly referred to in the art as write caching.
2. Background Information
In data processing systems, processors and electronic memory devices generally operate at relatively high speeds. Volatile electronic memory devices can be written to and read from rapidly. However, when system power is removed, intentionally or accidentally, the contents of volatile memory, by definition, are not retained. Many data processing applications require long-term data storage and/or a high-degree of data integrity, and these needs are met by non-volatile data storage devices. Non-volatile storage can be provided by a variety of devices, most commonly, by direct access storage devices (DASD's), often also referred to as hard disk drives.
However, many non-volatile memory devices, such as DASD's and tape drives, for example, are inherently slower than data processors and volatile memory devices by virtue of their being mechanical devices having moving parts. A DASD generally has one or more magnetically readable and writable disks, which rotate, each disk having one or more electromagnetic transducers (heads) per readable/writable surface which can be positioned over a desired location to read and/or write data on a respective disk surface. A transducer (head) receives an electrical signal and produces a magnetic field to write data to a disk surface. Conversely, to read written data from a disk surface, a head is passed over magnetized areas on the disk surface and a magnetic field is thereby induced in the head producing an electrical signal output.
Hard disks are generally metal or glass platters coated with a magnetic oxide that can be magnetized to represent data. Floppy disks, by contrast, are generally made of a flexible plastic (e.g., Mylar) material, disposed in a protective hardened plastic jacket. A hard disk drive (DASD) generally has several disks, also called platters, assembled together in a disk pack. All of the platters rotate together on a common spindle. A series of access arms carrying read/write heads, one for each disk surface top and bottom, provide access to concentric tracks on the platters. The access arms generally move together and are sometimes referred to as a comb structure since they resemble the teeth of a comb.
A disk surface is typically formatted into a number of concentric tracks. The tracks may be subdivided into sectors, which are subdivided into blocks for storing user data and the like. The formatting enables a particular location on the disk surface to be reliably accessed by providing markers for accurately positioning a read and/or write head. A set of corresponding tracks on a set of disk platters is referred to as a cylinder. A set of contiguous tracks/cylinders on a platter/platters is referred to as a partition (see FIGS.
1
B and
1
C).
Of course, due to the physical properties of the DASD, data cannot be instantaneously written to a particular location on the rotating disk surface. A head cannot instantaneously move to the correct disk surface location to perform a write operation when desired, for example. Individual bits of data are written to respective individual locations in a serial fashion as the disk surface rotates under the head. Thus, when a data processing system writes data to a DASD, the writing process is naturally slower than when writing to an electronic device, such as volatile memory.
In a data processing system write to DASD operation, for fault tolerance and recovery reasons, before moving on to other tasks, the data processing system should wait for confirmation that the data has been written to the DASD. However, the inherently slower operation of the DASD could cause the data processor to be idle for significant periods of time waiting for the DASD to complete the write operation unless measures are taken to avoid this.
Write caching is one method used to avoid slowing down a data processing system when a write to non-volatile storage, for example, to a DASD, is performed. This is generally accomplished by temporarily placing the contents of the write command (data) into a volatile cache memory associated with the DASD before writing them to the DASD surface. Once they are written to the cache memory, an inherently faster process than writing to the DASD, a write confirmation message is sent back to the processor indicating that the contents were written so that the processor can continue with other activities. However, in fact, they were not really written to the surface of the DASD. The data is really only cached in volatile memory and will actually be written to the destination DASD surface some time later.
While such write caching has the effect of speeding up overall system operation under ordinary circumstances, there is the danger that should a power interruption, drive fault, or other error occur between the time the write confirmation message is sent to the processor and the time the data is actually written to the DASD surface, data will be lost. Measures are available to compensate for certain causes of such failures, such as uninterruptable power supplies (UPS's) to prevent a power source interruption from shutting down the data processing system before data writing can be completed.
For example, U.S. Pat. No. 5,748,874 to Hicksted et al. (May 5, 1998) titled “RESERVED CYLINDER FOR SCSI DEVICE WRITE BACK CACHE” describes a disk drive in a computer system equipped with a power storage unit that supplies power to the drive controller when there is a system power interruption, such as a power-down or a power failure. Once the controller is notified that system power has been interrupted, it immediately initiates a seek to a reserved location in the disk drive and stores the contents of the cache memory at the reserved location. After power has been restored to the system, the controller loads the contents of the reserved cylinders back to the cache memory and completes the pending write operations by writing all of the data items in the cache to their respective final locations in the drive.
Hardware manufacturers have generally addressed the problem of potential write cache data loss in one of three ways: just ignore the problem, due to the large performance gains seen with write caching, and accept a higher risk of data loss; use additional hardware to provide a non-volatile write cache (including uninterruptable power supply arrangements); or simply disable the write caching feature altogether where a data loss would be catastrophic.
The additional hardware solution may take the form of an uninterruptable power supply or the like, such as in the Hicksted et al. patent referenced above, or some other type of non-volatile memory, such as flash memory, for example. However, even these types of additional hardware measures do not solve the problem of a hard drive dead lock, where the drive must be reinitialized. Dead lock occurs when the hard drive is unable to process commands and/or communicate with the initiator. This is a state that is never supposed to occur, but it can happen. This may be the fault of the drive or the initiator. Usually, the only solution to this deadlock is to restart the drive and possibly the entire system by an internal reset or by power-cycling the equipment. In either case, if data meant to be written to the disk is contained in the drive cache when this occurs, data will be lost. This would not be a problem if the initiator were aware that the data has not been written, but in the case of a standard write cache, this is not the case. With the invention, the initiator is not notified that the data has been written until it has actually been written somewhere, i.e., to WTCB's. Although the data may not have been written to its fin
Bussan Matthew J.
Lynt Christopher H.
Thai Tuan V.
LandOfFree
Write-twice method of fail-safe write caching does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Write-twice method of fail-safe write caching, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Write-twice method of fail-safe write caching will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2817061