Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Page images | Web History | Sign in

Patents

  
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]

400 \ 402 \ SCSI Driver 404 iSCSI Driver TCP/IP / TOE/RDMAWrapper NDIS 410 I

[graphic]
[graphic]

Network Driver 418 K

[graphic]

412

[graphic]

406

408

414

[merged small][graphic][graphic][graphic][graphic]

416

Hardware + iSCSI Digest

[graphic]
[merged small][merged small][graphic][merged small][graphic][graphic][graphic][graphic][merged small][merged small][graphic][merged small][subsumed][graphic][subsumed]

NO
Parse PDU to identify

Hardware processes TCP BHS, AHS and payload fl 516 boundaries

522

[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]

Hardware processes TCP . 525 . . and zero copies data into \, Place data digest for PDU in TEMP and place cf::cFL,€:f:nedade;:'i%f:t iSCSI buffer payload in driver buffer d . pa nver 518 528 T 524 K \—-| Driver processes iSCSI PDU header 534 530 Final digest value is Strip iSCSI header, place data No Has header passed to driver in iSCSI buffer, hardware strips markers digest failed‘? M 536 T YES

[graphic]

iSCSI provides buffer for next frame in PDU I 532

538 T
\l

[graphic]
[graphic]

Driver posts buffer to hardware I

[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic][graphic][graphic]
[graphic]
[graphic]
[graphic]
[graphic]

A 542 V 540 L re received data Driver indicates Out of frames in order? Order message 546 I Target transmits SCSI status to initiator |-/ H I ardware passes temporary digest value 543 to driver initiator processes status and verifies all data \ received 544 C

[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic][graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]

S619 ISCSI ITT=1 Cmd Chain 6?? CmdSn=101 621\ Buf=B1, R k\ ITT=1 622 ~ K lTT=3 CmdSn=103 ISCSI V627 ISCSI ISCSI Addr Len BLlf=B3, R + Status PDU Chain / Rx Message Chain Completion Chain 2 601 -618 'TT=2 'TT=1 628 Fixed size /636 'TT:1 /83 602 / SCSI Request List B4 62<3 CmdSn=1n2 Buf:B2 CDB1 // bufier ‘ \e = C as =101 R \I ITT=4, CDB4,Wunsol I—>I I 624 WSOI‘ R2T’ TTT 1 m n 630 /’ \ t ||"|'=4 ITT=2 / . . |TT=3 644 610 \ CmdSn=104 CD B2 J med 8'29 Status ) 604 _ B3 612 Status=OK CmdSn=102 W 632 buffer Sense J ITT-31 CD531 R I—>I I M 625 ||"|'=3 / . . ITT=4 646 606 \\ Async Msg CDB3 // Flxed slze Status ' \ B2 614 CmdSn-103 R buffer / Sense J \\ _ _ ,2 _ I ITT-2, CDB2, W Sei, TTT-1 I>I I P 626 |TT=2 ITT=4 634 Fixed size 6&1 ISTT=2 . ‘\, CmdSn=102 CD B4 i/, tatus 648 60.8 B1 61,6 Status=OK TTT=1 CmdSn=104 R buffer Sense J \I ITT=1, CDB1, R I—fl I I/ ' ‘\- \- 642 ISCSI upper layer I I 635 4 ' B2 664 Data acceleration layer + + I I \ 66§\ \\TTT=1, Ii-I=2, CmdSn=102,DataSh K/ 668 /’ - 67/O \\iSCS| Request Table /.660 //658 /7 656 /7654 652 \\ Receive Mm 663 6652 bbbl Cmd DU I I l=Z UU I I |=A IJU ll l=Z m bdbl Cmd bbbl LITICI 650 S _2000 690 \ ITT=4 DataSn=2 DataSn=1 DataSn=0 |TT=3 ITT=2 ITT=1 / Ceh‘I;n:D| /I CDB4 F=i F=0 F=0 CDB3 CDB2 CDB1 TCP Tx Len_=800 TTT=1, ITT=2, 696 Transition CShe‘I_Eg%0P 892 ISCSI R2T F=0 DataSn=O // 689 am- / Chain Offset=0 I Len=3400 TTT=1, ITT=2, 698 \\ Seq=6200 G94 F=0 DataSn=1 /’ Chain=D| / 695 OfiSet=1400 / |_en=2()() \ TTT=1, ITT=2, 699 672 674 \\ \\ F=0 DataSn=2 i//) \\ \\ 676 \\ 678 \\ 680 \\ oIIsei=94nn \ D‘ SCSI Rsp D‘ D"RSp R2T D‘ SCSI Rsp SCSI Rsp ITT=1 _ lTT=3 lTT=3 _ ITT=4 _ _ _ ITT-I _ _ ITT-2 _ ITT-4 Async Msg ITT-2 DataSn-0 DataSn-0 DataSn-1 _ DataSn-0 F:1 Status F:0 F:1 Status R2TSn—0 F:0 Status Status I I \ Transmit ISCSI PDU FIG 6 \-SS2 ‘\ 684 \ 686 \- 688 <\ _

810 L was zmz ‘SI Xvw IuatedSn

ZH 8Z6‘08I‘8 Sfl

[merged small][merged small][merged small][merged small][merged small][merged small][graphic][graphic][graphic][graphic][graphic][merged small][graphic][graphic][graphic][subsumed][graphic][subsumed][merged small][graphic][merged small][graphic][graphic][merged small][graphic][graphic][merged small]
[graphic]

Hardware processes TCP strips iSCSI header if present and zero copies payload into _/

[graphic]
[graphic]
[graphic]
[graphic]
[graphic]

