CN108694021B - 使用基板管理控制器配置存储设备的系统和方法 - Google Patents

使用基板管理控制器配置存储设备的系统和方法 Download PDF

Info

Publication number
CN108694021B
CN108694021B CN201810287581.XA CN201810287581A CN108694021B CN 108694021 B CN108694021 B CN 108694021B CN 201810287581 A CN201810287581 A CN 201810287581A CN 108694021 B CN108694021 B CN 108694021B
Authority
CN
China
Prior art keywords
nvme
computer
storage device
bmc
settings
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
Application number
CN201810287581.XA
Other languages
English (en)
Other versions
CN108694021A (zh
Inventor
S.P.奥拉里格
S.T.彭
R.P.卡查尔
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN108694021A publication Critical patent/CN108694021A/zh
Application granted granted Critical
Publication of CN108694021B publication Critical patent/CN108694021B/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0629Configuration or reconfiguration of storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/344Out-of-band transfers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/357Fibre channel switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)

Abstract

本文公开了一种计算机存储阵列,所述计算机存储阵列向一个或多个远程发起者提供对连接到存储阵列的一个或多个存储设备的NVMe over fabric(NVMe‑oF)访问。根据示例实施例,所述计算机存储阵列包括:计算机处理器,被配置为运行用于管理联网协议的操作系统;网络交换机,被配置为在所述发起者与所述存储设备之间建立NVMe‑oF连接并路由数据;基板管理控制器(BMC),被配置为配置所述存储设备的网络设置或NVMe‑oF设置;PCIe交换机,通过PCIe总线将BMC与每个存储设备相连接;以及包括所述PCIe总线的计算机主板,并且所述计算机处理器、网络交换机、BMC和PCIe交换机被安装到所述计算机主板。

Description

