数据重建方法与系统及其存储器控制电路单元与流程

文档序号:12063264阅读:237来源:国知局
数据重建方法与系统及其存储器控制电路单元与流程

本发明是有关于一种数据重建方法,且特别是有关于一种可重建映射表的数据重建方法与系统及其存储器控制电路单元。



背景技术:

数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。

为了进行数据存取,利用可复写式非易失性存储器模块作为存储媒体的存储器存储装置会将逻辑地址与实体地址之间的映射关系记录在逻辑-实体映射表中。一般来说,当写入数据至存储器存储装置时,会一并更新逻辑-实体映射表中的映射信息。然而,存储器存储装置在经过一段时间的使用之后,可能因人为因素或其他原因而使可复写式非易失性存储器模块中的实体抹除单元损坏。倘若,损坏的实体抹除单元恰好存储了逻辑-实体映射表,将导致无法正常存取存储器存储装置中的数据的情况。因此,如何重建逻辑-实体映射表进而取得存储器存储装置中的数据,为此领域技术人员所关心的议题。



技术实现要素:

本发明提供一种数据重建方法与系统及其存储器控制电路单元,当可复写式非易失性存储器模块发生损坏而使逻辑-实体映射表损毁时,可依据既有的实体-逻辑映射信息重建逻辑-实体映射表,进而识别可复写式非易失性存储器模块中所存储的数据。

本发明的数据重建方法,用于存储器存储装置。此存储器存储装置具有可复写式非易失性存储器模块,且此可复写式非易失性存储器模块具有多个实体抹除单元。本数据重建方法包括读取存储于可复写式非易失性存储器模 块中的实体-逻辑映射信息以及对应于实体-逻辑映射信息的时间信息,并且根据时间信息排序实体-逻辑映射信息。本数据重建方法还包括根据已排序的实体-逻辑映射信息建立多个逻辑-实体映射信息以产生逻辑-实体映射表,并且将此逻辑-实体映射表回存至存储器存储装置的缓冲存储器中。

在本发明的一范例实施例中,上述将逻辑-实体映射表回存至存储器存储装置的缓冲存储器中的步骤包括根据对应于一读取指令的最大读取数据量计算逻辑地址个数,并且根据逻辑地址个数将逻辑-实体映射表的多个逻辑-实体映射信息分批写入至存储器存储装置的缓冲存储器中。

在本发明的一范例实施例中,上述时间信息包括写入时间信息及整理时间信息。

在本发明的一范例实施例中,上述的实体-逻辑映射信息包括第一实体-逻辑映射信息及第二实体-逻辑映射信息。上述根据时间信息排序此些实体-逻辑映射信息的步骤包括根据写入时间信息排序实体-逻辑映射信息。倘若第一实体-逻辑映射信息的第一写入时间信息与第二实体-逻辑映射信息的第二写入时间信息相同,根据第一实体-逻辑映射信息的第一整理时间信息与第二实体-逻辑映射信息的第二整理时间信息排序第一实体-逻辑映射信息及第二实体-逻辑映射信息。

在本发明的一范例实施例中,上述的实体-逻辑映射信息包括第三实体-逻辑映射信息及第四实体-逻辑映射信息。上述根据已排序的实体-逻辑映射信息建立逻辑-实体映射信息以产生逻辑-实体映射表的步骤还包括倘若第三实体-逻辑映射信息及第四实体-逻辑映射信息包括相同的逻辑地址,且第四实体-逻辑映射信息的时间信息排序在第三实体-逻辑映射信息的时间信息之后,根据第四实体-逻辑映射信息更新逻辑-实体映射表。

在本发明的一范例实施例中,上述的每一实体抹除单元具有多个实体程序化单元,其中此些实体程序化单元包括第一实体程序化单元及第二实体程序化单元。上述的数据重建方法在产生逻辑-实体映射表的步骤之后还包括读取第一实体程序化单元的第一信息及第一逻辑地址,其中第一实体程序化单元所对应的第五实体-逻辑映射信息尚未存储至可复写式非易失性存储器模块中。再者,还根据逻辑-实体映射表读取第一逻辑地址所映射的第二实体程序化单元中的第二信息。倘若第一信息与第二信息不相同,更新逻辑-实体映 射表中的第一逻辑地址映射至第一实体程序化单元。

在本发明的一范例实施例中,上述的数据重建方法在读取存储于可复写式非易失性存储器中的实体-逻辑映射信息之前还包括将来自于主机系统的数据重建控制码载入至存储器存储装置的缓冲存储器中。此数据重建控制码会运行以根据主机系统的至少一指令读取存储于可复写式非易失性存储器模块中的实体-逻辑映射信息。

在本发明的一范例实施例中,上述的实体-逻辑映射信息是存储在可复写式非易失性存储器模块的至少一实体抹除单元中的数据比特区,并且时间信息是存储在此实体抹除单元中的冗余比特区。

在本发明的一范例实施例中,上述的数据重建方法还包括记录实体-逻辑映射信息在缓冲存储器中。并且,将记录在缓冲存储器中的实体-逻辑映射信息以及实体-逻辑映射信息所对应的时间信息存储至可复写式非易失性存储器模块中。

本发明的存储器控制电路单元,配置于存储器存储装置,用于控制存储器存储装置的可复写式非易失性存储器模块,其中此可复写式非易失性存储器模块具有多个实体抹除单元。本存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。主机接口电性连接至主机系统。存储器接口电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路读取存储于可复写式非易失性存储器模块中的实体-逻辑映射信息以及对应于实体-逻辑映射信息的时间信息,并且根据时间信息排序实体-逻辑映射信息。另,存储器管理电路还根据已排序的实体-逻辑映射信息建立多个逻辑-实体映射信息以产生逻辑-实体映射表,并且将逻辑-实体映射表载入至存储器存储装置的缓冲存储器中。

