CN109324921A - 数据备份方法、数据恢复方法以及存储控制器 - Google Patents
数据备份方法、数据恢复方法以及存储控制器 Download PDFInfo
- Publication number
- CN109324921A CN109324921A CN201710637630.3A CN201710637630A CN109324921A CN 109324921 A CN109324921 A CN 109324921A CN 201710637630 A CN201710637630 A CN 201710637630A CN 109324921 A CN109324921 A CN 109324921A
- Authority
- CN
- China
- Prior art keywords
- information table
- sub
- total
- memory
- instance
- 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
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
Abstract
本发明提供一种数据备份方法与数据恢复方法。所述数据备份方法包括根据实体单元的抹除次数值与实体单元状态来更新总信息表与子信息表且产生实体单元信息;当写入数据至空白的所述实体单元前,先写入所述实体单元信息于所述实体单元;根据对应的条件将总信息表与子信息表写入至可复写式非易失性存储器模块。所述数据恢复方法包括将存储在可复写式非易失性存储器模块的最新的总信息表写入至存储器;根据较总信息表新的子信息表来更新存储器中的总信息表;以及根据较子信息表新的实体单元信息来更新存储器中的总信息表。本发明另提供一种存储控制器。
Description
技术领域
本发明涉及一种数据备份方法与数据恢复方法,尤其涉及一种适用于配置有可复写式非易失性存储器模块的存储装置的数据备份方法、数据恢复方法与存储控制器。
背景技术
一般来说,配置有可复写式非易失性存储器模块的存储装置(如,固态硬盘,SSD)的存储控制器,会在可复写式非易失性存储器模块的多个实体单元的其中的一的实体单元的状态改变时,去记录所述改变状态的实体单元的状态至实体单元信息清单表,以更新实体单元信息清单表,并且将更新后的实体单元信息清单表写入至可复写式非易失性存储器模块中。
藉此,特别是在突然断电事件后的数据恢复操作中,存储控制器可根据已写入的实体单元信息清单表所记录的所述多个实体单元的状态来进行对应的管理操作。
但是,在上述的传统作法中,为了少数的实体单元的状态改变,存储控制器往往需要去写入对应可复写式非易失性存储器模块的所有实体单元的状态的实体单元信息清单表,而耗费大量空间/时间/资源来写入未变动的信息,也增加了可复写式非易失性存储器模块的耗损,进而降低系统整体性能且降低可复写式非易失性存储器模块的使用寿命。
基此,如何更有效率地管理与维护实体单元的状态信息,同时保有有效率的数据恢复操作,进而提升配置有可复写式非易失性存储器模块的存储装置的性能与安全,是本领域人员研究的课题的一。
发明内容
本发明提供一种数据备份方法、数据恢复方法与存储控制器,可利用不同类型的信息表与存储于实体单元中的实体单元信息来有效率地备份可复写式非易失性存储器模块的实体单元的状态,进而当特定事件发生时,可藉此进行对应的数据恢复操作。
本发明的一实施例提供一种数据备份方法,适用于配置有可复写式非易失性存储器模块的存储装置,其中所述可复写式非易失性存储器模块具有多个实体单元。所述方法包括当配置所述多个实体单元中用以执行第一写入操作的第一实体单元时,根据所述第一写入操作设定对应所述第一实体单元的第一实体单元状态;根据所述第一实体单元状态与所述第一实体单元的第一抹除次数值更新存储器中的总信息表中对应所述第一实体单元的第一总数据,并且产生且附加对应所述第一实体单元的第一子数据至所述存储器中的子信息表以更新所述子信息表,其中所述子信息表包括对应所述子信息表的时间戳记、配置阵列与分别对应一或多个实体单元的一或多个子数据,其中所述一或多个子数据记录对应的实体单元的索引码、抹除次数值与实体单元状态;若所述第一实体单元的所述第一实体单元状态为空状态且开始执行所述第一写入操作,依序写入对应所述第一实体单元的第一实体单元信息与所述第一写入数据至所述第一实体单元;当更新后的所述子信息表的所附加的所述一或多个子数据的总数目等于第一预定值,将所述存储器中的更新后的所述子信息表写入至所述可复写式非易失性存储器模块,重置所述存储器的所述子信息表,并且累加一计数值;以及当累加后的所述计数值等于第二预定值,将所述存储器中的更新后的所述总信息表写入至所述可复写式非易失性存储器模块,并且归零所述计数值。
本发明的一实施例提供一种数据恢复方法,适用于配置有可复写式非易失性存储器模块的存储装置,其中所述可复写式非易失性存储器模块具有多个实体单元。所述方法包括反应于已发生的特定事件,从所述可复写式非易失性存储器模块中读取最新的总信息表,并且将所述总信息表写入至存储器,其中所述总信息表包括对应所述总信息表的时间戳记与分别对应多个实体单元的多个总数据,其中所述多个总数据的每一个总数据记录对应的实体单元的抹除次数值与实体单元状态;辨识存储在所述可复写式非易失性存储器模块的一或多个子信息表,其中所述一或多个子信息表中的每一个子信息表包括对应所述子信息表的时间戳记、配置阵列与分别对应一或多个实体单元的一或多个子数据,其中所述一或多个子数据记录对应的实体单元的索引码、抹除次数值与实体单元状态;从所述一或多个子信息表中选择第一子信息表,并且根据所述第一子信息表来更新所述存储器中的所述总信息表,其中所述第一子信息表的时间戳记大于所述总信息表的时间戳记;从所述一或多个子信息表中辨识最新的第二子信息表,并且根据所述第二子信息表的配置阵列来辨识多个第一实体单元;根据分别存储于所述多个第一实体单元的多个第一实体单元信息来更新所述存储器中的所述总信息表。
本发明的一实施例提供用于控制配置有可复写式非易失性存储器模块的存储装置的一种存储控制器。所述存储控制器包括存储器接口控制电路与处理器。所述存储器接口控制电路用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体单元。所述处理器电性连接至所述存储器接口控制电路及存储器。当配置所述多个实体单元中用以执行第一写入操作的第一实体单元时,所述处理器用以根据所述第一写入操作设定对应所述第一实体单元的第一实体单元状态。所述处理器更用以根据所述第一实体单元状态与所述第一实体单元的第一抹除次数值更新所述存储器中的总信息表中对应所述第一实体单元的第一总数据,并且产生且附加对应所述第一实体单元的第一子数据至所述存储器中的子信息表以更新所述子信息表,其中所述子信息表包括对应所述子信息表的时间戳记、配置阵列与分别对应一或多个实体单元的一或多个子数据,其中所述一或多个子数据记录对应的实体单元的索引码、抹除次数值与实体单元状态。若所述第一实体单元的所述第一实体单元状态为空状态且所述处理器开始执行所述第一写入操作,所述处理器更用以依序写入对应所述第一实体单元的第一实体单元信息与所述第一写入数据至所述第一实体单元。此外,当更新后的所述子信息表的所附加的所述一或多个子数据的总数目等于第一预定值,所述处理器更用以将所述存储器中的更新后的所述子信息表写入至所述可复写式非易失性存储器模块,重置所述存储器的所述子信息表,并且累加计数值。当累加后的所述计数值等于第二预定值,所述处理器更用以将所述存储器中的更新后的所述总信息表写入至所述可复写式非易失性存储器模块,并且归零所述计数值。
本发明的一实施例提供用于控制配置有可复写式非易失性存储器模块的存储装置的一种存储控制器。所述存储控制器包括存储器接口控制电路与处理器。所述存储器接口控制电路用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体单元。所述处理器电性连接至所述存储器接口控制电路及存储器。反应于已发生的特定事件,所述处理器用以从所述可复写式非易失性存储器模块中读取最新的一总信息表,并且将所述总信息表写入至一存储器,其中所述总信息表包括对应所述总信息表的时间戳记与分别对应多个实体单元的多个总数据,其中所述多个总数据的每一个总数据记录对应的实体单元的抹除次数值与实体单元状态,其中所述处理器更用以辨识存储在所述可复写式非易失性存储器模块的一或多个子信息表,其中所述一或多个子信息表中的每一个子信息表包括对应所述子信息表的时间戳记、配置阵列与分别对应一或多个实体单元的一或多个子数据,其中所述一或多个子数据记录对应的实体单元的索引码、抹除次数值与实体单元状态,其中所述处理器更用以从所述一或多个子信息表中选择第一子信息表,并且根据所述第一子信息表来更新所述存储器中的所述总信息表,其中所述第一子信息表的时间戳记大于所述总信息表的时间戳记,其中所述处理器更用以从所述一或多个子信息表中辨识最新的第二子信息表,并且根据所述第二子信息表的配置阵列来辨识多个第一实体单元,其中所述处理器更用以根据分别存储于所述多个第一实体单元的多个第一实体单元信息来更新所述存储器中的所述总信息表。
基于上述,本发明实施例所提供的数据备份方法、数据恢复方法以及存储控制器,可在初次写入一实体单元时,记录对应的实体单元信息至所述实体单元,将对应当前状态改变的实体单元的实体单元状态与抹除次数值记录至子信息表,并且当一定数目的子信息表被写入至可复写式非易失性存储器模块时,再将用以记录可复写式非易失性存储器模块的全部实体单元的总信息表写入至可复写式非易失性存储器模块,以分段记录状态改变的实体单元。如此一来,系统可利用较低的资源来记录/备份已改变的实体单元状态,增加了写入操作的平顺性与可复写式非易失性存储器模块的使用寿命,进而增进了工作效率。此外,本发明实施例所提供的数据备份方法、数据恢复方法以及存储控制器,可利用分于不同时机点所存储的不同类型的实体单元信息、子信息表与总信息表,在利用较少资源进行上述数据备份方法的情况下,还可有效率且安全地恢复总信息表与其中的对应可复写式非易失性存储器模块的所有实体单元的实体单元状态信息。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一实施例所显示的主机系统及存储装置的方块示意图;
图2是根据本发明的一实施例所显示的数据备份方法的流程图;
图3是根据本发明的一实施例所显示的数据恢复方法的流程图;
图4A为根据本发明的一实施例所显示的总信息表的数据结构示意图;
图4B为根据本发明的一实施例所显示的总信息表中的总数据的数据结构示意图;
图5A为根据本发明的一实施例所显示的初始的子信息表的数据结构示意图;
图5B为根据本发明的一实施例所显示的子信息表的数据结构示意图;
图5C为根据本发明的一实施例所显示的子信息表中的子数据的数据结构示意图;
图5D为根据本发明的一实施例所显示的子信息表中的配置阵列的数据结构示意图;
图6A为根据本发明的一实施例所显示的实体单元信息的存储位置的示意图;
图6B为根据本发明的一实施例所显示的实体单元信息的数据结构示意图。
附图标号说明:
10:主机系统
20:存储装置
110、211:处理器
120:主机存储器
130:数据传输接口电路
210:存储控制器
212:数据传输管理电路
213:存储器接口控制电路
220:可复写式非易失性存储器模块
230:连接接口电路
S21、S23、S25、S27、S29:数据备份方法的流程步骤
S31、S33、S35、S37、S39:数据恢复方法的流程步骤
MIT:总信息表
SIT1、SIT2:子信息表
TT_MIT、TT_SIT1、TT_SIT2:表类型
TS_MIT、TS_MD(1)、TS_SIT1、TS_SIT2、TS_PUI:时间戳记
MD(1)、MD(2)~MD(M):总数据
AD_MIT、AD_SIT1、AD_SIT2、AD_PUI:辅助数据
IDX_MD(1)、IDX_PA_SIT1(1)、IDX_PA_SIT1(1)~IDX_PA_SIT1(X-1)、IDX_PA_SIT1(X)、IDX_SD2(1):索引码
PA_SIT1、PA_SIT2:配置阵列
SD1、SD2:子数据区段
SD2(1)~SD2(X):子数据
BST_MD(1)、BST_SD2(2)、BST_PUI:实体单元状态
PEC_MD(1)、PEC SD2(2)、PEC_PUI:抹除次数值
60(1)、60(2)~60(Z-1)、60(Z):实体页面
60:实体单元
PUI:实体单元信息
UD1:写入数据
具体实施方式
在本实施例中,存储装置包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与存储装置控制器(也称,存储控制器或存储控制电路)。此外,存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储装置或从存储装置中读取数据。
图1是根据本发明的一实施例所显示的主机系统及存储装置的方块示意图。
请参照图1,主机系统(Host System)10包括处理器(Processor)110、主机存储器(Host Memory)120及数据传输接口电路(Data Transfer Interface Circuit)130。在本实施例中,数据传输接口电路130电性连接(也称,电性连接)至处理器110与主机存储器120。在另一实施例中,处理器110、主机存储器120与数据传输接口电路130的间利用系统总线(System Bus)彼此电性连接。
存储装置20包括存储控制器(Storage Controller)210、可复写式非易失性存储器模块(Rewritable Non-Volatile Memory Module)220及连接接口电路(ConnectionInterface Circuit)230。其中,存储控制器210包括处理器211、数据管理电路(DataTransfer Management Circuit)212与存储器接口控制电路(Memory Interface ControlCircuit)213。
在本实施例中,主机系统10是通过数据传输接口电路130与存储装置20的连接接口电路230电性连接至存储装置20来进行数据的存取操作。例如,主机系统10可经由数据传输接口电路130将数据存储至存储装置20或从存储装置20中读取数据。
在本实施例中,处理器110、主机存储器120及数据传输接口电路130可设置在主机系统10的主机板上。数据传输接口电路130的数目可以是一或多个。通过数据传输接口电路130,主机板可以经由有线或无线方式电性连接至存储装置20。存储装置20可例如是随身盘、存储卡、固态硬盘(Solid State Drive,SSD)或无线存储器存储装置。无线存储器存储装置可例如是近距离无线通讯(Near Field Communication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板也可以通过系统总线电性连接至全球定位系统(Global Positioning System,GPS)模块、网络接口卡、无线传输装置、键盘、荧幕、喇叭等各式I/O装置。
在本实施例中,数据传输接口电路130与连接接口电路230是相容于高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准的接口电路。并且,数据传输接口电路130与连接接口电路230的间是利用快速非易失性存储器接口标准(Non-Volatile Memory express,NVMe)通讯协定来进行数据的传输。
然而,必须了解的是,本发明不限于此,数据传输接口电路130与连接接口电路230也可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、序列先进附件(Serial Advanced Technology Attachment,SATA)标准、通用序列总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、记忆棒(MemoryStick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(MultiMedia Card,MMC)接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated DeviceElectronics,IDE)标准或其他适合的标准。此外,在另一实施例中,连接接口电路230可与存储控制器210封装在一个芯片中,或者连接接口电路230是布设于一包含存储控制器210的芯片外。
在本实施例中,主机存储器120用以暂存处理器110所执行的指令或数据。例如,在本范例实施例中,主机存储器120可以是动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)等。然而,必须了解的是,本发明不限于此,主机存储器120也可以是其他适合的存储器。
存储控制器210用以执行以硬件型式或韧件型式实作的多个逻辑闸或控制指令并且根据主机系统10的指令在可复写式非易失性存储器模块220中进行数据的写入、读取与抹除等运作。
更详细来说,存储控制器210中的处理器211为具备运算能力的硬件,其用以控制存储控制器210的整体运作。具体来说,处理器211具有多个控制指令,并且在存储装置20运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
值得一提的是,在本实施例中,处理器110与处理器211例如是中央处理单元(Central Processing Unit,CPU)、微处理器(micro-processor)、或是其他可程序化的处理单元(Microprocessor)、数码信号处理器(Digital Signal Processor,DSP)、可程序化控制器、特殊应用集成电路(Application Specific Integrated Circuits,ASIC)、可程序化逻辑装置(Programmable Logic Device,PLD)或其他类似电路元件,本发明并不限于此。
在一实施例中,存储控制器210还具有只读存储器(未显示)及随机存取存储器(未显示)。特别是,此只读存储器具有开机码(boot code),并且当存储控制器210被致能时,处理器211会先执行此开机码(也称,执行开机程序或开卡程序)来将存储于可复写式非易失性存储器模块220中的控制指令载入至存储控制器210的随机存取存储器中。的后,处理器211会运转此些控制指令以进行数据的写入、读取与抹除等运作。在另一实施例中,处理器211的控制指令也可以程序码型式存储于可复写式非易失性存储器模块220的特定区域,例如,可复写式非易失性存储器模块220中专用于存放系统数据的实体存储单元中。
在本实施例中,如上所述,存储控制器210还包括数据管理电路212与存储器接口控制电路213。应注意的是,存储控制器220各部件所执行的操作也可视为存储控制器220所执行的操作。
其中,数据管理电路212电性连接至处理器211、存储器接口控制电路213与连接接口电路230。数据管理电路212用以接受处理器211的指示来进行数据的传输。例如,经由连接接口电路230从主机系统10(如,主机存储器120)读取数据,并且将所读取的数据经由存储器接口控制电路213写入至可复写式非易失性存储器模块220中(如,根据来自主机系统10的写入指令来进行写入操作)。又例如,经由存储器接口控制电路213从可复写式非易失性存储器模块220的一或多个实体单元中读取数据,并且将所读取的数据经由连接接口电路230写入至主机系统10(如,主机存储器120)中(如,根据来自主机系统10的读取指令来进行读取操作)。在另一实施例中,数据管理电路212也可整合至处理器211中。以下会再配合多个附图与实施例来详细说明本发明中数据管理电路212的功能。
存储器接口控制电路213用以接受处理器211的指示,配合数据管理电路212来进行对于可复写式非易失性存储器模块220的写入(也称,程序化,Programming)操作、读取操作或抹除操作。
举例来说,处理器211可执行写入指令序列,以指示存储器接口控制电路213将数据写入至可复写式非易失性存储器模块220的实体单元中;处理器211可执行读取指令序列,以指示存储器接口控制电路213从可复写式非易失性存储器模块220的对应读取指令的一或多个实体单元中读取数据;处理器211可执行抹除指令序列,以指示存储器接口控制电路213对可复写式非易失性存储器模块220进行抹除操作。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示对可复写式非易失性存储器模块220执行相对应的写入、读取及抹除等操作。在一实施例中,处理器211还可以下达其他类型的指令序列给存储器接口控制电路213,以对可复写式非易失性存储器模块220执行相对应的操作。
在本实施例中,所述写入操作至少包括主机写入操作,垃圾回收写入操作,损耗平衡写入操作等类型的写入操作。所述主机写入操作例如是为了执行主机系统10的作业系统所下达至处理器211的写入指令而执行的操作。即,完成主机写入操作后,处理器211会回应写入完成讯息给主机系统。所述写入指令用以指示处理器211写入一笔写入数据至对应所述写入指令的逻辑地址。所述垃圾回收写入操作例如是在执行垃圾回收操作的过程中,所执行的写入操作。例如,假设处理器211对一实体单元执行垃圾回收操作。处理器211会执行垃圾回收写入操作以将此实体单元的所有有效数据写入至另一实体单元。所述损耗平衡写入操作例如是在执行损耗平衡(Wear-Leveling)操作的过程中,所执行的写入操作。
此外,欲写入至可复写式非易失性存储器模块220的数据会经由存储器接口控制电路213转换为可复写式非易失性存储器模块220所能接受的格式。具体来说,若处理器211要存取可复写式非易失性存储器模块220,处理器211会传送对应的指令序列给存储器接口控制电路213以指示存储器接口控制电路213执行对应的操作。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压组准位或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。
可复写式非易失性存储器模块220是电性连接至存储控制器210(存储器接口控制电路213)并且用以存储主机系统10所写入的数据。可复写式非易失性存储器模块220可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个位元的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个位元的快闪存储器模块)、三阶存储单元(TripleLevel Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个位元的快闪存储器模块)、三维NAND型快闪存储器模块(3D NAND flash memory module)或垂直NAND型快闪存储器模块(Vertical NAND flash memory module)等其他快闪存储器模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块220中的存储单元是以阵列的方式设置。
在本实施例中,可复写式非易失性存储器模块220的存储单元会构成多个实体程序化单元(也称,实体子单元),并且此些实体程序化单元会构成多个实体区块(也称,实体抹除单元或实体单元)。具体来说,同一条字元线(或同一个字元线层)上的存储单元会组成一或多个实体程序化单元。
在本实施例中,是以实体子单元作为写入(程序化)数据的最小单位。实体单元为抹除的最小单位,即,每一实体单元含有最小数目的一并被抹除的存储单元。每一实体单元会具有多个实体子单元。实体子单元可为实体页面(page)或是实体扇(sector)。在本实施例中,实体子单元包括数据位元区与冗余(redundancy)位元区。数据位元区用以存储使用者数据,而冗余位元区用以存储系统数据。系统数据例如为错误更正码、错误检查码或元数据(Meta Data)。所述元数据记录对应的实体页面所存储的使用者数据的逻辑地址。
应注意的是,在本实施例中,处理器211会根据一实体单元当前的抹除次数值与实体单元状态来产生一实体单元信息以记录一实体单元的信息。所述实体单元信息可被存储至所对应的所述实体单元的一或多个实体子单元(如,被存储至实体子单元的数据位元区或冗余位元区)中,或利用一个系统区中用以记录所有系统数据的特定实体单元的一或多个实体子单元来记录。
在本实施例中,为了记录时间戳记(Timestamp)(也称,全域时间戳记),处理器211会根据不同类型的信息与对应的条件来记录时间戳记(如,根据当前时间来产生且记录时间戳记)至所述信息中。所述时间戳记的大小(数值差异)可用来表示其所对应的信息的时间的先后。本发明并不限定所述时间戳记的详细格式。举例来说,处理器211可根据分别对应两笔信息的两个时间戳记的相对大小来辨识出所述两笔信息的时间先后(时间戳记较大者,其对应的信息的时间会较晚)。
主机系统10是通过存储控制器210配置多个逻辑单元给可复写式非易失性存储器模块220。所配置的逻辑单元用以存取存储在可复写式非易失性存储器模块220的多个实体单元中的使用者数据。在此,每一个逻辑单元可以是由一或多个逻辑地址组成。例如,逻辑单元可以是逻辑区块(Logical Block)、逻辑页面(Logical Page)或是逻辑扇区(LogicalSector)。一个逻辑单元可以是映射至一或多个实体单元,其中实体单元可以是一或多个实体地址、一或多个实体扇、一或多个实体程序化单元或者一或多个实体抹除单元。
在以下实施例中,为了方便说明,实体单元指实体区块,实体子单元指实体页面,并且实体地址指对应的实体页面或其地址。然而,在另一实施例中,一个实体单元/实体子单元也可以分别是指任意数目的存储单元组成,视实务上的需求而定,并且实体地址可指实体区块或实体页面的地址。此外,处理器211会对多个实体单元编制多个索引码,以使所述多个索引码分别对应所述多个实体单元,进而根据索引码来辨识对应的实体单元。
此外,存储控制器210会建立逻辑转实体表(Logical To Physical table)与实体转逻辑表(Physical To Logical table),以记录配置给可复写式非易失性存储器模块220的逻辑单元(如,逻辑区块、逻辑页面、逻辑地址或逻辑扇区)与实体单元(如,实体抹除单元、实体程序化单元、实体地址或实体扇区)的间的映射关系。换言的,存储控制器210可通过逻辑转实体表来查找一逻辑单元所映射的实体单元,并且存储控制器210可通过实体转逻辑表来查找一实体单元所映射的逻辑单元。在本实施例中,当完成对于一个逻辑页面(逻辑地址)的数据写入操作(如,对应的数据已被程序化至一实体页面)时,处理器211会对应地更新逻辑转实体表,以记录所述逻辑地址所对应的实体页面的地址(实体地址)。然而,上述有关逻辑单元与实体单元映射的技术概念为本领域技术人员的惯用技术手段,不再赘述于此。
在一实施例中,存储控制器210还包括缓冲存储器与电源管理电路。缓冲存储器(也称,存储器)是电性连接至处理器211并且用以暂存来自于主机系统10的数据与指令、来自于可复写式非易失性存储器模块220的数据或其他用以管理存储装置20的系统数据(如,逻辑转实体表、实体转逻辑表、总信息表、子信息表、损坏实体单元表或磨损实体单元表等),以让处理器211可快速地从存储器中存取所述数据、指令或系统数据。电源管理电路是电性连接至处理器211并且用以控制存储装置20的电源。
图2是根据本发明的一实施例所显示的数据备份方法的流程图。请参照图2,在步骤S21中,当配置所述多个实体单元中用以执行第一写入操作的第一实体单元时,处理器211用以根据所述第一写入操作设定对应所述第一实体单元的第一实体单元状态。具体来说,在执行一写入操作(第一写入操作)的前,处理器211会从可复写式非易失性存储器模块220的空的(或已抹除的)多个实体单元中选择(配置)一实体单元(也称,第一实体单元),并且在尔后开始执行对应的写入操作(第一写入操作)时,将对应所述第一写入操作的写入数据写入至所配置的第一实体单元。在配置第一实体单元后,处理器211会根据第一写入操作的类型来设定对应所述第一实体单元的第一实体单元状态。
在本实施例中,举例来说,如上述,写入操作的类型包括“主机写入操作”,“垃圾回收写入操作”,“损耗平衡写入操作”等类型。举例来说,假设第一写入操作的类型为“主机写入操作”,处理器211会对应地将第一实体单元的第一实体单元状态设定为“主机写入状态”。更详细来说,此时,处理器211会将第一实体单元状态从“空状态”(或“已抹除状态”)修改成“主机写入状态”。
在本实施例中,所述实体单元状态的大小为一个位元组,处理器211利用多个不同的位元值来分别记录一实体单元的多个实体单元状态,所述多个实体单元状态包括“空状态”,“已抹除状态”,“主机写入状态”,“垃圾回收写入状态”,“损耗平衡写入状态”,“损坏状态”,“磨损状态”。所述“空状态(Empty Status)”用以表示实体单元目前并未被写入任何数据;所述“已抹除状态(Erased Status)”用以表示实体单元已经抹除完毕;所述“主机写入状态(Host Write Status)”用以表示实体单元目前是根据主机写入操作被写入数据;所述“垃圾回收状态(Garbage Collection Write Status)”用以表示实体单元目前是根据垃圾回收写入操作被写入数据;所述“损耗平衡写入状态(Wear-Leveling Write Status)”用以表示实体单元目前根据损耗平衡写入操作被写入数据;所述“损坏状态(Bad Status)”用以表示实体单元目前已损坏且不能被写入;所述“磨损状态(Wear-out Status)”用以表示实体单元目前的磨损程度已经超过一预定程度。
在设定完第一实体单元状态后,在步骤S23中,处理器211根据所述第一实体单元状态与所述第一实体单元的第一抹除次数值更新存储器中的总信息表中对应所述第一实体单元的第一总数据,并且产生且附加对应所述第一实体单元的第一子数据至所述存储器中的子信息表以更新所述子信息表。以下会先阐述于开卡程序中,总信息表与子信息表的初始化(初始的总信息表与子信息表),再说明步骤S23的细节。
在本实施例中,当处理器211执行上述的开卡程序时,处理器211会在所述开卡程序中产生且写入初始的总信息表与初始的子信息表于存储器中。接着,处理器211会写入于所述存储器中的初始的总信息表与初始的子信息表至可复写式非易失性存储器模块220,并且重置存储器中的所述子信息表。
图4A为根据本发明的一实施例所显示的总信息表的数据结构示意图。图4B为根据本发明的一实施例所显示的总信息表中的总数据的数据结构示意图。请参照图4A,举例来说,上述于存储器中的初始的总信息表MIT包括表类型TT_MIT、对应总信息表MIT的时间戳记TS_MIT、多个总数据MD(1)~MD(M)。M为正整数且M的值用以表示可复写式非易失性存储器模块220的所有实体单元的总数目。当处理器211写入初始的总信息表至可复写式非易失性存储器模块220时,处理器211会先附加辅助数据AD_MIT至总信息表MIT,再写入总信息表MIT。所述辅助数据AD_MIT用以将总信息表MIT的总大小补齐至一总信息表预定大小。所述辅助数据AD_MIT可为用以保护总信息表MIT的错误检查码,或具有固定态样的预定数据。
所述表类型所记录的值用以指示当前处理器211所存取的数据的型态。所述表类型的大小为一个位元组。举例来说,若表类型所记录的值为“0”,即表示当前对应的数据为对应可复写式非易失性存储器模块220的所有实体单元的总信息表;若表类型所记录的值为“1”,即表示当前对应的数据为子信息表。依照前述例子,当处理器211读取到记录“0”的表类型TT_MIT,处理器211可知道的后表类型TT_MIT的后的数据为对应总信息表MIT的时间戳记TS_MIT、多个总数据MD(1)~MD(M)及辅助数据AD_MIT。然而,本发明不限于此,厂商可根据自身需求来设定表类型所记录的值以及所代表的含意。初始的总信息表MIT的时间戳记为第一初始值。
所述多个总数据MD(1)~MD(M)分别对应可复写式非易失性存储器模块220的所有实体单元,并且记录对应的实体单元的多种信息。在本实施例中,所述多种信息包括对应的实体单元的索引码、抹除次数值、实体单元状态。然而,在另一实施例中,总数据所记录的多种信息还包括对应的实体单元的时间戳记。
请参照图4B,举例来说,在设定完第一实体单元状态后,处理器211根据所述第一实体单元状态与所述第一实体单元的第一抹除次数值更新存储器中的总信息表MIT中对应所述第一实体单元的第一总数据MD(1)。处理器211根据对应第一实体单元的索引码辨识第一总数据MD(1)于总信息表MIT中的位置。处理器211将对应第一实体单元的索引码记录为第一总数据MD(1)的索引码IDX_MD(1);将对应第一实体单元的第一抹除次数值记录为第一总数据MD(1)的抹除次数值PEC_MD(1);将对应第一实体单元的第一实体单元状态记录为第一总数据MD(1)的实体单元状态BST_MD(1)。所述对应第一实体单元的第一抹除次数值记录所述第一实体单元已被抹除的总次数。即,每当完成对第一实体单元的抹除操作,累加第一抹除次数值。
在另一实施例中,处理器211更将对应第一实体单元的时间戳记记录为第一总数据MD(1)的时间戳记TS_MD(1)。
在本实施例中,当处理器211更新完上述的第一总数据时,处理器211根据更新第一总数据MD(1)的当前时间(如,存储装置的本地时间)来更新对应总信息表MIT的时间戳记TS_MIT。换句话说,每当总信息表中的一个总数据被更新时,总信息表的时间戳记也会被更新为当前时间。
值得一提的是,在一实施例中,总数据所记录的多种信息可不包括索引码。在此实施例中,所述多个总数据MD(1)~MD(M)于总数据表的位置是根据所述多个总数据MD(1)~MD(M)所分别对应的多个实体单元于可复写式非易失性存储器模块220中的排列顺序来决定的,并且分别对应可复写式非易失性存储器模块220所有实体单元的多个索引码用以表示对应的实体单元的排列顺序。
图5A为根据本发明的一实施例所显示的初始的子信息表的数据结构示意图。图5B为根据本发明的一实施例所显示的子信息表的数据结构示意图。请参照图5A,举例来说,上述于存储器中的初始的子信息表SIT1包括表类型TT_SIT1、对应子信息表SIT1的时间戳记TS_SIT1与配置阵列PA_SIT1。当处理器211写入初始的子信息表SIT1至可复写式非易失性存储器模块220时,处理器211会先附加辅助数据AD_SIT1至子信息表SIT1,再写入初始的子信息表SIT1。应注意的是,初始的子信息表SIT1中用以存储多个子数据的子数据空间SD1并不具有任何子数据。即,写入至可复写式非易失性存储器模块220的初始的子信息表SIT1仅包括表类型TT_SIT1、对应子信息表SIT1的时间戳记TS_SIT1与辅助数据AD_SIT1。
所述表类型TT_SIT1的定义相似于表类型TT_MIT,例如,当处理器211读取到记录“1”的表类型TT_SIT1,处理器211可知道的后表类型TT_SIT1的后的数据为对应一初始的子信息表SIT1的时间戳记TS_SIT1、(初始的)配置阵列PA_SIT1及辅助数据AD_SIT1。初始的子信息表SIT1的时间戳记TS_SIT1为第二初始值。所述(初始的)配置阵列PA_SIT1可预先设定。
图5D为根据本发明的一实施例所显示的子信息表中的配置阵列的数据结构示意图。请参照图5D,配置阵列(Allocate Array)PA_SIT1记录多个索引码IDX_PA_SIT1(1)~IDX_PA_SIT1(X)。X为预设的正整数(配置阵列的索引码的总数目等于X)。厂商可根据需求来设定X的值。X也可随着存储装置的老化程度而动态调整。所述多个索引码IDX_PA_SIT1(1)~IDX_PA_SIT1(X)分别对应多个实体单元(也称,第二实体单元)。所述多个第二实体单元皆未被写入任何数据(即,空的实体单元),并且所述多个第二实体单元的实体单元状态为“空状态”或“已抹除状态”。应注意的是,在本实施例中,配置阵列为1*X的阵列,然而在其他实施例中,配置阵列也可为n*X的阵列。n为正整数。
当处理器211写入初始的子信息表SIT1至可复写式非易失性存储器模块220时,处理器211会先附加辅助数据AD_SIT1至子信息表SIT1,再写入子信息表SIT1。所述辅助数据AD_SIT1用以将子信息表SIT1的总大小补齐至一子信息表预定大小。所述辅助数据AD_SIT1可为用以保护子信息表SIT1的错误检查码,或具有固定态样的预定数据。
在本实施例中,处理器211会根据存储于所述可复写式非易失性存储器模块中最新的子信息表的配置阵列的多个索引码来产生一当前配置阵列。换言的,假设目前存储于该可复写式非易失性存储器模块中最新的子信息表为初始的子信息表SIT1,处理器211会根据子信息表SIT1的配置阵列PA_SIT1来产生当前配置阵列。所述当前配置阵列记录了所述配置阵列PA_SIT1所记录的多个索引码IDX_PA_SIT1(1)~IDX_PA_SIT1(X)。尔后,当处理器211欲执行一写入操作的前,处理器211会根据所产生的当前配置阵列来选择用以执行所述写入操作的实体单元。更详细来说,若处理器211欲执行一写入操作(在执行写入操作的前),处理器211会辨识所产生的当前配置阵列的多个索引码中尚未被选择的一或多个第一索引码。接着,处理器211选择所述一或多个第一索引码中排序最前面的一第二索引码,并且根据所选择的第二索引码来辨识对应所述第二索引码的实体单元。最后,处理器211可配置所辨识的所述实体单元来执行所述写入操作,即,将对应写入操作的写入数据程序化至(对应第二索引码的)所述实体单元。换句话说,当前配置序列中已被选择过的索引码不会再被选择,以让处理器211不会选择已经配置过的实体单元来进行配置。
在本实施例中,每当处理器211写入于所述存储器中的子信息表至可复写式非易失性存储器模块220,处理器211会重置存储器中的子信息表。举例来说,当处理器211写入初始的子信息表SIT1至可复写式非易失性存储器模块220后,处理器211会将子信息表SIT1重置为子信息表SIT2。详细来说,处理器211会清空存储器中的子信息表SIT1的子数据区段SD1(将于其中的所有子数据删除),并且更新存储器中子信息表SIT1的配置阵列PA1。在一实施例中,在重置初始的子信息表SIT1为子信息表SIT2的过程中,处理器211可将位元值为“1”的表类型TT_SIT1修改为位元值为“2”的表类型TT_SIT2。藉此,可使处理器211辨识出当前维护于存储器中的子信息表SIT2并非初始的子信息表SIT1,即,子信息表SIT2的子数据区段SD2可具有(被附加)子数据。
在本实施例中,在重置初始的子信息表SIT1为子信息表SIT2的过程中,处理器211可将时间戳记TT_SIT1修改为时间戳记TT_SIT2,其中时间戳记TT_SIT2记录了执行重置子信息表的当前时间。在另一实施例中,在重置初始的子信息表SIT1为子信息表SIT2的过程中,处理器211可不修改时间戳记TT_SIT2。
此外,在重置子信息表的过程中,处理器211也会重置配置阵列。举例来说,在处理器211重置子信息表SIT1为子信息表SIT2的过程中,处理器211会从可复写式非易失性存储器模块220中所有空的(已抹除的)多个实体单元中选择非配置阵列PA_SIT1的多个索引码所对应的实体单元的其他多个实体单元(数量为X),并且将分别对应上述其他多个实体单元的多个索引码记录至子信息表SIT2的配置阵列PA_SIT2中。
应注意的是,在一实施例中,产生(新的)当前配置阵列的时间点也可在子信息表开始被写入可复写式非易失性存储器模块220的期间中。在另一实施例中,若处理器211已判定旧的当前配置阵列中所有的索引码皆已被选择时,处理器211会根据当前存储器中的子信息表的配置阵列来产生新的当前配置阵列。
也就是说,存储器中的子信息表的配置阵列是用以让处理器211去经由根据配置阵列来产生新的当前配置阵列,以辨识下一批的多个可用来被配置的实体单元。换言的,可视为,处理器211会在存储器中维护用以辨识当前可被配置的多个实体单元的当前配置阵列以及用以辨识未来紧接着可被配置的多个实体单元的配置阵列(于子信息表中)。
假设处理器211已完成对于子信息表的重置,刚重置后的维护于存储器中的子信息表SIT2包括表类型TT_SIT2、时间戳记TS_SIT2、配置阵列PA_SIT2、子数据区段SD2,其中所述子数据区段SD2并不具有任何子数据。请再回到图2,在步骤S23中,除了上述对于总信息表的更新的外,处理器211会产生且附加对应所述第一实体单元的第一子数据至所述存储器中的子信息表以更新所述子信息表。
图5C为根据本发明的一实施例所显示的子信息表中的子数据的数据结构示意图。请参照图5C,举例来说,假设当前在存储器中的子信息表为刚重置后的子信息表SIT2。处理器211会在设定完第一实体单元状态后,根据所述第一实体单元状态与所述第一实体单元的第一抹除次数值产生子数据SD2(1)(也称,第一子数据)。
在本实施例中,所产生的子数据会记录对应的实体单元的多种信息。所述多种信息包括对应的实体单元的索引码、抹除次数值、实体单元状态。然而,在另一实施例中,子数据所记录的多种信息还包括对应的实体单元的时间戳记。
也就是说,在上述的例子中,处理器211根据将对应第一实体单元的索引码记录为第一子数据SD2(1)的索引码IDX_SD2(1);将对应第一实体单元的第一抹除次数值记录为第一子数据SD2(1)的抹除次数值PEC_SD2(1);将对应第一实体单元的第一实体单元状态记录为第一子数据SD2(1)的实体单元状态BST_SD2(1)。如此一来,处理器211便完成了产生第一子数据SD2(1)。接着,处理器211会将所产生的第一子数据SD2(1)从子数据区段SD2的可用空间中从头开始存储。例如,若处理器211欲执行另一写入操作,处理器211可产生对应的子数据SD2(2),并且将子数据SD2(2)存储至子数据SD2(1)后。依此类推,处理器211会陆续根据其他多个写入操作来产生且存储对应的子数据(如,子数据SD(2)~SD(X))至子数据区段SD2中。
在本实施例中,当处理器211附加完上述的第一子数据SD2(1)时,处理器211根据附加第一子数据SD2(1)的当前时间来更新对应子信息表SIT2的时间戳记TS_SIT2。换句话说,每当子信息表被附加一个子数据时,子信息表的时间戳记也会被更新为当前时间。如此一来,处理器211便根据第一写入操作更新了子信息表。
由于已配置了用以执行第一写入操作的第一实体单元,设定对应的第一实体单元状态,并且也更新了总信息表及子信息表,处理器211会开始执行第一写入操作。
请再回到图2,接着,在步骤S25中,若所述第一实体单元的所述第一实体单元状态为空状态且开始执行所述第一写入操作,依序写入对应所述第一实体单元的第一实体单元信息与所述第一写入数据至所述第一实体单元。
图6A为根据本发明的一实施例所显示的实体单元信息的存储位置的示意图。图6B为根据本发明的一实施例所显示的实体单元信息的数据结构示意图。请参照图6A,举例来说,假设第一实体单元60具有多个实体页面60(1)~60(Z),刚被配置的第一实体单元为空状态(实体页面60(1)~60(Z)皆空白),并且处理器211开始执行第一写入操作以将写入数据UD1写入至第一实体单元中。此时,处理器211会判定第一实体单元为空状态(如,第一个实体页面60(1)为空白),处理器211会产生对应第一实体单元的第一实体单元信息PUI,先将所产生的第一实体单元信息PUI(如图6A中菱形格线部份)写入至实体页面60(1),接续已写入的第一实体单元信息PUI,将写入数据UD1(如图6A中网底部份)写入至实体页面60(1)中。即,存储于一实体单元且排序在已存储至所述实体单元的第一笔写入数据的前的数据是对应所述实体单元的实体单元信息。
请参照图6B,在本实施例中,在根据第一写入操作来产生第一实体单元信息的过程中,处理器211会根据开始执行第一写入操作的当前时间记录第一实体单元信息PUI的时间戳记TS_PUI;将对应第一实体单元60的第一抹除次数值记录为第一实体单元信息PUI的抹除次数值PEC_PUI;将对应第一实体单元的第一实体单元状态记录为第一实体单元信息PUI的实体单元状态BST_PUI;以及附加辅助数据AD_PUI至第一实体单元信息PUI后端。所述辅助数据AD_PUI用以将第一实体单元信息PUI的总大小补齐至一实体单元信息预定大小。所述辅助数据AD_PUI可为用以保护第一实体单元信息PUI的错误检查码,或具有固定态样的预定数据。
在步骤S27中,当更新后的所述子信息表的所附加的所述一或多个子数据的总数目等于第一预定值,将所述存储器中的更新后的所述子信息表写入至所述可复写式非易失性存储器模块,重置所述存储器的所述子信息表,并且累加一计数值。
举例来说,假设处理器211根据所述第一实体单元状态与所述第一实体单元的第一抹除次数值产生子数据SD2(X),以更新子信息表SIT2。所述第一预定值为X。时间戳记TS_SIT2也会对应更新。由于子信息表SIT2的子数据区段SD2的多个子数据SD2(1)~SD(X)的总数目为X。因此,处理器211会将子信息表SIT2写入至可复写式非易失性存储器模块220。也就是说,在本实施例中,处理器211会根据一子信息表的子数据的总数目来判断是否要将所述子信息表写入至可复写式非易失性存储器模块220中。但本发明不限于此,处理器211可使用其他方式来判断是否写入子信息表。例如,在另一实施例中,处理器211可根据判断子信息表的子数据区段是否已写满来判断是否写入子信息表。又例如,在另一实施例中,处理器211可在每附加一子数据至一子信息表时,累加另一计数值(此另一计数值用来记录子数据被附加至子信息表的数量),并且根据判断所述另一计数值是否已到达一门槛值来判断是否写入子信息表。
接着,如上所述,写入维护于存储器中的一子信息表后,处理器211会重置存储器中的子信息表。此外,处理器211会累加一计数值。所述计数值用以记录子信息表被写入至可复写式非易失性存储器模块220的次数。从另一方面来看,所述计数值乘以第一预定值所获得的积,其可表示在一期间内,已被配置执行多个写入操作的多个实体单元的总数目。换言的,所述积的值可表示存储器中的总信息表被更新的次数。
在步骤S29中,当累加后的所述计数值等于第二预定值,将所述存储器中的更新后的所述总信息表写入至所述可复写式非易失性存储器模块,并且归零所述计数值。
具体来说,在本实施例中,处理器211会根据存储器中的总信息表被更新的总次数来判断是否要将总信息表写入至可复写式非易失性存储器模块22。更详细来说,处理器211可设定一总信息表更新门槛值,并且处理器211会根据判断存储器中的总信息表被更新的总次数是否达到总信息表更新门槛值来判断是否要写入所述总信息表至可复写式非易失性存储器模块220。此外,处理器211会将所述总信息表更新门槛值除以第一预定值,以获得第二预定值。
也就是说,处理器211会在每次累加计数值后,去判定所述计数值是否等于第二预定值。当累加后的计数值等于第二预定值时,由于所述计数值乘以第一预定值所获得的积(即,存储器中的总信息表被更新的总次数)会等于所述总信息表门槛值,因此,处理器211会写入所述总信息表至可复写式非易失性存储器模块220。此外,处理器211会归零所述计数值,以重新计算存储器中总信息表被更新的总次数。
在本实施例中,上述根据不同条件被存储至可复写式非易失性存储器模块220的总信息表、子信息表以及实体单元信息可在特定事件发生时,被用来恢复存储器中的最新的总信息表。所述特定事件例如是突然断电事件,存储器故障等让存储器中的总信息表、子信息表消失的事件。以下会经由图3来详细说明本发明所提供的数据恢复方法。
图3是根据本发明的一实施例所显示的数据恢复方法的流程图。请参照图3,在步骤S31中,反应于已发生的特定事件,处理器211从所述可复写式非易失性存储器模块中读取最新的总信息表,并且将所述总信息表写入至存储器。
举例来说,假设所述特定事件为突然断电事件。在突然断电事件发生时,维护于存储器中的总信息表、子信息表都会因为突然断电而消失。在存储装置20开电后,处理器211会判定的前存储装置20发生特定事件,并且处理器211会开始执行数据恢复操作。首先,处理器211会先从可复写式非易失性存储器模块220中找寻最新的总信息表。例如,处理器211可根据表类型(如,为“0”的位元值的表类型)从可复写式非易失性存储器模块220中辨识多个总信息表。接着,处理器211可根据所述多个总信息表的时间戳记来辨识最新的总信息表(其时间戳记为所述多个总信息表的多个时间戳记中最大者),处理器211读取此最新的总信息表,并且将的存储(写入)至存储器中,以在后续的步骤中,更新存储于存储器中的总信息表。
在步骤S33中,处理器211辨识存储在所述可复写式非易失性存储器模块的一或多个子信息表,其中所述一或多个子信息表中的每一个子信息表包括对应所述子信息表的时间戳记、配置序列与分别对应一或多个实体单元的一或多个子数据,其中所述一或多个子数据记录对应的实体单元的索引码、抹除次数值与实体单元状态。具体来说,处理器211可根据表类型(如,为“1”或“2”的位元值的表类型)从可复写式非易失性存储器模块220中辨识多个子信息表。所述子信息表的数据结构已详述于上,不再赘述于此。
为了找寻在存储上述最新的总信息表的后所存储的一或多个子信息表,接着,在步骤S35中,处理器211从所述一或多个子信息表中选择第一子信息表,并且根据所述第一子信息表来更新所述存储器中的所述总信息表,其中所述第一子信息表的时间戳记大于所述总信息表的时间戳记。也就是说,所述第一子信息表的被存储至可复写式非易失性存储器模块220的时间会晚于所述总信息表被存储至可复写式非易失性存储器模块220的时间。
接着,处理器211会从所述一或多个子信息表中选择其中一个子信息表(也称,第一子信息表)来进行总信息表的更新。更详细来说,处理器211会根据所述第一子信息表的多个第一子数据所记录的多个索引码来辨识多个实体单元中的分别对应所述第一子数据的多个实体单元(也称,第二实体单元)。即,如上述,每个第一子数据所记录的索引码会对应一个实体单元,并且此实体单元的抹除次数值与实体单元状态会被记录至对应的第一子数据。
基此,处理器211可根据分别对应所述多个第二实体单元的所述多个第一子数据所记录的多个第二抹除次数值来更新存储器中的所述总信息表中分别对应所述多个第二实体单元的多个第二总数据所记录的抹除次数值,即,处理器211可根据存储时间较晚的子信息表所记录的对应多个第二实体单元的多个抹除次数值来更新存储器中的总信息表的对应多个第二实体单元的抹除次数值(其被记录于对应多个第二实体单元的多个第二总数据中)。
相似地,处理器211可根据所述多个第一子数据所记录的多个第二实体单元状态来更新该些第二总数据所记录的实体单元状态。
在所有存储时间晚于总信息表的子信息表皆被选择且皆被用以更新总信息表后,步骤S35已完成。然而,为了恢复可能存在的尚未被存储至可复写式非易失性存储器模块220的子信息表。处理器211会接续至步骤S37,以利用存储在实体单元中的实体单元信息来取得对应上述的子信息表所记录的子数据的实体单元的信息(如,对应所述实体单元的抹除次数值、实体单元状态),以进一步更新总信息表。
在步骤S37中,处理器211从所述一或多个子信息表中辨识最新的第二子信息表,并且根据所述第二子信息表的配置序列来辨识多个第一实体单元。具体来说,存储在可复写式非易失性存储器模块220的最新的子信息表的配置序列记录了在特定事件发生的当下,处理器211所使用的当前配置序列的多个索引码。所述多个索引码分别对应多个实体单元(也称,第一实体单元)。换句话说,在特定事件发生时,所述多个第一实体单元中的一或多个实体单元可能已经被配置且被写入对应的实体单元信息,但是此实体单元信息所记录的信息(如,抹除次数值、实体单元状态)却未被记录于当时维护于存储器中的子信息表与总信息表中。
基此,在辨识出所述多个第一实体单元后,在步骤S39中,处理器211会根据分别存储于所述多个第一实体单元的多个第一实体单元信息来更新所述存储器中的所述总信息表。具体来说,对每一个第一实体单元,处理器211会找寻是否已存储一实体单元信息(也称,第一实体单元信息)。接着,处理器211根据分别对应所述多个第一实体单元的所述多个第一实体单元信息所记录的多个第一抹除次数值来更新存储器中的总信息表中分别对应所述多个第一实体单元的多个第一总数据所记录的抹除次数值;以及根据所述多个第一实体单元信息所分别记录的多个第一实体单元状态来更新所述多个第一总数据所记录的实体单元状态。
换言的,若一第一实体单元存储有第一实体单元信息,处理器211会根据此第一实体单元定位总信息表中对应此第一实体单元的第一总数据,并且利用第一实体单元信息的时间戳记、抹除次数值与实体单元状态值来更新第一总数据的时间戳记、抹除次数值与实体单元状态值。
应注意的是,在另一实施例中,处理器211也可直接根据时间戳记,从可复写式非易失性存储器模块220所记录的实体单元信息中找寻时间戳记大于最新的子信息表的时间戳记的一或多个实体单元信息作为第一实体单元信息。即,在此另一实施例中,存储至可复写式非易失性存储器模块220的子信息表并不需要记录配置阵列。
当处理器211执行完步骤S39,存储器中的总信息表已根据所有第一实体单元信息被更新后,处理器211完成上述的数据恢复操作。
综上所述,本发明实施例所提供的数据备份方法、数据恢复方法以及存储控制器,可在初次写入一实体单元时,记录对应的实体单元信息至所述实体单元,将对应当前状态改变的实体单元的实体单元状态与抹除次数值记录至子信息表,并且当一定数目的子信息表被写入至可复写式非易失性存储器模块时,再将用以记录可复写式非易失性存储器模块的全部实体单元的总信息表写入至可复写式非易失性存储器模块,以分段记录状态改变的实体单元。如此一来,系统可利用较低的资源来记录/备份已改变的实体单元状态,增加了写入操作的平顺性与可复写式非易失性存储器模块的使用寿命,进而增进了工作效率。此外,本发明实施例所提供的数据备份方法、数据恢复方法以及存储控制器,可利用分于不同时机点所存储的不同类型的实体单元信息、子信息表与总信息表,在利用较少资源进行上述数据备份方法的情况下,还可有效率且安全地恢复总信息表与其中的对应可复写式非易失性存储器模块的所有实体单元的实体单元状态信息。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视后附的权利要求书所界定的为准。
Claims (18)
1.一种数据备份方法,适用于配置有一可复写式非易失性存储器模块的一存储装置,其中所述可复写式非易失性存储器模块具有多个实体单元,其特征在于,所述方法包括:
当配置所述多个实体单元中用以执行一第一写入操作的一第一实体单元时,根据所述第一写入操作设定对应所述第一实体单元的一第一实体单元状态;
根据所述第一实体单元状态与所述第一实体单元的一第一抹除次数值更新一存储器中的一总信息表中对应所述第一实体单元的一第一总数据,并且产生且附加对应所述第一实体单元的一第一子数据至所述存储器中的一子信息表以更新所述子信息表,其中所述子信息表包括对应所述子信息表的时间戳记、一配置阵列与分别对应一或多个实体单元的一或多个子数据,其中所述一或多个子数据记录对应的实体单元的索引码、抹除次数值与实体单元状态;
若所述第一实体单元的所述第一实体单元状态为一空状态且开始执行所述第一写入操作,依序写入对应所述第一实体单元的一第一实体单元信息与所述第一写入数据至所述第一实体单元;
当更新后的所述子信息表的所附加的所述一或多个子数据的总数目等于一第一预定值,将所述存储器中的更新后的所述子信息表写入至所述可复写式非易失性存储器模块,重置所述存储器的所述子信息表,并且累加一计数值;以及
当累加后的所述计数值等于一第二预定值,将所述存储器中的更新后的所述总信息表写入至所述可复写式非易失性存储器模块,并且归零所述计数值。
2.根据权利要求1所述的数据备份方法,其特征在于,所述总信息表包括对应所述总信息表的时间戳记与分别对应多个实体单元的多个总数据,其中所述多个总数据的每一个总数据记录对应的实体单元的抹除次数值与实体单元状态,
其中所述第一实体单元信息记录对应所述第一实体单元信息的时间戳记、所述第一抹除次数值与所述第一实体单元状态。
3.根据权利要求2所述的数据备份方法,其特征在于,所述方法还包括:
根据更新所述存储器中的所述总信息表中对应所述第一实体单元的所述第一总数据的当前时间来更新对应所述总信息表的所述时间戳记;
根据附加对应所述第一实体单元的所述第一子数据至所述存储器中的所述子信息表的当前时间来更新对应所述子信息表的所述时间戳记;以及
根据开始执行所述第一写入操作的当前时间来记录对应所述第一实体单元信息的所述时间戳记。
4.根据权利要求2所述的数据备份方法,其特征在于,所述子信息表的所述配置阵列记录分别对应所述多个实体单元中的多个第二实体单元的多个索引码,其中所述多个索引码的总数目为所述第一预定值,所述方法还包括:
根据存储于所述可复写式非易失性存储器模块中最新的子信息表的配置阵列的多个索引码来产生一当前配置阵列,其中上述配置所述多个实体单元中用以执行所述第一写入操作的所述第一实体单元的步骤包括:
当执行所述第一写入操作的前,辨识所述当前配置阵列的所述多个索引码中尚未被选择的一或多个第一索引码;
选择所述一或多个第一索引码中排序最前面的一第二索引码;以及
根据所选择的所述第二索引码来辨识对应所述第二索引码的所述第一实体单元,并且配置所述第一实体单元以执行所述第一写入操作。
5.根据权利要求4所述的数据备份方法,其特征在于,所述方法还包括:
在所述存储装置的一开卡程序中产生且写入初始的所述总信息表与初始的所述子信息表于所述存储器中;
写入所述存储器中的初始的所述总信息表与初始的所述子信息表至所述可复写式非易失性存储器模块,并且重置所述存储器中的所述子信息表;
其中初始的所述子信息表不具有任何子数据,
其中初始的所述总信息表的所述时间戳记为一第一初始时间戳记,并且初始的所述子信息表的所述时间戳记为一第二初始时间戳记。
6.根据权利要求5所述的数据备份方法,其特征在于,上述重置存储器中的所述子信息表的步骤包括:
清空所述子信息表中所有的子数据;
从所述多个实体单元中选择空的多个第三实体单元,其中所述多个第三实体单元的总数目为所述第一预定值;以及
将分别对应所述多个第三实体单元的多个第三索引码取代所述子信息表的所述配置阵列的所有索引码。
7.一种数据恢复方法,适用于配置有一可复写式非易失性存储器模块的一存储装置,其中所述可复写式非易失性存储器模块具有多个实体单元,其特征在于,所述方法包括:
反应于已发生的一特定事件,从所述可复写式非易失性存储器模块中读取最新的一总信息表,并且将所述总信息表写入至一存储器,其中所述总信息表包括对应所述总信息表的时间戳记与分别对应多个实体单元的多个总数据,其中所述多个总数据的每一个总数据记录对应的实体单元的抹除次数值与实体单元状态;
辨识存储在所述可复写式非易失性存储器模块的一或多个子信息表,其中所述一或多个子信息表中的每一个子信息表包括对应所述子信息表的时间戳记、一配置阵列与分别对应一或多个实体单元的一或多个子数据,其中所述一或多个子数据记录对应的实体单元的索引码、抹除次数值与实体单元状态;
从所述一或多个子信息表中选择一第一子信息表,并且根据所述第一子信息表来更新所述存储器中的所述总信息表,其中所述第一子信息表的时间戳记大于所述总信息表的时间戳记;
从所述一或多个子信息表中辨识最新的一第二子信息表,并且根据所述第二子信息表的配置阵列来辨识多个第一实体单元;
根据分别存储于所述多个第一实体单元的多个第一实体单元信息来更新所述存储器中的所述总信息表。
8.根据权利要求7所述的数据恢复方法,其特征在于,所述多个第一实体单元信息分别记录对应的第一实体单元的时间戳记、抹除次数值与实体单元状态,其中上述根据分别存储于所述多个第一实体单元的所述多个第一实体单元信息来更新所述存储器中的所述总信息表的步骤包括:
根据分别对应所述多个第一实体单元的所述多个第一实体单元信息所记录的多个第一抹除次数值来更新所述存储器中的所述总信息表中分别对应所述多个第一实体单元的多个第一总数据所记录的抹除次数值;以及
根据所述多个第一实体单元信息所分别记录的多个第一实体单元状态来更新所述多个第一总数据所记录的实体单元状态。
9.根据权利要求7所述的数据恢复方法,其特征在于,上述根据所述第一子信息表来更新所述存储器中的所述总信息表的步骤包括:
根据所述第一子信息表的多个第一子数据所记录的多个索引码来辨识所述多个实体单元中的分别对应所述多个第一子数据的多个第二实体单元;
根据分别对应所述多个第二实体单元的所述多个第一子数据所记录的多个第二抹除次数值来更新所述存储器中的所述总信息表中分别对应所述多个第二实体单元的多个第二总数据所记录的抹除次数值;以及
根据所述多个第一子数据所记录的多个第二实体单元状态来更新所述多个第二总数据所记录的实体单元状态。
10.一种存储控制器,用于控制配置有一可复写式非易失性存储器模块的一存储装置,其特征在于,所述存储控制器包括:
存储器接口控制电路,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体单元;以及
处理器,电性连接至所述存储器接口控制电路与一存储器,
其中当配置所述多个实体单元中用以执行一第一写入操作的一第一实体单元时,所述处理器用以根据所述第一写入操作设定对应所述第一实体单元的一第一实体单元状态,
其中所述处理器更用以根据所述第一实体单元状态与所述第一实体单元的一第一抹除次数值更新所述存储器中的一总信息表中对应所述第一实体单元的一第一总数据,并且产生且附加对应所述第一实体单元的一第一子数据至所述存储器中的一子信息表以更新所述子信息表,其中所述子信息表包括对应所述子信息表的时间戳记、一配置阵列与分别对应一或多个实体单元的一或多个子数据,其中所述一或多个子数据记录对应的实体单元的索引码、抹除次数值与实体单元状态,
其中若所述第一实体单元的所述第一实体单元状态为一空状态且所述处理器开始执行所述第一写入操作,所述处理器更用以依序写入对应所述第一实体单元的一第一实体单元信息与所述第一写入数据至所述第一实体单元,
其中当更新后的所述子信息表的所附加的所述一或多个子数据的总数目等于一第一预定值,所述处理器更用以将所述存储器中的更新后的所述子信息表写入至所述可复写式非易失性存储器模块,重置所述存储器的所述子信息表,并且累加一计数值,
其中当累加后的所述计数值等于一第二预定值,所述处理器更用以将所述存储器中的更新后的所述总信息表写入至所述可复写式非易失性存储器模块,并且归零所述计数值。
11.根据权利要求10所述的存储控制器,其特征在于,所述总信息表包括对应所述总信息表的时间戳记与分别对应多个实体单元的多个总数据,其中所述多个总数据的每一个总数据记录对应的实体单元的抹除次数值与实体单元状态,
其中所述第一实体单元信息记录对应所述第一实体单元信息的时间戳记、所述第一抹除次数值与所述第一实体单元状态。
12.根据权利要求11所述的存储控制器,其特征在于,所述处理器根据更新所述存储器中的所述总信息表中对应所述第一实体单元的所述第一总数据的当前时间来更新对应所述总信息表的所述时间戳记,
其中所述处理器根据附加对应所述第一实体单元的所述第一子数据至所述存储器中的所述子信息表的当前时间来更新对应所述子信息表的所述时间戳记,
其中所述处理器根据开始执行所述第一写入操作的当前时间来记录对应所述第一实体单元信息的所述时间戳记。
13.根据权利要求11所述的存储控制器,其特征在于,所述子信息表的所述配置阵列记录分别对应所述多个实体单元中的多个第二实体单元的多个索引码,其中所述多个索引码的总数目为所述第一预定值,
其中所述处理器根据存储于所述可复写式非易失性存储器模块中最新的子信息表的配置阵列的多个索引码来产生一当前配置阵列,其中在上述配置所述多个实体单元中用以执行所述第一写入操作的所述第一实体单元的运作中,
当执行所述第一写入操作的前,所述处理器辨识所述当前配置阵列的所述多个索引码中尚未被选择的一或多个第一索引码,
其中所述处理器选择所述一或多个第一索引码中排序最前面的一第二索引码,
其中所述处理器根据所选择的所述第二索引码来辨识对应所述第二索引码的所述第一实体单元,并且配置所述第一实体单元以执行所述第一写入操作。
14.根据权利要求13所述的存储控制器,其特征在于,所述处理器在所述存储装置的一开卡程序中产生且写入初始的所述总信息表与初始的所述子信息表于所述存储器中,
其中所述处理器写入所述存储器中的初始的所述总信息表与初始的所述子信息表至所述可复写式非易失性存储器模块,并且重置所述存储器中的所述子信息表,
其中初始的所述子信息表不具有任何子数据,
其中初始的所述总信息表的所述时间戳记为一第一初始时间戳记,并且初始的所述子信息表的所述时间戳记为一第二初始时间戳记。
15.根据权利要求14所述的存储控制器,其特征在于,在上述重置存储器中的所述子信息表的运作中,
所述处理器清空所述子信息表中所有的子数据,
其中所述处理器从所述多个实体单元中选择空的多个第三实体单元,其中所述多个第三实体单元的总数目为所述第一预定值,
其中所述处理器将分别对应所述多个第三实体单元的多个第三索引码取代所述子信息表的所述配置阵列的所有索引码。
16.一种存储控制器,用于控制配置有一可复写式非易失性存储器模块的一存储装置,其特征在于,所述存储控制器包括:
存储器接口控制电路,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体单元;以及
处理器,电性连接至所述存储器接口控制电路与一存储器,
其中反应于已发生的一特定事件,所述处理器用以从所述可复写式非易失性存储器模块中读取最新的一总信息表,并且将所述总信息表写入至一存储器,其中所述总信息表包括对应所述总信息表的时间戳记与分别对应多个实体单元的多个总数据,其中所述多个总数据的每一个总数据记录对应的实体单元的抹除次数值与实体单元状态,
其中所述处理器更用以辨识存储在所述可复写式非易失性存储器模块的一或多个子信息表,其中所述一或多个子信息表中的每一个子信息表包括对应所述子信息表的时间戳记、一配置阵列与分别对应一或多个实体单元的一或多个子数据,其中所述一或多个子数据记录对应的实体单元的索引码、抹除次数值与实体单元状态,
其中所述处理器更用以从所述一或多个子信息表中选择一第一子信息表,并且根据所述第一子信息表来更新所述存储器中的所述总信息表,其中所述第一子信息表的时间戳记大于所述总信息表的时间戳记,
其中所述处理器更用以从所述一或多个子信息表中辨识最新的一第二子信息表,并且根据所述第二子信息表的配置阵列来辨识多个第一实体单元,
其中所述处理器更用以根据分别存储于所述多个第一实体单元的多个第一实体单元信息来更新所述存储器中的所述总信息表。
17.根据权利要求16所述的存储控制器,其特征在于,所述多个第一实体单元信息分别记录对应的第一实体单元的时间戳记、抹除次数值与实体单元状态,其中在上述所述处理器更用以根据分别存储于所述多个第一实体单元的所述多个第一实体单元信息来更新所述存储器中的所述总信息表的运作中,
所述处理器根据分别对应所述多个第一实体单元的所述多个第一实体单元信息所记录的多个第一抹除次数值来更新所述存储器中的所述总信息表中分别对应所述多个第一实体单元的多个第一总数据所记录的抹除次数值,
其中所述处理器根据所述多个第一实体单元信息所分别记录的多个第一实体单元状态来更新所述多个第一总数据所记录的实体单元状态。
18.根据权利要求16所述的存储控制器,其特征在于,在上述根据所述第一子信息表来更新所述存储器中的所述总信息表的运作中,
所述处理器根据所述第一子信息表的多个第一子数据所记录的多个索引码来辨识所述多个实体单元中的分别对应所述多个第一子数据的多个第二实体单元,
其中所述处理器根据分别对应所述多个第二实体单元的所述多个第一子数据所记录的多个第二抹除次数值来更新所述存储器中的所述总信息表中分别对应所述多个第二实体单元的多个第二总数据所记录的抹除次数值,
其中所述处理器根据所述多个第一子数据所记录的多个第二实体单元状态来更新所述多个第二总数据所记录的实体单元状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710637630.3A CN109324921A (zh) | 2017-07-31 | 2017-07-31 | 数据备份方法、数据恢复方法以及存储控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710637630.3A CN109324921A (zh) | 2017-07-31 | 2017-07-31 | 数据备份方法、数据恢复方法以及存储控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109324921A true CN109324921A (zh) | 2019-02-12 |
Family
ID=65244866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710637630.3A Pending CN109324921A (zh) | 2017-07-31 | 2017-07-31 | 数据备份方法、数据恢复方法以及存储控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109324921A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI752713B (zh) * | 2020-11-04 | 2022-01-11 | 臺灣發展軟體科技股份有限公司 | 資料處理電路及故障減輕方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110343A1 (en) * | 2001-12-11 | 2003-06-12 | Mitsubishi Denki Kabushiki Kaisha | File system including non-volatile semiconductor memory device having a plurality of banks |
US20030188220A1 (en) * | 2002-03-28 | 2003-10-02 | International Business Machines Corporation | Method and apparatus for backing up and restoring data from nonvolatile memory |
US20060248269A1 (en) * | 2002-12-17 | 2006-11-02 | Yoshihiro Shona | Data rewriting method for flash memory using partial erases |
CN1947100A (zh) * | 2004-04-20 | 2007-04-11 | 松下电器产业株式会社 | 非易失性存储系统、非易失性存储装置、存储控制器、存取装置以及非易失性存储装置的控制方法 |
CN103150275A (zh) * | 2007-12-27 | 2013-06-12 | 桑迪士克企业知识产权有限责任公司 | 包括交叉切换器的用于闪存的存储控制器 |
CN103488583A (zh) * | 2013-09-09 | 2014-01-01 | 华中科技大学 | 一种高性能高可靠的固态盘实现方法 |
US8762661B2 (en) * | 2008-09-18 | 2014-06-24 | Seagate Technology Llc | System and method of managing metadata |
CN103946805A (zh) * | 2011-11-21 | 2014-07-23 | 桑迪士克科技股份有限公司 | 用于动态读取的清除技术 |
US9009396B2 (en) * | 2011-09-23 | 2015-04-14 | Avalanche Technology, Inc. | Physically addressed solid state disk employing magnetic random access memory (MRAM) |
CN104820641A (zh) * | 2015-04-16 | 2015-08-05 | 上海冉能自动化科技有限公司 | 减少flash擦除次数的方法 |
US9268646B1 (en) * | 2010-12-21 | 2016-02-23 | Western Digital Technologies, Inc. | System and method for optimized management of operation data in a solid-state memory |
CN106055663A (zh) * | 2016-06-03 | 2016-10-26 | 广东工业大学 | 一种基于双机热备份的视频存储方法 |
TW201703052A (zh) * | 2015-07-07 | 2017-01-16 | 群聯電子股份有限公司 | 平均磨損方法、記憶體儲存裝置及記憶體控制電路單元 |
CN106354651A (zh) * | 2015-07-14 | 2017-01-25 | 群联电子股份有限公司 | 平均磨损方法、存储器控制电路单元及存储器储存装置 |
-
2017
- 2017-07-31 CN CN201710637630.3A patent/CN109324921A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110343A1 (en) * | 2001-12-11 | 2003-06-12 | Mitsubishi Denki Kabushiki Kaisha | File system including non-volatile semiconductor memory device having a plurality of banks |
US20030188220A1 (en) * | 2002-03-28 | 2003-10-02 | International Business Machines Corporation | Method and apparatus for backing up and restoring data from nonvolatile memory |
US20060248269A1 (en) * | 2002-12-17 | 2006-11-02 | Yoshihiro Shona | Data rewriting method for flash memory using partial erases |
CN1947100A (zh) * | 2004-04-20 | 2007-04-11 | 松下电器产业株式会社 | 非易失性存储系统、非易失性存储装置、存储控制器、存取装置以及非易失性存储装置的控制方法 |
CN103150275A (zh) * | 2007-12-27 | 2013-06-12 | 桑迪士克企业知识产权有限责任公司 | 包括交叉切换器的用于闪存的存储控制器 |
US8762661B2 (en) * | 2008-09-18 | 2014-06-24 | Seagate Technology Llc | System and method of managing metadata |
US9268646B1 (en) * | 2010-12-21 | 2016-02-23 | Western Digital Technologies, Inc. | System and method for optimized management of operation data in a solid-state memory |
US9009396B2 (en) * | 2011-09-23 | 2015-04-14 | Avalanche Technology, Inc. | Physically addressed solid state disk employing magnetic random access memory (MRAM) |
CN103946805A (zh) * | 2011-11-21 | 2014-07-23 | 桑迪士克科技股份有限公司 | 用于动态读取的清除技术 |
CN103488583A (zh) * | 2013-09-09 | 2014-01-01 | 华中科技大学 | 一种高性能高可靠的固态盘实现方法 |
CN104820641A (zh) * | 2015-04-16 | 2015-08-05 | 上海冉能自动化科技有限公司 | 减少flash擦除次数的方法 |
TW201703052A (zh) * | 2015-07-07 | 2017-01-16 | 群聯電子股份有限公司 | 平均磨損方法、記憶體儲存裝置及記憶體控制電路單元 |
CN106354651A (zh) * | 2015-07-14 | 2017-01-25 | 群联电子股份有限公司 | 平均磨损方法、存储器控制电路单元及存储器储存装置 |
CN106055663A (zh) * | 2016-06-03 | 2016-10-26 | 广东工业大学 | 一种基于双机热备份的视频存储方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI752713B (zh) * | 2020-11-04 | 2022-01-11 | 臺灣發展軟體科技股份有限公司 | 資料處理電路及故障減輕方法 |
US11461204B2 (en) | 2020-11-04 | 2022-10-04 | Skymizer Taiwan Inc. | Data processing circuit and fault-mitigating method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN106469122B (zh) | 有效数据合并方法、存储器控制器与存储器储存装置 | |
CN104866429B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN104765569B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
TWI423022B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN106775436B (zh) | 数据存取方法、存储器控制电路单元与存储器 | |
CN110333770A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN106708416A (zh) | 数据重建方法与系统及其存储器控制电路单元 | |
CN105988950B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN106951186A (zh) | 数据程序化方法、存储器存储装置及存储器控制电路单元 | |
CN108733577A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN107346211A (zh) | 映射表加载方法、内存控制电路单元与内存储存装置 | |
CN107357520A (zh) | 整理指令处理方法、存储器控制电路单元及其存储装置 | |
CN107239225A (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN109840218A (zh) | 有效数据管理方法以及存储控制器 | |
CN106775479A (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN106814968A (zh) | 存储器管理方法与系统及其存储器存储装置 | |
CN109388520A (zh) | 数据备份方法、数据恢复方法以及存储控制器 | |
CN110471612A (zh) | 存储器管理方法以及存储控制器 | |
CN107102951B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN106648443B (zh) | 有效数据合并方法、存储器控制器与存储器存储装置 | |
CN106445397B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN109324921A (zh) | 数据备份方法、数据恢复方法以及存储控制器 | |
CN105335096B (zh) | 数据管理方法、存储器控制电路单元以及存储器存储装置 | |
CN110308876A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190409 Address after: Room 609, 6th Floor, Taibang Science and Technology Building, Nanshan District, Shenzhen City, Guangdong Province Applicant after: SHENZHEN DAXIN ELECTRONIC TECHNOLOGY Co.,Ltd. Address before: 4th Floor, Alan Scotton Building, 3076 Sir Francis Drake Road, Luther Town, Tortola Island Applicant before: EPOSTAR ELECTRONICS (BVI) Corp. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190212 |
|
RJ01 | Rejection of invention patent application after publication |