使用基板管理控制器配置存储设备的系统和方法
相关申请的交叉参考
本申请要求于2017年4月3日提交的标题为“Method of Configuring NetworkingControllers and Settings of NVMe-oF Devices via Control Plane(BMC)”的美国临时专利申请No.62/480,670的优先权和权益,通过引用将其全部内容并入本文。
技术领域
本公开涉及计算机存储阵列。具体而言,本公开涉及配置连接到计算机存储阵列的目标存储设备的系统和方法。
背景技术
计算机存储阵列(也称为磁盘阵列)通常是数据存储系统,诸如硬盘驱动器(HDD)和固态磁盘驱动器(SSD)之类的多个数据存储设备连接到该数据存储系统。计算机存储阵列被设计成具有高度可扩展性,并向多个发起者(可能是端点客户端、计算机服务器和/或其他数据消费者)提供共享数据访问。
由于其高性能和可扩展性,支持Non-Volatile Memory Express(非易失性存储器标准)over Fabrics(NVMe-oF)规范的存储设备(为了方便,在下文中称为“NVMe-oF设备”)变得越来越流行,尤其是对于在计算机存储阵列中的使用而言。NVMe-oF是一项技术规范,旨在使基于NVMe消息的命令能够通过网络(如以太网,光纤通道和InfiniBand)在发起者(如主机)与NVMe-oF设备或系统之间传输数据。因此,NVMe-OF设备通常包括联网设备(例如,具有(多个)以太网控制器)和存储设备(例如,具有(多个)SSD)两者的功能。
作为联网设备,在发起者可以建立与NVMe-oF设备的NVMe-oF连接之前,需要配置NVMe-oF设备的联网设置。一种可能的解决方案是开发用于Linux和Windows的NVMe-oF设备驱动程序,类似于网络接口控制器(NIC)或诸如RAID供应商的主机总线适配器。提供设备驱动程序的优点类似于通过使用现有的网络配置工具配置网络控制卡的现有的方法。然而,这不是典型的商业模式,存储厂商可能没有能力为Linux和Windows开发新的存储设备驱动程序,维护每个发行版的设备驱动程序,并支持Linux开源社区。
另一种现有技术的方法是分配给每个NVMe-oF设备主机已知的默认静态IP地址。在这种情况下,所有NVMe-oF设备最初将具有相同的静态默认IP地址。NVMe-oF的网络接口可以通过网络设备驱动程序进行配置,也可以由制造商进行硬编码。不幸的是,这种模式不适合当前的标准存储设备,因为只有存储协议驱动程序(而不是设备配置)被提供给这些存储设备。主机经由默认IP地址与目标通信后,可以更改IP地址。但是,这是一个缓慢的过程,因为一些NVMe-oF设备可能连接到不同的发起者。另外,当所有NVMe-oF连接到以太网交换机并且它们都具有相同的IP地址时,这可能不起作用。此外,NVMe-oF标准规范并未公开如何操作。根据目前公开的系统和方法,更好的解决方案是使用户或系统管理员能够在系统初始化期间通过控制平面动态地配置这些设备。正确配置NVMe-oF可能有其他要求。例如,可能需要根据其所需支持的RDMA协议(RoCE2vsiWARP)来配置NVMe-oF设备。
尽管计算机存储阵列的本地计算机处理单元(CPU)可以用于配置经由控制平面连接到CPU的NVMe-oF设备的网络设置(例如,IP地址),但是这样做将需要CPU在同步和异步进程之间执行上下文切换,从而增加了崩溃存储阵列的机会。当需要配置连接到存储阵列的多个NVMe-oF设备时,崩溃的机会增加。此外,目前的NVMe-oF规范没有规定如何经由控制平面配置NVMe-oF设备的以太网控制器。因此,使用存储阵列的CPU来配置NVMe-oF设备可能是不可取的。
作为存储设备,NVMe-oF设备的NVMe-oF设置还需要在运行数据通信之前进行配置。尽管存储阵列的本地CPU也可以用于配置NVMe-oF设备的NVMe-oF设置(例如,NVMe限定名称、管理员提交队列的大小等),但是由于上面讨论的原因,这可能也不可取。如果一个或多个发起者已经与NVMe-oF设备建立了网络连接,则发起者也可以配置NVMe-oF设备的NVMe-oF设置。但是,每个发起者都必须配置自己的目标NVMe-oF设备,这会使配置过程复杂化。此外,因为发起者通过数据平面而不是控制平面连接到NVMe-oF设备,所以赋予发起者配置NVMe-oF设备的任务可能花费更长的时间,并且对系统准备好数据传输的时间产生负面影响。因此,发起者配置NVMe-oF设备可能是不可取的。
发明内容
本文公开了一种计算机存储阵列,其向一个或多个远程发起者提供到连接到存储阵列的一个或多个存储设备的NVMe over fabric(NVMe-oF)访问。根据示例实施例,计算机存储阵列包括:计算机处理器,被配置为运行用于管理联网协议的操作系统;网络交换机,被配置为在发起者与存储设备之间建立NVMe-oF连接并路由数据;基板管理控制器(BMC),被配置为配置存储设备的网络设置或NVMe-oF设置;PCIe交换机,经由PCIe总线将BMC与每个存储设备连接;以及计算机主板,包括所述PCIe总线,并且计算机处理器、网络交换机、BMC和PCIe交换机被安装到计算机主板。
本文还公开了一种配置连接到计算机存储阵列的一个或多个存储设备的计算机实现的方法,计算机存储阵列包括被配置为运行用于管理联网协议的操作系统的计算机处理器,以及被配置为配置存储设备的网络设置或NVMe-oF设置的基板管理控制器(BMC),该BMC由本地PCIe交换机经由PCIe总线连接至每个存储设备。根据示例性实施例,该方法包括:由BMC从管理服务器接收用于配置存储设备的网络设置或NVMe-oF设置的命令和参数值;以及由BMC根据从管理服务器接收到的命令和参数值来配置存储设备的网络设置或NVMe-oF设置。
附图说明
作为本公开的一部分被包括的附图示出了各种实施例,并且与上面给出的一般描述以及下面给出的各种实施例的详细描述一起,用于解释和教导这里描述的原理。
图1示出了根据本系统和方法的实施例的利用BMC来配置NVMe-oF存储设备的网络和/或NVMe-oF设置的示例计算机存储阵列。
图2示出了根据本系统和方法的实施例的用于使用BMC配置一个或多个NVMe-oF存储设备的示例操作的流程图。
出于说明的目的,在整个附图中,附图中的图不一定按比例绘制,并且类似结构或功能的元件通常由相同的附图标记表示。附图仅旨在便于描述本文描述的各种实施例,并且不描述本文公开的教导的每个方面,并且不限制权利要求的范围。
具体实施方式
本文公开的特征和教导中的每一个可以单独使用或者与其他特征和教导结合使用以提供本系统和方法。参考附图来分别地和组合地描述利用这些特征和教导中的许多特征和教导的代表性示例。虽然本文中的详细描述向本领域的普通技术人员示出了用于实践本教导的各方面的进一步的细节,但是其不限制权利要求的范围。因此,在详细描述中公开的特征的组合是本教导的代表性示例,并且可能不是从广义上实践教导所必需的。
根据本系统和方法的示例性实施例,基板管理控制器(BMC)可以用于经由计算机存储阵列的控制平面来配置NVMe-oF存储设备的网络和/或NVMe-OF设置。BMC是嵌入在计算机存储阵列、服务器、交换机等中的低功耗控制器,并连接到机箱传感器(如温度传感器、电源电压传感器和湿度传感器),以读取环境条件并控制各种设备。BMC还可以通过本地系统总线(如外围组件互连快速(PCIe)总线和系统管理总线(SMBus))访问和控制NVMe-oF设备。因此,BMC处于配置NVMe-oF设备的网络和/或NVMe-oF设置的独特位置。
图1示出了根据本系统和方法的实施例的利用BMC来配置NVMe-oF存储设备的网络和/或NVMe-oF设置的示例计算机存储阵列。计算机存储阵列100包括计算机主板101、本地CPU 102、BMC 103、PCIe交换机104、网络交换机105和多个存储设备106。在这种情况下,存储设备106可以是包括以太网端口、PCIe端口和SMBus端口的以太网启用的SSD(Ethernet-enabled SSDs,eSSD),并且网络交换机105可以是以太网交换机。计算机存储阵列100向一个或多个远程发起者107(例如,107a,107b)提供对连接到存储阵列100的一个或多个存储设备106的访问。
根据示例实施例,本地CPU 102、BMC 103、PCIe交换机104和网络交换机105可以被集成或者内置到主板101中,或者可以作为分立组件被安装到主板101上。计算机主板101包括以太网连接、PCIe总线和SMBus。本地CPU 102被配置为运行用于管理联网协议的操作系统。网络交换机105被配置为在发起者107和存储设备106之间建立NVMe-oF连接和路由数据。例如,一个发起者和一个目标设备可以由网络交换机105连接成对于给定会话的一对(as a pair for a given session)。PCIe交换机104经由PCIe总线将BMC103与每个存储设备106相连接。
BMC103被配置为根据从管理服务器108接收到的命令和参数值来配置存储设备106的网络设置和/或NVMe-OF设置。BMC103经由与经由以太网连接建立的NVMe-oF连接分离的带外连接(out-of-band connection)与管理服务器108通信。BMC 103可以使用智能平台管理接口(IPMI)从管理服务器108接收命令和参数值。IPMI是计算机子系统(如BMC 103)的一组计算机接口规范,提供独立于系统本地CPU、固件和操作系统的管理和监视功能。
例如,为了设置存储设备106的网络设置,管理服务器108可以向BMC103发送新的“设置网络配置”命令。“设置网络配置”命令,以及类似地,“获取网络配置”命令目前不是标准IPMI命令集的一部分,但可以实现为供应商特定的IPMI命令。因此,这些新的命令启用了现有系统和方法中不存在的附加功能。管理服务器108还可以向BMC 103发送用于配置网络设置的参数值,例如要配置的存储设备的IP地址。
详情参见下表。
NVMe-oF设备网络配置-命令DwordXX
描述
31:08 保留
07:00 数据字节的数量
“设置功能-NVMe-oF设备网络配置”数据
Figure BDA0001616441220000061
类似地,为了设置存储设备106的NVMe-oF设置,管理服务器108可以向BMC 103发送新的“设置NVMe-oF配置”命令,其也可以被实现为OEM可配置的IPMI命令。管理服务器108还可以向BMC 103发送用于配置要配置的存储设备的NVMe-oF设置的参数值,例如提交队列大小和/或NVMe限定名称。
在接收到命令和参数值之后,BMC 103可以根据来自管理服务器108的指令(其可以由系统管理员控制)将命令和参数应用于存储设备106中的一个或所有存储设备106。如果指示BMC 103将命令和参数值应用到所有存储设备106,则BMC 103根据命令和参数值来对每个存储设备进行优化配置。否则,BMC 103仅配置目标存储设备。
BMC 103可以经由PCIe总线和/或SMBus在管理组件传输协议(MCTP)上使用NVMe管理接口(NVMe-MI)协议来配置存储设备106的网络设置和/或NVMe-oF设置。具体地,BMC103可以将从管理服务器接收到的IPMI命令和参数值重新格式化和/或封装到NVMe-MI消息中,然后经由PCIe总线和/或SMBus将其作为MCTP分组发送到存储设备106。
例如,为了配置存储设备106的网络设置,BMC 103可以经由PCIe或SMBus向存储设备106发送新的“设置配置-NVMe-oF网络设置”命令。该命令的“NVMe-OF网络设置”部分,当前不是标准NVMe-MI命令集的一部分,可以被实现为供应商特定字段。类似地,为了配置存储设备106的NVMe-oF设置,BMC103可以经由PCIe或SMBus向存储设备106发送新的“设置配置-NVMe-oF设置”命令。该命令的“NVMe-oF设置”部分当前不是标准NVMe-MI命令集的一部分,也可以实现为供应商特定字段。
NVMe-oF配置可以是NVMe-oF发现日志页面字段的一部分。以下是NVMe-oF配置的示例:
Figure BDA0001616441220000071
图2示出了根据本系统和方法的实施例的用于使用BMC配置一个或多个NVMe-oF存储设备的示例操作的流程图。BMC从管理服务器接收命令和参数值,用于配置存储设备的网络设置和/或NVMe-oF设置(在201)。BMC确定命令是否包含指定将命令和参数应用于所有存储设备的命令参数(在202)。如果BMC确定该命令包含该命令参数(在202),则BMC根据命令和参数值迭代地配置每个存储设备(在205)。当BMC确定已经配置了所有存储设备(在204)时,命令完成(在206)。如果BMC确定该命令不包含该命令参数(在202),则BMC根据命令和参数值仅配置存储器设备(在203)并且命令完成(在206)。
如传统所实施的,BMC作为根联合体设备(root complex device)操作,其中CPU具有对BMC的单向控制。换句话说,传统的BMC接收来自CPU的指令,不独立于CPU工作。相反,根据本系统和方法的示例实施例,BMC可以被实现为使得BMC独立于和不受计算机存储阵列的CPU的干预而操作。换句话说,BMC可以作为终端设备操作。通过不需要CPU干预BMC对存储设备的配置,实现了数据平面与控制平面的更清晰的界定,并且由于同步和异步进程之间的上下文切换较少,计算机存储阵列可能不易于崩溃。
因此,鉴于上述情况,本系统和方法的实施例提供了利用BMC经由计算机存储阵列的控制平面配置NVMe-oF设备的网络和/或NVMe-oF设备设置,其使得系统初始化后配置更快。此外,因为本系统和方法不需要修改计算机存储阵列的数据面,所以发起者仍然能够配置NVMe-oF设备的网络和/或NVMe-oF设置。
本系统和方法的各种实施例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件示例可以包括软件组件、程序、应用程序、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子程序、功能、方法、过程、软件接口、应用程序接(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据任何数量的因素而变化,诸如期望的计算速率、功率水平、热容差、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能限制。
至少一个实施例的一个或多个方面可以通过存储在机器可读介质上的代表性指令来实现,其表示处理器内的各种逻辑,当由机器读取时机器致使机器制造逻辑(fabricate logic)以执行本文所描述的技术。称为“IP核”的这种表示可以被存储在有形的机器可读介质上,并被提供给各种客户或制造设施,以加载到实际做出逻辑的制造机器或处理器中。
尽管已经参照各种实施方式描述了本文中描述的某些特征,但是该描述不意图被解释为限制性的意思。因此,本文所描述的实现的各种修改以及其他实现对于本公开所属领域的技术人员来说显而易见的,并被认为是在本公开的精神和范围之内。
出于解释的目的,前面的描述已经参照具体实施例进行了描述。然而,上面的说明性讨论并不是穷举性的或者将权利要求的范围限制为所公开的确切形式。鉴于上述教导,许多修改和变化是可能的。选择实施例是为了最好地解释权利要求及其实际应用的基本原理,从而使得本领域的其他技术人员能够以适合于预期的特定用途的各种修改来最佳地使用实施例。

Claims (19)

1.一种计算机存储阵列,向一个或多个远程发起者提供对连接到所述存储阵列的一个或多个存储设备的NVMe over Fabrics(NVMe-oF)访问,所述计算机存储阵列包括:
计算机处理器,被配置为运行用于管理联网协议的操作系统;
网络交换机,被配置为在所述发起者和所述一个或多个存储设备之间建立NVMe-oF连接并路由数据;
基板管理控制器BMC,被配置为配置所述存储设备的网络设置或NVME-oF设置;
PCIe交换机,经由PCIe总线将BMC与所述存储设备中的每一个相连接;以及
计算机主板,包括PCIe总线,并且计算机处理器、网络交换机、BMC和PCIe交换机被安装到所述计算机主板上,
其中,所述BMC从管理服务器接收用于配置所述存储设备中的存储设备的网络设置或NVMe-oF设置的配置命令,并且根据所述配置命令动态地配置所述存储设备的网络设置或NVMe-oF设置。
2.如权利要求1所述的计算机存储阵列,其中,所述BMC作为端点设备而不是根联合体设备进行操作,并且独立于所述计算机处理器并且不受所述计算机处理器的干预来配置所述存储设备的网络设置或NVMe-oF设置。
3.如权利要求1所述的计算机存储阵列,其中,所述BMC经由带外连接接收所述配置命令,将所述配置命令重新格式化为与所述计算机存储阵列的控制平面兼容的分组,并且将所述分组通过所述控制平面发送到所述存储设备,并且所述带外连接与所述NVMe-oF连接分离。
4.如权利要求3所述的计算机存储阵列,其中,所述配置命令包括用于配置所述存储设备的参数值。
5.如权利要求4所述的计算机存储阵列,其中,所述BMC被配置为根据从所述管理服务器接收的所述配置命令和所述参数值来配置所述存储设备的网络设置或NVMe-oF设置。
6.如权利要求5所述的计算机存储阵列,其中,所述控制平面包括PCIe总线,并且其中,所述BMC被配置为使用NVMe管理接口NVMe-MI协议通过所述PCIe总线来配置所述存储设备的网络设置或NVMe-oF设置。
7.如权利要求5所述的计算机存储阵列,其中,所述控制平面包括系统管理总线SMBus,并且其中,所述BMC被配置为使用NVMe-MI协议通过所述SMBus配置所述存储设备的网络设置或NVMe-oF设置。
8.如权利要求6所述的计算机存储阵列,其中,所述BMC被配置为使用智能平台管理接口IPMI从所述管理服务器接收所述配置命令和所述参数值。
9.如权利要求8所述的计算机存储阵列,其中,所述存储设备的网络设置包括所述存储设备的IP地址。
10.如权利要求8所述的计算机存储阵列,其中,所述存储设备的所述NVMe-oF设置包括所述存储设备的提交队列大小和NVMe限定名称中的至少一个。
11.如权利要求4所述的计算机存储阵列,其中,所述BMC被配置为根据指示所述参数值应用于所有所述存储设备的所述配置命令的所述参数值来迭代地配置所述存储设备中的每一个。
12.如权利要求1所述的计算机存储阵列,其中,每个存储设备是以太网使能的并且包括PCIe端口和以太网端口。
13.一种配置连接到计算机存储阵列的一个或多个存储设备的计算机实现的方法,所述计算机存储阵列包括被配置为运行用于管理联网协议的操作系统的计算机处理器,以及被配置为配置所述存储设备的网络设置或NVMe-oF设置的基板管理控制器BMC,所述BMC经由PCIe总线由PCIe交换机连接至所述存储设备中的每一个,所述方法包括:
由BMC从管理服务器接收配置命令和参数值,用于配置存储设备的网络设置或NVMe-oF设置;以及
由BMC根据从管理服务器接收到的所述配置命令和所述参数值动态地配置存储设备的网络设置或NVMe-oF设置。
14.如权利要求13所述的计算机实现的方法,其中,所述BMC经由带外连接接收所述配置命令,将所述配置命令重新格式化为与所述计算机存储阵列的控制平面兼容的分组,通过所述控制平面将所述分组发送到所述存储设备,并且根据NVMe管理接口NVMe-MI协议使用所述分组配置所述存储设备的所述网络设置或NVMe-oF设置。
15.如权利要求13所述的计算机实现的方法,其中,所述控制平面包括系统管理总线SMBus和PCIe总线,并且其中,所述BMC使用NVMe-MI协议来配置所述存储设备的网络设置或NVMe-oF设置。
16.如权利要求14所述的计算机实现的方法,其中,所述BMC使用智能平台管理接口IPMI从所述管理服务器接收所述配置命令和所述参数值。
17.如权利要求16所述的计算机实现的方法,其中,所述存储设备的网络设置包括所述存储设备的IP地址。
18.如权利要求16所述的计算机实现的方法,其中,所述存储设备的所述NVMe-oF设置包括所述存储设备的提交队列大小和NVMe限定名称中的至少一个。
19.如权利要求13所述的计算机实现的方法,还包括:
由所述BMC根据指示所述参数值应用于所有所述存储设备的所述配置命令的所述参数值迭代地配置所述存储设备中的每一个。
CN201810287581.XA 2017-04-03 2018-04-03 使用基板管理控制器配置存储设备的系统和方法 Active CN108694021B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762480670P 2017-04-03 2017-04-03
US62/480,670 2017-04-03
US15/489,416 2017-04-17
US15/489,416 US10459665B2 (en) 2017-04-03 2017-04-17 System and method of configuring NVMe-oF devices using a baseboard management controller (BMC)

Publications (2)

Publication Number Publication Date
CN108694021A CN108694021A (zh) 2018-10-23
CN108694021B true CN108694021B (zh) 2021-03-23

Family

ID=63672530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810287581.XA Active CN108694021B (zh) 2017-04-03 2018-04-03 使用基板管理控制器配置存储设备的系统和方法

Country Status (3)

Country Link
US (2) US10459665B2 (zh)
KR (1) KR102304678B1 (zh)
CN (1) CN108694021B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509592B1 (en) * 2016-07-26 2019-12-17 Pavilion Data Systems, Inc. Parallel data transfer for solid state drives using queue pair subsets
CN107688434B (zh) * 2016-08-04 2020-03-06 新华三信息技术有限公司 磁盘阵列raid配置方法和装置
US10733137B2 (en) * 2017-04-25 2020-08-04 Samsung Electronics Co., Ltd. Low latency direct access block storage in NVME-of ethernet SSD
US11102294B2 (en) * 2017-06-09 2021-08-24 Samsung Electronics Co., Ltd. System and method for supporting energy and time efficient content distribution and delivery
US10521376B1 (en) * 2018-03-15 2019-12-31 Seagate Technology Llc Enclosure management over PCIE
US10324878B1 (en) * 2018-07-13 2019-06-18 Dell Products L.P. System and method of multiplexing communications
US11231764B2 (en) * 2018-10-17 2022-01-25 Samsung Electronics Co., Ltd. System and method for supporting chassis level keep alive in NVME-of based system
CN109542357B (zh) * 2018-12-03 2022-03-08 郑州云海信息技术有限公司 一种命令参数组装方法、系统、设备及计算机存储介质
US11366610B2 (en) 2018-12-20 2022-06-21 Marvell Asia Pte Ltd Solid-state drive with initiator mode
US11132315B2 (en) * 2019-02-04 2021-09-28 American Megatrends International, Llc Secured and out-of-band (OOB) server san solution on a commodity storage box
WO2020183444A1 (en) 2019-03-14 2020-09-17 Marvell Asia Pte, Ltd. Transferring data between solid state drives (ssds) via a connection between the ssds
WO2020183246A2 (en) 2019-03-14 2020-09-17 Marvell Asia Pte, Ltd. Termination of non-volatile memory networking messages at the drive level
CN113767361A (zh) 2019-03-14 2021-12-07 马维尔亚洲私人有限公司 启用以太网的固态驱动器(ssd)
US10795846B1 (en) * 2019-07-15 2020-10-06 Cisco Technology, Inc. Scalable NVMe storage management over system management bus
CN110471627B (zh) * 2019-08-19 2022-06-21 北京首都在线科技股份有限公司 一种共享存储的方法、系统及装置
US11113001B2 (en) * 2019-08-30 2021-09-07 Hewlett Packard Enterprise Development Lp Fabric driven non-volatile memory express subsystem zoning
US10901930B1 (en) * 2019-10-21 2021-01-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Shared virtual media in a composed system
US11683371B2 (en) * 2019-11-12 2023-06-20 Marvell Asia Pte Ltd Automotive network with centralized storage
US11256448B2 (en) 2019-12-16 2022-02-22 Samsung Electronics Co., Ltd. Network storage gateway
CN111459863B (zh) * 2020-03-08 2021-09-28 苏州浪潮智能科技有限公司 一种基于nvme-mi的机箱管理系统及方法
CN111459417B (zh) * 2020-04-26 2023-08-18 中国人民解放军国防科技大学 一种面向NVMeoF存储网络的无锁传输方法及系统
US11770271B2 (en) 2020-08-21 2023-09-26 Samsung Electronics Co., Ltd. Data center
CN112596669A (zh) * 2020-11-25 2021-04-02 新华三云计算技术有限公司 一种基于分布式存储的数据处理方法及装置
CN112579507A (zh) * 2021-01-08 2021-03-30 中电科技(北京)有限公司 宿主机与bmc通信的方法、bios、操作系统、bmc和服务器
US11818031B2 (en) 2021-03-04 2023-11-14 Dell Products L.P. Automated internet protocol (IP) route update service for ethernet layer 3 (L3) IP storage area networks (SANs)
US11805171B2 (en) * 2021-03-04 2023-10-31 Dell Products L.P. Automated ethernet layer 3 (L3) connectivity between non-volatile memory express over fabric (NVMe-oF) hosts and NVM-oF subsystems using bind
CN115080479B (zh) * 2022-06-14 2024-03-26 阿里巴巴(中国)有限公司 传输方法、服务器、设备、裸金属实例及基板管理控制器
CN116959549B (zh) * 2023-09-20 2023-11-28 四川华鲲振宇智能科技有限责任公司 一种自动化硬盘组阵列方法及设备、介质
CN117499347B (zh) * 2023-12-29 2024-04-12 苏州元脑智能科技有限公司 一种基板控制器接口处理方法及其应用设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808407A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 管理设备的方法、设备和设备管理控制器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977733B1 (en) * 2011-07-01 2015-03-10 Cisco Technology, Inc. Configuring host network parameters without powering on a host server
US9280504B2 (en) * 2012-08-24 2016-03-08 Intel Corporation Methods and apparatus for sharing a network interface controller
US9652216B2 (en) * 2012-10-04 2017-05-16 Dell Products L.P. System and method for providing out-of-band software or firmware upgrades for a switching device
US20140195634A1 (en) * 2013-01-10 2014-07-10 Broadcom Corporation System and Method for Multiservice Input/Output
CN104202197B (zh) * 2014-09-12 2019-03-01 华为技术有限公司 设备管理的方法和装置
US10146527B2 (en) * 2016-10-12 2018-12-04 Samsung Electronics Co., Ltd. Method and apparatus for using BMC as proxy for NVME over fabrics device firmware upgrade
CN106649156B (zh) * 2016-12-07 2019-09-17 英业达科技有限公司 服务器
US11543967B2 (en) * 2017-02-23 2023-01-03 Samsung Electronics Co., Ltd. Method for controlling BW SLA in NVME-of ethernet SSD storage systems
US10866912B2 (en) * 2017-03-10 2020-12-15 Toshiba Memory Corporation Integrated heterogeneous solid state storage drive
US10310745B2 (en) * 2017-05-19 2019-06-04 Samsung Electronics Co., Ltd. Method and apparatus for fine tuning and optimizing NVMe-oF SSDs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808407A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 管理设备的方法、设备和设备管理控制器

Also Published As

Publication number Publication date
US10996899B2 (en) 2021-05-04
US10459665B2 (en) 2019-10-29
CN108694021A (zh) 2018-10-23
KR20180112668A (ko) 2018-10-12
US20190377496A1 (en) 2019-12-12
KR102304678B1 (ko) 2021-09-24
US20180285019A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
CN108694021B (zh) 使用基板管理控制器配置存储设备的系统和方法
US20210157483A1 (en) Local management console for storage devices
US11048569B1 (en) Adaptive timeout mechanism
EP3033681B1 (en) Method and apparatus for delivering msi-x interrupts through non-transparent bridges to computing resources in pci-express clusters
US10333865B2 (en) Transformation of peripheral component interconnect express compliant virtual devices in a network environment
US9767067B2 (en) Baseboard management systems and methods with distributed intelligence for multi-node platforms
WO2016037503A1 (zh) PCIe拓扑的配置方法和装置
US10515043B2 (en) Smart interface card control method and apparatus through a virtualized management interface
US9720864B2 (en) Flexible server system
US11086813B1 (en) Modular non-volatile memory express storage appliance and method therefor
US11775464B2 (en) Computer system and a computer device
US11218543B2 (en) System and method to configure, manage, and monitor stacking of Ethernet devices in a software defined network
EP2645252A1 (en) Information processing system and virtual address setting method
US9864719B2 (en) Systems and methods for power optimization at input/output nodes of an information handling system
US10303635B2 (en) Remote host management using socket-direct network interface controllers
JP6197195B2 (ja) 装置、プログラム、および方法
US9785594B2 (en) Micro server and switch device thereof
US11886356B2 (en) Local instantiation of remote peripheral devices
US11690108B2 (en) High speed wireless data communication to solid state drive
WO2016175837A1 (en) Configuration of a peripheral component interconnect express link

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