# US 5,708,769 A · Logical partitioning of a redundant array storage system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,708,769 A
- Document ID: US5708769A
- Status: Granted
- Kind: A
- Application number: 08/635,205
- Filed: 1996-04-17
- Granted: 1998-01-13
- Earliest claimed: 1990-11-09
- Assignees: EMC Corporation
- Inventors: David Charles Stallmo
- Web page: https://patentgrep.com/patent/US5708769A

## CPC

- G11B 20/1833: {by adding special lists or symbols to the coded information (G11B20/1806, G11B20/1866 take precedence)}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F 11/2087: {with a common controller}
- G06F 2211/103: Hybrid, i.e. RAID systems with parity comprising a mix of RAID types
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A redundant array storage system that can be configured as a RAID 1, 3, 4, or 5 system, or any combination of these configurations. The invention comprises a configuration data structure for addressing a redundant array storage system, and a method for configuring a redundant array storage system during an initialization process. The redundant array storage system comprises a set of physical storage units which are accessible in terms of block numbers. The physical storage units are each configured as one or more logical storage units. Each logical storage unit is addressed in terms of a channel number, storage unit number, starting block number, offset number, and number of blocks to be transferred. Once logical storage units are defined, logical volumes are defined as one or more logical storage units, each logical volume having a depth characteristic. After the logical volumes are defined, redundancy groups are defined as one or more logical volumes. A redundancy level is specified for each redundancy group. The redundancy level may be none, one, or two. Logical volumes are addressed by a host CPU by volume number, initial block number, and number of blocks to be transferred. The host CPU also specifies a READ or WRITE operation. The specified volume number, initial block number, and number of blocks to be transferred are then translated into a corresponding channel number, storage unit number, starting block number, offset number, and number of blocks to be transferred. With the present invention, it is possible for a logical volume to span across physical storage units ("vertical partitioning"), comprise only a portion of each such physical storage unit ("horizontal partitioning"), and have definable depth and redundancy characteristics.

## Claims

### Claim 1

A storage subsystem for use in conjunction with a system central processing unit that issues data requests to said storage subsystem, comprising:
a plurality of physical data storage units that are dynamically configurable into two or more logical volumes, wherein each of said logical volumes comprises a subset of said plurality of physical data storage units, and wherein each of said two or more logical volumes may be configured as separate redundancy groups;
a storage subsystem central processing unit; and
a storage controller for use in operative association with said storage subsystem central processing unit for accessing data structures of the logical volumes transparent to the system central processing unit.

### Claim 2 (depends on 1)

The storage subsystem of claim 1 wherein said separate redundancy groups comprise at least two redundancy groups having substantially equivalent RAID levels.

### Claim 3 (depends on 1)

The storage subsystem of claim 1 wherein said separate redundancy groups comprise at least two redundancy groups having differing RAID levels.

### Claim 4 (depends on 1)

The storage subsystem of claim 1 wherein said two or more logical volumes are configurable at initialization of said storage subsystem.

### Claim 5 (depends on 1)

The storage subsystem of claim 1 wherein said two or more logical volumes are configurable at a time when normal access operations are not in progress.

### Claim 6 (depends on 1)

The storage subsystem of claim 1 wherein said two or more logical volumes are configurable without halting normal access operations.

### Claim 7

A method for dynamically configuring a storage subsystem comprising a storage controller coupling a plurality of physical data storage units to a central processing unit, said method comprising the steps of:
partitioning said plurality of physical data storage units into two or more logical volumes;
configuring each of said two or more logical volumes as separate redundancy groups; and
enabling data structures of the logical volumes to be accessed in transparently to a host central processing unit.

### Claim 8 (depends on 7)

The method of claim 7 wherein said step of partitioning is carried out by the step of:
logically segregating said plurality of physical data storage units into a number of subsets thereof, each of said subsets corresponding to one of said two or more logical volumes.

### Claim 9 (depends on 7)

The method of claim 7 wherein said step of configuring is carried out by the step of:
defining at least two of said logical volumes as redundancy groups having substantially equivalent RAID levels.

### Claim 10 (depends on 7)

The method of claim 7 wherein said step of configuring is carried out by the step of:
defining at least two of said logical volumes as redundancy groups having differing RAID levels.

### Claim 11 (depends on 7)

The method of claim 7 wherein said step of configuring is carried out at initialization of said storage subsystem.

### Claim 12 (depends on 7)

The method of claim 7 wherein said step of configuring is carried out when normal access operations are not in progress.

### Claim 13 (depends on 7)

The method of claim 7 wherein said step of configuring is carried out without halting normal access operations.

### Claim 14

A dynamically configurable storage subsystem for association with a host central processing unit, comprising: a storage controller;
a plurality of physical data storage units coupled to said storage controller, wherein said storage controller is capable of simultaneously supporting at least two redundancy groups comprising corresponding logical volumes, each of said logical volumes comprising a subset of said physical data storage units, and wherein said storage controller is capable of accessing data structures of said logical volumes transparently to said host central processing unit.

### Claim 15 (depends on 14)

The dynamically configurable storage subsystem of claim 14 wherein said two or more redundancy groups comprise at least two differing redundancy types.

### Claim 16 (depends on 14)

The dynamically configurable storage subsystem of claim 14 wherein said two or more redundancy groups comprise at least two corresponding redundancy types.

### Claim 17 (depends on 16)

The dynamically configurable storage subsystem of claim 16 wherein said at least two corresponding redundancy types comprise RAID levels substantially similar to RAID levels none, 1, 2, 3, 4, 5 or 6.

### Claim 18 (depends on 16)

The dynamically configurable storage subsystem of claim 16 wherein said at least two differing redundancy types comprise RAID levels substantially similar to RAID levels none, 1, 2, 3, 4, 5 or 6.

### Claim 19

A dynamically configurable storage subsystem for association with a host central processing unit, comprising:
a storage controller coupled to said central processing unit;
a plurality of physical data storage units coupled to said storage controller, wherein said storage controller is capable of dynamically configuring said plurality of physical data storage units into one or more logical volumes, each of said logical volumes corresponding to any one or more redundancy types, and wherein said storage controller is capable of accessing data structures of said logical volumes transparently to said host central processing unit.

### Claim 20 (depends on 19)

The dynamically configurable storage subsystem of claim 19 wherein said one or more redundancy types comprise RAID levels substantially similar to RAID levels none, 1, 2, 3, 4, 5 or 6.

### Claim 21 (depends on 19)

The dynamically configurable storage subsystem of claim 19 wherein said one or more logical volumes are configured at subsystem initialization.

### Claim 22 (depends on 19)

The dynamically configurable storage subsystem of claim 19 wherein said one or more logical volumes are configured at a time when normal access operations are not in progress.

### Claim 23 (depends on 19)

The dynamically configurable storage subsystem of claim 19 wherein said one or more logical volumes are configured without halting normal access operations.
