Method and apparatus for initializing logical objects in a data storage system
First Claim
1. A storage system for use in a computer system including a host computer, the storage system comprising:
- at least one storage device having a plurality of user-accessible storage locations, the at least one storage device including at least one disk drive;
a cache memory; and
a controller, coupled to the cache memory and the at least one storage device, that controls access to the at least one storage device from the host computer, so that the at least one storage device is accessible to the host computer only via the controller, the controller being capable of generating data that is independent of any data passed from the host computer to the storage system and writing the generated data to at least two non-contiguous user-accessible storage locations on the at least one storage device in response to a communication from the host computer that specifies the at least two non-contiguous user-accessible storage locations and does not include the generated data to be written to the at least two non-contiguous user-accessible storage locations, without writing the generated data to at least one user-accessible storage location disposed between the at least two non-contiguous storage locations so that any data in the at least one user-accessible storage location is preserved.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for manipulating data in a storage device that is coupled to a host computer. Manipulations that can be performed by the storage device include moving non-contiguous blocks of data between the host computer and the storage device in a single operation. Other manipulations can be performed directly by the storage device without passing data to or from the host computer and include copying data from one logical object that is defined on the host computer to another, initializing, backing-up, transforming, or securely deleting a logical object that is defined by the host computer with a single command. In one embodiment, an application programming interface is provided that allows a relationship between logical objects on a host computer and storage locations on a storage device to be communicated between the host computer and the storage device. By providing the storage device with knowledge of the relationship between a logical object and the storage locations corresponding to that logical object, data corresponding to the logical object can be manipulated directly by the storage device, rather than by the host computer. In another embodiment, a graphical visualization routine is provided that displays the global mapping of a logical object to a set of physical blocks on the storage device for each layer of mapping below the logical object.
-
Citations
48 Claims
-
1. A storage system for use in a computer system including a host computer, the storage system comprising:
-
at least one storage device having a plurality of user-accessible storage locations, the at least one storage device including at least one disk drive; a cache memory; and a controller, coupled to the cache memory and the at least one storage device, that controls access to the at least one storage device from the host computer, so that the at least one storage device is accessible to the host computer only via the controller, the controller being capable of generating data that is independent of any data passed from the host computer to the storage system and writing the generated data to at least two non-contiguous user-accessible storage locations on the at least one storage device in response to a communication from the host computer that specifies the at least two non-contiguous user-accessible storage locations and does not include the generated data to be written to the at least two non-contiguous user-accessible storage locations, without writing the generated data to at least one user-accessible storage location disposed between the at least two non-contiguous storage locations so that any data in the at least one user-accessible storage location is preserved. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 22, 23, 24)
-
-
12. A method of operating a storage system in a computer system including the storage system and a host computer coupled thereto, wherein the storage system includes a controller, a cache memory, and at least one storage device having a plurality of user-accessible storage locations, the at least one storage device including at least one disk drive, and wherein the controller controls access to the at least one storage device so that the at least one storage device is accessible to the host computer only via the controller, the method comprising, in response to a communication received from the host computer that specifies at least two non-contiguous user-accessible storage locations on the at least one storage device, acts of:
-
(A) generating, within the storage system, data that is independent of any data passed from the host computer to the storage system to be written to the at least two non-contiguous user-accessible storage locations of the plurality of user-accessible storage locations on the at least one storage device; and (B) writing the generated data to the at least two non-contiguous user-accessible storage locations without writing the generated data to at least one user-accessible storage location disposed between the at least two non-contiguous storage locations so that any data in the at least one user-accessible storage location is preserved. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 25, 26)
-
-
21. In a computer system including a storage system and a host computer coupled thereto, the storage system including, a controller, a cache memory, and at least one storage device, wherein the controller controls access to the at least one storage device so that the at least one storage device is accessible to the host computer only via the controller, a method of writing information to a logical object of the host computer, the method comprising, in response to a communication received from the host computer that specifies a plurality of storage locations on the at least one storage device corresponding to the logical object of the host computer, the plurality of storage locations comprising at least two storage locations that are perceived by the host computer to be non-contiguous, acts of:
-
(A) generating, within the storage system, data that is independent of any data passed from the host computer to the storage system to be written to the plurality of storage locations on the at least one storage device corresponding to the logical object of the host computer; and (B) writing the generated data to only the plurality of storage locations corresponding to the logical object. - View Dependent Claims (27)
-
-
28. In a computer system including a storage system and a host computer coupled thereto, the storage system including a controller and at least one storage device having a plurality of storage locations, wherein the controller controls access to the at least one storage device so that the at least one storage device is accessible to the host computer only via the controller, a method of writing information to a logical object of the host computer, comprising acts of:
-
mapping the logical object to a group of storage locations, from among the plurality of storage locations, on the at least one storage device that are assigned to store the information for the logical object, the group of storage locations comprising at least two storage locations that are perceived by the host computer to be non-contiguous; receiving, at the storage system, a communication from the host computer identifying the group of storage locations; and generating, within the storage system, data that is independent of any data passed from the host computer to the storage system and writing the generated data to the group of storage locations in response to the act of receiving the communication. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification