CN100412779C - 提供主机通过存储控制器端口访问设备的方法和系统 - Google Patents

提供主机通过存储控制器端口访问设备的方法和系统 Download PDF

Info

Publication number
CN100412779C
CN100412779C CNB2005101247676A CN200510124767A CN100412779C CN 100412779 C CN100412779 C CN 100412779C CN B2005101247676 A CNB2005101247676 A CN B2005101247676A CN 200510124767 A CN200510124767 A CN 200510124767A CN 100412779 C CN100412779 C CN 100412779C
Authority
CN
China
Prior art keywords
port
data structure
host
pointer
memory controller
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.)
Expired - Fee Related
Application number
CNB2005101247676A
Other languages
English (en)
Other versions
CN1831748A (zh
Inventor
马修·J·卡洛斯
理查德·A·里普伯格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1831748A publication Critical patent/CN1831748A/zh
Application granted granted Critical
Publication of CN100412779C publication Critical patent/CN100412779C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system

Abstract

提供一种用于提供主机通过存储控制器端口访问设备的方法和一种与具有主机端口的主机和设备有关的系统。所述方法包括:从存储控制器端口上的主机端口接收登录,其中在存储控制器上配置主机端口来访问一个或多个设备;将项添加到对于登录中所涉及的主机端口和存储控制器端口的主机存储控制器端口数据结构中;在主机存储控制器端口数据结构的项中初始化至少一个指针来指向至少一个中间数据结构中的至少一个项;以及在由主机存储控制器端口数据结构中的一个经初始化的指针寻址的一个中间数据结构的每个项中,初始化一个指针来指向具有多个项的连结数据结构。

Description

提供主机通过存储控制器端口访问设备的方法和系统
技术领域
本发明涉及用于维护以及使用关于主机、端口和设备连接的连结信息(nexus information)的方法、系统和程序。
背景技术
在某些计算环境中,多主机系统可能与一个或多个诸如IBM企业存储服务器(ESS)之类的存储控制器通信由接收请求的ESS所管理的存储设备中的数据。存储控制器管理对诸如通过一个或多个逻辑路径互连的硬盘驱动器之类的存储设备的访问。(IBM和ESS是IBM的注册商标)。可以将互连的设备配置为直接访问存储设备(DASD)、冗余独立磁盘阵列(RedundantArray of Independent Disks,RAID)、磁盘连续捆束阵列(Just a Bunch ofDisks,JBOD)等。存储控制器可以配置定义在存储控制器所管理的存储设备中存储空间的区域的逻辑卷。
存储控制器或存储控制器中的适配器可能维护关于每个可能连接的连结信息,包括主机端口、存储控制器端口和存储设备(逻辑卷)。在小型计算机系统接口(SCSI)中,启动器(initiator)(I)与目标(T)交互来发出到逻辑单元(L)的I/O操作。在I/O操作进行的同时,启动程序/目标/逻辑单元具有被称为ITL连结的关系。为了管理ITL连结,存储控制器需要维护某些持续超过I/O操作的持续时间的信息。例如,该信息可能包括涉及挂起的单元关注条件(pending unit attention condition)的指示器和保留(reservation)。在典型的实现中,启动器功能与主机端口相关联,目标功能与存储控制器端口相关联,而逻辑单元与存储设备相关联。即使对于当前不具有配置的逻辑卷的主机端口-存储控制器端口-逻辑卷组合,也维护该信息,这是由于它们可能在之后的时间被添加到配置中。随着配置中的设备、存储控制器端口和相连的主机端口的数量的增加,存储连结信息所需的存储器也在增加。
发明内容
提供一种维护和使用关于主机、端口和设备连结的连结信息的方法、系统和程序。
根据本发明的一个方面,提供一种用于提供主机通过存储控制器端口访问设备的方法,包括:接收来自存储控制器端口上的主机端口的登录,其中在存储控制器上配置主机端口来访问一个或多个设备;将项添加到对于登录中所涉及的主机端口和存储控制器端口的主机存储控制器端口数据结构中;在主机存储控制器端口数据结构的项中初始化至少一个指针来指向至少一个中间数据结构中的至少一个项;以及在由主机存储控制器端口数据结构中的一个经初始化的指针寻址的一个中间数据结构的每个项中,初始化一个指针来指向具有多个项的连结(nexi)数据结构。
根据本发明的另一个方面,提供一种与具有主机端口的主机和设备有关的系统,包括:多个存储控制器端口;处理器;存储器,包括主机存储控制器端口数据结构、至少一个中间数据结构和至少一个连结数据结构;计算机可读介质,包含由处理器执行来完成操作的代码,所述操作包括:(i)接收来自一个存储控制器端口上的一个主机端口的登录,其中在存储控制器上配置主机端口来访问一个或多个设备;(ii)将项添加到对于登录中所涉及的主机端口和存储控制器端口的主机存储控制器端口数据结构中;(iii)在主机存储控制器端口数据结构的项中初始化至少一个指针来指向至少一个中间数据结构中的至少一个项;以及(iv)在由主机存储控制器端口数据结构中的一个经初始化的指针寻址的一个中间数据结构的每个项中,初始化一个指针来指向具有多个项的一个连结数据结构。
附图说明
图1图解了计算环境的实施例;
图2图解了用于维护关于主机-存储控制器端口-逻辑卷连接的连结信息的数据结构;和
图3、4和5图解了生成和使用连结信息的操作。
具体实施方式
图1图解了计算环境的实施例。多个主机2a、2b...2n通过网络8,将指向一个或多个存储系统4(只示出一个)的输入/输出(I/O)请求发送到存储控制器6,其中存储控制器6管理对存储系统4的访问。每个主机2a、2b...2n可以包括主机适配器卡上的一个或多个主机端口。存储控制器6包括处理器10,其执行I/O管理器代码12来配置并管理存储系统中的逻辑卷14a、14b...14n。卷包括可以由主机2a、2b...2n引用的存储系统4中的存储空间的部分的逻辑表示,例如逻辑设备或者逻辑单元号码(LUN)。存储控制器6包括多个适配器16a、16b,适配器16a、16b包括端口18a、18b、18c和18d。可以有比图1中所示更多或更少的适配器和端口,以及每个适配器有更多或更少的端口。每个主机2a、2b...2n可以连接到每个端口18a、18b...18n,从而连接到逻辑卷14a、14b...14n。
存储控制器6包括诸如非易失性存储器之类存储器20,存储器20包括I/O高速缓存22和通过关于主机、端口和逻辑卷之间所建立的连接的信息(又称为连结信息)的连结信息24。连结信息可以提供关于连接的指示器的信息,例如主动提供的单元关注条件(unsolicited unit attention conditions)、保留状态、报告的事件、状态等。尽管任何主机2a、2b、...、2n可以通过任何端口18a、18b、18c、18d连接到任何逻辑卷14a、14b、...、14n,但在很多实现中,主机可能不是通过所有可能的端口连接到所有可能的逻辑卷。I/O管理器代码12能够使用连结信息22来处理不同连接的请求。
主机2a、2b、...、2n可以包括能够通过网络发送I/O请求的计算环境,例如服务器、工作站、台式机、大型机、便携式计算机、手持计算设备、电话设备等。存储控制器6可以包括存储服务器、企业存储服务器、存储控制器或者用于管理指向由存储控制器所管理的存储系统4的I/O请求的其他设备。在一个实施例中,在使用SCSI上层协议(ULP)的光纤信道互连上执行所述的用于管理卷的操作。存储系统4可以包括一个或多个本领域中公知的设备,例如互相连接的硬盘驱动器(例如被配置为DASD、RAID、JBOD等)、磁带驱动器、电存储器等。网络8可以包括局域网(LAN)、存储区域网络(SAN)、因特网以及内联网、无线网络、总线接口、串行或并行连接等。
图2图解了用于维护不同的主机端口-存储控制器端口-设备连接的连结信息的数据结构的排列。索引50具有由主机端口2a、2b、...、2n和存储控制器端口18a、18b、18c、18d的标识符索引的项,其中每个索引的项包括指向主机存储控制器端口数据结构56的项(例如54)的指针(例如52)。在一个实施例中,对I/O适配器中的每个I/O端口维护索引表50。每个I/O端口支持来自相连的主机的一定数量的N端口登录,该登录可以包括光纤信道或其他协议登录。每个N端口登录使用主机端口索引表50的一个元素,并且该项的内容标识登录的主机端口以及在主机端口-存储控制器端口数据结构中的项的唯一索引,该索引是在主机端口发出进程登录(process login)时从用于该特定N端口登录在I/O端口上的存储控制器获得的。因此,当添加新的主机端口-存储控制器端口组合的新的进程登录时,添加项/指针(例如52)到索引50中,该指针寻址添加到该主机端口-存储控制器端口组合的主机端口-存储控制器端口数据结构56中的新的项(例如54)。主机端口-存储控制器端口数据结构中项的数量决定所有存储控制器端口上可能的进程登录的数量。主机端口-存储控制器端口数据结构56中的每个项(例如54)包括多个指针58,其中每个指针(例如60a、60b)寻址单独的中间数据结构(例如62a、62b)。每个中间数据结构62a、62b包括指针(例如64a、64b),其中每个指针(例如64a、64b)寻址不同连结数据结构66a、66b。连结数据结构的项66a、66b提供与地址连续的逻辑卷14a、14b、...、14n相关联的LUN的连结信息,其中逻辑卷地址是唯一的,并且根据存储控制器所使用的一定方案来分配。存在从由I/O接口上的主机端口所使用的LUN_ID到逻辑卷地址的定义的映射。
设备(逻辑卷)地址可以用于索引不同的数据结构,来定位连结数据结构66a、66b中的连结信息项。例如,设备地址的第一部分可以标识第一指针60a、60b,包括任何一个包含在用于主机-端口对的主机端口-存储控制器端口数据结构56中的项54中的指针58。设备地址的第二部分可以标识由第一指针(例如60a、60b)所寻址的中间数据结构62a、62b中的第二指针64a、64b。第一和第二指针可以包括指针组58a和60a、60b中的任何指针。设备地址的第三部分则可以提供到连结数据结构66a、66b中的项的索引,连结数据结构66a、66b包含由中间数据结构62a、62b中的指针64a、64b所寻址的、主机-端口-设备组合的连结信息。
在一个实施例中,连结数据结构66中的连结信息提供通过同一主机端口-存储控制器端口-对(例如进程登录)访问的设备的连结信息,其中同一连结数据结构66a、66b中的设备可以具有连续的逻辑卷地址。在主机端口-存储控制器端口对(例如进程登录)被配置成只访问可能的逻辑卷的子集的特定实施例中,不分配没有连结信息的连结数据结构(例如66a、66b)(因为与该连结数据结构相关联的逻辑卷不可访问或没有被配置),并且下一更高的中间数据结构(例如62a、62b)中的指针(例如64a、64b)包含空指针(即不指向连结数据结构)。类似的,不分配任何包含所有空指针(例如64a、64b)的中间数据结构(例如62a、62b),并且主机端口数据结构中相关的指针包含空指针。对配置给定的进程登录来访问的逻辑卷的集合的改变可能导致添加或移除进程登录的连结数据结构(例如66a、66b)的需要,以及对应的主机端口-存储控制器端口数据结构56和中间数据结构指针(例如64a、64b)的改变。
在一个实施例中,将连结数据结构和中间数据结构的集合保持为共享资源,在接收进程登录时,根据主机-端口连接可以访问的逻辑卷地址来动态地将该资源分配给给定的主机-端口数据结构。如果主机和端口可以访问的逻辑卷地址的集合改变,或者移除该主机和端口的进程登录,则也动态分配或解除分配这些资源。进程登录可以包括SCSI进程登录,而N端口登录可以包括光纤信道N端口登录。在不同的实施例中可以使用其他协议和登录类型。
图3图解了I/O管理器12中实现的、以关于主机端口和存储控制器端口的第一级登录的信息来初始化索引50的操作,其中第一级登录可以包括诸如光纤信道N端口登录之类的网络登录。在接收(在方框90)来自给定的存储控制器端口18a、18b、18c、18d上的主机端口2a、2b、2n的第一级登录(例如N端口登录)时,如果(在方框92)索引50中不存在该主机端口-存储控制器端口的项,则在索引50中添加该第一级(N端口)登录的项。否则,控制结束。
图4图解了I/O管理器12中实现的、以响应于诸如SCSI进程登录之类的第二级登录的信息来初始化图2的数据结构的操作。在接收(在方框100)主机端口和存储控制器端口登录的第二级登录时,I/O管理器12确定(在方框102)主机-存储控制器端口数据结构52中是否存在登录中所指示的该主机端口和存储控制器端口对的项。如果不存在这样的项,则在主机-存储控制器端口数据结构52中添加(在方框104)该第二级登录(进程登录)的项。然后将指针52添加到(在方框106)索引50中,来寻址主机端口-存储控制器端口数据结构52中所添加的项。如果(在方框102)在主机端口-存储控制器端口数据结构52中存在该项,或者在将指向主机端口-存储控制器端口数据结构56中所添加的项的指针(例如52)添加到主机-端口索引50中(在方框106)之后,I/O管理器12在方框107到116对主机端口和存储控制器端口连接可以访问的每个逻辑设备地址执行循环。在方框108,I/O管理器12确定主机端口-存储控制器端口数据结构的项54中是否存在由逻辑卷14a、14b、...、14n的设备地址的第一部分所标识的有效指针(例如60a、60b)。有效指针包括寻址另一表或项并且不为空的指针。
如果(在方框108)不存在有效指针,则I/O管理器12初始化(在方框110)主机端口-存储控制器端口数据结构52中的项中的、由设备地址的第一部分所标识的指针(例如60a、60b),来指向经初始化的中间数据结构(例如62a、62b),其中当初始化指针(例如60a、60b)时初始化中间数据结构。同样初始化(在方框112)由主机端口-存储控制器端口数据结构52中的经初始化的指针(例如60a、60b)寻址的中间数据结构58a、58b中的项中的指针(例如64a、64b),来指向经初始化的连结数据结构(例如66a、66b),其中设备地址的第二部分索引经初始化的中间数据结构中的经初始化的指针60a、60b。这样,如果在同一主机-对的连接的之前建立期间没有初始化这些数据结构和指针,则为在登录中正在建立的主机端口-存储控制器端口添加通向连结数据结构66a、66b的指针和数据结构。
如果(在方框114)在由主机端口-存储控制器端口数据结构56中的指针(60a、60b)寻址的中间数据结构62a、62b中,不存在由设备地址的第二部分标识的有效指针(例如64a、64b),则控制前进到方框112来初始化中间数据结构(例如62a、62b)中的指针(例如64a、64b),来寻址经初始化的连结数据结构(例如66a、66b)。控制从方框112或114前进到方框116,在其中执行在方框107到116的循环的另一迭代,直到将信息添加到主机端口和存储控制器端口可以访问的所有确定的逻辑卷地址的连结数据结构中为止。I/O管理器12可以在设备活动期间添加连结信息。这样,如果在进程登录可以访问的任何之前的逻辑卷地址的处理期间没有初始化这些数据结构和指针,则为与进程登录相关联的、正在建立的主机端口-存储控制器端口组合添加通向连结数据结构62a、62b的指针和数据结构。
图5图解了I/O管理器12中执行的、启动关于给定的主机端口、存储控制器端口和请求访问连结信息的设备(逻辑卷)操作的操作的实施例。在启动(在方框150)操作时,I/O管理器12使用(在方框152)用于要访问的连接的主机和端口标识符(即索引)为主机-端口索引50中的指针(例如52)。使用主机-端口索引50中访问的指针52(在方框154)来访问第一(主机-端口)数据结构56中的一个项(例如54)。然后I/O管理器12使用(在方框156)设备地址的第一部分来访问第一(主机-端口)数据结构56中所访问的项中的指针58的指针(例如60a、60b)。使用(在方框158)所访问的指针(例如60a、60b)来访问一个第二(中间)数据结构62a、62b。使用(在方框160)设备地址的第二部分来访问在所访问的第二(中间)数据结构62a、62b中的指针(例如64a、64b)。使用(在方框162)所访问的指针64a、64b来访问一个连结数据结构(例如66a、66b)。然后I/O管理器12使用设备地址的第三部分来访问在具有与主机端口、存储控制器端口和设备组合相关联的连结信息的所访问的连结数据结构(例如66a、66b)中的一个项。该连结信息可以用于维护状态以及检查连接可以访问的设备(即逻辑卷)返回连接中所指示的主机的条件。
所述的实施例以最佳的方式提供维持不同主机端口、存储控制器端口和设备组合的连结信息的技术,该方式通过按照建立的进程登录和这些可以由给定的进程登录访问的逻辑卷的需要而创建连结信息的数据结构和项,从而节省存储空间。此外,如果假设相当百分比的进程登录没有被配置成能够访问高百分比的可配置的逻辑卷地址是正确的,则可以大大减少为连结信息分配的存储器量,而不会失去配置连接的任意子集(即进程登录)访问多数或所有逻辑卷地址的能力。
额外实施例细节
所述的实施例可以实现为方法、装置或使用标准编程和/或工程技术来生产软件、固件、硬件或其任何组合的制造物品(article of manufacture)。这里使用的术语“制造物品”指的是以硬件逻辑(例如集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)或诸如磁存储介质(例如硬盘驱动器、软盘、磁带等)、光存储(CD-ROM、光盘等)、易失性和非易失性存储设备(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等)之类的计算机可读介质实现的代码或逻辑。由处理器访问并执行计算机可读介质中的代码。实现优选实施例的代码还可以通过传输介质或通过网络从文件服务器访问。在这些情况中,实现代码的制造物品还包括诸如网络传输线、无线传输介质、通过空间传播的信号、无线电波、红外信号之类的传输介质。因此,“制造物品”可以包括其中实现有代码的介质。此外,“制造物品”还可以包括实现、处理和执行代码的硬件和软件部件的组合。当然,本领域技术人员应当认识到,可以在不背离本发明的范围的前提下对该配置进行各种修改,并且制造物品可以包括本领域中任何已知的信息承载介质。
参考字母“n”用于提及元件的示例号码,例如主机2a、2b、...、2n,卷14a、14b、...、14n,并且可以指示不同用途中的元件的不同或相同号码。例如主机号码2n可以与卷号码14n不同。
图2显示了用于维护连结信息的数据结构的排列。在替代实施例中,可以使用另外的中间结构来扩展可能的主机端口、存储控制器端口和设备连接组合的数量。
特定实施例可以针对由人或将计算机可读代码集成进计算系统的自动处理来实施计算指令的方法,其中,使得与计算系统组合的代码能执行所述实施例的操作。
图3、4和5所示的操作显示了以特定的顺序发生的特定事件。在替代实施例中,可以以不同的顺序执行、修改或移除特定的操作。此外,可以在上述逻辑上增加步骤并且仍然遵从所示实施例。此外,这里所描述的实施例可以顺序发生,或者可以并行处理特定的操作。此外,操作可以由单个处理单元或由分布式处理单元来执行。
前面对本发明的各种实施例的进行的描述是用于说明和描述目的。其并不意欲穷举或限制本发明为所公开的精确形式。根据上述教导,许多修改和变型都成为可能。本发明不是由该详细描述所限制,而是由所附权利要求数所限制。上述说明书、例子和数据提供对本发明组成的制造和使用的完整描述。由于可以在不背离本发明的宗旨和范围的前提下做出本发明的许多实施例,因此本发明属于所附权利要求书。

Claims (26)

1. 一种用于提供主机通过存储控制器端口访问设备的方法,包括:
接收来自存储控制器端口上的主机端口的登录,其中在存储控制器上配置主机端口来访问一个或多个设备;
将项添加到对于登录中所涉及的主机端口和存储控制器端口的主机存储控制器端口数据结构中;
在主机存储控制器端口数据结构的项中初始化至少一个指针来指向至少一个中间数据结构中的至少一个项;以及
在由主机存储控制器端口数据结构中的一个经初始化的指针寻址的一个中间数据结构的每个项中,初始化一个指针来指向具有多个项的连结数据结构。
2. 如权利要求1所述的方法,其中登录包括第二级登录,还包括:
接收对一个主机端口和存储控制器端口的第一级登录;
将项添加到第一级登录中所指示的主机端口和存储控制器端口的索引中;以及
将指针添加到主机端口和存储控制器端口的索引中所添加的项中,来寻址在第二级登录期间添加到主机存储控制器端口数据结构中的项。
3. 如权利要求2所述的方法,其中,第一级登录包括光纤信道N端口登录,而第二级登录包括SCSI处理登录。
4. 如权利要求2所述的方法,还包括:
启动关于一个主机端口、存储控制器端口和设备连接的操作;
使用主机端口和存储控制器端口标识符来访问对应于主机端口和存储控制器端口标识符的索引中的指针;以及
使用索引中所访问的指针来访问主机存储控制器端口数据结构中的一个项,来访问在执行操作中使用的主机端口、存储控制器端口和设备连接的连结信息。
5. 如权利要求1所述的方法,其中,连结信息被添加到的连结数据结构中的项对应于登录中所涉及的设备的设备地址的部分。
6. 如权利要求1所述的方法,还包括:
处理关于主机端口、存储控制器端口和设备的操作,其中设备具有设备地址;
使用设备地址的第一部分来访问主机存储控制器端口数据结构中的一个项中的第一指针;
使用所访问的第一指针来访问中间数据结构;
使用设备地址的第二部分来访问中间数据结构中的访问项中的第二指针;
使用第二指针来访问一个连结数据结构;和
使用设备地址的第三部分来访问具有与主机端口、存储控制器端口和设备连接相关联的连结信息的、所访问的连接数据结构中的项。
7. 如权利要求1所述的方法,其中,连结数据结构中的项为具有连续设备地址的设备提供连结信息。
8. 如权利要求1所述的方法,其中,中间数据结构包括多个指针,每个指向不同的连结数据结构,连接数据结构具有与主机存储控制器端口数据结构相关联的主机端口和存储控制器端口所连接到的不同的设备的连结信息。
9. 如权利要求1所述的方法,其中,不是所有与主机端口和存储控制器端口相关联的连结数据结构中的项都包含连结信息。
10. 如权利要求8所述的方法,其中,主机存储控制器端口数据结构中的一个项包括每个指向不同的中间数据结构的多个指针,其中,每个中间数据结构包括至少一个寻址一个连结数据结构的指针,该连接数据结构提供具有主机端口、存储控制器端口和设备连接的连接信息的项。
11. 如权利要求1所述的方法,其中,所述设备包括由存储控制器管理的逻辑存储单元。
12. 如权利要求1所述的方法,还包括:
确定是否存在一个由可以通过登录访问的一个设备的设备地址的第一部分所标识的指针,在主机存储控制器端口数据结构中的一个项中的该指针寻址中间数据结构中的一个项,其中,响应于确定不存在由寻址中间数据结构中的一个项的设备地址的第一部分所标识的指针,在主机存储控制器端口数据结构中初始化该指针。
13. 如权利要求1所述的方法,还包括:
确定是否存在一个由可以通过登录访问的一个设备的设备地址的第二部分所标识的指针,该指针在主机存储控制器端口数据结构中的指针寻址的中间数据结构中,其中,响应于确定不存在由寻址一个连结数据结构的设备地址的第二部分所标识的指针,在中间数据结构中初始化该指针。
14. 一种与具有主机端口的主机和设备有关的系统,包括:
多个存储控制器端口;
处理器;
存储器,包括主机存储控制器端口数据结构、至少一个中间数据结构和至少一个连结数据结构;
计算机可读介质,包含由处理器执行来完成操作的代码,所述操作包括:
(i)接收来自一个存储控制器端口上的一个主机端口的登录,其中在存储控制器上配置主机端口来访问一个或多个设备;
(ii)将项添加到对于登录中所涉及的主机端口和存储控制器端口的主机存储控制器端口数据结构中;
(iii)在主机存储控制器端口数据结构的项中初始化至少一个指针来指向至少一个中间数据结构中的至少一个项;以及
(iv)在由主机存储控制器端口数据结构中的一个经初始化的指针寻址的一个中间数据结构的每个项中,初始化一个指针来指向具有多个项的一个连结数据结构。
15. 如权利要求14所述的系统,其中所述登录包括第二级登录,存储器还包括索引,所述操作还包括:
接收对一个主机端口和存储控制器端口的第一级登录;
将项添加到第一级登录中所指示的主机端口和存储控制器端口的索引中;以及
将指针添加到主机端口和存储控制器端口的索引中所添加的项中,来寻址在第二级登录期间添加到主机存储控制器端口数据结构中的项。
16. 如权利要求15所述的系统,其中,第一级登录包括光纤信道N端口登录,而第二级登录包括SCSI处理登录。
17. 如权利要求14所述的系统,其中所述操作还包括:
启动关于一个主机端口、存储控制器端口和设备连接的操作;
使用主机端口和存储控制器端口标识符来访问对应于主机端口和存储控制器端口标识符的索引中的指针;以及
使用索引中所访问的指针来访问主机存储控制器端口数据结构中的一个项,来访问在执行操作中使用的主机端口、存储控制器端口和设备连接的连结信息。
18. 如权利要求14所述的系统,其中,连结信息被添加到的连结数据结构中的项对应于登录中所涉及的设备的设备地址的部分。
19. 如权利要求14所述的系统,其中所述操作还包括:
处理关于主机端口、存储控制器端口和设备的操作,其中设备具有设备地址;
使用设备地址的第一部分来访问主机存储控制器端口数据结构中的一个项中的第一指针;
使用所访问的第一指针来访问中间数据结构;
使用设备地址的第二部分来访问中间数据结构中的访问项中的第二指针;
使用第二指针来访问一个连结数据结构;和
使用设备地址的第三部分来访问具有与主机端口、存储控制器端口和设备连接相关联的连结信息的、所访问的连接数据结构中的项。
20. 如权利要求14所述的系统,其中,连结数据结构中的项为具有连续设备地址的设备提供连结信息。
21. 如权利要求14所述的系统,其中,中间数据结构包括多个指针,每个指向不同的连结数据结构,连接数据结构具有与主机存储控制器端口数据结构相关联的主机端口和存储控制器端口所连接到的不同的设备的连结信息。
22. 如权利要求21所述的系统,其中,不是所有与主机端口和存储控制器端口相关联的连结数据结构中的项都包含连结信息。
23. 如权利要求21所述的系统,其中,主机存储控制器端口数据结构中的一个项包括每个指向不同的中间数据结构的多个指针,其中,每个中间数据结构包括至少一个寻址一个连结数据结构的指针,该连接数据结构提供具有主机端口、存储控制器端口和设备连接的连接信息的项。
24. 如权利要求14所述的系统,其中,所述设备包括由系统管理的逻辑存储单元。
25. 如权利要求14所述的系统,其中所述操作还包括:
确定是否存在一个由可以通过登录访问的一个设备的设备地址的第一部分所标识的指针,在主机存储控制器端口数据结构中的一个项中的该指针寻址中间数据结构中的一个项,其中,响应于确定不存在由寻址中间数据结构中的一个项的设备地址的第一部分所标识的指针,在主机存储控制器端口数据结构中初始化该指针。
26. 如权利要求14所述的系统,其中所述操作还包括:
确定是否存在一个由可以通过登录访问的一个设备的设备地址的第二部分所标识的指针,该指针在主机存储控制器端口数据结构中的指针寻址的中间数据结构中,其中,响应于确定不存在由寻址一个连结数据结构的设备地址的第二部分所标识的指针,在中间数据结构中初始化该指针。
CNB2005101247676A 2004-11-17 2005-11-15 提供主机通过存储控制器端口访问设备的方法和系统 Expired - Fee Related CN100412779C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/991,662 US7694038B2 (en) 2004-11-17 2004-11-17 Maintaining and using nexus information on a host, port and device connection
US10/991,662 2004-11-17

Publications (2)

Publication Number Publication Date
CN1831748A CN1831748A (zh) 2006-09-13
CN100412779C true CN100412779C (zh) 2008-08-20

Family

ID=36387657

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101247676A Expired - Fee Related CN100412779C (zh) 2004-11-17 2005-11-15 提供主机通过存储控制器端口访问设备的方法和系统

Country Status (2)

Country Link
US (1) US7694038B2 (zh)
CN (1) CN100412779C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257663B2 (en) * 2004-11-17 2007-08-14 International Business Machines Corporation Initiating and using information used for a host, control unit, and logical device connections
JP4700459B2 (ja) * 2005-09-27 2011-06-15 株式会社日立製作所 データ処理システム及びデータ管理方法並びにストレージシステム
US8250267B2 (en) * 2008-10-31 2012-08-21 Netapp, Inc. Control I/O offload in a split-path storage virtualization system
US9952768B2 (en) * 2015-10-19 2018-04-24 International Business Machines Corporation Multiple mode data structures for representation of multiple system components in a storage management system
CN106020665B (zh) * 2016-05-16 2019-03-29 联想(北京)有限公司 一种信息控制方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000029954A1 (en) * 1998-11-14 2000-05-25 Mti Technology Corporation Logical unit mapping in a storage area network (san) environment
US20010008010A1 (en) * 1997-05-29 2001-07-12 Akemi Sanada Fiber channel connection storage controller
CN1373874A (zh) * 1999-09-13 2002-10-09 国际商业机器公司 在多主机计算环境中用于共享存储卷的主机卷映射系统和方法
CN1391672A (zh) * 1999-09-22 2003-01-15 网孔公司 具有先进技术嵌入式接口仿真主机接口的廉价磁盘冗余阵列控制器系统及方法
WO2004095255A2 (en) * 2003-04-21 2004-11-04 Netcell Corp. Disk array controller with reconfigurable data path

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108689A (en) * 1996-10-11 2000-08-22 International Business Machines Corporation Method and system for processing messages in a distributed computing environment
US6115772A (en) * 1998-09-18 2000-09-05 International Business Machines, Inc. System and method for host expansion and connection adaptability for a SCSI storage array
US6633962B1 (en) * 2000-03-21 2003-10-14 International Business Machines Corporation Method, system, program, and data structures for restricting host access to a storage space
US7315903B1 (en) * 2001-07-20 2008-01-01 Palladia Systems, Inc. Self-configuring server and server network
US7043610B2 (en) * 2002-08-19 2006-05-09 Aristos Logic Corporation System and method for maintaining cache coherency without external controller intervention
US20040064461A1 (en) * 2002-10-01 2004-04-01 Subramaniyam Pooni Method and arrangement for dynamic detection of SCSI devices on linux host
US7069354B2 (en) * 2002-10-01 2006-06-27 Hewlett-Packard Development Company, L.P. Method and apparatus for identifying multiple paths to a SCSI device using a calculated unique identifier
US7047390B2 (en) * 2003-06-17 2006-05-16 International Business Machines Corporation Method, system, and program for managing a relationship between one target volume and one source volume
US20050273651A1 (en) * 2004-05-18 2005-12-08 Aristos Logic Corporation Method of implementing XOR based raid algorithms
US7257663B2 (en) * 2004-11-17 2007-08-14 International Business Machines Corporation Initiating and using information used for a host, control unit, and logical device connections

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010008010A1 (en) * 1997-05-29 2001-07-12 Akemi Sanada Fiber channel connection storage controller
WO2000029954A1 (en) * 1998-11-14 2000-05-25 Mti Technology Corporation Logical unit mapping in a storage area network (san) environment
CN1373874A (zh) * 1999-09-13 2002-10-09 国际商业机器公司 在多主机计算环境中用于共享存储卷的主机卷映射系统和方法
CN1391672A (zh) * 1999-09-22 2003-01-15 网孔公司 具有先进技术嵌入式接口仿真主机接口的廉价磁盘冗余阵列控制器系统及方法
WO2004095255A2 (en) * 2003-04-21 2004-11-04 Netcell Corp. Disk array controller with reconfigurable data path

Also Published As

Publication number Publication date
US7694038B2 (en) 2010-04-06
CN1831748A (zh) 2006-09-13
US20060106808A1 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
US7478177B2 (en) System and method for automatic reassignment of shared storage on blade replacement
US20070094472A1 (en) Method for persistent mapping of disk drive identifiers to server connection slots
US7685322B2 (en) Port number emulation for wireless USB connections
US8127088B2 (en) Intelligent cache management
CN1280743C (zh) 数据传送方法及系统
US7839788B2 (en) Systems and methods for load balancing storage system requests in a multi-path environment based on transfer speed of the multiple paths
CN101124541A (zh) 修改逻辑分区数据处理系统中的虚拟适配器资源
US7617349B2 (en) Initiating and using information used for a host, control unit, and logical device connections
CN101120315A (zh) 在支持虚拟适配器的物理适配器上的虚拟适配器解构
US6968382B2 (en) Activating a volume group without a quorum of disks in the volume group being active
CN100412779C (zh) 提供主机通过存储控制器端口访问设备的方法和系统
US7669045B2 (en) System and method for aggregating shelf IDs in a fibre channel storage loop
US7761540B2 (en) System and method for automated remote booting in a serial attached SCSI environment
CN100585579C (zh) 用于管理卷组中的卷的方法和系统
US20080294866A1 (en) Method And Apparatus For Memory Management
US7743140B2 (en) Binding processes in a non-uniform memory access system
CN115114042A (zh) 存储数据访问方法、装置、电子设备和存储介质
WO2006015924A2 (en) Managing paths to an input/output (i/o) device
US7694079B2 (en) Tagged sequential read operations
US20060036790A1 (en) Method, system, and program for returning attention to a processing system requesting a lock
US20100217930A1 (en) Managing processing systems access to control blocks providing information on storage resources
US11740838B2 (en) Array-based copy utilizing one or more unique data blocks
CN109302377B (zh) 一种应用功能实现方法、装置、设备和存储介质
US8271725B1 (en) Method and apparatus for providing a host-independent name to identify a meta-device that represents a logical unit number
CN109358808B (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080820

Termination date: 20151115

EXPY Termination of patent right or utility model