CN106662982A - 用于优化功率利用的存储模块和方法 - Google Patents

用于优化功率利用的存储模块和方法 Download PDF

Info

Publication number
CN106662982A
CN106662982A CN201580042036.9A CN201580042036A CN106662982A CN 106662982 A CN106662982 A CN 106662982A CN 201580042036 A CN201580042036 A CN 201580042036A CN 106662982 A CN106662982 A CN 106662982A
Authority
CN
China
Prior art keywords
memory
power
dice
memory module
storage control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580042036.9A
Other languages
English (en)
Other versions
CN106662982B (zh
Inventor
E.埃雷兹
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of CN106662982A publication Critical patent/CN106662982A/zh
Application granted granted Critical
Publication of CN106662982B publication Critical patent/CN106662982B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • 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/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

提供了用于优化功率利用的存储模块和方法。在一个实施例中,提供了一种存储模块,所述存储模块包括存储控制器以及与所述存储控制器通信的多个存储器管芯。所述存储控制器判定是否有充足的功率可用于在所述存储器管芯中的一个存储器管芯上执行操作。响应于确定没有充足的功率可用于在所述存储器管芯中的一个存储器管芯上执行所述操作,所述存储控制器判定在所述存储器管芯中的另一个存储器管芯上暂停进行中操作是否将提供充足的功率来执行所述操作。响应于确定暂停所述进行中操作将提供充足的功率来执行所述操作,所述存储控制器暂停所述进行中操作并执行所述操作。所述存储控制器可以替代地使用所述操作或进行中操作的降低功率版本,而非暂停所述进行中操作。

Description

用于优化功率利用的存储模块和方法
背景技术
一些存储模块(如固态驱动器(SSD))包含可以被并行地读取或写入的多个存储器管芯(例如,在多管芯封装体中)。这些存储模块通常具有限制在任何给定时间可执行的操作数量的最大功率阈值。当实际功耗接近最大功率阈值时,为了使功率不超过极限,存储模块中的控制器可以阻止新操作(例如,通过NAND接口传送和/或写操作)。理想地,存储模块中消耗的实际功率等于最大功耗极限。然而,因为不同的操作可能消耗不同量的功率,所以以这种方式节制操作时所消耗的实际功率通常小于最大功耗,造成了低效功率利用。
发明内容
本发明的实施例由权利要求书限定,并且不能将此部分的任何内容作为对那些权利要求的限制。
通过介绍的方式,以下实施例涉及用于优化功率利用的存储模块和方法。在一个实施例中,提供了一种存储模块,所述存储模块包括存储控制器以及与所述存储控制器通信的多个存储器管芯。所述存储控制器判定是否有充足的功率可用于在所述存储器管芯中的一个存储器管芯上执行操作。响应于确定没有充足的功率可用于在所述存储器管芯中的一个存储器管芯上执行所述操作,所述存储控制器判定在所述存储器管芯中的另一个存储器管芯上暂停进行中操作是否将提供充足的功率来执行所述操作。响应于确定暂停所述进行中操作将提供充足的功率来执行所述操作,所述存储控制器暂停所述进行中操作并执行所述操作。所述存储控制器可以替代地使用所述操作或进行中操作的降低功率版本,而非暂停所述进行中操作。
其他实施例是可能的,并且实施例中的每个实施例可以单独或一起组合使用。因此,现在将参照附图对各实施例进行描述。
附图说明
图1是实施例的示例性存储模块的框图。
图2A是实施例的主机的框图,其中,图1的示例性存储模块被嵌入在主机中。
图2B是图1的示例性存储模块可拆卸地连接至主机的框图,其中,存储模块和主机是可分离可拆卸的设备。
图3是图表,示出了当使用节制操作时的平均浪费功率。
图4是图表,示出了当使用实施例的用于优化功率利用的方法时的平均浪费功率。
图5是实施例的用于优化功率利用的方法的流程图。
图6是实施例的使用新操作的降低功率版本的方法的流程图。
图7是实施例的使用现有操作的降低功率版本的方法的流程图。
具体实施方式
如在以上背景技术部分所述,为了避免超过存储模块的最大功率阈值而阻止新操作(例如,通过NAND接口传送和/或写入操作)通常是低效的,因为这种节制通常导致消耗的功率远远小于准许的功率。以下实施例可以用于提供一种功率管理的更高效方法。在转到这些及其他实施例之前,以下段落提供对可以与这些实施例一起使用的示例性存储模块的讨论。当然,这些仅仅是示例,并且可以使用其他合适类型的存储模块。
如图1中所展示的,一个实施例的存储模块100包括存储控制器110和包含多个存储器管芯(管芯0至管芯N)的非易失性存储器封装体120。尽管图1中仅示出了一个非易失性存储器封装体120和一个存储器接口111,但应理解的是,存储模块100可以具有多于一个非易失性存储器封装体和/或存储器接口111。存储控制器110包括用于与非易失性存储器封装体120接口连接的存储器接口(例如,NAND接口)111以及用于使存储模块100与主机控制器操作性地通信的主机接口112。如在本文中所使用的,短语“操作性地通信”可以指通过一个或多个部件直接通信或间接(有线或无线)通信,这可以或可以不在本文中示出或描述。
如图2A所示,可以将存储模块100嵌入在具有主机控制器220的主机210中。也就是说,主机210包括主机控制器220和存储模块100,从而使得主机控制器220与嵌入的存储模块100接口连接以便管理其操作。例如,储存模块100可以采用SanDisk公司的iNANDTMeSD/eMMC嵌入式闪存驱动器的形式,或更普遍地,任何类型的固态驱动器(SSD)、混合存储设备(具有硬盘驱动器和固态驱动器两者)和存储器缓存系统。主机控制器220可以使用例如eMMC主机接口或UFS接口与嵌入的存储模块100接口连接。主机210可以采用任何形式,如但不限于:移动电话、平板计算机、数字媒体播放器、游戏设备、个人数字助理(PDA)、移动(例如,笔记本电脑、膝上型计算机)个人计算机(PC)或阅读器。如图2A所示,主机210可以包括可选的其他功能模块230。例如,如果主机210是移动电话,则其他功能模块230可以包括用于拨打和接听电话的硬件和/或软件部件。作为另一个示例,如果主机210具有网络连接能力,则其他功能模块230可以包括网络接口。当然,这些仅仅是一些示例,并且可以使用其他实施方式。而且,主机210可以包括其他部件(例如,音频输出、输入输出端口等),为了简化附图,这些部件在图2A中未被示出。应注意的是,尽管主机控制器220可以控制存储模块100,但是存储模块100可以具有其自己的控制器以便控制其内部存储器操作。而且,通常主机控制器可以是能够与存储模块接口连接的任何控制器,可以是单片形式的控制器、整体控制器或独立功能模块。
如图2B所示,存储模块100可以具有允许存储模块100经由配合连接器可拆卸地连接至主机240(具有主机控制器245)的物理的和电连接器,而非作为主机中的嵌入式设备。这样,存储模块100是来自主机240的独立设备(并且未嵌入在主机中)。例如,在此示例中,存储模块100可以是手持可拆卸存储器设备(如安全数字(SD)存储器卡、微型SD存储器卡、紧凑型闪存(CF)存储器卡、通用串行总线(USB)设备(具有连接至主机的USB接口)或固态驱动器(SSD)),并且主机240是独立设备,如移动电话、平板计算机、数字媒体播放器、游戏设备、个人数字助理(PDA)、移动(例如笔记本电脑、膝上型计算机)个人计算机(PC)或阅读器。
在图2A和2B中,存储模块100经由图1所示的主机接口112与主机控制器220或主机240通信。主机接口112可以采用任何合适的形式,如但不限于eMMC主机接口、UFS接口和USB接口。存储模块110中的主机接口110将存储器管理命令从主机控制器220(图2A)或主机240(图2B)传递到存储控制器110,并且还将存储器响应从存储控制器110传递到主机控制器220(图2A)或主机240(图2B)。而且,应注意的是,当存储模块110嵌入在主机210中时,本文中所描述的由存储模块100中的存储控制器110执行的功能中的一些或全部功能可以替代地由主机控制器220执行。
返回至图1,当被使用时,存储控制器110包括中央处理单元(CPU)113、可操作用于提供加密和/或解密操作的可选硬件加密引擎114、读访问存储器(RAM)215、可以存储用于存储模块100的基本操作的固件的只读存储器(ROM)116以及可以存储用于加密/解密操作的设备特定秘钥的非易失性存储器(NVM)117。可以采用任何合适的方式来实施存储控制器110。例如,存储控制器110可以采用微处理器或处理器,以及存储例如由(微)处理器执行的计算机可读程序代码(例如,软件或固件)、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器以及嵌入式微控制器的计算机可读介质的形式。合适的控制器可以从SanDisk或其他供应商处获得。存储控制器110可以被配置有硬件和/或软件以便执行下文描述的以及流程图所示的各种功能。而且,示出为在存储控制器110内部的部件中的一些部件也可以存储在存储控制器110的外部,并且可以使用其他部件。例如,RAM 115(或附加RAM单元)可位于控制器管芯的外部并且被用作页面缓冲器以便从存储器封装体120中读取数据和/或将数据写入存储器封装体120。
非易失性存储器封装体120中的存储器管芯也可以采用任何合适的形式。例如,在一个实施例中,存储器管芯中的一个或多个存储器管芯采用固态(例如,闪存)存储器的形式,并且可以是一次可编程的、几次可编程的或多次可编程的。存储器管芯也可以使用单层单元(SLC)、多层单元(MLC)、三层单元(TLC)或现在已知的或后来开发的其他存储器技术。而且,存储器管芯可以是二维存储器或三维存储器。
如上所述,存储模块100需要确保消耗的实际功率小于最大功耗阈值。为此,存储模块的控制器110可以基于将在存储模块100的(多个)存储器管芯中执行的操作(例如,通过存储器接口111的数据传送、写入操作、读出操作或擦除操作)来预计总功耗。如果预计的消耗大于阈值,则可以阻止操作,使其不被执行。然而,不同的操作可能会以不均衡的方式消耗不同的功率量。例如,当在NAND接口(用于读取或写入操作)上传送数据时,这种传送在相对短的持续时间可以消耗300毫瓦(或3个功率单位)。尽管读取通常是低功率的并且在此示例中被假设为消耗0个功率单位,但是写入操作在很长的持续时间内可以消耗100毫瓦(或1个功率单位)。如图3的图表中所展示的,当存储模块(如SSD)以接近功率极限的高并行性运行时,这种功率不平衡可能导致低效功耗。
图3示出了将数据写入四管芯存储模块的功耗的示例,其中,在任何给定时间段,阈值功率极限为5个单位。在此写过程开始时,将三页数据发送至存储模块100以存储在NAND管芯0、1和2中。如图3所示,在时间1处,以3个功率单位上传送第一页数据。由于在这个时间没有发生其他操作,所以浪费了2个功率单位(即,功率极限为5个单位,但只使用了3个单位)。在时间2处,在时间1处接收的第一页数据开始被写入NAND管芯0中。写入这页数据将花费6个时间段,每时间段1个功率单位。所以,在时间2至7中写入这页数据将需要1个功率单位。类似地,在时间2处接收的这页数据将在时间3至8被写入NAND管芯1中,每时间段1个功率单位。并且,在时间3处接收的这页数据将在时间4至9被写入NAND管芯2中,每时间段1个功率单位。如图表所示,从时间1至时间7,数据传送和/或写入操作在任何给定时间段花费3至5个功率单位,使得在任何给定时间段剩余0至2个功率单位。由于接收另一页数据需要3个功率单位,所以0至2个功率单位不是足够的功率来通过存储器接口111接收附加页数据。因此,存储模块100需要等待直到时间8,此时将有足够的功率用于经由存储器接口111接收来自控制器110的新一页数据。也就是说,即使在时间2至7有剩余功率,但所述剩余功率不足以给接口供电以便或者接受待写入的新数据或者发送从存储器中读取的数据。这个问题传播遍及其他时间段。
所以,在此示例中,如果存储模块100从所述极限阈值中运行3个或更多个功率单位且NAND传送操作未决,则允许所述NAND传送操作。然而,如果小于3个功率单位可用,则阻止所述NAND传送操作直到一些进行中操作(例如,程序)结束,并且通过这种方式,释放1个功率单位以允许NAND传送操作开始。在此示例中,这样的节制操作造成以平均低于阈值极限1.2个功率单位运行存储模块100,由此浪费1.2个功率单位。
为了提供避免超过最大功率阈值的更高效方式,以下实施例可以用于优化功率利用。在一个实施例中,存储模块使用手动暂停/恢复特征来控制功耗,而非阻止新操作。此实施例利用这样的事实:当暂停程序操作时,存储器管芯(例如NAND)消耗无关紧要的功率;并且当恢复程序操作时,存储器管芯从其暂停的点恢复操作。根据此实施例,当请求一个新操作(例如,通过存储器接口111的数据传送)时,假如满足功率极限,则存储模块100可以暂停一个或多个正在进行的(例如,程序)操作直到有足够的功率来发出新操作。在新操作完成之后,可以恢复暂停的(多个)操作。
图4示出了类似图3中的图表,以便展示此实施例提供的功率节省。在图3所示的功率节制情形中,时间4剩下了2个功率单位——不足以为3个功率单位的接口传送供电。在此实施例中,暂停时间4中的NAND管芯0的写入操作(图4中标记了此操作及其他暂停操作),并且替代地使用将被花费在写入操作上的1个功率单位连同剩下的2个功率单位一起用于为3个功率单位的接口传送供电。在接口传送完成后,在时间5恢复写入操作。尽管这延长了需要完成对NAND管芯0的写入操作的时间(从图3所示的6个时间段至图4所示的7个时间段),但此实施例总体上给存储模块100提供更高效的功耗(在此示例中,平均浪费了0.6个功率单位,在图3的未优化情形上提升了1个功率单位)。由此,通过使用此实施例,存储模块100通过最大程度地利用功率可以达到更高的性能。
这种暂停/恢复技术可以采用任何合适的方式来实施,并且图5为一个合适技术的流程图500,所述合适技术可以在存储模块的控制器110的软件和/或硬件中被实施。如图5的流程图500所示,存储控制器110判定是否接收到新操作请求(动作505)。如果是,则控制器110将新操作请求添加到操作队列中(动作510)。然后,控制器110判定操作请求是否被插入到队列中或者是否有任何现有操作完成(动作520)。如果是,则控制器110选择尚未评估的最高优先级操作(动作530)并且判定是否有充足的功率来执行所述操作(动作540)。如果有充足的功率,则控制器110执行所述操作(或恢复暂停的操作)(动作550)。如果没有充足的功率,则控制器110判定所述操作是否具有比现有操作更高的优先级(动作560)。如果是,则控制器110判定:如果暂停现有更低优先级操作,是否可以执行所述操作(动作570)。如果是,则控制器110确定并暂停最低优先级操作(动作580)并且将暂停的操作插入到操作队列中(动作590)。
存在可以与这些实施例一起使用的若干种替代方案。例如,存储模块的控制器110可以替代地使用新操作的降低功率版本,而非暂停/恢复操作。例如,如果新操作是通常以触发模式200MHz运行的NAND接口传送并且消耗3个功率单位,则可能存在以触发模式100MHz运行并且仅消耗2个功率单位的降低功率NAND接口传送。如果只有2个功率单位可用,则可以使用此降低功率NAND接口触发,同时阻止“正常”3个功率单位替代。图6是此替代实施例的一个示例性实施方式的流程图600。
如图6的流程图600所示,控制器110判定是否接收到新操作请求(动作605)。如果是,则控制器110将新操作请求添加到操作队列中(动作610)。然后,控制器110判定操作请求是否被插入到队列中或者是否有任何现有操作完成(动作620)。如果是,则控制器110选择尚未评估的最高优先级操作(动作630)并且判定是否有充足的功率来执行所述操作(动作640)。如果有充足的功率,则控制器110执行所述操作(动作650)。如果没有足够的功率,则控制器110判定所述操作是否具有降低功率模式(动作660)。如果有,则控制器110判定:如果切换至降低功率版本,是否可以执行所述操作(动作670)。如果可以,则控制器110降低操作功率模式(动作680)并执行所述操作(动作650)。
在另一替代实施例中,存储模块的控制器110可以使用进行中操作的降低功率版本,而非使用新操作的降低功率版本。例如,如果进行中操作是NAND程序操作,则每个进行中操作消耗1个功率单位,可能存在仅消耗0.8个功率单位的降低功率NAND程序操作(例如,较慢的编程)。通过将10个NAND切换至此降低功率替代方案,收回2个功率单位,并且可以执行新NAND接口操作。然后,降低功率的NAND程序管芯可以切换回消耗1个功率单位的正常程序模式。图7是此替代实施例的一个示例性实施方式的流程图700。
如图7的流程图700所示,控制器110判定是否接收到新操作请求(动作705)。如果是,则控制器110将新操作请求添加到操作队列中(动作710)。然后,控制器110判定操作请求是否被插入到队列中或者是否有任何现有操作完成(动作720)。如果是,则控制器110选择尚未评估的最高优先级操作(动作730)并且判定是否有充足的功率来执行所述操作(动作740)。如果有充足的功率,则控制器110执行所述操作(或切换回全功率操作模式)(动作750)。如果没有充足的功率,则控制器110判定所述操作是否具有比现有操作更高的优先级(动作760)。如果是,则控制器110判定如果将现有更低优先级操作切换至降低功率模式,是否可以执行所述操作(动作770)。如果可以,控制器110判定应将哪个操作降低至降低功率模式(动作780)。然后,控制器110将降低的操作插入到队列中以便切换回全功率(动作790)。
最后,如上所述,可以使用任何合适类型的存储器。半导体存储器设备包括易失性存储器设备(如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”))、非易失性存储器设备(如电阻式随机存取存储器(“ReRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存(其还可以被考虑为EEPROM的子集)、铁电随机存取存储器(“FRAM”)、和磁阻随机存取存储器(“MRAM”))、以及能够存储信息的其他半导体元件。每种类型的存储器设备可以具有不同的配置。例如,闪存设备可以被配置成NAND或NOR配置。
存储器设备可由无源和/或有源元件以任何组合来形成。通过非限制性示例的方式,无源半导体存储器元件包括ReRAM设备元件,在一些实施例中,所述元件包括如反熔丝相变材料等电阻率切换存储元件以及(可选地)如二极管等操控元件。进一步通过非限制性示例的方式,有源半导体存储器元件包括EEPROM和闪存设备元件,在一些实施例中,所述元件包括如浮栅、导电纳米颗粒、或电荷存储介电材料等包含了电荷存储区域的元件。
多个存储器元件可以被配置为使得它们串联或使得每个元件是可单独访问的。通过非限制性示例的方式,NAND配置(NAND存储器)中的闪存设备通常包含串联的存储器元件。NAND存储器阵列可以被配置为使得阵列包括多个存储器串,其中,串包括共享单个位线并作为群组被访问的多个存储器元件。可替代地,存储器元件可以被配置为使得每一个元件是可单独访问的(例如,NOR存储器阵列)。NAND和NOR存储器配置是示例性的,并且存储器元件可以以其他方式配置。
位于基板内和/或上方的半导体存储器元件可以被安排在两个或三个维度(如二维存储器结构或三维存储器结构)中。
在二维存储器结构中,半导体存储器元件被安排在单个平面或单个存储器设备级中。通常,在二维存储器结构中,存储器元件被安排在基本上平行于支撑存储器元件的基板的主要表面而延伸的平面中(例如,在x-z方向平面中)。基板可以是在其上方或在其中形成存储器元件层的晶片,或者其可以是在形成存储器元件之后附接至其上的载体基板。作为非限制性示例,基板可以包括如硅等半导体。
可以在单个存储器设备级中将存储器元件安排成有序阵列,如在多个行和/或列中。然而,可以在非规则或非正交配置中排列存储器元件。存储器元件中的每个存储器元件可以具有两个或更多个电极或接触线,如位线和字线。
三维存储器阵列被安排成使得存储器元件占据多个平面或多个存储器设备级,由此在三个维度(即,在x方向、y方向和z方向上,其中,y方向基本上垂直于并且x和z方向基本上平行于基板的主表面)中形成结构。
作为非限制性示例,三维存储器结构可以被垂直地安排成多个二维存储器设备级的堆叠。作为另一个非限制性示例,三维存储器阵列可以被安排成多个垂直列(例如,基本上垂直于基板的主表面延伸的列,即,在y方向上),每列在每列中具有多个存储器元件。可以在二维配置中(例如,在x-z平面中)安排所述列,导致存储器元件的三维安排,元件位于多个垂直堆叠的存储器平面上。存储器元件在三个维度中的其他配置也可以构成三维存储器阵列。
通过非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可以被耦合在一起,以便在单个水平(例如,x-z)存储器设备级内形成NAND串。可替代地,存储器元件可以被耦合在一起,以便形成横跨多个水平存储器设备级的垂直NAND串。可以设想其他三维配置,其中,一些NAND串包含单个存储器级中的存储器元件,而其他串包含跨越多个存储器级的存储器元件。还可以在NOR配置中和在ReRAM配置中设计三维存储器阵列。
通常,在单片式三维存储器阵列中,在单个基板上方形成一个或多个存储器设备级。可选地,单片式三维存储器阵列还可以具有至少部分地位于单个基板内的一个或多个存储器层。作为非限制性示例,基板可以包括如硅等半导体。在单片式三维阵列中,构成阵列的每个存储器设备级的层通常在阵列的基础存储器设备级的层上形成。然而,单片式三维存储器阵列的邻近存储器设备级的层可以被共享或在存储器设备级之间存在中间层。
然后,再次,二维阵列可以被单独地形成并且然后被封装在一起,以便形成具有多个存储器层的非单片式存储器设备。例如,非单片式堆叠存储器可以通过在单独地基板上形成存储器级然后将存储器级堆叠在彼此顶上来构造。可以减薄基板或者可以在堆叠之前将其从存储器设备级中移除,但是因为存储器设备级最初地在单独的基板上方形成,所以所产生的存储器阵列不是单片式三位存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片式或非单片式)可以在单独的芯片上形成然后被封装在一起,以便形成堆叠芯片存储器设备。
存储器元件的操作以及与存储器元件的通信通常需要相关联的电路。作为非限制性示例,存储器设备可以具有用于控制和驱动存储器元件完成如编程和读取等功能的电路。此相关联的电路可以位于与存储器元件相同的基板上和/或位于单独的基板上。例如,用于存储器读-写操作的控制器可以位于单独的控制器芯片上和/或位于与存储器元件相同的基板上。
本领域的技术人员将意识到,本发明不限于所描述的二维和三维示例性结构,但涵盖了如此处描述的本发明的精神和范围内的和如本领域的技术人员理解的所有相关存储器结构。
上述详细说明旨在被理解为本发明可以采用的而不是被理解为本发明的定义的选择形式的展示。仅以下权利要求、包括所有等效物意在限定所要求保护的发明的范围。最后,应注意的是,可彼此单独地或组合地使用在此描述的任何优选实施例的任何方面。

