一种scsi数据读写方法、系统和装置的制作方法

文档序号:6612503阅读:216来源:国知局
专利名称:一种scsi数据读写方法、系统和装置的制作方法
技术领域
本发明涉及电子信息技术领域,特别是涉及一种SCSI数据读写方法、系
统和装置。
背景技术
SCSI(Small Computer System Interface,小型计算机系统专用接口)主要用 来连接外设设备以提高系统性能或增加新的功能,例如硬盘、光驱、ZIP、调 制解调器、扫描仪、磁带机、JAZ、打印等等。因为SCSI接口卡和设备非常 昂贵所以SCSI接口的机种主要以工作站、服务器等中高档设备为主。但随着 PC技术的逐渐成熟,SCSI设备被广泛地使用,支持SCSI接口的外设产品从 原本仅有硬盘、磁带机,增加到扫描仪、光驱、刻录机、MO等各种设备,再 加上制造技术的进步,SCSI卡与外设的价格都已经在可接受范围内,因此 SCSI已取得广泛应用。
如图1所示,为现有技术SCSI请求的处理流程图,图中包括SCSI initiator 设备、SCSI target设备和服务传输子系统。其中,SCSI initiator设备为包含客 户和SCSI initiator端口的SCSI设备,能够向SCSI target设备发起设备服务和 任务管理请求,并接收SCSI target设备返回的对所述设备服务和任务管理请 求的响应;SCSItarget设备与SCSI initiator设备通过服务传输子系统连接,用 于处理SCSI initiator设备发起的设备服务和任务管理请求;服务传输子系统 是SCSI I/O系统一部分,将SCSI initiator设备的传输请求服务传送给SCSI target设备,将SCSI target设备返回的响应传送给SCSI initiator设备。
Initiator设备根据设备服务和任务管理需求构造不同的SCSI请求,请求 通过服务传输子系统发送给target设备;在target设备接收到SCSI请求后, 根据请求类型进行处理,并将处理结果返回给Initiator设备。每个SCSI请求 包含一个定义执4亍操作的CDB (command descriptor block)和一些命令指定
的输入及用于处理命令的其它参数。其中,CDB为SCSI initiator设备传输SCSI 请求到SCSI target设备使用的结构体;长度一般为6、 10、 12、 16个字节或 不定长,第一个字节表示SCSI请求的操作码,标识读写操作请求或其它请求。 SCSI请求与响应异步处理,当 一个SCSI请求发送给target后,不等待target 设备将请求处理完成,传输子系统继续发送下一个SCSI请求。Target设备将 请求处理完成后,再将SCSI响应传递给Initiator设备。
如上图所示,对于SCSI Initiator设备产生的SCSI读写操作请求,服务传 输子系统直接传递给SCSI target设备,SCSI target设备直接解析SCSI命令字 段,执行相应的SCSI命令,然后将命令响应(命令完成状态)通过服务传输 子系统传递给SCSI Initiator设备。
在实现本发明实施例过程中,发明人发现现有技术中至少存在如下问题 根据业务应用场合不同或根据系统的需要,要求进行小数据传输或对响应时 间要求非常高,为了达到上述要求SCSI Initiator设备通常会发送连续的小块 读写操作请求。但是如果SCSI Initiator设备发送连续的小块读写操作请求, 服务传输子系统必须连续传输小块数据和命令,因此导致服务传输子系统性 能低下。并且另一方面,SCSItarget设备也必须要处理大量的小块数据请求, 并为小块数据读写操作请求不断分配资源或进行相关运算,如DMA传输、 RAID读写算法等,这些都会导致SCSI系统的读写性能降低。

发明内容
本发明实施例要解决的问题是提供一种SCSI数据读写方法、系统和装
置,解决现有技术中因为小块数据读写操作请求所引起的服务传输子系统性
能低下,及导致SCSI系统的读写性能P条低的技术缺陷。
为达到上述目的,本发明实施例一方面提出一种SCSI数据读写方法,用 于提高SCSI系统的读写性能,包括以下步骤接收SCSI initiator设备的SCSI 请求;根据接收的所述SCSI请求判断所述SCSI请求与緩存的聚合种子是否 连续;如果判断不连续,则将所述SCSI请求作为新的聚合种子进行緩存,在 后续SCSI请求与所述新的聚合种子连续时,将后续SCSI请求与所述新的聚
合种子进行聚合;如果判断连续,则将所述SCSI请求与緩存的聚合种子进行 聚合后生成新的聚合种子并緩存;在满足下发条件后将緩存的所有SCSI请求 依次发送至所述SCSI target设备。
其中,所述判断SCSI请求与緩存的聚合种子是否连续具体为判断所述 SCSI请求与所述緩存的聚合种子操作属性是否相同;如果都为读操作或写操 作,则进一步判断所述SCSI请求与所述緩存的聚合种子所请求操作的地址是 否连续;如果所述SCSI请求与所述緩存的聚合种子的操作相同且所请求操作 的地址连续,则判断所述SCSI请求与所述緩存的聚合种子连续。
其中,需要满足的下发条件具体为聚合后的SCSI请求的长度大于或等 于指定的长度;或,聚合等待时间超时;或,已聚合的SCSI请求数量达到指 定请求数。
其中,所述方法还包括在所述緩存的聚合种子为读操作请求,接收到 的所述SCSI请求为写操作请求,且所述读操作请求和所述写操作请求所请求 操作的地址相同时;或,在所述緩存的聚合种子为写操作请求,接收到的所 述SCSI请求为读操作请求,且所述写操作请求和所述读操作请求所请求操作 的地址相同时,则先将緩存的所述SCSI请求发送至所述SCSI target设备。
其中,所述将SCSI请求与緩存的聚合种子进行聚合具体为将所述SCSI 请求和所述缓存的聚合种子确定最初的起始扇区和相应的操作长度。
其中,在所述将緩存所有的SCSI请求依次发送至所述SCSI target设备之 后,还包括接收所述SCSI target设备返回的SCSI响应;在判断所述SCSI 响应为聚合的SCSI请求的响应后,根据聚合前的每个SCSI请求设置相应的 SCSI响应并返回给所述SCSI initiator设备。
本发明实施例还提出一种SCSI数据读写系统,用于提高SCSI系统的读 写性能,包括SCSI initiator设备、SCSI target设备和请求聚合装置,所述SCSI initiator设备,用于通过所述请求聚合装置向所述SCSI target设备发送SCSI 请求,并接收所述SCSI target设备通过所述请求聚合装置返回的SCSI响应; 所述SCSI target设备,用于通过所述请求聚合装置接收所述SCSI initiator设 备发送的SCSI请求,执行相应操作,并将执行结果通过所述SCSI响应向所
述SCSI initiator设备返回;所述请求聚合装置,用于接收所述SCSI initiator 设备的SCSI请求,并在所述SCSI请求与緩存的聚合种子连续时,将所述SCSI 请求与緩存的聚合种子进行聚合后生成新的聚合种子并緩存,在所述SCSI请 求与緩存的聚合种子不连续时,将所述SCSI请求作为新的聚合种子进行緩存, 在后续SCSI请求与所述新的聚合种子连续时,将后续SCSI请求与所述新的 聚合种子进行聚合;并在满足下发条件后将聚合后的SCSI请求发送至所述 SCSI target设备。
其中,所述请求聚合装置还用于接收所述SCSI target设备返回的SCSI 响应,在判断所述SCSI响应为聚合的SCSI请求的响应后,根据聚合前的每 个SCSI请求i殳置相应的SCSI响应并返回给所述SCSI initiatori殳备。
本发明实施例还提出一种请求聚合装置,用于提高SCSI系统的读写性能, 包括SCSI请求接收模块、请求判断模块、聚合模块和发送模块,所述SCSI 请求接收模块,用于接收SCSI initiator设备的SCSI请求;所述请求判断模块, 用于根据所述SCSI请求接收模块接收的所述SCSI请求判断所述SCSI请求与 緩存的聚合种子是否连续,在所述SCSI请求与緩存的聚合种子连续时,将所 述SCSI请求作为新的聚合种子进行緩存;所述聚合模块,用于在所述请求判 断模块判断所述SCSI请求与緩存的聚合种子连续时,将所述SCSI请求与緩 存的聚合种子进行聚合后生成新的聚合种子并緩存;所述发送模块,用于在 满足下发条件后将聚合后的SCSI请求发送至所述SCSI target设备。
其中,所述请求判断模块包括操作判断子模块和地址判断子模块,所述 操作判断子模块,用于判断所述SCSI请求与所述緩存的聚合种子操作属性是 否相同;所述地址判断子模块,用于在所述操作判断子模块判断所述SCSI请 求与所述緩存的聚合种子操作属性相同后,进一步判断所述SCSI请求与所述 緩存的聚合种子所请求操作的地址是否连续,如果所述SCSI请求与所述緩存 的聚合种子的操作相同且所请求操作的地址连续则认为所述SCSI请求与所述 緩存的聚合种子连续。
其中,还包括,SCSI响应接收模块,响应判断模块和设置模块,所述SCSI 响应接收模块,用于接收所述SCSI target设备返回的SCSI响应;所述响应判
断模块,用于判断所述SCSI响应接收模块接收到的所述SCSI响应是否为聚 合的SCSI请求的响应;所述设置模块,用于在所述响应判断模块判断接所述 SCSI响应为聚合的SCSI请求的响应后,根据聚合前的每个SCSI请求设置相 应的SCSI响应并返回给所述SCSI initiator设备。
本发明实施例还提出 一种数据读写系统,位于存储系统的发起端以及目 标端之间,包括数据读写软件以及运行该数据读写软件的硬件,其中该数据 读写软件在硬件运行的时候,用以使得数据读写系统执行上述SCSI数据读写 方法中的步骤。
本发明实施例的技术方案具有以下优点,通过将连续的小块数据读或写 操作聚合为一个读或写操作请求,从而减少了读写操作请求的传输次数和请 求的执行时间,有效提高读写性能,并满足特定读写算法的需求。


