CN109766294B - 存储器控制器和包括其的储存设备 - Google Patents
存储器控制器和包括其的储存设备 Download PDFInfo
- Publication number
- CN109766294B CN109766294B CN201811227920.1A CN201811227920A CN109766294B CN 109766294 B CN109766294 B CN 109766294B CN 201811227920 A CN201811227920 A CN 201811227920A CN 109766294 B CN109766294 B CN 109766294B
- Authority
- CN
- China
- Prior art keywords
- memory
- data operation
- peak
- time
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 536
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 16
- 101100269389 Mus musculus Pgm3 gene Proteins 0.000 description 9
- 101100122010 Methanocella arvoryzae (strain DSM 22066 / NBRC 105507 / MRE50) glmM gene Proteins 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Power Sources (AREA)
Abstract
一种控制存储器控制器的存储器设备的方法,该存储器设备包括多个存储器管裸芯,该方法包括从存储器控制器的外部接收至少一个数据操作请求和功率预算;确定多个存储器裸芯的相应数据操作时间,其中由于响应于至少一个数据操作请求的至少一个数据操作而引起的功耗可以等于或小于功率预算;以及基于数据操作时间控制多个存储器裸芯。
Description
相关申请的交叉引用
要求根据35U.S.C§119于2017年11月9日在韩国知识产权局提交的韩国专利申请第10-2017-0148713号,其整体内容通过引用并入文本。
技术领域
本文描述的发明构思涉及存储器控制器,并且更具体地涉及由存储器控制器控制存储器设备的方法,以及包括该存储器控制器的储存设备。
背景技术
半导体存储器设备可以分为易失性存储器设备和非易失性存储器设备。尽管易失性半导体存储器设备具有快速读取和写入速度,但是当不再提供电力供应时,存储在易失性半导体存储器设备中的数据会丢失。另一方面,尽管在非易失性半导体存储器设备中读取和写入速度可能较慢,但即使当不再提供电力供应时,存储的数据也保留在非易失性半导体存储器设备中。
随着技术的进步,电子设备已被设计成具有更多数量的各种组件,这些组件通常包括半导体存储器设备。如此以来,功率控制问题变得更加重要。特别地,需要解决在各种组件同时操作时产生的在设备中的电尖峰的发生。
发明内容
本发明构思的实施例提供了由存储器控制器在所提供的功率预算的范围内控制多个存储器裸芯的数据操作的方法和装置,以及包括该方法和装置的储存设备。
本发明构思的实施例提供了一种由存储器控制器控制存储器设备的方法,该存储器设备包括多个存储器裸芯。该方法包括:由存储器控制器从存储器控制器的外部接收至少一个数据操作请求和功率预算;由该存储器控制器确定多个存储器裸芯的相应数据操作时间,使得由于响应于至少一个数据操作请求的至少一个数据操作而引起的功耗可以等于或小于功率预算;以及基于数据操作时间,由存储器控制器控制多个存储器裸芯。
本发明构思的实施例还提供了一种包括多个非易失性存储器裸芯的储存设备;和存储器控制器。存储器控制器被配置为从存储器控制器的外部接收功率预算和编程请求,并且基于功率预算和编程请求的数量将互不相同的命令信号发送到多个非易失性存储器裸芯。
本发明构思的实施例还提供了一种由存储器控制器控制存储器设备的方法,该存储器设备包括多个存储器裸芯。该方法包括:由存储器控制器从存储器控制器的外部接收至少一个数据操作请求;由存储器控制器确定多个存储器裸芯的数据操作时间,其中,由于根据至少一个数据操作的至少一个数据操作而引起的功耗基于多个存储器裸芯的最宽功率谱;以及基于所确定的数据操作时间,由存储器控制器控制多个存储器裸芯。
附图说明
通过以下结合附图的详细描述,将更清楚地理解本发明构思的实施例,其中:
图1示出了根据本发明构思的实施例的用户系统;
图2示出了根据本发明构思的实施例的存储器控制器;
图3示出了根据本发明构思的实施例的数据操作请求集;
图4示出了根据本发明构思的实施例的根据时间的数据操作电流的曲线图;
图5示出了根据本发明构思的实施例的存储器操作控制器;
图6示出了根据本发明构思的实施例的峰值信息存储器;
图7示出了根据本发明构思的实施例的命令信号;
图8示出了根据本发明构思的实施例的通过使用存储器控制器控制存储器设备的方法的流程图;
图9A示出了根据本发明构思的实施例的控制存储器设备的操作;
图9B示出了根据本发明构思的实施例的控制存储器设备的操作;
图9C示出了根据本发明构思的实施例的控制存储器设备的操作;
图10示出了根据图9C的实施例的关于数据操作时间的确定的流程图;
图11示出了根据本发明构思的实施例的控制存储器设备的操作;
图12示出了根据图11的实施例的关于数据操作模式的确定的流程图;
图13示出了根据本发明构思的实施例的控制存储器设备的操作;
图14示出了根据本发明构思的另一实施例的存储器操作控制器;和
图15示出了根据本发明构思的实施例的固态驱动器(solid state drive,SSD)系统。
具体实施方式
在下文中,将参考附图详细描述本发明构思的实施例。
如在本发明构思的领域中的传统,可以根据执行所描述的一个或多个功能的块来描述和说明实施例。这些块(这里可称为单元或模块等)在物理上由模拟和/或数字电路(诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子元件、有源电子元件、光学组件、硬连线电路等)来实施,并且可以可选地由固件和/或软件驱动。例如,电路可以体现在一个或多个半导体芯片中,或者体现在诸如印刷电路板等的基板支撑件上。构成块的电路可以由专用硬件来实施,或者由处理器(例如,一个或多个编程的微处理器和相关电路系统)来实施,或者由专用硬件的组合来实施,以执行块的一些功能,并且处理器执行块的其他功能。在不脱离本发明构思的范围的情况下,实施例的每个块可以在物理上分成两个或多个交互和离散块。同样地,在不脱离本发明构思的范围的情况下,可以将实施例的块物理地组合成更复杂的块。
图1示出了根据本发明构思的实施例的用户系统10。用户系统10包括存储器设备100、存储器控制器200和主机300。存储器设备100和存储器控制器200可以被称为存储器系统400。存储器系统400可以被包括在单一储存设备中。用户系统10可以是计算系统,诸如例如超移动PC(ultra mobile PC,UMPC)、工作站、网络书、个人数字助理(personal digitalassistant,PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(portable multimedia player,PMP)、掌上游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(digital multimedia broadcasting,DMB)播放器、数字音频录制器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频录制器、数字视频播放器等。因此,除了主机300和存储器系统400之外,用户系统10还可以包括各种其他组件。
存储器设备100可以包括分别指示为Memory_1、Memory_2、...、Memory_n的n(n是自然数)个存储器设备120_1至120_n。存储器设备120_1至120_n可以是多个相应的存储器裸芯120_1至120_n,并且在这种情况下,存储器设备100在下文中可以被称为包括多个存储器裸芯120_1至120_n。多个存储器裸芯120_1至120_n可以响应于从存储器控制器200接收的信号执行诸如对数据的编程、读取和擦除的操作。编程、读取和擦除的操作可以被称为数据操作。存储器裸芯120_1至120_n中的每一个可以包括至少一个存储器单元阵列。存储单元阵列可以包括布置在多个字线和多个位线交叉的区域中的多个存储器单元,并且多个存储器单元可以是非易失性存储器单元。多个存储器裸芯120_1至120_n可以包括NAND闪速存储器、垂直NAND(vertical NAND,VNAND)、NOR闪速存储器、电阻式随机存取存储器(resistive random access memory,RRAM)、相变存储器(phase-change memory,PRAM)、磁阻式随机存取存储器(magnetoresistive random access memory、MRAM)、铁电随机存取存储器(ferroelectric random access memory,FRAM)、自旋转移矩随机存取存储器(spintransfer torque random access memory,STT-RAM)及其组合。
存储器控制器200可以响应于来自主机300的请求来控制存储器设备100。例如,响应于从主机300接收的数据操作请求集REQ_SET,存储器控制器200可以控制存储器设备100读取存储在存储器设备100中的数据或者将数据写入存储器设备100。可以向存储器设备100提供地址ADDR、命令CMD和控制信号,从而在存储器设备100上执行编程、读取和擦除的操作。此外,可以在存储器控制器200和存储器设备100之间发送和接收操作所需的数据DATA。存储器控制器200可以从主机300接收数据操作请求集REQ_SET和功率预算PB。数据操作请求集REQ_SET可以是包括对由存储器控制器200控制的存储器设备100的数据操作的请求的集合,并且功率预算PB可以指示由主机300分配给存储器系统400的最大功耗的量。
存储器控制器200包括存储器操作控制器220。当存储器控制器200通过使用存储器设备100控制包括编程、读取和擦除数据的操作的数据操作时,存储器操作控制器220可以基于从主机300接收的数据操作请求集REQ_SET和功率预算PB确定数据操作所需的数据操作时间。例如,当数据操作请求集REQ_SET包括关于多个存储器裸芯120_1至120_n的多个数据操作请求时,存储器操作控制器220可以控制数据操作时间,使得由多个存储器裸芯120_1至120_n执行的数据操作的功率在功率预算PB的范围内被消耗。将参考图2更详细地描述存储器控制器200。并且参照图5,将更详细地描述存储器操作控制器220。
主机300可以将包括多个数据操作请求、地址ADDR和功率预算PB的数据操作请求集REQ_SET发送到存储器控制器200,并且还可以与存储器控制器200交换数据DATA。例如,主机300可以基于各种接口协议中的至少一种来与存储器控制器200交换数据,各种接口协议诸如例如通用串行总线(universal serial bus,USB)协议、多媒体卡TM(Multi-MediaCardTM,MMC)协议、外围组件互连(peripheral component interconnection,PCI)协议、PCI-express(PCI-E)协议、先进技术附件(advanced technology attachmen,ATA)协议、并行ATA协议、小型计算机系统接口(small computer system interface,SCSI)协议、增强型小磁盘接口(enhanced small disk interfac,ESDI)协议、集成驱动电子(integrateddrive electronic,IDE)协议、移动工业处理器接口(mobile industry processorinterface,)协议、通用闪存(universal flash storage,UFS)协议。
主机300包括功率预算管理器320。主机300可以识别对于用户系统10可用的总功率量,并且可以从所识别的总功率量确定可以分配给存储器系统400的功率量。功率预算管理器320可以将分配给存储器系统400的功率预算PB发送到存储器控制器200。从主机300发送的功率预算PB可以是对于存储器系统400可用的最大功率量,并且还可以是可以被存储器设备100允许(或使用)的电流(例如,操作电流的最大量)或的电压(例如,操作电压)的最大量。可以将功率预算PB通过单独的数据线提供给存储器控制器200,但不限于通过单独的数据线的传输。例如,在其他实施例中,功率预算PB可以与数据操作请求集REQ_SET一起被提供或与数据一起被提供。
根据示例实施例,存储器控制器200可以基于从主机300接收的功率预算PB和同时操作的存储器裸芯120_1至120_n的数量,可变地确定由存储器裸芯120_1至120_n执行的数据操作的数据操作时间。通过可变地确定数据操作时间,存储器控制器200可以控制更大数量的存储器裸芯120_1至120_n在功率预算PB的预设范围内同时执行数据操作。
图2示出了根据本发明构思的实施例的存储器控制器200。存储器控制器200包括存储器操作控制器220、工作存储器240、处理单元260、主机接口280和存储器接口290,并且上述组件可以通过总线270交换各种数据和/或信号。关于存储器控制器200,可以在下面省略与图1的描述重叠的描述。
存储器操作控制器220可以根据存储器控制器200的控制来控制在存储器设备100中执行的数据操作的数据操作时间。例如,当存储器控制器200控制包括编程、读取和擦除数据的操作的数据操作时,存储器操作控制器220可以基于从主机300接收的数据操作请求集REQ_SET和功率预算PB来确定数据操作的相应数据操作时间。例如,在某功率预算PB下,数据操作请求集REQ_SET同时需要的数据操作的数量越大,由存储器操作控制器220确定的数据操作时间可以越长。将参考图5更详细地描述存储器操作控制器220。
处理单元260可以包括中央处理单元(central processing unit,CPU)或微控制器单元(micro-controller unit,MCU)。处理单元260可以控制存储器控制器200的总体操作。处理单元260可以执行固件以控制存储器控制器200,并且可以将要执行的固件加载到工作存储器240中。
主机接口280可以提供主机300和存储器控制器200之间的接口。主机300和存储器控制器200可以通过各种标准接口中的一种交换数据。主机300和存储器控制器200还可以通过各种标准化接口当中的多个接口交换数据。存储器控制器200可以经由主机接口280从主机300接收数据操作请求集REQ_SET、地址ADDR和功率预算PB,并且可以经由主机接口280与主机300交换数据DATA。
存储器接口290可以提供存储器设备100和存储器控制器200之间的接口。例如,由处理单元260处理的数据可以经由存储器接口290存储在存储器设备100中。存储在存储器设备100中的数据可以经由存储器接口290提供给处理单元260。存储器控制器200可以经由存储器接口290将命令CMD和地址ADDR发送到存储器设备100,并且可以经由存储器接口290与存储器设备100交换数据DATA。
根据示例实施例,存储器控制器200可以基于从主机300接收的功率预算PB和同时操作存储器裸芯120_1至120_n的数量来可变地确定在存储器裸芯120_1至120_n中执行的数据操作的相应数据操作时间。例如,通过可变地确定相应的数据操作时间,存储器控制器200可以控制更大数量的存储器裸芯120_1至120_n在功率预算PB的某范围内同时执行数据操作。
图3示出了根据本发明构思的实施例的数据操作请求集REQ_SET。参考图1描述图3。
主机300可以将数据操作请求集REQ_SET发送到存储器控制器200。数据操作请求集REQ_SET可以包括至少一个数据操作请求。数据操作可以是共同指代数据输入和输出操作以及数据擦除操作的术语,并且例如,数据操作可以包括编程操作、读取操作和擦除操作。存储器控制器200可以对数据操作请求集REQ_SET执行解码,并且可以基于解码的数据操作请求集REQ_SET通过将命令信号CMD发送到存储器设备100来执行数据操作。
数据操作请求集REQ_SET可以例如包括:对第一非易失性存储器裸芯120_1上的数据进行编程的请求PGM(NVM_1)、对第二非易失性存储器裸芯120_2上的数据进行编程的请求PGM(NVM_2)、对第三非易失性存储器裸芯120_3上的数据进行编程的请求PGM(NVM_3)、从第一非易失性存储器裸芯120_1读取数据的请求READ(NVM_1)、从第二非易失性存储器裸芯120_2读取数据的请求READ(NVM_2)、从第三非易失性存储器120_3读取数据的请求READ(NVM_3)、以及从第一非易失性存储器裸芯120_1擦除数据的请求ERASE(NVM_1)。
数据操作请求集REQ_SET中包括的数据操作请求的数量可以被称为队列深度QD。根据示例实施例,存储器控制器200可以根据队列深度QD可变地控制数据操作中的每一个的相应数据操作时间。
图4示出了根据本发明构思的实施例的根据时间的数据操作电流的曲线图。参考图1描述图4。
存储器控制器200可以根据从主机300接收的数据操作请求集REQ_SET来控制存储器设备100的数据操作。存储器控制器200可以控制执行数据操作所需的数据操作时间为可变的。例如,存储器控制器200可以控制在第一数据操作时间T_OP_1期间对从存储器裸芯120_1至120_n当中的任意存储器裸芯执行的数据操作,并且在这种情况下,根据时间的任意存储器裸芯的电流图可以是第一曲线图121。作为另一示例,存储器控制器200可以控制在第二数据操作时间T_OP_2期间对从存储器裸芯120_1至120_n当中的任意存储器裸芯执行的数据操作,并且在这种情况下,根据时间的任意存储器裸芯的电流图可以是第二曲线图122。第一数据操作时间T_OP_1可以长于第二数据操作时间T_OP_2。
第一曲线图121是执行数据操作长达第一数据操作时间T_OP_1的存储器裸芯的时间-电流曲线图。执行数据操作的存储器裸芯的电流(例如,操作电流)可以在第一曲线图121上的第一峰值点123处具有最大量。第一峰值点123处的最大电流量可以被称为第一峰值电流I_PEAK_1。
第二曲线图122是执行对于第二数据操作时间T_OP_2的数据操作的存储器裸芯的时间-电流曲线图。执行数据操作的存储器裸芯的电流(例如,操作电流)可以在第二曲线图122上的第二峰值点124处具有最大量。第二峰值点124处的最大电流量可以被称为第二峰值电流I_PEAK_2。
将第二峰值电流I_PEAK_2与第一峰值电流I_PEAK_1进行比较,第二峰值电流I_PEAK_2可以具有比第一峰值电流I_PEAK_1更大的量。例如,当任意存储器裸芯执行编程操作时,存储器裸芯的峰值电流量可以随着编程时间减少而增加。
参考图4的曲线图的描述不应限于根据时间的电流变化。例如,当存储器裸芯执行数据操作时,并且当图形地示出了根据时间的电压(例如,工作电压)变化时,应当理解的是,峰值电压值可以随着数据操作时间减少而增加。
随着数据操作时间的增加,流过存储器裸芯的电流或施加到存储器裸芯的电压的峰值减小,并且因此有可能通过控制数据操作时间为可变的来控制多个存储器裸芯120_1至120_n在分配的功率预算范围内同时执行数据操作。
图5示出了根据本发明构思的实施例的存储器操作控制器220。存储器操作控制器220包括峰值信息存储器222和存储器操作管理器224。关于存储器操作控制器220,可以在下面省略与图1和图2的描述重叠的描述。
峰值信息存储器222可以存储峰值信息PEAK_INFO,并且可以将所储存的峰值信息PEAK_INFO提供给存储器操作管理器224。峰值信息PEAK_INFO可以包括关于由存储器控制器控制的存储器裸芯的峰值电流或峰值电压的信息。例如,峰值信息PEAK_INFO可以包括关于根据存储器裸芯120_1至120_n的数据操作时间的峰值电流或峰值电压的信息。峰值信息PEAK_INFO可以包括关于根据存储器裸芯120_1至120_n的数据操作时间的峰值电流或峰值电压的信息,例如,以指示关于与m(m是自然数)条数据操作时间相对应的峰值电流值或者峰值电压值的信息的数据表的形式。例如,峰值信息PEAK_INFO可以包括用于各种不同数据操作时间的峰值电流值或峰值电压值。峰值信息存储器222可以是单独的存储器组件,但不限于此。例如,在其他实施例中,峰值信息存储器222可以包括可以是存储器控制器200中的任意存储器的一部分并且可以存储峰值信息PEAK_INFO的任何组件。将参考图6更详细地描述峰值信息存储器222和峰值信息PEAK_INFO。
存储器操作管理器224可以从峰值信息存储器222接收峰值信息PEAK_INFO,并且可以经由主机接口280从主机300接收由存储器控制器200接收的数据操作请求集REQ_SET和功率预算PB。存储器操作管理器224可以基于已经接收到的数据操作请求集REQ_SET和功率预算PB来确定存储器裸芯120_1至120_n的数据操作时间,并且可以基于所确定的数据操作时间生成命令信号CMD。所生成的命令信号CMD可以通过存储器接口290提供给存储器裸芯120_1至120_n。存储器操作管理器224可以可变地确定存储器裸芯120_1至120_n的数据操作时间,使得功耗之和(其由于由存储器裸芯120_1至120_n基于包括在数据操作请求集REQ_SET中的至少一个数据操作请求执行的数据操作而生成)可以等于或小于功率预算PB。例如,当功率预算PB被提供为可以对于存储器系统400所允许的最高峰值电流值时,存储器操作管理器224可以确定存储器裸芯120_1至120_n的数据操作时间,使得由于数据操作的性能的存储器裸芯的峰值电流之和可以等于或小于功率预算PB。例如,存储器操作管理器224可以基于数据操作请求集REQ_SET确定同时执行数据操作的存储器裸芯120_1至120_n的数量,并且随着同时操作的存储器裸芯的数量增加,存储器操作管理器224可以确定数据操作时间更长,使得峰值电流之和可以等于或小于功率预算PB。存储器操作管理器224可以基于所确定的数据操作时间来生成可变命令信号CMD。将参考图9A至图9C、图11和图13更详细地描述存储器操作管理器224的操作。
根据示例实施例,存储器操作控制器220可以通过以多个存储器裸芯120_1至120_n消耗的功率之和等于或小于功率预算PB的方式确定存储器裸芯120_1至120_n的相应数据操作时间来更有效地控制存储器裸芯120_1至120_n的数据操作。
图6示出了根据本发明构思的实施例的峰值信息存储器222。关于峰值信息存储器222,可以在下面省略与图5的描述重叠的描述。
峰值信息存储器222可以存储要提供给存储器操作控制器220中包括的存储器操作管理器224的峰值信息PEAK_INFO。峰值信息PEAK_INFO可以指示根据存储器裸芯120_1至120_n的数据操作时间的峰值电流或峰值电压的值。例如,峰值信息PEAK_INFO可以包括数据表,该数据表指示关于与m(m是自然数)条数据操作时间相对应的峰值电流值的信息。
例如,峰值信息PEAK_INFO可以包括数据表,该数据表指示关于与m(m是自然数)条编程时间相对应的峰值电流值的信息。例如,当存储器裸芯执行编程操作长达第一编程时间tPROG_1,第一峰值电流I_PEAK_1可以流过存储器裸芯。同样地,当存储器裸芯执行编程操作长达第二至第m个编程时间tPROG_2至tPROG_m时,相应的第二至第m个峰值电流I_PEAK_2至I_PEAK_m可以流过存储器裸芯。
峰值信息存储器222可以将存储的峰值信息PEAK_INFO提供给存储器操作控制器220中的存储器操作管理器224,并且存储器操作管理器224可以基于接收到的峰值信息PEAK_INFO可变地控制存储器裸芯120_1至120_n的数据操作时间。
图7示出了根据本发明构思的实施例的命令信号CMD。参考图6描述图7。尽管将参考图7描述用于编程操作的命令信号CMD。图7示出了仅为了便于解释而作为示例所给出的实施例。例如,参考图7的描述也可以被应用于其他数据操作,诸如数据读取操作或擦除操作。
参考图6的峰值信息PEAK_INFO。从存储器裸芯120_1至120_n当中的存储器裸芯可以执行编程操作长达第一编程时间tPROG_1。执行长达第一编程时间tPROG_1的编程操作被称为第一编程操作。同样地,执行长达第二编程时间tPROG_2的编程操作被称为第二编程操作,并且执行长达第三编程时间tPROG_3的编程操作被称为第三编程操作。存储器控制器200发送到存储器裸芯以使存储器裸芯执行第一编程操作、第二编程操作或第三编程操作的命令信号CMD可以彼此不同。
例如,从存储器控制器200发送到存储器裸芯以使存储器裸芯执行第一编程操作的命令信号CMD可以是第一编程操作命令信号PGM_1。第一编程操作命令信号PGM_1可以是通过组合指示第一编程操作的第一模式信号MODE_1与编程命令信号PGM而生成的信号。然而,组合不限于此,并且第一模式信号MODE_1可以以下面的方式与编程命令信号组合,或者可以被包括在编程命令信号当中。当存储器裸芯接收第一编程操作命令信号PGM_1时,存储器裸芯可以基于第一编程操作命令信号PGM_1中包括的第一模式信号MODE_1执行编程操作长达第一编程时间tPROG_1。
同样地,第二编程操作命令信号PGM_2可以是通过将指示第二编程操作的第二模式信号MODE_2与编程命令信号PGM组合而生成的信号。第二编程操作命令信号PGM_2命令存储器裸芯执行编程操作长达第二编程时间tPROG_2。另外,第三编程操作命令信号PGM_3可以是通过组合指示第三编程操作的第三模式信号MODE_3与编程命令信号PGM而生成的信号。第三编程操作命令信号PGM_3命令存储器裸芯执行编程操作长达第三编程时间tPROG_3。存储器裸芯可以通过基于与接收到的编程命令信号组合的模式信号可变地应用编程时间来执行编程操作。
图8示出了根据本发明构思的实施例的通过使用存储器控制器200控制存储器设备100的方法的流程图。可以参考图1描述图8。
存储器控制器200从存储器控制器200的外部接收至少一个数据操作请求和功率预算PB(S120)。例如,存储器控制器200可以从主机300接收包括至少一个数据操作请求的数据操作请求集REQ_SET、以及功率预算PB。
存储器控制器200基于至少一个数据操作请求和功率预算来确定存储器裸芯的数据操作时间(S140)。例如,存储器控制器200确定存储器裸芯的数据操作时间,使得由于响应于至少一个数据操作请求的至少一个数据操作而引起的功耗可以等于或小于功率预算PB。例如,存储器控制器200确定存储器裸芯的数据操作时间,以限制由于响应于至少一个数据操作请求的至少一个数据操作而引起的功耗等于或小于功率预算PB。功率预算PB可以指示可以允许的可接受的最高峰值电流值或可接受的最高峰值电压值,并且在这种情况下,存储器控制器200可以确定数据操作时间,使得执行数据操作的存储器裸芯120_1至120_n当中的存储器裸芯的每一个的峰值电流或峰值电压之和可以等于或小于功率预算PB。
存储器控制器200可以响应于至少一个接收到的数据操作请求,确定在多个存储器裸芯120_1至120_n当中同时操作的存储器裸芯,并且可以确定在功率预算PB内存储器裸芯同时操作的最短时间段为数据操作时间。例如,随着队列深度(其指示至少一个数据操作请求的数量)的增加,同时操作的存储器裸芯也增加。在这种情况下,存储器控制器200因此可以确定数据操作时间短。上述数据操作可以包括编程操作、读取操作和擦除操作等。
存储器控制器200基于所确定的数据操作时间来控制多个存储器裸芯(S160)。例如,存储器控制器200可以将与所确定的数据操作时间相对应的命令信号发送到多个存储器裸芯,从而控制存储器裸芯。当多条确定的数据操作时间彼此不同时,从存储器控制器200发送的命令信号也可以彼此不同。例如,当存储器裸芯的数据操作时间彼此不同时,包括在命令信号中的模式信号可以彼此不同。可以参考图9A-图9C更详细地描述命令信号。
图9A示出了根据本发明构思的实施例的控制存储器设备100的操作。关于数据操作请求集REQ_SET,存储器操作管理器224a、峰值信息存储器222a和命令信号CMD,可以在下面省略与图5至图7的描述重叠的描述。图9A中呈现的功率预算PB的量、峰值信息PEAK_INFO和数据操作请求集REQ_SET仅仅是为了便于解释关于确定数据操作时间的存储器控制器200的操作而设置的值和情况,并且本发明构思不限于图9A中呈现的值和情况。
峰值信息存储器222a可以存储分别对应于第一至第三编程时间tPROG_1至tPROG_3的第一至第三峰值电流值I_PEAK_1至I_PEAK_3作为峰值信息。存储器操作管理器224a可以从峰值信息存储器222a接收峰值信息PEAK_INFO,并且由存储器操作管理器224a(例如,从主机300)接收的功率预算PB可以具有200mA,该200mA被设置为可以对于存储器系统400所允许的最高峰值电流值。根据由存储器操作管理器224a(例如,从主机300)接收的数据操作请求集REQ_SET,存储器操作管理器224可以不同地确定数据操作时间,并且可以基于所确定的数据操作时间生成彼此不同的命令信号CMD。
在第一种情况CASE 1中,数据操作请求集REQ_SET可以包括对第一非易失性存储器裸芯(例如,图1中的存储器裸芯120_1)进行编程的请求PGM(NVM_1),以及对第二非易失性存储器裸芯(例如,图1中的存储器裸芯120_2)进行编程的请求PGM(NVM_2)。存储器操作管理器224a可以确定要同时被编程的存储器裸芯的数量为二。存储器操作管理器224a可以确定在其中两个存储器裸芯可以在功率预算PB 200mA内执行编程操作的最短操作时间段为两个存储器裸芯的数据操作时间。由于对数据操作请求集REQ_SET的数据操作响应是编程操作,所以数据操作时间可以是编程时间。例如,即使在编程期间峰值电流100mA流过两个非易失性存储器裸芯NVM_1和NVM_2中的每一个,因为峰值电流之和等于或小于200mA,其为功率预算PB的量。在这种情况下,非易失性存储器裸芯中的每一个的编程时间可以被确定为300μs,其为第一编程时间tPROG_1。存储器操作管理器224a可以基于所确定的编程时间将第一编程操作命令信号PGM_1发送到第一非易失性存储器裸芯NVM_1,并将第一编程操作命令信号PGM_1发送到第二非易失性存储器裸芯NVM_2。在这种情况下,第一编程操作命令信号PGM_1可以是控制存储器裸芯执行编程操作长达第一编程时间tPROG_1的命令。
在第二种情况CASE 2中,数据操作请求集REQ_SET可以包括对第一非易失性存储器裸芯进行编程的请求PGM(NVM_1)、对第二非易失性存储器裸芯进行编程的请求PGM(NVM_2)、以及对第三非易失性存储器裸芯(例如,图1的存储器裸芯120_3)进行编程的请求PGM(NVM_3)。存储器操作管理器224a可以确定要同时编程的存储器裸芯的数量为三。存储器操作管理器224a可以确定在其中三个存储器裸芯可以在功率预算PB 200mA内执行编程操作的最短操作时间段为数据操作时间。由于响应于数据操作请求集REQ_SET的数据操作是编程操作,所以数据操作时间可以是编程时间。例如,尽管对于三个非易失性存储器裸芯中的每一个可能不允许第一峰值电流I_PEAK_1,但是当允许峰值电流65mA(其为第二峰值电流I_PEAK_2)时,峰值电流之和等于或小于200mA,其为功率预算PB。因此,可以将非易失性存储器裸芯中的每一个的编程时间确定为400μs,其为第二编程时间tPROG_2。存储器操作管理器224a可以基于所确定的编程时间将第二编程操作命令信号PGM_2发送到第一非易失性存储器裸芯NVM_1,将第二编程操作命令信号PGM_2发送到第二非易失性存储器裸芯NVM_2,并且将第二编程操作命令信号PGM_2发送到第三非易失性存储器裸芯NVM_3。在这种情况下,第二编程操作命令信号PGM_2可以是命令信号,其控制存储器裸芯执行编程操作长达第二编程时间tPROG_2。
在第三种情况CASE 3中,数据操作请求集REQ_SET可以包括对第一非易失性存储器裸芯进行编程的请求PGM(NVM_1)、对第二非易失性存储器裸芯进行编程的请求PGM(NVM_2)、对第三非易失性存储器裸芯进行编程的请求PGM(NVM_3)、以及对第四非易失性存储器裸芯(例如,图1的存储器裸芯120_4)进行编程的请求PGM(NVM_4)。存储器操作管理器224a可以确定要同时被编程的存储器裸芯的数量为四。存储器操作管理器224a可以确定在其中四个存储器裸芯可以在功率预算PB200mA内执行编程操作的最短操作时间段为数据操作时间。由于对数据操作请求集REQ_SET的数据操作响应是编程操作,因此数据操作时间可以是编程时间。例如,尽管对于四个非易失性存储器裸芯中的每一个可能不允许第二峰值电流I_PEAK_2,但是当允许作为第三峰值电流I_PEAK_3的峰值电流50mA时,峰值电流之和等于或小于200mA,其为功率预算PB。因此,可以将非易失性存储器裸芯中的每一个的编程时间确定为500μs,其为第三编程时间tPROG_3。存储器操作管理器224可以基于所确定的编程时间将第三编程操作命令信号PGM_3发送到第一非易失性存储器裸芯NVM_1,将第三编程操作命令信号PGM_3发送到第二非易失性存储器裸芯NVM_2,将第三编程操作命令信号PGM_3发送到第三非易失性存储器裸芯NVM_3,并将第四编程操作命令信号PGM_4发送到第四非易失性存储器裸芯NVM_4。在这种情况下,第三编程操作命令信号PGM_3可以是命令信号,其控制存储器裸芯执行编程操作长达第三编程时间tPROG_3。
作为确保最大编程容量的附加实施例,存储器操作管理器224a可以比较使用第三编程时间tPROG_3同时编程四个存储器裸芯的情况(如第三种情况CASE 3)的总体容量是否优于使用第一编程时间tPROG_1同时编程两个存储器裸芯的情况的总体容量。另外,当同时编程四个存储器裸芯的情况的容量更好时,存储器操作管理器224可以将第三编程时间tPROG_3确定为数据操作时间。
根据示例实施例,通过根据同时操作的存储器裸芯的数量可变地控制数据操作时间,存储器控制器200可以在允许的功率预算PB的范围内有效地控制存储器裸芯的数据操作。
图9B示出了根据本发明构思的实施例的控制存储器设备100的操作。关于数据信息请求集REQ_SET、存储器操作管理器224b、峰值信息存储器222b和命令CMD,在下面省略与图5至图7的描述重叠的描述。图9B中呈现的功率预算PB的量、峰值信息PEAK_INFO和数据操作请求集REQ_SET仅仅是为了便于解释关于确定数据操作时间的存储器控制器200的操作而设置的值和情况,并且本发明构思不限于图9B中呈现的值和情况。
峰值信息存储器222b可以存储分别对应于第一至第三编程时间tPROG_1至tPROG_3的第一至第三峰值电流值I_PEAK_1至I_PEAK_3作为峰值信息。存储器操作管理器224b可以从峰值信息存储器222b接收峰值信息PEAK_INFO,并且由存储器操作管理器224b接收的功率预算PB可以具有200mA,该200mA被设置为可以对于存储器系统400所允许的最高峰值电流值。存储器操作管理器224b可以考虑(即基于)当前操作信息CURRENT_INFO来确定数据操作时间,并且可以基于所确定的数据操作时间来生成彼此不同的命令信号CMD。
例如,存储器操作管理器224b可以考虑指示第三非易失性存储器裸芯上的第三编程操作的当前性能的当前操作信息来确定数据操作时间。换句话说,存储器操作管理器224b可以基于指示此时正在进行的第三非易失性存储器件NVM_3上的第三编程操作的持续执行的操作信息来确定数据操作时间。数据操作请求集REQ_SET可以包括:对第一非易失性存储器裸芯进行编程的请求PGM(NVM_1)、以及对第二非易失性存储器裸芯进行编程的请求PGM(NVM_2)。在这种情况下,必须在的范围内执行第一和第二非易失性存储器裸芯的编程,该150mA是由存储器操作管理器224b通过从提供的功率预算PB 200mA减去50mA(其为流过当前操作的第三非易失性存储器裸芯NVM_3的第三峰值电流I_PEAK_3)确定的值。因此,存储器操作管理器224b可以确定第一非易失性存储器裸芯和第二非易失性存储器裸芯的编程时间。
例如,存储器操作管理器224b可以换句话说,基于当前在非易失性存储器NVM_3上执行的操作,确定同时操作的两个非易失性存储器裸芯NVM_1和NVM_2的最短操作时间为数据操作时间,并且因此同时操作的两个非易失性存储器裸芯NVM_1和NVM_2的功耗在不大于功率预算PB减去由于当前在非易失性存储器裸芯NVM_3上执行的操作而引起的功耗的范围内。
例如,尽管对于两个非易失性存储器裸芯NVM_1和NVM_2中的每一个可能不允许第一峰值电流I_PEAK_1,但是当允许峰值电流65mA(其为第二峰值电流I_PEAK_2)时,两个非易失性存储器裸芯NVM_1和NVM_2的峰值电流之和等于或小于150mA。因此,非易失性存储器裸芯NVM_1和NVM_2的编程时间可以被确定为400μs,其为第二编程时间tPROG_2。存储器操作管理器224a可以基于所确定的编程时间将第二编程操作命令信号PGM_2发送到第一非易失性存储器裸芯NVM_1,并且将第二编程操作命令信号PGM_2发送到第二非易失性存储器裸芯NVM_2。
图9C示出了根据本发明构思的实施例的控制存储器设备100的操作。关于数据操作请求集REQ_SET、存储器操作管理器224c、峰值信息存储器222c和命令信号CMD,在下面省略与图5至图7的描述重叠的描述。图9C中呈现的功率预算PB的量、峰值信息PEAK_INFO和数据操作请求集REQ_SET仅仅是为了便于解释关于确定数据操作时间的存储器控制器的操作而设置的值和情况,并且本发明构思不限于图9C中呈现的值和情况。
峰值信息存储器222c可以存储分别对应于第一至第三编程时间tPROG_1至tPROG_3的第一至第三峰值电流值I_PEAK_1至I_PEAK_3作为峰值信息PEAK_INFO。存储器操作管理器224c可以从峰值信息存储器222c接收峰值信息PEAK_INFO,并且由存储器操作管理器224c接收的功率预算PB可以具有200mA,该200mA被设置为可以对于存储器系统400所允许的最高峰值电流值。存储器操作管理器224c可以考虑接收到的数据操作请求集REQ_SET的队列深度来确定数据操作时间,并且可以基于所确定的数据操作时间来生成不同的命令信号CMD。
当指示包括在接收到的数据操作请求集REQ_SET中的数据操作请求的数量的队列深度大于请求的阈值数量时,存储器操作管理器224c可以确定最长数据操作时间段作为数据操作时间。假设在图9C中的数据操作请求集REQ_SET中包括的数据操作请求的数量等于或大于请求的阈值数量。例如,当接收到诸如图9C中所呈现的数据操作请求集REQ_SET时,存储器操作管理器224c可以将第三编程时间tPROG_3(其为最长编程时间)确定为第一非易失性存储器裸芯NVM_1和第二非易失性存储器裸芯NVM_2的编程时间。存储器操作管理器224c可以在剩余功率预算的范围内发送与下一数据操作请求相对应的命令信号CMD。因此,存储器操作管理器224c可以将第三编程操作命令信号PGM_3发送到第一非易失性存储器裸芯,将第三编程操作命令信号PGM_3发送到第二非易失性存储器裸芯,并且将读取操作命令信号READ发送到第一非易失性存储器裸芯和第二非易失性存储器裸芯。
根据示例实施例,当接收到的数据操作请求的数量等于或大于请求的阈值数量时,存储器控制器可以确定数据操作时间具有更大的值,从而同时发送用于若干数据操作请求的命令信号。例如,请求的阈值数量可以由用户系统10的用户来设置,或者可以是预设的。
图10示出了根据图9C的实施例的关于数据操作时间的确定的流程图。存储器控制器200识别指示包括在接收到的数据操作请求集REQ_SET中的数据操作请求的数量的队列深度QD。
存储器控制器将队列深度QD和请求的阈值数量THRESHOLD进行比较(S142)。
当队列深度QD小于请求的阈值数量THRESHOLD时(S142中的是),存储器控制器200确定在功率预算PB的范围内的多个存储器裸芯的数据操作时间,诸如参考图9A所述(S144)。
当队列深度QD等于或大于请求的阈值数量THRESHOLD时(S142中的否),存储器控制器200将尽可能长的数据操作时间段确定为数据操作时间(S146)。例如,存储器控制器200可以根据存储在峰值信息存储器222c中的PEAK_INFO来确定多个存储器裸芯的数据操作时间尽可能长。通过确定数据操作时间具有更大的值,有可能控制存储器裸芯同时执行若干数据操作。
图11示出了根据本发明构思的实施例的控制存储器设备100的操作。关于数据操作请求集REQ_SET、存储器操作管理器224、峰值信息存储器222和命令信号CMD,在下面省略与图5至图7的描述重叠的描述。图11中呈现的功率预算PB的量、峰值信息PEAK_INFO和数据操作请求集REQ_SET仅仅是为了便于解释关于确定数据操作时间的存储器控制器200的操作而设置的值和情况,并且本发明构思不限于图11中呈现的值和情况。
峰值信息存储器222可以存储分别对应于第一至第三编程时间tPROG_1至tPROG_3的第一至第三峰值电流值I_PEAK_1至I_PEAK_3作为峰值信息。存储器操作管理器224可以从峰值信息存储器222接收峰值信息PEAK_INFO,并且由存储器操作管理器224接收的功率预算PB可以具有265mA作为可以对于存储器系统400所允许的最高峰值电流值。存储器操作管理器224可以可变地控制存储器裸芯的数据操作时间,使得可以在基于接收到的数据操作请求提供的功率预算PB内控制存储器裸芯的数据操作。
例如,数据操作请求集REQ_SET可以包括:对第一非易失性存储器裸芯进行编程的请求PGM(NVM_1)、对第二非易失性存储器裸芯进行编程的请求PGM(NVM_2)、以及对第三非易失性存储器裸芯进行编程的请求PGM(NVM_3)。存储器操作管理器224可以确定要被同时编程的存储器裸芯的数量为三。存储器操作管理器224可以确定在其中三个存储器裸芯可以在功率预算PB 265mA内执行编程操作的最短操作时间段为数据操作时间。例如,为了有效地使用所提供的功率预算PB,存储器操作管理器224可以确定三个存储器裸芯具有不同的数据操作时间。
存储器操作管理器224可以确定对应于第二峰值电流I_PEAK_2的第二编程时间tPROG_2作为第一非易失性存储器裸芯NVM_1的编程时间,第二峰值电流I_PEAK_2是低于88.1mA的最高峰值电流,该88.1mA为由存储器操作管理器224通过将265mA(功率预算PB)除以3(要同时编程的存储器裸芯的数量)而确定的值。在确定之后,存储器操作管理器224可以控制除了第一非易失性存储器裸芯NVM_1之外的两个存储器裸芯NVM_2和NVM_3在200mA的范围内,其为由存储器操作管理器224通过从功率预算PB减去被确定为流过第一非易失性存储器裸芯NVM_1的峰值电流的第二峰值电流I_PEAK_2确定的值。例如,存储器操作管理器224可以确定对应于第一峰值电流I_PEAK_1的第一编程时间tPROG_1作为第二非易失性存储器裸芯NVM_2的编程时间,第一峰值电流I_PEAK_1是等于或小于由存储器操作管理器224通过将剩余的功率预算PB 200mA除以2(要编程的存储器裸芯的剩余数量)而确定的值的最高峰值电流,并且还可以确定第一编程时间tPROG_1作为第三非易失性存储器裸芯NVM_3的编程时间。
例如,换句话说,存储器操作管理器224可以确定功耗范围内的最短数据操作时间作为第一非易失性存储器裸芯NVM_1的第一数据操作时间,该最短数据操作时间小于通过将功率预算PB除以要同时操作的非易失性存储器裸芯NVM_1、NVM_2和NVM_3的数量而确定的值。存储器操作管理器224可以进一步确定最短数据操作时间作为非易失性存储器裸芯NVM_2和NVM_3的数据操作时间,在该最短数据操作时间中,非易失性存储器裸芯NVM_2和NVM_3可以在不大于功率预算PB减去由于第一非易失性存储器裸芯NVM_1引起的功耗的功耗范围内操作。
因此,存储器操作管理器224可以将第二编程操作命令信号PGM_2发送到第一非易失性存储器裸芯NVM_1,并且将第一编程操作命令信号PGM_1发送到第二非易失性存储器裸芯NVM_2和第三非易失性存储器裸芯NVM_3。
然而,确定关于图11描述的特定编程时间仅仅是确定数据操作时间的示例。作为另一示例,存储器操作管理器224还可以确定第二非易失性存储器裸芯NVM_2或第三非易失性存储器裸芯NVM_3的编程时间作为第二编程时间tPROG_2。例如,当确定多个存储器裸芯具有不同的数据操作时间时,存储器操作管理器224还可以考虑写入存储器裸芯中的每一个的数据的量。例如,当第三非易失性存储器裸芯具有第一至第三非易失性存储器裸芯当中要写入的数据的最大量时,存储器操作管理器224可以确定第三非易失性存储器裸芯的编程时间作为第二编程时间tPROG_2,并且可以确定第一和第二非易失性存储器裸芯的编程时间作为第一编程时间tPROG_1。
根据关于图11描述的实施例,存储器操作管理器224可以通过确定存储器裸芯中的每一个的彼此不同的数据操作时间来更有效地使用所提供的功率预算PB。
图12示出了根据图11中的实施例的关于数据操作模式的确定的流程图。
首先,将自然数i初始化为1(S220)。i可以等于或大于1,并且可以等于或小于存储器设备的数量。存储器设备的数量可以指示存储器系统400中包括的非易失性存储器裸芯120_1至120_n的数量。
在小于通过将剩余功率预算PB除以剩余设备的数量所得到的值的范围内,存储器控制器200将具有最高峰值电流的模式分配给第i个存储器裸芯(S240)。在这种情况下,例如,以第一编程时间操作的编程模式可以被称为第一编程模式,并且以第二编程时间操作的编程模式可以被称为第二编程模式。
然后确定当前值i是否小于要同时操作的设备的数量,或者当前值i是否等于或大于要同时操作的设备的数量(S260)。例如,过程第一次进行到S260的i的当前值等于1。小于设备的数量的当前值i可以指示尚未确定存储器裸芯中的每一个的数据操作时间,并且等于或大于设备的数量的当前值i可以指示确定存储器裸芯中的每一个的数据操作时间。
当值i小于要同时操作的设备的数量时(S260中的是),值i增加(递增)1(S280)。在S280之后,可以再次执行通过使用剩余功率预算为第i个裸芯(即与增加的电流值i相对应的裸芯)分配模式的操作(S240)。
当值i等于或大于要同时操作的设备的数量时(S260中的否),可以完成对数据操作模式的确定。
在关于图12描述的实施例中,存储器控制器200可以在所提供的功率预算的范围内有效地控制存储器裸芯的数据操作时间。
图13示出了根据本发明构思的实施例的控制存储器设备100的操作。关于数据操作请求集REQ_SET、存储器操作管理器224、峰值信息存储器222和命令信号CMD,在下面省略与图5至图7的描述重叠的描述。图13中呈现的功率预算PB的量、峰值信息PEAK_INFO和数据操作请求集REQ_SET仅仅是为了便于解释关于确定数据操作时间的存储器控制器的操作而设置的值和情况,并且本发明构思不限于图13中呈现的值和情况。
峰值信息存储器222可以存储分别对应于第一至第三编程时间tPROG_1至tPROG_3的第一至第三峰值电流I_PEAK_1至I_PEAK_3的值、以及分别对应于第一至第三读取时间tR_1至tR_3的第四至第六峰值电流I_PEAK_4至I_PEAK_6的值作为峰值信息。存储器操作管理器224可以从峰值信息存储器222接收峰值信息PEAK_INFO,并且由存储器操作管理器224接收的功率预算PB可以具有240mA作为可以对于存储器系统400所允许的最高峰值电流值。根据由存储器操作管理器224接收的数据操作请求集REQ_SET,存储器操作管理器224可以可变地确定数据操作时间,并且可以基于所确定的操作时间生成彼此不同的命令信号CMD。
例如,可能存在由于对应于第一至第m个数据操作请求的第一至第m个数据操作而引起的总功耗大于功率预算PB的情况。在这种情况下,m是等于或大于2的自然数。然而,如果由于第一至第m-1个数据操作和第m+1个数据操作引起的总功耗等于或小于功率预算PB,并且改变第m个数据操作和第m+1个至第m+k个数据操作的顺序不会以应该避免的方式影响存储器设备100,则存储器操作管理器224可以改变第m个操作和第m+1至m+k个数据操作的顺序。例如,存储器操作管理器224可以彼此改变第m个数据操作和第m+1个数据操作的顺序。
例如,当使用第三编程时间tPROG_3执行第一至第五数据操作时,峰值消耗之和是250mA,其大于240mA(功率预算PB)。然而,当使用第三编程时间tPROG_3执行第一至第四数据操作,并且使用第三读取时间tR_3执行第六至第七数据操作,峰值电流之和可以是240mA,其等于或小于240mA(功率预算PB)。当改变第五数据操作PGM(NVM_5)和第六至第七数据操作的顺序不会以应该避免的方式影响存储器设备100时,存储器操作管理器224可以改变第五数据操作和第六至第七次数据操作的顺序。存储器操作管理器224可以将第三编程操作命令信号PGM_3发送到第一至第四非易失性存储器裸芯中的每一个,并且可以将第三读取操作命令信号READ_3发送到第一和第二非易失性存储器裸芯。可以在第七数据操作READ(NVM_2)之后(例如,时间+Δt之后)执行第五数据操作PGM(NVM_5)。
当改变关于包括在接收到的数据操作请求集REQ_SET中的数据操作请求的顺序不影响存储器设备100时,存储器操作管理器224可以通过改变关于数据操作请求的顺序来更有效地管理所提供的功率预算PB。
图14示出了根据本发明构思的另一实施例的存储器操作控制器230。存储器操作控制器230包括峰值信息存储器232和存储器操作管理器234。
峰值信息存储器232可以存储峰值信息PEAK_INFO,并且可以将存储的峰值信息PEAK_INFO提供给存储器操作管理器234。峰值信息PEAK_INFO可以包括关于由存储器控制器200控制的存储器裸芯120_1至120_n的峰值电流或峰值电压的信息。例如,峰值信息PEAK_INFO可以包括关于根据存储器裸芯120_1至120_n的数据操作时间的峰值电流或峰值电压的信息。峰值信息PEAK_INFO可以包括关于根据存储器裸芯120_1至120_n的数据操作时间的峰值电流或峰值电压的信息,例如,指示关于与m(m是自然数)个数据操作时间相对应的峰值电流值或峰值电压值的信息的数据表。峰值信息存储器232可以是单独的存储器组件,但不限于此。例如,峰值信息存储器232可以包括存储器控制器200中存储峰值信息PEAK_INFO的任意存储器的任何组件或者是其的一部分。图14的实施例中的峰值信息存储器232的功能和峰值信息PEAK_INFO的内容可以类似于关于图6描述的那些。
存储器操作管理器234可以从峰值信息存储器232接收峰值信息PEAK_INFO,可以基于接收到的数据操作请求集REQ_SET和设备规范DEVICE_SPEC来可变地确定数据操作时间,并且可以基于所确定的数据操作时间生成命令信号CMD。设备规范DEVICE_SPEC可以指示存储器设备的最宽功率谱。例如,存储器设备可以是存储器裸芯,诸如如关于图1所述的存储器裸芯120_1至120_n。最宽功率谱可以是可以由存储器裸芯120_1至120_n同时使用的最大功率值,但不限于此。例如,最宽功率谱还可以指示可以同时允许的最高峰值电流或最高峰值电压。设备规范DEVICE_SPEC可以对于存储器裸芯120_1至120_n中的每一个具有不同的值,并且可以是存储在存储器控制器200中的值。与图5中的存储器操作管理器224相比,参考图14描述的实施例的存储器操作管理器234可以通过考虑设备规范DEVICE_SPEC而不是从主机接收的功率预算来确定数据操作时间。例如,关于图14描述的实施例的存储器操作管理器234可以确定使存储器裸芯120_1至120_n在不大于相应的可容许的功耗的范围内执行数据操作的数据操作时间。
图15示出了根据本发明构思的实施例的固态驱动器(SSD)系统1000。
SSD系统1000包括主机1100和SSD 1200。SSD 1200可以通过信号连接器与主机1100交换信号SGL,并且可以从电源连接器接收输入电力PWR。SSD 1200可以包括SSD控制器1110、辅助电力供应1220和多个存储器设备1230、1240和1250。在这种情况下,SSD可以通过使用图1至图14中描述的实施例来实施。
更具体地,SSD控制器1210可以包括存储器操作控制器1212。存储器操作控制器1212可以基于从主机1100接收的数据操作请求集REQ_SET和功率预算PB(未示出)确定在多个存储器设备1230、1240和1250中执行的数据操作的数据操作时间。存储器操作控制器1212可以存储与数据操作时间相对应的峰值电流或者峰值电压的值作为峰值信息,并且可以使用峰值信息确定数据操作时间。SSD控制器1210可以基于所确定的数据操作时间生成命令,并且经由相应的通道CH1、CH2和CHn控制多个存储器设备1230、1240和1250。
尽管已经参考其实施例具体示出和描述了本发明构思,但是应当理解的是,在不脱离所附权利要求的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本发明构思的真正技术范围由所附权利要求的技术精神限定。
Claims (17)
1.一种由存储器控制器控制存储器设备的方法,所述存储器设备包括多个存储器裸芯,所述方法包括:
由所述存储器控制器从所述存储器控制器的外部接收至少一个数据操作请求和功率预算;
由所述存储器控制器确定所述多个存储器裸芯的数据操作时间,使得由于响应于所述至少一个数据操作请求的至少一个数据操作而引起的功耗等于或小于所述功率预算;和
由所述存储器控制器基于所述数据操作时间控制所述多个存储器裸芯,
其中,确定所述数据操作时间包括:根据所述至少一个数据操作请求,确定所述多个存储器裸芯当中的同时操作的存储器裸芯;和
确定在其中被确定为同时操作的存储器裸芯在所述功率预算内操作的最短操作时间段作为所述数据操作时间。
2.根据权利要求1所述的方法,其中,所述功率预算指示可接受的最高峰值电流值或可接受的最高峰值电压值,并且
确定所述数据操作时间包括使用存储在所述存储器控制器中的峰值信息,
其中,所述峰值信息指示根据存储在所述存储器控制器中作为峰值信息的数据操作时间的峰值电流值或峰值电压值。
3.根据权利要求2所述的方法,其中,确定所述数据操作时间包括确定数据操作时间以使得执行所述至少一个数据操作的多个存储器裸芯的峰值电流值之和或峰值电压值之和等于或小于所述功率预算。
4.根据权利要求1所述的方法,其中,确定所述最短操作时间段包括:
基于当前在所述多个存储器裸芯上执行的操作,确定在其中被确定为同时操作的存储器裸芯进行操作的所述最短操作时间段作为所述数据操作时间,并且确定所述最短操作时间段以使得被确定为同时操作的存储器裸芯的功耗在不大于所述功率预算减去由于当前执行的操作而引起的功耗的范围内。
5.根据权利要求1所述的方法,其中,确定所述最短操作时间段包括:
在小于通过将所述功率预算除以同时操作的存储器裸芯的数量而确定的值的功耗范围中确定第一最短数据操作时间作为同时操作的存储器裸芯当中的第一存储器裸芯的第一数据操作时间;和
在不大于所述功率预算减去由于第一存储器裸芯而引起的功耗的功耗范围内确定在其中同时操作的存储器裸芯当中的除了第一存储器裸芯之外的存储器裸芯操作的第二最短数据操作时间,作为除了第一存储器裸芯之外的同时操作的存储器裸芯的数据操作时间。
6.根据权利要求2所述的方法,其中,确定所述数据操作时间包括:
响应于所述至少一个数据操作请求的数量等于或大于请求的阈值数量,从存储在所述存储器控制器中作为峰值信息的数据操作时间当中确定最长数据操作时间段作为所述多个存储器裸芯的数据操作时间。
7.根据权利要求1所述的方法,其中,所述至少一个数据操作请求包括m+1个数据操作请求,并且
在确定所述多个存储器裸芯的数据操作时间期间,响应于由于响应于m+1个数据操作请求的第一个至第m个数据操作而引起的功耗之和超过所述功率预算,当由于第一个至第m-1个数据操作和第m+1个数据操作而引起的功耗之和等于或小于所述功率预算时,第m个数据操作和第m+1个数据操作的顺序互相改变,
其中,m是等于或大于2的自然数。
8.根据权利要求1所述的方法,其中,确定所述数据操作时间包括:
当指示所述至少一个数据操作请求的数量的队列深度增加时,增加所述多个存储器裸芯的数据操作时间。
9.根据权利要求1所述的方法,其中,所述至少一个数据操作包括关于所述存储器设备的编程操作,并且所述多个存储器裸芯的数据操作时间包括编程时间。
10.根据权利要求1所述的方法,其中,控制所述多个存储器裸芯包括:所述存储器控制器将与所述多个存储器裸芯的数据操作时间相对应的命令信号发送到所述多个存储器裸芯。
11.一种储存设备,包括:
多个非易失性存储器裸芯;和
存储器控制器,被配置为从所述存储器控制器的外部接收功率预算和编程请求,以及基于所述功率预算和所述编程请求的数量将互不相同的命令信号发送到所述多个非易失性存储器裸芯,
其中所述存储器控制器被配置为确定所述多个非易失性存储器裸芯的编程时间,使得所确定的编程时间随着指示所述编程请求的数量的队列深度的增加而增加,以及被配置为基于所确定的编程时间来生成所述命令信号。
12.根据权利要求11所述的储存设备,其中,所述功率预算指示对于所述储存设备所允许的峰值电流的最高值,并且
所述存储器控制器被配置为存储包括根据所述非易失性存储器裸芯的编程时间的峰值电流的峰值信息。
13.根据权利要求12所述的储存设备,其中,所述存储器控制器被配置为通过使用所述峰值信息来确定所述非易失性存储器裸芯的编程时间,以将所述非易失性存储器裸芯的功耗维持在所述功率预算的范围内,以及被配置为基于所述编程时间生成所述命令信号。
14.根据权利要求13所述的储存设备,其中,所述存储器控制器被配置为在所述功率预算减去由于当前在所述多个非易失性存储器裸芯上执行的数据操作而引起的功耗的范围内确定编程时间。
15.根据权利要求13所述的储存设备,其中,响应于所述编程请求的数量等于或大于请求的阈值数量,所述存储器控制器被配置为确定被存储为所述峰值信息的编程时间当中的具有最长时段的编程时间作为所述多个非易失性存储器裸芯的编程时间。
16.根据权利要求13所述的储存设备,其中,所述存储器控制器被配置为根据所确定的编程时间生成分别包括编程命令信号和不同模式信号中的一个的所述命令信号。
17.一种由存储器控制器控制存储器设备的方法,所述存储器设备包括多个存储器裸芯,所述方法包括:
由所述存储器控制器从所述存储器控制器的外部接收至少一个数据操作请求;
由所述存储器控制器确定所述多个存储器裸芯的数据操作时间,其中,由于根据所述至少一个数据操作请求的至少一个数据操作而引起的功耗基于所述多个存储器裸芯的可容许的功耗;和
由所述存储器控制器基于所确定的数据操作时间,控制所述多个存储器裸芯,
其中,确定数据操作时间包括:当指示所述至少一个数据操作请求的数量的队列深度增加时,增加数据操作时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0148713 | 2017-11-09 | ||
KR1020170148713A KR102532206B1 (ko) | 2017-11-09 | 2017-11-09 | 메모리 컨트롤러 및 그것을 포함하는 스토리지 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109766294A CN109766294A (zh) | 2019-05-17 |
CN109766294B true CN109766294B (zh) | 2024-06-11 |
Family
ID=66327151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811227920.1A Active CN109766294B (zh) | 2017-11-09 | 2018-10-22 | 存储器控制器和包括其的储存设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10564869B2 (zh) |
KR (1) | KR102532206B1 (zh) |
CN (1) | CN109766294B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102615227B1 (ko) * | 2018-02-01 | 2023-12-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
TWI718532B (zh) | 2019-05-10 | 2021-02-11 | 技嘉科技股份有限公司 | 固態硬碟以及固態硬碟的效能優化方法 |
US11454941B2 (en) * | 2019-07-12 | 2022-09-27 | Micron Technology, Inc. | Peak power management of dice in a power network |
US11442525B2 (en) * | 2019-08-23 | 2022-09-13 | Micron Technology, Inc. | Power management |
US20210294407A1 (en) * | 2020-03-17 | 2021-09-23 | Micron Technology, Inc. | Setting a power mode based on a workload level in a memory sub-system |
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 |
KR20210128628A (ko) * | 2020-04-17 | 2021-10-27 | 에스케이하이닉스 주식회사 | 전자 장치와, 이를 위한 데이터 저장 장치 및 동작 방법 |
KR20210146643A (ko) | 2020-05-27 | 2021-12-06 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354632A (zh) * | 2007-07-24 | 2009-01-28 | 株式会社日立制作所 | 存储控制装置及其控制方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100634455B1 (ko) | 2005-06-13 | 2006-10-16 | 삼성전자주식회사 | 프로그램 시간을 줄일 수 있는 플래시 메모리 장치 |
KR100616214B1 (ko) | 2005-06-30 | 2006-08-28 | 주식회사 하이닉스반도체 | 멀티-레벨 셀을 가지는 플래시 메모리 장치의 프로그램제어 회로 및 그 프로그램 제어 방법 |
US7656710B1 (en) | 2005-07-14 | 2010-02-02 | Sau Ching Wong | Adaptive operations for nonvolatile memories |
KR100822805B1 (ko) | 2006-10-20 | 2008-04-18 | 삼성전자주식회사 | 다중 배속 동작 모드를 가지는 플래시 메모리 장치 |
US8924626B2 (en) * | 2010-04-29 | 2014-12-30 | Sandisk Technologies Inc. | Phased NAND power-on reset |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
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 |
US8854900B2 (en) | 2012-07-26 | 2014-10-07 | SanDisk Technologies, Inc. | Non-volatile memory and method with peak current control |
US9443600B2 (en) | 2013-03-28 | 2016-09-13 | Intel Corporation | Auto-suspend and auto-resume operations for a multi-die NAND memory device to reduce peak power consumption |
US9449702B1 (en) * | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US20160162215A1 (en) | 2014-12-08 | 2016-06-09 | Sandisk Technologies Inc. | Meta plane operations for a storage device |
US10120817B2 (en) | 2015-09-30 | 2018-11-06 | Toshiba Memory Corporation | Device and method for scheduling commands in a solid state drive to reduce peak power consumption levels |
US9817595B2 (en) * | 2016-01-28 | 2017-11-14 | Apple Inc. | Management of peak power consumed by multiple memory devices |
-
2017
- 2017-11-09 KR KR1020170148713A patent/KR102532206B1/ko active IP Right Grant
-
2018
- 2018-08-08 US US16/057,849 patent/US10564869B2/en active Active
- 2018-10-22 CN CN201811227920.1A patent/CN109766294B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354632A (zh) * | 2007-07-24 | 2009-01-28 | 株式会社日立制作所 | 存储控制装置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109766294A (zh) | 2019-05-17 |
KR20190052884A (ko) | 2019-05-17 |
US20190138233A1 (en) | 2019-05-09 |
US10564869B2 (en) | 2020-02-18 |
KR102532206B1 (ko) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766294B (zh) | 存储器控制器和包括其的储存设备 | |
US11226895B2 (en) | Controller and operation method thereof | |
US11334493B2 (en) | Memory system and operating method thereof | |
KR20170102694A (ko) | 데이터 저장 장치 | |
KR20200085967A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
KR20170099618A (ko) | 데이터 저장 장치 | |
US11442664B2 (en) | Memory system and method of operating the same | |
US9785379B2 (en) | Operating method of nonvolatile memory device and nonvolatile memory system | |
KR102406340B1 (ko) | 전자 장치 및 그것의 동작 방법 | |
KR20200008710A (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
US11960728B2 (en) | Interface circuit, memory device, storage device, and method of operating the memory device | |
CN109147854A (zh) | 数据存储装置及其操作方法 | |
US20220229595A1 (en) | Controller and operation method thereof | |
US11775209B2 (en) | Controller and operation method thereof | |
KR102645786B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
KR20210068734A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN108417232B (zh) | 数据存储装置及其操作方法 | |
KR20190041082A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN111352856B (zh) | 存储器系统及其操作方法 | |
KR20230060817A (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
KR20210002190A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
KR102355436B1 (ko) | 데이터 저장 장치 | |
KR20200015260A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20240005998A1 (en) | Memory device and operating method thereof | |
CN109582218B (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 |