IP Library Granted Patent US 7,515,537
Granted Patent B2
US 7,515,537 · App. 11/478,419 · Granted Apr 7, 2009

Method and apparatus for rendering a cell-based switch useful for frame based protocols

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,515,537
App. No.
11/478,419
Granted
Apr 7, 2009
Kind
B2
Abstract

A switch segments variable length frames into cells for transmission over a cell-based switch fabric and handles rate differences between the input data rate and the switch fabric data rate. The fabric handles multiple cell packets by maintaining a switch path until a certain number of cells are transmitted as indicated in a length field in the first data cell. The first cell contains a full data payload, and a length field value sufficient to handle a maximum length frame. Subsequent cells can contain less than a full data payload, with the number of valid bytes in the cell being indicated in the length field. The last cell used to segment the frame contains an end of frame indicator. The indicator signals the destination port side of the switch to terminate the packet path in the switch fabric prematurely—before the number of cells indicated in the first data cell.

Claims (47)

1. A method for adapting to different data rates between a source for a data frame and a cell-based switch fabric, the switch fabric requiring cells having a data payload and a cell header, the method comprising:

a) constructing a first data cell from the data frame, the first data cell containing a full data payload and a packet length value in the cell header, the packet length value being indicative of the number of data cells in the data frame; and

b) constructing a second data cell from the data frame, the second data cell containing a partially filled data payload and a valid data value in the cell header, the valid data value being indicative of the amount of valid data, in the data payload.

2. The method of claim 1 , wherein the data frame is a variable-length data frame.

3. The method of claim 2 , wherein the data frame is a Fibre Channel frame.

4. The method of claim 1 , wherein the valid data value is equal to the number of valid data bytes in the partially filled data payload.

5. The method of claim 1 , further comprising:

c) transmitting the first and second data cell through the cell-based switch fabric; and

d) reconstructing the data frame from the transmitted first and second data cells, the reconstructed data frame containing data from the entire full data payload of the first data cell and that portion of the partially filled data payload of the second data cell that contains valid data as indicated by the valid data value.

6. The method of claim 5 , wherein the step of transmitting the first and second data cells through the cell-based switch fabric includes the following steps:

i) establishing a path through the cell-based switch fabric; and

ii) establishing a duration for maintaining the path, the duration being determined by the packet length value in the first data cell.

7. The method of claim 1 , wherein the valid data value and the packet length value are both located in the same field of the cell header.

8. The method of claim 1 , wherein the packet length field is located in the data payload.

9. The method of claim 1 , wherein the packet length field indicates the length of the packet in number of cells.

10. The method of claim 1 , further comprising:

c) establishing a path through the cell-based switch fabric; and

d) establishing a duration for maintaining the path, the duration being determined by the packet length value in the first data cell.

11. The method of claim 10 , further comprising:

e) constructing a third data cell from the data frame, the third data cell containing an end of packet indicator.

12. The method of claim 11 , wherein the end of packet indicator is in the cell header.

13. The method of claim 11 , further comprising:

f) receiving the third data cell on a destination port side of the cell-based switch fabric;

g) detecting the end of packet indicator; and

h) terminating the path through the cell-based switch fabric after detecting the end of packet indicator, even though the duration has not completed.

14. The method of claim 13 , wherein the packet length field indicates the length of the packet in cells and the duration is set to allow a number of cells through the path equal to the packet length value in the first data cell.

15. The method of claim 14 , wherein the data frames have a variable length, and the packet length value is equal to a number sufficient to allow a maximum sized data frame to pass through the path.

16. A method for adapting to different data rates between an input data frame and a cell-based switch fabric within a data switch, the switch fabric having fixed-sized cells each having a data payload, the method comprising:

a) receiving a first portion of the data frame at an input port;

b) establishing a path through the cell-based switch fabric to a destination port selected by examining a destination address found in the first portion of the data frame;

c) sending a first data cell containing at least part of the first portion of the data frame across the path;

d) after sending the first data cell, receiving a second portion of the data frame;

e) partially filling the data payload of a second data cell with the second portion of the data frame;

f) sending the second data cell across the path even though the data payload of the second data cell is not filled;

g) detecting an end of the data frame;

h) after detecting the end of the data frame, sending an End of Packet indicator across the data path to the destination port; and

i) closing the path through the cell-based switch fabric when the End of Packet indicator has been detected at the destination port.

17. The method of claim 16 , wherein the first cell has a completely filled data payload, and further wherein the first cell has a packet length value indicating a maximum number of cells that would be necessary to transmit a maximum-sized data frame.

18. The method of claim 17 , wherein the second cell has a valid data value indicating the number of valid data bytes in the data payload of the second cell, and wherein the packet length value of the first data cell and the valid data value of the second data cell are both found in an identical field in a cell header that does not form part of the data payload.

19. The method of claim 16 , wherein the End of Packet indicator is found in the data payload of a third data cell.

20. A data switch comprising:

a) a cell based switch fabric using fixed size data cells;

b) an input port having logic to:

i) receive a data frame,

ii) establish a path across the cell-based switch fabric,

iii) partition the data frame into data cells to be sent across the path, with at least two data cells having a partially filled and partially empty cell payload and with a third data cell having an end-of-packet indicator to inform the output port that the entire data frame has been sent across the path; and

c) an output port having logic to: i) receive the data cells across the path, and ii) terminate the path upon receipt of the end-of-packet indicator.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2015
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; INRANGE TECHNOLOGIES CORPORATION; FOUNDRY NETWORKS, LLC
Reel/Frame 034792/0540 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →
SECURITY AGREEMENT Recorded Dec 22, 2008
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, INC.; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION
To: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT
Reel/Frame 022012/0204 →
MERGER Recorded Dec 10, 2008
From: COMPUTER NETWORK TECHNOLOGY CORPORATION
To: MCDATA SERVICES CORPORATION
Reel/Frame 021952/0245 →