CN113364606A - 用于存储设备的对等数据信道的方法和系统 - Google Patents
用于存储设备的对等数据信道的方法和系统 Download PDFInfo
- Publication number
- CN113364606A CN113364606A CN202110238756.XA CN202110238756A CN113364606A CN 113364606 A CN113364606 A CN 113364606A CN 202110238756 A CN202110238756 A CN 202110238756A CN 113364606 A CN113364606 A CN 113364606A
- Authority
- CN
- China
- Prior art keywords
- peer
- storage
- interface
- storage device
- host
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006870 function Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 15
- 239000004744 fabric Substances 0.000 claims description 13
- 230000003287 optical effect Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 description 34
- 238000007726 management method Methods 0.000 description 29
- 238000005516 engineering process Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 239000000835 fiber Substances 0.000 description 5
- 101100465000 Mus musculus Prag1 gene Proteins 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
一种方法可以包括通过第一存储接口在主机和第一存储设备之间传输数据,通过第二存储接口在主机和第二存储设备之间传输数据,以及通过对等信道在第一存储设备和第二存储设备之间传输数据。存储系统可以包括主机接口、具有耦合到主机接口的第一存储接口的第一存储设备、具有耦合到主机接口的第二存储接口的第二存储设备以及耦合在第一和第二存储设备之间的对等总线。存储设备可以包括存储介质、耦合到存储介质的存储设备控制器、耦合到存储设备控制器的存储接口以及耦合到存储设备控制器的对等接口。
Description
技术领域
本公开一般涉及数据存储,并且更具体地,涉及用于在存储设备、数据中心、边缘中心等等中存储数据的系统和方法。
背景技术
存储系统可以包括位于一个或多个机箱、机架等等中的一个或多个存储设备,诸如硬盘驱动器(HHD)、固态驱动器(SSD)等等。数据可以通过在每个存储设备和/或主机上的存储接口在存储设备和一个或多个本地或远程主机之间传输。存储设备可以通过例如将设备上的连接器插入在中平面(midplane)、交换板(switchboard)等等上的相应连接器来连接到存储系统。存储系统还可以包括管理组件,诸如基板管理控制器(BMC),该基板管理控制器(BMC)可以执行存储系统的配置、监视和/或其他管理功能。
发明内容
一种方法可以包括通过第一存储接口在主机和第一存储设备之间传输数据,通过第二存储接口在主机和第二存储设备之间传输数据,以及通过对等信道在第一存储设备和第二存储设备之间传输数据。该方法还可以包括发现对等信道的拓扑。发现拓扑可以由主机、管理控制器或存储设备中的至少一个存储设备中的一个或多个至少部分地执行。该方法还可以包括为第一和第二存储设备配置服务质量(QoS)。可以通过主机、管理控制器或存储设备中的至少一个存储设备中的一个或多个为存储设备配置QoS。QoS可以包括优先级、资源或性能级别中的一个或多个。该方法还可以包括通过第三存储接口在主机和第三存储设备之间传输数据,以及将第一、第二和第三存储设备配置为一个或多个对等组。可以动态创建对等组。对等组可以被配置用于一对一、一对多或多对多通信中的一个或多个。存储设备中的至少一个存储设备可以从主机自主地执行可靠性、可用性或安全功能中的至少一个。
存储系统可以包括主机接口、具有耦合到主机接口的第一存储接口的第一存储设备、具有耦合到主机接口的第二存储接口的第二存储设备以及耦合在第一和第二存储设备之间的对等总线。对等总线可以包括有线总线、无线总线或光总线中的一个或多个。第一存储接口可以通过第一存储连接器耦合到主机接口,第二存储接口可以通过第二存储连接器耦合到主机接口,并且对等总线耦合在第一存储连接器和第二存储连接器之间。对等总线可以包括一个或多个无源连接。对等总线可以包括一个或多个有源连接。对等总线可以包括交换结构。对等总线可以至少部分地位于中平面、主板(motherboard)或交换板中的一个上。第一存储设备可以通过第一对等连接器耦合到对等总线,并且第二存储设备可以通过第二对等连接器耦合到对等总线。对等总线可以包括一个或多个触点(contact),这些触点被布置成将第一对等连接器耦合到对等总线。一个或多个触点可以包括一个或多个滑动触点。对等总线可以包括板、电路板、带或电缆中的一个或多个。该系统可以包含在包括机箱、机架、房间或建筑物中的一个或多个的外壳中。
存储设备可以包括存储介质、耦合到存储介质的存储设备控制器、耦合到存储设备控制器的存储接口以及耦合到存储设备控制器的对等接口。对等接口可以包括有线接口、无线接口或光接口中的一个或多个。存储接口可以包括两端口接口。存储接口能够进行环回(loopback)操作。存储连接器可以耦合到存储接口。存储连接器可以耦合到对等接口。存储设备还可以包括耦合到对等接口的附加连接器。附加连接器可以包括一个或多个滑动触点。
附图说明
附图不一定按比例绘制,并且出于说明目的,在整个附图中,类似结构或功能的元素通常由相似的参考标号来表示。附图仅意图于促进本文所描述的各种实施例的描述。附图并不描述本文公开的教导的每个方面,并且不限制权利要求的范围。为了防止附图变得模糊,并非所有的组件、连接等都可以被显示,并且并非所有的组件都可以具有参考标号。然而,组件配置的模式可以从附图中显而易见。附图与说明书一起示出本公开的示例实施例,并且与说明书一起用于解释本公开的原理。
图1示出根据本公开的存储系统的实施例。
图2示出根据本公开的存储系统的另一实施例。
图3示出根据本公开的存储系统的实施例,该存储系统可以包括可以具有对等数据传输能力的两个或更多个存储设备。
图4示出根据本公开的可以具有对等数据传输能力的存储设备的实施例。
图5示出根据本公开的具有存储设备的存储系统的示例实施例,该存储设备具有利用无线技术实施的对等数据传输能力。
图6示出根据本公开的具有存储设备的存储系统的另一示例实施例,该存储设备具有利用无线技术实施的对等数据传输能力。
图7示出根据本公开的具有存储设备的存储系统的示例实施例,该存储设备具有利用光通信技术实施的对等数据传输能力。
图8示出根据本公开的具有存储设备的存储系统的机械配置的示例实施例,该存储设备具有利用无线技术实施的对等数据传输能力。
图9示出根据本公开的用于存储系统的有线对等总线的电气配置的示例实施例。
图10示出根据本公开的具有存储设备的存储系统的示例实施例,该存储设备具有利用通过现有的连接器连接的无源有线总线实施的对等数据传输能力。
图11示出根据本公开的具有存储设备的存储系统的示例实施例,该存储设备具有利用通过现有的连接器连接的有源有线总线实施的对等数据传输能力。
图12示出根据本公开的消息格式的示例实施例。
图13示出根据本公开的用于操作存储系统的方法的实施例的数据流图,在该存储系统中存储设备可以通过一个或多个对等信道交换数据。
图14示出根据本公开的计算系统的实施例。
具体实施方式
在根据本公开的一些实施例中,两个或更多个存储设备可以通过一个或多个对等信道交换数据,而不直接涉及本地和/或远程主机。这种对等数据传输可以使得存储设备中的一个或多个支持例如可靠性、可用性和安全(RAS)特征、计算存储操作等,同时减少或消除主机接口带宽的消耗和/或对主机业务的干扰。
在一些实施例中,可以用有线、无线和/或其他技术来实施一个或多个对等信道。这些对等信道中的任何一个可以以一对一(1:1)、一对多(1:N)和/或多对多(N:N)配置或其任何组合以及以静态和/或动态配置来布置。
根据本公开,一些实施例可以实施可以通过一个或多个对等信道交换数据的存储设备的拓扑和/或特征发现、连接建立、消息流控制、服务质量(QoS)配置和/或其他特征。
图1示出了根据本公开的直连存储(DAS)系统的实施例。图1所示的存储系统100可以包括一个或多个存储设备102,存储设备102可以被实施为具有非易失性快速存储器(NVMe)接口的SSD。存储设备102可以通过PCIe链路105通信地连接到外围组件快速互连(PCIe)交换机104。存储设备102可以例如使用诸如U.2连接器108的存储连接器通过中平面106连接到PCIe交换机104。PCIe交换机104可以将存储设备102连接到可以实施各种存储控制功能的主机110。主机110可以包括例如用于存储设备102的独立驱动器冗余阵列(RAID)控制器112和一个或多个NVMe驱动器114。
存储系统100还可以包括诸如基板管理控制器(BMC)116的服务处理器,以执行系统100的管理和/或监督功能。BMC 116可以通过系统管理总线(SMBus)复用器118与存储设备102中的一个或多个通信,系统管理总线(SMBus)复用器118可以通过中平面106和存储连接器108向存储设备102提供管理接口120。存储系统100的组件可以封装在机箱122、机架、数据室或任何其他外壳或空间中。
存储系统100可以例如通过诸如以太网接口的网络接口124来访问,该网络接口124可以通过因特网和/或任何其他云或网络基础设施130提供对一个或多个应用126和/或操作系统和/或文件系统128的访问。尽管用PCIe交换机和链路示出,但是互连结构(fabric)可以使用诸如串行高级技术连接(SATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)等的任何存储互连来实施。
图2示出根据本公开的远程直连存储(rDAS)系统的实施例。图2中所示的rDAS系统132可以包括一个或多个存储设备134,该存储设备134可以被实施为具有结构上非易失性快速存储器(NVMe-oF)接口的以太网SSD(eSSD)。存储设备134可以通过以太网连接137通信地连接到以太网交换机136。存储设备134可以使用例如存储连接器(诸如U.2连接器141)通过中平面138连接到以太网交换机136。中平面138可以实施为单个电路板、一组更小的分布式电路板或任何其他配置。
如同图1所示的存储系统100,图2所示的存储系统132还可以包括诸如BMC 140的服务处理器,其可以执行存储系统132的管理和/或监督功能。在一些实施例中,BMC 140可以通过PCIe交换机142与存储设备134通信,以通过中平面138和存储连接器141向存储设备134提供管理接口144。存储系统132的组件可以封装在机箱146、机架、数据室或任何其他外壳或空间中。
以太网交换机136可以使得远程主机148能够通过例如因特网和/或任何其他云或网络基础设施150来访问存储系统132。远程主机148可以包括用于存储设备134的一个或多个NVMe-oF驱动器152。主机还可以包括一个或多个应用154和操作系统和/或文件系统156。尽管用以太网交换机136和以太网连接示出,但是在存储系统132中可以使用其他网络结构,诸如传输控制协议/因特网协议(TCP/IP)、用户数据报协议/因特网协议(UDP/IP)、远程直接存储器访问(RDMA)、光纤信道、InfiniBand等。
在一些实施例中,由于图1中示出的存储设备102可以连接到本地主机110,该本地主机110可以包括设备驱动器114和一个或多个存储管理特征(诸如RAID控制器112),它们看起来可以用作相对内聚和/或自包含的单元。相反,在一些实施例中,图2中示出的存储设备134可以彼此相对独立地操作,并且因此在本地或远程主机看来可以是SSD池。
在存储系统的一些实施例中,一个或多个RAS特征的实施可以涉及可靠性、成本、性能等之间的一个或多个权衡。例如,用于从冗余数据恢复丢失数据的基于数据冗余的数据可靠性技术可以涉及可靠性级别、冗余度、性能级别等之间的一个或多个权衡。在一些实施例中,可以通过数据的复制和/或备份副本来实现数据可靠性,例如,以集中方式使用RAID控制器或存储系统软件栈。将一个或多个RAS特征或其子集卸载到用于分布式实施的存储设备可以帮助降低成本、复杂性、性能瓶颈等。在一些实施例中,根据本公开的一个或多个对等数据传输技术可以使得一个或多个存储设备能够实施一个或多个RAS特征,而不消耗主机接口带宽,而不涉及本地和/或远程主机等。
在存储系统的一些实施例中,计算存储的实施还可以受益于根据本公开的存储设备之间的对等数据传输的使用。计算存储可以涉及将计算从中央处理单元(CPU)卸载到存储设备。在一些计算存储用例中,可以通过在存储设备处处理原始数据并将结果或减少的数据集发送到主机来获得一个或多个成本优化和/或性能益处。然而,在一些计算存储用例中,为了RAS的目的,数据可以被条带化或跨多个存储设备分布。因此,在一些实施例中,计算存储可以涉及访问计算已经被卸载到其的多于一个存储设备上的数据。因此,计算存储可以涉及存储设备之间的数据传输。
尽管可以通过主机接口路径中的主机存储器和/或交换机在存储设备之间传输数据,这种传输可以消耗主机接口带宽、CPU注意力、资源等。而且,通过主机接口路径中的主机存储器和/或交换机在存储设备之间传输数据可能导致增加的网络基础设施成本、用于数据移动的能量消耗、性能瓶颈、增加的延迟、次优性能等。在一些实施例中,并且取决于实施细节,可以通过根据本公开的用于存储设备之间的对等数据传输的一个或多个边带技术来解决任意数量的这些问题。
在根据本公开的一些实施例中,可以发现具有对等数据传输能力的存储设备,可以建立对等网络拓扑,并且存储设备可以使用例如通过一个或多个对等信道的消息传输连接来使用消息交换数据。在一些实施例中,一个或多个对等数据信道能力和/或数据交换技术可以独立于存储设备和一个或多个本地和/或远程主机(诸如NVMe、NVMe-oF、DAS、RDA等)之间使用的一个或多个底层存储架构和/或协议。
图3示出根据本公开的存储系统的实施例,该存储系统可以包括两个或更多个存储设备,这些存储设备可以具有对等数据传输能力。图3所示的存储系统160可以包括两个或更多个存储设备162,该存储设备162具有通过一个或多个数据连接168连接到主机接口166的存储接口164。存储设备162还可以包括连接到对等总线172的对等接口170。
对等总线172可以用于实施存储设备162之间的一个或多个对等信道。在一些实施例中,对等总线172可以指代可用于实施一个或多个对等信道的硬件组件、软件组件、通信协议等中的任何一个或全部。在一些实施例中,可以用有线、无线和/或其他技术和/或其组合来实施对等信道中的任何一个。
根据本公开的有线技术的示例可以包括一个或多个无源和/或有源总线,该一个或多个无源和/或有源总线可以通过现有存储连接器和/或附加连接器耦合到存储设备。总线导体可以实施在电路板、板、带、电缆、线束等上,并且在一些实施例中可以被布置用于热交换,例如与一个或多个连接器和/或滑动触点的热交换。
根据本公开的无线技术的示例可以包括诸如4G、5G等的射频(RF)蜂窝接口,以及Wi-Fi、蓝牙等的任何版本。根据本公开的用于实施对等信道的其他技术的示例可以包括诸如激光通信的光通信(具有或不具有诸如光纤的波导)。
存储接口164、主机接口166和数据连接168可以在任何配置、拓扑等中使用任何存储互连、网络、协议、连接器等(包括SATA、SAS、NVMe、NVMe-oF、外围组件互连(PCI)、PCIe、光纤信道、InfiniBand、TCP/IP、UDP/IP、RDMA等)来实施。存储系统160的组件可以使用例如一个或多个中平面、背平面(backplane)、交换板、主板、连接器等以任何物理配置布置。在一些实施例中,组件可以包含在一个或多个开放或封闭的外壳(诸如机箱、机架、机架组、数据室、数据中心建筑等)中。在一些实施例中,存储系统160可以封装在具有任意数量的存储设备162(例如24、48等)的存储机箱中。
在一些实施例中,存储系统160还可以包括管理控制器174,管理控制器174可以包括例如诸如BMC的服务处理器,该服务处理器被配置为为存储系统160提供管理和/或监督功能。管理控制器174可以通过包括SM总线(SMBus)、PCIe结构、以太网等的任何通信接口176与存储设备通信。管理控制器174可以通过包括例如专用网络连接、到主机接口166的链路等的任何通信路径与用户、主机、数据中心管理器等通信。
在一些实施例中,主机接口166可以连接到一个或多个本地和/或远程主机。例如,在一些实施例中,主机接口166可以连接到本地主机,该本地主机可以实施一个或多个存储控制功能,诸如RAID、擦除编码(EC)等。在一些其他实施例中,主机接口166可以实施为例如到远程主机的网络交换机或网关。
在一些实施例中,一个或多个远程主机、存储设备162中的一个或多个存储设备162和/或管理控制器174可以包括用于实施拓扑和/或特征发现、连接建立、消息流控制、QoS配置和/或其他特征的逻辑,以使得存储设备162能够使用对等信道执行各种功能,诸如RAS功能、计算存储操作等。
例如,在一些实施例中,拓扑发现可以由主机、诸如BMC的服务处理器等以集中方式发起和/或执行。可替代地,或者额外地,或者一个或多个存储设备可以以分布式方式自发现和/或建立与一个或多个其他具有对等能力的设备的连接。作为另一示例,存储设备可以被布置成对等组和/或子组,它们具有各种拓扑,并且它们之间分布有诸如带宽、优先级等的各种资源。这种配置可以由主机、诸如BMC的服务处理器、服务处理器等基于任意数量的策略参数来静态和/或动态地执行。
在根据本公开的一些实施例中,存储设备之间的对等数据传输可用于实施使用数据冗余以使用冗余数据恢复丢失的数据的数据可靠性技术。例如,在数据丢失之前,两个或更多个存储设备可以交换数据的复制副本以用于备份的目的,并且在数据丢失之后,可以交换数据以用于恢复的目的,而主机很少或根本不干预。作为另一示例,一个或多个存储设备可以跨多个设备实施数据条带化。
在一些实施例中,一个或多个存储设备可以使用对等数据传输来实施计算存储和/或另外从一个或多个主机和/或主机接口卸载计算和/或带宽负载。例如,在一些实施例中,具有配置在它们之间的对等信道的设备的组或子组中的一个或多个存储设备可以被指定为对该组、子组、存储系统等中的其他存储设备执行数据压缩、加密等。作为另一示例,在一些实施例中,一个或多个存储设备可以使用对等信道来在设备之间传输中间计算结果以用于进一步的计算,而不必向主机发送和/或从主机接收中间结果。
图4示出根据本公开的可以具有对等数据传输能力的存储设备的实施例。图4所示的存储设备180可以用作例如图3所示的存储设备162中的一个。存储设备180可以包括存储介质182、存储设备控制器184、存储接口186、对等接口188和存储连接器190。存储设备控制器184可以被配置成控制到存储介质182以及接口186和188的数据传输。存储设备控制器184可以包括对等逻辑193,例如,用于实施本文公开的对等特征中的任何一个,包括拓扑和/或特征发现、连接建立、消息流控制、QoS配置、RAS功能、计算存储操作等。在存储设备180被实施为SSD的实施例中,存储设备控制器184还可以包括闪存转换层(FTL)194和/或NVMe管理器196。
在一些实施例中,存储接口186可以用包括SATA、SAS、NVMe、NVMe-oF、PCI、PCIe、光纤信道、InfiniBand、TCP/IP、UDP/IP、RDMA等等的任何接口、协议等等来实施。存储连接器190可以用任何合适的连接器来实施,例如,可以能够容纳诸如SATA、SAS和NVMe的存储协议的不同系列和/或其变体和/或组合的U.2连接器。
在一些实施例中,对等接口188可以用用于建立一个或多个对等信道(包括有线、无线和/或其他技术和/或其组合)的任何通信接口来实施。在一些实施例中,对等接口188可以通过存储连接器190连接,例如,使用现有连接器设计上的一个或多个保留的、重新分配的和/或新的端子(管脚)。在一些实施例中,新的存储连接器190可以设计成容纳用于存储接口186和对等接口188的端子。在一些实施例中,可以通过附加连接器192而不是存储连接器190访问对等接口188,或除了存储连接器190之外,可以通过附加连接器192访问对等接口188。在一些实施例中,例如,在对等接口188可以用无线技术实施的情况下,对等接口188可以不使用附件连接器192或通过存储连接器190的连接。
在一些实施例中,存储接口186和对等接口188可以彼此集成。例如,在一些实施例中,存储设备180可以包括双端口以太网接口,其中存储接口186可以使用端口中的一个端口,并且对等接口188可以使用另一个端口。在一些实施例中,对等接口188可以至少部分地实施为虚拟接口。在一些实施例中,存储接口186和对等接口188基本上可以用相同的通信接口实施,其中对等信道可以通过用于将存储接口186连接到一个或多个其他存储设备和/或一个或多个本地和/或远程主机的交换结构实现为虚拟信道。因此,在一些实施例中,对等总线可以与用于一个或多个存储设备和一个或多个主机之间的主数据路径的交换结构(诸如网络或互连结构)集成。
存储设备控制器184、存储接口186和对等接口188中的任何或全部可以以硬件、软件或其任何组合来实施。
下面描述根据本公开的说明一些可能的实施细节的系统、过程、方法等的一些示例实施例。提供这些示例是为了说明本公开的原理的目的,但是这些原理不限于这些实施例、实施细节等。
图5示出根据本公开的具有存储设备的存储系统的示例实施例,该存储设备具有利用无线技术实施的对等数据传输能力。图5所示的存储系统200可以包括以类似于图1所示的实施例的DAS架构布置的一些组件,但是存储设备202可以包括用无线模块(诸如如图5所示的5G蜂窝发送和接收(Tx/Rx)模块)实施的对等接口204。因此,系统200可以实施无线对等总线206,该无线对等总线206可以具有类似于图3所示的对等总线172的任何数量的特征。
在一些实施例中,可以基于存储系统200的实施细节来调谐和/或优化5G无线模块204中的一个或多个。例如,如果系统被封装在服务器机箱中,由于机箱中的模块的接近,无线模块204可以被调谐为低功率和/或低延迟的高带宽。作为另一示例,如果存储驱动器202在空间上更广泛地分布,例如跨整个服务器机架、数据室、数据中心等等,无线模块可以被调谐以进行权衡,例如,权衡带宽以在相同的相对低功率下操作,或以增加的功率操作以在更远距离保持带宽。
尽管在一些具体实施细节(诸如具有NVMe驱动器、5G无线技术、中平面、SMBus管理接口等的DAS架构)的上下文中示出了存储系统200,使用任何蜂窝无线模块的其他实施例可以用根据本公开的任何其他实施细节来实现。
图6示出根据本公开的具有存储设备的存储系统的另一示例实施例,该存储设备具有利用无线技术实施的对等数据传输能力。图6所示的存储系统208可以包括以类似于图2所示的实施例的rDAS架构布置的一些组件,但是存储设备210可以包括用Wi-Fi模块(诸如如图6所示的电气和电子工程师协会(IEEE)标准IEEE 802.3.11g模块)实施的对等接口212。因此,存储系统208可以实施无线对等总线214,该无线对等总线214可以具有类似于图3所示的对等总线172的任何数量的特征。
在一些实施例中,Wi-Fi模块212中的一个或多个可以基于存储系统208的实施细节以类似于上面针对图5所示的存储系统200所描述的方式进行调谐和/或优化。尽管在一些示例实施细节(诸如具有eSSD驱动器、Wi-Fi无线技术、中平面、基于PCIe的管理接口等的rDAS架构)的上下文中示出了存储系统208,使用任何Wi-Fi无线模块的其他实施例可以用根据本公开的任何其他实施细节来实现。
图7示出根据本公开的具有存储设备的存储系统的示例实施例,该存储设备具有利用光通信技术实施的对等数据传输能力。图7所示的存储系统216可以包括具有用激光通信模块220实施的对等接口的存储设备218。在一些实施例中,模块中的一个或多个可以具有两个端口224A和224B。存储设备218和/或模块220可以被布置成使得一个模块220上的端口224A可以与相邻模块220上(例如,在相邻机箱插槽中的设备上)的相应模块224B对齐,并且向和从相邻模块220上的相应模块224B传输数据,从而形成使用激光束编码来交换消息的链路226。一个或多个端口224A和/或224B可以具有激光发射器(Tx)和接收器(Rx)。因此,模块220可以在环或链拓扑中形成对等总线,该对等总线可以具有类似于图3所示的对等总线172的任何数量的特征。在一些实施例中,端口224A和/或224B中的一个或多个能够进行环回操作,从而使得在链的任一端的模块能够环回未寻址到它们的消息,从而形成环拓扑。
在一些实施例中,存储设备218中的一个或多个可以包括存储连接器228,诸如用于将存储设备中的存储接口连接到用于主机业务的主机接口的U.2连接器。尽管可以在诸如双端口激光模块220和环或链拓扑的一些示例实施细节的上下文中说明存储系统216,使用激光或其他光通信的其他实施例可以用根据本公开的任何其他实施细节来实现。
图8示出根据本公开的具有存储设备的存储系统的机械配置的示例实施例,该存储设备具有利用有线技术实施的对等数据传输能力。图8所示的系统可以包括具有诸如U.2连接器234(在存储设备232的背面以幻像轮廓示出)的存储连接器和附加连接器236的存储设备232。当存储设备232被插入如箭头242所示的插槽中以建立存储设备232中的存储接口和主机之间的连接时,存储连接器234可以插入中平面或其他结构上的相应插座中。诸如顶板(top plate)或带状电缆(ribbon cable)的有线总线装置238可以具有连接器240,连接器240可以与相应存储设备232上的附加连接器236对齐。存储设备232上的附加连接器236可以将存储设备232中的对等接口连接到总线装置238上的电迹线(electrical trace),从而在存储设备232之间形成对等有线总线。
在一些实施例中,附加连接器236上的一个或多个滑动触点和/或弹簧加载销237可以与总线装置238上的相应连接器240上的一个或多个相应接触垫239接合,从而在附加连接器236和总线装置238之间建立一个或多个电连接。在一些实施例中,滑动和/或弹簧加载触点和垫片中的一个或多个的位置可以反转。在一些实施例中,有线总线装置238可以例如跨存储设备232的一个或多个托架(bay)的顶侧上的机箱或其他存储机柜中的任何或所有插槽布置,存储设备232可以具有沿设备的顶边缘布置的附加连接器236。
图9示出根据本公开的用于存储系统的有线对等总线的电气配置的示例实施例。图9所示的电气配置可以例如与图8所示的机械配置和/或总线装置238一起使用。在图9所示的存储系统230中,存储设备232可以包括具有双端口246A和246B的对等接口244。箭头可以说明当存储设备232插入存储系统中的插槽时,通过有线总线装置238上的电迹线的信号流。在一些实施例中,端口246A和/或246B中的一个或多个可以能够进行环回操作,从而使得链的任一端的接口能够环回未寻址到它们的消息,从而形成环拓扑。
在一些实施例中,如图8和图9所示的电气和/或机械布置可以使得存储系统230中的存储设备232的热交换能够实现。
图10示出根据本公开的具有存储设备的存储系统的示例实施例,该存储设备具有利用通过现有的连接器连接的无源有线总线实施的对等数据传输能力。图10所示的存储系统248可以包括以类似于图1所示的实施例的DAS架构布置的一些组件,但是存储设备250可以包括对等接口,该对等接口可以使用现有连接器(诸如如图10所示的U.2存储连接器256)中的一个或多个未使用、未定义和/或重新定义的端子或管脚。为了避免模糊附图,在中平面252上未示出PCIe连接105和管理总线连接120的路由。在一些实施例中,中平面252上的电迹线可以被路由以在中平面上形成无源有线对等总线254。无源有线对等总线254可以配置有存储设备250和/或存储设备的组和/或子组之间的任意数量和/或配置的对等信道。例如,在一些实施例中,可以在相邻存储设备250之间路由信道以形成链和/或环拓扑。在一些实施例中,可以使用任何其他信道拓扑,包括星形拓扑、多点(multi-drop)总线和/或其任何组合。
尽管在一些具体实施细节(诸如具有NVMe驱动器、U.2连接器和中平面上的对等总线的DAS架构)的上下文中示出了系统248,在其他实施例中,可以使用任何其他架构、存储设备类型、连接器等等。例如,在一些实施例中,对等总线和存储设备之间的连接可以通过除了U.2连接器以外的连接器进行,例如用于SMBus接口的连接器或可以用于为对等数据信道创建新的端子(管脚)的新连接器设计。作为另一示例,在一些实施例中,无源对等总线可以在背板、交换板、主板和/或存储系统中的任何其他装置上实施。
图11示出根据本公开的具有存储设备的存储系统的示例实施例,该存储设备具有利用通过现有的连接器连接的有源有线总线实施的对等数据传输能力。图11中所示的存储系统258可以包括以类似于图2中所示的实施例的rDAS架构中布置的一些组件,但是存储设备260可以包括对等接口,该对等接口可以使用现有连接器(诸如如图11所示的U.2存储连接器262)中的一个或多个未使用、未定义和/或重新定义的端子或管脚。为了避免模糊附图,以太网连接137和管理总线连接144的路由未示出在中平面264上。在一些实施例中,连接器262处的对等接口连接可以连接到交换结构以在存储设备260之间形成有源对等总线。在图11所示的示例中,交换结构可以实施为PCIe交换机266,其可以位于例如机箱146中的交换板上。PCIe交换机266和存储设备260之间的PCIe链路268可以通过中平面264路由。用PCIe交换机266实施的有源对等总线可以配置有存储设备260和/或存储设备的组和/或子组之间的任意数量和/或配置的对等信道。
尽管存储系统258在一些具体实施细节(诸如具有eSSD驱动器、U.2连接器和用PCIe交换机实施的交换结构的rDAS架构)的上下文中示出,在其他实施例中,可以使用任何其他架构、存储设备类型、连接器等等。例如,在一些实施例中,其他类型的交换结构可以用于实施对等总线,包括SATA、SAS、NVMe、NVMe-oF、PCI光纤信道、InfiniBand、TCP/IP、UDP/IP、RDMA等。作为另一示例,在一些实施例中,交换机可以位于存储系统中的中平面、背板、主板和/或任何其他装置上,并且来自存储设备260和交换结构的连接可以通过任何合适的装置路由。
在一些实施例中,管理控制器,和/或具有对等数据传输能力的一个或多个存储设备可以参与拓扑发现过程,拓扑发现过程可以涉及发现一个或多个具有对等能力的存储设备的存在和/或配置存储设备之间的一个或多个对等信道。在一些实施例中,可以包括诸如BMC的服务处理器的主机和/或管理控制器可以发起和/或管理拓扑发现过程。在一些实施例中,存储设备所在的插槽或连接器编号可以用作存储设备的标识符。发现过程可以依赖于根据本公开的用于实施对等总线的一种或多种技术。例如,在具有无线对等信道的实施例中,可以在主机、BMC和/或存储和/或数据中心管理员的控制下形成各种拓扑,诸如1:1、1:N、N:N和/或其组合。在一些实施例中,诸如利用光学(例如,激光)和/或链式硬线(hardwire)拓扑,对等信道可以具有固有的1:1环或链拓扑,尽管这样的拓扑仍然可以改变和/或组合以创建更复杂的拓扑。
在一些实施例中,在缺少由主机或诸如BMC的服务处理器确定的拓扑的情况下,一个或多个存储设备可以自发现其他具有对等能力的存储设备并建立连接。在一些实施例中,存储设备可以包含关于对等连接建立过程的一个或多个默认参数。在一些实施例中,在存储系统通电之后,系统中的一个或多个存储设备可以通过对等总线广播其标识符。一个或多个其他对等存储设备可以记录这些广播的标识符和/或使用广播的标识符来形成各种拓扑,例如,插槽升序或降序的1:1、1:N、N:N和/或其组合。此外,可以通过主机、管理控制器和/或一个或多个存储设备动态地创建拓扑和/或一个或多个组和/或子组。
在一些实施例中,可以为一个或多个存储设备、存储设备的组和/或子组等之间的对等数据传输建立一个或多个QoS参数。QoS参数可以由一个或多个主机、管理控制器、存储设备等建立。例如,在具有指定存储设备(该指定存储设备可以为其他设备执行诸如压缩、加密等服务)的存储系统中,该指定设备可以具有用于该服务的默认对等带宽配置(即,基于设备的QoS配置),该对等带宽配置可以由主机覆盖,该主机可以出于服务的目的设置不同的带宽(即,基于主机的QoS配置)。
QoS参数可以包括优先级、资源、带宽、延迟和/或其他性能设置。在一些实施例中,不同的QoS参数可以应用于存储设备的不同组或子组。例如,在存储设备的机箱或机架内,第一组存储设备可以属于涉及更确定的通信的擦除编码(EC)域,并且因此,第一组可以具有更高的和/或保证的QoS参数,诸如带宽、延迟等。相反,第二组存储设备可以计算校验和,和/或执行可能不涉及实时要求的其他后台数据验证任务,并且因此第二组可以具有更低的QoS参数。在一些实施例中,与主机业务相比,一个或多个组和/或子组可以具有可以针对对等通信进行调优或优化的一个或多个QoS参数。
在一些实施例中,一个或多个存储设备、存储设备的组和/或子组等的一个或多个QoS参数可以基于一个或多个策略参数。策略参数的示例可包括应用类型、应用标识符、命名空间标识符、主机标识符、逻辑块地址(LBA)地址范围、非易失性存储器(NVM)集合标识符、NVMe提交队列标识符、完成队列标识符、流标识符、以太网MAC标识符、TCP/IP地址和其他传输/网络参数、以及一般参数(如机箱、机架等中存储设备的数量、日期、时间等)。
在一些实施例中,可以在根据本公开的存储设备之间的一个或多个对等信道中实施流控制和/或其他可靠性技术。例如,可以在设备之间的消息中使用确认/不确认(Ack/Nack)操作码(opcode)。例如,在一组存储设备之间建立对等信道之后,Ack/Nack操作码可能是有用的。如果组中的多个设备尝试向单个目的地设备发送数据,取决于诸如目的地设备可能可用的缓冲存储器的资源,目的地设备可以仅接受所发送数据的一部分。Ack/Nack操作码的使用可以使设备能够确定所发送数据的哪些部分被接受,以及哪些(如果有的话)设备可能需要重新发送数据。作为又一示例,消息长度和/或消息序列号可以用于完成条目中。例如,在一些实施例中,当源设备向目的地设备发送数据时,目的地设备可以通过在完成条目中放置消息长度来确认数据的接收。作为又一示例,在一些实施例中,消息可以包含序列号,以使得当消息到达目的地设备时,目的地设备可以确定是否存在任何可以被重新发送的丢失消息。
在一些实施例中,可以使用数据消息在存储设备之间传输对等数据。图12示出根据本公开的消息格式的示例实施例。图12所示的实施例可以包括报头部分和数据部分。报头可以包含用于发送设备和接收设备的标识符。在一些实施例中,发送和/或接收设备可以通过机架或其他外壳中的插槽ID来识别。在一些实施例中,报头还可以包含附加字段,诸如消息长度、消息序列号、Ack/Nack操作码、数据保护字段(诸如报头的循环冗余校验(CRC)码)和/或数据有效载荷等。
在一些实施例中,对于一个或多个存储设备,根据本公开的对等数据传输能力可以实施为可选特征,以使得如果设备安装在没有对等数据传输能力的系统中或者与没有对等数据传输能力的其他存储设备一起安装,可以将设备作为标准存储设备配置用于默认行为。例如,对等接口可以不影响存储设备和主机之间的正常数据业务,以及正常主机命令仲裁、执行、完成等。因此,根据本公开的具有对等数据传输能力的设备可以与其他存储设备共存。例如,在一些实施例中,可以在主机和/或管理控制器的控制下启用和/或禁用对等数据传输能力。
图13示出根据本公开的用于操作存储系统的方法的实施例的数据流图,在该存储系统中存储设备可以通过一个或多个对等信道交换数据。图13所示的方法270可以例如使用本文所述的存储系统中的任何一个来实施。在图13所示的方法270中,存储设备272具有存储接口274和对等接口276。存储设备272可以分为第一组存储设备278和第二组存储设备280。第一组278还可以划分为第一子组282和第二子组284。如图13中的箭头所示,对等业务可以在每个组和/或子组内的存储设备之间流动。主机286可以具有主机接口288,主机接口288可以连接到存储设备272上的存储接口274,以使得主机业务能够在主机和存储设备之间流动。
图14示出根据本公开的计算系统的实施例。例如,图14的系统300可以用于例如实施本公开中描述的任何或所有方法和/或装置。例如,系统300可以用于实施主机、诸如BMC的服务处理器、存储设备中的存储设备控制器等。系统300可以包括中央处理单元(CPU)302、存储器304、存储装置306、互连接口307、用户接口308和网络接口310。在不同的实施例中,系统可以省略这些组件中的任何一个,或者可以包括组件中的任何一个的副本或任何附加数量,以及任何其他类型的组件,以实施本公开中描述的任何方法和/或装置。
在一些实施例中,互连接口307可以用诸如SATA、SAS、NVMe、PCI、PCIe等的任何类型的通用或存储互连来实施。
CPU 302可以包括任意数量的核心、高速缓存、总线和/或互连接口和/或控制器。存储器304可以包括动态和/或静态RAM、非易失性存储器(例如闪存)等的任何布置。存储装置306可以包括硬盘驱动器(HDD)、固态驱动器(SSD)和/或任何其他类型的数据存储设备或其任何组合。用户接口308可以包括任何类型的人机接口设备,诸如键盘、鼠标、监视器、视频捕获或传输设备、麦克风、扬声器、触摸屏等,以及这样的设备的任何虚拟化或远程版本。网络接口310可以包括一个或多个适配器或其他装置,以通过以太网、光纤信道、InfiniBand、TCP/IP、UDP/IP、RDMA、Wi-Fi、蓝牙或任何其他计算机联网布置进行通信,以使得组件能够通过物理和/或逻辑网络(诸如内联网、因特网、局域网、广域网等)进行通信。
系统300的任何或所有组件可以通过系统总线301互连,系统总线301可以共同地指代各种接口,包括电源总线、地址和数据总线、高速互连(诸如串行AT附接(SATA)、外围组件互连(PCI)、外围组件快速互连(PCI-e),系统管理总线(SMBus))和任何其他类型的接口,这些接口可以使得组件能够在本地在一个地点和/或分布在不同地点之间一起工作。
系统300还可以包括各种芯片组、接口、适配器、粘合逻辑、嵌入式控制器(例如可编程或不可编程逻辑器件或阵列)、专用集成电路(ASIC)、嵌入式计算机、智能卡等,这些芯片组、接口、适配器、粘合逻辑、嵌入式控制器(例如可编程或不可编程逻辑器件或阵列)、专用集成电路(ASIC)、嵌入式计算机、智能卡等被布置成使得系统300的各种组件能够一起工作以实施本公开中描述的任何或所有方法和/或装置。系统300的任何组件可以用硬件、软件、固件或其任何组合来实施。在一些实施例中,任何或所有组件可以以虚拟化形式和/或以基于云的实施方式实现,这些实施方式具有灵活的资源供应,例如在数据中心内,或遍布多个数据中心。
结合本文所公开的实施例描述的操作、方法、算法和/或功能可以直接具体实现在硬件中、由处理器运行的一个或多个软件模块中、或二者的组合中,这些硬件、软件模块或二者的组合包括在系统300中。如果在软件中实施,功能可以作为一个或多个指令或代码存储或传输在有形的、非瞬时性的计算机可读介质上。软件模块可以驻留在随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、可移动磁盘、CD-ROM或任何其它形式的存储介质中。本文所公开的任何系统或其组件或部分可以实施为更大系统(例如,存储系统或其他更大系统)的软件栈的一部分。本文中公开的任何系统或其组件或部分可以实施为其自己的软件栈。
可以在各种实施细节的上下文中描述本文公开的实施例,但是本公开的原理不限于这些或任何其他特定细节。一些功能已经被描述为由某些组件实施,但是在其他实施例中,功能可以分布在不同位置的不同系统和组件之间,并且具有各种用户接口。某些实施例已经被描述为具有特定过程、步骤、其组合等,但是这些术语还可以包括其中特定过程、步骤、其组合等可以用多个过程、步骤、其组合等来实施的实施例,或包括其中多个过程、步骤、其组合等可以集成到单个过程、步骤、其组合等中的实施例。对组件或元素的引用可以仅指代组件或元素的一部分。在本公开和权利要求书中的诸如“第一”和“第二”的术语的使用可以仅仅是为了区分它们所修饰的事物,并且可以不指示任何空间或时间顺序,除非从上下文中另外清楚。提及第一事物并不意味着第二事物的存在。此外,根据本专利公开的发明原理,可以组合上述各种细节和实施例以产生附加实施例。
由于本专利公开的发明原理可以在不脱离发明构思的情况下在布置和细节上进行修改,因此认为这些改变和修改落入所附权利要求的范围。
Claims (20)
1.一种用于存储数据的方法,包括:
通过第一存储接口在主机和第一存储设备之间传输数据;
通过第二存储接口在所述主机和第二存储设备之间传输数据;以及
通过对等信道在所述第一存储设备和所述第二存储设备之间传输数据。
2.根据权利要求1所述的方法,还包括发现所述对等信道的拓扑。
3.根据权利要求2所述的方法,其中所述拓扑的发现至少部分地由以下各项中的一个或多个执行:所述主机、管理控制器、或所述存储设备中的至少一个存储设备。
4.根据权利要求1所述的方法,还包括为所述第一和第二存储设备配置服务质量(QoS)。
5.根据权利要求4所述的方法,其中,通过以下各项中的一个或多个为所述存储设备配置QoS:所述主机、管理控制器或所述存储设备中的至少一个存储设备。
6.根据权利要求4所述的方法,其中所述QoS包括优先级、资源或性能级别中的一个或多个。
7.根据权利要求1所述的方法,还包括:
通过第三存储接口在所述主机和第三存储设备之间传输数据;以及
将所述第一、第二和第三存储设备配置为一个或多个对等组。
8.根据权利要求7所述的方法,其中动态地创建对等组。
9.根据权利要求7所述的方法,其中所述对等组可以被配置用于一对一、一对多或多对多通信中的一个或多个。
10.根据权利要求1所述的方法,其中所述存储设备中的至少一个存储设备从所述主机自主地执行可靠性、可用性或安全功能中的至少一个。
11.一种存储系统,包括:
主机接口;
第一存储设备,具有耦合到所述主机接口的第一存储接口;
第二存储设备,具有耦合到所述主机接口的第二存储接口;以及
耦合在所述第一和第二存储设备之间的对等总线。
12.根据权利要求11所述的存储系统,其中:
所述第一存储接口通过第一存储连接器耦合到所述主机接口;
所述第二存储接口通过第二存储连接器耦合到所述主机接口;以及
所述对等总线耦合在所述第一存储连接器和所述第二存储连接器之间。
13.根据权利要求11所述的存储系统,其中所述对等总线包括交换结构。
14.根据权利要求11所述的存储系统,其中所述对等总线至少部分地位于中平面、主板或交换板中的一个上。
15.根据权利要求11所述的存储系统,其中:
所述第一存储设备通过第一对等连接器耦合到所述对等总线;以及
所述第二存储设备通过第二对等连接器耦合到所述对等总线。
16.一种存储设备,包括:
存储介质;
存储设备控制器,耦合到所述存储介质;
存储接口,耦合到所述存储设备控制器;以及
对等接口,耦合到所述存储设备控制器。
17.根据权利要求16所述的存储设备,其中所述对等接口包括有线接口、无线接口或光接口中的一个或多个。
18.根据权利要求16所述的存储设备,其中所述存储接口包括双端口接口。
19.根据权利要求16所述的存储设备,还包括耦合到所述存储接口的存储连接器,其中所述存储连接器耦合到所述对等接口。
20.根据权利要求19所述的存储设备,还包括耦合到所述对等接口的附加连接器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062985312P | 2020-03-04 | 2020-03-04 | |
US62/985,312 | 2020-03-04 | ||
US16/885,249 | 2020-05-27 | ||
US16/885,249 US11316917B2 (en) | 2020-03-04 | 2020-05-27 | Methods and apparatus for peer-to-peer data channels for storage devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113364606A true CN113364606A (zh) | 2021-09-07 |
Family
ID=74844790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110238756.XA Pending CN113364606A (zh) | 2020-03-04 | 2021-03-04 | 用于存储设备的对等数据信道的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11316917B2 (zh) |
EP (1) | EP3876089A1 (zh) |
KR (1) | KR20210112231A (zh) |
CN (1) | CN113364606A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117937769A (zh) * | 2024-03-21 | 2024-04-26 | 西安奇点能源股份有限公司 | 一种协调控制器功率控制系统及方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11983428B2 (en) | 2022-06-07 | 2024-05-14 | Western Digital Technologies, Inc. | Data migration via data storage device peer channel |
US12008251B2 (en) * | 2022-06-22 | 2024-06-11 | Western Digital Technologies, Inc. | Rate levelling among peer data storage devices |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408473A (en) | 1992-03-03 | 1995-04-18 | Digital Equipment Corporation | Method and apparatus for transmission of communication signals over two parallel channels |
US7133380B1 (en) | 2000-01-11 | 2006-11-07 | At&T Corp. | System and method for selecting a transmission channel in a wireless communication system that includes an adaptive array |
US6542961B1 (en) * | 1998-12-22 | 2003-04-01 | Hitachi, Ltd. | Disk storage system including a switch |
US7076169B2 (en) | 2000-09-26 | 2006-07-11 | Celight, Inc. | System and method for orthogonal frequency division multiplexed optical communication |
US6810491B1 (en) * | 2000-10-12 | 2004-10-26 | Hitachi America, Ltd. | Method and apparatus for the takeover of primary volume in multiple volume mirroring |
US8074011B2 (en) * | 2006-12-06 | 2011-12-06 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery after reaching a read count limit |
US20080313364A1 (en) * | 2006-12-06 | 2008-12-18 | David Flynn | Apparatus, system, and method for remote direct memory access to a solid-state storage device |
WO2009032710A2 (en) * | 2007-08-29 | 2009-03-12 | Nirvanix, Inc. | Filing system and method for data files stored in a distributed communications network |
JP5086880B2 (ja) | 2008-04-22 | 2012-11-28 | シャープ株式会社 | 送信装置、受信装置及び無線通信システム |
CN102099792A (zh) * | 2008-06-06 | 2011-06-15 | 枢轴3公司 | 用于分布式raid实现的方法和系统 |
US8705741B2 (en) | 2010-02-22 | 2014-04-22 | Vello Systems, Inc. | Subchannel security at the optical layer |
CN103080917B (zh) * | 2010-06-18 | 2014-08-20 | Lsi公司 | 可扩展存储装置 |
US11614893B2 (en) * | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US9021563B2 (en) | 2013-01-02 | 2015-04-28 | Htc Corporation | Accessory interface system |
US9491240B2 (en) * | 2014-06-27 | 2016-11-08 | International Business Machines Corporation | Maintenance of a fabric priority during synchronous copy operations |
US9667338B2 (en) | 2014-10-17 | 2017-05-30 | The Boeing Company | Multiband wireless data transmission between aircraft and ground systems |
DE102014019271B4 (de) | 2014-12-23 | 2019-11-07 | Tesat-Spacecom Gmbh & Co.Kg | Vorrichtung nebst zugehöriger Satellitenkommunikationsstrecke |
US10313251B2 (en) * | 2016-02-01 | 2019-06-04 | Netapp, Inc. | Methods and systems for managing quality of service in a networked storage environment |
US10768819B2 (en) * | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US10613974B2 (en) * | 2016-10-04 | 2020-04-07 | Pure Storage, Inc. | Peer-to-peer non-volatile random-access memory |
US10911292B1 (en) * | 2017-03-30 | 2021-02-02 | Amazon Technologies, Inc. | Controlling peer-to-peer communication |
US20190034306A1 (en) * | 2017-07-31 | 2019-01-31 | Intel Corporation | Computer System, Computer System Host, First Storage Device, Second Storage Device, Controllers, Methods, Apparatuses and Computer Programs |
US10908911B2 (en) * | 2017-08-18 | 2021-02-02 | International Business Machines Corporation | Predicting and storing a predicted target address in a plurality of selected locations |
US10430333B2 (en) * | 2017-09-29 | 2019-10-01 | Intel Corporation | Storage system with interconnected solid state disks |
DE102018125297A1 (de) * | 2017-11-17 | 2019-05-23 | Samsung Electronics Co., Ltd. | Speichereinrichtung, die Peer-to-Peer-Kommunikation mit externer Einrichtung ohne Eingriff eines Host durchführt |
US10802753B2 (en) * | 2018-02-15 | 2020-10-13 | Seagate Technology Llc | Distributed compute array in a storage system |
US11321249B2 (en) * | 2018-03-26 | 2022-05-03 | Samsung Electronics Co., Ltd. | Mechanism to autonomously manage SSDS in an array |
US10956058B2 (en) * | 2018-08-03 | 2021-03-23 | Western Digital Technologies, Inc. | Tiered storage system with tier configuration by peer storage devices |
US10901848B2 (en) * | 2018-08-03 | 2021-01-26 | Western Digital Technologies, Inc. | Storage systems with peer data recovery |
US10747455B2 (en) * | 2018-08-03 | 2020-08-18 | Western Digital Technologies, Inc. | Peer storage system with peer operation state indicator |
-
2020
- 2020-05-27 US US16/885,249 patent/US11316917B2/en active Active
- 2020-12-11 KR KR1020200173037A patent/KR20210112231A/ko not_active Application Discontinuation
-
2021
- 2021-03-01 EP EP21159878.4A patent/EP3876089A1/en active Pending
- 2021-03-04 CN CN202110238756.XA patent/CN113364606A/zh active Pending
-
2022
- 2022-04-25 US US17/728,969 patent/US20220255991A1/en active Granted
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117937769A (zh) * | 2024-03-21 | 2024-04-26 | 西安奇点能源股份有限公司 | 一种协调控制器功率控制系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210281639A1 (en) | 2021-09-09 |
EP3876089A1 (en) | 2021-09-08 |
US20220255991A1 (en) | 2022-08-11 |
KR20210112231A (ko) | 2021-09-14 |
US11316917B2 (en) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3876089A1 (en) | Methods and systems for peer-to-peer data channels for storage devices | |
US10387353B2 (en) | System architecture for supporting active pass-through board for multi-mode NMVE over fabrics devices | |
KR102457091B1 (ko) | Nvme-of 이더넷 ssd에서 데이터 복제를 제공하기 위한 시스템 및 방법 | |
CN108874307B (zh) | 以太网固态驱动系统和提供存储卸载功能的方法 | |
US10715411B1 (en) | Altering networking switch priority responsive to compute node fitness | |
US8954785B2 (en) | Redundancy and load balancing in remote direct memory access communications | |
US7502884B1 (en) | Resource virtualization switch | |
US9294569B2 (en) | Cell fabric hardware acceleration | |
KR20190074962A (ko) | 스토리지 장치용 로컬 매니지먼트 콘솔 | |
CN110941576B (zh) | 具有多模pcie功能的存储控制器的系统、方法和设备 | |
JP2004531175A (ja) | ローカル識別子を使ったエンド・ノード区分 | |
US20200356515A1 (en) | System architecture for supporting active pass-through board for multi-mode nmve over fabrics devices | |
CN116501681B (zh) | Cxl数据传输板卡及控制数据传输的方法 | |
US20210286747A1 (en) | Systems and methods for supporting inter-chassis manageability of nvme over fabrics based systems | |
US11722585B2 (en) | Reliable communications using a point to point protocol | |
US11494096B2 (en) | System and method for storage array enclosure discovery | |
US20030016669A1 (en) | Full transmission control protocol off-load | |
US7155537B1 (en) | Infiniband isolation bridge merged with architecture of an infiniband translation bridge | |
CN104933001A (zh) | 一种基于RapidIO技术的双控制器数据通信方法 | |
US20120047397A1 (en) | Controlling apparatus, method for controlling apparatus and information processing apparatus |
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 |