System and method for receiving iSCSI protocol data units
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/173
G06F-015/16
출원번호
US-0741681
(2003-12-19)
등록번호
US-7260631
(2007-08-21)
발명자
/ 주소
Johnson,Michael Ward
Currid,Andrew
Kanuri,Mrudula
Minami,John Shigeto
출원인 / 주소
NVIDIA Corporation
대리인 / 주소
Zilka Kotab, PC
인용정보
피인용 횟수 :
28인용 특허 :
143
초록▼
An Internet small computer system interface (iSCSI) system, method and associated data structure are provided for receiving data in protocol data units. After a protocol data unit is received, a data list is identified that describes how the data contained in the protocol data unit is to be stored (
An Internet small computer system interface (iSCSI) system, method and associated data structure are provided for receiving data in protocol data units. After a protocol data unit is received, a data list is identified that describes how the data contained in the protocol data unit is to be stored (i.e. placed, saved, etc.) in memory (i.e. application memory). Further stored is a state of the data list. To this end, the state of the data list is used in conjunction with the storage of data from a subsequent protocol data unit.
대표청구항▼
What is claimed is: 1. An Internet small computer system interface (iSCSI) method for storing a state of a data list, comprising: receiving a protocol data unit including an iSCSI protocol data unit; identifying a data list describing how data in the protocol data unit is to be stored in memory; st
What is claimed is: 1. An Internet small computer system interface (iSCSI) method for storing a state of a data list, comprising: receiving a protocol data unit including an iSCSI protocol data unit; identifying a data list describing how data in the protocol data unit is to be stored in memory; storing the data in the protocol data unit in the memory; storing a state of the data list, where the state of the data list is used in conjunction with storage of data in a subsequent protocol data unit; and extracting and storing information from a header portion of the protocol data unit in a control block; wherein the information stored in the control block is utilized for identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list. 2. The iSCSI method as recited in claim 1, wherein the data list includes a scatter-gather list (SGL). 3. The iSCSI method as recited in claim 1, wherein the data list includes a memory-descriptor list (MDL). 4. The iSCSI method as recited in claim 1, wherein the state is stored using a transport offload engine. 5. The iSCSI method as recited in claim 1, wherein the protocol data unit includes the header portion and a data portion. 6. The iSCSI method as recited in claim 1, wherein the information includes a tag. 7. The iSCSI method as recited in claim 1, wherein the data in at least a segment of the protocol data unit is stored in a buffer if no information is extracted or if the information extracted identifies an invalid data list. 8. The iSCSI method as recited in claim 7, wherein the buffer includes a host buffer. 9. The iSCSI method as recited in claim 7, wherein the buffer includes a transport offload engine buffer. 10. The iSCSI method as recited in claim 1, wherein a valid field is used to determine whether the data list is valid. 11. The iSCSI method as recited in claim 1, wherein the data in segments of the protocol data unit are stored using the data list until an end of the data list is detected. 12. The iSCSI method as recited in claim 11, wherein the data list is retired if the end of the data list is detected prior to the data in all of the segments of the protocol data unit being stored. 13. The iSCSI method as recited in claim 11, wherein the data in the protocol data unit is stored in a buffer if the end of the data list is detected prior to the data in all of the segments of the protocol data unit being stored. 14. The iSCSI method as recited in claim 1, wherein the data in segments of the protocol data unit are stored using the data list until an end of the protocol data unit is detected. 15. The iSCSI method as recited in claim 14, wherein the state of the data list is stored if the end of the protocol data unit is detected. 16. The iSCSI method as recited in claim 1, wherein the state indicates a location in the data list. 17. The iSCSI method as recited in claim 1, wherein if the data in a segment of the protocol data unit is received out-of-sequence, the data in the segment is stored in a buffer. 18. The iSCSI method as recited in claim 1, wherein the memory includes application memory. 19. The iSCSI method as recited in claim 1, wherein the state of the data list is updated after each use of the data list so that the subsequent protocol data unit is capable of using the data list. 20. A method for storing a state of a data list, comprising: receiving an Internet small computer system interface (iSCSI) protocol data unit; identifying a data list describing how data in the protocol data unit is to be stored in memory; storing the data in the protocol data unit in the memory; storing a state of the data list, where the state of the data list is used in conjunction with storage of data in a subsequent protocol data unit; and extracting information from a header portion of the protocol data unit and storing the information in a control block; wherein the information stored in the control block is utilized fox identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list. 21. A transport offload engine sub-system, comprising: a transport offload engine in communication with a processor and a network, the transport offload engine for identifying a data list describing how data in a received Internet small computer system interface (iSCSI) protocol data unit is to be stored in memory, and storing a state of the data list; wherein the state of the data list is used in conjunction with storage of data in a subsequent protocol data unit; wherein information is extracted from a header portion of the protocol data unit and stored in a control block; wherein the information stored in the control block is utilized for identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list. 22. A system, comprising: a processor; a transport offload engine in communication with the processor and a network via a bus, the transport offload engine for identifying a data list describing how data in a received Internet small computer system interface (iSCSI) protocol data unit is to be stored in memory, and storing a state of the data list; wherein the state of the data list is used in conjunction with storage of data in a subsequent protocol data unit; wherein information is extracted from a header portion of the protocol data unit and stored in a control block, wherein the information stored in the control block is utilized for identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list. 23. A data list data structure embodied on a computer readable medium, comprising: a data list object for describing how data in a received Internet small computer system interface (iSCSI) protocol data unit is to be stored in memory; wherein the data list object has stored associated therewith a state of the data list object that is used by a transport offload engine during storage of data in a subsequent protocol data unit; wherein information is extracted from a header portion of the protocol data unit and stored in a control block; wherein the information stored in the control block is utilized for identifying the data list object for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list object. 24. A method for use in association with a transport offload engine, comprising: receiving an Internet small computer system interface (iSCSI) protocol data unit, the protocol data unit including a header portion and a data portion; extracting information from the header portion of the protocol data unit, the information including a tag; determining whether to store data in the protocol data unit using a buffer or a data list based on the information; if it is determined that the data in the protocol data unit is to be stored using the buffer: storing the header portion of the protocol data unit in the buffer, and sending a status message to a processor; and if it is determined that the data in the protocol data unit is to be stored using the data list: identifying the data list based on the information, the data list describing how the data in the protocol data unit is to be stored in memory, identifying a state of the data list, storing the data in segments of the protocol data unit in the memory based on the state, repeating the storing until all of the data in the segments of the protocol data unit are stored, and if all of the data in the segments of the protocol data unit are stored, storing the state of the data list; wherein the state of the data list is used in conjunction with the storage of data in a subsequent protocol data unit; wherein the information from the header portion of the protocol data unit is stored in a control block; wherein the information stored in the control block is utilized for identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list. 25. The method as recited in claim 24, wherein the buffer includes a host buffer. 26. The method as recited in claim 24, wherein the buffer includes a transport offload engine buffer. 27. An Internet small computer system interface (iSCSI) method, comprising: receiving a protocol data unit including an iSCSI protocol data unit; storing at least a portion of the protocol data unit in memory; storing a state, where the state is used in conjunction with handling of a subsequent protocol data unit; and extracting information from a header portion of the protocol data unit and storing the information in a control block; wherein the information stored in the control block is utilized for identifying a data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (143)
Bennett Toby D. ; Davis Donald J. ; Harris Jonathan C. ; Miller Ian D., Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently.
Coelho Rohan G. F. (Portland OR) Packer Alan (Portland OR) Baldes Gary (Hillsboro OR) Frank Davis W. (Oakland CA) Gerber Richard (Hillsboro OR) Yee Wendy (Beaverton OR) Johnson Louis (Aloha OR) Croni, Computer architecture for creating and manipulating displayable objects.
Gulick Dale ; Lambrecht Andy ; Webb Mike ; Hewitt Larry ; Barnes Brian, Computer system and method for transferring commands and data to a dedicated multimedia engine.
Liu Chang-Chi ; Su Ming-Chang,TWX ; Lee Jung-Yu,TWX, Expandable integrated circuit multiport repeater controller with multiple media independent interfaces and mixed media.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Fast-path apparatus for receiving data corresponding to a TCP connection.
Chang Paul (Peekskill NY) Delp Gary S. (Yorktown Heights NY) Meleis Hanafy E.-S. (Yorktown Heights NY) Montalvo Rafael M. (Yorktown Heights NY) Seidman David I. (New York NY) Tantawy Ahmed N.-E.-D. (, Generic high bandwidth adapter providing data communications between diverse communication networks and computer system.
Feitelson Dror Gershon ; Fitch Blake Gordon ; Giampapa Mark Edwin, Graphical user interface for managing text i/o between a user and a parallel program.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, Intelligent network interface device and system for accelerated communication.
Boucher, Laurence B.; Philbrick, Clive M.; Starr, Daryl D.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A., Intelligent network interface system and method for accelerated protocol processing.
Boucher Laurence B. ; Blightman Stephen E. J. ; Craft Peter K. ; Higgen David A. ; Philbrick Clive M. ; Starr Daryl D., Intelligent network interface system method for protocol processing.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, Intelligent network interfaced device and system for accelerated communication.
Swales Andrew G. ; Naismith Ronald ; Breinlinger Richard ; Baker ; Jr. Richard Albert ; Papadopoulos A. Dean ; Tanzman Allan ; Belliardi Rodolfo G. ; Dube Dennis J. W., Internet web interface including programmable logic controller for controlling output devices based on status of input devices.
Sambamurthy Namakkal S. ; Tripathi Devendra K. ; Deb Alak K. ; Truong Linh Tien ; Kumar Praveen D., Media access control receiver and network management system.
Osman Fazil I. (Escondido CA) Grow Robert M. (San Diego CA) Perloff Ronald S. (Poway CA) Moyers Roger S. (San Diego CA) Cordes Sally (Escondido CA) Pollack Lawrence J. (San Diego CA), Method and apparatus for assisting data bus transfer protocol.
Chen Cheng T. (Marlboro NJ) Best Reginald P. (Somerset NJ) Brennan Daniel M. (Hillsdale NJ), Method and apparatus for asynchronous PPP and synchronous PPP conversion.
Joffe Rodney Lance ; Dykes Barry A. ; Brittain Jason Alan ; Oppleman Victor Joseph ; Pettingell Brian Everett ; Lippard James Joseph ; Vandeventer Ian Burke ; Watson Brett Dean ; Hotz Steven Michael , Method and apparatus for balancing the process load on network servers according to network and serve based policies.
Ng, Yu Kwong, Method and apparatus for generating and checking cyclic redundancy code (CRC) values using a multi-byte CRC generator on a variable number of bytes.
Aaker Kenneth Dale ; Delp Gary Scott ; Sendelbach Lee Anton ; Slane Albert Alfonse, Method and apparatus for producing transmission control protocol checksums using internet protocol fragmentation.
Torres Robert J. (6100 Meadowhill Dr. Colleyville TX 76034), Method and apparatus for searching a large volume of data with a pointer-based device in a data processing system.
Dolin ; Jr. Robert A. (Menlo Park CA) Einkauf Robert L. (Fremont CA) Kagan Richard S. (London CA GB2) Riley Glen M. (Los Gatos CA) Von De Bur James M. (San Jose CA), Method and apparatus using network variables in a multi-node network.
Hyder Jameel ; Brandon Kyle ; Srinivas Nk ; Gamache Rod, Method and computer program product for reducing intra-system data copying during network packet processing.
Stucka Joan E. (Boulder CO) Wiss Richard (Boulder CO), Method and system for dynamically sharing user interface displays among a plurality of application program.
Koppolu Srinivasa R. (Redmond WA) Hodges C. Douglas (Redmond WA) MacKichan Barry B. (Bainbridge Island WA) McDaniel Richard (Pittsburg PA) Remala Rao V. (Woodinville WA) Williams Antony S. (Redmond W, Method and system for in-place interaction with contained objects.
Cooke Laurence H. ; Phillips Christopher E. ; Wong Dale, Method for compiling high level programming languages into an integrated processor with reconfigurable logic.
Alferness Merwin H. (New Brighton MN) Criswell Peter Bradley (Bethel MN) Johnson David Randal (Oakdale MN) McBreen James R. (Shoreview MN), Method for generating an internet protocol suite checksum in a single macro instruction.
Burton Richard J. (Buford GA) Copeland ; III John A. (Dunwoody GA) Jerrim John W. (Duluth GA) Nixon Toby L. (Duluth GA) Sauser ; Jr. Martin H. (Atlanta GA) Weatherford ; Jr. Robert E. (Norcross GA) B, Method for sending a plurality of data channels over a single communications line.
Dobbins Kurt ; Andlauer Phil ; Oliver Chris ; Parker Tom ; Grimes Andy ; Nutbrown Bruce ; Hullette Dan ; Dev Roger ; Jeffords Jason, Method of transmitting data packets in a packet switched communications network.
Michael K. Brown ; Paul Chieffo ; John J. Platko, Multicast direct memory access storing selected ones of data segments into a first-in-first-out buffer and a memory simultaneously when enabled by a processor.
Minami John Shigeto ; Koyama Ryo ; Johnson Michael Ward ; Shinohara Masaru ; Poff Thomas C. ; Burkes Daniel F., Multiple network protocol encoder/decoder and data processor.
Flanders John A. ; Ross Ryan T. ; Townsend William D. ; Lamaire Thomas A. ; Radogna Thomas V. ; Bailey Brian W. ; Sousa Marc D., Multiple protocol support.
Bach Maurice J. (Haifa ILX) Hoppes Robert B. (Hyde Park NY) Meltzer Clifford B. (Ossining NY) Parchinski Kenneth J. (Wappingers Falls NY) Whelan Gary J. (Rhinebeck NY), Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier.
Savitzky Stephen R. ; Roth Rithy K. ; Jeng Tina L. ; Hart Peter E. ; Golding Richard, Object-oriented communication system with support for multiple remote machine types.
Cabral Arthur W. (Sunnyvale CA) Jain Rajiv (Sunnyvale CA) Howard Maire L. (San Jose CA) Peterson John (Menlo Park CA) Webb Richard D. (Sunnyvale CA) Seidl Robert (Palo Alto CA), Object-oriented graphic system.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Obtaining a destination address so that a network interface device can write network data without headers directly into host memory.
Narad Charles E. ; Fall Kevin ; MacAvoy Neil ; Shankar Pradip ; Rand Leonard M. ; Hall Jerry J., Packet processing system including a policy engine having a classification unit.
Row Edward J. (Mountain View CA) Boucher Laurence B. (Saratoga CA) Pitts William M. (Los Altos CA) Blightman Stephen E. (San Jose CA), Parallel I/O network file server architecture.
Boucher Laurence B. ; Blightman Stephen E. J. ; Craft Peter K. ; Higgen David A. ; Philbrick Clive M. ; Starr Daryl D., Passing a communication control block from host to a local device such that a message is processed on the device.
Boucher Laurence B. ; Blightman Stephen E. J. ; Craft Peter K. ; Higgen David A. ; Philbrick Clive M. ; Starr Daryl D., Passing a communication control block from host to a local device such that a message is processed on the device.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, Passing a communication control block to a local device such that a message is processed on the device.
Lampson Butler W. (Cambridge MA) Hawe William R. (Pepperell MA) Gupta Amar (Northboro MA) Spinney Barry A. (Wayland MA), Pipelined cryptography processor and method for its use in communication networks.
Craft, Peter K.; Philbrick, Clive M.; Boucher, Laurence B.; Starr, Daryl D.; Blightman, Stephen E. J.; Higgen, David A., Port aggregation for network connections that are offloaded to network interface devices.
Craft, Peter K.; Philbrick, Clive M.; Boucher, Laurence B.; Higgen, David A., Protocol processing stack for use with intelligent network interface device.
Craft, Peter K.; Philbrick, Clive M.; Boucher, Laurence B.; Higgen, David A., Protocol processing stack for use with intelligent network interface device.
Peter K. Craft ; Olive M. Philbrick ; Laurence B. Boucher ; David A. Higgen, Protocol processing stack for use with intelligent network interface device.
Rostoker Michael D. (Boulder Creek CA) Stelliga D. Tony (Pleasanton CA) Paolino Dave (Andover MA) Engelse Willem A. H. (Townsend MA), Random number generating apparatus for an interface unit of a carrier sense with multiple access and collision detect (C.
Blightman,Stephen E. J.; Boucher,Laurence B.; Craft,Peter K.; Higgen,David A.; Philbrick,Clive M.; Starr,Daryl D., Reducing delays associated with inserting a checksum into a network message.
David A. Burns ; Benjamin L. Dagana ; Christopher J. Harrer ; Dung M. Luu ; Todd A. Matters ; Michael S. Miles ; Barry E. Blust ; Thomas J. Schneider ; Thomas V. Connors, Split data path distributed network protocol.
Schrier Evan J. (Kirkland WA) Reardon Thomas R. (Seattle WA) Ogus Aaron W. (Kirkland WA), System and method for running multiple incompatible network protocol stacks.
Schrier Evan J. (Kirkland WA) Reardon Thomas R. (Seattle WA) Ogus Aaron W. (Kirkland WA), System and method for running multiple incompatible network protocol stacks.
Swales Andrew G. ; Papadopoulos A. Dean ; Tanzman Allan, System for a modular terminal input/output interface for communicating messaging application layer over encoded ethernet to transport layer.
Yokoyama Tatsuya (Sagamihara JPX) Hirata Tetsuhiko (Yokohama JPX) Mizutani Mika (Tokyo JPX) Takada Osamu (Sagamihara JPX), System for executing high speed communication protocol processing by predicting protocol header of next frame utilizing.
Jolitz William Frederick ; Lawson Matthew Todd ; Jolitz Lynne Greer, TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, TCP/IP offload network interface device.
Baum Marc S. (Chicago IL) Suffern Robert C. (Chicago IL) Balton Donald (Skokie IL) Schoo Daniel L. (Island Lake IL) Jankus Peter P. (Chicago IL) Tzeng Lih-Shyng (Arlington Heights IL) Jones Terrel (D, Telephone call routing and switching techniques for data communications.
Baum Marc S. ; Suffern Robert C. ; Balton Donald ; Schoo Daniel L. ; Jankus Peter P. ; Tzeng Lih-Shyng ; Jones Terrel, Telephone call routing and switching techniques for data communications.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Transmit fast-path processing on TCP/IP offload network interface device.
Michailidis, Dimitrios; Noureddine, Wael; Marti, Felix A.; Eiriksson, Asgeir Thor, Intelligent network adaptor with adaptive direct data placement scheme.
Eiriksson, Asgeir Thor; Chen, Shenze; Kaplan, Patricio Fernando; Smith, George E., Scalable direct memory access using validation of host and scatter gather engine (SGE) generation indications.
Johnson, Michael Ward; Currid, Andrew; Kanuri, Mrudula; Minami, John Shigeto, Sequence tagging system and method for transport offload engine data lists.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.