《在存储系统的冗余存储控制器之间镜像数据.pdf》由会员分享,可在线阅读,更多相关《在存储系统的冗余存储控制器之间镜像数据.pdf(11页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102081561A43申请公布日20110601CN102081561ACN102081561A21申请号201010507142922申请日2010092612/627,44020091130USG06F11/2020060171申请人英特尔公司地址美国加利福尼亚州72发明人P库玛HT恩古耶M亚齐TJ吉尔JA米勒74专利代理机构上海专利商标事务所有限公司31100代理人姬利永徐伟54发明名称在存储系统的冗余存储控制器之间镜像数据57摘要在一个实施例中,本发明包括用以控制包括多个盘的存储系统中的数据存储的罐。多个罐中的每个罐可具有处理器,该处理器被配置用于单处理器模式且具有。
2、用以标识该处理器的内部节点标识符和用以标识将与之镜像高速缓存数据的另一处理器的外部节点标识符。高速缓存数据的镜像可通过经由PTP互连的非一致性事务的通信来执行,其中该PTP互连是根据高速缓存一致性协议的。描述并要求保护其他实施例。30优先权数据51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书4页附图4页CN102081566A1/2页21一种装置,包括第一罐,其控制包括多个盘的存储系统中的数据存储,所述第一罐具有配置用于单处理器模式且具有第一内部节点标识符的第一处理器、和用以高速缓存要被存储在所述存储系统中的数据的第一系统存储器;以及第二罐,其控制所述存储系统。
3、中的数据存储并且经由点对点PTP互连被耦合至所述第一罐,所述第二罐包括配置用于单处理器模式并具有第二内部节点标识符和用以标识所述第一处理器的第二外部节点标识符的第二处理器、和用以高速缓存要被存储在所述存储系统中的数据的第二系统存储器,其中所述第一和第二系统存储器将存储另一系统存储器中存储着的数据的镜像副本,其中所述镜像副本是通过经由所述PTP互连的非一致性事务来传达的,其中所述PTP互连是根据高速缓存一致性协议的。2如权利要求1所述的装置,其特征在于,所述第一系统存储器被划分成用以存储所述第一罐的高速缓存数据的可高速缓存部分和用以存储所述第二系统存储器中存储着的数据的镜像副本的第二部分,所述第。
4、二部分是不可高速缓存的。3如权利要求2所述的装置,其特征在于,所述第一处理器将在接收到第二系统存储器数据的镜像副本之际经由所述PTP互连传送确认,并且所述第二处理器将向从其接收所述第二系统存储器中存储着的所述数据的服务器传送所述确认。4如权利要求1所述的装置,其特征在于,所述第一罐还包括用以与耦合至所述第一罐的外围设备通信的PCI快速PCIE互连,其中所述PCIE互连将不传达镜像数据。5如权利要求1所述的装置,其特征在于,所述第一处理器包括具有第三内部节点标识符的集成输入/输出I/O控制器,所述集成I/O控制器包括用以使用所述第二内部节点标识符将所述镜像副本传达给所述第二罐的直接存储器访问DM。
5、A引擎。6如权利要求5所述的装置,其特征在于,所述DMA引擎将经由所述PTP互连来传达所述镜像副本。7如权利要求5所述的装置,其特征在于,所述第一处理器包括至少一个经由内部PTP互连耦合至所述集成I/O控制器的内核,其中所述内部PTP互连不包括物理层。8如权利要求1所述的装置,其特征在于,所述第一罐经由中间板耦合至所述第二罐,且所述第一罐的第一PTP链路被耦合至所述中间板的第二PTP链路以及所述第二PTP链路被耦合至所述第二罐的第三PTP链路。9一种方法,包括在存储系统的第一罐中接收来自第一服务器的写数据;将所述写数据存储在所述第一罐的系统存储器的一致性区域中;经由根据高速缓存一致性协议的点对。
6、点PTP链路上的非一致性事务将所述写数据镜像到耦合至所述第一罐的第二罐的系统存储器;以及在所述第一罐中经由所述PTP链路从所述第二罐接收对所述写数据存储的确认,并从所述第一罐向所述第一服务器传达所述确认。10如权利要求9所述的方法,其特征在于,还包括使用所述第一罐的输入/输出I/O控制器的直接存储器访问DMA引擎来镜像所述写数据。11如权利要求10所述的方法,其特征在于,还包括将所述第一罐的第一处理器设置成具有用以标识所述第一罐的处理器的第一内部节点标识符、用以标识所述I/O控制器的权利要求书CN102081561ACN102081566A2/2页3第二节点标识符、和用以标识所述第二罐的处理器。
7、的第一外部节点标识符的单处理器配置。12如权利要求9所述的方法,其特征在于,还包括此后经由第二互连从所述第一罐向所述存储系统的盘驱动器发送所述写数据。13如权利要求9所述的方法,其特征在于,还包括将所述写数据镜像到所述第二罐的所述系统存储器的不可高速缓存区域。14如权利要求9所述的方法,其特征在于,还包括经由所述点对点链路上的第二非一致性事务将所述第二罐的所述系统存储器中存储着的第二数据镜像到所述第一罐的所述第一系统存储器,其中被镜像的第二数据存储在所述第一罐的系统存储器的不可高速缓存区域中。15一种系统,包括第一罐,其控制所述系统中的数据存储,所述第一罐具有第一处理器和用以高速缓存要被存储在。
8、所述系统中的数据的第一系统存储器,所述第一处理器配置用于单处理器模式且具有用以标识所述第一处理器的第一内部节点标识符和用以标识第二罐的第二处理器的第一外部节点标识符;所述第二罐,其控制所述存储系统中的数据存储并且经由点对点PTP互连通过中间板耦合至所述第一罐,所述第二罐包括配置用于单处理器模式并具有用以标识所述第二处理器的第二内部节点标识符和用以标识所述第一处理器的第二外部节点标识符的所述第二处理器、和用以高速缓存要被存储在所述存储系统中的数据的第二系统存储器,其中所述第一和第二系统存储器将存储另一系统存储器中存储着的数据的镜像副本,其中所述镜像副本是通过经由所述PTP互连的非一致性事务来传达。
9、的,其中所述PTP互连是根据高速缓存一致性协议的;以及经由具有不同于所述高速缓存一致性协议的通信协议的多个第二互连通过所述中间板耦合至所述第一罐和所述第二罐的多个大容量存储设备,其中所述多个大容量存储设备将存储高速缓存数据。16如权利要求15所述的系统,其特征在于,所述第一系统存储器被划分成用以存储所述第一罐的高速缓存数据的可高速缓存部分和用以存储所述第二系统存储器中存储着的数据的镜像副本的第二部分,所述第二部分是不可高速缓存的。17如权利要求15所述的系统,其特征在于,所述第一处理器将在接收到第二系统存储器数据的镜像副本之际经由所述PTP互连传送确认,并且所述第二处理器将向从其接收所述第二系。
10、统存储器中存储着的所述数据的服务器传送所述确认。18如权利要求15所述的系统,其特征在于,所述PTP互连是快速路径互连协议的,且所述多个第二互连是PCI快速PCIE协议的。19如权利要求15所述的系统,其特征在于,所述第一处理器包括集成输入/输出I/O控制器,所述集成I/O控制器具有用以标识所述集成I/O控制器的第三内部节点标识符,所述集成I/O控制器包括用以使用所述第一外部节点标识符将所述镜像副本传达给所述第二罐的直接存储器访问DMA引擎。20如权利要求19所述的系统,其特征在于,所述第一处理器包括至少一个经由内部PTP互连耦合至所述集成I/O控制器的内核,其中所述内部PTP互连不包括物理层。
11、。权利要求书CN102081561ACN102081566A1/4页4在存储系统的冗余存储控制器之间镜像数据背景技术0001诸如数据存储系统之类的存储系统典型地包括具有冗余存储控制器常称为罐CANISTER、冗余电源、冷却解决方案、以及盘阵列的外部存储平台。该平台解决方案被设计成通过充分冗余的输入/输出I/O路径和冗余控制器保持数据能被访问的方式来容忍单点故障。外壳中的两个冗余罐通过无源底板连接以实现高速缓存镜像特征。当一个罐故障时,另一个罐获得对与该发生故障的罐相关联的硬盘的访问并继续对这些盘执行I/O任务直至故障罐被修复。0002为了能进行冗余操作,针对所有未决的盘受限I/O事务在各罐之间。
12、执行系统高速缓存镜像。镜像操作主要包括使各罐的系统高速缓存同步。尽管单个节点故障可能丢失其本地高速缓存的内容,但在冗余节点的高速缓存中仍保持有第二副本。然而,当前系统中存在着某些复杂性,包括镜像操作所消耗的带宽的限制以及执行这些操作所需要的等待时间。0003附图简述0004图1是根据本发明一实施例的系统的框图。0005图2A是根据本发明一个实施例的罐的处理器及相关联的存储器的框图。0006图2B是根据本发明一个实施例的系统存储器映射的框图。0007图3是根据本发明一个实施例的方法的流程图。0008详细描述0009在各种实施例中,根据点对点PTP通信协议的互连可被用作罐间通信链路以提供高速缓存镜。
13、像。在一个实施例中,该通信协议可根据快速路径互连QPI协议。QPI协议是包括多层包括物理层、链路层以及协议层的高速缓存一致性协议。通过使用此协议,可在包括多个高速缓存代理的系统中进行一致性通信,这些高速缓存代理可以为处理器核或其他此类代理。该协议提供了多个通道和虚拟网络上沿低等待时间链路的各种通信,从而提供了经由PTP链路耦合在一起的设备之间的通信。0010尽管QPI协议是高速缓存一致性的并且典型地借助用以耦合分离组件诸如多处理器系统的多个处理器的板互连例如,主板路由迹线来提供,但实施例可使用QPI链路将不同的罐耦合在一起,这些罐可经由诸如中间板MIDPLANE之类的底板或以另外的板外方式来互。
14、连。这些不同的罐之间的通信可能是非一致性的,但仍使用QPI协议来实现。如将描述的,可修改QPI协议的逻辑以实现这些非一致性事务,因为虽然可能提供了多个罐,但每个罐可被配置为单处理器UP系统从而不使用作为QPI高速缓存一致性协议的部分的监听事务。相反,在非UP系统配置中使用常规QPI链路,因为高速缓存一致性协议提供多个高速缓存代理之间的一致性。0011这样,QPI协议的高性能和低等待时间属性可被用来释放诸如外围组件互连快速PCIEXPRESSTMPCIETM巷道等原本将出于其他I/O目的而用于串行附连SCSISAS和光纤通道FC接口的高速缓存镜像的其他互连。因此,QPI充当两个罐之间的网关并提供。
15、本地存储器来/去另一个罐的隔离,同时允许每个罐独立地管理其本地资源。QPI互连提供用说明书CN102081561ACN102081566A2/4页5于两个罐之间的高速缓存镜像以及用于确认数据被镜像到冗余存储器的消息接发的带宽。0012现在参考图1,所示出的是根据本发明一实施例的系统的框图。如图1中所示,系统100可以是存储系统,其中例如服务器105A和105B概括性地,服务器105之类的多个服务器被连接到可包括多个盘驱动器1950195N概括性地,盘驱动器195的大容量存储系统190,这多个盘驱动器可以是廉价冗余盘阵列RAID并且可以根据光纤通道/SAS/SATA模型。0013为了实现服务器1。
16、05与存储系统190之间的通信,通信可流经可以为千兆比特以太网GIGE/光纤通道/SAS开关的开关110A和110B概括性地,开关110。这些开关又可与一对罐120A和120B概括性地,罐120通信。这些罐中的每一个罐可包括用于根据本发明的实施例实现高速缓存镜像的各种组件。0014具体而言,每个罐可包括处理器135概括性地。出于解说的目的将讨论第一罐120A,并因此处理器135A可处于与前端控制器设备125A的通信中。处理器135A又可处于与外围控制器中枢PCH145A的通信中,该外围控制器中枢PCH145A又可与外围设备通信。PCH145还可处于与媒体接入控制器/物理设备MAC/PHY130。
17、A其在一个实施例中可以为双GIGEMAC/PHY设备的通信中以使得能传达例如管理信息。注意,处理器135A还可被耦合至基板管理控制器BMC150A,后者又可经由系统管理SM总线与中间板180通信。0015处理器135A还耦合至存储器140A,后者在一个实施例中可以是实现为双列直插存储器模块DIMM的动态随机存取存储器DRAM。该处理器又可被耦合至后端控制器设备165A,后者也通过中间板连接器170耦合至中间板180。0016此外,为了能进行根据本发明的实施例的镜像,可在处理器135A与中间板连接器170之间耦合PTP互连160。如所看到的,类似PTP互连可将来自此链路的通信直接路由到耦合至第二。
18、罐120B的处理器140B的类似PTP互连160B。在一个实施例中,这些链路可以是如上讨论的QPI链路。如图1中所见到的,为了实现冗余操作,中间板180可实现从每个罐到每个相应盘驱动器195的通信。尽管用图1实施例中的这一特定实现来示出,但是本发明的范围在这方面不受限制。例如,可能存在更多或更少的服务器和盘驱动器,并且在一些实施例中还可以提供额外的罐。0017现在参照图2A,示出的是罐的处理器及相关联的存储器的框图。如图2A中所见到的,第一罐可包括在图2A中被示为CPU0的处理器135A,其可被设为具有为001的内部节点ID以及为010的外部节点ID,该外部节点ID对应于第二处理器135B的内。
19、部节点ID。如还可见到的,每个处理器135A可包括集成IOIIO控制器136A,IIO控制器可通过其自己的内部节点ID对应于第一处理器135A为000而对应于第二处理器135B为100来标识并且又可包括内部DMA引擎138。每个处理器还可被耦合至其本地存储器140。本地存储器的各区域的映射在以下描述的图2B中示出。0018在一个实施例中,每个处理器可形成于包括一个或更多个处理器核例如,表示为CPU0和IIO控制器的单个半导体管芯上。在各种实施例中,这些代理可借助片上QPI链路来耦合。此片上QPI链路可以是常规QPI链路但没有物理层作为其一部分。即,由于通信是片上的,所以处理器的链路层能直接与I。
20、IO控制器的链路层通信,从而改善通信。此外,尽管未在图2A中示出,但仍应理解可存在集成存储器控制器。在不同实现中,存储器控制器可被集成在处理器135内,并且可与存储器140A相关联。然而,在其他实施例中,存储说明书CN102081561ACN102081566A3/4页6器控制器可以是分开的组件,或者可以例如作为DIMM的部分而集成在存储器140内。类似组件可存在于第二罐中,该第二罐可类似地包括具有IIO控制器、DMA引擎的处理器且与其自己的本地存储器相关联。0019注意,图2A示出两个各自具有其自己的存储器子系统和集成DMA引擎的独立罐的抽象。尽管每个罐是单处理器UP系统,实施例可使用CPU。
21、的双处理器DP能力来执行跨PTP互连的数据镜像。作为一个示例,每个CPU可被捆绑成分别设置其内部节点ID对应于CPU0为000/001而对应于CPU1为100/010和外部节点ID对应于CPU0为010而对应于CPU1为001。每个罐作为UP系统引导,但每个CPU内的DMA引擎被编程为识别其本地CPU节点ID对应于CPU0为001而对应于CPU1为010和远程CPU节点ID对应于CPU0为010而对应于CPU1为001。因此,相比于其中两个罐的分开的处理器将具有相同节点ID的常规UP系统,可使用不同的节点ID来实现根据本发明的实施例的镜像操作。节点ID可被用来配置系统存储器映射。0020因此为。
22、了配置每个罐,处理器可被捆绑成选择每UP系统的节点ID以及选择每UP系统的SMBUSID。这样,两个罐皆作为UP系统引导。因此,DMA引擎被编程为识别两个CPU节点ID即,001和010。0021现在参考图2B,所示出的是根据本发明的一个实施例的系统存储器映射的框图。如图2B中所示,在这两个不同的罐中存在分开的系统存储器140A和140B。每个存储器可被划分成一致性例如,可高速缓存的区域和不可高速缓存区域。一般而言,一致性区域可被用于本地存储器访问。具体而言,传入的写事务及其他数据可被写入到一致性区域中,更具体地,写入到一致性区域的部分A中。任何写入到此一致性部分中的此类信息可被镜像到同样是一。
23、致性区域的部分B中。此本地存储器区域B可被镜像到另一系统存储器,如图2B中用箭头所示的。如所看到的,每个存储器还包括不可高速缓存区域,包括部分C和D。注意,每个存储器的部分C可充当阻隔区域以将本地存储器区域与被镜像的数据区域D分离开。0022注意,由于每个系统作为UP系统运行,因此没有跨QPI链路的监听。区域C可充当将被用于确保数据被镜像到冗余罐的软件栅栏机制。QPI链路上的入站存储器事务未被监听是强秩序的,以使得从DMA引擎到例如存储器控制器的写数据缓冲器以及最终到存储器的写事务以先进先出FIFO顺序完成。对远程镜像区域的最后DMA读取事务保证所有先前DMA写都被写入到系统存储器。在各种实施。
24、例中,系统存储器可通过平台上的电池备份单元在电源故障的情况下受到保护。0023尽管用图2B实施例中的此特定实现来示出,但是本发明的范围在这方面不受限制。因此在正常操作期间,每个处理器仅能访问其一致性存储器区域A和B。当发生镜像时,DMA引擎被用来将数据从一个节点上的一致性存储器移至第二节点上不可高速缓存的存储器。0024现在参照图3,示出的是根据本发明一个实施例的方法的流程图。如图3中所示,方法200可被用于根据本发明的实施例执行多个罐之间的高速缓存镜像。如图3中所示,方法200可通过在第一罐中接收来自服务器的写数据而开始框210。例如,该罐可接收要被发送到存储系统的数据。由于去往存储系统的传。
25、输可引起等待时间,因此数据可首先被存储在第一罐的系统存储器的一致性区域中框220。因此,数据被成功存储在该罐中说明书CN102081561ACN102081566A4/4页7以使得写事务被高速缓存并有序放置以供稍后传输到存储系统。然后,使用第一罐的I/O控制器可以是处理器的集成I/O控制器的DMA引擎,写数据可被镜像至第二罐的系统存储器框230。更具体地,写数据从第一罐到第二罐的此通信可借助PTP链路,并且在特定实现中可借助QPI链路。注意,此事务是非一致性事务,尽管QPI链路典型地是高速缓存一致性协议的。0025当第二罐接收该事务和写数据时,它将此数据写入到其系统存储器中,例如写入系统存储器。
26、的不可高速缓存区域中。当数据被成功写入时,第二罐可向第一罐回传确认消息。此消息也可沿该QPI链路传送。0026相应地,第一罐可接收该确认消息框240。然后,第一罐可将该确认从第一罐往回传达给发起方或源服务器框250。这样,服务器接收对该事务的提早确认以使得能在服务器中释放分配给该事务的资源。注意,可在两个方向上发生镜像,以使得第二罐中高速缓存的数据可被镜像到第一罐的系统存储器。0027仍参照图3,在稍后的时间,诸如当沿第一罐与存储系统之间的另一互连有带宽可用时,第一罐可将写数据传达给存储系统框260。如所讨论的,此通信是经由不同的链路的,例如,PCIE、光纤通道或其他此类互连。注意,此通信相比。
27、于在相同的PCIE/光纤通道链路上消耗带宽用于执行高速缓存镜像事务的情况可以更快地执行。尽管用图3实施例中的这一特定实现来示出,但是本发明的范围在这方面不受限制。0028每个罐可支持受管理的热插/拔操作。实施例可使用QPIPHY/链路层的特征来执行此类操作。例如,PHY层控制寄存器的中断位可被设置成启用/禁用QPI链路、启用/禁用终止、QPIPHY复位和L0状态链路状态。0029使用QPI链路进行高速缓存镜像允许两个罐之间更高的带宽BW和更低的等待时间。另外,通过使用QPI链路进行镜像,平台上的PCIE或其他互连相对于被消耗用于镜像用途可被用于使得能连接更多I/O设备。这也去除了与改变PCIE。
28、链路诸如实现非透明桥路NTB特征或诸如SAS和光纤控制器之类的另一协议以用于罐间链路相关联的复杂性。0030各实施例可被实现为代码并且可被存储在其上存储有指令的存储介质上,这些指令可用于编程系统以执行这些指令。存储介质可包括但不限于任何类型的盘,包括软盘、光盘、光碟、固态驱动器SSD、压缩盘只读存储器CDROM、可重写压缩盘CDRW以及磁光盘,半导体器件,比如只读存储器ROM、诸如动态随机存取存储器DRAM、静态随机存取存储器SRAM之类的随机存取存储器RAM、可擦除可编程只读存储器EPROM、闪存、电可擦除可编程只读存储器EEPROM,磁卡或光卡,或适于存储电子指令的任何其它类型的介质。0031尽管已关于有限数量的实施例描述了本发明,本领域的技术人员将从中认识到许多修改和变型。所附权利要求书旨在涵盖落入本发明真实精神和范围内的所有这样的修改和改变。说明书CN102081561ACN102081566A1/4页8图1说明书附图CN102081561ACN102081566A2/4页9图2A说明书附图CN102081561ACN102081566A3/4页10图2B说明书附图CN102081561ACN102081566A4/4页11图3说明书附图CN102081561A。