存储器管理方法、存储器控制电路单元与存储器存储装置转让专利

申请号 : CN201610736221.4

文献号 : CN106681652B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李皓智朱启傲彭崇谢汇

申请人 : 合肥兆芯电子有限公司

摘要 :

本发明提出一种存储器管理方法、存储器控制电路单元与存储器存储装置。本方法包括:将暂存数据从缓冲存储器中传送至第一存储器平面的暂存器;释放缓冲存储器的第一存储空间,其中第一存储空间用以存储暂存数据;利用第一存储空间对第二存储器平面执行第一操作;以及在完成对第二存储器平面所执行的第一操作之后,将暂存数据从第一存储器平面的暂存器中重新载入至缓冲存储器的第一存储空间,其中上述对第一存储器平面以及第二存储器平面的操作为非同步操作。其能够暂时且快速的空出缓冲存储器的存储空间。

权利要求 :

1.一种存储器管理方法,用于存储器存储装置的缓冲存储器,其中所述存储器存储装置包括可复写式非易失性存储器模块且所述可复写式非易失性存储器模块包括多个存储器平面,所述存储器管理方法包括:将暂存数据从所述缓冲存储器中传送至所述多个存储器平面之中的第一存储器平面的暂存器;

释放所述缓冲存储器的第一存储空间,其中所述第一存储空间用以存储所述暂存数据;

使用所述第一存储空间对所述多个存储器平面之中的第二存储器平面执行第一操作;

以及

在完成对所述第二存储器平面所执行的所述第一操作之后,将所述暂存数据从所述第一存储器平面的暂存器中重新载入至所述缓冲存储器的所述第一存储空间,其中上述对所述第一存储器平面以及所述第二存储器平面的操作为非同步操作。

2.根据权利要求1所述的存储器管理方法,其中所述多个存储器平面中的每一个存储器平面具有多个实体抹除单元,所述存储器管理方法还包括:在将所述暂存数据从所述缓冲存储器中传送至所述第一存储器平面的暂存器的步骤之前,执行写入操作以将第一数据写入至所述第二存储器平面的第一实体抹除单元;以及当对应所述写入操作产生写入失败信号时,执行上述将所述暂存数据从所述缓冲存储器中传送至所述第一存储器平面的暂存器的步骤。

3.根据权利要求2所述的存储器管理方法,其中使用所述第一存储空间执行所述第一操作的步骤包括:使用所述第一存储空间以及所述缓冲存储器的第二存储空间对所述第二存储器平面执行所述第一操作。

4.根据权利要求3所述的存储器管理方法,其中使用所述第一存储空间以及所述缓冲存储器的所述第二存储空间对所述第二存储器平面执行所述第一操作的步骤包括:从所述第二存储器平面的所述第一实体抹除单元中复制第二数据与第三数据至所述缓冲存储器的所述第一存储空间以及所述第二存储空间;以及将所述第二数据与所述第三数据从所述缓冲存储器的所述第一存储空间以及所述第二存储空间中同时写入至所述第二存储器平面的第二实体抹除单元中。

5.根据权利要求4所述的存储器管理方法,还包括:

将所述第一数据写入至所述第二存储器平面的所述第二实体抹除单元。

6.根据权利要求1所述的存储器管理方法,其中所述缓冲存储器的所述第一存储空间的大小为16千比特组。

7.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器平面,其中所述存储器控制电路单元包括:主机接口,用以电性连接至主机系统;

存储器接口,用以电性连接至所述可复写式非易失性存储器模块;

缓冲存储器,电性连接至所述主机接口及所述存储器接口;以及

存储器管理电路,电性连接至所述主机接口、所述存储器接口与所述缓冲存储器,其中所述存储器管理电路用以将暂存数据从所述缓冲存储器中传送至所述多个存储器平面之中的第一存储器平面的暂存器,其中所述存储器管理电路还用以释放所述缓冲存储器的第一存储空间,其中所述第一存储空间用以存储所述暂存数据,其中所述存储器管理电路还用以使用所述第一存储空间对所述多个存储器平面之中的第二存储器平面执行第一操作,在完成对所述第二存储器平面所执行的所述第一操作之后,所述存储器管理电路还用以将所述暂存数据从所述第一存储器平面的暂存器中重新载入至所述缓冲存储器的所述第一存储空间,其中上述对所述第一存储器平面以及所述第二存储器平面的操作为非同步操作。

8.根据权利要求7所述的存储器控制电路单元,其中所述多个存储器平面中的每一个存储器平面具有多个实体抹除单元,其中在将所述暂存数据从所述缓冲存储器中传送至所述第一存储器平面的暂存器的运作之前,所述存储器管理电路还用以执行写入操作以将第一数据写入至所述第二存储器平面的第一实体抹除单元,当所述存储器管理电路对应所述写入操作产生写入失败信号时,所述存储器管理电路执行上述将所述暂存数据从所述缓冲存储器中传送至所述第一存储器平面的暂存器的运作。

9.根据权利要求8所述的存储器控制电路单元,其中在使用所述第一存储空间执行所述第一操作的运作中,所述存储器管理电路还用以使用所述第一存储空间以及所述缓冲存储器的第二存储空间对所述第二存储器平面执行所述第一操作。

10.根据权利要求9所述的存储器控制电路单元,其中在使用所述第一存储空间以及所述缓冲存储器的所述第二存储空间对所述第二存储器平面执行所述第一操作的运作中,所述存储器管理电路还用以从所述第二存储器平面的所述第一实体抹除单元中复制第二数据与第三数据至所述缓冲存储器的所述第一存储空间以及所述第二存储空间,所述存储器管理电路还用以将所述第二数据与所述第三数据从所述缓冲存储器的所述第一存储空间以及所述第二存储空间中同时写入至所述第二存储器平面的第二实体抹除单元中。

11.根据权利要求10所述的存储器控制电路单元,其中

所述存储器管理电路还用以将所述第一数据写入至所述第二存储器平面的所述第二实体抹除单元。

12.根据权利要求7所述的存储器控制电路单元,其中所述缓冲存储器的所述第一存储空间的大小为16千比特组。

13.一种存储器存储装置,包括:

连接接口单元,用以电性连接至主机系统;

可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器平面;以及存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,其中所述存储器控制电路单元包括缓冲存储器,其中所述存储器控制电路单元用以将暂存数据从所述缓冲存储器中传送至所述多个存储器平面之中的第一存储器平面的暂存器,其中所述存储器控制电路单元还用以释放所述缓冲存储器的第一存储空间,其中所述第一存储空间用以存储所述暂存数据,其中所述存储器控制电路单元还用以使用所述第一存储空间对所述多个存储器平面之中的第二存储器平面执行第一操作,在完成对所述第二存储器平面所执行的所述第一操作之后,所述存储器控制电路单元还用以将所述暂存数据从所述第一存储器平面的暂存器中重新载入至所述缓冲存储器的所述第一存储空间,其中上述对所述第一存储器平面以及所述第二存储器平面的操作为非同步操作。

14.根据权利要求13所述的存储器存储装置,其中所述多个存储器平面中的每一个存储器平面具有多个实体抹除单元,其中在将所述暂存数据从所述缓冲存储器中传送至所述第一存储器平面的暂存器的运作之前,所述存储器控制电路单元还用以执行写入操作以将第一数据写入至所述第二存储器平面的第一实体抹除单元,当所述存储器控制电路单元对应所述写入操作产生写入失败信号时,所述存储器控制电路单元执行上述将所述暂存数据从所述缓冲存储器中传送至所述第一存储器平面的暂存器的运作。

15.根据权利要求14所述的存储器存储装置,其中在使用所述第一存储空间执行所述第一操作的运作中,所述存储器控制电路单元还用以使用所述第一存储空间以及所述缓冲存储器的第二存储空间对所述第二存储器平面执行所述第一操作。

16.根据权利要求15所述的存储器存储装置,其中在使用所述第一存储空间以及所述缓冲存储器的所述第二存储空间对所述第二存储器平面执行所述第一操作的运作中,所述存储器控制电路单元还用以从所述第二存储器平面的所述第一实体抹除单元中复制第二数据与第三数据至所述缓冲存储器的所述第一存储空间以及所述第二存储空间,所述存储器控制电路单元还用以将所述第二数据与所述第三数据从所述缓冲存储器的所述第一存储空间以及所述第二存储空间中同时写入至所述第二存储器平面的第二实体抹除单元中。

17.根据权利要求16所述的存储器存储装置,其中

所述存储器控制电路单元还用以将所述第一数据写入至所述第二存储器平面的所述第二实体抹除单元。

18.根据权利要求13所述的存储器存储装置,其中所述缓冲存储器的所述第一存储空间的大小为16千比特组。

说明书 :

存储器管理方法、存储器控制电路单元与存储器存储装置

技术领域

[0001] 本发明是有关于一种管理存储器的技术,且特别是有关于一种能暂时增加缓冲存储器的存储空间的存储器管理方法及使用此方法的存储器控制电路单元与存储器存储装置。

背景技术

[0002] 数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于便携式电子产品,例如笔记本电脑。固态硬盘就是一种以快速存储器模块作为存储媒体的存储器存储装置。因此,近年快速存储器产业成为电子产业中相当热门的一环。
[0003] 在使用可复写式非易失性存储器作为存储媒体的存储器存储装置中,通常也会配置缓冲存储器,用以暂存程序码或是数据。由于成本的考量,这样的缓冲存储器并不会有很大的存储空间。因此,当缓冲存储器的可用存储空间不足时,如何能够快速且暂时的空出缓冲存储器的存储空间,以执行需较多暂存空间的操作,为此领域技术人员所关心的议题。

发明内容

[0004] 本发明提出一种存储器管理方法、存储器控制电路单元与存储器存储装置,其能够暂时且快速的空出缓冲存储器的存储空间。
[0005] 本发明的一范例实施例提供一种存储器管理方法,用于操作存储器存储装置的缓冲存储器。其中,存储器存储装置包括可复写式非易失性存储器模块且可复写式非易失性存储器模块包括多个存储器平面,此些存储器平面被平行地操作。存储器管理方法包括:将暂存数据从缓冲存储器中传送至上述存储器平面之中的第一存储器平面的暂存器;释放缓冲存储器的第一存储空间,其中第一存储空间用以存储暂存数据;使用第一存储空间对上述存储器平面之中的第二存储器平面执行第一操作;以及在完成对第二存储器平面所执行的第一操作之后,将暂存数据从第一存储器平面的暂存器中重新载入至缓冲存储器的第一存储空间,其中上述对第一存储器平面以及第二存储器平面的操作为非同步操作。
[0006] 在本发明的一实施例中,其中存储器平面中的每一个存储器平面具有多个实体抹除单元,其中在将暂存数据从缓冲存储器中传送至第一存储器平面的暂存器的步骤之前,存储器管理方法还包括:执行写入操作以将第一数据写入至第二存储器平面的第一实体抹除单元;以及当对应写入操作产生写入失败信号时,执行上述将暂存数据从缓冲存储器中传送至第一存储器平面的暂存器的步骤。
[0007] 在本发明的一实施例中,其中在使用第一存储空间执行第一操作的步骤中,还包括:使用第一存储空间以及缓冲存储器的第二存储空间对第二存储器平面执行第一操作。
[0008] 在本发明的一实施例中,其中使用第一存储空间以及缓冲存储器的第二存储空间对第二存储器平面执行第一操作的步骤包括:从第二存储器平面的第一实体抹除单元中复制第二数据与第三数据至缓冲存储器的第一存储空间以及第二存储空间;以及将第二数据与第三数据从缓冲存储器的第一存储空间以及第二存储空间中同时写入至第二存储器平面的第二实体抹除单元中。
[0009] 在本发明的一实施例中,存储器管理方法还包括:将第一数据写入至第二存储器平面的第二实体抹除单元。
[0010] 在本发明的一实施例中,其中缓冲存储器的第一存储空间的大小为16K比特组。
[0011] 本发明一范例实施例提供一种用于控制可复写式非易失性存储器模块的存储器控制电路单元,其中可复写式非易失性存储器模块包括多个存储器平面,此些存储器平面被平行地操作。此存储器控制电路单元包括:用以电性连接至主机系统的主机接口;用以电性连接至可复写式非易失性存储器模块的存储器接口;电性连接至主机接口及存储器接口的缓冲存储器;以及电性连接至主机接口、存储器接口与缓冲存储器的存储器管理电路。存储器管理电路用以将暂存数据从缓冲存储器中传送至上述存储器平面之中的第一存储器平面的暂存器。存储器管理电路还用以释放缓冲存储器的第一存储空间,其中第一存储空间用以存储暂存数据。存储器管理电路还用以使用第一存储空间对上述存储器平面之中的第二存储器平面执行第一操作。在完成对第二存储器平面所执行的第一操作之后,存储器管理电路还用以将暂存数据从第一存储器平面的暂存器中重新载入至缓冲存储器的第一存储空间,其中上述对第一存储器平面以及第二存储器平面的操作为非同步操作。
[0012] 在本发明的一实施例中,存储器平面中的每一个存储器平面具有多个实体抹除单元。其中在将暂存数据从缓冲存储器中传送至第一存储器平面的暂存器的运作之前,存储器管理电路还用以执行写入操作以将第一数据写入至第二存储器平面的第一实体抹除单元。当存储器管理电路对应写入操作产生写入失败信号时,存储器管理电路还用以执行上述将暂存数据从缓冲存储器中传送至第一存储器平面的暂存器的运作。
[0013] 在本发明的一实施例中,其中在使用第一存储空间执行第一操作的运作中,存储器管理电路还用以使用第一存储空间以及缓冲存储器的第二存储空间对第二存储器平面执行第一操作。
[0014] 在本发明的一实施例中,其中在使用第一存储空间以及缓冲存储器的第二存储空间对第二存储器平面执行第一操作的运作中,存储器管理电路还用以从第二存储器平面的第一实体抹除单元中复制第二数据与第三数据至缓冲存储器的第一存储空间以及第二存储空间。存储器管理电路还用以将第二数据与第三数据从缓冲存储器的第一存储空间以及第二存储空间中同时写入至第二存储器平面的第二实体抹除单元中。
[0015] 在本发明的一实施例中,存储器管理电路还用以将第一数据写入至第二存储器平面的第二实体抹除单元。
[0016] 在本发明的一实施例中,其中缓冲存储器的第一存储空间的大小为16K比特组。
[0017] 本发明一范例实施例提供一种存储器存储装置。其包括:用以电性连接至主机系统的连接接口单元、可复写式非易失性存储器模块以及电性连接至连接接口单元与可复写式非易失性存储器模块的存储器控制电路单元。其中可复写式非易失性存储器模块包括多个存储器平面,此些存储器平面被平行地操作。其中存储器控制电路单元包括缓冲存储器。存储器控制电路单元用以将暂存数据从缓冲存储器中传送至上述存储器平面之中的第一存储器平面的暂存器。存储器控制电路单元还用以释放缓冲存储器的第一存储空间,其中第一存储空间用以存储暂存数据。存储器控制电路单元还用以使用第一存储空间对上述存储器平面之中的第二存储器平面执行第一操作。在完成对第二存储器平面所执行第一操作之后,存储器控制电路单元还用以将暂存数据从第一存储器平面的暂存器中重新载入至缓冲存储器的第一存储空间,其中上述对第一存储器平面以及第二存储器平面的操作为非同步操作。
[0018] 在本发明的一实施例中,其中存储器平面中的每一个存储器平面具有多个实体抹除单元,其中在将暂存数据从缓冲存储器中传送至第一存储器平面的暂存器的运作之前,存储器控制电路单元用以执行写入操作以将第一数据写入至第二存储器平面的第一实体抹除单元。当存储器控制电路单元对应写入操作产生写入失败信号时,存储器控制电路单元还用以执行上述将暂存数据从缓冲存储器中传送至第一存储器平面的暂存器的运作。
[0019] 在本发明的一实施例中,其中在使用第一存储空间执行第一操作的运作中,存储器控制电路单元还用以使用第一存储空间以及缓冲存储器的第二存储空间对第二存储器平面执行第一操作。
[0020] 在本发明的一实施例中,其中在使用第一存储空间以及缓冲存储器的第二存储空间对第二存储器平面执行第一操作的运作中,存储器控制电路单元还用以从第二存储器平面的第一实体抹除单元中复制第二数据与第三数据至缓冲存储器的第一存储空间以及第二存储空间。存储器控制电路单元还用以将第二数据与第三数据从缓冲存储器的第一存储空间以及第二存储空间中同时写入至第二存储器平面的第二实体抹除单元中。
[0021] 在本发明的一实施例中,存储器控制电路单元还用以将第一数据写入至第二存储器平面的第二实体抹除单元。
[0022] 在本发明的一实施例中,其中缓冲存储器的第一存储空间的大小为16K比特组(Bytes)。
[0023] 基于上述,本发明提出的存储器管理方法、存储器控制电路单元与存储器存储装置,可以暂时地空出缓冲存储器的存储空间。特别是,由于数据被暂存在可复写式非易失性存储器的一存储器平面的暂存器,存储器控制器可以利用缓冲存储器的存储空间来对另外一个存储器平面中的实体抹除单元进行操作。
[0024] 为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

[0025] 图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
[0026] 图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
[0027] 图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。
[0028] 图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
[0029] 图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
[0030] 图6是根据一范例实施例所示出的缓冲存储器的示意图。
[0031] 图7A~图7E是根据一范例实施例说明空出缓冲存储器的部分存储器空间的示意图。
[0032] 图8是根据一范例实施例所示出的存储器的管理方法的流程图。
[0033] 图9是根据另一范例实施例所示出的存储器的管理方法的流程图。
[0034] 附图标号说明:
[0035] 10、30:存储器存储装置;
[0036] 11、31:主机系统;
[0037] 110:系统总线;
[0038] 111:处理器;
[0039] 112:随机存取存储器;
[0040] 113:只读存储器;
[0041] 114:数据传输接口;
[0042] 12:输入/输出(I/O)装置;
[0043] 20:主机板;
[0044] 201:U盘;
[0045] 202:存储卡;
[0046] 203:固态硬盘;
[0047] 204:无线存储器存储装置;
[0048] 205:全球定位系统模块;
[0049] 206:网络接口卡;
[0050] 207:无线传输装置;
[0051] 208:键盘;
[0052] 209:屏幕;
[0053] 210:喇叭;
[0054] 32:SD卡;
[0055] 33:CF卡;
[0056] 34:嵌入式存储装置;
[0057] 341:嵌入式多媒体卡;
[0058] 342:嵌入式多芯片封装存储装置;
[0059] 402:连接接口单元;
[0060] 404:存储器控制电路单元;
[0061] 406:可复写式非易失性存储器模块;
[0062] 408、414:存储器平面;
[0063] 410、416:暂存器;
[0064] 412(0)~412(N)、418(0)~418(N):实体抹除单元;
[0065] 502:存储器管理电路;
[0066] 504:主机接口;
[0067] 506:存储器接口;
[0068] 508:错误检查与校正电路;
[0069] 510:缓冲存储器;
[0070] 512:电源管理电路;
[0071] 610(0)~610(511):缓存单元;
[0072] 620、630:缓存单元组;
[0073] BD:暂存数据;
[0074] ID(0)、ID(1)、ID(2):数据;
[0075] S801:将暂存数据从缓冲存储器中传送至第一存储器平面的暂存器的步骤;
[0076] S803:释放缓冲存储器的第一存储空间,其中第一存储空间用以存储暂存数据的步骤;
[0077] S805:使用第一存储空间对第二存储器平面执行第一操作的步骤;
[0078] S807:将暂存数据从第一存储器平面的暂存器中重新载入至缓冲存储器的第一存储空间的步骤;
[0079] S901:执行写入操作以将第一数据写入至第二存储器平面的第一实体抹除单元的步骤;
[0080] S903:判断是否发生写入失败的步骤;
[0081] S905:当发生写入失败时,将暂存数据从缓冲存储器中传送至第一存储器平面的暂存器的步骤;
[0082] S907:释放缓冲存储器的第一存储空间,其中第一存储空间用以存储暂存数据的步骤;
[0083] S909:从第二存储器平面的第一实体抹除单元中复制第二数据与第三数据至缓冲存储器的第一存储空间以及第二存储空间的步骤;
[0084] S911:将第二数据与第三数据从缓冲存储器的第一存储空间以及第二存储空间中同时写入至第二存储器平面的第二实体抹除单元中的步骤;
[0085] S913:将暂存数据从第一存储器平面的暂存器中重新载入至缓冲存储器的第一存储空间的步骤;
[0086] S915:将第一数据写入至第二存储器平面的第二实体抹除单元的步骤。

具体实施方式

[0087] 一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
[0088] 图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
[0089] 请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(random access memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(system bus)110。
[0090] 在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可通过数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可通过系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
[0091] 在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以通过有线或无线的方式电性连接至存储器存储装置
10。其中存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。其中,无线存储器存储装置204可例如是近距离无线通讯(Near Field Communication,NFC)存储器存储装置、无线保真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的各种类型存储器存储装置。此外,主机板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各种类型的式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
[0092] 在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄像机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi Chip Package,eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。
[0093] 图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
[0094] 请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
[0095] 在本范例实施例中,连接接口单元402是相容于串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并列先进附件(Parallel  Advanced  Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、记忆棒(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的芯片外。
[0096] 存储器控制电路单元404用以执行以硬件或软件实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
[0097] 可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快速存储器模块(即,一个存储单元中可存储1个比特的快速存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快速存储器模块(即,一个存储单元中可存储2个比特的快速存储器模块)、复数阶存储单元(Triple Level Cell,TLC)NAND型快速存储器模块(即,一个存储单元中可存储3个比特的快速存储器模块)、其他快速存储器模块或其他具有相同特性的存储器模块。
[0098] 在本范例实施例中,上述可复写式非易失性存储器模块406的装置是依据可复写式非易失性存储器模块406的存储器晶粒(die)中的存储器平面(plane)所划分的。具体来说,可复写式非易失性存储器模块406可具有1个或多个存储器晶粒,每一存储器晶粒具有1个或多个存储器平面,并且每一存储器平面会有多个实体抹除单元。在出厂时,厂商会根据其需求将1个或多个存储器平面划分为1个装置。借此,厂商可依装置为单位来管理整个可复写式非易失性存储器模块406。特别是,本发明并不限定每一装置所包含的存储器平面的数量。
[0099] 在本范例实施例中,可复写式非易失性存储器模块406包括存储器平面408(以下称为第二存储器平面)以及存储器平面414(以下称为第一存储器平面)。其中,存储器平面408包括暂存器410以及实体抹除单元412(0)~412(N)。
[0100] 暂存器410是用以暂存来自于存储器控制电路单元404或是暂存实体抹除单元412(0)~412(N)的数据。具体来说,在可复写式非易失性存储器模块406中写入数据的过程包括数据传输以及数据编程两个部分。在数据传输的部分,存储器控制电路单元404的存储器管理电路502会将欲写入的数据传输至暂存器410。而在数据编程的部分,欲写入的数据会从暂存器410中编程至实体抹除单元412(0)~412(N)中。在一范例实施例中,暂存器410可为易失性存储器,例如动态随机存取存储器(dynamic random access memory,DRAM),但是暂存器410也可以是静态随机存取存储器(static random access memory,SRAM)、磁电阻式随机存取记忆(Magnetoresistive Random Access Memory,MRAM)、快取随机存取存储器(Cache RAM)、同步动态随机存取存储器(synchronous dynamic random access memory,SDRAM)、视频随机存取存储器(Video RAM,VRAM)嵌入式动态随机存取存储器(embedded DRAM,eDRAM)或其他的存储器。在另一范例实施例中,暂存器410可为非易失性存储器,例如或非门闪存存储器(NOR Flash)或其他的存储器。
[0101] 此外,实体抹除单元412(0)~412(N)分别具有复数个实体编程单元,其中属于同一个实体抹除单元的实体编程单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元可以是由64个实体编程单元、256个实体编程单元或其他任意个实体编程单元所组成。
[0102] 在本范例实施例中,存储器平面414包括暂存器416以及实体抹除单元418(0)~418(N)。暂存器416以及实体抹除单元418(0)~418(N)可以是类似上述存储器平面408中的暂存器410以及实体抹除单元412(0)~412(N),在此并不再赘述。特别是,本发明并不用于限定可复写式非易失性存储器模块406所包括的存储器平面的数量,且本发明也不用于限定每个存储器平面所具有的实体抹除单元的数量。
[0103] 在一般的情况下,存储器平面408以及存储器平面414是被平行地进行操作。具体来说,当存储器控制电路单元404的存储器管理电路502在执行写入操作以将一笔数据写入至可复写式非易失性存储器模块406时,存储器控制电路单元404的存储器管理电路502可以将此数据分为多个子数据,并将此些子数据平行地编程至存储器平面408中的实体编程单元以及存储器平面414中的实体编程单元。通过此方式可以同时地对存储器平面408以及存储器平面414进行写入,并且提升写入操作的执行效率。当存储器控制电路单元404的存储器管理电路502在执行读取操作时,存储器控制电路单元404的存储器管理电路502可以平行地(或同时地)从存储器平面408中以及存储器平面414中读取多个子数据,并且将此些子数据重组为原始的数据。此外,当存储器控制电路单元404的存储器管理电路502在执行抹除操作时,存储器控制电路单元404的存储器管理电路502也可以平行地(或同时地)对存储器平面408中的实体抹除单元以及存储器平面414中的实体抹除单元同时进行抹除。
[0104] 也就是说,在一般的情况下,存储器平面408以及存储器平面414是被同步地进行操作。特别是,本发明不限于此。在一实施例中,存储器控制电路单元404的存储器管理电路502也可以平行地(或同步地)对存储器平面408以及存储器平面414执行其他的操作。
[0105] 图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
[0106] 请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。
[0107] 存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502执行各项操作的同时,可以理解为由存储器控制电路单元404来执行此些操作。
[0108] 在本范例实施例中,存储器管理电路502的控制指令是以软件来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
[0109] 在另一范例实施例中,存储器管理电路502的控制指令也可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
[0110] 此外,在另一范例实施例中,存储器管理电路502的控制指令也可以一硬件来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
[0111] 主机接口504是电性连接至存储器管理电路502并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
[0112] 存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会通过存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压准位或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。
[0113] 错误检查与校正电路508是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正程序。
[0114] 缓冲存储器510是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
[0115] 图6是根据一范例实施例所示出的缓冲存储器的示意图。
[0116] 请参照图6,在本范例实施例中,缓冲存储器510具有512个缓存单元(即,缓存单元610(0)~610(511)),且每一个缓存单元的大小为4KB。具体而言,四个缓存单元的大小为对应可复写式非易失性存储器406的一个实体编程单元的大小。换句话说,在本范例实施例中,一个实体编程单元的大小为16KB。为了方便于描述,在此将四个缓存单元逻辑上定义为一个缓存单元组。例如,缓冲存储器510中的缓存单元610(0)~610(3)可以逻辑上地被定义为缓存单元组620,缓存单元610(4)~610(7)可以逻辑上地被定义为缓存单元组630,以此类推。当存储器管理电路502从可复写式非易失性存储器模块406的一个实体编程单元读取数据时,此实体编程单元的数据可以刚好被存储至一个缓存单元组中。然而,必须了解的是,本范例实施例不限定配置在缓冲存储器510中的缓存单元的个数、缓存单元的大小、实体编程单元的大小以及主机系统11所传送的数据的大小。例如,在其他范例实施例中,缓冲存储器510中缓存单元的个数可以多于或少于512个缓存单元。此外,主机系统11例如是以
4KB为单位来传送或存取数据。或者,在另一范例实施例中,主机系统11每次所传送或存取的数据的大小也可以大于或小于4KB。再者,本发明也不用于限定一个实体编程单元的大小,且在另一范例实施例中,一个缓存单元组可以包括更多个或更少个缓存单元。在另一范例实施例中,缓存单元组中的缓存单元也可以不连续。
[0117] 需注意的是,在与非(NAND)型快速存储器模块中,实体编程单元是由排列在同一条字节线上的数个存储单元所组成。依据每个存储单元可存储的比特数,NAND型快速存储器模块可区分为单阶存储单元(Single Level Cell,SLC)NAND型快速存储器模块、多阶存储单元(Multi Level Cell,MLC)NAND型快速存储器模块与三阶存储单元(Trinary Level Cell,TLC)NAND型快速存储器模块,其中SLC NAND型快速存储器模块的每个存储单元可存储1个比特的数据(即,“1”与“0”),MLC NAND型快速存储器模块的每个存储单元可存储2个比特的数据并且TLC NAND型快速存储器模块的每个存储单元可存储3个比特的数据。
[0118] 由于SLC NAND型快速存储器模块的每个存储单元可存储1个比特的数据,因此,在SLC NAND型快速存储器模块中,排列在同一条字节线上的数个存储单元是对应一个实体编程单元。
[0119] 相对于SLC NAND型快速存储器模块来说,MLC NAND型快速存储器模块的每个存储单元的浮动栅存储层可存储2个比特的数据,其中每一个存储状态(即,“11”、“10”、“01”与“00”)包括最低有效比特(Least Significant Bit,LSB)以及最高有效比特(Most Significant Bit,MSB)。例如,存储状态中从左侧算起的第1个比特的值为LSB,而从左侧算起的第2个比特的值为MSB。因此,排列在同一条字节线上的数个存储单元可组成2个实体编程单元,其中由此些存储单元的LSB所组成的实体编程单元称为下实体编程单元(lower physical programming unit),并且由此些存储单元的MSB所组成的实体编程单元称为上实体编程单元(upper physical programming unit)。特别是,当编程上实体编程单元发生错误时,下实体编程单元所存储的数据也可能因此遗失。
[0120] 此外,在3D MLC NAND型快速存储器模块中,若要确保一条字节线上的数据可稳定地被存储,必须同时地对上实体编程单元以及下实体编程单元进行编程。特别是,当存储器管理电路502欲对可复写式非易失性存储器模块406执行一预设操作时,倘若缓冲存储器510中保留给此预设操作的存储空间仅可以容纳一个实体编程单元的大小的数据,则当此预设操作对于可复写式非易失性存储器模块406进行写入操作时容易造成写入失败。换句话说,在上述的情况下,由于缓冲存储器510的容量关系,缓冲存储器510一次只能对一个实体编程单元进行写入,故容易造成写入失败。
[0121] 特别是,上述的预设操作例如是发生写入失败时所需进行的坏区块取代(Bad block replace)操作(又称为,坏实体抹除单元取代操作)。由于坏区块取代操作通常会对多个实体编程单元进行写入,倘若缓冲存储器510保留给此坏区块取代操作的存储空间仅可以容纳一个实体编程单元的大小的数据,则当坏区块取代操作对可复写式非易失性存储器模块406进行写入操作时,容易造成写入失败。
[0122] 特别是,由于坏区块取代操作通常会针对某一个存储器平面来执行,因此在本范例实施例中,可以通过将缓冲存储器510中的部份数据暂存至另一个存储器平面的暂存器中,使得缓冲存储器510能够暂时地增加存储空间来执行坏区块取代操作。
[0123] 为了更请楚地了解本发明的数据管理方法,图7A~图7E是根据一范例实施例说明空出缓冲存储器的部分存储器空间的示意图。
[0124] 请参照图7A,为方便说明,在此仅示出存储器平面408中部份的实体抹除单元(即,实体抹除单元412(0)~412(1))以及存储器平面414中部份的实体抹除单元(即,实体抹除单元418(0)~418(1))进行描述。此外,在本范例实施例中假设一个实体抹除单元具有64个实体编程单元。
[0125] 特别是,在图7A~图7E的范例实施例中,可复写式非易失性存储器模块406是MLC NAND型快速存储器模块,也就是说,每一个实体抹除单元所拥有的实体编程单元包括多个下实体编程单元以及多个上实体编程单元。
[0126] 如图7A所示,假设缓冲存储器510中的缓存单元组620存储有暂存数据BD而缓存单元组630尚未存储数据,并且假设数据ID(0)~ID(1)已成功地被分别写入实体抹除单元412(0)(以下称为第一实体抹除单元)的第0个实体编程单元以及实体抹除单元412(0)的第1个实体编程单元。其中,实体抹除单元412(0)的第0个实体编程单元以及实体抹除单元412(0)的第1个实体编程单元分别为同一个存储单元的下实体编程单元以及上实体编程单元。
[0127] 接着,倘若存储器管理电路502执行写入操作将数据ID(2)(以下称为第一数据)写入至实体抹除单元412(0)的第2个实体编程单元时发生写入失败。此时,存储器管理电路502会产生写入失败信号,并且执行坏区块取代操作。
[0128] 详细来说,请参照图7B,存储器管理电路502会将缓冲存储器中510中存储在缓存单元组620中的暂存数据BD传送(或复制)到存储器平面414的暂存器416。此时,存储器管理电路502可以释放缓冲存储器510中缓存单元组620的存储空间(以下称为第一存储空间)。之后,存储器管理电路502可以利用缓存单元组620的存储空间以及缓存单元组630的存储空间(以下称为第二存储空间)来对存储器平面408执行坏区块取代操作。
[0129] 请参照图7C,在执行坏区块取代操作时,存储器管理电路502会将已成功写入实体抹除单元412(0)的数据ID(0)(以下称为第二数据)以及数据ID(1)(以下称为第三数据)分别复制至缓冲存储器510的缓存单元组620~630。之后,请参照图7D,存储器管理电路502会将数据ID(0)~ID(1)从缓冲存储器510的缓存单元组620~630写入(或复制)至存储器平面408的实体抹除单元412(1)(以下称为第二实体抹除单元)中的第0个实体编程单元以及实体抹除单元412(1)的第1个实体编程单元。其中,实体抹除单元412(1)的第0个实体编程单元以及实体抹除单元412(1)的第1个实体编程单元分别为同一个存储单元的下实体编程单元以及上实体编程单元。
[0130] 请参照图7E,在利用缓存单元组620~630的存储空间对存储器平面408执行上述的坏区块取代操作的步骤之后,假设数据ID(0)~ID(1)已成功地被写入实体抹除单元412(1)的第0个实体编程单元以及实体抹除单元412(1)的第1个实体编程单元。之后,存储器管理电路502可以释放缓存单元组620~630的存储空间,并且将暂存数据BD从存储器平面414的暂存器416重新载入至缓冲存储器510的缓存单元组620中。此外,存储器管理电路502可以接着将前次发生写入失败的数据ID(2)重新写入至实体抹除单元412(1)的第2个实体编程单元,并且再继续执行其他写入操作以将更多数据写入至实体抹除单元412(1)中。
[0131] 特别是,在上述图7B~图7E的实施例中,存储器管理电路502对存储器平面408以及存储器平面414的操作为非同步操作。换句话说,存储器管理电路502在将暂存数据BD传送(或复制)到存储器平面414的暂存器416后,可以对存储器平面408执行坏区块取代操作。而在对存储器平面408执行坏区块取代操作的同时,存储器管理电路502并不会对存储器平面414进行坏区块取代操作或其他的操作。
[0132] 此外,上述将缓冲存储器510中的暂存数据复制到一存储器平面的暂存器并且使用缓冲存储器510中所空出的存储空间对另一存储器平面进行操作的实施例也可以应用至其他操作。例如,在一范例实施例中,当存储器管理电路502从可复写式非易失性存储器406中读取数据发生读取错误时,存储器管理电路502可以执行本发明的方法以暂时增加缓冲存储器510的存储空间,并且执行在发生读取错误后所需执行的预设操作。
[0133] 图8是根据一范例实施例所示出的存储器的管理方法的流程图。
[0134] 请参照图8,在步骤S801中,存储器管理电路502将暂存数据从缓冲存储器510中传送至第一存储器平面的暂存器。在步骤S803中,存储器管理电路502释放缓冲存储器510的第一存储空间,其中第一存储空间用以存储暂存数据。在步骤S805中,存储器管理电路502利用第一存储空间对第二存储器平面执行第一操作。在完成对第二存储器平面所执行的第一操作之后,在步骤S807中,存储器管理电路502将暂存数据从第一存储器平面的暂存器中重新载入至缓冲存储器的第一存储空间。特别是,上述步骤S801至步骤S807中存储器管理电路502对第一存储器平面以及第二存储器平面的操作为非同步操作。
[0135] 图9是根据另一范例实施例所示出的存储器的管理方法的流程图。
[0136] 请参照图9,在步骤S901中,存储器管理电路502执行写入操作以将第一数据写入至第二存储器平面的第一实体抹除单元。在步骤S903中,存储器管理电路502会判断是否发生写入失败。
[0137] 当没有发生写入失败时,此流程会结束。例如,存储器管理电路502会根据指令执行其他操作。
[0138] 当发生写入失败时,在步骤S905中,存储器管理电路502会将暂存数据从缓冲存储器510中传送至第一存储器平面的暂存器。特别是,在步骤S905中,存储器管理电路502会指示可复写式非易失性存储器406,不将暂存数据编程至第一存储器平面的存储器抹除单元。
[0139] 接着,在步骤S907中,存储器管理电路502释放缓冲存储器510的第一存储空间,其中第一存储空间用以存储暂存数据。在步骤S909中,存储器管理电路502会从第二存储器平面的第一实体抹除单元中复制第二数据与第三数据至缓冲存储器的第一存储空间以及第二存储空间。在步骤S911中,存储器管理电路502将第二数据与第三数据从缓冲存储器的第一存储空间以及第二存储空间中同时写入至第二存储器平面的第二实体抹除单元中。在步骤S913中,存储器管理电路502将暂存数据从第一存储器平面的暂存器中重新载入至缓冲存储器510的第一存储空间。最后,在步骤S915中,存储器管理电路502将第一数据写入至第二存储器平面的第二实体抹除单元。特别是,上述步骤S905至步骤S915中存储器管理电路502对第一存储器平面以及第二存储器平面的操作为非同步操作。
[0140] 综上所述,本发明提出的存储器管理方法、存储器控制电路单元与存储器存储装置,可以暂时地空出缓冲存储器的存储空间。并且,由于数据被暂存在可复写式非易失性存储器的一存储器平面的暂存器,存储器控制器可以利用缓冲存储器的存储空间来对另外一个存储器平面中的实体抹除单元进行操作。因此,缓冲存储器的可用存储空间可以暂时地增加。
[0141] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。