Method and apparatus for improved storage area network link integrity testing
Summary by NHIP
Storage network jitter testing
The method logs into a storage area network to identify failing links and issues echo extended link service commands with known data patterns. It compares failed patterns against a jitter library and transmits results indicating specific errors like bad disparity or missing replies within a timeout period.
Claim Score by NHIP
Abstract
A method and apparatus that is configured to issue an echo extended link service with a payload of data patterns that are known in the art of fiber channel to produce jitter. The inventive apparatus is configured to use an echo extended link service to send data with a specified data pattern. Failing data patterns are compared against data patterns that are known in the art of fiber channel to create jitter and the results may be presented to the user.

Term
1.7 yearsleft in the term
Expires 30 May 2028.
- Priority and filed
- Granted
- Today
- Expires
19 claims: 3 independent, 16 dependent
- 1Broadest claimClaim Score 42, average(NHIP)A method, comprising:logging on to a storage area network and receiving a list of all switches and paths from a testing device to end devices to be tested;interrogating each link and port from the testing device to the end devices to determine a failing link or port;issuing at least one echo extended link service command including a frame with a payload of data patterns to an end device to be tested, wherein the echo extended link service command is used to send data with a specified data pattern upon logging on to the end device;re-interrogating each link and port from the testing device to the end devices to determine a failing link or port;recording results based on the echo link service command, logging errors encountered during each testing cycle, recording a failed data pattern associated with each logged error, and comparing the failed data pattern against a library of data patterns known to create jitter;and determining whether a jitter condition or jitter indication has been detected and transmitting results from the comparing to a user.
- 10An apparatus, comprising:means for logging on to a storage area network and receiving a list of all switches and paths from a testing device to end devices to be tested;means for interrogating each link and port from the testing device to the end devices to determine a failing link or port;means for issuing at least one echo extended link service command including a frame with a payload of data patterns to an end device to be tested, wherein the echo extended link service command is used to send data with a specified data pattern upon logging on to the end device;means for re-interrogating each link and port from the testing device to the end devices to determine a failing link or port;means for recording results based on the echo link service command, logging errors encountered during each testing cycle, recording a failed data pattern associated with each logged error, and comparing the failed data pattern against a library of data patterns known to create jitter;and means for determining whether a jitter condition or jitter indication has been detected and transmitting results from the comparing to a user.
- 11A testing device configured to:log in to a storage area network and discover all domains and ports in the storage area network;interrogate each link and port to the end devices to determine a failing link or port;issue at least one echo extended link service command including a frame with a payload of data patterns to an end device to be tested, wherein the echo extended link service command is used to send data with a specified data pattern upon logging on to the end device;re-interrogate each link and port from the testing device to the end devices to determine a failing link or port;record results based on the echo link service command, log errors encountered during each testing cycle, record a failed data pattern associated with each logged error, and compare the failed data pattern against a library of data patterns known to create jitter;and determine whether a jitter condition or jitter indication has been detected and transmit results to a user.
Independent claims3
32 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
p-00021. Field of the Invention
p-0003The present invention is directed to a testing device used in fibre channel (Ficon), wherein the testing device uses various data patterns to ensure that link receivers and transmitters function according to specification across an entire storage area network (SAN).
p-00042. Description of the Related Art
p-0005Today's higher data rates and embedded clocks may result in greater susceptibility to link problems which include jitter and degrading bit error rate (BER) performance. Jitter is an unwanted variation of one or more signal characteristics in electronics and telecommunications. Jitter may be seen in characteristics such as the interval between successive pulses, or the amplitude, frequency, or phase of successive cycles.
p-0006The process of determining if jitter, signal integrity, or degrading bit error rates exist is very complex and requires a great deal of expertise in the area of electronics and signal analysis. Currently there is no way for one skilled in the art without complex equipment to determine if they have these problems.
BRIEF SUMMARY OF THE INVENTION
p-0007The present invention is directed to a device including a Fibre Channel adapter card. The inventive device uses a device driver with a pass through mode and is configured to issue an echo extended link service with a payload of data patterns that are known in the art of fibre channel to produce jitter. The device may operate in several modes, including an automatic mode or a user select mode. In the automatic mode, the device is configured to send all possible random data patterns starting at 00 thru ff., using random frame sizes and random amounts of frames. In the user select mode, the user of the device may specify the data pattern or a range of data patterns to use, and how much data is to be sent in the echo extended link service. The device is configured to perform any setup required by the protocol in order to be able to send input and receive output. For example, the setup may include logins (fabric and port logins) and device discovery, as necessary.
p-0008The inventive device is configured to use the echo extended link service to send data with a specified data pattern. The data amount may be specified by a user or chosen randomly in the automatic mode. The data pattern may also be specified by the user or the data pattern may be sequential data patterns chosen by default in the automatic mode.
p-0009In an embodiment of the invention, failing data patterns are compared against data patterns that are known in the art of fibre channel to create jitter and the results may be presented to the user. In all modes, the end user may receive a report of success or failure and any other information that is applicable and available.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0010<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates an example of the hardware architecture of a simple portable testing device configured to identify link problem isolation and topology capabilities;
p-0011<figref idrefs="DRAWINGS">FIG. 2</figref> illustrates the initial fabric login steps, as known in the art of fibre channel;
p-0012<figref idrefs="DRAWINGS">FIG. 3</figref> illustrates the steps for issuing a user selected data pattern;
p-0013<figref idrefs="DRAWINGS">FIG. 4</figref> illustrates the steps for issuing an automatic mode data pattern;
p-0014<figref idrefs="DRAWINGS">FIG. 5</figref> illustrates steps for concluding the testing process and reporting results following the testing of all discovered devices; and
p-0015<figref idrefs="DRAWINGS">FIG. 6</figref> illustrates steps implemented in an embodiment of the invention.
DETAILED DESCRIPTION OF EMBODIMENTS
p-0016Embodiments in which the present invention is applied to testing in fibre channel to ensure that link receivers and transmitters function across an entire storage area network (SAN) are described in detail below with reference to the accompanying drawings.
p-0017An embodiment of the invention emulates a switch port behavior (E port), Fabric port behavior (F port) and Node port behavior (Nx port), as known in the art of fibre channel. Through switch emulation, the invention is able to participate in the storage area network as a switch. In particular, switch emulation enables an apparatus implementing the present invention to discover all the switches (domains) and all the ports (Nx) in the entire storage area network.
p-0018A testing device implementing an embodiment of the invention logs in, as known in the art of Fibre channel, to all Nx ports within the storage area network and performs a test to determine if jitter exists. In an embodiment of the invention, the testing device issues a switch internal link service (sw_ils) called Switch Trace Route (SIR). The STR sw_ils returns a list of all the switches and all paths from the testing device to an end device to be tested. Since the entire path from the testing device to the end device is known, an embodiment of the invention may interrogate each link and port along the way to identify a failing link or port. Link interrogation may be performed through the use of various methods. For example, link interrogation may be performed through an external link service, for example as read link error status block (RLS) which may be issued to the end port. In another example, link interrogation may be performed through a fibre channel generic service, for example as get port statistics (GPS) which may be issued to each of the individual switch ports to obtain the port statistics for each port in the path. The RLS and GPS may be issued before and after transmitting data. This behavior allows the testing device to identify failing data patterns and the failing link(s) or port(s).
p-0019<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates an example of the hardware architecture of a simple portable testing device configured to identify link problem isolation and topology capabilities. The testing device includes a microprocessor <b>101</b>, memory <b>103</b>, and a fibre channel interface <b>102</b>. Components <b>101</b>-<b>103</b> may communicate via a system bus <b>104</b>. Memory <b>103</b> may be one or more medium that is capable of storing data, for example a flash memory, a hard disk, optical storage, or a solid-state memory. Processor <b>101</b> controls the operation of the device via machine readable code stored within said memory. Fibre channel interface <b>102</b> includes chipsets, as known in the art. The testing device also includes a plurality of fibre channel plugs <b>105</b> and <b>106</b>.
p-0020<figref idrefs="DRAWINGS">FIG. 2</figref> illustrates the initial fabric login steps, as known in the art of fibre channel. In Step <b>201</b>, the testing device issues a frame called fabric login (flogi), so that the testing device may communicate with the fabric. In Step <b>202</b>, the testing device port logs onto the fabric name server and issues a name server query. In response to the query, the fabric name server returns a list of end devices. In Step <b>203</b>, an end device in the list that was returned by the name server may be selected, starting with the first entry in the list and proceeding to the next entry each time the testing device loops back to Step <b>203</b>. In Step <b>204</b>, the testing device performs a port login with the selected end device to be tested. In Step <b>205</b>, a decision is made as to which mode the testing device is to operate, for example, if the testing device is to operate in the user mode or automatic mode. If user mode is selected by the user then the process continues as shown in <figref idrefs="DRAWINGS">FIG. 3</figref>, which is discussed below. If the automatic mode is selected by the user then the process continues as shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, which is also discussed below.
p-0021Once all the testing illustrated in <figref idrefs="DRAWINGS">FIG. 3</figref> or <figref idrefs="DRAWINGS">FIG. 4</figref> is completed, the process returns to Step <b>209</b> or <b>207</b> of <figref idrefs="DRAWINGS">FIG. 2</figref>. In Step <b>210</b>, a decision is made as to whether all the end devices in the list returned by the name server have been tested. If all of the end devices were tested, then in Step <b>211</b>, the process terminates. If all devices in the list returned by the name server were not tested the process returns to step <b>203</b> where the next device in the list returned by the query to the name server is selected and the process is repeated from Step <b>203</b>. The process of testing, looping back and selecting the next end device to be tested continues until all of the end devices in the list are tested.
p-0022<figref idrefs="DRAWINGS">FIG. 3</figref> illustrates the steps for issuing a user selected data pattern. In Step <b>301</b>, the user specifies intent to select the parameters to be used to build the payload of the frame, known in the art of fibre channel as an extended link service. In step <b>302</b>, a selected data pattern is chosen from a list of data patterns, starting with the first pattern in the list the first time through the process and then moving to the next pattern in the list each successive time through the process. Any number of data patterns may be specified by the user. In Step <b>303</b>, the number of frames to be sent with the pattern selected above is specified. In Step <b>304</b>, the count of the number of frames which have been sent is incremented by one. In Step <b>305</b>, the echo extended link service frame is sent with the data pattern chosen in Step <b>302</b>. This specifically constructed frame is sent to the end device being tested. In Step <b>306</b>, the results of Step <b>305</b> are recorded as specified in <figref idrefs="DRAWINGS">FIG. 5</figref>, which is discussed below. In Step <b>307</b>, if there are still additional frames to be sent, the process returns to Step <b>304</b>. If all frames have been sent, the process continues to Step <b>308</b>. In Step <b>308</b>, if all the user selected parameters have been exercised, the process continues on to <figref idrefs="DRAWINGS">FIG. 5</figref>. If there are still user patterns to be exercised, the process returns to Step <b>301</b>.
p-0023<figref idrefs="DRAWINGS">FIG. 4</figref> illustrates the steps for issuing an automatic mode data pattern. In Step <b>400</b>, a pattern ‘n’ is automatically selected, starting at 0x00. In Step <b>401</b>, the number of frames is automatically generated to transmit the selected data pattern. In Step <b>402</b>, a frame ‘f’ is built with data pattern payload. In Step <b>403</b>, an echo link service command is transmitted with frame. In Step <b>404</b>, results are recorded and the count for the total frames transmitted and total patterns transmitted is incremented. In Step <b>405</b>, a determination is made as to whether the frame previously transmitted is the last frame for data pattern. In Step <b>406</b>, if the previous frame is not last frame, the process increments and proceeds to transmit the next frame, as disclosed above in Step <b>402</b>. In Step <b>407</b>, if it is determined that the previous frame is the last frame, a determination is made as to if all data patterns have been sent. In Step <b>408</b>, if all data patterns have not been sent, the process increments ‘n’ to the next data pattern and proceeds to Step <b>400</b> to select the next pattern ‘n’. In Step <b>409</b>, if all data patterns have been transmitted, the process continues on to <figref idrefs="DRAWINGS">FIG. 5</figref>
p-0024<figref idrefs="DRAWINGS">FIG. 5</figref> illustrates steps for concluding the testing process and reporting results following the testing of all discovered devices. In Step <b>501</b>, the total bytes written to all devices, cumulative of all frames, is reported. In Step <b>502</b>, the total number of errors (or failures) logged during the test cycle is reported. In Step <b>503</b>, for each error or failure reported in step <b>502</b>, the related data pattern is reported, regardless of the operating mode selected. That is, the related data pattern is reported regardless of whether the data pattern is an automatic generated data pattern or a user selected pattern. In Step <b>504</b>, the total of all successful frames transmitted and total bytes successfully transmitted are reported. In Step <b>505</b>, failed data patterns, received from the end device, are compared to a library of data patterns known to cause jitter or known as strong indications of a jitter condition. In Step <b>506</b>, the results are evaluated to determine if a jitter condition or jitter indication has been detected. In Step <b>507</b>, if no jitter problem is detected, the process returns to the start of test cycle and either retests or exits. In Step <b>508</b>, a detected jitter problem is reported as a test result and the process returns to start of test cycle either retests or exits.
p-0025In all modes, the end user may receive a report of success or failure and any other information that is applicable and available. In an embodiment of the invention, one implementation might include at least one of the following:
p-00261) A jitter indication because a known jitter pattern failed or no indication of a jitter problem.
p-00272) An indication that a reply to the echo extended link service was not received within the time-out period.
p-00283) An indication that the echo reply was received with bad cyclic redundancy check.
p-00294) An indication that the echo reply was received with bad disparity.
p-00305) An indication that the echo reply was received with an end of frame abort frame delimiter (eofta).
p-0031In an example, the report might indicate that a data pattern failed a certain number of times, for example, data pattern EF, failed in 4 out of 6 frames. In an example, the report might indicate that a data pattern failed a certain number of times, for example, data pattern EF, failed in 4 out of 6 frames.
p-0032<figref idrefs="DRAWINGS">FIG. 6</figref> illustrates the steps implemented in an embodiment of the invention. In Step <b>601</b>, a testing device logs in to a storage area network and issues an echo extended link service including a frame with a payload of data patterns to an end device. The echo extended link service is used to send data with a specified data pattern upon logging on to the end device. In Step <b>602</b>, in response to the echo extended link service, the device receives a failed data pattern from the end device. In Step <b>603</b>, the device compares the failed data pattern against data patterns known to create jitter. In Step <b>604</b>, the device determines whether a jitter condition or jitter indication has been detected. In Step <b>605</b>, the device transmits results from the comparing to a user.
p-0033Although the present invention has been shown and described with respect to certain embodiments, it should be understood by those skilled in the art that various modifications can be made to the inventive testing device and the method of the instant invention without departing from the scope and spirit of the invention. It is intended that the present invention cover modifications and variations of the inventive testing device and method provided they come within the scope of the appended claims and their equivalents.
Contents4
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2014055776A1 | Cited by | United States of America | Pre-grant |
| US9077448B2 | Cited by | United States of America | Search report |
| US2005086563A1 | Cites | United States of America | Applicant |
| US2006023778A1 | Cites | United States of America | Applicant |
| US2006200708A1 | Cites | United States of America | Applicant |
| US2006209769A1 | Cites | United States of America | Applicant |
| US2006209943A1 | Cites | United States of America | Applicant |
| US2007088998A1 | Cites | United States of America | Applicant |
| US2007089006A1 | Cites | United States of America | Applicant |
| US2008077828A1 | Cites | United States of America | Search report |
| US5220581A | Cites | United States of America | Applicant |
| US6115361A | Cites | United States of America | Search report |
| US6172992B1 | Cites | United States of America | Applicant |
| US6658540B1 | Cites | United States of America | Search report |
| US6665316B1 | Cites | United States of America | Applicant |
| US6795515B1 | Cites | United States of America | Applicant |
| US7308620B1 | Cites | United States of America | Applicant |
| An article entitled "Intergrated Optical 2x2 Switch for Wavelength Multiplexed Interconnects" by Williams et al., Feb. 2005, Retrieved from the internet: http://www.intel-research.net/Publications/ Cambridge/120920040708-297.pdf. | Non-patent | – | Applicant |
| An article entitled "A 10-Gb/s High-Isolation, 16 16 Crosspoint Switch Implemented with AIGaAs/GaAs HBT's" by Metzger et al., IEEE Journal of Solid-State Circuits, vol. 35, No. 4, Apr. 2000, Retrieved from the Internet: http://sigma.ucsd.edu/research/articles/2000/2000-9.pdf. | Non-patent | – | Applicant |
2 members in 1 office; this record represents the family
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2009296796A1 | United States of America | A1 | |
| US7721164B2This record | United States of America | B2 |
51 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| 7.5 yr surcharge - late pmt w/in 6 mo, Large EntityM1555 | M1555 | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Decision Made by Classification DivisionTI1052 | TI1052 | |
| Request for Classification Division DecisionTI1054 | TI1054 | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Sent to Classification ContractorPGPC | PGPC | |
| Filing Receipt - UpdatedFLRCPT.U | FLRCPT.U | |
| Additional Application Filing FeesADDFLFEE | ADDFLFEE | |
| Applicant has submitted new drawings to correct Corrected Papers problemsCORRDRW | CORRDRW | |
| Notice of Incomplete ReplyINCR | INCR | |
| Applicant has submitted new drawings to correct Corrected Papers problemsCORRDRW | CORRDRW | |
| Additional Application Filing FeesADDFLFEE | ADDFLFEE | |
| Accelerated Exam OverAEOV | AEOV | |
| Mail-Petition Decision - DeniedMPTDE | MPTDE | |
| Petition Decision - DeniedPTDE | PTDE | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Corrected PaperCPAP | CPAP | |
| Accelerated Examination RequestAERQ | AERQ | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Petition EnteredPET. | PET. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Initial Exam Team nnIEXX | IEXX |
19 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee payment procedure7.5 YR SURCHARGE - LATE PMT W/IN 6 MO, LARGE ENTITY (ORIGINAL EVENT CODE: M1555)FEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)FEPP | FEPP | |
| Fee paymentFPAY | FPAY | |
| Surcharge for late paymentSULP | SULP | |
| AssignmentAS | AS | |
| Maintenance fee reminder mailedREMI | REMI | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP |
Numbers
- Publication
- 07721164
- Application
- 13026508
Titles
- English
- Method and apparatus for improved storage area network link integrity testing
Patent term adjustment
- A delay
- +5 daysthe office missed an examination deadline
- Applicant delay
- −30 days
- Net adjustment
- 0 days
Classification
- CPC, 1
- H04B10/071
- IPC, 5
- G01R29 26
- G11C29 00
- G01R31 28
- H04B3 46
- H04J3 06