CN106462114B - 可扩展存储系统中的电力处理 - Google Patents

可扩展存储系统中的电力处理 Download PDF

Info

Publication number
CN106462114B
CN106462114B CN201580029418.8A CN201580029418A CN106462114B CN 106462114 B CN106462114 B CN 106462114B CN 201580029418 A CN201580029418 A CN 201580029418A CN 106462114 B CN106462114 B CN 106462114B
Authority
CN
China
Prior art keywords
electric power
power
pcie
module
data
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.)
Expired - Fee Related
Application number
CN201580029418.8A
Other languages
English (en)
Other versions
CN106462114A (zh
Inventor
J·布瑞克司顿
C·龙
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.)
Li Kidd Ltd By Share Ltd
Original Assignee
Li Kidd Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Li Kidd Ltd By Share Ltd filed Critical Li Kidd Ltd By Share Ltd
Priority claimed from PCT/US2015/027608 external-priority patent/WO2015164794A1/en
Publication of CN106462114A publication Critical patent/CN106462114A/zh
Application granted granted Critical
Publication of CN106462114B publication Critical patent/CN106462114B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/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
    • GPHYSICS
    • G21NUCLEAR PHYSICS; NUCLEAR ENGINEERING
    • G21DNUCLEAR POWER PLANT
    • G21D1/00Details of nuclear power plant
    • G21D1/02Arrangements of auxiliary equipment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E30/00Energy generation of nuclear origin
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E30/00Energy generation of nuclear origin
    • Y02E30/30Nuclear fission reactors

Abstract

本文提供了用于数据存储系统的系统、方法、装置和软件。在一个例子中,提供了数据存储组件(110)。数据存储组件包括多个存储驱动器(311),每个存储驱动器包括PCIe主机接口和固态存储介质,每个存储驱动器被配置为响应于经关联的PCIe主机接口接收的存储操作而存储和取回数据。数据存储组件包括PCIe开关电路(312),其耦合到存储驱动器的PCIe主机接口并被配置为经共享的PCIe接口接收由一个或多个主机系统(131)发出的存储操作并且传送存储操作以便经选定的一些PCIe主机接口输送到存储驱动器。数据存储组件包括被配置为在到数据存储组件的输入电力丢失之后向至少存储驱动器提供电力的保持电路系统(322)。

Description

