CN105183367B - 小型计算机系统接口scsi的实现方法和装置 - Google Patents
小型计算机系统接口scsi的实现方法和装置 Download PDFInfo
- Publication number
- CN105183367B CN105183367B CN201510478489.8A CN201510478489A CN105183367B CN 105183367 B CN105183367 B CN 105183367B CN 201510478489 A CN201510478489 A CN 201510478489A CN 105183367 B CN105183367 B CN 105183367B
- Authority
- CN
- China
- Prior art keywords
- template
- scsi
- storage device
- data
- device drives
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种小型计算机接口SCSI的实现方法,该实现方法包括:目标模板配置步骤:根据SCSI协议的类型,对预定的目标模板进行配置,其中,所述预定的目标模板中包含多种类型的SCSI协议的目标器的共性内容;设备驱动模板配置步骤:根据存储设备的访问方式,对预定的设备驱动模板进行配置,其中,所述预定的设备驱动模板包含对应多种访问方式的设备驱动的共性内容。本发明根据SCSI协议的不同类型对相同的目标模板进行不同的配置实现了对不同SCSI协议的通信,并根据存储设备不同的访问方式对相同的设备驱动模板进行不同的配置实现了对不同访问方式的存储设备的数据处理,有效的实现了对多种SCSI协议和多种访问方式的存储设备的兼容,具备良好的可扩展性。
Description
技术领域
本发明涉及计算机领域,具体来说,涉及一种小型计算机系统接口SCSI的实现方法和装置。
背景技术
小型计算机系统接口(SCSI)是一种计算机中点对点传输的通信协议,在SCSI协议中规定了两个通信角色——发起器和目标器,SCSI协议的通信是以在发起器和目标器之间传递命令、状态和数据块的方式进行实现的。
其中,对于SCSI协议的目标器来说,其主要的工作内容是接收用户请求和为用户提供服务,具体而言,目标器前端驱动主要完成对来自发起器的命令和数据的接收,目标器的设备驱动主要完成对来自或发往存储设备的命令及数据的处理,因此,SCSI协议的目标器一般会以软件的形式部署在存储服务器中,其不仅可以实现对SCSI协议的数据处理,也可以实现对存储设备的数据处理。
目前,随着SCSI协议在通信领域的发展,SCSI协议的类型越来越多,例如,Internet小型计算机系统接口(ISCSI)、光纤通道(FC)、以太网光纤通道(FCEO)等,因此,与SCSI协议类型相适应的发起器和目标器也越来越多,但是,由于各种类型的SCSI协议从被提出到成熟以及被广泛应用的时间均不相同,因此,与协议类型相对应的目标器普遍存在着异步开发的问题,也就是说,现有的目标器只能实现与之相对应的一种协议类型的通信,其并不能够同时支持多种SCSI协议的通信,而且,由于现有的目标器普遍是针对某一种类型的SCSI协议而进行的专门开发,因此,现有的目标器软件也很难存在对其做出进一步开发或改进,以使其实现对多种SCSI协议进行通信的条件,因此,现有的SCSI目标器普遍存在着兼容性、可扩展性差的问题。
另外,由于SCSI协议的目标器是部署在存储系统中的,而对于目前的存储系统中的存储介质来说,其类型是十分丰富的,例如磁盘、磁带、光盘、虚拟磁盘等,其中,虚拟磁盘又可以划分出多种数据访问方式,而在未来也可能会有更多类型的存储介质来使用SCSI协议进行通信。目前,在现有技术中,存储系统中多种访问方式的存储介质给目标器的开发带来了诸多的不便,因为,对于现有的目标器,每当在存储系统中新增一种存储方式或访问方式的存储介质,就必须对目标器中的设备驱动程序进行重新编写,以使其适应存储系统中的所有存储介质的访问,因此,现有的SCSI目标器在支持存储介质的类型方面也是存在着兼容性、可扩展性差的问题。
针对相关技术中SCSI目标器的兼容性、可扩展性差的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中SCSI目标器对不同类型的SCSI协议以及对不同访问方式的存储介质均存在的兼容性、可扩展性差的问题,本发明提出一种小型计算机系统接口SCSI的实现方法和装置,能够有效的提高SCSI目标器在SCSI协议实现方面和存储访问介质方面的兼容性和可扩展性。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种小型计算机系统接口SCSI的实现方法。
该实现方法包括:
目标模板配置步骤:根据SCSI协议的类型,对预定的目标模板进行配置,其中,该预定的目标模板中包含多种类型的SCSI协议的目标器的共性内容;
设备驱动模板配置步骤:根据存储设备的访问方式,对预定的设备驱动模板进行配置,其中,该预定的设备驱动模板包含对应多种访问方式的设备驱动的共性内容。
可选的,该实现方法还可包括:
根据SCSI协议的类型,对预定的私有模板进行配置,其中,该私有模板的初始状态为空白状态,其用于存储该SCSI协议区别于其他SCSI协议的差异内容。
可选的,该实现方法还可包括:
将用于该SCSI协议的函数导入至配置后的目标模板。
可选的,该实现方法还可包括:
将用于该存储设备的函数导入配置后的设备驱动模板。
另外,该实现方法还可包括:
在处理SCSI协议的数据时,通过调用配置后的目标模板、和/或应用程序编程接口API的函数来对该数据进行处理。
此外,在对上述目标模板进行配置时,配置的对象包括以下至少之一:属性、队列、缓存、回调函数。
与此对应的,在处理该SCSI协议的数据时,通过调用配置后的该目标模板中的上述回调函数来确定当前的协议类型,并根据确定的协议类型对上述数据进行处理。
另外,该实现方法还可包括:
在对由该存储设备发出的数据进行处理时,通过调用配置后的该设备驱动模板、和/或静态库LIB的函数对该数据进行处理;
在对发送至该存储设备的数据进行处理时,通过调用配置后的该设备驱动模板、和/或静态库LIB的函数对该数据进行处理。
此外,在对上述设备驱动模板进行配置时,配置的对象包括以下至少之一:
针对该存储设备的基本操作、发往该存储设备的命令的处理函数、线程池资源、回调函数。
与此对应的,在对由该存储设备发出的数据进行处理时,通过调用配置后的该设备驱动模板中的该回调函数,确定该存储设备的当前访问方式,并根据确定的访问方式对该数据进行处理;和/或在对发送至该存储设备的数据进行处理时,通过调用配置后的该设备驱动模板中的该回调函数,确定该存储设备的当前访问方式,并根据确定的访问方式对该数据进行处理。
根据本发明的另一方面,提供了一种小型计算机系统接口SCSI的实现装置。
该实现装置包括:
目标模板配置模块,用于根据SCSI协议的类型,对预定的目标模板进行配置,其中,该预定的目标模板中包含多种类型的SCSI协议的目标器的共性内容;
设备驱动模板配置模块,用于根据存储设备的访问方式,对预定的设备驱动模板进行配置,其中,该预定的设备驱动模板包含对应多种访问方式的设备驱动的共性内容。
本发明根据SCSI协议的不同类型对相同的目标模板进行不同的配置实现了对不同SCSI协议的通信,并且根据存储设备不同的访问方式对相同的设备驱动模板进行不同的配置实现了对不同访问方式的存储设备的数据处理,有效的实现了对多种SCSI协议和多种访问方式的存储设备的兼容,具备良好的可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的小型计算机系统接口SCSI的实现方法的流程图;
图2是根据本发明的一具体实施例的小型计算机系统接口SCSI的实现方法的流程图;
图3是根据本发明实施例的设备驱动层与存储设备之间的流程图;
图4是根据本发明实施例的目标模板和私有模板配置的示意图;
图5是根据本发明实施例的小型计算机系统接口SCSI的实现方法的扩展示意图;
图6是根据本发明实施例的小型计算机系统接口SCSI的实现装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种小型计算机系统接口SCSI的实现方法。
如图1所示,根据本发明实施例的实现方法包括:
步骤S101,目标模板配置步骤:根据SCSI协议的类型,对预定的目标模板进行配置,其中,该预定的目标模板中包含多种类型的SCSI协议的目标器的共性内容;
步骤S103,设备驱动模板配置步骤:根据存储设备的访问方式,对预定的设备驱动模板进行配置,其中,该预定的设备驱动模板包含对应多种访问方式的设备驱动的共性内容。
借助于本发明的上述技术方案,根据SCSI协议的不同类型对相同的目标模板进行不同的配置实现了对不同SCSI协议的通信,并且根据存储设备不同的访问方式对相同的设备驱动模板进行不同的配置实现了对不同访问方式的存储设备的数据处理,有效的实现了对多种SCSI协议和多种访问方式的存储设备的兼容,具备良好的可扩展性。
为了更好的理解本发明的上述技术方案,下面将结合一具体实施例对本发明的技术方案进行详细阐述。
如图2所示,这里给出了本发明的SCSI协议的具体实现方法,在图2中所示的本发明的目标器可以接收来自不同SCSI协议(例如iscsi、fc协议)的发起器的数据,并对接收到的数据进行处理,但是应当注意的是,对于图2中所示出的发起器只是为了更好的理解本发明的技术方案,该发起器的实现并不属于本发明的技术方案的保护范围之内。
在本实施例中,该目标器在逻辑上分为三层:目标驱动层(包括iscsi目标驱动、fc目标驱动、fcoe目标驱动、sas目标驱动、srp目标驱动)、SCSI目标核心层和设备驱动层(包括虚拟设备驱动——virtual dev驱动、磁盘设备驱动——disk驱动、磁带设备驱动——tape驱动、只读光盘设备驱动——cdrom驱动)。
其中,对于SCSI目标核心层,其为了能够使上层目标驱动层对各种SCSI协议进行实现,其对目标驱动层提供了目标模板(target template)、私有模板(未示出)和API接口。
其中,对于目标模板来说,其存储着各种SCSI协议的目标器的共性内容,例如目标器属性、队列、缓存、回调函数等,但是应当注意的是,上述共性内容所对应的具体数据是需要根据SCSI协议的类型的实际需要对其进行配置的,并且通过对其进行不同的配置进而实现不同的SCSI协议。
此外,对于在这里列举的共性内容只是为了方便理解本发明的技术方案,在实际应用中,目标模板中还可以包含其他的各种SCSI协议之间的共性内容,本发明对此并不做限定。
另外,由于目标模板存储的只是各种SCSI协议之间的共性内容,而在实际应用中,对于每种SCSI协议的实现,其有可能还需要实现其自身所具有的,并且区别于其他协议的差异内容,因此,在本发明的目标核心层还提供了私有模板(未示出),用来存储每种协议在实现过程中区别于其他协议的差异内容,而对于该私有模板,其初始状态为空白状态,它所存储的内容需要根据协议类型的实际需要进行配置。
此外,对于任何一种SCSI协议,其在实现过程中都会包含解析命令、准备缓存、预处理、处理、准备应答以及发射应答等过程,因此,为了简化协议的实现过程,在本实施例中,在目标核心层为目标驱动层提供了API接口,在API接口中包含着对上述过程进行处理的函数,因此,在进行任何一种协议的实现时,目标驱动层只需要调用API接口中相应的函数即可完成对协议数据的处理。
但是,应当注意的是,在这里只是简略的列举了几个在协议实现过程中所需要的过程处理函数,在实际应用中,对于API接口中所包含的过程处理函数并不限于此,其也包含其他的用于SCSI协议的函数,本发明对此并不作限定。
此外,在本实施例中,是以API接口的方式为目标驱动层提供用于SCSI协议实现的函数,但是,在实际应用中,也可以是将这些用于SCSI协议实现的函数导入至目标模板,并通过调用目标模板中的上述函数的方式来对SCSI协议进行实现,当然,这些用于SCSI协议的函数也可以是以其他的方式提供给目标驱动层使用,本发明对此并不做限定。
此外,对于SCSI目标核心层,其为了能够使下层设备驱动层对不同访问方式的存储设备进行数据处理,SCSI目标核心层对设备驱动层提供了设备驱动模板(devicetemplate)和LIB库。
其中,对于设备驱动模板,其存储着对应多种访问方式的设备驱动的共性内容,例如针对存储设备的添加、删除、管理等基本操作、发往存储设备的命令的处理函数、线程池资源、回调函数等,但是应当注意的是,上述共性内容所对应的具体实现是需要根据存储设备的实际访问方式来对其进行配置的,因此,通过对同一设备驱动模板进行不同的配置从而能够实现对不同访问方式的存储设备的数据处理。
此外,对于在这里列举的几项共性内容只是为了方便理解本发明的技术方案,在实际应用中,设备驱动模板中还可以包含其他的对应多种访问方式的设备驱动的共性内容,本发明对此并不做限定。
另外,由于设备驱动模板存储的只是对应多种访问方式的设备驱动的共性内容,而在实际应用中,对于不同访问方式的存储设备,其所对应的设备驱动还可能有相应的不同数据处理操作,因此,在本发明的设备驱动层提供了的对应不同访问方式的存储设备驱动接口,如图2所示,在本实施例中实现了虚拟磁盘virtual dev、物理上的磁盘disk、物理上的磁带tape和物理上的光盘cdrom的驱动接口,因此,本发明能够借助不同访问方式的驱动接口,对不同访问方式的存储设备进行不同的数据处理。
但是,应当注意的是,在这里只是示意的提供了几个常用的存储方式的驱动接口,在实际应用中,也可以根据实际需要,在设备驱动层添加其他的对应不同访问方式的设备驱动接口,本发明对此并不作限定。
此外,对于图2中所示的不同访问方式的驱动接口的实现方式,如图3所示,为了方便理解本发明的技术方案,在最底层示出的是物理上的存储设备(磁盘、磁带、光盘),但是应当注意的是,上述物理设备并不属于本发明的技术方案,对于这些物理上的裸设备,在对其进行数据访问时,其可以直接作为设备驱动层相应的驱动接口使用,也就是说,经过目标驱动层处理过的SCSI协议,其可以在设备驱动层对上述类型的存储设备进行直接访问,并且其访问的就是实际的物理设备。
但是应当注意的是,对于上述物理上的存储设备,在本实施例中只是列举了几个具体的实例而已,因此,在实际应用中,不通过驱动接口采用直接对存储设备进行访问方式的也可以是其他的符合上述类型的物理上的存储设备,本发明对此并不做限定。
另外,由于磁盘还可以通过其他的技术方式成为虚拟磁盘,因此,就最底层的存储设备类型为虚拟磁盘的情况而言,由于其并不是物理的磁盘,因此,需要在驱动层对其不同的数据访问方式进行实现,如图4所示,在本实施例中,将虚拟磁盘disk按照分区划分得到多个磁盘分区(disk partition),并将每一个分区作为一个SCSI设备,并为对应不同访问方式的SCSI设备提供了各种不同的虚拟引擎(virtural handler),其中,包括按照文件系统访问的处理引擎(fileio)、按照块访问的处理引擎(block io)、按照直接整体读取的方式访问的处理引擎(null io),通过上述不同的处理引擎可以实现对不同访问方式的SCSI存储设备的不同数据处理,由此,实现了SCSI协议对虚拟磁盘的不同方式访问。
但是应当注意的是,对于虚拟磁盘划分方式,在实际应用中,其也可以是其他的划分方式,例如3个分区为一个SCSI设备,或者并不按照分区划分,按照其他的方式进行划分,并形成不同访问方式的SCSI设备,本发明对此并不作限定。
此外,虽然在SCSI协议实现过程中,对不同方式的存储设备的处理并不完全相同,但是,这些不同访问方式的存储设备经过抽象后,被用户使用时仍是如图4所示的最上层的一个个目标设备,用户并不会看到不同访问方式的存储设备的处理差异,由此可以提高用户的体验感。
另外,对于对应各种访问方式的设备驱动来说,其在实际应用中都会涉及对内存的管理、设备命令的分配、设备命令的处理以及统一的debug模块,因此,为了简化设备驱动的数据处理过程,在本实施例中,在目标核心层为设备驱动层提供了LIB模块,在LIB模块中包含着对上述过程进行处理的函数,因此,在进行任何一种访问方式的设备驱动的实现时,设备驱动层只需要调用LIB模块中相应的函数即可完成对存储设备的数据处理。
但是,应当注意的是,在这里只是简略的列举了几个在对存储设备的数据进行处理的过程中所需要的过程处理函数,在实际应用中,对于LIB模块中所包含的对存储设备的处理内容并不限于此,其也可以包含其他的用于存储设备的函数,本发明对此并不做限定。
此外,在本实施例中,是以LIB模块的方式为设备驱动层提供用于存储设备的函数,但是,在实际应用中,也可以是将这些用于存储设备的函数导入至配置后的设备驱动模板,并通过调用设备驱动模板中相应的函数来实现存储设备的数据处理,当然,这些用于存储设备的函数也可以是以其他的方式提供给设备驱动层,本发明对此并不做限定。
通过对本发明的目标核心层的上述描述可以看出,本发明借助于目标核心层将各种SCSI协议在实现过程中都需要的数据结构和方法以模板的方式提供给了开发者,开发者只需要根据SCSI协议的类型和存储设备的访问方式对各个模板进行分别配置,即可实现对多种SCSI协议和多种访问方式的存储设备的数据处理。
在图2所示实施例中,在目标驱动层给出了iscsi、fc、fceo等多个目标协议的驱动,在实际应用中,可以根据实际需要对目标驱动层的目标驱动进行设置,在此不再赘述。
为了更好的理解本发明的技术方案,下面将结合图2并以ISCSI协议的实现流程为例,对本发明的技术方案进行详细阐述。
首先,根据ISCSI协议类型的需要对目标模板进行配置,即根据协议需要填入相应的属性数据,并使用相应的队列对数据进行组织,并对目标模板中的回调函数进行实现;并且,根据存储设备的访问方式对设备驱动模板进行配置,即根据存储设备的访问方式对存储设备的添加、删除、管理等基本操作、发往存储设备的命令的处理函数、线程池资源、回调函数等进行具体内容的配置;
其次,如果ISCSI还有区别于其他协议的私有数据结构或方法,则如图3所示,在对目标模板(target template)中的共性内容进行配置的同时,还需要对目标核心层的私有模板(target private data)进行配置;
然后,目标驱动层的ISCSI驱动根据接收到的来自发起器的命令和数据的实际需要,对配置后的目标模板进行调用,目标模板根据模板中配置好的回调函数对目标驱动进行判断,确定当前协议的类型为ISCSI,然后目标模板调用与ISCSI协议相对应的配置后的模板内容,对ISCSI接收到的命令和数据进行处理;同时,ISCSI驱动还可以根据实际的处理过程,调用API接口中相应的函数对命令或数据作出处理;
此外,如果ISCSI还有配置有私有模块的相应内容的话,则ISCSI还可以对私有模板中的相应内容进行调用,以实现对接收到的命令和数据的处理;
然后,ISCSI驱动将完成处理的命令或数据发送至设备驱动层相应的设备驱动;
最后,设备驱动根据接收到的命令或数据的实际需要,对配置后的设备驱动模板进行调用,设备驱动模板根据模板中配置好的回调函数对设备驱动进行判断,确定当前驱动所对应的存储设备访问方式,然后设备驱动模板调用与设备访问方式相对应的配置后的模板内容,对设备驱动接收到的命令和数据进行处理;同时,设备驱动还可以根据实际的处理过程,调用LIB模块中相应的函数对命令或数据作出处理。
通过以上流程的具体描述,借助于本发明的技术方案完成了对ISCSI协议的实现。
其中,在上述实施例中,对于设备驱动层接收到的命令或数据,其可以是来自目标驱动层,也可以来自存储设备,也就是说,在实际应用中,设备驱动层即可以对发往存储设备的命令或数据进行处理,也可以对由存储设备发出的命令或数据进行处理,本发明对此并不作限定。
通过以上实施例的描述可以看出,本发明通过使用同样的模板将各种不同的SCSI传输协议统一到同一个目标核心层中进行实现,简化开发流程的同时,又支持了多种协议和多种存储设备访问方式的实现。
此外,本发明的SCSI协议的实现还具有非常好的可扩展性,本发明并不限定一个目标模板必须要对应多种协议类型的目标驱动,或者一个设备驱动模板必须要对应多种访问方式的设备驱动,如图5所示,SCSI协议的目标驱动和目标模板也可以是一对一的关系,相应的,设备驱动和设备驱动模板也可以是一对一的关系,也就是说,每一种SCSI协议的目标驱动对应一个目标模板,每一种访问方式的设备驱动对应一个设备驱动模板,当然,不论是目标模板还是设备驱动模板它们都是相同的模板,只是根据协议的类型或者存储设备的访问方式对其进行不同的配置而已。
此外,如图5所示,为了方便目标驱动层和设备驱动层的管理和优化,对于不同协议类型的目标驱动target可以组成目标驱动链表target_list,与之相对应的,对于不同访问方式的设备驱动device则可以组成设备驱动链表dev_list。
根据本发明的实施例,还提供了一种小型计算机系统接口SCSI的实现装置。
如图6所示,根据本发明实施例的实现装置包括:
目标模板配置模块61,用于根据SCSI协议的类型,对预定的目标模板进行配置,其中,该预定的目标模板中包含多种类型的SCSI协议的目标器的共性内容;
设备驱动模板配置模块62,用于根据存储设备的访问方式,对预定的设备驱动模板进行配置,其中,该预定的设备驱动模板包含对应多种访问方式的设备驱动的共性内容。
综上所述,借助于本发明的上述技术方案,根据SCSI协议的不同类型对相同的目标模板进行不同的配置实现了对不同SCSI协议的通信,并且根据存储设备不同的访问方式对相同的设备驱动模板进行不同的配置实现了对不同访问方式的存储设备的数据处理,有效的实现了对多种SCSI协议和多种访问方式的存储设备的兼容,具备良好的可扩展性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种小型计算机系统接口SCSI的实现方法,其特征在于,包括:
目标模板配置步骤:根据SCSI协议的类型,对预定的目标模板进行配置,其中,所述预定的目标模板中包含多种类型的SCSI协议的目标器的共性内容;
设备驱动模板配置步骤:根据存储设备的访问方式,对预定的设备驱动模板进行配置,其中,所述预定的设备驱动模板包含对应多种访问方式的设备驱动的共性内容;
其中,所述实现方法进一步包括:
在对由所述存储设备发出的数据进行处理时,通过调用配置后的所述设备驱动模板、和/或静态库LIB的函数对所述数据进行处理;
在对发送至所述存储设备的数据进行处理时,通过调用配置后的所述设备驱动模板、和/或静态库LIB的函数对所述数据进行处理。
2.根据权利要求1所述的实现方法,其特征在于,进一步包括:
根据所述SCSI协议的类型,对预定的私有模板进行配置,其中,所述私有模板的初始状态为空白状态,其用于存储所述SCSI协议区别于其他SCSI协议的差异内容。
3.根据权利要求1所述的实现方法,其特征在于,进一步包括:
将用于所述SCSI协议的函数导入配置后的所述目标模板;和/或
将用于所述存储设备的函数导入配置后的所述设备驱动模板。
4.根据权利要求1所述的实现方法,其特征在于,进一步包括:
在处理所述SCSI协议的数据时,通过调用配置后的所述目标模板、和/或应用程序编程接口API的函数来对所述数据进行处理。
5.根据权利要求1所述的实现方法,其特征在于,在对所述目标模板进行配置时,配置的对象包括以下至少之一:属性、队列、缓存、回调函数。
6.根据权利要求5所述的实现方法,其特征在于,所述实现方法进一步包括:
在处理所述SCSI协议的数据时,通过调用配置后的所述目标模板中的所述回调函数确定协议类型,并根据确定的协议类型对所述数据进行处理。
7.根据权利要求1所述的实现方法,其特征在于,在对所述设备驱动模板进行配置时,配置的对象包括以下至少之一:
针对所述存储设备的基本操作、发往所述存储设备的命令的处理函数、线程池资源、回调函数。
8.根据权利要求7所述的实现方法,其特征在于,所述实现方法进一步包括:
在对由所述存储设备发出的数据进行处理时,通过调用配置后的所述设备驱动模板中的所述回调函数,确定所述存储设备的当前访问方式,并根据确定的访问方式对所述数据进行处理;和/或
在对发送至所述存储设备的数据进行处理时,通过调用配置后的所述设备驱动模板中的所述回调函数,确定所述存储设备的当前访问方式,并根据确定的访问方式对所述数据进行处理。
9.一种小型计算机系统接口SCSI的实现装置,其特征在于,包括:
目标模板配置模块,用于根据SCSI协议的类型,对预定的目标模板进行配置,其中,所述预定的目标模板中包含多种类型的SCSI协议的目标器的共性内容;
设备驱动模板配置模块,用于根据存储设备的访问方式,对预定的设备驱动模板进行配置,其中,所述预定的设备驱动模板包含对应多种访问方式的设备驱动的共性内容;
其中,所述实现装置进一步包括:
在对由所述存储设备发出的数据进行处理时,通过调用配置后的所述设备驱动模板、和/或静态库LIB的函数对所述数据进行处理的模块;
在对发送至所述存储设备的数据进行处理时,通过调用配置后的所述设备驱动模板、和/或静态库LIB的函数对所述数据进行处理的模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510478489.8A CN105183367B (zh) | 2015-08-06 | 2015-08-06 | 小型计算机系统接口scsi的实现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510478489.8A CN105183367B (zh) | 2015-08-06 | 2015-08-06 | 小型计算机系统接口scsi的实现方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183367A CN105183367A (zh) | 2015-12-23 |
CN105183367B true CN105183367B (zh) | 2018-07-03 |
Family
ID=54905476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510478489.8A Active CN105183367B (zh) | 2015-08-06 | 2015-08-06 | 小型计算机系统接口scsi的实现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183367B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258661A (zh) * | 2020-01-13 | 2020-06-09 | 山东超越数控电子股份有限公司 | 一种基于uefi scsi的raid卡驱动设计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566923A (zh) * | 2008-04-25 | 2009-10-28 | 中兴通讯股份有限公司 | 一种目标端scsi设备统一驱动模块及方法 |
US7739448B1 (en) * | 2000-06-30 | 2010-06-15 | Emc Corporation | System and method for managing storage networks and providing virtualization of resources in such a network |
CN101788888A (zh) * | 2010-02-09 | 2010-07-28 | 中兴通讯股份有限公司 | 一种实现目标端驱动的方法及该目标端驱动 |
CN103176751A (zh) * | 2013-03-04 | 2013-06-26 | 浪潮电子信息产业股份有限公司 | 一种多种存储协议下的统一服务系统 |
-
2015
- 2015-08-06 CN CN201510478489.8A patent/CN105183367B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739448B1 (en) * | 2000-06-30 | 2010-06-15 | Emc Corporation | System and method for managing storage networks and providing virtualization of resources in such a network |
CN101566923A (zh) * | 2008-04-25 | 2009-10-28 | 中兴通讯股份有限公司 | 一种目标端scsi设备统一驱动模块及方法 |
CN101788888A (zh) * | 2010-02-09 | 2010-07-28 | 中兴通讯股份有限公司 | 一种实现目标端驱动的方法及该目标端驱动 |
CN103176751A (zh) * | 2013-03-04 | 2013-06-26 | 浪潮电子信息产业股份有限公司 | 一种多种存储协议下的统一服务系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105183367A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11372802B2 (en) | Virtual RDMA switching for containerized applications | |
KR102427561B1 (ko) | Fpga 기반 가속화를 위한 새로운 ssd 구조 | |
CN104050201B (zh) | 用于多租户分布式环境中的数据管理的方法和设备 | |
CN109582441A (zh) | 用于提供容器服务的系统、方法和装置 | |
US20160092119A1 (en) | Data migration between different types of storage systems | |
CN109388590B (zh) | 提升多通道dma访问性能的动态缓存块管理方法和装置 | |
CN112130748B (zh) | 一种数据访问方法、网卡及服务器 | |
CN114780458A (zh) | 数据处理的方法和存储系统 | |
CN106775946B (zh) | 一种虚拟机快速创建方法 | |
JP6757808B2 (ja) | インフィニバンド(IB)上で仮想ホストバスアダプタ(vHBA)を管理およびサポートするためのシステムおよび方法、ならびに単一の外部メモリインターフェイスを用いてバッファの効率的な使用をサポートするためのシステムおよび方法 | |
US9459897B2 (en) | System and method for providing data analysis service in cloud environment | |
US10152402B2 (en) | Supporting multiple streams for a redirected USB device | |
US11201836B2 (en) | Method and device for managing stateful application on server | |
US20180006963A1 (en) | Network-accessible data volume modification | |
CN104731635B (zh) | 一种虚拟机访问控制方法,及虚拟机访问控制系统 | |
US9654582B2 (en) | Enhanced shared memory based communication driver for improved performance and scalability | |
US10579287B2 (en) | Sharing alias addresses among logical devices | |
US20210373928A1 (en) | Method, system and apparatus for sharing of fpga board by multiple virtual machines | |
CN111124299A (zh) | 数据存储管理方法、装置、设备、系统及存储介质 | |
CN113242175B (zh) | 一种基于spdk的存储网关及其实现方法 | |
CN105183367B (zh) | 小型计算机系统接口scsi的实现方法和装置 | |
CN107430510A (zh) | 数据处理方法、装置和系统 | |
CN106933646B (zh) | 一种创建虚拟机的方法及装置 | |
CN106933497B (zh) | 一种基于sas的管理调度装置、系统及方法 | |
CN108509155A (zh) | 一种远程访问磁盘的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220127 Address after: 300450 3 / F, No. 15, Haitai Huake street, Huayuan Industrial Zone (outer ring), Tianjin Binhai New Area, Tianjin Patentee after: Tianjin Zhongke Shuguang Storage Technology Co.,Ltd. Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |