Providing an upgrade path for an existing data storage system

Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S006130, C711S170000

Reexamination Certificate

active

06304942

ABSTRACT:

TECHNICAL FIELD
The present application relates generally to data storage systems and more particularly to adding storage capacity, performance, and/or functionality to an existing data storage system.
BACKGROUND OF THE INVENTION
Host computer systems often connect to one or more storage controllers that provide access to an array of storage devices. In a common storage controller, microprocessors communicate the data between the storage array and the host computer system. The host system addresses a “volume” of stored data through the storage controller using a logical identifier, such as Logical Unit Number (LUN) used in SCSI (Small Computer System Interface) subsystems. The term “volume” is often used as a synonym for all or part of a particular storage disk, but it also describes a virtual disk that spans more than one disk. In the latter case, the virtual disk presents a single, contiguous logical volume to the host system, regardless of the physical location of the data in the array. For example, a single volume can represent logically contiguous data elements striped across multiple disks. A file structure can also be embedded on top of a volume to provide remote access thereto, such as Network File System (NFS) designed by Sun Microsystems, Inc. and the Common Internet File System (CIFS) protocol built into Microsoft WINDOWS products and other popular operating systems.
Storage controllers come in many flavors. Some storage controllers provide RAID (Redundant Array of Independent Disks) functionality for a combination of improved fault tolerance and performance. In RAID storage controllers on an SCSI bus, for example, the host system addresses a storage element by providing the single SCSI Target ID of the RAID storage controller and the LUN of the desired logical volume. A LUN is commonly a three-bit identifier used on a SCSI connection to distinguish between up to eight devices (logical units) having the same SCSI Target ID. Currently, SCSI also supports LUNs up to 64-bits. The RAID storage controller corresponding to the provided SCSI Target ID translates the LUN into the physical address of the requested storage element within the attached storage array.
A volume ID is another form of logical identifier. Volume IDs are typically 64-bit or 128-bit globally unique persistent world wide names that correspond directly to LUNs or identifiers for other storage representations. By providing a mapping to LUNs, volume ID's can be remapped if there is a collision between LUNs in a storage system, so as to present a set of unique volume IDs to a host accessing the storage system.
The term “RAID” was introduced in a paper entitled “A Case for Redundant Arrays of Inexpensive Disks (RAID)”, Patterson et al., Proc. ACM SIGMOD, June 1988, in which five disk array architectures were described under the acronym “RAID”. A RAID 1 architecture provides “mirroring” functionality. In other words, the data for each volume of a primary storage unit is duplicated on a secondary (“mirrored”) storage unit, so as to provide access to the data on the secondary storage unit in case the primary storage unit becomes inoperable or is damaged.
A RAID 2 architecture provides error detection and correction (“EDC”) functionality. For example, in U.S. Pat. No. 4,722,085 to Flora et al., seven EDC bits are added to each 32-bit data word to provide error detection and error correction capabilities. Each bit in the resultant 39-bit word is written to an individual disk drive (requiring at least 39 separate disk drives to store a single 32-bit data word). If one of the individual drives fails, the remaining 38 valid bits can be used to construct each 32-bit data word, thereby achieving fault tolerance.
A RAID 3 architecture provides fault tolerance using parity-based error correction. A separate, redundant storage unit is used to store parity information generated from each data word stored across N data storage units. The N data storage units and the parity unit are referred to as an “N+1 redundancy group” or “drive group”. If one of the data storage units fails, the data on the redundant unit can be used in combination with the remaining data storage units to reconstruct the data on the failed data storage unit.
A RAID 4 architecture provides parity-based error correction similar to a RAID 3 architecture but with improved performance resulting from “disk striping”. In disk striping, a redundancy group is divided into a plurality of equally sized address areas referred to as blocks. Blocks from each storage unit in a redundancy group having the same unit address ranges are referred to as “stripes”. Each stripe has N blocks of data of different storage devices plus one parity block on another, redundant storage device, which contains parity for the N data blocks of the stripe. A RAID 4 architecture, however, suffers from limited write (i.e., the operation of writing to disk) performance because the parity disk is burdened with all of the parity update activity.
A RAID 5 architecture provides the same parity-based error correction as RAID 4, but improves “write” performance by distributing the data and parity across all of the available disk drives. A first stripe is configured in the same manner as it would be in RAID 4. However, for a second stripe, the data blocks and the parity block are distributed differently than for the first stripe. For example, if N+1 equals 5 disks, the parity block for a first stripe may be on disk
5
whereas the parity block for a second stripe may be on disk
4
. Likewise, for other stripes, the parity disks are distributed over all disks in the array, rather than in a single dedicated disk. As such, no single storage unit is burdened with all of the parity update activity.
A RAID 6 architecture is similar to RAID 5, with increased fault tolerance provided by independently computed redundancy information in a N+2 redundancy group. A seventh RAID architecture, sometimes referred to as “RAID 0”, provides data striping without redundancy information. Of the various RAID levels specified, RAID levels 0, 1, 3, and 5 are the most commonly employed in commercial settings.
Other storage controllers do not provide RAID functionality and merely present the host system with access to multiple disks in an enclosed array (often referred to as a JBOD or “Just a Bunch Of Disks”), without providing the virtual disk functionality. When a JBOD is connected via a SCSI bus, for example, each disk is addressed with both a SCSI Target ID and at least one LUN. Such storage controllers do not provide RAID functionality, but are intended primarily to provide access to multiple disks and to monitor the environment within a disk array enclosure.
Invariably, the data storage needs of a business tend to grow over time. A data storage solution that initially seemed adequate can become severely inadequate over time, particularly in terms of storage capacity, performance, and functionality. As a result, users typically wish to upgrade or enhance their data storage systems, preferably without completely losing their capital investment in the components of the original data storage configuration. It is therefore desirable to reuse components of an original data storage configuration in an upgraded data storage configuration. Additionally, users would benefit from an upgrade that does not require backing up data from existing arrays in the storage system and restoring the data to the upgraded storage system with the additional capacity.
SUMMARY OF THE INVENTION
The present invention provides advantages over existing upgradeable storage system. An embodiment of the present invention consolidates existing arrays and controllers behind a single entity, which has been shown to decrease the cost of ownership over the life of the storage system. Additional performance may also be achieved by incorporating an enhanced storage controller device, preferably including a larger cache, a faster processor, and/or a higher bandwidth bus than the original storage controller devices. In addition, the enhan

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

Providing an upgrade path for an existing data storage 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 Providing an upgrade path for an existing data storage system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Providing an upgrade path for an existing data storage system will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2559465

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