Claims (25)

1.一种存储模块,包括:
多个存储器管芯;以及
与所述多个存储器管芯通信的存储控制器,其中,所述存储控制器被配置成用于:
判定是否有充足的功率可用于在所述存储器管芯中的一个存储器管芯上执行操作;
响应于确定没有充足的功率可用于在所述存储器管芯中的一个存储器管芯上执行所述操作,判定暂停在所述存储器管芯中的另一个存储器管芯上的进行中操作是否将提供充足的功率来执行所述操作;并且
响应于确定暂停所述进行中操作将提供充足的功率来执行所述操作,暂停所述进行中操作并执行所述操作。
2.如权利要求1所述的存储模块,其中,所述存储控制器被进一步配置成用于在已经执行所述操作之后恢复所述暂停的进行中操作。
3.如权利要求1所述的存储模块,其中,所述存储控制器被进一步配置成用于判定所述操作是否具有比所述进行中操作更高的优先级,并且其中,仅当所述操作具有比所述进行中操作更高的优先级时,才暂停所述进行中操作。
4.如权利要求1所述的存储模块,其中,存在多个进行中操作,并且其中,所述存储控制器被进一步配置成用于基于所述多个进行中操作中的哪个进行中操作为较低优先级来判定暂停所述多个进行中操作中的哪个进行中操作。
5.如权利要求1所述的存储模块,其中,存在多个待执行操作,并且其中,所述存储控制器被进一步配置成用于基于所述多个操作中的哪个操作为最高优先级来确定要执行的所述操作。
6.如权利要求1所述的存储模块,其中,所述操作或所述进行中操作是以下各项之一:通过所述存储控制器与所述存储器管芯中的一个存储器管芯之间的接口来传送数据;写入操作;读取操作;以及擦除操作。
7.如权利要求1所述的存储模块,其中,所述存储器管芯中的至少一个存储器管芯是三维存储器。
8.如权利要求1所述的存储模块,其中,所述存储模块被嵌入在主机中。
9.如权利要求1所述的存储模块,其中,所述存储模块可拆卸地连接至主机。
10.如权利要求1所述的存储模块,其中,所述存储模块是固态驱动器。
11.一种存储模块,包括:
多个存储器管芯;以及
与所述多个存储器管芯通信的存储控制器,其中,所述存储控制器被配置成用于:
判定是否有充足的功率可用于在所述存储器管芯中的一个存储器管芯上执行操作;
响应于确定没有充足的功率可用于在所述存储器管芯中的一个存储器管芯上执行所述操作,判定是否有充足的功率可用于执行所述操作的降低功率版本;
响应于确定有充足的功率可用于执行所述操作的所述降低功率版本,执行所述操作的所述降低功率版本。
12.如权利要求11所述的存储模块,其中,所述操作是以下各项之一:通过所述存储控制器与所述存储器管芯中的一个存储器管芯之间的接口来传送数据;写入操作;读取操作;以及擦除操作。
13.如权利要求11所述的存储模块,其中,所述存储器管芯中的至少一个存储器管芯是三维存储器。
14.如权利要求11所述的存储模块,其中,所述存储模块被嵌入在主机中。
15.如权利要求11所述的存储模块,其中,所述存储模块可拆卸地连接至主机。
16.如权利要求11所述的存储模块,其中,所述存储模块是固态驱动器。
17.一种存储模块,包括:
多个存储器管芯;以及
与所述多个存储器管芯通信的存储控制器,其中,所述存储控制器被配置成用于:
判定是否有充足的功率可用于在所述存储器管芯中的一个存储器管芯上执行操作;
响应于确定没有充足的功率可用于在所述存储器管芯中的一个存储器管芯上执行所述操作,判定执行所述进行中操作的降低功率版本是否将提供充足的功率来执行所述操作;并且
响应于确定执行所述进行中操作的所述降低功率版本将提供充足的功率来执行所述操作,执行所述进行中操作的所述降低功率版本。
18.如权利要求17所述的存储模块,其中,所述存储控制器被进一步配置成用于判定所述操作是否具有比所述进行中操作更高的优先级,并且其中,仅当所述操作具有比所述进行中操作更高的优先级时,才执行所述进行中操作的所述降低功率版本。
19.如权利要求17所述的存储模块,其中,存在多个进行中操作,并且其中,所述存储控制器被进一步配置成用于判定将所述多个进行中操作中的哪个进行中操作执行为降低功率版本。
20.如权利要求17所述的存储模块,其中,存在多个待执行操作,并且其中,所述存储控制器被进一步配置成用于基于所述多个操作中的哪个操作为最高优先级来确定要执行的所述操作。
21.如权利要求17所述的存储模块,其中,所述操作或所述进行中操作是以下各项之一:通过所述存储控制器与所述存储器管芯中的一个存储器管芯之间的接口来传送数据;写入操作;读取操作;以及擦除操作。
22.如权利要求17所述的存储模块,其中,所述存储器管芯中的至少一个存储器管芯是三维存储器。
23.如权利要求17所述的存储模块,其中,所述存储模块被嵌入在主机中。
24.如权利要求17所述的存储模块,其中,所述存储模块可拆卸地连接至主机。
25.如权利要求17所述的存储模块,其中,所述存储模块是固态驱动器。
CN201580042036.9A 2014-08-05 2015-07-13 用于优化功率利用的存储模块和方法 Active CN106662982B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/452,156 2014-08-05
US14/452,156 US9658789B2 (en) 2014-08-05 2014-08-05 Storage module and method for optimized power utilization
PCT/US2015/040165 WO2016022254A1 (en) 2014-08-05 2015-07-13 Storage module and method for optimized power utilization

