CN110245105A - 网络附接方法、设备和系统 - Google Patents

网络附接方法、设备和系统 Download PDF

Info

Publication number
CN110245105A
CN110245105A CN201910173992.0A CN201910173992A CN110245105A CN 110245105 A CN110245105 A CN 110245105A CN 201910173992 A CN201910173992 A CN 201910173992A CN 110245105 A CN110245105 A CN 110245105A
Authority
CN
China
Prior art keywords
ssd
connector
pcie
pcb
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910173992.0A
Other languages
English (en)
Inventor
S.P.奥拉里格
F.沃利
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 CN110245105A publication Critical patent/CN110245105A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/409Mechanical 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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]
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/18Printed circuits structurally associated with non-printed electric components
    • H05K1/182Printed circuits structurally associated with non-printed electric components associated with components mounted in the printed circuit board, e.g. insert mounted components [IMC]
    • 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
    • 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/16Memory access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)

Abstract

根据依照本公开的一些示例实施例,一种网络附接设备包括:印刷电路板(PCB);固态驱动器(SSD),经由至少一个SSD连接器连接在PCB的第一侧;至少一个现场可编程门阵列(FPGA),在PCB的第二侧附接到PCB;以及至少一个前端连接器,在PCB的第三侧附接到PCB,其中,该设备被配置为基于经由至少一个前端连接器接收的命令来处理存储在SSD中的数据。

Description

