Method, system, and program for using a table to determine an erase operation to perform
First Claim
Patent Images
1. A method for erasing data in computer memory, comprising:
- storing a table indicating different groupings of system functions, wherein each grouping indicates at least one system function and for each grouping indicating code to perform erase operations;
receiving an erase command to erase data in at least one storage location;
determining the grouping having system functions supported by the system;
processing the table to determine the code for the determined grouping; and
executing the code for the determined grouping to perform erase operations with respect to each storage location.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a method, system, program, and memory for erasing data. A table is provided indicating different groupings of system functions. Each grouping indicates at least one system function. For each grouping there is code to perform erase operations. An erase command to erase data in at least one storage location is received. A determination is then made of the grouping having system functions supported by the system and the table is processed to determine the code for the determined grouping. The code for the determined grouping is executed to perform erase operations with respect to each storage location.
-
Citations
30 Claims
-
1. A method for erasing data in computer memory, comprising:
-
storing a table indicating different groupings of system functions, wherein each grouping indicates at least one system function and for each grouping indicating code to perform erase operations;
receiving an erase command to erase data in at least one storage location;
determining the grouping having system functions supported by the system;
processing the table to determine the code for the determined grouping; and
executing the code for the determined grouping to perform erase operations with respect to each storage location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
determining whether any source storage location for which there is an indication to copy is subject to the received erase command;
performing for each determined source storage location that is subject to the received erase command;
(i) copying the data from the source storage location to the corresponding target storage location; and
(ii) modifying the copy data structures to eliminate the indication to copy for each source target location subject to the erase command and each corresponding target storage location.
-
-
5. The method of claim 3, wherein executing the code associated with each grouping that includes the point-in-time copy function further comprises:
-
determining whether any target storage location for which there is an indication to copy is subject to the received erase command; and
modifying the copy data structures to eliminate the indication to copy for each determined target storage location that is subject to the received erase command and the corresponding source storage locations.
-
-
6. The method of claim 1, wherein the system functions include a first erase operation and a second erase operation wherein at least one grouping indicates at least the first and second erase operations as system functions, and wherein executing the code for each grouping indicating the first and second erase operations comprises:
-
determining whether the first erase operation is available;
using the first erase operation to implement the erase command after determining that the first erase operation is available; and
using the second erase operation to implement the erase command after determining that the first erase operation is not available.
-
-
7. The method of claim 6, wherein the first erase operation is a logical erase operation that indicates storage locations subject to an erase state without physically erasing the data at the storage locations and the second erase operation overwrites the data at the storage locations subject to the erase command.
-
8. The method of claim 6, wherein the first erase operation erases pointers to physical storage areas when the storage locations comprise pointers to physical storage areas without physically erasing the data at the physical storage areas and the second erase operation overwrites the data at the storage locations subject to the erase command.
-
9. The method of claim 1, wherein the system functions include a first erase operation, a second erase operation, and a third erase operation, wherein at least one grouping indicates at least the first, second, and third erase operations as system functions, and wherein executing the code for each grouping indicating the first, second, and third erase operations comprises:
-
determining whether the first erase operation is available;
using the first erase operation to implement the erase command after determining that the first erase operation is available;
determining whether the second erase operation is available after determining that the first erase operation is not available;
using the second erase operation to implement the erase command after determining that the second erase operation is available; and
using the third erase operation to implement the erase command after determining that the second erase operation is not available.
-
-
10. The method of claim 9, wherein the first erase operation erases pointers to physical storage areas when the storage locations comprise pointers to physical storage areas without physically erasing the data at the physical storage areas, wherein the second erase operation is a logical erase operation that indicates storage locations subject to an erase state without physically erasing the data at the storage locations, and the third erase operation overwrites the data at the storage locations subject to the erase command.
-
11. A system for erasing data in a storage device, comprising:
-
a processor having access to the storage device;
a memory storing a table indicating different groupings of system functions, wherein each grouping indicates at least one system function and, for each grouping, indicating code to perform erase operations;
program logic executed by the processor, comprising;
(i) means for receiving an erase command to erase data in at least one storage location;
(ii) means for determining the grouping from the table in memory having system functions supported by the system;
(iii) means for processing the table in memory to determine the code for the determined grouping; and
(iv) means for executing the code for the determined grouping to perform erase operations with respect to each storage location. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
means for determining whether any source storage location for which there is an indication to copy is subject to the received erase command;
means for causing the processor to perform for each determined source storage location that is subject to the received erase command;
(i) copying the data from the source storage location to the corresponding target storage location; and
(ii) modifying the copy data structures to eliminate the indication to copy for each source target location subject to the erase command and each corresponding target storage location.
-
-
15. The system of claim 13, wherein the program logic for executing the code associated with each grouping that includes the point-in-time copy function further comprises:
-
means for determining whether any target storage location for which there is an indication to copy is subject to the received erase command; and
means for modifying the copy data structures to eliminate the indication to copy for each determined target storage location that is subject to the received erase command and the corresponding source storage locations.
-
-
16. The system of claim 11, wherein the system functions include a first erase operation and a second erase operation wherein at least one grouping indicates at least the first and second erase operations as system functions, and wherein the program logic for executing the code for each grouping indicating the first and second erase operations comprises:
-
means for determining whether the first erase operation is available;
means for using the first erase operation to implement the erase command after determining that the first erase operation is available; and
means for using the second erase operation to implement the erase command after determining that the first erase operation is not available.
-
-
17. The system of claim 16, wherein the first erase operation is a logical erase operation that indicates storage locations subject to an erase state and the second erase operation includes logic for overwriting the data at the storage locations subject to the erase command.
-
18. The system of claim 17, wherein the first erase operation includes logic for erasing pointers to physical storage areas when the storage locations comprise pointers to physical storage areas without physically erasing the data at the physical storage areas and the second erase operation includes logic for overwriting the data at the storage locations subject to the erase command.
-
19. The system of claim 11, wherein the system functions in the table in memory include a first erase operation, a second erase operation, and a third erase operation, wherein at least one grouping indicates at least the first, second, and third erase operations as system functions, and wherein the program logic for executing the code for each grouping indicating the first, second, and third erase operations comprises:
-
means for determining whether the first erase operation is available;
means for using the first erase operation to implement the erase command after determining that the first erase operation is available;
means for determining whether the second erase operation is available after determining that the first erase operation is not available;
means for using the second erase operation to implement the erase command after determining that the second erase operation is available; and
means for using the third erase operation to implement the erase command after determining that the second erase operation is not available.
-
-
20. The system of claim 19, wherein the first erase operation erases pointers to physical storage areas when the storage locations comprise pointers to physical storage areas without physically erasing the data at the physical storage areas, wherein the second erase operation is a logical erase operation that indicates storage locations subject to an erase state without physically erasing the data at the storage locations, and the third erase operation overwrites the data at the storage locations subject to the erase command.
-
21. An article of manufacture for use in erasing data, the article of manufacture comprising computer readable storage media including at least one computer program embedded therein that is capable of causing the computer to perform:
-
storing a table indicating different groupings of system functions, wherein each grouping indicates at least one system function and for each grouping indicating code to perform erase operations;
receiving an erase command to erase data in at least one storage location;
determining the grouping having system functions supported by the system;
processing the table to determine the code for the determined grouping; and
executing the code for the determined grouping to perform erase operations with respect to each storage location. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
determining whether any source storage location for which there is an indication to copy is subject to the received erase command;
performing for each determined source storage location that is subject to the received erase command;
(i) copying the data from the source storage location to the corresponding target storage location; and
(ii) modifying the copy data structures to eliminate the indication to copy for each source target location subject to the erase command and each corresponding target storage location.
-
-
25. The article of manufacture of claim 23, wherein executing the code associated with each grouping that includes the point-in-time copy function further comprises:
-
determining whether any target storage location for which there is an indication to copy is subject to the received erase command; and
modifying the copy data structures to eliminate the indication to copy for each determined target storage location that is subject to the received erase command and the corresponding source storage locations.
-
-
26. The article of manufacture of claim 21, wherein the system functions include a first erase operation and a second erase operation wherein at least one grouping indicates at least the first and second erase operations as system functions, and wherein executing the code for each grouping indicating the first and second erase operations comprises:
-
determining whether the first erase operation is available;
using the first erase operation to implement the erase command after determining that the first erase operation is available; and
using the second erase operation to implement the erase command after determining that the first erase operation is not available.
-
-
27. The article of manufacture of claim 26, wherein the first erase operation is a logical erase operation that indicates storage locations subject to an erase state without physically erasing the data at the storage locations and the second erase operation overwrites the data at the storage locations subject to the erase command.
-
28. The article of manufacture of claim 26, wherein the first erase operation erases pointers to physical storage areas when the storage locations comprise pointers to physical storage areas without physically erasing the data at the physical storage areas and the second erase operation overwrites the data at the storage locations subject to the erase command.
-
29. The article of manufacture of claim 21, wherein the system functions include a first erase operation, a second erase operation, and a third erase operation, wherein at least one grouping indicates at least the first, second, and third erase operations as system functions, and wherein executing the code for each grouping indicating the first, second, and third erase operations comprises:
-
determining whether the first erase operation is available;
using the first erase operation to implement the erase command after determining that the first erase operation is available;
determining whether the second erase operation is available after determining that the first erase operation is not available;
using the second erase operation to implement the erase command after determining that the second erase operation is available; and
using the third erase operation to implement the erase command after determining that the second erase operation is not available.
-
-
30. The article of manufacture of claim 29, wherein the first erase operation erases pointers to physical storage areas when the storage locations comprise pointers to physical storage areas without physically erasing the data at the physical storage areas, wherein the second erase operation is a logical erase operation that indicates storage locations subject to an erase state without physically erasing the data at the storage locations, and the third erase operation overwrites the data at the storage locations subject to the erase command.
Specification