CN108228082A - 存储系统和用于存储控制的方法 - Google Patents

存储系统和用于存储控制的方法 Download PDF

Info

Publication number
CN108228082A
CN108228082A CN201611193454.0A CN201611193454A CN108228082A CN 108228082 A CN108228082 A CN 108228082A CN 201611193454 A CN201611193454 A CN 201611193454A CN 108228082 A CN108228082 A CN 108228082A
Authority
CN
China
Prior art keywords
control module
storage control
storage
data
interchanger
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
CN201611193454.0A
Other languages
English (en)
Other versions
CN108228082B (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201611193454.0A priority Critical patent/CN108228082B/zh
Priority to US15/846,798 priority patent/US10635348B2/en
Publication of CN108228082A publication Critical patent/CN108228082A/zh
Application granted granted Critical
Publication of CN108228082B publication Critical patent/CN108228082B/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering 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/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/0683Plurality of 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/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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/263Network storage, e.g. SAN or NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例涉及存储系统和用于存储控制的方法。该存储系统包括主机设备和交换机,该交换机支持远程直接存储器访问(RDMA)。该存储系统还第一存储控制模块和第二存储控制模块,该第一存储控制模块包括第一高速缓存,该第二存储控制模块包括第二高速缓存,主机设备、第一存储控制模块以及第二存储控制模块通过交换机互连,并且第一存储控制模块能够通过交换机与第二存储控制模块同步高速缓存数据。该存储系统还包括存储设备阵列,该存储设备阵列被连接到第一存储控制模块和第二存储控制模块。本公开的实施例使用支持RDMA的网络来统一实现存储系统内的数据通信,能够提高存储系统内的数据读写效率,并且能够实现低延时的远程数据镜像。

Description

存储系统和用于存储控制的方法
技术领域
本公开的实施例总体上涉及存储技术领域,并且更具体地涉及存储控制系统和用于存储控制的方法。
背景技术
存储系统存是指由存储设备、存储控制模块以及管理信息调度的设备和程序等组成的系统,其通常能够存储大量数据。为了保证数据存储的安全性,存储系统通常提供两个对等存储控制模块来互为镜像,这两个存储控制模块之间保持数据同步。
外围设备互连(PCI)是一种并行的计算机总线标准,其用于把外围组件连接到计算机。PCI Express(PCIe)是一种总线和接口标准,与PCI总线不同,其采用点对点的串行通信方式,PCIe可以把数据传输率提高到一个很高的频率。通常,存储系统中的两个对等存储控制模块采用PCIe进行互连,以进行数据同步和备份。
发明内容
本公开的实施例提供了一种存储系统和用于存储控制的方法。本公开的实施例使用支持远程直接存储器访问(RDMA)的网络来统一实现存储系统内的数据通信,能够提高存储系统内的数据读写效率,并且能够实现低延时的远程数据镜像。
在本公开的一个方面中,提供了一种存储系统。该存储系统包括:主机设备;交换机,该交换机支持RDMA;第一存储控制模块,该第一存储控制模块包括第一高速缓存;第二存储控制模块,该第二存储控制模块包括第二高速缓存,主机设备、第一存储控制模块以及第二存储控制模块通过交换机互连,并且第一存储控制模块能够通过交换机与第二存储控制模块同步高速缓存数据;以及存储设备阵列,该存储设备阵列被连接到第一存储控制模块和第二存储控制模块。
在本公开的另一方面中,提供了一种用于存储控制的方法。该方法包括:由第一存储控制模块通过交换机从主机设备接收数据,该交换机支持远程直接存储器访问;由第一存储控制模块将数据高速缓存到第一存储控制模块中的第一高速缓存中;由第一存储控制模块通过交换机向第二存储控制模块发送高速缓存的数据;以及由第一存储控制模块向存储设备阵列写入数据。
在本公开的又一方面中,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使计算机执行根据本公开的实施例的方法。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的各个实施例的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的一个实施例的存储系统的框图;
图2示出了根据本公开的另一实施例的存储系统的框图;
图3示出了根据本公开的又一实施例的存储系统的框图;
图4A示出了根据本公开的实施例的用于实现通过PCIe的NVMe架构的示意性框图;
图4B示出了根据本公开的实施例的用于实现通过多种结构的NVMe架构的示意性框图;
图4C示出了根据本公开的实施例的用于实现通过RDMA的NVMe架构的示意性框图;
图5示出了根据本公开的再一实施例的存储系统的框图;
图6示出了根据本公开的实施例的用于存储控制的方法的流程图;以及
图7示出了一个可以用来实施本公开的实施例的设备的示意性框图。
具体实施例
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
传统地,在具有两个对等存储控制模块的存储系统中,这两个存储控制模块之间通过PCIe总线(诸如通信管理器接口CMI)来传递数据和元数据,使得每个存储控制模块能够与其对等存储控制模块进行通信。例如,当这两个存储控制模块需要实现数据镜像时,它们需要使用PCIe总线来传递数据。然而,用于访问数据的主机设备通常通过以太网等网络与存储控制模块进行通信,由此导致存储系统中需要通过多种网络接口(例如PCIe总线接口和以太网接口)来完成数据传递。此外,PCIe总线的传输距离很短,因而PCIe总线不能支持远程连接和访问。因此,传统的存储系统无法使用统一的网络接口,也不支持远程数据镜像。
本公开的实施例使用支持RDMA的网络来统一实现存储系统内的数据通信,即使用一种网络类型来替代传统的以太网和PCIe总线二者,从而使得存储控制模块之间、以及主机与存储控制模块之间均可以采用支持RDMA的网络来进行访问。因此,本公开的实施例能够提高存储系统内的数据读写效率,并且能够实现低延时的远程数据镜像(例如,使用长达几十米的铜缆或者长达几十公里的光纤线缆)。此外,本公开的实施例将传统的基于PCIe的点对点的访问方式转换成网络化访问方式,由此能够有效地扩展存储系统中的部件。
此外,本公开的实施例可以保留传统的存储系统的连接方式,使得根据本公开的实施例的存储系统既能兼容旧的设备又能提高新的设备的数据读写性能。另外,本公开的实施例通过使用RDMA,使得主机设备能够绕过其处理器、存储器、文件系统和协议栈等来与高速缓存或固态盘阵列直接通信,能有效提高数据访问效率。
以下参考图1至图6来说明本公开的基本原理和若干示例实现方式。图1示出了根据本公开的一个实施例的存储系统100的框图。如图1所示,存储系统100包括主机设备110、支持RDMA的交换机120、存储控制模块130(也被称为“第一存储控制模块”)和存储控制模块140(也被称为“第二存储控制模块”)以及存储设备阵列150。如图1所示,主机设备110、存储控制模块130以及存储控制模块140通过交换机120互连,而存储控制模块130和140分别被连接到存储设备阵列150。
在一些实施例中,主机设备110可以是能够通过交换机120访问存储系统100中的数据的任何设备,主机设备110可以向存储系统中的盘写入数据或者从盘读取数据。例如,主机设备110可以为服务器,包括但不限于应用服务器、流媒体服务器,等等。备选地,主机设备110也可以为计算设备,包括但不限于,台式计算机、膝上型计算机、手持式计算机、智能手机、平板电脑、可穿戴设备,等等。
交换机120支持RDMA操作,RDMA是一种支持远程存储器直接到存储器通信的技术,不需要涉及处理器或处理单元。利用支持RDMA的网络适配器,用于通信的所有的分组和协议处理均能由网络适配器硬件上实现,从而提高了可访问性能。在一些实施例中,交换机120可以例如为Infiniband(IB)网络交换机、通过融合以太网的RDMA(RMDA overConverged Ethernet,RoCE)、因特网广域RDMA协议(iWARP)等。
IB网络是一种支持多并发链接的线缆转换网络,是新一代服务器硬件平台的输入输出标准。由于它具有高带宽、低延时、高可扩展性的特点,它非常适用于主机设备与主机设备(例如复制,分布式工作等),主机设备与存储设备(例如和直接存储器访问)以及主机设备与网络之间的通信。IB网络固有地支持RDMA,因此其能够支持主机设备与存储控制模块之间、或者多个存储控制模块之间的RDMA。
存储控制模块130和140是指对存储系统100中的数据存储进行存储控制的设备。如图1所示,存储控制模块130包括高速缓存135(被称为“第一高速缓存”),存储控制模块140包括高速缓存145(被称为“第二高速缓存”)。在一些实施例中,高速缓存135和145可以是动态随机存取存储器(DRAM)高速缓存。根据本公开的实施例,高速缓存135能够通过交换机120与高速缓存145同步数据,而不需要特定的访问接口(例如PCIe接口)。在一些实施例中,高速缓存135和145可以是用于优化存储控制模块中的DRAM以增加主机设备读写性能的软件组件。在一些实施例中,存储系统100支持对称激活/激活访问模式,使得主机设备110同时使用两个存储控制模块(例如,存储控制模块130和140)来访问逻辑单元号(LUN)。
存储设备阵列150包括多个盘155。盘155的示例包括但不限于磁盘、光盘,等等。存储设备阵列150可以是由多块独立的物理盘按不同的方式组合形成一个盘的阵列(即,逻辑盘),其能够提供比单个盘更高的存储性能和更高的可靠性能。为了在存储设备阵列150中的某个盘发生故障时对数据进行恢复,通常设置一个或多个奇偶校验信息块。
在图1所示的存储系统100中,主机设备110可以通过交换机120向存储控制模块130发送数据。存储控制模块130在接收到数据之后,将数据存储在其中的高速缓存135中,并且将高速缓存后的数据通过交换机同步到存储控制模块140中的高速缓存145中。由于交换机120能够支持存储控制模块之间的高速缓存数据的同步和镜像,因而存储控制模块之间不再需要特定的PCIe接口来进行通信,由此简化了存储系统100的架构,并且提高了存储系统内的数据读写效率。
图2示出了根据本公开的另一实施例的存储系统200的框图。与图1所示出的存储系统100相比,存储系统200还支持传统的数据访问方式。如图2所示,存储系统200中的支持RDMA的交换机具体为IB网络交换机121,并且存储系统200还包括以太网交换机125。
如图2所示,主机设备110、存储控制模块130以及存储控制模块140分别包括至少两个网卡,诸如主机通道适配器(HCA)卡111、131、141,以及网络接口卡(NIC)112、132、142。主机设备110中的HCA 111、存储控制模块130中的HCA 131以及存储控制模块140中的HCA141通过IB网络交换机121互连,主机设备110中的NIC 112、存储控制模块130中的NIC 132以及存储控制模块140中的NIC 142通过以太网交换机125互连。此外,存储控制模块130还包括PCIe接口133,存储控制模块140还包括PCIe接口143,并且PCIe接口133和PCIe接口143通过PCI总线互连。
根据本公开的实施例的存储系统200,使用两种类型的交换机同时支持多种数据传递方式,使得根据本公开的实施例的系统既能(例如通过传统的数据路径)兼容旧的设备又能够(例如通过快速数据路径)提高新的设备的性能。此外,由于IB网络交换机具有较低的延时,因此本公开的实施例能够有效提高存储系统的数据读写速度。
图3示出了根据本公开的再一实施例的存储系统300的框图。如图3所示,存储系统300包括主机设备110和115(主机设备115也被称为“另一主机设备”)等多个主机设备以及存储控制模块130和140等多个存储控制模块。这些主机设备和存储控制模块通过IB网络交换机121互连。存储系统300还包括硬盘驱动器(HDD)阵列151,其为由多个盘156组成的阵列,存储控制模块130和140分别被连接到HDD阵列151。
如图3所示,存储控制模块130包括处理单元134、高速缓存135以及固态盘(SSD)阵列136;存储控制模块140包括处理单元144、高速缓存145以及SSD阵列146。SSD阵列136能够通过IB网络交换机与SSD阵列146同步数据,以下参考图4C详细描述了基于IB网络来同步SSD阵列中的数据。为讨论方便起见,下面将处理单元134称为“第一存储单元”,将SSD阵列136称为“第一SSD阵列”,将处理单元114称为“第二处理单元”,并且将SSD阵列146称为“第二SSD阵列”。
在一些实施例中,在存储系统300中,主机设备110能够直接与高速缓存135传递数据,而不需要通过处理单元134或者存储控制模块中其他部件(诸如协议栈)。在一些实施例中,主机设备110还能够直接与SSD阵列136传递数据,而不需要通过处理单元134或者高速缓存135或者其他部件。因此,根据本公开的实施例的存储系统能够提供直接存储器访问,而不需要存储控制模块中的其他部件的参与,由此提高了数据读写效率。
在传统的存储系统中,由于存储控制模块通常通过PCIe接口传递数据,而SSD阵列中的数据一般较大,因此传统的存储系统不同步这些数据,而只同步元数据。相反,根据本公开的实施例的存储系统由于使用高速的IB网络来同步SSD阵列中的数据,因此能够直接同步SSD阵列中的数据,从而能够提高存储系统的稳定性。此外,由于根据本公开的技术的存储系统够快速同步大量数据,因而纠删码的同步和向外扩展数据交换模型也可以被实现。
图4A示出了根据本公开的实施例的用于实现通过PCIe的非易失性存储器Express(NVMe)架构400的示意性框图。NVMe是用于访问通过PCIe总线附接的非易失性存储介质的逻辑设备接口规范。NVMe常用于SSD形式的闪速存储器中,能够利用基于闪存的存储设备的并行机制来对处理单元、平台或应用的并行机制进行镜像,其具有延时低、每秒输入输出操作(IOPS)高、功耗低、驱动实用性广等特点。
如图4A所示,架构400依次包括NVMe主机软件层401、NVMe PCIe主机软件层402、PCIe结构层403、PCIe功能层404、NVMe PCIe接口层405以及NVMe控制模块层406。架构400定义了通过PCIe总线的NVMe的访问规范,其能够通过PCIe实现主机软件(例如,主机设备110上运行的软件)与控制模块(例如,存储控制模块130)之间的NVMe访问。
图4B示出了根据本公开的实施例的用于实现通过多种结构的NVMe架构420的示意性框图。通过多种结构的NVMe(NVMe over Fabrics)通过定义灵活的传输抽象层,能够支持多种结构类型(诸如PCIe、Infiniband网络、以太网、光纤通道等)的NVMe访问。通过多种结构的NVMe能够提供针对NVMe的低延时、可扩展、物理层抽象传输机制。
如图4B所示,架构420包括NVMe主机软件层421、NVMe主机侧传输抽象层422、NVMe控制模块侧传输抽象层427以及NVMe控制模块层428。架构420对主机软件与控制模块之间的传输进行扩展,使得其能够实现通过多种结构的NVMe访问。
如图4B所示,架构420还包括NVMe PCIe主机软件层443、PCIe结构层444、PCIe功能层445以及NVMe PCIe接口层446,其能够通过PCIe实现主机软件(例如,主机设备110上运行的软件)与控制模块(例如,存储控制模块130)之间的NVMe访问。此外,架构420还包括NVMeRDMA主机软件层433、RDMA结构层434、RDMA目标层435以及NVMe RDMA接口层436,其能够通过RDMA实现主机软件与控制模块之间的NVMe访问。另外,架构420还包括NVMe其他结构主机软件层423、其他结构层424、其他结构目标层425以及NVMe结构接口层426,其能够通过现在已经或者将来待开发的任何其他网络结构来实现主机软件与控制模块之间的NVMe访问。
图4C示出了根据本公开的实施例的用于实现通过RDMA的NVMe(NVMe over RDMA)架构460的示意性框图。如图4C所示,架构460包括NVMe主机软件层461、NVMe主机侧传输抽象层462、NVMe控制模块侧传输抽象层469以及NVMe控制模块层470。架构420对主机软件与控制模块之间的传输进行扩展,使得其能够通过RDMA的NVMe访问。
如图4C所示,架构460还包括NVMe RDMA层463和468、NVMe Verbs接口层464和467,其中NVMe Verbs用于提供NVMe Verbs的应用程序接口规范。如图4C所示,通过RDMA的NVMe利用RDMA结构层940,能够实现例如通过iWARP(例如iWARP 485和486)的NVMe传输、通过Infiniband(例如Infiniband 475和476)的NVMe传输、以及通过RoCE(例如RoCE 465和466)的NVMe传输等。
因此,通过使得NVMe支持通过RDMA的访问,能够实现存储控制模块之间同步SSD阵列中的数据。例如,SSD阵列136和SSD阵列146通过IB网络交换机121并使用支持RDMA的非易失性存储器Express(NVMe)协议来同步数据,使得存储控制模块130与140之间无需专门的NVMe接口进行连接,这不仅简化了存储系统的架构,还提高了数据读写速度。
注意,上文参考图4A-图4C所描述的架构仅仅是示例性的,无意以任何方式限制本公开的实施例。其他分层架构同样可被用来实现本公开的各种实施例,不论这些架构是目前已知的还是将来开发的。
图5示出了根据本公开的再一实施例的存储系统500的框图。与参考图3所描述的存储系统300相比,存储系统500还包括存储控制模块160(被称为“第三存储控制模块”),存储控制模块160与存储控制模块130在地理上远程分离。存储控制模块160包括处理单元164、高速缓存165以及SSD阵列166。例如存储控制模块160与存储控制模块130可以相聚几公里至几十公里。由于IB网络能够支持远程RDMA访问,因此存储控制模块160能够通过IB网络交换机121与存储控制模块131同步高速缓存数据或者SSD阵列中的数据。
如图5所示,存储系统500包括与存储控制模块160相连的HDD阵列171,HDD阵列171同样是由多个盘176组成的盘阵列。此外,存储系统还包括与主机设备110地理上远程分离的主机设备118,主机设备118也可以用于通过IB网络交换机121与存储控制模块中130、140和160的任一个存储控制模块进行数据通信。
由于IB网络具有高速率低延时的特性,因此根据本公开的存储系统能够实现低延时的远程数据镜像,并且能够提供远程数据备份。因此,当本地的存储控制模块和HDD阵列由于物理灾难而被毁灭时,根据本公开的实施例的存储系统能够提供远程灾难恢复。此外,由于存储控制模块之间采用网络化的连接方式,而不是传统的点对点的连接方式,因此本公开的实施例也可以在两个以上存储控制模块之间进行高速缓存数据的同步。
图6示出了根据本公开的实施例的用于存储控制的方法600的流程图。应当理解,方法600可以由以上参考图1-3和5所描述的存储控制模块中130、140和160的任一个存储控制模块执行。
在602,通过交换机从主机设备接收数据。例如,存储控制模块130通过IB网络交换机121从主机设备110接收数据。在604,将数据高速缓存到第一存储控制模块中的第一高速缓存中。例如,存储控制模块130将从主机设备110接收到的数据高速缓存在高速缓存135中。
在606,通过交换机从第一存储控制模块向第二存储控制模块发送高速缓存的数据。例如存储控制模块130通过IB网络交换机121向存储控制模块140发送高速缓存的数据。在608,从第一存储控制模块向存储设备阵列写入数据。例如,在存储控制模块130与存储控制模块140之间已经同步完高速缓存数据之后,存储控制模块130向存储设备阵列150写入数据。
在一些实施例中,方法600还包括:由第一存储控制模块通过以太网交换机从另一主机设备接收数据分组;由第一存储控制模块将数据分组高速缓存到第一高速缓存中;由第一存储控制模块通过PCIe总线向第二存储控制模块发送高速缓存的数据分组;以及由第一存储控制模块向存储设备阵列发送数据分组。
在一些实施例中,方法600还包括:由第一存储控制模块通过交换机向第三存储控制模块发送高速缓存的数据,第三存储控制模块与第一存储控制模块在地理上远程分离。
在一些实施例中,其中从第一存储控制模块向存储设备阵列发送数据包括:从第一高速缓存向第一存储控制模块中的第一固态盘阵列发送数据;以及从第一固态盘阵向存储设备阵列发送数据。在一些实施例中,从第一存储控制模块向存储设备阵列发送数据还包括:使用通过RDMA的NVMe协议从第一固态盘阵向第二存储控制模块中的第二固态盘阵列发送数据。
在一些实施例中,通过交换机从主机设备接收数据包括:通过绕过第一存储控制模块中的第一处理单元,在第一高速缓存处从主机设备接收数据。在一些实施例中,通过交换机从主机设备接收数据还包括:通过绕过第一处理单元和第一高速缓存二者,在第一固态盘阵处从主机设备接收数据。在一些实施例中,其中交换机是infiniband网络交换机。
图7示出了一个可以用来实施本公开的实施例的设备700的示意性框图。如图所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理可由处理单元701执行。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到RAM 703并由CPU 701执行时,可以执行上文描述的方中的一个或多个步骤。
在一些实施例中,以上所描述的方法600可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (18)

1.一种存储系统,包括:
主机设备;
交换机,所述交换机支持远程直接存储器访问(RDMA);
第一存储控制模块,所述第一存储控制模块包括第一高速缓存;
第二存储控制模块,所述第二存储控制模块包括第二高速缓存,所述主机设备、所述第一存储控制模块以及所述第二存储控制模块通过所述交换机互连,并且所述第一存储控制模块能够通过所述交换机与所述第二存储控制模块同步高速缓存数据;以及
存储设备阵列,所述存储设备阵列被连接到所述第一存储控制模块和所述第二存储控制模块。
2.根据权利要求1所述的存储系统,其中所述存储系统还包括:
以太网交换机,所述主机设备、所述第一存储控制模块以及所述第二存储控制模块还通过所述以太网交换机互连;以及
外围设备互连Express(PCIe)总线,所述第一存储控制模块和所述第二存储控制模块通过所述PCIe总线互连。
3.根据权利要求1所述的存储系统,其中所述存储系统还包括:
第三存储控制模块,所述第三存储控制模块与所述第一存储控制模块在地理上远程分离,并且所述第三存储控制模块能够通过所述交换机与所述第一存储控制模块同步所述高速缓存数据。
4.根据权利要求1所述的存储系统,其中所述第一存储控制模块还包括第一固态盘阵列,所述第二存储控制模块还包括第二固态盘阵列,并且所述第一固态盘阵列能够通过所述交换机与所述第二固态盘阵列同步数据。
5.根据权利要求4所述的存储系统,其中所述第一固态盘阵列和所述第二固态盘阵列使用通过所述RDMA的非易失性存储器Express(NVMe)协议同步所述数据。
6.根据权利要求4所述的存储系统,其中所述第一存储控制模块还包括第一处理单元,所述主机设备能够通过所述交换机并绕过所述第一处理单元来与所述第一高速缓存传递数据。
7.根据权利要求6所述的存储系统,其中所述主机设备还能够通过所述交换机并绕过所述第一处理单元和所述第一高速缓存二者来与所述第一固态盘阵列传递数据。
8.根据权利要求1所述的存储系统,其中所述交换机是infiniband网络交换机。
9.根据权利要求1所述的存储系统,其中所述存储系统还包括:
另一主机设备,所述另一主机设备通过所述交换机与所述主机设备、所述第一存储控制模块以及所述第二存储控制模块互连。
10.一种用于存储控制的方法,包括:
在第一存储控制模块处:
通过交换机从主机设备接收数据,所述交换机支持远程直接存储器访问(RDMA);
将所述数据高速缓存到所述第一存储控制模块中的第一高速缓存中;
通过所述交换机向第二存储控制模块发送高速缓存的所述数据;以及
向存储设备阵列写入所述数据。
11.根据权利要求10所述的方法,所述方法还包括:
在所述第一存储控制模块处:
通过以太网交换机从另一主机设备接收数据分组;
将所述数据分组高速缓存到所述第一高速缓存中;
通过外围设备互连Express(PCIe)总线向所述第二存储控制模块发送高速缓存的所述数据分组;以及
向所述存储设备阵列发送所述数据分组。
12.根据权利要求10所述的方法,所述方法还包括
在所述第一存储控制模块处,通过所述交换机向第三存储控制模块发送高速缓存的所述数据,所述第三存储控制模块与所述第一存储控制模块在地理上远程分离。
13.根据权利要求10所述的方法,其中向所述存储设备阵列发送所述数据包括:
从所述第一高速缓存向所述第一存储控制模块中的第一固态盘阵列发送所述数据;以及
从所述第一固态盘阵向所述存储设备阵列发送所述数据。
14.根据权利要求13所述的方法,其中向所述存储设备阵列发送所述数据还包括:
使用通过所述RDMA的非易失性存储器Express(NVMe)协议从所述第一固态盘阵向所述第二存储控制模块中的第二固态盘阵列发送所述数据。
15.根据权利要求13所述的方法,其中通过交换机从主机设备接收数据包括:
通过绕过所述第一存储控制模块中的第一处理单元,在所述第一存储控制模块中的所述第一高速缓存处从所述主机设备接收所述数据。
16.根据权利要求15所述的方法,其中通过交换机从主机设备接收数据还包括:
通过绕过所述第一处理单元和所述第一高速缓存二者,在所述第一存储控制模块中的所述第一固态盘阵处从所述主机设备接收所述数据。
17.根据权利要求10所述的方法,其中所述交换机是infiniband网络交换机。
18.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使计算机执行根据权利要求10至17任一项所述的方法。
CN201611193454.0A 2016-12-21 2016-12-21 存储系统和用于存储控制的方法 Active CN108228082B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611193454.0A CN108228082B (zh) 2016-12-21 2016-12-21 存储系统和用于存储控制的方法
US15/846,798 US10635348B2 (en) 2016-12-21 2017-12-19 Storage system and method for storage control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611193454.0A CN108228082B (zh) 2016-12-21 2016-12-21 存储系统和用于存储控制的方法

Publications (2)

Publication Number Publication Date
CN108228082A true CN108228082A (zh) 2018-06-29
CN108228082B CN108228082B (zh) 2021-04-02

Family

ID=62561669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611193454.0A Active CN108228082B (zh) 2016-12-21 2016-12-21 存储系统和用于存储控制的方法

Country Status (2)

Country Link
US (1) US10635348B2 (zh)
CN (1) CN108228082B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344097A (zh) * 2018-09-13 2019-02-15 北京腾凌科技有限公司 数据传输方法及装置
CN110535946A (zh) * 2019-08-30 2019-12-03 北京浪潮数据技术有限公司 一种分布式存储系统及数据传输方法、装置、设备、介质
CN111290702A (zh) * 2018-12-07 2020-06-16 华为技术有限公司 一种控制设备的切换方法、控制设备、及存储系统
CN111367721A (zh) * 2020-03-06 2020-07-03 西安奥卡云数据科技有限公司 一种基于非易失性存储器的高效远程复制系统
CN111858222A (zh) * 2019-04-30 2020-10-30 伊姆西Ip控股有限责任公司 错误注入的方法、设备、数据存储系统和程序产品

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180239725A1 (en) * 2017-02-17 2018-08-23 Intel Corporation Persistent Remote Direct Memory Access
CN108733506B (zh) 2017-04-17 2022-04-12 伊姆西Ip控股有限责任公司 用于数据同步的方法、设备和计算机可读介质
US10275180B2 (en) * 2017-05-08 2019-04-30 Samsung Electronics Co., Ltd. Ethernet SSD system including storage offload engine (SoE) controller and ethernet switch
CN109213693B (zh) 2017-06-30 2023-05-05 伊姆西Ip控股有限责任公司 存储管理方法、存储系统和计算机程序产品
US11061585B1 (en) 2017-10-19 2021-07-13 EMC IP Holding Company, LLC Integration of NVMe device with DRAM cache system and method
US10521137B1 (en) * 2017-10-31 2019-12-31 EMC IP Holding Company LLC Storage device array integration of dual-port NVMe device with DRAM cache and hostside portion of software stack system and method
US20240095196A1 (en) * 2018-03-02 2024-03-21 Samsung Electronics Co., Ltd. Method for supporting erasure code data protection with embedded pcie switch inside fpga+ssd
US10531592B1 (en) * 2018-07-19 2020-01-07 Quanta Computer Inc. Smart rack architecture for diskless computer system
WO2020113875A1 (zh) * 2018-12-07 2020-06-11 华为技术有限公司 一种控制设备的切换方法、控制设备、及存储系统
US11513699B2 (en) * 2019-08-01 2022-11-29 EMP IP Holding Company, LLC System and method for caching data in persistent memory of a non-volatile memory express storage array enclosure
CN112764667B (zh) 2019-10-21 2024-09-06 伊姆西Ip控股有限责任公司 用于存储管理的方法、设备、存储系统和计算机程序产品
US11099768B2 (en) 2020-01-21 2021-08-24 EMC IP Holding Company LLC Transitioning from an original device to a new device within a data storage array
FR3107375B1 (fr) * 2020-02-14 2022-04-08 Safran Electronics & Defense Procede de transmission de donnees et puce electronique de type manycore
US11507294B2 (en) 2020-10-22 2022-11-22 EMC IP Holding Company LLC Partitioning a cache for fulfilling storage commands
US11416441B2 (en) 2021-01-11 2022-08-16 EMC IP Holding Company LLC RPC-less locking mechanism based on RDMA CAW for storage cluster with active-active architecture

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130107872A1 (en) * 2004-02-13 2013-05-02 Thomas Dean Lovett Processor-memory module performance acceleration in fabric-backplane enterprise servers
CN103502926A (zh) * 2011-04-29 2014-01-08 美国网域存储技术有限公司 基于扩展区的存储架构
CN103873559A (zh) * 2014-02-13 2014-06-18 南京斯坦德通信股份有限公司 一种高速存储的数据库一体机
WO2016182756A1 (en) * 2015-05-14 2016-11-17 Apeiron Data Systems Accessing multiple storage devices from multiple hosts without remote direct memory access (rdma)
CN106168925A (zh) * 2015-05-19 2016-11-30 Emc公司 用于存储和从闪存恢复数据的方法和系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003129B1 (en) 2012-03-30 2015-04-07 Emc Corporation Techniques for inter-storage-processor cache communication using tokens
US10063638B2 (en) * 2013-06-26 2018-08-28 Cnex Labs, Inc. NVM express controller for remote access of memory and I/O over ethernet-type networks
US9986028B2 (en) * 2013-07-08 2018-05-29 Intel Corporation Techniques to replicate data between storage servers
US9696942B2 (en) * 2014-03-17 2017-07-04 Mellanox Technologies, Ltd. Accessing remote storage devices using a local bus protocol
US20160266813A1 (en) * 2015-03-09 2016-09-15 Unisys Corporation Storage subsystem technologies
US9921753B2 (en) * 2015-03-23 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Data replication across host systems via storage controller
US9600044B2 (en) * 2015-05-12 2017-03-21 Cooler Master Co., Ltd. Portable electronic device and detachable auxiliary heat-dissipating module thereof
US9892071B2 (en) * 2015-08-03 2018-02-13 Pure Storage, Inc. Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
US10877674B2 (en) * 2016-01-29 2020-12-29 Hewlett Packard Enterprise Development Lp Determining layout templates identifying storage drives

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130107872A1 (en) * 2004-02-13 2013-05-02 Thomas Dean Lovett Processor-memory module performance acceleration in fabric-backplane enterprise servers
CN103502926A (zh) * 2011-04-29 2014-01-08 美国网域存储技术有限公司 基于扩展区的存储架构
CN103873559A (zh) * 2014-02-13 2014-06-18 南京斯坦德通信股份有限公司 一种高速存储的数据库一体机
WO2016182756A1 (en) * 2015-05-14 2016-11-17 Apeiron Data Systems Accessing multiple storage devices from multiple hosts without remote direct memory access (rdma)
CN106168925A (zh) * 2015-05-19 2016-11-30 Emc公司 用于存储和从闪存恢复数据的方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344097A (zh) * 2018-09-13 2019-02-15 北京腾凌科技有限公司 数据传输方法及装置
CN111290702A (zh) * 2018-12-07 2020-06-16 华为技术有限公司 一种控制设备的切换方法、控制设备、及存储系统
CN111858222A (zh) * 2019-04-30 2020-10-30 伊姆西Ip控股有限责任公司 错误注入的方法、设备、数据存储系统和程序产品
CN110535946A (zh) * 2019-08-30 2019-12-03 北京浪潮数据技术有限公司 一种分布式存储系统及数据传输方法、装置、设备、介质
CN111367721A (zh) * 2020-03-06 2020-07-03 西安奥卡云数据科技有限公司 一种基于非易失性存储器的高效远程复制系统

Also Published As

Publication number Publication date
CN108228082B (zh) 2021-04-02
US10635348B2 (en) 2020-04-28
US20180173466A1 (en) 2018-06-21

Similar Documents

Publication Publication Date Title
CN108228082A (zh) 存储系统和用于存储控制的方法
CN109213702A (zh) 虚拟机环境中的虚拟双控制模块之间的通信
CN108733506A (zh) 用于数据同步的方法、设备和计算机可读介质
US10841395B2 (en) Populating a secondary cache with unmodified tracks in a primary cache when redirecting host access from a primary server to a secondary server
CN104111907B (zh) 一种访问NVMe存储设备的方法和NVMe存储设备
US10353732B2 (en) Software-defined computing system remote support
US11716271B2 (en) Automated data flows using flow-based data processor blocks
US10419240B2 (en) Method of bus virtualization in computing machine intercommunications
CN108733314A (zh) 用于独立冗余阵列(raid)重建的方法、设备和计算机可读存储介质
US20190188086A1 (en) Redundancy reduction in blockchains
CN107526534B (zh) 管理存储设备的输入输出(i/o)的方法和设备
CN106688217A (zh) 用于融合联网和存储的方法和系统
CN107643996A (zh) 包括单端口存储控制器的基于pci express的双端口存储盒
CN106484322A (zh) 一种挂载文件系统的方法、装置及设备
CN105472047A (zh) 存储系统
CN105867843A (zh) 一种数据传输方法及装置
CN105190574B (zh) 在共享存储环境中提供本地高速缓存一致性
CN108388524A (zh) 用于缓存数据的方法和设备
CN110413200A (zh) 数据同步的方法、设备和计算机程序产品
CN109725830A (zh) 管理独立磁盘冗余阵列的方法、设备和计算机程序产品
US10313470B2 (en) Hierarchical caching and analytics
CN104038550B (zh) 数据通信方法及其装置、存储系统
US10275388B2 (en) Simultaneous inbound multi-packet processing
US11044539B1 (en) Mouse over elephant
US11303524B2 (en) Network bandwidth configuration

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