CN110032396B - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN110032396B
CN110032396B CN201811092499.8A CN201811092499A CN110032396B CN 110032396 B CN110032396 B CN 110032396B CN 201811092499 A CN201811092499 A CN 201811092499A CN 110032396 B CN110032396 B CN 110032396B
Authority
CN
China
Prior art keywords
power consumption
command
memory
memory device
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811092499.8A
Other languages
English (en)
Other versions
CN110032396A (zh
Inventor
李东燮
俞仁在
千东烨
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.)
SK Hynix Inc
Original Assignee
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN110032396A publication Critical patent/CN110032396A/zh
Application granted granted Critical
Publication of CN110032396B publication Critical patent/CN110032396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Electrotherapy Devices (AREA)

Abstract

本发明涉及一种存储器系统及其操作方法。该存储器系统包括:执行操作的多个存储器装置;功耗分布表存储部,当存储器装置执行操作时存储相对于时间的功耗值的功耗分布表;以及处理器,基于功耗分布表来导出多个存储器装置的总功耗值,并且基于所导出的总功耗值来确定释放排队命令还是保持排队命令。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2018年1月11日提交的申请号为10-2018-0004023的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各个实施例涉及一种存储器系统及其操作方法。特别地,实施例涉及一种存储器系统及其操作方法,根据该存储器系统及其操作方法,存储器控制器可基于非易失性存储器装置的功耗量来确定将执行排队命令还是保持排队命令。
背景技术
非易失性存储器装置可包括多个存储块。另外,每一个存储块可包括多个存储器单元,并且可同时对一个存储块中的存储器单元执行擦除操作。
当执行读取操作、编程操作或擦除操作时,非易失性存储器装置消耗功率,消耗的功率量根据执行时间而变化。作为示例,当执行读取操作时,非易失性存储器的功耗量可能在开始时增加,然后在经过一定时间后减少。
存储器系统可包括多个非易失性存储器装置。因此,存储器系统有必要将这些装置的总功耗控制到某一水平或更低。存储器系统中的高峰值功耗可能会使存储器系统的可靠性劣化。
发明内容
实施例提供了一种根据非易失性存储器装置的功耗来释放或保持排队命令的存储器系统及其操作方法。
根据本公开的方面,提供了一种存储器系统,该存储器系统包括:执行操作的多个存储器装置;当存储器装置执行操作时存储相对于时间的功耗值的功耗分布表的功耗分布表存储部;以及基于功耗分布表导出多个存储器装置的总功耗值并基于导出的总功耗值来确定释放排队命令还是保持排队命令的处理器。
根据本公开的方面,提供了一种操作存储器系统的方法,该方法包括:通过对基于表示相对于操作时间的功耗值的表来执行操作的存储器装置的功耗值求和来导出总功耗值;通过从最大功耗预算中减去总功耗值来导出功耗剩余值;将操作的峰值功率值与功耗剩余值进行比较;以及基于比较结果来确定是否将执行或保持扫描排队命令的命令扫描操作。
根据本公开的方面,提供了一种存储器系统,该存储器系统包括执行操作的多个非易失性存储器装置、存储操作的功耗分布表的功耗分布表存储部、基于与非易失性存储器装置执行的操作相对应的功耗分布表来导出非易失性存储器装置的功耗值的闪存功耗管理部、通过对功耗值求和来导出总功耗值的功耗求和部、以及通过将操作的峰值功率值与总功耗值进行比较来确定是否释放或保持排队命令的命令调度器。
根据本公开的方面,提供了一种存储器系统,该存储器系统包括多个存储器装置和控制存储器装置以执行操作的控制器,其中控制器包括分别具有以设置间隔预先测量的操作的功耗信息的多个功耗表,其中控制器基于通过功耗表和当前操作时间计算的存储器系统的功耗而针对后续操作释放或保持排队命令。
附图说明
现将参照附图更全面地描述各个实施例;然而,本公开的元件和特征可被配置或布置成不同于本文所示或所述的元件和特征。因此,本发明不限于本文阐述的实施例。相反地,提供这些实施例以使本公开彻底且充分,并且将实施例的范围全面地传达给本领域的技术人员。
在附图中,为了说明清楚,可放大附图的尺寸。将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
图1是示出根据本公开的实施例的存储器系统的示图。
图2是示出图1的存储器控制器的示图。
图3是示出根据本公开的另一实施例的存储器系统的示图。
图4是示出图1的非易失性存储器装置的示图。
图5是示出图4的存储块的示图。
图6是示出超级块的示图。
图7是示出读取操作中相对于时间的功耗量的示图。
图8是示出根据本公开的实施例的时间间隔管理部的示图。
图9是示出根据本公开的实施例的功耗分布表存储部的示图。
图10是示出根据本公开的实施例的处理器的示图。
图11是示出根据本公开的实施例的管理峰值功耗的方法的流程图。
图12是示出根据本公开的另一实施例的管理峰值功耗的方法的流程图。
图13是示出存储器系统的另一实施例的示图。
图14是示出存储器系统的另一实施例的示图。
图15是示出存储器系统的另一实施例的示图。
图16是示出存储器系统的另一实施例的示图。
具体实施方式
在下面的详细描述中,仅通过示例的方式示出和描述本公开的实施例。如本领域技术人员将认识到的,在不脱离本公开的技术方案的情况下,所述实施例可以各种不同的方式修改。因此,附图和描述在本质上被认为是说明性而非限制性的。而且,在整个本公开中,对“实施例”等的参考不一定仅针对一个实施例,并且对“实施例”等的不同参考不一定针对相同的实施例。
在整个说明书中,当元件被称为“连接”或“联接”到另一元件时,它可以直接连接或联接到另一元件,或者利用一个或多个置于其间的元件而间接连接或联接到另一元件。另外,除非上下文另有说明,否则当元件被称为“包括”部件时,这表示该元件可进一步包括一个或多个其它部件,而非排除这些部件。
图1是示出根据本公开的实施例的存储器系统的示图。
参照图1,存储器系统1000可包括:即使在电力切断时也保留所存储的数据的非易失性存储器装置1100、用于临时存储数据的缓冲存储器装置1300以及用于在主机2000的控制下控制非易失性存储器装置1100和缓冲存储器装置1300的存储器控制器1200。
主机2000可使用诸如以下的各种通信方式中的至少一种来与存储器系统1000通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
存储器控制器1200可控制存储器系统1000的全部操作,并且控制主机2000与非易失性存储器装置1100之间的数据交换。例如,存储器控制器1200可响应于主机2000的请求,通过控制非易失性存储器装置1100来编程或读取数据。而且,存储器控制器1200可存储包括在非易失性存储器装置1100中的主存储块和子存储块的信息,并且根据针对编程操作而加载的数据量,使非易失性存储器装置1100选择对主存储块或子存储块执行编程操作。在一些实施例中,非易失性存储器装置1100可包括闪速存储器。
存储器控制器1200可控制主机2000与缓冲存储器装置1300之间的数据交换,或者将用于控制非易失性存储器装置1100的系统数据暂时存储在缓冲存储器装置1300中。缓冲存储器装置1300可用作存储器控制器1200的工作存储器、高速缓冲存储器或缓冲存储器。缓冲存储器装置1300可存储由存储器控制器1200执行的代码和命令。而且,缓冲存储器装置1300可存储由存储器控制器1200处理的数据。
存储器控制器1200可将从主机200输入的数据临时存储在缓冲存储器装置1300中,然后将这些数据传输到非易失性存储器装置1100以存储在非易失性存储器装置1100中。而且,存储器控制器1200可接收从主机2000输入的数据和逻辑地址并且将逻辑地址转换成物理地址,其中物理地址表示数据将被实际存储在非易失性存储器装置1100中的区域。而且,存储器控制器1200可在缓冲存储器1300中存储建立逻辑地址与物理地址之间的映射关系的逻辑到物理地址映射表。
在一些实施例中,缓冲存储器装置1300可包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)等。
在一些实施例中,存储器系统1000可不包括缓冲存储器装置1300,该缓冲存储器装置1300可被单独提供或者该缓冲存储器装置1300的功能可被分配给存储器系统1000的一个或多个其它部件。
图2是示出图1的存储器控制器的示图。
参照图2,存储器控制器1200可包括处理器710、存储器缓冲器720、错误校正码(ECC)电路730、主机接口740、缓冲器控制电路750、闪存接口760、数据随机化发生器770、缓冲存储器接口780和总线790。
总线790可被配置成提供存储器控制器1200的部件之间的通道。
处理器710可控制存储器控制器1200的全部操作并且执行逻辑操作。处理器710可通过主机接口740与外部主机2000通信,并且通过闪存接口760与非易失性存储器装置1100通信。而且,处理器710可通过缓冲存储器接口780与缓冲存储器装置1300通信。而且,处理器710可通过缓冲器控制电路750来控制存储器缓冲器720。处理器710可通过使用存储器缓冲器720作为工作存储器、高速缓冲存储器或缓冲存储器来控制存储器系统1000的操作。
处理器710可对从主机2000输入的多个命令进行排队。这种操作被称为多队列。处理器710可顺序地将多个排队的命令传输到非易失性存储器装置1100。
存储器缓冲器720可用作处理器710的工作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器720可存储由处理器710执行的代码和命令。存储器缓冲器720可存储由处理器710处理的数据。存储器缓冲器720可包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路730可执行错误校正。ECC电路730可对待通过闪存接口760而写入非易失性存储器装置1100的数据执行ECC编码。经ECC编码数据可通过闪存接口760传输到非易失性存储器装置1100。ECC电路730可对通过闪存接口760而从非易失性存储器装置1100接收的数据执行ECC解码。作为示例,ECC电路730可作为闪存接口760的部件而被包括在闪存接口760中。
主机接口740被配置成在处理器710的控制下与外部主机2000进行通信。主机接口740可被配置成使用诸如以下的各种通信协议中的至少一种来与主机2000通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
缓冲器控制电路750被配置成在处理器710的控制下控制存储器缓冲器720。
闪存接口760被配置成在处理器710的控制下与非易失性存储器装置1100通信。闪存接口760可通过通道与非易失性存储器装置1100通信命令、地址和数据。
作为示例,存储器控制器1200可不包括存储器缓冲器720和缓冲器控制电路750。在这种实施例中,存储器缓冲器720和/或缓冲器控制电路750可被单独提供,或者存储器缓冲器720和缓冲器控制电路750中的一个或两者的功能可被分配在存储器控制器1200内。
作为示例,处理器710可使用代码来控制存储器控制器1200的操作。处理器710可从设置在存储器控制器1200中的非易失性存储器装置(例如,只读存储器(ROM))加载代码。作为另一示例,处理器710可通过闪存接口760从非易失性存储器装置1100加载代码。
数据随机化发生器770可对数据进行随机化或对被随机化的数据进行去随机化。数据随机化发生器770可对待通过闪存接口760写入非易失性存储器装置1100中的数据执行数据随机化操作。随机化数据可通过闪存接口760传输到非易失性存储器装置1100。数据随机化发生器770可对通过闪存接口760从非易失性存储器装置1100接收的数据执行数据去随机化操作。作为示例,数据随机化发生器770可作为闪存接口760的部件。
作为示例,存储器控制器1200的总线790可被划分成控制总线和数据总线。数据总线可被配置成在存储器控制器1200中传输数据,控制总线可被配置成在存储器控制器1200中传输诸如命令或地址的控制信息。数据总线和控制总线彼此分离,并且不会彼此干扰或影响。数据总线可联接到主机接口740、缓冲器控制电路750、ECC电路730、闪存接口760和缓冲存储器接口780。控制总线可联接到主机接口740、处理器710、缓冲器控制电路单元750、闪存接口760和缓冲存储器接口780。在一些实施例中,存储器控制器1200可不包括缓冲存储器接口780,该缓冲存储器接口780可被单独提供或者该缓冲存储器接口780的功能可被分配在存储器控制器1200内。
缓冲存储器接口780可被配置成在处理器710的控制下与缓冲存储器装置1300通信。缓冲存储器接口780可通过通道与缓冲存储器装置1300通信命令、地址和数据。
图3是示出根据本公开的另一实施例的存储器系统的示图。图3示出了包括多个非易失性存储器装置1100的存储器系统1000,多个非易失性存储器装置1100通过多个通道CH1至CHk而联接到存储器控制器1200。闪存接口760可包括对应于多个通道CH1至CHk的第一至第k通道接口761。
参照图3,存储器控制器1200可通过多个通道CH1至CHk与多个非易失性存储器装置1100通信。多个通道CH1至CHk中的每一个可各自联接到多个通道接口761中的相应一个。作为示例,第一通道CH1可联接到第一通道接口761,第二通道CH2可联接到第二通道接口761,并且第k通道CHk可联接到第k通道接口761。多个通道CH1至CHk中的每一个可联接到一个或多个非易失性存储器装置1100。另外,联接到不同通道的非易失性存储器装置1100可彼此独立地进行操作。换言之,联接到第一通道CH1的非易失性存储器装置1100和联接到第二通道CH2的非易失性存储器装置1100可彼此独立地进行操作。作为示例,存储器控制器1200可在通过第一通道CH1与联接到第一通道CH1的非易失性存储器装置1100通信数据或命令的同时,并行地通过第二通道CH2与联接到第二通道CH2的非易失性存储器装置1100通信数据或命令。
多个通道CH1至CHk中的每一个可联接到多个非易失性存储器装置1100。联接到一个通道的多个非易失性存储器装置1100可构成不同的路,例如,Way1、Way2、…、WayN,其中N表示联接到一个通道的非易失性存储器装置1100的数量。也就是说,第一至第N非易失性存储器装置1100可联接到第一通道CH1,以构成第一路Way1、第二路Way2,直到第N路WayN。可选地,不同于图3所示的配置,相同通道上的两个或多个非易失性存储器装置1100可构成一个路Way。
因为联接到第一通道CH1的第一至第N非易失性存储器装置1100共享第一通道CH1,因此这些非易失性存储器装置1100可能不同时地与存储器控制器1200通信数据或命令,而是可能顺序地与存储器控制器1200通信数据或命令。在下文中,分别配置第一至第N路Way1至WayN的第一至第N非易失性存储器装置1100分别被称为第一Way1至第N WayN非易失性存储器装置。换言之,在存储器控制器1200通过第一通道CH1向第一通道CH1的第一Way1非易失性存储器装置1100传输数据时,第一通道CH1的第二Way2至第N WayN非易失性存储器装置1100可不通过第一通道CH1与存储器控制器1200通信数据或命令。换言之,在共享第一通道CH1的第一至第N非易失性存储器装置1100中的任何一个正占用第一通道CH1时,联接到第一通道CH1的其它非易失性存储器装置1100不能使用第一通道CH1。
然而,第一通道CH1的第一Way1非易失性存储器装置1100和第二通道CH2的第一Way1非易失性存储器装置1100可独立地与存储器控制器1200通信。换言之,在存储器控制器1200通过第一通道CH1和第一通道接口761与第一通道CH1的第一Way1非易失性存储器装置1100通信数据的同时,存储器控制器1200可通过第二通道CH2和第二通道接口761与第二通道CH2的第一Way1非易失性存储器装置1100通信数据。
联接到一个通道CH的Way1至WayN存储器装置1100可并行地执行相同的操作模式。作为示例,联接到第一通道CH1的非易失性存储器装置1100中的每一个可并行地执行读取操作。随着并行操作的非易失性存储器装置1100的数量变多,即随着联接到一个通道CH的路的数量变多,存储器系统1000的峰值功耗,即特定时间的功耗可能变大。
联接到不同通道CH的非易失性存储器装置1100可执行不同的操作。作为示例,当联接到第一通道CH1的非易失性存储器装置1100中的每一个并行地执行读取操作时,联接到第二通道CH2的非易失性存储器装置1100中的每一个可并行地执行编程操作。换言之,联接到不同通道的非易失性存储器装置可独立地执行操作。另外,随着并行地进行操作的通道CH的数量变多,存储器系统1000的峰值功耗可能变大。
联接到相同通道的非易失性存储器装置1100可能不被配置为并行地执行不同的操作。
当在存储器系统1000中出现大量的峰值功耗时,存储器系统1000的可靠性可能劣化。因此,可能需要一种在存储器系统1000的设计中将瞬时消耗的峰值功耗的大小控制到某一水平或更小的技术。
图4是示出图1的非易失性存储器装置的示图。
参照图4,非易失性存储器装置1100可包括用于存储数据的存储器单元阵列100。非易失性存储器装置1100可包括外围电路200,外围电路200被配置成执行用于将数据存储在存储器单元阵列100中的编程操作、用于输出所存储数据的读取操作和用于擦除所存储数据的擦除操作。非易失性存储器装置1100可包括控制逻辑300,控制逻辑300用于在存储器控制器(图1的1200)的控制下控制外围电路200。
存储器单元阵列100可包括至少一个存储器平面,例如存储器平面101a和101b。存储器平面101a和101b中的每一个可以相同的形式配置。存储器平面101a或101b中的多个存储块BLK1至BLKm可被形成为共享袋p-阱(pocket p-well)。
存储器平面101a和101b中的每一个可包括多个存储块BLK1至BLKm(m为正整数)。第a局部线LLa和第a位线BL1a至BLna(n为正整数)可联接到包括在存储器平面101a中的存储块BLK1至BLKm中的每一个。另外,第b局部线LLb和第b位线BL1b至BLnb(n为正整数)可联接到存储器平面101b中的存储块BLK1至BLKm中的每一个。
例如,第a局部线LLa和第b局部线LLb中的每一个可包括第一选择线、第二选择线以及布置在第一和第二选择线之间的多个字线。而且,第a局部线LLa和第b局部线LLb中的每一个可包括布置在第一选择线和字线之间以及第二选择线和字线之间的虚拟线。此处,第一选择线可以是源极选择线,并且第二选择线可以是漏极选择线。例如,第a局部线LLa和第b局部线LLb中的每一个可包括字线、漏极选择线和源极选择线以及源极线SL。例如,第a局部线LLa和第b局部线LLb中的每一个可进一步包括虚拟线。例如,第a局部线LLa和第b局部线LLb中的每一个可进一步包括管线。
第a局部线LLa可联接到包括在存储器平面101a中的存储块BLK1至BLKm中的每一个,并且第a位线BL1a至BLna可共同联接到包括在存储器平面101a中的存储块BLK1至BLKm。另外,第b局部线LLb可联接到包括在存储器平面101b中的存储块BLK1至BLKm中的每一个,并且第b位线BL1b至BLnb可共同联接到包括在存储器平面101b中的存储块BLK1至BLKm。存储块BLK1至BLKm可以二维或三维结构来实施。例如,在具有二维结构的存储块BLK1至BLKm中,可沿平行于衬底的方向布置存储器单元。例如,在具有三维结构的存储块BLK1至BLKm中,可沿垂直于衬底的方向布置存储器单元。
外围电路200可被配置成在控制逻辑300的控制下执行对所选择存储块的编程操作、读取操作和擦除操作。例如,在控制逻辑300的控制下,外围电路200可将验证电压和通过电压提供至第一选择线、第二选择线和字线,选择性地使第一选择线、第二选择线和字线放电,并且验证联接到字线之中的所选择字线的存储器单元。例如,外围电路200可包括电压生成电路210、联接到存储器平面101a的行解码器220a、联接到存储器平面101b的行解码器220b、联接到存储器平面101a的页面缓冲器组230a、联接到存储器平面101b的页面缓冲器组230b、列解码器240、输入/输出电路250和感测电路260。
电压生成电路210可响应于操作信号OP_CMD而生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。而且,电压生成电路210可响应于操作信号OP_CMD而选择性地使局部线LL放电。例如,在控制逻辑300的控制下,电压生成电路210可生成编程电压、验证电压、通过电压、开启电压、读取电压、擦除电压、源极线电压等。
行解码器220a可响应于行地址RADD,将操作电压Vop传输到与包括在所选择存储器平面101a中的存储块联接的第a局部线LLa。另外,行解码器220b可响应于行地址RADD,将操作电压Vop传输到与包括在所选择存储器平面101b中的存储块联接的第b局部线LLb。
页面缓冲器组230a可包括联接到第a位线BL1a至BLna的多个页面缓冲器PB1至PBn,并且页面缓冲器组230b可包括联接到第b位线BL1b至BLnb的多个页面缓冲器PB1至PBn。页面缓冲器PB1至PBn可响应于页面缓冲器控制信号PBSIGNALS进行操作。例如,在读取或验证操作中,页面缓冲器组230a中的页面缓冲器PB1至PBn可临时存储通过第a位线BL1a至BLna接收的数据,或者感测第a位线BL1a至BLna的电压或电流。
列解码器240可响应于列地址CADD在输入/输出电路250与页面缓冲器组230a和230b之间传输数据。例如,列解码器240可通过第a数据线DLa与页面缓冲器组230a中的页面缓冲器PB1至PBn交换数据,或者通过第b数据线DLb与页面缓冲器组230b中的页面缓冲器PB1至PBn交换数据。而且,列解码器240可通过列线CL与输入/输出电路250交换数据。
输入/输出电路250可将从存储器控制器(图1的1200)接收的命令CMD和地址ADD传输到控制逻辑300,或与列解码器240交换数据DATA。地址ADD可包括行地址RADD和列地址CADD。
在读取操作和验证操作中,感测电路260可响应于权限位VRY_BIT<#>生成参考电流,并且通过将从页面缓冲器组230a接收的第a感测电压VPBa或从页面缓冲器组230b接收的第b感测电压VPBb与由参考电流生成的参考电压进行比较来输出通过信号PASS或失败信号FAIL。
控制逻辑300可通过响应于命令CMD和地址ADD输出操作信号OP_CMD、行地址RADD、页面缓冲器控制信号PBSIGNALS和权限位VRY_BIT<#>来控制外围电路200。而且,控制逻辑300可响应于通过信号PASS或失败信号FAIL来确定验证操作已经通过还是失败。
在非易失性存储器装置1100的操作中,存储块可以是擦除操作的单位。换言之,一个存储块中的多个存储器单元被同时擦除,并且可不被选择性地擦除。
一个非易失性存储器装置1100中的多个存储器平面101a和101b可并行地执行一种操作模式。作为示例,当非易失性存储器装置1100中的第一存储器平面101a执行读取操作时,包括在非易失性存储器装置1100中的第二存储器平面101b可并行地执行读取操作。作为示例,当非易失性存储器装置1100中的第一存储器平面101a执行读取操作时,第二存储器平面101b可不被配置成并行地执行不同于读取操作的编程操作或擦除操作。
随着并行操作的存储器平面101a和101b的数量变多,在存储器系统1000中的多个非易失性存储器装置1100中的每一个中出现的峰值功耗的大小变大。因此,存储器系统1000的峰值功耗,即特定时间的功耗可能变大。
可并行地对一个存储器平面101a或101b中的多个存储块BLK1至BLKm进行擦除或编程。随着并行操作的存储块BLK1至BLKm的数量变多,在存储器系统1000中的多个非易失性存储器装置1100中的每一个中出现的峰值功耗的大小变大。因此,存储器系统1000的峰值功耗,即特定时间的功耗可能变大。
如上所述,当在存储器系统1000中出现大量的峰值功耗时,存储器系统1000的可靠性可能劣化。因此,可能需要一种在存储器系统1000的设计中将瞬时消耗的峰值功率的大小控制到某一水平或更小的技术。
图5是示出图4的存储块的示图。
参照图5,在存储块BLKm中,并行布置的多个字线可联接在第一选择线和第二选择线之间。此处,第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。更具体地,存储块BLKm可包括联接在位线BL1至BLn与源极线SL之间的多个串ST。位线BL1至BLn可分别联接到串ST,并且源极线SL可共同联接到串ST。串ST可彼此相同地配置,因此作为示例,将详细描述联接到第一位线BL1的串ST。
串ST可包括彼此串联联接在源极线SL和第一位线BL1之间的源极选择晶体管SST、多个存储器单元F1至F16以及漏极选择晶体管DST。一个串ST可包括至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST,并且一个串ST可包括多于附图中所示的十六个存储器单元F1至F16。
源极选择晶体管SST的源极可联接到源极线SL,漏极选择晶体管DST的漏极可联接到第一位线BL1。存储器单元F1至F16可串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。不同串ST中的源极选择晶体管SST的栅极可联接到源极选择线SSL,不同串ST中的漏极选择晶体管DST的栅极可联接到漏极选择线DSL,并且不同串ST中的存储器单元F1至F16的栅极可联接到多个字线WL1至WL16。不同串ST中包括的存储器单元之中的、联接到相同字线的一组存储器单元可以是物理页面PPG。因此,包括在存储块BLKm中的物理页面PPG的数量可对应于字线WL1至WL16的数量。
一个存储器单元可存储一位数据。这通常被称为单层单元(SLC)。在这种情况下,一个物理页面PPG可存储一个逻辑页面(LPG)数据。一个LPG数据包括的数据位的数量对应于一个物理页面PPG中的单元的数量。另外,一个存储器单元可存储两位或更多位数据。这通常被称为多层单元(MLC)。在这种情况下,一个物理页面PPG可存储两个或多个LPG数据。作为另一示例,一个存储器单元MC可存储三位数据。这通常被称为三层单元(TLC)。在这种情况下,一个物理页面PPG可存储三个LPG数据。另外,一个存储器单元MC可存储四位数据。这通常被称为四层单元(QLC)。在这种情况下,一个物理页面PPG可存储四个LPG数据。
当一个存储器单元存储2位数据时,一个物理页面PPG可包括两个页面PG。一个页面PG可存储一个LPG数据。一个存储器单元根据数据可具有多个阈值电压中的任何一个,并且一个物理页面PPG中的多个页面PG可由阈值电压差来表示。
一个存储块BLKm中的多个存储器单元可被作为SLC驱动。换言之,包括在一个存储块BLKm中的多个存储器单元可被作为SLC进行编程和读取。存储块BLKm可被称为SLC块。另外,一个存储块BLKm中的多个存储器单元可被作为MLC驱动。换言之,一个存储块BLKm中的多个存储器单元可被作为MLC进行编程和读取。存储块BLKm可被称为MLC块。
一个存储块BLKm中的多个存储器单元可被作为TLC驱动。换言之,一个存储块BLKm中的多个存储器单元可被作为TLC进行编程和读取。存储块BLKm可被称为TLC块。另外,一个存储块BLKm中的多个存储器单元可被作为QLC驱动。换言之,包括在一个存储块BLKm中的多个存储器单元可被作为QLC进行编程和读取。存储块BLKm可被称为QLC块。
非易失性存储器装置1100可包括一个或多个SLC块、一个或多个MLC块、一个或多个TLC块和一个或多个QLC块。
图6是示出超级块的示图。
参照图6,构成第一通道CH1的多个路Way1至WayN中的每一个可配置有一个或多个非易失性存储器装置1100。如上所述,一个非易失性存储器装置1100可包括用于存储数据的存储器单元阵列100。存储器单元阵列100可包括多个存储块BLK1至BLKm。可对存储块BLK1至BLKm 110中的每一个独立地执行擦除操作。可对一个存储块中的多个存储器单元同时执行擦除操作。
超级块可配置有在构成相同通道上的不同路的各个非易失性存储器装置1100中选择的一组存储块。换言之,第一超级块S_BLK1可配置有第一Way1非易失性存储器装置1100中的第一存储块BLK1、第二Way2非易失性存储器装置1100中的第一存储块BLK1至第NWayN非易失性存储器装置1100中的第一存储块BLK1。此外,第二超级块S_BLK2可配置有第一Way1非易失性存储器装置1100中的第二存储块BLK2、第二Way2非易失性存储器装置1100中的第二存储块BLK2至第N WayN非易失性存储器装置1100中的第二存储块BLK2。类似地,第m超级块S_BLKm可配置有第一Way1非易失性存储器装置1100中的第m存储块BLKm、第二Way2非易失性存储器装置1100中的第m存储块BLKm至第N WayN非易失性存储器装置1100中的第m存储块BLKm。
一个超级块中的多个存储块在物理上是不同的存储块,但在逻辑上可作为一个存储块进行操作。换言之,一个超级块中的多个存储块可被同时编程或擦除。存储器系统1000以超级块为单位执行编程操作或擦除操作,从而提高编程操作或擦除操作的性能。而且,存储器系统1000以超级块为单位执行诸如垃圾收集或损耗均衡的操作,从而更高效地管理多个存储块。
可对一个超级块中的多个存储块并行地执行读取操作、编程操作或擦除操作。随着并行操作的存储块的数量变多,即随着构成一个超级块的存储块的数量变多,存储器系统1000的峰值功耗,即特定时间的功耗可能变大。另外,随着并行操作的通道CH的数量变多,存储器系统1000的峰值功率可能变大。
当在存储器系统1000中出现大量的峰值功耗时,存储器系统1000的可靠性可能劣化。因此,可能需要一种在存储器系统1000的设计中将瞬时消耗的峰值功耗的大小控制到某一水平或更小的技术。
图7是示出读取操作中的相对于执行时间的功耗量的示图。
参照图7,当在非易失性存储器装置1100中开始读取操作时,非易失性存储器装置1100的电压生成电路210可首先生成用于读取操作的高电压。此时,电压生成电路210中的高电压泵(未示出)进行操作,并且在高电压泵的操作中可能通常会消耗大量的功率。因此,当开始读取操作时,在非易失性存储器装置1100中可能出现大量的功耗。
在非易失性存储器装置1100生成用于读取操作的高电压之后,非易失性存储器装置1100可将所生成的高电压施加到字线并以预定电压大小对多个位线进行预充电。在执行读取操作期间,当对字线和位线执行充电操作时,非易失性存储器装置1100可能消耗最大量的功率。例如,可能会出现约50μA的功耗。
在对字线和位线执行充电操作之后,非易失性存储器装置1100可读取存储在存储器单元MC中的数据,并且将读取的数据临时存储在页面缓冲器组230a或230b中。
存储器系统1000可将当非易失性存储器装置1100执行读取操作时产生的相对于执行时间的功耗量作为表进行存储。作为示例,当非易失性存储器装置1100执行读取操作时,存储器系统1000可以5μs时间间隔进行分段、1mA的分辨率来存储功耗量。如图7所示,结果可作为表进行存储。可使用不同的时间间隔。例如,可以使用1μs的时间间隔,在这种情况下,可以1mA分辨率来存储相应的功耗量。因此,在用于读取操作的命令被输入到非易失性存储器装置1100之后,在不进行任何单独的功耗测量的情况下,存储器系统1000可通过表来导出非易失性存储器装置1100的相对于时间的功耗量。
在编程操作和擦除操作中,存储器系统1000可将相对于时间的功耗量作为表进行存储并存储该表。作为示例,在编程操作中,可以以不同于读取操作中的时间间隔来量化功耗量。作为示例,在读取操作中,可以1μs的时间间隔来量化功耗量。在编程操作中,可以10μs的时间间隔来量化功耗量。执行编程操作所需的时间可能短于执行读取操作所需的时间。这是因为编程操作中的每单位时间的功耗量变化可能小于读取操作中的每单位时间的功耗量变化。
而且,在擦除操作中,可以不同于读取操作和编程操作中的时间间隔来量化功耗。作为示例,在擦除操作中,可以200μs的时间间隔来量化功耗量。执行擦除操作所需的时间可能短于执行读取操作和编程操作所需的时间。这是因为擦除操作中的每单位时间的功耗量变化可能小于读取操作或编程操作中的每单位时间的功耗量变化。
另外,即使当同时执行在非易失性存储器装置1100中执行的诸如高速缓存读取操作或高速缓存编程操作的操作与在非易失性存储器装置1100和存储器控制器1200之间的数据传输时,存储器系统1000也可将功耗量作为表进行存储并对该表进行管理。
图8是示出根据本公开的实施例的时间间隔管理部的示图。
参照图8,存储器控制器1200可包括时间间隔管理部719。另外,时间间隔管理部719可包括读取时间间隔管理部7191、编程时间间隔管理部7192、擦除时间间隔管理部7193、高速缓存读取时间间隔管理部7194和高速缓存编程时间间隔管理部7195。作为另一示例,时间间隔管理部719可被包括在处理器710中。
读取时间间隔管理部7191可通过对从非易失性存储器装置1100开始读取操作的时间点起经过的时间进行计数来生成和输出读取通知信号Tick_RD。作为示例,读取通知信号Tick_RD可包括多个电压脉冲。换言之,读取通知信号Tick_RD可包括以设置或预定时间间隔产生的脉冲。
作为示例,当功耗分布表存储部714(图9)的读取功耗分布表包括第一时间间隔的功耗量时,读取时间间隔管理部7191可生成和输出读取通知信号Tick_RD,该读取通知信号Tick_RD包括从非易失性存储器装置1100开始读取操作时开始、以第一时间间隔产生的脉冲。
作为另一示例,读取时间间隔管理部7191可生成和输出读取通知信号Tick_RD,该读取通知信号Tick_RD包括以第一时间间隔周期性产生的脉冲,而无论非易失性存储器装置1100何时开始读取操作。
编程时间间隔管理部7192可通过对从非易失性存储器装置1100开始编程操作起经过的时间进行计数来生成和输出编程通知信号Tick_PGM。作为示例,编程通知信号Tick_PGM可包括多个电压脉冲。换言之,编程通知信号Tick_PGM可包括以设置或预定时间间隔产生的脉冲。
作为示例,当功耗分布表存储部714的编程功耗分布表包括第二时间间隔的功耗量时,编程时间间隔管理部7192可生成和输出编程通知信号Tick_PGM,该编程通知信号Tick_PGM包括从非易失性存储器装置1100开始编程操作时开始、以第二时间间隔产生的脉冲。
作为另一示例,编程时间间隔管理部7192可生成和输出编程通知信号Tick_PGM,该编程通知信号Tick_PGM包括以第二时间间隔周期性产生的脉冲,而无论非易失性存储器装置1100何时开始编程操作。
编程通知信号Tick_PGM中的脉冲的第二时间间隔可大于读取通知信号Tick_RD中的脉冲的第一时间间隔。
擦除时间间隔管理部7193可通过对从非易失性存储器装置1100开始擦除操作起经过的时间进行计数来生成和输出擦除通知信号Tick_ERS。作为示例,擦除通知信号Tick_ERS可包括多个电压脉冲。换言之,擦除通知信号Tick_ERS可包括以设置或预定时间间隔产生的脉冲。
作为示例,当功耗分布表存储部714的擦除功耗分布表包括第三时间间隔的功耗量时,擦除时间间隔管理部7193可生成和输出擦除通知信号Tick_ERS,该擦除通知信号Tick_ERS包括从非易失性存储器装置1100开始擦除操作时开始、以第三时间间隔产生的脉冲。
作为另一示例,擦除时间间隔管理部7193可生成和输出擦除通知信号Tick_ERS,该擦除通知信号Tick_ERS包括以第三时间间隔周期性产生的脉冲,而无论非易失性存储器装置1100何时开始擦除操作。
包括在擦除通知信号Tick_ERS中的脉冲的第三时间间隔可大于包括在读取通知信号Tick_RD中的脉冲的第一时间间隔和包括在编程通知信号Tick_PGM中的脉冲的第二时间间隔。
高速缓存读取时间间隔管理部7194可通过对从非易失性存储器装置1100开始高速缓存读取操作起经过的时间进行计数来生成和输出高速缓存读取通知信号Tick_CacheRD。作为示例,高速缓存读取通知信号Tick_CacheRD可包括以设置或预定时间间隔产生的脉冲。
作为示例,当功耗分布表存储部714的高速缓存读取功耗分布表包括第四时间间隔的功耗量时,高速缓存读取时间间隔管理部7194可生成和输出高速缓存读取通知信号Tick_CacheRD,该高速缓存读取通知信号Tick_CacheRD包括从非易失性存储器装置1100开始高速缓存读取操作时开始、以第四时间间隔产生的脉冲。
包括在高速缓存读取通知信号Tick_CacheRD中的脉冲的第四时间间隔可等于或不同于读取通知信号Tick_RD中的脉冲的第一时间间隔。
作为另一示例,高速缓存读取时间间隔管理部7194可生成和输出高速缓存读取通知信号Tick_CacheRD,该高速缓存读取通知信号Tick_CacheRD包括以第四时间间隔周期性产生的脉冲,而无论非易失性存储器装置1100何时开始高速缓存读取操作。
高速缓存编程时间间隔管理部7195可通过对从非易失性存储器装置1100开始高速缓存编程操作起经过的时间进行计数来生成和输出高速缓存编程通知信号Tick_CachePGM。作为示例,高速缓存编程通知信号Tick_CachePGM可包括多个电压脉冲。换言之,高速缓存编程通知信号Tick_CachePGM可包括以设置或预定时间间隔产生的脉冲。
作为示例,当功耗分布表存储部714的高速缓存编程功耗分布表包括第五时间间隔的功耗量时,高速缓存编程时间间隔管理部7195可生成和输出高速缓存编程通知信号Tick_CachePGM,该高速缓存编程通知信号Tick_CachePGM包括从非易失性存储器装置1100开始高速缓存编程操作时开始、以第五时间间隔产生的脉冲。
作为另一示例,高速缓存编程时间间隔管理部7195可生成和输出高速缓存编程通知信号Tick_CachePGM,该高速缓存编程通知信号Tick_CachePGM包括以第五时间间隔周期性产生的脉冲,而无论非易失性存储器装置1100何时开始高速缓存编程操作。
高速缓存编程通知信号Tick_CachePGM中的脉冲的第五时间间隔可等于或不同于编程通知信号Tick_PGM中的脉冲的第二时间间隔。
时间间隔管理部719可响应于从处理器710输出的队列命令信号Command_que,开始生成通知信号中的脉冲。作为示例,当队列命令信号Command_que对应于读取命令时,时间间隔管理部719可开始以第一时间间隔生成读取通知信号Tick_RD脉冲。而且,当队列命令信号Command_que是对应于编程命令的信号时,时间间隔管理部719可开始以第二时间间隔生成编程通知信号Tick_PGM脉冲。而且,当队列命令信号Command_que是对应于擦除命令的信号时,时间间隔管理部719可开始以第三时间间隔生成擦除通知信号Tick_ERS脉冲。
图9是示出根据本公开的实施例的功耗分布表存储部的示图。
参照图9,存储器控制器1200可进一步包括功耗分布表存储部714。另外,功耗分布表存储部714可包括读取功耗分布表、编程功耗分布表、擦除功耗分布表、高速缓存读取功耗分布表和高速缓存编程功耗分布表。作为另一示例,功耗分布表存储部714可被包括在处理器710中。
读取功耗分布表可表示读取操作中的相对于时间段的功耗量。作为示例,读取功耗分布表可表示从向非易失性存储器装置1100输入用于读取操作的命令开始、基于设置时间间隔的时间段的功耗量。而且,读取功耗分布表可表示由非易失性存储器装置1100中的存储器平面101a和101b中的至少一个所消耗的功耗量。当在多个存储器平面101a和101b中同时执行读取操作时,处理器710可通过将存储在读取功耗分布表中的相应功耗量乘以被执行读取操作的存储器平面101a和101b的数量,来导出由非易失性存储器装置1100消耗的一个或多个间隔的功耗量。
作为示例,读取功耗分布表可包括读取操作中的第一时间间隔的功耗量。作为示例,第一时间间隔可以是1μs,并且读取功耗分布表可包括基于1μs时间间隔的读取操作的时间段的功耗量。当非易失性存储器装置1100执行读取操作时,功耗分布表存储部714可基于读取功耗分布表生成和输出读取时间信号功耗信号tRD_PWRConsumption,其中读取时间信号功耗信号tRD_PWRConsumption对应于相对于时间段的功耗量。
功耗分布表存储部714可基于从读取时间间隔管理部7191输出的读取通知信号Tick_RD来生成和输出读取时间功耗信号tRD_PWRConsumption,其中读取时间功耗信号tRD_PWRConsumption对应于相对于时间段的功耗量,其中在该时间段期间非易失性存储器装置1100执行读取操作。换言之,功耗分布表存储部714可基于读取通知信号Tick_RD来检测读取操作的时间段。
编程功耗分布表可表示相对于编程操作的时间段的功耗量。作为示例,编程功耗分布表可表示从向非易失性存储器装置1100输入用于编程操作的命令时开始、以时间段划分的功耗量。而且,编程功耗分布表可表示非易失性存储器装置1100中的存储器平面101a和101b中的至少一个的功耗。当在多个存储器平面101a和101b中同时执行编程操作时,处理器710可通过将存储在编程功耗分布表中的适用时间段的功耗量乘以被执行编程操作的存储器平面101a和101b的数量,来导出非易失性存储器装置1100消耗的总功耗量。
作为示例,编程功耗分布表可包括编程操作中的第二时间间隔的功耗量。作为示例,第二时间间隔可以是10μs,并且编程功耗分布表可包括以10μs为间隔的时间段的编程操作的功耗量。功耗分布表存储部714可基于编程功耗分布表来生成和输出编程时间功耗信号tPGM_PWRConsumption,其中编程时间功耗信号tPGM_PWRConsumption对应于相对于编程操作的时间段的功耗量。
功耗分布表存储部714可基于从编程时间间隔管理部7192输出的编程通知信号Tick_PGM来生成和输出编程时间功耗信号tPGM_PWRConsumption,其中编程时间功耗信号tPGM_PWRConsumption对应于相对于编程操作的时间段的功耗量相。换言之,功耗分布表存储部714可基于编程通知信号Tick_PGM来检测编程操作的时间段。
擦除功耗分布表可表示相对于擦除操作的时间段的功耗量。作为示例,擦除功耗分布表可表示从向非易失性存储器装置1100输入用于擦除操作的命令时开始、以时间段划分的功耗量。而且,擦除功耗分布表可表示由非易失性存储器装置1100中的存储器平面101a和101b中的至少一个所消耗的功耗量。当在包括在非易失性存储器装置1100中的多个存储器平面101a和101b中同时执行擦除操作时,处理器710可通过将存储在擦除功耗分布表中的适用时间段的功耗量乘以被执行擦除操作的存储器平面101a和101b的数量,来导出非易失性存储器装置1100消耗的总功耗量。
作为示例,擦除功耗分布表可包括擦除操作中的第三时间间隔的功耗量。作为示例,第三时间间隔可以是200μs,并且擦除功耗分布表可包括以200μs的第三时间间隔的时间段划分的擦除操作的功耗量。功耗分布表存储部714可基于擦除功耗分布表来生成和输出擦除时间功耗信号tERS_PWRConsumption,其中擦除时间功耗信号tERS_PWRConsumption对应于相对于擦除操作的时间段的功耗量。
功耗分布表存储部714可基于从擦除时间间隔管理部7193输出的擦除通知信号Tick_ERS来生成和输出擦除时间功耗信号tERS_PWRConsumption,其中擦除时间功耗信号tERS_PWRConsumption对应于相对于擦除操作的时间段的功耗量。换言之,功耗分布表存储部714可基于擦除通知信号Tick_ERS来检测擦除操作的时间段。
高速缓存读取功耗分布表可表示相对于高速缓存读取操作的时间段的功耗量。换言之,高速缓存读取功耗分布表可表示相对于以下操作的时间段的功耗量:在内部执行读取操作的同时,将存储在页面缓冲器组230a和230b中的读取数据输出至存储器控制器1200。
作为示例,高速缓存读取功耗分布表可包括高速缓存读取操作中的第四时间间隔的功耗量。功耗分布表存储部714可基于高速缓存读取功耗分布表生成和输出高速缓存读取时间功耗信号tCacheRD_PWRConsumption,其中高速缓存读取时间功耗信号tCacheRD_PWRConsumption对应于相对于高速缓存读取操作的时间段的功耗量。例如,第四时间间隔可等于或不同于第一时间间隔。
功耗分布表存储部714可基于从高速缓存读取时间间隔管理部7194输出的高速缓存读取通知信号Tick_CacheRD来生成和输出高速缓存读取时间功耗信号tCacheRD_PWRConsumption,其中高速缓存读取时间功耗信号tCacheRD_PWRConsumption对应于相对于高速缓存读取操作的时间段的功耗量。换言之,功耗分布表存储部714可基于高速缓存读取通知信号Tick_CacheRD来检测高速缓存读取操作的时间段。
高速缓存编程功耗分布表可表示相对于高速缓存编程操作的时间段的功耗量。换言之,高速缓存编程功耗分布表可表示相对于以下操作的时间段的功耗量:在内部执行编程操作的同时,将从存储器控制器1200输入的编程数据锁存到页面缓冲器组230a和230b。
作为示例,高速缓存编程功耗分布表可包括高速缓存编程操作中的第五时间间隔的功耗量。功耗分布表存储部714可基于高速缓存编程功耗分布表来生成和输出高速缓存编程时间功耗信号tCachePGM_PWRConsumption,其中高速缓存编程时间功耗信号tCachePGM_PWRConsumption对应于相对于高速缓存编程操作的时间段的功耗量。例如,第五时间间隔可等于或不同于第二时间间隔。
功耗分布表存储部714可基于从高速缓存编程时间间隔管理部7195输出的高速缓存编程通知信号Tick_CachePGM来生成和输出高速缓存编程时间功耗信号tCachePGM_PWRConsumption,其中高速缓存编程时间功耗信号tCachePGM_PWRConsumption对应于相对于高速缓存编程操作的时间段的功耗量。换言之,功耗分布表存储部714可基于高速缓存编程通知信号Tick_CachePGM来检测高速缓存编程操作的时间段。
功耗分布表存储部714可输出以下信号:与相对于读取操作的时间段的功耗量中的最大值相对应的读取峰值功率信号PeakPWR_RD、与相对于编程操作的时间段的功耗量中的最大值相对应的编程峰值功率信号PeakPWR_PGM、与相对于擦除操作的时间段的功耗量中的最大值相对应的擦除峰值功率信号PeakPWR_ERS、与相对于高速缓存读取操作的时间段的功耗量中的最大值相对应的高速缓存读取峰值功率信号PeakPWR_CacheRD,以及与相对于高速缓存编程操作的时间段的功耗量中的最大值相对应的高速缓存编程峰值功率信号PeakPWR_CachePGM。作为示例,参照图7,在从非易失性存储器装置1100开始读取操作的时间点起经过25μs,非易失性存储器装置1100可消耗约50mA的峰值功率。
功耗分布表存储部714可以分别基于读取功耗分布表、编程功耗分布表、擦除功耗分布表、高速缓存读取功耗分布表和高速缓存编程功耗分布表来生成读取峰值功率信号PeakPWR_RD、编程峰值功率信号PeakPWR_PGM、擦除峰值功率信号PeakPWR_ERS、高速缓存读取峰值功率信号PeakPWR_CacheRD以及高速缓存编程峰值功率信号PeakPWR_CachePGM。
图10是示出根据本公开的实施例的处理器的示图。
参照图10,处理器710可进一步包括闪存功耗管理部711。另外,闪存功耗管理部711可包括第一至第k通道功耗管理部7111至711k。
第一至第k通道功耗管理部7111至711k可导出由分别联接到第一至第k通道CH1至CHk的非易失性存储器装置1100产生的功耗量。而且,第一至第k通道功耗管理部7111至711k可输出分别与导出的功耗量相对应的第一功耗信号PWRConsumption_CH1至第k功耗信号PWRConsumption_CHk。
当联接到第一通道CH1的非易失性存储器装置1100执行操作时,第一通道功耗管理部7111可基于从功耗分布表存储部714提供的功耗量和从时间间隔管理部719提供的操作时间,来计算联接到第一通道CH1的非易失性存储器装置1100的相对于时间段的功耗量。
作为另一示例,第一通道功耗管理部7111可基于从功耗分布表存储部714提供的功耗量来计算联接到第一通道CH1的非易失性存储器装置1100的相对于时间段的功耗量,而不需要与从时间间隔管理部719提供的时间段相关的信息。
第一通道功耗管理部7111可基于联接到第一通道CH1的路的数量,即基于并行地执行操作的非易失性存储器装置1100的数量,来导出由联接到第一通道CH1的非易失性存储器装置1100所消耗的功耗量。而且,第一通道功耗管理部7111可基于联接到第一通道CH1的非易失性存储器装置1100中的每一个中的、执行操作的存储器平面101a和101b的数量,来导出联接到第一通道CH1的非易失性存储器装置1100的功耗量并且生成和输出与导出的功耗量相对应的第一功耗信号PWRConsumption_CH1。
作为另一示例,第一通道功耗管理部7111可基于从时间间隔管理部719传输的通知信号,向功耗分布表存储部714请求与联接到第一通道CH1的非易失性存储器装置1100正在执行的操作的功耗量相关的信息,并且从功耗分布表存储部714接收所请求的信息。通知信号可包括读取通知信号Tick_RD、编程通知信号Tick_PGM、擦除通知信号Tick_ERS、高速缓存读取通知信号Tick_CacheRD和高速缓存编程通知信号Tick_CachePGM。第一通道功耗管理部7111可基于联接到第一通道CH1的非易失性存储器装置1100正在执行的操作来选择上述多个通知信号中的任何一个。
作为示例,当联接到第一通道CH1的非易失性存储器装置1100执行读取操作时,第一通道功耗管理部7111可基于从功耗分布表存储部714的读取功耗分布表中输出的相对于时间段的功耗量、联接到第一通道CH1的非易失性存储器装置1100的数量、非易失性存储器装置1100中的每一个中的、执行读取操作的存储器平面101a和101b的数量、以及从读取时间间隔管理部7191传输的读取通知信号Tick_RD中的一个或多个,来导出由联接到第一通道CH1的非易失性存储器装置1100所消耗的相对于读取操作的时间段的功率量,并且生成和输出与导出的功耗量相对应的第一功耗信号PWRConsumption_CH1。
作为另一示例,当联接到第一通道CH1的非易失性存储器装置1100执行读取操作时,第一通道功耗管理部7111可基于从读取时间间隔管理部7191传输的读取通知信号Tick_RD,向功耗分布表存储部714请求与在相应时间正在执行的读取模式所产生的功耗量相关的信息,并且从功耗分布表存储部714接收所请求的信息。也就是说,功耗分布表存储部714可基于读取功耗分布表,输出当前执行的读取操作的功耗量。
而且,第一通道功耗管理部7111可基于从功耗分布表存储部714传输的信息、联接到第一通道CH1的非易失性存储器装置1100的数量、以及在非易失性存储器装置1100中的每一个中的执行读取操作的存储器平面101a和101b的数量,来导出由联接到第一通道CH1的所有非易失性存储器装置1100产生的功耗量。
作为另一示例,当联接到第一通道CH1的非易失性存储器装置1100执行编程操作时,第一通道功耗管理部7111可基于从功耗分布表存储部714的编程功耗分布表中传输的相对于这些时间的功耗量、联接到第一通道CH1的非易失性存储器装置1100的数量、非易失性存储器装置1100中的每一个中的执行编程操作的存储器平面101a和101b的数量、以及从编程时间间隔管理部7192传输的编程通知信号Tick_PGM中的一个或多个,来导出由联接到第一通道CH1的非易失性存储器装置1100所消耗的相对于编程操作的时间段的功率量,并且生成和输出与导出的功耗量相对应的第一功耗信号PWRConsumption_CH1。
作为另一示例,当联接到第一通道CH的非易失性存储器装置1100执行编程操作时,第一通道功耗管理部7111可基于从编程时间间隔管理部7192传输的编程通知信号Tick_PGM,向功耗分布表存储部714请求与在相应时间正在执行的编程操作所产生的功耗量相关的信息,并且从功耗分布表存储部714接收所请求的信息。
而且,第一通道功耗管理部7111可基于从功耗分布表存储部714的编程功耗分布表传输的信息、联接到第一通道CH1的非易失性存储器装置的数量、以及在非易失性存储器装置1100中的每一个中的执行编程操作的存储器平面101a和101b的数量,来导出联接到第一通道CH1的所有非易失性存储器装置1110的功耗量。
作为另一示例,当联接到第一通道CH1的非易失性存储器装置1100执行擦除操作时,第一通道功耗管理部7111可基于从功耗分布表存储部714的擦除功耗分布表中输出的相对于时间段的功耗量、联接到第一通道CH1的非易失性存储器装置1100的数量、非易失性存储器装置1100中的每一个中的执行擦除操作的存储块的数量、以及从擦除时间间隔管理部7193传输的擦除通知信号Tick_ERS中的一个或多个,来导出由联接到第一通道CH1的非易失性存储器装置1100所消耗的相对于擦除操作的时间段的功率量,并且生成和输出与导出的功耗量相对应的第一功耗信号PWRConsumption_CH1。
作为另一示例,当联接到第一通道CH1的非易失性存储器装置1100执行擦除操作时,第一通道功耗管理部7111可基于从擦除时间间隔管理部7193传输的擦除通知信号Tick_ERS,向功耗分布表存储部714请求与由擦除操作所产生的相对于时间的功耗量相关的信息,并且从功耗分布表存储部714接收所请求的信息。功耗分布表存储部714可基于擦除功耗分布表输出该信息。
而且,第一通道功耗管理部7111可基于功耗分布表存储部714通过擦除功耗分布表输出的信息、联接到第一通道CH1的非易失性存储器装置1100的数量、以及在非易失性存储器装置1100中的每一个中执行擦除操作的存储块的数量中的一个或多个,来导出联接到第一通道CH1的所有非易失性存储器装置1100的功耗量。
作为另一示例,当联接到第一通道CH1的非易失性存储器装置1100执行高速缓存读取操作时,第一通道功耗管理部7111可基于从功耗分布表存储部714的高速缓存读取功耗分布表中输出的相对于时间段的功耗量、联接到第一通道CH1的非易失性存储器装置1100的数量、以及从高速缓存读取时间间隔管理部7194传输的高速缓存读取通知信号Tick_CacheRD中的一个或多个,来导出由联接到第一通道CH1的非易失性存储器装置1100所消耗的相对于高速缓存读取操作的时间段的功率量,并且生成和输出与导出的功耗量相对应的第一功耗信号PWRConsumption_CH1。
作为另一示例,当联接到第一通道CH1的非易失性存储器装置1100执行高速缓存编程操作时,第一通道功耗管理部7111可基于从功耗分布表存储部714的高速缓存读取功耗分布表中输出的相对于时间段的功耗量、联接到第一通道CH1的非易失性存储器装置1100的数量、以及从高速缓存编程时间间隔管理部7195传输的高速缓存编程通知信号Tick_CachePGM中的一个或多个,来导出由联接到第一通道CH1的非易失性存储器装置1100所消耗的相对于时间段的功率量,并且生成和输出与导出的功耗量相对应的第一功耗信号PWRConsumption_CH1。
处理器710可进一步包括功耗求和部715。功耗求和部715可对分别从第一通道功耗管理部7111至第k通道功耗管理部711k导出的功耗值进行求和。换言之,功耗求和部715可基于分别从第一通道功耗管理部7111至第k通道功耗管理部711k输出的第一功耗信号PWRConsumption_CH1至第k功耗信号PWRConsumption_CHk,通过对联接到第一通道CH1至第k通道CHk的非易失性存储器装置1100的功耗量进行求和,来导出存储器系统1000中的非易失性存储器装置1100所消耗的总功率量,并且生成和输出与导出的总功耗量相对应的总功耗信号Tot_PWRConsumption_DIE。
处理器710可进一步包括功率预算设置部718。功率预算设置部718可包括与存储器系统1000将消耗的最大功率预算相关的信息。作为示例,功率预算设置部718可包括与存储器系统1000中的所有非易失性存储器装置1100将消耗的最大功率预算相关的信息,并且生成和输出与关于最大功率预算的信息相对应的功率预算信号PWR_Budget。当采用(impose)最大功率预算时,存储器系统1000有必要控制非易失性存储器装置1100在由功率预算设置部718设置的预算内进行操作。
处理器710可进一步包括系统功率管理部716。系统功率管理部716可基于从功耗求和部715输出的、与非易失性存储器装置1100所消耗的总功率量相对应的总功耗信号Tot_PWRConsumption_DIE和从功率预算设置部718输出的、与所有非易失性存储器装置1100可用的最大功率预算相对应的功率预算信号PWR_Budget,来导出功耗剩余值并且生成和输出与功耗剩余值相对应的功耗剩余信号PWRConsumption_Remain,其中功耗剩余值表示非易失性存储器装置1100可用的剩余功率量。
作为示例,系统功率管理部716可通过从功率预算设置部718输出的、所有非易失性存储器装置1100将消耗的最大功率预算中减去从功耗求和部715输出的、非易失性存储器装置1100所消耗的总功率量来计算功耗剩余值。作为示例,当从功耗求和部715输出的、与非易失性存储器装置1100所消耗的总功率量相对应的总功耗信号Tot_PWRConsumption_DIE表示450mA,并且从功率预算设置部718输出的、与所有非易失性存储器装置1100将消耗的最大功率预算相对应的功率预算信号PWR_Budget表示500mA时,系统功率管理部716可生成和输出表示50mA的功耗剩余信号PWRConsumption_Remain。
处理器710可进一步包括命令调度器717。另外,命令调度器717可包括命令排队部7171和命令扫描部7172。
命令调度器717可接收与读取操作的最大功耗量相对应的读取峰值功率信号PeakPWR_RD、与编程操作的最大功耗量相对应的编程峰值功率信号PeakPWR_PGM、与擦除操作的最大功耗量相对应的擦除峰值功率信号PeakPWR_ERS、与高速缓存读取操作的最大功耗量相对应的高速缓存读取峰值功率信号PeakPWR_CacheRD以及与高速缓存编程操作的最大功耗量相对应的高速缓存编程峰值功率信号PeakPWR_CachePGM。
功耗分布表存储部714可基于读取功耗分布表、编程功耗分布表、擦除功耗分布表、高速缓存读取功耗分布表和高速缓存编程功耗分布表,而顺序地生成读取峰值功率信号PeakPWR_RD、编程峰值功率信号PeakPWR_PGM、擦除峰值功率信号PeakPWR_ERS、高速缓存读取峰值功率信号PeakPWR_CacheRD以及高速缓存编程峰值功率信号PeakPWR_CachePGM。
命令排队部7171可对从主机2000输入的多个命令或用于内务操作(housekeeping operation)的多个命令进行排队。
命令扫描部7172可基于从系统功率管理部716输出的功耗剩余信号PWRConsumption_Remain、读取峰值功率信号PeakPWR_RD、编程峰值功率信号PeakPWR_PGM、擦除峰值功率信号PeakPWR_ERS、高速缓存读取峰值功率信号PeakPWR_CacheRD和高速缓存编程峰值功率信号PeakPWR_CachePGM来确定是释放还是保持排队命令。排队命令可根据排队命令信号Command_que被释放。
作为示例,当与从系统功率管理部716输出的功耗剩余信号PWRConsumption_Remain相对应的值是50mA,并且与读取峰值功率信号PeakPWR_RD、编程峰值功率信号PeakPWR_PGM、擦除峰值功率信号PeakPWR_ERS、高速缓存读取峰值功率信号PeakPWR_CacheRD和高速缓存编程峰值功率信号PeakPWR_CachePGM相对应的值分别是70mA、55mA、30mA、90mA和80mA时,命令扫描部7172可释放排队命令中的一个擦除命令。在这种情况下,命令扫描部7172可通过扫描在命令排队部7171中的排队命令来选择擦除命令,并且释放所选择的擦除命令。从命令扫描部7172释放的擦除命令可通过闪存接口760而传输到非易失性存储器装置1100以被执行。
在上述示例中,当在命令排队部7171中排队了多个擦除命令时,命令扫描部7172可选择排队的擦除命令之中的首先排队的擦除命令,并释放所选择的擦除命令。
作为示例,当扫描命令排队部7171中排队的命令时,命令扫描部7172可按照从首先排队的命令,即处于排队时间最长的状态的命令,到排在该命令之后的命令顺序来执行命令扫描操作,即按照与命令排队部7171中的命令排队顺序相同的方向执行命令扫描操作。在这种情况下,当在命令排队部7171中排队了多个擦除命令时,命令扫描部7172可选择排队的擦除命令之中的、首先扫描到的擦除命令并且释放所选择的擦除命令。
作为另一示例,当与从系统功率管理部716输出的功耗剩余信号PWRConsumption_Remain相对应的值是60mA时,命令扫描部7172可扫描在命令排队部7171中排队的命令之中的编程命令或擦除命令,并且释放所扫描的命令。作为另一示例,命令扫描部7172可选择由命令排队部7171排队的编程或擦除命令之中的首先排队的命令,并释放所选择的命令。作为另一示例,当待释放至少一个编程命令或至少一个擦除命令中的任何一个时,命令扫描部7172可选择具有高优先级顺序的命令之中的首先排队的命令,并且释放所选择的命令。作为示例,当编程命令具有比擦除命令更高的优先级顺序时,命令扫描部7172可首先扫描在命令排队部7171中排队的命令之中的编程命令,并且当不存在排队的编程命令时扫描并释放擦除命令。在这种情况下,当在命令排队部7171中排队了多个编程命令时,命令扫描部7172可选择多个编程命令之中的首先排队的编程命令,并释放所选择的编程命令。作为另一示例,命令扫描部7172可按照命令从首先排队命令到最后排队命令的命令顺序来扫描命令。
例如,读取命令可具有最高优先级顺序,编程命令可具有次高优先级顺序,并且擦除命令可具有略低于编程命令的优先级顺序。作为示例,高速缓存读取命令可具有与读取命令相同的优先级顺序,并且高速缓存编程命令可具有与编程命令相同的优先级顺序。
作为示例,当与从系统功率管理部716输出的功耗剩余信号PWRConsumption_Remain相对应的值是20mA,并且与读取峰值功率信号PeakPWR_RD、编程峰值功率信号PeakPWR_PGM、擦除峰值功率信号PeakPWR_ERS、高速缓存读取峰值功率信号PeakPWR_CacheRD和高速缓存编程峰值功率信号PeakPWR_CachePGM相对应的值分别是70mA、55mA、30mA、90mA和80mA时,命令扫描部7172不释放任何命令,直到与功耗剩余信号PWRConsumption_Remain相对应的值变为某一水平或更高,但可等待某些时间。
如上所述,通过处理器710的峰值功率管理操作,可将存储器系统1000所消耗的峰值功率管理到某一水平或更低,并且可最小化存储器系统1000的性能劣化。
图11是示出根据本公开的实施例的管理峰值功率的方法的流程图。
参照图11,作为示例,非易失性存储器装置1100执行读取操作时产生的读取峰值功率值大于非易失性存储器装置1100执行编程操作时产生的编程峰值功率值,并且该编程峰值功率值大于非易失性存储器装置1100执行擦除操作时产生的擦除峰值功率值。另外,读取操作可具有最高优先级顺序,编程操作可具有次高优先级顺序,擦除操作可具有最低优先级顺序。
在上述条件下,在步骤S901中,处理器710可通过对非易失性存储器装置1100的功耗量进行求和来导出消耗的总功率。然后,在步骤S902中,处理器710可通过从最大功率预算中减去总功耗量来导出功耗剩余值。
当功耗剩余值大于读取峰值功率值(步骤S903中为“是”)时,在步骤S904中,处理器710可扫描排队命令之中的具有最高优先级顺序的读取命令。可按照命令的排队顺序来执行命令扫描操作。
当读取命令扫描成功(步骤S905中为“否”)时,在步骤S912中,可释放所扫描的命令。另外,非易失性存储器装置1100可响应于释放的命令执行内部操作,即读取操作。
当在不存在任何排队的读取命令的情况下,读取命令扫描失败(步骤S905中为“是”)时,在步骤S906中,处理器710可扫描排队命令之中的具有次高优先级顺序的编程命令。
当编程命令扫描成功(步骤S907中为“否”)时,在步骤S912中,可释放所扫描的命令。另外,非易失性存储器装置1100可响应于释放的命令执行内部操作,即编程操作。
当在不存在任何排队的编程命令的情况下,编程命令扫描失败(步骤S907中为“是”)时,在步骤S908中,处理器710可扫描排队命令之中的、具有最高优先级顺序的擦除命令。
当擦除命令扫描成功(步骤S909中为“否”)时,在步骤S912中,可释放所扫描的命令。非易失性存储器装置1100可响应于释放的命令执行内部操作,即擦除操作。
当在不存在任何排队的擦除命令的情况下,擦除命令扫描失败(步骤S909中为“是”)时,处理器710可重复步骤S901至S912。
当功耗剩余值小于读取峰值功率值(步骤S903中为“否”)时,可将功耗剩余值与编程峰值功率值进行比较。当功耗剩余值大于编程峰值功率值(步骤S910中为“是”)时,可执行步骤S906。
当功耗剩余值小于编程峰值功率值(步骤S910中为“否”)时,可将功耗剩余值与擦除峰值功率值进行比较。当功耗剩余值大于擦除峰值功率值(步骤S911中为“是”)时,可执行步骤S908。当功耗剩余值小于擦除峰值功率值(步骤S911中为“否”)时,可重复步骤S901至S912。
作为示例,可同时执行步骤S905、S910和S911。
图12是示出根据本公开的另一实施例的管理峰值功率的方法的流程图。
参照图12,作为示例,非易失性存储器装置1100执行读取操作时产生的读取峰值功率值大于非易失性存储器装置1100执行编程操作时产生的编程峰值功率值,并且该编程峰值功率值大于非易失性存储器装置1100执行擦除操作时产生的擦除峰值功率值。另外,读取操作可具有最高优先级顺序,编程操作可具有次高优先级顺序,以及擦除操作可具有最低优先级顺序。
在步骤S901中,处理器710可通过对非易失性存储器装置1100的功耗量进行求和来导出总功耗量。然后,在步骤S902中,处理器710可通过从最大功率预算中减去总功耗量来导出功耗剩余值。
当功耗剩余值小于读取峰值功率值(步骤903中为“否”)时,可执行图11的步骤S910。
当功耗剩余值大于读取峰值功率值(步骤S903中为“是”)时,在步骤S904中,处理器710可扫描排队命令之中的具有最高优先级顺序的读取命令。
当读取命令扫描失败(步骤S905中为“是”)时,可执行图11的步骤S906。
当读取命令扫描成功(步骤S905中为“否”)并且当扫描到一个读取命令时(步骤S1006中为“否”)时,可执行图11的步骤S912。
当扫描到两个或更多个读取命令(步骤S1006中为“是”)时,在步骤S1007中,处理器710可选择首先排队的读取命令并且释放所选择的读取命令。
另外,非易失性存储器装置1100可响应于释放的命令执行内部操作,即读取操作。
作为另一示例,即使在图11的步骤S906中扫描到多个编程命令,处理器710也可选择首先排队的编程命令并且释放所选择的编程命令。而且,即使在图11的步骤S908中扫描到多个擦除命令,处理器710也可选择首先排队的擦除命令并且释放所选择的擦除命令。
图13是示出存储器系统的另一实施例的示图。
参照图13,存储器系统30000可被实施为移动电话、智能电话、平板电脑、个人数字助理(PDA)或无线通信装置。存储器系统30000可包括非易失性存储器装置1100和能够控制非易失性存储器装置1100的操作的存储器控制器1200。存储器控制器1200可在处理器3100的控制下控制非易失性存储器装置1100的数据访问操作,例如编程操作、擦除操作或读取操作。
被编程在非易失性存储器装置1100中的数据可在存储器控制器1200的控制下通过显示器3200输出。
无线电收发器3300可通过天线ANT发送/接收无线电信号。例如,无线电收发器3300可将通过天线ANT接收到的无线电信号转换成可由处理器3100处理的信号。因此,处理器3100可处理从无线电收发器3300输出的信号,并将处理后的信号传输到存储器控制器1200或显示器3200。存储器控制器1200可将由处理器3100处理的信号编程到非易失性存储器装置1100中。而且,无线电收发器3300可将从处理器3100输出的信号转换成无线电信号,并且通过天线ANT将转换的无线电信号输出到外部装置。输入装置3400是能够输入用于控制处理器3100的操作的控制信号或待由处理器3100处理的数据的装置,并且可实施为诸如触摸板或计算机鼠标等、小键盘或键盘的指示装置。处理器3100可控制显示器3200的操作,使得从存储器控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据可通过显示器3200输出。
在一些实施例中,能够控制非易失性存储器装置1100的操作的存储器控制器1200可被实施为处理器3100的一部分,或者被实施为独立于处理器3100的芯片。而且,存储器控制器1200可利用图2所示的存储器控制器来实施。
图14是示出存储器系统的另一实施例的示图。
参照图14,存储器系统40000可被实施为个人计算机(PC)、平板电脑、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器。
存储器系统40000可包括非易失性存储器装置1100和能够控制非易失性存储器装置1100的数据处理操作的存储器控制器1200。
处理器4100可根据通过输入装置4200输入的数据,通过显示器4300输出存储在非易失性存储器装置1100中的数据。例如,输入装置4200可被实施为诸如触摸板或计算机鼠标、小键盘或键盘的指示装置。
处理器4100可控制存储器系统40000的全部操作,并且控制存储器控制器1200的操作。在一些实施例中,能够控制非易失性存储器装置1100的操作的存储器控制器1200可被实施为处理器4100的一部分,或者被实施为独立于处理器4100的芯片。而且,存储器控制器1200可利用图2所示的存储器控制器来实施。
图15是示出存储器系统的另一实施例的示图。
参照图15,存储器系统50000可被实施为图像处理装置,例如数码相机、附接有数码相机的移动终端、附接有数码相机的智能电话、或附接有数码相机的平板电脑。
存储器系统50000可包括非易失性存储器装置1100和能够控制非易失性存储器装置1100的例如编程操作、擦除操作或读取操作等数据处理操作的存储器控制器1200。
存储器系统50000的图像传感器5200可将光学图像转换成数字信号,并且转换后的数字信号可被传输到处理器5100或存储器控制器1200。在处理器5100的控制下,转换后的数字信号可通过显示器5300输出或通过存储器控制器1200而存储在非易失性存储器装置1100中。另外,在处理器5100或存储器控制器1200的控制下,存储在非易失性存储器装置1100中的数据可通过显示器5300输出。
在一些实施例中,能够控制非易失性存储器装置1100的操作的非易失性存储器控制器1200可被实施为处理器5100的一部分,或者被实施为独立于处理器5100的芯片。而且,存储器控制器1200可利用图2所示的存储器控制器来实施。
图16是示出存储器系统的另一实施例的示图。
参照图16,存储器系统70000可被实施为存储卡或智能卡。存储器系统70000可包括非易失性存储器装置1100、存储器控制器1200和卡接口7100。
存储器控制器1200可控制非易失性存储器装置1100和卡接口7100之间的数据交换。在一些实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但本公开不限于此。而且,存储器控制器1200可利用图2所示的存储器控制器来实施。
卡接口7100可根据主机60000的协议来接口连接主机60000和存储器控制器1200以进行数据交换。在一些实施例中,卡接口7100可支持通用串行总线(USB)协议和芯片间(IC)-USB协议。此处,卡接口7100可表示能够支持由主机60000使用的协议的硬件、嵌入在硬件中的软件或信号传输方案。
当存储器系统70000联接到诸如PC、平板电脑、数码相机、数字音频播放器、移动电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可在微处理器6100的控制下,通过卡接口7100和存储器控制器1200与非易失性存储器装置1100进行数据通信。
在根据本公开的实施例的存储器系统中,可确定将执行排队命令还是将排队命令保持在队列中更长时间,以管理由非易失性存储器装置产生的大量峰值功率。因此,可以提高存储器系统的可靠性并且可以最小化存储器系统的性能劣化。
本文已经公开了各个实施例,并且尽管使用了特定的术语,但是它们以一般的和描述性的意义来使用并理解,而不用于限制的目的。在一些情况下,从本申请提交起,对于本领域技术人员而言显而易见的是,除非另外明确指出,否则结合特定实施例描述的特征、特性和/或元件可单独使用或与结合其它实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解的是,在不脱离如所附权利要求中阐述的本公开的技术方案的情况下,可进行形式和细节上的各种改变。

