Efficient volume copy using pre-configuration of log structured target storage
First Claim
1. A method for writing data to a log structured target storage in a computer system that includes a host, a storage controller coupled to the host, and the target storage coupled to the storage controller, where the host maintains metadata identifying logical units of data contained in the target storage, and where the storage controller maintains a directory classifying storage space of the target storage as being uncollected free space, collected free space, or space-in-use, the method comprising the operations of:
- the host receiving input including source data and specification of a logical unit associated with the source data;
the host directing the storage controller to classify any storage space of the target storage containing data associated with the specified logical unit as uncollected free space; and
the host instructing the storage controller to write the source data to the target storage.
1 Assignment
0 Petitions
Accused Products
Abstract
Source data is more efficiently copied to log structured target storage by pre-configuring the target storage. The invention may be practiced in a system including a host, a storage controller, and the target storage. The host maintains a directory identifying logical units of stored data, and the storage controller maintains records classifying storage space as uncollected free space, collected free space, or space-in-use. First, the host receives input including source data and specification of a logical unit for the source data. In response, the host directs the storage controller to classify any storage space of the log target storage containing data of the specified logical unit as uncollected free space. This pre-configures the log structured storage to more efficiently receive the source data. In another embodiment, the host may consult the directory to determine whether the specified logical unit already exists, and only if so, proceed to direct re-classification of the storage space as uncollected free space. In another embodiment, the host may blindly issue a “space release” instruction for the specified logical unit, which is ignored by the storage controller if the logical unit does not already exists in storage. After pre-configuration, the host instructs the storage controller to write the source data to the log structured storage. The storage controller performs the write, and also changes the directory to classify the storage space now occupied by source data as space-in-use.
46 Citations
33 Claims
-
1. A method for writing data to a log structured target storage in a computer system that includes a host, a storage controller coupled to the host, and the target storage coupled to the storage controller, where the host maintains metadata identifying logical units of data contained in the target storage, and where the storage controller maintains a directory classifying storage space of the target storage as being uncollected free space, collected free space, or space-in-use, the method comprising the operations of:
-
the host receiving input including source data and specification of a logical unit associated with the source data;
the host directing the storage controller to classify any storage space of the target storage containing data associated with the specified logical unit as uncollected free space; and
the host instructing the storage controller to write the source data to the target storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 31)
prior to the operation of directing the storage controller, the host consulting the metadata to determine whether the specified logical unit is already identified therein, and if not, the host foregoing the operation of directing the storage controller.
-
-
3. The method of claim 1, where the operations of the host directing the storage controller comprises the host issuing a space release command for the specified logical unit.
-
4. The method of claim 1, the operations further comprising:
in response to receiving the input data, the host determining whether the target storage is log structured, and if not, aborting the directing and instructing operations.
-
5. The method of claim 1, the specified logical unit comprising a storage volume.
-
6. The method of claim 1, the specified logical unit comprising a subpart of a storage volume.
-
7. The method of claim 1, the operations further comprising:
-
in response to the host instruction, the storage controller writing the source data to the target; and
concurrently with the writing of the source data, the storage controller performing an on-line collection process to convert uncollected free space into collected free space available for writing the source data.
-
-
8. The method of claim 1, the operations further comprising:
prior to the storage controller writing the source data to the target storage, the storage controller applying an off-line collection process to the target storage, the off-line collection process classifying at least some of the uncollected free space of the target storage as collected free space.
-
9. The method of claim 1, the operations further comprising:
-
in response to the host instruction, the storage controller writing the source data to the target storage; and
the storage controller changing the directory to classify storage space occupied by the source data as space-in-use.
-
-
10. The method of claim 1, the operations further comprising:
after the operation of the host directing the storage controller, the host updating the metadata to associate the written source data with the specified logical unit.
-
11. The method of claim 1, the operations further comprising:
determining whether the source data has at least a prescribed size, and if not, aborting the operation of the host directing the storage controller to classify any storage space of the target storage containing data associated with the specified logical unit as uncollected free space.
-
31. The method of claim 1, where the operations of the host directing the storage controller comprises:
issuing a space release command for the specified logical unit independent of without checking for the presence of the specified logical host unit in the target storage.
-
12. A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method for writing data to a log structured target storage in a computer system that includes a host, a storage controller coupled to the host, and the target storage coupled to the storage controller, where the host maintains metadata identifying logical units of data contained in the target storage, and where the storage controller maintains a directory classifying storage space of the target storage as being uncollected free space, collected free space, or space-in-use, the method comprising the operations of:
-
the host receiving input including source data and specification of a logical unit associated with the source data;
the host directing the storage controller to classify any storage space of the target storage containing data associated with the specified logical unit as uncollected free space; and
the host instructing the storage controller to write the source data to the target storage. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
prior to the operation of directing the storage controller, the host consulting the metadata to determine whether the specified logical unit is already defined therein, and if not, the host foregoing the operation of directing the storage controller.
-
-
14. The medium of claim 12, where the operation of the host directing the storage controller comprises the host issuing a space release command for the specified logical unit.
-
15. The medium of claim 12, the operations further comprising:
in response to receiving the input data, the host determining whether the target storage is log structured, and if not, aborting the directing and instructing operations.
-
16. The medium of claim 12, the specified logical unit comprising a storage volume.
-
17. The medium of claim 12, the specified logical unit comprising a subpart of a storage volume.
-
18. The medium of claim 12, the operations further comprising:
after the operation of the host directing the storage controller, the host updating the metadata to associate the written source data with the specified logical unit.
-
19. The medium of claim 12, the operations further comprising:
determining whether the source data has at least a prescribed size, and if not, aborting the operation of the host directing the storage controller to classify any storage space of the target storage containing data associated with the specified logical unit as uncollected free space.
-
20. A computer-driven data storage system, comprising:
-
a log structured target storage;
a storage controller coupled to the target storage, the storage controller maintaining a directory classifying storage space of the target storage as being uncollected free space, collected free space, or space-in-use; and
a host, coupled to the storage controller, the host maintaining metadata identifying logical units of data contained in the target storage, the host being programmed to write data to the target storage by performing operations comprising;
the host receiving input including source data and specification of a logical unit associated with the source data;
the host directing the storage controller to classify any storage space of the target storage containing data associated with the specified logical unit as uncollected free space; and
the host instructing the storage controller to write the source data to the target storage. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
prior to the operation of directing the storage controller, the host consulting the metadata to determine whether the specified logical unit is already identified therein, and if not, the host foregoing the operation of directing the storage controller.
-
-
22. The system of claim 20, where the operation of host directing the storage controller comprises the host issuing a space release command for the specified logical unit.
-
23. The system of claim 20, the host being further programmed to perform operations comprising:
in response to receiving the input data, the host determining whether the target storage is log structured, and if not, aborting the directing and instructing operations.
-
24. The system of claim 20, the specified logical unit comprising a storage volume.
-
25. The system of claim 20, the specified logical unit comprising a subpart of a storage volume.
-
26. The system of claim 20, the storage controller being programmed to perform operations comprising:
-
in response to the host instruction, the storage controller writing the source data to the target storage; and
concurrently with the writing of the source data, the storage controller performing an on-line collection process to convert uncollected free space into collected free space available for writing the source data.
-
-
27. The system of claim 20, the storage controller being programmed to perform operations comprising:
prior to the storage controller writing the source data to the target storage, the storage controller applying an off-line collection process to the target storage, the off-line collection process classifying at least some of the uncollected free space of the target storage as collected free space.
-
28. The system of claim 20, the storage controller being programmed to perform operations comprising:
-
in response to the host instruction, the storage controller writing the source data to the target storage; and
the storage controller changing the directory to classify storage space occupied by the source data as space-in-use.
-
-
29. The system of claim 20, the host being further programmed to perform operations comprising:
after the directing of the storage controller, the host updating the metadata to associate the written source data with the specified logical unit.
-
30. The system of claim 20, the host being further programmed to perform operations comprising:
determining whether the source data has at least a prescribed size, and if not, aborting the operation of the host directing the storage controller to classify any storage space of the target storage containing data associated with the specified logical unit as uncollected free space.
-
32. A method for writing data to a log structured target storage in a computer system that includes a host, a storage controller coupled to the host, and the target storage coupled to the storage controller, where the host maintains metadata identifying logical units of data contained in the target storage, and where the storage controller maintains a directory classifying storage space of the target storage as being uncollected free space, collected free space, or space-in-use, the method comprising the operations of:
-
the host receiving input including source data and specification of a logical unit associated with the source data;
the host directing the storage controller to classify any storage space of the target storage containing data associated with the specified logical unit as uncollected free space and then the host instructing the storage controller to write the source data to the target storage.
-
-
33. A computer-driven data storage system, comprising:
-
first means for log structured target storage of data;
second means coupled to the target storage for controlling the first means and maintaining a directory classifying storage space of the target storage as being uncollected free space, collected free space, or space-in-use;
metadata identifying logical units of data contained in the first means;
third means coupled to the second means and the metadata for writing data to the first means by;
receiving input including source data and specification of a logical unit associated with the source data;
directing the second means to classify any storage space of the target storage containing data associated with the specified logical unit as uncollected free space and then instructing the second means to write the source data to the target storage.
-
Specification