CN106406746B - 映射表存取方法、存储器控制电路单元及存储器存储装置 - Google Patents
映射表存取方法、存储器控制电路单元及存储器存储装置 Download PDFInfo
- Publication number
- CN106406746B CN106406746B CN201510464859.2A CN201510464859A CN106406746B CN 106406746 B CN106406746 B CN 106406746B CN 201510464859 A CN201510464859 A CN 201510464859A CN 106406746 B CN106406746 B CN 106406746B
- Authority
- CN
- China
- Prior art keywords
- unit
- entity
- instance
- page
- programming
- 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
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Abstract
本发明提出一种映射表存取方法、存储器控制电路单元及存储器存储装置。本发明的映射表存取方法包括:将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中,其中第一实体擦除单元的映射记录为第一实体擦除单元的实体编程单元的映射关系;将对应第二实体擦除单元的映射记录存储至第二实体擦除单元中,其中第二实体擦除单元的映射记录为第二实体擦除单元的实体编程单元的映射关系;第一实体擦除单元的映射记录的大小与第二实体擦除单元的映射记录的大小不同。本发明可有效地利用实体擦除单元来存储动态改变大小的映射表以避免系统资源不必要的浪费。
Description
技术领域
本发明是有关于一种的映射表存取方法,且特别是有关于一种用于可复写式非易失性存储器模块的实体-逻辑映射表存取方法、存储器控制电路单元及存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,因此,近年可复写式非易失性存储器产业成为电子产业中相当热门的一环。例如,以闪存作为存储媒体的固态硬盘(Solid-state drive)已广泛应用作为计算机主机的硬盘,以提升计算机的存取效能。
一般来说,存储器存储装置会建立逻辑-实体映射表来记录逻辑单元与实体单元之间的映射关系,使主机系统可根据此映射关系来存取可复写式非易失性存储器模块的数据。具体而言,当主机系统每次欲写入数据至存储器存储装置时,对应写入数据的逻辑单元可能与先前写入数据所对应的逻辑单元属于不同的逻辑-实体映射表,因此,存储器存储装置会建立用以暂存实体-逻辑对应关系的映射表,以将欲写入的数据编程至一个作动实体擦除单元,并且将此作动实体擦除单元与对应写入数据的逻辑单元的映射关系先暂存在实体-逻辑映射表中。例如,传统的存储器存储装置会将对应此实体擦除单元的实体-逻辑映射表从缓冲存储器写入在所述作动实体擦除单元中所预留的固定空间,并依照实体-逻辑映射表来更新逻辑-实体映射表,以避免过于频繁地更新逻辑-实体映射表。
然而,目前在将数据写入可复写式非易失性存储器模块时通常会将数据先经过压缩,由此造成实际编程至每个实体编程单元的数据量可能会不相同,也就是说,用以存储对应实体编程单元的映射关系的实体-逻辑映射表的大小会根据数据压缩的结果而有所不同。据此,倘若在数据并没有如预期的压缩效率而被压缩的情况下,当存储器存储装置将对应作动实体擦除单元的整个实体-逻辑映射表写入在作动实体擦除单元中所预留的固定空间时,将会浪费作动实体擦除单元的空间。基此,如何有效地利用实体擦除单元,以避免因数据压缩而动态改变大小的实体-逻辑映射表所造成的实体擦除单元的空间浪费,而有效节省可复写式非易失性存储器的系统资源是此领域技术人员所致力的目标。
发明内容
本发明提供一种映射表存取方法、存储器控制电路单元及存储器存储装置,其能够有效地利用实体擦除单元来存储动态改变大小的映射表以避免系统资源不必要的浪费。
本发明的一实施例提出一种映射表存取方法,用于可复写式非易失性存储器模块,可复写式非易失性存储器模块包括多个实体擦除单元,每一实体擦除单元包括多个实体编程单元,且每一实体编程单元包括数据位区与冗余位区。本映射表存取方法包括:将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中,其中第一实体擦除单元的映射记录为第一实体擦除单元的实体编程单元的映射关系;以及将对应第二实体擦除单元的映射记录存储至第二实体擦除单元中,其中第二实体擦除单元的映射记录为第二实体擦除单元的实体编程单元的映射关系。所述第一实体擦除单元的映射记录的大小与所述第二实体擦除单元的映射记录的大小不同。
在本发明的一实施例中,上述在将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中的步骤包括:在缓冲存储器中建立实体-逻辑映射表,并且将多笔编程数据编程至实体擦除单元之中的第一实体擦除单元;将第一实体擦除单元的实体编程单元的映射记录记录在实体-逻辑映射表中,以及依据数据位区的大小将实体-逻辑映射表依序划分为多个表页,并从此些表页的最后一个表页开始至此些表页的第一个表页依序将实体-逻辑映射表的表页从缓冲存储器中存储至第一实体擦除单元中并记录此些表页的数目。
在本发明的一实施例中,上述映射表存取方法,还包括:判断第一实体擦除单元中未被编程的实体编程单元的数目与实体-逻辑映射表的表页的数目之间的差距是否小于一预定数目,其中倘若所述差距小于该预定数目时,执行上述从表页的最后一个表页开始至表页的第一个表页依序将实体-逻辑映射表的表页从缓冲存储器中存储至第一实体擦除单元中并记录所述表页的数目的步骤。
在本发明的一实施例中,上述表页之中的第一个表页被存储至第一实体擦除单元的最后一个实体编程单元,上述表页之中的第二个表页被存储至第一实体擦除单元的最后一个实体编程单元的前一个实体编程单元,以及上述表页的数目被记录在第一实体擦除单元的最后一个实体编程单元的冗余位区中。
在本发明的一实施例中,上述映射表存取方法,还包括:从主机系统接收至少一写入指令与对应至少一写入指令的多笔页数据,其中至少一写入指令指示将此些页数据存储至多个逻辑单元;以及压缩所述页数据以产生所述编程数据。其中实体-逻辑映射表的大小是动态地根据所述编程数据的大小而变动。
在本发明的一实施例中,上述将对应第一实体擦除单元的实体编程单元的映射记录记录在实体-逻辑映射表中的步骤包括:在实体-逻辑映射表中记录第一实体擦除单元的实体编程单元与逻辑单元之间的映射关系。
在本发明的一实施例中,上述映射表存取方法,还包括:从第一实体擦除单元中的最后一个实体编程单元的数据位区读取实体-逻辑映射表的第一个表页并从第一实体擦除单元中的最后一个实体编程单元的冗余位区读取实体-逻辑映射表的所有表页的数目;将从第一实体擦除单元中的最后一个实体编程单元的数据位区读取的实体-逻辑映射表的第一个表页暂存至缓冲存储器;以及依据从第一实体擦除单元中的最后一个实体编程单元的冗余位区读取的实体-逻辑映射表的所有表页的数目,依序地从排列在第一实体擦除单元中的最后一个实体编程单元之前的实体编程单元的数据位区读取实体-逻辑映射表的其它表页并将所读取的其它表页暂存至缓冲存储器。
在本发明的一实施例中,上述在将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中的步骤包括:在缓冲存储器中建立实体-逻辑映射表,并且将多笔编程数据编程至实体擦除单元之中的第一实体擦除单元;将第一实体擦除单元的实体编程单元的映射记录记录在实体-逻辑映射表中,以及依据数据位区的大小将实体-逻辑映射表依序划分为多个表页,并从此些表页的第一个表页开始至此些表页的最后一个表页依序将实体-逻辑映射表的表页从缓冲存储器中存储至第一实体擦除单元中并记录此些表页的数目。
本发明的一实施例提出一种用于控制可复写式非易失性存储器模块的存储器控制电路单元,其中所述可复写式非易失性存储器模块包括多个实体擦除单元,每一实体擦除单元包括多个实体编程单元,且每一实体编程单元包括数据位区与冗余位区。此存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统,存储器接口用以电性连接至可复写式非易失性存储器模块,以及存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中,其中第一实体擦除单元的映射记录为第一实体擦除单元的实体编程单元的映射关系。存储器管理电路还用以将对应第二实体擦除单元的映射记录存储至第二实体擦除单元中,其中第二实体擦除单元的映射记录为第二实体擦除单元的实体编程单元的映射关系。所述第一实体擦除单元的该映射记录的大小与所述第二实体擦除单元的该映射记录的大小不同。
在本发明的一实施例中,上述在将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中的操作中,存储器管理电路还用以在缓冲存储器中建立实体-逻辑映射表,并且将多笔编程数据编程至实体擦除单元之中的第一实体擦除单元。存储器管理电路还用以将第一实体擦除单元的实体编程单元的映射记录记录在实体-逻辑映射表中。存储器管理电路还用以依据数据位区的大小将实体-逻辑映射表依序划分为多个表页,并从此些表页的最后一个表页开始至此些表页的第一个表页依序将实体-逻辑映射表的表页从缓冲存储器中存储至第一实体擦除单元中并记录此些表页的数目。
在本发明的一实施例中,上述存储器管理电路还用以判断第一实体擦除单元中未被编程的实体编程单元的数目是与实体-逻辑映射表的表页的数目之间的差距是否小于一预定数目。倘若所述差距小于此预定数目时,存储器管理电路会执行上述从所述表页的最后一个表页开始至所述表页的第一个表页依序将实体-逻辑映射表的所述表页从缓冲存储器中存储至第一实体擦除单元中并记录所述表页的数目的操作。
在本发明的一实施例中,上述表页之中的第一个表页被存储至第一实体擦除单元的最后一个实体编程单元,上述表页之中的第二个表页被存储至第一实体擦除单元的最后一个实体编程单元的前一个实体编程单元,以及上述表页的数目被记录在第一实体擦除单元的最后一个实体编程单元的冗余位区中。
在本发明的一实施例中,上述存储器管理电路还用以从主机系统接收至少一写入指令与对应此至少一写入指令的多笔页数据,其中至少一写入指令指示将此些页数据存储至多个逻辑单元。存储器管理电路还用以压缩所述页数据以产生所述编程数据。其中实体-逻辑映射表的大小是动态地根据所述编程数据的大小而变动。
在本发明的一实施例中,上述在将对应第一实体擦除单元的实体编程单元的映射记录记录在实体-逻辑映射表中的运作中,存储器管理电路还用以在实体-逻辑映射表中记录第一实体擦除单元的实体编程单元与逻辑单元之间的映射关系。
在本发明的一实施例中,上述存储器管理电路还用以从第一实体擦除单元中的最后一个实体编程单元的数据位区读取实体-逻辑映射表的第一个表页并从第一实体擦除单元中的最后一个实体编程单元的冗余位区读取实体-逻辑映射表的所有表页的数目。存储器管理电路还用以将从第一实体擦除单元中的最后一个实体编程单元的数据位区读取的实体-逻辑映射表的第一个表页暂存至缓冲存储器。存储器管理电路还用以依据从第一实体擦除单元中的最后一个实体编程单元的冗余位区读取的实体-逻辑映射表的所有表页的数目,依序地从排列在第一实体擦除单元中的最后一个实体编程单元之前的实体编程单元的数据位区读取实体-逻辑映射表的其它表页并将所读取的其它表页暂存至缓冲存储器。
在本发明的一实施例中,上述在将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中的操作中,存储器管理电路还用以在缓冲存储器中建立实体-逻辑映射表,并且将多笔编程数据编程至实体擦除单元之中的第一实体擦除单元。存储器管理电路还用以将第一实体擦除单元的实体编程单元的映射记录记录在实体-逻辑映射表中。存储器管理电路还用以依据数据位区的大小将实体-逻辑映射表依序划分为多个表页,并从此些表页的第一个表页开始至此些表页的最后一个表页依序将实体-逻辑映射表的表页从缓冲存储器中存储至第一实体擦除单元中并记录此些表页的数目。
本发明的一实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非易失性存储器模块包括多个实体擦除单元,每一实体擦除单元包括多个实体编程单元,且每一实体编程单元包括数据位区与冗余位区。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。存储器控制电路单元用以将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中,其中第一实体擦除单元的映射记录为第一实体擦除单元的实体编程单元的映射关系。存储器控制电路单元还用以将对应第二实体擦除单元的映射记录存储至第二实体擦除单元中,其中第二实体擦除单元的映射记录为第二实体擦除单元的实体编程单元的映射关系。所述第一实体擦除单元的映射记录的大小与所述第二实体擦除单元的映射记录的大小不同。
在本发明的一实施例中,上述在将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中的操作中,存储器控制电路单元还用以在缓冲存储器中建立实体-逻辑映射表,并且将多笔编程数据编程至实体擦除单元之中的第一实体擦除单元。存储器控制电路单元还用以将对应第一实体擦除单元的实体编程单元的映射记录记录在实体-逻辑映射表中。存储器控制电路单元还用以依据数据位区的大小将实体-逻辑映射表依序划分为多个表页,从此些表页的最后一个表页开始至此些表页的第一个表页依序将实体-逻辑映射表的此些表页从缓冲存储器中存储至第一实体擦除单元中并记录此些表页的数目。
在本发明的一实施例中,存储器控制电路单元还用以判断第一实体擦除单元中未被编程的实体编程单元的数目与实体-逻辑映射表的表页的数目之间的差距是否小于一预定数目。倘若所述差距小于此预定数目时,存储器控制电路单元会执行上述从所述表页的最后一个表页开始至所述表页的第一个表页依序将实体-逻辑映射表的所述表页从缓冲存储器中存储至第一实体擦除单元中并记录所述表页的数目的操作。
在本发明的一实施例中,上述表页之中的第一个表页被存储至第一实体擦除单元的最后一个实体编程单元,上述表页之中的一第二个表页被存储至第一实体擦除单元的最后一个实体编程单元的前一个实体编程单元,上述表页的数目被记录在第一实体擦除单元的最后一个实体编程单元的冗余位区中。
在本发明的一实施例中,上述存储器控制电路单元还用以从主机系统接收至少一写入指令与对应此至少一写入指令的多笔页数据,其中此至少一写入指令指示将所述页数据存储至多个逻辑单元。存储器控制电路单元还用以压缩所述页数据以产生所述编程数据,并且实体-逻辑映射表的大小是动态地根据所述编程数据的大小而变动。
在本发明的一实施例中,上述在将对应第一实体擦除单元的实体编程单元的映射记录记录在实体-逻辑映射表中的运作中,存储器控制电路单元还用以在实体-逻辑映射表中记录第一实体擦除单元的实体编程单元与逻辑单元之间的映射关系。
在本发明的一实施例中,上述存储器控制电路单元还用以从第一实体擦除单元中的最后一个实体编程单元的数据位区读取实体-逻辑映射表的第一个表页并从第一实体擦除单元中的最后一个实体编程单元的冗余位区读取实体-逻辑映射表的所有表页的数目。存储器控制电路单元还用以将从第一实体擦除单元中的最后一个实体编程单元的数据位区读取的实体-逻辑映射表的第一个表页暂存至缓冲存储器。存储器控制电路单元还用以依据从第一实体擦除单元中的最后一个实体编程单元的冗余位区读取的实体-逻辑映射表的所有表页的数目,依序地从排列在第一实体擦除单元中的最后一个实体编程单元之前的实体编程单元的数据位区读取实体-逻辑映射表的其它表页并将所读取的其它表页暂存至缓冲存储器。
在本发明的一实施例中,上述在将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中的操作中,存储器控制电路单元更用以在缓冲存储器中建立实体-逻辑映射表,并且将多笔编程数据编程至实体擦除单元之中的第一实体擦除单元。存储器控制电路单元还用以将对应第一实体擦除单元的实体编程单元的映射记录记录在实体-逻辑映射表中。存储器控制电路单元还用以依据数据位区的大小将实体-逻辑映射表依序划分为多个表页,从此些表页的第一个表页开始至此些表页的最后一个表页依序将实体-逻辑映射表的此些表页从缓冲存储器中存储至第一实体擦除单元中并记录此些表页的数目。
本发明提供的映射表存取方法、存储器控制电路单元及存储器存储装置,可提供所记录的对应实体-逻辑映射表的表页的数目得知实体-逻辑映射表的大小,并根据此表页的数目来读取实体-逻辑映射表。如此存储器存储系统可有效地利用实体擦除单元来存储动态改变大小的映射表,以节省可复写式非易失性存储器的系统资源不必要的浪费且提升了存储器存储系统的整体运作效益。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是本发明一实施例所示出的主机系统与存储器存储装置的示意图;
图2是本发明一实施例所示出的计算机、输入/输出装置与存储器存储装置的示意图;
图3是本发明一实施例所示出的主机系统与存储器存储装置的示意图;
图4是本发明一实施例所示出的存储器存储装置的概要方块图;
图5是本发明一实施例所示出的存储器控制电路单元的概要方块图;
图6A与图6B是本发明一实施例所示出的管理实体擦除单元的范例示意图;
图7A至图7C是本发明一实施例所示出的在实体-逻辑映射表中记录对应所写入的编程数据的实体单元与逻辑单元的映射关系的范例示意图;
图8A至图8C是本发明另一实施例所示出的在实体-逻辑映射表中记录对应写入数据的实体单元与逻辑单元的映射关系的范例示意图;
图9A与图9B是本发明一实施例所示出的将实体-逻辑映射表划分为多个页表的范例示意图;
图10是本发明一实施例所示出的存取实体-逻辑映射表的范例示意图;
图11是本发明另一实施例所示出的存取实体-逻辑映射表的范例示意图;
图12是本发明一实施例所示出的映射表存取方法的流程图。
附图标记说明:
10:存储器存储装置
11:主机系统;
12:计算机;
13:输入/输出装置;
122:微处理器;
124:随机存取存储器(RAM);
126:系统总线;
128:数据传输接口;
21:鼠标;
22:键盘;
23:显示器;
24:打印机;
25:随身盘;
26:存储卡;
27:固态硬盘;
31:数码相机;
32:SD卡;
33:MMC卡;
34:存储棒;
35:CF卡;
36:嵌入式存储装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可复写式非易失性存储器模块;
410(0)~410(N):实体擦除单元;
502:存储器管理电路;
504:主机接口;
506:存储器接口;
508:缓冲存储器;
510:电源管理电路;
512:错误检查与校正电路;
514:数据压缩/解压缩电路;
602:数据区;
604:闲置区;
606:系统区;
608:取代区;
610(0)~610(D):逻辑单元;
700、800:实体-逻辑映射表;
702:数据位区;
704:冗余位区;
710(0)~710(M+1)、810(0)~810(M+1):实体编程单元;
WD1~WD4:页数据;
CD1~CD9:编程数据;
720-1:第一个表页;
720-2:第二个表页;
720-3:最后一个表页;
S1201、S1203:映射表存取方法的步骤
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是本发明一实施例所示出的主机系统与存储器存储装置的示意图,且图2是本发明一实施例所示出的计算机、输入/输出装置与存储器存储装置的示意图。
请参照图1,主机系统11一般包括计算机12与输入/输出(Input/Output,简称I/O)装置13。计算机12包括微处理器122、随机存取存储器(random access memory,简称RAM)124、系统总线126与数据传输接口128。输入/输出装置13包括如图2的鼠标21、键盘22、显示器23与打印机24。必须了解的是,图2所示的装置非限制输入/输出装置13,输入/输出装置13可还包括其它装置。
在本实施例中,存储器存储装置10是通过数据传输接口128与主机系统11的其它组件电性连接。通过微处理器122、随机存取存储器124与输入/输出装置13的运作可将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。例如,存储器存储装置10可以是如图2所示的随身盘25、存储卡26或固态硬盘(Solid State Drive,简称SSD)27等的可复写式非易失性存储器存储装置。
图3是本发明一实施例所示出的主机系统与存储器存储装置的示意图。
一般而言,主机系统11为可实质地与存储器存储装置10配合以存储数据的任意系统。虽然在本实施例中,主机系统11是以计算机系统来做说明,然而,在另一实施例中主机系统11可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为图3中的数码相机(摄像机)31时,可复写式非易失性存储器存储装置则为其所使用的SD卡32、MMC卡33、存储棒(memory stick)34、CF卡35或嵌入式存储装置36(如图3所示)。嵌入式存储装置36包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接在主机系统的基板上。
图4是本发明一实施例所示出的存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本实施例中,连接接口单元402是兼容于串行高级技术附件(Serial AdvancedTechnology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级技术附件(Parellel Advanced Technology Attachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,简称IEEE)1394标准、高速周边组件连接接口(Peripheral ComponentInterconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,简称USB)标准、超高速一代(Ultra High Speed-I,简称UHS-I)接口标准、超高速二代(UltraHigh Speed-II,简称UHS-II)接口标准、安全数字(Secure Digital,简称SD)接口标准、存储棒(Memory Stick,简称MS)接口标准、多媒体存储卡(Multi Media Card,简称MMC)接口标准、小型快闪(Compact Flash,简称CF)接口标准、集成电路设备(Integrated DeviceElectronics,简称IDE)标准或其它适合的标准。在本实施例中,连接接口单元可与存储器控制电路单元封装在一个芯片中,或布设于一包含存储器控制电路单元的芯片外。
存储器控制电路单元404用以执行以硬件形式或软件形式实现的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与擦除等运作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体擦除单元410(0)~410(N)。例如,实体擦除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体擦除单元分别具有复数个实体编程单元,其中属于同一个实体擦除单元的实体编程单元可被独立地写入且被同时地擦除。然而,必须了解的是,本发明不限于此,每一实体擦除单元是可由64个实体编程单元、256个实体编程单元或其它任意个实体编程单元所组成。
更详细来说,实体擦除单元为擦除的最小单位。也即,每一实体擦除单元含有最小数目之一并被擦除的存储单元。实体编程单元为编程的最小单元。即,实体编程单元为写入数据的最小单元。每一实体编程单元通常包括数据位区与冗余位区。数据位区包含多个实体存取地址用以存储使用者的数据,而冗余位区用以存储系统的数据(例如,控制信息与错误更正码)。在本实施例中,每一个实体编程单元的数据位区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其它实施例中,数据位区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一实施例中,实体擦除单元为实体区块,并且实体编程单元为实体页面或实体扇区,但本发明不以此为限。
在本实施例中,可复写式非易失性存储器模块406为多阶存储单元(Multi LevelCell,简称MLC)NAND型闪存模块(即,一个存储单元中可存储2个数据位的闪存模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是单阶存储单元(Single LevelCell,简称SLC)NAND型闪存模块(即,一个存储单元中可存储1个数据位的闪存模块)、复数阶存储单元(Trinary Level Cell,简称TLC)NAND型闪存模块(即,一个存储单元中可存储3个数据位的闪存模块)、其它闪存模块或其它具有相同特性的存储器模块。
图5是本发明一实施例所示的的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与擦除等运作。
在本实施例中,存储器管理电路502的控制指令是以软件形式来实现。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。
在本发明另一实施例中,存储器管理电路502的控制指令也可以程序代码形式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被使能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令加载至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与擦除等运作。
主机接口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所能接受的格式。
在一实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510、错误检查与校正电路512与数据压缩/解压缩电路514。
缓冲记忆体存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。
电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
数据压缩/解压缩电路514是电性连接至存储器管理电路502。在此,数据压缩/解压缩电路514用以压缩欲写入至可复写式非易失性存储器模块406的数据并且用以解压缩从可复写式非易失性存储器模块406中所读取的数据。例如,数据压缩/解压缩电路514包含压缩器(compressor)及解压缩器(decompressor)。压缩器用以找出原始数据(originaldata)中存在的数据累赘(data redundancy)、移除所找出的累赘,将剩余的必要数据编码并且输出编码结果(即,压缩数据(compressed data)。而解压缩器用以将读入的压缩数据依据既定的步骤译码并送出译码结果(即,解压缩数据(decompressed data)。在本实施例中,数据压缩/解压缩电路514是使用无失真压缩算法来压缩数据,以使压缩后的数据能够被还原。
图6A与图6B是本发明一实施例所示出的管理实体擦除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块106的实体擦除单元的运作时,以“提取”、“分组”、“划分"、“关联”等词来操作实体擦除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体擦除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体擦除单元进行操作。
请参照图6A,存储器控制电路单元404(或存储器管理电路502)会将实体擦除单元410(0)~410-(N)逻辑地分组为数据区602、闲置区604、系统区606与取代区608。
逻辑上属于数据区602与闲置区604的实体擦除单元是用以存储来自于主机系统11的数据。具体来说,数据区602的实体擦除单元是被视为已存储数据的实体擦除单元,而闲置区604的实体擦除单元是用以替换数据区602的实体擦除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路502会从闲置区604中提取实体擦除单元,并且将数据写入至所提取的实体擦除单元中,以替换数据区602的实体擦除单元。一般而言,数据区602中的实体擦除单元经过使用者操作后会存有有效数据,而闲置区604中的实体擦除单元为无存有有效数据的实体擦除单元。
逻辑上属于系统区606的实体擦除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体擦除单元数、每一实体擦除单元的实体编程单元数等。
逻辑上属于取代区608中的实体擦除单元是用于坏实体擦除单元取代程序,以取代损坏的实体擦除单元。具体来说,倘若取代区608中仍存有正常的实体擦除单元并且数据区602的实体擦除单元损坏时,存储器管理电路502会从取代区608中提取正常的实体擦除单元来更换损坏的实体擦除单元。
特别是,数据区602、闲置区604、系统区606与取代区608的实体擦除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的运作中,实体擦除单元关联至数据区602、闲置区604、系统区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的实体擦除单元损坏而被取代区608的实体擦除单元取代时,则原本取代区608的实体擦除单元会被关联至闲置区604。
请参照图6B,如上所述,数据区602、闲置区604的实体擦除单元是以轮替方式来存储主机系统11所写入的数据。在本实施例中,存储器控制电路单元404(或存储器管理电路502)会配置逻辑单元610(0)~610(D)给主机系统11,以映射至数据区602中部分的实体擦除单元414(0)~410(F-1),以利于在以上述轮替方式来存储数据的实体擦除单元中进行数据存取。特别是,主机系统11会通过过逻辑单元610(0)~610(D)来存取数据区602中的数据。此外,存储器控制电路单元404(或存储器管理电路502)会建立逻辑-实体映射表(logical-physical mapping table),以记录逻辑单元与实体单元之间的映射关系。此逻辑-实体映射表还可以例如是记录逻辑单元与实体编程单元、逻辑编程单元与实体编程单元及/或逻辑编程单元与实体擦除单元之间的映射关系等各种逻辑单元与实体单元的对应关系,本发明不加以限制。例如,在本实施例中,存储器控制电路单元404(或存储器管理电路502)会在可复写式非易失性存储器模块406中属于系统区606的实体擦除单元中存储逻辑-实体映射表来记录每一逻辑单元所映射的实体擦除单元,并且当欲存取数据时存储器控制电路单元404(或存储器管理电路502)会将逻辑-实体映射表加载至缓冲存储器508来维护。
在本实施例中,存储器存储装置10的可复写式非易失性存储器模块406是以实体编程单元为基础(也称为页面为基础(page based))来进行管理。例如,在执行写入指令时,不管目前数据是要写入至哪个逻辑单元所对应的逻辑编程单元,存储器控制电路单元404(或存储器管理电路502)皆会以一个实体编程单元接续一个实体编程单元的方式来写入数据(以下也称为随机写入机制)。具体来说,存储器控制电路单元404(或存储器管理电路502)会从闲置区504中提取一个空的实体擦除单元作为目前使用的实体擦除单元(也称为作动实体擦除单元)来写入数据。并且,当此目前使用的实体擦除单元已被写满时,存储器控制电路单元104(或存储器管理电路202)会再从闲置区504中提取另一个空的实体擦除单元作为目前使用的实体擦除单元,以继续写入对应来自于主机系统11的写入指令的数据。
特别是,在本实施例中,存储器控制电路单元404(或存储器管理电路502)还会在缓冲存储器508中建立实体-逻辑映射表,以在将多笔编程数据编程至从闲置区504的实体擦除单元之中所提取的一个作动实体擦除单元后,将对应此作动实体擦除单元的映射记录记录在实体-逻辑映射表中。在此,映射记录为所提取的作动实体擦除单元的实体编程单元的映射关系,而编程数据例如是已被存储器控制电路单元404(或数据压缩/解压缩电路514)压缩后的数据。举例来说,存储器控制电路单元404(或存储器管理电路502)会根据作动实体擦除单元中尚未被编程的实体编程单元的数量以及实体-逻辑映射表的大小,而在适当的时机将作动实体擦除单元的实体-逻辑映射表从缓冲存储器508中写入作动实体擦除单元中尚未被编程的实体编程单元。例如,存储器控制电路单元404(或存储器管理电路502)会判断作动实体擦除单元中未被编程的实体擦除单元的数目与实体-逻辑映射表的表页的数目之间的差距是否小于一预定数目。倘若存储器控制电路单元404(或存储器管理电路502)判断此差距小于预定数目时,其会执行上述将作动实体擦除单元的实体-逻辑映射表从缓冲存储器508中写入作动实体擦除单元中尚未被编程的实体编程单元的运作。也就是说,在本实施例中,所述预定数目的值被设定的越小时,作动实体擦除单元中的每一实体编程单元被有效利用的机率越大。然而,本发明并不加以限制预定数目的大小,其可依照使用者的需求或存储器存储装置10的执行性能而被调整与设定。
为了更清楚地描述本发明的存取实体-逻辑映射表的运作,以下将参照图7A至图7C、图8A至图8C,以及图9A至图9B以一范例来进行说明。
图7A至图7C是本发明一实施例所示出的在实体-逻辑映射表中记录对应所写入的编程数据的实体单元与逻辑单元的映射关系的范例示意图。
请先参照图7A,在此例子中,存储器控制电路单元404(或存储器管理电路502)从主机系统11接收到至少一写入指令与对应此至少一写入指令的多笔页数据WD1~WD4,其中此至少一写入指令指示将此些页数据WD1~WD4存储至多个逻辑单元。例如,每一个页数据的大小是一个实体编程单元的大小,并且写入指令指示将页数据WD1、页数据WD2、页数据WD3与页数据WD4分别存储至逻辑单元610(1)、逻辑单元610(2)、逻辑单元610(3)与逻辑单元610(4)。
在本实施例中,假设写入数据可被压缩为写入数据的1/4倍大小的编程数据,因此,存储器控制电路单元404(或数据压缩/解压缩电路514)会将页数据WD1、页数据WD2、页数据WD3与页数据WD4压缩为编程数据CD1、编程数据CD2、编程数据CD3与编程数据CD4,且编程数据CD1、编程数据CD2、编程数据CD3与编程数据CD4的大小分别是页数据WD1、页数据WD2、页数据WD3与页数据WD4的大小的1/4倍(如图7A所示)。
请参照图7B与图7C,如上所述,存储器控制电路单元404(或存储器管理电路502)会在缓冲存储器508中建立实体-逻辑映射表700,并且将多笔编程数据CD1~CD4编程至从闲置区504的实体擦除单元之中所提取的一个实体擦除单元410(F)(也称为第一实体擦除单元410(F))。在此,由于存储器控制电路单元404(或数据压缩/解压缩电路514)是将页数据压缩为其本身1/4倍大小的编程数据,因此,当存储器控制电路单元404(或存储器管理电路502)将编程数据CD1~CD4编程至第一实体擦除单元410(F)时,可刚好将编程数据CD1~CD4编程至第一实体擦除单元410(F)的第0个实体编程单元(即,实体编程单元710(0)),换言之,逻辑单元610(1)、逻辑单元610(2)、逻辑单元610(3)与逻辑单元610(4)皆对应到实体编程单元710(0)。并且,存储器控制电路单元404(或存储器管理电路502)会根据目前实体编程单元与逻辑单元的映射关系,将实体编程单元710(0)与逻辑单元610(1)、逻辑单元610(2)、逻辑单元610(3)及逻辑单元610(4)之间的映射关系整理为映射记录,并将此映射记录记录在实体-逻辑映射表700中的第0~3列中。例如,实体-逻辑映射表700中的第0列即指示实体编程单元710(0)对应至逻辑单元610(1),并且以此类推,实体-逻辑映射表700中的第1列指示实体编程单元710(0)对应至逻辑单元610(2),实体-逻辑映射表700中的第2列指示实体编程单元710(0)对应至逻辑单元610(3),以及实体-逻辑映射表700中的第3列指示实体编程单元710(0)对应至逻辑单元610(4)。
图8A至图8C是本发明另一实施例所示出的在实体-逻辑映射表中记录对应写入数据的实体单元与逻辑单元的映射关系的范例示意图。
请参照图8A至图8C,在此例子中,当存储器控制电路单元404(或存储器管理电路502)从主机系统11接收到另一写入指令与对应此另一写入指令的页数据WD5与页数据WD6时,存储器控制电路单元404(或存储器管理电路502)会识别此另一写入指令指示将页数据WD5与页数据WD6存储至逻辑单元610(5)与逻辑单元610(6)。在此,假设压缩后的编程数据CD5与编程数据CD6的大小分别与未压缩前的页数据WD5与页数据WD6的大小相同(如图8A所示)。之后,类似地,存储器控制电路单元404(或存储器管理电路502)会在缓冲存储器508中建立实体-逻辑映射表800,并且将编程数据CD5与编程数据CD6编程至从闲置区504的实体擦除单元之中所提取的另一个实体擦除单元410(F+1)(也称为第二实体擦除单元410(F+1))。由于存储器控制电路单元404(或数据压缩/解压缩电路514)是将页数据压缩为其本身1倍大小的编程数据,因此,当存储器控制电路单元404(或存储器管理电路502)将编程数据CD5与编程数据CD6分别地编程至第二实体擦除单元410(F+1)时,可刚好将编程数据CD5与编程数据CD6分别地编程至第二实体擦除单元410(F+1)的第0个实体编程单元(即,实体编程单元810(0))与第1个实体编程单元(即,实体编程单元810(1))。也就是说,实体编程单元810(0)与实体编程单元810(1)分别对应到逻辑单元610(5)与逻辑单元610(6)(如图8B所示)。之后,存储器控制电路单元404(或存储器管理电路502)会根据目前实体编程单元与逻辑单元的对应关系,将实体编程单元810(0)与逻辑单元610(5),以及实体编程单元810(1)与逻辑单元610(6)之间的映射关系整理为映射记录,并将此映射记录记录在实体-逻辑映射表800中的第0~1列中(如图8C所示)。例如,实体-逻辑映射表800中的第0列即代表实体编程单元810(0)对应至逻辑单元610(5),而实体-逻辑映射表800中的第1列即代表实体编程单元810(1)对应至逻辑单元610(6)。
请再参照图7A至图7C、图8A至图8C,由实体-逻辑映射表700中所记录的实体单元与逻辑单元的映射记录与实体-逻辑映射表800中所记录的实体单元与逻辑单元的映射记录可以看出实体-逻辑映射表700的大小与实体-逻辑映射表800的大小是动态地根据页数据的大小与编程数据的大小而变动,且实体-逻辑映射表700的大小与实体-逻辑映射表800的大小并不相同。具体而言,若属于4个逻辑单元的页数据皆被压缩为原页数据的1/4的编程数据时,1个实体编程单元可存储此些编程数据,而此些编程数据是对应至4个不同的逻辑单元,并且需要四个字段来记录其映射记录(如图7C所示)。反之,若压缩页数据所获得的编程数据的大小与页数据相同时,一个实体编程单元仅会存储属于一个逻辑单元的编程数据,并且仅需要一个字段来记录其映射记录(如图8C所示)。也就是说,一个可以存四个压缩后的编程数据的实体编程单元的映射记录在实体-逻辑映射表700中所需的字段空间是一个刚好只存一个压缩后的编程数据的实体编程单元的映射记录在实体-逻辑映射表800中所需的字段空间的4倍,由此可知页数据的大小与将页数据压缩后的编程数据的大小,即是影响实体-逻辑映射表的大小的因素。
在此,以图7A至图7C所示的存取实体-逻辑映射表的范例为例,若根据存储器控制电路单元404(或数据压缩/解压缩电路514)所预设的压缩率而在第一实体擦除单元410(F)中预留未压缩的页数据所需的存储空间的4倍大的存储空间,则在页数据无法皆依照压缩率而被压缩的情况下,将会造成在欲将第一实体擦除单元410(F)的实体-逻辑映射表700从缓冲存储器508中写入第一实体擦除单元中410(F)时,在第一实体擦除单元410(F)中所预留的实体编程单元无法充分被利用。据此,在本发明实施例中,存储器控制电路单元404(或存储器管理电路502)并不会在第一实体擦除单元410(F)中预留未压缩的页数据所需的存储空间的4倍大的存储空间,而是根据第一实体擦除单元410(F)中尚未被编程的实体编程单元的数目与实体-逻辑映射表700的表页的数目之间的差距,来将第一实体擦除单元410(F)的实体-逻辑映射表700从缓冲存储器508中写入第一实体擦除单元410(F)中尚未被编程的实体编程单元。
图9A与图9B是本发明一实施例所示出的将实体-逻辑映射表划分为多个页表的范例示意图。
请参照图9A与图9B,假设目前在第一实体擦除单元410(F)中存储有编程数据的实体编程单元为实体编程单元710(0)~710(M-2)(如图9A所示),而此些实体编程单元710(0)~710(M-2)与对应此些实体编程单元710(0)~710(M-2)的逻辑单元之间的映射关系记录于实体-逻辑映射表700中的第0列至第N+1列(如图9B所示)。在本实施例中,当存储器控制电路单元404(或存储器管理电路502)判断第一实体擦除单元410(F)中尚未被编程的实体编程单元的数量可写入目前的实体-逻辑映射表700时,存储器控制电路单元404(或存储器管理电路502)会依据数据位区的大小将实体-逻辑映射表700依序划分为多个表页。例如,存储器控制电路单元404(或存储器管理电路502)会依据数据位区的大小将实体-逻辑映射表700依序划分为对应实体-逻辑映射表700中的第0列至第9列的映射关系的第一个表页720-1,对应实体-逻辑映射表700中的第10列至第19列的映射关系的第二个表页720-2,以及对应实体-逻辑映射表700中的第20列至第N+1列的映射关系的最后一个表页720-3。由于存储器控制电路单元404(或存储器管理电路502)是依据数据位区的大小来划分此些表页,因此,上述第一个表页720-1、第二个表页720-2与最后一个表页720-3的大小皆会相当于数据位区的大小。
图10是本发明一实施例所示出的存取实体-逻辑映射表的范例示意图。
请参照图10,在图9A与图9B所示的状态下,存储器控制电路单元404(或存储器管理电路502)会从对应实体-逻辑映射表700中的第20列至第N+1列之映射关系的最后一个表页720-3开始至对应实体-逻辑映射表700中的第0列至第9列之映射关系的第一个表页720-1,依序将实体-逻辑映射表700的最后一个表页720-3、第二个表页720-2与第一个表页720-1从缓冲存储器508中存储至第一实体擦除单410(F)中并记录表页的数目。例如,最后一个表页720-3被存储于实体编程单元710(M-1)的数据位区702中,第二个表页720-2被存储至第一实体擦除单元410(F)的最后一个实体编程单元710(M+1)的前一个实体编程单元710(M)的数据位区702中,而第一个表页720-1则接续地被存储至第一实体擦除单元410(F)的最后一个实体编程单元710(M+1)的数据位区702中。在此实施例中,第一个表页720-1、第二个表页720-2与最后一个表页720-3的总数目为3,因此,在将实体-逻辑映射表700的第一个表页720-1从缓冲存储器508中存储至第一实体擦除单410(F)中的最后一个实体编程单元710(M+1)的数据位区702的同时,存储器控制电路单元404(或存储器管理电路502)会将页表的数目“3”记录在第一实体擦除单元410(F)的最后一个实体编程单元710(M+1)的冗余位区704中。然而,本发明并不限于此,例如,在另一实施例中,存储器控制电路单元404(或存储器管理电路502)会将页表的数目“3”记录于存储有实体-逻辑映射表700的页表的所有实体擦除单元(即,实体编程单元710(M-1)、实体编程单元710(M)与实体编程单元710(M+1))的冗余位区704中。
具体而言,当存储器控制电路单元404(或存储器管理电路502)欲根据实体-逻辑映射表700来更新逻辑-实体映射表或者欲执行垃圾收集程序时,存储器控制电路单元404(或存储器管理电路502)会从第一实体擦除单元410(F)中读取实体-逻辑映射表700。请再参照图10,存储器控制电路单元404(或存储器管理电路502)会从第一实体擦除单元410(F)中的最后一个实体编程单元710(M-1)的数据位区702读取实体-逻辑映射表700的第一个表页720-1并从第一实体擦除单元410(F)中的最后一个实体编程单元710(M-1)的冗余位区704读取实体-逻辑映射表700的所有表页的数目“3”。接着,存储器控制电路单元404(或存储器管理电路502)会将从第一实体擦除单410(F)中的最后一个实体编程单元710(M-1)的数据位区702读取的实体-逻辑映射表700的第一个表页720-1暂存至缓冲存储器508。之后,存储器控制电路单元404(或存储器管理电路502)会依据从第一实体擦除单410(F)中的最后一个实体编程单元(M-1)的冗余位区704读取的实体-逻辑映射表700的所有表页的数目(即,“3”),依序地从排列在第一实体擦除单410(F)中的最后一个实体编程单元710(M+1)之前的实体编程单元的数据位区702读取实体-逻辑映射表700的其它表页,以及将所读取的其它表页暂存至缓冲存储器508。
例如,存储器控制电路单元404(或存储器管理电路502)会根据所有表页的数目(即,“3”)得知对应实体-逻辑映射表700的3个页表分别存储在第一实体擦除单元410(F)中的最后一个实体编程单元710(M+1)与排列在第一实体擦除单410(F)中的最后一个实体编程单元710(M+1)之前的另外两个实体编程单元中。因此,在存储器控制电路单元404(或存储器管理电路502)将从第一实体擦除单元410(F)中的最后一个实体编程单元710(M+1)的数据位区702读取的实体-逻辑映射表700的第一个表页720-1暂存至缓冲存储器508后,存储器控制电路单元404(或存储器管理电路502)会接着先从实体编程单元710(M)的数据位区702读取实体-逻辑映射表700的表页720-2并将其暂存至缓冲存储器508,再从实体编程单元710(M-1)的数据位区702读取实体-逻辑映射表700的表页720-3并将其暂存至缓冲存储器508。
图11是本发明另一实施例所示出的存取实体-逻辑映射表的范例示意图。
请参照图11,在另一实施例中,存储器控制电路单元404(或存储器管理电路502)也可从对应实体-逻辑映射表700中的第0列至第9列的映射关系的第一个表页720-1开始至对应实体-逻辑映射表700中的第20列至第N+1列的映射关系的最后一个表页720-3,依序将实体-逻辑映射表700的第一个表页720-1、第二个表页720-2与最后一个表页720-3从缓冲存储器508中存储至第一实体擦除单410(F)中。例如,第一个表页720-1会被存储至第一实体擦除单元410(F)的实体编程单元710(M-1)的数据位区702中,第二个表页720-2被存储至第一实体擦除单元410(F)的最后一个实体编程单元710(M+1)的前一个实体编程单元710(M)的数据位区702中,而最后一个表页720-3则接续地被被存储于最后一个实体编程单元710(M+1)的数据位区702中。
特别是,在此实施例中,在将第一个表页720-1存储至第一实体擦除单元410(F)的实体编程单元710(M-1)的数据位区702中的同时,存储器控制电路单元404(或存储器管理电路502)还会将目前表页(即,第一个表页720-1)的表页信息与表页总数目的对应关系“1-3”记录在第一实体擦除单元410(F)的实体编程单元710(M-1)的冗余位区704中,其中目前表页的表页信息与表页总数目的对应关系“1-3”可指示实体编程单元710(M-1)的数据位区702所记录的表页为排列在实体-逻辑映射表700的3个表页中的第1个表页。类似地,在将第二个表页720-2存储至第一实体擦除单元410(F)的实体编程单元710(M)的数据位区702中的同时,存储器控制电路单元404(或存储器管理电路502)会将目前表页(即,第二个表页720-2)的表页信息与表页总数目的对应关系“2-3”记录在第一实体擦除单元410(F)的实体编程单元710(M)的冗余位区704中。以及,在将最后一个表页720-3存储至第一实体擦除单元410(F)的实体编程单元710(M+1)的数据位区702中的同时,存储器控制电路单元404(或存储器管理电路502)会将目前表页(即,最后一个表页720-3)的表页信息与表页总数目的对应关系“3-3”记录在第一实体擦除单元410(F)的实体编程单元710(M+1)的冗余位区704中。
在此例子中,当存储器控制电路单元404(或存储器管理电路502)欲根据实体-逻辑映射表700来更新逻辑-实体映射表或者欲执行垃圾收集程序时,若存储器控制电路单元404(或存储器管理电路502)是从第一实体擦除单元410(F)中的最后一个实体编程单元710(M+1)的数据位区702读取实体-逻辑映射表700,即可根据目前表页的表页信息与表页总数目的对应关系“3-3”得知实体编程单元710(M+1)的数据位区702所记录的表页为排列在实体-逻辑映射表700的3个表页中的第3个表页。因此,存储器控制电路单元404(或存储器管理电路502)会根据目前表页的表页信息与表页总数目的对应关系“3-3”将实体-逻辑映射表700的最后一个表页720-3暂存至缓冲存储器508,并在缓冲存储器508中预留存储实体-逻辑映射表700的第一个表页720-1与第二个表页720-2的空间。之后,存储器控制电路单元404(或存储器管理电路502)接着会先从实体编程单元710(M)的数据位区702读取实体-逻辑映射表700的表页720-2,再从实体编程单元710(M-1)的数据位区702读取实体-逻辑映射表700的表页720-1并将其暂存至所预留的缓冲存储器508的空间中,且在缓冲存储器508中实体-逻辑映射表700的3个表页的排列顺序依序为第一个表页720-1、第二个表页720-2与最后一个表页720-3。
特别是,通过本发明上述的存取实体-逻辑映射表的运作,存储器控制电路单元404(或存储器管理电路502)在读取第一实体擦除单410(F)中的最后一个实体编程单元710(M-1)时即可知道实体-逻辑映射表700的总数据量,并且存储器控制电路单元404(或存储器管理电路502)会根据实体-逻辑映射表700的所有表页的数目一一读取对应实体-逻辑映射表700的每一个表页。换言之,实体-逻辑映射表700的所有表页的数目即为实体-逻辑映射表700的大小。如此一来,在本实施例中,存储器控制电路单元404(或存储器管理电路502)不需在其它实体擦除单元中额外地使用其它的表来记录对应每一个实体编程单元的实体-逻辑映射表700的大小与存储位置,且在实体擦除单元的实体编程单元皆被有效的利用的情况下,可提升存储器存储装置10整体的运作效益。
图12是本发明一实施例所示出的映射表存取方法的流程图。
请参照图12,在步骤S1201中,存储器控制电路单元404(或存储器管理电路502)将对应第一实体擦除单元的映射记录存储至第一实体擦除单元中,其中第一实体擦除单元的映射记录为第一实体擦除单元的实体编程单元的映射关系。
在步骤S1203中,存储器控制电路单元404(或存储器管理电路502)将对应第二实体擦除单元的映射记录存储至第二实体擦除单元中,其中第二实体擦除单元的映射记录为第二实体擦除单元的实体编程单元的映射关系,并且第一实体擦除单元的映射记录的大小与第二实体擦除单元的映射记录的大小不同。
然而,图12中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图12中各步骤可以实作为多个程序代码或是电路,本发明并不在此限。此外,图12的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
综上所述,本发明的映射表存取方法会依据数据位区的大小将实体-逻辑映射表划分为多个表页,并在存储此些页表的实体编程单元中的最后一个实体编程单元的冗余位区记录此些页表的数目。由于此些页表的数目即代表实体-逻辑映射表的大小,基此,存储器存储系统不需使用额外的资源来记录对应每一个实体编程单元的实体-逻辑映射表的大小与存储位置,且可有效地利用实体擦除单元来存储动态改变大小的映射表。如此一来,不仅避免了可复写式非易失性存储器的系统资源不必要的浪费更提升了存储器存储系统的整体运作效益。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种映射表存取方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体擦除单元,每一该些实体擦除单元包括多个实体编程单元,每一该些实体编程单元包括数据位区与冗余位区,其特征在于,所述映射表存取方法包括:
将对应第一实体擦除单元的映射记录存储至所述第一实体擦除单元中,其中所述第一实体擦除单元的所述映射记录为所述第一实体擦除单元的实体编程单元的映射关系;以及
将对应第二实体擦除单元的映射记录存储至所述第二实体擦除单元中,其中所述第二实体擦除单元的所述映射记录为所述第二实体擦除单元的实体编程单元的映射关系,
其中所述第一实体擦除单元的所述映射记录的大小与所述第二实体擦除单元的所述映射记录的大小不同。
2.根据权利要求1所述映射表存取方法,其特征在于,在将对应所述第一实体擦除单元的映射记录存储至所述第一实体擦除单元中的步骤包括:
在缓冲存储器中建立实体-逻辑映射表;
将多笔编程数据编程至该些实体擦除单元之中的第一实体擦除单元;
将对应所述第一实体擦除单元的所述映射记录记录在所述实体-逻辑映射表中;以及
依据所述数据位区的大小将所述实体-逻辑映射表依序划分为多个表页,从该些表页的最后一个表页开始至该些表页的第一个表页依序将所述实体-逻辑映射表的该些表页从所述缓冲存储器中存储至所述第一实体擦除单元中并记录该些表页的数目。
3.根据权利要求2所述的映射表存取方法,其特征在于,所述方法还包括:
判断所述第一实体擦除单元中未被编程的实体编程单元的数目与所述实体-逻辑映射表的该些表页的数目之间的差距是否小于预定数目,
其中倘若所述差距小于所述预定数目时,执行上述从该些表页的最后一个表页开始至该些表页的第一个表页依序将所述实体-逻辑映射表的该些表页从所述缓冲存储器中存储至所述第一实体擦除单元中并记录该些表页的数目的步骤。
4.根据权利要求2所述的映射表存取方法,其特征在于,该些表页之中的所述第一个表页被存储至所述第一实体擦除单元的最后一个实体编程单元,该些表页之中的第二个表页被存储至所述第一实体擦除单元的所述最后一个实体编程单元的前一个实体编程单元,所述表页的数目被记录在所述第一实体擦除单元的所述最后一个实体编程单元的冗余位区中。
5.根据权利要求4所述的映射表存取方法,其特征在于,所述方法还包括:
从主机系统接收至少一写入指令与对应所述至少一写入指令的多笔页数据,其中所述至少一写入指令指示将该些页数据存储至多个逻辑单元;以及
压缩所述页数据以产生所述编程数据,
其中所述实体-逻辑映射表的大小是动态地根据所述编程数据的大小而变动。
6.根据权利要求5所述的映射表存取方法,其特征在于,所述将对应所述第一实体擦除单元的实体编程单元的所述映射记录记录在所述实体-逻辑映射表中的步骤包括:
在所述实体-逻辑映射表中记录所述第一实体擦除单元的实体编程单元与所述逻辑单元之间的映射关系。
7.根据权利要求4所述的映射表存取方法,其特征在于,所述方法还包括:
从所述第一实体擦除单元中的所述最后一个实体编程单元的数据位区读取所述实体-逻辑映射表的第一个表页并从所述第一实体擦除单元中的所述最后一个实体编程单元的冗余位区读取所述实体-逻辑映射表的所有表页的数目;
将从所述第一实体擦除单元中的所述最后一个实体编程单元的数据位区读取的所述实体-逻辑映射表的第一个表页暂存至所述缓冲存储器;以及
依据从所述第一实体擦除单元中的所述最后一个实体编程单元的冗余位区读取的所述实体-逻辑映射表的所有表页的数目,依序地从排列在所述第一实体擦除单元中的所述最后一个实体编程单元之前的实体编程单元的数据位区读取所述实体-逻辑映射表的其它表页并将所读取的其它表页暂存至所述缓冲存储器。
8.根据权利要求1所述映射表存取方法,其特征在于,在将对应所述第一实体擦除单元的映射记录存储至所述第一实体擦除单元中的步骤还包括:
在缓冲存储器中建立实体-逻辑映射表;
将多笔编程数据编程至该些实体擦除单元之中的第一实体擦除单元;
将对应所述第一实体擦除单元的所述映射记录记录在所述实体-逻辑映射表中;以及
依据所述数据位区的大小将所述实体-逻辑映射表依序划分为多个表页,从该些表页的第一个表页开始至该些表页的最后一个表页依序将所述实体-逻辑映射表的该些表页从所述缓冲存储器中存储至所述第一实体擦除单元中并记录该些表页的数目。
9.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体擦除单元,每一该些实体擦除单元包括多个实体编程单元,每一该些实体编程单元包括数据位区与冗余位区,其特征在于,所述存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至所述可复写式非易失性存储器模块;以及
存储器管理电路,电性连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以将对应第一实体擦除单元的映射记录存储至所述第一实体擦除单元中,其中所述第一实体擦除单元的所述映射记录为所述第一实体擦除单元的实体编程单元的映射关系,
其中所述存储器管理电路还用以将对应第二实体擦除单元的映射记录存储至所述第二实体擦除单元中,其中所述第二实体擦除单元的所述映射记录为所述第二实体擦除单元的实体编程单元的映射关系,
其中所述第一实体擦除单元的所述映射记录的大小与所述第二实体擦除单元的所述映射记录的大小不同。
10.根据权利要求9所述的存储器控制电路单元,其特征在于,在将对应所述第一实体擦除单元的映射记录存储至所述第一实体擦除单元中的操作中,所述存储器管理电路还用以在缓冲存储器中建立实体-逻辑映射表,
其中所述存储器管理电路还用以将多笔编程数据编程至该些实体擦除单元之中的第一实体擦除单元,
其中所述存储器管理电路还用以将对应所述第一实体擦除单元的实体编程单元的所述映射记录记录在所述实体-逻辑映射表中,
其中所述存储器管理电路还用以依据所述数据位区的大小将所述实体-逻辑映射表依序划分为多个表页,从该些表页的最后一个表页开始至该些表页的第一个表页依序将所述实体-逻辑映射表的该些表页从所述缓冲存储器中存储至所述第一实体擦除单元中并记录该些表页的数目。
11.根据权利要求10所述的存储器控制电路单元,其特征在于,所述存储器管理电路还用以判断所述第一实体擦除单元中未被编程的实体编程单元的数目与所述实体-逻辑映射表的该些表页的数目之间的差距是否小于预定数目,
其中倘若所述差距小于所述预定数目时,所述存储器管理电路执行上述从该些表页的最后一个表页开始至该些表页的第一个表页依序将所述实体-逻辑映射表的该些表页从所述缓冲存储器中存储至所述第一实体擦除单元中并记录该些表页的数目的操作。
12.根据权利要求10所述的存储器控制电路单元,其特征在于,该些表页之中的所述第一个表页被存储至所述第一实体擦除单元的最后一个实体编程单元,该些表页之中的第二个表页被存储至所述第一实体擦除单元的所述最后一个实体编程单元的前一个实体编程单元,所述表页的数目被记录在所述第一实体擦除单元的所述最后一个实体编程单元的冗余位区中。
13.根据权利要求12所述的存储器控制电路单元,其特征在于,所述存储器管理电路还用以从主机系统接收至少一写入指令与对应所述至少一写入指令的多笔页数据,其中所述至少一写入指令指示将该些页数据存储至多个逻辑单元,
其中所述存储器管理电路还用以压缩所述页数据以产生所述编程数据,
其中所述实体-逻辑映射表的大小是动态地根据所述编程数据的大小而变动。
14.根据权利要求13所述的存储器控制电路单元,其特征在于,在将对应所述该第一实体擦除单元的实体编程单元的所述映射记录记录在所述实体-逻辑映射表中的运作中,所述存储器管理电路还用以在所述实体-逻辑映射表中记录所述第一实体擦除单元的实体编程单元与所述逻辑单元之间的映射关系。
15.根据权利要求12所述的存储器控制电路单元,其特征在于,所述存储器管理电路还用以从所述第一实体擦除单元中的所述最后一个实体编程单元的数据位区读取所述实体-逻辑映射表的第一个表页并从所述第一实体擦除单元中的所述最后一个实体编程单元的冗余位区读取所述实体-逻辑映射表的所有表页的数目,
其中所述存储器管理电路还用以将从所述第一实体擦除单元中的所述最后一个实体编程单元的数据位区读取的所述实体-逻辑映射表的第一个表页暂存至所述缓冲存储器,
其中所述存储器管理电路还用以依据从所述第一实体擦除单元中的所述最后一个实体编程单元的冗余位区读取的所述实体-逻辑映射表的所有表页的数目,依序地从排列在所述第一实体擦除单元中的所述最后一个实体编程单元之前的实体编程单元的数据位区读取所述实体-逻辑映射表的其它表页并将所读取的其它表页暂存至所述缓冲存储器。
16.根据权利要求9所述的存储器控制电路单元,其特征在于,在将对应所述第一实体擦除单元的映射记录存储至所述第一实体擦除单元中的操作中,所述存储器管理电路还用以在缓冲存储器中建立实体-逻辑映射表,
其中所述存储器管理电路还用以将多笔编程数据编程至该些实体擦除单元之中的第一实体擦除单元,
其中所述存储器管理电路还用以将对应该第一实体擦除单元的实体编程单元的所述映射记录记录在所述实体-逻辑映射表中,
其中所述存储器管理电路还用以依据所述数据位区的大小将所述实体-逻辑映射表依序划分为多个表页,从该些表页的第一个表页开始至该些表页的最后一个表页依序将所述实体-逻辑映射表的该些表页从所述缓冲存储器中存储至所述第一实体擦除单元中并记录该些表页的数目。
17.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,包括多个实体擦除单元,每一该些实体擦除单元包括多个实体编程单元,且每一该些实体编程单元包括数据位区与冗余位区;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以将对应第一实体擦除单元的映射记录存储至所述第一实体擦除单元中,其中所述第一实体擦除单元的所述映射记录为所述第一实体擦除单元的实体编程单元的映射关系,
其中所述存储器控制电路单元还用以将对应第二实体擦除单元的映射记录存储至所述第二实体擦除单元中,其中所述第二实体擦除单元的所述映射记录为所述第二实体擦除单元的实体编程单元的映射关系,
其中所述第一实体擦除单元的所述映射记录的大小与所述第二实体擦除单元的所述映射记录的大小不同。
18.根据权利要求17所述的存储器存储装置,其特征在于,在将对应所述第一实体擦除单元的映射记录存储至所述第一实体擦除单元中的操作中,所述存储器控制电路单元还用以在缓冲存储器中建立实体-逻辑映射表,
其中所述存储器控制电路单元还用以将多笔编程数据编程至该些实体擦除单元之中的第一实体擦除单元,
其中所述存储器控制电路单元还用以将对应所述第一实体擦除单元的实体编程单元的所述映射记录记录在所述实体-逻辑映射表中,
其中所述存储器控制电路单元还用以依据所述数据位区的大小将所述实体-逻辑映射表依序划分为多个表页,从该些表页的最后一个表页开始至该些表页的第一个表页依序将所述实体-逻辑映射表的该些表页从所述缓冲存储器中存储至所述第一实体擦除单元中并记录该些表页的数目。
19.根据权利要求18所述的存储器存储装置,其特征在于,所述存储器控制电路单元还用以判断所述第一实体擦除单元中未被编程的实体编程单元的数目与所述实体-逻辑映射表的该些表页的数目之间的差距是否小于预定数目,
其中倘若所述差距小于所述预定数目时,所述存储器控制电路单元执行上述从该些表页的最后一个表页开始至该些表页的第一个表页依序将所述实体-逻辑映射表的该些表页从该缓冲存储器中存储至该第一实体擦除单元中并记录该些表页的数目的操作。
20.根据权利要求18所述的存储器存储装置,其特征在于,该些表页之中的所述第一个表页被存储至所述第一实体擦除单元的最后一个实体编程单元,该些表页之中的第二个表页被存储至所述第一实体擦除单元的所述最后一个实体编程单元的前一个实体编程单元,所述表页的数目被记录在所述第一实体擦除单元的所述最后一个实体编程单元的冗余位区中。
21.根据权利要求20所述的存储器存储装置,其特征在于,所述存储器控制电路单元还用以从主机系统接收至少一写入指令与对应所述至少一写入指令的多笔页数据,其中所述至少一写入指令指示将该些页数据存储至多个逻辑单元,
其中所述存储器控制电路单元还用以压缩所述页数据以产生所述编程数据,
其中所述实体-逻辑映射表的大小是动态地根据所述编程数据的大小而变动。
22.根据权利要求21所述的存储器存储装置,其特征在于,在将对应所述第一实体擦除单元的实体编程单元的所述映射记录记录在所述实体-逻辑映射表中的运作中,所述存储器控制电路单元还用以在所述实体-逻辑映射表中记录所述第一实体擦除单元的实体编程单元与所述逻辑单元之间的映射关系。
23.根据权利要求20所述的存储器存储装置,其特征在于,所述存储器控制电路单元还用以从所述第一实体擦除单元中的所述最后一个实体编程单元的数据位区读取所述实体-逻辑映射表的第一个表页并从所述第一实体擦除单元中的所述最后一个实体编程单元的冗余位区读取所述实体-逻辑映射表的所有表页的数目,
其中所述存储器控制电路单元还用以将从所述第一实体擦除单元中的所述最后一个实体编程单元的数据位区读取的所述实体-逻辑映射表的第一个表页暂存至所述缓冲存储器,
其中所述存储器控制电路单元还用以依据从所述第一实体擦除单元中的所述最后一个实体编程单元的冗余位区读取的所述实体-逻辑映射表的所有表页的数目,依序地从排列在所述第一实体擦除单元中的所述最后一个实体编程单元之前的实体编程单元的数据位区读取所述实体-逻辑映射表的其它表页并将所读取的其它表页暂存至所述缓冲存储器。
24.根据权利要求17所述的存储器存储装置,其特征在于,在将对应所述第一实体擦除单元的映射记录存储至所述第一实体擦除单元中的操作中,所述存储器控制电路单元还用以在缓冲存储器中建立实体-逻辑映射表,
其中所述存储器控制电路单元还用以将多笔编程数据编程至该些实体擦除单元之中的第一实体擦除单元,
其中所述存储器控制电路单元还用以将对应所述第一实体擦除单元的实体编程单元的所述映射记录记录在所述实体-逻辑映射表中,
其中所述存储器控制电路单元还用以依据所述数据位区的大小将所述实体-逻辑映射表依序划分为多个表页,从该些表页的第一个表页开始至该些表页的最后一个表页依序将所述实体-逻辑映射表的该些表页从所述缓冲存储器中存储至所述第一实体擦除单元中并记录该些表页的数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510464859.2A CN106406746B (zh) | 2015-07-31 | 2015-07-31 | 映射表存取方法、存储器控制电路单元及存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510464859.2A CN106406746B (zh) | 2015-07-31 | 2015-07-31 | 映射表存取方法、存储器控制电路单元及存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106406746A CN106406746A (zh) | 2017-02-15 |
CN106406746B true CN106406746B (zh) | 2019-04-23 |
Family
ID=58007790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510464859.2A Active CN106406746B (zh) | 2015-07-31 | 2015-07-31 | 映射表存取方法、存储器控制电路单元及存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106406746B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708416B (zh) * | 2015-11-13 | 2020-06-09 | 群联电子股份有限公司 | 数据重建方法与系统及其存储器控制电路单元 |
CN106681653B (zh) * | 2016-09-14 | 2019-10-25 | 合肥兆芯电子有限公司 | 存储器抹除方法、存储器控制电路单元及存储器存储装置 |
TWI695264B (zh) * | 2019-05-20 | 2020-06-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544115A (zh) * | 2012-07-10 | 2014-01-29 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器存储装置 |
TWI486767B (zh) * | 2012-06-22 | 2015-06-01 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101942272B1 (ko) * | 2011-12-27 | 2019-01-28 | 삼성전자주식회사 | 비휘발성 메모리의 제어방법, 이를 구현한 비휘발성 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR101400506B1 (ko) * | 2012-07-13 | 2014-05-27 | 주식회사 이에프텍 | 비휘발성 메모리 제어기 및 그 제어 방법 |
-
2015
- 2015-07-31 CN CN201510464859.2A patent/CN106406746B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI486767B (zh) * | 2012-06-22 | 2015-06-01 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
CN103544115A (zh) * | 2012-07-10 | 2014-01-29 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106406746A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104102585B (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
TWI534618B (zh) | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN102760099B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN106372000B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN106681652B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
CN104866429A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US10013187B2 (en) | Mapping table accessing method, memory control circuit unit and memory storage device | |
US9304907B2 (en) | Data management method, memory control circuit unit and memory storage apparatus | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN106406746B (zh) | 映射表存取方法、存储器控制电路单元及存储器存储装置 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN104881240A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN104252317B (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN102890617B (zh) | 存储器控制方法、存储器控制器与存储器储存装置 | |
CN102591737B (zh) | 数据写入与读取方法、存储器控制器与存储器储存装置 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103218308B (zh) | 缓冲存储器管理方法、存储器控制器与存储器储存装置 | |
CN105630687B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN106354651B (zh) | 平均磨损方法、存储器控制电路单元及存储器储存装置 | |
CN104731710A (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
US10824340B2 (en) | Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus | |
CN110442299B (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
CN110275668B (zh) | 区块管理方法、存储器控制电路单元与存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |