Claims
- 1. A gateway apparatus working in cooperation with a host file server for accelerating file sharing tasks wherein all data transfer operations between storage devices and network devices are processed directly through the gateway, said gateway is comprised of:
storage controller in communication with the storage device; transport layer accelerator (TLA) in communication with file server network controller; local memory for storing communication requests; data accelerator engine (DAE) for processing and decoding FSP commands, said engine is interconnected to the file server central processing unit (CPU) and working memory through internal bus and is interconnected to TLA, the local memory and the storage controller through interconnected buses.
- 2. The apparatus of claim 1, wherein said local memory is a cache memory.
- 3. The apparatus of claim 2, wherein the address space of said local memory is configured to match the address space of said file server's working memory.
- 4. The apparatus of claim 1, wherein said network is at least one of: local area network (LAN), wide area network (WAN).
- 5. The apparatus of claim 1, wherein said transport layer is able to perform transmission control protocol (TCP) processing of incoming and outgoing data blocks.
- 6. The apparatus of claim 1, wherein said FSP is at least one of the following protocols: network file system (NFS) protocol, common internet file system (CIFS) protocol, direct access file system (DAFS) protocol, AppleShare protocol.
- 7. The apparatus of claim 1, wherein said storage controller is at least one of: Fibre Channel (FC), small computer system interface (SCSI), parallel SCSI (pSCSI), iSCSI, parallel ATA (PATA) or serial ATA (SATA).
- 8. The apparatus of claim 1, wherein said storage device is a least one of: disk drive, collection of disk drives, tape drive, redundant array of independent disks (RAID).
- 9. The apparatus of claim 1, wherein the interconnected bus is a Peripheral Component Interconnect (PCI).
- 10. The apparatus of claim 1, wherein said data accelerator engine further comprises:
means for interfacing with the host file sever, said TLA, and said storage controller; means for parsing incoming FSP commands; means for generating a FSP response; means for controlling said local memory.
- 11. The apparatus of claim 1, wherein TLA performs transport layer processing on a processed FSP command.
- 12. The apparatus of claim 1, wherein DAE further decodes FSP command, transfers to the host's file server as a native structure of decoded FSP commands, establishes a direct path between said network terminal and said storage controller under control of said host file server and generates a FSP response which ends the session of said FSP command.
- 13. The apparatus of claim 12 wherein the data transfer of one or more data blocks is processed over said direct path at wire-speed.
- 14. The apparatus of claim 13, wherein said host file sever provides said gateway with a destination address.
- 15. The apparatus of claim 13, wherein said destination address comprises: a physical address of said data blocks requested to be read or a physical address indicating where to write said data blocks.
- 16. The apparatus of claim 2, wherein said gateway further comprises a controller software module which communicates with an operating system of said host file sever for the purpose of controlling the processing of FSP commands.
- 17. The apparatus of claim 1, wherein said FSP command is at least one of the following file system operations: read, write, get attribute, lookup, set attribute, delete, open.
- 18. The apparatus of claim 1 wherein the gateway apparatus is connected to the storage controller and NIC through peripheral channels.
- 19. The apparatus of claim 18 wherein the peripheral channels are at least Peripheral Component Interconnect (PCI) buses.
- 20. A file server including CPU, working memory, network controller, storage device and a designated gateway, wherein all file data transfer between storage devices connected to the file server and network devices are processed directly through the designated gateway.
- 21. A file server for accelerating file sharing tasks, said file server comprises of:
a network interface for the purpose of communicating with a network over which data is transferred to said storage devices; a storage interface for the purpose of interfacing with said storage device; and, a gateway for processing FSP commands and establishing direct data path for processing all data transfer between the network devices and the storage devices.
- 22. The file sever of claim 21 wherein the gateway is comprised of:
storage controller in communication with the file server storage device; transport layer accelerator (TLA) in communication with file server network controller (NIC); local memory for storing communication requests, (including cache memory for data transfer acceleration) data accelerator engine (DAE) for processing and decoding FSP commands, said engine interconnects to the file server CPU and working memory through internal bus and interconnects to the TLA, the local memory and the storage controller through interconnect buses.
- 23. The file sever of claim 22, wherein said local memory includes cache memory.
- 24. The file sever of claim 21, wherein the address space of said local memory is configured to match the address space of said file server's memory.
- 25. The file sever of claim 22, wherein said network is at least one of: local area network (LAN), wide area network (WAN).
- 26. The file sever of claim 22, wherein said transport layer is able to perform transmission control protocol (TCP) processing of incoming and outgoing data blocks.
- 27. The file sever of claim 22, wherein said FSP is one of the following protocols:
network file system (NFS) protocol, common internet file system (CIFS) protocol, direct access file system (DAFS) protocol, AppleShare protocol.
- 28. The file sever of claim 22, wherein said storage controller is at least one of: Fibre Channel (FC), small computer system interface (SCSI), parallel SCSI (pSCSI), iSCSI, parallel ATA (PATA) or serial ATA (SATA).
- 29. The file sever of claim 22, wherein said storage device is a least one of: disk drive, collection of disk drives, tape drive, redundant array of independent disks (RAID).
- 30. The file sever of claim 22, wherein the interconnect bus is a Peripheral Component Interconnect (PCI).
- 31. The file sever of claim 22, wherein said data accelerator engine further comprises:
means for interfacing with the host file sever, said TLA, and said storage controller; means for parsing incoming FSP commands; means for generating a FSP response; means for controlling said local memory.
- 32. The file sever of claim 22, wherein TLA performs transport layer processing on a processed FSP command.
- 33. The file sever of claim 22, wherein DAE further decodes FSP command, transfers to the host's file server a native structure of decoded FSP commands, establishes a direct path between said network terminal and said storage controller under control of said local file server host and generates a FSP response which ends the session of said FSP command.
- 34. The file sever of claim 22 wherein the data transfer of one or more data blocks is processed over said direct path at wire-speed.
- 35. The file sever of claim 22, wherein the file server CPU provides said gateway with a destination address.
- 36. The file sever of claim 22, wherein said destination address comprises: a physical address of said data blocks requested to be read or a physical address indicating where to write said data blocks.
- 37. The file sever of claim 22, wherein said gateway further comprises a controller software module which communicates with an operating system of said host file sever for the purpose of controlling the processing of FSP commands.
- 38. The file sever of claim 22, wherein said FSP command is at least one of the following file system operations: read, write, get attribute, lookup, set attribute, delete, open.
- 39. The file sever of claim 22 wherein the gateway is connected to the storage controller and NIC through peripheral channels.
- 40. The file sever of claim 22 wherein the peripheral channels are at least a Peripheral Component Interconnect (PCI) buses.
- 41. A method for accelerating file transfer between the file server and network terminals, wherein the file server includes a designated gateway, which creates a direct data path between the file server network controller and storage devices connected to the file server, said method comprising the steps of:
receiving FSP commands; performing transport layer processing of received FSP commands; decoding FSP commands; transferring decoded FSP commands native structure to file server CPU; receiving CPU's response; establishing direct data path between file server network terminal and file server storage device in accordance with CPU response and FSP commands; transferring at least one data block through said data path; generating an FSP response indicating end of FSP session.
- 42. The method of claim 41, wherein said FSP is at least one of: network file system (NFS) protocol, common Internet file system (CIFS) protocol, direct access file system (DAFS) protocol, AppleShare protocol.
- 43. The method of claim 41, wherein said transport layer processing includes performing at least TCP processing of incoming data blocks and on outgoing data blocks.
- 44. The method of claim 41, wherein said network is at least one of: local area network (LAN), wide area network (WAN).
- 45. The method of claim 41, wherein said FSP command is at least one of the following file system operations: get attribute, lookup, set attribute, delete, open.
- 46. The method of claim 41, wherein said FSP command is a read command.
- 47. The method of claim 41, wherein said read command comprises at least one logic address of one or more data blocks in a file.
- 48. The method of claim 47, wherein said file server response provides a physical address of said requested data blocks.
- 49. The method of claim 47, wherein prior to generating a FSP response further comprises the steps of:
performing a check to determine if said requested data blocks are cached in a cache memory; retrieving from a storage device data which is not in said cache memory; temporarily saving the retrieved data in said cache memory; and, performing transport layer processing of said data blocks.
- 50. The method of claim 41 wherein said FSP command is a write command.
- 51. The method of claim 50 wherein said write command includes one or more data blocks to be written into a file.
- 52. The method of claim 50 wherein said file server response provides a physical address of said file.
- 53. The method of claim 50, wherein prior to generating a FSP response, said method further comprises the steps of:
receiving said data blocks from said network; temporarily saving said data blocks in a cache memory; synchronizing the writing of said data block with an operating system of said local host; and, writing said data blocks in a destination storage device.
- 54. The method of claim 53, wherein said FSP response acknowledges that said data blocks were written in said destination storage device.
Parent Case Info
[0001] This invention takes priority from U.S. provisional Pat. application No. 60/450,346, filed on Feb. 28, 2003.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60450346 |
Feb 2003 |
US |