COMPACTING OF FRAMES IN A NETWORK DIAGNOSTIC DEVICE

Information

  • Patent Application
  • 20070189174
  • Publication Number
    20070189174
  • Date Filed
    February 14, 2007
    17 years ago
  • Date Published
    August 16, 2007
    17 years ago
Abstract
A network diagnostic component that is placed in-line between two nodes in a network to reorder or compact a data frame to allow the network diagnostic component to interpret the data frame. The network diagnostic component receives a network data frame from the first node for communication with the second node. The network data frame may include a plurality of data units interspersed with one or more non-data units that interrupt the proximity and flow of the data units. The network diagnostic component then reorders the data frame by removing or moving at least some of the non-data units that are interspersed with the plurality of data units. The reordered network data frame may then be interpreted by other components of the network diagnostic component.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

To further clarify the above and other advantages and features of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:



FIG. 1 illustrates a block diagram of a network including a network diagnostic component placed in-line between two nodes;



FIG. 2 illustrates a particular embodiment of the network diagnostic component of FIG. 1;



FIG. 3 illustrates a frame compaction module in accordance with embodiments discloses herein;



FIG. 4 illustrates a method for a network diagnostic component placed in-line between two nodes to reorder or compact network traffic;



FIG. 5 illustrates a specific method for reordering network traffic; and



FIG. 6 illustrates an additional specific method for reordering network traffic.


