Dynamically managing control information in a storage device
First Claim
Patent Images
1. A method of dynamically managing control information in a plurality of storage devices in a storage array of storage devices, the method comprising:
- querying, by a storage array controller using a data communications link coupling the storage array controller to the plurality of storage devices, the plurality of storage devices for an identification of a plurality of memory blocks that contain control information stored within the memory blocks, the control information describing the state of other memory blocks in the storage device, wherein querying the plurality of storage devices for an identification of a plurality of memory blocks that contain control information stored within the memory blocks comprises;
sending, from the storage array controller to at least one of the plurality of storage devices, a location discovery request instructing the at least one of the plurality of storage devices to determine locations of the control information stored on the at least one of the plurality of storage deviceswherein the control information is distributed across multiple memory blocks in the at least one of the plurality of storage devices, andwherein the locations of the control information on the at least one of the plurality of storage devices are unknown to the storage array controller;
receiving, by the storage array controller from each of the plurality of storage devices, the identification of the plurality of memory blocks that contain control information stored within the memory blocks; and
issuing, by the storage array controller to the each of the plurality of storage devices, one or more read requests addressed to the memory blocks identified as containing control information stored within the memory blocks.
1 Assignment
0 Petitions
Accused Products
Abstract
Dynamically managing control information in a storage device, including: querying, by an array management module executing on a storage array controller, the storage device for a location of control information for the storage device, the control information describing the state of one or more memory blocks in the storage device; and issuing, by the array management module in dependence upon the location of the control information for the storage device, a request to retrieve the control information for the storage device.
19 Citations
17 Claims
-
1. A method of dynamically managing control information in a plurality of storage devices in a storage array of storage devices, the method comprising:
-
querying, by a storage array controller using a data communications link coupling the storage array controller to the plurality of storage devices, the plurality of storage devices for an identification of a plurality of memory blocks that contain control information stored within the memory blocks, the control information describing the state of other memory blocks in the storage device, wherein querying the plurality of storage devices for an identification of a plurality of memory blocks that contain control information stored within the memory blocks comprises; sending, from the storage array controller to at least one of the plurality of storage devices, a location discovery request instructing the at least one of the plurality of storage devices to determine locations of the control information stored on the at least one of the plurality of storage devices wherein the control information is distributed across multiple memory blocks in the at least one of the plurality of storage devices, and wherein the locations of the control information on the at least one of the plurality of storage devices are unknown to the storage array controller; receiving, by the storage array controller from each of the plurality of storage devices, the identification of the plurality of memory blocks that contain control information stored within the memory blocks; and issuing, by the storage array controller to the each of the plurality of storage devices, one or more read requests addressed to the memory blocks identified as containing control information stored within the memory blocks. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus for dynamically managing control information in a plurality of storage devices in a storage array of storage devices, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
-
querying, by a storage array controller using a data communications link coupling the storage array controller to the plurality of storage devices, the plurality of storage devices for an identification of a plurality of memory blocks that contain control information stored within the memory blocks, the control information describing the state of other memory blocks in the storage device, wherein querying the plurality of storage devices for an identification of a plurality of memory blocks that contain control information stored within the memory blocks comprises; sending, from the storage array controller to at least one of the plurality of storage devices, a location discovery request instructing the at least one of the plurality of storage devices to determine locations of the control information stored on the at least one of the plurality of storage devices wherein the control information is distributed across multiple memory blocks in the at least one of the plurality of storage devices, and wherein the locations of the control information on the at least one of the plurality of storage devices are unknown to the storage array controller; receiving, by the storage array controller from each of the plurality of storage devices, the identification of the plurality of memory blocks that contain control information stored within the memory blocks; and issuing, by the storage array controller to the each of the plurality of storage devices, one or more read requests addressed to the memory blocks identified as containing control information stored within the memory blocks. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for dynamically managing
control information in a plurality of storage devices in a storage array of storage devices, the computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of: -
querying, by a storage array controller using a data communications link coupling the storage array controller to the plurality of storage devices, the plurality of storage devices for an identification of a plurality of memory blocks that contain control information stored within the memory blocks, the control information describing the state of other memory blocks in the storage device, wherein querying the plurality of storage devices for an identification of a plurality of memory blocks that contain control information stored within the memory blocks comprises; sending, from the storage array controller to at least one of the plurality of storage devices, a location discovery request instructing the at least one of the plurality of storage devices to determine locations of the control information stored on the at least one of the plurality of storage devices wherein the control information is distributed across multiple memory blocks in the at least one of the plurality of storage devices, and wherein the locations of the control information on the at least one of the plurality of storage devices are unknown to the storage array controller; receiving, by the storage array controller from each of the plurality of storage devices, the identification of the plurality of memory blocks that contain control information stored within the memory blocks; and issuing, by the storage array controller to the each of the plurality of storage devices, one or more read requests addressed to the memory blocks identified as containing control information stored within the memory blocks. - View Dependent Claims (14, 15, 16, 17)
-
Specification