Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
321 words
A method of controlling the operation of a plurality of devices that are arranged in a device array of a system and generate heat when operated, the method comprising the steps of: receiving dimensions of the device array defining a volume of N cells in which the devices are arranged, one device to a cell; receiving a number of clusters for determining a number of operational groups to which the devices in the array are to be assigned, wherein substantially all of the devices in a cluster are operated substantially simultaneously with each operation of the system; receiving a number L indicating the maximum number of clusters of devices activated substantially simultaneously in every operation of the system; receiving dimensions of a critical box that defines an arrangement of the devices into cells such that, if a device is assigned to each cell of the critical box and all devices are operated simultaneously, then thermal operating restrictions of the devices will be exceeded; determining if the number of clusters is an integer divisor of the volume of the device array and halting further processing if not; determining a logical building block comprising a logical sub-volume of the device array; assigning a preliminary number label to each cell of the device array, the number labels running consecutively from 1 to the building block volume and repeating until all the devices are assigned a label; assigning a final number label to each cell of the device array, each label corresponding to an assignment of the devices to operating clusters such that each device array cluster includes the same number of devices and each logical building block sub-volume of the device array includes at most one device from each cluster; and operating the devices according to the cluster assignment specified by the final assignment step such that only devices in a set of at most L selected clusters are operated at any one time.
Claim 2
Independent Claim
321 words
A method of controlling the operation of a plurality of devices that are arranged in a device array of a system and generate heat when operated, the method comprising the steps of: receiving dimensions of the device array defining a volume of N cells in which the devices are arranged, one device to a cell; receiving a number of clusters for determining a number of operational groups to which the devices in the array are to be assigned, wherein substantially all of the devices in a cluster are operated substantially simultaneously with each operation of the system; receiving a number L indicating the maximum number of clusters of devices activated substantially simultaneously in every operation of the system; receiving dimensions of a critical box that defines an arrangement of the devices into cells such that, if a device is assigned to each cell of the critical box and all devices are operated simultaneously, then thermal operating restrictions of the devices will be exceeded; determining if the number of clusters is an integer divisor of the volume of the device array and halting further processing if not; determining a logical building block comprising a logical sub-volume of the device array; assigning a preliminary number label to each cell of the device array, the number labels running consecutively from 1 to the building block volume and repeating until all the devices are assigned a label; assigning a final number label to each cell of the device array, each label corresponding to an assignment of the devices to operating clusters such that each device array cluster includes the same number of devices and each logical building block sub-volume of the device array includes at most one device from each cluster; and operating the devices according to the cluster assignment specified by the final assignment step such that only devices in a set of at most L selected clusters are operated at any one time.
Claim 3
Dependent Claim
173 words
A method as defined in claim 1, wherein the step of determining a building block further comprises the steps of: determining a set of dimension tuples defining possible building block dimensions and for each dimension tuple in the set: determining if the product of the numbers which are the minimum of the possible building block dimensions and the corresponding critical box dimensions exceeds the number L; determining if the volume of the possible building block is an integer divisor of the number of clusters; determining if the first axis dimension of the possible building block is an integer divisor of the first axis dimension of the device array; determining if the product of the first two axis dimensions of the possible building block is an integer divisor of the product of the first two axis dimensions of the device array; and adopting as the selected building block dimensions any dimension tuple for which all the dimension tuple determinations are positive and indicating an error condition if no dimension tuple has all determinations positive.
Claim 4
Dependent Claim
34 words
A method as defined in claim 2, wherein the step of determining a set of dimension tuples comprises receiving an input set of dimension tuples from which the building block determination will be made.
Claim 5
Dependent Claim
33 words
A method as defined in claim 2, wherein the step of determining a set of dimension tuples comprises calculating a set of dimension tuples from which the building block determination will be made.
Claim 6
Dependent Claim
51 words
A method as defined in claim 2, wherein the step of adopting a dimension tuple as the selected building block dimensions further includes the step of selecting, from among all the dimension tuples for which all the determinations are positive, one such tuple whose dimensions satisfy an additional critierion for selection.
Claim 7
Dependent Claim
131 words
A method as defined in claim 1, wherein the step of assigning preliminary labels comprises the steps of: assigning preliminary labels running from 1 to the building block volume to a logical building block of cells; logically replicating this building block with its preliminary labeled cells along the third axis dimension until a logical array of N cells are labeled; partitioning along the third axis dimension, in multiples of the third device array dimension, this logical array of cells into logical subarrays and attaching these logical subarrays with labeled cells along the second axis dimension; and partitioning along the second axis dimension, in multiples of the second device array dimension, this logical array of cells into logical subarrays and attaching these logical subarrays with labeled cells along the first axis dimension.
Claim 8
Dependent Claim
79 words
A method as defined in claim 1, wherein the step of assigning final number labels comprises: determining if the building block volume equals the number of clusters, and if so assigning devices to clusters according to their preliminary labels and if not, continuing; partitioning the preliminary labels according to any rule such that each array cluster includes the same number of devices and each building block sub-volume of the device array includes at most one device from each cluster.
Claim 9
Dependent Claim
80 words
A method as defined in claim 7, wherein the step of partitioning comprises the steps of: scanning the device array along a first dimension of the array and assigning the nth occurrence of the ith label to a cluster number J=((i-1)*Z)+j, where, j=1, 2, . . . , Z and j=n mod Z, the number Z indicating the ratio of the number of clusters to the building block volume; and repeating the scanning for the remaining dimensions of the array.
Claim 10
Dependent Claim
72 words
A method as defined in claim 7, wherein the step of partitioning comprises the steps of: scanning the device array along a first dimension of the array and assigning the nth occurrence of the ith label to a randomly selected cluster; maintaining a count of the number of devices assigned to each cluster; and excluding a cluster from selection in the step of scanning once N/C devices have been assigned to it.
Claim 11
Dependent Claim
320 words
A computer-implemented method of determining an operational arrangement of disk devices that generate heat when operated in a system for data access, the method comprising the steps of: receiving dimensions of a disk array into which the disk devices are arranged for storing or retrieving data with each data access operation of the system, such dimensions defining a total volume of N cells in which the disk devices are arranged, one disk device to a cell; receiving a number of disk clusters to which the disk devices will be assigned such that substantially all of the devices in a cluster are operated substantially simultaneously with each data access operation of the system; receiving a number L of disk clusters indicating the maximum number of clusters of disk devices activated substantially simultaneously in every operation of the system; receiving dimensions of a critical box that defines an arrangement of the disk devices into cells such that, if a disk device is assigned to each cell of the critical box and all disk devices are operated simultaneously during the same data access operation, then thermal operating restrictions of the disk devices will be exceeded; determining if the number of clusters is an integer divisor of the volume of the device array and halting further processing if not; determining a logical building block comprising a logical sub-volume of the disk device array; assigning a preliminary number label to each cell of the disk device array, the number labels running from 1 to the building block volume and repeating until all the disk devices are assigned a label; and assigning a final number label to each cell of the device array, each label corresponding to an assignment of the devices to operating clusters such that each device array cluster includes the same number of devices and each logical building block sub-volume of the device array includes at most one disk device from each cluster.
Claim 12
Dependent Claim
320 words
A computer-implemented method of determining an operational arrangement of disk devices that generate heat when operated in a system for data access, the method comprising the steps of: receiving dimensions of a disk array into which the disk devices are arranged for storing or retrieving data with each data access operation of the system, such dimensions defining a total volume of N cells in which the disk devices are arranged, one disk device to a cell; receiving a number of disk clusters to which the disk devices will be assigned such that substantially all of the devices in a cluster are operated substantially simultaneously with each data access operation of the system; receiving a number L of disk clusters indicating the maximum number of clusters of disk devices activated substantially simultaneously in every operation of the system; receiving dimensions of a critical box that defines an arrangement of the disk devices into cells such that, if a disk device is assigned to each cell of the critical box and all disk devices are operated simultaneously during the same data access operation, then thermal operating restrictions of the disk devices will be exceeded; determining if the number of clusters is an integer divisor of the volume of the device array and halting further processing if not; determining a logical building block comprising a logical sub-volume of the disk device array; assigning a preliminary number label to each cell of the disk device array, the number labels running from 1 to the building block volume and repeating until all the disk devices are assigned a label; and assigning a final number label to each cell of the device array, each label corresponding to an assignment of the devices to operating clusters such that each device array cluster includes the same number of devices and each logical building block sub-volume of the device array includes at most one disk device from each cluster.
Claim 13
Dependent Claim
38 words
A method as defined in claim 10, further including the step of providing an output listing comprising the cells of the disk array and the corresponding labels representing assignments of disk devices to clusters of the disk array.
Claim 14
Dependent Claim
171 words
A method as defined in claim 10, wherein the step of determining a building block further comprises the steps of: determining a set of dimension tuples defining possible building block dimensions and for each dimension tuple in the set: determining if the product of the numbers which are the minimum of the possible building block dimensions and the corresponding critical box dimensions exceeds the number L; determining if the volume of the possible building block is an integer divisor of the number of clusters; determining if the first axis dimension of the possible building block is an integer divisor of the first axis dimension of the device array; determining if the product of the first two axis dimensions of the possible building block is an integer divisor of the product of the first two axis dimensions of the device array; and adopting as the selected building block dimensions any dimension tuple for which all the determinations are positive and indicating an error condition if no dimension tuple has all determinations positive.
Claim 15
Dependent Claim
34 words
A method as defined in claim 12, wherein the step of determining a set of dimension tuples comprises receiving an input set of dimension tuples from which the building block determination will be made.
Claim 16
Dependent Claim
33 words
A method as defined in claim 12, wherein the step of determining a set of dimension tuples comprises calculating a set of dimension tuples from which the building block determination will be made.
Claim 17
Dependent Claim
51 words
A method as defined in claim 12, wherein the step of adopting a dimension tuple as the selected building block dimensions further includes the step of selecting, from among all the dimension tuples for which all the determinations are positive, one such tuple whose dimensions satisfy an additional critierion for selection.
Claim 18
Dependent Claim
131 words
A method as defined in claim 10, wherein the step of assigning preliminary labels comprises the steps of: assigning preliminary labels running from 1 to the building block volume to a logical building block of cells; logically replicating this building block with its preliminary labeled cells along the third axis dimension until a logical array of N cells are labeled; partitioning along the third axis dimension, in multiples of the third device array dimension, this logical array of cells into logical subarrays and attaching these logical subarrays with labeled cells along the second axis dimension; and partitioning along the second axis dimension, in multiples of the second device array dimension, this logical array of cells into logical subarrays and attaching these logical subarrays with labeled cells along the first axis dimension.
Claim 19
Dependent Claim
83 words
A method as defined in claim 10, wherein the step of assigning final number labels comprises: determining if the building block volume equals the number of clusters, and if so assigning disk devices to clusters according to their preliminary labels and if not, continuing; partitioning the preliminary labels according to any rule such that each array cluster includes the same number of disk devices and each building block sub-volume of the disk device array includes at most one disk device from each cluster.
Claim 20
Dependent Claim
80 words
A method as defined in claim 17, wherein the step of partitioning comprises the steps of: scanning the device array along a first dimension of the array and assigning the nth occurrence of the ith label to a cluster number J=((i-1)*Z)+j, where, j=1, 2, . . . , Z and j=n mod Z, the number Z indicating the ratio of the number of clusters to the building block volume; and repeating the scanning for the remaining dimensions of the array.
Claim 21
Dependent Claim
72 words
A method as defined in claim 17, wherein the step of partitioning comprises the steps of: scanning the device array along a first dimension of the array and assigning the nth occurrence of the ith label to a randomly selected cluster; maintaining a count of the number of devices assigned to each cluster; and excluding a cluster from selection in the step of scanning once N/C devices have been assigned to it.