Intelligent network storage interface device
First Claim
1. An interface device for a computer having a file system that controls a file cache, the interface device comprising:
- interface hardware configured to process a transport layer header of a packet received via a first physical network port, and to separate said transport layer header from data of said packet, wherein said data corresponds to a layer higher than said transport layer;
an interface memory adapted to store a TCP connection established by the computer and handled by said device, said memory adapted to store said data in said file cache; and
an interface mechanism for associating said packet with said TCP connection and said TCP connection with said file cache to send said data from said packet via a second physical network port to a storage unit, thereby avoiding the computer.
1 Assignment
0 Petitions
Accused Products
Abstract
An interface device is connected to a host by an I/O bus and provides hardware and processing mechanisms for accelerating data transfers between a network and a storage unit, while controlling the data transfers by the host. The interface device includes hardware circuitry for processing network packet headers, and can use a dedicated fast-path for data transfer between the network and the storage unit, the fast-path set up by the host. The host CPU and protocol stack avoids protocol processing for data transfer over the fast-path, freeing host bus bandwidth, and the data need not cross the I/O bus, freeing I/O bus bandwidth. The storage unit may include RAID or other multiple drive configurations and may be connected to the INIC by a parallel channel such as SCSI or by a serial channel such as Ethernet or Fiber Channel. The interface device contains a file cache that stores data transferred between the network and storage unit, with organization of data in the interface device file cache controlled by a file system on the host. Additional interface devices may be connected to the host via the I/O bus, with each additional interface device having a file cache controlled by the host file system, and providing additional network connections and/or being connected to additional storage units.
-
Citations
20 Claims
-
1. An interface device for a computer having a file system that controls a file cache, the interface device comprising:
-
interface hardware configured to process a transport layer header of a packet received via a first physical network port, and to separate said transport layer header from data of said packet, wherein said data corresponds to a layer higher than said transport layer; an interface memory adapted to store a TCP connection established by the computer and handled by said device, said memory adapted to store said data in said file cache; and an interface mechanism for associating said packet with said TCP connection and said TCP connection with said file cache to send said data from said packet via a second physical network port to a storage unit, thereby avoiding the computer. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An interface device for a computer having a file system that controls a file cache, the interface device comprising:
-
an interface receive mechanism that processes a Transmission Control Protocol (TCP) header of a network packet, and separates said header from data of said packet, wherein said data corresponds to a layer higher than said transport layer; an interface memory storing an established TCP connection that can migrate to and from the computer, said memory storing said data in said file cache; and an interface processing mechanism that associates said packet with said TCP connection and said TCP connection with said file cache to send said data from said packet via a physical network port to a storage unit, thereby avoiding the computer. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for operating an interface device for a computer having a file system that controls a file cache, the interface device connectable to a network and a storage unit, the method comprising:
-
receiving, by the interface device from the network, a packet containing data and a Transmission Control Protocol (TCP) header, processing, by the interface device, the TCP header, storing, on the interface device, a TCP connection that can migrate to and from the computer, associating, by the interface device, the packet with the TCP connection, storing, on the interface device, the data from the packet in the file cache, and sending, by the interface device, the data from the file cache to the storage unit via a physical network port, thereby avoiding the computer. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification