1. Technical Field
The present application relates generally to an improved data processing system and method. More specifically, the present application is directed to communicating configuration information over a standard interconnect link.
2. Description of Related Art
Fibre Channel (FC) is a high-speed transport technology that is used to build storage area networks (SANs). Although Fibre Channel can be used as a general-purpose network carrying asynchronous transfer mode (ATM), Internet Protocol (IP), and other protocols, FC has been primarily used for transporting small computer system interface (SCSI) traffic from servers to disk arrays. The Fibre Channel Protocol (FCP) serializes SCSI commands into Fibre Channel frames. IP may be used for in-band simple network management protocol (SNMP) network management. Fibre Channel not only supports single-mode and multi-mode fiber connections, but coaxial cable and twisted pair as well.
Fibre Channel can be configured point-to-point, via a switched topology or in a FC arbitrated loop (FC-AL) with or without a hub. In FC disk enclosure systems, there may be multiple units cascaded using optical cables to form large storage systems. Usually, there is no communication between enclosures before a valid and stable FC signal has been established. The process of establishing an arbitrated loop is referred to as loop initialization process (LIP).
There are, however, many situations where a need exists for storage enclosures to communicate with each other before a stable FC link is established. For example, storage enclosures may need to communicate speed of FC links used for negotiation and types of enclosure system, such as controller or expansion, in order to configure the system correctly before a stable FC link can be established.
Currently, the best solution is static configurations. Before enclosures are connected to each other, a user must configure the systems correctly, such as by using information stored in vital product data (VPD) to establish the configuration. Such methods require user intervention, which is not dynamic and is susceptible to operator error.
The illustrative embodiments herein recognize the disadvantages of the prior art and provide a mechanism for storage enclosures to communicate with one another using pre-existing cables allowing the user to dynamically attach different types and speeds of Fibre Channel enclosures together. The mechanism uses a transmit disable line and receive loss of signal line of a small form-factor pluggable optical cable to provide a communication link between enclosures before the Fibre Channel loop is setup and stable. The mechanism on the transmit side pulses the transmit disable line to communicate configuration information. The mechanism on the receive side receives the configuration information on the receive loss of signal line. The transmit disable line and the receive loss of signal line operate as a one-wire communication scheme, providing a communication link to communicate configuration information before the Fibre Channel loop is established.
In one illustrative embodiment, a computer program product comprises a computer useable medium having a computer readable program. The computer readable program, when executed on a computing device, causes the computing device to send configuration information from a first storage enclosure to a second storage enclosure using a transmit disable line of an optical cable connecting the first storage enclosure and the second storage enclosure, monitor a receive loss of signal line of the optical cable to receive configuration information from the second storage enclosure, and configure the first storage enclosure to communicate with the second storage enclosure over the optical cable based on the configuration information received from the second storage enclosure.
In one exemplary embodiment, the optical cable is a small form-factor pluggable optical cable.
In another exemplary embodiment, the first storage enclosure is a Fibre Channel storage enclosure comprising a Fibre Channel switch. The computer readable program, when executed on the computing device, further causes the computing device to perform loop initialization process responsive to configuring the first storage enclosure. In a further exemplary embodiment, the computer readable program, when executed on the computing device, further causes the computing device to disconnect the optical cable from the Fibre Channel switch prior to sending configuration information. In a still further exemplary embodiment, the computer readable program, when executed on the computing device, further causes the computing device to prior to performing loop initialization process, reconnect the optical cable to the Fibre Channel prior to performing loop initialization process.
In still another exemplary embodiment, the configuration information sent from the first storage enclosure to the second storage enclosure comprises a speed of the first storage enclosure. In another exemplary embodiment, the configuration information sent from the first storage enclosure to the second storage enclosure comprises a type of the first storage enclosure.
In another illustrative embodiment, a storage enclosure comprises a switch, an optical cable connector, and a control processor. The storage enclosure is a first storage enclosure connected to a second storage enclosure by an optical cable connected to the optical cable connector. The control processor is connected to the switch. The control processor is connected to a transmit disable line and a receive loss of signal line of the optical cable connector. The control processor is configured to send configuration information from the first storage enclosure to the second storage enclosure using the transmit disable line, monitor the receive loss of signal line to receive configuration information from the second storage enclosure, and configure the first storage enclosure to communicate with the second storage enclosure over the optical cable based on the configuration information received from the second storage enclosure.
In one exemplary embodiment, the optical cable is a small form-factor pluggable optical cable.
In another exemplary embodiment, the first storage enclosure is a Fibre Channel storage enclosure and wherein the switch is a Fibre Channel switch. The control processor is configured to perform loop initialization process responsive to configuring the first storage enclosure. In a further exemplary embodiment, the control processor is configured to disconnect the optical cable from the Fibre Channel switch prior to sending configuration information. In a still further exemplary embodiment, the control processor is configured to reconnect the optical cable to the Fibre Channel switch prior to performing loop initialization process.
In another exemplary embodiment, the configuration information sent from the first storage enclosure to the second storage enclosure comprises a speed of the first storage enclosure. In yet another exemplary embodiment, the configuration information sent from the first storage enclosure to the second storage enclosure comprises a type of the first storage enclosure.
In a further illustrative embodiment, a method is provided in a storage enclosure for communicating configuration information across an optical cable. The method comprises connecting a first storage enclosure to a second storage enclosure using an optical cable, wherein the optical cable has a transmit disable line and a receive loss of signal line, sending configuration information from the first storage enclosure to the second storage enclosure using the transmit disable line, monitoring the receive loss of signal line to receive configuration information from the second storage enclosure, and configuring the first storage enclosure to communicate with the second storage enclosure over the optical cable based on the configuration information received from the second storage enclosure.
In one exemplary embodiment, the first storage enclosure is a Fibre Channel storage enclosure comprising a Fibre Channel switch. The method further comprises responsive to configuring the first storage enclosure, performing loop initialization process. In a further exemplary embodiment, the method further comprises prior to sending configuration information, disconnecting the optical cable from the Fibre Channel switch. In a still further exemplary embodiment, the method further comprises prior to performing loop initialization process, reconnecting the optical cable to the Fibre Channel switch.
In yet another exemplary embodiment, the configuration information sent from the first storage enclosure to the second storage enclosure comprises a speed of the first storage enclosure. In still another exemplary embodiment, the configuration information sent from the first storage enclosure to the second storage enclosure comprises a type of the first storage enclosure.
These and other features and advantages of the present invention will be described in, or will become apparent to those of ordinary skill in the art in view of, the following detailed description of the exemplary embodiments of the present invention.
The invention, as well as a preferred mode of use and further objectives and advantages thereof, will best be understood by reference to the following detailed description of illustrative embodiments when read in conjunction with the accompanying drawings, wherein:
With reference now to the figures and in particular with reference to
In the depicted example, hosts 112 and 114 are connected to SAN 102. In addition, storage enclosures 122, 126, and 130 are also connected to network 102. Storage enclosure 124 is connected to storage enclosure 122, and storage enclosure 128 is connected to storage enclosure 126. Distributed data processing system 100 may include additional hosts, storage enclosures, and other devices not shown. Storage enclosures 122-130 may be, for example, Fibre Channel (FC) storage enclosures.
In one exemplary embodiment, storage enclosures 122-130 may be connected using fiber cables, such as optical small form-factor pluggable (SFP) cables. Having an optical interconnect has numerous advantages over copper interconnect solutions, including lower electromagnetic emissions, less bulky mechanicals allowing for robust strain relief and easier cable routing, and dramatically improved supported cable lengths supporting kilometers of cable distance versus just a few meters with existing SAS solutions. The problem that exists today is how to communicate configuration information between FC storage enclosures before a FC loop is established.
In accordance with an illustrative embodiment, a mechanism is provided for storage enclosures to communicate with one another using pre-existing cables allowing the user to dynamically attach different types and speeds of Fibre Channel enclosures together. The mechanism uses a transmit disable line and receive loss of signal line of a small form-factor pluggable optical cable to provide a communication link between enclosures before the Fibre Channel loop is setup and stable. The mechanism on the transmit side pulses the transmit disable line to communicate configuration information. The mechanism on the receive side receives the configuration information on the receive loss of signal line. The transmit disable line and the receive loss of signal line operate as a one-wire communication scheme, providing a communication link to communicate configuration information before the Fibre Channel loop is established.
Enclosure 2250 comprises a plurality of HDDs 258 connected to FC switch 254. Enclosure 2 is connected to enclosure 2 via fiber cable 230. Enclosure 2 connects to fiber cable 230 using optical small form-factor pluggable (SFP) connector 256. Processor 252 is connected to FC switch 254 and memory 270. Processor 252 is also connected to the transmit disable line (TX_DISABLE) and receive loss of signal line (RX_LOS) of SFP connector 256.
In a typical SFP to SFP cabling scheme, the communication link will connect to an arbitrated loop or switch device with a controlling processor, such as processor 212 or processor 252, to oversee the link. In the embodiment illustrated in
Processor 212 in storage enclosure 1210 or processor 252 in storage enclosure 2250 may execute program instructions, such as firmware. For example, memory 220 or memory 270 may be read-only memory (ROM) devices that store firmware to be run on the processor. The program instructions may include configuration information and instructions that cause the processor to communicate over the TX_DISABLE line and monitor the RX_LOS line to communicate configuration information.
While the storage enclosures illustrated in
Accordingly, blocks of the flowchart illustration support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the flowchart illustration, and combinations of blocks in the flowchart illustration, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or by combinations of special purpose hardware, such as a state machine, and computer instructions.
Furthermore, the flowchart is provided to demonstrate the operations performed within the illustrative embodiments. The flowchart is not meant to state or imply limitations with regard to the specific operations or, more particularly, the order of the operations. The operations of the flowchart may be modified to suit a particular implementation without departing from the spirit and scope of the present invention.
With reference now to
While the flowchart in
Thus, the illustrative embodiments solve the disadvantages of the prior art by providing a mechanism for storage enclosures to communicate with one another using pre-existing cables allowing the user to dynamically attach different types and speeds of Fibre Channel enclosures together. The mechanism uses a transmit disable line and receive loss of signal line of a small form-factor pluggable optical cable to provide a communication link between enclosures before the Fibre Channel loop is setup and stable. The mechanism on the transmit side pulses the transmit disable line to communicate configuration information. The mechanism on the receive side receives the configuration information on the receive loss of signal line. The transmit disable line and the receive loss of signal line operate as a one-wire communication scheme, providing a communication link to communicate configuration information before the Fibre Channel loop is established.
It should be appreciated that the illustrative embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In one exemplary embodiment, the mechanisms of the illustrative embodiments are implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
Furthermore, the illustrative embodiments may take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk - read only memory (CD-ROM), compact disk - read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.