Integrated RAID system with the capability of selecting between software and hardware RAID
AssigneeInternational Business Machines Corporation
InventorsJorge R. Rodriguez, Darryl Edward Gardner
Life of this patent
Estimating the term…
Abstract
A system, computer program product and method for servicing requests. A server may be configured to receive a stream of requests to access particular logical block addresses in one or more logical drives in a RAID from one or more clients. The server may be coupled to one or more RAID adapters that are coupled to the RAID. The server may comprise a software RAID and each RAID adapter may comprise a hardware RAID. By monitoring the utilization of the processors in the server and in each RAID adapter, all or part of these received requests may subsequently be routed to either the software RAID or the hardware RAID based on which implementation is more desirable to service these requests.
Claims25
A method for servicing requests comprising the steps of:
- receiving a stream of requests to access one or more logical block addresses in one or more disks in a Redundant Array of Independent Disks (RAID);
- monitoring a utilization of a first processor in a network server configured to receive said stream of requests, wherein said network server comprises a first RAID implementation;
- monitoring a utilization of a second processor in an adapter coupled to said RAID, wherein said adapter comprises a second RAID implementation;
- and
- routing requests in said stream of requests that are serviceable by said adapter to one or more of said first RAID implementation in said network server and said second RAID implementation in said adapter to service said requests that are serviceable by said adapter based on a value of an execution speed of said first processor in said network server and a value of an execution speed of said second processor in said adapter;
- wherein said first RAID implementation is a software RAID, wherein said second RAID implementation is a hardware RAID.
A computer program product embodied in a machine readable medium for servicing requests comprising the programming steps of:
- receiving a stream of requests to access one or more logical block addresses in one or more disks in a Redundant Array of Independent Disks (RAID);
- monitoring a utilization of a first processor in a network server configured to receive said stream of requests, wherein said network server comprises a first RAID implementation;
- monitoring a utilization of a second processor in an adapter coupled to said RAID, wherein said adapter comprises a second RAID implementation;
- and
- routing requests in said stream of requests that are serviceable by said adapter to one or more of said first RAID implementation in said network server and said second RAID implementation in said adapter to service said requests that are serviceable by said adapter based on a value of an execution speed of said first processor in said network server and a value of an execution speed of said second processor in said adapter;
- wherein said first RAID implementation is a software RAID, wherein said second RAID implementation is a hardware RAID.
A system, comprising:
- a network server configured to receive a stream of requests to access one or more logical block addresses in one or more disks in a Redundant Array of Independent Disks (RAID);
- and
- an adapter coupled to said network server and to said RAID, wherein said adapter comprises:
- a second processor;
- and
- a non-volatile memory unit coupled to said second processor, wherein said non-volatile memory unit is operable for storing a second RAID implementation, wherein said second RAID implementation is a hardware RAID configured to implement RAID control functions;
- wherein said network server comprises:
- a memory unit operable for storing a computer program operable for servicing requests, wherein said memory unit is further operable for storing a first RAID implementation configured to implement RAID control functions;
- and
- a first processor coupled to said memory unit, wherein said first processor, responsive to said computer program, comprises:
- circuitry operable for receiving a stream of requests to access one or more logical block addresses in one or more disks in a Redundant Array of Independent Disks (RAID);
- circuitry operable for monitoring a utilization of a first processor in a network server configured to receive said stream of requests, wherein said network server comprises a first RAID implementation;
- wherein said first RAID implementation is a software RAID.
- circuitry operable for monitoring a utilization of a second processor in said adapter coupled to said RAID, wherein said adapter comprises a second RAID implementation;
- and
- circuitry operable for routing requests in said stream of requests that are serviceable by said adapter to one or more of said first RAID implementation in said network server and said second RAID implementation in said adapter to service said requests that are serviceable by said adapter based on a value of an execution speed of said first processor in said network server and a value of an execution speed of said second processor in said adapter.
A system, comprising:
- a network server configured to receive a stream of requests to access one or more logical block addresses in one or more disks in a Redundant Array of Independent Disks (RAID), wherein said network server comprises a first RAID implementation;
- and
- an adapter coupled to said network server and to said RAID, wherein said adapter comprises a second RAID implementation;
- wherein said first RAID implementation is a software RAID, wherein said second RAID implementation is a hardware RAID.
Dependencies are inferred from the claim text.