SCM blocks are currently allocated via the SCM block client rpc. This would involve multiple rpc requests for block allocation requests. This can be optimized by having a block cache on the client.
This cache can be used to pre-allocate multiple blocks. This layer can also be optimized to handle block frees as well by keeping the freed blocks in the cache and using them for further allocations.