Virtualization in a storage system
First Claim
1. A method for use in a switch in a storage network, comprising:
- receiving a packet at an ingress port of an ingress linecard, said packet destined for a virtual target with a virtual target address, the packet associated with a request;
adding a local header to the packet;
retrieving a virtual target descriptor identifier, wherein the virtual target descriptor identifier identifies a virtual target descriptor, wherein the virtual target descriptor stores information about the virtual target;
allocating an ingress task control block identified by an ingress task control block index, wherein the ingress task control block index stores information about the request;
placing the ingress task control block index and the virtual target descriptor identifier into the local header;
retrieving a flowID from the virtual target descriptor and placing the flowID into the local header, wherein the flowID identifies an egress linecard;
forwarding the packet to the egress linecard through a fabric;
receiving the packet at the egress linecard;
using the virtual target descriptor identifier, retrieving a physical target descriptor identifier, wherein the physical target descriptor identifier identifies a physical target descriptor, wherein the physical target descriptor stores information about a physical target that is associated with the virtual target;
allocating an egress task control block with an egress task control block index, wherein the egress task control block index stores information about the request;
using information in the physical target descriptor to convert the virtual target address to a physical target address;
removing the local header and forwarding the packet to an egress port on the egress linecard; and
sending the packet from the egress port to a physical target device, using the egress task control block index as a source identifier.
10 Assignments
0 Petitions
Accused Products
Abstract
A storage switch in accordance with an embodiment of the invention is a highly scalable switch that allows the creation of a SAN that is easy to deploy and that can be centrally managed. Moreover, such a storage switch also allows the deployment of a global infrastructure, allowing the resources of the SAN, such as storage devices, to essentially be positioned anywhere on the globe. Further, such a storage switch allows a multi-protocol SAN, e.g., one that includes both iSCSI or Fibre Channel, and processes data packets at “wire speed.” To further enable wire-speed processing, a switch in accordance with the invention has “intelligence” distributed to each of its linecards, through which it classifies packets into data and control packets, it performs virtualization functions, and it performs protocol translation functions. A switch in accordance with the invention further performs serverless storage services such as mirroring, snapshot, and replication.
-
Citations
5 Claims
-
1. A method for use in a switch in a storage network, comprising:
-
receiving a packet at an ingress port of an ingress linecard, said packet destined for a virtual target with a virtual target address, the packet associated with a request; adding a local header to the packet; retrieving a virtual target descriptor identifier, wherein the virtual target descriptor identifier identifies a virtual target descriptor, wherein the virtual target descriptor stores information about the virtual target; allocating an ingress task control block identified by an ingress task control block index, wherein the ingress task control block index stores information about the request; placing the ingress task control block index and the virtual target descriptor identifier into the local header; retrieving a flowID from the virtual target descriptor and placing the flowID into the local header, wherein the flowID identifies an egress linecard; forwarding the packet to the egress linecard through a fabric; receiving the packet at the egress linecard; using the virtual target descriptor identifier, retrieving a physical target descriptor identifier, wherein the physical target descriptor identifier identifies a physical target descriptor, wherein the physical target descriptor stores information about a physical target that is associated with the virtual target; allocating an egress task control block with an egress task control block index, wherein the egress task control block index stores information about the request; using information in the physical target descriptor to convert the virtual target address to a physical target address; removing the local header and forwarding the packet to an egress port on the egress linecard; and sending the packet from the egress port to a physical target device, using the egress task control block index as a source identifier. - View Dependent Claims (2, 3, 4, 5)
-
Specification