Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1998-05-22
2001-01-23
Beausoliel, Jr., Robert W. (Department: 2785)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C711S161000
Reexamination Certificate
active
06178521
ABSTRACT:
FIELD OF THE INVENTION
The invention relates generally to the field of computer systems and the storage of data therein.
BACKGROUND OF THE INVENTION
Computer systems have become the primary means for individuals and organizations to manipulate and store data. Typically, the larger the amount of data to be stored and manipulated, the larger the reliance on a computer system. Often, large amounts of data are stored in one or more databases, where the data is organized into a database structure. Today, it is increasingly common for an entity which is responsible for controlling significant amounts of data to institute computer based systems, using electronic storage of data and databases. For example, banks, insurance companies, investment companies, retailers, government agencies, universities, and others all keep databases of customer lists, accounts, inventories, and so on in electronic storage.
When information in a database is considered critical, it is often considered prudent to take steps to preserve such data. A common approach to preserving electronic data is to use a computer system which not only stores the new data in databases, but also makes copies of those databases. In one approach, database copies are made at regular fixed intervals of time, e.g., a daily copy of a stores sales data for the day. Periodic copies, also referred to as back-ups, are used when the risk of loss of information is not so great as to justify the additional expense associated with real-time copies. Using another approach, copies may be made in “real-time”, where the copied data is kept current by copying the main database as it changes. One example where such real-time copies are customary is in the banking industry, where large banks may have thousands of accounts changing each minute and the loss of the data for the myriad transactions throughout the day could prove catastrophic. The process of writing data or databases in real-time to multiple storage locations is referred to as “shadowing” or “mirroring”, which yields multiple copies of the data or database.
With the need to keep multiple copies of such large amounts of data comes the need for large data storage capacities. The storage of large amounts of data is typically referred to as “mass storage”, wherein the data is stored in mass storage devices. With large computer systems and networks serving an increasingly wide variety of entities and storing a wide variety and amount of data, mass storage devices are becoming the norm. One increasingly popular form of mass storage device is a disk array. A disk array is commonly defined as a collection of disks combined, coordinated and managed by some form of array management software. An increasingly popular form of disk array is the “redundant array of independent disks” (RAID). A RAID is a special type of disk array which is intended for uses involving the storage of redundant, i.e., copied, data.
Depending on how a RAID is configured and used, it can be classified as being of a certain RAID Level, i.e., Level 0-6, defined by the RAID Advisory Board, Inc. (RAB). The RAB is an organization which seeks to standardize and promote the use of RAID devices and related products. The RAB defines RAID levels in their publication
The RAIDBook,
Nov. 18, 1993.
There are various methods of storing information in a RAID, e.g., shadowing or striping data. When data is written to a storage device by striping, it is broken into blocks of data, wherein the blocks of data are written, or distributed, among the disks within the array. Disk striping is used to expand the overall storage capacity of a computer system for the storage of original, i.e. non-redundant, data. With disk striping, copies of original data are not made. Therefore, strictly speaking, a disk array configured for disk striping is not a true RAID. However, within the art, disk striping may be referred to, and is defined by the RAB, as a “RAID Level 0” system. As an example, a disk array which comprises six one-gigabyte disks is capable of storing about six gigabytes of new data. However, none of the newly stored data is also written to another location within the disk array, to yield a copy. The disk striping system of this example may be said to have an “effective storage capacity” of six gigabytes. Effective storage capacity refers to how much non-redundant data can be stored by a system or disk array.
Within RAID Levels 1-6, there are a variety of configurations which all store redundant data in slightly different ways. For illustrative purposes, the writing of redundant data by disk shadowing will be emphasized. Basically, disk shadowing is the creating of copies of data by writing the data to multiple disks within an array in real-time. Therefore, shadowing yields less effective storage capacity than does disk striping. For example, if there was a RAID of six one-gigabyte disks configured for disk shadowing, the effective storage capacity of the RAID may be calculated to be one gigabyte, assuming five of the one-gigabyte disk drives are used for storing redundant data.
Another characteristic of the current information age is the increasingly distributed nature of computer systems. In such distributed systems, it is often the case that access to a main database may be gained from a wide variety of remote locations. For example, an insurance company may have satellite offices throughout the country, each with a local area network (LAN) which connects to a remote central computer network over a long haul link, wherein the central network includes devices which store the company's databases of client policy information. Computers in the satellite offices rely on connectivity to the remote central computer network for access to client policy information. However, if the remote central computer network losses connectivity with the satellite offices by, for example, a power outage or equipment failure, the overall system becomes inoperable. In another example of a distributed computer system, a bank may use centralized databases, with certain degrees of access to client accounts available at automated teller machines (ATMs) worldwide. As with the insurance company example, loss of connectivity to the bank's central databases, or their corruption or malfunction, causes the entire system to become inoperable. With such distributed computer systems and reliance on critical data contained therein, it is desirable to achieve the benefits of database copies within the distributed system.
As shown in
FIG. 1
, a computer system using typical prior art devices is capable of storing and copying data. The host computer
110
, may be a workstation, such as an Alpha workstation by Digital Equipment Corporation (“Digital”) of Maynard, Mass., or a server on a LAN. The host computer
110
runs applications which seek to manipulate or store data using the disk controllers
120
and
140
. The host computer
110
communicates with controller
120
via a local data bus
115
. The local controller
120
interfaces with the local data bus
115
at what is referred to as its “front-end”. The front-end of the controller
120
receives data to be written to storage devices in connection with the controller's
120
“back-end”. The local controller
120
channels the data provided by host computer
110
to a number of devices at its back-end over buses
130
. The number of data buses originating from the back-end of a controller typically corresponds to the number of ports available at its back-end. As can be seen from the figure, two of the buses on the back end of the local controller
120
connect directly to local storage devices
125
. A collection of storage devices
125
at the back-end of the controller
120
may be considered a RAID. These disks
125
provide a medium for local storage of data to be used in conjunction with the operations of host computer
110
or other devices on the LAN.
For a variety of reasons, it may be desirable to store copies of main databases remotely as well as locally. Referring to the previous example, if a
Beausoliel, Jr. Robert W.
Bonzo Bryce
Byorick E. Michael
Compaq Computer Corporation
Hogan & Hartson LLP
LandOfFree
Method and apparatus for disaster tolerant computer system... 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 apparatus for disaster tolerant computer system..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for disaster tolerant computer system... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2447508