Apparatus and method to dynamically allocate bandwidth in a data storage and retrieval system
First Claim
1. A method to allocate device adapter bandwidth, wherein said device adapter is disposed in an information storage and retrieval system capable of communicating with one or more host computers, wherein said information storage and retrieval system further comprises non-volatile storage having NVS total storage capacity, a data cache, and one or more information storage devices, wherein said device adapter interconnects said data cache and said one or more information storage devices, said method comprising the steps of:
- establishing (N) storage arrays, wherein said (N) arrays comprise said one or more information storage devices;
initializing a plurality of task control blocks;
setting an initial (i)th stage task control block threshold, wherein said initial (i)th stage task control block threshold comprises one or more of said plurality of task control blocks, and wherein (i) is an integer greater than or equal to 1 and less than or equal to (N);
defining a stage task control block adjustment function;
determining the (i)th read request/write request ratio for the (i)th storage array;
setting an adjusted (i)th stage task control block threshold using said stage task control block adjustment function and said (i)th read request/write request ratio, wherein said adjusted (i)th stage task control block threshold comprises one or more of said plurality of task control blocks;
receiving a plurality of requests from said one or more host computers, wherein said plurality of requests comprises one or more read requests and one or more write requests, and wherein said one or more write requests comprise second information;
determining a read request/write request ratio;
allocating device adapter bandwidth to transfer first information from said one or more information storage devices to said cache based upon said read request/write request ratio;
writing said second information to said non-volatile memory and to said data cache, wherein said second information utilizes actual NVS storage;
determining a utilization ratio by dividing said actual NVS storage by said NVS total storage capacity;
allocating device adapter bandwidth to transfer said second information from said data cache to said one or more information storage devices based said utilization ratio.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and a method to allocate device adapter bandwidth, where that device adapter is disposed in an information storage and retrieval system capable of communicating with one or more host computers, and where that device adapter interconnects a data cache with information storage devices. The data storage and retrieval system receives a plurality of requests from the host computers to read information from, or to write information to, information storage devices. The method determines a read/write request ratio and a non-volatile storage utilization ratio. The method allocates device adapter bandwidth based upon the read/write request ratio and/or the non-volatile storage utilization ratio.
-
Citations
24 Claims
-
1. A method to allocate device adapter bandwidth, wherein said device adapter is disposed in an information storage and retrieval system capable of communicating with one or more host computers, wherein said information storage and retrieval system further comprises non-volatile storage having NVS total storage capacity, a data cache, and one or more information storage devices, wherein said device adapter interconnects said data cache and said one or more information storage devices, said method comprising the steps of:
-
establishing (N) storage arrays, wherein said (N) arrays comprise said one or more information storage devices; initializing a plurality of task control blocks; setting an initial (i)th stage task control block threshold, wherein said initial (i)th stage task control block threshold comprises one or more of said plurality of task control blocks, and wherein (i) is an integer greater than or equal to 1 and less than or equal to (N); defining a stage task control block adjustment function; determining the (i)th read request/write request ratio for the (i)th storage array; setting an adjusted (i)th stage task control block threshold using said stage task control block adjustment function and said (i)th read request/write request ratio, wherein said adjusted (i)th stage task control block threshold comprises one or more of said plurality of task control blocks; receiving a plurality of requests from said one or more host computers, wherein said plurality of requests comprises one or more read requests and one or more write requests, and wherein said one or more write requests comprise second information; determining a read request/write request ratio; allocating device adapter bandwidth to transfer first information from said one or more information storage devices to said cache based upon said read request/write request ratio; writing said second information to said non-volatile memory and to said data cache, wherein said second information utilizes actual NVS storage; determining a utilization ratio by dividing said actual NVS storage by said NVS total storage capacity; allocating device adapter bandwidth to transfer said second information from said data cache to said one or more information storage devices based said utilization ratio. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An article of manufacture comprising a computer readable medium having computer readable program code disposed therein to allocate device adapter bandwidth, wherein said device adapter is disposed in an information storage and retrieval system capable of communicating with one or more host computers, wherein said information storage and retrieval system further comprises non-volatile storage having NVS total storage capacity, a data cache and one or more information storage devices, wherein said device adapter interconnects said data cache and said one or more information storage devices, the computer readable program code comprising a series of computer readable program steps to effect:
-
establishing (N) storage arrays, wherein said (N) arrays comprise said one or more information storage devices; initializing a plurality of task control blocks; setting an initial (i)th stage task control block threshold, wherein said initial (i)th stage task control block threshold comprises one or more of said plurality of task control blocks, and wherein (i) is an integer greater than or equal to 1 and less than or equal to (N); defining a stage task control block adjustment function; determining the (i)th read request/write request ratio for the (i)th storage array; setting an adjusted (i)th stage task control block threshold using said stage task control block adjustment function and said (i)th read request/write request ratio, wherein said adjusted (i)th stage task control block threshold comprises one or more of said plurality of task control blocks; receiving a plurality of requests from said one or more host computers, wherein said plurality of requests comprises one or more read requests and one or more write requests, and wherein said one or more write requests comprise second information; determining a read request/write request ratio; allocating device adapter bandwidth to transfer first information from said one or more information storage devices to said cache based upon said read request/write request ratio; writing said second information to said non-volatile memory and to said data cache, wherein said second information utilizes actual NVS storage; determining a utilization ratio by dividing said actual NVS storage by said NVS total storage capacity; allocating device adapter bandwidth to transfer said second information from said data cache to said one or more information storage devices based said utilization ratio. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product embodied in an information storage medium, said computer program product being usable with a programmable computer processor to allocate device adapter bandwidth, wherein said device adapter is disposed in an information storage and retrieval system capable of communicating with one or more host computers, wherein said information storage and retrieval system further comprises non-volatile storage having a total NVS storage capacity, a data cache and one or more information storage devices, wherein said device adapter interconnects said data cache and said one or more information storage devices, comprising:
-
computer readable program code which causes said programmable computer processor to establish (N) storage arrays, wherein said (N) arrays comprise said one or more information storage devices; computer readable program code which causes said programmable computer processor to initialize a plurality of task control blocks; computer readable program code which causes said programmable computer processor to set an initial (i)th stage task control block threshold, wherein said initial (i)th stage task control block threshold comprises one or more of said plurality of task control blocks, and wherein (i) is an integer greater than or equal to 1 and less than or equal to (N); computer readable program code which causes said programmable computer processor to define a stage task control block adjustment function; computer readable program code which causes said programmable computer processor to determine the (i)th read request/write request ratio for the (i)th storage array; computer readable program code which causes said programmable computer processor to set an adjusted (i)th stage task control block threshold using said stage task control block adjustment function and said (i)th read request/write request ratio, wherein said adjusted (i)th stage task control block threshold comprises one or more of said plurality of task control blocks; computer readable program code which causes said programmable computer processor to receive a plurality of requests from said one or more host computers, wherein said plurality of requests comprises one or more read requests and one or more write requests, and wherein said one or more write requests comprise second information; computer readable program code which causes said programmable computer processor to determine a read request/write request ratio; computer readable program code which causes said programmable computer processor to allocate device adapter bandwidth to transfer first information from said one or more information storage devices to said cache based upon said read request/write request ratio; computer readable program code which causes said programmable computer processor to write said second information to said non-volatile memory and to said data cache, wherein said second information utilizes actual NVS storage; computer readable program code which causes said programmable computer processor to determine a utilization ratio by dividing said actual NVS storage by said NVS total storage capacity; computer readable program code which causes said programmable computer processor to allocate device adapter bandwidth to transfer said second information from said data cache to said one or more information storage devices based said utilization ratio. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification