Patent ID: 8473708

Claim:
A machine implemented method for allocating storage units among a plurality of storage unit clients for storing information at a storage device, comprising: generating a first data structure for identifying a set of storage units that are not referenced by any storage unit client; wherein the plurality of storage unit clients are virtual storage volumes presented to a computing system for storing the information and the storage units are included in a virtual storage space between the storage device and the plurality of storage unit clients; generating a second data structure after verifying that the storage units identified by the first data structure are not referenced by any storage unit client; wherein the second data structure is generated from the first data structure after filtering out any entry associated with a storage unit that may have been referenced by any storage unit client after the first data structure is generated; notifying storage unit clients to use a lookup module before referencing a storage unit: wherein the lookup module uses the second data structure to determine if any storage unit client request is for a storage unit identified by the second data structure; removing any storage unit from the second data structure that is referenced since the second data structure is generated; and generating a third data structure identifying storage units that are not referenced by any storage unit client and are ready for allocation.