在本发明的一范例实施例中,上述的存储器管理电路根据对应于一读取指令的最大读取数据量计算逻辑地址个数,并且根据逻辑地址个数将逻辑-实体映射表的多个逻辑-实体映射信息分批载入至存储器存储装置的该缓冲存储器中。

在本发明的一范例实施例中,上述的时间信息包括写入时间信息及整理时间信息。

在本发明的一范例实施例中,上述的实体-逻辑映射信息包括第一实体- 逻辑映射信息及第二实体-逻辑映射信息。上述的存储器管理电路根据写入时间信息排序实体-逻辑映射信息。倘若第一实体-逻辑映射信息的第一写入时间信息与第二实体-逻辑映射信息的第二写入时间信息相同,上述的存储器管理电路还根据第一实体-逻辑映射信息的第一整理时间信息与第二实体-逻辑映射信息的第二整理时间信息排序第一实体-逻辑映射信息及第二实体-逻辑映射信息。

在本发明的一范例实施例中,上述的实体-逻辑映射信息包括第三实体-逻辑映射信息及第四实体-逻辑映射信息。倘若第三实体-逻辑映射信息及第四实体-逻辑映射信息包括相同的逻辑地址,并且第四实体-逻辑映射信息排序在第三实体-逻辑映射信息之后,上述的存储器管理电路还根据第四实体-逻辑映射信息更新逻辑-实体映射表。

在本发明的一范例实施例中,上述的每一实体抹除单元具有多个实体程序化单元,其中此些实体程序化单元包括第一实体程序化单元及第二实体程序化单元。上述的存储器管理电路还读取第一实体程序化单元的第一信息及第一逻辑地址,其中此第一实体程序化单元所对应的第五实体-逻辑映射信息尚未存储至可复写式非易失性存储器模块中。再者,上述的存储器管理电路还根据逻辑-实体映射表读取第一逻辑地址所映射的第二实体程序化单元中的第二信息。倘若第一信息与第二信息不相同,存储器管理电路更新逻辑-实体映射表中的第一逻辑地址映射至第一实体程序化单元。

在本发明的一范例实施例中,上述的存储器管理电路还将来自于主机系统的数据重建控制码载入至存储器存储装置的缓冲存储器中。此数据重建控制码会运行以使上述的存储器管理电路根据主机系统的至少一指令读取存储于可复写式非易失性存储器模块中的实体-逻辑映射信息。

在本发明的一范例实施例中,上述的实体-逻辑映射信息是存储在可复写式非易失性存储器模块的至少一实体抹除单元中的数据比特区,并且时间信息是存储在此实体抹除单元中的冗余比特区。

在本发明的一范例实施例中,上述的存储器管理电路记录实体-逻辑映射信息在缓冲存储器中,并且将记录在缓冲存储器中的实体-逻辑映射信息以及实体-逻辑映射信息所对应的时间信息存储至可复写式非易失性存储器模块中。

本发明的数据重建系统包括主机系统及存储器存储装置。主机系统具有数据重建单元。存储器存储装置包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元电性连接至主机系统。可复写式非易失性存储器模块具有多个实体抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。数据重建单元传送至少一读取指令至存储器存储装置,且存储器控制电路单元根据此读取指令读取存储于可复写式非易失性存储器模块中的实体-逻辑映射信息以及对应于实体-逻辑映射信息的时间信息以回应于此读取指令。数据重建单元还根据时间信息排序实体-逻辑映射信息。另,数据重建单元还根据已排序的实体-逻辑映射信息建立多个逻辑-实体映射信息以产生逻辑-实体映射表,并且将逻辑-实体映射表回存至存储器存储装置的缓冲存储器中。

在本发明的一范例实施例中,上述的数据重建单元根据对应于一读取指令的最大读取数据量计算逻辑地址个数,并且根据逻辑地址个数将逻辑-实体映射表的多个逻辑-实体映射信息分批写入至存储器存储装置的该缓冲存储器中。

在本发明的一范例实施例中,上述的时间信息包括写入时间信息及整理时间信息。

在本发明的一范例实施例中,上述的实体-逻辑映射信息包括第一实体-逻辑映射信息及第二实体-逻辑映射信息。上述的数据重建单元还根据写入时间信息排序实体-逻辑映射信息。倘若第一实体-逻辑映射信息的第一写入时间信息与第二实体-逻辑映射信息的第二写入时间信息相同,上述的数据重建单元还根据第一实体-逻辑映射信息的第一整理时间信息与第二实体-逻辑映射信息的第二整理时间信息排序第一实体-逻辑映射信息及第二实体-逻辑映射信息。

在本发明的一范例实施例中,上述的实体-逻辑映射信息包括第三实体-逻辑映射信息及第四实体-逻辑映射信息。倘若第三实体-逻辑映射信息及第四实体-逻辑映射信息包括相同的逻辑地址,并且第四实体-逻辑映射信息排序在第三实体-逻辑映射信息之后,上述的数据重建单元根据第四实体-逻辑映射信息更新逻辑-实体映射表。

在本发明的一范例实施例中,上述的每一实体抹除单元具有多个实体程 序化单元,其中此些实体程序化单元包括第一实体程序化单元及第二实体程序化单元。上述的数据重建单元传送第一读取指令至存储器存储装置,且上述的存储器控制电路单元根据第一读取指令读取第一实体程序化单元的第一信息及第一逻辑地址以回应于第一读取指令,并且第一实体程序化单元所对应的第五实体-逻辑映射信息尚未存储至可复写式非易失性存储器模块中。再者,上述的数据重建单元还根据第一逻辑地址及逻辑-实体映射表传送第二读取指令至存储器存储装置,且上述的存储器控制电路单元还根据第二读取指令读取第一逻辑地址所映射的第二实体程序化单元中的第二信息以回应于第二读取指令。倘若第一信息与第二信息不相同,上述的数据重建单元更新逻辑-实体映射表中的第一逻辑地址映射至第一实体程序化单元。

