Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
2000-10-12
2004-04-13
Baderman, Scott (Department: 2184)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C714S013000
Reexamination Certificate
active
06721902
ABSTRACT:
TECHNICAL FIELD
The present invention relates to backup and incremental backup of objects stored on a mass storage device to backup mass storage devices, and, in particular, to a method for preventing potential corruption of backup mass storage devices by locking the mass storage devices.
BACKGROUND OF THE INVENTION
The present invention relates to backing up a primary data object stored on a mass storage device to backup copies of the primary data object stored on backup mass storage devices so that, if a primary data object is inadvertently deleted or corrupted during subsequent input/output (“I/O”) operations, the primary data object can be restored to the mass storage device by copying a backup object to the mass storage device from a backup mass storage device. The present invention is described and illustrated with reference to an embodiment included in a disk array controller that services I/O requests from a number of remote computers. However, alternative embodiments of the present invention may be employed in controllers of many other types of storage devices as well as in a general electronic data storage application.
FIG. 1
is a block diagram of a standard disk drive. The disk drive
101
receives I/O requests from remote computers via a communications medium
102
such as a computer bus, fibre channel, or other such electronic communications medium. For many types of storage devices, including the disk drive
101
illustrated in
FIG. 1
, the vast majority of I/O requests are either READ or WRITE requests. A READ request requests that the storage device return to the requesting remote computer some requested amount of electronic data stored within the storage device. A WRITE request requests that the storage device store electronic data furnished by the remote computer within the storage device. Thus, as a result of a READ operation carried out by the storage device, data is returned via communications medium
102
to a remote computer, and as a result of a WRITE operation, data is received from a remote computer by the storage device via communications medium
102
and stored within the storage device.
The disk drive storage device illustrated in
FIG. 1
includes controller hardware and logic
103
including electronic memory, one or more processors or processing circuits, and controller firmware, and also includes a number of disk platters
104
coated with a magnetic medium for storing electronic data. The disk drive contains many other components not shown in
FIG. 1
, including read/write heads, a high-speed electronic motor, a drive shaft, and other electronic, mechanical, and electromechanical components. The memory within the disk drive includes a request/reply buffer
105
which stores I/O requests received from remote computers and an I/O queue
106
that stores internal I/O commands corresponding to the I/O requests stored within the request/reply buffer
105
. Communication between remote computers and the disk drive, translation of I/O requests into internal I/O commands, and management of the I/O queue, among other things, are carried out by the disk drive I/O controller as specified by disk drive I/O controller firmware
107
. Translation of internal I/O commands into electromechanical disk operations in which data is stored onto, or retrieved from, the disk platters
104
is carried out by the disk drive I/O controller as specified by disk media read/write management firmware
108
. Thus, the disk drive I/O control firmware
107
and the disk media read/write management firmware
108
, along with the processors and memory that enable execution of the firmware, compose the disk drive controller.
Individual disk drives, such as the disk drive illustrated in
FIG. 1
, are normally connected to, and used by, a single remote computer, although it has been common to provide dual-ported disk drives for use by two remote computers and multi-port disk drives that can be accessed by numerous remote computers via a communications medium such as a fibre channel. However, the amount of electronic data that can be stored in a single disk drive is limited. In order to provide much larger-capacity electronic data storage devices that can be efficiently accessed by numerous remote computers, disk manufacturers commonly combine many different individual disk drives, such as the disk drive illustrated in
FIG. 1
, into a disk array device, increasing both the storage capacity as well as increasing the capacity for parallel I/O request servicing by concurrent operation of the multiple disk drives contained within the disk array.
FIG. 2
is a simple block diagram of a disk array. The disk array
202
includes a number of disk drive devices
203
,
204
, and
205
. In
FIG. 2
, for simplicity of illustration, only three individual disk drives are shown within the disk array, but disk arrays may contain many tens or hundreds of individual disk drives. A disk array contains a disk array controller
206
and cache memory
207
. Generally, data retrieved from disk drives in response to READ requests may be stored within the cache memory
207
so that subsequent requests for the same data can be more quickly satisfied by reading the data from the quickly accessible cache memory rather than from the much slower electromechanical disk drives. Various elaborate mechanisms are employed to maintain, within the cache memory
207
, data that has the greatest chance of being subsequently re-requested within a reasonable amount of time. The disk array controller
206
may also elect to store data received from remote computers via WRITE requests in cache memory
207
in the event that the data may be subsequently requested via READ requests or in order to defer slower writing of the data to physical storage medium.
Electronic data is stored within a disk array at specific addressable locations. Because a disk array may contain many different individual disk drives, the address space represented by a disk array is immense, generally many thousands of gigabytes. The overall address space is normally partitioned among a number of abstract data storage resources called logical units (“LUNs”). A LUN includes a defined amount of electronic data storage space, mapped to the data storage space of one or more disk drives within the disk array, and may be associated with various logical parameters including access privileges, backup frequencies, and mirror coordination with one or more LUNs. LUNs may also be based on random access memory (“RAM”), mass storage devices other than hard disks, or combinations of memory, hard disks, and/or other types of mass storage devices. Remote computers generally access data within a disk array through one of the many abstract LUNs
208
-
215
provided by the disk array via internal disk drives
203
-
205
and the disk array controller
206
. Thus, a remote computer may specify a particular unit quantity of data, such as a byte, word, or block, using a bus communications media address corresponding to a disk array, a LUN specifier, normally a 64-bit integer, and a 32-bit, 64-bit, or 128-bit data address that specifies a LUN, and a data address within the logical data address partition allocated to the LUN. The disk array controller translates such a data specification into an indication of a particular disk drive within the disk array and a logical data address within the disk drive. A disk drive controller within the disk drive finally translates the logical address to a physical medium address. Normally, electronic data is read and written as one or more blocks of contiguous 32-bit or 64-bit computer words, the exact details of the granularity of access depending on the hardware and firmware capabilities within the disk array and individual disk drives as well as the operating system of the remote computers generating I/O requests and characteristics of the communication medium interconnecting the disk array with the remote computers.
In many computer applications and systems that need to reliably store and retrieve data from a mass storage device, such
Baderman Scott
Bonura Timothy M.
Hewlett--Packard Development Company, L.P.
LandOfFree
Method and system for providing LUN-based backup reliability... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system for providing LUN-based backup reliability..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for providing LUN-based backup reliability... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3220728