Publications (2)

Publication Number Publication Date
CN106662982A true CN106662982A (zh) 2017-05-10
CN106662982B CN106662982B (zh) 2020-04-24

Family

ID=53794477

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580042036.9A Active CN106662982B (zh) 2014-08-05 2015-07-13 用于优化功率利用的存储模块和方法

Country Status (5)

Country Link
US (1) US9658789B2 (zh)
KR (1) KR20170045200A (zh)
CN (1) CN106662982B (zh)
DE (1) DE112015003638T5 (zh)
WO (1) WO2016022254A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381777A (zh) * 2018-12-31 2020-07-07 美光科技公司 用于受管理存储器的仲裁技术
US11914897B2 (en) 2018-12-31 2024-02-27 Micron Technology, Inc. Arbitration techniques for managed memory

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366766B2 (en) 2017-12-12 2019-07-30 Western Digital Technologies, Inc. Power shaping and peak power reduction by data transfer throttling
US11307778B2 (en) * 2018-03-09 2022-04-19 Kioxia Corporation Power management for solid state drives in a network
US10936046B2 (en) * 2018-06-11 2021-03-02 Silicon Motion, Inc. Method for performing power saving control in a memory device, associated memory device and memory controller thereof, and associated electronic device
US10739839B2 (en) 2018-09-24 2020-08-11 Western Digital Technologies, Inc. Efficient power management stand-by modes for multiple dies in a storage device
US11081191B2 (en) 2019-06-18 2021-08-03 Western Digital Technologies, Inc. Dynamic switching for improved power utilization
EP4200852A4 (en) * 2021-06-01 2024-01-03 Yangtze Memory Tech Co Ltd POWER MANAGEMENT FOR A MEMORY SYSTEM
WO2022252120A1 (en) 2021-06-01 2022-12-08 Yangtze Memory Technologies Co., Ltd. Power management for memory system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331207A1 (en) * 2011-06-24 2012-12-27 Lassa Paul A Controller, Storage Device, and Method for Power Throttling Memory Operations
US20130039141A1 (en) * 2009-09-09 2013-02-14 Fusion-Io Apparatus, system, and method for power reduction management in a storage device
US20130297856A1 (en) * 2012-05-02 2013-11-07 Hitachi, Ltd. Storage system and control method therefor
US20140095736A1 (en) * 2004-08-09 2014-04-03 Samsung Electronics Co., Ltd. Ic card and ic card system having suspend/resume functions

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8522055B2 (en) * 2010-07-26 2013-08-27 Apple Inc. Peak power validation methods and systems for non-volatile memory
JP2012058860A (ja) * 2010-09-06 2012-03-22 Toshiba Corp メモリシステム
US9443600B2 (en) * 2013-03-28 2016-09-13 Intel Corporation Auto-suspend and auto-resume operations for a multi-die NAND memory device to reduce peak power consumption
US9244519B1 (en) * 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140095736A1 (en) * 2004-08-09 2014-04-03 Samsung Electronics Co., Ltd. Ic card and ic card system having suspend/resume functions
US20130039141A1 (en) * 2009-09-09 2013-02-14 Fusion-Io Apparatus, system, and method for power reduction management in a storage device
US20120331207A1 (en) * 2011-06-24 2012-12-27 Lassa Paul A Controller, Storage Device, and Method for Power Throttling Memory Operations
US20130297856A1 (en) * 2012-05-02 2013-11-07 Hitachi, Ltd. Storage system and control method therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381777A (zh) * 2018-12-31 2020-07-07 美光科技公司 用于受管理存储器的仲裁技术
US11914897B2 (en) 2018-12-31 2024-02-27 Micron Technology, Inc. Arbitration techniques for managed memory

