具有持续端口配置的sas控制器的制作方法

文档序号:6364235阅读:106来源:国知局
专利名称:具有持续端口配置的sas控制器的制作方法
技术领域
本发明涉及在电子计算机和数字处理系统中的多机数据传输,具体涉及在网络中的SAS控制器。
背景技术
小型计算机系统接ロ(SCSI)是ー套计算机和外围设备之间的物理连接和传输数据的标准和协议。SCSI最常用来连接计算机到存储设备,如硬盘驱动器或磁盘驱动器。串行连接SCSI (SAS)是ー种计算机总线,用于将数据移到和移出使用SCSI标准和协议的计算机存储器设备。SAS控制器是具有多个双向SAS连接点(PHYs)的设备。PHY是ー个收发器,它联系物理链路和实现数据编码和管理重设序列协议。在SAS控制器中每ー个PHY都可连接ー 个SAS装置,PHY包括实施与连接的设备通信的硬件设备。多个PHY组成多个端ロ,以方便和简化与ー个特定PHY连接的SAS装置的连接过程;例如,ー个SAS装置可以通过几个PHY连接到ー个SAS控制器,这些PHY可与ー个单一端ロ(宽端ロ)相关联,访问SAS装置是通过共同的端ロ,从而增加了端ロ的带宽,并SAS控制器是负责为有效负载平衡所有的PHY。SAS控制器可要求每个PHY是手动配置,使初始安装费时费力的。此外,对系统拓扑的任何改变同样是费时费カ的,而且容易出现人为错误。ー些SAS控制器包括自动配置端口和PHY的功能,因此可以消除人为因素,并且使系统容易改变拓扑。SAS装置偶尔会失去电源,重新启动,重新设置或失去与SAS控制器的连接。ー个试图从一端ロ发送或取回信息装置与一 PHY相关联,而这个PHY不再与SAS装置连接,这将会遇到ー个重大的错误。SAS控制器包含自动配置端口和PHY的功能,其中PHY识别因为系统拓扑改变和与PHY相关联的端ロ与SAS装置断开所引起的连接失败。此性能会阻止其它设备试图访问已断开的SAS装置,当如果SAS装置重新连接至SAS控制器吋,也可从想要连接到SAS装置的其它设备端ロ使SAS装置分离。

发明内容
本发明提供了ー种方法和设备,用于维持在连接的SAS装置重启、电源周期以及芯片重设中保持一致的SAS端ロ配置。所述设备是具有多个PHY、一处理单元和非易失性存储器的SAS控制器。即使在SAS装置从PHY断开预期的SAS设备可能重新连接到相同的PHY时,在所述非易失性存储器中,SAS控制器为PHY保存配置信息在PHY配置数据结构中。保持一致SAS端ロ配置的方法,包括当SAS装置从与PHY配置数据结构相关联的一 PHY断开时,从PHY配置数据结构中清除SAS装置的SAS地址,以及设置与所述PHY相关联的ー链路别名为无效值以防止其它设备试图通过所述PHY与SAS装置通信,但保留所述SAS装置的SAS地址在端ロ配置数据结构中。如果SAS装置重新连接到相同的PHY上,例如SAS装置完成一个电源周期,SAS控制器用存储在PHY配置数据结构和端ロ配置数据结构中的信息自动重新配置PHY。然后SAS控制器比较所述PHY与其它每个自动配置的PHY,以确保没有PHY具有相冲突的配置信息。


