CN104809082B - 数据保护方法、存储器存储装置及存储器控制电路单元 - Google Patents
数据保护方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN104809082B CN104809082B CN201410043793.5A CN201410043793A CN104809082B CN 104809082 B CN104809082 B CN 104809082B CN 201410043793 A CN201410043793 A CN 201410043793A CN 104809082 B CN104809082 B CN 104809082B
- Authority
- CN
- China
- Prior art keywords
- program
- data
- programming
- control circuit
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明提供一种数据保护方法、存储器存储装置及存储器控制电路单元。此方法包括:判断即将或者正在被执行的一第一程序是否是第一类程序;以及若即将或者正在被执行的第一程序是第一类程序,在第一程序被执行完毕之前,暂停接收对应于一第一写入指令的一第一数据。
Description
技术领域
本发明是有关于一种数据保护方法,且特别是有关于一种数据保护方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种便携式多媒体装置中。当可复写式非易失性存储器模块在进行执行时间较长的程序时,若存储器控制器同时接收到来自主机系统的数据,此数据会被暂存在存储器控制器的缓冲区中。当此程序被执行完毕时,暂存在缓冲区的数据才会被处理(例如,将此数据写入至可复写式非易失性存储器模块中)。
然而,在执行此程序的过程中若发生突然的断电,则可能会因为此程序的执行时间过长,而导致在备用电源的供电时间内暂存在缓冲区的数据无法被及时地处理备用而造成暂存在缓冲区的数据遗失。
发明内容
本发明提供一种数据保护方法、存储器存储装置及存储器控制电路单元,可有效避免已接收的数据在等待处理的过程中遗失。
本发明提供一种数据保护方法,用于一存储器存储装置,此数据保护方法包括:判断即将或者正在被存储器存储装置执行的一第一程序是否是第一类程序;以及若即将或者正在被存储器存储装置执行的第一程序是第一类程序,在第一程序被执行完毕之前,暂停接收对应于一第一写入指令的一第一数据。
在本发明的一范例实施例中,所述的数据保护方法还包括:若即将或者正在被存储器存储装置执行的第一程序不是第一类程序,在第一程序被执行完毕之前,允许接收对应于第一写入指令的第一数据,并且将第一数据暂存在存储器存储装置的一缓冲区。
在本发明的一范例实施例中,所述的若即将或者正在被存储器存储装置执行的第一程序是第一类程序,在第一程序被执行完毕之前,暂停接收对应于第一写入指令的第一数据的步骤包括:暂停接收第一写入指令与对应于第一写入指令的第一数据。
在本发明的一范例实施例中,所述的若即将或者正在被存储器存储装置执行的第一程序是第一类程序,在第一程序被执行完毕之前,暂停接收对应于第一写入指令的第一数据的步骤包括:暂停送出一装置对主机(Device to Host,简称D2H)指令。
在本发明的一范例实施例中,所述的判断即将或者正在被存储器存储装置执行的第一程序是否是第一类程序的步骤包括:接收第一写入指令;判断是否有正在或者即将被存储器存储装置执行的第一程序;若没有正在或者即将被存储器存储装置执行的第一程序,根据第一写入指令接收第一数据;以及若有正在或者即将被存储器存储装置执行的第一程序,在接收第一数据之前,判断正在或者即将被存储器存储装置执行的第一程序是否是第一类程序。
在本发明的一范例实施例中,所述存储器存储装置具有一缓冲区,并且缓冲区具有用以暂存完整的第一数据的一空间。
在本发明的一范例实施例中,在判断即将或者正在被执行的第一程序是否是第一类程序的步骤之前,所述的数据保护方法还包括:接收一第二写入指令与对应于第二写入指令的一第二数据,并且将第二数据暂存在缓冲区,其中在第二数据被暂存在缓冲区之后,缓冲区仍具有用以暂存完整的第一数据的空间。若即将或者正在被存储器存储装置执行的第一程序是第一类程序,所述的数据保护方法还包括:判断对应于暂存在缓冲区的第二数据的一第二程序是否已被执行完毕;若第二程序已被执行完毕,允许存储器存储装置开始执行第一程序;以及若第二程序尚未被执行完毕,不允许存储器存储装置开始执行第一程序。
在本发明的一范例实施例中,所述的判断即将或者正在被存储器存储装置执行的第一程序是否是第一类程序的步骤包括:获得即将或者正在被存储器存储装置执行的第一程序的一执行所需时间;判断执行所需时间是否大于或等于一门槛值;以及若执行所需时间大于或等于门槛值,判定即将或者正在被存储器存储装置执行的第一程序是第一类程序。
在本发明的一范例实施例中,所述的数据保护方法还包括:根据存储器存储装置的一备用电源的一供应时间来决定门槛值。
在本发明的一范例实施例中,所述的第一类程序包括一映射表格更新程序、一损耗平均程序或一失败处理程序。
从另一角度来看,本发明提供一种存储器存储装置,此存储器存储装置包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元用以电连接至一主机系统。存储器控制电路单元电连接至连接接口单元与可复写式非易失性存储器模块,并且存储器控制电路单元用以执行下列操作:判断即将或者正在被存储器控制电路单元执行的一第一程序是否是第一类程序;以及若即将或者正在被控制电路执行的第一程序是第一类程序,在第一程序被执行完毕之前,暂停从主机系统接收对应于一第一写入指令的一第一数据。
在本发明的一范例实施例中,所述的存储器控制电路单元还用以执行下列操作:若即将或者正在被存储器控制电路单元执行的第一程序不是第一类程序,在第一程序被执行完毕之前,允许从主机系统接收对应于第一写入指令的第一数据,并且将第一数据暂存在存储器存储装置的一缓冲区。
在本发明的一范例实施例中,若即将或者正在被存储器控制电路单元执行的第一程序是第一类程序,在第一程序被执行完毕之前,所述的暂停从主机系统接收对应于第一写入指令的第一数据的操作包括:暂停从主机系统接收第一写入指令与对应于第一写入指令的第一数据。
在本发明的一范例实施例中,若即将或者正在被存储器控制电路单元执行的第一程序是第一类程序,在第一程序被执行完毕之前,所述的暂停从主机系统接收对应于第一写入指令的第一数据的操作包括:暂停送出一装置对主机指令至主机系统。
在本发明的一范例实施例中,所述的判断即将或者正在被控制电路执行的第一程序是否是第一类程序的操作包括:接收第一写入指令;判断是否有正在或者即将被存储器控制电路单元执行的第一程序;若没有正在或者即将被存储器控制电路单元执行的第一程序,根据第一写入指令接收第一数据;以及若有正在或者即将被存储器控制电路单元执行的第一程序,在接收第一数据之前,判断正在或者即将被控制电路执行的第一程序是否是第一类程序。
在本发明的一范例实施例中,在判断即将或者正在被存储器控制电路单元执行的第一程序是否是第一类程序的步骤之前,所述的存储器控制电路单元还用以接收一第二写入指令与对应于第二写入指令的一第二数据,并且将第二数据暂存在缓冲区,其中在第二数据被暂存在缓冲区之后,缓冲区仍具有用以暂存完整的第一数据的空间。若即将或者正在被存储器控制电路单元执行的第一程序是第一类程序,所述的存储器控制电路单元还用以执行下列操作:判断对应于暂存在缓冲区的第二数据的一第二程序是否已被执行完毕;若第二程序已被执行完毕,允许开始执行第一程序;以及若第二程序尚未被执行完毕,不允许开始执行第一程序。
在本发明的一范例实施例中,所述的判断即将或者正在被控制电路执行的第一程序是否是第一类程序的操作包括:获得即将或者正在被存储器控制电路单元执行的第一程序的一执行时间;判断执行时间是否大于或等于一门槛值;以及若执行时间大于或等于门槛值,判定即将或者正在被存储器控制电路单元执行的第一程序是第一类程序。
在本发明的一范例实施例中,所述的存储器控制电路单元还用以执行下列操作:根据存储器存储装置的一备用电源的一供应时间来决定门槛值。
此外,本发明也提供一种存储器控制电路单元,此存储器控制电路单元用于控制一可复写式非易失性存储器模块,此存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。主机接口用以电连接至一主机系统。存储器接口用以电连接至可复写式非易失性存储器模块。存储器管理电路电连接至主机接口与存储器接口,并且存储器管理电路用以执行下列操作:判断即将或者正在被存储器管理电路执行的一第一程序是否是第一类程序;以及若即将或者正在被存储器管理电路执行的第一程序是第一类程序,在第一程序被执行完毕之前,暂停从主机系统接收对应于一第一写入指令的一第一数据。
在本发明的一范例实施例中,所述的存储器管理电路还用以执行下列操作:若即将或者正在被存储器管理电路执行的第一程序不是第一类程序,在第一程序被执行完毕之前,允许从主机系统接收对应于第一写入指令的第一数据,并且将第一数据暂存在存储器控制电路单元的一缓冲区。
在本发明的一范例实施例中,若即将或者正在被存储器管理电路执行的第一程序是第一类程序,在第一程序被执行完毕之前,所述的暂停从主机系统接收对应于第一写入指令的第一数据的操作包括:暂停从主机系统接收第一写入指令与对应于第一写入指令的第一数据。
在本发明的一范例实施例中,若即将或者正在被存储器管理电路执行的第一程序是第一类程序,在第一程序被执行完毕之前,所述的暂停从主机系统接收对应于第一写入指令的第一数据的操作包括:暂停送出一装置对主机指令至主机系统。
在本发明的一范例实施例中,所述的存储器管理电路判断即将或者正在被存储器管理电路执行的第一程序是否是第一类程序的操作包括:接收第一写入指令;判断是否有正在或者即将被存储器管理电路执行的第一程序;若没有正在或者即将被存储器管理电路执行的第一程序,根据第一写入指令接收第一数据;以及若有正在或者即将被存储器管理电路执行的第一程序,在接收第一数据之前,判断正在或者即将被存储器管理电路执行的第一程序是否是第一类程序。
在本发明的一范例实施例中,所述的其中存储器控制电路单元具有一缓冲区,并且缓冲区具有用以暂存完整的第一数据的一空间。
在本发明的一范例实施例中,在判断即将或者正在被存储器管理电路执行的第一程序是否是第一类程序的步骤之前,所述的存储器管理电路还用以接收一第二写入指令与对应于第二写入指令的一第二数据,并且将第二数据暂存在缓冲区,其中在第二数据被暂存在缓冲区之后,缓冲区仍具有用以暂存完整的第一数据的空间。若即将或者正在被存储器管理电路执行的第一程序是第一类程序,所述的存储器管理电路还用以执行下列操作:判断对应于暂存在缓冲区的第二数据的一第二程序是否已被执行完毕;若第二程序已被执行完毕,允许开始执行第一程序;以及若第二程序尚未被执行完毕,不允许开始执行第一程序。
在本发明的一范例实施例中,所述的存储器管理电路判断即将或者正在被存储器管理电路执行的第一程序是否是第一类程序的操作包括:获得即将或者正在被存储器管理电路执行的第一程序的一执行时间;判断执行时间是否大于或等于一门槛值;以及若执行时间大于或等于门槛值,判定即将或者正在被存储器管理电路执行的第一程序是第一类程序。
在本发明的一范例实施例中,所述的存储器管理电路还用以执行下列操作:根据存储器控制电路单元的一备用电源的一供应时间来决定门槛值。
基于上述,本发明的数据保护方法、存储器存储装置及存储器控制电路单元会判断即将或者正在被存储器存储装置执行的第一程序是否是第一类程序。若是,则在第一程序被执行完毕之前,暂停接收对应于一第一写入指令的一第一数据,以避免已接收的数据在等待处理的过程中遗失。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置;
图2是根据本发明的一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图;
图3是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是示出图1所示的存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;
图6是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图7是根据本发明的一范例实施例所示出的存储器存储装置与主机系统之间的传输示意图;
图8是根据本发明的一范例实施例所示出的时序示意图;
图9是根据本发明的另一范例实施例所示出的时序示意图;
图10是根据本发明的一范例实施例所示出的数据保护方法的流程图。
附图标记说明:
1000:主机系统;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:系统总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1212:移动硬盘;
1214:记忆卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:记忆棒;
1318:CF卡;
1320:嵌入式存储装置;
100:存储器存储装置;
102:连接接口单元;
104:存储器控制电路单元;
106:可复写式非易失性存储器模块;
410(0)~410(N):实体抹除单元;
2202:存储单元阵列;
2204:字元线控制电路;
2206:位元线控制电路;
2208:行解码器;
2210:数据输入/输出缓冲器;
2212:控制电路;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
208:缓冲存储器;
210:电源管理电路;
211:备用供电电路;
212:错误检查与校正电路;
710、720、730、740、750:帧信息结构;
801、901、903:写入指令;
802、902、904:数据;
811、911、912:程序;
T81、T82、T83、T91、T92、T93、T94:时间点;
S1002、S1004、S1006:本发明的一范例实施例中数据保护方法各步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置。图2是根据本发明的一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图。图3是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的示意图。
请参照图1,主机系统1000一般包括电脑1100与输入/输出(input/output,简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(random access memory,简称RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的移动硬盘1212、记忆卡1214或固态硬盘(Solid StateDrive,简称SSD)1216等的可复写式非易失性存储器存储装置。
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄像机、通信装置、语音播放器或视频播放器等系统。例如,在主机系统为数码相机(摄像机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电连接在主机系统的基板上。
图4是示出图1所示的存储器存储装置的概要方块图。
请参照图4,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是相容于串行高级技术附件(SerialAdvanced Technology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并列先进附件(Parallel Advanced TechnologyAttachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,简称IEEE)1394标准、高速周边零件连接接口(PeripheralComponent Interconnect Express,简称PCI Express)标准、通用序列总线(UniversalSerial Bus,简称USB)标准、超高速一代(Ultra High Speed-I,简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称UHS-II)接口标准、安全数码(Secure Digital,简称SD)接口标准、记忆棒(Memory Stick,简称MS)接口标准、多媒体存储卡(Multi MediaCard,简称MMC)接口标准、小型快闪(Compact Flash,简称CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,简称IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元可与存储器控制电路单元封装在一个芯片中,或布设在一包含存储器控制电路单元的芯片外。
存储器控制电路单元104用以执行以硬件型式或固件型式实作的多个逻辑闸或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。
图5是根据本发明的一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。
请参照图5,可复写式非易失性存储器模块106包括存储单元阵列2202、字元线控制电路2204、位元线控制电路2206、行解码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。
存储单元阵列2202包括用以存储数据的多个存储单元。这些存储单元是以阵列的方式配置在多条字元线与多条位元线的交叉点上。当从存储器控制电路单元104接收到写入指令或读取指令时,控制电路2212会控制字元线控制电路2204、位元线控制电路2206、行解码器2208、数据输入/输出缓冲器2210来写入数据至存储单元阵列2202或从存储单元阵列2202中读取数据。此外,字元线控制电路2204用以控制施予至字元线的电压,位元线控制电路2206用以控制施予至位元线的电压,行解码器2208依据指令中的解码列地址以选择对应的位元线,并且数据输入/输出缓冲器2210用以暂存数据。
存储单元阵列2202中的存储单元会被划分为实体抹除单元410(0)~410(N)。实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有复数个实体程式化单元,其中属于同一个实体抹除单元的实体程式化单元可被独立地写入且被同时地抹除。在本范例实施例中,每一实体抹除单元是由64个实体程式化单元组成。然而,在本发明的其他范例实施例中,每一实体抹除单元是由128、256个实体程式化单元或其他任意个实体程式化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体程式化单元为程式化的最小单元。即,实体程式化单元为写入数据的最小单元。每一实体程式化单元通常包括数据位元区与冗余位元区。数据位元区包含多个实体存取地址用以存储使用者的数据,而冗余位元区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程式化单元的数据位元区中会包含16个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据位元区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程式化单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(MultiLevel Cell,简称MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个位元数据的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶存储单元(Single Level Cell,简称SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个位元数据的快闪存储器模块)、复数阶存储单元(Trinary Level Cell,简称TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个位元数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图6是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图6,存储器控制电路单元104包括存储器管理电路202、主机接口204、存储器接口206、缓冲存储器208、电源管理电路210及备用供电电路211。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程式码型式存储在可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元104被致能时,微处理器单元会先执行此驱动码段来将存储在可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块106的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
存储器管理电路202会配置多个逻辑地址以利于以一轮替方式在存储数据的实体抹除单元中进行数据存取。例如,当存储器存储装置100被档案系统(例如,FAT 32)格式化时,这些逻辑地址会被分别地映射到至少部分的实体抹除单元410(0)~410(N)。例如,存储器管理电路202会建立逻辑地址-实体抹除单元映射表(logical address-physicalerasing unit mapping table),以记录逻辑地址与实体抹除单元之间的映射关系。在本范例实施例中,每一个逻辑地址的大小是相同于每一个实体抹除单元410(0)~410(N)的大小,并且逻辑地址也可被称为逻辑区块地址(logical block address,LBA)。此外,在另一范例实施例中,逻辑地址也可以是一个实体程式化单元的大小或是其他大小,本发明并不在此限。
主机接口204是电连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
缓冲存储器208是电连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。例如,缓冲存储器208可以包括动态随机存取存储器(Dynamic Random Access Memory,简称DRAM)与静态随机存取存储器(Static Random Access Memory,简称SRAM)等任何会因断电或电压供应不稳而遗失已存储的数据的存储器。此外,缓冲存储器208是以芯片组或系统单芯片(Systemon Chip,简称SoC)的方式集成在存储器控制电路单元104内,或者是被独立于存储器控制电路单元104之外,本发明不对其限制。
电源管理电路210是电连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
备用供电电路211是电连接至电源管理电路210。在本范例实施例中,备用供电电路211包括至少一个电容(electric capacity)。在正常供电的情况下,备用供电电路211会存储一定的电能。当发生突然的断电或电压供应不稳等供电问题时,备用供电电路211会提供备用电源至存储器存储装置100。若平时备用供电电路211所存储的电能越多(例如,备用供电电路211包括较多的电容及/或电容的体积较大),则断电时备用电源的供电时间就较长。反之,若平常备用供电电路211所存储的备用电源越少(例如,备用供电电路211包括较少的电容及/或电容的体积较小),则断电时备用电源的供电时间就较短。然而,在另一范例实施例中,备用供电电路211则是配置在存储器控制电路单元104之外,本发明不对其限制。
在一范例实施例中,存储器控制电路单元104还包括错误检查与校正电路212。
错误检查与校正电路212是电连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路212会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路212会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图7是根据本发明的一范例实施例所示出的存储器存储装置与主机系统之间的传输示意图。
请参照图7,在此以SATA标准为例,主机系统1000与存储器存储装置100之间会交换多个帧信息结构(frame information structure,FIS)以完成一个指令的执行。值得注意的是,在SATA标准中,帧信息结构是属于传输(transport)层,因此一个帧信息结构还会被包含在其他的数据结构中,本领域具有通常知识者应可理解如何传送帧信息结构,在此不再赘述。此外,主机系统1000与存储器存储装置100还可能交换其他的信号,本发明并不在此限。当主机系统1000要下达一指令给存储器存储装置100时,主机系统1000会先传送一个主机至装置(host to device,H2D)的帧信息结构710给存储器存储装置100。帧信息结构710是用以指示此指令的信号。接下来,存储器存储装置100会传送装置至主机(device tohost,简称D2H)的帧信息结构720给主机系统1000。在交换了帧信息结构710与720后,便表示此指令已经传送给存储器存储装置100,并且此指令会被存储在存储器存储装置100的一个指令阵列中。
当存储器存储装置100要执行指令阵列中的一个指令时,存储器存储装置100可能会传送一个直接存储器存取设置(direct memory access setup,简称DMA setup)的帧信息结构730给主机系统1000。所要执行的指令可以是写入指令、读取指令、可复写式非易失性存储器模块106的垃圾回收(garbage collection)程序的执行指令、可复写式非易失性存储器模块106的逻辑地址-实体抹除单元映射表更新程序的执行指令、损耗平均(WearLeveling)程序的执行指令或者对应于任意指令(例如,写入指令或读取指令)的失败处理(fail handling)程序的执行指令等等。此外,存储在指令阵列中的指令可以是由存储器管理电路202执行或者是由控制电路2212执行,本发明不加以限制。
然后,主机系统1000会传送数据(DATA)帧信息结构740给存储器存储装置100(例如,所执行的是写入指令)。或者,存储器存储装置100会传送数据帧信息结构740给主机系统1000(例如,所执行的是读取指令)。当此指令执行完毕以后,存储器存储装置100会传送设置装置位元(set device bits,简称SDB)的帧信息结构750给主机系统1000。在接收到帧信息结构750以后,主机系统1000便可以再下达另一个指令给存储器存储装置100。
在本范例实施例中,存储器管理电路202会根据此指令阵列判断即将或者正在被存储器存储装置100执行的一程序(以下统称为第一程序)是否是一第一类程序。
在本范例实施例中,第一类程序包括逻辑地址-实体抹除单元映射表更新程序、损耗平均程序及失败处理程序等任何执行时间很长且执行中无法中断或中断后会造成数据遗失的程序。此逻辑地址-实体抹除单元映射表更新程序是指存储器管理电路202更新存储在可复写式非易失性存储器模块106中的逻辑地址-实体抹除单元映射表中的逻辑地址与可复写式非易失性存储器模块106中的实体抹除单元之间的映射关系。此损耗平均程序是指存储器管理电路202执行可复写式非易失性存储器模块106中各个存储单元的损耗平均。此失败处理程序是指当发生严重的数据读取错误或数据写入错误(例如,错误位元过多而无法更正)时,存储器管理电路202所执行的回复程序。此外,在另一范例实施例中,第一类程序还可以包括对于可复写式非易失性存储器模块106的垃圾回收程序等执行时间较长但可以中断的程序,本发明不加以限制。
在另一范例实施例中,存储器管理电路202则是会获得此第一程序的执行所需时间。此第一程序的执行所需时间是指此第一程序从开始执行到执行完毕所需的时间。例如,存储器管理电路202可以预先记录存储器存储装置100可执行的每一种程序的执行所需时间在一表格,并且存储器管理电路202可以通过查询此表格来获得此第一程序的执行所需时间。此外,存储器管理电路202也可以通过即时模拟(simulation)或评估的方式来获得此第一程序的执行所需时间,本发明不加以限制。存储器管理电路202会判断此第一程序的执行所需时间是否大于或等于一门槛值。若此第一程序的执行所需时间大于或等于门槛值,存储器管理电路202会判定此第一程序是第一类程序。反之,若此第一程序的执行所需时间小于门槛值,则存储器管理电路202不会判定此第一程序是第一类程序。
值得一提的是,在一范例实施例中,此门槛值是存储器管理电路202根据存储器存储装置100的备用电源的供应时间来决定的,并且此备用电源是由备用供电电路211所供应的。例如,此门槛值可以是被设定为小于或等于备用供电电路211所供应的备用电源的最大可供应时间(即,备用供电电路211被充电充饱时的备用电源的供应时间)。或者,此门槛值也可以是被适应性地设定为小于或等于备用供电电路211当前存储的备用电源的供应时间。此外,此门槛值也可以是系统预设的或由使用者自行设定,本发明不加以限制。
若存储器管理电路202判定此第一程序是第一类程序,则在此第一程序被执行完毕之前,存储器管理电路202会暂停从主机系统1000接收对应于一写入指令(以下统称为第一写入指令)的数据(以下统称为第一数据)。反之,若存储器管理电路202判定此第一程序不是第一类程序,则在此第一程序被执行完毕之前,存储器管理电路202允许从主机系统1000接收对应于此第一写入指令的第一数据。
值得一提的是,在本范例实施例中,存储器管理电路202会持续地判断每一个正在或者即将被存储器存储装置100执行的程序是否是第一类程序。若存储器管理电路202判定正在或者即将被存储器存储装置100执行的第一程序是第一类程序,则在第一程序被执行完毕之前,不管存储器存储装置100有没有接收到来自主机系统1000的第一写入指令(或,帧信息结构710),存储器管理电路202都会先暂停送出帧信息结构720,以确保在第一程序被执行完毕之前,主机系统1000不会发送对应于此第一写入指令的第一数据(或,数据帧信息结构740)至存储器存储装置100。
此外,在另一范例实施例中,存储器管理电路202仅在特定的时间点执行此判断。例如,当存储器管理电路202接收到第一写入指令(或,帧信息结构710)时,存储器管理电路202会根据此第一写入指令来判断是否有正在或者即将被存储器存储装置100执行的第一程序。若有正在或者即将被存储器存储装置100执行的第一程序,则存储器管理电路202会接续判断此第一程序是否是第一类程序。若此第一程序是第一类程序,则在此第一程序被执行完毕之前,存储器管理电路202会暂停从主机系统1000接收此第一数据。例如,暂停送出帧信息结构720。此外,若存储器管理电路202判定没有正在或者即将被存储器存储装置100执行的第一程序,例如,存储器存储装置100被闲置,或者此第一程序不是第一类程序,例如,此第一程序是一般的读取或写入程序,则存储器管理电路202会根据此第一写入指令来接收第一数据。例如,先发送帧信息结构720与730至主机系统1000,再从主机系统1000接收帧信息结构740。
图8是根据本发明的一范例实施例所示出的时序示意图。
请参照图8,假设在时间点T81,存储器存储装置100接收到写入指令801。存储器管理电路202会根据写入指令801的接收时间(即,时间点T81)来判断指令阵列中是否有即将被存储器存储装置100执行的程序。假设即将被存储器管理电路202执行的程序是程序811,则存储器管理电路202会判断程序811是否是第一类程序。若存储器管理电路202判定程序811是第一类程序,在时间点T82至T83之间,存储器管理电路202会暂停接收来自主机系统1000且对应于写入指令801的数据802,其中时间点T82是程序811被开始执行的时间点,并且时间点T83是程序811被执行完毕的时间点。接着,在时间点T83之后,存储器管理电路202允许开始接收数据802。
然而,在另一范例实施例中,在送出帧信息结构750至主机系统1000之前,若存储器管理电路202判定正在或者即将被存储器存储装置100执行的第一程序是第一类程序,则存储器管理电路202会暂停送出帧信息结构750,以阻止主机系统1000起始下一个指令的传输。然后,当第一程序被执行完毕时,存储器管理电路202才会恢复传送帧信息结构750。
在另一范例实施例中,若存储器管理电路202判定正在或者即将被存储器存储装置100执行的第一程序是第一类程序,则在第一程序被执行完毕之前,存储器管理电路202会阻挡或过滤所有来自主机系统1000的写入指令。例如,存储器管理电路202可以阻挡或过滤所有来自主机系统1000的帧信息结构710。借此,来自主机系统1000的帧信息结构710没有被存储器管理电路202接收或者帧信息结构710中的指令没有被存储到指令阵列中,因此存储器管理电路202也不会接收到后续的数据帧信息结构740。
在一范例实施例中,当存储器管理电路202接收到来自主机系统1000的写入指令(以下统称为第二写入指令)与对应于此第二写入指令的数据(以下统称为第二数据)时,存储器管理电路202会将此第二数据暂存在存储器存储装置1000的一缓冲区。此缓冲区例如是部份或全部的缓冲存储器208。当此第二数据被写入至此缓冲区且此缓冲区仍具有可用以暂存来自主机系统的数据(例如,完整的上述第一数据)的空间时,存储器管理电路202会判断即将或者正在被存储器存储装置100执行的第一程序是否是第一类程序。然后,若存储器管理电路202判定此第一程序是第一类程序,存储器管理电路202还会判断对应于暂存在此缓冲区的第二数据的一程序(以下统称为第二程序)是否已被执行完毕。若此第二程序已被执行完毕,存储器管理电路202会允许存储器存储装置100开始执行第一程序。反之,若此第二程序尚未被执行完毕,则存储器管理电路202不允许存储器存储装置100开始执行第一程序。
图9是根据本发明的另一范例实施例所示出的时序示意图。
请参照图9,在时间点T91,存储器管理电路202接收到写入指令901,并且存储器管理电路202接续接收到对应于写入指令901的数据902。存储器管理电路202会将写入指令901与数据902暂存在缓冲存储器208。在时间点T92,存储器管理电路202开始执行对应于暂存在缓冲存储器208中的数据902的程序911。例如,将数据902写入至可复写式非易失性存储器模块106。在执行程序911之前或在执行程序911的过程中,若存储器管理电路202得知即将要执行程序912,则存储器管理电路202会判断程序912是否是第一类程序。若程序912不是第一类程序,存储器管理电路202会依照预设的执行顺序来执行程序911与程序912。例如,存储器管理电路202可以先执行程序912再执行程序911。或者,存储器管理电路202也可以先执行程序911的一部份,然后执行程序912,并且在执行完程序912时再接续执行程序911的另一部份。然而,若存储器管理电路202判定程序912是第一类程序,则存储器管理电路202会保证程序911会在开始执行程序912之前被执行完毕。然后,在时间点T93,程序911已被执行完毕,因此存储器管理电路202可以开始执行程序912。在时间点T94,程序912被执行完毕。
在时间点T93至T94之间,假设存储器管理电路202接收到来自主机系统1000的写入指令903。在接收到写入指令903时,即使缓冲存储器208有足够用以暂存对应于写入指令903的完整的数据904的空间,存储器管理电路202也是会将开始接收数据904的时间延后到时间点T94或时间点T94之后。例如,在时间点T94之前,存储器管理电路202可以暂停送出帧信息结构720至主机系统1000。然后,在时间点T94或时间点T94之后,存储器管理电路202才允许送出帧信息结构720至主机系统1000。
值得一提的是,虽然图8与图9的范例实施例都是以图7的SATA接口的数据传输作为范例进行说明,然而,对应于不同类型的存储器接口,帧信息结构710~750的传送顺序、数量与内容也可以适应性地调整,而不限于此。
图10是根据一范例实施例所示出的数据保护方法的流程图。
请参照图10,在步骤S1002中,由存储器管理电路202判断即将或者正在被执行的一第一程序是否是第一类程序。
若即将或者正在被执行的第一程序是第一类程序,在步骤S1004中,在第一程序被执行完毕之前,由存储器管理电路202暂停接收对应于一第一写入指令的一第一数据。
此外,若即将或者正在被执行的第一程序不是第一类程序,则在步骤S1006中,在第一程序被执行完毕之前,由存储器管理电路202允许接收对应于第一写入指令的第一数据。
然而,图10中各步骤已详细说明如上,在此便不在赘述。值得注意的是,图10中各步骤可以实作为多个程序代码或是电路,本发明并不在此限。此外,图10的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
值得一提的是,尽管在本范例实施例中存储器管理电路202是实作在存储器控制电路单元104中,但本发明不限于此。在另一范例实施例中,存储器管理电路202也可实作在可复写式非易失性存储器模块106的控制电路2212中,并通过一接口电性连接至可复写式非易失性存储器模块106的存储单元阵列2202。
综上所述,本发明的数据保护方法、存储器存储装置及存储器控制电路单元会持续地或在特定的时间点判断即将或者正在被执行的第一程序是否是第一类程序。若是,则在第一程序被执行完毕之前,暂停接收对应于一第一写入指令的一第一数据,以避免已接收的数据在等待处理的过程中因存储器存储装置发生突然的断电而遗失。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (25)
1.一种数据保护方法,其特征在于,用于一存储器存储装置,该数据保护方法包括:
判断即将或者正在被该存储器存储装置执行的一第一程序是否是一第一类程序;以及
若即将或者正在被该存储器存储装置执行的该第一程序是该第一类程序,在该第一程序被执行完毕之前,暂停接收对应于一第一写入指令的一第一数据。
2.根据权利要求1所述的数据保护方法,其特征在于,还包括:
若即将或者正在被该存储器存储装置执行的该第一程序不是该第一类程序,在该第一程序被执行完毕之前,允许接收对应于该第一写入指令的该第一数据,并且将该第一数据暂存在该存储器存储装置的一缓冲区。
3.根据权利要求1所述的数据保护方法,其特征在于,若即将或者正在被该存储器存储装置执行的该第一程序是该第一类程序,在该第一程序被执行完毕之前,暂停接收对应于该第一写入指令的该第一数据的步骤包括:
暂停接收该第一写入指令与对应于该第一写入指令的该第一数据。
4.根据权利要求1所述的数据保护方法,其特征在于,若即将或者正在被该存储器存储装置执行的该第一程序是该第一类程序,在该第一程序被执行完毕之前,暂停接收对应于该第一写入指令的该第一数据的步骤包括:
暂停送出帧信息结构。
5.根据权利要求1所述的数据保护方法,其特征在于,判断即将或者正在被该存储器存储装置执行的该第一程序是否是该第一类程序的步骤包括:
接收该第一写入指令;
判断是否有正在或者即将被该存储器存储装置执行的该第一程序;
若没有正在或者即将被该存储器存储装置执行的该第一程序,根据该第一写入指令接收该第一数据;以及
若有正在或者即将被该存储器存储装置执行的该第一程序,在接收该第一数据之前,判断正在或者即将被该存储器存储装置执行的该第一程序是否是该第一类程序。
6.根据权利要求1所述的数据保护方法,其特征在于,该存储器存储装置具有一缓冲区,并且该缓冲区具有用以暂存完整的该第一数据的一空间。
7.根据权利要求6所述的数据保护方法,其特征在于,在判断即将或者正在被执行的该第一程序是否是该第一类程序的步骤之前,该数据保护方法还包括:
接收一第二写入指令与对应于该第二写入指令的一第二数据,并且将该第二数据暂存在该缓冲区,其中在该第二数据被暂存在该缓冲区之后,该缓冲区仍具有用以暂存完整的该第一数据的该空间,
若即将或者正在被该存储器存储装置执行的该第一程序是该第一类程序,该数据保护方法还包括:
判断对应于暂存在该缓冲区的该第二数据的一第二程序是否已被执行完毕;
若该第二程序已被执行完毕,允许该存储器存储装置开始执行该第一程序;以及
若该第二程序尚未被执行完毕,不允许该存储器存储装置开始执行该第一程序。
8.根据权利要求1所述的数据保护方法,其特征在于,判断即将或者正在被该存储器存储装置执行的该第一程序是否是该第一类程序的步骤包括:
获得即将或者正在被该存储器存储装置执行的该第一程序的一执行所需时间;
判断该执行所需时间是否大于或等于一门槛值;以及
若该执行所需时间大于或等于该门槛值,判定即将或者正在被该存储器存储装置执行的该第一程序是该第一类程序。
9.根据权利要求8所述的数据保护方法,其特征在于,还包括:
根据该存储器存储装置的一备用电源的一供应时间来决定该门槛值。
10.根据权利要求1所述的数据保护方法,其特征在于,该第一类程序包括一映射表格更新程序、一损耗平均程序或一失败处理程序。
11.一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电连接至一主机系统;
一可复写式非易失性存储器模块;以及
一存储器控制电路单元,电连接至该连接接口单元与该可复写式非易失性存储器模块,并且该存储器控制电路单元用以执行下列操作:
判断即将或者正在被该存储器控制电路单元执行的一第一程序是否是一第一类程序;以及
若即将或者正在被该存储器控制电路单元执行的该第一程序是该第一类程序,在该第一程序被执行完毕之前,暂停从该主机系统接收对应于一第一写入指令的一第一数据。
12.根据权利要求11所述的存储器存储装置,其特征在于,若即将或者正在被该存储器控制电路单元执行的该第一程序是该第一类程序,在该第一程序被执行完毕之前,暂停从该主机系统接收对应于该第一写入指令的该第一数据的操作包括:
暂停送出帧信息结构。
13.根据权利要求11所述的存储器存储装置,其特征在于,判断即将或者正在被该存储器控制电路单元执行的该第一程序是否是该第一类程序的操作包括:
接收该第一写入指令;
判断是否有正在或者即将被该存储器控制电路单元执行的该第一程序;
若没有正在或者即将被该存储器控制电路单元执行的该第一程序,根据该第一写入指令接收该第一数据;以及
若有正在或者即将被该存储器控制电路单元执行的该第一程序,在接收该第一数据之前,判断正在或者即将被该存储器控制电路单元执行的该第一程序是否是该第一类程序。
14.根据权利要求11所述的存储器存储装置,其特征在于,该存储器存储装置具有一缓冲区,并且该缓冲区具有用以暂存完整的该第一数据的一空间。
15.根据权利要求14所述的存储器存储装置,其特征在于,在判断即将或者正在被该存储器控制电路单元执行的该第一程序是否是该第一类程序的步骤之前,该存储器控制电路单元还用以接收一第二写入指令与对应于该第二写入指令的一第二数据,并且将该第二数据暂存于该缓冲区,其中在该第二数据被暂存在该缓冲区之后,该缓冲区仍具有用以暂存完整的该第一数据的该空间,
若即将或者正在被该存储器控制电路单元执行的该第一程序是该第一类程序,该存储器控制电路单元还用以执行下列操作:
判断对应于暂存在该缓冲区的该第二数据的一第二程序是否已被执行完毕;
若该第二程序已被执行完毕,允许开始执行该第一程序;以及
若该第二程序尚未被执行完毕,不允许开始执行该第一程序。
16.根据权利要求11所述的存储器存储装置,其特征在于,判断即将或者正在被该存储器控制电路单元执行的该第一程序是否是该第一类程序的操作包括:
获得即将或者正在被该存储器控制电路单元执行的该第一程序的一执行时间;
判断该执行时间是否大于或等于一门槛值;以及
若该执行时间大于或等于该门槛值,判定即将或者正在被该存储器控制电路单元执行的该第一程序是该第一类程序。
17.根据权利要求16所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以执行下列操作:
根据该存储器存储装置的一备用电源的一供应时间来决定该门槛值。
18.根据权利要求11所述的存储器存储装置,其特征在于,该第一类程序包括一映射表格更新程序、一损耗平均程序或一失败处理程序。
19.一种存储器控制电路单元,其特征在于,用于控制一可复写式非易失性存储器模块,该存储器控制电路单元包括:
一主机接口,用以电连接至一主机系统;
一存储器接口,用以电连接至该可复写式非易失性存储器模块;以及
一存储器管理电路,电连接至该主机接口与该存储器接口,并且该存储器管理电路用以执行下列操作:
判断即将或者正在被该存储器管理电路执行的一第一程序是否是一第一类程序;以及
若即将或者正在被该存储器管理电路执行的该第一程序是该第一类程序,在该第一程序被执行完毕之前,暂停从该主机系统接收对应于一第一写入指令的一第一数据。
20.根据权利要求19所述的存储器控制电路单元,其特征在于,若即将或者正在被该存储器管理电路执行的该第一程序是该第一类程序,在该第一程序被执行完毕之前,暂停从该主机系统接收对应于该第一写入指令的该第一数据的操作包括:
暂停送出指令至该主机系统。
21.根据权利要求19所述的存储器控制电路单元,其特征在于,该存储器控制电路单元具有一缓冲区,并且该缓冲区具有用以暂存完整的该第一数据的一空间。
22.根据权利要求21所述的存储器控制电路单元,其特征在于,在判断即将或者正在被该存储器管理电路执行的该第一程序是否是该第一类程序的步骤之前,该存储器管理电路还用以接收一第二写入指令与对应于该第二写入指令的一第二数据,并且将该第二数据暂存在该缓冲区,其中在该第二数据被暂存在该缓冲区之后,该缓冲区仍具有用以暂存完整的该第一数据的该空间,
若即将或者正在被该存储器管理电路执行的该第一程序是该第一类程序,该存储器管理电路还用以执行下列操作:
判断对应于暂存在该缓冲区的该第二数据的一第二程序是否已被执行完毕;
若该第二程序已被执行完毕,允许该存储器管理电路开始执行该第一程序;以及
若该第二程序尚未被执行完毕,不允许该存储器管理电路开始执行该第一程序。
23.根据权利要求19所述的存储器控制电路单元,其特征在于,判断即将或者正在被该存储器管理电路执行的该第一程序是否是该第一类程序的操作包括:
获得即将或者正在被该存储器管理电路执行的该第一程序的一执行时间;
判断该执行时间是否大于或等于一门槛值;以及
若该执行时间大于或等于该门槛值,判定即将或者正在被该存储器管理电路执行的该第一程序是该第一类程序。
24.根据权利要求23所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以执行下列操作:
根据该存储器控制电路单元的一备用电源的一供应时间来决定该门槛值。
25.根据权利要求19所述的存储器控制电路单元,其特征在于,该第一类程序包括一映射表格更新程序、一损耗平均程序或一失败处理程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410043793.5A CN104809082B (zh) | 2014-01-29 | 2014-01-29 | 数据保护方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410043793.5A CN104809082B (zh) | 2014-01-29 | 2014-01-29 | 数据保护方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104809082A CN104809082A (zh) | 2015-07-29 |
CN104809082B true CN104809082B (zh) | 2018-02-02 |
Family
ID=53693919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410043793.5A Active CN104809082B (zh) | 2014-01-29 | 2014-01-29 | 数据保护方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104809082B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908790B (zh) * | 2018-09-14 | 2022-02-22 | 旺宏电子股份有限公司 | 存储器存储装置及其操作方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193747A (zh) * | 2010-03-03 | 2011-09-21 | 群联电子股份有限公司 | 数据写入方法、可复写式非易失性存储器控制器及系统 |
CN102193870A (zh) * | 2010-03-09 | 2011-09-21 | 群联电子股份有限公司 | 存储器管理与写入方法、存储器控制器与存储器存储系统 |
CN102193871A (zh) * | 2010-03-12 | 2011-09-21 | 群联电子股份有限公司 | 非挥发性存储器存取方法、系统及非挥发性存储器控制器 |
CN102456404A (zh) * | 2010-10-21 | 2012-05-16 | 群联电子股份有限公司 | 非易失性存储器存储装置、存储器控制器与数据存储方法 |
CN102543184A (zh) * | 2010-12-22 | 2012-07-04 | 群联电子股份有限公司 | 存储器储存装置、其存储器控制器与数据写入方法 |
CN102955751A (zh) * | 2011-08-17 | 2013-03-06 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与数据写入方法 |
CN103514103A (zh) * | 2012-06-21 | 2014-01-15 | 群联电子股份有限公司 | 数据保护方法、存储器控制器与存储器储存装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007299249A (ja) * | 2006-05-01 | 2007-11-15 | Hagiwara Sys-Com:Kk | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 |
KR101602939B1 (ko) * | 2009-10-16 | 2016-03-15 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
-
2014
- 2014-01-29 CN CN201410043793.5A patent/CN104809082B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193747A (zh) * | 2010-03-03 | 2011-09-21 | 群联电子股份有限公司 | 数据写入方法、可复写式非易失性存储器控制器及系统 |
CN102193870A (zh) * | 2010-03-09 | 2011-09-21 | 群联电子股份有限公司 | 存储器管理与写入方法、存储器控制器与存储器存储系统 |
CN102193871A (zh) * | 2010-03-12 | 2011-09-21 | 群联电子股份有限公司 | 非挥发性存储器存取方法、系统及非挥发性存储器控制器 |
CN102456404A (zh) * | 2010-10-21 | 2012-05-16 | 群联电子股份有限公司 | 非易失性存储器存储装置、存储器控制器与数据存储方法 |
CN102543184A (zh) * | 2010-12-22 | 2012-07-04 | 群联电子股份有限公司 | 存储器储存装置、其存储器控制器与数据写入方法 |
CN102955751A (zh) * | 2011-08-17 | 2013-03-06 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与数据写入方法 |
CN103514103A (zh) * | 2012-06-21 | 2014-01-15 | 群联电子股份有限公司 | 数据保护方法、存储器控制器与存储器储存装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104809082A (zh) | 2015-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8296507B2 (en) | Memory management and writing method and rewritable non-volatile memory controller and storage system using the same | |
US9983799B2 (en) | Trim command processing method, memory control circuit unit and memory storage apparatus | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN104423888B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
US8386905B2 (en) | Error correcting method, and memory controller and memory storage system using the same | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US8812776B2 (en) | Data writing method, and memory controller and memory storage device using the same | |
US20150134887A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN104765569B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN103377129B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN104765568A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
US10437484B2 (en) | Data protecting method, memory control circuit unit and memory storage device | |
TWI660271B (zh) | 整理指令記錄方法、記憶體控制電路單元與記憶體儲存裝置 | |
US11144210B2 (en) | Valid data merging method, memory control circuit unit and memory storage apparatus | |
US20170329539A1 (en) | Data writing method, memory control circuit unit and memory storage device | |
TW201945927A (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US11733914B2 (en) | Direct write operation for quad-level cell based data storage devices | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107045890A (zh) | 数据保护方法、存储器控制电路单元及存储器存储装置 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN107103930B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN104809082B (zh) | 数据保护方法、存储器存储装置及存储器控制电路单元 | |
CN110442299B (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
CN107204205A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |