Patent ID: 8244995

Claim:
A method for wear leveling of a storage system having a plurality of storage device modules, the method comprising: maintaining module usage data associated with each of a plurality of storage device modules communicatively coupled to a channel, the module usage data including information regarding a volume of writes made to each of the plurality of storage device modules and each of the plurality of storage device modules having a plurality of storage devices; maintaining channel usage data associated with each of a plurality of channels, the channel usage data including information regarding a volume of writes made to each of the plurality of channels and each of the plurality of channels communicatively coupled to a plurality of storage device modules; for each of the plurality of storage device modules, maintaining device usage data associated with each of the plurality of storage devices associated with the storage device module, the device usage data including information regarding a volume of writes made to each of the plurality of storage devices; determining a particular storage device module of the plurality of storage device modules to which to store data associated with a write request based at least on the module usage data; determining a particular storage device of the particular storage device module to which to store data associated with a write request based at least on the device usage data associated with the particular storage device module; and determining a particular channel of the plurality of channels to which to store data associated with a write request based at least on the channel usage data.