CN112100096A - 存储器装置的通道架构 - Google Patents
存储器装置的通道架构 Download PDFInfo
- Publication number
- CN112100096A CN112100096A CN202010555368.XA CN202010555368A CN112100096A CN 112100096 A CN112100096 A CN 112100096A CN 202010555368 A CN202010555368 A CN 202010555368A CN 112100096 A CN112100096 A CN 112100096A
- Authority
- CN
- China
- Prior art keywords
- controller
- channels
- application
- applications
- bandwidth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Power Sources (AREA)
Abstract
描述了涉及存储器装置的通道架构的系统、设备和方法。各种应用可以通过多个通道访问来自存储器装置的数据。所述通道可以基于所述应用的行为选择性地启用或禁用。例如,呈存储器系统的形式的设备可以包含耦接到控制器和多个通道的接口。所述控制器可以被配置成:确定由访问来自存储器装置的数据的多个应用所使用的带宽的聚合量,所述存储器装置通过所述多个通道耦接到所述控制器;并且至少部分地基于由所述多个应用所使用的带宽的所述聚合量禁用所述多个通道中的一或多个通道。
Description
技术领域
本公开总体上涉及半导体存储器和方法,并且更具体地涉及用于存储器装置的通道架构的设备、系统和方法装置。
背景技术
存储器装置通常以内部半导体集成电路的形式设置于计算机或其它电子系统中。存在许多不同类型的存储器,包含易失性存储器和非易失性存储器。易失性存储器可能需要电力来维护其数据(例如,主机数据、错误数据等)并且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)和晶闸管随机存取存储器(TRAM)等等。非易失性存储器可以通过在不供电时保留所存储的数据来提供持久数据,并且可以包含NAND闪速存储器、NOR闪速存储器和电阻可变存储器(如相变随机存取存储器(PCRAM))、电阻式随机存取存储器(RRAM)和磁阻式随机存取存储器(MRAM),如自旋扭矩转移随机存取存储器(STT RAM),等等。
存储器装置可以耦接到主机(例如,主机计算装置),以在计算机或电子系统操作时存储供主机和/或在主机上运行的应用使用的数据、命令和/或指令。例如,当在主机、计算系统或其它电子系统上运行的应用操作期间,数据、命令和/或指令可以在主机和一或多个存储器装置之间转移。
发明内容
本申请的一方面涉及一种设备,所述设备包括:接口;以及控制器,所述控制器耦接到所述接口和多个通道,其中所述控制器被配置成:确定由访问来自存储器装置的数据的多个应用所使用的带宽的聚合量,所述存储器装置通过所述多个通道耦接到所述控制器;并且至少部分地基于由所述多个应用所使用的带宽的所述聚合量禁用所述多个通道中的一或多个通道。
本申请的另一方面涉及一种设备,所述设备包括:接口;以及控制器,所述控制器耦接到所述接口和多个通道,其中所述控制器被配置成:确定访问来自存储器装置的数据的多个应用的聚合带宽使用,所述存储器装置通过所述多个通道耦接到所述控制器;标识所述多个通道中的用于访问所述数据的一或多个通道;并且至少部分地基于所述多个应用的所述聚合带宽使用来禁用所述多个通道中的所述一或多个通道的子组。
本申请的另一方面涉及一种方法,所述方法包括:由控制器确定在多个应用的执行中所使用的带宽的聚合量;由所述控制器确定所述控制器与一或多个存储器装置之间的用于作为所述多个应用的执行的一部分而访问数据的通道;以及至少部分地基于在所述多个应用的执行中所使用的带宽的所述聚合量禁用所述通道中的一或多个。
本申请的又一方面涉及一种系统,所述系统包括:主机;存储器装置,所述存储器装置包括控制器、多路复用器和存储器装置,其中所述存储器装置耦接到所述主机,并且其中所述控制器被配置成:确定在由所述主机执行的相应应用的执行中所消耗的带宽的量;并且至少部分地基于在所述相应应用的执行中所消耗的带宽的所述量,对到耦接到所述多路复用器的多个选择引脚的信号进行断言,以禁用在所述应用的执行期间由所述应用访问来自所述存储器装置的数据所利用的一或多个通道。
附图说明
图1是根据本公开的若干个实施例的呈包含设备的计算系统的形式的功能框图,所述设备包含存储器系统。
图2是根据本公开的若干个实施例的呈包含前端带宽需求的设备的形式的功能框图。
图3是根据本公开的若干个实施例的呈包含前端带宽需求的设备的形式的另一个功能框图。
图4是根据本公开的若干个实施例的呈包含存储器系统的计算系统的形式的另一个框图。
图5是根据本公开的若干个实施例的针对存储器装置的通道架构的流程图。
图6是根据本公开的若干个实施例的表示针对存储器装置的通道架构的示例方法的流程图。
图7是根据本公开的若干个实施例的表示针对存储器装置的通道架构的示例方法的另一个流程图。
具体实施方式
描述了涉及存储器装置的通道架构的系统、设备和方法。各种应用可以通过多个通道访问来自存储器装置的数据。所述通道可以基于所述应用的行为选择性地启用或禁用。例如,呈存储器系统的形式的设备可以包含耦接到控制器和多个通道的接口。所述控制器可以被配置成:确定由访问来自存储器装置的数据的多个应用所使用的带宽的聚合量,所述存储器装置通过所述多个通道耦接到所述控制器;并且至少部分地基于由所述多个应用所使用的带宽的所述聚合量禁用所述多个通道中的一或多个通道。
存储器装置,如闪速存储器装置,可以用于将数据存储于计算系统中,并且可以在与计算系统相关联的主机之间和/或在与计算系统相关联的主机上运行的应用之间转移此类数据。存储于存储器装置中的数据对于计算系统和/或在主机上运行的一或多个应用的操作可能是重要的或甚至关键的。闪速存储器装置被用作非易失性存储器,用于广泛的电子应用。闪速存储器装置通常使用允许高存储器密度、高可靠性和低电力消耗的单晶体管存储器单元。
将数据存储在存储器单元内的存储器装置可以包含在存储器系统中。数据可以由在主机上运行的应用通过耦接到控制器(例如,媒体控制器、存储器装置控制器等)的通道访问。通道可以包括控制器的后端通道。存储器装置控制器可以是如非易失性存储器快速(NVMe)控制器等紧密耦接到存储器装置(例如,存储器装置的存储器单元、块、区段等)的媒体控制器。
通道可以将应用通信地耦接到存储器装置并且促进数据到存储区装置以及从存储器装置到应用的传输,以供执行。当通道被启用以将数据从存储器传输到应用时,使应用在主机上运行可以利用来自存储器系统的电力。使用的电力的量可以取决于被启用以促进应用的执行的通道的数量。例如,当应用访问来自耦接到控制器的存储器装置的数据时,使用的电力的量可以取决于应用的特性,所述特性可以对应于所启动的通道的数量。
应用的执行中所消耗的电力的量可以由应用的带宽需求决定并且在本文中可以被称为带宽需求。在一些实施例中,应用可以在存储器系统的前端上运行,并且执行应用的操作所需的带宽的量可以被称为前端带宽需求。然而,在一些方法中,可以启用执行应用并满足带宽需求所需的另外的通道。应用可以具有对执行操作的相同的和/或不同的带宽要求,并且可以对应于以接收来自存储器装置的数据的单个通道,或者多个应用可以共享以接收数据的单个通道。在一些方法中,不论其提供数据的一或多个应用如何,每个所启用通道都可能消耗阈值量的电力。存储器系统的电力消耗可能增加存储器系统的温度、浪费资源和/或降低效率。如此,禁用多余的通道可以节省资源并且增加效率。
在一些方法中,存储器系统可以被设计成运行有限数量的应用,以维持稳态温度和效率水平。由于请求来自存储器系统的存储器装置的数据的若干个应用增加,存储器系统可能经历应用执行故障,或者在应用的执行中可能引起故障的温度的增加。在一些方法中,此温度增加可以通过使用冷却系统减轻,所述冷却系统可以降低应用执行故障和其它不良热效应。然而,此类冷却系统可能需要存储器系统中的空间(例如,覆盖区)和/或另外的处理资源来保持适当的温度,以供提取来自存储器的数据的应用进行有效操作。
因为存储器装置上可用的空间的量(并且因此,可用于提供处理资源和/或冷却系统的空间的量)可能由于如形状因子、单元密度、存储器阵列架构、电力限制和/或所期望存储能力等各种制约而受到限制,因此在存储器装置上提供充足的处理资源以操作另外的通道和/或在供应由存储器装置存储的数据的同时提供对存储器装置的冷却是困难的。因此,由于形状因子和/或电力消耗限制,存储器装置的性能效率在一些方法中可能受到限制。
随着存储器装置的存储能力增加,这些影响可能变得更显著,因为越来越多的数据能够被存储器存储并且因此对在主机上运行的应用而言变得可访问。这可能导致提供存储于应用上的数据所需的通道的数量增加。这些影响可能会通过一些方法对如上所述的存储器系统上的电力管理的限制而进一步加剧,这在存储于存储器装置中的数量的量增加并且数据检索所期望的速度增加时尤为如此。
相比而言,本文的实施例涉及用于基于访问数据的应用所需的带宽的量和/或在应用的执行中所消耗的带宽的量使用模块化设计向应用提供数据的通道架构。例如,在一些实施例中,存储器系统可以通过禁用向应用提供数据不需要的通道而减少其电力使用。应用的操作可以整合,以利用较少的通道从而增加由存储器系统所使用的电力的量。
如本文所描述的,控制器可以确定在主机上运行的和/或可与主机通信的应用的带宽需求。控制器可以选择性地禁用向应用提供数据不需要的一或多个通道并且满足带宽需求。在一些实例中,所禁用通道可能未被用于向数据提供数据。在其它实例中,由选择性地禁用的通道之前执行的操作可以移位到不同的(例如,所启用)通道。从选择要被禁用的通道到所启用通道的移位操作的动作可以被称为“整合”。启用通道减少了存储器系统的电力的可以节省资源并降低存储器系统的温度的量。
另外,在一些实施例中,控制器可以被提示在应用的执行中通过存储器装置的温度的增加或访问数据的应用的增加/减少聚合消耗的带宽的量。所需的带宽的量的聚合可以包含控制器检查数量、活跃度水平和/或连接到主机的应用的优先水平。控制器可以启用和/或禁用独立地向应用提供数据的通道,使得在通道被启用、禁用和/或整合时节省任何加密、误差校正或媒体管理逻辑。
在本公开的以下详细说明中,参考了附图,所述附图形成所述详细说明的一部分,并且在所述附图中,通过图解的方式示出了可以如何实践本公开的一或多个实施例。对这些实施例的描述的详细程度足以使本领域的普通技术人员能够实践本公开的实施例,并且应当理解的是,可以利用其它实施例,并且在不背离本公开的范围的情况下,可以做出工艺改变、电气改变和结构改变。
如本文所使用的,如“N”、“M”、“P”、“Q”等指示符,尤其是关于附图中的附图标记的指示符,表明可以包含若干个如此指定的特定特征。还应理解,本文所使用的术语仅出于描述特定实施例的目的,并且并不旨在是限制性的。如本文所使用的,除非上下文另外明确规定,否则单数形式“一(a)”、“一个(an)”和“所述(the)”可以包含单数个参考物和复数个参考物两者。另外,“若干个”、“至少一个”以及“一或多个”(例如,若干个存储器装置)可以指代一或多个存储器装置,然而“多个”旨在指代不止一个此类物品。此外,贯穿本申请,词语“可以(can)”和“可以(may)”以允许的意义(即,有可能、能够)而非强制性的意义(即,必须)使用。术语“包含(include)”和其派生词意味着“包含但不限于”。术语“耦接(coupled)”和“耦接(coupling)”意指物理地或用于访问以及移动(传输)命令和/或数据的直接或间接连接,视情况而定。术语“数据”和“数据值”在本文中可互换地使用并且可以具有相同的含义,视情况而定。
本文的附图遵循编号惯例,其中一或多个第一数字对应于附图图号,并且其余数字标识图中的元件或组件。可以通过使用类似的数字来标识不同图之间的类似元件或组件。例如,106可以引用图1中的元件“06”,并且类似的元件可以在图2中被引用为206。一组或多个类似的元件或组件通常可以在本文中用单个元件图号来指代。例如,多个参考元件112-1、……、112-N(例如,112-1到112-N)通常可以被称为112。如应理解的,可以添加、交换和/或消除在本文的各个实施例中示出的元件,以提供本公开的多个另外的实施例。另外,在图中提供的元件的比例和/或相对尺度旨在展示本公开的某些实施例并且不应以限制性的意义而采用。
图1是根据本公开的若干个实施例的呈包含设备的计算系统100的形式的功能框图,所述设备包含存储器系统104。如本文所使用的,“设备”可以指但不限于各种结构或结构组合中的任何结构或结构组合,如电路或电路系统、管芯或晶粒、一或多个模块、一或多个装置或一或多个系统。存储器系统104可以是例如固态驱动器(SSD),并且可以包含接口108、控制器110(例如,处理器和/或其它控制电路系统)以及若干个存储器装置112-1到112-N,例如,固态存储器装置,如NAND闪速装置,所述存储器装置为存储器系统104提供了存储体积。在若干个实施例中,控制器110、存储器装置112-1到112-N和/或接口108可以物理地定位在单个管芯上或单个封装内,例如,所管理的NAND应用。同样,在若干个实施例中,存储器,例如,存储器装置112-1到112-N可以包含单个存储器装置。
如图1中所展示的,控制器110可以通过一或多个通道114-1到114-P耦接到接口108以及存储器装置112-1到112-N并且可以用于在存储器系统104与主机102之间转移数据。通道(例如,114-1到114-P)可以是用于存储器装置(例如,112-1到112-N)与控制器110或控制器110与接口108之间的信号传递或通信的路径。通道114可以是用导体(例如,金属迹线、半导体材料等)进行的物理连接。通道114可以通过操作耦接到通道114和控制器110或存储器装置112(或接口108)等的开关(例如,一或多个晶体管)而被启用或禁用。在一些实施例中,禁用通道114意味着断开一或多个开关以物理地或电地使通道114断开连接(或使其解耦),从而移除或断开组件或装置之间的信号传递路径。
接口108可以呈标准化接口的形式。例如,当存储器系统104用于在计算系统100中进行数据存储时,在其它连接器和接口中,接口108可以是串行高级技术附件(SATA)接口、外围组件互连快速(PCIe)接口或通用串行总线(USB)接口、双数据速率(DDR)接口。然而,通常,接口108可以提供用于在具有可与接口108兼容的接收器的存储器系统104与主机102之间传递控制信号、地址信号、数据信号和其它信号的接口。
在各种其它类型的主机中,主机102可以是主机系统,如个人膝上型计算机、台式计算机、数字相机、移动电话、物联网(IoT)启用的装置或存储卡读取器、图形处理单元(例如,视频卡)。主机102可以包含系统主板和/或背板,并且可以包含若干个存储器存取装置,例如,若干个处理资源(例如,一或多个处理器、微处理器或一些其它类型的控制电路系统)。本领域的普通技术人员应理解,“处理器”可以意指一或多个处理器,如并行处理系统、若干个协处理器等。主机102可以通过通信通道106耦接到存储器存储器系统104的接口108。
在一些实施例中,主机102可以负责执行包含存储器系统104的计算系统100的操作系统。因此,在一些实施例中,主机102可以负责控制存储器系统104的操作。例如,主机102可以执行以下指令(例如,呈操作系统的形式):管理计算系统100的硬件(如调度任务)、执行一或多个应用116-1到116-M、控制外围设备。
计算系统100可以包含位于主机102、存储器系统104、应用116-1到116-M、接口108、控制器110上的单独的集成电路和/或存储器装置112-1到112-N可以位于同一集成电路上。计算系统100可以为例如服务器系统和/或高性能计算(HPC)系统和/或其一部分。尽管图1中示出的实例展示了具有Von Neumann架构的系统,但是本公开的实施例可以在非Von Neumann架构上实施,所述非Von Neumann架构可以不包含通常与Von Neumann架构相关联的一或多个组件(例如,CPU、ALU等)。
在一些方法中,存储器系统104(例如,控制器110)可以使用通道114-1到114-P(在本文中被统称为通道114)访问存储于存储器装置112-1到112-N(在本文中被统称为112)的数据(例如,存储器单元和/或单元组,例如,数据单词或区段),以执行应用116-1、116-M(在本文中被统称为116)。应用116可以使用存储于存储器装置112中的数据在主机102上执行。术语“在……上执行”在本文中可以与如“在……上驻留”、“在……上部署”或“定位在……上”等其它术语互换地使用。通道114由控制器110启用,以将存储于存储器装置112中的数据提供给应用116。当通道116被启用时,其利用存储器系统104的电力。与启用的通道相比,所禁用通道从存储器系统104汲取更少电力。
在一些实施例中,控制器110可以通过确定由在主机102上运行的访问来自存储器装置112的应用116所使用的带宽的聚合量来确定带宽需求(例如,前端带宽需求)。控制器110可以监测在主机102上运行的应用116,以确定带宽要求和/或应用116的优先级。
一些应用116可以具有比其它应用116更高的优先级。例如,高优先级应用可以包含向应用和/或主机102和/或为使计算系统操作而必须执行的系统关键型应用的用户提供重要信息和/或操作的应用。低优先级的应用可以包含向应用和/或主机102的用户提供娱乐信息或不太重要的信息的应用116。为减少电力消耗和/或降低存储器系统104的温度,控制器110可以通过通道114整合应用116所请求的数据,以减少存储器系统104的电力。例如,控制器110可以至少部分地基于由应用116所使用的带宽的聚合量和/或与应用116相关联的优先级的水平而选择性地禁用一或多个通道114。
控制器110可以选择性地禁用一些通道114,同时避免禁用其它通道114。例如,通道114-1可以从存储器装置112-1向应用116-1提供数据。通道114-P可以从存储器装置112-N向应用116-M提供数据。控制器110可以确定用于执行应用116-1和116-M的聚合带宽,并且基于对聚合带宽的确定,选择性地禁用通道114-P并将执行应用116-M所需的操作整合到通道114-1。因为控制器110可以访问存储器装置112-1到112-N,所以应用116-M仍可以通过通道114-1访问来自存储器装置112-N的数据。所禁用通道114-P仍可以从存储器系统104汲取电力,但由所禁用通道114-P所使用的电力的量比由所启用通道114-1所使用的电力的量少。然而,实施例未如此进行限制,并且在一些实施例中,所禁用通道114-P可以从存储器系统104汲取消没(例如,零或接近零)的量的电力。以此方式,应用116-1和116-M在存储器系统104减少电力时保持可操作。换言之,应用116-1和116-M可以通过在选择性地禁用通道114-P之后保持启用的通道114-1访问数据。
进一步地,控制器110可以被配置成以独立方式禁用通道114-P。控制器110可以被配置成移动通道之间的使得任何媒体管理逻辑可以保存的操作。例如,应用116-M可以包含媒体管理逻辑,如数据误差校正(例如,ECC)或数据加密,所述媒体管理逻辑在将应用116-M的操作从通道114-P移动(例如,整合)到通道114-1时可以保存。以此方式,应用116-1和应用116-M的操作可以独立于通道架构。
在一些实施例中,如本文所描述的,控制器110可以确定应用何时变得不活跃(例如,休眠、禁用、移除或另外不太活跃地执行操作)并且调整被启用和/或禁用以减少电力使用的通道的数量。当应用116不活跃时,其可能不接收来自存储器装置114的数据和/或其可能不那么频繁地接收数据。在此类实例中,带宽需求(例如,应用116的聚合带宽使用)可以减少,并且控制器110可以选择性地禁用一些通道114,以减少存储器系统104的电力使用。
在其它实施例中,控制器110可以确定应用何时变得活跃(例如,新应用连接到主机102,先前不活跃的应用已变得活跃等)并且调整被启用和/或禁用以适应带宽需求的通道114的数量。当应用116活跃时,其可以接收来自存储器装置的数据,应用116对计算系统100来说可以是新的,和/或其可以频繁地和/或以增加的频率请求/接收数据。在此类实例中,带宽需求可以增加,并且控制器110可以启用通道114(例如,先前禁用的通道)以满足存储器系统104的带宽需求。
实施例不限于通道被启用以满足带宽需求的方法。在非限制性实例中,应用116可以具有不同的优先级水平并且可以由控制器110排名。控制器110可以确定应用116-1的优先级比应用116-M高。为了节省电力,存储器系统104可以启用通道114-1以向应用116-1和116-N提供来自存储器装置112-1到112-N的数据,并且可以选择性地禁用通道114-P。例如,控制器110可以将通过通道114-1的来自应用116-1的对数据的请求优先排序在来自应用116-M的以通过通道114-1接收数据的请求前面。以此方式,存储器系统104可以通过避免启用所禁用通道114-P以满足带宽需求来减少电力消耗。
控制器110可以与存储器装置112-1到112-N通信,以控制其它操作之中的数据读取、写入和擦除操作。控制器110可以包含例如呈硬件和/或固件,例如,一或多个集成电路的形式的若干个组件,所述一或多个集成电路如一或多个专用集成电路(一或多个ASIC)、一或多个现场可编程门阵列(一或多个FPGA)和/或用于控制对存储器装置112-1到112-N的数量的访问和/或用于促进主机102与存储器装置112-1到112-N之间的数据转移的软件。控制器110可以包含未展示以免模糊本公开的实施例的用于控制数据读取、写入、擦除等操作的各个组件。在一些实施例中,此类组件可以不是控制器110的组件,例如用于控制数据读取、写入、擦除等操作的组件可以是定位在存储器系统104内的独立组件。
存储器装置112-1到112-N可以包含存储器单元的若干个阵列。阵列可以是具有例如NAND架构的闪存阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。存储器单元例如可以被分组成若干个块,所述若干个块包含若干个物理页。若干个块可以包含在存储器单元的平面中并且阵列可以包含若干个平面。
存储器装置112可以包含易失性存储器和/或非易失性存储器。在若干个实施例中,存储器装置112可以包含多芯片装置。多芯片装置可以包含多种不同的存储器类型和/或多个存储器模块。例如,存储器系统可以包含任何类型的模块上的非易失性或易失性存储器。在存储器装置112包含非易失性存储器的实施例中,存储器装置112可以是闪速存储器装置,如NAND或NOR闪速存储器装置。然而,实施例不限于此,并且存储器装置112可以包含其它非易失性存储器装置,如非易失性随机存取存储器装置(例如,NVRAM、ReRAM、FeRAM、MRAM、PCM)、“新兴”存储器装置,如3-D Crosspoint(3D XP)存储器装置等或其组合。非易失性存储器的3D XP阵列与可堆叠交叉网格数据访问阵列结合可以基于体电阻的改变执行位存储。另外,与许多基于闪速的存储器相比,3D XP非易失性存储器可以执行写入原地(in-place)操作,其中在易失性存储器先前未被擦除的情况下,可以对非易失性存储器单元进行编程。
存储器装置112可以提供计算系统100的主存储器,或者可以用作整个计算系统100的另外的存储器或存储区。每个存储器装置112可以包含存储器单元,例如,易失性存储器单元和/或非易失性存储器单元的一或多个阵列。阵列可以是具有例如NAND架构的闪存阵列。实施例不限于特定类型的存储器装置。例如,存储器装置可以包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM和闪速存储器等等。
图1的实施例可以包含未展示以免模糊本公开的实施例的另外的电路系统。例如,存储器系统104可以包含用于锁存通过I/O电路系统在I/O连接上提供的地址信号的地址电路系统。可以通过行解码器和列解码器接收和解码地址信号,以访问存储器装置112。本领域的技术人员将理解,地址输入连接的数量可以取决于存储器装置112的密度和架构。
图2是根据本公开的若干个实施例的呈包含前端带宽需求218的设备201的形式的功能框图。设备201可以包含应用216-1、216-2、216-3、216-4、216-5和216-M,所述应用可以被统称为应用216并且与结合图1所描述的应用116类似。尽管未展示以免模糊本公开的实例,但是应用216可以在主机(例如,图1的主机102)上执行。在应用的执行期间,应用可以根据由控制器210所生成的命令访问来自存储器系统204的数据。存储器系统204和控制器210可以与存储器系统104和结合图1所描述的控制器110类似。应用216可以访问来自一或多个存储器装置212的数据,所述一或多个存储器装置与结合图1所描述的存储器装置112-1到112-N类似。存储器装置212可以包含在如由图1的存储器装置112所展示的存储器系统204内,或如图2所展示的存储器系统204外部。
通道214-1、214-2、214-3、214-4、214-5、214-6、214-7和214-P可以被统称为通道214并且可以与图1的通道114-1到114-P类似。在单个应用(例如,应用216-1、应用216-2等)和/或多个应用216-1到216-M的执行期间可以通过通道214中的每个通道转移数据。如下文更详细地描述的,一或多个应用216的执行可能消耗阈值量的带宽,所述阈值量的带宽在本文中可以被称为“带宽需求”(例如,前端带宽需求218、后端带宽需求等)。如本文所使用的,术语“后端”是指控制器(例如,控制器210)与装置(例如,存储器装置212和/或另一计算装置)之间的连接。如本文所使用的,术语“前端”是指控制器(例如,控制器210)与计算装置(例如,主机102、接口108和/或应用116等)之间的连接。
前端带宽需求218可以是执行应用216所需的带宽的聚合量。例如,因为通道214在应用216的执行期间在通道214被启用以访问来自存储器装置212的数据时可以从存储器系统204汲取电力,所以前端带宽需求218可以对应于由于应用216的执行而从存储器系统204汲取的电力的量。为了减轻从存储器系统204汲取的电力的量,控制器210可以监控前端带宽需求218。控制器210可以通过基于前端带宽需求218而选择性地禁用单个通道214和/或通道214的一部分(例如,子组)减少电力消耗。也就是说,相比于每个通道通常活跃的方法,本文的实施例可以允许通过基于前端带宽需求218而选择性地禁用通道214中的一或多个减少在应用的执行中所消耗的电力的量。
在一些实施例中,由每个应用216所使用的带宽的量可以至少部分地通过控制器210确定由主机执行的应用216中的所有应用需要的带宽的聚合量。为了执行,应用216中的每个应用可以包含不同的带宽需求、类似的带宽需求或其组合。在非限制性实例中,应用216-1可能需要2GB/s的带宽并且应用216-2可能需要10GB/s的带宽,同时其余应用216-3、216-4、216-5、216-M不活跃。如此,前端带宽需求218是通道214用来提供来自存储器装置212的数据以执行应用216-1和216-2的带宽的聚合量(例如,在此实例中为12GB/s)。因为在此实例中,其余应用216-3、216-4、216-5和216-M不活跃,所以控制器210可以选择性地禁用一或多个通道214(例如,如果应用216-3、216-4、216-5和216-M活跃则将由应用216-3、216-4、216-5和216-M使用的通道),以减少由存储器系统204所使用的电力的量,同时满足前端带宽需求218。与不允许基于前端带宽需求218而选择性地禁用通道的方法相比,此电力减少可以节省电力、降低温度并增加计算系统的效率。
当前端带宽需求218增加时,控制器210可以选择性地启用通道(例如,先前禁用的通道214)。例如,控制器210可以确定当通道214-2、214-3、214-4、214-5、214-6、214-7和214-P被禁用时,由通过单个通道214-1访问来自存储器装置212的数据的应用216-1和216-2(例如,活跃应用)所使用的带宽的聚合量。随后,控制器210可以确定当新应用被添加和/或变得活跃时不同的前端带宽需求218。在非限制性实例中,应用216-3和216-4可以被添加和/或变得活跃,并且前端带宽需求218可以增加。响应于增加的前端带宽需求218,控制器210可以从所禁用通道(例如,通道214-2、214-3、214-4、214-5、214-6、214-7和214-P)选择通道的子组以满足前端带宽需求218,以执行新活跃应用216-3和216-4。例如,控制器210可以使通道(例如,通道214-2和214-3)的子组被启用以提供来自存储器装置212的数据,从而满足包含新活跃应用216-3和216-4的前端带宽需求218。
在一些实施例中,控制器210可以监测活跃应用216-1、216-2、216-3和/或216-4并且标识应用216何时已变得不活跃。当活跃应用变得不活跃时,前端带宽需求218可以减少,并且控制器210可以禁用通道214和/或通道214的子组以减少电力消耗。例如,控制器210可以确定应用216-1和216-3已变得不活跃。例如,在存储器系统204的操作期间,控制器210可以监测源自主机的应用流量,以确定应用(例如,一或多个应用216)是活跃的还是不活跃的。也就是说,控制器210可以确定应用216-1和216-3是否已经由于不再被执行而展示出减少的带宽需要。在此实例中,控制器210可以确定通道214中的哪些通道对应于应用216-1和216-3的执行并且禁用对应通道214。继续此实例,如果应用216-1使用通道214-1接收来自存储器装置212的数据并且应用216-3使用通道214-3接收来自存储器装置212的数据,则控制器210可以基于对应用216-1和216-3已经由于例如不再活跃而展示出减少的带宽要求的确定禁用一个(并整合新禁用通道的操作)或两个通道(例如,通道214-1和214-3),以节省电力。
图3是根据本公开的若干个实施例的呈包含前端带宽需求318和机器学习组件324的设备301的形式的另一个功能框图。尽管未在图3中展示以免模糊本公开的实例,但是设备301可以包含与结合图1和2所描述的存储器系统104和204类似的存储器系统。设备301可以促进执行应用316-1、316-2、316-3、316-4、316-5和316-M,所述应用可以被统称为应用316并且与结合图1和2所描述的应用116和216类似。尽管未展示以免模糊本公开的实例,但是应用316可以在主机(例如,图1的主机102)上执行。尽管未展示以免模糊本公开的实例,但是应用316可以耦接到存储器系统(例如,图1和2存储器系统104和204)和控制器310,所述控制器与结合图1和2所描述的控制器110和210类似。
应用316可以接收来自一或多个存储器装置312的数据,所述一或多个存储器装置与结合图1和2所描述的存储器装置112到212类似。应用316可以通过通道314-1、314-2、314-3、314-4、314-5、314-6、314-7和314-P接收来自存储器装置312的数据,所述通道可以被统称为通道314并且可以与结合图1和2所描述的通道114和214类似。存储器装置312可以包含在存储器系统内或者可以处于存储器系统外部。
前端带宽需求318可以是通道314用来在应用316的执行期间将数据从存储器装置312提供到应用316的带宽的聚合量。控制器310可以至少部分地基于用于执行应用316的带宽的聚合量确定由应用316中的每个应用所使用的带宽的量。例如,控制器310可以确定前端带宽需求318并且基于活跃应用316的数量确定哪些应用316需要带宽和/或具有较高的优先级。
如图3所示,控制器310还可以包含机器学习组件324。所述机器学习组件324可以包含例如若干个呈硬件和/或固件,例如,一或多个集成电路的形式的用于监测应用带宽需求和/或随着时间的推移学习应用带宽行为的组件,所述一或多个集成电路如一或多个专用集成电路(一或多个ASIC)和/或一或多个现场可编程门阵列(一或多个FPGA)。
控制器310和/或机器学习组件324可以被配置成确定访问来自存储器装置312的应用316的聚合带宽使用,所述存储器装置通过通道314耦接到控制器310。控制器310可以标识通道314的用于访问数据的一部分,并且至少部分地基于应用316的聚合带宽使用选择性地禁用通道314的一部分的子组322。通道314的一部分可以包含通道314-1、314-2、314-3、314-4、314-5、314-6、314-7和314-P中的所有通道或通道中的一些通道(例如,通道314-1、314-3和314-7,但实施例不限于禁用这些特定通道)。控制器310可以确定可以表示应用316的聚合带宽使用的前端带宽需求318可以通过通道314的少于通道314的向应用316供应数据的一部分的数量提供。响应于此确定,控制器310可以禁用通道314的子组322,以节省电力。在非限制性实例中,通道的子组322被展示为由加虚线的圈所指示的通道314-6、314-7和314-P。
在一些实施例中,应用316可以在控制器310禁用包含通道314-6、314-7、314-P的子组322之前通过通道314-6、314-7和314-P访问数据。在此实例中,利用通道314-6、314-7和314-P的应用316可以被转移到多个所启用通道(例如,314-1、314-2、314-3、314-4和/或314-5)。
在一些实施例中,来自子组322的一或多个通道314可以由控制器310响应于来自机器学习组件324的指示而选择性地禁用。来自机器学习组件324的指示可以包含对应于从与控制器310的通信中移除的应用316的信息。例如,应用316可以在主机上运行(例如,图1的主机102)并且通过接口(图1的接口108)连接到控制器。当应用316不再使用、已被替代、过期、失灵等时,可以将应用316从与控制器310的通信中移除。
机器学习组件324可以向控制器310指示对应于由应用316所使用的电力的量的减少的信息。电力的量的减少可以指示应用316已经从与控制器310的通信中移除和/或相比之前应用316通过控制器314访问(例如,请求访问)来自存储器装置312的更少的数据(例如,应用316可以不太活跃)。控制器310可以接收来自机器学习组件324的呈信令的形式的指示。
例如,控制器310可以接收指示一或多个应用316-5和316-M何时已中止接收来自存储器装置312的数据的信令(例如,警报)。由控制器310接收的信令可以提示控制器310聚合用于操作应用316的带宽的量并确定新前端带宽需求318。响应于新前端带宽需求318,控制器310可以禁用通道314的子组322以减少电力消耗。机器学习组件324和/或控制器310可以确定应用316的活跃度何时增加和/或应用316何时已被添加以与控制器310通信并通过通道314访问数据。
控制器310可以接收由机器学习组件324响应于检测到的前端带宽需求318的增加而生成的指示和/或警报。当应用的活跃度增加时(例如,当应用316增加从存储器装置访问的数据的量时),应用316可以增加前端带宽需求318。当应用316连接到控制器310(例如,新应用被添加以与控制器310通信)或者应用316更频繁地访问来自存储器装置312的数据时,应用316的活跃度可以增加。由控制器310接收的警报可以提示控制器310聚合用于执行应用316的带宽的量并确定新前端带宽需求318,以反应应用316的活跃度的增加。响应于新前端带宽需求318,控制器310可以重新启用通道314的子组322(或子组322的一部分),以适应新前端带宽需求318。在一些实施例中,机器学习组件324可以包含控制器310的可以监测应用316有无电力要求的改变(例如,添加新应用、移除应用和/或应用316的活跃度水平的增加和减少)的电路系统。
机器学习组件324可以预计前端带宽需求318,使得控制器310可以启用和/或禁用通道314以满足前端带宽需求318并节省电力。在非限制性实例中,机器学习组件324可以监测应用316-1、316-2、316-3、316-4、316-5和316-M并且确定应用320的一部分(包含应用316-5和316-M)是活跃的(例如,新连接到控制器310和/或访问来自存储器装置312的数据)。机器学习组件324可以向控制器310传输指示,并且控制器310可以聚合由应用所使用的带宽以确定前端带宽需求318。机器学习组件324可以至少部分地基于在应用320的一部分的执行期间在通道314的操作中所需的电力的预计量标识由控制器310禁用的通道314的子组322。基于机器学习组件324的确定,控制器310可以至少部分地基于在将应用320的一部分包含在前端带宽需求318中时电力的预计量重新启用通道314的子组322。
图4是根据本公开的若干个实施例的呈包含存储器系统404的计算系统403的形式的另一个功能框图。计算系统403可以与结合图1所描述的计算系统100类似。如图4所示,计算系统403包含存储器系统404和控制器410,所述存储器系统和控制器与结合图1、2和3所描述的存储器系统104、204以及控制器110、210和310类似。另外,图4展示了存储器装置412-1到412-N(其可以被统称为存储器装置412并且可以与结合图1、2和3所描述的存储器装置112、212和312类似)。
尽管未在图4中展示,但是存储器系统404可以连接到主机(例如,结合图1所描述的主机102)。存储器系统404可以进一步包含接口,如外围互连快速(PCIe)接口。尽管图4中展示的接口被示出为PCIe 408,但是应理解,在不脱离本公开的精神的情况下可以使用其它接口、总线和/或通信路径。可以使用PCIe 408将主机连接到存储器系统404。进一步地,虽然未在图4中展示以免模糊本公开的实例,但是应用(例如,结合图1、2和3所描述的应用116、216和316)可以在主机上执行(例如,运行)。应用可以通过PCIe408通信地连接到控制器410。
控制器410可以包含前端带宽需求(例如,结合图2和3所描述的前端带宽需求218和318)。如上文所描述的,前端带宽需求可以是通道414-1到414-P用来在由主机进行的应用的执行期间将数据从存储器装置412提供到应用的带宽的聚合量。控制器410可以通过至少部分地基于前端带宽需求选择性地禁用和/或选择性地启用通道414-1到414-P而减少和/或增加由存储器系统404所使用的电力的量。
调度器425可以被提供有计算资源以及编排应用的执行的电路系统。例如,调度器425可以对来自应用的对数据的请求进行排队。在一些实施例中,控制器410可以确定应用的优先级水平以节省电力,并且调度器425可以基于控制器410的确定促进请求的优先级。低优先级应用可以包含与高优先级应用相比不太频繁地请求数据的应用和/或可以是不关键的应用。高优先级应用可以包含与低应用级应用相比频繁请求数据的应用和/或对于主机和/或存储器系统404的操作而言可能是关键的。例如,一些高优先级应用可以频繁请求来自存储器装置412的数据,但是数据在执行时对于主机和/或存储器系统404的操作而言可能是关键的。
控制器410可以选择性地禁用通道414-1到414-P的一部分以节省电力,并且调度器425可以将对来自高优先级应用的数据的检索优先排序在对低优先级应用的数据的检索之上。换言之,控制器410可以包含低优先级应用的时延,以节省存储器系统404的电力。调度器425可以耦接到多路复用器426和选择引脚428-1和428-Q。多路复用器426可以是在由选择引脚428-1和428-Q接收的模数输入信号之间进行选择并且将所述输入信号转发到输出线(例如,连接到转换器430)的装置。
转换器430可以接收来自多路复用器426的选择命令,所述选择命令可以使通道414-1到414-P中的一或多个被选择性地启用或禁用。通道控制器432-1到432-R可以耦接到通道414-1到414-P并且可以响应于来自转换器430的命令或其它输入将对应通道414-1、414-P切换到启用或禁用状态。
如上文所描述的,在一些实施例中,控制器410可以确定在主机上执行的相应应用的执行中所消耗的带宽的量。所消耗的带宽的量可以聚合成由控制器410接收的前端带宽需求。调度器425可以基于前端带宽需求、应用的优先级和/或来自控制器410的信号确定数据请求的队列。控制器410可以选择性地对到耦接到多路复用器426的选择引脚428-1到428-Q的信号进行断言,以使相应通道控制器432-1到432-R响应于所断言的(或解除断言的)信号将对应通道414-1到414-P切换到启用或禁用状态。
在一些实施例中,所断言的到选择引脚428-1和428-Q的一或多个信号可以是布尔(Boolean)逻辑信号(例如,具有逻辑值为“0”或逻辑值为“1”的信号)。如果存在两个选择引脚428-1和428-Q,如图4所示,可以在选择引脚428-1和428-Q上对值的四个可能组合进行断言。例如,可以在选择引脚428-1和428-Q两者上对逻辑值“0”进行断言,所述逻辑值对应于被禁用的通道414-1和414-P。类似地,如果在选择引脚428-1和428-Q两者上对逻辑值“1”进行断言,则通道414-1和414-P可以被启用。混合值信号(例如,逻辑值“0”在选择引脚428-1上被断言,而逻辑值“1”在选择引脚428-Q上被断言,或反之亦然)可以引起通道414-1或414-P中的一个被启用。实施例不限于以上所枚举的场景并且可以在存储器装置404上设置多于或少于两个选择引脚428。
选择引脚428-1到428-Q可以对应于不同通道414-1到414-P。在一些实施例中,选择引脚428-1可以对应于通道414-1并且第二选择引脚428-Q可以对应于通道414-P。在一些实施例中,控制器410可以对到选择引脚428-1的对应于可以由应用利用的通道414-1的信号解除断言(例如,控制器410可以在选择引脚428-1上对逻辑值“0”进行断言)。转换器430可以接收对应于与通道414-1相对应的解除断言的信号的信号并且将信号传输到通道控制器432-1以禁用通道414-1。
基于控制器410的解除断言信号,通道控制器432-1可以将应用的对应于通道414-1的对来自存储器装置412-1的数据的访问转移到通道414-P。以此方式,控制器410可以响应于对到选择引脚428-1的信号的解除断言将应用的对应于通道414-1的执行操作转移到通道414-P。
控制器410可以引起耦接到多路复用器426的选择引脚428-1到428-Q的独立操作。在一些实施例中,控制器410可以通过对到选择引脚428-1的信号解除断言来禁用通道414-1并且对到选择引脚428-Q的不同信号进行断言,如上文所描述的。对到选择引脚428-Q的不同信号的断言独立于到选择引脚428-1的解除断言的信号,使得选择引脚428-Q避免响应于解除断言的信号改变其操作。例如,控制器410可以确定禁用一或多个通道414-1到414-P并且将数据访问转移到不同的所启用通道中。在一些实施例中,在将数据访问转移到不同的所启用通道时,应用的对应于所启用通道的媒体管理逻辑(例如,加密等)在转移操作时可以节省。以此方式,控制器410可以引起选择引脚428-1到428-Q的选择独立性操作,以启用和禁用通道414-1和414-P。换言之,选择引脚428-1到428-Q的断言和解除断言可能不影响所启用通道的操作。
图5是根据本公开的多个实施例的针对存储器装置的通道架构的流程图505。流程图505包含控制器510,所述控制器与结合图1、2、3和4所描述的控制器110、210、310和410类似。
在框540处,控制器510可以被配置成聚合带宽使用。带宽使用可以由控制器510根据前端带宽需求(例如,图2和3的前端带宽需求218和318)聚合并且是在执行应用期间通道(例如,图1、2、3和4的通道114、214、314和414)用来从存储器装置(例如,图1、2、3和4的存储器装置112、212、312和412)向应用(例如,图1、2和3的应用116、216和316)提供数据的带宽的聚合量。
控制器510可以周期性地或响应于指示和/或警报聚合带宽使用。在540处的带宽聚合可以用于确定若干个通道以选择性地启用(向应用提供增加的带宽)或选择性地禁用(节省电力和/或降低温度)。控制器510可以从机器学习组件(例如,图3的机器学习组件324)接收应用已经添加到计算系统(例如,耦接到主机)和/或应用已经被禁用(例如,移除、睡眠或不再被执行)的指示。这种指示可以提示控制器510聚合带宽使用以确定控制器510是否可以选择性地从计算系统中禁用通道。
在一些实施例中,控制器510可以接收与计算系统的温度有关的警报,所述警报可以提示控制器510在应用的执行中聚合带宽使用以确定若干个被禁用的通道的电力使用是否可以被降低。当应用被添加到计算系统和/或多个通道被禁用时,温度可能会增加。例如,在框542处,控制器可以确定活跃(例如,从存储器装置接收数据)的应用,并且在框544处,可以确定哪个应用是不活跃的。因为温度增加可能会降低计算系统(例如,耦接到计算系统的存储器装置)的效率,所以相比于不基于与执行应用相对应的聚合带宽使用选择性地禁用通道的方法,通过选择性地禁用一或多个通道以减少计算系统消耗的电力的量,可以实现计算系统的改进的性能。
在一些实施例中,不活跃应用(例如,不活跃应用544)可以变活跃(例如,活跃应用542),这可以增加电力使用和/或增加计算系统的温度。为了保持效率,控制器510可以确定是否可以降低功耗(例如,被禁用的通道所消耗的电力)。例如,控制器510可以接收与耦接到控制器510的存储器装置的对应于执行应用的温度增加相对应的警报。响应于所述警报,控制器510可以在框546处确定对应于执行应用的新聚合带宽使用。
控制器510可以使用新聚合带宽使用来确定是否可以通过选择性地禁用一或多个通道和/或整合对应用的执行来降低温度。如以上所描述的,控制器510作出的确定的一部分可以基于应用的优先级。例如,在框548处,控制器510可以确定其执行包括在框546处确定的新聚合带宽使用的应用的优先级。
在一些实施例中,应用可以具有高优先级,其中控制器510指导调度器(例如,图4的调度器425)将针对来自所述应用的数据的请求处理为高优先级。换句话说,执行一或多个应用的数据请求可以在被接收到时就满足,这与产生时延以使一些应用在其它应用之前执行相反。在此类实施例中,在框550处,控制器510可以避免禁用一或多个通道。以此方式,多个通道可以保持可用以将数据从存储器装置提供到应用。
在一些实施例中,应用中的一或多个应用可以具有低优先级,其中控制器510指导调度器(例如,图4的调度器425)使得所述应用基于应用的优先级被执行。例如,调度器可以创建队列,其中首先执行高优先级应用并且在高优先级应用之后执行较低优先级应用。换言之,可以基于优先级通过在对应用的执行之间产生时延来适应针对数据的用于执行应用的请求,使得一些应用基于应用的优先级在其它应用之前被执行。在此类实施例中,在框552处,控制器510可以禁用一或多个通道,如以上所描述的。以此方式,可以降低电力使用和/或温度。换言之,控制器510可以确定减少电力和/或降低温度或处理对具有相同优先级的所有应用的执行是否更重要。
图6是流程图,表示根据本公开的若干个实施例的存储器装置的通道架构的示例方法660。在框662处,方法660可以包含由控制器确定执行一或多个应用时使用的带宽的聚合量。控制器和应用可以与结合本文的图1所讨论的控制器110和应用116类似。
在框664处,方法660可以包含由控制器确定控制器与一或多个存储器装置之间用于作为应用的执行的一部分而访问数据的通道。通道可以与图1的通道114类似。由控制器确定的带宽的量可以是前端带宽需求(例如,图3的前端带宽需求318),所述前端带宽需求可以是由通道用来在应用的执行期间从存储器装置向应用提供数据的带宽的聚合量。
在框666处,方法660可以包含至少部分地基于在执行多个应用时使用的聚合带宽的量禁用通道中的一或多个通道。控制器可以选择性地禁用允许在存储器装置与应用之间进行数据访问的通道。被启用的通道可以具有向多于一个应用提供数据的能力,如此,控制器可以整合将数据从多个应用提供到一部分通道并且选择性地禁用通道的子组(例如,图3的子组322)。
在一些实施例中,方法660可以包含确定新应用已经由主机执行并且从通过后端通道耦接的存储器装置请求数据的控制器。在此类实施例中,方法660可以包含确定由应用(包含新连接的应用)所使用的带宽的新聚合量。控制器可以选择性地重新启用通道的先前已经被禁用以适应执行应用所需要的带宽的新聚合量的子组中的至少一个通道。方法660可以包含至少部分地基于带宽的新聚合量管理控制器与一或多个存储器装置之间的通道的控制器。
在一些实施例中,方法660可以包含由控制器接收指示耦接到控制器的存储器装置的对应于执行另外的应用的温度增加的信令和/或由控制器确定用于至少部分地基于所述信令执行多个应用的带宽的新聚合量。响应于所述警报,方法660可以进一步包含由控制器选择性地禁用通道的另一部分。
图7是另一个流程图,表示根据本公开的若干个实施例的存储器装置的通道架构的另一个示例方法770。在框772处,方法770可以包含由控制器确定将控制器耦接到存储器装置的通道被禁用。所述控制器可以与结合本文的图1所讨论的控制器110类似。被禁用的通道可以耦接到控制器和存储器装置,但是不可用于将数据从存储器装置传输到应用(例如,图1的应用116)。被禁用的通道可以利用小量电力,而被启用的通道可以汲取相当大量的电力。
在框774处,方法770可以包含由控制器标识使用通道访问由存储器装置存储的数据的应用。所述应用可以与结合本文的图1所讨论的应用116类似。所标识的通道可以是通道的被启用以向应用传输数据使得可以在耦接到控制器的主机(例如,图1的主机102)上执行应用的一部分。如以上所描述的,被启用的通道可以使用来自存储器系统(例如,图1的存储器系统104)的一定量的电力。
在框776处,方法770可以包含由控制器确定执行应用时使用的带宽的聚合量。带宽的聚合量可以包含由每个应用用来执行使用通过每个通道从存储器装置提供到其相应应用的数据的带宽的量。在一些实施例中,可能存在多于一个使用每个通道的应用。带宽的聚合量可以由控制器确定并且可以被称为前端带宽需求(例如,图3的前端带宽需求318)。带宽的聚合量可以周期性地和/或响应于警报(例如,温度警报等)、指示(例如,指示应用是活跃的和/或不活跃的、添加到与控制器的通信和/或从所述通信中移除等)确定。在一些实施例中,方法770可以包含由控制器确定在应用的执行中使用的带宽的聚合量的增加。聚合带宽的增加可以对应于展示增加的带宽需求的至少一个应用。然而,实施例不限于此,并且在一些实施例中,控制器还可以检测带宽的减少(例如,所使用的带宽的聚合量的减少)。
在一些实施例中,方法770可以包含确定在应用的执行中所使用的聚合带宽量的减少并且将每个应用与相应通道相关联。进一步地,控制器可以至少部分地基于应用的带宽需求禁用通道的一部分。换言之,控制器可以确定启用比适应应用的带宽需求(例如,前端带宽需求)所需的通道更多的通道。如此,控制器可以选择性地禁用被启用的通道的一部分(例如,一或多个)以节省电力,从而降低存储器装置的温度。控制器可以将先前通过新禁用的通道访问数据的应用转移到被启用的通道(例如,整合)。这种通道整合可以以独立方式完成,其中禁用所述多个通道中的一或多个通道可以包含(例如,禁用通道的一部分)避免改变保持启用的通道的操作。
在框778中,方法770可以包含由控制器将在应用的执行中所使用的带宽的聚合量与将控制器耦接到存储器装置的通道的量进行比较。在一些实施例中,控制器可以将访问数据的应用与被启用的通道的量进行比较以确定一些通道是否被禁用以节省资源。在一些实施例中,控制器可以将访问数据的应用与被启用的应用的量进行比较以确定是否存在足够的被启用的通道以高效地向应用提供数据。
在框780处,方法770可以包含由控制器至少部分地基于所述比较启用被禁用的通道。为了避免在应用的执行中不需要的时延,控制器可以启用先前已经被禁用的通道以增加对来自存储器装置的数据的访问。启用先前被禁用的通道提供到存储器装置的另外的连接以供应用访问由存储器装置存储的数据。
虽然已经在本文中说明和描述了具体实施例,但是本领域的普通技术人员应理解,旨在实现相同结果的布置可以替代所示出的具体实施例。本公开旨在覆盖本公开的一或多个实施例的改编形式或变化形式。应理解的是,上面的描述以说明性方式而非限制性方式进行。在阅读以上描述后,上述实施例的组合以及本文未具体描述的其它实施例对于本领域的技术人员而言将是显而易见的。本公开的一或多个实施例的范围包含以上结构和工艺被使用的其它应用。因此,本公开的一或多个实施例的范围应当参照所附权利要求连同与此类权利要求被赋予的等效物的全部范围确定。
在前述的具体实施方式中,一些特征出于简化本公开的目的而在单个实施例中聚集在一起。本公开的这种方法不应被解释为反映本公开的所公开实施例必须使用比每项权利要求中明确引用的特征更多的特征。相反,正如以下的权利要求书所反映的,创造性主题在于少于单个公开的实施例的全部特征。因此,下面的权利要求据此结合到具体实施方式中,其中每项权利要求作为单独的实施例而独立存在。
Claims (23)
1.一种设备(201,301),其包括:
接口(108);以及
控制器(110,210,310,410,510),所述控制器耦接到所述接口和多个通道(114,214,314,414),其中所述控制器被配置成:
确定由访问来自存储器装置(112,212,312,412)的数据的多个应用(116,216,316)所使用的带宽的聚合量,所述存储器装置通过所述多个通道(114,214,314,414)耦接到所述控制器(110,210,310,410,510);并且
至少部分地基于由所述多个应用(116,216,316)所使用的带宽的所述聚合量禁用所述多个通道(114,214,314,414)中的一或多个通道(116,216,316)。
2.根据权利要求1所述的设备,其中所述多个通道(114,214,314,414)包括所述控制器(110,210,310,410,510)的多个后端通道。
3.根据权利要求1所述的设备,其中所述控制器(110,210,310,410,510)被进一步配置成使所述多个应用(116,216,316)访问来自所述多个中的在禁用所述多个通道(116,216,316)中的所述一或多个通道之后保持启用的通道(114,214,314,414)的数据。
4.根据权利要求1所述的设备,其中所述控制器(110,210,310,410,510)被进一步配置成:
确定所述多个应用(116,216,316)的前端带宽需求(218,318);
响应于所述前端带宽需求(218,318)而从所禁用通道的部分选择通道的子组(322);并且
启用通道的所述子组(322)以满足所述前端带宽需求(218,318)。
5.根据权利要求4所述的设备,其中所述控制器(110,210,310,410,510)被进一步配置成:
确定所述多个应用(116,216,316)的一部分不活跃,其中所述多个应用(116,216,316)的所述部分对应于通道的所述子组(322);并且
响应于所述确定所述多个应用(116,216,316)的所述部分不活跃而禁用通道的所述子组(322)。
6.根据权利要求1所述的设备,其中所述控制器(110,210,310,410,510)被进一步配置成至少部分地基于由所述多个应用(116,216,316)所使用的带宽的所述聚合量确定由每个应用(116,216,316)所使用的带宽的量。
7.根据权利要求1到6中任一项所述的设备,其中响应于来自耦接到所述控制器(110,210,310,410,510)的机器学习组件(324)的指示,所述多个通道(114,214,314,414)中的所述一或多个通道被禁用。
8.根据权利要求7所述的设备,其中所述指示包括对应于所述多个应用中的从与所述接口(108)的通信中移除的应用(116,216,316)的信息。
9.根据权利要求7所述的设备,其中所述指示包括对应于由所述多个应用中的所述应用(116,216,316)所使用的带宽的量的减少的信息。
10.一种设备,其包括:
接口(108);以及
控制器(110,210,310,410,510),所述控制器耦接到所述接口和多个通道(114,214,314,414),其中所述控制器被配置成:
确定访问来自存储器装置(112,212,312,412)的数据的多个应用(116,216,316)的聚合带宽使用,所述存储器装置通过所述多个通道耦接到所述控制器;
标识所述多个通道(114,214,314,414)中的用于访问所述数据的一或多个通道;并且
至少部分地基于所述多个应用的所述聚合带宽使用来禁用所述多个通道中的所述一或多个通道的子组(322)。
11.根据权利要求10所述的设备,其中所述控制器(110,210,310,410,510)接收指示至少一个应用(116,216,316)已中止接收来自所述存储器装置(112,212,312,412)的数据的信号。
12.根据权利要求10到11中任一项所述的设备,其中所述控制器(110,210,310,410,510)包含机器学习组件(324),所述机器学习组件被配置成预计在所述多个应用(116,216,316)中的至少一个应用的执行中所消耗的带宽的量。
13.根据权利要求12所述的设备,其中所述机器学习组件(324)被进一步配置成至少部分地基于所述多个应用(116,216,316)中的所述至少一个应用的带宽的所述预计量来标识所述一或多个通道(114,214,314,414)的所述子组(322)。
14.根据权利要求12所述的设备,其中所述机器学习组件(324)被进一步配置成至少部分地基于所述多个应用(116,216,316)中的所述至少一个应用的带宽的所述预计量使所述一或多个通道的所述子组(322)被重新启用。
15.一种方法,其包括:
由控制器(110,210,310,410,510)确定在多个应用(116,216,316)的执行中所使用的带宽的聚合量;
由所述控制器确定所述控制器与一或多个存储器装置(112,212,312,412)之间的用于作为所述多个应用的执行的一部分而访问数据的通道(114,214,314,414);以及
至少部分地基于在所述多个应用(116,216,316)的执行中所使用的带宽的所述聚合量禁用所述通道(114,214,314,414)中的一或多个。
16.根据权利要求15所述的方法,其包括:
由所述控制器(110,210,310,410,510)确定执行了另外应用(116,216,316);
由所述控制器(110,210,310,410,510)确定由所述多个应用(116,216,316)所使用的带宽的新聚合量,其中带宽的所述新聚合量包含执行所述另外应用所需的带宽;以及
至少部分地基于带宽的所述新聚合量管理所述控制器(110,210,310,410,510)与所述一或多个存储器装置(112,212,312,412)之间的所述通道(114,214,314,414)。
17.根据权利要求16所述的方法,其包括由所述控制器(110,210,310,410,510)重新启用所述通道(114,214,314,414)中的至少一个,以适应带宽的所述新聚合量。
18.根据权利要求15到17中任一项所述的方法,其包括:
对应于所述另外应用(116,216,316)的所述执行,由所述控制器(110,210,310,410,510)接收指示耦接到所述控制器的存储器装置(112,212,312,412)的温度增加的信令;以及
至少部分地基于所述信令,由所述控制器(110,210,310,410,510)确定用于执行所述多个应用(116,216,316)的带宽的新聚合量。
19.一种系统,其包括:
主机(102);
存储器装置(404),所述存储器装置包括控制器(110,210,310,410,510)、多路复用器(426)和存储器装置(112,212,312,412),其中所述存储器装置(404)耦接到所述主机(102),并且其中所述控制器(110,210,310,410,510)被配置成:
确定在由所述主机(102)执行的相应应用(116,216,316)的执行中所消耗的带宽的量;并且
至少部分地基于在所述相应应用(116,216,316)的执行中所消耗的带宽的所述量,对到耦接到所述多路复用器(426)的多个选择引脚(428)的信号进行断言,以禁用在所述应用(116,216,316)的执行期间由所述应用(116,216,316)访问来自所述存储器装置(112,212,312,412)的数据所利用的一或多个通道(114,214,314,414)。
20.根据权利要求19所述的系统,其中所述控制器(110,210,310,410,510)被进一步配置成至少部分地基于在所述相应应用(116,216,316)的所述执行中所消耗的带宽的所述量对到所述多个选择引脚(428)中的第一选择引脚(428-1)的信号解除断言,其中所述第一选择引脚(428-1)对应于由第一应用(116,216,316)所利用的第一通道。
21.根据权利要求20所述的系统,其中所述控制器(110,210,310,410,510)被配置成将所述第一应用(116,216,316)的对应于所述第一通道的执行操作转移到第二通道,其中响应于对到所述第一选择引脚(428-1)的所述信号的解除断言,所述第一通道被禁用。
22.根据权利要求19到21中任一项所述的系统,其中所述控制器(110,210,310,410,510)被进一步配置成引起耦接到所述多路复用器(426)的所述选择引脚(428)的独立操作。
23.根据权利要求19到21中任一项所述的系统,其中所述控制器(110,210,310,410,510)被进一步配置成通过对到第一选择引脚(428-1)的所述信号解除断言而禁用第一通道,其中对到第二选择引脚的不同信号的断言避免响应于所述被解除断言的第一选择引脚(428-1)而改变所述第二选择引脚的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/442,902 | 2019-06-17 | ||
US16/442,902 US11409450B2 (en) | 2019-06-17 | 2019-06-17 | Channel architecture for memory devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112100096A true CN112100096A (zh) | 2020-12-18 |
Family
ID=73744624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010555368.XA Pending CN112100096A (zh) | 2019-06-17 | 2020-06-17 | 存储器装置的通道架构 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11409450B2 (zh) |
CN (1) | CN112100096A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118642654A (zh) * | 2020-04-08 | 2024-09-13 | 华为技术有限公司 | 一种数据管理装置及数据管理方法、数据存储设备 |
US11604744B2 (en) * | 2020-10-16 | 2023-03-14 | Alibaba Group Holding Limited | Dual-modal memory interface controller |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426597B1 (en) * | 2003-05-07 | 2008-09-16 | Nvidia Corporation | Apparatus, system, and method for bus link width optimization of a graphics system |
US20140149775A1 (en) * | 2011-07-12 | 2014-05-29 | Rambus Inc. | Dynamically changing data access bandwidth by selectively enabling and disabling data links |
CN109698004A (zh) * | 2017-10-24 | 2019-04-30 | 美光科技公司 | 用于可重新配置的存储器架构和电子存储器设备的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392312B2 (en) | 2008-09-24 | 2013-03-05 | Netapp, Inc. | Adaptive scheduling of storage operations based on utilization of a multiple client and server resources in a distributed network storage system |
US9559956B2 (en) * | 2011-02-01 | 2017-01-31 | Google Inc. | Sharing bandwidth among multiple users of network applications |
US9069616B2 (en) | 2011-09-23 | 2015-06-30 | Google Inc. | Bandwidth throttling of virtual disks |
US10097478B2 (en) | 2015-01-20 | 2018-10-09 | Microsoft Technology Licensing, Llc | Controlling fair bandwidth allocation efficiently |
US9864716B2 (en) | 2015-05-20 | 2018-01-09 | International Business Machines Corporation | Receiving buffer credits by a plurality of channels of one or more host computational devices for transmitting data to a control unit |
-
2019
- 2019-06-17 US US16/442,902 patent/US11409450B2/en active Active
-
2020
- 2020-06-17 CN CN202010555368.XA patent/CN112100096A/zh active Pending
-
2022
- 2022-07-21 US US17/869,941 patent/US12001696B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426597B1 (en) * | 2003-05-07 | 2008-09-16 | Nvidia Corporation | Apparatus, system, and method for bus link width optimization of a graphics system |
US20140149775A1 (en) * | 2011-07-12 | 2014-05-29 | Rambus Inc. | Dynamically changing data access bandwidth by selectively enabling and disabling data links |
US20160328008A1 (en) * | 2011-07-12 | 2016-11-10 | Rambus Inc. | Dynamically changing data access bandwidth by selectively enabling and disabling data links |
CN109698004A (zh) * | 2017-10-24 | 2019-04-30 | 美光科技公司 | 用于可重新配置的存储器架构和电子存储器设备的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200393984A1 (en) | 2020-12-17 |
US12001696B2 (en) | 2024-06-04 |
US11409450B2 (en) | 2022-08-09 |
US20220357862A1 (en) | 2022-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422722B2 (en) | Intelligent wide port PHY usage | |
US10146292B2 (en) | Power management | |
US9898341B2 (en) | Adjustable priority ratios for multiple task queues | |
US9990971B2 (en) | Devices, methods, and systems supporting on unit termination | |
JP6047196B2 (ja) | メモリを制御するためのシステム、装置、メモリコントローラ、および方法 | |
US20160203091A1 (en) | Memory controller and memory system including the same | |
US12001696B2 (en) | Channel architecture for memory devices | |
KR102645786B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
US9520170B2 (en) | Volume select for affecting a state of a non-selected memory volume | |
US20210286551A1 (en) | Data access ordering for writing-to or reading-from memory devices | |
US11734207B1 (en) | Dynamic port allocation in PCIe bifurcation system | |
US11966631B2 (en) | Command queue order adjustment in a data storage device | |
US20210279186A1 (en) | Method and apparatus to perform dynamically controlled interrupt coalescing for a solid state drive | |
US11450394B2 (en) | Controller and operating method thereof | |
US11604592B2 (en) | Data management for efficient low power mode handling in a storage device | |
CN114063899B (zh) | 主从管理存储器存储 | |
US20220011939A1 (en) | Technologies for memory mirroring across an interconnect | |
US20210149574A1 (en) | Data storage device, operating method thereof and storage system using the same | |
US20230214270A1 (en) | Readiness states for partitioned internal resources of a memory controller | |
US20200310977A1 (en) | Controller and operating method thereof | |
KR20210031367A (ko) | 컨트롤러 및 그것의 동작 방법 |
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 |