CN117493259B - 一种数据存储系统、方法及服务器 - Google Patents

一种数据存储系统、方法及服务器 Download PDF

Info

Publication number
CN117493259B
CN117493259B CN202311839501.4A CN202311839501A CN117493259B CN 117493259 B CN117493259 B CN 117493259B CN 202311839501 A CN202311839501 A CN 202311839501A CN 117493259 B CN117493259 B CN 117493259B
Authority
CN
China
Prior art keywords
local
data
remote
logic component
cpu
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
CN202311839501.4A
Other languages
English (en)
Other versions
CN117493259A (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 Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain 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 Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311839501.4A priority Critical patent/CN117493259B/zh
Publication of CN117493259A publication Critical patent/CN117493259A/zh
Application granted granted Critical
Publication of CN117493259B publication Critical patent/CN117493259B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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
    • 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)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机技术领域,公开了一种数据存储系统、方法及服务器,该系统包括:本地CPU及与本地CPU通过PCIe接口连接的本地FPGA加速卡;本地CPU通过PCIe接口连接若干个本地硬盘;本地FPGA加速卡连接若干个本地扩展硬盘;本地FPGA加速卡用于建立本地CPU与远程CPU之间的网络通信,并接收和处理本地CPU发送的本地数据和远程CPU发送的远程数据,以使本地CPU和远程CPU共享扩展硬盘。上述方案提供的系统,本地FPGA加速卡不仅能够连接本地扩展硬盘,实现本地硬盘的扩展,还可以替代网卡用于建立本地CPU与远程CPU之间的网络通信,提高了服务器的性能。

Description

