CN111984462B - 无预警断电复原管理方法、记忆装置、控制器及电子装置 - Google Patents
无预警断电复原管理方法、记忆装置、控制器及电子装置 Download PDFInfo
- Publication number
- CN111984462B CN111984462B CN202010287661.2A CN202010287661A CN111984462B CN 111984462 B CN111984462 B CN 111984462B CN 202010287661 A CN202010287661 A CN 202010287661A CN 111984462 B CN111984462 B CN 111984462B
- Authority
- CN
- China
- Prior art keywords
- page
- block
- expansion
- controller
- target block
- 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
- 238000007726 management method Methods 0.000 title description 28
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000004044 response Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 7
- 238000011084 recovery Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 231100000957 no side effect Toxicity 0.000 description 1
Classifications
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
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)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种用来进行无预警断电复原管理的方法、记忆装置、控制器以及电子装置。所述方法可包括:触发写入扩展区块;针对目标区块,设定预计以二分查找处理的页面数以及起始页面编号;至少依据所述页面数以及所述起始页面编号,对所述目标区块进行所述二分查找以寻找所述目标区块中的第一个空页面;于所述目标区块中从所述第一个空页面起往回进行逐页面查找,以寻找所述目标区块中的最后一个有效页面;依据所述最后一个有效页面以及所述第一个空页面决定于所述扩展区块中的放弃范围;以及对所述放弃范围中的全部的扩展页面进行虚拟编程。当断电事件发生时,本发明通过所述控制器中的高效能断电复原机制快速地恢复运作。
Description
技术领域
本发明关于闪存(Flash memory)的存取(access),尤指一种用来进行无预警断电复原(Sudden Power Off Recovery,SPOR)管理的方法、相关的记忆装置及其控制器以及相关的电子装置。
背景技术
闪存可广泛地应用于各种可携式或非可携式记忆装置(例如:符合SD/MMC、CF、MS、XD或UFS标准的记忆卡;又例如:固态硬盘;又例如:符合UFS或EMMC规格的嵌入式(embedded)存储装置)中。以常用的NAND型闪存而言,最初有单阶细胞(single levelcell,SLC)、多阶细胞(multiple levelcell,MLC)等类型的闪存。由于存储器的技术不断地发展,较新的记忆装置产品可采用三阶细胞(triple level cell,TLC)闪存,甚至四阶细胞(quadruplelevel cell,QLC)闪存。为了确保记忆装置对闪存的存取控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理其内部运作。
依据现有技术,有了这些管理机制的记忆装置还是有不足之处。举例来说,由于闪存的容量随着某些规格的变化而增加,这些记忆装置的针对无预警断电(Sudden PowerOff,SPO)事件的管理机制需要更多的时间进行相关运作,这可能导致很长的开机时间或开机失败。因此,需要一种新颖的方法及相关架构,以在没有副作用或较不可能带来副作用的状况下实现能顺畅地运作的大容量记忆装置。
发明内容
本发明的一目的在于公开一种用来进行无预警断电复原(Sudden PowerOffRecovery,SPOR)管理的方法以及相关的记忆装置及其控制器以及相关的电子装置,以解决上述问题。
本发明的另一目的在于公开一种用来进行无预警断电复原管理的方法以及相关的记忆装置及其控制器以及相关的电子装置,以在没有副作用或较不可能带来副作用的状况下实现能顺畅地运作的大容量记忆装置。
本发明的至少一实施例公开一种用来进行无预警断电复原管理的方法,其中所述方法应用于一记忆装置,所述记忆装置包括一非挥发性存储器(non-volatile memory,NVmemory),且所述非挥发性存储器包括至少一非挥发性存储器组件(NV memory element)。所述方法可包括:触发写入一扩展(expansion)区块,其中所述记忆装置将所述至少一非挥发性存储器组件的一群区块中的多个实体区块彼此关联以形成所述扩展区块,其中于写入所述扩展区块的期间,一无预警断电(Sudden Power Off,SPO)事件发生,且所述记忆装置被重新上电;针对一目标区块(target block),设定预计以二分查找(binary search)处理的一页面数(page count)以及一起始页面编号(startpage number);至少依据所述页面数以及所述起始页面编号,对所述目标区块进行所述二分查找以寻找所述目标区块中的第一个空页面(empty page);针对所述目标区块,检查是否满足一放弃条件、或所述目标区块全满或全空;因应所述放弃条件并未被满足、且所述目标区块并不是全满且不是全空,于所述目标区块中从所述第一个空页面起往回进行逐页面查找(page-by-pagesearch),以寻找所述目标区块中的最后一个有效页面(valid page);依据所述最后一个有效页面以及所述第一个空页面决定于所述扩展区块中的一放弃范围(abandonment range);以及对所述放弃范围中的全部的扩展页面进行虚拟编程(dummy programming)。
本发明的至少一实施例公开一种记忆装置,其可包括:一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件;以及一控制器,耦接至所述非挥发性存储器,用来控制所述记忆装置的运作。所述控制器可包括一处理电路,而所述处理电路可依据来自一主装置的多个主装置指令(host command)控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器。例如:所述控制器触发写入一扩展区块,其中所述控制器将所述至少一非挥发性存储器组件的一群区块中的多个实体区块彼此关联以形成所述扩展区块,其中于写入所述扩展区块的期间,一无预警断电事件发生,且所述记忆装置被重新上电;针对一目标区块,所述控制器设定预计以二分查找处理的一页面数以及一起始页面编号;所述控制器至少依据所述页面数以及所述起始页面编号,对所述目标区块进行所述二分查找以寻找所述目标区块中的第一个空页面;针对所述目标区块,所述控制器检查是否满足一放弃条件、或所述目标区块全满或全空;因应所述放弃条件并未被满足、且所述目标区块并不是全满且不是全空,所述控制器于所述目标区块中从所述第一个空页面起往回进行逐页面查找,以寻找所述目标区块中的最后一个有效页面;所述控制器依据所述最后一个有效页面以及所述第一个空页面决定于所述扩展区块中的一放弃范围;以及所述控制器对所述放弃范围中的全部的扩展页面进行虚拟编程。
依据某些实施例,本发明另公开一种包括上述的记忆装置的电子装置,其中所述电子装置包括所述主装置,且所述主装置与所述记忆装置彼此耦接。例如,所述主装置可包括:至少一处理器,用来控制所述主装置的运作;以及一电源供应电路,耦接至所述至少一处理器,用来提供电源给所述至少一处理器以及所述记忆装置;其中所述记忆装置提供存储空间给所述主装置。
本发明的至少一实施例公开一种记忆装置的控制器,其中所述记忆装置包括所述控制器与一非挥发性存储器,且所述非挥发性存储器包括至少一非挥发性存储器组件。所述控制器可包括一处理电路,而所述处理电路可依据来自一主装置的多个主装置指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器。例如:所述控制器触发写入一扩展区块,其中所述控制器将所述至少一非挥发性存储器组件的一群区块中的多个实体区块彼此关联以形成所述扩展区块,其中于写入所述扩展区块的期间,一无预警断电事件发生,且所述记忆装置被重新上电;针对一目标区块,所述控制器设定预计以二分查找处理的一页面数以及一起始页面编号;所述控制器至少依据所述页面数以及所述起始页面编号,对所述目标区块进行所述二分查找以寻找所述目标区块中的第一个空页面;针对所述目标区块,所述控制器检查是否满足一放弃条件、或所述目标区块全满或全空;因应所述放弃条件并未被满足、且所述目标区块并不是全满且不是全空,所述控制器于所述目标区块中从所述第一个空页面起往回进行逐页面查找,以寻找所述目标区块中的最后一个有效页面;所述控制器依据所述最后一个有效页面以及所述第一个空页面决定于所述扩展区块中的一放弃范围;以及所述控制器对所述放弃范围中的全部的扩展页面进行虚拟编程。
本发明的好处的一是,本发明能针对所述控制器的运作进行妥善的控制,尤其,实现能顺畅地运作的大容量记忆装置。当突然断电事件发生时,依据所述控制器中的高效能断电复原机制可顺畅地运作,以使记忆装置快速地变为可用的,以供使用者使用。另外,依据本发明的实施例来实施并不会增加许多额外的成本。因此,现有技术的问题可被解决,且整体成本不会增加太多。相较于现有技术,本发明能在没有副作用或较不可能带来副作用的状况下达到记忆装置的优化效能。
附图说明
图1为依据本发明一实施例的一种电子装置的示意图,其中所述电子装置包括一主装置(host device)与一记忆装置。
图2为依据本发明一实施例的一扩展(expansion)控制方案。
图3为依据本发明一实施例的一种用来进行无预警断电复原(SuddenPower OffRecovery,SPOR)管理的方法的工作流程。
图4绘示依据本发明一实施例的如图3所示方法的一第一管理方案的某些读取操作。
图5绘示所述第一管理方案的其它读取操作。
图6绘示所述第一管理方案的某些后续操作。
图7绘示所述第一管理方案的某些实施细节。
图8绘示依据本发明一实施例的如图3所示方法的一第二管理方案的某些读取操作。
图9绘示所述第二管理方案的某些后续操作。
图10绘示所述第二管理方案的某些实施细节。
其中,附图标记说明如下:
10电子装置
50主装置
100记忆装置
110存储器控制器
112微处理器
112C程序代码
112M只读存储器
114控制逻辑电路
116缓冲存储器
118传输接口电路
120非挥发性存储器
122-1、122-2、…122-N非挥发性存储器组件
200工作流程
202、210、212、214、216、218、
220、222步骤
DIE#0、DIE#1裸晶
PL#0、PL#1平面
FBLK#0、FBLK#1、…实体区块
FP#0、FP#1、FP#2、FP#3、
FP#4、FP#5、FP#6、FP#7、…实体页面
XBLK#0、XBLK#1、…扩展区块
XP#0、XP#1、XP#2、XP#3、
XP#4、XP#5、XP#6、XP#7、
XP#8、XP#9、XP#10、XP#11、
XP#12、XP#13、XP#14、XP#15、
XP#16、XP#17、XP#18、XP#19、
XP#20、XP#21、XP#22、XP#23、
XP#24、XP#25、XP#26、XP#27、
XP#28、XP#29、XP#30、XP#31…扩展页面
S11、S12、S13、S14、S15、
S16、S17、S18、S19、S1A、
S1B、S1C、S1D、S1E、S1F、
S21、S22、S23、S24、S25、
S2A、S2B、S2C、S2D步骤
具体实施方式
图1为依据本发明一第一实施例的一种电子装置10的示意图,其中电子装置10可包括一主装置(host device)50以及一记忆装置100,而记忆装置100可用来为主装置50存储信息。依据本实施例,记忆装置100可用来提供存储空间给主装置50,且可从主装置50取得一或多个驱动电压作为记忆装置100的电源,但本发明不限于此。主装置50可包括:至少一处理器(例如一或多个处理器),其可通称为处理器52,以及相关电路诸如随机存取存储器(RandomAccess Memory,RAM)、总线等;以及一电源供应电路54,其中处理器52与电源供应电路54彼此耦接。处理器52可用来控制主装置50的运作,而电源供应电路54可用来提供电源给处理器52以及记忆装置100。主装置50的例子可包括(但不限于):多功能移动电话(multifunctional mobile phone)、平板计算机(tablet)、可穿戴装置(wearabledevice)以及个人计算机(personal computer)诸如桌面计算机与膝上型计算机。
依据本实施例,记忆装置100可包括一控制器诸如存储器控制器110,且可还包括一非挥发性存储器(non-volatile memory,NV memory)120,其中所述控制器是用来存取(access)非挥发性存储器120,且非挥发性存储器120是用来存储信息。非挥发性存储器120可包括至少一非挥发性存储器组件(NVmemory 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标准的记忆卡)、固态硬盘(SolidState Drive,SSD)以及各种嵌入式(embedded)存储装置(诸如符合UFS或EMMC规格的嵌入式存储装置)。
如图1所示,存储器控制器110可包括一处理电路诸如微处理器112、一存储器诸如只读存储器(Read Only Memory,ROM)112M、一控制逻辑电路114、一缓冲存储器116与一传输接口电路118,其中这些组件中的至少一部分(例如一部分或全部)可通过总线彼此耦接。缓冲存储器116是以随机存取存储器(RAM)来实施,例如可为静态随机存取存储器(StaticRAM,SRAM),其中所述随机存取存储器可用来提供内部存储空间给存储器控制器110,例如可暂时地存储数据,但本发明不限于此。另外,本实施例的只读存储器112M是用来存储一程序代码112C,而微处理器112则用来执行程序代码112C以控制对非挥发性存储器120的存取。请注意,程序代码112C也可存储在缓冲存储器116或任何形式的存储器内。此外,控制逻辑电路114可用来控制非挥发性存储器120。控制逻辑电路114可包括一错误更正码(ErrorCorrection Code,简称ECC)电路(未显示),以保护数据、及/或进行错误更正,而传输接口电路118可符合一特定通信标准(诸如串行高级技术附件(Serial AdvancedTechnologyAttachment,SATA)标准、通用串行总线(Universal Serial Bus,USB)标准、快捷外设互联(Peripheral Component Interconnect Express,PCIe)标准、嵌入式多媒体记忆卡(embedded Multi Media Card,eMMC)标准、或通用闪存存储(Universal Flash Storage,UFS)标准)且可依据所述特定通信标准进行通信。
于本实施例中,主装置50可通过传送多个主装置指令(host command)与对应的逻辑地址予存储器控制器110来存取记忆装置100中的非挥发性存储器120。存储器控制器110接收所述多个主装置指令与上述对应的逻辑地址,并将所述多个主装置指令分别转译成存储器操作指令(简称操作指令),再以操作指令控制非挥发性存储器120读取、写入(write)/编程(Program)非挥发性存储器120当中某些实体地址的记忆单位(memory unit),其中实体地址可被关联于逻辑地址。尤其,存储器控制器110可产生或更新至少一逻辑对实体地址映像表(logical-to-physical address mapping table,简称H2F表)来管理实体地址与逻辑地址之间的关系,但本发明不限于此。例如,于上述至少一H2F表中的多个字段(field)的各自的相对位置可对应于所述多个逻辑地址,且所述多个字段可分别用来记录所述多个实体地址以指出所述多个实体地址与所述多个逻辑地址之间的关系,其中所述多个字段中的每一字段于建立上述少一H2F表的一开始可等于一默认值诸如0xFFFFFFFF,而所述默认值不会等于任何有效的实体地址。较佳地,上述至少一H2F表可实施成至少一页面地址链结表(page address linking table),以供控制非挥发性存储器120当中的所述多个非挥发性存储器组件122-1、122-2、…与122-N的一群区块(block)的各自的页面(page)的存取。微处理器112可依据多个局部页面地址链结表(local page address linking table)来建立一全局页面地址链结表(global pageaddress linking table),以记录或更新所述多个实体地址与所述多个逻辑地址之间的关系。
例如,于非挥发性存储器120中,非挥发性存储器组件122-1、122-2、…与122-N中的任一非挥发性存储器组件122-n(符号“n”可代表区间[1,N]中的任一整数)可包括多个区块,且所述多个区块中的一区块可包括且可记录特定数量的页面(page)。在一实体地址包括一区块地址诸如一区块编号(blocknumber)以及一页面地址诸如一页面编号(pagenumber)的情况下,存储器控制器110可依据所述区块编号以及所述页面编号来存取非挥发性存储器120中的某一区块中的某一页面。
又例如,上述任一非挥发性存储器组件122-n可包括多个平面(plane),所述多个平面中的一平面可包括一组区块诸如上述多个区块,且所述组区块中的一区块可包括且可记录特定数量的页面。在一实体地址包括一平面编号(plane number)、一区块编号以及一页面编号的情况下,存储器控制器110可依据所述平面编号、所述区块编号以及所述页面编号来存取非挥发性存储器120中的某一平面中的某一区块中的某一页面,但本发明不限于此。在多平面(multi-plane)架构中,总区块数可增加,且非挥发性存储器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中的操作可以是耗时且耗电的。图2为依据本发明一实施例的一扩展(expansion)控制方案。存储器控制器110可将分别属于不同芯片的各自的不同平面的多组实体区块彼此关联以形成一组扩展区块,以通过一或多种平行处理诸如管线处理(pipelining)、交错处理(interleaving)等来提升非挥发性存储器120的存取速度。为了便于理解,以双平面架构的快闪裸晶作为上述非挥发性存储器组件122-1、122-2、…122-N中的两个非挥发性存储器组件的例子,存储器控制器110可将分别属于裸晶DIE#0与DIE#1的各自的平面PL#0与PL#1的四组实体区块{{FBLK#0,FBLK#1,…},{FBLK#0,FBLK#1,…},{FBLK#0,FBLK#1,…},{FBLK#0,FBLK#1,…}}彼此关联以形成一组扩展区块{XBLK#0,XBLK#1,…},但本发明不限于此。依据本实施例,扩展区块XBLK#0中的扩展页面XP#0、XP#1、XP#2与XP#3代表分别属于裸晶DIE#0与DIE#1的各自的平面PL#0与PL#1的四个实体区块FBLK#0的各自的实体页面FP#0,扩展区块XBLK#0中的扩展页面XP#4、XP#5、XP#6与XP#7代表分别属于裸晶DIE#0与DIE#1的各自的平面PL#0与PL#1的四个实体区块FBLK#0的各自的实体页面FP#1,依此类推;扩展区块XBLK#1中的扩展页面XP#0、XP#1、XP#2与XP#3代表分别属于裸晶DIE#0与DIE#1的各自的平面PL#0与PL#1的四个实体区块FBLK#1的各自的实体页面FP#0,扩展区块XBLK#1中的扩展页面XP#4、XP#5、XP#6与XP#7代表分别属于裸晶DIE#0与DIE#1的各自的平面PL#0与PL#1的四个实体区块FBLK#1的各自的实体页面FP#1,依此类推;并且其余依此类推。此外,于所述组扩展区块{XBLK#0,XBLK#1,…}中的每一扩展区块中,扩展页面XP#0、XP#1、XP#2与XP#3的组合可视为所述扩展区块中的第一个超级页面(super page),扩展页面XP#4、XP#5、XP#6与XP#7的组合可视为所述扩展区块中的第二个超级页面,依此类推。
为了便于理解,所述群区块中的每一者(例如所述四组实体区块{{FBLK#0,FBLK#1,…},{FBLK#0,FBLK#1,…},{FBLK#0,FBLK#1,…},{FBLK#0,FBLK#1,…}}中的每一实体区块)可包括Nfp个实体页面诸如实体页面FP#0、FP#1、…与FP#(Nfp-1),且所述组扩展区块{XBLK#0,XBLK#1,…}中的每一扩展区块可包括Nxp个扩展页面诸如扩展页面XP#0、XP#1、…与XP#(Nxp-1),其中符号“Nfp”与“Nxp”可代表正整数。例如,于图2所示的所述扩展控制方案中,Nxp=(4*Nfp),但本发明不限于此。
于写入一扩展区块(例如:所述组扩展区块{XBLK#0,XBLK#1,…}中的某一扩展区块)的期间,当无预警断电(Sudden Power Off,SPO)事件发生时,全部的进行中的操作被迫停止。为了便于理解,假设缺乏妥善的复原机制。此状况下,这个扩展区块及其内的数据可能变得无法使用,且先前已经进行过的写入操作可能被迫要重新进行,这会浪费使用者的时间(例如,当大量数据已被写入这个扩展区块)。因此,当无预警断电事件发生以后,如何快速地恢复(resume)被中断的任务以继续服务所述使用者已成为技术上的一门重要课题。
本发明至少一实施例揭露一种用来进行无预警断电复原(Sudden PowerOffRecovery,SPOR)管理的方法,此方法可应用于记忆装置100,并由记忆装置100的存储器控制器110所执行,且可快速地恢复被中断的任务以继续服务所述使用者,例如通过其高效率的工作流程200,如图3所示。
于步骤202中,存储器控制器110开始将数据(例如用户数据)搬移到一扩展区块,诸如所述组扩展区块{XBLK#0,XBLK#1,…}中的某一扩展区块。当存储器控制器110将所述数据中的某一组页面数据(例如用户数据中的一页面的数据)写入所述扩展区块中的某一扩展页面时,存储器控制器110可将这组页面数据写入所述扩展页面所代表的某一实体页面中的一数据区,且于所述实体页面中的一备用区记录这组页面数据的逻辑地址信息,其中所述逻辑地址信息包括逻辑地址诸如逻辑页面编号。
依据本实施例,存储器控制器110于步骤202中触发写入所述扩展区块,其中于写入所述扩展区块的期间,一无预警断电事件发生、且接着记忆装置100被重新上电(于图3中标示为“无预警断电及重新上电”,以求简明)。
于步骤210中,针对一目标区块(target block),存储器控制器110可设定预计以二分查找(binary search)处理的页面数(page count)NP及起始页面编号(start pagenumber)SP,其中页面数NP及起始页面编号SP属于所述二分查找的参数。
于步骤212中,依据所述二分查找的参数,诸如页面数NP及起始页面编号SP,存储器控制器110可对所述目标区块进行所述二分查找以寻找所述目标区块中的第一个空页面(empty page)。依据本实施例,由于任何已写入所述目标区块的数据(例如用户数据)是从所述目标区块的最开始起依序写入所述目标区块,故从所述目标区块的最开始起到所述第一个空页面的范围都曾被写入、且不是空的,且从所述第一个空页面起到所述目标区块中的最后可写入数据(例如用户数据)的部分都是空的、且未曾被写入。通过所述二分查找,存储器控制器110可尽快寻找到所述第一个空页面。
于步骤214中,针对所述目标区块,存储器控制器110可检查是否满足一放弃条件、或所述目标区块全满或全空。存储器控制器110可依据所述第一个空页面以及至少一阈值(例如一或多个阈值)来进行此检查操作。例如,存储器控制器110可依据所述第一个空页面于所述目标区块中的页面编号是否小于一第一阈值来判断所述放弃条件是否被满足,其中若所述第一个空页面的所述页面编号小于所述第一阈值(这可指出已被写入所述扩展区块的数据的数据量很小),存储器控制器110可判断所述放弃条件被满足,否则,存储器控制器110可判断所述放弃条件未被满足,但本发明不限于此。又例如,当所述第一个空页面是所述目标区块中的第一个页面时,存储器控制器110可判断所述目标区块全空。再例如,当未能找出所述第一个空页面时,存储器控制器110可判断所述目标区块全满。如果满足所述放弃条件、或所述目标区块全满或全空,工作流程200结束;否则,进入步骤216。
于步骤216中,因应所述放弃条件并未被满足、且所述目标区块并不是全满且不是全空,存储器控制器110可于所述目标区块中从所述第一个空页面起往回进行逐页面查找(page-by-page search),以寻找所述目标区块中的最后一个有效页面(valid page),其中往回进行所述逐页面查找可包括:沿着一往回(backward)方向,诸如页面编号减少的方向,来进行所述逐页面查找。例如,于进行所述逐页面查找的期间,当存储器控制器110于读取某一页面时,没有发生不可更正的(Uncorrectable)ECC错误(简称UECC错误)。此状况下,存储器控制器110可将这个页面决定为所述最后一个有效页面。
于步骤218中,存储器控制器110可依据所述最后一个有效页面以及所述第一个空页面决定于所述扩展区块中的一放弃范围(abandonment range)。举例来说,所述放弃范围可包括(nxp2-nxp1)个扩展页面诸如扩展页面XP#(nxp1+1)、XP#(nxp1+2)、…与XP#nxp2,其中符号“nxp1”与“nxp2”中的每一者可代表区间[0,(Nxp-1)]中的一整数,且nxp1<nxp2。所述放弃范围中的所述(nxp2-nxp1)个扩展页面可包括被所述无预警断电事件影响(例如损坏)的扩展页面。
于步骤220中,存储器控制器110可将一实体对逻辑地址映像表(physical-to-logical address mapping table,简称F2H表)中的对应于所述放弃范围的任何条目(entry)记录为一无效标签(invalid tag)诸如0xFFFFFFFF,以无效化所述放弃范围中的任何扩展页面。举例来说,当将一组数据(例如用户数据)写入一实体页面时,存储器控制器110可于所述F2H表中将所述组数据的一逻辑地址记录成为对应于所述实体页面的一条目,以指出这个实体页面中的所述组数据对应于(例如关联于或存储于)这个逻辑地址,但本发明不限于此。由于所述无效标签诸如0xFFFFFFFF不会等于任何有效的逻辑地址,故存储器控制器110可通过将所述F2H表中的某一条目记录为所述无效标签,来无效化一对应的扩展页面。
于步骤222中,存储器控制器110可对所述放弃范围中的全部的扩展页面进行虚拟编程(dummy programming),尤其,将虚拟数据(dummy data)诸如非用户数据编程至这些扩展页面,以使被所述无预警断电事件影响到的这些扩展页面变得更稳定。存储器控制器110可针对所述扩展区块更新所述F2H表以使所述扩展区块变为可用的(available)而可供继续使用(这表示存储器控制器110完成无预警断电复原),尤其,可于所述扩展区块中从所述放弃范围以前的最后一个扩展页面XP#nxp1起沿着扩展页面编号递减的方向逐一读取扩展页面XP#nxp1、XP#(nxp1-1)、XP#(nxp1-2)、…与XP#0的各自的备用区(spare region),以从存储器控制器110于步骤202中已记录于这些备用区中的逻辑地址信息提取逻辑地址诸如逻辑页面编号,以供更新所述F2H表,例如,将这些逻辑地址诸如这些逻辑页面编号记录于所述F2H表中,直到完成补充记录所述F2H表中未更新的部分。然后,工作流程200结束。
为了更好地理解,所述方法可用图3所示的工作流程200来说明,但本发明不限于此。依据某些实施例,一个或多个步骤可于图3所示的工作流程200中增加、删除或修改。
为了便于理解,于以下说明中的某些实施例中,假设步骤202中所述的扩展区块可包括扩展页面XP#0、XP#1、XP#2、XP#3、XP#4、XP#5、XP#6、XP#7、XP#8、XP#9、XP#10、XP#11、XP#12、XP#13、XP#14、XP#15、XP#16、XP#17、XP#18、XP#19、XP#20、XP#21、XP#22、XP#23、XP#24、XP#25、XP#26、XP#27、XP#28、XP#29、XP#30与XP#31,被彼此关联以形成这个扩展区块的四个对应的实体区块中的每一实体区块可包括实体页面FP#0、FP#1、FP#2、FP#3、FP#4、FP#5、FP#6与FP#7,但本发明不限于此。例如,扩展页面XP#0、XP#1、…与XP#15已被成功地编程且可视为有效页面,且其内的数据没有损坏。然后,存储器控制器110触发写入或编程扩展页面XP#16、XP#17、XP#18与XP#19,但所述无预警断电事件发生,使得扩展页面XP#16成为有效但不稳定的页面、且扩展页面XP#17与XP#18成为毁损页面,其中扩展页面XP#19、XP#20、…与XP#31仍维持空的,也就是空页面。基于所述方法,存储器控制器110可适当地选择一区块作为所述目标区块,以快速地恢复被中断的任务以继续服务所述使用者。
图4绘示依据本发明一实施例的如图3所示方法的一第一管理方案的某些读取操作(例如步骤S11、S12、S13、S14与S15的各自的读取操作),图5绘示所述第一管理方案的其它读取操作(例如步骤S16、S17、S18与S19的各自的读取操作),并且图6绘示所述第一管理方案的某些后续操作(例如步骤S1E与S1F的各自的操作)。为了便于理解,假设于工作流程200(尤其,步骤210)中,存储器控制器110可选择步骤202中所述的扩展区块作为所述目标区块,但本发明不限于此。此状况下,所述目标区块可代表所述扩展区块,页面数NP可代表所述扩展区块中的扩展页面XP#0、XP#1、…与XP#(Nxp-1)的数量Nxp,诸如本实施例的扩展页面XP#0、XP#1、…与XP#31的扩展页面数32,且起始页面编号SP可等于0。
例如,存储器控制器110可对所述目标区块诸如所述扩展区块进行所述二分查找以寻找所述扩展区块中的第一个空页面,尤其,依序于步骤S11、S12…与S15中进行五次读取操作以判断扩展页面XP#19是所述扩展区块中的所述第一个空页面,如图4所示,其中步骤S11、S12…与S15可视为步骤212的子步骤。另外,存储器控制器110可于所述目标区块诸如所述扩展区块中从所述第一个空页面起往回进行所述逐页面查找以寻找所述扩展区块中的最后一个有效页面,尤其,依序于步骤S16、S17…与S19中进行四次读取操作以判断扩展页面XP#15是所述扩展区块中的所述最后一个有效页面,如图5所示,其中步骤S16、S17…与S19可视为步骤216的子步骤。于是,存储器控制器110于步骤S11、S12…与S19中总共进行九次读取操作。此外,步骤S1E与S1F的操作可分别等同于步骤220与222的操作,且可使扩展页面XP#16、XP#17、XP#18与XP#19变为无效且虚拟编程的。为了简明起见,本实施例与前述实施例相仿的内容在此不重复赘述。
图7绘示所述第一管理方案的某些实施细节,其中步骤S1A、S1B、S1C与S1D可视为步骤218的子步骤,但本发明不限于此。
于步骤S1A中,存储器控制器110可检查(于所述目标区块诸如所述扩展区块中的)所述最后一个有效页面是否对齐一超级页面(例如,位于其所在的所述超级页面中的最后一个扩展页面)。如果所述最后一个有效页面对齐所述超级页面(例如,位于其所在的所述超级页面中的最后一个扩展页面),进入步骤S1C;否则,进入步骤S1B。
于步骤S1B中,存储器控制器110可将(于所述目标区块诸如所述扩展区块中的)所述最后一个有效页面所在的所述超级页面中的第一个扩展页面决定为所述放弃范围中的一起始扩展页面。
于步骤S1C中,存储器控制器110可将(于所述目标区块诸如所述扩展区块中的)所述最后一个有效页面的下一个扩展页面决定为所述放弃范围中的所述起始扩展页面。
于步骤S1D中,存储器控制器110可将(于所述目标区块诸如所述扩展区块中的)所述第一个空页面决定为所述放弃范围中的一结束扩展页面。
为了简明起见,本实施例与前述实施例相仿的内容在此不重复赘述。
图8绘示依据本发明一实施例的如图3所示方法的一第二管理方案的某些读取操作(例如步骤S21、S22、S23、S24与S25的各自的读取操作),并且图9绘示所述第二管理方案的某些后续操作(例如步骤S2C与S2D的各自的操作)。相较于所述第一管理方案,所述第二管理方案能进一步提升记忆装置100的效能。例如,于工作流程200(尤其,步骤210)中,存储器控制器110可选择被彼此关联以形成步骤202中所述的扩展区块的对应的实体区块中的最后一个实体区块,诸如上述四个对应的实体区块中的属于裸晶DIE#1的平面PL#1的实体区块,作为所述目标区块,但本发明不限于此。此状况下,所述目标区块可代表所述最后一个实体区块,页面数NP可代表所述最后一个实体区块中的实体页面FP#0、FP#1、…与FP#(Nfp-1)的数量Nfp,诸如本实施例的实体页面FP#0、FP#1、…与FP#7的实体页面数8,且起始页面编号SP可等于0。
例如,存储器控制器110可对所述目标区块诸如所述最后一个实体区块进行所述二分查找以寻找所述最后一个实体区块中的第一个空页面,尤其,依序于步骤S21、S22…与S24中进行四次读取操作以判断所述最后一个实体区块中的实体页面FP#4(其等同于扩展页面XP#19)是所述最后一个实体区块中的所述第一个空页面,如图8所示,其中步骤S21、S22…与S24可视为步骤212的子步骤。另外,存储器控制器110可于所述目标区块诸如所述最后一个实体区块中从所述第一个空页面起往回进行所述逐页面查找以寻找所述最后一个实体区块中的最后一个有效页面,尤其,于步骤S25中只进行一次读取操作以判断所述最后一个实体区块中的实体页面FP#3(其等同于扩展页面XP#15)是所述最后一个实体区块中的所述最后一个有效页面,如图8所示,其中步骤S25可作为步骤216的例子。于是,存储器控制器110于步骤S21、S22…与S25中总共进行五次读取操作。此外,步骤S2C与S2D的操作可分别等同于步骤220与222的操作,且可使扩展页面XP#16、XP#17、XP#18与XP#19变为无效且虚拟编程的。为了简明起见,本实施例与前述实施例相仿的内容在此不重复赘述。
图10绘示所述第二管理方案的某些实施细节,其中步骤S2A与S2B可视为步骤218的子步骤,但本发明不限于此。
于步骤S2A中,存储器控制器110可将(于所述目标区块诸如所述最后一个实体区块中的)所述最后一个有效页面的下一个扩展页面决定为所述放弃范围中的所述起始扩展页面。例如,所述最后一个实体区块中的所述最后一个有效页面可为所述最后一个实体区块中的实体页面FP#3,也就是扩展页面XP#15,且因此所述最后一个实体区块中的所述最后一个有效页面的所述下一个扩展页面就是扩展页面XP#16。
于步骤S2B中,存储器控制器110可将(于所述目标区块诸如所述最后一个实体区块中的)所述第一个空页面决定为所述放弃范围中的所述结束扩展页面。例如,所述最后一个实体区块中的所述第一个空页面可为所述最后一个实体区块中的实体页面FP#4,也就是扩展页面XP#19。
为了简明起见,本实施例与前述实施例相仿的内容在此不重复赘述。
于上述实施例中,所述最后一个实体区块可代表被彼此关联以形成步骤202中所述的扩展区块的上述对应的实体区块中的具有最大裸晶编号(dienumber)且具有最大平面编号的实体区块,诸如上述四个对应的实体区块中的属于裸晶DIE#1的平面PL#1的实体区块,但本发明不限于此。于某些实施例中,所述最后一个实体区块可代表被彼此关联以形成步骤202中所述的扩展区块的上述对应的实体区块中的用来存储所述扩展区块的各个超级页面的各自的最后一笔数据的实体区块。为了简明起见,这些实施例与前述实施例相仿的内容在此不重复赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种用来进行无预警断电复原管理的方法,所述方法应用于一记忆装置,所述记忆装置包括一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述至少一非挥发性存储器组件代表至少一非挥发性存储器芯片或至少一非挥发性存储器裸晶,所述方法的特征在于,包括有:
触发写入一扩展区块,其中所述记忆装置将所述至少一非挥发性存储器组件的一群区块中的多个实体区块彼此关联以形成所述扩展区块,其中于写入所述扩展区块的期间,一无预警断电事件发生,且所述记忆装置被重新上电;
针对一目标区块,设定预计以二分查找处理的一页面数以及一起始页面编号;
至少依据所述页面数以及所述起始页面编号,对所述目标区块进行所述二分查找以寻找所述目标区块中的第一个空页面;
针对所述目标区块,检查是否满足一放弃条件、或所述目标区块全满或全空;
因应所述放弃条件并未被满足、且所述目标区块并不是全满且不是全空,于所述目标区块中从所述第一个空页面起往回进行逐页面查找,以寻找所述目标区块中的最后一个有效页面,其中所述目标区块代表所述扩展区块,所述目标区块中的第一个空页面代表所述扩展区块中的第一个空页面,且所述最后一个有效页面代表所述扩展区块中的最后一个有效页面;
依据所述最后一个有效页面以及所述第一个空页面决定于所述扩展区块中的一放弃范围,其中依据所述最后一个有效页面以及所述第一个空页面决定于所述扩展区块中的所述放弃范围包括:
检查于所述扩展区块中的所述最后一个有效页面是否对齐一超级页面;
进行一决定操作,包括有:
因应于所述扩展区块中的所述最后一个有效页面对齐所述超级页面,将于所述扩展区块中的所述最后一个有效页面的下一个扩展页面决定为所述放弃范围中的一起始扩展页面;或
因应于所述扩展区块中的所述最后一个有效页面并未对齐所述超级页面,将于所述扩展区块中的所述最后一个有效页面所在的所述超级页面中的第一个扩展页面决定为所述放弃范围中的一起始扩展页面;以及
将于所述扩展区块中的所述第一个空页面决定为所述放弃范围中的一结束扩展页面;以及
对所述放弃范围中的全部的扩展页面进行虚拟编程。
2.如权利要求1所述的方法,其特征在于,所述至少一非挥发性存储器组件包括多个非挥发性存储器组件,所述多个非挥发性存储器组件中的每一非挥发性存储器组件包括多个平面,且所述多个平面中的每一平面包括多个区块;以及所述多个实体区块代表分别属于不同的非挥发性存储器组件的各自的平面的实体区块。
3.如权利要求2所述的方法,其特征在于,所述多个非挥发性存储器组件分别是多个存储器裸晶。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
将一实体对逻辑地址映像表中的对应于所述放弃范围的任何条目记录为一无效标签,以无效化所述放弃范围中的任何扩展页面。
5.一种记忆装置,其特征在于,包括有:
一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件,所述至少一非挥发性存储器组件代表至少一非挥发性存储器芯片或至少一非挥发性存储器裸晶;以及
一控制器,耦接至所述非挥发性存储器,用来控制所述记忆装置的运作,其中所述控制器包括:
一处理电路,用来依据来自一主装置的多个主装置指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器,其中:
所述控制器触发写入一扩展区块,其中所述控制器将所述至少一非挥发性存储器组件的一群区块中的多个实体区块彼此关联以形成所述扩展区块,其中于写入所述扩展区块的期间,一无预警断电事件发生,且所述记忆装置被重新上电;
针对一目标区块,所述控制器设定预计以二分查找处理的一页面数以及一起始页面编号;
所述控制器至少依据所述页面数以及所述起始页面编号,对所述目标区块进行所述二分查找以寻找所述目标区块中的第一个空页面;
针对所述目标区块,所述控制器检查是否满足一放弃条件、或所述目标区块全满或全空;
因应所述放弃条件并未被满足、且所述目标区块并不是全满且不是全空,所述控制器于所述目标区块中从所述第一个空页面起往回进行逐页面查找,以寻找所述目标区块中的最后一个有效页面,其中所述目标区块代表所述扩展区块,所述目标区块中的第一个空页面代表所述扩展区块中的第一个空页面,且所述最后一个有效页面代表所述扩展区块中的最后一个有效页面;所述控制器依据所述最后一个有效页面以及所述第一个空页面决定于所述扩展区块中的一放弃范围,其中:
所述控制器检查于所述扩展区块中的所述最后一个有效页面是否对齐一超级页面;
依据所述扩展区块中的所述最后一个有效页面是否对齐所述超级页面,所述控制器选择性地将于所述扩展区块中的所述最后一个有效页面的下一个扩展页面决定为所述放弃范围中的一起始扩展页面,其中若所述扩展区块中的所述最后一个有效页面对齐所述超级页面,所述控制器将于所述扩展区块中的所述最后一个有效页面的所述下一个扩展页面决定为所述放弃范围中的所述起始扩展页面,否则,所述控制器将于所述扩展区块中的所述最后一个有效页面所在的所述超级页面中的一扩展页面决定为所述放弃范围中的所述起始扩展页面;以及
所述控制器将于所述扩展区块中的所述第一个空页面决定为所述放弃范围中的一结束扩展页面;以及
所述控制器对所述放弃范围中的全部的扩展页面进行虚拟编程。
6.如权利要求5所述的记忆装置,其特征在于,于所述扩展区块中的所述最后一个有效页面所在的所述超级页面中的所述扩展页面代表于所述扩展区块中的所述最后一个有效页面所在的所述超级页面中的第一个扩展页面。
7.如权利要求5所述的记忆装置,其特征在于,所述至少一非挥发性存储器组件包括多个非挥发性存储器组件,所述多个非挥发性存储器组件中的每一非挥发性存储器组件包括多个平面,且所述多个平面中的每一平面包括多个区块;所述多个实体区块代表分别属于不同的非挥发性存储器组件的各自的平面的实体区块;以及所述多个非挥发性存储器组件分别是多个存储器裸晶。
8.一种包括如权利要求5所述的记忆装置的电子装置,其特征在于,还包括:
所述主装置,耦接至所述记忆装置,其中所述主装置包括:
至少一处理器,用来控制所述主装置的运作;以及
一电源供应电路,耦接至所述至少一处理器,用来提供电源给所述至少一处理器以及所述记忆装置;
其中所述记忆装置提供存储空间给所述主装置。
9.一种记忆装置的控制器,所述记忆装置包括所述控制器与一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述至少一非挥发性存储器组件代表至少一非挥发性存储器芯片或至少一非挥发性存储器裸晶,所述控制器的特征在于,包括有:
一处理电路,用来依据来自一主装置的多个主装置指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器,其中:
所述控制器触发写入一扩展区块,其中所述控制器将所述至少一非挥发性存储器组件的一群区块中的多个实体区块彼此关联以形成所述扩展区块,其中于写入所述扩展区块的期间,一无预警断电事件发生,且所述记忆装置被重新上电;
针对一目标区块,所述控制器设定预计以二分查找处理的一页面数以及一起始页面编号;
所述控制器至少依据所述页面数以及所述起始页面编号,对所述目标区块进行所述二分查找以寻找所述目标区块中的第一个空页面;
针对所述目标区块,所述控制器检查是否满足一放弃条件、或所述目标区块全满或全空;
因应所述放弃条件并未被满足、且所述目标区块并不是全满且不是全空,所述控制器于所述目标区块中从所述第一个空页面起往回进行逐页面查找,以寻找所述目标区块中的最后一个有效页面,其中所述目标区块代表所述扩展区块,所述目标区块中的第一个空页面代表所述扩展区块中的第一个空页面,且所述最后一个有效页面代表所述扩展区块中的最后一个有效页面;
所述控制器依据所述最后一个有效页面以及所述第一个空页面决定于所述扩展区块中的一放弃范围,其中:
所述控制器检查于所述扩展区块中的所述最后一个有效页面是否对齐一超级页面;
依据所述扩展区块中的所述最后一个有效页面是否对齐所述超级页面,所述控制器选择性地将于所述扩展区块中的所述最后一个有效页面的下一个扩展页面决定为所述放弃范围中的一起始扩展页面,其中若所述扩展区块中的所述最后一个有效页面对齐所述超级页面,所述控制器将于所述扩展区块中的所述最后一个有效页面的所述下一个扩展页面决定为所述放弃范围中的所述起始扩展页面,否则,所述控制器将于所述扩展区块中的所述最后一个有效页面所在的所述超级页面中的一扩展页面决定为所述放弃范围中的所述起始扩展页面;以及
所述控制器将于所述扩展区块中的所述第一个空页面决定为所述放弃范围中的一结束扩展页面;以及
所述控制器对所述放弃范围中的全部的扩展页面进行虚拟编程。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108117590 | 2019-05-22 | ||
TW108117590A TWI745695B (zh) | 2019-05-22 | 2019-05-22 | 用來進行無預警斷電復原管理之方法、記憶裝置及其控制器以及電子裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984462A CN111984462A (zh) | 2020-11-24 |
CN111984462B true CN111984462B (zh) | 2024-06-11 |
Family
ID=73442198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010287661.2A Active CN111984462B (zh) | 2019-05-22 | 2020-04-13 | 无预警断电复原管理方法、记忆装置、控制器及电子装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11347433B2 (zh) |
CN (1) | CN111984462B (zh) |
TW (1) | TWI745695B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210154401A (ko) * | 2020-06-12 | 2021-12-21 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
CN113220502B (zh) * | 2021-05-07 | 2023-10-31 | 深圳宏芯宇电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007119267A1 (ja) * | 2006-03-13 | 2007-10-25 | Matsushita Electric Industrial Co., Ltd. | フラッシュメモリ用のメモリコントローラ |
TW201303584A (zh) * | 2011-07-08 | 2013-01-16 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 |
TW201321978A (zh) * | 2011-11-21 | 2013-06-01 | Mstar Semiconductor Inc | 電子系統及其記憶體管理方法 |
CN104298610A (zh) * | 2009-09-03 | 2015-01-21 | 晶先锋科技有限公司 | 资料储存***及其管理方法 |
CN107025185A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101346703B (zh) * | 2005-12-21 | 2012-11-21 | Nxp股份有限公司 | 具有可块擦除单元的非易失性存储器 |
US9612954B2 (en) * | 2008-12-31 | 2017-04-04 | Micron Technology, Inc. | Recovery for non-volatile memory after power loss |
KR102127284B1 (ko) * | 2013-07-01 | 2020-06-26 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 관리 방법 |
KR20150015621A (ko) * | 2013-07-31 | 2015-02-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US9632880B2 (en) * | 2013-12-26 | 2017-04-25 | Silicon Motion, Inc. | Data storage device and flash memory control method |
JP6402647B2 (ja) * | 2015-02-20 | 2018-10-10 | 富士通株式会社 | データ配置プログラム、データ配置装置およびデータ配置方法 |
KR20180126921A (ko) * | 2017-05-19 | 2018-11-28 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI628542B (zh) * | 2017-04-21 | 2018-07-01 | 慧榮科技股份有限公司 | 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置 |
KR102259256B1 (ko) * | 2017-05-16 | 2021-06-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20190019675A (ko) * | 2017-08-18 | 2019-02-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
TWI653538B (zh) * | 2017-11-13 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
US10854299B2 (en) * | 2018-05-31 | 2020-12-01 | Micron Technology, Inc. | Data erase operations for a memory system |
KR20200120159A (ko) * | 2019-04-11 | 2020-10-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 이의 동작 방법 |
-
2019
- 2019-05-22 TW TW108117590A patent/TWI745695B/zh active
-
2020
- 2020-04-12 US US16/846,384 patent/US11347433B2/en active Active
- 2020-04-13 CN CN202010287661.2A patent/CN111984462B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007119267A1 (ja) * | 2006-03-13 | 2007-10-25 | Matsushita Electric Industrial Co., Ltd. | フラッシュメモリ用のメモリコントローラ |
CN104298610A (zh) * | 2009-09-03 | 2015-01-21 | 晶先锋科技有限公司 | 资料储存***及其管理方法 |
TW201303584A (zh) * | 2011-07-08 | 2013-01-16 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 |
TW201321978A (zh) * | 2011-11-21 | 2013-06-01 | Mstar Semiconductor Inc | 電子系統及其記憶體管理方法 |
CN107025185A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Non-Patent Citations (1)
Title |
---|
一种具有掉电数据保持功能的触发器设计;张怡云 等;一种具有掉电数据保持功能的触发器设计;第29卷(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US11347433B2 (en) | 2022-05-31 |
CN111984462A (zh) | 2020-11-24 |
TWI745695B (zh) | 2021-11-11 |
TW202044257A (zh) | 2020-12-01 |
US20200371716A1 (en) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI643066B (zh) | 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置 | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US20150268879A1 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN114528226A (zh) | 高效能垃圾收集方法以及数据存储装置及其控制器 | |
WO2015021022A1 (en) | Data storage system with stale data mechanism and method of operation thereof | |
US20130346674A1 (en) | Data writing method, memory controller and memory storage device | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
TWI693520B (zh) | 用來於一記憶裝置中進行系統備份的方法、相關記憶裝置及其控制器、以及相關電子裝置 | |
US9037781B2 (en) | Method for managing buffer memory, memory controllor, and memory storage device | |
CN109783005B (zh) | 控制记忆装置的方法、记忆装置、及其控制器和电子装置 | |
CN111984462B (zh) | 无预警断电复原管理方法、记忆装置、控制器及电子装置 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
CN112988069B (zh) | 存储器管理方法、存储器存储装置及存储器控制器 | |
US9830077B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
TWI670598B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 | |
TWI664527B (zh) | 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 | |
TWI811130B (zh) | 用以存取一快閃記憶體模組的方法、快閃記憶體控制器以及電子裝置 | |
US11809748B2 (en) | Control method of flash memory controller and associated flash memory controller and electronic device | |
US12050530B1 (en) | Method and apparatus for performing table management of memory device in predetermined communications architecture with aid of system-region garbage collection | |
US12050783B1 (en) | Method and apparatus for performing table management of memory device in predetermined communications architecture with aid of table error correction | |
CN116150042A (zh) | 藉助于多阶段垃圾收集管理以进行存取控制的方法以及相关设备 | |
CN116126210A (zh) | 数据存取方法、存储器存储装置及存储器控制器 | |
US20150205715A1 (en) | Data protecting method, memory storage apparatus and memory control circuit unit |
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 |