US8578124B2ActiveUtilityA1

Storage systems and methods with pre-reserve allocation

56
Assignee: ROOT MICHAEL EPriority: Dec 18, 2009Filed: Dec 18, 2009Granted: Nov 5, 2013
Est. expiryDec 18, 2029(~3.4 yrs left)· nominal 20-yr term from priority
G06F 12/0223
56
PatentIndex Score
1
Cited by
3
References
20
Claims

Abstract

Systems and methods for information storage replication are presented. In one embodiment a storage flow control method includes receiving a memory operation indication; performing a pre-reserve allocation process before proceeding with the memory operation, wherein the pre-reserve allocation process includes converting available unallocated memory space to allocated memory space if there is sufficient available unallocated memory space to perform the memory operation; executing the memory operation if the pre-reserve allocation process returns an indication there is sufficient memory space allocated to perform the memory operation; and aborting the memory operation if the pre-reserve allocation process returns an indication there is sufficient memory space allocated to perform the memory operation. In one embodiment, the memory operation is a write operation. The memory operation can be a write operation.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A memory operation method comprising:
 receiving a memory operation indication; 
 performing a pre-reserve allocation process before proceeding with said memory operation, wherein said pre-reserve allocation process includes converting available unallocated memory space to allocated memory space if there is sufficient available unallocated memory space to perform said memory operation and pausing a memory operation status indication to an originating application until the pre-reserve allocation process is complete; 
 executing said memory operation if said pre-reserve allocation process returns an indication that there is sufficient memory space allocated to perform said memory operation; and 
 aborting said memory operation if said pre-reserve allocation process returns an indication that there is not sufficient memory space allocated to perform said memory operation. 
 
     
     
       2. The memory operation method of  claim 1  wherein said memory operation is a write operation. 
     
     
       3. The memory operation method of  claim 1  wherein said pre-reserve allocation process includes:
 pausing a successful memory operation response until pre-reserve allocation operations are complete; 
 determining if there is enough allocated memory space to perform said memory operation; 
 determining if there is enough unallocated physical memory space available for conversion to allocated memory space; 
 converting unallocated memory space to allocated memory space if there is enough physical memory space available to perform the memory operation and not enough allocated memory space to perform said memory operation; 
 forwarding a sufficient allocated memory space indication if said pre-reserve allocation operation is able to establish sufficient allocated memory space; and 
 forwarding an insufficient allocated memory space indication if said pre-reserve allocation operation is not able to establish sufficient allocated memory space. 
 
     
     
       4. The memory operation method of  claim 1  wherein said pre-reserve allocation process allocates memory space on an as needed basis. 
     
     
       5. The memory operation method of  claim 1  wherein said pre-reserve allocation process allocates sufficient memory space to handle a future memory operation. 
     
     
       6. The memory operation method of  claim 1  wherein said memory operation is a two phase confirm memory operation and said aborting is performed before a first phase of a two phase confirm memory operation. 
     
     
       7. The memory operation method of  claim 1  further comprising performing corrective measures if said pre-reserve allocation process returns an out of physical memory indication. 
     
     
       8. A non-transitory computer readable storage medium having stored thereon, computer-executable instructions that when executed by a computing device cause the computing device to perform a method comprising:
 receiving a memory operation indication; 
 performing a pre-reserve allocation process before proceeding with said memory operation, wherein said pre-reserve allocation process includes converting available unallocated memory space to allocated memory space if there is sufficient available unallocated memory space to perform said memory operation and pausing a memory operation status indication to an originating application until the pre-reserve allocation process is complete; 
 executing said memory operation if said pre-reserve allocation process returns an indication there is sufficient memory space allocated to perform said memory operation; and 
 aborting said memory operation if said pre-reserve allocation process returns an indication there is not sufficient memory space allocated to perform said memory operation. 
 
     
     
       9. The non-transitory computer readable storage medium of  claim 8  wherein said memory operation is a write operation. 
     
     
       10. The non-transitory computer readable storage medium of  claim 8  wherein said pre-reserve allocation process includes:
 pausing a successful memory operation response until pre-reserve allocation operations are complete; 
 determining if there is enough allocated memory space to perform said memory operation; 
 determining if there is enough unallocated physical memory space available for conversion to allocated memory space; 
 converting unallocated memory space to allocated memory space if there is enough physical memory space available to perform the memory operation and not enough allocated memory space to perform said memory operation; 
 forwarding a sufficient allocated memory space indication if said pre-reserve allocation operation is able to establish sufficient allocated memory space; and 
 forwarding an insufficient allocated memory space indication if said pre-reserve allocation operation is not able to establish sufficient allocated memory space. 
 
     
     
       11. The non-transitory computer readable storage medium of  claim 8  wherein said pre-reserve allocation process allocates memory space on an as needed basis. 
     
     
       12. The non-transitory computer readable storage medium of  claim 8  wherein said pre-reserve allocation process allocates sufficient memory space to handle a future memory operation. 
     
     
       13. The non-transitory computer readable storage medium of  claim 8  wherein said memory operation is a two phase confirm memory operation and said aborting is performed before a first phase of a two phase confirm memory operation. 
     
     
       14. The non-transitory computer readable storage medium of  claim 8  further comprising performing corrective measures if said pre-reserve allocation process returns an out of physical memory indication. 
     
     
       15. A system, comprising:
 a computer system having a processor coupled to a computer readable storage media and executing computer readable code which causes the computer system to perform a method of:
 receiving a memory operation indication; 
 performing a pre-reserve allocation process before proceeding with said memory operation, wherein said pre-reserve allocation process includes converting available unallocated memory space to allocated memory space if there is sufficient available unallocated memory space to perform said memory operation and pausing a memory operation status indication to an originating application until the pre-reserve allocation process is complete; 
 executing said memory operation if said pre-reserve allocation process returns an indication there is sufficient memory space allocated to perform said memory operation; and 
 aborting said memory operation if said pre-reserve allocation process returns an indication there is not sufficient memory space allocated to perform said memory operation. 
 
 
     
     
       16. The memory operation method of  claim 15  wherein said memory operation is a write operation. 
     
     
       17. The memory operation method of  claim 15  wherein said pre-reserve allocation process includes:
 pausing a successful memory operation response until pre-reserve allocation operations are complete; 
 determining if there is enough allocated memory space to perform said memory operation; 
 
       determining if there is enough unallocated physical memory space available for conversion to allocated memory space;
 converting unallocated memory space to allocated memory space if there is enough physical memory space available to perform the memory operation and not enough allocated memory space to perform said memory operation; 
 forwarding a sufficient allocated memory space indication if said pre-reserve allocation operation is able to establish sufficient allocated memory space; and 
 forwarding an insufficient allocated memory space indication if said pre-reserve allocation operation is not able to establish sufficient allocated memory space. 
 
     
     
       18. The memory operation method of  claim 15  wherein said pre-reserve allocation process allocates memory space on an as needed basis. 
     
     
       19. The memory operation method of  claim 15  wherein said pre-reserve allocation process allocates sufficient memory space to handle a future memory operation. 
     
     
       20. The memory operation method of  claim 15  wherein said memory operation is a two phase confirm memory operation and said aborting is performed before a first phase of a two phase confirm memory operation.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.