CN113345500A - 用来进行恢复管理的方法及设备 - Google Patents

用来进行恢复管理的方法及设备 Download PDF

Info

Publication number
CN113345500A
CN113345500A CN202010239721.3A CN202010239721A CN113345500A CN 113345500 A CN113345500 A CN 113345500A CN 202010239721 A CN202010239721 A CN 202010239721A CN 113345500 A CN113345500 A CN 113345500A
Authority
CN
China
Prior art keywords
controller
memory
system programming
loader
recovery
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
CN202010239721.3A
Other languages
English (en)
Other versions
CN113345500B (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 CN113345500A publication Critical patent/CN113345500A/zh
Application granted granted Critical
Publication of CN113345500B publication Critical patent/CN113345500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • 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
    • 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
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • 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/7205Cleaning, compaction, garbage collection, erase control

Abstract

本发明公开了一种用来进行恢复管理的方法及设备。所述方法包括:利用一开机载入器载入一群系统内编程码;将包括一恢复系统内编程载入器的待保留信息存储于一随机存取存储器的一保留区中,以供于休眠的期间被保留;判断是否开始休眠,且产生一判断结果;因应所述判断结果,控制所述记忆装置开始休眠;于开始休眠以后,判断是否发生任何唤醒事件;于发生所述任何唤醒事件以后,执行所述群系统内编程码中的一第一系统内编程码以开始进行一第一操作;以及执行所述恢复系统内编程载入器以载入所述群系统内编程码中的其它系统内编程码。本发明通过执行第一系统内编程码以进行第一操作,可确保主装置与记忆装置之间的实时响应以提升整体效能。

Description

用来进行恢复管理的方法及设备
技术领域
本发明是关于存储器控制,尤指一种用来进行恢复管理的方法以及相关设备(apparatus)诸如一记忆装置、其控制器以及一电子装置。
背景技术
近年来由于存储器的技术不断地发展,各种可携式或非可携式记忆装置(例如:分别符合SD/MMC、CF、MS以及XD标准的记忆卡;又例如:分别符合UFS以及eMMC标准的嵌入式(embedded)记忆装置)被广泛地实施于诸多应用中。因此,这些记忆装置中的存储器的存取控制遂成为相当热门的议题。
以常用的NAND型闪存而言,其主要可区分为单阶细胞(single level cell,SLC)与多阶细胞(multiple level cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆细胞(memory cell)的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆细胞的晶体管的存储能力可被充分利用,其采用较高的电压来驱动,以通过不同的电压位准在一个晶体管中记录至少两组位信息(诸如00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的至少两倍,这对于NAND型闪存的相关产业而言,是非常好的消息。
相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的记忆装置竞相采用的主流。然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。为了确保记忆装置对闪存的存取控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理数据的存取。
依据相关技术,有了这些管理机制的记忆装置还是有不足的地方。例如,所述记忆装置可进入一省电模式以节省电源,且可于被存取时重新载入庞大且复杂的程序代码,使所述记忆装置暂时没有响应,这可导致整体效能变差。因此,需要一种新颖的方法及相关架构,以在没有副作用或较不可能带来副作用的状况下解决相关技术的问题。
发明内容
本发明的一目的在于提供一种用来进行恢复管理的方法以及相关设备(apparatus)诸如一记忆装置、其控制器以及一电子装置,以解决上述的问题。
本发明至少一实施例提供一种用来进行恢复管理的方法,其中所述方法是应用于一记忆装置的一控制器。所述记忆装置可包括所述控制器与所述非挥发性存储器,且所述非挥发性存储器可包括至少一非挥发性存储器组件(例如一或多个非挥发性存储器组件)。所述方法可包括:利用一开机载入器(boot loader)载入一群系统内编程(In-SystemProgramming,ISP)码,其中所述控制器包括一随机存取存储器,而所述群系统内编程码是被载入至所述随机存取存储器;将包括一恢复系统内编程载入器(resume ISP loader)的待保留信息存储于所述随机存取存储器的一保留区(retention region)中,以供于休眠的期间被保留(retain);判断是否开始休眠,且产生一判断结果,其中所述判断结果指出是否开始休眠;因应所述判断结果,控制所述记忆装置开始休眠;于开始休眠以后,判断是否发生任何唤醒事件;于发生所述任何唤醒事件以后,执行所述群系统内编程码中的一第一系统内编程码以开始进行一第一操作,其中所述第一系统内编程码是通过所述恢复系统内编程载入器来取得;以及执行所述恢复系统内编程载入器以载入所述群系统内编程码中的其它系统内编程码。
除了上述方法外,本发明还提供一种记忆装置,且所述记忆装置包括一非挥发性存储器以及一控制器。所述非挥发性存储器是用来存储信息,其中所述非挥发性存储器可包括至少一非挥发性存储器组件(例如一或多个非挥发性存储器组件)。所述控制器是耦接至所述非挥发性存储器,且所述控制器是用来控制所述记忆装置的操作。另外,所述控制器包括一处理电路,其中所述处理电路是用来依据来自一主装置(host device)的多个主装置指令(host command)控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器。所述控制器还包括一随机存取存储器,且所述随机存取存储器是用来存储信息,其中所述随机存取存储器包括一保留区。举例来说,所述控制器利用一开机载入器载入一群系统内编程码,其中所述群系统内编程码是被载入至所述随机存取存储器;所述控制器将包括一恢复系统内编程载入器的待保留信息存储于所述随机存取存储器的所述保留区中,以供于休眠的期间被保留;所述控制器判断是否开始休眠,且产生一判断结果,其中所述判断结果指出是否开始休眠;因应所述判断结果,所述控制器控制所述记忆装置开始休眠;于开始休眠以后,所述控制器判断是否发生任何唤醒事件;于发生所述任何唤醒事件以后,所述控制器执行所述群系统内编程码中的一第一系统内编程码以开始进行一第一操作,其中所述第一系统内编程码是通过所述恢复系统内编程载入器来取得;以及所述控制器执行所述恢复系统内编程载入器以载入所述群系统内编程码中的其它系统内编程码。
依据某些实施例,本发明还提供相关的电子装置。所述电子装置可包括上述记忆装置,且可还包括:所述主装置,耦接至所述记忆装置。所述主装置可包括:至少一处理器,用来控制所述主装置的操作;以及一电源供应电路,耦接至所述至少一处理器,用来提供电源给所述至少一处理器以及所述记忆装置。另外,所述记忆装置可提供存储空间给所述主装置。
除了上述方法外,本发明还提供一种记忆装置的控制器,其中所述记忆装置包括所述控制器以及一非挥发性存储器。所述非挥发性存储器可包括至少一非挥发性存储器组件(例如一或多个非挥发性存储器组件)。另外,所述控制器包括一处理电路,其中所述处理电路是用来依据来自一主装置的多个主装置指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器。所述控制器还包括一随机存取存储器,且所述随机存取存储器是用来存储信息,其中所述随机存取存储器包括一保留区。举例来说,所述控制器利用一开机载入器载入一群系统内编程码,其中所述群系统内编程码是被载入至所述随机存取存储器;所述控制器将包括一恢复系统内编程载入器的待保留信息存储于所述随机存取存储器的所述保留区中,以供于休眠的期间被保留;所述控制器判断是否开始休眠,且产生一判断结果,其中所述判断结果指出是否开始休眠;因应所述判断结果,所述控制器控制所述记忆装置开始休眠;于开始休眠以后,所述控制器判断是否发生任何唤醒事件;于发生所述任何唤醒事件以后,所述控制器执行所述群系统内编程码中的一第一系统内编程码以开始进行一第一操作,其中所述第一系统内编程码是通过所述恢复系统内编程载入器来取得;以及所述控制器执行所述恢复系统内编程载入器以载入所述群系统内编程码中的其它系统内编程码。
本发明所提出的方法以及相关设备能确保所述记忆装置能在各种状况下妥善地操作,其中上述相关设备例如:所述控制器、所述记忆装置、所述电子装置等。另外,通过执行所述第一系统内编程码以开始进行所述第一操作,本发明所提出的方法以及相关设备可确保所述主装置与所述记忆装置之间的实时响应,以提升整体效能。
附图说明
图1为依据本发明一实施例的一电子装置的示意图。
图2为依据本发明一实施例的一种用来进行恢复管理的方法的流程图。
图3绘示图2所示方法于本发明一实施例中的一存取控制方案。
图4绘示图2所示方法于本发明另一实施例中的一存取控制方案。
其中,附图标记说明如下:
10 电子装置
50 主装置
52 处理器
54 电源供应电路
100 记忆装置
110 存储器控制器
112 微处理器
112M 只读存储器
112C 程序代码
114 控制逻辑电路
116 随机存取存储器
116R 保留区
116L 恢复ISP载入器
116C 紧急ISP码
118 传输接口电路
120 非挥发性存储器
122-1、122-2、…122-N 非挥发性存储器组件
122C ISP码
S10、S12、S14、S16、S18、
S20、S22、S24、S26 步骤
S31、S32、S33、S34、S35、
S36、S37 步骤
具体实施方式
图1为依据本发明一实施例的一种电子装置10的示意图,其中电子装置10可包括一主装置(host device)50与一记忆装置100。主装置50可包括至少一处理器(例如一或多个处理器),其可统称为处理器52,且可还包括一电源供应电路54,耦接至处理器52。处理器52是用来控制主装置50的运作,而电源供应电路54是用来提供电源给处理器52以及记忆装置100,并输出一或多个驱动电压至记忆装置100。记忆装置100可用来提供存储空间给主装置50,且可从主装置50取得所述一或多个驱动电压作为记忆装置100的电源。主装置50的例子可包括(但不限于):多功能移动电话(multifunctional mobile phone)、可穿戴装置(wearable device)、平板计算机(tablet)、以及个人计算机(personal computer)诸如桌面计算机及膝上型计算机。记忆装置100的例子可包括(但不限于):可携式记忆装置(诸如符合SD/MMC、CF、MS或XD标准的记忆卡)、固态硬盘(solid state drive,SSD)、以及分别符合UFS与EMMC标准的各种嵌入式(embedded)记忆装置。依据本实施例,记忆装置100可包括一控制器诸如存储器控制器110,且可还包括一非挥发性(non-volatile,NV)存储器120,其中所述控制器是用来控制记忆装置100的运作并存取(access)非挥发性存储器120,且非挥发性存储器120是用来存储信息。非挥发性存储器120可包括至少一非挥发性存储器组件(例如一或多个非挥发性存储器组件),诸如多个非挥发性存储器组件122-1、122-2、…与122-N,其中符号"N"可代表大于一的正整数。例如:非挥发性存储器120可为一闪存(flashmemory),而所述多个非挥发性存储器组件122-1、122-2、…与122-N可为多个闪存芯片(flash memory chip)或多个闪存裸晶(flash memory die),但本发明不限于此。
如图1所示,存储器控制器110可包括处理电路诸如微处理器112、存储单元诸如只读存储器(Read Only Memory,ROM)112M、控制逻辑电路114、随机存取存储器(RandomAccess Memory,RAM)116、以及传输接口电路118,其中以上组件可通过总线彼此耦接。随机存取存储器116是以静态随机存取存储器(Static RAM,SRAM)来实施,但本发明不限于此。随机存取存储器116可用来提供内部存储空间给存储器控制器110。例如,随机存取存储器116可用作一缓冲存储器来缓冲数据。另外,本实施例的只读存储器112M是用来存储一程序代码112C,而微处理器112则用来执行程序代码112C以控制对非挥发性存储器120的存取。请注意,在某些例子中,程序代码112C可被存储于随机存取存储器116或任何形式的存储器内。此外,控制逻辑电路114中的一数据保护电路(未显示)可保护数据及/或进行错误更正,而传输接口电路118可符合一特定通信标准(诸如串行高级技术附件(Serial AdvancedTechnology Attachment,SATA)标准、通用串行总线(Universal Serial Bus,USB)标准、快捷外设互联(Peripheral Component Interconnect Express,PCIE)标准、嵌入式多媒体记忆卡(embedded Multi Media Card,eMMC)标准、或通用闪存存储(Universal FlashStorage,UFS)标准),且可依据所述特定通信标准进行通信。
于本实施例中,主装置50可通过传送主装置指令(host command)与对应的逻辑地址给存储器控制器110来存取记忆装置100。存储器控制器110接收所述多个主装置指令与所述多个逻辑地址,并将所述多个主装置指令转译成存储器运作指令(可简称为运作指令),再以所述多个运作指令控制非挥发性存储器120以对非挥发性存储器120当中的具有实体地址的记忆单位(memory unit)(例如数据页(page))进行读取(read)、写入(write)/编程(program)等,其中所述多个实体地址对应于所述多个逻辑地址。
在主装置50没有对记忆装置100进行任何存取操作的情况下,例如,因应记忆装置100处于闲置状态的时间达到一预定时间、或因应来自主装置50的一预定信号的触发,存储器控制器110可暂时停止供电给存储器控制器110的大部分的内部组件,且可持续供电给随机存取存储器116中的一保留区(retention region)116R,以供存储记忆装置100的重要信息(例如一或多个表诸如一系统信息表与一地址映射表、多个变量等)作为保留信息。
图2为依据本发明一实施例的一种用来进行恢复管理的方法的流程图。所述方法可应用于图1所示架构(例如电子装置10、记忆装置100、存储器控制器110等),且可由记忆装置100的存储器控制器110来执行。
于步骤S10中,存储器控制器110开始进行初始化,尤其,开始执行程序代码112C。例如程序代码112C可包括一或多个程序模块,以供进行记忆装置100的基本控制。
于步骤S12中,存储器控制器110利用一开机载入器(boot loader)载入一群系统内编程(In-System Programming,简称ISP)码122C,尤其,将所述群ISP码122C从非挥发性存储器120(例如非挥发性存储器组件122-1)载入至随机存取存储器116,以使记忆装置100具备各种功能,其中程序代码112C中的所述一或多个程序模块可包括所述开机载入器,但本发明不限于此。举例来说,用来存储所述群ISP码122C的位置可予以变化,尤其,可为多个非挥发性存储器组件122-1、122-2、…与122-N中的一或多个。依据本实施例,所述群ISP码122C可包括关于存取(例如读取、写入及抹除)的多个程序模块,诸如一读取操作模块、一查表模块、一读取刷新(read refresh)模块、一读取回收(read reclaim)模块、一读取垃圾收集(read garbage collection)模块、以及一不可更正错误更正码(uncorrectable errorcorrection code,UECC)模块,以供分别进行读取、查表、读取刷新、读取回收、于读取期间的垃圾收集、以及针对UECC错误的错误处置,其中上列六个模块中之后四个模块可以是关于错误处置,但本发明不限于此。于某些实施例中,所述群ISP码122C可予以变化。
于步骤S14中,存储器控制器110将包括一恢复ISP载入器(resume ISP loader)116L的待保留信息存储于随机存取存储器116的保留区116R中,以供于休眠(sleep)的期间被保留(retain)。基于图1所示架构,上述休眠可代表一特殊类型的暂停(suspend),尤其,对应于局部(partial)信息保留的暂停。例如,在休眠的期间,存储器控制器110可于保留区116R中保留恢复ISP载入器116L、所述一或多个表、所述多个变量等,且可暂时停止供电给随机存取存储器116中的其它区以容许所述群ISP码122C中的大部分的ISP码从随机存取存储器116消失。
于步骤S16中,存储器控制器110判断是否开始休眠,尤其,产生一判断结果,其中所述判断结果指出是否开始休眠。如果是(例如:因应记忆装置100处于所述闲置状态的时间达到所述预定时间),存储器控制器110可因应所述判断结果控制记忆装置100开始休眠,尤其,暂时停止供电给存储器控制器110的上述大部分的内部组件,且接着执行步骤S20以判断是否停止休眠;如果否,存储器控制器110可执行步骤S18。
于步骤S18中,存储器控制器110控制记忆装置100进行一或多个操作,尤其,因应一或多个主装置指令(例如读取指令、写入指令等)进行所述一或多个操作(例如读取操作、写入操作等)。
于步骤S20中,在休眠的期间,存储器控制器110判断是否发生任何唤醒事件(于图2中标示"唤醒",以求简明)。如果是(例如:传输接口电路118收到来自主装置50的任何指令),存储器控制器110可触发存储器控制器110供电给存储器控制器110的上述大部分的内部组件,连同随机存取存储器116中的上述其它区,且接着执行步骤S22;如果否,存储器控制器110可执行步骤S20以继续等待。例如,存储器控制器110可利用传输接口电路118来侦测所述唤醒事件诸如来自主装置50的任何指令,而传输接口电路118可因应所述唤醒事件来触发存储器控制器110供电给存储器控制器110的上述大部分的内部组件,连同随机存取存储器116中的上述其它区,以唤醒记忆装置100,其中存储器控制器110可供电给随机存取存储器116中的上述其它区,使随机存取存储器116正常地存储信息,以避免后续载入至随机存取存储器116(尤其,上述其它区)的信息遗失,但本发明不限于此。于某些实施例中,存储器控制器110可利用传输接口电路118中的一物理层(physical layer,PHY)电路来侦测所述唤醒事件。
于步骤S22中,存储器控制器110执行恢复ISP载入器116L以载入所述群ISP码122C中的一紧急ISP码116C。紧急ISP码116C的大小可以很小,例如16KB(kilobytes;千字节)或8KB。因此,载入紧急ISP码116C可立即完成。
于步骤S24中,存储器控制器110执行紧急ISP码116C以开始进行一紧急操作,诸如记忆装置100于唤醒以后的第一个操作。例如,所述紧急操作可代表一读取操作,且紧急ISP码116C可代表所述读取操作模块,其中为了便于理解,主装置50与记忆装置100可分别为多功能移动电话与安装于其内的嵌入式记忆装置,但本发明不限于此。于某些实施例中,所述紧急操作可包括其它类型的操作,且紧急ISP码116C可包括对应的程序模块,其中依据所述唤醒事件诸如上述任何指令,恢复ISP载入器116L可从所述多个程序模块选择对应于这个指令的某一程序模块作为紧急ISP码116C,但本发明不限于此。
于步骤S26中,存储器控制器110执行恢复ISP载入器116L以载入所述群ISP码122C中的其它ISP码,以使记忆装置100具备上述各种功能。
为了更好地理解,所述方法可用图2所示的工作流程来说明,但本发明不限于此。依据某些实施例,一个或多个步骤可于图2所示的工作流程中增加、删除或修改。
另外,存储器控制器110可因应记忆装置100处于所述闲置状态的时间达到所述预定时间来控制记忆装置100开始休眠,而所述唤醒事件可代表来自主装置50的任何指令,但本发明不限于此。于某些实施例中,存储器控制器110可因应所述预定信号的触发来控制记忆装置100开始休眠,而所述唤醒事件可代表另一预定信号。于某些实施例中,存储器控制器110可因应具有一第一逻辑状态的所述预定信号的触发来控制记忆装置100开始休眠,而所述唤醒事件可代表具有一第二逻辑状态的所述预定信号。例如,所述第一逻辑状态与所述第二逻辑状态可分别实施成为所述预定信号的一低电压位准与一高电压位准。又例如,所述第一逻辑状态与所述第二逻辑状态可分别实施成为所述预定信号的一高电压位准与一低电压位准。
图3绘示图2所示方法于本发明一实施例中的一存取控制方案,其中主机侧(hostside)与装置侧(device side)分别对应于主装置50与记忆装置100。为了便于理解,假设所述唤醒事件包括来自主装置50的一读取指令,但本发明不限于此。
于步骤S31中,存储器控制器110(例如:运行着恢复ISP载入器116L的微处理器112)可通过控制逻辑电路114发送一读取操作指令至非挥发性存储器120,以控制非挥发性存储器120读取紧急ISP码116C。
于步骤S32中,存储器控制器110可通过控制逻辑电路114取得紧急ISP码116C,尤其,将紧急ISP码116C载入至随机存取存储器116。
于步骤S33中,存储器控制器110(例如:运行着紧急ISP码116C的微处理器112)可通过控制逻辑电路114发送另一读取操作指令至非挥发性存储器120,以控制非挥发性存储器120读取数据,诸如对应于所述读取指令的数据。
于步骤S34中,存储器控制器110可通过控制逻辑电路114取得步骤S33中所述的所述数据,尤其,将所述数据缓冲于随机存取存储器116中的一数据缓冲器。
于步骤S35中,存储器控制器110可通过传输接口电路118输出所述数据,诸如缓冲于所述数据缓冲器中的所述数据。
于步骤S36中,存储器控制器110(例如:运行着恢复ISP载入器116L的微处理器112)可通过控制逻辑电路114发送又一读取操作指令至非挥发性存储器120,以控制非挥发性存储器120读取所述群ISP码122C中的上述其它ISP码。
于步骤S37中,忆体控制器110可通过控制逻辑电路114取得步骤S36中所述的其它ISP码,尤其,将上述其它ISP码载入至随机存取存储器116。
图4绘示图2所示方法于本发明另一实施例中的一存取控制方案。相较于图3所示存取控制方案,本实施例的紧急ISP码116C可内建于(embedded in)恢复ISP载入器116L,且可于休眠的期间保留于保留区116R中,其中保留区116R可略为扩大,而步骤S31与S32可被省略,但本发明不限于此。为了简明起见,于本实施例中类似的内容在此不重复赘述。
依据某些实施例,在紧急ISP码116C内建于恢复ISP载入器116L的情况下,步骤S22可于图2所示的工作流程中被省略,其中,当步骤S20的判断结果为"是",存储器控制器110可执行步骤S24。为了简明起见,于这些实施例中类似的内容在此不重复赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种用来进行恢复管理的方法,其特征在于,所述方法是应用于一记忆装置的一控制器,所述记忆装置包括所述控制器与一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述方法包括:
利用一开机载入器载入一群系统内编程码,其中所述控制器包括一随机存取存储器,而所述群系统内编程码是被载入至所述随机存取存储器;
将包括一恢复系统内编程载入器的待保留信息存储于所述随机存取存储器的一保留区中,以供于休眠的期间被保留;
判断是否开始休眠,且产生一判断结果,其中所述判断结果指出是否开始休眠;
因应所述判断结果,控制所述记忆装置开始休眠;
于开始休眠以后,判断是否发生任何唤醒事件;
于发生所述任何唤醒事件以后,执行所述群系统内编程码中的一第一系统内编程码以开始进行一第一操作,其中所述第一系统内编程码是通过所述恢复系统内编程载入器来取得;以及
执行所述恢复系统内编程载入器以载入所述群系统内编程码中的其它系统内编程码。
2.如权利要求1所述的方法,其特征在于,利用所述开机载入器载入所述群系统内编程码的步骤还包括:
利用所述开机载入器将所述群系统内编程码从所述非挥发性存储器载入至所述随机存取存储器,以使所述记忆装置具备各种功能。
3.如权利要求2所述的方法,其特征在于,执行所述恢复系统内编程载入器以载入所述群系统内编程码中的所述其它系统内编程码的步骤还包括:
执行所述恢复系统内编程载入器以载入所述群系统内编程码中的其它系统内编程码,以使所述记忆装置具备所述各种功能。
4.如权利要求1所述的方法,其特征在于,所述休眠代表对应于局部信息保留的暂停。
5.如权利要求1所述的方法,其特征在于,在所述休眠的期间,所述控制器于所述保留区中保留所述恢复系统内编程载入器,且暂时停止供电给所述随机存取存储器中的其它区以容许所述群系统内编程码中的大部分的系统内编程码从所述随机存取存储器消失。
6.如权利要求5所述的方法,其特征在于,因应所述唤醒事件,所述控制器供电给所述随机存取存储器中的所述其它区,使所述随机存取存储器正常地存储信息,以避免后续载入至所述随机存取存储器的信息遗失。
7.如权利要求1所述的方法,其特征在于,其还包括:
于发生所述任何唤醒事件以后,执行所述恢复系统内编程载入器以载入所述群系统内编程码中的所述第一系统内编程码,其中所述第一系统内编程码是通过执行所述恢复系统内编程载入器来取得。
8.如权利要求1所述的方法,其特征在于,所述第一系统内编程码是内建于所述恢复系统内编程载入器。
9.如权利要求1所述的方法,其特征在于,所述群系统内编程码包括关于存取的多个程序模块,所述第一操作代表一读取操作,且所述第一系统内编程码代表所述多个程序模块中的一读取操作模块。
10.如权利要求9所述的方法,其特征在于,所述多个程序模块包括所述读取操作模块、一查表模块、一读取刷新模块、一读取回收模块、一读取垃圾收集模块、以及一不可更正错误更正码模块,以供分别进行读取、查表、读取刷新、读取回收、于读取期间的垃圾收集、以及针对不可更正错误更正码错误的错误处置。
11.一种记忆装置,其特征在于,包括:
一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件;以及
一控制器,耦接至所述非挥发性存储器,用来控制所述记忆装置的操作,其中所述控制器包括:
一处理电路,用来依据来自一主装置的多个主装置指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器;以及
一随机存取存储器,用来存储信息,其中所述随机存取存储器包括一保留区;
其中:
所述控制器利用一开机载入器载入一群系统内编程码,其中所述群系统内编程码是被载入至所述随机存取存储器;
所述控制器将包括一恢复系统内编程载入器的待保留信息存储于所述随机存取存储器的所述保留区中,以供于休眠的期间被保留;
所述控制器判断是否开始休眠,且产生一判断结果,其中所述判断结果指出是否开始休眠;
因应所述判断结果,所述控制器控制所述记忆装置开始休眠;
于开始休眠以后,所述控制器判断是否发生任何唤醒事件;
于发生所述任何唤醒事件以后,所述控制器执行所述群系统内编程码中的一第一系统内编程码以开始进行一第一操作,其中所述第一系统内编程码是通过所述恢复系统内编程载入器来取得;以及
所述控制器执行所述恢复系统内编程载入器以载入所述群系统内编程码中的其它系统内编程码。
12.如权利要求11所述的记忆装置,其特征在于,所述控制器利用所述开机载入器将所述群系统内编程码从所述非挥发性存储器载入至所述随机存取存储器,以使所述记忆装置具备各种功能。
13.如权利要求12所述的记忆装置,其特征在于,所述控制器执行所述恢复系统内编程载入器以载入所述群系统内编程码中的其它系统内编程码,以使所述记忆装置具备所述各种功能。
14.如权利要求11所述的记忆装置,其特征在于,所述休眠代表对应于局部信息保留的暂停。
15.如权利要求11所述的记忆装置,其特征在于,在所述休眠的期间,所述控制器于所述保留区中保留所述恢复系统内编程载入器,且暂时停止供电给所述随机存取存储器中的其它区以容许所述群系统内编程码中的大部分的系统内编程码从所述随机存取存储器消失。
16.如权利要求15所述的记忆装置,其特征在于,因应所述唤醒事件,所述控制器供电给所述随机存取存储器中的所述其它区,使所述随机存取存储器正常地存储信息,以避免后续载入至所述随机存取存储器的信息遗失。
17.如权利要求11所述的记忆装置,其特征在于,于发生所述任何唤醒事件以后,所述控制器执行所述恢复系统内编程载入器以载入所述群系统内编程码中的所述第一系统内编程码,其中所述第一系统内编程码是通过执行所述恢复系统内编程载入器来取得。
18.如权利要求11所述的记忆装置,其特征在于,所述第一系统内编程码是内建于所述恢复系统内编程载入器。
19.一种包括如权利要求11所述的记忆装置的电子装置,其特征在于,还包括:
所述主装置,耦接至所述记忆装置,其中所述主装置包括:
至少一处理器,用来控制所述主装置的操作;以及
一电源供应电路,耦接至所述至少一处理器,用来提供电源给所述至少一处理器以及所述记忆装置;
其中所述记忆装置提供存储空间给所述主装置。
20.一种记忆装置的控制器,其特征在于,所述记忆装置包括所述控制器以及一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述控制器包括:
一处理电路,用来依据来自一主装置的多个主装置指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器;以及
一随机存取存储器,用来存储信息,其中所述随机存取存储器包括一保留区;
其中:
所述控制器利用一开机载入器载入一群系统内编程码,其中所述群系统内编程码是被载入至所述随机存取存储器;
所述控制器将包括一恢复系统内编程载入器的待保留信息存储于所述随机存取存储器的所述保留区中,以供于休眠的期间被保留;
所述控制器判断是否开始休眠,且产生一判断结果,其中所述判断结果指出是否开始休眠;
因应所述判断结果,所述控制器控制所述记忆装置开始休眠;
于开始休眠以后,所述控制器判断是否发生任何唤醒事件;
于发生所述任何唤醒事件以后,所述控制器执行所述群系统内编程码中的一第一系统内编程码以开始进行一第一操作,其中所述第一系统内编程码是通过所述恢复系统内编程载入器来取得;以及
所述控制器执行所述恢复系统内编程载入器以载入所述群系统内编程码中的其它系统内编程码。
CN202010239721.3A 2020-03-03 2020-03-30 用来进行恢复管理的方法及设备 Active CN113345500B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW109106873 2020-03-03
TW109106873A TWI738235B (zh) 2020-03-03 2020-03-03 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置

Publications (2)

Publication Number Publication Date
CN113345500A true CN113345500A (zh) 2021-09-03
CN113345500B CN113345500B (zh) 2024-03-08

Family

ID=77467468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010239721.3A Active CN113345500B (zh) 2020-03-03 2020-03-30 用来进行恢复管理的方法及设备

Country Status (3)

Country Link
US (1) US11662944B2 (zh)
CN (1) CN113345500B (zh)
TW (1) TWI738235B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701042A (zh) * 2023-07-27 2023-09-05 飞腾信息技术有限公司 一种内存数据保留方法、保留装置和相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784611A (en) * 1994-12-19 1998-07-21 Seagate Technology, Inc. Device and process for in-system programming electrically erasable and programmable non-volatile memory
TW201117218A (en) * 2009-11-13 2011-05-16 Silicon Motion Inc Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
CN102708064A (zh) * 2011-02-24 2012-10-03 微软公司 从休眠中多阶段恢复
US20160085559A1 (en) * 2014-09-23 2016-03-24 Dialog Semiconductor (UK) Ltd. Conditional Processor Auto Boot with No Boot Loader when Coupled with a Nonvolatile Memory
CN106469571A (zh) * 2015-08-17 2017-03-01 爱思开海力士有限公司 存储系统及其操作方法
CN110308936A (zh) * 2018-03-20 2019-10-08 慧荣科技股份有限公司 进行初始化的方法、记忆装置及其控制器以及电子装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3883775B2 (ja) * 2000-03-17 2007-02-21 株式会社デジタル 制御システム用サーバ装置、制御システム、制御システム用サーバ装置の通信方法、および、そのプログラムが記録された記録媒体
US7844367B2 (en) * 2003-12-23 2010-11-30 Rain Bird Corporation Code replacement for irrigation controllers
CN102272734B (zh) * 2009-01-05 2014-09-10 马维尔国际贸易有限公司 使用非易失性存储器设备用于休眠或挂起的方法和系统
EP2612484B1 (en) * 2010-08-30 2015-09-16 Watkins Manufacturing Corporation Apparatus for monitoring a spa
US20160232088A1 (en) * 2014-07-17 2016-08-11 Sandisk Enterprise Ip Llc Garbage Collection in Storage System with Distributed Processors
CN111316234B (zh) 2017-09-12 2024-03-12 恩倍科微公司 极低功率微控制器系统
TWI645296B (zh) * 2017-10-17 2018-12-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
KR20210001546A (ko) * 2019-06-28 2021-01-06 에스케이하이닉스 주식회사 슬립모드에서 메모리 시스템의 내부데이터를 전송하는 장치 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784611A (en) * 1994-12-19 1998-07-21 Seagate Technology, Inc. Device and process for in-system programming electrically erasable and programmable non-volatile memory
TW201117218A (en) * 2009-11-13 2011-05-16 Silicon Motion Inc Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
US20110119430A1 (en) * 2009-11-13 2011-05-19 Silicon Motion, Inc. Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage sysem using the same
CN102708064A (zh) * 2011-02-24 2012-10-03 微软公司 从休眠中多阶段恢复
US20160085559A1 (en) * 2014-09-23 2016-03-24 Dialog Semiconductor (UK) Ltd. Conditional Processor Auto Boot with No Boot Loader when Coupled with a Nonvolatile Memory
CN106469571A (zh) * 2015-08-17 2017-03-01 爱思开海力士有限公司 存储系统及其操作方法
CN110308936A (zh) * 2018-03-20 2019-10-08 慧荣科技股份有限公司 进行初始化的方法、记忆装置及其控制器以及电子装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701042A (zh) * 2023-07-27 2023-09-05 飞腾信息技术有限公司 一种内存数据保留方法、保留装置和相关设备
CN116701042B (zh) * 2023-07-27 2023-10-13 飞腾信息技术有限公司 一种内存数据保留方法、保留装置和相关设备

Also Published As

Publication number Publication date
TWI738235B (zh) 2021-09-01
CN113345500B (zh) 2024-03-08
US20210279003A1 (en) 2021-09-09
TW202134859A (zh) 2021-09-16
US11662944B2 (en) 2023-05-30

Similar Documents

Publication Publication Date Title
US8819358B2 (en) Data storage device, memory system, and computing system using nonvolatile memory device
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US8230161B2 (en) Data backup method for a flash memory and controller and storage system using the same
US11550496B2 (en) Buffer management during power state transitions using self-refresh and dump modes
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
US9063888B2 (en) Program code loading and accessing method, memory controller, and memory storage apparatus
US11693567B2 (en) Memory performance optimization method, memory control circuit unit and memory storage device
CN107357520B (zh) 整理指令处理方法、存储器控制电路单元及其存储装置
CN110069362B (zh) 数据储存装置与数据处理方法
CN111399751A (zh) 闪存控制器、管理闪存模块的方法及相关的电子装置
US11347433B2 (en) Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device
TWI748542B (zh) 電子裝置、快閃記憶體控制器及快閃記憶體模組進行垃圾收集操作的方法
CN113345500B (zh) 用来进行恢复管理的方法及设备
US20230259307A1 (en) Memory system
US20220374216A1 (en) Method of manufacturing information processing apparatus and mobile computer
US10782901B2 (en) Method for performing initialization in a memory device, associated memory device and controller thereof, and associated electronic device
TWI828391B (zh) 資料儲存裝置與資料儲存裝置之緩存器大小估計方法
JP6972243B1 (ja) メモリドライブ装置、情報処理装置、及び制御方法
TWI822398B (zh) 資料儲存裝置與資料儲存裝置之緩存器大小估計方法
US10169224B2 (en) Data protecting method for preventing received data from losing, memory storage apparatus and memory control circuit unit
CN112965670A (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