CN106815166A - 一种双控制器之间传输文件的方法 - Google Patents
一种双控制器之间传输文件的方法 Download PDFInfo
- Publication number
- CN106815166A CN106815166A CN201611224679.8A CN201611224679A CN106815166A CN 106815166 A CN106815166 A CN 106815166A CN 201611224679 A CN201611224679 A CN 201611224679A CN 106815166 A CN106815166 A CN 106815166A
- Authority
- CN
- China
- Prior art keywords
- controller
- file
- memory
- address space
- region
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种双控制器之间传输文件的方法。该方法包括:第一控制器分配第一内存区域,第二控制器分配第二内存区域;第一控制器分配第一内存地址空间,通过非透明桥将第二内存区域映射到第一内存地址空间,第二控制器分配第二内存地址空间,通过非透明桥将第一内存区域映射到第二内存地址空间;第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件。本发明实施方式实现了在双控器之间基于非透明桥(NTB)技术传输文件。
Description
技术领域
本发明涉及计算机应用技术,更具体的说,涉及一种双控制器之间传输文件的方法。
背景技术
在系统设计中,设计师们面临的重要挑战是既要支持高可靠性(HA,HighAvailability),又要使系统尽可能简单、有效。PCI Express、基于PCIExpress的高级交换架构(Advanced Switching Architecture)、基于PCI Express的服务质量(QOS,Quality-Of-Service)特性以及PCI-Express非透明桥(NTB,Non-Transparent Bridge)的出现,共同为这样的系统设计提供了一个非常有发展潜力的解决方案。PCI Express技术是一个比较新的互连标准,该技术适用于高性能的芯片到芯片、板子到板子、背板和机箱之间的互连。它是PCI标准的一个演进版本,因此,在软件结构上仍保持着对PCI的兼容性。
在非透明桥环境中,PCI Express系统需要在从一个内存地址空间穿越到另一个地址空间时进行地址翻译。每一个非透明桥端口都有两套基地址寄存器(BAR),一套是给主设备端用的,另一套是给从设备端用的。基地址寄存器可用来定义在非透明桥另一端的内存地址空间的地址翻译窗口,并允许这个翻译被映射到本地的内存或I/O空间。每个BAR定义了一个设置寄存器(setup register),可用来定义窗口的大小、类型以及一个地址翻译寄存器。与透明桥基于总线号转发所有CSRs不同,非透明桥设备只接受针对本设备的CSR事务。其地址翻译技术有直接地址翻译和查表地址翻译两种。
非透明桥允许桥两边的主机通过便笺寄存器、门铃寄存器和心跳消息来交换一些状态信息。便笺寄存器在非透明桥的两端都是可读写的,但是,便笺寄存器的数量在具体的实现中是可以不同的。他们可以被桥两边的设备用来传送一些状态信息,也可作为通用的可读可写寄存器使用。门铃寄存器被用来从非透明桥的一边向另一边发送中断。非透明桥的两边一般都有软件可以控制的中断请求寄存器和相应的中断屏蔽寄存器。这些寄存器在非透明桥的两边都是可以被访问的。心跳消息一般来自主设备端往从设备端的主机,可用来指示它还活着。从设备主机可监控主设备主机的状态,如果发现出错,它就可以采取一些必要的措施。通过门铃寄存器可以传送心跳消息。当从设备主机没有收到一定数量预先规定好的心跳消息时,就可以认为主设备的主机出错。
在现有技术中,双控制器产品的两个控制器之间目前缺乏传输文件的手段,主要通过网络连接传输。然而,网络传输经常出现网络问题,或者网线掉落等不稳定因素。
发明内容
本申请提出一种双控制器之间传输文件的方法。
本申请的技术方案如下:
一种双控制器之间传输文件的方法,包括:
第一控制器分配第一内存区域,第二控制器分配第二内存区域;
第一控制器分配第一内存地址空间,通过非透明桥将第二内存区域映射到第一内存地址空间,第二控制器分配第二内存地址空间,通过非透明桥将第一内存区域映射到第二内存地址空间;
第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件。
在一个实施方式中,该方法还包括:
第二控制器格式化第二内存地址空间为文件系统,并向该文件系统写入文件,第一控制器挂载第一内存区域以获取该文件。
在一个实施方式中,第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件包括:
第一控制器格式化第一内存地址空间为ext文件系统,挂载该ext文件系统,并向该ext文件系统写文件;
第一控制器写文件之后卸载ext文件系统,并通知第二控制器读取文件;
第二控制器挂载第二内存区域以读取文件。
在一个实施方式中,第二控制器格式化第二内存地址空间为文件系统,并向该文件系统写入文件,第一控制器挂载第一内存区域以获取该文件包括:
第二控制器格式化第二内存地址空间为ext文件系统,挂载该ext文件系统,并向该ext文件系统写文件;
第二控制器写文件之后卸载ext文件系统,并通知第一控制器读取文件;
第一控制器挂载第一内存区域以读取文件。
从上述技术方案可以看出,本发明实施方式包括:第一控制器分配第一内存区域,第二控制器分配第二内存区域;第一控制器分配第一内存地址空间,通过非透明桥将第一内存地址空间映射到第二内存区域,第二控制器分配第二内存地址空间,通过非透明桥将第二内存地址空间映射到第一内存区域;第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件。由此可见,本发明实施方式实现了在双控器之间基于非透明桥(NTB)技术传输文件,可以避免网络连接传输方式中网线掉落等不稳定因素。
附图说明
图1为根据本发明双控制器之间传输文件的方法流程图;
图2为根据本发明双控制器之间传输文件的示意图。
具体实施方式
为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
本发明实施方式提出一种双控器之间基于NTB设备传输文件的方法。
图1为根据本发明双控制器之间传输文件的方法流程图。
如图1所示,该方法包括:
步骤101:第一控制器分配第一内存区域,第二控制器分配第二内存区域。
步骤102:第一控制器分配第一内存地址空间,通过非透明桥将第二内存区域映射到第一内存地址空间,第二控制器分配第二内存地址空间,通过非透明桥将第一内存区域映射到第二内存地址空间。
步骤103:第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件。
因此,本发明实施方式还可以实施第一控制器向第二控制器传输文件。
在一个实施方式中,该方法还包括:
第二控制器格式化第二内存地址空间为文件系统,并向该文件系统写入文件,第一控制器挂载第一内存区域以获取该文件。
因此,本发明实施方式还可以实施第二控制器向第一控制器传输文件。
在一个实施方式中,第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件包括:
第一控制器格式化第一内存地址空间为ext文件系统,挂载该ext文件系统,并向该ext文件系统写文件;
第一控制器写文件之后卸载ext文件系统,并通知第二控制器读取文件;
第二控制器挂载第二内存区域以读取文件。
在一个实施方式中,第二控制器格式化第二内存地址空间为文件系统,并向该文件系统写入文件,第一控制器挂载第一内存区域以获取该文件包括:
第二控制器格式化第二内存地址空间为ext文件系统,挂载该ext文件系统,并向该ext文件系统写文件;
第二控制器写文件之后卸载ext文件系统,并通知第一控制器读取文件;
第一控制器挂载第一内存区域以读取文件。
优选地,ext文件系统可以实施为ext3文件系统。ext3文件系统为第三代扩展文件系统(Third extended filesystem,ext3),是一个日志文件系统,常用于Linux操作系统。它是很多Linux发行版的默认文件系统。
下面结合实例对本发明进行说明。
图2为根据本发明双控制器之间传输文件的示意图。
在图2中,双控制器包括控制器A和控制器B。
控制器A在自身内存中分配一块内存区域(Laddr_start_a到Laddr_end_a),作为一个内存块设备ldev_a;控制器B在自身内存中分配一块内存区域(Laddr_start_b到Laddr_end_b),作为另一个内存块设备ldev_b。
而且,控制器A分配一段内存地址空间(Raddr_start_a到Raddr_end_a)作为一个内存块设备Rdev_a,并且通过NTB映射到对端(即控制器B)的实际物理内存地址Laddr_start_b到Laddr_end_b。
类似地,控制器B分配一段内存地址空间(Raddr_start_b到Raddr_end_b)作为一个内存块设备Rdev_b,并且通过NTB映射到对端(即控制器A)的实际物理内存地址Laddr_start_a到Laddr_end_a。
然后,控制器A和控制器B中的每一个,都可以通过文件系统格式化各自的Rdev内存块设备,并且通过mount挂载文件系统,可以往该文件系统里面写文件,对端控制器可以通过挂载对应的内存块设备查看文件内容。
下面以控制器A往控制器B传输文件为例进行说明:
控制器A格式化Rdev_a为ext3文件系统。通过mount挂载该文件系统,就可以往该文件系统里面写文件或者拷贝文件。具体包括:
mkfs.ext3-f/dev/Rdev_a
mount–t ext3/dev/Rdev_a/mnt/Rdev_a
然后,控制器A拷贝需要传输到控制器B的文件file到/mnt/Rdev_a。具体包括:
cp file/mnt/Rdev_a
接着,控制器A在拷贝完文件后,通过umount卸载该文件系统(umount/mnt/Rdev_a),并中断通知控制器B可以去读取该文件数据。
然后,控制器B通过挂载内存块设备Ldev_b,(mount–t ext3/dev/Ldev_b/mnt/ldev_b),就可以在/mnt/ldev_b目录下面获取控制器A传输过来的文件file。
类似地,基于同样的操作步骤,控制器B可以写文件到Rdev_b设备,控制器A通过读取ldev_a获取文件。
综上所述,本发明实施方式包括:第一控制器分配第一内存区域,第二控制器分配第二内存区域;第一控制器分配第一内存地址空间,通过非透明桥将第一内存地址空间映射到第二内存区域,第二控制器分配第二内存地址空间,通过非透明桥将第二内存地址空间映射到第一内存区域;第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件。由此可见,本发明实施方式实现了在双控器之间基于非透明桥(NTB)技术传输文件,可以避免网络连接传输方式中网线掉落等不稳定因素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (4)
1.一种双控制器之间传输文件的方法,其特征在于,包括:
第一控制器分配第一内存区域,第二控制器分配第二内存区域;
第一控制器分配第一内存地址空间,通过非透明桥将第二内存区域映射到第一内存地址空间,第二控制器分配第二内存地址空间,通过非透明桥将第一内存区域映射到第二内存地址空间;
第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件。
2.根据权利要求1所述的双控制器之间传输文件的方法,其特征在于,该方法还包括:
第二控制器格式化第二内存地址空间为文件系统,并向该文件系统写入文件,第一控制器挂载第一内存区域以获取该文件。
3.根据权利要求1所述的双控制器之间传输文件的方法,其特征在于,第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件包括:
第一控制器格式化第一内存地址空间为ext文件系统,挂载该ext文件系统,并向该ext文件系统写文件;
第一控制器写文件之后卸载该ext文件系统,并通知第二控制器读取文件;
第二控制器挂载第二内存区域以读取文件。
4.根据权利要求2所述的双控制器之间传输文件的方法,其特征在于,第二控制器格式化第二内存地址空间为文件系统,并向该文件系统写入文件,第一控制器挂载第一内存区域以获取该文件包括:
第二控制器格式化第二内存地址空间为ext文件系统,挂载该ext文件系统,并向该ext文件系统写文件;
第二控制器写文件之后卸载该ext文件系统,并通知第一控制器读取文件;
第一控制器挂载第一内存区域以读取文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611224679.8A CN106815166A (zh) | 2016-12-27 | 2016-12-27 | 一种双控制器之间传输文件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611224679.8A CN106815166A (zh) | 2016-12-27 | 2016-12-27 | 一种双控制器之间传输文件的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106815166A true CN106815166A (zh) | 2017-06-09 |
Family
ID=59110221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611224679.8A Pending CN106815166A (zh) | 2016-12-27 | 2016-12-27 | 一种双控制器之间传输文件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106815166A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799974A (zh) * | 2021-01-26 | 2021-05-14 | 科东(广州)软件科技有限公司 | 一种存储卡的控制方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090070547A1 (en) * | 2007-09-11 | 2009-03-12 | Samsung Electronics Co., Ltd. | Method and apparatus for performing address mapping in virtual file system of storage unit having a plurality of non-volatile data storage media |
CN101639811A (zh) * | 2009-08-21 | 2010-02-03 | 成都市华为赛门铁克科技有限公司 | 数据写入的方法、控制器和多控制器系统 |
CN102693372A (zh) * | 2011-03-24 | 2012-09-26 | 群联电子股份有限公司 | 内存储存装置、内存控制器与病毒扫描方法 |
CN104699584A (zh) * | 2015-03-20 | 2015-06-10 | 浪潮集团有限公司 | 一种pcie非透明桥性能测试的方法 |
CN104881246A (zh) * | 2015-03-30 | 2015-09-02 | 北京飞杰信息技术有限公司 | 应用于集群存储系统的输出入传递方法及系统 |
CN106021147A (zh) * | 2011-09-30 | 2016-10-12 | 英特尔公司 | 在逻辑驱动器模型下呈现直接存取的存储设备 |
-
2016
- 2016-12-27 CN CN201611224679.8A patent/CN106815166A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090070547A1 (en) * | 2007-09-11 | 2009-03-12 | Samsung Electronics Co., Ltd. | Method and apparatus for performing address mapping in virtual file system of storage unit having a plurality of non-volatile data storage media |
CN101639811A (zh) * | 2009-08-21 | 2010-02-03 | 成都市华为赛门铁克科技有限公司 | 数据写入的方法、控制器和多控制器系统 |
CN102693372A (zh) * | 2011-03-24 | 2012-09-26 | 群联电子股份有限公司 | 内存储存装置、内存控制器与病毒扫描方法 |
CN106021147A (zh) * | 2011-09-30 | 2016-10-12 | 英特尔公司 | 在逻辑驱动器模型下呈现直接存取的存储设备 |
CN104699584A (zh) * | 2015-03-20 | 2015-06-10 | 浪潮集团有限公司 | 一种pcie非透明桥性能测试的方法 |
CN104881246A (zh) * | 2015-03-30 | 2015-09-02 | 北京飞杰信息技术有限公司 | 应用于集群存储系统的输出入传递方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799974A (zh) * | 2021-01-26 | 2021-05-14 | 科东(广州)软件科技有限公司 | 一种存储卡的控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363670B (zh) | 一种数据传输的方法、装置、设备和系统 | |
AU2013263866B2 (en) | Computer system, method for accessing peripheral component interconnect express endpoint device, and apparatus | |
JP5546635B2 (ja) | データ転送装置およびその制御方法 | |
US7979592B1 (en) | Virtualization bridge device | |
US10133694B2 (en) | Peripheral component interconnect express (PCIE) pseudo-virtual channels using vendor defined messages | |
DE102011014588A1 (de) | Multicasting-Schreibanforderungen an Mehrfachspeicher-Controller | |
CN106446159B (zh) | 一种存储文件的方法、第一虚拟机及名称节点 | |
WO2001001271A1 (en) | Method and apparatus for bridging a plurality of buses | |
TW200813725A (en) | Multi-host usb device controller | |
US6694397B2 (en) | Request queuing system for a PCI bridge | |
CN109471831B (zh) | 一种数据处理方法及装置 | |
CN115543894B (zh) | 存储系统、数据处理方法及装置、存储介质及电子设备 | |
JP6734824B2 (ja) | ストレージシステム | |
US20160241666A1 (en) | Network interface | |
CN108733315B (zh) | 用于存储管理的方法、设备和计算机可读存储介质 | |
CN106815166A (zh) | 一种双控制器之间传输文件的方法 | |
JP2015128207A (ja) | 画像読取装置、画像読取方法及びプログラム | |
WO2023024919A1 (en) | Transport control word architecture for physical port mirroring | |
US20110099312A1 (en) | Circuit and method for pipe arbitration | |
US20220197529A1 (en) | Systems and methods for securely sharing data in a multi-port memory storage device | |
CN106325377B (zh) | 外部设备扩展卡及输入输出外部设备的数据处理方法 | |
JP2012014239A (ja) | フォールトトレラントの計算機システム、複数の物理サーバとストレージ装置とに接続されるスイッチ装置、及び、サーバ同期制御方法 | |
CN112131166B (zh) | 轻量桥接器电路及其操作方法 | |
US11886744B2 (en) | Systems, methods, and apparatuses for making writes to persistent memory | |
JP6704127B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170609 |