网络附接方法、设备和系统
相关申请的交叉引用
本申请要求于2018年3月9日提交的名称为“用于支持符合扩展的SFF和PCIE形状因子的单个FPGA+插卡SSD的方法和装置”、序列号为62/641,253的美国临时专利申请的优先权和权益,其全部内容通过引用明确地并入本文。
技术领域
根据本发明的实施例的一个或多个方面涉及网络附接设备(network-attacheddevice),例如,基于现场可编程门阵列(FPGA)的插卡(add-in-card,AIC)固态驱动器(SSD)。
背景技术
非易失性存储器高速(NVMe)是定义用于主机(host)软件通过高速外围部件互连(PCIe)总线与非易失性存储器子系统(例如,固态驱动器(SSD))通信的寄存器级接口的标准。NVMe是用于在主机与外围目标存储设备或系统之间进行连接和传输数据的小型计算机系统接口(SCSI)标准的替代。PCIe连接的NVMe SSD允许应用直接与存储进行通信。
在背景技术部分中公开的上述信息仅用于增强对本发明背景的理解,因此其可以包含不构成现有技术的信息。
发明内容
本发明内容被提供用来介绍将在以下详细描述中进一步描述的本公开的实施例的特征和概念的选择。本发明内容并不旨在识别出所要求保护的主题的关键的或必要的特征,也不旨在用于限制所要求保护的主题的范围。所描述的特征中的一个或多个可以与一个或多个其他描述的特征进行组合以提供可行的设备(workable device)。
本公开的示例实施例的各方面涉及用于支持基于现场可编程门阵列(FPGA)的插卡(AIC)固态驱动器(SSD)的方法和装置。
根据本公开的一些示例实施例,一种网络附接设备包括:印刷电路板(PCB);固态驱动器(SSD),经由至少一个SSD连接器连接在PCB的第一侧;至少一个现场可编程门阵列(FPGA),在PCB的第二侧附接到PCB;以及至少一个前端连接器,在PCB的第三侧附接到PCB,其中,该设备被配置为基于经由至少一个前端连接器接收的命令来处理存储在SSD中的数据。
在一些示例实施例中,SSD是高速外围部件互连(PCIe)插卡(AIC)SSD,其中至少一个SSD连接器包括第一SSD连接器和第二SSD连接器,第一SSD连接器是垂直PCIe边缘连接器,而第二SSD连接器是PCIe插座连接器。在一些示例实施例中,垂直PCIe边缘连接器的第一侧在PCIe AIC SSD的第一侧附接并电连接到PCIe AIC SSD,并且垂直PCIe边缘连接器的第二侧电连接并附接到PCIe插座连接器的第一侧,PCIe插座连接器的第二侧电连接并附接到PCB的第一侧。
在一些示例实施例中,该设备还包括第一结构支撑、第二结构支撑、第三结构支撑和第四结构支撑,其中,第一结构支撑和第二结构支撑位于PCB的第二侧和SSD的第一侧之间,并且其中,第三结构支撑和第四结构支撑位于PCB的第二侧和金属壳体的第一侧之间,其中,该设备封闭在金属壳体中,并且第一结构支撑、第二结构支撑、第三结构支撑和第四结构支撑是金属支座。在一些示例实施例中,SSD的长度是110mm,以及设备的长度在110mm和142.2mm之间。在一些示例实施例中,至少一个FPGA的第一侧附接到PCB的第二侧,至少一个FPGA电连接到PCB,并执行一个或多个加速功能。
在一些示例实施例中,该设备还包括附接在SSD的第二侧的第一界面层和附接在至少一个FPGA的第二侧的第二界面层,其中,第一界面层和第二界面层被用来传递在SSD和至少一个FPGA的操作期间由SSD和至少一个FPGA产生的热。在一些示例实施例中,PCB的长度等于或长于SSD的长度。在一些示例实施例中,PCB的长度等于或长于至少一个FPGA的长度,至少一个FPGA的长度是80mm。
在一些示例实施例中,SSD是U.2SSD或SFF-TA-1008SSD,其中,当SSD是U.2SSD时,至少一个SSD连接器是U.2连接器,而当SSD是SFF-TA-1008SSD时,至少一个SSD连接器是SFF-TA-1008连接器。在一些示例实施例中,至少一个前端连接器是U.2连接器或SFF-TA-1008连接器。在一些示例实施例中,7.5x 76x 104.9mm SFF-TA-1008连接器支持高达25W,7.5x 76x 142.2mm SFF-TA-1008连接器支持高达35W,16.8x 76x 104.9mm SFF-TA-1008连接器支持高达70W,以及16.8x 76x 142.2mm SFF-TA-1008连接器支持高达70W。
在一些示例实施例中,一种网络附接系统包括:第一界面层;固态驱动器(SSD),在SSD的第一侧附接到第一界面层;印刷电路板(PCB),连接到SSD的第二侧,PCB的第一侧经由至少一个SSD连接器连接到SSD的第二侧;至少一个现场可编程门阵列(FPGA),在PCB的第二侧附接到PCB,其中,FPGA的第一侧附接到PCB;第二界面层,在FPGA的第二侧附接到FPGA;以及至少一个前端连接器,在PCB的第三侧附接到PCB,其中,该系统被配置为基于经由至少一个前端连接器接收的命令处理存储在SSD中的数据。
在一些示例实施例中,SSD是高速外围部件互连(PCIe)插卡(AIC)SSD,其中,至少一个SSD连接器包括第一SSD连接器和第二SSD连接器,第一SSD连接器是垂直PCIe边缘连接器,而第二SSD连接器是PCIe插座连接器。在一些示例实施例中,垂直PCIe边缘连接器的第一侧在PCIe AIC SSD的第二侧附接并电连接到PCIe AIC SSD,并且垂直PCIe边缘连接器的第二侧电连接并附接到PCIe插座连接器的第一侧,PCIe插座连接器的第二侧电连接并附接到PCB的第一侧。
在一些示例实施例中,该系统还包括第一结构支撑、第二结构支撑、第三结构支撑和第四结构支撑,其中,第一结构支撑和第二结构支撑位于PCB的第二侧和SSD的第二侧之间,并且其中,第三结构支撑和第四结构支撑位于PCB的第二侧和金属壳体的第一侧之间,其中,该系统封闭在金属壳体中,并且第一结构支撑、第二结构支撑、第三结构支撑和第四结构支撑是金属支座。在一些示例实施例中,SSD的长度为110mm,系统的长度在110mm和142.2mm之间,而至少一个FPGA的长度为80mm,至少一个FPGA执行一个或多个加速功能。
在一些示例实施例中,一种网络附接方法包括:在处理设备处从主机设备接收命令;在处理设备处接收存储在经由至少一个固态驱动器(SSD)连接器连接到处理设备的SSD中的数据集;在处理设备处基于从主机设备接收的命令处理从SSD接收的数据集;以及由处理设备将处理从SSD接收的数据集的一个或多个结果发送到主机设备。
在一些示例实施例中,该方法还包括:在位于处理设备附近的多个存储设备处存储从SSD接收的数据集,其中,处理设备是现场可编程门阵列(FPGA)设备,而位于处理设备附近的多个存储设备是多个DDR4存储器。在一些示例实施例中,SSD是高速外围部件互连(PCIe)插卡(AIC)SSD,其中至少一个SSD连接器包括第一SSD连接器和第二SSD连接器,第一SSD连接器是垂直PCIe边缘连接器,而第二SSD连接器是PCIe插座连接器。
附图说明
参考说明书、权利要求和附图,将领会和理解本发明的一些示例实施例的这些以及其他特征,在附图中:
图1示出了根据本发明的一些示例实施例的连接到SSD的示例PCIe插卡(AIC)的框图;
图2示出了根据本发明的一些示例实施例的金属壳体中的设备的横截面视图;
图3示出了根据本发明的一些示例实施例的在附接到SSD的PCIe AIC中执行的存储内(in-storage)处理的方法的流程图;以及
图4示出了根据本发明的一些示例实施例的组件的俯视图。
具体实施方式
以下结合附图阐述的详细描述旨在作为根据本发明提供的支持基于FPGA的插卡(AIC)SSD的系统和方法的一些示例实施例的描述,而不是旨在表示可以构造或利用本发明的唯一形式。所述描述结合所示实施例阐述了本发明的特征。然而,将理解,相同或等同的功能和结构可以通过不同的实施例来实现,这些实施例也旨在包含在本发明的范围内。如本文中其他地方所表示的,相似的元素编号旨在表示相似的元素或特征。
NVMe是定义用于主机软件通过PCIe总线与非易失性存储器子系统(例如,SSD)进行通信的寄存器级接口的标准。NVMe是用于在主机与外围目标存储设备或系统之间连接和传输数据的SCSI标准的替代。PCIe连接的NVMe SSD允许应用直接与存储进行通信。
NVMe的物理连接基于PCIe总线。典型的SSD具有标准连接器(例如U.2),用于通过PCIe总线经由中平面(mid-plane)与系统进行接口连接(interface)。U.2(SFF-8639)是用于将SSD连接到计算机的计算机接口。U.2连接器能够支持两个串行高级技术附件(SerialAdvanced Technology Attachment,SATA)或串行附接SCSI(Serial Attached SCSI,SAS)端口、以及PCIe SSD中并行I/O的多达四个通道(lane)(X4)。如果未使用,则可以根据需要将两个PCIe通道1和2可选地用作附加的SAS端口。U.2连接器针对NVMe进行标准化,并且支持PCIe 3.0X4,提供了典型SATA SSD的五倍的速度。
NVMe over fabric(NVMe-oF)是NVMe标准的扩展,使得能够实现在除了PCIe以外的各种组构(或互连)上操作。这里,术语“组构(fabric)”表示网络拓扑,其中网络节点能够通过各种互连协议、端口和交换机(switch)相互传递数据。例如,以太网附接的SSD可以直接附接到组构,并且在这种情况下,组构是以太网。
NVMe-oF使得能够使用到PCIe的替代传输(alternate transport),其扩展了NVMe主机设备和NVMe存储驱动器或子系统能够连接的距离。因此,NVMe-oF是一种技术规范,被设计为使得基于非易失性存储器高速消息的命令能够通过诸如以太网、光纤信道(FC)或InfiniBand的网络在主计算机和目标固态存储设备(例如,eSSD或NVMe-oF设备)或系统之间直接传输数据。当配置为支持NVMe-oF标准时,系统可以支持各种组构,不仅包括以太网,还包括光纤信道、InfiniBand和其他网络组构。例如,eSSD可以直接附接到组构,而在这种情况下,组构是以太网。eSSD可以指可支持NVMe-oF协议的SSD。
PCIe AIC SSD能够达到比SATA SSD更高的速度。PCIe AIC SSD具有HHHL(HalfHeight Half Length,半高半长)/FHHL(Full Height Half Length,全高半长)AIC形状因子(Form Factor),具有通过PCIe接口提供的更高的带宽。在一些示例实施例中,PCIe2.0X1可以提供5Gb/s的速度,PCIe 2.0X4可以提供20Gb/s的速度,并且PCIe 2.0X8可以提供40Gb/s的速度。因此,PCIe AIC SSD可能具有比市场上可得的其他SSD更高的速度的特征。PCIe AIC SSD中的大型PCB意味着存在用于多个NAND的空间,这相当于单个驱动器中的非常高的容量。在PCIe AIC SSD中,还存在用于散热器(heatsink)的空间,这对于驱动器经常在持续的时间段内处于加载的企业领域可能是有用的。
在一些配置中,采用PCIe SSD的FPGA的实现需要两个主要部件:i)插入器板,由FPGA、DDR4存储器、SPI NOR、时钟发生器等组成;以及ii)标准NVMe SSD,诸如AIC1725。此外,NVMe-oF SSD(eSSD)可能需要支持NVMe协议以实现向后兼容。但是,由于在PCIe复位后的10ms之内(通过在两端的PCIe状态机)自动发生快速PCIe链路训练,在FPGA内部实现类似功能而不修改现有PCIe IP可能是具有挑战性的。例如,SSD可能取决于(附接到SSD的)FPGA来决定SSD所在的机箱(chassis)(NVMe或NVMe-oF)或操作所需的协议。在一些示例中,这样的确定可能花费几分钟,这导致违反在复位已被无效(de-asserted)之后的<120mS的PCIe链路训练时段,并且可能在成功下载FPGA位文件(bit file)之后需要另一PCIe总线扫描。基于FPGA的插入器可能能够支持现有的包括PCIe形状因子的基于NVMe的SSD。因此,可能需要具有低延迟和高性能的符合成本效益的基于FPGA的PCIe AIC SSD。
本公开的实施例可以包括存储设备,例如,能够支持NVMe和NVMe-oF协议两者的基于FPGA的PCIe AIC SSD,并且当处于NVMe-oF模式时,基于FPGA的PCIe AIC SSD可能能够以从10千兆位每秒(Gbps)到100Gbps或更高的不同的以太网速度操作,而无需对其硬件进行任何改变。在一种配置中,PCIe AIC SSD可以采用与单个FPGA封装在一起的扩展2.5”小形状因子SSD。单个FPGA可能能够支持AIC SSD,以在保持相同FPGA成本的同时提高性能。另外,具有至少一个FPGA和AIC SSD的本公开的示例实施例可以适合现有的和/或新的SSD形状因子(例如,SFF-TA-1008或标准PCIe卡形状因子,例如,全高全长(FH-FL)卡轮廓或全高半长(FH-HL)卡轮廓)。
本公开的不同配置还可以与诸如50G和100G或更高的技术进步以及PCIe 4.0兼容。特别地,本申请的不同配置提供了可以支持NVMe和NVMe-oF协议两者以及AIC SSD的系统。此外,本申请的不同配置可以提供关于基于FPGA的AIC SSD如何理解其已经部署的位置以及作为其部署在数据集中的特定位置的结果应采用什么个性(personality)的公开。
在一些示例实施例中,这里公开的基于FPGA的PCIe AIC SSD是可以用在与NVMe和NVMe-oF标准兼容的多个系统中的单个公共设备。基于FPGA的PCIe AIC SSD可以使用诸如U.2或SFF-TA-1008的标准SSD连接器以经由中平面与主机设备进行接口连接。U.2连接器的未使用的SAS引脚可用于支持25Gbps(100G-KR4)以太网。这里公开的基于FPGA的AIC SSD可以是可用在与NVMe和NVMe-oF标准兼容的多个系统中的设备。这样,基于FPGA的AIC SSD也可以称为多模式(multi-mode)设备。
基于FPGA的AIC SSD可以通过检测来自已知位置的产品信息(例如,U.2的机箱类型引脚E6,其可以直接从主板或中平面驱动)而支持NVMe或NVMe-oF标准。例如,U.2连接器上的供应商定义的信号(例如,模式信号)可以向FPGA驱动器指示是以NVMe模式还是以NVMe-oF模式操作。如果存在于NVMe机箱中,则U.2连接器的PCIe X4通道可由AIC SSD控制器(或FPGA控制器)的EEPROM驱动。在这种情况下,设备可以禁用(disable)组构附接端口(Fabric attached port)(例如,以太网端口、光纤信道端口、或Infini Band端口),并且可以支持或启用(enable)所有NVMe协议和功能。如果存在于NVMe-oF机箱中,则可以通过仅使用未使用且可用的SAS引脚来启用组构附接端口。同样在一些示例实施例中,当在双端口(dual port)配置中操作时,本公开的基于FPGA的AIC SSD可以独立于FPGA自动配置和设置PCIe接口。
图1是示出根据一个实施例的连接到SSD 118的示例PCIe AIC 100的框图。PCIeAIC 100可以包括FPGA101。FPGA 101可以经由PCIe接口或PCIe X8连接器109在前端U.2连接器106和SSD 118之间提供接口。FPGA 101还可以连接到位于PCIe AIC 100附近的多个DDR4存储器。FPGA 101还可以连接到闪存驱动器103A-103B和时钟发生器电路114。前端U.2连接器106可以通过两个高速复用器110和112经由两个内部PCIe X4端点(EP)104和105连接到FPGA 101。FPGA 101还经由两个以太网连接(例如,以太网1和以太网2)连接到U.2连接器106。PCIe X4EP 104和PCIe X4EP 105可以用于通过复用器110经由U.2连接器106在中平面上向主板发送信号或分组,并且可以用于通过复用器112经由U.2连接器106在中平面上从主板接收分组。
FPGA 101可以经由连接到多个PCIe X4总线116A-116F的PCIe根端口(Root Port,RP)107和PCIe RP 108、通过两个复用器111和113以及PCIe X8连接器109与SSD 118进行接口连接。在一种配置中,PCIe X8连接器109可以是垂直或90度连接器,以将PCIe AIC 100的PCIe AIC PCB横向(laterally)连接到SSD 118。在一些示例实施例中,PCIe X8是指八个高速PCIe通道的集合(collection)。因此,PCIe X8连接器的可用带宽可以是使用PCIe X4连接器的可用带宽的两倍。这样,与PCIe X4连接器相比,PCIe X8连接器109可以支持更高的I/O(高达两倍)吞吐量和带宽。经由PCIe X8连接器109连接到FPGA 101的SSD 118还可以使得FPGA 101能够由于FPGA 101和SSD 118之间的总线带宽增加而实现高的加速度。
在一些示例实施例中,连接到SSD 118的PCIe AIC 100可以支持NVMe和NVMe-oF协议两者,并且当处于NVMe-oF模式时,连接到SSD 118的基于FPGA的PCIe AIC 100可能能够以从10Gbps到100Gbps或更高的不同的以太网速度操作,而无需对硬件进行任何改变。在一些示例实施例中,连接到SSD 118的PCIe AIC 100的操作模式(NVMe或NVMe-oF)可以是自配置的(self-configured),或使用物理引脚(例如,U.2连接器106的引脚E6可以用作可用在机箱上的指示协议(NVMe或NVMe-oF)的机箱类型引脚)或者通过来自主板的基板管理控制器(BMC)的带内(供应商定义的)命令在外部设置的。经由以太网连接器以太网1和以太网2通过以太网检索的可管理性信息被称为“带内”信息,而通过一个或多个PCIe X4总线(例如,116A-116F)检索的可管理性信息被称为“带外”信息。
在一些示例实施例中,当被配置为NVMe-oF设备时,即,当机箱类型引脚E6=高时,连接到SSD 118的多模式PCIe AIC 100可以配置为单端口NVMe-oF模式或双端口NVMe-oF模式。在单端口NVMe-oF模式中,U.2连接器106的引脚E25可以为高(非有效或未激活),并且在双端口NVMe-oF模式中,U.2连接器106的引脚E25可以被有效拉低(asserted low)或激活。在一些配置中,连接到SSD 118的PCIe AIC 100的不同操作速度可以通过使用位于中平面或CPLD上的两个附加的GPIO(Espeed[1:0])来实现,它们可以由在FPGA 101内部的一个或多个内部寄存器来控制。
在一些示例实施例中,可以通过使用连接到SSD 118的基于FPGA的PCIe AIC 100来实现有效的存储内计算(in-storage computing),其中,(部分)数据密集型处理可以从主机CPU移动到靠近数据源(例如,SSD 118)本身的PCIe AIC 100(“存储内处理”)。使用靠近数据源(例如,SSD 118)的PCIe AIC 100的存储内处理方法可以急剧减少要传输到主机的数据量,并且进而可以确保沿SSD 118中的数据路径的所有部件(例如,PCIe AIC 100)以平衡的方式被使用。在一些示例实施例中,对于扫描操作,存储内处理胜过传统的基于CPU的处理超过13倍。在一些其他示例实施例中,存储内处理可以提供高达7倍的可观(sizable)的节能。
例如,当连接到SSD 118的PCIe AIC 100在硬件加速模式下操作时,经由前端U.2连接器106连接到PCIe AIC 100的主机设备可能需要存储在SSD 118中的图像或特定文件。在这种情况下,主机设备可以向PCIe AIC 100中的FPGA 101发送命令,请求存储在SSD 118中的图像或特定文件。在从主机设备接收到这样的命令时,代替将存储在SSD 118中的整个数据集传送到主机设备以供主机CPU处理数据并恢复所请求的图像或文件,位于PCIe AIC100附近的一个或多个本地CPU可以将存储在SSD 118中的整个或部分数据集传输到PCIeAIC 100,并处理从SSD 118传输的数据以确定所请求的图像或特定文件。在由位于PCIeAIC 100附近的一个或多个本地CPU处理从SSD 118传输的数据期间,从SSD 118传输的数据可以临时存储在位于PCIe AIC 100附近的多个DDR4存储器中。一旦成功处理从SSD 118传输的数据,则PCIe AIC 100中的FPGA 101可以将处理操作的最终结果(例如,所请求的图像或文件)返回给主机设备。在一些示例实施例中,来自位于PCIe AIC 100附近的一个或多个本地CPU的处理操作的间歇步骤(intermittent steps)的结果可以存储在位于PCIe AIC100附近的多个DDR4存储器中。
因此,在PCIe AIC 100中的FPGA 101与主机设备之间传输的数据量可以比在PCIeAIC 100中的FPGA 101与SSD 118之间传输的数据量少得多,这进而可以节省将存储在SSD118中的数据传输到主机存储器以及从主机存储器传输到主机CPU设备可能需要的能量和带宽。在一些示例实施例中,将数据从外部存储器(例如,SSD)传输到主机设备所需的能量可以比在存储设备(例如,SSD)与直接连接到存储设备的FPGA之间传输数据所需的能量多10000倍。这样,本公开的不同示例实施例可以在存储设备(例如,SSD 118)中提供处理数据的更快且更能量有效的解决方案。
图2示出了金属壳体202中的设备200的横截面视图。设备200可以是连接到图1的SSD 118的PCIe AIC 100。设备200包括金属壳体202、第一热界面材料(TIM)层240、SSD模块204、垂直(90°)PCIe边缘连接器206、PCIe插座连接器254、多个金属支撑或支座(或螺钉)210、212、256、258、FPGA PCB 216、FPGA 222、第二TIM层236、以及诸如U.2连接器的前端连接器214。
在图2的示例实施例中,第一TIM层240的第一侧246附接到金属或导热金属壳体202的第一侧242(或与其热接触)。第一TIM层240的第二侧248附接到SSD模块204的第一侧224(或与其热接触)。SSD模块204经由垂直(90°)PCIe边缘连接器206和PCIe插座连接器254连接到FPGA PCB 216。垂直(90°)PCIe边缘连接器206的第一侧260在SSD模块204的第二侧226处附接并电连接到SSD模块204。垂直(90°)PCIe边缘连接器206以直角(right angle)附接到SSD模块204。垂直(90°)PCIe边缘连接器206的第二侧262电连接并附接到PCIe插座连接器254的第一侧264。PCIe插座连接器254的第二侧268电连接并附接到FPGA PCB 216的第一侧228。在一些示例实施例中,SSD模块204的长度可以是标准长度(例如,110mm),并且设备200的长度可以长于110mm。在一个示例中,FPGA PCB 216的长度可以等于或长于SSD模块204的长度。
在一个示例中,为SSD模块204提供结构支撑的第一金属(或其他合适的绝缘材料)支撑或支座212可以位于FPGA PCB 216的第二侧230和SSD模块204的第二侧226之间。第一金属支撑或支座212可以位于FPGA PCB 216的第四侧220和SSD模块204的第三侧208附近。为SSD模块204提供结构支撑的第二金属支撑或支座210也可以位于FPGA PCB 216的第二侧230和SSD模块204的第二侧226之间。第二金属支撑或支座210可以位于FPGA PCB 216的第三侧218附近。第三金属支座258和第四金属支座256可以位于FPGA PCB 216的第二侧230和金属壳体202的第二侧244之间,以向FPGA PCB 216提供结构支撑。
在图2的设备200中,FPGA PCB 216的第二侧230附接到FPGA 222的第一侧232。在一个示例中,FPGA 222可以安装在FPGA PCB 216的第二侧230上或者附接到FPGA PCB 216的第二侧230,并且电连接到FPGA PCB 216。FPGA 222的第二侧234在第二TIM层236的第一侧250处附接到第二TIM层236(或与其热接触)。第二TIM层236的第二侧252附接到金属壳体202的第二侧244(或与其热接触)。第一TIM层240和第二TIM层236可以用来扩散和散发在SSD模块204和FPGA 222的正常操作期间由诸如SSD模块204和FPGA 222的电子设备产生的热,以通过经由金属壳体202将产生的热传递到设备200的外部来防止设备200过热。在一个示例中,第二TIM层236的长度可以等于或长于或略微小于FPGA222的长度。诸如DDR4存储器的其他电子设备可能需要额外的TIM。在一些示例实施例中,FPGA 222的长度是80mm。
在一些示例实施例中,SSD模块204可以是PCIe SSD模块(例如,如图2中所示的PCIe AIC SSD)、U.2SSD模块(例如,在这种情况下,连接器206将被替换为U.2连接器)、或SFF-TA-1008SSD模块(例如,在这种情况下,连接器206将被替换为SFF-TA-1008连接器)。在一些示例实施例中,SSD模块可以包括多个存储元件(例如,NAND)、控制器、以及一个或多个连接器。在一些示例实施例中,SSD设备可以包括在壳体内的SSD模块。
在一个示例中,前端连接器214被安装在(或附接到)并且电连接到FPGA PCB 216。在一种配置中,设备200可以经由例如U.2连接器的前端连接器214支撑多个SAS端口(例如,SAS0和SAS1)以及PCIe X4总线的多达四个PCIe X4通道。两个SAS端口(SAS0和SAS1)未被设备200使用,并且当在NVMe-oF模式下操作时可以由设备200用作以太网端口。设备200可能能够以从10Gbps直到100Gbps或更高的不同以太网速度操作,而无需对硬件进行任何改变。
在一些示例实施例中,SFF-TA-1008连接器可以用作前端连接器214,以将设备200与中平面连接。在一些示例实施例中,设备200的长度可以在110mm和142.2mm之间。这样的长度可以使得设备200能够支持SFF-TA-1008连接器(代替U.2连接器)以将SSD模块204与中平面连接。在一些示例实施例中,7.5x 76x 104.9mm SFF-TA-1008连接器可支持高达25W,7.5x 76x 142.2mm SFF-TA-1008连接器可支持高达35W,16.8x 76x 104.9mm SFF-TA-1008连接器可支持高达70W,以及16.8x 76x 142.2mm SFF-TA-1008连接器可支持高达70W。
图3示出了根据本发明实施例的在附接到SSD的PCIe AIC中执行的存储内处理的方法300的流程图。PCIe AIC可以是图1的PCIe AIC 100,SSD可以是图1的SSD 118。
在302处,PCIe AIC经由前端连接器接收从连接到PCIe AIC的主机设备输入的命令。例如,PCIe AIC 100可以经由前端U.2连接器106从连接到PCIe AIC 100的主机设备接收命令,请求存储在SSD 118中的图像或特定文件。
在304处,PCIe AIC确定附接到PCIe AIC的SSD是否以硬件加速模式(例如,存在FPGA)操作。例如,在从主机设备接收到命令时,PCIe AIC 100可以确定SSD 118是否在硬件加速模式下操作。
如果在304处,PCIe AIC确定附接到PCIe AIC的SSD以硬件加速模式操作,则在306,PCIe AIC接收存储在附接到PCIe AIC的SSD中的整个或部分数据集。例如,在从主机设备接收到请求存储在SSD 118中的图像或特定文件的命令时,位于PCIe AIC 100附近的一个或多个本地CPU可以将存储在SSD 118中的整个或部分数据集传输到PCIe AIC 100,而不是将存储在SSD 118中的整个数据集传输到主机设备以供主机CPU处理数据并恢复所请求的图像或文件。
在308处,从SSD传输的数据集可以存储在位于PCIe AIC附近的多个本地存储器处。例如,在通过位于PCIe AIC 100附近的一个或多个本地CPU处理从SSD 118传输的数据期间,从SSD 118传输的数据可以临时存储在位于PCIe AIC 100附近的多个DDR4存储器中。
在310处,PCIe AIC基于从主机设备接收的命令处理存储在附接到PCIe AIC的SSD中的整个或部分数据集。例如,PCIe AIC 100可以处理从SSD 118传输的数据,以确定在PCIe AIC 100接收的命令中由主机设备请求的图像或特定文件。
在312处,PCIe AIC可以将结果返回给主机设备。例如,一旦成功处理从SSD 118传输的数据,则PCIe AIC可以将最终结果(例如,所请求的图像或文件)返回给主机设备。在一些示例实施例中,来自位于PCIe AIC 100附近的一个或多个本地CPU的处理操作的间歇步骤的结果可以存储在位于PCIe AIC 100附近的多个DDR4存储器中。
使用靠近数据源(例如,SSD 118)的PCIe AIC 100的存储内处理方法(例如,方法300)可以急剧减少要传输到主机的数据量,并且进而可以确保沿着SSD 118的数据路径的所有部件(例如,PCIe AIC 100)以平衡的方式被使用。因为在PCIe AIC和主机设备之间传输的数据量可能比在PCIe AIC和SSD 118之间传输的数据量少得多,所以将存储在SSD 118中的数据传输到主机设备所需的能量和带宽可以被节省。在一些示例实施例中,为了将存储在外部存储器(例如,SSD)中的数据传输到主机设备,可能需要比在存储设备(例如,SSD)与直接连接到存储设备的FPGA之间传输数据所需的能量多10000倍。这样,方法300可以在存储设备(例如,SSD 118)中提供处理数据的更快且更有效的解决方案。
图4示出了根据本公开的一些示例实施例的组件400的俯视图。该组件可以是图2的金属壳体202中的设备200。在一些示例实施例中,SSD 402可以是图2的SSD模块204,PCB406可以是图2的FPGA PCB 216,连接器404可以是图2的垂直(90°)PCIe边缘连接器206,并且插座408可以是图2的PCIe插座连接器254。在一些示例实施例中,连接器404可以是SFF-TA-1008连接器。在一些示例实施例中,7.5x 76x 104.9mm SFF-TA-1008连接器可支持高达25W,7.5x 76x 142.2mm SFF-TA-1008连接器可支持高达35W,16.8x 76x 104.9mm SFF-TA-1008连接器可支持高达70W,而16.8x 76x 142.2mm SFF-TA-1008连接器可支持高达70W。
将理解,尽管这里可以使用术语“第一”、“第二”、“第三”等来描述各种元素、部件、区域、层和/或部分,但是这些元素、部件、区域、层和/或部分不应受这些术语的限制。这些术语仅用于将一个元素、部件、区域、层或部分与另一个元素、部件、区域、层或部分区分开。因此,在不脱离本发明构思的精神和范围的情况下,这里讨论的第一元素、部件、区域、层或部分可以被称为第二元素、部件、区域、层或部分。
为了方便描述,这里可以使用空间相对术语,例如“下方”、“以下”、“下面”、“之下”、“上方”、“上面”等来描述如附图中所示的一个元素或特征与另一元素或特征的关系。将理解,除了附图中描绘的朝向之外,这种空间相对术语旨在包括使用中或操作中的设备的不同的朝向。例如,如果附图中的设备被翻转,则被描述为在其他元素或特征“以下”或“下方”或“之下”的元素将朝向为在其他元素或特征“上方”。因此,示例术语“以下”和“之下”可以包括上方和下方两种朝向。设备可以有其他朝向(例如,旋转90度或是其他朝向),并且应当相应地解释这里使用的空间相对描述。另外,还将理解,当层被称为在两个层“之间”时,它可以是两个层之间的唯一层,或者也可以存在一个或多个中间的层。
这里使用的术语仅用于描述特定实施例的目的,并不旨在限制本发明构思。如这里所使用的,术语“基本上”、“大约”以及类似的术语用作近似的术语而不是程度的术语,并且旨在解释那些将被本领域普通技术人员识别的测量值或计算值的固有偏差。
如这里所使用的,单数形式“一”和“一个”也旨在包括复数形式,除非上下文另有明确说明。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定所述的特征、整数、步骤、操作、元素和/或部件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、部件和/或它们的组合的存在或者添加。如这里所使用的,术语“和/或”包括一个或多个相关所列项目的任何以及所有的组合。诸如“……中的至少一个”的表述当在元素列表之后时,修饰整个元素列表而不修饰列表中的单独元素。此外,当描述本发明构思的实施例时,“可以”的使用是指“本发明的一个或多个实施例”。而且,术语“示例性”旨在表示示例或说明。如这里所使用的,术语“使用”、“正使用”和“使用的”可以被认为分别与术语“利用”、“正利用”和“利用的”同义。
将理解,当元素或层被称为“在(另一个元素或层)上”、“连接到”、“耦合到”或“邻近”另一个元素或层时,它可以直接在(另一个元素或层)上、连接到、耦合到、或邻近另一个元素或层,或者可以存在一个或多个中间的元素或层。相比之下,当元素或层被称为“直接在(另一个元素或层)上”、“直接连接到”、“直接耦合到”或“紧邻”另一个元素或层时,则不存在中间的元素或层。
这里所提到的任何数值范围旨在包括归入在所提到的范围内的相同数值精度的所有子范围。例如,“1.0到10.0”的范围旨在包括所提到的最小值1.0(含)和所提到的最大值10.0(含)之间的所有子范围,即,具有等于或大于1.0的最小值,以及等于或小于10.0的最大值,例如像2.4至7.6。这里所提到的任何最大数值限制旨在包括归入其中的所有较低的数值限制,并且在本说明书中提到的任何最小数值限制旨在包括归入其中的所有较高数值限制。
可以利用任何合适的硬件、固件(例如,专用集成电路)、软件、或软件、固件与硬件的组合来实现这里描述的根据本发明实施例的电子或电气设备和/或任何其他相关设备或部件。例如,这些设备的各种部件可以形成在一个集成电路(IC)芯片上或形成在单独的IC芯片上。此外,这些设备的各种部件可以在柔性印刷电路膜、带载封装(TCP)、印刷电路板(PCB)上实现,或者形成在一个基板上。此外,这些设备的各种部件可以是在一个或多个处理器上运行的进程或线程,在一个或多个计算设备中,运行计算机程序指令以及与其他系统部件交互用于执行这里所描述的各种功能。计算机程序指令存储在存储器中,该存储器可以在使用标准存储器设备(例如像随机存取存储器(RAM))的计算设备中实现。计算机程序指令还可以存储在其他非暂时性计算机可读介质中,例如像CD-ROM、闪存驱动器等。此外,本领域技术人员应认识到,在不脱离本发明的示例性实施例的精神和范围的情况下,各种计算设备的功能可以组合或集成到单个计算设备中,或者特定计算设备的功能可以分布在一个或多个其他计算设备上。
尽管这里已经具体描述和说明了用于支持基于FPGA的AIC SSD的系统和方法的示例性实施例,但是许多修改和变化对于本领域技术人员而言将是清楚的。因此,将理解,根据本发明原理构造的用于支持基于FPGA的AIC SSD的系统和方法可以实施为不同于这里所具体描述的。还在所附权利要求及其等同物中限定了本发明。

