CN107643996B - 包括单端口存储控制器的基于pci express的双端口存储盒 - Google Patents
包括单端口存储控制器的基于pci express的双端口存储盒 Download PDFInfo
- Publication number
- CN107643996B CN107643996B CN201710431503.8A CN201710431503A CN107643996B CN 107643996 B CN107643996 B CN 107643996B CN 201710431503 A CN201710431503 A CN 201710431503A CN 107643996 B CN107643996 B CN 107643996B
- Authority
- CN
- China
- Prior art keywords
- pcie
- port
- storage
- switch
- communicatively coupled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/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
- 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
- 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
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请公开了包括单端口存储控制器的基于PCI EXPRESS的双端口存储盒。一种存储盒,其可以包括:存储控制器,其包括单个PCIe端口;以及PCIe交换机。该PCIe交换机可以包括:通信地耦合到第一PCIe结构的第一PCIe端口、通信地耦合到第二不同PCIe结构的第二PCIe端口、以及通信地耦合到存储控制器的单个PCIe端口的第三PCIe端口。第一PCIe端口和第二PCIe端口可以被配置成选择性地通信耦合到PCIe交换机的非透明桥(NTB)。
Description
技术领域
本公开大体涉及网络附加存储系统。
背景技术
企业应用中所使用的网络附加存储(NAS)系统可能被设计为高可用性系统,其包括冗余以便减轻系统中的部件故障的影响。例如,高可用性NAS可以包括:两组进入NAS的网络端口、两个控制CPU、以及用于附接到存储盒(storage cartridge)的两个交换网络。每个存储盒可以包括两个端口,每个相应端口用于将存储盒附接到两个交换网络中的相应的一个交换网络。
发明内容
在一些实例中,本公开描述了一种存储盒,所述存储盒包括:存储控制器,其包括单个PCIe端口;以及PCIe交换机。PCIe交换机可以包括:通信地耦合到第一PCIe结构(fabric)的第一PCIe端口、通信地耦合到第二不同PCIe结构的第二PCIe端口、以及通信地耦合到存储控制器的单个PCIe端口的第三PCIe端口。第一PCIe端口和第二PCIe端口可以被配置成选择性地通信耦合到PCIe交换机的非透明桥(NTB)。
在一些实例中,本公开描述了网络附加存储系统,其包括:第一控制CPU、第二控制CPU、通信地耦合到第一控制CPU的第一PCIe交换机、通信地耦合到第二控制CPU的第二PCIe交换机、以及存储盒。存储盒可以包括:存储控制器,其包括单个PCIe端口;以及第三PCIe交换机。第三PCIe交换机可以包括:通信地耦合到第一PCIe交换机的第一PCIe端口、通信地耦合到第二PCIe交换机的第二PCIe端口、以及通信地耦合到存储控制器的单个PCIe端口的第三PCIe端口。第一PCIe端口和第二PCIe端口可以被配置成选择性地通信耦合到第三PCIe交换机的非透明桥(NTB)。
在一些实例中,本公开描述了一种方法,其包括通过存储盒的存储控制器从控制CPU接收非透明桥(NTB)分配命令。存储控制器可以包括单个PCIe端口。存储盒可以包括存储控制器和PCIe交换机。PCIe交换机可以包括:通信地耦合到第一PCIe结构的第一PCIe端口、通信地耦合到第二不同PCIe结构的第二PCIe端口、以及通信地耦合到存储控制器的单个PCIe端口的第三PCIe端口。所述方法还可以包括基于NTB分配命令,通过存储控制器将致使NTB通信地耦合到PCIe交换机的第一PCIe端口或PCIe交换机的第二PCIe端口的命令传送到PCIe交换机。
在附图和下文的说明中将示出一个或更多个实例的细节。其他特征、目标和优点从描述和附图以及权利要求书中将是明显的。
附图说明
图1是示出根据本公开的一个或更多个方面的示例性存储环境的概念和示意框图,其中网络附加存储(NAS)系统可以用作多个主机装置的存储装置。
图2是示出根据本公开的一个或更多个方面的示例性存储盒的概念和示意框图。
图3是示出根据本公开的一个或更多个方面的示例性存储刀片(storage blade)的概念和示意框图。
图4是示出根据本公开的一个或更多个方面的用于将非透明桥分配给PCIe端口的示例性技术的流程图。
具体实施方式
本公开描述了一种存储盒,所述存储盒包括:至少一个存储控制器,其包括单个外围部件互连高速(PCIe)端口;以及PCIe交换机,其包括被配置成将存储盒连接到外部装置(诸如相应PCIe结构)的两个PCIe端口。PCIe交换机允许在双端口系统中使用单端口存储控制器,从而允许在高可用性网络附加存储(NAS)系统中使用单端口存储控制器。这可允许在高可用性NAS系统中使用商业上可获得的基于PCIe的存储控制器,而不是要求开发新的基于PCIe的双端口存储控制器以用于在高可用性NAS系统中使用。
为了允许在双端口系统中使用单端口存储控制器,PCIe交换机包括非透明桥(NTB)。NTB允许两个PCIe结构连接到单个交换机,并且可以防止第一PCIe结构上的装置完全看透第二PCIe结构,并且反之亦然。相反,NTB可以为连接到第一PCIe结构的装置提供窗口以便看透第二PCIe结构,并且反之亦然。此外,由于每个PCIe结构使用相应的地址方案,NTB可以提供相应PCIe结构所使用的地址之间的地址转换,从而允许来自第二PCIe结构的装置访问来自第一PCIe结构的装置,并且反之亦然。以此方式,包括PCIe交换机(其在所述PCIe交换机的PCIe端口之一上包含NTB)允许在双端口NAS系统中使用单端口存储控制器。
图1是示出根据本公开的一个或更多个技术的示例性存储环境10的概念和示意框图,其中NAS系统16可以用作主机装置12的数据存储装置。例如,主机装置12可以利用NAS系统16中包括的非易失性存储器装置来存储和检索数据。
存储环境10可以包括多个主机装置12,其可以将数据存储到一个或更多个存储装置(诸如NAS系统16)和/或从一个或更多个存储装置检索数据。如图1所示,主机装置12可以通过第一交换网络14A和第二交换网络14B(统称为“交换网络14”)与NAS系统16通信。主机装置12可以包括范围广泛的装置中的任何一个,包括计算机服务器、基于云的计算集群、台式计算机、笔记本(即膝上型)计算机、平板计算机、机顶盒、电话手机(诸如所谓的“智能”电话)、所谓的“智能”平板电脑、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流装置等。
交换网络14可以包括用于与主机装置12交换数据的数据总线以及用于与主机装置12交换命令的控制总线中的一个或两者。在一些实例中,每个交换网络14可以包括交换结构,其中所有主机装置12通过交换机连接到每个网络端口20A和20B。交换网络14可以利用任何合适的网络传输技术。例如,交换网络14可以利用以太网、无限带宽、光纤通道等中的一个或更多个。通过包括两个交换网络14A和14B,存储环境10从主机12完全双端接到存储盒30A-30N(统称为“存储盒30”)。以此方式,如果第一交换网络14A或第二交换网络14B中的一个发生故障,则主装置12仍然可以使用交换网络14A或第二交换网络14B中的另一个来连接到NAS系统16。
每个交换网络14通信地耦合到NAS存储系统16。例如,在图1中,第一交换网络14A通信地耦合到NAS系统16的第一控制板18A的第一网络端口20A。类似地,在图1中,第二交换网络14B通信地耦合到NAS系统16的第二控制板18B的第二网络端口20B。
NAS系统16包括两个控制板18A和18b(统称为“控制板18”),从而再次为高可用性系统提供冗余。控制板18包含用于控制NAS系统16的部件,包括控制CPU 22A和CPU 22B(统称为“控制CPU 22”)、DRAM 26A和DRAM 26B(统称为“DRAM 26”)、以及PCIe交换机24A和PCIe交换机24B(统称为“PCIe交换机24”)。
控制板18A包括一个或更多个第一网络端口20A,其通信地耦合到第一交换网络14A并且允许第一控制板18A(例如,第一控制CPU 22A)与主机装置12之间的通信。第一网络端口20A可以实行任何协议、网络传输技术和连接器形状因子(connector form factor),并且其中的每一个可以基于交换网络14所使用的技术。
一个或更多个第一网络端口20A通信地耦合到第一控制CPU 22A。例如,一个或更多个第一网络端口20A和第一控制CPU 22A可以连接到公共印刷电路板(PCB),并且使用一个或更多个导电迹线通信地耦合在PCB上或PCB中。
第一控制CPU 22A单独地或与第二控制板18B上的第二CPU 22B组合来控制NAS系统16的操作。第一控制CPU 22A也可以被称为NAS系统16的控制器。第一控制CPU 22A可以是任何类型的处理器,包括例如,微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效的集成或分立逻辑电路、以及此类部件的任何组合。在一些实例中,第一控制CPU 22A可以包括基于x86的处理器,诸如可从Intel 或获得的基于x86的处理器。
第一控制CPU 22A通过交换网络14从主机装置12接收命令并且与主机装置12交换数据。第一控制CPU 22A致使NAS系统16执行命令以存储或检索来自存储盒30的数据。从主机装置12接收的命令可以包括读命令和写命令。第一控制CPU 22A也执行其他功能,诸如闪存转换层(逻辑到物理映射或间接)、命令排队、写聚集、读取高速缓存、数据的加密和解密、数据的压缩和解压缩、允许恢复含误差(error-laden)数据的纠错码、RAID命令、以及后台系统任务,诸如耗损均衡、垃圾收集、系统状态跟踪等。
在一些实例中,第一控制板18A可以包括用作卸载处理器的FPGA 28A。FPGA 28A可以被配置成代替控制CPU 22A执行一个或更多个操作以便减少CPU 22A的工作负载。例如,FPGA 28A可以从控制CPU 22A卸载以下中的一个或更多个:写队列管理、压缩、加密、RAID计算、解压缩、删除重复、解密、读取高速缓存等。在一些实例中,第一控制板18A可以省略FPGA28A,第二控制板18B可以省略FPGA 28B,或者两者。
第一控制板18A还包括第一DRAM 26A。第一DRAM 26A是第一控制CPU 22A的工作存储器,并且第一FPGA 28A和存储盒30A的存储控制器可通过第一PCIe交换机24A访问第一DRAM 26A。第一DRAM 26A可以存储与第一控制CPU 22A、FPGA 28A、以及存储盒30A的存储控制器相关的数据,包括例如任务队列(诸如读队列、写队列等);读缓冲器;逻辑到物理地址转换表等。
第一控制板18A还包括第一PCIe交换机24A。第一PCIe交换机24A将各种装置或部件连接到PCIe结构,包括CPU 22A、FPGA 28A和存储盒30。在一些实例中,如图1所示,第一PCIe交换机24A还提供到第二控制板18B的第二PCIe交换机24B的通信链路。在一些实例中,并非包括单个第一PCIe交换机24A,第一控制板18A可以包括多个第一PCIe交换机24A,诸如主PCIe交换机和辅助PCIe交换机。在第一控制板18A包括主PCIe交换机和辅助PCIe交换机的一些实例中,主PCIe交换机可以向第一控制板18A的层提供对存储盒30(例如,存储盒30的子集)的本地访问,并且辅助PCIe交换机可以向第二控制板18B的层提供对存储盒30(例如,存储盒30的第二子集)的本地访问。以此方式,无论单个交换机还是多个交换机,第一PCIe交换机24A可以提供第一控制CPU 22A和第一FPGA 28A对所有存储盒30的访问。
类似地,第二控制板18B包括第二网络端口20B、第二控制CPU 22B、第二DRAM 26B、第二PCIe交换机24B和第二FPGA 28B。第二网络端口20B、第二控制CPU 22B、第二DRAM 26B、第二PCIe交换机24B和第二FPGA 28B中的每一个可以与第一网络端口20A、第一控制CPU22A、第一DRAM 26A、第一PCIe交换机24A和第一FPGA 28A类似或基本上相同。
在一些实例中,第一控制CPU 22A和第二控制CPU 22B可以同时是主动的,被称为主动-主动配置。在其他实例中,第一控制CPU 22A和第二控制CPU 22B中的一个可以是主动的,并且另一个可以是被动或空闲的,被称为主动-被动配置。在主动控制CPU发生故障的情况下,存在被动或空闲控制CPU。
在第一控制CPU 22A和第二控制CPU 22B处于主动-主动配置或主动-被动配置的实例中,第一控制CPU 22A和第二控制CPU 22B可以交换数据以维持状态信息,诸如协调对存储盒30的写更新。如图1所示,在一些实例中,第一控制CPU 22A和第二控制CPU 22B可以通过专用链路来通信耦合。
在一些实例中,NAS系统16可以包括图1中未示出的附加部件。例如,NAS系统16可以包括一个或更多个电源,并且可以包括在存储盒20和控制板18之中路由信号的中平面(midplane)。此外,在一些实例中,第一控制板18A可以被分成:包括第一网络端口20A、第一控制CPU 22A和第一DRAM 26A的控制板;以及包括第一PCIe交换机24A和第一FPGA 28A的路由器板。同样地,第二控制板18B可以被分成:包括第二网络端口20B、第二控制CPU 22B和第二DRAM 26B的控制板;以及包括第二PCIe交换机24B和第二FPGA 28B的路由器板。
第一控制CPU 22A和第二控制CPU 22B中的每一个分别是以第一PCIe交换机24A和第二PCIe交换机24B为中心的PCIe结构的根端口。每个PCIe结构利用其自身的地址方案,在相应控制CPU所执行的PCIe驱动程序执行列举(enumeration)期间分配所述地址方案。可以防止来自一个PCIe结构的装置完全看透其他PCIe结构,以便防止装置和地址方案之间的争用。这样,PCIe交换机24A和24B可以通过具有非透明桥(NTB)的端口来连接。NTB允许通过PCIe交换机24连接两个PCIe结构,并且防止第一PCIe结构上的装置完全看透第二PCIe结构,并且反之亦然。相反,NTB可以为连接到第一PCIe结构的装置提供窗口以便看透第二PCIe结构,并且反之亦然。此外,NTB可以提供相应PCIe结构所使用的地址之间的地址转换,从而允许来自第二PCIe结构的装置访问来自第一PCIe结构的装置,并且反之亦然。在一些实例中,第一控制CPU 22A和第二控制CPU 22B中的一个被指定为主控制CPU,并且另一个被指定为从控制CPU。
由于NAS系统16是高可用性双端口系统,因此每个存储盒30包括两个端口-到第一PCIe交换机24A和第二PCIe交换机24B中的每一个的连接。这样,存储盒30中的每个存储盒连接到第一PCIe结构和第二PCIe结构。
根据本公开的实例,存储盒30中的至少一个存储盒包括单端口存储控制器。为了在双端口存储盒中能够使用单端口控制器,存储盒还可以包括PCIe交换机,其包括两个外部端口(将存储盒连接到PCIe交换机24A和24B)。外部端口可以选择性地通信地耦合到NTB。NTB允许通过存储盒中的PCIe交换机连接两个PCIe结构,并且防止第一PCIe结构上的装置完全看透第二PCIe结构,并且反之亦然。相反,NTB可以为连接到第一PCIe结构的装置提供窗口以便看透第二PCIe结构,并且反之亦然。此外,NTB可以提供相应PCIe结构所使用的地址之间的地址转换,从而允许来自第二PCIe结构的装置访问来自第一PCIe结构的装置,并且反之亦然。在一些实例中,主控制CPU列举存储盒30,并且NTB通信地耦合到端口,该端口耦合到从控制CPU的PCIe结构。然后,NTB在第一PCIe结构(存储盒30是其部分)与第二PCIe结构之间执行地址转换。以此方式,即使控制器仅包括单个端口,两个控制CPU 22也可以访问包括单个端口控制器的存储盒。
图2是示出根据本公开的一个或更多个方面的示例性存储盒30A的概念和示意框图。如图2所示,储存盒30A包括第一存储刀片32A和第二存储刀片32B。第一存储刀片32A可以被称为母刀片并且包括PCIe交换机34。第二存储刀片32B可以被称为子刀片并且是可选的。
第一存储刀片32A包括:PCIe交换机34,其包括NTB 36;第一单端口存储控制器38A;以及第一多个非易失性存储器装置40AA-40AN(统称为“NVM装置40A”),NVM装置40A可以包括任何类型的非易失性存储器装置。NVM装置40A的一些实例包括但不限于,闪存装置、相变存储器(PCM)装置、电阻随机访问存储器(ReRAM)装置、磁阻随机访问存储器(MRAM)装置、铁电随机访问存储器(F-RAM)、全息存储器装置、以及任何其他类型的非易失性存储器装置。NVM装置40A中的每个例如通过专用通道连接到第一单端口存储控制器38A。
第一单端口存储控制器38A例如基于从控制CPU 22或FPGA 28(图1)接收的命令来控制存储刀片的操作。在一些实例中,第一单端口存储控制器38A可以是全功能存储控制器;并且可以为以下中的一个或更多个提供或执行功能:垃圾收集、耗损均衡、加密、解密、压缩、解压缩、纠错码、命令队列、读缓冲、写聚合等。在其他实例中,由于控制CPU 22和FPGA28可以实现更全功能的存储控制器的一些功能,因此第一单端口存储控制器38A可以实现简化的一组功能。例如,第一单端口存储控制器38A可以执行编程、擦除和读操作,并且剩余功能可以由控制CPU 22和FPGA 28执行。第一单端口存储控制器38A通过单个PCIe端口通信地耦合(例如,电耦合)到PCIe交换机34。在其中多个NVM装置40A是闪存装置的一些实例中,第一单端口存储控制器38A可以被称为闪存控制器。
第二存储刀片32B类似于第一存储刀片32A,但不包括PCIe交换机34。相反,第二存储刀片32B包括第二单端口存储控制器38B和第二多个NVM装置40BA-40BN(统称为“第二多个NVM装置40B”)。第二单端口存储控制器32B和第二多个NVM装置40B-40B可以分别与第一单端口存储控制器38A和第一多个NVM装置40A-40A类似或基本相同。
在图2的实例中,PCIe交换机34是2对2交换机。在一些实例中,诸如当存储盒30A省略第二存储刀片32B时,PCIe交换机34可以是2对1交换机。如图2所示,PCIe交换机34包括:通信地耦合(例如,电耦合)到第一PCIe交换机24A的第一PCIe端口、通信地耦合(例如,电耦合)到第二PCIe交换机24B的第二PCIe端口、通信地耦合(例如,电耦合)到第一单端口存储控制器38A的第三PCIe端口、以及通信地耦合(例如,电耦合)到第二单端口存储控制器38B的第四PCIe端口。以此方式,PCIe交换机34将每个存储控制器38通信地耦合到每个PCIe交换机24。
PCIe交换机34还包括NTB 36。在图2的实例中,NTB 36耦合到第二PCIe端口,该第二PCIe端口通信地耦合到第二PCIe交换机24B。这意味着第二控制CPU 22B是从控制CPU,并且第一控制CPU 22A是主控制CPU。在一些实例中,PCIe交换机34可以包括允许将NTB选择性地分配给PCIe交换机34的任何端口的逻辑或交换机。在一些实例中,PCIe交换机34可以被(例如,被第一单端口存储控制器38A或控制CPU 22中的一个)控制,以使得将NTB 36被分配给与从控制CPU相关联的PCIe交换机。
如上所述,NTB 36允许通过PCIe交换机34连接两个PCIe结构(一个与第一PCIe交换机24A相关联,并且另一个与第二PCIe交换机24B相关联),从而防止第一PCIe结构上的装置完全看透第二PCIe结构,并且反之亦然。相反,NTB 36可以为连接到第一PCIe结构的装置提供窗口以便看透第二PCIe结构,并且反之亦然。因此,由于存储盒30A可以由第一控制CPU22A列举并且是第一PCIe结构的部分,因此NTB 36可以允许第二控制CPU 22B和第二FPGA28B查看存储盒30A。此外,NTB 36可以提供第一PCIe结构(包括第一控制CPU 22A、第一FPGA28A和存储盒30A)所使用的地址与第二PCIe结构(包括第二控制CPU 22B和第二FPGA 28B)所使用的地址之间的地址双向转换,从而允许来自第二PCIe结构的第二控制CPU 22B和第二FPGA 28B访问存储盒30A以及第一多个NVM装置40A和第二多个NVM装置40B。
图3是示出根据本公开的一个或更多个方面的示例性存储刀片32A的概念和示意框图。如图3所示并且类似于图2的存储刀片32A,存储刀片32A包括PCIe交换机34、第一单端口存储控制器38A和多个NVM装置40A。在图3的实例中,PCIe交换机34包括四个PCIe端口:通信地耦合(例如,电耦合)到第一PCIe交换机24A的第一PCIe端口、通信地耦合(例如,电耦合)到第二PCIe交换机24B的第二PCIe端口、通信地耦合(例如,电耦合)到第一单端口存储控制器38A的第三PCIe端口、以及通信地耦合(例如,电耦合)到第二单端口存储控制器38B的第四PCIe端口。如上所述,在其他实例中,PCIe交换机34可以包括三个端口,并且可以省略到第二单端口存储控制器38B的连接,例如在包括存储刀片32A的存储容器不包括第二存储刀片的实例中。
与图2所示的实例不同,在图3的实例中,NTB 36尚未被分配给PCIe端口。此外,在图3的实例中,存储刀片32A包括附加特征,其包括交换机控制接口42、第一边带控制接口44A和第二边带控制接口44B。
交换机控制接口42通信地耦合(例如,电耦合)第一单端口存储控制器38A和PCIe交换机34。例如,交换机控制接口42可以包括两个或更多个电迹线,其中一个或更多个专用于接收并且一个或更多个专用于发射。作为另一实例,交换机控制接口42可以仅实现从第一单端口存储控制器38A到PCIe交换机34的单向通信,并且因此可以包括专用于从第一单端口存储控制器38A发射的一个或更多个电迹线。
第一单端口存储控制器38A可以被配置成通过交换机控制接口42将命令传送到PCIe交换机34,以致使将NTB 36分配给PCIe交换机34的第一PCIe端口或PCIe交换机34的第二PCIe端口。换言之,第一单端口存储控制器38A可以被配置成通过交换机控制接口42将命令传送到PCIe交换机34,以致使NTB 36通信地耦合(例如,电耦合)到PCIe交换机34的第一PCIe端口或PCIe交换机34的第二PCIe端口。以此方式,第一单端口存储控制器38A可以致使将NTB 36分配给与PCIe交换机(例如,第一PCIe交换机24A或第二PCIe交换机24B)相关联的端口,所述PCIe交换机与从控制CPU相关联(例如,第一控制CPU 22A或第二控制CPU 22B)。
在一些实例中,在NAS系统16(图1)启动时,或者在从第一控制CPU 22A作为主控制器到第二控制CPU 22B作为主控制器的故障切换时(或反之亦然)的PCIe列举过程期间,第一单端口存储控制器38A可以从第一控制CPU 22A或第二控制CPU 22B中的一个接收NTB分配命令。第一边带控制接口44A将第一单端口存储控制器38A通信地耦合(例如,电耦合)到第一PCIe交换机FPGA 28A或CPU 22A(例如,通过中平面、I/O端口或标准接口(诸如通用异步接收器/发射器(UART)、内置集成电路(I2C)控制器等)),并且被配置为允许第一单端口存储控制器38A绕过PCIe交换机34,并且与第一PCIe交换机24A(第一外部装置)进行通信。类似地,第二边带控制接口44B将第一单端口存储控制器38A通信地耦合(例如,电耦合)到第二PCIe交换机24B,并且被配置成允许第一单端口存储控制器38A绕过PCIe交换机34,并且与第二PCIe交换机24B(第二外部装置)进行通信。在一些实例中,第一边带控制接口44A和第二边带控制接口44B(统称为“边带控制接口44”)中的每一个包括专用于发射的第一通信链路(例如,电迹线)和专用于接收的第二通信链路(例如,电迹线)。
以此方式,在PCIe驱动程序所执行的装置列举过程期间,边带控制接口44允许第一单端口存储控制器38A从主控制CPU(例如,第一控制CPU 22A或第二控制CPU 22B)接收NTB分配命令。响应于接收NTB分配命令,第一单端口存储控制器38A可以被配置成基于NTB分配命令,通过交换机控制接口42将命令传送到PCIe交换机34,以致使NTB 36通信地耦合(例如,电耦合)到PCIe交换机34的第一PCIe端口或PCIe交换机34的第二PCIe端口。以此方式,在不依赖PCIe交换机(其可能没有相对于NTB 36被正确配置)的情况下,主控制CPU可能致使将NTB 36分配给与从控制CPU相关联的PCIe交换机的PCIe端口。
在一些实例中,单端口存储控制器38利用DRAM 26(图1)以用于任务队列,诸如写队列、读队列等。例如,控制CPU 22可以将任务添加到与相应DRAM 26相关联的相应队列(例如,第一控制CPU 22A可以将任务添加到存储在第一DRAM 26A中的相应任务队列,并且第二控制CPU 22B可以将任务添加到存储在第二DRAM 26B中的相应任务队列),并且单端口存储控制器38可以访问相应任务队列以便获得用于执行的任务。用于任务队列的一些控制逻辑可以由控制CPU 22执行,并且用于任务队列的一些控制逻辑可以由单端口存储控制器38执行。然而,由于单端口存储控制器38是单端口的,因此单端口存储控制器38可以不再被配置成访问与两个控制CPU 22相关联的任务队列。
根据本公开的一些实例,每个单端口存储控制器38可以支持限定数量的任务队列。对于每个单端口存储控制器38,可以将任务队列的总数除以控制CPU 22的数量,并且相应数量的任务队列可以专用于控制CPU 22中的每个相应控制CPU。在一些实例中,任务队列可以被编号或以其他方式来识别;因此,单端口存储控制器38和控制CPU 22可以知道哪些存储队列位于哪个DRAM 26中。
例如,每个单端口存储控制器38可以支持1024个任务队列。当NAS 16包括两个控制CPU 22A和22B时,任务队列可以被分成两半,并且对于每个单端口存储控制器38,512个任务队列可以与第一控制CPU 22A相关联或被分配给第一控制CPU 22A,并且512个任务队列可以与第二控制CPU 22B相关联或被分配给第二控制CPU 22B。在一些实例中,单端口存储控制器38可将已分配端口的指示传送到第一控制CPU 22A和第二控制CPU 22B,例如通过中平面连接器上的信号。
图4是示出根据本公开的一个或更多个方面的用于将非透明桥分配给PCIe端口的示例性技术的流程图。将相对于图1的存储环境10、图2的存储盒30A和图3的存储刀片32A描述图3的技术,尽管其他装置和系统可以实现图4的技术,并且图1的存储环境10、图2的存储盒30A和图3的存储刀片32A可以执行其他技术。
图4的技术包括通过存储盒30A的存储控制器(例如,第一单端口存储控制器38A),从控制CPU(例如,第一控制CPU 22A或第二控制CPU 22B)接收NTB分配命令(52)。如参照图2和图3所描述的,其中存储控制器(例如,第一单端口存储控制器3A)包括单个PCIe端口。存储盒30A包括存储控制器(例如,第一单端口存储控制器38A)和PCIe交换机34。PCIe交换机34包括:通信地耦合到第一PCIe结构的第一PCIe端口、通信地耦合到第二不同PCIe结构的第二PCIe端口、以及通信地耦合到存储控制器(例如,第一单端口存储控制器38A)的单个PCIe端口的第三PCIe端口。NTB分配命令可以包括以下指示:哪个控制CPU是主控制CPU(例如,第一控制CPU 22A或第二控制CPU 22B),将要把NTB 36分配给PCIe交换机34的哪个PCIe端口,PCIe交换机34的哪个PCIe端口连接到与主控制CPU(例如,第一控制CPU 22A或第二控制CPU 22B)相关联的PCIe交换机(24A或24B),PCIe交换机34的哪个PCIe端口连接到与从控制CPU(例如,第一控制CPU 22A或第二控制CPU 22B)相关联的PCIe交换机(24A或24B)等。
图4的技术还包括基于NTB分配命令,通过存储控制器(例如,第一单端口存储控制器38A)将致使NTB 36将通信地耦合(例如,电耦合或被分配)到PCIe交换机34的第一PCIe端口或PCIe交换机34的第二PCIe端口的命令传送到PCIe交换机34(54)。如上所述,在一些实例中,NTB 36可以通信地耦合(例如,电耦合或分配)到PCIe交换机34的PCIe端口,该PCIe端口通过相应PCIe交换机24A或24B连接到从控制CPU(例如,第一控制CPU 22A或第二控制CPU22B)。因此,另一个PCIe端口(其未被分配NTB 36)与主控制CPU(例如,第一控制CPU 22A或第二控制CPU 22B)相关联,并且向与主控制CPU相关联的PCIe结构提供透明连接(例如,与该PCIe结构(其与主控制CPU相关联)相关联的装置不需要地址转换来访问存储盒30A)。
虽然已经相对于存储装置的控制器描述了前述实例,但在其他情况下,本文所描述的实例可以由另一个处理器(诸如通用处理器)来实现,并且逻辑到物理数据地址转换表可以是例如转换后援缓冲器。
本公开中描述的技术可以至少部分地在硬件、软件、固件或它们的任何组合中实施。例如,所述技术的不同方面可以在一个或更多个处理器中实施,包括一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效集成的或离散的逻辑电路、以及这类部件的任何组合。术语“处理器”或“处理电路”通常可以指代任何上述逻辑电路单独或结合其他逻辑电路、或任何其他等效电路。包括硬件的控制单元也可以执行本公开中的一项或更多项技术。
这种硬件、软件和固件可以在相同装置内或在分开的装置内实施以支持本公开中描述的各种技术。此外,任何所述单元、模块或部件可以一起实施或单独实施为离散但互操作的逻辑装置。作为模块或单元的不同特征结构的描绘旨在强调不同的功能方面,而并不一定暗指这类模块或单元必须通过分开的硬件、固件或软件部件来实现。相反,与一个或更多个模块或单元相关联的功能可以通过分开的硬件、固件或软件部件来执行,或整合在共同的或分开的硬件、固件或软件部件中。
本公开中描述的技术也可以在包括用指令编码的计算机可读存储介质的制品中体现或编码。在包括已编码计算机可读存储介质的制品中嵌入或编码的指令可以致使一个或更多个可编程处理器、或其他处理器实现本文所述的一种或更多种技术,诸如当在计算机可读存储介质中包括或编码的指令由一个或更多个处理器执行时。计算机可读存储介质可以包括:随机访问存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、光盘ROM(CD-ROM)、软盘、磁带盒、磁介质、光介质、或其他计算机可读介质。在一些实例中,制品可以包括一个或更多个计算机可读存储介质。
在一些实例中,计算机可读存储介质可包括非暂时性介质。术语“非暂时性”可表明存储介质未在载波或传播信号中体现。在某些实例中,非暂时性存储介质可以存储可随时间而改变的数据(例如,存储在RAM或高速缓存中)。
已经描述了各种不同的实例。这些和其他实例是在所附权利要求书的范围内。
Claims (9)
1.一种存储盒,其包括:
存储控制器,其包括单个PCIe端口;
PCIe交换机,其包括:
通信地耦合到第一PCIe结构的第一PCIe端口;
通信地耦合到第二不同PCIe结构的第二PCIe端口;和
通信地耦合到所述存储控制器的所述单个PCIe端口的第三PCIe端口,
其中所述第一PCIe端口和所述第二PCIe端口被配置成选择性地通信耦合到所述PCIe交换机的非透明桥即NTB;
第一边带控制接口,其通信地耦合到所述存储控制器并且被配置成允许所述存储控制器绕过所述PCIe交换机,并且与第一外部装置进行通信;
第二边带控制接口,其通信地耦合到所述存储控制器并且被配置成允许所述存储控制器绕过所述PCIe交换机,并且与第二外部装置进行通信,其中所述存储控制器从所述第一外部装置或所述第二外部装置接收NTB分配命令,所述存储盒还包括:
交换机控制接口,其将所述存储控制器通信地耦合到所述PCIe交换机,其中所述存储控制器被配置成基于所述NTB分配命令,通过所述交换机控制接口将命令传送到所述PCIe交换机,以致使所述NTB通信地耦合到所述PCIe交换机的所述第一PCIe端口或所述PCIe交换机的所述第二PCIe端口。
2.根据权利要求1所述的存储盒,其中:
所述存储控制器包括第一存储控制器;
所述存储盒还包括第二存储控制器,所述第二存储控制器包括单个PCIe端口;以及
所述PCIe交换机还包括通信地耦合到所述第二存储控制器的所述单个PCIe端口的第四PCIe端口。
3.根据权利要求2所述的存储盒,其还包括第一存储刀片和第二存储刀片,其中所述第一存储刀片包括所述PCIe交换机、所述第一存储控制器和第一多个非易失性存储器装置,并且其中所述第二存储刀片包括所述第二存储控制器和第二多个非易失性存储器装置。
4.一种网络附加存储系统即NAS系统,其包括:
第一控制CPU;
第二控制CPU;
通信地耦合到所述第一控制CPU的第一PCIe交换机;
通信地耦合到所述第二控制CPU的第二PCIe交换机;以及
存储盒,其中所述存储盒包括:
存储控制器,其包括单个PCIe端口;以及
第三PCIe交换机,其包括:
通信地耦合到所述第一PCIe交换机的第一PCIe端口;
通信地耦合到所述第二PCIe交换机的第二PCIe端口;
通信地耦合到所述存储控制器的所述单个PCIe端口的第三PCIe端口,其中所述第一PCIe端口和所述第二PCIe端口被配置成选择性地通信耦合到所述第三PCIe交换机的非透明桥即NTB;
第一边带控制接口,其通信地耦合到所述存储控制器并且被配置成允许所述存储控制器绕过所述第三PCIe交换机,并且与所述第一控制CPU进行通信;和
第二边带控制接口,其通信地耦合到所述存储控制器并且被配置成允许所述存储控制器绕过所述第三PCIe交换机,并且与所述第二控制CPU进行通信,其中所述存储控制器从所述第一控制CPU或所述第二控制CPU接收NTB分配命令,所述存储盒还包括:
交换机控制接口,其将所述存储控制器通信地耦合到所述第三PCIe交换机,其中所述存储控制器被配置成基于所述NTB分配命令,通过所述交换机控制接口将命令传送到所述第三PCIe交换机,以致使所述NTB通信地耦合到所述第三PCIe交换机的所述第一PCIe端口或所述第三PCIe交换机的所述第二PCIe端口。
5.根据权利要求4所述的NAS系统,其中:
所述存储控制器包括第一存储控制器;
所述存储盒还包括第二存储控制器,所述第二存储控制器包括单个PCIe端口;以及
所述PCIe交换机还包括通信地耦合到所述第二存储控制器的所述单个PCIe端口的第四PCIe端口。
6.根据权利要求5所述的NAS系统,其中所述存储盒还包括第一存储刀片和第二存储刀片,其中所述第一存储刀片包括所述第三PCIe交换机、所述第一存储控制器和第一多个非易失性存储器装置,并且其中所述第二存储刀片包括所述第二存储控制器和第二多个非易失性存储器装置。
7.根据权利要求4所述的NAS系统,其中所述存储盒包括多个存储盒,其中所述多个存储盒中的每个相应存储盒包括:
相应存储控制器,其包括单个PCIe端口;
相应的第三PCIe交换机,其包括:
相应的第一PCIe端口通信地耦合到所述第一PCIe交换机;
相应的第二PCIe端口通信地耦合到所述第二PCIe交换机;
相应的第三PCIe端口通信地耦合到所述相应存储控制器的所述单个PCIe端口,并且其中所述相应的第一PCIe端口和所述相应的第二PCIe端口被配置成选择性地通信耦合到所述相应的第三PCIe交换机的相应非透明桥即NTB。
8.一种用于存储盒的方法,其包括:
通过存储盒的存储控制器从控制CPU接收非透明桥分配命令即NTB分配命令,其中所述存储控制器包括单个PCIe端口,其中所述存储盒包括所述存储控制器和PCIe交换机,并且其中所述PCIe交换机包括:通信地耦合到第一PCIe结构的第一PCIe端口、通信地耦合到第二不同PCIe结构的第二PCIe端口、以及通信地耦合到所述存储控制器的所述单个PCIe端口的第三PCIe端口;
基于所述NTB分配命令,通过所述存储控制器,将致使所述NTB通信地耦合到所述PCIe交换机的所述第一PCIe端口或所述PCIe交换机的所述第二PCIe端口的命令传送到所述PCIe交换机;
其中,所述存储盒还包括:
第一边带控制接口,其通信地耦合到所述存储控制器并且被配置成允许所述存储控制器绕过所述PCIe交换机,并且与所述控制CPU进行通信;
第二边带控制接口,其通信地耦合到所述存储控制器并且被配置成允许所述存储控制器绕过所述PCIe交换机,并且与第二外部装置进行通信;
并且所述存储控制器通过所述第一边带控制接口从所述控制CPU接收所述NTB分配命令,其中,
所述存储盒还包括将所述存储控制器通信地耦合到所述PCIe交换机的交换机控制接口;以及
所述存储控制器基于所述NTB分配命令,通过所述交换机控制接口将所述命令传送到所述PCIe交换机。
9.根据权利要求8所述的方法,其中:
所述存储控制器包括第一存储控制器;
所述存储盒还包括第二存储控制器,所述第二存储控制器包括单个PCIe端口;以及
所述PCIe交换机还包括通信地耦合到所述第二存储控制器的所述单个PCIe端口的第四PCIe端口。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/215,304 US10082957B2 (en) | 2016-07-20 | 2016-07-20 | Dual-ported PCI express-based storage cartridge including single-ported storage controllers |
US15/215,304 | 2016-07-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107643996A CN107643996A (zh) | 2018-01-30 |
CN107643996B true CN107643996B (zh) | 2020-10-13 |
Family
ID=60890401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710431503.8A Active CN107643996B (zh) | 2016-07-20 | 2017-06-09 | 包括单端口存储控制器的基于pci express的双端口存储盒 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10082957B2 (zh) |
KR (1) | KR20180010131A (zh) |
CN (1) | CN107643996B (zh) |
DE (1) | DE102017113576B4 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10467100B2 (en) * | 2016-08-15 | 2019-11-05 | Western Digital Technologies, Inc. | High availability state machine and recovery |
US10418121B2 (en) * | 2017-03-27 | 2019-09-17 | Sk Hynix Memory Solutions Inc. | Memory system with diagnose command and operating method thereof |
US10884672B2 (en) * | 2018-04-02 | 2021-01-05 | Samsung Electronics Co., Ltd. | NDP-server: a data-centric computing architecture based on storage server in data center |
CN110941576B (zh) * | 2018-09-21 | 2021-11-19 | 苏州库瀚信息科技有限公司 | 具有多模pcie功能的存储控制器的系统、方法和设备 |
CN109614356B (zh) * | 2018-12-10 | 2023-02-28 | 浪潮(北京)电子信息产业有限公司 | 一种双控系统通信装置 |
KR20210046348A (ko) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | 복수의 프로세서들에 유연하게 메모리를 할당하기 위한 메모리 시스템 및 그것의 동작 방법 |
US11843692B2 (en) * | 2020-03-02 | 2023-12-12 | Seagate Technology Llc | On-cartridge encryption key storage for cartridge-based library |
US11354398B2 (en) | 2020-03-02 | 2022-06-07 | Seagate Technology Llc | Off-cartridge encryption key storage for cartridge-based library |
US11106607B1 (en) * | 2020-03-31 | 2021-08-31 | Dell Products L.P. | NUMA-aware storage system |
JP7197541B2 (ja) * | 2020-04-01 | 2022-12-27 | 株式会社日立製作所 | ストレージ装置 |
US11829625B2 (en) * | 2020-04-27 | 2023-11-28 | EMC IP Holding Company LLC | Slice memory control |
CN113805668B (zh) * | 2020-06-12 | 2024-02-13 | 戴尔产品有限公司 | 双树背板 |
CN111597135B (zh) * | 2020-06-18 | 2022-04-12 | 中国人民解放军国防科技大学 | 一种透明桥和非透明桥功能可选的pcie交换器及多主机系统 |
US11561698B2 (en) * | 2021-04-20 | 2023-01-24 | EMC IP Holding Company LLC | NVMEoF flow control from initiator based on transaction latency |
CN113132199B (zh) * | 2021-04-21 | 2022-07-01 | 无锡众星微系统技术有限公司 | 一种PCIe NTB的系统实现管理方法 |
US11734207B1 (en) | 2022-02-02 | 2023-08-22 | Western Digital Technologies, Inc. | Dynamic port allocation in PCIe bifurcation system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101025979A (zh) * | 2006-02-17 | 2007-08-29 | 国际商业机器公司 | 数据存储驱动器和自动数据存储库 |
CN102388357A (zh) * | 2011-09-23 | 2012-03-21 | 华为技术有限公司 | 访问存储设备的方法及系统 |
CN102541473A (zh) * | 2011-12-31 | 2012-07-04 | 曙光信息产业股份有限公司 | 一种刀片服务器的存储设备设置方法及利用了该方法的刀片服务器 |
CN105408879A (zh) * | 2013-07-22 | 2016-03-16 | 华为技术有限公司 | 快捷外围部件互连域的资源管理 |
CN105721357A (zh) * | 2016-01-13 | 2016-06-29 | 华为技术有限公司 | 交换设备、外围部件互连高速系统及其初始化方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100573435C (zh) | 2006-08-18 | 2009-12-23 | 福昭科技(深圳)有限公司 | 一种基于闪存记忆体的大容量存储装置 |
US7890690B2 (en) | 2007-06-07 | 2011-02-15 | International Business Machines Corporation | System and method for dual-ported flash memory |
US8020035B2 (en) | 2008-07-30 | 2011-09-13 | Hewlett-Packard Development Company, L.P. | Expander circuit for a solid state persistent storage device that provides a plurality of interfaces to corresponding storage controllers |
US8589723B2 (en) | 2010-12-22 | 2013-11-19 | Intel Corporation | Method and apparatus to provide a high availability solid state drive |
US8938559B2 (en) * | 2012-10-05 | 2015-01-20 | National Instruments Corporation | Isochronous data transfer between memory-mapped domains of a memory-mapped fabric |
US9887008B2 (en) | 2014-03-10 | 2018-02-06 | Futurewei Technologies, Inc. | DDR4-SSD dual-port DIMM device |
US9852779B2 (en) | 2014-03-12 | 2017-12-26 | Futurewei Technologies, Inc. | Dual-port DDR4-DIMMs of SDRAM and NVRAM for SSD-blades and multi-CPU servers |
US20150261709A1 (en) * | 2014-03-14 | 2015-09-17 | Emilio Billi | Peripheral component interconnect express (pcie) distributed non- transparent bridging designed for scalability,networking and io sharing enabling the creation of complex architectures. |
US9419918B2 (en) * | 2014-11-07 | 2016-08-16 | Futurewei Technologies, Inc. | Non-transparent bridge method and apparatus for configuring high-dimensional PCI-express networks |
-
2016
- 2016-07-20 US US15/215,304 patent/US10082957B2/en active Active
-
2017
- 2017-06-09 CN CN201710431503.8A patent/CN107643996B/zh active Active
- 2017-06-20 DE DE102017113576.6A patent/DE102017113576B4/de active Active
- 2017-06-23 KR KR1020170079732A patent/KR20180010131A/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101025979A (zh) * | 2006-02-17 | 2007-08-29 | 国际商业机器公司 | 数据存储驱动器和自动数据存储库 |
CN102388357A (zh) * | 2011-09-23 | 2012-03-21 | 华为技术有限公司 | 访问存储设备的方法及系统 |
CN102541473A (zh) * | 2011-12-31 | 2012-07-04 | 曙光信息产业股份有限公司 | 一种刀片服务器的存储设备设置方法及利用了该方法的刀片服务器 |
CN105408879A (zh) * | 2013-07-22 | 2016-03-16 | 华为技术有限公司 | 快捷外围部件互连域的资源管理 |
CN105721357A (zh) * | 2016-01-13 | 2016-06-29 | 华为技术有限公司 | 交换设备、外围部件互连高速系统及其初始化方法 |
Also Published As
Publication number | Publication date |
---|---|
DE102017113576B4 (de) | 2019-01-24 |
US20180024743A1 (en) | 2018-01-25 |
DE102017113576A1 (de) | 2018-01-25 |
US10082957B2 (en) | 2018-09-25 |
KR20180010131A (ko) | 2018-01-30 |
CN107643996A (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107643996B (zh) | 包括单端口存储控制器的基于pci express的双端口存储盒 | |
TWI639919B (zh) | 資料儲存系統中的多埠中介件架構 | |
US10514855B2 (en) | NVRAM path selection | |
US10031820B2 (en) | Mirroring high performance and high availablity applications across server computers | |
US9135190B1 (en) | Multi-profile memory controller for computing devices | |
US11055251B2 (en) | Storage device performing peer-to-peer communication with external device without intervention of host | |
US9652182B2 (en) | Shareable virtual non-volatile storage device for a server | |
US8583992B2 (en) | SAS-based semiconductor storage device memory disk unit | |
US20110145452A1 (en) | Methods and apparatus for distribution of raid storage management over a sas domain | |
CN110737611A (zh) | 存储系统和选择存储装置的操作模式的方法 | |
JP5732708B2 (ja) | 不揮発性メモリからのデータ読み出し用コントローラ | |
US20200412557A1 (en) | Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd | |
TW201432474A (zh) | 應用伺服器至非依電性隨機存取記憶體之路徑選取技術 | |
KR102234261B1 (ko) | 가상 디바이스 기반의 시스템 | |
US10606784B1 (en) | Software filtering of redundant sideband device management bus communications | |
US8255596B2 (en) | Multipath-based migration of data across storage controllers | |
EP4086774A1 (en) | Coherent memory system | |
US9769062B2 (en) | Load balancing input/output operations between two computers | |
CN113282231B (zh) | 存储装置以及相关闪存控制器 | |
US9779003B2 (en) | Safely mapping and unmapping host SCSI volumes | |
US11334483B2 (en) | Network fabric storage system | |
US20160188528A1 (en) | Electronic system with storage control mechanism and method of operation thereof | |
JP2012014239A (ja) | フォールトトレラントの計算機システム、複数の物理サーバとストレージ装置とに接続されるスイッチ装置、及び、サーバ同期制御方法 | |
US12045184B2 (en) | System for monitoring and controlling host selection for a multi-host capable PCI-E device | |
US11972112B1 (en) | Host IO device direct read operations on peer memory over a PCIe non-transparent bridge |
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 |