Patent ID: 7404104

Claim:
A method to assign network addresses in a storage array, comprising the steps of: supplying a data storage and retrieval system comprising (P) data storage devices disposed in (N) data storage device assemblies, wherein each of said data storage device assemblies comprises (M) data storage devices, wherein (P) is equal to or greater than 4, and wherein (N) is greater than or equal to 2, and wherein (M) is greater than or equal to 2; generating (Q) network addresses, wherein (Q) is less than (P); assigning each of said (Q) network addresses to a different data storage device, wherein said (P) data storage devices comprise (Q) data storage devices assigned a network address and (P-Q) data storage devices not assigned a network address; configuring said (N) data storage device assemblies to comprise a spare data storage device assembly and a first storage array comprising (N−1) active data storage device assemblies, wherein each data storage device configured in said first storage array is assigned a network address, and wherein an (i)th spare data storage device disposed in said spare data storage device assembly is assigned a network address, and wherein (i) is greater than or equal to 1 and less than or equal to (M); detecting a failed data storage device, wherein said failed data storage device is disposed in a degraded data storage device assembly, wherein said first storage array comprises said degraded data storage device assembly; forming a second storage array comprising said first storage array, except said failed data storage device, in combination with said (i)th spare data storage device; writing first data to said first storage array before detecting said failed data storage device; rebuilding on said (i)th spare data storage device first data written to said failed data storage device; writing second data to said second storage array; transferring the network address assigned to the failed data storage device to a (j)th spare data storage device, wherein (j) is greater than or equal to 1 and less than or equal to (M), and wherein (j) does not equal (i); copying first data and second data to said (j)th spare data storage device from a first operative data storage device disposed in the degraded data storage device assembly; transferring the network address assigned to said first operative data storage device disposed in the degraded data storage device assembly to a (k)th spare data storage device, wherein (k) is greater than or equal to 1 and less than or equal to (M), and wherein (k) does not equal either (i) or (j); copying first data and second data to said (k)th spare data storage device from a second operative data storage device disposed in the degraded data storage device assembly; forming a third storage array comprising said first storage array, except said degraded data storage device assembly, in combination with said spare data storage device assembly.