Claims (15)

1.一种存储器系统,包括:
多个存储器装置,所述多个存储器装置执行具有不同的优先级顺序的操作;
功耗分布表存储部,存储分别与所述操作相对应的多个功耗分布表;以及
处理器,基于所述功耗分布表来导出功耗剩余值并导出最大功率预算,扫描与所述功耗分布表中包括的峰值功率值之中等于或小于所述功耗剩余值的峰值功率值相对应的至少一个排队命令,响应于成功扫描与具有最高优先级顺序的第一操作相对应的排队命令而释放与所述第一操作相对应的所述排队命令,并且响应于扫描与所述第一操作相对应的排队命令失败而释放与具有次高优先级顺序的第二操作相对应的排队命令,
其中所述功耗分布表中的每一个包括功耗值,所述功耗值指示从操作开始的时间到所述操作结束的时间的预定时间单位内的所需功耗。
2.根据权利要求1所述的存储器系统,
其中所述多个功耗分布表包括读取功耗分布表和编程功耗分布表,
其中所述读取功耗分布表包括以第一时间间隔选择的读取操作的功耗值,
其中所述编程功耗分布表包括以第二时间间隔选择的编程操作的功耗值,以及
其中所述第一时间间隔不同于所述第二时间间隔。
3.根据权利要求2所述的存储器系统,其进一步包括:
读取时间间隔管理部,以所述第一时间间隔输出读取通知信号;以及
编程时间间隔管理部,以所述第二时间间隔输出编程通知信号。
4.根据权利要求1所述的存储器系统,其中所述处理器进一步包括:
闪存功耗管理部,基于所述多个功耗分布表来导出执行所述操作的各个存储器装置的单位功耗值;以及
功耗求和部,通过对单位功耗值进行求和来导出总功耗值。
5.根据权利要求4所述的存储器系统,其中所述处理器进一步包括:
命令排队部,对多个命令进行排队;以及
命令扫描部,基于总功耗值扫描所述多个命令之中的、与等于或小于所述功耗剩余值的峰值功率值相对应的至少一个排队命令,响应于成功扫描与所述第一操作相对应的排队命令而释放与所述第一操作相对应的排队命令,并且响应于扫描与所述第一操作相对应的所述排队命令失败而释放与所述第二操作相对应的排队命令,
其中所述第一操作是读取操作,并且
其中所述第二操作是编程操作。
6.根据权利要求5所述的存储器系统,其中所述处理器进一步包括:
功率预算设置部,设置所述存储器系统的所述最大功率预算;以及
系统功率管理部,基于所述最大功率预算和所述总功耗值来导出所述功耗剩余值。
7.根据权利要求6所述的存储器系统,其中所述命令扫描部通过将所述功耗分布表中的所述操作的峰值功率值与所述功耗剩余值进行比较,来选择与所述操作中的任何一个相对应的命令。
8.根据权利要求7所述的存储器系统,
其中所述命令排队部顺序地对所述多个命令进行排队,以及
其中所述命令扫描部按照所述多个命令的排队顺序来扫描所述多个命令。
9.根据权利要求7所述的存储器系统,其中当所述功耗剩余值小于所述峰值功率值时,所述命令扫描部等待扫描所述多个命令的操作。
10.根据权利要求5所述的存储器系统,
其中所述多个存储器装置包括联接到第一通道的第一存储器装置和联接到第二通道的第二存储器装置,
其中所述第一存储器装置和所述第二存储器装置执行不同的操作,以及
其中所述闪存功耗管理部包括第一通道功耗管理部和第二通道功耗管理部,
其中所述第一通道功耗管理部基于由所述第一存储器装置执行的操作、所述功耗分布表中的与由所述第一存储器装置执行的操作相对应的数据以及所述第一存储器装置的数量,来导出所述第一存储器装置的第一功耗值,以及
其中所述第二通道功耗管理部基于由所述第二存储器装置执行的操作、所述功耗分布表中的与由所述第二存储器装置执行的操作相对应的数据以及所述第二存储器装置的数量,来导出所述第二存储器装置的第二功耗值。
11.根据权利要求10所述的存储器系统,
其中所述多个存储器装置进一步包括联接到第三通道的第三存储器装置,
其中所述功耗求和部通过对所述第一功耗值和所述第二功耗值进行求和来导出所述总功耗值,以及
其中当所述第三存储器装置处于空闲状态时,所述命令扫描部基于所述总功耗值将所选择的命令释放至所述第三存储器装置。
12.一种操作存储器系统的方法,所述方法包括:
基于表示操作的相对于时间变化的功耗值的多个功耗分布表,通过对执行具有不同的优先级顺序的所述操作的存储器装置的功耗值进行求和来导出总功耗值;
通过从最大功率预算中减去所述总功耗值来导出功耗剩余值;
将所述操作的峰值功率值与所述功耗剩余值进行比较;并且
基于比较结果来确定执行命令扫描操作还是保持命令扫描操作,所述命令扫描操作扫描排队命令,
其中所述命令扫描操作包括第一选择阶段和第二选择阶段,
其中所述第一选择阶段包括响应于所述功耗剩余值大于所述峰值功率值而选择所述排队命令之中的、与具有最高优先级顺序的操作相对应的命令,并且释放与具有所述最高优先级顺序的操作相对应的命令,并且
其中所述第二选择阶段包括响应于所述第一选择阶段中的命令选择失败而选择所述排队命令之中的、与具有次高优先级顺序的操作相对应的命令,并且释放与具有所述最高优先级顺序的操作相对应的命令。
13.根据权利要求12所述的方法,其中所述命令扫描操作选择与峰值功率值小于所述功耗剩余值的操作相对应的命令之中的首先排队的命令。
14.根据权利要求12所述的方法,
其中所述功耗分布表包括读取功耗分布表和编程功耗分布表,
其中所述读取功耗分布表包括通过以第一时间间隔选择当所述存储器装置中的至少一个执行读取操作时产生的功耗值而获得的数据,
其中所述编程功耗分布表包括通过以第二时间间隔选择当所述存储器装置中的至少一个执行编程操作时产生的功耗值而获得的数据,并且
其中所述第一时间间隔小于所述第二时间间隔。
15.根据权利要求14所述的方法,进一步包括:
生成读取通知信号,所述读取通知信号包括以所述第一时间间隔产生的脉冲;并且
生成编程通知信号,所述编程通知信号包括以所述第二时间间隔产生的脉冲,
其中响应于所述读取通知信号或所述编程通知信号的脉冲来执行所述总功耗值的导出。
CN201811092499.8A 2018-01-11 2018-09-19 存储器系统及其操作方法 Active CN110032396B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180004023A KR102603245B1 (ko) 2018-01-11 2018-01-11 메모리 시스템 및 그것의 동작 방법
KR10-2018-0004023 2018-01-11