在本发明的一范例实施例中,上述的数据重建单元还传送数据重建控制码至存储器存储装置,且上述的存储器控制电路单元还将此数据重建控制码载入至存储器存储装置的缓冲存储器中。此数据重建控制码会运行以使上述的存储器控制电路单元根据上述的数据重建单元的读取指令读取存储于可复写式非易失性存储器模块中的实体-逻辑映射信息。

在本发明的一范例实施例中,上述的实体-逻辑映射信息是存储在可复写式非易失性存储器模块的至少一实体抹除单元中的数据比特区,并且时间信息是存储此实体抹除单元中的冗余比特区。

在本发明的一范例实施例中,上述的存储器控制电路单元记录实体-逻辑映射信息在缓冲存储器中,并且将记录在缓冲存储器中的实体-逻辑映射信息以及实体-逻辑映射信息所对应的时间信息存储至可复写式非易失性存储器模块中。

基于上述,在可复写式非易失性存储器模块发生损坏而无法存取逻辑-实体映射表时,可根据存储在可复写式非易失性存储器模块中的实体-逻辑映射信息,重建出存取数据所需的逻辑-实体映射表。并且,可将重建的逻辑-实体映射表存储至存储器存储装置的缓冲存储器以供存取,进而正确地读出存储于可复写式非易失性存储器模块中的数据。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1是根据一实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;

图2是根据另一实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;

图3是根据另一实施例所示出的主机系统与存储器存储装置的示意图;

图4是根据一实施例所示出的主机系统与存储器存储装置的概要方块图;

图5是根据一实施例所示出的存储器控制电路单元的概要方块图;

图6与图7是根据一实施例所示出的管理实体抹除单元的范例示意图;

图8是根据一实施例所示出的存储在实体抹除单元中的实体-逻辑映射信息及时间信息的示意图;

图9是根据一实施例所示出的对应一般写入操作而存储实体-逻辑映射信息的示意图;

图10A是根据一实施例所示出的对应垃圾收集操作而存储实体-逻辑映射信息的示意图;

图10B是根据另一实施例所示出的对应垃圾收集操作而存储实体-逻辑映射信息的示意图;

图11是根据一实施例所示出的建立逻辑-实体映射表的示意图;

图12A及12B是根据一实施例所示出的比对使用者数据以更新逻辑-实体映射表的示意图;

图13是根据一实施例所示出的数据重建方法的流程图。

附图标记说明:

10:存储器存储装置;

11:主机系统;

12:输入/输出(I/O)装置;

110:系统总线;

111:处理器;

112:随机存取存储器(RAM);

113:只读存储器(ROM);

114:数据传输接口;

20:主机板;

201:随身碟;

202:记忆卡;

203:固态硬盘;

204:无线存储器存储装置;

205:全球定位系统模块;

206:网络接口卡;

207:无线传输装置;

208:键盘;

209:屏幕;

210:喇叭;

30:存储器存储装置;

31:主机系统;

32:SD卡;

33:CF卡;

34:嵌入式存储装置;

341:嵌入式多媒体卡;

342:嵌入式多芯片封装存储装置;

402:连接接口单元;

404:存储器控制电路单元;

406:可复写式非易失性存储器模块;

408:数据重建单元;

410(0)~410(N)、PBA(0)~PBA(3):实体抹除单元;

502:存储器管理电路;

504:主机接口;

506:存储器接口;

508:缓冲存储器;

510:电源管理电路;

512:错误检查与校正电路;

602:数据区;

604:闲置区;

606:系统区;

608:取代区;

LBA(0)~LBA(H):逻辑单元;

LZ(0)~LZ(M):逻辑区域;

LA(0)~LA(E):逻辑地址;

PA(0-0)~PA(0-2)、PA(1-0)~PA(1-2)、PA(2-0)~PA(2-2)、PA(3-0)~PA(3-2):实体地址;

910(0)~910(E):逻辑程序化单元;

410(F-0)~410(F-F):实体程序化单元;

920:区域;

1101:实体-逻辑映射信息整理表;

1102、1201、1202:逻辑-实体映射表;

D(0)~D(E)、D1~D6:数据;

921~926:实体-逻辑映射信息;

S1301、S1303、S1305、S1307:步骤。

具体实施方式

一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。

图1是根据一实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图,且图2是根据另一实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。

