Electrical computers and digital processing systems: memory – Storage accessing and control – Control technique
Reexamination Certificate
1998-12-30
2001-11-06
Kim, Matthew (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Control technique
C711S153000, C711S173000
Reexamination Certificate
active
06314503
ABSTRACT:
FIELD OF THE INVENTION
The present invention is directed to a method and apparatus for managing the placement of data in a storage system to achieve increased system performance.
DESCRIPTION OF THE RELATED ART
Many computer systems include one or more host computers and one or more storage systems that store data used by the host computers. An example of such a system is shown in
FIG. 1
, and includes a host computer
1
and a storage system
3
. The storage system typically includes a plurality of storage devices on which data is stored. In the exemplary system shown in
FIG. 1
, the storage system includes a plurality of disk drives
5
a
-
5
b
, and a plurality of disk controllers
7
a
-
7
b
that respectively control access to the disk drives
5
a
and
5
b
. The storage system
3
further includes a plurality of storage bus directors
9
that control communication with the host computer
1
over communication buses
17
. The storage system
3
further includes a cache
11
to provide improved storage system performance. In particular, when the host computer
1
executes a read from the storage system
3
, the storage system
3
may service the read from the cache
11
(when the data is stored in the cache), rather than from one of the disk drives
5
a
-
5
b
, to execute the read more efficiently. Similarly, when the host computer
1
executes a write to the storage system
3
, the corresponding storage bus director
9
can execute the write to the cache
11
. Thereafter, the write can be destaged asynchronously, in a manner transparent to the host computer
1
, to the appropriate one of the disk drives
5
a
-
5
b
. Finally, the storage system
3
includes an internal bus
13
over which the storage bus directors
9
, disk controllers
7
a
-
7
b
and the cache
11
communicate.
The host computer
1
includes a processor
16
and one or more host bus adapters
15
that each controls communication between the processor
16
and the storage system
3
via a corresponding one of the communication buses
17
. It should be appreciated that rather than a single processor
16
, the host computer
1
can include multiple processors. Each bus
17
can be any of a number of different types of communication links, with the host bus adapter
15
and the storage bus directors
9
being adapted to communicate using an appropriate protocol for the communication bus
17
coupled therebetween. For example, each of the communication buses
17
can be implemented as a SCSI bus, with the directors
9
and adapters
15
each including a SCSI driver. Alternatively, communication between the host computer
1
and the storage system
3
can be performed over a Fibre Channel fabric that implements the communication bus
17
.
As shown in the exemplary system of
FIG. 1
, some computer systems employ multiple paths A-D for communicating between the host computer
1
and the storage system
3
(e.g., each path includes a host bus adapter
15
, a bus
17
and a storage bus director
9
in FIG.
1
). In many such systems, each of the host bus adapters
15
has the ability to access each of the disk drives
5
a
-
5
b
, through the appropriate storage bus director
9
and disk controller
7
a-b.
The storage system
3
disclosed in
FIG. 1
is an intelligent storage system that controls the location wherein data accessible via the host computer
1
is stored. Thus, the exact physical location (i.e., which one of the disk drives
5
a
-
5
b
and the location on the disk drive) wherein any block of data is actually stored is transparent to the host computer
1
. In this respect, a computer system such as that shown in
FIG. 1
typically includes a plurality of layers as shown in FIG.
2
. The layers include an application layer
21
that resides on the host computer
1
and references data objects (e.g., files) used by the application. In addition, the host computer
1
also includes a file system and/or logical volume manager layer
23
that maps each data object specified by the application layer
21
to a particular logical volume, that the host computer
1
perceives to correspond to an actual physical storage device, wherein the data object is stored. Thus, if the computer system included a storage system without any intelligence, the logical volumes specified by the file system/LVM layer
23
would designate a particular physical device and a particular storage location thereon wherein the data object would be stored. Finally, the computer system further includes a storage system mapping layer
25
that resides on the storage system, and that maps from the logical volume provided from layer
23
to an actual physical location, including at least one of the disk drives
5
a
-
5
b
and the physical location thereon, wherein the logical volume is stored. The mapping between a logical volume and a physical disk drive may not be 1:1, as a single logical volume can be split across multiple physical disk drives
5
a
-
5
b
, or alternatively, multiple logical volumes can be stored on the same physical disk drive.
It is an object of the present invention to provide an improved method and apparatus for managing the placement of data on a storage system to achieve improved system performance.
SUMMARY OF THE INVENTION
One illustrative embodiment of the invention is directed to a method of managing data storage in a computer system including a host computer and a storage system that is coupled to the host computer and stores data accessed by the host computer. The method comprises steps of: (A) detecting, within the storage system, a performance condition wherein the performance of the computer system is impacted by a manner in which a subset of the data stored in the storage system is configured within the storage system; and (B) in response to the step (A), reconfiguring the subset of data within the storage system to alleviate the performance condition and improve the performance of the computer system.
Another illustrative embodiment of the present invention is directed to a computer readable medium, encoded with a computer program, that when executed on a storage system, performs a method of managing data storage in a computer system including a host computer and the storage system, wherein the storage system is coupled to the host computer and stores data accessed by the host computer. The method comprises steps of: (A) detecting, within the storage system, a performance condition wherein the performance of the computer system is impacted by a manner in which a subset of the data stored in the storage system is configured within the storage system; and (B) in response to the step (A), reconfiguring the subset of data within the storage system to alleviate the performance condition and improve the performance of the computer system.
A further illustrative embodiment of the invention is directed to a storage system for use in computer system including the storage system and a host computer coupled to the storage system. The storage system comprises a plurality of storage devices to store data accessible by the host computer; and at least one controller to manage a configuration of the data among the plurality of storage devices, the at least one controller being adapted to detect a performance condition wherein the performance of the computer system is impacted by a manner in which a subset of the data is configured within the storage system and, in response to detection of the performance condition, to reconfigure the subset of data within the storage system to alleviate the performance condition and improve the performance of the computer system.
Another illustrative embodiment of the invention is directed to a method of managing data storage in a computer system including a host computer and first and second storage systems that each is coupled to the host computer, the first and second storage systems collectively storing data accessed by the host computer. The method comprises steps of: (A) detecting a performance condition wherein the performance of the computer system is impacted by a manner in which th
Blumenau Steven M.
D'Errico Matthew J.
Ofer Erez
Chace Christian P.
EMC Corporation
Kim Matthew
Wolf Greenfield & Sacks P.C.
LandOfFree
Method and apparatus for managing the placement of data in a... 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 managing the placement of data in a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for managing the placement of data in a... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2612023