Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
210 words
A data storage system comprising: an array of disk drives, each disk drive capable of receiving, storing, and retrieving data; a host computer configured to issue I/O requests, wherein each said I/O request defines a respective amount of data required to be transferred between said host computer and said array of disk drives; means for coordinating transfer of the defined amount of data required to be transferred between said host computer and said array of disk drives in response to said issued I/O requests from said host computer; means for determining the respective amount of data required to be transferred between said host computer and said array of disk drives for an I/O request issued by said host computer, for comparing said amount of data to be transferred for a particular issued I/O request to a predetermined amount, for dividing each said I/O request into a plurality of separate block requests whenever said amount of data exceeds said predetermined amount, each separate block request requiring a transfer of no more than said predetermined amount of data, and for issuing each of said plurality of separate block requests to said means for coordinating as an individual I/O request; and feedback means for adjusting the predetermined amount based on measured system variables.
Claim 2
Dependent Claim
210 words
A data storage system comprising: an array of disk drives, each disk drive capable of receiving, storing, and retrieving data; a host computer configured to issue I/O requests, wherein each said I/O request defines a respective amount of data required to be transferred between said host computer and said array of disk drives; means for coordinating transfer of the defined amount of data required to be transferred between said host computer and said array of disk drives in response to said issued I/O requests from said host computer; means for determining the respective amount of data required to be transferred between said host computer and said array of disk drives for an I/O request issued by said host computer, for comparing said amount of data to be transferred for a particular issued I/O request to a predetermined amount, for dividing each said I/O request into a plurality of separate block requests whenever said amount of data exceeds said predetermined amount, each separate block request requiring a transfer of no more than said predetermined amount of data, and for issuing each of said plurality of separate block requests to said means for coordinating as an individual I/O request; and feedback means for adjusting the predetermined amount based on measured system variables.
Claim 3
Dependent Claim
151 words
The system, as claimed in claim 1, wherein: said means for coordinating includes: (i) a buffer memory; (ii) first transferring means for transferring write data from said host computer to said buffer memory; (iii) second transferring means for transferring write data from said buffer memory to said array of disk drives, said second transferring means including: (A) means for determining redundancy data, using said write data, according to a predetermined RAID technique; (B) means for apportioning said write data according to said predetermined RAID technique; and (C) means for distributing said redundancy data and said apportioned write data to said array of disk drives according to said predetermined RAID technique; (iv) third transferring means for transferring read data from said array of disk drives to said buffer memory according to said predetermined RAID technique; and (v) fourth transferring means for transferring read data from said buffer memory to said host computer.
Claim 4
Dependent Claim
27 words
The system, as claimed in claim 1, wherein: said means for coordinating processes no more than a predetermined number of said separate block requests at one time.
Claim 5
Dependent Claim
13 words
The system, as claimed in claim 3, wherein: said predetermined number is adjustable.
Claim 6
Dependent Claim
28 words
The system, as claimed in claim 4, wherein: said predetermined number is adjusted to increase data transfer bandwidth between said host computer and said array of disk drives.
Claim 7
Dependent Claim
21 words
The system, as claimed in claim 4, further including: feedback means for adjusting said predetermined number based on measured system variables.
Claim 8
Dependent Claim
26 words
The system, as claimed in claim 6, wherein: said feedback means is capable of dynamically adjusting said predetermined number during operation of said data storage system.
Claim 9
Dependent Claim
79 words
The system, as claimed in claim 3, wherein: said means for coordinating further includes: control means for receiving and controlling the performance of said I/O requests; a buffer memory for temporarily storing data as said data is transferred between said host computer and said array of disk drives, said buffer memory being controlled by said control means; and mathematical means for calculating redundancy information based on data stored in said buffer memory, under the control of said control means.
Claim 10
Dependent Claim
47 words
The system, as claimed in claim 8, further including: means for determining the measured system variables by measuring one or more of the following variables: host channel speed, drive channel speed, processing speed of said mathematical means, occupancy level of said buffer memory, and control means overhead.
Claim 11
Dependent Claim
23 words
The system, as claimed in claim 9, further including: means for adjusting said predetermined number based on said one or more variable values.
Claim 12
Dependent Claim
22 words
The system, as claimed in claim 10, wherein: said means for adjusting includes feedback means capable of dynamically adjusting said predetermined number.
Claim 13
Dependent Claim
18 words
The system, as claimed in claim 10, wherein: said data storage system comprises a RAID data storage system.
Claim 14
Dependent Claim
28 words
The system, as claimed in claim 1, wherein: said predetermined amount is adjusted to increase data transfer bandwidth between said host computer and said array of disk drives.
Claim 15
Dependent Claim
26 words
The system, as claimed in claim 1, wherein: said feedback means is capable of dynamically adjusting said predetermined amount during operation of said data storage system.
Claim 16
Dependent Claim
133 words
In a computer data storage system, a method for increasing data transfer efficiency between a host computer and an array of disk drives, said method comprising the steps of: receiving an I/O request from said host computer; determining an amount of data required to be transferred between said host computer and said array of disk drives to process said I/O request; dividing said I/O request into a plurality of block requests when said amount of data exceeds a predetermined amount of data, each of said plurality of block requests requiring a transfer of no more than said predetermined amount of data; processing each of said block requests in said plurality as an individual I/O request; and dynamically adjusting said predetermined amount based on a plurality of measured system variables, via a feedback loop.
Claim 17
Dependent Claim
133 words
In a computer data storage system, a method for increasing data transfer efficiency between a host computer and an array of disk drives, said method comprising the steps of: receiving an I/O request from said host computer; determining an amount of data required to be transferred between said host computer and said array of disk drives to process said I/O request; dividing said I/O request into a plurality of block requests when said amount of data exceeds a predetermined amount of data, each of said plurality of block requests requiring a transfer of no more than said predetermined amount of data; processing each of said block requests in said plurality as an individual I/O request; and dynamically adjusting said predetermined amount based on a plurality of measured system variables, via a feedback loop.
Claim 18
Dependent Claim
27 words
The method, as claimed in claim 15, further comprising the step of: processing no more than a predetermined number of said block requests concurrently in a controller.
Claim 19
Dependent Claim
19 words
The method, as claimed in claim 15, wherein: said computer data storage system includes a RAID data storage system.
Claim 20
Dependent Claim
31 words
The method, as claimed in claim 15, further including the step of: adjusting said predetermined amount to increase data transfer bandwidth between said host computer and said array of disk drives.
Claim 21
Dependent Claim
39 words
The method, as claimed in claim 15, wherein: said predetermined amount is adjusted once every I/O interval; and said method further includes the step of adjusting the length of said I/O interval based on said plurality of system variables.
Claim 22
Dependent Claim
31 words
The method, as claimed in claim 16, further including the step of: adjusting said predetermined number to increase data transfer bandwidth between said host computer and said array of disk drives.
Claim 23
Dependent Claim
29 words
The method, as claimed in claim 16, further including the step of: dynamically adjusting said predetermined number based on a plurality of measured system variables, via a feedback loop.
Claim 24
Dependent Claim
40 words
The method, as claimed in claim 21, wherein: said predetermined number is adjusted once every I/O interval; and said method further includes the step of adjusting the length of said I/O interval based on said plurality of measured system variables.