1. A method of modular block allocation comprising: selecting, by a modular block allocation computing device, free data blocks; creating, by the modular block allocation computing device, a plurality of buckets only from the selected free data blocks, wherein each bucket in the plurality of buckets represents a different plurality of the selected free data blocks; receiving, by the modular block allocation computing device, a cleaner message requesting dirty buffers associated with the cleaner message be cleaned, the cleaner message further comprises a request that data in the dirty buffers be written to a specific type of storage medium; and cleaning, by the modular block allocation computing device, the dirty buffers by selecting at least one bucket in the plurality of buckets and allocating the plurality of the selected free data blocks of the selected at least one bucket to the dirty buffers, wherein the selecting the at least one bucket is further based on the request in the cleaner message and wherein the at least one bucket comprises an attribute indicating the selected free data blocks are mapped to a specific type of storage medium.