图I是本发明的一个实施方案的流程图;图2是本发明的另ー实施方案的流程图;图3是根据图I和图2所述的方法配置SAS控制器的组织结构图;图4是根据图I和图2所示的实施方法配置的SAS控制器的框图。
具体实施例方式參考附图对本发明实质主题做详细的说明。权利要求限定本发明的保护范围,多数的替代方案、修改方案和同等方案都包括在内。为了清楚的目的,在技术领域内相关联的现有技术并没有详细描述,以避免不必要的模糊描述。參照图I所示用于创建SAS控制器的初始配置的方法的典型示例操作。所述方法通过SAS控制器内部的处理单元来执行。SAS控制器包括ー个或多个被组织成ー个或多个端ロ的PHY。每个端ロ可以由一端ロ配置数据结构表示,以及每个PHY可以由ー PHY配置数据结构表示。在操作100中,SAS控制器可首先确定与SAS控制器相关联的端ロ是否已经被初始化;如果端ロ已经初始化,则为端ロ创建初始配置的方法是不需要的,该方法将结束。如果端ロ没有被初始化,SAS控制器可以通过分配预定的值给每个端ロ配置数据结构中的元素初始化所有端ロ 102。所述预定的值来源于SAS控制器内部的存储器所存储的配置数据结构。SAS控制器可以初始化一个或多个端ロ控制器104 ; —个端ロ控制器表不一个与SAS装置相关联的SAS地址。每个端ロ控制器可以由一端ロ控制器配置数据结构表示。然后SAS控制器确定是否有PHY要配置106。如果没有PHY要配置,则SAS控制器可设置ー个内部标志来表明初始化端ロ配置已经完成108,并且该方法可以结束。如果有PHY要配置,则SAS控制器可以顺序地处理每个PHY以添加PHY给ー适当的端ロ。根据SAS控制器存储的配置数据所述端ロ可以开始与PHYs相关联。在操作110中,SAS控制器确定与每个PHY相关联的端ロ是否已经顺序地与现有的PHY成员相关联。如果端ロ没有与现有的任何PHY成员相关联,则SAS控制器可以为端ロ分配一端ロ控制器112。然后SAS控制器可以确定是否根据SAS控制器所存储的配置数据自动或手动地配置PHY 114。如果自动配置PHY,则SAS控制器可以在与所述PHY相关联的配置数据结构中设置ー标志来表明所述PHY自动配置116 ;然后SAS控制器可根据存储在SAS控制器中的配置数据存储ー值118,该值表示代表PHY配置数据结构中的一动态端ロ组118 ; SAS控制器可在表示动态端ロ组的全局数据结构中设置ー数据元,该数据元表明该PHY属于此动态端ロ组120。另ー方面,如果是手动配置PHY,则SAS控制器可在与所述PHY相关联的PHY配置数据结构中设置ー标志来表明所述PHY是手动配置122。对于自动和手动配置PHY 二者来说,SAS控制器都可通过在与所述PHY相关联的PHY配置数据结构中记录端口数目来増加PHY作为与其相关联端ロ的成员124,并在端ロ配置数据结构中记录数据来表明PHY是端ロ成员。具体来说,SAS控制器可设置ー个位(bit)来代表PHY在端口数据结构中的位掩码成员。SAS控制器通过存储在与端ロ控制器相关联的端ロ控制器配置数据结构中的端口数目来关联端ロ与端ロ控制器126。然后SAS控制器通过在具体与所述PHY相关联的SAS控制器硬件中设置ー数据元为唯一标识所述端ロ的值128。最后,SAS控制器可以为PHY存储配置信息130,例如与所述PHY相关联的端口和动态端ロ组。同样过程可以为SAS控制器中的每ー个PHY执行。通过所述方法,根据SAS控制器所存储的配置信息将SAS控制器配置到一初始状态。SAS控制器支持手动配置PHYs和自动配置PHYs ;但是手动配置PHY与自动配置PHY不应当关联相同的端ロ,因为系统拓扑的变化导致自动配置PHYs变化不会反映相应手动配置PHY变化,潜在地导致端ロ分配不协调。參照图2所示,在SAS控制器根据存储在存储器内的配置数据初始化配置后,当SAS控制器发生状态改变吋,重新自动配置SAS控制器的典型操作方法。状态改变是指SAS控制器中的ー个PHY的状态改变,例如SAS装置与PHY 连接或者断开,连接到PHY的SAS装置重新启动,或者连接到PHY的SAS装置断电。每当状态发生变化的时候,SAS控制器都可设置ー个内部标志来表明SAS控制器需要重新配置。PHY状态改变时重新配置的过程和监测PHY状态改变的过程允许分开标志。SAS控制器可以执行目前的方法。SAS控制器首先重设表明SAS控制器需要重新设置的内部标志200。然后SAS控制器可反复处理SAS控制器上的每个PHY,在每个重复之前,确定是否有PHY要处理202。对于每个被处理的PHY,SAS控制器确定PHY连接是否当前是活动的204 ;当PHY被连接到SAS装置上能够发送和接收数据的时候,PHY连接是活动的。如果PHY连接是活动的,SAS控制器可移到下ー个PHY,如果是非活动的,SAS控制器可清除一个数据元206,所述数据元存储了与所述PHY相关联的PHY配置数据结构中的SAS地址。SAS地址是连接到所述PHY的SAS装置的地址。在单个SAS装置连接至SAS控制器上的多个PHY的地方,存储在与每个PHY相关联的每个PHY配置数据结构中的SAS地址可以相同。一旦存储SAS地址的数据元被清除,SAS控制器可确定PHY是自动配置还是手动配置208 ;如果PHY是手动配置,SAS控制器可移动到下ー个PHY,如果PHY是自动配置的,则SAS控制器可设置特别是与所述PHY相关联的SAS控制器硬件中的一数据元为一无效值210,而维持所述PHY配置数据结构在其当前状态。通过维持所述PHY配置数据结构,如果先前连接到PHY的SAS装置被重新连接,所述PHY可在随后时间被重新配置到相同的端口和/或动态端ロ组设置。所述SAS控制器随后可转移到下ー个PHY,直到每个PHY都已被处理。一旦SAS控制器上的所有PHYs都已被处理,SAS控制器可重新设置每个PHY,以便连接到所述SAS控制器的其它SAS装置看到PHY配置的改变。SAS控制器可反复地处理要重置的每个PHY 212。对于每个PHY,SAS控制器可确定PHY是自动或手动配置的214 ;如果PHY是手动配置,则SAS控制器可移到下ー个PHY,如果是自动配置,则SAS确定PHY是否是活动的216。如果PHY是非活动的,则SAS控制器移到下ー个PHY,如果PHY是活动的,则SAS控制器可确定是否有其它自动配置的PHYs218,然后它可反复比较当前PHY和每ー个其它自动配置的PHY,SAS控制器可比较第一 PHY与来自所用自动配置的PHY目录中的单个其它自动配置的PHY (第二 PHY),直到所述第一 PHY已与所述目录中的每ー个其它自动配置的PHY进行了比较。SAS控制器可首先确定第二 PHY是否是活动的和是否发生与第二 PHY有关的状态改变事件220。如果第二 PHY是非活动的,或者没有发生与第二 PHY有关的状态改变事件,则SAS控制器可为第一 PHY存储配置信息244,并移到比较第一 PHY和下一个自动配置的PHY。否则,SAS控制器可通过比较各自PHY配置数据结构中存储SAS地址的数据元来确定第一 PHY和第二 PHY是否共享相同的SAS地址222,或者通过询问直接来自于与PHY相关联的SAS装置的信息;如果第一 PHY和第二 PHY的SAS地址是不同的,SAS控制器可确定它们是否被分配同一端ロ 224,如果它们没有被分配同一端ロ,SAS控制器可为第一 PHY存储PHY配置信息244,并比较第一 PHY与下一个自动配置的PHY ;如果第一 PHY和第二 PHY共享同一端ロ,SAS控制器可创建一新端ロ并关联所述第一 PHY与所述新端ロ 226,然后为第一 PHY存储PHY配置信息244,并比较第一 PHY与下一个自动配置的PHY。如果第一 PHY和第二 PHY共享同一 SAS地址,SAS控制器可确定第一 PHY和第二 PHY是否与同一动态端ロ组的不同的端ロ相关联228。通常,当一 SAS装置通过多个PHY连接到一 SAS控制器吋,每ー个PHY都与相同的端ロ相关联以形成 ー宽端ロ。动态端ロ组是人造建构以允许连接在同一 SAS装置和SAS控制器上的PHYs与不同的端ロ相关联。如果第一 PHY和第二 PHY共享同一 SAS地址,它们必须要连接到同一 SAS装置上;因此,如果它们在同一动态端ロ组,它们也应该与同一端ロ相关联。如果是这样的话,SAS控制器可为第一 PHY存储配置信息244,并比较第一 PHY与下一个自动配置的PHY ;如果不是这样的话,无论第一 PHY或第二 PHY需要附加的重新配置。SAS控制器可确定自从上次第一 PHY根据PHY配置数据结构中的数据元重新配置之后第一 PHY的配置是否又发生了任何变化230 ;如果没有发生变化,SAS控制器可关联第二 PHY和与第一 PHY相关联的端ロ 232,然后SAS控制器可为第一 PHY存储配置信息244,并移到比较第一 PHY与下一个自动配置的PHY。如果第一 PHY已发生改变,SAS控制器可确定哪个PHY是与较低的端口号相关联234 ;如果第一 PHY是与较低的端口号相关联,SAS控制器可分配与第一 PHY相关联的端ロ给第二 PHY 240,并设置标志表明第二 PHY需要重设242 ;如果第二 PHY与较低的端口号相关联,SAS控制器可分配与第二 PHY相关联的端ロ给第一 PHY236,并设置标志表明第一 PHY需要再次重设238。在任ー情况下,SAS控制器都可为第一 PHY存储配置信息244并移到比较第一 PHY与下一个自动配置的PHY。上述方法表明优选较低端ロ号;优选较低端ロ号是在任意条件下解决端ロ号之间冲突的可接受的任何确定性机制。一旦SAS反复重新配置所有PHY,并使适当的端口号发生变化,所有PHY配置数据结构被存储在持续非易失性存储单元。通过这种方法,当SAS装置断开随后连接到同一 PHY上吋,SAS控制器中与PHY相关联的端口和动态端ロ组信息可被保留和恢复。这种方法也容忍连接到SAS控制器上的SAS装置的拓扑发生变化,以使当SAS装置从SAS控制器上的PHYs断开并且随后不同的SAS装置被连接到这些PHYs上时,端口号和动态端ロ组设置没有被保留。參照图3和图4,根据发明ー个SAS控制器可以有多个PHY 304、306、308、310、312和314,一个处理単元410和功能地连接到处理单元410上的存储器412。所述存储器412是ー些类型的非易失性存储器,例如闪速存储器。PHYs是SAS控制器的物理连接点,用于连接其它SAS装置,例如第一目标300和第二目标302。SAS装置通过多个PHY连接到ー个SAS控制器上;例如第一目标300可被连接到第一 PHY 304和第二 PHY 306,而第二目标302可被连接到第三PHY 308、第四PHY 310、第五PHY 312和第六PHY 314。SAS控制器一般关联PHYs与端ロ。端ロ是人造建构,g在便于在SAS控制器400内通信,通过允许SAS装置发送数据包到端ロ而不是特定PHY和从端ロ而不是特定PHY接收数据包。端ロ是比PHY更高水平的通信机制。ー单个SAS装置通过超过ー个PHY被连接到SAS控制器400,SAS控制器400可分配相同端ロ给连接SAS装置到SAS控制器400的每ー个PHY ;例如,第一 PHY 304和第二 PHY 306可都与第一端ロ 316相关联。但是,它有利于将ー个连接SAS装置和SAS控制器400之间的多PHY分成多个端ロ。ー个SAS控制器400可用第一动态端ロ组334和第二动态端ロ组336来划分多个连接在ー个SAS装置比如第二目标302到SAS控制器400上的多个PHY。在第一动态端ロ组334内,第三PHY 308与第二端ロ 318相关联,而在第二动态端ロ组336内,第四PHY 310、第五PHY 312和第六PHY 314与第三端ロ 320相关联。姆ー个端ロ可与卩隹ー的端ロ控制器相关联;例如,第一端ロ 316与第一端ロ控制器322相关联,第二端ロ 318与第二端ロ控制器324相关联,第三端ロ 320与第四端ロ控制器328相关联。SAS控制器400可保持端ロ控制器不与任何端ロ相关联;例如第一动态端ロ组334内的第三端ロ控制器326,以及第ニ动态端ロ组336内的第五端ロ控制器330和第六端ロ控制器332都可通过SAS控制器400保持;不关联的端ロ可被用作连接的SAS装置变化的拓扑。端ロ控制器是数据元,该数据元包含SAS装置的SAS地址,所述SAS装置连接至与端ロ相关联的PHYs,所述端ロ与控制器相关联。当识别信息被连接发送吋,使用端ロ控制器内所包含的信息。SAS控制器400可初始化所有PHYs,并根据存储在存储器412内的一些初始配置 数据关联每ー个PHY与一端ロ。所述初始配置数据可包括与每个手动配置的PHY相关联的端口和与每个自动配置的PHY相关联的动态端ロ组。SAS控制器400可首先使同一动态端ロ组中的姆个自动配置的PHY都与同一端ロ相关联,在所述动态端ロ组内创造一个初始的宽端ロ。然后SAS控制器可监控每个PHY的状态变化事件,井随后创建新端ロ,以及必要时根据此处所述的方法和标准关联PHYs与这些端ロ。如果附加的SAS装置,如第一目标300断电、重新启动、或因其他原因从SAS控制器400断开连接,则SAS控制器400可在第一 PHY 304和第二 PHY 306中登记ー状态改变事件。SAS控制器400可在与第一 PHY 304和第二 PHY 306相关联的PHY配置数据结构中设置表明这些PHY需要重新配置的标志。SAS控制器400也可设置ー个表明PHY需要重新配置的全局标志。只有在PHY配置数据结构中被指定自动配置的PHYs才可完全重新配置。即使有状态改变事件发生,与手动配置的PHYs相关联的端ロ也可保持静态地配置。SAS控制器400可重新配置被标记为已经经历ー状态改变事件的所有PHY。在目前的例子中,SAS控制器400可首先确定第一 PHY 304是否是活动的。如果第一 PHY 304不是活动的,则SAS控制器400可清除与第一 PHY 304相关联的PHY配置数据结构中存储的第一目标300的SAS地址。如果第一 PHY 304是自动配置的,SAS控制器400可设置与第一 PHY 304相关联的硬件链路别名为无效值,以确保没有SAS装置能试图通过第一 PHY304与第一目标300通信。然后SAS控制器400可在第二 PHY 306上执行同样的过程。然后如果没有其它PHY已经历一状态改变事件,SAS控制器400可重设第一 PHY 304和第二PHY 306,并在PHY配置数据结构中为每ー个PHY重设ー适当的标志,该标志表明PHY已被重设。在目前情况下,SAS控制器400可确定第一 PHY304是自动配置以及第一 PHY 304是非活动的。如果第一 PHY是非活动的,就不需要进ー步配置。SAS控制器可在第二 PHY 306上执行同样的过程。在存储器412中,通过在ー状态改变事件之后保留与PHYs相关联的端口和动态端ロ组信息,SAS控制器在一随后的状态改变事件之后可恢复PHYs到它们的原始配置,其中连接至一个或多个相同PHY的相同SAS装置被重新激活。在诸如第一目标300的SAS装置在断电、重启或者其它原因从SAS控制器400断开连接之后重新连接到SAS控制器400吋,SAS控制器400在第一 PHY 304和第二 PHY306中登记ー状态改变事件,以表明这些PHY需要重新配置;SAS控制器400也可设置ー个全局标志来表明PHYs需要重新配置。如果第一 PHY 304和第二 PHY 306以前是活动的,与这些PHY相关联的端口和动态端ロ组信息将被存储在存储器412上的PHY配置数据结构中。SAS控制器400可首先确定第一 PHY 304是否是活动的。如果第一 PHY 304是活动的,则SAS控制器400可在与第一 PHY相关联的PHY配置数据结构中存储第一目标300的SAS地址,并设置与第一 PHY相关联的硬件链路别名为ー适当值,该适当值表明所述PHY与一端ロ的关联。SAS控制器400可PHY 306上执行同样的过程。然后SAS控制器400可重设第一 PHY 304和第二 PHY 306,并可在PHY配置数据结构中为每ー个PHY重设ー适当标志来表明所述PHY已经被重设。目前情况中,SAS控制器400可确定第一 PHY 304是自动配置的以及第一 PHY 304是活动的。然后SAS控制器400可比较第一 PHY 304与其它自动配置的PHY以鉴别和改正任何自动配置的PHYs的配置中的冲突。通过比较第一 PHY304与第二 PHY 306,SAS控制器400可以确定第二 PHY 306是活动的并已经历ー状态变化 事件。SAS控制器400可确定第一 PHY 304和第二 PHY 306是否基于SAS装置的SAS地址附属于相同的SAS装置。如果第一 PHY 304和第二 PHY 306连接至同一 SAS装置,则基于存储在与每ー个PHY相关联的PHY配置数据结构中的PHY配置数据,控制器400可确定第一PHY 304和第二PHY 306是否与同一动态端ロ组中不同的端ロ相关联。目前例子中,第一PHY 304和第二 PHY 306不与同一动态端ロ组中的不同的端ロ相关联,因此在第一 PHY 304和第二 PHY 306的配置设置之间不存在冲突,SAS控制器400可继续比较第一 PHY 304与其它自动配置的PHY,例如第三PHY 308。如果第三PHY 308没有经历ー状态变化事件,就没必要进ー步配置。同样适用于第四PHY 310、第五PHY 312和第六PHY 314。从而在多次状态改变事件之后SAS控制器已自动地重新配置PHY,以恢复失活并随后重新激活的PHYs到它们初始的端口和动态端ロ组配置。虽然依据具体实施方式
描述了公开内容,但本领域的技术人员所做的各种修改都是在本公开内容的范围内。因此,本公开内容的范围不应该限定在上文说明书的内容。而本公开内容的范围应该根据权利要求所叙述的内容来确定,包括与其等同的全部范围。
权利要求
1.一种SAS控制器设备,包括 一处理器; 可操作地连接至所述处理器的非易失性存储器,该非易失性存储器被配置以存储端ロ和PHY配置信息; 可操作地连接至所述处理器的多个PHY,每ー PHY被配置以连接到一 SAS装置;以及 计算机可执行程序代码,其被配置以 自动配置所述多个PHY中的至少ー个PHY在所述处理器上运行; 在所述存储器内存储PHY配置信息;以及 在ー个或多个PHY经历ー状态改变事件后,基于此PHY配置信息重新 配置所述ー个或多个PHY。
2.根据权利要求I所述的设备,其中连接到所述ー个或多个PHY的一SAS装置松开与所述ー个或多个PHY的连接,并在没有介于中间的SAS装置被连接到所述ー个或多个PHY吋,随后恢复与所述ー个或多个PHY的连接。
3.根据权利要求I所述的设备,其中所述计算机可执行程序代码被进一歩配置以 在与所述多个PHY中的ー个PHY相关联的一数据结构中设置ー数据元,该数据元指示所述多个PHY中的所述ー个PHY是自动配置的; 在与所述多个PHY中的ー个PHY相关联的一数据结构中存储动态端ロ组信息,该动态端ロ组信息指示所述多个PHY中的所述ー个PHY是ー动态端ロ组中的ー员; 在与至少ー个端ロ相关联的一数据结构中设置ー数据元,该数据元指示所述多个PHY中所述ー个PHY是所述至少ー个端ロ中的ー员; 在与一端ロ控制器相关联的一数据结构中设置ー数据元,该数据元指示至少ー个端ロ与所述端ロ控制器相关联;以及 在与一硬件链路别名相关联的一数据结构中设置ー数据元,该硬件链路别名与所述多个PHY中的所述ー个PHY相关联,该数据元指示所述多个PHY中的所述ー个PHY所述至少一个端ロ相关联,其中所述至少一个端ロ有PHYs成员。
4.根据权利要求I所述的设备,其中所述计算机可执行程序代码被进一歩配置以 为至少ー个端ロ分配一端ロ控制器,其中所述至少ー个端ロ没有任何PHYs成员; 在与所述多个PHY中的ー个PHY相关联的一数据结构中设置ー数据元,该数据元指示所述多个PHY中的所述ー个PHY是自动配置的; 在与所述多个PHY中的所述ー个PHY相关联的一数据结构中存储动态端ロ组信息,该动态端ロ组信息指示所述多个PHY中的所述ー个PHY是某ー动态端ロ组中的ー员; 在与所述多个PHY中的所述ー个PHY相关联的一数据结构中设置ー数据元,该数据元指示所述多个PHY中的所述ー个PHY是某ー动态端ロ组中的ー员; 在与至少ー个端ロ相关联的一数据结构中设置ー数据元,该数据元指示所述多个PHY中所述ー个PHY是所述至少ー个端ロ中的ー员; 在与一端ロ控制器相关联的一数据结构中设置ー数据元,该数据元指示至少ー个端ロ与所述端ロ控制器相关联;以及 在与一硬件链路别名相关联的一数据结构中设置ー数据元,该硬件链路别名与所述多个PHY中的所述ー个PHY相关联,该数据元指示所述多个PHY中的所述ー个PHY所述至少一个端ロ相关联,其中所述至少一个端ロ有PHYs成员。
5.根据权利要求I所述的设备,其中所述计算机可执行程序代码被进一歩被配置以 确定是否所述多个PHY中的ー个或多个PHY已经历了一状态改变事件; 确定是否所述多个PHY中的ー个PHY是活动的;以及 确定是否所述多个PHY中的所述ー个PHY是自动配置的。
6.根据权利要求5所述的设备,其中所述计算机可执行程序代码被进一歩配置以 从ー数据元清除一 SAS地址,该数据元被配置以存储一 SAS地址;以及 设置ー硬件链路别名,该硬件链路别名被配置以表示所述多个PHY中的所述ー个PHY为某ー无效值,其中所述多个PHY中的所述ー个PHY是非活动的且是自动配置的。
7.根据权利要求5所述的设备,其中所述计算机可执行程序代码被进一歩配置以 比较所述多个PHY中的所述ー个PHY与所述多个PHY中的一第二 PHY,其中所述多个PHY中的所述第二 PHY是自动配置的,并且其中所述多个PHY中的所述第二 PHY已经历一状态变化事件;以及 确定是否所述多个PHY中的所述ー个PHY和所述多个PHY中的所述第二 PHY连接至一单个SAS装置,其中所述多个PHY中的所述ー个PHY是活动的且是自动配置的。
8.根据权利要求7所述的设备,其中所述计算机可执行程序代码被进一歩配置以 创建一新端ロ ;以及 关联所述多个PHY中的所述ー个PHY与所述新端ロ,其中所述多个PHY中的所述ー个PHY和所述多个PHY中的所述第二 PHY不连接至相同的SAS装置,以及其中所述多个PHY中的所述ー个PHY和所述多个PHY中的所述第二 PHY与相同的端ロ相关联。
9.根据权利要求7所述的设备,其中所述计算机可执行程序代码被进一歩配置以 为所述多个PHY中的所述ー个PHY修改配置信息,以使所述多个PHY中的所述ー个PHY和所述多个PHY中的所述第二 PHY与相同的端ロ相关联,其中多个PHY中的所述ー个PHY和所述多个PHY中的所述第二 PHY与相同动态端ロ组中的不同端ロ相关联,以及其中所述多个PHY中的所述ー个PHY和所述多个PHY中的所述第二 PHY连接至相同的SAS装置;以及 在与所述多个PHY中的所述ー个PHY相关联的一数据结构中设置ー数据元,其中所述数据元被配置以指示所述多个PHY中的所述ー个PHY需要ー附加重置操作。
10.根据权利要求7所述的设备,其中所述计算机可执行程序代码被进一歩配置以 为所述多个PHY中的所述第二 PHY修改配置信息,以使所述多个PHY中的所述ー个PHY和所述多个PHY中的所述第二 PHY与相同的端ロ相关联,其中多个PHY中的所述ー个PHY和所述多个PHY中的所述第二 PHY与相同动态端ロ组中的不同端ロ相关联,以及其中所述多个PHY中的所述ー个PHY和所述多个PHY中的所述第二 PHY连接至相同的SAS装置;以及 在与所述多个PHY中的所述第二 PHY相关联的一数据结构中设置ー数据元,其中所述数据元被配置以指示所述多个PHY中的所述第二 PHY需要ー附加重置操作。
11.ー种在SAS控制器中配置PHY的方法,包括 初始化所述SAS控制器中的ー个端ロ ; 初始化所述SAS控制器中的至少ー个端ロ控制器;确定是否所述至少ー个端ロ具有任何PHY成员; 关联所述至少ー个端ロ与所述PHY ; 关联所述至少一个端ロ控制器与所述至少一个端ロ; 存储与所述PHY相关联的配置信息;以及 响应在所述的存储与所述PHY相关联的配置信息之后发生的一状态改变事件,基于存储的与所述PHY相关联的配置信息,恢复所述PHY至一配置状态。
12.根据权利要求11所述的方法,进ー步包括 在与所述PHY相关联的一数据结构中设置ー数据元,该数据元指示所述的PHY是自动配置的; 与所述PHY相关联的一数据结构中设置动态端ロ组信息,该动态端ロ组信息指示所述PHY是某ー动态端ロ组中的ー员; 在一数据结构中设置ー数据元,该数据元指示所述的PHY是某ー动态端ロ组中的一员; 在与所述至少一个端ロ相关联的一数据结构中设置ー数据元,该数据元指示所述PHY是所述至少ー个端口中的ー员; 在与一端ロ控制器相关联的一数据结构中设置ー数据元,该数据元指示所述至少ー个端ロ与所述端ロ控制器相关联;以及 在与一硬件链路别名相关联的一数据结构中设置ー数据元,所述硬件链路别名与所述PHY相关联,所述数据元指示所述PHY与所述的至少ー个端ロ相关联, 其中所述的至少ー个端ロ具有PHYs成员。
13.根据权利要求11所述的方法,进ー步包括 为所述的至少ー个端ロ分配一端ロ控制器,其中所述的至少ー个端ロ没有任何PHYs成员。
14.根据权利要求12所述的方法,进ー步包括 在与所述PHY相关联的一数据结构中设置ー数据元,该数据元指示所述的PHY是自动配置的; 在与所述PHY相关联的一数据结构中设置动态端ロ组信息,该动态端ロ组信息指示所述PHY是某ー动态端ロ组中的ー员; 在一数据结构中设置ー数据元,该数据元指示所述的PHY是某ー动态端ロ组中的一员; 在与所述至少一个端ロ相关联的一数据结构中设置ー数据元,该数据元指示所述PHY是所述至少ー个端口中的ー员; 在与一端ロ控制器相关联的一数据结构中设置ー数据元,该数据元指示所述至少ー个端ロ与所述端ロ控制器相关联;以及 在与一硬件链路别名相关联的一数据结构中设置ー数据元,所述的硬件链路别名与所述的PHY相关联,该数据元指示所述的PHY与所述的至少ー个端ロ相关联。
15.ー种在SAS控制器中重新配置PHY的方法,包括 确定所述PHY是否是活动的; 确定所述PHY是否是自动配置的;存储与所述PHY相关联的配置信息;以及 基于存储的与所述PHY相关联的配置信息,恢复所述PHY至一配置状态,其中在存储与所述PHY相关联的配置信息之后所述PHY已经历一状态改变事件。
16.根据权利要求15所述的方法,进ー步包括 从ー数据元清除一 SAS地址,所述数据元被配置以存储一 SAS地址;以及设置ー硬件链路别名,该硬件链路别名被配置以表示所述PHY为某ー无效值,其中所述的PHY是非活动的,以及其中所述的PHY是自动配置的。
17.根据权利要求15所述的方法,进ー步包括 比较第一 PHY和第二 PHY,其中第二 PHY是自动配置的,并且已经经历了一次状态变化; 确定是否第一 PHY和第二 PHY连接至ー单个SAS装置,其中所述的第一 PHY是活动的和是自动配置的。
18.根据权利要求17所述的方法,进ー步包括 创建一新端ロ ;以及 关联所述PHY与所述的新端ロ, 其中所述的PHY和所述的第二 PHY不连接至相同的SAS装置,以及其中所述的PHY和所述第二 PHY与相同的端ロ相关联。
19.根据权利要求17所述的方法,进ー步包括 为所述PHY修改配置信息,以使所述PHY和所述第二 PHY与相同的端ロ相关联,其中所述PHY和所述第二 PHY与相同动态端ロ组中的不同端ロ相关联,以及其中所述PHY和所述第二 PHY连接至相同的SAS装置;以及 在与所述PHY相关联的一数据结构中设置ー数据元,其中所述数据元被配置以指示所述PHY需要ー附加重置操作。
20.根据权利要求17所述的方法,进ー步包括 为所述第二 PHY修改配置信息,以使所述PHY和所述第二 PHY与相同的端ロ相关联,其中所述PHY和所述第二 PHY与相同动态端ロ组中的不同端ロ相关联,以及其中所述PHY和所述第二 PHY连接至相同的SAS装置;以及 在与所述第二 PHY相关联的一数据结构中设置ー数据元,其中所述数据元被配置以指示所述第二 PHY需要ー附加重置操作。
全文摘要
具有持续端口配置的SAS控制器。本发明涉及网络中的SAS控制器。SAS控制器设备,包括处理器;可操作地连接至处理器的非易失性存储器,该非易失性存储器被配置以存储端口和PHY配置信息;可操作地连接至处理器的多个PHY,每一PHY被配置以连接到一SAS装置;以及计算机可执行程序代码,其被配置以自动配置所述多个PHY中的至少一个PHY在所述处理器上运行;在存储器内存储PHY配置信息;以及在一个或多个PHY经历一状态改变事件后,基于PHY配置信息重新配置所述一个或多个PHY。SAS控制器上当连接的SAS装置重新启动、重新设置或暂时断开时,可以保持一致的端口和PHY配置信息,防止端口冲突。
文档编号G06F13/38GK102693201SQ20121002491
公开日2012年9月26日 申请日期2012年2月6日 优先权日2011年2月7日
发明者布拉德·D·百思莫, 欧文·帕里, 铭-仁·王 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1