Generating storage system commands
OwnerMark Adams, Thomas Earl Ludwig +3inventors
InventorsMark Adams, Thomas Earl Ludwig, Samuel K. Baughman, Nicholas J. Witchey, Nauzad Sadry
Life of this patent
Estimating the term…
Abstract
Systems and methods for generating storage system commands are presented. Logical volumes comprise one or more storage areas. The methods include providing a map of the logical volume from information relating to the types of the storage areas composing the volume. Storage commands referencing the logical volume map are converted to storage area commands by command handlers associated with the type of the storage areas in the logical volume. The storage system comprises clients that access the storage areas by using a command stacks associated with the logical volumes.
Claims28
A storage system comprising:
- a plurality of storage partitions;
- a plurality of storage groups, the individual storage groups being associated with a selected one of a plurality of group types that are hierarchically organized;
- and
- access logic to access the plurality of storage partitions by employing a map of a logical volume that links the plurality of storage groups together, wherein the map includes a group data structure that represents a storage group of the plurality of storage groups, the storage group being a first child of a parent storage group, the group data structure having a function pointer configured to point to a command handler for a first group type with which the storage group is associated, a peer group pointer configured to point to a peer storage group of the storage group, the peer storage group being a second child of the parent storage group, and a child group pointer configured to point to a child storage group of the storage group, the child storage group being associated with a second group type, which is hierarchically organized below the first group type.
An apparatus, comprising:
- a communication interface configured to couple the apparatus to a storage system;
- and
- a controller coupled to the communication interface and configured
- to receive partition information from a storage device via the communication interface;
- and
- to construct, based at least in part on the partition information, a map of a logical volume that links a plurality of storage groups together, wherein the map includes a group data structure that represents a storage group of the plurality of storage groups, the storage group being a first child of a parent storage group, the group data structure having a function pointer configured to point to a command handler for a first group type with which the storage group is associated, a peer group pointer configured to point to a peer storage group of the storage group, the peer storage group being a second child of the parent storage group, and a child group pointer configured to point to a child storage group of the storage group, the child storage group being associated with a second group type, which is hierarchically organized below the first group type.
A method comprising:
- receiving, by a client device, partition information from a storage device via the communication interface;
- and
- constructing, by the client device, based at least in part on the partition information, a map of a logical volume that links a plurality of storage groups together, wherein the map includes a group data structure that represents a storage group of the plurality of storage groups, the storage group being a first child of a parent storage group, the group data structure having a function pointer configured to point to a command handler for a first group type with which the storage group is associated, a peer group pointer configured to point to a peer storage group of the storage group, the peer storage group being a second child of the parent storage group, and a child group pointer configured to point to a child storage group of the storage group, the child storage group being associated with a second group type, which is hierarchically organized below the first group type.
An article of manufacture comprising:
- a computer readable storage medium;
- and
- a plurality of instructions stored in the computer readable storage medium, and configured to program an apparatus to enable the apparatus to practice a storage access method that includes
- receiving partition information from a storage device via the communication interface;
- construct, based at least in part on the partition information, a map of a logical volume that links a plurality of storage groups together, wherein the map includes a group data structure that represents a storage group of the plurality of storage groups, the storage group being a first child of a parent storage group, the group data structure having a function pointer configured to point to a command handler for a first group type with which the storage group is associated, a peer group pointer configured to point to a peer storage group of the storage group, the peer storage group being a second child of the parent storage group, and a child group pointer configured to point to a child storage group of the storage group, the child storage group being associated with a second group type, which is hierarchically organized below the first group type;
- and
- accessing the plurality of storage groups using the volume map.
A method of generating a storage command for a storage system having a logical volume that includes a first partition located on a first storage device and a second partition located on a second storage device, the method comprising:
- providing a map of the logical volume wherein the map includes a first group data structure associated with a first storage group, of a first storage group type, to which the first partition is a member;
- and a second group data structure associated with a second storage group, of a second storage group type, to which the second partition is a member;
- incorporating a first and second command handler for the first and second storage group types, respectively, into the first group data structure and the second group data structure of the map;
- and
- transforming, with the first command handler, a first storage command associated with the first storage group to a second storage command associated with the second storage group, the second storage command including an internet protocol (IP) address as a partition identifier.
Dependencies are inferred from the claim text.