Intelligent network storage interface system
First Claim
1. An apparatus for transferring information between a network and a storage unit, the apparatus comprising:
- a host computer having a CPU operating a file system and a host memory connected to said CPU by a host memory bus, and an interface device coupled to said host computer, to the network and to the storage unit, said interface device including an interface memory containing an interface file cache adapted to store data that is communicated between the network and the storage unit, wherein said interface file cache is controlled by said file system, said data is affixed to headers including a transport layer header, and said interface device includes a mechanism configured to process said transport layer header.
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 Fibre 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.
447 Citations
24 Claims
-
1. An apparatus for transferring information between a network and a storage unit, the apparatus comprising:
-
a host computer having a CPU operating a file system and a host memory connected to said CPU by a host memory bus, and an interface device coupled to said host computer, to the network and to the storage unit, said interface device including an interface memory containing an interface file cache adapted to store data that is communicated between the network and the storage unit, wherein said interface file cache is controlled by said file system, said data is affixed to headers including a transport layer header, and said interface device includes a mechanism configured to process said transport layer header. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus for transferring information between a network and a storage unit, the apparatus comprising:
-
a host computer having a processor connected to a host memory by a host memory bus, said host memory containing a protocol stack operable by the processor to create a communication control block defining a network connection, and an interface device connected to said host computer and coupled between the network and the storage unit, said interface device including an interface memory adapted to store said communication control block and a mechanism configured to associate data with said communication control block such that said data is communicated between the network and the storage unit without encountering said host computer. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A server connectable to a network and a storage unit, the server comprising:
-
a host computer, a network interface device coupled to said host computer, and a first storage unit coupled to said network interface device by an input/output controller, wherein said host computer chooses whether to move data between the network and the storage unit via said host computer or to bypass said host computer and move data directly between the network and the storage unit. - View Dependent Claims (22, 23)
a second storage unit coupled to said second network interface device by a second input/output controller, wherein said second network interface device chooses whether to move information between the network and the second storage unit via said host computer or to bypass said host computer and move data directly between the network and the second storage unit.
-
-
24. An apparatus for storing, retrieving or communicating information over a network, the apparatus comprising:
-
a host computer having a CPU, a file system and a protocol stack for processing network messages, and a plurality of network interface devices connected to and managed by said host computer, each of said network interface devices being coupled to a network and to a storage unit, having hardware logic circuits configured to process headers of network packets and create a summary of said headers, and having a file cache adapted to store data from said packets as a file for transfer to or from said storage unit, said file caches managed by said file system.
-
Specification