请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(random access 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可例如是随身碟201、记忆卡202、固态硬盘(Solid State Drive,简称:SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(Near Field Communication 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 Chip Package,简称:eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。

图4是根据一实施例所示出的主机系统与存储器存储装置的概要方块 图。

请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。

在本范例实施例中,连接接口单元402是相容于串行高级技术附件(SerialAdvanced Technology Attachment,简称:SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级技术附件(Parellel Advanced Technology Attachment,简称:PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,简称:IEEE)1394标准、高速外设互联接口(Peripheral Component Interconnect Express,简称:PCIExpress)标准、通用串行总线(Universal Serial Bus,简称:USB)标准、超高速一代(Ultra High Speed-I,简称:UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称:UHS-II)接口标准、安全数字(Secure Digital,简称:SD)接口标准、存储棒(Memory Stick,简称:MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,简称:MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,简称:eMMC)接口标准、通用快闪存储器(Universal Flash Storage,简称:UFS)接口标准、嵌入式多芯片封装(embedded Multi Chip Package,简称:eMCP)接口标准、小型快闪(Compact Flash,简称:CF)接口标准、集成驱动电子接口(Integrated Device Electronics,简称:IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元的芯片外。

存储器控制电路单元404用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。

可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有复数个实体程序化单元,其中属于同一个实体抹除单元的实体 程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。

更详细来说,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据比特区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。

在本范例实施例中,可复写式非易失性存储器模块406为多层存储单元(Multi Level Cell,简称:MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个数据比特的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是单层存储单元(Single Level Cell,简称:SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个数据比特的快闪存储器模块)、复数层存储单元(Trinary Level Cell,简称:TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个数据比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。

在本范例实施例中,主机系统11通过数据重建单元408来传送控制指令至存储器存储装置10以进行数据重建,而存储器控制电路单元404会执行对应操作以回应于从主机系统所接收的指令。例如,数据重建单元408包括以软件程序码所实作的数据重建应用程序,其可在主机系统11的作业系统(operation system,简称:OS)中运行。在本范例实施例中,主机系统11的作业系统为微软(Microsoft)公司的视窗(Windows)作业系统。然而,必须了解的是,本发明不限于此,本发明也可应用于Linux、Mac或其他作业系统中。

图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。

请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512。

存储器管理电路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是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。

存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会通过存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。

缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。

电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。

错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称:ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校 正程序。

图6与图7是根据一实施例所示出的管理实体抹除单元的范例示意图。

必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。

请参照图6,存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(0)~410(N)逻辑地分组为数据区602、闲置区604、系统区606与取代区608。

逻辑上属于数据区602与闲置区604的实体抹除单元是用以存储来自于主机系统11的数据。具体来说,数据区602的实体抹除单元是被视为已存储数据的实体抹除单元,而闲置区604的实体抹除单元是用以替换数据区602的实体抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路502会从闲置区604中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区602的实体抹除单元。

逻辑上属于系统区606的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。

逻辑上属于取代区608中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区608中仍存有正常的实体抹除单元并且数据区602的实体抹除单元损坏时,存储器管理电路502会从取代区608中提取正常的实体抹除单元来更换损坏的实体抹除单元。

特别是,数据区602、闲置区604、系统区606与取代区608的实体抹除单元的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的运作中,实体抹除单元关联至数据区602、闲置区604、系统区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的实体抹除单元损坏而被取代区608的实体抹除单元取代时,则原本取代区608的实体抹除单元会被关联至闲置区604。

请参照图7,存储器控制电路单元404(或存储器管理电路502)会配置逻辑单元LBA(0)~LBA(H)以映射数据区602的实体抹除单元,其中每一逻辑单元具有多个逻辑子单元以映射对应的实体抹除单元的实体程序化单元。并且,当主机系统11欲写入数据至逻辑单元或更新存储于逻辑单元中的数据时,存储器控制电路单元404(或存储器管理电路502)会从闲置区604中提取一个实体抹除单元来写入数据,以轮替数据区602的实体抹除单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。

为了识别每个逻辑单元的数据被存储在哪个实体抹除单元,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会记录逻辑单元与实体抹除单元之间的映射。并且,当主机系统11欲在逻辑子单元中存取数据时,存储器控制电路单元404(或存储器管理电路502)会确认此逻辑子单元所属的逻辑单元,并且在此逻辑单元所映射的实体抹除单元中来存取数据。例如,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会在可复写式非易失性存储器模块406中存储逻辑-实体映射表来记录每一逻辑单元所映射的实体抹除单元,并且当欲存取数据时存储器控制电路单元404(或存储器管理电路502)会将逻辑-实体映射表载入至缓冲存储器508来维护。

值得一提的是,由于缓冲存储器508的容量有限无法存储记录所有逻辑单元的映射关系的映射表,因此,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将逻辑单元LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑-实体映射表。特别是,当存储器控制电路单元404(或存储器管理电路502)欲更新某个逻辑单元的映射时,对应此逻辑单元所属的逻辑区域的逻辑-实体映射表会被载入至缓冲存储器508来被更新。

在本范例实施例中,存储器存储装置10的可复写式非易失性存储器模块406是以实体程序化单元为基础(也称为页面为基础(page based))来进行管理。例如,在执行写入指令时,不管目前数据是要写入至哪个逻辑单元所对应的逻辑程序化单元,存储器控制电路单元404(或存储器管理电路502)皆会以一个实体程序化单元接续一个实体程序化单元的方式来写入数据(也称为随机写入机制)。具体来说,以下也称为随机写入机制会从闲置区604 中提取一个空的实体抹除单元作为目前使用的实体抹除单元(也称为作动实体抹除单元)来写入数据。并且,当此目前使用的实体抹除单元已被写满时,存储器控制电路单元404(或存储器管理电路502)会再从闲置区604中提取另一个空的实体抹除单元作为目前使用的实体抹除单元,以继续写入数据。

在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)还会在缓冲存储器508中划分出一区域以记录多个实体-逻辑映射信息。实体-逻辑映射信息是记录用以存储数据的实体单元至逻辑单元的映射关系。尔后,存储器控制电路单元404(或存储器管理电路502)会再将记录在缓冲存储器508中的实体-逻辑映射信息存储至可复写式非易失性存储器模块406中。例如,对应于将某笔数据写入至闲置区604中的某个实体抹除单元,则对应于此笔数据的实体-逻辑映射信息会先被记录在缓冲存储器508中,尔后再被存储至此实体抹除单元中的实体程序化单元中。

特别是,在本范例实施例中,关于实体-逻辑映射信息的时间信息也会一并被存储至实体抹除单元中,以表示此实体-逻辑映射信息的产生时间。例如,时间信息可根据将写入数据写入至实体抹除单元的时间来设定,或者也可根据实体-逻辑映射信息被写入至实体抹除单元中的时间来设定。此外,存储器控制电路单元404(或存储器管理电路502)会将实体-逻辑映射信息存储至实体抹除单元的数据比特区,并且将对应于实体-逻辑映射信息的时间信息存储至实体抹除单元的冗余比特区。

图8是根据一实施例所示出的存储在实体抹除单元中的实体-逻辑映射信息及时间信息的示意图。

请参照图8,实体-逻辑映射信息是存储在实体抹除单元的数据比特区并且包括表示实体单元与逻辑单元的映射关系的信息,时间信息是存储在实体抹除单元的冗余比特区并且包括表示对应此映射关系的时间。在本范例实施例中,存储在实体抹除单元中的实体-逻辑映射信息会记录此实体抹除单元所映射的逻辑地址,并且确实的映射关系是依据逻辑地址在此实体抹除单元中的实际存储地址来辨别。然而,在另一范例实施例中,实体-逻辑映射信息中也可以包括不同于上述的信息或判断方法来辨识实体单元与逻辑单元的映射关系。

此外,在本范例实施例中,时间信息可包括写入时间信息及整理时间信 息。写入时间信息及整理时间信息可预设为预设值。而当执行一般写入操作而需存储实体-逻辑映射信息时,存储器控制电路单元404(或存储器管理电路502)会以对应一般写入操作的执行时间来设定实体-逻辑映射信息的写入时间信息。另外,当在背景执行数据整理操作(例如,数据合并或垃圾收集(garbage collection)等)而需存储实体-逻辑映射信息时,存储器控制电路单元404(或存储器管理电路502)会另外以对应数据整理操作的执行时间来设定实体-逻辑映射信息的整理时间信息。

举例而言,对应于一般写入操作,会更新实体-逻辑映射信息的写入时间信息。而对应于在背景执行的数据整理操作,不仅会更新实体-逻辑映射信息的写入时间信息,还会更新实体-逻辑映射信息的整理时间信息。时间信息可依据操作的执行时间的先后以递增的顺序值(例如1、2、3…等)来设定。例如,写入时间信息及整理时间信息的预设值为0。对应于一般写入操作,可依一般写入操作的执行时间先后,依序将对应的写入时间信息设定为序列数值1、2、3…等。对应于数据整理操作,可依数据整理操作的执行时间先后,依序将对应的整理时间信息设定为序列数值1、2、3…等。此外,在另一范例实施例中,也可在数据整理操作完成后将整理时间信息重新设定。例如,假设整理时间信息依数据整理操作的执行时间先后,依序将对应的整理时间信息设定为1、2、3。在下次执行数据整理操作时,对应的整理时间信息会从1开始设定。

值得一提的是,在本范例实施例中,时间信息虽然是同时包括写入时间信息及整理时间信息,然而,在另一范例实施例中,时间信息也可仅包括写入时间信息,而不包括整理时间信息。

图9是根据一实施例所示出的对应一般写入操作而存储实体-逻辑映射信息的示意图。

请参照图9,存储器控制电路单元404(或存储器管理电路502)会接收写入指令与对应于此写入指令的写入数据D(0)~D(E)。在本范例实施例中,是假设此写入指令指示将写入数据D(0)~D(E)写入逻辑程序化单元910(0)~910(E)。

存储器控制电路单元404(或存储器管理电路502)会从可复写式非易失性存储器模块406中提取至少一个实体抹除单元来写入此写入数据。例如, 存储器控制电路单元404(或存储器管理电路502)将写入数据D(0)~D(E)存储至实体抹除单元410(F)的实体程序化单元410(F-0)~410(F-E)中。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)可在缓冲存储器508中划分出区域920。并且,存储器控制电路单元404(或存储器管理电路502)会将对应于写入数据D(0)~D(E)的实体-逻辑映射信息921暂存在缓冲存储器508中的区域920中,尔后再将记录在区域920中的实体-逻辑映射信息921存储至实体抹除单元410(F)中。例如,实体-逻辑映射信息921是记录了写入数据D(0)~D(E)所对应的逻辑程序化单元910(0)~910(E)的逻辑地址LA(0)~LA(E)。

详细而言,存储器控制电路单元404(或存储器管理电路502)会将写入数据D(0)~D(E)存储至实体程序化单元410(F-0)~410(F-E)的数据比特区,并且将对应于写入数据D(0)~D(E)的逻辑程序化单元910(0)~910(E)的逻辑地址LA(0)~LA(E)记录在实体程序化单元410(F-0)~410(F-E)的冗余比特区。尔后,存储器控制电路单元404(或存储器管理电路502)会将缓冲存储器508中的实体-逻辑映射信息921存储至实体程序化单元410(F-F)。如图9所示,实体-逻辑映射信息921被存储至实体程序化单元410(F-F)的数据比特区。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)将实体-逻辑映射信息921存储至实体程序化单元410(F-F)的数据比特区时,会一并将对应于实体-逻辑映射信息921的时间信息存储至实体程序化单元410(F-F)的冗余比特区。由于,本范例实施例是对应于一般写入操作,因此会设定写入时间信息来代表实体-逻辑映射信息921的时间,例如,将写入时间信息设定为1。而整理时间信息则可被设定为预设值,例如0,或依实际需求设定,在此不加以限制。值得一提的是,在本范例实施例中,实体程序化单元与逻辑程序化单元是一对一的映射关系,然而,在其它范例实施例中,实体程序化单元与逻辑程序化单元也可是一对多的映射。例如,写入数据经过压缩的情况,一个实体程序化单元可能会对应多个逻辑程序化单元。

图10A是根据一实施例所示出的对应垃圾收集操作而存储实体-逻辑映射信息的示意图。图10B是根据另一实施例所示出的对应垃圾收集操作而存储实体-逻辑映射信息的示意图。

请参照图10A,当对实体抹除单元410(0)及实体抹除单元410(1)执行垃 圾收集操作时,存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(0)及实体抹除单元410(1)中的有效数据搬移至另一个实体抹除单元中。例如,存储器控制电路单元404(或存储器管理电路502)将实体抹除单元410(0)中的有效数据D1、D2及实体抹除单元410(1)中的有效数据D3存储至实体抹除单元410(F+1)的数据比特区。存储器控制电路单元404(或存储器管理电路502)也将此些有效数据所对应的逻辑地址(即,逻辑地址LA(0)、LA(2)、LA(3))存储至冗余比特区。并且,存储器控制电路单元404(或存储器管理电路502)会将关于实体抹除单元410(F+1)的实体-逻辑映射信息922存储至实体抹除单元410(F+1)中。因此,实体抹除单元410(F+1)会存储有效数据D1与对应的逻辑地址LA(0)、有效数据D2与对应的逻辑地址LA(2)、有效数据D3与对应的逻辑地址LA(3)以及实体-逻辑映射信息922。在本范例实施例中,实体-逻辑映射信息922是记录了有效数据D1、D2、D3所对应的逻辑地址(即,逻辑地址LA(0)、LA(2)、LA(3))。由于本范例实施例是对应于垃圾收集操作,因此存储器控制电路单元404(或存储器管理电路502)会设定写入时间信息及整理时间信息来代表实体-逻辑映射信息922的时间。例如,在本实施例中,仅使用一个实体抹除单元(即实体抹除单元(F+1))即完成垃圾收集操作,因此,将对应于实体抹除单元(F+1)的整理时间信息设定为1。而写入时间信息可根据对应于一般写入操作的时间顺序来设定。例如,在本范例实施例中,实体-逻辑映射信息922的写入时间信息可设定为3。然而,在另一范例实施例中,写入时间信息也可依实际需求设定为其他值。

请参照图10B,当需从闲置区提取多个实体抹除单元来存储有效数据以完成一次垃圾收集操作时(例如,从闲置区提取两个实体抹除单元来存储有效数据以释放出三个实体抹除单元),存储器控制电路单元404(或存储器管理电路502)可依据此些实体抹除单元被提取以存储有效数据的时间顺序依序设定整理时间信息。如图10B所示,假设存储器控制电路单元404(或存储器管理电路502)需提取实体抹除单元410(F+1)及410(F+2)来存储实体抹除单元410(0)、410(1)及410(2)的有效数据,才能完成本次垃圾收集操作。存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(0)的有效数据D1、D2及实体抹除单元410(1)的有效数据D3存储至实体抹除单 元410(F+1),并且将实体-逻辑映射信息922存储至实体抹除单元410(F+1),以及将写入时间信息设定为4,而将整理时间信息设定为1。再者,存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(1)的有效数据D4及实体抹除单元410(2)的有效数据D5、D6存储至实体抹除单元410(F+2),并且将实体-逻辑映射信息926存储至实体抹除单元410(F+1),以及将写入时间信息同样地设定为4,而将整理时间信息设定为2。在本范例实施例中,实体-逻辑映射信息922是记录了有效数据D1、D2、D3所对应的逻辑地址(即,逻辑地址LA(0)、LA(2)、LA(3)),而实体-逻辑映射信息926是记录了有效数据D4、D5、D6所对应的逻辑地址(即,逻辑地址LA(5)、LA(6)、LA(8))。此外,值得一提的是,在本范例实施例中,在完成一次垃圾收集操作的过程中,被提取以存储有效数据的所有实体抹除单元的写入时间信息会被设定为相同值。

上述范例实施例中,存储器控制电路单元404(或存储器管理电路502)是将缓冲存储器508中的实体-逻辑映射信息存储至相关的实体抹除单元中。然而,在其它范例实施例中,存储器控制电路单元404(或存储器管理电路502)也可将缓冲存储器508中的实体-逻辑映射信息存储至特殊的实体抹除单元中,此特殊的实体抹除单元即是专门用来存储实体-逻辑映射信息。

在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会在适当的时间点利用实体-逻辑映射信息来更新逻辑-实体映射表。例如,当缓冲存储器508中用来存储实体-逻辑映射信息的空间已满时,存储器控制电路单元404(或存储器管理电路502)会根据缓冲存储器508中的实体-逻辑映射信息来更新逻辑-实体映射表,并将更新后的逻辑-实体映射表回存至可复写式非易失性存储器模块406中。

然而,当存储器存储装置10使用一段时间之后可能发生可复写式非易失性存储器模块406损坏的情况,使所存储的逻辑-实体映射表损毁而无法正常存取数据。因此,在本范例实施例中,倘若逻辑-实体映射表已损毁,可通过整理可复写式非易失性存储器模块406的实体-逻辑映射信息来重建逻辑-实体映射表,进而识别可复写式非易失性存储器模块406所存储的数据(例如,使用者数据)。

图11是根据一实施例所示出的建立逻辑-实体映射表的示意图。

当需要重建数据时,主机系统11会下达控制指令指示存储器控制电路单元404(或存储器管理电路502)执行对应操作。例如,存储器控制电路单元404(或存储器管理电路502)会根据来自于主机系统11的读取指令读取存储在所有实体抹除单元中的实体-逻辑映射信息及对应的时间信息,并将所读取的实体-逻辑映射信息及时间信息回应于主机系统11。更进一步地,主机系统11会根据实体-逻辑映射信息所对应的时间信息来整理实体-逻辑映射信息。在本范例实施例中,假设所读取的实体-逻辑映射信息包括对应于实体抹除单元PBA(0)~PBA(3)的实体-逻辑映射信息。实体抹除单元PBA(0)的实体-逻辑映射信息包括逻辑地址LA(0)、LA(1)、LA(2),并且对应于逻辑地址LA(0)、LA(1)、LA(2)的写入时间信息与整理时间信息分别为1与0。实体抹除单元PBA(1)的实体-逻辑映射信息包括逻辑地址LA(3)、LA(4)、LA(5),并且对应于逻辑地址LA(3)、LA(4)、LA(5)的写入时间信息与整理时间信息分别为2与0。实体抹除单元PBA(2)的实体-逻辑映射信息包括逻辑地址LA(1)、LA(2)、LA(4),并且对应于LA(1)、LA(2)、LA(4)的写入时间信息与整理时间信息分别为3与0。实体抹除单元PBA(3)的实体-逻辑映射信息包括逻辑地址LA(0)、LA(3)、LA(5),并且对应于逻辑地址LA(0)、LA(3)、LA(5)的写入时间信息及整理时间信息分别为4与1。主机系统11根据写入时间信息及整理时间信息将实体-逻辑地址映射信息排序如图11的整理表1101所示。需注意的是,在本范例实施例中,实体-逻辑映射信息整理表1101中所标示的实体地址对应逻辑地址仅为实体-逻辑映射信息的示意,实际操作上,实体-逻辑映射信息可以记录逻辑地址为主,此部分已在前述内容中说明,在此不再赘述。

此外,在本范例实施例中,主机系统11会先比较对应于实体-逻辑映射信息的写入时间信息,倘若写入时间信息相同,再比较整理时间信息。在另一范例实施例中,也可以不同于上述的判断方法来决定以写入时间信息或整理时间信息来排序实体-逻辑映射信息。

如实体-逻辑映射信息整理表1101所示,在本范例实施例中,逻辑地址LA(0)会映射至实体抹除单元PBA(0)与实体抹除单元PBA(3),逻辑地址LA(1)及LA(2)会映射至实体抹除单元PBA(0)与实体抹除单元PBA(2),逻辑地址LA(4)会映射至实体抹除单元PBA(1)与实体抹除单元PBA(2),逻辑地址LA(3) 及LA(5)会映射至实体抹除单元PBA(1)与实体抹除单元PBA(3)。因此,存储器控制电路单元404(或存储器管理电路502)会根据时间信息来识别出最新的映射关系。例如,关于逻辑地址LA(0)的映射关系,主机系统11根据写入时间信息判断逻辑地址LA(0)映射至实体抹除单元PBA(3)(对应的写入时间信息为4)是最新的映射关系,基此建立逻辑地址LA(0)映射至实体地址PA(3-0)的逻辑-实体映射信息并记录在逻辑-实体映射表1102中。相同地,关于逻辑地址LA(1)的映射关系,主机系统11根据写入时间信息判断逻辑地址LA(1)映射至实体抹除单元PBA(2)(对应的写入时间信息为3)是最新的映射关系,基此建立逻辑地址LA(1)映射至实体地址PA(2-0)的逻辑-实体映射信息并记录在逻辑-实体映射表1102中。以此类推,主机系统11可根据经排序的实体-逻辑地址映射信息的整理表1101来建立多个逻辑-实体映射信息以产生逻辑-实体映射表1102。

在本范例实施例中,主机系统11是根据实体-逻辑映射信息整理表1101由前往后(即,由旧数据至新数据)逐一扫描已排序的实体-逻辑地址映射信息,并将最新的映射关系记录在逻辑-实体映射表1102中。例如,主机系统11扫描到实体地址PA(0-1)映射至逻辑地址LA(1)的映射信息时,会将逻辑地址LA(1)映射至实体地址PA(0-1)的映射关系记录在逻辑-实体映射表1102中。尔后,当主机系统11扫描到实体地址PA(2-0)映射至逻辑地址LA(1)的映射信息时,会以逻辑地址LA(1)映射至实体地址PA(2-0)的映射关系来更新逻辑-实体映射表1102。

在另一范例实施例中,主机系统11也可根据实体-逻辑映射信息整理表1101由后往前(即,由新数据至旧数据)逐一扫描已排序的实体-逻辑地址映射信息,并将最新的映射关系记录在逻辑-实体映射表1102中。例如,主机系统11扫描到实体地址PA(2-2)映射至逻辑地址LA(4)的映射信息时,即可判断此映射信息为对应逻辑地址LA(4)的最新的映射关系,并将逻辑地址LA(4)映射至实体地址PA(2-2)的映射关系记录在逻辑-实体映射表1102中。尔后,当主机系统11扫描到实体地址PA(1-1)映射至逻辑地址LA(4)的映射信息时,将不会更新逻辑-实体映射表1102。

虽然,存储器控制电路单元404(或存储器管理电路502)在将写入数据存储至实体抹除单元后,会将对应的实体-逻辑映射信息存储至写入数据的实 体抹除单元中。但倘若写入数据时发生系统运作问题(例如,断电),使得写入数据虽已存储至实体抹除单元,但实体-逻辑映射信息尚未存储至实体抹除单元中。如此一来,存储器控制电路单元404(或存储器管理电路502)将无法直接从此实体抹除单元的实体程序化单元(例如,实体抹除单元中的最后一个被程序化的实体程序化单元)中取得此实体抹除单元的实体-逻辑映射信息。

因此,当存储器控制电路单元404(或存储器管理电路502)无法从某实体抹除单元的实体程序化单元中取得实体-逻辑映射信息时,存储器控制电路单元404(或存储器管理电路502)会以特定的数据量大小为单位来一一读取此实体抹除单元中数据比特区所存储的使用者数据及对应的冗余比特区所存储的逻辑地址。存储器控制电路单元404(或存储器管理电路502)可从目前已建立的逻辑-实体映射表找出此逻辑地址所映射的实体地址,并读取存储在此实体地址的使用者数据。主机系统11进而可通过比对使用者数据来判断是否需更新逻辑-实体映射表中的映射信息。

图12A及12B是根据一实施例所示出比对使用者数据以更新逻辑-实体映射表的示意图。

请参照图12A,在本范例实施例中,主机系统11已根据从实体抹除单元可读取到的实体-逻辑映射信息建立了逻辑-实体映射表1201。针对未取得实体-逻辑映射信息的实体抹除单元,主机系统11会下达读取指令以指示存储器控制电路单元404(或存储器管理电路502)读取此些实体抹除单元中所存储的使用者数据及逻辑地址。在本范例实施例中,是以实体程序化单元的大小为单位来读取使用者数据。举例而言,请参照图12B,实体抹除单元410(3)未存储对应的实体-逻辑映射信息,存储器控制电路单元404(或存储器管理电路502)会读取实体抹除单元410(3)的使用者数据及对应的逻辑地址。例如,逻辑地址LA(0)对应数据D4,逻辑地址LA(1)对应数据D2,逻辑地址LA(2)对应数据D3。

请同时参照图12A及12B,存储器控制电路单元404(或存储器管理电路502)会查询目前已建立的逻辑-实体映射表1201,以找出所读出的逻辑地址映射的实体地址。例如,在逻辑-实体映射表1201中,逻辑地址LA(0)映射至实体地址PA(2-0)(即,实体抹除单元410(2)的实体程序化单元410(2-0)), 存储器控制电路单元404(或存储器管理电路502)会读取实体程序化单元410(2-0)所存储的数据D1。

主机系统11会比对实体抹除单元410(3)中的数据D4及实体抹除单元410(2)中的数据D1,并判断数据不相同而需更新逻辑-实体映射表1201。主机系统11会根据实体抹除单元410(3)与逻辑地址LA(0)的映射关系来更新逻辑-实体映射表1201。请参照图12B,在更新后的逻辑-实体映射表1202中,逻辑地址LA(0)的映射信息会被更新为映射至实体地址PA(3-0)(即,实体抹除单元410(3)的实体程序化单元410(3-0))。

接着,存储器控制电路单元404(或存储器管理电路502)会继续针对实体抹除单元410(3)中的下一笔使用者数据进行比对。例如,实体抹除单元410(3)的实体程序化单元410(3-1)中的数据D2是对应到逻辑地址LA(1)。在逻辑-实体映射表1202中,逻辑地址LA(1)是映射至实体地址PA(2-1)(即,实体抹除单元410(2)的实体程序化单元410(2-1)),存储器控制电路单元404(或存储器管理电路502)会读取实体程序化单元410(2-1)所存储的数据D2。

主机系统11会比对实体抹除单元410(3)中的数据D2及实体抹除单元410(2)中的数据D2,并判断数据相同而不更新逻辑-实体映射表1202。

值得一提的是,在本范例实施例的逻辑-实体映射表中,以逻辑地址对应实体地址来表示逻辑单元与实体单元之间的映射关系仅为示意。实际上也可以不同于上述方式来进行表示。

通过上述范例实施例所重建的逻辑-实体映射表将可包括最新的逻辑-实体映射信息。进而,主机系统11可根据重建的逻辑-实体映射表将可复写式非易失性存储器模块406中的数据正确地读出。

上述范例实施例中,在重建逻辑-实体映射表的过程里是由主机系统11来执行相关的运算。主机系统11可以通过下达控制指令来指示存储器控制电路单元404(或存储器管理电路502)执行相应操作。此些控制指令可以是有别于一般指令的特殊指令,例如,厂商指令(vender command)。因此,主机系统11可将用以重建数据的数据重建控制码传送至存储器存储装置10,存储器控制电路单元404(或存储器管理电路502)会将此数据重建控制码载入至缓冲存储器508中以运行。此数据重建控制码会运行使存储器控制电路单元404(或存储器管理电路502)可根据主机系统11的特殊指令执行相应 操作。然而,在其它范例实施例中,也可以是由存储器存储装置10通过固件码运行而执行重建逻辑-实体映射表的过程里的相关运算。

再者,为了提升读取数据的速度,还可将重建的逻辑-实体映射表载入至存储器存储装置10的缓冲存储器508中,使存储器控制电路单元404(或存储器管理电路502)可直接存取缓冲存储器508中的逻辑-实体映射表来读取存储在可复写式非易失性存储器模块406中的使用者数据。例如,主机系统11可使用厂商指令将重建的逻辑-实体映射表中的映射信息分批回存至存储器存储装置10的缓冲存储器508中。尔后,主机系统11可下达一般读取指令指示存储器控制电路单元404(或存储器管理电路502)读取可复写式非易失性存储器模块406中的使用者数据。

值得一提的是,每次分批写入至存储器存储装置10的映射信息可根据一般读取指令可读取的最大读取数据量来决定。例如,主机系统11可根据一般读取指令的最大读取数据量计算可读取的逻辑地址个数,并根据所计算的逻辑地址个数将逻辑-实体映射表中对应数量的映射信息写入至存储器存储装置10的缓冲存储器中。写入映射信息之后,主机系统11可下达一般读取指令指示存储器控制电路单元404(或存储器管理电路502)将此些映射信息所对应的使用者数据一次读出。

图13为根据一实施例所示出的数据重建方法流程图。

请参照图13,在步骤S1301中,读取存储在可复写式非易失性存储器模块中的实体-逻辑映射信息及对应于实体-逻辑映射信息的时间信息。在步骤S1303中,根据所读取的时间信息排序所读取的实体-逻辑映射信息。在步骤S1305中,根据已排序的实体-逻辑映射信息产生逻辑-实体映射表。在步骤S1307中,将所产生的逻辑-实体映射表回存至存储器存储装置的缓冲存储器中。

在另一范例实施例中,在步骤S1301之前,还包括记录实体-逻辑映射信息至存储器存储装置的缓冲存储器中,并且实体-逻辑映射信息是记录多个实体抹除单元的多个逻辑地址。尔后,记录在缓冲存储器中的实体-逻辑映射信息以及对应于实体-逻辑映射信息的时间信息会被存储至可复写式非易失性存储器模块中。

在另一范例实施例中,在步骤S1301之前,还包括将数据重建控制码载 入至存储器存储装置的缓冲存储器。并且,上述步骤已详细说明如上,在此不再赘述。

综上所述,本发明在存储实体-逻辑映射信息时,会一并记录时间信息,藉以辨识实体-逻辑映射信息的新旧。尔后,在逻辑-实体映射表无法被正确存取时,可根据最新的实体-逻辑映射信息来建立逻辑-实体映射信息。藉此,可正确地重建出存取数据所需的逻辑-实体映射表,并且可根据重建的逻辑-实体映射表将可复写式非易失性存储器模块中的使用者数据正确地读出。另外,重建的逻辑-实体映射表还可被回存至存储器存储装置的缓冲存储器中,由此提升读取数据的效率。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1