Publications (2)

Publication Number Publication Date
CN110032396A CN110032396A (zh) 2019-07-19
CN110032396B true CN110032396B (zh) 2023-07-18

Family

ID=67139521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811092499.8A Active CN110032396B (zh) 2018-01-11 2018-09-19 存储器系统及其操作方法

Country Status (4)

Country Link
US (1) US11036273B2 (zh)
KR (1) KR102603245B1 (zh)
CN (1) CN110032396B (zh)
TW (1) TWI774830B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7287147B2 (ja) * 2019-06-26 2023-06-06 富士通株式会社 演算処理装置および演算処理装置の制御方法
US11079829B2 (en) * 2019-07-12 2021-08-03 Micron Technology, Inc. Peak power management of dice in a power network
US11454941B2 (en) 2019-07-12 2022-09-27 Micron Technology, Inc. Peak power management of dice in a power network
KR20210101785A (ko) 2020-02-11 2021-08-19 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
US11175837B2 (en) * 2020-03-16 2021-11-16 Micron Technology, Inc. Quantization of peak power for allocation to memory dice
KR20210119070A (ko) * 2020-03-24 2021-10-05 에스케이하이닉스 주식회사 메모리 장치에서 연속으로 수행되는 다수의 커맨드 동작에 사용되는 파워값을 최소화하기 위해 수행시점 차이를 정확하게 조절할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법
US11487444B2 (en) * 2020-03-25 2022-11-01 Micron Technology, Inc. Centralized power management in memory devices
US11307627B2 (en) * 2020-04-30 2022-04-19 Hewlett Packard Enterprise Development Lp Systems and methods for reducing stranded power capacity
WO2022252120A1 (en) 2021-06-01 2022-12-08 Yangtze Memory Technologies Co., Ltd. Power management for memory system
WO2022252121A1 (en) * 2021-06-01 2022-12-08 Yangtze Memory Technologies Co., Ltd. Power management for a memory system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568607A (en) * 1994-08-19 1996-10-22 International Data Matrix, Inc. Apparatus, systems and methods for controlling power consumption in a selectively enabled processing system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3580630B2 (ja) * 1996-02-26 2004-10-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 消費電力を管理するシステム及び電源を管理する方法
US20020099910A1 (en) * 2001-01-23 2002-07-25 Shah Emanuel E. High speed low power cacheless computer system
TWI347523B (en) 2003-02-05 2011-08-21 Panasonic Corp Peripheral device and control method thereof, and main device and control method thereof, and program thereof
US20070283131A1 (en) * 2006-01-30 2007-12-06 Ati Technologies Inc. Processing of high priority data elements in systems comprising a host processor and a co-processor
WO2011031899A2 (en) * 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
US20110173462A1 (en) 2010-01-11 2011-07-14 Apple Inc. Controlling and staggering operations to limit current spikes
JP2011180869A (ja) * 2010-03-02 2011-09-15 Hitachi Ltd 計算機の状態監視装置、計算機の監視システムおよび計算機の状態監視方法
US8555095B2 (en) 2010-07-26 2013-10-08 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
WO2013171792A1 (en) * 2012-05-16 2013-11-21 Hitachi, Ltd. Storage control apparatus and storage control method
US9317212B2 (en) * 2012-12-18 2016-04-19 Intel Corporation Method and apparatus for controlling a storage device
US9928033B2 (en) * 2013-06-19 2018-03-27 Nvidia Corporation Single-pass parallel prefix scan with dynamic look back
WO2015108524A1 (en) * 2014-01-16 2015-07-23 Hewlett-Packard Development Company, L.P. Configurable workload optimization
US10025367B2 (en) * 2014-08-19 2018-07-17 Intel Corporation Dynamic scaling of graphics processor execution resources
KR102310580B1 (ko) * 2014-10-24 2021-10-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9880605B2 (en) * 2014-10-27 2018-01-30 Sandisk Technologies Llc Method and system for throttling power consumption
KR20170001235A (ko) * 2015-06-26 2017-01-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US9711232B2 (en) * 2015-09-22 2017-07-18 Samsung Electronics Co., Ltd. Dynamic non-volatile memory operation scheduling for controlling power consumption of solid-state drives
US9946642B2 (en) * 2015-11-13 2018-04-17 Samsung Electronics Co., Ltd Distributed multimode storage management
KR101862981B1 (ko) 2017-02-02 2018-05-30 연세대학교 산학협력단 명령어 기반 카운터를 통한 성능 및 전력량 예측 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568607A (en) * 1994-08-19 1996-10-22 International Data Matrix, Inc. Apparatus, systems and methods for controlling power consumption in a selectively enabled processing system

