Managing a data storage array, a data storage system, and a raid controller
First Claim
1. A system for managing a data storage array, comprising:
- a plurality of data storage disks configured as an array; and
a RAID controller coupled to each of the data storage disks within the array and configured to access data within the array and to measure the rate at which data within the array is being accessed by a user application, the RAID controller further including a memory and a user interface coupled to the RAID controller, the RAID controller being further configured to store a set of pointers within the memory, the pointers respectively corresponding to blocks of data within the array, each pointer being accessible by the user application, the RAID controller being further configured to anticipate a data modification operation to a particular block of data in the array responsive to the measuring and to selectively copy the particular block of data to a different block of data within a different RAID level storage location within the array responsive to the anticipating.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for managing a RAID data storage array is provided having a plurality of data storage disks and a RAID controller respectively coupled to each of the data storage disks, and a user interface coupled to the RAID controller, wherein the RAID controller is configured to store pointers corresponding to data within the storage disks, wherein the RAID controller is further configured to anticipate a data modification operation from the user interface and to selectively copy a block of data from one RAID level to a different RAID level storage location within the storage array responsive to a protective status and the anticipating. Also provided is a RAID controller configured to selectively copy data to a different RAID level within a storage array responsive to the anticipation of a data modification operation and a protective status.
-
Citations
19 Claims
-
1. A system for managing a data storage array, comprising:
-
a plurality of data storage disks configured as an array; and
a RAID controller coupled to each of the data storage disks within the array and configured to access data within the array and to measure the rate at which data within the array is being accessed by a user application, the RAID controller further including a memory and a user interface coupled to the RAID controller, the RAID controller being further configured to store a set of pointers within the memory, the pointers respectively corresponding to blocks of data within the array, each pointer being accessible by the user application, the RAID controller being further configured to anticipate a data modification operation to a particular block of data in the array responsive to the measuring and to selectively copy the particular block of data to a different block of data within a different RAID level storage location within the array responsive to the anticipating. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of managing a data storage system, comprising:
-
providing an array of data disks configured to store data;
providing a RAID controller coupled to the array;
providing a user interface computer coupled to the RAID controller;
running an application program using the user interface computer;
reading data stored within the array using the application program and the RAID controller;
assembling and storing a pointer corresponding to the read data using the RAID controller;
accessing the data within the array by way of the pointer using the application program and RAID controller;
measuring the rate of the accessing using the RAID controller;
anticipating a data modification operation to particular data in one RAID level within the array in response to the measuring using the RAID controller;
selectively copying the particular data to another RAID level within the array in response to the anticipating using the RAID controller; and
performing the data modification operation to the copied data within the array using the RAID controller, the copying being performed as a background operation using the RAID controller. - View Dependent Claims (7, 8)
-
-
9. A RAID controller, comprising:
-
a memory configured to store data;
monitoring electronics configured to measure a rate at which an array of data storage disks coupled to the controller are accessed using the controller; and
circuitry coupled to the memory and the monitoring electronics and configured to access data at different RAID levels within the array in response to corresponding instructions from a computer, the circuitry being further configured to selectively configure a pointer related to the data in the array in response to a corresponding instruction from the computer, the circuitry being further configured to anticipate a data modification operation in response to the measuring, the circuitry being further configured to selectively copy a portion of the data in one RAID level within the array to a different RAID level within the array as a background operation in response to the anticipating using the memory. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer readable medium comprising computer readable code, the computer readable code configured to cause a RAID controller to:
-
read data within an array of data storage disks coupled to the RAID controller in response to corresponding instructions from a computer;
selectively configure a pointer related to the read data;
access data within the array using the pointer in response to corresponding instructions from the computer;
anticipate a data modification operation in response to measuring a rate at which the data within the array is accessed; and
selectively copy a portion of the data in one RAID level within the array to a different RAID level within the array as a background operation in response to the anticipating. - View Dependent Claims (15)
-
-
16. A RAID controller, comprising:
-
a memory configured to store data;
monitoring electronics configured to measure a rate at which an array of data storage disks coupled to the RAID controller are accessed using the RAID controller; and
firmware bearing computer readable code, the computer readable code being configured to cause the RAID controller to;
read data within the array in response to corresponding instructions from a computer;
selectively configure a pointer related to the read data;
access data within the array using the pointer in response to a corresponding instruction from the computer;
anticipate a data modification operation in response to measuring the rate using the monitoring electronics; and
selectively copy a portion of the data in one RAID level within the array to a different RAID level within the array as a background operation in response to the anticipating using the memory.
-
-
17. A computer readable medium comprising computer readable code, the computer readable code configured to cause a computer to:
-
read data within different RAID levels within an array of data storage disks coupled to the computer in response to corresponding instructions sent from the computer to a RAID controller;
selectively configure a plurality of pointers related to the read data, the pointers being stored within a memory of the computer;
access data at different RAID levels within the array using the pointers in response to corresponding instructions sent from the computer to the RAID controller;
measure a rate at which the computer is accessing the data within the array;
anticipate a data modification operation in response to the measuring; and
selectively instruct the RAID controller to copy a portion of the data in one RAID level within the array to a different RAID level within the array as a background operation in response to the anticipating. - View Dependent Claims (18)
-
-
19. A method of managing a data storage system, comprising:
-
providing an array of data disks configured to store data;
providing a RAID controller coupled to the array;
providing a computer coupled to the RAID controller;
providing a computer readable medium having computer readable code in cooperative relation to the computer;
running the computer readable code using the computer;
reading data stored within the array using the computer readable code and the computer and the RAID controller;
assembling and storing a pointer corresponding to the read data within a memory of the computer using the computer readable code and the computer;
accessing the data within the array by way of the pointer using the computer readable code and the computer and the RAID controller;
measuring the rate of the accessing the data using the computer readable code and the computer;
anticipating a data modification operation to particular data in one RAID level within the array in response to the measuring using the computer readable code and the computer;
selectively copying the particular data to another RAID level within the array in response to the anticipating using the computer readable code and the computer and the RAID controller; and
performing the data modification operation to the copied data within the array using the computer readable code and the computer and the RAID controller, the copying and the data modification being performed as a background operation.
-
Specification