Sas地址自动分配系统及方法

文档序号:6491260阅读:473来源:国知局
Sas地址自动分配系统及方法
【专利摘要】一种SAS地址自动分配系统及方法,该SAS地址自动分配系统运行于主扩展设备中,该主扩展设备通过多条物理通信管道与多个从扩展设备相连接,该SAS冗余存储系统包括一个EEPROM以及多个硬盘HDD。在一个SAS冗余存储系统中,当主扩展设备与从扩展设备的SAS地址相同而发生存取硬盘HDD中的数据错误时,本发明所述的SAS地址自动分配系统及方法让主扩展设备与每一个从扩展设备通过物理通信管道彼此互相沟通协调,自动为主扩展设备以及每一个从扩展设备分配一个SAS地址,从而避免发生SAS地址相冲的问题。
【专利说明】SAS地址自动分配系统及方法
【技术领域】
[0001]本发明涉及一种SAS存储系统及方法,特别是关于一种SAS冗余存储系统的SAS地址自动分配系统及方法。
【背景技术】
[0002]在SAS 存储系统(Serial Attached SCSI storage system)中的存储冗余(Redundant)设计中,可以通过不同的路径,经过SAS扩展卡(Expander)去存取同一颗SAS硬盘(HDD)中的数据。由于可以从不同的路径存取硬盘的数据,因此系统需要区分不同的路径以及不同的SAS扩展卡。如何区分不同的SAS扩展卡中的路径,就是通过区分SAS地址。一般SAS地址(Address)有两种设计:将不同SAS地址分别写在每一个SAS扩展卡中;各个SAS扩展卡读取同一颗共享EEPROM中的SAS地址。
[0003]无论是那一种设计,都有可能会发生下列问题:一、当两个SAS扩展卡中的SAS地址都重复时,系统就会发生读写错误,无法正确读取硬盘的数据;二、当两个SAS扩展卡各去读取同一颗共享EEPROM中的SAS地址时,会由于读不到SAS地址而导致SAS扩展卡故障,系统也会发生读写错误,无法正确读取硬盘的数据。

【发明内容】

[0004]鉴于以上内容,有必要提供一种SAS冗余存储系统的SAS地址自动分配系统及方法,能够自动为SAS冗余存储系统中每一个扩展设备分配一个SAS地址,从而避免发生SAS地址相冲的问题。
[0005]所述的SAS地址自动分配系统安装并运行于主扩展设备中,该主扩展设备通过多条物理通信管道与多个从扩展设备相连接,该SAS冗余存储系统包括一个EEPROM。该SAS地址自动分配系统包括:议定义模块,用于定义一个用于协调所述主扩展设备的SAS地址与所述从扩展设备的SAS地址的地址错位数,以及将所述主扩展设备与所述从扩展设备通过所述物理通信管道建立通信连接;SAS地址检查模块,用于检查所述主扩展设备的SAS地址、所述从扩展设备的SAS地址与所述EEPROM中存储的原始SAS地址是否相同;SAS地址分配模块,用于当所述主扩展设备的SAS地址和从扩展设备的SAS地址与EEPROM中存储的原始SAS地址至少两者之一相同时,则从所述EEPROM中读取原始SAS地址,将读取的原始SAS地址加上所述地址错位数得到第一 SAS地址并将该第一 SAS地址分配给所述主扩展设备,将第一 SAS地址加上所述地址错位数得到第二 SAS地址并将该第二 SAS地址分配给所述从扩展设备。
[0006]所述的SAS地址自动分配方法应用于主扩展设备中,该主扩展设备通过多条物理通信管道与多个从扩展设备相连接,该SAS冗余存储系统包括一个EEPROM。该方法包括步骤:定义一个用于协调所述主扩展设备的SAS地址与所述从扩展设备的SAS地址的地址错位数;将所述主扩展设备与所述从扩展设备通过所述物理通信管道建立通信连接;检查所述主扩展设备的SAS地址、所述从扩展设备的SAS地址与所述EEPROM中存储的原始SAS地址是否相同;当所述主扩展设备的SAS地址和从扩展设备的SAS地址与EEPROM中存储的原始SAS地址至少两者之一相同时,则从所述EEPROM中读取原始SAS地址;将读取的原始SAS地址加上所述地址错位数得到第一 SAS地址,并将该第一 SAS地址分配给所述主扩展设备;将第一 SAS地址加上所述地址错位数得到第二 SAS地址,并将该第二 SAS地址分配给所述从扩展设备。
[0007]相较于现有技术,在SAS余存储系统中,当主扩展设备与从扩展设备的SAS地址相同而发生存取数据错误时,本发明所述的SAS地址自动分配系统及方法能够让主扩展设备与每一个从扩展设备通过所述物理通信管道彼此互相沟通协调,自动为主扩展设备以及每一个从扩展设备分配一个SAS地址,从而避免发生SAS地址相冲的问题。
【专利附图】

