Integrated RAID system with the capability of selecting...

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

C710S005000, C710S037000, C710S039000, C709S241000

Reexamination Certificate

active

06643735

ABSTRACT:

TECHNICAL FIELD
The present invention relates to the field of disk arrays, and more particularly to a Redundant Array of Independent Disks (RAID) system that implements an integrated RAID comprising a software RAID and a hardware RAID.
BACKGROUND INFORMATION
A network server, e.g., file server, database server, web server, may be configured to receive a stream of requests from clients in a network system to read from or write to a particular logical drive in an array of logical drives such as a Redundant Array of Independent Disks (RAID). These requests may form what is commonly referred to as a “workload” for the network server. That is, a workload may refer to the requests that need to be serviced by the network server. The network server may be coupled to the RAID via one or more adapters commonly referred to as RAID adapters. Each RAID adapter may be coupled to one or more logical drives and to the network server.
In RAID systems, data is spread or “striped” across multiple disk logical drives. In many implementations, the data is stored in conjunction with parity information such that any data lost as a result of a single logical drive failure may be automatically reconstructed.
One type of RAID implementation is commonly referred to as “software RAID.” Software RAID may refer to the implementation where software on the network server, which may be part of the operating system on the network server, may be used to implement the various RAID control functions. These control functions may include, for example, generating drive specific read/write requests according to a striping algorithm, reconstructing lost data when drive failures occur, generating and checking parity, etc.
Another type of RAID implementation is commonly referred to as “hardware RAID.” Hardware RAID may refer to the implementation where an application configured to implement the various RAID control functions as described above may be loaded into Random Access Memory (RAM) in a RAID adapter. In the hardware RAID implementation, the processor in the network server may be configured to interpret and transmit the workload requests to the appropriate RAID adapter so that the appropriate hardware RAID will service the workload request.
In certain environments, hardware RAID has been perceived to be advantageous over software RAID; while in other environments, software RAID has been perceived to be advantageous over hardware RAID. At least in part these environments depend on the type of workload, i.e., the type of requests issued by the clients to the network server. For example, a hardware RAID may be desirable to service a workload that comprises a high percentage of web requests that are user intensive since the hardware RAID may be used to process the workload requests thereby freeing the processor in the network server to service other types of requests. A disadvantage of hardware RAID though is that the processor of the RAID adapter comprising the hardware RAID may service the workload requests at a lower rate than the processor in the network server subsequently creating what is commonly referred to as a “bottleneck.” A bottleneck may refer to the phenomena when the RAID adapter cannot service the workload requests at the rate the requests are transmitted from the network server. A solution may in part be to replace the RAID adapter with a more expensive RAID adapter that can process the workload requests at a faster rate, i.e., replace the RAID adapter with a RAID adapter that has a faster execution speed. However, that may add to the cost of the hardware implementation which may already be more expensive to implement than the software RAID implementation. Subsequently, it may be desirable to implement a software RAID instead of a hardware RAID to service a workload that comprises a high percentage of requests that are not user intensive, e.g., file requests to read from or write to one of the disks of the RAID.
It would therefore be desirable to develop an integrated RAID system comprising a software RAID and a hardware RAID where the integrated RAID system selects implementing either the software RAID or the hardware RAID based on which implementation is more desirable to service all or part of the workload requests. By developing an integrated RAID system, load balancing between the processor in the network server and in the RAID adapter may be accomplished thereby eliminating the bottleneck phenomena in the hardware RAID implementation. That is, the processor in the network server and in the RAID adapter may process the workload requests at a substantially similar rate thereby eliminating the bottleneck phenomena in the hardware RAID implementation. Furthermore, because load balancing may be accomplished between the network server and in the RAID adapter, there may be improved scalability. That is, an increase in the workload requests to be processed by the hardware RAID in the RAID adapter may be accomplished without necessarily replacing the RAID adapter with a RAID adapter that has a faster execution speed.
SUMMARY
The problems outlined above may at least in part be solved in some embodiments by an integrated RAID system comprising a software RAID and a hardware RAID that selects implementing either the software RAID or the hardware RAID based on which implementation is more desirable to service all or part of the workload requests.
In one embodiment of the present invention, a method for servicing workload requests by selecting either a software RAID or a hardware RAID to service all or part of the workload requests may comprise the step of a server receiving a stream of requests to read from or write to particular Logical Block Addresses (LBA's) in one or more logical drives in a RAID from one or more clients. A software RAID may refer to the implementation where the server may comprise a memory unit operable for storing software configured to handle RAID control functions. The server may be coupled to one or more RAID adapters that are coupled to the RAID. A hardware RAID may refer to the implementation where an application configured to handle the various RAID control functions may be loaded into Random Access Memory (RAM) in a RAID adapter.
The utilization of the processor, i.e., the percentage of processor cycles utilized to process instructions, may then be monitored in the server. Furthermore, the utilization of the processor, i.e., the percentage of processor cycles utilized to process instructions, may be monitored in each RAID adapter coupled to the server.
A determination may then be made as to whether the processor of the server is fully utilized, i.e., operating at one hundred percent (100%) utilization. If the processor of the server is fully utilized, i.e., operating at one hundred percent (100%) utilization, then a determination may be made as to whether the processor of a RAID adapter is fully utilized, i.e., operating at one hundred percent (100%) utilization. It is noted that the determination may be made as to whether the processor in each RAID adapter coupled to the server is fully utilized, i.e., operating at one hundred percent (100%) utilization.
If the processor of the RAID adapter is not fully utilized, i.e., not operating at one hundred percent (100%) utilization, then those requests in the received stream of requests with logical block addresses that are serviceable by that RAID adapter may be routed to that RAID adapter to be serviced by the hardware RAID in that RAID adapter. Those requests with logical block addresses serviceable by the RAID adapter may be routed to that RAID adapter to be serviced by the hardware RAID since the processor of that RAID adapter has the capacity to execute various RAID control functions and the processor in the server does not have the capacity to execute various RAID control functions.
If the processor of the RAID adapter is fully utilized, i.e., operating at one hundred percent (100%) utilization, then, a first portion of the received stream of requests with LBA's that are serviceable by that RAID adapter may be routed

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

Integrated RAID system with the capability of selecting... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Integrated RAID system with the capability of selecting..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Integrated RAID system with the capability of selecting... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3129868

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