CN100583064C - 用于从别名地址池中移除别名地址的方法和设备 - Google Patents
用于从别名地址池中移除别名地址的方法和设备 Download PDFInfo
- Publication number
- CN100583064C CN100583064C CN200710147811A CN200710147811A CN100583064C CN 100583064 C CN100583064 C CN 100583064C CN 200710147811 A CN200710147811 A CN 200710147811A CN 200710147811 A CN200710147811 A CN 200710147811A CN 100583064 C CN100583064 C CN 100583064C
- Authority
- CN
- China
- Prior art keywords
- alias address
- alias
- pond
- controll block
- appointment
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种用于从别名地址池中移除别名地址的方法、系统和制品。多个别名地址被分配到别名地址池,其中所述别名地址池中的别名地址能够被动态分配到设备,以服务于对设备的I/O请求。由过程启动用于从所述别名地址池中移除指定的别名地址的操作。响应于启动所述操作,指示符被设置以防止额外过程从所述别名地址池中移除一个别名地址。从所述别名地址池中移除所述指定的别名地址。
Description
技术领域
本发明涉及用于从别名地址池中移除别名地址的方法、系统和程序。
背景技术
在某些计算环境中,多个主机系统可与多个控制单元(CU)(也被称为存储控制器、存储子系统、企业存储服务器等)通信,所述控制单元通过一个或多个逻辑路径提供对诸如互连硬盘驱动器的存储设备的访问。互连的驱动器可以被配置为直接存取存储设备(DASD)、独立磁盘冗余阵列(RAID)、简单磁盘捆束(JBOD)等。控制单元可配置一个或多个逻辑子系统(LSS),其中每个LSS被配置为包括多个卷。
主机系统可包括信道子系统,其维持用于从控制单元访问LSS中的卷的信息。信道子系统包括子信道,其提供用于对信道子系统的I/O操作的执行的状态跟踪,并提供关于将主机连接于LSS中的卷的路径的信息。主机操作系统维持提供了关于被分配给一个卷的基本单元地址的信息的单元控制块(UCB),以及信道子系统用来访问基本设备上的卷的子信道。信道子系统知道单独的子信道和它们具有的路径。客户首先经由外部工具将基本设备的别名分配给CU。在给定了工作流需求中出现改变的情形中,操作系统可以动态地改变对基本设备的别名的绑定。另外,控制单元可以将别名地址分配给卷的基本地址,其中所述别名地址用于允许将并发的I/O请求指引到同一个卷。针对基本卷的UCB维持关于被分配给该卷的别名地址的信息。主机处理UCB中的信息以进行对卷的I/O操作。具体地,主机通过在子信道启动包括I/O指令序列(诸如信道命令字词(CCW)命令链)的信道程序来启动对于卷的I/O操作。
控制单元维持系统的不同视图。控制单元被提供有针对每个设备(卷)的基本单元地址以及针对每个基本单元地址的零个或多个别名单元地址。在将基本地址分配给每个卷(设备)之后,其余地址可以作为别名地址被分派给基本地址。控制单元使用单元地址来物理地访问卷。
CCW命令链或I/O操作可以对于同一逻辑卷被同时执行,这是通过使用针对该逻辑卷的不同的基本和别名单元地址。这样,通过使用不同地址,所执行的CCW命令全部被指引到同一逻辑卷,其中每个地址使用多个信道路径中之一到达单个逻辑卷。这允许单个主机并发地执行针对单个卷的多个I/O操作。针对一个基本地址提供的别名的数量可以根据卷的大小和并发用户的数量来设置。在某些情形中,可能仅需要少量别名来适应针对一个卷的特定基本地址的网络流量。另外,关联于一个逻辑卷的别名的数量可以基于网络负载的目的而被工作负载管理器(WLM)动态改变。
主机首先尝试通过一个卷(I/O设备)的基本UCB访问该卷。如果基本UCB不可用,即,其正并发地服务于另一I/O操作,则主机可以使用被分配给该基本UCB的可用别名UCB之一来并发地访问该卷。主机系统接着通过关联于UCB的子信道以及针对该子信道提供的信道路径来实施I/O操作。
在当前系统中,可用于分配给LSS中的卷的基本地址的别名地址在别名地址池中维持。该池包括别名地址控制块,其中每个别名地址控制块包括指向该池中的下一别名地址控制块的指针,并且最后一个别名地址控制块包括空指针。LSS控制块维持指向该池中的第一个别名地址控制块的指针。通过移除或添加别名地址控制块到已链接控制块的池中的第一控制决,别名地址被移除或添加到池,其中所述已链接控制块是由LSS控制块中的指针所标识的控制块。
在对于别名使用具有高度需求的多处理器(CPU)主机系统中,可以存在对于表示空闲别名的池的队列的持续改变。每个CPU可实施使用别名地址的与I/O有关的工作,其可以包括从池中获得别名或将别名返回到池中。对空闲别名池的变更可以被串行化以确保队列完整性。移除或添加别名地址到别名地址池的第一条目的访问可以通过使用单一自旋锁或比较双交换(compare double swap)技术而被串行化。由于使用自旋锁导致的与其它过程的潜在冲突,可以不选择自旋锁。作为替代,可以使用比较双交换串行化。当队列以后进先出(LIFO)方式使用时,比较和双交换串行化技术可以提供串行化。
根据比较双交换技术,当过程试图移除或添加别名地址控制块到池中的第一条目时,主机操作系统产生指向池中的第一别名地址控制块的指针以及指示正在完成针对池进行移除或添加别名地址的未决过程的数量的计数器的拷贝。当过程准备好移除或添加别名地址控制块到池中的第一条目时,指针和计数器的拷贝与在LSS控制块中维持的当前实际值进行比较。如果拷贝匹配于实际值,则主机操作系统进行对于存储池中的第一控制块条目的添加或移除。如果拷贝不匹配实际值,则通过产生LSS控制块中的实际计数器和指针值的新的拷贝,以及接着在尝试对池中的第一控制块条目进行改变之前再次实施检查,而再次实施所述比较和双交换过程。
发明内容
提供了一种用于从别名地址池中移除别名地址的方法、系统和制品。多个别名地址被分配到别名地址池,其中所述别名地址池中的别名地址能够被动态分配到设备,以服务于对设备的I/O请求。由过程启动用于从所述别名地址池中移除指定的别名地址的操作。响应于启动所述操作,指示符被设置以防止额外过程从所述别名地址池中移除一个别名地址。从所述别名地址池中移除所述指定的别名地址。
附图说明
图1说明了计算环境的实施例。
图2和4说明了现有技术中已知的、主机维持用以访问卷的信息的实施例。
图3和5说明了控制单元维持用以允许主机访问由控制单元管理的卷的信息的实施例。图3的信息是现有技术中已知的。
图6和7说明了处理请求以从别名地址池中移除别名地址控制块的操作的实施例。
具体实施方式
图1说明了其中实现所述实施例的计算环境。一个或多个主机2(仅示出一个)包括一个或多个处理系统4a、4b...4n,其将输入/输出(I/O)请求通过信道子系统8传送到控制单元6,所述信道子系统8提供到控制单元6的多个逻辑路径。每个处理系统4a、4b...4n包括操作系统5以管理与路径有关的操作。信道子系统8管理延伸通过适配器12的逻辑路径10。适配器提供物理层,逻辑路径10通过物理层延伸到控制单元6或通过交换机(未示出)延伸到多个控制单元。操作系统5可进一步将多个逻辑路径10关联于路径组,其中路径组中的所有路径可被一个处理系统4a、4b...4n用来与控制单元6通信。一个处理系统4a、4b...4n使用的路径组可以由路径组标识符(PGID)所标识。操作系统5可以使用世界范围内唯一的标识符(PGID)将I/O命令(诸如设置路径组ID CCW)发布到设备的每个路径。控制单元6从具有同一标识符的设备的路径集合中创建路径组。
每个处理系统4a、4b...4n可以包括执行程序的中央处理单元(CPU),所述程序包括操作系统5和信道子系统8的代码。可替换地,每个处理系统4a、4b...4n可以包括多个逻辑分区(LPAR)之一,每个逻辑分区作为独立的系统操作,执行其自己的操作系统5,并可以共享信道子系统8的代码。在另外的实施例,每个处理系统可以包括处理器的逻辑分区。这样,主机2中的一个或多个处理器可以实现多个逻辑分区(LPAR)。多个处理系统4a、4b...4n可以共享单个逻辑信道子系统16,或者不同的处理系统4a、4b...4n可以使用不同的逻辑信道子系统。实现逻辑路径的信道子系统的细节在出版物“z/Architecture:Reference Summary”,IBM文档号SA22-7871-02(IBM版权,2005年9月)中进行了描述。
信道子系统8包括信道子系统程序16以实施将I/O请求从处理系统4a、4b...4n传送到控制单元6的操作。操作系统5使用单元控制块(UCB)并管理I/O请求。信道子系统程序16从信道子系统8获得I/O请求。包括一个或多个存储设备的存储器17包括由信道子系统程序16用来管理I/O请求的信息。每个处理系统4a、4b...4n维持其自己的UCB和别名存储池信息,其提供关于每个处理系统4a、4b...4n的UCB链的信息。不同的处理系统4a、4b...4n可以具有不同的UCB链,所述UCB链具有被分配给针对特定处理系统的基础地址的不同别名地址。
主机存储器17进一步包括别名存储池信息22,其提供关于针对处理系统4a、4b...4n的不同逻辑子系统(LSS)的可用别名地址的分配的信息,从而不同的处理系统4a、4b...4n可以使用和具有可用的不同别名地址。另外,不同的处理系统4a、4b...4n可以可用于使用同一别名地址,但是不同地使用它们,即,在不同配置中将它们分配到卷和别名存储池。在一实施例中,存储器17可以维持针对所有处理系统4a、4b...4n和LSS的别名存储池信息22和UCB信息20,其由所有处理系统操作同时共享。在另外的实施例中,每个处理系统可以在其自己的存储器中维持针对该处理系统4a、4b...4n的别名存储池信息22和UCB信息20。
控制单元6管理从处理系统4a、4b...4n到存取存储系统18a、18b...18n的请求,所述存取存储系统18a、18b...18n诸如磁道、分区、逻辑设备、逻辑卷、逻辑单元号(LUN)、逻辑子系统(LSS)或其它逻辑或物理存储单元。存储系统18a示出了包括一个或多个LSS 32的配置,其中在每个LSS 32中配置一个或多个卷34。所述卷可以延伸跨越多个存储设备。术语“设备”指代任何物理或逻辑数据存储单元,诸如物理磁道、LSS、分区、逻辑卷、卷等等。控制单元6包括I/O管理器程序24以处理到存储系统18a、18b...18n及其中配置的逻辑和物理组件(例如卷、LSS等)的I/O请求。控制单元6具有包括一个或多个存储设备的控制单元存储器26,其中I/O管理器24维持具有针对已定义的存储单元(诸如逻辑子系统(LSS)内的卷)的基本和别名地址的分配的控制单元地址信息28。存储器26进一步包括具有关于可用于处理系统4a、4b...4n的别名地址的信息的控制单元别名存储池信息30。
主机2可以包括本领域已知的计算设备,诸如工作站、大型机、服务器等。控制单元6可以包括存储子系统或服务器,诸如企业存储服务器、存储控制器等,或者包括用于管理到附接的卷的I/O请求的其它设备。存储系统18a、18b...18n可以包括本领域已知的存储设备,诸如互连的硬盘驱动器(例如,被配置为DASD、RAID、JBOD、虚拟化设备等)、磁带、电子存储器、闪速存储器、光盘等。主机2可以通过逻辑路径10与控制单元6通信,所述逻辑路径10可以延伸通过网络,诸如局域网(LAN)、存储区域网络(SAN)、广域网(WAN)、对等网络、无线网络等。可替换地,主机2可以通过总线接口与存储控制器6通信,所述总线接口诸如外围组件互连(PCI)总线或串行接口。
图2说明了本领域中已知的主机/处理系统UCB信息50,其具有关于针对一个处理系统4a、4b...4n和LSS 32的卷的基本和别名地址的分配的信息。将维持针对主机2中的每个独立的处理系统4a、4b...4n和LSS 32对的信息50的实例。UCB信息50的实例包括UCB信息20。信息50包括针对一个处理系统4a、4b...4n的UCB条目52a、52b...52n,对于链中的每个UCB,包括以下信息:UCB的UCB标识符54,用于提供用于访问在存储系统18a、18b...18n中配置的一个卷的信息;逻辑子系统(LSS)56,用于标识其中配置了卷34的LSS 32;在字段56中标识的LSS 32中的卷58,针对所述卷58提供信息;信道子系统8的子信道60,包括子信道号、提供关于卷的信息的索引或指针;针对子信道的基本地址62;以及用于额外地对卷定址的一个或多个别名地址64a...64n(如果它们中的任意个已经进行了分配);以及提供关于卷状态的信息的卷状态66。在某些实施例中,当I/O操作针对特定的基本地址62(卷)而活动时,别名地址仅关联于该基本地址。否则,别名驻留于未与任何特定基本地址(卷)相关联的可用别名的池中。
在一实施例中,别名地址可以首先关联于控制单元6的存储子系统(LSS)中的基本地址。如果存储子系统支持别名地址集中为池,则操作系统5发布“设置子系统特性命令”,以告知控制单元6以下述模式操作,在所述模式中,别名地址被集中为池并仅当需要时进行分配。此命令使得别名地址不再与针对该处理系统4a、4b...4n的特定基本地址62相关联。处理系统4a、4b...4n中的每个操作系统可以独立地改变其别名定址模式。在此时,当I/O操作开始时别名地址可用于被分配给基本地址62,并当操作完成时被返回到池。同样地,LSS中的设备可以由客户转换回到操作的初始模式,其中别名被静态地分配给基本地址。这样,操作系统可以转变到或者转变出下述模式,在所述模式中,别名地址被动态分配,并且所述模式曾经是别名地址被静态分配并使用的模式。
在图2所说明的实施例中,UCB信息50提供针对一个处理系统4a、4b...4n的UCB链52a、52b...52n以及在存储系统18a、18b...18n中配置的一个LSS 32,其中每个UCB 52a、52b...52n包括针对一个卷的信息。在可替换实施例中,UCB信息50可以包括针对不同存储系统和环境的不同信息,其提供关于被分配给在存储系统18a、18b...18n中配置的卷的基本和别名地址的信息。另外,如果系统未实现信道子系统技术,则可以不包括关于子信道的信息,诸如字段60。
UCB控制块50进一步包括锁68,锁68串行化对该UCB的替换访问,其当对基本UCB进行改变时是主机系统需求,诸如将别名绑定或解除绑定。锁68可以包括自旋锁。在主机系统中可以存在64K或更多个这样的自旋锁。
图3说明了控制单元地址信息80的实施例,所述控制单元地址信息具有现有技术中已知的、关于针对一个操作系统4a、4b...4n的基本和别名地址的分配和在存储系统18a、18b...18n中配置的逻辑子系统32的信息。将针对每个独立的的处理系统4a、4b...4n和处理系统4a、4b...4n可以访问的每个逻辑子系统(LSS)维持信息50的实例。地址信息80包括针对维持信息80的逻辑子系统(LSS)32中配置的每个卷34的条目82a...82n。控制单元地址信息80的实例包括控制单元地址信息28。每个条目82a、82b...82n(图3)包括:卷标识符84;被分配给卷的基本地址86;以及可以被分配给基本地址84以便额外地用于访问卷的零个或多个别名地址86a...86n。
图4说明了本领域中已知的控制单元存储池信息90的实施例,其针对一个逻辑子系统(LSS)32和一个处理系统4a、4b...4n进行维持。针对一个处理系统4a、4b...4n和逻辑子系统32,控制单元存储池信息90的实例包括:信息可应用于的处理系统94和逻辑子系统(LSS)92,以及针对处理系统94可以被分配给在LSS 92中配置的卷34的可用别名地址96。在可替换实施例中,存储池信息90可以包括针对不同存储系统和环境的不同信息,以提供关于被分配给在存储系统18a、18b...18n中配置的卷的基本和别名地址的信息。
图5说明了由主机2维持的、在别名存储池信息22中的LSS控制块100的实施例,其提供了针对LSS的、可以由主机2中的处理系统4a...4n使用的别名地址的存储池信息22。LSS控制块100包括:标识LSS的LSS字段102,信息对于所述LSS应用针对一个LSS的别名信息;以及标识信息应用于的处理系统4a、4b...4n的处理系统字段104。计数器106标识未能实施已完成对可用别名地址的添加或移除的过程的数量。访问指示符108指示出过程是否可以进行以从由控制块100表示的别名地址存储池中移除别名地址。指针110标识别名地址存储池中的第一别名地址UCB112a,并且每个别名地址UCB 112a、112b...112m具有指向存储池中的下一别名地址的指针,其中最后一个别名地址UCB 112n具有未指向任意下一别名地址UCB的空指针。别名地址UCB 112a...112n包括针对处理系统104可以被分配给LSS 102中的卷的别名地址的别名地址池112。
图6说明了用于从池112中获得第一别名地址的操作的实施例。当操作系统5(图1)从在处理系统4a、4b...4n之一中执行的过程接收到从别名地址池112的开头(第一条目)移除别名地址的命令或请求之时,控制开始于块150。操作系统5递增(或递减)(在块154)计数器106,以指示未能完成针对池112移除或添加别名地址的另一过程。在一实施例中,比较双交换技术被用于从别名地址池112(图5)中移除第一别名地址112a。为了实施比较双交换,产生(在块156)由指针110标识的别名地址UCB112a的内容以及计数器106的拷贝。当启动(在块158)用于移除由指针110标识的第一别名地址112a的操作之时,操作系统5读取(在块160)别名地址UCB以及计数器的当前内容,并且如果所拷贝和读取的信息匹配(在块162),则确定(在块164)通过由指针110定址的别名地址控制块112a所指向的下一别名地址控制块,即,第二别名地址控制决112b。LSS控制块100中的指针110被设置(在块166)为下一(或第二)别名地址控制决112b。如果所拷贝和读取的信息不匹配(来自块162的否分支),则控制回到块156。
在图6的实施例中,比较和双交换过程可能需要保持锁68(图2),以便利用处理器要在基本UCB上串行化的系统需求。锁68还可以被保持,以禁用I/O和外部中断,以便确保当每个处理器使能至少一个瞬间时,任何处理器都将不会仍然访问池112。
将别名添加到别名池的开头的过程可以使用关于图6描述的比较和双交换技术,除了与实施块164和166的操作不同,过程可以将LSS控制块100中的指针110设置为指向要添加的别名地址控制决,并接着调整已经被添加的别名地址控制块以指向之前由指针110定址的别名地址控制块,即,池112中的之前的第一别名控制块112a。
图7说明了从别名池112中的任意地方移除特定别名的操作的实施例。当接收到(在块170)从池112中的任意地方移除指定的别名的指令之时,这也意味着对于请求所述移除的过程可以使能中断,则访问指示符108被设置(在块172)以防止额外过程从别名地址池中移除一个别名地址。如果(在块174)存在移除和添加别名地址到池112的未决过程,则控制回到块174进行等待,直到不存在针对别名地址池112的未决过程,并且所有处理器已经针对I/O和外部中断被使能。一旦不存在任何未决过程,并且所有过程已经被使能,则控制进行以移除指定的别名地址,其可以是池112中的任意别名地址112a...112n。如果(在块176)指定的别名地址是池中的第一别名地址控制块112a,其是由指针110定址的别名地址控制块,则操作系统5确定(在块178)由指定的别名地址控制块112a所指向的下一别名地址控制块112b,并设置(在块180)LSS控制块100中的指针110为所确定的下一别名地址控制决112b。将指针(包括指针110或别名地址控制块112a...112n中的指针之一)修改为不指向指定的别名地址可以从池112中移除指定的别名地址,因为所述别名地址不再链接到池112中。
如果(在块182)指定的别名地址是最后的别名地址控制块112n,其是不具有指向另一别名地址控制块的指针(例如空指针)的别名地址控制块,则操作系统5确定(在块184)指向指定的别名地址控制块的前一别名地址控制块,并且设置(在块186)所确定的前一别名地址控制决中的指针为空,这使得前一别名地址控制块成为最后的控制决,以从已链接的存储池112中移除指定的别名地址控制块。
如果(来自块182的否分支)指定的别名地址既不是第一也不是最后的控制块,例如不是112b或112n-1,则操作系统5确定(在块188)指向指定的别名地址控制块的前一别名地址控制块以及指定的别名地址指向的下一别名地址控制块。前一别名地址控制块被修改(在块190)为指向下一别名地址控制块,以绕过要从已链接的别名地址存储池112中移除的指定的地址控制块。在通过在块180、186和190修改指针而移除针对指定的别名地址的控制块之后,操作系统5的管理器24设置(在块196)指示符108以允许另一过程启动从别名地址池中移除一个别名地址的操作a
通过所述实施例,尽管试图获得池中的第一别名、或者将别名添加到池112的开头的多个过程可以保持锁,但是试图获得别名的每个过程必须首先检查访问指示符108以确保池112是开放的。如果池是开放的(访问指示符108关),则可以获得或添加别名。如果池112是关闭的(标记打开),则不可以获得别名。为了从池中的任何地方移除别名,访问指示符108或者池关闭标记必须被打开,并且操作系统必须确保每个处理器被使能以确定没有其它过程正在从池中移除别名地址或者将别名地址添加到池。过程接着可以访问该池、定位和移除要删除的别名地址、关闭访问指示符108、以及接着重新开放该池。
所述实施例提供了下述技术,其用于串行化访问对别名地址存储池的移除操作,从而确保同一时间仅一个过程从别名地址存储池中移除别名地址,以及通过设置访问指示符108而确保在移除请求未决之时没有其它过程分派该别名地址。另外,所述实施例提供了下述技术,其用于从别名地址池中的任何位置移除别名地址控制块,以便允许主机在必要时移除别名地址。主机用户可能想要从池中移除别名地址以使得该别名地址可用于另外的使用。可以需要此移除技术来使得别名地址池中的别名地址可用于对其它设备进行定址。
附加实施例细节
所述操作可被实现为使用标准编程和/或工程技术的方法、装置或制品,以产生软件、固件、硬件或其任意组合。所描述的操作可以被实现为“计算机可读煤体”中保持的代码,其中处理器可以从所述计算机可读媒体中读取并执行所述代码。计算机可读媒体可以包括以下媒体,诸如磁存储媒体(例如硬盘驱动器、软盘、磁带等等)、光存储装置(CD-ROM、DVD、光盘等等)、易失性和非易失性存储设备(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪速存储器、固件、可编程逻辑等等)。实现所述操作的代码还可以用硬件逻辑(例如集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等等)实现。而且,实现所述操作的代码可以用“传输信号”实现,其中传输信号可以通过空间或是通过传输媒体(诸如光纤、铜线等等)来传播。对代码或逻辑进行了编码的传输信号还可以包括无线信号、卫星传输、无线电波、红外信号、蓝牙等等。对代码或逻辑进行了编码的传输信号能够由发射站发射并由接收站接收,其中在传输信号中进行编码的代码或逻辑可以被解码和存储在接收站和发射站或设备上的硬件或计算机可读媒体中。“制品”包括可实现代码的计算机可读媒体、硬件逻辑和/或传输信号。对实现所述操作的实施例的代码进行了编码的设备可以包括计算机可读媒体或硬件逻辑。当然,本领域技术人员将会认识到,可以对这种配置做出很多修改。
所述实施例讨论了由主机操作系统实施以从池中移除别名地址的信息。在附加实施例中,所述操作可以由控制单元实施以管理用于主机或主机处理系统的别名地址池。
在所述实施例中,主机包括用于与控制单元通信的信道子系统程序。在可替换实施例中,主机和控制单元可以利用本领域中已知的任意适当的客户端-服务器体系结构和协议,以便传送和维持关于可被分配给卷的基本和别名地址的信息。
除非以别的方式明确规定,否则术语“一个实施例”、“实施例”、“若干实施例”、“该实施例”、“这些实施例”、“一个或多个实施例”、“某些实施例”以及“一实施例”都是指本发明的一个或多个实施例(但并不是全部实施例)。
除非以别的方式明确规定,否则术语“包括(including)”、“包括(comprising)”、“具有”及其变体都是指“包括但不局限于”。
除非以别的方式明确规定,否则所列举的项目列表并不意味着任何或所有项目是互斥的。
除非以别的方式明确规定,否则术语“一”、“一个”和“该”全都意味着“一个或多个”。
除非以别的方式明确规定,否则,相互通信的设备不需要在相互之间进行连续通信。此外,相互通信的设备可以直接通信,或者通过一个或多个中介进行间接通信。
结合若干个相互通信的组件来对实施例进行的描述并不意味着需要所有这些组件。相反,多种可选的组件被描述,以便说明大量的可能实施例。
此外,虽然可以按照连续顺序来描述过程步骤、方法步骤、算法等等,但是这些过程、方法和算法也可以被配置成按照可替换的顺序工作。换句话说,任何可被描述的步骤顺序或序列并不必然表示所述步骤需要按照该顺序来执行。这里描述的过程的步骤可以按照任何实际顺序来执行。此外,某些步骤可以被同时执行。
当在这里描述单个设备或制品的时候,很明显,可以用一个以上的设备/制品(无论它们是否进行协作)来替换单个设备/制品。同样,如果在这里描述了一个以上的设备或制品(无论它们是否进行协作),很明显,可以用单个设备/制品来替换所述一个以上的设备或制品,或者可以用不同数量的设备/制品来替换所示数量的设备或程序。可替换地,设备的功能和/或特征可以由一个或多个未被明确描述成具有所述功能/特征的其他设备来实现。因此,本发明的其他实施例不需要该设备自身。
另外,当标号“a”、“b”或“n”被用于指示特定数量的项目时,结合不同单元使用的标号“a”、“b”或“n”可以指示相同或不同数量的所述单元。
图2、3、4和5示出了以某种格式维持的信息。在可替换实施例中,在这些图中示出的信息可以用可替换的数据结构和格式以及不同的组合方式来维持。
图6和7中说明的操作示出了按照某种顺序出现的某些事件。在可替换实施例中,某些操作可以依照不同顺序实施、修改或移除。此外,可以在上述逻辑中添加步骤,并且这些步骤仍旧符合所描述的实施例。此外,这里所述的操作可以顺序地出现,或者某些操作可以被并行地处理。而且,操作可以由单个处理单元或者由分布式处理单元实施。
上文中对各种实施例的描述是出于说明和描述目的而给出的。其并非意图进行穷举,或是将实施例限制在所公开的确切形式。根据上述教导,很多的修改和变化都是可行的。本发明的范围并非由该详细描述所限定,而是由权利要求所限定。上述说明、示例和数据提供了制造和使用本发明中的成分的完整描述。由于本发明的很多实施例都可以在不脱离本发明的精神和范围的情况下实现,因此本发明存在于权利要求中。
Claims (18)
1.一种用于从别名地址池中移除别名地址的设备,包括:
用于将多个别名地址分配到别名地址池的装置,其中所述别名地址池中的别名地址能够被动态分配到设备,以服务于对设备的输入/输出请求;
用于由过程启动用于从所述别名地址池中移除指定的别名地址的操作的装置;
用于响应于启动所述操作,设置指示符以防止额外过程从所述别名地址池中移除一个别名地址的装置;以及
用于从所述别名地址池中移除所述指定的别名地址的装置。
2.根据权利要求1所述的设备,进一步包括:
用于响应于设置所述指示符,完成针对所述别名地址池的未决过程的装置,其中响应于完成针对所述别名地址池的未决过程,所述指定的别名地址被移除。
3.根据权利要求1所述的设备,其中所述指定的别名地址可包括被分配给所述别名地址池的任意别名地址。
4.根据权利要求1所述的设备,其中所述别名地址由控制块表示,其中存在第一别名地址控制块、最后的别名地址控制块、以及至少一个中间的别名地址控制块,其中所述第一和至少一个中间的别名地址控制块指向下一别名地址控制块,以及其中所述指定的别名地址包括所述第一、中间的或最后的别名地址控制块中的任意一个。
5.根据权利要求4所述的设备,其中所述用于移除指定的别名地址的装置进一步包括:
用于如果所述指定的别名地址是所述至少一个中间的别名地址之一,则确定指向所述指定的别名地址控制块的前一别名地址控制块以及所述指定的别名地址指向的下一别名地址控制块的装置;以及
用于修改所述前一别名地址控制块为指向所述下一别名地址控制块的装置。
6.根据权利要求5所述的设备,进一步包括:
用于响应于所述指定的别名地址是所述第一别名地址控制块,确定由所述指定的别名地址控制块指向的下一别名地址控制块的装置;
用于响应于所述指定的别名地址是所述第一别名地址控制块,指示所述下一别名地址控制块为第一别名地址控制块的装置;
用于响应于所述指定的别名地址是所述最后的别名地址控制块,确定指向所述指定的别名地址控制块的前一别名地址控制块的装置;以及
用于响应于所述指定的别名地址是所述最后的别名地址控制块,修改所述前一别名地址控制块为不指向任意别名地址控制块的装置。
7.根据权利要求1所述的设备,进一步包括:
用于在完成从所述别名地址池中移除所述别名地址之后,设置所述指示符以允许过程启动从别名地址池中移除一个别名地址的操作的装置。
8.根据权利要求1所述的设备,其中通过中断被使能并且等待所有当前禁用的过程完成的过程来实施启动所述操作、设置所述指示符、以及移除所述指定的别名地址的操作。
9.一种用于从别名地址池中移除别名地址的设备,包括:
用于将多个别名地址分配到别名地址池的装置,其中所述别名地址池中的别名地址能够被动态分配到设备,以服务于对设备的输入/输出请求;
用于由过程启动用于从所述别名地址池中移除指定的别名地址的操作的装置;
用于拷贝所述指定的别名地址以及计数器的内容的装置;
用于读取所述指定的别名地址以及计数器的当前内容的装置;
用于确定所述当前内容是否匹配所述已拷贝的内容的装置;以及
用于响应于确定所述当前内容和所述已拷贝的内容匹配,从所述别名地址池中移除指定的别名地址的装置。
10.根据权利要求9所述的设备,其中通过中断未被使能的过程来实施启动所述操作、拷贝别名地址以及计数器的内容、读取别名地址的当前内容、以及移除所述指定的别名地址的操作。
11.一种用于从别名地址池中移除别名地址的方法,包括:
将多个别名地址分配到别名地址池,其中所述别名地址池中的别名地址能够被动态分配到设备,以服务于对设备的输入/输出请求;
由过程启动用于从所述别名地址池中移除指定的别名地址的操作;
响应于启动所述操作,设置指示符以防止额外过程从所述别名地址池中移除一个别名地址;以及
从所述别名地址池中移除所述指定的别名地址。
12.根据权利要求11所述的方法,进一步包括:
响应于设置所述指示符,完成针对所述别名地址池的未决过程,其中响应于完成针对所述别名地址池的未决过程,所述指定的别名地址被移除。
13.根据权利要求11所述的方法,其中所述指定的别名地址可包括被分配给所述别名地址池的任意别名地址。
14.根据权利要求11所述的方法,其中所述别名地址由控制块表示,其中存在第一别名地址控制块、最后的别名地址控制块、以及至少一个中间的别名地址控制块,其中所述第一和至少一个中间的别名地址控制块指向下一别名地址控制块,以及其中所述指定的别名地址包括所述第一、中间的或最后的别名地址控制块中的任意一个。
15.根据权利要求11所述的方法,进一步包括:
在完成从所述别名地址池中移除所述别名地址之后,设置所述指示符以允许过程启动从别名地址池中移除一个别名地址的操作。
16.根据权利要求11所述的方法,其中通过中断被使能并且等待所有当前禁用的过程完成的过程来实施启动所述操作、设置所述指示符、以及移除所述指定的别名地址的操作。
17.一种用于从别名地址池中移除别名地址的方法,包括:
将多个别名地址分配到别名地址池,其中所述别名地址池中的别名地址能够被动态分配到设备,以服务于对设备的输入/输出请求;
由过程启动用于从所述别名地址池中移除指定的别名地址的操作;
拷贝所述指定的别名地址以及计数器的内容;
读取所述指定的别名地址以及计数器的当前内容;
确定所述当前内容是否匹配所述已拷贝的内容;以及
响应于确定所述当前内容和所述已拷贝的内容匹配,从所述别名地址池中移除指定的别名地址。
18.根据权利要求17所述的方法,其中通过中断未被使能的过程来实施启动所述操作、拷贝别名地址以及计数器的内容、读取别名地址的当前内容、以及移除所述指定的别名地址的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/469,391 US7516284B2 (en) | 2006-08-31 | 2006-08-31 | Method for removing alias addresses from an alias address pool |
US11/469,391 | 2006-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101135995A CN101135995A (zh) | 2008-03-05 |
CN100583064C true CN100583064C (zh) | 2010-01-20 |
Family
ID=39153409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710147811A Expired - Fee Related CN100583064C (zh) | 2006-08-31 | 2007-08-30 | 用于从别名地址池中移除别名地址的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7516284B2 (zh) |
CN (1) | CN100583064C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8069345B2 (en) * | 2008-10-29 | 2011-11-29 | Netapp, Inc. | Methods and systems for recovering a computer system using boot volume data from a storage area network |
US8380894B2 (en) * | 2009-12-11 | 2013-02-19 | International Business Machines Corporation | I/O mapping-path tracking in a storage configuration |
US10585809B2 (en) * | 2016-04-01 | 2020-03-10 | Intel Corporation | Convolutional memory integrity |
CN106657432B (zh) * | 2016-11-17 | 2019-10-15 | 中国移动通信集团江苏有限公司 | 域名解析方法及装置 |
US10216641B2 (en) | 2017-01-13 | 2019-02-26 | International Business Systems Corporation | Managing and sharing alias devices across logical control units |
US10686605B2 (en) | 2017-09-29 | 2020-06-16 | Intel Corporation | Technologies for implementing mutually distrusting domains |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5093912A (en) | 1989-06-26 | 1992-03-03 | International Business Machines Corporation | Dynamic resource pool expansion and contraction in multiprocessing environments |
US5357152A (en) | 1992-11-10 | 1994-10-18 | Infinite Technology Corporation | Logic system of logic networks with programmable selected functions and programmable operational controls |
US5530897A (en) * | 1993-10-01 | 1996-06-25 | International Business Machines Corporation | System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices |
US5675781A (en) | 1995-07-06 | 1997-10-07 | Sun Microsystems, Inc. | Augmenting volume management of information storage devices to handle direct access to storage devices |
US6185638B1 (en) | 1998-10-07 | 2001-02-06 | International Business Machines Corporation | Method and system for dynamically assigning addresses to an input/output device |
US6167459A (en) | 1998-10-07 | 2000-12-26 | International Business Machines Corporation | System for reassigning alias addresses to an input/output device |
US6170023B1 (en) | 1998-10-07 | 2001-01-02 | International Business Machines Corporation | System for accessing an input/output device using multiple addresses |
JP2001312454A (ja) | 2000-04-28 | 2001-11-09 | Hitachi Ltd | データ処理システムおよびデータ処理システムの制御方法ならびに外部記憶装置および外部記憶装置の制御方法 |
US7068655B2 (en) * | 2001-06-14 | 2006-06-27 | Nortel Networks Limited | Network address and/or port translation |
US7171514B2 (en) | 2003-11-20 | 2007-01-30 | International Business Machines Corporation | Apparatus and method to control access to logical volumes using parallel access volumes |
US7702879B2 (en) * | 2005-12-08 | 2010-04-20 | International Business Machines Corporation | Assigning alias addresses to base addresses |
-
2006
- 2006-08-31 US US11/469,391 patent/US7516284B2/en not_active Expired - Fee Related
-
2007
- 2007-08-30 CN CN200710147811A patent/CN100583064C/zh not_active Expired - Fee Related
-
2008
- 2008-10-16 US US12/253,172 patent/US7856540B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7856540B2 (en) | 2010-12-21 |
US20090043976A1 (en) | 2009-02-12 |
US7516284B2 (en) | 2009-04-07 |
US20080059729A1 (en) | 2008-03-06 |
CN101135995A (zh) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102483718B (zh) | 虚拟化环境中的高速缓存分区 | |
CN104636181B (zh) | 用于迁移虚拟机的方法和系统 | |
CN101606130B (zh) | 在处理器系统的指令级使能资源分配标识的方法和装置 | |
CN101739298B (zh) | 共享缓存管理方法和系统 | |
CN101495976B (zh) | 用于直接更新软件事务存储器的方法和系统 | |
US7200695B2 (en) | Method, system, and program for processing packets utilizing descriptors | |
CN100583064C (zh) | 用于从别名地址池中移除别名地址的方法和设备 | |
CN103582869B (zh) | 链接移动规格块 | |
CN1979408B (zh) | 管理设备访问的方法和系统 | |
CN103562874B (zh) | 解除配置存储级内存命令 | |
US8046552B2 (en) | Tracking metadata changes during data copy in a storage system | |
US20230342073A1 (en) | Memory expander, heterogeneous computing device using memory expander, and operation method of heterogenous computing | |
CN104285206A (zh) | 信息存储系统和控制信息存储系统的方法 | |
KR20130063003A (ko) | 컨텍스트 스위칭 | |
CN102165408A (zh) | 用于确定数据的再调用顺序的装置、方法以及程序 | |
CN101221514A (zh) | 选择处理器似乎遵循的架构级别的方法、处理器及系统 | |
CN103544153A (zh) | 一种基于数据库的数据更新方法和系统 | |
CN103959275A (zh) | 动态进程/对象范围的存储器关联性调整器 | |
CN101310250A (zh) | 选择包括首要和次级群集上的端口的路径以用于将位于首要卷的数据传输到次级卷 | |
CN101788922A (zh) | 基于辅助线程实现事务存储系统的方法和装置 | |
US6687798B1 (en) | Methods for intra-partition parallelism for inserts | |
US20110320722A1 (en) | Management of multipurpose command queues in a multilevel cache hierarchy | |
CN112930532A (zh) | 控制合并操作的存储访问 | |
US9170962B2 (en) | Dynamic designation of retirement order in out-of-order store queue | |
US20090164729A1 (en) | Sync-id for multiple concurrent sync dependencies in an out-of-order store queue |
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: 20100120 Termination date: 20200830 |
|
CF01 | Termination of patent right due to non-payment of annual fee |