CN115202466A - 闪存控制器及电源管理方法 - Google Patents
闪存控制器及电源管理方法 Download PDFInfo
- Publication number
- CN115202466A CN115202466A CN202210596902.0A CN202210596902A CN115202466A CN 115202466 A CN115202466 A CN 115202466A CN 202210596902 A CN202210596902 A CN 202210596902A CN 115202466 A CN115202466 A CN 115202466A
- Authority
- CN
- China
- Prior art keywords
- power management
- data
- runtime data
- flash memory
- management unit
- 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.)
- Pending
Links
Images
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/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
- 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/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash 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
Abstract
本申请公开了闪存控制器及电源管理方法。所述闪存控制器具有低功耗模式和正常工作模式。所述电源管理方法包括:在进入所述低功耗模式时,将运行时数据保存在闪存存储器的存储块中,以及将所述运行时数据在所述存储块中的起始地址作为参数值保存在电源管理单元的寄存器中;以及在恢复至所述正常工作模式时,根据所述电源管理单元的寄存器中保存的所述参数值获得所述运行时数据在存储块中的起始地址,以及从所述存储块中恢复所述运行时数据。该电源管理方法利用电源管理单元持续上电的特性保存运行时数据在存储块中的起始地址,实现运行时数据的快速恢复,不仅节省数据查找过程的读取操作的功耗,还可以提高闪存存储器的稳定性和延长使用寿命。
Description
技术领域
本发明涉及数据存储技术领域,特别涉及一种闪存控制器及电源管理方法。
背景技术
固态硬盘(SSD,即,Solid State Drives的缩写)是采用用固态电子存储芯片制作的存储硬盘,主要由控制器、存储介质和缓存芯片组成。目前最主流的固态硬盘采用闪存存储器(Flash Memory)作为存储介质来存储数据,例如以NAND闪存为例的非易失性存储器。
固态硬盘具有体积小、速度快的优点,也存在发热量大、容易过热掉速的缺点。固态硬盘中的闪存控制器是发热量最大的部件。因此,闪存控制器包含电源管理单元,用于在系统空闲时进入低功耗模式。在低功耗模式中,电源管理单元降低内部模块的时钟运行频率或者关闭一部分内部模块,以实现降低功耗的目的。如果接收到新的读写请求时,闪存控制器恢复到正常功耗模式。闪存控制器采用主动电源管理功能可以有效降低闲时温度,为全速工作时留出更大的温度上升空间,从而减少过热掉速的发生。
在从正常工作模式进入低功耗模式时,闪存控制器将运行时数据()保存在闪存存储器的存储块中,然后,电源管理单元关闭闪存控制器的处理器。在从低功耗模式恢复至正常工作模式时,电源管理单元启用闪存控制器的处理器,闪存控制器从闪存存储器的存储块中恢复运行时数据。
然而,在恢复运行时数据的过程中,闪存控制器必须在闪存存储器中查找运行时数据的存放位置。该查找过程需要执行多次的读取操作,由于读取操作的耗时,闪存控制器难以快速恢复至正常工作模式,产生附加的功耗,还会导致闪存存储器的稳定性降低和使用寿命缩短。
发明内容
鉴于上述问题,本发明的目的在于提供闪存控制器及电源管理方法,其中,根据电源管理单元的寄存器中保存的参数值获得运行时数据在存储块中的起始地址,以实现运行时数据的快速恢复。
根据本发明的一方面,提供一种用于闪存控制器的电源管理方法,所述闪存控制器具有低功耗模式和正常工作模式,所述电源管理方法包括:
在进入所述低功耗模式时,将运行时数据保存在闪存存储器的存储块中,以及将所述运行时数据在所述存储块中的起始地址作为参数值保存在电源管理单元的寄存器中;以及
在恢复至所述正常工作模式时,根据所述电源管理单元的寄存器中保存的所述参数值获得所述运行时数据在存储块中的起始地址,以及从所述存储块中恢复所述运行时数据。
优选地,根据所述电源管理单元的寄存器中保存的所述参数值获得所述运行时数据在存储块中的起始地址的步骤包括:
读取电源管理单元的寄存器中保存的参数值;
根据所述参数值判断所述闪存控制器的在先状态;以及
在所述在先状态为所述低功耗模式的情形下,将所述参数值作为所述运行时数据在存储块中的起始地址。
优选地,所述闪存控制器还具有断电状态,在所述在先状态为所述断电状态的情形下,放弃从所述存储块中恢复所述运行时数据。
优选地,所述参数值的有效值和无效值分别指示所述在先状态为所述低功耗模式和所述断电状态。
优选地,所述参数值大于0时为有效值,所述参数值等于0时为无效值。
优选地,在所述闪存控制器的正常工作模式下,所述处理器侦测系统是否处于空闲状态,以及在系统处于空闲状态时或所述处理器侦测到主机主动要求进入低功耗模式时,通知所述电源管理单元将所述闪存控制器从所述正常工作模式切换至所述低功耗模式。
优选地,在所述闪存控制器的低功耗模式下,所述处理器侦测主机对所述闪存控制器的访问请求,以及在侦测到访问请求时或所述处理器侦测到主机主动要求退出低功耗模式时,通知所述电源管理单元将所述闪存控制器从所述低功耗模式切换至所述正常工作模式。
优选地,从所述存储块中恢复所述运行时数据的步骤包括:
将所述运行时数据在存储块中的起始地址作为页指针,获得所述运行时数据在所述存储块中的起始页;以及
根据所述起始页读取所述存储块的相应存储区的页数据以获得所述运行时数据,将所述运行时数据恢复至所述闪存控制器。
优选地,所述电源管理单元的寄存器还保存所述运行时数据的数据量,所述存储块的相应存储区是从所述起始页开始与所述数据量相对应页数量的存储区。
优选地,所述电源管理单元的寄存器还保存所述运行时数据在存储块中的结束地址,所述结束地址指示所述运行时数据在所述存储块中的结束页,所述存储块的相应存储区是从所述起始页至所述结束页的存储区。
优选地,所述电源管理单元的寄存器还保存所述运行时数据在缓存单元的起始地址,所述缓存单元的相应缓存区是从所述缓存单元的起始地址开始与所述数据量对应的缓存区。
优选地,所述电源管理单元的寄存器还保存所述运行时数据在缓存单元中多个缓存区的起始地址和所述多个缓存区的数据量,所述多个缓存区在所述缓存单元中不连续,所述将所述运行时数据恢复至所述闪存控制器包括:将所述运行时数据恢复到分散在所述缓存单元中的所述多个缓存区。
根据本发明的另一方面,提供一种闪存控制器,所述闪存控制器具有低功耗模式和正常工作模式,包括:
处理器;
缓存单元,与所述处理器相连接,用于加载固件形式的应用程序以及存储系统数据和业务数据;
主机接口,所述处理器经由所述主机接口连接至外部的主机,以接收数据访问请求;
存储器接口,所述处理器经由所述存储器接口连接至外部的闪存存储器,以执行对所述闪存存储器的数据访问操作;以及
电源管理单元,用于开启或关闭所述处理器、所述缓存单元和所述存储器接口至少之一的供电,
其中,所述电源管理单元包括寄存器,所述寄存器用于保存功耗模式参数和运行时数据在存储块中的起始地址,
在进入所述低功耗模式时,所述处理器将运行时数据保存在所述闪存存储器的存储块中,以及将所述运行时数据在所述存储块中的起始地址作为参数值保存在电源管理单元的寄存器中,以及
在恢复至所述正常工作模式时,所述处理器根据所述电源管理单元的寄存器中保存的所述参数值获得所述运行时数据在存储块中的起始地址,以及从所述存储块中恢复所述运行时数据。
根据本发明实施例的闪存控制器的电源管理方法,其中,在从正常工作模式进入低功耗模式时,闪存控制器将运行时数据保存在闪存存储器的存储块中,以及将运行时数据在存储块中的起始地址作为参数值保存在电源管理单元的寄存器中,然后,电源管理单元关闭闪存控制器的处理器。在从低功耗模式恢复至正常工作模式时,电源管理单元启用闪存控制器的处理器,闪存控制器根据电源管理单元的寄存器中保存的参数值获得运行时数据在存储块中的起始地址,从闪存存储器的存储块中恢复运行时数据。由于在闪存控制器的系统上电后,电源管理单元保持上电状态,因此,电源管理单元的寄存器可以始终保持数据。该电源管理方法在恢复至正常功耗模式时,读取电源管理单元的寄存器既可获得运行时数据在存储块中的起始地址,无需在闪存存储器中查找运行时数据的存放位置,因而,可以省去恢复运行时数据查找过程的读取操作耗时,使得闪存控制器可以快速恢复至正常工作模式,不仅节省数据查找过程的读取操作的功耗,还可以提高闪存存储器的稳定性和延长使用寿命。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚。
图1示出固态硬盘的示意性框图。
图2示出固态硬盘的电源管理方法的流程图。
图3示出根据现有技术的固态硬盘的电源管理方法中运行时数据恢复的流程图。
图4示出图3所示电源管理方法中运行时数据的数据存储结构示意图。
图5示出根据本发明实施例的固态硬盘的电源管理方法的流程图。
具体实施方式
以下将参照附图更详细地描述本发明。在各个附图中,相同的元件采用类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。此外,可能未示出某些公知的部分。
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1示出了固态硬盘的示意性框图。示例性的计算机系统包括主机和固态硬盘,固态硬盘100包括闪存控制器110和闪存存储器120。
计算机系统100包括主机和固态硬盘,固态硬盘包括闪存控制器110和闪存存储器120。闪存控制器110与主机相连接连接,用于与主机交换读写数据。闪存控制器110与闪存存储器120相连接,用于对闪存存储器120进行读写操作。
闪存存储器120例如为闪存芯片阵列。为了提高数据读写性能,闪存控制器110的存储器接口113可以经由多个通道(例如CH0和CH2)对闪存存储器120的闪存芯片进行读写操作,每个通道连接一组闪存芯片。
闪存控制器110包括处理器111、主机接口112、存储器接口113、缓存单元114、电源管理单元115、ECC引擎116、时钟电路117。闪存控制器110的主机接口112连接至主机,以传输数据和读写指令。处理器111与主机接口112、存储器接口113和缓存单元114相连接,处理器111用于对读写指令进行解析并执行读写操作;检测主机接口112的访问请求信息;获取系统的空闲状态信息;并根据主机接口112的访问请求信息和系统的空闲状态信息控制电源管理单元115的功耗模式。闪存控制器110经由存储器接口113实现对闪存存储器的数据访问。优选地,ECC引擎116用于在读写操作中对数据进行校验,以保证数据存储的可靠性。
缓存单元114例如为SRAM和/或DRAM,用于存储映射表。处理器111还包括用于实现存储器控制的核心软件层,即FTL(flash Translation Layer,闪存转换层),FTL由若干程序组成,处理器111执行程序,使得在接收到读写指令时,能够对指令进行转换,从而完成对闪存存储器120的访问,因而主机的文件系统和操作系统可以像访问自己的存储器一样访问存储介质。该FTL还有例如支持坏块管理、损耗均衡、垃圾回收、断电恢复、写平衡技术等特点。
缓存单元114可以是与处理器111集成在同一个控制芯片中的内部模块,也可以是独立于控制芯片的独立存储芯片。优选地,缓存单元114同时包括SRAM和DRAM,其中,SRAM是控制芯片中的内部模块,DRAM是与控制芯片相连接的独立存储芯片。比较而言,SRAM作为缓存,具有速度优势,但价格更昂贵,DRAM作为缓存,具有成本优势和容量优势。因此,可以结合二者的优点分别支持闪存控制器110的速度需求和容量需求。例如,可以将一级映射表和二级映射表分别存储在SRAM和DRAM中,从而提高地址管理的效率。
电源管理单元115与处理器111和主机接口112相连接,受所述处理器111控制并设置闪存控制器110的功耗模式,例如,正常工作模式和不同级别的多个低功耗模式之一。
电源管理单元115与时钟电路117相连接,用于控制系统时钟频率。因而,在特定的低功耗模式(例如,最低级别的低功耗模式)下,电源管理单元115可以通过降低系统时钟频率对存储器接口113进行限速。电源管理单元115包括与闪存控制器110的多个内部模块的供电端相连接的多个开关,用于开启/关闭内部模块的供电。因而,在特定的低功耗模式(例如,最高级别的低功耗模式)下,电源管理单元115可以通过关闭至少一些内部模块的的供电来降低功耗。电源管理单元115根据功耗模式控制闪存控制器110的至少一些内部模块的时钟频率和/或供电,以降低闪存控制器的功耗和提高温度稳定性。
进一步地,电源管理单元115还包括寄存器,用于保存功耗模式参数。例如,在特定级别的低功耗模式下,闪存控制器110的处理器111的供电关闭。此时,电源管理单元115无法从处理器111获取系统的空闲状态信息。电源管理单元115在闪存控制器110的任意功耗模式下均处于上电状态,因此,电源管理单元115的寄存器可以持续保存功耗模式的参数值,电源管理单元115根据寄存器中保存的功耗模式参数维持特定级别的低功耗模式。因此,电源管理单元115采用寄存器可以在特定级别的低功耗模式关闭处理器111的供电,因而可以尽可能多地关闭内部模块的供电,有利于闪存控制器110的功耗最小化。
图2示出固态硬盘的电源管理方法的流程图。例如,采用图1所示的闪存控制器110中的电源管理单元115执行该电源管理方法。
在步骤S01中,闪存控制器110处于正常工作模式。
在步骤S02中,处理器111侦测到主机要进入低功耗模式或判定系统处于空闲状态。
如果系统未处于空闲状态,则返回步骤S01,维持正常工作模式。如果系统处于空闲状态,则继续执行步骤S03,通知电源管理模块115进入低功耗模式,另外处理器111在侦测到主机主动要求进入功耗模式时,也会执行上述步骤S03。
在可选的实施例中,处理器111侦测系统是否处于空闲状态,判断标准例如为侦测出系统空闲时间大于参考值时,则通知电源管理模块115进入低功耗模式。该参考值例如是10秒。
在步骤S03中,处理器111通知电源管理模块进入低功耗模式,
优选地,当系统空闲时间大于第一参考值时,通知电源管理模块115进入第一低功耗模式,
在步骤S04中,电源管理模块关闭内存控制器中的部分模块供电,
电源管理单元115经由时钟电路117调节系统时钟频率,通过降低系统时钟频率对存储器接口113进行限速,以及关闭闪存控制器110的至少一些内部模块的供电,例如,处理器111和存储器接口113的供电,进而控制闪存控制器110进入低功耗模式。此时,闪存控制器110的处理器111仍然保持上电状态。
在本申请的实施例中,低功耗模式可分为多档,在进入第一低功耗模式之前,可通过该系统空闲时间大于第二参考值作为参考条件来进行判定进行性判定,该第二参考值例如为0.5s,若满足,则控制电源管理模块115进入第二低功耗模式,电源管理单元115经由时钟电路117仅调节系统时钟频率,通过降低系统时钟频率对存储器接口113进行限速,以满足轻度降低功耗的需求。此时,闪存控制器110的主机接口112仍然保持上电状态。
在第一功耗模式中,电源管理单元115关闭闪存控制器110的至少一些内部模块的供电,例如,处理器111和存储器接口113的供电,以进一步地降低功耗。此时,闪存控制器110的主机接口112仍然保持上电状态。
在步骤S05中,处理器111侦测到主机要退出低功耗模式或侦测到主机访问请求。
如果侦测到主机的访问请求,则继续执行步骤S06和S07,另外处理器111在侦测到主机主动要求退出低功耗模式时,也会执行上述步骤S06和S07,即退出低功耗模式,恢复至正常工作模式,以实现对读写指令的响应。如果未侦测到主机的访问请求,则返回步骤S04,电源管理单元115维持低功耗模式。
在步骤S06中,处理器111通知电源管理模块退出低功耗模式,
在步骤S07中,电源管理模块开启内存控制器中的部分模块供电,
电源管理单元115经由时钟电路117调节系统时钟频率,恢复系统时钟频率对存储器接口113的限速,以及开启闪存控制器110的至少一些内部模块的供电,例如,处理器111和存储器接口113的供电,进而控制闪存控制器110退出低功耗模式,即返回步骤S01,闪存控制器处于正常工作模式。
在上述的电源管理方法中,处理器111根据访问请求信息和空闲状态信息控制电源管理单元115功耗模式,例如,正常工作模式和不同级别的第一低功耗模式和第二低功耗模式之一。闪存控制器110的正常工作模式是全速模式,第一低功耗模式是睡眠模式,第二低功耗模式是限速模式。在闪存控制器110的系统空闲时间超过参考值的情形下,处理器111根据系统空闲时间的长度,控制电源管理单元115依次进入第一低功耗模式和第二低功耗模式。
在第一低功耗模式中,电源管理单元115关闭闪存控制器110中的至少一些内部模块,与第二低功耗模式相比,可以实现更高级别的功耗降低。然而,上述第一低功耗模式不仅涉及内部模块的供电控制,而且还有保存和恢复运行时数据的要求。在后续描述的低功耗模式中,即指的是有保存和恢复运行时数据的要求的第一低功耗模式。
闪存控制器110的运行时数据是处理器111的程序运行期间产生的系统数据或业务数据,例如,闪存控制器110在上电初始化过程产生的配置数据,通常是固态硬盘在正常工作模式时存在缓存单元114内的数据。
在进入低功耗模式时,处理器111执行以固件形式加载的进入程序,将运行时数据保存在闪存存储器120的存储块中,然后电源管理单元115关闭处理器111的供电。在返回正常工作模式时,电源管理单元115开启处理器111的供电,处理器111将固件加载至缓存单元114中,以及执行以固件形式加载的恢复程序,从闪存存储器120的存储块中读取运行时数据。
由于在低功耗模式中将关闭处理器111的供电,因此,运行时数据会消失。在进入低功耗模式时保存运行时数据在恢复正常工作模式时恢复运行时数据,可以显著节省闪存控制器110恢复正常工作状态的初始化时间。
图3示出根据现有技术的固态硬盘的电源管理方法中运行时数据恢复的流程图。例如,采用图1所示的闪存控制器110中的电源管理单元115执行该电源管理方法的运行时数据恢复。
在上述的电源管理方法中,在进入低功耗模式时,将运行时数据保存在闪存存储器120的存储块中。该运行时数据连续保持在存储块的存储数据的数据页之后。参见图4,在存储块中,运行时数据保存在起始页(start page)和头页(head page)之间的存储区中。
在恢复至正常工作模式时,处理器111恢复供电,执行以固件形式加载的恢复程序,从闪存存储器120的存储块中读取运行时数据。
在步骤S11和S12中,按顺序遍历存储块的数据页,直至读取的页数据为空页时停止遍历。该遍历步骤可以获得页指针,用于指示存储数据的数据页的最后位置
在步骤S13中,将第一个空页作为头页,头页是存储数据的数据页之后的第一个空页。
在步骤S14中,读取头页的上一个数据页,根据数据页的数据标记判断数据是否有效。
如果上一个数据页的数据有效,则继续执行步骤S15,以获得运行时数据。如果上一个数据页的数据无效,则继续执行步骤S17,放弃运行时数据的数据恢复。
在步骤S15中,获得运行时数据的起始页。
例如,处理器111根据运行时数据的数据量,计算出运行时数据的页大小,将头页的页指针减去存储区的页大小,从而获得运行时数据的起始页。因此,运行时数据保存在起始页(start page)和头页(head page)之间的存储区中。
在步骤S16中,执行数据恢复。
例如,处理器111读取存储块的起始页至头页之间的存储区的运行时数据,将运行时数据写入缓存单元114中,从而恢复运行时数据。
上述根据现有技术的电源管理方法中的运行时数据恢复需要遍历闪存存储器的存储块中的数据页,从而在闪存存储器中查找运行时数据的存放位置。该查找过程需要执行多次的读取操作,由于读取操作的耗时,闪存控制器难以快速恢复至正常工作模式,产生附加的功耗,还会导致闪存存储器的稳定性降低和使用寿命缩短。
图5示出根据本发明实施例的固态硬盘的电源管理方法的流程图。例如,采用图1所示的闪存控制器110中的电源管理单元115执行该电源管理方法。
在步骤S21中,闪存控制器110进入低功耗模式。
在该步骤中,处理器111侦测系统是否处于空闲状态,判断标准例如为侦测出系统空闲时间大于参考值时,则通知电源管理模块115进入低功耗模式,电源管理单元115关闭闪存控制器110的至少一些内部模块的供电,进而控制闪存控制器110进入低功耗模式。该参考值例如是10秒。
在步骤S22中,处理器111执行以固件形式加载的进入程序,将运行时数据保存在闪存存储器120的存储块中。
该运行时数据连续保存在存储块的存储数据的数据页之后。参见图4,在存储块中,运行时数据保存在起始页(start page)和头页(head page)之间的存储区中。
在步骤S23中,处理器111将运行时数据在存储块中的起始地址作为参数值保存在电源管理器115的寄存器中。该运行时数据在存储块中的起始地址例如指示起始页的闪存地址。优选地,电源管理器115的寄存器不仅用于保存运行时数据在存储块中的起始地址,而且用于保存运行时数据的数据量,或运行时数据在存储块中的结束地址。
在步骤S24中,电源管理单元115关闭处理器111的供电。优选地,电源管理单元115还关闭存储器接口113的供电,以进一步地降低功耗。
此时,闪存控制器110的主机接口112和电源管理单元115仍然保持上电状态。
在步骤S25中,电源管理单元115检测主机接口112的访问请求信息。
如果检测到主机的访问请求,则继续执行步骤S26至S29,恢复至正常工作模式,以实现对读写指令的响应。如果未检测到主机的访问请求,则返回步骤S24,维持低功耗模式。
在步骤S26中,电源管理单元115启用处理器111和存储器接口113的供电。
在步骤S27中,处理器111读取电源管理单元115的寄存器,以获得中保存的参数值,作为运行时数据在存储块中的起始地址。
在步骤S28中,处理器111根据运行时数据在存储块中的起始地址,从闪存存储器120的存储块中读取运行时数据,将运行时数据写入缓存单元114中,从而恢复运行时数据。
例如,处理器111采用运行时数据的起始页的页指针,根据运行时数据的数据量,读取存储块的相应存储区的页数据。
如果电源管理单元115的寄存器还保存运行时数据的数据量,则,存储块的相应存储区是从起始页开始与数据量相对应页数量的存储区。如果电源管理单元115的寄存器还保存运行时数据在存储块中的结束地址,结束地址指示运行时数据在存储块中的结束页,该存储块中的结束页即对应于上述存储数据的数据页中的头页,则,存储块的相应存储区是从起始页至结束页的存储区。
在可选的实施例中,电源管理单元115的寄存器还保存运行时数据在缓存单元114的起始地址以及运行时数据的数据量,缓存单元的相应缓存区是从缓存单元的起始地址开始与数据量对应的缓存区。优选地,电源管理单元115的寄存器保存运行时数据在缓存单元114中多个缓存区的起始地址以及各缓存区的数据量,其中各缓存区在缓存单元114中不连续。根据多个缓存区的起始地址和各缓存区的数据量,可以将存在闪存块中起始页和头页之间的运行时数据恢复至分散在缓存单元114各缓存区的原始位置中。假设步骤S22中,将第一缓存区、第二缓存区和第三缓存区中的运行时数据,保存到闪存块中起始页(记为fas_s)和头页之间。其中第一缓存区、第二缓存区和第三缓存区分散在缓存单元114中,即它们的地址范围不连续,可以将第一缓存区的起始地址记为S1,第一缓存区内存的数据量记为len1,第二缓存区的起始地址记为S2,第二缓存区内存的数据量记为len2,第三缓存区的起始地址记为S3,第二缓存区内存的数据量记为len3。步骤S23中,电源管理单元115的寄存器保存fas_s,还可以保存S1、len1、S2、len2、S3和len3。在步骤S27中,获得fas_s、S1、len1、S2、len2、S3和len3,则可以在S28中,将从fas_s开始存储的运行时数据快速准确得恢复到由S1和len1指示的第一缓存区、由S2和len2指示的第二缓存区、以及S3和len3指示的第三缓存区中。
在上述的电源管理方法中,在从正常工作模式进入低功耗模式时,闪存控制器110将运行时数据保存在闪存存储器120的存储块中,以及将运行时数据在存储块中的起始地址作为参数值保存在电源管理单元115的寄存器中,然后,电源管理单元115关闭闪存控制器110的处理器111。在从低功耗模式恢复至正常工作模式时,电源管理单元115启用闪存控制器110的处理器111,闪存控制器110根据电源管理单元115的寄存器中保存的参数值获得运行时数据在存储块中的起始地址,从闪存存储器120的存储块中恢复运行时数据。由于在闪存控制器110的系统上电后,电源管理单元115保持上电状态,因此,电源管理单元115的寄存器可以始终保持数据。该电源管理方法在恢复至正常功耗模式时,读取电源管理单元115的寄存器既可获得运行时数据在存储块中的起始地址,无需在闪存存储器120中查找运行时数据的存放位置,因而,可以省去恢复运行时数据查找过程的读取操作耗时,使得闪存控制器110可以快速恢复至正常工作模式,不仅节省数据查找过程的读取操作的功耗,还可以提高闪存存储器120的稳定性和延长使用寿命。
在上述的实施例中,描述了闪存控制器110从正常工作模式进入低功耗模式以及从低功耗模式返回正常工作模式的过程。然而,闪存控制器110有可能由于多种事件需要恢复至正常工作模式,例如,闪存控制器110的在先状态可以是低功耗状态或断电状态的任一种。如果在先状态为上述的低功耗状态,则执行步骤S27和S28的运行时数据恢复过程。如果在先状态为断电状态,则放弃从所述存储块中恢复所述运行时数据。不论是低功耗状态或断电状态,闪存控制器110的恢复过程均包括处理器111的供电开启、重新加载固件、内部模块和应用程序初始化等动作。
在进一步改进的实施例中,电源管理单元115的寄存器中存储的参数值兼有指示在先状态和运行时数据在存储块中的起始地址的作用。参数值的有效值和无效值分别指示在先状态为低功耗模式和断电状态。例如,参数值大于0时为有效值,参数值等于0时为无效值。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种用于闪存控制器的电源管理方法,所述闪存控制器具有低功耗模式和正常工作模式,所述电源管理方法包括:
在进入所述低功耗模式时,将运行时数据保存在闪存存储器的存储块中,以及将所述运行时数据在所述存储块中的起始地址作为参数值保存在电源管理单元的寄存器中;以及
在恢复至所述正常工作模式时,根据所述电源管理单元的寄存器中保存的所述参数值获得所述运行时数据在存储块中的起始地址,以及从所述存储块中恢复所述运行时数据。
2.根据权利要求1所述的电源管理方法,其中,根据所述电源管理单元的寄存器中保存的所述参数值获得所述运行时数据在存储块中的起始地址的步骤包括:
读取电源管理单元的寄存器中保存的参数值;
根据所述参数值判断所述闪存控制器的在先状态;以及
在所述在先状态为所述低功耗模式的情形下,将所述参数值作为所述运行时数据在存储块中的起始地址。
3.根据权利要求2所述的电源管理方法,其中,所述闪存控制器还具有断电状态,在所述在先状态为所述断电状态的情形下,放弃从所述存储块中恢复所述运行时数据。
4.根据权利要求3所述的电源管理方法,其中,所述参数值的有效值和无效值分别指示所述在先状态为所述低功耗模式和所述断电状态。
5.根据权利要求4所述的电源管理方法,其中,所述参数值大于0时为有效值,所述参数值等于0时为无效值。
6.根据权利要求1所述的电源管理方法,其中,在所述闪存控制器的正常工作模式下,所述处理器侦测系统是否处于空闲状态,以及在系统处于空闲状态时或所述处理器侦测到主机主动要求进入低功耗模式时,通知所述电源管理单元将所述闪存控制器从所述正常工作模式切换至所述低功耗模式。
7.根据权利要求1所述的电源管理方法,其中,在所述闪存控制器的低功耗模式下,所述处理器侦测主机对所述闪存控制器的访问请求,以及在侦测到访问请求时或所述处理器侦测到主机主动要求退出低功耗模式时,通知所述电源管理单元将所述闪存控制器从所述低功耗模式切换至所述正常工作模式。
8.根据权利要求1所述的电源管理方法,其中,从所述存储块中恢复所述运行时数据的步骤包括:
将所述运行时数据在存储块中的起始地址作为页指针,获得所述运行时数据在所述存储块中的起始页;以及
根据所述起始页读取所述存储块的相应存储区的页数据以获得所述运行时数据,将所述运行时数据恢复至所述闪存控制器。
9.根据权利要求8所述的电源管理方法,其中,所述电源管理单元的寄存器还保存所述运行时数据的数据量,所述存储块的相应存储区是从所述起始页开始与所述数据量相对应页数量的存储区。
10.根据权利要求8所述的电源管理方法,其中,所述电源管理单元的寄存器还保存所述运行时数据在存储块中的结束地址,所述结束地址指示所述运行时数据在所述存储块中的结束页,所述存储块的相应存储区是从所述起始页至所述结束页的存储区。
11.根据权利要求9所述的电源管理方法,其中,所述电源管理单元的寄存器还保存所述运行时数据在缓存单元的起始地址,所述缓存单元的相应缓存区是从所述缓存单元的起始地址开始与所述数据量对应的缓存区。
12.根据权利要求8所述的电源管理方法,其中,所述电源管理单元的寄存器还保存所述运行时数据在缓存单元中多个缓存区的起始地址和所述多个缓存区的数据量,所述多个缓存区在所述缓存单元中不连续,所述将所述运行时数据恢复至所述闪存控制器包括:将所述运行时数据恢复到分散在所述缓存单元中的所述多个缓存区。
13.一种闪存控制器,所述闪存控制器具有低功耗模式和正常工作模式,包括:
处理器;
缓存单元,与所述处理器相连接,用于加载固件形式的应用程序以及存储系统数据和业务数据;
主机接口,所述处理器经由所述主机接口连接至外部的主机,以接收数据访问请求;
存储器接口,所述处理器经由所述存储器接口连接至外部的闪存存储器,以执行对所述闪存存储器的数据访问操作;以及
电源管理单元,用于开启或关闭所述处理器、所述缓存单元和所述存储器接口至少之一的供电,
其中,所述电源管理单元包括寄存器,所述寄存器用于保存功耗模式参数和运行时数据在存储块中的起始地址,
在进入所述低功耗模式时,所述处理器将运行时数据保存在所述闪存存储器的存储块中,以及将所述运行时数据在所述存储块中的起始地址作为参数值保存在电源管理单元的寄存器中,以及
在恢复至所述正常工作模式时,所述处理器根据所述电源管理单元的寄存器中保存的所述参数值获得所述运行时数据在存储块中的起始地址,以及从所述存储块中恢复所述运行时数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210596902.0A CN115202466A (zh) | 2022-05-30 | 2022-05-30 | 闪存控制器及电源管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210596902.0A CN115202466A (zh) | 2022-05-30 | 2022-05-30 | 闪存控制器及电源管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115202466A true CN115202466A (zh) | 2022-10-18 |
Family
ID=83576472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210596902.0A Pending CN115202466A (zh) | 2022-05-30 | 2022-05-30 | 闪存控制器及电源管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115202466A (zh) |
-
2022
- 2022-05-30 CN CN202210596902.0A patent/CN115202466A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI514140B (zh) | 非揮發性記憶裝置及其操作方法 | |
US7472222B2 (en) | HDD having both DRAM and flash memory | |
JP5489434B2 (ja) | フラッシュメモリ搭載ストレージ装置 | |
US8102614B2 (en) | Storage system, related data processing apparatus, and I/O method | |
US7613870B2 (en) | Efficient memory usage in systems including volatile and high-density memories | |
CN106445834B (zh) | 管理存储器模块中的操作状态数据 | |
US9514056B2 (en) | Virtual memory system, virtual memory controlling method, and program | |
US7596657B2 (en) | Increased storage capacity for solid state disks using data compression | |
US8195971B2 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
KR101924022B1 (ko) | 메모리 시스템 및 그것의 페이지 교체 방법 | |
US20100058007A1 (en) | Information processing apparatus and memory management method | |
EP3872641B1 (en) | Storage device and method of operating the storage device | |
US20140244960A1 (en) | Computing device, memory management method, and program | |
JP2010211734A (ja) | 不揮発性メモリを用いた記憶装置 | |
US7093149B2 (en) | Tiered secondary memory architecture to reduce power consumption in a portable computer system | |
JP2014517412A (ja) | ストレージシステム及びストレージ方法 | |
US7272734B2 (en) | Memory management to enable memory deep power down mode in general computing systems | |
US20120042182A1 (en) | Forced idle cache | |
KR101392062B1 (ko) | 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법 | |
KR20210069744A (ko) | 스토리지 장치 및 그것의 데이터 백업 방법 | |
CN110727470B (zh) | 一种混合式非失性存储装置 | |
CN114063901A (zh) | Plp备份失败之后的ssd支持只读模式 | |
JP3541349B2 (ja) | キャッシュメモリ・バックアップシステム | |
CN115202466A (zh) | 闪存控制器及电源管理方法 | |
CN100485617C (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 |