CN111984185A - 进行动态节流控制的方法、主机、数据存储装置及控制器 - Google Patents

进行动态节流控制的方法、主机、数据存储装置及控制器 Download PDF

Info

Publication number
CN111984185A
CN111984185A CN201910786536.3A CN201910786536A CN111984185A CN 111984185 A CN111984185 A CN 111984185A CN 201910786536 A CN201910786536 A CN 201910786536A CN 111984185 A CN111984185 A CN 111984185A
Authority
CN
China
Prior art keywords
storage device
data storage
throttling
control
volatile memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910786536.3A
Other languages
English (en)
Other versions
CN111984185B (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion 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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN111984185A publication Critical patent/CN111984185A/zh
Application granted granted Critical
Publication of CN111984185B publication Critical patent/CN111984185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • 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/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • 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)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

本发明公开了公开一种藉助于组态设定来进行动态节流控制的方法及相关设备诸如主机、数据存储装置及其控制器。所述方法包括:利用主机提供用户界面,以容许用户选择数据存储装置的多个节流控制组态中的任何节流控制组态;以及因应所述使用者选择所述多个节流控制组态中的所述任何节流控制组态,利用主机传送对应于所述任何节流控制组态的节流控制信息至数据存储装置,以于编程所述非挥发性存储器的期间对数据存储装置进行所述动态节流控制,以供于编程所述非挥发性存储器的期间限制数据存储装置的功耗,所述节流控制信息指出进行动态节流控制是必要的。本发明的方法与相关设备能确保电子装置可妥善地运作,以避免瞬间功耗超过预定的产品规格。

Description

进行动态节流控制的方法、主机、数据存储装置及控制器
技术领域
本发明是有关于闪存(Flash memory)的存取(access),尤指一种藉助于组态设定(configuration setting)来进行动态节流控制(dynamic throttling control)的方法以及设备,其中上述设备的例子可包括(但不限于):主机(host device)、数据存储装置及其控制器。
背景技术
近年来由于存储器的技术不断地发展,各种可携式记忆装置(例如:符合SD/MMC、CF、MS、或XD标准的记忆卡)被广泛地实施于诸多应用中。因此,这些可携式记忆装置中的存储器的存取控制遂成为相当热门的议题。
以常用的NAND型闪存而言,其主要可区分为单阶细胞(single level cell,SLC)与多阶细胞(multiple level cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆细胞(memory cell)的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆单元的晶体管的存储能力则被充分利用,是采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录至少两组位信息(诸如00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的至少两倍,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。为了确保可携式记忆装置对闪存的存取控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理数据的存取。
依据现有技术,有了这些管理机制的记忆装置还是有不足之处。举例来说,因应的某些类型的写入(write)/编程(program)运作,记忆装置的瞬间功耗(instantaneouspower consumption)可能过大而超过预定的产品规格。因此,需要一种新颖的方法及相关架构,以在没有副作用或较不可能带来副作用的状况下解决现有技术中的问题。
发明内容
本发明的一目的在于公开一种藉助于组态设定(configuration setting)来进行动态节流控制(dynamic throttling control)的方法以及相关设备诸如主机(hostdevice)、数据存储装置及其控制器,以解决上述问题。
本发明的另一目的在于公开一种藉助于组态设定来进行动态节流控制的方法以及相关设备诸如主机、数据存储装置及其控制器,以在没有副作用或较不可能带来副作用的状况下达到优化(optimal)效能。
本发明的至少一实施例公开一种藉助于组态设定来进行动态节流控制的方法,其中所述方法是应用于一电子装置,而所述电子装置包括一主机以及一数据存储装置。例如,所述数据存储装置可包括一非挥发性存储器(non-volatile memory,NV memory),且所述非挥发性存储器包括多个非挥发性存储器组件(NV memory element)。所述方法可包括:利用所述主机提供一用户界面,以容许一用户选择所述数据存储装置的多个节流控制组态(throttling control configuration)中的任何节流控制组态;以及因应所述使用者选择所述多个节流控制组态中的所述任何节流控制组态,利用所述主机传送对应于所述多个节流控制组态中的所述任何节流控制组态的节流控制信息至所述数据存储装置,以于编程(program)所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,以供于编程所述非挥发性存储器的期间限制所述数据存储装置的功耗,其中所述节流控制信息指出进行所述动态节流控制是必要的。
本发明的至少一实施例公开一种主机。所述主机可包括一处理电路,而所述处理电路可用来控制所述主机以藉助于组态设定来进行一数据存储装置的动态节流控制,其中所述数据存储装置可用来为所述主机存储信息。例如,所述数据存储装置可包括一非挥发性存储器,以及所述非挥发性存储器可包括多个非挥发性存储器组件。另外,所述主机可提供一用户界面,以容许一用户选择所述数据存储装置的多个节流控制组态中的任何节流控制组态。因应所述使用者选择所述多个节流控制组态中的所述任何节流控制组态,所述主机可传送对应于所述多个节流控制组态中的所述任何节流控制组态的节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,以供于编程所述非挥发性存储器的期间限制所述数据存储装置的功耗,其中所述节流控制信息指出进行所述动态节流控制是必要的。
本发明的至少一实施例公开一种数据存储装置,而所述数据存储装置可包括一非挥发性存储器以及一存储器控制器,其中所述非挥发性存储器可包括多个非挥发性存储器组件。所述存储器控制器可用来控制所述非挥发性存储器的存取,以容许一主机通过所述存储器控制器存取(access)所述非挥发性存储器、以及藉助于组态设定来进行所述数据存储装置的动态节流控制。另外,所述主机可提供一用户界面,以容许一用户选择所述数据存储装置的多个节流控制组态中的任何节流控制组态。因应所述使用者选择所述多个节流控制组态中的所述任何节流控制组态,所述主机可传送对应于所述多个节流控制组态中的所述任何节流控制组态的节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,以供于编程所述非挥发性存储器的期间限制所述数据存储装置的功耗,其中所述节流控制信息指出进行所述动态节流控制是必要的。基于所述动态节流控制,所述存储器控制器可依据所述节流控制信息动态地进行多个节流控制操作,以于编程所述非挥发性存储器的期间限制所述数据存储装置的所述功耗。
本发明的至少一实施例公开一种数据存储装置的控制器,其中所述数据存储装置可包括所述控制器与一非挥发性存储器,而所述非挥发性存储器可包括多个非挥发性存储器组件。例如,所述控制器可包括一处理电路,而所述处理电路可用来控制所述控制器的运作来控制所述非挥发性存储器的存取,以容许一主机通过所述控制器存取所述非挥发性存储器、以及藉助于组态设定来进行所述数据存储装置的动态节流控制。另外,所述主机可提供一用户界面,以容许一用户选择所述数据存储装置的多个节流控制组态中的任何节流控制组态。因应所述使用者选择所述多个节流控制组态中的所述任何节流控制组态,所述主机可传送对应于所述多个节流控制组态中的所述任何节流控制组态的节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,以供于编程所述非挥发性存储器的期间限制所述数据存储装置的功耗,其中所述节流控制信息指出进行所述动态节流控制是必要的。基于所述动态节流控制,所述控制器依据所述节流控制信息动态地进行多个节流控制操作,以于编程所述非挥发性存储器的期间限制所述数据存储装置的所述功耗。
依据某些实施例,所述动态节流控制可包括:于编程所述多个非挥发性存储器组件中的一目标非挥发性存储器组件之前,利用所述存储器控制器检查所述多个非挥发性存储器组件中的至少一其它非挥发性存储器组件是否处于一忙碌(busy)状态或一非忙碌(non-busy)状态;以及因应所述至少一其它非挥发性存储器组件中的每一非挥发性存储器组件进入所述非忙碌状态,利用所述存储器控制器编程所述目标非挥发性存储器组件。
本发明有多种好处,例如:本发明的方法与相关设备能确保电子装置可妥善地运作,以避免现有技术的问题,诸如瞬间功耗超过预定的产品规格。另外,依据本发明的相关实施例来实施并不会增加许多额外的成本。因此,现有技术的问题可被解决,且整体成本不会增加太多。相较于现有技术,本发明能在没有副作用或较不可能带来副作用的状况下提升整体效能。
附图说明
图1为依据本发明一第一实施例的一种电子装置的示意图。
图2为依据本发明一实施例的一种藉助于组态设定(configuration setting)来进行动态节流控制(dynamic throttling control)的方法的流程图。
图3绘示依据本发明一实施例的如图2所示方法所涉及的用户界面窗口。
图4绘示依据本发明一实施例的如图2所示方法的基于组态的(configuration-based)节流控制方案。
图5绘示依据本发明一实施例的如图2所示方法的一工作流程。
图6绘示依据本发明另一实施例的如图2所示方法的一工作流程。
其中,附图标记说明如下:
10 电子装置
50 主机
52 处理电路
53 程序模块
54 存储接口电路
56 触敏显示面板
57 用户界面
57W 用户界面窗口
100 数据存储装置
110 存储器控制器
111 频率源
112 微处理器
112C 程序代码
112M 只读存储器
114 控制逻辑电路
116 缓冲存储器
118 传输接口电路
120 非挥发性存储器
122-1、122-2、…、122-N 非挥发性存储器组件
200 方法
202、204、206、208、210、
212、214、
S10、S11、S12、S13、
S20、S21、S22、S23 步骤
300、320 工作流程
302、304、306、308、310、
322、324、326、328、330 步骤
CLK 频率信号
具体实施方式
图1为依据本发明一第一实施例的一种电子装置10的示意图,其中电子装置10可包括主机(host device)50以及数据存储装置100,而数据存储装置100可用来为主机50存储信息。依据本实施例,数据存储装置100可用来提供存储空间给主机50,且可从主机50取得一或多个驱动电压作为数据存储装置100的电源,但本发明不限于此。
主机50可包括:处理电路52(例如:至少一个处理器诸如一或多个处理器,以及相关电路诸如随机存取存储器(Random Access Memory,RAM)、总线等),处理电路52可用来控制主机50的运作;存储接口电路54,用来将一或多个存储装置(例如:数据存储装置100)耦接至主机50;以及触敏显示面板(touch-sensitive display panel)56(例如:液晶显示(Liquid Crystal Display,LCD)触控屏幕),其耦接至处理电路52,且可用来提供用户界面57给电子装置10的用户。主机50的例子可包括(但不限于):多功能移动电话(multifunctional mobile phone)、平板计算机(tablet)、可穿戴装置(wearable device)以及个人计算机(personal computer)诸如桌面计算机与膝上型计算机。
数据存储装置100可包括一控制器诸如存储器控制器110,且可还包括一非挥发性存储器(non-volatile memory,NV memory)120,其中所述控制器是用来存取(access)非挥发性存储器120,且非挥发性存储器120是用来存储信息。非挥发性存储器120可包括至少一非挥发性存储器组件(NV memory element)(例如一或多个非挥发性存储器组件),诸如多个非挥发性存储器组件122-1、122-2、…与122-N,其中符号“N”可代表大于一的正整数。例如:非挥发性存储器120可为一闪存(Flash memory),而非挥发性存储器组件122-1、122-2、…与122-N可分别为多个闪存芯片(Flash memory chip;也可称为快闪芯片)或多个闪存裸晶(Flash memory die;也可称为快闪裸晶),但本发明不限于此。数据存储装置100的例子可包括(但不限于):可携式记忆装置(诸如符合SD/MMC、CF、MS、XD或UFS标准的记忆卡)、固态硬盘(Solid State Drive,SSD)以及各种嵌入式(embedded)存储装置(诸如符合UFS或EMMC规格的嵌入式存储装置)。
如图1所示,存储器控制器110可包括至少一频率源(例如一或多个频率源),其可通称为频率源111。上述至少一频率源诸如频率源111可用来产生至少一频率信号(例如一或多个频率信号),其可通称为频率信号CLK。例如,基于一或多个预设设定(defaultsetting)或一或多个使用者设定(user setting),频率信号CLK可载有(carry)频率源111的多个预定频率中的任何频率,以供被利用作为存储器控制器110的一操作频率。另外,存储器控制器110可包括处理电路诸如微处理器112、存储器诸如只读存储器(Read OnlyMemory,ROM)112M、控制逻辑电路114、缓冲存储器116与传输接口电路118,其中这些组件中的至少一部分(例如一部分或全部)可通过总线彼此耦接。缓冲存储器116是以随机存取存储器(RAM)来实施,例如可为静态随机存取存储器(Static RAM,SRAM),其中所述随机存取存储器可用来提供内部存储空间给存储器控制器110,例如可暂时地存储数据,但本发明不限于此。另外,本实施例的只读存储器112M是用来存储一程序代码112C,而微处理器112则用来执行程序代码112C以控制对非挥发性存储器120的存取。请注意,程序代码112C也可存储在缓冲存储器116或任何形式的存储器内。此外,控制逻辑电路114可用来控制非挥发性存储器120。控制逻辑电路114可包括一错误更正码电路(未显示),以保护数据、及/或进行错误更正,而传输接口电路118可符合一特定通信标准(诸如串行高级技术附件(SerialAdvanced Technology Attachment,SATA)标准、通用串行总线(Universal Serial Bus,USB)标准、快捷外设互联(Peripheral Component Interconnect Express,PCIe)标准、嵌入式多媒体记忆卡(embedded Multi Media Card,eMMC)标准、或通用闪存存储(UniversalFlash Storage,UFS)标准)且可依据所述特定通信标准进行通信。
主机50可通过传送多个主机指令(host command)与对应的逻辑地址予存储器控制器110来存取数据存储装置100中的非挥发性存储器120。存储器控制器110接收所述多个主机指令与逻辑地址,并将所述多个主机指令分别转译成存储器操作指令(简称操作指令),再以操作指令控制非挥发性存储器120读取、写入(write)/编程(Program)非挥发性存储器120当中某些实体地址的记忆单位(memory unit),其中实体地址可被关联于逻辑地址。例如存储器控制器110可产生或更新至少一逻辑对实体地址映射表(logical-to-physical address mapping table,L2P Table)来管理实体地址与逻辑地址之间的关系,但本发明不限于此。
上述L2P Table较佳以逻辑地址为索引,而项目(Entry)则记录实体地址,其中实体地址可由区块编号、页面(page)编号、偏移量(Offset)、平面(plane)编号、逻辑单元编号(Logical Unit Number,LUN)、通道编号等组成,以记录或更新所述多个实体地址与所述多个逻辑地址之间的关系。
例如,于非挥发性存储器120中,非挥发性存储器组件122-1、122-2、…与122-N中的任一非挥发性存储器组件122-n(符号“n”可代表区间[1,N]中的任一整数)可包括多个区块,且所述多个区块中的一区块可包括且可记录特定数量的页面。在一实体地址包括一区块地址诸如一区块编号以及一页面地址诸如一页面编号的情况下,存储器控制器110可依据所述区块编号以及所述页面编号来存取非挥发性存储器120中的某一区块中的某一页面。
又例如,上述任一非挥发性存储器组件122-n可包括多个平面,所述多个平面中的一平面可包括一组区块诸如上述所述多个区块,且所述组区块中的一区块可包括且可记录特定数量的页面。在一实体地址包括一平面编号、一区块编号以及一页面编号的情况下,存储器控制器110可依据所述平面编号、所述区块编号以及所述页面编号来存取非挥发性存储器120中的某一平面中的某一区块中的某一页面,但本发明不限于此。由于总区块数增加,故非挥发性存储器120的存储容量变得更大。
基于非挥发性存储器120的架构,存储器控制器110对非挥发性存储器120进行抹除数据的运作的最小单位可为区块,而存储器控制器110对非挥发性存储器120进行写入数据的运作的最小单位可为页面,但本发明不限于此。由于存在上列运作的最小单位之间的差异,存储器控制器110可被设计成具有各种管理机制,以确保数据存储装置100能正确地运作。
关于制造非挥发性存储器120,有多种技术可供采用,诸如:将记忆细胞排列成单层的平面NAND型快闪(2D/Planar NAND Flash)技术;以及将记忆细胞排列成多层垂直堆栈的立体NAND型快闪(3D NAND Flash)技术。例如,非挥发性存储器120可被实施成具有单层排列的记忆细胞的平面NAND型快闪架构。又例如,非挥发性存储器120可被实施成具有以多层垂直堆栈的记忆细胞的立体NAND型快闪架构。此状况下,非挥发性存储器120的存储容量可变得非常巨大。
相较于从非挥发性存储器120读取数据的操作,将数据写入(尤其,编程)到非挥发性存储器120中的操作可以是耗时且耗电的。依据某些实施例,主机50可于用户界面57上为所述使用者提供各种组态选项,并且取得所述用户通过用户界面57选择的最新组态。主机50可依据上述最新组态来管理数据存储装置100的一或多个操作,以于编程非挥发性存储器120的期间限制数据存储装置100的功耗。于是,本发明的架构能在没有副作用或较不可能带来副作用的状况下解决现有技术中的问题。例如,基于上述最新组态,存储器控制器110可动态地调整编程操作的排程,以在限制所述功耗的同时来达到数据存储装置100的优化(optimal)效能。又例如,基于上述最新组态,存储器控制器110可动态地调整存储器控制器110的操作频率,以在限制所述功耗的同时来达到数据存储装置100的优化效能。
图2为依据本发明一实施例的一种藉助于组态设定(configuration setting)来进行动态节流控制(dynamic throttling control)的方法200的流程图。本发明的上述方法200能应用于电子装置10,尤其,能应用于主机50以及其内的处理电路52,其中处理电路52运行着对应上述方法200的程序模块53;并且,上述方法200能应用于上述一或多个存储装置诸如数据存储装置100,以及其内的控制器诸如存储器控制器110。例如,运行着程序模块53的处理电路52可控制主机50依据上述方法200来操作。又例如,存储器控制器110,尤其,运行着对应上述方法200的一或多个程序代码的微处理器112,可控制数据存储装置100依据上述方法200来操作,其中所述一或多个程序代码可包括程序代码112C、及/或一额外程序代码诸如一***内程序代码(In-System Program code,ISP code)。
于步骤202中,主机50可建立主机50与数据存储装置100之间的一连接(connection),但本发明不限于此。
于步骤204中,主机50可检查建立所述连接是否成功。如果建立所述连接是成功的,进入步骤206;否则,进入步骤202。
于步骤206中,主机50可提供用户界面57,以容许所述用户选择数据存储装置100的多个节流控制组态(throttling control configuration)中的任何节流控制组态。举例来说,主机50可于一选择程序中提供用户界面57,且所述使用者可于完成选择以后确认(confirm)其选择(例如,接触或按压用户界面57中的标示着“确定”(OK)的一虚拟按钮)。
于步骤208中,主机50可检查用户选择(例如:所述用户于所述选择程序中的选择)是否完成。如果所述使用者选择已完成,进入步骤210;否则,进入步骤206。
于步骤210中,因应所述使用者选择所述多个节流控制组态中的上述任何节流控制组态,主机50可传送节流控制信息(例如:对应于所述多个节流控制组态中的上述任何节流控制组态的所述节流控制信息)至数据存储装置100,以于编程非挥发性存储器120的期间对数据存储装置100进行所述动态节流控制,以供于编程非挥发性存储器120的期间限制数据存储装置100的功耗。举例来说,所述节流控制信息可指出进行所述动态节流控制是必要的。
于步骤212中,主机50可侦测来自一小工具(widget)的任何使用者触发(usertrigger)。举例来说,所述小工具可被实施成触敏显示面板56所显示的主屏幕(homescreen)上的一主屏幕小工具。依据本实施例,所述使用者可接触或按压所述小工具(例如所述主屏幕小工具)的一虚拟按钮,以触发主机50提供用户界面57。于是,主机50可利用触敏显示面板56显示用户界面57,且侦测所述用户通过用户界面57所进行的最新选择。
于步骤214中,主机50可检查提供用户界面57的操作是否被触发。如果提供用户界面57的所述操作被触发,进入步骤206;否则,进入步骤212。
为了更好地理解,本发明的上述方法200可用图2所示的工作流程来说明,但本发明不限于此。依据某些实施例,一个或多个步骤可于图2所示的工作流程中增加、删除或修改。
于图2所示的工作流程中,可以假设所述使用者不需要取消(Cancel)其选择,且主机50可于用户界面57上提供默认设定,以供所述使用者预设地选择,但本发明不限于此。依据某些实施例,一额外步骤可被***于图2所示的工作流程中的步骤206与步骤208之间,以容许所述使用者取消其选择。尤其,于所述额外步骤中,如果所述使用者取消其选择,进入步骤212;否则,进入步骤208。
图3绘示依据本发明一实施例的如图2所示方法200所涉及的用户界面窗口57W,其中用户界面57可包括用户界面窗口57W,但本发明不限于此。主机50可利用用户界面窗口57W,和所述用户互动,以供动态地进行数据存储装置100的节流控制(于图3中标示“存储装置节流控制”,以求简明)。依据本实施例,可以有多个类别(category)的组态设定,诸如用户界面窗口57W的左侧与右侧分别所示的一第一类别与一第二类别。
例如,依据所述第一类别,主机50可针对控制非挥发性存储器120中的同时编程的非挥发性存储器组件(concurrently programmed NV memory element)的最大数量(于图3中标示“控制同时编程的非挥发性存储器组件的最大数量”,以求简明),取得最新组态。主机50可侦测用户界面窗口57W的左侧所示的所述第一类别中的标示着“启用”(Enable)的一复选框(checkbox)是否被所述使用者选择,以侦测所述使用者是否要启用于编程非挥发性存储器120的期间的对应于所述第一类别的动态节流控制。另外,主机50可侦测分别标示着“1”、“2”、“3”、“4”、“5”、“6”、“7”以及“其它”的多个复选框中的一个复选框是否被所述使用者选择,以侦测所述使用者是否要选择对应的数值(例如:数值1、2、3、4、5、6与7中的某一数值,或者于所述第一类别中的标示着“其它”的复选框旁边的字段(field)中的一使用者定义数值)作为非挥发性存储器120中的同时编程的非挥发性存储器组件的所述最大数量,但本发明不限于此。
又例如,依据所述第二类别,主机50可针对控制存储器控制器110的操作频率(于图3中标示“控制存储器控制器的操作频率”,以求简明),取得最新组态。主机50可侦测用户界面窗口57W的右侧所示的所述第二类别中的标示着“启用”的一复选框是否被所述使用者选择,以侦测所述使用者是否要启用于编程非挥发性存储器120的期间的对应于所述第二类别的动态节流控制。另外,主机50可侦测分别标示着“100MHz”、“200MHz”、“400MHz”以及“其它”的多个复选框中的一个复选框是否被所述使用者选择,以侦测所述使用者是否要选择对应的数值(例如:频率数值100MHz、200MHz与400MHz中的某一数值,或者于所述第二类别中的标示着“其它”的复选框旁边的字段中的一使用者定义数值)作为存储器控制器110的操作频率,但本发明不限于此。依据某些实施例,上述频率数值100MHz、200MHz与400MHz可依据存储器控制器110的架构来决定,尤其,可依据频率源111及/或微处理器112的实施细节来决定。
当所述使用者将要确认其选择,所述使用者可接触或按压用户界面窗口57W当中最下方标示着“确定”(OK)的虚拟按钮。于是,主机50可于步骤208中判断所述使用者选择(例如:所述用户于所述选择程序中的选择)已完成,且可关闭用户界面窗口57W,但本发明不限于此。例如,当所述使用者将要取消其选择,所述使用者可接触或按压用户界面窗口57W当中最下方标示着“取消”的虚拟按钮。于是,主机50可于上述额外步骤中判断所述使用者取消其选择,且可关闭用户界面窗口57W。为了简明起见,本实施例与前述实施例相仿的内容在此不重复赘述。
为了便于理解,于图3所示用户界面窗口57W中可绘示成所述使用者已经选择了于所述第一类别中的分别标示着“启用”与“3”的复选框、并且已经选择了于所述第二类别中的分别标示着“启用”与“400MHz”的复选框,以指出所述使用者的可能的选择,但本发明不限于此。依据某些实施例,于图3所示用户界面窗口57W中的全部复选框当中,所述使用者可选择于所述第一类别中的一或多个复选框、及/或于所述第二类别中的一或多个复选框。例如,所述使用者可用一种方式来选择所述第一类别的全部复选框中的一或多个复选框以选择所述多个节流控制组态中的一节流控制组态,且可用另一种方式来选择所述第一类别的全部复选框中的一或多个复选框以选择所述多个节流控制组态中的另一节流控制组态。又例如,所述使用者可用一种方式来选择所述第二类别的全部复选框中的一或多个复选框以选择所述多个节流控制组态中的一节流控制组态,且可用另一种方式来选择所述第二类别的全部复选框中的一或多个复选框以选择所述多个节流控制组态中的另一节流控制组态。再例如,所述使用者可用一种方式来选择所述第一类别与所述第二类别中的至少一类别(诸如一或多个类别)的全部复选框中的一或多个复选框以选择所述多个节流控制组态中的一节流控制组态,且可用另一种方式来选择所述第一类别与所述第二类别中的至少一类别(诸如一或多个类别)的全部复选框中的一或多个复选框以选择所述多个节流控制组态中的另一节流控制组态。
图4绘示依据本发明一实施例的如图2所示方法200的基于组态的(configuration-based)节流控制方案。所述多个节流控制组态可包括一节流控制组态CONFIG1以及一节流控制组态CONFIG2。
于步骤S10中,主机50可提供用户界面57,以容许所述使用者选择节流控制组态CONFIG1。
于步骤S11中,因应所述使用者所选择的节流控制组态CONFIG1,主机50可传送对应于节流控制组态CONFIG1的节流控制信息TCInfo1至数据存储装置100,以于编程非挥发性存储器120的期间对数据存储装置100进行所述动态节流控制,其中节流控制信息TCInfo1可指出用来控制数据存储装置100的一控制参数PARA1的一设定值SV11。
于步骤S12中,数据存储装置100(例如存储器控制器110)可将控制参数PARA1决定为设定值SV11。例如,因应节流控制信息TCInfo1指出控制参数PARA1的设定值SV11,存储器控制器110可进行下列设定:PARA1=SV11。
于步骤S13中,于编程非挥发性存储器120的期间,数据存储装置100(例如存储器控制器110)可基于控制参数PARA1等于设定值SV11(于图4中标示“PARA1=SV11”,以求简明)来进行一节流控制操作。
于步骤S20中,主机50可提供用户界面57,以容许所述使用者选择节流控制组态CONFIG2。
于步骤S21中,因应所述使用者所选择的节流控制组态CONFIG2,主机50可传送对应于节流控制组态CONFIG2的节流控制信息TCInfo2至数据存储装置100,以于编程非挥发性存储器120的期间对数据存储装置100进行所述动态节流控制,其中节流控制信息TCInfo2可指出用来控制数据存储装置100的控制参数PARA1的一设定值SV12。
于步骤S22中,数据存储装置100(例如存储器控制器110)可将控制参数PARA1决定为设定值SV12。例如,因应节流控制信息TCInfo2指出控制参数PARA1的设定值SV12,存储器控制器110可进行下列设定:PARA1=SV12。
于步骤S23中,于编程非挥发性存储器120的期间,数据存储装置100(例如存储器控制器110)可基于控制参数PARA1等于设定值SV12(于图4中标示“PARA1=SV12”,以求简明)来进行一节流控制操作。
依据本实施例,设定值SV12不等于设定值SV11。因应控制参数PARA1从设定值SV11改变为设定值SV12,数据存储装置100的所述功耗被改变。于是,电子装置10(例如主机50与数据存储装置100)能藉助于组态设定来动态地进行节流控制。
为了便于理解,假设控制参数PARA1可指出所述多个非挥发性存储器组件122-1、122-2、…与122-N中的同时编程的非挥发性存储器组件的数量的一上限,诸如于图3所示实施例中所述的非挥发性存储器120中的同时编程的非挥发性存储器组件的最大数量。主机50可依据控制参数PARA1控制数据存储装置100,以维持所述多个非挥发性存储器组件122-1、122-2、…与122-N中的同时编程的非挥发性存储器组件的数量小于或等于控制参数PARA1所指出的所述上限(例如设定值SV11与SV12中的一目前设定值)。例如,设定值SV11与SV12可代表所述第一类别的候选数值中的两个不同的数值,且所述使用者可选择所述第一类别中的所述对应的数值(例如:数值1、2、3、4、5、6与7中的上述某一数值,或者于所述第一类别中的标示着“其它”的复选框旁边的字段中的所述使用者定义数值)。于是,数据存储装置100能于编程非挥发性存储器120的期间避免同时编程的非挥发性存储器组件的数量超出所述第一类别中的所述对应的数值,但本发明不限于此。
依据某些实施例,控制参数PARA1可指出数据存储装置100中的存储器控制器110的操作频率,诸如于图3所示实施例中所述的操作频率。主机50可控制存储器控制器110依据控制参数PARA1所指出的所述操作频率(例如设定值SV11与SV12中的一目前设定值)来操作。例如,设定值SV11与SV12可代表所述第二类别的候选数值中的两个不同的数值,且所述使用者可选择所述第二类别中的所述对应的数值(例如:频率数值100MHz、200MHz与400MHz中的上述某一数值,或者于所述第二类别中的标示着“其它”的复选框旁边的字段中的所述使用者定义数值)。于是,存储器控制器110可依据如主机50所要求的操作频率来操作。
图5绘示依据本发明一实施例的如图2所示方法200的一工作流程300。工作流程300可应用于数据存储装置100,且可应用于上述控制器诸如存储器控制器110。在上述处理电路诸如微处理器112的控制下,存储器控制器110可进行工作流程300。为了简化说明,假设数据存储装置100可具有单一通道(Channel)、且所述单一通道中的非挥发性存储器组件的总数可为4(N=4),并且以这些非挥发性存储器组件(其可分别为非挥发性存储器组件122-1、122-2、122-3与122-4)为例进行下列说明;但本发明并不以此为限。方法300也可适用于通道总数(total channel count)NCH、每通道非挥发性存储器组件数(NV-memory-element-count per channel)NPC、或非挥发性存储器组件的总数N为任何正整数的数据存储装置100,其中N=(NPC*NCH)。
在步骤302中,存储器控制器110可选取其中一个未进行编程存储器组件。例如,在此之前,非挥发性存储器组件122-1、122-2及122-3已被选取,且选取未被取消,仅剩非挥发性存储器组件122-4可被选取,因此,在步骤302中,存储器控制器110选取非挥发性存储器组件122-4。
在步骤304中,存储器控制器110可记录此存储器组件的选取顺序。假设非挥发性存储器组件122-1、122-2及122-3已被选取,且选取顺序分别为0、1及2。例如非挥发性存储器组件122-4的选取顺序为3。
在步骤306中,存储器控制器110可依据选取顺序判断默认选取间隔(defaultselection interval)的存储器组件是否已完成编程。如果是,则执行步骤310;如果否,则执行步骤308。预设选取间隔是用以决定之前选取的非挥发性存储器组件与目前选取的非挥发性存储器组件之间的关联性,且预设选取间隔的值小于非挥发性存储器组件的总数。依据选取顺序,非挥发性存储器组件122-1、122-2及122-3相对于非挥发性存储器组件122-4的选取间隔分别为3(例如(3-0)=3)、2(例如(3-1)=2)及1(例如(3-2)=1)。假设预设选取间隔为3,则预设选取间隔的存储器组件乃对应至非挥发性存储器组件122-1。存储器控制器110可检查非挥发性存储器组件122-1,是否处于一忙碌(busy)状态或一非忙碌(non-busy)状态。依据本实施例,所述非忙碌状态可为一备妥(ready)状态,但本发明并不以此为限。
在步骤308中,存储器控制器110可等待一预设时间;之后,执行步骤306。由于非挥发存储器组件122-1、122-2及122-3已被选取且目前正在进行编程,为了避免数据存储装置100消耗大多的电力,因此,存储器控制器110等待一段预设时间,例如:50ns,接着执行步骤306以判断非挥发存储器组件122-1是否完成编程,如果是,再进行非挥发存储器组件122-4的编程。
在步骤310中,存储器控制器110可开始此存储器组件的编程。当非挥发存储器组件122-1完成编程并进入所述非忙碌状态时,存储器控制器110可编程选取的非挥发性存储器组件122-4。如此一来,方法300能避免编程选取的非挥发性存储器组件122-4,直到非挥发性存储器组件122-1进入所述非忙碌状态后再编程选取的非挥发性存储器组件122-4,以达到本发明的至少一目的。之后,结束方法300的运作。
另外,步骤310可更包括删除此存储器组件的选取顺序。之后,当方法300重新被执行时,由于已完成编程的存储器组件的选取顺序被删除,剩下的选取顺序所对应的非挥发性存储器组件即仍在编程中,处于忙碌状态,所以步骤306的判断结果符合非挥发性存储器组件122-1、122-2、122-3与122-4的真实情况。
在上述实施例中,非挥发性存储器组件122-1、122-2、122-3与122-4的选取及编程顺序为随机选取,因此,步骤304为必要的。在另一种实施方式中,非挥发性存储器组件122-1、122-2、122-3与122-4的选取为固定的,即选取顺序为固定的,此状况下,步骤304为非必要的并可省略的。
在上述实施例中,预设编程间隔的值可较佳地等于非挥发性存储器组件的总数减一;但本发明并不以此为限。例如,预设编程间隔的值可为任何小于非挥发性存储器组件的总数的正整数。
图6绘示依据本发明另一实施例的一工作流程320,其中工作流程320可通过修改图5所示工作流程300来绘示,例如,步骤322、328与330分别等同于步骤302、308与310,而步骤324与326分别异于步骤304与306。
在步骤324中,存储器控制器110可判断其它存储器组件的状态。例如当非挥发性存储器组件122-1、122-2及122-3已被选取并正在进行编程中,则非挥发性存储器组件122-1、122-2及122-3的状态皆为忙录状态。
在步骤326中,存储器控制器110可判断处于忙录状态的存储器组件的总数是否小于一默认值。如果是,则执行步骤330;如果否,则执行步骤328。假设默认值为3。此状况下,由于非挥发性存储器组件122-1、122-2及122-3的状态皆为忙录状态,所以忙录状态的总数并不小于3,所以执行步骤328。当非挥发性存储器组件122-1、122-2及122-3中的某一个非挥发性存储器组件的状态由忙录状态变更为非忙碌状态时,例如:非挥发性存储器组件122-1首先完成编程,并由忙录状态变更为非忙碌状态,使处于忙录状态的存储器组件的总数小于默认值,故执行步骤330,对非挥发性存储器组件122-4进行编程。
依据某些实施例,于编程所述多个非挥发性存储器组件122-1、122-2、…与122-N中的一目标非挥发性存储器组件122-n之前(符号“n”可代表落入区间[1,N]的任一正整数),存储器控制器110可检查所述多个非挥发性存储器组件122-1、122-2、…与122-N中的另一非挥发性存储器组件是否处于所述忙碌状态或所述非忙碌状态。例如所述非忙碌状态可为所述备妥状态,但本发明并不以此为限。当所述另一非挥发性存储器组件进入所述非忙碌状态时,存储器控制器110可编程目标非挥发性存储器组件122-n。例如存储器控制器110可避免编程目标非挥发性存储器组件122-n,直到所述另一非挥发性存储器组件进入所述非忙碌状态。在所述多个非挥发性存储器组件122-1、122-2、…与122-N的一预定逻辑序列(predetermined logic sequence)中,所述另一非挥发性存储器组件是目标非挥发性存储器组件122-n的一后续的(subsequent)非挥发性存储器组件。为了便于理解,所述预定逻辑序列可为{{122-1,122-2,…,122-N},{122-1,122-2,…,122-N},…}(其是由序列{122-1,122-2,…,122-N}的重复所组成),但本发明并不以此为限。当目标非挥发性存储器组件122-n代表预定逻辑序列{{122-1,122-2,…,122-N},{122-1,122-2,…,122-N},…}中的某一个非挥发性存储器组件时,在预定逻辑序列{{122-1,122-2,…,122-N},{122-1,122-2,…,122-N},…}当中,所述另一非挥发性存储器组件是位于这个非挥发性存储器组件之后。例如:在所述预定逻辑序列中,所述另一非挥发性存储器组件可以是目标非挥发性存储器组件122-n的下一个非挥发性存储器组件,诸如非挥发性存储器组件122-(n+1)或非挥发性存储器组件122-(n+1-N),其中,若n<N,则所述下一个非挥发性存储器组件代表非挥发性存储器组件122-(n+1),否则(这表示n=N),所述下一个非挥发性存储器组件代表非挥发性存储器组件122-(n+1-N)(也就是122-1,当n=N)。此状况下,在所述多个非挥发性存储器组件122-1、122-2、…与122-N中,同时处于所述忙碌状态的非挥发性存储器组件的数量的最大值可等于所述多个非挥发性存储器组件122-1、122-2、…与122-N的总数减一。另外,所述预定逻辑序列可以指出可应用于(applicable to)所述多个非挥发性存储器组件122-1、122-2、…与122-N的编程运作的顺序。因应来自数据存储装置100以外的至少一请求(request),存储器控制器110可依据所述预定逻辑序列轮流编程所述多个非挥发性存储器组件122-1、122-2、…与122-N。例如:上述至少一请求可代表主机50传送至数据存储装置100的至少一写入指令。因应上述至少一写入指令,数据存储装置100可对所述多个非挥发性存储器组件122-1、122-2、…与122-N进行一系列编程运作,以在避免现有技术的问题(例如:瞬间功耗(instantaneous power consumption)超过预定的产品规格)的状况下尽快地将一系列数据存储进入非挥发性存储器120。基于方法200,存储器控制器110可管理所述系列编程运作,以在没有副作用或较不可能带来副作用的状况下达到数据存储装置100的优化效能。
依据某些实施例,存储器控制器110可同时编程所述多个非挥发性存储器组件122-1、122-2、…与122-N中的一组非挥发性存储器组件、且使所述组非挥发性存储器组件的数量小于或等于一预定非挥发性存储器组件数(predetermined NV memory elementcount),其中所述预定非挥发性存储器组件数小于所述多个非挥发性存储器组件122-1、122-2、…与122-N的总数。例如:于检查所述另一非挥发性存储器组件是否处于所述忙碌状态或所述非忙碌状态的运作的期间,目标非挥发性存储器组件122-n尚未被选择成为所述组非挥发性存储器组件中的一非挥发性存储器组件。当所述另一非挥发性存储器组件进入所述非忙碌状态时,存储器控制器110可选择目标非挥发性存储器组件122-n成为所述组非挥发性存储器组件中的所述非挥发性存储器组件。又例如:于检查所述另一非挥发性存储器组件是否处于所述忙碌状态或所述非忙碌状态的运作被进行之前,所述另一非挥发性存储器组件已被选择成为所述组非挥发性存储器组件的其中之一。当所述另一非挥发性存储器组件进入所述非忙碌状态时,所述另一非挥发性存储器组件就不是所述组非挥发性存储器组件的其中之一。
依据某些实施例,电子装置10中的主机50(例如运行着程序模块53的处理电路52)与数据存储装置100(例如存储器控制器110)可依据图4所示的基于组态的节流控制方案进行多个控制参数(诸如控制参数PARA1)的相关控制,尤其,分别针对所述多个控制参数进行步骤S10~S23的操作,以进行组态调整、参数设定、对应的节流控制操作等。所述多个控制参数可包括一第一控制参数与一第二控制参数。数据存储装置100(例如存储器控制器110)可变更所述第一控制参数多次以改变或更新数据存储装置100的对应的节流控制组态,且可变更所述第二控制参数多次以改变或更新数据存储装置100的对应的节流控制组态。例如,所述第一控制参数可指出所述多个非挥发性存储器组件122-1、122-2、…与122-N中的同时编程的非挥发性存储器组件的数量的一上限,诸如于图3所示实施例中所述的非挥发性存储器120中的同时编程的非挥发性存储器组件的最大数量,并且,所述第二控制参数可指出数据存储装置100中的存储器控制器110的操作频率,诸如于图3所示实施例中所述的操作频率。为了简明起见,这些实施例与前述实施例相仿的内容在此不重复赘述。
如上所述,数据存储装置100运作时,节流控制不但可以是默认值,也可以由用户自行设定,如此一来,更能符合使用者的需求,或是更能符合主机50或数据存储装置100的实际使用状况,达到本发明的目的。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种藉助于组态设定来进行动态节流控制的方法,所述方法是应用于一电子装置,所述电子装置包括一主机以及一数据存储装置,所述数据存储装置包括一非挥发性存储器,所述非挥发性存储器包括多个非挥发性存储器组件,所述方法的特征在于,包括有:
利用所述主机提供一用户界面,以容许一用户选择所述数据存储装置的多个节流控制组态中的任何节流控制组态;以及
因应所述使用者选择所述多个节流控制组态中的所述任何节流控制组态,利用所述主机传送对应于所述多个节流控制组态中的所述任何节流控制组态的节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,以供于编程所述非挥发性存储器的期间限制所述数据存储装置的功耗,其中所述节流控制信息指出进行所述动态节流控制是必要的。
2.如权利要求1所述的方法,其特征在于,所述多个节流控制组态包括一第一节流控制组态以及一第二节流控制组态;以及所述方法还包括:
因应所述使用者所选择的所述第一节流控制组态,利用所述主机传送对应于所述第一节流控制组态的第一节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,其中所述第一节流控制信息指出用来控制所述数据存储装置的一第一控制参数的一第一设定值;以及
因应所述使用者所选择的所述第二节流控制组态,利用所述主机传送对应于所述第二节流控制组态的第二节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,其中所述第二节流控制信息指出所述第一控制参数的一第二设定值;
其中因应所述第一控制参数从所述第一设定值改变为所述第二设定值,所述数据存储装置的所述功耗被改变。
3.如权利要求2所述的方法,其特征在于,所述第一控制参数指出所述多个非挥发性存储器组件中的同时编程的非挥发性存储器组件的数量的一上限。
4.如权利要求3所述的方法,其特征在于,还包括:
依据所述第一控制参数控制所述数据存储装置,以维持所述多个非挥发性存储器组件中的所述同时编程的非挥发性存储器组件的所述数量小于或等于所述第一控制参数所指出的所述上限。
5.如权利要求2所述的方法,其特征在于,所述第一控制参数指出所述数据存储装置中的一存储器控制器的一操作频率。
6.如权利要求5所述的方法,其特征在于,还包括:
控制所述存储器控制器依据所述第一控制参数所指出的所述操作频率来操作。
7.如权利要求2所述的方法,其特征在于,所述多个节流控制组态包括一第三节流控制组态以及一第四节流控制组态;以及所述方法还包括:
因应所述使用者所选择的所述第三节流控制组态,利用所述主机传送对应于所述第三节流控制组态的第三节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,其中所述第三节流控制信息指出用来控制所述数据存储装置的一第二控制参数的一第三设定值;以及
因应所述使用者所选择的所述第四节流控制组态,利用所述主机传送对应于所述第四节流控制组态的第四节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,其中所述第四节流控制信息指出所述第二控制参数的一第四设定值;
其中因应所述第二控制参数从所述第三设定值改变为所述第四设定值,所述数据存储装置的所述功耗被改变。
8.如权利要求7所述的方法,其特征在于,所述第一控制参数指出所述多个非挥发性存储器组件中的同时编程的非挥发性存储器组件的数量的一上限;以及所述第二控制参数指出所述数据存储装置中的一存储器控制器的一操作频率。
9.如权利要求8所述的方法,其特征在于,还包括:
依据所述第一控制参数控制所述数据存储装置,以维持所述多个非挥发性存储器组件中的所述同时编程的非挥发性存储器组件的所述数量小于或等于所述第一控制参数所指出的所述上限;以及
控制所述存储器控制器依据所述第二控制参数所指出的所述操作频率来操作。
10.如权利要求1所述的方法,其特征在于,所述数据存储装置还包括一存储器控制器,且所述存储器控制器是用来控制所述非挥发性存储器的存取;以及所述动态节流控制包括:
于编程所述多个非挥发性存储器组件中的一目标非挥发性存储器组件之前,利用所述存储器控制器检查所述多个非挥发性存储器组件中的至少一其它非挥发性存储器组件是否处于一忙碌状态或一非忙碌状态;以及
因应所述至少一其它非挥发性存储器组件中的每一非挥发性存储器组件进入所述非忙碌状态,利用所述存储器控制器编程所述目标非挥发性存储器组件。
11.一种主机,其特征在于,包括有:
一处理电路,用来控制所述主机以藉助于组态设定来进行一数据存储装置的动态节流控制,其中所述数据存储装置是用来为所述主机存储信息,所述数据存储装置包括一非挥发性存储器,以及所述非挥发性存储器包括多个非挥发性存储器组件,其中:
所述主机提供一用户界面,以容许一用户选择所述数据存储装置的多个节流控制组态中的任何节流控制组态;以及
因应所述使用者选择所述多个节流控制组态中的所述任何节流控制组态,所述主机传送对应于所述多个节流控制组态中的所述任何节流控制组态的节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,以供于编程所述非挥发性存储器的期间限制所述数据存储装置的功耗,其中所述节流控制信息指出进行所述动态节流控制是必要的。
12.如权利要求11所述的主机,其特征在于,所述多个节流控制组态包括一第一节流控制组态以及一第二节流控制组态;因应所述使用者所选择的所述第一节流控制组态,所述主机传送对应于所述第一节流控制组态的第一节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,其中所述第一节流控制信息指出用来控制所述数据存储装置的一第一控制参数的一第一设定值;因应所述使用者所选择的所述第二节流控制组态,所述主机传送对应于所述第二节流控制组态的第二节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,其中所述第二节流控制信息指出所述第一控制参数的一第二设定值;以及因应所述第一控制参数从所述第一设定值改变为所述第二设定值,所述数据存储装置的所述功耗被改变。
13.如权利要求12所述的主机,其特征在于,所述第一控制参数指出所述多个非挥发性存储器组件中的同时编程的非挥发性存储器组件的数量的一上限。
14.如权利要求12所述的主机,其特征在于,所述第一控制参数指出所述数据存储装置中的一存储器控制器的一操作频率。
15.一种数据存储装置,其特征在于,包括有:
一非挥发性存储器,其中所述非挥发性存储器包括多个非挥发性存储器组件;以及
一存储器控制器,用来控制所述非挥发性存储器的存取,以容许一主机通过所述存储器控制器存取所述非挥发性存储器、以及藉助于组态设定来进行所述数据存储装置的动态节流控制,其中:
所述主机提供一用户界面,以容许一用户选择所述数据存储装置的多个节流控制组态中的任何节流控制组态;
因应所述使用者选择所述多个节流控制组态中的所述任何节流控制组态,所述主机传送对应于所述多个节流控制组态中的所述任何节流控制组态的节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,以供于编程所述非挥发性存储器的期间限制所述数据存储装置的功耗,其中所述节流控制信息指出进行所述动态节流控制是必要的;以及
基于所述动态节流控制,所述存储器控制器依据所述节流控制信息动态地进行多个节流控制操作,以于编程所述非挥发性存储器的期间限制所述数据存储装置的所述功耗。
16.如权利要求15所述的数据存储装置,其特征在于,所述多个节流控制组态包括一第一节流控制组态以及一第二节流控制组态;因应所述使用者所选择的所述第一节流控制组态,所述主机传送对应于所述第一节流控制组态的第一节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,其中所述第一节流控制信息指出用来控制所述数据存储装置的一第一控制参数的一第一设定值;因应所述使用者所选择的所述第二节流控制组态,所述主机传送对应于所述第二节流控制组态的第二节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,其中所述第二节流控制信息指出所述第一控制参数的一第二设定值;以及因应所述第一控制参数从所述第一设定值改变为所述第二设定值,所述数据存储装置的所述功耗被改变。
17.如权利要求16所述的数据存储装置,其特征在于,所述第一控制参数指出所述多个非挥发性存储器组件中的同时编程的非挥发性存储器组件的数量的一上限。
18.如权利要求16所述的数据存储装置,其特征在于,所述第一控制参数指出所述数据存储装置中的所述存储器控制器的一操作频率。
19.如权利要求15所述的数据存储装置,其特征在于,于编程所述多个非挥发性存储器组件中的一目标非挥发性存储器组件之前,所述存储器控制器检查所述多个非挥发性存储器组件中的至少一其它非挥发性存储器组件是否处于一忙碌状态或一非忙碌状态;以及因应所述至少一其它非挥发性存储器组件中的每一非挥发性存储器组件进入所述非忙碌状态,所述存储器控制器编程所述目标非挥发性存储器组件。
20.一种数据存储装置的控制器,所述数据存储装置包括所述控制器与一非挥发性存储器,所述非挥发性存储器包括多个非挥发性存储器组件,所述控制器的特征在于,包括有:
一处理电路,用来控制所述控制器的运作来控制所述非挥发性存储器的存取,以容许一主机通过所述控制器存取所述非挥发性存储器、以及藉助于组态设定来进行所述数据存储装置的动态节流控制,
其中:
所述主机提供一用户界面,以容许一用户选择所述数据存储装置的多个节流控制组态中的任何节流控制组态;
因应所述使用者选择所述多个节流控制组态中的所述任何节流控制组态,所述主机传送对应于所述多个节流控制组态中的所述任何节流控制组态的节流控制信息至所述数据存储装置,以于编程所述非挥发性存储器的期间对所述数据存储装置进行所述动态节流控制,以供于编程所述非挥发性存储器的期间限制所述数据存储装置的功耗,其中所述节流控制信息指出进行所述动态节流控制是必要的;以及
基于所述动态节流控制,所述控制器依据所述节流控制信息动态地进行多个节流控制操作,以于编程所述非挥发性存储器的期间限制所述数据存储装置的所述功耗。
CN201910786536.3A 2019-05-24 2019-08-23 进行动态节流控制的方法、主机、数据存储装置及控制器 Active CN111984185B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW108118073 2019-05-24
TW108118073A TWI725434B (zh) 2019-05-24 2019-05-24 藉助於組態設定來進行動態節流控制之方法、具備計算機功能的主機、以及資料儲存裝置及其控制器

Publications (2)

Publication Number Publication Date
CN111984185A true CN111984185A (zh) 2020-11-24
CN111984185B CN111984185B (zh) 2023-12-05

Family

ID=73437136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910786536.3A Active CN111984185B (zh) 2019-05-24 2019-08-23 进行动态节流控制的方法、主机、数据存储装置及控制器

Country Status (3)

Country Link
US (1) US11366674B2 (zh)
CN (1) CN111984185B (zh)
TW (1) TWI725434B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11609960B2 (en) * 2020-06-08 2023-03-21 Walmart Apollo, Llc Methods and apparatus for automatically servicing item data requests

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066206A1 (en) * 2003-09-24 2005-03-24 John Beers Storage device configuration
US20080239801A1 (en) * 2007-03-30 2008-10-02 Tyler Thorp Load Management for Memory Device
US20120047320A1 (en) * 2010-08-20 2012-02-23 Samsung Electronics Co., Ltd Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device
US20120185706A1 (en) * 2011-12-13 2012-07-19 Sistla Krishnakanth V Method, apparatus, and system for energy efficiency and energy conservation including dynamic control of energy consumption in power domains
CN103513934A (zh) * 2012-06-19 2014-01-15 索尼公司 存储器控制设备、存储器设备、信息处理***和处理方法
US8670205B1 (en) * 2010-09-29 2014-03-11 Western Digital Technologies, Inc. Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold
US20160231802A1 (en) * 2015-02-11 2016-08-11 Dell Products, Lp Method and Apparatus for System Control of a Central Processing Unit (CPU) Maximum Power Detector
CN106662979A (zh) * 2014-04-29 2017-05-10 桑迪士克科技有限责任公司 在非易失性存储器***中基于用电量的节流命令执行
CN109285574A (zh) * 2017-07-21 2019-01-29 慧荣科技股份有限公司 于记忆装置中进行编程管理的方法、记忆装置及控制器
US20190050147A1 (en) * 2017-08-08 2019-02-14 SK Hynix Inc. Memory system and operating method thereof
CN109388339A (zh) * 2017-08-11 2019-02-26 三星电子株式会社 存储器控制器及其操作方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117469B2 (en) * 2009-07-10 2012-02-14 Packet Digital Automatically determining operating parameters of a power management device
US8681026B2 (en) * 2012-02-29 2014-03-25 Silicon Laboratories Inc. Digital to analog converter
US9472279B2 (en) * 2015-01-20 2016-10-18 Taiwan Semiconductor Manufacturing Company Limited Memory cell dynamic grouping using write detection
US9946481B2 (en) * 2015-05-01 2018-04-17 Toshiba Memory Corporation Dynamic power throttling in solid state drives

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066206A1 (en) * 2003-09-24 2005-03-24 John Beers Storage device configuration
US20080239801A1 (en) * 2007-03-30 2008-10-02 Tyler Thorp Load Management for Memory Device
US20120047320A1 (en) * 2010-08-20 2012-02-23 Samsung Electronics Co., Ltd Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device
US8670205B1 (en) * 2010-09-29 2014-03-11 Western Digital Technologies, Inc. Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold
US20120185706A1 (en) * 2011-12-13 2012-07-19 Sistla Krishnakanth V Method, apparatus, and system for energy efficiency and energy conservation including dynamic control of energy consumption in power domains
CN103513934A (zh) * 2012-06-19 2014-01-15 索尼公司 存储器控制设备、存储器设备、信息处理***和处理方法
CN106662979A (zh) * 2014-04-29 2017-05-10 桑迪士克科技有限责任公司 在非易失性存储器***中基于用电量的节流命令执行
US20160231802A1 (en) * 2015-02-11 2016-08-11 Dell Products, Lp Method and Apparatus for System Control of a Central Processing Unit (CPU) Maximum Power Detector
CN109285574A (zh) * 2017-07-21 2019-01-29 慧荣科技股份有限公司 于记忆装置中进行编程管理的方法、记忆装置及控制器
US20190050147A1 (en) * 2017-08-08 2019-02-14 SK Hynix Inc. Memory system and operating method thereof
CN109388339A (zh) * 2017-08-11 2019-02-26 三星电子株式会社 存储器控制器及其操作方法

Also Published As

Publication number Publication date
CN111984185B (zh) 2023-12-05
US11366674B2 (en) 2022-06-21
TW202044050A (zh) 2020-12-01
TWI725434B (zh) 2021-04-21
US20200371817A1 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
US8706952B2 (en) Flash memory storage device, controller thereof, and data programming method thereof
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US8898375B2 (en) Memory controlling method, memory controller and memory storage apparatus
TWI446349B (zh) 非揮發性記憶體存取方法、系統,與非揮發性記憶體控制器
TWI684860B (zh) 用來進行讀取加速之方法以及資料儲存裝置及其控制器
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
TW202046114A (zh) 用來進行記憶裝置的存取管理之方法、記憶裝置及其控制器、主裝置以及電子裝置
US11210005B2 (en) Unbalanced plane management method, associated data storage device and controller thereof
US11113202B2 (en) Operating method forcing the second operation to fail using a scatter-gather buffer and memory system thereof
KR20200059936A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
CN112015329A (zh) 存储***及其操作方法
KR20220105285A (ko) 컨트롤러 및 컨트롤러의 동작 방법
US9001585B1 (en) Data writing method, memory control circuit unit and memory storage apparatus
TWI748410B (zh) 用來針對非揮發性記憶體進行區塊管理的方法以及設備
CN111984185B (zh) 进行动态节流控制的方法、主机、数据存储装置及控制器
TWI644215B (zh) 用來控制一資料儲存裝置的運作之方法以及資料儲存裝置及其控制器
CN113094306B (zh) 有效数据管理方法、存储器存储装置及存储器控制器
TWI781846B (zh) 非對稱型平面管理方法以及資料儲存裝置及其控制器
US10782901B2 (en) Method for performing initialization in a memory device, associated memory device and controller thereof, and associated electronic device
US9652378B2 (en) Writing method, memory controller and memory storage device
US11809314B2 (en) Method and apparatus for performing access control of memory device with aid of multi-stage garbage collection management
EP4220374A1 (en) Storage device and operating method of storage device
US20230244402A1 (en) Storage device and operating method of storage device

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