可扩展存储系统中的电力处理
相关申请
本申请要求于2014年4月25日提交的标题为“SCALABLE STORAGE SYSTEM SLEDARCHITECTURE”的美国临时专利申请61/984,193、于2014年4月25日提交的标题为“SCALABLE STORAGE SYSTEM POWER DOWN HANDLING”的美国临时专利申请61/984,199、于2014年4月25日提交的标题为“SCALABLE STORAGE SYSTEM ARCHITECTURE WITH POWERREDISTRIBUTION”的美国临时专利申请61/984,207、于2014年4月25日提交的标题为“SCALABLE STORAGE SYSTEM ARCHITECTURE AND STATISTICAL POWER HANDLING”的美国临时专利申请61/984,219、于2015年4月23日提交的标题为“POWER HANDLING IN A SCALABLESTORAGE SYSTEM”的美国非临时专利申请14/694,578以及于2015年4月23日提交的标题为“STATISTICAL POWER HANDLING IN A SCALABLE STORAGE SYSTEM”的美国非临时专利申请14/694,732的权益和优先权,这些申请的全部内容通过引用被结合于此。
背景技术
计算机系统通常包括大容量存储系统,诸如磁盘驱动器、光学存储设备、带式驱动器或固态存储驱动器,以及其它存储系统。随着这些计算机系统中存储需求的增加,已经引入了联网存储系统,其在与终端用户计算机设备物理分离的存储环境中存储大量数据。这些联网存储系统通常经一个或多个网络接口为终端用户或其它外部系统提供对大容量数据存储的访问。除了数据的存储以外,远程计算系统还包括可以向终端用户提供远程计算资源的各种处理系统。这些联网存储系统和远程计算系统可以包括在高密度安装中,诸如机架安装环境。
但是,随着联网存储系统和远程计算系统的密度增加,会遇到各种物理限制。这些限制包括基于底层存储技术的密度限制,诸如在旋转磁介质存储系统的大阵列的例子中。这些限制还可以包括基于对网络互连的各种物理空间需求以及对环境气候控制系统的大空间需求的计算密度限制。
除了物理空间限制以外,这些大容量存储系统传统上还受限于每个主机中可以包括的设备的数量,这在期望更高容量、冗余和可靠性的存储环境中会是有问题的。这些缺点会随着联网的、云和企业环境中日益增长的数据存储和取回需求而特别明显。
发明内容
本文提供了用于数据存储系统的系统、方法、装置和软件。在一个例子中,提供了数据存储组件。该数据存储组件包括多个存储驱动器,每个存储驱动器包括PCIe主机接口和固态存储介质,每个存储驱动器被配置为响应于经关联的PCIe主机接口接收的存储操作而存储和取回数据。数据存储组件包括PCIe开关电路,其耦合到存储驱动器的PCIe主机接口并被配置为经共享PCIe接口接收由一个或多个主机系统发出的存储操作并传送存储操作以便经选定的一些PCIe主机接口输送到存储驱动器。数据存储组件包括被配置为在到数据存储组件的输入电力丢失之后向至少存储驱动器提供电力的保持电路系统。
在另一个例子中,提供了操作数据存储组件的方法。该方法包括,在多个存储驱动器中,响应于经关联的PCIe主机接口接收的存储操作而存储和取回数据,其中每个存储驱动器包括外围组件互连快速(PCIe)主机接口和固态存储介质。该方法还包括,在耦合到多个存储驱动器的PCIe主机接口的PCIe开关电路中,经共享的PCIe接口接收由一个或多个主机系统发出的存储操作并传送存储操作以便经选定的一些PCIe主机接口输送到存储驱动器。该方法还包括,在保持电路系统中,在到数据存储组件的输入电力丢失之后向至少多个存储驱动器提供电力。
在另一个例子中,提供了数据存储模块。数据存储模块包括多个存储驱动器,每个存储驱动器被配置为响应于经关联的主机接口接收的存储操作而存储和取回数据。数据存储模块包括通信电路系统,其耦合到多个存储驱动器的主机接口并被配置为经共享的接口接收由一个或多个主机系统发出的存储操作并传送存储操作以便经选定的主机接口输送到多个存储驱动器。数据存储模块包括被配置为在到数据存储模块的输入电力丢失之后向至少多个存储驱动器提供保持电力的电力控制电路系统。
附图说明
参考以下附图可以更好地理解本公开内容的许多方面。附图中的部件不一定是按比例的,而是重点在于清楚地示出本公开内容的原理。而且,在附图中,相同的标号贯穿若干视图表示对应的部分。虽然结合这些附图描述了若干实施例,但本公开内容不限于本文公开的实施例。相反,其意在覆盖所有替代、修改和等同物。
图1是示出存储系统的系统图。
图2是示出存储系统的框图。
图3是示出存储模块的框图。
图4是示出控制模块的框图。
图5是示出处理模块的框图。
图6是示出电力控制系统的框图。
图7是示出操作模块的方法的流程图。
图8是示出操作模块的方法的流程图。
图9是示出操作模块的方法的流程图。
图10是示出操作模块的方法的流程图。
图11是示出处理系统的框图。
具体实施方式
图1是示出存储系统100的系统图。存储系统100在图1中包括三种不同的模块类型,即,储存器滑轨110、互连模块120和处理模块130。虽然这个例子示出了许多储存器滑轨、2个互连模块和6个处理模块。但是可以包括任何数量的滑轨或模块,诸如48个储存器滑轨或64个储存器滑轨,连同不同数量的互连或处理模块。一些例子可以在两个或更多个模块之间分布每个互连模块120的功能。此外,还可以包括电源模块和关联的电源和控制分布链路,但为了清楚起见,在图1中被省略了。
模块通常包括物理支撑结构以及包括电路系统、印刷电路板、半导体系统和结构元件的外壳。模块可插入机架安装风格的外壳并可从中拆卸。在一些例子中,图1的元件包括在用于安装在更大机架安装环境中的3U机箱中。应当理解,图1的元件可以包括在任何物理安装环境中,并且不需要包括任何关联的外壳或机架安装元件。
保持电路系统115被包括在每个滑轨110上,以便在针对滑轨的输入电力丢失或移除时向关联的滑轨提供电力。在一些例子中,滑轨从关联的配合连接器被移除并且输入电力由于移除而丢失。在其它例子中,到系统100的电力丢失,诸如在设施断电期间或者当关联的电源发生故障时。类似的保持电路系统可以包括在系统100的其它各种模块上。具体而言,保持电路系统125包括在互连模块120上并且保持电路系统135包括在处理模块130上。
转向储存器滑轨110的例子,各种保持电路系统还附带电力控制器电路,以选择性地向储存器滑轨110的元件提供电力。电力控制器可以从储存器滑轨110的处理器或者从其它处理器或模块,诸如经本文讨论的内部集成电路(I2C)、以太网或通用串行总线(USB)边带接口,接收控制指令。储存器滑轨110可以经一个或多个电力链路接收电力,作为用于储存器滑轨110的各种元件的电源。保持电路系统115包括用于存储通过电力链路接收的电力以在电力中断事件,诸如电源丢失,期间使用的能量存储设备。保持电路系统115可以包括电容存储设备,诸如电容器阵列。对电力控制电路系统的例子的进一步讨论在下面找到。
如图1中所看到的,储存器滑轨110可以各自在电力中断事件期间提供自我供电,如由元件112所示。而且,储存器滑轨110可以各自将电力重新分配给其它储存器滑轨,如由元件113所示。这种重新分配的电力可以被传送到其它储存器滑轨110或图1中的其它模块,诸如互连模块120或处理模块130。通常,在关联的滑轨断电之前,储存器滑轨将使用任何关联的保持电力来提交与挂起的写操作关联的空中(in-flight)写数据。空中写数据可被提交到关联的储存器滑轨的存储驱动器,或者可被提交到其它非易失性存储器,诸如可以保存写数据一直到电力恢复的非易失性写高速缓存。如果写操作还未到达关联的储存器滑轨,则空中写操作也可以保持在互连模块120或处理模块130的非易失性存储器中。一旦任何空中写数据被提交到非易失性存储器,过剩或剩余的保持电力可以被重新分配给其它模块。在一些例子中,当输入电力丢失时没有挂起的写操作存在,并且大量的过剩电力在特定的储存器滑轨上可用。这种过剩的电力可被重新分配到不同的储存器滑轨,以帮助那个滑轨用于关联的写操作的提交过程。有利地,一个滑轨或模块的过剩保持电力可被用来在电力中断期间为另一个滑轨或模块的操作供电。
多个储存器滑轨110被包括在系统100中。每个储存器滑轨110包括一个或多个存储驱动器,诸如图3中所示的每个滑轨四个存储驱动器。每个储存器滑轨110还包括外围部件互连快速(PCIe)开关、处理器和控制系统元件。每个储存器滑轨110的PCIe开关经关联的PCIe链路与一个或多个滑轨上存储驱动器通信。每个储存器滑轨110的PCIe开关还通信耦合到滑轨上处理器或控制系统,用于流量统计取回和状态监视,以及其它操作。每个储存器滑轨110的PCIe开关经一个或多个PCIe链路140与互连模块120的关联的PCIe开关121通信。
互连模块120的每个PCIe开关121经关联的PCIe链路142与一个或多个处理模块130的关联的PCIe开关132通信。PCIe开关132与一个或多个关联的处理系统131以及经一个或多个交叉连接PCIe链路143通信。互连模块120还各自包括用于互连处理器模块,诸如处理器模块130,的多个PCIe开关122。PCIe开关122被包括用于处理器模块交叉连接,并且经处理器模块交叉连接链路141与关联的处理模块130中的一些PCIe开关133通信。PCIe开关133经PCIe链路134与一些处理系统131通信。
在图1的例子中,PCIe开关121和132(以及关联的PCIe链路)包括在系统100的数据平面中,并被用于在储存器滑轨110和处理模块130之间运送存储数据。PCIe开关122和133(和关联的PCIe链路)包括在系统100的控制平面中,并被用于在处理模块之间运送用户控制数据和控制信令。
每个处理模块130经一个或多个PCIe链路135通过PCIe开关133与外部扩展卡或外部PCIe端口通信。在一些例子中,外部扩展卡包括用于经TCP/IP网络通信或运送iSCSI流量以及其它网络流量类型的网络接口卡。这些分组链路由分组网络链路144示出。对存储系统100的外部访问经一些分组网络链路144来提供,诸如用于让终端用户访问存储在储存器滑轨110上的数据。
每个处理模块130还可以经一个或多个模块间分组网络接口145与其它处理模块,诸如在其它存储组件或3U外壳中的处理模块,通信。在一些例子中,模块间分组网络接口145包括用于经以太网或TCP/IP(传输控制协议(TCP)/互联网协议)网络通信以在处理模块之间交换存储分组的网络接口卡。经以太网的模块间存储分组交换的进一步操作在本文的例子中讨论。
本文讨论的PCIe开关可以包括PCIe交叉点开关,其至少基于由每个PCIe链路运送的流量逻辑地交互各种关联的PCIe链路。每个PCIe开关端口可以包括非透明(NT)或透明端口。NT端口可以允许端点之间的一些逻辑隔离,而透明端口不允许逻辑隔离,并且具有在纯交换配置中连接端点的效果。经一个或多个NT端口的访问可以包括PCIe开关和发起端点之间的附加握手,以选择特定的NT端口或允许通过NT端口的可见性。在其它例子中,基于域的PCIe信令分发可被包括在内,这允许根据用户定义的组来分离PCIe开关的PCIe端口。
PCIe可以支持多个总线宽度,诸如x1、x4、x8、x16和x32,其中总线宽度的每个倍数包括用于数据传送的附加“通道”。除了其它信令,PCIe还支持边带信令的传送,诸如系统管理总线(SMBus)接口和联合测试行动组(JTAG)接口,以及关联的时钟、电力和引导(bootstrapping)。虽然在图1中使用PCIe,但是应当理解,可以替代地使用不同的通信链路或总线,诸如以太网、串行连接SCSI(SAS)、光纤信道、Thunderbolt、串行连接ATA快速(SATAExpress)、网络以及链路接口。图1中的任何链路可以各自使用各种通信介质,诸如空气、空间、金属、光纤或某种其它信号传播路径,包括其组合。图1中的任何链路可以包括任何数量的PCIe链路或通道配置。图1中的任何链路可以各自是直接链路或者可以包括各种装备、中间部件、系统和网络。图1中的任何链路可以各自是公共链路、共享链路、聚合链路,或者可以由离散的、单独的链路组成。
在图1中,任何处理模块130上的任何处理系统131对所有储存器滑轨110中的所有存储驱动器具有逻辑可见性。任何处理系统131可以传送数据以存储在任何存储驱动器上,并且取回已经存储在任何存储驱动器上的数据。因此,“m”个存储驱动器可以与“n”个处理器耦合,以允许具有高级冗余和密度的大型可扩展体系架构。
为了提供每个处理系统131对任何储存器滑轨110的可见性,可以采用各种技术。在第一个例子中,特定的处理系统131管理(实例化/绑定)储存器滑轨的总数的子集个数,诸如跨4个储存器滑轨的16个存储驱动器,并且处理针对存储驱动器的那个子集的事务,诸如读和写事务。但是,每个处理系统131对由任何其它处理系统131管理的存储驱动器具有存储器映射可见性。当期望针对不由特定的处理系统管理的存储驱动器的事务时,该特定的处理系统对那个事务使用对所有存储驱动器的存储器映射访问。事务可被传送并转移到管理与事务的数据关联的那个存储驱动器的适当处理系统。控制平面,即,PCIe开关122和133,被用来在处理系统之间传送数据,使得特定的处理系统或处理器可以将数据存储在由那个特定处理系统管理的一个或多个储存器滑轨中,即使数据可能经与不同处理系统关联的网络接口被接收。
在操作中,诸如写操作,数据可以由任何处理模块130的任何处理系统131经任何网络接口144接收。例如,写操作可以是经网络链路144从采用iSCSI协议的终端用户接收的写操作。接收写操作的处理系统确定它是否物理地管理与该写操作关联的一个或多个存储驱动器,并且如果是,则该处理系统经数据平面PCIe链路133传送数据,以存储在关联的存储驱动器上。如果处理系统确定它不物理地管理与该写操作关联的一个或多个存储驱动器,则该处理系统经交叉连接链路134将写操作传送到包括管理这一个或多个存储驱动器的处理系统的另一处理滑轨。数据分条可被任何处理系统用来将用于特定写事务的数据在任何数量的存储驱动器上,诸如在包括由该特定处理系统管理的存储驱动器的所有储存器滑轨上,分条。
在这个例子中,与每个处理系统131关联的PCIe接口具有64位地址空间,这允许264字节的可寻址空间,从而导致至少16艾字节(exbibyte)的字节可寻址存储器。64位PCIe地址空间可被所有处理系统131共享,用于到储存器滑轨上的存储驱动器的存储器映射。因此,虽然每个特定的处理系统131实际上管理储存器滑轨上的总存储驱动器的子集,但是所有处理器131都对储存器滑轨上的任何存储驱动器具有可见性,并且可以发起对储存器滑轨上的任何存储驱动器的读/写事务。管理储存器滑轨上的特定存储驱动器的管理处理系统131通过至少使用存储器映射的PCIe地址空间从发起处理系统131接收写/读事务和任何关联的数据。
图2是示出存储系统的框图。图2的元件被示为物理地配合到中板240。中板240包括机箱和用于与任何关联的储存器滑轨210、互连模块220、处理模块230或外部接口235配合的多个物理连接器。中板240包括一个或多个印刷电路板、连接器、物理支撑构件、机箱元件、结构元件,以及关联的链路,如用于互连图2的各种元件的金属迹线或光学链路。中板240可以充当背板,不是像背板例子中那样仅在一侧上具有滑轨或模块配合,中板240在至少两侧上具有配合的滑轨或模块。图2的元件可以对应于图1的类似元件,诸如储存器滑轨110、互连模块120、处理模块130和扩展/外部连接器,但变型是可能的。
图2示出了包括在3U外壳200中的所有元件。外壳可以替代地是标准化计算机机架高度的任何倍数,诸如1U、2U、3U、4U等,并且可以包括关联的机箱、物理支撑、冷却系统、安装特征、壳体和其它外壳元件。通常,每个滑轨或模块将装配到包括在外壳200的机箱部分中的关联的凹槽特征中,以滑入预定的槽中并引导与每个滑轨关联的边缘连接器与中板240上关联的插座连接器配合。储存器滑轨210各自具有关联的连接器260。互连模块220各自具有关联的连接器261。互连模块220还各自具有一个或多个群集互连链路267,在这个例子中是PCIe链路。群集互连链路267被用来利用PCIe链路在彼此之间互连3U外壳。控制模块225各自具有关联的连接器269。在一些例子中,一些控制模块225和互连模块220包括在相同的模块中。处理模块230各自具有关联的连接器262。处理模块230各自具有一个或多个关联的外部链路266,用于与外部系统通信,其中外部系统诸如管理系统、终端用户设备或其它计算系统,包括类似于外壳200的其它外壳。外部链路266可以包括以太网、SFP+或其它链路和连接器。外部接口模块235各自具有关联的连接器268。外部接口235提供对外壳200的存储内容的外部访问,诸如对于终端用户设备或外部系统。网络链路265可以由外部接口235提供,外部接口235可以包括以太网、TCP/IP、Infiniband、iSCSI或其它外部接口。在操作中,外部接口235各自与关联的处理模块通信耦合,如图2中所示。外壳200启用任何滑轨的热交换并且可以包括其它特征,诸如电源灯、活动指示器、外部管理接口,等等。
在一些例子中,外壳200包括可以容纳滑轨和关联的电路卡的柔性配置和布置的机箱和中板。虽然图2示出了在中板240的一侧上配合的储存器滑轨和在中板240的另一侧上配合的各种模块,但是应当理解,其它配置是可能的。外壳200可以包括机箱,以容纳任何以下配置,以或者前装式或者后装式配置:
·48个或更多个滑轨,每个滑轨包含四个M.2SSD
·24个或更多个包含2倍HHHL卡(半高半长PCIe卡)的滑轨,HHHL卡可以包括PCIe存储卡、PCIe网络适配器或主机总线适配器
·12个或更多个具有2倍FHHL卡(全高半长PCIe卡)的滑轨,FHHL卡可以包括图形卡或图形处理单元(GPU)
·6个或更多个具有1倍PCIe卡(全高全长PCIe卡)的滑轨,PCIe卡包括处理模块,这可以包括NVIDIA Tesla或Intel Phi处理器卡
·24个或更多个滑轨,包含4倍2.5英寸PCIe SSD
·互连模块、插入器模块和控制模块
此外,经关联的链路263由一个或多个电源节点250提供用于外壳200的各种滑轨的电力和关联的电力控制信令。虽然在图2中电源节点250被示为包括在外壳200中,但是应当理解,电源节点250可以替代地包括在分离的外壳中,诸如分离的1U外壳。每个电源节点250还包括用于从诸如AC或DC输入电力的电源接收电力的电力链路264。此外,电力保持电路系统可以包括在保持模块251中,其可以响应于链路264上的掉电或者由于电源节点350的故障而经链路274输送保持电力。这种电力保持电路系统的例子在图6中示出。
电力保持电路系统可以包括在图1和2的每个滑轨或模块上。这种电力保持电路系统可被用来在电力中断期间,诸如当来自电源的主输入或系统电力丢失时,向关联的滑轨或模块提供暂时电力。此外,在使用保持电力期间,每个滑轨或模块的处理部分可被用来根据使用情况统计信息以及其它考虑选择性地使每个滑轨的部分断电。这个保持电路系统可以在电力中断或掉电事件期间提供足够的电力来提交空中写数据。这些电力中断和掉电事件可以包括来自电源的掉电,或者可以包括滑轨或模块从中板240上关联的插座或连接器移除。保持电路系统可以包括电容器阵列、超级电容器、超电容器、电池、燃料电池、飞轮或其它能量存储部件,连同任何关联的电力控制、转换、调节和监视电路系统。在电力事件期间的进一步操作在下面讨论,诸如在图6中。
储存器滑轨210或图2中的任何可插入模块可以各自在电力中断事件期间提供自我供电。而且,储存器滑轨210可以各自将电力重新分配给其它储存器滑轨或模块。这种重新分配的电力可被传送到其它储存器滑轨210或图2中的其它模块,诸如互连模块220、控制模块225、处理模块230或外部接口235。一旦任何空中写数据被提交到储存器滑轨的非易失性存储器,过剩或剩余的保持电力就可以重新分配给其它模块。在第一个例子中,到3U外壳200的电力丢失,诸如经链路264的输入电力的丧失或者电源250的故障,以及其它故障或丧失。在这个例子中,储存器滑轨210可以自我供电一段时间或者将功率重新分配给其它模块或滑轨。在示例操作270中,一个储存器滑轨210将保持电力传送到另一个储存器滑轨210,诸如经关联的模块的电力链路。在另一示例操作273中,储存器滑轨210将电力传送到处理模块或互连模块,以及其它模块。来自储存器滑轨或其它模块的电力的这种重新分配以供其它储存器滑轨或其它模块使用可以经包括在中板240中的共享电路链路或电力总线发生。电力流的定向控制可以由每个模块或滑轨中的电路系统提供,这允许关联的模块经相同的电力链路接收输入电力或重新分配电力。这种电路系统的例子在图6中示出。
在另一个例子中,如由操作271所指出的,储存器滑轨从中板240被移除并且因此具有由于物理移除而导致的任何输入电力丢失。被移除的储存器滑轨可以检测移除,除了其它检测方法,还有诸如通过使用上拉或下拉电阻器、检测引脚、链路电容或阻抗检测,或者输入电力的丧失的检测。如果在掉电期间空中写数据还没有被提交,则关联的保持电路系统可以给被移除的储存器滑轨供电,如由操作272所指出的。在滑轨移除例子中,电力向其它滑轨或模块的重新分配由于移除而不可能并且因此剩余的保持电力不重新分配到其它滑轨或模块。代替地,过剩或剩余的保持电力可以泄放到关联的电力吸收器(sink)。这个电力吸收器可以包括将过剩的保持电力转换为热的泄放电阻器或电阻器阵列。在其它例子中,一个或多个指示灯可以包括在泄放电路系统中,并且在泄放过程期间指示灯可以保持点亮,以指示电力保留在滑轨上以及通过给指示灯供电来泄放功率。一旦滑轨被重新插入到中板240中,输入电力就被恢复并且滑轨可以从中板240接收电力以及为了下一个掉电事件而给任何保持电路系统充电。
图3示出了存储模块310的框图,作为图1的任一个储存器滑轨110的例子。图3还示出了存储模块310的示例物理配置,如对电路卡组件350所示出的。存储模块310包括四个存储驱动器311、PCIe开关312、处理器320、电力控制模块321和保持电路322。电力控制模块321经关联的电力链路330-332向存储模块310的每个元件分配功率。电力控制模块321可以对每条功率链路选择性地启用/禁用电力。进一步的通信链路可以被包括,用于存储模块310的各个元件之间的滑轨内通信。
PCIe开关312经链路340与互连模块(未绘出)通信。链路340包括在用于传送用户数据的数据平面中,诸如对图1所讨论的。每条链路340包括具有四个通道的PCIe链路,即,“x4”PCIe链路。提供多于一条PCIe链路340是为了存储模块310的负载平衡、冗余和故障转移保护。在一些例子中,PCIe开关312具有连接到非透明(NT)接口或端口的链路340,其中一个或多个主机系统(诸如处理模块上的处理器)可以以冗余或故障转移配置与存储驱动器311交互。PCIe开关312还经关联的x4PCIe链路341与四个存储驱动器111通信。
处理器320经至少边带链路349通信。边带链路349可以包括通用串行总线(USB)、SMBus、JTAG、内部集成电路(I2C)、控制器区域网络总线(CAN)或任何其它通信接口,并且在一些例子中是在PCIe链路340的一部分上提供的。在这个例子中,处理器320包括I2C接口325和USB接口326,用于经边带链路349通信。I2C接口325和USB接口326可以包括在分离的电路系统中或者包括在类似于处理器320的元件中。处理器320和PCIe开关312可以经关联的通信链路333通信,除了其它链路类型,该链路还可以是I2C或PCIe链路。
在这个例子中,每个存储驱动器311包括固态驱动器(SSD),并且经包括在每个存储驱动器311中的关联的PCIe接口与外部系统通信。存储驱动器311的固态存储介质可以包括闪存、静态RAM、NAND闪存、NOR闪存、忆阻器或其它固态介质。代替固态介质或者除了固态介质以外,每个存储驱动器311还可以包括磁储存器,诸如硬盘驱动器、带驱动器、磁阻存储器设备等,或者可以包括光储存器,诸如相变存储器。每个存储驱动器311可以接收由主机系统,诸如处理滑轨节点的处理器,发出的读事务和写事务。响应于读事务,存储驱动器311可以取回由读事务识别出的数据并传送数据以便输送到关联的主机。响应于写事务,存储驱动器311可以将伴随写事务的数据写入与存储驱动器311关联的存储介质。
在一些例子中,每个存储驱动器311包括电路卡组件(CCA),它与CCA 350分离并且具有与CCA 350上的连接器接合的微型PCI快速连接器或其它连接器。CCA 350包括一个或多个耦合到存储模块310的各种元件的印刷电路板351。在其它例子中,每个存储驱动器311包括一个或多个具有被焊接到CCA 350上的PCIe接口的闪存芯片。在还有其它例子中,每个存储驱动器311包括一个或多个分离的固态盘驱动器或磁性硬盘驱动器,连同关联的外壳和电路系统。PCIe开关312包括用于在由PCIe开关312处理的任何PCIe接口之间确立交换连接的PCIe交叉连接开关。在一些例子中,PCIe开关312包括PLX Technology的PEX8725 10端口、24通道PCIe开关芯片。
处理器320包括一个或多个微处理器、处理设备、多核处理器、处理电路系统或其它处理系统。处理器320可以包括一个或多个非临时性存储器设备,诸如RAM、固态储存器或其它存储器,以存储可由处理器320执行以便如本文所讨论的那样操作的指令。在一些例子中,处理器320包括ARM微控制器、ARM微处理器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用处理器或,或者其它微处理器或处理元件。处理器320可以包括下面对图5的处理系统510所讨论的任何处理元件。处理器320可以通过链路333监视使用情况统计信息、流量状态或其它使用情况信息。PCIe开关312可以在正常操作和与存储驱动器311的数据传送期间跟踪这种使用情况信息,并且处理器320可以在需要的时候经链路333取回这种使用情况信息。
电力控制模块321包括选择性地向存储模块310的任何元件提供电力的电路系统。电力控制模块321可以从处理器320或经任何PCIe链路340接收控制指令。在一些例子中,电力控制模块321包括上面对处理器320讨论的处理元件,或者包括在处理器320的元件中。电力控制模块321可以经电力链路323接收电力,作为存储模块310的各种元件的电源。保持电路322包括能量存储设备,用于存储经电力链路323接收的电力,供在电力中断事件,诸如源电力丧失,期间使用。保持电路322可以包括电容存储设备,诸如电容器阵列。对电力控制电路系统的例子的进一步讨论在下面找到。
如图3中所看到的,箭头指示经链路323的双向电力流。当输入电力可用时,电力可以由模块310接受,诸如从配合连接器或中板。当输入电力不可用时,诸如在电力中断事件期间,电力可以经链路323由模块310重新分配给其它模块。当模块310从配合连接器中被移除时,电力可被泄放到关联的功率吸收器电路系统中。虽然示出了一个电力链路323,但是应当理解,可以包括多于一条链路,诸如分离的输入和输出链路或者用于不同电压电平的分离的链路。
图4是示出输入/输出(I/O)模块420的框图,作为图1的互连模块120或者图2的互连模块220和控制模块235的例子。应当理解,模块420的元件可以组合到单个模块上,诸如图1中所示,或者包括在分离的模块中。
I/O模块420包括至少两个数据平面PCIe开关421、至少两个控制平面PCIe开关424、电力控制模块422和保持电路423。电力控制模块422经关联的电力链路431-433将电力分配给I/O模块420的每个元件。电力控制模块422可以对每条电力链路选择性地启用/禁用电力。为了I/O模块420的各种元件之间的滑轨内通信,可以包括进一步的通信链路。
PCIe开关421、PCIe链路440和PCIe链路442包括在诸如图1中所示的存储系统的数据平面或后端中。每个PCIe开关421经PCIe链路440与两个或更多个储存器滑轨(未示出),以及经PCIe链路442与两个或更多个处理模块(未绘出)通信。每条链路440包括具有四个通道的PCIe链路,即,“x4”PCIe链路。每条链路442包括具有八个通道的PCIe链路,即,“x8”PCIe链路。在一些例子中,每个PCIe开关421与六个处理模块通信,诸如图1中所示。每条PCIe链路还可以包括边带信令,诸如SMBus、JTAG、I2C、CAN或任何其它通信接口,并且在一些例子中经分离的链路提供。每个PCIe开关421包括PCIe交叉连接开关,用于在由每个PCIe开关421处理的任何PCIe接口之间确立交换(switched)连接。在一些例子中,每个PCIe开关421包括PLX Technology的PEX8796 24端口、96通道PCIe交换芯片。
PCIe开关424和PCIe链路443包括在诸如图1中所示的存储系统的控制平面或前端中。每个PCIe开关424经PCIe链路443与许多处理模块,并且彼此经PCIe链路432通信。链路443和432中的每一条包括具有八个通道的PCIe链路,即,“x8”PCIe链路。在一些例子中,每个PCIe开关424与六个处理模块通信,诸如图1中所示。每条PCIe链路还可以包括边带信令,例如SMBus、JTAG、I2C、CAN或任何其它通信接口,并且在一些例子中经分离的链路提供。每个PCIe开关424包括PCIe交叉连接开关,用于在由每个PCIe开关424处理的任何PCIe接口之间确立交换连接。在一些例子中,每个PCIe开关424包括PLX Technology的PEX8796 24端口、96通道PCIe交换芯片。
电力控制模块422包括选择性地向I/O模块420的任何元件提供电力的电路系统。电力控制模块422可以经任何PCIe链路442从处理模块接收控制指令。在一些例子中,电力控制模块422包括上面对图3的处理器320所讨论的处理元件。电力控制模块422可以经电力链路445接收电力,作为用于I/O模块420的各种元件的电源。保持电路423包括能量存储设备,用于存储经电力链路445接收的电力,供在电力中断事件,诸如源电力丧失期间使用。保持电路423可包括电容存储设备,诸如电容器阵列。电力控制电路系统的例子的进一步讨论在下面找到。
如图4中所看到的,箭头指示经链路445的双向电力流。当输入电力可用时,电力可以由模块420接受,诸如从配合连接器或中板。当输入电力不可用时,诸如在电力中断事件期间,电力可以经链路445由模块420重新分配给其它模块。当模块420从配合连接器被移除时,电力可以泄放到关联的电力吸收器电路系统中。虽然示出了一条电力链路445,但是应当理解,可以包括多于一条链路,诸如分离的输入和输出链路或者用于不同电压电平的分离的链路。而且,虽然在图4中模块420仅示出了电力控制电路系统和保持电路系统,但是,当模块420由分离的模块组成时,类似的电路系统和电力链路可以包括在其它控制或插入器模块中。
I/O模块420包括处理器450、网络开关451、USB集线器452、I2C接口453和通用异步接收器/发送器(UART)接口454。网络开关451可以包括一个或多个以太网开关,包括收发器、变压器、隔离电路系统、缓冲器等。USB集线器452包括用于将单个主机USB连接扇出到许多设备USB链路的USB集线器电路系统,并且可以包括收发器、处理器、变压器、隔离电路系统、缓冲器等。
处理器450包括一个或多个微处理器或微控制器,连同任何关联的存储存储器。处理器450经以太网控制平面链路447和448与处理模块通信。处理器450经边带链路441、444和449与数据储存器滑轨通信,其中链路441、444和449可以包括USB链路、I2C链路或串行链路等。交互工作或插入模块可以促进由处理器450经任何边带链路,诸如通过FPGA 455进行通信。FPGA 455在处理器405的接口,诸如串行外围接口(SPI),与各种串行边带接口之间提供协议转换。例如,FPGA 455可以将经SPI接口从处理器450接收的通信转换为I2C接口453的通信或UART接口454的通信。同样,FPGA 455可以转换经边带接口接收的通信并经接口传送到处理器450。FPGA 455可以处理用于通信的各种接口的扇出和复制,以便经关联的边带接口与多于一个储存器滑轨接口。
处理器450初始化数据储存器滑轨,诸如上面对图1所讨论的。处理器450在存储系统中累积用于每个储存器滑轨的统计数据和使用情况信息。处理模块可以经由网络开关451经以太网链路447从处理模块或者经边带链路从数据储存器滑轨取回这种统计数据或使用情况信息。以太网链路447包括控制平面,其可被用于在处理模块之间传送控制信息和状态信息。I/O模块420还提供控制平面到其它3U外壳的扩展,用于经以太网链路448的群集控制平面互连。
PCIe开关424各自包括被用来互连其它存储系统的更多I/O模块的群集互连接口446。接口446包括具有16个通道的PCIe链路,即,“x16”PCIe链路。群集互连经关联的外部连接器和外部布线在外部系统,诸如其它存储系统,之间提供PCIe互连。除了未示出的其它PCIe开关,这些连接还可以是由所包括的任何PCIe开关提供的PCIe链路,用于经由PCIe链路互连其它存储系统的其它I/O模块。用于群集互连的PCIe链路可以在外部连接器处终止。这些连接可以替代地是由所包括的任何PCIe开关,以及未示出的其它PCIe开关,提供的PCIe链路,用于经由PCIe链路互连其它存储系统的其它互连模块。用于群集互连的PCIe链路可以在外部连接器处终止,诸如用于经微型SAS布线运送PCIe信令的微型串行连接SCSI(SAS)连接器。
图5是示出处理模块530的框图,作为图1的处理模块130的例子。处理模块530包括两个或更多个处理系统510、至少一个PCIe开关532、PCIe开关540、网络接口534、电力控制模块535,以及保持电路536。电力控制模块535经关联的电力链路537-539向处理模块530的每个元件分配电力。电力控制模块535可以对每条电力链路选择性地启用/禁用电力。为了处理模块530的各个元件之间的滑轨内通信,可以包括更多的通信链路。
每个处理系统510还包括处理器511和存储系统512。在一些例子中,网络接口534-535包括在处理系统510中,但是网络接口534-535或其部分可以由分离的电路系统和元件,诸如分离的PCIe扩展卡提供。每个处理系统510可以经任何网络接口534-535,诸如从外部系统、终端用户设备或者从群集的其它处理系统发送和接收存储操作,诸如存储分组。
每个处理器可以经关联的以太网边带信令链路556进行通信,诸如与其它滑轨上的各种微处理器/控制器或电力控制节点或者与互连、插入器或控制模块通信,以取回统计数据或使用情况信息。链路556可以包括以太网接口,或者可以包括SMBus、JTAG、I2C、CAN或任何其它通信接口,并且在一些例子中经分离的链路提供。链路556可以利用外部网络接口提供,诸如经一些PCIe链路543通信耦合的网络接口卡或适配器。每个处理器511还包括至少一个PCIe接口,诸如PCIe收发器和用于经关联的PCIe链路533和541通信的通信电路系统。每个处理器511的PCIe接口可以包括在较窄的PCIe链路之间被细分的大量PCIe通道,诸如在两条x8链路之间被细分的x16接口。在一些例子中,PCIe接口被集成到处理器511的单芯片管芯中。在其它例子中,PCIe接口经分离的微芯片收发器提供,该分离的微芯片收发器可以经另一通信接口,诸如处理器511的前侧总线或外围集线器芯片接口与关联的处理器511通信。
处理器511可以包括从存储系统512取回和执行软件513的一个或多个微处理器和其它处理电路。处理器511可以在单个处理设备内实现,但也可以跨在执行程序指令时合作的多个处理设备或子系统分布。处理器511的例子包括通用中央处理单元、专用处理器和逻辑设备,以及任何其它类型的处理设备、组合或其变体。在一些例子中,处理器511包括Intel或AMD微处理器、ARM微处理器、FPGA、ASIC、专用处理器,或者其它微处理器或处理元件。
存储系统512可以包括能够存储可由处理器511执行的软件513的任何非临时性计算机可读存储介质。存储系统512可以包括以用于信息存储的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,其中信息诸如计算机可读指令、数据结构、程序模块或其它数据。存储系统512可被实现为单个存储设备,但也可以跨共同定位或相对于彼此分布的多个存储设备或子系统实现。存储系统512可以包括能够与处理器511通信的附加元件,诸如控制器。存储介质的例子包括随机存取存储器、只读存储器、磁盘、光盘、闪存、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘储存器或其它磁性存储设备,或者可被用来存储期望信息并可被指令执行系统访问的任何其它介质,以及其任意组合或变体。
软件513可以在程序指令中实现并且,除了其它功能还可以,当一般而言由处理系统510或具体而言由处理器511执行时,指示处理器511如软件513命令的那样操作。软件513可以包括过程、程序或部件,诸如操作系统软件、数据库软件或应用软件。软件513还可以包括可由处理系统501的元件,诸如处理器511,执行的固件或某种其它形式的机器可读处理指令。存储系统512上的编码软件513可以变换存储系统512的物理结构。在本描述的不同实现中,物理结构的具体变换可以依赖于各种因素。此类因素的例子可以包括,但不限于,用来实现存储系统512的存储介质的技术以及计算机存储介质被表征为主还是次储存器。例如,如果计算机存储介质被实现为基于半导体的存储器,则当程序在其中被编码时,软件513可以变换半导体存储器的物理状态。例如,软件513可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。关于磁或光介质,类似的变换可以发生。在不背离本描述的范围的情况下,物理介质的其它变换是可能的,前面提供的例子仅仅是为了便于讨论。
处理模块530还与一个或多个网络接口534-535接口,以便经一条或多条关联的网络链路554-555通信。一个或多个网络接口534-535经由图5中的关联的PCIe链路543通信耦合到关联的处理系统510或处理器511。对处理模块530以及由其管理的储存器滑轨的外部访问可以经一些分组网络链路554提供。处理模块或处理器之间的通信可以经一些分组网络链路555提供。在这个例子中,分组网络链路554-555各自包括用于运送各种分组通信的以太网链路,其中通信诸如传输控制协议/互联网协议(TCP/IP)通信、NVMe通信或iSCSI通信,但是可以采用其它分组类型。网络接口可以包括以太网接口、IP接口、T1接口,或者可以经通信链路通信的其它局域网或广域网通信接口。通信收发器的例子包括网络接口卡装备、接收器、发送器、调制解调器和其它通信电路系统。在一些例子中,网络链路554包括与网络链路555不同的带宽或传送速度。
PCIe开关532处理用于处理模块530的数据平面或“背侧”流量,用于数据的存储和取回。PCIe开关532经PCIe链路552通过一个或多个互连模块(未绘出)与储存器滑轨,并且经PCIe链路533与一些处理器531,通信。链路552和533中的每一个包括具有八个通道的PCIe链路,即,“x8“PCIe链路。PCIe开关532还包括处理模块交叉连接链路553,在这个例子中是四个x8PCIe链路。为了负载平衡和瓶颈预防,这个处理模块交叉连接553允许另一处理模块上的PCIe 532开关处理对于任何处理模块的数据平面流量。PCIe开关532还可以包括PCIe链路557,用于进一步的处理模块交叉连接。PCIe开关532包括PCIe交叉连接开关,用于在由PCIe开关532处理的任何PCIe接口之间确立交换连接。在一些例子中,PCIe开关532包括PLX Technology的PEX8796 24端口、96通道PCIe交换芯片。
为了不同处理模块的处理器之间的通信,PCIe开关540处理用于处理模块530的控制平面或“前侧”流量。PCIe开关540经PCIe链路542通过一个或多个互连模块(未绘出)与其它处理模块,并且经PCIe链路541与一些处理器531,通信。链路542和541中的每一个包括具有八个通道的PCIe链路,即,“x8”PCIe链路。PCIe开关540还包括外部模块链路543,在这个例子中是四条x8PCIe链路。PCIe开关540包括PCIe交叉连接开关,用于在由PCIe开关540处理的任何PCIe接口之间确立交换连接。在一些例子中,PCIe开关540各自包括PLXTechnology的PEX8796 24端口、96通道PCIe交换芯片。
电力控制模块535包括选择性地向处理模块530的任何元件提供电力的电路系统。电力控制模块535可以经关联的链路537-539或附加的通信链路从处理器511接收控制指令。在一些例子中,电力控制模块535包括上面对图3的处理器320所讨论的处理元件。电力控制模块535可以经电力链路555接收电力,作为用于处理模块530的各种元件的电源。保持电路536包括能量存储设备,用于存储经电力链路555接收的电力,供电力中断事件,诸如源电力丧失,期间使用。保持电路536可以包括电容存储设备,诸如电容器阵列。电力控制电路系统的例子的进一步讨论在下面找到。
如图5中所看到的,箭头指示经链路557的双向电力流。当输入电力可用时,电力可以由模块530接受,诸如从配合连接器或中板。当输入电力不可用时,诸如在电力中断事件期间,电力可以经链路557由模块530重新分配给其它模块。当模块530从配合连接器被移除时,电力可以泄放到关联的电力吸收器电路系统中。虽然示出了一条电力链路557,但是应当理解,可以包括多于一条链路,诸如分离的输入和输出链路或者用于不同电压电平的分离的链路。
图6是示出电力控制系统600的框图。电力控制系统600可以包括在本文所讨论的任何滑轨或模块上,诸如图1的滑轨和模块的电力控制器或保持电路系统部分,或图2-5的各种模块,等等。电力控制系统600示出了电力控制器620,其可以是本文所讨论的任何电力控制模块或滑轨处理器的例子,诸如图3的电力控制模块321或处理器320、图4的电力控制模块422、或图5的电力控制模块531。电力控制器620包括处理器621、通信接口622和电力电路系统623。电力控制器620的每个元件被通信耦合。
通信接口622经通信链路624通信,通信链路624可以包括本文所讨论的任何通信链路协议和类型。通信接口622可以包括收发器、网络接口装备、总线接口装备等。在操作中,通信接口622经通信链路624从另一处理单元接收控制指令。通信链路624还与采用电力控制器620的滑轨的元件通信。例如,在储存器滑轨上,通信链路624接收存储驱动器的写数据提交状态,来自其它处理器或处理系统的电力控制指令,并且可以经PCIe接口或PCIe接口的边带通信来通信。
处理器621包括本文所讨论的任何处理器或处理系统,并且控制电力控制器620的操作,诸如发起滑轨元件的上电、发起滑轨元件的断电、监视包括电力系统滑轨和模块在内的滑轨或其它滑轨的使用情况统计信息。
为了进一步描述处理器621的电路系统和操作,提供了详细视图,但变型是可能的。处理器621包括通信接口640和处理系统650。处理系统650包括处理电路系统651、随机存取存储器(RAM)652和储存器653,但可以包括另外的元件。储存器653的示例内容由软件模块654-656进一步详细描述。
处理电路系统651可以在单个处理设备内实现,但也可以跨在执行程序指令时合作的多个处理设备或子系统分布。处理电路系统651的例子包括通用中央处理单元、微处理器、专用处理器和逻辑设备,以及任何其它类型的处理设备。在一些例子中,处理电路系统651包括物理分布的处理设备,诸如云计算系统。
通信接口640包括一个或多个通信和网络接口,用于经通信网络或分立链路,诸如通信接口622或另外的串行链路、分组网络、互联网等,通信。通信接口可以包括可以经以太网或互联网协议(IP)链路通信的一个或多个局域网或广域网通信接口。通信接口640可以包括被配置为利用可以与不同网络链路关联的一个或多个网络地址通信的网络接口。通信接口640的例子包括网络接口卡装备、收发器、调制解调器以及其它通信电路系统。虽然通信接口640和通信接口622都在图6中示出,但是应当理解,这些可以包括不同的接口或者被组合到相同的通信接口模块中,并且可以经链路624通信。
RAM 652和储存器653一起可以包括非临时性数据存储系统,但变型是可能的。RAM652和储存器653可以各自包括可由处理电路651读取并能够存储软件的任何存储介质。RAM652可以包括以用于信息存储的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,其中信息诸如计算机可读指令、数据结构、程序模块或其它数据。储存器653可以包括非易失性存储介质,诸如固态存储介质、闪存、相变存储器或磁存储器,包括其组合。RAM 652和储存器653可以各自实现为单个存储设备,但也可以跨多个存储设备或子系统实现。RAM 652和储存器653可以各自包括能够与处理电路系统651通信的附加元件,诸如控制器。
存储在RAM 652或储存器653上或其中的软件可以包括具有过程的计算机程序指令、固件或某种其它形式的机器可读处理指令,当过程被处理系统执行时,指示处理器621如本文所描述的那样操作。例如,除了其它操作,软件驱动处理器621还监视对于各种储存器滑轨和其它模块的操作统计信息和状态、监视滑轨和模块的电力状态,及指示电力电路系统623控制保持电力或操作电力的流。软件还可以包括用户软件应用。软件可被实现为单个应用或多个应用。一般而言,在被加载到处理系统中并被执行时,软件可以将处理系统从通用设备变换成如本文所述定制的专用设备。
软件模块654-656各自包括可由处理器621执行的可执行指令,用于根据本文讨论的操作来操作电力控制器620。具体而言,统计监视器654监视对于滑轨和模块的元件的使用情况状态或使用情况统计信息。除了其它统计信息,使用情况统计信息还包括链路的数据传输速率、链路的错误率、链路的错误的累积数量。使用情况统计信息可以由处理器621收集并存储在数据结构中,诸如数据库或表格并存储在储存器653、RAM 652或其它存储元件中。除了其它统计信息,电力监视器655还监视在上电过程期间的电力涌入统计信息、电力状态统计信息、电力活动状态、电压电平、相位测量、电流消耗、保持电路状态或电平、滑轨/模块插入状态、热水平。电力控制656指示电力电路系统响应于统计监视器654或电力监视器655以及诸如由电力电路系统623监视的离散信号之类的其它信号而将关联的滑轨或模块上电或断电。电力控制656可以响应于关联的存储驱动器或其它电路系统的数据提交状态、响应于插入状态或其它因素而使滑轨或模块上电或断电。
软件模块654-656可以在执行期间驻留在RAM 652中并由处理器621操作,并且可以在断电状态以及其它位置和状态下驻留在存储空间653中。软件模块654-656可以在启动或引导过程期间被加载到RAM 652中,如对计算机操作系统和应用所描述的。
储存器653可以包括一个或多个存储系统,除了其它固态存储技术,还包括诸如NAND闪存或NOR闪存之类的闪存、相变存储器、磁存储器。如图6中所示,储存器653包括存储在其中的软件模块654-656。如上所述,除了其它操作软件,储存器653还可以在处理器621的断电状态期间将软件模块654-656,诸如操作系统,存储在一个或多个非易失性存储空间中。
处理器621一般意在表示其中至少部署和执行软件模块654-656以便呈现或以其它方式实现本文所描述的操作的计算系统。但是,处理器621也可以表示至少软件模块654-656可以在其上展现(staged)并且软件模块654-656可以从其分发、运输、下载或以其它方式提供给还有另一计算系统以用于部署和执行或者还有附加分发的任何计算系统。
电力电路系统623包括各种电力控制、电压调节、电力保持及其它电路系统。电力电路系统623从诸如滑轨下(off-sled)电力链路635之类的电源接收电力,并且经一些电力链路625将电力分配到滑轨上(on-sled)元件。
作为电力电路系统623的具体例子,各种元件在图6中示出。这些元件包括降压-升压模块631、流控制模块632、滑轨上分配模块633、保持电容器634和假负载635。降压-升压模块631包括一个或多个从诸如滑轨下电力链路635之类的电源接收电力的开关电力调节器,并将与电源关联的电压升至用于保持电容器634的保持电压。在这个例子中,电源在+12VDC提供并且保持电容器634在+80VDC被驱动。降压-升压模块631还可以取得由保持电容器634存储的能量并且利用存储在保持电容器634中的能量将电压逐级降至较低的电压,诸如用于驱动滑轨上或滑轨下元件的12VDC。处理器621可以与降压-升压模块631通信,以指示降压-升压模块631进入降压模式或升压模式。降压-升压模块631可以从处理器621,诸如经处理器621的通用I/O,接收控制信号或指令。
为了控制滑轨上电力和保持电力之间的能量流,采用流控制模块632。流控制模块632包括各种电力开关元件,诸如晶体管开关、模拟开关、固态开关、二极管等。当外部滑轨下电力可用时,诸如经链路635,流控制模块632可以将这种电力提供给滑轨上分配模块633和降压-升压模块631,用于给保持电容器634充电。当外部滑轨下电力不可用时,流控制模块632可以允许存储在保持电容器634中并由降压-升压模块631逐级降低的功率流到滑轨上分配模块633,代替链路635的滑轨下电力。而且,如下面所讨论的,当在电力控制器620的关联挂轨已经使所有元件断电并且数据提交之后还有过剩能量保留在保持电容器634中时,这种过剩的能量可以由流控制模块632经链路635指向滑轨下消费者。以这种方式,存储在电力控制器620的保持设备中的过剩能量可被用来在关机或提交过程期间向其它滑轨或设备提供电力。提交过程包括将任何空中写数据写到非易失性存储器。非易失性存储器可以包括储存器滑轨的存储驱动器,或者可以包括专用于空中数据的断电高速缓存的分离的非易失性存储器。如果电力控制器620的关联滑轨代替地从机箱或中板被移除,则保持电容器634的这种过剩能量可以利用假负载635被安全地泄放。流控制模块632可以从处理器621接收控制信号或指令,诸如经处理器621的通用I/O。
滑轨上分配模块633包括各种电力流和开关电路系统,以便经链路625将电力指引到滑轨的各种元件,诸如存储驱动器、PCIe开关等。链路625可以包括本文对各种滑轨讨论的各种电力链路。滑轨上分配模块633包括各种电力开关元件,诸如晶体管开关、模拟开关、固态开关、二极管等。滑轨上分配模块633可以从处理器621接收控制信号或指令,诸如经处理器621的通用I/O。
假负载635可以包括电阻性负载,诸如散热电气元件,以泄放保持电路,诸如保持电容器634,的过剩能量。在一些例子中,假负载635包括高输出发光二极管(LED),其可以利用LED的光输出高效地泄放过剩的能量。这种LED还可以指示能量仍然保持在保持电路中,从而警告特定滑轨的用户潜在危险或有害的电压和能量可能仍在滑轨上存在。当滑轨被插入中板时,LED正常关断。但是,当滑轨从中板被移除时,LED将被指示利用该LED照亮并指示能量正从滑轨泄放。当LED最终关断时,由于滑轨上剩余的能量不足,因此操作者可以知道危险或有害的电压和能量在滑轨上不再存在。如果LED不能足够快地泄放所有能量,则附加的电阻性元件可被并联采用,以辅助LED指示器。
为了讨论图6的各种功率保持、分配和处理操作,以及本文的模块的各种电力控制器,包括图7-10。图7讨论模块从中板的移除。图8讨论电力从模块丧失的处理,包括由于移除。图9讨论根据使用情况统计信息为模块元件供电。图10讨论根据使用情况统计信息改变电力特性。
图7是示出操作储存器滑轨的方法的流程图。下面在诸如图3的存储模块310的示例性储存器滑轨中讨论图7的操作。应当理解,图7的操作可以应用于本文讨论的任何滑轨或模块,除了其它模块,还包括储存器滑轨、互连模块、控制模块、插入器模块和处理模块。而且,图7的操作是在本地处理器或电力控制器,诸如图6的元件,的上下文中讨论的。应当理解,图7的操作可以由不同的控制器、处理器或处理器系统来处理,诸如图3的控制器321或处理器320、图4的处理器450或控制器422,或图5的处理器511-512或控制器531,包括其组合和变化。
在图7中,处理器320检测(701)滑轨310的移除。这种移除可以包括滑轨310从关联的中板,诸如图2的中板240,被物理地移除。除了检测滑轨310的移除,处理器320还可以检测诸如经链路323提供的源电力的掉电。掉电标志或警告也可以在边带链路349或PCIe链路340中任一个上提供。在一些例子中,链路323的掉电可以被解释为滑轨310的物理移除。在其它例子中,可以采用各种移除检测方法,诸如与滑轨310关联的下拉或上拉引脚,这些引脚可以指示滑轨310与关联的中板的插座310的插座或连接器的物理配合。
一旦检测到移除或掉电,处理器320就开始(702)针对滑轨310的提交过程。提交过程确保当前正在存储到任何存储驱动器311的空中数据被正确地写到关联的存储驱动器311或者在电源保持期间写到滑轨310的临时非易失性存储器。已经经PCIe开关312接收的数据可被写到关联的存储驱动器311而不损失那个数据。
提交过程可以包括最初使PCIe开关312断电,但是仍然向与滑轨310关联的缓冲器提供电力,在空中数据被提交到非易失性存储器,诸如一些存储驱动器311,之前,这些数据被放在缓冲器中。缓冲器可以包括在每个存储驱动器311中,或者包括在分离的数据缓冲器部件中。处理器320监视(703)每个存储驱动器311的提交过程并且,一旦所有写数据都已被提交到存储驱动器311的非易失性存储器,就使各个存储驱动器311存储驱动器断电。
因此,处理器320根据提交过程状态使滑轨310的元件断电(704)。即,在检测到掉电之后,PCIe开关312首先被断电并且,当每个存储驱动器311完成用于所缓冲的写数据的关联提交过程时,各个存储驱动器311被断电。一旦所有写数据都已被提交到非易失性存储器,处理器320就可以向另外的元件,诸如处理器320自己或电力控制器321,供电。
在上述提交和断电过程期间,保持电路322向滑轨310的各个元件提供电力。处理器320与电力控制器321通信,诸如经链路330或另一链路,并且指示电力控制器321对滑轨310的各种元件选择性地启用/禁用电力。电力控制器321可以采用固态开关、传输门、固态模拟开关、晶体管开关或其它电力开关元件,以选择性地提供或移除用于滑轨310的各种元件的电力。电力控制器321还可以向处理器320提供输入电力状态,以指示何时输入电力可用。
一旦重新获得输入电力,诸如通过将滑轨310重新插入到中板中或者在源电力恢复之后,电力控制器321就可以向处理器320施加电力。处理器320可以通过启动过程,诸如引导过程,继续前进,然后指示电力控制器321选择性地向滑轨310的其它各种元件施加电力。滑轨310的这些各种元件可以按预定的顺序上电,以减小经链路323的浪涌电流。除了其它顺序之外,预定的顺序还可以包括以顺序方式对各个存储驱动器311供电,然后给PCIe开关供电。
图8是示出操作储存器滑轨的方法的流程图。图8的操作在下面在诸如图3的存储模块310的示例性储存器滑轨中进行讨论。应当理解,图8的操作可以应用于本文所讨论的任何滑轨或模块,除了其它模块,还包括储存器滑轨、互连模块、插入器模块、控制模块和处理模块。而且,图8的操作是在本地处理器或电力控制器,诸如图6的元件,的上下文中讨论的。应当理解,图8的操作可以由不同的控制器、处理器或处理系统处理,诸如图3的控制器321或处理器320、图4的处理器450或控制器422,或图5的处理器511-512或控制器531,包括其组合和变化。
在图8中,处理器320监视(801)滑轨310的电力状态并检测(802)滑轨310的掉电。这种掉电可以包括滑轨310的移除,诸如滑轨310从关联的中板,诸如图2的中板240,被物理地移除。除了检测滑轨310的移除之外,处理器320还可以检测诸如经电力链路323提供的源电力的掉电。掉电标记或警报也可以在边带链路349或PCIe链路340当中任一个上提供。在一些例子中,链路323的掉电可以被解释为滑轨310的物理移除。在其它例子中,可以采用各种移除检测方法,诸如与滑轨310关联的下拉或上拉引脚,这些引脚可以指示滑轨310与关联的中板的插座或连接器的物理配合。
一旦检测到移除或掉电,处理器320就执行(803)用于滑轨310的提交过程。提交过程确保当前正在存储到任何存储驱动器311的空中数据被正确地写到关联的存储驱动器311或者在电源保持期间写到滑轨310的临时非易失性存储器。已经经PCIe开关312接收的数据可被写到关联的存储驱动器311而不损失那个数据。提交过程可以包括最初使PCIe开关312断电,但是仍然向与滑轨310关联的缓冲器提供电力,在空中数据被提交到非易失性存储器,诸如一些存储驱动器311,之前,这些数据被放在缓冲器中。缓冲器可以包括在每个存储驱动器311中,或者包括在分离的数据缓冲器部件中。处理器320监视(703)每个存储驱动器311的提交过程并且,一旦所有写数据都已被提交到存储驱动器311的非易失性存储器,就使各个存储驱动器311存储驱动器断电。因此,处理器320根据提交过程状态使滑轨310的元件断电。即,在检测到掉电之后,PCIe开关312首先被断电并且,当每个存储驱动器311完成用于所缓冲的写数据的关联提交过程时,各个存储驱动器311被断电。一旦所有写数据都已被提交到非易失性存储器,处理器320就可以向另外的元件,诸如处理器320自己或电力控制器321,供电。
在上述提交和断电过程期间,保持电路322向滑轨310的各个元件提供电力。处理器320与电力控制器321通信,诸如经链路330或另一链路,并且指示电力控制器321对滑轨310的各种元件选择性地启用/禁用电力。电力控制器321可以采用固态开关、传输门、固态模拟开关、晶体管开关或其它电力开关元件,以选择性地提供或移除用于滑轨310的各种元件的电力。电力控制器321还可以向处理器320提供输入电力状态,以指示何时输入电力可用。
一旦提交过程完成,处理器320就可以以至少两种不同方式操作,这取决于滑轨是否被移除(805)而导致掉电。当掉电状态不是由于滑轨移除时,诸如是由于源电力的丧失而滑轨仍保持位于关联的中板中,电力控制器321重新分配(806)过剩的保持电力。这种过剩的保持电力包括在任何关联的保持电路,诸如保持电容器,中剩余的能量。流控制电路可以将来自保持电路的能量指引到给滑轨下馈送电力的链路。在一些例子中,诸如在图6中,保持电路包括电容器阵列,其被充电至比滑轨的工作电压所期望的电压更高的电压。在这种情况下,降压-升压转换器可以以逐级降低模式操作,以将保持电容器的高电压转换为较低的操作电压,并且电力流控制电路可以将这种能量指引到滑轨下目的地或电力总线。被重定向的电力可以由其它滑轨用来增加这些其它滑轨的保持时间,以完成关机操作或数据提交操作。保持电路中剩余能量的测量可以由处理器320监视并且与剩余能量相关的信息可以连同电力本身一起在滑轨下提供。在一些例子中,处理器320也被断电并且因此仅电力控制器321的电力流、电压逐级降低和保持部分在电力重新分配期间是活动的。
当掉电是由于滑轨移除时(807),电力控制器321可以泄放保持电路的过剩功率。如图6中所讨论的,这种功率泄放可以包括电阻性或LED元件,并且确保在从中板移除之后危险或有害的能量不会留在滑轨上。
一旦重新获得输入电力,诸如通过将滑轨310重新插入到中板中或者在源电力恢复之后,电力控制器321就可以向处理器320施加电力。处理器320可以通过启动过程,诸如引导过程,继续前进,然后指示电力控制器321选择性地向滑轨310的其它各种元件施加电力。滑轨310的这些各种元件可以按预定的顺序上电,以减小经链路323的浪涌电流。除了其它顺序之外,预定的顺序还可以包括以顺序方式对各个存储驱动器311供电,然后给PCIe开关供电。
图9是示出操作储存器滑轨的方法的流程图。图9的操作在下面在诸如图3的存储模块310的示例性储存器滑轨中进行讨论。应当理解,图9的操作可以应用于本文所讨论的任何滑轨或模块,包括储存器滑轨、互连模块、插入器模块、控制模块和处理模块,以及其它模块。而且,图9的操作是在本地处理器或电力控制器,诸如图6的元件,的上下文中讨论的。应当理解,图9的操作可以由不同的控制器、处理器或处理系统处理,诸如图3的控制器321或处理器320、图4的处理器450或控制器422,或图5的处理器511-512或控制器531,包括其组合和变化。
在图9中,处理器320监视(901)滑轨310的电力状态并检测(903)滑轨310的掉电。这种掉电可以包括滑轨310的移除,诸如滑轨310从关联的中板,诸如图2的中板240,被物理地移除。除了检测滑轨310的移除之外,处理器320还可以检测诸如经电力链路323提供的源电力的掉电。掉电标记或警报也可以在边带链路349或PCIe链路340当中任一个上提供。在一些例子中,链路323的掉电可以被解释为滑轨310的物理移除。在其它例子中,可以采用各种移除检测方法,诸如与滑轨310关联的下拉或上拉引脚,这些引脚可以指示滑轨310与关联的中板的插座或连接器的物理配合。
在图9中,处理器320还监视(902)滑轨310的元件的使用情况状态或使用情况统计信息。这些元件包括存储驱动器311、PCIe开关312,处理器320,电力控制节点321、保持电路系统322,或者各种链路和通信接口中任何一个。使用情况统计信息包括PCIe链路的数据传输速率、PCIe链路的错误率、PCIe链路的错误累积数量、滑轨器插入状态、滑轨310的元件的热水平,以及从另一滑轨(诸如处理模块)接收的其它统计数据。使用情况统计信息可以包括由电力控制器321提供的浪涌统计信息,诸如在存储模块310的上电过程期间。使用情况统计信息可以包括由电力控制器321监视的电力状态统计信息,除了其它统计信息,还有诸如电力活动状态、电压电平、相位测量、电流消耗、保持电路状态或水平。使用情况统计信息可以由处理器320收集并存储在与处理器320关联的存储系统中,诸如RAM、闪存或其它存储系统。
使用情况统计信息可以在断电和上电过程中采用,诸如上面在图7-9中所讨论的。但是,使用情况统计信息也可被用来在滑轨310的正常操作期间控制电力使用情况(904)。例如,当使用情况统计信息指示特定的存储驱动器311处于休眠或正在处理数量低于事务阈值水平的事务时,那个存储驱动器可以修改关联的操作属性。这种属性可以包括降低PCIe接口的速度或接口属性。处理器320可以禁用特定存储驱动器311的PCIe通道的子集,以降低那个储存器滑轨的功耗,诸如通过将活动通道的数量从x4减少到x1。处理器320可以降低存储驱动器311的PCIe接口的总线速度或时钟速度,诸如通过将吞吐量从8GB/s降低到4GB/s或1GB/s。其它性能缩放可以基于如由处理器320监视的滑轨310的元件的使用情况发生。这些使用情况和性能统计信息可被提供给处理模块,用于进一步的收集、存储和处理。此外,除了其它操作之外,用于上电/断电和性能缩放的指令还可以至少基于这些提供的统计信息从处理模块接收。
此外,使用情况统计信息可被用来根据使用情况统计信息选择性地将特定滑轨的元件断电,诸如在休眠时或者当活动性水平降至低于阈值水平时使存储驱动器311断电。许多部件或存储驱动器结合低电力模式,诸如空闲模式。这些空闲模式可以根据使用情况统计信息被启用。但是,即使在空闲或低电力模式下,这些存储驱动器也仍然消耗电力。即使处于空闲模式,处理器320也可以监视这些存储驱动器或其它滑轨元件何时下降到阈值活动性水平以下,并且指示电力控制节点321从关联的滑轨元件移除功率。在一些例子中,当储存器滑轨的所有存储驱动器311都由于存储驱动器的使用情况统计信息低于阈值使用情况水平而被断电时,储存器滑轨上的任何关联的PCIe开关也都可以被断电。当使用情况统计信息上升到阈值使用情况水平以上时,PCIe开关的上电可以发生,其中该阈值可以是与断电阈值不同的使用情况水平。
图10是示出操作储存器滑轨的方法的流程图。图10的操作在下面在诸如图3的存储模块310的示例性储存器滑轨中进行讨论。应当理解,图10的操作可以应用于本文所讨论的任何滑轨或模块,除了其它模块,还包括储存器滑轨、互连模块、插入器模块、控制模块和处理模块。而且,图10的操作是在本地处理器或电力控制器,诸如图6的元件,的上下文中讨论的。应当理解,图10的操作可以由不同的控制器、处理器或处理系统处理,诸如图3的控制器321或处理器320、图4的处理器450或控制器422,或图5的处理器511-512或控制器531,包括其组合和变化。
在图10中,处理器320监视(1001)滑轨310的元件的使用情况状态或使用情况统计信息。这些元件包括存储驱动器311、PCIe开关312,处理器320,电力控制节点321、保持电路系统322,或者各种链路和通信接口中任何一个。使用情况统计信息包括PCIe链路的数据传输速率、PCIe链路的错误率、PCIe链路的错误累积数量、滑轨器插入状态、滑轨310的元件的热水平,以及从另一滑轨(诸如处理模块)接收的其它统计数据。使用情况统计信息可以包括由电力控制器321提供的浪涌统计信息,诸如在存储模块310的上电过程期间。使用情况统计信息可以包括由电力控制器321监视的电力状态统计信息,诸如电力活动状态、电压电平、相位测量、电流消耗、保持电路状态或水平,以及其它统计信息。使用情况统计信息可以由处理器320收集并存储在与处理器320关联的存储系统中,诸如RAM、闪存或其它存储系统。
处理器320根据至少使用情况统计信息修改(1002)电源相位和增益余量。电力控制节点321可以包括各种电源电子器件,除了其它电力电子器件,还有诸如电力调节器、升压转换器、降压转换器、降压-升压转换器、功率因子校正电路。通常,这些电力电子器件必须针对特定的负载应用提前调谐,例如特定滑轨预期的最大负载。各种磁性、固态和其它电子部件通常是根据用于特定应用的最大电力消耗来设定尺寸的,并且这些部件永久地固定到关联的电路板,诸如通过焊接或插座。在图10中,使用情况统计信息被监视,以确立用于各种电力电子器件的当前电力消耗,诸如由降压-升压转换器在某个电压供给的电流。
电力电子器件的各种参数可以根据当前电力负载来更改,诸如通过在各种磁性部件,诸如电感器或变压器,之间进行选择,根据当前电力负载调整电阻性或电容性部件,等等。更改或调整可以启用或禁用各种电子部件,诸如利用模拟开关、低“导通”电阻晶体管开关或其它选择方法。更改或调整可以允许电力控制节点321在期望的效率范围内,诸如90-98%效率,操作。当电力负载由于滑轨的各种部件的不同使用情况而改变时,预选的电气部件可能导致较低的效率。基于这些当前使用情况统计信息或电力负载,除其它元件之外,处理器320还可以指示电力控制节点321更改部件选择、调制频率、脉冲宽度调制因子、电阻性/电容性/电感性部件使用情况,以维持特定电力电子电路在期望效率范围内的效率。这些更改或调整可以使关联的电力电子器件的相位余量或增益余量进入期望的范围。相位和增益可以由电力控制节点321或处理器320的元件监视,包括关联的电路元件,诸如电流感测电阻器。
在一些例子中,除了其它因素之外,使用情况统计信息还被用来修改关联的滑轨电力电子器件的操作参数。但是,这些修改可以仅在检测到掉电时才被使用,以最大化保持电路系统的高效使用。例如,如果采用保持电容器,则由保持电容器提供的电压可以随着从保持电容器中排出能量而下降。随着电压下降,降压-升压转换器的效率也可能降低,因为对于与降压-升压转换器相关的模拟部件的高效使用,由保持电容器提供的输入电压可能下降到阈值电压电平以下。这种保持电压可以被监视或用作效率最大化电路的输入,其更改与降压-升压转换器关联的参数或部件,以确保维持期望的或预定的效率范围或水平。一旦电压下降到阈值操作电平以下,降压-升压转换器就可被禁用,以防止在不期望的低电压范围内操作,诸如由所采用的特定电力电子部件的输入电压要求所规定的。
除了修改图10中的电源电路系统的性质,还可以执行图9的操作。这些操作可以包括利用使用情况统计信息来选择性地使特定滑轨的元件断电,诸如在休眠时或者当活动性水平根据使用情况统计信息降至低于阈值水平时使存储驱动器311断电。
图11是示出处理系统1100的框图。处理系统1100示出了本文所讨论的电力控制模块或滑轨处理器当中任一个的例子,诸如图3的电力控制模块321或处理器320、图4的电力控制模块422、图5的电力控制模块531,或图6的处理器621。此外,除了其它模块之外,处理系统1100还可以说明处理模块,诸如图1的处理系统131,上的任何处理系统。
控制处理器1100包括通信接口1101和处理系统1110。处理系统1110包括处理电路系统1111、随机存取存储器(RAM)1112和储存器1113,但是可以包括更多的元件。RAM 1112的示例内容在RAM空间1120中进一步详细描述,并且储存器1113的示例内容在存储系统1160中进一步详细描述。
处理电路系统1111可以在单个处理设备内实现,但也可以跨在执行程序指令时合作的多个处理设备或子系统分布。处理电路系统1111的例子包括通用中央处理单元、微处理器、专用处理器和逻辑设备,以及任何其它类型的处理设备。在一些例子中,处理电路系统1111包括物理分布的处理设备,诸如云计算系统。
通信接口1101包括用于经通信链路、网络(诸如分组网络、互联网等)通信的一个或多个通信和网络接口。通信接口可以包括串行链路,诸如SPI链路、I2C链路、USB链路、UART链路,或者可以经以太网或互联网协议(IP)链路通信的一个或多个局域网或广域网通信接口。通信接口1101可以包括被配置为利用一个或多个网络地址通信的网络接口,其中网络地址可以与不同的网络链路关联。通信接口1101的例子包括网络接口卡装备、收发器、调制解调器和其它通信电路系统。
RAM 1112和储存器1113一起可以包括非临时性数据存储系统,但变型是可能的。RAM 1112和储存器1113可以各自包括可由处理电路系统1111读取并能够存储软件的任何存储介质。RAM 1112可以包括以用于信息存储的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,其中信息诸如计算机可读指令、数据结构、程序模块或其它数据。储存器1113可以包括非易失性存储介质,诸如固态存储介质、闪存、相变存储器或磁存储器,包括其组合。RAM 1112和储存器1113可以各自实现为单个存储设备,但也可以跨多个存储设备或子系统实现。RAM 1112和储存器1113可以各自包括能够与处理电路系统1111通信的附加元件,诸如控制器。
存储在RAM 1112或储存器1113上或其中的软件可以包括具有过程的计算机程序指令、固件或某种其它形式的机器可读处理指令,当过程被处理系统执行时,指示处理器1100如本文所描述的那样操作。例如,软件可以驱动处理器1100监视对于各种储存器滑轨和其它模块的操作统计信息和状态、监视滑轨和模块的电力状态,及指示电力电路系统控制保持电力或操作电力的流,以及其它操作。软件还可以包括用户软件应用。软件可被实现为单个应用或多个应用。一般而言,在被加载到处理系统中并被执行时,软件可以将处理系统从通用设备变换成如本文所述定制的专用设备。
RAM空间1120示出了RAM 1112的示例配置的详细视图。应当理解,不同的配置是可能的。RAM空间1120包括应用1121和操作系统(OS)1122。软件应用1123-1125各自包括可由处理器1100执行的可执行指令,用于根据本文讨论的操作来操作电力控制器或其它电路。具体而言,统计信息监视器1123监视滑轨和模块的元件的使用情况状态或使用情况统计信息。使用情况统计信息包括链路的数据传输速率、链路的错误率、链路的错误的累积数量,以及其它统计信息。使用情况统计信息可以由处理器1100收集并存储在数据结构中,诸如数据库或表格并存储在储存器1113、RAM 1112或其它存储元件中。除了其它统计信息,电力监视器1124还监视在上电过程期间的电力涌入统计信息、电力状态统计信息、电力活动状态、电压电平、相位测量、电流消耗、保持电路状态或电平、滑轨/模块插入状态、热水平。电力控制1125指示电力电路系统响应于统计监视器1123或电力监视器1123以及诸如由关联的电力电路系统监视的离散信号之类的其它信号而将关联的滑轨或模块上电或断电。电力控制1125可以响应于关联的存储驱动器或其它电路系统的数据提交状态、响应于插入状态或其它因素而使滑轨或模块上电或断电。
除了其它位置和状态,应用1121和OS 1122可以在控制处理器1100的执行和操作期间驻留在RAM空间1120中,并且可以在断电状态期间驻留在存储系统1160中。应用1121和OS 1122可以在启动或引导过程期间被加载到RAM空间1120中,如对于计算机操作系统和应用所描述的。
存储系统1160示出了储存器1113的示例配置的详细视图。除了其它固态存储技术,存储系统1160还可以包括诸如NAND闪存或NOR闪存之类的闪存、相变存储器、磁存储器。如图11中所示,存储系统1160包括系统软件1161。如上所述,除了其它操作软件,在控制处理器1100的断电状态期间,系统软件1161还可以在用于应用和OS的非易失性存储空间中。
控制处理器1100一般意在表示计算系统,至少软件1161和1121-1125利用其被部署和执行,以便呈现或以其它方式实现本文所描述的操作。但是,控制处理器1100还可以表示至少软件1161和1121-1125可以在其上展示并且软件1161和1121-1125可以从其被分发、运输、下载或以其它方式提供给还有另一计算系统进行部署和执行或者还有附加分发的任何计算系统。
所包括的描述和附图描绘了教导本领域技术人员如何制造和使用最佳模式的具体实施例。为了教导发明性原理的目的,一些常规方面已被简化或省略。本领域技术人员将明白属于本发明范围内的这些实施例的变化。本领域技术人员还将明白,上述特征可以以各种方式组合,以形成多个实施例。因此,本发明不限于上述具体实施例,而是仅由权利要求及其等同物限定。

Claims (17)

1.一种数据存储组件,包括:
至少一个组件连接器,被配置为与存储系统机箱的至少一个配合连接器接合;
多个存储驱动器,每个存储驱动器包括驱动外围部件互连快速PCIe接口和固态存储介质,多个存储驱动器中的每一个被配置为响应于经关联的驱动PCIe接口接收的存储操作而存储和取回数据;
PCIe开关电路,耦合到多个存储驱动器的驱动PCIe接口并被配置为由经至少一个组件连接器承载的共享的PCIe接口接收由一个或多个主机系统发出的存储操作并且传送存储操作以经选定的一些驱动PCIe接口输送到多个存储驱动器;
保持电路系统,被配置为在经至少一个组件连接器丢失到数据存储组件的输入电力之后向至少多个存储驱动器提供电力;
至少基于由于从存储系统机箱的至少一个配合连接器移除数据存储组件而丢失输入电力,控制器电路系统被配置为响应于提交多个存储驱动器的空中写操作而将过剩的电力泄放到数据存储组件的负载电路中;以及
至少基于在没有从存储系统机箱的至少一个配合连接器移除数据存储组件的情况下丢失输入电力,控制器电路系统被配置为经至少一个组件连接器指引过剩的电力以供存储系统机箱的至少一个其它数据存储组件使用。
2.如权利要求1所述的数据存储组件,还包括:
控制器电路系统,被配置为在输入电力丢失之后从保持电路系统接收电力;及
控制器电路系统被配置为识别输入电力何时丢失并指示保持电路系统向至少多个存储驱动器提供电力。
3.如权利要求1所述的数据存储组件,包括:
控制器电路系统,被配置为监视多个存储驱动器,以确定存储操作中至少写操作的状态,并且根据针对多个存储驱动器中的一些存储驱动器的关联的写操作的完成选择性地将多个存储驱动器中的一些存储驱动器断电。
4.如权利要求1所述的数据存储组件,包括:
控制器电路系统,被配置为确定由保持电路系统提供的电压何时落在阈值电压电平之下,并且响应地禁用与保持电路系统相关的电压转换器。
5.如权利要求1所述的数据存储组件,包括:
控制器电路系统,被配置为将过剩的电力泄放到数据存储组件的负载电路中,所述负载电路包括泄放过剩的电力并且同时指示过剩的电力存在于数据存储组件中的发光二极管LED。
6.如权利要求1所述的数据存储组件,包括:
控制器电路系统,被配置为接收经至少一个组件连接器接收的管理指令,所述管理指令指示当输入电力丢失时何时经至少一个组件连接器重新分配保持电力。
7.一种操作数据存储组件的方法,所述数据存储组件具有被配置为与存储系统机箱的至少一个配合连接器接合的至少一个组件连接器,该方法包括:
在多个存储驱动器中,响应于经关联的驱动外围组件互连快速PCIe接口接收的存储操作而存储和取回数据,其中每个存储驱动器包括驱动外围组件互连快速PCIe接口和固态存储介质;
在耦合到多个存储驱动器的驱动PCIe接口的PCIe开关电路中,经由至少一个组件连接器承载的共享的PCIe接口接收由一个或多个主机系统发出的存储操作并且传送存储操作用于经一些选定的驱动PCIe接口输送到多个存储驱动器;
在保持电路系统中,在经至少一个组件连接器丢失到数据存储组件的输入电力之后向至少多个存储驱动器提供电力;
至少基于由于从存储系统机箱的至少一个配合连接器移除数据存储组件而丢失输入电力,响应于提交多个存储驱动器的空中写操作而将过剩的电力泄放到数据存储组件的负载电路中;以及
至少基于在没有从存储系统机箱的至少一个配合连接器移除数据存储组件的情况下丢失输入电力,经至少一个组件连接器指引过剩的电力以供存储系统机箱的至少一个其它数据存储组件使用。
8.如权利要求7所述的方法,还包括:
在输入电力丢失之后从保持电路系统接收用于数据存储组件的控制器电路系统的电力,以及在控制器电路系统中识别输入电力何时丢失并指示保持电路系统向至少多个存储驱动器提供电力。
9.如权利要求7所述的方法,还包括:
监视多个存储驱动器,以确定存储操作中至少写操作的状态,并且根据针对多个存储驱动器中的一些存储驱动器的关联的写操作的完成来选择性地使多个存储驱动器中的一些存储驱动器断电。
10.如权利要求7所述的方法,还包括:
确定由保持电路系统提供的电压何时落在阈值电压电平之下,并且响应地禁用与保持电路系统相关的电压转换器。
11.如权利要求7所述的方法,还包括:
将过剩的电力泄放到数据存储组件的负载电路中,所述负载电路包括泄放过剩的电力并且同时指示过剩的电力存在于数据存储组件中的发光二极管LED。
12.如权利要求7所述的方法,还包括:
在控制器电路系统中经至少一个组件连接器接收管理指令,所述管理指令指示当输入电力丢失时何时经至少一个组件连接器重新分配保持电力。
13.一种数据存储模块,所述数据存储模块能够被插入到计算系统机箱中,所述数据存储模块包括:
至少一个组件连接器,被配置为与计算系统机箱的至少一个配合连接器接合;
多个存储驱动器,每个存储驱动器被配置为响应于经关联的主机接口接收的存储操作而存储和取回数据;
通信电路系统,耦合到多个存储驱动器的主机接口并被配置为经由至少一个模块连接器承载的共享的接口接收由一个或多个主机系统发出的存储操作并且传送存储操作以经选定的一些主机接口输送到多个存储驱动器;
电力控制电路系统,被配置为在经至少一个模块连接器丢失到数据存储模块的输入电力之后向至少多个存储驱动器提供保持电力;
至少基于由于从计算系统机箱的至少一个配合连接器移除数据存储模块而丢失输入电力,控制器电路系统被配置为响应于提交多个存储驱动器的空中写操作而将过剩的电力泄放到数据存储模块的负载电路中;以及
至少基于在没有从计算系统机箱的至少一个配合连接器移除数据存储模块的情况下丢失输入电力,控制器电路系统被配置为经至少一个模块连接器指引过剩的电力以供计算系统机箱的至少一个其它数据存储组件使用。
14.如权利要求13所述的数据存储模块,还包括:
电力控制电路系统被配置为检测输入电力何时丢失并且向至少多个存储驱动器以及电力控制电路系统的元件提供保持电力。
15.如权利要求13所述的数据存储模块,包括:
电力控制电路系统,被配置为监视多个存储驱动器,以确定存储操作的状态,并且根据存储操作的完成来选择性地使多个存储驱动器中的一些存储驱动器断电。
16.如权利要求13所述的数据存储模块,包括:
控制器电路系统,被配置为确定由保持电路系统提供的电压何时落在阈值电压电平之下,并且响应地禁用与保持电路系统相关的电压转换器。
17.如权利要求13所述的数据存储模块,包括:
电力控制电路系统,被配置为将过剩的保持电力泄放到数据存储模块的负载电路中,所述负载电路包括泄放过剩的电力并且同时指示过剩的电力存在于数据存储模块中的发光二极管LED。
CN201580029418.8A 2014-04-25 2015-04-24 可扩展存储系统中的电力处理 Expired - Fee Related CN106462114B (zh)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201461984207P 2014-04-25 2014-04-25
US201461984193P 2014-04-25 2014-04-25
US201461984199P 2014-04-25 2014-04-25
US201461984219P 2014-04-25 2014-04-25
US61/984,193 2014-04-25
US61/984,207 2014-04-25
US61/984,199 2014-04-25
US61/984,219 2014-04-25
US14/694,732 US10114784B2 (en) 2014-04-25 2015-04-23 Statistical power handling in a scalable storage system
US14/694,578 US9678910B2 (en) 2014-04-25 2015-04-23 Power handling in a scalable storage system
US14/694,578 2015-04-23
US14/694,732 2015-04-23
PCT/US2015/027608 WO2015164794A1 (en) 2014-04-25 2015-04-24 Power handling in a scalable storage system