【附图说明】
[0008]图1是本发明SAS冗余存储系统的SAS地址自动分配系统较佳实施例的架构图。
[0009]图2系主扩展设备中SAS地址自动分配系统的功能模块图。
[0010]图3系SAS冗余存储系统的SAS地址自动分配方法较佳实施例的流程图。
[0011]主要元件符号说明
[0012]SAS冗余存储系统100
[0013]主扩展设备I
[0014]SAS地址自动分配系统 10`[0015]协议定义模块101
[0016]SAS地址检查模块102
[0017]SAS地址分配模块103
[0018]存储单元11
[0019]微处理器12
[0020]从扩展设备2
[0021]EEPROM3
[0022]硬盘4
[0023]物理通信管道5
【具体实施方式】
[0024]如图1所示,是本发明SAS冗余存储系统100的SAS地址自动分配系统10较佳实施例的架构图。在本实施例中,所述的SAS地址自动分配系统10安装并运行于主扩展设备(Host SAS Expander Device) I中,该主扩展设备I通过多条物理通信管道(Physicallinks, PHY)5与从扩展设备(Slaver SAS Expander Device)2相连接。所述的主扩展设备I与从扩展设备2均能通过一种电可擦除只读存储器(EEPR0M)3存取多个硬盘(HDD)4中的数据。在本实施例中,主扩展设备I的数量为一个,而从扩展设备2的数量可以为一个或多个。所述EEPROM 3中存储有一个原始SAS地址,例如十六进制地址0x500605330000013F。
[0025]在本实施例中,在所述SAS冗余(Redundant)存储系统100中,当主扩展设备I与从扩展设备2的SAS地址(Address)相同而发生存取HDD 4中的数据错误时,所述SAS地址自动分配系统10会让主扩展设备I与每一个从扩展设备2通过所述物理通信管道5彼此互相沟通协调,自动为主扩展设备I以及每一个从扩展设备2分配一个SAS地址,从而避免发生SAS地址相冲的问题。该SAS地址是一种十六进制地址,用于识别主扩展设备I或从扩展设备2存储HDD 4中数据的访问信道。
[0026]如图2所示,是主扩展设备I中SAS地址自动分配系统10的功能模块图。在本实施例中,所述的SAS地址自动分配系统10包括协议定义模块10USAS地址检查模块102以及SAS地址分配模块103。本发明所称的功能模块系指一种能够被主扩展设备I的微处理器12所执行并且能够完成固定功能的一系列程序指令段,其存储于主扩展设备I的存储单元11中。
[0027]所述的协议定义模块101用于定义一个用于协调SAS冗余存储系统100中主扩展设备I的SAS地址与从扩展设备2的SAS地址的地址错位数,以及将主扩展设备I与从扩展设备2通过所述物理通信管道5建立通信连接。在本实施例中,所述的地址错位数是根据主扩展设备I与从扩展设备2之间的物理通信管道5的数量来确定。假设主扩展设备I与从扩展设备2之间有为40个物理通信管道(PHY),其中,36个为实体物理通信管道5,还有两个为虚拟物理通信管道(Virtual PHY)以及两个预留的物理通信管道,由此可知在SAS冗余存储系统100中就有40个可分配的SAS地址,则所述地址错位数定义为40。
[0028]所述的SAS地址检查模块102用于检查主扩展设备I的SAS地址、从扩展设备2的SAS地址与EEPROM 3中存储的原始SAS地址是否相同。在本实施例中,若主扩展设备I的SAS地址、从扩展设备2的SAS地址与EEPROM 3中存储的原始SAS地址两两之间均不相同,则说明SAS冗余存储系统100中的SAS地址正常,无需对主扩展设备I和从扩展设备2的SAS地址进行重新分配。若主扩展设备I的SAS地址、从扩展设备2的SAS地址与EEPROM3中存储的原始SAS地址至少两者之一相同,则说明SAS冗余存储系统100中的SAS地址不正常,需要对主扩展设备I和从扩展设备2的SAS地址进行重新分配。
[0029]所述的SAS地址分配模块103用于当所述主扩展设备I的SAS地址和从扩展设备2的SAS地址与EEPROM 3中存储的原始SAS地址至少两者之一相同时,则从EEPROM3中读取原始SAS地址,将读取的原始SAS地址加上定义的地址错位数得到第一 SAS地址并将该第一 SAS地址分配给主扩展设备1,以及将第一 SAS地址加上定义的地址错位数得到第二 SAS地址并将该第二 SAS地址分配给从扩展设备2。在本实施例中,假如从EEPROM 3中读取的原始SAS地址为0x500605330000013F,且预先定义的地址错位数为40,所述SAS地址分配模块103则会根据读取的原始SAS地址加上地址错位数40得到第一SAS地址0x500605330000017F,并且将该第一 SAS地址分配给主扩展设备I。所述SAS地址分配模块103再根据读取的原始SAS地址两个加上地址错位数80得到第二 SAS地址0x50060533000001BF,并且将该第二 SAS地址分配给从扩展设备2。
[0030]参考图3所示,是本发明SAS冗余存储系统100的SAS地址自动分配方法较佳实施例的流程图。在本实施例中,在同一 SAS冗余存储系统100中,当主扩展设备I与多个从扩展设备2的SAS地址相同而发生存取数据错误时,主扩展设备I会与每一个从扩展设备2通过物理通信管道5彼此互相沟通协调,自动为主扩展设备I以及每一个从扩展设备2分配一个SAS地址,从而避免发生SAS地址相冲的问题。
[0031]步骤S31,协议定义模块101定义一个用于协调SAS冗余存储系统100中主扩展设备I的SAS地址与从扩展设备2的SAS地址的地址错位数。在本实施例中,所述的地址错位数根据主扩展设备I与从扩展设备2之间的物理通信管道5的数量来确定,例如可以将用于分配SAS地址的地址错位数定义为40。
[0032]步骤S32,协议定义模块101将主扩展设备I与从扩展设备2通过多条物理通信管道5建立通信连接。在本实施例中,所述的物理通信管道5包括实体物理通信管道(例如36个)、虚拟物理通信管道(例如2个)以及预留的物理通信管道(例如2个)。
[0033]步骤S33,SAS地址检查模块102检查主扩展设备I的SAS地址、从扩展设备2的SAS地址与EEPROM 3中存储的原始SAS地址是否均不相同。若主扩展设备I的SAS地址和从扩展设备2的SAS地址与EEPROM 3中存储的原始SAS地址均不相同,则说明SAS冗余存储系统100中的SAS地址正常,无需对主扩展设备I和从扩展设备2的SAS地址进行重新分配。若主扩展设备I的SAS地址、从扩展设备2的SAS地址与EEPROM 3中存储的原始SAS地址至少两者之一相同,则说明SAS冗余存储系统100中的SAS地址不正常,流程执行步骤S34。
[0034]步骤S34,SAS地址分配模块103从所述EEPROM 3中读取原始SAS地址,例如从EEPROM 3 中读取的原始 SAS 地址为 0x500605330000013F。
[0035]步骤S35,SAS地址分配模块103将读取的原始SAS地址加上定义的地址错位数(例如地址错位数定义为40)得到第一 SAS地址,并将该第一 SAS地址分配给主扩展设备I。在本实施例中,所述SAS地址分配模块103根据读取的原始SAS地址(例如0x500605330000013F)加上地址错位数40得到第一 SAS地址0x500605330000017F,并将该第一 SAS地址分配给主扩展设备I。
[0036]步骤S36,SAS地址分配模块103将第一 SAS地址加上定义的地址错位数得到第二SAS地址,并将该第二 SAS地址分配给从扩展设备2。在本实施例中,所述SAS地址分配模块103根据读取的原始SAS地址(例如0x500605330000013F)加上两个地址错位数80得到第二 SAS地址0x50060533000001BF,并将该第二 SAS地址分配给从扩展设备2。
[0037]以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换都不应脱离本发明技术方案的精神和范围。
【权利要求】
1.一种SAS冗余存储系统的SAS地址自动分配系统,该SAS地址自动分配系统安装并运行于主扩展设备中,该主扩展设备通过多条物理通信管道与多个从扩展设备相连接,该SAS冗余存储系统包括一个EEPROM,其特征在于,所述的SAS地址自动分配系统包括: 协议定义模块,用于定义一个用于协调所述主扩展设备的SAS地址与所述从扩展设备的SAS地址的地址错位数,以及将所述主扩展设备与所述从扩展设备通过所述物理通信管道建立通信连接; SAS地址检查模块,用于检查所述主扩展设备的SAS地址和从扩展设备的SAS地址与所述EEPROM中存储的原始SAS地址是否相同; SAS地址分配模块,用于当所述主扩展设备的SAS地址和从扩展设备的SAS地址与EEPROM中存储的原始SAS地址至少两者之一相同时,则从所述EEPROM中读取原始SAS地址,将读取的原始SAS地址加上所述地址错位数得到第一 SAS地址并将该第一 SAS地址分配给所述主扩展设备,以及将第一 SAS地址加上所述地址错位数得到第二 SAS地址并将该第二 SAS地址分配给所述从扩展设备。
2.如权利要求1所述的SAS地址自动分配系统,其特征在于,所述的SAS冗余存储系统包括多个硬盘,每一个硬盘与所述EEPROM相连接构成所述主扩展设备和从扩展设备的数据传输信道。
3.如权利要求1所述的SAS地址自动分配系统,其特征在于,所述的地址错位数是根据所述主扩展设备与从扩展设备之间的物理通信管道的数量来确定。
4.如权利要求3所述的SAS地址自动分配系统,其特征在于,所述的物理通信管道包括实体物理通信管道、虚拟物理通信管道以及预留的物理通信管道。
5.如权利要求1所述的SAS地址自动分配系统,其特征在于:若所述主扩展设备的SAS地址和从扩展设备的SAS地址与EEPROM中存储的原始SAS地址均不相同,则说明SAS冗余存储系统中的SAS地址正常,无需对主扩展设备的SAS地址和从扩展设备的SAS地址进行重新分配。
6.一种SAS冗余存储系统的SAS地址自动分配方法,应用于主扩展设备中,该主扩展设备通过多条物理通信管道与多个从扩展设备相连接,该SAS冗余存储系统包括一个EEPR0M,其特征在于,该方法包括步骤: 定义一个用于协调所述主扩展设备的SAS地址与所述从扩展设备的SAS地址的地址错位数; 将所述主扩展设备与所述从扩展设备通过所述物理通信管道建立通信连接; 检查所述主扩展设备的SAS地址和从扩展设备的SAS地址与所述EEPROM中存储的原始SAS地址是否相同; 若所述主扩展设备的SAS地址和从扩展设备的SAS地址与EEPROM中存储的原始SAS地址至少两者之一相同,则从所述EEPROM中读取原始SAS地址; 将读取的原始SAS地址加上所述地址错位数得到第一 SAS地址,并将该第一 SAS地址分配给所述主扩展设备; 将第一 SAS地址加上所述地址错位数得到第二 SAS地址,并将该第二 SAS地址分配给所述从扩展设备。
7.如权利要求6所述的SAS地址自动分配方法,其特征在于,所述的SAS冗余存储系统包括多个硬盘,每一个硬盘与所述EEPROM相连接构成所述主扩展设备和从扩展设备的数据传输信道。
8.如权利要求6所述的SAS地址自动分配方法,其特征在于,所述的地址错位数是根据主扩展设备与从扩展设备之间的物理通信管道的数量来确定。
9.如权利要求8所述的SAS地址自动分配方法,其特征在于,所述的物理通信管道包括实体物理通信管道、虚拟物理通信管道以及预留的物理通信管道。
10.如权利要求6所述的SAS地址自动分配方法,其特征在于: 若所述主扩展设备的SAS地址和从扩展设备的SAS地址与EEPROM中存储的原始SAS地址均不相同,则说明SAS冗余存储系统中的SAS地址正常,无需对主扩展设备的SAS地址和从扩展设备的SAS地址 进行重新分配。
【文档编号】G06F3/06GK103823635SQ201210468339
【公开日】2014年5月28日 申请日期:2012年11月19日 优先权日:2012年11月19日
【发明者】吴志偟 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1