一种数据存储系统、方法及服务器
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据存储系统、方法及服务器。
背景技术
目前,服务器在面向大规模高速运算和数据交换的场景应用中,对数据存储系统的容量与响应速度均提出了更高的要求,大容量、快速响应的存储结构对降低服务器整体系统能耗和成本起着至关重要的作用,因此本地硬盘的应用至关重要。
在相关技术中,通常是在服务器中增设PCIe交换器,以在服务器中搭载更多的本地硬盘,同时还将利用网卡和交换机建立服务器之间的网络连接,以实现服务器之间的存储空间共享。
但是,由于PCIe交换器增设受限于服务器的PCIe接口数量,并且网卡需要占用服务器的CPU资源,不利于保证服务器的性能。因此,急需一种既能实现本地硬盘扩展,也可以实现服务器间互联的数据存储系统,对提高服务器的性能有重要意义。
发明内容
本申请提供一种数据存储系统、方法及服务器,以解决相关技术无法保证服务器的性能等缺陷。
本申请第一个方面提供一种数据存储系统,包括:本地CPU及与所述本地CPU通过PCIe接口连接的本地FPGA加速卡;
所述本地CPU通过PCIe接口连接若干个本地硬盘;
所述本地FPGA加速卡连接若干个本地扩展硬盘;
所述本地FPGA加速卡用于建立所述本地CPU与远程CPU之间的网络通信,并接收和处理所述本地CPU发送的本地数据和远程CPU发送的远程数据,以使所述本地CPU和远程CPU共享扩展硬盘。
在一种可选的实施方式中,所述本地FPGA加速卡通过光交换机连接远程FPGA加速卡,以建立所述本地CPU与远程CPU之间的网络通信;
其中,所述远程FPGA与远程CPU通过PCIe接口连接。
在一种可选的实施方式中,所述本地FPGA加速卡包括:光纤模块;
光交换机通过所述光纤模块连接至所述本地FPGA加速卡的收发器引脚;
所述本地CPU通过PCIe接口连接至所述本地FPGA加速卡的收发器引脚;
其中,所述光交换机用于转发远程CPU发送的远程数据。
在一种可选的实施方式中,所述本地FPGA加速卡用于:
根据所述光纤模块的通信协议类型,对接收到的远程数据进行数据格式转换,以使所述远程数据与本地数据的数据格式相同。
在一种可选的实施方式中,所述本地FPGA加速卡包括:一级逻辑组件和二级逻辑组件;
所述一级逻辑组件用于将本地CPU发送的本地数据和/或光交换机转发的远程数据进行第一逻辑分解,得到一级逻辑数据;
所述二级逻辑组件用于对所述一级逻辑数据进行二级逻辑分解,得到相应数量的待存子数据。
在一种可选的实施方式中,所述本地FPGA加速卡包括:硬盘连接器;
所述硬盘连接器用于将待存子数据存储至对应的本地扩展硬盘;
其中,所述待存子数据经过对本地数据和远程数据进行逻辑分解得到,所述待存子数据与本地扩展硬盘的数据通道数相同。
在一种可选的实施方式中,所述一级逻辑组件和二级逻辑组件的数据分解逻辑根据所述本地CPU和远程CPU对本地扩展硬盘的应用需求确定。
在一种可选的实施方式中,所述本地FPGA加速卡基于复杂可编程逻辑器件与主机BMC通信,以获取所述本地CPU对本地扩展硬盘的应用需求。
在一种可选的实施方式中,所述二级逻辑组件包括第一逻辑组件和第二逻辑组件,所述本地FPGA加速卡通过所述PCIe接口连接8个本地扩展硬盘;
当所述本地CPU对本地扩展硬盘的应用需求为需要所有所述本地扩展硬盘时,本地FPGA加速卡收发器将所述本地数据传输至一级逻辑组件;
所述一级逻辑组件用于将本地CPU发送的本地数据进行第一逻辑分解,得到本地第一路数据和本地第二路数据;所述一级逻辑数据包括所述本地第一路数据和本地第二路数据;
将所述本地第一路数据输入至所述第一逻辑组件,所述第一逻辑组件用于将所述本地第一路数据分解为4路待存子数据;
将所述本地第二路数据输入至所述第二逻辑组件,所述第二逻辑组件用于将所述本地第二路数据分解为4路待存子数据。
在一种可选的实施方式中,所述二级逻辑组件包括第一逻辑组件和第二逻辑组件,所述本地FPGA加速卡通过所述PCIe接口连接8个本地扩展硬盘;
当所述本地CPU没有对本地扩展硬盘的应用需求时,表征所述远程CPU对本地扩展硬盘的应用需求为需要所有所述本地扩展硬盘;
本地FPGA加速卡收发器将所述远程数据传输至一级逻辑组件,所述一级逻辑组件用于将所述远程数据分解为远程第一路数据和远程第二路数据;所述一级逻辑数据包括所述远程第一路数据和远程第二路数据;
将所述远程第一路数据输入至所述第一逻辑组件,所述第一逻辑组件用于将所述远程第一路数据分解为4路待存子数据;
将所述远程第二路数据输入至所述第二逻辑组件,所述第二逻辑组件用于将所述远程第二路数据分解为4路待存子数据。
在一种可选的实施方式中,所述二级逻辑组件包括第一逻辑组件和第二逻辑组件,所述本地FPGA加速卡通过所述PCIe接口连接8个本地扩展硬盘;
当所述本地CPU对本地扩展硬盘的应用需求为需要1个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要7个所述本地扩展硬盘;
本地FPGA加速卡收发器直接将所述本地数据传输至第一逻辑组件,所述第一逻辑组件用于将所述本地数据分解为1路待存子数据;
本地FPGA加速卡收发器将所述远程数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将得到的远程数据分解为3路待存子数据,所述第二逻辑组件用于将得到的远程数据分解为4路待存子数据。
在一种可选的实施方式中,所述二级逻辑组件包括第一逻辑组件和第二逻辑组件,所述本地FPGA加速卡通过所述PCIe接口连接8个本地扩展硬盘;
当所述本地CPU对本地扩展硬盘的应用需求为需要7个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要1个所述本地扩展硬盘;
本地FPGA加速卡收发器直接将所述远程数据传输至第二逻辑组件,所述第二逻辑组件用于将所述远程数据分解为1路待存子数据;
本地FPGA加速卡收发器将所述本地数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将得到的本地数据分解为4路待存子数据,所述第二逻辑组件用于将得到的本地数据分解为3路待存子数据。
在一种可选的实施方式中,当所述本地CPU对本地扩展硬盘的应用需求为需要4个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要4个所述本地扩展硬盘;
本地FPGA加速卡收发器将所述本地数据和远程数据传输至一级逻辑组件;
所述一级逻辑组件用于将所述本地数据分解为本地一级逻辑数据,将所述远程数据分解为远程一级逻辑数据;
所述第一逻辑组件用于将所述本地一级逻辑数据分解为4路待存子数据;
所述第二逻辑组件用于将所述远程一级逻辑数据分解为4路待存子数据。
在一种可选的实施方式中,当所述本地CPU对本地扩展硬盘的应用需求为需要5个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要3个所述本地扩展硬盘;
本地FPGA加速卡收发器直接将所述远程数据传输至第二逻辑组件,所述第二逻辑组件用于将所述远程数据分解为3路待存子数据;
本地FPGA加速卡收发器将所述本地数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将得到的本地数据分解为4路待存子数据,所述第二逻辑组件用于将得到的本地数据分解为1路待存子数据。
在一种可选的实施方式中,所述二级逻辑组件包括第一逻辑组件和第二逻辑组件,所述本地FPGA加速卡通过所述PCIe接口连接8个本地扩展硬盘;
当所述本地CPU对本地扩展硬盘的应用需求为需要6个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要2个所述本地扩展硬盘;
本地FPGA加速卡收发器将所述本地数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将所述本地数据分解为4路待存子数据;所述第二逻辑组件用于将得到的本地数据分解为2路待存子数据。
本地FPGA加速卡收发器直接将所述远程数据传输至第二逻辑组件,所述第二逻辑组件用于将得到的远程数据分解为2路待存子数据。
在一种可选的实施方式中,所述二级逻辑组件包括第一逻辑组件和第二逻辑组件,所述本地FPGA加速卡通过所述PCIe接口连接8个本地扩展硬盘;
当所述本地CPU对本地扩展硬盘的应用需求为需要2个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要6个所述本地扩展硬盘;
本地FPGA加速卡收发器将所述远程数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将所述远程数据分解为2路待存子数据;所述第二逻辑组件用于将得到的远程数据分解为4路待存子数据。
本地FPGA加速卡收发器直接将所述本地数据传输至第一逻辑组件,所述第一逻辑组件用于将得到的本地数据分解为2路待存子数据。在一种可选的实施方式中,所述本地FPGA加速卡包括:
复杂可编程逻辑器件,用于控制管理电源,监测所述本地FPGA加速卡的整板状态信息;
将所述整板状态信息发送至主机BMC。
在一种可选的实施方式中,所述本地FPGA加速卡包括:若干个内存条插槽,用于连接本地扩展内存,以扩展服务器的内存资源。
本申请第二个方面提供一种数据存储方法,包括:
获取待存数据;
将待存数据保存至本地硬盘、本地扩展硬盘或远程扩展硬盘;
其中,所述本地硬盘与本地CPU通过PCIe接口连接,所述本地扩展硬盘连接在本地FPGA加速卡,所述本地FPGA加速卡与所述本地CPU通过PCIe接口连接,与远程CPU连接的远程FPGA加速卡上设有远程扩展硬盘,所述本地CPU和远程CPU通过本地FPGA加速卡和远程FPGA加速卡建立网络通信,以使所述本地CPU和远程CPU共享扩展硬盘。
本申请第三个方面提供一种服务器,包括:如上第一个方面以及第一个方面各种可能的设计所述的数据存储系统。
本申请技术方案,具有如下优点:
本申请提供一种数据存储系统、方法及服务器,该系统包括:本地CPU及与本地CPU通过PCIe接口连接的本地FPGA加速卡;本地CPU通过PCIe接口连接若干个本地硬盘;本地FPGA加速卡连接若干个本地扩展硬盘;本地FPGA加速卡用于建立本地CPU与远程CPU之间的网络通信,并接收和处理本地CPU发送的本地数据和远程CPU发送的远程数据,以使本地CPU和远程CPU共享扩展硬盘。上述方案提供的系统,本地FPGA加速卡不仅能够连接本地扩展硬盘,实现本地硬盘的扩展,还可以替代网卡用于建立本地CPU与远程CPU之间的网络通信,提高了服务器的性能。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种示例性的数据存储系统的结构示意图;
图2为本申请实施例提供的另一种示例性的数据存储系统的结构示意图;
图3为本申请实施例提供的一种本地FPGA加速卡的结构示意图;
图4为本申请实施例提供的另一种本地FPGA加速卡的结构示意图;
图5为本申请实施例提供的数据存储方法的流程示意图;
图6为本申请实施例提供的服务器的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在相关技术中,通常是在服务器中增设PCIe交换器,以在服务器中搭载更多的本地硬盘,同时还将利用网卡和交换机建立服务器之间的网络连接,以实现服务器之间的存储空间共享。但是,由于PCIe交换器增设受限于服务器的PCIe接口数量,并且网卡需要占用服务器的CPU资源,不利于保证服务器的性能。针对上述问题,本申请实施例提供一种数据存储系统、方法及服务器,该系统包括:本地CPU及与本地CPU通过PCIe接口连接的本地FPGA加速卡;本地CPU通过PCIe接口连接若干个本地硬盘;本地FPGA加速卡连接若干个本地扩展硬盘;本地FPGA加速卡用于建立本地CPU与远程CPU之间的网络通信,并接收和处理本地CPU发送的本地数据和远程CPU发送的远程数据,以使本地CPU和远程CPU共享扩展硬盘。上述方案提供的系统,本地FPGA加速卡不仅能够连接本地扩展硬盘,实现本地硬盘的扩展,还可以替代网卡用于建立本地CPU与远程CPU之间的网络通信,提高了服务器的性能。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明实施例进行描述。
本申请实施例提供了一种数据存储系统,用于实现服务器本地硬盘扩展的同时,实现服务器间互联。该数据存储系统包括:本地CPU及与本地CPU通过PCIe接口连接的本地FPGA加速卡;
其中,本地CPU通过PCIe接口连接若干个本地硬盘;本地FPGA加速卡连接若干个本地扩展硬盘;本地FPGA加速卡用于建立本地CPU与远程CPU之间的网络通信,并接收和处理本地CPU发送的本地数据和远程CPU发送的远程数据,以使本地CPU和远程CPU共享扩展硬盘。
需要说明的是,如图1所示,为本申请实施例提供的一种示例性的数据存储系统的结构示意图,本地CPU和远程CPU的结构基本相同,以本地CPU为例,其包括4个PCIe x16接口,其中有3个PCIe x16接口均连接有4个本地硬盘(NVMe SSD),1个PCIe x16接口连接本地FPGA加速卡,本地CPU还包括若干个内存条插槽(如DDR-CHA/B、DDR-CHC/D、DDR-CHE/F及DDR-CHG/H),每个内存条插槽都可以插接4个内存条(DIMM),本地CPU还包括若干个PCIe x8接口,用于连接Raid卡及其他卡,本地CPU还包括直接媒体接口(DMI)及UPI接口。
具体地,可以本申请实施例提供的本地FPGA加速卡配置有网卡功能,可以充当网卡建立本地CPU和远程CPU之间的网络连接,并接收和处理本地CPU发送的本地数据和远程CPU发送的远程数据,以实现本地扩展硬盘和远程扩展硬盘的共享,
具体地,在一实施例中,本地FPGA加速卡通过光交换机连接远程FPGA加速卡,以建立本地CPU与远程CPU之间的网络通信。
其中,远程FPGA与远程CPU通过PCIe接口连接。
示例性的,如图2所示,为本申请实施例提供的另一种示例性的数据存储系统的结构示意图,本地CPU连接通过PCIe接口连接若干个本地硬盘和本地FPGA加速卡,本地FPGA加速卡连接若干个本地扩展硬盘。远程CPU连接通过PCIe接口连接若干个远程硬盘和远程FPGA加速卡,远程FPGA加速卡连接若干个远程扩展硬盘,本地FPGA加速卡和远程FPGA加速卡之间通过光交换机连接,以实现网络通信,进而实现本地扩展硬盘和远程扩展硬盘的共享。
具体地,在一实施例中,本地FPGA加速卡包括:光纤模块。
其中,光交换机通过光纤模块连接至本地FPGA加速卡的收发器引脚;本地CPU通过PCIe接口连接至本地FPGA加速卡的收发器引脚。其中,所述光交换机用于转发远程CPU发送的远程数据。
具体地,远程CPU发送的远程数据通过光交换机转发,光交换机通过本地FPGA加速卡的光纤模块(QSFP28)将远程数据发送至本地FPGA加速卡的收发器引脚,本地CPU发送的本地数据通过与本地CPU的PCIe x16接口连接的金手指(Goldfinger)PCIe x16进入本地FPGA加速卡的收发器引脚,以进入本地FPGA加速卡内部。
具体地,在一实施例中,为确保本地FPGA加速卡中的逻辑组件能够适应不同协议类型的远程数据,所述本地FPGA加速卡用于根据所述光纤模块的通信协议类型,对接收到的远程数据进行数据格式转换,以使所述远程数据与本地数据的数据格式相同。
具体地,光纤模块QSFP28接收远程数据的格式可以是多种形式,主要取决于光口通信使用的协议,常见的协议包括以太网协议、光纤通道协议FC、infiniBand和同步光纤协议等,对于不同协议数据进行解析。其中,经过PCIe接口接收的本地数据和QSFP28接收的远程数据,主要区别表现为包头不一样,比如包头包含着协议类型、地址等信息,因此QSFP28接收的远程数据可以在本地FPGA加速卡中转换成PCIe数据,以使所述远程数据与本地数据的数据格式相同。
在上述实施例的基础上,为了使FPGA加速器更好地适用各种应用场景,以进一步提高服务器的性能,如图3为本申请实施例提供的一种本地FPGA加速卡的结构示意图,作为一种可实施的方式,在一实施例中,本地FPGA加速卡包括:一级逻辑组件和二级逻辑组件。
其中,一级逻辑组件用于将本地CPU发送的本地数据和/或光交换机转发的远程数据进行第一逻辑分解,得到一级逻辑数据;二级逻辑组件用于对一级逻辑数据进行二级逻辑分解,得到相应数量的待存子数据。
需要说明的是,由于本地FPGA加速卡直接接收的本地数据和远程数据均为x16结构,而其连接的本地扩展硬盘均为x4结构,为了适应本地扩展硬盘,本地FPGA加速卡需要基于一级逻辑组件和二级逻辑组件对本地数据和远程数据进行逻辑分解,以将其转换为若干个x4结构的待存子数据。
具体地,本地FPGA加速卡收发器在接收到本地数据(PCIe x16_0)和远程数据(QSFP28 x16_1)后,将其发送至一级逻辑组件(Switch_0),以基于一级逻辑组件(Switch_0)进行第一逻辑分解,得到两路一级逻辑数据(如x16_2和x16_3),然后再基于二级逻辑组件分别对两路一级逻辑数据进行进一步的二级逻辑分解,以得到与本地扩展硬盘数量相对应的待存储子数据(x4)。
具体地,在一实施例中,本地FPGA加速卡包括:硬盘连接器(MCIO CONN x16)。
其中,硬盘连接器用于将待存子数据存储至对应的本地扩展硬盘,待存子数据经过对本地数据和远程数据进行逻辑分解得到,待存子数据与本地扩展硬盘的数据通道数相同,硬盘连接器通过专用线缆连接NVMe SSD硬盘(本地扩展硬盘)。
具体地,如图3所示,本申请实施例提供的本地FPGA加速卡的二级逻辑组件包括第一逻辑组件(Switch_1)和第二逻辑组件(Switch_2),第一逻辑组件和第二逻辑组件均设有与其对应的硬盘连接器,即本地FPGA加速卡设有两个硬盘连接器,且每个硬盘连接器设有与其固定连接的本地扩展硬盘,这两个硬盘连接器分别用于将第一逻辑组件和第二逻辑组件分解得到待存子数据存储至对应的本地扩展硬盘。
具体地,在一实施例中,一级逻辑组件和二级逻辑组件的数据分解逻辑根据本地CPU和远程CPU对本地扩展硬盘的应用需求确定。
需要说明的是,一级逻辑组件和二级逻辑组件的数据分解逻辑同时也可以根据服务器的业务需求确定。
具体地,在一实施例中,本地FPGA加速卡基于复杂可编程逻辑器件(CPLD)与主机BMC通信,以获取本地CPU对本地扩展硬盘的应用需求。
其中,本地CPU对本地扩展硬盘的应用需求可以主要表现为对本地扩展硬盘的应用数量需求。
具体地,对于本地FPGA加速卡内部逻辑部分,首先本地FPGA加速卡的CPLD与CPU的BMC进行通信,获取到本地CPU所需硬盘存储空间,然后CPLD与本地FPGA加速卡中的FPGA芯片进行通信确认存储信息,以确定本地CPU对本地扩展硬盘的应用需求。
具体地,在一实施例中,以本地FPGA加速卡通过PCIe接口连接8个本地扩展硬盘为例,当本地CPU对本地扩展硬盘的应用需求为需要所有本地扩展硬盘时,本地FPGA加速卡收发器将本地数据传输至一级逻辑组件;一级逻辑组件用于将本地CPU发送的本地数据进行第一逻辑分解,得到本地第一路数据和本地第二路数据;一级逻辑数据包括本地第一路数据和本地第二路数据;将本地第一路数据输入至第一逻辑组件,第一逻辑组件用于将本地第一路数据分解为4路待存子数据;将本地第二路数据输入至第二逻辑组件,第二逻辑组件用于将本地第二路数据分解为4路待存子数据。
具体地,当本地CPU对本地扩展硬盘的应用需求为需要所有本地扩展硬盘时,则表征当前的本地扩展硬盘不与远程CPU共享,即本地FPGA加速卡收发器仅接收本地数据,然后将接收到的本地数据传输至一级逻辑组件,以先对本地数据进行一级逻辑分解,得到本地第一路数据和本地第二路数据,然后再基于第一逻辑组件和第二逻辑组件分别将本地第一路数据和本地第二路数据分解为待存子数据。
具体地,在一实施例中,当本地CPU没有对本地扩展硬盘的应用需求时,表征远程CPU对本地扩展硬盘的应用需求为需要所有本地扩展硬盘;本地FPGA加速卡收发器将远程数据传输至一级逻辑组件,一级逻辑组件用于将远程数据分解为远程第一路数据和远程第二路数据;一级逻辑数据包括远程第一路数据和远程第二路数据;将远程第一路数据输入至第一逻辑组件,第一逻辑组件用于将远程第一路数据分解为4路待存子数据;将远程第二路数据输入至第二逻辑组件,第二逻辑组件用于将远程第二路数据分解为4路待存子数据。
具体地,当本地CPU没有对本地扩展硬盘的应用需求时,则表征本地FPGA加速卡的所有本地扩展硬盘都可作为远程CPU的共享扩展硬盘,此时本地FPGA加速卡收发器仅接收远程数据,然后将接收到的远程数据传输至一级逻辑组件,以先对远程数据进行一级逻辑分解,得到远程第一路数据和远程第二路数据,然后再基于第一逻辑组件和第二逻辑组件分别将远程第一路数据和远程第二路数据分解为待存子数据。
具体地,如图3所示,当本地CPU需要本地FPGA加速卡外接的8块SSD(本地扩展硬盘)时,PCIe x16_0作为逻辑Switch_0的Host ,向下传输给x16_2和x16_3,然后x16_2和x16_3分别作为逻辑Switch_1和逻辑Switch_2的Host,分别向下透传给4个x4;当本地CPU不需要本地FPGA加速卡外接的8块SSD时, QSFP X16_1作为逻辑Switch_0的Host,向下传输给x16_2和x16_3,然后x16_2和x16_3分别作为逻辑Switch_1和逻辑Switch_2的Host,分别向下透传给4个x4。
具体地,在一实施例中,当本地CPU对本地扩展硬盘的应用需求为需要1个本地扩展硬盘时,表征远程CPU对本地扩展硬盘的应用需求为需要7个本地扩展硬盘;本地FPGA加速卡收发器直接将本地数据传输至第一逻辑组件,第一逻辑组件用于将本地数据分解为1路待存子数据;本地FPGA加速卡收发器将远程数据拆分传输至第一逻辑组件和第二逻辑组件,第一逻辑组件用于将得到的远程数据分解为3路待存子数据,第二逻辑组件用于将得到的远程数据分解为4路待存子数据。
相应地,在一实施例中,当本地CPU对本地扩展硬盘的应用需求为需要7个本地扩展硬盘时,表征远程CPU对本地扩展硬盘的应用需求为需要1个本地扩展硬盘;本地FPGA加速卡收发器直接将远程数据传输至第二逻辑组件,第二逻辑组件用于将远程数据分解为1路待存子数据;本地FPGA加速卡收发器将本地数据拆分传输至第一逻辑组件和第二逻辑组件,第一逻辑组件用于将得到的本地数据分解为4路待存子数据,第二逻辑组件用于将得到的本地数据分解为3路待存子数据。
具体地,当本地CPU和远程CPU对本地扩展硬盘的应用需求差距较大时,为进一步提高数据分解效率,可以直接将本地数据和远程数据传输至二级逻辑组件,即直接基于第一逻辑组件和第二逻辑组件进行数据分解,以快速将其转换为待存子数据。
具体地,在一实施例中,当本地CPU对本地扩展硬盘的应用需求为需要4个本地扩展硬盘时,表征远程CPU对本地扩展硬盘的应用需求为需要4个本地扩展硬盘;本地FPGA加速卡收发器将本地数据和远程数据传输至一级逻辑组件;一级逻辑组件用于将本地数据分解为本地一级逻辑数据(x16_2),将远程数据分解为远程一级逻辑数据(x16_3);第一逻辑组件用于将本地一级逻辑数据分解为4路待存子数据;第二逻辑组件用于将远程一级逻辑数据分解为4路待存子数据。
具体地,当本地CPU需要本地FPGA加速卡外接的4块SSD时 ,PCIe x16_0和QSFPX16_1同时作为逻辑Switch_0的Host,分别向下传输给x16_2和x16_3,然后x16_2和x16_3分别作为逻辑Switch_1和逻辑Switch_2的Host,分别向下透传给4个x4。
具体地,在一实施例中,当本地CPU对本地扩展硬盘的应用需求为需要5个本地扩展硬盘时,表征远程CPU对本地扩展硬盘的应用需求为需要3个本地扩展硬盘;本地FPGA加速卡收发器直接将远程数据传输至第二逻辑组件,第二逻辑组件用于将远程数据分解为3路待存子数据;本地FPGA加速卡收发器将本地数据拆分传输至第一逻辑组件和第二逻辑组件,第一逻辑组件用于将得到的本地数据分解为4路待存子数据,第二逻辑组件用于将得到的本地数据分解为1路待存子数据。
具体地,在一实施例中,二级逻辑组件包括第一逻辑组件和第二逻辑组件,本地FPGA加速卡通过PCIe接口连接8个本地扩展硬盘;
当本地CPU对本地扩展硬盘的应用需求为需要6个本地扩展硬盘时,表征远程CPU对本地扩展硬盘的应用需求为需要2个本地扩展硬盘;
本地FPGA加速卡收发器将本地数据拆分传输至第一逻辑组件和第二逻辑组件,第一逻辑组件用于将本地数据分解为4路待存子数据;第二逻辑组件用于将得到的本地数据分解为2路待存子数据。
本地FPGA加速卡收发器直接将远程数据传输至第二逻辑组件,第二逻辑组件用于将得到的远程数据分解为2路待存子数据。
具体地,在一实施例中,二级逻辑组件包括第一逻辑组件和第二逻辑组件,本地FPGA加速卡通过PCIe接口连接8个本地扩展硬盘;
当本地CPU对本地扩展硬盘的应用需求为需要2个本地扩展硬盘时,表征远程CPU对本地扩展硬盘的应用需求为需要6个本地扩展硬盘;
本地FPGA加速卡收发器将远程数据拆分传输至第一逻辑组件和第二逻辑组件,第一逻辑组件用于将远程数据分解为2路待存子数据;第二逻辑组件用于将得到的远程数据分解为4路待存子数据。
本地FPGA加速卡收发器直接将本地数据传输至第一逻辑组件,第一逻辑组件用于将得到的本地数据分解为2路待存子数据。
示例性的,如表1所示,为本地FPGA加速卡面对不同的应用需求所采用的数据分解逻辑:
表1
其中,PCIe x16_0表示本地数据,后续简称x16_0,其对应的数字为本地CPU对本地扩展硬盘的应用数量需求,QSFP28 x16_1表示远程数据,后续简称x16_1,其对应的数字为远程CPU对本地扩展硬盘的应用数量需求。Switch_0表示一级逻辑组件,Switch_1表示第一逻辑组件,Switch_2表示第二逻辑组件,Up表示输入,也称上行;Down表示输出,也称下行;x4表示待存子数据,x16_2和x16_3表示一级逻辑组件分解得到的一级逻辑数据。
需要说明的是,当本地CPU或远程CPU需要在本地扩展硬盘中读取数据时,读取数据的传输路径与上述实施例提供的数据存储路径相似,读取数据依次经过二级逻辑组件和一级逻辑组件进行数据还原,最后通过PCIe x16接口传输至本地CPU,或通过光纤模块传输至光交换机。
需要进一步说明的是,Switch_0封装有逻辑IP核,即1路x16的数据进入该逻辑核,输出两路x16的数据。Switch0的UP是32对差分引脚(16对RX接收,16对TX发送),Switch0的down是2路X16,每路X16和UP是一样的,然后再分别进入Switch1和Switch2。这样分解逻辑实际是将的入口得到的x16数据通过逻辑分解成出口的8个x4数据(待存子数据),以使本地和远端的NVMe SSD灵活配置,以充分合理利用硬盘资源。在上述实施例的基础上,如图4为本申请实施例提供的另一种本地FPGA加速卡的结构示意图,作为一种可实施的方式,在一实施例中,本地FPGA加速卡包括:复杂可编程逻辑器件,用于控制管理电源。
其中,复杂可编程逻辑器件,还用于监测本地FPGA加速卡的整板状态信息;将整板状态信息发送至主机BMC。
需要说明的是,CPLD负责控制电源时序以及GPIO通信等,同时充当FPGA加速卡的BMC功能,管理监控整板功耗、温度和报警等信息,同时这些信息要与CPU板通过PCIE x16的金手指中的SMBUS通信交互。同时CPLD与FPGA进行通信,主要是通过I2C和GPIO,可以获取当前FPGA的状态以及对于进入FPGA中数据来源情况以及分解情况的获取。
具体地,在一实施例中,本地FPGA加速卡包括:若干个内存条插槽(DDR4/5),用于连接本地扩展内存,以扩展服务器的内存资源。
需要说明的是,本申请实施例提供的本地FPGA加速卡是标准的x16 PCIe卡,支持4路DDR4/DDR5、2路QSFP-DD,复杂可编程逻辑器件(CPLD)控制管理电源,同时充当本地FPGA加速卡的BMC功能,管理监控整板功耗、温度、报警等整板状态信息,同时与Host端(本地CPU)的主机BMC通过SMBUS通信,以将整板状态信息发送至主机BMC。本地FPGA加速卡通过PCIe GEN5 x16与本地CPU 的PCIe Slot相连,然后本地FPGA加速卡的两个MCIO连接器输出接8块NVMe SSD(本地扩展硬盘)。
进一步地,在一实施例中,本地FPGA加速卡包括:整板状态指示灯(LED)。
其中,整板状态指示用于以不同的亮灯方式,报出本地FPGA加速卡的整板状态信息,如温度过高常亮红灯,功耗过高常亮黄灯等。
具体地,在一实施例中,本地FPGA加速卡包括:时钟发生器(Clock Generator)和闪存(Flash)。如图4所示,本地FPGA加速卡还包括时钟缓冲器CLK Buffer、Other IC、JTAG及FAN CONN等功能组件。
其中,Flash和Clock Generator是FPGA板卡上的必要元器件,Flash是FPGA外围必要器件,即标配,以确保FPGA能正常工作。Clock Generator产生的时钟要通过CXL内存扩展板(内存条插槽)给到CXL内存(本地扩展内存),是CXL内存工作的必要信号。
需要说明的是,本地FPGA加速卡以FPGA芯片为主体,在FPGA芯片上增设时钟发生器、闪存等功能组件,以构建本地FPGA加速卡,具体增设哪些组件可以根据实际需求设置,本申请实施例不做限定。
本申请实施例提供的一种数据存储系统,该系统包括:本地CPU及与本地CPU通过PCIe接口连接的本地FPGA加速卡;本地CPU通过PCIe接口连接若干个本地硬盘;本地FPGA加速卡连接若干个本地扩展硬盘;本地FPGA加速卡用于建立本地CPU与远程CPU之间的网络通信,以使本地CPU和远程CPU共享扩展硬盘。上述方案提供的系统,本地FPGA加速卡不仅能够连接本地扩展硬盘,实现本地硬盘的扩展,还可以替代网卡用于建立本地CPU与远程CPU之间的网络通信,提高了服务器的性能。FPGA加速卡可以灵活实现NVMe SSD的扩展以及远端CPU的硬盘共享,这样不仅扩展简单,而且便于实现NVMe SSD扩展分配,使本地CPU和远端CPU可以高效合理的使用本地扩展的NVMe SSD。随着FPGA资源不同,所能实现的扩展SSD盘数可以随之改变,可以按需分配。另外本地扩展硬盘是相对挂载当前的CPU而言,远端CPU也有其本地的NVMe SSD,也可以实现与其相对的远端CPU的共享分配。
本申请实施例提供了一种数据存储方法,用于进行数据存储。本申请实施例的执行主体为电子设备,比如服务器、台式电脑、笔记本电脑、平板电脑及其他可用于进行数据存储的电子设备。
如图5所示,为本申请实施例提供的数据存储方法的流程示意图。该方法包括:
步骤701,获取待存数据;
步骤702,将待存数据保存至本地硬盘、本地扩展硬盘或远程扩展硬盘。
其中,本地硬盘与本地CPU通过PCIe接口连接,本地扩展硬盘连接在本地FPGA加速卡,本地FPGA加速卡与本地CPU通过PCIe接口连接,与远程CPU连接的远程FPGA加速卡上设有远程扩展硬盘,本地CPU和远程CPU通过本地FPGA加速卡和远程FPGA加速卡建立网络通信,以使本地CPU和远程CPU共享扩展硬盘。
关于本实施例中的数据存储方法,其中各个步骤的具体实施方式已经在有关该系统的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供的数据存储方法,应用于上述实施例提供的数据存储系统,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种服务器,用于执行上述实施例提供的数据存储方法。
如图6所示,为本申请实施例提供的服务器的结构示意图。该服务器包括上述实施例提供的数据存储系统。
本申请实施例提供的服务器,应用于上述实施例提供的数据存储方法向数据存储系统存储数据,其实现方式与原理相同,不再赘述。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (17)

