The primitive operation Allocate is an operation in the storage allocation layer. It requests a storage block from the persistent storage and obtains the persistent pointer to the storage block. The size of the allocated storage block is specified at the request. The actual size of the storage block may exceed the requested size owing to its alignment and/or fragmentation avoidance.
It returns a null persistent pointer when the request has failed.