IP Library Granted Patent US 7,742,473
Granted Patent B2
US 7,742,473 · App. 11/304,304 · Granted Jun 22, 2010

Accelerator module

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,742,473
App. No.
11/304,304
Granted
Jun 22, 2010
Kind
B2
Abstract

Stateless storage accelerator modules comprise network interfaces and filter functions that enable the accelerated processing of stateless protocols associated with network storage. Filter functions examine packets received over the network interface according to contexts associated with the destination of the packets. Contexts are found quickly through a fast look-up to ensure high performance of the over all system. The contexts comprise information associated with storage areas including addresses associated with the storage areas.

Claims (61)

1. A method comprising:

receiving a packet, which includes an address of a storage area, through a network interface;

finding information associated with the storage area, wherein the information is stored in a memory and said finding is based at least in part on the address;

filtering the packet as a function of the information; and

providing a storage protocol message, which includes at least a portion of the packet, to an application by bypassing at least a portion of a communication stack based at least in part on the filtering of the packet.

2. The method of claim 1 , wherein the address comprises an internet protocol address.

3. The method of claim 1 , wherein said finding the information includes employing a look-up table based at least in part on the address.

4. The method of claim 1 , wherein said finding the information includes employing a hash table.

5. The method of claim 1 , further comprising processing the packet at substantially line rate of the network interface.

6. The method of claim 1 , wherein said providing the storage protocol message to the application comprises providing a zero copy data transfer of the storage protocol message to the application.

7. The method of claim 6 , wherein the zero copy data transfer comprises a transfer to a storage device.

8. A computer readable memory storing instructions that instruct a processing unit to execute the method in claim 1 .

9. The method of claim 1 , wherein the packet includes an address of the destination and said finding the information comprises:

accessing a pointer stored in a least significant word (LSW) lookup table based at least in part on a LSW of the address.

10. The method of claim 9 , wherein the pointer is a first pointer that points to a most significant word (MSW) lookup table and said finding further comprises:

accessing a second pointer stored in the MSW lookup table based at least in part on a nibble of a MSW of the address.

11. The method of claim 1 , wherein the packet is a first packet, the information is first information, the address is a first address, and the destination is a first destination, the method further comprising:

receiving a second packet of the stateless protocol, the second packet having a second address of a second destination;

finding second information associated with the second destination, the second information having parameters of the second destination; and

discarding the second packet based at least in part on the parameters of the second destination.

12. The method of claim 1 , wherein the packet is a stateless protocol packet.

13. An apparatus comprising:

an application; and

an accelerator module to be coupled with the application and configured to receive a packet transmitted over a network, the packet having an address of a storage location;

to access a destination context associated with the storage location based at least in part on the address; and

to pass at least a portion of the packet to the application by bypassing at least a portion of a communication stack of the apparatus based at least in part on the destination context.

14. The apparatus of claim 13 , wherein the destination context is localized to only the storage location.

15. The apparatus of claim 13 , wherein the destination context includes a size of the storage location.

16. The apparatus of claim 13 , wherein the destination context includes a starting logical block address of the storage location.

17. The apparatus of claim 13 , wherein the destination context includes a message pointer to point to a packet list of one or more packets that are associated with a single storage protocol message.

18. The apparatus of claim 13 , wherein the accelerator module is configured to access the destination context by being configured to:

access a pointer stored in a least significant word (LSW) lookup table based at least in part on a LSW of the address of the storage location.

19. The apparatus of claim 18 , wherein the pointer is a first pointer that points to a most significant word (MSW) lookup table and the accelerator module is further configured to access the destination context by being configured to:

access a second pointer stored in the MSW lookup table based at least in part on a nibble of a MSW of the address of the storage location.

20. The apparatus of claim 13 , wherein the packet is combined with one or more other packets to form a storage protocol message and the accelerator module is configured to pass the packet to the application by being configured to pass a pointer to the storage protocol message to the application.

21. The apparatus of claim 13 , wherein the accelerator module is further configured to:

receive another packet transmitted over the network in accordance with a stateless transmission protocol, the packet having an another address of another storage location;

to access another destination context associated with the another storage location, the another destination context having parameters of the another storage location; and

to discard the another packet based at least in part on the parameters of the another storage location.

22. The apparatus of claim 13 , wherein the packet is transmitted over the network in accordance with a stateless transmission protocol.

23. An apparatus comprising:

an application;

a communication stack; and

an accelerator module configured to be coupled to the application and the communication stack, and to

receive a first packet and a second packet that respectively include a first address and a second address;

