Autonomous mapping of protected data streams to Fibre channel frames
First Claim
1. An apparatus for transmitting host data to a target over a frame-based communications network, comprising:
- one or more frame transmit engines, each frame transmit engine configured fordetermining one or more addresses, byte counts and a protection scheme of the host data to be transmitted in a particular sequence of frames, a frame size of the frames to be transmitted, and one or more free frame buffers for storing the frames prior to transmission,generating and storing headers for the frames to be transmitted, andcombining the header information, data and check bytes into frames for transmission over the network; and
a direct memory access (DMA) engine coupled to the one or more frame transmit engines and configured for reading the host data to be transmitted from host memory in accordance with the addresses and byte counts determined by a particular frame transmit engine, calculating check bytes for the host data in accordance with the protection scheme, and storing the data and check bytes into the one or more free frame buffers.
7 Assignments
0 Petitions
Accused Products
Abstract
A hardware-based offload engine is disclosed for mapping protected data into frames. For a write operation, the HBA determines host addresses and the size of data to be read from those addresses. The HBA also determines the frame size and protection scheme for data to be written. A frame transmit engine reads each host descriptor in the host data descriptor list to determine the location and byte count of the data to be read. A DMA engine reads the protection information/scratch area to determine the exact data size used to fill each frame and the protection scheme, and retrieves one or more free frame buffers. Check bytes are inserted alongside the data and stored in free frame buffers. After each frame is filled, the frame transmit engine also generates and stores header information for that frame, and then combines header, data and check bytes for transmission over the network.
-
Citations
24 Claims
-
1. An apparatus for transmitting host data to a target over a frame-based communications network, comprising:
-
one or more frame transmit engines, each frame transmit engine configured for determining one or more addresses, byte counts and a protection scheme of the host data to be transmitted in a particular sequence of frames, a frame size of the frames to be transmitted, and one or more free frame buffers for storing the frames prior to transmission, generating and storing headers for the frames to be transmitted, and combining the header information, data and check bytes into frames for transmission over the network; and a direct memory access (DMA) engine coupled to the one or more frame transmit engines and configured for reading the host data to be transmitted from host memory in accordance with the addresses and byte counts determined by a particular frame transmit engine, calculating check bytes for the host data in accordance with the protection scheme, and storing the data and check bytes into the one or more free frame buffers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus for transmitting host data to a target over a frame-based communications network, comprising:
-
a first memory area for storing addresses of host data and a byte count of the host data to be transmitted at those addresses; a second memory area for storing a protection scheme and a frame size for the host data to be transmitted; and a frame transmit engine and a direct memory access (DMA) engine coupled to and configured for reading the first and second memory area, generating check bytes in accordance with the protection scheme, generating one or more headers, and combining the headers, host data and check bytes into one or more frames for transmission over the network without involvement by a local processor. - View Dependent Claims (15)
-
-
16. An apparatus for transmitting host data to a target over a frame-based communications network, comprising:
-
means for determining one or more addresses and byte counts of the host data to be transmitted in a particular sequence of frames, determining a protection scheme and a frame size of the host data to be transmitted in the particular sequence of frames, and determining one or more free frame buffers for storing the frames prior to transmission; means for reading the host data to be transmitted from host memory in accordance with the determined addresses and byte counts, calculating check bytes for the host data in accordance with the protection scheme, and storing the data and check bytes into the one or more free frame buffers; means for generating and storing headers for the frames to be transmitted; and means for combining the header information, data and check bytes into frames for transmission over the network.
-
-
17. A method for transmitting host data to a target over a frame-based communications network, comprising:
-
determining one or more addresses and byte counts of the host data to be transmitted in a particular sequence of frames, determining a protection scheme and a frame size of the host data to be transmitted in the particular sequence of frames, and determining one or more free frame buffers for storing the frames prior to transmission; reading the host data to be transmitted from host memory in accordance with the determined addresses and byte counts, calculating check bytes for the host data in accordance with the protection scheme, and storing the data and check bytes into the one or more free frame buffers; generating and storing headers for the frames to be transmitted; and combining the header information, data and check bytes into frames for transmission over the network; wherein the method is performed without involvement by a local processor. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A method for transmitting host data to a target over a frame-based communications network, comprising:
-
storing addresses of host data and a byte count of the host data to be transmitted at those addresses into a first memory area; storing a protection scheme and a frame size for the host data to be transmitted into a second memory area; and reading the first and second memory area, generating check bytes in accordance with the protection scheme, generating one or more headers, and combining the headers, host data and check bytes into one or more frames for transmission over the network without involvement by a local processor.
-
Specification