CN114637630A - 异常断电恢复方法、存储器控制器及存储器存储装置 - Google Patents
异常断电恢复方法、存储器控制器及存储器存储装置 Download PDFInfo
- Publication number
- CN114637630A CN114637630A CN202210290792.5A CN202210290792A CN114637630A CN 114637630 A CN114637630 A CN 114637630A CN 202210290792 A CN202210290792 A CN 202210290792A CN 114637630 A CN114637630 A CN 114637630A
- Authority
- CN
- China
- Prior art keywords
- data
- super
- unit
- entity
- physical
- 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
- 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/1448—Management of the data involved in backup or backup restore
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
Abstract
本发明提供一种异常断电恢复方法、存储器控制电路单元以及存储器存储装置。所述方法用于包括具有多个超实体单元的可复写式非易失性存储器模块的存储器存储装置。超实体单元包括至少两个实体抹除单元,每一个实体抹除单元属于不同的操作单元且实体抹除单元包括多个实体程序化单元。所述方法包括:在存储器存储装置重新上电并检测为异常断电时,读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得第一数据,其中第一超实体单元为发生异常断电前最后一个被写入数据的超实体单元;以及将第一数据复制至第二超实体单元。
Description
技术领域
本发明涉及一种数据存储技术,尤其涉及一种异常断电恢复方法、存储器控制电路单元以及存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory module)(例如,闪存)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本电脑。固态硬盘就是一种以闪存作为存储媒体的存储器存储装置。因此,近年闪存产业成为电子产业中相当热门的一环。
随着技术进步,一个超实体抹除单元被配置包括的实体程序化单元的数量越来越多,单个超实体抹除单元包括的实体程序化单元甚至增加至超过3000个。因此在突然断电恢复(sudden power-off recovery,SPOR)时,需要花费很长的时间处理突然中断的操作和管理实体单元。此将造成断电恢复的时间增加而降低装置重启效率。
发明内容
本发明提供一种异常断电恢复方法、存储器控制电路单元以及存储器存储装置,可减少异常断电的恢复时间,并提升存储器存储装置运作效率。
本发明一范例实施例提出一种异常断电恢复方法,用于包括可复写式非易失性存储器模块的存储器存储装置。所述可复写式非易失性存储器模块包括多个超实体单元,其中所述超实体单元包括至少两个实体抹除单元,所述至少两个实体抹除单元属于不同的操作单元且每一个所述实体抹除单元包括多个实体程序化单元。所述异常断电恢复方法包括:在所述存储器存储装置重新上电并检测为异常断电时,读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得第一数据,其中所述第一超实体单元为发生异常断电前最后一个被写入数据的所述超实体单元;以及将所述第一数据复制至第二超实体单元。
在本发明的一范例实施例中,上述在读取所述第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得所述第一数据的步骤之前,所述方法还包括:在所述存储器存储装置重新上电并检测为异常断电时,扫描所述第一超实体单元以取得所述第一超实体单元的写入数据量;判断所述写入数据量是否大于第一门坎值;响应于所述写入数据量大于所述第一门坎值,取得所述第一数据,并将所述第一数据复制至所述第二超实体单元;以及响应于所述写入数据量不大于所述第一门坎值,读取所述第一超实体单元中存储的所有数据以取得第二数据,并将所述第二数据复制至所述第二超实体单元。
在本发明的一范例实施例中,上述第一门坎值根据所述第一超实体单元的容量决定。
在本发明的一范例实施例中,上述第一门坎值为所述第一超实体单元的容量的1/3。
在本发明的一范例实施例中,上述在将所述第一数据复制至所述第二超实体单元的步骤之后,所述方法还包括:接收来自主机系统的写入指令,并将所述写入指令指示写入的数据接续所述第一数据写入至所述第二超实体单元中。
在本发明的一范例实施例中,上述在将所述第一数据复制至所述第二超实体单元的步骤之后,所述方法还包括:判断所述多个超实体单元中最后一次写入至目前所经过的空闲时间是否大于预设时间;以及响应于所述空闲时间大于所述预设时间,读取所述第一超实体单元中所述第一数据以外的数据以取得第三数据,并将所述第三数据复制至第三超实体单元。
在本发明的一范例实施例中,上述方法还包括:判断所述第一超实体抹除单元为第一类实体单元或第二类实体单元;响应于所述第一超实体抹除单元为所述第一类实体单元,读取所述第一数据并将所述第一数据复制至所述第二超实体单元;以及响应于所述第二超实体抹除单元为所述第二类实体单元,不对所述第一超实体单元存储的数据进行复制。
在本发明的一范例实施例中,上述第一类实体单元中处于抹除状态的实体程序化单元的第一总数不同于所述第二类实体单元中处于所述抹除状态的实体程序化单元的第二总数。
在本发明的一范例实施例中,上述第一总数不为零,且所述第二总数为零。
本发明一范例实施例提出一种存储器控制电路单元,用于控制存储器存储装置。所述存储器存储装置包括可复写式非易失性存储器模块。所述存储器控制电路单元包括主机接口、存储器接口以及存储器管理电路。所述主机接口用以耦接至主机系统。所述存储器接口用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个超实体单元,其中所述超实体单元包括至少两个实体抹除单元,所述至少两个实体抹除单元属于不同的操作单元且每一个所述实体抹除单元包括多个实体程序化单元。所述存储器管理电路耦接至所述主机接口以及所述存储器接口。所述存储器管理电路用以在所述存储器存储装置重新上电并检测为异常断电时,读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得第一数据。所述第一超实体单元为发生异常断电前最后一个被写入数据的所述超实体单元。并且,所述存储器管理电路还用以将所述第一数据复制至第二超实体单元。
在本发明的一范例实施例中,上述在读取所述第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得所述第一数据的操作之前,所述存储器管理电路还用以:在所述存储器存储装置重新上电并检测为异常断电时,扫描所述第一超实体单元以取得所述第一超实体单元的写入数据量;判断所述写入数据量是否大于第一门坎值;响应于所述写入数据量大于所述第一门坎值,取得所述第一数据,并将所述第一数据复制至所述第二超实体单元;以及响应于所述写入数据量不大于所述第一门坎值,读取所述第一超实体单元中存储的所有数据以取得第二数据,并将所述第二数据复制至所述第二超实体单元。
在本发明的一范例实施例中,上述第一门坎值根据所述第一超实体单元的容量决定。
在本发明的一范例实施例中,上述第一门坎值为所述第一超实体单元的容量的1/3。
在本发明的一范例实施例中,上述在将所述第一数据复制至所述第二超实体单元的操作之后,所述存储器管理电路还用以接收来自所述主机系统的写入指令,并将所述写入指令指示写入的数据接续所述第一数据写入至所述第二超实体单元中。
在本发明的一范例实施例中,上述在将所述第一数据复制至所述第二超实体单元的操作之后,所述存储器管理电路还用以判断所述多个超实体单元中最后一次写入至目前所经过的空闲时间是否大于预设时间。并且,所述存储器管理电路还用以响应于所述空闲时间大于所述预设时间,读取所述第一超实体单元中所述第一数据以外的数据以取得第三数据,并将所述第三数据复制至第三超实体单元。
在本发明的一范例实施例中,上述存储器管理电路还用以判断所述第一超实体抹除单元为第一类实体单元或第二类实体单元。所述存储器管理电路还用以响应于所述第一超实体抹除单元为所述第一类实体单元,读取所述第一数据并将所述第一数据复制至所述第二超实体单元。并且,所述存储器管理电路还用以响应于所述第二超实体抹除单元为所述第二类实体单元,不对所述第一超实体单元存储的数据进行复制。
在本发明的一范例实施例中,上述第一类实体单元中处于抹除状态的实体程序化单元的第一总数不同于所述第二类实体单元中处于所述抹除状态的实体程序化单元的第二总数。
在本发明的一范例实施例中,上述第一总数不为零,且所述第二总数为零。
本发明一范例实施例提出一种存储器存储装置,包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。所述连接接口单元用以耦接至主机系统。所述可复写式非易失性存储器模块包括多个超实体单元,其中所述超实体单元包括至少两个实体抹除单元,所述至少两个实体抹除单元属于不同的操作单元且每一个所述实体抹除单元包括多个实体程序化单元。所述存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以在所述存储器存储装置重新上电并检测为异常断电时,读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得第一数据。所述第一超实体单元为发生异常断电前最后一个被写入数据的所述超实体单元。并且,所述存储器控制电路单元还用以将所述第一数据复制至第二超实体单元。
在本发明的一范例实施例中,上述在读取所述第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得所述第一数据的操作之前,所述存储器控制电路单元还用以:在所述存储器存储装置重新上电并检测为异常断电时,扫描所述第一超实体单元以取得所述第一超实体单元的写入数据量;判断所述写入数据量是否大于第一门坎值;响应于所述写入数据量大于所述第一门坎值,取得所述第一数据,并将所述第一数据复制至所述第二超实体单元;以及响应于所述写入数据量不大于所述第一门坎值,读取所述第一超实体单元中存储的所有数据以取得第二数据,并将所述第二数据复制至所述第二超实体单元。
在本发明的一范例实施例中,上述第一门坎值根据所述第一超实体单元的容量决定。
在本发明的一范例实施例中,上述第一门坎值为所述第一超实体单元的容量的1/3。
在本发明的一范例实施例中,上述在将所述第一数据复制至所述第二超实体单元的操作之后,所述存储器控制电路单元还用以接收来自所述主机系统的写入指令,并将所述写入指令指示写入的数据接续所述第一数据写入至所述第二超实体单元中。
在本发明的一范例实施例中,上述在将所述第一数据复制至所述第二超实体单元的操作之后,所述存储器控制电路单元还用以判断所述多个超实体单元中最后一次写入至目前所经过的空闲时间是否大于预设时间。并且,所述存储器控制电路单元还用以响应于所述空闲时间大于所述预设时间,读取所述第一超实体单元中所述第一数据以外的数据以取得第三数据,并将所述第三数据复制至第三超实体单元。
在本发明的一范例实施例中,上述存储器控制电路单元还用以判断所述第一超实体抹除单元为第一类实体单元或第二类实体单元。所述存储器控制电路单元还用以响应于所述第一超实体抹除单元为所述第一类实体单元,读取所述第一数据并将所述第一数据复制至所述第二超实体单元。并且,所述存储器控制电路单元还用以响应于所述第二超实体抹除单元为所述第二类实体单元,不对所述第一超实体单元存储的数据进行复制。
在本发明的一范例实施例中,上述第一类实体单元中处于抹除状态的实体程序化单元的第一总数不同于所述第二类实体单元中处于所述抹除状态的实体程序化单元的第二总数。
在本发明的一范例实施例中,上述第一总数不为零,且所述第二总数为零。
基于上述,本发明实施例提出的异常断电恢复方法、存储器控制电路单元以及存储器存储装置,能够在超实体单元包括的实体程序化单元越来越多的情况下,在发生异常断电并重新上电时根据超实体单元的特性复制该超实体单元的全部或部分数据至另一个超实体单元。藉此,可有效减少异常断电的恢复时间,并提升存储器存储装置运作效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。
附图说明
包含附图以便进一步理解本发明,且附图并入本说明书中并构成本说明书的一部分。附图说明本发明的实施例,并与描述一起用于解释本发明的原理。
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的一范例实施例所示出的管理单元的示意图;
图8是根据本发明的一范例实施例所示出的数据写入的示意图;
图9是根据本发明的一范例实施例所示出的数据写入的示意图;
图10至图12是根据一范例实施例所示出的异常断电恢复方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。且图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆耦接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10耦接。例如,主机系统11可经由数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12耦接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主板20可以经由有线或无线方式耦接至存储器存储装置10。存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(Near FieldCommunication Storage,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主板20也可以通过系统总线110耦接至全球定位系统(Global Positioning System,GPS)模块205、网络适配器206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以计算机系统来作说明,然而,图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板计算机等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi ChipPackage,eMCP)342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是兼容于高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并行高级技术附件(ParallelAdvanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute ofElectrical and Electronic Engineers,IEEE)1394标准、安全数字(Secure Digital,SD)接口标准、通用串行总线(Universal Serial Bus,USB)标准、超高速一代(Ultra HighSpeed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模块406是耦接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有复数个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据位区与冗余(redundancy)位区。数据位区包含多个实体存取地址用以存储用户的数据,而冗余位区用以存储系统的数据(例如,控制信息与错误更正码等管理数据)。在本范例实施例中,每一个实体程序化单元的数据位区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据位区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块(block),并且实体程序化单元为实体页面(page)或实体扇区(sector),但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块406为单阶存储单元(SingleLevel Cell,SLC)NAND型闪存模块(即,一个存储单元中可存储1个数据位的闪存模块)。然而,本发明不限于此,可复写式非易失性存储器模块406亦可是多阶存储单元(Multi LevelCell,MLC)NAND型闪存模块(即,一个存储单元中可存储2个数据位的闪存模块)、复数阶存储单元(Trinary Level Cell,TLC)NAND型闪存模块(即,一个存储单元中可存储3个数据位的闪存模块)或其他具有相同特性的存储器模块。具体来说,同一条字符在线的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的位,则同一条字符在线的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效位(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效位(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型闪存中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路502的控制指令是以韧体型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被刻录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路502的控制指令亦可以程序代码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令加载至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块406的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。
主机接口504是耦接至存储器管理电路502并且用以耦接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是兼容于PCI Express标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是兼容于PATA标准、IEEE 1394标准、SATA标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是耦接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。
缓冲存储器508是耦接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。
电源管理电路510是耦接至存储器管理电路502并且用以控制存储器存储装置10的电源。
错误检查与校正电路512是耦接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
以下描述存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512所执行的操作,亦可参考为由存储器控制电路单元404所执行。
在一范例实施例中,错误检查与校正电路512执行编码/译码程序的基本单位是一个讯框(frame)。一个讯框包括多个数据位,例如256个位。然而在不同范例实施例中,一个讯框也可以包括更多或更少的位。
在本范例实施例中,错误检查与校正电路512可针对存储于同一个实体程序化单元中的数据进行单讯框(single-frame)编码与译码,也可以针对存储于多个实体程序化单元中的数据进行多讯框(multi-frame)编码与译码。单讯框编码与多讯框编码可以分别采用低密度奇偶检查码(low density parity check code,LDPC code)、BCH码、回旋码(convolutional code)或涡旋码(turbo code)等编码算法的至少其中之一。或者,在一范例实施例中,多讯框编码还可以采用里德-所罗门码(Reed-solomon code,RS code)演算码。此外,除了上述编码算法,更多未列于上的编码算法也可以被采用,于此不再赘述。根据所采用的编码算法,错误检查与校正电路512可以编码欲保护的数据来产生相对应的错误检查与校正码。错误校正码的类型可以是奇偶校正码(parity checking code)、通道编码(channel coding)或是其他类型。为方便说明,以下将错误检查与校正码简称为错误校正码。
在一范例实施例中,错误校正码包括容错式磁盘阵列(Redundant ArrayofIndependent Disks,RAID)错误校正码,可简称为数组错误校正码(RAID ECC code)。例如,存储器管理电路502可将来自主机系统11的写入指令对应的数据暂存至缓冲存储器508,并根据该数据产生数组错误校正码。此数组错误校正码是用以校正存有数据的多个实体程序化单元。举例来说,存储器管理电路502将程序化至不同实体程序化单元中的数据进行逻辑运算来产生数组错误校正码,用来产生数组错误校正码的数据与数组错误校正码皆符合容错式磁盘阵列错误更正码的编码规则。因此,数组错误校正码可以校正两个实体程序化单元以上的数据。产生的数组错误校正码也会被程序化至一个实体程序化单元。在此范例实施例中,数组错误校正码是由存储器管理电路502所产生,然而,数组错误校正码也可以由错误检查与校正电路512所产生,本发明并不在此限制。
在一范例实施例中,存储器管理电路502可基于管理单元来管理与存取可复写式非易失性存储器模块406中的实体节点。一个管理单元亦称为一个虚拟区块(VB)。一个管理单元可包含多个实体节点。例如,一个管理单元可涵盖属于可复写式非易失性存储器模块406中的一或多个平面(亦称为存储器平面)和/或一或多个芯片致能(CE)中的多个实体节点。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。请参照图6,可复写式非易失性存储器模块406包括管理单元61(0)~61(n)。管理单元61(0)~61(n)中的每一者皆包含芯片致能(亦称为,芯片致能群组)CE(0)与CE(1)。芯片致能CE(0)与CE(1)分别包含多个实体节点。存储器管理电路502可分别地通过芯片致能(chip enable)脚位来致能芯片致能。存储器管理电路502可通过信道60(0)~60(m)来存取管理单元61(0)~61(n)。例如,存储器管理电路502可通过信道60(0)~60(m)中的至少两个信道来平行(或称为交错)存取管理单元61(0)与61(1)。此外,芯片致能CE(0)与CE(1)可分别包含多个平面(例如图7的第一平面PL(1)、PL(3)、PL(5)、PL(7)及第二平面PL(2)、PL(4)、PL(6)、PL(8))。
管理单元61(0)与61(1)中的平面可包括多个实体节点。这些实体节点可被平行(或交错)地存取,以提高存取效率。在一范例实施例中,一个平面中的多个连续的实体节点可称为一个实体程序化单元。或者,在一范例实施例中,一个芯片致能中的多个连续的实体节点可称为一个实体程序化单元。或者,在一范例实施例中,多个平面中的多个连续的实体节点可称为一个实体程序化单元。
存储器管理电路502还可将属于不同存储器平面的数个实体抹除单元组合为一个超实体单元(亦称为,超实体抹除单元)来进行操作(例如,数据写入操作、数据抹除操作)。一个超实体单元中会包括所有实体抹除单元中的至少两个可用的实体抹除单元。在本范例实施例中,一个超实体单元所包括的至少两个可用实体抹除单元是属于不同的操作单元(例如,平面(plane)、交错(interleave)或通道(channel))。因此,超实体单元包括的超实体程序化单元中不同的实体程序化单元可以根据同一个写入指令而同时被程序化。
图7是根据本发明的一范例实施例所示出的管理单元的示意图。请参照图7,以管理单元61(0)与61(1)为例,第一平面PL(1)、PL(3)、PL(5)、PL(7)及第二平面PL(2)、PL(4)、PL(6)、PL(8)可包括多个实体节点。管理单元61(0)包含芯片致能CE(0)与CE(1),芯片致能CE(0)与CE(1)中的第一平面PL(1)、PL(3)及第二平面PL(2)、PL(4)分别包含实体程序化单元701(0)~701(M)、702(0)~702(M)、703(0)~703(M)与704(0)~704(M)。管理单元61(1)包含芯片致能CE(0)与CE(1),芯片致能CE(0)与CE(1)中的第一平面PL(5)、PL(7)及第二平面PL(6)、PL(8)分别包含实体程序化单元705(0)~705(M)、706(0)~706(M)、707(0)~707(M)与708(0)~708(M)。在本范例实施例中,实体程序化单元701(0)~708(0)、701(1)~708(1)与701(M)~708(M)可分别被配置为超实体程序化单元。
在本范例实施例中,存储器管理电路502可依据平面PL(1)~PL(8)的程序化顺序写入数据至多个实体程序化单元中。假设所有实体程序化单元皆为空白,为了写入一笔可填满14个实体程序化单元的写入数据,存储器管理电路502会依据一程序化顺序从第一个空白的实体程序化单元(例如,实体程序化单元701(0)),来将写入数据程序化至实体程序化单元中(例如,依照程序化顺序实体程序化单元701(0)、702(0)、703(0)、704(0)、705(0)、706(0)、707(0)、708(0)、701(1)、702(1)、703(1)、704(1)、705(1)、706(1)将写入数据程序化至实体程序化单元中),以此类推。在另一实施例中,存储器管理电路502可将数据程序化至单个(或更多个)管理单元中,例如可依据平面PL(1)~PL(4)的程序化顺序程序化数据至多个实体程序化单元中,本发明并不在此限制。
图8是根据本发明的一范例实施例所示出的数据写入的示意图。为简化起见,在此并未直接绘出每一个实体程序化单元对应的标号,请同时对照图7中的实体程序化单元与图8中左方实体程序化单元的标号。在图8的范例实施例中,为方便说明,假设一个超实体单元包括48个实体程序化单元,则实体程序化单元701(0)~708(0)、701(1)~708(1)、701(2)~708(2)、701(3)~708(3)、701(4)~708(4)及701(5)~708(5)可被配置为超实体单元810。亦即,每个超实体单元包括多个属于不同的操作单元(例如,平面、交错或信道)的实体程序化单元。值得注意的是,在不同范例实施例中,一个超实体单元也可以包括更多或更少的实体程序化单元。
在本范例实施例中,当接收到来自主机系统11的写入指令,存储器管理电路502可存储写入指令对应的数据至多个实体程序化单元中。例如,数据D0~D13分别被存储在实体程序化单元701(0)、702(0)、703(0)、704(0)、705(0)、706(0)、707(0)、708(0)、701(1)、702(1)、703(1)、704(1)、705(1)及706(1)。在对数据D0~D13执行多讯框编码后,数组错误校正码P0与P1会被产生并且被存储至实体程序化单元707(1)与708(1)。换言之,数组错误校正码P0与P1可视为对应于数据D0~D13的容错式磁盘阵列错误校正码,且数组错误校正码P0与P1是基于容错式磁盘阵列错误校正码的编码规则对数据D0~D13进行编码产生。在本范例实施例中,可将数据D0~D13与数组错误校正码P0、P1合并视为是以数组错误校正码为保护单位一个区块码。
值得注意的是,主机系统11运作时可能会有异常断电(abnormal power loss)的情形发生,此造成存储器存储装置10在数据写到一半时突然断电。倘若异常断电发生,写入数据将无法完整存储至可复写式非易失性存储器模块406,写入的数据可能会断在任何一个实体程序化单元上。
图9是根据本发明的一范例实施例所示出的数据写入的示意图。接续图8,假设存储器管理电路502根据写入指令继续存储数据至超实体单元810包括实体程序化单元中。例如,数据D14~D17分别被存储在实体程序化单元701(2)、702(2)、703(2)及704(2)。倘若在写入数据D17至实体程序化单元704(2)时存储器存储装置10发生断电,数据写入操作会被中断。此时,尚未被数组错误校正码保护的数据D14~D17将无法在数据存在错误时进行校正。
在一范例实施例中,存储器管理电路502在存储器存储装置10重新上电时,可判断存储器存储装置10的断电状态是否为异常断电状态。例如,存储器管理电路502可根据断电指令判断存储器存储装置10在断电时是发生正常断电或异常断电。具体来说,系统正常断电时,存储器存储装置10会接收到来自主机系统11的断电指令。于此,若存储器存储装置10断电后重新上电时,存储器管理电路502未检测到断电指令,则可判定断电时存储器存储装置10发生异常断电而为异常断电状态。若存储器存储装置10断电后重新上电时,存储器管理电路502检测到断电指令,则可判定断电时存储器存储装置10发生正常断电而为正常断电状态。
在一范例实施例中,若存储器存储装置10发生异常断电,存储器管理电路502会执行断电恢复(sudden power-off recovery,SPOR)操作。在执行断电恢复操作时,存储器管理电路502可扫描特定超实体单元(亦称为第一超实体单元)以取得此超实体单元的数据写入量。特别是,作为第一超实体单元的超实体单元是发生异常断电前最后一个被写入数据的超实体单元。
在本范例实施例中,存储器管理电路502会判断取得的写入数据量是否大于门坎值(亦称为第一门坎值)。存储器管理电路502可根据超实体单元的容量决定第一门坎值。例如,超实体单元的容量可根据超实体单元中的每一个实体程序化单元的容量与实体程序化单元的数目来计算。其中第一门坎值可依据需求设定为超实体单元的容量的1/3,也可以设定为超实体单元的容量的1/2,本发明不在此限制。
随着技术进步,一个超实体单元被配置包括的实体程序化单元的数量越来越多,甚至从100多个实体程序化单元增加至超过3000个实体程序化单元。倘若异常断电时数据写入接近超实体单元中接近最后的一个实体程序化单元的位置,待复制的数据量会很大。此将使得复制时间非常久而影响主机系统11的开机时间。因此在一范例实施例中,响应于写入数据量大于第一门坎值,存储器管理电路502会读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得数据(亦称为第一数据),并将所读取的第一数据复制至另一个超实体单元(亦称为第二超实体单元)。其中数据不具有对应的数组错误校正码表示该数据未受数组错误校正码保护。
举例来说,请参照图9,假设第一门坎值为超实体单元的容量的1/3。存储器存储装置10发生异常断电并重新上电时,超实体单元810的写入数据量大于此第一门坎值。存储器管理电路502可将超实体单元810中不具有对应的数组错误校正码的数据D14~D17复制至另一个超实体单元。值得注意的是,在本范例实施例中,存储器管理电路502在执行断电恢复操作时,不会读取第一超实体单元存储的数据中具有对应的数组错误校正码的数据,而只会将第一超实体单元存储的数据中不具有对应的数组错误校正码的数据复制至另一个超实体单元。
在将第一数据复制至第二超实体单元后,存储器管理电路502可在逻辑至实体映射表中更新第一数据对应的逻辑地址与第二超实体单元包括的实体程序化单元之间的映射信息。此外,当存储器存储装置10接收到来自主机系统11的写入指令,存储器管理电路502可将写入指令指示写入的数据接续第一数据写入至第二超实体单元中。
举例来说,请参照图9,假设第一门坎值为超实体单元的容量的1/3。存储器存储装置10发生异常断电并重新上电时,超实体单元810的写入数据量大于此第一门坎值。存储器管理电路502可将超实体单元810中不具有对应的数组错误校正码的数据D14~D17以及超实体单元810中以数组错误校正码为保护单位且最后一组写入的区块码(包括数据D0~D13与数组错误校正码P0、P1)复制至另一个超实体单元。
在一范例实施例中,发生异常断电前最后一个被写入数据的超实体单元包括的实体程序化单元较不稳定,倘若写入数据量较小而不超过一特定数据量,可将超实体单元中存储的所有数据复制至另一个超实体单元来维持存储数据的稳定性。因此,响应于写入数据量不大于第一门坎值,存储器管理电路502可读取第一超实体单元中存储的所有数据以取得数据(亦称为第二数据),并将所读取的第二数据复制至另一个超实体单元(亦称为第二超实体单元)。在本范例实施例将第二数据复制至第二超实体单元后,存储器管理电路502可在逻辑至实体映射表中更新第二数据对应的逻辑地址与第二超实体单元包括的实体程序化单元之间的映射信息,并抹除第一超实体单元中的数据。
值得注意的是,存储器管理电路502也可在存储器存储装置10重新上电并检测为异常断电时,不经由扫描而直接读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得第一数据,并将第一数据复制至第二超实体单元。
在一范例实施例中,存储器管理电路502可进一步判断第一超实体单元的类型,以决定是否复制第一超实体单元存储的数据。具体来说,在执行断电恢复操作时,存储器管理电路502可获得第一超实体单元的类型。此类型包括第一类超实体单元与第二类超实体单元。第一类实体单元是指当前作为开启单元(亦称为开启区块)的超实体单元。一旦某一个作为开启单元的超实体单元被写满(例如此超实体单元中的所有实体程序化单元都已经被程序化且处于程序化状态),则此超实体单元可成为关闭单元(亦称为关闭区块)。在一范例实施例中,第二类实体单元是指当前作为关闭单元的超实体单元。
在本范例实施例中,存储器管理电路502可判断第一超实体抹除单元为第一类实体单元或第二类实体单元。响应于第一超实体抹除单元为第二类实体单元,存储器管理电路502不对第一超实体单元存储的数据进行复制。响应于第一超实体抹除单元为第一类实体单元,存储器管理电路502会复制第一超实体单元存储的数据至第二超实体单元。例如,存储器管理电路502可复制第一超实体单元中存储的所有数据或部分数据至第二超实体单元。而复制数据和如何决定复制所有数据或部分数据的具体内容可参照前述范例实施例中的描述,于此不再赘述。
在一范例实施例中,存储器管理电路502可根据第一超实体单元中处于抹除状态(或程序化状态)的实体程序化单元的总数,判断第一超实体单元的类型为第一类实体单元或第二类实体单元。例如,响应于第一超实体单元中处于抹除状态的实体程序化单元的总数不为零,存储器管理电路502可判定此第一超实体单元为第一类实体单元。另一方面,响应于第一超实体单元中处于抹除状态的实体程序化单元的总数为零,存储器管理电路502可判定此第一超实体单元为第二类实体单元。
此外,值得一提的是,本范例实施例在执行完断电恢复操作而开始正常运作存储器存储装置10后,为了增加管理效率可进一步处理第一类实体单元。在一范例实施例中,存储器管理电路502可判断可复写式非易失性存储器模块406包括多个超实体单元中最后一次写入至目前所经过的空闲时间是否大于预设时间。在此空闲时间未大于预设时间时,仍继续累计使用时间。而响应于空闲时间大于默认时间,存储器管理电路502会执行数据整理操作。在执行数据整理操作时,存储器管理电路502可读取第一超实体单元中第一数据以外的数据以取得第三数据,并将第三数据复制至另一个超实体单元(亦称为第三超实体单元)。在将第三数据复制至第三超实体单元后,存储器管理电路502可在逻辑至实体映射表中更新第三数据对应的逻辑地址与第三超实体单元包括的实体程序化单元之间的映射信息,并抹除第一超实体单元中的数据。
具体来说,存储器管理电路502在执行断电恢复操作时已将第一超实体单元存储的数据中不具有对应的数组错误校正码的第一数据复制至第二超实体单元,本范例实施例在闲置一段时间后,可将第一数据以外剩余的第三数据复制至第三超实体单元。此第三超实体单元根据运作可能相同于第二超实体单元,本发明不在此限制。如此一来,存储器存储装置10可在可复写式非易失性存储器模块406中维持第二类实体单元,相较于第一类实体单元更易于管理。
图10是根据一范例实施例所示出的异常断电恢复方法的流程图。在步骤S1002中,存储器存储装置重新上电并检测为异常断电。在步骤S1004中,读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得第一数据,并将第一数据复制至第二超实体单元。
图11是根据一范例实施例所示出的异常断电恢复方法的流程图。在步骤S1102中,存储器存储装置重新上电并检测为异常断电。在步骤S1104中,扫描第一超实体单元以取得第一超实体单元的写入数据量。在步骤S1106中,判断写入数据量是否大于第一门坎值。若判断写入数据量大于第一门坎值(即,步骤S1106判断为「是」),在步骤S1108中,读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得第一数据,并将第一数据复制至第二超实体单元。若判断写入数据量不大于第一门坎值(即,步骤S1106判断为「否」),在步骤S1110中,读取第一超实体单元中存储的所有数据以取得第二数据,并将第二数据复制至第二超实体单元。
图12是根据一范例实施例所示出的异常断电恢复方法的流程图。在步骤S1202中,存储器存储装置重新上电并检测为异常断电。在步骤S1204中,判断第一超实体抹除单元为第一类实体单元或第二类实体单元。在步骤S1206中,响应于第一超实体抹除单元为第一类实体单元,复制第一超实体单元存储的数据至第二超实体单元。在步骤S1208中,响应于第一超实体抹除单元为第二类实体单元,不对第一超实体单元存储的数据进行复制。
然而,图10~图12中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图10~图12中各步骤可以实作为多个程序代码或是电路,本发明不加以限制。此外,图10~图12的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明实施例提出的异常断电恢复方法、存储器控制电路单元以及存储器存储装置,可在发生异常断电并重新上电时根据超实体单元的特性复制该超实体单元的全部或部分数据至另一个超实体单元。例如将超实体单元存储的数据中没有对应的数组错误校正码的不稳定数据复制至另一个超实体单元进行存储。藉此,可有效减少异常断电的恢复时间,并提升存储器存储装置运作效率。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的权利要求所界定的为准。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (27)
1.一种异常断电恢复方法,其特征在于,用于包括可复写式非易失性存储器模块的存储器存储装置,所述可复写式非易失性存储器模块包括多个超实体单元,其中所述超实体单元包括至少两个实体抹除单元,所述至少两个实体抹除单元属于不同的操作单元且每一个所述实体抹除单元包括多个实体程序化单元,且所述异常断电恢复方法包括:
在所述存储器存储装置重新上电并检测为异常断电时,读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得第一数据,
其中所述第一超实体单元为发生异常断电前最后一个被写入数据的所述超实体单元;以及
将所述第一数据复制至第二超实体单元。
2.根据权利要求1所述的异常断电恢复方法,其特征在于,在读取所述第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得所述第一数据的步骤之前,所述方法还包括:
在所述存储器存储装置重新上电并检测为异常断电时,扫描所述第一超实体单元以取得所述第一超实体单元的写入数据量;
判断所述写入数据量是否大于第一门坎值;
响应于所述写入数据量大于所述第一门坎值,取得所述第一数据,并将所述第一数据复制至所述第二超实体单元;以及
响应于所述写入数据量不大于所述第一门坎值,读取所述第一超实体单元中存储的所有数据以取得第二数据,并将所述第二数据复制至所述第二超实体单元。
3.根据权利要求2所述的异常断电恢复方法,其特征在于,所述第一门坎值根据所述第一超实体单元的容量决定。
4.根据权利要求2所述的异常断电恢复方法,其特征在于,所述第一门坎值为所述第一超实体单元的容量的1/3。
5.根据权利要求1所述的异常断电恢复方法,其特征在于,在将所述第一数据复制至所述第二超实体单元的步骤之后,所述方法还包括:
接收来自主机系统的写入指令,并将所述写入指令指示写入的数据接续所述第一数据写入至所述第二超实体单元中。
6.根据权利要求1所述的异常断电恢复方法,其特征在于,在将所述第一数据复制至所述第二超实体单元的步骤之后,所述方法还包括:
判断所述多个超实体单元中最后一次写入至目前所经过的空闲时间是否大于预设时间;以及
响应于所述空闲时间大于所述预设时间,读取所述第一超实体单元中所述第一数据以外的数据以取得第三数据,并将所述第三数据复制至第三超实体单元。
7.根据权利要求1所述的异常断电恢复方法,其特征在于,所述方法还包括:
判断所述第一超实体抹除单元为第一类实体单元或第二类实体单元;
响应于所述第一超实体抹除单元为所述第一类实体单元,读取所述第一数据并将所述第一数据复制至所述第二超实体单元;以及
响应于所述第二超实体抹除单元为所述第二类实体单元,不对所述第一超实体单元存储的数据进行复制。
8.根据权利要求7所述的异常断电恢复方法,其特征在于,所述第一类实体单元中处于抹除状态的实体程序化单元的第一总数不同于所述第二类实体单元中处于所述抹除状态的实体程序化单元的第二总数。
9.根据权利要求8所述的异常断电恢复方法,其特征在于,所述第一总数不为零,且所述第二总数为零。
10.一种存储器控制电路单元,用于控制存储器存储装置,所述存储器存储装置包括可复写式非易失性存储器模块,其特征在于,所述存储器控制电路单元包括:
主机接口,用以耦接至主机系统;
存储器接口,用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个超实体单元,其中所述超实体单元包括至少两个实体抹除单元,所述至少两个实体抹除单元属于不同的操作单元且每一个所述实体抹除单元包括多个实体程序化单元;以及
存储器管理电路,耦接至所述主机接口以及所述存储器接口,
其中所述存储器管理电路用以在所述存储器存储装置重新上电并检测为异常断电时,读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得第一数据,
其中所述第一超实体单元为发生异常断电前最后一个被写入数据的所述超实体单元,并且
所述存储器管理电路还用以将所述第一数据复制至第二超实体单元。
11.根据权利要求10所述的存储器控制电路单元,其特征在于,在读取所述第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得所述第一数据的操作之前,所述存储器管理电路还用以:
在所述存储器存储装置重新上电并检测为异常断电时,扫描所述第一超实体单元以取得所述第一超实体单元的写入数据量;
判断所述写入数据量是否大于第一门坎值;
响应于所述写入数据量大于所述第一门坎值,取得所述第一数据,并将所述第一数据复制至所述第二超实体单元;以及
响应于所述写入数据量不大于所述第一门坎值,读取所述第一超实体单元中存储的所有数据以取得第二数据,并将所述第二数据复制至所述第二超实体单元。
12.根据权利要求11所述的存储器控制电路单元,其特征在于,所述第一门坎值根据所述第一超实体单元的容量决定。
13.根据权利要求11所述的存储器控制电路单元,其特征在于,所述第一门坎值为所述第一超实体单元的容量的1/3。
14.根据权利要求10所述的存储器控制电路单元,其特征在于,在将所述第一数据复制至所述第二超实体单元的操作之后,所述存储器管理电路还用以接收来自所述主机系统的写入指令,并将所述写入指令指示写入的数据接续所述第一数据写入至所述第二超实体单元中。
15.根据权利要求10所述的存储器控制电路单元,其特征在于,在将所述第一数据复制至所述第二超实体单元的操作之后,所述存储器管理电路还用以判断所述多个超实体单元中最后一次写入至目前所经过的空闲时间是否大于预设时间,并且
所述存储器管理电路还用以响应于所述空闲时间大于所述预设时间,读取所述第一超实体单元中所述第一数据以外的数据以取得第三数据,并将所述第三数据复制至第三超实体单元。
16.根据权利要求10所述的存储器控制电路单元,其特征在于,所述存储器管理电路还用以判断所述第一超实体抹除单元为第一类实体单元或第二类实体单元,
所述存储器管理电路还用以响应于所述第一超实体抹除单元为所述第一类实体单元,读取所述第一数据并将所述第一数据复制至所述第二超实体单元,并且
所述存储器管理电路还用以响应于所述第二超实体抹除单元为所述第二类实体单元,不对所述第一超实体单元存储的数据进行复制。
17.根据权利要求16所述的存储器控制电路单元,其特征在于,所述第一类实体单元中处于抹除状态的实体程序化单元的第一总数不同于所述第二类实体单元中处于所述抹除状态的实体程序化单元的第二总数。
18.根据权利要求17所述的存储器控制电路单元,其特征在于,所述第一总数不为零,且所述第二总数为零。
19.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以耦接至主机系统;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个超实体单元,其中所述超实体单元包括至少两个实体抹除单元,所述至少两个实体抹除单元属于不同的操作单元且每一个所述实体抹除单元包括多个实体程序化单元;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以在所述存储器存储装置重新上电并检测为异常断电时,读取第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得第一数据,
其中所述第一超实体单元为发生异常断电前最后一个被写入数据的所述超实体单元,并且
所述存储器控制电路单元还用以将所述第一数据复制至第二超实体单元。
20.根据权利要求19所述的存储器存储装置,其特征在于,在读取所述第一超实体单元存储的数据中不具有对应的数组错误校正码的数据以取得所述第一数据的操作之前,所述存储器控制电路单元还用以:
在所述存储器存储装置重新上电并检测为异常断电时,扫描所述第一超实体单元以取得所述第一超实体单元的写入数据量;
判断所述写入数据量是否大于第一门坎值;
响应于所述写入数据量大于所述第一门坎值,取得所述第一数据,并将所述第一数据复制至所述第二超实体单元;以及
响应于所述写入数据量不大于所述第一门坎值,读取所述第一超实体单元中存储的所有数据以取得第二数据,并将所述第二数据复制至所述第二超实体单元。
21.根据权利要求20所述的存储器存储装置,其特征在于,所述第一门坎值根据所述第一超实体单元的容量决定。
22.根据权利要求20所述的存储器存储装置,其特征在于,所述第一门坎值为所述第一超实体单元的容量的1/3。
23.根据权利要求19所述的存储器存储装置,其特征在于,在将所述第一数据复制至所述第二超实体单元的操作之后,所述存储器控制电路单元还用以接收来自所述主机系统的写入指令,并将所述写入指令指示写入的数据接续所述第一数据写入至所述第二超实体单元中。
24.根据权利要求19所述的存储器存储装置,其特征在于,在将所述第一数据复制至所述第二超实体单元的操作之后,所述存储器控制电路单元还用以判断所述多个超实体单元中最后一次写入至目前所经过的空闲时间是否大于预设时间,并且
所述存储器控制电路单元还用以响应于所述空闲时间大于所述预设时间,读取所述第一超实体单元中所述第一数据以外的数据以取得第三数据,并将所述第三数据复制至第三超实体单元。
25.根据权利要求19所述的存储器存储装置,其特征在于,所述存储器控制电路单元还用以判断所述第一超实体抹除单元为第一类实体单元或第二类实体单元,
所述存储器控制电路单元还用以响应于所述第一超实体抹除单元为所述第一类实体单元,读取所述第一数据并将所述第一数据复制至所述第二超实体单元,并且
所述存储器控制电路单元还用以响应于所述第二超实体抹除单元为所述第二类实体单元,不对所述第一超实体单元存储的数据进行复制。
26.根据权利要求25所述的存储器存储装置,其特征在于,所述第一类实体单元中处于抹除状态的实体程序化单元的第一总数不同于所述第二类实体单元中处于所述抹除状态的实体程序化单元的第二总数。
27.根据权利要求26所述的存储器存储装置,其特征在于,所述第一总数不为零,且所述第二总数为零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210290792.5A CN114637630A (zh) | 2022-03-23 | 2022-03-23 | 异常断电恢复方法、存储器控制器及存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210290792.5A CN114637630A (zh) | 2022-03-23 | 2022-03-23 | 异常断电恢复方法、存储器控制器及存储器存储装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114637630A true CN114637630A (zh) | 2022-06-17 |
Family
ID=81949389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210290792.5A Pending CN114637630A (zh) | 2022-03-23 | 2022-03-23 | 异常断电恢复方法、存储器控制器及存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114637630A (zh) |
-
2022
- 2022-03-23 CN CN202210290792.5A patent/CN114637630A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111880749B (zh) | 数据读取方法、存储器存储装置及存储器控制电路单元 | |
US11907059B2 (en) | Abnormal power loss recovery method, memory control circuit unit, and memory storage device | |
TWI725416B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN111580741B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
TWI798680B (zh) | 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元 | |
TWI797464B (zh) | 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112051963A (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN113724774B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN113138720B (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 | |
CN114637630A (zh) | 异常断电恢复方法、存储器控制器及存储器存储装置 | |
CN111724851B (zh) | 数据保护方法、存储器存储装置及存储器控制电路单元 | |
CN110874282A (zh) | 数据存取方法、存储器控制电路单元与存储器存储装置 | |
CN112965670B (zh) | 主机存储器缓冲区管理方法、存储装置与控制电路单元 | |
CN112347010B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US11669394B2 (en) | Crossing frames encoding management method, memory storage apparatus and memory control circuit unit | |
US11817172B2 (en) | Table management method, memory storage device and memory control circuit unit | |
US11604586B2 (en) | Data protection method, with disk array tags, memory storage device and memory control circuit unit | |
CN111858389B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
TWI777087B (zh) | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US20240028506A1 (en) | Mapping table re-building method, memory storage device and memory control circuit unit | |
US20240143190A1 (en) | Memory management method, memory storage device and memory control circuit unit | |
TW202217556A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN115857808A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN114077515A (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN117992282A (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 |