Also Published As

Publication number Publication date
WO2016022254A1 (en) 2016-02-11
US20160041786A1 (en) 2016-02-11
KR20170045200A (ko) 2017-04-26
CN106662982B (zh) 2020-04-24
US9658789B2 (en) 2017-05-23
DE112015003638T5 (de) 2017-04-27

Similar Documents

Publication Publication Date Title
CN106662982A (zh) 用于优化功率利用的存储模块和方法
KR101870062B1 (ko) 적응적 버스트 모드를 위한 저장 모듈 및 방법
CN107924224A (zh) 用于自适应自动休眠和后台操作的存储器系统及方法
KR101861170B1 (ko) 마이그레이션 관리자를 포함하는 메모리 시스템
US10133483B2 (en) Memory system and method for differential thermal throttling
CN107111574B (zh) 存储器总线管理
US10846017B2 (en) Secure digital (SD) to NVMe buffer manager
CN107229582A (zh) 存储器控制器和包括存储器控制器的存储装置
CN102782607A (zh) 用于限制电流尖峰的控制和交错操作
CN105988738B (zh) 服务混合负荷中有效使用数据锁存器的存储器裸芯和方法
CN107870742B (zh) 向存储装置提供旁路的电子装置、存储装置和计算系统
US20150301754A1 (en) Storage Module and Method for Configuring the Storage Module with Memory Operation Parameters
CN103456357A (zh) 具有非易失性存储器件的存储设备以及写方法
CN107111456A (zh) 用于生成与主机命令相关联的提示信息的系统和方法
CN109859783A (zh) 3d存储器阵列中的字线桥
US9658790B2 (en) Memory system and method for power-based operation scheduling
CN108874303A (zh) 非易失性存储器命令冲突避免的储存系统和方法
US10725901B2 (en) Storage system and method for soft-decision-based command execution to enhance random write performance
CN110196684A (zh) 数据存储装置、其操作方法以及具有其的存储系统
US20230214147A1 (en) Storage System and Method for Avoiding Clustering of Reads During a Program Suspend
US11494125B2 (en) Storage system and method for dual fast release and slow release responses
US11379117B2 (en) Storage system and method for using host-assisted variable zone speed grade modes to minimize overprovisioning
US11487449B2 (en) Data storage device and method for enabling higher lane utilization in run time via device hints on workload patterns
US11599298B1 (en) Storage system and method for prediction-based pre-erase of blocks to improve sequential performance
US11972149B2 (en) Storage system and method for optimizing host-activated defragmentation and proactive garbage collection processes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant