CN112527719B - 一种基于PCIe链路的JBOF连接方法、装置及*** - Google Patents
一种基于PCIe链路的JBOF连接方法、装置及*** Download PDFInfo
- Publication number
- CN112527719B CN112527719B CN202011403108.7A CN202011403108A CN112527719B CN 112527719 B CN112527719 B CN 112527719B CN 202011403108 A CN202011403108 A CN 202011403108A CN 112527719 B CN112527719 B CN 112527719B
- Authority
- CN
- China
- Prior art keywords
- jbof
- pcie
- equipment
- connection state
- pcie cable
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012546 transfer Methods 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 2
- 238000002360 preparation method Methods 0.000 abstract description 7
- 239000000463 material Substances 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- 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/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal 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 Transfer Systems (AREA)
Abstract
本发明公开了一种基于PCIe链路的JBOF连接方法、装置、***及存储控制器,该方法包括:存储控制器根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定PCIe线缆转接卡与JBOF设备的连接状态;在连接状态改变时,对JBOF设备进行热插拔处理,添加或移除JBOF设备;其中,PCIe线缆转接卡的x16下行接口与JBOF设备通过4条x4SAS线缆连接;本发明采用常见的SAS线缆代替标准PCIe线缆,避免了PCIe线缆的备料困难问题,并且通过在连接状态改变时,对JBOF设备进行热插拔处理,避免了因SAS线缆没有PRSNT信号,无法实现热插拔处理的问题,保证了PCIe链路的可靠性。
Description
技术领域
本发明涉及存储领域,特别涉及一种基于PCIe链路的JBOF连接方法、装置、***及存储控制器。
背景技术
在存储领域,众所周知,固态硬盘(SSD)拥有比机械硬盘(HDD)更快的读写速度。目前大多数机器使用的是SATA(Serial ATA,串行ATA)总线标准,实际最高传输约为600MB/s。而支持PCIe(peripheral component interconnect express,一种高速串行计算机扩展总线标准)总线,NVMe(Non-Volatile Memory express,一种硬盘的传输标准)协议的SSD,实际传输速度将超过1000MB/s。
为了扩展存储容量需要使用JBOF(Just a bunch of nvme Flash,nvme硬盘扩展柜)设备扩展连接更多nvme硬盘,JBOF设备前端通过线缆连接至存储控制器(即机头),JBOF设备后端连接有nvme SSD硬盘。
现有技术中,JBOF设备前端往往基于以太网的Nof连接至存储控制器,该方式需要使用协议转换卡,成本较高、协议复杂且对盘的操作非直连;而虽然存在如图1所示的JOBF设备基于PCIe链路的直连方式,即使用JBOF设备前端通过PCIe线缆跨机框连接至存储控制器,《PCI_Express_External_Cabling》定义了PCIe线缆标准,但市面上并没有供应商生产这种PCIe线缆,备料困难。
因此,如何能够提供一种更加便于实施的JBOF设备与存储控制器的跨机框连接方法,降低成本,避免PCIe线缆的备料困难问题,是现今急需解决的问题。
发明内容
本发明的目的是提供一种基于PCIe链路的JBOF连接方法、装置、***及存储控制器,以实现JBOF设备与存储控制器的跨机框直连,降低成本,避免PCIe线缆的备料困难问题。
为解决上述技术问题,本发明提供一种基于PCIe链路的JBOF连接方法,包括:
存储控制器根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定所述PCIe线缆转接卡与所述JBOF设备的连接状态;
在所述连接状态改变时,对所述JBOF设备进行热插拔处理,添加或移除所述JBOF设备;其中,所述存储控制器通过所述PCIe线缆转接卡与所述JBOF设备连接,所述PCIe线缆转接卡的x16下行接口与所述JBOF设备通过4条x4 SAS线缆连接。
可选的,所述存储控制器根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定所述PCIe线缆转接卡与所述JBOF设备的连接状态,包括:
所述存储控制器读取所述PCIe线缆转接卡中的第一预设寄存器的数值;其中,所述第一预设寄存器用于存储所述JBOF设备的PCIe配置信息;
根据所述数值,确定所述连接状态。
可选的,所述根据所述数值,确定所述连接状态,包括:
若所述数值为0xff,则确定所述连接状态为断开情况;
若所述数值不为0xff,则确定所述连接状态为连接情况。
可选的,该方法还包括:
配置所述PCIe线缆转接卡的第二预设寄存器,关闭所述PCIe线缆转接卡的通道位置翻转功能;其中,所述第二预设寄存器用于启动或关闭所述通道位置翻转功能。
可选的,该方法还包括:
配置所述PCIe线缆转接卡的第三预设寄存器为x16带宽,并在所述PCIe线缆转接卡连接非x16的链路带宽时,将链路控制寄存器置位为重新训练位;其中,所述第三预设寄存器用于存储目标连接宽度。
可选的,所述在所述连接状态改变时,对所述JBOF设备进行热插拔处理,添加或移除所述JBOF设备,包括:
根据所述连接状态,确定所述JBOF设备对应的在位标识;
当检测到所述JBOF设备的连接状态由断开情况变为连接情况时,延时预设防抖时间后检测所述JBOF设备对应的当前在位标识;
若当前在位标识为在位情况,则对JBOF设备进行热***处理,添加所述JBOF设备。
可选的,所述预设防抖时间具体为17s。
本发明还提供了一种基于PCIe链路的JBOF连接装置,应用于存储控制器,包括:
检测单元,用于根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定所述PCIe线缆转接卡与所述JBOF设备的连接状态;
热插拔单元,用于在所述连接状态改变时,对所述JBOF设备进行热插拔处理,添加或移除所述JBOF设备;其中,所述存储控制器通过所述PCIe线缆转接卡与所述JBOF设备连接,所述PCIe线缆转接卡的x16下行接口与所述JBOF设备通过4条x4 SAS线缆连接。
本发明还提供了一种存储控制器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的基于PCIe链路的JBOF连接方法的步骤。
本发明还提供了一种基于PCIe链路的JBOF连接***,包括:PCIe线缆转接卡、JBOF设备和上述所述的存储控制器;
其中,所述存储控制器通过所述PCIe线缆转接卡与所述JBOF设备连接,所述PCIe线缆转接卡的x16下行接口与所述JBOF设备通过4条x4 SAS线缆连接。
本发明所提供的一种基于PCIe链路的JBOF连接方法,包括:存储控制器根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定PCIe线缆转接卡与JBOF设备的连接状态;在连接状态改变时,对JBOF设备进行热插拔处理,添加或移除JBOF设备;其中,存储控制器通过PCIe线缆转接卡与JBOF设备连接,PCIe线缆转接卡的x16下行接口与JBOF设备通过4条x4 SAS线缆连接;
可见,本发明通过采用常见的SAS线缆代替标准PCIe线缆,避免了PCIe线缆的备料困难问题,并且通过在PCIe线缆转接卡的连接状态改变时,对JBOF设备进行热插拔处理,添加或移除JBOF设备,避免了因SAS线缆没有标准PCIe线缆的PRSNT信号,无法实现热插拔处理的问题,保证了PCIe链路的可靠性。此外,本发明还提供了一种基于PCIe链路的JBOF连接装置、***及存储控制器,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中的JOBF设备基于PCIe链路的直连连接的拓扑示意图
图2为本发明实施例所提供的一种基于PCIe链路的JBOF连接方法的流程图;
图3为本发明实施例所提供的一种基于PCIe链路的JBOF连接装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图2,图2为本发明实施例所提供的一种基于PCIe链路的JBOF连接方法的流程图。该方法可以包括:
步骤101:存储控制器根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定PCIe线缆转接卡与JBOF设备的连接状态。
其中,本实施例中存储控制器可以通过PCIe线缆转接卡与JBOF设备连接,PCIe线缆转接卡的x16下行接口可以与JBOF设备通过4条x4 SAS线缆连接,即PCIe线缆转接卡的上行接口和x16下行接口分别与存储控制器和JBOF设备一对一连接,实现基于PCIe链路的存储控制器与JBOF设备的跨机框直连。
对应的,本实施例中的PCIe线缆转接卡可以配置有用于与JBOF设备连接的x16下行接口,以及用于与存储控制器连接的上行接口(如x16上行接口)。对于本实施例中PCIe线缆转接卡与存储控制器的具体连接方式,可以由设计人员自行设置,如可以采用与现有技术中存储控制器与PCIe线缆转接卡的上行接口连接方案相同或相似的方式设置,本实施例对此不做任何限制。
具体的,对于本实施例中的PCIe线缆转接卡的具体类型选择,可以由设计人员根据实用场景和用户需求自行设置,如可以采用如图1所示的plx8733芯片,也可以采用其他类型的PCIe线缆转接卡,本实施例对此不做任何限制。
可以理解的是,由于市面上基本没有x16线宽的PCIe线缆,本实施例中PCIe线缆转接卡的x16下行接口可以设置为4个x4物理口,以通过4条x4 SAS线缆(如Mini SAS HD线缆)连接JBOF设备。
对应的,由于SAS线缆与标准PCIe线缆的差异,SAS线缆没有PRSNT(在位)信号,使得存储控制器无法根据线缆在位做热插拔处理,因此,实施例中存储控制器通过获取的JBOF设备的PCIe配置信息,检测PCIe线缆转接卡与JBOF设备的连接状态(link state),在连接状态发生变化时,触发热插拔处理流程,进行相应的设备remove(移除)和add(添加)操作。
具体的,对于本实施例中存储控制器根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定PCIe线缆转接卡与JBOF设备的连接状态的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如存储控制器在通过PCIe线缆转接卡直接读取到JBOF设备的PCIe配置信息时,可以确定PCIe线缆转接卡与JBOF设备的连接状态为在位情况;在通过PCIe线缆转接卡无法直接读取到JBOF设备的PCIe配置信息时,确定PCIe线缆转接卡与JBOF设备的连接状态为断开情况。存储控制器也可以读取PCIe线缆转接卡中的第一预设寄存器的数值,并根据第一预设寄存器的数值,确定PCIe线缆转接卡与JBOF设备的连接状态;其中,第一预设寄存器用于存储JBOF设备的PCIe配置信息;例如PCIe线缆转接卡为plx8733芯片时,存储控制器可以读取PCIe线缆转接卡中PCI_BRIDEGE_CONTROL寄存器(即第一预设寄存器)的数值,JBOF设备断开与PCIe线缆转接卡的x16下行接口的连接或JBOF设备关机,存储控制器读取不到PCI_BRIDEGE_CONTROL寄存器中JBOF设备的PCIe配置信息,得到的结果为0xff,可以确定连接状态为断开情况。
也就是说,存储控制器可以在读取到PCIe线缆转接卡中的第一预设寄存器的数值为0xff时,确定PCIe线缆转接卡的连接状态为断开情况;在读取到PCIe线缆转接卡中的第一预设寄存器的数值不为0xff时,确定PCIe线缆转接卡的连接状态为连接情况;从而实现根据第一预设寄存器的数值,确定PCIe线缆转接卡的连接状态。
步骤102:在连接状态改变时,对JBOF设备进行热插拔处理,添加或移除JBOF设备;其中,存储控制器通过PCIe线缆转接卡与JBOF设备连接,PCIe线缆转接卡的x16下行接口与JBOF设备通过4条x4 SAS线缆连接。
可以理解的是,本步骤的目的可以为存储控制器在检测到PCIe线缆转接卡与JBOF设备的连接状态发生变化时,通过对JBOF设备进行热插拔处理,添加或移除JBOF设备;如存储控制器在检测到PCIe线缆转接卡的连接状态由断开情况变为连接情况时,可以对JBOF设备进行热拔出处理,移除JBOF设备;存储控制器在检测到PCIe线缆转接卡与JBOF设备的连接状态由连接情况变为断开情况时,可以对JBOF设备进行热***处理,添加JBOF设备。
具体的,本实施例中可以修改存储控制器的内核PCIe驱动热插拔处理模块(pciehp),改为当link state发生变化触发热插拔处理流程,做相应设备remove和add操作。PCIe线缆转接卡为plx8733芯片时,以linux 3.10-957为例,其PCIe热插拔处理流程如下:
pciehp_isr()->
pciehp_queue_interrupt_event()->
interrupt_event_handle()->
handle_link_event()->
pciehp_queue_power_work()->
pciehp_power_thread()->
pciehp_disable_slot()->
remove_board()->
pciehp_unconfigure_device()
本实施例中可以修改pciehp_unconfigure_device()函数,在存储控制器的原生内核设计中该函数中首先调用pciehp_get_adapter_statue()判断在位状态(presence),因本实施例中使用的非标准pcie线缆,没有在位信号(PRSNT),故读取结果为一直在位,之后该函数读取PCI_BRIDEGE_CONTROL寄存器(即第一预设寄存器),在此时SAS线缆若已经拔掉或JBOF设备关机,则读取不到JBOF设备的PCIe配置信息,返回结果为0xff,依据PCIe芯片手册,其正常值不为0xff;本实施例可以修改为,读取到数据为0xff时,判断为JBOF设备断开,置位presence为false(不在位),即连接状态为断开情况,走pice热拔出流程。
需要说明的是,本实施例还可以包括存储控制器根据获取的数据读取指令,从连接的JBOF设备中的nvme硬盘中读取数据读取指令对应的数据,即存储控制器可以从通过PCIe线缆转接卡连接的JBOF设备的nvme硬盘中读取所需要的数据。
进一步的,基于实践经验、实验数据和PCIe线缆转接卡勘误手册,如plx8733芯片的PCIe线缆转接卡在lane reversal(通道位置翻转)模式下插拔其中间lane(通道)所在的线缆有概率导致其不能正常PCIe link(PCIe连接),为了插拔线缆的可靠性,本实施例所提供的方法还可以包括存储控制器配置PCIe线缆转接卡的第二预设寄存器,关闭PCIe线缆转接卡的通道位置翻转功能;其中,第二预设寄存器用于启动或关闭通道位置翻转功能,如plx8733芯片中的寄存器0x21c(Physical layer command and status,物理层命令和状态)。
进一步的,本实施例中因使用4条x4的SAS线缆,在实际插拔线缆时,PCIe的link速度远高于人手的插拔动作的速度,此时可能会出现非x16的link带宽;本实施例所提供的方法还可以包括:存储控制器配置PCIe线缆转接卡的第三预设寄存器为x16带宽,并在PCIe线缆转接卡连接非x16的链路带宽时,将链路控制寄存器(即link control寄存器)置位为重新训练(retrain)位;其中,第三预设寄存器用于存储目标连接宽度,如plx8733芯片的寄存器0x248(target link width,目标连接宽度)。例如PCIe线缆转接卡为plx8733芯片时,存储控制器可以配置plx8733芯片的0x248寄存器为x16带宽,置位link control寄存器中的retrain,使PCIe link重新training(训练),以恢复带宽至x16。
具体的,由于当线缆插拔过程中以及硬盘的插拔过程中,会发生物理抖动,该抖动会导致pcie link层发生多次连接(link up)和断开(link down),对内核会产生中断冲击,对于业务层也会发生频繁的设备删除和添加,当满载硬盘时,将变得更加严重。因此,本步骤中存储控制器可以根据JBOF设备与PCIe线缆转接卡的连接状态,确定JBOF设备对应的在位标识;当检测到JBOF设备与PCIe线缆转接卡的连接状态由断开情况变为连接情况时,延时预设防抖时间后检测JBOF设备对应的当前在位标识;若当前在位标识为在位情况,则对JBOF设备进行热***处理,添加JBOF设备。相应的,当检测到JBOF设备与PCIe线缆转接卡的连接状态由连接情况变为断开情况时,延时预设防抖时间后检测JBOF设备对应的当前在位标识;若当前在位标识为不在位情况,则对JBOF设备进行热拔出处理,移除JBOF设备。
例如,本实施例可以在存储控制器的pcie驱动中实现如下,驱动初始化中增加linux内核timer(计时器),并初始化timer,定义设备在位列表,利用在位标识在预设防抖时间过后,检测设备是否在位。pcie驱动的probe()函数中可以修改timer以增加timer延时(即预设防抖时间),优选地预设防抖时间可以为17s,同时置位相应设备在位标识,更新设备在位列表。pcie驱动的remove()函数中清除相应设备在位标识,更新设备在位列表。在此设计下,每当有设备被探测到时,会延时17s,在17s后的timer超时处理中首先判断设备在位标识,如果设备在位,通知上层应用,由上层应用发起设备添加或删除业务。
本实施例中,本发明实施例通过采用常见的SAS线缆代替标准PCIe线缆,避免了PCIe线缆的备料困难问题,并且通过在PCIe线缆转接卡的连接状态改变时,对JBOF设备进行热插拔处理,添加或移除JBOF设备,避免了因SAS线缆没有标准PCIe线缆的PRSNT信号,无法实现热插拔处理的问题,保证了PCIe链路的可靠性。
请参考图3,图3为本发明实施例所提供的一种基于PCIe链路的JBOF连接装置的结构框图。该装置应用于存储控制器,可以包括:
检测单元10,用于根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定PCIe线缆转接卡与JBOF设备的连接状态;
热插拔单元20,用于在连接状态改变时,对JBOF设备进行热插拔处理,添加或移除JBOF设备;其中,存储控制器通过PCIe线缆转接卡与JBOF设备连接,PCIe线缆转接卡的x16下行接口与JBOF设备通过4条x4 SAS线缆连接。
可选的,检测单元10,可以包括:
寄存器读取子单元,用于存储控制器读取PCIe线缆转接卡中的第一预设寄存器的数值;其中,第一预设寄存器用于存储JBOF设备的PCIe配置信息;
确定子单元,用于根据数值,确定连接状态。
可选的,确定子单元可以具体用于若数值为0xff,则确定连接状态为断开情况;若数值不为0xff,则确定连接状态为连接情况。
可选的,该装置还可以包括:
翻转关闭单元,用于配置PCIe线缆转接卡的第二预设寄存器,关闭PCIe线缆转接卡的通道位置翻转功能;其中,第二预设寄存器用于启动或关闭通道位置翻转功能。
可选的,该装置还可以包括:
带宽恢复单元,用于配置PCIe线缆转接卡的第三预设寄存器为x16带宽,并在PCIe线缆转接卡连接非x16的链路带宽时,将链路控制寄存器置位为重新训练位;其中,第三预设寄存器用于存储目标连接宽度。
可选的,热插拔单元20,可以包括:
在位确定子单元,用于根据连接状态,确定JBOF设备对应的在位标识;
延时子单元,用于当检测到JBOF设备的连接状态由断开情况变为连接情况时,延时预设防抖时间后检测JBOF设备对应的当前在位标识;若当前在位标识为在位情况,则对JBOF设备进行热***处理,添加JBOF设备。
可选的,预设防抖时间具体为17s。
本实施例中,本发明实施例通过采用常见的SAS线缆代替标准PCIe线缆,避免了PCIe线缆的备料困难问题,并且通过热插拔单元20在PCIe线缆转接卡的连接状态改变时,对JBOF设备进行热插拔处理,添加或移除JBOF设备,避免了因SAS线缆没有标准PCIe线缆的PRSNT信号,无法实现热插拔处理的问题,保证了PCIe链路的可靠性。
本发明实施例还提供了一种存储控制器,可以包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如上述实施例所提供的基于PCIe链路的JBOF连接方法的步骤。
本发明实施例还提供了一种基于PCIe链路的JBOF连接***,包括:PCIe线缆转接卡、JBOF设备和上述实施例所提供的存储控制器;
其中,存储控制器通过PCIe线缆转接卡与JBOF设备连接,PCIe线缆转接卡的x16下行接口与JBOF设备通过4条x4 SAS线缆连接。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现如上述实施例所提供的基于PCIe链路的JBOF连接方法的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、***、存储控制器及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种基于PCIe链路的JBOF连接方法、装置、***及存储控制器进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (5)
1.一种基于PCIe链路的JBOF连接方法,其特征在于,包括:
存储控制器根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定所述PCIe线缆转接卡与所述JBOF设备的连接状态;
在所述连接状态改变时,对所述JBOF设备进行热插拔处理,添加或移除所述JBOF设备;其中,所述存储控制器通过所述PCIe线缆转接卡与所述JBOF设备连接,所述PCIe线缆转接卡的x16下行接口与所述JBOF设备通过4条x4 SAS线缆连接;
其中,所述存储控制器根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定所述PCIe线缆转接卡与所述JBOF设备的连接状态,包括:
所述存储控制器读取所述PCIe线缆转接卡中的第一预设寄存器的数值;其中,所述第一预设寄存器用于存储所述JBOF设备的PCIe配置信息;
根据所述数值,确定所述连接状态;
其中,所述根据所述数值,确定所述连接状态,包括:
若所述数值为0xff,则确定所述连接状态为断开情况;
若所述数值不为0xff,则确定所述连接状态为连接情况;
其中,所述JBOF连接方法还包括:
配置所述PCIe线缆转接卡的第二预设寄存器,关闭所述PCIe线缆转接卡的通道位置翻转功能;其中,所述第二预设寄存器用于启动或关闭所述通道位置翻转功能;
其中,所述JBOF连接方法还包括:
配置所述PCIe线缆转接卡的第三预设寄存器为x16带宽,并在所述PCIe线缆转接卡连接非x16的链路带宽时,将链路控制寄存器置位为重新训练位;其中,所述第三预设寄存器用于存储目标连接宽度;
其中,所述在所述连接状态改变时,对所述JBOF设备进行热插拔处理,添加或移除所述JBOF设备,包括:
根据所述连接状态,确定所述JBOF设备对应的在位标识;
当检测到所述JBOF设备的连接状态由断开情况变为连接情况时,延时预设防抖时间后检测所述JBOF设备对应的当前在位标识;
若当前在位标识为在位情况,则对JBOF设备进行热***处理,添加所述JBOF设备。
2.根据权利要求1所述的基于PCIe链路的JBOF连接方法,其特征在于,所述预设防抖时间具体为17s。
3.一种基于PCIe链路的JBOF连接装置,其特征在于,应用于存储控制器,包括:
检测单元,用于根据通过PCIe线缆转接卡获取的JBOF设备的PCIe配置信息,确定所述PCIe线缆转接卡与所述JBOF设备的连接状态;
热插拔单元,用于在所述连接状态改变时,对所述JBOF设备进行热插拔处理,添加或移除所述JBOF设备;其中,所述存储控制器通过所述PCIe线缆转接卡与所述JBOF设备连接,所述PCIe线缆转接卡的x16下行接口与所述JBOF设备通过4条x4 SAS线缆连接;
其中,所述检测单元包括:
寄存器读取子单元,用于读取所述PCIe线缆转接卡中的第一预设寄存器的数值;其中,所述第一预设寄存器用于存储所述JBOF设备的PCIe配置信息;
确定子单元,用于根据所述数值,确定所述连接状态;
其中,确定子单元具体用于若所述数值为0xff,则确定所述连接状态为断开情况;若所述数值不为0xff,则确定所述连接状态为连接情况;
其中,所述JBOF连接装置还包括:
翻转关闭单元,用于配置所述PCIe线缆转接卡的第二预设寄存器,关闭所述PCIe线缆转接卡的通道位置翻转功能;其中,所述第二预设寄存器用于启动或关闭所述通道位置翻转功能;
其中,所述JBOF连接装置还包括:
带宽恢复单元,用于配置所述PCIe线缆转接卡的第三预设寄存器为x16带宽,并在所述PCIe线缆转接卡连接非x16的链路带宽时,将链路控制寄存器置位为重新训练位;其中,所述第三预设寄存器用于存储目标连接宽度;
其中,所述热插拔单元可以包括:
在位确定子单元,用于根据所述连接状态,确定所述JBOF设备对应的在位标识;
延时子单元,用于当检测到所述JBOF设备的连接状态由断开情况变为连接情况时,延时预设防抖时间后检测所述JBOF设备对应的当前在位标识;若当前在位标识为在位情况,则对JBOF设备进行热***处理,添加所述JBOF设备。
4.一种存储控制器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1或2所述的基于PCIe链路的JBOF连接方法的步骤。
5.一种基于PCIe链路的JBOF连接***,其特征在于,包括:PCIe线缆转接卡、JBOF设备和如权利要求4所述的存储控制器;
其中,所述存储控制器通过所述PCIe线缆转接卡与所述JBOF设备连接,所述PCIe线缆转接卡的x16下行接口与所述JBOF设备通过4条x4 SAS线缆连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011403108.7A CN112527719B (zh) | 2020-12-04 | 2020-12-04 | 一种基于PCIe链路的JBOF连接方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011403108.7A CN112527719B (zh) | 2020-12-04 | 2020-12-04 | 一种基于PCIe链路的JBOF连接方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527719A CN112527719A (zh) | 2021-03-19 |
CN112527719B true CN112527719B (zh) | 2023-12-22 |
Family
ID=74998330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011403108.7A Active CN112527719B (zh) | 2020-12-04 | 2020-12-04 | 一种基于PCIe链路的JBOF连接方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527719B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461559A (zh) * | 2021-12-17 | 2022-05-10 | 飞腾信息技术有限公司 | 热插拔方法、片上***及计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783013A (zh) * | 2017-11-15 | 2019-05-21 | 三星电子株式会社 | 配置和访问可扩展对象存储的方法和*** |
CN111722990A (zh) * | 2020-06-21 | 2020-09-29 | 苏州浪潮智能科技有限公司 | 一种主背板间的线缆连接校验方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701051B (zh) * | 2016-01-15 | 2019-10-15 | 华为技术有限公司 | 一种热插拔方法、主机控制器、主机及PCIe桥设备 |
-
2020
- 2020-12-04 CN CN202011403108.7A patent/CN112527719B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783013A (zh) * | 2017-11-15 | 2019-05-21 | 三星电子株式会社 | 配置和访问可扩展对象存储的方法和*** |
CN111722990A (zh) * | 2020-06-21 | 2020-09-29 | 苏州浪潮智能科技有限公司 | 一种主背板间的线缆连接校验方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于LwIP的热插拔网络嵌入式设计方法;马亚辉;吴凡;李林;何斌;;单片机与嵌入式***应用(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112527719A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423169B (zh) | 用于测试高速***设备互连设备的方法和*** | |
KR100968641B1 (ko) | 점-대-점 링크 협의 방법, 디바이스, 집적 회로 및 전자시스템 | |
WO2021098485A1 (zh) | PCIe设备的上下电控制方法以及*** | |
CN107844165B (zh) | 硬盘热插拔实现装置 | |
JP2013168122A (ja) | Usb3.0デバイス及び制御方法 | |
CN115391262A (zh) | 高速***组件互连接口装置及其操作方法 | |
CN106681953A (zh) | 使用i2c总线与主机连接的从机及其通信方法 | |
CN107038137B (zh) | 一种热插拔的设备及方法 | |
CN102073602B (zh) | 计算机***、连接控制装置及连接与断开方法 | |
JP2018116648A (ja) | 情報処理装置、その制御方法、及びプログラム | |
CN112527719B (zh) | 一种基于PCIe链路的JBOF连接方法、装置及*** | |
JP2012063817A (ja) | 通信装置 | |
CN111417034B (zh) | 一种交换机及其交换板卡热插拔方法、装置和*** | |
CN114446363A (zh) | 存储装置和存储装置的操作方法 | |
CN107145198B (zh) | 一种提升服务器对硬盘兼容能力的方法及其主板 | |
CN112667066A (zh) | 一种扩展硬盘存储容量的方法、***及介质 | |
CN111143898B (zh) | 可插拔存储器装置数据保护方法 | |
US20110125934A1 (en) | Apparatuses and methods for transferring data | |
JP2008065364A (ja) | 拡張システム、アドインカード及び外部装置 | |
CN103853638A (zh) | 一种刷新固件的方法及电子设备 | |
CN109815169A (zh) | 一种存储设备及其存储链路自适应的方法 | |
CN110221780B (zh) | 存储器控制器、存储器控制方法、以及电脑*** | |
KR100684130B1 (ko) | 고유 버스 프로토콜을 사용하여 동기 버스를 임의의길이만큼 확장하는 방법 및 시스템 | |
US20130326106A1 (en) | Methods and structure for accounting for connection resets between peripheral component interconnect express bridges and host devices | |
CN109074141B (zh) | 具有热插拔预测电路的计算设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |