CN107145459A - 一种级联板、ssd远程共享访问的系统和方法 - Google Patents

一种级联板、ssd远程共享访问的系统和方法 Download PDF

Info

Publication number
CN107145459A
CN107145459A CN201610115698.0A CN201610115698A CN107145459A CN 107145459 A CN107145459 A CN 107145459A CN 201610115698 A CN201610115698 A CN 201610115698A CN 107145459 A CN107145459 A CN 107145459A
Authority
CN
China
Prior art keywords
ssd
access
process device
rdma
access process
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
CN201610115698.0A
Other languages
English (en)
Other versions
CN107145459B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610115698.0A priority Critical patent/CN107145459B/zh
Priority to CN202110542659.XA priority patent/CN113407244A/zh
Priority to PCT/CN2017/074148 priority patent/WO2017148292A1/zh
Publication of CN107145459A publication Critical patent/CN107145459A/zh
Priority to US16/118,850 priority patent/US10901638B2/en
Application granted granted Critical
Publication of CN107145459B publication Critical patent/CN107145459B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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/4403Processor initialisation
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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]

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)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种级联板、SSD远程共享访问的系统和方法,属于通信领域。所述级联板一端连接RDMA网络,另一端连接SSD,所述级联板包括访问处理装置和与所述访问处理装置耦接的CPU,其中:所述CPU,用于完成对所述访问处理装置和所述SSD的初始化;所述访问处理装置,用于在接收到来自RDMA网络的访问命令时,实现对所述SSD的RDMA访问。本发明用于对SSD进行远程共享访问。

Description

一种级联板、SSD远程共享访问的系统和方法
技术领域
本发明涉及通信领域,特别涉及一种级联板、SSD远程共享访问的系统和方法。
背景技术
固态硬盘(Solid State Drive,SSD)是用固态电子存储芯片阵列而制成的硬盘。SSD因具有读写速度快、功耗低、轻便等优点,现在已受到越来越多人的欢迎。
当前,随着SSD容量和性能的不断提升,人们越来越关注把单个或一组SSD共享给通过网络相连的其他各种不同设备使用,以充分利用SSD所具有的多种特性。
相关技术在实现对SSD的远端共享访问的过程中,远端设备对SSD的访问会经过处理器(CPU)来处理。即处理器接收来自远程直接内层访问(RemoteDirect Memory Access,RDMA)网络的SSD访问命令,并将该命令转发给对应的SSD。但是,这种访问方式会引入软件处理的时间,导致访问时延增加。
发明内容
本发明实施例提供一种级联板、SSD远程共享访问的系统和方法,以减小对SSD的远程共享访问的时延。
第一方面,提供一种级联板,所述级联板一端连接RDMA网络,另一端连接SSD,所述级联板包括访问处理装置和与所述访问处理装置耦接的CPU,其中:
所述CPU,用于完成对所述访问处理装置和所述SSD的初始化;
所述访问处理装置,用于在接收到来自RDMA网络的访问命令时,实现对所述SSD的RDMA访问。
其中,所述访问处理装置为用于处理远程共享访问的装置,而所述CPU不再处理远程共享访问,只是用于对所述访问处理装置和所述SSD的初始化。如此,可以避免因CPU实现对SSD的远程共享访问而引入的软件处理时间,因而能够减小对SSD的远程共享访问的时延,实现对SSD远端共享访问的同时不增加访问时间。
结合第一方面,在第一种可能的实现方式中,所述访问处理装置包括:RDMA接口以及存储器,其中:
所述RDMA接口用于连接到RDMA网络;
所述存储器用于保存访问队列。
本发明实施例中,由访问处理装置完成对SSD的RDMA,所述访问处理装置中可设置存储器,以保存访问队列。访问处理装置中相应设有RDMA接口以便于与RDMA网络相连。
结合第一方面,在第二种可能的实现方式中,所述级联板还包括PCIe(Peripheral Component Interface Express,周边组件接口高速)交换芯片,所述PCIe交换芯片分别与所述CPU和所述访问处理装置相连,并连接所述SSD。
在本发明实施例中,在不存在PCIe交换芯片时,CPU会与SSD直接连接,采用这种连接方式,CPU所连接的SSD的数目是受限的,不会很多。这样,在存在众多SSD时,CPU直接SSD的方式则无法满足需求。本发明实施例通过引入PCIe交换芯片,一方面可以使级联板通过PCIe交换芯片103连接更多地SSD,另一方面可以更好地起到连接访问处理装置102和CPU 101的作用,在访问处理装置102和CPU 101之间充当转接器,并实现数据的高效转发传输。
结合第一方面的第二种实现方式,在第三种可能的实现方式中,所述访问处理装置包括:PCIe接口、RDMA接口以及存储器;
所述PCIe接口用于连接到所述PCIe交换芯片;
所述RDMA接口用于连接到RDMA网络;
所述存储器用于保存访问队列。
在级联板中存在PCIe交换芯片的情况下,适应性地,访问处理装置中除了可设置RDMA接口和存储器外,还可设有PCIe接口,以与PCIe交换芯片连接。
结合第一方面的上面任一种实现方式,在第四种可能的实现方式中,所述访问处理装置为现场可编程门阵列(Field Programmable Gate Array,FPGA)或特定用途集成电路(Application Specific Integrated Circuit,ASIC)。FPGA和ASIC因其较快的处理速度,特别适合于作为访问处理装置。
结合第一方面的第四种实现方式,在第五种可能的实现方式中,所述CPU、所述访问处理装置和所述PCIe交换芯片集成在一起。在本发明实施例中,CPU、访问处理装置和PCIe交互芯片可集成在一起,例如集成在一个芯片上。如此,可以节省级联板的空间。
第二方面,提供一种SSD远程共享访问的系统,所述系统包括至少一个SSD、至少一个控制器以及上面第一方面所述的任一种级联板;其中:
所述控制器通过RDMA网络与所述级联板相连,并通过所述RDMA网络向所述访问处理装置发送访问命令。
所述控制器可以存储控制器。
本发明实施例提供的SSD远程共享访问的系统,由CPU来完成对访问处理装置和SSD的初始化,并由访问处理装置来完成对SSD的RDMA,由此能够将初始化过程和访问过程分成两个相互独立的过程,通过引入访问处理装置(例如FPGA或ASIC)这一硬件来完成对SSD的RDMA访问,可以避免因CPU实现对SSD的RDMA访问而引入的软件处理时间,进而能够减小对SSD的远程共享访问的时延,实现对SSD远端共享访问的同时不增加访问时间。
结合第二方面,在一种可能的实现方式中,所述系统还包括RDMA交换机,所述RDMA交换机用于连接所述控制器和所述级联板。
在级联板的数目较多时,本发明实施例提供的SSD共享访问的系统中还可包括多个RDMA交换机,通过所述RDMA交换机来实现对多个级联板的连接。当然,在本发明的范围内,在级联板数目较少时,也可以只用一个RDMA交换机来连接。
第三方面,提供一种SSD远程共享访问的方法,所述方法包括:
CPU对访问处理装置和SSD进行初始化;
访问处理装置在接收到来自RDMA网络的访问命令时,实现对所述SSD的RDMA访问。
本发明实施例中的硬盘访问的方法,由CPU来完成对访问处理装置和SSD的初始化,并由访问处理装置来完成对SSD的RDMA,由此能够将初始化过程和访问过程分成两个相互独立的过程,通过引入访问处理装置(例如FPGA或ASIC)这一硬件来完成对SSD的RDMA访问,可以避免因CPU实现对SSD的RDMA访问而引入的软件处理时间,进而能够减小对SSD的远程共享访问的时延,实现对SSD远端共享访问的同时不增加访问时间。
结合第三方面,在第一种可能的实现方式中,所述CPU对访问处理装置进行初始化包括:
所述CPU根据访问队列的配置信息,在所述访问处理装置上分配用于存储所述访问队列的存储空间,并初始化所述访问队列;
所述CPU将中断接收端指定为所述访问处理装置。
在本发明实施例中,由CPU来完成对访问处理装置的初始化,在初始化过程中,会将中断接收端指定为访问处理装置,这样一来,后续SSD在执行完远程共享访问命令后会向访问处理装置而非CPU反馈中断。访问处理装置根据SSD反馈的终端即可获知SSD已执行完命令。
结合第三方面或第三方面的第一种实现方式,在第二种可能的实现方式中,所述访问处理装置在接收到访问命令时,实现对所述SSD的RDMA访问包括:
所述访问处理装置在接收到访问命令时,提示所述访问命令对应的SSD进行访问作业;
所述访问处理装置在接收到来自所述SSD的中断后,通过RDMA网络返回数据或状态信息。
在CPU完成对访问处理装置的初始化之后,后续访问处理装置在接收到对SSD的访问命令时,即可按照新的作业流程来处理。
结合第三方面的任一种实现方式,在第三种可能的实现方式中,所述访问处理装置为FPGA或ASIC。FPGA和ASIC因其较快的处理速度,特别适合于作为访问处理装置。
可选地,所述CPU和所述访问处理装置之间存在PCIe交互芯片,所述CPU和所述访问处理装置之间的交互可通过PCIe交互芯片来传递。
在本发明实施例中,CPU、访问处理装置和PCIe交互芯片可集成在一起,例如集成在一个芯片上。如此,可以节省级联板的空间。
本发明实施例中的级联板、SSD远程共享访问的系统和方法,由CPU来完成对访问处理装置和SSD的初始化,并由访问处理装置来完成对SSD的RDMA,由此能够将初始化过程和访问过程分成两个相互独立的过程,通过引入访问处理装置(例如FPGA或ASIC)这一硬件来完成对SSD的RDMA访问,可以避免因CPU实现对SSD的RDMA访问而引入的软件处理时间,进而能够减小对SSD的远程共享访问的时延,实现对SSD远端共享访问的同时不增加访问时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实现对SSD远程共享访问的系统的基本框架图;
图2是本发明实施例提供的另一种实现对SSD远程共享访问的系统的基本框架图;
图3是本发明实施例提供的访问处理装置的内部结构图;
图4是本发明实施例提供的另一种实现对SSD远程共享访问的系统的基本框架图;
图5是本发明实施例提供的硬盘访问的方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种实现对SSD远程共享访问的系统的基本框架图。
参照图1,本发明实施例提供的对SSD远程共享访问的系统可包括级联板10、与级联板相连的硬盘104、以及通过网络110与级联板相连的控制器106。其中,控制器106可以为一个单独设立的装置,也可以为在网络上连接的网络设备中的控制器。所述控制器106用于接收RDMA访问请求,并控制级联板10的操作;所述RDMA访问请求可以来自于网络上的任一网络设备。与级联板相连的硬盘104可以为诸如PCIe(Peripheral Component Interface Express,周边组件接口高速)SSD的固态硬盘,所述PCIe SSD可以为NVMe SSD和非NVMe SSD,其中NVMe(NVM express,NVM高速)为因特尔(Intel)公司定义的一种SSD访问协议。当所述PCIe SSD为非NVMe的SSD时,所述非NVMe SSD的访问协议是开放的。网络110可以为RDMA网络。在本发明实施例中,存储控制器106可以与级联板10处于同一局域网内,当然存储控制器106也可以和级联板10处于不同的局域网内。
所述级联板10可包括访问处理装置102和与所述访问处理装置102耦接的处理器(CPU)101。所述级联板中的访问处理装置102可连接网络110,所述处理器101可连接硬盘104。所述访问处理装置102可以为FPGA或ASIC等。其中:
所述CPU 101,用于在上电时完成对所述访问处理装置和所述SSD的初始化。
所述访问处理装置102,用于存在接收到来自RDMA网络110的访问命令时,实现对所述SSD104的RDMA访问。
其中,可由所述存储控制器106通过所述网络110向所述访问处理装置102发送访问命令。
本发明实施例中的级联板,由CPU来完成对访问处理装置和SSD的初始化,并由访问处理装置来完成对SSD的RDMA,由此能够将初始化过程和访问过程分成两个相互独立的过程,通过引入访问处理装置(例如FPGA或ASIC)这一硬件来完成对SSD的RDMA访问,可以避免因CPU实现对SSD的RDMA访问而引入的软件处理时间,进而能够减小对SSD的远程共享访问的时延,实现对SSD远端共享访问的同时不增加访问时间。
图2是本发明实施例提供的另一种实现对SSD远程共享访问的系统的基本框架图。在下文描述中,以图2所示系统中的访问处理装置102为FPGA或ASIC,硬盘104为NVMe SSD,网络110为RDMA网络为例进行说明。
在图1所示实施例的基础上,图2所示系统中的级联板10中引入了PCIe交换芯片103。即,所述级联板10除了包括CPU 101和FPGA或ASIC 102外,还可包括PCIe交换芯片103。所述PCIe交换芯片103分别与所述CPU 101和所述访问处理装置102相连,并连接所述SSD 104。
在图2所示系统中还可包括RDMA网络连接装置105,所述RDMA网络连接装置位于RDMA网络110中,充当RDMA网络的接口,以连接所述存储控制器106和所述FPGA或ASIC 102。
在本发明实施例中,所述RDMA网络连接装置105可以为FPGA或ASIC,也可以为普通的支持RDMA网络的网络芯片。
NVMe SSD 104为标准的PCIe接口的SSD。NVMe SSD 104和FPGA/ASIC102通过PCIe交换芯片103连接到处理器101,处理器101作为NVMe SSD104和FPGA/ASIC102的主机(host),完成NVMe SSD104和FPGA/ASIC102的初始化配置和管理,但处理器101不参与具体的硬盘访问业务。
在本实施例中,在级联板10中引入PCIe交换芯片103,这样一来,一方面可以使级联板通过PCIe交换芯片103连接更多地SSD(因为图1所示方式CPU连接的SSD数目往往受限),另一方面可以更好地起到连接访问处理装置102和CPU 101的作用,在访问处理装置102和CPU 101之间充当转接器,并实现数据的高效转发传输。
在本发明实施例中,FPGA/ASIC 102可以是定制的网络芯片,其特性在于该网络芯片内部集成了一定的存储空间(例如,随机存取存储器(Random AccessMemory,RAM))并允许创建和管理NVMe访问队列。
图3是本发明实施例提供的访问处理装置的内部结构图。参见图3,图3所示访问处理装置为FPGA或ASIC。FPGA或ASIC 102可包括:PCIe接口102-1、RDMA接102-2口以及存储器102-3。其中:
所述PCIe接口102-1用于连接到所述PCIe交换芯片103;
所述RDMA接口102-2用于连接到外接网络110,例如RDMA网络;
所述存储器102-3用于保存访问队列。
其中,存储器102-3可以是随机存取存储器(Random Access Memory,RAM),允许CPU 101在此存储空间创建NVMe访问队列,同时在存储控制器106对完成队列(completion queue,CQ)/提交队列(submission queue,SQ)进行操作后,触发对应的NVMe SSD的门铃控制器(doorbell)。
在此需要说明的是,在图1所示情形下,即不存在PCIe交换芯片103时,访问处理装置102可只包括:RDMA接口102-2和存储器102-3,而不包括PCIe接口102-1。
本实施例提供的对SSD远程共享访问的系统能够适用于级联板连接多个SSD的情形,能够减小对SSD的远程共享访问的时延,使得存储控制器可以实现对多个SSD的高效访问。
图4是本发明实施例提供的另一种实现对SSD远程共享访问的系统的基本框架图。
参见图4,本实施例中的对SSD远程共享访问的系统中包含多个存储控制器106,它们通过多个例如两个RDMA交换机107连接到一台或多台NVMe SSD盘框100上,所示盘框100为一个双控盘框,包含两个盘框管理单元10,所述盘框管理单元10可以为级联板。每个盘框管理单元10包含管理处理器(CPU)101、PCIe交换芯片103以及FPGA/ASIC 102,两个盘框管理单元109连接到一定数量的双端口标准NVMe SSD 104上。
需要指出的是,图4所示的系统仅为示例。图4中所示的存储控制器的数目、交换机的数目、盘框管理单元10的数目、NVMe SSD 104的数目都是非限制性的,在本发明的范围内,各个装置可以采用任何其他数目来实施本发明。例如,在本发明实施例中,盘框100也可以是单控设备,即只包含一个盘框管理单元(即级联板)10;又例如,NVMe SSD可以是单端口标准NVMe SSD。
在上面各个对SSD远程共享访问的系统的实施例中,均可以由CPU来完成对所述访问处理装置和所述SSD的初始化,而由访问处理装置在接收到来自RDMA网络的访问命令时,实现对所述SSD的RDMA访问,如此,能够以极少的时延实现对NVMe SSD的远程直接访问。
本发明实施例还提供一种硬盘访问的方法。下面结合图5对本发明实施例提供的硬盘访问的方法进行阐述。参照图5,本发明实施例提供的硬盘访问的方法可包括:
51、CPU对访问处理装置和SSD进行初始化;
52、访问处理装置在接收到来自RDMA网络的访问命令时,实现对所述SSD的RDMA访问。
其中,所述访问处理装置可以为FPGA或ASIC。
可选地,在一个实施例中,步骤51中所述CPU对访问处理装置进行初始化可包括:
所述CPU根据访问队列的配置信息,在所述访问处理装置上分配用于存储所述访问队列的存储空间,并初始化所述访问队列;
所述CPU将中断接收端指定为所述访问处理装置。
可选地,在另一个实施例中,步骤52中所述访问处理装置在接收到访问命令时,实现对所述SSD的RDMA访问可包括:
所述访问处理装置在接收到访问命令时,提示所述访问命令对应的SSD进行访问作业;
所述访问处理装置在接收到来自所述SSD的中断后,通过RDMA网络返回数据或状态信息。
本发明实施例中的硬盘访问的方法,由CPU来完成对访问处理装置和SSD的初始化,并由访问处理装置来完成对SSD的RDMA,由此能够将初始化过程和访问过程分成两个相互独立的过程,通过引入访问处理装置(例如FPGA或ASIC)这一硬件来完成对SSD的RDMA访问,可以避免因CPU实现对SSD的RDMA访问而引入的软件处理时间,进而能够减小对SSD的远程共享访问的时延,实现对SSD远端共享访问的同时不增加访问时间。
为了便于进一步理解本发明的具体实现过程。下面对初始化和访问过程进行进一步阐释。
具体地,在级联板10上电后,由CPU 101进行初始化的过程可以如下:
1)级联板10上电启动;
2)CPU 101进行PCIe外设初始化,例如完成对一些相关寄存器的初始化;
3)CPU 101初始化访问处理装置102,并建立访问处理装置102与存储控制器106的通信;
4)CPU 101执行对SSD 104的设备初始化;
5)CPU 101根据预先制定的策略从本地获取队列配置信息或从存储控制器106获得队列配置信息,在访问处理装置102上分配存储空间(例如RAM)并初始化NVMe访问队列,并根据NVMe协议要求获取各个访问队列对应的门铃地址和中断号,并将各个访问队列对应的门铃地址和中断号,按照NVMe的规则写入访问处理装置102以及SSD 104上对应的地址空间。
6)CPU 101配置PCIe交换芯片103,将中断接收端指定为访问处理装置102;
7)所述CPU 101向存储控制器106发送访问队列的头指针和尾指针。
其中,所示CPU 101在5)中初始化NVMe访问队列时,可获得访问队列的头指针和尾指针。进而,在7)中可向存储控制器106发送所述访问队列的头指针和尾指针。
需要说明的是,以上初始化过程是以级联板10包括PCIe交换芯片为例来进行说明的。当级联板10不包括PCIe交换芯片时的初始化过程与上面类似,只需移除与PCIe交换芯片103有关的初始化内容即可,在此不再赘述。
以图4所示系统为例,按照上面所述初始化的流程进行初始化以后,盘框108可通过网络将已经初始化完成的NVMe队列及其头尾指针发给所连接的所有存储控制器106。多个存储控制器106之间可通过协商获得盘框108中部分或全部的资源,避免访问冲突导致数据一致性的风险。
这样,在CPU 101经过上述过程完成对初始化之后,后续盘框108中的级联板10在接收到来自网络110(例如RDMA网络)的硬盘访问请求时,会将该硬盘访问请求交由访问处理装置102来处理,由访问处理装置102来实现对所述SSD 104的RDMA访问。
下面以典型的读写访问流程为例来进行说明。对SSD进行远程读写访问操作的流程可如下:
存储控制器106选择所需的访问队列,找到访问队列的头地址和尾地址;
存储控制器106向访问处理装置102中存储器102-3上的SQ队列中写入读写命令;
访问处理装置102根据访问队列与门铃号的对应关系敲对应硬盘门铃;
所述硬盘(例如,PCIe SSD)104获取存储器102-3上存储的SQ队列中的命令并执行;
所述硬盘104在执行完命令后,将执行的结果写入CQ队列并向访问控制装置102发起中断;
访问控制装置102接收到所述中断后,向存储控制器106返回数据或状态信息;
存储控制器106接收该数据或状态信息后,维护所述访问队列的尾指针,并更新所述访问队列的头指针;
读写操作结束。
由上可知,本发明实施例提供的SSD远程共享访问的方法、级联板和SSD远程共享访问的系统,可由访问处理装置102(例如,FPGA/ASIC)实现对NVMeSSD104的直接访问,将标准PCIe接口的NVMe SSD 104通过RDMA网络共享给多个存储控制器106,实现对NVMe SSD 104远端共享访问的同时不增加读写访问时间。
需要说明的是:上述实施例提供的SSD远程共享访问的装置(例如级联板10)与SSD远程共享访问的方法实施例属于同一构思,因而,它们之间相应的部分可以相互参照,对于重复的内容,这里不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种级联板,其特征在于,所述级联板一端连接远程直接内层访问RDMA网络,另一端连接固态硬盘SSD,所述级联板包括访问处理装置和与所述访问处理装置耦接的CPU,其中:
所述CPU,用于完成对所述访问处理装置和所述SSD的初始化;
所述访问处理装置,用于在接收到来自RDMA网络的访问命令时,实现对所述SSD的RDMA访问。
2.根据权利要求1所述的级联板,其特征在于,所述访问处理装置包括:RDMA接口以及存储器,其中:
所述RDMA接口用于连接到RDMA网络;
所述存储器用于保存访问队列。
3.根据权利要求1所述的级联板,其特征在于,所述级联板还包括周边组件接口高速PCIe交换芯片,所述PCIe交换芯片分别与所述CPU和所述访问处理装置相连,并连接所述SSD。
4.根据权利要求3所述的级联板,其特征在于,所述访问处理装置包括:PCIe接口、RDMA接口以及存储器;
所述PCIe接口用于连接到所述PCIe交换芯片;
所述RDMA接口用于连接到RDMA网络;
所述存储器用于保存访问队列。
5.根据权利要求1-4任一所述的级联板,其特征在于,所述访问处理装置为现场可编程门阵列FPGA或特定用途集成电路ASIC。
6.根据权利要求5所述的级联板,其特征在于,所述CPU、所述访问处理装置和所述PCIe交换芯片集成在一起。
7.一种固态硬盘SSD远程共享访问的系统,其特征在于,所述系统包括至少一个SSD、至少一个控制器以及根据权利要求1-6任一所述的级联板;其中:
所述控制器通过RDMA网络与所述级联板相连,并通过所述RDMA网络向所述访问处理装置发送访问命令。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括RDMA交换机,所述RDMA交换机用于连接所述控制器和所述级联板。
9.一种固态硬盘SSD远程共享访问的方法,其特征在于,所述方法包括:
CPU对访问处理装置和SSD进行初始化;
访问处理装置在接收到来自远程直接内层访问RDMA网络的访问命令时,实现对所述SSD的RDMA访问。
10.根据权利要求9所述的方法,其特征在于,所述CPU对访问处理装置进行初始化包括:
所述CPU根据访问队列的配置信息,在所述访问处理装置上分配用于存储所述访问队列的存储空间,并初始化所述访问队列;
所述CPU将中断接收端指定为所述访问处理装置。
11.根据权利要求9或10所述的方法,其特征在于,所述访问处理装置在接收到访问命令时,实现对所述SSD的RDMA访问包括:
所述访问处理装置在接收到访问命令时,提示所述访问命令对应的SSD进行访问作业;
所述访问处理装置在接收到来自所述SSD的中断后,通过RDMA网络返回数据或状态信息。
12.根据权利要求6-10任一所述的方法,其特征在于,所述访问处理装置为现场可编程门阵列FPGA或特定用途集成电路ASIC。
CN201610115698.0A 2016-03-01 2016-03-01 一种级联板、ssd远程共享访问的系统和方法 Active CN107145459B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610115698.0A CN107145459B (zh) 2016-03-01 2016-03-01 一种级联板、ssd远程共享访问的系统和方法
CN202110542659.XA CN113407244A (zh) 2016-03-01 2016-03-01 一种级联板、ssd远程共享访问的系统和方法
PCT/CN2017/074148 WO2017148292A1 (zh) 2016-03-01 2017-02-20 一种级联板、ssd远程共享访问的系统和方法
US16/118,850 US10901638B2 (en) 2016-03-01 2018-08-31 Cascading board and SSD shared remote access system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610115698.0A CN107145459B (zh) 2016-03-01 2016-03-01 一种级联板、ssd远程共享访问的系统和方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110542659.XA Division CN113407244A (zh) 2016-03-01 2016-03-01 一种级联板、ssd远程共享访问的系统和方法

Publications (2)

Publication Number Publication Date
CN107145459A true CN107145459A (zh) 2017-09-08
CN107145459B CN107145459B (zh) 2021-05-18

Family

ID=59743473

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110542659.XA Pending CN113407244A (zh) 2016-03-01 2016-03-01 一种级联板、ssd远程共享访问的系统和方法
CN201610115698.0A Active CN107145459B (zh) 2016-03-01 2016-03-01 一种级联板、ssd远程共享访问的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110542659.XA Pending CN113407244A (zh) 2016-03-01 2016-03-01 一种级联板、ssd远程共享访问的系统和方法

Country Status (3)

Country Link
US (1) US10901638B2 (zh)
CN (2) CN113407244A (zh)
WO (1) WO2017148292A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688375A (zh) * 2017-09-12 2018-02-13 郑州云海信息技术有限公司 一种支持双控制器和无源设计的NVMe硬盘背板及其设计方法
CN108509155A (zh) * 2018-03-31 2018-09-07 北京联想核芯科技有限公司 一种远程访问磁盘的方法和装置
CN108664264A (zh) * 2018-08-16 2018-10-16 成都爱斯顿科技有限公司 一种基于cpu通过jtag方式远程更新fpga的装置和方法
CN108768669A (zh) * 2018-08-14 2018-11-06 杭州创谐信息技术股份有限公司 基于asic可信远程内存交换卡及其数据交换方法
CN109271096A (zh) * 2017-12-28 2019-01-25 新华三技术有限公司 Nvme存储扩展系统
CN110895517A (zh) * 2018-09-13 2020-03-20 阿里巴巴集团控股有限公司 基于fpga的传输数据的方法、设备及系统
CN112732166A (zh) * 2019-10-28 2021-04-30 华为技术有限公司 访问固态硬盘的方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341131B (zh) 2017-06-29 2021-02-09 上海兆芯集成电路有限公司 具有近端数据处理引擎的芯片组
CN113903369A (zh) * 2020-06-22 2022-01-07 华为技术有限公司 一种存储设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212490A (zh) * 2006-12-30 2008-07-02 财团法人工业技术研究院 储存装置控制器
CN102955753A (zh) * 2011-08-30 2013-03-06 安凯(广州)微电子技术有限公司 一种迟滞型数据流控制电路
CN103970688A (zh) * 2013-02-04 2014-08-06 Lsi公司 缩短数据存储系统中写入等待时间的方法和系统
CN104202194A (zh) * 2014-09-10 2014-12-10 华为技术有限公司 PCIe拓扑的配置方法和装置
US20150254003A1 (en) * 2014-03-10 2015-09-10 Futurewei Technologies, Inc. Rdma-ssd dual-port unified memory and network controller

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008070191A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a reconfigurable baseboard management controller
KR101515359B1 (ko) 2011-09-30 2015-04-29 인텔 코포레이션 시스템 코-프로세서에 대한 직접 i/o 액세스
JP2014063497A (ja) 2012-09-21 2014-04-10 Plx Technology Inc 論理装置の機能を有するpciエクスプレススイッチ
KR101988287B1 (ko) 2012-11-26 2019-06-12 삼성전자주식회사 저장 장치 및 그것을 포함하는 컴퓨팅 시스템, 및 그것의 데이터 전송 방법
US9483431B2 (en) * 2013-04-17 2016-11-01 Apeiron Data Systems Method and apparatus for accessing multiple storage devices from multiple hosts without use of remote direct memory access (RDMA)
US9986028B2 (en) 2013-07-08 2018-05-29 Intel Corporation Techniques to replicate data between storage servers
US8949486B1 (en) * 2013-07-17 2015-02-03 Mellanox Technologies Ltd. Direct memory access to storage devices
US10353631B2 (en) * 2013-07-23 2019-07-16 Intel Corporation Techniques for moving data between a network input/output device and a storage device
US9778859B2 (en) * 2013-09-18 2017-10-03 Western Digital Technologies, Inc. Doorless protocol having multiple queue read requests in flight
US9513869B2 (en) * 2013-09-18 2016-12-06 HGST Netherlands B.V. Doorbell-less endpoint-initiated protocol for storage devices
US9548890B2 (en) * 2014-03-17 2017-01-17 Cisco Technology, Inc. Flexible remote direct memory access resource configuration in a network environment
US9727503B2 (en) * 2014-03-17 2017-08-08 Mellanox Technologies, Ltd. Storage system and server
US9304690B2 (en) * 2014-05-07 2016-04-05 HGST Netherlands B.V. System and method for peer-to-peer PCIe storage transfers
US9934177B2 (en) * 2014-11-04 2018-04-03 Cavium, Inc. Methods and systems for accessing storage using a network interface card
US10838852B2 (en) * 2015-04-17 2020-11-17 Samsung Electronics Co., Ltd. System and method to extend NVME queues to user space
KR102430187B1 (ko) * 2015-07-08 2022-08-05 삼성전자주식회사 RDMA NVMe 디바이스의 구현 방법
KR102403489B1 (ko) * 2015-07-10 2022-05-27 삼성전자주식회사 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법
CN105224502A (zh) * 2015-09-28 2016-01-06 浪潮(北京)电子信息产业有限公司 一种基于gpu的深度学习方法及系统
CN106648440B (zh) * 2015-10-28 2020-07-24 华为技术有限公司 操作存储设备的控制方法和存储设备
CN106775434B (zh) * 2015-11-19 2019-11-29 华为技术有限公司 一种NVMe网络化存储的实现方法、终端、服务器及系统
US10423568B2 (en) * 2015-12-21 2019-09-24 Microsemi Solutions (U.S.), Inc. Apparatus and method for transferring data and commands in a memory management environment
CN111858256B (zh) 2015-12-25 2024-05-28 北京忆芯科技有限公司 命令队列监控电路、数据交换方法及其设备
EP3916536A1 (en) * 2015-12-28 2021-12-01 Huawei Technologies Co., Ltd. Data processing method and nvme storage device
US10379745B2 (en) * 2016-04-22 2019-08-13 Samsung Electronics Co., Ltd. Simultaneous kernel mode and user mode access to a device using the NVMe interface
EP3279810B1 (en) * 2016-06-14 2019-09-04 Huawei Technologies Co., Ltd. Data access method and related apparatus and system
US10235064B1 (en) * 2016-12-27 2019-03-19 EMC IP Holding Company LLC Optimized data replication using special NVME protocol and running in a friendly zone of storage array
US10776012B2 (en) * 2017-05-19 2020-09-15 Exten Technologies, Inc. Lock-free datapath design for efficient parallel processing storage array implementation
US10572161B2 (en) * 2017-11-15 2020-02-25 Samsung Electronics Co., Ltd. Methods to configure and access scalable object stores using KV-SSDs and hybrid backend storage tiers of KV-SSDs, NVMe-SSDs and other flash devices
US10572185B2 (en) * 2018-06-01 2020-02-25 Western Digital Technologies, Inc. Non-volatile storage system with command replay

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212490A (zh) * 2006-12-30 2008-07-02 财团法人工业技术研究院 储存装置控制器
CN102955753A (zh) * 2011-08-30 2013-03-06 安凯(广州)微电子技术有限公司 一种迟滞型数据流控制电路
CN103970688A (zh) * 2013-02-04 2014-08-06 Lsi公司 缩短数据存储系统中写入等待时间的方法和系统
US20150254003A1 (en) * 2014-03-10 2015-09-10 Futurewei Technologies, Inc. Rdma-ssd dual-port unified memory and network controller
CN104202194A (zh) * 2014-09-10 2014-12-10 华为技术有限公司 PCIe拓扑的配置方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MINTURN: "Under the Hood With NVMe over Fabrics", 《无》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688375A (zh) * 2017-09-12 2018-02-13 郑州云海信息技术有限公司 一种支持双控制器和无源设计的NVMe硬盘背板及其设计方法
CN109271096A (zh) * 2017-12-28 2019-01-25 新华三技术有限公司 Nvme存储扩展系统
CN109271096B (zh) * 2017-12-28 2021-03-23 新华三技术有限公司 Nvme存储扩展系统
CN108509155A (zh) * 2018-03-31 2018-09-07 北京联想核芯科技有限公司 一种远程访问磁盘的方法和装置
CN108509155B (zh) * 2018-03-31 2021-07-13 深圳忆联信息系统有限公司 一种远程访问磁盘的方法和装置
CN108768669A (zh) * 2018-08-14 2018-11-06 杭州创谐信息技术股份有限公司 基于asic可信远程内存交换卡及其数据交换方法
CN108664264A (zh) * 2018-08-16 2018-10-16 成都爱斯顿科技有限公司 一种基于cpu通过jtag方式远程更新fpga的装置和方法
CN110895517A (zh) * 2018-09-13 2020-03-20 阿里巴巴集团控股有限公司 基于fpga的传输数据的方法、设备及系统
CN110895517B (zh) * 2018-09-13 2023-10-31 阿里巴巴集团控股有限公司 基于fpga的传输数据的方法、设备及系统
CN112732166A (zh) * 2019-10-28 2021-04-30 华为技术有限公司 访问固态硬盘的方法及装置
CN112732166B (zh) * 2019-10-28 2024-06-18 华为技术有限公司 访问固态硬盘的方法及装置

Also Published As

Publication number Publication date
CN113407244A (zh) 2021-09-17
US20180373454A1 (en) 2018-12-27
WO2017148292A1 (zh) 2017-09-08
CN107145459B (zh) 2021-05-18
US10901638B2 (en) 2021-01-26

Similar Documents

Publication Publication Date Title
CN107145459A (zh) 一种级联板、ssd远程共享访问的系统和方法
US11704059B2 (en) Remote direct attached multiple storage function storage device
CN106462498B (zh) 用于数据存储系统的模块化交换架构
CN105320628B (zh) 使能单根i/o设备多根共享的适配装置、系统及方法
CN109983449A (zh) 数据处理的方法和存储系统
CN107992436A (zh) 一种NVMe数据读写方法及NVMe设备
DE112013000601T5 (de) Techniken für die Befehlsbestätigung für den Zugriff auf ein Speichergerät durch einen entfernten Client
CN102185833B (zh) 一种基于fpga的fc i/o并行处理方法
CN104881105B (zh) 电子装置
JP2017211984A (ja) 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置
CN106533872A (zh) 用于提高fc‑ae‑1553总线传输效率的系统
CN109388604A (zh) 一种基于PCIe的热插拔控制方法、装置及存储介质
CN104699647B (zh) 用于操作双芯片组网络接口控制器的方法和系统
CN106027424A (zh) 基于RapidIO交换技术的以太网交换装置
CN104798010A (zh) 至少部分的串行存储协议兼容帧转换
CN104699654A (zh) 一种基于chi片内互联总线与qpi片间互联总线互联适配系统和方法
CN107632951A (zh) 控制非直接串行连接存储设备的设备及其应用和操作方法
CN110119304A (zh) 一种中断处理方法、装置及服务器
CN107783726B (zh) 存储系统和存储系统中传输信号的方法
CN107506324A (zh) 转接设备、远程通信系统、数据传输方法及装置
CN105183370B (zh) 一种实现双控制器通信的通信方法及通信模型
CN109343981A (zh) 一种片上双核系统及其虚拟串口通信方法
CN110471627A (zh) 一种共享存储的方法、系统及装置
US10614012B2 (en) System and method for controlling the performance of serial attached SCSI (SAS) target devices
CN112685335B (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