1. A method for providing a virtual hot spare in an intelligent distributed storage system having a plurality of smart storage units, the method comprising: determining available storage space remaining across a cluster of smart storage units, each of the smart storage units comprises a processor and a memory for storage and is configured to communicate with at least two of the other smart storage units, wherein the cluster comprises at least two of the plurality of smart storage units, and wherein the available storage space is not currently allocated and open to write recovered data and failure protected data; providing an indication that the cluster is full when the percentage of available storage space is approximately equal to or less than a predetermined level; upon failure of one of the plurality of smart storage units, dynamically allocating storage space within the available storage space remaining on the cluster for the recovered data, wherein the recovered data is recovered from data stored on the failed one of the plurality of smart storage units; and wherein the virtual hot spare is the storage space which has not been assigned to any predetermined set of unallocated physical locations within the available free storage space within the smart storage units of the cluster and thereby allows for maximum flexibility for independent physical placement of data within each smart storage unit in the cluster as the new data or recreated data comes in to be stored.