CN104572508A - 一种基于PCIE非透明桥的cache镜像方法 - Google Patents
一种基于PCIE非透明桥的cache镜像方法 Download PDFInfo
- Publication number
- CN104572508A CN104572508A CN201510031952.4A CN201510031952A CN104572508A CN 104572508 A CN104572508 A CN 104572508A CN 201510031952 A CN201510031952 A CN 201510031952A CN 104572508 A CN104572508 A CN 104572508A
- Authority
- CN
- China
- Prior art keywords
- controller
- cache
- transparent bridge
- pcie
- memory
- 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.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于PCIE非透明桥的cache镜像方法,所述方法在双控制器A、B之间,采用PCIE非透明桥实现内存地址映射,实现cache数据传输,在双控制器之间进行cache镜像备份。本发明通过使用PICE非透明桥的内存地址映射功能,实现双控制器处理器控制域之间的内存读写,实现双控制器之间的缓存的互相镜像备份功能。
Description
技术领域
本发明涉及双控制器存储设计中的cache镜像通道设计领域,具体涉及一种基于PCIE非透明桥的cache镜像方法。
背景技术
随着存储技术的发展,存储产品的功能逐渐提高,性能也不断得到优化。但是在双控制器存储方面还存在着缓存镜像的设计方法不够成熟的问题,在缓存镜像设计上还需要继续优化设计,提高缓存镜像的数据读写效率。
在双控制器存储的设计中,基于PCIE非透明桥的缓存镜像通道实现了不同处理器域之间的通信,为实现cache缓存镜像提供数据读写通道,实现对于双控制器之间的缓存镜像。
PCI Express(或称PCIe)由互连外围设备专业组(PCI-SIG)制订,是一项用于替代PCI、PCI Extended (PCI-X)等基于总线的高性能、高带宽的通讯体系架构。PCIe 总线由若干层次组成,包括事务层、数据链路层和物理层。PCIe链路使用端到端的数据传送方式,一个PCIe链路的一端只能连接一个发送设备或者接收设备。因此PCIe链路必须使用Switch扩展PCIe链路后,才能连接多个设备。根据PCIe Switch工作原理的不同, 可以分为透明桥和非透明桥两种。
非透明桥( non-transparent)连接两个独立的处理器域, 从设备侧的资源和地址对主设备侧的主系统是不可见的。允许从设备侧的本地处理器独立地配置和控制其子系统。从设备侧和主设备侧的地址完全独立。
非透明桥解决了多处理系统中的地址域冲突问题。处理器间的I/O数据通信通过非透明桥的地址翻译功能进行地址的相互转换。
非透明桥连接两个处理器域如图1所示,使用非透明PCI桥可以方便地连接两个处理器系统。非透明桥可以将PCI总线x域与PCI总线y域进行隔离。非透明PCI桥的作用是对不同PCI总线域地址空间进行隔离,而不是隔离存储器域地址空间。而HOST主桥的作用才是将存储器域与PCI总线域进行隔离。
非透明PCI桥可以连接两条独立的PCI总线,一条被称为Secondary PCI总线,另一条被称为Primary PCI总线,但是这两条总线没有从属关系,两边是对等的。从处理器x的角度上看,与非透明PCI桥右边连接的总线叫Secondary PCI总线;而从处理器y的角度上看,非透明PCI桥左边连接的总线叫Secondary PCI总线。
HOST处理器x和PCI设备可以通过非透明PCIE桥,直接访问PCI总线y域的地址空间,并通过HOST主桥y与访问存储器y;HOST处理器y和PCI设备也可以通过非透明PCI桥,直接访问PCI总线x域的地址空间,并通过HOST主桥x访问存储器x。为此非透明PCI桥需要对分属不同PCI总线域的地址空间进行转换。
PCIE非透明桥直接地址映射原理示意图如图2所示,在非透明桥环境中,每一个非透明桥(NTB)端口都有两套基地址寄存器(BAR),一套是给主设备端用的,另一套是给从设备端用的。基地址寄存器可用来定义在非透明桥另一个内存地址空间的地址翻译窗口,并答应这个翻译被映射到本地的内存或I/O空间。每个BAR定义了一个设置寄存器(setup register),可用来定义窗口的大小、类型以及一个地址翻译寄存器。在直接地址翻译模式下,地址翻译的过程是基于事务终结的BAR基址加上一个偏移量。BARs中的基址翻译寄存器可被用来设置这样的翻译。
当Primary PCI总线对非透明桥BAR地址空间进行数据请求时,这个数据请求将被转换为对Secondary PCI总线的数据请求,Translated Base寄存器将完成这个地址翻译过程。
处理器x访问处理器y存储器地址空间如图3所示,处理器x需要访问处理器y的存储器空间:
(1) 首先确定由哪一个BAR寄存器空间映射处理器y的存储器地址空间。假定使用BAR2寄存器映射处理器y的存储器地址空间;
(2) BAR2寄存器使用Downstream下游 Memory 2 Translated Base寄存器,将来自Primary PCI总线的访问转换为对Secondary PCI总线地址空间的访问。其中Downstream Memory 2 Translated Base寄存器可以由处理器x或者处理器y根据需要进行设置。
假定处理器x和y的HOST主桥使用“直接相等”策略,建立存储器域与PCI总线域间的映射;而处理器x使用BAR2地址空间访问处理器y存储器空间0x1000-000~0x1FFF-FFFF;处理器x的系统软件事先将BAR2寄存器设置完毕。处理器x访问处理器y的这段存储器空间的步骤如下:
(1) 首先处理器x访问在处理器x域中,且与非透明桥的BAR2空间相对应的存储器地址空间;
(2) HOST主桥将进行存储器域到PCI总线域的转换,并将这个请求发送到Primary PCI总线上;
(3) 非透明桥发现这个数据请求发向BAR2地址空间,则接收这个数据请求,并在桥片中暂存这个数据请求;
(4) 非透明桥根据Downstream Memory 2 Translated Base寄存器的内容,按照图2所示的规则进行地址转换;假设Downstream Memory 2 Translated Base寄存器的基地址被预先设置为0x1000-0000,大小为256MB(这个物理地址属于处理器y的主存储器地址空间);
(5) 经过非透明桥的转换后,这个数据请求将穿越非透明桥,从Primary PCI总线域进入Secondary PCI总线域,然后访问处理器y的基地址为0x1000-0000的存储器区域;
(6) 处理器y的HOST主桥接收这个存储器访问请求,并最终将数据请求发向处理器y的存储器中。
发明内容
本发明要解决的技术问题是:设计使用PICE非透明桥的内存地址映射功能,实现双控制器处理器控制域之间的内存读写,实现双控制器之间的缓存的互相镜像备份功能。
本发明所采用的技术方案为:
一种基于PCIE非透明桥的cache镜像方法,所述方法在双控制器A、B之间,采用PCIE非透明桥实现内存地址映射,实现cache数据传输,在双控制器之间进行cache镜像备份。
所述发明实现方法如下:
1)系统开机,控制器A、B初始化,内存地址映射初始化;
2)设置scst,控制器A、B建立FC Target,initial端PC连接到target,通过磁盘控制器挂载的后端磁盘发送数据到控制器A、B;
3)控制器A读取本地缓存,通过PCIE非透明桥进行存储器域地址映射,将本地缓存cache写入对端B控制器内存;
4)同时,控制器B读取本地缓存,然后通过PCIE非透明桥进行存储器域地址映射,将本地缓存cache写入对端A控制器的内存,实现双控制器存储的cache镜像功能。
所述双控制器的构架,基于X8服务器平台,采用双CPU intel LGA1366处理器,配置16G内存,非透明桥采用PCIE_SWITCH开发板,所述PCIE_SWITCH开发板支持NT功能和Dual-Cast功能,实现控制器间可控的数据传输。
注:Linux通用的SCSI 目标子系统(SCST)是一个为Linux SCSI目标子系统的另一种实现。它提供Linux内核之间和处理和SCSI目标驱动程序的统一,一致的接口,同时提供Linux内核与存储后端句柄连接,连接真实或模拟的存储后端与目标驱动程序。
本发明的有益效果为:本发明使用PICE非透明桥的内存地址映射功能,实现双控制器处理器控制域之间的内存读写,实现双控制器之间的缓存的互相镜像备份功能。
附图说明
图1为非透明桥连接两个处理器域示意图;
图2为非透明桥直接地址映射原理示意图;
图3为处理器x访问处理器y存储器地址空间;
图4为cache镜像系统设计原理图。
具体实施方式
下面参照附图所示,通过具体实施方式对本发明进一步说明:
一种基于PCIE非透明桥的cache镜像方法,所述方法在双控制器A、B之间,采用PCIE非透明桥实现内存地址映射,实现cache数据传输,在双控制器之间进行cache镜像备份。
如图4所示,所述发明实现方法如下:
1)系统开机,控制器A、B初始化,内存地址映射初始化;
2)设置scst,控制器A、B建立FC Target,initial端PC连接到target,通过磁盘控制器挂载的后端磁盘发送数据到控制器A、B;
3)控制器A读取本地缓存,通过PCIE非透明桥进行存储器域地址映射,将本地缓存cache写入对端B控制器内存;
4)同时,控制器B读取本地缓存,然后通过PCIE非透明桥进行存储器域地址映射,将本地缓存cache写入对端A控制器的内存,实现双控制器存储的cache镜像功能。
所述双控制器的构架,基于X8服务器平台,采用双CPU intel LGA1366处理器,配置16G内存,非透明桥采用PCIE_SWITCH开发板,所述PCIE_SWITCH开发板支持NT功能和Dual-Cast功能,实现控制器间可控的数据传输。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (3)
1.一种基于PCIE非透明桥的cache镜像方法,其特征在于:所述方法在双控制器A、B之间,采用PCIE非透明桥实现内存地址映射,实现cache数据传输,在双控制器之间进行cache镜像备份。
2.根据权利要求1所述的一种基于PCIE非透明桥的cache镜像方法,其特征在于,所述发明实现方法如下:
1)系统开机,控制器A、B初始化,内存地址映射初始化;
2)设置scst,控制器A、B建立FC Target,initial端PC连接到target,通过磁盘控制器挂载的后端磁盘发送数据到控制器A、B;
3)控制器A读取本地缓存,通过PCIE非透明桥进行存储器域地址映射,将本地缓存cache写入对端B控制器内存;
4)同时,控制器B读取本地缓存,然后通过PCIE非透明桥进行存储器域地址映射,将本地缓存cache写入对端A控制器的内存,实现双控制器存储的cache镜像功能。
3.根据权利要求2所述的一种基于PCIE非透明桥的cache镜像方法,其特征在于:所述双控制器的构架,基于X8服务器平台,采用双CPU intel LGA1366处理器,配置16G内存,非透明桥采用PCIE_SWITCH开发板,所述PCIE_SWITCH开发板支持NT功能和Dual-Cast功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510031952.4A CN104572508A (zh) | 2015-01-22 | 2015-01-22 | 一种基于PCIE非透明桥的cache镜像方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510031952.4A CN104572508A (zh) | 2015-01-22 | 2015-01-22 | 一种基于PCIE非透明桥的cache镜像方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572508A true CN104572508A (zh) | 2015-04-29 |
Family
ID=53088626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510031952.4A Pending CN104572508A (zh) | 2015-01-22 | 2015-01-22 | 一种基于PCIE非透明桥的cache镜像方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572508A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104933001A (zh) * | 2015-06-15 | 2015-09-23 | 山东超越数控电子有限公司 | 一种基于RapidIO技术的双控制器数据通信方法 |
CN105183677A (zh) * | 2015-08-31 | 2015-12-23 | 北京神州云科数据技术有限公司 | 基于异步非透明桥的数据传输方法及系统 |
CN105893289A (zh) * | 2016-03-30 | 2016-08-24 | 华为技术有限公司 | 内存映射输入输出地址分配方法、装置及计算机系统 |
CN106445573A (zh) * | 2015-08-11 | 2017-02-22 | 杭州华为数字技术有限公司 | 固件升级方法、装置及高速外围设备互联集群系统 |
WO2017101080A1 (zh) * | 2015-12-17 | 2017-06-22 | 华为技术有限公司 | 处理写请求的方法、处理器和计算机 |
CN106951378A (zh) * | 2017-03-20 | 2017-07-14 | 郑州云海信息技术有限公司 | 一种基于直写窗口模式的非透明桥读写方法及装置 |
CN106972989A (zh) * | 2017-05-27 | 2017-07-21 | 郑州云海信息技术有限公司 | 一种ntb带宽测试的方法及装置 |
CN107766181A (zh) * | 2017-09-12 | 2018-03-06 | 中国电子科技集团公司第五十二研究所 | 一种基于PCIe非透明桥的双控制器存储高可用子系统 |
CN108363461A (zh) * | 2018-01-03 | 2018-08-03 | 郑州云海信息技术有限公司 | 一种利用非透明桥进行刀片服务器io共享及扩展的方法 |
CN109032855A (zh) * | 2018-07-24 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种双控存储设备 |
CN109471831A (zh) * | 2018-11-16 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种数据处理方法及装置 |
US10503687B2 (en) | 2017-04-18 | 2019-12-10 | Western Digital Technologies, Inc. | Multi-host peripheral component interconnect express (PCIe) switching based on interrupt vector from PCIe device |
CN111813707A (zh) * | 2020-07-17 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN115033509A (zh) * | 2022-06-30 | 2022-09-09 | 上海领存信息技术有限公司 | 一种磁盘阵列管理装置、磁盘阵列系统及服务器 |
CN117009274A (zh) * | 2023-09-28 | 2023-11-07 | 中国电子科技集团公司第五十八研究所 | 一种基于非透明桥模块的pcie交换机及主机系统 |
CN115033509B (zh) * | 2022-06-30 | 2024-06-07 | 上海领存信息技术有限公司 | 一种磁盘阵列管理装置、磁盘阵列系统及服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588285A (zh) * | 2009-06-24 | 2009-11-25 | 成都市华为赛门铁克科技有限公司 | 一种非透明传输的实现方法、非透明桥和通信系统 |
CN101631083A (zh) * | 2009-08-07 | 2010-01-20 | 成都市华为赛门铁克科技有限公司 | 设备接管方法和装置及双控系统 |
CN101639811A (zh) * | 2009-08-21 | 2010-02-03 | 成都市华为赛门铁克科技有限公司 | 数据写入的方法、控制器和多控制器系统 |
US20110131373A1 (en) * | 2009-11-30 | 2011-06-02 | Pankaj Kumar | Mirroring Data Between Redundant Storage Controllers Of A Storage System |
-
2015
- 2015-01-22 CN CN201510031952.4A patent/CN104572508A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588285A (zh) * | 2009-06-24 | 2009-11-25 | 成都市华为赛门铁克科技有限公司 | 一种非透明传输的实现方法、非透明桥和通信系统 |
CN101631083A (zh) * | 2009-08-07 | 2010-01-20 | 成都市华为赛门铁克科技有限公司 | 设备接管方法和装置及双控系统 |
CN101639811A (zh) * | 2009-08-21 | 2010-02-03 | 成都市华为赛门铁克科技有限公司 | 数据写入的方法、控制器和多控制器系统 |
US20110131373A1 (en) * | 2009-11-30 | 2011-06-02 | Pankaj Kumar | Mirroring Data Between Redundant Storage Controllers Of A Storage System |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104933001A (zh) * | 2015-06-15 | 2015-09-23 | 山东超越数控电子有限公司 | 一种基于RapidIO技术的双控制器数据通信方法 |
CN106445573A (zh) * | 2015-08-11 | 2017-02-22 | 杭州华为数字技术有限公司 | 固件升级方法、装置及高速外围设备互联集群系统 |
CN106445573B (zh) * | 2015-08-11 | 2020-09-04 | 华为技术有限公司 | 固件升级方法、装置及高速外围设备互联集群系统 |
CN105183677A (zh) * | 2015-08-31 | 2015-12-23 | 北京神州云科数据技术有限公司 | 基于异步非透明桥的数据传输方法及系统 |
WO2017101080A1 (zh) * | 2015-12-17 | 2017-06-22 | 华为技术有限公司 | 处理写请求的方法、处理器和计算机 |
CN105893289B (zh) * | 2016-03-30 | 2019-02-12 | 华为技术有限公司 | 内存映射输入输出地址分配方法、装置及计算机系统 |
CN105893289A (zh) * | 2016-03-30 | 2016-08-24 | 华为技术有限公司 | 内存映射输入输出地址分配方法、装置及计算机系统 |
CN106951378A (zh) * | 2017-03-20 | 2017-07-14 | 郑州云海信息技术有限公司 | 一种基于直写窗口模式的非透明桥读写方法及装置 |
US10503687B2 (en) | 2017-04-18 | 2019-12-10 | Western Digital Technologies, Inc. | Multi-host peripheral component interconnect express (PCIe) switching based on interrupt vector from PCIe device |
CN106972989A (zh) * | 2017-05-27 | 2017-07-21 | 郑州云海信息技术有限公司 | 一种ntb带宽测试的方法及装置 |
CN107766181A (zh) * | 2017-09-12 | 2018-03-06 | 中国电子科技集团公司第五十二研究所 | 一种基于PCIe非透明桥的双控制器存储高可用子系统 |
CN108363461A (zh) * | 2018-01-03 | 2018-08-03 | 郑州云海信息技术有限公司 | 一种利用非透明桥进行刀片服务器io共享及扩展的方法 |
CN109032855B (zh) * | 2018-07-24 | 2021-12-03 | 郑州云海信息技术有限公司 | 一种双控存储设备 |
CN109032855A (zh) * | 2018-07-24 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种双控存储设备 |
CN109471831A (zh) * | 2018-11-16 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种数据处理方法及装置 |
CN109471831B (zh) * | 2018-11-16 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种数据处理方法及装置 |
CN111813707A (zh) * | 2020-07-17 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN111813707B (zh) * | 2020-07-17 | 2023-12-22 | 济南浪潮数据技术有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN115033509A (zh) * | 2022-06-30 | 2022-09-09 | 上海领存信息技术有限公司 | 一种磁盘阵列管理装置、磁盘阵列系统及服务器 |
CN115033509B (zh) * | 2022-06-30 | 2024-06-07 | 上海领存信息技术有限公司 | 一种磁盘阵列管理装置、磁盘阵列系统及服务器 |
CN117009274A (zh) * | 2023-09-28 | 2023-11-07 | 中国电子科技集团公司第五十八研究所 | 一种基于非透明桥模块的pcie交换机及主机系统 |
CN117009274B (zh) * | 2023-09-28 | 2024-01-23 | 中国电子科技集团公司第五十八研究所 | 一种基于非透明桥模块的pcie交换机及主机系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572508A (zh) | 一种基于PCIE非透明桥的cache镜像方法 | |
US9336173B1 (en) | Method and switch for transferring transactions between switch domains | |
EP2656228B1 (en) | Method and apparatus to provide a high availability solid state drive | |
CN102209103B (zh) | 向多个存储控制器多播写请求 | |
CN105993009B (zh) | 通过非透明桥向PCIe集群中的计算资源传送MSI-X中断的方法和装置 | |
CN102650976B (zh) | 一种支持单根io虚拟化用户级接口控制装置及其方法 | |
US10445018B2 (en) | Switch and memory device | |
US9652182B2 (en) | Shareable virtual non-volatile storage device for a server | |
US20140164666A1 (en) | Server and method for sharing peripheral component interconnect express interface | |
CN101452373B (zh) | 输入输出处理器 | |
US20130007332A1 (en) | Controllable transaction synchronization for peripheral devices | |
US9423958B2 (en) | System and method for managing expansion read-only memory and management host thereof | |
US20140006659A1 (en) | Driver-assisted base address register mapping | |
AU2014301745A1 (en) | System and method for extended peripheral component interconnect express fabrics | |
CN100356310C (zh) | 储存虚拟化控制器、子系统及系统与方法 | |
CN112912863A (zh) | 外围组件互连(PCI)背板连接性芯片上系统(SoC) | |
US20130275668A1 (en) | Data processing method and device | |
CN109471831B (zh) | 一种数据处理方法及装置 | |
CN102388357A (zh) | 访问存储设备的方法及系统 | |
US20200412557A1 (en) | Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd | |
CN105095254A (zh) | 一种实现数据一致性的方法及装置 | |
CN103678165A (zh) | 经由PCIe接口连接至主机系统的存储装置和方法 | |
CN104881246B (zh) | 应用于集群存储系统的输出入传递方法及系统 | |
CN114625314A (zh) | 与存储相关数据的节点一致性 | |
US10503440B2 (en) | Computer system, and data migration method in computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |
|
RJ01 | Rejection of invention patent application after publication |