A non-intrusive condition flag is introduced into high-speed data network for flagging a fault condition without interrupting the normal operation of the network. The condition flag is chosen to be one that is relatively not germane with respect to disrupting the behavior of the ports under a particular network protocol, or that is normally ignored by the network ports and/or devices. The non-intrusive condition flag can be in the form of a marker represented by designating new, currently undefined, Ordered Sets that would not cause the ports to disrupt network behavior. The marker is represented by repeating the same designated Ordered Set twice in sequence, to give the marker fault tolerance and prevent re-transmission. Ordered Sets may be chosen to identify a segment stall condition, a port busy condition, or a user defined condition in a FC network.
|
13. A loop network comprising a plurality of ports communicating with each other in a ring configuration and operating in accordance with a high-speed network protocol, said network configured for flagging a port condition that normally interrupts operations of the network by triggering a re-initialization of each port in the network, said network further comprising:
a device configured for generating a non-intrusive condition flag in response to said port condition, the condition flag identifying a source of the port condition, the device further configured for sending the non-intrusive condition flag to each of the plurality of ports in the ring configuration to avoid the re-initialization of the plurality of ports in said network,
wherein the condition flag is recognized by one or more enabled ports and ignored by other ports amongst the plurality of ports, said one or more enabled ports being notified of the source of the port condition from said non-intrusive condition flag.
1. A method of flagging a port condition in a network, said network comprising a plurality of ports communicating with each other in a ring configuration and operating in accordance with a high-speed network protocol, said method comprising:
detecting a port condition associated with one of the plurality of ports, said port condition normally triggering a re-initialization of the plurality of ports in said network;
generating a non-intrusive condition flag in response to said port condition, the non-intrusive condition flag identifying a source of the port condition; and
sending the non-intrusive condition flag to each of the plurality of ports in the ring configuration to avoid the re-initialization of the plurality of ports in said network,
wherein the non-intrusive condition flag is recognized by one or more enabled ports and ignored by other ports amongst the plurality of ports, said one or more enabled ports being notified of the source of the port condition from said non-intrusive condition flag.
15. A switch in a loop network comprising a plurality of ports communicating with each other in a ring configuration and operating in accordance with a high-speed network protocol, said network configured for flagging a port condition that normally interrupts operations of the network by triggering a re-initialization of each port in the network, said network further comprising:
means for identifying the port condition associated with one of the plurality of ports; and
means for generating a non-intrusive condition flag in response to the port condition, the condition flag identifying a source of the port condition, and for sending the non-intrusive condition flag to each of the plurality of ports in the ring configuration to avoid the re-initialization of the plurality of ports in said network,
wherein the condition flag is recognized by one or more enabled ports and ignored by other ports amongst the plurality of ports, said one or more enabled ports being notified of the source of the port condition from said non-intrusive condition flag.
2. The method as in
3. The method of
4. The method of
5. The method of
6. The method as in
8. The method of
12. The method of
16. A storage area network (SAN) comprising:
the network of
at least one server coupled to one of the first and second ports;
at least one storage device coupled to another one of the first and second ports.
17. The storage area network (SAN) as in
18. A method of storage area networking, comprising the steps of:
providing the network of
coupling at least one server to one of the first and second ports;
coupling at least one storage device to one of the first and second ports.
19. The method of
20. The method of
21. The network of
22. The switch of
|
This invention relates to storage network systems, and more particularly to flagging port conditions in high-speed data network systems.
All publications referenced herein are fully incorporated by reference as if fully set forth herein.
In information exchange networks, data transfer among network devices may be based on a number of available protocols. Network devices may include computer systems (e.g., workstations, servers, etc.), peripheral devices (e.g., mass storage systems, input/output systems, etc.), switches, and other general function or function specific systems and devices. The network devices communicate via data transfer protocols in accordance with several established industry standards, such as Fibre Channel (FC), Internet Small Computer Systems Interface (iSCSI), Ethernet, etc.
FC data transfer protocol is a gigabit-speed network protocol (e.g., operating on the order of 1 to 10 Gbits/s or higher), which has been effectively adopted for Storage Area Networks (SANs), connecting servers and storage systems at a plurality of ports within the network. A port in FC terminology is any entity that actively communicates over the network, not necessarily a hardware port. A port is usually implemented in a device such as a disk storage device, a host bus adaptor (HBA) on a server or a FC switch.
FC supports three different topologies, Point-to-Point (FC-P2P), Fabric Attached or Switched (FC-SW), and Arbitrated Loop (FC-AL). The FC-P2P topology attaches two devices directly. The FC-SW topology attaches a device directly to a switch fabric. The FC-AL topology attaches devices in a loop or ring.
Arbitrated Loop has become the most dominant FC topology. While it is a cost-effective way of connecting multiple ports in a single network without the need of a fabric switch, it is also the most complex among the FC topologies. Unlike the other two topologies, the media is shared among the devices, limiting each device's access. For a Loop to operate, all devices must be Loop devices.
In FC, Ordered Sets are used to distinguish FC control information from data, which may include a frame delimiter, a primitive signal, or a primitive sequence. Many Ordered Sets are constantly going around the Loop. For example, when a device is ready to transmit data in an Arbitrated Loop, it first must arbitrate and gain control of the Loop. Once the device has gained control of the Loop, it can communicate with other devices by transmitting an Open (OPN) Primitive Signal to a target device on another port, opening communication with that device on the Loop. Once this happens, there essentially exists point-to-point communication between the two devices. All other devices in between simply repeat the data.
In the FC-AL topology, because all devices are in a loop or ring, failure of one device could cause all activity on the loop to be interrupted. Specifically, before an Arbitrated Loop is usable, it must be initialized. Loop initialization generally involves transmission of a Loop Initialization Primitive Sequence (LIP). LIP is transmitted by a FC port (often referred to as an L_Port) after it powers on. However, in the past, LIP is also transmitted by a FC port when it detects a fault at a port. In such circumstance, the LIP will propagate around the Loop, triggering all other ports to transmit LIP as well. Each and every port on the Loop needs to be re-initialized. At this point, the entire Loop network would be down, causing the Loop to be unusable. The LIP flag transmitted in the event of a port condition is therefore disruptive to the operation of the entire Loop.
Further, under FC-AL topology, in the event of a port condition, it can be difficult to pin-point the source of such condition by probing the network wiring. For relatively low data transmission bandwidth (e.g., less than 1 Gbits/s), the port condition is not difficult to identify. However, for relatively higher data transmission bandwidth (e.g., at 2 to 10 Gbits/s or higher), it would be challenging to identify port condition. While current tools such as analyzers have made it easier to capture, filter and trigger information related to port conditions, for certain port conditions, it is still difficult to identify the source on an analyzer trace. Due to the difficulty of locating port conditions on a trace, extra resources are required to be spent in the field during network diagnostics and in laboratories during network development, analyzing large amounts of data to determine when a fairly simple port condition occurred. The issues with identifying port conditions have been further discussed in published international patent application no. PCT/US99/26924 (PCT Publication No. WO00/30293), which has been commonly assigned to the assignee of the present application.
Emulex's InSpeed technology is an advanced switching architecture comprising a non-blocking crossbar switch with unique loop port logic resulting in a single chip capable of handling multiple FC devices in embedded SOC (switch-on-a-chip), blade and box environments. InSpeed technology provides tools advancing reliability, availability, serviceability and scalability, e.g., diagnostics capabilities that can be used to maintain and troubleshoot back-end storage systems, which improves storage reliability. InSpeed, through its RAS capability, has the ability to detect port conditions such as port busy conditions and detect and correct segment stalls. However, the existing InSpeed technology does not have an effective way of flagging port conditions.
It is therefore desirable to provide flagging of port conditions in network systems operating at high-speed network data transfer protocols.
The present invention is directed to a system and method for flagging port conditions in a high-speed network. In a basic aspect of the present invention, a non-intrusive condition flag is introduced into the data network for tracing the condition without interrupting the normal operation of the network. Flagging as used in the context of the present invention includes identifying the port condition and/or the source of such condition. The condition flag is chosen to be one that is relatively not germane with respect to the control (e.g., initialization) of ports under a particular network protocol, or that is normally ignored by other network ports and/or devices, except for those ports programmed or enabled to recognize the flag, e.g., by the API that controls switch ASIC.
In one embodiment of the present invention directed to FC-AL network, the non-intrusive condition flag is in the form of a marker represented by currently undefined Ordered Sets that would not cause the ports to disrupt network behavior. In one embodiment, Ordered Sets may be chosen to identify a segment stall condition requiring a close [CLS] and remove connect operation, a port busy condition requiring a close [CLS] operation by the switch, or a particular user defined condition in a FC network.
For a better understanding of the present invention, as well as the best mode, reference should be made to the following detailed description read in conjunction with the accompanying drawings. In the following drawings, like reference numerals designate like or similar parts throughout the drawings.
The present description is of the best presently contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims. This invention has been described herein in reference to various embodiments and drawings. It will be appreciated by those skilled in the art that variations and improvements may be accomplished in view of these teachings without deviating from the scope and spirit of the invention.
The present invention can find utility in a variety of implementations without departing from the scope and spirit of the invention, as will be apparent from an understanding of the underlying principles. By way of examples and not limitation for purposes of describing the inventive aspects of the present invention, references are made throughout this description of the invention to a FC-AL network environment, and in particular a storage area network (SAN). However it is understood that the present invention may be extended to be applied to other high speed networks operating under other network protocols and/or multi-protocol network environments, without departing from the scope and spirit of the present invention.
System Overview
FC-AL networks are well documented in the state of the art.
The FC-AL network 10 may support data communication based on one or more protocols in accordance with different established network data transfer standards or architectures, and may include separate and/or interconnected sub-networks that support one or more data transfer protocols. In one aspect of the present invention, the supported protocols comprise storage level protocols (e.g., for SANs).
Details of various hardware and software components comprising the SAN 20 and/or FC-AL network are not shown in the figures (such as additional switches, hubs, routers, gateways, switches, etc.) as they are known in the art. Further, it is understood that access to the SAN 20 by the network devices may be via physical transmission medium (e.g., optic fiber) suitable for the particular network data transfer protocols supported by the network devices.
InSpeed Technology
Referring to
Initiator-Target Interaction
In the event an Initiator/server 24 wishes to open communication with a Target/storage device 22 in the Arbitrated Loop 18, an Initiator-Target interaction process is undertaken. Referring to the interaction diagram of
After which, under normal operations, the Initiator 24 should send via its L_Port, a Close (CLS) Primitive Signal to the Target 22, to close communication with the L_Port at the Target 22. This frees bandwidth along the Loop 18 for communications between other network devices. However, in the event the CLS is not sent by the Initiator 24, the interaction between the Initiator 24 and the Target 22 idles, waiting for the CLS. As a result, a segment stall condition occurs.
Condition Flag
In accordance with the present invention, the Switch 26 is configured to introduce a non-intrusive marker in the form of a condition flag into Loop 18 for tracing the fault condition without interrupting the normal operation of the FC-AL network. The condition flag is chosen to be one that is relatively not germane with respect to the control of initialization of ports under a particular network protocol, or that is normally ignored by other network ports and/or devices. In particular, in the embodiment directed to FC-AL network, the non-intrusive condition flag is in the form of a marker represented by currently undefined Ordered Sets that would not cause the ports to disrupt network behavior. In one embodiment, Ordered Sets may be chosen to identify a segment stall condition, a port busy condition, or a user defined condition in a FC-AL network.
In the event of a segment stall condition as described above, the condition flag may be chosen to identify the segment stall condition, which may be followed by a CLS and remove connect operation in the switch. Referring to
As the Receiver 30 of the Port Logic 23 receives the flagged Ordered Sets, the Ordered Sets are detected by the OS Decode 27, which can be logged and will be removed and replaced with the current fill word in conformance to fibre channel protocol.
Port Condition Flagging
The condition flag markers are defined by two flag Ordered Sets, which are currently undefined Ordered Sets that are not germane to FC protocol, and which are normally ignored by routers and switches. By providing the condition flag marker in real time, the fault condition is flagged in real time, so it can be used for tracing the source of the fault condition in the network. The marker may be correlated to time information that is provided by the Application Programming Interface (API) of the Switch 26. By using the Ordered Sets twice in a row, they can be distinguished from an accidental flag situation, thereby error-tolerant. In one embodiment, when the condition flag is defined by the same Ordered Set only twice in sequence (as opposed to more than twice in sequence), retransmission can be prevented.
If the Initiator 24 that is experiencing the segment stall condition is Node N6 at Port 7 in
Other Condition Flags
In further embodiments, Ordered Sets may be chosen to represent condition flags to identify a target port busy condition, or a user defined condition in a FC-AL network. For example, a currently undefined Ordered Set may be chosen to define a Port Busy Flag, which is issued to the Target 22 twice in a row by the Switch 26 to represent a condition flag in the event an OPN is received by the Switch 26 for a port that is busy. A CLS is returned by the Target 22.
For a user defined condition, a currently undefined Ordered Set may be chosen to define a User Defined Flag, which is issued to the Target 22 twice in a row by the Switch 26 to represent a condition flag in the event a predefined error occurs, before resuming transmitting the current fill word.
The specific Ordered Sets can be chosen at the time of designing the specific ASIC structure for the switch.
The present invention has been described above in terms of schematic and functional diagrams. It is understood that unless otherwise stated to the contrary herein, one or more functions and components may be integrated in a single physical device with associated firmware and/or software control, or one or more functions and components may be implemented in separate physical devices with separate firmware and/or software control without departing from the scope and spirit of the present invention.
It is appreciated that detailed discussion of the actual implementation of each functional component is not necessary for an enabling understanding of the invention. The actual implementation is well within the routine skill of a programmer and system engineer with basic understanding of high-speed network design and various protocol specifications, given the disclosure herein of the system attributes, functionality and inter-relationship of the various functional components in the system. A person skilled in the art, applying ordinary skill can practice the present invention without undue experimentation.
While the invention has been described with respect to the described embodiments in accordance therewith, it will be apparent to those skilled in the art that various modifications and improvements may be made without departing from the scope and spirit of the invention. Accordingly, it is to be understood that the invention is not to be limited by the specific illustrated embodiments, but only by the scope of the appended claims.
Neufeld, David Alexander, Hall, IV, Calvin Spring, Crepps, Robert Carl, Ortgies, Donivan Ross
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5761424, | Dec 29 1995 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | Method and apparatus for programmable filtration and generation of information in packetized communication systems |
5944798, | Feb 19 1997 | Hewlett Packard Enterprise Development LP | System and method for arbitrated loop recovery |
6201787, | May 01 1998 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Automatic loop segment failure isolation |
6502189, | Nov 17 1997 | Seagate Technology LLC | Method and dedicated frame buffer for loop initialization and responses |
6553036, | Feb 24 1998 | Seagate Technology LLC | Method and apparatus for preserving loop fairness with dynamic half-duplex |
6643693, | Sep 15 1998 | CF DB EZ LLC | Method and system for managing I/O transmissions in a fibre channel network after a break in communication |
7590046, | Dec 31 2003 | Ciena Corporation | Protected SONET/SDH networks having delayed fault propagation |
20020046276, | |||
20040085972, | |||
20040085994, | |||
20080126616, | |||
20090041057, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 10 2008 | CREPPS, ROBERT CARL | Emulex Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020427 | /0187 | |
Jan 10 2008 | CREPPS, ROBERT CARL | Emulex Design & Manufacturing Corporation | RE-RECORD ASSIGNMENT WITH CORRECTION ON ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED ON REEL 020427 FRAME 0187 | 020795 | /0389 | |
Jan 17 2008 | ORTGIES, DONIVAN ROSS | Emulex Design & Manufacturing Corporation | RE-RECORD ASSIGNMENT WITH CORRECTION ON ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED ON REEL 020427 FRAME 0187 | 020795 | /0389 | |
Jan 17 2008 | NEUFELD, DAVID ALEXANDER | Emulex Design & Manufacturing Corporation | RE-RECORD ASSIGNMENT WITH CORRECTION ON ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED ON REEL 020427 FRAME 0187 | 020795 | /0389 | |
Jan 17 2008 | HALL, CALVIN SPRINGER, VI | Emulex Design & Manufacturing Corporation | RE-RECORD ASSIGNMENT WITH CORRECTION ON ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED ON REEL 020427 FRAME 0187 | 020795 | /0389 | |
Jan 17 2008 | HALL, CALVIN SPRINGER IV | Emulex Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020427 | /0187 | |
Jan 17 2008 | NEUFELD, DAVID ALEXANDER | Emulex Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020427 | /0187 | |
Jan 17 2008 | ORTGIES, DONIVAN ROSS | Emulex Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020427 | /0187 | |
Jan 25 2008 | Emulex Design & Manufacturing Corporation | (assignment on the face of the patent) | / | |||
Dec 05 2013 | Emulex Design and Manufacturing Corporation | Emulex Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032087 | /0842 | |
Aug 31 2015 | Emulex Corporation | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036942 | /0213 | |
Feb 01 2016 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | BANK OF AMERICA, N A , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 037808 | /0001 | |
Jan 19 2017 | BANK OF AMERICA, N A , AS COLLATERAL AGENT | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS | 041710 | /0001 | |
May 09 2018 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | MERGER SEE DOCUMENT FOR DETAILS | 047422 | /0464 | |
Sep 05 2018 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464 ASSIGNOR S HEREBY CONFIRMS THE MERGER | 048883 | /0702 |
Date | Maintenance Fee Events |
Mar 31 2015 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 07 2019 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Sep 25 2023 | REM: Maintenance Fee Reminder Mailed. |
Mar 11 2024 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Feb 07 2015 | 4 years fee payment window open |
Aug 07 2015 | 6 months grace period start (w surcharge) |
Feb 07 2016 | patent expiry (for year 4) |
Feb 07 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 07 2019 | 8 years fee payment window open |
Aug 07 2019 | 6 months grace period start (w surcharge) |
Feb 07 2020 | patent expiry (for year 8) |
Feb 07 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 07 2023 | 12 years fee payment window open |
Aug 07 2023 | 6 months grace period start (w surcharge) |
Feb 07 2024 | patent expiry (for year 12) |
Feb 07 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |