CN104102585A - 映射信息记录方法、存储器控制器与存储器储存装置 - Google Patents
映射信息记录方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN104102585A CN104102585A CN201310115764.0A CN201310115764A CN104102585A CN 104102585 A CN104102585 A CN 104102585A CN 201310115764 A CN201310115764 A CN 201310115764A CN 104102585 A CN104102585 A CN 104102585A
- Authority
- CN
- China
- Prior art keywords
- continuous
- logical address
- those
- memory
- entity
- 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.)
- Granted
Links
Landscapes
- Memory System (AREA)
Abstract
本发明提供一种映射信息记录方法、存储器控制器与存储器储存装置,用于可复写式非易失性存储器模块。本方法包括配置多个逻辑地址;建立至少一逻辑地址映射表并且将逻辑地址映射表储存至可复写式非易失性存储器模块。本方法也包括从主机***中接收欲储存至多个连续逻辑地址中的数据;将此些数据写入至多个实体可编程单元中;在载入至缓冲存储器的一对应逻辑地址映射表中更新此些连续逻辑地址与实体可编程单元之间的映射关系;在此缓冲存储器中存放连续映射表并且此连续映射表中记录对应此连续逻辑地址的连续映射记录。
Description
技术领域
本发明涉及一种映射信息记录方法、存储器控制器与存储器储存装置,尤其涉及一种用于可复写式非易失性存储器的映射信息记录方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本电脑。固态硬盘就是一种以闪存作为储存媒体的储存装置。因此,近年闪存产业成为电子产业中相当热门的一环。
一般来说,闪存储存装置的闪存模块会划分为多个实体区块,其中实体区块还划分为多个实体页面,而实体区块是闪存的擦除单位并且实体页面是闪存的写入单位。由于在编程闪存的单元时,仅能执行单向的编程(即仅能将单元的值由1编程为0),因此无法对已编程的实体页面(即存有旧数据的页面)直接进行写入,而是必须先将此实体页面擦除后方可重新编程。特别是,由于闪存的擦除是以实体区块为单位,因此当欲将存有旧数据的实体页面执行擦除运作时,必须对此实体页面所属的整个实体区块进行擦除。因此,闪存模块的实体区块会被区分为数据区与闲置区,其中数据区的实体区块是已被使用来储存数据的实体区块,而备用区中的实体区块是未被使用的实体区块,其中当主机***欲写入数据至闪存储存装置时,闪存储存装置的控制电路会从备用区中提取实体区块来写入数据,并且将所提取的实体区块会关联为数据区。并且,当数据区的实体区块被执行擦除运作(eraseoperation)后,已擦除的实体区块会被关联为备用区。
由于主机***是以逻辑地址来进行写入,因此,在闪存储存***运作过程中,控制电路会在用以暂存数据的随机存取存储器中储存逻辑地址与实体页面之间的映射关系,以利数据的存取。然而,一般来说,闪存储存***的随机存取存储器空间有限,因此,如何有效地记录逻辑地址与实体地址之间的映射关系,以提升数据的存取速度是此领域技术人员所致力的目标。
发明内容
本发明提供一种映射信息记录方法、存储器控制器与存储器储存装置,其能够有效地记录逻辑地址与实体地址之间的映射关系并提升数据读取的速度。
本发明范例实施例提出一种映射信息记录方法用于可复写式非易失性存储器模块,其中此可复写式非易失性存储器模块具有多个实体擦除单元并且每一实体擦除单元具有多个实体可编程单元。本映射信息记录方法包括配置多个逻辑地址;建立至少一逻辑地址映射表并且将逻辑地址映射表储存至可复写式非易失性存储器模块。本映射信息记录方法也包括从主机***中接收多笔第一数据,其中此主机***指示将此些第一数据储存至此些逻辑地址之中的多个第一连续逻辑地址中。本映射信息记录方法还包括将此些第一数据写入至所述实体擦除单元的实体可编程单元之中的多个第一实体可编程单元中;将对应该些第一第一连续逻辑地址的第一逻辑地址映射表载入至缓冲存储器;在第一逻辑地址映射表中更新此些第一连续逻辑地址与此些第一实体可编程单元之间的映射关系;在此缓冲存储器中存放连续映射表;并且在此连续映射表中记录对应此些第一连续逻辑地址的第一连续映射记录。
在本发明的一范例实施例中,上述第一连续映射记录的一起始逻辑地址字段记录此些第一连续逻辑地址的起始逻辑地址,上述第一连续映射记录的起始实体可编程单元字段记录此些第一实体可编程单元的起始实体可编程单元并且上述第一连续映射记录的长度字段记录此些第一连续逻辑地址的长度。
在本发明的一范例实施例中,上述映射信息记录方法还包括:从主机***中接收多笔第二数据,其中主机***指示将此些第二数据储存至此些逻辑地址之中的多个第二连续逻辑地址中,且此些第二连续逻辑地址接续此些第一连续逻辑地址。上述映射信息记录方法还包括:将此些第二数据写入至所述实体擦除单元的实体可编程单元之中的多个第二实体可编程单元中,其中此些第二实体可编程单元是接续此些第一实体可编程单元。上述映射信息记录方法也包括:在连续映射表中更新第一连续映射记录,其中第一连续映射记录的长度字段被更新为此些第一连续逻辑地址的长度与此些第二连续逻辑地址的长度的总和。
在本发明的一范例实施例中,上述映射信息记录方法还包括:在第一逻辑地址映射表中更新此些第二连续逻辑地址与此些第二实体可编程单元之间的映射关系。
在本发明的一范例实施例中,上述映射信息记录方法还包括:将第一逻辑地址映射表回存至可复写式非易失性存储器模块;以及将对应第二连续逻辑地址的第二逻辑地址映射表载入至缓冲存储器,并且在第二逻辑地址映射表中更新此些第二连续逻辑地址与此些第二实体可编程单元之间的映射关系。
在本发明的一范例实施例中,上述映射信息记录方法还包括:从主机***中接收一第三数据,其中主机***指示将第三数据储存至此些第一连续逻辑地址之中的第一逻辑地址中,其中第一逻辑地址接续于此些第一连续逻辑地址之中的多个第三连续逻辑地址并且此些第一连续逻辑地址之中的多个第四连续逻辑地址接续此第一逻辑地址。上述映射信息记录方法还包括:将第三数据写入至所述实体擦除单元的实体可编程单元之中的第三实体可编程单元中;在第一逻辑地址映射表中更新第一逻辑地址与第三实体可编程单元之间的映射关系;以及在上述连续映射表中将第一连续映射记录的长度字段更新为此些第三连续逻辑地址的长度,并且增加第二连续映射记录,其中此第二连续映射记录的起始逻辑地址字段记录此些第四连续逻辑地址的起始逻辑地址,此第二连续映射记录的起始实体可编程单元字段记录映射接续第一逻辑地址的逻辑地址的实体可编程单元,并且此第二连续映射记录的长度字段记录此些第四连续逻辑地址的长度。
在本发明的一范例实施例中,上述映射信息记录方法还包括:从主机***中接收读取指令;判断连续映射表中是否存有对应此读取指令指示的逻辑地址的信息;以及倘若此连续映射表中存有对应此读取指令指示的逻辑地址的信息时,根据此连续映射表从可复写式非易失性存储器模块中读取对应此读取指令的读取数据。
在本发明的一范例实施例中,上述映射信息记录方法还包括:倘若此连续映射表中未存有对应此读取指令指示的逻辑地址的信息时,从可复写式非易失性存储器模块中载入此些逻辑地址映射表之中的一对应逻辑地址映射表并且根据此对应逻辑地址映射表从可复写式非易失性存储器模块中读取对应此读取指令的读取数据,其中此对应逻辑地址映射表为此读取指令指示的逻辑地址所对应的逻辑地址映射表。
本发明范例实施例提出一种存储器控制器,其配置在存储器装置中。此存储器控制器包括主机接口、存储器接口、缓冲存储器与存储器管理电路。主机接口用以电性连接至主机***。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口、存储器接口与缓冲存储器。存储器管理电路用以配置多个逻辑地址,建立至少一逻辑地址映射表并且将逻辑地址映射表储存至可复写式非易失性存储器模块。存储器管理电路也用以从主机***中接收多笔第一数据,其中此主机***指示将此些第一数据储存至此些逻辑地址之中的多个第一连续逻辑地址中。存储器管理电路还用以将此些第一数据写入至所述实体擦除单元的实体可编程单元之中的多个第一实体可编程单元中,将对应第一连续逻辑地址的第一逻辑地址映射表载入至缓冲存储器,在第一逻辑地址映射表中更新此些第一连续逻辑地址与此些第一实体可编程单元之间的映射关系,在此缓冲存储器中存放连续映射表,并且在此连续映射表中记录对应此些第一连续逻辑地址的第一连续映射记录。
在本发明的一范例实施例中,上述第一连续映射记录的一起始逻辑地址字段记录此些第一连续逻辑地址的起始逻辑地址,上述第一连续映射记录的起始实体可编程单元字段记录此些第一实体可编程单元的起始实体可编程单元并且上述第一连续映射记录的长度字段记录此些第一连续逻辑地址的长度。
在本发明的一范例实施例中,存储器管理电路还用以从主机***中接收多笔第二数据,其中主机***指示将此些第二数据储存至此些逻辑地址之中的多个第二连续逻辑地址中,且此些第二连续逻辑地址接续此些第一连续逻辑地址。存储器管理电路还用以将此些第二数据写入至所述实体擦除单元的实体可编程单元之中的多个第二实体可编程单元中,其中此些第二实体可编程单元是接续此些第一实体可编程单元。存储器管理电路也用以在连续映射表中更新第一连续映射记录,其中第一连续映射记录的长度字段被更新为此些第一连续逻辑地址的长度与此些第二连续逻辑地址的长度的总和。
在本发明的一范例实施例中,存储器管理电路还用以在第一逻辑地址映射表中更新此些第二连续逻辑地址与此些第二实体可编程单元之间的映射关系。
在本发明的一范例实施例中,上述存储器管理电路还用以将第一逻辑地址映射表回存至可复写式非易失性存储器模块,将对应第二连续逻辑地址的第二逻辑地址映射表载入至缓冲存储器,并且在第二逻辑地址映射表中更新此些第二连续逻辑地址与此些第二实体可编程单元之间的映射关系。
在本发明的一范例实施例中,上述存储器管理电路还用以从主机***中接收一第三数据,其中主机***指示将第三数据储存至此些第一连续逻辑地址之中的第一逻辑地址中,第一逻辑地址接续于此些第一连续逻辑地址之中的多个第三连续逻辑地址并且此些第一连续逻辑地址之中的多个第四连续逻辑地址接续此第一逻辑地址。上述存储器管理电路还用以将第三数据写入至所述实体擦除单元的实体可编程单元之中的第三实体可编程单元中,在第一逻辑地址映射表中更新第一逻辑地址与第三实体可编程单元之间的映射关系,以及在上述连续映射表中将第一连续映射记录的长度字段更新为此些第三连续逻辑地址的长度,并且增加第二连续映射记录,其中此第二连续映射记录的起始逻辑地址字段记录此些第四连续逻辑地址的起始逻辑地址,此第二连续映射记录的起始实体可编程单元字段记录映射接续第一逻辑地址的逻辑地址的实体可编程单元,并且此第二连续映射记录的长度字段记录此些第四连续逻辑地址的长度。
在本发明的一范例实施例中,上述存储器管理电路还用以从主机***中接收读取指令,判断连续映射表中是否存有对应此读取指令指示的逻辑地址的信息,以及倘若此连续映射表中存有对应此读取指令指示的逻辑地址的信息时,根据此连续映射表从可复写式非易失性存储器模块中读取对应此读取指令的读取数据。
在本发明的一范例实施例中,倘若此连续映射表中未存有对应此读取指令指示的逻辑地址的信息时,上述存储器管理电路还用以从可复写式非易失性存储器模块中载入此些逻辑地址映射表之中的一对应逻辑地址映射表并且根据此对应逻辑地址映射表从可复写式非易失性存储器模块中读取对应此读取指令的读取数据,其中此对应逻辑地址映射表为此读取指令指示的逻辑地址所对应的逻辑地址映射表。
本发明范例实施例提出一种存储器储存装置,其包括连接器、可复写式非易失性存储器模块与存储器控制器。连接器用以电性连接至主机***,存储器控制器电性连接至连接器与可复写式非易失性存储器模块。存储器控制器用以配置多个逻辑地址,建立至少一逻辑地址映射表并且将逻辑地址映射表储存至可复写式非易失性存储器模块。存储器控制器也用以从主机***中接收多笔第一数据,其中此主机***指示将此些第一数据储存至此些逻辑地址之中的多个第一连续逻辑地址中。存储器控制器还用以将此些第一数据写入至所述实体擦除单元的实体可编程单元之中的多个第一实体可编程单元中,将对应第一连续逻辑地址的第一逻辑地址映射表载入至缓冲存储器,在第一逻辑地址映射表中更新此些第一连续逻辑地址与此些第一实体可编程单元之间的映射关系,在此缓冲存储器中存放连续映射表,并且在此连续映射表中记录对应此些第一连续逻辑地址的第一连续映射记录。
在本发明的一范例实施例中,上述第一连续映射记录的一起始逻辑地址字段记录此些第一连续逻辑地址的起始逻辑地址,上述第一连续映射记录的起始实体可编程单元字段记录此些第一实体可编程单元的起始实体可编程单元并且上述第一连续映射记录的长度字段记录此些第一连续逻辑地址的长度。
在本发明的一范例实施例中,存储器控制器还用以从主机***中接收多笔第二数据,其中主机***指示将此些第二数据储存至此些逻辑地址之中的多个第二连续逻辑地址中,且此些第二连续逻辑地址接续此些第一连续逻辑地址。存储器控制器还用以将此些第二数据写入至所述实体擦除单元的实体可编程单元之中的多个第二实体可编程单元中,其中此些第二实体可编程单元是接续此些第一实体可编程单元。存储器控制器也用以在连续映射表中更新第一连续映射记录,其中第一连续映射记录的长度字段被更新为此些第一连续逻辑地址的长度与此些第二连续逻辑地址的长度的总和。
在本发明的一范例实施例中,存储器控制器还用以在第一逻辑地址映射表中更新此些第二连续逻辑地址与此些第二实体可编程单元之间的映射关系。
在本发明的一范例实施例中,上述存储器控制器还用以将第一逻辑地址映射表回存至可复写式非易失性存储器模块,将对应第二连续逻辑地址的第二逻辑地址映射表载入至缓冲存储器,并且在第二逻辑地址映射表中更新此些第二连续逻辑地址与此些第二实体可编程单元之间的映射关系。
在本发明的一范例实施例中,上述存储器控制器还用以从主机***中接收一第三数据,其中主机***指示将第三数据储存至此些第一连续逻辑地址之中的第一逻辑地址中,第一逻辑地址接续于此些第一连续逻辑地址之中的多个第三连续逻辑地址并且此些第一连续逻辑地址之中的多个第四连续逻辑地址接续此第一逻辑地址。上述存储器控制器还用以将第三数据写入至所述实体擦除单元的实体可编程单元之中的第三实体可编程单元中,在第一逻辑地址映射表中更新此些第一逻辑地址与第三实体可编程单元之间的映射关系,以及在上述连续映射表中将第一连续映射记录的长度字段更新为此些第三连续逻辑地址的长度,并且增加第二连续映射记录,其中此第二连续映射记录的起始逻辑地址字段记录此些第四连续逻辑地址的起始逻辑地址,此第二连续映射记录的起始实体可编程单元字段记录映射接续第一逻辑地址的逻辑地址的实体可编程单元,并且此第二连续映射记录的长度字段记录此些第四连续逻辑地址的长度。
在本发明的一范例实施例中,上述存储器控制器还用以从主机***中接收读取指令,判断连续映射表中是否存有对应此读取指令指示的逻辑地址的信息,以及倘若此连续映射表中存有对应此读取指令指示的逻辑地址的信息时,根据此连续映射表从可复写式非易失性存储器模块中读取对应此读取指令的读取数据。
在本发明的一范例实施例中,倘若此连续映射表中未存有对应此读取指令指示的逻辑地址的信息时,上述存储器控制器还用以从可复写式非易失性存储器模块中载入此些逻辑地址映射表之中的一对应逻辑地址映射表并且根据此对应逻辑地址映射表从可复写式非易失性存储器模块中读取对应此读取指令的读取数据,其中此对应逻辑地址映射表为此读取指令指示的逻辑地址所对应的逻辑地址映射表。
基于上述,本范例实施例的映射信息记录方法、存储器控制器与存储器储存装置能够在有限的缓冲存储器空间内记录连续映射信息,以提升数据读取的速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机***与存储器储存装置的示意图;
图2是根据一范例实施例所示出的电脑、输入/输出装置与存储器储存装置的示意图;
图3是根据一范例实施例所示出的主机***与存储器储存装置的示意图;
图4是示出图1所示的存储器储存装置的概要方块图;
图5是根据一范例实施例所示出的存储器控制器的概要方块图;
图6与图7是根据一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图;
图8是根据本发明范例实施例所示出的逻辑地址映射表的范例示意图;
图9~图11是根据本发明范例实施例所示出的进行写入运作而更新逻辑地址映射表的一范例示意图;
图12是根据本范例实施例所示出的实体地址储存状态表的示意图;
图13是根据本发明一范例实施例所示出的连续映射表的范例示意图;
图14是根据本发明范例实施例所示出的执行连续写入运作而更新逻辑地址映射表与连续映射表的一范例示意图;
图15是根据本发明范例实施例所示出的执行连续写入运作而更新逻辑地址映射表与连续映射表的另一范例示意图;
图16与图17是根据本发明范例实施例所示出的执行连续写入运作而更新逻辑地址映射表与连续映射表的另一范例示意图;
图18是根据本发明范例实施例所示出的执行写入运作而更新逻辑地址映射表与连续映射表的另一范例示意图;
图19是根据本范例实施例所示出的映射信息记录方法中初始化存储器储存装置的流程图;
图20是根据本范例实施例所示出的映射信息记录方法中执行连续写入运作的流程图;
图21是根据另一范例实施例所示出的映射信息记录方法中执行连续写入运作的流程图;
图22是根据另一范例实施例所示出的映射信息记录方法中执行写入运作的流程图;
图23是根据另一范例实施例所示出的映射信息记录方法中执行读取运作的流程图。
附图标记说明:
1000:主机***;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:***总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1212:随身盘;
1214:存储卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:记忆棒;
1318:CF卡;
1320:嵌入式储存装置;
100:存储器储存装置;
102:连接器;
104:存储器控制器;
106:可复写式非易失性存储器模块;
304(0)~304(R):实体擦除单元;
202:存储器管理电路;
206:存储器接口;
208:缓冲存储器;
210:电源管理电路;
212:错误检查与校正电路;
402:储存区;
404:***区;
406:取代区;
LZ(0)~LZ(M):逻辑区域;
LBA(0)~LBA(H):逻辑地址;
PBA(0-1)~PBA(N-K):实体可编程单元;
800、801、802:逻辑地址映射表;
802:逻辑地址索引字段;
804:实体地址字段;
1290:实体地址储存状态表;
1292:实体地址索引字段;
1294:状态字段;
1300:连续映射表;
1302:记录编号字段;
1304:起始逻辑地址字段;
1306:起始实体可编程单元字段;
1308:长度字段;
S1901、S1903、S1905:记录映射信息的步骤;
S2001、S2003、S2005、S2007、S2009、S2011:写入运作的步骤;
S2101、S2103、S2105、S2107、S2109、S2111:写入运作的步骤;
S2201、S2203、S2205、S2207、S2209、S2211、S2213:写入运作的步骤;
S2301、S2303、S2305、S2307、S2309、S2311、S2313:读取运作的步骤。
具体实施方式
一般而言,存储器储存装置(也称存储器储存***)包括可复写式非易失性存储器模块与控制器(也称控制电路)。通常存储器储存装置是与主机***一起使用,以使主机***可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1是根据一范例实施例所示出的主机***与存储器储存装置的示意图。
请参照图1,主机***1000一般包括电脑1100与输入/输出(input/output,简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(randomaccess memory,简称RAM)1104、***总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机***1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图2所示的随身盘1256、存储卡1214或固态硬盘(Solid State Drive,简称SSD)1216等的可复写式非易失性存储器储存装置。
一般而言,主机***1000为可实质地与存储器储存装置100配合以储存数据的任意***。虽然在本范例实施例中,主机***1000是以电脑***来作说明,然而,在本发明另一范例实施例中主机***1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等***。例如,在主机***为数码相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图3所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机***的基板上。
图4是示出图1所示的存储器储存装置的概要方块图。
请参照图4,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。
在本范例实施例中,连接器102是相容于安全数字(Secure Digital,简称SD)接口标准。然而,必须了解的是,本发明不限于此,连接器102也可以是符合并列先进附件(Parallel Advanced Technology Attachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,简称IEEE)1394标准、高速周边零件连接接口(Peripheral ComponentInterconnect Express,简称PCI Express)标准、通用序列总线(Universal SerialBus,简称USB)标准、序列先进附件(Serial Advanced Technology Attachment,简称SATA)标准、超高速一代(Ultra High Speed-I,简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称UHS-II)接口标准、记忆棒(Memory Stick,简称MS)接口标准、多媒体储存卡(Multi Media Card,简称MMC)接口标准、嵌入式多媒体储存卡(Embedded Multimedia Card,简称eMMC)接口标准、通用闪存(Universal Flash Storage,简称UFS)接口标准、小型快闪(Compact Flash,简称CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,简称IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或韧体型式实作的多个逻辑门或控制指令,并且根据主机***1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与擦除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机***1000所写入的数据。可复写式非易失性存储器模块106具有实体擦除单元304(0)~304(R)。例如,实体擦除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体擦除单元分别具有多个实体可编程单元,并且属于同一个实体擦除单元的实体可编程单元可被独立地写入且被同时地擦除。例如,每一实体擦除单元是由128个实体可编程单元所组成。然而,必须了解的是,本发明不限于此,每一实体擦除单元也可由64个实体可编程单元、256个实体可编程单元或其他任意个实体可编程单元所组成。
更详细来说,实体擦除单元为擦除的最小单位。亦即,每一实体擦除单元含有最小数目之一并被擦除的单元。实体可编程单元为可编程的最小单元。即实体可编程单元为写入数据的最小单元。每一实体可编程单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以储存使用者的数据,而冗余比特区用以储存***的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体可编程单元的数据比特区中会包含4个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体擦除单元为实体区块,并且实体可编程单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块106为多阶单元(Multi Level Cell,简称MLC)NAND型闪存模块(即一个单元中可储存2个比特数据的闪存模块)。然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶单元(Single Level Cell,简称SLC)NAND型闪存模块(即一个单元中可储存1个比特数据的闪存模块)、复数阶单元(TrinaryLevel Cell,简称TLC)NAND型闪存模块(即一个单元中可储存3个比特数据的闪存模块)、其他闪存模块或其他具有相同特性的存储器模块。
图5是根据一范例实施例所示出的存储器控制器的概要方块图。必须了解的是,图5所示的存储器控制器的结构仅为一范例,本发明不以此为限。
请参照图5,存储器控制器104包括存储器管理电路202、主机接口204、存储器接口206与缓冲存储器208。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与擦除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以韧体型式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序码型式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放***数据的***区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被使能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与擦除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、单元管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路。单元管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路是电性连接至微控制器。其中,单元管理电路用以管理可复写式非易失性存储器模块106的实体擦除单元;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器擦除电路用以对可复写式非易失性存储器模块106下达擦除指令以将数据从可复写式非易失性存储器模块106中擦除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机***1000所传送的指令与数据。也就是说,主机***1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SD标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、SATA标准、UHS-I接口标准、UHS-II接口标准、MS标准、MMC标准、eMMC接口标准、UFS接口标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会通过存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
缓冲存储器208是电性连接至存储器管理电路202并且用以暂存来自于主机***1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
在本发明一范例实施例中,存储器控制器104还包括电源管理电路210以及错误检查与校正电路212。
电源管理电路210是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
错误检查与校正电路212是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机***1000中接收到写入指令时,错误检查与校正电路212会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,简称ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路212会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图6与图7是根据一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块106的实体擦除单元的运作时,以“提取”、“交换”、“分组”、“轮替”等词来操作实体擦除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体擦除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体擦除单元进行操作。
请参照图6,存储器控制器104(或存储器管理电路202)会将可复写式非易失性存储器模块106的实体擦除单元304(0)~304(R)逻辑地分组为储存区402、***区404与取代区406。
逻辑上属于储存区402的实体擦除单元304(0)~304(N)是用以储存主机***1000所写入的数据。也就是说,存储器储存装置100会使用分组为储存区402的实体擦除单元来实际地储存主机***1000所写入的数据。
逻辑上属于***区404的实体擦除单元304(N+1)~304(S)是用以记录***数据,其中此***数据包括关于存储器芯片的制造商与型号、存储器芯片的实体擦除单元数、每一实体擦除单元的实体可编程单元数等。
逻辑上属于取代区406中的实体擦除单元304(S+1)~304(R)是替代实体擦除单元。例如,可复写式非易失性存储器模块106于出厂时会预留4%的实体擦除单元作为更换使用。也就是说,当储存区402与***区404中的实体擦除单元损毁时,预留于取代区406中的实体擦除单元是用以取代损坏的实体擦除单元(即坏实体擦除单元(bad block))。因此,倘若取代区406中仍存有正常的实体擦除单元且发生实体擦除单元损毁时,存储器控制器104会从取代区406中提取正常的实体擦除单元来更换损毁的实体擦除单元。倘若取代区406中无正常的实体擦除单元且发生实体擦除单元损毁时,则存储器控制器104会将整个存储器储存装置100宣告为写入保护(write protect)状态,而无法再写入数据。
特别是,储存区402、***区404与取代区406的实体擦除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置100的运作中,实体擦除单元关联至储存区402、***区404与取代区406的分组关系会动态地变动。例如,当储存区402中的实体擦除单元损坏而被取代区406的实体擦除单元取代时,则原本取代区406的实体擦除单元会被关联至储存区402。
请参照图7,如上所述,储存区402的实体擦除单元是以轮替方式来储存主机***1000所写入的数据。在本范例实施例中,存储器控制器104(或存储器管理电路202)会配置逻辑地址LBA(0)~LBA(H)给主机***1000以进行数据的存取。每个逻辑地址是由数个扇区(sector)所组成。例如,在本范例实施例中,每一逻辑地址是由4个扇区所组成。但本发明不限于此,在本发明另一范例实施例中,逻辑地址也可是由8个扇区所组成或是由16个扇区所组成。一般来说,储存区402的实体擦除单元的实体可编程单元的数目是大于逻辑地址的数目。
例如,当存储器控制器104(或存储器管理电路202)开始使用实体擦除单元304(0)来储存主机***1000欲写入的数据时,不管主机***1000是写入那个逻辑地址,存储器控制器104(或存储器管理电路202)会将数据写入至实体擦除单元304(0)的实体可编程单元;而当存储器控制器104(或存储器管理电路202)开始使用实体擦除单元304(1)来储存主机***1000欲写入的数据时,不管主机***1000是写入哪个逻辑地址,存储器控制器104(或存储器管理电路202)会将数据写入至实体擦除单元304(1)的实体可编程单元中。
为了识别数据每个逻辑地址的被储存在那个实体可编程单元,在本范例实施例中,存储器控制器104(或存储器管理电路202)会记录逻辑地址与实体可编程单元之间的映射关系。并且,当主机***1000欲在扇区中存取数据时,存储器控制器104(或存储器管理电路202)会确认此扇区所属的逻辑地址,并且在此逻辑地址所映射的实体可编程单元中来存取数据。例如,在本范例实施例中,存储器控制器104(或存储器管理电路202)会在可复写式非易失性存储器模块106中储存逻辑地址映射表来记录每一逻辑地址所映射的实体可编程单元,并且当欲存取数据时存储器控制器104(或存储器管理电路202)会将逻辑地址映射表载入至缓冲存储器208来维护。
值得一提的是,由于缓冲存储器208的容量有限无法储存记录所有逻辑地址的映射关系的映射表,因此,在本范例实施例中,存储器控制器104(或存储器管理电路202)会将逻辑地址LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑地址映射表。特别是,当存储器控制器104(或存储器管理电路202)欲更新某个逻辑地址的映射关系时,对应此逻辑地址所属的逻辑区域的逻辑地址映射表会被载入至缓冲存储器208来被更新。
图8是根据本发明范例实施例所示出的逻辑地址映射表的范例示意图。
请参照图8,在本范例实施例中,每一逻辑区域的逻辑地址映射表是相同的,在此仅以对应逻辑区域LZ(0)的逻辑地址映射表800来作说明。逻辑地址映射表800包括逻辑地址索引字段802以及实体地址字段804。逻辑地址索引字段802记录逻辑区域LZ(0)的每个逻辑地址的编号并且实体地址字段804记录每个逻辑地址所映射的实体可编程单元。在存储器储存装置100为全新且未曾被用来储存数据的状态下,所有逻辑地址映射表中对应每一个逻辑地址所映射的实体程式单元的字段会被标记为空值(例如,NULL)。
图9~图11是根据本发明范例实施例所示出的进行写入运作而更新逻辑地址映射表的一范例示意图。
请参照图9,倘若在存储器储存装置100为全新且未曾被用来储存数据的状态下主机***1000欲写入数据至逻辑地址LBA(1)时,存储器控制器104(或存储器管理电路202)会选择一个实体擦除单元(例如,实体擦除单元304(0))并且将主机***1000欲写入的数据写入至实体可编程单元PBA(0-1)。在完成数据的写入后,存储器控制器104(或存储器管理电路202)会在逻辑地址映射表800中将逻辑地址LBA(1)映射至实体可编程单元PBA(0-1)。
请参照图10,倘若在图9的状态下主机***1000欲写入数据至逻辑地址LBA(129)时,存储器控制器104(或存储器管理电路202)会将主机***1000欲写入的数据写入至实体可编程单元PBA(0-2)中。此时,存储器控制器104(或存储器管理电路202)会在逻辑地址映射表800中将逻辑地址LBA(129)映射至实体可编程单元PBA(0-2)。
请参照图11,倘若在图10的状态下主机***1000欲写入数据至逻辑地址LBA(1)时,存储器控制器104(或存储器管理电路202)会将主机***1000欲写入的数据写入至实体可编程单元PBA(0-3)中。此时,存储器控制器104(或存储器管理电路202)会在逻辑地址映射表800中将逻辑地址LBA(1)映射至实体可编程单元PBA(0-3)。此时,实体可编程单元PBA(0-1)所储存的数据为无效数据。特别是,在某个实体擦除单元的所有实体可编程单元所储存的数据皆为无效数据时,存储器控制器104(或存储器管理电路202)就可对此实体擦除单元执行擦除运作并且所擦除后的实体擦除单元就可再被用来写入数据。基此,为了识别储存无效数据的实体可编程单元,例如,在一范例实施例中,存储器控制器104(或存储器管理电路202)会维护实体地址信息表,由此来识别每个实体地址所储存的数据为有效数据或无效数据。例如,存储器控制器104(或存储器管理电路202)会使用实体地址储存状态表来记录实体地址的状态。
图12是根据本范例实施例所示出的实体地址储存状态表的示意图。
请参照图12,实体地址储存状态表1290包括实体地址索引字段1292与状态字段1294,实体地址索引字段1292记录每个实体可编程单元的编号且状态字段1294记录每个对应实体可编程单元的状态。例如,当状态字段被标记为“0”时,表示对应的实体可编程单元所储存的数据为无效数据且状态字段被标记为“1”时,表示对应的实体可编程单元储存数据为有效数据,但本发明不限于此。
值得一提的,除了使用上述的实体地址储存状态表1290来识别实体地址的状态外,在本发明另一范例实施例中,也可用实体地址映射表来识别实体地址的状态。例如,实体地址映射表包括实体地址索引字段与逻辑地址字段,其中逻辑地址字段用以记录映射实体地址索引字段所记录的实体可编程单元的逻辑地址。并且,通过比对逻辑地址映射表与实体地址映射表,每个实体可编程单元所储存的数据为有效数据或无效数据就可被识别。
如上所述,在存储器储存装置100运作期间对应所有逻辑区域的逻辑地址映射表无法同时被载入至缓冲存储器208,因此,当主机***1000欲读取储存于某个逻辑地址的数据时,存储器控制器104(或存储器管理电路202)需从可复写式非易失性存储器模块106中载入对应的逻辑地址映射表(即将已完成更新的逻辑地址映射表回存至可复写式非易失性存储器模块106且将对应目前欲存取的逻辑地址所属的逻辑区域的逻辑地址映射表载入至缓冲存储器208),由此会延迟读取数据所需的时间,进而影响存储器储存装置100的存取效能。基此,在本范例实施例中,存储器控制器104(或存储器管理电路202)还会在执行连续写入运作时利用缓冲存储器208的一部分空间来存放连续映射表,以记录连续逻辑地址与连续实体可编程单元的映射关系。在此,连续写入运作意指写入欲储存至连续逻辑地址的数据。也就是说,在本范例实施例中,当主机***1000将多笔数据写入至连续逻辑地址时,除了更新对应的逻辑地址映射表(如图9所示)之外,存储器控制器104(或存储器管理电路202)会在连续映射表中记录对应所写入的数据的起始逻辑地址、起始实体可编程单元与长度,由此以较少的数据量来记录逻辑地址与实体可编程单元的映射关系。特别是,在执行读取运作期间,若欲存取的逻辑地址的映射信息可由连续映射表来提供时,存储器控制器104(或存储器管理电路202)会根据连续映射表中的映射信息来从对应的实体可编程单元中读取数据,由此减少从可复写式非易失性存储器模块106中载入逻辑地址映射表的次数,以提升读取速度。以下将配合图式详细描述存储器控制器104(或存储器管理电路202)如何在写入数据时维护连续映射表以提升后续读取数据的速度。值得一提的是,在本范例实施例,连续映射表存放在缓冲存储器208中,并且不会存至可复写式非易失性存储器模块106。然而,本发明不限于此,在本发明另一范例实施例中,连续映射表也可于存储器储存装置100关机前存至可复写式非易失性存储器模块106并且于存储器储存装置100再次启动时被载入至缓冲存储器208中来继续维护。
图13是根据本发明一范例实施例所示出的连续映射表的范例示意图。
请参照图13,连续映射表1300包括记录编号字段1302、起始逻辑地址字段1304、起始实体可编程单元字段1306与长度字段1308。记录编号字段1302用以记录连续映射记录的编号,起始逻辑地址字段1304用以记录此笔连续映射记录的起始逻辑地址、起始实体可编程单元字段1306用以记录此笔连续映射记录的起始实体可编程单元与长度字段1308用以记录此笔连续映射记录的逻辑地址的长度。在本范例实施例中,连续映射表1300可记录多笔连续映射记录。例如,在一范例实施例中,连续映射表1300可记录的连续映射记录的数目可根据缓冲存储器208的大小来决定。
图14是根据本发明范例实施例所示出的执行连续写入运作而更新逻辑地址映射表与连续映射表的一范例示意图。为了方便说明说,在此假设主机***1000欲储存多笔数据至连续逻辑地址LBA(0)~LBA(3),逻辑地址LBA(0)~LBA(9)被分组为第一逻辑区域且逻辑地址映射表801被指配用于记录第一逻辑区域的逻辑地址LBA(0)~LBA(9)的映射关系。
请参照图14,当接收到欲储存至连续逻辑地址LBA(0)~LBA(3)的数据时,存储器控制器104(或存储器管理电路202)会选择一个空的实体擦除单元304(0)并且将欲储存至连续逻辑地址LBA(0)~LBA(3)的数据写入至实体擦除单元304(0)的连续实体可编程单元PBA(0-0)~PBA(0-3)中。并且,存储器控制器104(或存储器管理电路202)会从可复写式非易失性存储器模块106中载入逻辑地址映射表801至缓冲存储器208并且在逻辑地址映射表801中记录连续逻辑地址LBA(0)~LBA(3)与连续实体可编程单元PBA(0-0)~PBA(0-3)的映射关系,其中逻辑地址LBA(0)映射实体可编程单元PBA(0-0),逻辑地址LBA(1)映射实体可编程单元PBA(0-1),逻辑地址LBA(2)映射实体可编程单元PBA(0-2),并且逻辑地址LBA(3)映射实体可编程单元PBA(0-3)。
另外,存储器控制器104(或存储器管理电路202)会在连续映射表1300新增一个连续映射记录(以下称为第一连续映射记录),以记录连续逻辑地址LBA(0)~LBA(3)的起始逻辑地址LBA(0)、连续实体可编程单元PBA(0-0)~PBA(0-3)的起始实体可编程单元PBA(0-0)以及连续逻辑地址LBA(0)~LBA(3)的长度(即4)。
图15是根据本发明范例实施例所示出的执行连续写入运作而更新逻辑地址映射表与连续映射表的另一范例示意图。图15的范例是延续图14的范例,并假设主机***1000在储存多笔数据至连续逻辑地址LBA(0)~LBA(3)后再储存多笔数据至连续逻辑地址LBA(4)~LBA(6)。
请参照图15,当后续接收到欲储存至连续逻辑地址LBA(4)~LBA(6)的数据时,存储器控制器104(或存储器管理电路202)会将欲储存至连续逻辑地址LBA(4)~LBA(6)的数据写入至实体擦除单元304(0)的连续实体可编程单元PBA(0-4)~PBA(0-6)中。特别是,由于逻辑地址映射表801已被载入至缓冲存储器208,因此,存储器控制器104(或存储器管理电路202)可直接在逻辑地址映射表801中记录连续逻辑地址LBA(4)~LBA(6)与连续实体可编程单元PBA(0-4)~PBA(0-6)的映射关系,其中逻辑地址LBA(4)映射实体可编程单元PBA(0-4),逻辑地址LBA(5)映射实体可编程单元PBA(0-5),并且逻辑地址LBA(6)映射实体可编程单元PBA(0-6)。
另外,存储器控制器104(或存储器管理电路202)会在连续映射表1300更新第一连续映射记录,以将对应的长度更新为7。具体来说,由于储存第二数据的逻辑地址LBA(4)~LBA(6)是接续逻辑地址LBA(0)~LBA(3)并且实体可编程单元PBA(0-4)~PBA(0-6)是接续实体可编程单元PBA(0-0)~PBA(0-3),因此,存储器控制器104(或存储器管理电路202)仅需更新第一连续映射记录中的长度字段内的值,即可存有连续逻辑地址LBA(0)~LBA(6)的映射信息。
图16与图17是根据本发明范例实施例所示出的执行连续写入运作而更新逻辑地址映射表与连续映射表的另一范例示意图。为了方便说明,在此假设主机***1000先储存多笔数据至连续逻辑地址LBA(0)~LBA(9)且之后再储存多笔数据至连续逻辑地址LBA(10)~LBA(19),其中逻辑地址LBA(0)~LBA(9)被分组为第一逻辑区域,逻辑地址LBA(10)~LBA(19)被分组为第二逻辑区域,逻辑地址映射表801被指配用于记录第一逻辑区域内的逻辑地址LBA(0)~LBA(9)的映射关系并且逻辑地址映射表802被指配用于记录第二逻辑区域内的逻辑地址LBA(10)~LBA(19)的映射关系。
请参照图16,当接收到欲储存至连续逻辑地址LBA(0)~LBA(9)的数据时,存储器控制器104(或存储器管理电路202)会选择一个空的实体擦除单元304(0)并且将欲储存至连续逻辑地址LBA(0)~LBA(9)的数据写入至实体擦除单元304(0)的连续实体可编程单元PBA(0-0)~PBA(0-9)中。并且,存储器控制器104(或存储器管理电路202)会从可复写式非易失性存储器模块106中载入逻辑地址映射表801至缓冲存储器208并且在逻辑地址映射表801中记录连续逻辑地址LBA(0)~LBA(9)与连续实体可编程单元PBA(0-0)~PBA(0-9)的映射关系。
另外,存储器控制器104(或存储器管理电路202)会在连续映射表1300新增第一连续映射记录,以记录连续逻辑地址LBA(0)~LBA(9)的起始逻辑地址LBA(0)、连续实体可编程单元PBA(0-0)~PBA(0-9)的起始实体可编程单元PBA(0-0)以及连续逻辑地址LBA(0)~LBA(9)的长度(即10)。
请参照图17,当后续接收到欲储存至连续逻辑地址LBA(10)~LBA(19)的数据时,存储器控制器104(或存储器管理电路202)会将欲储存至连续逻辑地址LBA(10)~LBA(19)的数据写入至实体擦除单元304(0)的连续实体可编程单元PBA(0-10)~PBA(0-19)中。特别是,由于逻辑地址映射表802未被载入至缓冲存储器208,因此,存储器控制器104(或存储器管理电路202),存储器控制器104(或存储器管理电路202)会从可复写式非易失性存储器模块106中载入逻辑地址映射表802至缓冲存储器208以替换逻辑地址映射表801并且在逻辑地址映射表802中记录连续逻辑地址LBA(10)~LBA(19)与连续实体可编程单元PBA(0-10)~PBA(0-19)的映射关系。
另外,存储器控制器104(或存储器管理电路202)会在连续映射表1300中更新第一连续映射记录,以将对应的长度更新为20。具体来说,由于逻辑地址LBA(10)~LBA(19)是接续逻辑地址LBA(0)~LBA(9)并且实体可编程单元PBA(0-10)~PBA(0-19)是接续实体可编程单元PBA(0-0)~PBA(0-9),因此,存储器控制器104(或存储器管理电路202)仅需更新第一连续映射记录中的长度值,则可存有连续逻辑地址LBA(0)~LBA(19)的映射信息。
值得一提的是,在完成图17的写入运作后,倘若主机***1000欲读取储存于逻辑地址LBA(8)的数据时,尽管逻辑地址映射表801未被载入至缓冲存储器208中,但存储器控制器104(或存储器管理电路202)也可根据连续映射表1300中的信息获取逻辑地址LBA(8)的映射信息,以从对应的实体可编程单元(即实体可编程单元PBA(0-0))中读取数据,由此缩短读取数据所需的时间。具体来说,存储器控制器104(或存储器管理电路202)会计算逻辑地址LBA(8)与第一连续映射记录中的起始逻辑地址(即逻辑地址LBA(0))之间的偏移并且根据此偏移以及第一连续映射记录中的起始实体可编程单元(即实体可编程单元PBA(0-0))计算出映射逻辑地址LBA(8)的实体可编程单元。
图18是根据本发明范例实施例所示出的执行写入运作而更新逻辑地址映射表与连续映射表的另一范例示意图。为了方便说明说,在此假设接续图16与图17的写入运作(即储存多笔数据至连续逻辑地址LBA(0)~LBA(9)并储存多笔数据至连续逻辑地址LBA(10)~LBA(19))后主机***1000再更新一笔数据至逻辑地址LBA(12)。
请参照图18,当接收到欲储存至逻辑地址LBA(12)的更新数据时,存储器控制器104(或存储器管理电路202)会将欲储存至逻辑地址LBA(12)的更新数据写入至实体擦除单元304(0)的实体可编程单元PBA(0-20)中,并且在逻辑地址映射表802中更新逻辑地址LBA(12)的映射关系(即逻辑地址LBA(12)映射至实体可编程单元PBA(0-20))。
另外,存储器控制器104(或存储器管理电路202)会在连续映射表1300中更新第一连续映射记录,以将长度字段更新为连续逻辑地址LBA(0)~LBA(11)的长度(即12)。此外,存储器控制器104(或存储器管理电路202)会在连续映射表1300中新增第二连续映射记录,以记录连续逻辑地址LBA(13)~LBA(19)的起始逻辑地址LBA(13)、连续实体可编程单元PBA(0-13)~PBA(0-19)的起始实体可编程单元PBA(0-13)以及连续逻辑地址LBA(13)~LBA(19)的长度(即7)。具体来说,由于逻辑地址LBA(12)中的数据被更新且更新数据被写入至实体可编程单元PBA(0-20),因此,原连续逻辑地址LBA(0)~LBA(19)会被切割为连续逻辑地址LBA(0)~LBA(11)与连续逻辑地址LBA(13)~LBA(19)并且存储器控制器104(或存储器管理电路202)会以两笔连续映射记录来储存连续逻辑地址LBA(0)~LBA(11)与连续逻辑地址LBA(13)~LBA(19)的映射关系。
值得一提的是,在本范例实施例中,写入运作是在一个实体擦除单元中依序地使用实体可编程单元来进行,因此,上述连续实体可编程单元被定义为每个实体擦除单元中依序排列的实体可编程单元。然而,必须了解的是,在另一范例实施例中,写入运作也可将预先定义数目的实体擦除单元划分为一组,并且轮流地使用每一个实体擦除单元的实体可编程单元。例如,依据实体可编程单元PBA(0-1)、PBA(1-1)、PBA(2-1)、PBA(3-1)、PBA(0-2)、PBA(1-2)、PBA(2-2)、PBA(3-2)、…PBA(0-k)、PBA(1-k)、PBA(2-k)与PBA(N-k)的顺序来执行写入运作。在此例子中,上述连续实体可编程单元被定义为在多个实体擦除单元中被依序使用的实体可编程单元。
图19是根据本范例实施例所示出的映射信息记录方法中初始化存储器储存装置的流程图。
请参照图19,在步骤S1901中,存储器控制器104(或存储器管理电路202)会配置多个逻辑地址。
在步骤S1903中,存储器控制器104(或存储器管理电路202)会建立至少一逻辑地址映射表。
并且,在步骤S1905中,存储器控制器104(或存储器管理电路202)会划分缓冲存储器208的其中一部分来存放连续映射表,以记录被写入的连续逻辑地址与实体可编程单元的映射关系。
图20是根据本范例实施例所示出的映射信息记录方法中执行连续写入运作的流程图,其中此连续写入运作非接续前一个写入指令所写入的逻辑地址。
请参照图20,在步骤S2001中,存储器控制器104(或存储器管理电路202)会从主机***1000中接收欲储存至连续逻辑地址(以下称为第一连续逻辑地址)的数据(以下称为第一数据)。
在步骤S2003中,存储器控制器104(或存储器管理电路202)会将所接收的第一数据写入至空的实体可编程单元(以下称为第一实体可编程单元)中。
在步骤S2005中,存储器控制器104(或存储器管理电路202)会判断缓冲存储器208中是否存有对应第一连续逻辑地址的逻辑地址映射表(以下称为第一逻辑地址映射表)。
倘若缓冲存储器208中未存有第一逻辑地址映射表时,在步骤S2007中,存储器控制器104(或存储器管理电路202)会将目前暂存于缓冲存储器208中的逻辑地址映射表回存至可复写式非易失性存储器模块106并且从可复写式非易失性存储器模块106中将指派给第一逻辑区域的第一逻辑地址映射表载入至缓冲存储器208中。
之后,在步骤S2009中,存储器控制器104(或存储器管理电路202)会在第一逻辑地址映射表中更新第一连续逻辑地址的映射关系。
然后,在步骤S2011中,存储器控制器104(或存储器管理电路202)会在连续映射表1300中新增一笔连续映射记录(以下称为第一连续映射记录)以记录第一连续逻辑地址的起始逻辑地址、第一实体可编程单元的起始实体可编程单元与第一连续逻辑地址的长度。
图21是根据另一范例实施例所示出的映射信息记录方法中执行连续写入运作的流程图,其中此连续写入运作是接续前一个写入指令所写入的逻辑地址。
请参照图21,在步骤S2101中,存储器控制器104(或存储器管理电路202)会从主机***1000中接收欲储存至连续逻辑地址(以下称为第二连续逻辑地址)的数据(以下称为第二数据),其中第二连续逻辑地址是接续上述第一连续逻辑地址。
在步骤S2103中,存储器控制器104(或存储器管理电路202)会将所接收的第二数据写入至空的实体可编程单元(以下称为第二实体可编程单元)中。
在步骤S2105中,存储器控制器104(或存储器管理电路202)会判断缓冲存储器208中是否存有对应第二连续逻辑地址的逻辑地址映射表。
倘若缓冲存储器208中未存有对应第二连续逻辑地址的逻辑地址映射表时,在步骤S2107中,存储器控制器104(或存储器管理电路202)会将目前暂存于缓冲存储器208中的逻辑地址映射表(例如,第一逻辑地址映射表)回存至可复写式非易失性存储器模块106并且从可复写式非易失性存储器模块106中将对应第二连续逻辑地址的逻辑地址映射表(以下称为第二逻辑地址映射表)载入至缓冲存储器208中。
之后,在步骤S2109中,存储器控制器104(或存储器管理电路202)会在对应第二连续逻辑地址的逻辑地址映射表中更新第二连续逻辑地址的映射关系。
然后,在步骤S2111中,存储器控制器104(或存储器管理电路202)会在连续映射表1300中更新对应第一连续逻辑地址的连续映射记录(即上述第一连续映射记录)以将第一连续映射记录的长度字段更新为第一连续逻辑地址的长度与第二连续逻辑地址的长度的总和。
图22是根据另一范例实施例所示出的映射信息记录方法中执行写入运作的流程图,其中此写入运作为更新先前所写入的连续逻辑地址的其中一个逻辑地址的数据
在步骤S2201中,存储器控制器104(或存储器管理电路202)会从主机***1000中接收欲更新至逻辑地址(以下称为第一逻辑地址)的数据(以下称为第三数据),其中第一逻辑地址是将先前所写入的连续逻辑地址切割为两个连续逻辑地址(以下称为第三连续逻辑地址与第四连续逻辑地址),第一逻辑地址是接续第三连续逻辑地址且第四连续逻辑地址接续第一逻辑地址。
在步骤S2203中,存储器控制器104(或存储器管理电路202)会将所接收的第三数据写入至空的实体可编程单元(以下称为第三实体可编程单元)中。
在步骤S2205中,存储器控制器104(或存储器管理电路202)会判断缓冲存储器208中是否存有对应第一逻辑地址的逻辑地址映射表。
倘若缓冲存储器208中未存有对应第一逻辑地址的逻辑地址映射表时,在步骤S2207中,存储器控制器104(或存储器管理电路202)会将目前暂存于缓冲存储器208中的逻辑地址映射表回存至可复写式非易失性存储器模块106且从可复写式非易失性存储器模块106中将对应第一逻辑地址的逻辑地址映射表载入至缓冲存储器208中。
之后,在步骤S2209中,存储器控制器104(或存储器管理电路202)会在对应第一逻辑地址的逻辑地址映射表中更新第一逻辑地址的映射关系。
然后,在步骤S2211中,存储器控制器104(或存储器管理电路202)会在连续映射表1300中更新对应被分割的连续逻辑地址的连续映射记录(以下称为第一连续映射记录)以将第一连续映射记录的长度字段更新为第三连续逻辑地址的长度。并且,在步骤S2213中,存储器控制器104(或存储器管理电路202)会在连续映射表1300中新增一笔连续映射记录(以下称为第二连续映射记录)以记录第四连续逻辑地址的起始逻辑地址、第四连续逻辑地址的起始逻辑地址所映射的实体可编程单元与第四连续逻辑地址的长度。
图23是根据另一范例实施例所示出的映射信息记录方法中执行读取运作的流程图。
请参照图23,在步骤S2301中,存储器控制器104(或存储器管理电路202)会从主机***1000中接收读取指令。
之后,在步骤S2303中,存储器控制器104(或存储器管理电路202)会判断连续映射表1300中是否存有此读取指令所指示的逻辑地址的映射信息。
倘若连续映射表1300中存有此读取指令所指示的逻辑地址的映射信息时,在步骤S2305中,存储器控制器104(或存储器管理电路202)会根据连续映射表1300中的信息识别对应的实体可编程单元。
倘若连续映射表1300中未存有此读取指令所指示的逻辑地址的映射信息时,在步骤S2307中,存储器控制器104(或存储器管理电路202)会判断缓冲存储器208中是否对应此读取指令所指示的逻辑地址的逻辑地址映射表。
倘若缓冲存储器208未存有对应此读取指令所指示的逻辑地址的逻辑地址映射表时,在步骤S2309中,存储器控制器104(或存储器管理电路202)会将目前暂存于缓冲存储器208中的逻辑地址映射表回存至可复写式非易失性存储器模块106且从可复写式非易失性存储器模块106中载入指派给此读取指令所指示的逻辑地址所属的逻辑区域的逻辑地址映射表至缓冲存储器208。
之后,在步骤S2311中,存储器控制器104(或存储器管理电路202)会根据在对应此读取指令所指示的逻辑地址的逻辑地址映射表中的映射信息识别对应的实体可编程单元。
并且,在步骤S2313中,存储器控制器104(或存储器管理电路202)会从对应的实体可编程单元中读取数据并且将所读取的数据传送给主机***1000。
综上所述,本发明范例实施例的映射信息记录方法、存储器控制器与存储器储存装置能够有效地利用有限的缓冲存储器空间来储存连续映射信息,由此缩短执行读取运作所需的时间,提升存储器储存装置的效能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种映射信息记录方法,用于一可复写式非易失性存储器模块,该可复写式非易失性存储器模块具有多个实体擦除单元并且每一所述实体擦除单元具有多个实体可编程单元,其特征在于,该映射信息记录方法包括:
配置多个逻辑地址;
建立至少一逻辑地址映射表并且将该至少一逻辑地址映射表储存至该可复写式非易失性存储器模块;
从一主机***中接收多笔第一数据,其中该主机***指示将该些第一数据储存至该些逻辑地址之中的多个第一连续逻辑地址中;
将该些第一数据写入至所述实体擦除单元的实体可编程单元之中的多个第一实体可编程单元中;
将对应该些第一连续逻辑地址的一第一逻辑地址映射表载入至一缓冲存储器,并且在该第一逻辑地址映射表中更新该些第一连续逻辑地址与该些第一实体可编程单元之间的映射关系;以及
在该缓冲存储器中存放一连续映射表并且在该连续映射表中记录对应该些第一连续逻辑地址的一第一连续映射记录。
2.根据权利要求1所述的映射信息记录方法,其特征在于,该第一连续映射记录的一起始逻辑地址字段记录该些第一连续逻辑地址的一起始逻辑地址,该第一连续映射记录的一起始实体可编程单元字段记录该些第一实体可编程单元的一起始实体可编程单元并且该第一连续映射记录的一长度字段记录该些第一连续逻辑地址的一长度。
3.根据权利要求2所述的映射信息记录方法,其特征在于,还包括:
从该主机***中接收多笔第二数据,其中该主机***指示将该些第二数据储存至该些逻辑地址之中的多个第二连续逻辑地址中,且该些第二连续逻辑地址接续该些第一连续逻辑地址;
将该些第二数据写入至所述实体擦除单元的实体可编程单元之中的多个第二实体可编程单元中,其中该些第二实体可编程单元是接续该些第一实体可编程单元;以及
在该连续映射表中更新该第一连续映射记录,其中该第一连续映射记录的该长度字段被更新为该些第一连续逻辑地址的长度与该些第二连续逻辑地址的长度的一总和。
4.根据权利要求3所述的映射信息记录方法,其特征在于,还包括:
在该第一逻辑地址映射表中更新该些第二连续逻辑地址与该些第二实体可编程单元之间的映射关系。
5.根据权利要求3所述的映射信息记录方法,其特征在于,还包括:
将该第一逻辑地址映射表回存至该可复写式非易失性存储器模块;以及
将对应该些第二连续逻辑地址的一第二逻辑地址映射表载入至该缓冲存储器,并且在该第二逻辑地址映射表中更新该些第二连续逻辑地址与该些第二实体可编程单元之间的映射关系。
6.根据权利要求2所述的映射信息记录方法,其特征在于,还包括:
从该主机***中接收一第三数据,其中该主机***指示将该第三数据储存至该些第一连续逻辑地址之中的一第一逻辑地址中,其中该第一逻辑地址接续于该些第一连续逻辑地址之中的多个第三连续逻辑地址并且该些第一连续逻辑地址之中的多个第四连续逻辑地址接续该第一逻辑地址;
将该第三数据写入至所述实体擦除单元的实体可编程单元之中的一第三实体可编程单元中;
在该第一逻辑地址映射表中更新该第一逻辑地址与该第三实体可编程单元之间的映射关系;以及
在该连续映射表中将该第一连续映射记录的该长度字段更新为该些第三连续逻辑地址的一长度,并且增加一第二连续映射记录,其中该第二连续映射记录的一起始逻辑地址字段记录该些第四连续逻辑地址的一起始逻辑地址,该第二连续映射记录的一起始实体可编程单元字段记录映射接续该第一逻辑地址的一逻辑地址的一实体可编程单元,并且该第二连续映射记录的一长度字段记录该些第四连续逻辑地址的一长度。
7.根据权利要求1所述的映射信息记录方法,其特征在于,还包括:
从该主机***中接收一读取指令;
判断该连续映射表中是否存有对应该读取指令指示的一逻辑地址的信息;以及
倘若该连续映射表中存有对应该读取指令指示的逻辑地址的信息时,根据该连续映射表从该可复写式非易失性存储器模块中读取对应该读取指令的一读取数据。
8.根据权利要求7所述的映射信息记录方法,其特征在于,还包括:
倘若该连续映射表中未存有对应该读取指令指示的逻辑地址的信息时,从该可复写式非易失性存储器模块中载入该些逻辑地址映射表之中的一对应逻辑地址映射表并且根据该对应逻辑地址映射表从该可复写式非易失性存储器模块中读取对应该读取指令的一读取数据,其中该对应逻辑地址映射表为该读取指令指示的逻辑地址所对应的逻辑地址映射表。
9.一种存储器控制器,用于控制一可复写式非易失性存储器模块,该可复写式非易失性存储器模块具有多个实体擦除单元并且每一所述实体擦除单元具有多个实体可编程单元,其特征在于,该存储器控制器包括:
一主机接口,用以电性连接至一主机***;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块;
一缓冲存储器;以及
一存储器管理电路,电性连接至该主机接口、该存储器接口与该缓冲存储器,
其中该存储器管理电路用以配置多个逻辑地址,
其中该存储器管理电路还用以建立至少一逻辑地址映射表并且将该至少一逻辑地址映射表储存至该可复写式非易失性存储器模块,
其中该存储器管理电路还用以从该主机***中接收多笔第一数据,其中该主机***指示将该些第一数据储存至该些逻辑地址之中的多个第一连续逻辑地址中,
其中该存储器管理电路还用以将该些第一数据写入至所述实体擦除单元的实体可编程单元之中的多个第一实体可编程单元中,
其中该存储器管理电路还用以将对应该第一连续逻辑地址的一第一逻辑地址映射表载入至该缓冲存储器,并且在该第一逻辑地址映射表中更新该些第一连续逻辑地址与该些第一实体可编程单元之间的映射关系,
其中该存储器管理电路还用以在该缓冲存储器中存放一连续映射表并且在该连续映射表中记录对应该些第一逻辑地址的一第一连续映射记录。
10.根据权利要求9所述的存储器控制器,其特征在于,该第一连续映射记录的一起始逻辑地址字段记录该些第一连续逻辑地址的一起始逻辑地址,该第一连续映射记录的一起始实体可编程单元字段记录该些第一实体可编程单元的一起始实体可编程单元并且该第一连续映射记录的一长度字段记录该些第一连续逻辑地址的一长度。
11.根据权利要求10所述的存储器控制器,其特征在于,该存储器管理电路还用以从该主机***中接收多笔第二数据,其中该主机***指示将该些第二数据储存至该些逻辑地址之中的多个第二连续逻辑地址中,且该些第二连续逻辑地址接续该些第一连续逻辑地址,
其中该存储器管理电路还用以将该些第二数据写入至所述实体擦除单元的实体可编程单元之中的多个第二实体可编程单元中,其中该些第二实体可编程单元是接续该些第一实体可编程单元,
其中该存储器管理电路还用以在该连续映射表中更新该第一连续映射记录,其中该第一连续映射记录的该长度字段被更新为该些第一连续逻辑地址的长度与该些第二连续逻辑地址的长度的一总和。
12.根据权利要求11所述的存储器控制器,其特征在于,该存储器管理电路还用以在该第一逻辑地址映射表中更新该些第二连续逻辑地址与该些第二实体可编程单元之间的映射关系。
13.根据权利要求11所述的存储器控制器,其特征在于,该存储器管理电路还用以将该第一逻辑地址映射表回存至该可复写式非易失性存储器模块,
其中该存储器管理电路还用以将对应该些第二连续逻辑地址的一第二逻辑地址映射表载入至该缓冲存储器,并且在该第二逻辑地址映射表中更新该些第二连续逻辑地址与该些第二实体可编程单元之间的映射关系。
14.根据权利要求10所述的存储器控制器,其特征在于,该存储器管理电路还用以从该主机***中接收一第三数据,其中该主机***指示将该第三数据储存至该些第一连续逻辑地址之中的一第一逻辑地址中,其中该第一逻辑地址接续于该些第一连续逻辑地址之中的多个第三连续逻辑地址并且该些第一连续逻辑地址之中的多个第四连续逻辑地址接续该第一逻辑地址,
其中该存储器管理电路还用以将该第三数据写入至所述实体擦除单元的实体可编程单元之中的一第三实体可编程单元中,
其中该存储器管理电路还用以在该第一逻辑地址映射表中更新该第一逻辑地址与该第三实体可编程单元之间的映射关系,
其中该存储器管理电路还用以在该连续映射表中将该第一连续映射记录的该长度字段更新为该些第三连续逻辑地址的一长度,并且增加一第二连续映射记录,其中该第二连续映射记录的一起始逻辑地址字段记录该些第四连续逻辑地址的一起始逻辑地址,该第二连续映射记录的一起始实体可编程单元字段记录映射接续该第一逻辑地址的一逻辑地址的一实体可编程单元,并且该第二连续映射记录的一长度字段记录该些第四连续逻辑地址的一长度。
15.根据权利要求9所述的存储器控制器,其特征在于,该存储器管理电路还用以从该主机***中接收一读取指令,并判断该连续映射表中是否存有对应该读取指令指示的一逻辑地址的信息,
其中倘若该连续映射表中存有对应该读取指令指示的逻辑地址的信息时,该存储器管理电路还用以根据该连续映射表从该可复写式非易失性存储器模块中读取对应该读取指令的一读取数据。
16.根据权利要求15所述的存储器控制器,其特征在于,倘若该连续映射表中未存有对应该读取指令指示的逻辑地址的信息时,该存储器管理电路还用以从该可复写式非易失性存储器模块中载入该些逻辑地址映射表之中的一对应逻辑地址映射表并且根据该对应逻辑地址映射表从该可复写式非易失性存储器模块中读取对应该读取指令的一读取数据,其中该对应逻辑地址映射表为该读取指令指示的逻辑地址所对应的逻辑地址映射表。
17.一种存储器储存装置,其特征在于,包括:
一连接器,用以电性连接至一主机***;
一可复写式非易失性存储器模块,具有多个实体擦除单元,其中每一所述实体擦除单元具有多个实体可编程单元;以及
一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块,并具有一缓冲存储器,
其中该存储器控制器用以配置多个逻辑地址,
其中该存储器控制器还用以建立至少一逻辑地址映射表并且将至少一逻辑地址映射表储存至该可复写式非易失性存储器模块,
其中该存储器控制器还用以从该主机***中接收多笔第一数据,其中该主机***指示将该些第一数据储存至该些逻辑地址之中的多个第一连续逻辑地址中,
其中该存储器控制器还用以将该些第一数据写入至所述实体擦除单元的实体可编程单元之中的多个第一实体可编程单元中,
其中该存储器控制器还用以将对应该些第一连续逻辑地址的一第一逻辑地址映射表载入至该缓冲存储器,并且在该第一逻辑地址映射表中更新该些第一连续逻辑地址与该些第一实体可编程单元之间的映射关系,
其中该存储器控制器还用以在该缓冲存储器中存放一连续映射表并且在该连续映射表中记录对应该些第一连续逻辑地址的一第一连续映射记录。
18.根据权利要求17所述的存储器储存装置,其特征在于,该第一连续映射记录的一起始逻辑地址字段记录该些第一连续逻辑地址的一起始逻辑地址,该第一连续映射记录的一起始实体可编程单元字段记录该些第一实体可编程单元的一起始实体可编程单元并且该第一连续映射记录的一长度字段记录该些第一连续逻辑地址的一长度。
19.根据权利要求18所述的存储器储存装置,其特征在于,该存储器控制器还用以从该主机***中接收多笔第二数据,其中该主机***指示将该些第二数据储存至该些逻辑地址之中的多个第二连续逻辑地址中,且该些第二连续逻辑地址接续该些第一连续逻辑地址,
其中该存储器控制器还用以将该些第二数据写入至所述实体擦除单元的实体可编程单元之中的多个第二实体可编程单元中,其中该些第二实体可编程单元是接续该些第一实体可编程单元,
其中该存储器控制器还用以在该连续映射表中更新该第一连续映射记录,其中该第一连续映射记录的该长度字段被更新为该些第一连续逻辑地址的长度与该些第二连续逻辑地址的长度的一总和。
20.根据权利要求19所述的存储器储存装置,其特征在于,该存储器控制器还用以在该第一逻辑地址映射表中更新该些第二连续逻辑地址与该些第二实体可编程单元之间的映射关系。
21.根据权利要求19所述的存储器储存装置,其特征在于,该存储器控制器还用以将该第一逻辑地址映射表回存至该可复写式非易失性存储器模块,
其中该存储器控制器还用以将对应该些第二连续逻辑地址的一第二逻辑地址映射表载入至该缓冲存储器,并且在该第二逻辑地址映射表中更新该些第二连续逻辑地址与该些第二实体可编程单元之间的映射关系。
22.根据权利要求18所述的存储器储存装置,其特征在于,该存储器控制器还用以从该主机***中接收一第三数据,其中该主机***指示将该第三数据储存至该些第一连续逻辑地址之中的一第一逻辑地址中,其中该第一逻辑地址接续于该些第一连续逻辑地址之中的多个第三连续逻辑地址并且该些第一连续逻辑地址之中的多个第四连续逻辑地址接续该第一逻辑地址,
其中该存储器控制器还用以将该第三数据写入至所述实体擦除单元的实体可编程单元之中的一第三实体可编程单元中,
其中该存储器控制器还用以在该第一逻辑地址映射表中更新该第一逻辑地址与该第三实体可编程单元之间的映射关系,
其中该存储器控制器还用以在该连续映射表中将该第一连续映射记录的该长度字段更新为该些第三连续逻辑地址的一长度,并且增加一第二连续映射记录,其中该第二连续映射记录的一起始逻辑地址字段记录该些第四连续逻辑地址的一起始逻辑地址,该第二连续映射记录的一起始实体可编程单元字段记录映射接续该第一逻辑地址的一逻辑地址的一实体可编程单元,并且该第二连续映射记录的一长度字段记录该些第四连续逻辑地址的一长度。
23.根据权利要求17所述的存储器储存装置,其特征在于,该存储器控制器还用以从该主机***中接收一读取指令,并判断该连续映射表中是否存有对应该读取指令指示的一逻辑地址的信息,
其中倘若该连续映射表中存有对应该读取指令指示的逻辑地址的信息时,该存储器控制器还用以根据该连续映射表从该可复写式非易失性存储器模块中读取对应该读取指令的一读取数据。
24.根据权利要求23所述的存储器储存装置,其特征在于,倘若该连续映射表中未存有对应该读取指令指示的逻辑地址的信息时,该存储器控制器还用以从该可复写式非易失性存储器模块中载入该些逻辑地址映射表之中的一对应逻辑地址映射表并且根据该对应逻辑地址映射表从该可复写式非易失性存储器模块中读取对应该读取指令的一读取数据,其中该对应逻辑地址映射表为该读取指令指示的逻辑地址所对应的逻辑地址映射表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310115764.0A CN104102585B (zh) | 2013-04-03 | 2013-04-03 | 映射信息记录方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310115764.0A CN104102585B (zh) | 2013-04-03 | 2013-04-03 | 映射信息记录方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104102585A true CN104102585A (zh) | 2014-10-15 |
CN104102585B CN104102585B (zh) | 2017-09-12 |
Family
ID=51670754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310115764.0A Active CN104102585B (zh) | 2013-04-03 | 2013-04-03 | 映射信息记录方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104102585B (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975215A (zh) * | 2016-05-25 | 2016-09-28 | 深圳大学 | 一种基于Ondemand算法的STL映射表管理方法 |
CN106126379A (zh) * | 2016-06-22 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种在linux下检测存储器中硬盘背板的自动化方法 |
CN106201350A (zh) * | 2016-07-07 | 2016-12-07 | 华为技术有限公司 | 存储数据的方法、存储器和计算机*** |
CN106201901A (zh) * | 2014-12-10 | 2016-12-07 | 爱思开海力士有限公司 | 包括映射表的控制器、包括半导体存储器件的存储***及其操作方法 |
CN106557432A (zh) * | 2015-09-29 | 2017-04-05 | 群联电子股份有限公司 | 缓冲存储器管理方法、存储器控制电路单元及存储装置 |
CN106681654A (zh) * | 2016-09-29 | 2017-05-17 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
CN106708416A (zh) * | 2015-11-13 | 2017-05-24 | 群联电子股份有限公司 | 数据重建方法与***及其存储器控制电路单元 |
CN106708757A (zh) * | 2015-11-13 | 2017-05-24 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN106775443A (zh) * | 2015-11-23 | 2017-05-31 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN107346211A (zh) * | 2016-05-06 | 2017-11-14 | 合肥兆芯电子有限公司 | 映射表加载方法、内存控制电路单元与内存储存装置 |
CN107844431A (zh) * | 2017-11-03 | 2018-03-27 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器控制电路单元与存储器存储装置 |
CN108228474A (zh) * | 2016-12-12 | 2018-06-29 | 爱思开海力士有限公司 | 半导体***和用于操作半导体***的方法 |
CN108733312A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 存储管理方法和设备 |
CN108804338A (zh) * | 2017-04-28 | 2018-11-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN109063518A (zh) * | 2014-12-31 | 2018-12-21 | 群联电子股份有限公司 | 数据存取方法与***及存储器存储装置 |
CN109558271A (zh) * | 2017-09-26 | 2019-04-02 | 大心电子(英属维京群岛)股份有限公司 | 数据备份方法、数据恢复方法以及存储控制器 |
CN109634517A (zh) * | 2017-10-06 | 2019-04-16 | 慧荣科技股份有限公司 | 进行存取管理的方法、记忆装置、电子装置和其控制器 |
CN109671458A (zh) * | 2017-10-17 | 2019-04-23 | 联发科技股份有限公司 | 管理闪存模块的方法及相关的闪存控制器 |
CN109783008A (zh) * | 2017-11-13 | 2019-05-21 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN109992524A (zh) * | 2018-01-03 | 2019-07-09 | 爱思开海力士有限公司 | 控制器和其操作方法以及存储器*** |
CN110032405A (zh) * | 2018-01-11 | 2019-07-19 | 旺宏电子股份有限公司 | ***开机码存储器管理方法、存储器装置与应用其的电子*** |
CN110059021A (zh) * | 2019-04-18 | 2019-07-26 | 深圳市时创意电子有限公司 | 一种降低写入放大率并提升随机写入性能的算法 |
CN110275668A (zh) * | 2018-03-14 | 2019-09-24 | 群联电子股份有限公司 | 区块管理方法、存储器控制电路单元与存储器存储装置 |
CN110389907A (zh) * | 2018-04-18 | 2019-10-29 | 爱思开海力士有限公司 | 电子装置 |
CN112540932A (zh) * | 2019-09-20 | 2021-03-23 | 深圳宏芯宇电子股份有限公司 | 存储控制器以及写入辅助方法 |
CN112711378A (zh) * | 2020-12-22 | 2021-04-27 | 四川九洲电器集团有限责任公司 | 数据储存方法及读写设备 |
CN113885808A (zh) * | 2021-10-28 | 2022-01-04 | 合肥兆芯电子有限公司 | 映射信息记录方法以及存储器控制电路单元与存储装置 |
CN113885778A (zh) * | 2020-07-02 | 2022-01-04 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
CN114063918A (zh) * | 2021-11-12 | 2022-02-18 | 深圳宏芯宇电子股份有限公司 | 数据存取方法、存储器存储装置及存储器控制器 |
CN116578246A (zh) * | 2023-07-05 | 2023-08-11 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101241474A (zh) * | 2007-02-06 | 2008-08-13 | 三星电子株式会社 | 存储器映射***及方法 |
US20080209420A1 (en) * | 2007-02-28 | 2008-08-28 | Hisato Matsuo | Processing system, storage device, and method for performing series of processes in given order |
CN101346704A (zh) * | 2005-12-22 | 2009-01-14 | Nxp股份有限公司 | 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链 |
CN101667157A (zh) * | 2008-09-04 | 2010-03-10 | 群联电子股份有限公司 | 闪存数据传输方法、闪存储存***及控制器 |
CN101937319A (zh) * | 2009-06-29 | 2011-01-05 | 联发科技股份有限公司 | 存储器***及其映射方法 |
CN102592670A (zh) * | 2011-01-07 | 2012-07-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
-
2013
- 2013-04-03 CN CN201310115764.0A patent/CN104102585B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101346704A (zh) * | 2005-12-22 | 2009-01-14 | Nxp股份有限公司 | 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链 |
CN101241474A (zh) * | 2007-02-06 | 2008-08-13 | 三星电子株式会社 | 存储器映射***及方法 |
US20080209420A1 (en) * | 2007-02-28 | 2008-08-28 | Hisato Matsuo | Processing system, storage device, and method for performing series of processes in given order |
CN101667157A (zh) * | 2008-09-04 | 2010-03-10 | 群联电子股份有限公司 | 闪存数据传输方法、闪存储存***及控制器 |
CN101937319A (zh) * | 2009-06-29 | 2011-01-05 | 联发科技股份有限公司 | 存储器***及其映射方法 |
CN102592670A (zh) * | 2011-01-07 | 2012-07-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
Cited By (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201901B (zh) * | 2014-12-10 | 2020-07-07 | 爱思开海力士有限公司 | 包括映射表的控制器、包括半导体存储器件的存储***及其操作方法 |
CN106201901A (zh) * | 2014-12-10 | 2016-12-07 | 爱思开海力士有限公司 | 包括映射表的控制器、包括半导体存储器件的存储***及其操作方法 |
CN109063518A (zh) * | 2014-12-31 | 2018-12-21 | 群联电子股份有限公司 | 数据存取方法与***及存储器存储装置 |
CN106557432A (zh) * | 2015-09-29 | 2017-04-05 | 群联电子股份有限公司 | 缓冲存储器管理方法、存储器控制电路单元及存储装置 |
CN106557432B (zh) * | 2015-09-29 | 2019-08-06 | 群联电子股份有限公司 | 缓冲存储器管理方法、存储器控制电路单元及存储装置 |
CN106708416A (zh) * | 2015-11-13 | 2017-05-24 | 群联电子股份有限公司 | 数据重建方法与***及其存储器控制电路单元 |
CN106708757A (zh) * | 2015-11-13 | 2017-05-24 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN106775443B (zh) * | 2015-11-23 | 2020-03-31 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN106775443A (zh) * | 2015-11-23 | 2017-05-31 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN107346211B (zh) * | 2016-05-06 | 2020-03-31 | 合肥兆芯电子有限公司 | 映射表加载方法、存储器控制电路单元与存储器储存装置 |
CN107346211A (zh) * | 2016-05-06 | 2017-11-14 | 合肥兆芯电子有限公司 | 映射表加载方法、内存控制电路单元与内存储存装置 |
CN105975215B (zh) * | 2016-05-25 | 2019-03-08 | 深圳大学 | 一种基于Ondemand算法的叠瓦式磁质存储翻译层映射表管理方法 |
CN105975215A (zh) * | 2016-05-25 | 2016-09-28 | 深圳大学 | 一种基于Ondemand算法的STL映射表管理方法 |
CN106126379A (zh) * | 2016-06-22 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种在linux下检测存储器中硬盘背板的自动化方法 |
CN106201350B (zh) * | 2016-07-07 | 2019-10-18 | 华为技术有限公司 | 存储数据的方法、存储器和计算机*** |
CN106201350A (zh) * | 2016-07-07 | 2016-12-07 | 华为技术有限公司 | 存储数据的方法、存储器和计算机*** |
CN106681654B (zh) * | 2016-09-29 | 2019-08-27 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
CN106681654A (zh) * | 2016-09-29 | 2017-05-17 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
CN108228474A (zh) * | 2016-12-12 | 2018-06-29 | 爱思开海力士有限公司 | 半导体***和用于操作半导体***的方法 |
US10936481B2 (en) | 2016-12-12 | 2021-03-02 | SK Hynix Inc. | Semiconductor system and method for operating the semiconductor system |
CN108228474B (zh) * | 2016-12-12 | 2021-08-20 | 爱思开海力士有限公司 | 半导体***和用于操作半导体***的方法 |
CN108733312A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 存储管理方法和设备 |
US11093406B2 (en) | 2017-04-17 | 2021-08-17 | EMC IP Holding Company LLC | Method and device for storage management |
CN108733312B (zh) * | 2017-04-17 | 2021-05-28 | 伊姆西Ip控股有限责任公司 | 存储管理方法和设备 |
CN108804338B (zh) * | 2017-04-28 | 2021-11-12 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
US11249917B2 (en) | 2017-04-28 | 2022-02-15 | SK Hynix Inc. | Data storage device and operating method thereof |
CN108804338A (zh) * | 2017-04-28 | 2018-11-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN109558271B (zh) * | 2017-09-26 | 2023-02-24 | 深圳大心电子科技有限公司 | 数据备份方法、数据恢复方法以及存储控制器 |
CN109558271A (zh) * | 2017-09-26 | 2019-04-02 | 大心电子(英属维京群岛)股份有限公司 | 数据备份方法、数据恢复方法以及存储控制器 |
US11550730B2 (en) | 2017-10-06 | 2023-01-10 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
US12038849B2 (en) | 2017-10-06 | 2024-07-16 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
US11741016B2 (en) | 2017-10-06 | 2023-08-29 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
CN109634517A (zh) * | 2017-10-06 | 2019-04-16 | 慧荣科技股份有限公司 | 进行存取管理的方法、记忆装置、电子装置和其控制器 |
US11449435B2 (en) | 2017-10-06 | 2022-09-20 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
CN109671458A (zh) * | 2017-10-17 | 2019-04-23 | 联发科技股份有限公司 | 管理闪存模块的方法及相关的闪存控制器 |
CN107844431A (zh) * | 2017-11-03 | 2018-03-27 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器控制电路单元与存储器存储装置 |
CN109783008A (zh) * | 2017-11-13 | 2019-05-21 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN109783008B (zh) * | 2017-11-13 | 2022-04-26 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN109992524B (zh) * | 2018-01-03 | 2023-08-29 | 爱思开海力士有限公司 | 控制器和其操作方法以及存储器*** |
CN109992524A (zh) * | 2018-01-03 | 2019-07-09 | 爱思开海力士有限公司 | 控制器和其操作方法以及存储器*** |
CN110032405B (zh) * | 2018-01-11 | 2022-03-15 | 旺宏电子股份有限公司 | ***开机码存储器管理方法、存储器装置与应用其的电子*** |
CN110032405A (zh) * | 2018-01-11 | 2019-07-19 | 旺宏电子股份有限公司 | ***开机码存储器管理方法、存储器装置与应用其的电子*** |
CN110275668A (zh) * | 2018-03-14 | 2019-09-24 | 群联电子股份有限公司 | 区块管理方法、存储器控制电路单元与存储器存储装置 |
CN110389907A (zh) * | 2018-04-18 | 2019-10-29 | 爱思开海力士有限公司 | 电子装置 |
CN110389907B (zh) * | 2018-04-18 | 2023-09-01 | 爱思开海力士有限公司 | 电子装置 |
CN110059021A (zh) * | 2019-04-18 | 2019-07-26 | 深圳市时创意电子有限公司 | 一种降低写入放大率并提升随机写入性能的算法 |
CN112540932B (zh) * | 2019-09-20 | 2023-11-14 | 深圳宏芯宇电子股份有限公司 | 存储控制器以及写入辅助方法 |
CN112540932A (zh) * | 2019-09-20 | 2021-03-23 | 深圳宏芯宇电子股份有限公司 | 存储控制器以及写入辅助方法 |
CN113885778B (zh) * | 2020-07-02 | 2024-03-08 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
CN113885778A (zh) * | 2020-07-02 | 2022-01-04 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
CN112711378A (zh) * | 2020-12-22 | 2021-04-27 | 四川九洲电器集团有限责任公司 | 数据储存方法及读写设备 |
CN113885808A (zh) * | 2021-10-28 | 2022-01-04 | 合肥兆芯电子有限公司 | 映射信息记录方法以及存储器控制电路单元与存储装置 |
CN113885808B (zh) * | 2021-10-28 | 2024-03-15 | 合肥兆芯电子有限公司 | 映射信息记录方法以及存储器控制电路单元与存储装置 |
CN114063918B (zh) * | 2021-11-12 | 2023-08-15 | 深圳宏芯宇电子股份有限公司 | 数据存取方法、存储器存储装置及存储器控制器 |
CN114063918A (zh) * | 2021-11-12 | 2022-02-18 | 深圳宏芯宇电子股份有限公司 | 数据存取方法、存储器存储装置及存储器控制器 |
CN116578246A (zh) * | 2023-07-05 | 2023-08-11 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
CN116578246B (zh) * | 2023-07-05 | 2023-09-29 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104102585B (zh) | 2017-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104102585A (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
TWI506430B (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
CN103530062B (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN103377129B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
CN103544115B (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN104732153A (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN104679437A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN104765568A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
US20140040533A1 (en) | Data management method, memory controller and memory storage device | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN104866429A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103593296A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN102866861B (zh) | 闪存储存***、闪存控制器与数据写入方法 | |
CN103678162A (zh) | ***数据储存方法、存储器控制器与存储器储存装置 | |
CN103714008A (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN102402396B (zh) | 复合式储存装置及其复合式储存媒体控制器与编址方法 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN103593255A (zh) | 数据管理方法、记忆存储存储器与记忆存储控制器 | |
CN103984635A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN104731710A (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 |