1.一种数据存储系统,其特征在于,包括:本地CPU及与所述本地CPU通过PCIe接口连接的本地FPGA加速卡;
所述本地CPU通过PCIe接口连接若干个本地硬盘;
所述本地FPGA加速卡连接若干个本地扩展硬盘;
所述本地FPGA加速卡用于建立所述本地CPU与远程CPU之间的网络通信,并接收和处理所述本地CPU发送的本地数据和远程CPU发送的远程数据,以使所述本地CPU和远程CPU共享扩展硬盘;
所述本地FPGA加速卡包括:一级逻辑组件和二级逻辑组件;
所述一级逻辑组件用于将本地CPU发送的本地数据和/或光交换机转发的远程数据进行第一逻辑分解,得到一级逻辑数据;
所述二级逻辑组件用于对所述一级逻辑数据进行二级逻辑分解,得到相应数量的待存子数据;
所述一级逻辑组件和二级逻辑组件的数据分解逻辑根据所述本地CPU和远程CPU对本地扩展硬盘的应用需求确定;
所述二级逻辑组件包括第一逻辑组件和第二逻辑组件,所述本地FPGA加速卡通过所述PCIe接口连接8个本地扩展硬盘;
当所述本地CPU对本地扩展硬盘的应用需求为需要2个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要6个所述本地扩展硬盘;
本地FPGA加速卡收发器将所述远程数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将所述远程数据分解为2路待存子数据;所述第二逻辑组件用于将得到的远程数据分解为4路待存子数据;
本地FPGA加速卡收发器直接将所述本地数据传输至第一逻辑组件,所述第一逻辑组件用于将得到的本地数据分解为2路待存子数据。
2.根据权利要求1所述的系统,其特征在于,所述本地FPGA加速卡通过光交换机连接远程FPGA加速卡,以建立所述本地CPU与远程CPU之间的网络通信;
其中,所述远程FPGA与远程CPU通过PCIe接口连接。
3.根据权利要求1所述的系统,其特征在于,所述本地FPGA加速卡包括:光纤模块;
光交换机通过所述光纤模块连接至所述本地FPGA加速卡的收发器引脚;
所述本地CPU通过PCIe接口连接至所述本地FPGA加速卡的收发器引脚;
其中,所述光交换机用于转发远程CPU发送的远程数据。
4.根据权利要求3所述的系统,其特征在于,所述本地FPGA加速卡用于:
根据所述光纤模块的通信协议类型,对接收到的远程数据进行数据格式转换,以使所述远程数据与本地数据的数据格式相同。
5.根据权利要求1所述的系统,其特征在于,所述本地FPGA加速卡包括:硬盘连接器;
所述硬盘连接器用于将待存子数据存储至对应的本地扩展硬盘;
其中,所述待存子数据经过对本地数据和远程数据进行逻辑分解得到,所述待存子数据与本地扩展硬盘的数据通道数相同。
6.根据权利要求1所述的系统,其特征在于,所述本地FPGA加速卡基于复杂可编程逻辑器件与主机BMC通信,以获取所述本地CPU对本地扩展硬盘的应用需求。
7.根据权利要求1所述的系统,其特征在于,当所述本地CPU对本地扩展硬盘的应用需求为需要所有所述本地扩展硬盘时,本地FPGA加速卡收发器将所述本地数据传输至一级逻辑组件;
所述一级逻辑组件用于将本地CPU发送的本地数据进行第一逻辑分解,得到本地第一路数据和本地第二路数据;所述一级逻辑数据包括所述本地第一路数据和本地第二路数据;
将所述本地第一路数据输入至所述第一逻辑组件,所述第一逻辑组件用于将所述本地第一路数据分解为4路待存子数据;
将所述本地第二路数据输入至所述第二逻辑组件,所述第二逻辑组件用于将所述本地第二路数据分解为4路待存子数据。
8.根据权利要求1所述的系统,其特征在于,当所述本地CPU没有对本地扩展硬盘的应用需求时,表征所述远程CPU对本地扩展硬盘的应用需求为需要所有所述本地扩展硬盘;
本地FPGA加速卡收发器将所述远程数据传输至一级逻辑组件,所述一级逻辑组件用于将所述远程数据分解为远程第一路数据和远程第二路数据;所述一级逻辑数据包括所述远程第一路数据和远程第二路数据;
将所述远程第一路数据输入至所述第一逻辑组件,所述第一逻辑组件用于将所述远程第一路数据分解为4路待存子数据;
将所述远程第二路数据输入至所述第二逻辑组件,所述第二逻辑组件用于将所述远程第二路数据分解为4路待存子数据。
9.根据权利要求1所述的系统,其特征在于,当所述本地CPU对本地扩展硬盘的应用需求为需要1个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要7个所述本地扩展硬盘;
本地FPGA加速卡收发器直接将所述本地数据传输至第一逻辑组件,所述第一逻辑组件用于将所述本地数据分解为1路待存子数据;
本地FPGA加速卡收发器将所述远程数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将得到的远程数据分解为3路待存子数据,所述第二逻辑组件用于将得到的远程数据分解为4路待存子数据。
10.根据权利要求1所述的系统,其特征在于,当所述本地CPU对本地扩展硬盘的应用需求为需要7个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要1个所述本地扩展硬盘;
本地FPGA加速卡收发器直接将所述远程数据传输至第二逻辑组件,所述第二逻辑组件用于将所述远程数据分解为1路待存子数据;
本地FPGA加速卡收发器将所述本地数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将得到的本地数据分解为4路待存子数据,所述第二逻辑组件用于将得到的本地数据分解为3路待存子数据。
11.根据权利要求1所述的系统,其特征在于,当所述本地CPU对本地扩展硬盘的应用需求为需要4个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要4个所述本地扩展硬盘;
本地FPGA加速卡收发器将所述本地数据和远程数据传输至一级逻辑组件;
所述一级逻辑组件用于将所述本地数据分解为本地一级逻辑数据,将所述远程数据分解为远程一级逻辑数据;
所述第一逻辑组件用于将所述本地一级逻辑数据分解为4路待存子数据;
所述第二逻辑组件用于将所述远程一级逻辑数据分解为4路待存子数据。
12.根据权利要求1所述的系统,其特征在于,当所述本地CPU对本地扩展硬盘的应用需求为需要5个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要3个所述本地扩展硬盘;
本地FPGA加速卡收发器直接将所述远程数据传输至第二逻辑组件,所述第二逻辑组件用于将所述远程数据分解为3路待存子数据;
本地FPGA加速卡收发器将所述本地数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将得到的本地数据分解为4路待存子数据,所述第二逻辑组件用于将得到的本地数据分解为1路待存子数据。
13.根据权利要求1所述的系统,其特征在于,当所述本地CPU对本地扩展硬盘的应用需求为需要6个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要2个所述本地扩展硬盘;
本地FPGA加速卡收发器将所述本地数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将所述本地数据分解为4路待存子数据;所述第二逻辑组件用于将得到的本地数据分解为2路待存子数据;
本地FPGA加速卡收发器直接将所述远程数据传输至第二逻辑组件,所述第二逻辑组件用于将得到的远程数据分解为2路待存子数据。
14.根据权利要求1所述的系统,其特征在于,所述本地FPGA加速卡包括:
复杂可编程逻辑器件,用于控制管理电源,监测所述本地FPGA加速卡的整板状态信息;
将所述整板状态信息发送至主机BMC。
15.根据权利要求1所述的系统,其特征在于,所述本地FPGA加速卡包括:若干个内存条插槽,用于连接本地扩展内存,以扩展服务器的内存资源。
16.一种数据存储方法,其特征在于,包括:
获取待存数据;
将待存数据保存至本地硬盘、本地扩展硬盘或远程扩展硬盘;
其中,所述本地硬盘与本地CPU通过PCIe接口连接,所述本地扩展硬盘连接在本地FPGA加速卡,所述本地FPGA加速卡与所述本地CPU通过PCIe接口连接,与远程CPU连接的远程FPGA加速卡上设有远程扩展硬盘,所述本地CPU和远程CPU通过本地FPGA加速卡和远程FPGA加速卡建立网络通信,以使所述本地CPU和远程CPU共享扩展硬盘;
所述本地FPGA加速卡包括:一级逻辑组件和二级逻辑组件;
所述一级逻辑组件用于将本地CPU发送的本地数据和/或光交换机转发的远程数据进行第一逻辑分解,得到一级逻辑数据;
所述二级逻辑组件用于对所述一级逻辑数据进行二级逻辑分解,得到相应数量的待存子数据;
所述一级逻辑组件和二级逻辑组件的数据分解逻辑根据所述本地CPU和远程CPU对本地扩展硬盘的应用需求确定;
所述二级逻辑组件包括第一逻辑组件和第二逻辑组件,所述本地FPGA加速卡通过所述PCIe接口连接8个本地扩展硬盘;
当所述本地CPU对本地扩展硬盘的应用需求为需要2个所述本地扩展硬盘时,表征所述远程CPU对本地扩展硬盘的应用需求为需要6个所述本地扩展硬盘;
本地FPGA加速卡收发器将所述远程数据拆分传输至第一逻辑组件和第二逻辑组件,所述第一逻辑组件用于将所述远程数据分解为2路待存子数据;所述第二逻辑组件用于将得到的远程数据分解为4路待存子数据;
本地FPGA加速卡收发器直接将所述本地数据传输至第一逻辑组件,所述第一逻辑组件用于将得到的本地数据分解为2路待存子数据。
17.一种服务器,其特征在于,包括:如权利要求1至15任一项所述的数据存储系统。
CN202311839501.4A 2023-12-28 2023-12-28 一种数据存储系统、方法及服务器 Active CN117493259B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311839501.4A CN117493259B (zh) 2023-12-28 2023-12-28 一种数据存储系统、方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311839501.4A CN117493259B (zh) 2023-12-28 2023-12-28 一种数据存储系统、方法及服务器

