CN1818890A - 用于实现卸载发起方功能的方法和系统 - Google Patents
用于实现卸载发起方功能的方法和系统 Download PDFInfo
- Publication number
- CN1818890A CN1818890A CNA2006100019357A CN200610001935A CN1818890A CN 1818890 A CN1818890 A CN 1818890A CN A2006100019357 A CNA2006100019357 A CN A2006100019357A CN 200610001935 A CN200610001935 A CN 200610001935A CN 1818890 A CN1818890 A CN 1818890A
- Authority
- CN
- China
- Prior art keywords
- iscsi
- data
- rdma
- scsi
- initiator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种包括使用用于远程直接存储器访问(RDMA)功能的启用远程直接存储器访问的网络接口控制器(RNIC)机制来实现互联网小型计算机系统接口(iSCSI)卸载发起方功能的方法和系统。
Description
技术领域
本发明一般地涉及主计算机与输入/输出(I/O)设备之间的通信协议,更具体地说,涉及借助远程直接存储器访问(RDMA)的iSCSI(互联网小型计算机系统接口)卸载(offload)实现。
背景技术
远程直接存储器访问(RDMA)是一种通过高速传输高效移动数据的技术。RDMA使得计算机能够在所需存储器总线带宽和CPU处理开销最小的情况下直接将信息放置在另一计算机的存储器中,同时保留存储器保护语义。RNIC是一种向客户提供RDMA服务的网络接口卡。RNIC可以在TCP(传输控制协议)上为RDMA提供支持。
RNIC的许多重要功能之一是它可以用作iSCSI(互联网小型计算机系统接口)目标或发起方(initiator)适配器。iSCSI将术语发起方和目标定义为如下:“发起方”指SCSI命令请求方(例如,主机),而“目标”指SCSI命令响应方(例如,诸如SCSI驱动器承载器(carrier)、磁带之类的I/O设备)。RNIC还可以提供iSER(“用于RDMA的iSCSI扩展”)服务。iSER是iSCSI的数据传输模型的扩展,其使得iSCSI协议能够利用RDMA协议的直接数据放置技术。iSER数据传输协议允许带有RNIC的iSCSI实现具有达到真正零复制行为(通过消除TCP/IP处理开销)的数据传输,同时保留与iSCSI基础结构的兼容性。iSER使用RDMA有线协议,并且对远程侧(目标或发起方)是不透明的。它还略为更改或修改了RDMA上的iSCSI实现;例如,它除去了诸如数据出(DataOut)和数据入(DataIn)之类的iSCSI PDU,并且改为使用RDMA读取和RDMA写入消息。基本上,iSER将类似于iSCSI的功能展示给上层,但是数据移动的协议和有线协议是不同的。
iSCSI协议交换iSCSI协议数据单元(PDU)以执行由SCSI层提供的SCSI命令。iSCSI协议可以允许从本地附加的SCSI存储设备到远程附加的SCSI存储设备的无缝过渡。iSCSI服务可以提供iSCSI功能的部分卸载,卸载的级别与实现相关。简言之,iSCSI使用常规的TCP连接,而iSER在RDMA上实现iSCSI。iSER使用RDMA连接并利用不同的RDMA功能来实现更好的恢复功能,改进了等待时间和性能。由于RNIC同时支持iSCSI和iSER服务,它使得SCSI能够与支持不同级别的iSCSI实现的设备进行通信。在iSCSI登录阶段执行协议选择(iSCSI对iSER)。
RDMA使用操作系统编程接口(称为“verbs”)来将工作请求(WR)放置到工作队列上。美国专利申请20040049600(Boyd等人,受让给国际商业机器公司)中描述了使用工作请求实现iSER的一个实例。在该申请中,可以在来自主机的网络卸载引擎中接收包括iSCSI命令的工作请求,并且响应于接收到该工作请求,可以在转换表中登记与所述主机关联的存储器区域。如在RDMA中,可以通过发送队列接收所述工作请求,并且响应于登记所述存储器区域,一个完成队列元素可以被放置在完成队列上。
发明内容
如下文中更详细地描述的,本发明寻求提供一种借助RNIC的高效iSCSI卸载实现,以及使用为RDMA开发的RNIC机制来达到此卸载级别。
按照本发明,可以使用用于RDMA功能的即刻可用的RNIC机制来实现所述iSCSI卸载功能。对于RDMA写操作,这包括但不限于,以任何顺序和任何SCSI缓冲区偏移量的到预先登记的SCSI缓冲区的数据入和数据出有效负载的远程直接数据放置。对于RDMA读请求,可以使用相同的机制来处理入站R2T(“准备传输”)PDU,并生成数据出PDU。例如,可以使用接收队列和共享接收队列来放置控制iSCSI PDU。
根据本发明的第一方面公开了一种方法,所述方法包括:
使用用于RDMA(远程直接存储器访问)功能的RNIC(启用远程直接存储器访问的网络接口控制器)机制来实现iSCSI(互联网小型计算机系统接口)卸载发起方功能。
根据本发明的第二方面公开了一种计算机程序产品,所述计算机程序产品包括:
使用用于RDMA功能的RNIC机制来实现iSCSI卸载发起方功能的指令。
根据本发明的第三方面公开了一种系统,所述系统包括:
RDMA服务单元;
RDMA消息传送单元,所述RDMA消息传送单元可操作以处理入站和出站RDMA消息,并且使用由所述RDMA服务单元提供的服务来执行直接放置和传递操作;以及
iSCSI消息传送单元,所述iSCSI消息传送单元可操作以执行iSCSI卸载发起方功能并处理入站和出站iSCSI PDU,所述iSCSI消息传送单元适合于使用由所述RDMA服务单元提供的服务来执行将由所述PDU携带的iSCSI有效负载直接放置和传递到登记的SCSI缓冲区。
附图说明
通过以下结合附图的详细描述可以更充分地理解并认识本发明,这些附图是:
图1是SCSI写入和SCSI读取事务的简化流程图;
图2是示出了排序规则和SCSI命令的iSCSI协议的简化流程图;
图3是根据本发明的一个实施例的分布式计算机系统的简化方块图;
图4是根据本发明的一个实施例的用于实现iSCSI卸载功能的RDMA机制的简化方块图;
图5是RDMA的远程存储器访问操作(读取和写入)的简化流程图;
图6是根据本发明的一个实施例的可以同时实现本地和远程地访问系统存储器的RDMA中的存储器登记的简化流程图;
图7和8分别是根据本发明的一个实施例的由支持RNIC的RDMA进行的iSCSI数据移动操作的卸载的简化方块图和流程图;
图9是根据本发明的一个实施例的使用基于RDMA的iSCSI卸载实现的软件结构的简化方块图;
图10是根据本发明的一个实施例的在没有硬件/软件交互的情况下到SCSI缓冲区的iSCSI数据移动PDU的直接数据放置的简化流程图;
图11A和11B形成了根据本发明的一个实施例的处理数据入和RNIC请求的数据出以及执行到登记的SCSI缓冲区的由那些PDU携带的iSCSI有效负载的直接数据放置的简化流程图;以及
图12是根据本发明的一个实施例的处理硬件中的入站R2T以及生成数据出PDU的简化流程图。
具体实施方式
为了更好地理解本发明,现在提供了对iSCSI数据移动和卸载功能的一般性说明(参考图1和图2)。此后,将说明使用RDMA verb和机制(从图4及以上)在分布式计算机系统(参考图3描述)中实现iSCSI数据移动和卸载功能。
iSCSI协议交换iSCSI协议数据单元(PDU)以执行由SCSI层提供的SCSI命令。iSCSI协议实现了从本地附加的SCSI存储设备到远程附加的SCSI存储设备的无缝过渡。
有两个主要的iSCSI PDU组:iSCSI控制和iSCSI数据移动PDU。iSCSI控制定义了多种类型的控制PDU,如SCSI命令、SCSI响应、任务管理请求。数据移动PDU是一个较小的组,其包括但不限于R2T(准备传输)、SCSI数据出(请求的和未经请求的)以及SCSI数据入PDU。
如上所述,“发起方”指SCSI命令请求方(例如,主机),而“目标”指SCSI命令响应方(例如,诸如SCSI驱动器承载器、磁带之类的I/O设备)。通过那些由发起方生成并由目标处理以及那些由目标生成并由发起方处理的命令,可以划分所有iSCSI控制和数据移动命令。
现在参考图1,其分别示出了SCSI写入和SCSI读取事务的流程。
在SCSI写入流程中,发起方向目标发送SCSI写入命令(由标号101指示)。此命令除了其他字段外还携带有发起方任务标记(ITT),其标识了应被放置到盘(或目标的其他部分)的SCSI缓冲区。SCSI写入命令还可以携带即时数据,其最大大小可以在iSCSI逻辑阶段进行协商。此外,SCSI写入命令可以后跟所谓的未经请求的数据出PDU。由目标传输标记(TTT)来标识未经请求的数据出PDU,在此情况下,TTT应等于0xFFFFFFFF。未经请求的数据的大小也在iSCSI登录阶段进行协商。这两种数据传输模式能够减少短SCSI写入操作上的等待时间,尽管这同样也可以被用来在大型事务中传输初始数量的数据。在未经请求或即时模式中可以传输的最大数据大小取决于目标的缓冲能力。
在目标接收到SCSI写入命令后,目标响应以一个或多个R2T(由标号102指示)。每个R2T都指示目标已准备好从SCSI缓冲区(无需按次序)中的指定偏移处接收指定量的数据。R2T携带两个标记:来自SCSI命令的ITT和指示数据将被放置到其中的目标缓冲区的TTT。
对于每个接收到的R2T,发起方可以发送一个或多个数据出PDU(由标号103指示)。数据出PDU携带有来自SCSI缓冲区(由ITT指示)的数据。每个接收到的数据出都携带有指示在何处放置数据的TTT。最后接收到的数据出还携带有F-位(由标号104指示)。此位指示已接收到最后的数据出,并且这通知目标R2T交换已完成。
当已通知目标所有R2T都已经完成时,目标发送一个SCSI响应PDU(由标号105指示)。所述SCSI响应携带有ITT并指示是否成功地完成了SCSI写入操作。
在SCSI读取流程中,发起方将SCSI读取命令发送给目标(由标号106指示)。此命令除了其他字段外还携带有ITT,所述ITT标识了从该处读取数据的SCSI缓冲区。
所述目标可以响应以一个或多个数据入PDU(由标号107指示)。每个数据入都携带有将被放置在SCSI缓冲区中的数据。数据入可以以任意顺序到达,并且可以具有任意大小。每个数据入都携带有ITT,该ITT标识了SCSI缓冲区和将数据放置到该处的缓冲区偏移量。
数据入PDU流后跟SCSI响应(由标号108指示)。SCSI响应携带有指示是否成功地完成了SCSI读取操作的ITT。
注意,根据本发明的一个实施例,与现有技术不同,RNIC处理数据出和数据入以及R2T的流程。
现在参考图2,其示出了iSCSI协议的一个实例。iSCSI协议具有明确定义的排序规则。iSCSI任务(标号201)包括一个或多个SCSI命令202。在任意给定时刻,iSCSI任务201可以具有单个未完成的命令202。每个任务201由ITT 203来标识。单个iSCSI连接可以具有多个未完成的iSCSI任务。iSCSI任务201的PDU 204可以在连接流中交织。每个iSCSI PDU204可以携带有若干序列号。与数据移动PDU有关的序列号包括但不限于R2TSN(R2T序列号)、DataSN和ExpDataSN,以及StatSN和ExpStatSN。
每个携带数据(数据出和数据入)的iSCSI PDU 204都携带有DataSN。对于数据入,所述DataSN对于每个SCSI读取命令可以从0开始,并且可以随每个发送的数据入由目标来递增。紧随数据入之后的SCSI响应PDU携带有ExpDataSN,其指示了为每个相应的SCSI命令发送的数据入的数量。对于双向SCSI命令,所述DataSN被数据入和R2T共享,其中所述R2T携带R2TSN而不是DataSN,但这些是用于同一字段的不同名称,它们在iSCSI标头(BHS-缓冲区段处理堆栈)中具有相同的位置。
对于数据出,所述DataSN对于每个R2T都可以从0开始,并且可以随每个发送的数据出由发起方来递增。R2TSN可以由R2T来携带。对于每个SCSI写入命令,R2TSN可以从0开始,并且可以随每个发送的R2T由目标来递增。
DataSN和R2TSN都可以被用来遵循接收的数据移动PDU的次序。注意,iSCSI允许乱序放置接收的数据,以及乱序执行R2T。但是,iSCSI从发起方和目标来请求实现以防止放置已被放置的数据或执行已被执行的R2T。
StatSN和ExpStatSN可以被用于目标响应缓冲区的管理。目标可以随每个生成的响应来递增StatSN。所述响应以及可能用于该命令中的数据可以被保存在内部目标中,直到发起方使用ExpStatSN来确认所述响应的接收。以从发起方到目标的方向流动的所有iSCSI PDU都可以携带ExpStatSN。发起方可以保持ExpStatSN单调地增加以允许所述目标的高效实现。
如上所述,根据本发明的一个非限制性实施例,iSCSI卸载功能可以使用用于RDMA功能的RNIC机制来实现。首先,现在将说明用于分布式计算机系统中的RDMA中的工作队列的概念的一般性解释。
现在参考图3,其示出了根据本发明的一个实施例的分布式计算机系统300。分布式计算机系统300可以包括,例如但不限于,因特网协议网络(IP网络)和许多其他具有各种其他类型和配置的计算机系统。例如,实现本发明的计算机系统的范围可以从具有一个处理器和少数输入/输出(I/O)适配器的小型服务器到具有多种处理器和I/O适配器的大量并行超级计算机系统。此外,本发明可以在由互联网或内联网连接的远程计算机系统的基础结构中实现。
分布式计算机系统300可以连接任意数量和任何类型的主处理器节点301,诸如但不限于独立处理器节点、存储节点以及专用处理节点。这些节点中的任何一个节点都可以用作末端节点,其在此被定义为分布式计算机系统300中产生或最终消费消息或帧的设备。每个主处理器节点301都可以包括客户302,其是在该主处理器节点301上执行的过程。主处理器节点301还可以包括一个或多个IP套件卸载引擎(IPSOE)303,其可以以硬件或硬件和卸载微处理器(多个)的组合来实现。卸载引擎303可以支持多种用于将消息传输给IPSOE端口305的队列对304。每个队列对304都可以包括发送工作队列(SWQ)和接收工作队列(RWQ)。所述发送工作队列可以被用来发送通道和存储器语义消息。所述接收工作队列可以接收通道语义消息。客户可以使用定义需要被实现的语义的“verbs”将工作请求(WR)放置在工作队列上。所述verbs还可以提供一种用于从完成队列检索已完成的工作的机制。
例如,客户可以生成工作请求,它们作为工作队列元素(WQE)被放置在工作队列上。相应地,发送工作队列可以包括WQE,其描述了将在分布式计算机系统300的构造上被传输的数据。接收工作队列可以包括WQE,其描述了在何处放置来自分布式计算机系统300的构造的入站通道语义数据。工作队列元素可以由卸载引擎303中的硬件或软件来处理。
完成队列可以包括完成队列元素(CQE),其包含与先前完成的工作队列元素有关的信息。完成队列可以被用来创建用于多个队列对的一个或多个完成通知点。完成队列元素是包含足够信息以确定所述队列对和已被完成的特定工作队列元素的完成队列上的数据结构。完成队列上下文是包含指针、长度,以及管理各个完成队列所需的其他信息的信息块。
RDMA读取工作请求提供了存储器语义操作以读取远程节点上的虚拟相邻存储器空间。存储器空间可以是存储器区域的一部分,也可以是存储器窗口的一部分。存储器区域指先前登记的由虚拟地址和长度定义的虚拟相邻存储器地址集。存储器窗口指已被绑定到先前登记的区域的虚拟相邻存储器地址集。类似地,RDMA写入工作队列元素提供了存储器语义操作以写入远程节点上的虚拟相邻存储器空间。
绑定(未绑定)远程访问关键字(控制标记-STag)工作队列元素向卸载引擎硬件提供命令以便通过将存储器窗口与存储器区域关联(或去关联)来修改(或破坏)所述存储器窗口。STag是每个RDMA访问的一部分并且被用来验证远程过程已允许访问缓冲区。
注意,下文中示出并描述的方法和系统可以由计算机程序产品306(诸如但不限于,网络接口卡、硬盘、光盘、存储设备等)来执行,所述计算机程序产品可以包括用于执行此处描述的方法和系统的指令。
现在参考图4说明了用于实现iSCSI卸载功能的某些相关和有关的RDMA机制。
在RDMA中,主机A可以在没有任何主机B的介入的情况下访问主机B的存储器。主机A决定在何处何时访问主机B的存储器,并且主机B并不知道此访问的发生,除非主机A提供了明确的通知。
在主机A可以访问主机B的存储器之前,主机B必须登记将被访问的存储器区域。每个已登记的存储器区域得到一个STag。STag与被称作保护块(PB)的保护表中的表项关联。PB完整地描述了已登记的存储器区域,包括其边界、访问权限等。RDMA允许登记物理上不连续的存储器区域。此类区域由页-列表(或块-列表)来表示。PB也指向所述存储器区域页-列表(或块-列表)。
RDMA只允许对登记的存储器区域的远程访问。所述存储器区域STag被远程侧使用以便在访问存储器时引用所述存储器。对于存储应用,RDMA借助零基(zero-based)访问来访问存储器区域。在零基访问中,由标记的直接数据放置协议(DDP)段携带的目标偏移(TO)定义了所述登记的存储器区域中的偏移。
现在参考图5,其示出了RDMA的远程存储器访问操作(即,读取和写入)。使用携带有应被放置到远程存储器的数据的RDMA写入消息-标记的DDP消息,可以实现远程写入操作(由标号501指示)。
使用两个RDMA消息-RDMA读取请求和RDMA读取响应消息,可以实现远程读取操作(由标号502指示)。所述RDMA读取是未标记的DDP消息,它同时指定了需要从其取回数据的位置和放置所述数据的位置。所述RDMA读取响应是携带有由所述RDMA读取请求所请求的数据的标记的DDP消息。
处理入站标记的DDP段(其同时用于RDMA写入和RDMA读取响应)的过程可以包括但不限于,读取由STag引用的PB(503)、访问验证(504)、读取区域页-列表(转换表)(505),以及对存储器的直接写入操作(506)。可以由所述RNIC来排队入站RDMA读取请求(507)。此队列被称为读取响应工作队列。
所述RNIC可以在所有先前的RDMA请求已被完成后按次序处理RDMA读取请求(508),并且可以生成被发送回请求方的RDMA读取响应消息(509)。
处理RDMA读取请求的过程可以包括但不限于,可选地将RDMA读取请求排队和解除排队到写入响应WQ(510)、读取由数据源STag引用的PB(所述STag引用从其进行读取的存储器区域)(511)、访问验证(512)、读取区域页-列表(转换表)(513),以及来自存储器的直接读取操作并生成RDMA读取响应段(514)。
RDMA定义了允许同时本地和远程地访问系统存储器的地址转换和保护(ATP)机制。如现在将参考图6说明的,此机制基于需要被访问的存储器的登记。
存储器登记是远程存储器访问所需的强制操作。在RDMA中可以使用两种方法:存储器窗口和快速存储器登记。
当将被远程地访问的存储器是静态的并且提前知道该将被访问的存储器时(601),可以使用存储器窗口方法(标号600)。在此情况下,使用所谓的经典存储器登记方案来登记所述存储器区域,其中由驱动器在具有或没有硬件帮助的情况下执行PB和转换表(TT)的分配和更新(602)。这是一种同步操作,只有当PB和TT都使用相应信息被更新之后才可以完成此操作。存储器窗口被用来允许(或禁止)对整个(或部分)登记的存储器区域的远程存储器访问(603)。此过程被称为窗口绑定,并在客户请求时由所述RNIC来执行。其要比存储器登记快得多。但是,存储器窗口并不是允许远程访问的唯一方式。区域自身的STag也可以被用于此目的。因此,可以使用三种机制来访问登记的存储器:使用静态地登记的区域、使用绑定到这些区域的窗口和/或使用快速登记的区域。
如果预先并不知道用于远程访问的存储器(604),则使用预先登记的区域并不是高效的。相反,RDMA定义了一种快速存储器登记和无效方法(605)。
此方法将存储器登记过程分成两部分-分配将由区域消耗的RNIC资源(606)(例如,用来保持页-列表的PB和TT的一部分),以及更新PB和TT以保持区域特定的信息(607)。所述第一操作606可以由软件来执行,并且可以为每个STag执行一次。所述第二操作607可以由软件来发布并由硬件来执行,并且可以被执行多次(对于每个将被登记的新的区域/缓冲区)。除快速存储器登记外,RDMA还定义了无效操作,其使得能够无效STag并在以后重新使用该STag(608)。
快速存储器登记和无效操作都被定义为异步操作。它们作为工作请求被发布到RNIC发送队列,并通过关联的完成队列来报告它们的完成。
RDMA定义了两种类型的接收队列-共享和非共享RQ。共享RQ可以在多个连接之间被共享,并且发布到此类队列的接收WR可以被不同连接上接收的发送消息所消耗。非共享RQ始终与一个连接关联,并且发布到此类RQ的WR将被通过此连接接收的发送所消耗。
现在参考图7和8,它们示出了根据本发明的一个实施例的借助支持RNIC的RDMA的iSCSI数据移动操作的卸载。
首先特别参考图7。根据本发明的一个非限制性实施例,常规的RDMA卸载功能可以被分成两部分:RDMA服务单元700和RDMA消息传送单元701。RDMA消息传送单元701可以处理入站和出站RDMA消息,并且可以使用由RDMA服务单元700提供的服务来执行直接放置和传输操作。为了实现iSCSI卸载,可以由iSCSI消息传送单元702替代并执行所述iSCSI卸载功能。iSCSI消息传送单元702可以负责处理入站和出站iSCSI PDU,并且可以使用由RDMA服务单元700提供的服务来执行直接放置和传输。
对于iSCSI和RDMA卸载功能两者来说,由RDMA服务单元700提供的服务和接口是相同的。
现在参考图8。所有iSCSI PDU都在软件中生成(标号801),除了在硬件中生成的数据出之外(802)。生成的iSCSI PDU可以作为发送工作请求被发布到发送队列(803)。RNIC通过关联的完成队列来报告那些WR(成功的传送操作)的完成(804)。
软件负责将缓冲区发布到接收队列(805)(例如,利用接收工作请求)。注意,通常在传输缓冲区之前发布接收缓冲区以避免任何不愉快的竞争情况。发布发送和接收缓冲区的特定次序并非本发明的要点并且可以留给实现者。所述缓冲区可以被用于入站控制和未经请求的数据出PDU(806)。可以扩展RNIC以支持两个RQ-一个用于入站iSCSI控制PDU,另一个用于入站未经请求的数据出(807)。软件可以使用共享RQ来改进存储器管理和用于iSCSI控制PDU的缓冲区的利用率(808)。
可以使用完成队列来报告控制接收或未经请求的数据出PDU(809)。可以通过用于消耗RQ中的WQE的iSCSI PDU的完成队列或通过用于数据移动iSCSI PDU的异步事件队列来报告在iSCSI PDU数据中检测到的数据损坏或其他错误(810)。然后,RNIC可以处理下一个PDU(811)。
根据本发明的一个非限制性实施例,可以利用用于基于iSCSI和iSER的解决方案的统一软件体系结构来执行使用基于RDMA的机制的iSCSI语义的实现。
现在参考图9,其示出了使用基于RDMA的iSCSI卸载来实现的软件结构。SCSI层900通过iSCSI应用协议与iSCSI驱动器901通信。数据移动器接口902与iSCSI驱动器901和iSER数据移动器903以及iSCSI数据移动器904接口。其中数据移动器接口902与这些元素接口的方式可以与由RDMA协会定义的标准数据移动器接口相一致。此类软件结构的一个非限制性优点是iSCSI与iSER软件堆栈之间的软件组件和接口的高级共享。所述数据移动器接口允许拆分数据移动和iSCSI驱动器的iSCSI管理功能。简言之,所述数据移动器接口保证当SCSI层900请求传送命令(例如,为了完成用于发起方的SCSI命令)或发送/接收iSCSI数据序列(例如,为了完成用于目标的SCSI命令的一部分)时所有必需的数据传输都将发生。
可以利用由RNIC 906实现的基于RDMA的服务905来卸载iSCSI和iSER数据移动器903和904的功能。根据本发明的一个实施例,使用RDMA机制来卸载iSCSI功能包括卸载iSCSI目标和iSCSI发起方功能两者。卸载功能(目标和/或发起方)中的每一个功能都可以被单独地并独立于其他功能或端点来实现。换言之,发起方可以在无需任何更改或修改的情况下使数据移动操作卸载,并仍然与目标的任何其他iSCSI实现进行通信。对于卸载的iSCSI目标功能也同样如此。所有用于卸载iSCSI数据移动功能的RDMA机制都是本地的并且对远程侧都是透明的。
现在参考图10,其示出了根据本发明的一个实施例的在没有硬件/软件交互的情况下到SCSI缓冲区的iSCSI数据移动PDU的直接数据放置。首先,为RNIC提供了SCSI缓冲区的描述(例如,通过软件)(标号1001)。每个SCSI缓冲区都可以分别由ITT或TTT来唯一地标识(1002)。所述SCSI缓冲区可以包括一个或多个页或块,并且可以由页-列表或块-列表来表示。
为了执行直接数据放置,RNIC可以执行一个两步解决过程。第一步骤(1003)包括标识给定ITT(或TTT)的SCSI缓冲区,第二步骤(1004)包括定位列表中的页/块以读/写此页/块。所述第一和第二步骤都可以采用由RDMA定义的地址转换和保护机制,并使用STag和RDMA存储器登记语义来实现iSCSI ITT和TTT语义。例如,所述RDMA保护机制可以被用来定位SCSI缓冲区并使其免于未经请求的访问(1005),并且所述地址转换机制可以允许对页-列表或块-列表中的页/块的高效访问(1006)。为了对iSCSI数据移动PDU执行类似于RDMA的远程存储器访问,发起方或目标软件可以登记所述SCSI缓冲区(1007)(例如,使用登记存储器区域语义)。存储器登记导致保护块被与所述SCSI缓冲区关联。以此方式,所述保护块指向保存有描述所述SCSI缓冲区的页-列表或块-列表的转换表表项。所述登记的存储器区域可以是零基类型的存储器区域,其允许在iSCSI数据移动PDU中使用缓冲区偏移来访问SCSI缓冲区。
用在iSCSI控制PDU中的ITT和TTT可以获得引用登记的SCSI缓冲区的STag的值(1008)。例如,由发起方生成的SCSI读取命令可以携带等于所述登记的SCSI缓冲区的STag的ITT。相应的数据入和SCSI响应PDU也可以携带此STag。因此,所述STag可以被发起方用来执行远程直接数据放置。对于SCSI写入命令,所述目标可以登记其为入站请求的数据出PDU分配的SCSI缓冲区,并且可以使用等于R2T PDU中的SCSI缓冲区的STag的TTT(1009)。
本发明的此非限制性方法允许利用现有硬件和软件机制来执行iSCSI数据移动操作的高效卸载,保持如iSCSI规范中定义的这些操作的灵活性。
现在参考图11A和11B,它们示出了根据本发明的一个实施例的使用参考图10描述的RDMA保护和地址转换方法借助RNIC来处理数据入和请求的数据出,以及执行到登记的SCSI缓冲区的由那些PDU携带的iSCSI有效负载的直接数据放置。此外,所述RNIC可以跟踪数据入和数据出的数据顺序并实施由iSCSI规范定义的iSCSI排序规则,以及在数据事务结束时执行PB的无效。
入站数据入和请求的数据出可以被RNIC完全类似地处理(分别由发起方和目标)。现在将说明这些PDU类型都通用的处理。
RNIC首先检测iSCSI数据入和请求的数据出PDU(1101)。这可以通过但不限于使用BHS:Opcode和BHS:TTT字段(如上所述,TTT=h‘FFFFFFFF’指示数据出PDU是未经请求的,并且此类PDU作为控制iSCSI PDU被处理)来完成。RNIC可以将用于数据入PDU的BHS:ITT字段和用于数据出PDU的BHS:TTT用作STag(当其分别生成SCSI命令或R2T时,被所述驱动器先前所使用)。
所述RNIC可以查找PB(1102),例如,通过使用描述了相应登记的SCSI缓冲区并验证访问权限的STag的索引字段。所述RNIC可以知道所述登记的SCSI缓冲区内在该处访问数据的位置(1103),例如,通过使用BHS:BufferOffset。然后,所述RNIC可以使用地址转换机制来解析页/块并执行到所述登记的SCSI缓冲区的直接数据放置(或直接数据读取)(1104)。
客户软件(驱动器)并不知道由RNIC执行的直接放置操作。除非在请求的数据出PDU具有‘F-位’集的情况下,否则没有完成通知。
除了直接放置操作(例如,在其之前),所述RNIC可以执行入站PDU的顺序验证(1105)。数据入和数据出PDU都携带有DataSN。在数据入的情况下,可以为每个SCSI命令将DataSN置零,在数据出的情况下,可以为每个R2T将DataSN置零(1106)。RNIC可以将ExpDataSN保存在保护块中(1107)。此字段可以在PB初始化时(快速存储器登记)被初始化为零(1108)。借助每个入站数据入或请求的数据出PDU,此字段可以被与BHS:DataSN进行比较(1109):
a.如果DataSN=ExpDataSN,则由RNIC接受并处理所述PDU,并增加ExpDataSN(1110)。
b.如果DataSN>ExpDataSN,则将错误报告给软件(1111),诸如通过使用异步事件通知机制(有关的异步错误-排序错误)。然后,PB中的错误位被设置,并且每个引用此PB(使用STag)的入站PDU都将从该点开始被丢弃。这有效地意味着iSCSI驱动器将需要在iSCSI命令级别(或相应的R2T级别)上进行恢复。
c.最后一种情况是重影PDU的接收(DataSN<ExpDataSN)。在此情况下,接收的PDU被丢弃,并且没有错误被报告给软件(1112)。这允许如iSCSI规范定义的那样来处理重复的iSCSI PDU。
在SCSI读取命令的情况下,发起方接收后跟SCSI响应的一个或多个数据入PDU(1113)。所述SCSI响应可以携带BHS:ExpDataSN。此字段指示SCSI响应之前的数据入的数量。为了完成iSCSI排序规则的执行,RNIC可以将BHS:ExpDataSN与由该SCSI响应携带的STag(ITT)引用的PB:ExpDataSN相比较。在不匹配的情况下,报告完成错误,表明已经检测到排序错误(1114)。
具有‘F-位’集的请求的数据出PDU指示此PDU完成了由相应的R2T请求的事务(1115)。在此情况下,将完成通知传递给客户软件(1116)。例如,RNIC可以从接收队列跳过一个WQE,并将CQE添加到指示数据出事务的完成的各个完成队列。目标软件可以要求此通知以便知道R2T操作是否已经完成,以及其是否可以生成确认整个SCSI写入操作已经完成的SCSI响应。注意,此通知可以是处理入站数据入和请求的数据出PDU时来自RNIC的对软件的仅有的通知。上述排序验证确保了所有数据出都已被成功地接收并被放置到登记的缓冲区。丢失最后的数据出PDU(携带有‘F-位’集)的情况可以由软件(超时机制)所涵盖。
可以由RNIC执行以结束处理数据入和请求的数据出PDU的最后操作是保护块的无效(1117)。可以对具有‘F-位’集的数据入和请求的数据出PDU执行此操作。所述无效可以在从所述PDU标头收集的STag引用的PB上执行。可以使用用于请求的数据出的CQE将无效的STag传送给SCSI驱动器,或者在结束SCSI写入命令(ITT字段)的SCSI响应的标头中将无效的STag传送给SCSI驱动器。这允许iSCSI驱动器重新使用释放的STag以便用于下一个SCSI命令。
类似地,还可以执行由目标(1118)登记的区域的无效。注意,一种可替代的无效方法可以是无效由接收的SCSI响应中的STag(ITT)引用的PB。
现在参考图12,其示出了根据本发明的一个实施例的处理硬件中的入站R2T以及生成数据出PDU。
所述SCSI写入命令可以导致发起方从目标接收多个R2T(1201)。每个R2T都可以要求发起方从登记的SCSI缓冲区中的指定位置取回指定量的数据,并使用数据出PDU将此数据发送给所述目标(1202)。所述R2T携带有由发起方在SCSI命令中提供的ITT(1203)。如上所述,当所述驱动器生成SCSI命令时,可以由驱动器而不是ITT来使用登记的SCSI缓冲区的STag(1204)。
可以使用BHS:Opcode字段来标识R2T PDU。使用BHS:R2TSN字段,RNIC可以执行R2T排序的验证(1205)。所述RNIC将ExpDataSN字段保存在PB中。由于对于单向命令,发起方可以看到R2T或数据入的进入,所以同一字段可以被用于排序验证。对入站R2T的顺序验证可以与用于以上讨论的数据入和数据出的顺序验证的过程相同(1206)。
使用与处理入站RDMA读取请求的机制相同的机制,所述RNIC可以处理通过顺序验证的R2T(1207)。所述RNIC可以使用单独的读取响应工作队列来发布描述了需要由RNIC传送逻辑发送的数据出的WQE(1208)(在RDMA读取请求的情况下,RNIC可以排队描述了RDMA读取响应的WQE)。传送逻辑可以在发送WQ与读取响应WQ之间做出仲裁,并且可以根据内部仲裁规则处理来自每个WQ的WQE(1209)。
每个接收到的R2T都可以产生单个数据出PDU(1210)。生成的数据出PDU可以携带来自由BHS:ITT(驱动器在SCSI命令生成时将STag放置在该处)引用的登记的SCSI缓冲区的数据。BHS:BufferOffset和BHS:DesireDataTransferLength可以标识SCSI缓冲区中的偏移和数据事务的大小。
当所述RNIC为具有F-位集的R2T PDU传输数据出时,所述RNIC可以在远程侧确认成功接收所述数据出PDU之后无效由STag(ITT)引用的保护块。当将传送相应的SCSI响应PDU时,用于此SCSI写入命令的STag可以被软件重新使用。
一种可替代的存储器区域无效的方法可以是无效由接收到的SCSI响应中的STag(ITT)引用的PB。
出于示例和说明目的给出了对本发明的描述,并且所述描述并非旨在是穷举的或是将本发明限于所公开的形式。对于本领域的技术人员来说,许多修改和变化是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并且当适合于所构想的特定使用时,使得本领域的其他技术人员能够理解本发明的具有各种修改的各种实施例。
Claims (20)
1.一种方法,所述方法包括:
使用用于远程直接存储器访问(RDMA)功能的启用远程直接存储器访问的网络接口控制器(RNIC)机制来实现互联网小型计算机系统接口(iSCSI)卸载发起方功能。
2.根据权利要求1的方法,还包括单独地并独立于iSCSI目标功能来卸载iSCSI发起方功能。
3.根据权利要求1的方法,其中实现所述iSCSI卸载发起方功能包括使用RDMA写入操作逻辑的以任何次序和任何SCSI缓冲区偏移量的到预先登记的SCSI缓冲区的数据出有效负载的远程直接数据放置。
4.根据权利要求3的方法,包括借助用作控制标记(STag)的目标任务标记(TTT)来标识所述预先登记的SCSI缓冲区。
5.根据权利要求1的方法,其中实现所述iSCSI卸载发起方功能包括使用具有接收工作请求的RDMA接收队列来放置控制iSCSI PDU。
6.根据权利要求5的方法,还包括通过关联的完成队列来报告所述接收工作请求的完成。
7.根据权利要求1的方法,其中实现所述iSCSI卸载发起方功能包括:
提供通过iSCSI应用协议与iSCSI驱动器通信的SCSI层;以及
提供与所述iSCSI驱动器、用于RDMA的iSCSI扩展(iSER)数据移动器以及iSCSI数据移动器接口的数据移动器接口。
8.根据权利要求7的方法,还包括使用所述数据移动器接口来拆分数据移动和所述iSCSI驱动器的iSCSI管理功能。
9.根据权利要求1的方法,其中实现所述iSCSI卸载发起方功能包括将生成的iSCSI PDU作为发送工作请求发布到发送队列以及通过关联的完成队列来报告所述发送工作请求的完成。
10.根据权利要求1的方法,其中实现所述iSCSI卸载发起方功能包括实现RDMA地址转换和保护(ATP)机制以实现对预先登记的SCSI缓冲区的直接访问、借助用作STag的TTT来标识所述预先登记的SCSI缓冲区、定位页和块中的至少一个以及对所述页和块中的至少一个执行读取和写入操作中的至少一个操作。
11.一种系统,所述系统包括:
RDMA服务单元;
RDMA消息传送单元,所述RDMA消息传送单元可操作以处理入站和出站RDMA消息,并且使用由所述RDMA服务单元提供的服务来执行直接放置和传送操作;以及
iSCSI消息传送单元,所述iSCSI消息传送单元可操作以执行iSCSI卸载发起方功能并处理入站和出站iSCSI PDU,所述iSCSI消息传送单元适合于使用由所述RDMA服务单元提供的服务来执行将由所述PDU携带的iSCSI有效负载直接放置和传送到登记的SCSI缓冲区。
12.根据权利要求11的系统,其中所述iSCSI卸载发起方功能包括单独地并独立于iSCSI目标功能来卸载iSCSI发起方功能。
13.根据权利要求11的系统,其中所述iSCSI卸载发起方功能包括使用RDMA写入操作逻辑的以任何次序和任何SCSI缓冲区偏移量的到预先登记的SCSI缓冲区的数据出有效负载的远程直接数据放置。
14.根据权利要求13的系统,其中所述iSCSI卸载发起方功能还包括借助用作STag的TTT来标识所述预先登记的SCSI缓冲区。
15.根据权利要求11的系统,其中所述iSCSI卸载发起方功能包括使用具有接收工作请求的RDMA接收队列来放置控制iSCSI PDU以及通过关联的完成队列来报告所述接收工作请求的完成。
16.根据权利要求11的系统,其中所述iSCSI卸载发起方功能包括:
通过iSCSI应用协议与iSCSI驱动器通信的SCSI层;以及
与所述iSCSI驱动器、用于RDMA的iSCSI扩展(iSER)数据移动器以及iSCSI数据移动器接口的数据移动器接口。
17.根据权利要求16的系统,其中所述数据移动器接口适合于拆分数据移动和所述iSCSI驱动器的iSCSI管理功能。
18.根据权利要求11的系统,其中所述iSCSI卸载发起方功能包括将生成的iSCSI PDU作为发送工作请求发布到发送队列以及通过关联的完成队列来报告所述发送工作请求的完成。
19.根据权利要求11的系统,其中所述iSCSI卸载发起方功能包括实现RDMA地址转换和保护(ATP)机制以实现对预先登记的SCSI缓冲区的直接访问、借助用作STag的TTT来标识所述预先登记的SCSI缓冲区、定位页和块中的至少一个以及对所述页和块中的至少一个执行读取和写入操作中的至少一个操作。
20.一种计算机程序产品,所述计算机程序产品包括:
用于实现权利要求1到10中的任一方法的指令。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/905,810 US20060168091A1 (en) | 2005-01-21 | 2005-01-21 | RNIC-BASED OFFLOAD OF iSCSI DATA MOVEMENT FUNCTION BY INITIATOR |
| US10/905,810 | 2005-01-21 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1818890A true CN1818890A (zh) | 2006-08-16 |
| CN100462947C CN100462947C (zh) | 2009-02-18 |
Family
ID=36698274
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB2006100019357A Expired - Fee Related CN100462947C (zh) | 2005-01-21 | 2006-01-19 | 用于实现卸载发起方功能的方法和系统 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20060168091A1 (zh) |
| CN (1) | CN100462947C (zh) |
| TW (1) | TW200636480A (zh) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102291408A (zh) * | 2011-08-15 | 2011-12-21 | 成都市华为赛门铁克科技有限公司 | 对iSCSI协议报文的处理方法及装置 |
| CN103929415A (zh) * | 2014-03-21 | 2014-07-16 | 华为技术有限公司 | Rdma下数据读写的方法、装置和网络系统 |
| CN104063344A (zh) * | 2014-06-20 | 2014-09-24 | 华为技术有限公司 | 一种存储数据的方法及网络接口卡 |
| WO2014186940A1 (zh) * | 2013-05-20 | 2014-11-27 | 华为技术有限公司 | 一种硬盘和数据处理方法 |
| CN110309087A (zh) * | 2018-03-27 | 2019-10-08 | 纬颖科技服务股份有限公司 | 数据传输方法与使用此方法的主机系统 |
| CN113553279A (zh) * | 2021-07-30 | 2021-10-26 | 中科计算技术西部研究院 | 一种rdma通信加速集合通信的方法及系统 |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8316276B2 (en) | 2008-01-15 | 2012-11-20 | Hicamp Systems, Inc. | Upper layer protocol (ULP) offloading for internet small computer system interface (ISCSI) without TCP offload engine (TOE) |
| CN102480516A (zh) * | 2010-11-30 | 2012-05-30 | 英业达股份有限公司 | 网际网络小型电脑界面的数据单元的解析方法 |
| CN102104596B (zh) * | 2010-12-17 | 2015-08-19 | 曙光信息产业股份有限公司 | 一种tcp连接重排序方法 |
| US9229901B1 (en) | 2012-06-08 | 2016-01-05 | Google Inc. | Single-sided distributed storage system |
| US9058122B1 (en) | 2012-08-30 | 2015-06-16 | Google Inc. | Controlling access in a single-sided distributed storage system |
| US8676851B1 (en) | 2012-08-30 | 2014-03-18 | Google Inc. | Executing transactions in distributed storage systems |
| US8862561B1 (en) | 2012-08-30 | 2014-10-14 | Google Inc. | Detecting read/write conflicts |
| US9164702B1 (en) | 2012-09-07 | 2015-10-20 | Google Inc. | Single-sided distributed cache system |
| US9313274B2 (en) | 2013-09-05 | 2016-04-12 | Google Inc. | Isolating clients of distributed storage systems |
| US12093748B2 (en) | 2020-09-25 | 2024-09-17 | Intel Corporation | Disaggregated computing for distributed confidential computing environment |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7487264B2 (en) * | 2002-06-11 | 2009-02-03 | Pandya Ashish A | High performance IP processor |
| US7299266B2 (en) * | 2002-09-05 | 2007-11-20 | International Business Machines Corporation | Memory management offload for RDMA enabled network adapters |
| US7526577B2 (en) * | 2003-09-19 | 2009-04-28 | Microsoft Corporation | Multiple offload of network state objects with support for failover events |
| US7260631B1 (en) * | 2003-12-19 | 2007-08-21 | Nvidia Corporation | System and method for receiving iSCSI protocol data units |
-
2005
- 2005-01-21 US US10/905,810 patent/US20060168091A1/en not_active Abandoned
-
2006
- 2006-01-16 TW TW095101643A patent/TW200636480A/zh unknown
- 2006-01-19 CN CNB2006100019357A patent/CN100462947C/zh not_active Expired - Fee Related
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102291408A (zh) * | 2011-08-15 | 2011-12-21 | 成都市华为赛门铁克科技有限公司 | 对iSCSI协议报文的处理方法及装置 |
| CN102291408B (zh) * | 2011-08-15 | 2014-03-26 | 华为数字技术(成都)有限公司 | 对iSCSI协议报文的处理方法及装置 |
| WO2014186940A1 (zh) * | 2013-05-20 | 2014-11-27 | 华为技术有限公司 | 一种硬盘和数据处理方法 |
| CN103929415A (zh) * | 2014-03-21 | 2014-07-16 | 华为技术有限公司 | Rdma下数据读写的方法、装置和网络系统 |
| WO2015139470A1 (zh) * | 2014-03-21 | 2015-09-24 | 华为技术有限公司 | Rdma下数据读写的方法、装置和网络系统 |
| CN104063344A (zh) * | 2014-06-20 | 2014-09-24 | 华为技术有限公司 | 一种存储数据的方法及网络接口卡 |
| CN104063344B (zh) * | 2014-06-20 | 2018-06-26 | 华为技术有限公司 | 一种存储数据的方法及网络接口卡 |
| US10116746B2 (en) | 2014-06-20 | 2018-10-30 | Huawei Technologies Co., Ltd. | Data storage method and network interface card |
| CN110309087A (zh) * | 2018-03-27 | 2019-10-08 | 纬颖科技服务股份有限公司 | 数据传输方法与使用此方法的主机系统 |
| CN110309087B (zh) * | 2018-03-27 | 2021-01-26 | 纬颖科技服务股份有限公司 | 数据传输方法与使用此方法的主机系统 |
| CN113553279A (zh) * | 2021-07-30 | 2021-10-26 | 中科计算技术西部研究院 | 一种rdma通信加速集合通信的方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20060168091A1 (en) | 2006-07-27 |
| CN100462947C (zh) | 2009-02-18 |
| TW200636480A (en) | 2006-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10223326B2 (en) | Direct access persistent memory shared storage | |
| CN1308835C (zh) | 远端直接存储器存取启用网络适配器的存储器管理卸载 | |
| CN1818890A (zh) | 用于实现卸载发起方功能的方法和系统 | |
| US9696942B2 (en) | Accessing remote storage devices using a local bus protocol | |
| US7200695B2 (en) | Method, system, and program for processing packets utilizing descriptors | |
| US9727503B2 (en) | Storage system and server | |
| CN1604057A (zh) | 硬件实施通道适配器资源的逻辑分区的方法和系统 | |
| CN1766851A (zh) | 用于数据存储区管理的系统及方法 | |
| US7707337B2 (en) | Object-based storage device with low process load and control method thereof | |
| CN1766885A (zh) | 提供受管理数据的系统及方法 | |
| US20080155571A1 (en) | Method and System for Host Software Concurrent Processing of a Network Connection Using Multiple Central Processing Units | |
| EP1839162A1 (en) | RNIC-BASED OFFLOAD OF iSCSI DATA MOVEMENT FUNCTION BY TARGET | |
| US8280197B1 (en) | Managed background loading of image resources in resource-constrained devices | |
| US20060018330A1 (en) | Method, system, and program for managing memory requests by devices | |
| US7343527B2 (en) | Recovery from iSCSI corruption with RDMA ATP mechanism | |
| US20050165938A1 (en) | Method, system, and program for managing shared resources | |
| CN100484139C (zh) | 应用程序和动词资源管理 | |
| US20060168286A1 (en) | iSCSI DATAMOVER INTERFACE AND FUNCTION SPLIT WITH RDMA ATP MECHANISM | |
| JP2008140132A (ja) | 印刷システム、印刷ジョブ制御装置および印刷ジョブ制御プログラム | |
| KR100834431B1 (ko) | 개시자에 의한 iSCSI 데이터 이동 기능의 RNIC기반 오프로드 | |
| US20090282175A1 (en) | System and Method for Enabling Multiple Processors to Share Multiple SAS Wide Ports | |
| US20090271802A1 (en) | Application and verb resource management | |
| US7590777B2 (en) | Transferring data between system and storage in a shared buffer | |
| US7839875B1 (en) | Method and system for an efficient transport loopback mechanism for TCP/IP sockets | |
| US20060168094A1 (en) | DIRECT ACCESS OF SCSI BUFFER WITH RDMA ATP MECHANISM BY iSCSI TARGET AND/OR INITIATOR |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| C17 | Cessation of patent right | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090218 Termination date: 20100219 |