CN111381777A - 用于受管理存储器的仲裁技术 - Google Patents

用于受管理存储器的仲裁技术 Download PDF

Info

Publication number
CN111381777A
CN111381777A CN201911402205.1A CN201911402205A CN111381777A CN 111381777 A CN111381777 A CN 111381777A CN 201911402205 A CN201911402205 A CN 201911402205A CN 111381777 A CN111381777 A CN 111381777A
Authority
CN
China
Prior art keywords
memory
power
power consumption
memory system
access operation
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.)
Withdrawn
Application number
CN201911402205.1A
Other languages
English (en)
Inventor
D·A·帕尔默
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN111381777A publication Critical patent/CN111381777A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)

Abstract

本申请涉及管理存储器的仲裁技术。用于仲裁受管理NAND存储器系统中的存储器装置的操作以使所述操作符合功率预算的装置和技术。在实例中,一种方法可包含:在NAND存储器系统的功率管理电路系统处接收NAND存储器操作的操作改变指示,以及对功率信用和与所述操作改变指示相关联的第一寄存器的值进行求和以提供所述NAND存储器系统的瞬时功耗指示作为所述第一寄存器的所述值。

Description

用于受管理存储器的仲裁技术
优先权
本申请要求2018年12月31日提交且标题为“受管理存储器的仲裁技术”的第62/786,944号美国临时专利申请和2019年3月5日提交且标题为“受管理存储器的仲裁技术”的第16/293,295号美国专利申请的优先权,所述申请以全文引用的方式并入本文中。
技术领域
本公开论述存储器,且更具体地说,论述用于仲裁受管理存储器的技术。
背景技术
存储器装置可以提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等等。非易失性存储器可在不被供电时保持所存储的数据,且包含快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)、磁阻式随机存取存储器(MRAM),或存储类(例如,忆阻器)存储器等等。
快闪存储器用作用于广泛范围的电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储器密度、高可靠性和低功耗的单晶体管浮动栅极或电荷阱存储器单元的一或多个群组。两个常见类型的快闪存储器阵列架构包含NAND和NOR架构,以每一者的基本存储器单元配置所布置的逻辑形式来命名。存储器阵列的存储器单元通常布置成矩阵。在实例中,阵列的一行中的每一浮动栅极存储器单元的栅极耦合到存取线(例如,字线)。在NOR架构中,阵列的一列中的每一存储器单元的漏极耦合到数据线(例如,位线)。在NAND架构中,阵列的一串中的每个存储器单元的漏极以源极到漏极方式一起串联耦合在源极线与位线之间。以指定传递电压(例如,Vpass)驱动耦合到每一群组的未选定存储器单元的栅极的字线,以使每一群组的未选定存储器单元作为传递晶体管操作(例如,以不受其所存储的数据值限制的方式传递电流)。
NOR或NAND架构半导体存储器阵列中的每一快闪存储器单元可单独地或共同地编程到一个或数个经编程状态。例如,单层级单元(SLC)可表示两个经编程状态(例如,1或0)中的一个,表示一个数据位。然而,快闪存储器单元也可表示超过两个经编程状态中的一个,从而允许制造较高密度的存储器而不增加存储器单元的数目,因为每个单元可表示超过一个二进制数字(例如,超过一个位)。此类单元可称为多状态存储器单元、多数位单元或多层级单元(MLC)。在某些实例中,MLC可指代每单元可存储两个数据位(例如,四个编程状态中的一个)的存储器单元,三层级单元(TLC)可指代每单元可存储三个数据位(例如,八个编程状态中的一个)的存储器单元,且四层级单元(QLC)可每单元存储四个数据位。MLC在本文中以其广泛情形使用,指代每单元可存储多于一个数据位(即,可表示超过两个经编程状态)的任何存储器单元。
发明内容
用于仲裁受管理NAND存储器系统中的存储器装置的操作以使操作符合功率预算的装置和技术。在实例中,一种方法可包含:在NAND存储器系统的功率管理电路系统处接收NAND存储器操作的操作改变指示,以及对功率信用和与操作改变指示相关联的第一寄存器的值进行求和以提供NAND存储器系统的瞬时功耗指示作为第一寄存器的值。
此部分意欲提供对本专利申请的主题的概述。其并不意图提供对本发明的排他性或穷举性解释。包含详细描述以提供有关本专利申请的其它信息。
附图说明
在不一定按比例绘制的图式中,相似标号可以在不同视图中描述类似组件。具有不同字母后缀的相似标号可表示类似组件的不同例子。图式借助于实例且非限制性地总体上说明本文件中所论述的各种实施例。
图1示出包含可在上面实施一或多个实施例的存储器装置的环境的实例。
图2是根据本公开的数个实施例的包含至少一个存储器系统的环境的替代视图。
图3示出包含数个存储器单元串的3D NAND架构半导体存储器阵列的实例示意图。
图4示出包含布置成二维串阵列的多个存储器单元的NAND架构半导体存储器阵列的一部分的实例示意图。
图5大体上示出存储器控制器仲裁多个存储器裸片装置的裸片的激活和解除激活以维持尽可能多的作用中裸片同时仍依据功率预算管理存储器装置的功耗的实例方法的流程图。
图6大体上示出存储器控制器仲裁多个存储器裸片装置的裸片的激活和解除激活以维持尽可能多的作用中裸片同时仍依据功率预算管理存储器装置的功耗的替代实例方法的流程图。
图7大体上示出用于根据实例仲裁方案操作通道以使存储器系统的操作符合功率预算的实例方法的流程图。
图8大体上示出用于仲裁受管理NAND存储器装置中的工作负荷使得可以满足装置的功率预算的实例方法的流程图。
图9大体上示出操作存储器系统以符合功率预算的实例方法的流程图。在某些实例中,功率预算可能限制可获自储器系统的最大性能。
图10A和10B大体上示出图9的技术的更详细实例,且包含用于在功率预算内操作受管理NAND存储器系统的实例的流程图。
图11是示出可在上面实施一或多个实施例的机器的实例的框图。
具体实施方式
可利用受管理NAND存储器装置的系统可以许多形式出现。一些系统促进高性能,且经设计以按照用户的请求连续地以持续高性能水平操作。然而,例如移动系统的一些系统的可用功率可能是有限的,并且这些系统可包含在功率预算内操作所述系统同时尝试借助于优良的用户体验提供高性能的技术。
本发明的发明人已认识到,受管理NAND存储器装置的操作可表示功率预算的显著部分,尤其是用来经由连接主机装置与NAND存储器装置的通信通道或通信接口传送数据的功率。对于可能能够例如同时经由多个通信通道读取命令到一或多个NAND裸片的每一平面的最新受管理NAND来说可能尤其如此。为提供最佳用户体验,保持包含所有存储器裸片在内的所有系统组件始终被供电是合情合理的。然而,保持受管理NAND装置的所有存储器裸片被供电并操作可能会使用相对大量的功率,并且又会在移动装置的电池在相对较短时间后未能提供电力时显著降低用户体验。为防止电池功率的过早消耗,例如移动系统的系统可对各种子系统的功率进行预算。
本文档解决用于仲裁受管理NAND存储器装置的哪一裸片在作用中以遵从给定功率预算同时提供最佳用户体验的各种技术。第一种技术监测每一存储器裸片的作用中时间及非作用中时间,且基于那些时间进行仲裁。第二种技术监测每一裸片的工作负荷任务,且允许被供电的NAND阵列处于读取模式或写入模式但不同时处于这两种模式,使得功率预算可以与更好的解决方案一起使用,因为与允许被供电的NAND阵列以读取与写入的混合进行操作相比较,执行相同功能的每一NAND阵列的功率分布被更好地估计。第三种技术可实现机会估计,并且用更好的功率估计解决方案执行管理NAND存储器的操作,以便更好地确保功率预算为净,同时还针对所述功率预算提供最大用户体验。所述第三种技术可包含将读取操作与写入操作中的每一者分裂为两个子操作及对应功率分布,且接着基于存储器装置裸片的作用中时间和非作用中时间以及与子操作的功率分布相关的信用系统调节受管理NAND存储器装置的操作。
图1示出包含经配置以经由通信接口彼此通信的主机装置105和受管理存储器装置110的环境100的实例。因此,如本文中所描述,归于主机装置105的动作在受管理存储器装置110的那些动作之外,如所示出,甚至在受管理存储器装置110是主机装置105内的封装时也是如此。因此,在一些实例中,受管理存储器装置110可被包含为主机105的部分(如图1中所描绘),或受管理存储器装置110可以是在主机装置105外部的单独组件。主机装置105或受管理存储器装置110可包含在多种产品150中,例如物联网(IoT)装置(例如,冰箱或其它电器、传感器、电机或致动器、移动通信装置、汽车、无人机等),以支持产品150的处理、通信或控制。
受管理存储器装置110包含存储器控制器115和包含例如数个单独存储器装置(例如,每一存储器装置是三维(3D)NAND裸片的堆叠)的存储器阵列120。因此,受管理存储器装置110包含存储器控制器115和一或多个存储器装置--存储器装置的实例在图5中示出。在没有受管理存储器装置110的实例中,存储器控制器115或其等效物会是主机装置105的部分且在包括存储器阵列120的一或多个存储器装置的封装外部。在3D架构半导体存储器技术中,堆叠竖直结构,从而增加层次数、物理页且因此增加给定存储器装置(例如,存储装置)的密度。
在实例中,受管理存储器装置110可以是主机装置105的离散存储器或存储装置组件。在其它实例中,受管理存储器装置110可以是集成电路(例如,芯片上系统(SOC)等)的部分,所述部分与主机装置105的一或多个其它组件堆叠或以其它方式包含在一起。
可使用一或多个通信接口或通道在受管理存储器装置110与主机装置105的一或多个其它组件之间传送数据,例如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口,或一或多个其它连接器或接口。主机装置105可包含主机系统、电子装置、处理器、控制电路系统或存储卡读卡器。在一些实例中,主机装置105可以是具有参考图9的机器900论述的一部分或所有组件的机器。数据可以经由I/O总线在受管理存储器装置110和其它组件之间传送。
存储器控制器115可从主机装置105的处理电路系统(例如,处理器)接收指令,并且可与存储器阵列120通信,以便将数据传送(例如,写入或擦除)到存储器阵列120的存储器装置和相关联存储器单元、平面、子块、块或页中的一或多个或从存储器阵列120的存储器装置和相关联存储器单元、平面、子块、块或页中的一或多个传送(例如,读取)数据。存储器控制器115可尤其包含电路系统或固件,包含一或多个组件或集成电路。例如,存储器控制器115可包含经配置以控制存储器阵列120内的存取并在主机装置105与存储器阵列120的存储器装置之间提供转换层的一或多个电路、控制电路系统或组件。存储器控制器115可包含一或多个输入/输出(I/O)电路、线路或接口以向存储器阵列120传送数据或传送来自存储器阵列120的数据。存储器控制器115可包含存储器管理器125和阵列控制器135。
阵列控制器135可尤其包含经配置以控制与以下操作相关联的存储器操作的电路系统或组件:将数据写入到存储器阵列120中的存储器装置的一或多个存储器单元,从存储器阵列120中的存储器装置的一或多个存储器单元读取数据,或擦除存储器阵列120中的存储器装置的一或多个存储器单元。存储器操作可基于例如从主机装置105的处理电路系统接收或由存储器管理器125在内部产生的主机命令(例如,与耗损均衡、错误检测或校正等相关联)。
在操作中,数据通常成页地写入到NAND受管理存储器装置110或从NAND受管理存储器装置110读取,且成块地擦除。然而,可视需要对存储器单元的更大或更小群组执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND受管理存储器装置110的数据传送大小通常被称作页,而主机的数据传送大小通常被称作扇区。
阵列控制器135可包含错误校正码(ECC)组件140,所述ECC组件140可尤其包含ECC引擎或经配置以检测或校正与以下操作相关联的错误的其它电路系统:将数据写入到耦合到存储器控制器115的存储器装置的一或多个存储器单元或从耦合到存储器控制器115的存储器装置的一或多个存储器单元读取数据。例如,ECC组件140可检测或计算与执行数个存储器操作相关联的位错误率(BER)。BER可对应于I/O总线的锁存器中发生的位错误、控制器115的内部错误、受管理存储器装置110的一或多个存储器装置中发生的错误。存储器控制器115可经配置以有效地检测与各种操作或数据存储相关联的错误出现(例如,位错误、操作错误等)并从中恢复,同时维持在主机装置105的处理器与受管理存储器装置110之间传送的数据的完整性,或维持所存储数据的完整性(例如,使用冗余RAID存储等),并且可去除(例如,注销(retire))发生故障的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防将来发生错误。在实例中,这些操作中的一些,例如检测读取故障,可实施于存储器阵列120中的每个存储器装置的存储器控制单元中。
在某些实例中,控制器115可包含根据本文所描述的实施例的用于管理功率的功率管理器160。然而,控制器115可包含未示出以免混淆本公开的实施例的各种其它组件。而且,尽管功率管理器160被示出为驻留在控制器115上,但在一些实施例中,功率管理器160可驻留在存储器系统110中的其它处(例如,作为独立组件,或驻留在系统的不同组件上)。例如,功率管理器160可以硬件和/或固件实施,且可根据数个不同功率模式或功率预算阈值节制功率。在某些实例中,功率模式可基于例如数据优先级(例如,数据是否为高优先级数据、低优先级数据、垃圾收集数据等)、与SSD相关联的写入扩增、应用类型(例如,一些应用可能比其它应用需要的I/O带宽低)及/或编程类型(例如,待写入的数据页为快页还是慢页)等特性,以及其它特性。
存储器管理器125可尤其包含电路系统或固件,例如与各种存储器管理功能相关联的数个组件或集成电路。出于本描述的目的,将在NAND存储器的上下文中描述实例存储器操作和管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。这类NAND管理功能包含耗损均衡(例如,垃圾数据收集或回收)、错误检测(例如,位错误率(BER)监测)或校正、块注销,或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机装置105的处理电路接收到的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或产生用于阵列控制器135或受管理存储器装置110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。在实例中,这些操作中的一些可实施于存储器阵列120中的每一存储器装置的存储器控制单元中。
存储器管理器125可包含经配置以保存与受管理存储器装置110的一或多个组件相关联的各种信息(例如,与存储器阵列或耦合到存储器控制器115的一或多个存储器单元相关联的各种信息)的一组管理表130。例如,管理表130可包含关于耦合到存储器控制器115的一或多个存储器单元块的块使用期(block age)、块擦除计数、错误历史、错误参数信息或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对错误计数中的一或多个(例如,错误参数)检测到的错误的数目高于阈值(例如,可允许的错误阈值),那么位错误可称为不可校正的位错误。管理表130尤其可保存可校正或不可校正的位错误的计数。
如上所述,存储器阵列120可包含一或多个存储器装置。各个存储器装置可包含布置于例如数个装置、平面、子块、块或页中的若干存储器单元。作为一个实例,48GB TLCNAND存储器装置可包含每页18,592个字节(16,384+2208个字节)的数据、每块1536页、每平面548个块和每装置四个或更多个平面。作为另一实例,32GB MLC存储器装置(每单元存储两个数据位(即,四个可编程状态))可包含每页18,592个字节(16,384+2208个字节)的数据、每块1024页、每平面548个块和每装置四个平面,但相比于对应TLC存储器装置,所需写入时间为一半且编码/擦除(P/E)循环为两倍。其它实例可以包含其它数目或布置。在一些实例中,存储器装置或其部分可在SLC模式中或在所需MLC模式(例如TLC、QLC等)中选择性地操作。
不同类型的存储器装置可提供不同的页大小,或可能需要与其相关联的不同量的元数据。例如,不同存储器装置类型可具有不同位错误率,这可能导致需要不同量的元数据来确保数据页的完整性(例如,相比于具有较低位错误率的存储器装置,具有较高位错误率的存储器装置可能需要更多字节的错误校正码数据)。作为实例,相比于对应单层级单元(SLC)NAND快闪存储器装置,多层级单元(MLC)NAND快闪存储器装置可具有更高的位错误率。因此,相比于对应SLC装置,MLC装置可能需要更多的元数据字节用于错误数据。
图2是根据本公开的数个实施例的包含至少一个存储器系统210的环境200的替代视图。如本文所使用,存储器系统210、控制器215或存储器装置220也可单独地视为“设备”。存储器系统210可为例如固态驱动器(SSD),且可包含主机接口206、控制器215(例如,处理器和/或其它控制电路系统),及数个存储器装置220-1、……、220-M(例如,固态存储器装置,例如NAND快闪装置),这些存储器装置提供用于存储器系统210的存储容量。在数个实施例中,控制器215、存储器装置220-1到220-M和/或主机接口106可物理地位于单个裸片上或单个封装内(例如,受管理NAND应用)。而且,在数个实施例中,存储器(例如,存储器装置220-1到220-M)可包含单个存储器装置。在此实例中,存储器装置220-1到220-M中的每一者对应于相应存储器通道(例如,通道1存储器、……、通道M存储器),所述存储器通道可包括存储器装置(例如,裸片或晶片)群组;然而,实施例不限于此。
在某些实例中,控制器210可经由相应的数个I/O总线213-1、……、213-M耦合到主机接口206及存储器装置220-1、……、220-M。主机接口206可用来在存储器系统210与主机205之间传送数据。接口206可呈标准化接口的形式。例如,在存储器系统210用于计算环境200中的数据存储时,接口206可为串行高级技术附件(SATA)、串行附接SCSI(SAS)、外围组件互连高速(PCIe),或通用串行总线(USB),以及其它连接器和接口。然而,一般来说,接口206可提供用于在存储器系统210与具有接口206的兼容接受器的主机205之间传递控制、地址、数据和其它信号的接口。尽管未在图2中展示,但主机接口206可包含主机总线接口(HBA),其可经由数个I/O总线耦合到主机205,这可由主机205与接口206之间的箭头表示。
主机205可为主机系统,例如个人膝上型计算机、台式计算机、数码相机、移动电话或存储卡读卡器,以及各种其它类型的主机。主机205可包含系统主板和/或底板,且可包含数个存储器存取装置(例如数个处理器)。
在某些实例中,每一总线213-1、……、213-M可与相应存储器通道相关联;然而,实施例不限于此配置。例如,在数个实施例中,单个I/O总线可支持多个通道。I/O总线213-1到213-M可包括数个信号线(例如,数据线、地址线、控制线,等)。控制器210包含用来将I/O总线213-1到213-M耦合到相应存储器装置220-1到220-M(例如,经由对应接口214-1到214-M)的存储器接口212。存储器接口212和/或214-1到214-M可提供用于总线213-1到213-M的信号线的物理连接,且可包括各种组件,例如驱动器电路系统(例如,SSTL驱动器、LVCMOS驱动器,等)和/或ODT电路系统。接口212及/或214-1到214-M可支持各种信令标准,例如DDR、DDR2和/或DDR3,以及其它信令标准。作为实例,接口212及214以及I/O总线213可遵从开放NAND快闪接口(ONFI)。
控制器215可与存储器(例如,存储器装置220-1到220-M)通信以控制数据读取、写入和擦除操作,以及其它操作。控制器215可包含例如数个呈硬件和/或固件形式的组件(例如一或多个集成电路)和/或用于控制对存储器的存取和/或用于促进主机205与存储器之间的数据传送的软件。在某些实例中,控制器215包含根据本文所描述的实施例的用于管理功率的功率管理器260。然而,控制器215可包含未示出以免混淆本公开的实施例的各种其它组件。而且,尽管功率管理器260被示出为驻留在控制器215上,但在一些实施例中,功率管理器260可驻留在存储器系统210中的其它处(例如,作为独立组件,或驻留在系统的不同组件上)。功率管理器260可例如以硬体及/或固件实施,且可根据数个不同功率模式限制功率。例如,功率模式可基于例如数据优先级(例如,数据是否为高优先级数据、低优先级数据、垃圾收集数据等)、与SSD相关联的写入扩增、应用类型(例如,一些应用可能比其它应用需要的I/O带宽低)和/或编程类型(例如,待写入的数据页为快页还是慢页)等特性,以及其它特性。而且,在数个实施例中,功率管理器260可用来节制主机205与控制器215之间的I/O总线。
存储器(例如,存储器装置220-1到220-M)可包含数个存储器单元阵列。例如,阵列可为具有NAND架构的快闪阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。存储器单元可例如分组成包含多个物理页的多个块。多个块可包含于存储器单元的平面中,且阵列可包含多个平面。作为一个实例,存储器装置可经配置以每页存储8KB(千字节)用户数据、每块128页用户数据、每平面2048个块,及每装置16个平面。
在其中存储器装置220-1到220-M包括具有NAND架构的快闪阵列的实施例中,所述阵列可包括存取线(例如字线)及相交的数据线,例如位线。阵列可包括从源极到漏极串联连接于经配置以将相应串选择性地耦合到共同源极的源极选择栅极与经配置以将相应串选择性地耦合到相应位线的漏极选择栅极之间的存储器单元“串”。存储器单元可包括例如源极、漏极、电荷存储结构(例如,浮动栅极)及控制栅极,其中单元的控制栅极对应于共同耦合到字线的单元的“行”。NOR快闪阵列将以类似方式结构化,例外之处为存储器单元串并联耦合在选择栅极之间。
如在本文中进一步描述,在本公开的若干实施例中,功率管理器(例如,功率管理器260)可经配置以通过节制I/O总线(例如,213-1到213-M)的数目而不调整所述数个I/O总线的传送速率来调整与在控制器(例如,控制器215)与数个存储器装置(例如,220-1到220-M)之间传送数据相关联的I/O功耗。
图3示出包含若干存储器单元串(例如,第一到第三A0存储器串305A0-307A0,第一到第三An存储器串305An-307An,第一到第三B0存储器串305B0-307B0,第一到第三Bn存储器串305Bn-307Bn等)的3D NAND架构半导体存储器阵列300的实例示意图,所述存储器单元串组织成块(例如,块A 301A、块B 301B等)和子块(例如,子块A0 301A0、子块An 301An、子块B0301B0、子块Bn 301Bn等)。存储器阵列300表示在存储器装置的块、装置或其它单元中通常将找到的较大数目的相似结构的一部分。
每一存储器单元串包含若干层次的电荷存储晶体管(例如,浮动栅极晶体管、电荷截留结构等),所述电荷存储晶体管在Z方向上以源极到漏极方式堆叠于源极线(SRC)335或源极侧选择栅极(SGS)(例如,第一到第三A0 SGS 331A0-333A0、第一到第三An SGS 331An-333An、第一到第三B0 SGS 331B0-333B0、第一到第三Bn SGS 331Bn-333Bn等)与漏极侧选择栅极(SGD)(例如,第一到第三A0 SGD 326A0-328A0、第一到第三An SGD 326An-328An、第一到第三B0 SGD 326B0-328B0、第一到第三Bn SGD 326Bn-328Bn等)之间。3D存储器阵列中的每一存储器单元串可沿着X方向布置为数据线(例如,位线(BL)BL0-BL2 320-322),且沿着Y方向布置为物理页。
在物理页内,每个层次表示一个存储器单元行,且每一存储器单元串表示一列。子块可包含一或多个物理页。块可包含数个子块(或物理页)(例如,128、256、384等)。出于描述的目的而提供的所示出的存储器装置包含两个块,每个块具有两个子块,每个子块具有单个物理页,其中每个物理页具有三个存储器单元串,且每个串具有8个层次的存储器单元。在实际装置中,存储器阵列300将通常包含数目大得多的块、子块、物理页、存储器单元串、存储器单元和/或层次。例如,按需要,每个存储器单元串可包含选定数目的层次(例如,16、32、64、128等),以及高于或低于电荷存储晶体管的一或多个额外层次的半导体材料(例如,选择栅极、数据线等)。作为实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548块和每装置4个或更多个平面。
存储器阵列300中的每一存储器单元包含耦合到(例如,以电或另外以操作方式连接到)存取线(例如,字线(WL)WL00-WL70 310A-317A、WL01-WL71 310B-317B等)的控制栅极(CG),所述存取线按需要跨越特定层次或层次的一部分共同地耦合控制栅极(CG)。3D存储器阵列300中的特定层次且因此串中的特定存储器单元可使用相应存取线来存取或控制。可使用各种选择线存取选择栅极的群组。例如,可使用A0 SGD线SGDA0 325A0存取第一到第三A0 SGD 326A0-328A0,可使用An SGD线SGDAn 325An存取第一到第三An SGD 326An-328An,可使用B0 SGD线SGDB0 325B0存取第一到第三B0 SGD 326B0-328B0,且可使用Bn SGD线SGDBn325Bn存取第一到第三Bn SGD 326Bn-328Bn。可使用栅极选择线SGS0 330A存取第一到第三A0SGS 331A0-333A0和第一到第三An SGS 331An-333An,且可使用栅极选择线SGS1 330B存取第一到第三B0 SGS 331B0-333B0和第一到第三Bn SGS 331Bn-333Bn
在实例中,存储器阵列300可包含若干层级的半导体材料(例如,多晶硅等),其经配置以耦合阵列的相应层次的每一存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。阵列中的特定存储器单元串可使用位线(BL)和选择栅极等的组合来存取、选择或控制,且在特定串中的一或多个层次处的特定存储器单元可使用一或多个存取线(例如,字线)来存取、选择或控制。
图4示出NAND架构半导体存储器阵列400的一部分的实例示意图,所述阵列包含布置于串(例如,第一到第三串405-407)和层次(例如,示出为相应字线(WL)WL0-WL7410-417、漏极侧选择栅极(SGD)线425、源极侧选择栅极(SGS)线430等)的二维阵列中的多个存储器单元402以及装置或感测放大器460。例如,存储器阵列400可示出例如图3中示出的3D NAND架构半导体存储器装置的存储器单元的一个物理页的一部分的实例示意图。
每一存储器单元串使用相应源极侧选择栅极(SGS)(例如,第一到第三SGS 431-433)耦合到源极线(SRC),且使用相应漏极侧选择栅极(SGD)(例如,第一到第三SGD 426-428)耦合到相应数据线(例如,第一到第三位线(BL)BL0-BL2 420-422)。虽然在图4的实例中示出为具有8个层次(例如,使用字线(WL)WL0-WL7 410-417)和三个数据线(BL0-BL2426-428),但其它实例按需要可包含具有更多或更少层次或数据线的存储器单元串。
在例如实例存储器阵列400等NAND架构半导体存储器阵列中,可通过感测与含有所选存储器单元的特定数据线相关联的电流或电压变化而存取所选存储器单元402的状态。可使用一或多个驱动器(例如,由控制电路、一或多个处理器、数字逻辑等)存取存储器阵列400。在实例中,取决于对特定存储器单元或存储器单元集合将执行的所需操作的类型,一或多个驱动器可通过驱动特定电位到一或多个数据线(例如,位线BL0-BL2)、存取线(例如,字线WL0-WL7)或选择栅极而激活特定存储器单元或存储器单元集合。
为了将数据编程或写入到存储器单元,可将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到选定字线(例如,WL4),且因此施加到耦合到选定字线的每一存储器单元的控制栅极(例如,耦合到WL4的存储器单元的第一到第三控制栅极(CG)441-443)。编程脉冲可例如在15V处或附近开始,并且在某些实例中,可在每一编程脉冲施加期间量值增加。在将编程电压施加于选定字线的同时,可将例如接地电位(例如,Vss)等电位施加到作为编程的目标的存储器单元的数据线(例如,位线)和衬底(且因此源极与漏极之间的沟道),从而导致从沟道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或佛勒-诺德海姆(Fowler-Nordheim,FN)隧穿等)。
相比之下,可将传递电压(Vpass)施加到具有并不作为编程的目标的存储器单元的一或多个字线,或可将禁止电压(例如,Vcc)施加到具有并不作为编程的目标的存储器单元的数据线(例如,位线),以例如禁止电荷从沟道传送到这些非目标存储器单元的浮动栅极。传递电压可例如取决于施加的传递电压与作为编程的目标的字线的接近度而变化。禁止电压可包含相对于接地电位(例如,Vss)的供应电压(Vcc),例如来自外部源或供应(例如,电池、AC/DC转换器等)的电压。
作为实例,如果将编程电压(例如,15V或更高)施加于特定字线,例如WL4,那么可将10V的传递电压施加到一或多个其它字线,例如WL3、WL5等,以禁止非目标存储器单元的编程,或保持并不作为编程的目标的这些存储器单元上存储的值。随着施加的编程电压与非目标存储器单元之间的距离增加,制止对非目标存储器单元进行编程所需的传递电压可减小。例如,在将15V的编程电压施加于WL4的情况下,可将10V的传递电压施加到WL3和WL5,可将8V的传递电压施加到WL2和WL6,可将7V的传递电压施加到WL1和WL7等。在其它实例中,传递电压或字线的数目等可更高或更低,或更多或更少。
耦合到数据线(例如,第一、第二或第三位线(BL0-BL2)420-422)中的一或多个的感测放大器460可通过感测特定数据线上的电压或电流而在相应数据线中检测每一存储器单元402的状态。感测放大器460可确定给定存储器单元402或单元组的状态是否不稳定。在此类情形下,感测放大器460可将此不稳定性记录为错误参数。感测放大器460可与控制器通信以校正错误参数。
在一或多个编程脉冲(例如,Vpgm)的施加之间,可执行检验操作以确定所选存储器单元是否已到达其既定经编程状态。如果所选存储器单元已到达其既定经编程状态,那么可禁止其进一步编程。如果所选存储器单元尚未到达其既定经编程状态,那么可施加额外编程脉冲。如果在特定数目的编程脉冲(例如,最大数目)之后所选存储器单元尚未到达其既定经编程状态,那么所选存储器单元或与这些所选存储器单元相关联的串、块或页可标记为有缺陷的。
为了擦除存储器单元或存储器单元群组(例如,擦除通常以块或子块执行),可(例如,使用一或多个位线、选择栅极等)将擦除电压(Vers)(例如,通常Vpgm)施加到作为擦除的目标的存储器单元的衬底(且因此源极与漏极之间的沟道),同时目标存储器单元的字线保持在例如接地电位(例如,Vss)的电位,从而导致从目标存储器单元的浮动栅极到沟道的电荷转移(例如,直接注入或佛勒-诺德海姆(FN)隧穿等)。
为了从存储器单元的给定页读取数据,将读取阈值电压或电位(Vt)施加到字线且从对应数据线感测电压。如果对给定单元编程,那么施加Vt(或在Vt范围内的电压)可能导致在对应位线处感测到给定电压电平(在经编程范围内)。如果所感测的电压电平在可接受的经编程范围内,那么可确定将位值‘0’存储在给定单元中。如果未对给定单元编程,那么施加Vt(或在Vt范围内的电压)可能导致在对应位线处感测到给定电压电平(在经擦除范围内)。如果所感测的电压电平在可接受的经擦除范围内,那么可确定将位值‘1’存储在给定单元中。
除了管理受管理NAND存储器装置的上述功能中的一或多个之外,存储器控制器可能还需要管理存储器装置的多个NAND裸片的功率使用以提供用户体验(有时称为性能)与所需电池充电事件之间的间隔长度之间的平衡。如上文所论述,为了提供移动装置的可能最佳用户体验,维持移动装置的每一存储器装置的每一存储器裸片的全功率将是合乎逻辑的。然而,在这样做时,用户可能需要非常频繁地为移动装置的电池进行再充电。本发明的发明人已认识到仲裁多裸片受管理NAND装置的各种功能以使装置的操作符合功率预算并同时尝试在功率预算内提供最佳用户体验的技术。
图5大体上示出用于存储器控制器仲裁多个存储器裸片装置的裸片的激活和解除激活以维持尽可能多的作用中裸片同时仍依据功率预算管理存储器装置的功耗的实例方法500的流程图。在某些实例中,存储器控制器的仲裁电路可被编程有功率预算方案和可能的一或多个参数以指示多裸片NAND存储器装置中可被激活或供电且仍在功率预算内操作的裸片数目。在一些实例中,功率预算方案和参数可从在计划移动环境内对存储器装置的基准测试来导出。在501处,多裸片NAND存储器装置的裸片的子集可在作用中或被激活以在功率预算内操作。在503处,可起始用于每一新作用中裸片的作用中定时器。在某些实例中,定时器的起始可包含保存时间戳、加载预设值和启用倒数定时器或计数器,或重置计数器和定时器并启用计数器或定时器以开始累积时间或计数。在505处,可起始用于多裸片NAND存储器装置的每一新解除激活的裸片的非作用中定时器。在507处,存储器控制器可开始将作用中存储器裸片的存储器请求投送到对应作用中存储器裸片或执行所述存储器请求。在某些实例中,存储器请求可累积并缓冲例如在移位寄存器、队列、平面队列等等中。在509处,可评估作用中定时器以确定作用中裸片中的任一者是否已在作用中达预设间隔。
如果作用中裸片已在作用中达例如由与裸片相关联的到期作用中定时器所指示的预设间隔,那么在511处,存储器控制器可解除激活或停用作用中裸片,并且在513处,可启用被确定为在非作用中达最长持续时间的非作用中裸片。如果作用中裸片的作用中定时器尚未到期,那么在515处,可评估非作用中定时器以确定非作用中定时器中的任一者已到期。在某些实例中,可通过比较定时器的值与当前值来评估定时器。在一些实例中,可通过比较与激活定时器的时间相关联的定时器的时间戳与当前时间戳以提供定时器的持续时间来评估定时器。接着,可比较所述持续时间与预定参数值以确定定时器是否已到期。在一些实例中,存储器控制器可在用于每一作用中裸片的作用中定时器尚未到期时和用于每一非作用中裸片的非作用中定时器尚未到期时继续投送或执行作用中存储器裸片的存储器请求。如本文中所使用,“启用”装置可包含例如通过使装置通电、从低功率、睡眠或待用模式切换到装置的较高功率模式、激活装置或允许装置操作或装置与另一装置之间的通信来向装置提供电力。如本文中所使用,“停用”装置可包含例如通过使装置断电、从高功率模式切换到装置的较低功率模式(例如睡眠或待用模式)、解除激活或闲置装置或停止装置的操作或装置与另一装置之间的通信来去除装置的供电。
如果非作用中裸片已在非作用中达例如由到期非作用中定时器指示的预设间隔,那么在517处,存储器控制器可解除激活被确定为在作用中达最长持续时间的作用中裸片,并且在519处,可启用与到期非作用中定时器相关联的非作用中裸片。以上仲裁方法可确保多裸片NAND存储器装置在功率预算内操作,同时尝试避免对任何一个裸片的存储器请求缓冲达延长的时间周期,因为使存储器裸片保持在非作用中可能会最终导致总体系统的用户体验的劣化。在某些实例中,所述方法可表示单个时序电路或仲裁电路的连续指令集合。
图6大体上示出用于存储器控制器仲裁多个存储器裸片装置的裸片的激活和解除激活以维持尽可能多的作用中裸片同时仍依据功率预算管理存储器装置的功耗的替代实例方法600的流程图。在某些实例中,所述方法可针对每一作用中裸片复制,且与一或多个其它类似方法并行地运行。在601处,可启用裸片。所述裸片可为由存储器控制器控制的存储器系统的数个裸片中的一者。在任一时间处,存储器控制器可能有多个裸片被启用,且每一裸片可执行方法600,其中“X”是所启用的特定裸片的占位符。在603处,可针对裸片(X)启动作用中定时器。在605处,存储器控制器可确定是否已缓冲裸片(X)的任何存储器请求。如果不存在用于裸片(X)的已缓冲存储器请求,那么在617处,可停用裸片(X)。如果存在用于裸片(X)的待决的已缓冲存储器请求,那么在609处,可开始执行存储器请求。在611处,在执行用于裸片(X)的存储器请求时,可监测并评估作用中定时器。在某些实例中,每一裸片可保持在作用中达预定间隔。在某一实例中,预定间隔为由裸片中的每一者共享的固定持续时间。在一些实例中,预定间隔为动态的,且可基于对裸片的历史存取或对存储在裸片上的数据类型的了解而改变。
如果用于裸片(X)的作用中定时器已过去或到期,那么在617处,可停用裸片(X)。如果用于裸片(X)的作用中定时器尚未到期,那么在613处,存储器控制器可通过评估任何裸片是否具有到期的停用定时器来评估任何其它裸片是否已停用或在非作用中达过长时间。如果被停用或在非作用中的裸片的停用定时器全部未到期,那么在605处,存储器控制器可继续使裸片(X)执行任何经缓冲命令。如果另一裸片的停用定时器已到期,那么在615处,存储器控制器可评估裸片(X)与存储器系统的其它作用中裸片相比是否已在作用中达最长时间。如果裸片(X)尚未启用或在作用中的时间比任何其它当前作用中裸片都长,那么在605处,存储器控制器可继续使裸片(X)执行任何经缓冲命令。如果裸片(X)已在作用中的时间比任何其它当前作用中裸片都长,那么在617处,存储器控制器可停用裸片(X),起始与裸片(X)相关联的停用定时器,且可在619处结束所述方法,直到裸片(X)再次变得在作用中。
在某些实例中,控制器可监测经缓冲命令的持续时间在缓冲器或队列中,且可在经缓冲命令已在缓冲器中达延长的预定持续时间时发出闲置限制指示。在接收到闲置限制指示时,存储器控制器可激活与经缓冲命令相关联的存储器裸片(如果已经不在作用中),且可允许裸片保持在作用中直到执行经缓冲命令,而不管存储器裸片的作用中定时器是否到期。在某些实例中,可能需要解除激活存储器裸片以适应经缓冲命令的执行且遵从功率预算。
本发明的发明人已认识到经配置以与图5和6的机制相比提供对存储器装置的功率估计和管理的更好的解决方案的替代仲裁机制。在某些实例中,相对于图7和8论述的技术可与图5和6的技术组合使用。
再次,作为实例,依靠电池操作的移动存储装置具有与电池相关联的功率递送网络,其在时间和总电流容量方面可提供有限的峰值功率响应性。移动NAND存储装置可通过在NAND装置层级处执行多平面读取命令来对通道执行系统读取操作,且可通过跨越并联的某一组NAND装置在NAND装置层级处执行多平面写入命令来对通道执行系统写入操作。系统读取与写入操作可具有不同功率分布,因此混合模式操作(其中主机业务为读取与写入命令的混合)在峰值功率角度可能很难在有限功率预算内进行管理。
图7和8的实例技术提供例如用于存储器控制器(例如图1或图2的控制器115、215)的NAND测序仪的仲裁机制,所述存储器控制器可监测和评估来自主机的例如通过FTL转换为NAND操作的传入工作负荷或存储器请求,使得所有NAND通道及那些通道上的所有NAND装置能够在给定时间间隔期间执行读取命令或写入命令,但不同时执行两者。
在某些实例中,读取命令的功耗分布可包含在感测操作期间的电流尖峰,且接着为在从存储器装置到主机的数据传送期间的恒定电流电平。一般来说,NAND读取在传送数据之前执行感测操作。在一些实例中,编程或写入命令的功耗分布可包含在从主机到存储器装置的数据传送期间的平稳功耗,且接着为在编程算法使用一组脉冲将数据推送到NAND单元上时的重复峰值。一般来说,NAND写入操作在将数据推送或编程到NAND单元之前传送数据。
当在一时间间隔期间对NAND阵列一起执行读取操作和写入操作时,传送数据的时间与感测或编程算法处于峰值电流操作的时间的混合可能是复杂的。在常规方法中,为了符合功率预算,控制器将针对数个并行作用中裸片及跨越那些裸片的操作排序,估计对准数据传送、感测操作和编程操作的最差情形。此类悲观算法可能会显著限制总体性能。
在某些实例中,裸片或裸片堆叠及相关联通道内的NAND装置阵列可能限于在特定时间间隔内仅执行读取命令,且接着切换成限于在第二时间间隔内仅执行写入命令。在某些实例中,存储器控制器可使作用中通道的只读模式与只写模式交替以缓解任何特定的经缓冲读取命令或写入命令待决延长的时间的问题。应理解,存储器装置的每一通道的写入命令和读取命令的功耗分布可用基准问题测试,并得到很好的理解。因此,存储器装置的实例模态操作(其中在所确定的间隔期间,通道的所有操作为相同类型),可由控制器针对读取模式和写入模式确定高度优化的各个作用中裸片计数和命令排序方案,使得每一模式都提供高性能,同时符合功率预算。
图7大体上示出用于根据实例仲裁方案操作通道以使存储器系统的操作符合功率预算的实例方法700的流程图。在某些实例中,方法700可允许存储器装置的更高利用率同时还符合功率预算。在701处,可在第一间隔内经由存储器装置的第一通道执行第一类型的多个同种的主机请求的NAND存储器操作,例如读取操作。在703处,可监测第一间隔的到期。如果第一间隔未到期或完成,那么在701处,可继续在第一通道上执行第一类型的命令。如果第一间隔到期,那么在705处,可在第二间隔内经由第一通道起始第二类型的多个同种的主机请求的NAND存储器操作,例如写入操作。在707处,可监测第二间隔的到期。如果第二间隔未到期或完成,那么在705处,可继续在第一通道执行第二类型的命令。如果第二间隔到期,那么所述方法可重复。在某些实例中,所述方法可在存储器装置的多个通道上并行地运行。在一些实例中,存储器控制器可启用或停用耦合到每一通道的存储器裸片以允许存储器装置在给定功率预算内操作。在一些实例中,存储器控制器可启用和停用存储器装置的通道执行方法700以使存储器装置的操作符合功率预算。
图8大体上示出用于仲裁受管理NAND存储器装置中的工作负荷使得可以满足装置的功率预算的实例方法的流程图。在某些实例中,所述方法可与图4或图5的方法中的一者组合以提供对功耗估计的更好的解决方案。此类估计可允许存储器装置具有更高利用率,同时还符合功率预算。在某些实例中,在801处,所述方法可激活存储器系统的一或多个通道。在某些实例中,激活通道可包含对于每一通道起始图7的方法700。在803处,所述方法可包含基于作用中通道的数目和每一作用中通道上的每一命令类型的间隔调度来确定功率估计值。在805处,可将所述估计值与功率预算进行比较以提供功率预算错误。在807处,可调整作用中通道的数目、每一作用中通道上的每一命令类型的间隔调度或其组合以减小功率预算错误。例如,如果功率预算错误指示存储器装置使用的功率比功率预算所允许的功率多,那么可减少通道的数目,或者可调整间隔的调度以减少功率使用。在某些实例中,所述方法可包含例如基于关于图5和6论述的技术仲裁作用中裸片。
本发明的发明人已认识到经配置以与图7和8的机制相比提供对存储器系统的功率估计和管理的更好的解决方案的额外仲裁机制。在某些实例中,相对于图9和10论述的技术可与图5到8的技术组合使用。
图9大体上示出操作存储器系统以符合功率预算的实例方法900的流程图。在某些实例中,功率预算可能会限制可获自存储器系统的最大性能。图9的仲裁方法通过使特定快闪存储器操作分裂成若干分量且调度所述分量以尽可能多地利用功率预算来实现存储器裸片的混合操作。不同于图4到8的实例,存储器操作分量可实现对功耗估计的更好的解决。不同于图7及8的实例,图9和10的实例技术对混合命令执行的支持可通过不使主机缺乏某一类型的存储器请求而促进提供更好性能或至少提供更好用户体验。
如上文所论述,读取命令的功耗分布可包含在感测操作期间的电流的尖峰或峰值,且接着为在从存储器装置到主机的数据传送期间的恒定电流电平。一般来说,NAND读取在传送数据之前执行感测操作。在一些实例中,编程或写入命令的功耗分布可包含在从主机到存储器装置的数据传送期间的平稳功耗,且接着为在编程算法使用一组脉冲将数据推送到NAND单元上时的重复峰值或尖峰。一般来说,NAND写入操作在将数据推送或编程到NAND单元之前传送数据。在某些实例中,在数据传送期间,读取命令和写入命令的可包含电流尖峰的命令部分可使用比恒定电流部分多的功率。在其它实例中,例如,在数据传送速率较高时,读取和写入命令的恒定电流部分可使用比包含电流尖峰的命令部分多的功率。
当在一时间间隔期间对NAND阵列一起执行读取操作和写入操作时,传送数据的时间与感测或编程算法处于峰值电流操作的时间的混合可能是复杂的。在常规方法中,为了符合功率预算,控制器将针对数个并行作用中裸片及跨越那些裸片的操作排序,估计对准数据传送、感测操作和编程操作的最差情形。此类悲观算法可能会显著限制总体性能。
关于图9所论述的技术允许存储器控制器单独地调度和命令数个存储器请求的分量以便实现更严格的功率预算控制和操控。在某些实例中,存储器请求可包含但不限于读取操作、写入操作和擦除操作。在某些实例中,读取操作可划分成两个分量:感测操作和读取传送。感测操作可用于将NAND单元内的数据的位值感测到页缓冲器。读取传送可将感测到的位值从页缓冲器移动到主机接口。在某些实例中,写入操作可划分成两个分量:写入传送和编程操作。写入传送可将数据从主机接口移动到NAND装置上的页缓冲器,且编程操作可将数据编程到NAND单元。图9的技术允许存储器控制器更有限地控制存储器系统的操作以便实现混合命令执行。
在某些实例中,存储器控制器可接收可周期性地更新的阈值功率预算值。在一些实例中,功率预算阈值可针对存储器系统,在其它实例中,功率预算阈值可针对存储器装置、存储器裸片、存储器阵列,或针对存储器控制器与数个存储器裸片之间的通道。此外,存储器控制器可包含装置或通道的各种状态寄存器以对瞬时功率使用进行监测及求和,且将总和与阈值功率预算值进行比较。存储器控制器可使用比较结果来仲裁存储器请求分量的调度及命令。在一些实例中,除了下文关于图9论述的技术之外,存储器控制器还可使用与图4到8相关联的技术,以使存储器系统的操作符合给定功率预算。
在901处,存储器控制器可监测一或多个状态寄存器的改变。状态寄存器可指示是否已接收到新存储器请求、是否等待发布命令分量、命令分量是否已完成操作,或其组合。在903处,存储器控制器可确定命令分量的执行是否已终止。如果命令分量的执行已终止,那么在905处,可递减功率状态寄存器以指示存储器装置的瞬时功耗已减小。如果命令分量的执行尚未终止,那么在907处,存储器控制器可确定命令分量是否等待执行。如果分量不等待执行,那么控制可返回到901处的检查状态改变。如果命令分量正等待执行,那么在909处,可对与所述分量相关联的功率与指示瞬时功耗的状态寄存器求和,且可将总和与阈值功率预算进行比较以确定是否存在备用预算来允许所述分量执行。在某些实例中,备用预算可由从阈值功率预算值减去瞬时功耗的结果来指示。如果存在可用的备用功率预算,那么在911处,可起始命令分量的执行,且在913处,可用所述总和更新状态寄存器以提供存储器装置的瞬时功耗的经更新状态。在某些实例中,方法900可使用进行中的功耗估计来监测对功率预算的遵从性且尽可能多地使用功率预算。在某些实例中,可在电流消耗方面监测功率预算,在电压相对恒定时,电流消耗可以非常好地指示功率。在一些实例中,如果不存在备用预算来运行命令的第一分量,那么存储器控制器可评估其它经缓冲命令以查看是否可在可用备用预算内执行另一命令分量。在例如总体功率预算阈值动态地降低的情境中,存储器系统可置于环路中,直到足够存储器操作完成以允许有足够的备用预算来开始起始额外存储器操作或命令分量。
图10A和10B大体上示出图9的技术的更详细实例,且包含用于在功率预算内操作受管理NAND存储器系统的实例1000的流程图。在1001处,受管理NAND存储器系统的存储器控制器可评估与主机存储器请求相关联的NAND存储器操作是否已完成。如果NAND存储器操作已完成,那么所述方法可评估已完成的存储器操作的类型,且可更新瞬时功耗估计值。在1003处,存储器控制器可确定“感测”操作是否完成。感测操作可为NAND存储器响应于来自主机的读取请求的读取命令的分量。“感测”操作可包含调节NAND存储器的特定导体以感测例如存储到页缓冲器的数据。特定量的功率可与执行“感测”操作相关联,因此在“感测”操作完成时,在1005处,可通过以与“感测”操作相关联的功率表示减去或递减寄存器来更新状态寄存器以提供受管理NAND存储器系统的瞬时功耗指示。在某些实例中,电流可表示功率,并且可用作指示功耗的值。
在1007处,存储器控制器可确定“编程”操作是否完成。“编程”操作可为NAND存储器响应于来自主机的写入请求的写入命令的分量。“编程”操作可包含调节NAND存储器的特定导体以将数据从页缓冲器存储到例如原始NAND存储器电路的单元。特定量的功率可与执行“编程”操作相关联,因此在“编程”操作完成时,在1009处,可通过以与“编程”操作相关联的功率表示减去或递减寄存器来更新状态寄存器以提供受管理NAND存储器系统的瞬时功耗指示。在某些实例中,电流可表示功率,并且可用作指示功耗的值。
在1011处,存储器控制器可确定“传送到NAND”操作是否完成。“传送到NAND”操作可为NAND存储器响应于来自主机的写入请求的写入命令的第二分量。“传送到NAND”操作可将数据从主机或主机接口移动到页缓冲器以供存储在NAND存储器电路中。在某些实例中,“传送到NAND”操作是在例如“编程”操作之前执行。特定量的功率可与执行“传送到NAND”操作相关联,因此在“传送到NAND”操作完成时,在1013处,可通过以与“传送到NAND”操作相关联的功率表示减去或递减寄存器来更新状态寄存器以提供受管理NAND存储器系统的瞬时功耗指示。在某些实例中,电流可表示功率,并且可用作指示功耗的值。
在1015处,存储器控制器可确定“从NAND传送”操作是否完成。“从NAND传送”操作可为NAND存储器响应于来自主机的读取请求的读取命令的第二分量。“从NAND传送”操作可将数据从页缓冲器移动到主机或主机接口。在某些实例中,“从NAND传送”操作是在例如“感测”操作之后执行。特定量的功率可与执行“从NAND传送”操作相关联,因此在“从NAND传送”操作完成时,在1017处,可通过以与刚刚完成的“从NAND传送”操作相关联的功率表示减去或递减寄存器来更新状态寄存器以提供受管理NAND存储器系统的瞬时功耗指示。在某些实例中,电流可表示功率,并且可用作指示功耗的值。
在1019处,存储器控制器可确定“擦除”操作是否完成。“擦除”操作可修改NAND存储器电路或表以指示受管理NAND存储器的一或多个块可用于存储数据。特定量的功率可与执行“擦除”操作相关联,因此在“擦除”操作完成时,在1021处,可通过以与刚刚完成的“擦除”操作相关联的功率表示减去或递减寄存器来更新状态寄存器以提供受管理NAND存储器系统的瞬时功耗指示。在某些实例中,电流可表示功率,并且可用作指示功耗的值。
返回参考框1001,如果状态寄存器没有指示存储器操作已完成,那么在1023处,存储器控制器可确定“感测”操作是否正等待执行。在1025处,如果“感测”操作正等待执行,那么存储器控制器可确定“感测”操作的执行是否可在不违反功率预算阈值的情况下实现。在某些实例中,可通过将与“感测”操作相关联的功率量和提供存储器系统的瞬时功耗的估计值的状态寄存器相加且将临时总和与功率预算阈值进行比较来实现此确定。如果临时总和小于功率预算阈值,那么在1027处,可起始“感测”操作,并且可使提供存储器系统的瞬时功耗的估计值的状态寄存器递增与“感测”操作相关联的功率量。在某些实例中,电流可表示功率,并且可用作指示功耗的值。
如果在1025处,确定“感测”操作可能会违反功率预算阈值,如可由临时总和大于功率预算阈值所指示,或在1023处,“感测”命令不等待执行,那么在1029处,存储器控制器可确定“编程”操作是否正等待执行。在1031处,如果“编程”操作正等待执行,那么存储器控制器可确定“编程”操作的执行是否可在不违反功率预算阈值的情况下实现。在某些实例中,可通过将与“编程”操作相关联的功率量和提供存储器系统的瞬时功耗的估计值的状态寄存器相加且将临时总和与功率预算阈值进行比较来实现此确定。如果临时总和小于功率预算阈值,那么在1033处,可起始“编程”操作,并且可使提供存储器系统的瞬时功耗的估计值的状态寄存器递增与“编程”操作相关联的功率量。在某些实例中,电流可表示功率,并且可用作指示功耗的值。
如果在1031处,确定“编程”操作可能会违反功率预算阈值,如可由临时总和大于功率预算阈值所指示,或在1029处,“编程”请求不等待执行,那么在1035处,存储器控制器可确定“写入”操作或“传送到NAND”操作是否正等待执行。在1037处,如果“写入”操作正等待执行,那么存储器控制器可确定“写入”操作的执行是否可在不违反功率预算阈值的情况下实现。在某些实例中,可通过将与“写入”操作相关联的功率量和提供存储器系统的瞬时功耗的估计值的状态寄存器相加且将临时总和与功率预算阈值进行比较来实现此确定。如果临时总和小于功率预算阈值,那么在1039处,可起始“写入”操作,并且可使提供存储器系统的瞬时功耗的估计值的状态寄存器递增与“写入”操作相关联的功率量。在某些实例中,电流可表示功率,并且可用作指示功耗的值。
如果在1037处,确定“写入”操作可能会违反功率预算阈值,如可由临时总和大于功率预算阈值所指示,或在1035处,“写入”请求不等待执行,那么在1041处,存储器控制器可确定“读取”操作或“从NAND传送”操作是否正等待执行。在1043处,如果“读取”操作正等待执行,那么存储器控制器可确定“读取”操作的执行是否可在不违反功率预算阈值的情况下实现。在某些实例中,可通过将与“读取”操作相关联的功率量和提供存储器系统的瞬时功耗的估计值的状态寄存器相加且将临时总和与功率预算阈值进行比较来实现此确定。如果临时总和小于功率预算阈值,那么在1045处,可起始“读取”操作,并且可使提供存储器系统的瞬时功耗的估计值的状态寄存器递增与“读取”操作相关联的功率量。在某些实例中,电流可表示功率,并且可用作指示功耗的值。
如果在1043处,确定“读取”操作可能会违反功率预算阈值,如可由临时总和大于功率预算阈值所指示,或在1041处,“读取”请求不等待执行,那么在1047处,存储器控制器可确定“擦除”操作是否正等待执行。在1049处,如果“擦除”操作正等待执行,那么存储器控制器可确定“擦除”操作的执行是否可在不违反功率预算阈值的情况下实现。在某些实例中,可通过将与“擦除”操作相关联的功率量和提供存储器系统的瞬时功耗的估计值的状态寄存器相加且将临时总和与功率预算阈值进行比较来实现此确定。如果临时总和小于功率预算阈值,那么在1051处,可起始“擦除”操作,并且可使提供存储器系统的瞬时功耗的估计值的状态寄存器递增与“擦除”操作相关联的功率量。在某些实例中,电流可表示功率,并且可用作指示功耗的值。
在某些实例中,由于可相对精确地确定与操作中的每一者相关联的功率量,因此图9、10A和10B的技术可在给定功率预算内维持存储器系统的高水平的利用率或性能。应理解,受管理NAND存储器系统可包含比图9、10A及10B的实例方法中所示的操作多或少的操作,而不脱离本发明的主题。图10A和10B意指特定优先化仅作为控制器可给出的执行经缓冲请求和相关联操作的许多可能优先化的一个实例。在某些实例中,可调整图9、10A和10B的方法的条件之间的相对排序以满足不同应用优先级(例如,一个系统可能首先优先化读取操作,并且尝试执行读取传送并首先起始感测操作;另一系统可能优先化I/O,且将读取及写入置于感测及编程之前;等)。应理解,操作的其它优先化是可能的,且不脱离本发明主题的范围。
图11示出本文中论述的技术(例如,方法)中的任何一或多个可在其上执行的实例机器1100的框图。在替代实施例中,机器1100可以作为独立装置操作或可以连接(例如,联网)到其它机器。在联网部署中,机器1100可以在服务器机器、客户端机器或服务器-客户端网络环境两者的能力中操作。在实例中,机器1100可以充当对等式(P2P)(或其它分布式)网络环境中的对等式机器。机器1100可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅示出单一机器,但术语“机器”也将被视为包含单独地或共同地执行指令集(或多个集合)以执行本文中所论述的方法中的任何一个或多个(例如,云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器集合。
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或者可通过逻辑、组件、装置、封装或机构而操作。电路是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路成员可以随时间和基础硬件可变性为灵活的。电路包含当操作时可单独或组合地执行特定任务的部件。在实例中,电路的硬件可以被永恒地设计成实行特定操作(例如,硬接线)。在实例中,电路的硬件可以包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变质量粒子的磁性、电气可移动放置等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件成分的基础电性质例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路的部件以当在操作中时实行特定任务的部分。因此,当装置操作时计算机可读媒体以通信方式耦合到电路的其它组件。在实例中,物理组件中的任一个可以用于多于一个电路中的多于一个部件中。例如,在操作中,执行单元在一个时间点处可以用于第一电路系统的第一电路中,且由第一电路系统中的第二电路或由第二电路系统中的第三电路在不同时间重新使用。
机器(例如,计算机系统)1100(例如,主机装置105、受管理存储器装置110等)可包含硬件处理器1102(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器1104和静态存储器1106,其中的一些或全部可经由互连链路(例如,总线)1108彼此通信。机器1100可进一步包含显示单元1110、字母数字输入装置1112(例如,键盘)和用户接口(UI)导航装置1114(例如,鼠标)。在实例中,显示单元1110、输入装置1112和UI导航装置1114可为触摸屏显示器。机器1100可另外包含存储装置(例如,驱动单元)、信号产生装置1118(例如,扬声器)、网络接口装置1120和一或多个传感器1116,例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器。机器1100可包含输出控制器1128,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
机器可读媒体1122可包含存储装置1121,体现本文所描述的技术或功能中的任何一或多者或由其利用的数据结构或指令1124(例如,软件)的一或多个集合存储于所述机器可读媒体上。指令1124还可在其由机器1100执行期间完全或至少部分地驻留在主存储器1104内、静态存储器1106内或硬件处理器1102内。在实例中,硬件处理器1102、主存储器1104、静态存储器1106或存储装置1121中的一个或任何组合可构成机器可读媒体1122。
虽然机器可读媒体1122示出为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令1124的单个媒体或多个媒体(例如,集中或分布式数据库,或相关联高速缓冲存储器和服务器)。
术语“机器可读媒体”可以包含能够存储、编码或载送用于由机器1100执行的暂时性或非暂时性指令且使机器1100执行本发明的技术中的任何一或多个,或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何暂时性或非暂时性媒体。非限制性机器可读媒体实例可以包含固态存储器以及光学和磁性媒体。在实例中,有质量的机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,有质量的机器可读媒体不是暂时性传播信号。有质量的机器可读媒体的具体实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可移除式盘;磁光盘;以及CD-ROM和DVD-ROM盘。
指令1124(例如,软件、程序、操作系统(OS)等)或其它数据存储于存储装置1121上,可由存储器1104存取以供处理器1102使用。存储器1104(例如,DRAM)通常是快速但易失性的,且因此是与存储装置1121(例如,SSD)不同类型的存储,所述存储装置1121适合于长期存储,包含在“断开”条件中时的长期存储。在处于用户或机器1100使用中的指令1124或数据通常加载于存储器1104中供处理器1102使用。当存储器1104装满时,可分配来自存储装置1121的虚拟空间以补充存储器1104;然而,因为存储装置1121通常比存储器1104慢,且写入速度通常比读取速度慢至少两倍,所以虚拟存储器的使用由于存储装置时延(与存储器1104相比,例如DRAM)可极大地降低用户体验。此外,用于虚拟存储器的存储装置1121的使用可极大地减少存储装置1121的可用使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,
Figure BDA0002347763080000231
内核特征“ZRAM”)使用存储器的部分作为经压缩块存储以避免对存储装置1121的分页。分页在经压缩块中发生直到必须将这些数据写入到存储装置1121为止。虚拟存储器压缩增加存储器1104的可用大小,同时减少存储装置1121上的磨损。
针对移动电子装置或移动存储而优化的存储装置传统地包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含与主机装置的若干并行接口(例如,8位并行接口),且经常是从主机装置可移除和分离的组件。相比之下,eMMCTM装置附接到电路板且视为主机装置的组件,其读取速度比得上基于串行ATATM(串行高级技术(AT)附接,或SATA)的SSD装置。然而,对移动装置性能的需求持续增加,以便完全实现虚拟或增强现实装置,利用增加的网络速度等。响应于此需求,存储装置已经从并行转移到串行通信接口。包含控制器和固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,进一步推进了更高的读取/写入速度。
指令1124可以进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置1120使用传输媒体在通信网络1126上发射或接收。实例通信网络可以包含局域网(LAN)、广域网(WAN)、包数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如,称为
Figure BDA0002347763080000241
的电气电子工程师学会(IEEE)802.11系列标准、称为
Figure BDA0002347763080000242
的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等式(P2P)网络,以及其它网络。在实例中,网络接口装置1120可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络1126。在实例中,网络接口装置1120可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一个无线地通信。术语“传输媒体”应被视为包含能够存储、编码或载送指令以由机器1100执行的任何无形媒体,且包含数字或模拟通信信号或用以促进此软件的通信的其它无形媒体。
以上详细描述包含对随附图式的参考,所述随附图式形成详细描述的部分。附图借助于说明示出具体实施例,其中可实践本发明的主题。这些实施例在本文中也称为“实例”。此类实例可包含除了所展示或所描述的那些元件之外的元件。然而,本发明人还预期其中仅提供所示出或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件等。如本文所使用,“处理器”意味着任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、控制电路系统、数字信号处理器(DSP),或任何其它类型的处理器或处理电路,包含一组处理器或多核心装置。
将理解,当一元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合或可存在介入元件。相比之下,当一元件被称作“直接”在另一元件“上”、“直接连接到”或“直接耦合到”另一元件时,不存在介入的元件或层。如果两个元件在图式中展示为被线连接,那么除非另外指明,否则所述两个元件可耦合、或直接耦合。
将理解,术语“模块”(例如,回写模块)可指代用于执行或经配置以执行所描述的功能的软件和电路系统的任何组合。“模块”可指代可编程装置、不可编程装置、ASIC、PLD、FGPA或经配置以执行所描述功能的其它专用或特定电路系统或硬件元件。“模块”可指代经配置以执行所描述功能的软件(例如,一或多个计算机可读指令、代码或在计算机或处理器或控制电路系统上运行的程序)。
本文中所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包含编码有暂时性或非暂时性指令的暂时性或非暂时性计算机可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如在以上实例中描述的方法。这类方法的实施方案可包含代码,例如微码、汇编语言代码、高级语言代码等等。这类代码可包含用于执行各种方法的计算机可读指令。所述代码可以形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可装卸式磁盘、可装卸式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置及类似物。
上文所描述的装置和技术的额外实例如下:
实例1是一种存储器装置,其包括:多个存储器裸片,每一存储器裸片包含多个存储器平面,并且其中每一存储器平面可独立于其它存储器平面接收并处理存储器命令;以及控制器,其经配置以缓冲并触发所述存储器命令的执行,以独立地使所述多个存储器裸片中的每一存储器裸片通电和断电,为经缓冲存储器命令加时间戳且基于经缓冲存储器命令的时间戳使所述多个存储器裸片通电和断电。
在实例2中,根据实例1所述的主题,其中所述存储器装置包含NAND存储器。
在实例3中,根据实例1至2中任一个所述的主题,其中所述控制器经配置以估计所述存储器装置的能耗、比较估计值与预定能量预算以提供能量错误,且基于所述经缓冲存储器命令的所述时间戳或所述能量错误使所述多个存储器裸片通电和断电。
在实例4中,根据实例1至3中任一个所述的主题,其中所述控制器经配置以确定所述多个存储器裸片中的每一经通电存储器裸片的通电间隔,且基于所述经缓冲存储器命令的所述时间戳及一或多个经通电存储器裸片的所述通电间隔使所述多个存储器裸片通电和断电。
在实例5中,根据实例1至4中任一个所述的主题,其中所述控制器包含用于所述多个存储器裸片中的每一存储器裸片的队列,其经配置以存储用于对应存储器裸片的每一经缓冲命令的指示,确定最长经缓冲命令的缓冲持续时间,且在所述缓冲持续时间超过预定闲置阈值时将闲置限制指示提供到所述控制器。
在实例6中,根据实例5所述的主题,其中所述控制器经配置以接收所述闲置限制指示,响应于所述闲置限制指示而开始缓冲最长通电裸片的命令。
在实例7中,根据实例6所述的主题,其中所述控制器经配置以确定所述最长通电裸片何时变得闲置、使所述最长通电裸片断电、使与所述最长经缓冲命令相关联的第二裸片通电,且将相应队列的经缓冲命令传输到所述第二裸片。
在实例8中,根据实例1至7中任一个所述的主题,其中所述控制器包含用于所述多个存储器裸片中的每一存储器平面的存储器队列,每一存储器平面队列经配置以存储用于对应存储器平面的每一经缓冲命令的指示,确定最长经缓冲命令的缓冲持续时间,且在所述缓冲持续时间超过预定闲置阈值时将闲置限制指示提供到所述控制器。
在实例9中,根据实例8所述的主题,其中所述控制器经配置以接收所述闲置限制指示,且响应于所述闲置限制指示而开始缓冲最长通电裸片的命令。
在实例10中,根据实例9所述的主题,其中所述控制器经配置以确定所述最长通电裸片何时变得闲置、使所述最长通电裸片断电、使与所述最长经缓冲命令相关联的第二裸片通电,且响应于所述第二裸片的通电而传输与所述闲置限制指示相关联的存储器平面队列的经缓冲命令。
在实例11中,根据实例10所述的主题,其中所述控制器经配置以传输所述第二裸片的每一存储器平面队列的经缓冲命令。
实例12是一种方法,其包括:启用具有多个存储器裸片的存储器系统的存储器裸片子集;启动用于每一作用中存储器裸片的作用中定时器;基于与每一作用中裸片处的经缓冲存储器命令相关联的时间戳而初始化所述经缓冲存储器命令的执行;以及在用于所述存储器裸片子集中的第一存储器裸片的所述作用中定时器到期时停用所述第一裸片,以维持对所述存储器系统的功率预算的遵从性。
在实例13中,根据实例12所述的主题,其中启动作用中定时器包含启动用于所述存储器系统的每一被停用存储器裸片的经解除激活定时器。
在实例14中,根据实例13所述的主题,其包含在第一经解除激活定时器到期时,确定所述存储器裸片子集中的最长作用中存储器裸片。
在实例15中,根据实例12至14中任一个所述的主题,其包含停用所述最长作用中存储器裸片以及启动与所述最长作用中存储器裸片相关联的经解除激活定时器。
在实例16中,根据实例15所述的主题,其包含使用用于所述存储器系统的每一被停用存储器裸片的所述经解除激活定时器来确定最长被停用存储器裸片。
在实例17中,根据实例16所述的主题,其包含激活所述最长被停用存储器裸片以提供新激活的存储器裸片,以及启动与新作用中存储器裸片相关联的作用中定时器。
实例18是一种机器可读媒体,其包含用于NAND存储器系统的功率管理的指令,所述指令在由处理电路系统执行时使所述处理电路系统执行操作,所述操作包括:启用具有多个存储器裸片的存储器系统的存储器裸片子集;启动用于每一作用中存储器裸片的作用中定时器;基于与每一作用中裸片处的经缓冲存储器命令相关联的时间戳而初始化所述经缓冲存储器命令的执行;以及在用于所述存储器裸片子集中的第一存储器裸片的所述作用中定时器到期时停用所述第一裸片,以维持对所述存储器系统的功率预算的遵从性。
在实例19中,根据实例18所述的主题,其中启动作用中定时器包含启动用于所述存储器系统的每一被停用存储器裸片的经解除激活定时器。
在实例20中,根据实例19所述的主题,其中,在第一经解除激活定时器到期时,所述操作包含:确定所述存储器裸片子集中的最长作用中存储器裸片;停用所述最长作用中存储器裸片以提供新解除激活的存储器裸片;启动与所述新解除激活的存储器裸片相关联的经解除激活定时器;使用用于所述存储器系统的每一被停用存储器裸片的所述经解除激活定时器确定最长被停用存储器裸片;以及激活所述最长被停用存储器裸片以提供新激活的存储器裸片且启动与新作用中存储器裸片相关联的作用中定时器。
实例21是一种方法,其包括:在第一间隔内在存储器装置的第一通道处起始第一类型的第一多个主机请求的NAND存储器操作;以及在完成所述第一间隔时,在第二间隔内在第一多平面存储器裸片处执行第二类型的第二多个同种的主机请求的NAND存储器操作。
在实例22中,根据实例21所述的主题,其中所述第一类型的所述主机请求的NAND存储器操作是具有在第一功率电平下的命令功率峰值且后跟着在第二功率电平下的输出数据传送的NAND读取操作;并且其中所述起始所述第一类型的所述第一多个主机请求的NAND存储器操作包含:仅仅执行多个NAND读取操作;以及使所述多个NAND读取操作中的每一NAND读取操作的所述命令功率峰值在时间上交错。
在实例23中,根据实例22所述的主题,其中所述第二类型的所述主机请求的NAND存储器操作是具有在第三功率电平下的接收数据传送且后跟着在第四功率电平下的多个命令功率峰值的NAND写入操作;并且其中所述起始所述第二类型的所述第二多个主机请求的NAND存储器操作包含:在所述第二间隔期间仅仅执行多个NAND写入操作;以及使所述多个NAND写入操作中的每一NAND写入操作的所述多个命令功率峰值在时间上交错。
在实例24中,根据实例23所述的主题,其中所述第三功率电平小于所述第四功率电平。
在实例25中,根据实例23至24中任一个所述的主题,其中所述第二功率电平小于所述第一功率电平。
在实例26中,根据实例21至25中任一个所述的主题,其中所述第一类型的所述主机请求的NAND存储器操作是具有在第一功率电平下的接收数据传送且后跟着在第二功率电平下的多个命令功率峰值的NAND写入操作;并且其中所述起始所述第一类型的所述第一多个主机请求的NAND存储器操作包含:在所述第一间隔期间仅仅执行多个NAND写入操作;以及使所述多个NAND写入操作中的每一NAND写入操作的所述多个命令功率峰值在时间上交错。
在实例27中,根据实例26所述的主题,其中所述第二类型的所述主机请求的NAND存储器操作是具有在第三功率电平下的命令功率峰值且后跟着在第四功率电平下的输出数据传送的NAND读取操作;并且其中所述起始所述第二类型的所述第二多个主机请求的NAND存储器操作包含:在所述第二间隔期间仅仅执行多个NAND读取操作;以及使所述多个NAND读取操作中的每一NAND读取操作的所述命令功率峰值在时间上交错。
在实例28中,根据实例27所述的主题,其中所述第四功率电平小于所述第三功率电平。
在实例29中,根据实例27至28中任一个所述的主题,其中所述第一功率电平小于所述第二功率电平。
实例30是一种NAND存储器系统,其包括:多个NAND多平面存储器阵列,其中每一存储器阵列经配置以并行地同时处理读取请求和写入请求;控制器,其经配置以从主机装置接收存储器请求并使用所述多个NAND多平面存储器阵列在功率预算内服务于所述请求,其中所述存储器请求可包含读取请求和写入请求;其中所述存储器控制器进一步经配置以对于给定多平面存储器阵列,在第一间隔内起始对所述给定多平面存储器阵列的多个仅读取请求,且在所述第一间隔之后的第二间隔内起始对所述给定多平面存储器阵列的多个仅写入请求以使所述NAND存储器系统的操作符合所述功率预算;并且其中所述多个NAND多平面存储器阵列中的所有所述NAND多平面存储器阵列在处理存储器请求时的同时操作经配置以超过所述功率预算。
在实例31中,根据实例30所述的主题,其中所述控制器经配置以缓冲所述存储器请求以便提供经缓冲读取请求和经缓冲写入请求,并起始和终止所述第一间隔和所述第二间隔以符合所述功率预算。
在实例32中,根据实例31所述的主题,其中所述存储器控制器经配置以启用和停用所述多个多平面存储器阵列的子集以使所述NAND存储器系统的操作符合所述功率预算,且改善任何一个经缓冲读取请求或任何一个经缓冲写入请求的待决性。
实例33是一种机器可读媒体,其包含用于NAND存储器系统的功率管理的指令,所述指令在由处理电路系统执行时使所述处理电路系统执行操作,所述操作包括:在第一间隔内在存储器装置的第一通道处起始第一类型的第一多个主机请求的NAND存储器操作;以及在完成所述第一间隔时,在第二间隔内在第一多平面存储器裸片处执行第二类型的第二多个主机请求的NAND存储器操作。
在实例34中,根据实例33所述的主题,其中所述第一类型的所述主机请求的NAND存储器操作是具有在第一功率电平下的命令功率峰值且后跟着在第二功率电平下的输出数据传送的NAND读取操作;并且其中所述起始所述第一类型的所述第一多个主机请求的NAND存储器操作包含:在所述第一间隔期间仅仅执行多个NAND读取操作;以及使所述多个NAND读取操作中的每一NAND读取操作的所述命令功率峰值在时间上交错。
在实例35中,根据实例34所述的主题,其中所述第二类型的所述主机请求的NAND存储器操作是具有在第三功率电平下的接收数据传送且后跟着在第四功率电平下的多个命令功率峰值的NAND写入操作;并且其中所述起始所述第二类型的所述第二多个主机请求的NAND存储器操作包含:在所述第二间隔期间仅仅执行多个NAND写入操作;以及使所述多个NAND写入操作中的每一NAND写入操作的所述多个命令功率峰值在时间上交错。
在实例36中,根据实例35所述的主题,其中所述第三功率电平小于所述第四功率电平;并且其中所述第二功率电平小于所述第一功率电平。
在实例37中,根据实例33至36中任一个所述的主题,其中所述第一类型的所述主机请求的NAND存储器操作是具有在第一功率电平下的接收数据传送且后跟着在第二功率电平下的多个命令功率峰值的NAND写入操作;并且其中所述起始所述第一类型的所述第一多个主机请求的NAND存储器操作包含:在所述第一间隔期间仅仅执行多个NAND写入操作;以及使所述多个NAND写入操作中的每一NAND写入操作的所述多个命令功率峰值在时间上交错。
在实例38中,根据实例37所述的主题,其中所述第二类型的所述主机请求的NAND存储器操作是具有在第三功率电平下的命令功率峰值且后跟着在第四功率电平下的输出数据传送的NAND读取操作;并且其中所述起始所述第二类型的所述第二多个主机请求的NAND存储器操作包含:在所述第二间隔期间仅仅执行多个NAND读取操作;以及使所述多个NAND读取操作中的每一NAND读取操作的所述命令功率峰值在时间上交错。
在实例39中,根据实例38所述的主题,其中所述第四功率电平小于所述第三功率电平;并且其中所述第一功率电平小于所述第二功率电平。
在实例40中,根据实例39所述的主题,其中所述操作包含启用和停用所述NAND存储器系统的多个多平面存储器阵列的子集以使所述NAND存储器系统的操作符合所述功率预算,以及改善在所述NAND存储器系统处从主机接收的任何一个经缓冲读取请求或任何一个经缓冲写入请求的待决性。
实例41是一种方法,其包括:在NAND存储器系统的功率管理电路系统处接收用于NAND存储器操作的操作改变指示;对功率信用和与所述操作改变指示相关联的第一寄存器的值进行求和以提供所述NAND存储器系统的瞬时功耗指示作为所述第一寄存器的所述值,其中,在所述操作改变指示是第一操作完成指示时,所述对功率信用进行求和包含对负第一功率信用与所述第一寄存器的值进行求和以提供所述瞬时功耗指示;并且其中,在所述操作改变指示是第一新命令指示时,所述方法包含:对正第一功率信用与所述瞬时功耗指示的总和与第一功率预算进行比较以提供第一总和;如果所述第一总和小于所述第一功率预算,那么递增所述瞬时功耗指示与所述第一功率信用;以及如果所述第一总和大于所述第一功率预算,那么不递增所述瞬时功耗指示与所述第一功率信用。
在实例42中,根据实例41所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以基于缓冲器的数据来编程所述NAND存储器系统的NAND存储器阵列的单元的编程操作,所述缓冲器例如是主机的缓冲器。
在实例43中,根据实例41至42中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以在通信通道上将数据从主机传送到NAND缓冲器的写入传送操作。
在实例44中,根据实例41至43中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以将所述NAND存储器系统的NAND存储器阵列的单元的状态感测到缓冲器的感测操作。
在实例45中,根据实例41至44中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以在通信通道上将数据从NAND缓冲器传送到主机的读取传送操作。
在实例46中,根据实例41至45中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含擦除操作。
在实例47中,根据实例41至46中任一个所述的主题,其中所述功率信用是和与所述第一操作改变指示相关联的第一操作相关联的电流值。
实例48是一种NAND存储器系统,其包括:多个NAND存储器阵列,其中每一存储器阵列经配置以并行地同时处理读取请求和写入请求;控制器,其经配置以从主机装置接收存储器请求并使用所述多个NAND存储器阵列在功率预算内服务于所述请求;其中所述控制器进一步经配置以:在NAND存储器系统的功率管理电路系统处接收用于NAND存储器操作的操作改变指示;对功率信用和与所述操作改变指示相关联的第一寄存器的值进行求和以提供所述NAND存储器系统的瞬时功耗指示作为所述第一寄存器的所述值,其中,在所述操作改变指示是第一操作完成指示时,所述功率信用包含负第一功率信用;并且其中,在所述操作改变指示是第一新命令指示时,所述控制器经配置以:对第一总和与第一功率预算进行比较,所述第一总和包含正第一功率信用及所述瞬时功耗指示;在所述第一总和小于所述第一功率预算时,递增所述瞬时功耗指示与所述第一功率信用;以及在所述第一总和大于所述第一功率预算时,不修改所述瞬时功耗指示与所述第一功率信用。
在实例49中,根据实例48所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以基于缓冲器的数据来编程所述NAND存储器系统的NAND存储器阵列的单元的编程操作。
在实例50中,根据实例48至49中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以在通信通道上将数据从主机传送到NAND缓冲器的写入传送操作。
在实例51中,根据实例48至50中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以将所述NAND存储器系统的NAND存储器阵列的单元的状态感测到缓冲器的感测操作。
在实例52中,根据实例48至51中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以在通信通道上将数据从NAND缓冲器传送到主机的读取传送操作。
在实例53中,根据实例48至52中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含擦除操作。
在实例54中,根据实例48至53中任一个所述的主题,其中所述功率信用是和与所述第一操作改变指示相关联的第一操作相关联的电流值。
实例55是一种机器可读媒体,其包含用于NAND存储器系统的功率管理的指令,所述指令在由处理电路系统执行时使所述处理电路系统执行操作,所述操作包括:在NAND存储器系统的功率管理电路系统处接收用于NAND存储器操作的操作改变指示;对功率信用和与所述操作改变指示相关联的第一寄存器的值进行求和以提供所述NAND存储器系统的瞬时功耗指示作为所述第一寄存器的所述值,其中,在所述操作改变指示是第一操作完成指示时,所述对功率信用进行求和包含对负第一功率信用与所述第一寄存器的值进行求和以提供所述瞬时功耗指示;并且其中,在所述操作改变指示是第一新命令指示时,所述方法包含:对正第一功率信用与所述瞬时功耗指示的总和与第一功率预算进行比较以提供第一总和;如果所述第一总和小于所述第一功率预算,那么递增所述瞬时功耗指示与所述第一功率信用;以及如果所述第一总和大于所述第一功率预算,那么不递增所述瞬时功耗指示与所述第一功率信用。
在实例56中,根据实例55所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以基于缓冲器的数据来编程所述NAND存储器系统的NAND存储器阵列的单元的编程操作。
在实例57中,根据实例55至56中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以将数据从所述NAND存储器系统的主机接口传送到缓冲器的写入传送操作。
在实例58中,根据实例55至57中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以将所述NAND存储器系统的NAND存储器阵列的单元的状态感测到缓冲器的感测操作。
在实例59中,根据实例55至58中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含经配置以将数据从缓冲器传送到所述NAND存储器系统的主机接口的读取传送操作。
在实例60中,根据实例55至59中任一个所述的主题,其中与所述第一操作改变指示相关联的第一操作包含擦除操作。
实例61是一种方法,其包括:在存储器系统的功率管理电路系统处接收对第一存储器存取操作的第一存储器请求,所述第一存储器存取操作在所述存储器系统的第一部分内的一位置处;相对于用于所述存储器系统的至少所述第一部分的预算功耗中的可用功耗来评估与执行所述第一存储器存取操作相关联的第一功率负荷;确定与执行所请求的第一存储器存取操作相关联的所述第一功率负荷在用于所述存储器系统的至少所述第一部分的所述可用功耗内;以及响应于此确定,执行所述所请求的第一存储器存取操作。
在实例62中,根据实例61所述的主题包含:在所述存储器系统的所述功率管理电路系统处接收对第二存储器存取操作的第二请求,所述第二存储器存取操作在所述存储器系统的所述第一部分内的一位置处;相对于用于所述存储器系统的至少所述第一部分的预算功耗中的可用功耗来评估与执行所述第二存储器存取操作相关联的第二功率负荷;确定与执行所请求的第二存储器存取操作相关联的所述第二功率负荷在用于所述存储器系统的至少所述第一部分的可用功耗外;以及缓冲所述所请求的第二存储器存取操作,直到所述预算功耗中的可用功耗足以支持执行所述所请求的第二存储器存取操作为止。
在实例63中,根据实例61至62所述的主题包含,其中所述预算功耗是针对所述存储器系统内的单个存储器装置而建立的。
在实例64中,根据实例61至63所述的主题包含,其中所述预算功耗是针对所述存储器系统内的一或多个存储器装置的通道而建立的。
在实例65中,根据实例61至64所述的主题包含,其中执行所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的可用功率减小。
在实例66中,根据实例61至65所述的主题包含,其中完成所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的所述可用功率增大。
在实例67中,根据实例61至66所述的主题包含,其中所述预算功耗中的所述可用功率维持在第一寄存器中,从而提供指示所述存储器系统的至少所述第一部分中的瞬时功耗的值。
在实例68中,根据实例67所述的主题包含,其中相对于所述可用功耗来评估所述第一功率负荷包括:对所述第一功率负荷与所述存储器系统的至少所述第一部分中的瞬时功耗的所述值进行求和,以及将求和值与所述预算功耗进行比较。
实例69是一种存储器系统,其包括:多个存储器裸片;控制器,其利用一或多个通道耦合到所述多个存储器裸片中的每一存储器裸片,所述控制器经配置以接收多个存储器请求并使用所述多个存储器裸片在功率预算内服务于所述请求;其中所述存储器控制器包含功率管理电路系统,所述功率管理电路系统经配置以:接收所述多个存储器请求中对在所述存储器系统的第一部分内的一位置处的第一存储器存取操作的第一存储器请求;相对于用于所述存储器系统的至少所述第一部分的预算功耗中的可用功耗来评估与执行所述第一存储器存取操作相关联的第一功率负荷;确定与执行所请求的第一存储器存取操作相关联的所述第一功率负荷在用于所述存储器系统的至少所述第一部分的所述可用功耗内;以及响应于此确定,执行所述所请求的第一存储器存取操作。
在实例70中,根据实例69所述的主题包含,其中所述功率管理电路系统进一步经配置以:接收所述多个存储器请求中对在所述存储器系统的所述第一部分内的一位置处的第二存储器存取操作的第二请求;相对于用于所述存储器系统的至少所述第一部分的所述预算功耗中的所述可用功耗来评估与执行所述第二存储器存取操作相关联的第二功率负荷;确定与执行所请求的第二存储器存取操作相关联的所述第二功率负荷在用于所述存储器系统的至少所述第一部分的可用功耗外;以及缓冲所述所请求的第二存储器存取操作,直到所述预算功耗中的可用功耗足以支持执行所述所请求的第二存储器存取操作为止。
在实例71中,根据实例69至70所述的主题包含,其中所述预算功耗是针对所述多个存储器裸片中的单个存储器裸片而建立的。
在实例72中,根据实例69至71所述的主题包含,其中所述预算功耗是针对所述多个存储器裸片中的一或多个存储器裸片的通道而建立的。
在实例73中,根据实例69至72所述的主题包含,其中执行所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的可用功率减小。
在实例74中,根据实例69至73所述的主题包含,其中完成所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的所述可用功率增大。
在实例75中,根据实例69至74所述的主题包含,其中所述预算功耗中的所述可用功率维持在第一寄存器中,从而提供指示所述存储器系统的至少所述第一部分中的瞬时功耗的值。
在实例76中,根据实例75所述的主题包含,其中相对于所述可用功耗来评估所述第一功率负荷包括:对所述第一功率负荷与所述存储器系统的至少所述第一部分中的瞬时功耗的所述值进行求和,以及将求和值与所述预算功耗进行比较。
实例77是一种机器可读媒体,其包括用于NAND存储器系统的功率管理的指令,所述指令在由处理电路系统执行时使所述处理电路系统执行操作,所述操作包括:在存储器系统的功率管理电路系统处接收对第一存储器存取操作的第一存储器请求,所述第一存储器存取操作在所述存储器系统的第一部分内的一位置处;相对于用于所述存储器系统的至少所述第一部分的预算功耗中的可用功耗来评估与执行所述第一存储器存取操作相关联的第一功率负荷;确定与执行所请求的第一存储器存取操作相关联的所述第一功率负荷在用于所述存储器系统的至少所述第一部分的所述可用功耗内;以及响应于此确定,执行所述所请求的第一存储器存取操作。
在实例78中,根据实例77所述的主题包含,用于执行以下的操作:在所述存储器系统的所述功率管理电路系统处接收对第二存储器存取操作的第二请求,所述第二存储器存取操作在所述存储器系统的所述第一部分内的一位置处;相对于用于所述存储器系统的至少所述第一部分的预算功耗中的可用功耗来评估与执行所述第二存储器存取操作相关联的第二功率负荷;确定与执行所请求的第二存储器存取操作相关联的所述第二功率负荷在用于所述存储器系统的至少所述第一部分的可用功耗外;以及缓冲所述所请求的第二存储器存取操作,直到所述预算功耗中的可用功耗足以支持执行所述所请求的第二存储器存取操作为止。
在实例79中,根据实例77至78所述的主题包含,其中执行所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的可用功率减小;并且其中完成所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的所述可用功率增大。
在实例80中,根据实例77至79所述的主题包含,其中所述预算功耗是针对所述多个存储器裸片中的一或多个存储器裸片的通道而建立的。
实例81是至少一个机器可读媒体,其包含指令,所述指令在由处理电路系统执行时使所述处理电路系统执行操作以实施实例1至80中的任一个。
实例82是一种包括用于实施实例1至80中的任一个的构件的设备。
实例83是一种用于实施实例1至80中的任一个的系统。
实例84是一种实施实例1至80中的任一个的方法。
以上描述意图为说明性的,且不具有限定性。因此,本发明主题的范围应该参考所附权利要求书以及此权利要求书被赋予的等效物的完整范围来确定。

Claims (20)

1.一种方法,其包括:
在存储器系统的功率管理电路系统处接收对第一存储器存取操作的第一存储器请求,所述第一存储器存取操作在所述存储器系统的第一部分内的一位置处;
相对于用于所述存储器系统的至少所述第一部分的预算功耗中的可用功耗来评估与执行所述第一存储器存取操作相关联的第一功率负荷;
确定与执行所请求的第一存储器存取操作相关联的所述第一功率负荷在用于所述存储器系统的至少所述第一部分的所述可用功耗内;以及
响应于此确定,执行所述所请求的第一存储器存取操作。
2.根据权利要求1所述的方法,其包括:
在所述存储器系统的所述功率管理电路系统处接收对第二存储器存取操作的第二请求,所述第二存储器存取操作在所述存储器系统的所述第一部分内的一位置处;
相对于用于所述存储器系统的至少所述第一部分的预算功耗中的可用功耗来评估与执行所述第二存储器存取操作相关联的第二功率负荷;
确定与执行所请求的第二存储器存取操作相关联的所述第二功率负荷在用于所述存储器系统的至少所述第一部分的可用功耗外;以及
缓冲所述所请求的第二存储器存取操作,直到所述预算功耗中的可用功耗足以支持执行所述所请求的第二存储器存取操作为止。
3.根据权利要求1所述的方法,其中所述预算功耗是针对所述存储器系统内的单个存储器装置而建立的。
4.根据权利要求1所述的方法,其中所述预算功耗是针对所述存储器系统内的单个存储器装置的通道而建立的。
5.根据权利要求1所述的方法,其中执行所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的可用功率减小。
6.根据权利要求1所述的方法,其中完成所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的所述可用功率增大。
7.根据权利要求1所述的方法,其中所述预算功耗中的所述可用功率维持在第一寄存器中,从而提供指示所述存储器系统的至少所述第一部分中的瞬时功耗的值。
8.根据权利要求7所述的方法,其中相对于所述可用功耗来评估所述第一功率负荷包括:对所述第一功率负荷与所述存储器系统的至少所述第一部分中的瞬时功耗的所述值进行求和,以及将求和值与所述预算功耗进行比较。
9.一种存储器系统,其包括:
多个存储器裸片;
控制器,其利用一或多个通道耦合到所述多个存储器裸片中的每一存储器裸片,所述控制器经配置以接收多个存储器请求并使用所述多个存储器裸片在功率预算内服务于所述请求;
其中所述存储器控制器包含功率管理电路系统,所述功率管理电路系统经配置以:
接收所述多个存储器请求中对在所述存储器系统的第一部分内的一位置处的第一存储器存取操作的第一存储器请求;
相对于用于所述存储器系统的至少所述第一部分的预算功耗中的可用功耗来评估与执行所述第一存储器存取操作相关联的第一功率负荷;
确定与执行所请求的第一存储器存取操作相关联的所述第一功率负荷在用于所述存储器系统的至少所述第一部分的所述可用功耗内;以及
响应于此确定,执行所述所请求的第一存储器存取操作。
10.根据权利要求9所述的存储器系统,其中所述功率管理电路系统进一步经配置以:
接收所述多个存储器请求中对在所述存储器系统的所述第一部分内的一位置处的第二存储器存取操作的第二请求;
相对于用于所述存储器系统的至少所述第一部分的所述预算功耗中的所述可用功耗来评估与执行所述第二存储器存取操作相关联的第二功率负荷;
确定与执行所请求的第二存储器存取操作相关联的所述第二功率负荷在用于所述存储器系统的至少所述第一部分的所述可用功耗外;以及
缓冲所述所请求的第二存储器存取操作,直到所述预算功耗中的可用功耗足以支持执行所述所请求的第二存储器存取操作为止。
11.根据权利要求9所述的存储器系统,其中所述预算功耗是针对所述多个存储器裸片中的单个存储器裸片而建立的。
12.根据权利要求9所述的存储器系统,其中所述预算功耗是针对所述多个存储器裸片中的单个存储器裸片的通道而建立的。
13.根据权利要求9所述的存储器系统,其中执行所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的可用功率减小。
14.根据权利要求9所述的存储器系统,其中完成所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的所述可用功率增大。
15.根据权利要求9所述的存储器系统,其中所述预算功耗中的所述可用功率维持在第一寄存器中,从而提供指示所述存储器系统的至少所述第一部分中的瞬时功耗的值。
16.根据权利要求15所述的存储器系统,其中相对于所述可用功耗来评估所述第一功率负荷包括:对所述第一功率负荷与所述存储器系统的至少所述第一部分中的瞬时功耗的所述值进行求和,以及将求和值与所述预算功耗进行比较。
17.一种机器可读媒体,其包含用于NAND存储器系统的功率管理的指令,所述指令在由处理电路系统执行时使所述处理电路系统执行操作,所述操作包括:
在存储器系统的功率管理电路系统处接收对第一存储器存取操作的第一存储器请求,所述第一存储器存取操作在所述存储器系统的第一部分内的一位置处;
相对于用于所述存储器系统的至少所述第一部分的预算功耗中的可用功耗来评估与执行所述第一存储器存取操作相关联的第一功率负荷;
确定与执行所请求的第一存储器存取操作相关联的所述第一功率负荷在用于所述存储器系统的至少所述第一部分的所述可用功耗内;以及
响应于此确定,执行所述所请求的第一存储器存取操作。
18.根据权利要求17所述的机器可读媒体,其包含用于执行以下的操作:
在所述存储器系统的所述功率管理电路系统处接收对第二存储器存取操作的第二请求,所述第二存储器存取操作在所述存储器系统的所述第一部分内的一位置处;
相对于用于所述存储器系统的至少所述第一部分的预算功耗中的可用功耗来评估与执行所述第二存储器存取操作相关联的第二功率负荷;
确定与执行所请求的第二存储器存取操作相关联的所述第二功率负荷在用于所述存储器系统的至少所述第一部分的可用功耗外;以及
缓冲所述所请求的第二存储器存取操作,直到所述预算功耗中的可用功耗足以支持执行所述所请求的第二存储器存取操作为止。
19.根据权利要求17所述的机器可读媒体,其中执行所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的可用功率减小;且
其中完成所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算功耗中的所述可用功率增大。
20.根据权利要求17所述的机器可读媒体,其中所述预算功耗是针对所述多个存储器裸片中的单个存储器裸片的通道而建立的。
CN201911402205.1A 2018-12-31 2019-12-30 用于受管理存储器的仲裁技术 Withdrawn CN111381777A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862786944P 2018-12-31 2018-12-31
US62/786,944 2018-12-31
US16/293,295 2019-03-05
US16/293,295 US11237617B2 (en) 2018-12-31 2019-03-05 Arbitration techniques for managed memory

Publications (1)

Publication Number Publication Date
CN111381777A true CN111381777A (zh) 2020-07-07

Family

ID=71122883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911402205.1A Withdrawn CN111381777A (zh) 2018-12-31 2019-12-30 用于受管理存储器的仲裁技术

Country Status (2)

Country Link
US (1) US11237617B2 (zh)
CN (1) CN111381777A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194511B2 (en) 2018-12-31 2021-12-07 Micron Technology, Inc. Arbitration techniques for managed memory
US11237617B2 (en) 2018-12-31 2022-02-01 Micron Technology, Inc. Arbitration techniques for managed memory
US11687277B2 (en) 2018-12-31 2023-06-27 Micron Technology, Inc. Arbitration techniques for managed memory
WO2024021786A1 (zh) * 2022-07-28 2024-02-01 华为技术有限公司 数据读写的方法、控制器和存储设备

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11487444B2 (en) 2020-03-25 2022-11-01 Micron Technology, Inc. Centralized power management in memory devices
US20220398024A1 (en) * 2020-12-18 2022-12-15 Micron Technology, Inc. Dynamic interval for a memory device to enter a low power state
US11907547B2 (en) * 2021-04-30 2024-02-20 Micron Technology, Inc. Power management
CN113490919B (zh) * 2021-06-01 2024-02-02 长江存储科技有限责任公司 用于存储器系统的功率管理
US11868655B2 (en) * 2021-08-25 2024-01-09 Micron Technology, Inc. Memory performance using memory access command queues in memory devices
US11971772B2 (en) * 2021-08-31 2024-04-30 Micron Technology, Inc. Unified sequencer concurrency controller for a memory sub-system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210304A1 (en) * 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
CN101080686A (zh) * 2004-12-14 2007-11-28 松下电器产业株式会社 电子装置及其相关峰值功率控制方法
US20140032939A1 (en) * 2012-07-30 2014-01-30 Micron Technology, Inc. Apparatus power control
CN106662982A (zh) * 2014-08-05 2017-05-10 桑迪士克科技有限责任公司 用于优化功率利用的存储模块和方法
US20170192722A1 (en) * 2015-06-16 2017-07-06 Sandisk Technologies Llc Memory System and Method for Power Management for Reducing a Variable Credit Value By a Computed Consumed Energy Value for Each Corresponding Updated Cycle
US20170269669A1 (en) * 2015-09-22 2017-09-21 Samsung Electronics Co., Ltd. Dynamic non-volatile memory operation scheduling for controlling power consumption of solid-state drives

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9106980B2 (en) 2011-01-13 2015-08-11 Imergy Power Systems, Inc. Communications system
US9477586B1 (en) * 2011-11-03 2016-10-25 Altera Corporation Power-aware memory controller circuitry
US9223373B2 (en) * 2012-03-21 2015-12-29 Hgst Technologies Santa Ana, Inc. Power arbitration for storage devices
US9135192B2 (en) 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
US9405355B2 (en) 2012-08-21 2016-08-02 Micron Technology, Inc. Memory operation power management by data transfer time adjustment
US20160091957A1 (en) * 2014-09-26 2016-03-31 Suketu R. Partiwala Power management for memory accesses in a system-on-chip
US9417961B2 (en) * 2014-11-18 2016-08-16 HGST Netherlands B.V. Resource allocation and deallocation for power management in devices
US20160372160A1 (en) * 2015-06-16 2016-12-22 Sandisk Technologies Inc. Memory System and method for power management
US10665305B2 (en) * 2015-09-09 2020-05-26 Toshiba Memory Corporation Host device connectable to memory device performing patrol read and memory device performing patrol read
US9760311B1 (en) * 2016-06-23 2017-09-12 Sandisk Technologies Llc Storage system and method for adaptive thermal throttling
US20180181186A1 (en) 2016-12-27 2018-06-28 Paul S. Diefenbaugh Buffering data from high-speed i/o to enable longer reduced power consumption state residency
US11029859B2 (en) * 2017-08-23 2021-06-08 Toshiba Memory Corporation Credit based command scheduling
US10228746B1 (en) * 2017-12-05 2019-03-12 Western Digital Technologies, Inc. Dynamic distributed power control circuits
US10372373B1 (en) * 2018-01-29 2019-08-06 Western Digital Technologies, Inc. Adaptive power balancing for memory device operations
US10732897B2 (en) 2018-07-03 2020-08-04 Western Digital Technologies, Inc. Quality of service based arbitrations optimized for enterprise solid state drives
KR20200036627A (ko) * 2018-09-28 2020-04-07 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10732900B2 (en) 2018-10-24 2020-08-04 Western Digital Technologies, Inc. Bounded latency and command non service methods and apparatus
US11194511B2 (en) 2018-12-31 2021-12-07 Micron Technology, Inc. Arbitration techniques for managed memory
US11687277B2 (en) 2018-12-31 2023-06-27 Micron Technology, Inc. Arbitration techniques for managed memory
US11237617B2 (en) 2018-12-31 2022-02-01 Micron Technology, Inc. Arbitration techniques for managed memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210304A1 (en) * 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
CN101080686A (zh) * 2004-12-14 2007-11-28 松下电器产业株式会社 电子装置及其相关峰值功率控制方法
US20140032939A1 (en) * 2012-07-30 2014-01-30 Micron Technology, Inc. Apparatus power control
CN106662982A (zh) * 2014-08-05 2017-05-10 桑迪士克科技有限责任公司 用于优化功率利用的存储模块和方法
US20170192722A1 (en) * 2015-06-16 2017-07-06 Sandisk Technologies Llc Memory System and Method for Power Management for Reducing a Variable Credit Value By a Computed Consumed Energy Value for Each Corresponding Updated Cycle
US20170269669A1 (en) * 2015-09-22 2017-09-21 Samsung Electronics Co., Ltd. Dynamic non-volatile memory operation scheduling for controlling power consumption of solid-state drives

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194511B2 (en) 2018-12-31 2021-12-07 Micron Technology, Inc. Arbitration techniques for managed memory
US11237617B2 (en) 2018-12-31 2022-02-01 Micron Technology, Inc. Arbitration techniques for managed memory
US11687277B2 (en) 2018-12-31 2023-06-27 Micron Technology, Inc. Arbitration techniques for managed memory
US11914897B2 (en) 2018-12-31 2024-02-27 Micron Technology, Inc. Arbitration techniques for managed memory
WO2024021786A1 (zh) * 2022-07-28 2024-02-01 华为技术有限公司 数据读写的方法、控制器和存储设备

Also Published As

Publication number Publication date
US20200209944A1 (en) 2020-07-02
US11237617B2 (en) 2022-02-01

Similar Documents

Publication Publication Date Title
US11237617B2 (en) Arbitration techniques for managed memory
US11914897B2 (en) Arbitration techniques for managed memory
US11635899B2 (en) SLC cache management
US11809729B2 (en) UFS based idle time garbage collection management
US11625176B2 (en) Managed NVM adaptive cache management
US11687277B2 (en) Arbitration techniques for managed memory
US10871968B2 (en) Managed multiple die memory QoS
US10991436B2 (en) Dynamic delay of NAND read commands
US10747441B2 (en) Efficient allocation of storage connection resources
US10424382B2 (en) Increased NAND performance under high thermal conditions

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20200707