Mirroring agent accessible to remote host computers, and...

Electrical computers and digital processing systems: memory – Storage accessing and control – Control technique

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S112000, C711S114000, C711S202000, C711S206000

Reexamination Certificate

active

06594745

ABSTRACT:

TECHNICAL FIELD
The present invention is related to replication and concurrent updating of multiple physical storage devices to provide fail-over data redundancy, and, in particular, to a hardware-based mirroring agent, interconnected with remote host computers and remote data-storage devices via a communications medium, that coordinates and manages mirroring of remote data-storage devices and that provides to host computers a simple interface to mirrored physical data-storage devices.
BACKGROUND OF THE INVENTION
The present invention relates to concurrently synchronized, redundant storage of data on multiple mass storage devices. The present invention is described and illustrated with reference to an embodiment similar, in many respects, to a disk array that services I/O requests from a number of remote computers. Therefore, an overview of mass storage devices, disk arrays, and disk mirroring is provided, below.
FIG. 1
illustrates data storage within a platter of a hard disk drive. The platter is a thin disk, coated with a magnetic medium, such as iron oxide. Data can be stored in tiny areas of the surface of the platter having induced, stable magnetic fields. The surface of the disk platter
102
is divided into concentric rings, or tracks, such as tracks
104
-
105
in FIG.
1
. Current disk platters contain many thousands of tracks. Each track is divided into radial segments, or sectors, such as sector
106
of track
104
in FIG.
1
. Sectors each normally comprise a fixed number of bytes, normally 256, 512, 1024, or 2048 bytes. Data is normally retrieved from, and stored to, a hard disk drive in units of sectors. Once a sector is read from a disk and stored into computer memory, a program may access individual bytes and bits within the sector by accessing the random memory in which the sector is stored. Thus, the physical location of data on a disk platter can be described by a starting location and an ending location, each location specified as a track/sector/byte triple. Normally, a hard disk drive contains a number of platters aligned in parallel along a spindle passing through the center of each platter. Typically, the track and sectors of the platter can be thought of as aligned to form cylinders spanning the platters. In such hard disk drives, the physical address of a byte of data may also be described by a track/sector/byte triplet, where the byte within an aligned group of sectors composing a section of a cylinder are consecutively ordered.
FIG. 2
is a block diagram of a standard disk drive. The disk drive
201
receives input/output (“I/O”) requests from remote computers via a communications medium
202
such as a computer bus, fibre channel, or other such electronic communications medium. For many types of storage devices, including the disk drive
201
illustrated in
FIG. 2
, 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
202
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
202
and stored within the storage device.
The disk drive storage device illustrated in
FIG. 2
includes controller hardware and logic
203
including electronic memory, one or more processors or processing circuits, and controller firmware, and also includes a number of disk platters
204
coated with a magnetic medium for storing electronic data. The disk drive contains many other components not shown in
FIG. 2
, 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
205
which stores I/O requests received from remote computers and an I/O queue
206
that stores internal I/O commands corresponding to the I/O requests stored within the request/reply buffer
205
. 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
207
. Translation of internal I/O commands into electromechanical disk operations in which data is stored onto, or retrieved from, the disk platters
204
is carried out by the disk drive I/O controller as specified by disk media read/write management firmware
208
. Thus, the disk drive I/O control firmware
207
and the disk media read/write management firmware
208
, 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. 2
, are normally connected to, and used by, a single remote computer, although it has been common to provide dual-ported disk drives for concurrent use by two computers and multi-host-accessible 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. 2
, 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. 3
is a simple block diagram of a disk array. The disk array
302
includes a number of disk drive devices
303
,
304
, and
305
. In
FIG. 3
, 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
306
and cache memory
307
. Generally, data retrieved from disk drives in response to READ requests may be stored within the cache memory
307
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
307
, data that has the greatest chance of being subsequently re-requested within a reasonable amount of time. The disk array controller
306
may also elect to store data received from remote computers via WRITE requests in cache memory
307
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 th

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Mirroring agent accessible to remote host computers, and... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Mirroring agent accessible to remote host computers, and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Mirroring agent accessible to remote host computers, and... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3042775

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.