IP Library Granted Patent US 7,921,240
Granted Patent B2
US 7,921,240 · App. 11/155,966 · Granted Apr 5, 2011

Method and system for supporting hardware acceleration for iSCSI read and write operations and iSCSI chimney

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,921,240
App. No.
11/155,966
Granted
Apr 5, 2011
Kind
B2
Abstract

Certain aspects of a method and system for supporting hardware acceleration for iSCSI read and write operations via a TCP offload engine may comprise pre-registering at least one buffer with hardware. An iSCSI command may be received from an initiator. An initiator test tag value, a data sequence value and/or a buffer offset value of an iSCSI buffer may be compared with the pre-registered buffer. Data may be fetched from the pre-registered buffer based on comparing the initiator test tag value, the data sequence value and/or the buffer offset value of the iSCSI buffer with the pre-registered buffer. The fetched data may be zero copied from the pre-registered buffer to the initiator.

Claims (34)

1. A method for handling data by a TCP offload engine, the method comprising:

pre-registering at least one buffer with hardware;

receiving an iSCSI command from an initiator;

comparing a data sequence value of an iSCSI buffer with said pre-registered buffer;

fetching data from said pre-registered buffer based on said comparing; and

zero copying said fetched data from said pre-registered buffer to said initiator.

2. The method according to claim 1 , comprising communicating a request to transmit (R2T) signal transmitted to said initiator.

3. The method according to claim 1 , comprising receiving a transmitted data out signal.

4. The method according to claim 1 , comprising receiving a retransmitted TCP sequence retransmitted by said initiator in response to receiving a first frame of said zero copied fetched data in an iSCSI protocol data unit.

5. The method according to claim 4 , comprising stripping a header from said iSCSI protocol data unit and placing said zero copied fetched data in said iSCSI buffer.

6. The method according to claim 4 , comprising allocating said iSCSI buffer for a next frame of said zero copied fetched data in said iSCSI protocol data unit.

7. The method according to claim 1 , comprising placing said zero copied fetched data into said pre-registered buffer.

8. The method according to claim 1 , comprising generating an out of order message, if frames of said zero copied fetched data are not in order.

9. The method according to claim 1 , comprising communicating a SCSI status signal to said initiator, if frames of said zero copied fetched data are in order.

10. The method according to claim 1 , comprising verifying said zero copied fetched data.

11. The method according to claim 1 , comprising comparing one or both of: an initiator test tag value associated with said initiator and/or a buffer offset value of said iSCSI buffer with said pre-registered buffer.

12. The method according to claim 11 , wherein said comparing one or both of said initiator test tag value associated with said initiator and/or said buffer offset value of said iSCSI buffer with said pre-registered buffer and comparing said data sequence value of said iSCSI buffer with said pre-registered buffer, comprises comparing each of said initiator test tag value associated with said initiator, said data sequence value and said buffer offset value of said iSCSI buffer with said pre-registered buffer.

13. A system for handling data by a TCP offload engine, the system comprising:

a target that is operable to pre-register at least one buffer with hardware;

said target is operable to receive an iSCSI command from an initiator;

said hardware is operable to compare a data sequence value of an iSCSI buffer with said pre-registered buffer;

said hardware is operable to fetch data from said pre-registered buffer based on said comparison; and

said hardware is operable to zero copy said fetched data from said pre-registered buffer to said initiator.

14. The system according to claim 13 , wherein said target is operable to communicate a request to transmit (R2T) signal transmitted to said initiator.

15. The system according to claim 13 wherein said target is operable to receive a transmitted data out signal.

16. The system according to claim 13 , wherein said target is operable to receive a retransmitted TCP sequence retransmitted by said initiator in response to receiving a first frame of said zero copied fetched data in an iSCSI protocol data unit.

17. The system according to claim 16 , wherein said hardware is operable to strip a header from said iSCSI protocol data unit and places said zero copied fetched data in said iSCSI buffer.

18. The system according to claim 16 , wherein said hardware is operable to allocate said iSCSI buffer for a next frame of said zero copied fetched data in said iSCSI protocol data unit.

19. The system according to claim 13 , wherein said hardware is operable to place said zero copied fetched data into said pre-registered buffer.

20. The system according to claim 13 , wherein said hardware is operable to generate an out of order message, if frames of said zero copied fetched data are not in order.

21. The system according to claim 13 , wherein said hardware is operable to communicate a SCSI status signal to said initiator, if frames of said zero copied fetched data are in order.

22. The system according to claim 13 , wherein said hardware is operable to verify said zero copied fetched data.

23. The system according to claim 13 , wherein said hardware is operable to compare one or both of: an initiator test tag value associated with said initiator and/or a buffer offset value of said iSCSI buffer with said pre-registered buffer.

24. The system according to claim 23 , wherein said hardware is operable to compare each of said initiator test tag value associated with said initiator, said data sequence value and said buffer offset value of said iSCSI buffer with said pre-registered buffer.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 47630 FRAME: 344. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 21, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0267 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 9/5/2018 PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0687. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0344 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0687 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2005
From: ZUR, URI EL; FAN, KAN FRANKIE; MCDANIEL, SCOTT STERLING
To: BROADCOM CORPORATION
Reel/Frame 016550/0061 →