Claims
  • 1. A method for a network diagnostic component that is placed in-line between first and second nodes in a network to reorder network traffic, the method comprising: an act of receiving a network data frame from the first node for communication with the second node, the network data frame including a plurality of data units interspersed with one or more non-data units that interrupt the proximity and flow of the data units; andan act of reordering the network data frame by removing or moving at least some of the non-data units that that are interspersed with the plurality of data units.
  • 2. The method in accordance with claim 1, wherein the reordered data frame is interpretable by the network diagnostic component.
  • 3. The method in accordance with claim 1, wherein the network diagnostic component is a SAS/SATA network diagnostic component.
  • 4. The method in accordance with claim 1, wherein the network diagnostic component includes a first and a second FIFO buffer and at least one counter, the act of reordering the network data frame comprising: an act of placing a predetermined number of the plurality of data units in the first FIFO buffer;an act of placing at least the predetermined number of the data units and the one or more interspersed non-data units in the second FIFO buffer;an act of incrementing the counter every time one of the predetermined number of data units is placed in the first FIFO buffer;an act of replacing with other non-data units the predetermined number of data units and at least some of the non-data units as they are read from the second FIFO buffer if the counter has not incremented to the predetermined number and the end of the frame has not been detected;an act of passing the data units placed in the first FIFO buffer when the counter has incremented to the predetermined number or the end of the frame has been detected, wherein at least some of the non-data units are no longer interspersed with the predetermined number of data units; andan act of passing the contents of the second FIFO buffer unaltered after passing the data units from the first FIFO buffer.
  • 5. The method in accordance with claim 4, wherein the network diagnostic component further includes a second counter, the method further comprising: an act of incrementing the second counter when the predetermined number of data units and at least some of the non-data units are placed in the second FIFO buffer;an act of beginning to decrement the second counter when replacing a data unit or non-data unit placed in the second FIFO buffer after the first counter has reached the predetermined number or the end of the frame has been detected; andan act of continuing to replace with other non-data units the predetermined data units and at least some of the non-data units read from the second FIFO buffer until the second counter has decremented to a count that matches the number counted by the first counter.
  • 6. The method in accordance with claim 4, wherein ALIGN and NOTIFY non-data units are not replaced or altered when being passed from the second FIFO buffer.
  • 7. The method in accordance with claim 4, wherein the network data frame is of the SATA protocol.
  • 8. The method in accordance with claim 1, wherein the network diagnostic component includes a first, second, and third FIFO buffer and at least one counter, the act of reordering the network data frame comprising: an act of placing a predetermined number of the plurality of data units in the first FIFO buffer;an act of placing at least the predetermined number of the data units and the one or more interspersed non-data units in the second FIFO buffer;an act of placing at least some of the non-data units in the third FIFO buffer;an act of incrementing the counter every time one of the predetermined number of data units is placed in the first FIFO buffer;an act of passing a non-data unit placed in the third FIFO and not passing the predetermined number of data units and at least some of the non-data units read from the second FIFO buffer if the counter has not incremented to the predetermined number and the end of the frame has not been detected;an act of passing the predetermined number of data units placed in the first FIFO buffer when the counter has incremented to the predetermined number or the end of the frame has been detected, wherein the data units are passed from the first FIFO buffer with fewer or no non-data units interspersed between them;an act of passing any remaining contents of the third FIFO buffer in place of at least some of the non-data units or data units read from the second FIFO buffer; andan act of passing the contents of the second FIFO buffer after the third FIFO buffer is empty.
  • 9. The method in accordance with claim 8, wherein the network data frame is of the SAS protocol.
  • 10. The method in accordance with claim 8, wherein ALIGN and NOTIFY non-data units are passed from the second FIFO buffer without being replaced or altered.
  • 11. A network diagnostic device placed in-line between first and second nodes in a network comprising: a first module configured to receive a network data frame from the first node for communication with the second node, the network data frame including a plurality of data units interspersed with one or more non-data units that interrupt the proximity and flow of the data units; andwherein the first module is further configured to reorder the network data frame by removing or moving at least some of the non-data units that that are interspersed with the plurality of data units.
  • 12. The network diagnostic device in accordance with claim 11 wherein the first module is a state machine.
  • 13. The network diagnostic device in accordance with claim 11, further including a second module configured to interpret the reordered network data frame.
  • 14. The network diagnostic device in accordance with claim 11 further comprising: a first FIFO buffer configured to have the first module place a predetermined number of the plurality of data units in it;a second FIFO buffer configured to have the first module place the predetermined number of data units and the interspersed one or more non-data units in it;a first counter configured to increment when the first module places a data unit in the first FIFO buffer;wherein the first module is configured to replace with other non-data units the predetermined data units and at least some of the non-data units as they are read from the second FIFO buffer if the counter has not incremented to the predetermined number and the end of the frame has not been detected;wherein the first module is further configured to pass the data units placed in the first FIFO buffer when the counter has incremented to the predetermined number or the end of the frame is detected, wherein at least some of the non-data units are no longer interspersed with the predetermined number of data units; andwherein the first module is further configured to pass the contents of the second FIFO buffer unaltered after passing the data units from the first FIFO buffer.
  • 15. The network diagnostic device in accordance with claim 14 further comprising: a second counter configured to increment when the first module places the predetermined number of data units and at least some of the non-data units in the second buffer and to begin to decrement when the first counter increments to the predetermined number or the end of the frame is detected;wherein the first module is configured to continue to replace with other non-data units the predetermined data units and at least some of the non-data units read from the second FIFO buffer until the second counter has decremented to a count that matches the number counted by the first counter.
  • 16. The network diagnostic device in accordance with claim 14, wherein the first FIFO buffer has a depth of 32 dwords and the second FIFO has a depth of 70 dwords.
  • 17. The network diagnostic device in accordance with claim 11 further comprising: a first FIFO buffer configured to have the first module place the predetermined number of data units in it;a second FIFO buffer configured to have the first module place the predetermined number of data units and the one or more non-data units in it;a third FIFO buffer configured to have the first module place all non-ALIGN/NOTIFY non-data units in it;a first counter configured to increment when the first module places a data unit in the first FIFO buffer;wherein the first module is configured to pass a non-data unit placed in the third FIFO and not pass the predetermined number of data units and non-ALIGN/NOTIFY non-data units in the second FIFO buffer if the counter has not incremented to the predetermined number and the end of the frame has not been detected;wherein the first module is further configured to pass the predetermined number of data units placed in the first FIFO buffer when the counter has incremented to the predetermined number or the end of the frame has been detected, wherein the data units are passed from the first FIFO buffer with fewer or no non-data units interspersed between them; andwherein the first module is further configured to pass any remaining contents of the third FIFO buffer in place of at least some of the non-data units and data units read from the second FIFO buffer and to pass the contents of the second FIFO buffer after the third FIFO buffer is empty.
  • 18. The network diagnostic device in accordance with claim 17, wherein the first FIFO buffer has a depth of 32 dwords, the second FIFO has a depth of 70 dwords, and the third FIFO has a depth of 70 dwords.
  • 19. The network diagnostic device in accordance with claim 11, wherein the first and second nodes are SAS/SATA nodes and the network diagnostic component is a SAS/SATA network component.
  • 20. The network diagnostic device in accordance with claim 11, wherein the network diagnostic device is one of a bit error rate tester, a protocol analyzer, a generator, a jammer, and a monitor.
  • 21. The network diagnostic device in accordance with claim 11, wherein the network diagnostic device is configured to only reorder the network data frame when a predetermined number of the plurality of data units are not within a desired location in the network data frame.
  • 22. The network diagnostic device in accordance with claim 11, wherein the network diagnostic device is configured to support at least two network protocols, the network diagnostic device further comprising: a second module configured to enable the first module to reorder the network data frame when operating in the first network protocol, the second network protocol, or both the first and second network protocols and wherein the second module is further configured to disenable the reordering of the network data frame.
  • 23. A diagnostic network comprising: a first node;a second node;a network diagnostic device placed in-line between the first and second nodes comprising:a first module configured to receive a network data frame from the first node for communication with the second node, the network data frame including a plurality of data units interspersed with one or more non-data units that interrupt the proximity and flow of the data units; andwherein the first module is further configured to reorder the network data frame by removing or moving at least some of the non-data units that are interspersed with the plurality of data units.
  • 24. The diagnostic network in accordance with claim 23, wherein the first and second nodes are SAS/SATA nodes and the network diagnostic device is a SAS/SATA network component.
  • 25. The diagnostic network in accordance with claim 23, wherein the network diagnostic device is configured to support at least two network protocols, the network diagnostic device further comprising: a second module configured to enable the first module to reorder the network data frame when operating in the first network protocol, the second network protocol, or both the first and second network protocols and wherein the second module is further configured to disenable the reordering of the network data frame.
Provisional Applications (2)
Number Date Country
60773516 Feb 2006 US
60779198 Mar 2006 US