use the first address to access a first destination context that includes parameters of a first destination of the first packet;

provide a storage protocol message to the application, bypassing at least a portion of the communication stack, based on the first packet and the first destination context;

use the second address to access a second destination context that includes parameters of a second destination of the second packet; and

discard the second packet based on the parameters of the second destination.

24. The apparatus of claim 23 , wherein the first destination is a storage area and the parameters of the first destination comprise storage area information including a size of the storage area and a starting logical block address of the storage area.

25. The apparatus of claim 23 , wherein the first address comprises an internet protocol address.

26. The apparatus of claim 23 , wherein the accelerator module comprises a first interface to interface with a lower portion of the communication stack, a second interface to interface with an upper portion of the communication stack, and a third interface to interface with the application.

27. The apparatus of claim 23 , wherein the accelerator module further comprises a security module.

28. The apparatus of claim 23 , wherein the accelerator module comprises a host interface with at least one of the following a bus, PIO lines, an API, and an inter-process communication.

29. The apparatus of claim 23 , wherein the accelerator module is configured to use the first address to access the first destination context by being configured to:

access a pointer stored in a least significant word (LSW) lookup table based at least in part on a LSW of the first address.

30. The apparatus of claim 29 , wherein the pointer is a first pointer that points to a most significant word (MSW) lookup table and the accelerator module is further configured to use the first address to access the first destination context by being configured to:

access a second pointer stored in the MSW lookup table based at least in part on a nibble of a MSW of the first address.

31. The apparatus of claim 23 , wherein the first packet and the second packet to be received are of a stateless protocol.

32. The apparatus of claim 31 , wherein the stateless protocol comprises an internetworking protocol.

33. The apparatus of claim 32 , wherein the stateless protocol includes at least one of the following protocols IPv4, IPv6, UDP, and HTTP.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2022
From: INTELLECTUAL VENTURES ASSETS 177 LLC
To: SERVSTOR TECHNOLOGIES, LLC
Reel/Frame 058537/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2021
From: INTELLECTUAL VENTURES I LLC
To: INTELLECTUAL VENTURES ASSETS 177 LLC
Reel/Frame 057274/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2020
From: RATEZE REMOTE MGMT. L.L.C.
To: INTELLECTUAL VENTURES I LLC
Reel/Frame 052437/0635 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTOR'S NAME FROM WILLIAM R. BABBIT TO WILLIAM R. BABBITT, JR. PREVIOUSLY RECORDED ON REEL 020734 FRAME 0863. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE CORRECT SPELLING OF INVENTOR NAME IS WILLIAM R. BABBITT, JR. Recorded Feb 23, 2010
From: BABBITT, WILLIAM R., JR.
To: ZETERA CORPORATION, DELAWARE CORPORATION
Reel/Frame 023979/0498 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2008
From: ZETERA CORPORATION
To: RATEZE REMOTE MGMT. L.L.C.
Reel/Frame 020866/0888 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2008
From: WARBURG PINCUS PRIVATE EQUITY VIII, L.P.
To: ZETERA CORPORATION
Reel/Frame 020824/0074 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2008
From: CORTRIGHT FAMILY TRUST, DATED MAY 13, 1998
To: ZETERA CORPORATION
Reel/Frame 020824/0376 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2008
From: THE FRANK REVOCABLE LIVING TRUST OF CHARLES W. FRANK AND KAREN L. FRANK
To: ZETERA CORPORATION
Reel/Frame 020823/0949 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2008
From: CORTRIGHT FAMILY TRUST, DATED MAY 13, 1998
To: ZETERA CORPORATION
Reel/Frame 020824/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2008
From: ADAMS, MARK; BABBIT, WILLIAM R.; SHARMA, ROCHAK
To: ZETERA CORPORATION, DELAWARE CORPORATION
Reel/Frame 020734/0863 →
SECURITY AGREEMENT Recorded Oct 5, 2007
From: ZETERA CORPORATION
To: WARBURG PINCUS PRIVATE EQUITY VIII, L.P.
Reel/Frame 019927/0793 →
SECURITY AGREEMENT Recorded Jul 20, 2007
From: ZETERA CORPORATION
To: THE FRANK REVOCABLE LIVING TRUST OF CHARLES W. FRANK AND KAREN L. FRANK
Reel/Frame 019583/0681 →
SECURITY AGREEMENT Recorded Jun 20, 2007
From: ZETERA CORPORATION
To: CORTRIGHT FAMILY TRUST, DATED MAY 13, 1998
Reel/Frame 019453/0845 →