CN115454359A - 固态硬盘访问控制方法、装置和计算机设备和存储介质 - Google Patents

固态硬盘访问控制方法、装置和计算机设备和存储介质 Download PDF

Info

Publication number
CN115454359A
CN115454359A CN202211404833.5A CN202211404833A CN115454359A CN 115454359 A CN115454359 A CN 115454359A CN 202211404833 A CN202211404833 A CN 202211404833A CN 115454359 A CN115454359 A CN 115454359A
Authority
CN
China
Prior art keywords
solid state
state disk
controller
nvme
nvme solid
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.)
Granted
Application number
CN202211404833.5A
Other languages
English (en)
Other versions
CN115454359B (zh
Inventor
彭云武
邹雨
江博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211404833.5A priority Critical patent/CN115454359B/zh
Publication of CN115454359A publication Critical patent/CN115454359A/zh
Application granted granted Critical
Publication of CN115454359B publication Critical patent/CN115454359B/zh
Priority to PCT/CN2023/116126 priority patent/WO2024098907A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请涉及一种固态硬盘访问控制方法、装置、计算机设备和存储介质。所述方法包括:检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘;设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。采用本方法能够实现多个访问路径的冗余设置,提高了数据传输的可靠性。

Description

固态硬盘访问控制方法、装置和计算机设备和存储介质
技术领域
本申请涉及固态硬盘访问控制技术领域,特别是涉及一种固态硬盘访问控制方法、装置、计算机设备和存储介质。
背景技术
存储阵列通过硬件冗余架构设计、磁盘阵列(RAID)等软件技术,实现高可靠和高可用。
NVMe是Non-Volatile Memory Express的简称,表示非易失性内存主机控制器接口规范。SSD是Solid-State Disk的简称,表示固态硬盘。作为存储介质的NVMe SSD,当前只有单端口(Sing Port)和双端口(Dual Port),分别可接1个控制器节点、2个控制器节点;集中式存储阵列采用双控制器节点+双端口NVMe SSD实现1+1冗余。如果NVMe SSD直接出4个Port(端口)或者支持SR IOV特性,系统能实现NVMe SSD的4控共享,达到1+3冗余的更高可靠性和可用度。
如图1所示,NVMe SSD需要支持1个PF和4个VF;每个控制器节点(Node)通过PCIeswitch(高速串行计算机扩展总线标准开关)与NVMe SSD连通;PCIe Switch内置的CPU(中央处理器)通过配置NVMe SSD的PF,确保每个VF分别映射给对应的Node(节点),Node[3:0]与SSD的VF[3:0]的一一对应,4个Node都能访问同一个NVMe SSD,实现NVMe SSD的4控共享访问;目前主流的NVMe SSD均不支持SR-IOV特性,因此图1所示架构的NVMe后端4控共享还不能产品化。目前业界也未出现4个Port(端口)的NVMe SSD,难以提高数据传输的冗余性,可靠性不高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据传输的冗余性,满足高可靠性的固态硬盘访问控制方法、装置、计算机设备和存储介质。
一方面,提供一种固态硬盘访问控制方法,所述方法包括:
检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接;
设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接;
当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系正常,通过所述第一映射连接关系对应的控制器节点对该被访问的NVMe固态硬盘进行输入输出读写操作;若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。
在其中一个实施例中,在检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘时,还同步获取所述控制器节点的数量m+1;
设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系时,具体包括:
根据控制器节点数量m+1,对应每个NVMe固态硬盘构建1个真实容量空间和m个虚拟空间,所述虚拟空间为占位符;
将每个NVMe固态硬盘对应的真实容量空间映射至一个控制器节点中形成第一映射连接关系;将该NVMe固态硬盘对应的虚拟空间分别映射至其余的控制器节点中形成第二映射连接关系。
在其中一个实施例中,在检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘时,还同步获取所述NVMe固态硬盘的数量n+1;其中n大于等于m。
在其中一个实施例中,当n等于m时,按照NVMe固态硬盘的排列顺序,将连续排列的n+1个NVMe固态硬盘中的n+1个真实容量空间分别映射至m+1个控制器节点中;当n大于m时,按照NVMe固态硬盘的排列顺序,将连续排列的m+1个NVMe固态硬盘设为一组,该组中的m+1个真实容量空间分别映射至m+1个控制器节点中,其余组按照相同的映射规律将真实容量空间分别映射至不同的控制器节点中。
在其中一个实施例中,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系,包括:通过NVMe固态硬盘热接入方式,把所述备用控制器的虚拟空间替换成该被访问的NVMe固态硬盘的真实容量空间。
在其中一个实施例中,在所述其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器时,还包括:
逐一检测其余控制器节点是否正常;若是,则选取检测正常的一个控制器节点作为该被访问的NVMe固态硬盘的备用控制器;若否,则删除出现异常的控制器节点,再次检测判断剩余的控制器节点是否正常,直至剩余至少一个控制器节点为正常。
在其中一个实施例中,在逐一检测其余控制器节点是否正常时,若剩余的控制器节点均异常,则发出报警信息。
在其中一个实施例中,所述PCIe开关设有多个,每个控制器节点(Node)通过每个PCIe 开关与NVMe固态硬盘连通;
在检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘时,还同步获取每个PCIe开关上连接的所述控制器节点的数量m+1及所述NVMe固态硬盘的数量n+1;
对应每个PCIe开关,设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;
设置其中的一个PCIe开关为开启状态,其余的PCIe开关为关闭状态。
在其中一个实施例中,在当初始设置为开启状态的PCIe开关无法连通时,将其余的PCIe开关中一个正常的PCIe开关的关闭状态修改为开启状态。
在其中一个实施例中,所述将其余的PCIe开关中一个正常的PCIe开关的关闭状态修改为开启状态,包括:逐一检测其余的PCIe开关是否正常;若是,则选取检测正常的一个PCIe开关,并将其关闭状态修改为开启状态;若否,则删除出现异常的PCIe开关,再次检测判断剩余的PCIe开关是否正常,直至剩余至少一个PCIe开关为正常。
在其中一个实施例中,在逐一检测其余PCIe开关是否正常时,若剩余的PCIe开关均异常,则发出报警信息。
另一方面,提供了一种固态硬盘访问控制装置,所述装置包括:
上电检测模块,用于检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接;
映射路径管理模块,用于设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接;
访问管理模块,用于在当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系正常,通过所述第一映射连接关系对应的控制器节点对该被访问的NVMe固态硬盘进行输入输出读写操作;若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。
在其中一个实施例中,所述上电检测模块还用于检测PCIe开关的数量,当所述PCIe开关设有多个时,每个控制器节点通过每个PCIe 开关与NVMe固态硬盘连通;所述映射路径管理模块还用于对应每个PCIe开关,设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述访问管理模块还用于设置其中的一个PCIe开关为开启状态,其余的PCIe开关为关闭状态;在当初始设置为开启状态的PCIe开关无法连通时,将其余的PCIe开关中一个正常的PCIe开关的关闭状态修改为开启状态。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接;
设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接;
当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系正常,通过所述第一映射连接关系对应的控制器节点对该被访问的NVMe固态硬盘进行输入输出读写操作;若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接;
设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接;
当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系正常,通过所述第一映射连接关系对应的控制器节点对该被访问的NVMe固态硬盘进行输入输出读写操作;若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。
上述固态硬盘访问控制方法、装置、计算机设备和存储介质,通过将每个NVMe固态硬盘对应的真实容量空间和虚拟空间分别映射至不同的控制器节点中,设置每个控制器节点只对映射的NVMe固态硬盘真实容量空间进行访问,避免了非法访问固态硬盘数据存储空间的情形,而且多个控制器节点均可将其映射的虚拟空间修改为真实容量空间后实现对NVMe固态硬盘的访问,实现了多个访问路径的冗余设置,提高了数据传输的冗余性,可靠性高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的一种NVMe SSD的连接结构示意图;
图2为本申请实施例1中固态硬盘访问控制方法的应用原理图;
图3为本申请实施例2中固态硬盘访问控制方法的应用原理图;
图4为本申请实施例3中固态硬盘访问控制方法的流程示意图;
图5为本申请实施例中固态硬盘访问控制装置的结构框图;
图6为本申请实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例1
如背景技术所述,目前主流的NVMe SSD均不支持SR-IOV特性,因此NVMe后端多控共享访问路径还不能产品化,导致难以提高数据传输的冗余性,可靠性不高。
为解决上述问题,本发明实施例1中创造性的提出了一种固态硬盘访问控制方法。基于Broadcom公司PCIe4.0 Switch的PCIe Synthetic Mode(PCIe合成模块),通过BIOS和PCIe驱动提前预留PCIe资源、控制器节点故障检测、发生故障能快速进行故障切换、系统软件能识别SSD和Place Holder(占位符)区别,避免非法访问;只需普通NVMe SSD即可实现NVMe SSD 4控共享,满足1+3冗余,满足高可靠性的需求。
如图2, NVMe 4节点系统,正常上电、控制器节点异常等场景处理策略如下:
(1)NVMe 4节点系统正常上电,BIOS自检过程中,扫描PCIe设备,采用NVMe SSD实体空间+虚拟空间Place Holder方式分别向4个控制器节点申请PCIe预留资源空间;NVMeSSD的真实容量空间只映射给1个控制器节点,其他3个控制器节点映射的是虚拟空间PlaceHolder。
图2中有阴影标识的方框SSD[0:n]为SSD真实容量空间、无阴影的方框SSD[0:n]-PH为虚拟空间Place Holder。
(2)业务软件能正确识别NVMe SSD的真实空间、虚拟空间Place Holder的差异,避免非法访问SSD数据存储空间;正常运行时,每个控制器节点只对映射的NVMe SSD真实容量空间进行访问,完成IO读写操作。例如Node 0对应的SSD0真实容量空间、Node1对应的SSD1真实容量空间等。SSD真实容量空间SSD[0:n]可实现IO读写操作,而虚拟空间Place Holder对应的SSD[0:n]-PH却无法实现IO读写操作,只有一个控制器节点对应SSD真实容量空间,避免了非法访问SSD数据存储空间。
(3)异常出现时,某个控制器节点故障离线,系统集群同步此故障状态给其余控制器节点,选出1个备用控制器;通过NVMe SSD热接入方式,把选出的备用控制器的虚拟空间Place Holder替换成NVMe SSD真实容量空间,保障此NVMe SSD的正常使用。例如控制器节点3故障,SSD3的真实容量空间可以任意映射给控制器节点1\2\3。
(4)极端异常时,4个控制器节点故障3个,所有的NVMe SSD都可以采用热接入方式,把分配给正常控制器节点的虚拟空间Place Holder替换成NVMe SSD真实容量空间;实现控制器节点1+3冗余的高可用,保障所有NVMe SSD的业务连续性。
本发明技术方案带来的有益效果包括:(1)采用PCIe4.0 Switch、通用NVMe SSD等已量产的芯片、部件等,系统整机采用现有成熟技术(控制器节点故障监控并同步给集群软件、集群软件完成故障节点切换等),业务软件实现NVMe SSD的4控共享访问,达到1+3冗余的高可靠和高可用要求;相比NVMe Over Fabric方案,硬件系统方案更简洁,成本更低。(2)后续支持SR-IOV的NVMe SSD上市成为主流后,系统硬件无需重新设计,通过软件适配修改,也可以实现NVMe SSD的4控共享。
实施例2
在实施例2中包含了与实施例1相同的发明构思,其差异在于,在实施例2中,PCIe开关(PCIe Switch)设有多个,每个控制器节点(Node)通过每个PCIe 开关与NVMe固态硬盘(NVMe SSD)连通。
如图3所示,集中式存储采用双端口NVMe SSD、2个PCIe Switch双平面、4个控制器节点组成的NVMe 4节点系统;支持控制器节点1+3冗余、双平面PCIe Switch支持1+1冗余、NVMe支持双端口访问,所有模块均实现冗余设计,无单点故障;系统可靠性和可用度更高。
在图3中,双端口NVMe SSD通过2个PCIe Switch双平面实现了两个端口的连接方式,图中点状阴影标识的方框SSD[0:n]-P0为SSD-Port0可访问的真实容量空间;斜线阴影标识的方框SSD[0:n]-P1为SSD-Port1可访问的真实容量空间;无阴影的方框SSD[0:n]-PH为虚拟空间Place Holder。
可理解的是,双端口NVMe SSD通过2个PCIe Switch双平面实现了两个端口的连接方式,能够进一步增加访问路径的冗余设置数量,进一步提高了数据传输的冗余性,可靠性更高。
实施例3
基于与实施例1相同的发明构思,如图4所示,本申请实施例3中提供的固态硬盘访问控制方法,包括以下步骤:
步骤S1,检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接;
步骤S2,设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接;
步骤S3,当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系正常,通过所述第一映射连接关系对应的控制器节点对该被访问的NVMe固态硬盘进行输入输出读写操作;若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。
其中,NVMe是Non-Volatile Memory Express的简称,表示非易失性内存主机控制器接口规范。SSD是Solid-State Disk的简称,表示固态硬盘。PCIe开关是PCIe switch的简称,表示高速串行计算机扩展总线标准开关。
在本实施例步骤S1中,在检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘时,还同步获取所述控制器节点的数量m+1。
在本实施例步骤S2中,设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系时,具体包括:
根据控制器节点数量m+1,对应每个NVMe固态硬盘构建1个真实容量空间和m个虚拟空间,所述虚拟空间为占位符;
将每个NVMe固态硬盘对应的真实容量空间映射至一个控制器节点中形成第一映射连接关系;将该NVMe固态硬盘对应的虚拟空间分别映射至其余的控制器节点中形成第二映射连接关系。
可理解的是,按照控制器节点的排列顺序,依次将连续排列的NVMe固态硬盘中的真实容量空间分别映射至m+1个控制器节点中。
具体的,在本实施例步骤S1中,在检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘时,还同步获取所述NVMe固态硬盘的数量n+1;其中n大于等于m。其中m、n均为正整数,本实施例优选控制器节点的数量m+1为4,m=3,即为4个控制器节点,只需普通NVMeSSD即可实现NVMe SSD 4控共享,满足1+3冗余,满足高可靠性的需求。
当n等于m时,按照NVMe固态硬盘的排列顺序,将连续排列的n+1个NVMe固态硬盘中的n+1个真实容量空间分别映射至m+1个控制器节点中;当n大于m时,按照NVMe固态硬盘的排列顺序,将连续排列的m+1个NVMe固态硬盘设为一组,该组中的m+1个真实容量空间分别映射至m+1个控制器节点中,其余组按照相同的映射规律将真实容量空间分别映射至不同的控制器节点中。
在本实施例步骤S3中,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系,包括:通过NVMe固态硬盘热接入方式,把所述备用控制器的虚拟空间替换成该被访问的NVMe固态硬盘的真实容量空间。
在本实施例步骤S3中,在所述其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器时,还包括:
逐一检测其余控制器节点是否正常;若是,则选取检测正常的一个控制器节点作为该被访问的NVMe固态硬盘的备用控制器;若否,则删除出现异常的控制器节点,再次检测判断剩余的控制器节点是否正常,直至剩余至少一个控制器节点为正常;若剩余的控制器节点均异常,则发出报警信息。
在使用时,基于Broadcom公司PCIe4.0 Switch的PCIe Synthetic Mode(PCIe合成模块),通过BIOS和PCIe驱动提前预留PCIe资源、控制器节点故障检测、发生故障能快速进行故障切换、系统软件能识别SSD和Place Holder(占位符)区别,避免非法访问。
本实施例优选为4个控制器节点,NVMe 4节点系统正常上电、控制器节点异常等场景处理策略如下:
(1)NVMe 4节点系统正常上电,BIOS自检过程中,扫描PCIe设备,采用NVMe SSD实体空间+虚拟空间Place Holder方式分别向4个控制器节点申请PCIe预留资源空间;NVMeSSD的真实容量空间只映射给1个控制器节点,其他3个控制器节点映射的是虚拟空间PlaceHolder。
图2中有阴影标识的方框SSD[0:n]为SSD真实容量空间、无阴影的方框SSD[0:n]-PH为虚拟空间Place Holder。
(2)业务软件能正确识别NVMe SSD的真实空间、虚拟空间Place Holder的差异,避免非法访问SSD数据存储空间;正常运行时,每个控制器节点只对映射的NVMe SSD真实容量空间进行访问,完成IO读写操作。例如Node 0对应的SSD0真实容量空间、Node1对应的SSD1真实容量空间等。SSD真实容量空间SSD[0:n]可实现IO读写操作,而虚拟空间Place Holder对应的SSD[0:n]-PH却无法实现IO读写操作,只有一个控制器节点对应SSD真实容量空间,避免了非法访问SSD数据存储空间。
(3)异常出现时,某个控制器节点故障离线,系统集群同步此故障状态给其余控制器节点,选出1个备用控制器;通过NVMe SSD热接入方式,把选出的备用控制器的虚拟空间Place Holder替换成NVMe SSD真实容量空间,保障此NVMe SSD的正常使用。例如控制器节点3故障,SSD3的真实容量空间可以任意映射给控制器节点1\2\3。
(4)极端异常时,4个控制器节点故障3个,所有的NVMe SSD都可以采用热接入方式,把分配给正常控制器节点的虚拟空间Place Holder替换成NVMe SSD真实容量空间;实现控制器节点1+3冗余的高可用,保障所有NVMe SSD的业务连续性。
实施例4
在实施例4中包含了与实施例2相同的发明构思,包含实施例3的全部技术特征,与实施例3的其差异在于,在实施例2中,PCIe开关(PCIe Switch)设有多个,每个控制器节点(Node)通过每个PCIe 开关与NVMe固态硬盘(NVMe SSD)连通。
在本实施例步骤S1中,在检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘时,还同步获取每个PCIe开关上连接的所述控制器节点的数量m+1及所述NVMe固态硬盘的数量n+1。
在本实施例步骤S2中,对应每个PCIe开关,设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系。
本实施例中,还设置其中的一个PCIe开关为开启状态,其余的PCIe开关为关闭状态。当任意一个NVMe固态硬盘被访问时,在当初始设置为开启状态的PCIe开关无法连通时,将其余的PCIe开关中一个正常的PCIe开关的关闭状态修改为开启状态。
具体的,所述将其余的PCIe开关中一个正常的PCIe开关的关闭状态修改为开启状态,包括:逐一检测其余的PCIe开关是否正常;若是,则选取检测正常的一个PCIe开关,并将其关闭状态修改为开启状态;若否,则删除出现异常的PCIe开关,再次检测判断剩余的PCIe开关是否正常,直至剩余至少一个PCIe开关为正常。
在逐一检测其余PCIe开关是否正常时,若剩余的PCIe开关均异常,则发出报警信息。
请参阅图2、图3,在本实施例步骤S2中,所述将每个NVMe固态硬盘对应的真实容量空间和虚拟空间分别映射至不同的控制器节点中,包括:
按照控制器节点的排列顺序,依次将连续排列的NVMe固态硬盘中的真实容量空间分别映射至每个PCIe 开关对应的m+1个控制器节点中。
具体的,其中n大于等于m。其中m、n均为正整数,本实施例优选控制器节点的数量m+1为4,m=3,即为4个控制器节点,只需普通NVMe SSD即可实现NVMe SSD 4控共享,满足1+3冗余,满足高可靠性的需求。
当n等于m时,按照NVMe固态硬盘的排列顺序,将连续排列的n+1个NVMe固态硬盘中的n+1个真实容量空间分别映射至每个PCIe 开关对应的m+1个控制器节点中;其中不同的PCIe 开关对应同一个控制器节点中的真实容量空间所在的NVMe固态硬盘不同;当n大于m时,按照NVMe固态硬盘的排列顺序,将连续排列的m+1个NVMe固态硬盘设为一组,该组中的m+1个真实容量空间分别映射至每个PCIe 开关对应的m+1个控制器节点中,其中不同的PCIe开关对应同一个控制器节点中的真实容量空间所在的NVMe固态硬盘不同;其余组按照相同的映射规律将真实容量空间分别映射至不同的控制器节点中。
可理解的是,双端口NVMe SSD通过2个PCIe Switch双平面实现了两个端口的连接方式,能够进一步增加访问路径的冗余设置数量,进一步提高了数据传输的冗余性,可靠性更高。
上述实施例1至实施例4中的固态硬盘访问控制方法中,通过将每个NVMe固态硬盘对应的真实容量空间和虚拟空间分别映射至不同的控制器节点中,设置每个控制器节点只对映射的NVMe固态硬盘真实容量空间进行访问,避免了非法访问固态硬盘数据存储空间的情形,而且多个控制器节点均可将其映射的虚拟空间修改为真实容量空间后实现对NVMe固态硬盘的访问,实现了多个访问路径的冗余设置,提高了数据传输的冗余性,可靠性高。
应该理解的是,虽然图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种固态硬盘访问控制装置10,包括:上电检测模块1、映射路径管理模块2、访问管理模块3。
所述上电检测模块1用于检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接;所述上电检测模块1还用于同步检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接。
所述映射路径管理模块2用于设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接;具体的,设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接。
所述访问管理模块3用于将每个NVMe固态硬盘对应的真实容量空间映射至一个控制器节点中形成第一映射连接关系;将该NVMe固态硬盘对应的虚拟空间分别映射至其余的控制器节点中形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接。具体当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系正常,通过所述第一映射连接关系对应的控制器节点对该被访问的NVMe固态硬盘进行输入输出读写操作;若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。
在本实施例所述映射路径管理模块2中,设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系时,具体包括:
根据控制器节点数量m+1,对应每个NVMe固态硬盘构建1个真实容量空间和m个虚拟空间,所述虚拟空间为占位符;
将每个NVMe固态硬盘对应的真实容量空间映射至一个控制器节点中形成第一映射连接关系;将该NVMe固态硬盘对应的虚拟空间分别映射至其余的控制器节点中形成第二映射连接关系。
可理解为:按照控制器节点的排列顺序,依次将连续排列的NVMe固态硬盘中的真实容量空间分别映射至m+1个控制器节点中。
具体的,其中n大于等于m;其中m、n均为正整数,本实施例优选控制器节点的数量m+1为4,m=3,即为4个控制器节点,只需普通NVMe SSD即可实现NVMe SSD 4控共享,满足1+3冗余,满足高可靠性的需求。
当n等于m时,按照NVMe固态硬盘的排列顺序,将连续排列的n+1个NVMe固态硬盘中的n+1个真实容量空间分别映射至m+1个控制器节点中;当n大于m时,按照NVMe固态硬盘的排列顺序,将连续排列的m+1个NVMe固态硬盘设为一组,该组中的m+1个真实容量空间分别映射至m+1个控制器节点中,其余组按照相同的映射规律将真实容量空间分别映射至不同的控制器节点中。
在本实施例所述访问管理模块3中,在所述任意一个NVMe固态硬盘被访问时,包括:
当映射有该NVMe固态硬盘的真实容量空间的控制器节点出现故障离线时,将出现故障离线的控制器节点状态传输给其余控制器节点;
在其余控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,通过NVMe固态硬盘热接入方式,把所述备用控制器的虚拟空间替换成该被访问的NVMe固态硬盘的真实容量空间。
也就是说,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系,包括:通过NVMe固态硬盘热接入方式,把所述备用控制器的虚拟空间替换成该被访问的NVMe固态硬盘的真实容量空间。
在本实施例所述访问管理模块3中,在所述其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器时,还包括:
逐一检测其余控制器节点是否正常;若是,则选取检测正常的一个控制器节点作为该被访问的NVMe固态硬盘的备用控制器;若否,则删除出现异常的控制器节点,再次检测判断剩余的控制器节点是否正常,直至剩余至少一个控制器节点为正常;若剩余的控制器节点均异常,则发出报警信息。
在本实施例中,所述PCIe开关设有多个,每个控制器节点(Node)通过每个PCIe 开关与NVMe固态硬盘连通。
所述上电检测模块1在检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘时,还用于检测PCIe开关的数量,同步获取每个PCIe开关上连接的所述控制器节点的数量m+1及所述NVMe固态硬盘的数量n+1。
所述映射路径管理模块2还用于对应每个PCIe开关,设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系。
所述访问管理模块3还用于设置其中的一个PCIe开关为开启状态,其余的PCIe开关为关闭状态。在当初始设置为开启状态的PCIe开关无法连通时,将其余的PCIe开关中一个正常的PCIe开关的关闭状态修改为开启状态。
此时,将每个NVMe固态硬盘对应的真实容量空间和虚拟空间分别映射至不同的控制器节点中,包括:
按照控制器节点的排列顺序,依次将连续排列的NVMe固态硬盘中的真实容量空间分别映射至每个PCIe 开关对应的m+1个控制器节点中。
在本实施例中,其中n大于等于m;其中m、n均为正整数,本实施例优选控制器节点的数量m+1为4,m=3,即为4个控制器节点,只需普通NVMe SSD即可实现NVMe SSD 4控共享,满足1+3冗余,满足高可靠性的需求。
当n等于m时,按照NVMe固态硬盘的排列顺序,将连续排列的n+1个NVMe固态硬盘中的n+1个真实容量空间分别映射至每个PCIe 开关对应的m+1个控制器节点中;其中不同的PCIe 开关对应同一个控制器节点中的真实容量空间所在的NVMe固态硬盘不同;当n大于m时,按照NVMe固态硬盘的排列顺序,将连续排列的m+1个NVMe固态硬盘设为一组,该组中的m+1个真实容量空间分别映射至每个PCIe 开关对应的m+1个控制器节点中,其中不同的PCIe开关对应同一个控制器节点中的真实容量空间所在的NVMe固态硬盘不同;其余组按照相同的映射规律将真实容量空间分别映射至不同的控制器节点中。
上述固态硬盘访问控制装置10中,通过将每个NVMe固态硬盘对应的真实容量空间和虚拟空间分别映射至不同的控制器节点中,设置每个控制器节点只对映射的NVMe固态硬盘真实容量空间进行访问,避免了非法访问固态硬盘数据存储空间的情形,而且多个控制器节点均可将其映射的虚拟空间修改为真实容量空间后实现对NVMe固态硬盘的访问,实现了多个访问路径的冗余设置,提高了数据传输的冗余性,可靠性高。
关于固态硬盘访问控制装置的具体限定可以参见上文中对于固态硬盘访问控制方法的限定,在此不再赘述。上述固态硬盘访问控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储固态硬盘访问控制数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种固态硬盘访问控制方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接;
设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接;
当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系正常,通过所述第一映射连接关系对应的控制器节点对该被访问的NVMe固态硬盘进行输入输出读写操作;若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。
关于处理器执行计算机程序时实现步骤的具体限定可以参见上文中对于固态硬盘访问控制的方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接;
设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接;
当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系正常,通过所述第一映射连接关系对应的控制器节点对该被访问的NVMe固态硬盘进行输入输出读写操作;若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。
关于计算机程序被处理器执行时实现步骤的具体限定可以参见上文中对于固态硬盘访问控制的方法的限定,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种固态硬盘访问控制方法,其特征在于,包括:
检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接;
设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接;
当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系正常,通过所述第一映射连接关系对应的控制器节点对该被访问的NVMe固态硬盘进行输入输出读写操作;若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。
2.根据权利要求1所述的固态硬盘访问控制方法,其特征在于,
在检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘时,还同步获取所述控制器节点的数量m+1;
设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系时,具体包括:
根据控制器节点数量m+1,对应每个NVMe固态硬盘构建1个真实容量空间和m个虚拟空间,所述虚拟空间为占位符;
将每个NVMe固态硬盘对应的真实容量空间映射至一个控制器节点中形成第一映射连接关系;将该NVMe固态硬盘对应的虚拟空间分别映射至其余的控制器节点中形成第二映射连接关系。
3.根据权利要求2所述的固态硬盘访问控制方法,其特征在于,在检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘时,还同步获取所述NVMe固态硬盘的数量n+1;其中n大于等于m。
4.根据权利要求3所述的固态硬盘访问控制方法,其特征在于,
当n等于m时,按照NVMe固态硬盘的排列顺序,将连续排列的n+1个NVMe固态硬盘中的n+1个真实容量空间分别映射至m+1个控制器节点中;
当n大于m时,按照NVMe固态硬盘的排列顺序,将连续排列的m+1个NVMe固态硬盘设为一组,该组中的m+1个真实容量空间分别映射至m+1个控制器节点中,其余组按照相同的映射规律将真实容量空间分别映射至不同的控制器节点中。
5.根据权利要求1所述的固态硬盘访问控制方法,其特征在于,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系,包括:通过NVMe固态硬盘热接入方式,把所述备用控制器的虚拟空间替换成该被访问的NVMe固态硬盘的真实容量空间。
6.根据权利要求5所述的固态硬盘访问控制方法,其特征在于,在所述其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器时,还包括:
逐一检测其余控制器节点是否正常;若是,则选取检测正常的一个控制器节点作为该被访问的NVMe固态硬盘的备用控制器;若否,则删除出现异常的控制器节点,再次检测判断剩余的控制器节点是否正常,直至剩余至少一个控制器节点为正常。
7.根据权利要求6所述的固态硬盘访问控制方法,其特征在于,在逐一检测其余控制器节点是否正常时,若剩余的控制器节点均异常,则发出报警信息。
8.根据权利要求1所述的固态硬盘访问控制方法,其特征在于,所述PCIe开关设有多个,每个控制器节点通过每个PCIe 开关与NVMe固态硬盘连通;
在检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘时,还同步获取每个PCIe开关上连接的所述控制器节点的数量m+1及所述NVMe固态硬盘的数量n+1;
对应每个PCIe开关,设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;
设置其中的一个PCIe开关为开启状态,其余的PCIe开关为关闭状态。
9.根据权利要求8所述的固态硬盘访问控制方法,其特征在于,在当初始设置为开启状态的PCIe开关无法连通时,将其余的PCIe开关中一个正常的PCIe开关的关闭状态修改为开启状态。
10.根据权利要求9所述的固态硬盘访问控制方法,其特征在于,所述将其余的PCIe开关中一个正常的PCIe开关的关闭状态修改为开启状态,包括:
逐一检测其余的PCIe开关是否正常;若是,则选取检测正常的一个PCIe开关,并将其关闭状态修改为开启状态;若否,则删除出现异常的PCIe开关,再次检测判断剩余的PCIe开关是否正常,直至剩余至少一个PCIe开关为正常。
11.根据权利要求6所述的固态硬盘访问控制方法,其特征在于,在逐一检测其余PCIe开关是否正常时,若剩余的PCIe开关均异常,则发出报警信息。
12.一种固态硬盘访问控制装置,其特征在于,所述装置包括:
上电检测模块,用于检测连接至PCIe开关的所有控制器节点及所有NVMe固态硬盘,其中每个NVMe固态硬盘通过PCIe开关与所有的控制器节点连接;
映射路径管理模块,用于设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;所述第一映射连接关系为控制器节点与该NVMe固态硬盘的真实容量空间的映射连接,所述第二映射连接关系为控制器节点与该NVMe固态硬盘的虚拟空间的映射连接;
访问管理模块,用于在当任意一个NVMe固态硬盘被访问时,若所述第一映射连接关系正常,通过所述第一映射连接关系对应的控制器节点对该被访问的NVMe固态硬盘进行输入输出读写操作;若所述第一映射连接关系异常,则在其余的控制器节点中选出一个作为该被访问的NVMe固态硬盘的备用控制器,把所述备用控制器与该被访问的NVMe固态硬盘之间的第二映射连接关系修改为第一映射连接关系。
13.根据权利要求12所述的固态硬盘访问控制装置,其特征在于,
所述上电检测模块还用于检测PCIe开关的数量,当所述PCIe开关设有多个时,每个控制器节点通过每个PCIe 开关与NVMe固态硬盘连通;
所述映射路径管理模块还用于对应每个PCIe开关,设置每个NVMe固态硬盘与其中一个控制器节点之间形成第一映射连接关系,与其余的控制器节点之间形成第二映射连接关系;
所述访问管理模块还用于设置其中的一个PCIe开关为开启状态,其余的PCIe开关为关闭状态;在当初始设置为开启状态的PCIe开关无法连通时,将其余的PCIe开关中一个正常的PCIe开关的关闭状态修改为开启状态。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
CN202211404833.5A 2022-11-10 2022-11-10 固态硬盘访问控制方法、装置和计算机设备和存储介质 Active CN115454359B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211404833.5A CN115454359B (zh) 2022-11-10 2022-11-10 固态硬盘访问控制方法、装置和计算机设备和存储介质
PCT/CN2023/116126 WO2024098907A1 (zh) 2022-11-10 2023-08-31 固态硬盘访问控制方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211404833.5A CN115454359B (zh) 2022-11-10 2022-11-10 固态硬盘访问控制方法、装置和计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN115454359A true CN115454359A (zh) 2022-12-09
CN115454359B CN115454359B (zh) 2023-03-24

Family

ID=84295761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211404833.5A Active CN115454359B (zh) 2022-11-10 2022-11-10 固态硬盘访问控制方法、装置和计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN115454359B (zh)
WO (1) WO2024098907A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024098907A1 (zh) * 2022-11-10 2024-05-16 苏州元脑智能科技有限公司 固态硬盘访问控制方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102405460A (zh) * 2009-02-11 2012-04-04 艾梵尼达有限公司 虚拟存储系统及其运行方法
CN104571934A (zh) * 2013-10-18 2015-04-29 华为技术有限公司 一种内存访问的方法、设备和系统
CN106020723A (zh) * 2016-05-19 2016-10-12 记忆科技(深圳)有限公司 一种简化NVMe固态硬盘的方法
US20190188079A1 (en) * 2017-12-11 2019-06-20 Fungible, Inc. Durable block storage in data center access nodes with inline erasure coding
CN114489497A (zh) * 2022-01-14 2022-05-13 深圳市汇川技术股份有限公司 数据映射方法、服务端以及计算机可读存储介质
CN114860387A (zh) * 2022-06-08 2022-08-05 无锡众星微系统技术有限公司 一种面向虚拟化存储应用的hba控制器i/o虚拟化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4492084B2 (ja) * 2003-10-07 2010-06-30 株式会社日立製作所 ストレージパス制御方法
JP5232602B2 (ja) * 2008-10-30 2013-07-10 株式会社日立製作所 ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
US9201682B2 (en) * 2013-06-21 2015-12-01 Ati Technologies Ulc Virtualized device reset
US10713203B2 (en) * 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
CN115454359B (zh) * 2022-11-10 2023-03-24 苏州浪潮智能科技有限公司 固态硬盘访问控制方法、装置和计算机设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102405460A (zh) * 2009-02-11 2012-04-04 艾梵尼达有限公司 虚拟存储系统及其运行方法
CN104571934A (zh) * 2013-10-18 2015-04-29 华为技术有限公司 一种内存访问的方法、设备和系统
CN106020723A (zh) * 2016-05-19 2016-10-12 记忆科技(深圳)有限公司 一种简化NVMe固态硬盘的方法
US20190188079A1 (en) * 2017-12-11 2019-06-20 Fungible, Inc. Durable block storage in data center access nodes with inline erasure coding
CN114489497A (zh) * 2022-01-14 2022-05-13 深圳市汇川技术股份有限公司 数据映射方法、服务端以及计算机可读存储介质
CN114860387A (zh) * 2022-06-08 2022-08-05 无锡众星微系统技术有限公司 一种面向虚拟化存储应用的hba控制器i/o虚拟化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024098907A1 (zh) * 2022-11-10 2024-05-16 苏州元脑智能科技有限公司 固态硬盘访问控制方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
WO2024098907A1 (zh) 2024-05-16
CN115454359B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
US10642704B2 (en) Storage controller failover system
US6934878B2 (en) Failure detection and failure handling in cluster controller networks
US11137940B2 (en) Storage system and control method thereof
US8479037B1 (en) Distributed hot-spare storage in a storage cluster
US20100083040A1 (en) Expander Circuit For A Solid State Persistent Storage Device That Provides A Plurality Of Interfaces To Corresponding Storage Controllers
CN111294845B (zh) 节点切换方法、装置、计算机设备和存储介质
CN115454359B (zh) 固态硬盘访问控制方法、装置和计算机设备和存储介质
WO2019062856A1 (zh) 数据重构方法及装置、数据存储系统
KR20170094482A (ko) 다중 포트 메모리 장치 및 그것을 이용한 방법
CN114868117A (zh) 通过控制总线进行的对等存储设备消息传送
US10860224B2 (en) Method and system for delivering message in storage system
CN112543922A (zh) 一种提高存储系统可靠性的方法和相关装置
CN110674539B (zh) 一种硬盘保护设备、方法及系统
CN116467120A (zh) 主主架构的数据库部署方法、数据库访问方法及装置
CN114936115A (zh) 一种数据存储备份方法、装置、计算机设备和存储介质
JP5511546B2 (ja) フォールトトレラントの計算機システム、複数の物理サーバとストレージ装置とに接続されるスイッチ装置、及び、サーバ同期制御方法
US20220391116A1 (en) Control Device Switching Method, Control Device, and Storage System
CN114415981A (zh) 一种多控存储系统的io处理方法、系统及相关组件
EP2946300B1 (en) Sata initiator addressing and storage device slicing
EP3869314A1 (en) Control device switching method, control device and storage system
CN115686901B (zh) 内存故障分析方法及计算机设备
CN111949213B (zh) 内存颗粒访问控制芯片、内存颗粒的访问控制系统及方法
WO2023143039A1 (zh) 一种数据处理方法及装置
RU2810634C2 (ru) Способ повышения надежности систем хранения данных и соответствующее устройство
US7584271B2 (en) Method, system, and computer readable medium for delaying the configuration of a shared resource

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