图1为现有技术SCSI请求的处理流程图2为本发明实施例一的SCSI Initiator设备向SCSI target设备发送SCSI
请求消息的流程图3为本发明实施例二的SCSI Initiator设备向SCSI target设备发送SCSI
请求消息的流程图4为本发明实施例三的SCSI数据读写方法流程图; 图5为本发明实施例四的SCSI数据读写方法示意图; 图6为本发明实施例五的SCSI数据读写方法示意图; 图7为本发明实施例SCSI数据读写系统结构图。
具体实施例方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述 本发明实施例主要在于将SCSI Initiator设备发送的小块数据的SCSI请 求进行聚合,聚合为一个总的SCSI请求后向SCSI target设备发送,从而减轻 服务传输子系统的负担,减少读/写操作请求的传输次数和请求的执行时间,
有效提高读写性能。
如图2所示,为本发明实施例一的SCSI Initiator设备向SCSI target设 备发送SCSI请求消息的流程图,首先在SCSI Initiator设备发送的SCSI请 求到达SCSI target设备之前,需要对SCSI Initiator设备发送的连续的小块 数据读写操作请求进行聚合,将多个SCSI请求聚合成一个SCSI请求,之 后通过服务传输子系统下发给SCSI target设备,从而能够减小服务传输子 系统的传输次数,并且也能够提高SCSI target设备处理SCSI请求的速率, 完成相同的读写功能,提高系统读写性能。如对于10个SCSI Initiator设 备发送的连续的小块数据读操作请求,SCSI target设备需要进行10次解析 请求,并根据请求进行相应的读操作才能够将SCSI Initiator设备所请求的 数据全部读出并发送给SCSI Initiator设备,但是对于经过聚合的SCSI请 求来说,只需进行一次读操作即可,从而大大降低了 SCSI target设备处理 SCSI请求的速率,提高了系统读写性能。
在上述实施例中首先对小块数据进行聚合再通过服务传输子系统发送 给SCSI target设备,但是也可以先通过服务传输子系统传输,再对服务传 输子系统传输后的请求进行聚合,这样虽然也能够提高SCSI target设备处 理SCSI请求的速率,但是没有减小服务传输子系统的传输次数。如图3 所示,为本发明实施例二的SCSI Initiator设备向SCSI target设备发送SCSI 请求消息的流程图。
如图4所示,为本发明实施例三的SCSI数据读写方法流程图,包括以下 步骤
步骤S401, SCSI initiator设备通过请求聚合装置向SCSI target设备发送 SCSI请求,该SCSI请求可以是读操作请求,也可以是写操作请求。
步骤S402,请求聚合装置接收到SCSI initiator设备的SCSI请求后,判 断是否有緩存的聚合种子,如果没有緩存的聚合种子,则将该SCSI请求进行 緩存作为新的聚合种子。其中,对于请求聚合装置来说可能会緩存有多个聚 合种子,在接收到SCSI请求后分别判断其是否与緩存的聚合种子连续,如其 与任一个聚合种子连续则将其与该聚合种子进行聚合生成新的聚合种子。如
果有緩存的聚合种子,则进一步判断是否满足下发条件,如果满足下发条件
则将该SCSI请求发送给SCSI target设备。其中下发条件可以是聚合后的SCSI 请求的长度大于指定的长度,即聚合后的SCSI请求的长度已大于或等于SCSI 请求所能携带的最大的数据长度;或请求聚合装置聚合等待时间超时;或已 聚合的SCSI请求数量达到指定请求数,无法继续聚合。
步骤S403,如果未满足下发条件,则判断该SCSI请求与緩存的聚合种 子(一个或多个新的SCSI请求,或者是一个或多个已聚合过的SCSI请求) 是否连续。如果不连续则将该SCSI请求进行緩存作为新的聚合种子。但是作 为本发明的一个优选方案,如果此次接收到的SCSI请求为写操作请求,且所
述读操作请求和所述写操作请求所请求操作的地址相同时,则先将緩存的所
述SCSI请求发送至SCSI target设备,因为如果先将写操作请求发送至SCSI target设备,再发送聚合后的SCSI请求,该聚合后的SCSI请求请求读M目同 的地址,那么读出的结果就是SCSI请求请求写入的数据而不是原有的数据, 因此就会造成读写的错误。
其中判断SCSI请求与緩存的聚合种子是否连续具体为判断SCSI请求 与緩存的聚合种子操作属性是否相同,即判断这两个请求是否都为读操作或 写操作;如果这两个请求都为读操作或写操作,则进一步判断SCSI请求与緩 存的聚合种子所请求操作的地址是否连续;如果所述SCSI请求与所述緩存的 聚合种子的操作相同且所请求操作的地址连续,则判断SCSI请求与緩存的聚 合种子连续。每个SCSI读写请求要求SCSI target设备对指定扇区读写指定长 度的数据,CDB结构体中的相应字段表示读写请求的起始扇区和读写长度。 如果两个读写请求CDB中的字段满足下表中的条件1或条件2,即认为两个 读写请求连续;
条件1: (A)起始扇区+读/写长度=(B)起始扇区
条件2: (B)起始扇区+读/写长度=(A)起始扇区
如果两个SCSI读写请求(A、 B)连续,可重新构造一个SCSI请求(C ), 按照A、 B请求的起始扇区和长度填充C请求CDB和其它命令参数中的相应 字段,完成相同的读写请求功能。
如针对条件1的新SCSI请求(C)的参数如下
(C)起始扇区=(A)起始扇区
(C)读/写长度=(A)读写长度+ (B)读写长度
如针对条件2的新SCSI请求(C)的参数如下
(C)起始扇区=(B)起始扇区
(C)读/写长度=(A)读写长度+ (B)读写长度
为了便于描述,以下将以具体的SCSI请求为例进行描述
如图5所示,为本发明实施例四的SCSI数据读写方法示意图,SCSI initiator设备发送的三个SCSI请求中,SCSI请求1和SCSI请求3连续, SCSI请求2和SCSI请求1及SCSI请求3不连续。首先将SCSI请求1緩 存作为聚合种子,在接收到SCSI请求2后,判断SCSI请求2与SCSI请 求1不连续,则将SCSI请求2进行緩存作为一个新的聚合种子,再接收SCSI 请求3,并判断SCSI请求3和緩存的聚合种子SCSI请求1和聚合种子SCSI 请求2是否连续,SCSI请求3和緩存的聚合种子SCSI请求1连续,因此 将SCSI请求1和SCSI请求3聚合生成SCSI请求4作为新的聚合种子与 SCSI请求2—起等待后续的SCSI请求进行聚合。
如图6所示,为本发明实施例五的SCSI数据读写方法示意图,SCSI initiator设备发送的三个SCSI请求中,SCSI请求1、 SCSI请求2和SCSI 请求3均连续,首先将SCSI请求1緩存作为聚合种子,在接收到SCSI请 求2后,判断SCSI请求2与SCSI请求1 (聚合种子)连续,则将SCSI 请求2和SCSI请求1聚合生成新的SCSI请求4 (新的聚合种子),再接收 SCSI请求3,并判断SCSI请求3和緩存的聚合种子4连续,因此将SCSI 请求4和SCSI请求3聚合生成新的SCSI请求5。
步骤S404,如果判断连续,则将所述SCSI请求与緩存的聚合种子进行 聚合,并在满足下发条件后将聚合后的SCSI请求发送至所述SCSI target设备。
步骤S405, SCSI target设备根据接收到的SCSI请求执行相应操作,并返 回SCSI响应。
步骤S406,请求聚合装置接收SCSI target设备返回的SCSI响应,并判
断该SCSI响应是否是聚合的SCSI请求的响应,如果不是则正常向SCSI Initiator设备转发,如果是,则需要根据聚合前的每个SCSI请求设置相应的 SCSI响应并返回给所述SCSI initiator i殳备。
如图7所示,为本发明实施例SCSI数据读写系统结构图,该系统用于提 高SCSI系统的读写性能,包括SCSI initiator设备1、 SCSI target设备2和请 求聚合装置3 , SCSI initiator设备1用于通过请求聚合装置3向SCSI target设 备2发送SCSI请求,并接收SCSI target设备2通过请求聚合装置3返回的 SCSI响应;SCSI target设备2用于通过请求聚合装置3接收SCSI initiator 设备1发送的SCSI请求,执行相应操作,并将执行结果通过所述SCSI响应 向SCSI initiator设备1返回;请求聚合装置3用于接收SCSI initiator设备1 的SCSI请求,并在所述SCSI请求与緩存的聚合种子连续时,将所述SCSI 请求与緩存的聚合种子进行聚合后生成新的聚合种子并緩存,在所述SCSI请 求与緩存的聚合种子不连续时,将所述SCSI请求作为新的聚合种子进行緩存, 在后续SCSI请求与所述新的聚合种子连续时,将后续SCSI请求与所述新的 聚合种子进行聚合;并在满足下发条件后将聚合后的SCSI请求发送至SCSI target设备2。
其中,请求聚合装置3还用于接收SCSI target设备2返回的SCSI响应, 在判断所述SCSI响应为聚合的SCSI请求的响应后,根据聚合前的每个SCSI 请求设置相应的SCSI响应并返回给SCSI initiator设备1 。
其中,请求聚合装置3包括SCSI请求接收模块31、请求判断模块32、 聚合模块33和发送模块34, SCSI请求接收模块31用于接收SCSI initiator 设备1的SCSI请求;请求判断模块32用于根据SCSI请求接收模块31接收 的SCSI请求判断所述SCSI请求与緩存的聚合种子是否连续,在所述SCSI 请求与緩存的聚合种子连续时,将所述SCSI请求作为新的聚合种子进行緩存; 聚合模块33用于在请求判断模块32判断所述SCSI请求与緩存的聚合种子连 续时,将所述SCSI请求与緩存的聚合种子进行聚合后生成新的聚合种子并緩 存;发送模块34用于在满足下发条件后将聚合后的SCSI请求发送至SCSI target设备2。其中,请求判断模块32包括操作判断子模块321和地址判断子
模块322,操作判断子模块321用于判断所述SCSI请求与所述緩存的聚合种 子操作属性是否相同;地址判断子模块322用于在操作判断子模块321判断 所述SCSI请求与所述緩存的聚合种子操作属性相同后,进一步判断所述SCSI 请求与所述緩存的聚合种子所请求操作的地址是否连续,如果所述SCSI请求 与所述緩存的聚合种子的操作相同且所请求操作的地址连续则认为所述SCSI 请求与所述緩存的聚合种子连续。
其中,请求聚合装置3还包括SCSI响应接收模块35,响应判断模块36 和设置模块37, SCSI响应接收模块35用于接收SCSI target设备2返回的 SCSI响应;响应判断模块36用于判断SCSI响应接收4莫块35接收到的SCSI 响应是否为聚合的SCSI请求的响应;设置模块37用于在响应判断模块36判 断接所述SCSI响应为聚合的SCSI请求的响应后,根据聚合前的每个SCSI 请求设置相应的SCSI响应并返回给所述SCSI initiator设备1。
本发明实施例通过将连续的小块数据读或写操作聚合为一个读或写操作 请求,从而减少了读写操作请求的传输次数和请求的执行时间,有效提高读 写性能,并满足特定读写算法的需求。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可借助^l件加必需的通用>^更件平台的方式来实现,当然也可以通过石更 件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使 得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行 本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进 和润饰,这些改进和润饰也应一见为本发明的保护范围。
权利要求
1、一种SCSI数据读写方法,用于提高SCSI系统的读写性能,其特征在于,包括以下步骤接收SCSI initiator设备的SCSI请求;根据接收的所述SCSI请求判断所述SCSI请求与缓存的聚合种子是否连续;如果判断不连续,则将所述SCSI请求作为新的聚合种子进行缓存,在后续SCSI请求与所述新的聚合种子连续时,将后续SCSI请求与所述新的聚合种子进行聚合;如果判断连续,则将所述SCSI请求与缓存的聚合种子进行聚合后生成新的聚合种子并缓存;在满足下发条件后将缓存的所有SCSI请求依次发送至所述SCSI target设备。
2、 如权利要求1所述SCSI数据读写方法,其特征在于,所述判断SCSI 请求与緩存的聚合种子是否连续具体为判断所述SCSI请求与所述緩存的聚合种子操作属性是否相同; 如果都为读操作或写操作,则进一步判断所述SCSI请求与所述緩存的聚合种子所请求操作的地址是否连续;如果所述SCSI请求与所述緩存的聚合种子的操作相同且所请求操作的地址连续,则判断所述SCSI请求与所述緩存的聚合种子连续。
3、 如权利要求1所述SCSI数据读写方法,其特征在于,需要满足的下 发条件具体为聚合后的SCSI请求的长度大于或等于指定的长度;或,聚合等待时间超时;或,已聚合的SCSI请求数量达到指定请求数。
4、 如权利要求2所述SCSI数据读写方法,其特征在于,所述方法还包 括在所述緩存的聚合种子为读操作请求,接收到的所述SCSI请求为写操作 请求,且所述读操作请求和所述写操作请求所请求操作的地址相同时;或,在所述緩存的聚合种子为写操作请求,接收到的所述SCSI请求为读操作请求,且所述写操作请求和所述读操作请求所请求操作的地址相同时,则先将緩存的所述SCSI请求发送至所述SCSI target设备。
5、 如权利要求1所述SCSI数据读写方法,其特征在于,所述将SCSI 请求与緩存的聚合种子进行聚合具体为将所述SCSI请求和所述緩存的聚合种子确定最初的起始扇区和相应的操 作长度。
6、 如权利要求1所述SCSI数据读写方法,其特征在于,在所述将緩存 所有的SCSI请求依次发送至所述SCSI target设备之后,还包括接收所述SCSI target设备返回的SCSI响应;在判断所述SCSI响应为聚合的SCSI请求的响应后,根据聚合前的每个 SCSI请求设置相应的SCSI响应并返回给所述SCSI initiator i殳备。
7、 一种SCSI数据读写系统,用于提高SCSI系统的读写性能,其特征在 于,包括SCSI initiator设备、SCSI target设备和请求聚合装置,所述SCSI initiator设备,用于通过所述请求聚合装置向所述SCSI target 设备发送SCSI请求,并接收所述SCSI target设备通过所述请求聚合装置返回 的SCSI响应;所述SCSI target设备,用于通过所述请求聚合装置接收所述SCSI initiator 设备发送的SCSI请求,执行相应操作,并将执行结果通过所述SCSI响应向 所述SCSI initiator i臾备返回;所述请求聚合装置,用于接收所述SCSI initiator设备的SCSI请求,并在 所述SCSI请求与緩存的聚合种子连续时,将所述SCSI请求与緩存的聚合种 子进行聚合后生成新的聚合种子并緩存,在所述SCSI请求与緩存的聚合种子 不连续时,将所述SCSI请求作为新的聚合种子进行緩存,在后续SCSI请求 与所述新的聚合种子连续时,将后续SCSI请求与所述新的聚合种子进行聚合; 并在满足下发条件后将聚合后的SCSI请求发送至所述SCSI target设备。
8、 如权利要求7所述SCSI数据读写系统,其特征在于,所述请求聚合 装置还用于接收所述SCSI target设备返回的SCSI响应,在判断所述SCSI响 应为聚合的SCSI请求的响应后,根据聚合前的每个SCSI请求设置相应的 SCSI响应并返回给所述SCSI initiator设备。
9、 一种请求聚合装置,用于提高SCSI系统的读写性能,其特征在于, 包括SCSI请求接收模块、请求判断模块、聚合模块和发送模块,所述SCSI请求接收模块,用于接收SCSI initiator设备的SCSI请求; 所述请求判断模块,用于根据所述SCSI请求接收模块接收的所述SCSI请求判断所述SCSI请求与緩存的聚合种子是否连续,在所述SCSI请求与緩存的聚合种子连续时,将所述SCSI请求作为新的聚合种子进行緩存;所述聚合模块,用于在所述请求判断模块判断所述SCSI请求与緩存的聚合种子连续时,将所述SCSI请求与緩存的聚合种子进行聚合后生成新的聚合种子并緩存;所述发送模块,用于在满足下发条件后将聚合后的SCSI请求发送至所述 SCSI target设备。
10、 如权利要求9所述请求聚合装置,其特征在于,所述请求判断模块 包括操作判断子模块和地址判断子模块,所述操作判断子模块,用于判断所述SCSI请求与所述緩存的聚合种子操 作属性是否相同;所述地址判断子才莫块,用于在所述操作判断子模块判断所述SCSI请求与 所述緩存的聚合种子操作属性相同后,进一步判断所述SCSI请求与所述緩存 的聚合种子所请求操作的地址是否连续,如果所述SCSI请求与所述緩存的聚 合种子的操作相同且所请求操作的地址连续则认为所述SCSI请求与所述緩存 的聚合种子连续。
11、 如权利要求9所述请求聚合装置,其特征在于,还包括,SCSI响应 接收模块,响应判断模块和设置模块,所述SCSI响应接收模块,用于接收所述SCSI target设备返回的SCSI响应;所述响应判断模块,用于判断所述SCSI响应接收模块接收到的所述SCSI 响应是否为聚合的SCSI请求的响应; 所述设置模块,用于在所述响应判断模块判断接所述SCSI响应为聚合的 SCSI请求的响应后,根据聚合前的每个SCSI请求设置相应的SCSI响应并返 回给所述SCSI initiator设备。
12、 一种数据读写系统,位于存储系统的发起端以及目标端之间,其特 征在于,包括数据读写软件以及运行该数据读写软件的硬件,其中该数据读 写软件在硬件运行的时候,用以使得数据读写系统执行如权利要求1-6所述的 步骤。
全文摘要
本发明公开了一种SCSI数据读写方法,用于提高SCSI系统的读写性能,包括接收SCSI initiator设备的SCSI请求;根据接收的SCSI请求判断所述SCSI请求与缓存的聚合种子是否连续;如果不连续,则将SCSI请求作为新的聚合种子进行缓存;否则将SCSI请求与缓存的聚合种子进行聚合后生成新的聚合种子并缓存;在满足下发条件后将缓存的所有SCSI请求依次发送至所述SCSI target设备。本发明实施例通过将多个连续的小块数据读或写操作聚合为一个读或写操作请求,从而减少了读写操作请求的传输次数和请求的执行时间,有效提高读写性能,并满足特定读写算法的需求。
文档编号G06F3/06GK101183298SQ200710160640
公开日2008年5月21日 申请日期2007年12月26日 优先权日2007年12月26日
发明者键 张, 王婵娟, 胡永宁 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1