Claims (20)

1.一种网络附接设备,包括:
印刷电路板(PCB);
固态驱动器(SSD),经由至少一个SSD连接器连接在PCB的第一侧;
至少一个现场可编程门阵列(FPGA),在PCB的第二侧附接到PCB;以及
至少一个前端连接器,在PCB的第三侧附接到PCB,其中,所述设备被配置为基于经由所述至少一个前端连接器接收的命令来处理存储在SSD中的数据。
2.如权利要求1所述的设备,其中,所述SSD是高速外围部件互连(PCIe)插卡(AIC)SSD,其中,所述至少一个SSD连接器包括第一SSD连接器和第二SSD连接器,第一SSD连接器是垂直PCIe边缘连接器,而第二SSD连接器是PCIe插座连接器。
3.如权利要求2所述的设备,其中,所述垂直PCIe边缘连接器的第一侧在PCIe AIC SSD的第一侧附接并电连接到PCIe AIC SSD,所述垂直PCIe边缘连接器的第二侧电连接并附接到PCIe插座连接器的第一侧,所述PCIe插座连接器的第二侧电连接并附接到PCB的第一侧。
4.如权利要求1所述的设备,还包括第一结构支撑、第二结构支撑、第三结构支撑和第四结构支撑,其中,第一结构支撑和第二结构支撑位于PCB的第二侧和SSD的第一侧之间,并且其中,第三结构支撑和第四结构支撑位于PCB的第二侧和金属壳体的第一侧之间,其中,所述设备封闭在所述金属壳体中,并且第一结构支撑、第二结构支撑、第三结构支撑和第四结构支撑是金属支座。
5.如权利要求1所述的设备,其中,所述SSD的长度是110mm,所述设备的长度在110mm和142.2mm之间。
6.如权利要求1所述的设备,其中,所述至少一个FPGA的第一侧附接到PCB的第二侧,所述至少一个FPGA电连接到PCB,并执行一个或多个加速功能。
7.如权利要求6所述的设备,还包括附接在SSD的第二侧的第一界面层和附接在至少一个FPGA的第二侧的第二界面层,其中,第一界面层和第二界面层被用来传递在SSD和至少一个FPGA的操作期间由SSD和至少一个FPGA产生的热。
8.如权利要求1所述的设备,其中,所述PCB的长度等于或长于SSD的长度。
9.如权利要求1所述的设备,其中,所述PCB的长度等于或长于至少一个FPGA的长度,所述至少一个FPGA的长度是80mm。
10.如权利要求1所述的设备,其中,所述SSD是U.2SSD或SFF-TA-1008SSD,其中,当SSD是U.2SSD时,所述至少一个SSD连接器是U.2连接器,而当SSD是SFF-TA-1008SSD时,所述至少一个SSD连接器是SFF-TA-1008连接器。
11.如权利要求1所述的设备,其中,所述至少一个前端连接器是U.2连接器或SFF-TA-1008连接器。
12.如权利要求11所述的设备,其中,7.5x 76x 104.9mm SFF-TA-1008连接器支持高达25W,7.5x 76x 142.2mm SFF-TA-1008连接器支持高达35W,16.8x 76x 104.9mm SFF-TA-1008连接器支持高达70W,以及16.8x 76x 142.2mm SFF-TA-1008连接器支持高达70W。
13.一种网络附接系统,包括:
第一界面层;
固态驱动器(SSD),在SSD的第一侧附接到第一界面层;
印刷电路板(PCB),连接到SSD的第二侧,PCB的第一侧经由至少一个SSD连接器连接到SSD的第二侧;
至少一个现场可编程门阵列(FPGA),在PCB的第二侧附接到PCB,其中,FPGA的第一侧附接到PCB;
第二界面层,在FPGA的第二侧附接到FPGA;以及
至少一个前端连接器,在PCB的第三侧附接到PCB,其中,所述系统被配置为基于经由至少一个前端连接器接收的命令处理存储在SSD中的数据。
14.如权利要求13所述的系统,其中,所述SSD是高速外围部件互连(PCIe)插卡(AIC)SSD,其中,所述至少一个SSD连接器包括第一SSD连接器和第二SSD连接器,第一SSD连接器是垂直PCIe边缘连接器,而第二SSD连接器是PCIe插座连接器。
15.如权利要求14所述的系统,其中,垂直PCIe边缘连接器的第一侧在PCIe AIC SSD的第二侧附接并电连接到PCIe AIC SSD,并且垂直PCIe边缘连接器的第二侧电连接并附接到PCIe插座连接器的第一侧,PCIe插座连接器的第二侧电连接并附接到PCB的第一侧。
16.如权利要求13所述的系统,还包括第一结构支撑、第二结构支撑、第三结构支撑和第四结构支撑,其中,第一结构支撑和第二结构支撑位于PCB的第二侧和SSD的第二侧之间,并且其中,第三结构支撑和第四结构支撑位于PCB的第二侧和金属壳体的第一侧之间,其中,所述系统封闭在金属壳体中,并且第一结构支撑、第二结构支撑、第三结构支撑和第四结构支撑是金属支座。
17.如权利要求13所述的系统,其中,所述SSD的长度为110mm,所述系统的长度在110mm和142.2mm之间,而所述至少一个FPGA的长度为80mm,所述至少一个FPGA执行一个或多个加速功能。
18.一种网络附接方法,包括:
在处理设备处从主机设备接收命令;
在处理设备处接收存储在经由至少一个固态驱动器(SSD)连接器连接到处理设备的SSD中的数据集;
在处理设备处基于从主机设备接收的命令处理从SSD接收的数据集;以及
由处理设备将处理从SSD接收的数据集的一个或多个结果发送到主机设备。
19.如权利要求18所述的方法,还包括:
在位于处理设备附近的多个存储设备处存储从SSD接收的数据集,
其中,所述处理设备是现场可编程门阵列(FPGA)设备,而位于处理设备附近的多个存储设备是多个DDR4存储器。
20.如权利要求18所述的方法,其中,所述SSD是高速外围部件互连(PCIe)插卡(AIC)SSD,其中,所述至少一个SSD连接器包括第一SSD连接器和第二SSD连接器,第一SSD连接器是垂直PCIe边缘连接器,而第二SSD连接器是PCIe插座连接器。
CN201910173992.0A 2018-03-09 2019-03-08 网络附接方法、设备和系统 Pending CN110245105A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862641253P 2018-03-09 2018-03-09
US62/641,253 2018-03-09
US16/115,338 2018-08-28
US16/115,338 US10915469B2 (en) 2018-03-09 2018-08-28 Method and apparatus for supporting a field programmable gate array (FPGA) based add-in-card (AIC) solid state drive (SSD)