Publications (2)

Publication Number Publication Date
CN106462114A CN106462114A (zh) 2017-02-22
CN106462114B true CN106462114B (zh) 2019-10-01

Family

ID=54334926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580029418.8A Expired - Fee Related CN106462114B (zh) 2014-04-25 2015-04-24 可扩展存储系统中的电力处理

Country Status (4)

Country Link
US (8) US10114784B2 (zh)
EP (1) EP3134773A4 (zh)
CN (1) CN106462114B (zh)
HK (1) HK1231574A1 (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198183B2 (en) 2015-02-06 2019-02-05 Liqid Inc. Tunneling of storage operations between storage nodes
CN106033396A (zh) * 2015-03-10 2016-10-19 鸿富锦精密工业(深圳)有限公司 数据存储装置及具有该数据存储装置的数据传输系统
WO2016176219A1 (en) * 2015-04-26 2016-11-03 Intel Corporation All in one mobile computing device
US10055379B2 (en) 2015-07-10 2018-08-21 SK Hynix Inc. Peripheral component interconnect express card
US10198061B2 (en) 2015-09-01 2019-02-05 Toshiba Memory Corporation Storage and storage system
US10095280B2 (en) * 2015-09-21 2018-10-09 Ciena Corporation Variable width PCIe interface
US9992903B1 (en) * 2015-09-30 2018-06-05 EMC IP Holding Company LLC Modular rack-mountable IT device
US10206297B2 (en) * 2015-11-23 2019-02-12 Liqid Inc. Meshed architecture rackmount storage assembly
US10255215B2 (en) 2016-01-29 2019-04-09 Liqid Inc. Enhanced PCIe storage device form factors
US10372364B2 (en) * 2016-04-18 2019-08-06 Super Micro Computer, Inc. Storage enclosure with daisy-chained sideband signal routing and distributed logic devices
EP3291096B1 (en) * 2016-05-27 2020-01-15 Huawei Technologies Co., Ltd. Storage system and device scanning method
CN109564558A (zh) 2016-06-10 2019-04-02 利奇得公司 数据存储系统中的多端口插入器架构
US10334334B2 (en) * 2016-07-22 2019-06-25 Intel Corporation Storage sled and techniques for a data center
US10338988B1 (en) * 2016-08-25 2019-07-02 EMC IP Holding Company LLC Status monitoring system and method
US10339025B1 (en) * 2016-08-25 2019-07-02 EMC IP Holding Company LLC Status monitoring system and method
US10409703B1 (en) * 2016-08-25 2019-09-10 EMC IP Holding Company LLC Status monitoring system and method
TWI683610B (zh) 2016-10-07 2020-01-21 美商利魁得股份有限公司 用於計算平台的模組化托架形式因子
WO2018200761A1 (en) 2017-04-27 2018-11-01 Liqid Inc. Pcie fabric connectivity expansion card
US10901851B2 (en) * 2017-05-04 2021-01-26 Sanmina Corporation Delay circuitry to hold up power to a mass storage device and method therefor
US10180924B2 (en) 2017-05-08 2019-01-15 Liqid Inc. Peer-to-peer communication for graphics processing units
US10599600B2 (en) * 2017-06-16 2020-03-24 Western Digital Technologies, Inc. Peripheral Component Interconnect Express (PCIe) switching for multi-host computing system deployments
US11263508B2 (en) * 2017-09-22 2022-03-01 Samsung Electronics Co., Ltd. Modular NGSFF module to meet different density and length requirements
US10306513B2 (en) * 2017-09-29 2019-05-28 Intel Corporation Connectivity service level orchestrator and arbitrator in internet of things (IoT) platforms
US11132042B2 (en) * 2018-01-31 2021-09-28 Hewlett Packard Enterprise Development Lp Drive carrier assemblies
US11200194B1 (en) 2018-02-23 2021-12-14 MagStor Inc. Magnetic tape drive
US11892961B1 (en) 2018-02-23 2024-02-06 MagStor Inc. Magnetic tape drive and assembly for a tape drive
US10915469B2 (en) 2018-03-09 2021-02-09 Samsung Electronics Co., Ltd. Method and apparatus for supporting a field programmable gate array (FPGA) based add-in-card (AIC) solid state drive (SSD)
US11321249B2 (en) * 2018-03-26 2022-05-03 Samsung Electronics Co., Ltd. Mechanism to autonomously manage SSDS in an array
US10892636B2 (en) 2018-03-30 2021-01-12 Hewlett Packard Enterprise Development Lp Plug-in backup energy devices
KR102642430B1 (ko) * 2018-05-04 2024-03-04 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그 구동방법
US11003229B2 (en) 2018-07-02 2021-05-11 Samsung Electronics Co., Ltd. Cost-effective solid state disk data protection method for hot removal event
CN109089177B (zh) * 2018-07-09 2022-10-25 福建海缘信息科技有限公司 一种模组化全能型io及网关的快接模块
US10678667B1 (en) 2018-12-21 2020-06-09 Micron Technology, Inc. Holdup self-tests for power loss operations on memory systems
US10585827B1 (en) 2019-02-05 2020-03-10 Liqid Inc. PCIe fabric enabled peer-to-peer communications
US11099961B2 (en) * 2019-03-14 2021-08-24 Dell Products L.P. Systems and methods for prevention of data loss in a power-compromised persistent memory equipped host information handling system during a power loss event
US11334135B1 (en) * 2019-03-28 2022-05-17 Amazon Technologies, Inc. Power supply optimization using backup battery power supplementation
CN110109849B (zh) * 2019-04-30 2020-10-02 湖北三江航天万峰科技发展有限公司 一种基于pci总线的can设备驱动装置及方法
CN110209606B (zh) * 2019-04-30 2021-01-22 杭州电子科技大学 一种基于PCIe的多接口存储设备的控制方法
US11050294B1 (en) 2019-06-28 2021-06-29 Amazon Technologies, Inc. Power supply shedding for power efficiency optimization
CN110322979B (zh) * 2019-07-25 2024-01-30 美核电气(济南)股份有限公司 基于fpga的核电站数字控制计算机系统核心处理单元
CN110515446A (zh) * 2019-08-09 2019-11-29 广东浪潮大数据研究有限公司 一种服务器及其供电及功耗监控电路
US11126236B2 (en) * 2019-08-14 2021-09-21 Dell Products L.P. System and method for the redirection of trapped power in a shared infrastructure environment
CN110618909B (zh) * 2019-09-27 2021-03-26 苏州浪潮智能科技有限公司 基于i2c通讯的故障定位方法、装置、设备及存储介质
US11520628B2 (en) * 2020-05-20 2022-12-06 Qualcomm Incorporated Cooperative dynamic clock and voltage scaling (DCVS) between two processor systems
US11281398B1 (en) * 2020-11-11 2022-03-22 Jabil Inc. Distributed midplane for data storage system enclosures
US11520727B2 (en) * 2020-11-19 2022-12-06 Qualcomm Incorporated Sideband signaling in a peripheral component interconnect (PCI) express (PCIE) link
US11907149B2 (en) * 2020-12-09 2024-02-20 Qualcomm Incorporated Sideband signaling in universal serial bus (USB) type-C communication links
US11573917B2 (en) 2021-03-04 2023-02-07 Liqid Inc. Low latency computing architecture
US11531629B2 (en) 2021-03-04 2022-12-20 Liqid Inc. High density peripheral card chassis
CN113641123A (zh) * 2021-08-06 2021-11-12 云尖信息技术有限公司 一种适配多类型主机的pcie卡待机供电系统及电路
US20230418479A1 (en) * 2022-06-28 2023-12-28 Western Digital Technologies, Inc. Detection and Isolation of Faulty Holdup Capacitors Using Hardware Circuit in Data Storage Devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828207A (en) * 1993-04-20 1998-10-27 The United States Of America As Represented By The Secretary Of The Navy Hold-up circuit with safety discharge for preventing shut-down by momentary power interruption
CN1971733A (zh) * 2005-10-27 2007-05-30 国际商业机器公司 自动数据存储库及其自动机存取器的自动机供电系统
CN101334709A (zh) * 2008-07-29 2008-12-31 华为技术有限公司 一种高速存储或读取数据的方法及装置
CN101957784A (zh) * 2009-07-17 2011-01-26 鸿富锦精密工业(深圳)有限公司 存储器及其数据备份方法

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061750A (en) 1998-02-20 2000-05-09 International Business Machines Corporation Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure
US6411986B1 (en) 1998-11-10 2002-06-25 Netscaler, Inc. Internet client-server multiplexer
US7877542B2 (en) 2000-01-06 2011-01-25 Super Talent Electronics, Inc. High integration of intelligent non-volatile memory device
US7934074B2 (en) 1999-08-04 2011-04-26 Super Talent Electronics Flash module with plane-interleaved sequential writes to restricted-write flash chips
US6325636B1 (en) 2000-07-20 2001-12-04 Rlx Technologies, Inc. Passive midplane for coupling web server processing cards with a network interface(s)
US6889332B2 (en) 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state
US6931559B2 (en) 2001-12-28 2005-08-16 Intel Corporation Multiple mode power throttle mechanism
US7505889B2 (en) 2002-02-25 2009-03-17 Zoran Corporation Transcoding media system
US7315954B2 (en) 2002-08-02 2008-01-01 Seiko Epson Corporation Hardware switching apparatus for soft power-down and remote power-up
WO2004021647A2 (de) 2002-08-14 2004-03-11 Siemens Aktiengesellschaft Zugangskontrolle bei paketorientierten netzen
US7243145B1 (en) 2002-09-30 2007-07-10 Electronic Data Systems Corporation Generation of computer resource utilization data per computer application
JPWO2004079583A1 (ja) 2003-03-05 2006-06-08 富士通株式会社 データ転送制御装置およびdmaデータ転送制御方法
US7210061B2 (en) 2003-04-17 2007-04-24 Hewlett-Packard Development, L.P. Data redundancy for writes using remote storage system cache memory
US7272736B2 (en) 2004-03-03 2007-09-18 Intel Corporation Method and system for fast frequency switch for a power throttle in an integrated device
US7606960B2 (en) 2004-03-26 2009-10-20 Intel Corporation Apparatus for adjusting a clock frequency of a variable speed bus
US20060277206A1 (en) 2005-06-02 2006-12-07 Bailey Philip G Automated reporting of computer system metrics
JP4394624B2 (ja) 2005-09-21 2010-01-06 株式会社日立製作所 計算機システム及びi/oブリッジ
US7260487B2 (en) 2005-11-29 2007-08-21 International Business Machines Corporation Histogram difference method and system for power/performance measurement and management
US8344475B2 (en) 2006-11-29 2013-01-01 Rambus Inc. Integrated circuit heating to effect in-situ annealing
US8150800B2 (en) 2007-03-28 2012-04-03 Netapp, Inc. Advanced clock synchronization technique
US8706914B2 (en) 2007-04-23 2014-04-22 David D. Duchesneau Computing infrastructure
US20080281938A1 (en) 2007-05-09 2008-11-13 Oracle International Corporation Selecting a master node in a multi-node computer system
US7890811B2 (en) 2007-06-29 2011-02-15 Intel Corporation Method and apparatus for improved memory reliability, availability and serviceability
US9146892B2 (en) 2007-10-11 2015-09-29 Broadcom Corporation Method and system for improving PCI-E L1 ASPM exit latency
US7925826B2 (en) 2008-01-24 2011-04-12 International Business Machines Corporation System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency
US7930470B2 (en) 2008-01-24 2011-04-19 International Business Machines Corporation System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller
US7925824B2 (en) 2008-01-24 2011-04-12 International Business Machines Corporation System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency
US8359415B2 (en) 2008-05-05 2013-01-22 International Business Machines Corporation Multi-root I/O virtualization using separate management facilities of multiple logical partitions
US8103810B2 (en) 2008-05-05 2012-01-24 International Business Machines Corporation Native and non-native I/O virtualization in a single adapter
KR101515525B1 (ko) 2008-10-02 2015-04-28 삼성전자주식회사 메모리 장치 및 메모리 장치의 동작 방법
US8656117B1 (en) 2008-10-30 2014-02-18 Nvidia Corporation Read completion data management
US8473681B2 (en) 2009-02-17 2013-06-25 Rambus Inc. Atomic-operation coalescing technique in multi-chip systems
US8125919B1 (en) 2009-03-24 2012-02-28 Sprint Spectrum L.P. Method and system for selectively releasing network resources
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US20120030544A1 (en) 2010-07-27 2012-02-02 Fisher-Jeffes Timothy Perrin Accessing Memory for Data Decoding
US8688926B2 (en) 2010-10-10 2014-04-01 Liqid Inc. Systems and methods for optimizing data storage among a plurality of solid state memory subsystems
WO2012082792A2 (en) * 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory
US8589723B2 (en) 2010-12-22 2013-11-19 Intel Corporation Method and apparatus to provide a high availability solid state drive
US9141571B2 (en) * 2010-12-28 2015-09-22 Avago Technologies General Ip (Singapore) Pte. Ltd. PCI express switch with logical device capability
US8954798B2 (en) 2011-02-11 2015-02-10 Taejin Info Tech Co., Ltd. Alarm-based backup and restoration for a semiconductor storage device
US8712975B2 (en) 2011-03-08 2014-04-29 Rackspace Us, Inc. Modification of an object replica
US8792273B2 (en) 2011-06-13 2014-07-29 SMART Storage Systems, Inc. Data storage system with power cycle management and method of operation thereof
GB2493132B (en) 2011-07-11 2018-02-28 Metaswitch Networks Ltd Controlling an apparatus in a LAN by selecting between first and second hardware interfaces for performing data communication
US10037272B2 (en) 2012-08-08 2018-07-31 Avalanche Technology, Inc. Storage system employing MRAM and array of solid state disks with integrated switch
US9767058B2 (en) 2011-11-17 2017-09-19 Futurewei Technologies, Inc. Method and apparatus for scalable low latency solid state drive interface
US8953644B2 (en) 2011-12-27 2015-02-10 Intel Corporation Multi-protocol I/O interconnect time synchronization
US10110367B2 (en) 2012-08-21 2018-10-23 Artesyn Embedded Computing, Inc. High precision timer in CPU cluster
US9086919B2 (en) 2012-08-23 2015-07-21 Dell Products, Lp Fabric independent PCIe cluster manager
US9003220B2 (en) 2012-09-07 2015-04-07 National Instruments Corporation Switch for clock synchronization over a switched fabric
US9602437B1 (en) 2012-10-03 2017-03-21 Tracey M. Bernath System and method for accelerating network applications using an enhanced network interface and massively parallel distributed processing
US9007087B2 (en) 2012-10-11 2015-04-14 Hamilton Sundstrand Corporation System and method for automated failure detection of hold-up power storage devices
US20140108846A1 (en) 2012-10-15 2014-04-17 Dell Products L.P. Supplemental power system for power excursions
US8880771B2 (en) 2012-10-25 2014-11-04 Plx Technology, Inc. Method and apparatus for securing and segregating host to host messaging on PCIe fabric
US8983967B2 (en) 2013-03-15 2015-03-17 Datadirect Networks, Inc. Data storage system having mutable objects incorporating time
US10324642B2 (en) 2013-06-07 2019-06-18 Sanmina Corporation Peripheral component interconnect express (PCIe) solid state drive (SSD) accelerator
US9152592B2 (en) 2013-09-06 2015-10-06 Cisco Technology, Inc. Universal PCI express port
US20150212755A1 (en) * 2014-01-30 2015-07-30 Avalanche Technology, Inc. Method of managing throughput of redundant array of independent disks (raid) groups in a solid state disk array
JP6273353B2 (ja) 2014-04-21 2018-01-31 株式会社日立製作所 計算機システム
US10180889B2 (en) 2014-06-23 2019-01-15 Liqid Inc. Network failover handling in modular switched fabric based data storage systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828207A (en) * 1993-04-20 1998-10-27 The United States Of America As Represented By The Secretary Of The Navy Hold-up circuit with safety discharge for preventing shut-down by momentary power interruption
CN1971733A (zh) * 2005-10-27 2007-05-30 国际商业机器公司 自动数据存储库及其自动机存取器的自动机供电系统
CN101334709A (zh) * 2008-07-29 2008-12-31 华为技术有限公司 一种高速存储或读取数据的方法及装置
CN101957784A (zh) * 2009-07-17 2011-01-26 鸿富锦精密工业(深圳)有限公司 存储器及其数据备份方法

Also Published As

Publication number Publication date
US9678910B2 (en) 2017-06-13
US10733130B2 (en) 2020-08-04
EP3134773A4 (en) 2017-12-06
US20200364172A1 (en) 2020-11-19
US20180336152A1 (en) 2018-11-22
US11269798B2 (en) 2022-03-08
US20170270069A1 (en) 2017-09-21
US20220157479A1 (en) 2022-05-19
CN106462114A (zh) 2017-02-22
US20150309951A1 (en) 2015-10-29
HK1231574A1 (zh) 2017-12-22
US10114784B2 (en) 2018-10-30
EP3134773A1 (en) 2017-03-01
US11816054B2 (en) 2023-11-14
US20190073331A1 (en) 2019-03-07
US10037296B2 (en) 2018-07-31
US20240037054A1 (en) 2024-02-01
US20150309952A1 (en) 2015-10-29

Similar Documents

Publication Publication Date Title
CN106462114B (zh) 可扩展存储系统中的电力处理
CN110050519A (zh) 用于计算平台的模块化承载件形状因子
CN106462498B (zh) 用于数据存储系统的模块化交换架构
US8688926B2 (en) Systems and methods for optimizing data storage among a plurality of solid state memory subsystems
US10660228B2 (en) Peripheral storage card with offset slot alignment
US10620841B2 (en) Transfer of object memory references in a data storage device
US20170270044A1 (en) Active Storage Unit and Array
US20160071604A1 (en) Semiconductor memory device
CN211506485U (zh) 一种高性能密集计算刀片及刀片服务器
CN206696911U (zh) 一种新型数据记录仪
WO2015164794A1 (en) Power handling in a scalable storage system
CN104460857A (zh) 一种高速外设部件互连标准卡及其使用方法和装置
CN109753459A (zh) 一种大容量数据记录器
CN208224988U (zh) 一种服务器输入输出io板卡
CN104932837A (zh) 一种存储池架构
CN105630400A (zh) 高速海量数据存储系统
CN209182809U (zh) 一种移动存储设备
CN213069809U (zh) 数据存储板卡
CN111104458B (zh) 基于RK3399Pro的分布式数据交换系统及交换方法
TWM577532U (zh) 資料儲存模組及其系統主機
CN207586812U (zh) 一种存储服务器
US10031860B2 (en) Memory transfer of objects in a data storage device
CN115328392A (zh) VPX接口的NVMe双主控可视存储系统、方法、设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191001