The present invention relates generally to computer systems and, more particularly, to computer storage systems and methods for grouping and presentation of target devices in a storage router.
In a stand-alone computer, data is stored in a device such as a hard disk drive. This device is normally internal to the computer and has a connection to the CPU by an internal bus.
In a network environment, the data generated by a workstation may be stored on a remote device. The data storage device connects to the workstation by a network that is external to the workstation and is accessible by a number of devices. A Storage Area Network, hereafter referred to as a “SAN,” consists of initiators, typically workstations or servers, and targets, such as a disk drive array, tape library or other storage resources and components. Each component of the SAN has an address that allows network storage traffic to be routed to and from the appropriate end nodes.
SANs may use different protocols to accomplish network storage routing. On the initiator side, SAN protocols include Fibre Channel, Internet Small Computer Systems Interface (iSCSI), iSCSI Extensions for RDMA (iSER), Non-Volatile Memory Express over Fabrics (NVMeOF), and Non-Volatile Memory Express over Fibre Channel (FC-NVMe). A SAN's target side usually consists of a large number of devices based on several drive storage technologies, including Serial Attached SCSI (SAS), Serial Advanced Technology Attachment (SATA), and Non-Volatile Memory Express (NVMe). These target devices, including without limitation disk drives, tape drives, solid-state drives, optical storage and protocol expanders, connect to a SAN via a storage router that provides protocol translation and target device aggregation. Storage routers, also commonly known as protocol bridges or gateways, are responsible for presenting target devices into the SAN namespace in order to provide seamless connectivity between initiators and targets.
On a SAN, a storage router exposes connected target devices, each having a unique identifier. A target may contain one or more Logical Unit Numbers (LUNs). LUNs can represent a single physical device, a portion of a physical device, or a logical device created by the concatenation of storage from several different physical devices.
U.S. Pat. No. 7,447,197 B2 (Terrell et al.) teaches a method for dynamic discovery of target devices in an unpredictable manner. U.S. Pat. No. 8,504,770 B2 (Cuddihy et al.) discloses a system for representation of target devices in a storage router. Cuddihy et al. is incorporated herein by reference in its entirety, except for any definitions, subject matter disclaimers or disavowals, and except to the extent that the incorporated material is inconsistent with the express disclosure herein, in which case the language in this disclosure controls.
Merely for purposes of illustration and not by way of limitation, the invention broadly comprises a system, method and mechanism within a storage router for establishing predictive grouping and SAN presentation of target devices (e.g. SAS and SATA-based target devices) contained within the same physical enclosure.
As used herein, the phrase “SAS/SATA interface” means a computer bus interface for connecting to SAS and SATA storage. As used herein, the phrase “iSCSI/iSER host system interface” means a computer network interface for connecting initiator devices to target storage devices.
In one aspect, the storage router disclosed herein is communicatively connectable to a plurality of target storage devices having a physical layout. In another aspect, the storage router comprises an expansion processor within a storage enclosure; a router discovery module in communication with the expansion processor, configured to discover the physical layout of target storage devices within the storage enclosure; a iSCSI/iSER host system interface for receiving and responding to data storage commands; a SAS/SATA interface for communicating with target storage devices; and storage nodes which contain device maps corresponding to the physical layout of the target storage devices.
In another aspect, the storage enclosure is configured to report an enclosure identifier and to report said physical layout by means of an associated characteristic parameter, as discussed below. In yet another aspect, iSCSI/iSER host system interface storage nodes contain target storage device maps grouped by enclosure identifier and ordered by associated characteristic parameters. In certain aspects, the associated characteristic parameter is target device slot number or target PHY identifier. Host system interface storage nodes and target storage device maps may also be stored in nonvolatile storage to preserve a consistent view across storage router failures, power-cycles, resets or re-cabling.
In one aspect, the storage router disclosed herein comprises an empty target device map to account for gaps in the associated characteristic parameter(s).
A method of mapping target storage devices in a storage router system is also provided. In certain aspects, the method includes the following steps: providing an iSCSI/iSER host system interface for receiving and responding to data storage commands; providing a plurality of target storage devices; discovering the physical layout of said target storage devices; and creating a plurality of iSCSI/iSER host system interface storage nodes containing target storage device maps corresponding to the physical layout of the target storage devices. The method may also include one or more of the following: (a) providing nonvolatile storage; (b) writing host system interface storage nodes and target storage device maps to nonvolatile storage such that a consistent view is preserved across storage router failures, power-cycles, resets or re-cabling; (c) providing a plurality of storage enclosures configured to report an enclosure identifier and to report the physical layout by means of an associated characteristic parameter; (d) querying storage enclosures to report said enclosure identifier(s) and characteristic parameter(s), wherein the host system interface storage nodes are created and where target device maps are grouped by enclosure identifier(s) and characteristic parameter(s); (e) wherein the characteristic parameter(s) may include target device slot number or target PHY identifier; (f) analyzing characteristic parameter(s) for gaps, (g) creating an empty storage device map to account for gaps; (h) copying, renaming, and deleting storage nodes, and/or (i) manual addition and removal of target storage device maps within storage nodes.
A system within a storage area network for establishing predictive grouping and presentation of target devices contained within a single physical enclosure is also provided. In certain aspects, the system includes a storage router in communication with a plurality of initiators; a plurality of target storage devices in a storage area network; a physical storage enclosure containing more than one of said target storage devices; a router discovery module within a storage router configured to discover the physical layout of target storage devices and to discover which of the target storage devices are contained within the same physical storage enclosure; a storage node comprising a plurality of target devices and a list of initiator devices that have access privileges to the target devices, wherein the storage node corresponds to the discovered single physical storage enclosure; and wherein said storage router presents said first storage node to one or more of said initiators. In other aspects, the system includes (a) an expansion processor in communication with said router discovery module; (b) two or more physical storage enclosures; (c) unique storage nodes comprising a plurality of target devices and a list of initiator devices that have access privileges to target devices, which storage node corresponds to separate physical storage enclosures; and/or (d) wherein the storage router is an iSCSI/iSER to SAS/SATA storage router.
At the outset, it should be clearly understood that like reference numerals are intended to identify the same parts, steps, elements or portions consistently throughout the drawing figures, as such parts, steps, elements or portions may be further described or explained by the entire written specification, of which this detailed description is an integral part. The following description of the preferred embodiments of the present invention is exemplary in nature and not intended to restrict the scope of the present invention, the manner in which the various aspects of the invention may be implemented, or their applications or uses.
In one embodiment of the invention, a storage router associates initiators and targets into a storage node—defined herein as a collection of target devices and a list of initiator devices that have access privileges to those targets. In one aspect, the presentation of storage nodes is the responsibility of the storage router, and may be configured manually by the user or automatically by the storage router. General-purpose operating systems are not very tolerant of unexpected target device additions or removals, so it is preferred that devices presented on the SAN do not change storage node, target or LUN assignments without specific user intervention.
Target devices may be housed in physical enclosures along with an expansion processor. Such an expansion processor communicates with multiple devices, enabling a single enclosure connection to communicate with multiple targets. In certain aspects, target devices in an enclosure are identified by a slot number known to the expansion processor. The storage router employs a router discovery module to identify, enumerate, and establish communications with expansion processors on the SAN. Once an expansion processor is discovered, each target's slot number may be determined by querying the processor. This is useful since enclosures may contain unused targets and unoccupied slots to provide for target failover and future expansion. The storage router may also be configured to automatically create a unique storage node for the expansion processor and predictively group all target devices associated with that processor within its storage node. This is useful to ease the management burden on network administrators during configuration of SANs where multiple enclosures containing a large number of targets are deployed. Storage nodes may also be copied and renamed for further administrator flexibility and ease of management
A preferred embodiment of the invention implements storage router grouping and presentation of target devices into the SAN namespace whereby identification, location, and topology characteristics of target devices (logical enclosure identifier, target identifier, PHY identifier, and device slot numbers), referred to herein as “associated characteristic parameters,” can be determined and recorded. Storage router groupings of target devices (storage nodes) are subsequently presented to initiators on the SAN. In the preferred embodiment (see descriptions in paragraphs [0021] and [0022]), a storage router creates a unique storage node for each storage enclosure discovered in the SAS/SATA storage domain. The storage router creates each storage node during a device discovery stage by querying the SAS expansion processor (expander) within a storage enclosure for details of the enclosure and its full inventory of installed target devices. In other words, the storage router creates each storage node using its router discovery module to query the expansion processor (expander) within a storage enclosure for details of the enclosure and its full inventory of installed target devices. Target devices reported by the expander are assigned to the enclosure's unique storage node and unique target identifier. A LUN identifier is also assigned corresponding to the target device's reported slot number. In one aspect, this grouping establishes an affinity among co-located target devices. If the expander reports an empty slot, that LUN identifier is reserved by the storage router for future expansion. In an exemplary embodiment, once target discovery has completed, the storage node and target records are saved in the storage router's persistent storage so that a consistent view of the storage can be preserved across storage router power-cycles, resets or re-cabling. Expanders which are not directly connected to storage targets are not registered or presented as storage nodes into the SAN namespace.
An exemplary target discovery process is shown in
In the embodiment illustrated in
Once SAS discovery has completed, the storage router in a preferred embodiment will write the storage node and target record data into nonvolatile storage, preserving target identifier and LUN assignments in case of power loss or target device failure and SAS rediscovery. In certain aspects, storage nodes and their target records can be managed by a user via any one of the storage router's management interfaces, including graphical user interface, SSH command line, or serial command line interface. In other aspects, storage nodes can be copied and renamed, while target records can be moved between storage nodes for further administrator flexibility and ease of management. If target devices are permanently removed from the SAS domain, associated storage nodes and target records may also be deleted.
While the presently preferred forms of an improved system and method for predictive grouping and presentation of target devices in a storage router have been shown and described, and several modifications thereof discussed, persons skilled in this art will readily appreciate that various other and further changes and modifications may be made without departing from the spirit or scope of the invention, as defined and differentiated by the claims. The present embodiments described herein are to be considered as illustrative and not restrictive.
This application claims priority to and the benefit of U.S. Provisional Application No. 62/973,740, filed Oct. 22, 2019, incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62973740 | Oct 2019 | US |