Publications (1)

Publication Number Publication Date
CN110245105A true CN110245105A (zh) 2019-09-17

Family

ID=67842626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910173992.0A Pending CN110245105A (zh) 2018-03-09 2019-03-08 网络附接方法、设备和系统

Country Status (3)

Country Link
US (3) US10915469B2 (zh)
KR (1) KR102403627B1 (zh)
CN (1) CN110245105A (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11249651B2 (en) * 2019-10-29 2022-02-15 Samsung Electronics Co., Ltd. System and method for hierarchical sort acceleration near storage
US11593240B2 (en) * 2020-02-12 2023-02-28 Samsung Electronics Co., Ltd. Device and method for verifying a component of a storage device
CN111338700B (zh) * 2020-02-24 2022-11-25 杭州迪普科技股份有限公司 加载fpga版本的方法及装置、存储介质
CN111538695A (zh) * 2020-04-22 2020-08-14 上海御渡半导体科技有限公司 一种基于fpga实现的pcie与spi转换适配器及方法
US11442733B2 (en) * 2021-01-29 2022-09-13 Seagate Technology Llc Embedded computation instruction performance profiling
CN114996193B (zh) * 2021-06-28 2024-05-03 河南科家创新科技集团有限公司 一种计算机督导及前端处理器系统
CN114003170B (zh) * 2021-09-17 2024-03-19 方一信息科技(上海)有限公司 一种基于FPGA的Raid卡驱动方法
US11880568B2 (en) 2021-11-17 2024-01-23 Seagate Technology Llc On demand configuration of FPGA interfaces

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955541A (zh) * 2011-08-17 2013-03-06 日立-Lg数据存储韩国公司 网络附接存储系统的通风设备
US20150371684A1 (en) * 2014-06-18 2015-12-24 NXGN Data, Inc. Ultra high capacity ssd
CN106462498A (zh) * 2014-06-23 2017-02-22 利奇德股份有限公司 用于数据存储系统的模块化交换架构
CN206147640U (zh) * 2016-09-28 2017-05-03 济南浪潮高新科技投资发展有限公司 一种基于国产fpga芯片的加解密电路板
US20170220505A1 (en) * 2016-01-29 2017-08-03 Liqid Inc. ENHANCED PCIe STORAGE DEVICE FORM FACTORS

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725946B2 (en) * 2009-03-23 2014-05-13 Ocz Storage Solutions, Inc. Mass storage system and method of using hard disk, solid-state media, PCIe edge connector, and raid controller
US9252985B2 (en) 2011-04-04 2016-02-02 Taejin Info Tech Co., Ltd Impedance matching between FPGA and memory modules
US9128662B2 (en) * 2011-12-23 2015-09-08 Novachips Canada Inc. Solid state drive memory system
US9678910B2 (en) 2014-04-25 2017-06-13 Liqid Inc. Power handling in a scalable storage system
US9501110B2 (en) 2014-06-05 2016-11-22 Liqid Inc. Adjustable data storage drive module carrier assembly
US10180889B2 (en) 2014-06-23 2019-01-15 Liqid Inc. Network failover handling in modular switched fabric based data storage systems
CN106339343B (zh) * 2015-07-10 2021-03-26 爱思开海力士有限公司 快速外设组件互联卡
US10467163B1 (en) * 2015-10-27 2019-11-05 Pavilion Data Systems, Inc. Solid state drive multiplexer
CN105677595A (zh) 2016-01-21 2016-06-15 方一信息科技(上海)有限公司 一种同时实现计算加速和pciessd存储的fpga方法
US20170269871A1 (en) 2016-03-16 2017-09-21 Intel Corporation Data storage system with persistent status display for memory storage devices
WO2018006393A1 (en) 2016-07-08 2018-01-11 SZ DJI Technology Co., Ltd. Method and system for storing images

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955541A (zh) * 2011-08-17 2013-03-06 日立-Lg数据存储韩国公司 网络附接存储系统的通风设备
US20150371684A1 (en) * 2014-06-18 2015-12-24 NXGN Data, Inc. Ultra high capacity ssd
CN106462498A (zh) * 2014-06-23 2017-02-22 利奇德股份有限公司 用于数据存储系统的模块化交换架构
US20170220505A1 (en) * 2016-01-29 2017-08-03 Liqid Inc. ENHANCED PCIe STORAGE DEVICE FORM FACTORS
CN206147640U (zh) * 2016-09-28 2017-05-03 济南浪潮高新科技投资发展有限公司 一种基于国产fpga芯片的加解密电路板

Also Published As

Publication number Publication date
KR102403627B1 (ko) 2022-05-30
KR20190106676A (ko) 2019-09-18
US10915469B2 (en) 2021-02-09
US11520714B2 (en) 2022-12-06
US20230101283A1 (en) 2023-03-30
US20190278720A1 (en) 2019-09-12
US20210124697A1 (en) 2021-04-29

Similar Documents

Publication Publication Date Title
CN110245105A (zh) 网络附接方法、设备和系统
KR102542578B1 (ko) 플렉시블 스토리지 플랫폼을 위한 다중 프로토콜 io 인프라스트럭쳐
US20220188002A1 (en) Sff-ta-100x based multi-mode protocols solid state devices
JP7134894B2 (ja) ストレージシステム、及びプログラマブルロジックデバイス
US11599482B2 (en) Systems, methods and apparatus for a storage controller with multi-mode PCIe functionalities
US10467163B1 (en) Solid state drive multiplexer
US7668984B2 (en) Low latency send queues in I/O adapter hardware
US9720864B2 (en) Flexible server system
Jun et al. Scalable multi-access flash store for big data analytics
WO2018017661A1 (en) Independent scaling of compute resources and storage resources in a storage system
US8843689B2 (en) Concurrent repair of the PCIe switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system
US8898359B2 (en) Bandwidth limiting on generated PCIe packets from debug source
EP3671478B1 (en) Securely providing multiple wake-up time options for pci express
US11706895B2 (en) Independent scaling of compute resources and storage resources in a storage system
US11003607B2 (en) NVMF storage to NIC card coupling over a dedicated bus
EP3716085B1 (en) Technologies for flexible i/o endpoint acceleration
US10657077B2 (en) HyperConverged NVMF storage-NIC card
US10402197B2 (en) Kernel thread network stack buffering
JP6244233B2 (ja) 集積回路および記憶デバイス
US10031876B2 (en) Server system and management method thereof

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