Publications (2)

Publication Number Publication Date
CN117493259A CN117493259A (zh) 2024-02-02
CN117493259B true CN117493259B (zh) 2024-04-05

Family

ID=89685275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311839501.4A Active CN117493259B (zh) 2023-12-28 2023-12-28 一种数据存储系统、方法及服务器

Country Status (1)

Country Link
CN (1) CN117493259B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012167461A1 (zh) * 2011-06-28 2012-12-13 华为技术有限公司 Cpu间互联容错的实现方法及系统
CN108989317A (zh) * 2018-07-26 2018-12-11 浪潮(北京)电子信息产业有限公司 一种基于FPGA的RoCE网卡数据传输方法及网卡
CN112416840A (zh) * 2020-11-06 2021-02-26 浪潮(北京)电子信息产业有限公司 一种计算资源的远程映射方法、装置、设备及存储介质
CN112579033A (zh) * 2019-09-27 2021-03-30 阿里巴巴集团控股有限公司 业务对象切换方法、装置、电子设备及计算机存储介质
CN113312283A (zh) * 2021-05-28 2021-08-27 北京航空航天大学 一种基于fpga加速的异构图学习系统
CN115756962A (zh) * 2022-11-21 2023-03-07 浪潮(北京)电子信息产业有限公司 内存备份加速方法、装置、设备及计算机可读存储介质
CN116401065A (zh) * 2023-04-14 2023-07-07 广东浪潮智慧计算技术有限公司 一种服务器、异构设备及其数据处理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012167461A1 (zh) * 2011-06-28 2012-12-13 华为技术有限公司 Cpu间互联容错的实现方法及系统
CN108989317A (zh) * 2018-07-26 2018-12-11 浪潮(北京)电子信息产业有限公司 一种基于FPGA的RoCE网卡数据传输方法及网卡
CN112579033A (zh) * 2019-09-27 2021-03-30 阿里巴巴集团控股有限公司 业务对象切换方法、装置、电子设备及计算机存储介质
CN112416840A (zh) * 2020-11-06 2021-02-26 浪潮(北京)电子信息产业有限公司 一种计算资源的远程映射方法、装置、设备及存储介质
CN113312283A (zh) * 2021-05-28 2021-08-27 北京航空航天大学 一种基于fpga加速的异构图学习系统
CN115756962A (zh) * 2022-11-21 2023-03-07 浪潮(北京)电子信息产业有限公司 内存备份加速方法、装置、设备及计算机可读存储介质
CN116401065A (zh) * 2023-04-14 2023-07-07 广东浪潮智慧计算技术有限公司 一种服务器、异构设备及其数据处理装置

Also Published As

Publication number Publication date
CN117493259A (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
CN109117407B (zh) 一种管理板卡与服务器
CN113448402B (zh) 一种支持多背板级联的服务器
CN105515673B (zh) 一种光纤通道节点卡
CN109917891A (zh) 一种pcie加速网卡供电电路及其设计方法
CN111796507A (zh) 一种箭载全冗余综合电子系统
CN113204510B (zh) 一种服务器管理架构和服务器
CN211149445U (zh) 一种高速数据处理平台
CN117493259B (zh) 一种数据存储系统、方法及服务器
CN117111693A (zh) 一种服务器机箱系统、服务器机箱系统设计方法及设备
CN216927600U (zh) 一种网络数据计算系统及内置该系统的服务器
CN116401065A (zh) 一种服务器、异构设备及其数据处理装置
CN112800001B (zh) 一种基于arm平台架构的高性能物联网硬件平台及方法
CN216352292U (zh) 服务器主板及服务器
CN212515401U (zh) 一种箭载全冗余综合电子系统
CN107980223B (zh) 以太网互联电路及装置
CN213276462U (zh) 双路服务器主板及双路服务器
CN104750581A (zh) 一种冗余互连的内存共享的服务器系统
CN204189089U (zh) 一种服务器
CN210572737U (zh) 一种二次雷达信号处理装置
CN113434445A (zh) 一种i3c访问dimm的管理系统和服务器
CN112463547A (zh) 一种高密度服务器系统状态指示装置及指示方法
CN114004184A (zh) 一种改进的dc-scm装置
CN113626363A (zh) 一种面向微纳星载计算机的多总线架构装置及其控制方法
CN107122268B (zh) 一种基于numa多物理层分区处理系统
CN213693732U (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