Also Published As

Publication number Publication date
TW201931061A (zh) 2019-08-01
CN110032396A (zh) 2019-07-19
US11036273B2 (en) 2021-06-15
US20190212932A1 (en) 2019-07-11
KR102603245B1 (ko) 2023-11-16
TWI774830B (zh) 2022-08-21
KR20190085770A (ko) 2019-07-19

Similar Documents

Publication Publication Date Title
CN110032396B (zh) 存储器系统及其操作方法
US10956060B2 (en) Memory system dynamically allocating memory spaces and method of operating the same
CN109947662B (zh) 存储器系统及其操作方法
KR102516547B1 (ko) 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
CN109697024B (zh) 存储器系统及其操作方法
US10818360B2 (en) Memory device, memory system including the memory device
US20190121727A1 (en) Memory system and method for operating the same
US11210004B2 (en) Controller memory system to perform a single level cell (SLC), or multi level cell (MLC) or triple level cell (TLC) program operation on a memory block
US10922200B2 (en) Memory system and method of operating the same
CN109753375B (zh) 存储器系统及其操作方法
US10936421B2 (en) Memory system having storage device and memory controller and operating method thereof
US20210334000A1 (en) Memory system, memory controller and memory device for configuring super blocks
KR20190043860A (ko) 메모리 시스템 및 이의 동작 방법
CN109933467B (zh) 存储器系统及其操作方法
US11972128B2 (en) Memory controller and method of operating the same
CN109902031B (zh) 存储系统及其操作方法
US11347479B2 (en) Memory system
KR20240002571A (ko) 메모리 장치, 메모리 장치를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
CN112435698A (zh) 存储器装置及其操作方法

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