Virtual storage and block level direct access of secondary storage for recovery of backup data
First Claim
1. A method of permitting at least one host processor to obtain from a data storage subsystem access to backup versions, the data storage subsystem having primary data storage, the backup versions being stored in secondary data storage linked to the data storage subsystem for transfer of the backup versions from the secondary data storage to the data storage subsystem, said method comprising:
- a) the host processor transmitting to the data storage subsystem a request for assignment of a virtual storage address from which a specified backup version in the secondary data storage can be accessed via storage access requests that are transmitted from the host processor to the data storage subsystem;
b) the data storage subsystem responding to the request for assignment of a virtual storage address by assigning a virtual storage address from which the specified backup version in the secondary data storage can be accessed via storage access requests that are transmitted from the host processor to the data storage subsystem;
c) the host processor accessing the specified backup version by transmitting to the data storage subsystem storage access requests that specify the assigned virtual storage address and that specify portions of the specified backup version to be accessed; and
d) the data storage subsystem responding to the storage access requests by accessing the specified portions of the specified backup version to be accessed.
7 Assignments
0 Petitions
Accused Products
Abstract
A data storage system has a primary data storage subsystem including primary data storage and a secondary data storage subsystem including secondary data storage. The secondary data storage contains backup versions of data stored in the primary data storage. To permit a host processor to access a specified backup version, the primary data storage subsystem assigns a virtual storage address to a specified backup version, and the host processor sends to the primary data storage subsystem data access requests that specify the virtual storage address. If the primary data storage subsystem has spare data storage, then a copy of the specified backup version is read from the secondary storage and written into the spare storage, and the address of the copy in the spare storage is mapped to the virtual storage address and accessed in response to the storage access requests from the host processor. Otherwise, a block-level direct access of the secondary storage is performed to access the specified backup version. In either case, the backup version appears to be in the primary data storage subsystem when the host accesses it.
-
Citations
23 Claims
-
1. A method of permitting at least one host processor to obtain from a data storage subsystem access to backup versions, the data storage subsystem having primary data storage, the backup versions being stored in secondary data storage linked to the data storage subsystem for transfer of the backup versions from the secondary data storage to the data storage subsystem, said method comprising:
-
a) the host processor transmitting to the data storage subsystem a request for assignment of a virtual storage address from which a specified backup version in the secondary data storage can be accessed via storage access requests that are transmitted from the host processor to the data storage subsystem;
b) the data storage subsystem responding to the request for assignment of a virtual storage address by assigning a virtual storage address from which the specified backup version in the secondary data storage can be accessed via storage access requests that are transmitted from the host processor to the data storage subsystem;
c) the host processor accessing the specified backup version by transmitting to the data storage subsystem storage access requests that specify the assigned virtual storage address and that specify portions of the specified backup version to be accessed; and
d) the data storage subsystem responding to the storage access requests by accessing the specified portions of the specified backup version to be accessed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A machine-readable program storage device containing a program for a storage controller of a data storage subsystem permitting at least one host processor to obtain from the data storage subsystem access to backup versions, the backup versions being stored in secondary data storage linked to the data storage subsystem for transfer of the backup versions from the secondary data storage to the data storage subsystem, said program being executable by the storage controller for:
-
a) receiving from the host processor a request for assignment of a virtual storage address from which a specified backup version in the secondary data storage can be accessed via storage access requests that are transmitted from the host processor to the data storage subsystem;
b) responding to the request for assignment of a virtual storage address by assigning a virtual storage address from which the specified backup version in the secondary data storage can be accessed via storage access requests that are transmitted from the host processor to the data storage subsystem;
c) receiving from the host processor storage access requests that specify the assigned virtual storage address and that specify portions of the specified backup version to be accessed; and
d) responding to the data storage access requests by accessing the specified portions of the specified backup version to be accessed. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A machine readable program storage device containing a program for a storage controller for a data storage subsystem permitting at least one host processor to obtain from the data storage subsystem access to backup versions, the backup versions being stored in secondary data storage linked to the data storage subsystem for transfer of the backup version from the secondary data storage to the data storage subsystem, said program being executable by the storage controller for:
-
a) receiving from the host processor a request for allocation of spare data storage from which a specified backup version can be accessed via storage access requests transmitted from the host processor to the data storage subsystem, and responding to the request from the host processor for allocation of the spare data storage by associating a virtual storage address with the specified backup version, and checking whether or not spare data storage is available in the data storage subsystem for storage of the specified backup version, and when spare data storage is available in the data storage subsystem for storage of the specified backup version, allocating the spare data storage for storing the specified backup version, mapping the virtual storage address to an address of the spare data storage allocated for storing the specified backup version, and transmitting a copy of the specified backup version from the secondary data storage to the spare data storage allocated for storing the specified backup version; and
b) receiving from the host processor storage access requests specifying said virtual storage address; and
responding to the storage access requests from the host processor by checking whether or not there is a mapping of the specified virtual storage address to data storage in the data storage subsystem, and when there is a mapping of the specified virtual storage address to data storage in the data storage subsystem, accessing the data storage in the data storage subsystem to which the virtual storage address is mapped, and when there is not a mapping of the specified virtual storage address to data storage in the data storage subsystem, then accessing the specified backup version associated with the virtual storage address by accessing the secondary data storage.- View Dependent Claims (15)
-
-
16. A data storage subsystem for permitting at least one host processor to obtain access to backup versions stored in secondary data storage, wherein the data storage subsystem comprises primary data storage and a storage controller coupled to the primary data storage for controlling access to the primary data storage, the storage controller having at least one data port for linking the primary data storage and the secondary data storage to the host processor for transfer of data between the primary data storage and the secondary data storage and the host processor, wherein the storage controller is programmed for:
-
a) receiving from the host processor a request for assignment of a virtual storage address from which a specified backup version in the secondary data storage can be accessed via storage access requests that are transmitted from the host processor to the storage controller;
b) responding to the request for assignment of a virtual storage address by assigning a virtual storage address from which the specified backup version in the secondary data storage can be accessed via storage access requests that are transmitted from the host processor to the storage controller;
c) receiving from the host processor storage access requests that specify the assigned virtual storage address and that specify portions of the specified backup version to be accessed; and
d) responding to the storage access requests by accessing the specified portions of the specified backup version to be accessed. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A data storage subsystem for permitting at least one host processor to obtain access to backup versions stored in secondary data storage, wherein the data storage subsystem comprises primary data storage and a storage controller coupled to the primary data storage for controlling access to the primary data storage, the storage controller having at least one data port for linking the primary data storage and the secondary data storage to the host processor for transfer of data between the primary data storage and the secondary data storage and the host processor, wherein the storage controller is programmed for:
-
a) receiving from the host processor a request for allocation of spare data storage from which a specified backup version in the secondary data storage can be accessed via storage access requests transmitted from the host processor to the data storage subsystem, and responding to the request from the host processor for allocation of the spare data storage by associating a virtual storage address with the specified backup version, and checking whether or not spare data storage is available in the data storage subsystem for storage of the specified backup version, and when spare data storage is available in the data storage subsystem for storage of the specified backup version, allocating the spare data storage for storing the specified backup version, mapping the virtual storage address to an address of the spare data storage allocated for storing the specified backup version, and transmitting a copy of the specified backup version from the secondary data storage to the spare data storage allocated for storing the specified backup version; and
b) receiving from the host processor storage access requests specifying said virtual storage address; and
responding to the storage access requests from the host processor by checking whether or not there is a mapping of the specified virtual storage address to data storage in the data storage subsystem, and when there is a mapping of the specified virtual storage address to data storage in the data storage subsystem, accessing the data storage in the data storage subsystem to which the virtual storage address is mapped, and when there is not a mapping of the specified virtual storage address to data storage in the data storage subsystem, then accessing the specified backup version associated with the virtual storage address by accessing the secondary data storage.- View Dependent Claims (23)
-
Specification