iSCSI buffer i oes receive - 722 (If digest enabled, partial data plug the TCP hole digest calculated and stored) now all PDU's frames in

[graphic]

[ Driver processes iSCSI PDU header

L 726 Strip iSCSI header, place data in iSCSI buffer or send J data to hardware for in-order processing

[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]
[graphic]

V 728 ii HON
Wait for next segmet

[graphic]
[graphic]
[graphic]

732

[merged small][merged small][merged small][merged small][merged small][graphic][graphic][graphic][graphic]

1 METHOD AND SYSTEM FOR SUPPORTING READ OPERATIONS WITH CRC FOR ISCSI AND ISCSI CHIMNEY

CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE

The present application is a continuation-in-part of application No. 10/652,267 filed on Aug. 29, 2003 now U.S. Pat. No. 7,346,701, Which makes reference to, claims priority to and claims benefit from U.S. Provisional Patent Application Ser. No. 60/408,617 filed on Sep. 6, 2002, U.S. Provisional Patent Application Ser. No. 60/407,165 filed on Aug. 30, 2002, U.S. Provisional Patent Application Ser. No. 60/456, 260 filed on Mar. 20, 2003 and U.S. Provisional Patent Application Ser. No. 60/456,265 filed on Mar. 20, 2003.

This application also makes reference to, claims priority to, and claims the benefit of:

U.S. Provisional Patent Application Ser. No. 60/580,977 filed

Jun. 17, 2004; and U.S. Provisional Patent Application Ser. No. 60/660,750 filed

Mar. 11, 2005.

The following application makes reference to:

U.S. patent application Ser. No. 11/156,289 filed Jun.

2005;

U.S. patent application Ser. No. 11/156,182 filed Jun.

2005;

U.S. patent application Ser. No. 11/156,182 filed Jun.

2005; and U.S. patent application Ser. No. 11/155,966 filed Jun.

2005.

Each of the above stated applications is hereby incorporated herein by reference in its entirety.

17, 17, 17,

17,

FIELD OF THE INVENTION

Certain embodiments of the invention relate to networking systems, methods and architectures. More specifically, certain embodiments of the invention relate to a method and system for supporting iSCSI read operations With a cyclic redundancy check (CRC) and iSCSI chimney.

BACKGROUND OF THE INVENTION

Innovations in data communications technology, fueled by bandwidth-intensive applications, have led to a ten-fold improvement in networking hardware throughput occurring about every four years. These network performance improvements, which have increased from 10 Megabits per second (Mbps) to 100 Mbps, and now to 1-Gigabit per second (Gbps) with 10-Gigabit on the horizon, have outpaced the capability of central processing units (CPUs). To compensate for this dilemma and to free up CPU resources to handle general computing tasks, offloading Transmission Control Protocol/ Internet Protocol (TCP/IP) functionality to dedicated network processing hardware is a fundamental improvement. TCP/IP chimney oflioad maximizes utilization of host CPU resources for application workloads, for example, on Gigabit and multi-Gigabit networks.

TCP/IP chimney oflioad provides a holistic technique for segmenting TCP/IP processing into tasks that may be handled by dedicated network processing controller hardware and an operating system (OS). TCP/IP chimney oflioad redirects most of the TCP/IP related tasks to a network controller for processing, which frees up networking-related CPU resources overhead. This boosts overall system performance,

20

25

30

35

40

45

55

60

2

and eliminates and/or reduces system bottlenecks. Additionally, TCP/IP chimney oflioad technology will play a key role in the scalability of servers, thereby enabling next-generation servers to meet the performance criteria of today’s highspeed networks such as Gigabit Ethernet (GbE) networks.

Although TCP/IP oflioad is not a new technology, conventional TCP/IP oflioad applications have been platform specific and were not seamlessly integrated with the operating system’s networking stack. As a result, these conventional oflioad applications were standalone applications, which were platform dependent and this severely affected deployment. Furthermore, the lack of integration within an operating system’s stack resulted in two or more independent and different TCP/IP implementations running on a single server, which made such systems more complex to manage.

TCP/IP chimney oflioad may be implemented using a PCbased or server-based platform, an associated operating system (OS) and a TCP oflioad engine (TOE) network interface card (N IC). The TCP stack is embedded in the operating system of a host system. The combination of hardware oflioad for performance and host stack for controlling connections, results in the best OS performance while maintaining the flexibility and manageability of a standardized OS TCP stack. TCP/IP chimney oflioad significantly boosts application performance due to reduced CPU utilization. Since TCP/IP chimney oflioad architecture segments TCP/IP processing tasks between TOE’s and an operating system’s networking stack, all network traflic may be accelerated through a single TCP/IP chimney oflioad compliant adapter, which may be managed using existing standardized methodologies. Traditional TCP oflioad as well as TCP chimney offload are utilized for wired and wireless communication applications.

Internet Small Computer System Interface (iSCSI) is a TCP/IP-based protocol that is utilized for establishing and managing connections between IP-based storage devices, hosts and clients. The iSCSI protocol describes a transport protocol for SCSI, which operates on top of TCP and provides a mechanism for encapsulating SCSI commands in an IP infrastructure. The iSCSI protocol is utilized for data storage systems utilizing TCP/IP infrastructure.

Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.

BRIEF SUMMARY OF THE INVENTION

A method and/or system for supporting iSCSI read operations with a cyclic redundancy check (CRC) and iSCSI chimney, substantially as shown in and/ or described in connection with at least one of the figures, as set forth more completely in the claims.

These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary system illustrating an iSCSI storage area network principle of operation that may be utilized in connection with an embodiment of the invention.

« PreviousContinue »